@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.swish-home-hero__video{display:none}}

/* v0.9.18: The custom close control is created for mobile navigation, but the
   header script also exists on desktop. Keep it out of all non-mobile layouts;
   the narrow navigation media rules below explicitly reveal it only while the
   responsive menu is open. */
.swish-mobile-nav-close{display:none;}
@media (max-width:900px){.admin-bar .swish-site-header{top:var(--swish-admin-bar-offset,46px)}.swish-header-inner{min-height:70px;gap:14px}.swish-header-nav{order:3}.swish-header-nav .wp-block-navigation__responsive-container.is-menu-open{background:var(--swish-header-bg)!important;color:var(--swish-text);backdrop-filter:blur(12px)}.swish-footer-main{grid-template-columns:repeat(2,1fr)}.swish-footer-logo{grid-column:1/-1;grid-row:1;text-align:left}.swish-footer-column{text-align:left}.swish-footer-column .wp-block-navigation{justify-content:flex-start}.swish-footer-column .wp-block-navigation__container{align-items:flex-start}.swish-page-hero{height:min(var(--swish-page-hero-height,400px),320px)}}
@media (max-width:600px){.alignwide,.swish-site-main>.wp-block-post-content{width:min(100% - 28px,1380px)}.swish-header-inner{min-height:64px}.swish-page-hero{height:min(var(--swish-page-hero-height,400px),260px)}.swish-page-hero__content{padding-bottom:30px}.swish-site-main{padding:38px 0 60px}.swish-footer-main{grid-template-columns:1fr 1fr;gap:28px 18px}.swish-footer-bottom{align-items:flex-start;flex-direction:column}.swish-footer-logo img{max-width:180px}}

@media (max-width:700px){.swish-page-hero__identity{grid-template-columns:auto minmax(0,1fr);gap:16px}.swish-page-hero__actions{grid-column:1/-1;justify-content:flex-start}.swish-page-hero__media img{width:80px;height:80px}.swish-page-hero__identity h1{font-size:clamp(2rem,10vw,3.2rem)}.swish-page-hero__identity .swish-page-hero__tagline{margin-top:10px}}

/* v0.4.0: Simplify interior heroes on narrow portrait screens and reserve clear space below the fixed header. */
@media (max-width:600px) and (orientation:portrait){
    .swish-page-hero{
        height:auto;
        min-height:220px;
        align-items:stretch;
    }
    .swish-page-hero__content{
        box-sizing:border-box;
        min-height:220px;
        display:flex;
        flex-direction:column;
        justify-content:flex-end;
        padding-top:88px;
        padding-bottom:30px;
    }
    .admin-bar .swish-page-hero__content{
        padding-top:134px;
    }
    .swish-page-hero__accent,
    .swish-page-hero__tagline{
        display:none;
    }
    .swish-page-hero h1{
        margin:0;
        font-size:clamp(2.15rem,11vw,3.25rem);
        line-height:.95;
    }
}

/* v0.5.29: Mobile navigation fills the remaining viewport below the fixed header.
   A dedicated close control occupies the original hamburger's exact header slot while
   the menu is open, avoiding WordPress's overlay toggle from immediately reopening. */
@media (min-width:601px) and (max-width:1024px){
    .swish-header-nav{
        order:3;
        margin-left:0!important;
    }
    .swish-header-nav .wp-block-navigation__responsive-container-open:not(.always-shown){
        display:flex!important;
    }
    .swish-header-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){
        display:none!important;
    }
}

@media (max-width:1024px){
    .swish-mobile-nav-close{
        position:relative;
        display:none;
        flex:0 0 auto;
        align-items:center;
        justify-content:center;
        width:var(--swish-mobile-toggle-width,40px);
        height:var(--swish-mobile-toggle-height,40px);
        margin:0;
        padding:0;
        border:0;
        background:transparent;
        color:inherit;
        cursor:pointer;
        appearance:none;
        -webkit-appearance:none;
        z-index:10003;
    }
    .swish-mobile-nav-close::before,
    .swish-mobile-nav-close::after{
        content:"";
        position:absolute;
        left:50%;
        top:50%;
        width:26px;
        height:2px;
        background:currentColor;
        transform-origin:center;
    }
    .swish-mobile-nav-close::before{
        transform:translate(-50%,-50%) rotate(45deg);
    }
    .swish-mobile-nav-close::after{
        transform:translate(-50%,-50%) rotate(-45deg);
    }
    .swish-site-header.is-mobile-menu-open{
        -webkit-backdrop-filter:none!important;
        backdrop-filter:none!important;
    }
    .swish-site-header.is-mobile-menu-open .swish-header-nav .wp-block-navigation__responsive-container-open{
        display:none!important;
    }
    .swish-site-header.is-mobile-menu-open .swish-mobile-nav-close{
        display:flex!important;
    }
    .swish-header-nav .wp-block-navigation__responsive-container.is-menu-open{
        position:fixed!important;
        top:var(--swish-mobile-menu-top,64px)!important;
        right:0!important;
        bottom:0!important;
        left:0!important;
        box-sizing:border-box;
        width:100vw!important;
        height:calc(100dvh - var(--swish-mobile-menu-top,64px))!important;
        min-height:0!important;
        max-height:none!important;
        padding:28px!important;
        overflow-y:auto!important;
        overscroll-behavior:contain;
        background:var(--swish-header-bg)!important;
        color:var(--swish-text);
        border-top:1px solid var(--swish-border);
        border-bottom:0!important;
        box-shadow:none!important;
        -webkit-backdrop-filter:none!important;
        backdrop-filter:none!important;
    }
    .swish-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
        width:100%;
        min-height:100%;
        box-sizing:border-box;
        align-items:center;
        justify-content:flex-start;
        padding-top:0;
    }
    .swish-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
        width:100%;
        display:flex;
        flex-direction:column;
        align-items:center!important;
        justify-content:flex-start!important;
        gap:20px;
    }
    .swish-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{
        width:auto;
        margin:0;
        text-align:center;
    }
    .swish-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
        display:block;
        padding:0;
        color:var(--swish-text)!important;
        text-align:center;
    }
    .swish-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close{
        display:none!important;
    }
}


/* v0.5.30: Compact three-column footer for narrow mobile viewports. */
@media (max-width:700px){
    .swish-site-footer{
        padding:36px 0 18px;
    }
    .swish-footer-main{
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:24px 12px;
        align-items:start;
    }
    .swish-footer-logo{
        grid-column:1/-1;
        grid-row:1;
        justify-content:center;
        text-align:center;
    }
    .swish-footer-logo img{
        max-width:120px;
    }
    .swish-footer-column{
        align-items:center;
        text-align:center;
    }
    .swish-footer-column h3{
        margin-bottom:12px;
        font-size:.68rem;
        letter-spacing:.1em;
        white-space:nowrap;
    }
    .swish-footer-column .wp-block-navigation{
        justify-content:center;
    }
    .swish-footer-column .wp-block-navigation__container{
        align-items:center;
        gap:6px;
    }
    .swish-footer-column .wp-block-navigation-item{
        justify-content:center;
    }
    .swish-footer-column .wp-block-navigation-item__content{
        font-size:.9rem;
        line-height:1.35;
        text-align:center;
    }
    .swish-footer-bottom{
        margin-top:28px;
        padding-top:16px;
        gap:12px;
        align-items:center;
        text-align:center;
    }
}

@media (max-width:420px){
    .swish-footer-main{
        gap:22px 8px;
    }
    .swish-footer-logo img{
        max-width:105px;
    }
    .swish-footer-column h3{
        font-size:.62rem;
    }
    .swish-footer-column .wp-block-navigation-item__content{
        font-size:.82rem;
    }
}


/* v0.5.33: Simplified footer for phone-sized narrow views with a taller touch-safe legal row.
   Portrait phones are captured by width; landscape phones are captured by their
   short viewport height so tablet/iPad layouts keep the full desktop footer. */
@media (max-width:700px),
       (orientation:landscape) and (max-height:500px) and (max-width:1024px){
    .swish-site-footer{
        padding:0 0 max(14px, env(safe-area-inset-bottom));
    }
    .swish-footer-main{
        display:none;
    }
    .swish-footer-bottom{
        width:min(100% - 28px,1380px);
        margin:0 auto;
        min-height:96px;
        padding:22px 0;
        box-sizing:border-box;
        flex-direction:row;
        align-items:center;
        justify-content:space-between;
        gap:16px;
        text-align:left;
    }
    .swish-footer-bottom > p{
        margin:0;
        min-width:0;
        font-size:.78rem;
        line-height:1.4;
    }
    .swish-footer-bottom > .swish-theme-toggle{
        display:none!important;
    }
    .swish-footer-legal{
        display:flex;
        flex:0 0 auto;
        align-items:center;
        justify-content:flex-end;
        gap:7px;
        margin:0;
        white-space:nowrap;
        font-size:.78rem;
        line-height:1.4;
    }
    .swish-footer-legal a{
        color:inherit;
        text-decoration:none;
    }
    .swish-footer-legal a:hover,
    .swish-footer-legal a:focus-visible{
        text-decoration:underline;
        text-underline-offset:.18em;
    }
}

@media (max-width:380px){
    .swish-footer-bottom{
        gap:10px;
    }
    .swish-footer-bottom > p,
    .swish-footer-legal{
        font-size:.72rem;
    }
}

/* v0.5.34: Keep the homepage video hero balanced on phone-sized landscape viewports. */
@media (orientation:landscape) and (max-height:500px) and (max-width:1024px){
    .swish-home-hero__content{
        width:min(var(--swish-content-width,1380px),calc(100% - 40px));
        padding-bottom:clamp(32px,8vh,48px);
    }
    .swish-home-hero .swish-kicker{
        margin-bottom:10px;
        font-size:.72rem;
        line-height:1.2;
    }
    .swish-home-hero h1{
        max-width:760px;
        font-size:clamp(2.15rem,9vh,3rem);
        line-height:.94;
        letter-spacing:-.045em;
    }
    .swish-home-hero__tagline{
        max-width:720px;
        margin-top:14px;
        font-size:.92rem;
        line-height:1.4;
    }
    .swish-home-hero__actions{
        gap:10px;
        margin-top:18px;
    }
    .swish-home-button{
        min-height:42px;
        padding-inline:18px;
        font-size:.9rem;
    }
}

/* v0.5.41: Keep guest phone-portrait hero content between the previous low/high
   positions, while preserving the proven admin-toolbar alignment separately. */
@media (max-width:600px) and (orientation:portrait){
    .swish-home-hero__content{
        padding-bottom:clamp(185px,21vh,210px);
    }
    .admin-bar .swish-home-hero__content{
        padding-bottom:calc(clamp(160px,18vh,190px) + var(--swish-admin-bar-offset,46px));
    }
    .swish-home-hero__tagline{
        margin-top:18px;
        line-height:1.45;
    }
    .swish-home-hero__actions{
        margin-top:22px;
    }
}

@media (orientation:landscape) and (max-height:500px) and (max-width:1024px){
    .swish-home-hero__content{
        padding-bottom:clamp(120px,24vh,150px);
    }
    .swish-home-hero__tagline{
        margin-top:10px;
        font-size:.86rem;
        line-height:1.32;
    }
    .swish-home-hero__actions{
        gap:9px;
        margin-top:12px;
    }
    .swish-home-button{
        min-height:40px;
        padding-inline:16px;
        font-size:.86rem;
    }
}

/* v0.5.43: Keep narrow portrait headers focused on account/navigation actions.
   Search and color mode live after the primary links inside the hamburger menu. */
@media (max-width:600px) and (orientation:portrait){
    html.swish-mobile-utilities-ready .swish-header-tools .swish-header-search-tool,
    html.swish-mobile-utilities-ready .swish-header-tools .swish-header-theme-tool,
    html.swish-mobile-utilities-ready .swish-header-tools [data-swish-search-menu],
    html.swish-mobile-utilities-ready .swish-header-tools .swish-theme-toggle{
        display:none!important;
    }

    .swish-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
        display:flex;
        flex-direction:column;
    }

    .swish-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
        order:1;
    }

    .swish-mobile-nav-utilities{
        order:2;
        display:flex;
        width:100%;
        margin-top:28px;
        padding-top:28px;
        flex-direction:column;
        align-items:center;
        gap:18px;
        border-top:1px solid var(--swish-border);
    }

    .swish-mobile-nav-utility-link,
    .swish-mobile-nav-theme-toggle{
        box-sizing:border-box;
        display:flex;
        width:100%;
        min-height:44px;
        align-items:center;
        justify-content:center;
        margin:0;
        padding:10px 14px;
        border:0;
        border-radius:9px;
        background:transparent;
        color:var(--swish-text)!important;
        font:inherit;
        font-size:.92rem;
        font-weight:700;
        line-height:1.2;
        letter-spacing:.045em;
        text-align:center;
        text-decoration:none;
        text-transform:uppercase;
        cursor:pointer;
    }

    .swish-mobile-nav-utility-link:hover,
    .swish-mobile-nav-utility-link:focus-visible,
    .swish-mobile-nav-theme-toggle:hover,
    .swish-mobile-nav-theme-toggle:focus-visible{
        background:rgba(127,127,127,.14);
    }

    .swish-mobile-nav-theme-toggle .swish-theme-toggle__icon{
        margin-left:10px;
        font-size:1.15rem;
        line-height:1;
    }
}

@media (min-width:601px), (orientation:landscape){
    .swish-mobile-nav-utilities{
        display:none!important;
    }
}



/* v0.6.0: Mobile navigation usability and viewport safety. */
@media (max-width:1024px){
    html.swish-mobile-menu-active,
    html.swish-mobile-menu-active body{overflow:hidden}
    .swish-header-nav .wp-block-navigation__responsive-container.is-menu-open{padding-bottom:max(28px,calc(18px + env(safe-area-inset-bottom)))!important}
    .swish-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{display:flex;min-height:44px;align-items:center;justify-content:center;padding:8px 12px}
}


/* v0.8.0: Defensive wrapping for user-controlled navigation labels on small screens. */
@media (max-width:1024px){
    .swish-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__label,
    .swish-mobile-nav-utility-link,
    .swish-mobile-nav-theme-label{max-width:100%;overflow-wrap:anywhere}
}

/* v0.9.2: Refine only the outer sticky-header inset on narrow portrait phones. */
@media (max-width:600px) and (orientation:portrait){
    .swish-header-inner{
        padding-left:max(4px,env(safe-area-inset-left));
        padding-right:max(4px,env(safe-area-inset-right));
    }
}

/* v0.9.4: Keep account and notification popovers anchored to their header controls
   on narrow portrait phones. Using the control as the positioning context naturally
   follows the WordPress admin-bar offset without duplicating toolbar calculations. */
@media (max-width:600px) and (orientation:portrait){
    .swish-site-header .swish-notification-center,
    .swish-site-header .swish-user-menu{
        position:relative!important;
    }

    .swish-site-header .swish-notification-dropdown{
        position:absolute!important;
        top:calc(100% + 8px)!important;
        right:-88px!important;
        left:auto!important;
        width:min(320px,calc(100vw - 24px))!important;
        max-width:calc(100vw - 24px)!important;
        max-height:calc(100dvh - 104px)!important;
    }

    .swish-site-header .swish-user-menu-dropdown{
        position:absolute!important;
        top:calc(100% + 8px)!important;
        right:0!important;
        left:auto!important;
        width:min(290px,calc(100vw - 32px))!important;
    }
}

/* v0.9.5: Tighten the narrow portrait mobile navigation vertically without
   affecting tablet, landscape, or desktop navigation. */
@media (max-width:600px) and (orientation:portrait){
    .swish-header-nav .wp-block-navigation__responsive-container.is-menu-open{
        padding-top:10px!important;
    }

    .swish-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
        gap:4px;
    }

    .swish-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
        min-height:38px;
        padding:4px 12px;
    }

    .swish-mobile-nav-utilities{
        margin-top:16px;
        padding-top:16px;
        gap:8px;
    }
}


/* v0.9.6: Remove WordPress core's residual top spacing from the narrow portrait
   navigation content so the complete menu can fit within the available viewport. */
@media (max-width:600px) and (orientation:portrait){
    .swish-header-nav .wp-block-navigation__responsive-container.is-menu-open{
        padding-top:4px!important;
    }

    .swish-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
        min-height:0!important;
        margin-top:0!important;
        padding:0!important;
    }

    .swish-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
        margin-top:0!important;
        padding-top:0!important;
    }
}


/* v0.9.7: Reclaim WordPress overlay space on narrow portrait phones so the
   complete primary navigation and mobile utilities fit without unnecessary scrolling. */
@media (max-width:600px) and (orientation:portrait){
    .swish-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
        margin-top:-36px!important;
    }
}


/* v0.9.9: On narrow portrait phones, nested Swish HQ cards share the outer panel surface.
   This removes redundant secondary borders/backgrounds while preserving standalone cards,
   complex bracket controls, and the homepage presentation. */
@media (max-width:600px) and (orientation:portrait){
    .swish-frontend:not(.swish-homepage) .swish-panel :is(
        .swish-result-card,
        .swish-schedule-game,
        .swish-stat-card,
        .swish-team-directory-card,
        .swish-player-card,
        .swish-leader-card,
        .swish-history-season,
        .swish-management-card,
        .swish-management-block,
        .swish-stat-leader-card,
        .swish-season-leader-card,
        .swish-game-leader-card,
        .swish-record-card,
        .swish-award-card,
        .swish-search-result,
        .swish-team-record-card,
        .swish-conference-leader-card,
        .swish-season-champion-card,
        .swish-gamefinder-card,
        .swish-gamefinder-own,
        .swish-leaderboard-card,
        .swish-free-agent-card,
        .swish-metric-card,
        .swish-history-honor
    ){
        background:transparent!important;
        border:0!important;
        border-bottom:1px solid var(--swish-line)!important;
        border-radius:0!important;
        box-shadow:none!important;
        padding-left:0!important;
        padding-right:0!important;
    }

    .swish-frontend:not(.swish-homepage) .swish-panel :is(
        .swish-result-card,
        .swish-schedule-game,
        .swish-stat-card,
        .swish-team-directory-card,
        .swish-player-card,
        .swish-leader-card,
        .swish-history-season,
        .swish-management-card,
        .swish-management-block,
        .swish-stat-leader-card,
        .swish-season-leader-card,
        .swish-game-leader-card,
        .swish-record-card,
        .swish-award-card,
        .swish-search-result,
        .swish-team-record-card,
        .swish-conference-leader-card,
        .swish-season-champion-card,
        .swish-gamefinder-card,
        .swish-gamefinder-own,
        .swish-leaderboard-card,
        .swish-free-agent-card,
        .swish-metric-card,
        .swish-history-honor
    ):last-child{
        border-bottom:0!important;
    }

    .swish-frontend:not(.swish-homepage) .swish-panel :is(
        .swish-results-list,
        .swish-schedule-list,
        .swish-team-directory-grid,
        .swish-leader-grid,
        .swish-roster-history,
        .swish-management-grid,
        .swish-management-stack,
        .swish-stat-leader-grid,
        .swish-award-grid,
        .swish-team-record-grid,
        .swish-conference-leader-grid,
        .swish-season-champion-grid,
        .swish-gamefinder-list,
        .swish-leaderboard-card-grid,
        .swish-free-agent-grid
    ){
        gap:0!important;
    }

    .swish-frontend:not(.swish-homepage) .swish-panel .swish-conference-table{
        border:0!important;
        border-radius:0!important;
    }
    .swish-frontend:not(.swish-homepage) .swish-panel .swish-conference-table h3{
        background:transparent!important;
        padding-left:0!important;
        padding-right:0!important;
    }
}

/* v0.9.12: Statistics-only narrow portrait sticky-column Safari paint fix.
   iOS Safari can paint horizontally scrolling table cells above sticky cells when the table
   uses border-collapse:collapse. Keep the existing Statistics markup and row colors, but use
   the separate-border table model at this breakpoint so the sticky Player column owns a true
   opaque paint layer above every scrolling cell. */
@media (max-width:600px) and (orientation:portrait){
    .swish-statistics-page .swish-stat-table{
        border-collapse:separate!important;
        border-spacing:0!important;
    }
    .swish-statistics-page .swish-stat-table tbody>tr>td:first-child{
        position:sticky;
        left:0;
        z-index:6!important;
        background-clip:border-box!important;
        box-shadow:1px 0 0 var(--swish-line);
        -webkit-transform:translateZ(0);
        transform:translateZ(0);
    }
    .swish-statistics-page .swish-stat-table tbody tr:nth-child(odd)>td:first-child{
        background:#121a2d!important;
    }
    .swish-statistics-page .swish-stat-table tbody tr:nth-child(even)>td:first-child{
        background:#182032!important;
    }
    .swish-statistics-page .swish-stat-table thead>tr>th:first-child{
        position:sticky;
        left:0;
        z-index:8!important;
        background:#0d1527!important;
        background-clip:border-box!important;
        box-shadow:1px 1px 0 var(--swish-line);
        -webkit-transform:translateZ(0);
        transform:translateZ(0);
    }
    :root[data-theme="light"] .swish-statistics-page .swish-stat-table tbody tr:nth-child(odd)>td:first-child{
        background:#fff!important;
    }
    :root[data-theme="light"] .swish-statistics-page .swish-stat-table tbody tr:nth-child(even)>td:first-child{
        background:#f9f9fa!important;
    }
    :root[data-theme="light"] .swish-statistics-page .swish-stat-table thead>tr>th:first-child{
        background:#e6e8eb!important;
    }
}


/* v0.9.13: Focused narrow-portrait action-row compaction.
   Keep result metadata and schedule actions on one horizontal action row where space allows,
   while preserving every existing desktop/tablet/landscape layout and homepage presentation. */
@media (max-width:600px) and (orientation:portrait){
    /* Result cards: date left, Box Score action right. This deliberately overrides the
       plugin's <=520px column stack only outside the homepage. */
    .swish-frontend:not(.swish-homepage) .swish-result-meta{
        display:flex!important;
        flex-direction:row!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:12px!important;
        width:100%;
    }
    .swish-frontend:not(.swish-homepage) .swish-result-meta time{
        min-width:0;
        margin-right:auto;
    }
    .swish-frontend:not(.swish-homepage) .swish-result-meta .swish-button{
        flex:0 0 auto;
        margin-left:auto;
        white-space:nowrap;
    }

    /* Schedule/recent-game rows: result badge + opponent + score on the first row;
       date and action share the second row. Reuses the existing markup everywhere
       schedule cards appear rather than adding page-specific duplicate structures. */
    .swish-frontend:not(.swish-homepage) .swish-schedule-game{
        grid-template-columns:auto minmax(0,1fr) auto!important;
        grid-template-rows:auto auto!important;
        column-gap:12px!important;
        row-gap:10px!important;
        align-items:center!important;
    }
    .swish-frontend:not(.swish-homepage) .swish-schedule-game>.swish-result-badge{
        grid-column:1!important;
        grid-row:1 / 3!important;
        align-self:center;
    }
    .swish-frontend:not(.swish-homepage) .swish-schedule-game>.swish-schedule-opponent{
        grid-column:2!important;
        grid-row:1!important;
        min-width:0;
    }
    .swish-frontend:not(.swish-homepage) .swish-schedule-game>.swish-schedule-score{
        grid-column:3!important;
        grid-row:1!important;
        justify-self:end!important;
        white-space:nowrap;
    }
    .swish-frontend:not(.swish-homepage) .swish-schedule-game>time{
        grid-column:2!important;
        grid-row:2!important;
        justify-self:start!important;
        min-width:0;
    }
    .swish-frontend:not(.swish-homepage) .swish-schedule-game>.swish-button{
        grid-column:3!important;
        grid-row:2!important;
        justify-self:end!important;
        margin:0!important;
        white-space:nowrap;
    }

    /* The compact team-page recent-games block benefits from slightly tighter vertical rhythm
       now that each game is represented by two deliberate rows rather than a tall stack. */
    .swish-team-page .swish-schedule-list--compact .swish-schedule-game{
        padding-top:16px!important;
        padding-bottom:16px!important;
    }
}


/* v0.9.14: Narrow portrait result-card hierarchy.
   The outer card separator already distinguishes games, so the compact metadata/action row
   should not add a second divider inside each result card. Homepage remains unchanged. */
@media (max-width:600px) and (orientation:portrait){
    .swish-frontend:not(.swish-homepage) .swish-result-card .swish-result-meta{
        border-top:0!important;
    }
}

/* v0.9.33: Balance homepage hero content on laptop-class 16:9 viewports
   (for example 1920x1080 at 125% display scaling) without affecting phone
   layouts or larger desktop viewing modes. */
@media (min-width:1200px) and (max-width:1600px) and (max-height:900px){
    .swish-home-hero__content{
        padding-bottom:100px;
    }
}

