/* ==============================================================
   ASBS STATE DATA HUB — CKAN Theme
   Abia State Bureau of Statistics
   ============================================================== */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,600;0,9..144,700;1,9..144,600&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --g:    #00562E;
  --gd:   #003820;
  --gl:   #1A7A46;
  --gold: #C8962A;
  --gldt: #DBA83B;
  --red:  #B8292F;
  --ink:  #0C1117;
  --navy: #151E2D;
  --mist: #F5F7F4;
  --dust: #E8EBE6;
  --mid:  #6B7280;
  --bdr:  #E5E7EB;
  --wh:   #FFFFFF;
  --serif:'Fraunces',Georgia,serif;
  --sans: 'Inter',system-ui,sans-serif;
}

/* ── Global reset ─────────────────────────────────── */
body{font-family:var(--sans)!important;color:var(--ink)!important;background:var(--wh)!important}
*{box-sizing:border-box}
a{color:var(--g)!important}
a:hover{color:var(--gl)!important;text-decoration:none!important}
h1,h2,h3,h4,h5{font-family:var(--serif)!important;font-weight:700!important;color:var(--ink)!important;line-height:1.15!important}

/* ── Account masthead (top strip) ─────────────────── */
.account-masthead{
  background:var(--navy)!important;
  border:none!important;
  font-size:.72rem!important;
}
.account-masthead .account ul li a{color:rgba(255,255,255,.6)!important}
.account-masthead .account ul li a:hover{color:var(--gldt)!important}
.account-masthead p.context a{color:rgba(255,255,255,.6)!important}

/* ── Site header ──────────────────────────────────── */
.site-header{
  background:var(--g)!important;
  border-bottom:3px solid var(--gold)!important;
  box-shadow:0 2px 16px rgba(0,0,0,.18)!important;
  padding:0!important;
}
.site-header .header-image{
  height:60px!important;
  display:flex!important;
  align-items:center!important;
  padding:0 1.5rem!important;
}
.site-header .header-image a{
  display:flex!important;align-items:center!important;gap:.85rem!important;
}
.site-header .header-image img{
  height:44px!important;width:auto!important;
}
.site-header .header-image a:after{
  content:"State Data Hub";
  font-family:var(--serif)!important;font-size:1.1rem!important;font-weight:700!important;
  color:var(--wh)!important;letter-spacing:-.01em!important;
}

/* ── Primary navigation ───────────────────────────── */
.primary-navigation,
.primary-navigation nav{
  background:var(--gd)!important;
  border:none!important;
  min-height:44px!important;
}
.primary-navigation .nav>li>a{
  color:rgba(255,255,255,.78)!important;
  font-size:.82rem!important;font-weight:500!important;
  padding:.65rem 1.1rem!important;
  border-bottom:none!important;
  transition:all .18s!important;
}
.primary-navigation .nav>li>a:hover,
.primary-navigation .nav>li>a:focus{
  background:rgba(255,255,255,.1)!important;
  color:var(--wh)!important;
}
.primary-navigation .nav>li.active>a{
  background:var(--gold)!important;
  color:var(--ink)!important;
  font-weight:700!important;
}
.primary-navigation .nav>li.active>a:hover{background:var(--gldt)!important}

/* search in header */
.primary-navigation .search-form{margin:0!important;padding:.4rem .6rem!important}
.primary-navigation .search-form .search-input{
  border-radius:4px 0 0 4px!important;border:none!important;
  font-size:.82rem!important;height:34px!important;
}
.primary-navigation .search-form .search-btn{
  background:var(--gold)!important;border:none!important;
  border-radius:0 4px 4px 0!important;
  color:var(--ink)!important;height:34px!important;
}
.primary-navigation .search-form .search-btn:hover{background:var(--gldt)!important}

/* ── Breadcrumb ───────────────────────────────────── */
.breadcrumb{background:var(--mist)!important;border-radius:0!important;border-bottom:1px solid var(--bdr)!important;margin-bottom:0!important;padding:.6rem 1rem!important}
.breadcrumb>li{font-size:.78rem!important;color:var(--mid)!important}
.breadcrumb>li+li::before{color:var(--mid)!important}
.breadcrumb>li.active{color:var(--g)!important;font-weight:600!important}

/* ── Buttons ──────────────────────────────────────── */
.btn-primary{background:var(--g)!important;border-color:var(--g)!important;color:var(--wh)!important;font-weight:600!important;border-radius:5px!important;transition:all .18s!important}
.btn-primary:hover,.btn-primary:focus{background:var(--gl)!important;border-color:var(--gl)!important;transform:translateY(-1px)!important;box-shadow:0 4px 12px rgba(0,86,46,.25)!important}
.btn-danger{background:var(--red)!important;border-color:var(--red)!important;border-radius:5px!important}
.btn-default{border-radius:5px!important;border-color:var(--bdr)!important;color:var(--ink)!important;font-weight:500!important}
.btn-default:hover{border-color:var(--g)!important;color:var(--g)!important;background:rgba(0,86,46,.04)!important}
.btn-success{background:var(--g)!important;border-color:var(--g)!important;border-radius:5px!important}

/* ── Tags ─────────────────────────────────────────── */
.tag,.label-info{background:rgba(0,86,46,.08)!important;color:var(--g)!important;border:1px solid rgba(0,86,46,.18)!important;border-radius:100px!important;font-size:.72rem!important;font-weight:600!important;padding:.2rem .7rem!important}
.tag:hover{background:var(--g)!important;color:var(--wh)!important}

/* ── Dataset list items ───────────────────────────── */
.dataset-list .dataset-item{
  background:var(--wh)!important;
  border:1px solid var(--bdr)!important;
  border-radius:10px!important;
  padding:1.4rem 1.5rem!important;
  margin-bottom:.85rem!important;
  transition:all .2s!important;
  box-shadow:none!important;
}
.dataset-list .dataset-item:hover{
  box-shadow:0 4px 20px rgba(0,0,0,.08)!important;
  border-color:rgba(0,86,46,.2)!important;
  transform:translateY(-2px)!important;
}
.dataset-list .dataset-item h3{font-size:1.05rem!important;margin-bottom:.4rem!important}
.dataset-list .dataset-item h3 a{color:var(--g)!important;font-weight:700!important}
.dataset-list .dataset-item h3 a:hover{color:var(--gl)!important}
.dataset-list .dataset-item p{font-size:.84rem!important;color:var(--mid)!important;line-height:1.65!important;margin-bottom:.75rem!important}
.dataset-list .dataset-item .dataset-resources .label{background:rgba(0,86,46,.08)!important;color:var(--g)!important;border:1px solid rgba(0,86,46,.2)!important;border-radius:4px!important;font-size:.65rem!important;font-weight:700!important}

/* ── Search form (main) ───────────────────────────── */
.search-input-group .search-input{
  border:2px solid var(--bdr)!important;
  border-radius:7px 0 0 7px!important;
  font-size:.9rem!important;height:46px!important;
  transition:border-color .18s!important;
}
.search-input-group .search-input:focus{border-color:var(--g)!important;box-shadow:0 0 0 3px rgba(0,86,46,.1)!important}
.search-input-group .btn-search{
  background:var(--g)!important;border:none!important;
  border-radius:0 7px 7px 0!important;height:46px!important;
  color:var(--wh)!important;font-weight:600!important;
  transition:background .18s!important;
}
.search-input-group .btn-search:hover{background:var(--gl)!important}

/* ── Filters / facets ─────────────────────────────── */
.module.module-narrow.module-filter{
  background:var(--wh)!important;
  border:1px solid var(--bdr)!important;
  border-radius:10px!important;
  overflow:hidden!important;
  margin-bottom:1rem!important;
}
.module .module-heading{
  background:var(--mist)!important;
  border-bottom:1px solid var(--bdr)!important;
  color:var(--ink)!important;
  font-family:var(--sans)!important;
  font-size:.78rem!important;
  font-weight:700!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  padding:.75rem 1rem!important;
}
.module .module-content{padding:.75rem 1rem!important}
.module .module-content .nav-facet li a{
  font-size:.82rem!important;color:var(--mid)!important;
  padding:.3rem .5rem!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  border-radius:5px!important;transition:all .18s!important;
}
.module .module-content .nav-facet li a:hover{background:var(--mist)!important;color:var(--g)!important}
.module .module-content .nav-facet li.active a{color:var(--g)!important;font-weight:600!important}
.module .module-content .nav-facet li .badge{background:var(--mist)!important;color:var(--mid)!important;border-radius:100px!important;font-size:.65rem!important;font-weight:600!important}

/* ── Pagination ───────────────────────────────────── */
.pagination>li>a,.pagination>li>span{color:var(--g)!important;border-color:var(--bdr)!important;font-size:.82rem!important}
.pagination>.active>a,.pagination>.active>span{background:var(--g)!important;border-color:var(--g)!important}
.pagination>li>a:hover{background:var(--mist)!important;color:var(--g)!important}

/* ── Dataset/resource detail ──────────────────────── */
.resource-list .resource-item{
  background:var(--wh)!important;border:1px solid var(--bdr)!important;
  border-radius:8px!important;padding:1rem 1.25rem!important;
  margin-bottom:.6rem!important;transition:all .2s!important;
}
.resource-list .resource-item:hover{border-color:var(--g)!important;box-shadow:0 2px 12px rgba(0,86,46,.08)!important}
.resource-item .heading{font-size:.92rem!important;font-weight:700!important;color:var(--ink)!important}
.resource-item a.heading:hover{color:var(--g)!important}
.resource-item .format-label{
  background:var(--g)!important;color:var(--wh)!important;
  border-radius:3px!important;font-size:.65rem!important;font-weight:700!important;
  padding:.15rem .55rem!important;text-transform:uppercase!important;letter-spacing:.08em!important;
}

/* ── Organizations / groups ───────────────────────── */
.group-list .media{
  background:var(--wh)!important;border:1px solid var(--bdr)!important;
  border-radius:10px!important;padding:1.1rem!important;
  margin-bottom:.75rem!important;transition:all .2s!important;
}
.group-list .media:hover{box-shadow:0 4px 16px rgba(0,0,0,.07)!important;border-color:rgba(0,86,46,.2)!important;transform:translateY(-2px)!important}
.group-list .media .media-heading{font-size:.95rem!important;color:var(--g)!important;font-weight:700!important}
.group-list .media p{font-size:.8rem!important;color:var(--mid)!important}

/* ── Activity stream ──────────────────────────────── */
.activity-list .item{border-color:var(--bdr)!important;padding-bottom:.75rem!important;margin-bottom:.75rem!important}
.activity-list .item .date{font-size:.7rem!important;color:var(--lgt)!important}

/* ── Forms ────────────────────────────────────────── */
.form-control{
  border:1.5px solid var(--bdr)!important;
  border-radius:6px!important;
  font-size:.88rem!important;
  transition:border-color .18s,box-shadow .18s!important;
}
.form-control:focus{border-color:var(--g)!important;box-shadow:0 0 0 3px rgba(0,86,46,.1)!important}
label{font-size:.82rem!important;font-weight:600!important;color:var(--ink)!important}
.control-label{font-weight:600!important}
.form-group{margin-bottom:1.1rem!important}

/* ── Sidebar modules ──────────────────────────────── */
.module-info{background:var(--g)!important;border-radius:10px!important;color:var(--wh)!important}
.module-info .module-heading{background:rgba(0,0,0,.15)!important;border-bottom:1px solid rgba(255,255,255,.1)!important;color:var(--wh)!important}
.module-info .module-content{color:rgba(255,255,255,.82)!important}
.module-info a{color:var(--gldt)!important}

/* ── Page header ──────────────────────────────────── */
.page-header{
  background:var(--mist)!important;
  border-bottom:1px solid var(--bdr)!important;
  border-top:none!important;
  padding:1.5rem 0!important;
  margin:0 0 1.5rem!important;
}
.page-header h1{font-size:1.8rem!important;margin-bottom:.25rem!important}
.page-heading{font-size:1.8rem!important}

/* ── Alerts ───────────────────────────────────────── */
.alert-info{background:rgba(0,86,46,.07)!important;border-color:rgba(0,86,46,.2)!important;color:var(--gd)!important;border-radius:8px!important}
.alert-success{background:rgba(0,86,46,.07)!important;border-color:var(--g)!important;border-radius:8px!important}
.alert-danger,.alert-error{background:rgba(184,41,47,.06)!important;border-color:rgba(184,41,47,.25)!important;border-radius:8px!important}

/* ── Footer ───────────────────────────────────────── */
.site-footer{
  background:var(--navy)!important;
  color:rgba(255,255,255,.5)!important;
  border-top:3px solid var(--g)!important;
  padding:3rem 0 1.5rem!important;
}
.site-footer a{color:rgba(255,255,255,.6)!important}
.site-footer a:hover{color:var(--gldt)!important}
.site-footer .footer-links{margin-bottom:1.5rem!important}
.site-footer h3{color:rgba(255,255,255,.5)!important;font-size:.7rem!important;letter-spacing:.1em!important;text-transform:uppercase!important;margin-bottom:.75rem!important}
.footer-attribute{border-top:1px solid rgba(255,255,255,.07)!important;padding-top:1.25rem!important;font-size:.72rem!important;color:rgba(255,255,255,.3)!important}

/* ── Misc improvements ────────────────────────────── */
.panel{border:1px solid var(--bdr)!important;border-radius:10px!important;box-shadow:none!important}
.panel-heading{background:var(--mist)!important;border-bottom:1px solid var(--bdr)!important;border-radius:10px 10px 0 0!important;font-weight:700!important;font-size:.82rem!important;letter-spacing:.05em!important;text-transform:uppercase!important}
.well{background:var(--mist)!important;border:1px solid var(--bdr)!important;border-radius:10px!important;box-shadow:none!important}
.nav-tabs>li.active>a{color:var(--g)!important;border-bottom-color:transparent!important;font-weight:600!important}
.nav-tabs>li>a:hover{color:var(--g)!important}
.nav-pills>li.active>a{background:var(--g)!important;color:var(--wh)!important}
.nav-pills>li>a{color:var(--mid)!important;border-radius:5px!important}
.nav-pills>li>a:hover{background:var(--mist)!important;color:var(--g)!important}
blockquote{border-left:4px solid var(--gold)!important;background:var(--mist)!important;border-radius:0 8px 8px 0!important;padding:1rem 1.25rem!important}

/* ── Responsive ───────────────────────────────────── */
@media(max-width:768px){
  .site-header .header-image img{height:36px!important}
  .site-header .header-image a:after{font-size:.9rem!important}
  .dataset-list .dataset-item{padding:1rem!important}
}

/* ================================================================
   COMPREHENSIVE FIX — Full 100vw, Left-aligned hero, Responsive
   ================================================================ */

/* ── CKAN container: wide structure, not boxed ────── */
.container{
  max-width:1300px!important;
  width:100%!important;
  padding-left:clamp(1rem,3vw,2rem)!important;
  padding-right:clamp(1rem,3vw,2rem)!important;
}
#content{padding:0!important}
.wrapper{padding:0!important}
.container-fluid{padding:0!important}

/* Full-width section backgrounds */
.ah-hero,.ah-sec,.ah-sec-alt,.ah-cta-strip,
.ah-statbar,.stats-sec{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* ── Hero explicit LEFT alignment ──────────────────── */
.ah-hero-body,
.ah-hero-body *,
.ah-kicker,
.ah-hero-title,
.ah-hero-sub,
.ah-search-form{
  text-align:left!important;
  align-items:flex-start!important;
}
.ah-wrap{
  padding-top:0!important;
  max-width:1300px!important;
}
.ah-sector-grid,.ah-steps,.ah-api-card,.ah-cta-inner{
  text-align:left!important;
}

/* ── Padding cleanup ────────────────────────────────── */
.ah-wrap{padding-left:clamp(1rem,3vw,2rem)!important;padding-right:clamp(1rem,3vw,2rem)!important;padding-top:0!important;padding-bottom:0!important}

/* ── CKAN page background full-width ────────────────── */
body,#content,.wrapper,.main-container{
  background:var(--wh);
  overflow-x:hidden;
}

/* ────────────────────────────────────────────────────
   RESPONSIVE — CKAN Portal all devices
   ──────────────────────────────────────────────────── */

/* Tablets landscape (≤1100px) */
@media(max-width:1100px){
  .ah-sector-grid{grid-template-columns:repeat(4,1fr)!important;grid-auto-rows:170px!important}
  .ah-api-card{grid-template-columns:1fr!important}
  .ah-cta-inner{grid-template-columns:1fr!important}
  .container{max-width:100%!important}
}

/* Tablets portrait (≤900px) */
@media(max-width:900px){
  .ah-hero{height:auto!important;min-height:380px!important}
  .ah-hero-body{padding:2rem 0 1.5rem!important}
  .ah-hero-title{font-size:clamp(1.8rem,6vw,2.8rem)!important}
  .ah-hero-sub{font-size:.88rem!important}
  .ah-search-form{max-width:100%!important}
  .ah-sector-grid{grid-template-columns:repeat(2,1fr)!important;grid-auto-rows:160px!important}
  .ah-steps{grid-template-columns:1fr!important;gap:1.25rem!important}
  .ah-sec{padding:3rem 0!important}
  .ah-sec-hd{margin-bottom:2rem!important}
  .ah-stat-n{font-size:1.5rem!important}
  .stats-nums{grid-template-columns:repeat(3,1fr)!important}
  .sn{padding:1.25rem .75rem!important}
  .sn-v{font-size:2rem!important}
  /* nav */
  .asbs-nav-links,.asbs-nav-search{display:none!important}
  .asbs-btn-ghost{display:none!important}
}

/* Mobile (≤640px) */
@media(max-width:640px){
  :root{--tb:28px!important}
  .asbs-topbar{font-size:.63rem!important;gap:.5rem!important}
  .asbs-topbar a{display:none!important}
  .ah-hero{min-height:320px!important}
  .ah-hero-title{font-size:clamp(1.6rem,8vw,2.1rem)!important}
  .ah-hero-sub{font-size:.82rem!important}
  .ah-search-input{font-size:.85rem!important}
  .ah-search-btn{padding:.85rem 1rem!important;font-size:.8rem!important}
  .ah-stats{grid-template-columns:repeat(2,1fr)!important}
  .ah-stat:nth-child(2){border-right:none!important}
  .ah-stat:nth-child(4){border-right:none!important}
  .ah-stat-n{font-size:1.4rem!important}
  .ah-stat-l{font-size:.58rem!important}
  .ah-sector-grid{grid-template-columns:repeat(2,1fr)!important;grid-auto-rows:145px!important}
  .ah-sc-name{font-size:.82rem!important}
  .ah-sc-sub{font-size:.6rem!important}
  .ah-steps{grid-template-columns:1fr!important}
  .ah-api-card{grid-template-columns:1fr!important;padding:1.25rem!important}
  .ah-cta-strip{padding:2.5rem 0!important}
  .ah-cta-inner{grid-template-columns:1fr!important;gap:1.5rem!important}
  .ah-cta-actions{flex-direction:column!important;gap:.6rem!important}
  .ah-btn-g,.ah-btn-gold,.ah-btn-outline,.ah-btn-outline-w{
    padding:.68rem 1.25rem!important;font-size:.82rem!important;
  }
  .ah-sec{padding:2.5rem 0!important}
  .stats-nums{grid-template-columns:repeat(2,1fr)!important}
  .sn:nth-child(3){border-left:1px solid rgba(255,255,255,.07)!important}
  /* CKAN dataset list responsive */
  .dataset-list .dataset-item{padding:.9rem!important}
  .dataset-list .dataset-item h3{font-size:.95rem!important}
  /* Footer */
  .asbs-footer-cols{grid-template-columns:1fr!important}
  .asbs-footer-bottom{flex-direction:column!important;align-items:flex-start!important;gap:.75rem!important}
}

/* Small mobile (≤380px) */
@media(max-width:380px){
  .ah-wrap{padding-left:.9rem!important;padding-right:.9rem!important}
  .container{padding-left:.9rem!important;padding-right:.9rem!important}
  .ah-sector-grid{grid-template-columns:repeat(2,1fr)!important;grid-auto-rows:130px!important}
  .ah-hero-title{font-size:1.55rem!important}
  .asbs-topbar{display:none!important}
}

/* Small mobile (≤480px) */
@media(max-width:480px){
  .ah-hero{min-height:300px!important}
  .ah-hero-title{font-size:clamp(1.55rem,8.5vw,1.9rem)!important;line-height:1.08!important}
  .ah-hero-sub{font-size:.8rem!important;line-height:1.65!important}
  .ah-search-input{font-size:.82rem!important}
  .ah-search-btn{padding:.85rem .85rem!important}
  .ah-stats{grid-template-columns:repeat(2,1fr)!important}
  .ah-stat:nth-child(2){border-right:none!important}
  .ah-stat-n{font-size:1.3rem!important}
  .ah-kicker{font-size:.6rem!important;padding:.25rem .75rem!important}
  .ah-sector-grid{grid-template-columns:repeat(2,1fr)!important;grid-auto-rows:135px!important}
  .ah-sc-name{font-size:.8rem!important}
  .ah-step h3{font-size:.95rem!important}
  .ah-step p{font-size:.78rem!important}
  .stats-nums{grid-template-columns:repeat(2,1fr)!important}
  .asbs-footer-cols{gap:1.5rem!important}
  .asbs-nav-brand img{height:30px!important}
}
