/* Lakoma Restaurant - Custom Design System */
:root{
  --ink:#1a1410;
  --paper:#f7f1e6;
  --cream:#efe6d2;
  --burgundy:#7a1c1c;
  --paprika:#c8421f;
  --gold:#b88a3e;
  --moss:#3a4a2a;
  --muted:#6b5e4d;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,sans-serif;
  background:var(--paper);
  color:var(--ink);
  margin:0;
  -webkit-font-smoothing:antialiased;
}
.font-display{font-family:'Playfair Display',Georgia,serif;letter-spacing:-0.01em}
.font-script{font-family:'Caveat',cursive}

/* Texture overlay */
.paper-bg{
  background-color:var(--paper);
  background-image:
    radial-gradient(rgba(122,28,28,.04) 1px,transparent 1px),
    radial-gradient(rgba(184,138,62,.04) 1px,transparent 1px);
  background-size:24px 24px,48px 48px;
  background-position:0 0,12px 12px;
}

/* Nav */
.nav-link{position:relative;padding:.25rem 0;color:var(--ink);text-decoration:none;font-weight:500;font-size:.95rem;letter-spacing:.02em}
.nav-link::after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:1px;background:var(--burgundy);transition:width .3s ease}
.nav-link:hover::after,.nav-link.active::after{width:100%}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.85rem 1.6rem;font-weight:600;letter-spacing:.04em;
  text-transform:uppercase;font-size:.8rem;text-decoration:none;
  transition:all .3s ease;border:1px solid transparent;cursor:pointer;
}
.btn-primary{background:var(--burgundy);color:var(--paper)}
.btn-primary:hover{background:#5c1414;transform:translateY(-2px);box-shadow:0 10px 30px -10px rgba(122,28,28,.5)}
.btn-ghost{background:transparent;color:var(--paper);border-color:var(--paper)}
.btn-ghost:hover{background:var(--paper);color:var(--ink)}
.btn-dark{background:var(--ink);color:var(--paper)}
.btn-dark:hover{background:var(--burgundy)}

/* Hero */
.hero{
  position:relative;min-height:100vh;
  background-size:cover;background-position:center;
  display:flex;align-items:center;justify-content:center;text-align:center;
  color:#fff;
}
.hero::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(26,20,16,.55) 0%,rgba(26,20,16,.35) 40%,rgba(26,20,16,.8) 100%);
}
.hero > *{position:relative;z-index:2}

/* Section */
.section{padding:6rem 1.5rem}
@media (min-width:768px){.section{padding:8rem 2rem}}
.eyebrow{
  display:inline-block;font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;
  color:var(--burgundy);font-weight:600;margin-bottom:1rem;
}
.eyebrow::before,.eyebrow::after{content:"—";margin:0 .6rem;opacity:.5}

/* Cards / dishes */
.dish-card{
  background:#fff;border:1px solid rgba(26,20,16,.08);
  transition:transform .4s ease,box-shadow .4s ease;
}
.dish-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px -20px rgba(26,20,16,.25)}

/* Gallery */
.gal-item{overflow:hidden;position:relative}
.gal-item img{transition:transform .8s ease;width:100%;height:100%;object-fit:cover;display:block}
.gal-item:hover img{transform:scale(1.08)}

/* Star rating */
.stars{color:var(--gold);letter-spacing:.15em}

/* Footer */
.footer{background:var(--ink);color:var(--cream)}

/* Animations */
.fade-up{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
.fade-up.in{opacity:1;transform:translateY(0)}

/* Divider ornament */
.ornament{display:flex;align-items:center;justify-content:center;gap:1rem;color:var(--gold)}
.ornament::before,.ornament::after{content:"";height:1px;width:60px;background:currentColor;opacity:.5}

/* Menu list */
.menu-row{display:flex;align-items:baseline;gap:1rem;padding:.9rem 0;border-bottom:1px dashed rgba(26,20,16,.15)}
.menu-row .dots{flex:1;border-bottom:1px dotted rgba(26,20,16,.25);transform:translateY(-4px)}
.menu-row .price{font-family:'Playfair Display',serif;color:var(--burgundy);font-weight:600}
