/* Optional seasonal ornaments. Never overrides the storefront's primary palette, typography or button mechanics. */
.catalog-card.seasonal-anchor, .brand-button.seasonal-anchor, .seasonal-preview-card.seasonal-anchor, .seasonal-preview-buy.seasonal-anchor, .seasonal-preview-mock-header.seasonal-anchor { position: relative; }
.seasonal-decoration { position: absolute; display: block; pointer-events: none !important; user-select: none; z-index: 4; }
.seasonal-decoration svg { display: block; width: 100%; height: 100%; overflow: visible; }
.seasonal-decoration--web { width: 72px; height: 72px; top: 0; left: 0; opacity: .72; }
.seasonal-decoration--web.is-right { left: auto; right: 0; transform: scaleX(-1); }
.seasonal-decoration--pumpkin { width: 34px; height: 34px; right: 9px; bottom: 7px; filter: drop-shadow(0 1px 2px rgba(0,0,0,.20)); }
.seasonal-decoration--header { width: 33px; height: 33px; left: 7px; top: 5px; opacity: .93; }
.seasonal-decoration--button { width: 20px; height: 20px; right: -7px; top: -10px; z-index: 2; }
.site-header.seasonal-anchor { isolation: isolate; }
.site-header > .seasonal-decoration { z-index: 8; }
.catalog-card.seasonal-anchor { isolation: isolate; }
.catalog-card > .seasonal-decoration--pumpkin { z-index: 7; }
.seasonal-flyover { position: fixed; inset: 0; width: 100%; height: 100%; overflow: hidden; pointer-events: none !important; z-index: 1800; }
.seasonal-bat { position: absolute; display: block; width: 64px; height: 38px; left: -95px; top: var(--bat-top,30%); color: #202027; opacity: 0; animation: seasonal-bat-flight var(--bat-duration,5.5s) ease-in-out var(--bat-delay,0s) 1 both; }
.seasonal-bat svg { width: 100%; height: 100%; display: block; filter: drop-shadow(0 2px 2px rgba(0,0,0,.20)); }
@keyframes seasonal-bat-flight {
    0% { opacity: 0; transform: translate(-5vw, 32px) scale(var(--bat-scale,1)) rotate(-12deg); }
    12% { opacity: .87; }
    78% { opacity: .87; }
    100% { opacity: 0; transform: translate(115vw, -52px) scale(var(--bat-scale,1)) rotate(8deg); }
}
@media (max-width: 760px) {
    .seasonal-decoration--web { width: 48px; height: 48px; }
    .seasonal-decoration--header { width: 25px; height: 25px; }
    .seasonal-decoration--pumpkin { width: 27px; height: 27px; }
    .seasonal-bat { width: 43px; height: 30px; }
}
@media (prefers-reduced-motion: reduce) { .seasonal-flyover { display: none !important; } .seasonal-bat { animation: none !important; } }

/* The admin preview is isolated: no theme styling leaks into its actual sidebar or forms. */
.seasonal-preview-overlay { position: fixed; inset: 0; z-index: 4500; background: rgba(9, 10, 14, .83); display: flex; align-items: center; justify-content: center; padding: 20px; }
.seasonal-preview-dialog { position: relative; width: min(860px, 100%); max-height: min(90vh, 820px); overflow: auto; background: #fff; color: #1d1d22; border-radius: 14px; box-shadow: 0 22px 70px rgba(0,0,0,.36); }
.seasonal-preview-toolbar { display: flex; gap: 14px; align-items: center; justify-content: space-between; padding: 14px 18px; background: #1b1c21; color: #fff; }
.seasonal-preview-toolbar strong { color: #fff; font-size: 14px; }
.seasonal-preview-close { border: 1px solid #ddd; padding: 8px 12px; border-radius: 7px; background: #fff; color: #1d1d22; cursor: pointer; }
.seasonal-preview-mock { position: relative; min-height: 350px; overflow: hidden; background: #f6f6f7; }
.seasonal-preview-mock-header { position: relative; height: 90px; background: #111216; display: flex; align-items: center; padding: 20px 28px; gap: 18px; color: white; }
.seasonal-preview-logo { font-size: 19px; font-weight: 750; letter-spacing: .02em; }
.seasonal-preview-search { background: #fff; color: #7d7d82; flex: 1; border-radius: 8px; padding: 10px 14px; font-size: 12px; }
.seasonal-preview-mock-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; padding: 20px; }
.seasonal-preview-card { min-height: 188px; position: relative; background: #fff; border: 1px solid #e4e4e7; border-radius: 9px; padding: 14px; display: flex; flex-direction: column; gap: 10px; }
.seasonal-preview-card-picture { flex: 1; min-height: 100px; border-radius: 6px; background: linear-gradient(135deg,#e9ebef,#f9f9fa); display: grid; place-items: center; color: #7e818a; }
.seasonal-preview-card-name { font-size: 12px; color: #1d1d22; font-weight: 650; }
.seasonal-preview-buy { padding: 7px 10px; background: #cc0c39; color: #fff; border-radius: 6px; font-size: 11px; width: max-content; }
.seasonal-preview-mock .seasonal-decoration { z-index: 6; }
.seasonal-preview-mock .seasonal-flyover { position: absolute; z-index: 7; }
.seasonal-preview-mock .seasonal-bat { animation-duration: var(--bat-duration,5.5s); }
.seasonal-admin-options { display: grid; gap: 0; margin: 16px 0; }
.seasonal-admin-option { display: flex; gap: 20px; justify-content: space-between; align-items: center; padding: 14px 0; border-bottom: 1px solid #e7e7e9; }
.seasonal-admin-option p { margin: 5px 0 0; color: #686b74; font-size: 12px; }
.seasonal-admin-option label { font-size: 13px; font-weight: 700; }
.seasonal-admin-option select { flex: 0 0 155px; }
.seasonal-admin-intensity { max-width: 300px; }
.seasonal-admin-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 23px; }
@media (max-width: 650px) { .seasonal-preview-mock-cards { grid-template-columns: repeat(2,1fr); padding: 12px; } .seasonal-preview-mock-header { padding: 15px; gap: 9px; } .seasonal-preview-logo { font-size: 13px; } .seasonal-preview-search { font-size: 10px; } .seasonal-admin-option { align-items: start; flex-direction: column; gap: 7px; } }

/* Halloween extension: all effects are scoped to the active seasonal layer. */
.seasonal-theme--halloween .seasonal-banner {
    position: relative;
    display: block;
    width: 100%;
    margin: 0 0 18px;
    padding: 11px 22px;
    border: 1px solid #df8a3a;
    border-radius: 10px;
    background: linear-gradient(110deg, #22172e, #3f2436, #733b20);
    color: #fff7e7;
    text-align: center;
    font-size: clamp(11px, 1.2vw, 14px);
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: .01em;
    box-shadow: 0 5px 14px rgba(55,22,30,.12);
}
.seasonal-theme--halloween .seasonal-detail-greeting {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    margin: 2px 0 9px;
    padding: 6px 10px;
    border: 1px solid #e8b077;
    border-radius: 99px;
    background: #fff5e8;
    color: #823b12;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
}
/* Keep existing price, stock, discounts and buy buttons unchanged. */
.seasonal-theme--halloween .catalog-card__image.seasonal-anchor,
.seasonal-theme--halloween .product-main-image.seasonal-anchor,
.seasonal-theme--halloween .product-info-panel.seasonal-anchor,
.seasonal-theme--halloween .seasonal-preview-detail-photo.seasonal-anchor,
.seasonal-theme--halloween .seasonal-preview-detail.seasonal-anchor,
.seasonal-theme--halloween .seasonal-preview-card-picture.seasonal-anchor {
    position: relative;
}
.seasonal-theme--halloween .seasonal-decoration--ghost,
.seasonal-theme--halloween .seasonal-decoration--skull,
.seasonal-theme--halloween .seasonal-decoration--candy,
.seasonal-theme--halloween .seasonal-decoration--hat {
    width: 42px;
    height: 42px;
    right: 8px;
    bottom: 8px;
    filter: drop-shadow(0 2px 3px rgba(19,14,27,.25));
}
.seasonal-theme--halloween .seasonal-decoration.seasonal-card-ornament {
    width: clamp(29px, 3vw, 42px);
    height: clamp(29px, 3vw, 42px);
    right: 6px;
    bottom: 7px;
    z-index: 5;
    opacity: .95;
}
.seasonal-theme--halloween .seasonal-decoration.seasonal-card-web {
    top: 0;
    bottom: auto;
    left: auto;
    right: 0;
    width: 48px;
    height: 48px;
    opacity: .48;
    z-index: 4;
    transform: scaleX(-1);
}
.seasonal-theme--halloween .seasonal-decoration.seasonal-header-hat {
    top: 2px;
    bottom: auto;
    left: auto;
    right: 10px;
    width: 29px;
    height: 29px;
    opacity: .9;
    z-index: 8;
}
.seasonal-theme--halloween .seasonal-decoration.seasonal-detail-ghost {
    top: 14px;
    bottom: auto;
    right: 16px;
    width: 53px;
    height: 53px;
    opacity: .96;
    z-index: 3;
}
.seasonal-theme--halloween .seasonal-decoration.seasonal-detail-web {
    top: 0;
    left: 0;
    bottom: auto;
    right: auto;
    width: 88px;
    height: 88px;
    opacity: .45;
    z-index: 2;
}
.seasonal-theme--halloween .seasonal-decoration.seasonal-detail-hat {
    top: 16px;
    bottom: auto;
    left: 15px;
    right: auto;
    width: 43px;
    height: 43px;
    z-index: 3;
}
.seasonal-theme--halloween .seasonal-decoration.seasonal-detail-candy {
    top: 0;
    bottom: auto;
    right: 4px;
    width: 33px;
    height: 33px;
    opacity: .75;
}
/* Optional festive micro-copy on some product images, clear of price/action regions. */
.seasonal-theme--halloween .seasonal-image-tag {
    position: absolute;
    z-index: 6;
    left: 7px;
    right: 52px;
    bottom: 8px;
    width: fit-content;
    max-width: calc(100% - 65px);
    padding: 4px 6px;
    border: 1px solid rgba(255,178,88,.8);
    border-radius: 6px;
    background: rgba(33,20,44,.91);
    color: #fff4e3;
    font-size: 9px;
    font-weight: 700;
    line-height: 1.25;
    pointer-events: none !important;
    user-select: none;
}
@media (max-width: 760px) {
    .seasonal-theme--halloween .catalog-card__image > .seasonal-image-tag { display: none; }
}
/* Hover is a visual overlay, never a replacement for the clickable card. */
@media (hover: hover) and (pointer: fine) {
    .seasonal-theme--halloween .catalog-card.seasonal-card-hover,
    .seasonal-theme--halloween .seasonal-preview-card.seasonal-card-hover {
        transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease !important;
    }
    .seasonal-theme--halloween .catalog-card.seasonal-card-hover:hover,
    .seasonal-theme--halloween .seasonal-preview-card.seasonal-card-hover:hover {
        border-color: #e67e29 !important;
        box-shadow: 0 0 0 2px rgba(230,126,41,.38), 0 9px 25px rgba(73,34,60,.22) !important;
        z-index: 5;
    }
    .seasonal-theme--halloween .catalog-card.seasonal-card-hover:hover > .catalog-card__image img,
    .seasonal-theme--halloween .seasonal-preview-card.seasonal-card-hover:hover .seasonal-preview-card-picture {
        filter: drop-shadow(0 0 7px rgba(234,125,34,.50));
    }
    .seasonal-theme--halloween .catalog-card.seasonal-card-hover::after,
    .seasonal-theme--halloween .seasonal-preview-card.seasonal-card-hover::after {
        position: absolute;
        z-index: 11;
        content: attr(data-seasonal-hover);
        left: 50%;
        top: 48%;
        width: max-content;
        max-width: calc(100% - 26px);
        padding: 6px 10px;
        border: 1px solid #ed9e44;
        border-radius: 7px;
        background: rgba(36,21,46,.95);
        color: #fff6e6;
        font-size: 11px;
        font-weight: 750;
        line-height: 1.25;
        text-align: center;
        opacity: 0;
        pointer-events: none;
        transform: translate(-50%, 6px) scale(.96);
        transition: opacity .18s ease, transform .18s ease;
    }
    .seasonal-theme--halloween .catalog-card.seasonal-card-hover:hover::after,
    .seasonal-theme--halloween .seasonal-preview-card.seasonal-card-hover:hover::after {
        opacity: 1;
        transform: translate(-50%, 0) scale(1);
    }
    .seasonal-theme--halloween .catalog-card.seasonal-card-hover:hover .seasonal-card-ornament,
    .seasonal-theme--halloween .seasonal-preview-card.seasonal-card-hover:hover .seasonal-card-ornament {
        animation: seasonal-ornament-bob .75s ease-in-out infinite alternate;
    }
}
@keyframes seasonal-ornament-bob { to { transform: translateY(-5px) rotate(-7deg); } }
/* Desktop pointer only. Text fields keep their native I-beam, mobile keeps its touch cursor. */
@media (hover: hover) and (pointer: fine) {
    body.seasonal-theme--halloween.seasonal-theme-cursor,
    .seasonal-preview-mock.seasonal-theme-cursor { cursor: url('../images/seasonal/halloween/cursor.svg') 3 2, auto; }
    body.seasonal-theme--halloween.seasonal-theme-cursor :is(a, button, select, [role="button"], .product-thumb, .catalog-card__image, .catalog-card__title),
    .seasonal-preview-mock.seasonal-theme-cursor .seasonal-preview-card {
        cursor: url('../images/seasonal/halloween/cursor-pointer.svg') 7 3, pointer;
    }
    body.seasonal-theme--halloween.seasonal-theme-cursor :is(input:not([type="button"]):not([type="submit"]), textarea, [contenteditable="true"]) {
        cursor: text;
    }
}
.seasonal-preview-detail { position: relative; display: flex; flex-wrap: wrap; gap: 9px 14px; align-items: center; margin: 4px 20px 24px; padding: 15px 19px; border: 1px solid #dedee3; border-radius: 10px; background: #fff; }
.seasonal-preview-detail-photo { display: grid; place-items: center; flex: 0 0 75px; height: 75px; background: #f6f6f8; border-radius: 9px; font-size: 30px; }
.seasonal-preview-detail-title { flex: 1 1 160px; padding-right: 36px; }
.seasonal-preview-detail-price { font-weight: 800; color: #1c1d21; }
.seasonal-preview-detail .seasonal-detail-greeting { width: 100%; }
.seasonal-preview-mock .seasonal-banner { margin: 0 !important; border-radius: 0; }
@media (max-width: 760px) {
    .seasonal-theme--halloween .seasonal-decoration.seasonal-detail-ghost { width: 36px; height: 36px; }
    .seasonal-theme--halloween .seasonal-decoration.seasonal-detail-web { width: 53px; height: 53px; }
    .seasonal-theme--halloween .seasonal-decoration.seasonal-detail-hat { width: 28px; height: 28px; }
    .seasonal-theme--halloween .seasonal-decoration.seasonal-detail-candy { display: none; }
    .seasonal-theme--halloween .seasonal-decoration.seasonal-header-hat { display: none; }
    .seasonal-theme--halloween .seasonal-banner { padding: 9px 12px; margin-bottom: 13px; }
}
@media (prefers-reduced-motion: reduce) {
    .seasonal-theme--halloween .catalog-card.seasonal-card-hover,
    .seasonal-theme--halloween .seasonal-preview-card.seasonal-card-hover,
    .seasonal-theme--halloween .seasonal-decoration.seasonal-card-ornament { animation: none !important; transition: none !important; }
}

/* Expanded Halloween decorations. Styles affect the storefront only while the theme is active. */
.seasonal-theme--halloween :is(.header-catalog-search, .mobile-store-search, .filter-block .ui.icon.input).seasonal-anchor,
.seasonal-theme--halloween :is(.category-card, .mobile-quick-categories a, .mobile-drawer-categories a).seasonal-anchor,
.seasonal-theme--halloween :is(.mobile-filter-card, .mobile-filter-toggle, .filter-reset-button).seasonal-anchor,
.seasonal-theme--halloween :is(.gallery-button, .product-image-zoom, .footer-brand, .site-footer).seasonal-anchor,
.seasonal-preview-mock :is(.seasonal-preview-search-area, .seasonal-preview-category, .seasonal-preview-filter, .seasonal-preview-filter-button, .seasonal-preview-gallery-button, .seasonal-preview-footer, .seasonal-preview-footer-brand).seasonal-anchor {
    position: relative;
}
/* Keep the product information aligned with the gallery instead of pinning it 104px below its natural place. */
body.seasonal-theme--halloween .product-detail-grid > .product-info-panel {
    position: static;
    top: auto;
    align-self: start;
    padding-top: 0;
}
/* Search decoration is non-interactive; native input, suggestion and submit behavior are unchanged. */
body.seasonal-theme--halloween :is(.header-catalog-search, .mobile-store-search, .filter-block .ui.icon.input):focus-within {
    filter: drop-shadow(0 0 7px rgba(235,128,29,.29));
}
body.seasonal-theme--halloween :is(.header-catalog-search input, .mobile-store-search input, .filter-block input[type="search"]):focus {
    border-color: #e8832b !important;
    box-shadow: 0 0 0 2px rgba(238,151,52,.17) !important;
}
.seasonal-theme--halloween .seasonal-decoration.seasonal-search-ornament {
    left: auto;
    right: -8px;
    bottom: auto;
    top: -16px;
    width: 25px;
    height: 25px;
    z-index: 4;
    opacity: .95;
    filter: drop-shadow(0 2px 2px rgba(0,0,0,.19));
}
.seasonal-theme--halloween .filter-block .seasonal-search-ornament { width: 18px; height: 18px; right: 1px; top: -12px; }
/* Category links glow and lift on hover; neither click targets nor spacing change. */
.seasonal-theme--halloween :is(.category-card, .mobile-quick-categories a, .mobile-drawer-categories a).seasonal-category-hover {
    transition: border-color .22s ease, box-shadow .22s ease, background-color .22s ease, transform .22s ease;
}
.seasonal-theme--halloween .seasonal-decoration.seasonal-category-ornament {
    width: 26px;
    height: 26px;
    top: -7px;
    bottom: auto;
    right: 2px;
    left: auto;
    z-index: 4;
}
.seasonal-theme--halloween .seasonal-decoration.seasonal-category-button-ornament {
    width: 22px;
    height: 22px;
    top: -13px;
    bottom: auto;
    right: 0;
    left: auto;
}
@media (hover:hover) and (pointer:fine) {
    .seasonal-theme--halloween :is(.category-card, .mobile-quick-categories a, .mobile-drawer-categories a).seasonal-category-hover:hover {
        border-color: #ef9132 !important;
        box-shadow: 0 0 0 2px rgba(241,143,39,.18), 0 5px 18px rgba(45,23,49,.15) !important;
        transform: translateY(-2px);
    }
    .seasonal-theme--halloween .seasonal-category-hover:hover > .seasonal-category-ornament {
        animation: seasonal-ornament-bob .75s ease-in-out infinite alternate;
    }
}
/* Filters: a cobweb in the panel, a slim caption, and a miniature pumpkin by the toggles. */
.seasonal-theme--halloween .mobile-filter-card.seasonal-anchor { overflow: visible; }
.seasonal-theme--halloween .seasonal-decoration.seasonal-filter-web {
    top: 0;
    right: 0;
    bottom: auto;
    left: auto;
    width: 56px;
    height: 56px;
    transform: scaleX(-1);
    opacity: .48;
}
.seasonal-theme--halloween .seasonal-filter-message {
    position: relative;
    z-index: 1;
    display: block;
    font-size: 11px;
    line-height: 1.35;
    font-weight: 700;
    color: #9b4b1c;
    margin: 0 0 12px;
    padding: 8px 10px;
    background: #fff6ee;
    border: 1px solid #f2d2a4;
    border-radius: 8px;
}
.seasonal-theme--halloween .seasonal-decoration.seasonal-filter-button-ornament {
    width: 19px;
    height: 19px;
    top: -10px;
    right: -5px;
    bottom: auto;
    left: auto;
}
body.seasonal-theme--halloween .filters-panel .filter-block:focus-within label { color: #a34e1d; }
/* Gallery controls retain their own click and zoom handlers. */
body.seasonal-theme--halloween :is(.product-info-panel .gallery-button, .product-image-zoom, .catalog-card .gallery-button) {
    border-color: #e8a65c !important;
    background-image: linear-gradient(120deg, rgba(255,241,223,.65), rgba(255,255,255,.35));
    transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}
body.seasonal-theme--halloween :is(.product-info-panel .gallery-button, .product-image-zoom, .catalog-card .gallery-button):hover {
    border-color: #de782b !important;
    box-shadow: 0 0 0 2px rgba(247,158,59,.19), 0 3px 12px rgba(55,30,65,.12);
}
.seasonal-theme--halloween .seasonal-decoration.seasonal-gallery-ornament {
    width: 23px;
    height: 23px;
    right: 4px;
    top: -12px;
    bottom: auto;
    left: auto;
}
/* Footer ornaments and holiday greeting do not replace existing footer content. */
body.seasonal-theme--halloween .site-footer { isolation: isolate; }
.seasonal-theme--halloween .seasonal-decoration.seasonal-footer-web {
    width: clamp(64px, 9vw, 120px);
    height: clamp(64px, 9vw, 120px);
    top: 0;
    bottom: auto;
    left: 0;
    right: auto;
    z-index: 0;
    opacity: .42;
    filter: drop-shadow(0 0 1px rgba(255,255,255,.2));
}
.seasonal-theme--halloween .seasonal-decoration.seasonal-footer-web.is-right { left: auto; right: 0; transform: scaleX(-1); }
.seasonal-theme--halloween .site-footer > .ui.container { position: relative; z-index: 1; }
.seasonal-theme--halloween .seasonal-decoration.seasonal-footer-pumpkin {
    width: 36px;
    height: 36px;
    top: 2px;
    bottom: auto;
    right: 10px;
    left: auto;
}
.seasonal-theme--halloween .seasonal-footer-message {
    display: block;
    width: fit-content;
    max-width: 100%;
    margin: 12px 0 0;
    padding: 7px 12px;
    border: 1px solid rgba(242,160,68,.55);
    border-radius: 999px;
    color: #ffe0af;
    background: rgba(217,112,35,.13);
    font-size: 11px;
    line-height: 1.45;
    font-weight: 700;
}
/* Consistent themed pointer across CSS :hover/:active/:focus, native inputs, text selection and overlays.
   The active-theme class is also rendered by PHP on <body> so it applies before JS initializes. */
@media (hover:hover) and (pointer:fine) {
    body.seasonal-theme--halloween.seasonal-theme-cursor,
    body.seasonal-theme--halloween.seasonal-theme-cursor *,
    .seasonal-preview-mock.seasonal-theme-cursor,
    .seasonal-preview-mock.seasonal-theme-cursor * {
        cursor: url('../images/seasonal/halloween/cursor.svg') 3 2, auto !important;
    }
    body.seasonal-theme--halloween.seasonal-theme-cursor :is(a, button, select, input[type="submit"], input[type="button"], [role="button"], [data-gallery-open], .ui.button),
    .seasonal-preview-mock.seasonal-theme-cursor :is(.seasonal-preview-card, .seasonal-preview-category, .seasonal-preview-buy, .seasonal-preview-gallery-button) {
        cursor: url('../images/seasonal/halloween/cursor-pointer.svg') 7 3, pointer !important;
    }
    body.seasonal-theme--halloween.seasonal-theme-cursor :is(input, textarea, [contenteditable="true"]),
    .seasonal-preview-mock.seasonal-theme-cursor input {
        cursor: url('../images/seasonal/halloween/cursor.svg') 3 2, text !important;
    }
}
/* Preview approximates the decorated components before the settings are published. */
.seasonal-preview-search-area { position: relative; flex: 1; min-width: 0; }
.seasonal-preview-search-input { width: 100%; min-width: 0; padding: 10px 14px; font-size: 12px; background: #fff; border: 1px solid #d6d6d9; border-radius: 8px; color: #333; }
.seasonal-preview-categories { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 18px 0; }
.seasonal-preview-category { display: inline-flex; align-items: center; min-height: 35px; background: #fff; border: 1px solid #dbdbe0; border-radius: 8px; padding: 6px 14px; font-size: 12px; }
.seasonal-preview-filter { position: relative; display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 12px 18px 0; padding: 12px 14px; background: #fff; border: 1px solid #dbdbe0; border-radius: 9px; font-size: 12px; }
.seasonal-preview-filter-button { display: inline-flex; padding: 6px 10px; border: 1px solid #dbdbe0; border-radius: 6px; background: #fff; }
.seasonal-preview-filter .seasonal-filter-message { width: 100%; margin-bottom: 0; }
.seasonal-preview-gallery-button { display: inline-flex; align-items: center; padding: 7px 11px; border-radius: 7px; border: 1px solid #e6ab68; background: #fff7ec; font-size: 11px; }
.seasonal-preview-footer { position: relative; display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 10px; padding: 18px 24px; background: #202026; color: #fff; font-size: 12px; }
.seasonal-preview-footer-brand { display: block; min-width: 120px; }
.seasonal-preview-footer-message { color: #ffdeb2; }
@media (max-width:760px) {
    .seasonal-theme--halloween .seasonal-decoration.seasonal-search-ornament { width: 19px; height: 19px; top: -9px; right: 3px; }
    .seasonal-theme--halloween .seasonal-decoration.seasonal-category-ornament { width: 20px; height: 20px; top: -6px; right: 0; }
    .seasonal-theme--halloween .seasonal-decoration.seasonal-gallery-ornament { width: 18px; height: 18px; top: -8px; }
    .seasonal-theme--halloween .seasonal-footer-message { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
    .seasonal-theme--halloween .seasonal-category-hover,
    .seasonal-theme--halloween .seasonal-category-hover:hover {
        animation: none !important;
        transition: none !important;
        transform: none !important;
    }
}

/* Christmas extension. Independent from Halloween and from the storefront's standard CSS. */
.seasonal-theme--christmas { --xmas-red: #c72741; --xmas-green: #167453; --xmas-gold: #eac46e; --xmas-ice: #a4d9ec; }
.seasonal-theme--christmas .seasonal-decoration { pointer-events: none !important; user-select: none !important; }
.seasonal-theme--christmas :is(.catalog-card__image, .product-main-image, .product-info-panel, .seasonal-preview-detail-photo, .seasonal-preview-card-picture).seasonal-anchor { position: relative; }
.seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-card {
    width: clamp(33px, 3.5vw, 49px); height: clamp(33px, 3.5vw, 49px);
    right: 7px; bottom: 6px; left: auto; top: auto;
    z-index: 6; filter: drop-shadow(0 3px 4px rgba(31,58,46,.25));
}
.seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-card-snowflake {
    width: 27px; height: 27px; left: 9px; top: 10px; right: auto; bottom: auto; opacity: .77;
}
.seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-header-pine {
    width: 62px; height: 62px; top: -5px; left: 8px; right: auto; bottom: auto; z-index: 8;
}
.seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-header-ball {
    width: 34px; height: 34px; left: auto; right: 10%; top: 3px; bottom: auto; z-index: 8;
    transform-origin: 50% 0;
}
.seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-header-star {
    width: 28px; height: 28px; left: 28%; right: auto; top: 0; bottom: auto; z-index: 8;
}
.seasonal-theme--christmas :is(.site-header, .seasonal-preview-mock-header).seasonal-anchor { isolation: isolate; }
/* A light string is injected only while Christmas and its light switch are on. */
.seasonal-xmas-lights {
    position: absolute; inset: 0 0 auto; height: 19px; display: flex; gap: 0; justify-content: space-around;
    padding: 0 9px; z-index: 10; pointer-events: none !important;
    background: repeating-linear-gradient(98deg, transparent 0 23px, rgba(27,100,74,.35) 24px 26px, transparent 27px 53px);
}
.seasonal-xmas-bulb { position: relative; width: clamp(5px, .75vw, 9px); height: 13px; top: 8px;
    flex: 0 0 auto; border-radius: 45% 45% 55% 55%; box-shadow: 0 0 7px 2px currentColor;
    background: currentColor; color: #f4d46e; opacity: .86;
    animation: seasonal-xmas-light 2.6s ease-in-out infinite alternate;
}
.seasonal-xmas-bulb::before { content: ''; position: absolute; width: 5px; height: 4px; top: -4px; left: 50%; transform: translateX(-50%); background: #185238; border-radius: 2px; }
.seasonal-xmas-bulb:nth-child(4n+1) { color: #ff616c; animation-delay: -.4s; }
.seasonal-xmas-bulb:nth-child(4n+2) { color: #70ca92; animation-delay: -1.2s; }
.seasonal-xmas-bulb:nth-child(4n+3) { color: #a1dff4; animation-delay: -.8s; }
@keyframes seasonal-xmas-light { from { opacity: .51; box-shadow: 0 0 3px 1px currentColor; } to { opacity: .98; box-shadow: 0 0 9px 3px currentColor; } }
.seasonal-xmas-banner {
    position: relative; display: block; text-align: center; width: 100%; margin: 0 0 19px;
    padding: 13px 24px; border: 1px solid #e6c48f; border-radius: 12px;
    color: #fff9e7; font-size: clamp(11px, 1.1vw, 14px); font-weight: 750; line-height: 1.5;
    background: linear-gradient(115deg, #14543f 0%, #1a7654 45%, #972b3d 100%);
    box-shadow: 0 6px 17px rgba(19,84,63,.13);
}
.seasonal-xmas-banner::before, .seasonal-xmas-banner::after { content:'✦'; position: absolute; top: 50%; transform: translateY(-50%); color: #f9d68b; font-size: 16px; }
.seasonal-xmas-banner::before { left: 10px; }.seasonal-xmas-banner::after { right: 10px; }
.seasonal-xmas-detail-greeting { display: inline-flex; width: fit-content; max-width: 100%; align-items: center;
    margin: 3px 0 10px; padding: 7px 12px; border-radius: 999px;
    color: #176346; background: #effaf2; border: 1px solid #bcdcc1; font-size: 11px; line-height: 1.35; font-weight: 750;
}
/* Decorative particles do not affect image dimensions, links, headers, or page geometry. */
.seasonal-xmas-snowfall {
    position: fixed; inset: 0; z-index: 1700; pointer-events: none !important; overflow: hidden;
    width: 100%; height: 100%; contain: layout paint;
}
.seasonal-preview-mock .seasonal-xmas-snowfall { position: absolute; z-index: 8; }
.seasonal-xmas-flake {
    position: absolute; top: -30px; left: var(--flake-left); font-size: var(--flake-size); line-height: 1;
    color: #e6f6fd; text-shadow: 0 1px 2px rgba(27,95,125,.42), 0 0 8px rgba(112,208,236,.45);
    opacity: 0; animation: seasonal-xmas-falling var(--flake-time) linear var(--flake-delay) infinite;
    will-change: transform;
}
@keyframes seasonal-xmas-falling {
    0% { opacity: 0; transform: translate3d(-15px,-8px,0) rotate(0deg); }
    12% { opacity: .75; } 80% { opacity: .75; }
    100% { opacity: 0; transform: translate3d(40px, 112vh, 0) rotate(170deg); }
}
/* Product hover uses a subtle outline, without changing the button or card layout. */
.seasonal-theme--christmas .catalog-card.seasonal-xmas-hover,
.seasonal-preview-card.seasonal-xmas-hover {
    transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease !important;
}
.seasonal-theme--christmas .catalog-card.seasonal-xmas-hover::after,
.seasonal-preview-card.seasonal-xmas-hover::after {
    content: attr(data-seasonal-christmas-hover); position: absolute; top: 43%; left: 50%;
    transform: translate(-50%, -42%) scale(.95); opacity: 0; z-index: 9;
    width: max-content; max-width: 86%; padding: 8px 13px; border-radius: 99px;
    background: rgba(18,92,64,.94); border: 1px solid #e6ce8b;
    color: #fff9ed; box-shadow: 0 6px 20px rgba(22,68,48,.2);
    text-align: center; white-space: normal; line-height: 1.3; font-size: 11px; font-weight: 750;
    pointer-events: none; transition: transform .22s ease, opacity .22s ease;
}
@media (hover:hover) and (pointer:fine) {
    .seasonal-theme--christmas .catalog-card.seasonal-xmas-hover:hover,
    .seasonal-preview-card.seasonal-xmas-hover:hover {
        border-color: #8cbe9c !important; box-shadow: 0 0 0 2px rgba(46,143,88,.17), 0 5px 16px rgba(23,77,60,.12) !important;
    }
    .seasonal-theme--christmas .catalog-card.seasonal-xmas-hover:hover::after,
    .seasonal-preview-card.seasonal-xmas-hover:hover::after {
        opacity: 1; transform: translate(-50%,-50%) scale(1);
    }
    .seasonal-theme--christmas .seasonal-category-hover:hover,
    .seasonal-theme--christmas .seasonal-xmas-category:hover {
        border-color: #62ab79 !important; box-shadow: 0 0 0 2px rgba(76,153,100,.17), 0 4px 13px rgba(23,65,42,.15) !important;
    }
}
.seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-detail-santa { width: 70px; height: 70px; left: 8px; top: 0; right: auto; bottom: auto; z-index: 5; transform: rotate(-18deg); }
.seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-detail-snowman { width: 58px; height: 58px; right: 13px; top: 16px; left: auto; bottom: auto; z-index: 5; }
.seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-detail-snowflake { width: 36px; height: 36px; left: 25%; top: 4px; right: auto; bottom: auto; z-index: 4; opacity:.84; }
.seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-detail-star { width: 31px; height: 31px; right: 25%; top: 2px; left: auto; bottom: auto; z-index: 4; }
.seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-detail-gift { width: 29px; height: 29px; right: 7px; top: 4px; left: auto; bottom: auto; z-index: 3; }
.seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-search { width: 25px; height: 25px; top: -12px; right: -5px; left: auto; bottom: auto; filter: drop-shadow(0 1px 3px rgba(18,112,79,.16)); }
.seasonal-theme--christmas .seasonal-xmas-search:focus-within { filter: drop-shadow(0 0 8px rgba(47,153,92,.22)); }
.seasonal-theme--christmas .seasonal-xmas-search input:focus { border-color: #7dbc92 !important; box-shadow: 0 0 0 2px rgba(64,147,96,.15) !important; }
.seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-category,
.seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-category-button { width: 28px; height: 28px; right: 0; top: -11px; left: auto; bottom: auto; }
.seasonal-theme--christmas .seasonal-xmas-category { transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease !important; }
.seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-filter-pine { width: 45px; height: 45px; right: 0; top: -8px; left: auto; bottom: auto; }
.seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-filter-button { width: 20px; height: 20px; right: -4px; top: -9px; left: auto; bottom: auto; }
.seasonal-theme--christmas .seasonal-xmas-filter-message { width: 100%; margin: 0 0 12px; padding: 8px 11px;
    background: #eff8f0; border: 1px solid #c3dfc3; border-radius: 8px; color: #216e48; font-weight: 750; font-size: 11px; line-height: 1.3;
}
.seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-button,
.seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-gallery { width: 21px; height: 21px; right: 2px; top: -12px; bottom: auto; left: auto; z-index: 7; }
body.seasonal-theme--christmas :is(.gallery-button, .product-image-zoom) {
    border-color: #96c5a6 !important; background-image: linear-gradient(120deg,rgba(239,249,244,.5),rgba(255,255,255,.26));
}
body.seasonal-theme--christmas :is(.gallery-button, .product-image-zoom):hover { border-color: #60a878 !important; box-shadow: 0 0 0 2px rgba(107,173,128,.16); }
.seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-footer-pine {
    width: 100px; height: 100px; left: 4px; top: 0; right: auto; bottom: auto; z-index: 1; opacity: .82;
}
.seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-footer-pine-right { width: 100px; height: 100px; left: auto; right: 4px; top: 0; bottom: auto; opacity: .82; transform: scaleX(-1); }
.seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-footer-wreath { width: 46px; height: 46px; right: 14px; top: 11px; left: auto; bottom: auto; z-index: 3; }
.seasonal-theme--christmas .site-footer > .ui.container { position: relative; z-index: 2; }
.seasonal-theme--christmas .seasonal-xmas-footer-message { display: block; margin: 11px 0 0; width: fit-content; max-width: 100%; padding: 7px 12px; border-radius: 999px;
    background: rgba(55,137,85,.16); border: 1px solid rgba(146,214,172,.55); color: #d6f4df; font-size: 11px; line-height: 1.45; font-weight: 750; }
.seasonal-theme--christmas .seasonal-xmas-sparkle { position: absolute; display: block; top: 10px; left: 50%; z-index: 9;
    color: #f7d47d; font-size: 16px; line-height: 1; opacity: .1; text-shadow: 0 0 6px #d6ad63;
    pointer-events: none; animation: seasonal-xmas-twinkle 2.8s ease-in-out var(--xmas-delay,0s) infinite;
}
@keyframes seasonal-xmas-twinkle { 0%,100% { opacity: .1; transform: rotate(-12deg) scale(.7); } 48% { opacity: .94; transform: rotate(10deg) scale(1.22); } }
/* Animated Christmas micro-interactions. All effects are scoped to the active theme. */
@keyframes xmas-ornament-float {
    0%, 100% { transform: translate3d(0, 0, 0) rotate(-5deg); }
    50% { transform: translate3d(0, -7px, 0) rotate(6deg); }
}
@keyframes xmas-ornament-sway {
    0%, 100% { transform: rotate(-12deg); }
    50% { transform: rotate(12deg); }
}
@keyframes xmas-ornament-jump {
    0%, 100% { transform: translate3d(0, 0, 0) rotate(-3deg); }
    45% { transform: translate3d(0, -8px, 0) rotate(7deg); }
    65% { transform: translate3d(0, -4px, 0) rotate(-4deg); }
}
@keyframes xmas-ornament-shine {
    0%, 100% { opacity: .7; transform: rotate(-12deg) scale(.89); filter: brightness(1); }
    50% { opacity: 1; transform: rotate(12deg) scale(1.12); filter: brightness(1.25); }
}
@keyframes xmas-greeting-glow {
    0%, 100% { box-shadow: 0 3px 9px rgba(24, 90, 60, .1); }
    50% { box-shadow: 0 4px 19px rgba(220, 170, 82, .32), 0 0 0 1px rgba(255,224,157,.18); }
}
@keyframes xmas-footer-star {
    0%,100% { opacity: .48; transform: rotate(-14deg) scale(.82); }
    50% { opacity: 1; transform: rotate(12deg) scale(1.22); }
}
.seasonal-theme--christmas .seasonal-decoration[class*="seasonal-xmas-"] svg {
    transform-origin: 50% 60%;
    animation: xmas-ornament-float var(--xmas-pace, 3.4s) ease-in-out var(--xmas-phase, 0s) infinite;
}
.seasonal-theme--christmas .seasonal-decoration:is(.seasonal-decoration--bell,.seasonal-decoration--ball,.seasonal-decoration--stocking) svg {
    transform-origin: 50% 12%;
    animation-name: xmas-ornament-sway;
}
.seasonal-theme--christmas .seasonal-decoration:is(.seasonal-decoration--gift,.seasonal-decoration--snowman,.seasonal-decoration--cane) svg {
    animation-name: xmas-ornament-jump;
}
.seasonal-theme--christmas .seasonal-decoration:is(.seasonal-decoration--star,.seasonal-decoration--snowflake) svg {
    animation: xmas-ornament-shine 3.2s ease-in-out var(--xmas-phase,0s) infinite;
}
@media (hover:hover) and (pointer:fine) {
    .seasonal-theme--christmas .catalog-card:hover .seasonal-decoration svg,
    .seasonal-theme--christmas .seasonal-xmas-category:hover .seasonal-decoration svg,
    .seasonal-theme--christmas :is(.gallery-button,.brand-button,.product-image-zoom):hover .seasonal-decoration svg,
    .seasonal-theme--christmas .seasonal-preview-card:hover .seasonal-decoration svg,
    .seasonal-theme--christmas .seasonal-preview-category:hover .seasonal-decoration svg {
        animation-duration: .9s;
        filter: drop-shadow(0 0 5px rgba(251,198,91,.8));
    }
    .seasonal-theme--christmas .seasonal-xmas-category:hover,
    .seasonal-theme--christmas .seasonal-preview-category:hover { transform: translateY(-3px); }
    .seasonal-theme--christmas .seasonal-xmas-search:focus-within .seasonal-decoration svg,
    .seasonal-theme--christmas .seasonal-preview-search-area:focus-within .seasonal-decoration svg {
        animation-duration: 1.1s;
    }
    .seasonal-theme--christmas :is(.brand-button,.gallery-button,.product-image-zoom,.seasonal-preview-buy,.seasonal-preview-gallery-button) {
        transition: box-shadow .22s ease, border-color .22s ease, filter .22s ease !important;
    }
    .seasonal-theme--christmas :is(.brand-button,.gallery-button,.product-image-zoom,.seasonal-preview-buy,.seasonal-preview-gallery-button):hover {
        filter: brightness(1.045);
        box-shadow: 0 0 0 2px rgba(181, 215, 160,.3), 0 0 15px rgba(245, 207, 117,.33) !important;
    }
}
.seasonal-theme--christmas .seasonal-xmas-detail-greeting,
.seasonal-theme--christmas .seasonal-xmas-footer-message {
    animation: xmas-greeting-glow 4.4s ease-in-out infinite;
}
/* Rich footer treatment: separate removable ribbon, festive string lights, animated ornaments. */
.seasonal-theme--christmas .site-footer.seasonal-xmas-footer-active,
.seasonal-theme--christmas .seasonal-preview-footer.seasonal-xmas-footer-active {
    position: relative;
    isolation: isolate;
    border-top: 2px solid rgba(237,203,116,.6);
    background-image: radial-gradient(ellipse at 18% 12%, rgba(17,107,71,.19), transparent 48%),
                      radial-gradient(ellipse at 89% 67%, rgba(146,36,59,.17), transparent 44%);
}
.seasonal-theme--christmas .seasonal-xmas-footer-ribbon {
    position: relative; z-index: 2;
    display: flex; justify-content: center; align-items: center; gap: clamp(8px, 2vw, 22px);
    min-height: 55px; margin: 0 0 22px; padding: 17px 65px 11px;
    text-align: center; font-size: clamp(10px, 1vw, 14px); font-weight: 800;
    color: #fff5d7; letter-spacing: .05em; line-height: 1.5;
    background: linear-gradient(110deg,rgba(11,63,43,.98),rgba(24,110,68,.95) 45%,rgba(118,27,45,.98));
    border-bottom: 1px solid rgba(242,205,120,.52);
    pointer-events: none;
}
.seasonal-theme--christmas .seasonal-xmas-footer-ribbon-star {
    color: #f9d27c; font-size: 18px; flex: 0 0 auto;
    animation: xmas-footer-star 2.3s ease-in-out infinite;
}
.seasonal-theme--christmas .seasonal-xmas-footer-ribbon-star:last-child { animation-delay: -1.15s; }
.seasonal-theme--christmas .seasonal-xmas-footer-lights {
    position: absolute; z-index: 5; top: 0; left: 0; right: 0; height: 14px;
    display: flex; justify-content: space-around; align-items: flex-start;
    pointer-events: none; overflow: hidden;
    background: linear-gradient(180deg,rgba(23,76,48,.55),transparent);
}
.seasonal-theme--christmas .seasonal-xmas-footer-lights .seasonal-xmas-bulb {
    width: 7px; height: 10px; top: 3px; flex: 0 0 auto;
}
.seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-footer-ball { width: 40px; height: 40px; top: 17px; right: 85px; left: auto; bottom: auto; opacity: .9; }
.seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-footer-star { width: 33px; height: 33px; top: 22px; left: 20%; right: auto; bottom: auto; }
.seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-footer-stocking { width: 43px; height: 43px; top: 27px; right: 20%; left: auto; bottom: auto; }
.seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-footer-gift { width: 44px; height: 44px; top: auto; right: 22px; bottom: 16px; left: auto; }
.seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-footer-wreath { animation: xmas-greeting-glow 4s ease-in-out infinite; border-radius: 50%; }
.seasonal-theme--christmas .seasonal-xmas-footer-active a:hover { text-decoration-color: #f0d580; text-shadow: 0 0 9px rgba(232,203,126,.24); }
@media (max-width: 760px) {
    .seasonal-theme--christmas .seasonal-xmas-footer-ribbon { padding: 22px 32px 12px; margin-bottom: 14px; min-height: 72px; max-width: 100%; overflow-wrap: anywhere; }
    .seasonal-theme--christmas .seasonal-xmas-footer-ribbon-star { font-size: 12px; }
    .seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-footer-pine,
    .seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-footer-pine-right { width: 56px; height: 56px; }
    .seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-footer-ball { right: 49px; top: 23px; width: 28px; height: 28px; }
    .seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-footer-gift { width: 30px; height: 30px; right: 7px; bottom: 8px; }
    .seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-footer-stocking { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .seasonal-theme--christmas .seasonal-decoration[class*="seasonal-xmas-"] svg,
    .seasonal-theme--christmas .seasonal-xmas-footer-ribbon-star,
    .seasonal-theme--christmas .seasonal-xmas-detail-greeting,
    .seasonal-theme--christmas .seasonal-xmas-footer-message,
    .seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-footer-wreath,
    .seasonal-theme--christmas :is(.brand-button,.gallery-button,.product-image-zoom) {
        animation: none !important; transition: none !important; filter: none !important;
    }
}

/* Keep Christmas product titles aligned with the gallery, as fixed for Halloween. */
body.seasonal-theme--christmas .product-info-panel { position: static !important; top: auto !important; }
/* The cursor is present before JS runs: PHP writes the body class at document start. */
@media (hover:hover) and (pointer:fine) {
    body.seasonal-theme--christmas.seasonal-theme-cursor,
    body.seasonal-theme--christmas.seasonal-theme-cursor *,
    .seasonal-preview-mock.seasonal-theme--christmas.seasonal-theme-cursor,
    .seasonal-preview-mock.seasonal-theme--christmas.seasonal-theme-cursor * {
        cursor: url('../images/seasonal/christmas/cursor.svg') 3 3, auto !important;
    }
    body.seasonal-theme--christmas.seasonal-theme-cursor :is(a, button, select, input[type="submit"], input[type="button"], [role="button"], [data-gallery-open], .ui.button),
    .seasonal-preview-mock.seasonal-theme--christmas.seasonal-theme-cursor :is(.seasonal-preview-card, .seasonal-preview-category, .seasonal-preview-buy, .seasonal-preview-gallery-button) {
        cursor: url('../images/seasonal/christmas/cursor-pointer.svg') 7 3, pointer !important;
    }
    body.seasonal-theme--christmas.seasonal-theme-cursor :is(input, textarea, [contenteditable="true"]),
    .seasonal-preview-mock.seasonal-theme--christmas.seasonal-theme-cursor input {
        cursor: url('../images/seasonal/christmas/cursor.svg') 3 3, text !important;
    }
}
/* Mobile controls remain accessible and overlays are never interactive. */
@media (max-width:760px) {
    .seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-header-pine { width: 38px; height: 38px; }
    .seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-header-ball { width: 25px; height: 25px; }
    .seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-card { width: 31px; height: 31px; }
    .seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-detail-santa { width: 48px; height: 48px; }
    .seasonal-theme--christmas .seasonal-decoration.seasonal-xmas-detail-snowman { width: 39px; height: 39px; }
    .seasonal-theme--christmas .seasonal-xmas-lights { height: 14px; }
    .seasonal-xmas-bulb:nth-child(2n) { display: none; }
    .seasonal-theme--christmas .seasonal-xmas-footer-message { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
    .seasonal-xmas-flake { animation: none !important; opacity: .32; transform: none !important; }
    .seasonal-xmas-bulb { animation: none !important; opacity: .76; }
    .seasonal-theme--christmas .seasonal-xmas-sparkle { animation: none !important; opacity: .6; }
    .seasonal-theme--christmas .catalog-card.seasonal-xmas-hover::after,
    .seasonal-preview-card.seasonal-xmas-hover::after { display: none !important; }
}
