/* Ugleboet i Fnullerskoven, ugleboet.dk v2 «dag og nat». Fortælling: dag, skumring, nat, morgen. Ét greb: nat-kontakten (night.js). Alegreya + Alegreya Sans, OFL 1.1 (fonts/OFL.txt). Ingen inline styles (CSP). */
@font-face{font-family:"Alegreya";src:url(fonts/alegreya-latin-wght-normal.woff2) format("woff2");font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:"Alegreya";src:url(fonts/alegreya-latin-wght-italic.woff2) format("woff2");font-weight:400 900;font-style:italic;font-display:swap}
@font-face{font-family:"Alegreya Sans";src:url(fonts/alegreya-sans-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Alegreya Sans";src:url(fonts/alegreya-sans-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Alegreya Sans";src:url(fonts/alegreya-sans-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}

/* ---------- tokens: dag (faste farver + tema) ---------- */
:root{
  --paper:#f4f1e3;--paper-2:#e9e6cf;--leaf:#fffdf4;--bark:#2a1f16;--moss:#2e5636;--moss-2:#dbe4cc;
  --night:#17271d;--night-2:#223a2b;--deep:#0f1a14;--moon:#f5ecd6;--lantern:#f0b04a;--lantern-2:#d8952c;--dusk:#5a3b2a;
  --bg:#f4f1e3;--bg-2:#e9e6cf;--surface:#fffdf4;--ink:#2a1f16;--ink-2:#574838;
  --accent:#f0b04a;--accent-ink:#2a1f16;--link:#2e5636;--line:#d6d0b4;--glow:#f0b04a;
  --head:#5a3b2a;--btn:#2e5636;--btn-h:#21422a;--field:#b8ad8a;--tint:#dbe4cc;--tint-ink:#1f3d2a;--dusk-bg:#ecdcc0;
  --shade:42,31,22;
  --serif:"Alegreya",Georgia,"Iowan Old Style","Palatino Linotype",serif;
  --sans:"Alegreya Sans","Segoe UI",system-ui,-apple-system,sans-serif;
  --r-sm:6px;--r:12px;--r-lg:20px;
  --lift:0 1px 2px rgba(var(--shade),.08),0 12px 32px -12px rgba(var(--shade),.28);
  --gap:clamp(64px,9vw,128px);--wrap:1200px;--fade:.9s ease;
}
/* ---------- tokens: nat (samme navne) ---------- */
:root[data-theme="nat"]{
  --night:#17271d;--moon:#f5ecd6;
  --bg:#17271d;--bg-2:#0f1a14;--surface:#1f3428;--ink:#f5ecd6;--ink-2:#d9d1bb;
  --accent:#f0b04a;--accent-ink:#2a1f16;--link:#f2c77e;--line:#34513f;--glow:#ffcf7a;
  --head:#0f1a14;--btn:#3d6b47;--btn-h:#2e5636;--field:#4f6e5a;--tint:#24402f;--tint-ink:#f5ecd6;--dusk-bg:#1d2f24;
  --shade:0,0,0;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;color-scheme:light}
:root[data-theme="nat"]{color-scheme:dark}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.125rem/1.6 var(--sans);font-kerning:normal;text-rendering:optimizeLegibility;hyphens:manual;-webkit-hyphens:manual;overflow-wrap:normal;word-break:normal}
body,header.site,.titlecard,section,.figcard,.place,.card,form.order,.buybox,.dlg,.map-card{transition:background-color var(--fade),color var(--fade),border-color var(--fade)}
h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.12;color:var(--ink);margin:0 0 .45em;letter-spacing:-.005em;text-wrap:balance;hyphens:none}
h1{font-size:clamp(2.4rem,1.6rem + 2.4vw,4rem);font-weight:800}
h2{font-size:clamp(1.85rem,1.4rem + 1.5vw,2.75rem)}
h3{font-size:1.45rem;line-height:1.2}
p{margin:0 0 1em;text-wrap:pretty}
a{color:var(--link);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{color:var(--ink)}
img{max-width:100%;height:auto;display:block}
:focus-visible{outline:3px solid var(--lantern-2);outline-offset:3px;border-radius:4px}
.skip-link{position:absolute;left:-999px;top:0;background:var(--leaf);color:var(--bark);padding:10px 14px;z-index:99;font-weight:700}
.skip-link:focus{left:8px;top:8px}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 clamp(16px,4vw,40px)}
.prose{max-width:62ch}
.lead{font-size:clamp(1.2rem,1.1rem + .35vw,1.4rem);line-height:1.55;color:var(--ink-2);max-width:62ch}
.small{font-size:1rem;color:var(--ink-2)}
main{display:block}
section{padding:var(--gap) 0}
section.tight{padding-top:clamp(16px,2vw,32px)}
.mt{margin-top:1.2em!important}.mt0{margin-top:0!important}.center-x{justify-content:center;text-align:center}
.when-night{display:none}
:root[data-theme="nat"] .when-day{display:none}
:root[data-theme="nat"] p.when-night,:root[data-theme="nat"] div.when-night{display:block}
:root[data-theme="nat"] span.when-night{display:inline}

/* ---------- hoved (skumring) ---------- */
header.site{position:sticky;top:0;z-index:30;background:var(--head)}
header.site .wrap{display:flex;align-items:center;gap:16px;min-height:60px;max-width:1360px}
.brand{flex:none;display:block}.brand img{height:50px;width:auto}
.brand-empty{width:0}
nav.main{flex:1;min-width:0}
nav.main ul{list-style:none;display:flex;align-items:center;justify-content:flex-end;gap:2px;margin:0;padding:0}
nav.main a{display:block;padding:7px 12px;border-radius:999px;text-decoration:none;color:#fff6e6;font-weight:600;font-size:1.06rem;white-space:nowrap}
nav.main a:hover{background:rgba(255,246,230,.14);color:#fff}
nav.main a[aria-current=page]{color:#fff;box-shadow:inset 0 -2px 0 var(--lantern);border-radius:0}
nav.main a.navcta{background:var(--lantern);color:var(--bark);font-weight:700;padding:9px 18px;margin-left:8px;border-radius:999px;box-shadow:none}
nav.main a.navcta:hover,nav.main a.navcta[aria-current=page]{background:var(--lantern-2);color:var(--bark)}
.menu-btn{display:none;margin-left:auto;background:var(--moss);color:#fff;border:0;border-radius:999px;padding:10px 20px;font:700 1.05rem var(--sans);cursor:pointer}
@media (max-width:1180px){
  .js .menu-btn{display:block}
  .js nav.main{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--line);padding:12px clamp(16px,4vw,40px) 20px;box-shadow:0 18px 30px -18px rgba(var(--shade),.45)}
  .js nav.main.open{display:block}
  .js nav.main ul{flex-direction:column;align-items:stretch;gap:2px}
  .js nav.main a{font-size:1.2rem;padding:12px 14px;border-radius:var(--r-sm);color:var(--ink)}
  .js nav.main a:hover{background:var(--bg-2);color:var(--ink)}
  .js nav.main a[aria-current=page]{color:var(--link);box-shadow:inset 3px 0 0 var(--link)}
  .js nav.main a.navcta{margin:8px 0 0;text-align:center;color:var(--bark)}
  header.site .wrap{position:relative}
  html:not(.js) header.site .wrap{flex-wrap:wrap;padding-bottom:10px}
  html:not(.js) nav.main ul{flex-wrap:wrap;justify-content:flex-start}
}

/* ---------- nat-kontakten ---------- */
.night-toggle{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:10px 22px 10px 16px;border-radius:999px;border:2px solid currentColor;background:transparent;color:var(--ink);font:700 1.1rem/1.2 var(--sans);cursor:pointer;white-space:nowrap}
.night-toggle::before{content:"";flex:none;width:22px;height:22px;border-radius:50%;box-shadow:inset -7px -4px 0 0 currentColor;transform:rotate(-18deg);transition:background-color .4s,box-shadow .4s}
.night-toggle:hover{background:rgba(var(--shade),.06)}
:root[data-theme="nat"] .night-toggle::before{background:var(--lantern);box-shadow:0 0 0 4px rgba(240,176,74,.28),0 0 18px 4px rgba(240,176,74,.45);transform:none}
.night-toggle.mini{flex:none;min-height:40px;padding:6px 14px 6px 10px;font-size:1rem;color:#fff6e6;border-color:rgba(255,246,230,.55)}
.night-toggle.mini:hover{background:rgba(255,246,230,.14)}
.night-toggle.mini::before{width:18px;height:18px;box-shadow:inset -6px -3px 0 0 currentColor}
@media (max-width:520px){.night-toggle.mini{padding:6px 10px}.night-toggle.mini span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}
html:not(.js) .night-toggle{display:none}

/* ---------- knapper ---------- */
.cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:28px 0 0}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;background:var(--btn);color:#fff;text-decoration:none;padding:12px 26px;border-radius:999px;font:700 1.1rem/1.2 var(--sans);border:2px solid transparent;cursor:pointer;transition:background-color .15s,box-shadow .15s;white-space:nowrap}
.btn:hover{background:var(--btn-h);color:#fff}
.btn.copper,.btn.buy{background:var(--accent);color:var(--accent-ink)}
.btn.copper:hover,.btn.buy:hover{background:var(--lantern-2);color:var(--accent-ink)}
.btn.ghost{background:transparent;color:var(--link);border-color:currentColor}
.btn.ghost:hover{background:var(--tint);color:var(--link)}
.btn.light{background:#fff;color:var(--moss)}.btn.light:hover{background:var(--moss-2);color:var(--moss)}
.btn.sm{min-height:40px;padding:7px 16px;font-size:1rem}
.btn[disabled]{opacity:.5;cursor:default}
.textlink{font-weight:700;color:var(--link);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.22em}

/* ---------- hero (dag) + nat-lag ---------- */
.hero{padding:0 0 var(--gap);background:var(--bg)}
.hero-art{margin:0;position:relative;background:var(--night);overflow:hidden}
.hero-art img{display:block;width:100%;height:auto}
.hero-night{position:absolute;inset:0;pointer-events:none}
.hero-night::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0b1533 0%,#1b2a52 55%,#2a2f4d 100%);mix-blend-mode:multiply;opacity:0;transition:opacity var(--fade)}
.hero-night::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 45% at 70% 8%,rgba(245,236,214,.16),transparent 70%);opacity:0;transition:opacity var(--fade)}
:root[data-theme="nat"] .hero-night::before{opacity:.82}
:root[data-theme="nat"] .hero-night::after{opacity:1}
.glow{position:absolute;width:12%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,226,160,.95) 0,rgba(240,176,74,.6) 20%,rgba(240,176,74,.18) 45%,rgba(240,176,74,0) 68%);mix-blend-mode:screen;opacity:0;transition:opacity .6s ease}
.g1{left:75.5%;top:9%;width:15%}.g2{left:92.5%;top:10%;width:12%}.g3{left:59.3%;top:18.5%;width:10%;background:radial-gradient(circle,rgba(255,250,228,.98) 0,rgba(255,226,160,.6) 22%,rgba(240,176,74,.16) 46%,rgba(240,176,74,0) 68%)}.g4{left:71%;top:30.5%;width:10%}.g5{left:81%;top:43%;width:17%}
:root[data-theme="nat"] .g5{opacity:.42}
:root[data-theme="nat"] .glow{opacity:1;animation:breathe 5s ease-in-out infinite alternate}
:root[data-theme="nat"] .g1{transition-delay:.3s}:root[data-theme="nat"] .g2{transition-delay:.42s}:root[data-theme="nat"] .g3{transition-delay:.54s}:root[data-theme="nat"] .g4{transition-delay:.66s}:root[data-theme="nat"] .g5{transition-delay:.78s}
@keyframes breathe{from{transform:translate(-50%,-50%) scale(.94)}to{transform:translate(-50%,-50%) scale(1.04)}}
.flies{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease .8s}
:root[data-theme="nat"] .flies{opacity:1}
.firefly{position:absolute;width:5px;height:5px;border-radius:50%;background:#ffe9a8;box-shadow:0 0 10px 3px rgba(255,214,120,.65);opacity:0}
:root[data-theme="nat"] .firefly{animation:drift 11s ease-in-out infinite}
.firefly:nth-child(1){left:12%;top:62%;animation-delay:-1s}.firefly:nth-child(2){left:27%;top:48%;animation-delay:-4s;animation-duration:13s}
.firefly:nth-child(3){left:44%;top:68%;animation-delay:-7s}.firefly:nth-child(4){left:56%;top:52%;animation-delay:-2s;animation-duration:14s}
.firefly:nth-child(5){left:86%;top:44%;animation-delay:-9s}.firefly:nth-child(6){left:91%;top:66%;animation-delay:-5s;animation-duration:12s}
.firefly:nth-child(7){left:8%;top:38%;animation-delay:-3s;animation-duration:15s}.firefly:nth-child(8){left:34%;top:84%;animation-delay:-8s}
.firefly:nth-child(9){left:60%;top:88%;animation-delay:-6s;animation-duration:13s}.firefly:nth-child(10){left:78%;top:58%;animation-delay:-10s}
@keyframes drift{0%,100%{opacity:0;transform:translate(0,0)}20%{opacity:.9}50%{opacity:.35;transform:translate(18px,-22px)}75%{opacity:.85;transform:translate(-10px,-34px)}}
.titlecard{position:relative;z-index:2;max-width:820px;margin:24px auto 0;background:var(--surface);border-radius:var(--r-lg);padding:clamp(28px,4vw,52px) clamp(22px,5vw,64px) clamp(30px,4vw,48px);text-align:center;box-shadow:0 30px 60px -30px rgba(var(--shade),.5),0 0 0 1px rgba(var(--shade),.06)}
.titlecard .logo{width:min(300px,72%);margin:0 auto 18px}
.titlecard h1{font-size:clamp(2rem,1.4rem + 2vw,3.2rem);margin-bottom:.35em}
.titlecard .lead{margin:0 auto}
.titlecard .cta{justify-content:center}
.titlecard.no-art{margin-top:var(--gap)}

/* ---------- forsidens toner: skumring, nat, morgen ---------- */
.dusk{background:linear-gradient(180deg,var(--bg) 0%,var(--dusk-bg) 100%)}
.morning{background:var(--bg-2)}
.night{background:radial-gradient(ellipse 70% 60% at 50% 0%,#2c4a36 0%,var(--night) 70%);color:var(--moon)}
:root[data-theme="nat"] .night{background:radial-gradient(ellipse 70% 60% at 50% 0%,#20382a 0%,var(--deep) 70%)}
.night h2,.night h3{color:var(--moon)}
.night .lead,.night p{color:#d9d1bb}
.night a:not(.btn){color:var(--lantern)}
.night .btn.ghost{color:var(--moon)}.night .btn.ghost:hover{background:rgba(245,236,214,.12);color:#fff}

/* ---------- layout ---------- */
.split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(32px,6vw,88px);align-items:center}
.split.top{align-items:start}
@media (max-width:860px){.split{grid-template-columns:minmax(0,1fr)}}
.sec-head{max-width:46rem;margin-bottom:clamp(28px,4vw,48px)}
.sec-head.center{text-align:center;margin-left:auto;margin-right:auto}
.sec-head.center .lead{margin-left:auto;margin-right:auto}
.pagehead{padding:clamp(40px,6vw,88px) 0 clamp(28px,4vw,48px)}
.meta-line{color:var(--ink-2);font-size:1.05rem;margin:0 0 .6em}
.price{font:700 2.1rem/1 var(--serif);margin:0 0 4px;color:var(--ink)}
.price .small{font:400 1rem var(--sans)}
.price-note{margin:0}
.rounded{border-radius:var(--r-lg);box-shadow:var(--lift);width:100%}

/* ---------- bogen som genstand ---------- */
.book3d{position:relative;display:block;aspect-ratio:297/210;width:100%;max-width:560px;margin:0 auto;border-radius:3px 10px 10px 3px;background:var(--night);transform:perspective(1800px) rotateY(-16deg) rotateX(2deg);transform-origin:20% 50%;transition:transform .5s cubic-bezier(.2,.7,.2,1);box-shadow:1px 1px 0 #e9e1c8,2px 2px 0 #d8cfb2,3px 3px 0 #e9e1c8,4px 4px 0 #cfc5a6,5px 5px 0 #e9e1c8,6px 6px 0 #c6bb9a,28px 34px 50px -18px rgba(23,39,29,.55);text-decoration:none;color:inherit}
a.book3d:hover{transform:perspective(1800px) rotateY(-6deg) rotateX(1deg)}
.book3d > img:first-child{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.book3d::before{content:"";position:absolute;inset:0 auto 0 0;width:7%;border-radius:3px 0 0 3px;background:linear-gradient(90deg,rgba(0,0,0,.38),rgba(0,0,0,.08) 40%,rgba(255,255,255,.22) 55%,rgba(0,0,0,0));z-index:2}
.book3d::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(105deg,rgba(255,255,255,.14),rgba(255,255,255,0) 40%);z-index:2;pointer-events:none}
.book3d .cover-logo{height:auto;position:absolute;z-index:3;top:7%;left:50%;transform:translateX(-50%);width:42%;filter:drop-shadow(0 3px 6px rgba(0,0,0,.35))}
.book3d .cover-title{position:absolute;z-index:3;left:12%;right:12%;bottom:7%;background:rgba(255,253,244,.92);color:var(--bark);font:700 clamp(1rem,.7rem + 1vw,1.55rem)/1.15 var(--serif);text-align:center;padding:.45em .6em;border-radius:999px}
.bookstage{padding:clamp(10px,3vw,40px) clamp(10px,3vw,40px) clamp(30px,4vw,56px)}
.onway{display:inline-block;font-family:var(--serif);font-style:italic;font-size:1.15rem;color:var(--ink-2);margin:0 0 .3em}

/* ---------- kig i bogen ---------- */
.peek{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.5vw,32px);list-style:none;margin:0;padding:0}
@media (max-width:860px){.peek{grid-template-columns:minmax(0,1fr)}}
.peek a{display:block;text-decoration:none;color:var(--ink)}
.spread{display:grid;grid-template-columns:1fr 1fr;border-radius:4px;overflow:hidden;box-shadow:var(--lift);position:relative;background:var(--leaf)}
.spread::after{content:"";position:absolute;inset:0 auto 0 calc(50% - 14px);width:28px;background:linear-gradient(90deg,rgba(0,0,0,0),rgba(0,0,0,.22) 50%,rgba(0,0,0,0));pointer-events:none}
.spread img{width:100%;aspect-ratio:297/210;object-fit:cover;object-position:50% 28%}
.peek .cap{display:block;margin-top:12px;font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--ink-2)}
.peek a:hover .cap{color:var(--link);text-decoration:underline}

/* ---------- fakta, læsetid og råd ---------- */
.facts{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.facts div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:9px 0}
.facts dt{color:var(--ink-2)}.facts dd{margin:0;font-weight:700;text-align:right}
@media (max-width:520px){.facts{grid-template-columns:minmax(0,1fr)}}
.tempo{margin:22px 0 0;padding:16px 20px;border-radius:var(--r);background:var(--surface);box-shadow:0 0 0 1px var(--line)}
.tempo label{display:flex;justify-content:space-between;gap:12px;font-weight:700;margin:0 0 8px}
.tempo output{font-family:var(--serif);font-size:1.25rem;color:var(--ink)}
.tempo input[type=range]{width:100%;padding:0;border:0;background:transparent;accent-color:var(--link)}
.tempo .ends{display:flex;justify-content:space-between;font-size:.98rem;color:var(--ink-2);margin:4px 0 0}
.advice{max-width:62ch}
.advice details{border-top:1px solid var(--line);padding:4px 0}
.advice details:last-child{border-bottom:1px solid var(--line)}
.advice summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;cursor:pointer;list-style:none;font:700 1.3rem/1.25 var(--serif);color:var(--ink)}
.advice summary::-webkit-details-marker{display:none}
.advice summary::after{content:"+";flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font:400 1.4rem/1 var(--sans);color:var(--link);box-shadow:inset 0 0 0 2px currentColor}
.advice details[open] summary::after{content:"–"}
.advice details p{margin:0 0 16px;color:var(--ink-2)}

/* ---------- vennerne som vindklokker (nat) ---------- */
.branches{display:grid;gap:44px}
.chimes{--G:clamp(12px,1.6vw,24px);--n:7;list-style:none;margin:0 auto;padding:0;position:relative;display:flex;justify-content:center;gap:var(--G);width:calc(var(--n)*((100% - 6*var(--G))/7) + (var(--n) - 1)*var(--G));max-width:100%}
.chimes.n1{--n:1}.chimes.n2{--n:2}.chimes.n3{--n:3}.chimes.n4{--n:4}.chimes.n5{--n:5}.chimes.n6{--n:6}.chimes.n7{--n:7}
.chimes::before{content:"";position:absolute;left:-28px;right:-28px;top:0;height:9px;border-radius:9px;background:linear-gradient(180deg,#7a5734,#3c2a1a);box-shadow:0 3px 6px rgba(0,0,0,.4)}
.chimes .chime{flex:0 0 calc((100% - (var(--n) - 1)*var(--G))/var(--n));min-width:0}
@media (max-width:760px){.chimes{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 10px}.chimes::before{display:none}.chimes .chime{padding-top:18px}.chimes .chime::before{height:19px}}
.chime{position:relative;padding-top:34px;transform-origin:50% 0;transition:transform .5s cubic-bezier(.3,.7,.3,1)}
.chime::before{content:"";position:absolute;left:50%;top:4px;width:2px;height:31px;background:#c9a46a}
.chime:hover,.chime:focus-within{animation:ring 1.6s ease-in-out}
.chime:nth-child(even):hover,.chime:nth-child(even):focus-within{animation-name:ring2}
@keyframes ring{0%,100%{transform:rotate(0)}25%{transform:rotate(3deg)}55%{transform:rotate(-2deg)}80%{transform:rotate(1deg)}}
@keyframes ring2{0%,100%{transform:rotate(0)}25%{transform:rotate(-3deg)}55%{transform:rotate(2deg)}80%{transform:rotate(-1deg)}}
.chime a,.chime button{display:block;width:100%;padding:0;border:0;font:inherit;cursor:pointer;text-align:center;text-decoration:none;color:var(--bark);background:var(--leaf);border-radius:14px;overflow:hidden;box-shadow:0 0 0 1px rgba(240,176,74,.25),0 14px 30px -10px rgba(0,0,0,.6),0 0 40px -10px rgba(240,176,74,.35)}
.chime a:hover,.chime button:hover{box-shadow:0 0 0 2px var(--lantern),0 14px 30px -10px rgba(0,0,0,.6),0 0 50px -6px rgba(240,176,74,.55)}
.night .chime a{color:var(--bark)}
.chime .fig{aspect-ratio:4/5}
.chime .nm{display:flex;align-items:center;justify-content:center;min-height:2.9em;padding:4px 6px 6px;font:700 1.05rem/1.15 var(--serif);text-align:center;color:var(--bark)}
.fig{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;background:var(--paper-2)}

/* ---------- løfte til de voksne ---------- */
.promise{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(28px,5vw,80px);align-items:start}
@media (max-width:860px){.promise{grid-template-columns:minmax(0,1fr)}}
.leaves{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.leaves li{position:relative;padding-left:40px;font-size:1.15rem}
.leaves li strong{display:block;font-family:var(--serif);font-size:1.3rem;line-height:1.2;margin-bottom:2px}
.leaves li::before{content:"";position:absolute;left:4px;top:.35em;width:18px;height:18px;border-radius:0 70% 0 70%;background:var(--link);transform:rotate(-8deg)}

/* ---------- universet: figurer og steder ---------- */
.figgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:clamp(16px,2vw,28px)}
@media (max-width:1100px){.figgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.figgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.figgrid{grid-template-columns:minmax(0,1fr)}}
.figcard{position:relative;display:flex;flex-direction:column;background:var(--surface);border-radius:var(--r);overflow:hidden;box-shadow:0 0 0 1px rgba(var(--shade),.08),0 10px 24px -16px rgba(var(--shade),.45);scroll-margin-top:100px;transition:transform .25s ease,box-shadow .25s ease}
.figcard:hover,.figcard:focus-within{transform:translateY(-3px);box-shadow:0 0 0 2px var(--lantern),0 16px 30px -16px rgba(var(--shade),.5)}
.figcard .body{padding:16px 18px 20px;display:flex;flex-direction:column;flex:1}
.figcard h3{margin-bottom:.15em}
.figcard .kind{font-family:var(--serif);font-style:italic;color:var(--ink-2);margin:0 0 .6em}
.figcard p{font-size:1.05rem;line-height:1.5}
.figcard .home{margin:auto 0 0;font-size:1rem;padding-top:8px;border-top:1px solid var(--line)}
.figcard h3 a{color:inherit;text-decoration:none}.figcard h3 a::after{content:"";position:absolute;inset:0}.figcard h3 a:focus-visible{outline:none}.figcard:has(h3 a:focus-visible){outline:3px solid var(--lantern-2);outline-offset:3px}.figcard .home a{position:relative;z-index:1}
@media (max-width:520px){.figcard{display:grid;grid-template-columns:40% 1fr}.figcard .fig{height:100%;aspect-ratio:auto}}
.places{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:clamp(18px,2.4vw,32px)}
@media (max-width:1000px){.places{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.places{grid-template-columns:minmax(0,1fr)}}
.place{display:flex;flex-direction:column;scroll-margin-top:100px}
.place .loc{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r);box-shadow:var(--lift)}
.place h3{margin:16px 0 .25em}
.place p{font-size:1.06rem;line-height:1.5;color:var(--ink-2);margin:0}
.place .home{margin-top:6px}
.place.feature{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(20px,4vw,56px);align-items:center}
.place.feature .loc{aspect-ratio:16/9}
.place.feature h3{font-size:clamp(1.6rem,1.3rem + 1vw,2.2rem);margin-top:0}
.place.feature p{font-size:1.15rem}
.place:target .loc{box-shadow:0 0 0 3px var(--lantern),var(--lift)}
@media (max-width:860px){.place.feature{grid-template-columns:minmax(0,1fr)}}

/* ---------- kortet over Fnullerskoven (site_components.map_svg + map.js) ---------- */
.map{position:relative;max-width:960px;margin:0 auto}
.map.compact{max-width:620px;margin-top:clamp(40px,6vw,72px)}
.map-svg{display:block;width:100%;height:auto;aspect-ratio:5/4;border-radius:18px;background:#24432b;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.map-label{font-family:var(--sans);font-weight:600;paint-order:stroke;stroke:#17271d;stroke-width:.7px}
.map-pin{cursor:pointer;outline:none}
.map-pin .map-halo{transform-box:fill-box;transform-origin:center;transition:transform .2s ease,fill-opacity .2s ease}
.map-pin:hover .map-halo,.map-pin.on .map-halo{transform:scale(1.5);fill-opacity:.55}
.map-pin:focus-visible .map-halo{transform:scale(1.6);fill-opacity:.6;stroke:#f5ecd6;stroke-width:.5px}
.map-card{position:absolute;width:min(36%,280px);margin:0;padding:.6rem .6rem .8rem;background:var(--leaf);color:var(--bark);border-radius:14px;box-shadow:0 10px 30px rgba(15,26,20,.35);pointer-events:none}
.map-card.at-left{left:3%}.map-card.at-right{right:3%}.map-card.at-top{top:4%}.map-card.at-bottom{top:auto;bottom:4%}
.map-card-img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:9px}
.night .map-card-name,.map-card-name{margin:.5rem 0 0;font:700 1.1rem/1.2 var(--serif);color:var(--bark)}
.night .map-card-text,.map-card-text{margin:.2rem 0 0;font-size:.95rem;line-height:1.4;color:#574838}
@media (max-width:600px){.map-label{display:none}.map-card{position:static;width:auto;margin-top:.75rem;display:grid;grid-template-columns:40% 1fr;gap:0 .75rem;align-items:center;box-shadow:none}.map-card-img{grid-row:span 2}.map-card-name{margin:0}.map-card-text{font-size:.9rem}}

/* ---------- vennernes side-i-siden (site_components.figure_dialog_html + dialog.js) ---------- */
[data-dialog]{cursor:pointer}
.dlg{padding:0;border:0;border-radius:18px;width:min(720px,calc(100vw - 32px));max-height:calc(100dvh - 32px);background:var(--surface);color:var(--ink);box-shadow:0 24px 60px rgba(15,26,20,.45);overscroll-behavior:contain}
.dlg::backdrop{background:rgba(15,26,20,.6)}
.dlg-inner{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,5fr);gap:1.5rem;padding:1.5rem;align-items:start}
.dlg-img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:12px}
.dlg-name{margin:0;font-size:clamp(1.6rem,1.2rem + 1.2vw,2.2rem);line-height:1.15}
.dlg-role{margin:.3rem 0 0;color:var(--ink-2);font-family:var(--serif);font-style:italic}
.dlg-home{margin:.6rem 0 0}
.dlg-line{margin:1rem 0 0;font:italic 1.15rem/1.6 var(--serif)}
.dlg-close{margin-top:1.5rem}
.dlg[open]{animation:dlg-in .25s ease-out}
@keyframes dlg-in{from{opacity:0;transform:translateY(8px)}}
@media (max-width:600px){.dlg-inner{grid-template-columns:1fr;padding:1rem}.dlg-img{max-width:220px}}

/* ---------- kort (tegneserien) ---------- */
.grid{display:grid;gap:clamp(18px,2.4vw,32px);grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));grid-auto-rows:1fr}
.card{background:var(--surface);border-radius:var(--r);overflow:hidden;box-shadow:0 0 0 1px rgba(var(--shade),.08),0 10px 24px -16px rgba(var(--shade),.45);display:flex;flex-direction:column}
.card .body{padding:18px 22px 24px;display:flex;flex-direction:column;flex:1}
.card .body > :last-child{margin-bottom:0}
.card .body .btn{align-self:flex-start;margin-top:auto}
.loc{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}

/* ---------- bøger: produkt ---------- */
.product-info h1{margin-bottom:.2em}
.buybox{background:var(--surface);border-radius:var(--r-lg);padding:22px 24px 24px;margin:26px 0 22px;box-shadow:0 0 0 1px rgba(var(--shade),.1)}
.buybox .cta{margin-top:16px}
.assure{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:6px;font-size:1.02rem;color:var(--ink-2)}
.assure.big{font-size:1.15rem;margin-bottom:1em}
.assure li{padding-left:26px;position:relative}
.assure li::before{content:"";position:absolute;left:2px;top:.45em;width:12px;height:7px;border-left:2.5px solid var(--link);border-bottom:2.5px solid var(--link);transform:rotate(-45deg)}
.backcover{background:var(--night);color:var(--moon);border-radius:var(--r-lg);padding:clamp(28px,5vw,56px);font-family:var(--serif);font-size:clamp(1.2rem,1.1rem + .3vw,1.4rem);line-height:1.55;box-shadow:var(--lift)}
.backcover h2{color:var(--lantern);font-size:1.5rem}
.backcover p:last-child{margin:0;font-style:italic;color:#d9d1bb}
blockquote{margin:0;padding:4px 0 4px 24px;border-left:3px solid var(--lantern);font-family:var(--serif);font-size:1.3rem;line-height:1.55}
blockquote p{margin:0 0 .3em}
.ticks{padding-left:1.2em}.ticks li{margin:.35em 0}

/* ---------- formularer og butik ---------- */
form.order{display:grid;gap:16px;background:var(--surface);padding:clamp(22px,3vw,34px);border-radius:var(--r-lg);box-shadow:0 0 0 1px rgba(var(--shade),.1),var(--lift)}
form.order h2{font-size:1.7rem;margin:0}
label{font-weight:700;display:block;margin-bottom:6px}
input,textarea,select{width:100%;font:inherit;padding:12px 14px;border:1.5px solid var(--field);border-radius:var(--r-sm);background:var(--bg);color:var(--ink)}
input:focus-visible,textarea:focus-visible{border-color:var(--link);outline:3px solid rgba(46,86,54,.35);outline-offset:0}
label.check{display:flex;align-items:center;gap:10px;font-weight:500}
label.check input{width:22px;height:22px;accent-color:var(--moss)}
.stepper{display:inline-flex;align-items:center;gap:0;border:1.5px solid var(--field);border-radius:999px;overflow:hidden;background:var(--bg)}
.stepper input{width:4em;text-align:center;border:0;border-radius:0;font-weight:700;-moz-appearance:textfield}
.stepper input::-webkit-inner-spin-button,.stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.stepper .rbtn{background:transparent;color:var(--ink);border:0;border-radius:0;width:48px;height:48px;padding:0;font-size:1.4rem;justify-content:center}
.stepper .rbtn:hover{background:var(--bg-2);color:var(--ink)}
.sum{background:var(--bg);border-radius:var(--r);padding:12px 16px;margin:0;color:var(--ink)}
.sum strong{font-family:var(--serif);font-size:1.5rem}
.note{background:var(--tint);border-radius:var(--r);padding:16px 20px;color:var(--tint-ink)}
.note p{margin:.3em 0}
.orderline{display:grid;grid-template-columns:minmax(0,1fr);gap:22px}
.shop{margin-top:32px}
.shop .card .bookstage{padding:28px 28px 34px}
.steps{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;gap:16px}
.steps li{counter-increment:s;position:relative;padding-left:52px;min-height:36px}
.steps li::before{content:counter(s);position:absolute;left:0;top:-2px;width:36px;height:36px;border-radius:50%;background:var(--moss);color:#fff;font:700 1.1rem/36px var(--serif);text-align:center}
.steps strong{display:block}
.studio-logo{width:min(320px,80%);margin:0 auto;border-radius:50%;background:var(--leaf);padding:24px;box-shadow:var(--lift)}
.punch{font:italic 600 clamp(1.3rem,1.1rem + .5vw,1.6rem)/1.3 var(--serif);color:var(--ink)}

/* ---------- bånd ---------- */
.band{background:var(--moss);color:#fff;text-align:center}
:root[data-theme="nat"] .band{background:#1d3a27}
.band h2,.band p,.band .lead{color:#fff}
.band .lead{margin:0 auto}
.band .btn.ghost{color:#fff}.band .btn.ghost:hover{background:rgba(255,255,255,.12);color:#fff}
.band .btn.copper{color:var(--bark)}
.band .cta{justify-content:center}

/* ---------- fod (morgen efter natten) ---------- */
footer.site{background:var(--night);color:#d9d1bb;padding:clamp(48px,6vw,80px) 0 36px;margin-top:0}
:root[data-theme="nat"] footer.site{background:var(--deep)}
footer.site .cols{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,2fr);gap:40px;align-items:start}
@media (max-width:760px){footer.site .cols{grid-template-columns:minmax(0,1fr)}}
footer.site .studio{display:flex;gap:18px;align-items:center}
footer.site .studio img{height:88px;width:auto;background:var(--leaf);border-radius:50%;padding:8px;flex:none}
footer.site .studio p{margin:0;font-size:1.05rem}
footer.site .studio em{display:block;font-family:var(--serif);color:var(--moon);margin-top:4px}
footer.site ul{list-style:none;display:grid;grid-template-rows:repeat(4,auto);grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px 24px;padding:0;margin:0}
@media (max-width:520px){footer.site ul{grid-template-rows:none;grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}}
footer.site a{color:var(--moon);text-decoration:none}
footer.site a:hover{color:var(--lantern);text-decoration:underline}
footer.site .legal{border-top:1px solid rgba(245,236,214,.15);margin-top:36px;padding-top:20px;font-size:1rem;color:#b9b19a}
footer.site .legal p{margin:0}

/* ---------- 404 ---------- */
.lost{text-align:center;padding:clamp(64px,10vw,140px) 0}
.lost .lead{margin:0 auto}
.lost .cta{justify-content:center}

/* ---------- bogfremviser (altid nat) ---------- */
.reader-body{margin:0;height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--night);color:var(--moon);overflow:hidden}
.rhead{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;background:#102018;border-bottom:1px solid #2d4636}
.rhead .back{font-weight:700;text-decoration:none;padding:8px 10px;color:var(--moon);white-space:nowrap}
.rhead .back:hover{color:var(--lantern)}
.rtitle{font:700 1.15rem var(--serif);color:var(--moon);text-align:center;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bar{flex:none;height:4px;background:#2d4636}.bar i{display:block;height:100%;width:0;background:var(--lantern);transition:width .3s}
.viewer{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;padding:18px 72px;background:radial-gradient(ellipse 60% 70% at 50% 45%,#2f4d39 0,var(--night) 75%);container-type:size}
.stage{position:relative;max-height:100%;width:100%;max-width:1320px;display:grid;perspective:2600px;outline:none;overflow:auto;scrollbar-width:thin}
.stage.double{grid-template-columns:1fr 1fr;align-items:stretch;overflow:visible;filter:drop-shadow(0 22px 34px rgba(0,0,0,.55))}
.stage.single{grid-template-columns:1fr;max-width:640px;margin:auto}
@supports (width:1cqh){.stage.double{max-width:min(1320px,calc((100cqh - 240px) * 2.83))}.stage.single{max-width:min(640px,calc((100cqh - 220px) * 1.414),100%)}}
.slot{min-width:0}
.slot.l.empty .bpage{visibility:hidden}
.stage.double .slot.l .bpage{border-radius:6px 0 0 6px;box-shadow:inset -28px 0 30px -24px rgba(0,0,0,.4)}
.stage.double .slot.r .bpage{border-radius:0 6px 6px 0;box-shadow:inset 28px 0 30px -24px rgba(0,0,0,.4)}
.bpage{background:var(--leaf);color:var(--bark);overflow:hidden;height:100%;display:flex;flex-direction:column}
.stage.single .bpage{border-radius:8px;box-shadow:0 14px 34px rgba(0,0,0,.5)}
.bpage.blank{background:transparent;box-shadow:none}
.bpage .bimg{display:block;width:100%;aspect-ratio:297/210;object-fit:cover;object-position:50% 30%;cursor:zoom-in;background:var(--moss-2)}
.bpage .rtxt{padding:14px 24px 18px;font:400 clamp(1.05rem,.8rem + .6vw,1.35rem)/1.5 var(--serif);flex:1}
.bpage .rtxt p{margin:0 0 .3em}
.leaf{position:absolute;top:0;height:100%;width:50%;transform-style:preserve-3d;z-index:5;pointer-events:none}
.leaf.fwd{left:50%;transform-origin:left center}.leaf.back{left:0;transform-origin:right center}
.face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}
.face.backf{transform:rotateY(180deg)}
.face .bpage{height:100%}
.bend{background:var(--leaf);color:var(--bark);border-radius:var(--r-lg);padding:36px 28px;text-align:center;max-width:580px;margin:auto}
.bend h2{font-size:clamp(1.8rem,5vw,2.6rem);color:var(--bark)}
.bend .cta{justify-content:center}
.bend a:not(.btn){color:var(--moss)}
.bend .small{color:#574838}
.bend .btn.ghost{color:var(--moss)}
.edge{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border:0;border-radius:50%;background:rgba(245,236,214,.14);color:var(--moon);font-size:2rem;line-height:1;cursor:pointer;z-index:6}
.edge:hover:not(:disabled){background:var(--lantern);color:var(--bark)}.edge:disabled{opacity:.2;cursor:default}
.edge.prev{left:12px}.edge.next{right:12px}
.thumbs{flex:none;display:flex;gap:10px;overflow-x:auto;padding:10px 16px;background:#102018;border-top:1px solid #2d4636;scrollbar-width:thin}
.thumb{flex:none;display:flex;flex-flow:row wrap;justify-content:center;max-width:150px;gap:2px;background:transparent;border:2px solid transparent;border-radius:6px;padding:3px;cursor:pointer;color:#b9c2ad;font:500 .85rem var(--sans)}
.thumb img{width:64px;height:45px;object-fit:cover;border-radius:2px;display:inline-block}
.thumb span{flex-basis:100%;text-align:center}
.thumb:hover{color:var(--moon);border-color:#3d5a46}
.thumb.on{border-color:var(--lantern);color:#fff;background:rgba(240,176,74,.14)}
.rbar{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:10px 16px;background:#102018;border-top:1px solid #2d4636}
.rbar .sp{flex:1}.rbar .prog{font-weight:700;color:var(--moon);min-width:8.5em;text-align:center;font-variant-numeric:tabular-nums}.rbar .small{color:var(--lantern);font-size:.95rem}
.rbtn{display:inline-flex;align-items:center;gap:4px;background:#1f3628;color:var(--moon);border:1px solid #3d5a46;border-radius:999px;padding:8px 16px;font:500 1rem var(--sans);text-decoration:none;cursor:pointer;white-space:nowrap}
.rbtn:hover:not(:disabled){background:#2d4a37;color:#fff}.rbtn:disabled{opacity:.4;cursor:default}.rbtn small{font-weight:400;opacity:.85}
.reader-body :focus-visible{outline:3px solid var(--lantern)}
.zoomer{position:fixed;inset:0;background:rgba(10,18,13,.95);z-index:50;display:flex;flex-direction:column}.zoomer[hidden]{display:none}
.zoomer .zclose{align-self:flex-end;margin:10px}
.zscroll{flex:1;overflow:auto;touch-action:pan-x pan-y pinch-zoom;-webkit-overflow-scrolling:touch}
.zscroll img{max-width:none;width:max(100%,1600px);height:auto;margin:0 auto}
@media (max-width:899px),(orientation:portrait){.viewer{padding:8px}.edge{width:40px;height:40px;font-size:1.6rem;background:rgba(245,236,214,.2)}.stage.single{max-width:560px}.rbar .sp{display:none}.rtitle{font-size:1rem}.rhead .btn{padding:6px 12px}.thumb img{width:48px;height:34px}}
@media (max-width:520px){.rbar .btn,.rbar #pdf{flex:1 1 100%}.edge.prev{left:2px}.edge.next{right:2px}.rhead .back{padding:6px 4px}}
html:not(.js) .reader-body{height:auto;overflow:auto}html:not(.js) .bpages{list-style:none;padding:16px;max-width:760px;margin:auto}html:not(.js) .bpage{border-radius:8px;margin-bottom:18px}html:not(.js) .thumbs,html:not(.js) .rbar,html:not(.js) .bar,html:not(.js) .viewer{display:none}
.js .bpages{display:none}
[hidden]{display:none!important}

html:not(.js) .tempo{display:none}
.dusk-end{background:var(--dusk-bg)}

/* ---------- print: bogfakta og kontakt ---------- */
@media print{
  header.site,.night-toggle,.hero-night,.menu-btn,.cta,footer.site nav,.skip-link,.map,.tempo input{display:none!important}
  body,section,.night,.dusk,.morning,.band,footer.site{background:#fff!important;color:#000!important}
  h1,h2,h3,p,.lead,.small,dd,dt,footer.site .legal{color:#000!important}
  section{padding:16px 0}
  a{color:#000;text-decoration:underline}
  .figcard,.card,.place{break-inside:avoid;box-shadow:none}
}

/* ---------- reduceret bevægelse: altid sidst ---------- */
@media (prefers-reduced-motion:reduce){
  .dlg[open]{animation:none}
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .flies,.firefly{display:none!important}
}
