/* v1.6 adds discovery and detail layouts using the established theme tokens. */
.training-category-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; margin-top:34px; }
.training-category { display:flex; flex-direction:column; align-items:flex-start; min-width:0; padding:30px 26px; }
.training-category h2,.training-category h3 { font-family:var(--display); font-size:clamp(1.45rem,2vw,1.8rem); line-height:1.3; letter-spacing:-.025em; overflow-wrap:anywhere; }
.training-category > p:not(.eyebrow) { font-size:.9rem; line-height:1.75; }
.training-category .training-text-link { margin-top:auto; }
.training-text-link { display:inline-flex; min-height:44px; align-items:center; color:var(--scarlet-deep); font:600 .8rem/1.5 var(--ui); text-decoration:underline; text-underline-offset:5px; padding-block:10px; }
.training-category a:focus-visible,.training-text-link:focus-visible,.training-page button:focus-visible { outline:3px solid var(--scarlet-deep); outline-offset:5px; }
.training-page .training-intro { padding-top:180px; padding-bottom:35px; }
.training-intro h1 { max-width:22ch; margin:20px 0; font:500 clamp(2.3rem,4.7vw,4.3rem)/1.16 var(--display); letter-spacing:-.04em; }
.training-lead { max-width:72ch; color:var(--ink-soft); font-size:1.05rem; line-height:1.8; }
.training-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:30px; font-size:.8rem; color:var(--ink-soft); }
.training-breadcrumb a { display:inline-flex; min-height:44px; align-items:center; text-decoration:underline; text-underline-offset:4px; }
.training-page .programs { padding-top:30px; }
.training-detail { padding-block:25px 64px; }
.training-detail h2 { font-family:var(--display); font-size:clamp(1.6rem,2.8vw,2.3rem); font-weight:500; line-height:1.3; }
.training-program-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.training-detail-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:60px; align-items:start; }
.training-list { padding-inline-start:24px; color:var(--ink-soft); }
.training-list li { margin-bottom:14px; padding-inline-start:6px; }
.training-facts { padding:34px; }
.training-facts dl,.training-session dl { margin:0 0 24px; }
.training-facts dt,.training-session dt { margin-top:20px; font:600 .72rem/1.5 var(--ui); color:var(--scarlet-deep); }
.training-facts dd,.training-session dd { margin:5px 0 0; font-size:.95rem; color:var(--ink); }
.training-actions { display:flex; flex-wrap:wrap; gap:12px; }
.training-facts .training-actions { flex-direction:column; }
.training-actions .button { white-space:normal; text-align:center; min-height:48px; padding-block:12px; }
.private-card .button { margin-top:18px; }
.training-notice { margin-block:28px; padding:22px 26px; border-inline-start:3px solid var(--gold); background:var(--paper); border-radius:0 18px 18px 0; }
.training-roadmap { margin-top:56px; }
.training-completion { padding-block:80px; }
.training-completion .method-steps { margin-top:45px; }
.training-footnote { margin-top:28px; max-width:95ch; font-size:.84rem; color:var(--ink-soft); line-height:1.75; }
.training-completion-summary { margin-block:45px 25px; }
.training-completion-summary h2 { margin-top:0; }
.training-back { display:flex; flex-wrap:wrap; gap:28px; padding-bottom:60px; }
.training-enrollment { max-width:980px; }
.training-page[dir="rtl"] h1,.training-page[dir="rtl"] h2,.training-category[dir="rtl"] h3 { font-family:var(--arabic); letter-spacing:0; line-height:1.55; }
main[dir="rtl"] .training-category h2,main[dir="rtl"] .training-category h3,main[dir="rtl"] .training-text-link { font-family:var(--arabic); letter-spacing:0; }
main[dir="rtl"] .training-notice { border-radius:18px 0 0 18px; }
@media(min-width:981px) { .training-roadmap .roadmap-tabs { grid-template-columns:repeat(3,minmax(0,1fr)); } .training-roadmap .roadmap-tabs::before,.training-roadmap .roadmap-tabs::after { display:none; } }
@media(max-width:1100px) { .training-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .training-detail-grid { gap:30px; } }
@media(max-width:720px) {
 .training-category-grid,.training-detail-grid { grid-template-columns:1fr; }
 .training-category { padding:28px; }
 .training-page .training-intro { padding-top:155px; }
 .training-intro h1 { font-size:clamp(2rem,8vw,3rem); }
 .training-completion { padding-block:55px; }
 .training-facts { padding:27px; }
 .training-enrollment { width:100%; }
 .training-notice { padding:20px; }
}
