/*
Theme Name: Kogi Poly
Theme URI: https://kogistatepolytechnic.edu.ng/
Author: Kogi State Polytechnic
Description: A focused, responsive WordPress theme for Kogi State Polytechnic.
Version: 1.0.0
Text Domain: kogi-poly
*/
:root{--ink:#17221d;--green:#1f5a45;--deep:#123d30;--gold:#e5ad3a;--cream:#f5f3ed;--muted:#66716b;--line:#d9ded8}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;background:#fff;line-height:1.6}a{color:inherit;text-decoration:none}.container{width:min(1160px,calc(100% - 48px));margin:auto}.topbar{background:var(--deep);color:#dce9e0;font-size:12px}.topbar-inner{display:flex;justify-content:space-between;padding:9px 0}.topbar a{margin-left:22px;color:#fff}.site-header{background:#fff;border-bottom:1px solid #e9ece8}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:82px}.brand{display:flex;align-items:center;gap:12px}.brand img{width:176px;height:auto}.brand span{display:flex;flex-direction:column}.brand strong{font-size:16px}.brand small{font-size:10px;color:var(--muted);letter-spacing:.07em;text-transform:uppercase}.main-nav>ul{display:flex;gap:17px;font-weight:600;font-size:12.5px}.main-nav ul{list-style:none;margin:0;padding:0}.main-nav a:hover,.arrow-link:hover{color:var(--green)}.menu-toggle{display:none;background:none;border:0;font-size:26px}.hero{height:590px;position:relative;background:#18382d;overflow:hidden;color:white}.hero-slides,.hero-slide{position:absolute;inset:0}.hero-slide{background-position:center;background-size:cover;opacity:0;transition:opacity 1s}.hero-slide.active{opacity:1}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,30,22,.83),rgba(8,30,22,.23))}.hero-overlay{position:relative;z-index:1;padding-top:130px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--gold);font-weight:bold;margin:0 0 18px}.hero h1,.cta h2{font-family:Georgia,serif;font-size:clamp(42px,6vw,76px);line-height:1.03;font-weight:400;margin:0 0 22px}.hero h1 em,.cta h2 em,h2 em{color:var(--gold);font-style:italic}.hero-copy{font-size:18px;max-width:430px;color:#e7f0e8}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:34px}.button{display:inline-block;background:var(--gold);padding:14px 20px;color:#152c22;font-size:13px;font-weight:bold}.button span{margin-left:27px;font-size:18px}.text-link{border-bottom:1px solid #bbc9be;padding-bottom:4px;font-size:13px}.hero-dots{position:absolute;z-index:2;bottom:28px;left:calc(50% - 580px);display:flex;gap:8px}.hero-dots span{width:26px;height:3px;background:#aec2b3;display:block}.hero-dots .current{background:var(--gold)}.section{padding:100px 0}.intro{background:var(--cream)}.intro-grid,.section-head{display:grid;grid-template-columns:1fr 1fr;gap:70px}.intro h2,.section h2,.section-head h2{font-family:Georgia,serif;font-size:43px;line-height:1.1;font-weight:400;margin:0}.lead{font-family:Georgia,serif;font-size:23px;line-height:1.45;margin:0 0 23px}.arrow-link{font-size:13px;color:var(--green);font-weight:bold}.arrow-link span{font-size:20px;margin-left:10px}.section-head{align-items:end;margin-bottom:38px}.section-head h2{font-size:38px}.school-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.school-grid a{padding:28px 20px 30px;border-right:1px solid var(--line);transition:.2s}.school-grid a:first-child{border-left:1px solid var(--line)}.school-grid a:hover{background:var(--deep);color:#fff;transform:translateY(-5px)}.school-grid span{color:var(--gold);font-size:12px}.school-grid h3{font-family:Georgia,serif;font-size:22px;font-weight:400;line-height:1.2;margin:26px 0 10px}.school-grid p{font-size:13px;color:var(--muted);margin:0}.school-grid a:hover p{color:#d7e5dc}.news{background:var(--cream)}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:27px}.news-image{height:175px;background:var(--green);overflow:hidden}.news-image img{width:100%;height:100%;object-fit:cover}.news-image span{display:grid;place-items:center;height:100%;font:italic 34px Georgia;color:#d9bd68}.date{font-size:11px;color:var(--muted);margin:18px 0 6px;text-transform:uppercase;letter-spacing:.1em}.news h3{font:400 21px/1.25 Georgia,serif;margin:0 0 14px}.read-more{font-size:12px;color:var(--green);font-weight:bold}.cta{background:var(--deep);color:#fff;padding:74px 0}
/* Elementor owns the spacing on builder-rendered sections. */
.e-con.cta{padding:0}.cta-inner{display:flex;align-items:center;justify-content:space-between}.cta h2{font-size:50px;margin:0}.button.light{background:#fff}.site-footer{background:#102e24;color:#dce7df;padding-top:60px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px;padding-bottom:55px}.footer-grid h3{font:400 25px Georgia,serif;color:#fff;margin:0 0 12px}.footer-grid h4{color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin:0 0 16px}.footer-grid p{font-size:13px;max-width:300px;color:#afc2b6}.footer-grid a{display:block;font-size:13px;margin:8px 0}.footer-bottom{border-top:1px solid #315246;padding:18px 0;font-size:11px;color:#95ad9e}.page-main{padding:100px 0;min-height:55vh;background:var(--cream)}.narrow{max-width:800px}.page-main h1{font:400 54px/1.1 Georgia,serif;margin:0 0 42px}.page-content{font-size:17px;line-height:1.8}.page-content h2{font:400 30px Georgia,serif}.list-post{border-top:1px solid var(--line);padding:25px 0}.list-post h2{font:400 28px Georgia,serif;margin:0}.list-post p{margin-bottom:0}@media(max-width:760px){.container{width:min(100% - 32px,600px)}.topbar-inner span{display:none}.topbar-inner{justify-content:flex-end}.header-inner{min-height:70px}.brand img{width:140px}.brand span{display:none}.menu-toggle{display:block}.main-nav{display:none;position:absolute;z-index:5;top:120px;left:0;right:0;background:#fff;padding:18px 20px;box-shadow:0 5px 14px #0001}.main-nav.open{display:block}.main-nav ul{display:block}.main-nav li{padding:9px 0}.hero{height:520px}.hero-overlay{padding-top:90px}.hero h1{font-size:47px}.hero-dots{left:16px}.section{padding:70px 0}.intro-grid,.section-head{grid-template-columns:1fr;gap:25px}.intro h2,.section h2,.section-head h2{font-size:37px}.school-grid,.news-grid{grid-template-columns:1fr 1fr}.school-grid a{border-bottom:1px solid var(--line)}.school-grid a:nth-child(3){border-left:1px solid var(--line)}.cta-inner{display:block}.cta .button{margin-top:25px}.footer-grid{grid-template-columns:1fr;gap:30px}.page-main h1{font-size:43px}}

/* ---- Dropdown navigation ---------------------------------------------- */
.main-nav li{position:relative}
.main-nav>ul>li>a{display:inline-block;padding:10px 0;white-space:nowrap}
.submenu-toggle{display:none;background:none;border:0;padding:0 0 0 5px;font-size:11px;line-height:1;color:inherit;cursor:pointer}
.main-nav .menu-item-has-children>a:after{content:"▾";display:inline-block;margin-left:6px;font-size:10px;transition:transform .18s}
.main-nav .sub-menu{position:absolute;top:100%;left:-18px;z-index:60;display:block;min-width:252px;padding:10px 0;background:#fff;border:1px solid var(--line);border-top:2px solid var(--gold);box-shadow:0 14px 32px rgba(16,46,36,.15);font-weight:600;opacity:0;visibility:hidden;transform:translateY(7px);transition:opacity .18s,transform .18s,visibility .18s}
.main-nav .sub-menu .sub-menu{top:-12px;left:100%;border-top:1px solid var(--line);border-left:2px solid var(--gold)}
.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.main-nav .sub-menu li{display:block}
.main-nav .sub-menu a{display:block;padding:9px 20px;font-size:12.5px;line-height:1.4;color:var(--ink);transition:background .15s,color .15s}
.main-nav .sub-menu a:hover,.main-nav .sub-menu a:focus{background:var(--cream);color:var(--green)}
.main-nav .sub-menu .menu-item-has-children>a:after{content:"›";float:right;margin:0;font-size:15px;line-height:1.2}

@media(max-width:760px){
  .main-nav>ul{display:block;gap:0}
  .main-nav li{border-bottom:1px solid #eef1ed}
  .main-nav li:last-child{border-bottom:0}
  .main-nav>ul>li>a{padding:0}
  .main-nav a{display:block;padding:11px 0}
  .submenu-toggle{display:block;position:absolute;top:4px;right:0;width:40px;height:40px;font-size:15px}
  .main-nav .menu-item-has-children>a:after,.main-nav .sub-menu .menu-item-has-children>a:after{display:none}
  .main-nav .sub-menu{position:static;display:none;min-width:0;padding:0 0 8px 16px;border:0;border-left:2px solid var(--gold);box-shadow:none;opacity:1;visibility:visible;transform:none}
  .main-nav li.is-open>.sub-menu{display:block}
  .main-nav li:hover>.sub-menu{opacity:1;visibility:visible}
  .main-nav li.is-open>.submenu-toggle{transform:rotate(180deg)}
  .main-nav .sub-menu a{padding:9px 0;font-size:13px}
  .main-nav .sub-menu a:hover,.main-nav .sub-menu a:focus{background:none}
}

/* ---- Under-construction placeholder ----------------------------------- */
.under-construction{border:1px solid var(--line);border-top:3px solid var(--gold);background:#fff;padding:44px 40px;margin:6px 0 0}
.under-construction .uc-mark{display:grid;place-items:center;width:54px;height:54px;margin-bottom:22px;border-radius:50%;background:var(--cream);font:italic 24px Georgia,serif;color:var(--gold)}
.under-construction h2{margin:0 0 14px;font:400 30px/1.2 Georgia,serif}
.under-construction p{margin:0 0 20px;max-width:52ch;color:var(--muted);font-size:15.5px;line-height:1.75}
.under-construction .arrow-link{font-size:13px}
@media(max-width:760px){.under-construction{padding:32px 24px}.under-construction h2{font-size:25px}}

/* ---- Top bar quick links ---------------------------------------------- */
.topbar-menu{display:flex;flex-wrap:wrap;gap:22px;list-style:none;margin:0;padding:0}
.topbar-menu li{margin:0}
.topbar-menu a{margin:0;color:#fff;opacity:.88;transition:opacity .15s,color .15s}
.topbar-menu a:hover,.topbar-menu a:focus{opacity:1;color:var(--gold)}

/* ---- Mega footer ------------------------------------------------------- */
.footer-top{display:grid;grid-template-columns:2fr 1fr;gap:60px;padding-bottom:46px;border-bottom:1px solid #2a4a3d}
.footer-brand h3{font:400 25px Georgia,serif;color:#fff;margin:0 0 12px}
.footer-brand p{font-size:13.5px;line-height:1.7;max-width:360px;color:#afc2b6;margin:0 0 16px}
.arrow-link.light{color:var(--gold)}
.footer-hours h4,.footer-col h4{color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin:0 0 16px}
.footer-hours dl{display:grid;grid-template-columns:auto 1fr;gap:7px 18px;margin:0;font-size:13px}
.footer-hours dt{color:#dce7df}
.footer-hours dd{margin:0;color:#9fb6a8;text-align:right}

.footer-cols{display:grid;grid-template-columns:repeat(5,1fr);gap:34px 30px;padding:44px 0 55px}
.footer-col ul{list-style:none;margin:0;padding:0}
.footer-col li{margin:0 0 9px}
.footer-col a{font-size:13px;line-height:1.5;color:#c3d4c9;transition:color .15s}
.footer-col a:hover,.footer-col a:focus{color:#fff;text-decoration:underline}

@media(max-width:1024px){.footer-cols{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){
  .topbar-inner{flex-direction:column;align-items:flex-start;gap:8px}
  .topbar-inner span{display:none}
  .topbar-menu{gap:14px;font-size:11.5px}
  .footer-top{grid-template-columns:1fr;gap:34px;padding-bottom:34px}
  .footer-hours dd{text-align:left}
  .footer-cols{grid-template-columns:1fr 1fr;gap:26px 20px;padding:32px 0 40px}
}
@media(max-width:420px){.footer-cols{grid-template-columns:1fr}}

/* ---- Inner pages ------------------------------------------------------- */
.inner-banner{background:var(--deep);color:#fff;padding:46px 0 54px;border-bottom:3px solid var(--gold)}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:9px;font-size:12px;margin-bottom:20px}
.crumbs a{color:#cfe0d5}
.crumbs a:hover,.crumbs a:focus{color:var(--gold)}
.crumbs span[aria-hidden]{color:#5d8873}
.crumbs-current{color:#fff}
.inner-banner h1{font:400 clamp(31px,4.3vw,52px)/1.08 Georgia,serif;margin:0;max-width:22ch}
.inner-meta{margin:16px 0 0;font-size:12px;color:#a8c0b2;letter-spacing:.08em;text-transform:uppercase}

.inner-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:66px;align-items:start;padding:62px 0 88px}
.inner-layout.is-solo{grid-template-columns:minmax(0,750px);justify-content:center}
.inner-body{min-width:0}

.inner-aside{position:sticky;top:22px}
.section-nav{background:var(--cream);border-top:2px solid var(--gold);padding:23px 22px 24px}
.section-nav-title{font:400 19px/1.25 Georgia,serif;margin:0 0 14px}
.section-nav ul{list-style:none;margin:0;padding:0}
.section-nav li{border-top:1px solid var(--line)}
.section-nav li:first-child{border-top:0}
.section-nav a{display:block;padding:10px 0;font-size:13.5px;line-height:1.45;color:var(--ink)}
.section-nav a:hover,.section-nav a:focus{color:var(--green)}
.section-nav li.is-current{border-left:2px solid var(--gold);margin-left:-22px;padding-left:20px}
.section-nav li.is-current a{color:var(--green);font-weight:bold}

/* Content typography */
.page-content{font-size:16.5px;line-height:1.8;color:#2a352f;max-width:68ch}
.page-content>*:first-child{margin-top:0}
.page-content>*:last-child{margin-bottom:0}
.page-content p{margin:0 0 1.35em}
.page-content h2{font:400 27px/1.25 Georgia,serif;margin:2em 0 .55em;color:var(--ink)}
.page-content h3{font:400 21px/1.3 Georgia,serif;margin:1.8em 0 .5em;color:var(--ink)}
.page-content h4{font-size:15px;font-weight:bold;margin:1.7em 0 .5em}
.page-content a{color:var(--green);text-decoration:underline;text-underline-offset:3px}
.page-content a:hover,.page-content a:focus{color:#0f4433}
.page-content img{max-width:100%;max-height:430px;width:auto;height:auto;border:1px solid var(--line)}
.page-content figure{margin:2em 0}
.page-content figcaption{margin-top:9px;font-size:12.5px;line-height:1.5;color:var(--muted)}
.page-content ul,.page-content ol{margin:0 0 1.35em;padding-left:1.25em}
.page-content li{margin-bottom:.45em}
.page-content blockquote{margin:1.9em 0;padding:2px 0 2px 22px;border-left:2px solid var(--gold);font:italic 19px/1.6 Georgia,serif}
.page-content hr{border:0;border-top:1px solid var(--line);margin:2.2em 0}
.table-scroll{overflow-x:auto;margin:1.9em 0;border:1px solid var(--line)}
.page-content table{width:100%;border-collapse:collapse;font-size:14px}
.page-content th,.page-content td{border:1px solid var(--line);padding:10px 13px;text-align:left;vertical-align:top;line-height:1.55}
.page-content thead th{background:var(--cream);font-size:12.5px;letter-spacing:.03em}
.page-content tbody tr:nth-child(even){background:#fafbfa}
.page-content .under-construction{max-width:none}

.inner-help{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin-top:54px;padding-top:22px;border-top:1px solid var(--line)}
.inner-help p{margin:0;font-size:14px;color:var(--muted)}

.inner-figure{margin:0 0 34px}
.inner-figure img{width:100%;height:auto;border:1px solid var(--line)}
.post-pager{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:54px;padding-top:26px;border-top:1px solid var(--line)}
.post-pager-dir{display:block;margin-bottom:7px;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.post-pager-title{font:400 17px/1.35 Georgia,serif}
.post-pager-link:hover .post-pager-title{color:var(--green)}
.post-pager-link.is-next{grid-column:2;text-align:right}

@media(max-width:980px){
  .inner-layout,.inner-layout.is-solo{grid-template-columns:minmax(0,1fr);gap:40px;padding:44px 0 66px}
  .inner-aside{position:static}
  .section-nav li.is-current{margin-left:-22px}
}
@media(max-width:760px){
  .inner-banner{padding:30px 0 36px}
  .crumbs{font-size:11.5px;gap:7px;margin-bottom:15px}
  .page-content{font-size:16px}
  .post-pager{grid-template-columns:1fr;gap:20px}
  .post-pager-link.is-next{grid-column:1;text-align:left}
}

/* ---- News listing ------------------------------------------------------ */
.post-list{display:grid;gap:0}
.post-item{display:grid;grid-template-columns:200px minmax(0,1fr);gap:26px;align-items:start;padding:28px 0;border-top:1px solid var(--line)}
.post-item:first-child{border-top:0;padding-top:0}
.post-item-media img{display:block;width:100%;height:132px;object-fit:cover;border:1px solid var(--line)}
.post-item.has-no-media{grid-template-columns:minmax(0,1fr)}
.post-item-text .date{margin:0 0 7px}
.post-item h2{font:400 22px/1.3 Georgia,serif;margin:0 0 9px}
.post-item h2 a:hover{color:var(--green)}
.post-item p{margin:0;font-size:14.5px;line-height:1.7;color:var(--muted)}

.pagination{margin-top:44px;padding-top:24px;border-top:1px solid var(--line)}
.pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pagination .page-numbers{display:inline-block;min-width:38px;padding:8px 11px;border:1px solid var(--line);text-align:center;font-size:13px}
.pagination .page-numbers:hover{border-color:var(--green);color:var(--green)}
.pagination .page-numbers.current{background:var(--deep);border-color:var(--deep);color:#fff}
.pagination .page-numbers.dots{border:0}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

@media(max-width:600px){
  .post-item{grid-template-columns:1fr;gap:14px}
  .post-item-media img{height:180px}
}

/* Person and school profiles: the portrait floats so the text starts level with it. */
.profile-portrait{float:left;width:215px;margin:6px 30px 6px 0;max-width:40%;shape-margin:30px}
.profile-portrait img{display:block;width:100%;max-height:none;border:1px solid var(--line)}
.profile-name{font:400 27px/1.16 Georgia,serif;margin:0 0 9px;color:var(--ink)}
.profile-credentials{margin:0 0 4px;font-size:13px;line-height:1.55;font-weight:bold;letter-spacing:.04em;color:var(--green)}
/* The first heading after the identity lines should not be flung down the page. */
.profile-name+h2,.profile-credentials+h2,.profile-portrait+h2{margin-top:1.5em}
.profile-name+p,.profile-credentials+p{margin-top:1.1em}
.page-content:after{content:"";display:block;clear:both}

/* Imported pages centre-align whole blocks; keep that readable rather than ragged. */
.page-content [style*="text-align:center"],.page-content [style*="text-align: center"]{margin-left:auto;margin-right:auto}
.page-content p:empty,.page-content p>br:only-child{display:none}

@media(max-width:600px){
  .profile-portrait{float:none;width:auto;max-width:230px;margin:0 0 20px}
  .page-content img{max-height:340px}
}

/* Directory of people: portrait, name, role. */
.people-directory{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 28px;margin:0 0 40px;padding-bottom:36px;border-bottom:1px solid var(--line)}
.person-card{min-width:0}
.person-portrait{margin:0 0 14px}
.person-portrait img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top center;max-height:none;border:1px solid var(--line)}
.person-name{font:400 18px/1.3 Georgia,serif;margin:0 0 5px;color:var(--ink)}
.person-role{margin:0 0 3px;font-size:13px;line-height:1.5;color:var(--muted)}
.person-role:first-of-type{color:var(--green);font-weight:bold}
@media(max-width:760px){.people-directory{grid-template-columns:1fr 1fr;gap:26px 20px}}
@media(max-width:430px){.people-directory{grid-template-columns:1fr}}
