/* ---- events.css ---- */
/* Events page */
body .sl .stat-row { display: flex; gap: clamp(20px, 3vw, 40px); flex-wrap: wrap; }
body .sl .stat-row .stat b { font-size: 2.6rem; }
body .sl .page-events .event-card h3 { font-size: 1.8rem; }
body .sl .page-events .sec-grid .elementor-widget-image img { aspect-ratio: 1; }

/* ---- gallery.css ---- */
/* Gallery page */
body .sl .page-gallery .gallery-grid { grid-auto-flow: dense; }

/* ---- menu.css ---- */
/* Menu page */
body .sl .sec-menu-nav { position: sticky; top: var(--header-h); z-index: 30; background: var(--sl-black); padding: 14px 0; }
body .sl .page-menu .sec-grid .w-sub .elementor-heading-title { font-size: clamp(2.2rem, 3vw, 3rem); }
body .sl .menu-daily { font-size: 1.05rem; letter-spacing: .04em; }
body .sl .menu-daily strong { font-family: var(--font-display); font-weight: 400; font-size: 1.5rem; letter-spacing: .08em; color: var(--sl-red-hot); margin-right: 10px; }
body .sl .w-menu-item .elementor-heading-title { font-size: 1.7rem; letter-spacing: .05em; color: #fff; }
body .sl .elementor-widget-heading.w-menu-item:not(:last-child) { margin-bottom: 4px; }
body .sl .page-menu .sec-menu .elementor-widget-text-editor.w-mist:not(:last-child) { margin-bottom: 22px; padding-bottom: 18px; border-bottom: 1px solid var(--sl-line); }
body .sl .sec-menu .elementor-widget-text-editor p.menu-note--opts { margin-top: 18px; font-style: normal; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; font-size: .74rem; color: var(--sl-red-hot); }
body .sl .btn-row { display: flex; flex-wrap: wrap; gap: 12px; }
body .sl .btn-row--center { justify-content: center; }
body .sl .sec--red .elementor-widget-text-editor, body .sl .sec--red .w-eyebrow .elementor-heading-title { color: #fff; }
body .sl .sec--red .btn--ghost:hover { color: var(--sl-red); }
body .sl .menu-print { font-size: .9rem; color: rgba(255,255,255,.85); }
body .sl .sec--red .elementor-widget-text-editor a { color: #fff; }
body .sl .page-menu .sec-menu .col-box .elementor-widget-wrap { height: auto; }
@media (max-width: 767px) {
  body .sl .sec-menu-nav { position: static; }
  body .sl .menu-nav { justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter); }
  body .sl .menu-nav::-webkit-scrollbar { display: none; }
  body .sl .menu-nav a { white-space: nowrap; flex: 0 0 auto; }
}

/* ---- shared.css ---- */
/* Shared page pieces (btn rows, hero cta, red sections) */
body .sl .btn-row { display: flex; flex-wrap: wrap; gap: 12px; }
body .sl .btn-row--center { justify-content: center; }
body .sl .sec-page-hero .btn-row { margin-top: 8px; }
body .sl .sec--red .elementor-widget-text-editor, body .sl .sec--red .w-eyebrow .elementor-heading-title, body .sl .sec--red .elementor-widget-heading .elementor-heading-title { color: #fff; }
body .sl .sec--red .elementor-widget-text-editor a { color: #fff; }
body .sl .sec--red .btn--ghost:hover { color: var(--sl-red); }
body .sl .sec--red .big-phone:hover { color: #000; }
body .sl .col-gap .elementor-col-40, body .sl .col-gap .elementor-col-60 { flex-basis: auto; }
body .sl .col-gap > .elementor-container > .elementor-col-40 { flex: 0 0 calc(40% - 24px); }
body .sl .col-gap > .elementor-container > .elementor-col-60 { flex: 0 0 calc(60% - 24px); }
body .sl .sec-grid .elementor-widget-image:not(:last-child) { margin-bottom: 22px; }
@media (max-width: 767px) {
  body .sl .col-gap > .elementor-container > .elementor-col-40, body .sl .col-gap > .elementor-container > .elementor-col-60 { flex: 0 0 auto; width: 100%; }
}
