/* ═══════════════════════════════════════
   AES FAQ Two-Column — v4.0.0
   Watermark removed, full typography fix
═══════════════════════════════════════ */

.elementor-widget-aes_faq3 .aes3-section,
.aes3-section {
  background-color: #f0ebe3;
  width: 100%;
  box-sizing: border-box;
  padding: 80px 60px;
  position: relative;
  overflow: hidden;
}

/* NO watermark pseudo-element */

.aes3-inner {
  display: flex;
  align-items: flex-start;
  gap: 60px;
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
}

/* ── LEFT COLUMN ── */
.aes3-left {
  flex: 0 0 35%;
  position: sticky;
  top: 80px;
}

.aes3-eyebrow-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}

.aes3-line {
  display: block;
  width: 60px;
  height: 1px;
  background: #212427;
  flex-shrink: 0;
}

.elementor-widget-aes_faq3 .aes3-eyebrow,
.aes3-eyebrow {
  letter-spacing: .15em;
  color: #212427;
  text-transform: uppercase;
  font-family: inherit;
  /* size/weight controlled by Elementor typography */
}

.elementor-widget-aes_faq3 .aes3-heading,
.aes3-heading {
  color: #212427;
  line-height: 1.1;
  letter-spacing: .02em;
  text-transform: uppercase;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  /* size/weight controlled by Elementor typography */
}

/* ── RIGHT COLUMN ── */
.aes3-right {
  flex: 1;
  min-width: 0;
}

.aes3-accordion { width: 100%; }

/* ── FAQ ITEM ── */
.elementor-widget-aes_faq3 .aes3-item,
.aes3-item {
  border-bottom: 1px solid #c8bfb2 !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
}
.aes3-item:first-child {
  border-top: 1px solid #c8bfb2 !important;
}

/* ── QUESTION BUTTON ── */
.elementor-widget-aes_faq3 .aes3-q,
.aes3-q {
  all: unset !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 20px !important;
  width: 100% !important;
  padding: 22px 0 !important;
  cursor: pointer !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  text-align: left !important;
  box-sizing: border-box !important;
}

/* ICON */
.elementor-widget-aes_faq3 .aes3-icon,
.aes3-icon {
  flex-shrink: 0 !important;
  width: 18px !important;
  height: 18px !important;
  margin-top: 2px !important;
  color: #212427 !important;
  transition: color .25s !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.aes3-icon svg {
  width: 18px !important;
  height: 18px !important;
  display: block !important;
  stroke: currentColor !important;
}
.aes3-item.aes3-open .aes3-icon {
  color: #9a8660 !important;
}

/* QUESTION TEXT — typography fully delegated to Elementor controls */
.elementor-widget-aes_faq3 .aes3-q-text,
.aes3-q-text {
  color: #212427;
  letter-spacing: .08em;
  text-transform: uppercase;
  line-height: 1.5;
  flex: 1;
  transition: color .25s;
  /* NO forced font-size / font-weight here — Elementor controls these */
}
.aes3-item.aes3-open .aes3-q-text {
  color: #9a8660;
}

/* ── ANSWER PANEL ── */
.elementor-widget-aes_faq3 .aes3-a,
.aes3-a {
  max-height: 0 !important;
  overflow: hidden !important;
  transition: max-height .4s ease !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.aes3-item.aes3-open .aes3-a {
  max-height: 1000px !important;
}

.elementor-widget-aes_faq3 .aes3-a-inner,
.aes3-a-inner {
  padding: 0 0 28px 38px !important;
  background: transparent !important;
  border: none !important;
  margin: 0 !important;
  color: #3a3530;
  /* NO forced font-size here — Elementor typography controls it */
}
.aes3-a-inner p {
  color: inherit;
  line-height: 1.8;
  margin-bottom: 0 !important;
}
.aes3-a-inner p:last-child { margin-bottom: 0 !important; }

/* ── MOBILE ── */
@media (max-width: 768px) {
  .aes3-section { padding: 50px 24px !important; }
  .aes3-inner {
    flex-direction: column !important;
    gap: 36px !important;
  }
  .aes3-left {
    flex: none !important;
    width: 100% !important;
    position: static !important;
  }
  .aes3-a-inner { padding: 0 0 20px 30px !important; }
}
@media (max-width: 480px) {
  .aes3-section { padding: 40px 18px !important; }
  .aes3-q { gap: 14px !important; }
  .aes3-a-inner { padding: 0 0 18px 26px !important; }
}
