/* Masire Gardens - style.css
   Brand colours: primary #135589 (deep blue), green accent, white
*/
:root{
  --brand: #135589;
  --accent-green: #2E7D32;
  --white: #ffffff;
  --muted: #6b7280;
  --gap: 1rem;
  --max-width: 1100px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  background: var(--white);
  color:#17202a;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  padding-top:64px; /* space for sticky nav */
}

/* NAV */
.nav{
  position:fixed;
  top:0;
  left:0;
  right:0;
  background: rgba(255,255,255,0.95);
  border-bottom: 1px solid #e6eef6;
  z-index:1000;
}
.nav-inner{
  max-width: var(--max-width);
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: var(--gap);
  padding: 0.5rem 1rem;
}
.brand{
  color:var(--brand);
  font-weight:700;
  text-decoration:none;
  font-size:1.125rem;
}
.nav-menu{
  list-style:none;
  display:flex;
  gap:0.75rem;
  align-items:center;
  margin:0;
  padding:0;
}
.nav-menu a{
  text-decoration:none;
  color:#0f1724;
  padding:0.5rem 0.75rem;
  border-radius:8px;
  transition: background 0.15s ease;
}
.nav-menu a:hover{background:#f1f8ff}
.nav-toggle{
  display:none;
  background:transparent;
  border:0;
  font-size:1.25rem;
  cursor:pointer;
  color:var(--brand);
}

/* HERO */
.hero{
  min-height:60vh;
  display:flex;
  align-items:center;
  justify-content:center;
  background-image: linear-gradient(rgba(19,85,137,0.35), rgba(19,85,137,0.15)), url('images/masire-gardens-hero.jpg');
  background-size:cover;
  background-position:center;
  color:var(--white);
  padding:3rem 1rem;
}
.hero-overlay{
  max-width:var(--max-width);
  text-align:center;
  padding:2rem;
  background: linear-gradient(180deg, rgba(19,85,137,0.6), rgba(46,125,50,0.15));
  border-radius:12px;
}
.hero h1{
  font-size:2rem;
  margin-bottom:0.25rem;
  color:var(--white);
  letter-spacing:0.5px;
}
.tagline{
  margin-bottom:1rem;
  font-weight:600;
  color: #e8f3ff;
}
.hero-cta .btn-primary{margin-top:0.5rem}

/* LAYOUT */
.section{
  padding:2rem 1rem;
  max-width:var(--max-width);
  margin:0 auto;
}
h2{
  text-align:center;
  color:var(--brand);
  margin-bottom:0.75rem;
}

/* BULLETS */
.bullets{list-style:none;padding:0;margin:0 auto;max-width:780px}
.bullets li{
  background: linear-gradient(90deg, rgba(19,85,137,0.03), rgba(46,125,50,0.02));
  margin:0.5rem 0;
  padding:0.75rem 1rem;
  border-radius:10px;
  font-size:1.05rem;
}

/* GALLERY */
.grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap:0.75rem;
  margin-top:0.75rem;
}
.grid img{
  width:100%;
  height:160px;
  object-fit:cover;
  border-radius:10px;
  box-shadow: 0 8px 18px rgba(13,30,40,0.08);
  transition: transform 220ms ease, box-shadow 220ms ease;
}
.grid a:focus img, .grid img:hover{ transform: translateY(-6px); box-shadow: 0 18px 36px rgba(13,30,40,0.12) }

/* CTA BUTTON */
.btn-primary{
  display:inline-block;
  background:var(--brand);
  color:var(--white);
  text-decoration:none;
  padding:0.6rem 1rem;
  border-radius:8px;
  font-weight:700;
  box-shadow: 0 6px 18px rgba(19,85,137,0.12);
  transition: transform 160ms ease, background 160ms ease;
}
.btn-primary:hover{ background:var(--accent-green); transform: translateY(-2px) }

/* FOOTER */
.site-footer{
  border-top:1px solid #e6eef6;
  padding:1.25rem;
  margin-top:2rem;
  background: #fbfeff;
}
.footer-inner{max-width:var(--max-width); margin:0 auto; text-align:center}
.muted{color:var(--muted)}
.small{font-size:0.9rem}
.file-list{list-style:none; padding:0.5rem 0 0; margin:0; color:var(--muted)}

/* RESPONSIVE - mobile nav */
@media (max-width:900px){
  .nav-toggle{display:block}
  .nav-menu{
    position: absolute;
    right: 1rem;
    top:64px;
    background: white;
    border-radius:10px;
    padding:0.5rem;
    flex-direction: column;
    gap:0;
    box-shadow: 0 8px 24px rgba(13,30,40,0.08);
    display:none;
  }
  .nav-menu.open{display:flex}
  .nav-menu a{padding:0.6rem 0.9rem}
  body{padding-top:64px}
  .hero{min-height:48vh}
  .grid img{height:140px}
}

/* small screens tweaks */
@media (max-width:480px){
  .hero h1{font-size:1.5rem}
  .hero-overlay{padding:1.2rem}
  .bullets li{font-size:1rem}
}
