/* Halloween coupon: approved dark fantasy design, scoped to this section. */
.halloween-home-banner { padding-bottom: 28px; }
.halloween-home-banner__dates { position: relative; inset: auto; margin: -20px 16px 2px; }
.halloween-promo { position: relative; z-index: 3; width: min(1000px, calc(100% - 40px)); margin: 0 auto; text-align: center; color: #fff0c4; font-family: var(--serif, Georgia, serif); }
.halloween-promo__ticket { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 25%; align-items: center; min-height: 208px; padding: 38px 42px; background: url('/assets/img/halloween-promo-ticket-20261028.webp') center / 100% 136% no-repeat; }
.halloween-promo__content { min-width: 0; padding: 0 12px; }
.halloween-promo__eyebrow { margin: 0 0 6px; color: #eae3d6; font-size: clamp(15px, 1.9vw, 25px); font-weight: 400; line-height: 1.3; text-transform: uppercase; }
.halloween-promo__code { display: block; width: fit-content; margin: 0 auto; color: #ffdc83; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(32px, 4.8vw, 65px); font-weight: 400; line-height: 1.15; letter-spacing: .085em; text-shadow: 0 2px 1px #160803, 0 0 12px #cb510c; user-select: all; }
.halloween-promo__copy { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; align-self: stretch; min-width: 0; min-height: 84px; margin: 0; padding: 8px 0 8px 16px; border: 0; border-radius: 0; background: transparent; color: #ffe29b; font: inherit; font-size: clamp(16px, 1.8vw, 25px); line-height: 1.25; cursor: pointer; text-shadow: 0 2px 6px #090503; transition: color .15s ease; }
.halloween-promo__copy::before { content: ''; position: absolute; inset: 3px auto 3px 0; width: 2px; background: repeating-linear-gradient(to bottom, #edc16e 0 12px, transparent 12px 21px); }
.halloween-promo__copy:hover { color: #fff5d6; }
.halloween-promo__copy-icon { position: relative; display: block; width: 28px; height: 32px; border: 2px solid currentColor; border-radius: 2px; margin: 4px 4px 0 0; }
.halloween-promo__copy-icon::after { content: ''; position: absolute; inset: -7px -7px 5px 5px; border: 2px solid currentColor; border-radius: 2px; background: #201307; }
.halloween-promo__help { margin: 4px 0 10px; color: #f9edce; font-size: clamp(19px, 2.4vw, 30px); line-height: 1.4; }
.halloween-promo__download { display: flex; align-items: center; justify-content: center; gap: 16px; width: min(560px, 90%); min-height: 90px; margin: 0 auto; padding: 20px 36px; color: #fff0c4; background: url('/assets/img/halloween-promo-download-20261028.webp') center / 100% 170% no-repeat; font-family: inherit; font-size: clamp(25px, 3vw, 38px); font-weight: 400; line-height: 1.1; text-decoration: none; text-shadow: 0 2px 4px #511500; transition: filter .15s ease, transform .15s ease; }
.halloween-promo__download:hover { color: #fff9e9; filter: brightness(1.15); transform: translateY(-1px); }
.halloween-promo__download:active { transform: translateY(1px); }
.halloween-promo__download-icon { font-family: Georgia, serif; font-size: 1.2em; line-height: 1; font-weight: 700; }
.halloween-promo__copy:focus-visible, .halloween-promo__download:focus-visible { outline: 2px solid #fff1b6; outline-offset: 5px; }
.halloween-promo__status { min-height: 20px; margin: 8px 0 0; font-family: Arial, sans-serif; font-size: 13px; line-height: 1.5; color: #ffe4a7; }
@media (max-width: 620px) {
 .halloween-home-banner { padding-bottom: 10px; }
 .halloween-home-banner__dates { margin: -2px 12px 7px; }
 .halloween-promo { width: calc(100% - 20px); }
 .halloween-promo__ticket { grid-template-columns: minmax(0, 1fr) 27%; min-height: 126px; padding: 24px 18px; background-size: 100% 136%; }
 .halloween-promo__content { padding: 0 6px 0 2px; }
 .halloween-promo__eyebrow { font-size: clamp(10px, 2.8vw, 16px); margin-bottom: 7px; }
 .halloween-promo__code { font-size: clamp(23px, 6.2vw, 37px); letter-spacing: .055em; }
 .halloween-promo__copy { min-height: 66px; padding: 5px 0 5px 8px; font-size: clamp(10px, 2.65vw, 16px); gap: 9px; }
 .halloween-promo__copy-icon { width: 19px; height: 22px; }
 .halloween-promo__copy-icon::after { inset: -6px -6px 4px 4px; }
 .halloween-promo__help { margin: 5px 0 4px; font-size: clamp(16px, 4.5vw, 23px); }
 .halloween-promo__download { min-height: 72px; width: min(360px, 92%); padding: 18px 30px; gap: 12px; font-size: 28px; }
 .halloween-promo__status { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) { .halloween-promo__copy, .halloween-promo__download { transition: none; } .halloween-promo__download:hover, .halloween-promo__download:active { transform: none; } }
