/*
Theme Name: Eventyrhuset V5
Author: Eventyrhuset
Description: Custom Danish audio-story universe with an interactive story-house front page.
Version: 5.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: eventyrhuset
*/

:root{
 --night:#0c1b1f;--night2:#122a2e;--forest:#29483c;--moss:#68785a;
 --gold:#d8ab62;--gold2:#f2cf8b;--cream:#f7eedc;--paper:#fff8e9;
 --brown:#593a27;--muted:#cfc7b7;--shadow:0 20px 60px rgba(0,0,0,.28);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--night);color:var(--cream);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}
a{color:inherit}
img{max-width:100%;height:auto}
.eh-wrap{width:min(1180px,92vw);margin-inline:auto}
.eh-header{position:sticky;top:0;z-index:100;background:rgba(8,20,23,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.09)}
.eh-nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.eh-brand{text-decoration:none;font:700 1.4rem Georgia,serif;letter-spacing:.05em}
.eh-brand small{display:block;font:400 .68rem system-ui;letter-spacing:.09em;opacity:.7}
.eh-menu{display:flex;gap:20px;list-style:none;padding:0;margin:0}
.eh-menu a{text-decoration:none;opacity:.9}
.eh-menu a:hover{color:var(--gold2)}
.eh-hero{min-height:calc(100vh - 72px);display:grid;place-items:center;background:
 linear-gradient(180deg,rgba(6,20,23,.08),rgba(6,20,23,.9)),
 url("assets/hero.png") center/cover no-repeat;position:relative}
.eh-hero:after{content:"";position:absolute;inset:auto 0 0;height:130px;background:linear-gradient(transparent,var(--night))}
.eh-hero-card{position:relative;z-index:2;text-align:center;padding:40px 25px;max-width:820px}
.eh-kicker{text-transform:uppercase;letter-spacing:.2em;font-size:.78rem}
.eh-hero h1{font:700 clamp(3.5rem,9vw,7.5rem)/.88 Georgia,serif;margin:.15em 0;text-shadow:0 5px 30px rgba(0,0,0,.5)}
.eh-hero p{font-size:clamp(1.1rem,2vw,1.4rem);margin:18px auto 28px}
.eh-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 21px;border-radius:999px;background:var(--gold);color:#2b1b11;text-decoration:none;font-weight:750;box-shadow:0 9px 25px rgba(0,0,0,.22)}
.eh-button:hover{background:var(--gold2);transform:translateY(-1px)}
.eh-section{padding:88px 0}
.eh-section h2{font:700 clamp(2.1rem,4.5vw,3.5rem)/1.05 Georgia,serif;margin:0 0 12px}
.eh-intro{max-width:750px;color:var(--muted);margin:0 0 34px}
.eh-door-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.eh-door{min-height:410px;position:relative;border-radius:24px;overflow:hidden;text-decoration:none;background:#1b3437;box-shadow:var(--shadow);isolation:isolate}
.eh-door-media{position:absolute;inset:0;background:center/cover no-repeat;transition:transform .55s ease,filter .55s ease;z-index:-2}
.eh-door:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03) 25%,rgba(0,0,0,.92) 100%);z-index:-1}
.eh-door:hover .eh-door-media{transform:scale(1.055);filter:brightness(1.08) saturate(1.08)}
.eh-door-content{position:absolute;left:0;right:0;bottom:0;padding:24px}
.eh-door h3{font:700 1.75rem/1.08 Georgia,serif;margin:8px 0}
.eh-door p{margin:0 0 14px;color:#f2ecdf}
.eh-tag{display:inline-block;padding:4px 9px;border-radius:999px;background:rgba(0,0,0,.28);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.eh-door-plain{background:linear-gradient(135deg,#332b46,#101c2c)}
.eh-door-relax{background:linear-gradient(135deg,#23586a,#10272d)}
.eh-door-more{background:linear-gradient(135deg,#5a4931,#1d201e)}
.eh-feature{background:var(--paper);color:#33251b}
.eh-feature .eh-wrap{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}
.eh-feature img{border-radius:25px;box-shadow:var(--shadow)}
.eh-dark{background:#081518}
.eh-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:#c6a064}
.eh-footer{background:#071114;border-top:1px solid rgba(255,255,255,.08);padding:45px 0}
.eh-footer-grid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
.eh-footer a{text-decoration:none}
.eh-breadcrumb{padding:25px 0;opacity:.7;font-size:.9rem}
.eh-single-hero{background:var(--night2);padding:65px 0}
.eh-single-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:45px;align-items:center}
.eh-single-title{font:700 clamp(2.7rem,6vw,5.4rem)/.95 Georgia,serif;margin:.2em 0}
.eh-cover{border-radius:26px;overflow:hidden;box-shadow:var(--shadow)}
.eh-content{max-width:800px}
.eh-episodes{display:grid;gap:15px;margin-top:25px}
.eh-episode{background:var(--paper);color:#32231b;border-radius:18px;padding:20px;display:grid;grid-template-columns:1fr;gap:12px}
.eh-episode h3{font:700 1.35rem Georgia,serif;margin:3px 0}
.eh-episode p{margin:5px 0}
.eh-player audio{width:100%}
.eh-note{padding:18px;border-left:4px solid var(--gold);background:rgba(255,255,255,.06)}
.eh-library{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.eh-card{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09);border-radius:20px;padding:22px}
.eh-card h3{margin-top:0;font:700 1.4rem Georgia,serif}
.eh-form input,.eh-form textarea{width:100%;padding:13px;border-radius:10px;border:1px solid #cbbda9}
.eh-small{font-size:.88rem;opacity:.72}
@media(max-width:900px){.eh-door-grid{grid-template-columns:repeat(2,1fr)}.eh-feature .eh-wrap,.eh-single-grid{grid-template-columns:1fr}.eh-library{grid-template-columns:1fr}.eh-menu{display:none}}
@media(max-width:600px){.eh-door-grid{grid-template-columns:1fr}.eh-section{padding:60px 0}.eh-door{min-height:350px}.eh-hero{background-attachment:scroll}}

/* V3 — The house itself is the navigation. */
.eh-hero-v3{background:#0a191c;min-height:0;position:relative;overflow:hidden}
.eh-house{position:relative;width:100%;max-width:1800px;margin:0 auto;line-height:0}
.eh-house-img{display:block;width:100%;height:auto}
.eh-house-title{display:none}
.eh-house-title h1{font:700 clamp(2.7rem,7vw,6.6rem)/.9 Georgia,serif;margin:0}
.eh-house-title p{font:500 clamp(.8rem,1.7vw,1.25rem)/1.2 system-ui;margin:12px 0 0}
.eh-hotspot{position:absolute;display:block;border-radius:30px;outline:none;transition:background .25s,box-shadow .25s,transform .25s;line-height:normal}
.eh-hotspot:hover,.eh-hotspot:focus-visible{background:rgba(255,255,255,.08);box-shadow:0 0 0 3px rgba(242,207,139,.75),0 0 35px rgba(242,207,139,.45) inset,0 0 35px rgba(242,207,139,.35);transform:scale(1.018)}
.eh-hotspot:after{content:'Åbn';position:absolute;left:50%;bottom:7%;transform:translateX(-50%);padding:5px 11px;border-radius:999px;background:rgba(31,20,13,.78);color:#fff8e9;font:700 .78rem system-ui;opacity:0;transition:opacity .2s;white-space:nowrap}
.eh-hotspot:hover:after,.eh-hotspot:focus-visible:after{opacity:1}
/* Clickable door areas correspond to the supplied house artwork. */
.eh-h-milo{left:12.2%;top:32.2%;width:12.1%;height:27.4%}
.eh-h-svale{left:25.0%;top:32.1%;width:11.9%;height:27.6%}
.eh-h-taare{left:38.0%;top:32.0%;width:11.8%;height:27.8%}
.eh-h-jul{left:50.7%;top:31.9%;width:11.9%;height:27.9%}
.eh-h-sten{left:63.6%;top:32.0%;width:11.8%;height:27.7%}
.eh-h-post{left:76.0%;top:32.0%;width:12.4%;height:27.8%}
.eh-h-musik{left:38.5%;top:67.0%;width:12.0%;height:28.2%}
.eh-h-ro{left:51.7%;top:67.0%;width:12.0%;height:28.2%}
.eh-h-new{left:64.8%;top:67.0%;width:12.0%;height:28.2%}
.eh-below{background:var(--night);padding:70px 0 85px}
.eh-below-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.eh-below-card{padding:24px;border-radius:20px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08)}
.eh-below-card h3{font:700 1.45rem Georgia,serif;margin:0 0 7px}
@media(max-width:700px){.eh-house-title h1{font-size:clamp(2rem,8vw,3.5rem)}.eh-house-title p{font-size:.72rem}.eh-hotspot:after{display:none}.eh-below-grid{grid-template-columns:1fr}.eh-below{padding:45px 0}}

/* V5 — Series pages */
.eh-series-page{background:var(--night)}
.eh-series-hero{padding:52px 0 70px;background:radial-gradient(circle at 75% 25%,rgba(216,171,98,.12),transparent 35%),linear-gradient(145deg,#10272a,#0b1b1e)}
.eh-series-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:55px;align-items:center}
.eh-series-copy{max-width:680px}
.eh-series-kicker{display:block;margin-top:30px}
.eh-breadcrumb{display:flex;gap:9px;align-items:center;margin:0 0 18px;padding:0;font-size:.88rem;color:var(--muted)}
.eh-breadcrumb a{text-decoration:none}
.eh-breadcrumb a:hover{color:var(--gold2)}
.eh-button-ghost{background:rgba(255,255,255,.08);color:var(--cream);border:1px solid rgba(255,255,255,.16);box-shadow:none}
.eh-series-title{font:700 clamp(3rem,6vw,5.8rem)/.94 Georgia,serif;margin:8px 0 18px;letter-spacing:-.02em}
.eh-series-lead{font-size:clamp(1.15rem,2vw,1.45rem);color:#e6dece;max-width:620px;margin:0 0 22px}
.eh-series-meta{display:flex;flex-wrap:wrap;gap:9px}
.eh-series-meta span{padding:6px 11px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);font-size:.78rem;color:#ded4c2}
.eh-series-cover{border-radius:30px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.42);border:1px solid rgba(255,255,255,.12);background:#1b3437}
.eh-series-cover img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}
.eh-series-body{padding:75px 0 95px}
.eh-series-content{max-width:980px}
.eh-story-intro{max-width:780px;margin-bottom:65px}
.eh-story-intro p{font-size:1.1rem;color:#d7cfbf}
.eh-story-intro h2,.eh-story-intro h3{font-family:Georgia,serif}
.eh-episode-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}
.eh-episode-heading h2{font:700 clamp(2.2rem,4vw,3.5rem)/1 Georgia,serif;margin:5px 0 0}
.eh-episode-count{padding:7px 12px;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:var(--muted);font-size:.82rem}
.eh-episode{border:1px solid rgba(255,255,255,.11);background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.035));color:var(--cream);border-radius:22px;padding:23px;box-shadow:0 12px 35px rgba(0,0,0,.16)}
.eh-episode-main{display:grid;grid-template-columns:58px 1fr;gap:16px;align-items:start}
.eh-episode-number{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:rgba(216,171,98,.14);color:var(--gold2);font:700 1rem Georgia,serif;border:1px solid rgba(216,171,98,.25)}
.eh-episode-top{display:flex;align-items:center;gap:10px;min-height:22px}
.eh-episode h3{color:var(--cream);font:700 1.55rem/1.15 Georgia,serif;margin:6px 0}
.eh-episode p{color:#cfc7b7;margin:0;max-width:720px}
.eh-premium{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;padding:4px 7px;border-radius:999px;background:rgba(216,171,98,.12);color:var(--gold2);border:1px solid rgba(216,171,98,.22)}
.eh-player{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.09)}
.eh-player audio{display:block;width:100%}
.eh-audio-placeholder{margin-top:18px;padding:13px 15px;border-radius:13px;background:rgba(255,255,255,.045);color:#a9a092;font-size:.9rem}
.eh-audio-placeholder span{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:50%;background:rgba(216,171,98,.15);color:var(--gold2);margin-right:8px}
.eh-empty-episodes{text-align:center;padding:55px 25px;border:1px dashed rgba(255,255,255,.18);border-radius:24px;background:rgba(255,255,255,.025)}
.eh-empty-icon{font:400 3rem Georgia,serif;color:var(--gold2);margin-bottom:8px}
.eh-empty-episodes h3{font:700 1.6rem Georgia,serif;margin:5px 0 8px}
.eh-empty-episodes p{max-width:600px;margin:0 auto;color:var(--muted)}
.eh-series-back{text-align:center;margin-top:45px}
@media(max-width:900px){.eh-series-grid{grid-template-columns:1fr;gap:35px}.eh-series-copy{max-width:none}.eh-series-cover{max-width:620px}.eh-series-body{padding-top:55px}}
@media(max-width:600px){.eh-series-hero{padding:35px 0 50px}.eh-series-title{font-size:clamp(2.7rem,12vw,4.2rem)}.eh-series-kicker{margin-top:24px}.eh-series-cover{border-radius:22px}.eh-series-body{padding:45px 0 65px}.eh-episode{padding:18px}.eh-episode-main{grid-template-columns:44px 1fr;gap:12px}.eh-episode-number{width:40px;height:40px;font-size:.9rem}.eh-episode h3{font-size:1.3rem}.eh-episode-heading{align-items:start;flex-direction:column}}


/* Membership lock */
.eh-member-lock{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:inherit}
.eh-member-lock p{margin:4px 0 0;opacity:.8;font-size:.9rem}
.eh-lock-icon{font-size:1.35rem;flex:0 0 auto}
.eh-member-lock .eh-button{margin-left:auto;white-space:nowrap}
.eh-button-small{padding:9px 14px;font-size:.85rem}
@media(max-width:700px){.eh-member-lock{align-items:flex-start;flex-wrap:wrap}.eh-member-lock .eh-button{margin-left:0}}
