/*
Theme Name: EventyrRiget V13
Author: Eventyrhuset
Description: EventyrRiget.dk – a small magical fantasy land with Eventyrhuset as the story hub.
Version: 13.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}}

/* V12 — Door-only cinematic magic: hover dust + click fireworks. */
.eh-hero-v3{width:100%;margin:0;padding:0;background:var(--night)}
.eh-house{position:relative;width:100%;margin:0;padding:0;line-height:0;overflow:hidden}
.eh-house-img{display:block;position:relative;z-index:1;width:100%;height:auto;margin:0;padding:0}
.eh-hotspot{position:absolute;display:block;z-index:4;line-height:normal;background:transparent;outline:none;border-radius:50% 50% 9% 9% / 22% 22% 7% 7%;clip-path:inset(0 round 50% 50% 9% 9%);box-shadow:none;transition:filter .22s ease,transform .22s ease}
.eh-hotspot::before{content:"";position:absolute;inset:0;border-radius:inherit;opacity:0;pointer-events:none;background:
 radial-gradient(circle at 15% 18%,#fffbd5 0 1.1%,transparent 2.2%),
 radial-gradient(circle at 31% 11%,#ffe79a 0 1%,transparent 2%),
 radial-gradient(circle at 54% 17%,#fff7c2 0 1.15%,transparent 2.2%),
 radial-gradient(circle at 79% 25%,#ffe58a 0 1.1%,transparent 2.2%),
 radial-gradient(circle at 88% 47%,#fffbdc 0 1.1%,transparent 2.1%),
 radial-gradient(circle at 70% 68%,#ffe18a 0 1%,transparent 2%),
 radial-gradient(circle at 46% 82%,#fff8c8 0 1.2%,transparent 2.3%),
 radial-gradient(circle at 21% 71%,#ffe58f 0 1%,transparent 2%),
 radial-gradient(ellipse at 50% 50%,transparent 48%,rgba(255,222,111,.18) 66%,rgba(255,242,175,.72) 77%,transparent 88%);
 filter:drop-shadow(0 0 5px rgba(255,223,112,.95));
 animation:eh-magic-dust 1.55s ease-in-out infinite}
.eh-hotspot::after{content:"";position:absolute;inset:1%;border-radius:inherit;opacity:0;pointer-events:none;background:conic-gradient(from 0deg,transparent 0 18%,rgba(255,240,166,.72) 22%,transparent 28% 54%,rgba(255,250,205,.55) 58%,transparent 64% 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:2px;filter:drop-shadow(0 0 7px rgba(255,224,121,.9));animation:eh-magic-ring 2.6s linear infinite}
.eh-hotspot:hover::before,.eh-hotspot:focus-visible::before,.eh-hotspot:hover::after,.eh-hotspot:focus-visible::after{opacity:1}
.eh-hotspot:hover{filter:drop-shadow(0 0 12px rgba(255,225,120,.9)) drop-shadow(0 0 24px rgba(255,198,70,.42));transform:scale(1.012)}
.eh-hotspot:active{transform:scale(.985)}
@keyframes eh-magic-dust{0%,100%{transform:scale(.97);opacity:.38}20%{opacity:.85}35%{transform:scale(1.012);opacity:1}55%{transform:scale(.995);opacity:.9}75%{opacity:1}90%{transform:scale(1.008);opacity:.72}}
@keyframes eh-magic-ring{to{transform:rotate(360deg)}}
/* Main doors: exact percentages of the 1536x1024 artwork. Door-only click areas. */
.eh-h-milo{left:26.0%;top:33.4%;width:7.9%;height:17.0%}
.eh-h-svale{left:36.1%;top:33.4%;width:8.0%;height:17.0%}
.eh-h-taare{left:46.0%;top:33.4%;width:8.0%;height:17.0%}
.eh-h-jul{left:56.0%;top:33.4%;width:8.2%;height:17.0%}
.eh-h-sten{left:66.8%;top:33.4%;width:8.0%;height:17.0%}
.eh-h-post{left:77.9%;top:33.4%;width:8.0%;height:17.0%}
.eh-h-musik{left:45.5%;top:60.0%;width:8.2%;height:17.0%}
.eh-h-ro{left:55.9%;top:60.0%;width:8.3%;height:17.0%}
.eh-h-new{left:66.8%;top:60.0%;width:8.3%;height:17.0%}
/* Cinematic click particles are created in the house and never alter the artwork. */
.eh-firework-layer{position:absolute;inset:0;z-index:8;pointer-events:none;overflow:hidden}
.eh-firework-particle{position:absolute;width:5px;height:5px;border-radius:50%;background:radial-gradient(circle,#fffde8 0 22%,#ffd86d 42%,rgba(255,203,75,0) 76%);box-shadow:0 0 6px #fff1a2,0 0 14px rgba(255,207,79,.9);opacity:0;will-change:transform,opacity}
.eh-firework-streak{position:absolute;width:2px;height:42px;border-radius:50%;background:linear-gradient(to bottom,#fffbe8,rgba(255,210,82,0));transform-origin:50% 100%;opacity:0;filter:drop-shadow(0 0 6px rgba(255,218,102,.95));will-change:transform,opacity}
.eh-firework-flash{position:absolute;width:30px;height:30px;border-radius:50%;background:radial-gradient(circle,rgba(255,250,211,.95) 0 5%,rgba(255,219,103,.7) 15%,rgba(255,205,77,0) 68%);transform:translate(-50%,-50%) scale(.2);opacity:0;filter:blur(.2px);will-change:transform,opacity}
.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-hotspot{border-radius:50% 50% 8% 8% / 20% 20% 6% 6%;clip-path:inset(0 round 50% 50% 8% 8%)}.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}}


/* V7 — EventyrRiget branding and legal/info areas */
.eh-brand{font-size:1.55rem;letter-spacing:.01em;color:var(--cream)}
.eh-brand small{letter-spacing:.02em;text-transform:none}
.eh-menu{align-items:center}
.eh-menu-member{display:inline-flex!important;padding:9px 15px;border-radius:999px;background:var(--gold);color:#2b1b11!important;font-weight:750;opacity:1!important}
.eh-riget-intro{background:linear-gradient(180deg,#0b2023,#102b2e);padding:58px 0 48px;text-align:center;border-bottom:1px solid rgba(255,255,255,.08)}
.eh-riget-intro h1{font:700 clamp(2.7rem,6vw,5.2rem)/.95 Georgia,serif;margin:8px 0 18px}
.eh-riget-intro p{max-width:850px;margin:0 auto;color:#ded6c7;font-size:clamp(1.05rem,2vw,1.3rem)}
.eh-riget-subline{margin-top:18px!important;color:var(--gold2)!important;font:700 1rem Georgia,serif!important;letter-spacing:.12em}
.eh-email{color:var(--gold2);font-size:1.15rem}
.eh-footer-contact a{color:var(--gold2)}
.eh-footer-links{font-size:.88rem;line-height:2}
.eh-ai-footer{margin-top:18px;padding:9px 14px;border-top:1px solid rgba(216,171,98,.16);color:rgba(217,209,194,.68);font-size:.70rem;line-height:1.45;text-align:center;background:transparent}.eh-ai-footer strong{font-weight:600;color:rgba(217,209,194,.78)}
@media(max-width:900px){.eh-nav{align-items:flex-start;padding:12px 0}.eh-brand{font-size:1.25rem}.eh-menu{gap:12px;flex-wrap:wrap;justify-content:flex-end}.eh-riget-intro{padding:42px 0 36px}}

/* V13 — Account, login and membership UI */
.eh-form-card,.eh-account-card{max-width:680px;margin:0 0 24px;padding:28px;border-radius:22px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.10);box-shadow:0 16px 45px rgba(0,0,0,.14)}
.eh-form-card h2,.eh-account-card h2{font:700 1.7rem Georgia,serif;margin:0 0 18px}
.eh-account-form{display:grid;gap:16px}
.eh-account-form label{display:grid;gap:7px;color:var(--cream);font-weight:650}
.eh-account-form input[type=text],.eh-account-form input[type=email],.eh-account-form input[type=password]{width:100%;padding:13px 14px;border-radius:11px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.94);color:#241c16;font:inherit}
.eh-account-form input:focus{outline:2px solid var(--gold2);outline-offset:1px}
.eh-field-help{font-size:.8rem;opacity:.7;font-weight:400}
.eh-check{display:flex!important;grid-template-columns:auto 1fr;align-items:center;gap:8px;font-weight:400!important}
.eh-check input{width:auto}
.eh-form-error,.eh-form-success{max-width:680px;margin:0 0 20px;padding:14px 16px;border-radius:12px}
.eh-form-error{background:rgba(150,40,40,.18);border:1px solid rgba(255,150,150,.22)}
.eh-form-success{background:rgba(70,150,105,.16);border:1px solid rgba(140,230,175,.20)}
.eh-text-link{display:inline-block;margin:15px 15px 0 0;color:var(--gold2);text-decoration:none}
.eh-text-link:hover{text-decoration:underline}
.eh-status-ok{padding:14px 16px;border-radius:12px;background:rgba(70,150,105,.13);border:1px solid rgba(140,230,175,.18)}
.eh-login-prompt{margin-top:18px}
.eh-button-ghost{border:1px solid rgba(255,255,255,.18)}
@media(max-width:600px){.eh-form-card,.eh-account-card{padding:21px}.eh-text-link{margin-top:13px}}
