/*
Theme Name: ZAWAFE Classic Modern
Theme URI: https://zambiawaterforum.org/
Author: CA Business Professionals Limited
Description: Professional modern Elementor-friendly WordPress theme for Zambia Water Forum & Exhibition (ZAWAFE), inspired by the organisation's classic navy/light-blue visual identity.
Version: 1.2.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: zawafe-classic-modern
*/

:root{
  --zawafe-navy:#102f4d;
  --zawafe-navy-deep:#0a2238;
  --zawafe-blue:#8fc4e7;
  --zawafe-blue-strong:#4aa5df;
  --zawafe-cyan:#68c5e8;
  --zawafe-white:#ffffff;
  --zawafe-bg:#f6f9fc;
  --zawafe-text:#1d2a36;
  --zawafe-muted:#6e7c89;
  --zawafe-border:#e4edf4;
  --zawafe-shadow:0 16px 45px rgba(15,47,77,.12);
  --zawafe-radius:16px;
  --zawafe-max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:#fff;color:var(--zawafe-text);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  line-height:1.65;-webkit-font-smoothing:antialiased;
}
body.zawafe-menu-open{overflow:hidden}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
.zawafe-container{width:min(var(--zawafe-max),calc(100% - 48px));margin-inline:auto}
.site-main{min-height:45vh}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ANNOUNCEMENT */
.zawafe-announcement{
  background:linear-gradient(90deg,var(--zawafe-blue-strong),var(--zawafe-cyan));
  color:#082640;
}
.zawafe-announcement-inner{
  min-height:38px;display:flex;align-items:center;justify-content:center;gap:12px;
  text-align:center;font-size:13px;font-weight:700;letter-spacing:.01em;
}
.zawafe-announcement-badge{
  display:inline-flex;align-items:center;justify-content:center;
  padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.78);
  color:var(--zawafe-navy);font-size:10px;text-transform:uppercase;letter-spacing:.1em;
}
.zawafe-announcement a{text-decoration:underline;text-underline-offset:3px}

/* TOP BAR */
.zawafe-topbar{background:var(--zawafe-navy-deep);color:#fff;font-size:13px}
.zawafe-topbar-inner{min-height:48px;display:flex;align-items:center;gap:22px}
.zawafe-top-item{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;color:rgba(255,255,255,.92)}
.zawafe-top-item:hover{color:#fff}
.zawafe-icon{
  width:18px;height:18px;flex:0 0 auto;fill:none;stroke:var(--zawafe-blue);
  stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round
}
.zawafe-top-actions{margin-left:auto;display:flex;align-items:center;gap:9px}
.zawafe-social-circle{
  width:30px;height:30px;border-radius:50%;display:grid;place-items:center;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);
  color:#fff;font-weight:800;font-size:12px;transition:.2s ease
}
.zawafe-social-circle:hover{background:var(--zawafe-blue);color:var(--zawafe-navy-deep);transform:translateY(-2px)}

/* HEADER */
.zawafe-header-shell{position:relative;z-index:90;background:#fff}
.zawafe-header-shell.is-sticky{position:sticky;top:0}
.admin-bar .zawafe-header-shell.is-sticky{top:32px}
.zawafe-header{
  background:rgba(255,255,255,.97);
  border-bottom:1px solid var(--zawafe-border);
  box-shadow:0 2px 12px rgba(15,47,77,.035);
  backdrop-filter:saturate(160%) blur(12px);
}
.zawafe-header-inner{min-height:86px;display:flex;align-items:center;position:relative;gap:28px}
.zawafe-brand{position:relative;left:auto;top:auto;z-index:5;flex:0 1 auto}
.zawafe-brand-link{
  display:flex;align-items:center;gap:12px;min-width:0;background:transparent;border:0;box-shadow:none;overflow:visible
}
.zawafe-brand-mark{width:68px;height:68px;flex:0 0 68px;display:flex;align-items:center;justify-content:center}
.zawafe-brand-mark img{width:100%;height:100%;object-fit:contain}
.zawafe-brand-copy{display:flex;flex-direction:column;min-width:0;line-height:1.15}
.zawafe-brand-copy strong{color:var(--zawafe-navy);font-size:13px;font-weight:800;white-space:nowrap}
.zawafe-brand-copy small{margin-top:5px;color:#607383;font-size:9px;font-weight:650;white-space:nowrap}
.zawafe-site-title{font-weight:800;color:var(--zawafe-navy);font-size:14px;text-align:left;padding:0}
.zawafe-nav-wrap{margin-left:auto;display:flex;align-items:center;gap:16px}
.zawafe-nav{display:flex;align-items:center;list-style:none;margin:0;padding:0}
.zawafe-nav>li{position:relative}
.zawafe-nav>li>a{
  display:flex;align-items:center;padding:31px 12px 29px;
  color:#0f1d2a;font-size:12px;font-weight:750;text-transform:uppercase;
  letter-spacing:.055em;transition:.2s ease;position:relative
}
.zawafe-nav>li>a:before{
  content:"";position:absolute;left:12px;right:12px;bottom:20px;height:2px;
  background:var(--zawafe-blue-strong);transform:scaleX(0);transform-origin:center;transition:.2s ease
}
.zawafe-nav>li>a:hover,.zawafe-nav>.current-menu-item>a,.zawafe-nav>.current-menu-ancestor>a{color:var(--zawafe-blue-strong)}
.zawafe-nav>li>a:hover:before,.zawafe-nav>.current-menu-item>a:before,.zawafe-nav>.current-menu-ancestor>a:before{transform:scaleX(1)}
.menu-item-has-children>a:after{content:"⌄";font-size:11px;margin-left:5px;transform:translateY(-1px)}
.zawafe-nav .sub-menu{
  position:absolute;left:0;top:calc(100% - 8px);min-width:245px;list-style:none;margin:0;padding:10px;
  background:#fff;border:1px solid var(--zawafe-border);border-radius:12px;box-shadow:var(--zawafe-shadow);
  opacity:0;visibility:hidden;transform:translateY(10px);transition:.2s ease
}
.zawafe-nav li:hover>.sub-menu{opacity:1;visibility:visible;transform:none}
.zawafe-nav .sub-menu a{display:block;padding:10px 12px;border-radius:8px;font-size:13px;color:#243646}
.zawafe-nav .sub-menu a:hover{background:#f0f7fc;color:var(--zawafe-blue-strong)}
.zawafe-header-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:42px;padding:0 18px;border-radius:10px;
  background:linear-gradient(135deg,var(--zawafe-blue-strong),#70bbe7);
  color:#fff;font-size:12px;font-weight:800;letter-spacing:.045em;text-transform:uppercase;
  box-shadow:0 8px 20px rgba(74,165,223,.26);transition:.2s ease
}
.zawafe-header-cta:hover{transform:translateY(-2px);box-shadow:0 11px 25px rgba(74,165,223,.33)}
.zawafe-menu-toggle{
  display:none;margin-left:auto;width:46px;height:46px;border:1px solid var(--zawafe-border);
  border-radius:10px;background:#fff;padding:11px;cursor:pointer
}
.zawafe-menu-toggle span{display:block;height:2px;background:var(--zawafe-navy);margin:5px 0;border-radius:2px}

/* CONTENT */
.zawafe-content-wrap{padding:52px 0}
body.elementor-page .zawafe-content-wrap{padding:0}
body.elementor-page .site-main>.entry-content{overflow:hidden}
.entry-title{margin:0 0 24px;font-size:clamp(32px,4vw,48px);line-height:1.12;color:var(--zawafe-navy);letter-spacing:-.03em}
.entry-content:after{content:"";display:table;clear:both}
.entry-content a:not(.elementor-button){color:#287fae}

/* PARTNERS */
.zawafe-partners{
  background:#fff;border-top:1px solid var(--zawafe-border);padding:22px 0 20px;overflow:hidden
}
.zawafe-partners-header{text-align:center;margin-bottom:14px}
.zawafe-partners-label{font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:#81909e}
.zawafe-partners-track-wrap{overflow:hidden;position:relative}
.zawafe-partners-track{
  display:flex;align-items:center;gap:56px;width:max-content;min-width:100%;
  animation:zawafePartners 28s linear infinite
}
.zawafe-partners:hover .zawafe-partners-track{animation-play-state:paused}
.zawafe-partners-track>.widget{margin:0;display:flex;align-items:center;gap:48px}
.zawafe-partners img{max-height:70px;max-width:180px;width:auto;object-fit:contain;filter:saturate(.92);transition:.2s ease}
.zawafe-partners img:hover{filter:saturate(1.1);transform:scale(1.03)}
@keyframes zawafePartners{from{transform:translateX(0)}to{transform:translateX(-18%)}}

/* FOOTER */
.zawafe-footer-main{
  color:var(--zawafe-footer-custom-text,#dce8f1);background:
    radial-gradient(circle at 80% 20%,rgba(100,190,232,.14),transparent 26%),
    linear-gradient(135deg,color-mix(in srgb,var(--zawafe-footer-custom-bg,#102f4d) 86%,#061b2d),var(--zawafe-footer-custom-bg,#102f4d))
}
.zawafe-footer-grid{
  display:grid;grid-template-columns:1.25fr .8fr .8fr 1fr;gap:44px;padding:58px 0 48px
}
.zawafe-footer-logo{width:92px;height:92px;background:#fff;border-radius:50%;padding:5px;margin-bottom:18px}
.zawafe-footer-logo img{width:100%;height:100%;object-fit:contain}
.zawafe-footer-about{max-width:360px;font-size:14px;color:#b9cada}
.zawafe-footer-heading{
  margin:4px 0 18px;color:#fff;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.09em
}
.zawafe-footer-links{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.zawafe-footer-links a{font-size:14px;color:#bdccda;transition:.18s ease}
.zawafe-footer-links a:hover{color:var(--zawafe-blue);padding-left:3px}
.zawafe-footer-column .widget{margin:0}
.zawafe-footer-column .widget+ .widget{margin-top:20px}
.zawafe-footer-column .widget ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.zawafe-footer-column .widget a{color:#bdccda}
.zawafe-footer-column .widget a:hover{color:var(--zawafe-blue)}
.zawafe-footer-column .widget p{margin-top:0}
.zawafe-contact-list{display:grid;gap:14px}
.zawafe-footer-contact-row{display:flex;align-items:flex-start;gap:11px;color:#c6d4df;font-size:14px}
.zawafe-footer-contact-row .zawafe-icon{margin-top:2px}
.zawafe-footer-contact-row a:hover{color:#fff}
.zawafe-footer-phone{color:var(--zawafe-blue);font-weight:750}
.zawafe-footer-social{display:flex;gap:9px;margin-top:20px}
.zawafe-footer-social .zawafe-social-circle{width:34px;height:34px}
.zawafe-footer-bottom{background:#8fc4e7;color:#0b2a43}
.zawafe-footer-bottom-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.zawafe-copyright{font-size:13px}
.zawafe-copyright a{font-weight:700}
.zawafe-backtop{
  width:38px;height:38px;border:1px solid rgba(11,42,67,.18);border-radius:10px;
  background:rgba(255,255,255,.35);color:var(--zawafe-navy);font-size:23px;cursor:pointer;transition:.2s ease
}
.zawafe-backtop:hover{background:#fff;transform:translateY(-2px)}

/* FLOATING AD */
.zawafe-floating-widget{
  position:fixed;right:20px;top:42%;z-index:75;width:min(185px,20vw)
}
.zawafe-floating-widget .widget{
  margin:0;background:#fff;border:1px solid var(--zawafe-border);border-radius:14px;
  overflow:hidden;box-shadow:0 18px 45px rgba(10,34,56,.2)
}
.zawafe-floating-close{
  position:absolute;right:-7px;top:-7px;width:25px;height:25px;border:0;border-radius:50%;
  background:var(--zawafe-navy);color:#fff;font-size:15px;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.22)
}

/* WP */
.alignwide{max-width:1240px;margin-left:auto;margin-right:auto}
.alignfull{width:100vw;margin-left:calc(50% - 50vw)}
.wp-caption{max-width:100%}

/* RESPONSIVE */
@media (max-width:1180px){
  .zawafe-brand-copy small{display:none}
  .zawafe-brand-copy strong{font-size:12px}
}
@media (max-width:1100px){
  .zawafe-topbar-inner{gap:14px}
  .zawafe-top-item--address{display:none}
  .zawafe-nav>li>a{padding-inline:9px;font-size:11px}
  .zawafe-header-cta{padding-inline:13px}
}
@media (max-width:980px){
  .admin-bar .zawafe-header-shell.is-sticky{top:46px}
  .zawafe-brand-mark{width:58px;height:58px;flex-basis:58px}
  .zawafe-brand-copy strong{font-size:12px}
  .zawafe-brand-copy small{display:none}
  .zawafe-menu-toggle{display:block}
  .zawafe-nav-wrap{
    position:fixed;top:0;right:0;bottom:0;width:min(390px,90vw);display:block;
    background:#fff;padding:92px 22px 30px;box-shadow:-20px 0 50px rgba(10,34,56,.18);
    transform:translateX(105%);transition:.27s ease;overflow:auto;z-index:120
  }
  .zawafe-nav-wrap.is-open{transform:none}
  .zawafe-nav{display:block}
  .zawafe-nav>li>a{padding:14px 10px;border-bottom:1px solid var(--zawafe-border);font-size:13px}
  .zawafe-nav>li>a:before{display:none}
  .zawafe-nav .sub-menu{
    position:static;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;
    border:0;background:#f6f9fc;margin:4px 0 8px;padding:6px
  }
  .zawafe-nav li.is-sub-open>.sub-menu{display:block}
  .zawafe-header-cta{margin:18px 8px 0;width:calc(100% - 16px);min-height:48px}
  .zawafe-menu-close{
    display:block!important;position:absolute;right:22px;top:24px;width:42px;height:42px;
    border:1px solid var(--zawafe-border);border-radius:10px;background:#fff;font-size:24px;cursor:pointer
  }
  .zawafe-mobile-overlay{
    display:block!important;position:fixed;inset:0;background:rgba(5,22,36,.42);z-index:110;
    opacity:0;visibility:hidden;transition:.25s ease
  }
  .zawafe-mobile-overlay.is-open{opacity:1;visibility:visible}
  .zawafe-footer-grid{grid-template-columns:1fr 1fr;gap:34px}
}
@media (max-width:680px){
  .zawafe-container{width:min(100% - 28px,var(--zawafe-max))}
  .zawafe-announcement-inner{min-height:42px;font-size:11px;gap:7px}
  .zawafe-topbar-inner{min-height:43px}
  .zawafe-top-item--email{display:none}
  .zawafe-brand-mark{width:52px;height:52px;flex-basis:52px}
  .zawafe-brand-copy{display:none}
  .zawafe-header-inner{min-height:68px}
  .zawafe-footer-grid{grid-template-columns:1fr;padding:42px 0}
  .zawafe-footer-bottom-inner{min-height:94px;flex-direction:column;justify-content:center;text-align:center;padding:16px 0}
  .zawafe-floating-widget{display:none}
}
@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
