/* Site público: componentes de página (cabeçalho móvel, cartões, catálogo, formulários, página do produto, rodapé). */
.menu{display:flex;align-items:center;gap:22px}
.menu a{text-decoration:none;color:var(--muted);font-weight:500;font-size:.95rem}
.menu a:hover{color:var(--fg)}
.menu .btn{color:#fff}
.burger{display:none;background:none;border:1px solid var(--line);color:var(--fg);width:46px;height:46px;border-radius:10px;cursor:pointer;place-items:center}
@media (max-width:820px){
  .burger{display:grid}
  .menu{position:absolute;left:0;right:0;top:100%;background:#071026;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 20px;display:none}
  .menu.open{display:flex}
  .menu a{padding:14px 4px;border-bottom:1px solid rgba(27,42,82,.6)}
  .menu .btn{margin-top:14px;border-bottom:0;text-align:center}
}
.site-header{position:relative}
.sec{padding-block:clamp(48px,8vw,88px)}
.sec-tight{padding-block:clamp(28px,5vw,52px)}
.sec-head{display:grid;gap:10px;margin-bottom:30px}
.sec-more{margin-top:26px}
.band{background:linear-gradient(180deg,transparent,var(--bg-2) 20%,var(--bg-2) 80%,transparent)}
.hero-sm{padding-block:clamp(40px,6vw,72px)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr}}
.hero em{font-style:normal;background:linear-gradient(90deg,#fff,#9FC1FF);-webkit-background-clip:text;background-clip:text;color:transparent}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.cta-center{justify-content:center}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.pill{font-size:.86rem;color:var(--silver);border:1px solid #2B3C6E;background:rgba(255,255,255,.03);border-radius:99px;padding:6px 14px}
.emblem{position:relative;display:grid;place-items:center;aspect-ratio:1;max-width:380px;width:100%;margin-inline:auto}
.emblem::before{content:"";position:absolute;inset:6%;border-radius:50%;background:radial-gradient(closest-side,rgba(47,123,255,.45),transparent 72%)}
.emblem .ring{position:absolute;inset:2%;border-radius:50%;border:1px dashed rgba(143,173,230,.2)}
.emblem img{position:relative;width:62%;height:auto;filter:drop-shadow(0 20px 40px rgba(0,0,0,.6))}
.wrap-narrow{max-width:820px}
.btn-sm{padding:10px 18px;min-height:42px;font-size:.92rem;border-radius:10px}
.vazio{border:1px dashed #2B4388;border-radius:var(--radius-lg);padding:34px 20px;text-align:center;display:grid;gap:14px;justify-items:center;color:var(--muted)}

.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:18px}
.pcard{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:border-color .15s,transform .15s}
.pcard:hover{border-color:#2F7BFF;transform:translateY(-3px)}
.pcard-vis{display:grid;place-items:center;height:170px;background:linear-gradient(135deg,#0E2150,#050B1D);overflow:hidden}
.pcard-vis img{width:100%;height:100%;object-fit:cover}
.pcard-vis img.pcard-logo{width:auto;height:72px;max-width:70%;object-fit:contain}
.pcard-body{padding:18px;display:flex;flex-direction:column;gap:10px;flex:1}
.pcard-body p{color:var(--muted);font-size:.94rem;flex:1}
.pcard-body h3 a{text-decoration:none}
.pcard-top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.pcard-cat{font-size:.78rem;color:var(--muted)}
.pcard-price{color:var(--fg)!important;flex:0!important}
.pcard-more{font-weight:700;font-size:.92rem;color:#8DB8FF;text-decoration:none}
.badge.off{color:var(--muted);background:rgba(255,255,255,.04);border:1px solid #2B3C6E}
.badge i{width:7px;height:7px;border-radius:50%;background:currentColor;display:block}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{display:inline-flex;gap:8px;align-items:center;text-decoration:none;border:1px solid #2B3C6E;border-radius:99px;padding:8px 16px;color:var(--silver);background:rgba(255,255,255,.03)}
.chip small{color:var(--muted)}
.chip:hover{border-color:var(--blue)}
.trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px}
.trio-i{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.trio-i p{color:var(--muted);margin-top:6px;font-size:.95rem}
.final{text-align:center;background:linear-gradient(135deg,#1D5BE6 0%,#0A1A44 70%);border-radius:24px;padding:clamp(32px,6vw,60px) clamp(20px,4vw,48px);border:1px solid #2B4388}
.final h2{max-width:22ch;margin-inline:auto}
.final p{color:#CFE0FF;margin:14px auto 0;max-width:54ch}
.final .btn-primary{background:#fff;color:#0A1A44;box-shadow:none}

/* catálogo */
.filtros{display:flex;flex-wrap:wrap;gap:14px;align-items:end;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:22px}
.filtros>div{flex:1 1 180px;min-width:0}
.filtros .f-busca{flex:2 1 260px}
.filtros label{margin-top:0}
.count{color:var(--muted);margin-bottom:16px;font-size:.92rem}

/* formulários públicos */
label{display:block;font-weight:600;font-size:.92rem;margin:16px 0 6px}
input[type=text],input[type=email],input[type=tel],input[type=search],input[type=url],select,textarea{width:100%;font:inherit;color:var(--fg);background:#07102A;border:1px solid #2B3C6E;border-radius:10px;padding:12px 14px;min-height:48px}
textarea{resize:vertical;min-height:110px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue)}
.form fieldset{border:1px solid var(--line);border-radius:var(--radius-lg);padding:6px 20px 20px;margin:0 0 20px;background:rgba(255,255,255,.015)}
.form legend{font-family:var(--font-d);font-weight:600;padding:0 8px;color:#CFE0FF}
.f2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
@media (max-width:640px){.f2{grid-template-columns:1fr}}
.chk{display:flex;gap:10px;align-items:flex-start;font-weight:500;margin:18px 0}
.chk input{width:20px;height:20px;margin-top:3px;flex:none}
.chk a,.note a{color:#8DB8FF}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.note{color:var(--muted);font-size:.86rem;margin-top:14px}
.msg-box{border-radius:10px;padding:12px 16px;margin-bottom:20px;font-size:.95rem}
.msg-erro{background:rgba(255,138,122,.1);border:1px solid rgba(255,138,122,.4);color:#FFC2B8}
.msg-box ul{margin:8px 0 0;padding-left:20px}
.protocolo{margin-top:16px;color:var(--muted)}.protocolo b{color:var(--gold-2);letter-spacing:.1em}

/* página do produto */
.crumb{font-size:.85rem;color:var(--muted);margin-bottom:12px}.crumb a{text-decoration:none}.crumb a:hover{color:var(--fg)}
.prod-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
@media (max-width:860px){.prod-hero-grid{grid-template-columns:1fr}}
.prod-title{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.prod-logo{background:#fff;border-radius:10px;padding:6px;max-width:160px;object-fit:contain}
.prod-cover img{width:100%;height:auto;border-radius:var(--radius-lg);border:1px solid #2B4388;box-shadow:0 30px 60px -30px rgba(0,0,0,.85)}
.prose p{color:var(--muted);margin-top:14px;max-width:72ch;font-size:1.04rem}
.prose h2{margin-top:30px}.prose h2:first-child{margin-top:0}
.rascunho{border:1px dashed var(--gold);border-radius:10px;padding:12px 16px;color:#F3DC9B!important;background:rgba(201,162,75,.08)}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:14px;margin-top:18px}
.fcard{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.fcard h3{color:#CFE0FF;margin-bottom:10px;font-size:1.05rem}
.fcard ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.fcard li{padding-left:18px;position:relative}
.fcard li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;border-radius:2px;background:var(--blue)}
.fcard li span{display:block;color:var(--muted);font-size:.9rem}
/* carrossel de imagens do produto: uma imagem por vez, em tamanho grande */
.car{margin-top:18px;outline:none}
.car:focus-visible{outline:2px solid var(--blue);outline-offset:6px;border-radius:var(--radius-lg)}
.car-stage{position:relative;display:flex;align-items:center;gap:10px}
.car-track{flex:1;min-width:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;border-radius:var(--radius-lg)}
.car-track::-webkit-scrollbar{display:none}
.car-slide{flex:0 0 100%;scroll-snap-align:center;scroll-snap-stop:always;margin:0;min-width:0}
.car-slide img{display:block;width:100%;height:auto;aspect-ratio:1568/775;max-height:80vh;object-fit:contain;background:#050B1D;border:1px solid #2B4388;border-radius:var(--radius-lg);box-shadow:0 24px 50px -28px rgba(0,0,0,.9)}
.car-slide figcaption{color:var(--silver);font-size:1rem;margin-top:12px;text-align:center}
.car-btn{flex:none;width:52px;height:52px;border-radius:50%;border:1px solid #2B4388;background:rgba(10,21,48,.92);color:var(--fg);cursor:pointer;display:grid;place-items:center;transition:background .15s,transform .15s}
.car-btn:hover{background:var(--blue-2)}
.car-btn:disabled{opacity:.35;cursor:default}
.car-btn:disabled:hover{background:rgba(10,21,48,.92)}
@media (max-width:700px){
  .car-stage{gap:0}
  .car-btn{position:absolute;top:calc(50% - 40px);z-index:2;width:44px;height:44px}
  .car-prev{left:6px}.car-next{right:6px}
}
.car-count{text-align:center;color:var(--muted);font-size:.9rem;margin-top:12px}
.car-thumbs{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.car-thumb{padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;cursor:pointer;background:#050B1D;opacity:.6;line-height:0;transition:opacity .15s,border-color .15s}
.car-thumb img{width:112px;height:56px;object-fit:cover;display:block}
.car-thumb:hover{opacity:1}
.car-thumb[aria-current="true"]{border-color:var(--blue);opacity:1}
@media (max-width:700px){.car-thumb img{width:76px;height:38px}}
.gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;margin-top:18px}
.gal figure{margin:0}
.gal img{width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--line)}
.gal figcaption{color:var(--muted);font-size:.85rem;margin-top:8px}
.demo{display:inline-block;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(201,162,75,.4);border-radius:99px;padding:2px 9px;margin-left:6px}
.plans-cta{margin-top:20px}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;margin-top:18px}
.plan{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:10px}
.plan-rec{border-color:var(--blue);box-shadow:0 0 0 1px rgba(47,123,255,.4) inset}
.plan-tag{position:absolute;top:-12px;left:20px;background:var(--blue-2);color:#fff;font-size:.74rem;font-weight:700;padding:3px 12px;border-radius:99px}
.plan-price b{font-family:var(--font-d);font-size:2rem}.plan-price small{color:var(--muted)}
.plan-desc{color:var(--muted);font-size:.93rem}
.plan ul{margin:0;padding:0;list-style:none;display:grid;gap:6px;flex:1;color:var(--muted);font-size:.93rem}
.plan li::before{content:"✓ ";color:var(--ok)}

/* rodapé */
.site-footer{margin-top:0}
.foot{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:28px}
@media (max-width:760px){.foot{grid-template-columns:1fr}}
.foot-h{font-family:var(--font-d);color:var(--fg);margin:0 0 10px;font-weight:600;font-size:1rem}
.foot a{display:block;text-decoration:none;padding:4px 0;color:var(--muted)}
.foot a:hover{color:var(--fg)}
.foot .brand{display:flex;padding:0;color:var(--fg)}
.foot-note{margin-top:12px;max-width:34ch}
/* ícones de contato */
.ico{flex:none;display:inline-block;vertical-align:-.2em}
.btn .ico{width:20px;height:20px}
.foot a.foot-contact{display:flex;align-items:center;gap:12px;padding:8px 0;min-height:40px;overflow-wrap:anywhere}
.foot-contact .ico{color:#8DB8FF;transition:color .15s}
.foot-contact:hover .ico-whatsapp{color:#25D366}
.foot-contact:hover .ico-instagram{color:#E1306C}
.foot-contact:hover .ico-tiktok{color:#69C9D0}
.foot-contact:hover .ico-email{color:var(--gold-2)}
.contato-linha{display:flex;flex-wrap:wrap;gap:12px 24px}
.contato-linha a,.link-ico{display:inline-flex;align-items:center;gap:8px;color:#8DB8FF;text-decoration:none;font-weight:600}
.contato-linha a:hover,.link-ico:hover{text-decoration:underline}
.prose .contato-linha{margin-top:8px}
.copy{margin-top:26px;padding-top:18px;border-top:1px solid var(--line);font-size:.84rem}

/* ---- Acessibilidade e extras ---- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.field-err{color:var(--danger);font-size:.9rem;margin:6px 0 0}
.form [aria-invalid="true"]{border-color:var(--danger)!important}
.msg-erro:focus{outline:2px solid var(--gold-2);outline-offset:3px}
.msg-erro a{color:inherit;font-weight:700}
.note-interest{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px;margin:0 0 18px}
.foot-contact,.site-footer .foot a,.pcard-more{display:inline-flex;align-items:center;min-height:44px}
.site-footer .foot a{display:flex}

/* ---- Botão flutuante do WhatsApp ---- */
.wa-float{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:40;display:inline-flex;align-items:center;gap:10px;min-height:52px;min-width:52px;padding:0 16px;border-radius:999px;background:#1FAF5A;color:#fff;text-decoration:none;font-weight:700;box-shadow:0 8px 24px rgba(0,0,0,.4);justify-content:center}
.wa-float:hover{background:#18964C}
.wa-float:focus-visible{outline:3px solid var(--gold-2);outline-offset:3px}
.wa-float svg{flex:none}
@media (max-width:720px){.wa-float span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.wa-float{padding:0;width:56px;height:56px}}

/* ---- Como funciona e perguntas frequentes ---- */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:var(--gap)}
.step{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px}
.step-n{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--blue-2));color:#fff;font-family:var(--font-d);font-weight:700;margin-bottom:10px}
.step h3{margin:0 0 6px}.step p{margin:0;color:var(--muted)}
.faq{display:grid;gap:10px}
.faq-i{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:0 18px}
.faq-i summary{cursor:pointer;min-height:48px;display:flex;align-items:center;font-weight:700;list-style:none}
.faq-i summary::-webkit-details-marker{display:none}
.faq-i summary::after{content:"+";margin-left:auto;font-size:1.4rem;color:var(--gold-2)}
.faq-i[open] summary::after{content:"\2212"}
.faq-i p{margin:0 0 16px;color:var(--muted)}

/* ---- Ampliar imagens ---- */
.car-slide{position:relative}
.car-zoom{position:absolute;right:12px;bottom:12px;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:rgba(5,11,29,.8);color:var(--fg);display:grid;place-items:center;cursor:pointer}
.car-zoom:hover{border-color:var(--blue)}
.lb{position:fixed;inset:0;z-index:100;background:rgba(2,6,16,.94);display:flex;align-items:center;justify-content:center;padding:56px 56px}
.lb[hidden]{display:none}
.lb figure{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;gap:10px}
.lb img{max-width:100%;max-height:calc(100vh - 140px);object-fit:contain;border-radius:8px}
.lb figcaption{color:var(--muted);font-size:.95rem;text-align:center}
.lb button{position:absolute;background:rgba(10,21,48,.9);border:1px solid var(--line);color:#fff;width:48px;height:48px;border-radius:50%;font-size:2rem;line-height:1;cursor:pointer}
.lb .lb-x{top:12px;right:12px}.lb .lb-prev{left:8px;top:50%;margin-top:-24px}.lb .lb-next{right:8px;top:50%;margin-top:-24px}
.lb button:focus-visible{outline:3px solid var(--gold-2)}
body.lb-aberto{overflow:hidden}
