/* =====================================================================
   FAQ — componente reutilizável
   Baseado na seção "Dúvidas frequentes" de grapemidia.com.br/inicial

   Feito com <details>/<summary> nativos: abre e fecha SEM JavaScript,
   funciona com teclado e leitor de tela, e o Google lê as respostas.
   O faq.js é opcional: anima a abertura, "uma aberta por vez" e schema FAQPage.

   Tudo escopado com prefixo fq-, com margem/fonte/cor explícitas para não
   herdar o estilo do tema do WordPress.
   Tema: data-tema="claro" (padrão) | "escuro" | "auto".
   ===================================================================== */

.fq-secao{
  --fq-fundo:#F7F7F5;
  --fq-texto:#17161A;
  --fq-texto-2:#3F3D45;
  --fq-texto-3:#78757F;
  --fq-linha:#EDECE8;
  --fq-destaque:#7C3AED;
  --fq-hover:rgba(23,22,26,.025);

  --fq-largura:840px;
  --fq-fonte-titulo:"Instrument Sans",Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  --fq-fonte-texto:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;

  box-sizing:border-box;padding:88px 0;background:var(--fq-fundo);color:var(--fq-texto);
  font-family:var(--fq-fonte-texto);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;
}
.fq-secao[data-tema="escuro"]{
  --fq-fundo:#131215; --fq-texto:#F5F4F7; --fq-texto-2:#C4C1CB; --fq-texto-3:#8F8B99;
  --fq-linha:#232128; --fq-destaque:#A78BFA; --fq-hover:rgba(245,244,247,.03);
}
@media (prefers-color-scheme: dark){
  .fq-secao[data-tema="auto"]{
    --fq-fundo:#131215; --fq-texto:#F5F4F7; --fq-texto-2:#C4C1CB; --fq-texto-3:#8F8B99;
    --fq-linha:#232128; --fq-destaque:#A78BFA; --fq-hover:rgba(245,244,247,.03);
  }
}
.fq-secao--transparente{background:transparent}
.fq-secao *,.fq-secao *::before,.fq-secao *::after{box-sizing:border-box}
.fq-wrap{max-width:var(--fq-largura);margin:0 auto;padding:0 24px}

/* ---------- cabeçalho ---------- */
.fq-secao .fq-head{margin:0 0 44px}
.fq-secao .fq-eyebrow{margin:0 0 14px;font-family:var(--fq-fonte-texto);font-size:11.5px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;line-height:1.4;color:var(--fq-destaque)}
.fq-secao .fq-titulo{margin:0;max-width:20ch;font-family:var(--fq-fonte-titulo);font-size:clamp(28px,4vw,42px);
  font-weight:700;letter-spacing:-.028em;line-height:1.08;color:var(--fq-texto);text-transform:none}
.fq-secao .fq-lede{margin:16px 0 0;max-width:60ch;font-size:17px;line-height:1.6;color:var(--fq-texto-2)}
.fq-head--centro{text-align:center}
.fq-head--centro .fq-titulo,.fq-head--centro .fq-lede{margin-left:auto;margin-right:auto}

/* ---------- lista de perguntas ---------- */
.fq-secao .fq-lista{margin:0;padding:0;border-top:1px solid var(--fq-linha)}
.fq-secao .fq-item{margin:0;padding:0;border:0;border-bottom:1px solid var(--fq-linha);background:none}

.fq-secao .fq-pergunta{
  display:flex;justify-content:space-between;align-items:center;gap:20px;
  margin:0;padding:22px 0;list-style:none;cursor:pointer;background:none;
  font-family:var(--fq-fonte-texto);font-size:17px;font-weight:600;line-height:1.4;letter-spacing:-.015em;
  color:var(--fq-texto);text-transform:none;transition:color .15s ease;
  -webkit-tap-highlight-color:transparent;
}
.fq-secao .fq-pergunta::-webkit-details-marker{display:none}
.fq-secao .fq-pergunta::marker{content:""}
/* seta: gira de "para baixo" para "para cima" ao abrir */
.fq-secao .fq-pergunta::after{
  content:"";flex:none;width:11px;height:11px;margin-top:-4px;margin-right:2px;
  border-right:2px solid var(--fq-texto-3);border-bottom:2px solid var(--fq-texto-3);
  transform:rotate(45deg);transition:transform .2s ease,margin .2s ease,border-color .15s ease;
}
.fq-secao .fq-item[open] > .fq-pergunta::after{transform:rotate(-135deg);margin-top:2px}
/* durante a animação de fechar o [open] ainda está lá: a seta já volta */
.fq-secao .fq-item.is-fechando > .fq-pergunta::after{transform:rotate(45deg);margin-top:-4px}
.fq-secao .fq-pergunta:hover{color:var(--fq-destaque)}
.fq-secao .fq-pergunta:hover::after{border-color:var(--fq-destaque)}
.fq-secao .fq-pergunta:focus{outline:none}
.fq-secao .fq-pergunta:focus-visible{outline:2px solid var(--fq-destaque);outline-offset:4px;border-radius:4px}

/* resposta: aceita <p>, listas, links, o que for */
.fq-secao .fq-resposta{overflow:hidden}
.fq-secao .fq-resposta > :first-child{margin-top:0}
.fq-secao .fq-resposta p,
.fq-secao .fq-resposta ul,
.fq-secao .fq-resposta ol{margin:0 0 14px;max-width:72ch;font-size:15.4px;line-height:1.65;color:var(--fq-texto-2)}
.fq-secao .fq-resposta ul,.fq-secao .fq-resposta ol{padding-left:1.2em}
.fq-secao .fq-resposta li{margin:0 0 6px}
.fq-secao .fq-resposta > :last-child{margin-bottom:0}
.fq-secao .fq-resposta{padding:0 0 24px}
.fq-secao .fq-resposta strong{color:var(--fq-texto);font-weight:600}
.fq-secao .fq-resposta a{color:var(--fq-destaque);text-decoration:underline;text-underline-offset:3px}

/* estilo alternativo em cartões */
.fq-secao .fq-lista--cartoes{border:0;display:flex;flex-direction:column;gap:10px}
.fq-secao .fq-lista--cartoes .fq-item{border:1px solid var(--fq-linha);border-radius:14px;padding:0 22px;
  transition:background .15s ease,border-color .15s ease}
.fq-secao .fq-lista--cartoes .fq-item:hover,
.fq-secao .fq-lista--cartoes .fq-item[open]{background:var(--fq-hover)}
.fq-secao .fq-lista--cartoes .fq-item[open]{border-color:color-mix(in srgb,var(--fq-destaque) 35%,var(--fq-linha))}
.fq-secao .fq-lista--cartoes .fq-pergunta{padding:20px 0}
.fq-secao .fq-lista--cartoes .fq-resposta{padding-bottom:20px}

/* entrada suave (só quando o JS está ativo) */
.fq-js .fq-revelar{opacity:0;transform:translateY(14px)}
.fq-js .fq-revelar.is-in{opacity:1;transform:none;transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.3,1)}

/* ---------- responsivo ---------- */
@media (max-width:760px){
  .fq-secao{padding:56px 0}
  .fq-wrap{padding:0 20px}
  .fq-secao .fq-head{margin-bottom:28px}
  .fq-secao .fq-eyebrow{font-size:11px;margin-bottom:11px}
  .fq-secao .fq-titulo{font-size:clamp(23px,6.4vw,30px);max-width:100%;line-height:1.14}
  .fq-secao .fq-lede{font-size:15.5px;margin-top:14px}
  .fq-secao .fq-pergunta{font-size:15.6px;padding:18px 0;gap:14px}
  .fq-secao .fq-resposta p,.fq-secao .fq-resposta ul,.fq-secao .fq-resposta ol{font-size:14.6px}
  .fq-secao .fq-resposta{padding-bottom:20px}
  .fq-secao .fq-lista--cartoes .fq-item{padding:0 16px}
}
@media (max-width:400px){
  .fq-wrap{padding:0 16px}
}
@media (prefers-reduced-motion: reduce){
  .fq-js .fq-revelar{opacity:1;transform:none}
  .fq-secao .fq-pergunta::after{transition:none}
}

/* =====================================================================
   FRESH LIMP — SOBRESCRITAS DE IDENTIDADE (Deep Ocean & White)
   ===================================================================== */

/* FAQ desta LP: cores e fontes do site, fundo branco */
#faq.fq-secao{
  --fq-fundo:#ffffff;
  --fq-texto:#0f172a;
  --fq-texto-2:#334155;
  --fq-texto-3:#64748b;
  --fq-linha:#e2e8f0;
  --fq-destaque:#0077b6;
  --fq-hover:rgba(0,119,182,.045);
  --fq-fonte-titulo:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --fq-fonte-texto:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
/* cartão aberto ganha leve realce da identidade */
#faq.fq-secao .fq-lista--cartoes .fq-item[open]{
  border-color:rgba(0,119,182,.35);
  box-shadow:0 4px 16px rgba(0,119,182,.08);
}

/* Título dos cards de serviço maior */
.min-card-title{
  font-size:1.68rem;
}

/* =====================================================================
   DEPOIMENTOS — CARROSSEL INFINITO AUTOMÁTICO (SOMENTE MOBILE)
   ===================================================================== */
.review-clone{ display:none; }

@media (max-width:767px){
  .section-light-ice .container{ overflow:hidden; }

  .reviews-grid-light{
    display:flex;
    flex-wrap:nowrap;
    grid-template-columns:none;
    gap:0;
    width:max-content;
    align-items:stretch;
    animation:reviews-scroll 40s linear infinite;
    will-change:transform;
  }
  .reviews-grid-light:hover,
  .reviews-grid-light:active{ animation-play-state:paused; }

  .reviews-grid-light .review-card-light{
    flex:0 0 auto;
    width:78vw;
    max-width:320px;
    margin-right:16px;
  }

  .review-clone{ display:flex; }

  @keyframes reviews-scroll{
    from{ transform:translateX(0); }
    to{   transform:translateX(-50%); }
  }
}
@media (max-width:767px) and (prefers-reduced-motion:reduce){
  .reviews-grid-light{ animation:none; }
}

/* =====================================================================
   CTA FINAL — fundo azul escuro (igual às seções dark)
   ===================================================================== */
.final-cta-banner{
  background:var(--bg-main);
  border-top:1px solid var(--border-glass);
}
