/* Events hub and archived gala details use the site's existing type and colors. */
.sa-events-hub [hidden]{display:none!important}
.sa-events-hub .sa-calendar-heading{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;margin:1.75rem 0 1rem}
.sa-calendar-heading h3{font-size:clamp(1.35rem,3vw,1.85rem);margin:0;text-transform:capitalize}
.sa-calendar-controls{display:flex;gap:.5rem;align-items:center}
.sa-calendar-controls button{font:inherit;font-size:.95rem;min-width:44px;min-height:44px;padding:.5rem .75rem;border:1px solid var(--sa-line,#ccc);border-radius:3px;background:var(--sa-surface,#fff);color:var(--sa-ink,#171719);cursor:pointer}
.sa-calendar-controls button:hover{border-color:var(--sa-red);background:#c919240c}
.sa-calendar-controls button:focus-visible,.sa-calendar-event:focus-visible,.gala-archive summary:focus-visible{outline:3px solid var(--sa-red);outline-offset:3px}
.sa-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;border:1px solid var(--sa-line,#ccc);background:var(--sa-line,#ccc);overflow:hidden;border-radius:4px}
.sa-calendar-weekday{padding:.7rem .25rem;font-size:.8rem;text-align:center;font-weight:700;background:var(--sa-surface,#fff)}
.sa-calendar-day,.sa-calendar-blank{min-width:0;min-height:105px;padding:.5rem;background:var(--sa-surface,#fff)}
.sa-calendar-blank{background:var(--sa-paper,#f6f6f6)}
.sa-calendar-number{display:grid;place-items:center;width:1.8rem;height:1.8rem;font-size:.9rem;font-weight:600}
.sa-calendar-day.is-today .sa-calendar-number{background:var(--sa-red);border-radius:50%;color:#fff}
.sa-calendar-event{display:block;padding:.35rem .4rem;margin-top:.2rem;background:#c919240c;border-left:2px solid var(--sa-red);color:var(--sa-ink);font-size:.72rem;line-height:1.35;text-decoration:none;overflow-wrap:anywhere}
.sa-calendar-event:hover{text-decoration:underline}
.sa-calendar-dot{display:none}
.sa-calendar-agenda-title{font-size:1.15rem;margin:1.75rem 0 0;text-transform:none}
.sa-calendar-agenda{margin-top:0}
.sa-calendar-agenda .sa-event-row h4{font-size:1.25rem;line-height:1.35;margin:0 0 .4rem}
.sa-calendar-agenda .sa-event-row{scroll-margin-top:2rem}
.sa-calendar-range{font-size:.85rem!important;margin-top:.35rem}
.sa-event-state{display:inline-block;font-size:.75rem;font-weight:700;line-height:1.4;padding:.25rem .5rem;margin-top:.6rem;border:1px solid var(--sa-line);border-radius:3px}
.sa-calendar-empty{padding:1.25rem 0}
.sa-calendar-source{font-size:.9rem!important;margin-top:1.2rem}
.sa-gala-recap-card{padding:1.5rem;margin:1.5rem 0 2rem;border:1px solid var(--sa-line);border-top:3px solid var(--sa-red);border-radius:4px}
.sa-gala-recap-card h3{font-size:1.5rem;margin:.5rem 0 1rem}
.sa-gala-recap-card p{max-width:52rem}
.sa-gala-recap-card .wp-block-buttons{margin-top:1.25rem}
.gala-next-year{padding:1rem 1.25rem;border-left:3px solid var(--sa-red);background:#c9192409;margin-top:1.5rem;max-width:46rem}
.sa-gala-page .gala-next-year p{margin:0;font-size:1rem}
.gala-next-year strong{display:block;font-size:1.1rem;margin-bottom:.3rem}
.gala-archive{padding-block:1.5rem 2.5rem;border-top:1px solid var(--gala-rule)}
.gala-archive>summary{cursor:pointer;padding:.75rem 0;font-size:1.2rem;font-weight:700;min-height:44px}
.gala-archive-body{padding-top:1rem}
.gala-archive-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem;align-items:start}
.gala-archive .gala-invitation{width:100%;max-width:30rem;margin:0 auto}
.gala-archive .gala-invitation img{position:static;display:block;width:100%;max-width:100%;height:auto;object-fit:contain;aspect-ratio:auto;transform:none}
.gala-archive .sa-event-facts{margin-top:0}
.gala-archive .sa-event-facts>div{grid-template-columns:95px minmax(0,1fr)}
.gala-archive h3{font-size:1.15rem;margin:1.5rem 0 .75rem}
.gala-archive .gala-contact-grid p{font-size:1rem}
.gala-archive a,.gala-contact a{overflow-wrap:anywhere}
.gala-archive .sa-bullet-list{columns:2;column-gap:2rem}
.gala-archive-note{font-size:.9rem!important;padding:.75rem 1rem;border-left:3px solid #b99b55;background:#b99b550c}
html[data-theme="dark"] .sa-calendar-controls button,html[data-theme="dark"] .sa-calendar-weekday,html[data-theme="dark"] .sa-calendar-day{background:#000;color:#fff}
html[data-theme="dark"] .sa-calendar-blank{background:#121212}
html[data-theme="dark"] .sa-calendar-event{color:#fff;background:#c9192426}
html[data-theme="dark"] .gala-next-year{background:#c919241a}
@media(max-width:700px){.sa-calendar-day,.sa-calendar-blank{min-height:70px;padding:.2rem}.sa-calendar-event{height:24px;display:flex;align-items:center;justify-content:center;padding:0;border-left:0;margin-top:.1rem}.sa-calendar-event-title{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.sa-calendar-dot{display:block;background:var(--sa-red);width:6px;height:6px;border-radius:50%}.sa-calendar-number{width:1.6rem;height:1.6rem;font-size:.8rem}.sa-calendar-weekday{font-size:.7rem}.sa-gala-recap-card{padding:1.2rem}.gala-archive-layout{grid-template-columns:minmax(0,1fr)}.gala-archive .sa-bullet-list{columns:1}.gala-archive .sa-event-facts>div{grid-template-columns:85px minmax(0,1fr);gap:10px}}
