/* Agenda compacta: leitura centralizada e espaço próprio para o cavalo. */
.events {
  --agenda-bg: #241a12;
  --agenda-panel: rgba(33,25,17,.96);
  --agenda-cream: #f7f3eb;
  --agenda-muted: #e2d5c3;
  --agenda-gold: #d9b27c;
  --agenda-border: rgba(217,178,124,.25);
  min-height: 560px;
  padding-top: 56px;
  background-color: var(--agenda-bg);
  background-image: url('../images/bela-vista-eventos-background-1920.webp');
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}
/* A faixa do cavalo fica abaixo dos textos, inclusive quando há eventos. */
.events[data-agenda-motion] { padding-bottom: calc(var(--agenda-horse-size) * .55 + 24px); }
.events::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(to bottom, rgba(36,26,18,.76) 0%, rgba(36,26,18,.62) 55%, rgba(36,26,18,.22) 100%);
  pointer-events: none;
}
.events .agenda-heading { display: block; margin: 0 auto 32px; max-width: 720px; text-align: center; }
.events .agenda-heading h2 { font:600 clamp(30px,3vw,40px)/1.2 var(--serif); letter-spacing:-.015em; text-wrap:balance; }
.events .agenda-intro { max-width: 520px; margin: 16px auto 0; font-size: 16px; line-height: 1.7; color: var(--agenda-muted); text-wrap: pretty; }
.events .agenda-content .agenda-empty { width: 100%; max-width: 680px; margin-inline: auto; padding: 28px 32px; background: rgba(33,25,17,.76); border: 1px solid rgba(217,178,124,.18); border-radius: 6px; text-align: center; }
.events .agenda-empty h3 { max-width: none; font-size: clamp(24px, 2vw, 28px); font-weight: 500; line-height: 1.25; color: var(--agenda-cream); text-wrap: balance; }
.events .agenda-empty > p { margin: 12px auto 0; max-width: 540px; font-size: 15.5px; line-height: 1.7; color: var(--agenda-muted); text-wrap: pretty; }
.events .agenda-feature, .events .agenda-row { background: var(--agenda-panel); border-color: var(--agenda-border); }
.events .agenda-feature-copy { gap: 24px; }
.events .agenda-row { padding: 24px; }
.events .agenda-row:hover { border-color: #d9b27c; }
.events .agenda-meta, .events .agenda-attractions { color: var(--agenda-muted); }
.events .agenda-categories .is-soldout { color: #c5b7a5; }
.events .agenda-categories tbody tr { border-color: rgba(217,178,124,.16); }
.events .agenda-stat dt { letter-spacing: .08em; }
.events .agenda-button { background: #d9b27c; border-color: #d9b27c; color: #24170f; }
.events .agenda-button:hover { background: #e8c796; border-color: #e8c796; }
.events .agenda-button-secondary { background: rgba(15,12,9,.55); border-color: rgba(217,178,124,.45); color: #f7f3eb; }
.events .agenda-button-secondary:hover { background: rgba(217,178,124,.14); border-color: #d9b27c; }
.events :is(a, button):focus-visible { outline-color: #e8c796; }
@media (min-width: 768px) and (max-width: 1024px) {
  .events { background-position: 60% center; }
}
@media (max-width: 767px) {
  .events { min-height: 560px; padding-top: 48px; background-image: url('../images/bela-vista-eventos-background-1200.webp'); background-position: 66% center; }
  .events .agenda-heading { margin-bottom: 24px; }
  .events .agenda-intro { font-size: 15.5px; }
  .events .agenda-content .agenda-empty { padding: 20px; }
  .events .agenda-empty > p { font-size: 15.5px; }
}

/* Somente a arte do anúncio, sem legenda ou faixa de ações duplicada. */
.events .agenda-announcement { width:100%; max-width:1120px; margin-inline:auto; overflow:hidden; border:1px solid #886a47; border-radius:10px; background:#302315; box-shadow:0 2px 4px rgba(0,0,0,.14),0 10px 26px rgba(0,0,0,.18); }
.agenda-announcement-banner { display:block; width:100%; line-height:0; border-radius:inherit; background:#21190f; }
.agenda-announcement-banner img { display:block; width:100%; height:auto; aspect-ratio:3/1; object-fit:contain; border-radius:inherit; }
.agenda-announcement-banner:focus-visible { outline:2px solid #e8c796; outline-offset:-4px; }
@media (max-width:767px) {
 .events .agenda-announcement { border-radius:6px; }
}

/* O anúncio sobe e a faixa do cavalo recebe sua altura completa, sem sobreposição. */
.events:has(.agenda-announcement) { padding-top:32px; }
.events:has(.agenda-announcement) .agenda-heading { margin-bottom:20px; }
.events[data-agenda-motion]:has(.agenda-announcement) { padding-bottom:calc(var(--agenda-horse-size) + 12px); }
@media (min-width:768px) and (min-height:550px) {
 .events .agenda-announcement { max-width:min(1120px,calc((100svh - 300px) * 3)); }
}
@media (max-width:767px) {
 .events:has(.agenda-announcement) { padding-top:32px; }
 .events:has(.agenda-announcement) .agenda-heading { margin-bottom:20px; }
 .events .agenda-announcement { border-radius:6px; }
}

/* Ajuste visual local: desloca só o banner, mantendo a altura da seção e o cavalo. */
.events .agenda-announcement { position:relative; top:10px; }
@media (max-width:767px) {
 .events .agenda-announcement { top:6px; }
}

/* Celular: arte recomposta, maior área útil e altura definida pelo conteúdo. */
.agenda-announcement-banner picture { display:block; width:100%; }
@media (max-width:767px) {
 .events:has(.agenda-announcement) { min-height:0; height:auto; padding-top:26px; background-position:60% bottom; }
 .events:has(.agenda-announcement) .agenda-container { padding-inline:max(16px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-right)); }
 .events:has(.agenda-announcement) .agenda-heading { margin-bottom:20px; }
 .events:has(.agenda-announcement) .agenda-heading h2 { font-size:clamp(28px,7.5vw,34px); line-height:1.2; }
 .events .agenda-announcement { top:0; max-width:480px; border-radius:8px; }
 .events .agenda-announcement.has-mobile-art img { aspect-ratio:4/3; }
 .events[data-agenda-motion]:has(.agenda-announcement) { padding-bottom:calc(var(--agenda-horse-size) + 16px); }
}

/* Topo da agenda: chamada e separador, sem modificar a arte do banner. */
.events .agenda-heading,.events:has(.agenda-announcement) .agenda-heading { display:flex; flex-direction:column; align-items:center; gap:0; width:100%; max-width:1120px; margin:0 auto 48px; text-align:center; }
.events .agenda-heading .agenda-reserve { margin:12px 0 0; font-family:var(--sans); font-size:22px; font-weight:500; line-height:1.5; color:#d9b27c; text-align:center; }
.events .agenda-announcement { top:0; }
.events[data-agenda-motion]:has(.agenda-announcement) { padding-bottom:calc(var(--agenda-horse-size) + 48px); }
.events .agenda-heading[data-reveal] { transition:opacity 450ms ease,transform 450ms ease; }
.events .agenda-heading[data-reveal="pending"] { opacity:0; transform:translateY(16px); }
.events .agenda-heading[data-reveal="visible"] { opacity:1; transform:translateY(0); }
@media (prefers-reduced-motion:reduce) {
  .events .agenda-heading[data-reveal] { opacity:1; transform:none; transition:none; }
}

.events .agenda-heading h2 { font-family:'Inter',var(--sans); font-size:clamp(36px,3.6vw,48px); font-weight:500; line-height:1.15; letter-spacing:-.035em; font-kerning:normal; text-wrap:balance; text-shadow:0 2px 8px rgba(15,12,9,.2); }
.events .agenda-access-note { display:flex; align-items:center; justify-content:center; gap:12px; max-width:680px; margin:18px 0 0; font-family:var(--sans); font-size:16px; font-weight:400; line-height:1.65; letter-spacing:0; color:var(--agenda-cream); text-wrap:pretty; }
.events .agenda-access-note svg { display:block; width:19px; height:19px; flex:0 0 19px; opacity:.85; }
.events .agenda-access-note a { color:inherit; font-weight:600; text-decoration:underline; text-decoration-color:rgba(243,233,216,.45); text-decoration-thickness:1px; text-underline-offset:4px; transition:color 180ms ease,text-decoration-color 180ms ease; }
.events .agenda-access-note a:hover { color:#d9b27c; text-decoration-color:currentColor; }
.events .agenda-access-note a:focus-visible { outline:2px solid #d9b27c; outline-offset:4px; }
@media (max-width:767px) {
  .events .agenda-access-note { align-items:flex-start; gap:10px; max-width:100%; font-size:15px; text-align:left; }
  .events .agenda-access-note svg { margin-top:3px; }
}
@media (prefers-reduced-motion:reduce) {
  .events .agenda-access-note a { transition:none; }
}

/* Cancel only this anchor's global scroll offset: the section starts at the viewport top. */
#eventos { scroll-margin-top:-28px; }

/* Sombra ampla no banner publico, preservando a arte e seu enquadramento. */
.events .agenda-announcement {
  box-shadow:0 3px 8px rgba(0,0,0,.16),0 14px 24px -4px rgba(0,0,0,.26),0 30px 50px -10px rgba(0,0,0,.32);
}
@media (max-width:767px) {
  .events .agenda-announcement { box-shadow:0 3px 8px rgba(0,0,0,.14),0 16px 30px -6px rgba(0,0,0,.28); }
}
