/*
Theme Name: City of Light
Theme URI: https://cityoflightnigeria.org/
Author: City of Light & Liberation Foundation
Description: An accessible, responsive WordPress theme for the City of Light & Liberation Foundation. Content uses standard WordPress blocks so the next editor can change text and photos without code.
Version: 1.0.1
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: city-of-light
*/

:root{--navy:#102a3d;--blue:#176487;--blue-deep:#104b69;--gold:#e7b454;--cream:#fcf8ef;--paper:#ffffff;--mist:#eaf4f6;--text:#233b49;--muted:#5e7480;--line:#d9e6e9;--shadow:0 24px 60px rgba(16,42,61,.11);--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto}a{color:var(--blue-deep);text-underline-offset:.18em}a:hover{color:#0a91b4}button,input,textarea{font:inherit}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}h1,h2,h3,h4{font-family:Georgia,"Times New Roman",serif;color:var(--navy);line-height:1.16;letter-spacing:-.025em}h1{font-size:clamp(2.8rem,6.4vw,5.7rem)}h2{font-size:clamp(2.1rem,4vw,3.55rem)}h3{font-size:clamp(1.45rem,2.2vw,2rem)}p{margin:0 0 1.2em}ul,ol{padding-left:1.35em}li{margin:.4em 0}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}.screen-reader-text:focus{clip:auto;width:auto;height:auto;z-index:100000;left:1rem;top:1rem;padding:.7rem 1rem;background:white;color:var(--navy)}.col-wrap{width:min(100% - 48px,1180px);margin-inline:auto}

/* Header and navigation */
.site-header{position:relative;z-index:100;background:#fff;border-bottom:1px solid var(--line)}.header-inner{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.site-brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;min-width:0}.site-brand img{width:58px;height:58px;object-fit:contain}.brand-copy{display:flex;flex-direction:column;line-height:1.15}.brand-copy strong{font-family:Georgia,"Times New Roman",serif;font-size:1.3rem;color:var(--navy);letter-spacing:-.02em}.brand-copy span{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);font-weight:800;margin-top:5px}.main-nav{display:flex;align-items:center;gap:1.6rem}.main-nav ul{display:flex;align-items:center;gap:1.5rem;margin:0;padding:0;list-style:none}.main-nav li{margin:0}.main-nav a{font-weight:700;font-size:.91rem;text-decoration:none;color:var(--navy)}.main-nav a:hover,.main-nav .current-menu-item>a,.main-nav .current_page_item>a{color:var(--blue)}.header-cta,.wp-block-button__link,.col-button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border-radius:100px;background:var(--gold);color:var(--navy)!important;padding:.78rem 1.3rem;font-weight:800;text-decoration:none;border:0;transition:transform .2s,background .2s,box-shadow .2s}.header-cta:hover,.wp-block-button__link:hover,.col-button:hover{transform:translateY(-2px);background:#f2c56c;box-shadow:0 8px 20px #102a3d24}.nav-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:10px;padding:.5rem .8rem;color:var(--navy);font-weight:800}

/* Shared layout */
.site-main{min-height:45vh}.entry-content>*:not(.alignfull):not(.alignwide){max-width:980px;margin-left:auto;margin-right:auto}.entry-content>.alignwide{max-width:1180px;margin-left:auto;margin-right:auto}.entry-content>.alignfull{max-width:none}.entry-content>.wp-block-group{padding-block:clamp(3rem,7vw,6rem)}.entry-content>.wp-block-group:first-child{margin-top:0}.entry-content>.wp-block-group:last-child{margin-bottom:0}.entry-content .wp-block-columns{gap:clamp(1.5rem,4vw,4.5rem);align-items:center}.entry-content .wp-block-column>*:first-child{margin-top:0}.entry-content .wp-block-column>*:last-child{margin-bottom:0}.entry-content .wp-block-image img{display:block;width:100%;border-radius:var(--radius);box-shadow:var(--shadow);object-fit:cover}.entry-content .wp-block-image figcaption{text-align:left;color:var(--muted);font-size:.85rem}.entry-content .wp-block-gallery img{border-radius:12px;box-shadow:none}.entry-content .wp-block-buttons{gap:.7rem;margin-top:1.7rem}.entry-content .is-style-outline .wp-block-button__link{background:transparent;border:2px solid var(--blue);color:var(--blue-deep)!important;box-shadow:none}.entry-content .is-style-outline .wp-block-button__link:hover{background:var(--mist)}.entry-content .has-text-align-center{margin-left:auto;margin-right:auto}.entry-content .wp-block-separator{border:0;border-top:1px solid var(--line);width:100%}.entry-content .wp-block-quote{border-left:4px solid var(--gold);padding:0 0 0 1.5rem;color:var(--navy);font-family:Georgia,serif;font-size:1.3rem}.entry-content .wp-block-quote cite{font-family:Inter,system-ui,sans-serif;font-size:.8rem;color:var(--muted);font-style:normal}.col-eyebrow{font-family:Inter,system-ui,sans-serif;font-size:.74rem!important;font-weight:850!important;letter-spacing:.17em;text-transform:uppercase;color:var(--blue)!important;margin-bottom:1rem}.col-lead{font-size:clamp(1.13rem,1.6vw,1.35rem);line-height:1.65;color:var(--muted);max-width:750px}.col-narrow{max-width:760px!important}.col-center{text-align:center}.col-soft{background:var(--mist)}.col-cream{background:var(--cream)}.col-dark{background:var(--navy);color:#e5f0f3}.col-dark h1,.col-dark h2,.col-dark h3,.col-dark .col-eyebrow{color:#fff!important}.col-dark .col-lead,.col-dark p{color:#d8e6eb}.col-dark a{color:#fff}.col-card{background:#fff;padding:clamp(1.4rem,2.6vw,2.1rem);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 14px 38px rgba(16,42,61,.06);height:100%}.col-card h3{margin-top:.4rem}.col-card p:last-child{margin-bottom:0}.col-stat{font-family:Georgia,serif;font-size:3rem;color:var(--blue);line-height:1}.col-rule{width:72px;height:5px;background:var(--gold);border-radius:5px;margin:1.4rem 0}.col-steps{counter-reset:steps}.col-steps .col-card{position:relative;padding-top:3.7rem}.col-steps .col-card:before{counter-increment:steps;content:counter(steps,decimal-leading-zero);position:absolute;top:1.2rem;left:2rem;color:var(--blue);font-size:.84rem;letter-spacing:.1em;font-weight:900}.col-photo-stack{position:relative}.col-photo-stack .wp-block-image:nth-child(2){width:60%;margin:-5rem 0 0 auto;position:relative;z-index:1}.col-hero{position:relative;background:var(--navy);color:white;min-height:min(780px,85vh);display:flex;align-items:center;isolation:isolate;overflow:hidden;padding-block:clamp(5rem,11vw,9rem)!important}.col-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,35,53,.95) 0%,rgba(9,35,53,.78) 44%,rgba(9,35,53,.21) 100%);z-index:-1}.col-hero[style*="background-image"]{background-size:cover!important;background-position:center!important}.col-hero h1{color:white;max-width:800px;margin:.4rem 0 1.2rem}.col-hero p{color:#e7f2f5;max-width:640px}.col-hero .col-eyebrow{color:#f6cd78!important}.col-hero .wp-block-button__link{background:var(--gold)}.col-hero .is-style-outline .wp-block-button__link{border-color:#fff;color:#fff!important;background:transparent}.col-hero .is-style-outline .wp-block-button__link:hover{background:#ffffff20}.col-hero>.wp-block-group__inner-container{width:min(100% - 48px,1180px);margin:auto}.col-page-hero{background:linear-gradient(125deg,var(--navy),var(--blue-deep));color:white;padding-block:clamp(3.8rem,6vw,6rem)!important}.col-page-hero h1,.col-page-hero h2{color:#fff}.col-page-hero .col-eyebrow{color:#f4c56e!important}.col-page-hero p{color:#dfeef2}.col-page-hero>.wp-block-group__inner-container{width:min(100% - 48px,1180px);margin:auto}

/* Lists, galleries and forms */
.col-course-list{columns:2;column-gap:2rem}.col-course-list li{break-inside:avoid;margin-bottom:.5rem}.col-gallery .wp-block-gallery{gap:14px}.col-gallery img{aspect-ratio:4/3;object-fit:cover}.col-date{display:inline-block;background:#eaf2f4;color:var(--blue-deep);font-size:.76rem;font-weight:850;letter-spacing:.06em;padding:.35rem .7rem;border-radius:99px;text-transform:uppercase}.col-contact-line{font-size:1.1rem;padding:.35rem 0}.col-contact-line a{text-decoration:none;font-weight:700}.wpcf7 input:not([type=submit]),.wpcf7 textarea{width:100%;padding:.8rem 1rem;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--text)}.wpcf7 input[type=submit]{background:var(--gold);border:0;border-radius:99px;padding:.85rem 1.4rem;font-weight:800;cursor:pointer}

/* Standard pages and posts */
.page-shell,.post-shell{width:min(100% - 48px,980px);margin:0 auto;padding:clamp(3.5rem,7vw,7rem) 0}.page-shell>h1,.post-shell>h1{margin:0 0 2rem}.front-page .page-shell{padding:0;width:100%;max-width:none}.front-page .page-shell>h1{display:none}.page-shell .entry-content>.wp-block-group.alignfull{width:100vw;max-width:none;position:relative;left:50%;margin-left:-50vw;margin-right:-50vw}.page-shell .entry-content>.wp-block-group.alignfull>.wp-block-group__inner-container{width:min(100% - 48px,1180px);margin:auto}.front-page .page-shell .entry-content>.col-hero.alignfull>.wp-block-group__inner-container{width:min(100% - 48px,1180px)}.post-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.post-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:0 12px 30px #102a3d0b}.post-card img{width:100%;aspect-ratio:3/2;object-fit:cover}.post-card>div{padding:1.4rem}.post-card h2{font-size:1.45rem;margin:.3rem 0 .8rem}.post-card h2 a{text-decoration:none}.pagination{margin:2.5rem 0}.post-meta{color:var(--muted);font-size:.85rem}.not-found{text-align:center;padding:7rem 1.5rem}

/* Footer */
.site-footer{background:#0d2c3d;color:#c9dce3;padding:4.6rem 0 1.4rem}.site-footer h2,.site-footer h3{color:#fff}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:3rem}.footer-grid h2{font-size:1.8rem;margin:0 0 1rem}.footer-grid h3{font-size:1.1rem;margin:.2rem 0 1rem}.footer-grid p{font-size:.93rem;max-width:430px}.footer-grid ul{list-style:none;margin:0;padding:0}.footer-grid li{margin:.35rem 0}.footer-grid a{color:#d6e7ec;text-decoration:none}.footer-grid a:hover{color:#f7cc78}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #ffffff26;margin-top:3rem;padding-top:1.3rem;color:#a6c4cf;font-size:.78rem}.footer-bottom p{margin:0}

@media(max-width:1060px){.main-nav{gap:.9rem}.main-nav ul{gap:.8rem}.main-nav a{font-size:.82rem}.header-cta{padding:.68rem 1rem;font-size:.85rem}}
@media(max-width:1050px){.header-inner{min-height:75px}.site-brand img{width:47px;height:47px}.brand-copy strong{font-size:1.05rem}.brand-copy span{font-size:.59rem}.nav-toggle{display:block}.main-nav{display:none;position:absolute;left:0;right:0;top:100%;padding:1.1rem 24px 1.5rem;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 15px 25px #102a3d19;align-items:stretch;flex-direction:column}.main-nav.is-open{display:flex}.main-nav ul{display:flex;align-items:stretch;flex-direction:column;gap:0}.main-nav li{border-bottom:1px solid var(--line)}.main-nav li a{display:block;padding:.65rem 0;font-size:.95rem}.header-cta{align-self:flex-start;margin-top:.3rem}.entry-content .wp-block-columns{gap:1.5rem}.entry-content .wp-block-columns:not(.is-not-stacked-on-mobile){flex-wrap:wrap!important}.entry-content .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:100%!important}.col-course-list{columns:1}.post-list{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:560px){.col-wrap,.col-hero>.wp-block-group__inner-container,.col-page-hero>.wp-block-group__inner-container{width:min(100% - 32px,1180px)}.entry-content>.wp-block-group{padding-block:3.3rem}.col-hero{min-height:620px;padding-block:5.5rem!important}.col-hero:before{background:linear-gradient(90deg,rgba(9,35,53,.92),rgba(9,35,53,.55))}.col-hero h1{font-size:clamp(2.55rem,13vw,4rem)}.col-photo-stack .wp-block-image:nth-child(2){margin-top:1rem;width:100%}.footer-grid{grid-template-columns:1fr;gap:1.5rem}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column}.post-list{grid-template-columns:1fr}}

/* Keep full-width block backgrounds aligned with the visible page. */
body{overflow-x:clip}
h1{font-size:clamp(2.8rem,5.5vw,4.8rem)}
.col-block-page{padding-top:0}
.col-hero>.wp-block-cover__inner-container{width:min(100% - 48px,1180px);margin-inline:auto;position:relative;z-index:1}
@media(max-width:560px){.col-hero>.wp-block-cover__inner-container{width:min(100% - 32px,1180px)}}
