/* Planos, contratação e página de pagamento */
.plans .sec-head{ margin-bottom:56px; }
.plan-grid{ display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.plan{ position:relative; display:flex; flex-direction:column; gap:22px; padding:32px 28px 30px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:border-color 1.25s var(--ease); }
.plan--destaque{ background:var(--fg); color:var(--bg); }
.plan--destaque .plan__desc, .plan--destaque .plan__inclui li, .plan--destaque .plan__tag{ color:rgba(255,255,255,.7); }
.plan--destaque .plan__inclui li{ border-color:rgba(255,255,255,.18); }
.plan__tag{ font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); display:flex; justify-content:space-between; gap:12px; }
.plan__tag b{ font-weight:400; color:var(--signal); }
.plan__nome{ font-size:clamp(28px,2.6vw,36px); font-weight:300; letter-spacing:-.02em; line-height:1.05; margin:0; }
.plan__desc{ font-size:15px; line-height:1.5; color:var(--muted); margin:0; min-height:3em; }
.plan__preco{ margin:0; display:flex; flex-direction:column; gap:4px; }
.plan__preco strong{ font-size:clamp(34px,3.4vw,48px); font-weight:300; letter-spacing:-.035em; line-height:1; }
.plan__preco span{ font-size:14px; color:inherit; opacity:.75; }
.plan__inclui{ list-style:none; margin:0; padding:0; font-size:14px; line-height:1.45; }
.plan__inclui li{ padding:9px 0; border-top:1px solid var(--line); color:var(--muted); }
.plan__cta{ margin-top:auto; display:flex; flex-direction:column; gap:10px; }
.plan__cta .pill{ justify-content:center; }
.plan--destaque .pill{ border-color:var(--bg); }
.plan--destaque .pill--solid{ background:var(--bg); color:var(--fg); }
.plan-extra{ margin:28px 0 0; font-size:15px; color:var(--muted); line-height:1.6; max-width:52em; }
.plan-extra b{ font-weight:400; color:var(--fg); }

.demo-cta{ margin-top:96px; display:grid; grid-template-columns:7fr 5fr; gap:32px 56px; align-items:center; }
.demo-cta__video{ position:relative; border-radius:14px; overflow:hidden; background:#0b0b10; aspect-ratio:16/10; border:1px solid var(--line); }
.demo-cta__video video{ width:100%; height:100%; object-fit:cover; }
.demo-cta h3{ font-size:clamp(28px,3vw,42px); font-weight:300; letter-spacing:-.025em; line-height:1.08; margin:0 0 16px; }
.demo-cta p{ font-size:16px; line-height:1.55; color:var(--muted); margin:0 0 24px; }
.demo-cta__btns{ display:flex; flex-wrap:wrap; gap:10px; }

/* Modal de contratação */
.checkout{ position:fixed; inset:0; z-index:120; display:none; place-items:center; padding:24px; background:rgba(0,0,0,.6); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
.checkout.is-open{ display:grid; }
.checkout__box{ position:relative; width:100%; max-width:460px; max-height:calc(100svh - 48px); overflow:auto; background:#fff; color:#000; padding:40px 36px 30px; border-radius:6px; --line:rgba(0,0,0,.2); --muted:var(--felt); --fg:#000; }
.checkout__close{ position:absolute; top:12px; right:18px; font-size:28px; line-height:1; color:rgba(0,0,0,.4); }
.checkout__close:hover{ color:#000; }
.checkout__box h3{ margin:0 0 6px; font-size:30px; font-weight:300; letter-spacing:-.02em; }
.checkout__preco{ margin:0 0 10px; font-size:15px; color:var(--felt); }
.checkout__err{ margin:12px 0 0; font-size:13px; color:#b3261e; min-height:1.4em; }
.checkout__err a{ text-decoration:underline; }
.checkout__go{ margin-top:12px; width:100%; justify-content:center; background:#000; color:#fff; border-color:#000; padding:14px 24px; }
.checkout__go:disabled{ opacity:.5; }
.checkout__nota{ margin:14px 0 0; font-size:12px; line-height:1.5; color:var(--felt); }
.ck-open, .ck-open body{ overflow:hidden; }

/* Página de pagamento */
.pagar{ min-height:100svh; display:grid; place-items:center; padding:40px var(--gutter); background:#f6f6f4; color:#000; }
.pagar__box{ width:100%; max-width:520px; background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:10px; padding:40px 36px 34px; }
.pagar__logo{ font-size:24px; font-weight:500; letter-spacing:-.03em; margin:0 0 28px; display:block; }
.pagar h1{ font-size:clamp(30px,6vw,40px); font-weight:300; letter-spacing:-.03em; line-height:1.05; margin:0 0 8px; }
.pagar__sub{ margin:0 0 26px; color:var(--felt); font-size:15px; line-height:1.5; }
.pagar__valor{ font-size:48px; font-weight:300; letter-spacing:-.04em; line-height:1; margin:0 0 6px; }
.pagar__venc{ margin:0 0 24px; font-family:var(--mono); font-size:12px; text-transform:uppercase; color:var(--felt); }
.pagar__qr{ display:grid; place-items:center; padding:18px; border:1px solid rgba(0,0,0,.08); border-radius:8px; margin:0 0 18px; }
.pagar__qr img{ width:220px; height:220px; image-rendering:pixelated; }
.pagar__codigo{ width:100%; font-family:var(--mono); font-size:11px; line-height:1.5; word-break:break-all; background:#f6f6f4; border-radius:6px; padding:12px 14px; margin:0 0 12px; color:#333; }
.pagar__copiar{ width:100%; justify-content:center; background:#000; color:#fff; border-color:#000; padding:14px 24px; }
.pagar__ok{ margin:10px 0 0; font-size:13px; color:#1b7f3b; min-height:1.4em; text-align:center; }
.pagar__passos{ margin:26px 0 0; padding:20px 0 0; border-top:1px solid rgba(0,0,0,.08); font-size:14px; line-height:1.6; color:var(--felt); }
.pagar__passos ol{ margin:0; padding-left:18px; }
.pagar__pago{ text-align:center; }
.pagar__pago .pagar__valor{ color:#1b7f3b; }
.pagar__cartao{ margin:26px 0 0; }
.pagar__ou{ display:flex; align-items:center; gap:12px; margin:0 0 20px; font-family:var(--mono); font-size:11px; text-transform:uppercase; color:var(--felt); }
.pagar__ou::before,.pagar__ou::after{ content:""; flex:1; height:1px; background:rgba(0,0,0,.08); }
.pagar__cartao h2{ font-size:20px; font-weight:400; letter-spacing:-.02em; margin:0 0 6px; }
.pagar__cartao-sub{ margin:0 0 16px; font-size:14px; line-height:1.5; color:var(--felt); }
.pagar__form label{ display:block; font-size:13px; margin:0 0 6px; color:#333; }
.pagar__form input{ width:100%; font:inherit; font-size:16px; padding:12px 14px; border:1px solid rgba(0,0,0,.18); border-radius:6px; background:#fff; color:#000; margin:0 0 12px; box-sizing:border-box; }
.pagar__form input:focus{ outline:2px solid #000; outline-offset:1px; }
.pagar__btn-cartao{ width:100%; justify-content:center; padding:14px 24px; }
.pagar__btn-cartao[disabled]{ opacity:.55; pointer-events:none; }
.pagar__cartao-msg{ margin:10px 0 0; font-size:13px; min-height:1.4em; text-align:center; color:var(--felt); }
.pagar__cartao-msg.erro{ color:#b42318; }
.pagar__ajuda{ margin:20px 0 0; font-size:13px; text-align:center; color:var(--felt); }
.pagar__ajuda a{ text-decoration:underline; text-underline-offset:3px; color:#000; }

@media (max-width:899px){
  .plan-grid{ grid-template-columns:1fr; }
  .demo-cta{ grid-template-columns:1fr; margin-top:72px; }
}
@media (max-width:520px){
  .checkout__box{ padding:38px 22px 26px; }
  .pagar__box{ padding:32px 22px 28px; }
  .pagar__valor{ font-size:40px; }
}
.demo-cta--sem-video{ align-items:end; padding-top:56px; border-top:1px solid var(--line); }
@media (min-width:900px){ .demo-cta--sem-video{ grid-template-columns:6fr 6fr; } }
.demo-cta--sem-video p{ margin-top:0; }
