:root{
  --max-width:1100px;
  --accent:#2b6f44;
  --muted:#6b7280;
  --bg:#fafaf8;
  --card:#ffffff;
}
*{box-sizing:border-box}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial; margin:0; color:#111; background:var(--bg); line-height:1.5}
.container{max-width:var(--max-width); margin:0 auto; padding:1.25rem}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.site-header{background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.7)); position:sticky; top:0; z-index:40; border-bottom:1px solid #eee}
.logo{font-weight:700; text-decoration:none; color:var(--accent); font-size:1.15rem}
.main-nav{display:flex; gap:1rem}
.main-nav a{color:#111; text-decoration:none; padding:.5rem}
.nav-toggle{display:none; background:transparent; border:0; font-size:1.25rem}

/* HERO */
.hero{min-height:56vh; background:url('assets/hero.jpg') center/cover no-repeat; display:flex; align-items:center}
.hero-overlay{background:rgba(0,0,0,0.3); width:100%; padding:4rem 0}
.hero-content{color:#fff; text-align:left; padding:2rem}
.hero h1{font-size:2.25rem; margin:0 0 .5rem}
.hero p{max-width:60ch}
.hero-ctas{margin-top:1rem}
.btn{display:inline-block;background:var(--accent);color:#fff;padding:.6rem .9rem;border-radius:6px;text-decoration:none}
.btn-outline{background:transparent;border:1px solid rgba(255,255,255,.8);color:#fff}

/* SECTIONS */
.section{padding:3rem 0}
.section h2{margin-top:0;color:var(--accent)}
.features{display:flex;gap:1rem;flex-wrap:wrap;list-style:none;padding:0;margin:.75rem 0 0}
.features li{background:var(--card);padding:.6rem .8rem;border-radius:8px;box-shadow:0 1px 4px rgba(10,10,10,.04)}

.store-grid,.rental-grid{display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.product,.rental{background:var(--card); padding:1rem;border-radius:8px; box-shadow:0 6px 18px rgba(17,24,39,0.04)}
.small{color:var(--muted); font-size:.95rem}
.event-features{list-style:disc;margin-left:1.1rem}

/* GALLERY */
.gallery-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:8px}
.gallery-grid img{width:100%; height:140px; object-fit:cover; border-radius:6px; cursor:pointer}

/* CONTACT */
.contact-grid{display:grid; grid-template-columns:1fr 320px; gap:1.25rem}
form label{display:block;margin-top:.5rem;font-weight:600}
input,textarea{width:100%; padding:.6rem;border-radius:6px;border:1px solid #ddd;margin-top:.25rem}
.form-actions{display:flex; gap:.5rem; margin-top:.75rem; align-items:center}
.contact-info h3{margin-bottom:.25rem}

/* FOOTER */
.site-footer{padding:1.2rem 0; text-align:center; color:var(--muted); border-top:1px solid #eee}

/* LIGHTBOX */
.lightbox{position:fixed; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,.8); visibility:hidden; opacity:0; transition:opacity .18s}
.lightbox img{max-width:90%; max-height:85%}
.lightbox-close{position:absolute; right:16px; top:16px; background:transparent; color:#fff; font-size:1.5rem; border:0}

/* RESPONSIVE */
@media (max-width:900px){
  .contact-grid{grid-template-columns:1fr}
  .main-nav{display:none; position:absolute; right:12px; top:62px; background:var(--card); flex-direction:column; padding:.6rem; border-radius:8px; box-shadow:0 6px 24px rgba(0,0,0,.08)}
  .nav-toggle{display:block}
}
@media (max-width:600px){
  .hero h1{font-size:1.6rem}
  .hero p{font-size:.95rem}
}
