#agenda, #opinion, #en-contexto { scroll-margin-top: 24px; }
.opinion-card { display: block; }
.opinion-author { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; }
.opinion-author img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.opinion-author strong { display: block; font-size: 11px; letter-spacing: .06em; }
.opinion-author span { display: block; color: #a8a8a8; font-size: 11px; margin-top: 7px; line-height: 1.5; }
.opinion-card:hover h3 { text-decoration: underline; text-underline-offset: 5px; }
.home-agenda .section-header { align-items: center; }
.agenda-controls { display: flex; gap: 12px; }
.agenda-controls button { width: 44px; height: 44px; background: transparent; border: 1px solid var(--gray-light); cursor: pointer; }
.agenda-controls button:disabled { opacity: .35; cursor: default; }
.agenda-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 56px) / 3); gap: 28px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; padding-bottom: 16px; }
.agenda-track .agenda-item { scroll-snap-align: start; align-content: start; margin: 0; border-top: 1px solid var(--gray-light); min-width: 0; }
.agenda-track .agenda-day { font-size: 37px; }
.agenda-track h3 { overflow-wrap: anywhere; }
.home-demo-label { color: var(--gray); font-size: 11px; line-height: 1.6; margin-top: 12px; }
.ad-banner { padding: 28px 0; }
.ad-banner small { display: block; color: var(--gray); font-size: 10px; letter-spacing: .12em; margin-bottom: 10px; }
@media (max-width:1050px) { .agenda-track { grid-auto-columns: calc((100% - 28px) / 2); } }
@media (max-width:720px) { .agenda-track { grid-auto-columns: 88%; gap: 18px; } .agenda-controls { display: none; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } }

/* Controles direccionales sin texto ni flechas decorativas. */
.agenda-controls button::before { content: ''; display: inline-block; width: 8px; height: 8px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); }
.agenda-controls #agendaPrevious::before { transform: rotate(-135deg); }
.agenda-controls button:focus-visible { outline: 2px solid var(--burgundy); outline-offset: 3px; }

.lead-layout-without-side{grid-template-columns:1fr}.lead-layout-without-main{display:block}.lead-layout-without-main .side-news{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}@media(max-width:720px){.lead-layout-without-main .side-news{grid-template-columns:1fr}}

/* En contexto: tres lecturas con la misma jerarquía. */
#en-contexto .context-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
#en-contexto .context-card { min-height: 0; justify-content: flex-start; padding: 28px; background: #e9e4db; }
#en-contexto .context-card h3 { font-size: clamp(24px, 2.1vw, 30px); line-height: 1.18; margin-bottom: 18px; }
#en-contexto .context-card .summary { font-size: 15px; line-height: 1.65; }
@media (max-width: 900px) {
    #en-contexto .context-grid { grid-template-columns: 1fr; gap: 20px; }
    #en-contexto .context-card { padding: 24px; }
    #en-contexto .context-card h3 { font-size: 26px; }
}

.home-agenda .agenda-all-link { display: inline-flex; align-items: center; min-height: 44px; margin-top: 14px; font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }
.home-agenda .agenda-all-link:focus-visible { outline: 2px solid var(--burgundy); outline-offset: 4px; }

/* Agenda: fechas, horarios y sede con jerarquías propias. */
.agenda-track .agenda-place { margin-top: 12px; }
.agenda-dates { color: var(--ink); font-size: 12px; font-weight: 600; line-height: 1.5; }
.agenda-hours { color: var(--ink); font-size: 12px; line-height: 1.5; margin-top: 4px; }
.agenda-hours a { text-decoration: underline; text-underline-offset: 3px; }
.agenda-venue { color: var(--gray); font-size: 12px; line-height: 1.6; margin-top: 12px; }

/* Espacios constantes para que el contenido no desplace los metadatos. */
.agenda-track .agenda-copy { min-width: 0; }
.agenda-track .agenda-copy h3 {
    line-height: 1.25;
    height: auto;
    margin: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}
.agenda-track .agenda-place { display: grid; grid-template-rows: 18px 18px 39px; gap: 8px; margin-top: 10px; }
.agenda-track .agenda-place p { margin: 0; min-width: 0; }
.agenda-track .agenda-dates,
.agenda-track .agenda-venue { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.agenda-track .agenda-hours { white-space: nowrap; }

.agenda-track .agenda-dates { -webkit-line-clamp: 1; }

.home-section-more { margin-top: 28px; text-align: center; }
.home-section-more a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 20px; border: 1px solid var(--gray-light); font-size: 13px; }
.home-section-more a:hover { border-color: var(--burgundy); color: var(--burgundy); }
.home-section-more a:focus-visible { outline: 2px solid var(--burgundy); outline-offset: 3px; }

.rulings-section .home-section-more a{color:var(--paper);text-decoration-color:currentColor}
