/* ===================================================================
   GoPsi — Landing styles (complementa o Tailwind CDN)
   Paleta ADR-0002 · dark-first marketing
   bg #0E1614 · surface #1A2420 · texto #F2F5F3
   sálvia #3E7C6F / #7FB8A4 · lavanda #A78BFA
   =================================================================== */

:root{
  --bg:#0E1614;
  --surface:#1A2420;
  --text:#F2F5F3;
  --muted:#9FB1AA;
  --salvia:#3E7C6F;
  --salvia-light:#7FB8A4;
  --lavanda:#A78BFA;
  --line:rgba(127,184,164,.16);
}

html{ -webkit-text-size-adjust:100%; }
body{ line-height:1.6; }

/* ---- Glow de fundo (orgânico, sálvia + lavanda) ---- */
.bg-glow{
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(640px circle at 18% 8%,  rgba(62,124,111,.16), transparent 55%),
    radial-gradient(720px circle at 88% 22%, rgba(167,139,250,.10), transparent 55%),
    radial-gradient(700px circle at 50% 100%, rgba(127,184,164,.08), transparent 60%);
}

/* ---- Texto em gradiente sálvia ---- */
.text-gradient{
  background:linear-gradient(120deg,#7FB8A4,#3E7C6F 55%,#A78BFA);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* ---- Eyebrow / títulos de seção ---- */
.eyebrow{
  font-size:.78rem; letter-spacing:.22em; text-transform:uppercase;
  font-weight:600; color:var(--salvia-light);
}
.section-title{
  font-family:'Playfair Display',Georgia,serif; font-weight:700;
  font-size:clamp(1.9rem,4vw,2.9rem); line-height:1.12; letter-spacing:-.5px;
  margin-top:.75rem;
}

/* ---- Botões ---- */
.btn-primary,.btn-ghost{
  display:inline-flex; align-items:center; gap:.6rem;
  padding:.95rem 1.9rem; border-radius:100px;
  font-weight:600; font-size:1rem; text-decoration:none; cursor:pointer;
  border:1px solid transparent;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
}
.btn-primary{
  color:#0E1614;
  background:linear-gradient(145deg,#7FB8A4,#3E7C6F);
  box-shadow:0 12px 34px rgba(62,124,111,.32);
}
.btn-primary:hover{ transform:translateY(-3px); box-shadow:0 18px 46px rgba(62,124,111,.45); }
.btn-ghost{ color:var(--text); border-color:var(--line); background:transparent; }
.btn-ghost:hover{ transform:translateY(-3px); border-color:var(--salvia-light); color:var(--salvia-light); }
.btn-primary:focus-visible,.btn-ghost:focus-visible,
a:focus-visible,summary:focus-visible{
  outline:2px solid var(--salvia-light); outline-offset:3px; border-radius:8px;
}

/* ---- Ponto pulsante do hero ---- */
.pulse-dot{
  width:9px; height:9px; border-radius:50%; background:var(--salvia-light);
  box-shadow:0 0 0 0 rgba(127,184,164,.6);
  animation:pulse 2.2s infinite;
}
@keyframes pulse{
  0%{ box-shadow:0 0 0 0 rgba(127,184,164,.55); }
  70%{ box-shadow:0 0 0 12px rgba(127,184,164,0); }
  100%{ box-shadow:0 0 0 0 rgba(127,184,164,0); }
}

/* ---- Cards de dores ---- */
.pain-card{
  background:linear-gradient(160deg,var(--surface),#13201B);
  border:1px solid var(--line); border-radius:18px; padding:1.9rem 1.6rem;
  transition:transform .3s ease, border-color .3s ease;
}
.pain-card:hover{ transform:translateY(-5px); border-color:rgba(127,184,164,.32); }
.pain-ico{
  width:46px; height:46px; border-radius:12px; display:grid; place-items:center;
  background:rgba(167,139,250,.10); color:var(--lavanda); margin-bottom:1.1rem;
}
.pain-title{ font-size:1.08rem; font-weight:600; margin-bottom:.5rem; }
.pain-text{ color:var(--muted); font-size:.95rem; font-weight:300; }

/* ---- Cards de funcionalidades / diferenciais ---- */
.feature-card,.diff-card{
  background:linear-gradient(160deg,var(--surface),#13201B);
  border:1px solid var(--line); border-radius:18px; padding:2rem 1.8rem;
  transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.feature-card:hover,.diff-card:hover{
  transform:translateY(-6px); border-color:rgba(127,184,164,.38);
  box-shadow:0 18px 50px rgba(0,0,0,.35);
}
.feat-ico,.diff-ico{
  width:52px; height:52px; border-radius:14px; display:grid; place-items:center;
  background:rgba(127,184,164,.12); color:var(--salvia-light); margin-bottom:1.2rem;
}
.diff-ico{ background:rgba(62,124,111,.16); color:var(--salvia-light); }
.feat-title{ font-size:1.18rem; font-weight:600; margin-bottom:.55rem; }
.feat-text{ color:var(--muted); font-size:.96rem; font-weight:300; }

/* ---- Planos ---- */
.plan-card{
  display:flex; flex-direction:column;
  background:linear-gradient(165deg,var(--surface),#12201A);
  border:1px solid var(--line); border-radius:22px; padding:2rem 1.7rem;
  transition:transform .3s ease, border-color .3s ease;
}
.plan-card:hover{ transform:translateY(-5px); border-color:rgba(127,184,164,.30); }
.plan-popular{
  border-color:rgba(127,184,164,.55);
  box-shadow:0 24px 60px rgba(62,124,111,.22);
  position:relative;
}
.plan-tag{
  position:absolute; top:-13px; left:50%; transform:translateX(-50%);
  background:linear-gradient(145deg,#7FB8A4,#3E7C6F); color:#0E1614;
  font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  padding:.35rem 1rem; border-radius:100px; white-space:nowrap;
  box-shadow:0 8px 22px rgba(62,124,111,.4);
}
.plan-name{ font-family:'Playfair Display',serif; font-weight:700; font-size:1.4rem; }
.plan-desc{ color:var(--muted); font-size:.9rem; font-weight:300; margin-top:.4rem; min-height:2.6em; }
.plan-price{
  font-family:'Playfair Display',serif; font-weight:900; font-size:2.6rem;
  line-height:1; margin-top:1.1rem; color:var(--text);
}
.plan-price--text{ font-size:1.7rem; font-weight:700; }
.plan-currency{ font-size:1.1rem; font-weight:600; vertical-align:super; margin-right:.15rem; color:var(--muted); }
.plan-period{ font-size:.95rem; font-weight:400; color:var(--muted); margin-left:.15rem; }
.plan-list{
  margin-top:1.6rem; padding-top:1.4rem; border-top:1px solid var(--line);
  display:flex; flex-direction:column; gap:.7rem;
  font-size:.92rem; color:var(--muted); font-weight:300;
}
.plan-list li{ position:relative; padding-left:1.6rem; }
.plan-list li::before{
  content:""; position:absolute; left:0; top:.45em;
  width:14px; height:8px; border-left:2px solid var(--salvia-light);
  border-bottom:2px solid var(--salvia-light); transform:rotate(-45deg);
}
.plan-list li:has(strong)::before{ display:none; }
.plan-list li:has(strong){ padding-left:0; }

/* ---- Bloco de confiança / LGPD ---- */
.trust-halo{
  position:absolute; top:-60%; left:50%; transform:translateX(-50%);
  width:520px; height:520px; border-radius:50%;
  background:radial-gradient(circle, rgba(62,124,111,.18), transparent 62%);
}
.trust-seal{
  width:58px; height:58px; border-radius:16px; display:grid; place-items:center;
  background:rgba(127,184,164,.12); color:var(--salvia-light);
  border:1px solid var(--line);
}
.trust-pill{
  font-size:.82rem; color:var(--text); background:rgba(127,184,164,.08);
  border:1px solid var(--line); padding:.5rem 1rem; border-radius:100px;
}

/* ---- FAQ (accordion nativo) ---- */
.faq{
  background:var(--surface); border:1px solid var(--line); border-radius:16px;
  padding:0 1.4rem; transition:border-color .25s ease;
}
.faq[open]{ border-color:rgba(127,184,164,.32); }
.faq summary{
  list-style:none; cursor:pointer; padding:1.25rem 0;
  font-weight:500; font-size:1.05rem; display:flex; align-items:center;
  justify-content:space-between; gap:1rem;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{
  content:""; flex:none; width:11px; height:11px;
  border-right:2px solid var(--salvia-light); border-bottom:2px solid var(--salvia-light);
  transform:rotate(45deg); transition:transform .3s ease; margin-top:-3px;
}
.faq[open] summary::after{ transform:rotate(-135deg); margin-top:2px; }
.faq p{
  color:var(--muted); font-weight:300; font-size:.97rem;
  padding:0 0 1.3rem; max-width:62ch;
}

/* ---- Footer ---- */
.footer-head{ font-weight:600; color:var(--text); margin-bottom:1rem; }
.footer-list{ display:flex; flex-direction:column; gap:.65rem; }
.footer-list a{ color:var(--muted); text-decoration:none; transition:color .2s; }
.footer-list a:hover{ color:var(--salvia-light); }
.footer-social{
  width:40px; height:40px; border:1px solid var(--line); border-radius:50%;
  display:grid; place-items:center; color:var(--muted); transition:color .2s, border-color .2s;
}
.footer-social:hover{ color:var(--salvia-light); border-color:var(--salvia-light); }

/* ---- Reveal on scroll (IntersectionObserver) ---- */
.reveal{ opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease; }
.reveal.is-visible{ opacity:1; transform:none; }

/* Respeita usuários que preferem menos movimento */
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .reveal{ opacity:1; transform:none; transition:none; }
  .pulse-dot{ animation:none; }
  .btn-primary:hover,.btn-ghost:hover,
  .pain-card:hover,.feature-card:hover,.diff-card:hover,.plan-card:hover{ transform:none; }
}
