:root{--cream:#f7f0e3;--paper:#fbf6ec;--brick:#a5462b;--brick-d:#7f3420;--lime:#9dc22a;--lime-d:#7d9d1c;--coffee:#4a2f1f;--ink:#2b211b;--muted:#7a6a5d;--line:#e5d9c6}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:"Zilla Slab",Georgia,serif;font-weight:700;line-height:1.05;color:var(--coffee)}
h1{font-size:clamp(2.8rem,7vw,5.4rem);color:#fff;text-shadow:0 4px 30px rgba(0,0,0,.4)}
h2{font-size:clamp(2rem,4.2vw,3.2rem);margin-bottom:.8rem}
h3{font-size:1.5rem;margin:.9rem 0 .3rem}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}
.narrow{max-width:820px}
section{padding:96px 0;position:relative}
.center{text-align:center}
.head{max-width:680px;margin-bottom:50px}
.head.center{margin-left:auto;margin-right:auto}
.hand{font-family:"Caveat Brush",cursive;font-size:1.7rem;color:var(--brick);display:block;margin-bottom:6px;transform:rotate(-2deg);transform-origin:left}
.center .hand{transform-origin:center}
.hand.light{color:var(--lime)}
.lead{font-size:1.12rem;color:var(--muted)}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--lime);color:var(--ink);font-weight:700;padding:.9rem 1.5rem;border-radius:10px;border:2px solid var(--lime);transition:.2s;box-shadow:0 6px 0 var(--lime-d)}
.btn:hover{transform:translateY(2px);box-shadow:0 4px 0 var(--lime-d)}
.btn.ghost{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.6);box-shadow:none;backdrop-filter:blur(4px)}
.btn.ghost:hover{background:rgba(255,255,255,.22)}
.btn.wa{background:#25d366;border-color:#25d366;color:#fff;box-shadow:0 6px 0 #179c49}
.btn.fb{background:#1877f2;border-color:#1877f2;color:#fff;box-shadow:0 6px 0 #0f55b0;margin-top:44px}

/* paper texture */
.paper{background-color:var(--paper);background-image:radial-gradient(rgba(74,47,31,.05) 1px,transparent 1px);background-size:18px 18px}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(43,33,27,.94);backdrop-filter:blur(10px);color:#fff}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:70px;gap:20px}
.logo{display:flex;align-items:center;gap:10px}
.logo-sun{width:40px;height:40px;border-radius:50%;background:radial-gradient(circle,var(--coffee) 0 30%,transparent 31%),repeating-conic-gradient(#f2c230 0 12deg,#e0a91a 12deg 24deg);box-shadow:0 0 0 2px rgba(255,255,255,.15)}
.logo-txt{display:grid;line-height:1}
.logo-txt small{font-family:"Caveat Brush";font-size:1.05rem;color:#f2c230}
.logo-txt b{font-family:"Zilla Slab";font-size:1.5rem;letter-spacing:.14em;color:var(--lime)}
.links{display:flex;gap:28px;font-weight:500;font-size:.95rem}
.links a{opacity:.85}
.links a:hover{opacity:1;color:var(--lime)}
.open-now{font-size:.82rem;font-weight:600;padding:6px 12px;border-radius:99px;background:rgba(255,255,255,.08);white-space:nowrap}
.open-now::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;background:var(--dot,#999)}

/* hero */
.hero{min-height:min(88vh,780px);display:flex;align-items:center;padding:90px 0 130px;overflow:hidden;color:#fff}
.hero-img{position:absolute;inset:0;overflow:hidden;--hero-pos:center 60%;--hero-grad:linear-gradient(100deg,rgba(43,33,27,.88) 25%,rgba(43,33,27,.35) 65%,rgba(43,33,27,.1))}
.hero{--bar-on:#f2c230}
@keyframes zoom{from{transform:scale(1.12)}to{transform:scale(1)}}
.hero-in{position:relative}
.hero .hand{color:#f2c230;font-size:2rem}
.hero .lead{color:rgba(255,255,255,.88);max-width:520px;margin:22px 0 32px;font-size:1.2rem}
.cta{display:flex;gap:14px;flex-wrap:wrap}
.perks{list-style:none;display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.perks li{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(6px);padding:8px 14px;border-radius:99px;font-size:.9rem;font-weight:500}
.perks b{margin-right:6px}
.torn{position:absolute;bottom:-1px;left:0;width:100%;height:50px;fill:var(--paper)}

/* food polaroids */
.food{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.fcard{background:#fff;padding:14px 14px 26px;box-shadow:0 18px 40px rgba(74,47,31,.15);transition:.35s;position:relative}
.fcard::before{content:"";position:absolute;top:-12px;left:50%;width:90px;height:26px;transform:translateX(-50%) rotate(-3deg);background:rgba(157,194,42,.55)}
.tilt-l{transform:rotate(-1.8deg)}
.tilt-r{transform:rotate(1.6deg);margin-top:30px}
.fcard:hover{transform:rotate(0) translateY(-8px);box-shadow:0 28px 60px rgba(74,47,31,.22)}
.ph{aspect-ratio:1;overflow:hidden}
.ph img{width:100%;height:100%;object-fit:cover;transition:.6s}
.fcard:hover .ph img{transform:scale(1.06)}
.fcard p{color:var(--muted);font-size:.95rem}

/* specials */
.dark{background:linear-gradient(180deg,#2b211b,#3a2a20);color:#e9dccb}
.dark h2{color:#fff}
.dark .lead{color:#c8b8a4}
.specials{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.specials figure{cursor:zoom-in;transition:.3s}
.specials figure:hover{transform:translateY(-6px) rotate(-1deg)}
.specials img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:8px;box-shadow:0 20px 40px rgba(0,0,0,.4)}
.specials figcaption{font-family:"Caveat Brush";font-size:1.25rem;color:#f2c230;text-align:center;margin-top:10px}

/* padstal */
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.collage{position:relative;height:520px}
.collage img{position:absolute;object-fit:cover;border:8px solid #fff;box-shadow:0 20px 50px rgba(74,47,31,.22)}
.c1{width:78%;height:300px;left:0;top:0;transform:rotate(-2deg)}
.c2{width:42%;height:240px;right:0;top:170px;transform:rotate(4deg)}
.c3{width:55%;height:220px;left:8%;bottom:0;transform:rotate(1.5deg)}
.ticks{list-style:none;margin-top:26px;display:grid;gap:12px}
.ticks li{padding-left:34px;position:relative;font-weight:500}
.ticks li::before{content:"✓";position:absolute;left:0;top:-1px;width:24px;height:24px;border-radius:50%;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-size:.8rem;font-weight:800}

/* quote */
.quote{background:var(--brick);color:#fff;background-image:linear-gradient(135deg,var(--brick),var(--brick-d))}
.big-q{font-family:"Caveat Brush";font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.15}
.who{margin-top:16px;opacity:.85;font-size:.95rem}

/* visit */
.visit{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:stretch}
.visit .card{background:#fff;padding:40px;border-radius:16px;box-shadow:0 20px 50px rgba(74,47,31,.12);border-top:6px solid var(--lime)}
.hours{width:100%;border-collapse:collapse;margin:20px 0 8px}
.hours th,.hours td{padding:12px 10px;border-bottom:1px dashed var(--line);text-align:left;font-weight:500}
.hours td{text-align:right;font-weight:700;color:var(--coffee)}
.hours tr.today{background:rgba(157,194,42,.15)}
.hours tr.today th::after{content:" · vandag";font-family:"Caveat Brush";color:var(--lime-d);font-size:1.1rem}
.note{font-size:.85rem;color:var(--muted)}
.contact{list-style:none;margin:24px 0 28px;display:grid;gap:10px}
.contact span{display:inline-block;width:30px}
.contact a:hover{color:var(--brick)}
.map{border-radius:16px;overflow:hidden;min-height:420px;box-shadow:0 20px 50px rgba(74,47,31,.12);border:6px solid #fff}
.map iframe{width:100%;height:100%;border:0;min-height:420px}

/* footer */
.foot{background:#2b211b;color:#bfae9a;padding:40px 0;font-size:.88rem}
.foot-in{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.credit a{border-bottom:1px solid #6b5a4c}
.credit a:hover{color:#fff}

/* lightbox */
.lb{position:fixed;inset:0;z-index:100;background:rgba(20,14,10,.94);display:grid;place-items:center;padding:20px}
.lb[hidden]{display:none}
.lb img{max-height:90vh;max-width:95vw;border-radius:8px}
.lb button{position:absolute;top:14px;right:22px;background:none;border:0;color:#fff;font-size:2.6rem;cursor:pointer}

.rv{opacity:0;translate:0 24px;transition:opacity .7s ease,translate .7s ease}
.rv.in{opacity:1;translate:0 0}

@media (max-width:960px){
  .links{display:none}
  .food{grid-template-columns:1fr 1fr}
  .specials{grid-template-columns:1fr 1fr}
  .split,.visit{grid-template-columns:1fr;gap:50px}
  .tilt-r{margin-top:0}
}
@media (max-width:600px){
  section{padding:70px 0}
  .wrap{padding:0 16px}
  .food{grid-template-columns:1fr;gap:34px}
  .collage{height:420px}
  .c1{height:230px;width:88%}.c2{height:190px;top:150px}.c3{height:170px}
  .visit .card{padding:28px 22px}
  .logo-txt b{font-size:1.25rem}
  .hero{padding:70px 0 110px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* hero slideshow */
[data-slides] .sl{position:absolute;inset:0;background:var(--hero-pos,center)/cover no-repeat;opacity:0;transform:scale(1.08);transition:opacity 1.1s ease-in-out,transform 5s ease-out}
[data-slides] .sl.on{opacity:1;transform:scale(1)}
[data-slides]::after{content:"";position:absolute;inset:0;background:var(--hero-grad)}
.hero-bars{position:absolute;z-index:5;left:0;right:0;top:var(--bars-top,18px);display:flex;justify-content:center;gap:6px;pointer-events:none}
.hero-bars button{pointer-events:auto;width:18px;height:4px;border:0;border-radius:4px;background:rgba(255,255,255,.4);cursor:pointer;transition:.3s;padding:0}
.hero-bars button:hover{background:rgba(255,255,255,.7)}
.hero-bars button.on{width:34px;background:var(--bar-on,#fff)}
@media (prefers-reduced-motion:reduce){[data-slides] .sl{transition:opacity .3s}}
