@charset "UTF-8";

/* =========================================================
   ALL COURSES – BODY ONLY
   Reuses variables and structural styles from css/style.css.
========================================================= */
.page-all-courses{background:#f6f8fb}
.all-courses-main{background:#f6f8fb;padding:0 0 70px}
.all-courses-main.site-frame-system{padding-bottom:70px}
.all-courses-main.site-frame-system>.site-framed-section{padding:0!important;background:transparent!important}

/* HERO */
.course-hero{position:relative;overflow:hidden;color:#fff;background:
  radial-gradient(circle at 82% 16%,rgba(239,200,97,.20),transparent 26%),
  linear-gradient(118deg,#082d49 0%,#103d61 54%,#1f6faf 100%)}
.course-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,30,49,.08),transparent 52%);pointer-events:none}
.course-hero::after{content:"";position:absolute;right:-145px;bottom:-220px;width:520px;height:520px;border:1px solid rgba(255,255,255,.12);border-radius:50%;pointer-events:none}
.course-hero__inner{position:relative;z-index:1;min-height:390px;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);align-items:center;gap:52px;padding:58px 0 64px}
.course-hero__copy{max-width:790px}
.course-hero .eyebrow{display:flex;align-items:center;gap:13px;margin:0 0 18px;color:var(--gold-light);font-size:13px;font-weight:900;letter-spacing:1.8px}
.course-hero .eyebrow::before{content:"";width:40px;height:2px;background:var(--gold-light)}
.course-hero h1{margin:0 0 18px;font:800 clamp(40px,4vw,58px)/1.08 var(--serif);letter-spacing:-.8px;text-wrap:balance}
.course-hero__lead{max-width:760px;margin:0;color:#e7f0f6;font-size:18px;line-height:1.7;text-wrap:pretty}
.course-hero__media{min-width:0;display:flex;justify-content:flex-end}
.course-hero__media-frame{position:relative;width:min(100%,520px);padding:13px;border:1px solid rgba(255,255,255,.24);border-radius:20px;background:rgba(255,255,255,.09);box-shadow:0 24px 54px rgba(2,20,34,.25);backdrop-filter:blur(8px)}
.course-hero__media-frame::before{content:"";position:absolute;left:-20px;top:28px;width:5px;height:92px;border-radius:999px;background:var(--gold-light);box-shadow:0 0 0 8px rgba(239,200,97,.10)}
.course-hero__media img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:13px;background:#dce7ee}

/* SEARCH */
.course-discovery{position:relative;z-index:4;margin-top:-34px}
.course-search-panel{padding:28px;border:1px solid #dbe3e9;border-radius:14px;background:#fff;box-shadow:0 18px 42px rgba(8,45,73,.14)}
.course-search-panel__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px}
.course-search-panel__heading h2{margin:0;color:var(--brand);font:800 26px/1.2 var(--serif)}
.course-search-panel__heading p{margin:6px 0 0;color:var(--muted);line-height:1.5}
.course-search-panel__form{display:grid;grid-template-columns:minmax(320px,1.65fr) minmax(230px,.9fr) auto auto;gap:12px;align-items:end}
.course-field{display:grid;gap:7px;min-width:0}
.course-field label{color:#344f65;font-size:12px;font-weight:900;letter-spacing:.45px;text-transform:uppercase}
.course-input-wrap{position:relative}
.course-input-wrap svg{position:absolute;left:15px;top:50%;width:20px;height:20px;transform:translateY(-50%);fill:none;stroke:#6e8190;stroke-width:2;pointer-events:none}
.course-field input,.course-field select{width:100%;height:52px;border:1px solid #cbd7df;border-radius:8px;color:#203b52;background:#fff;font:600 14px Roboto,"Helvetica Neue",sans-serif;outline:0;transition:border-color .2s,box-shadow .2s}
.course-field input{padding:0 16px 0 46px}
.course-field select{padding:0 38px 0 14px;cursor:pointer}
.course-field input:focus,.course-field select:focus{border-color:var(--brand-2);box-shadow:0 0 0 4px rgba(31,111,175,.12)}
.course-search-button,.course-reset-button{height:52px;padding:0 22px;border-radius:8px;font-size:13px;font-weight:900;letter-spacing:.35px;text-transform:uppercase;cursor:pointer;transition:transform .2s,background .2s,border-color .2s}
.course-search-button{border:1px solid var(--brand);color:#fff;background:var(--brand)}
.course-search-button:hover{background:var(--brand-2);border-color:var(--brand-2);transform:translateY(-1px)}
.course-reset-button{border:1px solid #bdcbd5;color:var(--brand);background:#fff}
.course-reset-button:hover{border-color:var(--brand);background:#f3f7fa}

/* CATALOG */
.course-catalog{padding:38px 0 0!important}
.course-catalog__header{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:20px}
.course-catalog__header h2{margin:0;color:var(--brand);font:800 34px/1.15 var(--serif)}
.course-catalog__header p{margin:8px 0 0;color:var(--muted);font-size:15px;line-height:1.55}
.course-results-summary{flex:0 0 auto;min-width:210px;padding:12px 16px;border-left:4px solid var(--gold);color:#344f65;background:#fff;font-size:14px;line-height:1.4;box-shadow:0 8px 22px rgba(8,45,73,.08)}
.course-results-summary strong{color:var(--brand);font-size:20px}

/* Exactly 13 buttons arranged as 7 + 6 on desktop. */
.course-category-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin:0 0 28px;padding:0;overflow:visible}
.course-category-button{min-width:0;min-height:48px;padding:7px 12px;border:1px solid #cbd7df;border-radius:999px;color:#385268;background:#fff;font-size:13px;font-weight:800;line-height:1.25;cursor:pointer;white-space:normal;text-align:center;transition:.2s}
.course-category-button:hover{border-color:#7da7c5;color:var(--brand-2);background:#f4f9fc}
.course-category-button.is-active{border-color:var(--brand);color:#fff;background:var(--brand);box-shadow:0 7px 17px rgba(16,61,97,.18)}
.course-category-button span{display:inline-block;margin-left:4px;opacity:.72;font-size:11px}

.course-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}
.course-card{min-width:0;display:flex;flex-direction:column;border:1px solid #d9e3e9;border-radius:10px;background:#fff;overflow:hidden;box-shadow:0 8px 22px rgba(8,45,73,.075);transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}
.course-card:hover{transform:translateY(-5px);border-color:#9fbfd3;box-shadow:0 16px 34px rgba(8,45,73,.15)}
.course-card[hidden]{display:none!important}
.course-card__image{position:relative;overflow:hidden;background:#dfe8ee}
.course-card__image::after{content:"";position:absolute;inset:auto 0 0;height:38%;background:linear-gradient(transparent,rgba(4,31,51,.24));pointer-events:none}
.course-card__image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;transition:transform .35s ease}
.course-card:hover .course-card__image img{transform:scale(1.045)}
.course-card__body{display:flex;flex-direction:column;flex:1;padding:15px 15px 16px}
.course-card__category{display:block;margin:0 0 8px;color:#9a6d12;font-size:10.5px;font-weight:900;letter-spacing:.65px;line-height:1.35;text-transform:uppercase}
.course-card h3{margin:0;color:#153c5b;font:800 16px/1.38 var(--serif);text-wrap:pretty}
.course-card__link{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:14px;color:var(--brand-2);font-size:12px;font-weight:900;text-transform:uppercase}
.course-card__link span:last-child{font-size:18px;transition:transform .2s}
.course-card:hover .course-card__link span:last-child{transform:translateX(4px)}
.course-empty{display:none;padding:54px 30px;border:1px dashed #a9bac6;border-radius:12px;text-align:center;background:#fff}
.course-empty.is-visible{display:block}
.course-empty h3{margin:0 0 10px;color:var(--brand);font:800 26px var(--serif)}
.course-empty p{margin:0;color:var(--muted);line-height:1.6}

.course-card:focus-visible,.course-category-button:focus-visible,.course-search-button:focus-visible,.course-reset-button:focus-visible{outline:3px solid var(--gold-light);outline-offset:3px}

@media (max-width:1220px){
  .course-hero__inner{grid-template-columns:minmax(0,1fr) 380px;gap:38px}
  .course-search-panel__form{grid-template-columns:minmax(260px,1.45fr) minmax(200px,.85fr) auto auto}
  .course-category-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
  .course-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:980px){
  .course-hero__inner{grid-template-columns:1fr;gap:30px;padding:56px 0 68px}
  .course-hero__media{justify-content:flex-start}
  .course-hero__media-frame{max-width:640px}
  .course-search-panel__form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .course-field--keyword{grid-column:1/-1}
  .course-category-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .course-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:760px){
  .course-hero__inner{padding:48px 0 60px}
  .course-hero h1{font-size:40px}
  .course-hero__lead{font-size:16px}
  .course-hero__media-frame::before{display:none}
  .course-discovery{margin-top:-26px}
  .course-search-panel{padding:22px 18px}
  .course-search-panel__heading,.course-catalog__header{align-items:flex-start;flex-direction:column}
  .course-results-summary{width:100%}
  .course-category-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
}
@media (max-width:560px){
  .course-search-panel__form{grid-template-columns:1fr}
  .course-field--keyword{grid-column:auto}
  .course-category-button{min-height:46px;padding:7px 9px;font-size:12px}
  .course-grid{grid-template-columns:1fr}
  .course-card{display:grid;grid-template-columns:126px minmax(0,1fr)}
  .course-card__image img{height:100%;min-height:150px;aspect-ratio:auto}
  .course-card__body{padding:13px}
  .course-card h3{font-size:15px}
  .course-card__link{padding-top:10px}
}
@media (prefers-reduced-motion:reduce){
  .course-card,.course-card__image img,.course-card__link span:last-child,.course-search-button{transition:none}
  .course-card:hover,.course-search-button:hover{transform:none}
}
