@import url('https://fonts.googleapis.com/css2?family=Creepster&display=swap');
body,.section,.product,header,footer{transition:background-color 1.8s ease,color 1.8s ease,border-color 1.8s ease}
.halloween-toggle{position:fixed;left:16px;bottom:18px;z-index:39;background:#302532;color:#fff0d3;border:1px solid #bc7844;border-radius:22px;padding:10px 14px;font:600 12px sans-serif;cursor:pointer;box-shadow:0 4px 18px #0003}.haunted-decor{position:fixed;inset:0;pointer-events:none;z-index:41;overflow:hidden;opacity:0;transition:opacity 2s}.halloween .haunted-decor{opacity:1}.cobweb{position:absolute;top:0;width:170px;color:#e9e2d2;opacity:.48}.cobweb svg{width:100%;stroke-width:1.2}.cobweb.left{left:0}.cobweb.right{right:0;transform:scaleX(-1)}.h-spider{position:absolute;right:48px;top:105px;font-size:31px;animation:spider-sway 6s ease-in-out infinite}.h-spider:before{content:'';position:absolute;height:110px;bottom:31px;left:50%;border-left:1px solid #c9bfc0}.h-bat{position:absolute;font-size:28px;opacity:.75}.bat-one{left:12px;top:36%;transform:rotate(-18deg)}.bat-two{right:12px;top:67%;transform:rotate(15deg)}.h-pumpkin{position:absolute;left:12px;bottom:80px;font-size:40px}.h-ghost{position:absolute;right:15px;top:22%;font-size:30px;opacity:.6;animation:ghost-float 5s ease-in-out infinite}@keyframes ghost-float{50%{transform:translateY(12px)}}@keyframes spider-sway{50%{transform:translateY(12px) rotate(7deg)}}
body.halloween{--paper:#19161d;--ink:#f7ebd9;--green:#e39a52;--sage:#e39a52;--muted:#d0c2b6;--line:#54404a;--copper:#f3a45b;background:#19161d;color:#f7ebd9}.halloween :is(.welcome,.welcome-brand,.scroll-header,.menu-section,.contact,footer){background:#201b24!important;color:#f5e8d3!important;border-color:#57444a!important}.halloween :is(h1,h2,.menu-title h3){font-family:'Creepster',Georgia,serif;letter-spacing:1px;color:#ffb563!important}.halloween :is(.brand,.compact-brand,.call,nav a,.welcome-hours,.welcome-hours *, .welcome-contact *,.contact p,.contact .eyebrow,.hours *,footer a,.section-heading p,.category-sidebar,.muted,.allergen,.order-steps){color:#eadccb!important}.halloween :is(.welcome-hours,.service-times,.service-note,.sidebar-info){background:#302631!important;border-color:#75523e!important;color:#efdfc7!important}.halloween .service-times strong{color:#ffc27c}.halloween #categories button{background:#302631;color:#eee0ce;border-color:#5e4652}.halloween #categories button[aria-pressed=true]{background:#d98d48;color:#241620;border-color:#ffbf77}.halloween #categories small{background:#473642;color:#ffe1b9}.halloween .product{background:#29222c;color:#f2e5d2;border-color:#54424d}.halloween .product:hover{background:#382a35;border-color:#d69457}.halloween :is(.product-desc,.customize,.add-label){color:#d8c9bb}.halloween :is(.price,.product-name){color:#ffbd78}.halloween .ingredient-badge{background:#372e37;color:#ead8c1;border-color:#574853}.halloween :is(.button,.cart-button,.contact .button){background:#e6a05b;color:#251b23;border-color:#f5bd79}.halloween :is(.search,dialog,.dialog-bottom){background:#29222c;color:#f5eadc;border-color:#64505a}.halloween :is(input,textarea){color:inherit}.halloween :is(.choice,.recipe-modifiers){background:#302832;color:#f3e6d6;border-color:#65525a}.halloween :is(.choice:has(input:checked),.sauce-choices .choice:has(input:checked)){background:#654731;border-color:#e9a65f}.halloween :is(legend,summary,.product-service-hours,.cart-option-line,.cart-notice strong){color:#ffd197!important}.halloween .cart-service{color:#d4c6bb}.halloween .cart-notice{background:#362d35;color:#eadbca}.halloween #maison:after{background:linear-gradient(90deg,#170f1ce8,#281925c9,#170f1ce3)}.halloween #maison .maison-content{max-width:1040px}.halloween #maison .maison-content p{color:#f3e4d2;max-width:850px}.halloween #maison h2{font-size:clamp(38px,4.6vw,66px);line-height:1.05;margin:12px 0}.h-event-kicker{font-size:13px;text-transform:uppercase;letter-spacing:2px}.halloween #maison .h-event-date{display:inline-block;background:#e6a05b;color:#271927;padding:10px 18px;border-radius:6px;font-weight:800;margin:8px auto 12px}.h-event-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;text-align:left}.h-event-grid>div{padding:20px;border:1px solid #a6754c;border-radius:10px;background:#211922c9}.h-event-grid h3{color:#ffc683;font-size:21px;margin:0}.halloween #maison .h-event-grid p{margin:10px 0;font-size:14px}.h-event-grid strong{color:#ffd49d}.halloween .payment-info{color:#eddbc7}.halloween .underlink{color:#ffd49d}
@media(max-width:720px){.cobweb{width:85px}.h-spider{right:18px;top:65px;font-size:23px}.h-ghost,.h-bat{display:none}.h-pumpkin{font-size:26px;bottom:130px;left:4px}.halloween-toggle{bottom:137px;left:10px;font-size:10px;padding:8px 10px}.h-event-grid{grid-template-columns:1fr}.h-event-grid>div{padding:15px}.halloween #maison{padding-top:34px;padding-bottom:34px}}
@media(prefers-reduced-motion:reduce){body,.section,.product,header,footer,.haunted-decor{transition:none}.h-spider,.h-ghost{animation:none}}@media print{.haunted-decor,.halloween-toggle{display:none!important}}
.halloween #menu{background:#19161d;color:#f3e5d2}.halloween .welcome a,.halloween .welcome p,.halloween .welcome span{color:#eadccb!important}.halloween #maison .h-event-date{color:#271927!important}

/* A short, staggered transformation; interaction remains available. */
#maison .maison-content{transition:opacity .55s ease,transform .55s ease,height .85s ease}#maison .maison-content.intro-changing{opacity:0;transform:translateY(7px)}
body{transition:background-color 1.2s ease,color 1.2s ease}.welcome,.welcome-hours,.scroll-header{transition:background-color 1.3s ease .15s,color 1.3s ease .15s,border-color 1.3s ease .15s}#menu,.contact,footer{transition:background-color 1.5s ease .65s,color 1.5s ease .65s}.product,#categories button,.service-times,.service-note,.ingredient-badge{transition:background-color 1.2s ease,color 1.2s ease,border-color 1.2s ease}.haunting-in .product:nth-child(3n+1){transition-delay:.8s}.haunting-in .product:nth-child(3n+2){transition-delay:1.1s}.haunting-in .product:nth-child(3n){transition-delay:1.4s}.haunting-in #categories button:nth-child(odd){transition-delay:.5s}.haunting-in #categories button:nth-child(even){transition-delay:.8s}
.haunted-decor{transition:opacity .6s}.haunting-in .cobweb{animation:web-unfold 1.6s ease both;transform-origin:top left}.haunting-in .cobweb.left{animation-delay:1.1s}.haunting-in .cobweb.right{animation-name:web-unfold-right;animation-delay:1.5s;transform-origin:top right}.haunting-in .h-spider{animation:spider-arrive 1.2s ease 2s both}.haunting-in .h-bat{animation:decoration-arrive 1s ease 1.8s both}.haunting-in .bat-two{animation-delay:2.1s}.haunting-in .h-pumpkin{animation:decoration-arrive .9s ease 2.3s both}.haunting-in .h-ghost{animation:decoration-arrive 1.2s ease 2.2s both}
@keyframes web-unfold{from{opacity:0;transform:scale(.65)}to{opacity:.48;transform:scale(1)}}@keyframes web-unfold-right{from{opacity:0;transform:scaleX(-1) scale(.65)}to{opacity:.48;transform:scaleX(-1) scale(1)}}@keyframes spider-arrive{from{opacity:0;transform:translateY(-80px)}to{opacity:1;transform:translateY(0)}}@keyframes decoration-arrive{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){body,#maison .maison-content,.welcome,.welcome-hours,.scroll-header,#menu,.contact,footer,.product,#categories button,.service-times,.service-note,.ingredient-badge{transition:none!important}.haunting-in .haunted-decor *{animation:none!important}}

.halloween #maison .maison-photos{display:block;background:url('assets/halloween-cimetiere.png') center center/cover no-repeat}.halloween #maison .maison-photos span{display:none!important}.halloween #maison:after{background:linear-gradient(90deg,#170f1c30,#170f1c75 30%,#170f1c75 70%,#170f1c30)}

.h-fog{position:absolute;bottom:-35px;left:0;width:100%;height:170px;overflow:hidden;opacity:.5;pointer-events:none;mask-image:linear-gradient(transparent,#000 65%);-webkit-mask-image:linear-gradient(transparent,#000 65%)}.h-fog i{position:absolute;inset:0 -30%;background:radial-gradient(ellipse at 15% 80%,#b7afc36b,transparent 45%),radial-gradient(ellipse at 50% 95%,#c7c0cc80,transparent 48%),radial-gradient(ellipse at 85% 75%,#a9a1bc60,transparent 40%);filter:blur(15px);animation:fog-drift 22s ease-in-out infinite alternate}.h-fog i:nth-child(2){animation-duration:31s;animation-direction:alternate-reverse;opacity:.65;bottom:-25px}.h-fog i:nth-child(3){animation-duration:17s;opacity:.35;top:35px}.haunting-in .h-fog{animation:decoration-arrive 2s ease 1.4s both}@keyframes fog-drift{from{transform:translateX(-8%) scaleY(.85)}to{transform:translateX(8%) scaleY(1.1)}}@media(max-width:720px){.h-fog{height:120px;opacity:.35}}@media(prefers-reduced-motion:reduce){.h-fog i{animation:none}}
