/* =========================================================
   PANDO — páginas internas: /lancamento/ e /agendar/
   Complementa styles.css (mesmos tokens :root).
   ========================================================= */

.page-sub .main-nav a[aria-current="page"]:not(.nav-cta){color:var(--cream)}
.page-sub .main-nav a[aria-current="page"]:not(.nav-cta)::after{width:100%}
.opt{font-weight:400;color:var(--muted)}
/* classe com display:flex/grid anula o atributo hidden — ele sempre vence aqui */
[hidden]{display:none!important}
/* .btn--ghost nasceu para <a>; em <button> sobraria o fundo cinza do navegador */
button.btn{font-family:inherit;cursor:pointer}
button.btn--ghost{background:transparent}

/* entrada suave */
.rise{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rise.in{opacity:1;transform:none}

/* =========================================================
   AGENDAR
   ========================================================= */
.booking{position:relative;padding:clamp(120px,14vw,160px) 0 clamp(70px,9vw,110px);min-height:100dvh;overflow:hidden}
.booking-glow{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(46% 40% at 78% 8%,rgba(61,123,255,.14),transparent 62%),radial-gradient(30% 30% at 8% 70%,rgba(61,123,255,.05),transparent 60%)}
.booking-grid{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,64px);align-items:start}

.booking-title{font-size:clamp(2.1rem,4.6vw,3.4rem);margin-bottom:18px;max-width:14ch}
.booking-title em{color:var(--blue);font-style:italic;text-shadow:0 0 30px var(--blue-glow)}
.booking-lead{color:var(--muted);font-size:clamp(1rem,1.5vw,1.1rem);max-width:44ch;margin-bottom:28px}
.booking-facts{display:flex;flex-direction:column;gap:12px;margin-bottom:32px}
.booking-facts li{display:flex;align-items:center;gap:12px;font-weight:500;color:rgba(242,239,230,.9)}
.booking-facts svg{width:22px;height:22px;color:var(--blue);flex:none}

.plan-pick-label{font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.plan-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.chip{font:500 .9rem var(--f-body);color:rgba(242,239,230,.8);background:transparent;border:1.5px solid var(--line);
  padding:.6em 1.1em;border-radius:100px;cursor:pointer;transition:border-color .25s,background .25s,color .25s}
.chip:hover{border-color:rgba(242,239,230,.4);color:var(--cream)}
.chip.on{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 10px 26px -12px var(--blue-glow)}
.plan-compare{font-size:.9rem;color:var(--blue);font-weight:600}
.plan-compare:hover{text-decoration:underline}

.scheduler{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:22px;
  padding:clamp(20px,3.2vw,34px);box-shadow:0 50px 100px -50px rgba(0,0,0,.9),0 0 80px -40px var(--blue-glow);scroll-margin-top:100px}
.scheduler.is-busy .sch-step{opacity:.45;pointer-events:none}
.sch-step{transition:opacity .25s}

.cal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.cal-month{font-size:1.3rem;text-transform:capitalize;margin:0}
.cal-nav{width:42px;height:42px;border-radius:12px;border:1.5px solid var(--line);background:transparent;color:var(--cream);
  font-size:1.4rem;line-height:1;cursor:pointer;transition:border-color .25s,background .25s}
.cal-nav:hover:not(:disabled){border-color:var(--blue);background:rgba(61,123,255,.08)}
.cal-nav:disabled{opacity:.25;cursor:default}
.cal-week,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal-week{margin-bottom:8px}
.cal-week span{text-align:center;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cal-day{aspect-ratio:1;border-radius:12px;border:1.5px solid transparent;background:transparent;color:rgba(242,239,230,.28);
  font:600 .98rem var(--f-body);cursor:default;position:relative}
.cal-day.has{background:var(--panel-2);border-color:var(--line);color:var(--cream);cursor:pointer;transition:border-color .2s,background .2s,transform .2s var(--ease)}
.cal-day.has::after{content:"";position:absolute;left:50%;bottom:7px;width:5px;height:5px;border-radius:50%;background:var(--blue);transform:translateX(-50%)}
.cal-day.has:hover{border-color:var(--blue);transform:translateY(-1px)}
.cal-day.is-today{box-shadow:inset 0 0 0 1.5px rgba(242,239,230,.25)}
.cal-day.on{background:var(--blue);border-color:var(--blue);color:#fff}
.cal-day.on::after{background:#fff}
.cal-empty{margin-top:14px;color:var(--muted);font-size:.92rem}

.slots{margin-top:24px;padding-top:22px;border-top:1px solid var(--line);scroll-margin-top:100px}
.slots-title{font-weight:700;margin-bottom:14px}
.slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}
.slot{font:600 .98rem var(--f-body);color:var(--cream);background:transparent;border:1.5px solid rgba(61,123,255,.45);
  border-radius:12px;padding:.8em 0;cursor:pointer;transition:background .2s,border-color .2s,transform .2s var(--ease)}
.slot:hover{background:var(--blue);border-color:var(--blue);color:#fff;transform:translateY(-1px)}
.slots-wait{grid-column:1/-1;color:var(--muted);font-size:.92rem}
.sch-toast{background:rgba(61,123,255,.12);border:1px solid rgba(61,123,255,.4);border-radius:12px;padding:12px 14px;margin-bottom:16px;font-size:.92rem}

/* formulário */
.sch-back{background:none;border:0;color:var(--muted);font:500 .9rem var(--f-body);cursor:pointer;padding:0;margin-bottom:14px}
.sch-back:hover{color:var(--cream)}
.sch-picked{font-size:1.05rem;margin-bottom:22px;padding:14px 16px;border-radius:14px;background:rgba(61,123,255,.08);border:1px solid rgba(61,123,255,.3)}
.sch-picked b{color:var(--blue)}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;flex:1;min-width:0}
.field-row{display:flex;gap:14px}
.field label{font-size:.86rem;font-weight:600;color:rgba(242,239,230,.88)}
.field input,.field textarea,.cancel-box textarea{
  font:500 1rem var(--f-body);color:var(--cream);background:var(--bg);border:1.5px solid var(--line);
  border-radius:12px;padding:.85em 1em;width:100%;transition:border-color .2s,box-shadow .2s}
.field textarea,.cancel-box textarea{resize:vertical}
.field input:focus,.field textarea:focus,.cancel-box textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(61,123,255,.18)}
.field.bad input{border-color:var(--blue)}
.err{color:var(--blue);font-size:.8rem;min-height:0}
.err:empty{display:none}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:.88rem;color:rgba(242,239,230,.8);margin:6px 0 8px;cursor:pointer}
.consent input{width:20px;height:20px;accent-color:var(--blue);flex:none;margin-top:1px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-error{background:rgba(61,123,255,.12);border:1px solid rgba(61,123,255,.4);border-radius:12px;padding:12px 14px;margin:10px 0 0;font-size:.92rem}
.sch-submit{width:100%;justify-content:center;margin-top:18px}
.sch-submit:disabled{opacity:.6;cursor:wait}

/* confirmado */
.sch-done{text-align:center;padding-block:12px}
.done-ic{width:64px;height:64px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;box-shadow:0 0 40px -6px var(--blue-glow)}
.done-ic svg{width:32px;height:32px}
.is-cancelled .done-ic{background:var(--panel-2);color:var(--muted);box-shadow:none;border:1.5px solid var(--line)}
.is-cancelled .done-ic svg path{d:path("M7 7l10 10M17 7L7 17")}
.done-title{font-size:clamp(1.6rem,3vw,2.1rem);margin-bottom:12px}
.done-when{font-size:1.1rem;font-weight:600;color:var(--blue);margin-bottom:6px}
.is-cancelled .done-when{color:var(--muted);text-decoration:line-through}
.done-place{color:var(--muted);margin-bottom:24px}
.done-actions,.manage,.cancel-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.done-note{color:var(--muted);font-size:.9rem;margin-top:22px;max-width:40ch;margin-inline:auto}
.done-note a{color:var(--blue);font-weight:600}
.manage{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
.btn--danger:hover{border-color:var(--blue);color:var(--blue)}
.cancel-box{margin-top:22px;padding-top:22px;border-top:1px solid var(--line);text-align:left}
.cancel-box label{display:block;font-size:.88rem;font-weight:600;margin-bottom:8px}
.cancel-actions{justify-content:flex-end;margin-top:12px}

.sch-loading{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.sch-loading span{width:34px;height:34px;border-radius:50%;border:3px solid rgba(61,123,255,.25);border-top-color:var(--blue);animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.sch-fatal{color:var(--cream);font-size:1rem}
.sch-fatal a{color:var(--blue);font-weight:600}

/* =========================================================
   LANÇAMENTO DE PRODUTO
   ========================================================= */
.lx-hero{position:relative;padding:clamp(140px,16vw,190px) 0 clamp(60px,8vw,90px);overflow:hidden;text-align:center}
/* vídeo de fundo do topo (anéis dourados, loop de 6,8s sem emenda). Crédito CC BY no rodapé. */
.lx-bg{position:absolute;inset:0;z-index:0;pointer-events:none;
  background:var(--bg) url("/assets/img/lancamento-bg-poster.jpg") center / cover no-repeat;
  -webkit-mask-image:linear-gradient(180deg,#000 0,#000 72%,transparent 100%);
  mask-image:linear-gradient(180deg,#000 0,#000 72%,transparent 100%)}
.lx-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s var(--ease)}
.lx-bg video.on{opacity:1}
/* véu: o título (e o "ser visto" em azul) tem que ganhar do azul-marinho do vídeo */
.lx-bg::after{content:"";position:absolute;inset:0;
  background:
    radial-gradient(58% 52% at 50% 46%,rgba(12,10,8,.74),rgba(12,10,8,.42) 68%,rgba(12,10,8,.18) 100%),
    linear-gradient(180deg,rgba(12,10,8,.55) 0,rgba(12,10,8,.12) 28%,rgba(12,10,8,.2) 72%,var(--bg) 100%)}
.lx-hero .hero-glow{z-index:0}
.lx-hero .shell{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}
.lx-hero .kicker{justify-content:center}
.lx-badge{display:inline-block;background:var(--blue);color:#fff;font-size:.66rem;letter-spacing:.2em;padding:.35em .8em;border-radius:100px;margin-right:4px}
.lx-title{font-size:clamp(2.5rem,6.4vw,5rem);max-width:17ch;margin-bottom:24px}
.lx-title em{color:var(--blue);font-style:italic;text-shadow:0 0 34px var(--blue-glow)}
.lx-lead{font-size:clamp(1.02rem,1.8vw,1.22rem);color:var(--muted);max-width:58ch;margin-bottom:34px}
.lx-lead strong{color:var(--cream);font-weight:600}
.lx-actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}

/* o que vem no pacote */
.lx-pack{padding-block:clamp(60px,9vw,110px)}
.pack-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:clamp(34px,5vw,50px)}
.pack-item{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,2.6vw,30px);
  display:flex;flex-direction:column;gap:10px;transition:transform .35s var(--ease),border-color .35s}
.pack-item:hover{transform:translateY(-4px);border-color:rgba(61,123,255,.4)}
.pack-num{font:900 clamp(2.6rem,4.4vw,3.4rem)/1 var(--f-display);color:var(--blue);letter-spacing:-.03em}
.pack-item h3{font-size:1.12rem}
.pack-item p{font-size:.92rem;color:var(--muted)}
.pack-item--ads{background:linear-gradient(160deg,var(--panel),color-mix(in srgb,var(--blue) 14%,var(--panel)));border-color:color-mix(in srgb,var(--blue) 45%,transparent)}
.pack-item--ads .pack-num{font-size:clamp(1.7rem,2.6vw,2.1rem);letter-spacing:-.01em;padding-block:.35em}

/* planos */
.lx-plans{position:relative;padding-block:clamp(70px,10vw,120px);overflow:hidden}
.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:clamp(36px,5vw,54px);align-items:stretch}
.plan{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:clamp(24px,3vw,34px);
  display:flex;flex-direction:column;transition:transform .35s var(--ease),border-color .35s,box-shadow .35s}
.plan:hover{transform:translateY(-5px);border-color:rgba(61,123,255,.45);box-shadow:0 40px 80px -50px var(--blue-glow)}
.plan-tag{align-self:flex-start;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--blue);border:1.5px solid rgba(61,123,255,.45);border-radius:100px;padding:.45em .95em;margin-bottom:22px}
.plan h3{font-size:clamp(1.4rem,2.4vw,1.75rem);margin-bottom:10px}
.plan-for{color:var(--muted);font-size:.95rem;margin-bottom:24px;min-height:3.2em}
.plan-list{display:flex;flex-direction:column;gap:12px;margin-bottom:28px;flex:1}
.plan-list li{display:flex;gap:12px;align-items:flex-start;font-size:.95rem;color:rgba(242,239,230,.9);line-height:1.45}
.plan-list li::before{content:"";flex:none;width:18px;height:18px;margin-top:2px;border-radius:50%;
  background:rgba(61,123,255,.16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%233D7BFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.plan-list li.plus::before{background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 6v12M6 12h12' stroke='%23fff' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") center/11px no-repeat}
.plan-list small{display:block;color:var(--muted);font-size:.82rem;margin-top:2px}
.plan-price{padding-top:20px;border-top:1px solid var(--line);margin-bottom:20px}
.plan-price b{display:block;font:800 1.05rem var(--f-display)}
.plan-price span{color:var(--muted);font-size:.86rem}
.plan .btn{justify-content:center}
.plan--mid{border-color:color-mix(in srgb,var(--blue) 45%,transparent);
  background:linear-gradient(170deg,color-mix(in srgb,var(--blue) 10%,var(--panel)),var(--panel) 60%)}

/* como funciona (reaproveita .steps do styles.css) */
.lx-process{padding-block:clamp(60px,9vw,110px);border-top:1px solid var(--line)}

/* perguntas */
.lx-faq{padding-block:clamp(60px,9vw,110px)}
.faq{max-width:820px;margin-top:clamp(30px,4vw,44px);border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:18px;
  padding:22px 0;font:700 clamp(1.02rem,1.8vw,1.18rem) var(--f-display)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 1.6rem/1 var(--f-body);color:var(--blue);transition:transform .3s var(--ease);flex:none}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--muted);padding:0 0 24px;max-width:66ch}

/* faixa de lançamento na HOME */
.launch-band{position:relative;padding-block:clamp(70px,10vw,120px);overflow:hidden}
.launch-card{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,4vw,50px);align-items:center;
  background:linear-gradient(150deg,var(--panel),color-mix(in srgb,var(--blue) 16%,var(--panel)));
  border:1px solid color-mix(in srgb,var(--blue) 45%,transparent);border-radius:26px;padding:clamp(28px,5vw,60px);
  box-shadow:0 40px 90px -50px var(--blue-glow)}
.launch-card .section-title{font-size:clamp(2rem,4.4vw,3.2rem)}
.launch-list{display:flex;flex-direction:column;gap:12px}
.launch-list li{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:14px;background:rgba(12,10,8,.45);border:1px solid var(--line);font-weight:500}
.launch-list b{font:900 1.5rem/1 var(--f-display);color:var(--blue);min-width:2ch}
.launch-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}

/* =========================================================
   RESPONSIVO
   ========================================================= */
@media (max-width:1000px){
  .pack-grid{grid-template-columns:repeat(2,1fr)}
  .plans-grid{grid-template-columns:1fr;max-width:560px}
  .plan-for{min-height:0}
  .launch-card{grid-template-columns:1fr}
}
@media (max-width:860px){
  .booking-grid{grid-template-columns:1fr}
  .booking-title{max-width:none}
}
@media (max-width:560px){
  .field-row{flex-direction:column;gap:0}
  .pack-grid{grid-template-columns:1fr}
  .cal-week,.cal-grid{gap:4px}
  .cal-day{border-radius:10px;font-size:.92rem}
  .lx-actions .btn,.launch-actions .btn{flex:1;justify-content:center}
  .done-actions .btn{flex:1;justify-content:center}
}
