/* ==========================================================================
   Troféu Música Boa — folha de estilo única
   Rodeador Cultural · modelo v1 · agosto/2026
   Paleta: preto de palco, ouro do troféu, laranja da marca Música Boa
   ========================================================================== */

:root{
  --preto:#100E0C;
  --carvao:#1A1714;
  --carvao-alto:#241F1A;
  --ouro:#C9A227;
  --ouro-claro:#E7CE7C;
  --laranja:#EE5326;
  --laranja-claro:#F58158;
  --creme:#EFEBE1;
  --creme-2:#E2DCCD;
  --texto:#EDE8DD;
  --texto-fraco:#B0A695;
  --texto-escuro:#2B2621;
  --texto-escuro-fraco:#6B6055;
  --linha:rgba(233,206,124,.22);
  --linha-clara:rgba(43,38,33,.14);

  --fonte-titulo:"Archivo Black","Archivo",Impact,"Haettenschweiler","Arial Narrow Bold",sans-serif;
  --fonte-texto:"Archivo","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;

  --largura:1140px;
  --gutter:clamp(26px,7vw,52px);
}

*,*::before,*::after{box-sizing:border-box}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body{
  margin:0;
  background:var(--preto);
  color:var(--texto);
  font-family:var(--fonte-texto);
  font-size:clamp(16px,1.02rem,18px);
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;height:auto;display:block}

a{color:var(--ouro-claro);text-underline-offset:3px}
a:hover{color:#fff}

/* texto corrido justificado com hifenização — padrão adotado no ecossistema */
p,li{hyphens:auto;text-align:justify}
p.esq,li.esq,.meta,.rotulo,.nota{text-align:left;hyphens:manual}

h1,h2,h3,h4{font-family:var(--fonte-titulo);line-height:1.02;margin:0;letter-spacing:-.015em;text-wrap:balance}

.container{width:100%;max-width:var(--largura);margin-inline:auto;padding-inline:var(--gutter)}

.pular{position:absolute;left:-9999px}
.pular:focus{left:8px;top:8px;z-index:99;background:var(--ouro);color:#000;padding:10px 16px;border-radius:4px}

/* ---------- cabeçalho ---------- */
.topo{
  position:sticky;top:0;z-index:50;
  background:rgba(16,14,12,.93);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--linha);
}
.topo-in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:68px}

.marca{display:flex;align-items:center;gap:11px;text-decoration:none;color:inherit;flex:0 0 auto}
.marca-emblema{
  height:38px;width:auto;flex:0 0 auto;display:block;
}
@media (max-width:420px){.marca-emblema{height:32px}}
.marca-txt{display:flex;flex-direction:column;line-height:1.05}
.marca-txt b{font-family:var(--fonte-titulo);font-size:14px;letter-spacing:.02em;color:var(--creme)}
.marca-txt span{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ouro)}

.nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.nav a{
  color:var(--texto-fraco);text-decoration:none;font-size:14px;font-weight:500;
  padding:8px 11px;border-radius:6px;white-space:nowrap;
}
.nav a:hover{color:var(--creme);background:rgba(233,206,124,.09)}
.nav a[aria-current="page"]{color:var(--ouro-claro);background:rgba(233,206,124,.11)}
.nav .btn-nav{
  background:var(--laranja);color:#fff;font-weight:700;margin-left:6px;
}
.nav .btn-nav:hover{background:var(--laranja-claro);color:#fff}

.menu-btn{display:none;background:none;border:1px solid var(--linha);color:var(--creme);
  border-radius:6px;padding:8px 12px;font-size:14px;font-family:inherit;cursor:pointer}

@media (max-width:860px){
  .menu-btn{display:block}
  .nav{
    display:none;position:absolute;left:0;right:0;top:100%;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--carvao);border-bottom:1px solid var(--linha);padding:8px var(--gutter) 16px;
  }
  .nav.aberto{display:flex}
  .nav a{padding:12px 4px;border-bottom:1px solid rgba(233,206,124,.09);border-radius:0}
  .nav .btn-nav{margin:10px 0 0;text-align:center;border-radius:6px;border-bottom:0}
}

/* ---------- blocos ---------- */
.secao{padding:clamp(56px,8vw,104px) 0}
.secao.claro{background:var(--creme);color:var(--texto-escuro)}
.secao.claro a{color:#a8541f}
.secao.carvao{background:var(--carvao)}

.rotulo{
  font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ouro);font-weight:700;margin:0 0 14px;
}
.secao.claro .rotulo{color:#a8541f}

h2.titulo{font-size:clamp(30px,4.4vw,50px);margin-bottom:18px}
h3.sub{font-size:clamp(19px,2.2vw,25px);margin-bottom:10px}

.lead{font-size:clamp(17px,1.25rem,20px);line-height:1.6;color:var(--texto);max-width:62ch}
.secao.claro .lead{color:var(--texto-escuro)}
.prosa{max-width:64ch}
.prosa p+p{margin-top:1.05em}
.secao.claro .prosa p{color:#3B342C}

/* ---------- herói ---------- */
.heroi{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 78% 22%,rgba(201,162,39,.20),transparent 52%),
    radial-gradient(circle at 12% 88%,rgba(238,83,38,.16),transparent 55%),
    var(--preto);
  border-bottom:1px solid var(--linha);
}
.heroi-in{padding-block:clamp(64px,10vw,120px) clamp(48px,7vw,88px);position:relative;z-index:2}
@media (min-width:981px){
  .heroi-in>*{max-width:660px}
}

/* melhores momentos das edições anteriores, ao fundo do herói */
.heroi-video{
  position:absolute;inset:0;z-index:0;
  width:100%;height:100%;object-fit:cover;
  pointer-events:none;
}
.heroi-veu{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(100deg,
      rgba(16,14,12,.96) 0%,
      rgba(16,14,12,.90) 38%,
      rgba(16,14,12,.52) 66%,
      rgba(16,14,12,.30) 100%),
    linear-gradient(to top, var(--preto) 0%, rgba(16,14,12,0) 42%);
}
@media (prefers-reduced-motion:reduce){
  .heroi-video{display:none}
  .heroi{background-image:url("../img/heroi-poster.jpg");background-size:cover;background-position:center}
}
.heroi h1{
  font-size:clamp(42px,9.5vw,104px);
  letter-spacing:-.03em;line-height:.92;margin:0 0 20px;
  color:var(--creme);
}
.heroi-local{
  font-family:var(--fonte-titulo);
  font-size:clamp(17px,2.1vw,26px);letter-spacing:.16em;text-transform:uppercase;
  color:var(--ouro);margin:0 0 22px;text-align:left;hyphens:manual;
}
.heroi .lead{max-width:54ch;color:var(--texto-fraco);font-size:clamp(17px,1.3rem,21px)}

/* no celular entra a montagem vertical; o véu vira gradiente de cima para baixo */
@media (max-width:720px){
  .heroi{min-height:82svh;display:flex;flex-direction:column;justify-content:flex-end}
  .heroi h1{font-size:clamp(38px,11vw,58px);margin-bottom:16px}
  .heroi-local{font-size:15px;letter-spacing:.19em;margin-bottom:20px}
  .heroi .lead{font-size:16.5px}
  .heroi-in{padding-bottom:clamp(40px,9vw,64px)}
  .acoes{margin-top:26px;gap:10px}
  .acoes .btn{flex:1 1 100%;justify-content:center}
  .heroi-veu{background:linear-gradient(to bottom,
      rgba(16,14,12,.62) 0%, rgba(16,14,12,.80) 42%, rgba(16,14,12,.95) 74%, var(--preto) 100%)}
  .heroi-in{padding-top:clamp(120px,34vw,200px)}
}

.selo-edicao{
  display:inline-flex;align-items:center;gap:10px;
  border:1px solid var(--linha);border-radius:100px;
  padding:7px 16px 7px 12px;margin-bottom:26px;
  font-size:12.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ouro-claro);font-weight:600;
}
.selo-edicao .ponto{width:7px;height:7px;border-radius:50%;background:var(--laranja);flex:0 0 7px}

.acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}

.btn{
  display:inline-flex;align-items:center;gap:9px;
  padding:14px 26px;border-radius:7px;text-decoration:none;
  font-weight:700;font-size:15px;border:1px solid transparent;transition:.16s;
}
.btn-principal{background:var(--laranja);color:#fff}
.btn-principal:hover{background:var(--laranja-claro);color:#fff}
.btn-secundario{border-color:var(--linha);color:var(--creme)}
.btn-secundario:hover{border-color:var(--ouro);color:var(--ouro-claro);background:rgba(201,162,39,.08)}
.secao.claro .btn-secundario{border-color:rgba(43,38,33,.28);color:var(--texto-escuro)}
.secao.claro .btn-secundario:hover{border-color:#a8541f;color:#a8541f;background:rgba(238,83,38,.07)}

/* ---------- faixa de números ---------- */
.faixa{border-top:1px solid var(--linha);border-bottom:1px solid var(--linha);background:var(--carvao)}
.faixa-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--linha)}
.faixa-item{background:var(--carvao);padding:28px 22px;text-align:left}
.faixa-item b{display:block;font-family:var(--fonte-titulo);font-size:clamp(28px,3.6vw,40px);color:var(--ouro);line-height:1}
.faixa-item span{display:block;margin-top:8px;font-size:13px;color:var(--texto-fraco);line-height:1.4}

/* ---------- cartões ---------- */
.grade{display:grid;gap:22px}
.grade-2{grid-template-columns:repeat(auto-fit,minmax(380px,1fr))}
.grade-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
@media (max-width:420px){.grade-2{grid-template-columns:1fr}}

.cartao{
  background:var(--carvao-alto);border:1px solid var(--linha);border-radius:11px;
  padding:26px 24px;
}
.secao.claro .cartao{background:#fff;border-color:var(--linha-clara)}
.cartao h3{font-size:19px;margin-bottom:10px;color:var(--creme)}
.secao.claro .cartao h3{color:var(--texto-escuro)}
/* coluna estreita não comporta justificação: abre rios no texto */
.cartao p{font-size:15px;color:var(--texto-fraco);margin:0;text-align:left;hyphens:manual}
.secao.claro .cartao p{color:var(--texto-escuro-fraco)}
.cartao .num{
  font-family:var(--fonte-titulo);font-size:13px;color:var(--ouro);
  letter-spacing:.1em;display:block;margin-bottom:12px;
}

/* ---------- linha do tempo ---------- */
.tempo{list-style:none;margin:0;padding:0;position:relative}
.tempo::before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:1px;background:var(--linha)}
.tempo li{position:relative;padding:0 0 30px 38px}
.tempo li::before{
  content:"";position:absolute;left:0;top:7px;width:15px;height:15px;border-radius:50%;
  background:var(--carvao);border:2px solid var(--ouro);
}
.tempo li:last-child{padding-bottom:0}
.tempo b{display:block;font-family:var(--fonte-titulo);font-size:22px;color:var(--ouro);line-height:1;margin-bottom:6px}
.tempo p{margin:0;font-size:15px;color:var(--texto-fraco)}
.secao.claro .tempo::before{background:var(--linha-clara)}
.secao.claro .tempo li::before{background:var(--creme);border-color:#a8541f}
.secao.claro .tempo b{color:#a8541f}
.secao.claro .tempo p{color:var(--texto-escuro-fraco)}

/* ---------- ficha técnica ---------- */
.ficha{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:26px;margin-top:8px}
.ficha div b{display:block;font-family:var(--fonte-titulo);font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ouro);margin-bottom:6px}
.ficha div span{font-size:16px;color:var(--texto)}
.ficha div small{display:block;font-size:13.5px;color:var(--texto-fraco);margin-top:5px;line-height:1.45}
.secao.claro .ficha div b{color:#a8541f}
.secao.claro .ficha div span{color:var(--texto-escuro)}
.secao.claro .ficha div small{color:var(--texto-escuro-fraco)}

/* ---------- vídeo ---------- */
.video-cx{
  position:relative;aspect-ratio:16/9;border-radius:11px;overflow:hidden;
  background:#000;border:1px solid var(--linha);
}
.video-cx iframe,.video-cx video{width:100%;height:100%;border:0;display:block;object-fit:cover}

.video-item h3{font-size:17px;margin:14px 0 5px;color:var(--creme)}
.video-item p{font-size:14px;color:var(--texto-fraco);margin:0}

/* ---------- espaço reservado para imagem ---------- */
.slot{
  border:1px dashed rgba(233,206,124,.34);border-radius:11px;
  background:repeating-linear-gradient(45deg,rgba(233,206,124,.045) 0 12px,transparent 12px 24px);
  display:grid;place-items:center;text-align:center;padding:26px;min-height:190px;
}
.slot span{font-size:13px;color:var(--ouro);max-width:34ch;line-height:1.5;letter-spacing:.02em}
.secao.claro .slot{border-color:rgba(168,84,31,.4);
  background:repeating-linear-gradient(45deg,rgba(168,84,31,.05) 0 12px,transparent 12px 24px)}
.secao.claro .slot span{color:#a8541f}

/* ---------- fotografia ---------- */
.figura{margin:0}
.figura img{
  width:100%;border-radius:11px;display:block;
  border:1px solid var(--linha);
}
.figura figcaption{
  margin-top:10px;font-size:13px;color:var(--texto-fraco);line-height:1.45;
}
.secao.claro .figura img{border-color:var(--linha-clara)}
.secao.claro .figura figcaption{color:var(--texto-escuro-fraco)}

.carrossel{margin-top:30px}
.carrossel + .carrossel{margin-top:44px}
.carrossel-cab{
  display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;
}
.carrossel-cab .sub{margin:0}
.carrossel-setas{display:flex;gap:8px;flex:0 0 auto}
.seta{
  width:38px;height:38px;border-radius:50%;cursor:pointer;
  background:transparent;border:1px solid var(--linha-clara);
  color:var(--texto-escuro);font-size:16px;line-height:1;font-family:inherit;
  display:grid;place-items:center;transition:.15s;
}
.seta:hover:not(:disabled){border-color:#a8541f;color:#a8541f;background:rgba(238,83,38,.07)}
.seta:disabled{opacity:.3;cursor:default}
.secao:not(.claro) .seta{border-color:var(--linha);color:var(--creme)}
.secao:not(.claro) .seta:hover:not(:disabled){border-color:var(--ouro);color:var(--ouro-claro);background:rgba(201,162,39,.08)}

.trilho{
  display:flex;gap:12px;
  overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;scroll-behavior:smooth;
  padding-bottom:12px;
  scrollbar-width:thin;scrollbar-color:rgba(168,84,31,.45) transparent;
}
.trilho::-webkit-scrollbar{height:7px}
.trilho::-webkit-scrollbar-track{background:transparent}
.trilho::-webkit-scrollbar-thumb{background:rgba(168,84,31,.4);border-radius:99px}
.trilho:focus-visible{outline:2px solid var(--ouro);outline-offset:4px;border-radius:10px}
@media (prefers-reduced-motion:reduce){.trilho{scroll-behavior:auto}}

.trilho .foto{
  flex:0 0 clamp(168px,22vw,238px);
  scroll-snap-align:start;
}

.galeria .foto,.trilho .foto{
  display:block;overflow:hidden;border-radius:9px;line-height:0;
  background:var(--carvao-alto);
  outline-offset:3px;
}
.galeria .foto img,.trilho .foto img{
  width:100%;height:100%;aspect-ratio:3/4;object-fit:cover;
  transition:transform .35s ease, opacity .2s ease;
}
.galeria .foto:hover img,.galeria .foto:focus-visible img,
.trilho .foto:hover img,.trilho .foto:focus-visible img{transform:scale(1.045);opacity:.92}
@media (max-width:640px){
  .galeria{grid-template-columns:repeat(2,1fr);gap:8px}
  .carrossel-setas{display:none}
  .trilho .foto{flex-basis:64vw}
  /* a faixa corre até a borda da tela, sinalizando que há mais para o lado */
  .trilho{
    margin-inline:calc(var(--gutter) * -1);
    padding-inline:var(--gutter);
    scroll-padding-inline:var(--gutter);
  }
}
@media (prefers-reduced-motion:reduce){
  .galeria .foto img,.trilho .foto img{transition:none}
  .galeria .foto:hover img{transform:none}
}

/* ---------- avisos e pendências ---------- */
@media (max-width:640px){
  .secao{padding:clamp(48px,12vw,104px) 0}
  h2.titulo{font-size:clamp(26px,7.6vw,50px)}
  .regras li{padding-left:38px}
  .ficha{gap:22px}
  .faixa-item{padding:22px 18px}
  .rodape-grade{gap:28px}
}

.aviso{
  border-left:3px solid var(--laranja);
  background:rgba(238,83,38,.09);
  border-radius:0 8px 8px 0;padding:16px 20px;margin:26px 0;
}
.aviso p{margin:0;font-size:14.5px;color:var(--texto-fraco);text-align:left;hyphens:manual}
.aviso b{color:var(--laranja-claro)}
.secao.claro .aviso{background:rgba(238,83,38,.08)}
.secao.claro .aviso p{color:#5c4a3c}
.secao.claro .aviso b{color:#a8541f}

.pendente{
  display:inline-block;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;
  background:rgba(238,83,38,.17);color:var(--laranja-claro);border:1px solid rgba(238,83,38,.35);
  border-radius:4px;padding:2px 8px;vertical-align:middle;margin-left:8px;font-weight:700;
}
.secao.claro .pendente{color:#a8541f;background:rgba(238,83,38,.1)}

/* ---------- lista de regras ---------- */
.regras{counter-reset:r;list-style:none;padding:0;margin:0}
.regras li{
  counter-increment:r;position:relative;padding:0 0 20px 46px;
  text-align:left;hyphens:manual;
}
.regras li::before{
  content:counter(r,decimal-leading-zero);position:absolute;left:0;top:0;
  font-family:var(--fonte-titulo);font-size:15px;color:var(--ouro);
}
.regras li:last-child{padding-bottom:0}

/* ---------- regulamento ---------- */
.sumario{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:2px;
  background:var(--linha);border:1px solid var(--linha);border-radius:10px;
  overflow:hidden;margin:34px 0 10px;
}
.sumario a{
  display:flex;gap:10px;align-items:baseline;
  background:var(--carvao-alto);padding:12px 15px;
  text-decoration:none;color:var(--texto-fraco);font-size:14px;line-height:1.3;
}
.sumario a:hover{background:rgba(201,162,39,.12);color:var(--creme)}
.sumario a span{font-family:var(--fonte-titulo);font-size:12px;color:var(--ouro);flex:0 0 auto}

.prosa-reg{max-width:74ch;margin-top:20px}
.prosa-reg p{margin:0 0 1.05em}
.prosa-reg .regras{margin:0 0 1.4em}
.prosa-reg .aviso{margin:22px 0 26px}

h2.tit-reg{
  font-size:clamp(20px,2.4vw,27px);
  margin:52px 0 16px;padding-top:22px;border-top:1px solid var(--linha);
  display:flex;gap:14px;align-items:baseline;
}
h2.tit-reg:first-child{margin-top:8px;border-top:0;padding-top:0}
.num-reg{
  font-family:var(--fonte-titulo);font-size:14px;color:var(--ouro);
  flex:0 0 auto;letter-spacing:.06em;
}

.tab-reg{width:100%;border-collapse:collapse;margin:6px 0 1.5em;font-size:15px}
.tab-reg th,.tab-reg td{
  text-align:left;padding:11px 14px;border-bottom:1px solid var(--linha);
  vertical-align:top;font-weight:400;
}
.tab-reg th{color:var(--texto);width:60%}
.tab-reg td{color:var(--ouro-claro);white-space:normal}
.tab-reg tr:last-child th,.tab-reg tr:last-child td{border-bottom:0}

/* ---------- formulário ---------- */
.form-cx{background:var(--carvao-alto);border:1px solid var(--linha);border-radius:11px;padding:clamp(22px,4vw,34px)}
.campo{margin-bottom:18px}
.campo label{display:block;font-size:13.5px;font-weight:600;color:var(--creme);margin-bottom:7px}
.campo label i{font-style:normal;color:var(--laranja)}
.campo input,.campo select,.campo textarea{
  width:100%;padding:12px 14px;border-radius:7px;
  background:var(--preto);border:1px solid var(--linha);color:var(--texto);
  font-family:inherit;font-size:15px;
}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:2px solid var(--ouro);outline-offset:1px}
.campo small{display:block;margin-top:6px;font-size:12.5px;color:var(--texto-fraco)}
.campo-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px}

/* ---------- apoio ---------- */
.apoio{display:flex;flex-wrap:wrap;gap:14px;align-items:stretch}
.apoio-item{
  flex:1 1 160px;min-height:78px;border:1px solid var(--linha-clara);border-radius:9px;
  display:grid;place-items:center;padding:14px;text-align:center;
  font-size:13px;color:var(--texto-escuro-fraco);background:#fff;line-height:1.35;
}

/* ---------- rodapé ---------- */
.rodape{background:var(--preto);border-top:1px solid var(--linha);padding:56px 0 34px;font-size:14px}
.rodape-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:34px;margin-bottom:38px}
.rodape h4{font-family:var(--fonte-titulo);font-size:12px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--ouro);margin-bottom:13px}
.rodape p,.rodape li{color:var(--texto-fraco);margin:0 0 7px;text-align:left;hyphens:manual;font-size:14px}
.rodape ul{list-style:none;padding:0;margin:0}
.rodape a{color:var(--texto-fraco);text-decoration:none}
.rodape a:hover{color:var(--ouro-claro)}
.rodape-fim{
  border-top:1px solid var(--linha);padding-top:22px;
  display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;
}
.rodape-fim small{color:#7C7365;font-size:12.5px;line-height:1.6}
.assinatura{font-size:12.5px;color:var(--texto-fraco)}
.assinatura b{color:var(--ouro)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important;animation:none!important}
}
