/* =====================================================================
   Gala de Premiação Viveiros do Cuanza Norte — 3ª Edição · "Raízes"
   Identidade: glamour dourado + herança ambundu (terra, café, kimbundu,
   imbondeiro, rio Kwanza). Padrões geométricos de cestaria/tecelagem.
   ===================================================================== */
:root{
  --noite:#0b0805;
  --noite-2:#120c07;
  --cafe:#1b120a;
  --cafe-2:#24180d;
  --argila:#5a2e17;
  --terracota:#b4532a;
  --ocre:#d8962f;
  --ouro:#f5b400;
  --ouro-claro:#ffd977;
  --ouro-escuro:#a8700c;
  --marfim:#f6ead2;
  --rafia:#cdb894;
  --cinza:#a7987e;
  --linha:rgba(245,180,0,.18);
  --linha-forte:rgba(245,180,0,.42);
  --vidro:rgba(255,214,140,.045);
  --sombra:0 24px 60px -24px rgba(0,0,0,.8);
  --ok:#5fbf7a; --erro:#e0664a;

  --f-display:'Cinzel',Georgia,serif;
  --f-serif:'Cormorant Garamond',Georgia,serif;
  --f-num:'Bebas Neue','Jost',sans-serif;
  --f-body:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;

  --gold-grad:linear-gradient(100deg,#7d5210 0%,#e9b443 18%,#ffe39a 32%,#f5b400 46%,#fff3c9 55%,#d99312 70%,#8a5a10 100%);
  --raio:14px;
  --max:1240px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--noite);color:var(--marfim);font-family:var(--f-body);font-size:16.5px;line-height:1.7;overflow-x:hidden;
  background-image:
    radial-gradient(1200px 600px at 85% -10%,rgba(180,83,42,.16),transparent 60%),
    radial-gradient(900px 500px at -10% 30%,rgba(245,180,0,.07),transparent 60%);
}
/* grão de papel/terra */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.35;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .9 0 0 0 0 .7 0 0 0 0 .4 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
img{max-width:100%;display:block}
a{color:var(--ouro);text-decoration:none}
a:hover{color:var(--ouro-claro)}
::selection{background:var(--ouro);color:var(--noite)}
.ico{flex:none;vertical-align:middle}
main,header,footer,section{position:relative;z-index:1}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 24px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:2px solid var(--ouro);outline-offset:3px;border-radius:6px}

/* ---------- Tipografia ---------- */
h1,h2,h3,h4{font-family:var(--f-display);font-weight:700;line-height:1.15;margin:0 0 .5em;letter-spacing:.02em}
.gold{background:var(--gold-grad);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 7s linear infinite}
@keyframes shimmer{to{background-position:220% center}}
.serif{font-family:var(--f-serif);font-style:italic;font-weight:500}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:.74rem;letter-spacing:.32em;text-transform:uppercase;color:var(--ocre);font-weight:600}
.eyebrow::before,.eyebrow::after{content:"";width:28px;height:1px;background:linear-gradient(90deg,transparent,var(--ocre))}
.eyebrow::after{transform:scaleX(-1)}
.muted{color:var(--cinza)}

/* ---------- Faixa ambundu (padrão de cestaria) ---------- */
.faixa{height:22px;width:100%;opacity:.9;
  background:
   url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='22' viewBox='0 0 44 22'%3E%3Cpath d='M0 22L11 0l11 22z' fill='%23f5b400' fill-opacity='.85'/%3E%3Cpath d='M22 0l11 22L44 0z' fill='%23b4532a' fill-opacity='.85'/%3E%3Cpath d='M11 22l5.5-11L22 22z' fill='%230b0805'/%3E%3Cpath d='M33 0l-5.5 11L22 0z' fill='%230b0805' fill-opacity='.0'/%3E%3Ccircle cx='33' cy='6' r='1.6' fill='%230b0805'/%3E%3C/svg%3E") repeat-x center/44px 22px;
  border-top:1px solid var(--ouro-escuro);border-bottom:1px solid var(--ouro-escuro)}
.faixa.fina{height:12px;background-size:24px 12px;opacity:.7}
.losangos{position:absolute;inset:0;pointer-events:none;opacity:.07;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Cg fill='none' stroke='%23f5b400' stroke-width='1.2'%3E%3Cpath d='M28 4l24 24-24 24L4 28z'/%3E%3Cpath d='M28 14l14 14-14 14-14-14z'/%3E%3Ccircle cx='28' cy='28' r='2.4' fill='%23f5b400'/%3E%3C/g%3E%3C/svg%3E");background-size:56px 56px}

/* ---------- Botões ---------- */
.btn{--bg:transparent;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 26px;border-radius:999px;font-family:var(--f-body);font-weight:600;font-size:.86rem;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--linha-forte);color:var(--marfim);background:var(--bg);cursor:pointer;transition:transform .2s,box-shadow .3s,background .3s,color .2s;position:relative;overflow:hidden;text-decoration:none;white-space:nowrap}
.btn:hover{transform:translateY(-2px);color:var(--marfim);border-color:var(--ouro)}
.btn-ouro{background:var(--gold-grad);background-size:200% auto;color:#1a1004;border:0;box-shadow:0 10px 30px -10px rgba(245,180,0,.6),inset 0 1px 0 rgba(255,255,255,.5)}
.btn-ouro:hover{color:#1a1004;background-position:right center;box-shadow:0 16px 40px -12px rgba(245,180,0,.8)}
.btn-ouro::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:brilho 4s ease-in-out infinite}
@keyframes brilho{0%,60%{left:-60%}100%{left:130%}}
.btn-sm{padding:9px 18px;font-size:.74rem}
.btn-block{width:100%}
.btn[disabled]{opacity:.5;pointer-events:none}

/* ---------- Navegação ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .4s,border-color .4s,padding .3s;border-bottom:1px solid transparent;padding:14px 0}
.nav.stuck,.nav.solid{background:rgba(11,8,5,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--linha);padding:8px 0}
.nav .wrap{display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:12px;color:var(--marfim);flex:none}
.brand img{height:46px;width:auto;filter:drop-shadow(0 2px 10px rgba(245,180,0,.25))}
.brand span{font-family:var(--f-display);font-size:.78rem;line-height:1.25;letter-spacing:.08em}
.brand span b{display:block;color:var(--ouro);font-size:.62rem;letter-spacing:.3em;font-weight:600}
.menu{display:flex;align-items:center;gap:4px;margin:0 0 0 auto;padding:0;list-style:none}
.menu a{display:block;padding:8px 13px;border-radius:999px;color:var(--rafia);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;transition:color .2s,background .2s}
.menu a:hover,.menu a.on{color:var(--ouro);background:rgba(245,180,0,.07)}
.nav .btn{flex:none}
.burger{display:none;background:none;border:1px solid var(--linha-forte);color:var(--ouro);border-radius:10px;padding:8px;margin-left:auto;cursor:pointer}
@media (max-width:1060px){
  .burger{display:inline-flex}
  .nav .btn-votar-nav{display:none}
  .menu{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;flex-direction:column;justify-content:center;gap:10px;background:rgba(11,8,5,.98);transform:translateY(-100%);opacity:0;visibility:hidden;transition:transform .45s cubic-bezier(.7,0,.2,1),opacity .3s,visibility 0s .45s;z-index:-1}
  .menu.open{transform:none;opacity:1;visibility:visible;transition:transform .45s cubic-bezier(.7,0,.2,1),opacity .3s}
  .menu a{font-size:1.05rem;padding:12px 24px}
}

/* ---------- Hero ---------- */
.hero{min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:110px 0 250px;overflow:hidden;isolation:isolate}
.hero::before,.hero::after{content:"";position:absolute;top:-120px;width:46vw;height:62vh;z-index:-1;pointer-events:none;opacity:.55;
  background:repeating-linear-gradient(90deg,rgba(120,70,8,.0) 0 18px,rgba(245,180,0,.22) 30px,rgba(90,50,6,.0) 46px);filter:blur(1px);
  -webkit-mask:radial-gradient(ellipse at top,#000 20%,transparent 70%);mask:radial-gradient(ellipse at top,#000 20%,transparent 70%)}
.hero::before{left:-14vw;transform:rotate(12deg)}
.hero::after{right:-14vw;transform:rotate(-12deg)}
#poeira{position:absolute;inset:0;z-index:-1;pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:48px}
.hero-logo{width:min(320px,74%);margin:0 0 4px;filter:drop-shadow(0 10px 40px rgba(245,180,0,.25));animation:surgir 1.2s ease both}
.hero h1{font-size:clamp(3.6rem,9vw,7.6rem);line-height:.9;margin:.06em 0 .05em;letter-spacing:.06em;font-weight:900}
.hero .tagline{font-size:clamp(1.5rem,2.8vw,2.3rem);color:var(--rafia);margin:0 0 26px;line-height:1.25}
.hero .tagline em{color:var(--marfim)}
.hero-info{display:flex;flex-wrap:wrap;gap:10px 22px;margin:0 0 30px;padding:0;list-style:none;color:var(--rafia);font-size:.95rem}
.hero-info li{display:flex;align-items:center;gap:8px}
.hero-info .ico{color:var(--ouro)}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px}
.hero-palco{position:relative;display:grid;place-items:center;min-height:520px}
.raios{position:absolute;width:560px;height:560px;border-radius:50%;
  background:repeating-conic-gradient(from 0deg,rgba(245,180,0,.16) 0 3deg,transparent 3deg 12deg);
  -webkit-mask:radial-gradient(circle,#000 10%,transparent 68%);mask:radial-gradient(circle,#000 10%,transparent 68%);animation:girar 60s linear infinite}
@keyframes girar{to{transform:rotate(360deg)}}
.halo{position:absolute;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(245,180,0,.35),transparent 65%);filter:blur(10px);animation:pulsar 5s ease-in-out infinite}
@keyframes pulsar{50%{transform:scale(1.12);opacity:.7}}
.trofeu-wrap{position:relative;width:150px;aspect-ratio:474/1065;filter:drop-shadow(0 30px 40px rgba(0,0,0,.7)) drop-shadow(0 0 26px rgba(245,180,0,.45));animation:flutuar 6s ease-in-out infinite}
.trofeu{position:absolute;inset:0;background:linear-gradient(115deg,#8a5a10 0%,#e9b443 22%,#fff1c2 34%,#f5b400 48%,#b8770b 62%,#ffe39a 76%,#a8700c 100%);background-size:260% 260%;animation:ouro-mov 6s ease-in-out infinite alternate;
  -webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
@keyframes ouro-mov{to{background-position:100% 100%}}
@keyframes flutuar{50%{transform:translateY(-14px)}}
.trofeu-sheen{position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.6) 45%,transparent 60%);mix-blend-mode:overlay;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat;animation:sheen 5s ease-in-out infinite;background-size:300% 100%}
@keyframes sheen{0%,40%{background-position:120% 0}100%{background-position:-120% 0}}

/* contagem */
.contagem{display:flex;justify-content:center;gap:12px;position:relative;z-index:2}
.contagem div{min-width:84px;padding:12px 10px 8px;text-align:center;border:1px solid var(--linha-forte);border-radius:12px;background:linear-gradient(180deg,rgba(36,24,13,.9),rgba(11,8,5,.9));box-shadow:var(--sombra)}
.contagem b{display:block;font-family:var(--f-num);font-size:2.6rem;line-height:1;color:var(--ouro);letter-spacing:.04em}
.contagem small{font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--cinza)}
.contagem-titulo{text-align:center;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ocre);margin-top:16px}

/* paisagem + imbondeiro + raízes */
.paisagem{position:absolute;left:0;right:0;bottom:0;height:300px;z-index:-1;pointer-events:none}
.paisagem svg{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:max(1600px,100%);height:100%}
.raiz{fill:none;stroke:url(#gRaiz);stroke-width:2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:crescer 3.6s cubic-bezier(.4,0,.2,1) forwards}
.raiz.fina{stroke-width:1.1;opacity:.75}
@keyframes crescer{to{stroke-dashoffset:0}}
.rio{fill:none;stroke:rgba(245,180,0,.35);stroke-width:1.4;stroke-dasharray:6 10;animation:correr 16s linear infinite}
@keyframes correr{to{stroke-dashoffset:-320}}
.scroll-ind{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--cinza);z-index:2}
.scroll-ind i{width:1px;height:42px;background:linear-gradient(var(--ouro),transparent);animation:descer 2s ease-in-out infinite}
@keyframes descer{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@keyframes surgir{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}

@media (max-width:960px){
  .hero{padding:110px 0 210px;text-align:center}
  .paisagem{height:200px}
  .hero-grid{grid-template-columns:1fr;gap:10px}
  .hero-logo{margin-inline:auto}
  .hero-info,.hero-ctas{justify-content:center}
  .hero-palco{min-height:420px;order:-1;display:none}
  .contagem{justify-content:center;margin-top:24px}
}
@media (max-width:520px){.contagem div{min-width:0;flex:1}.contagem b{font-size:2rem}}

/* ---------- Secções ---------- */
.sec{padding:110px 0;position:relative}
.sec.alt{background:linear-gradient(180deg,var(--noite-2),var(--cafe) 50%,var(--noite-2))}
.sec-head{text-align:center;max-width:760px;margin:0 auto 56px}
.sec-head h2{font-size:clamp(2rem,4.4vw,3.3rem);margin:14px 0 10px}
.sec-head p{color:var(--rafia);font-size:1.06rem;margin:0}
.reveal{opacity:0;transform:translateY(36px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.raiz{stroke-dashoffset:0}}

/* ornamento de cantos */
.orn{position:relative}
.orn::before,.orn::after{content:"";position:absolute;width:18px;height:18px;border:1px solid var(--ouro);opacity:.7;pointer-events:none}
.orn::before{top:-1px;left:-1px;border-right:0;border-bottom:0;border-top-left-radius:var(--raio)}
.orn::after{bottom:-1px;right:-1px;border-left:0;border-top:0;border-bottom-right-radius:var(--raio)}

.card{background:linear-gradient(180deg,rgba(255,214,140,.06),rgba(255,214,140,.02));border:1px solid var(--linha);border-radius:var(--raio);padding:30px;transition:transform .35s,border-color .35s,box-shadow .35s}
.card:hover{transform:translateY(-4px);border-color:var(--linha-forte);box-shadow:0 30px 60px -30px rgba(245,180,0,.25)}

/* ---------- Manifesto / Sobre ---------- */
.manifesto{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.manifesto blockquote{margin:0;font-family:var(--f-serif);font-style:italic;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.3;color:var(--marfim)}
.manifesto blockquote::before{content:"“";display:block;font-family:var(--f-display);font-size:5rem;line-height:.6;color:var(--ouro);margin-bottom:10px}
.manifesto .texto p{color:var(--rafia)}
.numeros{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:64px}
.numero{text-align:center;padding:26px 10px;border-top:1px solid var(--linha-forte)}
.numero b{display:block;white-space:nowrap;font-family:var(--f-num);font-size:3.4rem;line-height:1;color:var(--ouro)}
.numero span{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--cinza)}
@media (max-width:860px){.manifesto{grid-template-columns:1fr;gap:28px}.numeros{grid-template-columns:repeat(2,1fr)}}

/* ---------- Linha do tempo "Raízes" ---------- */
.raizes{overflow:hidden}
.tronco{position:relative;max-width:1000px;margin:0 auto}
.tronco::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translateX(-50%);background:linear-gradient(var(--ouro),var(--terracota) 60%,transparent)}
.tronco .seiva{position:absolute;left:50%;top:0;width:2px;height:0;transform:translateX(-50%);background:var(--ouro-claro);box-shadow:0 0 14px 2px rgba(245,180,0,.6);transition:height .2s linear}
.marco{position:relative;width:50%;padding:0 54px 56px 0;text-align:right}
.marco:nth-child(even of .marco){margin-left:50%;padding:0 0 56px 54px;text-align:left}
.marco .no{position:absolute;right:-11px;top:6px;width:22px;height:22px;transform:rotate(45deg);border:2px solid var(--ouro);background:var(--noite);box-shadow:0 0 0 6px rgba(245,180,0,.08)}
.marco:nth-child(even of .marco) .no{left:-11px;right:auto}
.marco.in .no{background:var(--ouro);transition:background .6s .3s}
.marco .periodo{font-family:var(--f-num);font-size:2.1rem;letter-spacing:.06em;color:var(--ouro);line-height:1}
.marco h3{font-size:1.3rem;margin:6px 0 8px;color:var(--marfim)}
.marco p{margin:0;color:var(--rafia)}
.marco svg.ramo{position:absolute;top:16px;right:0;width:54px;height:30px;overflow:visible}
.marco:nth-child(even of .marco) svg.ramo{left:0;right:auto;transform:scaleX(-1)}
@media (max-width:760px){
  .tronco::before,.tronco .seiva{left:14px}
  .marco,.marco:nth-child(even of .marco){width:100%;margin:0;padding:0 0 44px 48px;text-align:left}
  .marco .no,.marco:nth-child(even of .marco) .no{left:3px;right:auto}
  .marco svg.ramo{display:none}
}

/* ---------- Categorias ---------- */
.grade-cat{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.cat{position:relative;display:flex;flex-direction:column;min-height:200px;padding:26px 24px 22px;border-radius:var(--raio);border:1px solid var(--linha);overflow:hidden;color:var(--marfim);isolation:isolate;
  background:linear-gradient(160deg,rgba(36,24,13,.95),rgba(11,8,5,.95))}
.cat::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,8,5,.55),rgba(11,8,5,.92)),var(--img,none) center 62%/cover;opacity:.55;transition:opacity .5s,transform .8s;filter:saturate(.6)}
.cat::after{content:"";position:absolute;inset:auto -40% -60% auto;width:220px;height:220px;z-index:-1;border-radius:50%;background:radial-gradient(circle,rgba(245,180,0,.22),transparent 70%);transition:transform .6s}
.cat:hover{color:var(--marfim);border-color:var(--linha-forte)}
.cat:hover::before{opacity:.38;transform:scale(1.06)}
.cat:hover::after{transform:scale(1.6)}
.cat .n{font-family:var(--f-num);font-size:3.2rem;line-height:.9;color:transparent;-webkit-text-stroke:1px var(--ouro);opacity:.8}
.cat h3{font-size:1.12rem;margin:14px 0 4px}
.cat .sub{font-size:.85rem;color:var(--rafia);margin:0}
.cat .cat-pe{margin-top:auto;padding-top:18px;display:flex;align-items:center;justify-content:space-between;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cinza)}
.cat .cat-pe .ico{color:var(--ouro);transition:transform .3s}
.cat:hover .rodape .ico{transform:translateX(5px)}

/* ---------- Candidatos ---------- */
.grade-cand{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:26px}
.cand{position:relative;text-align:center}
.moldura{display:block;position:relative;aspect-ratio:600/688;border-radius:18px;padding:6px;background:var(--gold-grad);background-size:200% auto;box-shadow:0 26px 50px -24px rgba(0,0,0,.9),0 0 0 1px rgba(245,180,0,.35);transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s}
.moldura::before{content:"";position:absolute;inset:-10px;border-radius:24px;border:1px dashed rgba(245,180,0,.35);pointer-events:none;transition:inset .45s}
.moldura img{width:100%;height:100%;object-fit:cover;border-radius:13px;background:var(--cafe)}
.cand:hover .moldura{transform:translateY(-6px) rotate(-.6deg);box-shadow:0 34px 60px -24px rgba(245,180,0,.35),0 0 0 1px var(--ouro)}
.cand:hover .moldura::before{inset:-14px}
.fita{position:relative;margin:-22px auto 0;width:92%;min-height:64px;display:flex;flex-direction:column;justify-content:center;padding:10px 16px 8px;background:linear-gradient(180deg,#fff0c0,#f2c75a);color:#1b1206;clip-path:polygon(4% 0,96% 0,100% 50%,96% 100%,4% 100%,0 50%);box-shadow:0 10px 20px -8px rgba(0,0,0,.6)}
.fita h3{font-family:var(--f-body);font-weight:700;font-size:1rem;letter-spacing:.04em;text-transform:uppercase;margin:0;line-height:1.2}
.fita small{display:block;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.cand .acoes{display:flex;justify-content:center;gap:8px;margin-top:14px}
.cand .cat-tag{display:inline-block;margin-top:10px;font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ocre)}
.coroa{position:absolute;top:-16px;right:-10px;z-index:3;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--gold-grad);color:#1b1206;box-shadow:0 0 0 4px var(--noite),0 0 30px rgba(245,180,0,.6);animation:pulsar 3s infinite}

/* carrossel de destaques */
.trilho{display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;padding:20px 4px 30px;scrollbar-width:thin;scrollbar-color:var(--ouro-escuro) transparent}
.trilho .cand{flex:0 0 230px;scroll-snap-align:start}
.trilho::-webkit-scrollbar{height:6px}.trilho::-webkit-scrollbar-thumb{background:var(--ouro-escuro);border-radius:6px}

/* ---------- Como votar ---------- */
.passos{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:p}
.passo{position:relative;padding:34px 24px 26px;border-radius:var(--raio);border:1px solid var(--linha);background:var(--vidro)}
.passo::before{counter-increment:p;content:counter(p,decimal-leading-zero);position:absolute;top:-18px;left:22px;font-family:var(--f-num);font-size:2rem;line-height:1;padding:4px 12px;background:var(--noite);border:1px solid var(--linha-forte);border-radius:8px;color:var(--ouro)}
.passo h3{font-size:1.02rem;margin:6px 0 6px}
.passo p{margin:0;color:var(--rafia);font-size:.95rem}
.formas{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:40px}
.forma{display:flex;gap:16px;align-items:flex-start}
.forma .ic{flex:none;width:52px;height:52px;border-radius:14px;display:grid;place-items:center;color:var(--ouro);border:1px solid var(--linha-forte);background:rgba(245,180,0,.06)}
.forma h3{font-size:1rem;margin:2px 0 4px}
.forma p{margin:0;color:var(--rafia);font-size:.93rem}
.forma code{display:inline-block;margin-top:8px;padding:3px 10px;border-radius:6px;background:rgba(245,180,0,.12);color:var(--ouro-claro);font-size:.9rem}
@media (max-width:900px){.passos{grid-template-columns:repeat(2,1fr);row-gap:34px}}
@media (max-width:520px){.passos{grid-template-columns:1fr}}

/* ---------- Critérios ---------- */
.criterios{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.criterio{text-align:center;padding:40px 28px}
.criterio .selo{width:76px;height:76px;margin:0 auto 18px;display:grid;place-items:center;color:var(--ouro);position:relative}
.criterio .selo::before{content:"";position:absolute;inset:0;border:1px solid var(--ouro);transform:rotate(45deg);border-radius:10px}
.criterio .selo::after{content:"";position:absolute;inset:10px;border:1px dashed var(--linha-forte);transform:rotate(45deg);border-radius:6px}
.criterio p{color:var(--rafia);margin:0}
.criterio .peso{display:inline-block;margin-top:12px;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ocre)}

/* ---------- Homenageados ---------- */
.homen{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px}
.homen .card{text-align:center;padding:30px 20px}
.homen .avatar{width:92px;height:92px;margin:0 auto 16px;border-radius:50%;padding:3px;background:var(--gold-grad)}
.homen .avatar img,.homen .avatar span{width:100%;height:100%;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:var(--cafe);font-family:var(--f-display);font-size:1.7rem;color:var(--ouro)}
.homen h3{font-size:1.02rem;margin:0 0 4px}
.homen .tit{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ocre)}
.homen p{font-size:.9rem;color:var(--rafia);margin:10px 0 0}

/* ---------- Gala (bloco do evento) ---------- */
.gala{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--linha-forte);border-radius:22px;overflow:hidden;background:linear-gradient(120deg,var(--cafe-2),var(--noite))}
.gala .lado{padding:56px 48px;position:relative}
.gala .data-grande{font-family:var(--f-num);font-size:clamp(5rem,12vw,9rem);line-height:.85;color:transparent;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text}
.gala .data-grande small{display:block;font-size:.3em;letter-spacing:.2em;color:var(--marfim);-webkit-text-fill-color:var(--marfim)}
.gala dl{margin:0;display:grid;gap:18px}
.gala dt{font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ocre)}
.gala dd{margin:2px 0 0;font-size:1.1rem}
.gala .lado+.lado{border-left:1px solid var(--linha)}
@media (max-width:820px){.gala{grid-template-columns:1fr}.gala .lado+.lado{border-left:0;border-top:1px solid var(--linha)}.gala .lado{padding:38px 26px}}

/* ---------- Patrocinadores ---------- */
.marquee{overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.marquee-in{display:flex;gap:28px;width:max-content;animation:deslizar 40s linear infinite}
.marquee:hover .marquee-in{animation-play-state:paused}
@keyframes deslizar{to{transform:translateX(-50%)}}
.patro{flex:none;width:200px;height:110px;display:grid;place-items:center;padding:18px;border:1px solid var(--linha);border-radius:12px;background:rgba(255,255,255,.03)}
.patro img{max-height:70px;width:auto;filter:grayscale(1) brightness(1.6);opacity:.8;transition:filter .3s,opacity .3s}
.patro:hover img{filter:none;opacity:1}
.patro span{font-family:var(--f-display);color:var(--rafia);text-align:center;font-size:.9rem}
.nivel-ouro{border-color:var(--linha-forte)}

/* ---------- Publicidade ---------- */
.pub{position:relative;margin:0 auto;display:block;text-align:center}
.pub img{margin:0 auto;border-radius:10px;width:100%;height:auto}
.pub-rotulo{display:block;font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:var(--cinza);opacity:.7;margin-bottom:6px;text-align:center}
.pub-topo,.pub-rodape,.pub-meio{max-width:1200px;padding:0 24px}
.pub-slot{padding:30px 0}
.pub-vazio{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;padding:24px 28px;border:1px dashed var(--linha-forte);border-radius:12px;color:var(--rafia);background:repeating-linear-gradient(135deg,rgba(245,180,0,.03) 0 10px,transparent 10px 20px);text-align:left}
.pub-vazio b{font-family:var(--f-display);color:var(--ouro);font-size:1.05rem;letter-spacing:.06em}
.pub-vazio span{font-size:.9rem}
.pub-lateral .pub-vazio{flex-direction:column;text-align:center;min-height:420px}
.pub-popup{position:fixed;inset:0;z-index:90;display:none;place-items:center;background:rgba(0,0,0,.75);backdrop-filter:blur(4px);padding:20px}
.pub-popup.on{display:grid;animation:surgir .5s ease}
.pub-popup .caixa{position:relative;max-width:560px;width:100%}
.pub-popup .fechar{position:absolute;top:-14px;right:-14px;width:38px;height:38px;border-radius:50%;border:0;background:var(--ouro);color:#1b1206;cursor:pointer;display:grid;place-items:center}

/* ---------- Cabeçalho de páginas internas ---------- */
.page-head{padding:150px 0 70px;text-align:center;position:relative;overflow:hidden;border-bottom:1px solid var(--linha)}
.page-head h1{font-size:clamp(2.2rem,5.5vw,4.2rem);margin:12px 0 10px}
.page-head p{color:var(--rafia);max-width:680px;margin:0 auto}
.page-head .losangos{opacity:.05}
.migalhas{display:flex;justify-content:center;gap:8px;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cinza);margin-bottom:6px}
.migalhas a{color:var(--rafia)}

.com-lateral{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:start}
.com-lateral>*{min-width:0}
.com-lateral aside{position:sticky;top:100px}
@media (max-width:1060px){.com-lateral{grid-template-columns:1fr}.com-lateral aside{position:static}}

.aviso{display:flex;align-items:center;gap:14px;padding:16px 22px;border-radius:12px;border:1px solid var(--linha-forte);background:rgba(245,180,0,.06);margin-bottom:34px;color:var(--rafia)}
.aviso .ico{color:var(--ouro)}
.aviso strong{color:var(--marfim)}

/* ---------- Perfil do candidato ---------- */
.perfil{display:grid;grid-template-columns:minmax(240px,340px) minmax(0,1fr);gap:44px;align-items:start}
.perfil .moldura{max-width:400px}
.perfil h1{font-size:clamp(2rem,4.5vw,3.4rem);margin:8px 0 4px}
.perfil .sub{font-family:var(--f-serif);font-style:italic;font-size:1.5rem;color:var(--rafia)}
.destaques{list-style:none;padding:0;margin:26px 0;display:grid;gap:10px}
.destaques li{display:flex;gap:12px;align-items:flex-start;padding:14px 18px;border-left:2px solid var(--ouro);background:var(--vidro);border-radius:0 10px 10px 0}
.destaques .ico{color:var(--ouro);margin-top:3px}
.redes{display:flex;gap:10px;margin:18px 0}
.redes a{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--linha-forte);border-radius:50%;color:var(--ouro)}
.redes a:hover{background:var(--ouro);color:var(--noite)}
.bio{color:var(--rafia)}
.cartaz-link{display:inline-flex;gap:8px;align-items:center;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}
@media (max-width:900px){.perfil{grid-template-columns:1fr;gap:30px}.perfil .moldura{margin:0 auto;max-width:340px}}

/* ---------- Modal de voto ---------- */
.modal{position:fixed;inset:0;z-index:100;display:none;place-items:center;padding:20px;background:rgba(5,3,2,.78);backdrop-filter:blur(6px)}
.modal.on{display:grid}
.modal .caixa{position:relative;width:100%;max-width:440px;padding:36px 32px 30px;border-radius:20px;border:1px solid var(--linha-forte);background:linear-gradient(180deg,var(--cafe-2),var(--noite));box-shadow:0 40px 90px -20px #000;text-align:center;animation:surgir .45s cubic-bezier(.2,.7,.2,1)}
.modal .fechar{position:absolute;top:14px;right:14px;background:none;border:0;color:var(--cinza);cursor:pointer}
.modal .foto{width:110px;height:110px;margin:-90px auto 14px;border-radius:50%;padding:4px;background:var(--gold-grad);box-shadow:0 0 0 6px var(--noite)}
.modal .foto img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.modal h3{font-size:1.3rem;margin:0 0 2px}
.modal .cat-nome{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ocre)}
.campo{text-align:left;margin:22px 0 14px}
.campo label{display:block;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--rafia);margin-bottom:8px}
.campo .tel{display:flex;border:1px solid var(--linha-forte);border-radius:12px;overflow:hidden;background:rgba(0,0,0,.35)}
.campo .tel span{padding:14px 14px;color:var(--ouro);border-right:1px solid var(--linha);font-weight:600}
.campo input{flex:1;min-width:0;background:none;border:0;color:var(--marfim);font:500 1.15rem var(--f-body);letter-spacing:.08em;padding:12px 14px;outline:none}
.campo small{display:block;color:var(--cinza);font-size:.8rem;margin-top:8px}
.hp{position:absolute;left:-9999px}
.msg{min-height:0;margin:10px 0 0;font-size:.95rem}
.msg.erro{color:var(--erro)}
.msg.ok{color:var(--ok)}
.sucesso{display:none}
.modal.feito .form-voto{display:none}
.modal.feito .sucesso{display:block}
.sucesso .selo-ok{width:84px;height:84px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:var(--gold-grad);color:#1b1206;animation:surgir .5s}
#confete{position:fixed;inset:0;pointer-events:none;z-index:120}

/* ---------- Resultados ---------- */
.res-topo{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:40px}
.tile{padding:22px 22px;border:1px solid var(--linha);border-radius:var(--raio);background:var(--vidro)}
.tile small{display:block;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--cinza)}
.tile b{display:block;font-family:var(--f-num);font-size:2.8rem;line-height:1.05;color:var(--marfim);letter-spacing:.03em}
.tile .ao-vivo{display:inline-flex;align-items:center;gap:8px;color:var(--ok);font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.ao-vivo i{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 0 currentColor;animation:vivo 1.6s infinite}
@keyframes vivo{70%{box-shadow:0 0 0 10px rgba(95,191,122,0)}100%{box-shadow:0 0 0 0 rgba(95,191,122,0)}}
@media (max-width:860px){.res-topo{grid-template-columns:repeat(2,1fr)}}
.filtro-cat{display:flex;gap:8px;overflow-x:auto;padding-bottom:10px;margin-bottom:30px;scrollbar-width:thin}
.filtro-cat button{flex:none;padding:9px 16px;border-radius:999px;border:1px solid var(--linha);background:none;color:var(--rafia);font:500 .82rem var(--f-body);cursor:pointer;white-space:nowrap}
.filtro-cat button.on,.filtro-cat button:hover{border-color:var(--ouro);color:var(--ouro);background:rgba(245,180,0,.07)}
.res-cat{padding:30px;margin-bottom:24px;border:1px solid var(--linha);border-radius:18px;background:linear-gradient(180deg,rgba(36,24,13,.6),rgba(11,8,5,.6))}
.res-cat header{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.res-cat h2{font-size:1.35rem;margin:0}
.res-cat header span{font-size:.8rem;color:var(--cinza)}
.barras{display:grid;gap:12px;position:relative}
.barra{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:center;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.barra img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid var(--linha-forte)}
.barra.lider img{border-color:var(--ouro)}
.barra .info{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:6px;font-size:.95rem}
.barra .info strong{font-weight:600}
.barra .info em{font-style:normal;font-family:var(--f-num);font-size:1.35rem;letter-spacing:.04em;color:var(--marfim)}
.barra .info em small{font-family:var(--f-body);font-size:.75rem;color:var(--cinza);margin-left:6px;letter-spacing:0}
.trilha{height:12px;border-radius:4px;background:rgba(255,255,255,.05);overflow:hidden;position:relative}
.enchimento{height:100%;width:0;border-radius:0 4px 4px 0;background:linear-gradient(90deg,var(--ouro-escuro),var(--ouro) 70%,var(--ouro-claro));transition:width 1.6s cubic-bezier(.2,.8,.2,1);position:relative}
.enchimento::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);background-size:40% 100%;background-repeat:no-repeat;animation:corrida 2.6s ease-in-out infinite}
@keyframes corrida{from{background-position:-40% 0}to{background-position:140% 0}}
.barra:not(.lider) .enchimento{background:linear-gradient(90deg,#6e4a12,#b5852a)}
.barra.vencedor .info strong::after{content:" · Vencedor";color:var(--ouro);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}
.tip{position:fixed;z-index:200;pointer-events:none;padding:8px 12px;border-radius:8px;background:#000;border:1px solid var(--linha-forte);font-size:.85rem;color:var(--marfim);opacity:0;transition:opacity .15s;white-space:nowrap}
.tip.on{opacity:1}
.oculto-msg{text-align:center;padding:60px 20px}
.oculto-msg .trofeu-mini{width:80px;margin:0 auto 20px;animation:flutuar 5s ease-in-out infinite}
.lista-oculta{display:flex;flex-wrap:wrap;gap:12px}
.lista-oculta div{display:flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;border:1px solid var(--linha);border-radius:999px}
.lista-oculta img{width:36px;height:36px;border-radius:50%;object-fit:cover}
.grafico-linha{width:100%;height:220px;display:block}
.grafico-linha .area{fill:url(#gArea)}
.grafico-linha .linha{fill:none;stroke:var(--ouro);stroke-width:2;stroke-dasharray:var(--len);stroke-dashoffset:var(--len);transition:stroke-dashoffset 2s ease}
.grafico-linha.in .linha{stroke-dashoffset:0}
.grafico-linha .grelha{stroke:rgba(255,255,255,.06)}
.grafico-linha text{fill:var(--cinza);font-size:11px;font-family:var(--f-body)}

/* ---------- Edições ---------- */
.edicoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.ed-card{position:relative;padding:36px 30px;overflow:hidden}
.ed-card .num{position:absolute;right:-6px;top:-20px;font-family:var(--f-num);font-size:9rem;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(245,180,0,.25)}
.ed-card h3{font-size:1.5rem;margin:0}
.ed-card .tema{font-family:var(--f-serif);font-style:italic;font-size:1.3rem;color:var(--ouro)}
.ed-card .badge{display:inline-block;margin-bottom:14px}
.badge{padding:4px 12px;border-radius:999px;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--linha-forte);color:var(--ouro)}
.badge.atual{background:var(--ouro);color:var(--noite);border-color:var(--ouro)}

/* ---------- Equipa ---------- */
.equipa{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.membro{display:flex;gap:14px;align-items:center;padding:18px;border:1px solid var(--linha);border-radius:12px;background:var(--vidro)}
.membro .ini{flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-display);color:var(--ouro);border:1px solid var(--linha-forte);background:var(--cafe);overflow:hidden}
.membro .ini img{width:100%;height:100%;object-fit:cover}
.membro b{display:block;font-size:.98rem}
.membro small{color:var(--ocre);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase}
.membro span{display:block;color:var(--cinza);font-size:.84rem}

/* ---------- Rodapé ---------- */
.rodape{margin-top:40px;background:linear-gradient(180deg,var(--noite),#050302);border-top:1px solid var(--linha)}
.rodape .grade{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding:70px 0 40px}
.rodape img.logo{width:200px;margin-bottom:16px}
.rodape h4{font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ouro);margin-bottom:16px}
.rodape ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.rodape a,.rodape li{color:var(--rafia);font-size:.94rem}
.rodape a:hover{color:var(--ouro)}
.rodape .lema{font-family:var(--f-serif);font-style:italic;font-size:1.25rem;color:var(--marfim)}
.rodape .base{border-top:1px solid var(--linha);padding:22px 0;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.8rem;color:var(--cinza)}
@media (max-width:900px){.rodape .grade{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.rodape .grade{grid-template-columns:1fr}.sec{padding:80px 0}.wrap{padding:0 16px}}

.vazio{text-align:center;padding:50px 20px;border:1px dashed var(--linha);border-radius:var(--raio);color:var(--cinza)}
.centro{text-align:center}
.mt-4{margin-top:40px}
.criterios.duas{grid-template-columns:1fr 1fr}
.passos.tres{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.passos.tres{grid-template-columns:1fr;row-gap:34px}}
@media (max-width:560px){.criterios.duas{grid-template-columns:1fr}}

/* ---------- Votação por e-mail (passos) ---------- */
.passo-v{display:none}
.modal[data-passo="email"] [data-passo="email"],
.modal[data-passo="codigo"] [data-passo="codigo"],
.modal[data-passo="votar"] [data-passo="votar"]{display:block;animation:surgir .35s ease}
.campo .tel span .ico{color:var(--ouro)}
.campo input.codigo{width:100%;text-align:center;font:600 2rem var(--f-num);letter-spacing:.5em;padding:12px 0 10px .5em;border:1px solid var(--linha-forte);border-radius:12px;background:rgba(0,0,0,.35);color:var(--ouro-claro)}
.campo input.codigo:focus{border-color:var(--ouro);outline:none;box-shadow:0 0 0 3px rgba(245,180,0,.15)}
.links-v{display:flex;justify-content:space-between;gap:10px;margin-top:12px}
.links-v button,.quem-vota button{background:none;border:0;padding:4px 0;color:var(--ouro);font:500 .85rem var(--f-body);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.links-v button[disabled]{color:var(--cinza);cursor:default;text-decoration:none}
.quem-vota{margin:18px 0 6px;color:var(--rafia);font-size:.95rem}
.quem-vota .ico{color:var(--ok)}
.quem-vota strong{color:var(--marfim)}
.regra-v{font-size:.82rem;margin:10px 0 14px}
.privacidade-v{font-size:.72rem;color:var(--cinza);margin:14px 0 0;line-height:1.5}
.privacidade-v a{color:var(--rafia);text-decoration:underline}
.texto-legal{max-width:760px;margin:0 auto;color:var(--rafia)}
.texto-legal p{margin:0 0 1.1em}

/* ---------- Um de cada vez (carrossel de pessoas) ---------- */
.slides{position:relative;max-width:820px;margin:0 auto;min-height:340px;border:1px solid var(--linha-forte);border-radius:22px;background:radial-gradient(600px 300px at 50% 0,rgba(245,180,0,.10),transparent 70%),linear-gradient(180deg,var(--cafe-2),var(--noite));padding:48px 40px 70px;overflow:hidden}
.slides .slide{position:absolute;inset:48px 40px 70px;display:grid;grid-template-columns:200px 1fr;gap:40px;align-items:center;opacity:0;transform:translateX(30px) scale(.98);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.slides .slide.on{position:relative;inset:auto;opacity:1;transform:none;pointer-events:auto}
.slides .slide.sai{opacity:0;transform:translateX(-30px) scale(.98)}
.avatar.grande{width:200px;height:200px;margin:0;border-radius:50%;padding:4px;background:var(--gold-grad);box-shadow:0 0 50px rgba(245,180,0,.25)}
.avatar.grande img,.avatar.grande span{width:100%;height:100%;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:var(--cafe);font-family:var(--f-display);font-size:4rem;color:var(--ouro)}
.slide-txt .tit{font-size:.74rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ocre)}
.slide-txt h3{font-size:clamp(1.6rem,3.4vw,2.4rem);margin:8px 0 10px;color:var(--marfim)}
.slide-txt p{color:var(--rafia);margin:0;font-size:1.05rem}
.slides-ctrl{position:absolute;left:0;right:0;bottom:18px;display:flex;justify-content:center;align-items:center;gap:14px}
.slides-ctrl>button{width:38px;height:38px;border-radius:50%;border:1px solid var(--linha-forte);background:none;color:var(--ouro);font-size:1.4rem;line-height:1;cursor:pointer}
.slides-ctrl .pontos{display:flex;gap:8px}
.slides-ctrl .pontos button{width:9px;height:9px;padding:0;border-radius:50%;border:0;background:rgba(245,180,0,.25);cursor:pointer;transition:background .3s,transform .3s}
.slides-ctrl .pontos button.on{background:var(--ouro);transform:scale(1.3)}
@media (max-width:640px){.slides{padding:32px 20px 70px}.slides .slide{grid-template-columns:1fr;text-align:center;gap:18px;inset:32px 20px 70px}.avatar.grande{width:140px;height:140px;margin:0 auto}}

/* ---------- Ingressos (portal) ---------- */
.tipos-ing{display:grid;gap:22px}
.tipo-ing{display:grid;grid-template-columns:auto 1fr;gap:34px;align-items:center;padding:24px;border:1px solid var(--linha);border-radius:20px;background:linear-gradient(180deg,rgba(36,24,13,.6),rgba(11,8,5,.6));transition:border-color .3s,box-shadow .3s}
.tipo-ing.escolhido{border-color:var(--ouro);box-shadow:0 0 0 1px var(--ouro),0 30px 60px -30px rgba(245,180,0,.35)}
.tipo-ing.esgotado{opacity:.55}
.mini-bilhete{flex:none}
.mini-bilhete .b-retrato{zoom:.7}
.mini-bilhete .b-paisagem{zoom:.42}
.tipo-txt h2{font-size:1.5rem;margin:0 0 6px}
.tipo-txt .preco{font:400 2.4rem var(--f-num);color:var(--ouro);letter-spacing:.04em;margin:8px 0}
.restam{display:inline-block;margin-bottom:10px;font-size:.78rem;color:var(--terracota);font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.qtd{display:inline-flex;align-items:center;border:1px solid var(--linha-forte);border-radius:999px;overflow:hidden}
.qtd button{width:46px;height:46px;border:0;background:rgba(245,180,0,.08);color:var(--ouro);font-size:1.4rem;cursor:pointer}
.qtd button:hover{background:rgba(245,180,0,.18)}
.qtd input{width:56px;height:46px;border:0;background:transparent;color:var(--marfim);text-align:center;font:600 1.2rem var(--f-body);-moz-appearance:textfield}
.qtd input::-webkit-inner-spin-button{-webkit-appearance:none}
.compra-dados{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:22px;margin-top:30px;align-items:start}
.compra label{display:grid;gap:6px;font-size:.84rem;color:var(--rafia)}
.compra label small{color:var(--cinza)}
.compra input:not([type=checkbox]):not([type=number]){width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--linha-forte);background:rgba(0,0,0,.35);color:var(--marfim);font:1rem var(--f-body)}
.compra input:focus{outline:none;border-color:var(--ouro)}
.campos2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}
.chk{display:flex!important;grid-template-columns:none;align-items:flex-start;gap:10px;margin:12px 0;font-size:.92rem!important}
.chk input{margin-top:3px;accent-color:var(--ouro);width:18px;height:18px}
#titulares{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0 6px}
#titulares[hidden]{display:none}
.resumo{position:sticky;top:100px}
.resumo ul{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:8px}
.resumo li{display:flex;justify-content:space-between;gap:10px;font-size:.95rem}
.resumo .total{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0;margin-bottom:14px;border-top:1px solid var(--linha)}
.resumo .total b{font:400 2rem var(--f-num);color:var(--ouro);letter-spacing:.04em}
@media (max-width:900px){.compra-dados{grid-template-columns:1fr}.resumo{position:static}}
@media (max-width:640px){.tipo-ing{grid-template-columns:1fr;justify-items:center;text-align:center}.campos2,#titulares{grid-template-columns:1fr}}

/* Encomenda */
.etapas{display:flex;gap:0;margin:0 0 30px;counter-reset:et}
.etapas li{flex:1;list-style:none;position:relative;text-align:center;font-size:.78rem;letter-spacing:.06em;color:var(--cinza);padding-top:40px}
.etapas li::before{counter-increment:et;content:counter(et);position:absolute;top:0;left:50%;transform:translateX(-50%);width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--linha-forte);background:var(--noite);font-weight:600;z-index:1}
.etapas li::after{content:"";position:absolute;top:15px;left:-50%;width:100%;height:1px;background:var(--linha-forte)}
.etapas li:first-child::after{display:none}
.etapas li.feito{color:var(--marfim)}
.etapas li.feito::before{background:var(--gold-grad);color:#1b1206;border:0;content:"✓"}
.etapas li.actual{color:var(--ouro)}
.etapas li.actual::before{border-color:var(--ouro);box-shadow:0 0 0 4px rgba(245,180,0,.15)}
.pagamento{white-space:pre-line;padding:18px 20px;border:1px dashed var(--linha-forte);border-radius:12px;background:rgba(245,180,0,.04);color:var(--marfim);font-size:1rem;line-height:1.7}
.ref{font:400 2rem var(--f-num);letter-spacing:.12em;color:var(--ouro)}
.lista-bilhetes{display:flex;flex-wrap:wrap;gap:26px;justify-content:center}
.bilhete-pagina{display:grid;justify-items:center;gap:22px}
@media print{
  body{background:#fff!important}
  body::before,.nav,.rodape,.pub-slot,.page-head,.nao-imprimir,.pub-popup{display:none!important}
  main{padding:0!important}
  .sec{padding:0!important}
}
.ficha{display:grid;grid-template-columns:110px 1fr;gap:8px 14px;margin:12px 0 18px;font-size:.92rem}
.ficha dt{color:var(--cinza);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;padding-top:3px}
.ficha dd{margin:0}
.historico{list-style:none;padding:0;margin:0;display:grid;gap:4px;font-size:.84rem}
.historico span:first-child{color:var(--cinza);margin-right:6px}

/* ---------- Notificações ---------- */
.push-ui{position:fixed;left:18px;bottom:18px;z-index:80;display:flex;flex-direction:column-reverse;align-items:flex-start;gap:10px}
.sino{position:relative;width:50px;height:50px;border-radius:50%;border:1px solid var(--linha-forte);background:rgba(11,8,5,.9);color:var(--ouro);display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 30px -10px #000;backdrop-filter:blur(8px)}
.sino i{position:absolute;top:10px;right:11px;width:9px;height:9px;border-radius:50%;background:var(--terracota);box-shadow:0 0 0 2px var(--noite)}
.sino.on i{background:var(--ok)}
.push-painel,.push-convite{width:min(330px,calc(100vw - 36px));padding:18px;border-radius:16px;border:1px solid var(--linha-forte);background:linear-gradient(180deg,var(--cafe-2),var(--noite));box-shadow:0 30px 60px -20px #000;animation:surgir .35s ease}
.push-painel b,.push-convite b{font-family:var(--f-display);color:var(--ouro)}
.push-painel p,.push-convite p{margin:6px 0 12px;font-size:.88rem}
.push-painel label{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;margin:8px 0;color:var(--rafia)}
.push-painel input{accent-color:var(--ouro);margin-top:3px}
.push-btns{display:flex;gap:8px;flex-wrap:wrap}
.push-ios{font-size:.8rem!important;margin-top:12px!important}
@media print{.push-ui{display:none!important}}
[hidden]{display:none!important}

/* Instruções de pagamento geradas */
.metodos-pag{display:grid;gap:10px;margin:10px 0 6px}
.metodo-pag{border:1px solid var(--linha-pag,rgba(245,180,0,.3));border-radius:12px;background:rgba(245,180,0,.04);overflow:hidden}
.metodo-pag summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px;cursor:pointer;list-style:none;font-weight:600;color:#ffd977}
.metodo-pag summary::-webkit-details-marker{display:none}
.metodo-pag summary svg{transition:transform .2s;transform:rotate(90deg)}
.metodo-pag[open] summary svg{transform:rotate(-90deg)}
.metodo-corpo{padding:0 16px 16px}
.dados-pag{display:grid;grid-template-columns:max-content 1fr;gap:8px 16px;margin:0 0 12px;align-items:center}
.dados-pag dt{color:rgba(246,234,210,.6);font-size:.85rem}
.dados-pag dd{margin:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dados-pag dd span{font-weight:600}
.dados-pag dd span.mono{font-family:Consolas,'Courier New',monospace;font-weight:700;letter-spacing:.03em;overflow-wrap:anywhere}
@media (max-width:560px){.dados-pag{grid-template-columns:1fr;gap:2px}.dados-pag dd{margin-bottom:8px}}
.copiar{border:1px solid rgba(245,180,0,.45);background:transparent;color:#ffd977;border-radius:999px;padding:3px 11px;font:600 .72rem/1.4 inherit;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.copiar:hover{background:rgba(245,180,0,.12)}.copiar.ok{border-color:#5fbf7a;color:#5fbf7a}
.passos-pag{margin:0;padding-left:20px;line-height:1.6;font-size:.95rem}
.passos-pag li{margin:2px 0}
