﻿/* Training catalog and detail use the public site's shared visual language. */
.training-page { color: var(--welsi-ink, #142c14); font-family: var(--welsi-body, 'IBM Plex Sans', sans-serif); }
.training-page :is(h1,h2,h3,h4,h5) { font-family: var(--welsi-display, 'Newsreader', Georgia, serif); font-weight: 500; line-height: 1.15; }
.training-page h2 { font-size: clamp(1.9rem,3vw,2.7rem); }
.training-page .training-eyebrow { color: var(--welsi-fern, #537b2f); font-size: .73rem; font-weight: 700; line-height: 1.5; letter-spacing: .13em; text-transform: uppercase; margin-bottom: 1rem; }
.training-hero { padding: clamp(3rem,6vw,5rem) 0; color: #fff; background: var(--welsi-deep, #003d20); border-bottom: 5px solid var(--welsi-accent, #e4eb9c); }
.training-page .training-hero .training-eyebrow { color: var(--welsi-accent, #e4eb9c); }
.training-hero h1 { color: white; font-size: clamp(3.5rem,6vw,5.5rem); letter-spacing: -.04em; }
.training-hero p:last-child { color: #e0e9df; margin-top: 1.5rem; line-height: 1.8; max-width: 42rem; font-size: 1.05rem; }
.training-catalog { padding-block: clamp(3rem,5vw,4.5rem); }
.training-card { display: flex; flex-direction: column; height: 100%; padding: 1.6rem; background: #fff; border: 1px solid var(--welsi-line, #d9e3d8); border-top: 3px solid var(--welsi-fern, #537b2f); border-radius: 6px; }
.training-card h3 { font-size: 1.65rem; margin-bottom: .6rem !important; color: var(--welsi-deep, #003d20); overflow-wrap: anywhere; }
.training-card > p { color: #435743; line-height: 1.8; font-size: .95rem; padding-block: .75rem; }
.training-meta { color: #596a59; font-size: .86rem; line-height: 1.85; overflow-wrap: anywhere; }
.training-meta strong { color: #435743; font-weight: 600; }
.training-card > .training-meta { padding: 1rem 0; border-block: 1px solid var(--welsi-line, #d9e3d8); }
.training-card-actions { margin-top: auto; padding-top: .5rem; }
.training-status { display: inline-block; padding: .3rem .55rem; border-radius: 4px; font-size: .72rem; font-weight: 600; white-space: nowrap; }
.training-status-open { background: #e6eed9; color: #315b2c; }
.training-status-closed { background: #edf0eb; color: #52634e; }
.training-status-inactive { background: #f7edcf; color: #795816; }
.training-status-deleted { background: #fbe7e7; color: #923131; }
.training-admin-box { padding: 1rem; margin-top: 1.5rem; background: var(--welsi-paper, #f4f7f3); border: 1px solid var(--welsi-line, #d9e3d8); border-radius: 5px; font-size: .85rem; line-height: 1.8; }
.training-page .btn { border-radius: 5px; font-weight: 600; padding: .65rem 1rem; }
.training-page :is(.btn-primary,.btn-success) { background: var(--welsi-deep, #003d20); border-color: var(--welsi-deep, #003d20); color: #fff; }
.training-page :is(.btn-primary,.btn-success):hover { background: #205132; border-color: #205132; }
.training-page .training-card-actions .btn-primary { background: white; color: var(--welsi-deep, #003d20); border-color: #b7cbb4; }
.training-page .training-card-actions .btn-primary:hover { background: var(--welsi-paper, #f4f7f3); }
.training-page .page-link { color: var(--welsi-deep, #003d20); }
.training-page .page-item.active .page-link { background: var(--welsi-deep, #003d20); color: white; border-color: var(--welsi-deep, #003d20); }
.training-detail-page { padding-block: clamp(2rem,4vw,3.5rem); }
.training-detail-heading { padding: 1rem 0 2.5rem; margin-bottom: 2rem; border-bottom: 1px solid var(--welsi-line, #d9e3d8); }
.training-detail-heading h1 { font-size: clamp(2.7rem,4.5vw,4.5rem); letter-spacing: -.035em; max-width: 58rem; margin-bottom: 1rem !important; overflow-wrap: anywhere; }
.training-box { padding: clamp(1.4rem,3vw,2rem); background: #fff; border: 1px solid var(--welsi-line, #d9e3d8); border-radius: 6px; color: #435743; line-height: 1.85; overflow-wrap: anywhere; }
.training-box :is(h4,h5) { color: var(--welsi-deep, #003d20); font-size: 1.8rem; margin-bottom: 1.3rem; }
.training-box p:last-child { margin-bottom: 0; }
.training-box > .list-unstyled > li { padding-block: .6rem; border-bottom: 1px solid var(--welsi-line, #d9e3d8); }
.training-box > .list-unstyled > li:last-child { border-bottom: 0; }
.training-registration-box { border-top: 3px solid var(--welsi-fern, #537b2f); background: var(--welsi-paper, #f4f7f3); }
.training-page :is(a,button):focus-visible { outline: 3px solid var(--welsi-fern, #537b2f); outline-offset: 3px; }
@media (max-width: 575.98px) {
    .training-card { padding: 1.3rem; }
    .training-card > .d-flex:first-child { flex-wrap: wrap; }
    .training-card-actions .btn { flex: 1; }
}
