:root{ --container-max:1345px; }

/* Align header container width on this taxonomy only */
body.tax-courses-categories .custom-header-wrapper .container,
body.tax-courses-categories .custom-header-wrapper .wrap,
body.tax-courses-categories .custom-header-wrapper .wrap-1345{ max-width:var(--container-max); margin-inline:auto; padding-inline:20px; }

/* Base wrapper to unify width with header */
.wrap-1345{ max-width:var(--container-max); margin-inline:auto; padding-inline:20px; }

/* HERO */
body.tax-courses-categories .hero-section.hero--edu{
  position:relative; z-index:0;
  background:linear-gradient(180deg,#17488a 0%,#1f5bb0 100%);
  color:#fff; min-height:520px; display:flex; align-items:center; overflow:hidden;
}
body.tax-courses-categories .hero-section.hero--edu::after{
  content:""; position:absolute; right:-20%; bottom:-30%; width:60vw; max-width:900px; height:120%;
  background:radial-gradient(120% 100% at 0% 50%, rgba(255,255,255,.10) 0%, rgba(255,255,255,0) 70%); pointer-events:none;
}
body.tax-courses-categories .hero-section .hero-inner{ /* use wrap-1345 not .container to avoid conflicts */
  padding-block:56px; display:grid; grid-template-columns:minmax(0,1fr);
}
@media (min-width:1024px){
  body.tax-courses-categories .hero-section .hero-inner{
    grid-template-columns:7fr 5fr; gap:32px; align-items:center;
  }
}
body.tax-courses-categories .hero-title{
  margin:0 0 12px; font-weight:800; font-size:clamp(32px,2.2vw + 1rem,56px); line-height:1.1; letter-spacing:-.3px; color:#fff; text-align:left;
}
body.tax-courses-categories .hero-description{
  color:#eef4ff; font-size:18px; line-height:1.6; margin:0; max-width:760px; text-align:left;
}

/* Cards grid */
.training-archive .posts-grid{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:24px; margin-top:32px;
}
.training-archive .card{
  background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:16px; box-shadow:0 8px 20px rgba(0,0,0,.04);
  transition:transform .18s ease, box-shadow .18s ease; padding:18px;
}
.training-archive .card:hover{ transform:translateY(-2px); box-shadow:0 12px 28px rgba(0,0,0,.08); }
.training-archive .card a{ font-weight:700; text-decoration:none; }

/* Make sure site header (if fixed) stays above hero */
.custom-header-wrapper{ position:relative; z-index:2; }