/* CONBCON 2026 — Agenda pública */
body.agenda2026 { background: #eff2f8; color: #010435; }
body.agenda2026 button,
body.agenda2026 a { -webkit-tap-highlight-color: transparent; }

/* Hero e navegação, alinhados às páginas internas 2026. */
.agenda2026 .boxTopo.interna { position: relative; overflow: clip; background: #00002f; }
.agenda2026 .boxTopo.interna::before { content: ""; position: absolute; z-index: 0; inset: 0; background: radial-gradient(66.78% 100% at 66.68% 100%, #0048a5 0%, #000b3f 81.25%, #00002f 100%); }
.agenda2026 .boxTopo.interna::after { content: ""; position: absolute; z-index: 0; inset: 0; opacity: .35; background: url('../img/fundoBoxTopo.svg') no-repeat center top / cover; }
.agenda2026 .boxTopo.interna > .centro { position: relative; z-index: 2; width: 100%; max-width: 1320px; margin: 0 auto; padding: 32px 20px 68px; }
.agenda2026 .boxTopo.interna .topoMenu { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.agenda2026 .boxTopo.interna .topoMenu .conteudoTopo a { display: block; }
.agenda2026 .boxTopo.interna .topoMenu .conteudoTopo h1 figure { width: 175px; }
.agenda2026 .boxTopo.interna .topoMenu nav.menu ul { display: flex; align-items: center; gap: 32px; margin: 0; padding: 0; list-style: none; }
.agenda2026 .boxTopo.interna .topoMenu nav.menu > ul > li > a { display: inline-flex; align-items: center; gap: 6px; color: #a7bbff; font: 400 16px/1 Oswald, sans-serif; letter-spacing: .06em; text-transform: uppercase; transition: color .25s ease; }
.agenda2026 .boxTopo.interna .topoMenu nav.menu > ul > li > a:hover { color: #fff; }
.agenda2026 .boxTopo.interna .topoMenu nav.menu > ul > li > a.entrar { padding: 10px 18px; border: 1px solid rgba(167, 187, 255, .45); border-radius: 999px; color: #fff; }

.agendaHero .conteudo { max-width: 820px; margin-top: 56px; color: #fff; }
.agendaHero .conteudo .kicker { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 24px; padding: 6px 14px; border: 1px solid rgba(167, 187, 255, .35); border-radius: 999px; color: #a7bbff; font: 400 13px/1 Oswald, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.agendaHero .conteudo .kicker b { color: #fff; font-weight: 600; }
.agendaHero .conteudo h2 { margin: 0 0 16px; color: #fff; font-size: 56px; font-weight: 300; line-height: 1.05; letter-spacing: -.01em; }
.agendaHero .conteudo h2 b { color: #6df2ff; font-weight: 700; }
.agendaHero .conteudo > p { max-width: 680px; margin: 0 0 28px; color: #a7bbff; font-size: 18px; line-height: 28px; }
.agendaHero__meta { display: flex; flex-wrap: wrap; gap: 12px; }
.agendaHero__meta span { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border: 1px solid rgba(167, 187, 255, .20); border-radius: 10px; color: #d9e2ff; background: rgba(255, 255, 255, .06); font: 500 13px/18px Poppins, sans-serif; backdrop-filter: blur(8px); }

/* Estrutura e seleção de dias. */
.agendaConteudo { position: relative; padding: 72px 0 120px; }
.agendaConteudo::before { content: ""; position: absolute; top: 0; left: 50%; width: 90%; max-width: 1320px; height: 1px; transform: translateX(-50%); background: linear-gradient(90deg, transparent, rgba(6, 70, 211, .18), transparent); }
.agendaConteudo > .centro { width: 100%; max-width: 1320px; margin: 0 auto; padding: 0 20px; }
.agendaConteudo__cabecalho { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 26px; }
.agendaEyebrow { display: block; margin-bottom: 5px; color: #6e3fed; font: 700 12px/16px Poppins, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.agendaConteudo__cabecalho h3 { margin: 0; color: #010435; font: 700 32px/1.2 Poppins, sans-serif; }
.agendaLegenda { display: flex; align-items: center; gap: 18px; color: #5e6478; font: 600 12px/16px Poppins, sans-serif; }
.agendaLegenda span { display: inline-flex; align-items: center; gap: 7px; }
.agendaLegenda i { width: 9px; height: 9px; border-radius: 50%; background: #214fee; box-shadow: 0 0 0 4px rgba(33, 79, 238, .10); }
.agendaLegenda i.palco2 { background: #6e3fed; box-shadow: 0 0 0 4px rgba(110, 63, 237, .10); }

.agendaAbas { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin-bottom: 28px; padding: 7px; border: 1px solid #dfe4f1; border-radius: 16px; background: #fff; box-shadow: 0 10px 28px rgba(15, 37, 121, .07); }
.agendaAba { position: relative; display: flex; min-height: 76px; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-width: 0; padding: 10px 8px; border-radius: 11px; color: #334574; text-align: center; transition: color .2s ease, background .2s ease, transform .2s ease; }
.agendaAba:hover { background: #edf1ff; }
.agendaAba:focus-visible { outline: 3px solid rgba(33, 79, 238, .28); outline-offset: 2px; }
.agendaAba small { color: #6e3fed; font: 700 11px/15px Poppins, sans-serif; letter-spacing: .05em; text-transform: uppercase; }
.agendaAba strong { overflow: hidden; max-width: 100%; font: 700 15px/20px Poppins, sans-serif; text-overflow: ellipsis; text-transform: capitalize; white-space: nowrap; }
.agendaAba > span { color: #7d88a7; font: 700 8px/11px Poppins, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.agendaAba.is-active { color: #fff; background: linear-gradient(135deg, #10266f, #214fee); box-shadow: 0 7px 18px rgba(16, 38, 111, .22); transform: translateY(-1px); }
.agendaAba.is-active small { color: #9ff6ff; }
.agendaAba.is-active > span { color: #d9e2ff; }
.agendaAba.is-pending:not(.is-active) { background: #f8f9fc; }

/* Sem JS, todos os dias permanecem visíveis e os anchors levam ao painel. */
.agendaPainel { margin: 0 0 42px; scroll-margin-top: 24px; }
.agendaPainel:focus { outline: 0; }
.agenda-js .agendaPainel[hidden] { display: none !important; }
.agenda-js .agendaPainel { margin-bottom: 0; }

/* Grade desktop: 2 px por minuto, das 08h às 18h. */
.agendaDesktop { display: grid; grid-template-columns: 86px minmax(0, 1fr); overflow: hidden; border: 1px solid #dce2f0; border-radius: 16px; background: #fff; box-shadow: 0 18px 50px rgba(15, 37, 121, .08); }
.agendaGrade__topo { position: sticky; z-index: 6; top: 0; display: flex; height: 58px; align-items: center; justify-content: center; gap: 9px; border-bottom: 1px solid #dce2f0; color: #273d78; background: rgba(255, 255, 255, .96); font: 700 13px/18px Poppins, sans-serif; backdrop-filter: blur(8px); }
.agendaGrade__topo--hora { grid-column: 1; grid-row: 1; border-right: 1px solid #dce2f0; color: #7b87a6; font-size: 10px; letter-spacing: .08em; }
.agendaGrade__topo--palco1 { grid-column: 2; grid-row: 1; width: 50%; justify-self: start; border-right: 1px solid #dce2f0; }
.agendaGrade__topo--palco2 { grid-column: 2; grid-row: 1; width: 50%; justify-self: end; }
.agendaGrade__topo i { width: 8px; height: 8px; border-radius: 50%; background: #214fee; }
.agendaGrade__topo--palco2 i { background: #6e3fed; }
.agendaGrade__horas { position: relative; grid-column: 1; height: 1200px; border-right: 1px solid #dce2f0; background: #fafbfe; }
.agendaGrade__horas span { position: absolute; top: calc(var(--agenda-hora) * 2px - 9px); right: 12px; color: #8a94ae; font: 600 11px/18px Poppins, sans-serif; }
.agendaGrade__horas span:first-child { top: 8px; }
.agendaGrade__horas span:last-child { top: auto; bottom: 8px; }
.agendaGrade__corpo { position: relative; grid-column: 2; height: 1200px; background-color: #fff; background-image: linear-gradient(to bottom, #dce2f0 1px, transparent 1px), linear-gradient(to bottom, rgba(220, 226, 240, .48) 1px, transparent 1px), linear-gradient(to right, transparent calc(50% - .5px), #dce2f0 calc(50% - .5px), #dce2f0 calc(50% + .5px), transparent calc(50% + .5px)); background-size: 100% 120px, 100% 60px, 100% 100%; }
.agendaAgora { position: absolute; z-index: 5; top: calc(var(--agenda-now) * 2px); right: 0; left: 0; height: 2px; background: #d22742; pointer-events: none; }
.agendaAgora::before { content: ""; position: absolute; top: 50%; left: -5px; width: 10px; height: 10px; border-radius: 50%; background: #d22742; transform: translateY(-50%); box-shadow: 0 0 0 4px rgba(210, 39, 66, .12); }
.agendaAgora span { position: absolute; top: -24px; left: 8px; padding: 3px 7px; border-radius: 999px; color: #fff; background: #d22742; font: 700 9px/13px Poppins, sans-serif; letter-spacing: .04em; text-transform: uppercase; }

.agendaSessao { position: absolute; z-index: 2; top: calc(var(--agenda-top) * 2px + 4px); left: 8px; width: calc(50% - 12px); min-height: calc(var(--agenda-height) * 2px - 8px); overflow: hidden; border: 1px solid rgba(33, 79, 238, .18); border-left: 4px solid #214fee; border-radius: 10px; background: #eef3ff; box-shadow: 0 5px 16px rgba(15, 37, 121, .08); transition: z-index .01s, box-shadow .2s ease, transform .2s ease; }
.agendaSessao:hover, .agendaSessao:focus-within { z-index: 4; box-shadow: 0 12px 28px rgba(15, 37, 121, .16); transform: translateY(-2px); }
.agendaSessao.sessao--palco2 { right: 8px; left: auto; border-color: rgba(110, 63, 237, .18); border-left-color: #6e3fed; background: #f4f0ff; }
.agendaSessao.sessao--conjunto { right: 8px; left: 8px; width: auto; border-color: rgba(6, 70, 211, .20); border-left-color: #6df2ff; background: linear-gradient(105deg, #edf3ff, #f5f0ff); }
.agendaSessao.is-ao-vivo { border-color: rgba(210, 39, 66, .35); border-left-color: #d22742; background: #fff0f3; }
.agendaSessao.is-operacional { z-index: 3; height: max(26px, calc(var(--agenda-height) * 2px - 8px)); min-height: 26px; border-color: rgba(194, 122, 0, .32); border-left-color: #c27a00; background: #fff1c7; }
.agendaSessao.is-operacional .agendaSessao__abrir { display: flex; min-height: 0; align-items: center; padding: 4px 8px; }
.agendaSessao.is-operacional .agendaSessao__topline { display: none; }
.agendaSessao.is-operacional .agendaSessao__main { width: 100%; }
.agendaSessao.is-operacional .agendaSessao__texto > strong { color: #704500; -webkit-line-clamp: 1; }
.agendaSessao__abrir { display: block; width: 100%; height: 100%; min-height: inherit; padding: 10px 12px; border: 0; color: inherit; background: transparent; text-align: left; cursor: pointer; }
.agendaSessao__abrir:focus-visible { outline: 3px solid rgba(33, 79, 238, .3); outline-offset: -3px; }
.agendaSessao__topline { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 5px; }
/* Horário exato temporariamente oculto nos cards; a posição na grade indica a faixa. */
.agendaSessao__topline time { display: none; color: #214fee; font: 700 11px/15px Poppins, sans-serif; }
.sessao--palco2 .agendaSessao__topline time { color: #6e3fed; }
.agendaSessao__topline b { overflow: hidden; color: #74809f; font: 700 8px/11px Poppins, sans-serif; letter-spacing: .05em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.agendaSessao__main { display: flex; min-width: 0; align-items: center; gap: 9px; }
.agendaSessao__avatars { display: flex; flex: 0 0 auto; align-items: center; padding-left: 2px; }
.agendaSessao__avatars img, .agendaSessao__avatars i { width: 34px; height: 34px; margin-left: -7px; border: 2px solid #fff; border-radius: 50%; object-fit: cover; object-position: top; background: #e2e7f3; box-shadow: 0 2px 7px rgba(15, 37, 121, .16); }
.agendaSessao__avatars img:first-child { margin-left: 0; }
.agendaSessao__avatars i { display: grid; place-items: center; color: #fff; background: #334574; font: 700 9px/1 Poppins, sans-serif; font-style: normal; }
.agendaSessao__texto { min-width: 0; }
.agendaSessao__texto > strong { display: -webkit-box; overflow: hidden; color: #172c72; font: 700 13px/17px Poppins, sans-serif; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.agendaSessao__texto > small { display: -webkit-box; overflow: hidden; margin-top: 3px; color: #697695; font: 500 10px/14px Poppins, sans-serif; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }

.agendaMobile { display: none; }

/* Estados vazios. */
.agendaVazio { display: grid; min-height: 340px; place-items: center; align-content: center; padding: 48px 24px; border: 1px dashed #c8d1e6; border-radius: 16px; color: #7b87a6; text-align: center; background: #fff; }
.agendaVazio--geral { min-height: 420px; }
.agendaVazio__icone { display: grid; min-width: 64px; height: 52px; place-items: center; margin-bottom: 18px; padding: 0 10px; border-radius: 14px; color: #fff; background: linear-gradient(135deg, #214fee, #6e3fed); font: 700 12px/1 Poppins, sans-serif; letter-spacing: .06em; }
.agendaVazio h3 { margin: 0 0 8px; color: #172c72; font: 700 21px/28px Poppins, sans-serif; }
.agendaVazio p { max-width: 500px; margin: 0; color: #6f7b99; font: 400 14px/22px Poppins, sans-serif; }

/* Modal de detalhes. */
.agendaModal { width: min(680px, calc(100vw - 32px)); max-height: min(820px, calc(100vh - 32px)); margin: auto; padding: 0; overflow: hidden; border: 0; border-radius: 18px; color: #010435; background: #fff; box-shadow: 0 30px 90px rgba(0, 0, 47, .38); }
.agendaModal::backdrop { background: rgba(0, 0, 35, .72); backdrop-filter: blur(5px); }
.agendaModal__barra { display: flex; min-height: 62px; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 16px 12px 24px; color: #fff; background: linear-gradient(105deg, #10266f, #214fee); }
.agendaModal__barra > span { font: 600 13px/18px Poppins, sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.agendaModal__barra button { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(255, 255, 255, .3); border-radius: 50%; color: #fff; background: rgba(255, 255, 255, .08); cursor: pointer; }
.agendaModal__barra button:focus-visible { outline: 3px solid #6df2ff; outline-offset: 2px; }
.agendaModal__corpo { max-height: calc(min(820px, 100vh - 32px) - 62px); overflow-y: auto; padding: 30px; }
.agendaModal__palco { display: inline-flex; padding: 5px 10px; border-radius: 999px; color: #214fee; background: #edf2ff; font: 700 10px/14px Poppins, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.agendaModal__conteudoInterno > h3 { margin: 14px 0 8px; color: #010435; font: 700 25px/32px Poppins, sans-serif; }
.agendaModal__horario { margin: 0 0 20px; color: #64708e; font: 600 13px/20px Poppins, sans-serif; }
.agendaModal__descricao { margin: 0 0 24px; color: #4f5c7c; font: 400 14px/23px Poppins, sans-serif; }
.agendaModal__palestrantes { padding-top: 22px; border-top: 1px solid #e4e8f2; }
.agendaModal__palestrantes h4 { margin: 0 0 12px; color: #172c72; font: 700 13px/18px Poppins, sans-serif; text-transform: uppercase; }
.agendaModal__palestrantes ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.agendaModal__palestrantes li { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 66px; padding: 9px; border: 1px solid #e1e6f1; border-radius: 12px; background: #fafbfe; }
.agendaModal__palestrantes li > img { width: 48px; height: 48px; object-fit: cover; object-position: top; border-radius: 50%; background: #e9edf6; }
.agendaModal__palestrantes li > div { grid-column: 2; }
.agendaModal__palestrantes li:not(:has(> img)) > div { grid-column: 1 / 3; }
.agendaModal__palestrantes strong { display: block; color: #1f315f; font: 700 13px/18px Poppins, sans-serif; }
.agendaModal__palestrantes small { display: -webkit-box; overflow: hidden; margin-top: 2px; color: #707b96; font: 400 10px/15px Poppins, sans-serif; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.agendaModal__palestrantes a { color: #6e3fed; font: 700 11px/16px Poppins, sans-serif; white-space: nowrap; }
.agendaModal__palestrantes a:hover { text-decoration: underline; }
.agendaModal__patrocinio { margin: 22px 0 0; padding: 13px 16px; border-radius: 10px; color: #617092; background: #f2f5fb; font: 500 12px/18px Poppins, sans-serif; }

@media (max-width: 768px) {
    .agenda2026 .boxTopo.interna > .centro { padding: 24px 16px 50px; }
    .agenda2026 .boxTopo.interna .topoMenu nav.menu { display: none; }
    .agendaHero .conteudo { margin-top: 40px; }
    .agendaHero .conteudo h2 { font-size: 36px; line-height: 1.1; }
    .agendaHero .conteudo > p { font-size: 16px; line-height: 24px; }
    .agendaHero__meta { display: grid; }
    .agendaHero__meta span { width: fit-content; }

    .agendaConteudo { padding: 48px 0 80px; }
    .agendaConteudo > .centro { padding: 0 14px; }
    .agendaConteudo__cabecalho { display: block; margin-bottom: 20px; }
    .agendaConteudo__cabecalho h3 { font-size: 25px; }
    .agendaLegenda { margin-top: 15px; }
    .agendaAbas { gap: 3px; margin-right: -4px; margin-left: -4px; padding: 4px; border-radius: 12px; }
    .agendaAba { min-height: 64px; padding: 7px 2px; border-radius: 8px; }
    .agendaAba small { font-size: 9px; line-height: 12px; }
    .agendaAba strong { max-width: 100%; font-size: 11px; line-height: 15px; }
    .agendaAba > span { overflow: hidden; width: 6px; height: 6px; padding: 0; border-radius: 50%; color: transparent; background: #aab4ca; }
    .agendaAba.is-active > span { background: #6df2ff; }

    .agendaDesktop { display: none; }
    .agendaMobile { display: block; }
    .agendaMobile ol { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
    .agendaMobile li { display: grid; grid-template-columns: 66px minmax(0, 1fr); gap: 12px; overflow: hidden; border: 1px solid #dfe4f1; border-left: 4px solid #214fee; border-radius: 12px; background: #fff; box-shadow: 0 6px 18px rgba(15, 37, 121, .06); }
    .agendaMobile li.sessao--palco2 { border-left-color: #6e3fed; }
    .agendaMobile li.sessao--conjunto { border-left-color: #6df2ff; background: linear-gradient(105deg, #fff, #f8f4ff); }
    .agendaMobile li.is-operacional { border-color: rgba(194, 122, 0, .28); border-left-color: #c27a00; background: #fff1c7; }
    .agendaMobile li.is-operacional > time { border-right-color: #ecd28f; background: #ffe8a6; }
    .agendaMobile li.is-operacional h4 { color: #704500; }
    .agendaMobile li > time { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 2px; padding: 17px 6px; border-right: 1px solid #e3e7f0; color: #172c72; background: #f7f9fd; font: 700 14px/18px Poppins, sans-serif; }
    .agendaMobile li > time small { display: none; color: #8490aa; font: 500 9px/12px Poppins, sans-serif; }
    .agendaMobile li > div { padding: 14px 14px 13px 0; }
    .agendaMobile li > div > span { color: #6e3fed; font: 700 9px/13px Poppins, sans-serif; letter-spacing: .07em; text-transform: uppercase; }
    .agendaMobile h4 { margin: 4px 0 5px; color: #1b2f68; font: 700 13px/18px Poppins, sans-serif; }
    .agendaMobile p { margin: 0; color: #737f9d; font: 400 11px/16px Poppins, sans-serif; }
    .agendaMobile__pessoas { display: flex; min-width: 0; align-items: center; gap: 8px; margin-top: 8px; }
    .agendaMobile__pessoas p { min-width: 0; }
    .agendaMobile__avatars { display: flex; flex: 0 0 auto; align-items: center; padding-left: 1px; }
    .agendaMobile__avatars img { width: 30px; height: 30px; margin-left: -7px; border: 2px solid #fff; border-radius: 50%; object-fit: cover; object-position: top; background: #e2e7f3; box-shadow: 0 2px 7px rgba(15, 37, 121, .14); }
    .agendaMobile__avatars img:first-child { margin-left: 0; }
    .agendaMobile button { margin-top: 9px; padding: 0; border: 0; color: #214fee; background: transparent; font: 700 10px/14px Poppins, sans-serif; cursor: pointer; }

    .agendaVazio { min-height: 300px; padding: 38px 18px; }
    .agendaModal { width: calc(100vw - 20px); max-height: calc(100vh - 20px); border-radius: 15px; }
    .agendaModal__barra { min-height: 56px; padding: 9px 10px 9px 17px; }
    .agendaModal__corpo { max-height: calc(100vh - 76px); padding: 22px 18px; }
    .agendaModal__conteudoInterno > h3 { font-size: 20px; line-height: 27px; }
    .agendaModal__palestrantes li { grid-template-columns: 42px minmax(0, 1fr); }
    .agendaModal__palestrantes li > img { width: 42px; height: 42px; }
    .agendaModal__palestrantes li > a { grid-column: 2; }
    .agendaModal__palestrantes li:not(:has(> img)) > a { grid-column: 1 / 3; }
}

@media (prefers-reduced-motion: reduce) {
    .agenda2026 *, .agenda2026 *::before, .agenda2026 *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
