/* =====================================================================
   MCA PREMIUM — bold visual redesign layer for Mtuba Christian Academy
   Loaded AFTER the Kingster generated CSS (dep: kingster-custom-style).
   Pairs with mca-customizations.php (fonts: Plus Jakarta Sans + Inter).
   Brand: deep navy + maroon, elevated with a gold prestige accent.
   ===================================================================== */

:root{
  --mca-navy:#0b1e5b;
  --mca-navy-900:#071333;
  --mca-navy-700:#102a73;
  --mca-maroon:#a81b38;
  --mca-maroon-dark:#7d1228;
  --mca-gold:#c2a14d;
  --mca-gold-light:#d8be78;
  --mca-bg:#fafaf8;
  --mca-card:#ffffff;
  --mca-text:#1a1f36;
  --mca-muted:#5b6172;
  --mca-line:#e7e9f0;
  --mca-radius:16px;
  --mca-shadow:0 12px 30px rgba(7,19,51,.08);
  --mca-shadow-lg:0 22px 48px rgba(7,19,51,.16);
  --mca-ease:cubic-bezier(.2,.7,.2,1);
}

/* ---------- Base ---------- */
body.kingster-body{ background-color:var(--mca-bg); color:var(--mca-text); }
.kingster-body-outer-wrapper, .kingster-body-wrapper{ background-color:transparent; }
body.kingster-body a{ transition:color .2s var(--mca-ease); }

/* Heading weight + tracking (font family stays Plus Jakarta from mca-customizations) */
.kingster-body h1,.kingster-body h2,.kingster-body h3{ letter-spacing:-.6px; line-height:1.14; }
.kingster-body h2{ font-weight:800; }

/* ---------- Eyebrow / section titles ---------- */
.gdlr-core-title-item .gdlr-core-title-item-caption{
  color:var(--mca-gold) !important;
  text-transform:uppercase; letter-spacing:2.4px; font-weight:700; font-size:13px;
}
.gdlr-core-title-item-title{ letter-spacing:-.5px; }
/* slim gold divider used by title items */
.gdlr-core-title-item-divider,
.gdlr-core-divider-line{ border-color:var(--mca-gold) !important; opacity:.9; }

/* ---------- Buttons ---------- */
body .gdlr-core-button,
body a.kingster-button, body .kingster-button,
body input[type="submit"], body input[type="button"]{
  background:var(--mca-maroon) !important;
  color:#fff !important;
  border:0 !important;
  border-radius:8px !important;
  padding:16px 34px !important;
  font-weight:700 !important;
  letter-spacing:.3px !important;
  box-shadow:0 8px 20px rgba(168,27,56,.26) !important;
  transition:transform .22s var(--mca-ease), box-shadow .22s var(--mca-ease), background .22s var(--mca-ease) !important;
}
body .gdlr-core-button:hover,
body a.kingster-button:hover, body .kingster-button:hover,
body input[type="submit"]:hover{
  background:var(--mca-maroon-dark) !important;
  transform:translateY(-3px) !important;
  box-shadow:0 14px 30px rgba(168,27,56,.36) !important;
}
/* outline / secondary buttons keep navy */
body .gdlr-core-button.gdlr-core-button-transparent,
body .gdlr-core-button-bordered{
  background:transparent !important; color:var(--mca-navy) !important;
  box-shadow:inset 0 0 0 2px var(--mca-navy) !important;
}
body .gdlr-core-button.gdlr-core-button-transparent:hover{
  background:var(--mca-navy) !important; color:#fff !important;
}

/* "read more / learn more" links with arrow */
.gdlr-core-blog-item .gdlr-core-excerpt-read-more,
.gdlr-core-button-with-arrow,
a.gdlr-core-read-more{
  color:var(--mca-maroon) !important; font-weight:700 !important;
}

/* ---------- Top bar + Apply Now ---------- */
.kingster-top-bar-background{
  background:linear-gradient(90deg,var(--mca-navy-900),var(--mca-navy)) !important;
}
.kingster-body .kingster-top-bar .kingster-top-bar-right-button{
  background-color:var(--mca-maroon) !important;
  border-radius:6px; font-weight:700; letter-spacing:.4px;
  transition:background .2s var(--mca-ease), box-shadow .2s var(--mca-ease);
}
.kingster-body .kingster-top-bar .kingster-top-bar-right-button:hover{
  background-color:var(--mca-maroon-dark) !important;
  box-shadow:0 6px 16px rgba(0,0,0,.25);
}
.kingster-top-bar .kingster-top-bar-right-social a:hover{ color:var(--mca-gold) !important; }

/* ---------- Header / navigation ---------- */
.kingster-header-style-plain.kingster-sticky-menu,
.kingster-header-background{ box-shadow:0 2px 16px rgba(7,19,51,.06); }
.sf-menu > li > a{ color:var(--mca-navy) !important; transition:color .2s var(--mca-ease); }
.sf-menu > li:hover > a, .sf-menu > li.current-menu-item > a,
.sf-menu > li.current_page_item > a{ color:var(--mca-maroon) !important; }
.kingster-navigation .kingster-navigation-slide-bar{ background:var(--mca-gold) !important; border-color:var(--mca-gold) !important; height:3px; }
.kingster-navigation .kingster-navigation-slide-bar:before{ border-bottom-color:var(--mca-gold) !important; }
/* dropdowns */
.kingster-navigation .sf-menu ul{ box-shadow:var(--mca-shadow); border-top:3px solid var(--mca-gold); }

/* ---------- Page-title banner: keep the page's photo, add a premium navy
   overlay (legibility + consistency). Navy fallback covers any dead/old-domain
   background so banners never look broken. ---------- */
.kingster-page-title-wrap,
.kingster-blog-title-wrap{
  background-color:var(--mca-navy-900) !important;   /* fallback behind the photo */
  background-size:cover !important;
  background-position:center 38% !important;          /* show the subject band of landscape photos */
  position:relative; overflow:hidden;
}
/* Inner-page banners (home uses the hero, not this) — larger, premium */
.kingster-page-title-wrap.kingster-style-custom .kingster-page-title-content{
  padding-top:115px !important; padding-bottom:115px !important;
}
.kingster-blog-title-wrap.kingster-style-custom .kingster-blog-title-content{
  padding-top:120px !important; padding-bottom:120px !important;
}
/* hide the LearnPress profile icon in the top bar (removed per request) */
.kingster-lp-top-bar-user{ display:none !important; }
.kingster-page-title-wrap:before,
.kingster-blog-title-wrap:before{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    radial-gradient(900px 320px at 86% -10%, rgba(194,161,77,.06), transparent 62%),
    linear-gradient(100deg, rgba(7,19,51,.32) 0%, rgba(7,19,51,.13) 44%, rgba(7,19,51,0) 72%);
}
.kingster-page-title-wrap:after,
.kingster-blog-title-wrap:after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:3px; z-index:2;
  background:linear-gradient(90deg,transparent,var(--mca-gold),transparent); opacity:.85;
}
.kingster-page-title-wrap .kingster-page-title-content,
.kingster-blog-title-wrap .kingster-blog-title-content{ position:relative; z-index:3; }
.kingster-page-title-wrap .kingster-page-title-overlay,
.kingster-blog-title-wrap .kingster-blog-title-overlay{ opacity:0 !important; }
.kingster-page-title-wrap .kingster-page-title,
.kingster-blog-title-wrap .kingster-blog-title{ color:#fff !important; font-size:46px; font-weight:800; text-shadow:0 2px 16px rgba(4,10,30,.6), 0 1px 4px rgba(0,0,0,.35); }
.kingster-page-title-wrap .kingster-page-caption{
  color:var(--mca-gold) !important; text-transform:uppercase; letter-spacing:2.5px; font-weight:700; text-shadow:0 1px 10px rgba(4,10,30,.6), 0 1px 3px rgba(0,0,0,.4);
}
/* breadcrumb (above eyebrow) + subtitle (below title), injected by mca-premium.js */
.kingster-page-title-wrap .mca-bread,
.kingster-blog-title-wrap .mca-bread{ font-size:14px; margin-bottom:14px; color:rgba(255,255,255,.85); text-shadow:0 1px 8px rgba(4,10,30,.6), 0 1px 2px rgba(0,0,0,.4); }
.mca-bread a{ color:rgba(255,255,255,.82) !important; text-decoration:none; }
.mca-bread a:hover{ color:var(--mca-gold) !important; }
.mca-bread-sep{ margin:0 9px; color:rgba(255,255,255,.5); }
.mca-bread-cur{ color:var(--mca-gold); }
.kingster-page-title-wrap .mca-page-sub,
.kingster-blog-title-wrap .mca-page-sub{ color:#fff !important; font-size:18px; line-height:1.65; font-weight:400; max-width:600px; margin:18px 0 0; text-shadow:0 1px 12px rgba(4,10,30,.65), 0 1px 3px rgba(0,0,0,.45); }
@media (max-width:767px){
  .kingster-page-title-wrap .mca-page-sub, .kingster-blog-title-wrap .mca-page-sub{ font-size:15.5px; max-width:none; }
  .kingster-page-title-wrap .mca-bread, .kingster-blog-title-wrap .mca-bread{ font-size:12.5px; margin-bottom:10px; }
}
.kingster-breadcrumbs, .kingster-breadcrumbs a span{ color:rgba(255,255,255,.7) !important; }
.kingster-breadcrumbs span{ color:var(--mca-gold) !important; }

/* Consistent banner→content breathing room. Theme-rendered pages (team, staff,
   forms, PB academics/sports, admissions, etc.) only get the theme's tight ~22-25px
   content top padding. Add a uniform gap below the banner (works regardless of the
   content wrapper — .kingster-content-area OR .gdlr-core-page-builder-body) to lift
   them to ~48px. Custom/.mca-sub pages carry `mca-flush` (already generous section
   padding) and legal pages sit at ~48px via their TOC, so both are excluded. */
body:not(.mca-flush):not(.mca-legal) .kingster-page-title-wrap{ margin-bottom:26px; }

/* ---------- Cards: blog / course / personnel / hover-box ---------- */
.gdlr-core-blog-grid,
.gdlr-core-blog-grid-with-frame .gdlr-core-blog-grid-frame,
.learn-press-courses .course,
.gdlr-core-recent-post-widget{
  background:var(--mca-card);
  border:1px solid var(--mca-line);
  border-radius:var(--mca-radius);
  overflow:hidden;
  box-shadow:var(--mca-shadow);
  transition:transform .26s var(--mca-ease), box-shadow .26s var(--mca-ease);
}
.gdlr-core-blog-grid:hover,
.learn-press-courses .course:hover,
.gdlr-core-blog-grid-with-frame .gdlr-core-blog-grid-frame:hover{
  transform:translateY(-6px); box-shadow:var(--mca-shadow-lg);
}
.gdlr-core-blog-grid .gdlr-core-blog-grid-content-wrap,
.gdlr-core-blog-grid-with-frame .gdlr-core-blog-grid-content-wrap{ padding:24px 26px 26px; }
.gdlr-core-blog-thumbnail img,
.learn-press-courses .course .course-thumbnail img{ transition:transform .5s var(--mca-ease); display:block; }
.gdlr-core-blog-grid:hover .gdlr-core-blog-thumbnail img,
.learn-press-courses .course:hover .course-thumbnail img{ transform:scale(1.06); }
.gdlr-core-blog-grid .gdlr-core-blog-title a{ color:var(--mca-navy) !important; }
.gdlr-core-blog-grid .gdlr-core-blog-title a:hover{ color:var(--mca-maroon) !important; }

/* personnel / staff cards */
.gdlr-core-personnel-style-grid.gdlr-core-with-background .gdlr-core-personnel-list-content-wrap{
  border-bottom:3px solid var(--mca-gold) !important; border-radius:0 0 var(--mca-radius) var(--mca-radius);
}
.gdlr-core-personnel-list .gdlr-core-personnel-list-image,
.gdlr-core-personnel-list img{ border-radius:var(--mca-radius) var(--mca-radius) 0 0; }
.gdlr-core-personnel-list-position{ color:var(--mca-maroon) !important; font-weight:600; text-transform:uppercase; letter-spacing:.6px; }

/* icon / hover boxes + column service items: soft cards with hover lift */
.gdlr-core-hover-box-item,
.gdlr-core-column-service-item.gdlr-core-column-service-frame{
  border-radius:var(--mca-radius); transition:transform .26s var(--mca-ease), box-shadow .26s var(--mca-ease);
}
.gdlr-core-hover-box-item:hover{ transform:translateY(-5px); }
.gdlr-core-icon-list-item-icon, .gdlr-core-column-service-icon i{ color:var(--mca-gold) !important; }

/* generic image rounding inside the builder */
.gdlr-core-image-item-wrap.gdlr-core-image-item-style-rectangle,
.gdlr-core-image-item img{ border-radius:12px; }

/* ---------- Blockquote / testimonial ---------- */
.gdlr-core-blockquote-item .gdlr-core-blockquote-item-quote,
.gdlr-core-testimonial-item .gdlr-core-testimonial-quote i{ color:var(--mca-gold) !important; }

/* ---------- Forms (Contact Form 7 + inputs) ---------- */
.kingster-body input[type="text"],
.kingster-body input[type="email"],
.kingster-body input[type="tel"],
.kingster-body input[type="url"],
.kingster-body input[type="search"],
.kingster-body textarea,
.kingster-body select,
.wpcf7 input, .wpcf7 textarea{
  border:1px solid var(--mca-line) !important;
  border-radius:10px !important;
  padding:14px 16px !important;
  background:#fff !important;
  transition:border-color .2s var(--mca-ease), box-shadow .2s var(--mca-ease);
}
.kingster-body input:focus, .kingster-body textarea:focus, .wpcf7 input:focus, .wpcf7 textarea:focus{
  border-color:var(--mca-navy) !important;
  box-shadow:0 0 0 3px rgba(11,30,91,.12) !important; outline:none !important;
}

/* ---------- Footer ---------- */
.kingster-footer-wrapper{
  background:linear-gradient(180deg,var(--mca-navy) 0%,var(--mca-navy-900) 100%) !important;
  color:rgba(255,255,255,.78);
}
.kingster-footer-wrapper .kingster-widget-title{
  color:#fff !important; position:relative; padding-bottom:14px;
}
.kingster-footer-wrapper .kingster-widget-title:after{
  content:""; position:absolute; left:0; bottom:0; width:42px; height:3px;
  background:var(--mca-gold); border-radius:2px;
}
.kingster-footer-wrapper a{ color:rgba(255,255,255,.78) !important; }
.kingster-footer-wrapper a:hover{ color:var(--mca-gold) !important; }
.kingster-copyright-wrapper{ background:var(--mca-navy-900) !important; }
.kingster-copyright-text{ color:rgba(255,255,255,.6) !important; }

/* =====================================================================
   HERO — premium slideshow (markup built by mca-premium.js from sr7 data)
   ===================================================================== */
.gdlr-core-revolution-slider-item{ padding-bottom:0 !important; }
.mca-hero{
  position:relative; width:100%; min-height:640px; overflow:hidden;
  background:var(--mca-navy-900); display:flex; align-items:center;
}
.mca-hero-slide{
  position:absolute; inset:0; background-size:cover; background-position:center;
  opacity:0; transform:scale(1.06); transition:opacity 1.1s ease, transform 6s linear;
}
.mca-hero-slide.is-active{ opacity:1; transform:scale(1); }
.mca-hero-overlay{
  position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(7,19,51,.6) 0%, rgba(7,19,51,.34) 45%, rgba(7,19,51,.1) 100%);
}
.mca-hero-overlay:after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:4px;
  background:linear-gradient(90deg,transparent,var(--mca-gold),transparent);
}
.mca-hero-inner{
  position:relative; z-index:2; max-width:1360px; width:100%;
  margin:0 auto; padding:90px 40px; color:#fff;
}
.mca-hero-content{ max-width:760px; }
.mca-hero-eyebrow{
  display:inline-block; color:var(--mca-gold); text-transform:uppercase;
  letter-spacing:3px; font-weight:700; font-size:14px; margin-bottom:18px;
}
.mca-hero-eyebrow:before{
  content:""; display:inline-block; width:34px; height:2px; background:var(--mca-gold);
  vertical-align:middle; margin-right:14px;
}
.mca-hero .mca-hero-title{
  font-family:'Plus Jakarta Sans',sans-serif; font-weight:800;
  font-size:62px; line-height:1.05; letter-spacing:-1.2px; margin:0 0 20px; color:#fff !important;
  text-shadow:0 2px 22px rgba(4,10,30,.45);
}
.mca-hero .mca-hero-sub{ font-size:20px; line-height:1.6; color:rgba(255,255,255,.92) !important; margin:0 0 34px; max-width:620px; text-shadow:0 1px 14px rgba(4,10,30,.45); }
.mca-hero .mca-hero-eyebrow{ text-shadow:0 1px 10px rgba(4,10,30,.4); }
.mca-hero-actions{ display:flex; flex-wrap:wrap; gap:16px; }
.mca-hero-btn{
  display:inline-block; padding:16px 36px; border-radius:8px; font-weight:700; letter-spacing:.4px;
  font-size:15px; text-transform:uppercase; transition:transform .22s var(--mca-ease), box-shadow .22s var(--mca-ease), background .22s var(--mca-ease);
}
.mca-hero .mca-hero-btn-primary{ background:var(--mca-maroon); color:#fff !important; box-shadow:0 10px 26px rgba(168,27,56,.4); }
.mca-hero .mca-hero-btn-primary:hover{ background:var(--mca-maroon-dark); color:#fff !important; transform:translateY(-3px); box-shadow:0 16px 34px rgba(168,27,56,.5); }
.mca-hero .mca-hero-btn-ghost{ background:rgba(255,255,255,.08); color:#fff !important; box-shadow:inset 0 0 0 2px rgba(255,255,255,.6); }
.mca-hero .mca-hero-btn-ghost:hover{ background:#fff; color:var(--mca-navy) !important; transform:translateY(-3px); }
.mca-hero-dots{ position:absolute; z-index:3; left:0; right:0; bottom:30px; display:flex; justify-content:center; gap:10px; }
.mca-hero-dot{
  width:11px; height:11px; border-radius:50%; border:2px solid rgba(255,255,255,.6);
  background:transparent; cursor:pointer; padding:0; transition:all .2s var(--mca-ease);
}
.mca-hero-dot.is-active{ background:var(--mca-gold); border-color:var(--mca-gold); transform:scale(1.15); }

/* =====================================================================
   HOMEPAGE sections (marker classes added to wrappers by dev/20-home-sections.php)
   ===================================================================== */

/* consistent premium vertical rhythm */
.mca-home-pillars, .mca-home-programmes, .mca-home-academics,
.mca-home-accred{ padding-top:84px; padding-bottom:84px; }

/* --- Stats strip (injected by mca-premium.js under the hero) --- */
.mca-stats{ background:#fff; border-top:3px solid var(--mca-gold); }
.mca-stats-inner{
  max-width:1360px; margin:0 auto; padding:30px 40px;
  display:grid; grid-template-columns:repeat(4,1fr);
}
.mca-stat{ text-align:center; padding:8px 16px; position:relative; }
.mca-stat + .mca-stat:before{
  content:""; position:absolute; left:0; top:14%; height:72%; width:1px; background:var(--mca-line);
}
.mca-stat-num{
  font-family:'Plus Jakarta Sans',sans-serif; font-weight:800; font-size:38px;
  line-height:1; color:var(--mca-navy); letter-spacing:-1px;
}
.mca-stat-num span{ color:var(--mca-gold); }
.mca-stat-label{
  display:block; margin-top:8px; font-size:13px; font-weight:600; letter-spacing:.6px;
  text-transform:uppercase; color:var(--mca-muted);
}

/* --- 3 pillars: lift the photos into soft cards --- */
.mca-home-pillars .gdlr-core-column-service-item{ margin:0 !important; }
.mca-home-pillars .gdlr-core-image-item img{ border-radius:6px; box-shadow:var(--mca-shadow); transition:transform .4s var(--mca-ease); }
.mca-home-pillars .gdlr-core-pbf-column:hover .gdlr-core-image-item img{ transform:translateY(-4px); box-shadow:var(--mca-shadow-lg); }

/* --- Programmes (Junior / Senior / Support): hover-lift cards --- */
.mca-home-programmes .gdlr-core-pbf-column-content{
  background:#fff; border:1px solid var(--mca-line); border-radius:var(--mca-radius);
  padding:30px 28px 26px; box-shadow:var(--mca-shadow);
  transition:transform .26s var(--mca-ease), box-shadow .26s var(--mca-ease);
}
.mca-home-programmes .gdlr-core-pbf-column:hover .gdlr-core-pbf-column-content{
  transform:translateY(-6px); box-shadow:var(--mca-shadow-lg);
}
.mca-home-programmes .gdlr-core-image-item img{ border-radius:10px; }
.mca-home-programmes .gdlr-core-image-item{ margin-bottom:22px !important; }
.mca-home-programmes .gdlr-core-title-item-caption{ color:var(--mca-gold) !important; }
/* kill the stacked bottom padding that left a big void under the card text */
.mca-home-programmes .gdlr-core-text-box-item,
.mca-home-programmes .gdlr-core-pbf-element:last-child{ margin-bottom:0 !important; padding-bottom:0 !important; }

/* --- Accreditations / logos: shown in full colour --- */
.mca-home-logos .gdlr-core-image-item img{
  filter:none; opacity:1; transition:transform .3s var(--mca-ease);
}
.mca-home-logos .gdlr-core-image-item img:hover{ filter:none; opacity:1; transform:translateY(-2px); }

/* --- CTA bands (academics intro + admissions): gold eyebrow + airy --- */
.mca-home-academics .gdlr-core-title-item-caption,
.mca-home-admissions .gdlr-core-title-item-caption{ color:var(--mca-gold) !important; }

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .mca-hero{ min-height:520px; }
  .mca-hero-title{ font-size:46px; }
  .kingster-page-title-wrap .kingster-page-title{ font-size:38px; }
  .mca-stat-num{ font-size:30px; }
}
@media (max-width:767px){
  .mca-stats-inner{ grid-template-columns:repeat(2,1fr); gap:18px 0; padding:24px 18px; }
  .mca-stat:nth-child(3):before{ display:none; }
  .mca-home-pillars, .mca-home-programmes, .mca-home-academics, .mca-home-accred{ padding-top:54px; padding-bottom:54px; }
}

/* =====================================================================
   ADD-ONS: search, back-to-top, footer credit, section icons,
   legal TOC + read time, application form
   ===================================================================== */

/* ---------- Search toggle (injected into top bar) + overlay ---------- */
.mca-search-toggle{
  background:transparent; border:0; color:#fff; cursor:pointer; font-size:15px;
  padding:0 4px; margin-right:4px; line-height:1; opacity:.92; transition:opacity .2s, color .2s;
}
.mca-search-toggle:hover{ opacity:1; color:var(--mca-gold); }
.mca-search-overlay{
  position:fixed; inset:0; z-index:100000;
  background:rgba(7,19,51,.97); backdrop-filter:blur(4px);
  display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transition:opacity .3s var(--mca-ease), visibility .3s;
}
.mca-search-overlay.is-open{ opacity:1; visibility:visible; }
.mca-search-box{ width:min(760px,88%); transform:translateY(12px); transition:transform .35s var(--mca-ease); }
.mca-search-overlay.is-open .mca-search-box{ transform:none; }
.mca-search-eyebrow{ color:var(--mca-gold); text-transform:uppercase; letter-spacing:3px; font-weight:700; font-size:13px; display:block; margin-bottom:14px; }
.mca-search-form{ display:flex; align-items:center; gap:14px; border-bottom:2px solid rgba(255,255,255,.25); padding-bottom:14px; }
.mca-search-form:focus-within{ border-bottom-color:var(--mca-gold); }
.mca-search-input{
  flex:1; background:transparent !important; border:0 !important; box-shadow:none !important;
  color:#fff !important; font-size:34px !important; font-weight:700; padding:6px 0 !important;
  font-family:'Plus Jakarta Sans',sans-serif;
}
.mca-search-input::placeholder{ color:rgba(255,255,255,.4); }
.mca-search-submit{
  background:var(--mca-maroon); color:#fff; border:0; border-radius:8px; cursor:pointer;
  padding:14px 26px; font-weight:700; letter-spacing:.4px; font-size:14px; text-transform:uppercase;
  transition:background .2s, transform .2s;
}
.mca-search-submit:hover{ background:var(--mca-maroon-dark); transform:translateY(-2px); }
.mca-search-hint{ color:rgba(255,255,255,.55); font-size:14px; margin-top:18px; }
.mca-search-hint b{ color:#fff; }
.mca-search-close{
  position:absolute; top:28px; right:38px; background:transparent; border:0; color:#fff;
  font-size:30px; line-height:1; cursor:pointer; opacity:.7; transition:opacity .2s, transform .2s;
}
.mca-search-close:hover{ opacity:1; transform:rotate(90deg); }

/* ---------- Back to top ---------- */
.mca-totop{
  position:fixed; right:24px; bottom:24px; z-index:9000;
  width:48px !important; height:48px !important; padding:0 !important; box-sizing:border-box;
  border-radius:50%; border:0; cursor:pointer;
  background:var(--mca-navy); color:#fff; font-size:18px; line-height:48px; text-align:center;
  box-shadow:0 10px 26px rgba(7,19,51,.35);
  opacity:0; visibility:hidden; transform:translateY(12px);
  transition:opacity .25s var(--mca-ease), transform .25s var(--mca-ease), background .2s, visibility .25s;
}
.mca-totop.is-visible{ opacity:1; visibility:visible; transform:none; }
.mca-totop:hover{ background:var(--mca-maroon); transform:translateY(-3px); }
@media (max-width:767px){ .mca-totop{ right:16px; bottom:16px; width:44px; height:44px; line-height:44px; } }

/* ---------- Footer credit (Overflow Online) ---------- */
.mca-credit{ color:rgba(255,255,255,.55); }
.mca-credit a{ color:var(--mca-gold) !important; font-weight:600; }
.mca-credit a:hover{ color:#fff !important; }
.kingster-copyright-left .mca-credit{ display:block; margin-top:4px; font-size:13.5px; }

/* ---------- Section / header icons ---------- */
/* contextual gold icons before homepage section eyebrow captions */
.mca-home-academics .gdlr-core-title-item-caption:before,
.mca-home-programmes .gdlr-core-title-item-caption:before,
.mca-home-admissions .gdlr-core-title-item-caption:before{
  font-family:"FontAwesome" !important; font-weight:normal; color:var(--mca-gold);
  margin-right:10px; font-size:.9em; opacity:.95;
}
.mca-home-academics .gdlr-core-title-item-caption:before{ content:"\f02d" !important; }      /* book */
.mca-home-programmes .gdlr-core-title-item-caption:before{ content:"\f19d" !important; }      /* graduation cap */
.mca-home-admissions .gdlr-core-title-item-caption:before{ content:"\f1d8" !important; }      /* paper-plane */
.mca-home-programmes .gdlr-core-pbf-column:nth-child(1) .gdlr-core-title-item-caption:before{ content:"\f1ae" !important; } /* child */
.mca-home-programmes .gdlr-core-pbf-column:nth-child(3) .gdlr-core-title-item-caption:before{ content:"\f0eb" !important; } /* lightbulb (guidance) */

/* programmes: promote the eyebrow icon into a premium navy badge above the label */
.mca-home-programmes .gdlr-core-title-item-caption{ display:block !important; }
.mca-home-programmes .gdlr-core-title-item-caption:before{
  display:flex !important; align-items:center; justify-content:center;
  width:46px; height:46px; border-radius:13px; margin:0 0 14px !important;
  background:linear-gradient(135deg, var(--mca-navy), var(--mca-navy-900));
  color:var(--mca-gold) !important; font-size:20px !important; opacity:1 !important;
}

/* ---------- Legal pages: table of contents + read time ---------- */
.mca-toc{
  background:#fff; border:1px solid var(--mca-line); border-left:4px solid var(--mca-gold);
  border-radius:12px; padding:22px 28px 24px; margin:0 0 38px; box-shadow:var(--mca-shadow);
}
.mca-toc-head{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:14px; flex-wrap:wrap; }
.mca-toc-title{ color:var(--mca-navy); font-weight:800; text-transform:uppercase; letter-spacing:1.5px; font-size:14px; margin:0; }
.mca-readtime{ color:var(--mca-muted); font-size:13px; font-weight:600; }
.mca-readtime:before{ font-family:"FontAwesome"; content:"\f017"; color:var(--mca-gold); margin-right:7px; }
.mca-toc ol{ margin:0; padding:0; counter-reset:mca-toc; list-style:none; columns:2; column-gap:34px; }
.mca-toc li{ margin:0 0 9px; break-inside:avoid; }
.mca-toc li.lvl-2{ counter-increment:mca-toc; }
.mca-toc li.lvl-3{ padding-left:18px; }
.mca-toc a{ color:var(--mca-text) !important; font-weight:500; font-size:15px; text-decoration:none; }
.mca-toc li.lvl-2 a:before{ content:counter(mca-toc) ". "; color:var(--mca-gold); font-weight:700; }
.mca-toc li.lvl-3 a:before{ content:"– "; color:var(--mca-gold); font-weight:700; }
.mca-toc a:hover{ color:var(--mca-maroon) !important; }
.mca-legal .gdlr-core-text-box-item-content h2,
.mca-legal .gdlr-core-text-box-item-content h3{ scroll-margin-top:120px; }
@media (max-width:767px){ .mca-toc ol{ columns:1; } }

/* ---------- Application form (/apply/) ---------- */
.mca-apply-form{ max-width:860px; }
.mca-apply-section{
  color:var(--mca-navy) !important; font-family:'Plus Jakarta Sans',sans-serif; font-weight:800;
  font-size:19px; margin:30px 0 16px; padding-bottom:10px; border-bottom:1px solid var(--mca-line);
}
.mca-apply-section:before{ font-family:"FontAwesome"; content:"\f0da"; color:var(--mca-gold); margin-right:10px; }
.mca-apply-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px 24px; }
.mca-apply-grid label{ display:block; font-weight:600; color:var(--mca-navy); font-size:14px; }
.mca-apply-grid .mca-apply-full{ grid-column:1 / -1; }
.mca-apply-form .wpcf7-form-control-wrap{ display:block; margin-top:6px; }
.mca-apply-form input, .mca-apply-form select, .mca-apply-form textarea{ width:100%; }
.mca-apply-form .wpcf7-acceptance{ display:block; margin:22px 0; color:var(--mca-muted); font-size:14.5px; }
.mca-apply-form .wpcf7-submit{ margin-top:6px; width:auto; }
@media (max-width:767px){ .mca-apply-grid{ grid-template-columns:1fr; } }

/* ---------- Mobile menu (custom — the theme's mmenu doesn't toggle here) ---------- */
#kingster-mobile-menu{ display:none !important; }      /* hide the broken native panel */

.mca-mmenu-blocker{
  position:fixed; inset:0; z-index:2147483600;
  background:rgba(4,10,28,.55); backdrop-filter:blur(2px);
  opacity:0; visibility:hidden; transition:opacity .3s ease, visibility .3s;
}
.mca-mmenu-blocker.is-open{ opacity:1; visibility:visible; }

.mca-mmenu{
  position:fixed; top:0; right:0; height:100%; width:86%; max-width:360px; z-index:2147483601;
  background:linear-gradient(180deg,var(--mca-navy) 0%,var(--mca-navy-900) 100%);
  box-shadow:-12px 0 40px rgba(0,0,0,.4);
  transform:translateX(100%); transition:transform .32s var(--mca-ease);
  display:flex; flex-direction:column; overflow-y:auto; -webkit-overflow-scrolling:touch;
}
.mca-mmenu.is-open{ transform:none; }
.mca-mmenu-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 20px; border-bottom:1px solid rgba(255,255,255,.12);
}
.mca-mmenu-title{ color:#fff; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; font-size:14px; }
.mca-mmenu-close{
  display:flex; align-items:center; justify-content:center; flex:0 0 auto;
  background:rgba(255,255,255,.07); border:0; color:#fff; font-size:23px; line-height:1; cursor:pointer;
  width:40px; height:40px; border-radius:10px; transition:background .2s, transform .25s;
}
.mca-mmenu-close:hover{ background:rgba(255,255,255,.16); transform:rotate(90deg); }
.mca-mmenu-search{ display:flex; gap:8px; padding:16px 20px; border-bottom:1px solid rgba(255,255,255,.1); }
.mca-mmenu-search-input{
  flex:1; background:rgba(255,255,255,.08) !important; border:1px solid rgba(255,255,255,.18) !important;
  border-radius:8px !important; color:#fff !important; padding:11px 14px !important; font-size:15px !important;
}
.mca-mmenu-search-input::placeholder{ color:rgba(255,255,255,.5); }
.mca-mmenu-search button{ background:var(--mca-maroon); border:0; color:#fff; border-radius:8px; width:46px; cursor:pointer; font-size:16px; }
.mca-mmenu-apply{
  display:block; margin:16px 20px 6px; text-align:center; background:var(--mca-maroon); color:#fff !important;
  font-weight:700; text-transform:uppercase; letter-spacing:.5px; padding:14px; border-radius:8px;
  text-decoration:none; box-shadow:0 8px 20px rgba(168,27,56,.3);
}
.mca-mmenu-apply:hover{ background:var(--mca-maroon-dark); }
.mca-mmenu-nav{ padding:6px 0 8px; }
.mca-mmenu-list, .mca-mmenu-list ul{ list-style:none; margin:0; padding:0; }
.mca-mmenu-list li{ position:relative; border-bottom:1px solid rgba(255,255,255,.07); }
.mca-mmenu-list a{
  display:block; color:#fff !important; font-weight:600; font-size:15.5px;
  padding:14px 52px 14px 22px; text-decoration:none; transition:background .2s, color .2s;
}
.mca-mmenu-list a:hover{ background:rgba(255,255,255,.06); color:var(--mca-gold) !important; }
.mca-mmenu-list .current-menu-item > a, .mca-mmenu-list .current_page_item > a{ box-shadow:inset 4px 0 0 var(--mca-gold); }
.mca-mmenu-toggle{
  position:absolute; top:3px; right:6px; width:46px; height:46px;
  background:transparent; border:0; color:rgba(255,255,255,.75); cursor:pointer; font-size:16px;
  transition:transform .25s var(--mca-ease), color .2s;
}
.mca-has-sub.is-open > .mca-mmenu-toggle{ transform:rotate(180deg); color:var(--mca-gold); }
.mca-mmenu-list ul{ max-height:0; overflow:hidden; background:rgba(0,0,0,.18); transition:max-height .32s var(--mca-ease); }
.mca-has-sub.is-open > ul{ max-height:640px; }
.mca-mmenu-list ul a{ padding-left:38px; font-weight:500; font-size:14.5px; color:rgba(255,255,255,.85) !important; }
.mca-mmenu-list ul ul a{ padding-left:54px; }
body.mca-mm-lock{ overflow:hidden; }
@media (min-width:1024px){ .mca-mmenu, .mca-mmenu-blocker{ display:none !important; } }

/* ---------- Footer: fill the previously-empty 4th column ---------- */
.mca-foot-connect .mca-foot-hours{ margin:0 0 20px; color:rgba(255,255,255,.78); line-height:1.7; }
.mca-foot-connect .mca-foot-hours span{ display:block; color:#fff; font-weight:700; margin-bottom:2px; }
.mca-foot-apply{
  display:inline-block; background:var(--mca-maroon); color:#fff !important; padding:12px 22px;
  border-radius:8px; font-weight:700; text-transform:uppercase; letter-spacing:.4px; font-size:13px;
  box-shadow:0 8px 20px rgba(168,27,56,.3); transition:background .2s, transform .2s;
}
.mca-foot-apply:hover{ background:var(--mca-maroon-dark); transform:translateY(-2px); }
/* premium footer polish: gold top accent, crest badge, refined hovers */
.kingster-footer-wrapper{ position:relative; }
.kingster-footer-wrapper:before{
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,transparent,var(--mca-gold) 35%,var(--mca-gold) 65%,transparent);
}
.kingster-footer-wrapper .kingster-widget-title{ border-bottom-color:var(--mca-gold) !important; }
.kingster-footer-wrapper .kingster-widget-title:after{ display:none !important; }
.kingster-footer-wrapper li a{ transition:color .2s var(--mca-ease), padding-left .2s var(--mca-ease); }
.kingster-footer-wrapper li a:hover{ padding-left:7px; }
.mca-foot-crest{
  width:66px; height:66px; border-radius:16px; background:#fff;
  display:flex; align-items:center; justify-content:center; margin:0 0 24px;
  box-shadow:0 10px 24px rgba(0,0,0,.28);
}
.mca-foot-crest img{ max-width:48px; max-height:48px; height:auto; }
.kingster-copyright-wrapper{ border-top:1px solid rgba(255,255,255,.08); }

/* ---------- Mobile hamburger: clear "Menu" + icon (was a plain box) ---------- */
.kingster-mobile-menu .kingster-mm-menu-button{
  display:inline-flex !important; align-items:center; gap:9px;
  width:auto !important; height:auto !important; padding:8px 14px !important;
  border:1px solid var(--mca-line) !important; border-radius:10px !important; background:#fff !important;
}
.kingster-mobile-menu .kingster-mm-menu-button .mca-ham-icon{ font-family:"FontAwesome" !important; color:var(--mca-navy); font-size:18px; line-height:1; }
.kingster-mm-menu-button .mca-ham-label{ color:var(--mca-navy); font-weight:700; font-size:14px; text-transform:uppercase; letter-spacing:.6px; }
/* kill the theme's hamburger bars (we use the FA icon + "Menu" label instead) */
.kingster-mm-menu-button:before, .kingster-mm-menu-button:after,
.kingster-mobile-button-hamburger:before, .kingster-mobile-button-hamburger:after{ display:none !important; content:none !important; }
.kingster-mm-menu-button span{ display:none !important; }

/* ---------- Header: legibility + compact + balanced ---------- */
/* top-bar menu links were navy-on-navy (invisible) → white */
.kingster-top-bar .kingster-top-bar-menu > li > a{ color:#fff !important; font-weight:500; opacity:1; }
.kingster-top-bar .kingster-top-bar-menu > li > a:hover{ color:var(--mca-gold) !important; }
/* compact the tall logo/nav rows */
.kingster-logo{ padding-top:24px !important; padding-bottom:24px !important; }
.kingster-navigation{ padding-top:24px !important; }
.kingster-navigation-top{ top:24px !important; }
.kingster-animate-fixed-navigation.kingster-header-style-plain .kingster-navigation,
.kingster-animate-fixed-navigation.kingster-header-style-boxed .kingster-navigation{ padding-top:20px !important; }
.kingster-animate-fixed-navigation.kingster-header-style-plain .kingster-navigation-top,
.kingster-animate-fixed-navigation.kingster-header-style-boxed .kingster-navigation-top{ top:20px !important; }
/* CTA call-out filling the empty top-right of the logo row (injected by JS) */
.mca-header-cta{ float:right; text-align:right; margin-top:30px; text-decoration:none; }
.mca-header-cta-top{ display:block; color:var(--mca-gold); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:2px; }
.mca-header-cta-sub{ display:block; color:var(--mca-navy); font-weight:800; font-size:18px; margin-top:3px; transition:color .2s; }
.mca-header-cta-sub:after{ content:" \2192"; color:var(--mca-maroon); }
.mca-header-cta:hover .mca-header-cta-sub{ color:var(--mca-maroon); }
@media (max-width:1023px){ .mca-header-cta{ display:none !important; } }

/* ---------- Google reviews band (homepage) ---------- */
.mca-reviews{ background:var(--mca-bg); padding:74px 20px; text-align:center; }
.mca-reviews-inner{ max-width:760px; margin:0 auto; }
.mca-reviews-eyebrow{ color:var(--mca-gold); text-transform:uppercase; letter-spacing:2.4px; font-weight:700; font-size:13px; display:inline-block; margin-bottom:12px; }
.mca-reviews-eyebrow:before{ content:""; display:inline-block; width:30px; height:2px; background:var(--mca-gold); vertical-align:middle; margin-right:12px; }
.mca-reviews-title{ color:var(--mca-navy) !important; font-size:34px; font-weight:800; margin:0 0 28px; }
.mca-reviews-card{
  display:inline-flex; align-items:center; gap:26px; flex-wrap:wrap; justify-content:center;
  background:#fff; border:1px solid var(--mca-line); border-radius:18px; padding:26px 38px; box-shadow:var(--mca-shadow);
}
.mca-reviews-g{ flex:0 0 auto; line-height:0; }
.mca-reviews-score{ text-align:left; }
.mca-reviews-num{ font-family:'Plus Jakarta Sans',sans-serif; font-weight:800; font-size:40px; color:var(--mca-navy); line-height:1; margin-right:8px; }
.mca-reviews-stars{ color:var(--mca-gold); font-size:22px; letter-spacing:2px; }
.mca-reviews-count{ display:block; color:var(--mca-muted); font-size:14px; margin-top:6px; }
.mca-reviews-btn{
  background:var(--mca-navy); color:#fff !important; border-radius:8px; padding:14px 26px; font-weight:700;
  text-transform:uppercase; letter-spacing:.4px; font-size:14px; text-decoration:none; transition:background .2s, transform .2s;
}
.mca-reviews-btn:hover{ background:var(--mca-maroon); transform:translateY(-2px); }
@media (max-width:767px){ .mca-reviews{ padding:48px 18px; } .mca-reviews-title{ font-size:26px; } .mca-reviews-card{ padding:22px; gap:18px; } }
@media (max-width:767px){
  .mca-hero{ min-height:460px; }
  .mca-hero-inner{ padding:64px 22px; }
  .mca-hero-title{ font-size:34px; letter-spacing:-.6px; }
  .mca-hero-sub{ font-size:17px; }
  .mca-hero-actions{ gap:12px; }
  .mca-hero-btn{ padding:14px 24px; font-size:14px; }
  .mca-hero-dots{ left:22px; bottom:20px; }
  .kingster-page-title-wrap .kingster-page-title{ font-size:30px; }
  .gdlr-core-blog-grid .gdlr-core-blog-grid-content-wrap{ padding:20px; }
}

/* =====================================================================
   PREMIUM CONTENT COMPONENTS — lifts every inner page (text unchanged)
   ===================================================================== */

/* --- "Department Contact Info" style cards (widget-box shortcode) --- */
.gdlr-core-widget-box-shortcode{
  background:linear-gradient(160deg,var(--mca-navy) 0%,var(--mca-navy-900) 100%) !important;
  border-radius:16px !important; position:relative; overflow:hidden; box-shadow:var(--mca-shadow-lg);
}
.gdlr-core-widget-box-shortcode:before{
  content:""; position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg,transparent,var(--mca-gold),transparent);
}
.gdlr-core-widget-box-shortcode h1,.gdlr-core-widget-box-shortcode h2,.gdlr-core-widget-box-shortcode h3{
  color:#fff !important; position:relative; padding-bottom:14px;
}
.gdlr-core-widget-box-shortcode h3:after{
  content:""; position:absolute; left:0; bottom:0; width:44px; height:3px; background:var(--mca-gold);
}
.gdlr-core-widget-box-shortcode a{ color:var(--mca-gold) !important; }
.gdlr-core-widget-box-shortcode .gdlr-core-button{ background:var(--mca-maroon) !important; color:#fff !important; }

/* --- Content lists: gold check bullets --- */
.gdlr-core-text-box-item-content ul,
.kingster-content-area .textwidget ul{ list-style:none; padding-left:2px; }
.gdlr-core-text-box-item-content ul > li,
.kingster-content-area .textwidget ul > li{ position:relative; padding-left:30px; margin-bottom:11px; }
.gdlr-core-text-box-item-content ul > li:before,
.kingster-content-area .textwidget ul > li:before{
  content:"\f00c"; font-family:"FontAwesome" !important; position:absolute; left:0; top:2px;
  color:var(--mca-gold); font-size:13px;
}

/* --- Content images: rounded, soft shadow, subtle hover --- */
.gdlr-core-text-box-item .gdlr-core-image-item img,
.gdlr-core-pbf-column .gdlr-core-image-item img,
.kingster-content-area .gdlr-core-image-item img{
  border-radius:14px; box-shadow:var(--mca-shadow);
  transition:transform .4s var(--mca-ease), box-shadow .4s var(--mca-ease);
}
.gdlr-core-image-item:hover img{ transform:translateY(-4px); box-shadow:var(--mca-shadow-lg); }

/* --- Counters: bold navy numbers, gold suffix --- */
.gdlr-core-counter-item-number{ color:var(--mca-navy) !important; font-weight:800 !important; }
.gdlr-core-counter-item-divider{ border-color:var(--mca-gold) !important; }

/* --- Accordions / toggles: premium --- */
.gdlr-core-accordion-item .gdlr-core-accordion-item-title{ transition:background .2s var(--mca-ease), color .2s; }
.gdlr-core-accordion-item .gdlr-core-accordion-item-title.gdlr-core-active{ color:var(--mca-maroon) !important; }
.gdlr-core-accordion-item .gdlr-core-accordion-item-title:before,
.gdlr-core-toggle-box-item-title:before{ color:var(--mca-gold) !important; }

/* --- Title item dividers + caption icon (universal eyebrow accent) --- */
.gdlr-core-title-item-divider,
.kingster-content-area .gdlr-core-divider-line{ border-color:var(--mca-gold) !important; }

/* --- Blockquotes --- */
.kingster-content-area blockquote,
.gdlr-core-blockquote-item .gdlr-core-blockquote-item-content{
  border-left:3px solid var(--mca-gold); padding-left:24px; font-style:italic;
}

/* =====================================================================
   GALLERY — premium grid + hover overlay (lightbox already works)
   ===================================================================== */
.gdlr-core-gallery-item .gdlr-core-gallery-list{
  position:relative; border-radius:14px; overflow:hidden; box-shadow:var(--mca-shadow);
  transition:box-shadow .3s var(--mca-ease), transform .3s var(--mca-ease);
}
.gdlr-core-gallery-item .gdlr-core-gallery-list:hover{ box-shadow:var(--mca-shadow-lg); transform:translateY(-3px); }
.gdlr-core-gallery-item .gdlr-core-gallery-list a{ display:block; position:relative; }
.gdlr-core-gallery-item .gdlr-core-gallery-list img{
  width:100% !important; height:100% !important; aspect-ratio:3/2; object-fit:cover; display:block;
  transition:transform .55s var(--mca-ease);
}
.gdlr-core-gallery-item .gdlr-core-gallery-list:hover img{ transform:scale(1.09); }
.gdlr-core-gallery-item .gdlr-core-gallery-list a:before{
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(to top, rgba(7,19,51,.72), rgba(7,19,51,0) 60%);
  opacity:0; transition:opacity .3s var(--mca-ease);
}
.gdlr-core-gallery-item .gdlr-core-gallery-list a:after{
  content:"\f00e" !important; font-family:"FontAwesome" !important; position:absolute; z-index:2; top:50%; left:50%;
  transform:translate(-50%,-50%) scale(.7); color:#fff; font-size:22px;
  width:54px; height:54px; line-height:54px; text-align:center; border-radius:50%;
  background:rgba(168,27,56,.92); opacity:0;
  transition:opacity .3s var(--mca-ease), transform .3s var(--mca-ease);
}
.gdlr-core-gallery-item .gdlr-core-gallery-list:hover a:before{ opacity:1; }
.gdlr-core-gallery-item .gdlr-core-gallery-list:hover a:after{ opacity:1; transform:translate(-50%,-50%) scale(1); }
.gdlr-core-gallery-item .gdlr-core-gallery-list .gdlr-core-image-overlay{ display:none !important; }

/* --- Vacancy form heading + CV note --- */
.mca-vacancy-heading{ color:var(--mca-navy) !important; font-weight:800; margin:8px 0 18px; }
.mca-vacancy-note{
  background:rgba(194,161,77,.10); border-left:3px solid var(--mca-gold);
  padding:14px 18px; border-radius:8px; color:var(--mca-muted); font-size:14.5px; margin:8px 0 22px;
}
.mca-vacancy-note a{ color:var(--mca-maroon) !important; font-weight:600; }

/* =====================================================================
   HEADER — logo + menu on ONE row (CTA removed; 7 top-level items)
   ===================================================================== */
.kingster-header-style-plain .kingster-header-container-inner{
  display:flex !important; align-items:center; justify-content:space-between; flex-wrap:nowrap;
}
.kingster-header-style-plain .kingster-logo{
  float:none !important; padding-top:16px !important; padding-bottom:16px !important;
}
.kingster-header-style-plain .kingster-navigation,
.kingster-header-style-plain .kingster-navigation .kingster-main-menu{
  float:none !important; padding-top:0 !important;
}
/* swap the JS slide-bar for a clean CSS gold underline on hover/active */
.kingster-navigation .kingster-navigation-slide-bar{ display:none !important; }
.kingster-header-style-plain .kingster-navigation .sf-menu > li > a{
  padding-top:0 !important; padding-bottom:0 !important; position:relative;
}
.kingster-header-style-plain .kingster-navigation .sf-menu > li > a:after{
  content:""; position:absolute; left:6px; right:6px; bottom:-9px; height:3px; border-radius:2px;
  background:transparent; transition:background .2s var(--mca-ease);
}
.kingster-header-style-plain .kingster-navigation .sf-menu > li:hover > a:after,
.kingster-header-style-plain .kingster-navigation .sf-menu > li.current-menu-item > a:after,
.kingster-header-style-plain .kingster-navigation .sf-menu > li.current-menu-ancestor > a:after{
  background:var(--mca-gold);
}
/* sticky/fixed-nav: keep the same inline layout, a touch tighter */
.kingster-animate-fixed-navigation.kingster-header-style-plain .kingster-logo{
  padding-top:12px !important; padding-bottom:12px !important;
}

/* --- Contact page "Follow Us" social row --- */
.mca-contact-social{ margin-top:28px; }
.mca-contact-social h4{ color:var(--mca-navy) !important; font-weight:800; margin:0 0 14px; }
.mca-social-icons{ display:flex; gap:12px; }
.mca-social-icons a{
  width:46px; height:46px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  color:#fff !important; font-size:19px; background:var(--c,var(--mca-navy)); text-decoration:none;
  transition:transform .2s var(--mca-ease), box-shadow .2s var(--mca-ease);
}
.mca-social-icons a:hover{ transform:translateY(-3px); box-shadow:0 8px 18px rgba(0,0,0,.22); }
.mca-social-icons .socicon{ color:#fff; line-height:1; }

/* =====================================================================
   DYNAMIC GALLERY (shortcode [mca_gallery]) — tabs + grid + lightbox
   ===================================================================== */
.mca-gallery{ max-width:1220px; margin:0 auto; }
.mca-glr-tabs{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin:0 0 36px; }
.mca-glr-tab{
  background:#fff; border:1px solid var(--mca-line); color:var(--mca-navy); font-weight:700; font-size:14px;
  padding:11px 24px; border-radius:40px; cursor:pointer; transition:all .2s var(--mca-ease);
}
.mca-glr-tab:hover{ border-color:var(--mca-navy); }
.mca-glr-tab.is-active{ background:var(--mca-navy); color:#fff; border-color:var(--mca-navy); box-shadow:0 8px 20px rgba(7,19,51,.2); }
.mca-glr-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.mca-glr-item{
  position:relative; display:block; border-radius:16px; overflow:hidden; aspect-ratio:4/3;
  box-shadow:var(--mca-shadow); cursor:pointer; transition:transform .3s var(--mca-ease), box-shadow .3s var(--mca-ease);
}
.mca-glr-item:hover{ transform:translateY(-4px); box-shadow:var(--mca-shadow-lg); }
.mca-glr-item img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .55s var(--mca-ease); }
.mca-glr-item:hover img{ transform:scale(1.09); }
.mca-glr-item:before{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(to top,rgba(7,19,51,.62),transparent 55%); opacity:0; transition:opacity .3s; }
.mca-glr-item:hover:before{ opacity:1; }
.mca-glr-zoom{ position:absolute; z-index:2; top:50%; left:50%; transform:translate(-50%,-50%) scale(.7); width:56px; height:56px; border-radius:50%; background:rgba(168,27,56,.92); opacity:0; transition:opacity .3s var(--mca-ease), transform .3s var(--mca-ease); }
.mca-glr-zoom:before{ content:"\f00e"; font-family:"FontAwesome"; color:#fff; font-size:23px; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); }
.mca-glr-item:hover .mca-glr-zoom{ opacity:1; transform:translate(-50%,-50%) scale(1); }
@media(max-width:900px){ .mca-glr-grid{ grid-template-columns:repeat(2,1fr); gap:14px; } }
@media(max-width:560px){ .mca-glr-grid{ grid-template-columns:1fr; } }

/* lightbox */
.mca-lb{ position:fixed; inset:0; z-index:100001; background:rgba(4,8,24,.95); display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transition:opacity .3s var(--mca-ease), visibility .3s; }
.mca-lb.is-open{ opacity:1; visibility:visible; }
.mca-lb-img{ max-width:88vw; max-height:84vh; border-radius:8px; box-shadow:0 30px 80px rgba(0,0,0,.6); }
.mca-lb-close{ position:absolute; top:22px; right:30px; background:transparent; border:0; color:#fff; font-size:40px; line-height:1; cursor:pointer; opacity:.85; transition:opacity .2s, transform .2s; }
.mca-lb-close:hover{ opacity:1; transform:rotate(90deg); }
.mca-lb-prev,.mca-lb-next{ position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,.1); border:0; color:#fff; font-size:24px; width:54px; height:54px; border-radius:50%; cursor:pointer; transition:background .2s; }
.mca-lb-prev{ left:24px; } .mca-lb-next{ right:24px; }
.mca-lb-prev:hover,.mca-lb-next:hover{ background:var(--mca-maroon); }
.mca-lb-cap{ position:absolute; bottom:22px; left:0; right:0; text-align:center; color:rgba(255,255,255,.85); font-size:13px; letter-spacing:1.5px; text-transform:uppercase; }
@media(max-width:560px){ .mca-lb-prev{ left:8px; } .mca-lb-next{ right:8px; } }

/* --- Spacing: breathing room for shortcode-driven content pages --- */
.mca-gallery{ padding:48px 20px 76px; }
.kingster-content-area > .mca-team,
.kingster-content-area > .mca-apply-form,
.kingster-content-area .wpcf7{ }
.page-template-default .kingster-content-area{ padding-top:8px; }
.mca-apply-form, .mca-vacancy-form{ padding-bottom:24px; }

/* =====================================================================
   REFINEMENTS — full-width header, premium homepage sections, wider gallery
   ===================================================================== */

/* --- Full-width header + top bar (edge to edge) --- */
.kingster-header-container.kingster-container,
.kingster-top-bar-container.kingster-container{
  max-width:100% !important; padding-left:50px !important; padding-right:50px !important;
}
@media(max-width:767px){
  .kingster-header-container.kingster-container,
  .kingster-top-bar-container.kingster-container{ padding-left:18px !important; padding-right:18px !important; }
}

/* --- Homepage 3 pillars → rebuilt as a clean card grid ([mca_pillars]) --- */
/* neutralise the old GoodLayers column-card wrapper (now holds just the grid) */
.mca-home-pillars{ margin-top:0 !important; padding-bottom:78px !important; } /* drop the -35px tuck-under-stats + add a gap before the next section */
.mca-home-pillars .gdlr-core-pbf-column-content-margin{
  background:none !important; border:0 !important; border-radius:0 !important; box-shadow:none !important;
}
.mca-pillars3{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px; max-width:1200px; margin:46px auto 0; }
.mca-pil{
  position:relative; display:flex; flex-direction:column; background:#fff;
  border:1px solid var(--mca-line); border-radius:18px; overflow:hidden; box-shadow:var(--mca-shadow);
  transition:transform .3s var(--mca-ease), box-shadow .3s var(--mca-ease);
}
.mca-pil:hover{ transform:translateY(-8px); box-shadow:var(--mca-shadow-lg); }
.mca-pil-cover{ position:absolute; inset:0; z-index:4; }
.mca-pil-media{ position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--mca-navy-900); }
.mca-pil-media img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .55s var(--mca-ease); }
.mca-pil:hover .mca-pil-media img{ transform:scale(1.06); }
.mca-pil-ic{
  position:absolute; left:28px; top:-28px; z-index:3; width:56px; height:56px; border-radius:15px;
  background:linear-gradient(135deg, var(--mca-maroon), var(--mca-maroon-dark));
  display:flex; align-items:center; justify-content:center; color:#fff; font-size:23px;
  box-shadow:0 10px 22px rgba(168,27,56,.38);
}
.mca-pil-ic .fa{ font-family:"FontAwesome" !important; font-weight:normal; }
.mca-pil-body{ position:relative; display:flex; flex-direction:column; flex:1; padding:44px 28px 30px; }
.mca-pil-title{ color:var(--mca-navy) !important; font-size:21px; font-weight:800; line-height:1.25; margin:0 0 12px; }
.mca-pil-text{ color:var(--mca-muted); font-size:15.5px; line-height:1.72; margin:0 0 22px; flex:1; }
.mca-pil-link{ color:var(--mca-maroon); font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:.5px; display:inline-flex; align-items:center; gap:8px; }
.mca-pil-link .fa{ font-family:"FontAwesome" !important; transition:transform .25s var(--mca-ease); }
.mca-pil:hover .mca-pil-link{ color:var(--mca-maroon-dark); }
.mca-pil:hover .mca-pil-link .fa{ transform:translateX(5px); }
@media (max-width:980px){ .mca-pillars3{ grid-template-columns:1fr; max-width:440px; gap:26px; } }

/* --- "Faith, discipline & vision" band → premium gold accent --- */
.mca-home-vision .gdlr-core-pbf-wrapper-content,
.mca-home-vision{ position:relative; }
.mca-home-vision .gdlr-core-title-item-title,
.mca-home-vision h2{ position:relative; padding-bottom:18px; }
.mca-home-vision .gdlr-core-title-item-title:after,
.mca-home-vision h2:after{ content:""; position:absolute; left:0; bottom:0; width:60px; height:3px; background:var(--mca-gold); }

/* --- Vision band: premium scripture styling + depth on the navy --- */
.mca-home-vision{ overflow:hidden; }
.mca-home-vision .gdlr-core-pbf-column:first-child{ position:relative; z-index:2; }
/* soft gold glow top-left of the navy panel for depth */
.mca-home-vision .gdlr-core-pbf-column:first-child:before{
  content:""; position:absolute; top:-60px; left:-60px; width:340px; height:340px; z-index:-1;
  background:radial-gradient(closest-side, rgba(194,161,77,.16), transparent 72%); pointer-events:none;
}
.mca-home-vision .gdlr-core-title-item-caption{ color:var(--mca-gold) !important; }
/* intro paragraph: a touch larger + airier */
.mca-home-vision .gdlr-core-text-box-item-content > p:first-child{
  font-size:17px; line-height:1.8; color:rgba(255,255,255,.92); margin-bottom:6px;
}
/* the three scripture points: gold heading + gold hairline accent */
.mca-home-vision .gdlr-core-text-box-item-content strong{
  color:var(--mca-gold) !important; font-size:16.5px; letter-spacing:.2px;
}
.mca-home-vision .gdlr-core-text-box-item-content p:has(strong){
  border-left:2px solid rgba(194,161,77,.5); padding-left:20px; margin-top:24px;
  color:rgba(255,255,255,.82); line-height:1.75;
}
/* the line-art icon → sits in a subtle gold-tinted rounded badge */
/* vision icon → FontAwesome glyph in a gold badge (replaces the old campus-logo.png demo image) */
.mca-home-vision .gdlr-core-pbf-column:first-child .gdlr-core-image-item{
  display:inline-flex; align-items:center; justify-content:center; width:74px; height:74px;
  padding:0; border-radius:18px; background:rgba(194,161,77,.14); box-shadow:inset 0 0 0 1px rgba(194,161,77,.32);
}
.mca-home-vision .gdlr-core-pbf-column:first-child .gdlr-core-image-item img{ display:none !important; }
.mca-home-vision .gdlr-core-pbf-column:first-child .gdlr-core-image-item:before{
  content:"\f19d"; font-family:"FontAwesome" !important; color:var(--mca-gold); font-size:34px; line-height:1;
}
/* admissions section: real MCA photo (#6499) now needs the navy gradient (it was baked
   into the old about-bg.jpg). Dark the right side where the steps + Apply button sit. */
.mca-home-admissions .gdlr-core-pbf-background-wrap:after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(95deg, rgba(7,19,51,.35) 0%, rgba(7,19,51,.6) 36%, rgba(7,19,51,.92) 54%, var(--mca-navy-900) 66%);
}

/* --- Programme cards: equal height + breathing room --- */
.mca-home-programmes{ padding-top:24px !important; }
.mca-home-programmes .gdlr-core-pbf-column{ display:flex; }
.mca-home-programmes .gdlr-core-pbf-column-content{ height:100%; display:flex; flex-direction:column; width:100%; }
.mca-home-academics{ padding-bottom:26px !important; }

/* --- Gallery wider (use more horizontal space) --- */
.mca-gallery{ max-width:1500px; }
.mca-glr-grid{ gap:22px; }

/* --- Dropdown sub-menus: white (was grey) --- */
.kingster-navigation .sf-menu ul,
.kingster-navigation .sf-menu ul li,
.kingster-navigation .sf-menu ul li a,
.kingster-navigation .sf-menu .sf-mega,
.kingster-navigation-bar-wrap .sf-menu ul{ background-color:#fff !important; }
.kingster-navigation .sf-menu ul li a{ color:var(--mca-navy) !important; border-color:var(--mca-line) !important; }
.kingster-navigation .sf-menu ul li:hover > a,
.kingster-navigation .sf-menu ul li.current-menu-item > a{ background-color:var(--mca-bg) !important; color:var(--mca-maroon) !important; }

/* --- Right-align the main nav so it lines up with Apply Now (top bar) --- */
.kingster-header-style-plain .kingster-navigation{ flex:0 0 auto !important; width:auto !important; margin-left:auto !important; }
.kingster-header-style-plain .kingster-navigation .kingster-main-menu{ width:auto !important; padding-right:0 !important; }
.kingster-header-style-plain .kingster-navigation .sf-menu > li:last-child{ padding-right:0 !important; }
.kingster-header-style-plain .kingster-navigation .sf-menu > li:last-child > a:after{ right:0 !important; }

/* =====================================================================
   ABOUT PAGE (Mindu-style) + TEAM card refinement
   ===================================================================== */
.mca-ab-wrap{ max-width:1200px; margin:0 auto; padding:0 30px; }
.mca-ab-eyebrow{ color:var(--mca-gold); text-transform:uppercase; letter-spacing:2.5px; font-weight:700; font-size:13px; display:block; margin-bottom:14px; }
.mca-ab-eyebrow:before{ content:""; display:inline-block; width:30px; height:2px; background:var(--mca-gold); vertical-align:middle; margin-right:12px; }
.mca-ab-h2{ color:var(--mca-navy) !important; font-size:36px; font-weight:800; line-height:1.15; margin:0 0 22px; }
.mca-ab-btn{ display:inline-block; background:var(--mca-maroon); color:#fff !important; padding:15px 32px; border-radius:8px; font-weight:700; text-transform:uppercase; letter-spacing:.4px; font-size:14px; text-decoration:none; transition:transform .2s var(--mca-ease), background .2s; }
.mca-ab-btn:hover{ background:var(--mca-maroon-dark); transform:translateY(-2px); }
.mca-ab-btn.ghost{ background:transparent; box-shadow:inset 0 0 0 2px var(--mca-navy); color:var(--mca-navy) !important; }
.mca-ab-btn.ghost:hover{ background:var(--mca-navy); color:#fff !important; }

.mca-ab-intro{ display:grid; grid-template-columns:1fr 1fr; gap:58px; align-items:center; max-width:1200px; margin:0 auto; padding:60px 30px 48px; }
.mca-ab-intro-media{ position:relative; }
.mca-ab-intro-media img{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:20px; box-shadow:var(--mca-shadow-lg); display:block; }
.mca-ab-badge{ position:absolute; left:-16px; bottom:-16px; background:var(--mca-navy); color:#fff; padding:16px 24px; border-radius:14px; box-shadow:var(--mca-shadow-lg); font-size:15px; }
.mca-ab-badge b{ display:block; color:var(--mca-gold); font-size:13px; letter-spacing:1px; text-transform:uppercase; }
.mca-ab-intro-copy p{ color:var(--mca-muted); line-height:1.85; font-size:16.5px; margin:0 0 28px; }

.mca-ab-features{ background:var(--mca-bg); padding:52px 0; }
.mca-ab-head{ text-align:center; margin-bottom:46px; }
.mca-ab-head .mca-ab-eyebrow:before{ display:none; }
.mca-ab-feat-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px; }
.mca-ab-feat{ background:#fff; border:1px solid var(--mca-line); border-radius:18px; padding:34px 28px; box-shadow:var(--mca-shadow); transition:transform .26s var(--mca-ease), box-shadow .26s var(--mca-ease); }
.mca-ab-feat:hover{ transform:translateY(-6px); box-shadow:var(--mca-shadow-lg); }
.mca-ab-feat-icon{ display:inline-flex; align-items:center; justify-content:center; width:60px; height:60px; border-radius:14px; background:linear-gradient(135deg,var(--mca-navy),var(--mca-navy-700)); color:var(--mca-gold) !important; font-family:"FontAwesome" !important; font-size:26px; margin-bottom:20px; }
.mca-ab-feat h3{ color:var(--mca-navy) !important; font-size:19px; font-weight:800; margin:0 0 12px; }
.mca-ab-feat p{ color:var(--mca-muted); line-height:1.7; font-size:15px; margin:0; }

.mca-ab-stats{ background:linear-gradient(135deg,var(--mca-navy),var(--mca-navy-900)); padding:56px 0; position:relative; }
.mca-ab-stats:before{ content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,transparent,var(--mca-gold),transparent); }
.mca-ab-stats-grid{ display:grid; grid-template-columns:repeat(4,1fr); text-align:center; }
.mca-ab-stat{ padding:8px 18px; border-right:1px solid rgba(255,255,255,.12); }
.mca-ab-stat:last-child{ border-right:0; }
.mca-ab-stat-num{ display:block; font-family:'Plus Jakarta Sans',sans-serif; font-weight:800; font-size:38px; color:#fff; line-height:1; }
.mca-ab-stat-lbl{ display:block; margin-top:10px; color:rgba(255,255,255,.7); font-size:13px; text-transform:uppercase; letter-spacing:.6px; }

.mca-ab-cta{ background:var(--mca-bg); padding:60px 0; text-align:center; }
.mca-ab-cta h2{ color:var(--mca-navy) !important; font-size:34px; font-weight:800; margin:0 0 14px; }
.mca-ab-cta p{ color:var(--mca-muted); max-width:620px; margin:0 auto 30px; line-height:1.7; }
.mca-ab-cta-btns{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

@media(max-width:880px){
  .mca-ab-intro{ grid-template-columns:1fr; gap:36px; padding:54px 22px; }
  .mca-ab-feat-grid{ grid-template-columns:repeat(2,1fr); }
  .mca-ab-stats-grid{ grid-template-columns:repeat(2,1fr); gap:32px 0; }
  .mca-ab-stat:nth-child(2){ border-right:0; }
  .mca-ab-h2,.mca-ab-cta h2{ font-size:27px; }
}
@media(max-width:520px){ .mca-ab-feat-grid{ grid-template-columns:1fr; } }

/* Team page — Mindu-style card refinement */
.mca-team-grid{ gap:30px !important; }
.mca-team .mca-card{ border-radius:18px; }
.mca-team .mca-card-photo:after{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(to top, rgba(11,30,91,.5), transparent 55%); opacity:0; transition:opacity .3s var(--mca-ease); }
.mca-team .mca-card:hover .mca-card-photo:after{ opacity:1; }
.mca-team .mca-card:hover{ transform:translateY(-8px) !important; }
.mca-team .mca-card figcaption{ padding:20px 16px 24px; }

/* =====================================================================
   CONTACT PAGE (Mindu-style): 3 info cards -> form + map -> social
   ===================================================================== */
.mca-ct-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; padding:72px 30px 14px; max-width:1200px; margin:0 auto; }
.mca-ct-card{ background:#fff; border:1px solid var(--mca-line); border-radius:18px; padding:36px 30px; text-align:center; box-shadow:var(--mca-shadow); transition:transform .26s var(--mca-ease), box-shadow .26s var(--mca-ease); }
.mca-ct-card:hover{ transform:translateY(-6px); box-shadow:var(--mca-shadow-lg); }
.mca-ct-ic{ display:inline-flex; align-items:center; justify-content:center; width:64px; height:64px; border-radius:50%; background:linear-gradient(135deg,var(--mca-navy),var(--mca-navy-700)); color:var(--mca-gold) !important; font-family:"FontAwesome" !important; font-size:25px; margin-bottom:18px; }
.mca-ct-card h3{ color:var(--mca-navy) !important; font-size:19px; font-weight:800; margin:0 0 10px; }
.mca-ct-card p{ color:var(--mca-muted); line-height:1.75; margin:0; }
.mca-ct-card a{ color:var(--mca-maroon) !important; font-weight:600; }
.mca-ct-main{ display:grid; grid-template-columns:1.1fr .9fr; gap:46px; padding:48px 30px 70px; max-width:1200px; margin:0 auto; align-items:stretch; }
.mca-ct-form .mca-ct-intro{ color:var(--mca-muted); line-height:1.75; margin:0 0 24px; }
.mca-ct-map{ border-radius:18px; overflow:hidden; box-shadow:var(--mca-shadow); min-height:520px; }
.mca-ct-map iframe{ width:100%; height:100%; min-height:520px; display:block; border:0; }
.mca-ct-follow{ background:var(--mca-bg); padding:52px 0 70px; text-align:center; }
.mca-ct-follow .mca-contact-social{ display:inline-block; margin:0; }
.mca-ct-follow .mca-social-icons{ justify-content:center; }
@media(max-width:880px){
  .mca-ct-cards{ grid-template-columns:1fr; padding:48px 22px 8px; }
  .mca-ct-main{ grid-template-columns:1fr; gap:34px; padding:36px 22px 56px; }
  .mca-ct-map{ min-height:340px; } .mca-ct-map iframe{ min-height:340px; }
}

/* =====================================================================
   TEAM larger photos + GALLERY 5-per-row + tabs on one line
   ===================================================================== */
/* Team — larger portrait photos (Mindu ref) */
.mca-team .mca-card-photo{ aspect-ratio:4/5 !important; }
.mca-team .mca-card-photo img{ object-position:center 16%; }
.mca-team .mca-team-grid{ gap:34px !important; }
.mca-team .mca-team-grid.cols-2{ max-width:860px !important; }
.mca-team .mca-team-grid.cols-3{ max-width:1200px !important; }
.mca-team .mca-card-name{ font-size:19px; }
.mca-team .mca-card figcaption{ padding:22px 16px 26px; }

/* Gallery — 5 images per line */
.mca-glr-grid{ grid-template-columns:repeat(5,1fr) !important; gap:16px; }
@media(max-width:1200px){ .mca-glr-grid{ grid-template-columns:repeat(4,1fr) !important; } }
@media(max-width:900px){ .mca-glr-grid{ grid-template-columns:repeat(3,1fr) !important; } }
@media(max-width:620px){ .mca-glr-grid{ grid-template-columns:repeat(2,1fr) !important; } }

/* Gallery — filter tabs all on one line */
.mca-glr-tabs{ flex-wrap:nowrap !important; justify-content:center; gap:10px; overflow-x:auto; padding-bottom:4px; }
.mca-glr-tab{ white-space:nowrap; padding:11px 20px; flex:0 0 auto; }

/* --- Gallery width = academics container (full 1360, breaks out of the narrower content box) --- */
.mca-gallery{
  width:1360px !important; max-width:calc(100vw - 32px) !important; margin:0 !important;
  position:relative; left:50%; transform:translateX(-50%);
}

/* --- Contact info lists with icons (footer + sidebar cards) --- */
.mca-contact-list{ list-style:none !important; padding:0 !important; margin:0 0 6px !important; }
.mca-contact-list li{ position:relative; padding-left:32px; margin-bottom:15px; line-height:1.6; }
.mca-contact-list li .fa{ position:absolute; left:0; top:3px; width:18px; text-align:center; font-size:15px; color:var(--mca-gold) !important; font-family:"FontAwesome" !important; }
.mca-contact-list a{ color:inherit !important; }
.mca-contact-list a:hover{ color:var(--mca-gold) !important; }
.mca-contact-list strong{ display:block; color:#fff; line-height:1.35; margin-bottom:1px; }

/* --- Section sub-pages (Academics / Sports children) — match parent layout --- */
.mca-sub{ padding:78px 0 88px; }
.mca-sub .mca-ab-wrap{ max-width:880px; }
.mca-sub .mca-ab-h2{ margin-bottom:26px; }
.mca-sub p{ font-size:18px; line-height:1.85; color:var(--mca-muted); margin:0 0 20px; }
.mca-sub p:last-child{ margin-bottom:0; }
.mca-sub .mca-sub-cta{ margin-top:34px; }
.mca-sub .mca-sub-note{ margin-top:30px; padding:18px 22px; background:#fff; border:1px solid var(--mca-line); border-left:3px solid var(--mca-gold); border-radius:8px; color:var(--mca-muted); font-size:15.5px; }
@media (max-width:782px){ .mca-sub{ padding:54px 0 60px; } .mca-sub p{ font-size:16.5px; } }

/* --- Mobile-menu quick links (Admissions / Information Brochure / Fees) --- */
.mca-mmenu-quick{ margin:8px 0 4px; padding:14px 20px 4px; border-top:1px solid rgba(255,255,255,.1); }
.mca-mmenu-quick-title{ display:block; color:var(--mca-gold); text-transform:uppercase; letter-spacing:2px; font-size:11px; font-weight:700; margin-bottom:4px; }
.mca-mmenu-quick-link{ display:block; color:rgba(255,255,255,.9) !important; font-weight:600; font-size:14.5px; padding:11px 0; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.07); }
.mca-mmenu-quick-link:hover{ color:var(--mca-gold) !important; }

/* --- News hub (News landing rebuilt as a section index) --- */
.mca-news .mca-ab-wrap{ max-width:1040px; }
.mca-news-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:26px; margin-top:42px; }
.mca-news-card{ display:block; background:#fff; border:1px solid var(--mca-line); border-radius:18px; padding:36px 32px; box-shadow:var(--mca-shadow); transition:transform .26s var(--mca-ease), box-shadow .26s var(--mca-ease); text-decoration:none; }
.mca-news-card:hover{ transform:translateY(-6px); box-shadow:var(--mca-shadow-lg); }
.mca-news-card h3{ color:var(--mca-navy) !important; font-size:22px; font-weight:800; margin:0 0 12px; }
.mca-news-card p{ color:var(--mca-muted); font-size:16px; line-height:1.7; margin:0 0 18px; }
.mca-news-link{ color:var(--mca-maroon); font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:.5px; }
.mca-news-card:hover .mca-news-link{ color:var(--mca-maroon-dark); }
@media(max-width:680px){ .mca-news-grid{ grid-template-columns:1fr; } }

/* --- Sticky mobile contact bar (Call Us / Email Us) — shows in mobile mode only --- */
.mca-cbar{ display:none; }
@media (max-width:1023px){
  .mca-cbar{
    position:fixed; left:0; right:0; bottom:0; z-index:9400;
    display:flex; gap:10px; padding:9px 12px;
    padding-bottom:calc(9px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.97); backdrop-filter:blur(8px);
    box-shadow:0 -6px 22px rgba(7,19,51,.16); border-top:1px solid var(--mca-line);
  }
  .mca-cbar-btn{
    flex:1; display:inline-flex; align-items:center; justify-content:center; gap:9px;
    padding:14px 12px; border-radius:40px; color:#fff !important; text-decoration:none;
    font-weight:700; font-size:15px; letter-spacing:.3px; line-height:1;
    box-shadow:0 6px 16px rgba(7,19,51,.18);
  }
  .mca-cbar-btn i{ font-size:16px; }
  .mca-cbar-call{ background:var(--mca-maroon); }
  .mca-cbar-mail{ background:var(--mca-navy); }
  .mca-cbar-btn:active{ transform:translateY(1px); }
  body{ padding-bottom:74px !important; }            /* clear the fixed bar */
  .mca-totop{ bottom:86px !important; }              /* lift back-to-top above the bar */
}
@media (max-width:767px){ .mca-totop{ bottom:84px !important; right:16px; } }

/* --- Mobile layout fixes --- */
@media (max-width:767px){
  /* custom-HTML pages (About/Contact/News/sub-pages) double-pad: theme content-area
     + our .mca-ab-wrap. Drop the theme padding so content isn't squeezed to ~260px. */
  .mca-flush .kingster-content-area{ padding-left:0 !important; padding-right:0 !important; }
  .mca-ab-wrap{ padding-left:18px !important; padding-right:18px !important; }
  /* gallery filter tabs: scroll from the first tab instead of centring the overflow */
  .mca-glr-tabs{ justify-content:flex-start !important; }
}

/* --- Admissions (6355): line the 3 document buttons up in one even row --- */
/* the 3 links live in TWO GoodLayers button elements (2 + 1) which stack — float
   them inline and give the buttons one consistent width/gap. */
.page-id-6355 .gdlr-core-pbf-sidebar-content-inner > .gdlr-core-pbf-element:has(.gdlr-core-button-item){
  display:inline-block; vertical-align:top; padding:0 !important; margin:0 !important; width:auto !important;
}
.page-id-6355 .gdlr-core-pbf-element:has(.gdlr-core-button-item) .gdlr-core-button-item{ padding:0 !important; font-size:0 !important; }
.page-id-6355 .gdlr-core-button-item .gdlr-core-button{
  width:256px !important; min-width:0 !important; box-sizing:border-box !important;
  display:inline-flex !important; align-items:center; justify-content:center; text-align:center;
  white-space:nowrap !important; padding:16px 24px !important;
  margin:0 14px 16px 0 !important; font-size:14px !important;
}
@media (max-width:767px){
  .page-id-6355 .gdlr-core-pbf-sidebar-content-inner > .gdlr-core-pbf-element:has(.gdlr-core-button-item){ display:block; }
  .page-id-6355 .gdlr-core-button-item .gdlr-core-button{ width:100% !important; margin:0 0 12px 0 !important; }
}

/* --- Banner brightness normalisation: lift each darker banner to ~the Team
   banner's brightness (#6449, lum 0.54). filter() brightens the photo + navy
   overlay but leaves white text white and its dark text-shadow dark, so the
   text stays legible. Multipliers computed in dev/64-banner-brightness.php. --- */
.page-id-5835 .kingster-page-title-wrap,
.page-id-6631 .kingster-page-title-wrap,
.page-id-6633 .kingster-page-title-wrap,
.page-id-6635 .kingster-page-title-wrap,
.page-id-6637 .kingster-page-title-wrap,
.page-id-6639 .kingster-page-title-wrap,
.page-id-6641 .kingster-page-title-wrap{ filter:brightness(1.61) saturate(1.04); }   /* Sports + codes */
.page-id-6655 .kingster-page-title-wrap{ filter:brightness(1.48) saturate(1.04); }   /* IT */
.page-id-6657 .kingster-page-title-wrap{ filter:brightness(1.45) saturate(1.04); }   /* Finance — high-contrast image (bright wall cropped out), needs manual lift */
.page-id-2700 .kingster-page-title-wrap,
.page-id-6645 .kingster-page-title-wrap,
.page-id-6647 .kingster-page-title-wrap{ filter:brightness(1.46) saturate(1.04); }   /* News + children */
.page-id-6332 .kingster-page-title-wrap{ filter:brightness(1.44) saturate(1.04); }   /* Academics */
.page-id-6581 .kingster-page-title-wrap,
.page-id-6587 .kingster-page-title-wrap,
.page-id-6591 .kingster-page-title-wrap,
.page-id-6595 .kingster-page-title-wrap{ filter:brightness(1.44) saturate(1.04); }   /* Legal */
.page-id-1977 .kingster-page-title-wrap,
.page-id-6659 .kingster-page-title-wrap{ filter:brightness(1.35) saturate(1.04); }   /* Contact, Resources */
.page-id-6643 .kingster-page-title-wrap{ filter:brightness(1.3) saturate(1.04); }    /* Kumon */
.page-id-6572 .kingster-page-title-wrap{ filter:brightness(1.25) saturate(1.04); }   /* Senior School */
.page-id-6355 .kingster-page-title-wrap,
.page-id-6677 .kingster-page-title-wrap{ filter:brightness(1.2) saturate(1.04); }     /* Admissions, Apply */
.page-id-4347 .kingster-page-title-wrap{ filter:brightness(1.17) saturate(1.04); }   /* Gallery */
.page-id-2876 .kingster-page-title-wrap{ filter:brightness(1.07) saturate(1.04); }   /* About */
.page-id-6663 .kingster-page-title-wrap{ filter:brightness(1.03) saturate(1.04); }   /* Art & Culture */

/* ============================================================
   The Events Calendar — TEC premium MCA skin
   ============================================================ */
.tribe-events,.tribe-events-view{ font-family:var(--mca-body); }
.single-tribe_events .tribe-events-single,
.tribe-events-view__content,#tribe-events-pg-template .tribe-events-content{
  max-width:1160px;margin-left:auto;margin-right:auto;
}
/* search bar, buttons, view tabs, nav */
.tribe-events .tribe-common-c-btn,
.tribe-events-c-search__button,
.tribe-events .tribe-events-c-subscribe-dropdown__button{
  background:var(--mca-navy)!important;border-radius:10px!important;border:none!important;
  font-family:var(--mca-head)!important;letter-spacing:.2px;
}
.tribe-events .tribe-common-c-btn:hover,
.tribe-events .tribe-events-c-subscribe-dropdown__button:hover{ background:var(--mca-red)!important; }
.tribe-events-c-search__input{ border-radius:12px!important;border-color:var(--mca-line)!important; }
.tribe-events-c-view-selector__list-item-text{ font-family:var(--mca-head)!important; }
.tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-text{
  color:var(--mca-navy)!important;border-bottom:2px solid var(--mca-gold)!important;
}
.tribe-events-c-top-bar__datepicker-button,.tribe-events-header__title,
.tribe-events-c-top-bar__nav-link-icon-svg{ color:var(--mca-navy)!important; }
.tribe-events-c-top-bar__datepicker-button,.tribe-events-header__title{ font-family:var(--mca-head)!important; }
.tribe-events-c-top-bar__today-button{ border-radius:8px!important; }
/* ---- LIST VIEW: cards ---- */
.tribe-events-calendar-list__event{
  background:var(--mca-card);border:1px solid var(--mca-line);border-radius:var(--mca-radius);
  box-shadow:var(--mca-shadow);padding:20px 24px!important;
  transition:transform .25s var(--mca-ease),box-shadow .25s var(--mca-ease);
}
.tribe-events-calendar-list__event:hover{ transform:translateY(-3px);box-shadow:0 18px 40px rgba(7,19,51,.14); }
.tribe-events-calendar-list__event-date-tag-datetime{
  background:var(--mca-navy);border-radius:12px;padding:10px 4px;min-width:62px;
}
.tribe-events-calendar-list__event-date-tag-weekday{ color:var(--mca-gold)!important;font-weight:700;text-transform:uppercase; }
.tribe-events-calendar-list__event-date-tag-daynum,
.tribe-events-calendar-list__event-date-tag-month{ color:#fff!important; }
.tribe-events-calendar-list__event-title-link{ font-family:var(--mca-head)!important;color:var(--mca-navy)!important; }
.tribe-events-calendar-list__event-title-link:hover{ color:var(--mca-red)!important; }
.tribe-events-calendar-list__event-datetime{ color:var(--mca-gold)!important;font-weight:600; }
.tribe-events-calendar-list__month-separator-text{ color:var(--mca-navy)!important;font-family:var(--mca-head)!important;font-weight:800; }
/* ---- MONTH VIEW ---- */
.tribe-events-calendar-month__header-column-title{ color:var(--mca-navy)!important;font-family:var(--mca-head)!important; }
.tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-daynum{
  background:var(--mca-gold)!important;color:#fff!important;border-radius:999px;
  width:1.9em;height:1.9em;display:inline-flex;align-items:center;justify-content:center;
}
.tribe-events-calendar-month__calendar-event-title-link{ color:var(--mca-navy)!important;font-family:var(--mca-head)!important; }
.tribe-events-calendar-month__calendar-event-datetime{ color:var(--mca-gold)!important; }
.tribe-events-calendar-month__day--selected .tribe-events-calendar-month__day-date-daynum{
  background:var(--mca-navy)!important;color:#fff!important;border-radius:999px;
}
/* ---- SINGLE EVENT ---- */
.tribe-events-event-image{ margin:0 0 26px!important; }
.tribe-events-event-image img{ border-radius:var(--mca-radius)!important;box-shadow:var(--mca-shadow);width:100%;height:auto; }
.tribe-events-schedule,.tribe-events-schedule h2{
  color:var(--mca-gold)!important;font-family:var(--mca-head)!important;font-weight:700;letter-spacing:.4px;
}
.tribe-events-single .tribe-events-content{ font-size:16.5px;line-height:1.85;color:var(--mca-text); }
.tribe-events-c-subscribe-dropdown__container{ margin:8px 0 26px; }
.tribe-events-meta-group{
  background:var(--mca-card);border:1px solid var(--mca-line);border-radius:var(--mca-radius);
  box-shadow:var(--mca-shadow);padding:22px 26px!important;margin-bottom:18px!important;
}
.tribe-events-meta-group .tribe-events-single-section-title{ color:var(--mca-navy)!important;font-family:var(--mca-head)!important;letter-spacing:.4px; }
.tribe-events-meta-group dt{ color:var(--mca-navy)!important;font-family:var(--mca-head)!important; }
.tribe-events-meta-group dd,.tribe-events-meta-group a{ color:var(--mca-text); }
.tribe-events-meta-group a:hover{ color:var(--mca-red)!important; }
.tribe-events-nav-pagination a,.tribe-events-back a{ color:var(--mca-navy)!important;font-family:var(--mca-head)!important; }
.tribe-events-nav-pagination a:hover,.tribe-events-back a:hover{ color:var(--mca-red)!important; }
/* TEC skin refinements */
.tribe-events .tribe-events-c-subscribe-dropdown__button,
.tribe-events-c-subscribe-dropdown__button-text,
.tribe-events-c-subscribe-dropdown__button .tribe-common-svg-icon,
.tribe-events-c-subscribe-dropdown__button svg{ color:#fff!important;fill:#fff!important; }
.tribe-events-single .tribe-events-meta-group{ float:none!important;width:auto!important;max-width:460px!important; }
.tribe-events-single .tribe-events-meta-group dd{ word-break:break-word; }
.tribe-events-single .tribe-events-meta-group dd a{ word-break:break-all; }
/* month view: clean weekday header (was stray red squares) */
.tribe-events-calendar-month__header-row,
.tribe-events-calendar-month__header{ background:#f4f6fa!important; }
.tribe-events-calendar-month__header-column{ background:transparent!important;border:none!important;width:auto!important; }
.tribe-events-calendar-month__header-column-title{
  color:var(--mca-navy)!important;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
}

/* ===== Calendar skin — FINAL overrides (match site buttons + red header bar + search) ===== */
/* Buttons: match the site's maroon CTA (.mca-ab-btn) */
.tribe-events .tribe-events-c-search__button,
.tribe-events .tribe-events-c-subscribe-dropdown__button,
.tribe-events .tribe-events-c-subscribe-dropdown__button.tribe-common-c-btn{
  background:var(--mca-maroon)!important;color:#fff!important;border:none!important;
  border-radius:8px!important;font-family:var(--mca-head)!important;font-weight:700!important;
  text-transform:uppercase!important;letter-spacing:.4px!important;
}
.tribe-events .tribe-events-c-search__button:hover,
.tribe-events .tribe-events-c-subscribe-dropdown__button:hover{ background:var(--mca-maroon-dark)!important;color:#fff!important; }
.tribe-events-c-subscribe-dropdown__button-text,
.tribe-events-c-subscribe-dropdown__button .tribe-common-svg-icon,
.tribe-events-c-subscribe-dropdown__button svg,
.tribe-events-c-subscribe-dropdown__button svg *{ color:#fff!important;fill:#fff!important; }
/* Search input: clear the magnifier icon */
.tribe-events .tribe-events-c-search__input{ padding-left:46px!important; }
/* Month weekday header: clean full-width red bar, white centred text */
.tribe-events-calendar-month__header-column{
  background:var(--mca-maroon)!important;width:100%!important;justify-self:stretch!important;
  align-self:stretch!important;padding:10px 0!important;border:none!important;
  display:flex!important;align-items:center;justify-content:center;
}
.tribe-events-calendar-month__header-column-title,
.tribe-events-calendar-month__header-column-title abbr,
.tribe-events-calendar-month__header-column-title a{
  color:#fff!important;font-weight:700!important;letter-spacing:.5px!important;text-decoration:none!important;border:none!important;
}
/* search input padding — beat TEC's form-control rule (higher specificity) */
.tribe-events .tribe-events-c-search__input.tribe-common-form-control-text__input{ padding-left:48px!important; }

/* Calendar (events) hero banner image — replaces stale live-domain default */
body.tribe-events-page-template .kingster-page-title-wrap,
body.single-tribe_events .kingster-page-title-wrap{
  background-image:url('/wp-content/uploads/2026/06/MC-Academy-Senior-School.jpg')!important;
  background-size:cover!important;background-position:center 32%!important;background-repeat:no-repeat!important;
}
/* premium readable overlay over the banner photo */
body.tribe-events-page-template .kingster-page-title-overlay,
body.single-tribe_events .kingster-page-title-overlay{
  background:linear-gradient(180deg, rgba(5,14,40,.62), rgba(5,14,40,.74))!important;opacity:1!important;
}

/* ===== Calendar — mobile polish (phones, <=767px) ===== */
@media (max-width: 767px){
  .tribe-events-calendar-list__event{ padding:14px 16px!important; }
  .tribe-events-calendar-list__event-title-link{ font-size:17px!important; line-height:1.25; }
  /* single event: detail cards stack full width */
  .single-tribe_events .tribe-events-meta-group{ max-width:none!important; width:100%!important; float:none!important; }
  /* month weekday header bar: keep readable */
  .tribe-events-calendar-month__header-column{ padding:8px 0!important; }
  .tribe-events-calendar-month__header-column-title{ font-size:11px!important; line-height:1.1; }
  /* full-width subscribe button */
  .tribe-events .tribe-events-c-subscribe-dropdown,
  .tribe-events .tribe-events-c-subscribe-dropdown__button{ width:100%!important; }
  /* banner: a touch shorter so content isn't pushed far down */
  body.tribe-events-page-template .kingster-page-title-wrap,
  body.single-tribe_events .kingster-page-title-wrap{ background-position:center 28%!important; }
}
