/* Theme-independent public training catalogue. All rules are scoped. */
.os-training{--os-ink:#435d70;--os-heading:#173b63;--os-muted:#435d70;--os-green:#4f7563;--os-line:#dfdfce;--os-paper:#fffdf9;--os-rose:#f6e9e3;--os-sage:#e8f0e5;color:var(--os-ink);font-family:inherit;font-size:16px;line-height:1.65;max-width:1180px;margin:36px auto;padding:24px;box-sizing:border-box;isolation:isolate}
.os-training *,.os-training *:before,.os-training *:after{box-sizing:border-box}
.os-training h2,.os-training h3,.os-training h4,.os-training p,.os-training dl{color:inherit;margin:0}
.os-training h2{color:var(--os-heading);font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(28px,4vw,43px);font-weight:500;line-height:1.18;letter-spacing:-.025em}
.os-training h3{color:var(--os-heading);font-family:"Cormorant Garamond",Georgia,serif;font-size:27px;font-weight:500;line-height:1.25}
.os-training h4{font-family:inherit;font-size:16px;font-weight:700;line-height:1.5}
.os-training p{margin:0 0 16px}
.os-training a{color:var(--os-green);text-decoration:underline;text-underline-offset:3px}
.os-training-intro{background:var(--os-sage);border:1px solid var(--os-line);border-radius:24px;padding:40px;margin-bottom:30px}
.os-training-intro h2{max-width:780px;margin:0 0 18px}
.os-training-intro>p:last-child{max-width:730px;margin:0;color:var(--os-muted)}
.os-training .os-training-kicker{font-size:11px;font-weight:700;line-height:1.5;letter-spacing:.16em;text-transform:uppercase;color:var(--os-green);margin:0 0 14px}
.os-training-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:22px}
.os-training.os-training-catalogue.os-training-compact{margin:0;padding:0;max-width:none}
.os-training-card{background:var(--os-paper);border:1px solid var(--os-line);border-radius:20px;padding:28px;display:flex;flex-direction:column;box-shadow:0 7px 25px #293d3605}
.os-training-card-top{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:23px}
.os-training-badge{background:var(--os-sage);color:#476455;padding:5px 11px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.025em}
.os-training-mode{font-size:12px;color:var(--os-muted)}
.os-training-card h3{margin-bottom:8px}
.os-training .os-training-edition-name{color:var(--os-muted);font-size:15px;margin-bottom:18px}
.os-training .os-training-date{display:inline-block;align-self:flex-start;background:var(--os-rose);border-radius:8px;font-size:14px;font-weight:700;padding:7px 11px;margin-bottom:22px}
.os-training-card-facts{margin-bottom:24px!important}
.os-training-card-facts>div{display:block;margin-bottom:13px}
.os-training-card-facts dt{font-size:11px;color:var(--os-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700;line-height:1.4;margin-bottom:3px}
.os-training-card-facts dd{font-size:15px;margin:0;overflow-wrap:anywhere}
.os-training-card-footer{margin-top:auto;padding-top:23px;border-top:1px solid var(--os-line);display:flex;gap:16px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.os-training-card-footer>strong{font-size:23px;line-height:1.2}
.os-training .os-training-button{display:inline-flex;align-items:center;justify-content:center;gap:17px;border:1px solid var(--os-green);border-radius:30px;background:var(--os-green);color:#fff!important;text-decoration:none;font-family:inherit;font-size:14px;font-weight:600;line-height:1.4;padding:13px 17px;cursor:pointer;min-height:48px;transition:background .18s,border-color .18s}
.os-training .os-training-button:hover{background:#405d50;border-color:#405d50}
.os-training .os-training-button:disabled{opacity:.65;cursor:wait}
.os-training .os-training-button-wide{width:100%}
.os-training .os-training-button:focus-visible,.os-training a:focus-visible,.os-training summary:focus-visible,.os-training input:focus-visible{outline:3px solid #a28b59;outline-offset:4px}
.os-training-empty{background:var(--os-sage);border:1px solid var(--os-line);border-radius:16px;padding:26px;text-align:center}
.os-training-empty h3{margin-bottom:10px}.os-training-empty p:last-child{margin-bottom:0}
.os-training .os-training-back{display:inline-block;font-size:14px}
.os-training-summary{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--os-line);border-radius:16px;background:var(--os-paper);overflow:hidden;margin-bottom:36px}
.os-training-summary>div{padding:20px 23px;border-left:1px solid var(--os-line)}
.os-training-summary>div:first-child{border-left:0}
.os-training-summary span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--os-muted);margin-bottom:9px}
.os-training-summary strong{display:block;font-size:16px;line-height:1.45}
.os-training-summary small{display:block;color:var(--os-muted);font-size:13px;margin-top:5px;overflow-wrap:anywhere}
.os-training-detail-columns{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:start}
.os-training-content h3{margin:10px 0 20px}
.os-training-rich-text{overflow-wrap:anywhere}
.os-training-rich-text p{margin-bottom:15px}.os-training-rich-text ul,.os-training-rich-text ol{padding-left:24px;margin:12px 0 20px}.os-training-rich-text li{margin:5px 0}
.os-training-rich-text h2,.os-training-rich-text h3,.os-training-rich-text h4{font-family:inherit;font-size:17px;font-weight:700;line-height:1.5;margin:20px 0 10px}
.os-training-rich-text table{max-width:100%;border-collapse:collapse;display:block;overflow:auto;margin:16px 0}.os-training-rich-text th,.os-training-rich-text td{padding:8px;border:1px solid var(--os-line);text-align:left}.os-training-rich-text img{max-width:100%;height:auto}
.os-training-aside{background:var(--os-sage);padding:25px;border-radius:16px;border:1px solid var(--os-line)}
.os-training-aside h3{font-size:23px;margin-bottom:23px}
.os-training-installments{margin:21px 0 23px}.os-training-installments h4{margin-bottom:13px}.os-training-installments ol{list-style:none;padding:0;margin:0}.os-training-installments li{display:flex;flex-wrap:wrap;gap:6px 12px;justify-content:space-between;border-top:1px solid var(--os-line);padding:9px 0;font-size:13px}.os-training-installments li span{color:var(--os-muted)}
.os-training-registration{max-width:950px;border:1px solid var(--os-line);border-radius:22px;background:var(--os-paper);padding:36px;scroll-margin-top:36px}
.os-training-registration-heading{border-bottom:1px solid var(--os-line);padding-bottom:22px;margin-bottom:25px}.os-training-registration-heading h2{font-size:33px;margin-bottom:15px}.os-training-registration-heading p:last-child{font-size:15px;color:var(--os-muted);margin-bottom:0}
.os-training-notice{padding:16px 20px;border-radius:10px;border:1px solid var(--os-line);margin-bottom:24px;font-size:15px}.os-training-notice-success{background:#eef7ec}.os-training-notice-error{background:#fff0e9;border-color:#e6c7b9}
.os-training .os-training-required-note{font-size:12px;color:var(--os-muted);margin-bottom:19px}
.os-training-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:26px}.os-training-field-wide{grid-column:1/-1}.os-training-field label{display:block;font-size:14px;font-weight:600;margin-bottom:7px}.os-training-field input{appearance:none;display:block;width:100%;height:48px;margin:0;background:#fbfcfa;border:1px solid #cbd8ce;border-radius:9px;padding:10px 13px;color:var(--os-ink);font:inherit;box-shadow:none}.os-training-field input:focus{border-color:var(--os-green);background:#fff}
.os-training-invoice{border:1px solid var(--os-line);border-radius:10px;margin-bottom:27px}.os-training-invoice summary{padding:15px 18px;font-size:14px;font-weight:600;cursor:pointer}.os-training-invoice .os-training-fields{padding:8px 18px 0}
.os-training-legal{background:var(--os-paper);border:1px solid var(--os-line);border-radius:14px;padding:23px;margin:26px 0}.os-training-legal>h3{font-size:23px;margin-bottom:13px}.os-training-legal>p{font-size:14px}.os-training-legal details{border-top:1px solid var(--os-line);padding:14px 0 0;margin-top:15px}.os-training-legal summary{font-size:14px;font-weight:700;cursor:pointer}.os-training-legal .os-training-rich-text{font-size:13px;line-height:1.75;padding:17px 0 0;max-height:460px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.os-training-legal .os-training-rich-text:focus-visible{outline:2px solid var(--os-green)}
.os-training-consents{display:grid;gap:18px;margin:25px 0}.os-training-consents label{display:flex;gap:13px;font-size:14px;align-items:start;cursor:pointer}.os-training-consents input{appearance:auto;accent-color:var(--os-green);width:19px;height:19px;flex:0 0 19px;margin:3px 0 0}.os-training-submit{display:flex;align-items:center;gap:25px;border-top:1px solid var(--os-line);padding-top:25px}.os-training-submit button{flex-shrink:0}.os-training-submit p{font-size:12px;color:var(--os-muted);margin:0;max-width:430px}.os-training-honeypot{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* The existing category page has ID-scoped resets; keep these inside plugin content. */
#os-training-hub .os-training h2{color:var(--os-heading);font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(28px,4vw,43px);font-weight:500;line-height:1.18;letter-spacing:-.025em;color:var(--os-heading)}
#os-training-hub .os-training h3{color:var(--os-heading);font-family:"Cormorant Garamond",Georgia,serif;font-size:27px;font-weight:500;line-height:1.25;color:var(--os-heading)}
#os-training-hub .os-training p{padding:0;margin:0 0 16px}
#os-training-hub .os-training a{color:var(--os-green);font-family:inherit}
#os-training-hub .os-training .os-training-intro h2{margin:0 0 18px}
#os-training-hub .os-training .os-training-intro>p:last-child{margin:0;color:var(--os-muted)}
#os-training-hub .os-training .os-training-kicker{font-size:11px;font-weight:700;line-height:1.5;letter-spacing:.16em;color:var(--os-green);margin:0 0 14px}
#os-training-hub .os-training .os-training-card h3{margin-bottom:8px}
#os-training-hub .os-training .os-training-edition-name{margin-bottom:18px}
#os-training-hub .os-training .os-training-date{margin-bottom:22px}
#os-training-hub .os-training .os-training-content h3{margin:10px 0 20px}
#os-training-hub .os-training .os-training-aside h3{font-size:23px;margin-bottom:23px}
#os-training-hub .os-training .os-training-rich-text h2,#os-training-hub .os-training .os-training-rich-text h3,#os-training-hub .os-training .os-training-rich-text h4{font-family:inherit;font-size:17px;font-weight:700;line-height:1.5;margin:20px 0 10px}
#os-training-hub .os-training .os-training-registration-heading h2{font-size:33px;margin-bottom:15px}
#os-training-hub .os-training .os-training-registration-heading p:last-child{margin-bottom:0}
#os-training-hub .os-training .os-training-legal>h3{font-size:23px;margin-bottom:13px}
#os-training-hub .os-training .os-training-required-note{margin-bottom:19px}
#os-training-hub .os-training .os-training-submit p{margin:0}
#os-training-hub .os-training .os-training-empty h3{margin-bottom:10px}
#os-training-hub .os-training .os-training-empty p:last-child{margin-bottom:0}
#os-training-hub .os-training .os-training-button{background:var(--os-green);border:1px solid var(--os-green);font-family:inherit;font-size:14px;font-weight:600;line-height:1.4;color:#fff!important;text-align:center}
#os-training-hub .os-training .os-training-button:hover{background:#405d50;border-color:#405d50}
@media(max-width:800px){.os-training{padding:18px;margin:23px auto}.os-training-intro{padding:29px}.os-training-detail-columns{grid-template-columns:1fr;gap:24px}.os-training-summary{grid-template-columns:1fr 1fr}.os-training-summary>div:nth-child(3){border-left:0;border-top:1px solid var(--os-line)}.os-training-summary>div:nth-child(4){border-top:1px solid var(--os-line)}.os-training-aside{max-width:none}.os-training-registration{padding:26px}.os-training-submit{align-items:start;flex-direction:column;gap:16px}}
@media(max-width:480px){.os-training{padding:12px}.os-training-intro{padding:24px 22px;border-radius:16px}.os-training-card{padding:24px}.os-training-fields{grid-template-columns:1fr;gap:16px}.os-training-field-wide{grid-column:auto}.os-training-summary>div{padding:16px 14px}.os-training-summary strong{font-size:14px}.os-training-registration{padding:24px 18px}.os-training-registration-heading h2{font-size:29px}.os-training-legal{padding:18px}.os-training .os-training-kicker{letter-spacing:.11em}.os-training-submit button{width:100%}.os-training-card-footer{align-items:start;flex-direction:column}.os-training-card-footer .os-training-button{width:100%}}
@media(max-width:480px){#os-training-hub .os-training .os-training-registration-heading h2{font-size:29px}#os-training-hub .os-training .os-training-kicker{letter-spacing:.11em}}
@media(prefers-reduced-motion:reduce){.os-training .os-training-button{transition:none}}

/* Extra editions use the original native course and CTA, without changing planned cards. */
#os-training-hub .os-course-editions{display:grid;gap:15px;margin-top:18px;padding-top:17px;border-top:1px solid var(--os-line)}
#os-training-hub .os-course-editions>div,#os-training-hub .os-course-edition{min-width:0}
#os-training-hub .os-course-editions p{font-size:12px;line-height:1.7;margin:0;overflow-wrap:anywhere}
#os-training-hub .os-course-editions .os-cta{margin-top:8px}
#os-training-hub .os-course-editions strong{color:var(--os-navy);font-weight:600}
#os-training-hub .os-course-edition-meta{font-size:11px;line-height:1.7;margin:12px 0 0;overflow-wrap:anywhere}
