.calendar-controls{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:24px 0}.calendar-controls[hidden]{display:none}.calendar-controls label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:700;min-width:0}.calendar-controls button,.calendar-controls select{font:inherit;min-height:44px;max-width:100%;padding:10px 12px;border:1px solid var(--catalog-control);border-radius:8px;background:white;color:var(--catalog-ink)}.calendar-controls button{cursor:pointer}.calendar-controls button:disabled{color:var(--catalog-muted);background:var(--catalog-header);cursor:default}.calendar-source,.calendar-explanation{font-size:14px;line-height:1.7;color:var(--catalog-muted);max-width:78ch}.school-month{width:100%;table-layout:fixed;border-collapse:collapse;background:white}.school-month caption{text-align:left;text-transform:capitalize;font-size:26px;font-weight:800;color:var(--catalog-ink);padding:16px 0}.school-month th{padding:12px 4px;background:var(--catalog-header)}.school-month td{vertical-align:top;border:1px solid var(--catalog-line);padding:12px;height:110px}.school-month time{font-weight:750;font-size:18px}.school-month abbr{text-decoration:none}.calendar-marked{background:#e7f3ff}.calendar-day-events,.calendar-commemoration{display:block;font-size:12px;line-height:1.5;margin-top:8px;overflow-wrap:anywhere;color:#173b64}.school-month [aria-current=date]{outline:2px solid #075bc7;outline-offset:-3px}.calendar-today-label{display:block;font-size:12px;font-weight:700;color:#0752a3}.calendar-empty{background:#f5f7fa}.calendar-event-list{list-style:none;padding:0;margin:16px 0;display:grid;gap:0}.calendar-event-list li{padding:16px 0;border-bottom:1px solid var(--catalog-line)}.calendar-event-list strong,.calendar-event-list span{display:block;line-height:1.6}.calendar-event-list span{color:var(--catalog-muted);font-size:15px}.calendar-event-list .calendar-current{font-weight:700;color:#0752a3}.school-calendar .calendar-event-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.school-calendar .calendar-event-list strong{font-size:16px}.calendar-explanation{margin-top:16px}
@media(max-width:760px){.school-calendar .calendar-event-list{grid-template-columns:1fr;gap:0}.calendar-controls{display:grid;grid-template-columns:1fr 1fr}.calendar-controls label{grid-column:1/-1}.calendar-controls select{width:100%}.school-month td{padding:6px 2px;height:64px;text-align:center}.school-month th{font-size:12px}.school-month time{font-size:16px}.calendar-day-events,.calendar-commemoration{position:absolute;clip-path:inset(50%);height:1px;width:1px;overflow:hidden}.calendar-marked time{display:block;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:5px}.calendar-today-label{font-size:10px}}

/* Agenda de portada: fondo suave, fechas como puntos de entrada. */
.home-page .school-calendar{background:#eaf3fc;color:#173b64;border:0;border-radius:16px;padding:32px 36px;margin:32px 0}
.home-page .school-calendar .section-heading h2{color:#173b64;font-size:28px}
.home-page .school-calendar .section-heading p,.home-page .school-calendar .calendar-source{color:#4d6580}
.home-page .school-calendar .calendar-event-list{gap:26px;margin:24px 0}
.home-page .school-calendar .calendar-event-list li{display:flex;align-items:flex-start;gap:16px;border:0;padding:0;min-width:0}
.home-page .school-calendar .agenda-date{flex:none;width:64px;padding:10px 6px;border-radius:12px;background:#d0eee9;color:#124e53;text-align:center}
.home-page .school-calendar .agenda-date b{display:block;font-size:30px;line-height:1.15;font-weight:850}
.home-page .school-calendar .agenda-date span{font-size:13px;font-weight:800;text-transform:uppercase;color:#124e53;line-height:1.4}
.home-page .school-calendar .agenda-copy{min-width:0}
.home-page .school-calendar .agenda-copy strong{font-size:16px;color:#173b64;line-height:1.45;margin-bottom:8px}
.home-page .school-calendar .agenda-copy span{color:#4d6580;font-size:14px;line-height:1.55}
.home-page .school-calendar .agenda-copy .calendar-current{color:#175f59;font-weight:800}
.home-page .school-calendar .program-grade-link{background:#075bc7;color:#fff;padding:12px 20px;border:0;border-radius:8px;margin-top:16px;text-decoration:none;min-height:46px}
.home-page .school-calendar .program-grade-link:hover{background:#084996}
.home-page .school-calendar :focus-visible{outline-color:#175f59}
@media(max-width:1000px){.home-page .school-calendar .calendar-event-list{grid-template-columns:1fr;gap:24px}}
@media(max-width:760px){.home-page .school-calendar{padding:26px 22px}.home-page .school-calendar .section-heading h2{font-size:25px}.home-page .school-calendar .calendar-source{font-size:13px}}
