.elementor-section.elementor-section-boxed > .elementor-container {
  max-width: var(--container-max);
}

.elementor-widget-container > .cs-section:first-child,
.elementor-widget-container > .cs-hero:first-child,
.elementor-widget-container > .cs-marquee:first-child {
  margin-top: 0;
}

.elementor .elementor-widget:not(:last-child) {
  margin-bottom: 0;
}

.elementor-widget-changestyle_hero,
.elementor-widget-changestyle_stats_banner,
.elementor-widget-changestyle_trust_cards,
.elementor-widget-changestyle_services_list,
.elementor-widget-changestyle_cases_grid,
.elementor-widget-changestyle_testimonials_slider,
.elementor-widget-changestyle_cta_section,
.elementor-widget-changestyle_marquee,
.elementor-widget-changestyle_diensten_hero,
.elementor-widget-changestyle_intro_section,
.elementor-widget-changestyle_section_header,
.elementor-widget-changestyle_service_details,
.elementor-widget-changestyle_process_steps,
.elementor-widget-changestyle_faq_accordion,
.elementor-widget-changestyle_services_seo_content,
.elementor-widget-changestyle_webshop_section_heading,
.elementor-widget-changestyle_webshop_seo_content,
.elementor-widget-changestyle_webshop_process_phases,
.elementor-widget-changestyle_webshop_collaboration,
.elementor-widget-changestyle_webshop_technology_grid,
.elementor-widget-changestyle_layout_grid,
.elementor-widget-changestyle_contact_form_section {
  width: 100%;
}

.elementor-widget-changestyle_aanpak_timeline,
.elementor-widget-changestyle_aanpak_quote,
.elementor-widget-changestyle_aanpak_principles {
  width: 100%;
}

/* Default Elementor text system aligned to Changestyle design */
.elementor-widget-heading .elementor-heading-title {
  font-family: var(--font-serif);
  color: var(--text-light);
  letter-spacing: var(--tracking-tight);
  line-height: var(--leading-snug);
  text-wrap: balance;
}

.elementor-widget-heading h1.elementor-heading-title {
  font-size: clamp(2.5rem, 8vw, 6rem);
}

.elementor-widget-heading h2.elementor-heading-title {
  font-size: clamp(2rem, 6vw, 4.5rem);
}

.elementor-widget-heading h3.elementor-heading-title {
  font-size: clamp(1.5rem, 4vw, 2.5rem);
}

.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-icon-list .elementor-icon-list-text,
.elementor-widget-accordion .elementor-tab-content,
.elementor-widget-toggle .elementor-tab-content {
  font-family: var(--font-sans);
  color: var(--text-muted);
  line-height: var(--leading-relaxed);
}

.elementor-widget-text-editor p {
  margin-bottom: var(--space-4);
}

.elementor-widget-text-editor p:last-child {
  margin-bottom: 0;
}

.elementor-widget-button .elementor-button,
.elementor-widget-form .elementor-button {
  border-radius: 999px;
  font-weight: 600;
}

/* Keep custom animated content visible inside Elementor editor canvas */
.elementor-editor-active .cs-reveal,
.elementor-editor-active .cs-reveal-text,
.elementor-editor-preview .cs-reveal,
.elementor-editor-preview .cs-reveal-text {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

.elementor-editor-active .cs-testimonial,
.elementor-editor-preview .cs-testimonial {
  position: relative !important;
  inset: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

.elementor-editor-active .cs-scroll-fade-pending,
.elementor-editor-active .cs-scroll-fade-visible,
.elementor-editor-preview .cs-scroll-fade-pending,
.elementor-editor-preview .cs-scroll-fade-visible {
  opacity: 1 !important;
  transition: none !important;
}

.cs-faq .cs-faq-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.cs-faq .cs-faq-item {
  border: 1px solid rgba(250, 250, 248, 0.1);
  border-radius: 12px;
  overflow: hidden;
  background: rgba(250, 250, 248, 0.02);
}

.cs-faq .cs-faq-toggle {
  appearance: none;
  -webkit-appearance: none;
  width: 100% !important;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #fafaf8 !important;
  font: inherit;
  text-align: left;
  cursor: pointer;
  padding: 20px;
  margin: 0;
}

.cs-faq .cs-faq-toggle:hover {
  background: rgba(250, 250, 248, 0.02) !important;
}

.cs-faq .cs-faq-toggle span {
  font-size: 1rem;
  font-weight: 500;
  color: #fafaf8;
  padding-right: 1rem;
}

.cs-faq .cs-faq-chevron {
  width: 20px;
  height: 20px;
  color: #e8550f;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}

.cs-faq .cs-faq-toggle[aria-expanded="true"] .cs-faq-chevron {
  transform: rotate(180deg);
}

.cs-faq .cs-faq-answer {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s ease;
}

.cs-faq .cs-faq-answer p {
  margin: 0;
  padding: 0 20px 20px;
  font-size: 0.875rem;
  line-height: 1.625;
  color: rgba(250, 250, 248, 0.6) !important;
}

@media (min-width: 768px) {
  .cs-faq .cs-faq-toggle {
    padding: 24px;
  }

  .cs-faq .cs-faq-answer p {
    padding: 0 24px 24px;
  }
}
