/* ===== PÁGINA DE DETALHE DO EVENTO ===== */
/* overflow:visible anula o "overflow:hidden" global da <section> (que existe por
   causa do banner de 2000px da home). Aquele overflow transformava a section num
   contexto de recorte e MATAVA o position:sticky do card lateral - a sidebar
   simplesmente subia junto com a rolagem em vez de acompanhar. */
.evt-page{ position:relative; overflow:visible; }
.evt-page .util{ position:relative; z-index:2; }

/* breadcrumb */
.evt-breadcrumb{ font-size:13px; color:#a99b8c; padding:14px 0 20px 0; }
.evt-breadcrumb a{ color:var(--cor-primaria); font-size:13px; text-decoration:none; font-weight:600; }
.evt-breadcrumb a:hover{ text-decoration:underline; }
.evt-breadcrumb i{ font-size:9px; margin:0 8px; color:#cdbfaf; position:relative; top:-1px; }
.evt-breadcrumb span{ color:#a99b8c; }

/* hero */
.evt-hero{ position:relative; border-radius:22px; overflow:hidden; min-height:380px; display:flex; align-items:flex-end; background-size:cover; background-position:center; background-color:var(--cor-primaria); }
.evt-hero.sem-img{ background:linear-gradient(125deg, #6b311a 0%, #8a4626 55%, #a8572f 100%); }
.evt-hero-mask{ position:absolute; inset:0; background:linear-gradient(to top, rgba(43,20,12,.94) 0%, rgba(107,49,26,.55) 55%, rgba(107,49,26,.15) 100%); }
.evt-hero.sem-img .evt-hero-mask{ background:linear-gradient(120deg, rgba(43,20,12,.35) 0%, rgba(107,49,26,0) 70%); }
.evt-hero-content{ position:relative; z-index:2; padding:42px 46px; width:100%; box-sizing:border-box; }
.evt-tags{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:16px; }
.evt-tags span{ font-size:12px; font-weight:700; padding:7px 13px; border-radius:30px; display:inline-flex; align-items:center; gap:6px; }
.evt-chip-regiao{ background:rgba(255,255,255,.18); color:#ffffff; }
.evt-chip-gratis{ background:var(--cor-secundaria); color:var(--cor-primaria); }
.evt-chip-online{ background:rgba(255,255,255,.18); color:#ffffff; }
.evt-titulo{ font-family:var(--fonte-destaque); font-weight:400; color:#ffffff; font-size:44px; line-height:1.08; margin:0; max-width:780px; }
.evt-subtitulo{ color:rgba(255,255,255,.85); font-size:18px; line-height:1.45; margin:14px 0 0 0; max-width:660px; }
.evt-hero-meta{ display:flex; flex-wrap:wrap; gap:24px; margin-top:24px; }
.evt-hero-meta span{ color:#ffffff; font-size:14px; font-weight:600; display:flex; align-items:center; gap:8px; }
.evt-hero-meta i{ color:var(--cor-secundaria); }

/* grid */
.evt-grid{ display:grid; grid-template-columns: 1fr 360px; gap:50px; margin-top:46px; align-items:start; }
.evt-main{ min-width:0; }
.evt-bloco{ margin-bottom:42px; }
.evt-h2{ font-family:var(--fonte-destaque); font-weight:400; color:var(--cor-primaria); font-size:28px; margin:0 0 20px 0; position:relative; padding-bottom:12px; }
.evt-h2::after{ content:''; position:absolute; left:0; bottom:0; width:54px; height:3px; background:var(--cor-secundaria); border-radius:3px; }
.evt-texto{ font-size:16px; line-height:1.75; color:#4a4038; }

/* timeline programação */
.evt-timeline{ }
.evt-tl-item{ display:flex; align-items:stretch; gap:16px; }
.evt-tl-hora{ flex:0 0 64px; text-align:right; font-weight:800; color:var(--cor-primaria); font-size:14px; padding-top:1px; }
.evt-tl-linha{ flex:0 0 14px; position:relative; }
.evt-tl-linha span{ position:absolute; top:4px; left:50%; transform:translateX(-50%); width:13px; height:13px; border-radius:50%; background:var(--cor-secundaria); box-shadow:0 0 0 4px rgba(255,168,0,.18); z-index:2; }
.evt-tl-linha::before{ content:''; position:absolute; top:4px; left:50%; transform:translateX(-50%); width:2px; height:100%; background:#ece2cf; }
.evt-tl-item:last-child .evt-tl-linha::before{ display:none; }
.evt-tl-titulo{ flex:1 1 auto; padding:0 0 26px 6px; font-size:15px; line-height:1.45; color:#4a4038; }

/* palestrantes */
.evt-palestrantes{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.evt-pal{ display:flex; align-items:center; gap:14px; background:#fbf7e6; border-radius:14px; padding:14px 16px; }
.evt-pal-avatar{ flex:0 0 52px; width:52px; height:52px; border-radius:50%; background:var(--cor-primaria); color:#ffffff; display:flex; align-items:center; justify-content:center; font-family:var(--fonte-destaque); font-size:20px; }
.evt-pal-info{ display:flex; flex-direction:column; min-width:0; }
.evt-pal-info strong{ font-size:15px; color:var(--cor-primaria); font-weight:800; line-height:1.2; }
.evt-pal-info span{ font-size:13px; color:#8a7a6f; margin-top:3px; }

/* sidebar */
/* align-self:stretch da "trilho" para o sticky: com o align-items:start do grid,
   a coluna tinha exatamente a altura do card e nao sobrava espaco para ele
   deslizar. top:130px acompanha o header fixo de 116px. */
.evt-side{ align-self:stretch; min-width:0; }
.evt-card-info{ position:sticky; top:130px; background:#ffffff; border:1px solid #efe7d6; border-radius:18px; padding:24px; box-shadow:0 16px 40px rgba(107,49,26,.08); }
.evt-data-box{ width:84px; height:84px; border-radius:16px; background:var(--cor-secundaria); display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--cor-primaria); margin-bottom:20px; }
.evt-data-box .evt-data-dia{ font-family:var(--fonte-destaque); font-size:36px; line-height:1; }
.evt-data-box .evt-data-mes{ font-size:13px; font-weight:700; text-transform:lowercase; margin-top:3px; }
.evt-info-lista{ list-style:none; margin:0; padding:0; }
.evt-info-lista li{ display:flex; gap:12px; padding:13px 0; border-bottom:1px solid #f1ebdd; }
.evt-info-lista li:last-child{ border-bottom:0; }
.evt-info-lista li i{ flex:0 0 20px; color:var(--cor-secundaria); font-size:16px; margin-top:3px; text-align:center; }
.evt-info-lista li div{ display:flex; flex-direction:column; font-size:14px; color:var(--cor-texto); font-weight:600; min-width:0; }
.evt-info-lista li small{ font-size:11px; text-transform:uppercase; letter-spacing:.5px; color:#a99b8c; font-weight:700; margin-bottom:3px; }
.evt-info-lista li em{ font-style:normal; font-weight:400; font-size:13px; color:#8a7a6f; margin-top:3px; }
a.evt-btn-inscricao{ display:flex; align-items:center; justify-content:center; gap:9px; margin-top:20px; width:100%; box-sizing:border-box; padding:16px; border-radius:12px; background:var(--cor-secundaria); color:var(--cor-primaria); font-weight:800; font-size:15px; text-decoration:none; -webkit-transition:all .2s ease; transition:all .2s ease; }
a.evt-btn-inscricao:hover{ background:var(--cor-primaria); color:#ffffff; }
a.evt-btn-inscricao i{ -webkit-transition:transform .2s ease; transition:transform .2s ease; }
a.evt-btn-inscricao:hover i{ transform:translateX(4px); }
.evt-aviso-inscricao{ margin-top:20px; text-align:center; font-size:13px; color:#8a7a6f; background:#fbf7e6; padding:14px; border-radius:12px; }
.evt-mapa{ margin-top:18px; border-radius:18px; overflow:hidden; border:1px solid #efe7d6; }
.evt-mapa iframe{ width:100%; height:240px; border:0; display:block; }

/* relacionados */
.evt-relacionados{ margin-top:34px; padding-top:46px; border-top:1px solid #efe7d6; }
.evt-rel-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.evt-rel-card{ display:flex; gap:14px; align-items:center; background:#fbf7e6; border-radius:14px; padding:16px; text-decoration:none; -webkit-transition:all .2s ease; transition:all .2s ease; }
.evt-rel-card:hover{ transform:translateY(-3px); box-shadow:0 14px 30px rgba(107,49,26,.12); }
.evt-rel-data{ flex:0 0 56px; height:56px; border-radius:12px; background:var(--cor-secundaria); color:var(--cor-primaria); display:flex; flex-direction:column; align-items:center; justify-content:center; }
.evt-rel-data span{ font-family:var(--fonte-destaque); font-size:22px; line-height:1; }
.evt-rel-data small{ font-size:11px; font-weight:700; text-transform:lowercase; }
.evt-rel-info{ display:flex; flex-direction:column; gap:6px; min-width:0; }
.evt-rel-info strong{ font-size:15px; color:var(--cor-primaria); font-weight:700; line-height:1.25; }
.evt-rel-info span{ font-size:12px; color:#8a7a6f; }

/* voltar + vazio */
.evt-voltar-wrap{ margin-top:42px; text-align:center; }
a.evt-btn-voltar{ display:inline-flex; align-items:center; gap:9px; padding:13px 28px; border-radius:30px; background:transparent; border:2px solid var(--cor-primaria); color:var(--cor-primaria); font-weight:700; font-size:14px; text-decoration:none; -webkit-transition:all .2s ease; transition:all .2s ease; }
a.evt-btn-voltar:hover{ background:var(--cor-primaria); border-color:var(--cor-primaria); color:#ffffff; }
a.evt-btn-voltar i{ -webkit-transition:transform .2s ease; transition:transform .2s ease; }
a.evt-btn-voltar:hover i{ transform:translateX(-4px); }
.evt-vazio{ text-align:center; padding:60px 20px; }
.evt-vazio i{ font-size:60px; color:var(--cor-secundaria); }
.evt-vazio h1{ font-family:var(--fonte-destaque); color:var(--cor-primaria); font-size:34px; margin:18px 0 10px 0; }
.evt-vazio p{ color:#8a7a6f; font-size:16px; margin-bottom:24px; }

@media screen and (max-width:1100px){
  /* padding zerado: o .util agora tem 20px laterais proprios e o 92% daqui ja
     define a margem deste bloco. */
  .evt-page .util{ width:92%; padding-left:0px; padding-right:0px; }
  .evt-grid{ grid-template-columns:1fr; gap:34px; margin-top:30px; }
  .evt-side{ align-self:auto; }
  .evt-card-info{ position:static; }
  .evt-titulo{ font-size:31px; }
  .evt-subtitulo{ font-size:16px; }
  .evt-hero{ min-height:300px; }
  .evt-hero-content{ padding:28px 22px; }
  .evt-hero-meta{ gap:14px; }
  .evt-rel-grid{ grid-template-columns:1fr; }
  .evt-palestrantes{ grid-template-columns:1fr; }
}
