/* ============================================================
   /ny/ UNDERSIDERNE PÅ HAVNEGRILL-SKABELONEN  (23/10)
   h-smorrebrod, h-baglokale, h-catering … som kopier under /ny/.
   Fælles: forsidens røgede glas-bjælke og det trykte kort (rødt
   hoved med kransen, ternet bølgekant). Hver side har derudover sit
   eget udtryk længere nede, scopet til sin egen body-klasse.
   bestil.js og havnegrillen.css er urørte.
   ============================================================ */
body.ny-hav{--roeg:rgba(28,20,16,.64);--roeg-kant:inset 0 1px 0 rgba(255,255,255,.22),inset 0 0 0 .5px rgba(255,255,255,.28),0 10px 26px -12px rgba(0,0,0,.45);
  --creme:#fbf6ec;--messing:#e8c48f;--blaa:#2a5f8f;--rud:clamp(18px,4.6vw,36px)}

/* ---------- bjælken: røget glas, ens i toppen og efter rul ---------- */
body.ny-hav .topbar,body.ny-hav .topbar.stuck,body.ny-hav .topbar.solid{background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;
  padding-top:max(calc(env(safe-area-inset-top) + 12px),12px);padding-bottom:10px;margin-bottom:0}
body.ny-hav .topbar .ordmaerke,body.ny-hav .topbar.stuck .ordmaerke{display:inline-flex;align-items:center;opacity:1;visibility:visible;height:44px;min-height:0;padding:0 18px;border-radius:999px;
  color:#fff;text-decoration:none;text-shadow:0 1px 10px rgba(0,0,0,.35);
  background:var(--roeg);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);box-shadow:var(--roeg-kant)}
body.ny-hav .ny-nav,body.ny-hav .ny-bord{display:none}
body.ny-hav .topbar .g.icn.menu{background:#fff;color:#241a17}
@media (min-width:821px){
  body.ny-hav .topbar,body.ny-hav .topbar.stuck,body.ny-hav .topbar.solid{padding-top:16px;gap:6px}
  body.ny-hav .topbar .ordmaerke,body.ny-hav .topbar.stuck .ordmaerke{height:44px}
  body.ny-hav .ny-nav{display:flex;align-items:center;gap:2px;margin-right:8px;padding:4px;border-radius:999px;
    background:var(--roeg);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);box-shadow:var(--roeg-kant)}
  body.ny-hav .ny-nav a{padding:9px 14px;border-radius:999px;font:600 14px/1 "Host Grotesk",system-ui,sans-serif;color:#fff;text-decoration:none;transition:background .2s ease}
  body.ny-hav .ny-nav a:hover{background:rgba(255,255,255,.16)}
  body.ny-hav .ny-bord{display:inline-flex;align-items:center;height:40px;padding:0 16px;margin-right:6px;border-radius:999px;
    font:600 14px/1 "Host Grotesk",system-ui,sans-serif;color:#fff;text-decoration:none;background:var(--red);
    box-shadow:inset 0 1px .5px rgba(255,255,255,.4),0 8px 20px rgba(214,42,58,.3)}
  body.ny-hav .ny-bord:hover{background:var(--red-d)}
}

/* ---------- det trykte kort: rødt hoved, krans, ternet bølgekant ---------- */
body.ny-hav .panel:has(> .rk-hoved){position:relative;overflow:hidden;padding:0 0 26px;border-radius:28px;background:var(--creme);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 24px 60px rgba(36,26,23,.16),0 4px 14px rgba(36,26,23,.08)}
body.ny-hav .panel:has(> .rk-hoved){padding-left:var(--rud);padding-right:var(--rud)}
body.ny-hav .panel:has(> .rk-hoved) > :is(.rk-hoved,.rk-kant){margin-left:calc(-1 * var(--rud));margin-right:calc(-1 * var(--rud))}
body.ny-hav .rk-hoved{position:relative;padding:24px 20px 22px;padding-right:116px;background:var(--red);color:var(--creme);overflow:hidden}
body.ny-hav .rk-hoved::before,body.ny-hav .rk-hoved::after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.16);pointer-events:none}
body.ny-hav .rk-hoved::before{width:420px;height:420px;right:-210px;top:-150px}
body.ny-hav .rk-hoved::after{width:360px;height:360px;right:-90px;bottom:-300px}
body.ny-hav .rk-over{display:flex;align-items:center;gap:14px;font:400 13px/1 "Bebas Neue",sans-serif;letter-spacing:.34em}
body.ny-hav .rk-over i{flex:1;max-width:180px;height:1px;background:rgba(255,255,255,.45)}
body.ny-hav .rk-titel{margin:12px 0 0;font:400 clamp(44px,11vw,76px)/.88 "Bebas Neue",sans-serif;letter-spacing:.005em;color:var(--creme)}
body.ny-hav .rk-slogan{margin:12px 0 0;max-width:32ch;font:italic 400 15.5px/1.4 "Host Grotesk",system-ui,sans-serif;letter-spacing:-.01em;color:var(--creme)}
body.ny-hav .rk-logo{position:absolute;top:18px;right:16px;width:82px;height:82px;border-radius:50%;box-shadow:0 10px 26px rgba(80,8,16,.35)}
body.ny-hav .rk-logo svg{display:block;width:100%;height:100%}
body.ny-hav .rk-kant{height:40px;margin:-1px 0 8px;background:
  radial-gradient(circle at 50% 100%,var(--creme) 11.5px,transparent 12px) 0 100%/24px 18px repeat-x,
  linear-gradient(90deg,rgba(216,41,59,.5) 50%,transparent 0) 0 0/24px 100%,
  linear-gradient(0deg,transparent 50%,rgba(216,41,59,.5) 0) 0 0/100% 24px,#fff}
@media (min-width:700px){
  body.ny-hav .rk-hoved{padding:32px 36px 28px;padding-right:170px}
  body.ny-hav .rk-logo{width:112px;height:112px;top:24px;right:30px}
}

/* felterne i kortet: Bebas-etiketter, hvide felter, rød fokus, rød knap */
body.ny-hav .panel:has(> .rk-hoved) .field > label:not(.allergi-ja):not(.vilkaar-ja),body.ny-hav .panel:has(> .rk-hoved) .two-col > div > label{
  font:400 17px/1.1 "Bebas Neue",sans-serif;letter-spacing:.1em;color:var(--blaa)}
body.ny-hav .panel:has(> .rk-hoved) :is(.field,.bl-tid) label span,body.ny-hav .panel:has(> .rk-hoved) label .hjaelp{font:italic 400 13px/1.3 "Host Grotesk",system-ui,sans-serif;letter-spacing:0;text-transform:none;color:var(--muted)}
body.ny-hav .panel:has(> .rk-hoved) .bl-tid label{font:400 17px/1.1 "Bebas Neue",sans-serif;letter-spacing:.1em;color:var(--blaa)}
body.ny-hav .callrow .g{white-space:nowrap}
body.ny-hav .panel:has(> .rk-hoved) .inp{background-color:#fff;border-radius:14px;box-shadow:inset 0 0 0 1.5px rgba(36,26,23,.12)}
body.ny-hav .panel:has(> .rk-hoved) .inp:focus{outline:none;box-shadow:inset 0 0 0 2px var(--red)}
body.ny-hav .panel:has(> .rk-hoved) .item{background:#fff;border-radius:16px;box-shadow:inset 0 0 0 1px rgba(36,26,23,.1)}
body.ny-hav .panel:has(> .rk-hoved) .seg2 button{background:#fff;box-shadow:inset 0 0 0 1.5px rgba(36,26,23,.12)}
body.ny-hav .panel:has(> .rk-hoved) .seg2 button.on{background:#fff;color:var(--red-d);box-shadow:inset 0 0 0 2px var(--red),0 10px 22px -12px rgba(214,42,58,.6)}
body.ny-hav .panel:has(> .rk-hoved) .note{background:#fff}
body.ny-hav .panel:has(> .rk-hoved) button.g.solid.blk:not(:disabled){background:linear-gradient(180deg,#e2404f,var(--red-d));color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 12px 24px -10px rgba(180,31,46,.7)}
body.ny-hav .panel:has(> .rk-hoved) button.g.solid.blk:disabled{background:#e4d3c8;color:var(--ink2)}

/* ============================================================
   SMØRREBRØD UD AF HUSET — AVISFORSIDEN
   Smørrebrødet går ud af huset i avispapir (forretningens egne
   fotos), så siden er sat som en forside: masthead med dobbelte
   streger, Bebas-overskrift, billeder i tynde rammer, notitserne
   som spalter, og "et helt fad" som et udklip med stiplet kant.
   ============================================================ */
body.ny-smoerside .screen{background:
  repeating-linear-gradient(0deg,rgba(36,26,23,.018) 0 1px,transparent 1px 3px),#f4eee2}
body.ny-smoerside .ny-avis{position:relative;max-width:1000px;margin:4px auto 0;padding-inline:var(--pad);padding:14px 0 18px;text-align:center;color:var(--ink)}
body.ny-smoerside .ny-avis-top{display:flex;justify-content:center;align-items:center;gap:10px;padding:9px 0;flex-wrap:wrap;
  border-top:3px double var(--ink);border-bottom:1px solid var(--ink);
  font:400 13px/1 "Bebas Neue",sans-serif;letter-spacing:.24em;color:var(--ink)}
body.ny-smoerside .ny-avis-top b{font-size:9px;color:var(--red)}
body.ny-smoerside .ny-avis h1{margin:18px 0 0;font:400 clamp(62px,17vw,128px)/.84 "Bebas Neue",sans-serif;letter-spacing:.005em;color:var(--ink)}
body.ny-smoerside .ny-avis h1 span{display:block;color:var(--red)}
body.ny-smoerside .ny-avis .sub{max-width:40ch;margin:16px auto 0;padding-top:14px;border-top:1px solid rgba(36,26,23,.25);
  font:italic 400 16.5px/1.45 "Host Grotesk",system-ui,sans-serif;color:var(--ink2)}
@media (max-width:420px){body.ny-smoerside .ny-avis-top span:last-child,body.ny-smoerside .ny-avis-top b:last-of-type{display:none}}

/* billederne som avisfotos: tynd sort ramme, hvid kant, ingen runde hjørner */
body.ny-smoerside .smoer-galleri{margin-top:6px}
body.ny-smoerside .smoer-galleri image-slot{border-radius:3px;padding:5px;background:#fff;box-shadow:0 0 0 1px var(--ink),0 14px 30px -18px rgba(36,26,23,.6)}

/* notitserne som tre spalter med streger imellem */
body.ny-smoerside .facts{gap:0;margin-top:22px;border-top:3px double var(--ink);border-bottom:1px solid var(--ink)}
body.ny-smoerside .fact{background:transparent;box-shadow:none;border-radius:0;padding:14px 4px;font-size:14px}
body.ny-smoerside .fact + .fact{border-top:1px solid rgba(36,26,23,.25)}
body.ny-smoerside .fact b{display:block;margin-bottom:2px;font:400 19px/1.05 "Bebas Neue",sans-serif;letter-spacing:.04em}
/* husets egne tegninger i stedet for standardikoner: æggeuret, den røde vogn, skiven med flaget */
body.ny-smoerside .fact{align-items:center;gap:14px}
body.ny-smoerside .fact svg.ny-ill{width:52px;height:52px;flex:none;margin:0;color:inherit;filter:drop-shadow(0 6px 8px rgba(36,26,23,.12))}
/* listens 🍞 bliver til de samme fotos som i forsidens bestilling (FOTOS i ny/mosede-ny.js) */
body.ny-smoerside #bestil .item:is([data-kategori^="Smørrebrød" i],[data-kategori^="Håndmad" i]) .kat-tegn{font-size:0;width:56px;height:56px;border-radius:14px;
  background:center 62%/cover no-repeat var(--cream2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}
body.ny-smoerside #bestil .item[data-kategori^="Smørrebrød" i] .kat-tegn{background-image:url("../billeder/smoer-bakke.jpg")}
body.ny-smoerside #bestil .item[data-kategori^="Håndmad" i] .kat-tegn{background-image:url("../billeder/smoer-havn.jpg")}
@media (min-width:821px){
  body.ny-smoerside .facts{grid-template-columns:repeat(3,1fr)}
  body.ny-smoerside .fact{padding:16px 18px}
  body.ny-smoerside .fact + .fact{border-top:0;border-left:1px solid rgba(36,26,23,.25)}
  body.ny-smoerside .fact{flex-direction:column;align-items:flex-start;gap:12px}
}

/* "Smørrebrød, som det skal smage" som lederen: overskrift og initial, uden kort */
body.ny-smoerside .panel:not(#bestil):not(.tilbud-kort){background:transparent;box-shadow:none;border-radius:0;padding:6px 2px 4px;margin-top:26px}
body.ny-smoerside .panel:not(#bestil):not(.tilbud-kort) h3{font:400 clamp(34px,8vw,48px)/.95 "Bebas Neue",sans-serif;letter-spacing:.01em;color:var(--ink)}
body.ny-smoerside .panel:not(#bestil):not(.tilbud-kort) .saelg-stor{font-size:17.5px;line-height:1.6}
body.ny-smoerside .panel:not(#bestil):not(.tilbud-kort) .saelg-stor::first-letter{float:left;margin:4px 8px 0 0;font:400 64px/.8 "Bebas Neue",sans-serif;color:var(--red)}

body.ny-smoerside #bestil.panel{margin-top:26px}

/* "Skal I bruge et helt fad?" som et udklip: stiplet kant og en saks */
body.ny-smoerside .tilbud-kort{position:relative;margin-top:30px;background:#fff;border-radius:6px;padding:24px 22px 20px;
  box-shadow:0 0 0 1px rgba(36,26,23,.06),0 18px 40px -26px rgba(36,26,23,.5);outline:2px dashed rgba(36,26,23,.38);outline-offset:-10px}
body.ny-smoerside .tilbud-kort::before{content:"✂";position:absolute;top:-3px;left:24px;padding:0 6px;font-size:18px;line-height:1;color:var(--ink);background:#f4eee2;transform:translateY(-50%)}
body.ny-smoerside .tilbud-kort h3{font:400 34px/1 "Bebas Neue",sans-serif;letter-spacing:.01em;color:var(--ink)}
body.ny-smoerside .tilbud-kort .tilbud-knap{background:var(--ink);color:#fff}

/* ============================================================
   UDLEJE AF BAGLOKALET — AFTENEN I BAGLOKALET
   Mørkt træ som væggen på fotoet, lyskæden over toppen, navnet på
   en messingplade som på en dør, prisen på et bordkort med et grønt
   stempel (grøn er husets "det er på plads", rød er pris og tryk).
   ============================================================ */
body.ny-bagside .screen{color:#f3ead9;background:
  radial-gradient(120% 60% at 50% 0%,rgba(255,190,110,.16),transparent 60%),
  repeating-linear-gradient(90deg,rgba(0,0,0,.18) 0 1px,transparent 1px 74px),
  linear-gradient(180deg,#2c1d15,#1f140f 70%)}
body.ny-bagside .ny-bag{max-width:760px;margin:0 auto;padding:0 var(--pad) 8px;text-align:center}
body.ny-bagside .ny-lyskaede{display:block;width:100%;height:auto;overflow:visible;filter:drop-shadow(0 0 6px rgba(255,190,90,.75))}
body.ny-bagside .ny-lyskaede .paere{fill:#ffe1a0;animation:ny-glimt 3.2s ease-in-out infinite;animation-delay:var(--d)}
@keyframes ny-glimt{0%,100%{fill:#ffe1a0}50%{fill:#ffc768}}
@media (prefers-reduced-motion:reduce){body.ny-bagside .ny-lyskaede .paere{animation:none}}
body.ny-bagside .ny-messing{display:inline-block;margin:14px auto 0;padding:16px 28px 18px;border-radius:14px;color:#3b2612;
  background:linear-gradient(160deg,#f6dca6 0%,#d9ae68 38%,#f1cf8e 55%,#b98a45 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 -2px 0 rgba(90,55,20,.35),0 0 0 3px #3b2612,0 0 0 5px rgba(232,196,143,.4),0 18px 40px -12px rgba(0,0,0,.7);position:relative}
body.ny-bagside .ny-messing::before,body.ny-bagside .ny-messing::after{content:"";position:absolute;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;
  background:radial-gradient(circle at 35% 35%,#fff3d6,#8a6430 70%);box-shadow:0 1px 1px rgba(0,0,0,.4)}
body.ny-bagside .ny-messing::before{left:10px}
body.ny-bagside .ny-messing::after{right:10px}
body.ny-bagside .ny-messing-over{display:block;font:400 13px/1 "Bebas Neue",sans-serif;letter-spacing:.4em;color:#6b4a22}
body.ny-bagside .ny-messing h1{margin:6px 0 0;font:400 clamp(52px,14vw,104px)/.86 "Bebas Neue",sans-serif;letter-spacing:.02em;color:#3b2612;
  text-shadow:0 1px 0 rgba(255,240,205,.8),0 -1px 0 rgba(80,45,10,.35)}
body.ny-bagside .ny-messing h1 span{display:block;margin-top:6px;font:italic 400 clamp(17px,4.4vw,22px)/1.2 "Host Grotesk",system-ui,sans-serif;letter-spacing:-.01em;text-transform:none;color:#5a3a18;text-shadow:none}
body.ny-bagside .ny-bag .sub{max-width:40ch;margin:20px auto 0;font-size:16.5px;line-height:1.5;color:rgba(243,234,217,.86)}

body.ny-bagside .evhero{border-radius:18px;box-shadow:0 0 0 1px rgba(232,196,143,.35),0 0 60px -10px rgba(255,180,80,.45),0 30px 60px -20px rgba(0,0,0,.8)}
@media (min-width:821px){body.ny-bagside .evhero{max-width:760px;margin-inline:auto}}

/* notitserne på væggen: creme tekst, husets tegninger */
body.ny-bagside .fact{background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(232,196,143,.18);color:rgba(243,234,217,.78);align-items:center;gap:14px;font-size:14px}
body.ny-bagside .fact b{display:block;margin-bottom:2px;font:400 20px/1.05 "Bebas Neue",sans-serif;letter-spacing:.05em;color:#f3ead9}
body.ny-bagside .fact svg.ny-ill{width:52px;height:52px;flex:none;margin:0;color:inherit;filter:drop-shadow(0 6px 10px rgba(0,0,0,.35))}

/* prisen på et bordkort */
body.ny-bagside .lokale-pris{position:relative;border-radius:6px;background:#fbf6ec;color:#241a17;padding:24px 22px 22px;
  box-shadow:0 1px 0 #fff inset,0 24px 50px -20px rgba(0,0,0,.8)}
body.ny-bagside .lokale-pris::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;border-radius:6px 6px 0 0;
  background:repeating-linear-gradient(90deg,#d62a3a 0 12px,#fff 12px 24px)}
body.ny-bagside .lp-eyebrow{font:400 30px/1 "Bebas Neue",sans-serif;letter-spacing:.02em;color:#241a17}
body.ny-bagside .lp-linje{border-top:0;align-items:flex-start}
body.ny-bagside .lp-linje::before{content:"";order:2;flex:1;align-self:flex-start;margin-top:15px;border-bottom:2px dotted rgba(36,26,23,.35)}
body.ny-bagside .lp-tal{order:3;font:400 32px/1 "Bebas Neue",sans-serif;letter-spacing:.01em;color:var(--red-tekst)}
body.ny-bagside .lp-navn{font:400 21px/1 "Bebas Neue",sans-serif;letter-spacing:.04em}
body.ny-bagside .lp-navn small{font:italic 400 13px/1.3 "Host Grotesk",system-ui,sans-serif;letter-spacing:0;text-transform:none;margin-top:4px}
body.ny-bagside .lp-gratis{margin-top:16px;background:transparent;border:2.5px solid #1f7a4a;border-radius:10px;padding:10px 14px;transform:rotate(-1.4deg);max-width:max-content;
  font:400 18px/1.15 "Bebas Neue",sans-serif;letter-spacing:.05em;color:#1f7a4a;box-shadow:inset 0 0 0 2px rgba(31,122,74,.18)}

/* med i lokalet: messingmærker på væggen */
body.ny-bagside .lokale-udstyr li{background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(232,196,143,.35);color:#f3ead9}
body.ny-bagside .lokale-udstyr li::before{content:"";display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;vertical-align:1px;
  background:radial-gradient(circle at 35% 35%,#fff3d6,#b98a45 70%)}
body.ny-bagside .screen > section > p.sub{color:rgba(243,234,217,.8);font-style:italic}

/* forespørgslen: trinene som røde Bebas-numre */
body.ny-bagside .bl-panel{color:#241a17}
body.ny-bagside .bl-trin-navn{font:400 22px/1 "Bebas Neue",sans-serif;letter-spacing:.04em}
body.ny-bagside .bl-trin-navn span{width:30px;height:30px;font:400 17px/1 "Bebas Neue",sans-serif;background:var(--red)}
body.ny-bagside .ledigkal{background:#fff;border-radius:16px}
body.ny-bagside .lk-dag.valgt{background:var(--red);color:#fff}
body.ny-bagside .bl-panel .seg2 button.on{background:#fff;color:var(--red-d);box-shadow:inset 0 0 0 2px var(--red),0 10px 22px -12px rgba(214,42,58,.6)}
body.ny-bagside .bl-panel .seg2 button{background:#fff}

/* ============================================================
   CATERING — UNDER CLOCHEN
   Havneblå på hvid dug: et andet udtryk end forsidens røde.
   Låget løftes af maden i toppen; "Det kan vi lave til jer" er et
   trykt menukort med blåt hoved og rigtige fotos; "Sådan gør vi" er
   husets røde kort med kransen.
   ============================================================ */
body.ny-caterside .screen{background:
  repeating-linear-gradient(45deg,rgba(42,95,143,.035) 0 2px,transparent 2px 9px),
  repeating-linear-gradient(-45deg,rgba(42,95,143,.035) 0 2px,transparent 2px 9px),#f8f6f1}
body.ny-caterside .ny-cater{max-width:760px;margin:0 auto;padding:6px var(--pad) 10px;text-align:center}
body.ny-caterside .ny-cloche{display:block;width:min(260px,70%);height:auto;margin:0 auto -4px;overflow:visible}
body.ny-caterside .ny-cloche-laag{transform-origin:186px 78px;animation:ny-laag 1.4s cubic-bezier(.2,.9,.24,1) .3s both}
@keyframes ny-laag{from{transform:translate(-2px,36px) rotate(10deg)}to{transform:none}}
@media (prefers-reduced-motion:reduce){body.ny-caterside .ny-cloche-laag{animation:none}}
body.ny-caterside .ny-cater-over{display:inline-flex;align-items:center;gap:12px;margin-top:10px;font:400 13px/1 "Bebas Neue",sans-serif;letter-spacing:.3em;color:var(--blaa)}
body.ny-caterside .ny-cater-over::before,body.ny-caterside .ny-cater-over::after{content:"";width:28px;height:1px;background:currentColor;opacity:.5}
body.ny-caterside .ny-cater h1{margin:12px 0 0;font:400 clamp(54px,14vw,112px)/.86 "Bebas Neue",sans-serif;letter-spacing:.005em;color:#241a17}
body.ny-caterside .ny-cater h1 span{display:block;color:var(--blaa)}
body.ny-caterside .ny-cater .sub{max-width:42ch;margin:16px auto 0;font-size:16.5px;line-height:1.5;color:var(--ink2)}

/* fotos lagt på dugen som små tallerkener */
body.ny-caterside .foto-galleri image-slot{border-radius:16px;box-shadow:0 0 0 5px #fff,0 0 0 6px rgba(42,95,143,.18),0 18px 34px -18px rgba(29,61,92,.6)}

/* notitserne med husets tegninger, blå rubrikker */
body.ny-caterside .fact{background:#fff;box-shadow:inset 0 0 0 1px rgba(42,95,143,.14),0 10px 26px -18px rgba(29,61,92,.5);align-items:center;gap:14px;font-size:14px}
body.ny-caterside .fact b{display:block;margin-bottom:2px;font:400 20px/1.05 "Bebas Neue",sans-serif;letter-spacing:.05em;color:var(--blaa)}
body.ny-caterside .fact svg.ny-ill{width:52px;height:52px;flex:none;margin:0;color:inherit}

/* "Vi elsker at lave mad til andre" som et citat */
body.ny-caterside .panel:not(.ny-menukort):not(#skriv){position:relative;background:transparent;box-shadow:none;text-align:center;padding:30px 10px 6px}
body.ny-caterside .panel:not(.ny-menukort):not(#skriv)::before{content:"“";display:block;height:44px;font:400 96px/1 Georgia,serif;color:var(--blaa);opacity:.85}
body.ny-caterside .panel:not(.ny-menukort):not(#skriv) h3{font:400 clamp(30px,7vw,42px)/.95 "Bebas Neue",sans-serif;letter-spacing:.01em;color:#241a17}
body.ny-caterside .panel:not(.ny-menukort):not(#skriv) .saelg-stor{max-width:40ch;margin-inline:auto;font-style:italic}

/* blåt hoved på menukortet, uden krans */
body.ny-hav .rk-hoved--blaa{background:var(--blaa);padding-right:20px}
body.ny-hav .rk-kant--blaa{background:
  radial-gradient(circle at 50% 100%,var(--creme) 11.5px,transparent 12px) 0 100%/24px 18px repeat-x,
  linear-gradient(90deg,rgba(42,95,143,.5) 50%,transparent 0) 0 0/24px 100%,
  linear-gradient(0deg,transparent 50%,rgba(42,95,143,.5) 0) 0 0/100% 24px,#fff}
body.ny-caterside .ny-menukort .getlist{grid-template-columns:1fr;gap:0;margin-top:6px}
body.ny-caterside .ny-menukort .getlist > span{align-items:center;gap:14px;padding:12px 0;border-bottom:1px dashed rgba(42,95,143,.28);font-size:15px}
body.ny-caterside .ny-menukort .gl-t{font:400 21px/1.05 "Bebas Neue",sans-serif;letter-spacing:.03em;color:#241a17}
body.ny-caterside .ny-menukort .gl-pris{font:600 13.5px/1.3 "Host Grotesk",system-ui,sans-serif;letter-spacing:0;text-transform:none;color:var(--red-tekst)}
body.ny-caterside .ny-menukort .gl-i{flex:none;width:58px;height:58px;margin:0;border-radius:14px;font-size:0;background:center/cover no-repeat #fff;box-shadow:0 6px 14px -8px rgba(29,61,92,.6)}
body.ny-caterside .ny-menukort .ny-glblad{display:grid;place-items:center;background:#eef5e4}
body.ny-caterside .ny-menukort .ny-glblad svg{width:30px;height:30px;color:inherit;margin:0}
body.ny-caterside .ny-menukort .gl-t + .gl-t,body.ny-caterside .ny-menukort .wide .gl-t{font:italic 400 15px/1.4 "Host Grotesk",system-ui,sans-serif;text-transform:none;letter-spacing:0}
body.ny-caterside .ny-menukort .fine{margin-top:16px !important}
@media (min-width:821px){body.ny-caterside .ny-menukort .getlist{grid-template-columns:1fr 1fr;column-gap:28px}}

body.ny-caterside #skriv .trin-liste{background:#fff}
body.ny-caterside #skriv a.g.solid.blk{background:linear-gradient(180deg,#e2404f,var(--red-d));color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 12px 24px -10px rgba(180,31,46,.7)}

/* ============================================================
   FROKOSTORDNING — FROKOSTEN I BRUNE POSER
   Kraftpapir hele vejen ned, overskriften på en hvid adresselap
   (Til: arbejdspladsen · Fra: caféen), "Frokost, folk glæder sig
   til" som en gul huskeseddel, tilbuddet som husets trykte kort.
   ============================================================ */
body.ny-frokostside .screen{background:
  repeating-linear-gradient(97deg,rgba(90,61,43,.05) 0 1px,transparent 1px 7px),
  repeating-linear-gradient(3deg,rgba(255,255,255,.06) 0 1px,transparent 1px 11px),#dcc4a0}
body.ny-frokostside .ny-frokost{max-width:620px;margin:0 auto;padding:10px var(--pad) 10px;text-align:center}
body.ny-frokostside .ny-lap{position:relative;margin:6px auto 0;max-width:460px;padding:0 0 16px;text-align:left;background:#fffdf8;border-radius:6px;transform:rotate(-1.2deg);
  box-shadow:0 1px 0 #fff inset,0 2px 0 rgba(90,61,43,.18),0 22px 40px -22px rgba(59,42,32,.8)}
body.ny-frokostside .ny-lap::before{content:"";position:absolute;top:-10px;left:50%;width:84px;height:22px;margin-left:-42px;transform:rotate(2deg);
  background:rgba(255,255,255,.55);box-shadow:0 1px 3px rgba(59,42,32,.18)}
body.ny-frokostside .ny-lap-top{display:flex;justify-content:space-between;padding:10px 18px;border-radius:6px 6px 0 0;background:var(--red);
  font:400 14px/1 "Bebas Neue",sans-serif;letter-spacing:.24em;color:#fbf6ec}
body.ny-frokostside .ny-lap-adr{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:14px 18px 0;padding-bottom:12px;border-bottom:1.5px dashed rgba(36,26,23,.3)}
body.ny-frokostside .ny-lap-adr dt{font:400 15px/1.2 "Bebas Neue",sans-serif;letter-spacing:.14em;color:var(--blaa)}
body.ny-frokostside .ny-lap-adr dd{margin:0;font:italic 400 15px/1.2 "Host Grotesk",system-ui,sans-serif;color:#241a17;border-bottom:1px solid rgba(36,26,23,.15);padding-bottom:4px}
body.ny-frokostside .ny-lap h1{margin:14px 18px 0;font:400 clamp(50px,13vw,84px)/.86 "Bebas Neue",sans-serif;letter-spacing:.005em;color:#241a17}
body.ny-frokostside .ny-lap h1 span{display:block;color:var(--red)}
body.ny-frokostside .ny-lap-stregkode{height:30px;margin:14px 18px 0;background:repeating-linear-gradient(90deg,#241a17 0 2px,transparent 2px 4px,#241a17 4px 5px,transparent 5px 8px,#241a17 8px 11px,transparent 11px 13px);opacity:.85;max-width:180px}
body.ny-frokostside .ny-frokost .sub{max-width:40ch;margin:22px auto 0;font-size:16.5px;line-height:1.5;color:#3b2a20}

body.ny-frokostside .foto-galleri image-slot{border-radius:4px}
body.ny-frokostside .fact{background:#fffdf8;box-shadow:0 2px 0 rgba(90,61,43,.14),0 10px 22px -16px rgba(59,42,32,.7);border-radius:6px;align-items:center;gap:14px;font-size:14px}
body.ny-frokostside .fact b{display:block;margin-bottom:2px;font:400 20px/1.05 "Bebas Neue",sans-serif;letter-spacing:.05em;color:#241a17}
body.ny-frokostside .fact svg.ny-ill{width:52px;height:52px;flex:none;margin:0;color:inherit}

/* den gule huskeseddel */
body.ny-frokostside .panel.ny-memo{position:relative;max-width:520px;margin:30px auto 0;border-radius:2px;padding:30px 24px 22px;transform:rotate(1deg);
  background:linear-gradient(180deg,#fff3a6,#ffe97a);box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 18px 30px -18px rgba(59,42,32,.8)}
body.ny-frokostside .panel.ny-memo::before{content:"";position:absolute;top:10px;left:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;
  background:radial-gradient(circle at 35% 35%,#ff8a8a,#b41f2e 70%);box-shadow:0 3px 4px rgba(0,0,0,.35)}
body.ny-frokostside .panel.ny-memo h3{font:400 clamp(30px,7vw,40px)/.95 "Bebas Neue",sans-serif;letter-spacing:.01em;color:#241a17}
body.ny-frokostside .panel.ny-memo .saelg-stor{color:#3b2a20}

/* valgene i tilbuddet: hvide, det valgte rødt — som resten af kortet */
body.ny-frokostside .bl-panel .chipset button{background:#fff;box-shadow:inset 0 0 0 1.5px rgba(36,26,23,.12)}
body.ny-frokostside .bl-panel .chipset button.on{background:#fff;color:var(--red-d);box-shadow:inset 0 0 0 2px var(--red)}
body.ny-frokostside .bl-panel .seg2 button{background:#fff}
body.ny-frokostside .bl-panel .seg2 button.on{background:#fff;color:var(--red-d);box-shadow:inset 0 0 0 2px var(--red),0 10px 22px -12px rgba(214,42,58,.6)}
body.ny-frokostside .bl-trin-navn{font:400 22px/1 "Bebas Neue",sans-serif;letter-spacing:.04em}
body.ny-frokostside .bl-trin-navn span{width:30px;height:30px;font:400 17px/1 "Bebas Neue",sans-serif}
body.ny-frokostside .ledigkal{background:#fff;border-radius:16px}
body.ny-frokostside .lk-dag.valgt{background:var(--red);color:#fff}
body.ny-frokostside .bl-panel .trin-liste{background:#fff}

/* ============================================================
   KALENDER — OPSLAGSTAVLEN VED LUGEN
   Kork hele vejen ned; overskriften er en plakat med tegnestifter,
   arrangementerne er opslag med en rød billet til datoen, og
   "Tidligere på havnen" hænger som et ark på tavlen.
   ============================================================ */
body.ny-kalside .screen{background:
  radial-gradient(circle at 20% 30%,rgba(90,55,25,.22) 0 1px,transparent 1.5px) 0 0/7px 7px,
  radial-gradient(circle at 70% 60%,rgba(255,235,200,.18) 0 1px,transparent 1.5px) 0 0/9px 9px,
  radial-gradient(circle at 40% 80%,rgba(70,40,15,.16) 0 1.2px,transparent 1.7px) 0 0/13px 11px,
  linear-gradient(180deg,#c69a63,#b98a54)}
body.ny-kalside .ny-tavle{max-width:640px;margin:0 auto;padding:12px var(--pad) 6px}
body.ny-kalside .ny-plakat{position:relative;padding:30px 22px 24px;text-align:center;background:#fbf6ec;border-radius:3px;transform:rotate(-.8deg);
  box-shadow:0 2px 0 rgba(90,55,25,.25),0 24px 40px -22px rgba(40,22,8,.85)}
body.ny-kalside .ny-plakat::after{content:"";position:absolute;inset:8px;border:2px solid #d62a3a;outline:1px solid rgba(214,42,58,.5);outline-offset:3px;pointer-events:none}
body.ny-kalside .ny-stift{position:absolute;top:10px;width:16px;height:16px;border-radius:50%;z-index:1;
  background:radial-gradient(circle at 35% 35%,#ff9a9a,#d62a3a 55%,#8f1824);box-shadow:0 4px 5px rgba(0,0,0,.4)}
body.ny-kalside .ny-stift:first-child{left:18px}
body.ny-kalside .ny-stift:nth-child(2){right:18px;background:radial-gradient(circle at 35% 35%,#9cc4ea,#2a5f8f 55%,#1d3d5c)}
body.ny-kalside .ny-plakat-over{font:400 13px/1 "Bebas Neue",sans-serif;letter-spacing:.3em;color:var(--blaa)}
body.ny-kalside .ny-plakat h1{margin:12px 0 0;font:400 clamp(58px,15vw,112px)/.84 "Bebas Neue",sans-serif;letter-spacing:.005em;color:#d62a3a}
body.ny-kalside .ny-plakat h1 span{display:block;margin-top:6px;font-size:.42em;letter-spacing:.06em;color:#241a17}
body.ny-kalside .ny-plakat .sub{max-width:34ch;margin:14px auto 0;color:var(--ink2)}

/* filtrene som papirmærker */
body.ny-kalside .chipset button{background:#fbf6ec;border-radius:4px;box-shadow:0 2px 0 rgba(90,55,25,.3);font:400 17px/1 "Bebas Neue",sans-serif;letter-spacing:.06em}
body.ny-kalside .chipset button.on{background:#d62a3a;color:#fff}

/* opslagene */
body.ny-kalside .evcard{border-radius:3px;background:#fffdf8;box-shadow:0 2px 0 rgba(90,55,25,.25),0 18px 30px -20px rgba(40,22,8,.85)}
body.ny-kalside .evcard:nth-child(odd){transform:rotate(-.6deg)}
body.ny-kalside .evcard:nth-child(even){transform:rotate(.5deg)}
body.ny-kalside .evcard::before{content:"";position:absolute;top:-6px;left:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;z-index:2;
  background:radial-gradient(circle at 35% 35%,#ff9a9a,#d62a3a 55%,#8f1824);box-shadow:0 4px 5px rgba(0,0,0,.4)}
body.ny-kalside .evcard .date{width:62px;padding:8px 0 10px;border-radius:6px;background:#d62a3a;color:#fff;
  -webkit-mask:radial-gradient(circle at 50% 0,transparent 5px,#000 5.5px) 0 0/100% 51% no-repeat,radial-gradient(circle at 50% 100%,transparent 5px,#000 5.5px) 0 100%/100% 51% no-repeat;
          mask:radial-gradient(circle at 50% 0,transparent 5px,#000 5.5px) 0 0/100% 51% no-repeat,radial-gradient(circle at 50% 100%,transparent 5px,#000 5.5px) 0 100%/100% 51% no-repeat}
body.ny-kalside .evcard .date b{font:400 34px/1 "Bebas Neue",sans-serif;color:#fff}
body.ny-kalside .evcard .date span{font:400 13px/1 "Bebas Neue",sans-serif;letter-spacing:.18em;color:rgba(255,255,255,.85)}
body.ny-kalside .evcard .line{background:transparent;border-left:1.5px dashed rgba(36,26,23,.25);width:0}
body.ny-kalside .evcard h3{font:400 26px/1 "Bebas Neue",sans-serif;letter-spacing:.02em}

/* intet planlagt: en gul seddel på tavlen */
body.ny-kalside .evtom{position:relative;border-radius:2px;transform:rotate(1deg);background:linear-gradient(180deg,#fff3a6,#ffe97a);box-shadow:0 18px 30px -18px rgba(40,22,8,.85)}
body.ny-kalside .evtom::before{content:"";position:absolute;top:8px;left:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;
  background:radial-gradient(circle at 35% 35%,#9cc4ea,#2a5f8f 55%,#1d3d5c);box-shadow:0 4px 5px rgba(0,0,0,.4)}
body.ny-kalside .evtom b{display:block;margin-top:8px;font:400 26px/1 "Bebas Neue",sans-serif;letter-spacing:.02em}

/* tidligere på havnen: et ark på tavlen */
body.ny-kalside .tidligere{border-radius:3px;background:#fffdf8;box-shadow:0 2px 0 rgba(90,55,25,.25),0 18px 30px -20px rgba(40,22,8,.85)}
body.ny-kalside .tidligere summary{font:400 21px/1 "Bebas Neue",sans-serif;letter-spacing:.04em}
body.ny-kalside .tidl .when{font:400 14px/1 "Bebas Neue",sans-serif;letter-spacing:.14em}
body.ny-kalside .tidl h4{font:400 22px/1.05 "Bebas Neue",sans-serif;letter-spacing:.02em}

/* ---------- valg med tegninger (levering/afhentning) — som forsidens bestilling ---------- */
body.ny-hav .seg2 button:has(.ny-hv-ikon){height:auto;min-height:104px;flex-direction:column;gap:4px;padding:12px 8px 12px;border-radius:18px;font-weight:600}
body.ny-hav .seg2 button .ny-hv-ikon{width:52px;height:52px;margin-bottom:2px;opacity:1;filter:saturate(.85)}
body.ny-hav .seg2 button.on .ny-hv-ikon{filter:none}
body.ny-hav .seg2 button .ny-hv-ikon svg.ny-krans{opacity:1;margin:0}
body.ny-hav .seg2 button[data-under]::after{content:attr(data-under);font:italic 400 12.5px/1.2 "Host Grotesk",system-ui,sans-serif;color:var(--muted)}
body.ny-hav .seg2 button.on[data-under]::after{color:var(--red-d)}
/* adressetjekket: grønt på ruten, messing uden for, neutralt ellers */
body.ny-hav .ny-levtjek{display:flex;gap:9px;margin:10px 0 0;padding:11px 13px;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1px rgba(36,26,23,.1);
  font-size:13.5px;line-height:1.45;color:var(--ink2)}
body.ny-hav .ny-levtjek::before{content:"";flex:none;width:16px;height:16px;margin-top:1px;border-radius:50%;background:#e4d3c8}
body.ny-hav .ny-levtjek--ja{background:rgba(31,122,74,.09);box-shadow:none;color:#17603a}
body.ny-hav .ny-levtjek--ja::before{background:#1f7a4a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.3 2.3 4.7-5' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px}
body.ny-hav .ny-levtjek--spoerg{background:rgba(232,196,143,.25);box-shadow:none;color:#6b4a22}
body.ny-hav .ny-levtjek--spoerg::before{background:#c99a4a}
body.ny-hav .ny-levtjek[hidden]{display:none}
/* hent selv: hvor lugen er */
body.ny-hav .ny-hent{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1px rgba(36,26,23,.1)}
body.ny-hav .ny-hent[hidden]{display:none}
body.ny-hav .ny-hent-ind{flex:1;display:grid;gap:2px;font-size:13.5px;color:var(--ink2)}
body.ny-hav .ny-hent-ind b{font:400 19px/1 "Bebas Neue",sans-serif;letter-spacing:.05em;color:#241a17}
body.ny-hav .ny-hent-vej{flex:none;display:inline-flex;align-items:center;height:40px;padding:0 16px;border-radius:999px;font:600 14px/1 "Host Grotesk",system-ui,sans-serif;color:var(--red-d);text-decoration:none;box-shadow:inset 0 0 0 1.5px rgba(214,42,58,.45)}
/* kalenderens filtre på én linje på telefonen (23/10) */
@media (max-width:520px){
  body.ny-kalside .chipset{flex-wrap:nowrap;justify-content:safe center;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
  body.ny-kalside .chipset button{flex:none;height:36px;padding:0 12px;font-size:15px}
}
/* ordmærket på kork og kraftpapir: det røgede glas blev brunt — mørkere glas */
body.ny-kalside .topbar .ordmaerke,body.ny-frokostside .topbar .ordmaerke{background:rgba(28,20,16,.62)}
/* ⚠️ FEJLKANTEN VINDER OVER FOKUS (23/10). Send sætter markøren i det første forkerte felt —
   og kortets fokusregel (outline:none) slukkede netop den røde kant. frokost-flow.spec.js fangede det. */
body.ny-hav .panel:has(> .rk-hoved) .inp[aria-invalid="true"],body.ny-hav .panel:has(> .rk-hoved) .inp[aria-invalid="true"]:focus{outline:2px solid var(--red);outline-offset:-2px}

/* ankerhop: undersidernes bjælke er 66 px — husets 128 px luft (topbjælken fra før) lod afsnittet
   lande med et tomt bånd over sig. Nu lander det lige under bjælken (23/10) */
html:has(body.ny-hav){scroll-padding-top:80px}
body.ny-hav main [id],body.ny-hav main[id],body.ny-hav section[id],body.ny-hav .panel[id]{scroll-margin-top:80px}
