:root {
    color-scheme: light;
    --morado: #42007c;
    --morado-oscuro: #250346;
    --dorado: #e7a64d;
    --fondo-agenda: #f6f7f9;
    --texto: #281b36;
}

html { scroll-behavior: smooth; }
body { color: var(--texto); background: var(--fondo-agenda); }
a { color: var(--morado); }
a:focus-visible, button:focus-visible, select:focus-visible { outline: 3px solid var(--dorado); outline-offset: 3px; }
.skip-link { position: absolute; top: -5rem; left: 1rem; z-index: 10; padding: .7rem 1rem; background: #fff; }
.skip-link:focus { top: 1rem; }
.hero { color: #fff; background: linear-gradient(120deg, #250346, #580ea3); }
.hero-logo { display: block; width: min(100%, 30rem); height: auto; margin-inline: auto; filter: drop-shadow(0 12px 25px rgba(0,0,0,.15)); }
.hero-kicker { color: #ffe6ba; text-transform: uppercase; letter-spacing: .13em; font-weight: 700; font-size: .85rem; }
.hero h1 { font-size: clamp(2.1rem, 5vw, 4.5rem); font-weight: 800; line-height: 1.07; }
.hero-summary { max-width: 38rem; font-size: 1.15rem; }
.hero-fact { border-left: 3px solid var(--dorado); padding-left: 1rem; }
.hero-fact strong { display: block; font-size: 1.1rem; }
.hero-fact i { display: inline-block; width: 1.2rem; }
.breadcrumb { --bs-breadcrumb-divider-color: #f5d9ff; }
.breadcrumb a, .breadcrumb-item.active { color: #fff; }
.section-title { color: var(--morado); font-weight: 800; }
.agenda-intro { max-width: 50rem; }
.agenda-controls { border: 1px solid #e8dff0; border-radius: 1.25rem; background: #fff; box-shadow: 0 10px 30px rgba(66,0,124,.06); }
.day-nav { display: flex; flex-wrap: wrap; gap: .5rem; }
.day-button { border: 1px solid #c9b2dd; border-radius: 999px; padding: .55rem .9rem; background: #fff; color: var(--morado); font-weight: 700; }
.day-button:hover, .day-button[aria-pressed="true"] { color: #fff; background: var(--morado); border-color: var(--morado); }
.agenda-day { scroll-margin-top: 1rem; }
.day-heading { border-bottom: 2px solid #e8dff0; padding-bottom: .75rem; color: var(--morado); font-weight: 800; }
.event-card { border: 1px solid #e9e0ef; border-radius: 1rem; background: #fff; box-shadow: 0 8px 22px rgba(32,11,50,.06); overflow: hidden; }
.event-card__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem; padding: .8rem 1rem; background: #f6f1fa; border-bottom: 1px solid #e9e0ef; }
.institutional .event-card__top { background: #fff5e6; }
.event-time { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); column-gap: .7rem; align-items: start; color: var(--morado-oscuro); }
.event-time i { width: 1.5rem; padding-top: .2rem; color: var(--morado); text-align: center; }
.event-time__label { display: block; color: var(--morado); font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.event-time strong { display: block; font-size: .95rem; line-height: 1.35; }
.event-kind { display: inline-block; padding: .28rem .65rem; border-radius: 999px; background: #e8d8f5; color: var(--morado); font-size: .76rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.institutional .event-kind { background: #f6dfb7; color: #734607; }
.event-card__body { padding: 1rem; }
.event-card h3 { margin: 0 0 .8rem; color: var(--morado-oscuro); font-size: 1.16rem; line-height: 1.3; font-weight: 750; }
.event-meta { display: grid; gap: .6rem; margin: 0; padding-top: .75rem; border-top: 1px solid #eee8f1; }
.event-meta__row { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); column-gap: .7rem; row-gap: .1rem; }
.event-meta dt { display: grid; grid-column: 1 / -1; grid-template-columns: 1.5rem minmax(0, 1fr); column-gap: .7rem; align-items: start; color: var(--morado); font-weight: 700; font-size: .72rem; letter-spacing: .04em; text-transform: uppercase; }
.event-meta dt i { grid-column: 1; width: 1.5rem; font-size: 1rem; text-align: center; }
.event-meta dt span { grid-column: 2; }
.event-meta dd { grid-column: 2; margin: 0; font-size: 1rem; line-height: 1.4; overflow-wrap: anywhere; }
.empty-state { border: 1px dashed #b69aca; border-radius: 1rem; color: var(--morado); background: #fff; }
.site-footer { background: var(--morado-oscuro); color: #fff; }
.site-footer a { color: #fff; }
[hidden] { display: none !important; }
body:not(.aos-ready) [data-aos] { opacity: 1 !important; transform: none !important; }
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    [data-aos] { opacity: 1 !important; transform: none !important; transition: none !important; }
}
