@font-face{ font-family:"Work Sans"; font-style:normal; font-weight:400 800; font-display:swap; src:url("/fonts/work-sans-var.woff2") format("woff2"); }
@font-face{ font-family:"Caveat"; font-style:normal; font-weight:500 700; font-display:swap; src:url("/fonts/caveat-var.woff2") format("woff2"); }
*{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior:auto; }
    *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; }
  }
  body{
    margin:0;
    background:#F5EAE0;
    color:#2A1712;
    font-family:"Work Sans","Segoe UI",sans-serif;
    -webkit-font-smoothing:antialiased;
  }
  img,svg{ display:block; max-width:100%; }
  a{ color:inherit; }
  h1,h2,h3{ margin:0; text-wrap:balance; }
  p{ margin:0; }
  ul{ margin:0; padding:0; list-style:none; }
  button{ font-family:inherit; }
  :focus-visible{ outline:3px solid #6FD3C7; outline-offset:2px; }

  /* ============ SHARED COMPONENT SKELETON (colors/type via CSS vars) ============ */
  .site{
    background:var(--bg);
    color:var(--ink);
    font-family:var(--font-body);
  }
  .kb-container{ max-width:1080px; margin-inline:auto; padding-inline:clamp(1.1rem,4vw,2.75rem); }

  .kb-nav{
    --nav-pad:1rem;
    position:sticky; top:0; z-index:40;
    display:flex; align-items:center; justify-content:space-between;
    padding:var(--nav-pad) clamp(1.1rem,4vw,2.75rem);
    background:var(--nav-bg); color:var(--nav-ink);
    border-bottom:1px solid var(--nav-line);
    transition:padding 0.2s ease, box-shadow 0.2s ease;
  }
  .kb-nav.is-scrolled{ --nav-pad:0.55rem; box-shadow:0 8px 22px rgba(42,23,18,0.13); }
  [hidden]{ display:none !important; }
  .kb-nav .kb-brand img{ transition:height 0.2s ease; }
  .kb-nav.is-scrolled .kb-brand img{ height:40px; }
  .kb-brand{ display:flex; align-items:center; gap:0.6rem; text-decoration:none; color:var(--nav-ink); }
  .kb-brand img{ height:52px; width:auto; }
  .kb-crown{ width:30px; height:22px; color:var(--gold); flex:0 0 auto; }
  .kb-wordmark{ font-family:var(--font-display); font-weight:var(--wm-weight,800); font-size:var(--wm-size,1.15rem); letter-spacing:var(--wm-tracking,0.01em); text-transform:var(--wm-case,none); }
  .kb-navlinks{ display:flex; gap:1.5rem; align-self:stretch; align-items:center; }
  .kb-navlinks a{ text-decoration:none; font-size:0.85rem; font-weight:600; color:var(--nav-ink); opacity:0.85; white-space:nowrap; }
  .kb-navlinks a:hover{ opacity:1; }
  .kb-nav-cta{ display:flex; gap:0.6rem; align-items:center; }
  .kb-nav-phone{ font-size:0.82rem; font-weight:600; text-decoration:none; color:var(--nav-ink); opacity:0.85; white-space:nowrap; }
  .nav-toggle{
    display:none; align-items:center; justify-content:center;
    width:38px; height:38px; flex:0 0 auto;
    background:none; border:1.5px solid var(--nav-line); border-radius:4px;
    color:var(--nav-ink); cursor:pointer;
  }
  /* ---- Dropdown (desktop: hover/fokus, mobil: altid åben i menuen) ---- */
  .nav-dd{ position:relative; display:flex; align-items:center; align-self:stretch; }
  .nav-dd::after{ content:""; position:absolute; left:0; right:0; top:100%; height:var(--nav-pad); }
  .nav-dd-link{ display:inline-flex; align-items:center; gap:0.35rem; }
  .nav-dd-link svg{ width:9px; height:9px; transition:transform 0.15s ease; }
  .nav-dd:hover .nav-dd-link svg, .nav-dd:focus-within .nav-dd-link svg, .nav-dd.is-open .nav-dd-link svg{ transform:rotate(180deg); }
  .nav-dd-menu{
    position:absolute; top:calc(100% + var(--nav-pad)); left:-1.1rem; min-width:240px; z-index:60;
    padding:0.4rem 0; background:var(--nav-bg); border:1px solid var(--nav-line); border-top:3px solid var(--accent);
    box-shadow:0 16px 32px rgba(42,23,18,0.18);
    opacity:0; visibility:hidden; transform:translateY(6px);
    transition:opacity 0.15s ease, transform 0.15s ease, visibility 0s linear 0.15s;
  }
  .nav-dd:hover .nav-dd-menu, .nav-dd:focus-within .nav-dd-menu, .nav-dd.is-open .nav-dd-menu{
    opacity:1; visibility:visible; transform:translateY(0);
    transition:opacity 0.15s ease, transform 0.15s ease, visibility 0s linear 0s;
  }
  .kb-navlinks .nav-dd-menu a{ display:block; padding:0.7rem 1.2rem; font-size:0.86rem; opacity:1; }
  .kb-navlinks .nav-dd-menu a:hover{ background:rgba(42,23,18,0.07); color:var(--accent); }
  .nav-dd-menu small{ display:block; font-size:0.74rem; font-weight:500; color:var(--muted); margin-top:0.1rem; }

  @media (max-width: 900px){
    .kb-nav-phone{ display:none; }
    .nav-toggle{ display:inline-flex; }
    .kb-navlinks{
      position:absolute; top:100%; left:0; right:0; z-index:50; align-self:auto; align-items:stretch;
      flex-direction:column; gap:0;
      background:var(--nav-bg);
      border-bottom:1px solid var(--nav-line);
      max-height:0; overflow:hidden; opacity:0; visibility:hidden;
      transition:max-height 0.3s ease, opacity 0.2s ease, visibility 0s linear 0.3s;
    }
    .kb-navlinks.is-open{
      max-height:calc(100vh - 84px); overflow-y:auto; opacity:1; visibility:visible; padding:0.5rem 0 1rem;
      transition:max-height 0.3s ease, opacity 0.2s ease, visibility 0s linear 0s;
    }
    .kb-navlinks a{
      width:100%; padding:0.85rem clamp(1.1rem,4vw,2.75rem);
      border-bottom:1px solid var(--nav-line); opacity:1;
    }
    .nav-dd{ display:block; align-self:auto; }
    .nav-dd::after{ display:none; }
    .nav-dd-link svg{ display:none; }
    .nav-dd-menu{
      position:static; min-width:0; padding:0; border:0; box-shadow:none; background:none;
      opacity:1; visibility:visible; transform:none; transition:none;
    }
    .kb-navlinks .nav-dd-menu a{ padding:0.7rem clamp(1.1rem,4vw,2.75rem) 0.7rem calc(clamp(1.1rem,4vw,2.75rem) + 1.1rem); font-weight:500; background:rgba(42,23,18,0.04); }
  }
  @media (max-width: 520px){
    .kb-brand img{ height:40px; }
    .kb-nav{ --nav-pad:0.8rem; }
    .kb-nav.is-scrolled{ --nav-pad:0.5rem; }
    .kb-nav.is-scrolled .kb-brand img{ height:34px; }
  }

  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:0.45rem;
    font-weight:700; font-size:0.92rem; padding:0.8rem 1.35rem;
    border-radius:var(--radius,4px); text-decoration:none; border:1.5px solid transparent;
    cursor:pointer; transition:transform 0.15s ease, filter 0.15s ease;
    min-height:44px; background:none; appearance:none; font-family:inherit;
  }
  .btn:hover{ transform:translateY(-1px); }
  .btn-gold{ background:var(--gold); color:var(--on-gold); }
  .btn-gold:hover{ filter:brightness(1.06); }
  .btn-outline{ border-color:var(--outline-c); color:var(--outline-ink); }
  .btn-outline:hover{ background:var(--outline-hover,rgba(255,255,255,0.06)); }
  .btn-block{ width:100%; }

  .kb-section{ padding-block:clamp(2.75rem,6vw,4.5rem); scroll-margin-top:84px; }
  .kb-eyebrow{ font-weight:700; font-size:0.72rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--accent); display:inline-flex; align-items:center; gap:0.5rem; }
  .kb-h2{ font-family:var(--font-display); font-weight:var(--h2-weight,800); font-size:clamp(1.9rem,4.2vw,2.7rem); line-height:1; margin-top:0.5rem; color:var(--heading); }
  .kb-lede{ font-family:var(--font-lede,var(--font-body)); font-style:var(--lede-style,normal); font-size:1.05rem; color:var(--muted); max-width:52ch; margin-top:0.9rem; }

  /* ---- Hero: full-width video on desktop, static poster on mobile ---- */
  .kb-hero{ position:relative; overflow:hidden; min-height:min(88vh,760px); display:flex; align-items:flex-end; background:#161210; }
  .hero-media{ position:absolute; inset:0; }
  .hero-media video, .hero-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
  .hero-media video{ display:none; }
  .kb-hero.has-video .hero-media video{ display:block; }
  .kb-hero.has-video .hero-media img{ display:none; }
  .hero-scrim{ position:absolute; inset:0; background:rgba(20,14,10,0.42); }
  .video-toggle{
    display:none; position:absolute; top:1.25rem; right:1.25rem; z-index:3;
    align-items:center; justify-content:center;
    width:38px; height:38px; border-radius:50%; border:none;
    background:rgba(20,14,10,0.55); color:#fff; cursor:pointer; font-size:0.9rem;
  }
  .kb-hero.has-video .video-toggle{ display:flex; }
  .kb-hero > .kb-container{ position:relative; z-index:2; width:100%; padding-block:clamp(2.5rem,6vw,4.5rem); }
  .kb-hero h1{ font-family:var(--font-display); font-weight:800; line-height:0.95; font-size:clamp(2.6rem,7vw,4.6rem); color:#fff; }
  .kb-hero-tag{ font-family:var(--font-lede,var(--font-body)); font-style:var(--lede-style,normal); font-size:clamp(1.05rem,2vw,1.3rem); color:#F3E9DE; margin-top:1rem; max-width:42ch; }
  .kb-hero-ctas{ display:flex; gap:0.8rem; flex-wrap:wrap; margin-top:1.6rem; }
  .kb-hero .kb-eyebrow{ color:var(--gold); }
  .kb-hero .loc-pill{ color:#fff; border-color:rgba(255,255,255,0.4); }
  .kb-hero .loc-pill:hover{ border-color:var(--gold); }
  .kb-hero .btn-outline{ --outline-c:rgba(255,255,255,0.5); --outline-ink:#fff; --outline-hover:rgba(255,255,255,0.12); }
  .kb-section-rule{ height:1px; background:var(--card-line); margin-block:0; }
  .loc-pill{
    display:inline-flex; align-items:center; gap:0.3rem;
    font-size:0.78rem; font-weight:600; color:var(--accent);
    text-decoration:none; padding:0.3rem 0.7rem 0.3rem 0.55rem;
    border:1px solid var(--card-line); border-radius:999px;
    transition:border-color 0.15s ease;
    margin-top:0.85rem;
  }
  .loc-pill:hover{ border-color:var(--accent); }
  .loc-pill svg{ width:12px; height:12px; flex:0 0 auto; }

  /* ---- Stations ---- */
  .kb-stations{ background:var(--section-bg); }
  .station-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1rem; margin-top:2rem; }
  @media (max-width: 520px){ .station-grid{ grid-template-columns:repeat(2,1fr); } }
  .station-card{ background:var(--card-bg); border:1px solid var(--card-line); border-radius:var(--radius-lg,6px); padding:1.3rem 1.1rem; }
  .station-photo{ aspect-ratio:4/3; border-radius:var(--radius,4px); background:var(--photo-bg); display:flex; align-items:center; justify-content:center; color:var(--photo-ink); margin-bottom:0.9rem; overflow:hidden; }
  .station-photo svg{ width:38%; height:38%; opacity:0.85; }
  .station-photo img{ width:100%; height:100%; object-fit:cover; }
  .station-card h3{ font-family:var(--font-display); font-weight:700; font-size:1.05rem; color:var(--heading); }
  .station-card p{ font-size:0.82rem; color:var(--muted); margin-top:0.3rem; }

  /* ---- Dish showcase ---- */
  .showcase{ background:var(--section-bg); }
  .showcase-track{ display:grid; grid-template-columns:repeat(6,1fr); gap:clamp(1rem,3vw,1.75rem); margin-top:2.5rem; }
  @media (max-width: 820px){ .showcase-track{ grid-template-columns:repeat(3,1fr); } }
  @media (max-width: 480px){ .showcase-track{ grid-template-columns:repeat(2,1fr); } }
  .showcase-item{ display:flex; flex-direction:column; align-items:center; text-align:center; }
  .polaroid{ background:#fff; padding:0.5rem 0.5rem 0; border-radius:2px; box-shadow:0 10px 24px rgba(36,26,18,0.22); transform:rotate(var(--tilt,-2deg)); width:100%; }
  .showcase-item:nth-child(even) .polaroid{ --tilt:2deg; }
  .showcase-item:nth-child(3n) .polaroid{ --tilt:-1deg; }
  .polaroid-photo{ aspect-ratio:1/1; border-radius:1px; background:#7A1E17; display:flex; align-items:center; justify-content:center; color:#D9A441; overflow:hidden; }
  .polaroid-photo svg{ width:42%; height:42%; opacity:0.9; }
  .polaroid-photo img{ width:100%; height:100%; object-fit:cover; }
  .polaroid-cap{ height:1.6rem; }
  .showcase-tag{ font-family:"Caveat",cursive; font-weight:700; font-size:1.35rem; color:var(--accent); margin-top:0.6rem; line-height:1; }
  .showcase-name{ font-size:0.82rem; font-weight:600; color:var(--muted); margin-top:0.2rem; }

  /* ---- Pricing ---- */
  .kb-pricing{ background:var(--pricing-bg); color:var(--pricing-ink); }
  .kb-pricing .kb-eyebrow{ color:var(--pricing-accent,var(--accent)); }
  .kb-pricing .kb-h2{ color:var(--pricing-heading,var(--heading)); }
  .kb-pricing .kb-lede{ color:var(--pricing-muted,var(--muted)); }
  .campaign{ margin-top:2rem; padding:1rem 1.25rem; border-radius:var(--radius-lg,6px); background:var(--campaign-bg); border:1px solid var(--campaign-line); display:flex; align-items:center; gap:0.9rem; flex-wrap:wrap; }
  .campaign-badge{ font-family:var(--font-display); font-weight:800; font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; background:var(--gold); color:var(--on-gold); padding:0.3rem 0.65rem; border-radius:999px; flex:0 0 auto; }
  .campaign p{ font-size:0.9rem; color:var(--campaign-ink); flex:1 1 240px; }
  .campaign strong{ color:inherit; }
  .price-groups{ display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; margin-top:2rem; }
  @media (max-width: 680px){ .price-groups{ grid-template-columns:1fr; } }
  .price-group h3{ font-family:var(--font-display); font-weight:700; font-size:0.95rem; text-transform:uppercase; letter-spacing:0.06em; color:var(--pricing-accent,var(--accent)); }
  .price-row{ display:flex; justify-content:space-between; align-items:baseline; gap:1rem; padding:0.7rem 0; border-bottom:1px dashed var(--price-line); }
  .price-row:last-of-type{ border-bottom:none; }
  .price-row .label{ font-size:0.92rem; }
  .price-row .label small{ display:block; font-size:0.74rem; color:var(--pricing-muted,var(--muted)); margin-top:0.15rem; }
  .price-row .amount{ font-family:var(--font-display); font-weight:800; font-size:1.3rem; font-variant-numeric:tabular-nums; white-space:nowrap; }
  .price-note{ margin-top:1rem; font-size:0.8rem; color:var(--pricing-muted,var(--muted)); }
  .price-more{ display:inline-block; margin-top:1rem; font-size:0.82rem; font-weight:700; color:var(--pricing-accent,var(--accent)); text-decoration:none; }
  .price-more:hover{ text-decoration:underline; }

  /* ---- Locations ---- */
  .loc-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; margin-top:2rem; }
  @media (max-width: 680px){ .loc-grid{ grid-template-columns:1fr; } }
  .loc-card{ background:var(--card-bg); border:1px solid var(--card-line); border-radius:var(--radius-lg,6px); padding:1.5rem; scroll-margin-top:100px; }
  .loc-card h3{ font-family:var(--font-display); font-weight:800; font-size:1.2rem; color:var(--heading); }
  .loc-card .loc-addr{ font-size:0.9rem; color:var(--muted); margin-top:0.5rem; }
  .loc-hours{ margin-top:0.9rem; font-size:0.85rem; }
  .loc-hours div{ display:flex; justify-content:space-between; padding:0.25rem 0; border-bottom:1px dashed var(--card-line); }
  .loc-hours div:last-child{ border-bottom:none; }
  .loc-actions{ display:flex; gap:0.5rem; flex-wrap:wrap; margin-top:1.1rem; }
  .loc-actions .btn{ font-size:0.82rem; padding:0.65rem 1rem; min-height:40px; }
  .loc-meta{ margin-top:0.9rem; font-size:0.78rem; color:var(--muted); display:flex; flex-wrap:wrap; gap:0.4rem 0.9rem; }
  .loc-meta a{ text-decoration:underline; text-underline-offset:2px; color:inherit; }

  /* ---- More strip ---- */
  .more-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; margin-top:2rem; }
  @media (max-width: 720px){ .more-grid{ grid-template-columns:1fr; } }
  .more-card{ padding:1.4rem; border-radius:var(--radius-lg,6px); background:var(--card-bg); border:1px solid var(--card-line); }
  .more-card h3{ font-family:var(--font-display); font-weight:700; font-size:1rem; color:var(--heading); }
  .more-card p{ font-size:0.85rem; color:var(--muted); margin-top:0.4rem; }
  .more-card a.btn{ margin-top:0.9rem; font-size:0.8rem; padding:0.6rem 0.9rem; min-height:38px; }

  /* ---- Footer ---- */
  .kb-footer{ background:var(--footer-bg); color:var(--footer-ink); padding-block:2.5rem 1.5rem; }
  .footer-top{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:2rem; padding-bottom:1.5rem; border-bottom:1px solid var(--footer-line); }
  .footer-brand{ display:flex; align-items:center; gap:0.6rem; }
  .footer-brand .kb-crown{ color:var(--gold); }
  .footer-logo{ height:56px; width:auto; }
  .footer-links{ display:flex; gap:2.5rem; flex-wrap:wrap; }
  .footer-col h4{ font-size:0.72rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--footer-accent,var(--accent)); margin-bottom:0.6rem; }
  .footer-col ul{ display:grid; gap:0.4rem; font-size:0.85rem; }
  .footer-col a{ text-decoration:none; }
  .footer-col a:hover{ text-decoration:underline; }
  .footer-bottom{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:0.5rem; padding-top:1.1rem; font-size:0.76rem; color:var(--footer-muted); }

  /* ---- Entrance popup ---- */
  .kb-popup-overlay{
    position:fixed; inset:0; z-index:200;
    background:rgba(20,14,10,0.6);
    display:flex; align-items:center; justify-content:center;
    padding:1.25rem;
    opacity:0; pointer-events:none;
    transition:opacity 0.25s ease;
  }
  .kb-popup-overlay.is-open{ opacity:1; pointer-events:auto; }
  .kb-popup{
    --gold:#D9A441; --on-gold:#2E1608;
    --outline-c:rgba(42,23,18,0.3); --outline-ink:#2A1712;
    --radius:0px;
    background:#FBF3E9; color:#2A1712; width:100%; max-width:420px;
    overflow:hidden; position:relative;
    box-shadow:0 30px 70px rgba(0,0,0,0.4);
    transform:translateY(10px) scale(0.98); transition:transform 0.25s ease;
  }
  .kb-popup-overlay.is-open .kb-popup{ transform:translateY(0) scale(1); }
  .kb-popup-band{ background:#3A0F0B; color:#F7E9DA; padding:1.5rem 1.75rem 1.25rem; text-align:center; }
  .kb-popup-band .kb-eyebrow{ color:#D9A441; justify-content:center; }
  .kb-popup-band h3{ font-family:"Work Sans",sans-serif; font-weight:800; font-size:1.9rem; line-height:1.1; margin-top:0.5rem; }
  .kb-popup-body{ padding:1.5rem 1.75rem 1.75rem; text-align:center; }
  .kb-popup-body p{ font-size:0.92rem; color:#5B4B3A; }
  .kb-popup-body .fine{ font-size:0.74rem; color:#8A7A68; margin-top:1rem; }
  .kb-popup-actions{ display:flex; flex-direction:column; align-items:center; gap:0.6rem; margin-top:1.2rem; }
  .kb-popup-actions .btn-gold{ width:100%; font-size:1rem; padding:0.95rem 1.5rem; }
  .kb-popup-actions .btn-outline{ font-size:0.85rem; padding:0.6rem 1.3rem; }
  .kb-popup-close{
    position:absolute; top:0.75rem; right:0.75rem; z-index:2;
    width:34px; height:34px; border-radius:50%; border:none;
    background:rgba(0,0,0,0.25); color:#fff; font-size:1rem; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
  }
  .kb-popup-close:hover{ background:rgba(0,0,0,0.4); }

  /* ---- Subpage intro band ---- */
  .page-intro{ background:var(--hero-bg); color:var(--hero-ink); padding-block:clamp(2.5rem,6vw,4rem) clamp(1.5rem,4vw,2.5rem); }
  .back-link{ display:flex; width:fit-content; align-items:center; gap:0.35rem; font-size:0.82rem; font-weight:600; color:var(--muted); text-decoration:none; margin-bottom:1.2rem; }
  .back-link:hover{ color:var(--accent); }
  .back-link svg{ width:14px; height:14px; }
  .page-intro h1{ font-family:var(--font-display); font-weight:800; line-height:1; font-size:clamp(2.4rem,6vw,3.6rem); color:var(--hero-title); margin-top:0.5rem; }
  .page-intro .kb-lede{ margin-top:1rem; font-size:1.1rem; }
  .intro-photo{ margin-top:2rem; aspect-ratio:16/9; overflow:hidden; }
  .intro-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
  @media (max-width:600px){ .intro-photo{ aspect-ratio:4/3; } }

  /* ---- Body copy for subpages: intro paragraph + fact list ---- */
  .kb-copy{ font-size:0.98rem; color:var(--ink); max-width:60ch; line-height:1.65; }
  .kb-copy + .kb-copy{ margin-top:1rem; }
  .info-list{ display:grid; gap:0.65rem; margin-top:1.5rem; max-width:52ch; list-style:disc; padding-left:1.15em; }
  .info-list li{ font-size:0.92rem; color:var(--muted); line-height:1.5; padding-left:0.2em; }
  .info-list li::marker{ color:var(--accent); }
  .info-list strong{ color:var(--heading); }
  .subsection-title{ font-family:var(--font-display); font-weight:700; font-size:1.15rem; color:var(--heading); margin-top:2.2rem; }

  /* ---- Package / offer cards ---- */
  .pkg-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem; margin-top:2rem; }
  @media (max-width: 680px){ .pkg-grid{ grid-template-columns:1fr; } }
  .pkg-card{ position:relative; background:var(--card-bg); border:1px solid var(--card-line); border-radius:var(--radius-lg,6px); padding:1.6rem; }
  .pkg-card.is-recommended{ border-color:var(--accent); }
  .pkg-badge{ position:absolute; top:-0.75rem; left:1.5rem; background:var(--gold); color:var(--on-gold); font-size:0.7rem; font-weight:800; letter-spacing:0.06em; text-transform:uppercase; padding:0.3rem 0.7rem; border-radius:999px; }
  .pkg-card h3{ font-family:var(--font-display); font-weight:700; font-size:1.3rem; color:var(--heading); }
  .pkg-card .pkg-price{ font-family:var(--font-display); font-weight:800; font-size:2rem; color:var(--accent); margin-top:0.4rem; font-variant-numeric:tabular-nums; }
  .pkg-card .pkg-price small{ font-family:var(--font-body); font-size:0.8rem; font-weight:600; color:var(--muted); }
  .pkg-card p{ font-size:0.88rem; color:var(--muted); margin-top:0.6rem; }
  .pkg-card .pkg-min{ font-size:0.78rem; font-weight:700; color:var(--heading); margin-top:0.9rem; }

  /* ---- Order form ---- */
  .order-form{ margin-top:2rem; max-width:640px; }
  .form-field{ margin-top:1.1rem; }
  .form-field > label{ display:block; font-size:0.85rem; font-weight:700; color:var(--heading); margin-bottom:0.4rem; }
  .form-field input, .form-field select, .form-field textarea{
    width:100%; padding:0.75rem 0.9rem; font-size:0.95rem; font-family:inherit;
    border:1px solid var(--card-line); background:var(--card-bg); color:var(--ink);
    border-radius:var(--radius,0px);
  }
  .form-field textarea{ resize:vertical; min-height:90px; }
  .form-field input:focus, .form-field select:focus, .form-field textarea:focus{
    outline:2px solid var(--accent); outline-offset:1px;
  }
  .form-row{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
  @media (max-width:600px){ .form-row{ grid-template-columns:1fr; } }
  .pkg-choice-list{ display:grid; gap:0.6rem; margin-top:0.4rem; }
  .pkg-choice{
    display:flex; align-items:flex-start; gap:0.7rem;
    padding:0.85rem 1rem; border:1px solid var(--card-line); background:var(--card-bg);
    cursor:pointer;
  }
  .pkg-choice input{ width:auto; margin-top:0.25rem; flex:0 0 auto; accent-color:var(--accent); }
  .pkg-choice .pkg-choice-text{ font-size:0.88rem; color:var(--muted); }
  .pkg-choice .pkg-choice-text strong{ display:block; color:var(--heading); font-size:0.95rem; margin-bottom:0.1rem; }
  .pkg-choice:has(input:checked){ border-color:var(--accent); background:#fff; }
  .form-submit{ margin-top:1.6rem; }
  .form-success{
    display:none; margin-top:2rem; padding:1.75rem; background:var(--card-bg);
    border:1px solid var(--accent); text-align:center;
  }
  .form-success.is-visible{ display:block; }
  .form-success h3{ font-family:var(--font-display); font-weight:800; font-size:1.3rem; color:var(--heading); }
  .form-success p{ margin-top:0.5rem; font-size:0.9rem; color:var(--muted); }
  .form-error{ display:none; margin-top:1rem; padding:0.85rem 1rem; background:#F7E3E0; border:1px solid var(--accent); color:var(--accent); font-size:0.85rem; }
  .form-error.is-visible{ display:block; }
  .sr-only-field{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

  /* ---- Palette & type tokens ---- */
  .site{
    --bg:#F5EAE0; --ink:#2A1712; --heading:#2A1712; --muted:#6B5145;
    --accent:#7A1E17; --gold:#D9A441; --on-gold:#2E1608;
    --font-display:"Work Sans",sans-serif;
    --font-body:"Work Sans",sans-serif;
    --font-lede:"Work Sans",sans-serif; --lede-style:normal;
    --wm-weight:700; --wm-size:1.3rem; --wm-tracking:0.01em; --wm-case:none;
    --radius:0px; --radius-lg:0px;
    --nav-bg:#F5EAE0; --nav-ink:#2A1712; --nav-line:rgba(42,23,18,0.14);
    --hero-bg:#F5EAE0; --hero-ink:#2A1712; --hero-title:#2A1712; --hero-tag:#6B5145;
    --card-bg:#FBF3E9; --card-line:rgba(42,23,18,0.14);
    --photo-bg:#7A1E17; --photo-ink:#D9A441;
    --section-bg:#F5EAE0;
    --outline-c:rgba(42,23,18,0.3); --outline-ink:#2A1712;
    --pricing-bg:#3A0F0B; --pricing-ink:#EBD9C9;
    --pricing-heading:#F7E9DA; --pricing-muted:#B99C89; --pricing-accent:#D9A441;
    --campaign-bg:rgba(217,164,65,0.1); --campaign-line:rgba(217,164,65,0.32); --campaign-ink:#EBD9C9;
    --price-line:rgba(235,223,201,0.18);
    --footer-bg:#3A0F0B; --footer-ink:#E4CDB8; --footer-line:rgba(217,164,65,0.18); --footer-muted:#8C7261; --footer-accent:#D9A441;
  }
  .btn-gold{ border-radius:0; }

  /* ---- Cookie consent ---- */
  .cookie-banner{
    position:fixed; left:0; right:0; bottom:0; z-index:50;
    background:var(--footer-bg); color:var(--footer-ink);
    border-top:1px solid var(--footer-line);
    padding:1.1rem clamp(1.1rem,4vw,2.75rem);
  }
  .cookie-banner-inner{
    max-width:1080px; margin-inline:auto;
    display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap;
  }
  .cookie-banner p{ font-size:0.85rem; line-height:1.5; max-width:60ch; margin:0; }
  .cookie-banner a{ color:inherit; text-decoration:underline; text-underline-offset:2px; }
  .cookie-banner-actions{ display:flex; gap:0.7rem; flex-wrap:wrap; flex:0 0 auto; }
  .cookie-banner .btn-outline{ --outline-c:rgba(228,205,184,0.4); --outline-ink:#E4CDB8; --outline-hover:rgba(228,205,184,0.1); }
  @media (max-width:640px){
    .cookie-banner-inner{ flex-direction:column; align-items:flex-start; }
    .cookie-banner-actions{ width:100%; }
    .cookie-banner-actions .btn{ flex:1 1 auto; }
  }


  /* ---- Take away-valg (afhentning / levering) ---- */
  .oc-spot + .oc-spot{ margin-top:1.4rem; padding-top:1.4rem; border-top:1px dashed rgba(42,23,18,0.2); }
  .oc-name{ font-family:var(--font-display,"Work Sans",sans-serif); font-weight:800; font-size:1.15rem; color:#2A1712; margin-bottom:0.7rem; }
  .oc-actions{ display:grid; grid-template-columns:1fr 1fr; gap:0.6rem; }
  .oc-actions .btn{ width:100%; font-size:0.95rem; padding:0.95rem 0.6rem; }
  .kb-popup .oc-actions .btn-outline{ font-size:0.95rem; }

  /* ---- Kampagne under hero ---- */
  .offer-hero{
    background:#3A0F0B; color:#F7E9DA;
    --outline-c:rgba(247,233,218,0.5); --outline-ink:#F7E9DA; --outline-hover:rgba(247,233,218,0.1);
  }
  .offer-hero-inner{ display:grid; grid-template-columns:minmax(200px,300px) 1fr; gap:clamp(1.5rem,4vw,3.5rem); align-items:center; padding-block:clamp(2.25rem,5vw,3.5rem); }
  @media (max-width:760px){ .offer-hero-inner{ grid-template-columns:1fr; } }
  .offer-hero-price{ background:var(--gold); color:var(--on-gold); text-align:center; padding:1.6rem 1rem; }
  .offer-hero-price small{ display:block; font-size:0.8rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; }
  .offer-hero-price strong{ display:block; font-family:var(--font-display); font-weight:800; font-size:clamp(4rem,9vw,6rem); line-height:1; font-variant-numeric:tabular-nums; }
  .offer-hero .kb-eyebrow{ color:var(--gold); }
  .offer-hero .kb-h2{ color:#fff; max-width:20ch; }
  .offer-when{ margin-top:0.9rem; font-weight:700; color:var(--gold); }
  .offer-hero-copy p + p{ margin-top:0.6rem; color:#E4CDB8; max-width:56ch; }
  .offer-hero .kb-hero-ctas{ margin-top:1.3rem; }

  /* ---- Tilbudskort ---- */
  .deal-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1.1rem; margin-top:2rem; }
  .deal-card{ display:flex; flex-direction:column; background:var(--card-bg); border:1px solid var(--card-line); padding:1.5rem 1.3rem; }
  .deal-card .deal-kicker{ margin-top:0; font-size:0.72rem; font-weight:800; letter-spacing:0.12em; text-transform:uppercase; color:var(--accent); }
  .deal-card .deal-figure{ font-family:var(--font-display); font-weight:800; font-size:clamp(2.4rem,5vw,3.1rem); line-height:1; color:var(--heading); margin-top:0.6rem; font-variant-numeric:tabular-nums; }
  .deal-card h3{ font-family:var(--font-display); font-weight:700; font-size:1.05rem; color:var(--heading); margin-top:0.7rem; }
  .deal-card p{ font-size:0.86rem; color:var(--muted); margin-top:0.45rem; line-height:1.5; }
  .deal-card .deal-link{ margin-top:auto; padding-top:1rem; font-size:0.84rem; font-weight:700; color:var(--accent); text-decoration:none; }
  .deal-card .deal-link:hover{ text-decoration:underline; }

  /* ---- Buffeten i tal ---- */
  .facts{ background:var(--accent); color:#fff; }
  .facts-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; padding-block:clamp(1.75rem,4vw,2.5rem); text-align:center; }
  @media (max-width:640px){ .facts-grid{ grid-template-columns:repeat(2,1fr); } }
  .facts-grid strong{ display:block; font-family:var(--font-display); font-weight:800; font-size:clamp(2.2rem,5vw,3.2rem); line-height:1; font-variant-numeric:tabular-nums; }
  .facts-grid span{ display:block; margin-top:0.4rem; font-size:0.8rem; font-weight:600; letter-spacing:0.04em; color:#F3D9D3; }

  /* ---- Take away: billedkort ---- */
  .tk-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:1rem; margin-top:2rem; }
  .tk-card{ display:block; text-decoration:none; background:var(--card-bg); border:1px solid var(--card-line); color:inherit; transition:transform 0.15s ease, box-shadow 0.15s ease; }
  .tk-card:hover{ transform:translateY(-2px); box-shadow:0 10px 22px rgba(42,23,18,0.14); }
  .tk-card img{ width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; }
  .tk-card-body{ padding:0.9rem 1rem 1.1rem; }
  .tk-card h3{ font-family:var(--font-display); font-weight:700; font-size:1.02rem; color:var(--heading); }
  .tk-card p{ font-size:0.8rem; color:var(--muted); margin-top:0.25rem; line-height:1.45; }
  .tk-cta{ display:flex; gap:0.7rem; flex-wrap:wrap; margin-top:1.75rem; }
  .tk-spot-actions{ display:grid; grid-template-columns:1fr 1fr; gap:0.6rem; margin-top:1.2rem; }
  .tk-spot-actions .btn{ width:100%; }

  /* ---- Menukort ---- */
  .menu-cover{ display:grid; grid-template-columns:minmax(220px,320px) 1fr; gap:clamp(1.5rem,4vw,3rem); align-items:center; margin-top:0.5rem; }
  @media (max-width:700px){ .menu-cover{ grid-template-columns:1fr; } }
  .menu-cover img{ width:100%; height:auto; box-shadow:0 14px 30px rgba(42,23,18,0.25); }

  /* ---- Parkering ---- */
  .loc-park{ margin-top:0.9rem; font-size:0.8rem; color:var(--muted); line-height:1.5; }
  .loc-park strong{ color:var(--heading); }

  .menu-items{ display:grid; gap:0.4rem; margin-top:0.8rem; font-size:0.82rem; color:var(--muted); line-height:1.45; }
  .menu-items strong{ color:var(--heading); }

  /* ---- Fast Book bord-fane (højre kant) ---- */
  .book-tab{
    position:fixed; right:0; top:50%; transform:translateY(-50%); z-index:45;
    writing-mode:vertical-rl; background:#D9A441; color:#2E1608; border:0;
    padding:1.15rem 0.8rem; font-family:"Work Sans",sans-serif; font-weight:700; font-size:0.85rem;
    letter-spacing:0.12em; text-transform:uppercase; cursor:pointer;
    box-shadow:-4px 4px 16px rgba(0,0,0,0.25); transition:padding 0.15s ease, filter 0.15s ease;
  }
  .book-tab:hover{ filter:brightness(1.07); padding-right:1rem; }
  @media (max-width:520px){ .book-tab{ padding:0.95rem 0.65rem; font-size:0.78rem; } }
  @media print{ .book-tab{ display:none; } }
  .oc-book{ font-size:1rem; padding:1rem 1rem; }

  /* ---- Læsesektion + split ---- */
  .intro-split{ display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(1.5rem,4vw,3.5rem); align-items:center; }
  @media (max-width:820px){ .intro-split{ grid-template-columns:1fr; } }
  .intro-split .kb-copy{ margin-top:1rem; }
  .intro-split .kb-hero-ctas{ margin-top:1.5rem; }
  .intro-img img{ width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
  .feature-split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.5rem,4vw,3rem); align-items:center; margin-top:3rem; }
  @media (max-width:820px){ .feature-split{ grid-template-columns:1fr; } }
  .feature-split img{ width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }
  .feature-split h3{ font-family:var(--font-display); font-weight:800; font-size:1.5rem; color:var(--heading); }
  .feature-split p{ margin-top:0.7rem; font-size:0.95rem; color:var(--muted); line-height:1.6; max-width:52ch; }
  .why-list{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem 1.75rem; margin-top:2rem; }
  @media (max-width:900px){ .why-list{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:520px){ .why-list{ grid-template-columns:1fr; } }
  .why-list li{ border-top:3px solid var(--accent); padding-top:0.8rem; font-size:0.9rem; color:var(--muted); line-height:1.5; }
  .why-list strong{ display:block; font-family:var(--font-display); font-size:1.02rem; color:var(--heading); margin-bottom:0.2rem; }

  /* ---- Menu og priser ---- */
  .price-cards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.1rem; margin-top:2rem; }
  .price-card{ background:var(--card-bg); border:1px solid var(--card-line); padding:1.5rem 1.4rem; }
  .price-card h3{ font-family:var(--font-display); font-weight:800; font-size:1.2rem; color:var(--heading); }
  .price-card .pc-sub{ font-size:0.78rem; color:var(--muted); margin-top:0.25rem; }
  .pc-row{ display:flex; justify-content:space-between; align-items:baseline; gap:1rem; padding:0.6rem 0; border-bottom:1px dashed var(--card-line); }
  .pc-row:last-of-type{ border-bottom:none; }
  .price-card .pc-list{ margin-top:0.9rem; }
  .pc-row span{ font-size:0.88rem; color:var(--ink); }
  .pc-row span small{ display:block; font-size:0.72rem; color:var(--muted); }
  .pc-row strong{ font-family:var(--font-display); font-weight:800; font-size:1.3rem; color:var(--accent); font-variant-numeric:tabular-nums; white-space:nowrap; }
  .menu-tabs{ display:none; flex-wrap:wrap; gap:0.5rem; margin-top:1.75rem; }
  .has-tabs .menu-tabs{ display:flex; }
  .menu-tab{ border:1.5px solid rgba(42,23,18,0.3); background:none; color:var(--ink); padding:0.65rem 1.05rem; font-weight:700; font-size:0.85rem; cursor:pointer; min-height:44px; }
  .menu-tab:hover{ border-color:var(--accent); }
  .menu-tab[aria-selected="true"]{ background:var(--accent); border-color:var(--accent); color:#fff; }
  .menu-panel{ margin-top:2rem; scroll-margin-top:90px; }
  .menu-panel h3{ font-family:var(--font-display); font-weight:800; font-size:1.5rem; color:var(--heading); }
  .menu-panel > p{ margin-top:0.6rem; font-size:0.95rem; color:var(--muted); max-width:62ch; line-height:1.6; }
  .has-tabs .menu-panel[hidden]{ display:none !important; }
  .menu-panel + .menu-panel{ margin-top:3rem; }
  .has-tabs .menu-panel + .menu-panel{ margin-top:2rem; }
  .photo-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:0.9rem; margin-top:1.4rem; }
  .photo-grid figure{ margin:0; background:var(--card-bg); border:1px solid var(--card-line); }
  .photo-grid img{ width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }
  .photo-grid figcaption{ padding:0.6rem 0.8rem 0.7rem; font-size:0.84rem; font-weight:600; color:var(--heading); }
  .photo-grid.is-large{ grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); }
  .menu-note{ margin-top:1.25rem; font-size:0.8rem; color:var(--muted); }

  .station-grid.cols-3{ grid-template-columns:repeat(3,1fr); }
  @media (max-width:640px){ .station-grid.cols-3{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:520px){ .station-grid{ gap:0.7rem; } .station-card{ padding:0.7rem 0.7rem 0.9rem; } .station-card h3{ font-size:0.95rem; } .station-card p{ font-size:0.76rem; } .station-photo{ margin-bottom:0.65rem; } }
  .kb-section:not(.kb-pricing) .campaign{ --campaign-ink:#2A1712; --campaign-bg:rgba(217,164,65,0.16); --campaign-line:rgba(122,30,23,0.3); }

  /* ---- Mobil: tryk-flader (min. 44px), fast bundknap, læsbar tekst ---- */
  .pkg-badge{ font-size:0.75rem; }
  @media (max-width:900px){
    .nav-toggle{ width:44px; height:44px; }
    .kb-brand{ min-height:44px; }
    .back-link{ min-height:44px; margin-bottom:0.4rem; }
    .price-more, .deal-link{ display:inline-flex; align-items:center; min-height:44px; }
    .loc-meta a{ display:inline-flex; align-items:center; min-height:44px; }
    .loc-pill{ min-height:40px; }
    .loc-actions .btn, .more-card a.btn{ min-height:44px; }
    .footer-col a{ display:inline-flex; align-items:center; min-height:40px; }
    .footer-col ul{ gap:0; }
  }
  @media (max-width:700px){
    .book-tab{
      writing-mode:horizontal-tb; top:auto; bottom:0; left:0; right:0; transform:none;
      width:100%; padding:0.95rem 1rem; font-size:0.9rem; letter-spacing:0.12em;
      box-shadow:0 -4px 16px rgba(0,0,0,0.22);
    }
    .book-tab:hover{ padding-right:1rem; }
    body{ padding-bottom:3.4rem; }
    .cookie-banner{ z-index:60; }
  }
  .loc-hours div{ gap:1rem; }
  .loc-hours span:last-child{ white-space:nowrap; text-align:right; }
  @media (max-width:560px){
    .loc-actions{ display:grid; grid-template-columns:1fr 1fr; }
    .loc-actions .btn:first-child{ grid-column:1/-1; }
  }
  @media (max-width:700px){
    .kb-nav-cta > .btn{ display:none; }
  }

  @media (max-width:700px){
    .has-tabs .menu-tabs{ flex-wrap:nowrap; overflow-x:auto; margin-inline:calc(-1 * clamp(1.1rem,4vw,2.75rem)); padding-inline:clamp(1.1rem,4vw,2.75rem); padding-bottom:0.4rem; scroll-snap-type:x proximity; scrollbar-width:none; }
    .has-tabs .menu-tabs::-webkit-scrollbar{ display:none; }
    .menu-tab{ flex:0 0 auto; white-space:nowrap; scroll-snap-align:start; }
    .photo-grid{ grid-template-columns:repeat(2,1fr); gap:0.6rem; }
    .photo-grid.is-large{ grid-template-columns:1fr; }
    .photo-grid figcaption{ padding:0.5rem 0.6rem 0.6rem; font-size:0.78rem; }
    .price-cards{ grid-template-columns:1fr; }
  }


  /* ---- Dynamik: indtoning, åbent-status, overgange ---- */
  .js-reveal .reveal{ opacity:0; transform:translateY(16px); transition:opacity 0.55s ease, transform 0.55s ease; transition-delay:calc(var(--i,0) * 70ms); }
  .js-reveal .reveal.is-in{ opacity:1; transform:none; }
  @media (prefers-reduced-motion: reduce){ .js-reveal .reveal{ opacity:1; transform:none; transition:none; } }
  @media print{ .js-reveal .reveal{ opacity:1 !important; transform:none !important; } .kb-nav{ position:static; } }

  .loc-status{ display:flex; align-items:center; gap:0.5rem; margin-top:0.55rem; font-size:0.84rem; font-weight:700; color:var(--heading); }
  .loc-status:empty{ display:none; }
  .loc-status::before, .oc-status::before{ content:""; width:9px; height:9px; border-radius:50%; background:#8A7A68; flex:0 0 auto; }
  .loc-status[data-state="open"]::before, .oc-status[data-state="open"]::before{ background:#2E7D32; box-shadow:0 0 0 3px rgba(46,125,50,0.2); }
  .loc-status[data-state="closing"]::before, .oc-status[data-state="closing"]::before{ background:#C77D0A; box-shadow:0 0 0 3px rgba(199,125,10,0.2); }
  .oc-status{ display:flex; align-items:center; justify-content:center; gap:0.5rem; margin-top:0.55rem; font-size:0.8rem; font-weight:600; color:#5B4B3A; }
  .loc-status-note{ margin-top:1rem; font-size:0.78rem; color:var(--muted); }

  @view-transition{ navigation:auto; }
  .kb-nav{ view-transition-name:kb-header; }
  .book-tab{ view-transition-name:kb-book; }
  ::view-transition-old(root), ::view-transition-new(root){ animation-duration:0.2s; }
  @media (prefers-reduced-motion: reduce){ @view-transition{ navigation:none; } }

  /* ---- Formular: hjælpetekst og prisoverslag ---- */
  .form-hint{ display:block; margin-top:0.35rem; font-size:0.78rem; color:var(--muted); }
  .form-hint.is-warn{ color:var(--accent); font-weight:700; }
  .form-estimate{ margin-top:1.1rem; padding:0.9rem 1rem; background:#fff; border:1px solid var(--accent); font-size:0.9rem; color:var(--heading); }
  .form-estimate strong{ font-family:var(--font-display); font-size:1.15rem; color:var(--accent); }
  .form-estimate small{ display:block; margin-top:0.3rem; font-size:0.76rem; color:var(--muted); }
  .btn[disabled]{ opacity:0.7; cursor:progress; transform:none; }

  /* ---- Menu: søgning ---- */
  .menu-search{ display:none; margin-top:1.5rem; max-width:520px; }
  .has-tabs .menu-search{ display:block; }
  .menu-search input{ width:100%; padding:0.8rem 1rem; font:inherit; font-size:1rem; border:1.5px solid rgba(42,23,18,0.3); background:var(--card-bg); color:var(--ink); min-height:48px; }
  .menu-search input:focus{ outline:2px solid var(--accent); outline-offset:1px; border-color:var(--accent); }
  .menu-search-status{ margin-top:0.5rem; font-size:0.82rem; color:var(--muted); min-height:1.2em; }
  .sr-only{ position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

  .kb-popup-close{ width:40px; height:40px; }
  @media (max-width:700px){ .kb-popup-close{ width:44px; height:44px; top:0.6rem; right:0.6rem; } }


  /* ---- Brand: dragen som vandmærke og emblem (flade farver, lav gennemsigtighed) ---- */
  .offer-hero, .kb-pricing, .facts, .kb-footer, .page-intro{ position:relative; overflow:hidden; }
  .offer-hero::before, .kb-pricing::before, .facts::before, .kb-footer::before, .page-intro::before{
    content:""; position:absolute; pointer-events:none; z-index:0;
    right:-3%; bottom:-14%; width:min(360px,58vw); aspect-ratio:520/629;
    background:url("/images/dragon-white.png") center/contain no-repeat; opacity:0.07;
  }
  .page-intro::before{ background-image:url("/images/dragon-red.png"); opacity:0.07; right:2%; bottom:-10%; width:min(300px,46vw); }
  .facts::before{ opacity:0.12; right:6%; bottom:-40%; width:min(300px,50vw); }
  .offer-hero > *, .kb-pricing > *, .facts > *, .kb-footer > *, .page-intro > *{ position:relative; z-index:1; }
  .hero-emblem{ width:64px; height:auto; margin-bottom:1rem; opacity:0.95; }
  .popup-emblem{ width:42px; height:auto; margin:0 auto 0.6rem; }
  .not-found{ text-align:center; padding-block:clamp(3rem,10vw,6rem); }
  .not-found img{ width:140px; height:auto; margin:0 auto 1.5rem; }
  .not-found .kb-hero-ctas{ justify-content:center; }
  .video-toggle{ width:44px; height:44px; font-size:1rem; }

  .offer-hero-inner.no-price{ grid-template-columns:1fr; }
  body.is-tool .book-tab{ display:none; }

  /* ---- Redigér-værktøj (/rediger/) ---- */
  .ed-steps{ margin:0; padding-left:1.2rem; display:grid; gap:0.7rem; max-width:64ch; font-size:0.95rem; line-height:1.55; }
  .ed-steps code, .ed-help code, .kb-copy code{ background:rgba(42,23,18,0.08); padding:0.1em 0.4em; font-size:0.88em; }
  .ed-layout{ display:grid; grid-template-columns:minmax(240px,320px) 1fr; gap:clamp(1.25rem,3vw,2.5rem); margin-top:1.75rem; align-items:start; }
  @media (max-width:860px){ .ed-layout{ grid-template-columns:1fr; } }
  .ed-campaigns{ display:grid; gap:0.5rem; }
  .ed-item{ width:100%; text-align:left; display:grid; gap:0.35rem; padding:0.8rem 0.9rem; background:var(--card-bg); border:1.5px solid var(--card-line); cursor:pointer; font:inherit; color:var(--ink); min-height:48px; }
  .ed-item.is-sel{ border-color:var(--accent); background:#fff; }
  .ed-badge{ justify-self:start; font-size:0.72rem; font-weight:800; padding:0.15rem 0.5rem; border-radius:999px; background:#E6DDD3; color:#3A2A22; }
  .ed-badge.ed-on{ background:#2E7D32; color:#fff; }
  .ed-badge.ed-plan{ background:#F2D9A0; }
  .ed-badge.ed-old, .ed-badge.ed-off{ background:#E6DDD3; color:#6B5145; }
  .ed-listbtns{ display:flex; flex-wrap:wrap; gap:0.5rem; margin-top:0.9rem; }
  .ed-listbtns .btn{ font-size:0.82rem; padding:0.6rem 0.8rem; min-height:44px; }
  .ed-form{ margin-top:0; max-width:none; }
  .ed-form .form-field:first-child{ margin-top:0; }
  .ed-check{ display:flex !important; align-items:center; gap:0.6rem; font-weight:700; }
  .ed-check input{ width:22px !important; height:22px; flex:0 0 auto; }
  .ed-btn{ border:1px solid var(--card-line); padding:0.2rem 1rem 1rem; margin:1.1rem 0 0; }
  .ed-btn legend{ font-size:0.85rem; font-weight:800; padding:0 0.4rem; color:var(--heading); }
  .ed-form select{ width:100%; padding:0.75rem 0.9rem; font:inherit; border:1px solid var(--card-line); background:var(--card-bg); color:var(--ink); min-height:48px; }
  .ed-preview{ margin-top:0.75rem; border:2px dashed rgba(42,23,18,0.25); }
  .ed-issues{ display:grid; gap:0.4rem; margin-top:1rem; font-size:0.88rem; }
  .ed-issues li{ padding:0.55rem 0.8rem; border-left:4px solid #8A7A68; background:#fff; }
  .ed-issues .ed-err{ border-color:#B3261E; color:#7A1E17; font-weight:700; }
  .ed-issues .ed-warn{ border-color:#C77D0A; }
  .ed-issues .ed-info{ border-color:#2E7D32; }
  .ed-out{ width:100%; padding:0.9rem; font:0.82rem/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; border:1.5px solid rgba(42,23,18,0.3); background:#fff; color:var(--ink); }
  .ed-help{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.5rem; margin-top:1.5rem; }
  .ed-help h3{ font-family:var(--font-display); font-weight:700; font-size:1.05rem; color:var(--heading); }
  .ed-help p{ margin-top:0.4rem; font-size:0.9rem; color:var(--muted); line-height:1.55; }
  .ed-help .info-list{ margin-top:0.6rem; }
