/* Seasonal overrides are loaded only when a seasonal theme is selected. */
html[data-theme="halloween"] .menu-button{background:#f7a452;color:#352039;border-color:#b95a22}
html[data-theme="christmas"] .menu-button{background:#a92239;color:#fff;border-color:#8c182c}
html[data-theme="valentine"] .menu-button{background:#b82d60;color:#fff;border-color:#932047}
html[data-theme] .menu-button b{background:currentColor}
.spider-menu-anchor{position:relative;display:inline-flex;align-items:center}
.spider-menu-anchor .menu-button{position:relative;z-index:2}
.hanging-spider{position:absolute;top:100%;right:0;width:64px;height:92px;padding:0;border:0;background:none;color:#281c2b;touch-action:pan-y;cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent;z-index:1}
.hanging-spider svg{position:absolute;left:-16px;top:-40px;display:block;width:96px;height:160px;overflow:visible;pointer-events:none}
.spider-silk{fill:none;stroke:#736574;stroke-opacity:.7;stroke-width:.65;stroke-linecap:round}
.spider-thread{position:absolute;top:0;left:50%;width:1px;height:46px;background:linear-gradient(#60435755,#604357b0);pointer-events:none}
.hanging-spider:focus-visible{outline:2px solid #a64210;outline-offset:3px;border-radius:10px}
html[data-theme="halloween"] .season-scene:before{display:none}
.corner-web{position:absolute;right:0;top:0;width:clamp(100px,16vw,205px);height:auto;fill:none;stroke:#665369;stroke-width:.85;opacity:.38;pointer-events:none}
@media(max-width:600px){.hanging-spider{right:0}.corner-web{width:110px;opacity:.3}}
html[data-theme="halloween"] .hero h1 .title-line:nth-child(2){color:#a64210}
html[data-theme="halloween"] .season-piece.bat{left:0;top:0;animation:none;transition:none}
html[data-theme="halloween"] .burst-object{filter:url(#pb-pop-orange)}
html[data-theme="christmas"] .burst-object{filter:url(#pb-pop-red)}
html[data-theme="valentine"] .burst-object{filter:url(#pb-pop-pink)}
html[data-theme="halloween"] :is(.brand,.footer-brand) img{filter:url(#pb-logo-orange)}
html[data-theme="christmas"] :is(.brand,.footer-brand) img{filter:url(#pb-logo-red)}
html[data-theme="valentine"] :is(.brand,.footer-brand) img{filter:url(#pb-logo-pink)}
html[data-theme] .floating .float{--season-depth:0px;filter:var(--season-balloon-filter) blur(var(--season-depth))!important}
html[data-theme="halloween"] .floating .float:nth-child(3n + 1){--season-balloon-filter:url(#pb-pop-orange)}
html[data-theme="halloween"] .floating .float:nth-child(3n + 2){--season-balloon-filter:url(#pb-float-black)}
html[data-theme="christmas"] .floating .float:nth-child(3n + 1){--season-balloon-filter:url(#pb-pop-red)}
html[data-theme="christmas"] .floating .float:nth-child(3n + 2){--season-balloon-filter:url(#pb-float-green)}
html[data-theme="valentine"] .floating .float:nth-child(3n + 1){--season-balloon-filter:url(#pb-pop-pink)}
html[data-theme="valentine"] .floating .float:nth-child(3n + 2){--season-balloon-filter:url(#pb-pop-red)}
html[data-theme] .floating .float:nth-child(3n){--season-balloon-filter:url(#pb-float-white)}
html[data-theme] .floating :is(.f3,.f6,.f9){--season-depth:1.35px}
@font-face{font-family:Creepster;src:url('assets/creepster.ttf') format('truetype');font-display:swap;font-weight:400}
/* A clear center reveals the real page underneath; the rim retains its shine. */
html[data-theme] .hero-art img,html[data-theme] .tunnel-guide{-webkit-mask-image:radial-gradient(ellipse 30% 23% at 50% 30%,#0004 0%,#0005 62%,#000 100%);mask-image:radial-gradient(ellipse 30% 23% at 50% 30%,#0004 0%,#0005 62%,#000 100%)}
html[data-theme="christmas"] .hero-art img,html[data-theme="christmas"] .tunnel-guide{-webkit-mask-image:radial-gradient(ellipse 26% 25% at 50% 35%,#0003 0%,#0005 65%,#000 100%);mask-image:radial-gradient(ellipse 26% 25% at 50% 35%,#0003 0%,#0005 65%,#000 100%)}
html[data-theme="halloween"]{--ink:#352039;--muted:#766378;--cyan:#b74a16;--green:#866595;--yellow:#efa933;--pb-bg:#fff7ed;--line:#e6d5df;--season-accent:#b74a16}
html[data-theme="christmas"]{--ink:#173d35;--muted:#596e66;--cyan:#b5213d;--green:#367a61;--yellow:#d7ad53;--pb-bg:#f4f8f5;--line:#d6e3da;--season-accent:#b5213d}
html[data-theme="valentine"]{--ink:#60253e;--muted:#8b6071;--cyan:#b62d5e;--green:#d8819c;--yellow:#e9b5a7;--pb-bg:#fff4f7;--line:#ecd6df;--season-accent:#b62d5e}
html[data-theme] body,html[data-theme] .hero,html[data-theme] .film,html[data-theme] .showcase-stage,html[data-theme] .gallery-section,html[data-theme] .services,html[data-theme] .contact{background-color:var(--pb-bg)}
html[data-theme] .menu-dialog,html[data-theme] .photo-dialog,html[data-theme] .send-dialog{background-color:var(--pb-bg);color:var(--ink)}
html[data-theme] .header.on-film{background:linear-gradient(var(--pb-bg),transparent)}
html[data-theme] .button.dark{background:var(--ink);color:#fff}
html[data-theme] .hero h1,html[data-theme] h2{color:var(--ink)}
html[data-theme] h2 em{color:var(--season-accent)}
html[data-theme="halloween"] .hero h1,html[data-theme="halloween"] .hero-second h2,html[data-theme="halloween"] .film-heading h2{font-family:"Creepster","Copperplate",fantasy;letter-spacing:-.025em;font-weight:400}
html[data-theme="halloween"] .hero h1{text-shadow:1px 2px 0 #efa93355}
.season-scene{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:2;opacity:.7;transition:opacity .6s;contain:strict}
.season-scene.concealed{opacity:0}
html[data-theme="halloween"] .season-scene:before{content:"";position:absolute;right:0;top:0;width:140px;height:140px;opacity:.14;background:repeating-radial-gradient(circle at 100% 0,transparent 0 24px,#442748 25px 26px,transparent 27px 31px);clip-path:polygon(0 0,100% 0,100% 100%)}
html[data-theme="christmas"] .season-scene:after{content:"";position:absolute;bottom:-22px;right:-12px;width:170px;height:165px;opacity:.17;background:repeating-conic-gradient(from 28deg at 100% 100%,#1c5945 0deg 7deg,transparent 8deg 20deg);border-radius:100% 0 0 0}
.season-piece{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);color:var(--season-accent);opacity:.16;animation:season-drift var(--duration) ease-in-out var(--delay) infinite alternate;will-change:transform}
.season-piece svg{width:100%;height:100%}.season-piece.bat{color:#442748}.season-piece.heart{color:#c7326c;opacity:.2}.season-piece.star{color:#a27d29;opacity:.3}
.season-piece.bat{width:calc(var(--size)*1.6);height:var(--size);color:#231b28;opacity:.3;animation:season-bat-flight var(--duration) ease-in-out var(--delay) infinite alternate}
.bat-wing{transform-box:view-box;transform-origin:50% 50%;animation:season-bat-flap var(--flap) ease-in-out var(--delay) infinite alternate}
.bat-wing-right{animation-name:season-bat-flap-right}
@keyframes season-bat-flap{from{transform:scaleX(.38) rotate(-12deg)}to{transform:scaleX(1) rotate(5deg)}}
@keyframes season-bat-flap-right{from{transform:scaleX(.38) rotate(12deg)}to{transform:scaleX(1) rotate(-5deg)}}
@keyframes season-bat-flight{0%{transform:translate3d(-4vw,3vh,0) rotate(-8deg)}30%{transform:translate3d(3vw,-4vh,0) rotate(7deg)}65%{transform:translate3d(-2vw,-8vh,0) rotate(-5deg)}100%{transform:translate3d(7vw,-15vh,0) rotate(10deg)}}
.season-piece.snow{top:-12px;background:#fff;border-radius:50%;opacity:.85;box-shadow:0 0 2px #71948780;animation:season-snow var(--duration) linear var(--delay) infinite}
.season-piece.snow:nth-child(3n){filter:blur(1px);opacity:.45}
.season-lights{position:absolute;top:-9px;left:0;width:100%;height:25px;display:flex;justify-content:space-around;border-bottom:1px solid #42644c70;border-radius:0 0 50% 50%}
.season-lights i{width:6px;height:11px;border-radius:45% 45% 50% 50%;background:#d64646;box-shadow:0 0 9px 3px #e6656550;transform:translateY(20px);animation:season-glow 4s ease-in-out infinite alternate;animation-delay:calc(var(--i)*-.3s)}
.season-lights i:nth-child(3n){background:#e9c572;box-shadow:0 0 10px #e9c572}.season-lights i:nth-child(3n + 1){background:#488564;box-shadow:0 0 10px #488564}
.season-scene.paused *{animation-play-state:paused!important}
@keyframes season-drift{to{transform:translate3d(var(--drift),-22px,0) rotate(12deg)}}
@keyframes season-snow{to{transform:translate3d(var(--drift),105vh,0)}}
@keyframes season-glow{to{opacity:.45}}
@media(max-width:600px){.season-piece.bat,.season-piece.heart{opacity:.12}.season-lights i:nth-child(even){visibility:hidden}}
@media(prefers-reduced-motion:reduce){.season-piece{animation:none}.season-piece.snow{display:none}.season-lights i{animation:none}.season-scene{transition:none}}
html[data-theme="halloween"] #contact{background:linear-gradient(125deg,#fff0d9,#f6d2ac);--ink:#352039;--muted:#66505e;--line:#d5b6a5}
html[data-theme="christmas"] #contact{background:linear-gradient(125deg,#e3eee5,#c7decf);--ink:#173d35;--muted:#435e51;--line:#a7c5b3}
html[data-theme="valentine"] #contact{background:linear-gradient(125deg,#ffe4ed,#f6c4d4);--ink:#60253e;--muted:#79475b;--line:#d7a2b6}
html[data-theme="halloween"] .contact-glow{background:radial-gradient(ellipse at 100% 100%,#eb862f30,transparent 65%)}
html[data-theme="christmas"] .contact-glow{background:radial-gradient(ellipse at 100% 100%,#28744925,transparent 65%)}
html[data-theme="valentine"] .contact-glow{background:radial-gradient(ellipse at 100% 100%,#dc3c7525,transparent 65%)}
@media(prefers-reduced-motion:reduce){.bat-wing{animation:none!important}.season-piece.bat{animation:none!important}}
@media(prefers-reduced-motion:reduce){html[data-theme="halloween"] .season-piece.bat{display:none}}
/* Tinted glass with a readable, solid-color fallback beneath the highlights. */
html[data-theme="halloween"] .menu-button{background:linear-gradient(145deg,#fff7e7b8,#ffc08073 45%,#e99a467a);border:1px solid #fff1d6bd;color:#512909}
html[data-theme="christmas"] .menu-button{background:linear-gradient(145deg,#df627ad9,#ac223bbe 60%,#821d36c9);border:1px solid #ffdfe680;color:#fff}
html[data-theme="valentine"] .menu-button{background:linear-gradient(145deg,#ef86accf,#ba3568ba 60%,#962853c9);border:1px solid #ffe4eea6;color:#fff}
html[data-theme] .menu-button{backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);box-shadow:inset 0 1px 0 #ffffffb3,inset 0 -1px 0 #ffffff26,0 5px 18px #38203112;transition:box-shadow .2s,background .2s;isolation:isolate}
html[data-theme] .menu-button:hover{box-shadow:inset 0 1px 0 #ffffffd9,0 7px 22px #38203120}
html[data-theme] .menu-button:active{box-shadow:inset 0 1px 5px #38203118,0 2px 8px #38203112}
