/*
 * Training calendar styles — modernized port of PIMStyles.html from the legacy site.
 * Colors preserve the original visual identity (gray header, green meeting day,
 * blue race-day cell). All scoped under .pim-training so nothing leaks to the
 * rest of the site.
 *
 * Print rules: hide site chrome + non-print UI, preserve fills, avoid splitting
 * a week across pages, hint at landscape orientation.
 */

.pim-training {
    margin-block: 1.5rem;
    font-family: Arial, Helvetica, sans-serif;
}

.pim-training__heading {
    text-align: center;
    font-size: 14pt;
    font-weight: 700;
    margin-block: 0.75rem;
}

.pim-training__glossary-link {
    text-align: right;
    font-size: 1rem;
}

.pim-training__group-switcher {
    text-align: center;
    margin-block: 1rem;
}

.pim-training__group-switcher a {
    display: inline-block;
    padding: 10px;
    text-decoration: underline;
    font-size: 18px;
}

.pim-training__group-switcher a.is-current {
    font-weight: 700;
    text-decoration: none;
}

.pim-training__table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 10pt;
}

.pim-training__day-header {
    background: #DDDDDD;
    color: inherit;
    font-weight: 700;
    text-align: center;
    border: 1px solid #DDDDDD;
    padding: 4px 2px;
    width: calc(100% / 7);
}

.pim-training__date {
    font-weight: 700;
    text-align: left;
    vertical-align: bottom;
    border-top: 1px solid #DDDDDD;
    border-right: 1px solid #DDDDDD;
    border-left: 1px solid #DDDDDD;
    padding: 2px 4px;
    white-space: normal;
}

.pim-training__date--meeting {
    background: #dff0d8;
}

.pim-training__workout {
    text-align: center;
    vertical-align: middle;
    border-right: 1px solid #DDDDDD;
    border-left: 1px solid #DDDDDD;
    padding: 6px 4px;
    white-space: normal;
}

.pim-training__workout--meeting {
    background: #dff0d8;
}

.pim-training__workout-row--final-week .pim-training__workout,
.pim-training__workout-row--final-week .pim-training__workout--meeting {
    border-bottom: 1px solid #DDDDDD;
}

.pim-training__cell--race-day {
    background: #D9EDF9;
    text-align: center;
    vertical-align: middle;
    border: 1px solid #DDDDDD;
    padding: 6px 4px;
    font-weight: 700;
}

/* ---------- Print ---------- */

@media print {
    /* Hide site chrome (theme header/footer template parts) and any element we tag .pim-no-print. */
    body > header,
    body > footer,
    .wp-site-blocks > header,
    .wp-site-blocks > footer,
    header.wp-block-template-part,
    footer.wp-block-template-part,
    .pim-no-print {
        display: none !important;
    }

    /* Drop oversize main padding/margins so the table uses the page width. */
    main, .wp-site-blocks, .wp-block-post-content {
        padding: 0 !important;
        margin: 0 !important;
        max-width: none !important;
    }

    /* Browsers default to "background graphics off" when printing. Force colors
       so the gray header, green Wednesday, and blue race-day cells survive. */
    .pim-training,
    .pim-training * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* Don't split a single week's two-row pair across pages. */
    .pim-training__date-row,
    .pim-training__workout-row {
        page-break-inside: avoid;
        break-inside: avoid;
    }

    /* Preferred orientation; user can override via the print dialog. */
    @page {
        size: landscape;
        margin: 0.4in;
    }

    .pim-training {
        font-size: 9pt;
    }
}
