/* SIMEM 2026: estilos do site. Montserrat (SIL OFL) servida do próprio domínio. */

@font-face{font-family:"Montserrat";src:url(fonts/montserrat-latin.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  /* Da noite ao mar: o marinho da logo abre a página e o fundo clareia em degradê até o verde-água; acento em degradê azul → ciano → água */
  --noite:#02102e;
  --abismo:#020a1e;
  --texto:#eef3fc;
  --suave:#a9b9d6;
  --azul:#4a9bff;
  --ciano:#37c8ef;
  --agua:#4be3c0;
  --ceu:#b5d9ff;
  --grad:linear-gradient(90deg,var(--azul) 0%,var(--ciano) 55%,var(--agua) 100%);
  --fundo-pagina:linear-gradient(180deg,#02102e 0%,#03173f 22%,#042559 46%,#053467 68%,#06456e 88%,#075170 100%);
  --s1:#4a9bff;--s2:#37c8ef;--s3:#4be3c0;--s-ok:#14b886;
  --onda1:#4a9bff;--onda2:#37c8ef;--onda3:#4be3c0;
  --linha:rgba(181,217,255,.14);
  --linha-forte:rgba(181,217,255,.28);
  --sup:rgba(181,217,255,.06);
  --erro:#ffa594;
  --f:"Montserrat","Segoe UI",system-ui,-apple-system,Helvetica,Arial,sans-serif;
  --calha:clamp(20px,5vw,72px);
  --ease:cubic-bezier(.22,.7,.2,1);
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{color-scheme:dark;scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden;background:var(--abismo)}
body{margin:0;-webkit-tap-highlight-color:transparent;background:var(--abismo);color:var(--texto);font:400 16.5px/1.62 var(--f);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
main{display:block;position:relative;background:var(--fundo-pagina)}
#abismo{position:fixed;left:0;top:0;width:100%;height:100vh;height:100lvh;z-index:0;pointer-events:none;opacity:0;transition:opacity .6s}
#abismo.ativo{opacity:1}
main>section{position:relative;z-index:1}
img,svg,canvas{max-width:100%}
a{color:inherit}
h1,h2,h3,h4,p{margin:0}
:focus-visible{outline:2px solid var(--ceu);outline-offset:3px;border-radius:4px}
::selection{background:var(--ciano);color:var(--noite)}

/* idioma: troca só por CSS */
html[data-lang="pt"] .en,html[data-lang="en"] .pt{display:none!important}

.cx{width:min(1200px,100% - 2*var(--calha) - env(safe-area-inset-left) - env(safe-area-inset-right));margin-inline:auto}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.pular{position:fixed;left:12px;top:-70px;z-index:120;background:var(--texto);color:var(--noite);padding:12px 18px;border-radius:999px;font-weight:600;transition:top .2s}
.pular:focus{top:12px}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.rot{font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;width:fit-content;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ───── topo ───── */
.topo{position:fixed;inset:0 0 auto 0;z-index:60;display:flex;align-items:center;gap:22px;padding:max(14px,env(safe-area-inset-top)) max(var(--calha),env(safe-area-inset-right)) 14px max(var(--calha),env(safe-area-inset-left));border-bottom:1px solid transparent;transition:background .4s,border-color .4s}
.topo.rolado{background:rgba(2,14,42,.8);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-color:var(--linha)}
.topo-marca{font-weight:800;font-size:17px;letter-spacing:.01em;text-decoration:none;white-space:nowrap;margin-right:auto;opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity .35s,transform .35s var(--ease)}
.topo.rolado .topo-marca{opacity:1;transform:none;pointer-events:auto}
.topo-marca b{font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.topo nav{display:flex;gap:clamp(16px,2.4vw,34px)}
.topo nav a{font-size:14.5px;font-weight:500;color:var(--suave);text-decoration:none;transition:color .2s}
.topo nav a:hover,.topo nav a.ativo{color:var(--texto)}
.idioma{display:flex;padding:3px;border:1px solid var(--linha-forte);border-radius:999px}
.idioma button{font:600 12px/1 var(--f);letter-spacing:.04em;padding:8px 12px;border-radius:999px;background:none;border:0;color:var(--suave);cursor:pointer;transition:background .2s,color .2s}
.idioma button[aria-pressed="true"]{background:var(--texto);color:var(--noite)}

/* ───── botões ───── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:600 15px/1 var(--f);text-decoration:none;padding:16px 26px;border-radius:999px;border:1px solid var(--linha-forte);color:var(--texto);background:transparent;cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .25s var(--ease),box-shadow .25s}
.btn:hover{border-color:var(--texto);transform:translateY(-1px)}
.btn-claro{background:var(--texto);color:var(--noite);border-color:var(--texto)}
.btn-claro:hover{background:#fff;border-color:#fff;box-shadow:0 10px 30px -12px rgba(55,200,239,.7)}
.btn-noite{background:var(--noite);color:var(--texto);border-color:var(--noite)}
.btn-noite:hover{border-color:var(--noite);box-shadow:0 12px 30px -14px rgba(2,16,46,.9)}
.topo .btn{padding:10px 18px;font-size:13.5px}

/* ───── abertura ───── */
.abre{position:relative;padding-top:calc(clamp(80px,7.6vw,110px) + env(safe-area-inset-top));overflow:hidden}
.abre::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(56% 60% at 18% 34%,rgba(74,155,255,.2),transparent 72%),radial-gradient(40% 46% at 94% 14%,rgba(55,200,239,.14),transparent 70%),radial-gradient(34% 26% at 70% 74%,rgba(75,227,192,.1),transparent 70%)}
.abre-grade{position:relative;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);column-gap:clamp(32px,7vw,110px);row-gap:40px;align-items:end}
.logo{display:block;width:min(100%,640px);height:auto}
.abre h1{font-weight:700;font-size:clamp(1.65rem,3vw,2.6rem);line-height:1.18;letter-spacing:-.014em;margin-top:clamp(26px,3.2vw,44px);max-width:21ch;text-wrap:balance}
.abre h1 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.acoes{display:flex;flex-wrap:wrap;gap:12px}
.abre .acoes{margin-top:clamp(22px,2.6vw,34px)}
.quando{display:grid;gap:26px}
.q-data{font-weight:700;font-size:clamp(1.25rem,1.9vw,1.6rem);line-height:1.25;letter-spacing:-.01em}
.q-local{color:var(--suave);margin-top:8px;font-size:.98rem}
.conta{border-top:1px solid var(--linha);padding-top:22px}
.conta [data-e]{display:none}
.conta[data-estado="antes"] [data-e="antes"],.conta[data-estado="durante"] [data-e="durante"],.conta[data-estado="depois"] [data-e="depois"]{display:inline}
.relogio{display:grid;grid-template-columns:repeat(4,auto);justify-content:start;column-gap:clamp(16px,2vw,28px);margin-top:10px}
.relogio div{display:grid;gap:2px}
.relogio b{font-weight:300;font-size:clamp(2rem,3vw,2.7rem);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.relogio span{font-size:12px;color:var(--suave)}
.realizacao{display:grid;gap:10px;justify-items:start}
.placa{display:block;background:#f6f9ff;border-radius:14px;padding:12px 16px;width:min(100%,360px)}
.placa img{display:block;width:100%;height:auto}
#ondas{display:block;width:100%;height:clamp(230px,30vw,440px);margin-top:clamp(10px,2vw,30px);position:relative;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 34%,#000 80%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 34%,#000 80%,transparent 100%)}
#ondas.sem-webgl{background:linear-gradient(180deg,#02102e,#0d3a7a 55%,#02102e)}

/* ───── seções ───── */
.sec{padding-block:clamp(64px,9vw,132px);position:relative}
.sec::before{content:"";position:absolute;inset:0;pointer-events:none}
.sec>.cx{position:relative}
#programa::before{background:radial-gradient(42% 24% at 100% 19%,rgba(55,200,239,.13),transparent 70%)}
#palestrantes::before{background:radial-gradient(46% 28% at 0 22%,rgba(75,227,192,.12),transparent 70%)}
#local::before{background:radial-gradient(40% 60% at 100% 50%,rgba(74,155,255,.14),transparent 70%)}
.sec-cab{display:grid;gap:14px;margin-bottom:clamp(34px,5vw,62px)}
.sec-cab h2{font-weight:700;font-size:clamp(2rem,5vw,4.1rem);line-height:1.06;letter-spacing:-.028em;text-wrap:balance}
.sec-cab p:not(.rot){color:var(--suave);max-width:62ch}
.painel{border:1px solid var(--linha);border-radius:28px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:linear-gradient(150deg,rgba(181,217,255,.09),rgba(181,217,255,.025));padding:clamp(28px,5vw,64px)}

/* sobre */
.sobre{padding-top:clamp(20px,3vw,40px)}
.sobre .painel{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(24px,5vw,72px);align-items:start}
.sobre h2{font-weight:700;font-size:clamp(1.8rem,3.9vw,3.1rem);line-height:1.1;letter-spacing:-.026em;text-wrap:balance}
.sobre p{color:var(--suave)}
.sobre p+p{margin-top:12px}
.numeros{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border-top:1px solid var(--linha);padding-top:clamp(22px,3vw,34px)}
.numeros div{display:grid;gap:4px;padding-left:22px;border-left:1px solid var(--linha)}
.numeros div:first-child{padding-left:0;border-left:0}
.numeros dt{order:2;font-size:.9rem;color:var(--suave)}
.numeros dd{margin:0;font-weight:700;font-size:clamp(2.4rem,5.4vw,4.2rem);line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums;width:fit-content;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* linha do dia */
.dia-blocos{position:relative;height:26px}
.colchete{position:absolute;top:0;bottom:0;border-left:1px solid var(--linha-forte);padding-left:8px;font-size:12px;font-weight:600;line-height:1.5;color:var(--suave);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;container-type:inline-size;font-variant-numeric:tabular-nums}
.colchete i{font-style:normal;font-weight:500;margin-left:6px;display:none}
@container (min-width:128px){.colchete i{display:inline}}
.dia-faixa{position:relative;height:44px}
.dia-faixa a{position:absolute;top:0;bottom:0;border-radius:4px;background:var(--azul);transition:filter .2s,transform .25s var(--ease),opacity .3s}
.dia-faixa a:hover,.dia-faixa a:focus-visible{filter:brightness(1.35);transform:translateY(-3px)}
.dia-faixa .intervalo{position:absolute;top:0;bottom:0;border-radius:4px;border:1px dashed var(--linha-forte);transition:opacity .3s}
.dia-faixa .apagado{opacity:.2}
.agulha{position:absolute;top:-8px;bottom:-8px;width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 10px rgba(255,255,255,.8);z-index:2;border-radius:2px}
.dia-horas{position:relative;height:28px;font-size:12px;color:var(--suave);font-variant-numeric:tabular-nums}
.dia-horas span{position:absolute;top:9px;transform:translateX(-50%)}
.dia-horas span:first-child{transform:none}
.dia-horas span:last-child{transform:translateX(-100%)}
.leitura{min-height:3.2em;margin-top:8px;font-size:.9rem;color:var(--suave)}
.leitura.viva{color:var(--texto)}
.filtros{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.filtros button{font:500 13.5px/1 var(--f);color:var(--suave);background:transparent;border:1px solid var(--linha-forte);padding:10px 16px;border-radius:999px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.filtros button:hover{color:var(--texto);border-color:var(--texto)}
.filtros button[aria-pressed="true"]{background:var(--texto);color:var(--noite);border-color:var(--texto);font-weight:600}

/* blocos e sessões */
.bloco{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:28px;row-gap:14px;padding-top:28px;margin-top:clamp(40px,5vw,66px);position:relative}
.bloco::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,var(--azul),var(--ciano) 45%,rgba(75,227,192,.15))}
.bloco-cab{grid-column:1/span 4;align-self:start;position:sticky;top:96px;display:grid;gap:10px;padding-bottom:28px}
.bloco h3{font-weight:700;font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.2;letter-spacing:-.014em;text-wrap:balance;max-width:19ch}
.bloco-meta{font-size:.88rem;color:var(--suave);font-variant-numeric:tabular-nums}
.sessoes{grid-column:5/span 8;list-style:none;margin:0;padding:0}
.sessao{display:grid;grid-template-columns:86px minmax(0,1fr) auto;column-gap:22px;align-items:start;padding:20px 14px;border-bottom:1px solid var(--linha);transition:background .25s;scroll-margin-top:130px}
.sessao:hover{background:var(--sup)}
.sessao.agora{background:rgba(55,200,239,.14)}
.sessao.pisca{animation:pisca 2s ease-out}
.hora{font-weight:600;font-size:1.05rem;line-height:1.4;font-variant-numeric:tabular-nums}
.hora small{display:block;font-weight:400;font-size:.8rem;color:var(--suave)}
.sessao h4{font-weight:600;font-size:clamp(1rem,1.3vw,1.14rem);line-height:1.4;letter-spacing:-.004em;text-wrap:balance;margin-bottom:6px}
.quem{font-size:.9rem;color:var(--suave);line-height:1.5}
.quem b{color:var(--texto);font-weight:600}
.pais{font-size:.8rem;color:var(--suave);white-space:nowrap;padding-top:3px}
.tag-agora{display:none;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--grad);color:var(--noite);border-radius:999px;padding:3px 9px;margin-left:10px;vertical-align:.12em}
.sessao.agora .tag-agora{display:inline-block}
.pausa{display:flex;flex-wrap:wrap;gap:4px 16px;padding:14px;border-bottom:1px solid var(--linha);font-size:.9rem;color:var(--suave)}
.pausa b{font-weight:600;color:var(--ceu);font-variant-numeric:tabular-nums;white-space:nowrap;min-width:86px;margin-right:6px}

/* workshops */
.oficinas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.oficina{position:relative;display:grid;gap:16px;align-content:start;padding:clamp(26px,3.4vw,46px);border:1px solid transparent;border-radius:24px;background:linear-gradient(160deg,#0a2a63,#06304f) padding-box,linear-gradient(135deg,rgba(74,155,255,.9),rgba(55,200,239,.5) 50%,rgba(75,227,192,.9)) border-box;overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s}
.oficina:hover{transform:translateY(-3px);box-shadow:0 26px 60px -30px rgba(55,200,239,.55)}
.oficina-num{position:absolute;right:clamp(18px,2.6vw,34px);top:clamp(6px,1vw,14px);font-weight:800;font-size:clamp(4.6rem,9vw,7.6rem);line-height:1;letter-spacing:-.04em;color:rgba(181,217,255,.09);pointer-events:none}
.oficina h3{position:relative;font-weight:700;font-size:clamp(1.55rem,2.9vw,2.25rem);line-height:1.12;letter-spacing:-.022em}
.oficina ul{position:relative;list-style:none;margin:0;padding:0;display:grid;gap:10px;color:#c8d6ee}
.oficina li{position:relative;padding-left:20px}
.oficina li::before{content:"";position:absolute;left:0;top:.68em;width:6px;height:6px;border-radius:50%;background:var(--agua)}

/* palestrantes */
.elenco-rot{font-size:1rem;font-weight:600;color:var(--texto);padding-bottom:12px;border-bottom:1px solid var(--linha);margin:clamp(30px,4vw,46px) 0 18px}
.sec-cab+.elenco-rot{margin-top:0}
.pessoas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.pessoa{display:grid;grid-template-columns:96px minmax(0,1fr);column-gap:18px;align-items:start;padding:16px;border:1px solid var(--linha);border-radius:20px;background:var(--sup);transition:border-color .3s,transform .35s var(--ease),background .3s}
.pessoa:hover{border-color:var(--linha-forte);background:rgba(181,217,255,.09);transform:translateY(-2px)}
.foto{width:96px;aspect-ratio:4/5;border-radius:14px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(155deg,#1c57b8,#0f86a8 60%,#18a58f);font-weight:700;font-size:1.55rem;letter-spacing:.03em;color:rgba(255,255,255,.92)}
.foto img{display:block;width:100%;height:100%;object-fit:cover}
.pessoa h3{font-weight:700;font-size:1.08rem;line-height:1.3;letter-spacing:-.008em}
.pessoa .de{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-top:4px;width:fit-content;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.pessoa .afil{font-size:.86rem;color:var(--suave);margin-top:4px;line-height:1.45}
.aulas{list-style:none;margin:12px 0 0;padding:10px 0 0;border-top:1px solid var(--linha);display:grid;gap:7px}
.aulas a{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:8px;align-items:baseline;text-decoration:none;font-size:.85rem;line-height:1.42;color:#d5e0f3}
.aulas b{font-weight:600;color:var(--ceu);font-variant-numeric:tabular-nums}
.aulas a:hover span{text-decoration:underline;text-underline-offset:3px}

/* local */
.final{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,5vw,72px);align-items:center}
.local-info{display:grid;gap:18px;justify-items:start;align-content:start}
.local-info h2{font-weight:700;font-size:clamp(1.9rem,4.2vw,3.3rem);line-height:1.08;letter-spacing:-.026em;text-wrap:balance}
.endereco{font-style:normal;font-size:1.06rem;line-height:1.6;color:var(--suave)}
#copiar .ok,#copiar .erro,#copiar.feito .normal,#copiar.falhou .normal{display:none}
#copiar.feito .ok,#copiar.falhou .erro{display:inline}
.agenda{margin:0;display:grid;border:1px solid var(--linha);border-radius:22px;background:var(--sup);overflow:hidden}
.agenda div{display:grid;grid-template-columns:86px minmax(0,1fr);column-gap:16px;padding:20px 24px;border-top:1px solid var(--linha)}
.agenda div:first-child{border-top:0}
.agenda dt{font-weight:700;font-size:1.1rem;width:fit-content;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.agenda dd{margin:0}
.agenda dd b{display:block;font-weight:600}
.agenda dd span{font-size:.9rem;color:var(--suave)}

/* inscrição */
.inscr{max-width:860px;margin-inline:auto;background:linear-gradient(160deg,rgba(74,155,255,.16),rgba(55,200,239,.06) 55%,rgba(75,227,192,.1)),rgba(2,16,46,.35)}
.inscr-cab{text-align:center;display:grid;gap:8px;justify-items:center;margin-bottom:clamp(22px,3vw,34px)}
.inscr-cab h2{font-weight:700;font-size:clamp(2rem,4.6vw,3.4rem);line-height:1.06;letter-spacing:-.028em}
.inscr-cab p:not(.rot){color:var(--suave)}
.demo{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;line-height:1.5;color:var(--ceu);border:1px dashed var(--linha-forte);border-radius:14px;padding:12px 16px;margin-bottom:clamp(20px,3vw,30px)}
.demo b{font-weight:700;white-space:nowrap}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.campo{display:grid;gap:7px;align-content:start}
.campo.largo{grid-column:1/-1}
.campo label{font-size:.86rem;font-weight:600}
.campo input,.campo select{width:100%;font:500 1rem/1.3 var(--f);color:var(--texto);background:rgba(2,16,46,.55);border:1px solid var(--linha-forte);border-radius:12px;padding:14px 14px;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
.campo select{background-image:linear-gradient(45deg,transparent 50%,var(--ceu) 50%),linear-gradient(135deg,var(--ceu) 50%,transparent 50%);background-position:calc(100% - 21px) 52%,calc(100% - 15px) 52%;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px}
.campo select option{color:#0b1730;background:#fff}
.campo input::placeholder{color:rgba(169,185,214,.55)}
.campo input:focus,.campo select:focus{outline:0;border-color:var(--ciano);box-shadow:0 0 0 3px rgba(55,200,239,.22)}
.campo.invalido input,.campo.invalido select{border-color:var(--erro)}
.erro-msg{font-size:.8rem;color:var(--erro)}
.aceite{grid-column:1/-1;display:grid;grid-template-columns:22px minmax(0,1fr);column-gap:12px;align-items:start;font-size:.92rem}
.aceite input{width:20px;height:20px;margin:3px 0 0;accent-color:var(--ciano)}
.aceite .erro-msg{grid-column:2}
.priv{grid-column:1/-1;font-size:.88rem;color:var(--suave)}
.priv summary{cursor:pointer;font-weight:600;color:var(--ceu)}
.priv p{margin-top:8px}
.form-fim{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center}
.form-msg{font-size:.9rem;color:var(--erro)}
.insc-ok{text-align:center;display:grid;gap:14px;justify-items:center;padding:clamp(10px,2vw,24px) 0}
.insc-ok svg{width:64px;height:64px}
.insc-ok h3{font-weight:700;font-size:1.5rem;letter-spacing:-.02em}
.insc-ok p{color:var(--suave);max-width:48ch}

/* fecho */
.fecho{background:linear-gradient(115deg,#1b5fd8 0%,#1f93dc 52%,#21b9b8 100%);border-radius:32px 32px 0 0;padding-block:clamp(60px,9vw,120px);color:#fff}
.fecho .cx{display:grid;gap:clamp(22px,3vw,34px);justify-items:start}
.fecho h2{font-weight:700;font-size:clamp(2rem,5.4vw,4.4rem);line-height:1.06;letter-spacing:-.03em}
.fecho h2 i{display:block;font-style:normal}
.fecho .btn{border-color:rgba(255,255,255,.7);color:#fff}
.fecho .btn:hover{border-color:#fff}
.fecho .btn-noite{border-color:var(--noite)}

/* rodapé */
.rodape{background:var(--abismo);padding-block:clamp(40px,5vw,64px) 40px}
.rodape .cx{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:32px clamp(28px,5vw,72px)}
.rodape-logo{display:block;width:min(100%,300px);height:auto}
.rodape-col{display:grid;gap:10px;align-content:start;font-size:.9rem;color:var(--suave)}
.rodape-col ul{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.rodape-fim{grid-column:1/-1;display:flex;justify-content:space-between;gap:10px 20px;flex-wrap:wrap;font-size:.82rem;color:var(--suave);border-top:1px solid var(--linha);padding-top:18px}
.rodape-fim a{text-decoration:none}
.rodape-fim a:hover{color:var(--texto)}

/* aviso (popup) */
.aviso{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));background:rgba(2,9,28,.62);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
.aviso.aberto{opacity:1;visibility:visible}
.av-cartao{position:relative;width:min(440px,100%);max-height:calc(100dvh - 32px);overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:32px 30px 24px;border-radius:28px;border:1px solid transparent;background:linear-gradient(160deg,#0b2458 0%,#071736 50%,#06303f 100%) padding-box,linear-gradient(135deg,var(--azul),var(--ciano) 50%,var(--agua)) border-box;box-shadow:0 30px 80px -20px rgba(0,0,0,.7);text-align:center;display:grid;gap:12px;justify-items:center;transform:translateY(14px) scale(.97);transition:transform .45s var(--ease)}
.aviso.aberto .av-cartao{transform:none}
.av-x{position:absolute;right:14px;top:14px;width:36px;height:36px;border-radius:50%;border:0;background:rgba(181,217,255,.14);color:var(--texto);font:500 20px/1 var(--f);cursor:pointer;transition:background .2s}
.av-x:hover{background:rgba(181,217,255,.26)}
.av-arte{width:132px;height:auto;margin-bottom:4px}
.av-cartao h2{font-weight:700;font-size:1.7rem;line-height:1.15;letter-spacing:-.022em;text-wrap:balance}
.av-cartao p.av-texto{color:var(--suave);font-size:.98rem;max-width:32ch}
.av-cartao .btn{width:100%;margin-top:8px}
.av-nao{background:none;border:0;color:var(--suave);font:500 .95rem var(--f);padding:8px 14px;cursor:pointer}
.av-nao:hover{color:var(--texto)}

.doca{display:none}

/* ───── movimento (discreto) ───── */
@keyframes surge{from{opacity:0;transform:translateY(14px)}}
@keyframes pisca{0%,35%{background:rgba(55,200,239,.28)}100%{background:transparent}}
.surge{animation:surge .9s var(--ease) both;animation-delay:var(--d,0s)}
@media (prefers-reduced-motion:no-preference){
  .js [data-rev]{opacity:.4;transform:translateY(16px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
  .js [data-rev].in{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* ───── telas menores ───── */
@media (max-width:1020px){
  .topo nav{display:none}
  .abre-grade{grid-template-columns:minmax(0,1fr)}
  .sobre .painel{grid-template-columns:minmax(0,1fr)}
  .bloco{grid-template-columns:minmax(0,1fr);column-gap:0}
  .bloco-cab{grid-column:1/-1;position:static;padding-bottom:0}
  .bloco h3{max-width:none}
  .sessoes{grid-column:1/-1}
  .pessoas{grid-template-columns:minmax(0,1fr)}
  .final,.rodape .cx{grid-template-columns:minmax(0,1fr)}
  .rodape{padding-bottom:calc(104px + env(safe-area-inset-bottom))}
  .doca{position:fixed;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));z-index:60;display:flex;gap:2px;padding:5px;border-radius:999px;background:rgba(2,14,42,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--linha-forte);transform:translate(-50%,90px);transition:transform .45s var(--ease);max-width:calc(100% - 24px)}
  .doca.visivel{transform:translate(-50%,0)}
  .doca a{font-size:12.5px;font-weight:600;text-decoration:none;color:var(--suave);padding:11px 13px;border-radius:999px;white-space:nowrap}
  .doca a.ativo{background:var(--texto);color:var(--noite)}
}
@media (max-width:380px){
  .dia-horas span{display:none}
  .dia-horas span:nth-child(1),.dia-horas span:nth-child(6),.dia-horas span:nth-child(11){display:block}
  .relogio{column-gap:12px}
  .relogio b{font-size:1.8rem}
  .doca a{padding:10px 9px;font-size:12px}
  .local-info .acoes .btn{flex:1 1 100%}
}
@media (hover:none){
  .oficina:hover,.pessoa:hover,.btn:hover{transform:none}
}
@media (max-width:700px){
  body{font-size:15.5px}
  .abre-grade{row-gap:30px}
  .logo{width:100%}
  .abre h1{font-size:1.6rem;margin-top:22px}
  .relogio b{font-size:2.1rem}
  .quando{gap:22px}
  .placa{width:100%;max-width:420px}
  #ondas{height:clamp(230px,62vw,300px)}
  .sec{padding-block:64px}
  .sobre{padding-top:12px}
  .painel{border-radius:22px;padding:24px 20px}
  .sec-cab h2{font-size:2.15rem}
  .numeros dd{font-size:2.5rem}
  .filtros{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(-1 * var(--calha));padding-inline:var(--calha);scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .filtros::-webkit-scrollbar{display:none}
  .filtros button{flex:none}
  .dia-faixa{height:38px}
  .bloco{margin-top:44px}
  .oficina{border-radius:20px}
  .oficina-num{font-size:4.4rem}
  .inscr{padding:24px 18px}
  .campo input,.campo select{font-size:16px;padding:13px 12px}
  .fecho h2{font-size:1.85rem}
  .fecho .acoes .btn{flex:1 1 auto}
  .av-cartao{padding:28px 20px 18px;border-radius:24px}
  .av-cartao h2{font-size:1.45rem}
  .av-arte{width:108px}
  .topo .btn{display:none}
  .numeros{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px}
  .numeros div:nth-child(odd){padding-left:0;border-left:0}
  .oficinas{grid-template-columns:minmax(0,1fr)}
  .dia-horas .impar{display:none}
  .colchete{padding-left:5px}
  .sessao{grid-template-columns:72px minmax(0,1fr);column-gap:12px;padding:18px 4px}
  .hora small{white-space:nowrap}
  .sessao>.pais{grid-column:2;padding-top:6px}
  .pausa{padding:13px 4px}
  .pausa b{min-width:0}
  .pessoa{grid-template-columns:76px minmax(0,1fr);column-gap:14px;padding:14px}
  .foto{width:76px;font-size:1.25rem}
  .form{grid-template-columns:minmax(0,1fr)}
  .abre .acoes .btn,.form-fim .btn{flex:1 1 auto}
  .agenda div{padding:16px 18px;grid-template-columns:70px minmax(0,1fr)}
  .fecho{border-radius:24px 24px 0 0}
}
/* Tema A: tom sobre tom, só os azuis da logo; degradê só no fundo, acento sólido */
:root{--azul:#5aa7f0;--ciano:#5aa7f0;--agua:#5aa7f0;--ceu:#a9cdf3;--grad:linear-gradient(#7db9f3,#7db9f3);
  --fundo-pagina:linear-gradient(180deg,#02102e 0%,#05204f 14%,#062a64 30%,#05235a 55%,#041b49 78%,#03143a 100%);
  --s1:#5aa7f0;--s2:#5aa7f0;--s3:#5aa7f0;--s-ok:#5aa7f0;--onda1:#5aa7f0;--onda2:#8cc2f5;--onda3:#5aa7f0}
.abre::before,.sec::before{background:none!important}
.bloco::before{background:var(--linha-forte)!important}
.dia-faixa a{background:#4f97e6!important}
.oficina{background:rgba(9,34,85,.62)!important;border:1px solid var(--linha-forte)!important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.oficina li::before{background:#7db9f3}
.foto{background:#12336f!important;color:#a9cdf3!important}
.inscr{background:rgba(2,16,46,.4)!important}
.av-cartao{background:#06173f!important;border:1px solid var(--linha-forte)!important}
.tag-agora{background:#7db9f3!important}
.fecho{background:#eef3fc!important;color:#02102e!important}
.fecho .btn{color:#02102e;border-color:rgba(2,16,46,.35)}
.fecho .btn:hover{border-color:#02102e}
.fecho .btn-noite{color:#eef3fc}

/* =====================================================================================================
   Inscrição ligada à API (assets/inscricao.js), consulta, QR do check-in e aviso de certificado.
   Sem estilo inline no HTML (CSP style-src 'self'): atrasos de entrada e cores de SVG ficam aqui.
   ===================================================================================================== */
.d1{--d:.12s}.d2{--d:.22s}.d3{--d:.3s}
.g1{stop-color:var(--s1)}.g2{stop-color:var(--s2)}.g3{stop-color:var(--s3)}
.ok-fill{fill:var(--s-ok)}
.sem-js{color:var(--suave);margin-top:20px}

/* erros por campo (o texto vem traduzido do inscricao.js) */
.form .erro{font-size:.8rem;line-height:1.35;color:var(--erro)}
.form [aria-invalid="true"]{border-color:var(--erro)}
.form .fone-pais[aria-invalid="true"]{border-color:var(--erro)}
.isca{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* documento: CPF ou passaporte */
.doc-tipo{border:0;margin:0;padding:0;min-width:0}
.doc-tipo legend{font-size:.86rem;font-weight:600;padding:0;margin-bottom:7px}
.seg{justify-self:start;display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:999px;border:1px solid var(--linha-forte);background:rgba(2,16,46,.55)}
.seg label{position:relative;display:inline-flex;align-items:center;min-height:42px;padding:0 18px;border-radius:999px;font-weight:600;font-size:.9rem;color:var(--suave);cursor:pointer;transition:background .2s,color .2s}
.seg label:hover{color:var(--texto)}
.seg input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.seg label:has(input:checked){background:var(--texto);color:var(--noite)}
.seg label:has(input:focus-visible){outline:2px solid var(--ciano);outline-offset:2px}

/* telefone: país (bandeira + DDI) e número (assets/fone.js) */
.fone{position:relative;display:flex;gap:8px}
.fone>input{flex:1;min-width:0}
.fone-pais{flex:none;display:inline-flex;align-items:center;gap:8px;padding:0 12px;border-radius:12px;border:1px solid var(--linha-forte);background:rgba(2,16,46,.55);color:var(--texto);font:600 .95rem var(--f);cursor:pointer;transition:border-color .2s}
.fone-pais:hover,.fone-pais[aria-expanded="true"]{border-color:var(--ceu)}
.fone-pais:focus-visible{outline:0;border-color:var(--ciano);box-shadow:0 0 0 3px rgba(55,200,239,.22)}
.fone-pais img,.fone-lista img{width:24px;height:18px;border-radius:3px;object-fit:cover;box-shadow:0 0 0 1px rgba(255,255,255,.18)}
.fone-pais svg{width:11px;height:8px;opacity:.75}
.fone-ddi{font-variant-numeric:tabular-nums}
.fone-painel{position:absolute;z-index:30;top:calc(100% + 6px);left:0;width:min(380px,calc(100vw - 48px));padding:8px;border-radius:16px;border:1px solid var(--linha-forte);background:#071a43;box-shadow:0 24px 60px -18px rgba(0,0,0,.75)}
.fone-painel input{width:100%;font:500 1rem var(--f);color:var(--texto);background:rgba(2,16,46,.7);border:1px solid var(--linha-forte);border-radius:10px;padding:11px 12px;-webkit-appearance:none;appearance:none}
.fone-painel input:focus{outline:0;border-color:var(--ciano)}
.fone-lista{list-style:none;margin:8px 0 0;padding:0;max-height:min(300px,50vh);overflow-y:auto;overscroll-behavior:contain}
.fone-lista li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:12px;align-items:center;padding:9px 10px;border-radius:9px;font-size:.92rem;cursor:pointer}
.fone-lista li span:first-of-type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fone-lista li.ativo,.fone-lista li:hover{background:rgba(181,217,255,.12)}
.fone-lista li[aria-selected="true"]{font-weight:700}
.fone-lista .ddi{color:var(--suave);font-variant-numeric:tabular-nums}
.fone-lista .nada{display:block;color:var(--suave);cursor:default}
.fone-lista .nada:hover{background:none}

/* vagas: percentual preenchido, a barra enche em degradê de mar */
.vagas{text-align:center;margin:0 auto clamp(22px,3vw,32px);max-width:560px}
.vagas-n{font-weight:800;font-size:clamp(2.6rem,6vw,3.8rem);line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.vagas-n span{color:var(--suave);font-size:.5em;margin-left:3px}
.vagas-trilho{--pct:0;position:relative;height:12px;margin:14px 0 10px;border-radius:99px;background:rgba(181,217,255,.12);overflow:hidden}
.vagas-trilho i{position:absolute;left:0;top:0;bottom:0;width:calc(var(--pct) * 1%);border-radius:inherit;background:var(--grad);transition:width 1.8s cubic-bezier(.2,.7,.2,1)}
.vagas.cheio .vagas-trilho i{background:linear-gradient(90deg,#ffa594,#ff7d6a)}
.vagas-p{color:var(--suave);font-size:.92rem}
@media (prefers-reduced-motion:reduce){.vagas-trilho i{transition:none}}

/* inscrições fechadas, esgotadas ou sem conexão segura */
.insc-estado{text-align:center;border:1px dashed var(--linha-forte);border-radius:18px;padding:clamp(20px,3.5vw,32px);font-weight:600;font-size:1.05rem}

/* sucesso: código grande + QR do check-in */
.insc-ok:focus{outline:0}
.insc-ok .ok-t{color:var(--texto);font-weight:700;font-size:1.5rem;letter-spacing:-.02em}
.insc-ok .ok-cod{font-weight:800;font-size:clamp(2.2rem,7vw,3.6rem);line-height:1;letter-spacing:.04em;font-variant-numeric:tabular-nums;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.ok-p{color:var(--suave);max-width:48ch}
#ok-qr:empty{display:none}
.qr-bloco{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px 26px;margin-top:22px;text-align:left}
.qr-img{flex:none;width:clamp(160px,22vw,200px);background:#fff;border-radius:16px;padding:8px}
.qr-img svg{display:block;width:100%;height:auto}
.qr-txt{flex:1;min-width:200px;max-width:320px;display:grid;gap:12px;justify-items:start}
.qr-txt p{color:var(--suave);font-size:.95rem}

/* consulta da inscrição */
.consulta{margin-top:clamp(32px,4.5vw,48px);padding-top:clamp(24px,3.5vw,36px);border-top:1px solid var(--linha)}
.cons-cab{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px}
.cons-cab h3{font-weight:700;font-size:1.3rem;letter-spacing:-.015em}
.cons-cab p{color:var(--suave);margin-top:4px;max-width:46ch;font-size:.95rem}
.form-cons{margin-top:22px}
.cons-res{margin-top:22px;padding:20px 22px;border-radius:18px;border:1px solid var(--linha);background:var(--sup)}
.cons-res.achou{border-color:var(--linha-forte)}
.cons-res .r-t{font-weight:700;font-size:1.1rem}
.cons-res .r-cod{font-weight:800;font-size:clamp(1.9rem,5vw,2.6rem);line-height:1;letter-spacing:.04em;margin:12px 0 10px;font-variant-numeric:tabular-nums}
.cons-res .r-st{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.88rem;padding:5px 12px 5px 10px;border-radius:999px;background:rgba(181,217,255,.1)}
.cons-res .r-st i{width:9px;height:9px;border-radius:50%;background:var(--suave)}
.cons-res .r-st.confirmada i{background:var(--agua)}.cons-res .r-st.pendente i{background:#ffd27a}.cons-res .r-st.cancelada i{background:var(--erro)}
.cons-res .r-p{color:var(--suave);margin-top:10px;font-size:.95rem;max-width:60ch}
.cons-res .qr-bloco{justify-content:flex-start}
.cert-bloco{display:grid;gap:12px;justify-items:start;margin-top:20px;padding-top:18px;border-top:1px solid var(--linha)}
.previa{display:table;margin:0 auto 20px;padding:7px 14px;border-radius:999px;border:1px dashed #ffd27a;color:#ffd27a;font-size:.85rem;font-weight:600}
@media (max-width:640px){
  .form-cons{grid-template-columns:minmax(0,1fr)}
  .cons-cab .btn{flex:1 1 100%}
  .seg{display:flex}
  .seg label{flex:1 1 auto;justify-content:center;padding:0 12px}
}

/* ---------- aviso: certificado pronto (assets/aviso-certificado.js) ---------- */
html.avc-aberto{overflow:hidden}
.aviso-cert{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px}
.avc-fundo{position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,rgba(55,200,239,.16),rgba(2,9,28,.84) 62%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .35s ease}
.avc-cartao{
  position:relative;width:min(460px,100%);max-height:calc(100dvh - 40px);overflow:auto;padding:30px 30px 22px;border-radius:28px;text-align:center;color:var(--texto);
  background:linear-gradient(160deg,#0b2458 0%,#071736 50%,#06303f 100%) padding-box,var(--grad) border-box;
  border:1.5px solid transparent;box-shadow:0 30px 80px -20px rgba(0,0,0,.7);
  opacity:0;transform:translateY(28px) scale(.94);transition:opacity .35s ease,transform .55s cubic-bezier(.2,1.35,.4,1)
}
.aviso-cert.avc-visivel .avc-fundo{opacity:1}
.aviso-cert.avc-visivel .avc-cartao{opacity:1;transform:none}
.aviso-cert.avc-saindo .avc-cartao{opacity:0;transform:translateY(16px) scale(.97);transition-duration:.28s;transition-timing-function:ease-in}
.avc-x{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;border:0;background:rgba(181,217,255,.14);color:var(--texto);font:500 20px/1 var(--f);cursor:pointer;transition:background .2s}
.avc-x:hover{background:rgba(181,217,255,.26)}
.avc-arte{position:relative;width:190px;height:150px;margin:2px auto 14px}
.avc-halo{position:absolute;inset:8px 18px;border-radius:50%;background:radial-gradient(circle,rgba(55,200,239,.38),rgba(74,155,255,.16) 45%,transparent 70%);filter:blur(4px)}
.avc-anel{position:absolute;left:50%;top:50%;width:132px;height:132px;margin:-66px 0 0 -66px;border-radius:50%;border:3px solid transparent;background:conic-gradient(from 0deg,var(--azul),var(--ciano),var(--agua),transparent 80%) border-box;-webkit-mask:linear-gradient(#000 0 0) padding-box exclude,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) padding-box exclude,linear-gradient(#000 0 0);opacity:.6}
.avc-papel{position:absolute;left:50%;top:50%;width:122px;margin:-46px 0 0 -61px;filter:drop-shadow(0 14px 18px rgba(0,0,0,.45))}
.avc-papel-fundo{fill:#eef3fc}
.avc-papel-moldura{fill:none;stroke:#b5c6e2;stroke-width:1.2}
.avc-papel-titulo{fill:#02102e}
.avc-papel-linha{fill:#c9d6ea}
.avc-papel-assin{fill:none;stroke:#4a9bff;stroke-width:2;stroke-linecap:round;stroke-dasharray:44;stroke-dashoffset:0}
.avc-papel-selo{fill:#37c8ef}
.avc-ok{position:absolute;right:20px;bottom:6px;width:46px;height:46px}
.avc-ok circle{fill:var(--s-ok);stroke:#071736;stroke-width:3}
.avc-ok path{fill:none;stroke:#fff;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:30;stroke-dashoffset:0}
.avc-faisca{position:absolute;left:50%;top:50%;width:7px;height:7px;margin:-3.5px;border-radius:2px;background:var(--ciano);opacity:0}
.avc-faisca:nth-of-type(3n){background:var(--agua)}
.avc-faisca:nth-of-type(3n+1){background:var(--azul);border-radius:50%}
.avc-rotulo{font-size:.75rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--ciano)}
.avc-cartao h2{margin-top:6px;font-weight:700;font-size:clamp(1.45rem,5vw,1.75rem);line-height:1.15;letter-spacing:-.022em;text-wrap:balance}
#avc-texto{margin:12px auto 0;max-width:34ch;color:var(--suave);font-size:.98rem;line-height:1.5}
.avc-acoes{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:20px}
.avc-ir{position:relative;overflow:hidden;width:100%;max-width:320px}
.avc-ir::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.75) 50%,transparent 70%);transform:translateX(-120%)}
.avc-depois{border:0;background:none;color:var(--suave);font:500 .95rem var(--f);padding:8px 14px;cursor:pointer;border-radius:999px}
.avc-depois:hover{color:var(--texto)}
.avc-semdoc{display:block;margin:8px auto 0;padding:6px 10px;border:0;background:none;color:var(--suave);font:500 .8rem var(--f);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.avc-semdoc:hover{color:var(--texto)}
@media (prefers-reduced-motion:no-preference){
  .aviso-cert.avc-visivel .avc-anel{animation:avc-gira 14s linear infinite}
  .aviso-cert.avc-visivel .avc-halo{animation:avc-pulsa 2.8s ease-in-out infinite}
  .aviso-cert.avc-visivel .avc-papel{animation:avc-sobe .8s .15s cubic-bezier(.2,1.3,.4,1) both}
  .aviso-cert.avc-visivel .avc-papel-assin{animation:avc-traco .9s .75s ease-out both}
  .aviso-cert.avc-visivel .avc-ok{animation:avc-selo .55s 1s cubic-bezier(.2,1.6,.4,1) both}
  .aviso-cert.avc-visivel .avc-ok path{animation:avc-check .45s 1.25s ease-out both}
  .aviso-cert.avc-visivel .avc-faisca{animation:avc-faisca 1.1s 1.05s cubic-bezier(.15,.8,.3,1) both}
  .aviso-cert.avc-visivel .avc-ir::after{animation:avc-brilho 3.2s 1.6s ease-in-out infinite}
  .aviso-cert.avc-visivel .avc-rotulo,.aviso-cert.avc-visivel .avc-cartao h2,.aviso-cert.avc-visivel #avc-texto,.aviso-cert.avc-visivel .avc-acoes{animation:avc-entra .6s ease-out both}
  .aviso-cert.avc-visivel .avc-cartao h2{animation-delay:.08s}
  .aviso-cert.avc-visivel #avc-texto{animation-delay:.16s}
  .aviso-cert.avc-visivel .avc-acoes{animation-delay:.24s}
}
.avc-faisca:nth-of-type(1){--x:-86px;--y:-52px}.avc-faisca:nth-of-type(2){--x:84px;--y:-58px}
.avc-faisca:nth-of-type(3){--x:-96px;--y:10px}.avc-faisca:nth-of-type(4){--x:98px;--y:4px}
.avc-faisca:nth-of-type(5){--x:-60px;--y:62px}.avc-faisca:nth-of-type(6){--x:64px;--y:64px}
.avc-faisca:nth-of-type(7){--x:-30px;--y:-78px}.avc-faisca:nth-of-type(8){--x:34px;--y:-80px}
.avc-faisca:nth-of-type(9){--x:-110px;--y:-22px}.avc-faisca:nth-of-type(10){--x:112px;--y:-26px}
@keyframes avc-gira{to{transform:rotate(360deg)}}
@keyframes avc-pulsa{0%,100%{opacity:.75;transform:scale(.96)}50%{opacity:1;transform:scale(1.05)}}
@keyframes avc-sobe{from{opacity:0;transform:translateY(40px) rotate(-8deg) scale(.85)}to{opacity:1;transform:none}}
@keyframes avc-traco{from{stroke-dashoffset:44}to{stroke-dashoffset:0}}
@keyframes avc-selo{from{opacity:0;transform:scale(0) rotate(-40deg)}to{opacity:1;transform:none}}
@keyframes avc-check{from{stroke-dashoffset:30}to{stroke-dashoffset:0}}
@keyframes avc-faisca{0%{opacity:0;transform:translate(0,0) scale(.4)}25%{opacity:1}100%{opacity:0;transform:translate(var(--x),var(--y)) scale(1) rotate(160deg)}}
@keyframes avc-brilho{0%,60%{transform:translateX(-120%)}85%,100%{transform:translateX(120%)}}
@keyframes avc-entra{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ---------- compra: modalidade, adicionais, total e Pix ---------- */
.compra{border:0;margin:0;padding:0;min-width:0}
.compra legend{font-size:.86rem;font-weight:600;padding:0;margin-bottom:8px}
.opcoes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.opcao{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 16px;border-radius:14px;border:1px solid var(--linha-forte);background:rgba(2,16,46,.55);cursor:pointer;transition:border-color .2s,background .2s}
.opcao:hover{border-color:var(--ceu)}
.opcao:has(input:checked){border-color:var(--ciano);background:linear-gradient(150deg,rgba(74,155,255,.18),rgba(75,227,192,.08)),rgba(2,16,46,.55)}
.opcao:has(input:focus-visible){outline:2px solid var(--ciano);outline-offset:2px}
.opcao input{width:20px;height:20px;margin:0;accent-color:var(--ciano)}
.op-corpo{display:grid;gap:2px;min-width:0}
.op-corpo b{font-weight:700;font-size:.98rem}
.op-corpo small{color:var(--suave);font-size:.8rem;line-height:1.35}
.op-preco{font-weight:700;font-size:.95rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.total{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding:14px 18px;border-radius:14px;border:1px dashed var(--linha-forte)}
.total>span{font-weight:600;color:var(--suave)}
.total b{font-weight:800;font-size:1.5rem;letter-spacing:-.02em;font-variant-numeric:tabular-nums;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.total small{flex-basis:100%;color:var(--suave);font-size:.8rem}
.compra-res{display:grid;gap:4px;margin-top:16px;text-align:center}
.cons-res .compra-res{text-align:left}
.compra-res b{font-weight:700}
.compra-res .pago{color:var(--agua);font-weight:600;font-size:.92rem}
.compra-res .a-pagar{color:#ffd27a;font-weight:600;font-size:.92rem}
.pix-bloco{margin-top:20px;padding:20px;border-radius:18px;border:1px solid var(--linha-forte);background:rgba(2,16,46,.45);text-align:left;width:100%}
.pix-t{font-weight:700;font-size:1.05rem}
.pix-t b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.pix-grade{display:flex;flex-wrap:wrap;gap:18px 22px;margin-top:14px;align-items:flex-start}
.pix-txt{flex:1;min-width:220px;display:grid;gap:12px}
.pix-txt>p{color:var(--suave);font-size:.92rem}
.pix-rot{display:grid;gap:6px;font-size:.8rem;font-weight:600;color:var(--suave)}
.pix-rot textarea{width:100%;resize:none;font:500 .78rem/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--texto);background:rgba(2,16,46,.7);border:1px solid var(--linha-forte);border-radius:10px;padding:10px;word-break:break-all}
.pix-acoes{display:flex;flex-wrap:wrap;gap:10px}
.pix-acoes .btn{padding:12px 18px;font-size:.88rem}
.pix-chave{font-size:.85rem;color:var(--suave)}
.pix-chave b{color:var(--texto);word-break:break-all}
@media (max-width:640px){.opcoes{grid-template-columns:minmax(0,1fr)}.pix-acoes .btn{flex:1 1 100%}}
/* rádio e caixa dos cartões: aparência nativa (a regra .campo input zera a dos campos de texto) */
.campo .opcao input{-webkit-appearance:auto;appearance:auto;width:20px;height:20px;padding:0;margin:0;border:0;background:none;box-shadow:none;accent-color:var(--ciano);cursor:pointer}

/* =====================================================================================================
   Dois temas: escuro (noite, com lua: tudo acima) e claro (dia, com sol: daqui para baixo).
   O data-theme do <html> vem do assets/tema.js (escolha salva em 'simem-tema' ou prefers-color-scheme).
   O tema escuro não muda: as regras abaixo só valem em :root[data-theme="light"], exceto o seletor de tema,
   a troca das logos e as cores da linha do dia (que no escuro seguem cobertas pelo !important do Tema A).
   ===================================================================================================== */

/* seletor de tema na barra do topo: a mesma pílula do idioma, com sol e lua */
.tema{display:flex;padding:3px;border:1px solid var(--linha-forte);border-radius:999px;margin-right:-10px}
.tema button{display:grid;place-items:center;width:36px;height:28px;padding:0;border:0;border-radius:999px;background:none;color:var(--suave);cursor:pointer;transition:background .2s,color .2s}
.tema button:hover{color:var(--texto)}
.tema button[aria-pressed="true"]{background:var(--texto);color:var(--noite)}
.tema svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* uma logo por tema */
.logo.logo-dia{display:none}
:root[data-theme="light"] .logo.logo-noite{display:none}
:root[data-theme="light"] .logo.logo-dia{display:block}

/* linha do dia: o simem.js põe --k (posição 0..1 no dia) em cada marca; a cor sai do tema */
:root{--faixa-a:#499dfe;--faixa-b:#4ae2c2}
.dia-faixa a{background:var(--faixa-a);background:color-mix(in srgb,var(--faixa-b) calc(var(--k,0) * 100%),var(--faixa-a))}

/* troca de tema: cores deslizam junto com o mar (só na troca; a classe sai depois de 650 ms) */
@media (prefers-reduced-motion:no-preference){
  html.tema-trocando,html.tema-trocando *,html.tema-trocando *::before,html.tema-trocando *::after{transition:background-color .5s ease,color .5s ease,border-color .5s ease,fill .5s ease,stroke .5s ease,box-shadow .5s ease!important}
}

/* ───── tema claro: dia no Rio, céu claro, mar azul-turquesa, texto marinho ───── */
:root[data-theme="light"]{
  color-scheme:light;
  --noite:#ffffff;            /* cor sobre --texto (botões cheios, pílulas marcadas) */
  --abismo:#eef6fb;
  --texto:#0b1f3f;            /* marinho: 15:1 sobre o fundo */
  --suave:#465b7c;            /* 6,4:1 sobre o fundo */
  --azul:#1d63c4;
  --ciano:#087ba0;            /* 4,8:1 sobre branco: serve também para texto pequeno */
  --agua:#0a7a6c;
  --ceu:#1a5fae;
  --grad:linear-gradient(90deg,#1456b0 0%,#0a6f96 55%,#0a7368 100%);   /* todas as paradas ≥ 5:1 sobre o fundo claro */
  --fundo-pagina:linear-gradient(180deg,#eef6fb 0,#f3f8fb 1100px,#f6f9fb 55%,#f6f3ec 100%);
  --s1:#1d63c4;--s2:#0a8ab3;--s3:#0f9a86;--s-ok:#0f9a76;
  --onda1:#1d63c4;--onda2:#0a8ab3;--onda3:#0f9a86;
  --linha:rgba(11,42,91,.12);
  --linha-forte:rgba(11,42,91,.24);
  --sup:rgba(255,255,255,.62);
  --erro:#b42318;
  --faixa-a:#1d63c4;--faixa-b:#0f9a86;
  --campo:#ffffff;
  --sombra:rgba(11,42,91,.38);
  --ambar:#8a5a00;            /* pendente / a pagar: 5,6:1 */
  --sol:#e0670f;              /* acento quente, só na agulha do "agora" */
  --h-ondas:clamp(230px,30vw,440px);
}
:root[data-theme="light"] .topo.rolado{background:rgba(238,246,251,.84)}
:root[data-theme="light"] .btn-claro:hover{background:#16407e;border-color:#16407e;box-shadow:0 10px 30px -12px rgba(11,42,91,.55)}
:root[data-theme="light"] .btn-noite:hover{box-shadow:0 12px 30px -14px rgba(0,0,0,.45)}

/* abertura: o céu desce claro até a faixa do mar; o tom logo acima do canvas casa com o céu do shader */
:root[data-theme="light"] .abre{background:linear-gradient(180deg,#d3e8f8 0,#e5f1fa 36%,#d8ebf8 calc(100% - var(--h-ondas)),#cde5f6 calc(100% - var(--h-ondas) * .72),#eef6fb 100%)}
:root[data-theme="light"] #ondas{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 24%,#000 80%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 24%,#000 80%,transparent 100%)}
:root[data-theme="light"] #ondas.sem-webgl{background:radial-gradient(18% 30% at 63% 27%,rgba(255,236,190,.95),rgba(255,236,190,0) 70%),linear-gradient(180deg,#cfe6f7 0,#e6f2f9 40%,#7fc3e4 42%,#2b8fbf 60%,#0f6a98 80%,#eef6fb 100%)}
:root[data-theme="light"] .placa{background:#fff;box-shadow:0 0 0 1px var(--linha),0 14px 30px -20px var(--sombra)}

/* painéis e cartões: branco translúcido com sombra leve */
:root[data-theme="light"] .painel{background:linear-gradient(150deg,rgba(255,255,255,.9),rgba(255,255,255,.62));box-shadow:0 30px 60px -44px var(--sombra)}
:root[data-theme="light"] .inscr{background:rgba(255,255,255,.8)!important}
:root[data-theme="light"] .pessoa:hover{background:#fff;box-shadow:0 18px 36px -28px var(--sombra)}
:root[data-theme="light"] .foto{background:linear-gradient(155deg,#d6e8f8,#cdebee)!important;color:#1a4f8f!important}
:root[data-theme="light"] .aulas a{color:#2b4166}
:root[data-theme="light"] .agenda{background:rgba(255,255,255,.7)}

/* programação */
:root[data-theme="light"] .dia-faixa a{background:color-mix(in srgb,var(--faixa-b) calc(var(--k,0) * 100%),var(--faixa-a))!important}
:root[data-theme="light"] .dia-faixa a:hover,:root[data-theme="light"] .dia-faixa a:focus-visible{filter:brightness(1.18) saturate(1.1)}
:root[data-theme="light"] .agulha{background:var(--sol);box-shadow:0 0 10px rgba(224,103,15,.55)}
:root[data-theme="light"] .sessao.agora{background:rgba(8,123,160,.09)}
:root[data-theme="light"] .sessao.pisca{animation-name:pisca-dia}
@keyframes pisca-dia{0%,35%{background:rgba(8,123,160,.18)}100%{background:transparent}}
:root[data-theme="light"] .tag-agora{background:var(--ciano)!important}

/* workshops */
:root[data-theme="light"] .oficina{background:linear-gradient(165deg,#ffffff 0%,#f1f8fc 100%)!important;border:1px solid var(--linha-forte)!important;box-shadow:0 26px 50px -38px var(--sombra)}
:root[data-theme="light"] .oficina:hover{box-shadow:0 30px 60px -32px rgba(8,90,140,.42)}
:root[data-theme="light"] .oficina-num{color:rgba(11,42,91,.07)}
:root[data-theme="light"] .oficina ul{color:#2b4166}
:root[data-theme="light"] .oficina li::before{background:var(--ciano)}

/* formulário */
:root[data-theme="light"] .campo input,:root[data-theme="light"] .campo select,:root[data-theme="light"] .seg,:root[data-theme="light"] .fone-pais,:root[data-theme="light"] .opcao{background-color:var(--campo)}
:root[data-theme="light"] .campo input::placeholder{color:#6b7c96}
:root[data-theme="light"] .campo input:focus,:root[data-theme="light"] .campo select:focus,:root[data-theme="light"] .fone-pais:focus-visible{box-shadow:0 0 0 3px rgba(8,123,160,.2)}
:root[data-theme="light"] .fone-pais img,:root[data-theme="light"] .fone-lista img{box-shadow:0 0 0 1px rgba(11,42,91,.16)}
:root[data-theme="light"] .fone-painel{background:#fff;box-shadow:0 24px 60px -20px rgba(11,42,91,.4)}
:root[data-theme="light"] .fone-painel input{background:#f3f8fb}
:root[data-theme="light"] .fone-lista li.ativo,:root[data-theme="light"] .fone-lista li:hover{background:rgba(11,42,91,.06)}
:root[data-theme="light"] .opcao:has(input:checked){background:linear-gradient(150deg,rgba(29,99,196,.09),rgba(15,154,134,.06)),#fff}
:root[data-theme="light"] .vagas-trilho{background:rgba(11,42,91,.08)}
:root[data-theme="light"] .vagas.cheio .vagas-trilho i{background:linear-gradient(90deg,#d9482b,#b42318)}
:root[data-theme="light"] .insc-ok>svg path{stroke:#fff}   /* só o ícone de confirmação; os QR codes ficam intactos */
:root[data-theme="light"] .qr-img{box-shadow:0 0 0 1px var(--linha-forte)}
:root[data-theme="light"] .cons-res .r-st{background:rgba(11,42,91,.06)}
:root[data-theme="light"] .cons-res .r-st.pendente i{background:#d48a00}
:root[data-theme="light"] .previa{border-color:var(--ambar);color:var(--ambar)}
:root[data-theme="light"] .compra-res .a-pagar{color:var(--ambar)}
:root[data-theme="light"] .pix-bloco{background:rgba(255,255,255,.75)}
:root[data-theme="light"] .pix-rot textarea{background:#f3f8fb}

/* chamada final: no dia vira uma faixa de mar fundo, com texto branco (≥ 5,8:1) */
:root[data-theme="light"] .fecho{background:linear-gradient(115deg,#0b3f7e 0%,#0a5f93 55%,#0a6f7e 100%)!important;color:#fff!important}
:root[data-theme="light"] .fecho .btn{color:#fff;border-color:rgba(255,255,255,.6)}
:root[data-theme="light"] .fecho .btn:hover{border-color:#fff}
:root[data-theme="light"] .fecho .btn-noite{background:#fff;color:#0b1f3f;border-color:#fff}

/* rodapé: fica marinho nos dois temas (a logo do rodapé é clara), com as cores da noite */
:root[data-theme="light"] .rodape{--texto:#eef3fc;--suave:#a9b9d6;--ceu:#a9cdf3;--linha:rgba(181,217,255,.14);--grad:linear-gradient(#7db9f3,#7db9f3);background:#04183c;color:var(--texto)}

/* avisos */
:root[data-theme="light"] .aviso{background:rgba(11,31,63,.4)}
:root[data-theme="light"] .av-cartao{background:#fff!important;border:1px solid var(--linha-forte)!important;box-shadow:0 30px 80px -24px rgba(11,42,91,.5)}
:root[data-theme="light"] .av-x,:root[data-theme="light"] .avc-x{background:rgba(11,42,91,.07)}
:root[data-theme="light"] .av-x:hover,:root[data-theme="light"] .avc-x:hover{background:rgba(11,42,91,.14)}
:root[data-theme="light"] .av-arte [stroke="#b5d9ff"]{stroke:#7fb2e5}
:root[data-theme="light"] .av-arte [fill="#eef3fc"]{fill:#e8f1fa}
:root[data-theme="light"] .av-arte [stroke="#071736"]{stroke:#fff}
:root[data-theme="light"] .avc-fundo{background:radial-gradient(circle at 50% 40%,rgba(8,123,160,.14),rgba(11,31,63,.5) 62%)}
:root[data-theme="light"] .avc-cartao{background:linear-gradient(160deg,#ffffff 0%,#f4f9fc 60%,#eaf5f7 100%) padding-box,var(--grad) border-box;box-shadow:0 30px 80px -24px rgba(11,42,91,.5)}
:root[data-theme="light"] .avc-papel{filter:drop-shadow(0 14px 18px rgba(11,42,91,.22))}
:root[data-theme="light"] .avc-papel-fundo{fill:#fff}
:root[data-theme="light"] .avc-ok circle{stroke:#fff}

@media (max-width:1020px){
  :root[data-theme="light"] .doca{background:rgba(255,255,255,.92);box-shadow:0 12px 30px -14px rgba(11,42,91,.4)}
}
@media (max-width:700px){
  :root[data-theme="light"]{--h-ondas:clamp(230px,62vw,300px)}
  .topo{gap:12px}
  .tema{margin-right:-4px}
}
