/* Dúvidas (template Martinhago portado: #faq-hero + #faq) */
/* ═══════════════════════════════════════════
   FAQ PAGE — HERO PREMIUM
   ═══════════════════════════════════════════ */
#faq-hero{
  position:relative;
  background:#000000;
  padding:80px 0 56px;
  overflow:hidden;
  color:#ffffff;
  text-align:center;
}
#faq-hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(900px 500px at 15% 0%, rgba(200,170,111,.22) 0%, transparent 58%),
    radial-gradient(800px 480px at 85% 100%, rgba(212,185,132,.14) 0%, transparent 56%),
    radial-gradient(500px 300px at 50% 50%, rgba(200,170,111,.08) 0%, transparent 62%);
}
#faq-hero::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(212,185,132,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(212,185,132,.028) 1px,transparent 1px);
  background-size:52px 52px;
  -webkit-mask-image:radial-gradient(ellipse 80% 100% at 50% 0%,#000000 0%,transparent 100%);
          mask-image:radial-gradient(ellipse 80% 100% at 50% 0%,#000000 0%,transparent 100%);
}
#faq-hero .container{position:relative;z-index:2;max-width:760px;padding:0 20px;margin:0 auto}
.fh-kicker{
  display:inline-flex;align-items:center;gap:9px;
  padding:7px 16px;border-radius:999px;
  background:rgba(212,185,132,.09);
  border:1px solid rgba(212,185,132,.28);
  color:#D4B984;
  font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;
  margin-bottom:22px;
}
.fh-kicker-dot{
  width:8px;height:8px;border-radius:50%;
  background:linear-gradient(135deg,#D4B984,#C8AA6F);
  box-shadow:0 0 0 0 rgba(212,185,132,.4);
  animation:fhPulse 2.4s ease-in-out infinite;
}
@keyframes fhPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(212,185,132,.5)}
  50%{box-shadow:0 0 0 8px rgba(212,185,132,0)}
}
#faq-hero h1{
  margin:0 0 18px;
  font-size:clamp(28px,3.5vw,48px);
  font-weight:700;line-height:1.08;letter-spacing:-.025em;
  color:#ffffff;text-wrap:balance;
}
#faq-hero .fh-sub{
  margin:0 auto 28px;max-width:52ch;
  font-size:clamp(15px,1.2vw,18px);line-height:1.65;
  color:rgba(255,255,255,.68);
}
.fh-stats{
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:20px;
  padding-top:4px;
}
.fh-stat{
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 16px;border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.84);font-size:13px;font-weight:600;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.fh-stat i{color:#D4B984;font-size:12px}
.fh-divider{
  display:block;height:1px;
  background:linear-gradient(90deg,transparent,rgba(212,185,132,.35),transparent);
  margin-top:48px;
}

/* ═══════ OVERRIDE: aside card receives WA button ═══════ */
#faq .aside-card .aside-footer{display:flex;flex-direction:column;gap:10px}

/* ═══════ RESPONSIVO HERO ═══════ */
@media(max-width:640px){
  #faq-hero{padding:56px 0 40px}
  .fh-stats{gap:10px}
  .fh-stat{padding:7px 13px;font-size:12px}
}

/* =========================================================
   FAQ — UI/UX Premium (Refined / 2026+)
   - Declarações em 1 linha
   - Background “next level” (gradients + noise + animated blobs)
   - Melhor contraste, depth e micro-interações
   ========================================================= */

/* =============== TOKENS =============== */
:root{
  --faq-bg: #ffffff; --faq-ink: #0B0B0A; --faq-muted: rgba(11,11,10,.72); --faq-border: rgba(11,11,10,.12); --faq-card: rgba(255,255,255,.78);
  --brand-1: #C8AA6F; --brand-2: #D4B984;
  --r-xxl: 30px; --r-xl: 22px; --r-lg: 16px; --r-md: 14px;
  --shadow-1: 0 14px 40px rgba(47,47,47,.16); --shadow-2: 0 10px 26px rgba(11,11,10,.12); --shadow-3: 0 8px 18px rgba(11,11,10,.10);
  --ring: 0 0 0 4px rgba(11,11,10,.08); --glass: linear-gradient(180deg, rgba(255,255,255,.84), rgba(255,255,255,.58));
  --gridline: rgba(11,11,10,.06); --paper: rgba(255,255,255,.88); --paper2: rgba(255,255,255,.62);
}

/* =============== SECTION =============== */
#faq{ position: relative; background: var(--faq-bg); overflow: hidden; padding: clamp(44px,5vw,84px) 0; }
#faq .zindex{ position: relative; z-index: 3; }
#faq .container{ max-width: 1180px; }  /* alinhado ao hero .globallaws-phero (padrão 1180) */

/* =============== BACKGROUND (NEXT LEVEL) =============== */
/* Camada de base: gradiente “paper” com nuance cinza/bege + leve dourado */
#faq::before{ content:""; position:absolute; inset:-1px; z-index:0; pointer-events:none;
  background:
    radial-gradient(1200px 720px at 12% 18%, rgba(255,255,255,1) 0%, rgba(255,255,255,.92) 35%, rgba(249,246,240,.86) 68%, rgba(255,255,255,.96) 100%),
    radial-gradient(980px 560px at 84% 16%, rgba(212,185,132,.16), rgba(212,185,132,0) 62%),
    radial-gradient(980px 620px at 20% 92%, rgba(200,170,111,.12), rgba(200,170,111,0) 65%),
    linear-gradient(180deg, #ffffff 0%, #F9F6F0 55%, #ffffff 100%);
}

/* Grade sutil (micro-textura “arquitetura”) */
#faq::after{ content:""; position:absolute; inset:0; z-index:1; pointer-events:none; opacity:.55;
  background:
    linear-gradient(to right, var(--gridline) 1px, transparent 1px),
    linear-gradient(to bottom, var(--gridline) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(1400px 560px at 30% 20%, rgba(0,0,0,1), rgba(0,0,0,0) 70%);
  -webkit-mask-image: radial-gradient(1400px 560px at 30% 20%, rgba(0,0,0,1), rgba(0,0,0,0) 70%);
}

/* Blobs animados (glow premium) */
#faq .bg-blobs{ position:absolute; inset:-18%; z-index:2; pointer-events:none; filter: blur(44px); opacity:.22; }
#faq .bg-blobs span{ position:absolute; width: 560px; height: 560px; border-radius: 999px; transform: translate3d(0,0,0); will-change: transform; }
#faq .bg-blobs .b1{ left:-180px; top:-160px; background: radial-gradient(circle at 30% 30%, color-mix(in oklab, var(--brand-1) 92%, white 8%), transparent 62%); animation: faqBlobA 14s ease-in-out infinite; }
#faq .bg-blobs .b2{ right:-220px; top:-120px; width: 520px; height: 520px; background: radial-gradient(circle at 30% 30%, color-mix(in oklab, var(--brand-2) 86%, white 14%), transparent 60%); animation: faqBlobB 16s ease-in-out infinite; }
#faq .bg-blobs .b3{ right: 18%; bottom:-260px; width: 620px; height: 620px; background: radial-gradient(circle at 30% 30%, rgba(212,185,132,.65), transparent 60%); animation: faqBlobC 18s ease-in-out infinite; }

/* Noise overlay (bem sutil) */
#faq .bg-noise{ position:absolute; inset:0; z-index:2; pointer-events:none; opacity:.06; mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
  background-size: 180px 180px;
}

@keyframes faqBlobA{ 0%,100%{ transform: translate(0,0) scale(1); } 35%{ transform: translate(40px,26px) scale(1.08); } 70%{ transform: translate(18px,54px) scale(.96); } }
@keyframes faqBlobB{ 0%,100%{ transform: translate(0,0) scale(1); } 30%{ transform: translate(-34px,30px) scale(1.06); } 65%{ transform: translate(-18px,-28px) scale(.98); } }
@keyframes faqBlobC{ 0%,100%{ transform: translate(0,0) scale(1); } 40%{ transform: translate(24px,-22px) scale(1.08); } 75%{ transform: translate(-26px,-10px) scale(.97); } }

@media (prefers-reduced-motion: reduce){
  #faq .bg-blobs .b1, #faq .bg-blobs .b2, #faq .bg-blobs .b3{ animation: none !important; }
}

/* =============== LAYOUT =============== */
#faq .faq-grid{ display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(18px,3.2vw,44px); align-items: start; }
#faq .faq-head{ margin-bottom: 18px; }

/* =============== HEAD =============== */
#faq .kicker{ display: inline-flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: 999px;
  background: linear-gradient(90deg, rgba(255,255,255,.92), rgba(255,255,255,.60));
  border: 1px solid rgba(11,11,10,.10);
  box-shadow: 0 12px 26px rgba(11,11,10,.08);
  color: var(--faq-muted); font-size: 14px; letter-spacing: .2px;
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
}
#faq .k-dot{ width: 10px; height: 10px; border-radius: 999px; background: var(--brand-1); box-shadow: 0 0 0 6px rgba(0,0,0,.03), 0 10px 22px rgba(0,0,0,.10); }

#faq h2{ margin: 14px 0 10px 0; color: var(--faq-ink); font-size: clamp(30px,3.2vw,44px); font-weight: 600; line-height: 1.06; letter-spacing: -0.6px; }
#faq .subtitle{ color: var(--faq-muted); font-size: clamp(15px,1.25vw,18px); line-height: 1.55; max-width: 52ch; }

/* =============== SEARCH =============== */
#faq .search-wrap{ margin-top: 18px; display: grid; grid-template-columns: 1fr auto; gap: 10px; }
#faq .faq-search{ width: 100%; padding: 14px 16px; border-radius: var(--r-md); border: 1px solid rgba(11,11,10,.12);
  background: linear-gradient(180deg, var(--paper), var(--paper2));
  box-shadow: 0 10px 20px rgba(11,11,10,.08);
  outline: none; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  color: var(--faq-ink); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
}
#faq .faq-search::placeholder{ color: rgba(11,11,10,.45); }
#faq .faq-search:focus{ border-color: rgba(0,0,0,0); box-shadow: var(--ring), 0 14px 28px rgba(11,11,10,.12); transform: translateY(-1px); }

#faq .btn-clear{
  border: 1px solid rgba(200,170,111,.26);
  background:
    radial-gradient(180px 100px at 0% 0%, rgba(255,255,255,.18), transparent 58%),
    linear-gradient(135deg, #D4B984 0%, #C8AA6F 38%, #A07F3A 72%, #90702E 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.32), 0 14px 28px rgba(0,0,0,.18);
  border-radius: var(--r-md); padding: 0 14px;
  color: #ffffff !important; cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
  white-space: nowrap;
}
#faq .btn-clear:hover{
  transform: translateY(-2px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.34), 0 22px 38px rgba(0,0,0,.22);
  filter: saturate(1.05) brightness(1.02);
}

/* =============== MORE BUTTON =============== */
#faq .more-wrap{ margin-top: 14px; display:flex; justify-content:flex-start; }
#faq .btn-more{
  border: 1px solid rgba(200,170,111,.26);
  background:
    radial-gradient(180px 100px at 0% 0%, rgba(255,255,255,.18), transparent 58%),
    linear-gradient(135deg, #D4B984 0%, #C8AA6F 38%, #A07F3A 72%, #90702E 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.32), 0 14px 28px rgba(0,0,0,.18);
  border-radius: 999px; padding: 12px 18px;
  color: #ffffff !important; cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
  font-weight: 700; letter-spacing: .2px;
}
#faq .btn-more:hover{
  transform: translateY(-2px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.34), 0 22px 38px rgba(0,0,0,.22);
  filter: saturate(1.05) brightness(1.02);
}
#faq .btn-more[disabled]{ opacity: .55; cursor: not-allowed; transform: none; box-shadow: inset 0 1px 0 rgba(255,255,255,.32), 0 14px 28px rgba(0,0,0,.18); }

/* =============== LIST =============== */
#faq .faq-list{ margin-top: 18px; display: grid; gap: 12px; }

/* Card (mais “glass”, menos chapado) */
#faq .faq-item{ border-radius: var(--r-xl); border: 1px solid rgba(11,11,10,.10);
  background: var(--glass);
  box-shadow: var(--shadow-1);
  overflow: hidden; transform: translateZ(0);
  position: relative;
}
#faq .faq-item::before{ content:""; position:absolute; inset:-1px; pointer-events:none; opacity:.55;
  background: radial-gradient(600px 220px at 18% 0%, rgba(200,170,111,.18), transparent 58%),
              radial-gradient(520px 240px at 82% 0%, rgba(11,11,10,.06), transparent 62%);
}

/* Botão */
#faq .faq-btn{ width: 100%; text-align: left; padding: 18px 18px; background: transparent; border: 0; cursor: pointer;
  display: grid; grid-template-columns: 1fr auto; gap: 14px; align-items: center;
}
#faq .q{ display: flex; align-items: flex-start; gap: 12px; }

/* Badge (mais premium) */
#faq .badge{ flex: 0 0 auto; width: 36px; height: 36px; border-radius: 12px; display: grid; place-items: center;
  font-weight: 900; font-size: 13px; letter-spacing: .3px; color: rgba(255,255,255,.95);
  background: #C8AA6F;
  box-shadow: 0 10px 22px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.22);
}

/* Título */
#faq .faq-title{ margin: 0; color: #000000; font-size: clamp(16px,1.4vw,19px); font-weight: 600; line-height: 1.25; }

/* Ícone (chevron + ring) */
#faq .icon{ width: 44px; height: 44px; border-radius: 14px; border: 1px solid rgba(11,11,10,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.74), rgba(255,255,255,.56));
  display: grid; place-items: center; box-shadow: 0 10px 20px rgba(11,11,10,.08);
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease;
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
}
#faq .chev{ width: 16px; height: 16px; border-right: 2px solid rgba(11,11,10,.55); border-bottom: 2px solid rgba(11,11,10,.55);
  transform: rotate(45deg); transition: transform .25s ease, border-color .25s ease;
}

/* Conteúdo animado */
#faq .faq-panel{ max-height: 0; overflow: hidden; transition: max-height .35s ease; }
#faq .faq-panel-inner{ padding: 0 18px 18px 18px; border-top: 1px solid rgba(11,11,10,.08);
  color: rgba(11,11,10,.78); font-size: 16px; line-height: 1.65;
}

/* Estado aberto */
#faq .faq-item.is-open{ border-color: rgba(0,0,0,0);
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.62));
  box-shadow: 0 26px 70px rgba(47,47,47,.18);
}
#faq .faq-item.is-open .icon{ background: linear-gradient(135deg, rgba(255,255,255,.72), rgba(255,255,255,.52)); box-shadow: 0 14px 28px rgba(11,11,10,.12); transform: translateY(-1px); border-color: rgba(11,11,10,.12); }
#faq .faq-item.is-open .chev{ transform: rotate(-135deg); border-color: rgba(11,11,10,.72); }

/* Hover */
#faq .faq-item:hover{ box-shadow: 0 22px 60px rgba(11,11,10,.14); }
#faq .faq-item:hover .icon{ transform: translateY(-1px); box-shadow: 0 14px 28px rgba(11,11,10,.12); }

/* Acessibilidade */
#faq .faq-btn:focus-visible{ outline: 0; box-shadow: var(--ring) inset; border-radius: var(--r-xl); }

/* Nenhum resultado */
#faq .no-results{ display:none; padding: 16px 18px; border: 1px dashed rgba(11,11,10,.20); border-radius: 16px; color: var(--faq-muted);
  background: linear-gradient(180deg, rgba(255,255,255,.76), rgba(255,255,255,.58));
  box-shadow: 0 10px 22px rgba(11,11,10,.08);
}

/* =============== ASIDE (RIGHT) =============== */
#faq .faq-aside{ position: sticky; top: 92px; }
#faq .aside-card{ border-radius: var(--r-xxl); border: 1px solid rgba(11,11,10,.12);
  background: linear-gradient(180deg, rgba(255,255,255,.76), rgba(255,255,255,.56));
  box-shadow: var(--shadow-1); overflow: hidden; position: relative;
}
#faq .aside-card::before{ content:""; position:absolute; inset:-1px; pointer-events:none; opacity:.45;
  background: radial-gradient(700px 260px at 18% 0%, rgba(200,170,111,.20), transparent 60%),
              radial-gradient(640px 260px at 86% 10%, rgba(11,11,10,.06), transparent 62%);
}
#faq .aside-media{ position: relative; padding: 18px; }
#faq .aside-media img{ width: 100%; height: auto; display: block; border-radius: 22px; filter: saturate(1.06) contrast(1.04); box-shadow: 0 18px 46px rgba(11,11,10,.16); }

#faq .aside-footer{ padding: 16px 18px 18px; border-top: 1px solid rgba(11,11,10,.08); position: relative; }
#faq .aside-footer strong{ display:block; color: var(--faq-ink); font-size: 16px; margin-bottom: 6px; font-weight: 800; letter-spacing: .1px; }
#faq .aside-footer p{ margin: 0; color: var(--faq-muted); font-size: 14px; line-height: 1.55; }

/* =============== RESPONSIVO =============== */
@media (max-width: 1000px){
  #faq .faq-grid{ grid-template-columns: 1fr; }
  #faq .faq-aside{ position: relative; top: auto; }
}
@media (max-width: 767px){
  #faq{ padding: 46px 0; }
  #faq .search-wrap{ grid-template-columns: 1fr; }
  #faq .btn-clear{ height: 46px; }
  #faq .faq-btn{ padding: 16px 14px; }
  #faq .faq-panel-inner{ padding: 0 14px 16px 14px; font-size: 15px; }
  #faq .badge{ width: 34px; height: 34px; border-radius: 12px; }
  #faq .icon{ width: 42px; height: 42px; border-radius: 14px; }
}

/* =============== CTA STRIP =============== */
#faq .faq-cta-strip{
  margin-top:44px;
  border-radius:22px;
  padding:28px 32px;
  background:linear-gradient(135deg,#000000 0%,#3A2E17 55%,#000000 100%);
  border:1px solid rgba(212,185,132,.22);
  box-shadow:0 20px 60px rgba(0,0,0,.18);
  position:relative;overflow:hidden;
}
#faq .faq-cta-strip::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(700px 300px at 0% 50%,rgba(200,170,111,.18),transparent 60%),
             radial-gradient(500px 260px at 100% 50%,rgba(212,185,132,.10),transparent 60%);
}
#faq .faq-cta-inner{
  position:relative;z-index:1;
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
}
#faq .faq-cta-text{display:flex;flex-direction:column;gap:5px}
#faq .faq-cta-text strong{color:#ffffff;font-size:18px;font-weight:800;letter-spacing:-.01em}
#faq .faq-cta-text span{color:rgba(255,255,255,.62);font-size:14.5px;max-width:50ch;line-height:1.5}
#faq .faq-wa-btn--strip{flex-shrink:0;white-space:nowrap}

/* =============== WA BTN SHARED =============== */
#faq .faq-wa-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:13px 20px;border-radius:18px;
  font-size:13.5px;font-weight:800;letter-spacing:.02em;text-decoration:none!important;
  color:#ffffff!important;
  background:
    radial-gradient(180px 100px at 0% 0%, rgba(255,255,255,.18), transparent 58%),
    linear-gradient(135deg,#D4B984 0%,#C8AA6F 38%,#A07F3A 72%,#90702E 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.32), 0 18px 34px rgba(0,0,0,.26);
  border:1px solid rgba(200,170,111,.26);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
#faq .faq-wa-btn:hover{
  transform:translateY(-2px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.34), 0 26px 44px rgba(0,0,0,.30);
  filter:saturate(1.05) brightness(1.02);
}

@media(max-width:640px){
  #faq .faq-cta-strip{padding:22px 18px;border-radius:18px;margin-top:32px}
  #faq .faq-cta-inner{flex-direction:column;align-items:flex-start;gap:16px}
  #faq .faq-wa-btn--strip{width:100%;justify-content:center}
}

/* =============== MOTION SAFE (GLOBAL) =============== */
@media (prefers-reduced-motion: reduce){
  #faq *{ transition: none !important; }
}
