:root{--cstc-green:#3fa385;--cstc-green-dark:#2f846b;--cstc-navy:#0d0158;--cstc-text:#202534;--cstc-muted:#687386;--cstc-border:#e5e8ef;--cstc-soft:#f7f9fb;--cstc-orange:#ff9900}
.cstc-training-plan,.cstc-course-explorer-v3,.cstc-plan-list-grid{box-sizing:border-box;color:var(--cstc-text)}.cstc-training-plan *,.cstc-course-explorer-v3 *,.cstc-plan-list-grid *{box-sizing:border-box}
.cstc-plan-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;background:linear-gradient(135deg,#f2faf7 0%,#fff 65%);border:1px solid #dceee8;border-radius:18px;padding:26px 28px;margin-bottom:16px}.cstc-plan-hero h2{margin:0;color:var(--cstc-navy);font-size:clamp(25px,3vw,36px);line-height:1.25}.cstc-plan-hero p{margin:9px 0 0;color:var(--cstc-muted);max-width:760px}.cstc-plan-stat{min-width:110px;text-align:center;background:#fff;border:1px solid #e0e8e5;border-radius:14px;padding:15px}.cstc-plan-stat strong{display:block;font-size:27px;color:var(--cstc-navy)}.cstc-plan-stat span{font-size:12px;color:var(--cstc-muted)}
.cstc-plan-filter{background:#fff;border:1px solid var(--cstc-border);border-radius:16px;padding:16px;margin-bottom:18px;box-shadow:0 5px 22px rgba(18,28,45,.045)}.cstc-plan-scope-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.cstc-plan-scope-tabs button{appearance:none;border:1px solid #dfe3ea;background:#fff;color:#4a5364;border-radius:999px;padding:9px 16px;font-weight:700;cursor:pointer;transition:.18s}.cstc-plan-scope-tabs button:hover{border-color:#a9d8ca}.cstc-plan-scope-tabs button.is-active{background:var(--cstc-navy);border-color:var(--cstc-navy);color:#fff}
.cstc-plan-months{display:flex;gap:6px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:thin}.cstc-plan-months button{flex:0 0 auto;appearance:none;border:0;background:#f4f6f9;color:#596273;border-radius:8px;padding:7px 12px;font-size:13px;cursor:pointer}.cstc-plan-months button.is-active{background:#e7f5f1;color:#1f755e;font-weight:800}.cstc-plan-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(145px,1fr));gap:10px;border-top:1px solid #eef0f4;padding-top:13px}.cstc-plan-filter-grid label,.cstc-course-filter-v3 label{display:flex;flex-direction:column;gap:5px}.cstc-plan-filter-grid label>span,.cstc-course-filter-v3 label>span{font-size:11px;font-weight:800;color:#737c8d}.cstc-plan-filter-grid select,.cstc-plan-filter-grid input,.cstc-course-filter-v3 select,.cstc-course-filter-v3 input{width:100%;min-height:43px;border:1px solid #dfe3ea;border-radius:9px;background:#fff;padding:8px 11px;color:#2c3341;outline:0}.cstc-plan-filter-grid select:focus,.cstc-plan-filter-grid input:focus,.cstc-course-filter-v3 select:focus,.cstc-course-filter-v3 input:focus{border-color:var(--cstc-green);box-shadow:0 0 0 3px rgba(63,163,133,.1)}.cstc-plan-filter-foot{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:10px}.cstc-plan-clear{appearance:none;border:0;background:transparent;color:#7a8393;text-decoration:underline;cursor:pointer}.cstc-plan-filter-foot span{font-size:13px;color:#626c7d}
.cstc-training-plan.is-loading .cstc-plan-results,.cstc-course-explorer-v3.is-loading [data-course-results]{opacity:.45;pointer-events:none}.cstc-plan-results,.cstc-course-results-v3{transition:opacity .2s}.cstc-plan-result-summary,.cstc-course-result-count{display:none}
.cstc-plan-table{border:1px solid var(--cstc-border);border-radius:14px;overflow:hidden;background:#fff}.cstc-plan-course-row{display:grid;grid-template-columns:minmax(280px,2.2fr) minmax(130px,1fr) minmax(120px,.9fr) minmax(110px,.8fr) minmax(110px,.75fr) auto;gap:14px;align-items:center;padding:14px 16px;border-bottom:1px solid #edf0f4;transition:.16s}.cstc-plan-course-row:last-child{border-bottom:0}.cstc-plan-course-row:hover{background:#fbfdfc}.cstc-plan-course-main{display:flex;gap:13px;min-width:0;align-items:center}.cstc-plan-course-thumb{width:66px;height:66px;flex:0 0 66px;border-radius:10px;overflow:hidden;background:#eef3f1;display:flex;align-items:center;justify-content:center;text-decoration:none}.cstc-plan-course-thumb img{width:100%;height:100%;object-fit:cover}.cstc-plan-course-thumb .dashicons{font-size:27px;width:27px;height:27px;color:var(--cstc-green)}.cstc-plan-course-title-wrap{min-width:0}.cstc-plan-course-title-wrap h3{font-size:15px;line-height:1.45;margin:5px 0 2px}.cstc-plan-course-title-wrap h3 a{color:var(--cstc-navy);text-decoration:none}.cstc-plan-course-title-wrap small{display:block;color:var(--cstc-muted);font-size:11px}.cstc-plan-course-badges{display:flex;gap:5px;flex-wrap:wrap}.cstc-plan-course-badges span{font-size:10px;line-height:1.5;background:#f1f3f6;color:#626b7b;border-radius:999px;padding:3px 7px;font-weight:700}.cstc-plan-course-badges .cstc-mode-badge.is-in_person{background:#eaf7f3;color:#25755f}.cstc-plan-course-badges .cstc-mode-badge.is-online{background:#eef2ff;color:#4b57a7}.cstc-plan-course-badges .cstc-scope-badge{background:#fff5e6;color:#956012}
.cstc-plan-course-detail,.cstc-plan-course-price{display:flex;flex-direction:column;gap:4px;min-width:0}.cstc-plan-course-detail span,.cstc-plan-course-price span{font-size:10px;color:#8a92a1;font-weight:700}.cstc-plan-course-detail strong,.cstc-plan-course-price strong{font-size:13px;color:#343b49}.cstc-plan-course-price strong{color:var(--cstc-navy);font-size:15px}.cstc-plan-course-cta{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;min-height:40px;border-radius:9px;padding:8px 13px;background:var(--cstc-green);color:#fff!important;text-decoration:none!important;font-size:12px;font-weight:800}.cstc-plan-course-cta:hover{background:var(--cstc-green-dark)}
.cstc-plan-no-results{text-align:center;border:1px dashed #cfd5df;border-radius:14px;padding:38px 20px;color:var(--cstc-muted);background:#fafbfd}.cstc-plan-no-results span{display:block;font-size:34px;color:#94a0b1}.cstc-plan-no-results strong{display:block;color:#303746;margin:8px 0}.cstc-plan-no-results p{margin:0}
.cstc-plan-list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.cstc-plan-list-card{position:relative;display:flex;flex-direction:column;gap:7px;text-decoration:none!important;border:1px solid var(--cstc-border);border-radius:15px;padding:19px;background:#fff;color:var(--cstc-text)!important;box-shadow:0 4px 18px rgba(20,30,45,.04)}.cstc-plan-list-card:hover{border-color:#b6ddd1;transform:translateY(-1px)}.cstc-plan-list-year{font-size:12px;font-weight:800;color:var(--cstc-green-dark)}.cstc-plan-list-card strong{font-size:18px;color:var(--cstc-navy)}.cstc-plan-list-card small{color:var(--cstc-muted)}.cstc-plan-list-arrow{position:absolute;inset-inline-end:18px;bottom:17px;color:var(--cstc-green);font-size:20px}
.cstc-course-explorer-head{background:#f7faf9;border:1px solid var(--cstc-border);border-radius:16px;padding:23px 25px;margin-bottom:13px}.cstc-course-explorer-head span{font-size:12px;color:var(--cstc-green-dark);font-weight:800}.cstc-course-explorer-head h2{margin:4px 0;color:var(--cstc-navy)}.cstc-course-explorer-head p{margin:6px 0 0;color:var(--cstc-muted)}.cstc-course-filter-v3{display:grid;grid-template-columns:1.5fr repeat(4,minmax(125px,1fr)) auto;gap:9px;align-items:end;border:1px solid var(--cstc-border);border-radius:14px;padding:13px;background:#fff;margin-bottom:16px}.cstc-course-filter-v3 button{min-height:43px;border:0;border-radius:9px;background:#f1f3f6;color:#616a79;font-weight:700;padding:8px 13px;cursor:pointer}.cstc-course-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cstc-course-card-v3{background:#fff;border:1px solid var(--cstc-border);border-radius:14px;overflow:hidden;box-shadow:0 4px 18px rgba(20,30,45,.04)}.cstc-course-card-image{position:relative;display:block;height:175px;background:#edf2f0;overflow:hidden}.cstc-course-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.cstc-course-card-v3:hover .cstc-course-card-image img{transform:scale(1.025)}.cstc-course-card-image>strong{position:absolute;inset-inline-start:12px;bottom:12px;background:#fff;border-radius:9px;padding:6px 9px;color:var(--cstc-navy);font-size:12px;box-shadow:0 3px 12px rgba(0,0,0,.1)}.cstc-course-card-body{padding:15px}.cstc-course-card-meta{display:flex;justify-content:space-between;gap:8px;color:#778091;font-size:11px}.cstc-course-card-body h3{font-size:16px;line-height:1.5;margin:8px 0}.cstc-course-card-body h3 a{color:var(--cstc-navy);text-decoration:none}.cstc-course-card-body small{color:var(--cstc-muted)}.cstc-course-card-link{display:inline-flex;margin-top:12px;color:var(--cstc-green-dark)!important;font-weight:800;text-decoration:none!important}.cstc-course-pagination{display:flex;justify-content:center;gap:6px;margin-top:18px}.cstc-course-pagination button{width:36px;height:36px;border:1px solid var(--cstc-border);border-radius:8px;background:#fff;cursor:pointer}.cstc-course-pagination button.is-active{background:var(--cstc-navy);border-color:var(--cstc-navy);color:#fff}
@media(max-width:1100px){.cstc-plan-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cstc-plan-course-row{grid-template-columns:minmax(270px,2fr) 1fr 1fr auto}.cstc-plan-course-duration,.cstc-plan-course-price{display:none}.cstc-course-filter-v3{grid-template-columns:repeat(3,minmax(0,1fr))}.cstc-course-filter-v3 .is-search{grid-column:span 2}.cstc-course-card-grid,.cstc-plan-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.cstc-plan-hero{align-items:flex-start;padding:20px;flex-direction:column}.cstc-plan-stat{display:flex;align-items:center;gap:8px;width:auto}.cstc-plan-stat strong{font-size:20px}.cstc-plan-scope-tabs{display:grid;grid-template-columns:1fr 1fr}.cstc-plan-scope-tabs button:first-child{grid-column:1/-1}.cstc-plan-filter{padding:12px}.cstc-plan-filter-grid{grid-template-columns:1fr}.cstc-plan-course-row{grid-template-columns:1fr auto;padding:14px}.cstc-plan-course-main{grid-column:1/-1}.cstc-plan-course-detail{display:flex}.cstc-plan-course-detail:nth-of-type(n+4){display:none}.cstc-plan-course-price{display:flex}.cstc-plan-course-cta{align-self:end}.cstc-course-filter-v3{grid-template-columns:1fr}.cstc-course-filter-v3 .is-search{grid-column:auto}.cstc-course-card-grid,.cstc-plan-list-grid{grid-template-columns:1fr}.cstc-course-card-image{height:190px}}

/* =========================================================
   3.1.0 — Optional sidebar plan layout + mobile filter drawer
   ========================================================= */
.cstc-plan-filter-head,.cstc-plan-mobile-filter-toggle,.cstc-plan-filter-backdrop{display:none}
.cstc-plan-layout{min-width:0}
.cstc-plan-results{min-width:0}

/* Sidebar desktop: LTR = filters left, RTL = filters right. */
.cstc-training-plan.is-layout-sidebar .cstc-plan-layout{display:flex;gap:20px;align-items:flex-start;direction:ltr}
.cstc-training-plan.is-layout-sidebar .cstc-plan-filter{flex:0 0 min(310px,30%);order:1;position:sticky;top:24px;margin:0;padding:17px;border-radius:18px;box-shadow:0 8px 26px rgba(18,28,45,.065);direction:ltr}
.cstc-training-plan.is-layout-sidebar .cstc-plan-results{flex:1 1 auto;order:2;direction:ltr}
.cstc-training-plan[dir="rtl"].is-layout-sidebar .cstc-plan-filter{order:2;direction:rtl}
.cstc-training-plan[dir="rtl"].is-layout-sidebar .cstc-plan-results{order:1;direction:rtl}
.cstc-training-plan.is-layout-sidebar .cstc-plan-filter-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid #edf0f4}
.cstc-training-plan.is-layout-sidebar .cstc-plan-filter-head strong{font-size:16px;color:var(--cstc-navy)}
.cstc-training-plan.is-layout-sidebar .cstc-plan-filter-head button{display:none;appearance:none;width:34px;height:34px;border:0;border-radius:50%;background:#f3f5f8;color:#4c5668;font-size:23px;line-height:1;cursor:pointer}
.cstc-training-plan.is-layout-sidebar .cstc-plan-scope-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:15px}
.cstc-training-plan.is-layout-sidebar .cstc-plan-scope-tabs button{padding:9px 8px;font-size:12px;line-height:1.35;border-radius:10px}
.cstc-training-plan.is-layout-sidebar .cstc-plan-scope-tabs button:first-of-type{grid-column:1/-1}
.cstc-training-plan.is-layout-sidebar .cstc-plan-months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;overflow:visible;padding:0 0 15px}
.cstc-training-plan.is-layout-sidebar .cstc-plan-months button{padding:7px 5px;font-size:11px;border-radius:8px;text-align:center}
.cstc-training-plan.is-layout-sidebar .cstc-plan-months button:first-of-type{grid-column:1/-1}
.cstc-training-plan.is-layout-sidebar .cstc-plan-filter-grid{grid-template-columns:1fr;gap:11px;padding-top:14px}
.cstc-training-plan.is-layout-sidebar .cstc-plan-filter-grid label>span{font-size:11px}
.cstc-training-plan.is-layout-sidebar .cstc-plan-filter-grid select,.cstc-training-plan.is-layout-sidebar .cstc-plan-filter-grid input{min-height:44px}
.cstc-training-plan.is-layout-sidebar .cstc-plan-filter-foot{padding-top:12px;border-top:1px solid #f0f2f5;margin-top:14px}

/* Results are intentionally more spacious in sidebar mode. */
.cstc-training-plan.is-layout-sidebar .cstc-plan-table{display:grid;gap:11px;border:0;background:transparent;overflow:visible}
.cstc-training-plan.is-layout-sidebar .cstc-plan-course-row{grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:10px 14px;border:1px solid var(--cstc-border);border-radius:15px;padding:15px 16px;background:#fff;box-shadow:0 4px 16px rgba(18,28,45,.035)}
.cstc-training-plan.is-layout-sidebar .cstc-plan-course-row:last-child{border-bottom:1px solid var(--cstc-border)}
.cstc-training-plan.is-layout-sidebar .cstc-plan-course-main{grid-column:1/-1;padding-bottom:10px;border-bottom:1px solid #f0f2f5}
.cstc-training-plan.is-layout-sidebar .cstc-plan-course-cta{min-height:38px;align-self:center}

/* Mobile sidebar drawer. */
@media(max-width:900px){
  html.cstc-filter-lock{overflow:hidden}
  .cstc-training-plan.is-layout-sidebar .cstc-plan-layout,.cstc-training-plan[dir="rtl"].is-layout-sidebar .cstc-plan-layout{display:block}
  .cstc-training-plan.is-layout-sidebar .cstc-plan-mobile-filter-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin:0 0 14px;padding:9px 15px;border:1px solid #dfe4eb;border-radius:11px;background:#fff;color:var(--cstc-navy);font-weight:800;cursor:pointer;box-shadow:0 4px 14px rgba(18,28,45,.04)}
  .cstc-plan-mobile-filter-toggle .dashicons{width:18px;height:18px;font-size:18px;color:var(--cstc-green-dark)}
  .cstc-plan-mobile-filter-toggle b{display:inline-flex;align-items:center;justify-content:center;min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:var(--cstc-green);color:#fff;font-size:11px}
  .cstc-plan-mobile-filter-toggle b[hidden]{display:none}
  .cstc-training-plan.is-layout-sidebar .cstc-plan-filter{position:fixed;z-index:100002;top:0;bottom:0;inset-inline-start:0;width:min(88vw,360px);height:100dvh;margin:0;border-radius:0;overflow-y:auto;overscroll-behavior:contain;padding:18px;transform:translateX(-110%);transition:transform .24s ease;box-shadow:0 0 40px rgba(7,16,29,.2)}
  .cstc-training-plan[dir="rtl"].is-layout-sidebar .cstc-plan-filter{transform:translateX(110%)}
  .cstc-training-plan.is-layout-sidebar.is-filter-open .cstc-plan-filter{transform:translateX(0)}
  .cstc-training-plan.is-layout-sidebar .cstc-plan-filter-head{position:sticky;top:-18px;z-index:2;background:#fff;padding-top:18px}
  .cstc-training-plan.is-layout-sidebar .cstc-plan-filter-head button{display:inline-flex;align-items:center;justify-content:center}
  .cstc-training-plan.is-layout-sidebar .cstc-plan-filter-backdrop{position:fixed;z-index:100001;inset:0;background:rgba(9,18,32,.42);backdrop-filter:blur(1px)}
  .cstc-training-plan.is-layout-sidebar.is-filter-open .cstc-plan-filter-backdrop{display:block}
  .cstc-training-plan.is-layout-sidebar .cstc-plan-course-row{grid-template-columns:1fr auto}
  .cstc-training-plan.is-layout-sidebar .cstc-plan-course-main{grid-column:1/-1}
  .cstc-training-plan.is-layout-sidebar .cstc-plan-course-detail{display:flex}
  .cstc-training-plan.is-layout-sidebar .cstc-plan-course-duration{display:none}
  .cstc-training-plan.is-layout-sidebar .cstc-plan-course-price{display:flex}
  .cstc-training-plan.is-layout-sidebar .cstc-plan-course-cta{align-self:end}
}

@media(max-width:560px){
  .cstc-training-plan.is-layout-sidebar .cstc-plan-course-row{grid-template-columns:1fr 1fr}
  .cstc-training-plan.is-layout-sidebar .cstc-plan-course-main{grid-column:1/-1}
  .cstc-training-plan.is-layout-sidebar .cstc-plan-course-cta{grid-column:1/-1;width:100%}
}
.cstc-training-plan.is-layout-sidebar .cstc-plan-course-duration,.cstc-training-plan.is-layout-sidebar .cstc-plan-course-price{display:flex}
