/* ==========================================================================
   Dafnis Treinamentos — estilos da loja
   Portado do protótipo "Dafnis Treinamentos — Loja NR" (Claude Design):
   mesmos tokens, tipografia, raios, sombras e animações. As consultas de
   contêiner do protótipo viraram media queries (1180 / 940 / 760 px).
   ========================================================================== */

:root{--navy:#0B2545;--navy-2:#16335E;--navy-deep:#071A33;--blue:#1F5FD6;--blue-dk:#174BB0;--blue-tint:#EAF1FD;--gold:#D5A13B;--gold-ink:#1F1604;--green:#15803D;--green-dk:#0F6A32;--green-tint:#E6F5EC;--red:#B42318;--red-tint:#FDECEC;--ink:#0E1726;--text:#2B3445;--muted:#566074;--line:#E2E7EE;--line-2:#EEF1F5;--gray:#F5F7FA;--bg:#ffffff;--surface:#fff;--surface-2:#FAFBFD;--line-strong:#CBD4E1;--navy-ink:#0B2545;--blue-press:#174BB0;--green-press:#0F6A32;--hdr-bg:rgba(255,255,255,.97);--toast-bg:#0E1726;--shadow:0 1px 2px rgba(11,37,69,.05),0 4px 14px rgba(11,37,69,.05);--shadow-h:0 2px 6px rgba(11,37,69,.05),0 14px 34px rgba(11,37,69,.09);--display:'Schibsted Grotesk',system-ui,sans-serif;--sans:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;--mono:'IBM Plex Mono',ui-monospace,monospace}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:96px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);font-family:var(--sans);font-size:16px;line-height:1.55;color:var(--text);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--blue-dk)}a:hover{color:var(--navy-ink)}
button{font:inherit;color:inherit;cursor:pointer}
input,select,textarea{font:inherit}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--display);color:var(--ink);margin:0;letter-spacing:-.015em;line-height:1.15;text-wrap:balance}
p{margin:0;text-wrap:pretty}
ul,ol{margin:0;padding:0;list-style:none}
fieldset{margin:0;padding:0;border:0;min-width:0}
:focus-visible{outline:3px solid rgba(31,95,214,.4);outline-offset:2px;border-radius:8px}
.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}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;padding:10px 16px;border-radius:0 0 10px 0;z-index:200;font-weight:600;text-decoration:none}
.skip-link:focus{left:0;color:#fff}
.wrap{max-width:1240px;margin:0 auto;padding:0 40px}
.is-wide .wrap{max-width:1440px} /* catálogo: 4 cursos por linha ao lado dos filtros */
.ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.ic-sm{width:16px;height:16px}
.mono{font-family:var(--mono)}
.kicker{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-dk)}
.muted{color:var(--muted)}
[hidden]{display:none !important}
.screen{animation:screenIn .35s ease}
@keyframes screenIn{from{opacity:0}to{opacity:1}}
@keyframes fadeUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes drop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@keyframes bump{0%{transform:scale(1)}35%{transform:scale(1.28)}100%{transform:scale(1)}}
@keyframes shimmer{from{background-position:200% 0}to{background-position:-200% 0}}
@keyframes slideIn{from{transform:translateX(100%)}to{transform:none}}
@keyframes sheetUp{from{transform:translateY(100%)}to{transform:none}}
@keyframes toastIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@keyframes spin{to{transform:rotate(360deg)}}
@supports (animation-timeline: view()){.reveal{animation:reveal linear both;animation-timeline:view();animation-range:entry 0% entry 38%}}
@keyframes reveal{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@media print{.reveal{animation:none !important;opacity:1 !important;transform:none !important}.hdr,.demobar,.m-buybar,.toasts{display:none !important}}
@media (prefers-reduced-motion: reduce){*,*::before{animation:none !important;transition:none !important}html{scroll-behavior:auto}}

/* Componentes que o protótipo fazia com <button> e aqui são links */
.btn,.nav-link,.logo,.cat,.mega-item,.chip,.crumb,.ftr-link,.d-link,.text-link,.cover,.social,.achip,.link-btn,.icon-btn,.card-title a,.cart-info h3 a,.f-clear,.acc-nav a,.mod-q,.pager a{text-decoration:none}

/* demo bar → aviso da loja */
.demobar{background:var(--navy-deep);color:#C9D4E5;font-size:12.5px;line-height:1.4;padding:8px 16px;display:flex;justify-content:center;align-items:center;gap:8px;text-align:center}
.demobar strong{color:#fff;font-weight:600}
.demobar a{color:#fff}

/* header */
.hdr{position:sticky;top:0;z-index:40;background:var(--hdr-bg);backdrop-filter:saturate(1.4) blur(8px);-webkit-backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line);transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease}
.hdr.is-scrolled{border-bottom-color:transparent;box-shadow:0 1px 0 var(--line),0 10px 28px rgba(11,37,69,.08)}
.hdr-in{height:72px;display:flex;align-items:center;gap:20px}
.logo{display:flex;align-items:center;gap:10px;background:none;border:0;padding:0;text-align:left;flex-shrink:0;color:inherit}
.logo-mark{display:block;height:40px;flex-shrink:0}
.logo-mark img{display:block;width:auto;height:100%}
.logo-text{display:flex;flex-direction:column}
.logo-name{font-family:var(--display);font-weight:800;font-size:21px;color:var(--navy-ink);letter-spacing:-.02em;line-height:1}
.logo-sub{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:5px;line-height:1;white-space:nowrap}
.inv .logo-name{color:#fff}
.inv .logo-sub{color:#8FA3C0}
.nav{display:flex;gap:2px;flex:1;justify-content:center}
.nav-link{background:none;border:0;padding:8px 10px;border-radius:8px;font-size:14.5px;font-weight:500;color:var(--text);display:inline-flex;align-items:center;gap:4px;position:relative;transition:color .15s,background .15s;white-space:nowrap}
.nav-link:hover{color:var(--navy-ink);background:var(--gray)}
.nav-link.on{color:var(--navy-ink);font-weight:600}
.nav-link.on::after{content:'';position:absolute;left:10px;right:10px;bottom:-17px;height:2px;background:var(--blue);border-radius:2px}
.nav-link .ic{transition:transform .2s}
.nav-link[aria-expanded="true"] .ic{transform:rotate(180deg)}
.hdr-actions{display:flex;align-items:center;gap:4px;margin-left:auto}
.icon-btn{width:44px;height:44px;border-radius:10px;border:0;background:none;display:grid;place-items:center;color:var(--ink);position:relative;transition:background .15s,color .15s}
.hdr-sep{width:1px;height:24px;background:var(--line);margin:0 6px;flex-shrink:0}
.icon-btn:hover{background:var(--gray);color:var(--ink)}
.cart-count{position:absolute;top:4px;right:2px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--gold);color:var(--gold-ink);font-size:11px;font-weight:700;display:grid;place-items:center;border:2px solid var(--bg);line-height:1}
.bump .cart-count,.bump .ic{animation:bump .45s ease}
.link-btn{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 12px;border:0;border-radius:10px;background:none;font-size:14.5px;font-weight:500;color:var(--ink);transition:background .15s;white-space:nowrap}
.link-btn:hover{background:var(--gray);color:var(--ink)}
.show-c{display:none}
/* Até 1320 px o "Ver cursos" (repete o link "Cursos") sai para caber "Minha conta" ao lado */
@media (max-width: 1320px){.hdr .hdr-cta{display:none}}

/* Home: cabeçalho transparente sobre a foto do topo até o visitante rolar (ou abrir o menu de NRs).
   Sem JavaScript ele fica sólido, como nas outras páginas. */
.hdr.is-clear{background:transparent;border-bottom-color:rgba(255,255,255,.14);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.hdr.is-clear .logo-name{color:#fff}
.hdr.is-clear .logo-sub{color:#A9BBD6}
.hdr.is-clear .nav-link{color:rgba(255,255,255,.84)}
.hdr.is-clear .nav-link.on,.hdr.is-clear .icon-btn,.hdr.is-clear .link-btn{color:#fff}
.hdr.is-clear .nav-link:hover,.hdr.is-clear .icon-btn:hover,.hdr.is-clear .link-btn:hover{background:rgba(255,255,255,.12);color:#fff}
.hdr.is-clear .nav-link.on::after{background:#E6C567}
.hdr.is-clear .hdr-sep{background:rgba(255,255,255,.24)}
.hdr.is-clear .cart-count{border-color:transparent}
.hdr.is-clear .hdr-cta{background:#fff;color:#0B2545}
.hdr.is-clear .hdr-cta:hover{background:#E6EDF7;color:#0B2545}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 20px;border-radius:10px;border:1px solid transparent;font-weight:600;font-size:15px;white-space:nowrap;transition:transform .15s ease,background .15s,box-shadow .15s,border-color .15s,color .15s;line-height:1.2}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0) scale(.98)}
.btn:disabled,.btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed;transform:none}
.btn-primary{background:var(--blue);color:#fff}
.btn-primary:hover{background:var(--blue-press);color:#fff;box-shadow:0 6px 16px rgba(31,95,214,.22)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-2);color:#fff}
.btn-buy{background:var(--green);color:#fff}
.btn-buy:hover{background:var(--green-press);color:#fff;box-shadow:0 6px 16px rgba(21,128,61,.22)}
.btn-outline{background:var(--surface);border-color:#C9D2DE;color:var(--ink)}
.btn-outline:hover{border-color:var(--navy-ink);color:var(--navy-ink)}
.btn-ghost{background:var(--gray);color:var(--navy-ink);border-color:var(--line)}
.btn-ghost:hover{background:#EBEFF5;color:var(--navy-ink)}
.btn-gold{background:var(--gold);color:var(--gold-ink)}
.btn-gold:hover{background:#E0B455;color:var(--gold-ink)}
.btn-line-w{background:transparent;border-color:rgba(255,255,255,.34);color:#fff}
.btn-line-w:hover{border-color:#fff;color:#fff}
.btn-danger{background:var(--surface);border-color:#F1C4C0;color:var(--red)}
.btn-danger:hover{background:var(--red-tint);border-color:var(--red);color:var(--red)}
.btn-sm{height:40px;padding:0 16px;font-size:14px}
.btn-xs{height:34px;padding:0 12px;font-size:13px;border-radius:8px}
.btn-lg{height:54px;padding:0 26px;font-size:16px}
.btn-block{width:100%}
.btn.is-loading{position:relative;color:transparent !important;pointer-events:none}
.btn.is-loading::after{content:'';position:absolute;width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;animation:spin .7s linear infinite}
.btn-outline.is-loading::after,.btn-ghost.is-loading::after{border-color:rgba(11,37,69,.2);border-top-color:var(--navy-ink)}
.text-link{background:none;border:0;padding:8px 0;font-weight:600;color:var(--blue-dk);display:inline-flex;align-items:center;gap:6px;font-size:15px}
.text-link:hover{color:var(--navy-ink)}
.text-link .ic{transition:transform .15s}
.text-link:hover .ic{transform:translateX(3px)}
.text-link.back:hover .ic{transform:translateX(-3px)}

/* NR mega menu */
.mega{position:absolute;left:0;right:0;top:100%;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 22px 40px rgba(11,37,69,.10);animation:drop .18s ease}
.mega-in{padding:28px 40px 32px;display:grid;grid-template-columns:260px minmax(0,1fr);gap:40px}
.mega-aside h3{font-size:20px;margin-top:8px}
.mega-aside p{font-size:14px;color:var(--muted);margin:8px 0 16px}
.mega-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 16px}
.mega-item{display:flex;gap:12px;align-items:center;background:none;border:0;padding:10px 12px;border-radius:8px;text-align:left;transition:background .15s;color:inherit}
.mega-item:hover{background:var(--gray);color:inherit}
.mega-item:hover .mega-code{background:var(--navy);color:#fff}
.mega-code{font-family:var(--mono);font-weight:600;color:var(--navy-ink);background:var(--blue-tint);font-size:12.5px;min-width:54px;height:28px;border-radius:6px;display:grid;place-items:center;transition:background .15s,color .15s;flex-shrink:0}
.mega-name{font-size:14px;color:var(--ink);line-height:1.3}
.mega-name small{display:block;color:var(--muted);font-size:12px}

/* hero: foto de fundo escurecida, texto no centro */
.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--navy-deep);color:#fff;text-align:center;display:flex;align-items:center;min-height:max(600px,calc(100vh - 72px));min-height:max(600px,calc(100svh - 72px));padding:clamp(56px,9vh,112px) 0 clamp(124px,17vh,188px)}
.js .has-hero .hero{margin-top:-73px;min-height:max(640px,100vh);min-height:max(640px,100svh);padding-top:calc(72px + clamp(32px,7vh,96px))}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;z-index:-3}
.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(7,26,51,.82) 0%,rgba(7,26,51,.6) 45%,rgba(7,26,51,.9) 100%)}
.hero .grid-bg{z-index:-1;-webkit-mask-image:radial-gradient(ellipse at center,#000 25%,transparent 75%);mask-image:radial-gradient(ellipse at center,#000 25%,transparent 75%)}
.hero-in{display:flex;flex-direction:column;align-items:center;max-width:960px;width:100%}
.hero .kicker{color:#E6C567}
.hero h1{font-size:clamp(38px,min(5vw,7.6vh),70px);line-height:1.04;letter-spacing:-.035em;font-weight:700;margin:clamp(14px,2.4vh,22px) 0 clamp(14px,2.6vh,24px);color:#fff;text-shadow:0 2px 24px rgba(7,26,51,.35)}
.hero h1 span{color:#8DB5FA}
.hero-sub{font-size:clamp(17px,2.4vh,20px);color:#D5DEEB;max-width:620px;line-height:1.5}
.hero-ctas{display:flex;gap:12px;margin-top:clamp(22px,4vh,38px);flex-wrap:wrap;justify-content:center}
.hero-points{display:flex;gap:10px 28px;margin-top:clamp(24px,4.6vh,48px);padding-top:clamp(16px,2.6vh,24px);border-top:1px solid rgba(255,255,255,.18);flex-wrap:wrap;justify-content:center}
.hero-point{display:flex;align-items:center;gap:8px;font-size:14.5px;color:#E3E9F2;font-weight:500}
.hero-point .ic{color:#6EE7A0}
.grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}
.hv-stripe{position:absolute;right:28px;bottom:28px;width:120px;height:8px;background:repeating-linear-gradient(-45deg,var(--gold) 0 8px,transparent 8px 16px)}

/* cartão de certificado (seção "Certificação") */

/* search panel */
.search-band{background:var(--gray);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0 0 64px}
.search-panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-h);padding:28px 32px 26px;margin-top:-76px;position:relative}
.search-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:16px}
.search-head h2{font-size:22px}
.search-head span{font-size:13.5px;color:var(--muted)}
.search-form{display:flex;gap:12px}
.search-field{flex:1;display:flex;align-items:center;gap:12px;height:62px;border:1.5px solid var(--line-strong);border-radius:12px;padding:0 18px;background:var(--surface);transition:border-color .15s,box-shadow .15s;min-width:0}
.search-field:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px rgba(31,95,214,.12)}
.search-field .ic{width:22px;height:22px;color:var(--muted)}
.search-field input{flex:1;border:0;outline:0;font:inherit;font-size:17px;color:var(--ink);background:transparent;min-width:0;height:100%}
.search-field input::placeholder{color:#6B7485}
.search-field input::-webkit-search-cancel-button{display:none}
.search-form .btn{height:62px;padding:0 34px;font-size:16px}
.quick{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:18px}
.quick-label{font-size:13px;color:var(--muted);margin-right:6px;white-space:nowrap}
.chip{height:34px;padding:0 11px;border-radius:8px;border:1px solid var(--line);background:var(--surface);font-family:var(--mono);font-size:12.5px;font-weight:600;color:var(--navy-ink);transition:border-color .15s,background .15s,color .15s;flex-shrink:0;white-space:nowrap;display:inline-flex;align-items:center}
.chip:hover{border-color:var(--blue);color:var(--blue-dk);background:var(--blue-tint)}

/* sections */
.sec{padding:100px 0}
.sec-gray{background:var(--gray)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:40px}
.sec-head h2{font-size:40px;letter-spacing:-.03em;margin-top:12px}
.sec-head p{color:var(--muted);margin-top:12px;max-width:560px;font-size:17px}

/* categories */
.cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.cat{background:var(--surface);border:1px solid var(--line);border-radius:16px;text-align:left;padding:28px 24px 24px;display:flex;flex-direction:column;gap:12px;min-height:228px;transition:transform .22s ease,box-shadow .22s ease,border-color .22s;color:inherit}
.cat:hover{transform:translateY(-3px);box-shadow:var(--shadow-h);border-color:var(--line-strong);color:inherit}
.cat-ic{width:48px;height:48px;border-radius:12px;background:var(--navy);color:#E6C567;display:grid;place-items:center;transition:background .2s,color .2s}
.cat-ic .ic{width:24px;height:24px}
.cat:hover .cat-ic{background:var(--blue);color:#fff}
.cat h3{font-size:18px;letter-spacing:-.01em}
.cat p{font-size:14px;color:var(--muted);line-height:1.5}
.cat-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;color:var(--navy-ink)}
.cat-foot .ic{color:var(--blue);transition:transform .2s}
.cat:hover .cat-foot .ic{transform:translateX(4px)}
.soon{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--gray);padding:3px 8px;border-radius:6px}

/* NRs em destaque (home) */
.nr-board{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px}
.nr-board .mega-grid{grid-template-columns:repeat(4,minmax(0,1fr))}

/* course cards */
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.cgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
@media (max-width: 1299px){.cgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:transform .22s ease,box-shadow .22s ease,border-color .22s}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-h);border-color:#D3DAE4}
.cover{position:relative;display:block;width:100%;aspect-ratio:16/10;border:0;padding:0;background:var(--navy);overflow:hidden;text-align:left;color:#fff;border-radius:0}
.cover:hover{color:#fff}
.cover::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:24px 24px}
.cover-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cover-img + .plate::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,26,51,0) 30%,rgba(7,26,51,.82) 100%)}
.tone-a{background:#0B2545}.tone-b{background:#17365F}.tone-c{background:#1B4280}.tone-d{background:#23324A}
.plate{position:absolute;inset:0;padding:18px 18px 22px;display:flex;flex-direction:column;justify-content:flex-end}
.plate-kicker{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#A9BBD6;position:relative}
.plate-code{font-family:var(--display);font-weight:800;font-size:44px;line-height:1;letter-spacing:-.03em;color:#fff;margin-top:6px;position:relative}
.plate-code.is-text{font-size:24px;line-height:1.08;letter-spacing:-.015em;max-width:68%}
.plate-icon{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:84px;height:84px;fill:none;stroke:rgba(255,255,255,.30);stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s ease,stroke .35s}
.card:hover .plate-icon{transform:translateY(-50%) scale(1.07);stroke:rgba(255,255,255,.46)}
.plate-stripe{position:absolute;left:0;bottom:0;width:76px;height:6px;background:repeating-linear-gradient(-45deg,var(--gold) 0 6px,transparent 6px 12px)}
.badge{position:absolute;top:14px;left:14px;height:24px;padding:0 9px;border-radius:6px;font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;display:inline-flex;align-items:center;z-index:2;font-family:var(--sans)}
.badge-mais{background:var(--gold);color:var(--gold-ink)}
.badge-novo{background:#fff;color:var(--navy)}
.badge-oferta{background:#D3F0DE;color:#0B5A2A}
.pill{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.pill.badge-mais{background:#F8ECCF;color:#6E4E0E}
.pill.badge-novo{background:var(--blue-tint);color:var(--blue-dk)}
.pill.badge-oferta{background:#D3F0DE;color:#0B5A2A}
.pill-plain{background:var(--surface);color:var(--muted);border:1px solid var(--line)}
.card-body{padding:18px;display:flex;flex-direction:column;gap:10px;flex:1}
.card-top{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);min-width:0}
.card-top span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nr-tag{font-family:var(--mono);font-weight:600;font-size:12px;color:var(--blue-dk);background:var(--blue-tint);padding:2px 7px;border-radius:5px;white-space:nowrap}
.card-title{font-size:16.5px;line-height:1.3;font-weight:700}
.card-title a{color:inherit}
.card-title a:hover{color:var(--blue-dk)}
.card-desc{font-size:13.5px;color:var(--muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.facts{display:flex;gap:6px 14px;font-size:13px;color:var(--text);flex-wrap:wrap}
.fact{display:inline-flex;align-items:center;gap:6px}
.fact .ic{width:16px;height:16px;color:var(--muted)}
.price-row{margin-top:auto;padding-top:12px;border-top:1px solid var(--line-2);display:flex;align-items:flex-end;justify-content:space-between;gap:8px;min-height:58px}
.price-old{font-size:13px;color:var(--muted);text-decoration:line-through}
.pct{font-size:11.5px;font-weight:700;color:#0B5A2A;background:#D3F0DE;padding:1px 6px;border-radius:5px;margin-left:6px}
.price{font-family:var(--display);font-weight:700;font-size:22px;color:var(--ink);letter-spacing:-.02em;line-height:1.15}
.price-consult{font-family:var(--display);font-weight:700;font-size:18px;color:var(--navy-ink)}
.price-note{font-size:12px;color:var(--muted)}
.card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.card-actions form{display:contents}
.card-actions .btn{height:42px;padding:0 10px;font-size:14px}

/* enterprise */
.ent{background:var(--navy);color:#C9D4E5;padding:108px 0;position:relative;overflow:hidden}
.ent-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:72px;align-items:center;position:relative}
.ent h2{color:#fff;font-size:44px;letter-spacing:-.03em;margin-top:12px}
.ent .kicker{color:#E6C567}
.ent-lead{font-size:18px;margin-top:18px;color:#C9D4E5;max-width:540px}
.ent-feats{display:grid;grid-template-columns:1fr 1fr;gap:26px 32px;margin-top:40px}
.ent-feat{display:flex;gap:14px}
.ent-feat-ic{width:42px;height:42px;border-radius:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);color:#fff;display:grid;place-items:center;flex-shrink:0}
.ent-feat h3{color:#fff;font-size:16px;letter-spacing:0}
.ent-feat p{font-size:14px;color:#AFC0D8;margin-top:4px;line-height:1.5}
.ent-ctas{display:flex;gap:12px;margin-top:44px;flex-wrap:wrap}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14);border-radius:16px;overflow:hidden}
.stat{background:var(--navy);padding:34px 28px}
.stat-n{font-family:var(--display);font-weight:700;font-size:46px;color:#E6C567;letter-spacing:-.03em;line-height:1}
.stat-l{font-size:14.5px;color:#C9D4E5;margin-top:10px}
.stats-note{font-size:12.5px;color:#9FB3CF;margin-top:14px;display:flex;gap:8px;align-items:center}

/* why */
.why{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}
.why-item{padding:36px 32px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);display:flex;gap:18px}
.why-item:nth-child(3n){border-right:0;padding-right:0}
.why-item:nth-child(3n+1){padding-left:0}
.why-ic{width:44px;height:44px;border-radius:50%;background:var(--green-tint);color:var(--green-dk);display:grid;place-items:center;flex-shrink:0}
.why-item h3{font-size:18px}
.why-item p{font-size:14.5px;color:var(--muted);margin-top:6px}

/* certificado (home) */
.cert-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.cert-stage{position:relative;background:var(--navy);border-radius:20px;overflow:hidden;min-height:340px;display:grid;place-items:center;padding:40px}
.cert-stage .hv-stripe{right:24px;bottom:24px}
.cert-doc{position:relative;width:min(420px,100%);background:#fff;color:#2B3445;border-radius:14px;padding:30px 30px 26px;box-shadow:0 24px 60px rgba(4,14,30,.45);transform:rotate(-1.5deg)}
.cert-doc::before{content:'';position:absolute;inset:10px;border:1px solid rgba(213,161,59,.55);border-radius:8px;pointer-events:none}
.cert-doc::after{content:'';position:absolute;inset:-14px 18px auto;height:100%;z-index:-1;border-radius:14px;background:rgba(255,255,255,.12);transform:rotate(4deg)}
.cert-doc-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.cert-doc-brand{display:flex;align-items:center;gap:8px;font-family:var(--display);font-weight:700;font-size:13px;color:#0B2545}
.cert-doc-brand img{width:auto;height:26px}
.cert-doc-seal{width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#F0D58A,#D5A13B 60%,#B8862A);color:#1F1604;display:grid;place-items:center;box-shadow:0 0 0 4px rgba(213,161,59,.18)}
.cert-doc-kicker{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#7F5A10;margin-top:20px}
.cert-doc-name{font-family:var(--display);font-weight:700;font-size:24px;letter-spacing:-.02em;color:#0E1726;margin-top:8px}
.cert-doc-text{font-size:13px;color:#566074;margin-top:6px}
.cert-doc-course{font-weight:600;font-size:15px;color:#0B2545;margin-top:2px}
.cert-doc-foot{display:flex;align-items:flex-end;gap:22px;margin-top:22px;padding-top:16px;border-top:1px dashed #E2E7EE}
.cert-doc-foot small{display:block;font-size:11px;color:#566074}
.cert-doc-foot strong{display:block;font-size:13.5px;color:#0E1726;margin-top:2px}
.cert-doc-sign{margin-left:auto;text-align:center;min-width:110px}
.cert-doc-sign span{display:block;height:22px;border-bottom:1.5px solid #0B2545;margin-bottom:4px}
.cert-list{display:flex;flex-direction:column;gap:14px;margin-top:24px}

/* faq / accordion */
.faq-in{display:grid;grid-template-columns:380px minmax(0,1fr);gap:80px}
.faq-aside h2{font-size:40px;letter-spacing:-.03em;margin-top:12px}
.faq-aside p{color:var(--muted);margin-top:14px}
.help{margin-top:32px;padding:22px;border-radius:14px;background:var(--surface);border:1px solid var(--line)}
.help h3{font-size:17px}
.help p{font-size:14px;margin:6px 0 16px}
.acc{border-top:1px solid var(--line)}
.acc-item{border-bottom:1px solid var(--line)}
.acc-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:24px;background:none;border:0;padding:22px 0;text-align:left;font-family:var(--display);font-weight:600;font-size:18px;color:var(--ink);transition:color .15s}
.acc-q:hover{color:var(--blue-dk)}
.acc-sign{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;flex-shrink:0;transition:transform .25s,background .25s,color .25s,border-color .25s;background:var(--surface);color:var(--ink)}
.acc-q[aria-expanded="true"] .acc-sign{transform:rotate(45deg);background:var(--navy);color:#fff;border-color:var(--navy-ink)}
.acc-a{padding:0 64px 24px 0;color:var(--muted);font-size:15.5px;animation:fadeUp .25s ease}
.demo-note{font-size:12.5px;color:var(--muted);display:flex;gap:8px;align-items:center;margin-top:20px}
.demo-note .ic{width:16px;height:16px}

/* CTA final */

/* footer */
/* Rodapé: faixa de vantagens, colunas, NRs e barra final */
.ftr{position:relative;overflow:hidden;background:radial-gradient(ellipse 50% 70% at 0% 0%,rgba(31,95,214,.22),transparent 70%),var(--navy-deep);color:#AFC0D8;padding:0 0 28px}
.ftr::before{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,transparent,#D5A13B 30%,#E6C567 50%,#D5A13B 70%,transparent)}
.ftr-perks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:28px;align-items:center;padding:40px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.ftr-perk{display:flex;align-items:center;gap:14px;min-width:0}
.ftr-perk-ic{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#E6C567;display:grid;place-items:center;flex-shrink:0}
.ftr-perk strong{display:block;color:#fff;font-size:15px;font-weight:600}
.ftr-perk small{display:block;font-size:13px;color:#9FB3CF;margin-top:2px}
.ftr-top{display:grid;grid-template-columns:1.6fr repeat(3,minmax(0,1fr)) 1.25fr;gap:40px;padding-top:52px}
.ftr-tag{margin-top:18px;font-size:14.5px;line-height:1.6;max-width:300px}
.ftr-place{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:14px;color:#C9D4E5}
.ftr-place .ic{color:#E6C567}
.ftr h2{color:#fff;font-size:12px;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;font-weight:600}
.ftr-links{margin-top:16px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.ftr-link{background:none;border:0;padding:4px 0;color:#AFC0D8;font-size:14.5px;text-align:left;transition:color .15s}
.ftr-link:hover{color:#fff}
.ftr-contact{display:flex;gap:8px;align-items:flex-start;font-size:14px}
.ftr-contact .ic{width:16px;height:16px;margin-top:3px;color:#E6C567}
.ftr-help-text{margin-top:16px;font-size:14px;line-height:1.55}
.ftr-help-btn{margin-top:18px;border-color:rgba(255,255,255,.28)}
.socials{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap}
.social{width:40px;height:40px;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);color:#C9D4E5;display:grid;place-items:center;transition:border-color .15s,color .15s,background .15s}
.social:hover{border-color:#E6C567;color:#E6C567;background:rgba(213,161,59,.08)}
.ftr-nrs{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin-top:48px;padding:20px 0;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}
.ftr-nrs span{font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#fff;margin-right:6px}
.ftr-nrs a{font-family:var(--mono);font-size:12.5px;font-weight:600;color:#9FB3CF;text-decoration:none;padding:4px 0;transition:color .15s}
.ftr-nrs a:hover{color:#E6C567}
.ftr-bot{display:flex;align-items:center;gap:8px 24px;flex-wrap:wrap;padding-top:24px;font-size:13px}
.ftr-up{margin-left:auto;display:inline-flex;align-items:center;gap:6px;color:#C9D4E5;font-weight:600;text-decoration:none;transition:color .15s}
.ftr-up .ic{transform:rotate(180deg)}
.ftr-up:hover{color:#fff}

/* page header */
.phead{background:var(--gray);border-bottom:1px solid var(--line);padding:28px 0 36px}
.crumbs{display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--muted);flex-wrap:wrap}
.crumb{background:none;border:0;padding:4px 0;color:var(--muted);font-size:13.5px}
.crumb:hover{color:var(--blue-dk);text-decoration:underline}
.crumbs .ic{width:14px;height:14px}
.crumb-cur{color:var(--ink);font-weight:500}
.phead-row{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-top:14px}
.phead h1{font-size:40px;letter-spacing:-.03em}
.phead p{color:var(--muted);margin-top:8px}
.cat-search{width:440px;height:54px}
.cat-search input{font-size:16px}
/* Catálogo (e páginas de NR e categoria): topo escuro, como a home e a página do curso */
.phead-dark{position:relative;overflow:hidden;background:radial-gradient(ellipse 55% 120% at 15% 0%,rgba(31,95,214,.30),transparent 70%),var(--navy-deep);border-bottom:0;padding:32px 0 48px;color:#fff}
.phead-dark .grid-bg{-webkit-mask-image:linear-gradient(180deg,#000 20%,transparent 100%);mask-image:linear-gradient(180deg,#000 20%,transparent 100%)}
.phead-dark .wrap{position:relative}
.phead-dark .crumbs,.phead-dark .crumb{color:#9FB3CF}
.phead-dark .crumb:hover{color:#fff}
.phead-dark .crumb-cur{color:#fff}
.phead-dark .phead-row{align-items:center;margin-top:20px}
.phead-dark h1{color:#fff;font-size:46px}
.phead-dark p{color:#C9D4E5;font-size:17px;margin-top:10px}
.phead-dark .phead-row > [role="search"]{flex:0 1 480px;min-width:0}
.phead-dark .cat-search{width:100%;height:60px;border-color:transparent;box-shadow:0 14px 34px rgba(0,0,0,.28)}
.phead-dark .cat-search:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px rgba(141,181,250,.35)}

/* catalog */
.cat-layout{display:grid;grid-template-columns:292px minmax(0,1fr);gap:36px;padding:36px 0 100px}
.filters{align-self:start;position:sticky;top:96px;display:flex;flex-direction:column;max-height:calc(100vh - 120px);background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px 18px 4px;box-shadow:var(--shadow)}
.filters-body{overflow-y:auto;padding-right:8px;margin-right:-8px}
.f-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--line)}
.f-head h2{font-size:18px;display:flex;align-items:center;gap:8px}
.f-clear{background:none;border:0;color:var(--blue-dk);font-weight:600;font-size:13.5px;padding:6px 0}
.f-clear[aria-disabled="true"]{color:#8A93A3;cursor:default;pointer-events:none}
.f-group{padding:18px 0;border-bottom:1px solid var(--line)}
.f-group:last-child{border-bottom:0}
.f-title{font-size:11.5px;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);font-weight:600;margin:0 0 8px;padding:0;float:left;width:100%}
.f-opts{display:flex;flex-direction:column;gap:1px;clear:both}
.f-opts.cols{display:grid;grid-template-columns:1fr 1fr;gap:1px 8px}
.f-opt{display:flex;align-items:center;gap:10px;padding:6px;margin:0 -6px;border-radius:6px;font-size:14px;cursor:pointer;color:var(--text);transition:background .12s;min-height:36px}
.f-opt:hover{background:var(--gray)}
.f-opt input{width:17px;height:17px;margin:0;accent-color:var(--navy-ink);flex-shrink:0;cursor:pointer}
.f-opt.dim{color:#8A93A3}
.f-count{margin-left:auto;font-size:11px;color:var(--muted);font-family:var(--mono);background:var(--gray);border-radius:999px;padding:1px 7px;min-width:24px;text-align:center;line-height:18px}
/* NRs: botões de seleção (a caixa de marcar continua lá, escondida, e é ela que filtra) */
.f-opts.cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.f-opts.cols .f-opt{position:relative;margin:0;padding:0 6px;justify-content:center;gap:6px;min-height:38px;border:1px solid var(--line);border-radius:9px;background:var(--surface);font-family:var(--mono);font-size:12.5px;font-weight:600;color:var(--navy-ink);transition:background .12s,border-color .12s,color .12s}
.f-opts.cols .f-opt input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0}
.f-opts.cols .f-count{margin-left:0;background:none;padding:0;min-width:0;font-size:10.5px;font-weight:500}
.f-opts.cols .f-opt:hover{border-color:var(--blue);background:var(--blue-tint)}
.f-opts.cols .f-opt:has(input:checked){background:var(--navy);border-color:var(--navy);color:#fff}
.f-opts.cols .f-opt:has(input:checked) .f-count{color:#A9C7F7}
.f-opts.cols .f-opt:has(input:focus-visible){outline:3px solid rgba(31,95,214,.4);outline-offset:2px}
.f-opts.cols .f-opt.dim{border-style:dashed}
.f-apply{margin-top:16px}
.js .f-apply{display:none}
.sheet-head,.sheet-foot,.m-toolbar{display:none}
.results-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;min-height:44px}
.results-count{font-size:15px;color:var(--text)}
.results-count strong{color:var(--ink);font-weight:600}
.sort{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted)}
.select-wrap{position:relative;display:inline-flex}
.select{height:42px;border:1px solid var(--line-strong);border-radius:10px;padding:0 38px 0 12px;font:inherit;font-size:14px;color:var(--ink);background:var(--surface);appearance:none;-webkit-appearance:none;cursor:pointer}
.select:focus{border-color:var(--blue);outline:0;box-shadow:0 0 0 4px rgba(31,95,214,.12)}
.select-wrap .ic{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;width:16px;height:16px;color:var(--muted)}
.active-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;align-items:center}
.achip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 8px 0 12px;border-radius:999px;background:var(--blue-tint);color:var(--blue-dk);border:0;font-size:13px;font-weight:500;transition:background .15s}
.achip:hover{background:#DCE7FB;color:var(--blue-dk)}
.achip .ic{width:14px;height:14px}
.skel{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface);padding-bottom:18px}
.shim{background:linear-gradient(90deg,#EEF1F5 0,#F8FAFC 50%,#EEF1F5 100%);background-size:200% 100%;animation:shimmer 1.2s linear infinite}
.skel-cover{aspect-ratio:16/10}
.skel-line{height:12px;border-radius:6px;margin:16px 18px 0}
.w40{width:40%}.w70{width:70%}.w90{width:90%}
.empty{border:1px dashed var(--line-strong);border-radius:16px;padding:64px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;background:var(--surface)}
.empty-ic{width:64px;height:64px;border-radius:50%;background:var(--gray);display:grid;place-items:center;color:var(--muted);margin-bottom:6px}
.empty-ic .ic{width:28px;height:28px}
.empty h3{font-size:20px}
.empty p{color:var(--muted);max-width:420px;margin-bottom:10px}
.empty-sugg{margin-top:32px}
.empty-sugg h3{font-size:18px;margin-bottom:16px}
.backdrop{position:fixed;inset:0;background:rgba(7,26,51,.48);z-index:60;animation:fade .2s ease;border:0;padding:0;width:100%;cursor:default}
.filter-count{min-width:20px;height:20px;border-radius:10px;background:var(--navy);color:#fff;font-size:11px;display:grid;place-items:center;padding:0 5px}
.results{position:relative;transition:opacity .15s}
.results[aria-busy="true"] .cgrid:not(.skel-grid){display:none}
.load-more{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:32px}
.load-more p{font-size:13.5px;color:var(--muted)}
.pager{display:flex;gap:6px;justify-content:center;margin-top:32px;flex-wrap:wrap}
.pager a,.pager span{min-width:40px;height:40px;padding:0 12px;border-radius:10px;border:1px solid var(--line);display:grid;place-items:center;font-weight:600;font-size:14px;color:var(--navy-ink);background:var(--surface)}
.pager span[aria-current]{background:var(--navy);border-color:var(--navy-ink);color:#fff}
.js .pager{display:none}

/* course page */
/* Página do curso: uma grade só — topo escuro (col. principal), coluna de compra (começa dentro do
   topo e fica fixa ao rolar) e o conteúdo. No celular vira uma coluna: topo, compra, conteúdo. */
.c-page{display:grid;grid-template-columns:[full-start] minmax(40px,1fr) [main-start] minmax(0,724px) [main-end] 56px [aside-start] 380px [aside-end] minmax(40px,1fr) [full-end];grid-template-rows:auto auto;padding-bottom:96px}
.c-hero-bg{grid-column:full-start/full-end;grid-row:1;position:relative;overflow:hidden;background:radial-gradient(ellipse 55% 110% at 18% 0%,rgba(31,95,214,.30),transparent 70%),var(--navy-deep)}
.c-hero-bg .grid-bg{-webkit-mask-image:linear-gradient(180deg,#000 20%,transparent 100%);mask-image:linear-gradient(180deg,#000 20%,transparent 100%)}
.c-head{grid-column:main-start/main-end;grid-row:1;position:relative;padding:28px 0 56px;color:#fff;min-width:0}
.c-head .crumbs,.c-head .crumb{color:#9FB3CF}
.c-head .crumb:hover{color:#fff}
.c-head .crumb-cur{color:#fff}
.c-badges{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:24px}
.c-code{font-family:var(--mono);font-weight:600;color:#fff;font-size:13px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);height:28px;padding:0 10px;border-radius:7px;display:inline-flex;align-items:center}
.c-cat{font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#E6C567}
.c-head h1{font-size:46px;letter-spacing:-.03em;margin-top:16px;line-height:1.08;color:#fff}
.c-desc{font-size:18px;color:#C9D4E5;margin-top:16px;max-width:640px}
.c-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:30px}
.c-fact{display:flex;gap:12px;align-items:center;padding:14px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);min-width:0}
.c-fact .ic{color:#8DB5FA}
.c-fact small{display:block;font-size:12px;color:#9FB3CF;line-height:1.2}
.c-fact strong{font-size:14.5px;color:#fff;font-weight:600;line-height:1.3}
.c-aside{grid-column:aside-start/aside-end;grid-row:1/3;position:relative;z-index:2;padding-top:28px;min-width:0}
.c-main{grid-column:main-start/main-end;grid-row:2;min-width:0}
.cover.lg{border-radius:16px;aspect-ratio:4/3;box-shadow:var(--shadow-h)}
.cover.lg::before{background-size:32px 32px}
.cover.lg .plate{padding:32px 32px 36px}
.cover.lg .plate-kicker{font-size:11px}
.cover.lg .plate-code{font-size:84px}
.cover.lg .plate-code.is-text{font-size:40px}
.cover.lg .plate-icon{width:150px;height:150px;right:28px;top:40%;stroke-width:.9}
.cover.lg .plate-stripe{width:140px;height:10px;background:repeating-linear-gradient(-45deg,var(--gold) 0 9px,transparent 9px 18px)}
.c-aside .cover.lg{aspect-ratio:16/10;box-shadow:0 18px 40px rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.12)}
.c-aside .cover.lg .plate{padding:24px 24px 28px}
.c-aside .cover.lg .plate-code{font-size:64px}
.c-aside .cover.lg .plate-code.is-text{font-size:30px}
.c-aside .cover.lg .plate-icon{width:112px;height:112px;right:22px}
.c-aside .cover.lg .plate-stripe{width:112px;height:8px}
.cart-layout > *,.cat-layout > *{min-width:0}
.c-subnav{position:sticky;top:72px;z-index:20;background:var(--surface);border-bottom:1px solid var(--line);display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.c-subnav::-webkit-scrollbar{display:none}
.c-subnav a{padding:18px 12px 16px;font-size:14.5px;font-weight:500;color:var(--muted);white-space:nowrap;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;text-decoration:none}
.c-subnav a:hover,.c-subnav a.on{color:var(--navy-ink);border-bottom-color:var(--navy-ink)}
.c-sec{padding:44px 0;border-bottom:1px solid var(--line);scroll-margin-top:140px}
.c-sec:last-child{border-bottom:0}
.c-sec h2{font-size:26px;letter-spacing:-.02em;margin-bottom:18px}
.c-sec p{color:var(--text);font-size:16px;max-width:720px}
.c-sec p + p{margin-top:14px}
.prose{max-width:720px;color:var(--text)}
.prose p + p,.prose ul + p,.prose p + ul{margin-top:14px}
.prose ul{list-style:disc;padding-left:1.25em}
.prose li + li{margin-top:6px}
.ph{color:var(--muted);background:repeating-linear-gradient(-45deg,transparent 0 6px,rgba(11,37,69,.035) 6px 12px);border:1px dashed var(--line-strong);border-radius:10px;padding:14px 16px;font-size:14.5px}
.mods{border:1px solid var(--line);border-radius:14px;overflow:hidden}
.mod + .mod{border-top:1px solid var(--line)}
.mod-q{width:100%;display:flex;align-items:center;gap:16px;background:var(--surface);border:0;padding:18px 20px;text-align:left;transition:background .15s}
.mod-q:hover{background:var(--gray)}
.mod-n{font-family:var(--mono);font-weight:600;font-size:13px;color:var(--blue-dk);background:var(--blue-tint);width:40px;height:32px;border-radius:8px;display:grid;place-items:center;flex-shrink:0}
.mod-t{flex:1;font-weight:600;color:var(--ink);font-size:15.5px}
.mod-m{font-size:13px;color:var(--muted);font-family:var(--mono)}
.mod-q .ic{transition:transform .2s;color:var(--muted)}
.mod-q[aria-expanded="true"] .ic{transform:rotate(180deg)}
.mod-a{padding:0 20px 20px 76px;color:var(--muted);font-size:14.5px;animation:fadeUp .25s ease;white-space:pre-line}
.info-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.info-row{display:flex;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line);font-size:15px}
.info-row:nth-child(odd){border-right:1px solid var(--line)}
.info-row span{color:var(--muted)}
.info-row strong{color:var(--ink);font-weight:600;text-align:right}
.callout{display:flex;gap:16px;align-items:flex-start;max-width:720px;margin-top:24px;padding:20px 22px;border-radius:14px;background:#FCF6E6;border:1px solid #EEDBA8}
.callout-ic{width:44px;height:44px;border-radius:12px;background:var(--gold);color:var(--gold-ink);display:grid;place-items:center;flex-shrink:0}
.callout strong{display:block;font-family:var(--display);font-size:17px;line-height:1.3;color:#5E430C}
.c-sec .callout p{font-size:14.5px;color:#5E430C;margin-top:4px}
.callout .text-link{color:#7F5A10;font-size:14px;padding:8px 0 0}
.callout .text-link:hover{color:#5E430C}
.checks{display:flex;flex-direction:column;gap:12px}
.check{display:flex;gap:12px;align-items:flex-start;font-size:15.5px;color:var(--text)}
.check .ic{color:var(--green);margin-top:2px}
.buy-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-h);position:sticky;top:96px;margin-top:16px;overflow:hidden}
.buy-body{padding:26px}
.buy-top{display:flex;align-items:center;gap:8px;min-height:22px}
.buy-price{font-family:var(--display);font-weight:700;font-size:40px;letter-spacing:-.03em;color:var(--ink);line-height:1.1;margin-top:4px}
.buy-price.is-consult{font-size:30px;color:var(--navy-ink)}
.buy-note{font-size:13px;color:var(--muted);margin-top:4px}
.qty-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 18px;padding:14px 0;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.qty-row label,.qty-label{font-size:14px;font-weight:600;color:var(--ink)}
.qty-row small{display:block;font-weight:400;color:var(--muted);font-size:12.5px}
.stepper{display:inline-flex;align-items:center;border:1px solid var(--line-strong);border-radius:10px;overflow:hidden;background:var(--surface)}
.stepper button{width:40px;height:40px;border:0;background:var(--surface);display:grid;place-items:center;color:var(--ink);transition:background .12s}
.stepper button:hover{background:var(--gray)}
.stepper button:disabled{color:#B5BDC9;cursor:not-allowed;background:var(--surface)}
.stepper input,.stepper span{width:44px;min-width:36px;text-align:center;font-weight:600;font-family:var(--mono);font-size:14px;color:var(--ink);border:0;background:transparent;padding:0;height:40px;-moz-appearance:textfield}
.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.stepper input:focus{outline:0;background:var(--blue-tint)}
.stepper.bumped input{animation:bump .35s ease}
.buy-actions{display:flex;flex-direction:column;gap:10px}
.buy-actions form{display:contents}
.buy-incl{margin-top:22px;display:flex;flex-direction:column;gap:10px}
.buy-incl .check{font-size:14px}
.buy-incl .check .ic{width:18px;height:18px}
.buy-foot{background:var(--gray);border-top:1px solid var(--line);padding:16px 26px;font-size:13.5px;display:flex;gap:10px;align-items:flex-start;color:var(--text)}
.buy-foot .ic{color:var(--navy-ink);margin-top:1px}
.buy-foot a{font-weight:600}
.m-buybar{display:none}
.f-backdrop{display:none}
.related{padding:80px 0 100px;background:var(--gray);border-top:1px solid var(--line)}

/* cart & checkout */
.steps{display:flex;align-items:center;margin-top:20px;flex-wrap:wrap;gap:8px 0}
.step{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted)}
.step:not(:first-child)::before{content:'';width:40px;height:1.5px;background:var(--line-strong);margin:0 14px}
.step-n{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line-strong);display:grid;place-items:center;font-family:var(--mono);font-size:12px;font-weight:600;background:var(--surface)}
.step.on{color:var(--ink);font-weight:600}
.step.on .step-n{background:var(--navy);border-color:var(--navy-ink);color:#fff}
.step.done{color:var(--ink)}
.step.done .step-n{background:var(--green);border-color:var(--green);color:#fff}
.step.done .step-n .ic{width:14px;height:14px;stroke-width:2.4}
.phead-dark .steps{margin-top:22px}
.phead-dark .step{color:#9FB3CF}
.phead-dark .step:not(:first-child)::before{background:rgba(255,255,255,.22)}
.phead-dark .step-n{background:transparent;border-color:rgba(255,255,255,.3);color:#C9D4E5}
.phead-dark .step.on,.phead-dark .step.done{color:#fff}
.phead-dark .step.on .step-n{background:#fff;border-color:#fff;color:#0B2545}
.cart-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:40px;padding:36px 0 100px;align-items:start}
.cart-list{border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden}
.cart-list-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:18px 24px;border-bottom:1px solid var(--line)}
.cart-list-head h2{font-size:18px}
.cart-list-head span{font-size:13.5px;color:var(--muted)}
.cart-row{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:20px;align-items:start;padding:22px 24px;animation:fadeUp .3s ease}
.cart-row + .cart-row{border-top:1px solid var(--line)}
.cart-row.is-leaving{opacity:0;transform:translateX(-8px);transition:opacity .2s,transform .2s}
.cart-thumb{display:block}
.thumb{width:120px;height:84px;border-radius:10px;flex-shrink:0;aspect-ratio:auto}
.thumb .plate{padding:10px 12px 14px}
.thumb .plate-code{font-size:24px}
.thumb .plate-code.is-text{font-size:13px;max-width:100%}
.thumb .plate-kicker,.thumb .plate-icon{display:none}
.thumb .plate-stripe{width:40px;height:4px}
.cart-info{min-width:0;display:flex;flex-direction:column;gap:8px}
.cart-info h3{font-size:16.5px;line-height:1.3}
.cart-info h3 a{color:inherit}
.cart-info h3 a:hover{color:var(--blue-dk)}
.cart-unit{font-size:13px;color:var(--muted)}
.cart-side{display:flex;flex-direction:column;align-items:flex-end;gap:10px;min-width:150px}
.line-total{text-align:right}
.line-total strong{display:block;font-family:var(--display);font-weight:700;font-size:20px;letter-spacing:-.01em;color:var(--ink);line-height:1.2}
.line-total s{font-size:12.5px;color:var(--muted)}
.cart-qty{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.cart-qty-label{font-size:11.5px;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.remove{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 8px;margin-right:-8px;border:0;border-radius:8px;background:none;font-size:13px;font-weight:500;color:var(--muted);transition:background .15s,color .15s}
.remove:hover{background:var(--red-tint);color:var(--red)}
.cart-note{margin-top:16px}
.cart-back{margin-top:12px}
.cart-empty{padding:40px 0 100px}
.cart-empty .empty-sugg .grid4 .card-actions{grid-template-columns:1fr 1fr}
.summary{border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:26px;position:sticky;top:96px;box-shadow:var(--shadow)}
.summary h2{font-size:20px;margin-bottom:12px}
.sum-row{display:flex;justify-content:space-between;gap:12px;font-size:15px;padding:7px 0;color:var(--text)}
.sum-row.disc{color:var(--green-dk);font-weight:500}
.sum-row.sub{font-size:13.5px;padding:2px 0 2px 12px;color:var(--muted)}
.sum-row form{display:inline}
.sum-row .link-rm{background:none;border:0;padding:0;color:var(--muted);font-size:12.5px;text-decoration:underline}
.sum-total{border-top:1px solid var(--line);margin-top:10px;padding-top:16px;display:flex;justify-content:space-between;align-items:baseline}
.sum-total span{font-weight:600;color:var(--ink)}
.sum-total strong{font-family:var(--display);font-size:30px;letter-spacing:-.02em;color:var(--ink)}
.saving{font-size:13px;color:var(--green-dk);text-align:right;margin-top:2px}
.coupon{display:flex;gap:8px;margin:12px 0 6px}
.coupon-box{margin:12px 0 4px;border-top:1px solid var(--line-2);padding-top:12px}
.coupon-box summary{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;font-weight:600;color:var(--blue-dk);list-style:none}
.coupon-box summary::-webkit-details-marker{display:none}
.coupon-box summary:hover{color:var(--navy-ink)}
.sum-perks{display:flex;flex-direction:column;gap:10px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line-2)}
.sum-perks li{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--text)}
.sum-perks .ic{color:var(--green);margin-top:1px}
.m-buybar.cart-bar .mb-price small{text-decoration:none}
.input,.textarea,.form-select{width:100%;height:46px;border:1px solid var(--line-strong);border-radius:10px;padding:0 14px;font:inherit;font-size:15px;color:var(--ink);background:var(--surface);transition:border-color .15s,box-shadow .15s}
.textarea{height:auto;min-height:120px;padding:12px 14px;resize:vertical;line-height:1.5}
.form-select{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23566074' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}
.input:focus,.textarea:focus,.form-select:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(31,95,214,.12);outline:0}
.input::placeholder,.textarea::placeholder{color:#7A8394}
.input[aria-invalid="true"],.textarea[aria-invalid="true"],.form-select[aria-invalid="true"]{border-color:var(--red);box-shadow:0 0 0 3px rgba(180,35,24,.08)}
.coupon .input{height:44px}
.coupon .btn{height:44px}
.msg-ok{font-size:13px;color:var(--green-dk);display:flex;gap:6px;align-items:center}
.msg-err{font-size:13px;color:var(--red)}
.hint{font-size:12.5px;color:var(--muted);margin-top:6px}
.sum-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}
.secure{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:var(--muted);margin-top:16px;line-height:1.45}
.secure .ic{width:16px;height:16px;margin-top:1px}
.sum-items{display:flex;flex-direction:column;gap:12px;padding-bottom:14px;margin-bottom:6px;border-bottom:1px solid var(--line)}
.sum-item{display:flex;justify-content:space-between;gap:12px;font-size:14px}
.sum-item span{color:var(--text)}
.sum-item small{color:var(--muted);font-family:var(--mono);font-size:12px}
.sum-item strong{color:var(--ink);font-weight:600;white-space:nowrap}
/* resumo do checkout: miniaturas, "Editar" e aceite dos termos junto do botão */
.sum-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px}
.summary .sum-head h2{margin-bottom:0}
.sum-head .text-link{font-size:13.5px;padding:0}
.sum-lines{display:flex;flex-direction:column;gap:14px;padding-bottom:16px;margin-bottom:8px;border-bottom:1px solid var(--line)}
.sum-line{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:center}
.sum-line .thumb{width:64px;height:46px;border-radius:8px}
.sum-line .thumb .plate{padding:6px 8px 9px}
.sum-line .thumb .plate-code{font-size:14px}
.sum-line .thumb .plate-code.is-text{font-size:9.5px}
.sum-line .thumb .plate-stripe{width:24px;height:3px}
.sum-line-t{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13.5px;line-height:1.35;color:var(--ink);font-weight:500}
.sum-line small{display:block;font-size:12px;color:var(--muted);margin-top:3px}
.sum-line strong{font-size:14px;color:var(--ink);white-space:nowrap}
.sum-terms{margin-top:18px;padding:14px;border-radius:12px;background:var(--gray);border:1px solid var(--line)}
.sum-terms:has(input[aria-invalid="true"]){border-color:var(--red);background:var(--red-tint)}
.sum-terms .check-row{font-size:13.5px;line-height:1.45}
.sum-terms .field-error{margin-top:8px}
.sum-terms + .sum-actions{margin-top:14px}
.form-card{border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:30px}
.form-sec + .form-sec{margin-top:32px;padding-top:32px;border-top:1px solid var(--line)}
.form-sec h2{font-size:20px;display:flex;gap:12px;align-items:center}
.form-sec h2 span{width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:var(--mono);font-size:12px;flex-shrink:0}
.form-sec > p{color:var(--muted);font-size:14.5px;margin-top:8px}
.seg{display:inline-flex;background:var(--gray);border:1px solid var(--line);border-radius:12px;padding:4px;margin:18px 0 20px}
.seg label{position:relative}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{height:40px;padding:0 18px;border-radius:8px;display:flex;align-items:center;font-weight:600;font-size:14px;color:var(--muted);transition:background .15s,color .15s;cursor:pointer}
.seg input:checked + span{background:var(--surface);color:var(--navy-ink);box-shadow:0 1px 3px rgba(11,37,69,.14)}
.seg input:focus-visible + span{outline:3px solid rgba(31,95,214,.4)}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 16px}
.field.full,.fields > .full{grid-column:1 / -1}
.field label,.field .label{display:block;font-size:13.5px;font-weight:600;color:var(--ink);margin-bottom:6px}
.field label small,.optional{font-weight:400;color:var(--muted)}
.field-error{font-size:13px;color:var(--red);margin-top:6px;display:flex;gap:6px;align-items:center}
.field-error .ic{width:15px;height:15px}
.input-affix{position:relative}
.password-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:40px;height:40px;border:0;background:none;border-radius:8px;display:grid;place-items:center;color:var(--muted)}
.password-toggle:hover{background:var(--gray);color:var(--ink)}
.check-row{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--text);cursor:pointer}
.check-row input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--navy-ink);flex-shrink:0}
.pay-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.pay{border:1.5px solid var(--line);border-radius:12px;padding:16px;background:var(--surface);text-align:left;display:flex;flex-direction:column;gap:12px;transition:border-color .15s,background .15s;cursor:pointer;position:relative}
.pay:hover{border-color:#AEB8C6}
.pay input{position:absolute;opacity:0;pointer-events:none}
.pay:has(input:checked){border-color:var(--blue);background:var(--blue-tint)}
.pay:has(input:focus-visible){outline:3px solid rgba(31,95,214,.4);outline-offset:2px}
.pay-top{display:flex;justify-content:space-between;align-items:center;color:var(--navy-ink)}
.radio{width:18px;height:18px;border-radius:50%;border:1.5px solid #AEB8C6;background:var(--surface);transition:border .15s}
.pay:has(input:checked) .radio{border:5.5px solid var(--blue)}
.pay strong{font-size:15px;color:var(--ink)}
.pay small{font-size:12.5px;color:var(--muted);display:block;margin-top:2px}
.note-box{display:flex;gap:10px;background:#FCF6E6;border:1px solid #EEDBA8;color:#5E430C;border-radius:10px;padding:12px 14px;font-size:13.5px;margin-top:18px;line-height:1.45}
.note-box .ic{width:18px;height:18px;margin-top:1px}
.note-box.info{background:var(--blue-tint);border-color:#C9DAF8;color:#173E86}
.note-box.ok{background:var(--green-tint);border-color:#BFE3CB;color:#0B5A2A}
.note-box.err{background:var(--red-tint);border-color:#F4C7C3;color:var(--red)}
.note-box a{color:inherit;font-weight:600}
.success-ic{width:80px;height:80px;border-radius:50%;background:var(--green-tint);color:var(--green);display:grid;place-items:center;margin-bottom:24px;animation:bump .6s ease}
.success-ic.wait{background:#FBF1DA;color:#9A6B12}
.success-ic.err{background:var(--red-tint);color:var(--red)}
.success-ic .ic{width:38px;height:38px;stroke-width:2.2}
/* Pedido: situação e próximos passos à esquerda, resumo fixo à direita */
.order-main{display:flex;flex-direction:column;gap:20px}
.order-status{display:flex;gap:24px;align-items:flex-start;padding:32px}
.order-status .success-ic{width:64px;height:64px;margin:0;flex-shrink:0}
.order-status .success-ic .ic{width:30px;height:30px}
.order-status h2{font-size:28px;letter-spacing:-.02em;margin-top:8px}
.order-status p{color:var(--muted);margin-top:10px;font-size:16px;line-height:1.6;max-width:620px}
.order-status .btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
/* cancelar o pedido ainda não pago (cliente) */
.order-cancel{display:inline-flex;margin:0}
.note-box.order-pending{align-items:center;flex-wrap:wrap}
.note-box.order-pending > span{flex:1 1 280px}
.order-status.is-paid{border-top:4px solid var(--green)}
.order-status.is-pending{border-top:4px solid var(--gold)}
.order-status.is-cancelled,.order-status.is-refunded{border-top:4px solid var(--red)}
.order-next h2{font-size:20px}
.order-timeline{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column}
.order-timeline li{position:relative;display:flex;gap:16px;padding-bottom:22px}
.order-timeline li:last-child{padding-bottom:0}
.order-timeline li:not(:last-child)::before{content:'';position:absolute;left:15px;top:34px;bottom:2px;width:2px;background:var(--line)}
.order-timeline li.is-done:not(:last-child)::before{background:var(--green)}
.ot-n{position:relative;width:32px;height:32px;border-radius:50%;border:2px solid var(--line-strong);background:var(--surface);color:var(--muted);display:grid;place-items:center;font-family:var(--mono);font-size:13px;font-weight:600;flex-shrink:0}
.ot-n .ic{width:16px;height:16px;stroke-width:2.4}
.is-done .ot-n{background:var(--green);border-color:var(--green);color:#fff}
.is-on .ot-n{background:var(--navy);border-color:var(--navy);color:#E6C567;box-shadow:0 0 0 4px var(--blue-tint)}
.order-timeline strong{display:block;font-size:15.5px;color:var(--ink);margin-top:5px}
.order-timeline small{display:block;font-size:14px;color:var(--muted);margin-top:3px;line-height:1.5}
.order-timeline .is-todo strong{color:var(--muted)}
.order-meta{font-size:13.5px;color:var(--muted);margin:-4px 0 16px}
.order-meta strong{color:var(--ink)}
.order-thumb{width:64px;height:46px;border-radius:8px;background:var(--navy);color:#E6C567;display:grid;place-items:center}
.order-facts{margin:18px 0;padding:16px 0 0;border-top:1px solid var(--line-2);display:flex;flex-direction:column;gap:12px}
.order-facts > div{display:flex;justify-content:space-between;gap:16px;font-size:14px}
.order-facts dt{display:flex;align-items:center;gap:8px;color:var(--muted)}
.order-facts dd{margin:0;text-align:right;color:var(--ink);font-weight:500;min-width:0;overflow-wrap:anywhere}
.order-facts dd small{display:block;font-weight:400;color:var(--muted);font-size:12.5px}
@media (max-width: 760px){
  .order-status{flex-direction:column;gap:16px;padding:24px 20px}
  .order-status h2{font-size:23px}
  .order-status .btns .btn{flex:1 1 100%}
}

/* status */
.status{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;font-size:12.5px;font-weight:600;white-space:nowrap;background:var(--gray);color:var(--muted)}
.status::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor}
.status.warn{background:#FBF1DA;color:#7F5A10}
.status.ok{background:var(--green-tint);color:var(--green-dk)}
.status.info{background:#EEF2FF;color:#4338CA}
.status.blue{background:var(--blue-tint);color:var(--blue-dk)}
.status.muted{background:var(--gray);color:var(--muted)}
.status.err{background:var(--red-tint);color:var(--red)}

/* overlays */
.toasts{position:fixed;right:24px;bottom:24px;z-index:90;display:flex;flex-direction:column;gap:10px;align-items:flex-end;max-width:calc(100% - 32px);pointer-events:none}
.toast{background:var(--toast-bg);color:#fff;border-radius:12px;padding:10px 10px 10px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 16px 40px rgba(7,26,51,.3);animation:toastIn .3s ease;font-size:14.5px;pointer-events:auto;min-height:52px}
.toast .ic{color:#6EE7A0}
.toast-error .ic{color:#FCA5A5}
.toast-info .ic,.toast-warning .ic{color:#93C5FD}
.toast .toast-x .ic{color:#fff}
.toast a,.toast button{background:rgba(255,255,255,.14);border:0;color:#fff;height:36px;padding:0 12px;border-radius:8px;font-weight:600;font-size:13.5px;white-space:nowrap;display:inline-flex;align-items:center;text-decoration:none}
.toast a:hover,.toast button:hover{background:rgba(255,255,255,.22);color:#fff}
.toast .toast-x{width:36px;padding:0;justify-content:center;background:none}
.toast.is-leaving{opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(380px,88%);background:var(--surface);z-index:70;display:flex;flex-direction:column;animation:slideIn .28s ease;box-shadow:-20px 0 40px rgba(7,26,51,.18)}
.drawer-head{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 20px;border-bottom:1px solid var(--line);flex-shrink:0}
.drawer-body{flex:1;overflow-y:auto;padding:8px 20px 24px}
.d-link{width:100%;display:flex;align-items:center;justify-content:space-between;background:none;border:0;border-bottom:1px solid var(--line-2);padding:16px 0;font-family:var(--display);font-size:18px;font-weight:600;color:var(--ink);text-align:left}
.d-link .ic{color:var(--muted)}
.d-link.on{color:var(--blue-dk)}
.d-sub{margin-top:24px}
.d-sub .quick{margin-top:12px}
.drawer-foot{padding:16px 20px 20px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:10px;flex-shrink:0}
body.lock{overflow:hidden}

/* auth */
.auth{background:var(--gray);min-height:calc(100vh - 110px);padding:56px 0 88px}
.auth-grid{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:56px;align-items:center;max-width:1040px;margin:0 auto}
.auth-side h1{font-size:40px;letter-spacing:-.03em;margin-top:12px}
.auth-side > p{color:var(--muted);margin-top:12px;font-size:17px;max-width:460px}
.auth-side .checks{margin-top:28px}
.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-h);padding:32px}
.auth-card h2{font-size:24px}
.auth-card > p{color:var(--muted);margin-top:6px;font-size:14.5px}
.auth-form{display:flex;flex-direction:column;gap:16px;margin-top:22px}
.auth-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px}
.auth-alt{margin-top:22px;padding-top:20px;border-top:1px solid var(--line);font-size:14.5px;color:var(--muted);text-align:center}
.auth-alt a{font-weight:600}
/* Entrar / criar conta: tela dividida — painel escuro com a foto do topo da home à esquerda,
   formulário à direita. Esqueci a senha / nova senha: cartão sobre a foto escura. */
.auth-split{padding:0;background:var(--gray)}
.auth-split > .wrap{max-width:none;padding:0}
.auth-split .auth-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;max-width:none;min-height:calc(100vh - 73px);align-items:stretch}
.auth-side,.auth-solo{position:relative;isolation:isolate;overflow:hidden}
.auth-split .auth-side{display:flex;flex-direction:column;justify-content:center;color:#fff;padding:64px 64px 64px max(40px,calc(50vw - 580px))}
.auth-split .auth-side::before,.auth-solo::before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(7,26,51,.84),rgba(7,26,51,.9)),url('../img/hero-1600.jpg') center 35%/cover,var(--navy-deep)}
.auth-split .auth-side::after,.auth-solo::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:32px 32px}
.auth-split .auth-side .kicker{color:#E6C567}
.auth-split .auth-side h1{color:#fff;font-size:46px;max-width:520px}
.auth-split .auth-side > p{color:#C9D4E5;max-width:480px}
.auth-split .auth-side .checks{margin-top:32px;padding-top:28px;border-top:1px solid rgba(255,255,255,.16);max-width:480px}
.auth-split .auth-side .check{color:#E3E9F2}
.auth-split .auth-side .check .ic{color:#6EE7A0}
.auth-split .auth-card{align-self:center;justify-self:center;width:min(460px,calc(100% - 64px));margin:48px 0}
.auth-steps{list-style:none;margin:32px 0 0;padding:28px 0 0;border-top:1px solid rgba(255,255,255,.16);max-width:480px;display:flex;flex-direction:column;gap:18px}
.auth-steps li{display:flex;gap:14px;align-items:flex-start}
.auth-steps li > span{width:32px;height:32px;border-radius:50%;background:rgba(213,161,59,.16);border:1px solid rgba(230,197,103,.5);color:#E6C567;display:grid;place-items:center;font-family:var(--mono);font-size:13px;font-weight:600;flex-shrink:0}
.auth-steps strong{display:block;color:#fff;font-size:15.5px}
.auth-steps small{display:block;color:#AFC0D8;font-size:13.5px;margin-top:3px;line-height:1.5}
.pw-group{display:flex;flex-direction:column;gap:8px}
/* Medidor de força da senha (adaptado do PasswordStrength): barras, rótulo, aviso e itens */
.pw-strength{display:flex;flex-direction:column}
.pw-meter{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:2px}
.pw-meter > span{position:relative;height:6px;border-radius:2px;background:var(--line);overflow:hidden}
.pw-meter i{position:absolute;inset:0;border-radius:2px;background:var(--line-strong);transform:scaleX(0);transform-origin:left;transition:transform .32s cubic-bezier(.34,1.45,.64,1),background-color .2s}
.pw-meter > span.on i{transform:scaleX(1)}
.pw-strength[data-tone="danger"] .pw-meter i{background:var(--red)}
.pw-strength[data-tone="caution"] .pw-meter i{background:#D97706}
.pw-strength[data-tone="safe"] .pw-meter i{background:var(--green)}
.pw-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;height:20px;margin-top:8px}
.pw-label{display:inline-grid;font-size:12.5px;font-weight:600;line-height:20px}
.pw-label span{grid-area:1 / 1;white-space:nowrap;opacity:0;color:var(--muted);transition:opacity .22s,color .2s}
.pw-label span.on{opacity:1}
.pw-strength[data-tone="danger"] .pw-label span{color:var(--red)}
.pw-strength[data-tone="caution"] .pw-label span{color:#B45309}
.pw-strength[data-tone="safe"] .pw-label span{color:var(--green-dk)}
.pw-guess{font-size:11.5px;line-height:20px;white-space:nowrap;color:#B45309;opacity:0;transition:opacity .22s}
.pw-strength.is-guess .pw-guess{opacity:1}
.pw-rules{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.pw-rules li{display:flex;align-items:center;gap:8px;font-size:12.5px;line-height:20px;color:var(--muted);transition:color .2s}
.pw-rules li.ok{color:var(--text)}
.pw-rules small{font-size:11px;color:var(--muted);margin-left:2px}
.pw-box{position:relative;width:14px;height:14px;border-radius:4px;border:1px solid var(--line-strong);display:grid;place-items:center;flex-shrink:0;color:#fff}
.pw-box::before{content:'';position:absolute;inset:-1px;border-radius:4px;background:var(--green);opacity:0;transition:opacity .22s}
.pw-box svg{position:relative;width:9px;height:9px;opacity:0;transform:scale(.6);transition:opacity .2s,transform .3s cubic-bezier(.34,1.56,.64,1)}
.pw-rules li.ok .pw-box{border-color:var(--green)}
.pw-rules li.ok .pw-box::before,.pw-rules li.ok .pw-box svg{opacity:1}
.pw-rules li.ok .pw-box svg{transform:none}
/* Sem JavaScript não há o que medir: ficam só os itens */
html:not(.js) .pw-meter,html:not(.js) .pw-meta{display:none}
[data-theme="dark"] .pw-strength[data-tone="caution"] .pw-meter i{background:#F59E0B}
[data-theme="dark"] .pw-strength[data-tone="caution"] .pw-label span,[data-theme="dark"] .pw-guess{color:#FBBF24}
[data-theme="dark"] .pw-box{color:#0A1322}
.pw-match{display:flex;align-items:center;gap:6px;margin:0;font-size:12.5px;font-weight:600}
.pw-match .ic{width:15px;height:15px}
.pw-match.ok{color:var(--green-dk)}
.pw-match.no{color:#9A6B12}
[data-theme="dark"] .pw-match.no{color:#E6C567}
/* Instalador: logo acima do cartão e as duas partes do formulário */
.install-brand{display:flex;justify-content:center;margin-bottom:24px}
.install-sec{display:flex;align-items:center;gap:10px;margin:6px 0 -4px;font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.install-sec span{width:22px;height:22px;border-radius:50%;background:var(--navy);color:#E6C567;display:grid;place-items:center;font-size:11px;letter-spacing:0}
/* Código de verificação: seis casas (adaptado do OtpInput). Sem JavaScript, fica o campo comum (.otp-native) */
.otp-field{display:flex;flex-direction:column;gap:10px}
.otp-label{font-size:14px;font-weight:600;color:var(--ink)}
.otp-native{max-width:240px;height:54px;font-family:var(--mono);font-size:22px;letter-spacing:.35em;text-align:center}
.otp-cells{display:flex;gap:8px}
.otp-slot{position:relative;width:46px;height:56px;flex-shrink:0}
.otp-slot.gap{margin-left:14px}
.otp-cell{display:block;width:100%;height:100%;padding:0;border-radius:12px;border:2px solid var(--line);background:var(--gray);box-shadow:inset 0 1px 2px rgba(11,37,69,.07);text-align:center;font-size:20px;color:transparent;caret-color:transparent;outline:none;transition:background-color .15s,border-color .15s,box-shadow .15s}
.otp-cell::selection{background:transparent}
.otp-slot.filled .otp-cell{border-color:var(--line-strong);background:var(--surface);box-shadow:none}
.otp-slot.active .otp-cell{border-color:var(--blue);background:var(--surface);box-shadow:0 0 0 4px var(--blue-tint)}
.otp.is-error .otp-cell{border-color:var(--red);background:var(--surface)}
.otp.is-error .otp-slot.active .otp-cell{box-shadow:0 0 0 4px var(--red-tint)}
.otp-glyph{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;font-family:var(--mono);font-size:22px;font-weight:600;color:var(--ink)}
.otp-glyph.pop{animation:otp-in .22s cubic-bezier(.23,1,.32,1)}
.otp-caret{position:absolute;left:50%;top:50%;width:2px;height:22px;margin:-11px 0 0 -1px;border-radius:1px;background:var(--ink);pointer-events:none;display:none;animation:otp-blink 1.06s step-end infinite}
.otp-slot.active:not(.filled) .otp-caret{display:block}
.otp.shake .otp-cells{animation:otp-shake .32s cubic-bezier(.23,1,.32,1)}
@keyframes otp-in{from{opacity:0;transform:translateY(10px) scale(.97);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@keyframes otp-blink{50%{opacity:0}}
@keyframes otp-shake{25%{transform:translateX(-5px)}50%{transform:translateX(4px)}75%{transform:translateX(-3px)}}
.otp-msg{display:flex;align-items:center;gap:6px;min-height:18px;margin:0;font-size:13px;color:var(--muted)}
.otp-msg.is-error{color:var(--red);font-weight:600}
.otp-msg .ic{width:15px;height:15px;flex-shrink:0}
@media (max-width: 400px){
  .otp-cells{gap:6px}
  .otp-slot{width:40px;height:50px}
  .otp-slot.gap{margin-left:8px}
}

/* Verificação em duas etapas: login, ativação (QR code e chave), códigos de recuperação e Meus dados */
.tf-account{display:flex;align-items:center;gap:8px;margin:16px 0 0;padding:10px 14px;border-radius:10px;background:var(--gray);font-size:14px;color:var(--text)}
.tf-account .ic{color:var(--muted)}
.tf-recovery{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.tf-recovery summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;font-size:14.5px;font-weight:600;color:var(--blue-dk)}
.tf-recovery summary::-webkit-details-marker{display:none}
.tf-recovery summary:hover{color:var(--navy-ink)}
.tf-recovery .auth-form{margin-top:16px}
.tf-setup{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
.tf-setup .form-sec > p{max-width:560px}
.tf-qr-row{display:flex;gap:28px;align-items:center;margin-top:18px;flex-wrap:wrap}
.tf-qr{width:200px;flex-shrink:0;padding:10px;border:1px solid var(--line);border-radius:14px;background:#fff}
.tf-qr .qr{display:block;width:100%;height:auto}
.tf-key{flex:1;min-width:240px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.tf-key p{color:var(--text);font-size:15px}
.tf-key-label{font-size:13.5px !important;color:var(--muted) !important}
.tf-secret{display:block;font-family:var(--mono);font-size:16px;font-weight:600;letter-spacing:.08em;color:var(--ink);background:var(--gray);border:1px dashed var(--line-strong);border-radius:10px;padding:10px 14px;word-break:break-all}
.tf-meta{display:flex;flex-direction:column;gap:4px;margin:4px 0 0;font-size:13px}
.tf-meta > div{display:flex;gap:8px}
.tf-meta dt{color:var(--muted);min-width:44px}
.tf-meta dd{margin:0;color:var(--ink);font-weight:500;overflow-wrap:anywhere}
.tf-confirm{display:flex;align-items:flex-start;gap:20px;flex-wrap:wrap;margin-top:18px}
.tf-confirm .btn{margin-top:29px}
.tf-setup .form-sec > .btn{margin-top:16px}
.tf-codes-card{max-width:720px;display:flex;flex-direction:column;gap:22px}
.tf-codes{list-style:none;margin:0;padding:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;border-radius:12px;background:var(--gray);border:1px solid var(--line);counter-reset:tf}
.tf-codes li{display:flex;align-items:center;gap:10px;counter-increment:tf}
.tf-codes li::before{content:counter(tf);width:22px;font-family:var(--mono);font-size:11.5px;color:var(--muted);text-align:right}
.tf-codes code{font-family:var(--mono);font-size:17px;font-weight:600;letter-spacing:.06em;color:var(--ink)}
.tf-codes-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.tf-done{margin-left:auto}
.tf-state{display:flex;gap:16px;align-items:flex-start}
.tf-state-ic{width:48px;height:48px;border-radius:13px;background:var(--gray);color:var(--muted);display:grid;place-items:center;flex-shrink:0}
.tf-state.is-on .tf-state-ic{background:var(--green-tint);color:var(--green-dk)}
.tf-state:not(.is-on) .tf-state-ic{background:var(--navy);color:#E6C567}
.tf-state > div{min-width:0}
.tf-state strong{display:block;font-size:16px;color:var(--ink)}
.tf-state p{color:var(--muted);font-size:14.5px;margin:4px 0 16px;max-width:620px}
.tf-state.is-on p{margin-bottom:0}
.tf-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}
.tf-note{display:flex;gap:8px;align-items:flex-start;margin:0;padding:12px 14px;border-radius:10px;background:var(--gray);font-size:13.5px;line-height:1.5;color:var(--text)}
.tf-note .ic{color:var(--blue);flex-shrink:0;margin-top:2px}
.tf-more{border:1px solid var(--line);border-radius:12px;padding:0 16px}
.tf-more summary{display:flex;align-items:center;gap:8px;padding:14px 0;cursor:pointer;list-style:none;font-size:14.5px;font-weight:600;color:var(--ink)}
.tf-more summary::-webkit-details-marker{display:none}
.tf-more summary .ic{color:var(--muted)}
.tf-more[open]{padding-bottom:16px}
.tf-more-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.tf-more-row .field{flex:1;min-width:220px}
@media (max-width: 1180px){
  .tf-setup{grid-template-columns:minmax(0,1fr)}
  .tf-setup .contact-aside{position:static}
}
@media (max-width: 760px){
  .tf-qr-row{flex-direction:column;align-items:flex-start;gap:18px}
  .tf-qr{width:180px}
  .tf-key{min-width:0;width:100%}
  .tf-confirm .btn{margin-top:0;width:100%;justify-content:center}
  .tf-codes{grid-template-columns:minmax(0,1fr)}
  .tf-state{flex-direction:column;gap:12px}
  .tf-state .btn{width:100%;justify-content:center;white-space:normal;text-align:center}
  .tf-done{margin-left:0;width:100%;justify-content:center}
}
@media print{
  .acc-hero,.ftr,.tf-codes-actions,.note-box{display:none !important}
  .tf-codes-card{border:0;padding:0}
}

/* Recuperar e redefinir senha: etapas no alto do cartão, ícone e dicas */
.recover-steps{margin:0 0 22px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.recover-steps .step{font-size:13px}
.recover-steps .step:not(:first-child)::before{width:24px;margin:0 10px}
.recover-steps .step-n{width:24px;height:24px;font-size:11px}
.recover-head{display:flex;gap:14px;align-items:flex-start}
.recover-ic{width:48px;height:48px;border-radius:13px;background:var(--navy);color:#E6C567;display:grid;place-items:center;flex-shrink:0}
.recover-ic.is-ok{background:var(--green-tint);color:var(--green-dk)}
.recover-ic.is-warn{background:#FBF1DA;color:#9A6B12}
[data-theme="dark"] .recover-ic.is-warn{background:rgba(213,161,59,.16);color:#E6C567}
.recover-head h2{font-size:24px}
.recover-head p{color:var(--muted);margin-top:4px;font-size:14.5px}
.recover-tips{list-style:none;margin:20px 0 0;padding:16px 18px;border-radius:12px;background:var(--gray);display:flex;flex-direction:column;gap:10px;font-size:14px;color:var(--text)}
.recover-tips li{display:flex;gap:10px;align-items:flex-start}
.recover-tips .ic{width:16px;height:16px;color:var(--blue);flex-shrink:0;margin-top:2px}
.recover-tips a{font-weight:600}
.recover-actions{display:flex;flex-direction:column;gap:10px;margin-top:22px}
.recover-note{display:flex;gap:8px;align-items:flex-start;margin:0;font-size:13px;line-height:1.5;color:var(--muted)}
.recover-note .ic{flex-shrink:0;margin-top:2px}
.auth-solo{display:grid;place-items:center;min-height:calc(100vh - 73px);padding:56px 0;background:var(--navy-deep)}
.auth-solo > .wrap{width:100%}
.auth-solo .auth-card{box-shadow:0 24px 60px rgba(0,0,0,.35)}
.tabs{display:flex;gap:4px;background:var(--gray);border:1px solid var(--line);border-radius:12px;padding:4px;margin-bottom:20px}
.tabs a{flex:1;height:40px;border-radius:8px;display:grid;place-items:center;font-weight:600;font-size:14px;color:var(--muted);text-decoration:none}
.tabs a.on{background:var(--surface);color:var(--navy-ink);box-shadow:0 1px 3px rgba(11,37,69,.14)}

/* área do aluno */
.avatar{width:42px;height:42px;border-radius:12px;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:15px;flex-shrink:0}
/* área do aluno: topo escuro com a saudação e as abas; conteúdo na largura toda */
.phead-dark.acc-hero{padding-bottom:0}
.acc-hero-row{display:flex;align-items:center;gap:18px;margin-top:20px;flex-wrap:wrap}
.acc-avatar{width:60px;height:60px;border-radius:16px;font-size:20px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2)}
.acc-hero-id{min-width:0;flex:1}
.acc-hero-id .kicker{color:#E6C567}
.phead-dark .acc-hello{font-family:var(--display);font-weight:700;font-size:34px;letter-spacing:-.03em;line-height:1.1;color:#fff;margin-top:6px}
.phead-dark .acc-mail{color:#9FB3CF;font-size:14px;margin-top:4px}
.acc-hero-actions{display:flex;gap:8px;flex-wrap:wrap}
.acc-hero-actions form{display:contents}
.acc-tabs{display:flex;gap:4px;margin-top:28px;overflow-x:auto;scrollbar-width:none}
.acc-tabs::-webkit-scrollbar{display:none}
.acc-tabs a{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 16px;border-radius:12px 12px 0 0;font-size:14.5px;font-weight:500;color:#C9D4E5;text-decoration:none;white-space:nowrap;flex-shrink:0;transition:background .15s,color .15s}
.acc-tabs a:hover{background:rgba(255,255,255,.08);color:#fff}
.acc-tabs a.on{background:var(--bg);color:var(--navy-ink);font-weight:600}
.acc-tabs .count{font-size:11px;font-family:var(--mono);font-weight:600;background:var(--gold);color:var(--gold-ink);border-radius:999px;min-width:20px;height:20px;display:grid;place-items:center;padding:0 6px}
.acc-main{min-width:0;padding:36px 0 100px}
.kpi-link{color:inherit;text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s}
.kpi-link:hover{color:inherit;border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-2px)}
.acc-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.acc-head h1{font-size:30px;letter-spacing:-.025em}
.acc-head p{color:var(--muted);margin-top:6px}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.kpi{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:18px 18px 16px;display:flex;flex-direction:column;gap:8px}
.kpi-ic{width:36px;height:36px;border-radius:10px;background:var(--blue-tint);color:var(--blue-dk);display:grid;place-items:center}
.kpi-ic.g{background:var(--green-tint);color:var(--green-dk)}
.kpi-ic.o{background:#FBF1DA;color:#9A6B12}
.kpi-n{font-family:var(--display);font-weight:700;font-size:30px;color:var(--ink);letter-spacing:-.02em;line-height:1}
.kpi-l{font-size:13.5px;color:var(--muted)}
.panel{border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden}
.panel + .panel,.kpis + .panel,.panel + .note-box,.note-box + .panel{margin-top:22px}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line)}
.panel-head h2{font-size:18px}
.panel-body{padding:22px}
.my-courses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.my-course{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface);display:grid;grid-template-columns:132px minmax(0,1fr);transition:box-shadow .2s,border-color .2s}
.my-course:hover{box-shadow:var(--shadow);border-color:#D3DAE4}
.my-course .cover{aspect-ratio:auto;height:100%;min-height:150px}
.my-course .plate{padding:14px 14px 18px}
.my-course .plate-code{font-size:26px}
.my-course .plate-code.is-text{font-size:15px;max-width:100%}
.my-course .plate-kicker,.my-course .plate-icon{display:none}
.my-course .plate-stripe{width:44px;height:5px}
.my-body{padding:16px;display:flex;flex-direction:column;gap:10px;min-width:0}
.my-body h3{font-size:15.5px;line-height:1.3}
.progress{height:8px;border-radius:999px;background:var(--line-2);overflow:hidden}
.progress span{display:block;height:100%;border-radius:999px;background:var(--blue);transition:width .6s ease}
.progress.done span{background:var(--green)}
.progress-row{display:flex;justify-content:space-between;font-size:12.5px;color:var(--muted);margin-bottom:6px}
.my-actions{margin-top:auto;display:flex;gap:8px;flex-wrap:wrap}
.table-wrap{overflow-x:auto}
.table{width:100%;border-collapse:collapse;font-size:14.5px}
.table th{text-align:left;font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:12px 16px;background:var(--gray);border-bottom:1px solid var(--line);white-space:nowrap}
.table td{padding:14px 16px;border-bottom:1px solid var(--line-2);vertical-align:middle}
.table tr:last-child td{border-bottom:0}
.table .num{text-align:right;white-space:nowrap}
.table a{font-weight:600}
.seat{border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--surface)}
.seat + .seat{margin-top:12px}
.seat-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.seat-head strong{font-size:14.5px;color:var(--ink)}
.seat .fields{grid-template-columns:1.2fr 1.2fr .9fr auto;align-items:end}
.seat .fields .btn{height:46px}
/* Minha conta: seções com contagem, atalhos, certificados em cartões, lista de pedidos e o detalhe do pedido */
.acc-sec + .acc-sec{margin-top:36px}
.acc-sec-title{display:flex;align-items:center;gap:10px;font-size:19px;margin-bottom:16px}
.acc-sec-title span{min-width:26px;height:26px;padding:0 8px;border-radius:999px;background:var(--gray);border:1px solid var(--line);font-family:var(--mono);font-size:12px;font-weight:600;color:var(--muted);display:grid;place-items:center}
.acc-jump{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.acc-jump a{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 6px 0 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:14px;font-weight:600;color:var(--ink);text-decoration:none;transition:border-color .15s,background .15s}
.acc-jump a:hover{border-color:var(--line-strong);background:var(--gray)}
.acc-jump a .ic{color:var(--blue)}
.acc-jump a b{min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:var(--navy);color:#E6C567;font-family:var(--mono);font-size:12px;display:grid;place-items:center}
.acc-jump a[aria-disabled="true"]{opacity:.5;pointer-events:none}
.acc-jump a[aria-disabled="true"] b{background:var(--gray);color:var(--muted)}
.cert-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cert-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:22px;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:14px;background:var(--surface)}
.cert-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.cert-card-seal{width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#F0D58A,#D5A13B 60%,#B8862A);color:#1F1604;display:grid;place-items:center}
.cert-card-code{font-family:var(--mono);font-size:11.5px;font-weight:600;color:var(--muted);letter-spacing:.04em}
.cert-card h3{font-size:16px;line-height:1.35}
.cert-card-who{display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--text);margin-top:-4px}
.cert-card-who .ic{color:var(--muted)}
.cert-card-facts{display:flex;gap:22px;margin:0;padding:12px 0;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line)}
.cert-card-facts dt{font-size:11.5px;color:var(--muted)}
.cert-card-facts dd{margin:2px 0 0;font-size:14px;font-weight:600;color:var(--ink)}
.cert-card .btn,.cert-card-wait{margin-top:auto}
.cert-card-wait{display:flex;align-items:center;justify-content:center;gap:6px;height:36px;border-radius:9px;background:var(--gray);font-size:13px;font-weight:600;color:var(--muted)}
.cert-card-doc{display:flex;flex-direction:column;gap:10px;margin-top:4px}
.cert-card-doc .field label{font-size:13px}
/* Validação pública do certificado */
.wrap.verify-wrap{max-width:820px;padding-top:32px;padding-bottom:56px;display:flex;flex-direction:column;gap:18px}
.verify-form{display:flex;gap:12px;align-items:flex-end;padding:22px}
.verify-form .field{flex:1;min-width:0}
.verify-form .input{text-transform:uppercase;letter-spacing:.06em}
.verify-result{display:flex;gap:22px;align-items:flex-start}
.verify-result .success-ic{width:60px;height:60px;margin:0;flex-shrink:0}
.verify-result .success-ic .ic{width:28px;height:28px}
.verify-result h2{font-size:26px;letter-spacing:-.02em;margin-top:6px;overflow-wrap:anywhere}
.verify-result p{color:var(--muted);margin-top:6px}
.verify-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 22px;margin-top:18px}
.verify-facts .wide{grid-column:1 / -1}
.verify-facts dt{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.verify-facts dd{margin:4px 0 0;font-weight:600}
@media (max-width: 640px){
  .verify-form{flex-direction:column;align-items:stretch}
  .verify-result{flex-direction:column}
  .verify-facts{grid-template-columns:1fr 1fr}
}
.order-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.order-row{display:flex;align-items:center;gap:16px;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);text-decoration:none;transition:border-color .15s,box-shadow .15s}
.order-row:hover{border-color:var(--line-strong);box-shadow:var(--shadow);color:var(--ink)}
.order-row.has-pending{border-left:4px solid var(--gold)}
.order-row-ic{width:44px;height:44px;border-radius:12px;background:var(--blue-tint);color:var(--blue-dk);display:grid;place-items:center;flex-shrink:0}
.order-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.order-row-main strong{font-size:15.5px}
.order-row-main small{font-size:13px;color:var(--muted)}
.order-row-alert{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-size:13px;font-weight:600;color:#7F5A10}
[data-theme="dark"] .order-row-alert{color:#E6C567}
.order-row-total{font-family:var(--display);font-size:17px;white-space:nowrap;min-width:110px;text-align:right}
.order-row-go{color:var(--muted);flex-shrink:0;transition:transform .15s}
.order-row:hover .order-row-go{transform:translateX(3px);color:var(--blue)}
.acc-order{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
.acc-order-main{min-width:0}
.seat-progress{padding:16px 18px;border-radius:12px;background:var(--gray);margin-bottom:8px}
.seat-progress-row{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;font-size:14.5px;color:var(--text);margin-bottom:10px}
.seat-progress-row strong{color:var(--ink)}
.seat-progress-row span{margin-left:auto;font-size:13px;font-weight:600;color:#7F5A10}
[data-theme="dark"] .seat-progress-row span{color:#E6C567}
.seat-progress p{font-size:13.5px;color:var(--muted);margin-top:12px;line-height:1.55}
.seat-course{display:flex;align-items:center;gap:12px;font-size:15.5px;margin:26px 0 12px}
.seat-course .thumb{width:56px;height:40px;border-radius:7px;flex-shrink:0}
.seat-course .thumb .plate{padding:5px 7px 8px}
.seat-course .thumb .plate-code{font-size:12px}
.seat-course .thumb .plate-code.is-text{font-size:8.5px}
.seat-course .thumb .plate-stripe{width:20px;height:3px}
.seat.is-empty{border-style:dashed;background:var(--surface-2)}
.seat-n{display:none}
.acc-order-empty{display:flex;gap:12px;align-items:flex-start;color:var(--muted)}
.acc-order-empty .ic{flex-shrink:0;margin-top:2px;color:var(--blue)}
.acc-order .order-summary{top:96px}
@media (max-width: 1180px){
  .acc-order{grid-template-columns:minmax(0,1fr)}
  .acc-order .order-summary{position:static;order:-1}
  .cert-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 760px){
  .cert-grid{grid-template-columns:minmax(0,1fr)}
  .order-row{flex-wrap:wrap;gap:10px 14px;padding:16px}
  .order-row-main{flex-basis:calc(100% - 60px)}
  .order-row .status{margin-left:58px}
  .order-row-total{margin-left:auto;min-width:0}
  .order-row-go{display:none}
  .acc-jump a{flex:1 1 auto;justify-content:space-between}
}
.dl{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;font-size:14.5px}
.dl dt{color:var(--muted)}
.dl dd{margin:0;color:var(--ink);font-weight:500}

/* páginas de texto */
.page{padding:48px 0 100px}
.page-narrow{max-width:760px}
.page h2{font-size:22px;margin:32px 0 10px}
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;align-items:start;padding:36px 0 100px}
.contact-aside{display:flex;flex-direction:column;gap:14px;position:sticky;top:96px}
.contact-aside .help{margin-top:0}
.topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.topic{padding:14px 16px;gap:10px}
.contact-steps ol{display:flex;flex-direction:column;gap:14px;margin-top:16px;list-style:none;padding:0}
.contact-steps li{display:flex;gap:12px;align-items:flex-start}
.contact-steps li > span{width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:var(--mono);font-size:12px;font-weight:600;flex-shrink:0}
.contact-steps strong{display:block;font-size:14.5px;color:var(--ink);line-height:1.35}
.contact-steps small{display:block;font-size:13px;color:var(--muted);margin-top:2px;line-height:1.45}
.contact-links{display:flex;flex-direction:column;padding:8px}
.contact-links a{display:flex;align-items:center;gap:10px;padding:12px;border-radius:10px;font-weight:600;font-size:14.5px;color:var(--ink);text-decoration:none;transition:background .15s,color .15s}
.contact-links a:hover{background:var(--gray);color:var(--navy-ink)}
.contact-links a .ic:first-child{color:var(--blue)}
.contact-links a .ic:last-child{margin-left:auto;color:var(--muted)}
.contact-sent{display:flex;flex-direction:column;align-items:center;text-align:center;padding:52px 30px}
.contact-sent h2{font-size:26px}
.contact-sent p{color:var(--muted);margin-top:10px;max-width:440px}
.contact-sent-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:26px}

/* Sobre nós e Empresas: topo escuro (intro-*), cartões, passos, áreas e contato */
.intro-hero{padding-bottom:72px}
.intro-hero .kicker{color:#E6C567}
.intro-in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:64px;align-items:center;margin-top:28px}
.intro-hero h1{font-size:48px;letter-spacing:-.03em;line-height:1.08;margin-top:14px;max-width:640px}
.phead-dark .intro-lead{font-size:18px;color:#C9D4E5;margin-top:18px;max-width:600px;line-height:1.6}
.phead-dark .intro-place{display:flex;align-items:center;gap:8px;font-size:14.5px;color:#9FB3CF;margin-top:14px}
.intro-place .ic{color:#E6C567}
.intro-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.about-stats{box-shadow:0 24px 60px rgba(0,0,0,.28)}
.about-stats .stat:last-child:nth-child(odd){grid-column:1/-1}
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.pillar{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:30px 28px 26px;display:flex;flex-direction:column;gap:12px}
.pillar-ic{width:52px;height:52px;border-radius:14px;background:var(--navy);color:#E6C567;display:grid;place-items:center;margin-bottom:6px}
.pillar-ic .ic{width:26px;height:26px}
.pillar h3{font-size:20px;letter-spacing:-.01em}
.pillar p{font-size:15px;color:var(--muted);line-height:1.6}
.pillar .text-link{margin-top:auto;padding-top:8px}
.how{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.how-step{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:26px 24px}
.how-step:not(:last-child)::after{content:'';position:absolute;top:45px;right:-21px;width:22px;height:2px;background:var(--line-strong)}
.how-n{width:40px;height:40px;border-radius:50%;background:var(--gold);color:var(--gold-ink);display:grid;place-items:center;font-family:var(--mono);font-weight:600;font-size:15px}
.how-step h3{font-size:17px;margin-top:18px}
.how-step p{font-size:14.5px;color:var(--muted);margin-top:6px;line-height:1.55}
.how-note{display:flex;align-items:center;gap:8px;margin-top:22px;font-size:14px;color:var(--muted)}
.how-note .ic{color:var(--blue);flex-shrink:0}
.areas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.area{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:14px;color:var(--ink);text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s}
.area:hover{border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-2px);color:var(--ink)}
.area-ic{width:42px;height:42px;border-radius:11px;background:var(--blue-tint);color:var(--blue-dk);display:grid;place-items:center;flex-shrink:0}
.area-name{display:flex;flex-direction:column;font-weight:600;font-size:15px;line-height:1.3;min-width:0}
.area-name small{font-weight:400;font-size:13px;color:var(--muted);margin-top:2px}
.area > .ic:last-child{margin-left:auto;color:var(--muted);flex-shrink:0;transition:transform .15s,color .15s}
.area:hover > .ic:last-child{transform:translateX(3px);color:var(--blue)}
.cta-card{position:relative;overflow:hidden;background:radial-gradient(ellipse 60% 140% at 100% 0%,rgba(31,95,214,.35),transparent 70%),var(--navy);color:#C9D4E5;border-radius:22px;padding:52px 56px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:center}
.cta-card .grid-bg{-webkit-mask-image:linear-gradient(90deg,transparent 10%,#000);mask-image:linear-gradient(90deg,transparent 10%,#000)}
.cta-card-text,.cta-card-side{position:relative}
.cta-card .kicker{color:#E6C567}
.cta-card h2{color:#fff;font-size:36px;letter-spacing:-.03em;margin-top:12px}
.cta-card p{margin-top:12px;max-width:560px;font-size:16.5px;line-height:1.6}
.cta-sec{padding-top:0}
.about-facts{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:14px;color:#9FB3CF}
.about-facts li{display:flex;gap:8px;align-items:center}
.about-facts .ic{color:#E6C567;flex-shrink:0}
.cta-card-side{display:flex;flex-direction:column;gap:12px;min-width:260px}
.cta-card-side .btn{justify-content:center}
.cta-card .btn-line-w{border-color:rgba(255,255,255,.4)}
.about-channels{display:flex;flex-direction:column;gap:4px;margin-top:6px}
.about-channels a{display:flex;align-items:center;gap:8px;padding:4px 0;color:#fff;font-size:14.5px;font-weight:600;text-decoration:none}
.about-channels a:hover{color:#E6C567}
@media (max-width: 1180px){
  .intro-hero h1{font-size:40px}
  .how{grid-template-columns:repeat(2,minmax(0,1fr))}
  .how-step:not(:last-child)::after{display:none}
}
@media (max-width: 940px){
  .intro-in{grid-template-columns:minmax(0,1fr);gap:40px}
  .pillars{grid-template-columns:minmax(0,1fr)}
  .areas{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cta-card{grid-template-columns:minmax(0,1fr);gap:28px;padding:40px 32px}
  .cta-card-side{flex-direction:row;flex-wrap:wrap;min-width:0}
  .about-channels{width:100%}
}
@media (max-width: 760px){
  .intro-hero{padding-bottom:48px}
  .intro-hero h1{font-size:31px}
  .phead-dark .intro-lead{font-size:16px}
  .intro-ctas .btn,.cta-card-side .btn{flex:1 1 auto}
  .about-stats .stat{padding:24px 20px}
  .about-stats .stat-n{font-size:36px}
  .pillar{padding:24px 22px}
  .how,.areas{grid-template-columns:minmax(0,1fr)}
  .how-step{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:16px;padding:20px}
  .how-n{grid-row:span 2}
  .how-step h3{margin-top:0;align-self:end}
  .cta-card{padding:32px 22px;border-radius:18px}
  .cta-card h2{font-size:28px}
}

/* Categorias: atalhos no topo e um cartão por área, com alguns treinamentos */
.cat-jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.cat-jump a{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:#DCE5F2;font-size:13.5px;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}
.cat-jump a:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.28);color:#fff}
.cat-jump .ic{color:#E6C567}
.catx-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding-top:40px}
.catx{scroll-margin-top:96px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:28px;display:flex;flex-direction:column;transition:border-color .2s,box-shadow .2s}
.catx:hover{border-color:var(--line-strong);box-shadow:var(--shadow-h)}
.catx:target{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-tint)}
.catx-head{display:flex;align-items:center;gap:16px}
.catx-ic{width:54px;height:54px;border-radius:14px;background:var(--navy);color:#E6C567;display:grid;place-items:center;flex-shrink:0}
.catx-ic .ic{width:26px;height:26px}
.catx h2{font-size:22px;letter-spacing:-.02em}
.catx h2 a{color:var(--ink);text-decoration:none}
.catx h2 a:hover{color:var(--blue-dk)}
.catx-meta{font-size:14px;color:var(--muted);margin-top:4px}
.catx-meta strong{color:var(--ink);font-weight:600}
.catx-desc{font-size:15px;color:var(--muted);margin-top:16px;line-height:1.55}
.catx-list{list-style:none;margin:18px 0 22px;padding:0;border-top:1px solid var(--line)}
.catx-list li{border-bottom:1px solid var(--line-2)}
.catx-list a{display:flex;align-items:center;gap:12px;padding:12px 2px;color:var(--ink);font-size:14.5px;font-weight:500;text-decoration:none}
.catx-list a:hover .catx-title{color:var(--blue-dk)}
.catx-title{flex:1;min-width:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4;transition:color .15s}
.catx-h{flex-shrink:0;font-family:var(--mono);font-size:12.5px;color:var(--muted)}
.catx-btn{margin-top:auto;align-self:flex-start}
.catx.is-soon{background:var(--surface-2);border-style:dashed}
.catx.is-soon:hover{box-shadow:none}
.catx.is-soon .catx-ic{background:var(--gray);color:var(--muted)}
.catx-more{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:20px 0 100px}
.catx-more-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:32px}
.catx-more-card.is-dark{background:radial-gradient(ellipse 70% 120% at 100% 0%,rgba(31,95,214,.35),transparent 70%),var(--navy);border-color:transparent;color:#C9D4E5}
.catx-more-card .grid-bg{-webkit-mask-image:linear-gradient(90deg,transparent 10%,#000);mask-image:linear-gradient(90deg,transparent 10%,#000)}
.catx-more-in{position:relative;display:flex;flex-direction:column;align-items:flex-start;height:100%}
.catx-more-card h2{font-size:26px;letter-spacing:-.02em;margin-top:10px}
.catx-more-card p{color:var(--muted);margin-top:8px;max-width:460px}
.catx-more-in > p,.catx-more-in > .quick{margin-bottom:22px}
.catx-more-in > .quick{align-self:stretch}
.catx-more-in > .btn{margin-top:auto}
.catx-more-card.is-dark h2{color:#fff}
.catx-more-card.is-dark p{color:#C9D4E5}
.catx-more-card.is-dark .kicker{color:#E6C567}
.catx-more-card.is-dark .chip{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#fff}
.catx-more-card.is-dark .chip:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.3)}
.catx-more-card .cat-jump{margin:0 0 22px}
@media (max-width: 940px){
  .catx-grid,.catx-more{grid-template-columns:minmax(0,1fr)}
}
@media (max-width: 760px){
  .cat-jump{flex-wrap:nowrap;overflow-x:auto;margin:22px -16px 0;padding:0 16px 4px;scrollbar-width:none}
  .cat-jump::-webkit-scrollbar{display:none}
  .catx-grid{padding-top:24px;gap:14px}
  .catx{padding:22px 20px}
  .catx h2{font-size:19px}
  .catx-btn{align-self:stretch;justify-content:center}
  .catx-more{padding-bottom:64px;gap:14px}
  .catx-more-card{padding:26px 22px}
  .catx-more-in > .btn{align-self:stretch;justify-content:center}
  .catx-more-card .quick,.catx-more-card .cat-jump{flex-wrap:wrap;overflow:visible;margin:0 0 22px;padding:0}
}

/* NRs: um cartão por norma (número em destaque, tipos de treinamento e menor preço) e filtro ao digitar */
.nrc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding-top:40px}
.nrc{display:flex;flex-direction:column;gap:14px;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:16px;color:var(--ink);text-decoration:none;transition:transform .2s ease,border-color .2s,box-shadow .2s}
.nrc:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:var(--shadow-h);color:var(--ink)}
.nrc[hidden]{display:none}
.nrc-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.nrc-badge{width:60px;height:60px;border-radius:14px;background:var(--navy);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--display);font-weight:800;font-size:24px;line-height:1;letter-spacing:-.02em;flex-shrink:0;transition:background .2s}
.nrc-badge small{font-family:var(--mono);font-weight:600;font-size:10px;letter-spacing:.12em;color:#E6C567;margin-bottom:4px}
.nrc:hover .nrc-badge{background:var(--blue)}
.nrc-count{font-size:13px;font-weight:600;color:var(--muted);margin-top:4px;white-space:nowrap}
.nrc-name{font-size:17px;letter-spacing:-.01em;line-height:1.3}
.nrc-tags{display:flex;flex-wrap:wrap;gap:6px}
.nrc-tags span{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 4px 0 10px;border-radius:999px;background:var(--gray);font-size:12px;font-weight:600;color:var(--text)}
.nrc-tags b{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--surface);color:var(--navy-ink);font-size:11px;display:grid;place-items:center}
.nrc-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line-2);font-size:13.5px;color:var(--muted)}
.nrc-foot strong{color:var(--ink);font-weight:600}
.nrc-foot .ic{color:var(--blue);transition:transform .2s}
.nrc:hover .nrc-foot .ic{transform:translateX(4px)}
.nr-empty{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:40px;padding:16px 18px;border-radius:12px;background:var(--surface);border:1px dashed var(--line-strong);font-size:14.5px;color:var(--muted)}
.nr-empty[hidden]{display:none}
.nr-empty + .nrc-grid{padding-top:16px}
.sec-head + .nrc-grid{padding-top:0}
@media (max-width: 1180px){
  .nrc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width: 940px){
  .nrc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 560px){
  .nrc-grid{grid-template-columns:minmax(0,1fr);gap:12px;padding-top:24px}
  .nrc{padding:18px}
  /* Home: duas colunas, sem as etiquetas de tipo */
  .nrc-grid.is-compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .is-compact .nrc{padding:14px;gap:10px}
  .is-compact .nrc-top{flex-direction:column;gap:8px}
  .is-compact .nrc-badge{width:48px;height:48px;font-size:20px;border-radius:12px}
  .is-compact .nrc-count{margin-top:0;font-size:12px}
  .is-compact .nrc-name{font-size:15px}
  .is-compact .nrc-tags{display:none}
  .is-compact .nrc-foot{padding-top:10px;font-size:12px}
  .is-compact .nrc-foot .ic{display:none}
}

/* Páginas legais (termos, privacidade): índice fixo ao lado e o texto em um cartão com seções numeradas */
.legal-head{align-items:flex-end}
.phead-dark .legal-meta{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:13.5px;color:#9FB3CF}
.legal-meta .ic{color:#E6C567}
.legal-actions{display:flex;gap:10px;flex-wrap:wrap}
.legal-actions .btn-line-w{border-color:rgba(255,255,255,.3)}
.legal{display:grid;grid-template-columns:260px minmax(0,1fr);gap:40px;align-items:start;padding-top:40px;padding-bottom:100px}
.legal-aside{position:sticky;top:96px;display:flex;flex-direction:column;gap:14px}
.legal-toc{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px 12px}
.legal-toc h2{font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:0 8px 10px}
.legal-toc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.legal-toc a{display:flex;align-items:center;gap:10px;padding:8px;border-radius:9px;font-size:14px;font-weight:500;color:var(--text);text-decoration:none;transition:background .15s,color .15s}
.legal-toc a span{width:22px;height:22px;border-radius:50%;background:var(--gray);color:var(--muted);display:grid;place-items:center;font-family:var(--mono);font-size:11px;font-weight:600;flex-shrink:0;transition:background .15s,color .15s}
.legal-toc a:hover{background:var(--gray);color:var(--navy-ink)}
.legal-toc a.on{background:var(--blue-tint);color:var(--navy-ink);font-weight:600}
.legal-toc a.on span{background:var(--navy);color:#E6C567}
.legal-help{margin-top:0}
.legal-doc{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:44px 48px}
.legal-doc > *{max-width:760px}
.legal-intro{font-size:17px;line-height:1.65;color:var(--ink);padding-bottom:28px;border-bottom:1px solid var(--line)}
.legal-sec{max-width:none;scroll-margin-top:96px;padding-top:30px}
.legal-sec + .legal-sec{margin-top:30px;border-top:1px solid var(--line-2)}
.legal-sec h2{display:flex;align-items:center;gap:12px;font-size:21px;letter-spacing:-.01em;margin:0 0 14px}
.legal-sec h2 span{width:32px;height:32px;border-radius:9px;background:var(--navy);color:#E6C567;display:grid;place-items:center;font-family:var(--mono);font-size:13px;font-weight:600;flex-shrink:0}
.legal-sec p,.legal-sec li{line-height:1.7}
.legal-note{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border-radius:12px;background:#FCF6E6;border:1px solid #EEDBA8;color:#5E430C}
.legal-note .ic{color:#9A6B12;flex-shrink:0;margin-top:3px}
.legal-note a{color:#5E430C;font-weight:600}
[data-theme="dark"] .legal-note{background:rgba(213,161,59,.12);border-color:rgba(213,161,59,.32);color:#EED68E}
[data-theme="dark"] .legal-note .ic,[data-theme="dark"] .legal-note a{color:#E6C567}
.legal-summary{margin-top:28px;padding:22px 24px;border-radius:14px;background:var(--blue-tint);border:1px solid rgba(31,95,214,.14)}
.legal-summary h2{font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-dk)}
.legal-summary ul{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.legal-summary li{display:flex;flex-direction:column;gap:10px;font-size:14.5px;line-height:1.5;color:var(--ink)}
.legal-summary .ic{width:36px;height:36px;padding:8px;border-radius:10px;background:var(--navy);color:#E6C567}
.legal-sec .legal-data{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.legal-sec .legal-data li{display:flex;gap:12px;align-items:flex-start;margin:0;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
.legal-data-ic{width:34px;height:34px;border-radius:9px;background:var(--blue-tint);color:var(--blue-dk);display:grid;place-items:center;flex-shrink:0}
.legal-data-ic .ic{width:18px;height:18px}
.legal-sec .legal-data p{font-size:14.5px;line-height:1.55}
.legal-data strong{color:var(--ink)}
@media (max-width: 940px){
  .legal{grid-template-columns:minmax(0,1fr);gap:20px;padding-top:24px}
  .legal-aside{position:static}
  .legal-toc ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .legal-help{display:none}
}
@media (max-width: 760px){
  .legal-head{align-items:flex-start}
  .legal-toc ol{grid-template-columns:minmax(0,1fr)}
  .legal-doc{padding:26px 20px;border-radius:16px}
  .legal-intro{font-size:16px;padding-bottom:22px}
  .legal-sec{padding-top:24px}
  .legal-sec + .legal-sec{margin-top:24px}
  .legal-sec h2{font-size:18px}
  .legal-summary{padding:18px}
  .legal-summary ul,.legal-sec .legal-data{grid-template-columns:minmax(0,1fr)}
  .legal-summary li{flex-direction:row;align-items:flex-start}
  .legal-summary .ic{flex-shrink:0}
  .legal{padding-bottom:64px}
}
@media print{
  .ftr,.legal-aside,.legal-actions{display:none !important}
  .phead-dark{background:none;padding:0 0 16px}
  .phead-dark .grid-bg,.phead-dark .crumbs{display:none}
  .phead-dark h1,.phead-dark p{color:#000}
  .legal{display:block;padding:0}
  .legal-doc{border:0;padding:0;max-width:none}
}

/* Páginas de erro (sem banco): fundo da marca, número grande, busca e atalhos no 404 */
.err-page{background:var(--navy-deep)}
.err{position:relative;isolation:isolate;overflow:hidden;min-height:100vh;display:grid;place-items:center;padding:56px 16px;color:#C9D4E5}
.err::before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(7,26,51,.86),rgba(7,26,51,.94)),url('../img/hero-1600.jpg') center 35%/cover,var(--navy-deep)}
.err::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:32px 32px}
.err-in{width:min(640px,100%);text-align:center;display:flex;flex-direction:column;align-items:center}
.err-code{font-family:var(--display);font-weight:800;font-size:clamp(96px,18vw,168px);line-height:.9;letter-spacing:-.05em;margin-top:40px;background:linear-gradient(180deg,#F0D58A,#D5A13B 55%,#9E6F1E);-webkit-background-clip:text;background-clip:text;color:transparent}
.err .kicker{color:#E6C567;margin-top:18px}
.err h1{color:#fff;font-size:clamp(30px,5vw,42px);letter-spacing:-.03em;margin-top:10px}
.err-msg{font-size:17px;line-height:1.6;margin-top:12px;max-width:520px}
.err-note{font-size:14.5px;color:#9FB3CF}
.err-search{display:flex;gap:10px;width:100%;margin-top:28px}
.err-search .search-field{flex:1;height:52px;border-color:transparent}
.err-search .btn{height:52px}
.err-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:20px}
.err-actions .btn-line-w{border-color:rgba(255,255,255,.3)}
.err-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 20px;margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);width:100%}
.err-links a{color:#AFC0D8;font-size:14px;font-weight:600;text-decoration:none}
.err-links a:hover{color:#fff}
.err-debug{margin-top:28px;width:100%;text-align:left;white-space:pre-wrap;font-size:12px;color:#B42318;background:#FDECEC;padding:16px;border-radius:10px;overflow:auto}
@media (max-width: 560px){
  .err-search{flex-direction:column}
  .err-search .search-field{flex:none}
  .err-search .btn,.err-actions .btn{width:100%;justify-content:center}
}

/* Empresas: prévia de um pedido com vagas no topo e formulário de proposta */
.intro-points{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.intro-points li{display:flex;align-items:center;gap:10px;font-size:15.5px;color:#DCE5F2}
.intro-points .ic{color:#E6C567;flex-shrink:0}
.intro-stats{display:flex;gap:36px;flex-wrap:wrap;margin-top:36px;padding-top:28px;border-top:1px solid rgba(255,255,255,.14)}
.intro-stats strong{display:block;font-family:var(--display);font-weight:700;font-size:32px;color:#E6C567;letter-spacing:-.02em;line-height:1}
.intro-stats span{display:block;font-size:13.5px;color:#9FB3CF;margin-top:6px}
.seat-demo{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 30px 70px rgba(0,0,0,.35)}
.sd-head{display:flex;align-items:center;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.sd-ic{width:44px;height:44px;border-radius:12px;background:var(--navy);color:#E6C567;display:grid;place-items:center;flex-shrink:0}
.sd-head strong{display:block;font-family:var(--display);font-size:17px;color:var(--ink)}
.sd-head small{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.sd-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line-2)}
.sd-row:last-child{border-bottom:0}
.sd-row > div{flex:1;min-width:0}
.sd-row strong{display:block;font-size:14.5px;color:var(--ink)}
.sd-row small{display:block;font-size:12.5px;color:var(--muted);margin-top:1px}
.sd-row .avatar{width:36px;height:36px;border-radius:10px;font-size:12px}
.sd-empty .avatar{background:transparent;border:1.5px dashed var(--line-strong);color:var(--muted)}
.sd-foot{display:flex;align-items:center;gap:8px;margin-top:6px;padding:12px 14px;border-radius:12px;background:var(--gray);font-size:13.5px;font-weight:600;color:var(--navy-ink)}
.sd-foot .ic{color:var(--gold);flex-shrink:0}
.biz-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);gap:56px;align-items:start}
.biz-form-text h2{font-size:40px;letter-spacing:-.03em;margin-top:12px}
.biz-form-text > p{color:var(--muted);font-size:17px;margin-top:14px;max-width:480px}
.biz-form-text .checks{margin-top:26px;max-width:480px}
.biz-channels{display:flex;flex-direction:column;gap:4px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line);max-width:480px}
.biz-channels a{display:flex;align-items:center;gap:8px;padding:4px 0;color:var(--navy-ink);font-size:15px;font-weight:600;text-decoration:none}
.biz-channels a:hover{color:var(--blue)}
.biz-submit{width:100%;justify-content:center;margin-top:18px}
@media (max-width: 1180px){
  .biz-form{grid-template-columns:minmax(0,1fr) minmax(0,480px);gap:40px}
}
@media (max-width: 940px){
  .biz-form{grid-template-columns:minmax(0,1fr)}
  .biz-form-text h2{font-size:32px}
}
@media (max-width: 760px){
  .seat-demo{padding:18px}
  .sd-row{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:12px;row-gap:6px}
  .sd-row .status{grid-column:2;justify-self:start}
  .biz-form-text h2{font-size:28px}
  .intro-stats{gap:24px}
}

/* ===== tablet ===== */
@media (max-width: 1180px){
  .wrap{padding:0 28px}
  .hdr-in{gap:18px}
  .nav-link{padding:8px 9px;font-size:14px}
  .nav-link.on::after{left:9px;right:9px}
  .hide-t,.hdr-cta{display:none}
  .grid4{grid-template-columns:repeat(3,minmax(0,1fr))}
  .grid4 > .card:nth-child(n+7){display:none}
  .cat-layout{grid-template-columns:262px minmax(0,1fr);gap:24px}
  .cgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .c-page{grid-template-columns:[full-start] 28px [main-start] minmax(0,1fr) [main-end] 36px [aside-start] 340px [aside-end] 28px [full-end]}
  .c-head h1{font-size:40px}
  .c-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cart-layout{grid-template-columns:minmax(0,1fr) 340px;gap:28px}
  .ent-in{gap:48px}
  .ftr-perks{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ftr-perks-cta{grid-column:1 / -1;justify-self:start}
  .ftr-top{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ftr-brand,.ftr-help{grid-column:1 / -1}
  .ftr-brand .ftr-tag{max-width:480px}
  .faq-in{grid-template-columns:300px minmax(0,1fr);gap:48px}
  .nr-board .mega-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .my-courses{grid-template-columns:1fr}
  .auth-grid{grid-template-columns:minmax(0,1fr) 420px;gap:40px}
  .seat .fields{grid-template-columns:1fr 1fr}
  .seat .fields .btn{grid-column:1 / -1}
}
/* ===== compacto: menu hambúrguer e filtros em painel ===== */
@media (max-width: 940px){
  .nav,.hdr-cta,.hide-c{display:none}
  .show-c{display:grid}
  .mega{display:none}
  .cats{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .grid4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid4 > .card:nth-child(n+5){display:none}
  .js .has-hero .hero{margin-top:-65px;padding-top:calc(64px + clamp(32px,6vh,72px))}
  .cat-layout{grid-template-columns:minmax(0,1fr);gap:0;padding-top:0}
  .filters{background:none;border:0;border-radius:0;padding:0;box-shadow:none}
  .js .filters{display:none}
  .f-opts.cols{grid-template-columns:repeat(auto-fill,minmax(78px,1fr))}
  .js .filters.open{display:flex;position:fixed;left:0;right:0;bottom:0;top:auto;max-height:88%;background:var(--surface);z-index:70;border-radius:20px 20px 0 0;animation:sheetUp .3s ease;box-shadow:0 -20px 40px rgba(7,26,51,.2)}
  .filters.open .f-head{display:none}
  .filters.open .filters-body{padding:0 20px;margin:0;flex:1}
  .filters.open .sheet-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 10px 20px;border-bottom:1px solid var(--line)}
  .filters.open .sheet-head h2{font-size:18px}
  .filters.open .sheet-foot{display:grid;grid-template-columns:1fr 1.5fr;gap:10px;padding:14px 20px 18px;border-top:1px solid var(--line)}
  .filters.open .f-group:last-child{border-bottom:0}
  .filters:not(.open){position:static;max-height:none;margin-top:24px}
  .js .m-toolbar{display:flex;position:sticky;top:64px;z-index:30;background:var(--hdr-bg);border-bottom:1px solid var(--line);padding:10px 28px;gap:10px;margin:0 -28px 16px;align-items:center}
  .m-toolbar .btn{flex:1}
  .js .results-bar .sort{display:none}
  .hdr-in{height:64px}
  .nav-link.on::after{display:none}
  .c-subnav{top:64px}
  .c-page{grid-template-columns:[full-start] 28px [main-start aside-start] minmax(0,1fr) [main-end aside-end] 28px [full-end];padding-bottom:64px}
  .c-head{padding-bottom:40px}
  .c-aside{grid-row:2;padding-top:24px}
  .c-main{grid-row:3}
  .c-aside .cover.lg{aspect-ratio:21/9;margin-bottom:16px}
  .c-aside .cover.lg:not(.has-img){display:none} /* a placa só repete o topo; foto enviada no painel aparece */
  .buy-card{position:static;margin-top:0}
  .buy-card .buy-actions.has-bar{display:none}
  .f-backdrop{display:block}
  .m-buybar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--surface);border-top:1px solid var(--line);padding:12px 16px calc(12px + env(safe-area-inset-bottom));gap:14px;align-items:center;box-shadow:0 -8px 24px rgba(11,37,69,.08)}
  .m-buybar .mb-price{flex:1;min-width:0}
  .m-buybar .mb-price small{display:block;font-size:12px;color:var(--muted);text-decoration:line-through}
  .m-buybar .mb-price strong{font-family:var(--display);font-size:22px;color:var(--ink);letter-spacing:-.02em;line-height:1.1}
  .m-buybar .btn{flex-shrink:0}
  .m-buybar form{display:contents}
  .has-bar-page{padding-bottom:76px}
  .has-bar-page .toasts{bottom:92px}
  .cart-layout{grid-template-columns:minmax(0,1fr)}
  .summary{position:static}
  .ent-in{grid-template-columns:1fr}
  .faq-in{grid-template-columns:1fr;gap:32px}
  .cert-in{grid-template-columns:1fr;gap:36px}
  .nr-board .mega-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .acc-main{padding:24px 0 64px}
  .auth-grid{grid-template-columns:1fr;max-width:520px}
  .auth-side{display:none}
  .auth-split .auth-grid{grid-template-columns:minmax(0,1fr);max-width:none;min-height:0}
  .auth-split .auth-side{display:flex;padding:32px 28px 88px}
  .auth-split .auth-side h1{font-size:32px}
  .auth-split .auth-side > p,.auth-split .auth-side .checks,.auth-split .auth-side .auth-steps{display:none}
  .auth-split .auth-card{width:min(520px,calc(100% - 56px));margin:-56px 0 56px;position:relative}
  .contact-grid{grid-template-columns:minmax(0,1fr)}
  .contact-aside{position:static}
}
/* ===== celular ===== */
@media (max-width: 760px){
  .wrap{padding:0 16px}
  .demobar{font-size:11.5px;padding:7px 12px}
  .hdr-in{gap:4px}
  .logo-sub{font-size:8.5px}
  .icon-btn{width:42px;height:42px}
  .hero{min-height:max(560px,100vh);min-height:max(560px,100svh);padding-bottom:124px}
  .hero h1{font-size:clamp(32px,9vw,38px);letter-spacing:-.03em;margin:14px 0 16px}
  .hero .kicker{font-size:11px;letter-spacing:.08em}
  .hero-sub{font-size:16.5px}
  .hero-ctas{margin-top:26px;width:100%}
  .hero-ctas .btn{flex:1 1 100%}
  .hero-points{flex-direction:column;align-items:center;gap:10px;margin-top:28px}
  .hv-stripe{right:18px;bottom:18px;width:80px}
  .search-panel{padding:20px 18px;margin-top:-60px;border-radius:16px}
  .search-head{flex-direction:column;gap:2px;margin-bottom:14px}
  .search-head h2{font-size:19px}
  .search-form{flex-direction:column;gap:10px}
  .search-field{height:54px;padding:0 14px}
  .search-field input{font-size:16px}
  .search-form .btn{height:52px;width:100%}
  .quick{flex-wrap:nowrap;overflow-x:auto;margin:16px -18px 0;padding:0 18px 4px;scrollbar-width:none}
  .quick::-webkit-scrollbar{display:none}
  .sec{padding:64px 0}
  .sec-head{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:28px}
  .sec-head h2{font-size:29px}
  .sec-head p{font-size:15.5px}
  .cats{gap:12px}
  .cat{padding:18px 16px;min-height:0;gap:10px;border-radius:14px}
  .cat p{display:none}
  .cat-ic{width:40px;height:40px;border-radius:10px}
  .cat-ic .ic{width:20px;height:20px}
  .cat h3{font-size:15.5px}
  .grid4{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -16px;padding:4px 16px 16px;scrollbar-width:none}
  .grid4::-webkit-scrollbar{display:none}
  .grid4 > .card{flex:0 0 82%;scroll-snap-align:start}
  .grid4 > .card:nth-child(n+5){display:flex}
  .cgrid{grid-template-columns:1fr;gap:12px}
  .cgrid .card{display:grid;grid-template-columns:108px minmax(0,1fr)}
  .cgrid .card:hover{transform:none}
  .cgrid .cover{aspect-ratio:auto;height:100%}
  .cgrid .plate{padding:12px 12px 16px}
  .cgrid .plate-kicker,.cgrid .plate-icon,.cgrid .card-desc{display:none}
  .cgrid .plate-code{font-size:24px}
  .cgrid .plate-code.is-text{font-size:14px;max-width:100%}
  .cgrid .plate-stripe{width:44px;height:5px}
  .cgrid .badge{top:8px;left:8px;font-size:9px;height:20px;padding:0 6px}
  .cgrid .card-body{padding:14px;gap:8px}
  .cgrid .card-title{font-size:15px}
  .cgrid .price-row{min-height:0;padding-top:8px}
  .cgrid .price{font-size:19px}
  .cgrid .card-actions .btn{height:40px;font-size:13.5px}
  .js .m-toolbar{padding:10px 16px;margin:0 -16px 14px}
  .phead{padding:18px 0 22px}
  .phead-row{flex-direction:column;align-items:stretch;gap:16px}
  .phead h1{font-size:28px}
  .cat-search{width:100%;height:50px}
  .phead-dark{padding:20px 0 28px}
  .phead-dark h1{font-size:30px}
  .phead-dark p{font-size:15.5px}
  .phead-dark .phead-row{align-items:stretch}
  .phead-dark .phead-row > [role="search"]{flex:none}
  .phead-dark .cat-search{height:54px}
  .ent{padding:72px 0}
  .ent h2{font-size:31px}
  .ent-lead{font-size:16px}
  .ent-feats{grid-template-columns:1fr;gap:20px;margin-top:32px}
  .ent-ctas .btn{flex:1 1 100%}
  .stat{padding:22px 18px}
  .stat-n{font-size:32px}
  .stat-l{font-size:13.5px}
  .why{grid-template-columns:1fr}
  .why-item,.why-item:nth-child(3n),.why-item:nth-child(3n+1){border-right:0;padding:22px 0}
  .faq-aside h2{font-size:29px}
  .acc-q{font-size:16px;padding:18px 0}
  .acc-a{padding:0 0 20px}
  .cert-stage{min-height:260px;padding:28px 18px}
  .cert-doc{padding:24px 22px 20px;transform:none}
  .cert-doc::after{display:none}
  .cert-doc-name{font-size:20px}
  .cert-doc-foot{flex-wrap:wrap;row-gap:14px}
  .nr-board{padding:10px}
  .nr-board .mega-grid{grid-template-columns:1fr}
  .ftr-perks{grid-template-columns:minmax(0,1fr);gap:18px;padding:32px 0}
  .ftr-perks-cta{justify-self:stretch;justify-content:center}
  .ftr-top{grid-template-columns:1fr 1fr;gap:32px 20px;padding-top:40px}
  .ftr-nrs{margin-top:36px}
  .ftr-nrs span{flex-basis:100%;margin:0 0 4px}
  .ftr-bot{flex-direction:column;align-items:flex-start;gap:6px}
  .ftr-up{margin:8px 0 0}
  .c-page{grid-template-columns:[full-start] 16px [main-start aside-start] minmax(0,1fr) [main-end aside-end] 16px [full-end]}
  .c-head{padding:18px 0 32px}
  .c-badges{margin-top:16px}
  .c-head h1{font-size:30px;margin-top:12px}
  .c-desc{font-size:16px}
  .c-facts{margin-top:22px;gap:8px}
  .c-fact{padding:12px;gap:10px}
  .c-aside .cover.lg{aspect-ratio:16/9}
  .callout{padding:16px;gap:12px}
  .callout-ic{width:38px;height:38px}
  .cover.lg .plate{padding:20px 20px 24px}
  .cover.lg .plate-code{font-size:52px}
  .cover.lg .plate-code.is-text{font-size:28px}
  .cover.lg .plate-icon{width:96px;height:96px;right:20px}
  .c-subnav a{padding:14px 10px 12px;font-size:14px}
  .c-sec{padding:32px 0}
  .c-sec h2{font-size:22px}
  .mod-a{padding:0 16px 16px 16px}
  .mod-q{padding:16px}
  .info-grid{grid-template-columns:1fr}
  .info-row:nth-child(odd){border-right:0}
  .buy-body{padding:20px}
  .buy-price{font-size:34px}
  .related{padding:56px 0 64px}
  .steps .step span:last-child{display:none}
  .step[aria-current] span:last-child{display:inline}
  .step:not(:first-child)::before{width:20px;margin:0 8px}
  .cart-layout{padding:20px 0 64px;gap:20px}
  .cart-list-head{padding:14px 16px;flex-direction:column;align-items:flex-start;gap:2px}
  .cart-row{grid-template-columns:76px minmax(0,1fr);gap:12px 14px;padding:16px}
  .thumb{width:76px;height:60px}
  .thumb .plate-code{font-size:17px}
  .cart-info h3{font-size:15.5px}
  .cart-side{grid-column:1 / -1;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;min-width:0;gap:10px 14px;padding-top:12px;border-top:1px dashed var(--line)}
  .cart-side .line-total{order:2;margin-left:auto}
  .cart-side .cart-qty{order:1;flex-direction:row;align-items:center;gap:10px}
  .cart-side form[data-remove]{order:3}
  .summary{padding:20px}
  .form-card{padding:20px}
  .fields{grid-template-columns:1fr}
  .pay-opts{grid-template-columns:1fr}
  .topics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .topic{padding:12px;gap:8px}
  .topic small{display:none}
  .topic strong{font-size:14px;line-height:1.3}
  .seg{display:flex}
  .seg label{flex:1}
  .seg span{justify-content:center}
  .success{padding:48px 0 72px}
  .success h1{font-size:28px}
  .toasts{left:16px;right:16px;bottom:16px;align-items:stretch}
  .toast{width:100%}
  .auth{padding:24px 0 56px}
  .auth-split{padding:0}
  .auth-split .auth-side{padding:24px 16px 80px}
  .auth-split .auth-side h1{font-size:28px}
  .auth-split .auth-card{width:calc(100% - 32px);margin-bottom:40px}
  .auth-solo{padding:32px 0;min-height:0}
  .auth-card{padding:22px 18px}
  .kpis{gap:10px}
  .kpi{padding:14px}
  .kpi-n{font-size:24px}
  .my-course{grid-template-columns:96px minmax(0,1fr)}
  .acc-head h1{font-size:24px}
  .acc-hero-row{gap:12px;margin-top:14px}
  .acc-avatar{width:48px;height:48px;border-radius:12px;font-size:16px}
  .phead-dark .acc-hello{font-size:26px}
  .acc-hero-actions{width:100%}
  .acc-tabs{margin:20px -16px 0;padding:0 16px}
  .acc-tabs a{height:42px;padding:0 12px;font-size:14px}
  .panel-head{padding:14px 16px}
  .panel-body{padding:16px}
  .seat .fields{grid-template-columns:1fr}
  .table th,.table td{padding:12px}
  .dl{grid-template-columns:1fr;gap:2px}
  .dl dd{margin-bottom:10px}
}

/* ===== celulares pequenos (até 400 px): cabe logo + 3 ícones sem rolagem lateral ===== */
@media (max-width: 400px){
  .logo-sub{letter-spacing:.03em}
  .icon-btn{width:40px}
}

/* ==========================================================================
   Modo escuro (botão no cabeçalho; sem escolha salva, segue o sistema).
   Os componentes usam os tokens acima; aqui ficam os tons escuros e as
   poucas cores claras fixas que precisam de outra versão.
   ========================================================================== */
.theme-btn .ic-sun,[data-theme="dark"] .theme-btn .ic-moon{display:none}
[data-theme="dark"] .theme-btn .ic-sun{display:block}
:root[data-theme="dark"]{color-scheme:dark;--bg:#0A1322;--surface:#101C30;--surface-2:#15243B;--gray:#0D192B;--ink:#EDF2F9;--text:#C3CDDB;--muted:#93A1B7;--line:#22334B;--line-2:#1A2A41;--line-strong:#33476A;--navy:#16335E;--navy-2:#1D4175;--navy-deep:#060F1C;--navy-ink:#A9C7F7;--blue:#2F6FE4;--blue-dk:#8DB5FA;--blue-tint:rgba(59,123,234,.16);--green-dk:#6FD39A;--green-tint:rgba(52,199,110,.14);--red:#F28B82;--red-tint:rgba(242,139,130,.14);--hdr-bg:rgba(10,19,34,.94);--toast-bg:#1E2F4A;--shadow:0 1px 2px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.22);--shadow-h:0 2px 6px rgba(0,0,0,.3),0 14px 34px rgba(0,0,0,.38)}
[data-theme="dark"] :focus-visible{outline-color:rgba(141,181,250,.55)}
[data-theme="dark"] .btn-outline{border-color:var(--line-strong)}
[data-theme="dark"] .btn-ghost:hover{background:var(--surface-2)}
[data-theme="dark"] .btn-danger{border-color:rgba(242,139,130,.4)}
[data-theme="dark"] .btn-navy{background:var(--navy-2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
[data-theme="dark"] .btn-navy:hover{background:#26528F}
[data-theme="dark"] input[type="file"]::file-selector-button{background:var(--surface-2);color:var(--ink);border:1px solid var(--line-strong);border-radius:8px;padding:6px 12px;margin-right:10px;cursor:pointer}
[data-theme="dark"] .btn-outline.is-loading::after,[data-theme="dark"] .btn-ghost.is-loading::after{border-color:rgba(255,255,255,.2);border-top-color:#fff}
[data-theme="dark"] .card:hover,[data-theme="dark"] .my-course:hover{border-color:var(--line-strong)}
[data-theme="dark"] .search-field input::placeholder,[data-theme="dark"] .input::placeholder,[data-theme="dark"] .textarea::placeholder{color:#7D8BA1}
[data-theme="dark"] .pill.badge-mais{background:rgba(213,161,59,.18);color:#E6C567}
[data-theme="dark"] .badge-oferta,[data-theme="dark"] .pill.badge-oferta,[data-theme="dark"] .pct{background:#123D27;color:#7EE0A6}
[data-theme="dark"] .f-opts.cols .f-opt:has(input:checked){background:var(--blue);border-color:var(--blue)}
[data-theme="dark"] .f-opts.cols .f-opt:has(input:checked) .f-count{color:#DCE7FB}
[data-theme="dark"] .achip:hover{background:rgba(59,123,234,.28)}
[data-theme="dark"] .shim{background:linear-gradient(90deg,#15243B 0,#1C2E4A 50%,#15243B 100%);background-size:200% 100%}
[data-theme="dark"] .ph{background:repeating-linear-gradient(-45deg,transparent 0 6px,rgba(255,255,255,.03) 6px 12px)}
[data-theme="dark"] .stepper button:disabled{color:#4A5B75}
[data-theme="dark"] .pay:hover{border-color:#5A6E8E}
[data-theme="dark"] .radio{border-color:#5A6E8E}
[data-theme="dark"] .seg input:checked + span,[data-theme="dark"] .tabs a.on{background:var(--surface-2);box-shadow:0 1px 3px rgba(0,0,0,.4)}
[data-theme="dark"] .note-box{background:rgba(213,161,59,.12);border-color:rgba(213,161,59,.32);color:#EED68E}
[data-theme="dark"] .c-hero-bg{box-shadow:inset 0 -1px 0 rgba(255,255,255,.08)}
[data-theme="dark"] .callout{background:rgba(213,161,59,.12);border-color:rgba(213,161,59,.32)}
[data-theme="dark"] .callout strong,[data-theme="dark"] .c-sec .callout p{color:#EED68E}
[data-theme="dark"] .callout .text-link,[data-theme="dark"] .callout .text-link:hover{color:#E6C567}
[data-theme="dark"] .note-box.info{background:var(--blue-tint);border-color:rgba(59,123,234,.38);color:#A9C7F7}
[data-theme="dark"] .note-box.ok{background:var(--green-tint);border-color:rgba(52,199,110,.32);color:#7EE0A6}
[data-theme="dark"] .note-box.err{background:var(--red-tint);border-color:rgba(242,139,130,.38);color:var(--red)}
[data-theme="dark"] .status.warn,[data-theme="dark"] .kpi-ic.o,[data-theme="dark"] .success-ic.wait{background:rgba(213,161,59,.16);color:#E6C567}
[data-theme="dark"] .status.info{background:rgba(129,140,248,.16);color:#A5B4FC}
[data-theme="dark"] .mega{box-shadow:0 22px 40px rgba(0,0,0,.45)}
[data-theme="dark"] .hdr.is-scrolled{box-shadow:0 1px 0 var(--line),0 10px 28px rgba(0,0,0,.4)}
[data-theme="dark"] .drawer{box-shadow:-20px 0 40px rgba(0,0,0,.5)}
[data-theme="dark"] .backdrop{background:rgba(0,0,0,.6)}
[data-theme="dark"] .form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2393A1B7' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}

/* Curso SCORM aberto na loja (Minha conta › Meus cursos › Estudar): barra fina e o pacote na tela toda */
body.study{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--surface-2)}
.study-bar{flex-shrink:0;display:flex;align-items:center;gap:16px;min-height:52px;padding:6px 16px;background:var(--surface);border-bottom:1px solid var(--line)}
.study-back{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--navy-ink);text-decoration:none;padding:6px 10px;border-radius:8px;white-space:nowrap}
.study-back:hover{background:var(--gray)}
.study-title{flex:1;min-width:0;display:flex;align-items:center;gap:8px}
.study-title strong{font-family:var(--display);font-size:15px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.study-status{font-size:12.5px;color:var(--muted);white-space:nowrap}
.study-status[data-tone="ok"]{color:var(--green)}
.study-status[data-tone="warn"]{color:var(--red)}
.study-alert{flex-shrink:0;background:var(--red-tint);color:var(--red);border-bottom:1px solid #F4C7C3;padding:10px 16px;font-size:14px}
.study-alert a{color:inherit;font-weight:600}
.study-main{position:relative;flex:1;min-height:0}
.study-frame{display:block;width:100%;height:100%;border:0;background:#fff}
.study-noscript{padding:40px 16px;text-align:center}
.study-idle{position:absolute;inset:0;background:rgba(7,26,51,.55);display:flex;align-items:center;justify-content:center;padding:16px;z-index:5}
.study-idle-box{background:var(--surface);border-radius:14px;box-shadow:var(--shadow-h);padding:24px;max-width:400px;text-align:center}
.study-idle-box h2{font-size:20px;margin-bottom:8px}
.study-idle-box p{color:var(--muted);font-size:14.5px;margin-bottom:18px}
@media (max-width:760px){
  .study-bar{gap:8px;padding:6px 10px}
  .study-back span,.study-title .nr-tag{display:none}
  .study-status{max-width:38vw;overflow:hidden;text-overflow:ellipsis}
}
