/*
Theme Name: Idas Halloween – Scream Night v43
Author: Privat
Description: En sammanhängande filmisk kärlekshistoria med scrollstyrda mjuka bildövergångar.
Version: 43.0.0
Requires PHP: 7.4
*/
:root{color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:#0b090c;color:#fff}body{font-family:Georgia,serif}.brand{position:fixed;top:25px;left:0;right:0;text-align:center;z-index:10;pointer-events:none;font:11px system-ui;letter-spacing:.3em;text-transform:uppercase;text-shadow:0 2px 12px #000}.scene{height:170svh;position:relative}.scene:last-child{height:120svh}.frame{position:sticky;top:0;height:100svh;overflow:hidden;display:grid;place-items:center}.photo{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.05);will-change:opacity,transform}.photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0005 0%,#0002 35%,#000b 100%)}.caption{position:relative;z-index:1;text-align:center;max-width:780px;padding:30px 25px;margin-top:22vh;text-shadow:0 2px 20px #0009;will-change:opacity,transform}.caption h2{font-size:clamp(38px,6vw,82px);font-weight:400;line-height:1.1;margin:0 0 22px}.caption p{font-size:clamp(18px,2vw,24px);line-height:1.7;margin:0}.eyebrow{font:11px system-ui;letter-spacing:.3em;text-transform:uppercase;color:#e7c8aa;margin-bottom:24px!important}.empty{min-height:100svh;display:grid;place-items:center;text-align:center;padding:30px}.empty h1{font-weight:400;font-size:clamp(35px,6vw,70px)}.end{padding:100px 20px;text-align:center;font-size:clamp(20px,3vw,32px);font-style:italic;color:#e7c8aa}a{color:#e7c8aa}.plain{max-width:760px;margin:120px auto;padding:20px;line-height:1.8}.plain img{max-width:100%;height:auto}@media(prefers-reduced-motion:reduce){.scene{height:100svh}.photo,.caption{will-change:auto}}

/* Filmiskt intro: svart ridå, tre textsekvenser och mjuk övertoning. */
.film-intro{position:fixed;inset:0;z-index:100;background:#080609;display:grid;place-items:center;opacity:1;visibility:visible;transition:opacity 1.65s ease,visibility 1.65s ease}
.film-intro.is-ending{opacity:0;visibility:hidden;pointer-events:none}
.film-intro__content{position:relative;text-align:center;width:min(900px,94vw);padding:30px 20px;min-height:230px;display:flex;flex-direction:column;justify-content:center}
.film-intro__eyebrow{font:11px system-ui,sans-serif;letter-spacing:.4em;color:#d8b995;margin:0 0 32px;opacity:0;animation:intro-text 1.2s ease .25s forwards}
.film-intro__line{font:400 clamp(23px,4vw,48px)/1.35 Georgia,serif;margin:7px 0;opacity:0;transform:translateY(12px)}
.film-intro__line--one{animation:intro-text 1.2s ease .7s forwards}
.film-intro__line--two{animation:intro-text 1.2s ease 1.75s forwards}
.film-intro__line--three{color:#f0d5b6;animation:intro-text 1.3s ease 2.8s forwards}
@keyframes intro-text{to{opacity:1;transform:translateY(0)}}
.film-intro__skip{position:absolute;bottom:clamp(20px,5vh,60px);right:clamp(18px,4vw,65px);border:1px solid #ffffff55;border-radius:30px;background:#ffffff0d;color:#fff;font:12px system-ui,sans-serif;letter-spacing:.08em;padding:12px 18px;cursor:pointer}
.film-intro__skip:hover{background:#ffffff25}
body.film-intro-active{overflow:hidden}
@media(prefers-reduced-motion:reduce){.film-intro,.film-intro__line,.film-intro__eyebrow{animation:none!important;transition:none!important}}

.film-ending{min-height:120svh;background:#080609;display:grid;place-items:center;padding:90px 22px 120px}.film-ending__inner{max-width:940px;text-align:center;opacity:0;transform:translateY(35px);transition:opacity 1.8s ease,transform 1.8s ease}.film-ending.is-visible .film-ending__inner{opacity:1;transform:none}.film-ending__eyebrow{font:11px system-ui;letter-spacing:.34em;color:#d8b995;margin-bottom:34px}.film-ending h2{font:400 clamp(27px,4.5vw,58px)/1.35 Georgia,serif}.film-ending__last{font:italic clamp(19px,2.5vw,28px) Georgia,serif;color:#e7c8aa;margin-top:45px}@media(prefers-reduced-motion:reduce){.film-ending__inner{opacity:1;transform:none;transition:none}}

/* Meningarna träder fram efter hand som man scrollar. */
.scene{height:220svh}
.scene:last-of-type{height:220svh}
.caption{margin-top:16vh}
.caption .film-sentence{opacity:0;transform:translateY(18px);transition:none;margin:.35em 0;will-change:opacity,transform}
@media(prefers-reduced-motion:reduce){
  .scene,.scene:last-of-type{height:100svh}
  .caption .film-sentence{opacity:1!important;transform:none!important;will-change:auto}
}

/* Fullskärmsbildspel med filmiska övertoningar */
.film-hero{height:100svh;min-height:500px;position:relative;isolation:isolate;display:grid;place-items:center;overflow:hidden;background:#080609}
.film-hero__slides,.film-hero__slide{position:absolute;inset:0}
.film-hero__slide{background-size:cover;background-position:center;opacity:0;transform:scale(1.03);transition:opacity 2s ease;z-index:0}
.film-hero__slide.is-active{opacity:1;z-index:1;animation:film-kenburns 9s linear both}
.film-hero__slides:after{content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,#08060966 0%,#08060935 40%,#080609b8 100%);pointer-events:none}
@keyframes film-kenburns{from{transform:scale(1.03)}to{transform:scale(1.11)}}
.film-hero__copy{position:relative;z-index:3;max-width:850px;padding:0 25px;text-align:center;text-shadow:0 2px 16px #0009;margin-top:10vh}
.film-hero__copy h1{font-size:clamp(38px,6.4vw,82px);font-weight:400;line-height:1.13;margin:16px 0 22px}
.film-hero__copy>p:last-child{font-size:clamp(17px,2.1vw,24px);line-height:1.65;margin:0}
.film-hero__controls{position:absolute;z-index:4;bottom:65px;display:flex;gap:18px;align-items:center;font:13px system-ui,sans-serif}
.film-hero__controls button{background:#08060966;border:1px solid #ffffff77;color:#fff;border-radius:40px;min-width:42px;min-height:42px;cursor:pointer;font-size:21px}
.film-hero__controls .film-hero__toggle{font-size:12px;padding:0 15px}
.film-hero__scroll{position:absolute;z-index:4;bottom:22px;left:50%;transform:translateX(-50%);font:11px system-ui,sans-serif;letter-spacing:.15em;text-decoration:none;color:#f5e6da}
@media(prefers-reduced-motion:reduce){.film-hero__slide{transition:none;animation:none!important}}

/* Flytande navigering */
.film-nav{position:fixed;z-index:95;top:16px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:25px;max-width:calc(100% - 26px);padding:14px 23px;border:1px solid #ffffff33;border-radius:40px;background:#161116cb;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 12px 35px #0007;font:13px/1.4 system-ui,sans-serif}
.film-nav a{color:#f6f0eb;text-decoration:none;white-space:nowrap}.film-nav a:hover,.film-nav a[aria-current="page"]{color:#e7c8aa}.film-nav__home{font-weight:600}.film-nav__links{display:flex;gap:24px;overflow-x:auto;scrollbar-width:none}.film-nav__toggle{display:none;background:none;color:#fff;border:0;font-size:22px;cursor:pointer}
@media(max-width:720px){.film-nav{width:calc(100% - 28px);justify-content:space-between;border-radius:17px;flex-wrap:wrap}.film-nav__toggle{display:block}.film-nav__links{display:none;flex-basis:100%;flex-direction:column;gap:0;max-height:65vh;overflow:auto}.film-nav.is-open .film-nav__links{display:flex}.film-nav__links a{padding:13px 3px;border-top:1px solid #ffffff25}}

/* Individuell bildstorlek i Våra minnen; standardlayouten påverkas inte. */
.photo.photo--contained{inset:auto;position:absolute;width:var(--photo-width,85%);height:var(--photo-height,85%);max-width:100%;max-height:100%;background-size:contain;background-repeat:no-repeat;background-position:center;box-shadow:0 20px 70px #0005}
.photo.photo--contained[style*="--photo-position:top"]{top:0;left:50%;translate:-50% 0}
.photo.photo--contained[style*="--photo-position:bottom"]{bottom:0;left:50%;translate:-50% 0}
.photo.photo--contained[style*="--photo-position:left"]{left:0;top:50%;translate:0 -50%}
.photo.photo--contained[style*="--photo-position:right"]{right:0;top:50%;translate:0 -50%}
.photo.photo--contained[style*="--photo-position:center"]{left:50%;top:50%;translate:-50% -50%}
/* Behåll bakgrundens mörka filmkänsla och se till att texten är läsbar. */
.frame:has(.photo--contained){background:radial-gradient(ellipse at center,#231a21,#080609 75%)}
.photo--contained:after{background:linear-gradient(180deg,#0002,#0001 35%,#0009)}
@media(max-width:700px){.photo.photo--contained{width:min(96%,var(--photo-width,85%));height:var(--photo-height,85%)}}

/* Filmisk navigation mellan varje minne – placerad över fotografiet. */
.film-next-memory{position:absolute;z-index:5;bottom:22px;left:50%;transform:translateX(-50%);padding:12px 20px;max-width:calc(100% - 24px);white-space:nowrap;border:1px solid #ffffff50;border-radius:30px;background:#100b11b8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#f5e6da;font:12px system-ui,sans-serif;letter-spacing:.06em;cursor:pointer;transition:background .25s,border-color .25s}
.film-next-memory:hover,.film-next-memory:focus-visible{background:#2c1b2bcc;border-color:#e7c8aa;outline-offset:3px}
.film-next-memory span,.film-hero__scroll span{color:#e7c8aa;margin:0 .25em}
.film-hero__scroll{border:1px solid #ffffff50;border-radius:30px;background:#100b11b8;backdrop-filter:blur(12px);padding:12px 20px;white-space:nowrap;letter-spacing:.06em}
@media(prefers-reduced-motion:reduce){.film-next-memory{transition:none}}

/* Uppspelningsknapp för den filmiska minnesvandringen. */
.film-auto-memory{position:absolute;z-index:20;bottom:75px;left:50%;transform:translateX(-50%);border:1px solid rgba(255,255,255,.55);background:rgba(15,11,17,.72);color:#f8f0eb;border-radius:40px;padding:10px 22px;min-height:44px;font:13px/1.4 system-ui,sans-serif;letter-spacing:.04em;cursor:pointer;white-space:nowrap;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.film-auto-memory:hover,.film-auto-memory:focus-visible{border-color:#ebd1b4;background:rgba(40,29,39,.9)}
.film-auto-memory--hero{bottom:85px}
@media(max-width:640px){.film-auto-memory{bottom:80px;padding:9px 16px;font-size:12px}.film-auto-memory--hero{bottom:100px}}

/* v12: Båda knapparna på samma rad, under bildspelets kontroller. */
.film-memory-actions{position:absolute;z-index:22;bottom:20px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:12px;width:max-content;max-width:calc(100% - 20px)}
.film-memory-actions .film-auto-memory,.film-memory-actions .film-next-memory,.film-memory-actions .film-hero__scroll{position:static;bottom:auto;left:auto;transform:none;flex:0 1 auto;max-width:none;min-height:44px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;line-height:1.35;text-align:center}
.film-memory-actions--hero{bottom:18px}
.film-hero__controls{bottom:91px}
@media(max-width:600px){.film-memory-actions{gap:8px;width:calc(100% - 20px)}.film-memory-actions .film-auto-memory,.film-memory-actions .film-next-memory,.film-memory-actions .film-hero__scroll{font-size:11px;padding:10px 12px;white-space:normal}.film-memory-actions--hero{bottom:14px}.film-hero__controls{bottom:90px}}

/* v14: Hela textblocket visas samtidigt med rubriken, även under automatisk resa. */
.caption .film-sentence{opacity:1;transform:none;transition:none;will-change:auto}

/* v15: hela rubriken och texten framträder tillsammans på 1,6 sekunder. */
.scene .caption{opacity:0;transform:translateY(22px);transition:opacity 1.6s ease,transform 1.6s cubic-bezier(.2,.7,.2,1)}
.scene.is-caption-visible .caption{opacity:1;transform:translateY(0)}
.caption .film-sentence{opacity:1!important;transform:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.scene .caption{opacity:1!important;transform:none!important;transition:none!important}}

/* v16: Diskret tidsindikator direkt under de två berättarknapparna. */
.film-memory-actions{flex-wrap:wrap;row-gap:9px}
.film-memory-progress{
 flex:0 0 100%;height:4px;max-width:420px;margin:0 auto;
 background:rgba(255,255,255,.26);border-radius:999px;
 overflow:hidden;pointer-events:none;
}
.film-memory-progress__fill{
 display:block;width:0;height:100%;border-radius:inherit;
 background:linear-gradient(90deg,#b89577,#f4d9b9);
 box-shadow:0 0 7px rgba(244,217,185,.45);
}
@media(max-width:600px){
 .film-memory-actions{row-gap:8px}
 .film-memory-progress{max-width:calc(100% - 20px)}
}

/* v17 – diskret flytande knapp tillbaka till toppen */
.film-back-to-top{
 position:fixed;right:clamp(16px,3vw,34px);bottom:clamp(18px,3vw,34px);
 z-index:9999;width:48px;height:48px;border:1px solid rgba(244,217,185,.45);
 border-radius:50%;background:rgba(23,19,23,.76);color:#f4d9b9;
 font-size:28px;line-height:1;display:flex;align-items:center;justify-content:center;
 box-shadow:0 6px 24px rgba(0,0,0,.24);backdrop-filter:blur(10px);
 opacity:0;visibility:hidden;transform:translateY(12px);pointer-events:none;
 transition:opacity .3s ease,transform .3s ease,visibility .3s ease,background .2s ease;
 cursor:pointer;
}
.film-back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.film-back-to-top:hover{background:rgba(75,48,53,.94)}
.film-back-to-top:focus-visible{outline:2px solid #f4d9b9;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.film-back-to-top{transition:none}}

/* v18 – Rubrik och kärlekstext per bild med gemensam mjuk entré. */
.film-hero__copy-content--enter{animation:film-slide-copy-enter 1.6s ease both}
@keyframes film-slide-copy-enter{
 from{opacity:0;transform:translateY(12px)}
 to{opacity:1;transform:translateY(0)}
}
@media(prefers-reduced-motion:reduce){
 .film-hero__copy-content--enter{animation:none}
}

/* v19: privat resas lösenordsruta */
.film19-lock{min-height:100svh;display:grid;place-items:center;padding:110px 22px 60px;background:radial-gradient(circle at 50% 20%,#3b2633,#0b090c 70%)}
.film19-lock__box{width:min(480px,100%);padding:42px 32px;text-align:center;background:#ffffff09;border:1px solid #ffffff25;border-radius:18px;box-shadow:0 25px 70px #0006}
.film19-lock__icon{font-size:26px;color:#e7c8aa}.film19-lock h1{font-size:clamp(30px,5vw,48px);font-weight:400}.film19-lock p{line-height:1.7;color:#e7c8aa}
.film19-lock form{display:flex;flex-direction:column;gap:13px;margin-top:28px;text-align:left}.film19-lock input{padding:14px 16px;border:1px solid #ffffff50;border-radius:8px;background:#1c171c;color:#fff;font:16px system-ui}.film19-lock button{padding:14px;border:1px solid #e7c8aa;border-radius:8px;background:#e7c8aa;color:#211721;font:600 15px system-ui;cursor:pointer}.film19-lock__error{color:#ffb6b6!important}

/* v19.1: Mobil – undvik att berättarknappar och uppåtpil överlappar. */
@media (max-width: 600px) {
  .film-memory-actions {
    width: min(360px, calc(100% - 36px));
    max-width: calc(100% - 36px);
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 8px;
    bottom: 18px;
  }
  .film-memory-actions--hero { bottom: 18px; }
  .film-memory-actions .film-auto-memory,
  .film-memory-actions .film-next-memory,
  .film-memory-actions .film-hero__scroll {
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 10px 14px;
    font-size: 12px;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .film-memory-progress {
    flex: 0 0 4px;
    width: 100%;
    max-width: 100%;
    margin-top: 2px;
  }
  .film-hero__controls { bottom: 148px; }
  .film-back-to-top {
    right: 14px;
    bottom: max(160px, calc(160px + env(safe-area-inset-bottom)));
    width: 44px;
    height: 44px;
    font-size: 25px;
  }
}

/* v19.2 – flytande knapprad längst ner, separat från innehållets scrollning. */
.film-memory-actions,
.film-memory-actions--hero {
 position:fixed;
 left:50%;
 bottom:calc(18px + env(safe-area-inset-bottom, 0px));
 transform:translateX(-50%);
 z-index:9990;
 visibility:hidden;
 opacity:0;
 pointer-events:none;
 transition:opacity .18s ease, visibility .18s ease;
 width:max-content;
 max-width:calc(100vw - 100px);
 flex-direction:row;
 flex-wrap:wrap;
 align-items:center;
 justify-content:center;
 gap:9px;
}
.film-memory-actions--active {
 visibility:visible;
 opacity:1;
 pointer-events:auto;
}
.film-memory-actions .film-auto-memory,
.film-memory-actions .film-next-memory,
.film-memory-actions .film-hero__scroll {
 width:auto;
 min-width:0;
 flex:0 1 auto;
 white-space:nowrap;
 font-size:clamp(11px, 2.8vw, 13px);
 padding:10px 14px;
}
.film-memory-actions .film-memory-progress { flex:0 0 100%;width:100%;max-width:100%;margin-top:0; }
.film-back-to-top { bottom:calc(90px + env(safe-area-inset-bottom, 0px)); }
.film-hero__controls { bottom:calc(108px + env(safe-area-inset-bottom, 0px)); }
@media(max-width:600px){
 .film-memory-actions,.film-memory-actions--hero {
  bottom:calc(12px + env(safe-area-inset-bottom, 0px));
  width:max-content;
  max-width:calc(100vw - 28px);
  flex-direction:row;
  align-items:center;
  gap:7px;
 }
 .film-memory-actions .film-auto-memory,
 .film-memory-actions .film-next-memory,
 .film-memory-actions .film-hero__scroll {
  width:auto;max-width:none;flex:0 1 auto;
  font-size:12px;padding:10px 12px;white-space:nowrap;overflow-wrap:normal;
 }
 .film-memory-actions .film-memory-progress { flex:0 0 100%;width:100%;max-width:100%;margin-top:0; }
 .film-back-to-top {right:12px;bottom:calc(91px + env(safe-area-inset-bottom, 0px));width:44px;height:44px;}
 .film-hero__controls {bottom:calc(108px + env(safe-area-inset-bottom, 0px));}
}

/* v19.7 – valbart rutnätsgalleri */
.film197-gallery{min-height:100svh;padding:125px clamp(18px,4vw,75px) 80px;background:#0b090c}.film197-gallery-header{text-align:center;margin:0 auto 45px;max-width:800px}.film197-gallery-header h1{font-size:clamp(38px,6vw,75px);font-weight:400;margin:12px 0}.film197-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:1500px;margin:auto}.film197-tile{display:block;padding:0;border:0;background:#211c21;aspect-ratio:4/3;overflow:hidden;cursor:zoom-in}.film197-tile img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.film197-tile:hover img{transform:scale(1.04)}.film197-lightbox:not([hidden]){position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.96);display:flex;align-items:center;justify-content:space-between;gap:8px;padding:55px 14px 25px}.film197-lightbox figure{margin:0;min-width:0;max-width:calc(100vw - 115px);text-align:center}.film197-lightbox img{max-width:100%;max-height:78svh;object-fit:contain}.film197-lightbox figcaption{font:14px system-ui,sans-serif;margin:12px 0;color:#eee}.film197-lightbox button{color:#fff;background:#ffffff18;border:1px solid #ffffff40;border-radius:50%;width:46px;height:46px;font-size:32px;cursor:pointer;flex-shrink:0}.film197-lightbox .film197-close{position:absolute;top:12px;right:18px}.film197-tile:focus-visible,.film197-lightbox button:focus-visible{outline:3px solid #e7c8aa;outline-offset:3px}@media(max-width:800px){.film197-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}@media(max-width:480px){.film197-gallery-grid{grid-template-columns:1fr 1fr;gap:6px}.film197-tile{aspect-ratio:1}.film197-lightbox figure{max-width:calc(100vw - 95px)}.film197-lightbox button{width:36px;height:36px;font-size:26px}}

/* v19.9: översikt och halvtransparent lightbox */
.film197-lightbox:not([hidden]){background:rgba(0,0,0,.5)}
.film199-overview{min-height:100svh;padding:130px clamp(18px,5vw,90px) 90px;background:#0b090c}.film199-overview h1{text-align:center;font-size:clamp(40px,6vw,76px);font-weight:400;margin:0 0 14px}.film199-overview>p{text-align:center;color:#d9c9c9;margin:0 0 50px}.film199-cards{max-width:1500px;margin:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 12px}.film199-card{display:block;text-decoration:none;text-align:center;color:#fff}.film199-card__image{display:block;aspect-ratio:4/3;overflow:hidden;background:#30262a}.film199-card img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.film199-card:hover img{transform:scale(1.05)}.film199-card strong{display:block;font:600 17px system-ui,sans-serif;margin:9px 0 3px}.film199-card small{display:block;font:15px system-ui,sans-serif;color:#e7c8aa}.film199-card:focus-visible{outline:3px solid #e7c8aa;outline-offset:5px}@media(max-width:900px){.film199-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.film199-cards{gap:20px 9px}.film199-card strong{font-size:14px}.film199-card small{font-size:12px}}
.film199-caption-input{width:100%;max-width:260px;margin:5px 0 8px;display:block}

/* v19.11 – undersidor med galleriöversikt */
.film1911-overview{min-height:75vh;padding:clamp(5rem,9vw,9rem) max(20px,7vw);color:#fff}.film1911-overview h1{text-align:center;font-size:clamp(2rem,5vw,4rem)}.film1911-overview>p{text-align:center;margin-bottom:2rem}.film1911-overview .film199-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px;max-width:1300px;margin:auto}.film1911-overview .film199-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;text-align:center}.film1911-overview .film199-card__image{display:block;aspect-ratio:4/3;overflow:hidden;background:#292929}.film1911-overview .film199-card__image img{width:100%;height:100%;object-fit:cover}.film1911-overview .film199-card strong{padding-top:10px;font-size:1.15rem}.film1911-overview .film199-card small{opacity:.8;padding-top:5px}

/* v19.15 – 30 % genomskinlig lightboxbakgrund och mindre galleriminitatyrer. */
.film197-lightbox:not([hidden]){background:rgba(0,0,0,.70)}
/* Tidigare 3 kolumner -> 6: halverad bredd och höjd vid samma bildproportion. */
.film197-gallery-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
@media(max-width:800px){.film197-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}}
@media(max-width:480px){.film197-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}}

/* v19.22 – Hantering av galleribilder i admin */
.film1921-drag{display:block;cursor:grab;margin-top:8px;color:#2271b1;font-weight:600}.film1921-remove-public,.film1921-remove-private{margin-top:8px!important}.film1921-private-card{padding:10px;border:1px solid #ddd;border-radius:6px;background:white}.film1921-placeholder{width:190px;min-height:140px;border:2px dashed #2271b1;background:#eef6fc}

/* IDAS HALLOWEEN — MAGICAL EDITION */
:root{--pumpkin:#ff9c32;--witch:#b98cff;--mint:#b3f47b;--night:#110a27}
html,body{background:#110a27;color:#fff2dc}body{font-family:system-ui,-apple-system,Segoe UI,sans-serif}
a{color:#ffba64}.film-nav{background:#20113ae8;border-color:#b98cff65;box-shadow:0 8px 32px #05000e9e}.film-nav a:hover,.film-nav a[aria-current=page]{color:#ffad42}
.film-nav__home{color:#ffad42!important;font-weight:800;letter-spacing:.03em}
.film-intro{background:radial-gradient(circle at 50% 35%,#50216a,#110a27 68%)}.film-intro__eyebrow,.film-intro__line--three{color:#ffae44}
.film-hero,.film-ending,.empty{background:#110a27}.film-hero__slides:after{background:linear-gradient(#160a29a6,#160a2944,#110a27c9)}
.film-hero__copy h1,.caption h2,.film-ending h2{font-family:Georgia,serif;color:#ffc579;text-shadow:0 4px 26px #1b062b}.eyebrow,.film-ending__eyebrow,.film-ending__last{color:#b98cff}
.film-hero__controls button,.film-auto-memory,.film-next-memory{border-color:#b98cff!important;background:#2b1446cc!important;color:#ffe2ad!important}
.scene .photo:after{background:linear-gradient(#1b0b3466,#15092766,#160a27e0)}
.halloween-stage{min-height:100svh;position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:130px 22px 105px;background:radial-gradient(ellipse at 50% 30%,#502b79 0%,#231342 44%,#10091f 83%);text-align:center}
.halloween-stage:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 50% 34%,#f5bd7050 0 13%,transparent 20%),radial-gradient(circle at 20% 70%,#fa8a3c18,transparent 34%);pointer-events:none}
.halloween-moon{position:absolute;width:min(50vw,340px);aspect-ratio:1;border-radius:50%;top:12%;left:50%;transform:translateX(-50%);background:radial-gradient(circle at 36% 28%,#fff3c5,#ffc56d 65%,#ff9443);box-shadow:0 0 60px #ffa34680,0 0 150px #ffb13a3d;opacity:.65;z-index:-1}
.halloween-stars{position:absolute;inset:0;z-index:-1;background-image:radial-gradient(#fff9 1px,transparent 1.8px);background-size:83px 97px;opacity:.4;animation:twinkle 5s ease-in-out infinite alternate}
@keyframes twinkle{to{opacity:.8}}
.halloween-bats{position:absolute;top:17%;right:12%;font-size:clamp(24px,4vw,50px);transform:rotate(-17deg);animation:floatbat 6s ease-in-out infinite;filter:drop-shadow(0 5px 7px #0009)}
@keyframes floatbat{50%{transform:translate(-40px,-20px) rotate(12deg)}}
.halloween-hat{font-size:clamp(65px,11vw,135px);filter:drop-shadow(0 10px 24px #0008);animation:hatfloat 4s ease-in-out infinite}
@keyframes hatfloat{50%{transform:translateY(-12px) rotate(5deg)}}
.halloween-kicker{font-size:12px;letter-spacing:.38em;color:#c9ff9b;font-weight:800;margin:16px 0}
.halloween-title{font:700 clamp(56px,10vw,142px)/.98 Georgia,serif;letter-spacing:-.055em;color:#ffc26a;text-shadow:0 6px 0 #73396b,0 14px 30px #090317b3;margin:15px 0 20px}
.halloween-title span{display:block;color:#e8c6ff;font-size:.65em;letter-spacing:-.025em}
.halloween-subtitle{font-size:clamp(17px,2.4vw,24px);max-width:600px;line-height:1.6;color:#fcebdc}
.halloween-date{margin:16px 0 20px;font-weight:800;letter-spacing:.14em;color:#bff28e;text-transform:uppercase}
.halloween-countdown{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:14px auto 28px}.halloween-countdown>div{min-width:78px;padding:15px 14px;border:1px solid #c49eff65;background:#26133cbb;border-radius:15px;backdrop-filter:blur(10px)}.halloween-countdown strong{display:block;font-size:clamp(24px,4vw,39px);color:#ffc26a}.halloween-countdown small{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#f4dfff}
.halloween-button{display:inline-flex;gap:10px;align-items:center;justify-content:center;border:0;border-radius:100px;padding:18px 30px;background:linear-gradient(135deg,#ffb14b,#ff7b2c);color:#24102d;text-decoration:none;font-weight:900;box-shadow:0 9px 0 #8d3c2b,0 16px 40px #ff873958;transition:transform .2s,box-shadow .2s;cursor:pointer}.halloween-button:hover{transform:translateY(-4px);box-shadow:0 13px 0 #8d3c2b,0 20px 40px #ff873958;color:#24102d}
.halloween-pumpkins{position:absolute;bottom:12px;left:0;right:0;font-size:clamp(30px,6vw,68px);letter-spacing:clamp(8px,3vw,40px);pointer-events:none;filter:drop-shadow(0 8px 15px #000a)}
.halloween-info{background:linear-gradient(#110a27,#23113b);padding:75px 20px 95px;text-align:center}.halloween-info h2{font:700 clamp(32px,5vw,55px) Georgia,serif;color:#ffc26a}.halloween-info>p{max-width:640px;margin:0 auto 35px;line-height:1.7;color:#eedaf5}.halloween-cards{max-width:980px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.halloween-card{border:1px solid #bb8ff74a;border-radius:22px;padding:28px 22px;background:#2e194b;box-shadow:0 16px 32px #0003}.halloween-card .icon{font-size:48px}.halloween-card h3{color:#ffbf6b;font:700 24px Georgia,serif}.halloween-card p{line-height:1.6;color:#eee0f7}.halloween-surprise{margin-top:38px;background:#3c2057;border:1px solid #c18efa;color:#fff2da;padding:14px 25px;border-radius:100px;cursor:pointer;font-size:16px}.halloween-surprise:hover{background:#563078}.halloween-message{min-height:32px;color:#bff28e;font-size:19px;font-weight:700;margin-top:15px}
.halloween-sound{position:fixed;right:18px;bottom:18px;z-index:90;background:#2e194bed;color:#fff0d2;border:1px solid #bd91ed;border-radius:100px;padding:13px 18px;cursor:pointer}
@media(max-width:700px){.halloween-cards{grid-template-columns:1fr}.halloween-stage{padding-top:115px}.halloween-moon{top:20%;width:62vw}.halloween-bats{right:4%;top:13%}.halloween-countdown>div{min-width:67px;padding:12px 10px}.halloween-pumpkins{letter-spacing:8px}}
@media(prefers-reduced-motion:reduce){.halloween-hat,.halloween-bats,.halloween-stars{animation:none}}

/* IDAS HALLOWEEN – SCREAM NIGHT v2 */
:root{--pumpkin:#ff6b18;--witch:#a55eeb;--night:#080711}
body,.halloween-info{background:#090810;color:#eee5e2}
.halloween-stage{background:radial-gradient(ellipse at 50% 26%,#39223f 0%,#18111f 37%,#08070e 85%)}
.halloween-stage:before{background:radial-gradient(ellipse at 50% 40%,#c9652c18,transparent 52%)}
.halloween-moon{top:13%;opacity:.83;background:radial-gradient(circle at 40% 32%,#fff5cb,#f5c78a 58%,#b57a51);box-shadow:0 0 45px #ffc98e55,0 0 130px #f2a45a33}
.halloween-title{position:relative;z-index:5;color:#ffae68;text-shadow:0 4px 0 #661b23,0 10px 35px #000}.halloween-title span{color:#e5d8e8}
.halloween-witch-flight{position:absolute;z-index:3;top:20%;left:-180px;font-size:clamp(42px,7vw,85px);filter:brightness(.17) drop-shadow(0 0 7px #000);white-space:nowrap;animation:witchAcross 15s linear infinite;pointer-events:none}.witch-broom{display:inline-block;margin-left:-24px;transform:rotate(-18deg)}
@keyframes witchAcross{0%{transform:translateX(-10vw) translateY(30px) rotate(-5deg)}45%{transform:translateX(58vw) translateY(-25px) rotate(5deg)}100%{transform:translateX(120vw) translateY(10px) rotate(-5deg)}}
.halloween-graveyard{position:absolute;z-index:1;bottom:6%;left:0;right:0;display:flex;justify-content:space-around;align-items:end;font-size:clamp(44px,7vw,110px);color:#14121b;opacity:.95;filter:grayscale(1) brightness(.35);pointer-events:none}
.halloween-fog{position:absolute;z-index:2;inset:auto -30% 0;height:31%;background:radial-gradient(ellipse at 35% 70%,#a9a6b02a,transparent 65%),radial-gradient(ellipse at 70% 90%,#dad6d52b,transparent 60%);filter:blur(24px);animation:fogFlow 11s ease-in-out infinite alternate;pointer-events:none}@keyframes fogFlow{to{transform:translateX(16%)}}
.halloween-ghost{position:absolute;top:36%;left:7%;font-size:clamp(35px,5vw,70px);opacity:.45;filter:grayscale(1) blur(1px);animation:ghostFloat 6s ease-in-out infinite alternate;pointer-events:none}@keyframes ghostFloat{to{transform:translate(20px,-45px);opacity:.18}}
.halloween-ghostface{position:absolute;right:0;bottom:0;width:clamp(120px,19vw,275px);height:clamp(230px,39vw,510px);z-index:4;opacity:.92;pointer-events:none;filter:drop-shadow(-12px 8px 24px #000)}
.ghostface-hood{position:absolute;inset:0;background:linear-gradient(100deg,#070608,#16121b 42%,#020204 80%);clip-path:polygon(52% 0,80% 9%,95% 27%,100% 100%,0 100%,12% 28%,28% 9%);border-radius:45% 45% 0 0}
.ghostface-mask{position:absolute;top:14%;left:23%;width:56%;height:42%;background:linear-gradient(125deg,#fff,#e8e5e1 60%,#96949c);clip-path:polygon(50% 0,86% 13%,96% 45%,76% 78%,51% 100%,25% 80%,4% 43%,13% 13%);box-shadow:inset 10px 0 18px #888}
.gf-eye{position:absolute;top:27%;width:26%;height:25%;background:#060507;clip-path:ellipse(44% 50% at 50% 50%)}.gf-left{left:18%;transform:rotate(-23deg)}.gf-right{right:18%;transform:rotate(23deg)}.gf-nose{position:absolute;top:51%;left:45%;width:11%;height:10%;background:#09070a;border-radius:50%}.gf-mouth{position:absolute;top:63%;left:36%;width:28%;height:30%;background:#09070a;border-radius:45% 45% 55% 55%}
.halloween-pumpkins{z-index:7;display:flex;justify-content:center;gap:clamp(20px,5vw,75px);pointer-events:auto;letter-spacing:normal;bottom:12px}.halloween-pumpkin{font-size:clamp(40px,6vw,85px);background:none;border:0;cursor:pointer;filter:brightness(.4) grayscale(.35) drop-shadow(0 5px 12px #000);transition:filter .35s,transform .3s}.halloween-pumpkin:hover{transform:scale(1.1)}.halloween-pumpkin.is-lit{filter:brightness(1.5) saturate(1.6) drop-shadow(0 0 20px #ff7b16) drop-shadow(0 0 36px #ff9a25)}
.halloween-kicker{color:#f8b389}.halloween-info{background:linear-gradient(#08070e,#211322)}.halloween-card{background:#1a1422;border-color:#803f4a}.halloween-button{background:linear-gradient(135deg,#ffa84c,#e54c26)}
@media(max-width:700px){.halloween-ghostface{width:105px;height:235px;opacity:.68}.halloween-graveyard{bottom:5%}.halloween-ghost{left:1%}.halloween-witch-flight{top:24%}.halloween-title{font-size:clamp(48px,10vw,76px)}}
@media(prefers-reduced-motion:reduce){.halloween-witch-flight,.halloween-fog,.halloween-ghost{animation:none}}

/* SCREAM NIGHT v3 — a darker, more recognizable Ghostface silhouette */
.halloween-stage{background:radial-gradient(ellipse at 49% 25%,#38202c 0%,#140b12 38%,#020205 90%)}
.halloween-stage:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 4px,#00000012 5px 6px),radial-gradient(ellipse at 50% 50%,transparent 30%,#000b 100%)}
.halloween-stage .halloween-kicker,.halloween-stage .halloween-title,.halloween-stage .halloween-subtitle,.halloween-stage .halloween-date,.halloween-stage .halloween-countdown,.halloween-stage .halloween-button{z-index:6;position:relative}
.halloween-ghostface{position:absolute;z-index:5;right:-18px;bottom:-3px;width:clamp(210px,30vw,410px);height:auto;opacity:.98;transform:translateX(22%) rotate(-4deg);animation:ghostfacePeek 13s ease-in-out infinite;filter:drop-shadow(-16px 5px 24px #000)}
.halloween-ghostface img{width:100%;height:auto;display:block}
@keyframes ghostfacePeek{0%,13%,84%,100%{transform:translateX(27%) rotate(-5deg)}25%,69%{transform:translateX(0) rotate(0deg)}}
.halloween-moon{background:radial-gradient(circle at 36% 30%,#f8eee3,#c9b9ad 65%,#8d7069);box-shadow:0 0 60px #e3bdaf5a,0 0 150px #aa48442c}
.halloween-title{color:#e8e0dd;text-shadow:0 4px 0 #530e16,0 8px 38px #c31b2745}.halloween-title span{color:#df444b}
.halloween-pumpkin.is-lit{filter:brightness(1.6) saturate(1.8) drop-shadow(0 0 22px #ff5b00) drop-shadow(0 0 45px #e33800)}
.halloween-graveyard{opacity:1;filter:grayscale(1) brightness(.21)}
.halloween-ghost{opacity:.27}
@media(max-width:700px){.halloween-ghostface{width:165px;right:-35px;opacity:.87;bottom:30px}.halloween-title{font-size:clamp(46px,10vw,72px)}.halloween-stage{padding-bottom:130px}}
@media(prefers-reduced-motion:reduce){.halloween-ghostface{animation:none;transform:translateX(10%)}}

/* V4: reference-based Ghostface, unpredictable appearances in dark corners / behind graves */
.halloween-stage{isolation:isolate}
.halloween-graveyard{z-index:6;pointer-events:none}
.halloween-ghostface{position:absolute;z-index:5;right:-12px;bottom:6%;width:clamp(155px,23vw,315px);height:auto;opacity:0;transform:translate(110%,12%) scale(.92);transition:opacity .65s ease,transform 1.25s cubic-bezier(.2,.8,.2,1);animation:none;pointer-events:none;filter:drop-shadow(0 0 24px #000) brightness(.73)}
.halloween-ghostface img{width:100%;height:auto;display:block}
.halloween-ghostface.is-visible{opacity:.94;transform:translate(0,0) scale(1)}
.halloween-ghostface.is-left{right:auto;left:-16px;transform:translate(-110%,12%) scale(.92)}
.halloween-ghostface.is-left.is-visible{transform:translate(0,0) scale(1)}
.halloween-ghostface.is-grave{right:13%;bottom:4%;width:clamp(125px,17vw,240px);filter:brightness(.49) drop-shadow(0 0 20px #000)}
.halloween-ghostface.is-grave.is-visible{opacity:.86}
@media(max-width:700px){.halloween-ghostface{width:155px;bottom:12%}.halloween-ghostface.is-grave{width:125px;right:6%}}
@media(prefers-reduced-motion:reduce){.halloween-ghostface{transition:none;animation:none}}

/* v5: scene integration and interactive horror effects */
.halloween-ghostface{mix-blend-mode:luminosity;filter:brightness(.43) contrast(1.5) drop-shadow(0 0 28px #000);opacity:0;mask-image:linear-gradient(to bottom,#000 55%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 55%,transparent 100%)}
.halloween-ghostface.is-visible{opacity:.78}.halloween-ghostface.is-grave.is-visible{opacity:.7}
.halloween-hidden-trigger{position:absolute;bottom:9%;left:12%;z-index:8;border:0;background:transparent;font-size:42px;cursor:pointer;filter:grayscale(1) brightness(.42);transition:filter .2s,transform .2s}.halloween-hidden-trigger:hover,.halloween-hidden-trigger:focus-visible{filter:none;transform:scale(1.15)}
.halloween-action-bar{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;max-width:900px;margin:28px auto}.halloween-action{border:1px solid #9e5367;border-radius:12px;background:#1a101d;color:#f9e3d6;padding:13px 16px;cursor:pointer;font:600 14px system-ui,sans-serif;box-shadow:0 6px 22px #0008}.halloween-action:hover,.halloween-action:focus-visible{background:#4a202d;border-color:#ff9857}
.halloween-scare{position:fixed;inset:0;z-index:99999;pointer-events:none;opacity:0;visibility:hidden;display:grid;place-items:center;overflow:hidden}.halloween-scare.is-active{opacity:1;visibility:visible}.halloween-scare-shade{position:absolute;inset:0;background:#000;opacity:1}.halloween-scare-face{position:relative;width:min(76vw,450px);max-height:82vh;object-fit:contain;filter:contrast(1.6) brightness(.86) drop-shadow(0 0 60px #8e0a0a);transform:scale(.3);opacity:0}.halloween-scare.is-active .halloween-scare-face{animation:idaScare 1.45s ease-out forwards}.halloween-scare-caption{position:absolute;bottom:5%;font:900 clamp(20px,5vw,46px) system-ui;letter-spacing:.14em;color:#e8d6d6;text-shadow:0 0 22px #ae0909;opacity:0}.halloween-scare.is-active .halloween-scare-caption{animation:idaCaption 1.45s ease-out forwards}@keyframes idaScare{0%,15%{opacity:0;transform:scale(.3)}30%{opacity:1;transform:scale(1.36)}43%{transform:scale(1.15)}70%{opacity:1;transform:scale(1.12)}100%{opacity:0;transform:scale(1.08)}}@keyframes idaCaption{25%,65%{opacity:1}0%,100%{opacity:0}}
#halloween-effects{position:fixed;inset:0;z-index:9998;pointer-events:none;overflow:hidden}.ida-effect{position:absolute;top:-15%;font-size:clamp(35px,5vw,70px);animation:idaFall var(--duration,3s) linear forwards;filter:drop-shadow(0 0 18px #ff660055)}@keyframes idaFall{to{transform:translate(var(--dx,0px),125vh) rotate(420deg);opacity:0}}.ida-bat{animation:idaBat 2.6s ease-in forwards}@keyframes idaBat{to{transform:translate(var(--dx,100vw),var(--dy,-40vh)) rotate(25deg);opacity:0}}.ida-flash{position:fixed;inset:0;z-index:9997;background:#dce6ff;pointer-events:none;animation:idaFlash .8s steps(1,end) forwards}@keyframes idaFlash{0%,17%,37%{opacity:0}8%,26%{opacity:.78}100%{opacity:0}}.halloween-stage.is-cursed{filter:hue-rotate(45deg) contrast(1.2)}
@media(prefers-reduced-motion:reduce){.halloween-scare.is-active .halloween-scare-face,.halloween-scare.is-active .halloween-scare-caption{animation:none;opacity:1;transform:scale(1)}.ida-effect,.ida-flash{animation:none}}

/* v6: cinematic graveyard art with matching dark tones and depth */
.halloween-stage{background:#080a10 url('halloween-cemetery.webp') center center/cover no-repeat!important}
.halloween-stage:before{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,#03030877,#03030855 50%,#03030888),linear-gradient(0deg,#050509db 0%,transparent 48%,#07091166 100%);pointer-events:none}
.halloween-stage:after{background:radial-gradient(ellipse at 50% 45%,#0008,#0007 50%,#000b 100%)}
.halloween-moon,.halloween-witch-flight,.halloween-graveyard,.halloween-ghost,.halloween-fog{display:none!important}
.halloween-ghostface{mix-blend-mode:luminosity;filter:brightness(.32) contrast(1.65) drop-shadow(0 0 20px #000);mask-image:linear-gradient(#000 48%,transparent 96%);-webkit-mask-image:linear-gradient(#000 48%,transparent 96%)}
.halloween-ghostface.is-visible{opacity:.65}
.halloween-title{text-shadow:0 4px 22px #000,0 9px 48px #000;color:#fff0e0}
.halloween-title span{color:#ff9d68}
.halloween-stage .halloween-subtitle,.halloween-stage .halloween-date{filter:drop-shadow(0 2px 7px #000)}
.halloween-pumpkins{bottom:10px}
@media(max-width:700px){.halloween-stage{background-position:42% center!important}.halloween-ghostface{opacity:.45!important}}

/* v7: four info cards and interactive scenery */
.halloween-cards{max-width:1240px;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.halloween-card{padding:26px 16px;min-width:0}.halloween-food-card{border-color:#c17638;background:linear-gradient(155deg,#2b1822,#20151e)}.halloween-food-card p{overflow-wrap:anywhere}
.halloween-moon-button{border:0;cursor:pointer;z-index:2;transition:filter .6s,box-shadow .6s}.halloween-moon-button:hover{filter:brightness(1.3)}.halloween-moon-button.is-eclipsed{filter:brightness(.2) saturate(.3);box-shadow:0 0 60px #b60029,0 0 150px #a51424}
.halloween-ghost-button{background:transparent;border:0;cursor:pointer;z-index:8;pointer-events:auto}.halloween-ghost-button:hover{opacity:1;filter:drop-shadow(0 0 25px white)}
.halloween-card{transition:transform .3s,box-shadow .3s}.halloween-card:hover{transform:translateY(-6px);box-shadow:0 14px 32px #0009}
.halloween-stage:has(.halloween-moon-button.is-eclipsed){background:radial-gradient(ellipse at 50% 26%,#4c1023,#05030b 72%)}
.halloween-moon-button{animation:idaMoonPulse 8s ease-in-out infinite alternate}@keyframes idaMoonPulse{to{box-shadow:0 0 90px #f8d1b288,0 0 170px #d9847b55}}
.halloween-pumpkins{animation:idaPumpkinBob 5s ease-in-out infinite alternate}@keyframes idaPumpkinBob{to{transform:translateY(-8px)}}
.halloween-graveyard span:nth-child(2n){animation:idaGraveWobble 8s ease-in-out infinite alternate}@keyframes idaGraveWobble{to{transform:rotate(3deg)}}
.halloween-action-bar{max-width:1150px}.halloween-action{transition:transform .2s,background .2s}.halloween-action:hover{transform:translateY(-3px)}
@media(max-width:950px){.halloween-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.halloween-cards{gap:10px}.halloween-card{padding:20px 10px}.halloween-card h3{font-size:19px}.halloween-card p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.halloween-moon-button,.halloween-pumpkins,.halloween-graveyard span:nth-child(2n){animation:none}}

/* Interactive Halloween menu v8 */
.halloween-food-card{width:100%;color:inherit;text-align:center;font-family:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;transition:transform .2s,border-color .2s,box-shadow .2s}
.halloween-food-card:hover,.halloween-food-card:focus-visible{transform:translateY(-6px);border-color:#f8a64b;box-shadow:0 10px 32px #f9843244;outline-offset:4px}
.food-card-title{font:700 24px Georgia,serif;color:#ffbf6b}.food-card-summary{font-size:15px;line-height:1.5}.food-card-cta{font:700 14px system-ui;color:#f7b36b;margin-top:8px}
.ida-menu-backdrop[hidden]{display:none!important}.ida-menu-backdrop{position:fixed;inset:0;z-index:999999;background:#020104e8;backdrop-filter:blur(13px);display:flex;justify-content:center;align-items:center;padding:20px;overflow-y:auto;opacity:0;transition:opacity .25s}.ida-menu-backdrop.is-open{opacity:1}
.ida-menu-window{position:relative;width:min(680px,100%);max-height:min(90dvh,850px);overflow-y:auto;padding:clamp(25px,5vw,50px);border-radius:24px;border:1px solid #b8654c;background:radial-gradient(ellipse at 50% 0%,#4c233c,#190f21 62%,#0b0a10);box-shadow:0 0 100px #ef502033,0 25px 90px #000;transform:translateY(25px) scale(.95);transition:transform .25s;color:#fff2e6}
.ida-menu-backdrop.is-open .ida-menu-window{transform:translateY(0) scale(1)}.ida-menu-close{position:absolute;top:16px;right:16px;background:#2b1826;color:white;border:1px solid #aa6670;border-radius:50%;height:42px;width:42px;cursor:pointer;font-size:19px}.ida-menu-close:hover{background:#6c2635}.ida-menu-header{text-align:center}.ida-menu-kicker{font:700 11px system-ui;letter-spacing:.22em;color:#f3ad77}.ida-menu-header h2{font:700 clamp(35px,7vw,62px) Georgia,serif;color:#ffba70;margin:13px 0}.ida-menu-header p{color:#edd8e7;line-height:1.5}.ida-menu-dishes{display:grid;gap:12px;margin:28px 0}.ida-menu-dish{display:flex;align-items:center;gap:17px;padding:16px 18px;border:1px solid #ad665047;border-radius:16px;background:#1d1526cc;animation:idaDishIn .5s both}.ida-menu-dish:nth-child(2){animation-delay:.08s}.ida-menu-dish:nth-child(3){animation-delay:.16s}.ida-menu-dish:nth-child(4){animation-delay:.24s}.ida-menu-emoji{font-size:36px;filter:drop-shadow(0 0 12px #ff7c5355)}.ida-menu-dish h3{font:700 clamp(19px,3vw,25px) Georgia,serif;color:#ffc481;margin:0 0 6px}.ida-menu-dish p{font:14px system-ui;color:#dccbd7;margin:0}.ida-menu-footer{text-align:center;font-style:italic;color:#c9a5bd;margin:20px 0 0}@keyframes idaDishIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
body.ida-menu-lock{overflow:hidden}@media(prefers-reduced-motion:reduce){.ida-menu-backdrop,.ida-menu-window,.ida-menu-dish{transition:none;animation:none}}

/* v9: clickable cards and accessible popups */
.halloween-interactive-card{width:100%;text-align:center;color:inherit;font-family:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.halloween-interactive-card .icon{font-size:48px}.ida-card-title{font:700 24px Georgia,serif;color:#ffbf6b}.ida-card-summary{font:15px/1.55 system-ui;color:#f2e2ed}.ida-card-cta{font:700 14px system-ui;color:#f7b36b;margin-top:8px}
.halloween-interactive-card:hover,.halloween-interactive-card:focus-visible{border-color:#ffac75;transform:translateY(-6px);box-shadow:0 10px 32px #f9843233;outline-offset:4px}
.ida-extra-window{text-align:center;max-width:590px}.ida-extra-icon{font-size:70px;margin:4px 0 15px;animation:idaIconFloat 2.5s ease-in-out infinite alternate}.ida-extra-description{font-size:17px;line-height:1.7;color:#f2dce6;margin:25px auto;max-width:420px}.ida-extra-effect{background:linear-gradient(120deg,#ffa34b,#d64a4e);border:0;border-radius:100px;padding:15px 25px;color:#210f1c;font-weight:800;cursor:pointer}.ida-extra-effect:hover{filter:brightness(1.2)}.ida-extra-result{color:#ffca85;min-height:25px;font-weight:700;margin-top:18px}@keyframes idaIconFloat{to{transform:translateY(-9px) rotate(4deg)}}
@media(prefers-reduced-motion:reduce){.ida-extra-icon{animation:none}}@media(max-width:480px){.ida-card-title{font-size:19px}.ida-card-summary{font-size:13px}}

/* Övernattning – en tydlig kuslig inbjudan under de fyra korten */
.halloween-sleepover{position:relative;max-width:960px;margin:30px auto 20px;padding:27px 28px;border:1px solid #8d465c;border-radius:22px;background:radial-gradient(ellipse at 50% 0%,#392037,#150e1d 75%);box-shadow:0 12px 35px #0008;text-align:center;overflow:hidden}.halloween-sleepover:before{content:'✦  ✧  ✦';position:absolute;right:22px;top:15px;color:#d2a1bb55;letter-spacing:12px;pointer-events:none}.halloween-sleepover-icon{display:block;font-size:38px;margin-bottom:8px;animation:idaSleepFloat 4s ease-in-out infinite}.halloween-sleepover h3{font:700 clamp(25px,3.5vw,38px)/1.2 Georgia,serif;color:#ffb66d;margin:8px 0 14px}.halloween-sleepover p{max-width:690px;margin:0 auto;color:#f2e6ef;font-size:clamp(15px,1.8vw,18px);line-height:1.7}.halloween-sleepover strong{color:#ffb66d}@keyframes idaSleepFloat{50%{transform:translateY(-7px)}}@media(prefers-reduced-motion:reduce){.halloween-sleepover-icon{animation:none}}

/* v11: show effects above the active popup instead of behind its backdrop. */
#halloween-effects{z-index:1000002!important;position:fixed!important;inset:0;pointer-events:none!important;overflow:hidden}
#halloween-effects .ida-effect{z-index:1;position:absolute;top:-12%;font-size:clamp(48px,7vw,95px);text-shadow:0 0 22px #fff8}
#halloween-effects .ida-flash{z-index:2;position:absolute;inset:0}
.ida-extra-dialog .ida-extra-result{position:relative;z-index:2;font-size:18px}
@media(prefers-reduced-motion:reduce){#halloween-effects .ida-effect{animation:idaFall 3s linear forwards}}

/* v12 – Brighter cinematic cemetery and Ghostface background */
.halloween-stage:before{background:linear-gradient(90deg,#03030838,#0303081c 50%,#03030844),linear-gradient(0deg,#050509a8 0%,transparent 43%,#07091135 100%)!important}
.halloween-stage:after{background:radial-gradient(ellipse at 50% 45%,#0002,#0002 50%,#0007 100%)!important}
.halloween-ghostface{filter:brightness(.76) contrast(1.3) drop-shadow(0 0 17px #000)!important;mix-blend-mode:normal!important}
.halloween-ghostface.is-visible{opacity:.94!important}
@media(max-width:700px){.halloween-ghostface.is-visible{opacity:.85!important}}

/* v13: moving cemetery creatures */
.ida-monster-zone{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}.ida-zombie{position:absolute;bottom:7%;font-size:clamp(55px,9vw,120px);opacity:.75;filter:brightness(.5) saturate(.65) drop-shadow(0 0 18px #10220d);transform:translateY(110%);animation:idaZombieRise 17s ease-in-out infinite}.ida-zombie-one{left:4%;animation-delay:1s}.ida-zombie-two{right:7%;animation-delay:8s;animation-duration:20s}.ida-skeleton{position:absolute;left:27%;bottom:7%;font-size:clamp(35px,6vw,78px);opacity:0;animation:idaSkeleton 15s ease-in-out infinite 5s}.ida-spider{position:absolute;top:0;right:15%;font-size:clamp(26px,4vw,55px);filter:brightness(.5);animation:idaSpider 9s ease-in-out infinite}.ida-spider:before{content:'';position:absolute;width:1px;height:190px;background:#c5b9bd7a;bottom:70%;left:50%}.ida-monster-eyes{position:absolute;bottom:25%;left:10%;color:#ff423b;letter-spacing:9px;font-size:14px;text-shadow:0 0 14px red;animation:idaEyes 7s steps(1,end) infinite}.ida-monster-button{position:relative;z-index:9;margin:18px 0 6px;background:#1d171e;color:#f7d8bb;border:1px solid #b24c47;border-radius:40px;padding:12px 19px;cursor:pointer}.ida-monster-button:hover{background:#45202a}
@keyframes idaZombieRise{0%,12%,63%,100%{transform:translateY(110%);opacity:0}24%,48%{transform:translateY(0);opacity:.8}35%{transform:translateY(-8%) rotate(-5deg)}}@keyframes idaSkeleton{0%,20%,75%,100%{opacity:0;transform:translateY(70%)}30%,62%{opacity:.65;transform:translateY(0) rotate(-9deg)}}@keyframes idaSpider{0%,100%{transform:translateY(-110%)}45%,75%{transform:translateY(130px)}}@keyframes idaEyes{0%,35%,60%,100%{opacity:0}36%,59%{opacity:1}}
.ida-monster-zone.is-invading .ida-zombie{animation:idaZombieAttack 3.5s ease-out both}.ida-monster-zone.is-invading .ida-zombie-two{animation-delay:.25s}.ida-monster-zone.is-invading .ida-skeleton{animation:idaSkeletonAttack 3.5s ease-out both}@keyframes idaZombieAttack{0%{transform:translateY(110%);opacity:0}30%,75%{transform:translateY(-10%);opacity:1}100%{transform:translateY(110%);opacity:0}}@keyframes idaSkeletonAttack{0%,100%{opacity:0;transform:translateY(70%)}35%,70%{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.ida-zombie-one{left:0}.ida-zombie-two{right:0}.ida-zombie{font-size:62px;opacity:.5}.ida-skeleton{left:20%}.ida-monster-button{font-size:13px}}
@media(prefers-reduced-motion:reduce){.ida-zombie,.ida-skeleton,.ida-spider,.ida-monster-eyes{animation:none;opacity:.4;transform:none}.ida-monster-zone.is-invading .ida-zombie,.ida-monster-zone.is-invading .ida-skeleton{animation:none}}

/* v14: cinematic graveyard zombies rather than bright emoji figures */
.ida-zombie{width:clamp(100px,15vw,195px);height:clamp(180px,29vw,365px);font-size:initial;opacity:.9;filter:drop-shadow(0 0 22px #000);transform-origin:center bottom}
.ida-zombie-creature{position:absolute;inset:0;display:block;background:linear-gradient(100deg,#171d1b,#343b32 38%,#0b0c0d 82%);clip-path:polygon(40% 0,61% 1%,75% 9%,79% 23%,71% 34%,84% 44%,100% 90%,92% 100%,5% 100%,0 87%,16% 46%,31% 35%,23% 20%,28% 7%);box-shadow:inset 0 0 40px #000}
.ida-zombie-creature:before{content:"";position:absolute;top:7%;left:23%;width:55%;height:36%;border-radius:48% 46% 42% 44%;background:linear-gradient(135deg,#7e8572,#3d473d 55%,#161c1a);box-shadow:inset -13px -10px 17px #0c1010,0 0 10px #101a12}
.ida-zombie-eye{position:absolute;z-index:1;top:19%;left:38%;width:9%;height:4%;border-radius:50%;background:#e5ff9c;box-shadow:0 0 12px #a3ef4b,0 0 22px #88b54e}.ida-zombie-eye:nth-child(2){left:58%}
.ida-zombie-mouth{position:absolute;z-index:1;top:29%;left:43%;width:23%;height:7%;border-radius:20% 20% 50% 50%;background:#080b0a;box-shadow:inset 0 3px 0 #6e7667}
.ida-zombie-two .ida-zombie-creature{filter:hue-rotate(22deg) brightness(.8);transform:scaleX(-1)}
.ida-monster-zone.is-invading .ida-zombie{filter:drop-shadow(0 0 20px #5d7a4b)}
@media(max-width:700px){.ida-zombie{width:90px;height:175px;opacity:.75}.ida-zombie-one{left:-20px}.ida-zombie-two{right:-20px}}

/* v16: reference-inspired illustrated zombies with clean transparent backgrounds */
.ida-zombie{width:clamp(110px,17vw,210px);height:clamp(190px,31vw,365px);filter:drop-shadow(0 12px 13px #050809) drop-shadow(0 0 10px #18251b);opacity:.88}
.ida-zombie-art{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:brightness(.73) saturate(.8) contrast(1.15)}
.ida-zombie-two .ida-zombie-art{transform:scaleX(-1);filter:brightness(.63) saturate(.7) hue-rotate(12deg) contrast(1.2)}
.ida-monster-zone.is-invading .ida-zombie-art{filter:brightness(.95) saturate(.9) contrast(1.15)}
@media(max-width:700px){.ida-zombie{width:clamp(100px,27vw,150px);height:clamp(190px,48vw,280px)}}

/* v17: invasion launches at the clicked action button, not at the hero */
.ida-zombie-invasion-overlay{position:fixed;inset:0;z-index:2147483000;pointer-events:none;overflow:hidden;isolation:isolate}
.ida-zombie-invasion-overlay::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at var(--ida-attack-x,50%) var(--ida-attack-y,55%),#9fc56820,transparent 57%);animation:idaInvasionFog 3.8s ease-out both}
.ida-invasion-creature{position:absolute;bottom:-14px;left:var(--ida-left);width:clamp(105px,18vw,225px);height:clamp(205px,39vh,365px);object-fit:contain;object-position:center bottom;filter:brightness(.82) contrast(1.17) drop-shadow(0 0 24px #0a1009);transform-origin:bottom center;animation:idaInvasionApproach 3.9s cubic-bezier(.18,.64,.32,1) both;animation-delay:var(--ida-delay,0s)}
.ida-invasion-creature:nth-child(even){transform:scaleX(-1)}
@keyframes idaInvasionApproach{0%{opacity:0;transform:translateY(115%) scale(.55) rotate(-7deg)}25%{opacity:1}48%{transform:translateY(-8%) scale(1.05) rotate(5deg)}75%{opacity:1;transform:translateY(-15%) scale(1.17) rotate(-3deg)}100%{opacity:0;transform:translateY(115%) scale(1.2)}}
@keyframes idaInvasionFog{0%,100%{opacity:0}25%,75%{opacity:1}}
@media(max-width:650px){.ida-invasion-creature{width:clamp(92px,30vw,150px);height:clamp(170px,32vh,265px)}}
@media(prefers-reduced-motion:reduce){.ida-invasion-creature{animation-duration:1.8s}.ida-zombie-invasion-overlay::before{animation-duration:1.8s}}

/* v18: distinct zombie characters, transparent cutouts from supplied artwork */
.ida-zombie-art{filter:brightness(.83) saturate(.9) contrast(1.1)}
.ida-invasion-creature{left:var(--ida-left);width:clamp(90px,15vw,190px);height:clamp(175px,38vh,350px);margin-left:-6vw;filter:brightness(.86) drop-shadow(0 12px 13px #000);animation-name:idaInvasionVaried}
@keyframes idaInvasionVaried{0%{opacity:0;transform:translateY(115%) scale(calc(var(--ida-scale,1)*.55)) rotate(-7deg)}25%{opacity:1}48%{transform:translateY(-8%) scale(var(--ida-scale,1)) rotate(5deg)}75%{opacity:1;transform:translateY(-15%) scale(calc(var(--ida-scale,1)*1.08)) rotate(-3deg)}100%{opacity:0;transform:translateY(115%) scale(var(--ida-scale,1))}}
@media(max-width:650px){.ida-invasion-creature{width:clamp(86px,27vw,145px);margin-left:-12vw;height:clamp(160px,32vh,255px)}}

/* v19: illustrated lower cemetery, composed from the supplied reference artwork.
   Side artwork is decorative; live cards and action buttons stay as HTML above it. */
.halloween-info{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 50% 16%,#243146 0%,#111421 38%,#100c12 75%,#09080d 100%);padding:75px 20px 125px;min-height:850px}
.halloween-info::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background-image:linear-gradient(90deg,transparent 0%,#0e111be8 29%,#10101af2 50%,#0e111be8 71%,transparent 100%),url('halloween-lower-left.webp'),url('halloween-lower-right.webp');background-repeat:no-repeat;background-position:center,left center,right center;background-size:100% 100%,min(31vw,450px) auto,min(31vw,450px) auto;opacity:.88}
.halloween-info::after{content:"";position:absolute;z-index:-1;bottom:0;left:0;right:0;height:125px;pointer-events:none;background:linear-gradient(0deg,#0b090c11,#0b090c 98%),url('halloween-lower-ground.webp') center bottom / cover no-repeat;opacity:.8;mask-image:linear-gradient(to bottom,transparent,#000 75%)}
.halloween-info>h2{color:#ff714d;text-shadow:0 3px 12px #000,0 0 30px #d7332b55}
.halloween-info>p{color:#f5e8e2;text-shadow:0 2px 7px #000}
.halloween-info .halloween-cards,.halloween-info .halloween-action-bar,.halloween-info .halloween-sleepover{position:relative;z-index:2}
.halloween-info .halloween-card{background:linear-gradient(160deg,#16131ded,#0e0c15f5);border:1px solid #ac654d;box-shadow:0 12px 36px #000c, inset 0 1px #fff1;border-radius:12px;backdrop-filter:blur(5px)}
.halloween-info .halloween-card:hover,.halloween-info .halloween-card:focus-visible{border-color:#ffae62;box-shadow:0 15px 38px #000e,0 0 24px #ff71334d}
.halloween-info .ida-card-title,.halloween-info .food-card-title{color:#ffb350}
.halloween-info .halloween-action-bar{margin-top:34px}
.halloween-info .halloween-sleepover{margin:38px auto 20px;background:linear-gradient(130deg,#09090fe9,#1b1118ee);border:1px solid #8c343b;border-radius:12px;box-shadow:0 14px 48px #000d}
.halloween-info .halloween-sleepover h3{color:#ff4f47;text-transform:uppercase;letter-spacing:.035em;text-shadow:0 0 16px #d22a2733}
.halloween-info .halloween-sleepover strong{color:#ff6e64}
@media(max-width:900px){.halloween-info::before{background-size:100% 100%,40vw auto,40vw auto;opacity:.55}.halloween-info{padding-bottom:120px}}
@media(max-width:600px){.halloween-info::before{background-image:linear-gradient(90deg,#0d101bdc,#0c0d17ec,#0d101bdc),url('halloween-lower-left.webp'),url('halloween-lower-right.webp');background-size:100% 100%,64vw auto,64vw auto;background-position:center,left top,right bottom;opacity:.45}.halloween-info .halloween-card{background:#12101bef}.halloween-info{padding:55px 15px 100px}}

/* v20: let the graveyard show through the center and behind the interactive cards.
   The cards retain a subtle tint for legible text; all controls remain clickable. */
.halloween-info{background:radial-gradient(ellipse at 50% 15%,#1a223199 0%,#11142177 45%,#0b0a1090 100%)}
.halloween-info::before{background-image:linear-gradient(90deg,#0d101a25 0%,#0d101a38 26%,#0e101b50 50%,#0d101a38 74%,#0d101a25 100%),url('halloween-lower-left.webp'),url('halloween-lower-right.webp');opacity:1}
.halloween-info .halloween-card{background:linear-gradient(160deg,rgba(18,15,25,.72),rgba(10,9,17,.66));backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.halloween-info .halloween-sleepover{background:linear-gradient(130deg,rgba(9,9,15,.72),rgba(27,17,24,.68));backdrop-filter:blur(2px)}
@media(max-width:900px){.halloween-info::before{opacity:.95}}
@media(max-width:600px){.halloween-info::before{background-image:linear-gradient(90deg,#0d101b52,#0c0d175c,#0d101b52),url('halloween-lower-left.webp'),url('halloween-lower-right.webp');opacity:.85}.halloween-info .halloween-card{background:rgba(16,13,25,.72)}}

/* v21 — One continuous cemetery scene. The v19/v20 opaque section
   backgrounds caused a large dark rectangle between the hero and cards.
   Keep the original cemetery as a shared, stationary page backdrop. */
body.home #content {
  background: #080b12 url('halloween-cemetery.webp') center center / cover fixed no-repeat;
}
body.home #content > .halloween-stage {
  background: transparent !important;
  min-height: min(100svh, 900px);
  padding-bottom: 52px;
}
body.home #content > .halloween-stage::before {
  background: linear-gradient(180deg,rgba(2,4,9,.42) 0%,rgba(2,4,9,.15) 55%,rgba(2,4,9,.10) 100%) !important;
}
body.home #content > .halloween-stage::after {
  background: radial-gradient(ellipse at center,transparent 28%,rgba(0,0,0,.32) 100%) !important;
}
body.home #content > .halloween-info {
  background: transparent !important;
  min-height: 0;
  padding-top: 52px;
  padding-bottom: 85px;
}
/* The illustrated zombies stay at the edges, with no dark rectangular mask. */
body.home #content > .halloween-info::before {
  background-image: url('halloween-lower-left.webp'),url('halloween-lower-right.webp') !important;
  background-repeat: no-repeat;
  background-position: left 28%,right 28%;
  background-size: min(31vw,450px) auto,min(31vw,450px) auto;
  opacity: .93;
}
body.home #content > .halloween-info::after {
  background-image: url('halloween-lower-ground.webp');
  background-position: center bottom;
  background-size: 100% auto;
  background-repeat: no-repeat;
  opacity: .65;
}
body.home .halloween-info .halloween-card {
  background: rgba(13,11,22,.73) !important;
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
}
body.home .halloween-info .halloween-sleepover {
  background: rgba(13,10,19,.72) !important;
}
@media(max-width:900px) {
  body.home #content > .halloween-info::before {
    background-size: 40vw auto,40vw auto;
    opacity:.68;
  }
}
@media(max-width:700px) {
  /* Fixed background is unreliable in mobile Safari: use a consistent
     page-sized backdrop instead, still without a solid section block. */
  body.home #content {background-attachment:scroll;background-position:center top;background-size:auto 100%;}
  body.home #content > .halloween-info {padding:42px 15px 75px;}
  body.home #content > .halloween-info::before {
    background-image:url('halloween-lower-left.webp'),url('halloween-lower-right.webp') !important;
    background-position:left 25%,right 65%;
    background-size:54vw auto,54vw auto;
    opacity:.45;
  }
  body.home .halloween-info .halloween-card {background:rgba(13,11,22,.78) !important;}
}

/* v22 — Ghostface cemetery across the full page, no illustrated zombie panels.
   Live zombie animations and all buttons remain unchanged. */
body.home #content {
  background: #090b12 url('halloween-cemetery.webp') center top / cover fixed no-repeat !important;
}
body.home #content > .halloween-info {
  position: relative;
  background: transparent !important;
  isolation: isolate;
  overflow: visible;
  padding-top: clamp(45px,5vw,82px);
  padding-bottom: clamp(65px,7vw,115px);
}
body.home #content > .halloween-info::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(180deg,rgba(5,7,14,.18),rgba(5,7,14,.10) 48%,rgba(5,7,14,.25)) !important;
  opacity: 1 !important;
}
body.home #content > .halloween-info::after {
  display: none !important;
  content: none !important;
}
body.home #content > .halloween-info .halloween-card {
  background: rgba(11,10,20,.68) !important;
  border-color: rgba(239,140,92,.70);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
}
body.home #content > .halloween-info .halloween-sleepover {
  background: rgba(12,9,20,.66) !important;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.home #content > .halloween-stage {
  background: transparent !important;
}
@media (max-width: 700px) {
  body.home #content {
    background-attachment: scroll !important;
    background-size: auto 100% !important;
    background-position: 43% top !important;
  }
  body.home #content > .halloween-info::before {
    background: linear-gradient(180deg,rgba(4,6,12,.25),rgba(4,6,12,.15)) !important;
  }
}

/* v23: introduktionen är en riktig entréskärm som väntar på besökarens klick. */
.film-intro__enter{align-self:center;margin:clamp(30px,6vh,58px) auto 0;padding:16px 30px;min-height:54px;border:1px solid #ffb359;border-radius:100px;background:linear-gradient(135deg,#632253,#29123b);box-shadow:0 0 30px #e9703230,inset 0 1px #ffffff22;color:#fff4e4;font:700 clamp(15px,1.5vw,19px)/1.3 system-ui,sans-serif;letter-spacing:.015em;cursor:pointer;opacity:0;transform:translateY(14px);animation:ida-enter-reveal .8s ease 4s forwards;transition:background .25s ease,box-shadow .25s ease,scale .25s ease}
.film-intro__enter:hover{background:linear-gradient(135deg,#8c3264,#432052);box-shadow:0 0 36px #ff963b66;scale:1.035}
.film-intro__enter:focus-visible{outline:3px solid #ffcd73;outline-offset:5px}
.film-intro__enter span{margin-left:8px}
@keyframes ida-enter-reveal{to{opacity:1;transform:translateY(0)}}
.film-intro--ready .film-intro__eyebrow,.film-intro--ready .film-intro__line,.film-intro--ready .film-intro__enter{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.film-intro__enter{animation:none!important;opacity:1;transform:none;transition:none}.film-intro__eyebrow,.film-intro__line{opacity:1;transform:none}}

/* v24: Ghostface telephone call */
.ida-ghostface-call{border-color:#f14b55!important;background:linear-gradient(135deg,rgba(100,12,22,.65),rgba(20,10,22,.82))!important;box-shadow:0 0 18px rgba(200,28,43,.18)}
.ida-ghostface-call:hover,.ida-ghostface-call:focus-visible{box-shadow:0 0 22px rgba(255,52,64,.45);transform:translateY(-2px)}
.ida-ghostface-call[disabled]{opacity:.75;cursor:wait}
.ida-ghostface-call-status{flex-basis:100%;text-align:center;min-height:1.4em;color:#ffb5b9;font-size:.95rem;letter-spacing:.025em;text-shadow:0 2px 10px #000}

/* v26: Ghostface call on the top hero and discreet ambient sound controls */
.ida-hero-call{position:relative;z-index:30;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:20px auto 14px;padding:0 14px}
.ida-hero-call-button{font:700 clamp(16px,2vw,22px)/1.2 system-ui,sans-serif;letter-spacing:.025em;padding:15px 30px;border:2px solid #f35c57;border-radius:100px;background:linear-gradient(130deg,#3d0816ee,#120a16f0);color:#fff;box-shadow:0 0 25px #ef343a66,0 8px 22px #000a;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}
.ida-hero-call-button:hover,.ida-hero-call-button:focus-visible{transform:scale(1.06);box-shadow:0 0 38px #ff414a99}
.ida-hero-call-button:disabled{opacity:.7;cursor:wait}
.ida-hero-call .ida-ghostface-call-status{flex-basis:100%;text-align:center;min-height:1.3em;color:#ffc6a6;font:600 13px/1.5 system-ui,sans-serif}
.ida-ambient-toggle{position:fixed;right:18px;bottom:18px;z-index:9500;border:1px solid #ff9b72a8;border-radius:28px;padding:10px 15px;background:#160b1ae8;color:#fff;font:600 13px system-ui,sans-serif;box-shadow:0 6px 22px #000b;cursor:pointer;backdrop-filter:blur(8px)}
.ida-ambient-toggle:hover,.ida-ambient-toggle:focus-visible{border-color:#ffb581;background:#321526}
@media(max-width:600px){.ida-ambient-toggle{right:12px;bottom:12px;padding:10px 12px}.ida-hero-call-button{padding:13px 22px}}

/* v27: Play ambience while visitors are still on the introductory screen. */
.ida-intro-sound{position:relative;z-index:2;align-self:center;margin:18px auto 0;padding:10px 20px;border:1px solid #ffb35988;border-radius:100px;background:#1a1027d9;color:#ffdcaa;font:600 13px/1.3 system-ui,sans-serif;cursor:pointer;opacity:0;animation:ida-enter-reveal .8s ease 4.15s forwards}
.ida-intro-sound:hover{background:#3c1d43}
.ida-intro-sound:focus-visible{outline:3px solid #ffcd73;outline-offset:4px}
.film-intro__enter{margin-top:14px}
@media(prefers-reduced-motion:reduce){.ida-intro-sound{opacity:1;animation:none}}

/* v28: En enda ljudknapp på både intro och startsida. */
body.film-intro-active .ida-ambient-toggle{z-index:10001;position:fixed;right:18px;bottom:18px;visibility:visible;pointer-events:auto}

/* v29: Separera zombieknappen från pumporna i den vanliga layouten.
   Båda elementen får egen plats även på små skärmar. */
.halloween-stage > .ida-monster-button {
  position: relative; z-index: 12; flex: 0 0 auto;
  margin: 16px auto 0;
}
.halloween-stage > .halloween-pumpkins {
  position: relative !important; inset: auto !important; bottom: auto !important;
  width: 100%; flex: 0 0 auto; z-index: 7;
  margin: 18px auto 0; padding: 0 12px;
  display: flex; align-items: center; justify-content: center;
  gap: clamp(18px, 5vw, 75px);
}
.halloween-stage > .halloween-pumpkins .halloween-pumpkin {
  flex: 0 0 auto; line-height: 1.15;
}
@media (max-width: 700px) {
  .halloween-stage > .ida-monster-button { margin-top: 14px; }
  .halloween-stage > .halloween-pumpkins { margin-top: 16px; gap: clamp(10px, 4vw, 28px); }
}

/* v30: RSVP and participant page */
.ida-rsvp{max-width:860px;margin:36px auto 44px;padding:36px 28px;background:rgba(10,7,22,.72);border:1px solid rgba(255,140,80,.55);border-radius:22px;backdrop-filter:blur(9px);text-align:center;position:relative;z-index:2;color:#fff}
.ida-rsvp-kicker{display:block;color:#ffb45c;font-size:.85rem;letter-spacing:.2em;font-weight:700}
.ida-rsvp h2,.ida-participants-inner h1{color:#ff7359;font-size:clamp(1.7rem,4vw,2.6rem);margin:14px 0}
.ida-rsvp h3{color:#ffb45c;font-size:1.6rem}
.ida-rsvp-code-form{max-width:620px;margin:26px auto 0}
.ida-rsvp label{display:block;text-align:left;margin:12px 0 8px;font-weight:600}
.ida-rsvp-inline{display:flex;gap:12px;flex-wrap:wrap}
.ida-rsvp input[type=text]{background:rgba(255,255,255,.1);border:1px solid #bd6b66;color:#fff;border-radius:10px;padding:13px 15px;font-size:1rem;min-width:0;flex:1}
.ida-rsvp button[type=submit],.ida-rsvp-back{border:1px solid #ff8c62;border-radius:12px;background:#472044;color:#fff;font-weight:700;padding:13px 18px;cursor:pointer;text-decoration:none}
.ida-rsvp button:hover,.ida-rsvp-back:hover{background:#72305b}
.ida-rsvp-status{min-height:1.6em;color:#ffc275;font-weight:600}
#ida-rsvp-personal{margin-top:20px;border-top:1px solid #87515d;padding-top:20px}
#ida-rsvp-personal[hidden]{display:none}
#ida-rsvp-reply-form{max-width:540px;margin:auto;text-align:left}
#ida-rsvp-reply-form fieldset{border:1px solid #87515d;border-radius:12px;margin:20px 0;padding:16px}
#ida-rsvp-reply-form legend{padding:0 8px;color:#ffb45c}
#ida-rsvp-reply-form fieldset label{font-weight:400}
#ida-rsvp-reply-form .ida-rsvp-consent{font-weight:400;font-size:.9rem;line-height:1.5}
#ida-rsvp-reply-form input[type=checkbox],#ida-rsvp-reply-form input[type=radio]{accent-color:#ff8c62;margin-right:8px}
.ida-rsvp-public-link a{color:#ffb45c}
.ida-participants-page{min-height:75vh;background:linear-gradient(rgba(7,6,18,.75),rgba(7,6,18,.85)),url('halloween-cemetery.webp') center/cover fixed;color:white;padding:110px 20px 70px}
.ida-participants-inner{max-width:1100px;margin:auto;text-align:center}
.ida-participants-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px;margin:36px 0}
.ida-participant{background:rgba(14,9,28,.85);border:1px solid #a75a55;border-radius:18px;padding:22px}
.ida-participant>span{font-size:2.5rem}.ida-participant h2{color:#ffb45c}.ida-participant p{overflow-wrap:anywhere}
@media(max-width:600px){.ida-rsvp{padding:24px 16px}.ida-rsvp-inline{flex-direction:column}.ida-rsvp-inline>*{width:100%}}

/* v31: password-gated guest list */
.ida-access-box{max-width:560px;margin:35px auto;padding:36px 25px;border:1px solid #ad605f;border-radius:20px;background:rgba(12,8,23,.88);backdrop-filter:blur(8px)}
.ida-access-box>span{font-size:3rem}.ida-access-box h2{color:#ffb45c}
.ida-access-form{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin:25px auto 5px;max-width:400px;text-align:left}
.ida-access-form input{background:#211427;color:white;border:1px solid #ad605f;border-radius:10px;padding:13px;font-size:1rem;width:100%}
.ida-access-form button,.ida-access-logout button{color:white;background:#5d2245;border:1px solid #ff9561;border-radius:10px;padding:12px 20px;font-weight:bold;cursor:pointer}
.ida-access-error{color:#ff9e96;font-weight:bold}.ida-access-logout{margin:20px auto}

/* v33 — Hemlig kod-skylt och interaktiva kringströvande Halloweenvarelser */
.ida-secret-sign{position:relative;z-index:25;display:flex;align-items:center;justify-content:center;gap:12px;width:max-content;max-width:min(94vw,440px);margin:12px auto 22px;padding:11px 18px;border:2px solid #ad6c43;border-radius:12px;background:linear-gradient(115deg,rgba(35,17,21,.91),rgba(72,32,27,.92));box-shadow:0 5px 0 #321915,0 12px 30px #0009;color:#ffdc99;text-decoration:none!important;transform:rotate(-1deg);transition:transform .2s,box-shadow .2s}
.ida-secret-sign:hover,.ida-secret-sign:focus-visible{transform:rotate(0deg) scale(1.035);box-shadow:0 5px 0 #321915,0 0 22px #ff922355;color:#fff4d9}
.ida-secret-sign>span:first-child{font-size:2rem;line-height:1}
.ida-secret-sign strong,.ida-secret-sign small{display:block;text-align:left;line-height:1.35}
.ida-secret-sign strong{font-size:clamp(.88rem,2vw,1.08rem);font-weight:800}
.ida-secret-sign small{font-size:clamp(.75rem,1.7vw,.91rem);color:#f6b987}
@media(max-width:530px){.ida-secret-sign{margin:10px auto 16px;padding:8px 12px;gap:8px}}
.ida-roaming-creatures{position:fixed;inset:0;pointer-events:none;z-index:2147482900;overflow:hidden;contain:layout style;}
.ida-creature{position:absolute;left:0;top:0;pointer-events:auto;background:transparent;border:0;padding:6px;line-height:1;cursor:pointer;user-select:none;touch-action:manipulation;will-change:transform;filter:drop-shadow(0 5px 6px #000a)}
.ida-creature:focus-visible{outline:3px solid #f6b052;outline-offset:5px;border-radius:12px}
.ida-creature .ida-creature-body{position:relative;display:inline-flex;align-items:center;justify-content:center;transition:filter .18s,transform .18s;white-space:nowrap}
.ida-creature--spider{font-size:clamp(31px,4vw,53px)}
.ida-creature--mummy{font-size:clamp(38px,5vw,66px);pointer-events:none}
.ida-creature--pumpkin{font-size:clamp(37px,5vw,65px);pointer-events:none}
.ida-creature--centipede .ida-creature-body{gap:0;transform-origin:center;font-size:clamp(19px,2.5vw,27px)}
.ida-cent-head{font-size:1.16em;transform:rotate(-12deg)}
.ida-cent-segment{position:relative;width:23px;height:25px;margin-left:-3px;border:2px solid #162516;background:linear-gradient(160deg,#9db74d,#446c29);border-radius:48% 45% 55% 52%;box-shadow:inset -3px -4px 0 #243d1f88}
.ida-cent-segment::before,.ida-cent-segment::after{content:'';position:absolute;width:3px;height:13px;bottom:-10px;background:#8e9e38;border:1px solid #1b361d;border-radius:4px}
.ida-cent-segment::before{left:2px;transform:rotate(26deg)}.ida-cent-segment::after{right:1px;transform:rotate(-26deg)}
.ida-creature--centipede:hover,.ida-creature--spider:hover{cursor:crosshair}
.ida-creature--centipede:hover .ida-creature-body,.ida-creature--spider:hover .ida-creature-body{filter:drop-shadow(0 0 7px #fff4a9)}
.ida-creature--centipede.is-hit-once .ida-creature-body{gap:16px}
.ida-creature--centipede.is-hit-once .ida-creature-body::after{content:'💥';position:absolute;left:50%;top:0;font-size:18px;transform:translateX(-50%);pointer-events:none}
.ida-creature.is-squashed .ida-creature-body{transform:scale(1.3,.27) rotate(-8deg)!important;filter:grayscale(.35) saturate(.6)}
.ida-creature.is-squashed{pointer-events:none}
.ida-creature.is-squashed .ida-cent-segment{background:#64773a}
.ida-creature--pumpkin .ida-creature-body{animation:ida-roll-head .8s linear infinite}
@keyframes ida-roll-head{to{transform:rotate(360deg)}}
.ida-creature--mummy .ida-creature-body{animation:ida-mummy-shuffle .5s ease-in-out infinite alternate}
@keyframes ida-mummy-shuffle{to{transform:rotate(-9deg) translateY(-5px)}}
.ida-creature--spider .ida-creature-body{animation:ida-spider-sway .55s ease-in-out infinite alternate}
@keyframes ida-spider-sway{to{transform:rotate(12deg)}}
.ida-creature.is-squashed .ida-creature-body{animation:none}
.ida-splat-label{position:fixed;z-index:2147482901;color:#ffdd71;font-size:clamp(16px,3vw,25px);font-weight:900;text-shadow:0 2px 3px #000,0 0 11px #c0261a;pointer-events:none;animation:ida-splat-pop .95s ease-out both}
@keyframes ida-splat-pop{0%{opacity:0;transform:translate(-50%,10px) scale(.5) rotate(-10deg)}18%{opacity:1;transform:translate(-50%,-8px) scale(1.25) rotate(8deg)}85%{opacity:1}100%{opacity:0;transform:translate(-50%,-35px) scale(1)}}
@media(prefers-reduced-motion:reduce){.ida-creature--pumpkin .ida-creature-body,.ida-creature--mummy .ida-creature-body,.ida-creature--spider .ida-creature-body{animation:none}}

/* v33: fly-swatter cursor; intro remains an uninterrupted screen. */
.ida-creature--centipede:hover,.ida-creature--spider:hover{cursor:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%3E%3Cg%20transform%3D%22rotate%28-34%2020%2020%29%22%3E%3Crect%20x%3D%2217%22%20y%3D%2221%22%20width%3D%226%22%20height%3D%2217%22%20rx%3D%222%22%20fill%3D%22%23975329%22%20stroke%3D%22%2325130a%22%20stroke-width%3D%221.5%22%2F%3E%3Crect%20x%3D%229%22%20y%3D%223%22%20width%3D%2222%22%20height%3D%2223%22%20rx%3D%229%22%20fill%3D%22%23d3a7a8%22%20stroke%3D%22%2329101b%22%20stroke-width%3D%222%22%2F%3E%3Cpath%20d%3D%22M12%209h16M11%2015h18M12%2021h16M15%206v18M22%205v20M27%207v15%22%20stroke%3D%22%235e2540%22%20stroke-width%3D%221.5%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 18 17, crosshair}
body.film-intro-active .ida-roaming-creatures{display:none}


/* v34 – secret-code invitation and compact, closable guest reply */
.ida-rsvp-lead{font-size:clamp(1.1rem,2.2vw,1.4rem);color:#f5cb9a;font-weight:700;letter-spacing:.01em}
.ida-rsvp-personal-toolbar{display:flex;justify-content:flex-end;margin:0 0 5px}
.ida-rsvp .ida-rsvp-close{background:rgba(65,19,35,.76);border:1px solid #d18b71;border-radius:100px;color:#ffe4cb;padding:9px 15px;font:700 .9rem system-ui,sans-serif;cursor:pointer}
.ida-rsvp .ida-rsvp-close:hover,.ida-rsvp .ida-rsvp-close:focus-visible{background:#7b2b46;outline-offset:3px}
.ida-rsvp-invitation-text{max-width:600px;margin:0 auto 24px;font-size:1.1rem;line-height:1.6}
.ida-rsvp #ida-rsvp-outfit[hidden],.ida-rsvp #ida-rsvp-costume-details[hidden]{display:none!important}
.ida-rsvp-outfit label{cursor:pointer;padding:6px 4px}
.ida-rsvp-outfit input[type=checkbox]{width:20px;height:20px;vertical-align:middle}
.ida-rsvp-costume-details{margin-top:16px;padding:4px 0 0;border-top:1px solid #704256}
.ida-rsvp button:disabled{opacity:.65;cursor:wait}
/* Celebratory spooky reveal; cannot capture pointer events or block real controls. */
.ida-invite-magic{position:fixed;inset:0;z-index:1000001;overflow:hidden;pointer-events:none;user-select:none}
.ida-invite-zombie{position:absolute;bottom:-190px;width:clamp(82px,10vw,150px);height:auto;max-height:220px;object-fit:contain;left:8vw;transform:translateY(100px);opacity:0;filter:drop-shadow(0 10px 16px #000b);animation:ida-invite-rise 3.1s ease-out var(--delay) forwards}
.ida-invite-spider{position:absolute;font-size:clamp(24px,4vw,47px);opacity:0;filter:drop-shadow(0 3px 6px #000a);animation:ida-invite-scurry 3.0s ease-in forwards}
@keyframes ida-invite-rise{0%{opacity:0;transform:translateY(100px) rotate(-4deg)}18%{opacity:1}53%{opacity:1;transform:translateY(-205px) rotate(3deg)}85%{opacity:1;transform:translateY(-235px) rotate(-3deg)}100%{opacity:0;transform:translateY(-260px)}}
@keyframes ida-invite-scurry{0%{opacity:0;transform:translateY(-80px) rotate(0)}15%{opacity:1}82%{opacity:1}100%{opacity:0;transform:translateY(var(--fall,70vh)) rotate(var(--spin,180deg))}}
@media(max-width:600px){.ida-rsvp .ida-rsvp-close{padding:8px 12px}.ida-invite-zombie{width:clamp(60px,17vw,93px)}}
@media(prefers-reduced-motion:reduce){.ida-invite-magic{display:none}}

/* v35: An always-visible return button on menu destinations.
   The return URL skips the welcome overlay and starts at the real homepage. */
.ida-return-to-invitation {
  position:fixed;left:clamp(12px,3vw,30px);bottom:clamp(14px,3vh,28px);z-index:110;
  display:inline-flex;align-items:center;justify-content:center;
  max-width:calc(100vw - 24px);padding:12px 18px;
  border:1px solid #ff9561;border-radius:40px;
  background:rgba(38,17,44,.94);color:#ffdfb9!important;
  font:700 clamp(13px,1.4vw,16px)/1.3 system-ui,sans-serif;text-decoration:none!important;
  box-shadow:0 6px 28px #000b;backdrop-filter:blur(9px);
}
.ida-return-to-invitation:hover,.ida-return-to-invitation:focus-visible {
  background:#6b2855;color:#fff!important;outline-offset:3px;
}
@media(max-width:480px){.ida-return-to-invitation{padding:11px 14px;font-size:13px}}

/* v36: hit Ghostface in either appearance without covering the rest of the page. */
.halloween-ghostface{appearance:none;border:0;background:transparent;padding:0;}
.halloween-ghostface:not(.is-visible){pointer-events:none!important;}
.halloween-ghostface.is-visible{pointer-events:auto!important;touch-action:manipulation;}
.halloween-ghostface.is-visible:hover,.halloween-scare.is-active .halloween-scare-face:hover{cursor:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%3E%3Cg%20transform%3D%22rotate%28-34%2020%2020%29%22%3E%3Crect%20x%3D%2217%22%20y%3D%2221%22%20width%3D%226%22%20height%3D%2217%22%20rx%3D%222%22%20fill%3D%22%23975329%22%20stroke%3D%22%2325130a%22%20stroke-width%3D%221.5%22%2F%3E%3Crect%20x%3D%229%22%20y%3D%223%22%20width%3D%2222%22%20height%3D%2223%22%20rx%3D%229%22%20fill%3D%22%23d3a7a8%22%20stroke%3D%22%2329101b%22%20stroke-width%3D%222%22%2F%3E%3Cpath%20d%3D%22M12%209h16M11%2015h18M12%2021h16M15%206v18M22%205v20M27%207v15%22%20stroke%3D%22%235e2540%22%20stroke-width%3D%221.5%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 18 17, crosshair;}
.halloween-ghostface:focus-visible,.halloween-scare-face:focus-visible{outline:3px solid #ffb652;outline-offset:5px;border-radius:14px;}
.ida-ghostface-hit-label{position:absolute;left:50%;top:20%;transform:translate(-50%,20px) scale(.6);font:900 clamp(28px,4vw,55px)/1 system-ui,sans-serif;white-space:nowrap;color:#ffdf65;text-shadow:0 4px 4px #180000,0 0 23px #ed2818;opacity:0;pointer-events:none;z-index:2;}
.halloween-ghostface.is-swatted .ida-ghostface-hit-label{animation:ida-ghost-ouch 1.05s ease-out both;}
.halloween-ghostface.is-swatted img{animation:ida-ghost-bonk .65s ease-out both;}
@keyframes ida-ghost-ouch{0%{opacity:0;transform:translate(-50%,24px) scale(.55)}20%,75%{opacity:1;transform:translate(-50%,-12px) scale(1.2)}100%{opacity:0;transform:translate(-50%,-45px) scale(1)}}
@keyframes ida-ghost-bonk{15%,55%{transform:rotate(-18deg) translateX(-13px)}35%{transform:rotate(14deg) translateX(8px)}100%{transform:rotate(-23deg) translateX(-14px);filter:brightness(.65)}}
.halloween-scare .halloween-scare-face{appearance:none;border:0;padding:0;background:transparent;pointer-events:none;max-height:82vh;touch-action:manipulation;display:block;}
.halloween-scare.is-active .halloween-scare-face{pointer-events:auto;}
.halloween-scare-face-art{display:block;width:100%;max-height:82vh;object-fit:contain;}
.halloween-scare.is-swatted .halloween-scare-face{animation:ida-ghost-scare-bonk .8s ease-out both!important;opacity:1!important;}
.halloween-scare.is-swatted .halloween-scare-caption{animation:none!important;opacity:1!important;color:#ffda63;filter:drop-shadow(0 0 10px #ff491a);}
@keyframes ida-ghost-scare-bonk{0%,65%{opacity:1;transform:scale(1.12) rotate(-12deg)}30%{opacity:1;transform:scale(1.25) rotate(15deg)}100%{opacity:0;transform:scale(.65) rotate(-24deg)}}
@media(prefers-reduced-motion:reduce){.halloween-ghostface.is-swatted img,.halloween-scare.is-swatted .halloween-scare-face{animation:none!important;transform:none!important}.halloween-ghostface.is-swatted .ida-ghostface-hit-label{animation:none;opacity:1;transform:translate(-50%,-10px)}}

/* v37: Kompakt deltagarlista. Korten anpassas till innehållet i stället för att fylla en hel rad. */
.ida-participants-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%, 300px), 490px));
  justify-content:center;
  align-items:start;
  gap:20px;
  margin:32px auto;
}
.ida-participants-grid .ida-participant{
  width:100%;
  max-width:490px;
  min-width:0;
  margin:0 auto;
  padding:24px clamp(22px, 9vw, 135px);
  border-radius:18px;
}
.ida-participants-grid .ida-participant h2{margin:8px 0 12px;overflow-wrap:anywhere}
.ida-participants-grid .ida-participant p{margin:0;line-height:1.55}
@media (max-width:600px){
  .ida-participants-grid{grid-template-columns:minmax(0,1fr);gap:14px;margin:24px auto}
  .ida-participants-grid .ida-participant{max-width:450px;padding:22px 20px}
}

/* v40: Pizzaönskemål på den personliga inbjudan. */
.ida-rsvp-pizza-details{margin-top:18px;padding-top:12px;border-top:1px solid rgba(255,167,97,.35)}
.ida-rsvp-pizza-details label{display:block;margin:0 0 9px;font-weight:700!important;color:#ffcc82}
.ida-rsvp-pizza-details input{display:block;width:100%;max-width:100%;box-sizing:border-box}
.ida-rsvp-pizza-details input:focus-visible{outline:2px solid #ffbc72;outline-offset:2px}

/* v42: Pizzaval visas under klädseln med lagom luft när gästen samtyckt. */
.ida-participants-grid .ida-participant p.ida-participant-pizza{
 margin-top:14px;
 padding-top:12px;
 border-top:1px solid rgba(255,180,92,.28);
 color:#fff0d6;
 line-height:1.55;
 overflow-wrap:anywhere;
}
.ida-participant-pizza strong{color:#ffc070;}
