/*
Theme Name: Bigsun Africa
Theme URI: https://bigsun.africa/
Author: Bigsun Africa
Description: Custom WordPress theme for Bigsun Africa Initiative.
Version: 1.3.0
Text Domain: bigsun-africa
*/
.site-header .nav-inner { position: relative; }
.mobile-menu-toggle { display:none; border:0; background:transparent; cursor:pointer; padding:8px; font-size:24px; color:inherit; }
.mobile-menu-toggle span { display:block; width:24px; height:2px; background:currentColor; margin:5px 0; }
@media (max-width:900px) {
  .mobile-menu-toggle { display:block; }
  .site-navigation .nav-links { display:none; position:absolute; left:0; right:0; top:100%; flex-direction:column; background:var(--cream); padding:18px 32px; border-bottom:1px solid var(--line); box-shadow:0 8px 20px rgba(0,0,0,.06); }
  .site-navigation .nav-links.is-open { display:flex; }
  .site-navigation .nav-links a { margin:0; padding:10px 0; }
  .site-header .nav-cta { display:none; }
}
.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; }


/* Global responsive refinements */
html,body{max-width:100%;overflow-x:hidden}
img,svg,video,iframe{max-width:100%}
button,input,textarea,select{font:inherit;max-width:100%}
@media (max-width: 900px){
  .nav-inner{padding:14px 20px}
  .nav-brand span{font-size:15px}
  .site-navigation{margin-left:auto;margin-right:12px}
  .site-navigation .nav-links{top:calc(100% + 1px);padding:14px 20px;border-radius:0 0 14px 14px}
  .site-navigation .nav-links a{display:block;width:100%;margin:0;padding:12px 0}
}
@media (max-width: 600px){
  .nav-brand img{width:30px;height:30px}.nav-brand span{font-size:14px}
  .wrap{padding-left:18px;padding-right:18px}
  .section,.dark,.hero{overflow:hidden}
  .hero-inner{padding-left:18px;padding-right:18px}
  .hero h1{font-size:36px}
  .hero p.lead{font-size:16px}
  .btn{width:100%;justify-content:center;text-align:center}
  .hero-ctas,.hero .btn-row{flex-direction:column;gap:10px}
  .hero-ctas .btn{margin-right:0}
  .grid-2,.two-col-mv{display:grid;grid-template-columns:1fr;margin:0;gap:22px}
  .grid-2>*{width:100%;margin:0}
  .grid-3>*{width:100%;margin-left:0;margin-right:0}
  .values-grid>*{width:100%;margin-left:0;margin-right:0}
  .sdg-grid>*{width:calc(50% - 16px)}
  .team-grid>*{width:calc(50% - 22px)}
  .impact-grid>*{width:calc(50% - 18px)}
  .path-grid>*,.partner-grid>*{width:100%;margin-left:0;margin-right:0}
  .contact-strip{display:block}
  .contact-strip>div{border-left:0;border-top:1px solid var(--line);padding:18px}
  .contact-strip>div:first-child{border-top:0}
  .form-mock{padding:20px}
  .form-row .box{width:100%}
  section{padding:56px 0}
  h1{font-size:40px}h2{font-size:30px}
  .foot-bottom{padding-left:18px;padding-right:18px;flex-direction:column;gap:8px}
  footer .wrap>div:nth-child(1),footer .wrap>div:nth-child(2),footer .wrap>div:nth-child(3),footer .wrap>div:nth-child(4){width:100%;margin-bottom:24px}
}
@media (max-width: 400px){
  .team-grid>*,.impact-grid>*{width:100%;margin-left:0;margin-right:0}
  .sdg-grid>*{width:100%;margin-left:0;margin-right:0}
  .nav-brand span{display:none}
}

/* Homepage: keep the exact same header/footer treatment as inner pages */
body.home .site-header{
  background:transparent;
  border-bottom:0;
  position:relative;
  z-index:60;
}
body.home .site-header .nav{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(251,248,239,0.94);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
  display:block;
  max-width:none;
  margin:0;
  padding:0;
}
body.home .site-header .nav-inner{
  max-width:1120px;
  margin:0 auto;
  padding:16px 32px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
body.home .site-header .nav-brand{
  display:flex;
  align-items:center;
  gap:10px;
}
body.home .site-header .nav-brand img{
  width:34px;
  height:34px;
  border-radius:8px;
}
body.home .site-header .nav-brand span{
  font-family:'Space Grotesk',sans-serif;
  font-weight:700;
  font-size:17px;
  color:var(--green-deep);
}
body.home .site-header .nav-links{
  display:flex;
  gap:0;
  font-size:14px;
  font-weight:500;
  color:inherit;
}
body.home .site-header .nav-links a{
  color:var(--green);
  opacity:.85;
  padding:4px 0;
  margin-right:26px;
  border-bottom:2px solid transparent;
}
body.home .site-header .nav-links a:last-child{margin-right:0}
body.home .site-header .nav-links a:hover,
body.home .site-header .nav-links a.active{
  color:var(--green);
  opacity:1;
  border-color:var(--gold);
  padding-bottom:4px;
}
body.home .site-header .nav-cta{
  background:var(--green-deep);
  color:var(--cream);
  padding:9px 18px;
  border-radius:30px;
  font-size:13px;
  font-weight:600;
}

body.home footer{
  background:var(--green-deep);
  color:rgba(251,248,239,.7);
  padding:56px 0 28px;
}
body.home footer .footer-inner.wrap{
  max-width:1120px;
  margin:0 auto;
  padding:0 32px;
  display:flex;
  flex-wrap:wrap;
}
body.home footer .footer-inner>div:nth-child(1){width:40%}
body.home footer .footer-inner>div:nth-child(2),
body.home footer .footer-inner>div:nth-child(3),
body.home footer .footer-inner>div:nth-child(4){width:20%}
body.home footer .footer-brand{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--cream);
}
body.home footer .footer-brand img{
  width:34px;
  height:34px;
  border-radius:8px;
}
body.home footer .footer-brand span{
  font-family:'Space Grotesk',sans-serif;
  font-weight:700;
  font-size:17px;
}
body.home footer h4{
  color:var(--cream);
  font-size:15px;
  margin-bottom:14px;
}
body.home footer .footer-col a{
  display:block;
  color:rgba(251,248,239,.7);
  font-size:14px;
  margin-bottom:8px;
}
body.home footer .footer-col a:hover{color:var(--gold)}
body.home footer .foot-bottom{
  max-width:1120px;
  margin:40px auto 0;
  padding:20px 32px 0;
  border-top:1px solid rgba(251,248,239,.14);
  font-size:12px;
  display:flex;
  justify-content:space-between;
  gap:16px;
}

@media (max-width:900px){
  body.home .site-header .nav-inner{padding:14px 20px}
  body.home .site-navigation{margin-left:auto;margin-right:12px}
  body.home .site-navigation .nav-links{
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:100%;
    flex-direction:column;
    background:var(--cream);
    padding:14px 20px;
    border-bottom:1px solid var(--line);
    border-radius:0 0 14px 14px;
    box-shadow:0 8px 20px rgba(0,0,0,.06);
  }
  body.home .site-navigation .nav-links.is-open{display:flex}
  body.home .site-navigation .nav-links a{
    display:block;
    width:100%;
    margin:0;
    padding:12px 0;
  }
  body.home .site-header .nav-cta{display:none}
  body.home footer .footer-inner>div:nth-child(1),
  body.home footer .footer-inner>div:nth-child(2),
  body.home footer .footer-inner>div:nth-child(3),
  body.home footer .footer-inner>div:nth-child(4){width:100%;margin-bottom:24px}
}

@media (max-width:600px){
  body.home .site-header .nav-brand img{width:30px;height:30px}
  body.home .site-header .nav-brand span{font-size:14px}
  body.home footer .footer-inner.wrap{padding-left:18px;padding-right:18px}
  body.home footer .foot-bottom{padding-left:18px;padding-right:18px;flex-direction:column;gap:8px}
}

@media (max-width:400px){
  body.home .site-header .nav-brand span{display:none}
}
