/* Every rule belongs to the seasonal root; the base theme is restored by date. */
html[data-storefront-theme="halloween"] {
    --primary-color: #8c351e;
    --secondary-color: #c45a28;
    --primary-color-rgb: 140, 53, 30;
    --secondary-color-rgb: 196, 90, 40;
    --color-purple-50: #fff3e9;
    --color-purple-100: #ffe6d1;
    --color-purple-200: #ffd0ad;
    --color-purple-300: #f9af7f;
    --color-purple-400: #e8824b;
    --color-purple-500: #bd5028;
    --color-purple-600: #a73c1e;
    --color-purple-700: #8c351e;
    --color-purple-800: #782c1c;
    --color-purple-900: #58221b;
    --color-purple-950: #30141a;
    --color-pink-50: #fff3e9;
    --color-pink-100: #ffe7d4;
    --color-pink-200: #ffd0ad;
    --color-pink-300: #ffc18f;
    --color-pink-400: #ffb16f;
    --color-pink-500: #b94b24;
    --color-pink-600: #9b371f;
    --color-pink-700: #7d2f20;
    --color-pink-800: #61261f;
    --color-pink-900: #48201e;
    --color-gray-50: #fffaf5;
    --color-gray-100: #fbf2e9;
    background: #fffaf5;
}

html[data-storefront-theme="halloween"] body {
    background-color: #fffaf5;
    padding-top: var(--halloween-header-height, 116px);
}

html[data-storefront-theme="halloween"] .storefront-announcement {
    background: #291a2d;
    border-bottom: 1px solid #e9ae6a33;
}

html[data-storefront-theme="halloween"] .fixed-nav-wrapper > nav {
    background: #fffaf5;
    border-bottom: 1px solid #e9d6c5;
    box-shadow: 0 4px 18px #32182a08;
}

html[data-storefront-theme="halloween"] #megamenu-desktop {
    top: var(--halloween-header-height, 116px) !important;
}

html[data-storefront-theme="halloween"] .storefront-logo::after {
    content: "✦";
    color: #bd5028;
    font-size: 22px;
    margin-left: 10px;
}

html[data-storefront-theme="halloween"] .halloween-nav-label {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #f8cf9d;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
}

html[data-storefront-theme="halloween"] .halloween-page-note {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 7px 14px;
    padding: 12px 20px;
    border-bottom: 1px solid #ecd6c3;
    background: #f9eadb;
    color: #713622;
    font-size: 12px;
    text-align: center;
}

html[data-storefront-theme="halloween"] .halloween-page-note strong {
    font-size: 10px;
    letter-spacing: .12em;
    text-transform: uppercase;
}

html[data-storefront-theme="halloween"] .halloween-hero {
    position: relative;
    overflow: hidden;
    color: #fff1e3;
    background: radial-gradient(ellipse at 78% 45%, #59304466, transparent 54%), #231626;
}

.halloween-hero-inner {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    align-items: center;
    max-width: 1280px;
    min-height: 570px;
    margin: 0 auto;
    padding: 52px 24px 40px;
    gap: 20px;
}

.halloween-copy { position: relative; z-index: 1; }
.halloween-edition {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 8px 13px;
    border: 1px solid #e6a16555;
    border-radius: 3px;
    color: #f4b77e;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .19em;
    text-transform: uppercase;
}
.halloween-eyebrow {
    margin: 30px 0 12px;
    color: #c9b4c3;
    font-size: 11px;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.halloween-copy h1 {
    margin: 0;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(38px, 4.5vw, 65px);
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: -.045em;
}
.halloween-copy h1 span, .halloween-copy h1 em { display: block; }
.halloween-copy h1 em { color: #ffb273; font-weight: 400; }
.halloween-description {
    max-width: 455px;
    margin: 25px 0 28px;
    color: #d7c6d1;
    font-size: 15px;
    line-height: 1.85;
}
.halloween-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px 24px; }
.halloween-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    min-height: 50px;
    padding: 14px 22px;
    border: 1px solid #ffb273;
    border-radius: 4px;
    background: #ffb273;
    color: #301722;
    font-size: 13px;
    font-weight: 700;
    transition: background-color .2s, transform .2s;
}
.halloween-button:hover { background: #ffd1a3; transform: translateY(-2px); }
.halloween-button svg, .halloween-discretion svg { width: 20px; height: 20px; flex-shrink: 0; }
.halloween-secondary {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    min-height: 44px;
    color: #fff1e3;
    font-size: 13px;
    text-decoration: underline;
    text-decoration-color: #aa899e;
    text-underline-offset: 6px;
    transition: color .2s;
}
.halloween-secondary:hover { color: #ffb273; }
.halloween-button:focus-visible, .halloween-secondary:focus-visible { outline: 2px solid #ffdaa9; outline-offset: 5px; }
.halloween-discretion {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 24px;
    color: #baa6b5;
    font-size: 11px;
}
.halloween-discretion svg { width: 14px; height: 14px; color: #e1aa79; }
.halloween-art { position: relative; align-self: center; min-width: 0; }
.halloween-art img { display: block; width: 100%; height: auto; max-height: 500px; object-fit: contain; }
.halloween-art-signature {
    display: block;
    margin-top: -20px;
    color: #c9b1bd;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 14px;
    font-style: italic;
    text-align: center;
}
.halloween-hero-edge {
    padding: 14px 20px;
    border-top: 1px solid #e2af7b24;
    color: #c19a7c;
    font-size: 9px;
    letter-spacing: .35em;
    text-align: center;
    white-space: nowrap;
}
html[data-storefront-theme="halloween"] .storefront-footer {
    position: relative;
    border-top: 3px solid #a95a32;
    background: #251928;
}
.halloween-footer-note {
    margin-bottom: 30px;
    padding-bottom: 22px;
    border-bottom: 1px solid #e3b68c33;
    color: #f4bf8c;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 21px;
    font-style: italic;
}

@media (min-width: 1024px) {
    .halloween-nav-label { display: inline-flex; }
}
@media (max-width: 1100px) {
    html[data-storefront-theme="halloween"] .halloween-nav-label { display: none; }
    .halloween-hero-inner { padding: 46px 24px 38px; min-height: 520px; }
    .halloween-actions { gap: 10px 20px; }
}
@media (max-width: 767px) {
    html[data-storefront-theme="halloween"] body { padding-top: var(--halloween-header-height, 122px); }
    html[data-storefront-theme="halloween"] .storefront-logo::after { font-size: 18px; margin-left: 6px; }
    .halloween-hero-inner { grid-template-columns: 1fr; gap: 4px; padding: 30px 22px 16px; }
    .halloween-eyebrow { margin-top: 23px; font-size: 10px; letter-spacing: .09em; }
    .halloween-copy h1 { font-size: clamp(36px, 8.7vw, 57px); line-height: 1.12; }
    .halloween-description { margin: 18px 0 23px; font-size: 14px; line-height: 1.75; max-width: 480px; }
    .halloween-actions { gap: 8px 20px; }
    .halloween-button { min-height: 48px; padding: 12px 18px; gap: 16px; }
    .halloween-secondary { font-size: 12px; }
    .halloween-discretion { margin-top: 18px; font-size: 10px; }
    .halloween-art { width: min(100%, 350px); margin: -12px auto 0; }
    .halloween-art img { max-height: 230px; }
    .halloween-art-signature { margin-top: -15px; font-size: 12px; }
    .halloween-hero-edge { margin-top: 20px; padding: 12px 0; font-size: 8px; letter-spacing: .18em; }
    .halloween-footer-note { font-size: 18px; }
}
@media (max-width: 370px) {
    .halloween-hero-inner { padding-right: 16px; padding-left: 16px; }
    .halloween-copy h1 { font-size: 34px; }
    .halloween-actions { align-items: flex-start; flex-direction: column; gap: 8px; }
    .halloween-art { margin-top: -10px; }
}
@media (prefers-reduced-motion: reduce) {
    .halloween-button, .halloween-secondary { transition: none; }
    .halloween-button:hover { transform: none; }
}
