:root{
  --bg:#f2f4f2; --surface:#ffffff; --ink:#1a231f; --ink2:#4b5a54;
  --line:#d6ded9; --accent:#2f6b5a;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#101614; --surface:#18201d; --ink:#e6ebe8; --ink2:#a9b8b2;
    --line:#2a3431; --accent:#6fbfa8;
  }
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg); color:var(--ink);
  font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
a{color:var(--accent)}
img{max-width:100%;display:block}

/* ---------- fejléc ---------- */
.bar{
  position:sticky; top:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; padding:10px 16px;
  background:var(--surface); border-bottom:1px solid var(--line);
}
.bar-brand,.brand{
  font-weight:700; font-size:18px; letter-spacing:.02em;
  color:var(--ink); text-decoration:none;
}
.bar-right{display:flex; align-items:center; gap:6px}
.bar-toggle,.bar-lang{
  display:inline-flex; align-items:center; justify-content:center;
  width:42px; height:42px; padding:0;
  background:transparent; color:var(--ink);
  border:1px solid var(--line); border-radius:10px; cursor:pointer;
}
.bar-toggle span{font-size:20px; line-height:1}
.bar-panel,.bar-langs{
  display:none;
  position:absolute; left:0; right:0; top:100%;
  background:var(--surface); border-bottom:1px solid var(--line);
  padding:8px 16px 14px;
}
.bar-panel.open,.bar-langs.open{display:block}
.bar-panel a,.bar-langs button{
  display:block; width:100%; text-align:left;
  padding:13px 4px; font-size:17px;
  color:var(--ink); text-decoration:none;
  background:transparent; border:0; border-bottom:1px solid var(--line);
  cursor:pointer; font-family:inherit;
}
.bar-panel a:last-child,.bar-langs button:last-child{border-bottom:0}
.bar-panel a.current,.bar-langs button.current{color:var(--accent); font-weight:700}
.navrule{
  height:1px; margin:8px 0; background:var(--line);
  border:0; padding:0;
}
.bar-panel a.plat,.plat{color:var(--ink2); font-size:15px}

@media (min-width:760px){
  .bar{position:sticky; padding:12px 28px}
  .bar-toggle{display:none}
  .bar-panel{
    display:flex; position:static; align-items:center; gap:18px;
    padding:0; border:0; background:transparent;
  }
  .bar-panel a{
    width:auto; padding:6px 2px; border-bottom:0; font-size:15px;
  }
  .navrule{width:1px; height:20px; margin:0 4px}
}

/* ---------- szerkezet ---------- */
.wrap{max-width:900px; margin:0 auto; padding:22px 16px 40px}
h1{font-size:27px; margin:0 0 6px}
h2{font-size:21px; margin:28px 0 10px; color:var(--accent)}
h3{font-size:17px; margin:20px 0 8px}
.muted{color:var(--ink2); font-size:15px}
.note{
  color:var(--ink2); font-size:14px; line-height:1.5;
  border-top:1px solid var(--line); margin-top:26px; padding-top:14px;
}

/* ---------- diavetítés ---------- */
.slideshow{position:relative; width:100%; overflow:hidden; background:var(--surface)}
.slides{display:flex; transition:transform .45s ease; touch-action:pan-y}
.slides figure{flex:0 0 100%; margin:0; width:100%}
.slides img{
  display:block; width:100%; height:clamp(220px,46vw,430px); object-fit:cover;
}
.dots{
  position:absolute; left:0; right:0; bottom:10px;
  display:flex; justify-content:center; gap:8px;
}
.dots button{
  width:9px; height:9px; padding:0; border-radius:50%;
  border:1px solid rgba(255,255,255,.85); background:transparent; cursor:pointer;
}
.dots button.on{background:#fff}

.hero-text{
  background:var(--surface); border:1px solid var(--line);
  border-radius:14px; padding:18px 16px; margin:18px 0;
}

/* ---------- kártyák, listák ---------- */
.card,.menu{
  background:var(--surface); border:1px solid var(--line);
  border-radius:14px; padding:14px 16px; margin:14px 0;
}
.row,.in{
  display:flex; align-items:baseline; justify-content:space-between;
  gap:14px; padding:9px 0; border-bottom:1px solid var(--line);
}
.row:last-child,.in:last-child{border-bottom:0}
.n{font-weight:600}
.name{font-weight:600}
.desc,.d{color:var(--ink2); font-size:14px; margin-top:2px}
.price,.p{white-space:nowrap; font-variant-numeric:tabular-nums; color:var(--ink)}

/* ---------- gombok ---------- */
.actions{display:flex; flex-wrap:wrap; gap:10px; margin:14px 0}
.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:11px 16px; border-radius:10px;
  background:var(--accent); color:#fff; text-decoration:none;
  border:1px solid var(--accent); font-weight:600;
}
.btn.ghost,.ghost{
  background:var(--surface); color:var(--ink); border-color:var(--line);
}

/* ---------- útvonal ikonok ---------- */
.travel{display:flex; flex-wrap:wrap; gap:14px; align-items:center; margin:10px 0}
.travel a{
  display:inline-flex; align-items:center; gap:6px;
  font-size:14px; text-decoration:none; color:var(--accent);
}
.travel svg{flex:0 0 auto}

/* ---------- lábléc ---------- */
.foot{
  border-top:1px solid var(--line); margin-top:32px;
  padding:18px 16px 34px; color:var(--ink2); font-size:14px;
  text-align:center;
}
.foot a{color:var(--accent)}

.contact-lines{margin:0 0 12px}
.contact-line{display:flex;align-items:center;gap:10px;padding:8px 0;text-decoration:none;color:var(--ink);font-size:1.05rem}
.contact-line svg{flex:0 0 auto;color:var(--accent)}

/* the drinks and coffee pages: ul.menu > li > .n(.d) + .p — the same look as .card > .row */
.menu{list-style:none; padding:6px 0; margin:0 0 6px}
.menu li{display:flex; justify-content:space-between; align-items:flex-start; gap:12px; padding:10px 16px; border-bottom:1px solid var(--line)}
.menu li:last-child{border-bottom:0}
.menu .n{flex:1}
.menu .d{display:block; font-weight:400}
main{display:block}
main:not(.wrap){max-width:900px; margin:0 auto; padding:22px 16px 40px}
.hours{list-style:none; padding:0; margin:0}
.hours li{display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px solid var(--line)}
.hours li:last-child{border-bottom:0}
.hours li span:last-child{font-variant-numeric:tabular-nums; white-space:nowrap}
footer .inner{max-width:900px; margin:0 auto; padding:0 16px}
