/*
 Theme Name:   PA USATF GeneratePress Child
 Theme URI:    https://www.pausatf.org
 Description:  Custom child theme for USATF Pacific Association built on GeneratePress
 Author:       PA USATF
 Author URI:   https://www.pausatf.org
 Template:     generatepress
 Version:      1.1.0
 License:      GNU General Public License v2 or later
 License URI:  https://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  pausatf
 Requires at least: 6.4
 Requires PHP: 8.2
*/

/*--------------------------------------------------------------
# CSS Custom Properties - Design Tokens
--------------------------------------------------------------*/
:root {
    /* Brand colors come from GP Global Colors (Customizer > Colors);
       GP emits --pausatf-primary/-secondary/-accent/-dark/-light/-white. */

    /* Extended palette */
    --pausatf-primary-light: #3b6a95;
    --pausatf-primary-dark: #001f5c;
    --pausatf-secondary-light: #c13d4d;
    --pausatf-secondary-dark: #7f1827;
    --pausatf-gray-100: #f8f9fa;
    --pausatf-gray-200: #e9ecef;
    --pausatf-gray-300: #dee2e6;
    --pausatf-gray-400: #ced4da;
    --pausatf-gray-500: #adb5bd;
    --pausatf-gray-600: #6c757d;
    --pausatf-gray-700: #495057;
    --pausatf-gray-800: #343a40;
    --pausatf-gray-900: #212529;

    /* Typography: Source Sans 3 body over the legacy Arial fallback */
    --pausatf-font-primary: "Source Sans 3", Arial, Verdana, sans-serif;
    --pausatf-font-heading: Arial, "Helvetica Neue", sans-serif;
    --pausatf-font-mono: "JetBrains Mono", "Fira Code", monospace;

    /* Spacing */
    --pausatf-spacing-xs: 0.25rem;
    --pausatf-spacing-sm: 0.5rem;
    --pausatf-spacing-md: 1rem;
    --pausatf-spacing-lg: 1.5rem;
    --pausatf-spacing-xl: 2rem;
    --pausatf-spacing-2xl: 3rem;
    --pausatf-spacing-3xl: 4rem;

    /* Layout */
    --pausatf-container-max: 1280px;
    --pausatf-content-max: 800px;
    --pausatf-sidebar-width: 300px;

    /* Transitions */
    --pausatf-transition-fast: 150ms ease;
    --pausatf-transition-base: 250ms ease;
    --pausatf-transition-slow: 400ms ease;

    /* Shadows */
    --pausatf-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
    --pausatf-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    --pausatf-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    --pausatf-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1);

    /* Border Radius */
    --pausatf-radius-sm: 4px;
    --pausatf-radius-md: 8px;
    --pausatf-radius-lg: 12px;
    --pausatf-radius-xl: 16px;
    --pausatf-radius-full: 9999px;

    /* Restrained brand palette: navy for links, red for actions and states. */
    --pausatf-primary: #1f4e79 !important;
    --pausatf-primary-dark: #163a5c !important;
    --pausatf-secondary: #a61b2b !important;
    --pausatf-secondary-dark: #7f1827 !important;
    --pausatf-accent: #d9b44a !important;
}

/*--------------------------------------------------------------
# Base Typography Overrides
--------------------------------------------------------------*/
/* body and heading families/sizes come from GP dynamic typography
   (Customizer > Typography); tokens below serve component styles only */
body {
    color: var(--pausatf-gray-800);
}

html {
    scroll-padding-top: 76px;
}

img {
    max-width: 100%;
    height: auto;
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.site-title {
    font-weight: 700;
    line-height: 1.2;
    color: var(--pausatf-dark);
}

a {
    color: var(--pausatf-primary);
    transition: color var(--pausatf-transition-fast);
}

a:hover,
a:focus {
    color: var(--pausatf-primary-dark);
}

/*--------------------------------------------------------------
# Header Customizations
--------------------------------------------------------------*/
.site-header {
    border-bottom: 3px solid var(--pausatf-secondary);
}

.site-title a {
    color: var(--pausatf-primary);
    font-weight: 800;
    text-decoration: none;
}

.main-navigation .main-nav > ul > li > a {
    font-weight: 700;
    letter-spacing: 0.01em;
    font-size: 0.875rem;
}

.main-navigation .main-nav > ul > li > a:hover,
.main-navigation .current-menu-item > a {
    color: var(--pausatf-secondary);
}

/* Dropdown menus */
.main-navigation .sub-menu {
    border-top: 2px solid var(--pausatf-secondary);
}

/*--------------------------------------------------------------
# Buttons
--------------------------------------------------------------*/
.wp-block-button__link,
button,
input[type="submit"],
.button {
    font-family: var(--pausatf-font-heading);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-radius: var(--pausatf-radius-sm);
    transition: all var(--pausatf-transition-base);
}

/* Branded call-to-action used for important meeting and contact resources. */
.entry-content a.pausatf-primary-button {
    display: inline-block;
    background: var(--pausatf-primary, #1f4e79) !important;
    color: #fff !important;
    border: 2px solid var(--pausatf-primary, #1f4e79);
    text-decoration: none !important;
    padding: 0.7rem 1rem;
}

.entry-content a.pausatf-primary-button:hover,
.entry-content a.pausatf-primary-button:focus-visible {
    background: var(--pausatf-primary-dark, #163a5c) !important;
    border-color: var(--pausatf-primary-dark, #163a5c);
    color: #fff !important;
}

/* Legacy content uses the generic .button class; keep those CTAs on-brand. */
.entry-content a.button,
.entry-content a.button:visited {
    display: inline-block;
    background: var(--pausatf-primary, #1f4e79) !important;
    color: #fff !important;
    border: 2px solid var(--pausatf-primary, #1f4e79);
    text-decoration: none !important;
    padding: 0.7rem 1rem;
}

.entry-content a.button:hover,
.entry-content a.button:focus-visible {
    background: var(--pausatf-primary-dark, #163a5c) !important;
    border-color: var(--pausatf-primary-dark, #163a5c);
    color: #fff !important;
}

/* Primary button */
.wp-block-button__link,
.button-primary,
input[type="submit"] {
    background-color: var(--pausatf-primary);
    color: var(--pausatf-white);
    border: none;
}

.wp-block-button__link:hover,
.button-primary:hover,
input[type="submit"]:hover {
    background-color: var(--pausatf-primary-dark);
    transform: translateY(-1px);
    box-shadow: var(--pausatf-shadow-md);
}

/* Secondary button */
.wp-block-button.is-style-outline .wp-block-button__link,
.button-secondary {
    background-color: transparent;
    color: var(--pausatf-primary);
    border: 2px solid var(--pausatf-primary);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover,
.button-secondary:hover {
    background-color: var(--pausatf-primary);
    color: var(--pausatf-white);
}

/* CTA button (red) */
.button-cta,
.wp-block-button.is-style-pausatf-cta .wp-block-button__link {
    background-color: var(--pausatf-secondary);
    color: var(--pausatf-white);
}

.button-cta:hover,
.wp-block-button.is-style-pausatf-cta .wp-block-button__link:hover {
    background-color: var(--pausatf-secondary-dark);
}

/*--------------------------------------------------------------
# Cards and Content Boxes
--------------------------------------------------------------*/
.pausatf-card {
    background: var(--pausatf-white);
    border-radius: var(--pausatf-radius-md);
    box-shadow: var(--pausatf-shadow-md);
    overflow: hidden;
    transition: all var(--pausatf-transition-base);
}

.pausatf-card:hover {
    box-shadow: var(--pausatf-shadow-lg);
    transform: translateY(-2px);
}

.pausatf-card__header {
    background: var(--pausatf-primary);
    color: var(--pausatf-white);
    padding: var(--pausatf-spacing-md) var(--pausatf-spacing-lg);
}

.pausatf-card__body {
    padding: var(--pausatf-spacing-lg);
}

/*--------------------------------------------------------------
# Alert Boxes
--------------------------------------------------------------*/
.pausatf-alert {
    padding: var(--pausatf-spacing-md) var(--pausatf-spacing-lg);
    border-radius: var(--pausatf-radius-sm);
    border-left: 4px solid;
    margin-bottom: var(--pausatf-spacing-lg);
}

.pausatf-alert--info {
    background-color: #e7f3ff;
    border-color: var(--pausatf-primary);
    color: var(--pausatf-primary-dark);
}

.pausatf-alert--success {
    background-color: #d4edda;
    border-color: #28a745;
    color: #155724;
}

.pausatf-alert--warning {
    background-color: #fff3cd;
    border-color: #ffc107;
    color: #856404;
}

.pausatf-alert--error {
    background-color: #f8d7da;
    border-color: var(--pausatf-secondary);
    color: var(--pausatf-secondary-dark);
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.site-footer {
    background-color: var(--pausatf-dark);
    color: var(--pausatf-gray-300);
}

.site-footer a {
    color: var(--pausatf-gray-100);
}

.site-footer a:hover {
    color: var(--pausatf-accent);
}

.footer-widgets {
    padding: var(--pausatf-spacing-3xl) 0;
}

.footer-widgets .widget-title {
    color: var(--pausatf-white);
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: var(--pausatf-spacing-lg);
    padding-bottom: var(--pausatf-spacing-sm);
    border-bottom: 2px solid var(--pausatf-secondary);
}

.site-info {
    background-color: var(--pausatf-gray-900);
    padding: var(--pausatf-spacing-md) 0;
    font-size: 0.875rem;
}

/*--------------------------------------------------------------
# Sport-Specific Color Classes
--------------------------------------------------------------*/
.sport-track-field {
    --sport-color: var(--pausatf-primary);
}

.sport-road-running {
    --sport-color: var(--pausatf-secondary);
}

.sport-cross-country {
    --sport-color: var(--pausatf-primary);
}

.sport-race-walking {
    --sport-color: #7B1FA2;
}

.sport-ultra-trail {
    --sport-color: #5D4037;
}

.sport-masters {
    --sport-color: #F57C00;
}

.sport-youth {
    --sport-color: #0288D1;
}

/*--------------------------------------------------------------
# Event Status Badges
--------------------------------------------------------------*/
.event-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 12px;
    border-radius: var(--pausatf-radius-full);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.event-badge--upcoming {
    background-color: #e3f2fd;
    color: #1565c0;
}

.event-badge--registration-open {
    background-color: #e8f5e9;
    color: #2e7d32;
}

.event-badge--registration-closed {
    background-color: #fff3e0;
    color: #ef6c00;
}

.event-badge--completed {
    background-color: var(--pausatf-gray-200);
    color: var(--pausatf-gray-600);
}

.event-badge--cancelled {
    background-color: #ffebee;
    color: #c62828;
}

/*--------------------------------------------------------------
# Tables (for results)
--------------------------------------------------------------*/
.pausatf-results-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9375rem;
}

.pausatf-results-table th,
.pausatf-results-table td {
    padding: 12px 16px;
    text-align: left;
    border-bottom: 1px solid var(--pausatf-gray-200);
}

.pausatf-results-table th {
    background-color: var(--pausatf-primary);
    color: var(--pausatf-white);
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.05em;
}

.pausatf-results-table tbody tr:hover {
    background-color: var(--pausatf-gray-100);
}

.pausatf-results-table .place-1 {
    background-color: #fef3c7;
}

.pausatf-results-table .place-2 {
    background-color: #f3f4f6;
}

.pausatf-results-table .place-3 {
    background-color: #fef3e2;
}

/*--------------------------------------------------------------
# Responsive Utilities
--------------------------------------------------------------*/
@media (max-width: 768px) {
    html {
        scroll-padding-top: 72px;
    }

    input,
    select,
    textarea,
    button {
        font-size: 16px;
    }

    :root {
        --pausatf-spacing-xl: 1.5rem;
        --pausatf-spacing-2xl: 2rem;
        --pausatf-spacing-3xl: 2.5rem;
    }

    .pausatf-results-table {
        font-size: 0.875rem;
    }

    .pausatf-results-table th,
    .pausatf-results-table td {
        padding: 8px 12px;
    }
}

/* Youth meet schedules use the same readable agenda pattern as the Grand Prix calendars. */
.entry-content .pausatf-youth-calendar {
    margin: 24px 0 36px;
}

.pausatf-youth-calendar-tools {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 22px 0;
}

.pausatf-youth-calendar-tools label {
    color: #334e60;
    font-weight: 700;
}

.pausatf-youth-calendar-tools select {
    min-width: 150px;
    padding: 8px 10px;
    border: 1px solid #9fb2bf;
    border-radius: 3px;
    background: #fff;
}

.pausatf-youth-calendar-grid {
    display: grid;
    gap: 16px;
}

.pausatf-youth-event-card {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 24px;
    padding: 22px 28px;
    border-radius: 16px;
    background: #f7f8f9;
    box-shadow: 0 2px 8px rgba(0, 45, 80, .08);
}

.pausatf-youth-event-card[hidden] {
    display: none !important;
}

.pausatf-youth-event-card.is-navy {
    background: #16345f;
    color: #fff;
}

.pausatf-youth-date {
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #c6283d;
    text-align: center;
}

.pausatf-youth-date strong {
    font-size: 1.8rem;
    line-height: 1.15;
}

.pausatf-youth-date small {
    margin-top: 6px;
    color: #667784;
}

.pausatf-youth-event-card.is-navy .pausatf-youth-date strong {
    color: #f05a63;
}

.pausatf-youth-event-card.is-navy .pausatf-youth-date small {
    color: #dbe7f4;
}

.pausatf-youth-event-body h3 {
    margin: 0 0 12px;
    color: #17212b;
    font-size: 1.3rem;
}

.pausatf-youth-event-card.is-navy .pausatf-youth-event-body h3 {
    color: #fff;
}

.pausatf-youth-event-body dl,
.pausatf-youth-event-body dl > div {
    margin: 0;
}

.pausatf-youth-event-body dl > div {
    padding: 8px 0;
    border-top: 1px solid #dbe3ea;
}

.pausatf-youth-event-body dt {
    color: #334e60;
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
}

.pausatf-youth-event-card.is-navy .pausatf-youth-event-body dt {
    color: #dbe7f4;
}

.pausatf-youth-event-body dd {
    margin: 2px 0 0;
}

@media (max-width: 768px) {
    .pausatf-youth-calendar-tools {
        align-items: flex-start;
        flex-direction: column;
    }

    .pausatf-youth-event-card {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 18px;
    }

    .pausatf-youth-date {
        align-items: flex-start;
        text-align: left;
    }
}

/* MUT Grand Prix agenda: a focused event-card layout inspired by modern team schedules. */
.entry-content .pausatf-mut-calendar {
    margin: 28px 0 36px;
}

.pausatf-mut-calendar-tools {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 22px 0;
}

.pausatf-mut-calendar-tools label {
    color: #334e60;
    font-weight: 700;
}

.pausatf-mut-calendar-tools select {
    min-width: 170px;
    padding: 8px 10px;
    border: 1px solid #9fb2bf;
    border-radius: 3px;
    background: #fff;
}

.pausatf-mut-calendar-notice {
    margin: 22px 0 28px;
    padding: 18px 20px;
    border-left: 5px solid #1f4e79;
    border-radius: 4px;
    background: #eef4f9;
    color: #263746;
}

.pausatf-mut-calendar-notice p {
    margin: 0 0 10px;
}

.pausatf-mut-calendar-notice p:last-child {
    margin-bottom: 0;
}

.entry-content .pausatf-mut-month-heading {
    margin: 30px 0 14px;
    color: #334e60;
    font-size: 1.35rem;
}

.pausatf-mut-event-card {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr) auto;
    align-items: center;
    gap: 24px;
    margin: 0 0 16px;
    padding: 22px 28px;
    border-radius: 18px;
    background: #f7f8f9;
    box-shadow: 0 2px 8px rgba(0, 45, 80, .08);
}

.pausatf-mut-event-card[hidden] {
    display: none !important;
}

.pausatf-mut-event-card.is-navy {
    background: #16345f;
    color: #fff;
}

.pausatf-mut-date {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    text-transform: uppercase;
}

.pausatf-mut-date span,
.pausatf-mut-date strong {
    color: #c6283d;
}

.is-navy .pausatf-mut-date span,
.is-navy .pausatf-mut-date strong {
    color: #f05a63;
}

.pausatf-mut-date span {
    font-size: .95rem;
    letter-spacing: .06em;
}

.pausatf-mut-date strong {
    font-size: 2.9rem;
    line-height: 1;
}

.pausatf-mut-date small {
    margin-top: 5px;
    color: #667784;
    font-size: .78rem;
}

.is-navy .pausatf-mut-date small,
.is-navy .pausatf-mut-series {
    color: #dbe7f4;
}

.pausatf-mut-event-body h3 {
    margin: 2px 0 8px;
    color: #17212b;
    font-size: 1.35rem;
}

.is-navy .pausatf-mut-event-body h3 {
    color: #fff;
}

.pausatf-mut-series {
    margin: 0;
    color: #5f6f7b;
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.pausatf-mut-meta,
.pausatf-mut-series-results {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    font-size: .92rem;
}

.pausatf-mut-meta span,
.pausatf-mut-series-results span {
    padding: 5px 11px;
    border-radius: 999px;
    background: #e9edf1;
    color: #263746;
}

.is-navy .pausatf-mut-meta span,
.is-navy .pausatf-mut-series-results span {
    background: #244875;
    color: #fff;
}

.pausatf-mut-series-results {
    margin-top: 10px;
}

.pausatf-mut-event-action {
    display: inline-block;
    min-width: 145px;
    padding: 13px 18px;
    border-radius: 8px;
    border: 2px solid #a91f32;
    background: #c6283d;
    color: #fff !important;
    font-size: .95rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none !important;
    text-shadow: none;
}

.pausatf-mut-event-action:hover,
.pausatf-mut-event-action:focus-visible {
    background: #a91f32;
    border-color: #7f1525;
    color: #fff !important;
}

/* Road Racing Grand Prix agenda */
.entry-content .pausatf-road-calendar {
    margin: 28px 0 36px;
}

.pausatf-road-calendar-tools {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: 22px 0;
}

.pausatf-road-calendar-tools label {
    color: #334e60;
    font-weight: 700;
}

.pausatf-road-calendar-tools select {
    min-width: 150px;
    padding: 8px 10px;
    border: 1px solid #9fb2bf;
    border-radius: 3px;
    background: #fff;
}

.entry-content .pausatf-road-month-heading {
    margin: 30px 0 14px;
    color: #334e60;
    font-size: 1.35rem;
}

.pausatf-road-event-card {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr) auto;
    align-items: center;
    gap: 24px;
    margin: 0 0 16px;
    padding: 22px 28px;
    border-radius: 18px;
    background: #f7f8f9;
    box-shadow: 0 2px 8px rgba(0, 45, 80, .08);
}

.pausatf-road-event-card[hidden] {
    display: none !important;
}

.pausatf-road-event-card.is-navy {
    background: #16345f;
    color: #fff;
}

.pausatf-road-date {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    text-transform: uppercase;
}

.pausatf-road-date span,
.pausatf-road-date strong {
    color: #c6283d;
}

.pausatf-road-event-card.is-navy .pausatf-road-date span,
.pausatf-road-event-card.is-navy .pausatf-road-date strong {
    color: #f05a63;
}

.pausatf-road-date span {
    font-size: .95rem;
    letter-spacing: .06em;
}

.pausatf-road-date strong {
    font-size: 2.9rem;
    line-height: 1;
}

.pausatf-road-date small {
    margin-top: 5px;
    color: #667784;
    font-size: .78rem;
}

.pausatf-road-event-card.is-navy .pausatf-road-date small,
.pausatf-road-event-card.is-navy .pausatf-road-series {
    color: #dbe7f4;
}

.pausatf-road-event-body h3 {
    margin: 2px 0 8px;
    color: #17212b;
    font-size: 1.35rem;
}

.pausatf-road-event-card.is-navy .pausatf-road-event-body h3 {
    color: #fff;
}

.pausatf-road-series {
    margin: 0;
    color: #5f6f7b;
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.pausatf-road-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    font-size: .92rem;
}

.pausatf-road-meta span,
.pausatf-road-team {
    padding: 5px 11px;
    border-radius: 999px;
    background: #e9edf1;
    color: #263746;
}

.pausatf-road-team {
    display: inline-block;
    margin: 10px 0 0;
    font-size: .9rem;
}

.pausatf-road-event-card.is-navy .pausatf-road-meta span,
.pausatf-road-event-card.is-navy .pausatf-road-team {
    background: #244875;
    color: #fff;
}

.pausatf-road-more {
    margin-top: 14px;
}

.pausatf-road-more summary {
    color: #1f4e79;
    cursor: pointer;
    font-weight: 700;
}

.pausatf-road-event-card.is-navy .pausatf-road-more summary {
    color: #fff;
}

.pausatf-road-more dl {
    margin: 10px 0 0;
}

.pausatf-road-more dl > div {
    padding: 8px 0;
    border-top: 1px solid #dbe3ea;
}

.pausatf-road-more dt {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
}

.pausatf-road-more dd {
    margin: 2px 0 0;
}

.pausatf-road-event-action {
    display: inline-block;
    min-width: 145px;
    padding: 13px 18px;
    border: 2px solid #a91f32;
    border-radius: 8px;
    background: #c6283d;
    color: #fff !important;
    font-weight: 700;
    text-align: center;
    text-decoration: none !important;
}

.pausatf-road-event-action:hover,
.pausatf-road-event-action:focus-visible {
    border-color: #7f1525;
    background: #a91f32;
    color: #fff !important;
}

/* Keep the schedule full-width and prevent global link styles from turning
 * the action label blue or underlining it. */
.page-id-75307 .site-content .content-area {
    width: 100%;
}

.page-id-75307 .site-content .is-right-sidebar {
    display: none;
}

.entry-content a.pausatf-road-event-action,
.entry-content a.pausatf-road-event-action:hover,
.entry-content a.pausatf-road-event-action:focus,
.entry-content a.pausatf-road-event-action:focus-visible {
    background: #c6283d;
    border-color: #a91f32;
    color: #fff !important;
    text-decoration: none !important;
}

.entry-content a.pausatf-road-event-action:hover,
.entry-content a.pausatf-road-event-action:focus,
.entry-content a.pausatf-road-event-action:focus-visible {
    background: #a91f32;
    border-color: #7f1525;
}

@media (max-width: 768px) {
    .pausatf-road-event-card {
        grid-template-columns: 64px minmax(0, 1fr);
        gap: 14px;
        padding: 18px;
        border-radius: 12px;
    }

    .pausatf-road-event-body h3 {
        font-size: 1.15rem;
    }

    .pausatf-road-event-action {
        grid-column: 2;
        width: 100%;
    }
}

/* The site-wide underlined-link rule must not override this button label. */
.entry-content a.pausatf-mut-event-action,
.entry-content a.pausatf-mut-event-action:hover,
.entry-content a.pausatf-mut-event-action:focus,
.entry-content a.pausatf-mut-event-action:focus-visible {
    background: #c6283d;
    border-color: #a91f32;
    color: #fff !important;
    text-decoration: none !important;
}

.entry-content a.pausatf-mut-event-action:hover,
.entry-content a.pausatf-mut-event-action:focus,
.entry-content a.pausatf-mut-event-action:focus-visible {
    background: #a91f32;
    border-color: #7f1525;
}

@media (max-width: 768px) {
    .pausatf-mut-event-card {
        grid-template-columns: 64px minmax(0, 1fr);
        gap: 14px;
        padding: 18px;
        border-radius: 12px;
    }

    .pausatf-mut-event-body h3 {
        font-size: 1.15rem;
    }

    .pausatf-mut-event-action {
        grid-column: 2;
        width: 100%;
    }
}

/*--------------------------------------------------------------
# Print Styles
--------------------------------------------------------------*/
@media print {
    .site-header,
    .site-footer,
    .main-navigation,
    .sidebar,
    .comments-area,
    .navigation {
        display: none !important;
    }

    .site-content {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    a[href]::after {
        content: " (" attr(href) ")";
        font-size: 0.8em;
        color: #666;
    }

    .pausatf-results-table {
        page-break-inside: avoid;
    }
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    background-color: var(--pausatf-white);
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    clip-path: none;
    color: var(--pausatf-dark);
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

/* Focus styles */
:focus-visible {
    outline: 2px solid var(--pausatf-primary);
    outline-offset: 2px;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 2px solid var(--pausatf-primary);
    outline-offset: 2px;
}

/* Skip link */
.skip-link {
    position: absolute;
    left: -9999px;
    z-index: 999999999;
    background: var(--pausatf-primary);
    color: var(--pausatf-white);
    padding: 15px 23px;
    font-weight: 700;
    text-decoration: none;
}

.skip-link:focus {
    left: 6px;
    top: 7px;
}

/*--------------------------------------------------------------
# Reduced Motion
--------------------------------------------------------------*/
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/*--------------------------------------------------------------
# Legacy Skin (TheSource parity)
# Ported from TheSource style.css + style-Red.css onto GeneratePress
# selectors, reusing the original theme's image assets
# (assets/img/legacy/, copied from the production theme).
--------------------------------------------------------------*/
body {
    background: #eceaea;
}

/* gray textured band, output right after the nav (see functions.php) */
.pausatf-topband {
    /* just enough to clear the bar's 14px overhang; card starts right below */
    height: 16px;
    background: url(assets/img/legacy/index-top-bg.png) repeat-x;
}

.site-logo img {
    /* Give the wide masthead enough presence above the title/navigation bar. */
    display: block;
    max-height: 124px;
    width: auto;
}

.site-logo picture {
    display: block;
}

/* content card floats on the canvas, like #main-content on the live site */
#page.container {
    margin-top: 0;
    box-shadow: 0 0 7px rgba(0, 0, 0, 0.25);
}

/* #header-top: 40px black strip aligned to the bar's top edge; the 54px red bar
   overhangs 14px below it onto the gray band (original #cat-nav bottom:-14px) */
.main-navigation {
    background: #0b0b0b url(assets/img/legacy/header-top-bg.png) repeat-x bottom left;
    padding: 0;
    height: 40px;
    overflow: visible;
}

/* #cat-nav-content: the original 64px glossy red gradient */
.main-navigation .inside-navigation {
    background: url(assets/img/legacy/cat-nav-content.png) repeat-x;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
}

.main-navigation .main-nav > ul > li > a {
    font-weight: 700;
    letter-spacing: 0.01em;
    font-size: 0.875rem;
    text-shadow: 1px 1px 1px #8d1a13;
    border-radius: 6px;
}

/* no red hairline on the live header; the black strip provides the separation */
.site-header {
    border-bottom: 0;
}

.main-navigation .main-nav > ul > li > a:hover,
.main-navigation .current-menu-item > a {
    color: #fff !important;
}

.main-navigation .main-nav > ul > li > a:focus,
.main-navigation .main-nav > ul > li > a:active,
.main-navigation .main-nav > ul > li.current-menu-item > a,
.main-navigation .main-nav > ul > li.current-menu-ancestor > a {
    color: #fff !important;
}

/* hover/current darken like the sprite states, kept inside the rounded bar */
.main-navigation .navigation-search input[type="search"] {
    background: rgba(255, 255, 255, 0.95);
    border-radius: 14px;
    font-style: italic;
    color: #646464;
}

/* dropdowns: white panel with hairline border, like the old superfish menus */
.main-navigation ul ul {
    border: 1px solid #9d9d9d;
    border-top: 0;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.main-navigation ul ul li a {
    text-shadow: none;
}

/* social menu items render as white icons, as on the live bar */
.main-navigation .main-nav ul li a[href*="instagram.com"],
.main-navigation .main-nav ul li a[href*="facebook.com"],
.main-navigation .main-nav ul li a[href*="youtube.com"] {
    font-size: 0 !important;
    width: 36px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 21px 21px;
}

.main-navigation a[href*="instagram.com"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.2' cy='6.8' r='1.3' fill='white' stroke='none'/%3E%3C/svg%3E");
}

.main-navigation a[href*="facebook.com"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z'/%3E%3C/svg%3E");
}

.main-navigation a[href*="youtube.com"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E");
}

/* card content starts flush at the card top, as on the live layout */
.one-container .site-content {
    padding-top: 0;
}

/* breadcrumb strip across the content column (output in functions.php) */
.pausatf-breadcrumb {
    font-family: var(--pausatf-font-primary);
    font-size: 0.875rem;
    color: #565656;
    background: linear-gradient(180deg, #fbfbfb, #e3e3e3);
    border-bottom: 1px solid #c9c9c9;
    padding: 11px 40px;
    margin: 0 -40px 30px;
    text-shadow: 1px 1px 1px #fff;
}

.pausatf-breadcrumb a {
    color: #565656;
}

/* column groove between content and sidebar */
.site-content .is-right-sidebar {
    border-left: 1px solid #dedede;
    box-shadow: inset 1px 0 0 #fff;
}

/* #footer: original dark gradient */
.site-footer {
    background: #0b0b0b url(assets/img/legacy/footer-bg.png) repeat-x;
}

/* Georgia-italic metadata, as on the old theme */
.entry-meta,
.entry-meta a {
    font-family: Georgia, serif;
    font-style: italic;
    font-size: 0.75rem;
}

.entry-header > .entry-meta {
    margin-top: 0;
    line-height: 1.35;
}

/* red date belt on post entries (images/red/belt.png treatment) */
.entry-meta .posted-on {
    background: transparent;
    color: #5f6368;
    padding: 0;
    font-style: normal;
    font-family: Arial, sans-serif;
    font-size: 11px;
    text-shadow: none;
}

.entry-meta .posted-on a {
    color: #5f6368;
    font-style: normal;
}

.pausatf-related-posts {
    margin-top: 36px;
    padding: 22px 24px 18px;
    border: 1px solid #c4cfdf;
    border-left: 6px solid var(--pausatf-primary, #1f4e79);
    border-radius: 4px;
    background: #f7f9fc;
}

.pausatf-related-posts h2 {
    margin: 0 0 12px;
    padding-bottom: 8px;
    border-bottom: 3px solid var(--pausatf-primary, #1f4e79);
    color: var(--pausatf-primary, #1f4e79);
    font-size: 1.35rem;
    font-weight: 700;
}

.pausatf-related-posts ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.pausatf-related-posts li {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: baseline;
    padding: 11px 0;
    border-bottom: 1px solid #ececec;
}

.pausatf-related-posts li:last-child {
    border-bottom: 0;
}

.pausatf-related-posts li a {
    color: var(--pausatf-primary, #003087);
    font-size: 1rem;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

.pausatf-related-posts li a:hover,
.pausatf-related-posts li a:focus {
    color: var(--pausatf-secondary, #c8102e);
}

.pausatf-related-posts time {
    flex: 0 0 auto;
    color: #5f6368;
    font-size: 0.8125rem;
}

/* Body and resource-panel links remain visibly identifiable without hover. */
.entry-content a:not(.button):not(.wp-block-button__link),
.pausatf-section-sidebar a:not(.button):not(.wp-block-button__link),
.pausatf-related-posts a:not(.button):not(.wp-block-button__link) {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

/* Awards landing page: separate current resources from the historical archive. */
.page-id-593 .pausatf-awards-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1rem;
    margin: 0 0 2rem;
    padding: 1rem;
    border-left: 4px solid var(--pausatf-primary, #1f4e79);
    background: #f7f9fc;
}

.page-id-593 .pausatf-awards-intro h2,
.page-id-593 .pausatf-awards-intro p {
    margin: 0;
}

.page-id-593 .pausatf-awards-intro__links h2 a {
    color: var(--pausatf-primary, #1f4e79);
}

.page-id-593 .pausatf-award-gallery {
    width: 100%;
    margin: 1.5rem 0;
    border-collapse: collapse;
}

.page-id-593 .pausatf-award-gallery td {
    width: 50%;
    padding: 1rem;
    vertical-align: top;
    border: 1px solid #d7dde5;
    background: #fff;
}

.page-id-593 .pausatf-award-gallery img {
    display: block;
    max-height: 320px;
    width: auto;
    margin: 0 auto 1rem;
}

@media (max-width: 640px) {
    .page-id-593 .pausatf-awards-intro {
        grid-template-columns: 1fr;
    }

    .page-id-593 .pausatf-award-gallery,
    .page-id-593 .pausatf-award-gallery tbody,
    .page-id-593 .pausatf-award-gallery tr,
    .page-id-593 .pausatf-award-gallery td {
        display: block;
        width: 100%;
    }
}

.pausatf-section-sidebar {
    margin-bottom: 24px;
    padding: 18px 20px;
    border: 1px solid #c4cfdf;
    border-left: 6px solid var(--pausatf-primary, #003087);
    border-radius: 4px;
    background: #f7f9fc;
}

.pausatf-section-sidebar h2 {
    margin: 0 0 12px;
    padding-bottom: 8px;
    border-bottom: 3px solid var(--pausatf-primary, #003087);
    color: var(--pausatf-primary, #003087);
    font-family: var(--pausatf-font-primary, 'Source Sans 3'), Arial, sans-serif;
    font-size: 1.15rem;
    line-height: 1.3;
}

.pausatf-section-sidebar h3 {
    margin: 16px 0 6px;
    color: var(--pausatf-primary, #1f4e79) !important;
    font-size: 0.875rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em;
    line-height: 1.3 !important;
    text-transform: uppercase;
}

.pausatf-section-sidebar p {
    margin: 0 0 10px;
}

.pausatf-section-sidebar img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto 10px;
}

.pausatf-section-sidebar ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.pausatf-section-sidebar li {
    padding: 9px 0;
    border-bottom: 1px solid #e1e7ef;
}

.pausatf-section-sidebar li:last-child {
    border-bottom: 0;
}

.pausatf-section-sidebar a {
    color: var(--pausatf-primary, #003087);
    font-family: var(--pausatf-font-primary, 'Source Sans 3'), Arial, sans-serif;
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.45;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.pausatf-section-sidebar a:hover,
.pausatf-section-sidebar a:focus {
    color: var(--pausatf-secondary, #c8102e);
}

.pausatf-section-sidebar__news time {
    display: block;
    margin-top: 3px;
    color: #5f6368;
    font-size: 0.8rem;
}

.pausatf-section-sidebar,
.pausatf-section-sidebar * {
    font-family: var(--pausatf-font-primary, 'Source Sans 3'), Arial, sans-serif !important;
    font-style: normal !important;
    font-size: inherit !important;
    line-height: inherit !important;
    color: var(--pausatf-dark, #1a1a1a) !important;
}

.pausatf-section-sidebar {
    font-size: 0.9375rem !important;
    line-height: 1.5 !important;
}

.pausatf-section-sidebar h2 {
    font-size: 1.15rem !important;
    line-height: 1.3 !important;
    color: var(--pausatf-primary, #003087) !important;
}

.pausatf-section-sidebar a,
.pausatf-section-sidebar a * {
    color: var(--pausatf-primary, #003087) !important;
}

.pausatf-section-sidebar a:hover,
.pausatf-section-sidebar a:focus,
.pausatf-section-sidebar a:hover *,
.pausatf-section-sidebar a:focus * {
    color: var(--pausatf-secondary, #c8102e) !important;
}

@media (max-width: 768px) {
    .pausatf-related-posts li {
        display: block;
    }

    .pausatf-related-posts time {
        display: block;
        margin-top: 3px;
    }
}

/* content headings: modern PAUSATF typography and hierarchy */
.entry-content h1,
.entry-content h2,
.entry-content h3 {
    font-family: var(--pausatf-font-primary, 'Source Sans 3'), Arial, sans-serif;
    font-style: normal;
    font-weight: 700;
    color: var(--pausatf-dark, #1a1a1a);
    letter-spacing: 0;
}

.entry-content h2 {
    color: var(--pausatf-primary, #003087);
}

/* footer: menu row left, credit right, as on the live footer */
.site-info .inside-site-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.site-info .footer-bar ul {
    display: flex;
    flex-wrap: wrap;
    gap: 22px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.site-info .footer-bar a {
    color: #9c9c9c;
    font-weight: 700;
    font-size: 13px;
}

.site-info .footer-bar a:hover {
    color: #fff;
}

/* all content tables share the readable base size */
.entry-content .tablepress {
    font-size: 0.875rem;
    line-height: 1.5;
}

.entry-content .pausatf-contacts-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9375rem;
    line-height: 1.45;
}

.entry-content .pausatf-contacts-table td,
.entry-content .pausatf-contacts-table th {
    padding: 9px 12px;
    border-bottom: 1px solid #dfe4eb;
    vertical-align: top;
}

.entry-content .pausatf-contacts-table tr:nth-child(even) {
    background: #f7f9fc;
}

.entry-content .pausatf-contacts-table .pausatf-contact-section {
    background: var(--pausatf-primary, #003087);
    color: #fff;
}

.entry-content .pausatf-contacts-table a {
    font-weight: 700;
}

.entry-content table:not(.tablepress):not(.pausatf-contacts-table) {
    width: 100%;
    border-collapse: collapse;
}

.entry-content table:not(.tablepress):not(.pausatf-contacts-table) td,
.entry-content table:not(.tablepress):not(.pausatf-contacts-table) th {
    padding: 9px 12px;
    border-bottom: 1px solid #dfe4eb;
    vertical-align: top;
}

.entry-content iframe {
    max-width: 100%;
}

.pausatf-footer-nav {
    flex: 1;
    min-width: 0;
}

.pausatf-footer-nav ul {
    display: flex;
    flex-wrap: wrap;
    gap: 22px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pausatf-footer-nav a {
    color: #9c9c9c;
    font-size: 13px;
    font-weight: 700;
}

.pausatf-footer-nav a:hover,
.pausatf-footer-nav a:focus {
    color: #fff;
}

/* front-page layout table only: TheSource-child `table` rules */
#tablepress-99 {
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 1em;
    text-align: center;
    border: 0;
}

/* legacy cells are <br>/<hr>-separated; GP's paragraph margins blow them apart */
#tablepress-99 p {
    margin: 0 0 6px;
}

#tablepress-99 p:empty {
    display: none;
}

/* data tables (schedules, results): accessible headers, zebra rows */
.entry-content .tablepress:not(#tablepress-99) {
    width: 100%;
    border-collapse: collapse;
}

.entry-content .tablepress:not(#tablepress-99) thead th {
    background: var(--pausatf-primary);
    color: #fff;
    text-align: left;
    padding: 10px 12px;
    font-weight: 600;
    vertical-align: middle;
}

/* Headers enhanced by the theme's lightweight sortable-table behavior. */
.entry-content .tablepress thead th[role="button"] {
    cursor: pointer;
    user-select: none;
}

.entry-content .tablepress thead th[role="button"]::after {
    content: "↕";
    display: inline-block;
    margin-left: 0.45rem;
    opacity: 0.72;
    font-size: 0.85em;
}

.entry-content .tablepress thead th[role="button"][aria-sort="ascending"]::after {
    content: "↑";
    opacity: 1;
}

.entry-content .tablepress thead th[role="button"][aria-sort="descending"]::after {
    content: "↓";
    opacity: 1;
}

.entry-content .tablepress thead th[role="button"]:focus-visible {
    outline: 3px solid #d9b44a;
    outline-offset: -3px;
}

.entry-content .tablepress:not(#tablepress-99) tbody td {
    padding: 8px 12px;
    border-bottom: 1px solid #e2e2e2;
    vertical-align: top;
}

.entry-content .tablepress:not(#tablepress-99) tbody tr:nth-child(odd) {
    background: #f7f9fc;
}

#tablepress-99 td {
    width: 50%;
    vertical-align: top;
    background: transparent;
    border: 0;
    padding: 0;
}

/* TheSource-child heading rules used inside content (JOIN TODAY! is an h5) */
.entry-content h4 {
    font-size: 18px;
    font-style: italic;
}

.entry-content h5 {
    /* legacy cells contain unclosed h5s; dark gray matches the live rendering */
    color: #383737;
    font-size: 16px;
    font-style: italic;
    font-weight: bold;
    font-family: Arial, sans-serif;
}

.entry-content h5 a,
.entry-content h4 a {
    color: #383737;
}

#tablepress-99 tr,
#tablepress-99 tbody td {
    background: transparent;
}

/* footer social items as small colored icons, like the live footer */
.site-footer a[href*="instagram.com"],
.site-footer a[href*="facebook.com"],
.site-footer a[href*="youtube.com"] {
    font-size: 0;
    display: inline-block;
    width: 24px;
    height: 24px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 20px 20px;
    vertical-align: middle;
}

.site-footer a[href*="instagram.com"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E4405F' stroke-width='2'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.2' cy='6.8' r='1.3' fill='%23E4405F' stroke='none'/%3E%3C/svg%3E");
}

.site-footer a[href*="facebook.com"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231877F2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M14.5 8.5h-1.4c-.6 0-1 .4-1 1V11h2.3l-.35 2.2H12.1V19h-2.3v-5.8H8V11h1.8V9.3c0-1.8 1.1-2.8 2.7-2.8h2z' fill='white'/%3E%3C/svg%3E");
}

.site-footer a[href*="youtube.com"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23FF0000'%3E%3Crect x='2' y='5.5' width='20' height='13' rx='3.5'/%3E%3Cpolygon points='10,9 15.5,12 10,15' fill='white'/%3E%3C/svg%3E");
}

/* search pill in the red bar (TheSource #cat-nav #search-form) */
.main-navigation .inside-navigation {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
}

.main-navigation .main-nav > ul {
    flex-wrap: nowrap;
}

.pausatf-nav-search {
    order: 10;
    margin-left: auto;
    margin-right: 12px;
    flex-shrink: 0;
}

.pausatf-nav-search input[type="search"] {
    width: 118px;
    height: 27px;
    border: 0;
    border-radius: 14px;
    padding: 0 30px 0 14px;
    font: italic 12px Georgia, serif;
    color: #646464;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.4'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5 21 21'/%3E%3C/svg%3E") no-repeat right 10px center / 13px 13px;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.25);
}

.pausatf-nav-search input[type="search"]:focus {
    outline: 2px solid rgba(255, 255, 255, 0.6);
}

/* hr separators inside content tables render as visible rules (browser default was reset) */
.entry-content hr {
    border: 0;
    height: 2px;
    background: #d9d9d9;
    border-bottom: 1px solid #fff;
    margin: 10px auto;
}

/* committee code prefixes in post titles: small red, as on the live lists */
.pausatf-committee {
    color: #c8102e;
    font-size: 0.78em;
    font-weight: 700;
    letter-spacing: 0.02em;
}

/* Keep panels useful and quiet: neutral surfaces, one navy accent, restrained hover. */
.pausatf-section-sidebar,
.pausatf-related-posts {
    border-color: #d7dde5;
    border-left-width: 3px;
    background: #fff;
}

.pausatf-section-sidebar h2,
.pausatf-related-posts h2 {
    border-bottom-width: 1px;
}

.pausatf-section-sidebar a:hover,
.pausatf-section-sidebar a:focus,
.pausatf-related-posts a:hover,
.pausatf-related-posts a:focus,
.entry-content a:hover,
.entry-content a:focus {
    color: var(--pausatf-primary-dark, #163a5c) !important;
}

/* announcements column: full bold per editorial preference */
#tablepress-99 strong {
    font-weight: 700;
}

/* share row (sharedaddy equivalent) */
.pausatf-share {
    margin-top: 24px;
    border-top: 1px solid #e2e2e2;
    padding-top: 12px;
}

.pausatf-share .sd-title {
    font: 600 0.75rem/1 var(--pausatf-font-primary);
    font-style: normal;
    color: #767676;
    margin-bottom: 8px;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.pausatf-share ul {
    display: flex;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.pausatf-share a {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 600;
    color: #444;
    background: #f2f2f2;
    border: 1px solid #d9d9d9;
    border-radius: 3px;
    padding: 4px 10px;
    text-decoration: none;
}

.pausatf-share a:hover {
    background: #e8e8e8;
    color: #111;
}

/* row headers in data tables: quiet, not the navy column-header treatment */
.pausatf-results-table tbody th {
    background: #f4f6fb;
    color: var(--pausatf-dark);
    text-transform: none;
    font-weight: 600;
    text-align: left;
}

/* footer bar widget and copyright share one row, menu left, credit right */
.site-info .inside-site-info {
    flex-wrap: nowrap;
}

.site-info .footer-bar {
    flex: 1;
    min-width: 0;
}

.site-info .footer-bar ul {
    justify-content: flex-start;
}

.site-info .copyright {
    flex-shrink: 0;
}

/* No footer credit is displayed; remove the now-empty GeneratePress row too. */
.copyright-bar {
    display: none;
}

/* Accessible responsive tables used by current program pages. */
.entry-content .pausatf-data-table {
    width: 100%;
    margin: 1.25rem 0 2rem;
    border-collapse: collapse;
    font-size: 0.9375rem;
}

.pausatf-data-table th,
.pausatf-data-table td {
    padding: 0.65rem 0.75rem;
    border: 1px solid #d7dde5;
    text-align: left;
    vertical-align: top;
}

.pausatf-data-table thead th {
    background: var(--pausatf-primary, #1f4e79);
    color: #fff;
    font-weight: 700;
}

.pausatf-data-table tbody tr:nth-child(even) {
    background: #f7f9fc;
}

@media (max-width: 640px) {
    .entry-content .pausatf-data-table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        white-space: nowrap;
    }
}

/* Legacy content is full of inline color markup (font tags, style attrs).
   Neutralize it for a uniform, accessible palette: text inherits, links are
   navy (8.6:1 on white). Semantic classes (.pausatf-committee, components)
   keep their colors. */
.entry-content [style*="color"],
.entry-content font[color] {
    color: inherit !important;
}

.entry-content a,
.entry-content a [style*="color"],
.entry-content a font[color] {
    color: var(--pausatf-primary, #003087) !important;
}

.entry-content a:hover {
    color: var(--pausatf-secondary, #a61b2b) !important;
}

.pausatf-committee {
    color: var(--pausatf-secondary, #a61b2b) !important;
}

/* Keep the legacy site's clean, unadorned link treatment consistently blue. */
.entry-content a {
    text-decoration: none;
}

.pausatf-calendar-embed iframe {
    display: block;
    width: 100%;
    min-height: 900px;
    border: 1px solid #ddd;
}

/*--------------------------------------------------------------
# Events Agenda + Mobile Bar
--------------------------------------------------------------*/
.pausatf-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 20px;
}

.pausatf-chips .chip {
    font: 600 0.875rem/1 inherit;
    font-family: inherit;
    padding: 13px 16px;
    border-radius: 999px;
    border: 1px solid #c6d0e0;
    background: #fff;
    color: #3c4a61;
    cursor: pointer;
    text-transform: none;
    letter-spacing: 0;
}

.pausatf-chips .chip.is-on {
    background: var(--pausatf-primary, #003087);
    border-color: var(--pausatf-primary, #003087);
    color: #fff;
}

.agenda-date {
    font-family: inherit;
    font-style: normal;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #5b6779;
    margin: 26px 0 8px;
}

.agenda-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.agenda-item {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 12px;
    padding: 12px 14px;
    border: 1px solid #e2e7f0;
    border-radius: 10px;
    background: #fff;
    margin-bottom: 8px;
}

.agenda-item[hidden] {
    display: none;
}

.agenda-title {
    font-weight: 600;
    flex: 1 1 60%;
}

.agenda-meta {
    color: #5b6779;
    font-size: 0.8125rem;
}

.agenda-cal {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    padding: 2px 8px;
    border-radius: 999px;
    background: #eef2fa;
    color: var(--pausatf-primary, #003087);
}

/* mobile bottom action bar (proposal: Home / Events / Results / Join) */
.pausatf-mobile-bar {
    display: none;
}

@media (max-width: 768px) {
    .pausatf-mobile-bar {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 1000;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        background: #fff;
        border-top: 1px solid #e2e7f0;
        padding: 6px 4px calc(6px + env(safe-area-inset-bottom));
    }

    .pausatf-mobile-bar a {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 3px;
        min-height: 48px;
        justify-content: center;
        font-size: 0.6875rem;
        font-weight: 600;
        color: #5b6779;
        text-decoration: none;
    }

    .pausatf-mobile-bar a[aria-current="page"] {
        color: var(--pausatf-primary, #003087);
    }

    .pausatf-mobile-bar a.is-join {
        color: #c8102e;
    }

    .pausatf-mobile-bar svg {
        width: 22px;
        height: 22px;
        stroke: currentColor;
        fill: none;
        stroke-width: 1.9;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    body {
        padding-bottom: 72px;
    }
}

/* front page: keep the h1 for assistive tech, visually quiet like the live site */
.home .entry-header .entry-title,
.home h1.entry-title {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}

/* heading links are self-evident; underline stays for links inside prose */
.entry-content :is(h1, h2, h3, h4, h5, h6) a {
    text-decoration: none;
}

/* 404 page */
.pausatf-404 {
    background: #fff;
    padding: 40px;
}

.pausatf-404 .search-form {
    margin: 20px 0 28px;
    max-width: 420px;
}

.pausatf-404-links {
    padding-left: 20px;
}

.pausatf-404-links li {
    margin-bottom: 8px;
}

/* committee hub news feed */
.pausatf-hub-news {
    margin-top: 36px;
    border-top: 2px solid #e2e2e2;
    padding-top: 18px;
}

.pausatf-hub-news ul {
    list-style: none;
    padding: 0;
    margin: 0 0 12px;
}

.pausatf-hub-news li {
    padding: 9px 0;
    border-bottom: 1px solid #ececec;
}

.pausatf-hub-news .hub-date {
    color: #767676;
    font-size: 0.75rem;
    margin-left: 6px;
}

.pausatf-hub-news .hub-links {
    font-size: 0.875rem;
}

/*--------------------------------------------------------------
# Mobile UI (≤768px)
# Per converged vendor guidance: M3 app bar + navigation bar with
# active indicator, card feed, flat surfaces, 48px touch targets.
--------------------------------------------------------------*/
@media (max-width: 768px) {
    /* app bar: compact, pinned, flat */
    .site-header {
        position: sticky;
        top: 0;
        z-index: 900;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
    }

    .site-header .inside-header {
        padding: 8px 12px;
    }

    .site-logo img {
        max-height: 164px;
        width: 100%;
        height: auto;
        object-fit: contain;
    }

    /* the desktop skin's strip and band read as clutter at phone width */
    .pausatf-topband {
        display: none;
    }

    .main-navigation {
        background: var(--pausatf-secondary, #a61b2b);
        height: auto;
        padding: 0;
    }

    .main-navigation .inside-navigation {
        background: none;
        border-radius: 0;
        box-shadow: none;
        transform: none;
        min-height: 48px;
    }

    .main-navigation .menu-toggle {
        min-height: 48px;
        padding: 0 16px;
        font-weight: 700;
    }

    /* nav sheet: white full-width panel, 48px rows */
    .main-navigation.toggled .main-nav > ul {
        background: #fff;
        border-bottom: 2px solid var(--pausatf-secondary, #a61b2b);
    }

    .main-navigation.toggled .main-nav a {
        color: #1a1a1a !important;
        text-shadow: none;
        min-height: 48px;
        line-height: 48px !important;
        border-bottom: 1px solid #efefef;
        font-size: 1rem;
    }

    .main-navigation.toggled .main-nav ul ul li a {
        padding-left: 28px;
        background: #fafafa;
    }

    /* search pill full width inside the bar */
    .pausatf-search-item {
        flex: 1;
    }

    .pausatf-nav-search {
        margin: 0 8px 0 4px;
        width: 100%;
    }

    .pausatf-nav-search input[type="search"] {
        width: 100%;
        height: 40px;
    }

    /* content: flat card canvas */
    body {
        background: #f4f5f7;
    }

    #page.container {
        margin-top: 0;
        box-shadow: none;
    }

    .pausatf-breadcrumb {
        margin: -30px -30px 20px;
        padding: 9px 16px;
        font-size: 0.75rem;
    }

    /* feed entries as cards (Meta-style card feed) */
    .blog .inside-article,
    .archive .inside-article {
        background: #fff;
        border: 1px solid #e4e7ec;
        border-radius: 12px;
        margin-bottom: 12px;
        padding: 16px !important;
    }

    /* homepage layout table stacks to one column */
    #tablepress-99,
    #tablepress-99 tbody,
    #tablepress-99 tr {
        display: block;
        width: 100%;
    }

    #tablepress-99 td {
        display: block;
        width: 100% !important;
        margin-bottom: 12px;
    }

    /* data tables scroll sideways in their own container (WCAG reflow exception) */
    .entry-content .tablepress:not(#tablepress-99) {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* agenda chips reach full touch size */
    .pausatf-chips .chip {
        padding: 14px 18px;
        min-height: 48px;
    }

    /* M3 navigation bar: active pill indicator */
    .pausatf-mobile-bar a {
        position: relative;
    }

    .pausatf-mobile-bar a svg {
        position: relative;
        z-index: 1;
    }

    .pausatf-mobile-bar a::before {
        content: "";
        position: absolute;
        top: 4px;
        left: 50%;
        transform: translateX(-50%) scaleX(0.6);
        width: 52px;
        height: 28px;
        border-radius: 999px;
        background: transparent;
        transition: transform 150ms ease, background-color 150ms ease;
    }

    .pausatf-mobile-bar a[aria-current="page"]::before {
        background: #dce6f7;
        transform: translateX(-50%) scaleX(1);
    }

    .pausatf-mobile-bar a.is-join[aria-current="page"]::before {
        background: #fbe3e7;
    }

    @media (prefers-reduced-motion: reduce) {
        .pausatf-mobile-bar a::before {
            transition: none;
        }
    }
}

/* open nav sheet: own scroll area, above header, bottom bar steps aside */
@media (max-width: 768px) {
    .main-navigation {
        position: relative;
        z-index: 950;
    }

    .main-navigation.toggled .main-nav > ul {
        max-height: calc(100vh - 160px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
    }

    body.pausatf-menu-open .pausatf-mobile-bar {
        display: none;
    }
}

/* mobile text readability: legacy content patterns vs small screens */
@media (max-width: 768px) {
    /* centered multi-line prose is hard to read; keep images and headings centered */
    .entry-content p[style*="text-align: center"],
    .entry-content div[style*="text-align: center"] p,
    .entry-content [align="center"] p {
        text-align: left !important;
    }

    /* long legacy URLs and unbroken strings must wrap, not overflow */
    .entry-content {
        overflow-wrap: break-word;
        word-break: normal;
    }

    .entry-content a,
    .entry-content code,
    .entry-content pre {
        overflow-wrap: anywhere;
    }

    /* heading lines break evenly */
    h1, h2, h3 {
        text-wrap: balance;
        letter-spacing: 0;
    }

    /* tame legacy blockquote indents and hr gaps */
    .entry-content blockquote {
        margin: 1em 0;
        padding: 0.5em 1em;
    }

    .entry-content hr {
        margin: 14px auto;
    }

    /* list breathing room at thumb sizes */
    .entry-content ul li,
    .entry-content ol li {
        margin-bottom: 8px;
    }

    .entry-content table:not(.tablepress):not(.pausatf-contacts-table) {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .pausatf-footer-nav ul {
        justify-content: center;
        gap: 14px 18px;
    }

    /* the announcements table reads as a feed once stacked: left-set, upright */
    #tablepress-99 td {
        text-align: left;
    }

    #tablepress-99 h5,
    #tablepress-99 strong {
        font-style: normal;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

/* embeds reserve their space; late loads must not shift layout */
.entry-content iframe[src*="calendar.google.com"] {
    width: 100%;
    height: 900px;
    border: 1px solid #ddd;
}

.pausatf-archive-notice {
    margin: 0 0 24px;
    padding: 16px 18px;
    border-left: 4px solid #005596;
    background: #eef5fa;
}

.pausatf-archive-notice p {
    margin: 6px 0 0;
}

/* Cross-country schedules are event records, not a wide spreadsheet. */
.entry-content .pausatf-xc-schedule-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin: 28px 0 36px;
}

.entry-content .pausatf-xc-awards {
    margin: 22px 0 28px;
    padding: 18px 22px;
    border-left: 5px solid #1f4e79;
    border-radius: 4px;
    background: #eef4f9;
}

.pausatf-xc-awards h2,
.pausatf-xc-awards p {
    margin-top: 0;
}

/* Shared schedule design tokens: concise summaries first, details on demand. */
.pausatf-mut-calendar,
.pausatf-road-calendar,
.pausatf-xc-calendar {
    --calendar-navy: #16345f;
    --calendar-red: #c6283d;
    --calendar-border: #d7e1e8;
}

.pausatf-mut-series,
.pausatf-road-series,
.pausatf-xc-series {
    letter-spacing: 0;
    text-transform: none;
}

.pausatf-mut-calendar-tools,
.pausatf-road-calendar-tools,
.pausatf-xc-calendar-tools {
    margin: 24px 0;
    padding: 14px 16px;
    border: 1px solid var(--calendar-border);
    border-radius: 8px;
    background: #f7f9fb;
}

.pausatf-mut-calendar-tools select,
.pausatf-road-calendar-tools select,
.pausatf-xc-calendar-tools select {
    min-height: 42px;
    color: #17212b;
    font-size: 1rem;
}

.pausatf-mut-more summary,
.pausatf-road-more summary,
.pausatf-xc-more summary {
    padding: 7px 0;
    font-size: .95rem;
}

.pausatf-mut-more summary:focus-visible,
.pausatf-road-more summary:focus-visible,
.pausatf-xc-more summary:focus-visible,
.pausatf-mut-calendar-tools select:focus-visible,
.pausatf-road-calendar-tools select:focus-visible,
.pausatf-xc-calendar-tools select:focus-visible {
    outline: 3px solid #f4c542;
    outline-offset: 3px;
}

@media (max-width: 479px) {
    .pausatf-mut-event-card,
    .pausatf-road-event-card,
    .pausatf-xc-race-card {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 16px;
        border-radius: 12px;
    }

    .pausatf-mut-date,
    .pausatf-road-date,
    .pausatf-xc-date {
        align-items: flex-start;
        text-align: left;
    }

    .pausatf-mut-event-action,
    .pausatf-road-event-action,
    .pausatf-xc-calendar-links {
        grid-column: 1;
        width: 100%;
        min-width: 0;
    }
}

.page-id-78325 .site-content .content-area { width: 100%; }
.page-id-78325 .site-content .is-right-sidebar { display: none; }

.pausatf-xc-calendar-tools {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 24px 0 4px;
}

.pausatf-xc-calendar-tools label {
    color: #334e60;
    font-weight: 700;
}

.pausatf-xc-calendar-tools select {
    min-width: 170px;
    padding: 8px 10px;
    border: 1px solid #9fb2bf;
    border-radius: 3px;
    background: #fff;
    color: #1f2933;
}

.entry-content .pausatf-xc-month-heading {
    grid-column: 1 / -1;
    margin: 18px 0 -4px;
    color: #334e60;
    font-size: 1.35rem;
}

.pausatf-xc-race-card {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr) auto;
    align-items: center;
    gap: 24px;
    margin: 0 0 16px;
    padding: 22px 28px;
    border-radius: 18px;
    background: #f7f8f9;
    box-shadow: 0 2px 8px rgba(0, 45, 80, .08);
}

.pausatf-xc-race-card:nth-of-type(odd) { background: #16345f; color: #fff; }

.pausatf-xc-date { display: flex; flex-direction: column; align-items: center; text-align: center; text-transform: uppercase; }
.pausatf-xc-date span, .pausatf-xc-date strong { color: #c6283d; }
.pausatf-xc-race-card:nth-of-type(odd) .pausatf-xc-date span, .pausatf-xc-race-card:nth-of-type(odd) .pausatf-xc-date strong { color: #f05a63; }
.pausatf-xc-date span { font-size: .95rem; letter-spacing: .06em; }
.pausatf-xc-date strong { font-size: 2.9rem; line-height: 1; }
.pausatf-xc-date small { margin-top: 5px; color: #667784; font-size: .78rem; }
.pausatf-xc-race-card:nth-of-type(odd) .pausatf-xc-date small { color: #dbe7f4; }
.pausatf-xc-event-body { min-width: 0; }

.pausatf-xc-series {
    margin: 0;
    color: #5f6f7b;
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.pausatf-xc-race-card:nth-of-type(odd) .pausatf-xc-series { color: #dbe7f4; }

.pausatf-xc-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
    font-size: .9rem;
}

.pausatf-xc-meta span {
    padding: 5px 10px;
    border-radius: 999px;
    background: #e9edf1;
    color: #263746;
}

.pausatf-xc-race-card:nth-of-type(odd) .pausatf-xc-meta span {
    background: #244875;
    color: #fff;
}

.pausatf-xc-meta strong { font-weight: 700; }

.pausatf-xc-race-card h3 {
    margin: 2px 0 8px;
    color: #17212b;
    font-size: 1.35rem;
}

.pausatf-xc-race-card:nth-of-type(odd) h3 { color: #fff; }

.pausatf-xc-calendar-links {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 9px;
    min-width: 150px;
    margin: 0;
    font-size: .88rem;
}

.pausatf-xc-calendar-links a {
    display: inline-block;
    padding: 13px 18px;
    border: 2px solid #a91f32;
    border-radius: 8px;
    background: #c6283d;
    color: #fff !important;
    font-weight: 700;
    text-align: center;
    text-decoration: none !important;
}

.pausatf-xc-calendar-links a:hover,
.pausatf-xc-calendar-links a:focus-visible {
    border-color: #7f1525;
    background: #a91f32;
    color: #fff !important;
}

.pausatf-xc-calendar-links a + a {
    border-color: #1f4e79;
    background: #fff;
    color: #1f4e79 !important;
    font-size: .88rem;
}

.pausatf-xc-race-card:nth-of-type(odd) .pausatf-xc-calendar-links a + a {
    border-color: #fff;
    background: transparent;
    color: #fff !important;
}

.pausatf-xc-race-card:nth-of-type(odd) .pausatf-xc-calendar-links a + a:hover,
.pausatf-xc-race-card:nth-of-type(odd) .pausatf-xc-calendar-links a + a:focus-visible {
    background: #fff;
    color: #16345f !important;
}

.pausatf-xc-race-card dl,
.pausatf-xc-race-card dl > div {
    margin: 0;
}

.pausatf-xc-race-card dl > div {
    padding: 11px 0;
    border-top: 1px solid #e8eef2;
}

.pausatf-xc-race-card dt {
    margin-bottom: 3px;
    color: #334e60;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.pausatf-xc-race-card dd {
    margin: 0;
    color: #1f2933;
    line-height: 1.5;
}

.pausatf-xc-more {
    margin-top: 18px;
    border-top: 1px solid #e8eef2;
    padding-top: 14px;
}

.pausatf-xc-more summary {
    color: #005596;
    cursor: pointer;
    font-weight: 700;
}

.pausatf-xc-more summary:focus-visible {
    outline: 3px solid #f4c542;
    outline-offset: 3px;
}

.pausatf-xc-race-card:nth-of-type(odd) .pausatf-xc-more,
.pausatf-xc-race-card:nth-of-type(odd) .pausatf-xc-more summary,
.pausatf-xc-race-card:nth-of-type(odd) .pausatf-xc-more dt,
.pausatf-xc-race-card:nth-of-type(odd) .pausatf-xc-more dd {
    color: #fff;
}

.pausatf-xc-race-card:nth-of-type(odd) .pausatf-xc-more dl > div {
    border-color: rgba(255, 255, 255, .25);
}

.pausatf-xc-race-card:nth-of-type(odd) .pausatf-xc-more a {
    color: #fff !important;
}

.pausatf-xc-more dl {
    margin: 12px 0 0;
}

.pausatf-xc-more dl > div {
    border-top: 1px solid #eef2f5;
    padding: 10px 0;
}

@media (max-width: 1024px) {
    .entry-content .pausatf-xc-schedule-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .pausatf-xc-calendar-tools {
        align-items: flex-start;
        flex-direction: column;
    }

    .entry-content .pausatf-xc-schedule-grid {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-top: 22px;
    }

    .pausatf-xc-race-card {
        grid-template-columns: 64px minmax(0, 1fr);
        gap: 14px;
        padding: 18px;
    }

    .pausatf-xc-calendar-links { grid-column: 2; min-width: 0; }

    .pausatf-calendar-embed iframe {
        min-height: 700px;
    }

    .entry-content iframe[src*="calendar.google.com"] {
        height: 600px;
    }
}
