/* ==========================================================================
   UdiSpace — planos.css
   Página de planos para anunciantes (hero escuro, pricing, tabela, mock, FAQ)
   ========================================================================== */

/* ---------- Hero ---------- */
.plans-hero{position:relative;min-height:min(92vh,880px);display:flex;align-items:flex-end;overflow:hidden;padding:calc(var(--header-h) + 64px) 0 clamp(56px,7vw,96px)}
.plans-hero .hero-bg{position:absolute;inset:0;z-index:0}
.plans-hero .hero-bg img{filter:saturate(.85) brightness(.7)}
.plans-hero .hero-bg::after{content:"";position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(14,15,20,.55) 0%,rgba(14,15,20,.15) 35%,rgba(14,15,20,.92) 100%),
  linear-gradient(90deg,rgba(14,15,20,.75) 0%,rgba(14,15,20,.1) 70%)}
.plans-hero .blob{z-index:1}
.plans-hero .container{position:relative;z-index:2}
.plans-hero h1{max-width:14ch;margin-bottom:22px}
.plans-hero .lead{max-width:52ch;margin-bottom:34px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,3vw,40px);margin-top:clamp(48px,7vw,88px);padding-top:32px;border-top:1px solid var(--line-dark)}
.hero-stats .stat .num{font-size:clamp(2rem,3.6vw,3.2rem);display:flex;align-items:baseline;gap:4px}
.hero-stats .stat .num .pre{font-size:.5em;color:var(--ipe);font-weight:700}
.hero-stats .stat .lbl{font-size:.85rem;color:rgba(246,242,234,.6);max-width:20ch}
@media (max-width:900px){.hero-stats{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.plans-hero{min-height:auto;padding-top:calc(var(--header-h) + 40px)}}

/* ---------- Toggle mensal/anual ---------- */
.billing-toggle{display:inline-flex;align-items:center;gap:14px;font-family:var(--font-display);font-weight:700;font-size:.95rem;user-select:none;cursor:pointer}
.billing-toggle span[data-bill]{transition:color .3s;color:var(--mist)}
.billing-toggle span[data-bill].active{color:var(--ink)}
.billing-toggle .switch{cursor:pointer}
.billing-toggle .save{margin-left:4px;transform-origin:left center;transition:transform .5s var(--ease-out),opacity .4s}
.billing-toggle .save.hide{transform:scale(.7);opacity:0}

/* ---------- Cards de plano ---------- */
.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px);align-items:stretch;perspective:1200px}
.plan{position:relative;display:flex;flex-direction:column;gap:22px;overflow:hidden;isolation:isolate}
.plan.tilt{transition:transform .5s var(--ease-out),box-shadow .6s}
.plan .plan-head{display:flex;flex-direction:column;gap:8px}
.plan .plan-name{font-family:var(--font-display);font-weight:800;font-size:1.45rem;letter-spacing:-.02em;display:flex;align-items:center;gap:10px}
.plan .plan-name .dot{width:12px;height:12px;border-radius:50%;background:var(--paper-3)}
.plan[data-plan="pro"] .plan-name .dot{background:var(--ipe)}
.plan[data-plan="premium"] .plan-name .dot{background:var(--terra)}
.plan .plan-desc{color:var(--mist);font-size:.92rem;min-height:2.9em}
.plan .price{display:flex;align-items:baseline;gap:4px;font-family:var(--font-display);font-weight:800;letter-spacing:-.04em;line-height:1}
.plan .price .cur{font-size:1.1rem;letter-spacing:0;align-self:flex-start;margin-top:8px;color:var(--mist)}
.plan .price .val{font-size:clamp(2.6rem,4vw,3.4rem);font-variant-numeric:tabular-nums}
.plan .price .per{font-family:var(--font-body);font-weight:500;font-size:.9rem;color:var(--mist);letter-spacing:0}
.plan .price-note{font-size:.8rem;color:var(--mist);min-height:1.3em;transition:opacity .3s}
.plan .price-note s{opacity:.7;margin-right:4px}
.plan .benefits{list-style:none;margin:0;padding:22px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:12px;flex:1}
.plan .benefits li{display:flex;gap:12px;align-items:flex-start;font-size:.92rem;line-height:1.45}
.plan .benefits li.off{color:var(--mist);text-decoration:line-through;text-decoration-color:rgba(127,132,147,.5)}
.plan .btn{width:100%;margin-top:6px}
.plan .fine{font-size:.75rem;color:var(--mist);text-align:center;margin:0}
.plan-badge{position:absolute;top:22px;right:-38px;transform:rotate(38deg);background:var(--ipe);color:var(--ink);font-family:var(--font-display);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:8px 48px;box-shadow:var(--shadow-s);z-index:2}
.plan.featured{background:var(--ink);color:var(--paper);box-shadow:var(--shadow-l);transform:translateY(-10px)}
.plan.featured:hover{transform:translateY(-14px)}
.plan.featured .plan-desc,.plan.featured .price .cur,.plan.featured .price .per,.plan.featured .price-note,.plan.featured .fine{color:rgba(246,242,234,.6)}
.plan.featured .benefits{border-top-color:var(--line-dark)}
.plan.featured::before{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(242,178,51,.35),transparent 65%);top:-140px;right:-120px;pointer-events:none;z-index:-1;filter:blur(20px)}
.plan.featured::after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(200,80,47,.35),transparent 65%);bottom:-120px;left:-100px;pointer-events:none;z-index:-1;filter:blur(20px)}
@media (max-width:1024px){.plans-grid{grid-template-columns:1fr;max-width:520px;margin-inline:auto}.plan.featured{transform:none}}

/* Check animado (SVG stroke) */
.chk{flex:none;width:22px;height:22px;border-radius:50%;background:var(--paper-2);display:grid;place-items:center;margin-top:1px;transition:background .4s,transform .5s var(--ease-out);transform:scale(.6)}
.chk svg{width:12px;height:12px;fill:none;stroke:var(--ink);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.chk svg path{stroke-dasharray:20;stroke-dashoffset:20;transition:stroke-dashoffset .5s var(--ease-out)}
.plan.featured .chk{background:var(--ink-3)}
.plan.featured .chk svg{stroke:var(--ipe)}
.chk.off{background:transparent;box-shadow:inset 0 0 0 1.5px var(--line)}
.chk.off svg{stroke:var(--mist)}
.plan.featured .chk.off{box-shadow:inset 0 0 0 1.5px var(--line-dark)}
.benefits.in .chk{transform:scale(1);background:var(--ipe)}
.benefits.in .chk.off{background:transparent}
.plan.featured .benefits.in .chk{background:var(--ipe)}
.plan.featured .benefits.in .chk svg{stroke:var(--ink)}
.plan.featured .benefits.in .chk.off{background:transparent}
.plan.featured .benefits.in .chk.off svg{stroke:var(--mist)}
.benefits.in .chk svg path{stroke-dashoffset:0}
.benefits li{transition-delay:var(--d,0s)}
.benefits li .chk,.benefits li .chk svg path{transition-delay:var(--d,0s)}

/* ---------- Tabela comparativa ---------- */
.compare-wrap{border-radius:var(--radius-l);background:#fff;box-shadow:var(--shadow-s)}
@media (max-width:900px){.compare-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}}
.compare{width:100%;min-width:720px;border-collapse:separate;border-spacing:0}
.compare th,.compare td{padding:18px 22px;text-align:center;border-bottom:1px solid var(--line);font-size:.92rem}
.compare th:first-child,.compare td:first-child{text-align:left;font-weight:600}
.compare thead th{position:sticky;top:0;z-index:3;background:var(--ink);color:var(--paper);font-family:var(--font-display);font-weight:700;letter-spacing:.02em;font-size:.9rem;padding:20px 22px}
.compare thead th:first-child{border-top-left-radius:var(--radius-l)}
.compare thead th:last-child{border-top-right-radius:var(--radius-l)}
.compare thead th .th-price{display:block;font-family:var(--font-body);font-weight:500;font-size:.75rem;color:rgba(246,242,234,.6);margin-top:2px}
.compare thead th.hi{background:var(--ink-3)}
.compare thead th.hi::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--ipe)}
.compare tbody tr.group td{background:var(--paper-2);font-family:var(--font-display);font-weight:700;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terra);padding:12px 22px;text-align:left}
.compare tbody tr:not(.group):hover td{background:rgba(242,178,51,.08)}
.compare tbody td.hi{background:rgba(242,178,51,.06);font-weight:600}
.compare tbody tr:last-child td{border-bottom:0}
.compare .yes,.compare .no{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%}
.compare .yes{background:var(--cerrado);color:#fff}
.compare .no{background:var(--paper-2);color:var(--mist)}
.compare .yes svg,.compare .no svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.compare tbody tr{transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
.compare-note{font-size:.82rem;color:var(--mist);margin-top:14px;text-align:center}

/* ---------- "Como você aparece" ---------- */
.levels{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px);align-items:end}
.level{display:flex;flex-direction:column;gap:18px}
.level .level-head{display:flex;flex-direction:column;gap:6px}
.level .level-head .pos{font-family:var(--font-display);font-weight:800;font-size:clamp(2rem,3.5vw,2.8rem);letter-spacing:-.04em;line-height:1;display:flex;align-items:baseline;gap:6px}
.level .level-head .pos small{font-family:var(--font-body);font-weight:500;font-size:.85rem;color:var(--mist);letter-spacing:0}
.level .level-head .tag{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:700;font-size:.85rem}
.level .level-head .tag i{width:10px;height:10px;border-radius:50%;background:var(--paper-3)}
.level[data-level="destaque"] .tag i{background:var(--ipe)}
.level[data-level="topo"] .tag i{background:var(--terra)}
.level-card{position:relative;transform-origin:bottom center;isolation:isolate}
.level-card .card{pointer-events:auto}
.level[data-level="normal"] .level-card{filter:saturate(.7);opacity:.85}
.level[data-level="destaque"] .level-card .card{box-shadow:0 0 0 2px var(--ipe),var(--shadow)}
.level[data-level="topo"] .level-card{transform:scale(1.04)}
.level[data-level="topo"] .level-card .card{box-shadow:0 0 0 2px var(--terra),0 30px 70px -20px rgba(200,80,47,.45)}
.level-card .lvl-badge{position:absolute;top:14px;left:14px;z-index:2}
.level-card .lvl-seal{position:absolute;top:-14px;right:-14px;z-index:3;width:56px;height:56px;border-radius:50%;background:var(--ink);color:var(--ipe);display:grid;place-items:center;box-shadow:var(--shadow);animation:float 5s ease-in-out infinite}
.level-card .lvl-seal svg{width:26px;height:26px}
.level-card .lvl-rank{position:absolute;bottom:-16px;left:50%;transform:translateX(-50%);z-index:3;white-space:nowrap}
.level-card .lvl-glow{position:absolute;inset:-30px;border-radius:50%;background:radial-gradient(circle,rgba(242,178,51,.35),transparent 70%);z-index:-1;filter:blur(20px);pointer-events:none}
.level[data-level="topo"] .lvl-glow{background:radial-gradient(circle,rgba(200,80,47,.3),transparent 70%)}
.level .level-foot{font-size:.85rem;color:var(--mist);text-align:center;margin:8px 0 0}
@media (max-width:1024px){.levels{grid-template-columns:1fr;max-width:420px;margin-inline:auto;gap:56px}.level[data-level="topo"] .level-card{transform:none}}

/* ---------- Depoimentos ---------- */
.testis{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px)}
.testi{display:flex;flex-direction:column;gap:18px;position:relative}
.testi .quote-mark{font-family:var(--font-serif);font-style:italic;font-size:4rem;line-height:.6;color:var(--ipe);height:24px}
.testi blockquote{margin:0;font-size:1.05rem;line-height:1.55;font-family:var(--font-body);flex:1}
.testi blockquote em{font-family:var(--font-serif);font-style:italic;color:var(--terra);font-size:1.15em}
.testi .who{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--line)}
.testi .who .avatar{display:grid;place-items:center;font-family:var(--font-display);font-weight:800;color:var(--paper);background:var(--cerrado)}
.testi:nth-child(2) .who .avatar{background:var(--terra)}
.testi:nth-child(3) .who .avatar{background:var(--ink)}
.testi .who strong{display:block;font-family:var(--font-display);font-size:.95rem}
.testi .who span{font-size:.8rem;color:var(--mist)}
.testi .who .badge{margin-left:auto}
@media (max-width:1024px){.testis{grid-template-columns:1fr}}

/* ---------- FAQ ---------- */
.faq-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:clamp(32px,6vw,96px);align-items:start}
.faq-grid .sticky{position:sticky;top:120px}
@media (max-width:900px){.faq-grid{grid-template-columns:1fr}.faq-grid .sticky{position:static}}

/* ---------- CTA final ---------- */
.cta-final{position:relative;overflow:hidden;border-radius:var(--radius-xl);padding:clamp(48px,7vw,96px) clamp(24px,5vw,72px);text-align:center;isolation:isolate}
.cta-final .blob{z-index:-1}
.cta-final h2{max-width:16ch;margin-inline:auto;margin-bottom:18px}
.cta-final .lead{margin-inline:auto;margin-bottom:32px}
.cta-final .hero-actions{justify-content:center}
.cta-final .ring{position:absolute;inset:auto;width:520px;height:520px;border:1px solid var(--line-dark);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);z-index:-1;pointer-events:none}
.cta-final .ring.r2{width:760px;height:760px;opacity:.6}
.cta-final .ring.r3{width:1000px;height:1000px;opacity:.35}

/* ---------- Marquee de espaços (prova social) ---------- */
.logo-marquee .marquee-track > *{font-size:clamp(1rem,1.6vw,1.3rem);color:var(--mist)}
.logo-marquee .marquee-track > *::after{color:var(--terra)}
