/*
 Theme Name:   TUC Kingster Child
 Theme URI:    http://demo.goodlayers.com/kingster
 Description:  Turkana University College child theme of Kingster - TUC brand palette, typography and layout overrides. Built by Edusurf Limited.
 Author:       Edusurf Limited
 Author URI:   https://edusurflimited.com
 Template:     kingster
 Version:      1.1.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         light, dark, right-sidebar, responsive-layout
 Text Domain:  tuc-kingster-child

 START YOUR CHILD THEME CSS HERE
*/
/* ==========================================================================
   TUC BRAND SYSTEM — Turkana University College
   Crest-derived palette established in the 2026 TUC web redesign.
   Primary colours are ALSO set in Theme Options (see build guide) —
   these rules lock brand details the options panel cannot reach.
   ========================================================================== */
:root{
  --tuc-green-deep:#0B4218;   /* headers, footer, top bar */
  --tuc-green:#147328;        /* primary accent, buttons, links */
  --tuc-green-soft:#EAF3ED;   /* tinted section backgrounds */
  --tuc-maroon:#7A1F2B;       /* crest accent — sparse use only */
  --tuc-blue:#1B3A6B;         /* crest accent — sparse use only */
  --tuc-gold:#FFF833;         /* highlight / call-to-action accent */
  --tuc-ink:#1C2420;          /* body text */
}

/* ---- Signature: four-colour crest bar under the main navigation ---- */
.kingster-header-background-transparent + *,
.kingster-navigation-bar-wrap{ position:relative; }
.kingster-navigation-bar-wrap::after{
  content:"";
  display:block;
  height:4px;
  width:100%;
  background:linear-gradient(90deg,
    var(--tuc-green) 0 55%,
    var(--tuc-gold) 55% 70%,
    var(--tuc-maroon) 70% 85%,
    var(--tuc-blue) 85% 100%);
}

/* ---- Top bar ---- */
.kingster-top-bar{
  background:var(--tuc-green-deep) !important;
  color:#DCE8DF !important;
}
.kingster-top-bar a{ color:#fff !important; }
.kingster-top-bar a:hover{ color:var(--tuc-gold) !important; }

/* ---- Main navigation ---- */
.kingster-navigation .kingster-main-menu > li > a{ color:var(--tuc-ink); }
.kingster-navigation .kingster-main-menu > li > a:hover,
.kingster-navigation .kingster-main-menu > li.current-menu-item > a,
.kingster-navigation .kingster-main-menu > li.current-menu-ancestor > a{
  color:var(--tuc-green) !important;
}
.kingster-navigation .sf-menu > li > ul,
.kingster-navigation .sf-menu > li > ul li ul{
  border-top-color:var(--tuc-green) !important;
}

/* ---- Page title band (inner pages) ---- */
.kingster-page-title-wrap{ background-color:var(--tuc-green-deep) !important; }
.kingster-page-title-wrap .kingster-page-title-overlay{
  background:linear-gradient(120deg, var(--tuc-green-deep), var(--tuc-green)) !important;
  opacity:.85 !important;
}

/* ---- Buttons ---- */
.kingster-button, .gdlr-core-button{
  background-color:var(--tuc-green) !important;
  color:#fff !important;
}
.kingster-button:hover, .gdlr-core-button:hover{
  background-color:var(--tuc-green-deep) !important;
}
.gdlr-core-button.gdlr-core-button-gradient{
  background:linear-gradient(120deg,var(--tuc-green),var(--tuc-green-deep)) !important;
}

/* ---- Links & accents in content ---- */
.kingster-body a{ color:var(--tuc-green); }
.kingster-body a:hover{ color:var(--tuc-green-deep); }
.gdlr-core-title-item-caption,
.gdlr-core-blog-info a,
.gdlr-core-sticky-banner{ color:var(--tuc-green) !important; }

/* ---- Course / column-service icons (used heavily in the university demo) ---- */
.gdlr-core-column-service-icon{ color:var(--tuc-green) !important; }
.gdlr-core-icon-list-icon{ color:var(--tuc-green) !important; }

/* ---- Footer ---- */
.kingster-footer-wrapper{
  background-color:var(--tuc-green) !important;
  color:#E4EFE7;
}
.kingster-footer-wrapper .kingster-widget-title,
.kingster-footer-wrapper .widget-title{ color:#fff !important; }
.kingster-footer-wrapper a{ color:#E4EFE7 !important; }
.kingster-footer-wrapper a:hover{ color:var(--tuc-gold) !important; }
.kingster-copyright-wrapper{
  background-color:var(--tuc-green-deep) !important;
  color:#D3E3D8 !important;
}

/* ---- Gold call-to-action band (Kingster "call to action" / newsletter strip) ---- */
.gdlr-core-call-to-action-item.tuc-gold-cta,
.tuc-gold-cta{ background-color:var(--tuc-gold) !important; }

/* ---- Urgent notices (posts tagged 'urgent' in Notices & Tenders) ---- */
.tag-urgent .gdlr-core-blog-title a,
.tag-urgent .kingster-single-article-title{ color:var(--tuc-maroon) !important; }

/* ---- Mobile menu ---- */
.kingster-mobile-header{ background:var(--tuc-green-deep) !important; }
.kingster-mobile-header .kingster-mobile-button-hamburger:before,
.kingster-mobile-header .kingster-mobile-button-hamburger:after,
.kingster-mobile-header .kingster-mobile-button-hamburger span{
  background:#fff !important;
}

/* ==========================================================================
   TUC HOMEPAGE SECTIONS — used by the pre-built "Home" page in the content
   pack. Renders a complete homepage without the page builder; you can later
   rebuild these blocks in GoodLayers and simply retire the classes.
   ========================================================================== */
.tuc-section{ padding:64px 24px; }
.tuc-inner{ max-width:1140px; margin:0 auto; }

/* Hero */
.tuc-hero{
  position:relative; min-height:520px; display:flex; align-items:center;
  background-size:cover; background-position:center 30%;
  color:#fff; padding:96px 24px;
}
.tuc-hero::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(100deg, rgba(11,66,24,.92) 0 35%, rgba(11,66,24,.55) 70%, rgba(11,66,24,.25));
}
.tuc-hero .tuc-inner{ position:relative; }
.tuc-hero-kicker{
  display:inline-block; background:var(--tuc-gold); color:#1C2420;
  font-weight:700; font-size:13px; letter-spacing:.14em; text-transform:uppercase;
  padding:6px 14px; margin-bottom:18px;
}
.tuc-hero h1{ color:#fff; font-size:clamp(34px,5vw,58px); line-height:1.08; margin:0 0 10px; }
.tuc-hero .tuc-swahili{ font-style:italic; color:#CFE3D6; font-size:20px; margin:0 0 28px; }
.tuc-hero-buttons a{
  display:inline-block; margin:0 14px 12px 0; padding:15px 30px; font-weight:700;
  text-decoration:none;
}
.tuc-btn-solid{ background:var(--tuc-gold); color:#1C2420 !important; }
.tuc-btn-solid:hover{ background:#fff; }
.tuc-btn-ghost{ border:2px solid #fff; color:#fff !important; }
.tuc-btn-ghost:hover{ background:#fff; color:var(--tuc-green-deep) !important; }

/* Quick-link tiles */
.tuc-tiles{ background:var(--tuc-green-soft); }
.tuc-tiles .tuc-inner{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.tuc-tile{
  background:#fff; border-top:4px solid var(--tuc-green); padding:26px 22px;
  text-decoration:none; color:var(--tuc-ink) !important; font-weight:700;
  box-shadow:0 2px 10px rgba(11,66,24,.08); transition:transform .15s;
}
.tuc-tile:hover{ transform:translateY(-3px); border-top-color:var(--tuc-gold); }
.tuc-tile small{ display:block; font-weight:400; color:#5B6A60; margin-top:6px; }

/* Schools cards */
.tuc-schools .tuc-inner{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.tuc-school-card{
  border:1px solid #DFE8E2; border-bottom:4px solid var(--tuc-green);
  padding:30px 26px; background:#fff;
}
.tuc-school-card h3{ margin:0 0 10px; font-size:21px; }
.tuc-school-card h3 a{ color:var(--tuc-green-deep); text-decoration:none; }
.tuc-school-card p{ color:#4A574F; font-size:15px; }

/* Facts band */
.tuc-facts{ background:var(--tuc-green-deep); color:#fff; }
.tuc-facts .tuc-inner{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; text-align:center; }
.tuc-fact b{ display:block; font-size:40px; color:var(--tuc-gold); }
.tuc-fact span{ color:#CFE3D6; font-size:14px; }

/* News grid (rendered by the [tuc_news] shortcode) */
.tuc-news-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.tuc-news-card{ border:1px solid #E3EBE6; background:#fff; }
.tuc-news-card img{ width:100%; aspect-ratio:16/10; object-fit:cover; display:block; }
.tuc-news-card .tuc-news-body{ padding:18px 20px 22px; }
.tuc-news-card time{ font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--tuc-green); font-weight:700; }
.tuc-news-card h3{ font-size:17px; line-height:1.35; margin:8px 0 0; }
.tuc-news-card h3 a{ color:var(--tuc-ink); text-decoration:none; }
.tuc-news-card h3 a:hover{ color:var(--tuc-green); }

/* Gold CTA band */
.tuc-cta{ background:var(--tuc-gold); text-align:center; }
.tuc-cta h2{ color:#1C2420; margin:0 0 18px; font-size:clamp(22px,3vw,32px); }
.tuc-cta a{
  display:inline-block; background:var(--tuc-green-deep); color:#fff !important;
  padding:15px 34px; font-weight:700; text-decoration:none;
}
.tuc-cta a:hover{ background:#1C2420; }

/* Section headings */
.tuc-heading{ text-align:center; margin-bottom:36px; }
.tuc-heading h2{ color:var(--tuc-green-deep); font-size:clamp(26px,3.4vw,36px); margin:0 0 8px; }
.tuc-heading p{ color:#5B6A60; margin:0; }

@media(max-width:900px){
  .tuc-tiles .tuc-inner,.tuc-facts .tuc-inner{ grid-template-columns:repeat(2,1fr); }
  .tuc-schools .tuc-inner,.tuc-news-grid{ grid-template-columns:1fr; }
}

/* ==========================================================================
   TYPOGRAPHY — Fraunces display over Public Sans body (TUC 2026 identity)
   ========================================================================== */
body.kingster-body, .kingster-body p, .kingster-body li{
  font-family:'Public Sans', -apple-system, sans-serif;
}
.kingster-body h1,.kingster-body h2,.kingster-body h3,.kingster-body h4,
.tuc-hero h1,.tuc-heading h2,.tuc-cta h2,.tuc-school-card h3{
  font-family:'Fraunces', Georgia, serif; font-weight:600; letter-spacing:-.01em;
}
.kingster-page-title-wrap .kingster-page-title{
  font-family:'Fraunces', Georgia, serif !important; font-weight:600;
}

/* Content typography polish for imported inner pages */
.kingster-content-area p{ line-height:1.75; color:#2A342E; }
.kingster-content-area h2{ color:var(--tuc-green-deep); margin-top:1.6em; }
.kingster-content-area h2::after{
  content:""; display:block; width:56px; height:3px; margin-top:10px;
  background:linear-gradient(90deg,var(--tuc-green) 60%,var(--tuc-gold));
}
.kingster-content-area ul li::marker{ color:var(--tuc-green); }
.kingster-content-area blockquote{
  border-left:4px solid var(--tuc-gold); background:var(--tuc-green-soft);
  padding:18px 24px; font-family:'Fraunces', Georgia, serif; font-size:19px;
}
.kingster-content-area img{ border-radius:4px; }
.kingster-content-area table{ border-collapse:collapse; width:100%; }
.kingster-content-area th{ background:var(--tuc-green-deep); color:#fff; padding:10px 14px; text-align:left; }
.kingster-content-area td{ border:1px solid #DFE8E2; padding:10px 14px; }

/* ==========================================================================
   PEOPLE & PROFILE COMPONENTS — Council, Management, Deans, Directors
   ========================================================================== */
.tuc-people{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin:28px 0; }
.tuc-person{ background:#fff; border:1px solid #E3EBE6; text-align:center; padding-bottom:18px; }
.tuc-person img{ width:100%; aspect-ratio:1/1.05; object-fit:cover; object-position:center 20%; display:block; }
.tuc-person .tuc-noimg{
  width:100%; aspect-ratio:1/1.05; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,var(--tuc-green-deep),var(--tuc-green));
  color:var(--tuc-gold); font-family:'Fraunces',serif; font-size:44px; font-weight:600;
}
.tuc-person b{ display:block; margin:14px 12px 2px; color:var(--tuc-green-deep); font-size:15.5px; }
.tuc-person span{ display:block; margin:0 12px; color:#5B6A60; font-size:13px; }
.tuc-person .tuc-chair{ 
  display:inline-block; margin-top:8px; background:var(--tuc-gold); color:#1C2420;
  font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:3px 10px;
}
.tuc-dean-card{
  display:grid; grid-template-columns:200px 1fr; gap:26px; align-items:center;
  background:var(--tuc-green-soft); border-left:5px solid var(--tuc-green);
  padding:26px; margin:32px 0;
}
.tuc-dean-card img{ width:100%; aspect-ratio:1/1.1; object-fit:cover; object-position:center 15%; border-radius:4px; }
.tuc-dean-card h4{ margin:0 0 4px; font-size:22px; color:var(--tuc-green-deep); }
.tuc-dean-card .tuc-role{ color:var(--tuc-green); font-weight:700; font-size:14px; letter-spacing:.05em; text-transform:uppercase; }
.tuc-dean-card a{ font-weight:700; }

/* Vision / Mission / Motto statement blocks */
.tuc-statements{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin:30px 0; }
.tuc-statement{ border-top:4px solid var(--tuc-gold); background:#fff; box-shadow:0 2px 12px rgba(11,66,24,.07); padding:24px; }
.tuc-statement h5{ margin:0 0 8px; font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--tuc-green); }
.tuc-statement p{ margin:0; font-family:'Fraunces',serif; font-size:17px; color:var(--tuc-ink); }
.tuc-values{ display:flex; flex-wrap:wrap; gap:12px; margin:20px 0; }
.tuc-values span{
  background:var(--tuc-green-deep); color:#fff; padding:9px 20px; font-weight:600; font-size:14px;
  border-radius:999px;
}
.tuc-values span:nth-child(even){ background:var(--tuc-green); }

@media(max-width:900px){
  .tuc-people{ grid-template-columns:repeat(2,1fr); }
  .tuc-dean-card{ grid-template-columns:1fr; }
  .tuc-statements{ grid-template-columns:1fr; }
}
