:root{
  --ink:#14110D;
  --ink-2:#201A13;
  --paper:#F2EEE2;
  --paper-2:#E6DFC9;
  --rust:#B6522B;
  --rust-deep:#8A3D1E;
  --rust-soft:#DE9469;
  --moss:#454F36;
  --moss-deep:#333B28;
  --line:rgba(20,17,13,.14);
  --line-on-dark:rgba(242,238,226,.16);
  --muted:#6E6557;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:'Work Sans', sans-serif; font-size:17px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:'Instrument Serif', serif; font-weight:400; margin:0; line-height:1.03;}
em{font-style:italic; color:var(--rust-soft);}
a{color:inherit;}
img{max-width:100%; display:block;}
.wrap{max-width:1180px; margin:0 auto; padding:0 28px;}
section{padding:120px 0; position:relative;}
@media(max-width:700px){ section{padding:76px 0;} }
a:focus-visible, button:focus-visible{outline:3px solid var(--rust); outline-offset:3px;}

/* ---------- SITE INTRO (home only) ---------- */
body.intro-active{overflow:hidden;}
.site-intro{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 50%,#6f3010 0%,#34170b 38%,#170b05 78%);opacity:1;transition:opacity .35s ease;overflow:hidden;pointer-events:none;}
.site-intro[hidden]{display:none;}.site-intro.is-hidden{opacity:0;}
.site-intro::before{content:'';position:absolute;width:min(90vw,900px);height:min(90vw,680px);border-radius:50%;background:radial-gradient(ellipse closest-side at 50% 45%,#ffb14cbb 0%,#ff851c88 25%,#f9661755 48%,transparent 100%);animation:introGlow .8s ease both;}
.site-intro-inner{position:relative;width:min(92vw,640px);height:min(92vw,480px);display:grid;place-items:center;isolation:isolate;}
.site-intro-badge{position:relative;z-index:2;width:min(77vw,480px);height:auto;display:block;animation:introBadge .38s cubic-bezier(.2,.65,.3,1) both;}
.site-intro-rim{position:absolute;z-index:1;width:min(50.68vw,316px);aspect-ratio:1;border:2px solid #ffbc61;border-radius:50%;box-shadow:0 0 10px #ffb243,0 0 32px #ff7b2599;animation:introBadge .38s ease both;}
.site-intro-orbit{position:absolute;inset:0;width:100%;height:100%;overflow:visible;animation:introOrbitAppear .22s ease .06s both;}
.site-intro-orbit-back{z-index:0}.site-intro-orbit-front{z-index:3}
.intro-trail{fill:none;stroke:url(#introLight);stroke-linecap:round;stroke-dasharray:1500;stroke-dashoffset:1500;animation:introJuiceSweep .95s cubic-bezier(.16,.65,.3,1) .06s both;}
.intro-trail-bloom{stroke-width:32;filter:blur(12px);opacity:.7}.intro-trail-orange{stroke:#ff781a;stroke-width:14;filter:blur(4px);opacity:.85}.intro-trail-light{stroke-width:6;opacity:1}.intro-trail-core{stroke:#ffe9b9;stroke-width:1.8;opacity:1}
.intro-juice-ribbon{fill:none;stroke:#ffad45;stroke-width:3;filter:blur(2px);opacity:.55;stroke-dasharray:1200;stroke-dashoffset:1200;animation:introRibbonSweep 1s ease .12s both}
.intro-spark{offset-path:path('M612 180 A292 144 0 1 1 28 180 A292 144 0 1 1 612 180');offset-rotate:0deg;filter:drop-shadow(0 0 4px #ff7c20);opacity:0;animation:introSparkTravel 1.2s linear .06s both,introSparkAppear .45s ease .1s both}
.intro-trail-head{fill:none;stroke:#fff0c7;stroke-width:5;stroke-linecap:round;stroke-dasharray:35 1465;stroke-dashoffset:1500;filter:drop-shadow(0 0 7px #ff8b28);animation:introJuiceSweep 1.15s linear .04s both}
@keyframes introSparkTravel{from{offset-distance:var(--spark-start)}to{offset-distance:var(--spark-end)}}
@keyframes introBadge{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
@keyframes introGlow{from{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}
@keyframes introOrbitAppear{from{opacity:0}to{opacity:1}}
@keyframes introJuiceSweep{from{stroke-dashoffset:1500}to{stroke-dashoffset:0}}
@keyframes introRibbonSweep{to{stroke-dashoffset:0}}
@keyframes introSparkAppear{0%{opacity:0}25%{opacity:.95}100%{opacity:.75}}
@media(max-width:640px){.intro-trail-bloom{stroke-width:22;filter:blur(8px)}.intro-trail-orange{filter:blur(3px)}.site-intro::before{width:125vw;height:115vw}}
@media(max-width:760px){.site-intro-orbit-front #introTextProtection circle{r:178}}
@media(prefers-reduced-motion:reduce){.site-intro{display:none}.site-intro *,.site-intro::before{animation:none}}

/* subtle grain texture for dark sections */
.grain{position:relative;}
.grain::after{
  content:''; position:absolute; inset:0; pointer-events:none; opacity:.05; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.eyebrow{display:block; font-family:'Work Sans'; font-size:0.76rem; font-weight:600; text-transform:uppercase; letter-spacing:.14em; color:var(--rust); margin-bottom:16px;}
.eyebrow.on-dark{color:var(--rust-soft);}

/* scroll reveal */
.js .reveal{opacity:0; transform:translateY(26px);}
.js .reveal.is-visible{opacity:1; transform:none; transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1);}
.js .reveal.d1.is-visible{transition-delay:.1s;}
.js .reveal.d2.is-visible{transition-delay:.2s;}
/* wipe-reveal targets a CHILD, never the observed element itself —
   a clip-path:inset(..100%) element has zero visible area, so IntersectionObserver
   can never report it as intersecting if it observes itself (self-defeating deadlock). */
.js .wipe-mask{clip-path:inset(0 0 0 100%); transition:clip-path 1.1s cubic-bezier(.22,.8,.2,1);}
.js .reveal.is-visible .wipe-mask{clip-path:inset(0 0 0 0%);}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .js .reveal{opacity:1 !important; transform:none !important; transition:none !important;}
  .js .wipe-mask{clip-path:none !important; transition:none !important;}
  .marquee-track{animation:none !important;}
}

/* ---------- NAV ---------- */
header.site{position:fixed; top:0; left:0; right:0; z-index:60; padding:18px 0; transition:background .3s ease, padding .3s ease, border-color .3s ease; border-bottom:1px solid transparent;}
header.site.scrolled{background:rgba(242,238,226,0.94); backdrop-filter:blur(8px); padding:12px 0; border-color:var(--line);}
header.site.on-light{background:rgba(242,238,226,0.94); backdrop-filter:blur(8px); border-color:var(--line);}
.nav{display:grid; grid-template-columns:1fr auto 1fr; align-items:center; max-width:1180px; margin:0 auto; padding:0 28px;}
.nav .brand{justify-self:start; position:relative; display:block;}
.nav .nav-call{justify-self:end;}
.nav-end{grid-column:3; justify-self:end; display:flex; align-items:center; gap:10px;}
/* Below 760px .nav-call hides (site.js's mobile menu takes over) but .nav-end still wraps the now-solo
   cart icon and still claims column 3 — move the burger to its own track so the two never overlap. */
@media(max-width:760px){
  .nav-end{grid-column:3; justify-self:end;}
  .burger{grid-column:4 !important;}
}
.nav .brand img{width:170px; height:auto; display:block;}
.nav .brand-logo-dark{position:absolute; top:0; left:0; opacity:0; transition:opacity .3s ease;}
.nav .brand-logo-light{transition:opacity .3s ease;}
header.site.scrolled .brand-logo-light, header.site.on-light .brand-logo-light{opacity:0;}
header.site.scrolled .brand-logo-dark, header.site.on-light .brand-logo-dark{opacity:1;}
@media(max-width:500px){ .nav .brand img{width:140px;} }
.nav-links{display:flex; gap:28px; list-style:none; margin:0; padding:0; align-items:center;}
.nav-links a{text-decoration:none; font-weight:500; font-size:0.95rem; color:#fff; transition:color .2s;}
header.site.scrolled .nav-links a, header.site.on-light .nav-links a{color:var(--ink);}
.nav-links a:hover{color:var(--rust-soft);}
header.site.scrolled .nav-links a:hover, header.site.on-light .nav-links a:hover{color:var(--rust);}
.nav-links a.is-active{color:var(--rust-soft);}
header.site.scrolled .nav-links a.is-active, header.site.on-light .nav-links a.is-active{color:var(--rust);}
.nav-call{background:var(--rust); color:#fff; padding:11px 22px; border-radius:0; text-decoration:none; font-weight:600; font-size:0.9rem; white-space:nowrap; transition:background .2s;}
.nav-call:hover{background:var(--rust-deep);}
.burger{display:none;}
@media(max-width:760px){
  .nav-links{position:absolute; top:100%; left:0; right:0; background:var(--paper); flex-direction:column; align-items:stretch; gap:0; border-bottom:1px solid var(--line); opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-6px); transition:opacity .2s ease, transform .2s ease; padding:8px 28px 20px;}
  .nav-links a{color:var(--ink); display:block; padding:17px 4px; width:100%; font-size:1.05rem; border-bottom:1px solid var(--line);}
  .nav-links a:active{background:var(--paper-2);}
  .nav-call{display:none;}
  .nav-links.open{opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0);}
  .burger{display:flex; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:8px; grid-column:3; justify-self:end;}
  .burger span{width:24px; height:2px; background:#fff;}
  header.site.scrolled .burger span, header.site.on-light .burger span{background:var(--ink);}
}

/* ---------- HERO (home) ---------- */
/* Layering (back to front): 0 background photo · 1 smoothie ribbon · 2 dark scrim · 3 hero copy · header (4, fixed above all) */
.hero{position:relative; min-height:100svh; overflow:hidden;}
.hero-base{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; z-index:0; display:block;}
@media(max-width:760px){ .hero-base{object-position:85% center;} }

.ribbon-position{position:absolute; inset:0; z-index:1; pointer-events:none;}
.ribbon-intro{
  width:100%; height:100%; opacity:0; transform:scaleX(.96); transform-origin:88% 30%;
  animation:ribbonIntro 1.1s cubic-bezier(.22,1,.36,1) forwards;
  will-change:transform, opacity;
}
@keyframes ribbonIntro{ to{opacity:1; transform:scaleX(1);} }
.ribbon-float{
  width:100%; height:100%; object-fit:cover; object-position:center top; opacity:.82;
  transform-origin:88% 30%;
  animation:ribbonFloat 7.5s ease-in-out infinite;
  will-change:transform;
}
@keyframes ribbonFloat{
  0%{transform:translate3d(0,0,0) rotate(-.2deg);}
  50%{transform:translate3d(-6px,-5px,0) rotate(.25deg);}
  100%{transform:translate3d(0,0,0) rotate(-.2deg);}
}
@media(max-width:1024px){ .ribbon-float{object-position:58% top; opacity:.68;} }
@media(max-width:600px){
  .ribbon-position{top:0; left:0; right:0; bottom:auto; height:38%; overflow:hidden;}
  .ribbon-float{object-position:70% top; opacity:.55;}
}
@media (prefers-reduced-motion: reduce){
  .ribbon-intro{animation:none; opacity:1; transform:none;}
  .ribbon-float{animation:none;}
}

.hero-scrim{
  position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(90deg, rgba(7,7,7,.82) 0%, rgba(7,7,7,.58) 42%, rgba(7,7,7,.18) 72%, rgba(7,7,7,.08) 100%);
}

.hero-content{
  position:absolute; z-index:3; color:#fff; max-width:650px;
  left:clamp(32px, 8.5vw, 145px); top:52%; transform:translateY(-50%); padding:0;
}
.hero h1{font-size:clamp(2.5rem, 5.4vw, 4.2rem);}
.hero h1 .ln1{display:block; color:#fff;}
.hero h1 .ln2{display:block; color:var(--rust-soft); font-style:italic;}
.hero p.lede{margin-top:26px; max-width:46ch; font-size:1.18rem; color:#DCD5C3;}
.hero-ctas{display:flex; gap:14px; margin-top:38px; flex-wrap:wrap;}
.btn{display:inline-block; padding:15px 28px; text-decoration:none; font-weight:600; border-radius:0; font-size:0.98rem; border:1px solid transparent; transition:transform .15s ease, background .2s ease, color .2s ease;}
.btn-primary{background:var(--rust); color:#fff;}
.btn-primary:hover{background:var(--rust-deep);}
.btn-ghost{border-color:rgba(255,255,255,.5); color:#fff;}
.btn-ghost:hover{background:#fff; color:var(--ink); border-color:#fff;}

.hero-badge{
  position:absolute; z-index:3; right:6%; bottom:18%; max-width:220px;
  border:1px solid rgba(255,255,255,.55); color:#fff; padding:14px 20px;
  font-family:'Work Sans'; font-size:0.74rem; font-weight:600; text-transform:uppercase; letter-spacing:.1em;
  text-align:right; line-height:1.6;
}
@media(max-width:860px){ .hero-badge{display:none;} }

/* ---------- PAGE LEAD (sub-pages: menu / om os / find os / erhverv) ---------- */
.page-lead{padding-top:170px; background:var(--paper);}
@media(max-width:700px){ .page-lead{padding-top:120px;} }
.page-lead-grid{display:flex; justify-content:space-between; align-items:flex-end; gap:30px; flex-wrap:wrap;}
.page-lead h1{font-size:clamp(2.4rem,5vw,3.6rem);}
.page-lead p{max-width:40ch; color:var(--muted); font-size:1.05rem;}
.page-lead.on-dark{background:var(--ink); color:var(--paper);}
.page-lead.on-dark p{color:#CFC7B2;}

/* ---------- PAGE PHOTO HERO (full-bleed photo opening for sub-pages, e.g. Om os) ---------- */
.page-photo-hero{position:relative; height:clamp(420px, 66vh, 680px); margin-top:70px; overflow:hidden;}
@media(max-width:700px){ .page-photo-hero{margin-top:60px; height:68vh;} }
.page-photo-hero img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;}
.page-photo-hero::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(20,17,13,.88) 0%, rgba(20,17,13,.35) 45%, rgba(20,17,13,.05) 70%);
}
.page-photo-hero-content{position:absolute; left:0; right:0; bottom:0; z-index:1; padding:0 28px 48px; color:#fff;}
.page-photo-hero-content .wrap{padding:0;}
.page-photo-hero h1{font-size:clamp(2.6rem,5.6vw,4.2rem); color:#fff;}
.page-photo-hero .eyebrow{color:var(--rust-soft);}
.page-photo-badge{
  position:absolute; top:28px; right:28px; z-index:1; background:var(--rust); color:#fff;
  padding:12px 18px; font-size:0.8rem; line-height:1.5;
}
.page-photo-badge strong{display:block; font-family:'Instrument Serif'; font-style:italic; font-size:1.15rem;}
@media(max-width:600px){ .page-photo-badge{top:16px; right:16px; padding:9px 13px; font-size:0.72rem;} .page-photo-badge strong{font-size:1rem;} }

/* ---------- EDITORIAL BODY (asymmetric magazine spread — pull-quote pinned left, copy runs right) ---------- */
.editorial{background:var(--paper); border-top:1px solid var(--line);}
.editorial-grid{display:grid; grid-template-columns:0.8fr 1.2fr; gap:70px; align-items:start;}
@media(max-width:860px){ .editorial-grid{grid-template-columns:1fr; gap:36px;} }
.editorial-col-left{position:sticky; top:110px;}
@media(max-width:860px){ .editorial-col-left{position:static;} }
.pull-quote{font-family:'Instrument Serif'; font-style:italic; font-size:clamp(1.8rem,3vw,2.5rem); line-height:1.28; color:var(--ink); margin:0;}
.editorial-col-left .stat-row{margin-top:40px; border-top:none;}
.editorial p.body-text{font-size:1.06rem; color:var(--ink-2); line-height:1.75;}
.editorial p.body-text + p.body-text{margin-top:22px;}
.editorial-col-right{padding-top:8px; border-top:2px solid var(--rust); padding-top:0;}
.editorial-col-right p.body-text:first-child{margin-top:0;}
.stat-row{display:flex; gap:28px;}
.stat-row div{flex:1; padding-top:18px; border-top:1px solid var(--line);}
.stat-row strong{display:block; font-family:'Instrument Serif'; font-size:1.9rem; color:var(--rust-deep);}
.stat-row span{font-size:0.8rem; color:var(--muted);}
@media(max-width:600px){ .stat-row{flex-wrap:wrap;} .stat-row div{flex:0 0 45%;} }

/* ---------- MARQUEE ---------- */
.marquee{background:var(--ink); overflow:hidden; padding:20px 0; border-top:1px solid var(--rust-deep); border-bottom:1px solid var(--rust-deep);}
.marquee-track{display:flex; width:max-content; gap:48px; animation:marquee 34s linear infinite;}
.marquee span{font-family:'Instrument Serif'; font-style:italic; font-size:1.4rem; color:#B8AF9A; white-space:nowrap;}
.marquee span.hi{color:var(--rust-soft); font-style:normal; font-family:'Work Sans'; font-weight:600; font-size:0.8rem; text-transform:uppercase; letter-spacing:.1em;}
@keyframes marquee{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

/* ---------- HISTORIE / INTRO BLOCKS ---------- */
.historie-block{background:var(--ink); color:var(--paper); padding:130px 0 230px; overflow:hidden;}
@media(max-width:700px){ .historie-block{padding:80px 0 130px;} }
.historie-block.no-overlap{padding-bottom:130px;}
@media(max-width:700px){ .historie-block.no-overlap{padding-bottom:80px;} }
.historie-watermark{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:0;
  font-family:'Instrument Serif'; font-size:clamp(7rem,26vw,20rem); white-space:nowrap; color:rgba(242,238,226,.045);
  pointer-events:none; user-select:none;
}
.historie-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:50px; position:relative; z-index:1;}
@media(max-width:860px){ .historie-grid{grid-template-columns:1fr;} }
.historie-block h2{font-size:clamp(2.1rem,4vw,3.2rem); max-width:16ch;}
.historie-block p{margin-top:22px; max-width:48ch; color:#CFC7B2; font-size:1.05rem;}
.historie-facts{display:flex; gap:44px; margin-top:36px; flex-wrap:wrap;}
.historie-facts div strong{display:block; font-family:'Instrument Serif'; font-size:2.1rem; color:var(--rust-soft);}
.historie-facts div span{font-size:0.82rem; color:#B8AF9A;}

.historie-overlap{max-width:1180px; margin:-180px auto 0; padding:0 28px; position:relative; z-index:3;}
@media(max-width:700px){ .historie-overlap{margin-top:-96px;} }
.historie-photo{position:relative;}
.historie-photo .wipe-mask{display:block; width:100%;}
.historie-photo img{width:100%; height:460px; object-fit:cover; border:1px solid var(--ink);}
@media(max-width:700px){ .historie-photo img{height:280px;} }
.historie-card{position:absolute; left:-1px; bottom:-1px; background:var(--paper); color:var(--ink); padding:20px 26px; max-width:230px; border:1px solid var(--ink); font-size:0.88rem;}
.historie-card strong{display:block; font-family:'Instrument Serif'; font-style:italic; font-size:1.3rem; margin-bottom:4px; color:var(--rust);}
@media(max-width:560px){ .historie-card{left:12px; bottom:-20px; padding:14px 18px; max-width:180px;} }

/* ---------- OWNER / FEATURE SPLIT (om os) ---------- */
.owner-feature{background:var(--paper-2); border-top:1px solid var(--line);}
.owner-grid{display:grid; grid-template-columns:0.95fr 1.05fr; gap:60px; align-items:center;}
@media(max-width:860px){ .owner-grid{grid-template-columns:1fr; gap:36px;} }
.owner-photo-wrap{position:relative;}
.owner-photo{width:100%; height:520px; object-fit:cover; border:1px solid var(--ink); display:block;}
@media(max-width:700px){ .owner-photo{height:360px;} }
.owner-badge{
  position:absolute; left:-1px; bottom:-1px; background:var(--rust); color:#fff;
  padding:16px 22px; font-size:0.85rem; line-height:1.5; border:1px solid var(--ink);
}
.owner-badge strong{display:block; font-family:'Instrument Serif'; font-style:italic; font-size:1.35rem; margin-bottom:2px;}
.owner-feature h2{font-size:clamp(2rem,3.6vw,2.8rem); max-width:14ch;}
.owner-feature p{margin-top:20px; max-width:50ch; color:var(--ink-2); font-size:1.05rem;}

/* ---------- SIMPLE PHOTO GRID (om os gallery, find os storefront) ---------- */
.photo-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:28px;}
@media(max-width:700px){ .photo-grid{grid-template-columns:1fr;} }
.photo-grid img{width:100%; height:340px; object-fit:cover; border:1px solid var(--line);}
.photo-grid figcaption{margin-top:12px; font-size:0.86rem; color:var(--muted);}
.photo-grid figure{margin:0;}

/* ---------- MENU ---------- */
.menu-section{background:var(--ink); color:var(--paper); padding-top:56px; overflow:hidden;}
.menu-watermark{
  position:absolute; top:60px; right:-40px; z-index:0;
  font-family:'Instrument Serif'; font-style:italic; font-size:clamp(8rem,22vw,16rem); color:rgba(242,238,226,.035);
  pointer-events:none; user-select:none; line-height:1;
}
.menu-grid{display:grid; grid-template-columns:1fr 1fr; gap:0 64px; position:relative; z-index:1;}
@media(max-width:820px){ .menu-grid{grid-template-columns:1fr;} }
.menu-cat{margin-bottom:56px; scroll-margin-top:100px;}
.menu-cat-title{display:flex; justify-content:space-between; align-items:flex-end; border-top:2px solid var(--line-on-dark); padding-top:14px; margin-bottom:20px;}
.menu-cat.c-rust .menu-cat-title{border-top-color:var(--rust-deep);}
.menu-cat.c-moss .menu-cat-title{border-top-color:var(--moss);}
.menu-cat-title h3{font-family:'Instrument Serif'; font-style:italic; font-size:1.9rem; font-weight:400;}
.menu-cat.c-rust .menu-cat-title h3{color:var(--rust-soft);}
.menu-cat.c-moss .menu-cat-title h3{color:#9FAE84;}
.menu-cat-title span{font-family:'Instrument Serif'; font-size:1.5rem; color:var(--paper); white-space:nowrap;}
.menu-item{display:flex; justify-content:space-between; gap:18px; padding:13px 14px; margin:0 -14px; border-bottom:1px solid rgba(242,238,226,.07); transition:background .2s;}
.menu-item:last-child{border-bottom:none;}
.menu-item:hover{background:rgba(242,238,226,.035);}
.menu-item-main{display:flex; align-items:flex-start; gap:14px; min-width:0;}
.menu-item-thumb{width:84px; height:84px; object-fit:cover; border-radius:3px; flex-shrink:0;}
.menu-item .name{font-weight:600; font-size:1.02rem;}
.menu-item .desc{display:block; font-size:0.85rem; color:#AFA794; font-weight:400; margin-top:2px;}
.menu-item .price{white-space:nowrap; font-weight:600; color:var(--paper);}
.menu-note{margin-top:8px; font-size:0.85rem; color:#AFA794;}

/* ---------- MENU: photo strip + quick nav + bestseller tag ---------- */
.menu-photo-strip{display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--ink);}
.menu-photo-strip a{position:relative; display:block; overflow:hidden;}
.menu-photo-strip img{width:100%; height:220px; object-fit:cover; display:block; opacity:.92; transition:transform .5s ease, opacity .3s ease;}
.menu-photo-strip a:hover img{transform:scale(1.04); opacity:1;}
.menu-photo-strip figcaption{
  position:absolute; left:16px; bottom:14px; z-index:1; color:#fff;
  font-family:'Instrument Serif'; font-style:italic; font-size:1.1rem;
  text-shadow:0 2px 10px rgba(0,0,0,.6);
}
@media(max-width:700px){ .menu-photo-strip{grid-template-columns:1fr 1fr;} .menu-photo-strip img{height:150px;} .menu-photo-strip a:last-child{display:none;} }

.menu-jump{display:flex; flex-wrap:wrap; gap:10px; padding:28px 0 0; position:relative; z-index:1;}
.menu-jump a{
  border:1px solid var(--line-on-dark); color:#CFC7B2; text-decoration:none;
  font-size:0.78rem; font-weight:600; text-transform:uppercase; letter-spacing:.05em;
  padding:9px 17px; transition:border-color .2s, color .2s, background .2s;
}
.menu-jump a:hover{border-color:var(--rust); color:#fff; background:rgba(182,82,43,.15);}
.menu-jump a.is-current{border-color:var(--rust); color:#fff; background:var(--rust);}

.menu-item{position:relative;}
.tag-best{
  display:inline-block; margin-left:8px; font-size:0.65rem; font-weight:600; text-transform:uppercase; letter-spacing:.06em;
  color:var(--rust-soft); border:1px solid var(--rust-deep); padding:1px 7px; vertical-align:middle;
}
.tag-featured{
  display:inline-block; margin-left:8px; font-size:0.65rem; font-weight:600; text-transform:uppercase; letter-spacing:.06em;
  color:var(--moss); border:1px solid var(--moss); padding:1px 7px; vertical-align:middle;
}
.drop-badge{display:block; margin-top:4px; font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.07em; color:var(--rust-deep);}
.drop-badge small{display:block; font-size:0.72rem; font-weight:400; text-transform:none; letter-spacing:normal; color:var(--muted); margin-top:2px;}
.drop-teaser{font-style:italic;}

/* ---------- GALLERY (blob photos) ---------- */
.gallery-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:40px;}
@media(max-width:760px){ .gallery-grid{grid-template-columns:1fr; gap:48px;} }
.gallery-item:nth-child(2){margin-top:56px;}
.gallery-item:nth-child(3){margin-top:-28px;}
@media(max-width:760px){ .gallery-item:nth-child(2), .gallery-item:nth-child(3){margin-top:0;} }
.blob-wrap{width:100%; aspect-ratio:1/1;}
.blob{width:100%; height:100%; overflow:hidden;}
.blob img{width:100%; height:100%; object-fit:cover; transition:transform .6s ease;}
.gallery-item:hover .blob img{transform:scale(1.07);}
.blob-a{border-radius:62% 38% 55% 45% / 44% 38% 62% 56%;}
.blob-b{border-radius:40% 60% 62% 38% / 55% 45% 55% 45%;}
.blob-c{border-radius:58% 42% 40% 60% / 40% 62% 38% 60%;}
.gallery-num{display:block; font-family:'Instrument Serif'; font-style:italic; font-size:0.95rem; color:var(--rust); margin-bottom:10px;}
.gallery-item p{margin-top:20px; font-family:'Instrument Serif'; font-style:italic; font-size:1.3rem;}
.gallery-item span{font-size:0.85rem; color:var(--muted);}

/* ---------- B2B / ERHVERV PACKAGES ---------- */
.pkg-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:32px;}
@media(max-width:900px){ .pkg-grid{grid-template-columns:1fr; max-width:460px; margin:0 auto;} }
.pkg-card{border:1px solid var(--line); padding:36px 30px; background:var(--paper); display:flex; flex-direction:column;}
.pkg-card.is-popular{border-color:var(--rust); position:relative;}
.pkg-card.is-popular::before{
  content:'Mest valgt'; position:absolute; top:-13px; left:30px; background:var(--rust); color:#fff;
  font-size:0.7rem; font-weight:600; text-transform:uppercase; letter-spacing:.08em; padding:4px 12px;
}
.pkg-name{font-size:1.6rem; font-style:italic;}
.pkg-price{margin-top:14px; font-family:'Instrument Serif'; font-size:2.6rem; color:var(--rust-deep);}
.pkg-price span{font-family:'Work Sans'; font-size:0.95rem; font-style:normal; color:var(--muted);}
.pkg-min{margin-top:4px; font-size:0.85rem; color:var(--muted);}
.pkg-desc{margin-top:18px; color:var(--ink-2); font-size:0.95rem; flex-grow:1;}
.pkg-list{list-style:none; margin:18px 0 0; padding:0; font-size:0.92rem; color:var(--ink-2);}
.pkg-list li{padding:7px 0; border-top:1px solid var(--line);}
.pkg-card .btn{margin-top:24px; text-align:center;}

.b2b-steps{display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-top:20px;}
@media(max-width:760px){ .b2b-steps{grid-template-columns:1fr;} }
.b2b-step{border-top:2px solid var(--rust); padding-top:16px;}
.b2b-step strong{display:block; font-family:'Instrument Serif'; font-style:italic; font-size:1.3rem; margin-bottom:6px;}
.b2b-step p{color:var(--muted); font-size:0.95rem;}

/* ---------- VISIT ---------- */
.visit{background:var(--paper-2); border-top:1px solid var(--line);}
.visit-grid{display:grid; grid-template-columns:1fr 1fr; gap:60px;}
@media(max-width:820px){ .visit-grid{grid-template-columns:1fr; gap:36px;} }
.visit h2{font-size:clamp(2.1rem,3.8vw,2.9rem);}
.visit-list{margin-top:30px; display:flex; flex-direction:column; gap:22px;}
.visit-list .row strong{display:block; font-size:0.76rem; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); font-weight:600; margin-bottom:4px;}
.visit-list .row a{text-decoration:underline; text-decoration-color:var(--rust); text-underline-offset:3px;}
.visit-note{margin-top:30px; padding-top:22px; border-top:1px solid var(--line); font-size:0.9rem; color:var(--muted); max-width:46ch;}
.map-frame{border:1px solid var(--line); height:100%; min-height:340px; filter:grayscale(.25) contrast(1.02);}
.map-frame iframe{width:100%; height:100%; min-height:340px; border:0; display:block;}

/* ---------- QUOTE ---------- */
.quote-section{background:var(--moss); color:var(--paper); text-align:center;}
.quote-section blockquote{margin:0 auto; max-width:18ch; font-family:'Instrument Serif'; font-style:italic; font-size:clamp(1.8rem,4.4vw,3rem); line-height:1.18; position:relative; z-index:1;}
.quote-stats{display:flex; justify-content:center; gap:60px; margin-top:52px; flex-wrap:wrap; position:relative; z-index:1;}
.quote-stats div strong{display:block; font-family:'Instrument Serif'; font-size:2.2rem; color:var(--rust-soft);}
.quote-stats div span{font-size:0.82rem; color:#C7CBB8;}

/* ---------- CTA BAND (B2B teaser on home, etc) ---------- */
.cta-band{background:var(--rust); color:#fff; text-align:center;}
.cta-band h2{font-size:clamp(1.9rem,3.6vw,2.7rem); max-width:20ch; margin:0 auto;}
.cta-band p{margin:18px auto 0; max-width:46ch; color:#FBE4D1;}
.cta-band .hero-ctas{justify-content:center; margin-top:30px;}
.cta-band .btn-ghost{border-color:rgba(255,255,255,.6);}
.cta-band .btn-primary{background:var(--ink); }
.cta-band .btn-primary:hover{background:#000;}
.cta-band.align-left{text-align:left;}
.cta-band.align-left h2,
.cta-band.align-left p{margin-left:0; margin-right:0;}
.cta-band.align-left .hero-ctas{justify-content:flex-start;}

/* ---------- ORDERING / CART (native, same tokens and type system as the rest of the site) ---------- */
.menu-item-actions{display:flex; align-items:center; gap:10px; flex-shrink:0;}
.menu-item.is-out{opacity:.45;}
.menu-item.is-out .menu-item-actions .price{font-style:italic; font-weight:400;}
.menu-item-add{
  width:32px; height:32px; flex-shrink:0; border:1px solid var(--rust); background:transparent; color:var(--rust-soft);
  font-size:1.2rem; line-height:1; cursor:pointer; transition:background .2s,color .2s;
}
.menu-item-add:hover{background:var(--rust); color:#fff;}
.menu-item-configure{
  border:1px solid var(--rust); background:transparent; color:var(--rust-soft); font-family:'Work Sans'; font-weight:600; font-size:0.82rem;
  padding:8px 16px; cursor:pointer; transition:background .2s,color .2s; white-space:nowrap;
}
.menu-item-configure:hover{background:var(--rust); color:#fff;}

/* Header cart trigger: lives beside the existing "Ring og bestil" link, same visual weight as the nav. */
.cart-trigger{
  position:relative; display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px;
  background:none; border:1px solid transparent; color:#fff; cursor:pointer; transition:border-color .2s, color .2s; flex-shrink:0;
}
header.site.scrolled .cart-trigger, header.site.on-light .cart-trigger{color:var(--ink);}
.cart-trigger:hover{border-color:var(--rust); color:var(--rust) !important;}
.cart-count{
  position:absolute; top:3px; right:3px; min-width:16px; height:16px; padding:0 3px; border-radius:50%;
  background:var(--rust); color:#fff; font-family:'Work Sans'; font-size:0.65rem; font-weight:700; line-height:16px; text-align:center;
}

.cart-overlay{
  position:fixed; inset:0; z-index:70; background:rgba(20,17,13,.6); display:flex; justify-content:flex-end;
  opacity:0; pointer-events:none; transition:opacity .25s ease;
}
.cart-overlay.is-open{opacity:1; pointer-events:auto;}
body.scroll-lock{overflow:hidden;}
.cart-panel{
  width:min(440px,100%); height:100%; background:var(--paper); color:var(--ink); display:flex; flex-direction:column;
  padding:32px 30px; overflow-y:auto; transform:translateX(24px); transition:transform .3s cubic-bezier(.22,.8,.3,1);
  box-shadow:-24px 0 60px rgba(20,17,13,.25);
}
.cart-overlay.is-open .cart-panel{transform:translateX(0);}
.panel-head{display:flex; justify-content:space-between; align-items:baseline; gap:12px; border-bottom:2px solid var(--rust); padding-bottom:16px; margin-bottom:22px;}
.panel-head h3{font-size:1.9rem; font-style:italic; font-weight:400;}
.panel-close{background:none; border:none; font-size:1.9rem; line-height:1; cursor:pointer; color:var(--ink); font-weight:300;}
.panel-close:hover{color:var(--rust);}
.cart-lines{display:flex; flex-direction:column; gap:0; margin-bottom:8px;}
.cart-empty{color:var(--muted); font-size:0.95rem; padding:8px 0 24px;}
.cart-line{display:flex; justify-content:space-between; align-items:flex-start; gap:12px; border-bottom:1px solid var(--line); padding:16px 0;}
.cart-line .name{display:block; font-weight:600; font-size:0.98rem;}
.cart-line-info{min-width:0;}
.cart-line-mods{list-style:none; margin:4px 0 0; padding:0; display:flex; flex-direction:column; gap:1px;}
.cart-line-mods li{font-size:0.82rem; color:var(--muted); line-height:1.4;}
.cart-line-edit{display:block; margin-top:6px; padding:0; border:none; background:none; font-size:0.8rem; color:var(--rust); text-decoration:underline; cursor:pointer;}
.cart-line-qty{display:flex; align-items:center; gap:10px; flex-shrink:0; margin-top:2px;}
.cart-line-price{min-width:56px; text-align:right; font-weight:600; font-size:0.92rem; flex-shrink:0; margin-top:2px;}
.cart-line-remove{border:none; background:none; color:var(--muted); font-size:1.3rem; line-height:1; cursor:pointer; flex-shrink:0; padding:0 0 0 4px;}
.cart-line-remove:hover{color:var(--rust);}
.qty-btn{width:26px; height:26px; border:1px solid var(--line); background:transparent; cursor:pointer; font-size:1rem; color:var(--ink-2); transition:border-color .2s, color .2s;}
.qty-btn:hover{border-color:var(--rust); color:var(--rust);}

.cart-total-row{display:flex; justify-content:space-between; align-items:baseline; padding:18px 0; margin-top:4px; border-top:1px solid var(--ink);}
.cart-total-row span:first-child{font-size:0.76rem; font-weight:600; text-transform:uppercase; letter-spacing:.14em; color:var(--muted);}
.display-total{font-family:'Instrument Serif'; font-size:2rem;}

.pickup-picker{border:1px solid var(--line); padding:14px 16px; margin-bottom:4px;}
.pickup-label{font-size:0.76rem; font-weight:600; text-transform:uppercase; letter-spacing:.1em; color:var(--muted); margin:0 0 10px;}
.pickup-loading,.pickup-closed{margin:0; font-size:0.88rem; color:var(--muted);}
.pickup-options{display:flex; flex-wrap:wrap; gap:10px;}
.pickup-option{flex:1 1 150px; border:1px solid var(--line); background:transparent; padding:10px 12px; font-family:'Work Sans'; font-size:0.88rem; font-weight:600; color:var(--ink-2); cursor:pointer; text-align:left;}
.pickup-option small{display:block; font-weight:400; color:var(--muted); margin-top:2px;}
.pickup-option.is-selected{border-color:var(--rust); color:var(--rust-deep);}
.pickup-option.is-disabled{opacity:.5; cursor:not-allowed;}
.pickup-select{appearance:none;}

.link-btn{background:none; border:none; padding:0; font:inherit; color:var(--rust-deep); text-decoration:underline; cursor:pointer;}
.business-form{display:flex; flex-direction:column; gap:18px; max-width:760px;}
.business-form .capacity-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.business-form label{display:flex; flex-direction:column; gap:7px; font-size:0.76rem; font-weight:600; text-transform:uppercase; letter-spacing:.1em; color:var(--muted);}
.business-form input,.business-form select,.business-form textarea{
  font-family:'Work Sans'; font-size:1rem; font-weight:400; text-transform:none; letter-spacing:normal; color:var(--ink);
  padding:10px 2px; border:none; border-bottom:1px solid var(--line); background:transparent; border-radius:0; resize:vertical;
}
.business-form input:focus,.business-form select:focus,.business-form textarea:focus{outline:none; border-bottom-color:var(--rust);}
.business-form .hp-field{position:absolute; left:-9999px; width:1px; height:1px; opacity:0;}
#businessSuccess{color:var(--moss-deep); font-size:0.92rem;}
@media(max-width:640px){.business-form .capacity-grid{grid-template-columns:1fr;}}

.cart-form{display:flex; flex-direction:column; gap:18px;}
.cart-form label{display:flex; flex-direction:column; gap:7px; font-size:0.76rem; font-weight:600; text-transform:uppercase; letter-spacing:.1em; color:var(--muted);}
.cart-form input[type="text"],
.cart-form input[type="tel"],
.cart-form input[type="email"]{
  font-family:'Work Sans'; font-size:1rem; font-weight:400; text-transform:none; letter-spacing:normal; color:var(--ink);
  padding:10px 2px; border:none; border-bottom:1px solid var(--line); background:transparent; border-radius:0;
}
.cart-form input:focus{outline:none; border-bottom-color:var(--rust);}
.cart-form .hp-field{position:absolute; left:-9999px; width:1px; height:1px; opacity:0;}
.cart-consent{flex-direction:row !important; align-items:flex-start; gap:10px !important; text-transform:none !important; letter-spacing:normal !important; font-weight:400 !important; font-size:0.85rem !important; color:var(--ink-2) !important;}
.cart-consent input{margin-top:3px; accent-color:var(--rust);}
.cart-error{color:var(--rust-deep); font-size:0.88rem; font-weight:600; margin:0; line-height:1.4;}
.cart-error.cart-error-demo{color:var(--moss-deep);}
.cart-submit{border:none; width:100%; cursor:pointer;}
.cart-submit:disabled{opacity:.6; cursor:default;}
@media(max-width:480px){ .cart-panel{width:100%; padding:24px 20px;} }

/* ---- Configuration panel: a focused, centered moment for size + extras, separate from the persistent
   cart drawer — keeps the dense menu list calm by moving choices into one step. ---- */
.config-overlay{justify-content:center; align-items:center;}
.config-panel{
  width:min(460px, calc(100% - 32px)); max-height:min(640px, 90vh); background:var(--paper); color:var(--ink);
  display:flex; flex-direction:column; overflow-y:auto;
  transform:scale(.96) translateY(8px); opacity:0; transition:transform .25s cubic-bezier(.22,.8,.3,1), opacity .2s ease;
}
.config-overlay.is-open .config-panel{transform:scale(1) translateY(0); opacity:1;}
.config-panel, .cart-panel{scrollbar-width:none;}
.config-panel::-webkit-scrollbar, .cart-panel::-webkit-scrollbar{display:none; width:0; height:0;}
.config-img{width:100%; height:200px; object-fit:cover; display:block; flex-shrink:0;}
.config-content{padding:30px 28px;}
.config-desc{color:var(--muted); font-size:0.92rem; margin:-12px 0 20px;}
.config-allergens{font-size:0.78rem; color:var(--rust-deep); margin:-8px 0 6px;}
.config-diet{font-size:0.78rem; color:var(--moss-deep); margin:0 0 20px; text-transform:uppercase; letter-spacing:.08em;}
.config-section{margin-bottom:22px;}
.config-label{font-size:0.76rem; font-weight:600; text-transform:uppercase; letter-spacing:.14em; color:var(--rust-deep); margin-bottom:10px;}
.config-hint{color:var(--muted); font-weight:400; text-transform:none; letter-spacing:normal;}
.size-pills{display:flex; gap:8px; flex-wrap:wrap;}
.size-pill{
  border:1px solid var(--line-strong,var(--line)); background:transparent; color:var(--ink-2); font-family:'Work Sans';
  font-size:0.82rem; font-weight:600; padding:8px 16px; cursor:pointer; transition:border-color .2s,color .2s,background .2s;
}
.size-pill.is-selected{border-color:var(--rust); color:#fff; background:var(--rust);}
.modifier-chips{display:flex; gap:8px; flex-wrap:wrap;}
.modifier-chip{
  border:1px solid var(--line-strong,var(--line)); background:transparent; color:var(--ink-2); font-family:'Work Sans';
  font-size:0.85rem; font-weight:500; padding:9px 14px; cursor:pointer; transition:border-color .2s,color .2s,background .2s;
}
.modifier-chip.is-selected{border-color:var(--moss); color:#fff; background:var(--moss);}
.modifier-chip .modifier-price{opacity:.75; font-size:0.78rem;}
.modifier-chip small{display:block; font-size:0.68rem; color:var(--muted); font-weight:400;}
.modifier-chip.is-unavailable{opacity:.45; cursor:not-allowed; text-decoration:line-through;}
#configAddBtn:disabled{opacity:.5; cursor:not-allowed;}
.config-footer{display:flex; align-items:center; gap:16px; margin-top:4px; padding-top:20px; border-top:1px solid var(--line);}
.qty-stepper{display:flex; align-items:center; gap:12px; flex-shrink:0;}
.qty-stepper .qty-btn{width:34px; height:34px; font-size:1.1rem;}
.qty-stepper span{min-width:16px; text-align:center; font-weight:600;}
#configAddBtn{flex:1; border:none; cursor:pointer;}

/* ---------- FOOTER ---------- */
footer{background:var(--ink); color:#B5AE9C; padding:48px 0 32px; border-top:1px solid var(--line-on-dark);}
.foot-grid{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px;}
.foot-brand img{height:28px;}
footer .foot-links{display:flex; gap:22px; flex-wrap:wrap; font-size:0.9rem;}
footer .foot-links a{text-decoration:none;}
footer .foot-links a:hover{color:var(--paper);}
.foot-bottom{margin-top:28px; padding-top:20px; border-top:1px solid rgba(242,238,226,.1); font-size:0.82rem; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;}
.pumpkin-home-banner{background:var(--paper-2);color:var(--ink);padding:32px 0}
.pumpkin-home-banner>.wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}
.pumpkin-home-banner strong{font-size:1.5rem;font-weight:600}
.pumpkin-home-banner p{font-size:.95rem;line-height:1.7;margin:8px 0 0}
.pumpkin-home-banner .btn{flex-shrink:0}
@media(max-width:750px){.pumpkin-home-banner>.wrap{align-items:flex-start;flex-direction:column}}
