/* Agenda (decisão 013, fase 2): página /agenda e páginas dos eventos em
   /agenda/<slug>. Tokens de style.css; as únicas cores novas são as dos estados
   (esgotado âmbar, cancelado vermelho), as mesmas da paleta do editor. */
:root {
  --ag-tinta: #1f2a00;
  --ag-linha: #e3ebcb;
  --ag-agora: #2d3c00;
  --ag-hoje: #eef5d6;
  --ag-esgotado-txt: #7a5800; --ag-esgotado-bg: #fff3b0;
  --ag-cancelado: #a8201a;
}
::selection { background: #d7ec86; color: var(--ag-tinta); }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ag-ic { flex: none; }


/* Hero: pesquisa no lugar da etiqueta (como em /noticias) */
.ag-pesquisa { position: relative; max-width: 30rem; margin-top: 1.4rem; }
.ag-pesquisa .ag-ic { position: absolute; left: 1.05rem; top: 50%; translate: 0 -50%; color: var(--green-on-light); pointer-events: none; }
.ag-pesquisa input {
  width: 100%; padding: .85rem 1rem .85rem 2.9rem; border: 0; border-radius: 999px;
  font: inherit; font-size: 1rem; color: var(--text-main); background: #fff; box-shadow: 0 6px 18px rgba(0,0,0,.22);
}
.ag-pesquisa input::placeholder { color: #6a7180; }
.ag-pesquisa input:focus-visible { outline: 3px solid #d7ec86; outline-offset: 3px; }
@media (max-width: 768px) { #ag-hero .hero-split__media { display: none; } }

/* Barra presa ao topo: vistas + áreas */
.ag-barra-topo { position: sticky; top: 0; z-index: 20; background: #fff; border-bottom: 1px solid var(--border); }
.ag-barra-topo .container { display: flex; gap: 1rem; align-items: center; padding-block: .7rem; }
.ag-vistas { display: inline-flex; flex: none; padding: 3px; border-radius: 999px; background: var(--bg-soft); }
.ag-vistas button {
  padding: .5rem .95rem; border: 0; border-radius: 999px; background: none; cursor: pointer;
  font: 600 .86rem/1 "Open Sans", sans-serif; color: var(--text-main);
}
.ag-vistas button[aria-pressed="true"] { background: var(--green-deep); color: #fff; }
.ag-vistas button:focus-visible, .ag-filtro:focus-visible { outline: 3px solid var(--green-dark); outline-offset: 2px; }
.ag-areas { display: flex; flex-wrap: wrap; gap: .4rem; min-width: 0; }
.ag-filtro {
  display: inline-flex; gap: .4rem; align-items: center; padding: .5rem .85rem; border: 1px solid var(--border); border-radius: 999px;
  font: 600 .84rem/1 "Open Sans", sans-serif; color: var(--text-main); background: #fff; cursor: pointer; transition: background-color .15s, border-color .15s;
}
.ag-filtro:hover { border-color: var(--green-primary); }
.ag-filtro[aria-pressed="true"] { background: var(--green-light); border-color: var(--green-on-light); color: var(--ag-tinta); }
.ag-filtro span { font-size: .74rem; font-weight: 700; color: var(--text-soft); font-variant-numeric: tabular-nums; }
@media (max-width: 900px) {
  .ag-barra-topo .container { flex-direction: column; align-items: stretch; gap: .6rem; }
  .ag-vistas { align-self: flex-start; }
  .ag-areas { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: -1rem; padding-inline: 1rem; }
  .ag-filtro { flex: none; }
}

.ag-main { background: #fff; padding: clamp(1.75rem, 4vw, 3rem) 0 4rem; }
.ag-resultado { margin: 0 0 1.25rem; font-size: .95rem; color: var(--text-soft); }
.ag-resultado:empty { display: none; }
.ag-resultado button, .ag-vazio button, .ag-btn-sec { font: inherit; cursor: pointer; }
.ag-resultado button { padding: 0; border: 0; background: none; color: var(--green-on-light); text-decoration: underline; text-underline-offset: 3px; }

/* Peças comuns */
.ag-meta { display: flex; flex-wrap: wrap; gap: .35rem .6rem; align-items: center; margin: 0 0 .3rem; font-size: .82rem; }
.ag-area { font-weight: 700; color: var(--green-on-light); text-decoration: none; }
.ag-area:hover { text-decoration: underline; text-underline-offset: 3px; }
.ag-titulo { margin: 0; font: 700 1.1rem/1.28 "Montserrat", sans-serif; color: var(--ag-tinta); text-wrap: balance; }
.ag-titulo a { color: inherit; text-decoration: none; }
.ag-titulo a:hover { text-decoration: underline; text-decoration-thickness: 2px; text-decoration-color: var(--green-primary); text-underline-offset: 4px; }
.ag-titulo a:focus-visible, .ag-chip:focus-visible, .ag-cel:focus-visible { outline: 3px solid var(--green-dark); outline-offset: 3px; border-radius: 3px; }
.ag-titulo.is-cancelado a { text-decoration: line-through; text-decoration-color: var(--ag-cancelado); text-decoration-thickness: 2px; }
.ag-quando, .ag-onde { display: flex; gap: .45rem; align-items: flex-start; margin: .4rem 0 0; font-size: .92rem; line-height: 1.45; color: var(--text-main); }
.ag-onde { color: var(--text-soft); margin-top: .2rem; }
.ag-quando .ag-ic, .ag-onde .ag-ic { margin-top: .15rem; color: var(--green-on-light); }
mark { padding: 0 .1em; border-radius: 2px; background: #e6f2b5; color: inherit; }

.ag-selo { display: inline-flex; gap: .35rem; align-items: center; padding: .22rem .55rem; border-radius: 4px; font: 700 .72rem/1.1 "Open Sans", sans-serif; letter-spacing: .02em; }
.ag-selo--agora { background: var(--ag-agora); color: #fff; }
.ag-selo--agora i { width: .5rem; height: .5rem; border-radius: 50%; background: #d7ec86; animation: ag-pulso 2s cubic-bezier(.16,1,.3,1) infinite; }
.ag-selo--hoje { background: var(--ag-hoje); color: var(--ag-tinta); box-shadow: inset 0 0 0 1px var(--border); }
.ag-selo--patente { background: var(--bg-soft); color: var(--green-on-light); }
.ag-selo--esgotado { background: var(--ag-esgotado-bg); color: var(--ag-esgotado-txt); }
.ag-selo--cancelado { background: #fbe9e7; color: var(--ag-cancelado); }
.ag-simulado { font-size: .72rem; font-style: italic; color: var(--text-soft); }
@keyframes ag-pulso { 0% { box-shadow: 0 0 0 0 rgba(215,236,134,.9); } 70%, 100% { box-shadow: 0 0 0 .45rem rgba(215,236,134,0); } }

.ag-cartaz { display: block; overflow: hidden; border-radius: 6px; background: var(--bg-soft); box-shadow: var(--shadow); aspect-ratio: 1 / 1.414; }
.ag-cartaz img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.16,1,.3,1); }
a.ag-cartaz:hover img { transform: scale(1.03); }

.ag-vazio { display: grid; justify-items: center; gap: .4rem; padding: 3rem 1rem; text-align: center; color: var(--text-soft); }
.ag-vazio .ag-ic { width: 32px; height: 32px; color: var(--border); }
.ag-vazio strong { font: 700 1.2rem "Montserrat", sans-serif; color: var(--text-main); }
.ag-vazio p { margin: 0; max-width: 46ch; }
.ag-vazio button { margin-top: .8rem; padding: .7rem 1.3rem; border: 0; border-radius: 999px; font-weight: 600; color: #fff; background: var(--green-dark); }
.ag-vazio button:hover { background: var(--green-deep); }
.ag-btn-sec { padding: .55rem 1.05rem; border: 1px solid var(--green-on-light); border-radius: 999px; background: #fff; font-weight: 600; font-size: .9rem; color: var(--green-on-light); }
.ag-btn-sec:hover { background: var(--green-light); }

/* Lista por mês */
.ag-mes + .ag-mes { margin-top: 2.5rem; }
.ag-mes h2, .ag-horiz h2, .ag-arquivo__h, .ag-patentes h2 {
  display: flex; gap: .75rem; align-items: baseline; margin: 0; padding-bottom: .6rem; border-bottom: 1px solid var(--border);
  font: 700 1.15rem/1.3 "Montserrat", sans-serif; color: var(--green-on-light);
}
.ag-mes h2 small, .ag-horiz h2 small { font: 400 .86rem "Open Sans", sans-serif; color: var(--text-soft); }
.ag-linha { display: grid; grid-template-columns: 4.25rem minmax(0, 1fr) 6rem; gap: 1.25rem; align-items: start; padding: 1.2rem 0; border-bottom: 1px solid var(--ag-linha); }
.ag-linha.is-agora { margin-inline: -1rem; padding-inline: 1rem; background: var(--ag-hoje); border-radius: 8px; border-bottom-color: transparent; }
.ag-linha.is-passado .ag-cartaz { opacity: .7; }
.ag-linha.is-passado .ag-data { background: #f4f5f0; }
.ag-data { display: grid; justify-items: center; padding: .55rem 0 .5rem; border-radius: 8px; background: var(--bg-soft); color: var(--ag-tinta); line-height: 1.05; }
.ag-data span { font-size: .72rem; font-weight: 700; color: var(--green-on-light); text-transform: uppercase; letter-spacing: .04em; }
.ag-data b { font: 800 1.7rem/1.1 "Montserrat", sans-serif; font-variant-numeric: tabular-nums; }
.is-agora .ag-data { background: var(--ag-agora); color: #fff; }
.is-agora .ag-data span { color: #d7ec86; }
.ag-arquivo { margin-top: 2.5rem; text-align: center; }
.ag-arquivo .ag-arquivo__h { text-align: left; }
.ag-arquivo .ag-linha { text-align: left; }

/* Semana em sete colunas */
.ag-navdata { display: flex; gap: .6rem; align-items: center; margin-bottom: 1.25rem; }
.ag-navdata h2 { margin: 0 .4rem; font: 700 1.3rem/1.2 "Montserrat", sans-serif; color: var(--ag-tinta); }
.ag-navdata button:not(.ag-btn-sec) { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border: 1px solid var(--border); border-radius: 50%; background: #fff; color: var(--green-on-light); cursor: pointer; }
.ag-navdata button:hover { background: var(--green-light); }
.ag-navdata button:focus-visible { outline: 3px solid var(--green-dark); outline-offset: 2px; }
.ag-semana { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }
.ag-dia { min-height: 16rem; padding: .75rem .6rem; border-left: 1px solid var(--ag-linha); }
.ag-dia:first-child { border-left: 0; }
.ag-dia.is-hoje { background: var(--ag-hoje); }
.ag-dia.is-passado { background: #fafbf6; }
.ag-dia h3 { display: flex; gap: .35rem; align-items: baseline; margin: 0 0 .7rem; font: 600 .8rem "Open Sans", sans-serif; color: var(--text-soft); text-transform: uppercase; letter-spacing: .04em; }
.ag-dia h3 b { font: 800 1.35rem "Montserrat", sans-serif; color: var(--ag-tinta); }
.ag-dia h3 em { font-style: normal; color: var(--green-on-light); }
.ag-dia__nada { margin: 0; font-size: .86rem; color: var(--text-soft); }
.ag-chip { display: grid; gap: .15rem; margin-bottom: .5rem; padding: .55rem .6rem; border-radius: 6px; background: #fff; box-shadow: 0 0 0 1px var(--ag-linha), 0 1px 2px rgba(0,0,0,.05); text-decoration: none; color: var(--text-main); font-size: .82rem; line-height: 1.3; transition: box-shadow .15s; }
.ag-chip:hover { box-shadow: var(--shadow-hover); }
.ag-chip time { font-weight: 700; color: var(--green-on-light); font-variant-numeric: tabular-nums; }
.ag-chip b { font-family: "Montserrat", sans-serif; color: var(--ag-tinta); }
.ag-chip small { color: var(--text-soft); }
.ag-chip em { justify-self: start; margin-top: .2rem; padding: .12rem .4rem; border-radius: 3px; font: 700 .7rem "Open Sans", sans-serif; font-style: normal; }
.ag-chip.is-agora { background: var(--ag-agora); box-shadow: none; color: #eef3df; }
.ag-chip.is-agora time { color: #d7ec86; } .ag-chip.is-agora b { color: #fff; } .ag-chip.is-agora small { color: #d9e3bd; }
.ag-chip.is-agora em { background: #d7ec86; color: var(--ag-tinta); }
.ag-chip.is-passada { background: #f6f7f2; box-shadow: 0 0 0 1px var(--ag-linha); }
.ag-chip.is-passada time, .ag-chip.is-passada b, .ag-chip.is-passada small { color: var(--text-soft); }
.ag-chip.is-esgotada em { background: var(--ag-esgotado-bg); color: var(--ag-esgotado-txt); }
.ag-chip.is-cancelada b { text-decoration: line-through; text-decoration-color: var(--ag-cancelado); }
.ag-chip.is-cancelada em { background: #fbe9e7; color: var(--ag-cancelado); }
@media (max-width: 900px) {
  .ag-semana { grid-template-columns: 1fr; }
  .ag-dia { min-height: 0; border-left: 0; border-top: 1px solid var(--ag-linha); display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); gap: 0 .75rem; }
  .ag-dia:first-child { border-top: 0; }
  .ag-dia h3 { flex-direction: column; gap: 0; grid-row: span 9; }
}

/* Mês */
.ag-calendario { border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }
.ag-calendario__cab, .ag-calendario__grelha { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.ag-calendario__cab span { padding: .5rem .6rem; font: 700 .74rem "Open Sans", sans-serif; text-transform: uppercase; letter-spacing: .04em; color: var(--text-soft); background: var(--bg-soft); }
.ag-cel { display: flex; flex-direction: column; gap: .2rem; min-height: 6.5rem; padding: .45rem .5rem; border: 0; border-top: 1px solid var(--ag-linha); border-left: 1px solid var(--ag-linha); background: #fff; text-align: left; font: inherit; cursor: pointer; overflow: hidden; }
.ag-cel:nth-child(7n+1) { border-left: 0; }
.ag-cel b { font: 700 .95rem "Montserrat", sans-serif; color: var(--ag-tinta); font-variant-numeric: tabular-nums; }
.ag-cel.is-fora { background: #f4f5f0; } .ag-cel.is-fora b { color: var(--text-soft); font-weight: 600; }
.ag-cel.is-hoje b { display: grid; place-items: center; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: var(--green-deep); color: #fff; }
.ag-cel.is-sel { box-shadow: inset 0 0 0 2px var(--green-on-light); }
.ag-cel:hover { background: var(--ag-hoje); }
.ag-cel__ev { display: block; padding: .1rem .35rem; border-radius: 3px; background: var(--green-light); color: var(--ag-tinta); font-size: .74rem; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ag-cel__ev.is-cancelada { text-decoration: line-through; background: #fbe9e7; color: var(--ag-cancelado); }
.ag-cel__mais { font-size: .72rem; font-weight: 700; color: var(--green-on-light); }
.ag-cel__pontos { display: none; }
.ag-diasel { margin-top: 1.5rem; max-width: 40rem; }
.ag-diasel h3 { margin: 0 0 .8rem; font: 700 1.05rem "Montserrat", sans-serif; color: var(--ag-tinta); }
.ag-diasel h3::first-letter { text-transform: uppercase; }
@media (max-width: 700px) {
  .ag-cel { min-height: 3.4rem; align-items: center; padding: .4rem .2rem; }
  .ag-cel__ev, .ag-cel__mais { display: none; }
  .ag-cel__pontos { display: flex; gap: 3px; }
  .ag-cel__pontos i { width: 5px; height: 5px; border-radius: 50%; background: var(--green-on-light); }
}


/* B — Mural de cartazes */
.ag-mural { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: 2.25rem 1.75rem; }
.ag-peca { position: relative; display: grid; align-content: start; }
.ag-peca .ag-cartaz { border-radius: 8px; }
.ag-peca__data { position: absolute; top: .7rem; left: .7rem; display: grid; justify-items: center; min-width: 3.4rem; padding: .4rem .5rem; border-radius: 6px; background: #fff; color: var(--ag-tinta); box-shadow: 0 4px 14px rgba(0,0,0,.18); line-height: 1; }
.ag-peca__data b { font: 800 1.5rem "Montserrat", sans-serif; }
.ag-peca__data span { margin-top: .15rem; font-size: .72rem; font-weight: 700; color: var(--green-on-light); text-transform: uppercase; }
.ag-peca.is-agora .ag-peca__data { background: var(--ag-agora); color: #fff; } .ag-peca.is-agora .ag-peca__data span { color: #d7ec86; }
.ag-peca.is-cancelado .ag-cartaz img { filter: grayscale(1); opacity: .55; }
.ag-peca__txt { padding-top: 1rem; }
@media (max-width: 640px) {
  .ag-mural { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 1rem; }
  .ag-peca .ag-titulo { font-size: .98rem; }
  .ag-peca .ag-onde { display: none; }
  .ag-peca .ag-quando { font-size: .84rem; }
  .ag-peca__data { top: .45rem; left: .45rem; min-width: 2.8rem; } .ag-peca__data b { font-size: 1.2rem; }
}

/* C — Por horizonte, com as exposições abertas ao lado */
.ag-horizontes { display: grid; grid-template-columns: minmax(0, 1fr) 21rem; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
.ag-horiz + .ag-horiz { margin-top: 2.25rem; }
.ag-horiz--hoje h2 { color: var(--ag-tinta); font-size: 1.5rem; border-bottom: 2px solid var(--green-deep); }
.ag-horiz--hoje .ag-dia__nada { padding: 1rem 0; }
.ag-patentes { position: sticky; top: 5.5rem; padding: 1.25rem; border-radius: 10px; background: var(--bg-soft); }
.ag-patentes h2 { border-bottom-color: var(--border); }
.ag-patente { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); gap: .9rem; padding: 1rem 0; border-bottom: 1px solid var(--border); }
.ag-patente:last-child { border-bottom: 0; padding-bottom: 0; }
.ag-patente .ag-titulo { font-size: .98rem; }
.ag-patente .ag-meta { margin: .35rem 0 0; }
.ag-patente__h { margin: .35rem 0 0; font-size: .86rem; font-weight: 600; color: var(--ag-tinta); }
@media (max-width: 1024px) {
  .ag-horizontes { grid-template-columns: 1fr; }
  .ag-patentes { position: static; order: -1; }
}

@media (max-width: 640px) {
  .ag-linha { grid-template-columns: 3.6rem minmax(0, 1fr) 4.5rem; gap: .9rem; }
  .ag-data b { font-size: 1.4rem; }
  .ag-titulo { font-size: 1.02rem; }
}

/* Detalhe de um evento */
.ag-det { display: grid; grid-template-columns: minmax(0, 22rem) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
.ag-det__cartaz { position: sticky; top: 1.5rem; }
.ag-det__cartaz .ag-cartaz { border-radius: 8px; box-shadow: 0 10px 30px rgba(0,0,0,.18); }
.ag-det__cartaz p { margin: .6rem 0 0; font-size: .82rem; color: var(--text-soft); }
.ag-aviso { display: flex; gap: .8rem; margin: 0 0 1.5rem; padding: 1rem 1.1rem; border-radius: 8px; background: #fbe9e7; color: #6e1510; }
.ag-aviso strong { color: var(--ag-cancelado); }
.ag-ficha { display: grid; gap: 1rem; margin: 0 0 1.75rem; padding: 1.25rem 1.35rem; border-radius: 10px; background: var(--bg-soft); }
.ag-ficha dt { display: flex; gap: .45rem; align-items: center; font: 700 .78rem "Open Sans", sans-serif; text-transform: uppercase; letter-spacing: .05em; color: var(--green-on-light); }
.ag-ficha dd { margin: .2rem 0 0; font-size: 1rem; color: var(--ag-tinta); }
.ag-ficha dd small { display: block; color: var(--text-soft); font-size: .88rem; }
.ag-ficha a { color: var(--green-on-light); font-weight: 600; text-underline-offset: 3px; }
.ag-accoes { display: flex; flex-wrap: wrap; gap: .6rem; margin: 0 0 2rem; }
.ag-btn { display: inline-flex; gap: .5rem; align-items: center; padding: .8rem 1.35rem; border-radius: 999px; background: var(--green-dark); color: #fff; font-weight: 700; text-decoration: none; }
.ag-btn:hover { background: var(--green-deep); }
.ag-btn:focus-visible, .ag-accoes .ag-btn-sec:focus-visible { outline: 3px solid var(--green-deep); outline-offset: 3px; }
.ag-accoes .ag-btn-sec { display: inline-flex; gap: .45rem; align-items: center; padding: .75rem 1.2rem; text-decoration: none; }
.ag-horario h2, .ag-descricao h2 { margin: 0 0 .8rem; font: 700 1.2rem "Montserrat", sans-serif; color: var(--ag-tinta); }
.ag-horario table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.ag-horario th { padding: .5rem .6rem; text-align: left; font: 700 .76rem "Open Sans", sans-serif; text-transform: uppercase; letter-spacing: .04em; color: var(--text-soft); border-bottom: 1px solid var(--border); }
.ag-horario td { padding: .6rem; border-bottom: 1px solid var(--ag-linha); vertical-align: top; }
.ag-horario td:nth-child(2) { font-weight: 700; color: var(--green-on-light); font-variant-numeric: tabular-nums; white-space: nowrap; }
.ag-horario tr.is-passada td { color: var(--text-soft); background: #f8f9f4; } .ag-horario tr.is-passada td:nth-child(2) { color: var(--text-soft); font-weight: 600; }
.ag-horario tr.is-hoje td { background: var(--ag-hoje); }
.ag-horario tr.is-agora td { background: var(--ag-agora); color: #fff; } .ag-horario tr.is-agora td:nth-child(2) { color: #d7ec86; }
.ag-horario td .ag-selo { margin-left: .4rem; }
.ag-horario tr.is-cancelada td:first-child { text-decoration: line-through; }
.ag-horario details { margin-top: .8rem; }
.ag-horario summary { cursor: pointer; font-weight: 600; color: var(--green-on-light); }
.ag-descricao { margin-top: 2.25rem; max-width: 68ch; line-height: 1.7; }
.ag-descricao p { margin: 0 0 1em; }
.ag-descricao a { color: var(--green-on-light); }
@media (max-width: 860px) {
  .ag-det { grid-template-columns: 1fr; }
  .ag-det__cartaz { position: static; max-width: 16rem; }
}

@media (prefers-reduced-motion: reduce) {
  .ag-selo--agora i { animation: none; }
  .ag-cartaz img, .ag-filtro, .ag-chip { transition: none; }
}


/* B — data do momento por baixo do título, nos eventos com várias datas */
.ag-proxima { margin: .45rem 0 0; font-size: .86rem; font-weight: 700; color: var(--ag-tinta); }
.ag-proxima.is-agora { color: var(--green-on-light); }

/* Etiqueta da data a flutuar fora do canto do cartaz. A sombra segue o tom do
   canto (gestao_tom_do_canto, ao carregar o cartaz): escura sobre cartaz claro,
   halo claro sobre cartaz escuro. */
.ag-peca__data { top: -.55rem; left: -.55rem; z-index: 1; transition: translate .25s cubic-bezier(.16,1,.3,1); }
.ag-peca__data.sobre-claro { box-shadow: 0 0 0 1px rgba(31,42,0,.14), 0 3px 6px rgba(0,0,0,.18), 0 10px 24px rgba(0,0,0,.32); }
.ag-peca__data.sobre-escuro { box-shadow: 0 0 0 3px rgba(255,255,255,.28), 0 10px 26px rgba(0,0,0,.55); }
.ag-peca:hover .ag-peca__data { translate: 0 -2px; }
@media (max-width: 640px) { .ag-peca__data { top: -.4rem; left: -.4rem; } }
@media (prefers-reduced-motion: reduce) { .ag-peca__data { transition: none; } }

/* Página do evento: extras */
.ag-selo--adiado { background: #e8eef7; color: #1d5a9e; }
.ag-aviso--adiado { background: #e8eef7; color: #123a66; }
.ag-aviso--adiado strong { color: #1d5a9e; }
.ag-aviso p { margin: 0; }
.ag-det__resumo { margin: .2rem 0 1.25rem; max-width: 62ch; font-size: 1.08rem; line-height: 1.6; color: var(--text-main); }
.ag-det__nota { margin: -1.4rem 0 2rem; font-size: .9rem; color: var(--text-soft); }
.ag-det__noticia { margin-top: 2rem; font-weight: 600; }
.ag-det__noticia a { color: var(--green-on-light); }
.ag-horario h2 small { font: 400 .9rem "Open Sans", sans-serif; color: var(--text-soft); }
.ag-horario tbody tr.is-escondida { display: none; }
.ag-horario__passadas { margin-top: .8rem; padding: 0; border: 0; background: none; font: 600 .95rem "Open Sans", sans-serif; color: var(--green-on-light); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.ag-descricao.noticia-corpo { padding: 0; }
.ag-descricao h2 { margin-top: 0; }
.ag-aviso--terminado { background: var(--bg-soft); color: var(--text-main); }
.ag-aviso--terminado strong { color: var(--ag-tinta); }

/* Página /agenda: espera, subscrição */
.ag-esqueleto { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: 2.25rem 1.75rem; }
.ag-esqueleto div { aspect-ratio: 1 / 1.414; border-radius: 8px; background: var(--bg-soft); }
@media (max-width: 640px) { .ag-esqueleto { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; } .ag-esqueleto div:nth-child(n+3) { display: none; } }
.ag-subscrever { display: flex; gap: .6rem; align-items: flex-start; margin: 3rem 0 0; padding: 1rem 1.2rem; border-radius: 8px; background: var(--bg-soft); font-size: .92rem; color: var(--text-main); }
.ag-subscrever .ag-ic { margin-top: .2rem; color: var(--green-on-light); }
.ag-subscrever a { color: var(--green-on-light); font-weight: 600; }
.ag-subscrever code { font-size: .85em; word-break: break-all; }

/* Próximos eventos no início e na comunicação (agenda-proximos.js) */
.ag-proximos .ag-mural { grid-template-columns: repeat(4, minmax(0, 1fr)); padding-top: .6rem; }
@media (max-width: 1024px) { .ag-proximos .ag-mural { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ag-compacto { list-style: none; margin: 0 0 .8rem; padding: 0; }
.ag-compacto li { display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: .7rem; align-items: start; padding: .6rem 0; border-top: 1px solid var(--ag-linha); }
.ag-compacto li:first-child { border-top: 0; padding-top: .2rem; }
.ag-compacto .ag-data { padding: .35rem 0; }
.ag-compacto .ag-data b { font-size: 1.15rem; }
.ag-compacto .ag-data span { font-size: .62rem; }
.ag-compacto a { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font: 700 .88rem/1.3 "Montserrat", sans-serif; color: var(--ag-tinta); text-decoration: none; }
.ag-compacto a:hover { text-decoration: underline; text-decoration-color: var(--green-primary); text-underline-offset: 3px; }
.ag-compacto small { display: block; margin-top: .2rem; font-size: .78rem; color: var(--text-soft); }
.ag-compacto .is-agora .ag-data { background: var(--ag-agora); color: #fff; }
.ag-compacto .is-agora .ag-data span { color: #d7ec86; }
