/* Page-only refinements. Shared site layout, header, footer, cards and buttons remain in styles.css and deals.css. */
.halloween #halloween-rates{scroll-margin-top:105px}
.halloween .deals-section{padding:38px 0 28px;background:#fff}
.halloween .section-head{margin-bottom:20px}
.halloween .halloween-room-list{padding-left:55px}
.halloween-room{display:grid;grid-template-columns:360px minmax(0,1fr);gap:28px;align-items:start;padding:26px 0;border-bottom:1px solid rgba(2,6,23,.08)}
.halloween-room:last-child{border-bottom:0}
.halloween-room__image{display:block;overflow:hidden;border-radius:12px;box-shadow:var(--shadow);background:#f1f5f9}
.halloween-room__image img{display:block;width:100%;height:225px;object-fit:cover}
.halloween-room__copy{padding-top:4px}
.halloween-room__copy h3{margin:0 0 10px;color:#0f172a;font-size:20px;font-weight:900}
.halloween-room__copy h3 a:hover{color:var(--accent)}
.halloween-room__copy>p:not(.halloween-room__rate){margin:0 0 14px;max-width:85ch;color:#0f172a;line-height:1.9}
.halloween-room__rate{margin:0 0 16px!important;color:#334155;font-weight:700}
.halloween-room__rate strong{color:var(--accent);font-size:23px;font-weight:900}
.halloween-room__rate span{font-size:14px;color:var(--muted)}
.halloween-room__button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 18px;background:var(--accent);color:#fff;font-weight:900;text-decoration:none}
.halloween-room__button:hover{filter:brightness(1.05)}
.halloween-room__button:focus-visible{outline:3px solid #f59e0b;outline-offset:3px}
.halloween-details{background:#f8fafc;padding:12px 0 48px}
.halloween-details__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.halloween-details__panel{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid rgba(2,6,23,.06);border-radius:18px;box-shadow:var(--shadow);padding:26px}
.halloween-details__panel>i{display:grid;place-items:center;flex:none;width:45px;height:45px;border-radius:14px;background:rgba(14,165,233,.12);color:var(--accent);font-size:19px}
.halloween-details__panel h2{font-size:20px;margin:0 0 8px;color:var(--brand)}
.halloween-details__panel p{margin:0;color:#475569;line-height:1.6}
@media(max-width:980px){.halloween .halloween-room-list{padding-left:0}.halloween-room{grid-template-columns:minmax(0,1fr);gap:16px}.halloween-room__image img{height:auto;max-height:320px}}
@media(max-width:700px){.halloween-details__grid{grid-template-columns:1fr}.halloween .r-hero__content{padding-top:70px!important}.halloween-room__image img{height:220px}.halloween-room__rate span{display:block}}

/* Halloween-only theme. No shared body, header, footer or navigation overrides. */
main.halloween{background:#0d0b12;color:#f5f1e8;--accent:#f29b43;--brand:#f5f1e8;--muted:#b8afbd}
.halloween .r-hero{min-height:610px;background:#0d0b12}
.halloween .r-hero__img{opacity:.58}
.halloween .r-hero__shade{background:linear-gradient(90deg,rgba(13,11,18,.95),rgba(13,11,18,.45) 65%,rgba(13,11,18,.25)),linear-gradient(0deg,#0d0b12,transparent 45%)}
.halloween .r-hero__content{padding-top:64px;padding-bottom:64px}
.halloween .r-title{font-family:Georgia,serif;font-size:clamp(48px,6vw,84px);font-weight:700;line-height:1.03;letter-spacing:-.035em;margin:16px 0 22px;color:#fff6e9;text-shadow:0 3px 28px #0008}
.halloween .r-title span{color:#f6a653}
.halloween .r-sub{max-width:58ch;color:#e3dae6;font-size:18px;line-height:1.75}
.halloween .spooky-kicker{color:#f2a55c;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin:0 0 14px}
.halloween .r-chips{gap:10px;flex-wrap:wrap}
.halloween .r-chip{background:#ffffff08;border:1px solid #ffffff24;color:#f6eee3}
.halloween .r-actions{flex-wrap:wrap;gap:12px}
.halloween .r-btn,.halloween .halloween-room__button{background:#f29b43;color:#171019;border:1px solid #f29b43;border-radius:7px;font-weight:800}
.halloween .r-btn--ghost{background:transparent;color:#fff4e7;border-color:#ffffff40}
.halloween .spooky-events,.halloween .spooky-gallery{padding:64px 0;scroll-margin-top:120px}
.halloween .spooky-events{background:radial-gradient(ellipse at 10% 0,#4a251b40,transparent 55%)}
.halloween .spooky-section-head{margin-bottom:30px;max-width:760px}
.halloween .spooky-section-head h2,.halloween .section-head h2{font-family:Georgia,serif;font-size:clamp(30px,3.3vw,46px);line-height:1.12;letter-spacing:-.025em;color:#fff3e4;margin:0 0 14px}
.halloween .spooky-section-head>p:last-child{color:#c4bbc9;line-height:1.7}
.halloween .spooky-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.halloween .spooky-event{display:flex;gap:24px;padding:30px;background:linear-gradient(135deg,#211724,#151219);border:1px solid #f29b4338;border-radius:14px;position:relative;overflow:hidden}
.halloween .spooky-event::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#f29b43,transparent)}
.halloween .spooky-date{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 80px;align-self:flex-start;border:1px solid #f29b4340;border-radius:10px;padding:12px 8px;background:#0d0b1280;color:#f6a653;gap:3px}
.halloween .spooky-date span{font-size:11px;letter-spacing:.14em;font-weight:800}.halloween .spooky-date strong{font:48px/1 Georgia,serif}
.halloween .spooky-tag{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#c3a2cd;margin:0 0 10px}
.halloween .spooky-event h3{font:700 27px/1.2 Georgia,serif;color:#fff3e4;margin:0 0 12px}
.halloween .spooky-event p{line-height:1.65;color:#cfc3d1}.halloween .spooky-event .spooky-event-theme{color:#f6a653;font-weight:700}
.halloween .spooky-gallery{background:#110e16;border-top:1px solid #ffffff0b;border-bottom:1px solid #ffffff0b}
.halloween .spooky-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.halloween .spooky-photo{margin:0;background:#1c1721;border:1px solid #ffffff15;border-radius:12px;overflow:hidden}
.halloween .spooky-photo a{display:block;background:#09070c}.halloween .spooky-photo img{display:block;width:100%;aspect-ratio:4/3;height:auto;object-fit:contain}
.halloween .spooky-photo figcaption{padding:14px 16px;color:#d6cbd8;font-size:13px;line-height:1.5}
.halloween .spooky-photo a:focus-visible{outline:3px solid #f6a653;outline-offset:-3px}
.halloween .deals-section{padding:64px 0;background:#0d0b12}
.halloween .section-head p{color:#bfb3c3}.halloween .halloween-room-list{padding-left:0}
.halloween .halloween-room{border-color:#ffffff15;padding:30px 0}.halloween .halloween-room__image{background:#211824;box-shadow:none;border:1px solid #ffffff18}
.halloween .halloween-room__copy h3,.halloween .halloween-room__copy>p:not(.halloween-room__rate){color:#e7dfe9}
.halloween .halloween-room__copy h3{font:700 26px Georgia,serif}.halloween .halloween-room__copy>p:not(.halloween-room__rate){color:#bfb3c3;line-height:1.75}
.halloween .halloween-room__rate{color:#d3c6d7}.halloween .halloween-room__rate strong{color:#f6a653}.halloween .halloween-room__rate span{color:#bfb3c3}
.halloween .halloween-details{background:#110e16;padding:28px 0 48px}.halloween .halloween-details__panel{background:#1c1721;border:1px solid #ffffff15;box-shadow:none}.halloween .halloween-details__panel h2{color:#fff0de}.halloween .halloween-details__panel p{color:#c4b8c9}.halloween .halloween-details__panel>i{background:#f29b431a;color:#f6a653}
.halloween .deals-cta{background:radial-gradient(ellipse at 70% 0,#61241e50,transparent 75%),#0d0b12;border-top:1px solid #f29b4325;padding:44px 0}
.halloween .deals-cta h2{color:#fff0de}.halloween .deals-cta p{color:#c4b8c9}.halloween .deals-cta .btn{background:#f29b43;color:#171019}.halloween .deals-cta .btn--ghost{background:transparent;border:1px solid #f29b4355;color:#fff0de}
@media(max-width:980px){.halloween .spooky-event-grid{grid-template-columns:1fr}.halloween .spooky-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.halloween .r-hero{min-height:590px}.halloween .r-hero__content{padding-top:48px!important;padding-bottom:48px}.halloween .spooky-events,.halloween .spooky-gallery,.halloween .deals-section{padding:42px 0}}
@media(max-width:560px){.halloween .spooky-photo-grid{grid-template-columns:1fr}.halloween .spooky-event{padding:22px;gap:16px}.halloween .spooky-date{flex-basis:65px}.halloween .spooky-event h3{font-size:24px}.halloween .r-sub{font-size:16px}.halloween .r-title{font-size:48px}}

/* Week at a glance: additions scoped to the Halloween page. */
.halloween .spooky-week{padding:56px 0;background:#0d0b12;border-top:1px solid #f29b4325}
.halloween .spooky-week-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.halloween .spooky-night,.halloween .spooky-mystery{background:linear-gradient(135deg,#211724,#151219);border:1px solid #f29b4338;border-radius:14px;padding:28px;min-width:0}
.halloween .spooky-night .spooky-day{margin:0 0 14px;color:#f6a653;font-size:13px;letter-spacing:.14em;font-weight:800;text-transform:uppercase}
.halloween .spooky-night .spooky-time{margin:0 0 10px;color:#ddd0e1;font-size:14px;font-weight:700}
.halloween .spooky-night h3,.halloween .spooky-mystery h3{font:700 27px/1.2 Georgia,serif;color:#fff3e4;margin:0 0 16px}
.halloween .spooky-night p,.halloween .spooky-night li,.halloween .spooky-mystery p{color:#cfc3d1;line-height:1.75}
.halloween .spooky-night ul{padding-left:20px;margin:0}.halloween .spooky-night>p:last-child{margin-bottom:0}
.halloween .spooky-night--awards{grid-column:1/-1}
.halloween .spooky-awards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:20px}
.halloween .spooky-awards h4{color:#f6a653;margin:0 0 10px;font-size:16px}
.halloween .spooky-mystery{margin-top:24px;border-color:#f29b4355}
.halloween .spooky-mystery .spooky-kicker{color:#f2a55c;line-height:1.5}
.halloween .spooky-mystery .spooky-mystery-finale{color:#f6a653;font-weight:700;margin-bottom:0}
@media(max-width:700px){.halloween .spooky-week{padding:42px 0}.halloween .spooky-week-grid,.halloween .spooky-awards{grid-template-columns:1fr}.halloween .spooky-night,.halloween .spooky-mystery{padding:22px}.halloween .spooky-night h3,.halloween .spooky-mystery h3{font-size:24px}}

/* Compact combined daytime/evening schedule, scoped to Halloween. */
.halloween .spooky-week{padding:40px 0}
.halloween .spooky-week .spooky-section-head{margin-bottom:22px}
.halloween .spooky-daily-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;align-items:start}
.halloween .spooky-daily{min-width:0;padding:20px 18px;background:linear-gradient(135deg,#211724,#151219);border:1px solid #f29b4338;border-radius:12px}
.halloween .spooky-daily h3{margin:0 0 16px;font:700 23px/1.2 Georgia,serif;color:#fff3e4}
.halloween .spooky-daily-label{margin:0 0 9px!important;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#f6a653!important}
.halloween .spooky-daily ul{padding-left:17px;margin:0}
.halloween .spooky-daily li{font-size:14px;line-height:1.5;color:#cfc3d1;margin:0 0 5px}
.halloween .spooky-daily-evening{margin-top:16px;padding-top:15px;border-top:1px solid #ffffff18}
.halloween .spooky-daily-evening h4{font:700 19px/1.25 Georgia,serif;color:#fff3e4;margin:9px 0 8px}
.halloween .spooky-daily-evening p{color:#cfc3d1;font-size:13px;line-height:1.5;margin:0}
.halloween .spooky-daily-evening .spooky-daily-time{color:#e7dae9;font-weight:700;font-size:12px}
.halloween .spooky-week-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}
.halloween .spooky-points,.halloween .spooky-prizes{padding:22px;background:#1c1721;border:1px solid #f29b4338;border-radius:12px;min-width:0}
.halloween .spooky-week-summary h3{font:700 24px/1.2 Georgia,serif;color:#fff3e4;margin:0 0 12px}
.halloween .spooky-week-summary h4{color:#f6a653;margin:14px 0 8px}
.halloween .spooky-week-summary p,.halloween .spooky-week-summary li{color:#cfc3d1;line-height:1.6;font-size:14px;margin:0 0 5px}
.halloween .spooky-week-summary strong{color:#f6a653}
.halloween .spooky-week-summary ul{padding-left:18px;margin:0 0 12px}
.halloween .spooky-week .spooky-mystery{padding:22px;margin-top:18px}
@media(max-width:1200px){.halloween .spooky-daily-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.halloween .spooky-daily-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.halloween .spooky-daily-grid,.halloween .spooky-week-summary{grid-template-columns:1fr}.halloween .spooky-daily{padding:20px}.halloween .spooky-week{padding:30px 0}}

/* Past Halloween recap: scoped to this page only. */
.halloween .spooky-recap{padding:40px 0;background:#0d0b12;border-top:1px solid #f29b4325}
.halloween .spooky-recap-videos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start}
.halloween .spooky-recap-video{min-width:0;background:#1c1721;border:1px solid #f29b4338;border-radius:12px;overflow:hidden;padding:14px}
.halloween .spooky-recap-video h3{color:#fff3e4;font:700 19px/1.3 Georgia,serif;margin:0 0 12px}
.halloween .spooky-recap-video video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#08070b;border-radius:6px}
.halloween .spooky-recap-watch{display:inline-block;margin-top:10px;color:#f6a653;font-size:13px;text-decoration:underline}
.halloween .spooky-recap-hint{color:#cfc3d1;font-size:14px;line-height:1.6;margin:22px 0 14px}
.halloween .spooky-recap-collections{display:grid;gap:12px}
.halloween .spooky-recap-collection{min-width:0;background:#1c1721;border:1px solid #f29b4338;border-radius:12px;overflow:hidden}
.halloween .spooky-recap-collection summary{cursor:pointer;padding:16px 18px;color:#fff3e4;font-weight:700;line-height:1.5}
.halloween .spooky-recap-collection summary span{margin-left:14px;color:#c4b8c9;font-size:12px;font-weight:400;white-space:nowrap}
.halloween .spooky-recap-collection summary:focus-visible,.halloween .spooky-recap-grid a:focus-visible,.halloween .spooky-recap-watch:focus-visible{outline:3px solid #f6a653;outline-offset:-3px}
.halloween .spooky-recap-collection[open] summary{border-bottom:1px solid #ffffff15}
.halloween .spooky-recap-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:16px}
.halloween .spooky-recap-grid a{display:block;min-width:0;background:#100d15;border-radius:6px;overflow:hidden}
.halloween .spooky-recap-grid img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#100d15}
@media(max-width:980px){.halloween .spooky-recap-videos,.halloween .spooky-recap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.halloween .spooky-recap-videos{grid-template-columns:1fr}.halloween .spooky-recap-grid{gap:8px;padding:10px}.halloween .spooky-recap-collection summary{padding:14px}.halloween .spooky-recap-video{padding:12px}}

/* Keep the room rates inside their padded section, including Chrome at 100% zoom. */
main.halloween #halloween-rates > .container {
  width: min(var(--max), calc(100% - 48px)) !important;
  max-width: 100% !important;
}
@media (max-width: 980px) {
  main.halloween #halloween-rates > .container { width: 100% !important; }
}
