:root{
  --green:#006241; /* Starbucks-y green */
  --dark:#1e1e1e;
  --light:#f7f7f7;
  --cream:#fffaf3;
  --accent:#c0e8d5;
}

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; font-family:system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color:var(--dark); background:var(--cream); }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }

.container{ width:min(1100px, 90%); margin-inline:auto; }

/* Header / Nav */
header{
  position:sticky; top:0; z-index:1000;
  background:#fff; border-bottom:1px solid #eee;
}
.navbar{ display:flex; align-items:center; justify-content:space-between; padding:0.75rem 0; }
.brand{ display:flex; gap:.5rem; align-items:center; }
.brand img{ width:36px; height:36px; border-radius:50%; object-fit:cover; }
.brand span{ font-weight:700; letter-spacing:.5px; }

.nav-links{ display:flex; gap:1rem; }
.nav-links a{ padding:.5rem .75rem; border-radius:999px; }
.nav-links a.active, .nav-links a:hover{ background:var(--accent); }

.hamburger{ display:none; background:none; border:none; font-size:1.5rem; }

/* Hero */
.hero{
  position:relative; isolation:isolate; color:#fff; text-align:center;
  background:linear-gradient(0deg, rgba(0,0,0,.45), rgba(0,0,0,.45)), url('assets/interior.jpg') center/cover no-repeat;
  padding:6rem 1rem;
}
.hero h1{ font-size:clamp(2rem, 4vw, 3rem); margin:.25rem 0; }
.hero p{ opacity:.95; font-size:1.1rem; }
.hero .cta{ margin-top:1rem; display:inline-block; background:var(--green); color:#fff; padding:.75rem 1.25rem; border-radius:999px; }
.hero .cta:hover{ filter:brightness(1.05); }

/* Sections */
.section{ padding:3rem 0; }
.section h2{ margin:0 0 1rem; font-size:clamp(1.5rem, 3.5vw, 2rem); }
.grid{ display:grid; gap:1rem; }

/* Menu cards */
.menu-grid{ grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); }
.card{
  background:#fff; border:1px solid #eee; border-radius:16px; overflow:hidden;
  display:flex; flex-direction:column; box-shadow:0 1px 3px rgba(0,0,0,.06);
}
.card img{ aspect-ratio:4/3; object-fit:cover; }
.card .info{ padding:1rem; display:flex; justify-content:space-between; align-items:flex-start; gap:.75rem; }
.price{ font-weight:700; color:var(--green); }

/* Gallery slider */
.slider{ position:relative; overflow:hidden; border-radius:16px; }
.slides{ display:flex; transition:transform .45s ease; }
.slides img{ width:100%; flex:0 0 100%; aspect-ratio:16/9; object-fit:cover; }
.slider button{
  position:absolute; top:50%; transform:translateY(-50%);
  background:rgba(0,0,0,.55); color:#fff; border:none; padding:.5rem .75rem; border-radius:8px; cursor:pointer;
}
.slider .prev{ left:.5rem; }
.slider .next{ right:.5rem; }

/* About page */
.story{ background:#fff; padding:1.5rem; border:1px solid #eee; border-radius:16px; line-height:1.7; }

/* Contact page */
.contact-wrap{ display:grid; grid-template-columns:1.2fr 1fr; gap:1rem; }
form{ background:#fff; border:1px solid #eee; border-radius:16px; padding:1rem; display:grid; gap:.75rem; }
label{ font-weight:600; font-size:.95rem; }
input, textarea{
  width:100%; padding:.75rem; border:1px solid #ddd; border-radius:10px; background:var(--light);
}
button.submit{ background:var(--green); color:#fff; border:none; padding:.75rem 1rem; border-radius:10px; cursor:pointer; }
button.submit:hover{ filter:brightness(1.05); }

.map-embed iframe{ width:100%; height:100%; min-height:350px; border:0; border-radius:16px; }

/* Footer */
footer{ background:#fff; border-top:1px solid #eee; margin-top:2rem; }
.footer-inner{ padding:1.25rem 0; display:flex; gap:1rem; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.social a{ margin-right:.5rem; }
.hours{ font-size:.95rem; opacity:.85; }

/* Responsive (mobile stacking & hamburger) */
@media (max-width: 820px){
  .contact-wrap{ grid-template-columns:1fr; }
}
@media (max-width: 720px){
  .nav-links{ display:none; position:absolute; top:60px; right:5%; background:#fff; border:1px solid #eee; border-radius:12px; padding:.5rem; flex-direction:column; min-width:180px; box-shadow:0 10px 25px rgba(0,0,0,.08); }
  .nav-links.show{ display:flex; }
  .hamburger{ display:block; }
}