/* ============================================================
   EATER — shared styles
   Monochrome editorial. Helvetica + a refined serif for names.
   ============================================================ */

:root{
  --paper:#ffffff;
  --ink:#000000;
  --ink-soft:#1a1a1a;
  --muted:#6b6b6b;
  --line:#000000;
  --hair:#d7d7d7;            /* dashed row separators */
  --field-border:#111;
  --sans:"AkzidenzGrotesk","Akzidenz-Grotesk Next","Akzidenz-Grotesk BQ","Akzidenz-Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --pad:clamp(20px,4vw,56px);
  --maxw:1680px;
  --header-h:84px;
}

*{box-sizing:border-box;}
html{
  -webkit-text-size-adjust:100%;
  /* Sat explicit så View Transitions ikke viser browser-default-baggrund (typisk grå)
     mellem to sider hvis NEW page er længere om at parses end OLD-snapshot fader. */
  background:var(--paper);
}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
::selection{background:#000;color:#fff;}

/* ---------- layout helpers ---------- */
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad);}
.page{min-height:100vh;display:flex;flex-direction:column;}
.page > main{flex:1 0 auto;}
.pad-top{padding-top:calc(var(--header-h) + clamp(24px,5vw,72px));}

/* Fast fiks mod indhold der gemmer sig bag den position:fixed header.
   Brug på det ØVERSTE tekst-element i fuld-bleed sektioner (fx hero-titler),
   hvor sektionen starter i top:0 og ellers dækkes af headeren.
   .clears-header__pad bevarer en lille bund-luft; .clears-header rydder kun. */
.clears-header{padding-top:var(--header-h);}
.clears-header--gap{padding-top:calc(var(--header-h) + clamp(16px,3vw,40px));}

/* ---------- type ---------- */
.serif{font-family:var(--serif);font-weight:400;}
.mega{
  font-family:var(--sans);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:-0.035em;
  line-height:0.9;
  font-size:calc(clamp(48px,12.5vw,184px) * var(--tscale,1));
  margin:0;
}
.h-eyebrow{
  font-size:clamp(12px,1vw,14px);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:400;
  margin:0;
}
.label{
  font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink);
}
p{margin:0 0 1.15em;text-wrap:pretty;}
.body-col{max-width:46ch;}

/* ============================================================
   HEADER  (injected by eater.js)
   ============================================================ */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:60;
  height:var(--header-h);
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  padding-inline:var(--pad);
  color:var(--ink);
  transition:color .2s ease;
  pointer-events:none;
}
.site-header > *{pointer-events:auto;}
.site-header--light{color:#fff;}
.site-header--solid{background:var(--paper);border-bottom:0;}
.hdr-left{justify-self:start;display:flex;align-items:center;gap:14px;}
.hdr-right{justify-self:end;display:flex;align-items:center;gap:28px;}
.hdr-center{justify-self:center;}
.wordmark{font-family:var(--sans);font-weight:400;font-size:clamp(20px,2.11vw,31px);letter-spacing:.005em;}
.menu-btn{display:flex;align-items:center;gap:13px;background:none;border:0;padding:0;color:inherit;
  font-size:clamp(13px,1.24vw,19px);text-transform:uppercase;letter-spacing:.07em;}
.menu-btn .bars{display:inline-flex;flex-direction:column;gap:6px;width:26px;}
.menu-btn .bars i{display:block;height:1.6px;background:currentColor;width:26px;}
.hdr-link{font-size:clamp(13px,1.24vw,19px);text-transform:uppercase;letter-spacing:.07em;position:relative;}
.hdr-link::after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:1px;background:currentColor;transition:right .25s ease;}
.hdr-link:hover::after{right:0;}

/* ============================================================
   MENU OVERLAY (injected)
   ============================================================ */
.menu-overlay{
  position:fixed;inset:0;z-index:80;background:var(--paper);color:var(--ink);
  clip-path:inset(0 100% 0 0);
  transition:clip-path .58s cubic-bezier(.76,0,.24,1);
  display:flex;flex-direction:column;
}
.menu-overlay.open{clip-path:inset(0 0 0 0);}
.menu-overlay__body,.menu-overlay__social{opacity:0;transform:translateX(-14px);
  transition:opacity .35s ease,transform .45s ease;}
.menu-overlay.open .menu-overlay__body,.menu-overlay.open .menu-overlay__social{
  opacity:1;transform:none;transition-delay:.26s;}
@media(prefers-reduced-motion:reduce){
  .menu-overlay{transition:none;}
  .menu-overlay__body,.menu-overlay__social{transition:none;}
}
.menu-overlay__top{
  height:var(--header-h);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  padding-inline:var(--pad);
}
.menu-overlay__body{flex:1;display:flex;flex-direction:column;justify-content:flex-start;
  padding:clamp(20px,5vh,56px) var(--pad) 0;}
.menu-cols{max-width:760px;}
/* På desktop følger menu-feltet .pd-left (venstre halvdel = 50vw). */
@media(min-width:861px){.menu-cols{max-width:calc(50vw - var(--pad));}}
.menu-section + .menu-section{margin-top:clamp(28px,4vh,46px);}
.menu-section__label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);
  padding-bottom:12px;border-bottom:1px solid var(--ink);margin-bottom:18px;}
.menu-section__list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0;}
.menu-section__list li{margin:0;padding:0;list-style:none;}
.menu-section__list a{font-size:clamp(18px,2vw,22px);width:max-content;display:inline-flex;align-items:baseline;}
.menu-section__list a::after{
  content:"";display:inline-block;width:0;height:.62em;flex:none;
  background:no-repeat left bottom/contain;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 768 611.25' fill='%23000'%3E%3Cpath d='M461.308594 610.5L766.691406 305.25L461.308594 0L422.136719 39.152344L660.621094 277.53125L0.628906 277.53125L0.628906 332.96875L660.621094 332.96875L422.136719 571.347656Z'/%3E%3C/svg%3E");
  opacity:0;transform:translateX(-8px);
  transition:width .32s cubic-bezier(.22,1,.36,1),margin .32s cubic-bezier(.22,1,.36,1),opacity .26s ease,transform .32s cubic-bezier(.22,1,.36,1);
}
.menu-section__list a:hover::after,.menu-section__list a:focus-visible::after{
  width:1.35em;margin-left:.42em;opacity:1;transform:none;
}
@media(prefers-reduced-motion:reduce){.menu-section__list a::after{transition:none;}}
.menu-overlay__social{display:flex;gap:18px;justify-content:center;padding:24px 0 clamp(28px,5vh,52px);}
.close-btn{display:flex;align-items:center;gap:11px;background:none;border:0;padding:0;color:inherit;
  font-size:13px;text-transform:uppercase;letter-spacing:.07em;}
.close-btn svg{width:18px;height:18px;}

/* ============================================================
   BUTTONS
   ============================================================ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  border:1px solid var(--ink);background:var(--paper);color:var(--ink);
  font-size:13px;text-transform:uppercase;letter-spacing:.07em;font-weight:500;
  padding:18px 26px;border-radius:0;transition:background .18s ease,color .18s ease;
  text-align:center;line-height:1;
}
.btn:hover{background:var(--ink);color:var(--paper);}
.btn--solid{background:var(--ink);color:var(--paper);}
.btn--solid:hover{background:var(--paper);color:var(--ink);}
.btn--lg{padding:24px 32px;font-size:15px;font-weight:700;letter-spacing:.06em;}
.btn--block{width:100%;}
.arrow{display:inline-block;}
.arrow svg{width:42px;height:20px;display:block;}
.arrow--sm svg{width:30px;}
/* hover motion — arrows nudge forward when their link is hovered */
.arrow svg,.hero-arrow svg{transition:transform .4s cubic-bezier(.22,1,.36,1);}
a:hover .arrow svg,a.arrow:hover svg{transform:translateX(10px);}
.faq-jump:hover .arrow svg{transform:translateX(14px);}
.hero__cta:hover .hero-arrow svg{transform:translateX(20px);}
@media(prefers-reduced-motion:reduce){.arrow svg,.hero-arrow svg{transition:none;}}

/* ============================================================
   FORM FIELDS
   ============================================================ */
.field{display:flex;flex-direction:column;gap:9px;}
.field > label{font-size:12px;text-transform:uppercase;letter-spacing:.05em;}
.field--soft > label{text-transform:none;letter-spacing:0;font-size:13px;color:#222;}
.input{
  border:1px solid var(--field-border);background:#fff;color:#000;
  font-family:inherit;font-size:15px;padding:14px 15px;border-radius:0;width:100%;
}
.input::placeholder{color:#9a9a9a;}
.input:focus{outline:2px solid #000;outline-offset:-2px;}
.check{display:flex;gap:11px;align-items:flex-start;font-size:12px;line-height:1.45;color:#3a3a3a;}
.check input{margin-top:2px;width:14px;height:14px;accent-color:#000;flex:none;}
.underlink{text-decoration:underline;text-underline-offset:2px;}

/* ============================================================
   NEWSLETTER PAGE
   ============================================================ */
.newsletter-page__title{margin:0 0 150px;}
/* Intro + form forskydes mod midten/højre (venstre kant ca. 40% inde),
   så den flugter med kundens design. Stakkes på smalle skærme. */
.newsletter-page__panel{margin-left:40%;max-width:520px;}
.newsletter-page__intro{font-size:14px;line-height:1.6;color:var(--ink);margin-bottom:clamp(28px,5vw,64px);}
.newsletter-page__intro p{margin:0;}
.newsletter-form{display:flex;flex-direction:column;gap:14px;}
.newsletter-form .input{border-color:#000;padding:16px 16px;}
/* Sidste række: email + SIGN UP side om side. */
.newsletter-form__row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:stretch;}
.newsletter-form__row .btn{padding:16px 40px;}
.newsletter-form__row .btn[disabled]{opacity:.4;cursor:not-allowed;}
.newsletter-form__msg{font-size:13px;line-height:1.45;}
.newsletter-form__msg .success_message{color:#0a6b2a;}
.newsletter-form__msg .error_message{color:#a61b1b;}
@media(max-width:860px){
  .newsletter-page__panel{margin-left:0;max-width:none;}
  .newsletter-form__row{grid-template-columns:1fr;}
}

/* ============================================================
   COUNTDOWN BADGE
   ============================================================ */
.slutter{
  background:#fff;color:#000;
  padding:9px 14px 11px;display:inline-block;line-height:1;
  text-align:center;
}
.slutter__lbl{font-size:11px;text-transform:uppercase;letter-spacing:.08em;display:block;margin-bottom:5px;}
.slutter__time{font-size:21px;font-weight:700;letter-spacing:.01em;font-variant-numeric:tabular-nums;}

/* ============================================================
   FOOTER (marketing) — injected
   ============================================================ */
.site-footer{background:var(--paper);color:var(--ink);padding-top:clamp(40px,7vw,96px);}
.footer-news{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;margin-bottom:clamp(40px,6vw,72px);}
.footer-news__title{font-size:clamp(26px,2.6vw,38px);font-weight:700;letter-spacing:-0.02em;margin:0 0 12px;text-transform:uppercase;}
.footer-news__intro{grid-column:2 / 4;font-size:16px;line-height:1.5;color:var(--ink);margin:0 0 10px;}
.footer-news__form{grid-column:2 / 4;display:flex;flex-direction:column;gap:12px;}
.footer-news__row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:stretch;}
.footer-news__input{border-color:#000;padding:16px 16px;}
.footer-news__btn{padding:16px 40px;}
.footer-news__btn[disabled]{opacity:.4;cursor:not-allowed;}
.footer-news__msg{font-size:13px;line-height:1.45;}
.footer-news__msg .success_message{color:#0a6b2a;}
.footer-news__msg .error_message{color:#a61b1b;}
@media(max-width:860px){
  .footer-news{grid-template-columns:1fr;}
  .footer-news__intro,.footer-news__form{grid-column:1 / -1;}
  .footer-news__row{grid-template-columns:1fr;}
}
.footer-cols{
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;
  margin-top:clamp(40px,6vw,80px);
}
.footer-col h3{font-size:clamp(26px,2.6vw,38px);font-weight:700;letter-spacing:-0.02em;margin:0 0 18px;text-transform:uppercase;}
.footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
.footer-col li a{font-size:13px;text-transform:uppercase;letter-spacing:.04em;display:inline-flex;align-items:baseline;}
.footer-col li a::after{
  content:"";display:inline-block;width:0;height:.62em;flex:none;
  background:no-repeat left bottom/contain;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 768 611.25' fill='%23000'%3E%3Cpath d='M461.308594 610.5L766.691406 305.25L461.308594 0L422.136719 39.152344L660.621094 277.53125L0.628906 277.53125L0.628906 332.96875L660.621094 332.96875L422.136719 571.347656Z'/%3E%3C/svg%3E");
  opacity:0;transform:translateX(-7px);
  transition:width .3s cubic-bezier(.22,1,.36,1),margin .3s cubic-bezier(.22,1,.36,1),opacity .24s ease,transform .3s cubic-bezier(.22,1,.36,1);
}
.footer-col li a:hover::after,.footer-col li a:focus-visible::after{width:1.25em;margin-left:.42em;opacity:1;transform:none;}
.footer-address{margin-top:clamp(30px,4vw,66px);
  font-size:13px;text-transform:uppercase;letter-spacing:.04em;line-height:1.6;color:#111;}
.footer-addr{font-style:normal;display:block;
  font-size:13px;text-transform:uppercase;letter-spacing:.04em;line-height:1.6;color:#111;}
.footer-address .footer-addr{margin-top:0;}
@media(prefers-reduced-motion:reduce){.footer-col li a::after{transition:none;}}
.footer-bottom{
  display:grid;grid-template-columns:1fr auto;gap:24px;
  /* align-items:end er fallback for ældre browsere; "last baseline" får
     copyright/social til at flugte med BUND-linjen af "KBH. DENMARK"
     (sidste linje af bigclock) — ikke bare grid-row-bunden, hvilket ikke
     virker når elementerne har vidt forskellige line-heights. */
  align-items:end;
  align-items:last baseline;
  margin-top:clamp(48px,8vw,120px);padding-bottom:clamp(28px,3vw,46px);
}
/* line-height < 1 holder de to linjer tæt sammen, men gør line-box'en lavere
   end fontens egne ascender-metrics — uden padding-top stikker line-1's top
   op over containerens grænse og bliver klippet. */
.footer-bigclock{font-weight:700;letter-spacing:-0.03em;line-height:0.86;text-transform:uppercase;
  font-size:clamp(40px,9vw,128px);padding-top:.18em;}
/* baseline i stedet for center: SVG-ikoner uden egen baseline bruger deres
   box-bund som baseline, så ikonbund og copy-tekstens baseline lander på
   samme linje — og hele blokken flugter med "KBH. DENMARK" via grid'ens
   last baseline-alignment. */
.footer-meta{display:flex;align-items:baseline;gap:22px;}
.footer-meta .copy{font-size:12px;color:#444;position:relative;top:-1px;}
.social{display:flex;gap:14px;}
.social a{display:inline-flex;}
.social svg{width:22px;height:22px;}

/* ============================================================
   APP HEADER PAGES (cart/checkout/profile) — minimal, no footer
   ============================================================ */
.app-main{padding-top:calc(var(--header-h) + clamp(28px,5vw,64px));padding-bottom:80px;}
/* Kontakt + FAQ: halv skærmhøjde luft inden indholdet begynder.
   Klassen sættes direkte i page-templaten — body-template-klasser er
   upålidelige når templaten loades via slug-fallback uden tildeling. */
.app-main--lowered{padding-top:50vh;}
.app-main--faq{padding-top:calc(var(--header-h) + clamp(24px,6vh,80px));}

/* sub nav for profile */
.subnav{display:flex;gap:36px;margin-bottom:clamp(34px,5vw,64px);}
.subnav a{font-size:14px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;padding-bottom:3px;}
.subnav a.is-active{border-bottom:2px solid #000;}
.subnav a:not(.is-active){font-weight:400;color:#555;}

/* data list / tables */
.dtable{width:100%;}
.dtable__head,.dtable__row{display:grid;align-items:center;gap:20px;}
.dtable__head{font-size:12px;text-transform:uppercase;letter-spacing:.05em;padding-bottom:14px;color:#111;}
.dtable__row{padding:20px 0;border-top:1px dashed var(--hair);font-size:14px;}
.dtable__row:last-child{border-bottom:1px dashed var(--hair);}

/* bordered panels (cart/checkout) */
.panel{border:1px solid #000;padding:clamp(22px,2.4vw,34px);}
.panel h3{font-size:clamp(18px,1.8vw,24px);font-weight:700;letter-spacing:-0.01em;margin:0 0 22px;text-transform:uppercase;}

/* qty selector — streg over og under tallene. Højden styres af .pd__buy-
   griddet (samme række som købs-knappen, align-items:stretch), så stregerne
   altid flugter med knappens top/bund — også når knap-teksten ombrydes
   til to linjer på smalle skærme. */
.qty{display:flex;gap:14px;font-size:15px;color:#9a9a9a;justify-content:center;align-items:center;
  border-top:1px solid #000;border-bottom:1px solid #000;padding:24px 0;}
.qty button{background:none;border:0;color:inherit;font-size:15px;padding:0;line-height:1;}
.qty button.on{color:#000;font-weight:700;}
/* Slide-ind ved batch-skift ("+"/"−"): tallene glider ind fra den side man
   navigerer imod, staggeret pr. knap via inline animation-delay fra JS. */
@keyframes qty-in-next{from{opacity:0;transform:translateX(16px);}to{opacity:1;transform:none;}}
@keyframes qty-in-prev{from{opacity:0;transform:translateX(-16px);}to{opacity:1;transform:none;}}
.qty--in-next > *{animation:qty-in-next .26s cubic-bezier(.22,1,.36,1) both;}
.qty--in-prev > *{animation:qty-in-prev .26s cubic-bezier(.22,1,.36,1) both;}
@media(prefers-reduced-motion:reduce){
  .qty--in-next > *,.qty--in-prev > *{animation:none;}
}
/* Mobil: batch-størrelsen sættes til 5 i JS (efter 5 tal kommer "+"), så
   antals-rækken aldrig udvider siden. min-width:0 sikrer at 1fr-grid-sporet
   ikke blæses op af indholdet. */
@media(max-width:860px){
  .pd__buy{min-width:0;}
  .pd__buy .qty{min-width:0;gap:12px;flex-wrap:nowrap;}
}

/* doodle illustration */
.doodle{width:min(46vw,560px);opacity:.92;}

/* misc */
.rule{height:1px;background:#000;border:0;margin:0;}
.hair{height:1px;background:var(--hair);border:0;}
.center{text-align:center;}
hr{border:0;border-top:1px solid #000;}

/* ============================================================
   TWEAKS PANEL (injected, hidden until host activates)
   ============================================================ */
.twk{position:fixed;right:18px;bottom:18px;z-index:2147483646;width:262px;
  background:#fff;color:#000;border:1px solid #000;font-family:var(--sans);
  box-shadow:0 18px 50px rgba(0,0,0,.22);display:none;}
.twk.open{display:block;}
.twk__hd{display:flex;align-items:center;justify-content:space-between;
  padding:13px 14px;border-bottom:1px solid #000;}
.twk__hd b{font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;}
.twk__x{background:none;border:0;font-size:16px;line-height:1;padding:0;color:#000;}
.twk__body{padding:16px 14px;display:flex;flex-direction:column;gap:18px;}
.twk__row{display:flex;flex-direction:column;gap:8px;}
.twk__lbl{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#444;}
.twk__seg{display:flex;border:1px solid #000;}
.twk__seg button{flex:1;background:#fff;border:0;border-right:1px solid #000;
  padding:9px 4px;font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:#000;}
.twk__seg button:last-child{border-right:0;}
.twk__seg button.on{background:#000;color:#fff;}
.twk__range{width:100%;accent-color:#000;}

/* ============================================================
   HOME / HERO
   ============================================================ */
.hero{position:relative;height:100vh;min-height:560px;width:100%;overflow:hidden;}
.hero img,.hero__video{width:100%;height:100%;object-fit:cover;}
.hero__video{display:block;background:#111;}
.hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.28),rgba(0,0,0,0) 32%,rgba(0,0,0,0) 60%,rgba(0,0,0,.32));}
.hero__foot{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);padding:0 var(--pad);
  color:#fff;display:flex;justify-content:space-between;align-items:center;gap:24px;}
.hero__tag{font-size:clamp(16px,1.75vw,32px);font-weight:500;text-transform:uppercase;letter-spacing:.005em;line-height:1.16;}
.hero__cta{display:flex;align-items:center;gap:clamp(18px,2.4vw,40px);font-size:clamp(16px,2.04vw,38px);font-weight:500;
  text-transform:uppercase;white-space:nowrap;}
.hero__cta .hero-arrow{display:block;width:clamp(58px,5.4vw,104px);}
.hero__cta .hero-arrow svg{width:100%;height:auto;display:block;}
/* Mobil: tagline centreres og fylder fuld bredde, CTA pinnes til bunden
   med 40px margin. */
@media(max-width:768px){
  .hero__foot{top:0;bottom:0;transform:none;
    flex-direction:column;align-items:center;justify-content:flex-end;
    text-align:center;gap:0;
    padding:calc(var(--header-h) + 24px) var(--pad) 40px;}
  .hero__tag{flex:1;display:flex;align-items:center;justify-content:center;
    width:100%;margin:0;font-size:clamp(14px,4.3vw,23px);}
  .hero__cta{justify-content:flex-end;width:100%;gap:14px;font-size:15px;}
  .hero__cta .hero-arrow{width:38px;}
}

/* next release countdown band */
.release{position:relative;padding:300px 0 150px;overflow:hidden;}
.release__bg,
.release img.release__bg.lazyloaded,
.release img.release__bg.lazyload{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  height:min(82vh,760px);width:auto;max-width:none;
  /* Automatisk dæmpning af det uploadede ikon — uanset om det er sort
     streg, fuld farve eller fotografi: grayscale fjerner farve, opacity
     gør det subtilt, og let blur blødgør kanterne så det opfører sig
     som baggrundsdekoration bag teksten. mix-blend-mode er fjernet:
     den fik sort-på-sort til at "låse" sig fast og ignorere opacity.
     !important fordi WP Smush Pro tilføjer .lazyloaded med inline-style
     "opacity:1; transition:opacity 400ms" der ellers vinder kaskade. */
  opacity:.1 !important;
  filter:grayscale(1) blur(.4px);
  transition:none !important;
  pointer-events:none;user-select:none;z-index:0;
}
/* Mobil: skalér baggrundslogoet så hele ikonet er synligt (pas inden for
   både bredde og højde i stedet for at beskære) OG lås det vandret center.
   top:60% skubber ikonet en anelse ned. !important fordi WP Smush Pro's
   inline-styles på .lazyloaded ellers kan forskubbe det. */
@media(max-width:768px){
  .release__bg,
  .release img.release__bg.lazyloaded,
  .release img.release__bg.lazyload{
    top:60% !important;left:50% !important;
    transform:translate(-50%,-50%) !important;
    height:auto;width:auto;max-width:86vw;max-height:58vh;
    object-fit:contain;object-position:center center;
  }
}
.release__inner{position:relative;z-index:1;width:100%;}
.release__lbl{font-weight:700;text-transform:uppercase;letter-spacing:-0.02em;line-height:.9;
  font-size:clamp(40px,8vw,116px);margin:0;white-space:nowrap;}
.release__time{font-weight:700;letter-spacing:-0.01em;line-height:.95;font-variant-numeric:tabular-nums;
  font-size:clamp(46px,9.5vw,140px);margin:.04em 0 0;white-space:nowrap;}
.fit{white-space:nowrap;display:block;}

/* section header row */
.sec-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:clamp(22px,3vw,40px);}
.sec-head h2{font-size:clamp(18px,1.8vw,24px);font-weight:700;letter-spacing:-0.01em;margin:0;text-transform:uppercase;}
.seeall{display:inline-block;font-size:clamp(15px,1.5vw,20px);text-transform:uppercase;letter-spacing:.02em;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;}
.seeall:hover{text-decoration-thickness:2px;}

/* experience card grid (home) */
.exp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2vw,30px);}
.exp-card{display:flex;flex-direction:column;}
.exp-card__img{aspect-ratio:1/1;overflow:hidden;background:#eee;}
.exp-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.exp-card:hover .exp-card__img img{transform:scale(1.04);}
.exp-card__meta{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding-top:16px;}
.exp-card__meta b{font-weight:700;font-size:15px;}
.exp-card__meta .sub{font-size:14px;color:#222;}
.exp-card__meta .arrow svg{width:40px;}

/* ============================================================
   OPLEVELSER listing (big editorial rows)
   ============================================================ */
/* big page title — højden styrer luften mellem titel og første kort:
   desktop let reduceret, medium/små skærme markant mindre. */
.opl-title{min-height:70vh;display:flex;align-items:center;}
.opl-title h1{margin:0;}
@media(max-width:1200px){
  .opl-title{min-height:48vh;}
}

/* full-height experience rows: text left, full-bleed image right */
.exp-full{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(85vh,auto);min-height:85vh;align-items:stretch;}
.exp-full__text{display:grid;grid-template-rows:auto 1fr;
  padding:40px;}
.exp-full__kicker{font-size:clamp(22px,2.9vw,44px);font-weight:400;text-transform:uppercase;
  letter-spacing:-0.01em;line-height:1.04;margin:0;}
.exp-full__lower{align-self:end;display:flex;flex-direction:column;min-width:0;}
.exp-full__name{font-family:var(--sans);font-weight:400;line-height:.9;letter-spacing:-0.03em;
  font-size:clamp(48px,8.2vw,134px);margin:0 0 clamp(20px,2.6vh,38px);}
.exp-full__foot{display:flex;align-items:center;justify-content:space-between;gap:clamp(28px,3.5vw,66px);}
.exp-full__foot p{font-size:15px;max-width:60ch;flex:1;margin:0;color:#222;line-height:1.55;}
.exp-full__foot .arrow{flex:none;}
.exp-full__foot .arrow svg{width:clamp(42px,3.4vw,64px);height:26px;}
/* alternate experience rows side-to-side */
.exp-full:nth-of-type(even) .exp-full__text{order:2;
  padding:40px;}
.exp-full:nth-of-type(even) .exp-full__media{order:1;}
.exp-full__media{position:relative;overflow:hidden;background:#ededed;}
.exp-full__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.exp-full__media .slutter{position:absolute;right:20px;bottom:20px;
  padding:12px 18px 14px;}
.exp-full__media .slutter__lbl{font-size:12px;}
.exp-full__media .slutter__time{font-size:clamp(22px,2vw,34px);}
/* Timerboksen følger billedsiden: lige kort har billedet til venstre,
   så her flyttes boksen til venstre hjørne. */
.exp-full:nth-of-type(even) .exp-full__media .slutter{right:auto;left:20px;}
@media(max-width:860px){
  .exp-full{grid-template-columns:1fr;grid-template-rows:auto;min-height:auto;}
  .exp-full__media{height:60vh;order:-1;}
  .exp-full__text{gap:24px;padding:48px var(--pad) 56px;}
  .exp-full__name{margin:100px 0 24px;}
  .opl-title{min-height:26vh;}
  /* Nulstil "hver anden"-forskydningen på mobil, så alle oplevelser aligner
     ens (billede øverst, samme tekst-padding). Desktop-reglerne for lige
     rækker har ellers højere specificitet og skubber hver anden ind. */
  .exp-full:nth-of-type(even) .exp-full__text{order:0;padding:48px var(--pad) 56px;}
  .exp-full:nth-of-type(even) .exp-full__media{order:-1;}
  .exp-full:nth-of-type(even) .exp-full__media .slutter{right:20px;left:auto;}
}

/* ============================================================
   PRODUCT DETAIL
   ============================================================ */
/* product detail: scrolling left column + sticky full-bleed media carousel right */
.pd-layout{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;}
.pd-left{padding:calc(var(--header-h) + 20px) clamp(28px,4vw,80px) clamp(60px,8vw,120px) var(--pad);}
.pd-info{min-height:calc(100vh - var(--header-h) - clamp(60px,9vh,120px));display:grid;grid-template-rows:auto 1fr;}
.pd-info__lower{align-self:end;}
.pd__kicker{font-size:clamp(22px,2.6vw,40px);font-weight:400;text-transform:uppercase;letter-spacing:-0.01em;line-height:1.05;margin:0;}
.pd__name{font-family:var(--sans);font-weight:400;line-height:.9;letter-spacing:-0.03em;font-size:clamp(40px,5.6vw,98px);margin:0 0 20px;}
.pd__price{font-size:18px;margin:0 0 20px;}
.pd__price s{color:#9a9a9a;margin-right:6px;}
/* Mobil: 150px luft mellem "over titel" (kicker) og selve titlen. */
@media(max-width:860px){
  .pd__kicker{margin-bottom:150px;}
}
/* To rækker: label i række 1, qty + knap deler række 2 med stretch — så
   qty-boksens streger altid følger knappens faktiske højde (også ved
   to-linjers knaptekst). .field "opløses" med display:contents så label
   og .qty kan placeres direkte i griddet. */
.pd__buy{display:grid;grid-template-columns:1fr auto;column-gap:28px;row-gap:9px;
  align-items:stretch;}
.pd__buy .field{display:contents;}
.pd__buy .field > label{grid-column:1;grid-row:1;align-self:end;}
.pd__buy .qty{grid-column:1;grid-row:2;}
.pd__buy form.cart{grid-column:2;grid-row:2;display:flex;}
.pd__buy form.cart .btn{width:100%;}
/* Mobil: stak til én kolonne — antal (fuld bredde) og købs-knappen nedenunder
   i sin egen række. Placeres EFTER desktop-reglerne, så den vinder (media
   queries øger ikke specificitet — kildeorden afgør). */
@media(max-width:860px){
  .pd__buy{grid-template-columns:1fr;}
  .pd__buy .field > label{grid-column:1;grid-row:1;}
  .pd__buy .qty{grid-column:1;grid-row:2;}
  .pd__buy form.cart{grid-column:1;grid-row:3;}
  /* Køb-knap på mobil: halv top/bund-padding (24px → 12px) + 25px margin i top. */
  .pd__buy form.cart .btn{padding-top:12px;padding-bottom:12px;margin-top:25px;}
}
/* min-width:0 forhindrer grid-blowout: uden den ville kolonnens
   min-content (summen af carousel-slides/billeder) kunne presse
   1fr-sporet bredere end 50% — særligt synligt når billeder lazy-loader. */
.pd-right{position:relative;min-width:0;}
.pd-carousel{position:sticky;top:0;height:100vh;overflow:hidden;background:#ededed;}
/* Touch/pen bruger browserens NATIVE vandrette scroll + scroll-snap (glat,
   momentum, GPU) — derfor touch-action:pan-x pan-y. JS-drag (initRailDrag med
   mouseOnly) er kun til mus på desktop. Tidligere JS-drag på touch satte
   scrollLeft pr. pointermove på main-thread, hvilket hakkede ved swipe. */
.pd-carousel__track{display:flex;height:100%;overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;touch-action:pan-x pan-y;overscroll-behavior-x:contain;
  cursor:grab;user-select:none;-webkit-user-select:none;}
.pd-carousel__track::-webkit-scrollbar{display:none;}
.pd-carousel__track.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto;}
.pd-carousel__slide{flex:0 0 100%;height:100%;position:relative;scroll-snap-align:start;scroll-snap-stop:always;display:flex;align-items:center;justify-content:center;}
/* Billederne dækker hele karrusel-feltet (fuld bredde + højde) med center-crop,
   så der ikke opstår grå kanter rundt om. Uploads i fx 4:5 beskæres fra midten
   for at fylde rammen helt ud. */
.pd-carousel__slide img,.pd-carousel__slide video{width:100%;height:100%;object-fit:cover;object-position:center;display:block;-webkit-user-drag:none;user-select:none;-webkit-user-select:none;pointer-events:none;}
/* Galleri-videoer fungerer som baggrund: autoplayer lydløst i loop og fylder
   hele feltet (cover via standardreglen ovenfor), uden kontroller. */
.pd-carousel .slutter{position:absolute;right:clamp(16px,1.7vw,38px);bottom:clamp(16px,1.7vw,38px);padding:12px 18px 14px;z-index:3;}
.pd-carousel .slutter__lbl{font-size:12px;}
.pd-carousel .slutter__time{font-size:clamp(22px,2vw,34px);}
.pd-carousel__dots{position:absolute;left:clamp(16px,1.7vw,38px);bottom:clamp(20px,2vw,42px);display:flex;gap:10px;z-index:3;}
.pd-carousel__dots button{width:9px;height:9px;border-radius:50%;border:1.4px solid #fff;background:transparent;padding:0;cursor:pointer;transition:background .2s;}
.pd-carousel__dots button.on{background:#fff;}
.pd-carousel__play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:clamp(64px,5vw,92px);height:clamp(64px,5vw,92px);border-radius:50%;border:0;background:rgba(0,0,0,.42);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;transition:background .2s;}
.pd-carousel__play:hover{background:rgba(0,0,0,.6);}
.pd-carousel__play svg{width:38%;height:38%;fill:#fff;margin-left:8%;}
.pd-sections{padding-top:clamp(40px,6vw,90px);max-width:680px;}
.pd-sec{padding:28px 0 6px;}
.pd-sec h4{font-size:15px;font-weight:400;margin:0 0 18px;padding-bottom:10px;border-bottom:1px solid #000;}
.pd-sec p,.pd-sec li{font-size:14px;color:#222;}
.pd-sec ul{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:4px;}
.pd-lede{font-size:15px;color:#000;max-width:60ch;}
@media(max-width:860px){
  .pd-layout{grid-template-columns:1fr;}
  .pd-right{order:-1;}
  .pd-carousel{position:relative;height:64vh;}
  .pd-info{min-height:0;display:block;}
  .pd-left{padding:40px var(--pad) 64px;}
}

/* ============================================================
   OM EATER — genbruger pd-layout, men eget låst billede
   ============================================================ */
.om-page .pd-left{display:flex;align-items:flex-start;}
.om-content{max-width:60ch;}
.om-media{position:sticky;top:0;height:100vh;overflow:hidden;background:#ededed;}
.om-media img{width:100%;height:100%;object-fit:cover;display:block;}
@media(max-width:860px){
  .om-media{position:relative;height:56vh;}
}

/* ============================================================
   PAGE TITLE pages (terms, faq, kontakt)
   ============================================================ */
.titleblock{padding-bottom:clamp(20px,3vw,40px);}
.prose{max-width:64ch;font-size:14.5px;color:#1c1c1c;}
.prose h3{font-size:15px;font-weight:400;margin:34px 0 14px;padding-bottom:8px;border-bottom:1px solid #000;}
.cols-2{column-count:1;max-width:68ch;}

/* FAQ accordion */
.accordion{border-top:1px solid #000;margin-top:clamp(40px,7vw,90px);}
.acc-item{border-bottom:1px solid #000;}
.acc-head{display:grid;grid-template-columns:64px 1fr 52px;align-items:center;gap:20px;
  width:100%;background:none;border:0;padding:26px 0;text-align:left;color:#000;}
.acc-head .num{font-size:15px;}
.acc-head .q{font-size:clamp(15px,1.5vw,19px);text-transform:uppercase;letter-spacing:.01em;}
.acc-head .chev{justify-self:end;transition:transform .25s ease;}
.acc-head .chev svg{width:34px;height:34px;}
.acc-item.open .acc-head .chev{transform:rotate(180deg);}
.acc-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease;}
.acc-body > div{overflow:hidden;}
.acc-item.open .acc-body{grid-template-rows:1fr;}
.acc-body p{padding:0 0 28px clamp(0px,calc(64px + 20px),84px);max-width:60ch;font-size:14px;color:#333;margin:0;}

/* KONTAKT */
/* Optisk venstrejustering: glyffen "K" i den fede skrift har ~0.069em venstre
   side-bearing, så den store H1's synlige venstre kant ellers rykker ind ift.
   kolonnerne nedenunder. Negativ margin i em skalerer med fitText-størrelsen og
   holder kanten ens på alle breakpoints. */
.app-main--lowered h1.wp-block-heading{margin-left:-0.069em;}
.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;font-size:12px;
  text-transform:uppercase;letter-spacing:.04em;line-height:1.7;}
.contact-hero{display:flex;align-items:center;justify-content:space-between;gap:40px;
  padding:clamp(30px,6vw,90px) 0;}
.faq-jump{display:flex;align-items:center;gap:24px;font-weight:700;text-transform:uppercase;
  font-size:clamp(40px,8vw,120px);letter-spacing:-0.03em;}
.faq-jump .arrow svg{width:60px;}

/* OM hero image */
.om-hero{width:100%;height:clamp(280px,46vw,620px);object-fit:cover;margin-bottom:clamp(34px,5vw,64px);}

/* ============================================================
   CART / CHECKOUT / CONFIRM
   ============================================================ */
.cart-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(18px,2vw,28px);align-items:start;max-width:1100px;margin:0 auto;}
.cart-line{border:1px solid #000;padding:clamp(22px,2.5vw,40px);display:grid;
  grid-template-columns:1fr auto auto auto;gap:24px;align-items:center;font-size:14px;}
.cart-actions{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;}
.sum-rows{display:flex;flex-direction:column;gap:6px;font-size:14px;}
.sum-rows .row{display:flex;justify-content:space-between;gap:20px;}
.muted{color:var(--muted);}

/* Default stretch-alignment giver begge kolonner samme højde (den højeste
   bestemmer). Højre kolonne er en wrapper-div, så panelet indeni skal
   selv strækkes via flex. */
.checkout-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2vw,28px);}
.checkout-grid > div{display:flex;flex-direction:column;}
.checkout-grid > div > .panel{flex:1 1 auto;}
.form-2{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.form-2 .full{grid-column:1/-1;}
/* WooCommerce form-row klasser i 2-kolonne griddet. form-row-first lægger
   feltet i venstre kolonne (efterlader højre tom hvis næste felt er wide),
   form-row-last lægger i højre kolonne, form-row-wide spænder begge. */
.form-2 .form-row-first{grid-column:1;}
.form-2 .form-row-last{grid-column:2;}
.form-2 .form-row-wide{grid-column:1/-1;}

/* Nyhedsbrev-checkbox: lille tekst, checkbox til venstre, label trækker
   layoutet kun så meget plads den behøver. */
.form-2 .eater-field--consent{margin-top:8px;}
/* Ekstra .form-row i selectoren løfter specificiteten over den generiske
   ".woocommerce form .form-row label"-regel (uppercase) længere nede. */
.form-2 .form-row.eater-field--consent label{display:flex;gap:12px;align-items:flex-start;
  font-size:13px;text-transform:none;letter-spacing:0;font-weight:400;line-height:1.5;cursor:pointer;}
.form-2 .eater-field--consent input[type="checkbox"]{margin-top:2px;flex:none;
  width:18px;height:18px;accent-color:#000;cursor:pointer;}
.form-2 .eater-field--consent .optional{display:none;}

/* Notice OVER de låste stamfelter — fortæller at navn/e-mail/postnummer
   kun kan ændres under "Min konto > Kontoinformationer". */
.eater-locked-notice{font-size:13px;color:var(--muted);margin:0 0 18px;line-height:1.5;}
.eater-locked-notice a{color:inherit;text-decoration:underline;}
.eater-locked-notice a:hover{text-decoration:none;}

/* Låste konto-stamfelter på checkout (navn, efternavn, e-mail, postnummer)
   — utydelige så det er klart at de ikke kan redigeres her. */
.eater-field--locked input[readonly]{
  opacity:.42;
  background:transparent;
  border-color:#cfc9c0;
  color:#000;
  cursor:not-allowed;
}
.eater-field--locked input[readonly]:focus{
  outline:none;
  border-color:#cfc9c0;
  box-shadow:none;
}
.eater-field--locked label{opacity:.55;}
/* WC viser nogle gange description-spans efter feltet — skjul evt. rester. */
.eater-field--locked .description{display:none;}
.pay-box{border:1px solid #000;height:120px;display:flex;align-items:center;justify-content:center;
  font-size:14px;letter-spacing:.08em;text-transform:uppercase;margin:26px 0;}

.confirm-meta{display:grid;grid-template-columns:repeat(5,auto);gap:clamp(20px,4vw,60px);justify-content:start;
  margin:clamp(24px,4vw,48px) 0;font-size:13px;}
.confirm-meta dt{text-transform:uppercase;letter-spacing:.04em;color:#555;margin-bottom:8px;}
.confirm-meta dd{margin:0;font-weight:700;}
.bill-box{border:1px dashed #999;padding:22px;max-width:440px;font-size:13px;line-height:1.7;}

/* receipt */
.receipt{max-width:720px;margin:0 auto;}
.receipt__note{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:#444;margin:10px 0 30px;}
.receipt h2{text-align:center;font-size:16px;font-weight:400;letter-spacing:.04em;text-transform:uppercase;margin:0 0 24px;padding-bottom:16px;border-bottom:1px solid #000;}

@media(max-width:860px){
  .exp-grid{grid-template-columns:1fr;}
  .exp-row,.exp-row:nth-child(even){grid-template-columns:1fr;}
  .exp-row:nth-child(even) .exp-row__text{order:0;}
  .pd,.cart-grid,.checkout-grid{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr 1fr;}
  .confirm-meta{grid-template-columns:1fr 1fr;}
  :root{--header-h:68px;}
  .hdr-right{gap:14px;}
  .footer-cols{grid-template-columns:1fr;gap:30px;}
  .footer-bottom{grid-template-columns:1fr;align-items:start;}
  .footer-meta{justify-content:space-between;width:100%;}
}

/* ============================================================
   WORDPRESS ADDITIONS
   ============================================================ */

/* ---------- Akzidenz-Grotesk webfonts ---------- */
@font-face {
  font-family: "AkzidenzGrotesk";
  src: url('../fonts/AkzidenzGrotesk-Light.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "AkzidenzGrotesk";
  src: url('../fonts/AkzidenzGrotesk-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "AkzidenzGrotesk";
  src: url('../fonts/AkzidenzGrotesk-Italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "AkzidenzGrotesk";
  src: url('../fonts/AkzidenzGrotesk-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "AkzidenzGrotesk";
  src: url('../fonts/Akzidenz-grotesk-black.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* ---------- Admin bar offset for fixed header ---------- */
/* Offset both the fixed header AND the menu overlay so the "Luk" button
   lines up with the "Menu" button when the admin bar is present. */
body.admin-bar .site-header { top: 32px; }
body.admin-bar .menu-overlay { top: 32px; }
@media screen and (max-width: 782px) {
  body.admin-bar .site-header { top: 46px; }
  body.admin-bar .menu-overlay { top: 46px; }
}
/* Ved ≤600px gør WordPress admin-baren position:absolute på frontend, så den
   scroller væk med siden. Derfor må den fixed header IKKE beholde 46px offset
   (det giver et permanent hul i toppen når man scroller) — sæt top:0.
   Admin-baren har z-index:99999 og ville ellers dække MENU-knappen i toppen;
   vi løfter derfor headeren (og menu-overlayet) over admin-baren, så menuen
   altid er synlig og klikbar uden hul i toppen. */
@media screen and (max-width: 600px) {
  body.admin-bar .site-header { top: 0; z-index: 100000; }
  body.admin-bar .menu-overlay { top: 0; z-index: 100001; }
}

/* ---------- Site main (header is fixed, no extra padding needed globally) ---------- */
/* Bemærk: `.site-main { padding-top: 0 }` ville ellers vinde over `.pad-top`
 * pga. CSS-rækkefølge. Vi bruger en mere specifik selector så `.pad-top`
 * (linje 42) stadig virker på `<main class="site-main pad-top">` (page.php, 404.php). */
.site-main:not(.pad-top) { padding-top: 0; }

/* ---------- Smooth scroll ---------- */
html { scroll-behavior: smooth; }

/* ---------- Carousel home-new styles (supplementary) ---------- */
.home-new{display:flex;align-items:flex-start;gap:clamp(18px,2.4vw,46px);
  padding:clamp(50px,8vw,120px) 0 clamp(40px,6vw,90px);overflow:hidden;}
.home-new__rail{flex:0 0 auto;width:clamp(150px,19vw,290px);padding-left:var(--pad);
  display:flex;flex-direction:column;justify-content:space-between;
  min-height:calc(clamp(248px,23vw,440px) * 4 / 3);}
/* line-height:1 fjerner ~0.25em "leading" over teksten; negativ margin-top
   trimmer den resterende font-interne ascender-padding så cap-height
   flugter med toppen af billed-kortene ved siden af. */
.home-new__rail h2{font-size:clamp(18px,1.8vw,24px);font-weight:700;text-transform:uppercase;margin:-0.09em 0 0;letter-spacing:-0.01em;line-height:1;}
.carousel{flex:1 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;
  /* touch-action:pan-x pan-y → touch bruger browserens egen vandrette scroll
     (mest pålidelig på finger, især på <a>-kort), mens lodret side-scroll
     bevares. JS-drag (initRailDrag) er kun til mus på desktop.
     overscroll-behavior-x:contain stopper kæde-scroll/iOS "swipe-back". */
  touch-action:pan-x pan-y;overscroll-behavior-x:contain;cursor:grab;}
.carousel.is-dragging{cursor:grabbing;scroll-behavior:auto;user-select:none;-webkit-user-select:none;}
.carousel.is-dragging a{pointer-events:none;}
.carousel::-webkit-scrollbar{display:none;}
.carousel__track{display:flex;width:max-content;}
.ncard{flex:0 0 clamp(248px,23vw,440px);margin-right:clamp(14px,1.6vw,30px);}
.ncard__img{aspect-ratio:3/4;overflow:hidden;background:#ededed;}
.ncard__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
/* Hover-zoom KUN på enheder med rigtig hover (mus). Uden denne gate
   trigger et tap på touch :hover og "zoomer" billedet i stedet for at
   lade fingeren swipe karrusellen. */
@media (hover:hover){
  .ncard:hover .ncard__img img{transform:scale(1.035);}
}
.ncard__meta{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:16px;}
.ncard__txt{font-size:clamp(13px,1vw,15px);color:#111;line-height:1.45;}
.ncard__txt b{font-weight:700;}
.ncard__meta .arrow svg{width:clamp(42px,3.6vw,64px);}
@media(max-width:860px){
  .home-new{flex-direction:column;gap:24px;padding-inline:var(--pad);}
  .home-new__rail{flex-direction:row;justify-content:space-between;align-items:center;width:100%;min-height:0;padding-left:0;gap:16px;}
  .home-new__rail .seeall{flex:none;white-space:nowrap;}
  /* I kolonne-layout har .home-new align-items:flex-start, så .carousel
     ellers shrink-wrapper til sin egen max-content track-bredde → ingen
     vandret overflow → intet at scrolle/swipe. width:100% giver containeren
     en fast bredde = forælderens, så .carousel__track bliver bredere og
     overflow-x:auto aktiverer native vandret touch-scroll. */
  .carousel{width:100%;align-self:stretch;}
  .ncard{flex-basis:74vw;}
}

/* ---------- qty-btn styles (single event) ---------- */
.qty-btn {
  background: none;
  border: 0;
  color: #9a9a9a;
  font-size: 15px;
  line-height: 1;
  font-family: inherit;
  padding: 0;
  cursor: pointer;
  transition: color .15s ease;
}
.qty-btn.on { color: #000; font-weight: 700; }
.qty-btn:hover { color: #000; }
/* "+"/"−"-knapper skifter mellem batches af tal i kvantitets-vælgeren.
   Sorte (vs. dæmpede tal-knapper) så de tydeligt ses som handlings-
   knapper, ikke som valgmuligheder. */
.qty-btn--more,
.qty-btn--less { font-weight: 500; color: #000; }
.qty-btn--more:hover,
.qty-btn--less:hover { color: #000; opacity: .65; }

/* ---------- Hero placeholder ---------- */
.hero__placeholder { width: 100%; height: 100%; background: #111; }

/* ---------- WooCommerce overrides matching kurv/betaling/profil designs ---------- */

/* Cart: match kurv.html layout */
.woocommerce-cart .app-main,
.woocommerce-checkout .app-main { padding-top: calc(var(--header-h) + clamp(28px,5vw,64px)); padding-bottom: 80px; }

/* Ordre modtaget (tak-side): kvitterings-wrapper skal rydde den fixed header. */
.woocommerce-order-received .conf { max-width:720px; margin-inline:auto; padding-inline:var(--pad); padding-top: calc(var(--header-h) + clamp(28px,5vw,64px)); padding-bottom: 80px; }
/* Tak-sidens intro-linjer flugter med kvitterings-kolonnen (samme 720px). */
.woocommerce-order-received .conf .lede,
.woocommerce-order-received .conf .obs { max-width:720px; margin-inline:auto; }

/* Bekræftelses-siden: alle intro-tekster i toppen skal være ens størrelse og
   font (gælder kun tak-siden, ikke konto-kvitteringen). */
.woocommerce-order-received .conf .lede,
.woocommerce-order-received .conf .obs,
.woocommerce-order-received .conf .conf-ordre,
.woocommerce-order-received .conf .receipt__note{
  font-family:var(--sans);
  font-size:16px;
  font-weight:400;
  line-height:1.5;
  letter-spacing:normal;
  text-transform:none;
  color:var(--ink);
}

/* Tom kurv (også når kasse-siden redirecter pga. tom kurv) */
.cart-empty-state .wc-empty-cart-message,
.cart-empty-state .cart-empty,
.cart-empty-state .return-to-shop { background: none; border: 0; padding: 0; margin: 0 0 24px; color: var(--muted); }
.cart-empty-state .cart-empty { font-size: 18px; text-transform: uppercase; letter-spacing: .06em; }
.cart-empty-state .return-to-shop { display: none; } /* Vi viser vores egen "Se oplevelser"-knap */

.kurv-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: clamp(14px,1.4vw,20px);
  max-width: 1120px;
  margin: clamp(20px,5vw,70px) auto 0;
}
.kurv-grid .line {
  grid-column: 1/3;
  border: 1px solid #000;
  padding: clamp(26px,3vw,46px);
  font-size: 14px;
}
.kurv-grid .line__head,
.kurv-grid .line__row {
  display: grid;
  grid-template-columns: 1fr 130px 90px 130px;
  gap: clamp(12px,2vw,28px);
  align-items: center;
}
.kurv-grid .line__head {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #666;
  padding-bottom: 16px;
  margin-bottom: 20px;
  border-bottom: 1px solid #ddd;
}
.kurv-grid .line__head span + span,
.kurv-grid .line__row span + span { text-align: right; }
.kurv-grid .summary {
  grid-column: 3/4;
  grid-row: 1/2;
  border: 1px solid #000;
  padding: clamp(22px,2.4vw,34px);
}
.kurv-grid .summary h3 {
  font-size: clamp(18px,1.8vw,24px);
  font-weight: 700;
  margin: 0 0 22px;
  text-transform: uppercase;
}
.kurv-grid .b1 { grid-column: 1/2; }
.kurv-grid .b2 { grid-column: 2/3; }
.kurv-grid .b3 { grid-column: 3/4; }
.kurv-grid .qty-input {
  width: 70px;
  border: 1px solid var(--field-border);
  padding: 8px 10px;
  font: inherit;
  text-align: center;
  background: #fff;
}

/* Checkout: match betaling.html */
.pay-wrap { max-width: 1120px; margin: clamp(16px,4vw,48px) auto 0; }
.order-table .order-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 24px;
  font-size: 14px;
  padding: 8px 0;
}
.order-table .order-head {
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: 12px;
  color: #555;
}
.order-total {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #000;
}
.order-total b { font-size: 16px; }

/* WooCommerce payment + place-order button (rendered by WC inside #order_review) */
#payment { margin-top: clamp(20px,3vw,32px); }
#payment .wc_payment_methods { list-style: none; margin: 0 0 18px; padding: 0; display: flex; flex-direction: column; gap: 10px; }
#payment .wc_payment_methods li { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 14px; }
#payment .payment_box { flex: 1 0 100%; font-size: 12px; color: var(--muted); margin: 4px 0 0; }
#payment .woocommerce-terms-and-conditions-wrapper { font-size: 12px; color: #555; line-height: 1.5; margin: 0 0 14px; }
/* Place-order button = eater .btn--solid .btn--lg .btn--block (høj specificitet
   så den slår WC/.button.alt-reglerne i samme stylesheet). */
.woocommerce #payment #place_order,
.woocommerce-checkout #payment #place_order {
  display: block; width: 100%; float: none;
  border: 1px solid var(--ink);
  background: var(--ink); color: var(--paper);
  font-family: var(--sans); font-size: 15px; font-weight: 700; line-height: 1;
  text-transform: uppercase; letter-spacing: .06em; text-align: center;
  padding: 24px 32px; border-radius: 0; margin-top: 16px;
  cursor: pointer; transition: background .18s ease, color .18s ease;
}
.woocommerce #payment #place_order:hover,
.woocommerce-checkout #payment #place_order:hover { background: #fff; color: #000; }

/* Account/vouchers: match profil-vouchers.html */
.vtable { margin-bottom: clamp(40px,6vw,72px); }
.vtable h2 {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-weight: 400;
  margin: 0 0 20px;
  color: #222;
}
.vrow {
  display: grid;
  grid-template-columns: 1.1fr 1.4fr 1fr 1fr clamp(160px,24vw,300px);
  gap: clamp(16px,2vw,34px);
  align-items: center;
  padding: 18px 0;
  border-top: 1px dashed var(--hair);
  font-size: 13px;
}
.vrow:last-child { border-bottom: 1px dashed var(--hair); }
.vrow.head {
  border: 0;
  padding: 0 0 6px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #555;
}
.vrow .acts { display: flex; gap: 12px; justify-self: end; }
.vrow .acts .btn { padding: 11px 16px; font-size: 11px; }
.vrow .status { color: #888; }
@media(max-width:820px) {
  .vrow { grid-template-columns: 1fr 1fr; gap: 6px 16px; }
  .vrow .acts { grid-column: 1/-1; justify-self: start; margin-top: 8px; }
  .vrow.head { display: none; }
}

/* Account/vouchers: ordrer der afventer betaling */
.vpending__intro {
  font-size: 14px;
  color: var(--muted);
  margin: 0 0 14px;
  max-width: 70ch;
  line-height: 1.5;
}
.vpending {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(16px,2vw,34px);
  padding: 18px 0;
  border-top: 1px dashed var(--hair);
  font-size: 13px;
}
.vpending:last-child { border-bottom: 1px dashed var(--hair); }
.vpending__info { display: flex; flex-direction: column; gap: 4px; }
.vpending__order { font-weight: 700; }
.vpending__date { color: #888; }
.vpending__products { color: #555; }
.vpending__pay { padding: 11px 16px; font-size: 11px; white-space: nowrap; }
@media(max-width:820px) {
  .vpending { flex-direction: column; align-items: flex-start; }
  .vpending__pay { margin-top: 8px; }
}

/* BilletManager mine-billetter table */
.bm-tickets-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.bm-tickets-table th {
  text-transform: uppercase;
  letter-spacing: .05em;
  font-size: 11px;
  font-weight: 400;
  color: #555;
  padding: 0 0 10px;
  text-align: left;
  border-bottom: 1px dashed var(--hair);
}
.bm-tickets-table td {
  padding: 16px 0;
  border-bottom: 1px dashed var(--hair);
  vertical-align: top;
}
.bm-tickets-table tr:last-child td { border-bottom: 0; }

/* WooCommerce form fields override */
.woocommerce form .form-row .input-text,
.woocommerce form .form-row input[type="text"],
.woocommerce form .form-row input[type="email"],
.woocommerce form .form-row input[type="tel"],
.woocommerce form .form-row input[type="password"],
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  border: 1px solid var(--field-border);
  background: #fff;
  color: #000;
  font-family: var(--sans);
  font-size: 15px;
  padding: 14px 15px;
  border-radius: 0;
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
}
.woocommerce form .form-row .input-text:focus,
.woocommerce form .form-row input:focus {
  outline: 2px solid #000;
  outline-offset: -2px;
  box-shadow: none;
}
.woocommerce form .form-row label {
  font-size: 12px;
  text-transform: none;
  letter-spacing: 0;
}

/* WooCommerce buttons */
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--ink);
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .07em;
  font-weight: 500;
  padding: 18px 26px;
  border-radius: 0;
  transition: background .18s ease, color .18s ease;
  cursor: pointer;
}
.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
  background: var(--ink);
  color: var(--paper);
}
.woocommerce .button.alt,
.woocommerce button.button.alt,
.woocommerce #payment #place_order {
  background: var(--ink);
  color: var(--paper);
}
.woocommerce .button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce #payment #place_order:hover {
  background: #fff;
  color: #000;
}

/* WooCommerce notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  padding: 14px 18px;
  margin: 0 0 20px;
  border-left: 4px solid var(--ink);
  font-size: 13px;
  background: #f9f9f9;
  list-style: none;
}
.woocommerce-error { border-color: #c00; }

/* Skjul "lagt i kurven"-bekræftelsen overalt (success-notice med Se kurv-knap). */
.woocommerce-message:has(a.wc-forward) { display: none !important; }
.woocommerce-notices-wrapper:has(> .woocommerce-message a.wc-forward) { display: none !important; }

/* Account navigation subnav */
.woocommerce-MyAccount-navigation ul {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 36px;
  margin: 0 0 clamp(34px,5vw,64px);
  padding: 0;
  list-style: none;
}
.woocommerce-MyAccount-navigation ul li a {
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 400;
  color: #555;
  padding-bottom: 3px;
  /* Hvert menupunkt holdes på én linje; selve menuen wrapper i stedet. */
  white-space: nowrap;
}
@media(max-width:860px){
  .woocommerce-MyAccount-navigation ul{gap:12px 22px;}
}
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover {
  font-weight: 700;
  color: #000;
  border-bottom: 2px solid #000;
}

/* Remove default WooCommerce star ratings on non-shop pages */
.woocommerce .star-rating { display: none; }

@media(max-width:760px) {
  .kurv-grid { grid-template-columns: 1fr; }
  .kurv-grid .line,
  .kurv-grid .summary,
  .kurv-grid .b1,
  .kurv-grid .b2,
  .kurv-grid .b3 { grid-column: 1/-1; }
  .kurv-grid .line__head { display: none; }
  .kurv-grid .line__row { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px 18px; }
}

/* ============================================================
   PAGE-SPECIFIC (ported from the eatersite design)
   ============================================================ */

/* Login (also usable for the WooCommerce account form) */
.login-wrap{min-height:calc(100vh - var(--header-h));display:flex;align-items:center;justify-content:center;padding:80px var(--pad);}
.login{width:100%;max-width:400px;}
.login h1{font-family:var(--sans);font-weight:400;font-size:48px;margin:0 0 30px;}
.login .field{margin-bottom:20px;}
.login .links{display:flex;justify-content:space-between;font-size:12px;margin-top:18px;text-transform:uppercase;letter-spacing:.04em;}
/* Ren login som i designet: register-formen åbnes først via "Opret konto" (#register) */
.login-wrap .register{display:none;}
.login-wrap .register:target{display:block;}

/* Om Eater */
.om-text{max-width:78ch;font-size:clamp(15px,1.4vw,18px);line-height:1.6;}
.om-text p{margin:0 0 1.5em;}

/* Profil */
.profile-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,80px);align-items:start;}
.pform{max-width:520px;}
.pform .two{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:22px;}
.pform .stack{display:flex;flex-direction:column;gap:22px;margin:22px 0;}
.doodle-col{display:flex;justify-content:center;padding-top:10px;}
@media(max-width:860px){.profile-grid{grid-template-columns:1fr;}.doodle-col{order:-1;justify-content:flex-start;}}

/* Profil — ordre */
.orow{display:grid;grid-template-columns:100px 170px 90px 140px 1fr;gap:clamp(16px,2vw,32px);align-items:center;text-align:left;
  padding:20px 0;border-top:1px dashed var(--hair);font-size:13px;}
.orow > *{text-align:left;}
.orow:last-child{border-bottom:1px dashed var(--hair);}
.orow.head{border:0;padding:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#555;}
.orow .btn{justify-self:end;padding:11px 16px;font-size:11px;}
.orow b{font-weight:700;}
@media(max-width:820px){.orow{grid-template-columns:1fr 1fr;gap:6px 16px;}.orow .btn{grid-column:1/-1;justify-self:start;margin-top:8px;}.orow.head{display:none;}}

/* Kvittering */
.kv-row{display:grid;grid-template-columns:1.3fr 1.3fr .8fr .6fr .8fr;gap:18px;font-size:13px;}
.kv-row.head{text-transform:uppercase;letter-spacing:.03em;color:#000;}
.kv-row.head span{padding-bottom:12px;border-bottom:1px solid #000;}
.kv-row.item{padding:22px 0;align-items:start;}
.kv-total{display:flex;justify-content:space-between;align-items:center;gap:24px;
  margin-top:26px;padding:18px 0;border-top:1px solid #000;border-bottom:1px solid #000;font-size:13px;text-transform:uppercase;letter-spacing:.03em;}
.kv-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-top:34px;}
.kv-foot .org{font-size:12px;line-height:1.6;text-transform:uppercase;letter-spacing:.03em;}
/* Mobil: kvitterings-tabellen bliver til "kort", hvor hver værdi får sin
   label ved siden af, så det er let at læse uden kolonneoverskrifter. */
@media(max-width:760px){
  .kv-row.head{display:none;}
  .kv-row.item{
    display:block;
    padding:18px 0;
    border-bottom:1px solid #e5e5e5;
  }
  /* Oplevelses-navnet vises som korttitel uden label, i fuld bredde. */
  .kv-row.item span:first-child{
    display:block;
    font-size:15px;
    font-weight:700;
    margin-bottom:8px;
  }
  /* Hver værdi-linje: label til venstre (1fr), værdi til højre (auto). */
  .kv-row.item span:not(:first-child){
    display:grid;
    grid-template-columns:1fr auto;
    align-items:baseline;
    column-gap:18px;
    padding:5px 0;
  }
  .kv-row.item span:not(:first-child)::before{
    content:attr(data-label);
    text-transform:uppercase;
    letter-spacing:.03em;
    color:#777;
  }
  .kv-row.item span:not(:first-child) > *{justify-self:end;text-align:right;}
  /* Beløb må aldrig ombryde midt i tallet (tving igennem på alle børn). */
  .kv-row.item .woocommerce-Price-amount,
  .kv-row.item .woocommerce-Price-amount *,
  .kv-total .woocommerce-Price-amount,
  .kv-total .woocommerce-Price-amount *{
    white-space:nowrap !important;
    display:inline !important;
  }

  /* Opsummering: tekst og beløb på hver sin linje i fuld bredde. */
  .kv-total{display:block;}
  .kv-total span{display:block;width:100%;}
  .kv-total span + span{margin-top:6px;}
}

/* Ordrebekræftelse */
.info-table{margin-top:8px;}
.info-table h3{font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;margin:clamp(20px,3vw,32px) 0 14px;}
.info-table .row{display:grid;grid-template-columns:1fr auto;gap:24px;padding:13px 0;border-top:1px solid #000;font-size:14px;}
.info-table .row.head{border:0;padding-bottom:6px;color:#555;text-transform:uppercase;font-size:12px;letter-spacing:.04em;}
.info-table .row b{font-weight:700;}

/* Handelsbetingelser */
.terms-intro{max-width:60ch;font-size:14.5px;color:#1c1c1c;margin:clamp(20px,3vw,40px) 0 clamp(34px,5vw,64px);}
.num-sec{break-inside:avoid;margin-bottom:34px;max-width:68ch;}
.num-sec h3{font-size:14px;font-weight:400;margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid #000;}
.num-sec p{font-size:13.5px;color:#2a2a2a;margin:0 0 12px;}

/* Tidligere oplevelser */
.tid-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(30px,3.4vw,60px) clamp(18px,2vw,32px);
  margin-top:clamp(40px,5vw,80px);}
.tid-grid .exp-card__img{aspect-ratio:4/5;}
.tid-grid .exp-card__img img{filter:grayscale(1);transition:filter .55s ease,transform .6s ease;}
.tid-grid .exp-card:hover .exp-card__img img{filter:grayscale(0);}
.tid-grid .exp-card__meta{align-items:center;padding-top:18px;}
.tid-grid .exp-card__meta b{font-size:clamp(15px,1.15vw,18px);}
.tid-grid .exp-card__meta .sub{font-size:clamp(13px,1vw,15px);color:#222;}
.exp-card--archived{cursor:default;}
.exp-card--archived:hover .exp-card__img img{transform:none;filter:grayscale(1);}
.tid-pager{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:clamp(40px,5vw,72px);padding-top:32px;border-top:1px solid #e6e6e6;}
.tid-pager .page-numbers{display:inline-block;padding:8px 14px;font-family:var(--sans);font-size:14px;color:#1c1c1c;text-decoration:none;border:1px solid transparent;transition:border-color .2s ease,background .2s ease;}
.tid-pager .page-numbers:hover{border-color:#1c1c1c;}
.tid-pager .page-numbers.current{border-color:#1c1c1c;background:#1c1c1c;color:#fff;cursor:default;}
.tid-pager .page-numbers.dots{border:none;cursor:default;color:#888;}
.tid-grid .arrow svg{width:clamp(40px,3.2vw,58px);}
@media(max-width:860px){.tid-grid{grid-template-columns:1fr;}
  /* Ingen hover på touch — det "aktive" kort (nærmest skærmens midte) får
     samme farve-effekt som desktop-hover, styret af scroll-position via JS. */
  .tid-grid .exp-card.is-active .exp-card__img img{filter:grayscale(0);transform:scale(1.04);}
  /* Arkiverede kort matcher deres desktop-hover (forbliver gråtonede). */
  .tid-grid .exp-card--archived.is-active .exp-card__img img{filter:grayscale(1);transform:none;}}
@media(prefers-reduced-motion:reduce){.tid-grid .exp-card.is-active .exp-card__img img{transform:none;}}

/* Kontakt — FAQ jump arrow */
.faq-jump .faq-arr{display:inline-flex;align-items:center;}
.faq-jump .faq-arr svg{width:clamp(34px,3vw,54px);height:auto;display:block;transition:transform .4s cubic-bezier(.22,1,.36,1);}
.faq-jump:hover .faq-arr svg{transform:translateX(10px);}

/* ============================================================
   CUSTOM BLOCK helpers (faq / terms-section auto-numbering, om styles)
   ============================================================ */
/* FAQ underoverskrift over accordionen — sidder tæt over første streg */
.faq__label{margin-top:clamp(40px,7vw,90px);color:var(--muted);}
.faq__label + .accordion{margin-top:clamp(10px,1.2vw,16px);}

/* FAQ-accordion: nummerér punkter automatisk (/01, /02 …) */
.accordion{counter-reset:faq;}
.acc-item{counter-increment:faq;}
.acc-head .num::before{content:"/" counter(faq, decimal-leading-zero);}

/* Vilkår-sektioner: fortløbende nummerering på tværs af siden */
.app-main{counter-reset:numsec;}
.num-sec{counter-increment:numsec;}
.num-sec h3::before{content:"/" counter(numsec, decimal-leading-zero) "\00a0";}

/* Om-side block-styles (kerne-blokke) */
.wp-block-image.is-style-om-hero{margin:0 0 clamp(34px,5vw,64px);}
.wp-block-image.is-style-om-hero img{width:100%;height:clamp(280px,46vw,620px);object-fit:cover;display:block;}
.is-style-om-text{max-width:78ch;font-size:clamp(15px,1.4vw,18px);line-height:1.6;}
.is-style-om-text p{margin:0 0 1.5em;}

/* Heading: "Mega" display-style.
   Alle H1 block-headings får automatisk mega-styling (side-titler).
   Block-style "Mega" kan også vælges manuelt på H2/H3 (fx underafsnit som "Persondata"). */
h1.wp-block-heading,
.wp-block-heading.is-style-mega{
  font-family:var(--sans);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:-0.035em;
  line-height:0.9;
  font-size:calc(clamp(48px,12.5vw,184px) * var(--tscale,1));
  margin:0;
}

/* Heading: "Stor (100px)" display-style — tredje valgbare overskrifts-størrelse.
   Responsiv clamp der lander på ~100px på desktop. To-klasse-selektoren overstyrer
   bevidst h1.wp-block-heading-mega-reglen, så også H1 kan vælge denne størrelse.
   Skaleres IKKE af fitText() (jf. theme.js), så 100px respekteres. */
.wp-block-heading.is-style-large-100{
  font-family:var(--sans);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:-0.035em;
  line-height:0.9;
  font-size:clamp(40px,8vw,100px);
  margin:0;
}

/* Handelsbetingelser: KUN H1 og H2 får mega-stil (samme størrelse).
   fitText() skalerer dem så de fylder bredden. H3-sektioner bevares små. */
.app-main--terms :is(h1,h2){
  font-family:var(--sans);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:-0.035em;
  line-height:0.9;
  font-size:calc(clamp(48px,12.5vw,184px) * var(--tscale,1));
  margin:0 0 .12em;
}

/* Intro-tekst (smal prose) — group/paragraph block-style for info-sider */
.is-style-intro{max-width:64ch;font-size:14.5px;color:#1c1c1c;margin-top:clamp(20px,3vw,38px);}
.is-style-intro p{margin:0 0 1.15em;}
.is-style-intro p:last-child{margin-bottom:0;}

/* ============================================================
   Cross-document View Transitions (Chrome/Edge/Safari)
   ============================================================
   Blød crossfade mellem sider når man navigerer i temaet.
   Hele siden — inkl. headeren — crossfader sammen i ét lag, så
   overgangen mellem fx kurv-headeren (hvid baggrund) og forside-
   headeren (transparent over video) sker som én blød overblanding.
   Headeren er `position: fixed`, så den BEVÆGER sig ikke under
   transitionen — kun farverne smelter sammen.
   Wrappet i prefers-reduced-motion så vi respekterer brugerens
   tilgængeligheds-indstillinger. Firefox og ældre browsere falder
   tilbage til standard-navigation (progressive enhancement). */
@media (prefers-reduced-motion: no-preference) {
  @view-transition {
    navigation: auto;
  }

  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation-duration: 0.35s;
    animation-timing-function: ease;
  }

  /* Shared element transition: event-billeder.
     Hvert kort-/hero-billede har et unikt view-transition-name
     ("eater-event-img-{ID}") sat via inline style i
     eater_event_card_image_html(). Browseren morfer position +
     størrelse mellem siderne. Vi giver dem en lidt længere kurve
     end root-fade så billedet "flyver" tydeligt på plads. */
  ::view-transition-group(*) {
    animation-duration: 0.55s;
    animation-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
  }

  /* Crossfade indhold mellem old/new snapshots — undgår harde "stretch"
     når aspect ratio ændrer sig fra kort til hero. */
  ::view-transition-image-pair(*) {
    isolation: isolate;
  }
  ::view-transition-old(*),
  ::view-transition-new(*) {
    mix-blend-mode: normal;
  }

  /* Headeren får sit eget snapshot-lag og placeres OVER alle andre grupper
     (incl. event-billed-flyveturen). Uden dette ville et navngivet billede
     blive løftet ud af root og ende OVER headeren under transitionen, så
     "MENU" og logoet kortvarigt blev dækket af det zoomende billede.
     Headeren er position:fixed → samme position før/efter, så den blot
     krydsfader (samme timing som root) — ingen "flyvetur". */
  #siteHeader {
    view-transition-name: eater-site-header;
  }
  ::view-transition-group(eater-site-header) {
    z-index: 100;
    animation-duration: 0.35s;
    animation-timing-function: ease;
  }
}

/* ============================================================
   BLOG / RADAR
   ============================================================ */
.radar{padding-bottom:clamp(60px,9vw,140px);}

/* Head + intro */
.radar-head{padding-top:calc(var(--header-h) + clamp(24px,5vw,72px));}
.radar-head h1{margin:0;}
.radar-intro{margin:clamp(14px,1.6vw,22px) 0 0;max-width:46ch;font-size:14px;line-height:1.5;color:var(--muted);}

/* Kategori-faner */
.radar-tabs{display:flex;flex-wrap:wrap;margin-top:clamp(26px,4vw,54px);border-bottom:1px solid var(--ink);}
.radar-tab{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);
  padding:14px 22px;border:1px solid transparent;border-bottom:0;margin-bottom:-1px;}
.radar-tab:first-child{padding-left:0;}
.radar-tab:hover{color:var(--ink);}
.radar-tab--active{color:var(--ink);background:#f4f4f4;border-color:var(--hair);}
@media(max-width:600px){.radar-tab{padding:12px 14px;}.radar-tab:first-child{padding-left:0;}}

/* Featured */
.radar-featured-wrap{margin-top:clamp(22px,3vw,40px);}
.radar-featured{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,3vw,52px);align-items:stretch;}
.radar-featured__media{position:relative;display:block;overflow:hidden;background:#ededed;min-height:clamp(280px,30vw,460px);}
.radar-featured__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.radar-featured__media .radar-ph{position:absolute;inset:0;background:#ededed;}
.radar-featured__badge{position:absolute;top:16px;left:16px;z-index:2;background:var(--ink);color:var(--paper);
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:7px 12px;}
.radar-featured__body{display:flex;flex-direction:column;justify-content:center;padding:clamp(8px,2vw,28px) 0;}
.radar-featured__kicker{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 14px;}
.radar-featured__title{font-family:var(--sans);font-weight:400;line-height:1.05;letter-spacing:-0.02em;
  font-size:clamp(26px,3vw,42px);margin:0 0 18px;}
.radar-featured__title a:hover{text-decoration:underline;text-underline-offset:3px;}
.radar-featured__excerpt{font-size:15px;line-height:1.55;color:#222;max-width:52ch;margin:0 0 26px;}
@media(max-width:860px){
  .radar-featured{grid-template-columns:1fr;gap:20px;}
  .radar-featured__media{min-height:auto;aspect-ratio:16/10;}
}

/* Pil-link (LÆS ARTIKEL / SE AKTUELLE OPLEVELSER) */
.radar-arrowlink{display:inline-flex;align-items:center;gap:14px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink);}
.radar-arrowlink .arrow{display:inline-flex;}
.radar-arrowlink .arrow svg{width:40px;height:18px;display:block;transition:transform .4s cubic-bezier(.22,1,.36,1);}
.radar-arrowlink:hover .arrow svg{transform:translateX(10px);}
@media(prefers-reduced-motion:reduce){.radar-arrowlink .arrow svg{transition:none;}}

/* 3-kolonne grid */
.radar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.4vw,40px);
  margin-top:clamp(34px,4.5vw,64px);padding-top:clamp(34px,4.5vw,64px);border-top:1px solid var(--hair);}
.radar-grid--archive{border-top:0;padding-top:clamp(24px,3vw,44px);}
.radar-card{display:flex;flex-direction:column;}
.radar-card__media{position:relative;display:block;overflow:hidden;background:#ededed;aspect-ratio:4/3;}
.radar-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.radar-card__media .radar-ph{position:absolute;inset:0;background:#ededed;}
.radar-card__body{padding-top:16px;}
.radar-card__kicker{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px;}
.radar-card__title{font-family:var(--sans);font-weight:400;font-size:clamp(17px,1.4vw,20px);line-height:1.2;letter-spacing:-0.01em;margin:0 0 10px;}
.radar-card__title a:hover{text-decoration:underline;text-underline-offset:3px;}
.radar-card__excerpt{font-size:14px;line-height:1.5;color:#444;margin:0;}
@media(max-width:860px){.radar-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){.radar-grid{grid-template-columns:1fr;}}

/* Seneste indlæg */
.radar-latest{margin-top:clamp(46px,6vw,90px);}
.radar-latest__head{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);
  font-weight:400;margin:0;padding:14px 0;border-top:1px solid var(--ink);}
.radar-latest__list{list-style:none;margin:0;padding:0;}
.radar-latest__row{border-top:1px solid var(--hair);}
.radar-latest__row:last-child{border-bottom:1px solid var(--hair);}
.radar-latest__link{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(18px,3vw,48px);padding:clamp(18px,2.4vw,30px) 0;}
.radar-latest__num{font-size:clamp(34px,4vw,56px);font-weight:400;line-height:1;color:#d2d2d2;letter-spacing:-0.02em;font-variant-numeric:tabular-nums;}
.radar-latest__main{min-width:0;}
.radar-latest__kicker{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px;}
.radar-latest__title{display:block;font-size:clamp(16px,1.4vw,20px);line-height:1.25;color:var(--ink);}
.radar-latest__link:hover .radar-latest__title{text-decoration:underline;text-underline-offset:3px;}
.radar-latest__date{font-size:13px;color:var(--muted);white-space:nowrap;}
@media(max-width:560px){
  .radar-latest__link{grid-template-columns:auto 1fr;gap:16px;}
  .radar-latest__date{grid-column:2;justify-self:start;margin-top:2px;}
}

/* Newsletter-række */
.radar-news{margin-top:clamp(40px,6vw,80px);display:grid;grid-template-columns:1fr auto;gap:clamp(20px,4vw,60px);
  align-items:center;border-top:1px solid var(--hair);padding-top:clamp(28px,3.5vw,46px);}
.radar-news__lead{font-size:clamp(15px,1.5vw,19px);color:var(--ink);margin:0;max-width:40ch;}
.radar-news__form{width:100%;max-width:460px;}
.radar-news__row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:stretch;}
.radar-news__row .input{padding:15px 16px;}
.radar-news__row .btn{padding:15px 34px;}
.radar-news__row .btn[disabled]{opacity:.4;cursor:not-allowed;}
.radar-news__msg{font-size:13px;line-height:1.45;margin-top:10px;}
.radar-news__msg .success_message{color:#0a6b2a;}
.radar-news__msg .error_message{color:#a61b1b;}
@media(max-width:860px){.radar-news{grid-template-columns:1fr;gap:18px;}.radar-news__form{max-width:none;}}

/* Tom tilstand + pagination */
.radar-empty{padding:clamp(40px,6vw,90px) 0;}
.radar-empty p{font-size:18px;color:var(--muted);margin:0;}
.radar-pagination{margin-top:clamp(40px,5vw,72px);}
.radar-pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.radar-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;
  padding:0 12px;border:1px solid var(--hair);font-size:13px;color:var(--ink);}
.radar-pagination .page-numbers.current{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.radar-pagination a.page-numbers:hover{border-color:var(--ink);}

/* Single */
.radar-single{padding-bottom:clamp(60px,9vw,140px);}
.radar-article__head{padding-top:calc(var(--header-h) + clamp(24px,5vw,72px));max-width:980px;}
.radar-article__kicker{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 18px;}
.radar-article__title{font-family:var(--sans);font-weight:700;text-transform:uppercase;letter-spacing:-0.03em;line-height:0.95;
  font-size:clamp(34px,6.5vw,86px);margin:0 0 24px;}
.radar-article__byline{font-size:13px;color:var(--muted);margin:0;}
.radar-article__media{margin:clamp(30px,4vw,56px) auto 0;}
.radar-article__media img{width:100%;height:auto;display:block;}
.radar-article__body{margin-top:clamp(30px,4vw,56px);}
.radar-article__body .prose{max-width:72ch;font-size:clamp(16px,1.3vw,18px);line-height:1.65;color:#1c1c1c;}
.radar-article__body .prose p{margin:0 0 1.4em;}

/* Relaterede oplevelser */
.radar-rel{margin-top:clamp(56px,8vw,120px);border-top:1px solid var(--hair);padding-top:clamp(34px,4.5vw,64px);}
.radar-rel__head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:clamp(24px,3vw,44px);}
.radar-rel__title{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:400;margin:0;}
.radar-rel__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,2.6vw,40px);}
.radar-rel__card{display:flex;flex-direction:column;}
.radar-rel__media{position:relative;display:block;overflow:hidden;background:#ededed;aspect-ratio:16/10;}
.radar-rel__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.radar-rel__media .radar-ph{position:absolute;inset:0;background:#ededed;}
.radar-rel__badge{position:absolute;top:14px;left:14px;z-index:2;background:var(--paper);color:var(--ink);
  font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:7px 11px;}
.radar-rel__body{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-top:14px;}
.radar-rel__name{font-family:var(--sans);font-weight:400;font-size:clamp(16px,1.4vw,20px);line-height:1.2;margin:0;}
.radar-rel__name a:hover{text-decoration:underline;text-underline-offset:3px;}
.radar-rel__price{font-size:14px;color:var(--ink);white-space:nowrap;margin:0;}
@media(max-width:640px){
  .radar-rel__grid{grid-template-columns:1fr;}
  .radar-rel__body{flex-direction:column;gap:4px;}
}

/* Mobil: helt ens H1-afstand på tværs af Oplevelser, Tidligere oplevelser,
   Newsletter, FAQ og Privatlivspolitik. Alle containere får samme top-afstand
   (header-offset + 80px), og titlen får 80px under sig. H1-top-margin nulstilles
   så container-paddingen ikke fordobles. */
@media(max-width:860px){
  /* Ens top-afstand (80px under den faste header) på alle fem sider. */
  .app-main[data-screen-label="Tidligere oplevelser"],
  .app-main.newsletter-page,
  .app-main--faq,
  .privacy-policy .pad-top{
    padding-top:calc(var(--header-h) + 80px);
  }
  /* Oplevelser bruger normalt flex-centrering; top-justér den på mobil, så den
     matcher de øvrige sider. */
  .opl-title{
    min-height:0;
    display:block;
    padding-top:calc(var(--header-h) + 80px);
  }
  /* Centrér H1 + ens bundmargin (80px), og fjern top-margin så intet dobbeltes. */
  .opl-title h1,
  .app-main[data-screen-label="Tidligere oplevelser"] h1,
  .newsletter-page .newsletter-page__title,
  .app-main--faq h1,
  .privacy-policy .entry-title{
    text-align:center;
    margin-top:0;
    margin-bottom:80px;
  }
}

/* ============================================================
   EATER — Blog-blokke (blog-hero / blog-intro / blog-content)
   Redaktionelt look: kursiv serif-display (var(--serif)) +
   sans-brødtekst (var(--sans)), hairline-borders, versal-eyebrows.
   ============================================================ */

/* ---------- Blog: fuld bredde (matcher forsidens sektioner) ---------- */
.radar-article__blocks{width:100%;}

/* ---------- Blog Hero (.blogh) ---------- */
.blogh{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:100vh;
  border-bottom:1px solid var(--rule,#d8d5d0);
}
.blogh__img{overflow:hidden;}
.blogh__img img,
.blogh__img-ph{width:100%;height:100%;object-fit:cover;display:block;min-height:320px;}
.blogh__img-ph{background:#ededed;}
.blogh__right{display:flex;flex-direction:column;border-left:1px solid var(--rule,#d8d5d0);}
/* Header-clearance: højre kolonne starter i top:0 på desktop, så titlen
   skal skubbes ned under den faste header. Mobil-reglen nedenfor nulstiller
   padding (billedet ligger der øverst), så der ikke opstår et stort hul. */
.blogh__titleblock{padding:calc(var(--header-h,84px) + 32px) 40px 28px;border-bottom:1px solid var(--rule,#d8d5d0);}
.blogh__eyebrow{
  font-family:var(--sans);
  font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  font-weight:600;color:var(--muted,#888);margin:0 0 12px;
}
.blogh__title{
  font-family:var(--serif);
  font-size:clamp(26px,2.8vw,44px);line-height:1.08;font-weight:400;
  letter-spacing:-0.02em;margin:0;
}
.blogh__title em,.blogh__title i{font-style:italic;}
.blogh__meta{
  font-family:var(--sans);
  margin:12px 0 0;font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted,#888);font-weight:500;
}
.blogh__ranked{flex:1;display:flex;flex-direction:column;justify-content:flex-start;list-style:none;margin:0;padding:0;}
.blogh__rank-item{flex:0 0 auto;border-bottom:1px dotted var(--light-grey,#d8d5d0);}
.blogh__rank-item:last-child{border-bottom:none;}
.blogh__rank-link{
  display:grid;grid-template-columns:44px 1fr;align-items:center;
  height:var(--blogh-rank-h,68px);color:inherit;text-decoration:none;
}
.blogh__rank-num{
  font-family:var(--serif);font-style:italic;font-size:11px;
  color:var(--muted,#888);border-right:1px dotted var(--light-grey,#d8d5d0);
  align-self:stretch;display:flex;align-items:center;justify-content:center;
}
.blogh__rank-name{
  font-family:var(--sans);font-size:13px;font-weight:500;
  color:var(--ink,#111);padding:0 20px;letter-spacing:.01em;
}
.blogh__rank-link:hover .blogh__rank-name{text-decoration:underline;text-underline-offset:3px;}

/* ---------- Blog Indledning (.blogi) ---------- */
.blogi{border-bottom:1px solid var(--rule,#d8d5d0);}
.blogi__inner{
  max-width:820px;margin:0 auto;width:100%;
  padding:52px 80px;text-align:center;
}
.blogi__inner p{
  font-family:var(--sans);
  font-size:16px;line-height:1.85;color:#444;margin:0 0 1em;
}
.blogi__inner p:last-child{margin-bottom:0;}
.blogi__inner a{text-decoration:underline;text-underline-offset:2px;}

/* ---------- Blog Indhold (.blogc) ---------- */
.blogc{
  display:grid;grid-template-columns:1fr 1fr;
  border-bottom:1px solid var(--rule,#d8d5d0);
  scroll-margin-top:calc(var(--header-h,84px) + 20px);
}
.blogc__img{overflow:hidden;border-right:1px solid var(--rule,#d8d5d0);aspect-ratio:1 / 1;}
.blogc__img img,
.blogc__img-ph{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s ease;}
.blogc__img-ph{background:#ededed;}
.blogc__img:hover img{transform:scale(1.03);}
.blogc--reverse .blogc__img{order:2;border-left:1px solid var(--rule,#d8d5d0);border-right:none;}
.blogc--reverse .blogc__text{order:1;}
.blogc__text{padding:36px 44px;display:flex;flex-direction:column;justify-content:center;}
.blogc__num{
  font-family:var(--serif);font-style:italic;font-size:13px;
  color:var(--light-grey,#d8d5d0);margin-bottom:4px;display:block;
}
.blogc__brand{
  font-family:var(--sans);
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  font-weight:600;color:var(--muted,#888);margin:0 0 6px;
}
.blogc__title{
  font-family:var(--serif);
  font-size:clamp(22px,2.4vw,34px);font-weight:400;font-style:italic;
  line-height:1.15;margin:0 0 16px;letter-spacing:-0.01em;
}
.blogc__title em,.blogc__title i{font-style:italic;}
.blogc__body{max-width:420px;}
.blogc__body p{
  font-family:var(--sans);
  font-size:13.5px;line-height:1.8;color:#555;margin:0 0 1em;
}
.blogc__body p:last-child{margin-bottom:0;}
.blogc__body a{text-decoration:underline;text-underline-offset:2px;}
.blogc__cta{
  font-family:var(--sans);
  align-self:flex-start;margin-top:22px;background:var(--ink,#111);color:#fff;
  font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;
  padding:14px 22px;transition:opacity .2s ease;
}
.blogc__cta:hover{opacity:.82;}

/* ---------- Responsivt: stack til 1 kolonne på mobil ---------- */
@media(max-width:860px){
  .blogh{grid-template-columns:1fr;min-height:0;}
  .blogh__right{border-left:none;border-top:1px solid var(--rule,#d8d5d0);}
  .blogh__img img,.blogh__img-ph{min-height:0;aspect-ratio:4 / 3;}
  .blogh__titleblock{padding:26px 24px 22px;}

  .blogi__inner{padding:40px 24px;}

  /* Billede altid øverst på mobil — også for reverse. */
  .blogc{grid-template-columns:1fr;min-height:0;}
  .blogc__img,
  .blogc--reverse .blogc__img{order:0;border-right:none;border-left:none;border-bottom:1px solid var(--rule,#d8d5d0);aspect-ratio:4 / 3;}
  .blogc__text,
  .blogc--reverse .blogc__text{order:0;padding:28px 24px;}
}

/* ---------- Blog Afslutning (.blogo) — mørk outro ---------- */
.blogo{
  background:var(--ink,#111);color:#fff;
  padding:72px 52px;
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;
}
.blogo__eyebrow{
  font-family:var(--sans);
  font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  font-weight:600;color:#555;margin:0 0 18px;
}
.blogo__title{
  font-family:var(--serif);
  font-size:clamp(24px,2.6vw,40px);font-style:italic;font-weight:400;
  line-height:1.15;margin:0;
}
.blogo__title em,.blogo__title i{font-style:italic;}
.blogo__body{
  font-family:var(--sans);
  font-size:14px;line-height:1.85;color:#aaa;margin:0 0 24px;
}
.blogo__body p{margin:0 0 1em;}
.blogo__body p:last-child{margin-bottom:0;}
.blogo__body a{color:#ddd;text-decoration:underline;text-underline-offset:2px;}
.blogo__sign{
  font-family:var(--serif);
  font-size:19px;font-style:italic;color:#ddd;
}
@media(max-width:860px){
  .blogo{grid-template-columns:1fr;gap:28px;padding:48px 24px;}
}

/* ============================================================
   Meet the Maker (.mtm) — kok/producent-portræt
   ============================================================ */
.mtm{display:block;}
.mtm-hero{
  display:grid;grid-template-columns:1fr 1fr;
  min-height:calc(100vh - var(--header-h,84px));
  border-bottom:1px solid var(--hair,#d8d5d0);
}
.mtm-hero__img{position:relative;overflow:hidden;}
.mtm-hero__img img,
.mtm-hero__img-ph{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;min-height:clamp(360px,58vh,640px);}
.mtm-hero__img-ph{background:#ededed;}
.mtm-hero__label{
  position:absolute;bottom:24px;left:24px;
  font-family:var(--sans);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  font-weight:600;color:rgba(255,255,255,.78);
}
.mtm-hero__text{
  border-left:1px solid var(--hair,#d8d5d0);
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:clamp(28px,4vw,56px);
  overflow-y:auto;
}
.mtm-eyebrow{
  font-family:var(--sans);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  font-weight:600;color:var(--muted,#888);margin:0 0 16px;
}
.mtm-name{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(34px,4vw,60px);line-height:1.05;letter-spacing:-0.02em;margin:0 0 6px;
}
.mtm-name em,.mtm-name i{font-style:italic;}
.mtm-role{
  font-family:var(--serif);font-style:italic;font-size:18px;
  color:var(--muted,#888);margin:0 0 30px;
}
.mtm-bio{border-top:1px solid var(--hair,#d8d5d0);margin-bottom:30px;}
.mtm-bio__item{
  display:flex;justify-content:space-between;align-items:baseline;gap:24px;
  padding:12px 0;border-bottom:1px solid var(--hair,#d8d5d0);
}
.mtm-bio__label{
  font-family:var(--sans);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  font-weight:600;color:var(--muted,#888);white-space:nowrap;flex-shrink:0;
}
.mtm-bio__value{font-family:var(--sans);font-size:13.5px;color:var(--ink,#111);text-align:right;line-height:1.4;}
.mtm-bio__value em{font-family:var(--serif);font-style:italic;font-size:15px;}
.mtm-intro p{font-family:var(--sans);font-size:14px;line-height:1.85;color:#555;margin:0 0 1em;}
.mtm-intro p:last-child{margin-bottom:0;}

.mtm-video{
  padding:clamp(48px,7vw,80px) var(--pad) 0;
  border-bottom:1px solid var(--hair,#d8d5d0);
  display:flex;flex-direction:column;align-items:center;
}
.mtm-video__eyebrow{
  font-family:var(--sans);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  font-weight:600;color:var(--muted,#888);margin:0 0 16px;text-align:center;
}
.mtm-video__title{
  font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:clamp(24px,2.8vw,40px);line-height:1.15;text-align:center;
  max-width:560px;margin:0 0 40px;
}
.mtm-video__wrap{width:100%;max-width:900px;aspect-ratio:16/9;background:#000;overflow:hidden;}
.mtm-video__wrap video{width:100%;height:100%;object-fit:cover;display:block;}
.mtm-video__caption{
  width:100%;max-width:900px;padding:16px 0 clamp(48px,7vw,64px);
  font-family:var(--sans);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted,#888);font-weight:600;
  display:flex;justify-content:space-between;align-items:center;gap:16px;
}
.mtm-video__caption-sub{font-weight:400;font-size:12px;text-transform:none;letter-spacing:0;color:#777;}

.mtm-qa{
  padding:clamp(48px,7vw,80px) var(--pad) clamp(64px,9vw,100px);
  display:flex;flex-direction:column;align-items:center;
}
.mtm-qa__intro{max-width:680px;text-align:center;margin-bottom:clamp(40px,6vw,64px);}
.mtm-qa__intro p{font-family:var(--sans);font-size:16px;line-height:1.85;color:#555;margin:0 0 1em;}
.mtm-qa__intro p:last-child{margin-bottom:0;}
.mtm-qa__block{width:100%;max-width:680px;margin-bottom:44px;}
.mtm-qa__rule{border-top:1px solid var(--hair,#d8d5d0);margin-bottom:28px;}
.mtm-qa__q{
  font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:20px;line-height:1.3;margin:0 0 16px;color:var(--ink,#111);
}
.mtm-qa__a p{font-family:var(--sans);font-size:14px;line-height:1.9;color:#555;margin:0 0 14px;}
.mtm-qa__a p:last-child{margin-bottom:0;}

.mtm-related{
  background:#f7f6f4;border-top:1px solid var(--hair,#d8d5d0);
  padding:clamp(40px,6vw,56px) var(--pad);
}
.mtm-related__label{
  font-family:var(--sans);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  font-weight:600;color:var(--muted,#888);margin:0 0 28px;
}
.mtm-related__cards{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--hair,#d8d5d0);max-width:720px;}
.mtm-related__cards--single{grid-template-columns:1fr;max-width:360px;}
.mtm-related__card{background:#f7f6f4;padding:20px 24px;display:flex;flex-direction:column;gap:6px;}
.mtm-related__card-label{font-family:var(--sans);font-size:9px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--muted,#888);}
.mtm-related__card-title{font-family:var(--serif);font-size:17px;font-weight:400;}
.mtm-related__card-price{font-family:var(--sans);font-size:12px;color:var(--muted,#888);}

@media(max-width:860px){
  .mtm-hero{grid-template-columns:1fr;min-height:0;}
  .mtm-hero__img img,.mtm-hero__img-ph{min-height:0;aspect-ratio:4 / 3;}
  .mtm-hero__text{border-left:none;border-top:1px solid var(--hair,#d8d5d0);overflow-y:visible;}
  .mtm-related__cards{grid-template-columns:1fr;}
}

/* ============================================================
   Opskrift (.rcp) — billed-karrusel + opskrift
   ============================================================ */
.rcp{
  display:grid;grid-template-columns:1fr 1fr;
  border-top:1px solid var(--hair,#d8d5d0);
  border-bottom:1px solid var(--hair,#d8d5d0);
}
.rcp__media{align-self:start;position:sticky;top:var(--header-h,84px);height:calc(100vh - var(--header-h,84px));border-right:1px solid var(--hair,#d8d5d0);}
.rcp-carousel{position:relative;height:100%;background:#000;overflow:hidden;}
.rcp-carousel--ph{background:#ededed;}
.rcp-slide{position:absolute;inset:0;opacity:0;transition:opacity .5s ease;}
.rcp-slide.is-active{opacity:1;}
.rcp-slide img{width:100%;height:100%;object-fit:cover;display:block;}
.rcp-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:2;
  background:none;border:none;color:rgba(255,255,255,.7);font-size:24px;line-height:1;
  padding:8px;transition:color .2s ease;
}
.rcp-arrow:hover{color:#fff;}
.rcp-arrow--prev{left:12px;}
.rcp-arrow--next{right:12px;}
.rcp-counter{
  position:absolute;top:16px;right:16px;z-index:2;
  font-family:var(--sans);font-size:10px;letter-spacing:.12em;color:rgba(255,255,255,.85);
  background:rgba(0,0,0,.35);padding:5px 9px;
}
.rcp-dots{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:2;display:flex;gap:8px;}
.rcp-dot{width:7px;height:7px;border-radius:50%;border:none;padding:0;background:rgba(255,255,255,.4);cursor:pointer;}
.rcp-dot.is-active{background:rgba(255,255,255,.95);}
/* Header-clearance: tekstpanelet starter i top:0 på desktop (billedpanelet er
   sticky og rydder allerede headeren), så toppadding skubber titlen fri af den
   faste header. Mobil nulstiller nedenfor (billedet ligger der øverst). */
.rcp__body{padding:calc(var(--header-h,84px) + clamp(24px,3vw,48px)) clamp(28px,4vw,56px) clamp(48px,6vw,80px);min-width:0;}
.rcp-eyebrow{font-family:var(--sans);font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--muted,#888);margin:0 0 12px;}
.rcp-title{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.4vw,46px);line-height:1.08;letter-spacing:-0.01em;margin:0 0 8px;}
.rcp-title em,.rcp-title i{font-style:italic;}
.rcp-subtitle{font-family:var(--serif);font-style:italic;color:var(--muted,#888);font-size:18px;margin:0 0 22px;}
.rcp-intro p{font-family:var(--sans);font-size:14px;line-height:1.85;color:#555;margin:0 0 1em;}
.rcp-intro p:last-child{margin-bottom:0;}
.rcp-meta{display:flex;flex-wrap:wrap;gap:28px;margin:26px 0;padding:20px 0;border-top:1px solid var(--hair,#d8d5d0);border-bottom:1px solid var(--hair,#d8d5d0);}
.rcp-meta__item{display:flex;flex-direction:column;gap:3px;}
.rcp-meta__label{font-family:var(--sans);font-size:9px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--muted,#888);}
.rcp-meta__value{font-family:var(--sans);font-size:13px;font-weight:500;color:var(--ink,#111);}
.rcp-section-head{font-family:var(--sans);font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--muted,#888);margin:36px 0 16px;}
.rcp-ing-group{margin-bottom:24px;}
.rcp-ing-group__name{font-family:var(--serif);font-style:italic;font-size:15px;margin:0 0 10px;}
.rcp-ing-list{list-style:none;margin:0;padding:0;}
.rcp-ing-list li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;font-family:var(--sans);font-size:13.5px;line-height:1.7;color:#444;padding:7px 0;border-bottom:1px dotted var(--light-grey,#d8d5d0);}
.rcp-ing-list li:last-child{border-bottom:none;}
.rcp-ing-amount{color:var(--muted,#888);font-size:12px;font-weight:500;white-space:nowrap;margin-left:16px;}
.rcp-rule{border:none;border-top:1px solid var(--hair,#d8d5d0);margin:28px 0;}
.rcp-step{display:grid;grid-template-columns:28px 1fr;gap:16px;margin-bottom:24px;align-items:start;}
.rcp-step__num{font-family:var(--serif);font-style:italic;font-size:13px;color:var(--light-grey,#d8d5d0);line-height:1.6;padding-top:1px;}
.rcp-step__text{font-family:var(--sans);font-size:13.5px;line-height:1.8;color:#444;}
.rcp-step__text strong{color:var(--ink,#111);font-weight:600;}
.rcp-tip{background:#f7f6f4;border-left:2px solid var(--ink,#111);padding:18px 20px;margin-top:32px;font-family:var(--sans);font-size:13px;line-height:1.75;color:#555;}
.rcp-tip strong{display:block;color:var(--ink,#111);font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:6px;}

@media(max-width:860px){
  .rcp{grid-template-columns:1fr;}
  .rcp__media{position:static;height:auto;border-right:none;border-bottom:1px solid var(--hair,#d8d5d0);}
  .rcp-carousel{height:auto;aspect-ratio:4 / 3;}
  .rcp__body{padding:clamp(28px,6vw,40px) clamp(24px,5vw,40px) clamp(40px,8vw,64px);}
}

/* ============================================================
   Restaurant Spotlight (.spot) — redaktionel anmeldelse
   ============================================================ */
.spot{display:block;}
.spot-hero{
  display:grid;grid-template-columns:1fr 1fr;
  min-height:calc(100vh - var(--header-h,84px));
  border-bottom:1px solid var(--hair,#d8d5d0);
}
.spot-hero__img{overflow:hidden;}
.spot-hero__img img,
.spot-hero__img-ph{width:100%;height:100%;object-fit:cover;display:block;min-height:clamp(360px,58vh,640px);}
.spot-hero__img-ph{background:#ededed;}
/* Header-clearance: sektionen starter i top:0, og når teksten centreres
   lodret kan dens top ellers havne bag den faste header. Ekstra toppadding =
   header-højde sikrer at det centrerede indhold aldrig går op bag headeren.
   Mobil nulstiller nedenfor (billedet ligger der øverst). */
.spot-hero__text{padding:calc(var(--header-h,84px) + clamp(28px,4vw,56px)) clamp(28px,4vw,56px) clamp(28px,4vw,56px);display:flex;flex-direction:column;justify-content:center;}
.spot-hero__title{font-family:var(--serif);font-weight:400;font-size:clamp(44px,5.5vw,80px);line-height:1.0;letter-spacing:-0.02em;margin:0 0 10px;}
.spot-hero__title em,.spot-hero__title i{font-style:italic;}
.spot-hero__tagline{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--muted,#888);margin:0 0 22px;line-height:1.3;}
.spot-rule{border:none;border-top:1px solid var(--hair,#d8d5d0);margin:0 0 22px;}
.spot-hero__intro p{font-family:var(--sans);font-size:14px;line-height:1.85;color:#555;margin:0 0 1em;}
.spot-hero__intro p:last-child{margin-bottom:0;}
.spot-hero__meta{font-family:var(--sans);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted,#888);font-weight:500;margin:22px 0 0;}
.spot-eyebrow,.spot-text__eyebrow{font-family:var(--sans);font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--muted,#888);}

.spot-fw{border-bottom:1px solid var(--hair,#d8d5d0);}
.spot-fw__img{width:100%;height:70vh;overflow:hidden;}
.spot-fw__img img,
.spot-fw__img-ph{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease;}
.spot-fw__img-ph{background:#ededed;}
.spot-fw__img:hover img{transform:scale(1.02);}
.spot-fw__footer{display:flex;gap:40px;align-items:center;border-top:1px solid var(--hair,#d8d5d0);}
.spot-fw__label{padding:28px var(--pad);display:flex;flex-direction:column;justify-content:center;}
.spot-fw__headline{padding:28px var(--pad);font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(20px,2.2vw,32px);line-height:1.2;display:flex;align-items:center;}

.spot-asym{display:grid;grid-template-columns:1fr 2fr;border-bottom:1px solid var(--hair,#d8d5d0);}
.spot-asym__text{padding:clamp(36px,4vw,56px) clamp(28px,3vw,44px);display:flex;flex-direction:column;justify-content:space-between;}
.spot-asym__img{overflow:hidden;}
.spot-asym__img img,
.spot-asym__img-ph{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease;min-height:360px;}
.spot-asym__img-ph{background:#ededed;}
.spot-asym__img:hover img{transform:scale(1.02);}
.spot-title{font-family:var(--serif);font-weight:400;font-size:clamp(20px,2.2vw,30px);line-height:1.2;letter-spacing:-0.01em;margin:0 0 20px;}
.spot-title em,.spot-title i{font-style:italic;}
.spot-body p{font-family:var(--sans);font-size:13.5px;line-height:1.85;color:#555;margin:0 0 14px;}
.spot-body p:last-child{margin-bottom:0;}
.spot-caption{font-family:var(--sans);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted,#888);font-weight:600;margin-top:auto;padding-top:32px;}

.spot-duo{border-bottom:1px solid var(--hair,#d8d5d0);}
.spot-duo__images{display:grid;grid-template-columns:1fr 1fr;}
.spot-duo__img{overflow:hidden;aspect-ratio:4 / 3;}
.spot-duo__img img,
.spot-duo__img-ph{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease;}
.spot-duo__img-ph{background:#ededed;}
.spot-duo__img:hover img{transform:scale(1.03);}
.spot-duo__text{display:flex;gap:48px;padding:clamp(32px,4vw,44px) clamp(28px,4vw,56px);border-top:1px solid var(--hair,#d8d5d0);align-items:start;}
.spot-duo__headline{flex:1;font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(20px,2.2vw,30px);line-height:1.2;margin:0;}
.spot-duo__body{flex:1;}
.spot-duo__body p{font-family:var(--sans);font-size:13.5px;line-height:1.85;color:#555;margin:0 0 14px;}
.spot-duo__body p:last-child{margin-bottom:0;}

.spot-text{padding:clamp(48px,7vw,72px) 0;border-bottom:1px solid var(--hair,#d8d5d0);display:flex;flex-direction:column;align-items:center;}
.spot-text__inner{max-width:680px;width:100%;padding:0 var(--pad);}
.spot-text__eyebrow{display:block;margin-bottom:18px;}
.spot-text__headline{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(24px,2.8vw,40px);line-height:1.15;margin:0 0 28px;}
.spot-text__body p{font-family:var(--sans);font-size:14px;line-height:1.9;color:#555;margin:0 0 16px;}
.spot-text__body p:last-child{margin-bottom:0;}

.spot-verdict{background:#111;color:#fff;padding:clamp(48px,7vw,80px) var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,60px);align-items:center;}
.spot-verdict__eyebrow{font-family:var(--sans);font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:#777;margin:0 0 18px;}
.spot-verdict__title{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(24px,2.8vw,40px);line-height:1.15;margin:0;color:#fff;}
.spot-verdict__body p{font-family:var(--sans);font-size:14px;line-height:1.85;color:#aaa;margin:0 0 14px;}
.spot-verdict__body p:last-child{margin-bottom:0;}

@media(max-width:860px){
  .spot-hero{grid-template-columns:1fr;min-height:0;}
  .spot-hero__img img,.spot-hero__img-ph{min-height:0;aspect-ratio:4 / 3;}
  .spot-hero__text{padding:clamp(28px,6vw,40px) clamp(24px,5vw,40px);}
  .spot-fw__img{height:48vh;}
  .spot-fw__footer{flex-direction:column;gap:0;align-items:stretch;}
  .spot-fw__label{padding-bottom:0;}
  .spot-asym{grid-template-columns:1fr;}
  .spot-asym__img{order:-1;min-height:0;aspect-ratio:4 / 3;}
  .spot-asym__img img,.spot-asym__img-ph{min-height:0;}
  .spot-duo__text{flex-direction:column;gap:18px;}
  .spot-verdict{grid-template-columns:1fr;}
}
