
/* Reliable Astra reset for the permanent Courses page */
body.btdcth-courses-page,
body.btdcth-courses-page #page,
body.btdcth-courses-page #content,
body.btdcth-courses-page .site-content,
body.btdcth-courses-page #primary,
body.btdcth-courses-page .site-main,
body.btdcth-courses-page article.page,
body.btdcth-courses-page .entry-content{
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
body.btdcth-courses-page .site-content>.ast-container,
body.btdcth-courses-page .ast-container,
body.btdcth-courses-page #primary,
body.btdcth-courses-page .site-main{
  max-width:none!important;
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}
body.btdcth-courses-page .entry-header,
body.btdcth-courses-page .entry-title{
  display:none!important;
}
body.btdcth-courses-page .entry-content{
  width:100%!important;
}
body.btdcth-courses-page .btdcth-fix-footer{
  margin-top:0!important;
}


:root{
  --cat-navy:#0d2b45;
  --cat-blue:#0f5f8f;
  --cat-teal:#0d8d8a;
  --cat-soft:#f5f9fb;
  --cat-line:#dce6ec;
  --cat-muted:#667783;
  --cat-gold:#e8a92f;
}

.btdcth-catalogue{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:#1b2933;
  background:#fff;
}
.btdcth-catalogue *{box-sizing:border-box}
.btdcth-cat-shell{width:min(1180px,calc(100% - 40px));margin:0 auto}
.btdcth-catalogue h1,.btdcth-catalogue h2,.btdcth-catalogue h3{font-family:inherit;color:var(--cat-navy);margin-top:0;letter-spacing:-.025em}
.btdcth-catalogue h1{font-size:clamp(2.5rem,5vw,4.7rem);line-height:1.03;margin-bottom:22px}
.btdcth-catalogue h2{font-size:clamp(2rem,3vw,3rem);line-height:1.08;margin-bottom:14px}
.btdcth-catalogue h3{font-size:1.25rem;line-height:1.25;margin-bottom:11px}
.btdcth-catalogue p{color:var(--cat-muted);font-size:1.02rem;line-height:1.65}
.btdcth-cat-kicker{font-size:.76rem;font-weight:850;letter-spacing:.16em;color:var(--cat-blue);margin-bottom:13px}
.btdcth-cat-kicker-light{color:#a9dced}

/* hero */
.btdcth-cat-hero{
  padding:70px 0;
  background:linear-gradient(120deg,#f7fbfd,#eaf5fa);
  border-bottom:1px solid #e1e9ee;
}
.btdcth-cat-hero-grid{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:70px;
  align-items:center;
}
.btdcth-cat-hero-grid>div:first-child p{max-width:760px;font-size:1.17rem}
.btdcth-cat-hero-panel{
  border-radius:22px;
  padding:30px;
  background:linear-gradient(135deg,var(--cat-navy),#105f7b);
  box-shadow:0 18px 45px rgba(13,43,69,.16);
  display:grid;
  gap:11px;
}
.btdcth-cat-hero-panel strong{font-size:1.3rem;color:#fff;margin-bottom:5px}
.btdcth-cat-hero-panel span{
  display:block;
  background:rgba(255,255,255,.1);
  color:#fff;
  padding:11px 14px;
  border-radius:10px;
  font-weight:700;
}

/* controls */
.btdcth-cat-controls-section{padding:42px 0;background:#fff;border-bottom:1px solid #e8eef1}
.btdcth-cat-controls{display:grid;gap:30px}
.btdcth-cat-search{display:block;max-width:650px}
.btdcth-cat-search>span,.btdcth-cat-filter-label{display:block;font-size:.8rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:#526572;margin-bottom:9px}
.btdcth-cat-search input{
  width:100%;
  height:52px;
  border:1.5px solid #cbd9e1;
  border-radius:13px;
  padding:0 17px;
  font-size:1rem;
  outline:none;
  background:#fff;
}
.btdcth-cat-search input:focus{border-color:var(--cat-blue);box-shadow:0 0 0 3px rgba(15,95,143,.09)}
.btdcth-cat-filters{display:flex;flex-wrap:wrap;gap:9px}
.btdcth-cat-filters button{
  border:1px solid #cad8df;
  background:#fff;
  color:#405563;
  border-radius:999px;
  padding:9px 13px;
  font-size:.82rem;
  font-weight:700;
  cursor:pointer;
}
.btdcth-cat-filters button:hover,.btdcth-cat-filters button.is-active{
  background:var(--cat-navy);
  border-color:var(--cat-navy);
  color:#fff;
}

/* cards */
.btdcth-cat-list-section{padding:72px 0 90px;background:var(--cat-soft)}
.btdcth-cat-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:34px}
.btdcth-cat-count{font-weight:750;color:#6a7984;font-size:.9rem}
.btdcth-cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.btdcth-cat-card{
  background:#fff;
  border:1px solid var(--cat-line);
  border-radius:19px;
  overflow:hidden;
  box-shadow:0 8px 28px rgba(25,48,65,.05);
  transition:transform .2s,box-shadow .2s;
}
.btdcth-cat-card:hover{transform:translateY(-4px);box-shadow:0 17px 40px rgba(25,48,65,.11)}
.btdcth-cat-card[hidden]{display:none!important}
.btdcth-cat-image,.btdcth-cat-placeholder{
  height:190px;
  display:flex;
  align-items:center;
  justify-content:center;
  background-size:cover;
  background-position:center;
  text-decoration:none!important;
}
.btdcth-cat-placeholder{background:linear-gradient(135deg,#113853,#0c8791)}
.btdcth-cat-placeholder span{color:#fff;font-size:2rem;font-weight:850;letter-spacing:.04em}
.btdcth-cat-body{padding:25px}
.btdcth-cat-eyebrow{
  color:var(--cat-blue);
  font-size:.74rem;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
  margin-bottom:10px;
}
.btdcth-cat-body h3 a{color:var(--cat-navy)!important;text-decoration:none!important}
.btdcth-cat-body p{font-size:.94rem;min-height:75px}
.btdcth-cat-meta{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0 14px}
.btdcth-cat-meta span{
  background:#f1f5f7;
  border:1px solid #e0e8ed;
  color:#596b77;
  border-radius:999px;
  padding:5px 9px;
  font-size:.72rem;
  font-weight:750;
}
.btdcth-cat-price{font-size:1.15rem;font-weight:850;color:var(--cat-navy);margin:7px 0 13px}
.btdcth-cat-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--cat-blue)!important;
  text-decoration:none!important;
  font-weight:800;
}
.btdcth-cat-link span{font-size:1.15em}
.btdcth-cat-empty{text-align:center;padding:45px 0}

/* corporate CTA */
.btdcth-cat-corporate{
  background:linear-gradient(135deg,var(--cat-navy),#105e79);
  padding:66px 0;
}
.btdcth-cat-corporate h2{color:#fff}
.btdcth-cat-corporate p{color:#d7e7ed;max-width:730px}
.btdcth-cat-corporate-inner,.btdcth-cat-help-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:45px;
}
.btdcth-cat-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  padding:14px 22px;
  border-radius:999px;
  background:#fff;
  color:var(--cat-navy)!important;
  text-decoration:none!important;
  font-weight:800;
}
.btdcth-cat-button-blue{background:var(--cat-blue);color:#fff!important}

/* help */
.btdcth-cat-help{padding:64px 0 48px;background:#fff}
.btdcth-cat-help p{max-width:700px}

body.page .entry-header:has(+ .entry-content .btdcth-catalogue){display:none!important}
.entry-content:has(.btdcth-catalogue){margin:0!important}
.ast-container:has(.btdcth-catalogue),#primary:has(.btdcth-catalogue){
  max-width:none!important;
  width:100%!important;
  padding:0!important;
  margin:0!important;
}

@media(max-width:960px){
  .btdcth-cat-hero-grid{grid-template-columns:1fr;gap:30px}
  .btdcth-cat-hero-panel{max-width:620px}
  .btdcth-cat-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .btdcth-cat-shell{width:min(100% - 28px,1180px)}
  .btdcth-cat-hero{padding:52px 0}
  .btdcth-cat-list-section{padding:55px 0 65px}
  .btdcth-cat-grid{grid-template-columns:1fr}
  .btdcth-cat-heading,.btdcth-cat-corporate-inner,.btdcth-cat-help-inner{display:block}
  .btdcth-cat-button{margin-top:18px;width:100%}
  .btdcth-cat-body p{min-height:0}
}
