/**
 * FAQ Accordion — Frame 26 (mobile-first accordion)
 */

.elementor-column
  > .elementor-element-populated:has(.elementor-widget-agency-faq-accordion) {
  padding: 0 !important;
}

.e-con:has(.elementor-widget-agency-faq-accordion) {
  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
}

.aew-faq-accordion {
  --aew-faq-accordion-bg: #305b83;
  --aew-faq-accordion-card-bg: #5796bb;
  position: relative;
  width: 100%;
  box-sizing: border-box;
  background-color: var(--aew-faq-accordion-bg);
  color: var(--aew-color-white, #fff);
}

.aew-faq-accordion::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  max-width: 100vw;
  transform: translateX(-50%);
  background-color: var(--aew-faq-accordion-bg);
  z-index: -1;
  pointer-events: none;
}

.aew-faq-accordion__inner {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  /* Padding owned by the "Section padding" control. */
  box-sizing: border-box;
}

/* Intro */
.aew-faq-accordion__intro {
  display: flex;
  flex-direction: column;
  align-items: center;
  /* Width owned by the "Intro max width" control (default 80%). */
  margin: 0 auto;
  text-align: center;
  /* Bottom margin owned by the "Space below intro" control; gap owned by the
     "Intro spacing" control. */
  box-sizing: border-box;
}

.aew-faq-accordion__title,
.aew-faq-accordion__intro-text,
.aew-faq-accordion__subheading {
  width: 100%;
}

.aew-faq-accordion__title {
  margin: 0;
  font-family: var(--aew-font-heading, "DM Serif Display", serif);
  /* Size owned by the "Heading typography" control (64 desktop / 48 tablet / 32 mobile). */
  font-weight: 400;
  line-height: 1.15;
  color: var(--aew-color-white, #fff);
}

.aew-faq-accordion__intro-text {
  margin: 0;
  font-family: var(--aew-font-body, Poppins, sans-serif);
  /* Size owned by the "Intro text typography" control (18 desktop / 14 tablet). */
  line-height: 1.5;
  color: var(--aew-color-white, #fff);
}

.aew-faq-accordion__subheading {
  margin: 0;
  font-family: var(--aew-font-body, Poppins, sans-serif);
  /* Size/weight owned by the "Subheading typography" control (18/14, 700). */
  line-height: 1.5;
  color: var(--aew-color-white, #fff);
}

/* Accordion */
.aew-faq-accordion__accordion {
  display: flex;
  flex-direction: column;
  /* Gap owned by the "Gap between cards" control. */
  width: 100%;
}

.aew-faq-accordion__item {
  background-color: var(--aew-faq-accordion-card-bg);
  /* Radius owned by the "Card radius" control. */
  overflow: hidden;
  box-sizing: border-box;
}

.aew-faq-accordion__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  margin: 0;
  /* Padding owned by the "Trigger padding (closed)" control. */
  border: 0;
  background-color: var(--aew-faq-accordion-card-bg);
  color: inherit;
  text-align: left;
  white-space: normal; /* hello-elementor reset sets button { white-space: nowrap } — let the question wrap */
  cursor: pointer;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
  transition: padding 0.38s cubic-bezier(0.4, 0, 0.2, 1);
}

.aew-faq-accordion__trigger:hover,
.aew-faq-accordion__trigger:active,
.aew-faq-accordion__trigger:focus {
  background-color: var(--aew-faq-accordion-card-bg);
  color: inherit;
}

.aew-faq-accordion__trigger:focus-visible {
  outline: 2px solid var(--aew-color-white, #fff);
  outline-offset: 2px;
}

.aew-faq-accordion__question {
  flex: 1;
  min-width: 0;
  margin: 0;
  font-family: var(--aew-font-heading, "DM Serif Display", serif);
  /* Size owned by the "Question typography" control (48 desktop / 20 tablet / 20 mobile). */
  font-weight: 400;
  line-height: 1.2;
  color: var(--aew-faq-accordion-q-color, var(--aew-color-white, #fff));
}

.aew-faq-accordion__icon {
  position: relative;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
}

.aew-faq-accordion__icon::before,
.aew-faq-accordion__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  /* Match the question colour so the +/- is visible on any card background. */
  background-color: var(
    --aew-faq-accordion-q-color,
    var(--aew-color-white, #fff)
  );
  transform: translate(-50%, -50%);
}

.aew-faq-accordion__icon::before {
  width: 16px;
  height: 2px;
}

.aew-faq-accordion__icon::after {
  width: 2px;
  height: 16px;
  transition:
    opacity 0.32s cubic-bezier(0.4, 0, 0.2, 1),
    transform 0.32s cubic-bezier(0.4, 0, 0.2, 1);
}

.aew-faq-accordion__item.is-open .aew-faq-accordion__icon::after {
  opacity: 0;
  transform: translate(-50%, -50%) scaleY(0);
}

.aew-faq-accordion__panel {
  display: grid;
  grid-template-rows: 0fr;
  /* Padding owned by the "Answer padding" control (open state + left/right). */
  background-color: var(--aew-faq-accordion-card-bg);
  transition:
    grid-template-rows 0.38s cubic-bezier(0.4, 0, 0.2, 1),
    padding 0.38s cubic-bezier(0.4, 0, 0.2, 1);
}

.aew-faq-accordion__panel[hidden] {
  display: none;
}

.aew-faq-accordion__item.is-open .aew-faq-accordion__panel {
  grid-template-rows: 1fr;
}

.aew-faq-accordion__answer,
.aew-faq-accordion__answer p,
.aew-faq-accordion__answer li {
  color: var(--aew-faq-accordion-a-color, var(--aew-color-white, #fff));
}

.aew-faq-accordion__answer {
  margin: 0;
  overflow: hidden;
  min-height: 0;
  font-family: var(--aew-font-body, Poppins, sans-serif);
  /* Size owned by the "Answer typography" control (18 desktop / 14 tablet / 14 mobile). */
  line-height: 1.5;
}

@media (prefers-reduced-motion: reduce) {
  .aew-faq-accordion__panel,
  .aew-faq-accordion__icon::after {
    transition: none;
  }
}

/* Closing — centered inline lead + text (same size, one flow) */
.aew-faq-accordion__closing {
  width: 100%;
  margin: 32px auto 0;
  text-align: center;
}

.aew-faq-accordion__closing-copy {
  margin: 0 auto;
  max-width: 900px;
  font-family: var(--aew-font-heading, "DM Serif Display", serif);
  /* Size owned by the "Closing typography" control (32 desktop / 14 tablet / 20 mobile). */
  font-weight: 400;
  line-height: 1.5;
  color: var(--aew-color-white, #fff);
}

.aew-faq-accordion__closing-lead {
  display: inline;
  color: var(--aew-color-white, #fff);
}

.aew-faq-accordion__closing-lead em {
  color: white !important;
}

.aew-faq-accordion__closing-text {
  display: inline;
  color: var(--aew-color-blue-light, #5796bb);
}

/* Closing copy tablet/mobile size (14/20px) is owned by the "Closing typography"
   control's tablet/mobile default. */

/* Trigger + Answer padding (closed + open, all breakpoints) are owned by the
   "Trigger padding (closed/open)" and "Answer padding" controls. */

/* Desktop heading/body sizes are owned by the typography controls (their
   desktop defaults: title 64, intro 18, subheading 18, question 48, answer 18).
   The old @media(min-width:769px) !important block was removed so the controls
   can actually resize them. */
