:root {
    --wc-bg: #edf5ff;
    --wc-surface: #ffffff;
    --wc-surface-soft: #f7fbff;
    --wc-ink: #182230;
    --wc-muted: #5f6f86;
    --wc-line: #d7e5f5;
    --wc-brand: #3d8bfd;
    --wc-brand-dark: #216fd8;
    --wc-sidebar: #d9ecff;
    --wc-sidebar-deep: #c6e2ff;
    --wc-shadow: 0 20px 48px rgba(34, 95, 170, .10);
    --wc-shadow-soft: 0 10px 24px rgba(34, 95, 170, .08);
    --wc-radius: 8px;
    --wc-topbar-height: 76px;
    --wc-space-1: .25rem;
    --wc-space-2: .5rem;
    --wc-space-3: .75rem;
    --wc-space-4: 1rem;
    --wc-space-5: 1.25rem;
    --wc-space-6: 1.5rem;
    --wc-space-7: 1.75rem;
    --wc-space-8: 2rem;
}

html,
body {
    min-height: 100%;
}

body {
    color: var(--wc-ink);
    background:
        radial-gradient(circle at top left, rgba(61, 139, 253, .10), transparent 26rem),
        linear-gradient(180deg, #f7fbff 0%, var(--wc-bg) 100%);
    font-family: "Plus Jakarta Sans", "Segoe UI", sans-serif;
    font-size: .97rem;
    line-height: 1.65;
    text-rendering: optimizeLegibility;
}

a {
    text-decoration: none;
}

.display-6,
.display-5,
h1,
h2,
h3,
h4,
h5,
h6,
.navbar-brand,
.btn,
.country-nav-title,
.country-park-link {
    letter-spacing: 0;
}

.app-topbar {
    position: sticky;
    top: 0;
    z-index: 1030;
    min-height: var(--wc-topbar-height);
    border-bottom: 1px solid rgba(215, 229, 245, .92);
    background: rgba(255, 255, 255, .92);
    backdrop-filter: blur(14px);
}

.topbar-inner {
    display: flex;
    align-items: center;
    gap: var(--wc-space-4);
    min-height: var(--wc-topbar-height);
    padding: .8rem var(--wc-space-6);
}

.brand-lockup {
    display: inline-flex;
    align-items: center;
    gap: var(--wc-space-4);
    color: var(--wc-ink);
}

.brand-lockup strong {
    display: block;
    font-size: 1.02rem;
    font-weight: 800;
    line-height: 1.1;
}

.brand-lockup small {
    display: block;
    margin-top: .2rem;
    color: var(--wc-muted);
    font-size: .82rem;
    font-weight: 600;
    line-height: 1.3;
}

.brand-mark {
    display: inline-grid;
    place-items: center;
    width: 2.4rem;
    height: 2.4rem;
    color: #fff;
    background: linear-gradient(145deg, #5fb2ff, var(--wc-brand-dark));
    border-radius: var(--wc-radius);
    box-shadow: var(--wc-shadow-soft);
    font-weight: 800;
}

.brand-badge {
    align-items: center;
    padding: .55rem .85rem;
    color: var(--wc-brand-dark);
    background: #edf5ff;
    border: 1px solid #cfe2fb;
    border-radius: var(--wc-radius);
    font-size: .8rem;
    font-weight: 700;
}

.app-shell {
    display: grid;
    grid-template-columns: minmax(300px, 340px) minmax(0, 1fr);
    align-items: start;
}

.park-sidebar {
    position: sticky;
    top: var(--wc-topbar-height);
    height: calc(100vh - var(--wc-topbar-height));
    overflow: hidden;
    border-right: 1px solid #c1daf8;
    background: linear-gradient(180deg, var(--wc-sidebar) 0%, var(--wc-sidebar-deep) 100%);
    box-shadow: inset -1px 0 0 rgba(255, 255, 255, .55), 18px 0 40px rgba(34, 95, 170, .08);
}

.country-nav {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 100%;
}

.sidebar-head {
    display: grid;
    gap: .2rem;
    padding: var(--wc-space-6);
    border-bottom: 1px solid rgba(255, 255, 255, .65);
    background: rgba(255, 255, 255, .14);
}

.sidebar-head strong {
    font-size: 1.18rem;
    font-weight: 800;
}

.country-nav-list {
    overflow: auto;
    padding: var(--wc-space-4);
}

.country-nav-group + .country-nav-group {
    margin-top: var(--wc-space-2);
}

.country-nav-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--wc-space-3);
    padding: .88rem .9rem;
    color: #123053;
    border: 1px solid transparent;
    border-radius: var(--wc-radius);
    font-size: .92rem;
    font-weight: 800;
    text-transform: uppercase;
}

.country-title-text {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    min-width: 0;
}

.flag {
    display: inline-grid;
    place-items: center;
    width: 1.35rem;
    font-size: 1.08rem;
}

.country-count {
    min-width: 2rem;
    padding: .18rem .42rem;
    color: #154f95;
    background: rgba(255, 255, 255, .72);
    border-radius: var(--wc-radius);
    text-align: center;
    font-size: .76rem;
    font-weight: 800;
}

.country-nav-title:hover,
.country-nav-title.is-active {
    color: #0f2d4b;
    background: rgba(255, 255, 255, .74);
    border-color: rgba(255, 255, 255, .92);
    box-shadow: var(--wc-shadow-soft);
}

.country-park-links {
    display: grid;
    gap: .25rem;
    margin: .28rem 0 .85rem 2rem;
}

.country-park-link {
    display: flex;
    align-items: center;
    gap: .55rem;
    padding: .55rem .72rem;
    color: #234262;
    border-radius: var(--wc-radius);
    font-size: .95rem;
    font-weight: 600;
}

.country-park-link i {
    color: var(--wc-brand-dark);
    font-size: .76rem;
}

.country-park-link:hover,
.country-park-link.is-active {
    color: #11365d;
    background: rgba(255, 255, 255, .72);
}

.country-empty {
    margin: .25rem 0 .85rem 2.72rem;
    color: #3d5f83;
    font-size: .86rem;
}

.park-submenu {
    display: grid;
    gap: .2rem;
    margin: .15rem 0 .8rem 2.75rem;
}

.park-submenu-link {
    padding: .38rem .6rem;
    color: #365272;
    border-radius: var(--wc-radius);
    font-size: .86rem;
    font-weight: 700;
}

.park-submenu-link:hover,
.park-submenu-link.is-active {
    color: #11365d;
    background: rgba(255, 255, 255, .72);
}

.app-main {
    min-width: 0;
    padding: var(--wc-space-6);
}

.surface-card,
.search-panel,
.content-hero,
.content-section,
.metric-tile,
.stat-card,
.top-park-card,
.app-intro,
.park-head {
    border: 1px solid var(--wc-line);
    border-radius: var(--wc-radius);
    background: rgba(255, 255, 255, .95);
    box-shadow: var(--wc-shadow);
}

.content-hero,
.park-head {
    padding: var(--wc-space-8);
}

.content-section {
    margin-top: var(--wc-space-6);
    padding: var(--wc-space-7);
}

.compact-search,
.search-panel {
    padding: var(--wc-space-6);
    background: var(--wc-surface-soft);
    box-shadow: none;
}

.intro-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(22rem, 34rem);
    gap: var(--wc-space-7);
    align-items: start;
}

.intro-hero .lead {
    max-width: 52rem;
    margin-bottom: var(--wc-space-5);
    color: var(--wc-muted);
}

.benefit-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--wc-space-3);
}

.benefit-list span {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .62rem .88rem;
    color: var(--wc-brand-dark);
    border: 1px solid #cfe2fb;
    border-radius: var(--wc-radius);
    background: #eef6ff;
    font-size: .9rem;
    font-weight: 700;
}

.eyebrow {
    color: var(--wc-brand-dark);
    font-size: .76rem;
    font-weight: 800;
    text-transform: uppercase;
}

.section-title {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--wc-space-5);
    margin-bottom: var(--wc-space-6);
}

.section-title .h4,
.section-title h2 {
    margin-bottom: 0;
}

.btn {
    min-height: 2.7rem;
    padding: .72rem 1rem;
    border-radius: var(--wc-radius);
    font-size: .9rem;
    font-weight: 700;
    text-transform: none;
}

.btn-primary {
    --bs-btn-bg: var(--wc-brand);
    --bs-btn-border-color: var(--wc-brand);
    --bs-btn-hover-bg: var(--wc-brand-dark);
    --bs-btn-hover-border-color: var(--wc-brand-dark);
    --bs-btn-active-bg: var(--wc-brand-dark);
    --bs-btn-active-border-color: var(--wc-brand-dark);
    box-shadow: 0 10px 24px rgba(61, 139, 253, .22);
}

.btn-outline-secondary {
    --bs-btn-color: #365272;
    --bs-btn-border-color: #cfe0f5;
    --bs-btn-hover-color: #173251;
    --bs-btn-hover-bg: #edf5ff;
    --bs-btn-hover-border-color: #b8d4f6;
}

.form-label {
    margin-bottom: .55rem;
    color: #24364d;
    font-size: .9rem;
    font-weight: 700;
}

.form-control,
.form-select,
.input-group-text,
.accordion-item,
.accordion-button {
    border-color: #d9e6f3;
}

.form-control,
.form-select,
.input-group-text {
    min-height: 3rem;
    padding-inline: .95rem;
    border-radius: var(--wc-radius);
    font-size: .95rem;
}

.input-group-text {
    background: #fff;
}

.regional-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--wc-space-6);
}

.compact-section {
    padding-top: var(--wc-space-6);
    padding-bottom: var(--wc-space-6);
}

.park-quick-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--wc-space-4);
    min-width: min(100%, 24rem);
}

.park-facts {
    display: grid;
    gap: .45rem;
    margin-top: var(--wc-space-5);
}

.park-fact {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    color: #31445d;
    font-size: .95rem;
    font-weight: 600;
    line-height: 1.55;
}

.park-fact i {
    flex: 0 0 auto;
    margin-top: .12rem;
    color: var(--wc-brand-dark);
    font-size: .98rem;
}

.top-park-card {
    overflow: hidden;
    background: #f8fbff;
}

.top-park-header {
    display: flex;
    align-items: center;
    gap: var(--wc-space-3);
    padding: var(--wc-space-5) var(--wc-space-6);
    border-bottom: 1px solid var(--wc-line);
    background: #f3f8ff;
    font-size: .98rem;
    font-weight: 700;
}

.top-park-header i {
    color: var(--wc-brand-dark);
}

.top-park-table {
    display: grid;
}

.top-park-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 5.5rem;
    align-items: center;
    gap: var(--wc-space-4);
    min-height: 3.7rem;
    padding: var(--wc-space-4) var(--wc-space-6);
    border-bottom: 1px solid var(--wc-line);
    background: rgba(255, 255, 255, .88);
}

.top-park-row:nth-child(odd):not(.table-head) {
    background: #ffffff;
}

.top-park-row.table-head {
    min-height: auto;
    color: #223550;
    background: transparent;
    font-size: .88rem;
    font-weight: 800;
}

.top-park-row .wait-pill {
    justify-self: end;
}

.card-note {
    margin: var(--wc-space-4) var(--wc-space-6) 0;
    color: var(--wc-muted);
    text-align: right;
    font-size: .84rem;
}

.top-park-actions {
    display: flex;
    justify-content: center;
    padding: var(--wc-space-6);
}

.empty-state {
    margin: var(--wc-space-6);
    padding: var(--wc-space-5);
    color: var(--wc-muted);
    border: 1px dashed #bfd7f3;
    border-radius: var(--wc-radius);
    background: #ffffff;
}

.result-list {
    display: grid;
    gap: var(--wc-space-4);
}

.result-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--wc-space-4);
    padding: var(--wc-space-5);
    color: var(--wc-ink);
    border: 1px solid var(--wc-line);
    border-radius: var(--wc-radius);
    background: #ffffff;
}

.result-row:hover {
    color: #173251;
    border-color: #bfd7f3;
    box-shadow: var(--wc-shadow-soft);
}

.result-row small {
    display: block;
    margin-top: .1rem;
    color: var(--wc-muted);
}

.metric-tile {
    display: block;
    padding: var(--wc-space-5);
    color: inherit;
}

.metric-tile:hover {
    box-shadow: var(--wc-shadow-soft);
}

.metric-tile strong,
.metric-tile span {
    display: block;
}

.metric-value {
    margin: .7rem 0 .35rem;
    color: var(--wc-brand-dark);
    font-size: 2rem;
    font-weight: 800;
}

.stat-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--wc-space-4);
}

.stat-card {
    padding: var(--wc-space-5);
    background: #f8fbff;
}

.stat-card span {
    display: block;
    color: var(--wc-muted);
    font-size: .86rem;
}

.stat-card strong {
    display: block;
    margin-top: .3rem;
    font-size: clamp(1.45rem, 4vw, 2rem);
    font-weight: 800;
}

.top-rides,
.load-bars,
.ride-grid {
    display: grid;
    gap: var(--wc-space-4);
}

.live-rides-list {
    display: grid;
    gap: var(--wc-space-4);
}

.live-ride-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--wc-space-5);
    width: 100%;
    padding: var(--wc-space-5);
    border: 1px solid var(--wc-line);
    border-radius: var(--wc-radius);
    background: #fbfdff;
    color: inherit;
    text-align: left;
}

.live-ride-row:hover {
    color: inherit;
    border-color: #bfd7f3;
    background: #f5faff;
    box-shadow: var(--wc-shadow-soft);
}

.live-ride-main h3 {
    margin: 0 0 .18rem;
    color: var(--wc-ink);
    font-size: 1.1rem;
    font-weight: 800;
}

.live-ride-main p,
.ride-update {
    margin: 0;
    color: var(--wc-muted);
    font-size: .9rem;
}

.live-ride-meta {
    display: flex;
    align-items: center;
    gap: var(--wc-space-3);
}

.live-ride-chevron {
    color: var(--wc-muted);
}

.ride-page-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(16rem, .7fr);
    gap: var(--wc-space-5);
}

.ride-detail-facts {
    display: grid;
    gap: var(--wc-space-3);
}

.ride-detail-stat {
    display: grid;
    gap: .2rem;
    padding: var(--wc-space-4);
    border: 1px solid var(--wc-line);
    border-radius: var(--wc-radius);
    background: #f8fbff;
}

.ride-detail-stat span {
    color: var(--wc-muted);
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
}

.ride-detail-stat strong {
    color: var(--wc-ink);
    font-size: .98rem;
    font-weight: 800;
    line-height: 1.45;
}

.ride-chart-card {
    display: grid;
    gap: var(--wc-space-4);
    min-height: 18rem;
    padding: var(--wc-space-5);
    border: 1px solid var(--wc-line);
    border-radius: var(--wc-radius);
    background: #fbfdff;
}

.ride-chart-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--wc-space-3);
}

.ride-chart-head strong {
    color: var(--wc-ink);
    font-size: .98rem;
    font-weight: 800;
}

.ride-chart-head span {
    color: var(--wc-muted);
    font-size: .84rem;
}

.ride-history-chart {
    width: 100%;
    height: 15rem !important;
}

.history-table {
    overflow: hidden;
    border: 1px solid var(--wc-line);
    border-radius: var(--wc-radius);
}

.history-row {
    display: grid;
    grid-template-columns: 8rem 1fr 7rem;
    gap: var(--wc-space-4);
    padding: .9rem var(--wc-space-5);
    border-bottom: 1px solid var(--wc-line);
    background: #fff;
}

.history-row:last-child {
    border-bottom: 0;
}

.history-head {
    color: var(--wc-ink);
    background: #f6faff;
    font-weight: 800;
}

.compact-empty {
    margin: 0;
}

.calendar-nav {
    display: flex;
    align-items: center;
    gap: var(--wc-space-3);
    flex-wrap: wrap;
}

.calendar-nav-wrap {
    display: grid;
    gap: var(--wc-space-4);
    min-width: min(100%, 28rem);
}

.calendar-picker {
    padding: var(--wc-space-4);
    border: 1px solid var(--wc-line);
    border-radius: var(--wc-radius);
    background: #f8fbff;
}

.calendar-picker-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--wc-space-4);
}

.calendar-board {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid var(--wc-line);
    border-radius: var(--wc-radius);
}

.calendar-mobile-list {
    display: none;
    gap: var(--wc-space-3);
}

.calendar-weekday {
    padding: var(--wc-space-4);
    border-right: 1px solid var(--wc-line);
    background: #f6faff;
    font-weight: 800;
}

.calendar-weekday:last-child {
    border-right: 0;
}

.calendar-cell {
    display: grid;
    align-content: start;
    gap: .45rem;
    min-height: 9.5rem;
    padding: var(--wc-space-4);
    border-top: 1px solid rgba(255, 255, 255, .3);
    border-right: 1px solid rgba(255, 255, 255, .3);
}

.calendar-day-number {
    display: inline-grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    color: #18314c;
    background: rgba(255, 255, 255, .86);
    border-radius: 999px;
    font-weight: 800;
}

.calendar-crowd,
.calendar-hours,
.calendar-note {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    width: fit-content;
    max-width: 100%;
    padding: .3rem .48rem;
    background: rgba(255, 255, 255, .9);
    border-radius: 6px;
    font-size: .85rem;
    font-weight: 700;
}

.calendar-hours,
.calendar-note {
    color: #30465f;
    font-size: .8rem;
}

.calendar-quiet { background: #84cc16; }
.calendar-light { background: #d9f400; }
.calendar-medium { background: #facc15; }
.calendar-busy { background: #fb923c; }
.calendar-very-busy { background: #f97316; }
.calendar-closed { background: #e5e7eb; }
.calendar-unknown,
.calendar-outside { background: #f3f4f6; }

.calendar-cell.is-outside {
    opacity: .55;
}

.calendar-mobile-card {
    padding: var(--wc-space-4);
    border-radius: var(--wc-radius);
    border: 1px solid rgba(255, 255, 255, .25);
}

.calendar-mobile-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--wc-space-3);
    margin-bottom: var(--wc-space-3);
}

.calendar-mobile-head strong {
    color: #18314c;
    font-size: .96rem;
    font-weight: 800;
}

.calendar-mobile-badges {
    display: flex;
    flex-wrap: wrap;
    gap: var(--wc-space-2);
}

.calendar-legend {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: var(--wc-space-4);
    align-items: center;
    margin-top: var(--wc-space-5);
}

.legend-bar {
    height: 1rem;
    border-radius: 999px;
    background: linear-gradient(90deg, #67c10b 0%, #d8f200 35%, #ffc107 65%, #f97316 100%);
}

.legend-title {
    font-weight: 700;
}

.calendar-notes {
    margin-top: var(--wc-space-5);
    padding: var(--wc-space-5);
    border: 1px solid var(--wc-line);
    border-radius: var(--wc-radius);
    background: #f8fbff;
}

.attendance-chart-card {
    min-height: 22rem;
}

.top-ride,
.ride-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--wc-space-5);
    padding: var(--wc-space-5);
    border: 1px solid var(--wc-line);
    border-radius: var(--wc-radius);
    background: #fbfdff;
}

.top-ride strong,
.ride-card h4,
.load-row strong {
    color: var(--wc-ink);
    font-weight: 800;
}

.load-row strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 5.4rem;
    padding: .45rem .7rem;
    color: #fff;
    background: #2f6fdf;
    border-radius: var(--wc-radius);
    font-size: .98rem;
    line-height: 1;
    box-shadow: var(--wc-shadow-soft);
}

.top-ride span,
.ride-card p,
.park-row small {
    display: block;
    color: var(--wc-muted);
}

.ride-card h4 {
    margin: 0 0 .3rem;
    font-size: 1rem;
    font-weight: 700;
}

.ride-card p {
    margin: 0;
    font-size: .88rem;
}

.wait-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 5.4rem;
    min-height: 3rem;
    padding: .62rem .95rem;
    border-radius: var(--wc-radius);
    text-align: center;
    font-size: 1.16rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: .01em;
    white-space: nowrap;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .18);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 8px 18px rgba(0, 0, 0, .08);
}

.wait-danger {
    color: #fff !important;
    background: #b42318;
}

.wait-warning {
    color: #fff !important;
    background: #c96a00;
}

.wait-success {
    color: #fff !important;
    background: #0f6b3d;
}

.wait-secondary {
    color: #fff !important;
    background: #344054;
}

.top-ride .wait-pill,
.top-park-row .wait-pill,
.ride-card .wait-pill {
    min-width: 5.8rem;
    font-size: 1.2rem;
}

.wait-pill,
.wait-pill:hover,
.wait-pill:focus,
.top-ride .wait-pill,
.top-park-row .wait-pill,
.ride-card .wait-pill {
    color: #fff !important;
}

.progress {
    height: .6rem;
    margin-top: .55rem;
    border-radius: 999px;
    background: #e8f0fa;
}

.attraction-filter {
    max-width: 28rem;
}

.area-accordion {
    overflow: hidden;
    border: 1px solid var(--wc-line);
    border-radius: var(--wc-radius);
}

.accordion-button {
    padding: 1rem 1.2rem;
    font-weight: 700;
}

.accordion-button:not(.collapsed) {
    color: var(--wc-brand-dark);
    background: #f5f9ff;
}

.app-footer {
    margin-top: var(--wc-space-7);
    padding-top: var(--wc-space-5);
    border-top: 1px solid var(--wc-line);
}

.qt-powered {
    color: var(--wc-brand-dark);
    font-weight: 700;
}

.installer-body {
    min-height: 100vh;
}

.offcanvas {
    background: linear-gradient(180deg, var(--wc-sidebar) 0%, var(--wc-sidebar-deep) 100%);
}

.offcanvas .country-nav-list {
    max-height: calc(100vh - 5rem);
}

@media (max-width: 991.98px) {
    .app-shell {
        display: block;
    }

    .app-main {
        padding: var(--wc-space-4);
    }

    .topbar-inner {
        padding: .8rem var(--wc-space-4);
    }

    .intro-hero {
        grid-template-columns: 1fr;
    }

    .content-hero,
    .content-section,
    .park-head {
        padding: var(--wc-space-5);
    }

    .section-title {
        align-items: flex-start;
        flex-direction: column;
    }

    .regional-grid {
        grid-template-columns: 1fr;
    }

    .ride-page-grid {
        grid-template-columns: 1fr;
    }

    .calendar-board {
        grid-template-columns: repeat(7, minmax(7rem, 1fr));
        overflow-x: auto;
    }

    .calendar-nav-wrap {
        min-width: 100%;
    }

    .brand-lockup small,
    .brand-badge {
        display: none;
    }
}

@media (max-width: 575.98px) {
    .display-6,
    .display-5 {
        font-size: 1.9rem;
    }

    .content-hero,
    .content-section,
    .park-head,
    .compact-search,
    .search-panel {
        padding: var(--wc-space-4);
    }

    .top-park-row,
    .live-ride-row,
    .history-row,
    .result-row,
    .top-ride,
    .ride-card {
        gap: var(--wc-space-3);
    }

    .live-ride-row {
        grid-template-columns: 1fr;
        align-items: flex-start;
    }

    .live-ride-meta {
        width: 100%;
        justify-content: space-between;
    }

    .top-ride,
    .ride-card {
        align-items: flex-start;
        flex-direction: column;
    }

    .park-quick-stats {
        grid-template-columns: 1fr;
    }

    .history-row {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .calendar-nav {
        width: 100%;
        justify-content: space-between;
    }

    .calendar-picker-grid {
        grid-template-columns: 1fr 1fr;
    }

    .wait-pill {
        width: 100%;
    }
}

@media (max-width: 420px) {
    .calendar-picker-grid {
        grid-template-columns: 1fr;
    }

    .calendar-nav {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .calendar-board {
        display: none;
    }

    .calendar-mobile-list {
        display: grid;
        margin-top: var(--wc-space-4);
    }
}
