/* Mobile-first application layer */
:root {
    --wc-mobile-gutter: .75rem;
    --wc-mobile-nav-height: 4.35rem;
    --wc-topbar-height: 3.75rem;
    --wc-touch: 2.75rem;
}

html { overflow-x: clip; scroll-padding-top: calc(var(--wc-topbar-height) + .75rem); }
body { min-width: 0; overflow-x: clip; padding-bottom: calc(var(--wc-mobile-nav-height) + env(safe-area-inset-bottom)); font-size: .94rem; }
img, canvas, svg { max-width: 100%; }
h1, h2, h3, h4, h5, h6, p, li, dd, dt, a, button, label, strong, span { overflow-wrap: anywhere; }
button, input, select, textarea { font: inherit; }
.btn, .form-control, .form-select { min-height: var(--wc-touch); }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; padding-inline: .85rem; }
.btn-sm { min-height: 2.5rem; }
.form-control, .form-select { padding-block: .6rem; font-size: .9rem; }
.form-label, .member-form label { margin-bottom: .35rem; }
.alert { padding: .8rem; }

/* Mobile shell and thumb navigation */
.app-shell { display: block; min-height: 100dvh; }
.app-stage { width: 100%; min-width: 0; }
.app-topbar { min-height: var(--wc-topbar-height); }
.topbar-inner { width: 100%; min-height: var(--wc-topbar-height); gap: .45rem; padding: .45rem var(--wc-mobile-gutter); }
.topbar-inner > .menu-toggle, .topbar-inner > .global-search-trigger { display: none; }
.brand-lockup { min-width: 0; margin-right: auto; gap: .45rem; }
.brand-lockup .brand-mark { width: 2.35rem; height: 2.35rem; }
.brand-lockup strong { display: block; max-width: 9.5rem; overflow: hidden; font-size: .84rem; text-overflow: ellipsis; white-space: nowrap; }
.topbar-notifications, .site-user-menu > summary, .topbar-login { min-width: var(--wc-touch); min-height: var(--wc-touch); }
.topbar-notifications { width: var(--wc-touch); height: var(--wc-touch); }
.topbar-login { padding-inline: .65rem; }
.site-user-menu > summary { justify-content: center; padding: .2rem; }
.site-user-menu > summary img, .user-avatar-fallback { width: 2.15rem; height: 2.15rem; }
.site-user-menu nav { position: fixed; z-index: 1250; top: calc(var(--wc-topbar-height) + .45rem); right: .55rem; left: .55rem; width: auto; max-height: calc(100dvh - var(--wc-topbar-height) - var(--wc-mobile-nav-height) - 1.25rem); overflow-y: auto; padding: .45rem; }
.site-user-menu nav a, .site-user-menu nav button { min-height: var(--wc-touch); padding: .7rem .75rem; }

.mobile-app-nav { position: fixed; z-index: 1050; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); min-height: var(--wc-mobile-nav-height); padding: .35rem .35rem calc(.3rem + env(safe-area-inset-bottom)); border-top: 1px solid #c8d9d2; background: rgba(255, 255, 255, .98); box-shadow: 0 -8px 24px rgba(9, 33, 38, .12); backdrop-filter: blur(14px); }
.mobile-app-nav a, .mobile-app-nav button { display: grid; min-width: 0; min-height: 3.55rem; place-items: center; align-content: center; gap: .12rem; padding: .25rem .15rem; color: #536b66; border: 0; border-radius: 7px; background: transparent; font-size: .64rem; font-weight: 800; line-height: 1.1; text-align: center; }
.mobile-app-nav i { font-size: 1.1rem; }
.mobile-app-nav a.is-active, .mobile-app-nav button.is-active { color: #092126; background: #dff3e9; }
.mobile-app-nav a:focus-visible, .mobile-app-nav button:focus-visible { outline: 3px solid rgba(47, 112, 98, .25); outline-offset: -2px; }

.park-sidebar { position: fixed; z-index: 1200; inset: 0 auto 0 0; width: min(94vw, 24rem); height: 100dvh; transform: translateX(-105%); transition: transform .2s ease; box-shadow: 18px 0 45px rgba(0, 0, 0, .26); }
.park-sidebar.is-open { transform: translateX(0); }
.sidebar-brand-row { min-height: 4.4rem; }
.sidebar-brand { padding: .8rem 1rem; }
.sidebar-close-button { width: var(--wc-touch); height: var(--wc-touch); margin-right: .7rem; }
.sidebar-head { gap: .65rem; padding: .85rem; }
.sidebar-search { min-height: 3rem; padding-block: .65rem; font-size: .88rem; }
.country-nav-list { padding: .45rem .5rem calc(1rem + env(safe-area-inset-bottom)); }
.country-nav-title { min-height: 3rem; padding: .45rem .55rem; font-size: .78rem; }
.country-toggle { width: var(--wc-touch); height: var(--wc-touch); margin: -.3rem; }
.country-park-links { gap: .12rem; margin-left: .75rem; }
.country-park-link { min-height: var(--wc-touch); padding: .65rem .55rem; font-size: .84rem; }
.favorite-toggle { min-width: var(--wc-touch); min-height: var(--wc-touch); }
.park-submenu { margin-left: .9rem; }
.park-submenu-link { display: flex; min-height: var(--wc-touch); align-items: center; padding: .6rem .55rem; font-size: .76rem; }
.sidebar-saved-row a { display: flex; min-height: var(--wc-touch); align-items: center; }
.sidebar-saved-remove { width: var(--wc-touch); height: var(--wc-touch); }

.app-main { width: 100%; max-width: none; padding: var(--wc-mobile-gutter) var(--wc-mobile-gutter) calc(1.5rem + env(safe-area-inset-bottom)); }
.global-search-dialog { inset: .5rem; width: auto; max-width: none; height: calc(100dvh - var(--wc-mobile-nav-height) - 1rem); max-height: none; margin: 0; }
.global-search-head { padding: .8rem; }
.global-search-head button { width: var(--wc-touch); height: var(--wc-touch); }
.global-search-form { grid-template-columns: auto minmax(0, 1fr); margin: .75rem; padding: .35rem .35rem .35rem .7rem; }
.global-search-form input { min-height: var(--wc-touch); }
.global-search-form button { grid-column: 1 / -1; min-height: var(--wc-touch); }
.global-search-results { max-height: none; overflow-y: auto; padding: 0 .75rem .75rem; }
.global-result { min-height: 3.8rem; padding: .65rem .5rem; }

.privacy-consent { right: .5rem; bottom: calc(var(--wc-mobile-nav-height) + .5rem + env(safe-area-inset-bottom)); left: .5rem; display: grid; width: auto; max-height: min(58dvh, 30rem); overflow-y: auto; gap: .75rem; padding: .85rem; }
.privacy-consent p { margin-block: .3rem; font-size: .72rem; line-height: 1.45; }
.privacy-consent-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; }
.privacy-consent-actions .btn { min-width: 0; padding-inline: .45rem; }

/* Shared mobile content rhythm */
.home-dashboard, .park-dashboard, .ride-dashboard, .calendar-dashboard, .attendance-dashboard, .legal-dashboard, .member-dashboard, .member-public-page, .leaderboard-page { width: 100%; max-width: none; gap: .75rem; margin: 0; }
.dashboard-section, .wait-dashboard, .analytics-dashboard, .calendar-panel, .attendance-panel, .legal-page, .member-panel { min-width: 0; padding: .9rem; border-radius: 8px; }
.dashboard-section-head, .wait-dashboard-head, .ride-chart-head { align-items: flex-start; flex-direction: column; gap: .35rem; margin-bottom: .85rem; }
.dashboard-section-head > p { max-width: none; text-align: left; }
.dashboard-section-head h2, .wait-dashboard-head h2 { font-size: 1.3rem; line-height: 1.2; }
.eyebrow { margin-bottom: .3rem; font-size: .67rem; }
.empty-state { padding: 1rem; }

/* Home and park discovery */
.home-hero { padding: 1.1rem; }
.home-hero::after { right: -8rem; bottom: -7rem; opacity: .7; }
.home-hero h1 { font-size: 2rem; line-height: 1; }
.home-hero-copy > p:last-child { margin: .85rem 0 1rem; font-size: .86rem; line-height: 1.55; }
.home-finder { grid-template-columns: 1fr; gap: .65rem; width: 100%; padding: .7rem; }
.finder-field input, .finder-field select, .finder-submit { min-height: 3rem; font-size: .88rem; }
.finder-submit { width: 100%; }
.regional-grid, .country-directory-grid, .country-park-grid { grid-template-columns: 1fr; gap: .65rem; }
.top-park-card { min-width: 0; }
.top-park-header { align-items: flex-start; gap: .5rem; padding: .8rem; }
.top-park-header > div { min-width: 0; }
.top-park-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.top-park-summary > span { min-width: 0; padding: .65rem .35rem; text-align: center; }
.top-park-summary strong { font-size: .9rem; }
.top-park-row { grid-template-columns: minmax(0, 1fr) auto; min-height: 4.4rem; gap: .5rem; padding: .65rem .7rem; }
.top-park-row > span:first-child { min-width: 0; font-size: .83rem; }
.top-park-actions a { display: flex; min-height: var(--wc-touch); align-items: center; justify-content: center; }
.wait-pill { min-width: 5.6rem; min-height: 3rem; padding: .55rem .65rem; }
.wait-value { font-size: 1rem; }
.country-directory-card { min-height: 4.35rem; padding: .7rem; }
.results-hero { padding: 1rem; }
.results-hero h1 { font-size: 1.8rem; }
.back-link { display: inline-flex; min-height: var(--wc-touch); align-items: center; }
.results-toolbar { align-items: stretch; flex-direction: column; gap: .65rem; }
.results-toolbar label, .results-toolbar select { width: 100%; min-width: 0; }
.country-result-card { padding: .8rem; }
.country-result-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.country-result-stats > span { min-width: 0; padding-inline: .25rem; text-align: center; }
.result-action { min-height: var(--wc-touch); align-items: center; }

/* Park mode and attractions */
.park-overview-card, .detail-overview-card, .subpage-overview-card { padding: .9rem; }
.park-breadcrumbs { display: flex; min-height: var(--wc-touch); overflow-x: auto; align-items: center; margin: -.2rem -.2rem .55rem; padding: .2rem; white-space: nowrap; scrollbar-width: none; }
.park-breadcrumbs::-webkit-scrollbar { display: none; }
.park-breadcrumbs a, .park-breadcrumbs span { flex: 0 0 auto; }
.park-overview-main, .detail-overview-main, .subpage-title { align-items: flex-start; flex-direction: column; gap: .7rem; }
.park-title-block h1, .detail-overview-main h1, .subpage-title h1 { font-size: 1.75rem; line-height: 1.08; }
.park-title-block > p:last-child, .detail-overview-main > div > p:last-child, .subpage-title p { margin-bottom: 0; font-size: .83rem; }
.park-update-state, .current-ride-status { justify-items: start; text-align: left; }
.park-member-action { justify-content: stretch; }
.park-member-action .btn { width: 100%; }
.park-inline-context { display: grid; grid-template-columns: 1fr; gap: 0; margin-top: .7rem; }
.park-inline-context > span { min-height: var(--wc-touch); padding: .55rem 0; border-top: 1px solid #e1eae5; }
.park-visit-details > summary, .area-item > summary, .history-section > summary { min-height: var(--wc-touch); padding-block: .65rem; }
.park-condition-list { grid-template-columns: 1fr; }
.park-condition-list > div { min-height: var(--wc-touch); padding: .65rem 0 !important; border: 0 !important; border-top: 1px solid #e1eae5 !important; }
.park-page-tabs { position: sticky; z-index: 22; top: var(--wc-topbar-height); display: flex; overflow-x: auto; gap: .3rem; margin-inline: calc(var(--wc-mobile-gutter) * -1); padding: .4rem var(--wc-mobile-gutter); border-radius: 0; background: rgba(255, 255, 255, .98); box-shadow: 0 4px 12px rgba(9, 33, 38, .07); scrollbar-width: none; scroll-snap-type: x proximity; }
.park-page-tabs::-webkit-scrollbar { display: none; }
.park-page-tabs a { min-height: var(--wc-touch); flex: 0 0 auto; padding: .6rem .72rem; scroll-snap-align: start; font-size: .72rem; }
.wait-dashboard { padding: .8rem; }
.wait-summary, .analytics-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wait-summary > div, .analytics-kpi-grid > div { min-width: 0; min-height: 4.6rem; padding: .7rem; border: 1px solid #e1eae5 !important; }
.wait-summary strong, .analytics-kpi-grid strong { font-size: 1.2rem; }
.ride-controls { position: sticky; z-index: 18; top: calc(var(--wc-topbar-height) + 3.75rem); display: grid; gap: .45rem; margin: 0 -.3rem .65rem; padding: .5rem; border: 1px solid #dce6e0; border-radius: 8px; background: rgba(255, 255, 255, .98); box-shadow: 0 5px 14px rgba(9, 33, 38, .08); }
.ride-view-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; overflow: visible; }
.ride-view-tabs button { min-width: 0; min-height: var(--wc-touch); padding: .5rem .25rem; font-size: .7rem; white-space: normal; }
.ride-control-fields { display: grid; grid-template-columns: minmax(0, 1fr) 8.25rem; gap: .4rem; width: 100%; }
.filter-input-wrap, .ride-sort { min-width: 0; width: 100%; }
.attraction-filter, .ride-sort { min-height: var(--wc-touch); font-size: .78rem; }
.ride-list-head { display: none; }
.live-ride-row { grid-template-columns: minmax(0, 1fr) auto; min-height: 4.9rem; gap: .35rem .55rem; padding: .65rem; }
.live-ride-main { grid-column: 1; grid-row: 1; min-width: 0; }
.live-ride-main h3 { white-space: normal; line-height: 1.22; }
.ride-trend { grid-column: 1; grid-row: 2; margin-left: 1rem; font-size: .65rem; }
.live-ride-meta { grid-column: 2; grid-row: 1 / span 2; }
.live-ride-meta { gap: .4rem; }
.ride-log-quick { width: var(--wc-touch); height: var(--wc-touch); }
.live-wait-link { gap: 0; }
.live-ride-chevron { display: none; }
.ride-grid { grid-template-columns: 1fr; }
.ride-card { min-height: 4.5rem; padding: .7rem; }

/* Ride statistics, planning and legal content */
.detail-meta-line { grid-template-columns: 1fr; gap: .5rem; }
.ride-member-tools { padding: .8rem; }
.ridecount-quick-action, .ride-member-guest { align-items: stretch; flex-direction: column; }
.ridecount-quick-action > span, .ride-member-guest > span { width: 100%; }
.ridecount-quick-action .btn, .ride-member-guest .btn { width: 100%; }
.ride-member-secondary, .ride-alert-form { align-items: stretch; flex-direction: column; }
.ride-member-secondary form, .ride-member-secondary .btn, .ride-alert-form .form-select, .ride-backdate .btn { width: 100%; }
.ride-backdate form { display: grid; grid-template-columns: 1fr; align-items: stretch; }
.ride-backdate-date, .ride-time-option, .ride-backdate-help, .ride-backdate form > .btn { grid-column: 1; grid-row: auto; }
.ride-backdate-help { margin: 0; color: var(--wc-muted, #64748b); font-size: .85rem; line-height: 1.5; }
.ride-range-tabs { display: flex; overflow-x: auto; gap: .3rem; scrollbar-width: none; }
.ride-range-tabs a { min-height: var(--wc-touch); flex: 0 0 auto; padding: .65rem .75rem; }
.analytics-content-grid, .attendance-content-grid { grid-template-columns: 1fr; }
.ride-chart-card, .ride-insight-panel { min-width: 0; padding: .8rem; }
.data-chart { width: 100% !important; height: 14rem; }
.typical-grid, .attendance-summary { grid-template-columns: 1fr; }
.typical-grid article, .attendance-summary > div { min-height: 4.6rem; padding: .8rem; }
.history-table { width: 100%; overflow: hidden; }
.history-row { grid-template-columns: minmax(0, 1fr) auto; min-width: 0; gap: .25rem .65rem; padding: .7rem; }
.history-row > span:nth-child(2) { grid-column: 1; grid-row: 2; }
.history-row > strong, .history-row > span:nth-child(3) { grid-column: 2; grid-row: 1 / span 2; align-self: center; text-align: right; }
.history-head { display: none; }
.subpage-title > strong { padding: .45rem .6rem; }
.calendar-panel, .attendance-panel { gap: .8rem; }
.calendar-toolbar { align-items: stretch; flex-direction: column; gap: .65rem; }
.planning-toolbar { position: sticky; z-index: 18; top: calc(var(--wc-topbar-height) + 3.75rem); padding: .6rem; }
.calendar-step-nav { justify-content: space-between; }
.calendar-step-nav > a { width: var(--wc-touch); height: var(--wc-touch); }
.calendar-step-nav > div { min-width: 0; }
.calendar-picker { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; gap: .45rem; }
.calendar-picker .form-select { width: 100%; min-width: 0; }
.calendar-picker .btn { grid-column: 1 / -1; width: 100%; }
.calendar-info { flex-wrap: wrap; }
.calendar-info small { width: 100%; margin-left: 0; white-space: normal; }
.calendar-board { display: none; }
.calendar-mobile-list { display: grid; gap: .55rem; }
.calendar-mobile-card { min-height: 5rem; padding: .75rem; }
.calendar-mobile-badges { gap: .35rem; }
.calendar-crowd, .calendar-hours, .calendar-note { min-height: 1.8rem; align-items: center; }
.calendar-legend { grid-template-columns: auto minmax(4rem, 1fr) auto; gap: .45rem; }
.legal-header { padding: 1.1rem; }
.legal-header h1 { font-size: 1.85rem; }
.legal-content { max-width: 100%; overflow-wrap: anywhere; font-size: .94rem; line-height: 1.7; }
.legal-content h2, .legal-content h3 { margin-top: 1.45rem; line-height: 1.2; }
.legal-content ul, .legal-content ol { padding-left: 1.15rem; }
.legal-content a { overflow-wrap: anywhere; word-break: break-word; }
.simple-page { min-height: calc(100dvh - var(--wc-topbar-height) - var(--wc-mobile-nav-height) - 2rem); }
.simple-page-card { padding: 1.25rem; }
.app-footer { grid-template-columns: 1fr; align-items: flex-start; gap: .75rem; padding-bottom: .75rem; }
.footer-legal { justify-content: flex-start; gap: .45rem .8rem; }
.footer-legal a, .footer-privacy-settings { display: inline-flex; min-height: 2.5rem; align-items: center; }
.footer-source { text-align: left; }

/* Account, profiles and community */
.member-auth-page { grid-template-columns: 1fr; min-height: 0; }
.member-auth-card { padding: 1.1rem; }
.member-auth-benefits { display: none; }
.member-auth-heading { margin-top: 1.2rem; }
.member-auth-heading h1 { font-size: 1.8rem; }
.member-form, .member-form-split { grid-template-columns: 1fr; gap: .85rem !important; }
.member-primary-action { width: 100%; }
.member-profile-strip, .public-profile-head { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: .75rem; padding: .9rem; }
.member-profile-strip > a, .public-profile-actions { grid-column: 1 / -1; width: 100%; }
.member-profile-strip > a, .public-profile-actions .btn, .public-profile-actions form, .public-profile-actions button { width: 100%; }
.member-profile-strip h1, .public-profile-head h1, .leaderboard-head h1 { font-size: 1.6rem; }
.member-tabs { position: sticky; z-index: 19; top: var(--wc-topbar-height); margin-inline: calc(var(--wc-mobile-gutter) * -1); padding: .35rem var(--wc-mobile-gutter); border-right: 0; border-left: 0; border-radius: 0; background: rgba(255, 255, 255, .98); scrollbar-width: none; }
.member-tabs::-webkit-scrollbar { display: none; }
.member-tabs a { min-height: var(--wc-touch); flex: 0 0 auto; padding: .6rem .7rem; }
.member-kpi-grid, .profile-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.member-kpi-grid article, .profile-stat-grid article { min-width: 0; min-height: 5rem; padding: .8rem; border: 1px solid #dce6e0 !important; }
.member-dashboard-grid, .member-public-grid, .member-favorite-grid, .member-wishlist-grid, .achievement-grid, .profile-ride-list { grid-template-columns: 1fr; gap: .65rem; }
.member-panel { padding: .9rem; }
.member-panel > header { align-items: flex-start; flex-direction: column; gap: .4rem; margin-bottom: .8rem; }
.member-panel > header > a { display: inline-flex; min-height: var(--wc-touch); align-items: center; }
.member-panel > header h2 { font-size: 1.2rem; }
.member-compact-list a, .profile-favorite-list a, .member-notification-list a { min-height: var(--wc-touch); }
.profile-ride-list a { grid-template-columns: 2.8rem minmax(0, 1fr) auto; min-height: 4.6rem; gap: .65rem; padding: .7rem; }
.profile-ride-date { width: 2.8rem; }
.avatar-upload-row { grid-template-columns: 1fr !important; }
.avatar-crop-stage { width: min(13rem, calc(100vw - 4rem)); }
.avatar-upload-copy { width: 100%; }
.member-settings-form { max-width: none; }
.ride-activity-grid { grid-template-columns: repeat(20, minmax(.35rem, 1fr)); overflow: hidden; }
.member-ride-history article, .member-alert-list article, .member-park-list article { min-height: var(--wc-touch); gap: .55rem; padding-block: .65rem; }
.member-ride-history form button, .member-alert-list form button, .member-wishlist-grid form button { width: var(--wc-touch); height: var(--wc-touch); }
.member-notification-list a { grid-template-columns: 2rem minmax(0, 1fr); }
.member-notification-list time { grid-column: 2; }
.leaderboard-head { align-items: flex-start; padding: .95rem; }
.leaderboard-head-icon { display: none; }
.leaderboard-periods { gap: .25rem; margin-inline: calc(var(--wc-mobile-gutter) * -1); padding-inline: var(--wc-mobile-gutter); border-right: 0; border-left: 0; border-radius: 0; scrollbar-width: none; }
.leaderboard-periods a { min-height: var(--wc-touch); padding: .65rem .75rem; }
.leaderboard-filters { grid-template-columns: 1fr; gap: .65rem; padding: .8rem; }
.leaderboard-filters .btn { width: 100%; }
.leaderboard-list article { grid-template-columns: 2.35rem minmax(0, 1fr) 4.4rem; min-height: 4.6rem; gap: .45rem; padding: .65rem; }
.leaderboard-user > img, .leaderboard-user > span:first-child { width: 2.4rem; height: 2.4rem; }
.leaderboard-details { display: none; }
.leaderboard-rides { font-size: 1rem; }
.profile-report summary, .member-danger-zone summary { min-height: var(--wc-touch); padding-block: .55rem; }

/* Installer */
.installer-wrap { min-height: 100dvh; padding: .75rem; }
.installer-card { padding: 1rem; }

@media (min-width: 576px) {
    :root { --wc-mobile-gutter: 1rem; }
    .country-directory-grid, .country-park-grid, .regional-grid, .profile-ride-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-hero, .results-hero, .legal-header { padding: 1.4rem; }
    .privacy-consent { right: 1rem; left: auto; width: min(32rem, calc(100% - 2rem)); }
    .member-profile-strip { grid-template-columns: auto minmax(0, 1fr) auto; }
    .member-profile-strip > a { grid-column: 3; width: auto; }
    .public-profile-actions { grid-column: 1 / -1; display: flex; }
    .public-profile-actions .btn, .public-profile-actions form { width: auto; }
    .member-form-split { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .visit-plan-card-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .member-panel > header { flex-direction: row; }
}

@media (min-width: 768px) {
    :root { --wc-mobile-gutter: 1.25rem; }
    .app-main { padding-top: 1.25rem; }
    .home-hero { padding: 1.8rem; }
    .home-hero h1 { font-size: 2.8rem; }
    .home-finder { grid-template-columns: minmax(0, 1.2fr) minmax(11rem, .8fr) auto; }
    .finder-submit { width: auto; }
    .country-directory-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .park-overview-main, .detail-overview-main, .subpage-title { align-items: flex-end; flex-direction: row; }
    .park-member-action { justify-content: flex-end; }
    .park-member-action .btn { width: auto; }
    .park-inline-context { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .park-inline-context > span { border-top: 0; border-left: 1px solid #e1eae5; padding: .5rem .75rem; }
    .park-inline-context > span:first-child { border-left: 0; padding-left: 0; }
    .park-condition-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ride-control-fields { grid-template-columns: minmax(0, 1fr) 12rem; }
    .analytics-content-grid, .attendance-content-grid { grid-template-columns: minmax(0, 1.25fr) minmax(17rem, .75fr); }
    .typical-grid, .attendance-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .calendar-toolbar { align-items: center; flex-direction: row; }
    .calendar-picker { width: auto; }
    .calendar-picker .btn { grid-column: auto; width: auto; }
    .member-dashboard-grid, .member-public-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .member-favorite-grid, .member-wishlist-grid, .achievement-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .leaderboard-filters { grid-template-columns: repeat(2, minmax(0, 1fr)) auto; align-items: end; }
    .leaderboard-filters .btn { width: auto; }
    .leaderboard-list article { grid-template-columns: 3rem minmax(0, 1fr) auto 6rem; }
    .leaderboard-details { display: flex; }
    .installer-card { padding: 2rem; }
    .ridecount-quick-action, .ride-member-guest { align-items: center; flex-direction: row; }
    .ridecount-quick-action > span, .ride-member-guest > span { width: auto; }
    .ridecount-quick-action .btn, .ride-member-guest .btn { width: auto; }
    .ride-member-secondary { align-items: center; flex-direction: row; }
    .ride-member-secondary form, .ride-member-secondary .btn { width: auto; }
}

@media (min-width: 992px) {
    :root { --wc-topbar-height: 4.5rem; }
    body { padding-bottom: 0; }
    .app-shell { display: grid; grid-template-columns: var(--wc-sidebar-width) minmax(0, 1fr); }
    .park-sidebar { position: sticky; inset: auto; top: 0; width: auto; height: 100vh; transform: none; box-shadow: none; }
    .sidebar-brand-row { min-height: 5.25rem; }
    .topbar-inner { min-height: var(--wc-topbar-height); gap: 1rem; padding: .65rem clamp(1rem, 2vw, 2rem); }
    .topbar-inner > .global-search-trigger { display: inline-flex; }
    .site-user-menu nav { position: absolute; top: calc(100% + .55rem); right: 0; left: auto; width: 15.5rem; max-height: none; }
    .app-main { max-width: 1560px; padding: clamp(1.25rem, 2.2vw, 2.15rem); }
    .global-search-dialog { inset: auto; width: min(100% - 2rem, 42rem); height: auto; max-height: min(80vh, 42rem); margin: auto; }
    .global-search-form { grid-template-columns: auto minmax(0, 1fr) auto; margin: 1rem; }
    .global-search-form button { grid-column: auto; }
    .privacy-consent { right: 1rem; bottom: 1rem; display: flex; width: min(100% - 2rem, 46rem); max-height: none; }
    .privacy-consent-actions { display: flex; }
    .home-dashboard, .park-dashboard, .ride-dashboard, .calendar-dashboard, .attendance-dashboard, .legal-dashboard, .member-dashboard, .member-public-page, .leaderboard-page { gap: 1.2rem; }
    .dashboard-section, .wait-dashboard, .analytics-dashboard, .calendar-panel, .attendance-panel, .legal-page, .member-panel { padding: clamp(1.2rem, 2vw, 1.75rem); }
    .home-hero { padding: clamp(2rem, 3.5vw, 3.25rem); }
    .home-hero h1 { font-size: 3.65rem; }
    .regional-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .country-directory-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .country-park-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .park-page-tabs { position: static; margin-inline: 0; padding: .4rem; border-radius: 8px; box-shadow: none; }
    .ride-controls { top: .75rem; margin-inline: 0; padding: .65rem; }
    .planning-toolbar { top: .75rem; }
    .calendar-board { display: grid; }
    .calendar-mobile-list { display: none; }
    .history-row { grid-template-columns: 8rem minmax(8rem, 1fr) 9rem; gap: 1rem; }
    .history-row > span:nth-child(2), .history-row > strong, .history-row > span:nth-child(3) { grid-column: auto; grid-row: auto; }
    .history-head { display: grid; }
    .member-auth-page { grid-template-columns: minmax(0, 1.05fr) minmax(19rem, .75fr); }
    .member-auth-benefits { display: grid; }
    .member-tabs { position: static; margin-inline: 0; padding: .4rem; border: 1px solid #dce6e0; border-radius: 8px; }
    .member-kpi-grid, .profile-stat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .member-profile-strip, .public-profile-head { padding: 1.2rem 1.35rem; }
    .leaderboard-periods { margin-inline: 0; padding: .4rem; border: 1px solid #dce6e0; border-radius: 8px; }
    .leaderboard-head-icon { display: grid; }
    .app-footer { grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; }
    .footer-source { text-align: right; }
}

@media (min-width: 1200px) {
    .country-park-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .home-hero h1 { font-size: 4.15rem; }
}
