/* ============================================================
   public-phone.css
   Phone readability floor for public league pages: text at
   least 12px (team names 14px) and tap targets at least 44px.
   Phones only, public pages only; desktop and tablet unchanged.
   Several components size their text with !important, so the
   matching overrides here carry it too.
   ============================================================ */

@media (max-width: 575.98px) {

    /* ---------- Shared chrome: navbar brand and footer ---------- */
    body.public-page .navbar .navbar-brand {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
    }

    body.public-page .footer-shell .footer-column-title {
        font-size: 0.75rem;
    }

    body.public-page .footer-shell .footer-link-list {
        gap: 0;
    }

    body.public-page .footer-shell .footer-link,
    body.public-page .footer-shell .footer-powered {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
    }

    body.public-page .footer-shell .footer-cta {
        min-height: 44px;
    }

    body.public-page .mobile-drawer :is(.mobile-drawer-brand__eyebrow, .mobile-drawer-section-title) {
        font-size: 0.75rem;
    }

    body.public-page .mobile-drawer .mobile-drawer-header-signin {
        min-height: 44px;
        font-size: 0.8125rem;
    }

    /* ---------- Form controls and small buttons ----------
       16px text also stops iOS Safari zooming the page when a field gets focus. */
    body.public-page :is(input.form-control, select.form-select, select.form-control, textarea.form-control) {
        min-height: 44px;
        font-size: 1rem;
    }

    body.public-page .btn.btn-sm,
    body.public-page .btn {
        min-height: 44px;
    }

    body.public-page .btn.btn-sm {
        min-width: 44px;
    }

    body.public-page label.form-label {
        font-size: 0.8125rem;
    }

    /* ---------- Homepage blocks ---------- */
    html.hub-page body.public-page .hub-page-wrapper .hub-standings .standings-table tbody td,
    html.hub-page body.public-page .hub-page-wrapper .hub-standings .standings-table tbody td:first-child span {
        font-size: 0.875rem !important;
    }

    html.hub-page body.public-page .hub-page-wrapper .hub-block-card .standings-table thead th,
    html.hub-page body.public-page .hub-page-wrapper .hub-standings .standings-table thead th {
        font-size: 0.75rem !important;
    }

    /* The whole team cell opens the team; padding on the clamped name would show a third line. */
    body.public-page .hub-standings .hub-standings__team {
        position: relative;
    }

    body.public-page .hub-standings .hub-standings-team-link::after {
        content: '';
        position: absolute;
        inset: 0;
    }

    body.public-page .hub-page-wrapper .hub-guided-matches .match-team-side,
    body.public-page .hub-page-wrapper .hub-guided-matches .match-venue,
    body.public-page .hub-page-wrapper .hub-guided-matches .match-center :is(.match-vs, .badge),
    body.public-page .hub-page-wrapper .match-venue,
    body.public-page .hub-page-wrapper .match-vs {
        font-size: 0.75rem;
    }

    body.public-page .hub-page-wrapper .hub-news-card__category,
    body.public-page .hub-page-wrapper .leaderboard-rank,
    body.public-page .hub-page-wrapper .leaderboard-title {
        font-size: 0.75rem !important;
    }

    body.public-page .hub-page-wrapper .hub-block-card .form-label {
        font-size: 0.8125rem !important;
    }

    /* ---------- Schedule ---------- */
    body.public-page .match-team-role,
    body.public-page .match-team-record {
        font-size: 0.75rem;
    }

    body.public-page .chip-toggle,
    body.public-page .schedule-action-btn {
        min-height: 44px;
    }

    body.public-page .date-nav-arrow {
        width: 44px;
        height: 44px;
    }

    body.public-page .date-chip :is(.day-name, .day-date),
    body.public-page :is(.schedule-eyebrow, .schedule-spotlight-label, .match-card-header-label,
        .match-proximity-pill, .chip-game-count) {
        font-size: 0.75rem;
    }

    /* ---------- Standings, stats and team pages ---------- */
    body.public-page .leaderboard-rank,
    body.public-page .leaderboard-title,
    body.public-page .team-card-action,
    body.public-page .teams-quicklink,
    body.public-page .teams-meta-item,
    body.public-page .team-stat-sort-header,
    body.public-page .legend-bar,
    body.public-page .legend-bar strong {
        font-size: 0.75rem;
    }

    body.public-page .team-card-action,
    body.public-page .teams-quicklink {
        min-height: 44px;
    }

    body.public-page .team-stat-sort-header {
        min-height: 44px;
        min-width: 44px;
    }

    body.public-page :is(.position-badge, .masthead-playoff-link, .teams-eyebrow, .teams-eyebrow span,
        .teams-filter-label, .teams-filter-btn, .hero-chip, .info-label, .club-season-record span, .club-result),
    body.public-page .team-player-stats-table thead th {
        font-size: 0.75rem;
    }

    body.public-page :is(.masthead-chip, .masthead-playoff-link, .teams-filter-btn, .stats-view-tab, .psf-segment button),
    body.public-page :is(.nav-tabs, .nav-pills) .nav-link,
    body.public-page .mb-cta a {
        min-height: 44px;
    }

    /* Names and links that sit in rows or sentences: grow the tap area without moving anything. */
    body.public-page :is(.gr-team-name-link, .team-player-stat-player a, a.team-name, a.match-team-name,
        .na-breadcrumb a, .hub-mobile-block p a, .cookie-consent__text a, .team-row td a, .breadcrumb a) {
        padding-block: 12px;
        margin-block: -12px;
    }

    /* The venue link's dashed underline is a border, so its tap area grows with an overlay instead. */
    body.public-page .gr-meta-venue a {
        position: relative;
    }

    body.public-page .gr-meta-venue a::after {
        content: '';
        position: absolute;
        inset: -14px 0;
    }

    /* ---------- Club, game, news, gallery and page eyebrows ---------- */
    body.public-page :is(.club-stat-label, .club-chip, .club-record-label, .club-record-key, .club-record-best,
        .club-season-record, .club-finish, .gr-team-label, .gr-status, .na-meta-item, .na-share,
        .mg-filterbar-label, .cp-eyebrow, .ab-mission-lbl, .stat-label, .na-breadcrumb, .na-breadcrumb a,
        .na-breadcrumb .active, .news-hero-copy .badge, .faq-contact-card .btn),
    body.public-page .news-page .text-muted.small {
        font-size: 0.75rem;
    }

    body.public-page .gr-tab,
    body.public-page .na-btn {
        min-height: 44px;
        font-size: 0.8125rem;
    }

    body.public-page .mg-filterbar-group select {
        min-height: 44px;
        font-size: 1rem;
    }
}
