/* Eventos em destaque: painel no hero, seção "Não perca" e aviso no menu. */
@keyframes he-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes he-ping{0%{box-shadow:0 0 0 0 rgba(229,172,76,.7)}80%,100%{box-shadow:0 0 0 .6rem rgba(229,172,76,0)}}

/* ponto pulsante ao lado de "Eventos" no menu */
.he-dot{display:inline-block;width:.5rem;height:.5rem;border-radius:50%;background:var(--gold);margin-left:.4rem;vertical-align:middle;animation:he-ping 1.8s infinite}

/* ── hero ── */
.he-hero-grid{display:flex;flex-direction:column;gap:1.5rem}
.he-hero-main{min-width:0}
.he-panel{width:100%;border:1px solid rgba(229,172,76,.4);border-radius:1.5rem;padding:1rem 1rem .85rem;background:rgba(3,10,38,.72);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-elegant),0 0 0 1px rgba(255,255,255,.04) inset;animation:he-in .8s .35s both}
.he-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.7rem}
.he-head b{font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:.5rem}
.he-head b i{width:.5rem;height:.5rem;border-radius:50%;background:var(--gold);animation:he-ping 1.8s infinite}
.he-head a{font-size:.78rem;font-weight:600;color:var(--gold);white-space:nowrap}
.he-head a:hover{text-decoration:underline}
.he-item{display:grid;grid-template-columns:3.6rem 1fr auto;align-items:center;gap:.85rem;padding:.7rem 0;border-top:1px solid rgba(255,255,255,.09)}
.he-head+.he-item{border-top:0}
.he-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:3.6rem;height:3.9rem;border-radius:1rem;background:var(--gold);color:var(--gold-foreground);line-height:1;text-align:center}
.he-date strong{font-family:var(--font-display);font-size:1.65rem;font-weight:900}
.he-date small{font-size:.62rem;font-weight:800;letter-spacing:.14em;margin-top:.2rem}
.he-date.he-nodate{font-size:.62rem;font-weight:800;letter-spacing:.08em;padding:.3rem}
.he-info{min-width:0}
.he-info a.he-t{display:block;font-family:var(--font-display);font-weight:800;font-size:1.02rem;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.he-info a.he-t:hover{color:var(--gold)}
.he-meta{display:block;margin-top:.25rem;font-size:.78rem;color:color-mix(in oklab,var(--foreground) 68%,transparent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.he-meta em{font-style:normal;color:var(--gold);font-weight:700}
.he-cta{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:999px;padding:.6rem 1rem;font-size:.8rem;font-weight:800;background:var(--gold);color:var(--gold-foreground);transition:opacity .15s,transform .15s}
.he-cta:hover{opacity:.9;transform:translateY(-1px)}
.he-cta.he-soft{background:transparent;color:var(--foreground);border:1px solid rgba(255,255,255,.28)}
.he-cta.he-soft:hover{border-color:var(--gold);color:var(--gold)}
.he-vagas{display:block;font-size:.68rem;color:var(--gold);font-weight:700;margin-top:.2rem}

@media(max-width:1023px){
  .he-has-panel h1{font-size:clamp(2.1rem,9.5vw,3.1rem)}
  .he-item~.he-item{display:none}      /* no celular: só o próximo evento (irmãos seguintes do 1º item), o resto fica no "Ver todos" */
  section:has(.he-panel) [data-hero-scroll]{display:none}      /* o cartão já ocupa o rodapé da hero */
}
@media(max-width:1023px) and (max-height:760px){.he-has-panel .he-sub{display:none}}
@media(max-width:420px){.he-item{grid-template-columns:3.2rem 1fr}.he-date{width:3.2rem;height:3.5rem}.he-item .he-cta{grid-column:1/-1;width:100%}}
@media(min-width:1024px){
  .he-hero-grid{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:3rem}
  .he-hero-main{flex:1 1 auto}
  .he-panel{flex:0 0 26.5rem;width:26.5rem}
  .he-has-panel h1{font-size:clamp(3.25rem,5.4vw,5.75rem)}
}

/* ── seção "Não perca" ── */
.he-sec{padding:5rem 0 1rem}
.he-sec-h{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:2rem}
.he-sec-h p.he-eb{font-size:.72rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:.6rem}
.he-sec-h h2{font-family:var(--font-display);font-weight:800;font-size:clamp(1.9rem,4vw,3rem);line-height:1.05}
.he-sec-h a{font-size:.9rem;font-weight:700;color:var(--gold)}
.he-grid{display:grid;gap:1.25rem;grid-template-columns:1fr}
@media(min-width:760px){.he-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.he-grid.he-n3{grid-template-columns:repeat(3,1fr)}}
.he-card{position:relative;display:flex;flex-direction:column;overflow:hidden;border-radius:1.5rem;background:var(--surface);border:1px solid rgba(255,255,255,.07);transition:border-color .2s,transform .2s}
.he-card:hover{border-color:rgba(229,172,76,.5);transform:translateY(-3px)}
.he-card .he-img{position:relative;aspect-ratio:16/9;overflow:hidden;background:#061335}
.he-card .he-img img{width:100%;height:100%;object-fit:cover}
.he-card .he-img:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(3,10,38,.75),transparent 55%)}
.he-card .he-date{position:absolute;top:.9rem;left:.9rem;z-index:1;box-shadow:0 8px 24px -6px #000a}
.he-card .he-body{display:flex;flex-direction:column;gap:.5rem;padding:1.25rem 1.35rem 1.4rem;flex:1}
.he-card .he-tag{font-size:.68rem;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--gold)}
.he-card h3{font-family:var(--font-display);font-weight:800;font-size:1.3rem;line-height:1.2}
.he-card h3 a:after{content:"";position:absolute;inset:0}
.he-card .he-cta{align-self:flex-start;margin-top:auto;position:relative;z-index:1}
.he-card .he-actions{margin-top:.6rem;display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
@media(prefers-reduced-motion:reduce){.he-panel{animation:none}.he-dot,.he-head b i{animation:none}}

/* ══ Página /eventos: cartão de evento (pôster inteiro + informações; nada de texto sobre a imagem) ══ */
.ev-lista{display:flex;flex-direction:column;gap:2rem}
.ev-card{display:grid;grid-template-columns:1fr;gap:0;border-radius:1.75rem;overflow:hidden;background:var(--surface);border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow-elegant)}
.ev-first{border-color:rgba(229,172,76,.45)}
.ev-poster{margin:0;background:#030a26;display:flex;align-items:center;justify-content:center}
.ev-poster img{display:block;width:100%;height:auto;max-height:none}
.ev-info{padding:1.5rem 1.35rem 1.6rem;min-width:0}
.ev-tag{font-size:.7rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);display:flex;flex-wrap:wrap;gap:.35rem .75rem;align-items:center}
.ev-count{letter-spacing:.04em;text-transform:none;font-size:.78rem;background:var(--gold);color:var(--gold-foreground);border-radius:999px;padding:.2rem .65rem;font-weight:800}
.ev-title{font-family:var(--font-display);font-weight:900;font-size:clamp(1.65rem,6vw,2.6rem);line-height:1.08;margin:.7rem 0 1rem;text-wrap:balance;overflow-wrap:anywhere}
.ev-facts{display:flex;flex-direction:column;gap:.65rem;margin-bottom:1.1rem}
.ev-facts li{display:flex;gap:.7rem;align-items:flex-start;font-size:1rem;line-height:1.45}
.ev-facts svg{flex:0 0 1.25rem;width:1.25rem;height:1.25rem;margin-top:.12rem;fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ev-facts strong{text-transform:none}
.ev-resumo{font-size:1.08rem;line-height:1.65;color:color-mix(in oklab,var(--foreground) 88%,transparent);margin-bottom:.9rem}
.ev-desc{font-size:1.02rem;line-height:1.75;color:color-mix(in oklab,var(--foreground) 84%,transparent);overflow-wrap:break-word;word-break:normal}
.ev-desc a{overflow-wrap:anywhere;word-break:break-all}
.ev-desc p+p{margin-top:1rem}
.ev-more{margin:.2rem 0 1rem}
.ev-more>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1rem;border:1px solid rgba(255,255,255,.25);border-radius:999px;font-size:.88rem;font-weight:700;color:var(--gold);margin-bottom:.9rem;transition:border-color .15s}
.ev-more>summary::-webkit-details-marker{display:none}
.ev-more>summary:hover{border-color:var(--gold)}
.ev-more>summary:after{content:"▾";font-size:.8rem;transition:transform .2s}
.ev-more[open]>summary:after{transform:rotate(180deg)}
.ev-more .ev-close{display:none}.ev-more[open] .ev-open{display:none}.ev-more[open] .ev-close{display:inline}
.ev-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-top:1.3rem}
.ev-btn{display:inline-flex;align-items:center;justify-content:center;min-height:2.9rem;padding:.7rem 1.25rem;border-radius:999px;font-size:.9rem;font-weight:700;border:1px solid rgba(255,255,255,.28);color:var(--foreground);transition:border-color .15s,color .15s,opacity .15s;text-align:center}
.ev-btn:hover{border-color:var(--gold);color:var(--gold)}
.ev-primary{background:var(--gold);color:var(--gold-foreground);border-color:var(--gold)}
.ev-primary:hover{opacity:.9;color:var(--gold-foreground)}
.ev-note{font-size:.85rem;color:color-mix(in oklab,var(--foreground) 70%,transparent);padding:.4rem .2rem}
.ev-hot{color:var(--gold);font-weight:700}
@media(max-width:560px){.ev-actions .ev-btn{flex:1 1 calc(50% - .3rem)}.ev-actions .ev-primary{flex:1 1 100%}}
@media(min-width:900px){
  .ev-card{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
  .ev-card:not(:has(.ev-poster)){grid-template-columns:1fr}
  .ev-poster{align-items:flex-start}
  .ev-info{padding:2.4rem 2.6rem}
  .ev-poster img{position:sticky;top:6rem}
  .ev-first .ev-title{font-size:clamp(2.2rem,3.6vw,3.1rem)}
}
.ev-past-h{font-family:var(--font-display);font-weight:800;font-size:1.5rem;margin:3.5rem 0 1.25rem}
.ev-past{display:grid;gap:1rem;grid-template-columns:1fr}
@media(min-width:760px){.ev-past{grid-template-columns:repeat(2,1fr)}}
.ev-past-item{display:flex;gap:1rem;padding:1rem;border-radius:1.25rem;background:var(--surface);border:1px solid rgba(255,255,255,.06);opacity:.78}
.ev-past-item img{width:5.5rem;height:5.5rem;object-fit:cover;border-radius:.8rem;flex:0 0 5.5rem}
.ev-past-item h3{font-family:var(--font-display);font-weight:700;font-size:1.1rem;line-height:1.25;margin:.25rem 0}
.ev-past-item p:not(.ev-tag){font-size:.88rem;color:color-mix(in oklab,var(--foreground) 65%,transparent);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}

/* ══ Eventos de vários dias ══ */
.he-date.he-multi strong{font-size:1.18rem;letter-spacing:-.02em}
.he-date.he-multi small{font-size:.56rem;letter-spacing:.03em;margin-top:.25rem}
.ev-dias{display:inline-block;margin-left:.45rem;padding:.12rem .55rem;border-radius:999px;background:rgba(229,172,76,.18);color:var(--gold);font-style:normal;font-size:.72rem;font-weight:800;letter-spacing:.04em;vertical-align:middle}
.ev-prog{list-style:none;margin:.2rem 0 1rem;padding:0;display:grid;gap:.5rem}
.ev-prog li{display:grid;grid-template-columns:5.2rem 1fr;gap:.8rem;align-items:center;padding:.65rem .8rem;border:1px solid rgba(255,255,255,.1);border-radius:.9rem;background:rgba(255,255,255,.03)}
.ev-prog-d{display:flex;flex-direction:column;line-height:1.15}
.ev-prog-d b{color:var(--gold);font-size:.82rem;text-transform:uppercase;letter-spacing:.1em}
.ev-prog-d small{font-size:.76rem;color:var(--muted-foreground);text-transform:capitalize}
.ev-prog-t{font-size:.97rem;line-height:1.35}
.ev-prog-t em{display:block;font-style:normal;font-weight:700;color:var(--gold);font-size:.84rem;margin-bottom:.1rem}
@media(min-width:640px){.ev-prog-t em{display:inline;margin:0 .6rem 0 0}}

/* ══ Contador regressivo de inscrição ══ */
@keyframes ic-pulse{0%,100%{box-shadow:0 0 0 0 rgba(238,52,59,.5)}60%{box-shadow:0 0 0 .7rem rgba(238,52,59,0)}}
@keyframes ic-tick{0%{transform:translateY(-3px);opacity:.55}100%{transform:none;opacity:1}}
.ic{--ic:var(--gold);--ic-bg:rgba(229,172,76,.10);--ic-bd:rgba(229,172,76,.45)}
.ic-warn{--ic:#ffa94d;--ic-bg:rgba(255,169,77,.12);--ic-bd:rgba(255,169,77,.6)}
.ic-hot{--ic:#ff6b6b;--ic-bg:rgba(238,52,59,.14);--ic-bd:rgba(255,107,107,.75)}
.ic-cartao{margin:1.2rem 0 .2rem;padding:1rem 1rem 1.05rem;border:1px solid var(--ic-bd);border-radius:1.2rem;background:var(--ic-bg)}
.ic-hot.ic-cartao{animation:ic-pulse 2s infinite}
.ic-tit{display:flex;align-items:center;gap:.5rem;margin:0 0 .75rem;font-weight:800;font-size:.95rem;color:var(--ic);line-height:1.25}
.ic-tit i{font-style:normal;font-size:1.15rem}
.ic-box{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:.5rem}
.ic-box>div{display:flex;flex-direction:column;align-items:center;padding:.65rem .2rem .5rem;border-radius:.9rem;background:rgba(3,10,38,.65);border:1px solid rgba(255,255,255,.08)}
.ic-box>div[hidden]{display:none}
.ic-box b{font-family:var(--font-display);font-weight:900;font-size:2rem;line-height:1;color:var(--ic);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.ic-box [data-u=s]{animation:ic-tick .35s ease-out}
.ic-box small{margin-top:.3rem;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-foreground);font-weight:700}
.ic-sub{margin:.75rem 0 0;font-size:.85rem;line-height:1.45;color:color-mix(in oklab,var(--foreground) 82%,transparent)}
.ic-prazo{margin:1rem 0 0;font-size:.88rem;color:var(--muted-foreground)}
.ic-prazo strong{color:var(--foreground)}
@media(min-width:640px){.ic-box b{font-size:2.5rem}.ic-cartao{max-width:30rem}}
/* versão mini (home, painel) */
.ic-mini{display:inline-flex;align-items:center;gap:.35rem;margin-top:.35rem;padding:.2rem .6rem;border-radius:999px;font-size:.72rem;font-weight:700;color:var(--ic);background:var(--ic-bg);border:1px solid var(--ic-bd);white-space:nowrap;max-width:100%}
.ic-mini i{font-style:normal}
.ic-mini b{font-variant-numeric:tabular-nums;color:var(--foreground)}
.ic-hot.ic-mini{animation:ic-pulse 2s infinite}
.ev-soon{opacity:.85;cursor:default;border-style:dashed;border-color:var(--gold);color:var(--gold)}
.ev-soon:hover{border-color:var(--gold);color:var(--gold)}
@media(prefers-reduced-motion:reduce){.ic-hot.ic-cartao,.ic-hot.ic-mini,.ic-box [data-u=s]{animation:none}}

/* ══ Já inscrito: selo no lugar do botão e do contador ══ */
.ic-ok{--ic:#4ade80;--ic-bg:rgba(74,222,128,.1);--ic-bd:rgba(74,222,128,.55)}
.ic-ok.ic-cartao .ic-tit{margin-bottom:.35rem}
.ic-ok .ic-sub{margin-top:0}
.ic-ok .ic-sub a{color:var(--ic);font-weight:700;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.ic-ok.ic-mini{animation:none}
