/* HALLOWEEN HU - první vykreslení bez světlého mezistavu */
html.oxy-halloween-boot,
html.oxy-halloween-boot body,
html:has(head link[rel="canonical"][href*="/halloween/"]) body,
html:has(head link[rel="canonical"][href*="/halloween-ovodai-kiegeszitok/"]) body,
html:has(head link[rel="canonical"][href*="/halloween-iskolataskak/"]) body,
html:has(head link[rel="canonical"][href*="/halloween-hatizsakok/"]) body,
html:has(head link[rel="canonical"][href*="/halloween-szettek/"]) body,
html:has(head link[rel="canonical"][href*="/halloween-iskolai-felszerelesek/"]) body,
html:has(head link[rel="canonical"][href*="/halloween-divatkiegeszitok/"]) body {
    background: #17111d !important;
    background-color: #17111d !important;
}

html.oxy-halloween-boot body:not(.oxy-halloween-page) #content-wrapper,
html.oxy-halloween-boot body:not(.oxy-halloween-page) .content-wrapper,
html:has(head link[rel="canonical"][href*="/halloween/"]):has(body:not(.oxy-halloween-page)) #content-wrapper,
html:has(head link[rel="canonical"][href*="/halloween-ovodai-kiegeszitok/"]):has(body:not(.oxy-halloween-page)) #content-wrapper,
html:has(head link[rel="canonical"][href*="/halloween-iskolataskak/"]):has(body:not(.oxy-halloween-page)) #content-wrapper,
html:has(head link[rel="canonical"][href*="/halloween-hatizsakok/"]):has(body:not(.oxy-halloween-page)) #content-wrapper,
html:has(head link[rel="canonical"][href*="/halloween-szettek/"]):has(body:not(.oxy-halloween-page)) #content-wrapper,
html:has(head link[rel="canonical"][href*="/halloween-iskolai-felszerelesek/"]):has(body:not(.oxy-halloween-page)) #content-wrapper,
html:has(head link[rel="canonical"][href*="/halloween-divatkiegeszitok/"]):has(body:not(.oxy-halloween-page)) #content-wrapper {
    visibility: hidden !important;
}

body.oxy-halloween-page #content-wrapper,
body.oxy-halloween-page .content-wrapper {
    visibility: visible !important;
}

/* =========================================================
   OXYBAG - 07-HALLOWEEN
   Samostatne styly pouze pro Halloween.
   Procisteno 07/10/2026: bez legacy produktu a starych bat override bloku.
   ========================================================= */

/* =========================================================
   OXYBAG HALLOWEEN  FINAL
   Aktivuje se na hlavni Halloween kategorii i vsechny Halloween podkategorie pres body.oxy-halloween-page
   ========================================================= */

/* ---------- ZKLAD STRANKY ---------- */
/* Hlavni /halloween/ si nove ponechava funkcni filtr, razeni i listing controls.
   Schovavame jen puvodni top-products blok a standardni H1, protoze hlavni vizual resi hero. */
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .top-products-wrapper,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .top-products,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .products-top,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .category-top-products,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .product-slider-holder,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .content > h1,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .content h1:first-of-type {
    display: none !important;
}

body.oxy-halloween-page:not(.oxy-halloween-subcategory) .content-wrapper-in {
    display: block !important;
}

body.oxy-halloween-page:not(.oxy-halloween-subcategory) .content {
    width: 100% !important;
    max-width: none !important;
    flex: 0 0 100% !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
}

body.oxy-halloween-page .category-perex {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.oxy-halloween-page #category-header,
body.oxy-halloween-page .category-header {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

body.oxy-halloween-page,
body.oxy-halloween-page #content-wrapper,
body.oxy-halloween-page .content-wrapper,
body.oxy-halloween-page .content-wrapper-in,
body.oxy-halloween-page #content,
body.oxy-halloween-page .content,
body.oxy-halloween-page .category-top,
body.oxy-halloween-page .category-perex,
body.oxy-halloween-page .category-content-wrapper,
body.oxy-halloween-page .category-content,
body.oxy-halloween-page #category-header,
body.oxy-halloween-page .category-header,
body.oxy-halloween-page #products,
body.oxy-halloween-page .products,
body.oxy-halloween-page .products-page,
body.oxy-halloween-page .products-block,
body.oxy-halloween-page .oxy-halloween-icons-wrap,
body.oxy-halloween-page .oxy-halloween-icons-grid,
body.oxy-halloween-page .oxy-halloween-products-title {
    background: #17111d !important;
    background-color: #17111d !important;
    box-shadow: none !important;
}

body.oxy-halloween-page .content,
body.oxy-halloween-page .content p,
body.oxy-halloween-page .content span,
body.oxy-halloween-page .content div,
body.oxy-halloween-page .content li,
body.oxy-halloween-page .content a {
    color: #f5f2f7;
}

/* ---------- BANNER ---------- */
/* Full-bleed hero: banner od leveho po pravy okraj viewportu. */
body.oxy-halloween-page {
    overflow-x: clip;
}

.oxy-halloween-simple {
    position: relative;
    width: 100vw;
    max-width: none;
    left: 50%;
    transform: translateX(-50%);
    margin: 0 0 26px;
    overflow: hidden;
    border-radius: 0;
}

.oxy-halloween-simple img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    border: 0;
}

.oxy-halloween-hero-animated {
    position: relative !important;
    overflow: hidden !important;
}

.oxy-halloween-bg {
    position: relative;
    z-index: 1;
    width: 100%;
    height: auto;
    display: block;
}

.oxy-halloween-products-stage {
    position: absolute;
    inset: 0;
    z-index: 4;
    pointer-events: none;
}


/* set je statick */
body.oxy-halloween-page .oxy-prod-set,
body.oxy-halloween-page .oxy-halloween-flying {
    opacity: 1 !important;
    visibility: visible !important;
    animation: none !important;
    transition: none !important;
}

.oxy-prod-set {
    position: absolute;
    display: block;
    object-fit: contain;
    width: 30% !important;
    left: 71.5% !important;
    bottom: -10% !important;
    transform: translateX(-50%) !important;
    z-index: 8 !important;
    filter:
        drop-shadow(0 10px 14px rgba(0,0,0,.28))
        drop-shadow(0 0 5px rgba(242,140,40,.10));
}

body.oxy-halloween-page .oxy-halloween-claim-box {
    position: absolute;
    left: 17% !important;
    top: 63% !important;
    width: 36% !important;
    max-width: 520px !important;
    transform: translateY(-50%);
    z-index: 30;
    text-align: left;
}

body.oxy-halloween-page .oxy-halloween-claim-title {
    color: #fff !important;
    font-family: "Poppins", sans-serif !important;
    font-size: 42px !important;
    line-height: 1.05 !important;
    font-weight: 800 !important;
    margin-bottom: 12px !important;
    text-shadow:
        0 3px 12px rgba(0,0,0,.65),
        0 0 18px rgba(242,140,40,.16);
}

body.oxy-halloween-page .oxy-halloween-claim-text {
    color: rgba(255,255,255,.88) !important;
    font-size: 18px !important;
    line-height: 1.4 !important;
    margin-bottom: 20px !important;
    text-shadow: 0 2px 8px rgba(0,0,0,.55);
}

body.oxy-halloween-page .oxy-halloween-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px !important;
    padding: 0 30px !important;
    background: #f28c28 !important;
    color: #fff !important;
    border: 1px solid #f28c28 !important;
    border-radius: 12px !important;
    text-decoration: none !important;
    font-size: 16px !important;
    font-weight: 700;
    box-shadow:
        0 8px 20px rgba(0,0,0,.22),
        0 0 14px rgba(242,140,40,.14);
    transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}

body.oxy-halloween-page .oxy-halloween-cta:hover {
    background: #ff9d3c !important;
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow:
        0 10px 24px rgba(0,0,0,.28),
        0 0 20px rgba(242,140,40,.24);
}

/* plynul pechod banneru do strnky */
body.oxy-halloween-page .oxy-halloween-hero-animated::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 150px !important;
    z-index: 20 !important;
    pointer-events: none !important;
    background: linear-gradient(
        to bottom,
        rgba(23,17,29,0) 0%,
        rgba(23,17,29,.12) 25%,
        rgba(23,17,29,.35) 50%,
        rgba(23,17,29,.72) 78%,
        #17111d 100%
    ) !important;
}

/* ---------- POSTAVIKY / PODKATEGORIE ---------- */
body.oxy-halloween-page .oxy-halloween-icons-wrap {
    width: 100%;
    max-width: 980px !important;
    margin: 50px auto 34px !important;
    padding: 0 8px !important;
    text-align: center;
}

body.oxy-halloween-page .oxy-halloween-icons-grid {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 20px !important;
    align-items: start !important;
    max-width: 900px !important;
    margin: 0 auto !important;
}

body.oxy-halloween-page .oxy-h-icon-card,
body.oxy-halloween-page .oxy-h-icon-card:hover,
body.oxy-halloween-page .oxy-h-icon-card:focus {
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    background: transparent !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    overflow: visible !important;
}

body.oxy-halloween-page .oxy-h-icon-card::before,
body.oxy-halloween-page .oxy-h-icon-card::after,
body.oxy-halloween-page .oxy-halloween-icons-wrap::before,
body.oxy-halloween-page .oxy-halloween-icons-wrap::after {
    content: none !important;
    display: none !important;
}

body.oxy-halloween-page .oxy-h-icon-image {
    width: 80px !important;
    height: 80px !important;
    margin: 0 auto 8px !important;
    object-fit: contain !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: drop-shadow(0 6px 12px rgba(0,0,0,.18));
    transition: transform .2s ease !important;
}

body.oxy-halloween-page .oxy-h-icon-label {
    color: #fff !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
}

body.oxy-halloween-page .oxy-halloween-icons-grid a:nth-child(1) { transform: translateY(6px); }
body.oxy-halloween-page .oxy-halloween-icons-grid a:nth-child(2) { transform: translateY(-10px); }
body.oxy-halloween-page .oxy-halloween-icons-grid a:nth-child(3) { transform: translateY(2px); }
body.oxy-halloween-page .oxy-halloween-icons-grid a:nth-child(4) { transform: translateY(-14px); }
body.oxy-halloween-page .oxy-halloween-icons-grid a:nth-child(5) { transform: translateY(8px); }
body.oxy-halloween-page .oxy-halloween-icons-grid a:nth-child(6) { transform: translateY(-6px); }

body.oxy-halloween-page .oxy-halloween-icons-grid a:nth-child(1) .oxy-h-icon-image { transform: rotate(-6deg); }
body.oxy-halloween-page .oxy-halloween-icons-grid a:nth-child(2) .oxy-h-icon-image { transform: rotate(5deg); }
body.oxy-halloween-page .oxy-halloween-icons-grid a:nth-child(3) .oxy-h-icon-image { transform: rotate(-3deg); }
body.oxy-halloween-page .oxy-halloween-icons-grid a:nth-child(4) .oxy-h-icon-image { transform: rotate(7deg); }
body.oxy-halloween-page .oxy-halloween-icons-grid a:nth-child(5) .oxy-h-icon-image { transform: rotate(-5deg); }
body.oxy-halloween-page .oxy-halloween-icons-grid a:nth-child(6) .oxy-h-icon-image { transform: rotate(4deg); }

/* ---------- NADPIS NAD PRODUKTY ---------- */
body.oxy-halloween-page .oxy-halloween-products-title {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    max-width: 1040px !important;
    margin: 18px auto 28px !important;
    color: #fff !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-align: center !important;
}

body.oxy-halloween-page .oxy-halloween-products-title::before,
body.oxy-halloween-page .oxy-halloween-products-title::after {
    content: "" !important;
    display: block !important;
    flex: 1 !important;
    height: 1px !important;
    background: #f28c28 !important;
}

body.oxy-halloween-page .oxy-halloween-products-title span {
    color: #fff !important;
    white-space: nowrap !important;
}

/* ---------- PRODUKTY ---------- */
body.oxy-halloween-page #products.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    max-width: 1080px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    column-gap: 18px !important;
    row-gap: 22px !important;
}

body.oxy-halloween-page #products > .product {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    border-radius: 0 !important;
    overflow: visible !important;
    transform: none !important;
}

body.oxy-halloween-page #products > .product > .p {
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 12px !important;
    background: #09060d !important;
    border: 1px solid #f28c28 !important;
    outline: 0 !important;
    border-radius: 16px !important;
    overflow: visible !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
}

body.oxy-halloween-page #products > .product > .p:hover {
    transform: none !important;
    border: 1px solid #f28c28 !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.28) !important;
}

body.oxy-halloween-page #products > .product > .p .p-in,
body.oxy-halloween-page #products > .product > .p .p-in-in,
body.oxy-halloween-page #products > .product > .p .details,
body.oxy-halloween-page #products > .product > .p .info {
    background: transparent !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

body.oxy-halloween-page #products > .product > .p .p-image,
body.oxy-halloween-page #products > .product > .p .image,
body.oxy-halloween-page #products > .product > .p .image-wrapper,
body.oxy-halloween-page #products > .product > .p .p-image a,
body.oxy-halloween-page #products > .product > .p .image a,
body.oxy-halloween-page #products > .product > .p .image-wrapper a {
    width: 100% !important;
    height: 260px !important;
    min-height: 0 !important;
    padding: 8px !important;
    margin-bottom: 12px !important;
    background: #fff !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

body.oxy-halloween-page #products > .product > .p .p-image img,
body.oxy-halloween-page #products > .product > .p .image img,
body.oxy-halloween-page #products > .product > .p .image-wrapper img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    background: #fff !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    border-radius: 10px !important;
}

body.oxy-halloween-page #products > .product > .p .name,
body.oxy-halloween-page #products > .product > .p .p-name {
    text-align: center !important;
    color: #fff !important;
    font-size: 17px !important;
    line-height: 1.18 !important;
    font-weight: 700 !important;
    margin: 8px 4px 10px !important;
}

body.oxy-halloween-page #products > .product > .p .availability,
body.oxy-halloween-page #products > .product > .p .in-stock {
    text-align: center !important;
    color: #16c23a !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    margin-bottom: 6px !important;
}

body.oxy-halloween-page #products > .product > .p .price,
body.oxy-halloween-page #products > .product > .p .prices,
body.oxy-halloween-page #products > .product > .p .price-final {
    text-align: center !important;
    color: #f28c28 !important;
    font-size: 22px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    margin: 0 0 12px !important;
}

body.oxy-halloween-page #products > .product > .p .btn,
body.oxy-halloween-page #products > .product > .p .btn-cart,
body.oxy-halloween-page #products > .product > .p .add-to-cart-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 38px !important;
    padding: 0 18px !important;
    margin: 0 auto 4px !important;
    background: #f28c28 !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: 0 0 18px rgba(242,140,40,.32) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
}

body.oxy-halloween-page #products > .product > .p .btn:hover,
body.oxy-halloween-page #products > .product > .p .btn-cart:hover,
body.oxy-halloween-page #products > .product > .p .add-to-cart-button:hover {
    background: #ff9f3b !important;
    color: #fff !important;
}

body.oxy-halloween-page #products .description,
body.oxy-halloween-page #products .p-desc {
    display: none !important;
}

body.oxy-halloween-page #products .flag,
body.oxy-halloween-page #products .flags span,
body.oxy-halloween-page #products .label,
body.oxy-halloween-page #products .discount,
body.oxy-halloween-page #products .sale,
body.oxy-halloween-page #products .flag-discount,
body.oxy-halloween-page #products .flag-sale {
    background: #f28c28 !important;
    color: #fff !important;
    border: 0 !important;
}

/* ---------- TEXTSEQUENCE ANIMACE NADPISU ---------- */
body.oxy-halloween-page .oxy-halloween-claim-title {
    opacity: 1 !important;
    visibility: visible !important;
    animation: none !important;
    transition: none !important;
    filter: none !important;
    perspective: 1000px;
    transform-style: preserve-3d;
}

body.oxy-halloween-page .oxy-sequence-word {
    display: inline-block;
    white-space: nowrap;
}

body.oxy-halloween-page .oxy-sequence-space {
    display: inline-block;
    width: .28em;
}

body.oxy-halloween-page .oxy-sequence-letter-wrap {
    display: inline-block;
    perspective: 1000px;
    transform-origin: 50% 50%;
}

body.oxy-halloween-page .oxy-sequence-letter {
    display: inline-block;
    opacity: 0;
    transform-style: preserve-3d;
    transform-origin: 50% 50%;
    color: inherit;
    animation: oxyOriginalTextSequence 1.25s linear forwards !important;
}

@keyframes oxyOriginalTextSequence {
    0% {
        opacity: .2;
        transform: rotateY(-90deg);
        text-shadow: 0 0 50px #fff;
        filter: blur(2px);
    }
    50% {
        opacity: .8;
        transform: rotateY(0deg);
        text-shadow: 0 0 1px #fff;
        filter: blur(0);
    }
    85% {
        opacity: .9;
        transform: rotateY(0deg) translateZ(14px);
        text-shadow: 0 0 1px #fff;
    }
    100% {
        opacity: 1;
        transform: rotateY(0deg) translateZ(0);
        text-shadow: 0 0 2px rgba(255,255,255,.35);
        filter: blur(0);
    }
}

/* ---------- TABLET ---------- */
@media (max-width: 991px) {
   .oxy-halloween-simple {
        width: 100vw;
        border-radius: 0;
    }

    body.oxy-halloween-page .oxy-halloween-icons-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }

    body.oxy-halloween-page .oxy-halloween-icons-grid a.oxy-h-icon-card,
    body.oxy-halloween-page .oxy-halloween-icons-grid .oxy-h-icon-image {
        transform: none !important;
    }

    body.oxy-halloween-page #products.products {
        max-width: 720px !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }
}

/* ---------- MOBIL ---------- */
@media (max-width: 600px) {
   .oxy-halloween-simple {
        width: 100vw;
        border-radius: 0;
        margin-bottom: 35px;
    }

    body.oxy-halloween-page .oxy-halloween-hero-animated::after {
        height: 70px !important;
    }

    body.oxy-halloween-page .oxy-halloween-claim-box {
        left: 20% !important;
        right: auto !important;
        top: auto !important;
        bottom: 24% !important;
        width: 34% !important;
        max-width: none !important;
        transform: none !important;
        text-align: left !important;
        z-index: 30 !important;
    }

    body.oxy-halloween-page .oxy-halloween-claim-title {
        font-size: 8px !important;
        line-height: 1.05 !important;
        margin: 0 0 5px !important;
    }

    body.oxy-halloween-page .oxy-halloween-claim-text {
        display: none !important;
    }

    body.oxy-halloween-page .oxy-halloween-cta {
        min-height: 22px !important;
        padding: 0 9px !important;
        font-size: 5px !important;
        line-height: 1 !important;
        border-radius: 6px !important;
        white-space: nowrap !important;
    }

    .oxy-prod-set {
        width: 25% !important;
        left: 60% !important;
        right: auto !important;
        bottom: -4% !important;
        transform: none !important;
    }

    body.oxy-halloween-page .oxy-halloween-icons-wrap {
        margin-top: 18px !important;
        margin-bottom: 18px !important;
        padding: 0 18px !important;
    }

    body.oxy-halloween-page .oxy-halloween-icons-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        column-gap: 24px !important;
        row-gap: 18px !important;
        max-width: 330px !important;
        margin: 0 auto !important;
    }

    body.oxy-halloween-page .oxy-h-icon-image {
        width: 70px !important;
        height: 70px !important;
        margin: 0 auto 4px !important;
    }

    body.oxy-halloween-page .oxy-h-icon-label {
        font-size: 12px !important;
        line-height: 1.15 !important;
    }

    body.oxy-halloween-page .oxy-halloween-products-title {
        width: calc(100% - 32px) !important;
        max-width: none !important;
        margin: 20px auto 22px !important;
        gap: 10px !important;
        font-size: 17px !important;
    }

    body.oxy-halloween-page #products.products {
        grid-template-columns: 1fr !important;
        max-width: 340px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        gap: 18px !important;
    }

    body.oxy-halloween-page #products > .product > .p {
        padding: 10px !important;
        border-radius: 14px !important;
    }

    body.oxy-halloween-page #products > .product > .p .p-image,
    body.oxy-halloween-page #products > .product > .p .image,
    body.oxy-halloween-page #products > .product > .p .image-wrapper,
    body.oxy-halloween-page #products > .product > .p .p-image a,
    body.oxy-halloween-page #products > .product > .p .image a,
    body.oxy-halloween-page #products > .product > .p .image-wrapper a {
        height: 235px !important;
        padding: 6px !important;
    }

    body.oxy-halloween-page #products > .product > .p .name,
    body.oxy-halloween-page #products > .product > .p .p-name {
        font-size: 16px !important;
    }

    body.oxy-halloween-page #products > .product > .p .price,
    body.oxy-halloween-page #products > .product > .p .prices,
    body.oxy-halloween-page #products > .product > .p .price-final {
        font-size: 21px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.oxy-halloween-page .oxy-sequence-letter {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
    }
}
/* =========================================
   HALLOWEEN  odstrann bl ry nad produkty
   ========================================= */

body.oxy-halloween-page hr,
body.oxy-halloween-page #products::before,
body.oxy-halloween-page #products::after,
body.oxy-halloween-page .products::before,
body.oxy-halloween-page .products::after,
body.oxy-halloween-page .products-block::before,
body.oxy-halloween-page .products-block::after,
body.oxy-halloween-page .category-content-wrapper::before,
body.oxy-halloween-page .category-content-wrapper::after {
  display: none !important;
  content: none !important;
}

body.oxy-halloween-page #products,
body.oxy-halloween-page .products,
body.oxy-halloween-page .products-block,
body.oxy-halloween-page .category-content-wrapper {
  border-top: none !important;
  box-shadow: none !important;
}
/* HALLOWEEN  odstrann pvodnho oddlovae Nejprodvanj */

body.oxy-halloween-page .homepage-group-title,
body.oxy-halloween-page .homepage-group-title::before,
body.oxy-halloween-page .homepage-group-title::after,
body.oxy-halloween-page .products-wrapper-header,
body.oxy-halloween-page .products-wrapper-header::before,
body.oxy-halloween-page .products-wrapper-header::after {
    border: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    background-image: none !important;
}
/* HALLOWEEN  odstrann bl ry z content wrapperu */
body.oxy-halloween-page #content-wrapper::before,
body.oxy-halloween-page #content-wrapper::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
}
/* HALLOWEEN  odstrann bl ry nad produkty */
body.oxy-halloween-page #category-header,
body.oxy-halloween-page .category-header {
    border: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    background-image: none !important;
}

body.oxy-halloween-page #category-header::before,
body.oxy-halloween-page #category-header::after,
body.oxy-halloween-page .category-header::before,
body.oxy-halloween-page .category-header::after {
    content: none !important;
    display: none !important;
}
/* =========================================================
   HALLOWEEN  OPRAVA BANNERU DO PVODNHO POMRU
   ========================================================= */

body.oxy-halloween-page.oxy-halloween-simple {
    height: auto !important;
    min-height: 0 !important;
}

body.oxy-halloween-page .oxy-halloween-bg {
    position: relative !important;
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;

    object-fit: contain !important;
    object-position: center center !important;

    transform: none !important;
    inset: auto !important;

    margin: 0 !important;
}

/* vrstva setu pouze pes obrzek banneru */
body.oxy-halloween-page .oxy-halloween-products-stage {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
}
/* =========================================================
   HALLOWEEN  HOVER POSTAVIEK
   ========================================================= */

body.oxy-halloween-page .oxy-h-icon-card {
    transition: transform .25s ease !important;
}

body.oxy-halloween-page .oxy-h-icon-image {
    transition: transform .25s ease, filter .25s ease !important;
    transform-origin: center center;
}

body.oxy-halloween-page .oxy-h-icon-card:hover .oxy-h-icon-image {
    transform: scale(1.12) !important;
    filter: drop-shadow(0 8px 16px rgba(242,140,40,.28));
}

body.oxy-halloween-page .oxy-h-icon-card:hover {
    transform: translateY(-3px) !important;
}
/* =========================================================
   HALLOWEEN  SCHOVAT STANDARDN PODKATEGORIE SHOPTETU
   vlastn Halloween navigace zstv
   ========================================================= */

body.oxy-halloween-page .subcategories,
body.oxy-halloween-page .subcategories.with-image,
body.oxy-halloween-page ul.subcategories,
body.oxy-halloween-page .category-subcategories,
body.oxy-halloween-page .subcategories-wrapper {
    display: none !important;
}
/* =========================================================
   HALLOWEEN  STRNKOVN STEJN NA VECH STRNKCH
   ========================================================= */

body.oxy-halloween-page .pagination,
body.oxy-halloween-page .pagination-wrapper {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;

    margin: 30px auto 10px !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* jednotliv sla a ipky */
body.oxy-halloween-page .pagination a,
body.oxy-halloween-page .pagination span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 38px !important;
    height: 38px !important;

    padding: 0 10px !important;

    background: #17111d !important;
    color: #ffffff !important;

    border: 1px solid #f28c28 !important;
    border-radius: 9px !important;

    text-decoration: none !important;
    box-shadow: none !important;

    font-size: 14px !important;
    font-weight: 500 !important;

    transition:
        background .2s ease,
        color .2s ease,
        transform .2s ease !important;
}

/* aktuln strnka */
body.oxy-halloween-page .pagination .current,
body.oxy-halloween-page .pagination .active,
body.oxy-halloween-page .pagination strong {
    background: #f28c28 !important;
    color: #ffffff !important;

    border-color: #f28c28 !important;
}

/* hover */
body.oxy-halloween-page .pagination a:hover {
    background: #f28c28 !important;
    color: #ffffff !important;

    transform: translateY(-2px);
}

/* ipky */
body.oxy-halloween-page .pagination .next,
body.oxy-halloween-page .pagination .prev,
body.oxy-halloween-page .pagination .next-page,
body.oxy-halloween-page .pagination .prev-page {
    font-weight: 400 !important;
}

/* mobil */
@media (max-width: 600px) {

    body.oxy-halloween-page .pagination,
    body.oxy-halloween-page .pagination-wrapper {
        gap: 6px !important;
        margin-top: 24px !important;
    }

    body.oxy-halloween-page .pagination a,
    body.oxy-halloween-page .pagination span {
        min-width: 34px !important;
        height: 34px !important;

        padding: 0 8px !important;

        font-size: 13px !important;
        border-radius: 8px !important;
    }
}

/* =========================================================
   HALLOWEEN - LETAJICI NETOPYRI
   Finalni sloucena verze bez starych prepisu.
   ========================================================= */

body.oxy-halloween-page .oxy-bats {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    pointer-events: none !important;
    overflow: hidden !important;
    z-index: 50 !important;
}

body.oxy-halloween-page .oxy-bat {
    position: absolute !important;
    display: block !important;
    visibility: visible !important;
    background: #45394d !important;
    -webkit-mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 50'%3E%3Cpath d='M50 27C43 16 34 14 27 19C19 12 10 13 3 18C8 23 11 29 10 37C19 32 28 32 36 37C40 33 45 31 50 31C55 31 60 33 64 37C72 32 81 32 90 37C89 29 92 23 97 18C90 13 81 12 73 19C66 14 57 16 50 27Z'/%3E%3C/svg%3E")
        center / contain no-repeat !important;
    mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 50'%3E%3Cpath d='M50 27C43 16 34 14 27 19C19 12 10 13 3 18C8 23 11 29 10 37C19 32 28 32 36 37C40 33 45 31 50 31C55 31 60 33 64 37C72 32 81 32 90 37C89 29 92 23 97 18C90 13 81 12 73 19C66 14 57 16 50 27Z'/%3E%3C/svg%3E")
        center / contain no-repeat !important;
    pointer-events: none !important;
    font-size: 0 !important;
    line-height: 0 !important;
    transform-origin: center center !important;
    will-change: transform;
}

body.oxy-halloween-page .oxy-bat.bat-1 {
    width: 74px !important;
    height: 38px !important;
    left: 18px !important;
    right: auto !important;
    top: 48% !important;
    opacity: .78 !important;
    animation: oxySafeBat1 13s ease-in-out infinite !important;
}

body.oxy-halloween-page .oxy-bat.bat-2 {
    width: 52px !important;
    height: 28px !important;
    right: 22px !important;
    left: auto !important;
    top: 42% !important;
    opacity: .62 !important;
    animation: oxySafeBat2 16s ease-in-out infinite !important;
}

body.oxy-halloween-page .oxy-bat.bat-3 {
    width: 42px !important;
    height: 23px !important;
    left: 35px !important;
    right: auto !important;
    top: 69% !important;
    opacity: .48 !important;
    animation: oxySafeBat3 18s ease-in-out infinite !important;
}

body.oxy-halloween-page .oxy-bat.bat-4 {
    width: 68px !important;
    height: 35px !important;
    right: 25px !important;
    left: auto !important;
    top: 72% !important;
    opacity: .70 !important;
    animation: oxySafeBat4 15s ease-in-out infinite !important;
}

body.oxy-halloween-page .oxy-bat.bat-5 {
    width: 34px !important;
    height: 19px !important;
    left: 75px !important;
    right: auto !important;
    top: 57% !important;
    opacity: .40 !important;
    animation: oxySafeBat5 20s ease-in-out infinite !important;
}

body.oxy-halloween-page .oxy-bat.bat-6 {
    width: 46px !important;
    height: 24px !important;
    right: 75px !important;
    left: auto !important;
    top: 59% !important;
    opacity: .50 !important;
    animation: oxySafeBat6 19s ease-in-out infinite !important;
}

@keyframes oxySafeBat1 {
    0% { transform: translate(-40px, 80px) rotate(-10deg); }
    25% { transform: translate(20px, 10px) rotate(3deg); }
    50% { transform: translate(70px, -70px) rotate(-5deg); }
    75% { transform: translate(35px, -140px) rotate(6deg); }
    100% { transform: translate(-30px, -210px) rotate(-8deg); }
}

@keyframes oxySafeBat2 {
    0% { transform: translate(50px, 120px) rotate(8deg); }
    25% { transform: translate(-10px, 40px) rotate(-4deg); }
    50% { transform: translate(-65px, -35px) rotate(5deg); }
    75% { transform: translate(-30px, -120px) rotate(-6deg); }
    100% { transform: translate(35px, -220px) rotate(7deg); }
}

@keyframes oxySafeBat3 {
    0% { transform: translate(-20px, 140px) rotate(-6deg); }
    20% { transform: translate(30px, 60px) rotate(4deg); }
    45% { transform: translate(65px, -20px) rotate(-5deg); }
    70% { transform: translate(25px, -110px) rotate(5deg); }
    100% { transform: translate(-25px, -240px) rotate(-4deg); }
}

@keyframes oxySafeBat4 {
    0% { transform: translate(30px, 150px) rotate(6deg); }
    25% { transform: translate(-20px, 70px) rotate(-4deg); }
    50% { transform: translate(-70px, -10px) rotate(5deg); }
    75% { transform: translate(-35px, -120px) rotate(-5deg); }
    100% { transform: translate(25px, -250px) rotate(6deg); }
}

@keyframes oxySafeBat5 {
    0% { transform: translate(-10px, 100px) rotate(-5deg); }
    30% { transform: translate(25px, 20px) rotate(4deg); }
    60% { transform: translate(50px, -90px) rotate(-4deg); }
    100% { transform: translate(-15px, -200px) rotate(5deg); }
}

@keyframes oxySafeBat6 {
    0% { transform: translate(20px, 110px) rotate(5deg); }
    30% { transform: translate(-20px, 25px) rotate(-4deg); }
    60% { transform: translate(-55px, -85px) rotate(5deg); }
    100% { transform: translate(15px, -210px) rotate(-5deg); }
}

/* Na uzsim desktopu uz neni dost mista vedle karet. */
@media (max-width: 1250px) {
    body.oxy-halloween-page .oxy-bats {
        display: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.oxy-halloween-page .oxy-bat {
        animation: none !important;
    }
}

/* =========================================================
   OXYBAG - HALLOWEEN / TESTOVACI DESIGN SYSTEM SYNC V1
   07/10/2026
   - breadcrumbs podle aktualni testovaci verze
   - radius CTA 11 px
   - hover/touch/focus chovani podle kategorii testovaci verze
   - pagination sjednocena na stejnou UI logiku
   ========================================================= */

body.oxy-halloween-page {
    --oxy-halloween-accent: #f28c28;
    --oxy-halloween-accent-hover: #ff9f3b;
    --oxy-halloween-focus: rgba(242, 140, 40, .42);
}

/* ---------- Drobeckova navigace: stejny tvar sipky jako test ---------- */
body.oxy-halloween-page .breadcrumbs {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    column-gap: 0 !important;
    row-gap: 4px !important;
    background: transparent !important;
    color: rgba(255,255,255,.72) !important;
}

body.oxy-halloween-page .breadcrumbs > span,
body.oxy-halloween-page .breadcrumbs > span > a {
    color: rgba(255,255,255,.78) !important;
    text-decoration: none !important;
}

body.oxy-halloween-page .breadcrumbs > span:last-child,
body.oxy-halloween-page .breadcrumbs > span:last-child > a {
    color: #ffffff !important;
}

body.oxy-halloween-page .breadcrumbs > span > a:after {
    content: ">" !important;
    display: inline-block !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin-left: 13px !important;
    margin-right: 13px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    font-family: inherit !important;
    font-size: 15px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    color: var(--oxy-halloween-accent) !important;
    vertical-align: middle !important;
    transform: translate(5px, -1px) !important;
}

@media (max-width: 767px) {
    body.oxy-halloween-page .breadcrumbs > span > a:after {
        display: none !important;
        content: none !important;
    }

    body.oxy-halloween-page .breadcrumbs > span {
        display: inline-flex !important;
        align-items: center !important;
        min-width: 0 !important;
        white-space: nowrap !important;
    }

    body.oxy-halloween-page .breadcrumbs > span + span:before {
        content: ">" !important;
        display: inline-block !important;
        flex: 0 0 auto !important;
        margin: 0 8px !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        font-family: inherit !important;
        font-size: 13px !important;
        line-height: 1 !important;
        font-weight: 400 !important;
        color: var(--oxy-halloween-accent) !important;
        vertical-align: middle !important;
        transform: translateY(1px) !important;
    }
}

/* ---------- CTA: stejny 11px radius jako testovaci kategorie ---------- */
body.oxy-halloween-page .oxy-halloween-cta,
body.oxy-halloween-page #products .p-tools .btn,
body.oxy-halloween-page #products .btn-cart,
body.oxy-halloween-page #products .add-to-cart-button,
body.oxy-halloween-page .products-block .p-tools .btn,
body.oxy-halloween-page .products-block .btn-cart,
body.oxy-halloween-page .products-block .add-to-cart-button {
    border-radius: 11px !important;
    -webkit-tap-highlight-color: transparent !important;
    touch-action: manipulation !important;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease, transform 160ms ease !important;
}

/* Desktop hover jen tam, kde je skutecny kurzor. */
@media (hover: hover) and (pointer: fine) {
    body.oxy-halloween-page .oxy-halloween-cta:hover,
    body.oxy-halloween-page #products .p-tools .btn:hover,
    body.oxy-halloween-page #products .btn-cart:hover,
    body.oxy-halloween-page #products .add-to-cart-button:hover,
    body.oxy-halloween-page .products-block .p-tools .btn:hover,
    body.oxy-halloween-page .products-block .btn-cart:hover,
    body.oxy-halloween-page .products-block .add-to-cart-button:hover {
        background: var(--oxy-halloween-accent-hover) !important;
        border-color: var(--oxy-halloween-accent-hover) !important;
        color: #fff !important;
        text-decoration: none !important;
    }
}

/* Touch feedback stejny princip jako na testovacim webu. */
@media (hover: none), (pointer: coarse) {
    body.oxy-halloween-page .oxy-halloween-cta:active,
    body.oxy-halloween-page .oxy-halloween-cta.oxy-touch-active,
    body.oxy-halloween-page #products .p-tools .btn:active,
    body.oxy-halloween-page #products .p-tools .btn.oxy-touch-active,
    body.oxy-halloween-page #products .btn-cart:active,
    body.oxy-halloween-page #products .btn-cart.oxy-touch-active,
    body.oxy-halloween-page #products .add-to-cart-button:active,
    body.oxy-halloween-page #products .add-to-cart-button.oxy-touch-active {
        background: var(--oxy-halloween-accent-hover) !important;
        border-color: var(--oxy-halloween-accent-hover) !important;
        color: #fff !important;
        transform: translateY(1px) !important;
    }
}

body.oxy-halloween-page .oxy-halloween-cta:focus-visible,
body.oxy-halloween-page #products .p-tools .btn:focus-visible,
body.oxy-halloween-page #products .btn-cart:focus-visible,
body.oxy-halloween-page #products .add-to-cart-button:focus-visible {
    outline: 3px solid var(--oxy-halloween-focus) !important;
    outline-offset: 3px !important;
}

/* ---------- Strankovani: stejny radius a interakce jako test ---------- */
body.oxy-halloween-page .pagination-wrapper a,
body.oxy-halloween-page .pagination-wrapper button,
body.oxy-halloween-page .pagination-wrapper .btn,
body.oxy-halloween-page .pagination-loader a,
body.oxy-halloween-page .pagination-loader button,
body.oxy-halloween-page .pagination-loader .btn,
body.oxy-halloween-page .pagination-top a,
body.oxy-halloween-page .pagination-top button,
body.oxy-halloween-page .pagination-top .btn,
body.oxy-halloween-page .pagination-bottom a,
body.oxy-halloween-page .pagination-bottom button,
body.oxy-halloween-page .pagination-bottom .btn,
body.oxy-halloween-page .pagination a,
body.oxy-halloween-page .pagination button,
body.oxy-halloween-page .pagination span {
    border-radius: 11px !important;
    -webkit-tap-highlight-color: transparent !important;
    touch-action: manipulation !important;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease !important;
}

body.oxy-halloween-page .pagination-wrapper a span,
body.oxy-halloween-page .pagination-wrapper a i,
body.oxy-halloween-page .pagination-wrapper button span,
body.oxy-halloween-page .pagination-wrapper button i,
body.oxy-halloween-page .pagination-loader a span,
body.oxy-halloween-page .pagination-loader a i,
body.oxy-halloween-page .pagination-loader button span,
body.oxy-halloween-page .pagination-loader button i,
body.oxy-halloween-page .pagination a span,
body.oxy-halloween-page .pagination a i {
    color: inherit !important;
}

@media (hover: hover) and (pointer: fine) {
    body.oxy-halloween-page .pagination-wrapper a:not(.disabled):not([aria-disabled="true"]):hover,
    body.oxy-halloween-page .pagination-wrapper button:not(:disabled):hover,
    body.oxy-halloween-page .pagination-loader a:not(.disabled):not([aria-disabled="true"]):hover,
    body.oxy-halloween-page .pagination-loader button:not(:disabled):hover,
    body.oxy-halloween-page .pagination a:not(.disabled):not([aria-disabled="true"]):hover,
    body.oxy-halloween-page .pagination button:not(:disabled):hover {
        background: var(--oxy-halloween-accent) !important;
        border-color: var(--oxy-halloween-accent) !important;
        color: #fff !important;
        text-decoration: none !important;
        transform: none !important;
    }
}

@media (hover: none), (pointer: coarse) {
    body.oxy-halloween-page .pagination-wrapper a:active,
    body.oxy-halloween-page .pagination-wrapper a.oxy-touch-active,
    body.oxy-halloween-page .pagination-wrapper button:active,
    body.oxy-halloween-page .pagination-wrapper button.oxy-touch-active,
    body.oxy-halloween-page .pagination-loader a:active,
    body.oxy-halloween-page .pagination-loader a.oxy-touch-active,
    body.oxy-halloween-page .pagination-loader button:active,
    body.oxy-halloween-page .pagination-loader button.oxy-touch-active,
    body.oxy-halloween-page .pagination a:active,
    body.oxy-halloween-page .pagination a.oxy-touch-active,
    body.oxy-halloween-page .pagination button:active,
    body.oxy-halloween-page .pagination button.oxy-touch-active {
        background: var(--oxy-halloween-accent) !important;
        border-color: var(--oxy-halloween-accent) !important;
        color: #fff !important;
    }
}

body.oxy-halloween-page .pagination-wrapper a:focus-visible,
body.oxy-halloween-page .pagination-wrapper button:focus-visible,
body.oxy-halloween-page .pagination-loader a:focus-visible,
body.oxy-halloween-page .pagination-loader button:focus-visible,
body.oxy-halloween-page .pagination a:focus-visible,
body.oxy-halloween-page .pagination button:focus-visible {
    outline: 3px solid var(--oxy-halloween-focus) !important;
    outline-offset: 3px !important;
}

/* ---------- Jemne sjednoceni hoveru Halloween navigace ---------- */
body.oxy-halloween-page .oxy-h-icon-card {
    -webkit-tap-highlight-color: transparent !important;
    touch-action: manipulation !important;
}

body.oxy-halloween-page .oxy-h-icon-card:focus-visible {
    outline: 3px solid var(--oxy-halloween-focus) !important;
    outline-offset: 5px !important;
    border-radius: 11px !important;
}

@media (hover: none), (pointer: coarse) {
    body.oxy-halloween-page .oxy-h-icon-card.oxy-touch-active .oxy-h-icon-image,
    body.oxy-halloween-page .oxy-h-icon-card:active .oxy-h-icon-image {
        transform: scale(1.08) !important;
        filter: drop-shadow(0 8px 16px rgba(242,140,40,.28)) !important;
    }
}

/* =========================================================
   OXYBAG - HALLOWEEN / DESIGN SYNC V2
   07/10/2026
   - CTA radius 10 px
   - vychozi jemna oranzova, hover/tap syta oranzova
   - listing controls (Nacist dalsi / Nahoru / pagination) jako test
   - filtr + razeni znovu funkcni na Halloween podkategoriich
   - filtr vizualne prebarveny do Halloween design systemu
   ========================================================= */

body.oxy-halloween-page {
    --oxy-halloween-accent-soft: #f3a35c;
    --oxy-halloween-accent: #f3a35c;
    --oxy-halloween-accent-hover: #ff7a00;
    --oxy-halloween-accent-deep: #df6500;
    --oxy-halloween-focus: rgba(255, 122, 0, .36);
    --oxy-halloween-panel: #211827;
    --oxy-halloween-panel-2: #1b1421;
    --oxy-halloween-line: rgba(243, 163, 92, .34);
    --oxy-halloween-text: #fff;
    --oxy-halloween-muted: rgba(255,255,255,.70);
}

/* ---------- CTA: 10 px + jemna -> syta oranzova ---------- */
body.oxy-halloween-page .oxy-halloween-cta,
body.oxy-halloween-page #products .p-tools .btn,
body.oxy-halloween-page #products .btn-cart,
body.oxy-halloween-page #products .add-to-cart-button,
body.oxy-halloween-page .products-block .p-tools .btn,
body.oxy-halloween-page .products-block .btn-cart,
body.oxy-halloween-page .products-block .add-to-cart-button {
    border-radius: 10px !important;
    background: var(--oxy-halloween-accent-soft) !important;
    background-color: var(--oxy-halloween-accent-soft) !important;
    border-color: var(--oxy-halloween-accent-soft) !important;
    color: #fff !important;
    box-shadow: 0 7px 18px rgba(243, 163, 92, .18) !important;
}

@media (hover: hover) and (pointer: fine) {
    body.oxy-halloween-page .oxy-halloween-cta:hover,
    body.oxy-halloween-page #products .p-tools .btn:hover,
    body.oxy-halloween-page #products .btn-cart:hover,
    body.oxy-halloween-page #products .add-to-cart-button:hover,
    body.oxy-halloween-page .products-block .p-tools .btn:hover,
    body.oxy-halloween-page .products-block .btn-cart:hover,
    body.oxy-halloween-page .products-block .add-to-cart-button:hover {
        background: var(--oxy-halloween-accent-hover) !important;
        background-color: var(--oxy-halloween-accent-hover) !important;
        border-color: var(--oxy-halloween-accent-hover) !important;
        color: #fff !important;
        box-shadow: 0 9px 22px rgba(255, 122, 0, .28) !important;
        transform: none !important;
    }
}

@media (hover: none), (pointer: coarse) {
    body.oxy-halloween-page .oxy-halloween-cta:active,
    body.oxy-halloween-page .oxy-halloween-cta.oxy-touch-active,
    body.oxy-halloween-page #products .p-tools .btn:active,
    body.oxy-halloween-page #products .p-tools .btn.oxy-touch-active,
    body.oxy-halloween-page #products .btn-cart:active,
    body.oxy-halloween-page #products .btn-cart.oxy-touch-active,
    body.oxy-halloween-page #products .add-to-cart-button:active,
    body.oxy-halloween-page #products .add-to-cart-button.oxy-touch-active,
    body.oxy-halloween-page .products-block .p-tools .btn:active,
    body.oxy-halloween-page .products-block .p-tools .btn.oxy-touch-active,
    body.oxy-halloween-page .products-block .btn-cart:active,
    body.oxy-halloween-page .products-block .btn-cart.oxy-touch-active,
    body.oxy-halloween-page .products-block .add-to-cart-button:active,
    body.oxy-halloween-page .products-block .add-to-cart-button.oxy-touch-active {
        background: var(--oxy-halloween-accent-hover) !important;
        background-color: var(--oxy-halloween-accent-hover) !important;
        border-color: var(--oxy-halloween-accent-hover) !important;
        color: #fff !important;
        transform: translateY(1px) !important;
    }
}

/* ---------- Spodni listing controls: Nacist dalsi / Nahoru / sipky ---------- */
body.oxy-halloween-page .listingControls .btn,
body.oxy-halloween-page .listingControls .loadMore__button,
body.oxy-halloween-page .listingControls .goToTop__button,
body.oxy-halloween-page .listingControls .pagination__link--prev,
body.oxy-halloween-page .listingControls .pagination__link--next,
body.oxy-halloween-page .pagination-wrapper a,
body.oxy-halloween-page .pagination-wrapper button,
body.oxy-halloween-page .pagination-wrapper .btn,
body.oxy-halloween-page .pagination-loader a,
body.oxy-halloween-page .pagination-loader button,
body.oxy-halloween-page .pagination-loader .btn,
body.oxy-halloween-page .pagination-top a,
body.oxy-halloween-page .pagination-top button,
body.oxy-halloween-page .pagination-top .btn,
body.oxy-halloween-page .pagination-bottom a,
body.oxy-halloween-page .pagination-bottom button,
body.oxy-halloween-page .pagination-bottom .btn {
    box-sizing: border-box !important;
    border-radius: 10px !important;
    background: var(--oxy-halloween-accent-soft) !important;
    border: 1px solid var(--oxy-halloween-accent-soft) !important;
    color: #fff !important;
    box-shadow: none !important;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease !important;
    -webkit-tap-highlight-color: transparent !important;
    touch-action: manipulation !important;
}

/* Cisla stran: jemny obrys; aktualni stranka zustava zretelna. */
body.oxy-halloween-page .pagination a,
body.oxy-halloween-page .pagination button,
body.oxy-halloween-page .pagination span {
    border-radius: 10px !important;
}

body.oxy-halloween-page .pagination a:not(.current):not(.active),
body.oxy-halloween-page .pagination button:not(.current):not(.active),
body.oxy-halloween-page .pagination span:not(.current):not(.active) {
    background: transparent !important;
    border-color: var(--oxy-halloween-accent-soft) !important;
    color: #fff !important;
}

body.oxy-halloween-page .pagination .current,
body.oxy-halloween-page .pagination .active,
body.oxy-halloween-page .pagination strong {
    background: var(--oxy-halloween-accent-soft) !important;
    border-color: var(--oxy-halloween-accent-soft) !important;
    color: #fff !important;
    border-radius: 10px !important;
}

/* Disabled Nahoru apod. nema predstirat aktivni CTA. */
body.oxy-halloween-page .listingControls [disabled],
body.oxy-halloween-page .listingControls .disabled,
body.oxy-halloween-page .listingControls [aria-disabled="true"] {
    background: transparent !important;
    border-color: rgba(255,255,255,.22) !important;
    color: rgba(255,255,255,.32) !important;
    opacity: 1 !important;
    box-shadow: none !important;
}

@media (hover: hover) and (pointer: fine) {
    body.oxy-halloween-page .listingControls .btn:not(:disabled):not(.disabled):not([aria-disabled="true"]):hover,
    body.oxy-halloween-page .listingControls .loadMore__button:not(:disabled):hover,
    body.oxy-halloween-page .listingControls .goToTop__button:not([aria-disabled="true"]):hover,
    body.oxy-halloween-page .listingControls .pagination__link--prev:not([aria-disabled="true"]):hover,
    body.oxy-halloween-page .listingControls .pagination__link--next:not([aria-disabled="true"]):hover,
    body.oxy-halloween-page .pagination-wrapper a:not(.disabled):not([aria-disabled="true"]):hover,
    body.oxy-halloween-page .pagination-wrapper button:not(:disabled):hover,
    body.oxy-halloween-page .pagination-loader a:not(.disabled):not([aria-disabled="true"]):hover,
    body.oxy-halloween-page .pagination-loader button:not(:disabled):hover,
    body.oxy-halloween-page .pagination a:not(.disabled):not([aria-disabled="true"]):hover,
    body.oxy-halloween-page .pagination button:not(:disabled):hover {
        background: var(--oxy-halloween-accent-hover) !important;
        border-color: var(--oxy-halloween-accent-hover) !important;
        color: #fff !important;
        text-decoration: none !important;
        transform: none !important;
    }
}

@media (hover: none), (pointer: coarse) {
    body.oxy-halloween-page .listingControls .btn:active,
    body.oxy-halloween-page .listingControls .btn.oxy-touch-active,
    body.oxy-halloween-page .listingControls .loadMore__button:active,
    body.oxy-halloween-page .listingControls .loadMore__button.oxy-touch-active,
    body.oxy-halloween-page .listingControls .goToTop__button:active,
    body.oxy-halloween-page .listingControls .goToTop__button.oxy-touch-active,
    body.oxy-halloween-page .listingControls .pagination__link--prev:active,
    body.oxy-halloween-page .listingControls .pagination__link--prev.oxy-touch-active,
    body.oxy-halloween-page .listingControls .pagination__link--next:active,
    body.oxy-halloween-page .listingControls .pagination__link--next.oxy-touch-active,
    body.oxy-halloween-page .pagination-wrapper a:active,
    body.oxy-halloween-page .pagination-wrapper a.oxy-touch-active,
    body.oxy-halloween-page .pagination-wrapper button:active,
    body.oxy-halloween-page .pagination-wrapper button.oxy-touch-active {
        background: var(--oxy-halloween-accent-hover) !important;
        border-color: var(--oxy-halloween-accent-hover) !important;
        color: #fff !important;
    }
}

/* ---------- Podkategorie: vratit bezne funkce Shoptetu ---------- */
body.oxy-halloween-subcategory .sidebar,
body.oxy-halloween-subcategory aside.sidebar,
body.oxy-halloween-subcategory #sidebar,
body.oxy-halloween-subcategory #filters-wrapper,
body.oxy-halloween-subcategory .filters-wrapper,
body.oxy-halloween-subcategory .ordering,
body.oxy-halloween-subcategory .ordering-form,
body.oxy-halloween-subcategory .sorting,
body.oxy-halloween-subcategory .sorting-tabs,
body.oxy-halloween-subcategory .show-all-products,
body.oxy-halloween-subcategory .show-all-products-wrapper,
body.oxy-halloween-subcategory .products-more,
body.oxy-halloween-subcategory .load-more,
body.oxy-halloween-subcategory .product-slider-more {
    visibility: visible !important;
}

/* Standardni desktopovy layout se sidebar filtrem. */
@media (min-width: 992px) {
    body.oxy-halloween-subcategory .content-wrapper-in {
        display: flex !important;
        align-items: flex-start !important;
    }

    body.oxy-halloween-subcategory .sidebar,
    body.oxy-halloween-subcategory aside.sidebar,
    body.oxy-halloween-subcategory #sidebar {
        display: block !important;
    }

    body.oxy-halloween-subcategory .content {
        width: auto !important;
        max-width: none !important;
        flex: 1 1 0 !important;
        margin-left: 0 !important;
    }
}

/* ---------- Sidebar + filtr: stejna funkce jako test, Halloween vzhled ---------- */
body.oxy-halloween-subcategory .sidebar,
body.oxy-halloween-subcategory aside.sidebar,
body.oxy-halloween-subcategory #sidebar {
    background: transparent !important;
    color: var(--oxy-halloween-text) !important;
}

body.oxy-halloween-subcategory .sidebar a,
body.oxy-halloween-subcategory aside.sidebar a,
body.oxy-halloween-subcategory #sidebar a {
    color: rgba(255,255,255,.86) !important;
}

body.oxy-halloween-subcategory .sidebar a:hover,
body.oxy-halloween-subcategory .sidebar .active > a,
body.oxy-halloween-subcategory .sidebar li.active > a {
    color: var(--oxy-halloween-accent-hover) !important;
}

body.oxy-halloween-subcategory #filters {
    box-sizing: border-box !important;
    width: 100% !important;
    padding: 18px 18px 14px !important;
    border: 1px solid var(--oxy-halloween-line) !important;
    border-radius: 18px !important;
    background: var(--oxy-halloween-panel) !important;
    background-color: var(--oxy-halloween-panel) !important;
    box-shadow: none !important;
    color: var(--oxy-halloween-text) !important;
}

body.oxy-halloween-subcategory #filters .filter-section,
body.oxy-halloween-subcategory #filters .filter-section-boolean,
body.oxy-halloween-subcategory #filters .filter-section-parametric,
body.oxy-halloween-subcategory #filters .filter-section-price,
body.oxy-halloween-subcategory #filters fieldset,
body.oxy-halloween-subcategory #filters form,
body.oxy-halloween-subcategory #filters ul,
body.oxy-halloween-subcategory #filters .filter-section-content,
body.oxy-halloween-subcategory #filters .filter-section__content,
body.oxy-halloween-subcategory #filters .filter-content,
body.oxy-halloween-subcategory #filters .param-filter,
body.oxy-halloween-subcategory #filters .advanced-parameter {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    border-color: rgba(243,163,92,.18) !important;
    color: var(--oxy-halloween-text) !important;
}

body.oxy-halloween-subcategory #filters h3,
body.oxy-halloween-subcategory #filters h4,
body.oxy-halloween-subcategory #filters label,
body.oxy-halloween-subcategory #filters a,
body.oxy-halloween-subcategory #filters span,
body.oxy-halloween-subcategory #filters .filter-section h3,
body.oxy-halloween-subcategory #filters .filter-section h4 {
    color: rgba(255,255,255,.88) !important;
}

body.oxy-halloween-subcategory #filters .filter-section + .filter-section,
body.oxy-halloween-subcategory #filters fieldset + fieldset {
    border-top-color: rgba(243,163,92,.18) !important;
}

/* Kulata zaskrtavatka stejneho principu jako testovaci kategorie. */
body.oxy-halloween-subcategory #filters input[type="checkbox"],
body.oxy-halloween-subcategory #filters-wrapper input[type="checkbox"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    pointer-events: none !important;
}

body.oxy-halloween-subcategory #filters input[type="checkbox"] + label,
body.oxy-halloween-subcategory #filters-wrapper input[type="checkbox"] + label {
    position: relative !important;
    display: inline-block !important;
    min-height: 18px !important;
    padding-left: 26px !important;
}

body.oxy-halloween-subcategory #filters input[type="checkbox"] + label::before,
body.oxy-halloween-subcategory #filters-wrapper input[type="checkbox"] + label::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    box-sizing: border-box !important;
    width: 16px !important;
    height: 16px !important;
    border: 1px solid rgba(255,255,255,.45) !important;
    border-radius: 50% !important;
    background: #17111d !important;
    box-shadow: none !important;
}

body.oxy-halloween-subcategory #filters input[type="checkbox"]:checked + label::before,
body.oxy-halloween-subcategory #filters-wrapper input[type="checkbox"]:checked + label::before {
    border-color: var(--oxy-halloween-accent-soft) !important;
    background: var(--oxy-halloween-accent-soft) !important;
    box-shadow: none !important;
}

body.oxy-halloween-subcategory #filters input[type="checkbox"] + label::after,
body.oxy-halloween-subcategory #filters-wrapper input[type="checkbox"] + label::after {
    content: none !important;
    display: none !important;
}

@media (hover: hover) and (pointer: fine) {
    body.oxy-halloween-subcategory #filters input[type="checkbox"]:not(:disabled) + label:hover::before,
    body.oxy-halloween-subcategory #filters-wrapper input[type="checkbox"]:not(:disabled) + label:hover::before {
        border-color: var(--oxy-halloween-accent-hover) !important;
    }
}

body.oxy-halloween-subcategory #filters .ui-slider-handle,
body.oxy-halloween-subcategory #filters-wrapper .ui-slider-handle,
body.oxy-halloween-subcategory #filters .slider-handle,
body.oxy-halloween-subcategory #filters-wrapper .slider-handle,
body.oxy-halloween-subcategory #filters [class*="slider"] [class*="handle"],
body.oxy-halloween-subcategory #filters-wrapper [class*="slider"] [class*="handle"] {
    border-radius: 50% !important;
    background: var(--oxy-halloween-accent-soft) !important;
    border: 1px solid var(--oxy-halloween-accent-soft) !important;
    box-shadow: none !important;
}

body.oxy-halloween-subcategory #filters .ui-slider,
body.oxy-halloween-subcategory #filters .slider,
body.oxy-halloween-subcategory #filters [class*="slider-track"],
body.oxy-halloween-subcategory #filters [class*="range-track"] {
    background-color: rgba(255,255,255,.20) !important;
}

/* Razeni: 10px a stejny jemny -> syty orange feedback. */
body.oxy-halloween-subcategory .listSorting:not(.listSorting--dropdown) .listSorting__control,
body.oxy-halloween-subcategory .listSorting:not(.listSorting--dropdown) .listSorting__controls > li > a,
body.oxy-halloween-subcategory .listSorting:not(.listSorting--dropdown) .listSorting__controls > li > button {
    border: 1px solid var(--oxy-halloween-line) !important;
    border-radius: 10px !important;
    background: var(--oxy-halloween-panel-2) !important;
    color: #fff !important;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease !important;
}

body.oxy-halloween-subcategory .listSorting:not(.listSorting--dropdown) .listSorting__control--current,
body.oxy-halloween-subcategory .listSorting:not(.listSorting--dropdown) .listSorting__control.active,
body.oxy-halloween-subcategory .listSorting:not(.listSorting--dropdown) .listSorting__controls > li.active > a,
body.oxy-halloween-subcategory .listSorting:not(.listSorting--dropdown) .listSorting__controls > li.active > button {
    background: var(--oxy-halloween-accent-soft) !important;
    border-color: var(--oxy-halloween-accent-soft) !important;
    color: #fff !important;
}

@media (hover: hover) and (pointer: fine) {
    body.oxy-halloween-subcategory .listSorting:not(.listSorting--dropdown) .listSorting__control:not(.listSorting__control--current):hover,
    body.oxy-halloween-subcategory .listSorting:not(.listSorting--dropdown) .listSorting__controls > li > a:hover,
    body.oxy-halloween-subcategory .listSorting:not(.listSorting--dropdown) .listSorting__controls > li > button:hover {
        background: var(--oxy-halloween-accent-hover) !important;
        border-color: var(--oxy-halloween-accent-hover) !important;
        color: #fff !important;
    }
}

/* Mobilni Shoptet tlacitko Otevrit filtr. */
@media (max-width: 767px) {
    body.oxy-halloween-subcategory #filters-wrapper .filters-unveil-button-wrapper .btn-default,
    body.oxy-halloween-subcategory #filters-wrapper .filters-unveil-button-wrapper .btn,
    body.oxy-halloween-subcategory .filters-unveil-button-wrapper .btn-default,
    body.oxy-halloween-subcategory .filters-unveil-button-wrapper .btn {
        box-sizing: border-box !important;
        border-radius: 10px !important;
        background: var(--oxy-halloween-accent-soft) !important;
        border-color: var(--oxy-halloween-accent-soft) !important;
        color: #fff !important;
        overflow: hidden !important;
    }

    body.oxy-halloween-subcategory #filters {
        padding: 16px 14px 12px !important;
        border-radius: 16px !important;
    }
}

body.oxy-halloween-page .oxy-halloween-cta:focus-visible,
body.oxy-halloween-page .listingControls a:focus-visible,
body.oxy-halloween-page .listingControls button:focus-visible,
body.oxy-halloween-subcategory .listSorting a:focus-visible,
body.oxy-halloween-subcategory .listSorting button:focus-visible,
body.oxy-halloween-subcategory #filters input[type="checkbox"]:focus-visible + label::before {
    outline: 2px solid var(--oxy-halloween-accent-hover) !important;
    outline-offset: 3px !important;
}

/* =========================================================
   OXYBAG - HALLOWEEN DESIGN SYNC V6
   - oprava filtru na hlavni /halloween/
   - zachovan cely Shoptet sidebar DOM (kvuli funkcnosti filtru)
   - uvnitr sidebaru schovan pouze blok Kategorie
   - desktopove tlacitko OTEVRIT FILTR schovane
   - Nejprodavanejsi + Zobrazit vice produktu odstraneno
   - horni razeni na hlavni kategorii odstraneno
   ========================================================= */

/* ---------- Kompaktnejsi prostor mezi breadcrumbs a hero ---------- */
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .breadcrumbs,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .breadcrumbs-wrapper,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .container.breadcrumbs-wrapper {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

body.oxy-halloween-page:not(.oxy-halloween-subcategory) #content-wrapper,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .content-wrapper,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .content-wrapper-in,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) #content,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .content,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .category-perex {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-simple {
    margin-top: 0 !important;
    margin-bottom: 20px !important;
}

body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-icons-wrap {
    margin-bottom: 16px !important;
}

/* ---------- Pryc s bloky, ktere na hlavni Halloween landing nechceme ---------- */
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .top-products-wrapper,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .top-products,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .products-top,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .category-top-products,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .product-slider-holder,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .show-all-products,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .show-all-products-wrapper,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-hide-on-halloween {
    display: none !important;
}

/* Horni razeni na hlavni /halloween/ nechceme. */
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .ordering,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .ordering-form,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .sorting,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .sorting-tabs,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .listSorting {
    display: none !important;
}

/* ---------- Hlavni listing: sidebar s filtrem vlevo + produkty vpravo ---------- */
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-layout {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 265px minmax(0, 1fr) !important;
    gap: 28px !important;
    width: min(1480px, calc(100% - 32px)) !important;
    margin: 0 auto 34px !important;
    align-items: start !important;
    background: transparent !important;
}

body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-main {
    min-width: 0 !important;
    background: transparent !important;
}

/* Sidebar presouvame cely, aby Shoptet filtr neprisel o svuj DOM kontext. */
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar .sidebar,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar aside.sidebar,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #sidebar {
    display: block !important;
    position: static !important;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: #f5f2f7 !important;
}

/* Duplicitni strom Kategorie nechceme - vlastni Halloween ikony uz jsou nad listingem. */
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #categories,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar .categories,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar .box-categories,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar .category-menu,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar .oxy-hide-on-halloween {
    display: none !important;
}

/* ---------- Filtr: zachovat funkcnost, jen Halloween vzhled ---------- */
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters-wrapper,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar .filters-wrapper {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Na desktopu filtr rovnou otevreny, zadne tlacitko "Otevrit filtr". */
@media (min-width: 768px) {
    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar .filters-unveil-button-wrapper {
        display: none !important;
    }

    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters {
        display: block !important;
        visibility: visible !important;
    }
}

body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters {
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 16px 16px 12px !important;
    border: 1px solid rgba(243,163,92,.48) !important;
    border-radius: 14px !important;
    background: rgba(15,10,20,.58) !important;
    box-shadow: none !important;
    color: #f5f2f7 !important;
}

/* Bile vnitrni plochy Shoptetu odstranit, ale nerozbijet display layout. */
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .filter-section,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .filter-section-boolean,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .filter-section-parametric,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .filter-section-price,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .filter-section-content,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .filter-section__content,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .filter-content,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters fieldset,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters form,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters ul,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .param-filter,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .advanced-parameter {
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    color: #f5f2f7 !important;
}

body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters h3,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters h4,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters label,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters a,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters span {
    color: rgba(255,255,255,.92) !important;
    text-shadow: none !important;
}

/* Kazda sekce filtru ma normalni sirku a radkovy tok. */
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .filter-section,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters fieldset {
    width: 100% !important;
    float: none !important;
    clear: both !important;
    border-color: rgba(243,163,92,.20) !important;
}

/* Checkboxy jako ciste kulaty prvek - bez zavislosti na label::before. */
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters input[type="checkbox"],
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters-wrapper input[type="checkbox"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    position: static !important;
    opacity: 1 !important;
    display: inline-block !important;
    box-sizing: border-box !important;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    margin: 0 9px 0 0 !important;
    border: 1px solid rgba(255,255,255,.58) !important;
    border-radius: 50% !important;
    background: #17111d !important;
    box-shadow: none !important;
    vertical-align: -3px !important;
    pointer-events: auto !important;
    cursor: pointer !important;
}

body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters input[type="checkbox"]:checked,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters-wrapper input[type="checkbox"]:checked {
    border-color: #ff8f2a !important;
    background: #ff8f2a !important;
    box-shadow: inset 0 0 0 3px #17111d !important;
}

/* Zrusit stare pseudo-checkboxy, pokud je Shoptet nebo starsi CSS kresli na labelu. */
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters input[type="checkbox"] + label,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters-wrapper input[type="checkbox"] + label {
    display: inline !important;
    position: static !important;
    min-height: 0 !important;
    padding-left: 0 !important;
    white-space: normal !important;
}

body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters input[type="checkbox"] + label::before,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters-wrapper input[type="checkbox"] + label::before,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters input[type="checkbox"] + label::after,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters-wrapper input[type="checkbox"] + label::after {
    content: none !important;
    display: none !important;
}

/* Radky voleb nenechat skladat vedle sebe. */
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters li,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .advanced-parameter,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .filter-section-content > div,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .filter-section__content > div {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
    box-sizing: border-box !important;
}

/* Cenovy slider */
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .ui-slider-handle,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .slider-handle,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters [class*="slider"] [class*="handle"] {
    border-radius: 50% !important;
    background: #ff8f2a !important;
    border: 1px solid #ff8f2a !important;
    box-shadow: none !important;
}

/* ---------- Pravy sloupec ---------- */
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-main .oxy-halloween-products-title,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-main #products,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-main .products,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-main .products-block,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-main .listingControls,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-main .pagination-wrapper,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-main .pagination {
    max-width: none !important;
}

body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-main .oxy-halloween-products-title {
    margin-top: 0 !important;
}

/* ---------- Mobil/tablet ---------- */
@media (max-width: 991px) {
    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-layout {
        display: block !important;
        width: calc(100% - 24px) !important;
        margin: 4px auto 28px !important;
    }

    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar {
        margin-bottom: 18px !important;
    }

    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters {
        padding: 15px 14px 12px !important;
        border-radius: 12px !important;
    }
}

/* =========================================================
   OXYBAG - HALLOWEEN DESIGN SYNC V7
   - kompaktnejsi rozmisteni podle schvaleneho navrhu
   - filtr zarovnany s prvni radou produktu
   - odstraneni bileho podkladu uvnitr Shoptet filtru
   - filter checkboxy podle funkcniho principu z testovaci verze
   ========================================================= */

/* ---------- Ikony podkategorii kompaktneji a bliz k listingu ---------- */
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-icons-wrap {
    max-width: 920px !important;
    margin: 30px auto 6px !important;
    padding: 0 8px !important;
}

body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-icons-grid {
    max-width: 860px !important;
    gap: 14px !important;
}

/* ---------- Desktop: filtr + 3 produkty jako jeden kompaktni blok ---------- */
@media (min-width: 992px) {
    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-layout {
        grid-template-columns: 250px minmax(0, 1fr) !important;
        gap: 28px !important;
        width: min(1280px, calc(100% - 48px)) !important;
        margin: 0 auto 38px !important;
    }

    /* Nadpis patri jen nad produkty. Filtr zacina az ve vysce prvni rady karet. */
    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar {
        padding-top: 54px !important;
    }

    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-main .oxy-halloween-products-title {
        max-width: none !important;
        margin: 0 0 18px !important;
    }

    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-main #products.products {
        max-width: none !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        column-gap: 18px !important;
        row-gap: 22px !important;
    }
}

@media (min-width: 992px) and (max-width: 1249px) {
    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-layout {
        grid-template-columns: 225px minmax(0, 1fr) !important;
        gap: 20px !important;
        width: calc(100% - 32px) !important;
    }
}

/* ---------- Sidebar nema kreslit zadnou vlastni bilou linku/panel ---------- */
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar .sidebar,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar aside.sidebar,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #sidebar,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar .box {
    border: 0 !important;
    border-top: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar::before,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar::after,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar .sidebar::before,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar .sidebar::after,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar .box::before,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar .box::after {
    content: none !important;
    display: none !important;
}

/* ---------- FILTR: jeden tmavy Halloween panel ---------- */
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters {
    width: 100% !important;
    margin: 0 !important;
    padding: 16px 16px 12px !important;
    border: 1px solid rgba(242,140,40,.62) !important;
    border-radius: 14px !important;
    background: #0b0710 !important;
    background-image: none !important;
    box-shadow: none !important;
    color: #fff !important;
    overflow: hidden !important;
}

/* Shoptet kresli bile pozadi na ruznych vnitrnich obalech.
   Vsechny strukturální vrstvy filtru budou pruhledne. */
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters > *,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters > * > *,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .filter-section,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .filter-section-boolean,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .filter-section-parametric,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .filter-section-price,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .filter-section-content,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .filter-section__content,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .filter-content,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters form,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters fieldset,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters ul,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters li,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .param-filter,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .advanced-parameter {
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

/* Jednotlive sekce maji jen jemny oddelovac. */
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .filter-section,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters fieldset {
    width: 100% !important;
    float: none !important;
    clear: both !important;
    border-color: rgba(242,140,40,.18) !important;
}

body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .filter-section + .filter-section,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters fieldset + fieldset {
    border-top-color: rgba(242,140,40,.22) !important;
}

/* Nadpisy a text filtru. */
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters h3,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters h4,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters label,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters a,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters span,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters p {
    color: rgba(255,255,255,.90) !important;
    text-shadow: none !important;
}

body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters h3,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters h4 {
    font-weight: 700 !important;
}

/* ---------- Checkboxy: stejny funkcni princip jako na testovacim webu ---------- */
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters input[type="checkbox"],
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters-wrapper input[type="checkbox"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    pointer-events: none !important;
}

body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters input[type="checkbox"] + label,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters-wrapper input[type="checkbox"] + label {
    position: relative !important;
    display: inline-block !important;
    min-height: 18px !important;
    padding-left: 26px !important;
    color: rgba(255,255,255,.90) !important;
    line-height: 1.35 !important;
}

body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters input[type="checkbox"] + label::before,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters-wrapper input[type="checkbox"] + label::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    width: 16px !important;
    height: 16px !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(255,255,255,.56) !important;
    border-radius: 50% !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    transform: translateY(-50%) !important;
}

body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters input[type="checkbox"]:checked + label::before,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters-wrapper input[type="checkbox"]:checked + label::before {
    border-color: #ff8f2a !important;
    background: #ff8f2a !important;
    box-shadow: none !important;
}

body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters input[type="checkbox"] + label::after,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters-wrapper input[type="checkbox"] + label::after {
    content: none !important;
    display: none !important;
}

@media (hover: hover) and (pointer: fine) {
    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters input[type="checkbox"]:not(:disabled) + label:hover::before,
    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters-wrapper input[type="checkbox"]:not(:disabled) + label:hover::before {
        border-color: #ff8f2a !important;
    }
}

/* Radky voleb musi zustat pod sebou. */
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters li,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .advanced-parameter,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .filter-section-content > div,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .filter-section__content > div {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
    box-sizing: border-box !important;
}

/* Cenovy slider - oranžovy akcent, tmavy podklad. */
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .ui-slider,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .slider,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters [class*="slider-track"],
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters [class*="range-track"] {
    background-color: rgba(255,255,255,.18) !important;
}

body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .ui-slider-handle,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .slider-handle,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters [class*="slider"] [class*="handle"] {
    border-radius: 50% !important;
    background: #ff8f2a !important;
    border: 1px solid #ff8f2a !important;
    box-shadow: none !important;
}

/* Pocty / drobny pomocny text jsou viditelne, ale nekriklavé. */
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .filter-count,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .count,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .filter-total,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters .filter-total-count {
    color: rgba(255,255,255,.45) !important;
}

/* ---------- Mobil/tablet ---------- */
@media (max-width: 991px) {
    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar {
        padding-top: 0 !important;
        margin-bottom: 18px !important;
    }

    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-layout {
        width: calc(100% - 24px) !important;
    }
}

/* =========================================================
   OXYBAG - HALLOWEEN DESIGN SYNC V8
   DOLADENI ROZMISTENI PODLE REFERENCNIHO NAVRHU
   ========================================================= */

/* Desktop:
   - filtr ma zacinat ve stejne vysce jako prvni rada produktovych karet
   - nadpis "Strasidelne dobry vyber" zustava pouze nad produkty
   - zadny dalsi prazdny radek nad filtrem
*/
@media (min-width: 992px) {
    body.oxy-halloween-page:not(.oxy-halloween-subcategory)
    .oxy-halloween-listing-sidebar {
        padding-top: 7px !important;
    }

    body.oxy-halloween-page:not(.oxy-halloween-subcategory)
    .oxy-halloween-listing-sidebar .sidebar,
    body.oxy-halloween-page:not(.oxy-halloween-subcategory)
    .oxy-halloween-listing-sidebar aside.sidebar,
    body.oxy-halloween-page:not(.oxy-halloween-subcategory)
    .oxy-halloween-listing-sidebar #sidebar,
    body.oxy-halloween-page:not(.oxy-halloween-subcategory)
    .oxy-halloween-listing-sidebar #filters-wrapper,
    body.oxy-halloween-page:not(.oxy-halloween-subcategory)
    .oxy-halloween-listing-sidebar .filters-wrapper {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    /* Prvni produktova rada ma stejny vizualni zacatek jako filtr. */
    body.oxy-halloween-page:not(.oxy-halloween-subcategory)
    .oxy-halloween-listing-main #products.products {
        margin-top: 0 !important;
    }

    /* Nadpis drzi kompaktni mezeru nad kartami podle navrhu. */
    body.oxy-halloween-page:not(.oxy-halloween-subcategory)
    .oxy-halloween-listing-main .oxy-halloween-products-title {
        margin-bottom: 18px !important;
    }
}

/* Stredni desktop/notebook: stejna logika zarovnani. */
@media (min-width: 992px) and (max-width: 1249px) {
    body.oxy-halloween-page:not(.oxy-halloween-subcategory)
    .oxy-halloween-listing-sidebar {
        padding-top: 7px !important;
    }
}

/* =========================================================
   OXYBAG - HALLOWEEN DESIGN SYNC V9
   - oranžové count badge ve filtru
   - oranžový hover textu ve filtru
   - "Strašidelně dobrý výběr" centrovaný na stejnou osu jako podkategorie
   ========================================================= */

/* Nadpis je nyní mimo pravý produktový sloupec a centruje se s podkategoriemi. */
body.oxy-halloween-page:not(.oxy-halloween-subcategory) > .container .oxy-halloween-products-title,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .content > .oxy-halloween-products-title {
    width: calc(100% - 32px) !important;
    max-width: 980px !important;
    margin: 10px auto 18px !important;
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    text-align: center !important;
}

body.oxy-halloween-page:not(.oxy-halloween-subcategory) .content > .oxy-halloween-products-title::before,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .content > .oxy-halloween-products-title::after {
    flex: 1 1 auto !important;
}

/* Jakmile je nadpis mimo listing, filtr a první řada produktů mohou začínat na stejné výšce. */
@media (min-width: 992px) {
    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar {
        padding-top: 0 !important;
    }

    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-layout {
        margin-top: 0 !important;
    }
}

/* ---------- Oranžové počty ve filtru ---------- */
body.oxy-halloween-page #filters .oxy-filter-count-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 26px !important;
    height: 20px !important;
    margin-left: 7px !important;
    padding: 0 7px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #f3a35c !important;
    color: #17111d !important;
    font-size: 12px !important;
    line-height: 20px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
    vertical-align: middle !important;
}

/* Pro pripad, ze puvodni Shoptet CSS kresli bily badge na znamych count tridach. */
body.oxy-halloween-page #filters .filter-count,
body.oxy-halloween-page #filters .filter-section-count,
body.oxy-halloween-page #filters .advanced-parameter-count,
body.oxy-halloween-page #filters [class~="count"] {
    background: #f3a35c !important;
    color: #17111d !important;
    border-color: #f3a35c !important;
}

/* Hover: text volby i jeji pocet jdou do sytejsi oranzove. */
@media (hover: hover) and (pointer: fine) {
    body.oxy-halloween-page #filters label:hover,
    body.oxy-halloween-page #filters label:hover span:not(.oxy-filter-count-badge),
    body.oxy-halloween-page #filters a:hover,
    body.oxy-halloween-page #filters a:hover span:not(.oxy-filter-count-badge) {
        color: #ff8f2a !important;
    }

    body.oxy-halloween-page #filters label:hover .oxy-filter-count-badge,
    body.oxy-halloween-page #filters a:hover .oxy-filter-count-badge {
        background: #ff8f2a !important;
        color: #17111d !important;
    }
}

/* Aktivni / focus stav ma stejny akcent. */
body.oxy-halloween-page #filters label:focus-within,
body.oxy-halloween-page #filters a:focus-visible {
    color: #ff8f2a !important;
}



/* =========================================================
   OXYBAG - HALLOWEEN DESIGN SYNC V10
   - podkategorie + nadpis zarovnane na osu produktovych karet
   - filtr v jedne rovine s kartami
   - count badge oranzovy podklad + bile cislo
   - hover barvi pouze text, ne badge
   ========================================================= */

/* Desktop: finalni geometrii ridi JS, tady jen zrusime predchozi pevne limity. */
@media (min-width: 992px) {
    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-icons-wrap,
    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .content > .oxy-halloween-products-title {
        max-width: none !important;
        width: auto;
        margin-right: 0 !important;
    }

    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar {
        padding-top: 0 !important;
        align-self: start !important;
    }

    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-layout {
        align-items: start !important;
    }
}

/* Count badge: jemne oranzovy podklad, bile cislo. */
body.oxy-halloween-page #filters .oxy-filter-count-badge,
body.oxy-halloween-page #filters .filter-count,
body.oxy-halloween-page #filters .filter-section-count,
body.oxy-halloween-page #filters .advanced-parameter-count,
body.oxy-halloween-page #filters .count {
    background: #f3a35c !important;
    border-color: #f3a35c !important;
    color: #ffffff !important;
}

/* Hover ma menit jen text ve filtru, ne samotny badge. */
@media (hover: hover) and (pointer: fine) {
    body.oxy-halloween-page #filters label:hover,
    body.oxy-halloween-page #filters label:hover span:not(.oxy-filter-count-badge):not(.filter-count):not(.count):not(.filter-section-count):not(.advanced-parameter-count),
    body.oxy-halloween-page #filters a:hover,
    body.oxy-halloween-page #filters a:hover span:not(.oxy-filter-count-badge):not(.filter-count):not(.count):not(.filter-section-count):not(.advanced-parameter-count) {
        color: #ff8f2a !important;
    }

    body.oxy-halloween-page #filters label:hover .oxy-filter-count-badge,
    body.oxy-halloween-page #filters label:hover .filter-count,
    body.oxy-halloween-page #filters label:hover .count,
    body.oxy-halloween-page #filters label:hover .filter-section-count,
    body.oxy-halloween-page #filters label:hover .advanced-parameter-count,
    body.oxy-halloween-page #filters a:hover .oxy-filter-count-badge,
    body.oxy-halloween-page #filters a:hover .filter-count,
    body.oxy-halloween-page #filters a:hover .count,
    body.oxy-halloween-page #filters a:hover .filter-section-count,
    body.oxy-halloween-page #filters a:hover .advanced-parameter-count {
        background: #f3a35c !important;
        border-color: #f3a35c !important;
        color: #ffffff !important;
    }
}

/* =========================================================
   OXYBAG - HALLOWEEN DESIGN SYNC V11
   Finalni sjednoceni radiusu + presne zarovnani podle konzole.
   ========================================================= */

/* Puvodni sidebar na hlavni /halloween/ zustava jen jako zdroj DOMu.
   Po presunu #filters-wrapper uz nema zabirat misto. */
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-source-sidebar,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .content-wrapper-in > .oxy-halloween-source-sidebar {
    display: none !important;
}

/* Filtr je ted primym potomkem leveho Halloween sloupce. */
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar > #filters-wrapper,
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar > .filters-wrapper {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

@media (min-width: 768px) {
    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar > #filters-wrapper .filters-unveil-button-wrapper,
    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar > .filters-wrapper .filters-unveil-button-wrapper {
        display: none !important;
    }
}

/* Presne stejna startovni rovina filtru a produktovych karet. */
@media (min-width: 992px) {
    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar,
    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-main,
    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar > #filters-wrapper,
    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar > .filters-wrapper,
    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar #filters,
    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-main #products.products {
        margin-top: 0 !important;
    }

    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-listing-sidebar {
        padding-top: 0 !important;
    }
}

/* =========================================================
   10 PX DESIGN SYSTEM
   Kruhove prvky (checkbox, count badge, sleva) zustavaji kruh/pill.
   ========================================================= */
body.oxy-halloween-page .oxy-halloween-cta,
body.oxy-halloween-page #products > .product > .p,
body.oxy-halloween-page #products > .product > .p .p-image,
body.oxy-halloween-page #products > .product > .p .image,
body.oxy-halloween-page #products > .product > .p .image-wrapper,
body.oxy-halloween-page #products > .product > .p .p-image a,
body.oxy-halloween-page #products > .product > .p .image a,
body.oxy-halloween-page #products > .product > .p .image-wrapper a,
body.oxy-halloween-page #products .p-tools .btn,
body.oxy-halloween-page #products .btn-cart,
body.oxy-halloween-page #products .add-to-cart-button,
body.oxy-halloween-page #filters,
body.oxy-halloween-page .filters-unveil-button-wrapper .btn,
body.oxy-halloween-page .filters-unveil-button-wrapper .btn-default,
body.oxy-halloween-page .listingControls .btn,
body.oxy-halloween-page .listingControls button,
body.oxy-halloween-page .listingControls a,
body.oxy-halloween-page .pagination-wrapper a,
body.oxy-halloween-page .pagination-wrapper button,
body.oxy-halloween-page .pagination a,
body.oxy-halloween-page .pagination button,
body.oxy-halloween-page .listSorting .listSorting__control,
body.oxy-halloween-page .listSorting a,
body.oxy-halloween-page .listSorting button {
    border-radius: 10px !important;
}

/* CTA: jemna oranzova default -> syta oranzova hover/tap. */
body.oxy-halloween-page .oxy-halloween-cta,
body.oxy-halloween-page #products .p-tools .btn,
body.oxy-halloween-page #products .btn-cart,
body.oxy-halloween-page #products .add-to-cart-button,
body.oxy-halloween-page .listingControls .btn,
body.oxy-halloween-page .listingControls button,
body.oxy-halloween-page .filters-unveil-button-wrapper .btn,
body.oxy-halloween-page .filters-unveil-button-wrapper .btn-default {
    background: #f3a35c !important;
    border-color: #f3a35c !important;
    color: #fff !important;
    box-shadow: none !important;
}

@media (hover: hover) and (pointer: fine) {
    body.oxy-halloween-page .oxy-halloween-cta:hover,
    body.oxy-halloween-page #products .p-tools .btn:hover,
    body.oxy-halloween-page #products .btn-cart:hover,
    body.oxy-halloween-page #products .add-to-cart-button:hover,
    body.oxy-halloween-page .listingControls .btn:hover,
    body.oxy-halloween-page .listingControls button:hover,
    body.oxy-halloween-page .filters-unveil-button-wrapper .btn:hover,
    body.oxy-halloween-page .filters-unveil-button-wrapper .btn-default:hover {
        background: #ff8f2a !important;
        border-color: #ff8f2a !important;
        color: #fff !important;
    }
}

body.oxy-halloween-page .oxy-halloween-cta:active,
body.oxy-halloween-page .oxy-halloween-cta.oxy-touch-active,
body.oxy-halloween-page #products .btn:active,
body.oxy-halloween-page #products .btn.oxy-touch-active,
body.oxy-halloween-page .listingControls .btn:active,
body.oxy-halloween-page .listingControls .btn.oxy-touch-active {
    background: #ff8f2a !important;
    border-color: #ff8f2a !important;
}

/* Count badge: oranzovy podklad + BILE cislo. Hover badge nemeni. */
body.oxy-halloween-page #filters .oxy-filter-count-badge,
body.oxy-halloween-page #filters .filter-count,
body.oxy-halloween-page #filters .filter-section-count,
body.oxy-halloween-page #filters .advanced-parameter-count,
body.oxy-halloween-page #filters [class~="count"] {
    background: #f3a35c !important;
    border-color: #f3a35c !important;
    color: #fff !important;
}

@media (hover: hover) and (pointer: fine) {
    /* Hover meni pouze text polozky. */
    body.oxy-halloween-page #filters label:hover,
    body.oxy-halloween-page #filters a:hover,
    body.oxy-halloween-page #filters .filter-section h3:hover,
    body.oxy-halloween-page #filters .filter-section h4:hover {
        color: #ff8f2a !important;
    }

    /* Badge zustava porad stejny. */
    body.oxy-halloween-page #filters label:hover .oxy-filter-count-badge,
    body.oxy-halloween-page #filters label:hover .filter-count,
    body.oxy-halloween-page #filters label:hover .filter-section-count,
    body.oxy-halloween-page #filters label:hover .advanced-parameter-count,
    body.oxy-halloween-page #filters label:hover [class~="count"],
    body.oxy-halloween-page #filters a:hover .oxy-filter-count-badge,
    body.oxy-halloween-page #filters a:hover .filter-count,
    body.oxy-halloween-page #filters a:hover .filter-section-count,
    body.oxy-halloween-page #filters a:hover .advanced-parameter-count,
    body.oxy-halloween-page #filters a:hover [class~="count"] {
        background: #f3a35c !important;
        border-color: #f3a35c !important;
        color: #fff !important;
    }
}

/* Filtr samotny take presne 10 px. */
body.oxy-halloween-page #filters {
    border-radius: 10px !important;
}

/* =========================================================
   OXYBAG - HALLOWEEN DESIGN SYNC V12
   - filtr: jeden radek = jedna volba, count vpravo
   - count badge: oranzovy + bile cislo, hover badge nemeni
   - hover filtru: pouze text do oranzova
   - Do kosiku: stejny tvar/rozmer jako test, Halloween barvy
   - vsechny bezne rohy 10 px
   ========================================================= */

/* ---------- FILTER: radky voleb jako na testovaci kategorii ---------- */
body.oxy-halloween-page:not(.oxy-halloween-subcategory)
.oxy-halloween-listing-sidebar #filters .filter-section-boolean,
body.oxy-halloween-page:not(.oxy-halloween-subcategory)
.oxy-halloween-listing-sidebar #filters .filter-section-boolean .filter-section-content,
body.oxy-halloween-page:not(.oxy-halloween-subcategory)
.oxy-halloween-listing-sidebar #filters .filter-section-boolean .filter-section__content,
body.oxy-halloween-page:not(.oxy-halloween-subcategory)
.oxy-halloween-listing-sidebar #filters .filter-section-boolean .filter-content,
body.oxy-halloween-page:not(.oxy-halloween-subcategory)
.oxy-halloween-listing-sidebar #filters .filter-section-parametric .filter-section-content,
body.oxy-halloween-page:not(.oxy-halloween-subcategory)
.oxy-halloween-listing-sidebar #filters .filter-section-parametric .filter-section__content,
body.oxy-halloween-page:not(.oxy-halloween-subcategory)
.oxy-halloween-listing-sidebar #filters .filter-section-parametric .filter-content {
    width: 100% !important;
    grid-template-columns: none !important;
    columns: auto !important;
    column-count: 1 !important;
}

body.oxy-halloween-page:not(.oxy-halloween-subcategory)
.oxy-halloween-listing-sidebar #filters label.filter-label,
body.oxy-halloween-page:not(.oxy-halloween-subcategory)
.oxy-halloween-listing-sidebar #filters input[type="checkbox"] + label,
body.oxy-halloween-page:not(.oxy-halloween-subcategory)
.oxy-halloween-listing-sidebar #filters input[type="radio"] + label {
    box-sizing: border-box !important;
    position: relative !important;
    display: flex !important;
    flex: 0 0 100% !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 24px !important;
    margin: 0 0 6px !important;
    padding: 0 0 0 26px !important;
    color: rgba(255,255,255,.94) !important;
    opacity: 1 !important;
    line-height: 1.25 !important;
    cursor: pointer !important;
    white-space: normal !important;
}

/* disabled volba: text sedy, count zustava citelny */
body.oxy-halloween-page:not(.oxy-halloween-subcategory)
.oxy-halloween-listing-sidebar #filters input:disabled + label.filter-label,
body.oxy-halloween-page:not(.oxy-halloween-subcategory)
.oxy-halloween-listing-sidebar #filters input:disabled + label {
    color: rgba(255,255,255,.45) !important;
    opacity: 1 !important;
}

/* jednotny kulaty marker vlevo */
body.oxy-halloween-page:not(.oxy-halloween-subcategory)
.oxy-halloween-listing-sidebar #filters label.filter-label::before,
body.oxy-halloween-page:not(.oxy-halloween-subcategory)
.oxy-halloween-listing-sidebar #filters input[type="checkbox"] + label::before,
body.oxy-halloween-page:not(.oxy-halloween-subcategory)
.oxy-halloween-listing-sidebar #filters input[type="radio"] + label::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    width: 16px !important;
    height: 16px !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(255,255,255,.60) !important;
    border-radius: 50% !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    transform: translateY(-50%) !important;
}

body.oxy-halloween-page:not(.oxy-halloween-subcategory)
.oxy-halloween-listing-sidebar #filters input[type="checkbox"]:checked + label::before,
body.oxy-halloween-page:not(.oxy-halloween-subcategory)
.oxy-halloween-listing-sidebar #filters input[type="radio"]:checked + label::before {
    border-color: #ff8f2a !important;
    background: #ff8f2a !important;
}

body.oxy-halloween-page:not(.oxy-halloween-subcategory)
.oxy-halloween-listing-sidebar #filters label.filter-label::after,
body.oxy-halloween-page:not(.oxy-halloween-subcategory)
.oxy-halloween-listing-sidebar #filters input + label::after {
    content: none !important;
    display: none !important;
}

/* skryty native input zustava funkcni pres label */
body.oxy-halloween-page:not(.oxy-halloween-subcategory)
.oxy-halloween-listing-sidebar #filters input[type="checkbox"],
body.oxy-halloween-page:not(.oxy-halloween-subcategory)
.oxy-halloween-listing-sidebar #filters input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    pointer-events: none !important;
}

/* COUNT: vzdy vpravo, oranzovy podklad + opravdu bile cislo */
body.oxy-halloween-page:not(.oxy-halloween-subcategory)
.oxy-halloween-listing-sidebar #filters label.filter-label .oxy-filter-count-badge,
body.oxy-halloween-page:not(.oxy-halloween-subcategory)
.oxy-halloween-listing-sidebar #filters label.filter-label .filter-count,
body.oxy-halloween-page:not(.oxy-halloween-subcategory)
.oxy-halloween-listing-sidebar #filters label .oxy-filter-count-badge,
body.oxy-halloween-page:not(.oxy-halloween-subcategory)
.oxy-halloween-listing-sidebar #filters label .filter-count {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 26px !important;
    height: 20px !important;
    margin: 0 0 0 auto !important;
    padding: 0 7px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #f3a35c !important;
    background-color: #f3a35c !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    opacity: 1 !important;
    font-size: 12px !important;
    line-height: 20px !important;
    font-weight: 700 !important;
    text-shadow: none !important;
    box-shadow: none !important;
}

/* Hover: pouze text oranžový. Count badge zustava naprosto stejny. */
@media (hover: hover) and (pointer: fine) {
    body.oxy-halloween-page:not(.oxy-halloween-subcategory)
    .oxy-halloween-listing-sidebar #filters label.filter-label:hover,
    body.oxy-halloween-page:not(.oxy-halloween-subcategory)
    .oxy-halloween-listing-sidebar #filters a:hover,
    body.oxy-halloween-page:not(.oxy-halloween-subcategory)
    .oxy-halloween-listing-sidebar #filters .filter-section h3:hover,
    body.oxy-halloween-page:not(.oxy-halloween-subcategory)
    .oxy-halloween-listing-sidebar #filters .filter-section h4:hover {
        color: #ff8f2a !important;
    }

    body.oxy-halloween-page:not(.oxy-halloween-subcategory)
    .oxy-halloween-listing-sidebar #filters label.filter-label:hover .oxy-filter-count-badge,
    body.oxy-halloween-page:not(.oxy-halloween-subcategory)
    .oxy-halloween-listing-sidebar #filters label.filter-label:hover .filter-count,
    body.oxy-halloween-page:not(.oxy-halloween-subcategory)
    .oxy-halloween-listing-sidebar #filters label:hover .oxy-filter-count-badge,
    body.oxy-halloween-page:not(.oxy-halloween-subcategory)
    .oxy-halloween-listing-sidebar #filters label:hover .filter-count {
        background: #f3a35c !important;
        background-color: #f3a35c !important;
        color: #fff !important;
        -webkit-text-fill-color: #fff !important;
    }
}

/* ---------- DO KOSIKU: geometrie jako test, Halloween barva ---------- */
body.oxy-halloween-page #products > .product > .p .btn,
body.oxy-halloween-page #products > .product > .p .btn-cart,
body.oxy-halloween-page #products > .product > .p .add-to-cart-button,
body.oxy-halloween-page #products .p-tools .btn,
body.oxy-halloween-page #products .btn-cart,
body.oxy-halloween-page #products .add-to-cart-button {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 160px !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 auto 4px !important;
    padding: 0 20px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: #f3a35c !important;
    background-color: #f3a35c !important;
    color: #fff !important;
    box-shadow: none !important;
    font-size: 14px !important;
    line-height: 40px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    transform: none !important;
}

/* Testovaci verze nema dominantni kosik ikonu v CTA. */
body.oxy-halloween-page #products > .product > .p .btn::before,
body.oxy-halloween-page #products > .product > .p .btn-cart::before,
body.oxy-halloween-page #products > .product > .p .add-to-cart-button::before,
body.oxy-halloween-page #products .p-tools .btn::before,
body.oxy-halloween-page #products .btn-cart::before,
body.oxy-halloween-page #products .add-to-cart-button::before,
body.oxy-halloween-page #products .p-tools .btn i,
body.oxy-halloween-page #products .btn-cart i,
body.oxy-halloween-page #products .add-to-cart-button i {
    display: none !important;
}

@media (hover: hover) and (pointer: fine) {
    body.oxy-halloween-page #products > .product > .p .btn:hover,
    body.oxy-halloween-page #products > .product > .p .btn-cart:hover,
    body.oxy-halloween-page #products > .product > .p .add-to-cart-button:hover,
    body.oxy-halloween-page #products .p-tools .btn:hover,
    body.oxy-halloween-page #products .btn-cart:hover,
    body.oxy-halloween-page #products .add-to-cart-button:hover {
        background: #ff8f2a !important;
        background-color: #ff8f2a !important;
        color: #fff !important;
        box-shadow: none !important;
    }
}

/* ---------- FINALNI 10 PX PRO BEZNE HRANATE PRVKY ---------- */
body.oxy-halloween-page .oxy-halloween-cta,
body.oxy-halloween-page #products > .product > .p,
body.oxy-halloween-page #products > .product > .p .p-image,
body.oxy-halloween-page #products > .product > .p .image,
body.oxy-halloween-page #products > .product > .p .image-wrapper,
body.oxy-halloween-page #products > .product > .p .p-image a,
body.oxy-halloween-page #products > .product > .p .image a,
body.oxy-halloween-page #products > .product > .p .image-wrapper a,
body.oxy-halloween-page #filters,
body.oxy-halloween-page .listingControls .btn,
body.oxy-halloween-page .listingControls button,
body.oxy-halloween-page .listingControls a,
body.oxy-halloween-page .pagination-wrapper a,
body.oxy-halloween-page .pagination-wrapper button,
body.oxy-halloween-page .pagination a,
body.oxy-halloween-page .pagination button,
body.oxy-halloween-page .listSorting .listSorting__control,
body.oxy-halloween-page .listSorting a,
body.oxy-halloween-page .listSorting button {
    border-radius: 10px !important;
}

/* =========================================================
   OXYBAG - HALLOWEEN V13
   FINALNI RADKOVANI FILTRU PODLE SKUTECNEHO SHOPTET DOM
   Struktura: .filter-section > .param-filter-top > form > fieldset > div > input + label
   ========================================================= */

/* Shoptet nektere filter fieldsety sklada do flex/gridu. Zrusime to natvrdo. */
body.oxy-halloween-page #filters .filter-section-boolean .param-filter-top,
body.oxy-halloween-page #filters .filter-section-boolean .param-filter-top > form,
body.oxy-halloween-page #filters .filter-section-boolean fieldset,
body.oxy-halloween-page #filters .filter-section-parametric > form,
body.oxy-halloween-page #filters .filter-section-parametric fieldset {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: none !important;
    grid-auto-flow: row !important;
    column-count: 1 !important;
    columns: auto !important;
    gap: 0 !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    float: none !important;
    clear: both !important;
}

/* KAZDA VOLBA = JEDEN RADek. Tohle je presne wrapper, ktery ukazala konzole. */
body.oxy-halloween-page #filters .filter-section-boolean fieldset > div,
body.oxy-halloween-page #filters .filter-section-parametric fieldset > div {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 7px !important;
    padding: 0 !important;
    float: none !important;
    clear: both !important;
    position: relative !important;
}

body.oxy-halloween-page #filters .filter-section-boolean fieldset > div:last-child,
body.oxy-halloween-page #filters .filter-section-parametric fieldset > div:last-child {
    margin-bottom: 0 !important;
}

/* Label zabere celou sirku radku: text vlevo, pocet vpravo. */
body.oxy-halloween-page #filters .filter-section-boolean fieldset > div > label.filter-label,
body.oxy-halloween-page #filters .filter-section-parametric fieldset > div > label.filter-label,
body.oxy-halloween-page #filters .filter-section-boolean fieldset > div > label,
body.oxy-halloween-page #filters .filter-section-parametric fieldset > div > label {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-right: 0 !important;
    flex: none !important;
    float: none !important;
    clear: both !important;
    white-space: normal !important;
}

/* Count zustava vpravo a nikdy neshodi text do dalsiho sloupce. */
body.oxy-halloween-page #filters .filter-section-boolean fieldset > div > label .filter-count,
body.oxy-halloween-page #filters .filter-section-parametric fieldset > div > label .filter-count,
body.oxy-halloween-page #filters .filter-section-boolean fieldset > div > label .oxy-filter-count-badge,
body.oxy-halloween-page #filters .filter-section-parametric fieldset > div > label .oxy-filter-count-badge {
    margin-left: auto !important;
    flex: 0 0 auto !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

/* Hover: jen text labelu do syte oranzove, badge zustava beze zmeny. */
@media (hover: hover) and (pointer: fine) {
    body.oxy-halloween-page #filters .filter-section-boolean fieldset > div > label:hover,
    body.oxy-halloween-page #filters .filter-section-parametric fieldset > div > label:hover {
        color: #ff8f2a !important;
    }

    body.oxy-halloween-page #filters .filter-section-boolean fieldset > div > label:hover .filter-count,
    body.oxy-halloween-page #filters .filter-section-parametric fieldset > div > label:hover .filter-count,
    body.oxy-halloween-page #filters .filter-section-boolean fieldset > div > label:hover .oxy-filter-count-badge,
    body.oxy-halloween-page #filters .filter-section-parametric fieldset > div > label:hover .oxy-filter-count-badge {
        background: #f3a35c !important;
        background-color: #f3a35c !important;
        color: #fff !important;
        -webkit-text-fill-color: #fff !important;
    }
}

/* =========================================================
   OXYBAG - HALLOWEEN V14
   OPRAVA KOMPATIBILITY S DOPLNKEM FILTRU
   - nikdy nenutime form/fieldset/sekci do display:block
   - addon si tak muze sam ridit sbaleni/rozbaleni pres display:none
   - radkovani voleb zustava zachovane pouze na vnitrnich wrapper ech
   ========================================================= */

/* Nezasahovat do display stavu, ktery ridi Shoptet/doplnek.
   Jen urcime rozlozeni pro okamzik, kdy je obsah otevreny. */
body.oxy-halloween-page #filters .filter-section-parametric > form,
body.oxy-halloween-page #filters .filter-section-parametric fieldset,
body.oxy-halloween-page #filters .filter-section-boolean .param-filter-top,
body.oxy-halloween-page #filters .filter-section-boolean .param-filter-top > form,
body.oxy-halloween-page #filters .filter-section-boolean fieldset {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
    flex-direction: column !important;
    column-count: 1 !important;
    columns: auto !important;
    gap: 0 !important;
    float: none !important;
    clear: both !important;
}

/* Sbalovaci nadpisy zustavaji plne klikatelne. */
body.oxy-halloween-page #filters .filter-section-parametric > h4,
body.oxy-halloween-page #filters .filter-section-price > h4,
body.oxy-halloween-page #filters .filter-section h4 {
    cursor: pointer !important;
    user-select: none;
}

/* Jednotlive volby jsou porad pod sebou, ale pouze uvnitr prave otevreneho fieldsetu. */
body.oxy-halloween-page #filters .filter-section-boolean fieldset > div,
body.oxy-halloween-page #filters .filter-section-parametric fieldset > div {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
}



/* =========================================================
   OXYBAG - HALLOWEEN V15
   Na Halloween kategorii a jejich podkategoriich nechceme
   kategoriove konkurencni vyhody pod produktovym vypisem.
   ========================================================= */
body.oxy-halloween-page .benefitBanner:not(.position--benefitHomepage):not(.position--benefitProduct),
body.oxy-halloween-page .benefitBanner.oxy-category-benefits {
    display: none !important;
}

/* =========================================================
   OXYBAG - HALLOWEEN V16
   Strana 2+ = stejny Halloween listing jako prvni strana,
   pouze bez velkeho hero banneru.
   + Instagram nadpis/text je na tmavem pozadi bily.
   ========================================================= */

/* Na dalsich stranach se velky banner nesmi zobrazit ani kdyby jej Shoptet vlozil. */
body.oxy-halloween-pagination .oxy-halloween-simple,
body.oxy-halloween-pagination .oxy-halloween-hero-animated {
    display: none !important;
}

/* Generovane podkategorie na strana 2+ maji stejny rytmus jako na prvni strane. */
body.oxy-halloween-pagination .oxy-halloween-generated-icons {
    margin-top: 26px !important;
    margin-bottom: 10px !important;
}

/* Na dalsich stranach schovame klasicky kategoriovy H1; nas Halloween nadpis zustava. */
body.oxy-halloween-pagination .content > h1.oxy-hide-on-halloween,
body.oxy-halloween-pagination .content .category-title.oxy-hide-on-halloween,
body.oxy-halloween-pagination #content > h1.oxy-hide-on-halloween {
    display: none !important;
}

/* Instagram blok je na Halloween pozadi tmavy, proto musi byt text a ikona bile. */
body.oxy-halloween-page .custom-footer__instagram,
body.oxy-halloween-page .custom-footer__instagram .instagram-follow-btn,
body.oxy-halloween-page .custom-footer__instagram .instagram-follow-btn a,
body.oxy-halloween-page .custom-footer__instagram a,
body.oxy-halloween-page .custom-footer__instagram span,
body.oxy-halloween-page .custom-footer__instagram p,
body.oxy-halloween-page .custom-footer__instagram h2,
body.oxy-halloween-page .custom-footer__instagram h3 {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

body.oxy-halloween-page .custom-footer__instagram svg,
body.oxy-halloween-page .custom-footer__instagram svg * {
    color: #fff !important;
    fill: currentColor;
    stroke: currentColor;
}

/* Pokud sablona vykresluje Instagram ikonu pres pseudo-element/font ikonu. */
body.oxy-halloween-page .custom-footer__instagram .instagram-follow-btn::before,
body.oxy-halloween-page .custom-footer__instagram .instagram-follow-btn a::before {
    color: #fff !important;
}

/* =========================================================
   OXYBAG - HALLOWEEN V17
   Robustni inicializace strana-2+ po pozdnim Shoptet renderu.
   ========================================================= */
body.oxy-halloween-pagination .oxy-halloween-generated-icons,
body.oxy-halloween-pagination .oxy-halloween-listing-layout,
body.oxy-halloween-pagination .oxy-halloween-products-title {
    visibility: visible !important;
}

/* =========================================================
   OXYBAG - HALLOWEEN DESIGN SYNC V18
   - podkategorie + "Strasidelne dobry vyber" ve stejnem gridu jako produkty
   - strana 2+ ma stejnou vzdušnost jako hlavni Halloween listing
   - filtr a karty zacinaji ve stejne rovine
   ========================================================= */

/* Sdileny header ma uplne stejnou mrizku jako listing pod nim. */
body.oxy-halloween-main-listing .oxy-halloween-listing-header {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 250px minmax(0, 1fr) !important;
    gap: 28px !important;
    width: min(1280px, calc(100% - 48px)) !important;
    margin: 48px auto 18px !important;
    padding: 0 !important;
    align-items: end !important;
    background: transparent !important;
}

body.oxy-halloween-main-listing .oxy-halloween-listing-header-spacer {
    grid-column: 1 !important;
    min-width: 0 !important;
}

body.oxy-halloween-main-listing .oxy-halloween-listing-header-main {
    grid-column: 2 !important;
    min-width: 0 !important;
}

/* Na dalsich stranach neni hero, proto doprejeme stejny vizualni nadech jako mezi hero a ikonami na prvni strane. */
body.oxy-halloween-pagination .oxy-halloween-listing-header {
    margin-top: 58px !important;
}

/* Ikony jsou centrovane presne nad produktovym sloupcem. */
body.oxy-halloween-main-listing .oxy-halloween-listing-header .oxy-halloween-icons-wrap {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
}

body.oxy-halloween-main-listing .oxy-halloween-listing-header .oxy-halloween-icons-grid {
    width: 100% !important;
    max-width: 860px !important;
    margin: 0 auto !important;
    gap: 14px !important;
}

/* Nadpis a obe oranzove linky pouzivaji celou sirku stejneho produktoveho sloupce. */
body.oxy-halloween-main-listing .oxy-halloween-listing-header .oxy-halloween-products-title {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    left: auto !important;
    position: static !important;
}

/* Samotny listing musi mit identickou mrizku jako header. */
body.oxy-halloween-main-listing .oxy-halloween-listing-layout {
    grid-template-columns: 250px minmax(0, 1fr) !important;
    gap: 28px !important;
    width: min(1280px, calc(100% - 48px)) !important;
    margin-top: 0 !important;
    align-items: start !important;
}

body.oxy-halloween-main-listing .oxy-halloween-listing-sidebar {
    padding-top: 0 !important;
    margin-top: 0 !important;
    align-self: start !important;
}

body.oxy-halloween-main-listing .oxy-halloween-listing-main,
body.oxy-halloween-main-listing .oxy-halloween-listing-main #products.products {
    margin-top: 0 !important;
}

@media (min-width: 992px) and (max-width: 1249px) {
    body.oxy-halloween-main-listing .oxy-halloween-listing-header,
    body.oxy-halloween-main-listing .oxy-halloween-listing-layout {
        grid-template-columns: 225px minmax(0, 1fr) !important;
        gap: 20px !important;
        width: calc(100% - 32px) !important;
    }
}

@media (max-width: 991px) {
    body.oxy-halloween-main-listing .oxy-halloween-listing-header {
        display: block !important;
        width: calc(100% - 24px) !important;
        margin: 30px auto 16px !important;
    }

    body.oxy-halloween-pagination .oxy-halloween-listing-header {
        margin-top: 34px !important;
    }

    body.oxy-halloween-main-listing .oxy-halloween-listing-header-spacer {
        display: none !important;
    }

    body.oxy-halloween-main-listing .oxy-halloween-listing-header-main {
        width: 100% !important;
    }
}



/* =========================================================
   OXYBAG - HALLOWEEN V19
   Filtr se na desktopu zarovnava JS podle realne horni hrany prvni karty.
   ========================================================= */
@media (min-width: 992px) {
    body.oxy-halloween-main-listing .oxy-halloween-listing-sidebar > #filters-wrapper,
    body.oxy-halloween-main-listing .oxy-halloween-listing-sidebar > .filters-wrapper {
        transform-origin: top left !important;
    }
}

/* =========================================================
   OXYBAG - HALLOWEEN V22 - PODKATEGORIE
   - cisty sidebar pouze s filtrem
   - citelny horni popis
   - filtr zarovnany s prvni produktovou kartou
   - bez Nejprodavanejsiho a horniho razeni
   ========================================================= */

/* Horni obsah podkategorie musi byt citelny na tmavem Halloween pozadi. */
body.oxy-halloween-subcategory .content > h1,
body.oxy-halloween-subcategory .content .category-header h1,
body.oxy-halloween-subcategory .content .category-title,
body.oxy-halloween-subcategory .content > h2,
body.oxy-halloween-subcategory .content > h3,
body.oxy-halloween-subcategory .category-perex,
body.oxy-halloween-subcategory .category-perex *,
body.oxy-halloween-subcategory .category-description,
body.oxy-halloween-subcategory .category-description *,
body.oxy-halloween-subcategory .category-description-wrapper,
body.oxy-halloween-subcategory .category-description-wrapper * {
    color: #f7f4f8 !important;
    text-shadow: none !important;
}

body.oxy-halloween-subcategory .category-perex a,
body.oxy-halloween-subcategory .category-description a,
body.oxy-halloween-subcategory .category-description-wrapper a {
    color: #f3a35c !important;
}

body.oxy-halloween-subcategory .content > h1,
body.oxy-halloween-subcategory .content .category-header h1,
body.oxy-halloween-subcategory .content .category-title {
    margin-bottom: 22px !important;
}

/* Klasicky strom Kategorie z sidebaru se na Halloween podkategorii nepouziva. */
body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar > .oxy-hide-on-halloween,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar #categories,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar .categories,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar .box-categories,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar .category-menu,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar .category-menu-wrapper {
    display: none !important;
}

/* Desktop: stejny rytmus jako hlavni Halloween listing. */
@media (min-width: 992px) {
    body.oxy-halloween-subcategory .content-wrapper-in {
        display: grid !important;
        grid-template-columns: 250px minmax(0, 1fr) !important;
        column-gap: 28px !important;
        align-items: start !important;
        width: min(1280px, calc(100% - 48px)) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar,
    body.oxy-halloween-subcategory .sidebar.oxy-halloween-subcategory-sidebar,
    body.oxy-halloween-subcategory aside.oxy-halloween-subcategory-sidebar,
    body.oxy-halloween-subcategory #sidebar.oxy-halloween-subcategory-sidebar {
        width: 250px !important;
        min-width: 250px !important;
        max-width: 250px !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    body.oxy-halloween-subcategory .content {
        min-width: 0 !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }
}

/* Standardni bestseller a horni razeni do vlastniho Halloween listingu nepatri. */
body.oxy-halloween-subcategory .top-products-wrapper,
body.oxy-halloween-subcategory .top-products,
body.oxy-halloween-subcategory .products-top,
body.oxy-halloween-subcategory .category-top-products,
body.oxy-halloween-subcategory .product-slider-holder,
body.oxy-halloween-subcategory .ordering,
body.oxy-halloween-subcategory .ordering-form,
body.oxy-halloween-subcategory .sorting,
body.oxy-halloween-subcategory .sorting-tabs,
body.oxy-halloween-subcategory .listSorting:not(.oxy-filter-sort),
body.oxy-halloween-subcategory .show-all-products,
body.oxy-halloween-subcategory .show-all-products-wrapper {
    display: none !important;
}

/* Nas nadpis nad produkty v podkategorii. */
body.oxy-halloween-subcategory .oxy-halloween-products-title {
    max-width: none !important;
    width: 100% !important;
    margin: 24px 0 20px !important;
}

/* Filtr - stejny vzhled jako odladeny hlavni Halloween filtr. */
body.oxy-halloween-subcategory #filters-wrapper,
body.oxy-halloween-subcategory .filters-wrapper {
    width: 100% !important;
    padding: 0 !important;
    transform: none !important;
    background: transparent !important;
}

body.oxy-halloween-subcategory #filters {
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 16px 16px 12px !important;
    border: 1px solid rgba(242,140,40,.68) !important;
    border-radius: 10px !important;
    background: #0b0710 !important;
    background-image: none !important;
    box-shadow: none !important;
    color: #fff !important;
    overflow: hidden !important;
}

body.oxy-halloween-subcategory #filters > *,
body.oxy-halloween-subcategory #filters > * > *,
body.oxy-halloween-subcategory #filters .filter-section,
body.oxy-halloween-subcategory #filters .filter-section-boolean,
body.oxy-halloween-subcategory #filters .filter-section-parametric,
body.oxy-halloween-subcategory #filters .filter-section-price,
body.oxy-halloween-subcategory #filters .filter-section-content,
body.oxy-halloween-subcategory #filters .filter-section__content,
body.oxy-halloween-subcategory #filters .filter-content,
body.oxy-halloween-subcategory #filters form,
body.oxy-halloween-subcategory #filters fieldset,
body.oxy-halloween-subcategory #filters ul,
body.oxy-halloween-subcategory #filters li,
body.oxy-halloween-subcategory #filters .param-filter,
body.oxy-halloween-subcategory #filters .advanced-parameter {
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

/* Jedna volba = jeden radek, bez naruseni collapse pluginu. */
body.oxy-halloween-subcategory #filters .filter-section-boolean fieldset > div,
body.oxy-halloween-subcategory #filters .filter-section-parametric fieldset > div {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 5px 0 !important;
    float: none !important;
    clear: both !important;
    box-sizing: border-box !important;
}

body.oxy-halloween-subcategory #filters .filter-section-boolean fieldset > div > label,
body.oxy-halloween-subcategory #filters .filter-section-parametric fieldset > div > label {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: rgba(255,255,255,.94) !important;
    line-height: 1.35 !important;
}

body.oxy-halloween-subcategory #filters .filter-count,
body.oxy-halloween-subcategory #filters .oxy-filter-count-badge,
body.oxy-halloween-subcategory #filters .filter-section-count,
body.oxy-halloween-subcategory #filters .advanced-parameter-count,
body.oxy-halloween-subcategory #filters .count {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    min-width: 26px !important;
    height: 20px !important;
    padding: 0 7px !important;
    margin-left: auto !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #f3a35c !important;
    color: #fff !important;
    font-size: 12px !important;
    line-height: 20px !important;
    font-weight: 700 !important;
}

body.oxy-halloween-subcategory #filters h3,
body.oxy-halloween-subcategory #filters h4,
body.oxy-halloween-subcategory #filters label,
body.oxy-halloween-subcategory #filters a,
body.oxy-halloween-subcategory #filters span,
body.oxy-halloween-subcategory #filters p {
    color: rgba(255,255,255,.92) !important;
}

@media (hover: hover) and (pointer: fine) {
    body.oxy-halloween-subcategory #filters label:hover,
    body.oxy-halloween-subcategory #filters label:hover span:not(.filter-count):not(.oxy-filter-count-badge):not(.count),
    body.oxy-halloween-subcategory #filters a:hover {
        color: #ff8f2a !important;
    }

    body.oxy-halloween-subcategory #filters label:hover .filter-count,
    body.oxy-halloween-subcategory #filters label:hover .oxy-filter-count-badge,
    body.oxy-halloween-subcategory #filters label:hover .count {
        background: #f3a35c !important;
        color: #fff !important;
    }
}

/* Collapse nadpisy filtru musi zustat funkcni a citelne. */
body.oxy-halloween-subcategory #filters .filter-section h4,
body.oxy-halloween-subcategory #filters .filter-section > h4,
body.oxy-halloween-subcategory #filters .filter-section > h3 {
    color: #fff !important;
    border-color: rgba(255,255,255,.34) !important;
}

body.oxy-halloween-subcategory #filters .ui-slider,
body.oxy-halloween-subcategory #filters .slider,
body.oxy-halloween-subcategory #filters [class*="slider-track"],
body.oxy-halloween-subcategory #filters [class*="range-track"] {
    background-color: rgba(255,255,255,.22) !important;
}

body.oxy-halloween-subcategory #filters .ui-slider-handle,
body.oxy-halloween-subcategory #filters .slider-handle,
body.oxy-halloween-subcategory #filters [class*="slider"] [class*="handle"] {
    border-radius: 50% !important;
    background: #ff8f2a !important;
    border-color: #ff8f2a !important;
}

@media (max-width: 991px) {
    body.oxy-halloween-subcategory .content-wrapper-in {
        display: block !important;
        width: auto !important;
        margin: 0 !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin-bottom: 20px !important;
    }

    body.oxy-halloween-subcategory #filters-wrapper,
    body.oxy-halloween-subcategory .filters-wrapper {
        margin-top: 0 !important;
    }
}

/* =========================================================
   OXYBAG - HALLOWEEN V23
   - skutecne schovani legacy prvku i na podkategoriich
   - odstraneni stareho horniho oddelovace/sidebar linky
   ========================================================= */

/* Trida se pouziva jak na hlavni kategorii, tak na podkategoriich.
   Drive byla display:none navazana jen na hlavni /halloween/. */
body.oxy-halloween-page .oxy-hide-on-halloween {
    display: none !important;
}

/* Na Halloween podkategoriich nechceme zadnou puvodni linku nad levym filtrem. */
body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar.sidebar,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar aside.sidebar,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar #sidebar,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar #filters-wrapper,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar .filters-wrapper {
    border-top: 0 !important;
    box-shadow: none !important;
}

body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar::before,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar::after,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar #filters-wrapper::before,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar #filters-wrapper::after,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar .filters-wrapper::before,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar .filters-wrapper::after {
    content: none !important;
    display: none !important;
}

body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar > hr,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar .box > hr {
    display: none !important;
}

/* =========================================================
   OXYBAG - HALLOWEEN V24
   PODKATEGORIE: FILTR 1:1 S HLAVNI HALLOWEEN KATEGORII
   - 250px panel na desktopu bez vnitrniho Shoptet odsazeni
   - bez viditelnych kolecek pred nazvy (stejne jako hlavni listing)
   - text/count rozlozeni stejne jako hlavni filtr
   - odstraneni zbytkove horni linky z wrapperu sidebaru
   - collapse doplnek zustava nedotceny
   ========================================================= */

/* Vsechny obaly mezi sidebarem a #filters-wrapper jsou jen konstrukcni.
   Zadna linka, padding, bile pozadi ani pseudo-prvek. */
body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar .oxy-halloween-filter-shell,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar .sidebar-inner,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar .box,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar .box-bg-variant {
    box-sizing: border-box !important;
    border: 0 !important;
    border-top: 0 !important;
    outline: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar .oxy-halloween-filter-shell::before,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar .oxy-halloween-filter-shell::after,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar .sidebar-inner::before,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar .sidebar-inner::after,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar .box::before,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar .box::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
}

body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar hr,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar > .line,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar > .separator {
    display: none !important;
}

@media (min-width: 992px) {
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar .oxy-halloween-filter-shell,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar #filters-wrapper,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar .filters-wrapper,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar #filters {
        box-sizing: border-box !important;
        width: 250px !important;
        min-width: 250px !important;
        max-width: 250px !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar #filters-wrapper,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar .filters-wrapper {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* Samotny panel: stejna geometrie jako hlavni Halloween filtr. */
body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar #filters {
    padding: 16px 16px 12px !important;
    border: 1px solid rgba(242,140,40,.68) !important;
    border-radius: 10px !important;
    background: #0b0710 !important;
    background-image: none !important;
    color: #fff !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

/* Volby pod sebou; nedotykame se display stavu form/fieldsetu, aby fungoval collapse addon. */
body.oxy-halloween-subcategory #filters .filter-section-boolean fieldset > div,
body.oxy-halloween-subcategory #filters .filter-section-parametric fieldset > div {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 7px !important;
    padding: 0 !important;
    float: none !important;
    clear: both !important;
    position: relative !important;
}

body.oxy-halloween-subcategory #filters .filter-section-boolean fieldset > div:last-child,
body.oxy-halloween-subcategory #filters .filter-section-parametric fieldset > div:last-child {
    margin-bottom: 0 !important;
}

/* Stejna textova osa jako hlavni filtr: rezervujeme vlevo misto, ale marker nekreslime. */
body.oxy-halloween-subcategory #filters .filter-section-boolean fieldset > div > label.filter-label,
body.oxy-halloween-subcategory #filters .filter-section-parametric fieldset > div > label.filter-label,
body.oxy-halloween-subcategory #filters .filter-section-boolean fieldset > div > label,
body.oxy-halloween-subcategory #filters .filter-section-parametric fieldset > div > label {
    box-sizing: border-box !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 24px !important;
    margin: 0 !important;
    padding: 0 0 0 26px !important;
    color: rgba(255,255,255,.94) !important;
    line-height: 1.25 !important;
    cursor: pointer !important;
    white-space: normal !important;
}

/* Native input je dostupny pres label, ale vizualne se nepouziva. */
body.oxy-halloween-subcategory #filters input[type="checkbox"],
body.oxy-halloween-subcategory #filters input[type="radio"],
body.oxy-halloween-subcategory #filters-wrapper input[type="checkbox"],
body.oxy-halloween-subcategory #filters-wrapper input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    pointer-events: none !important;
}

/* Prave tohle odstrani kruhy, ktere podkategorie zdedila ze stare V6 vrstvy. */
body.oxy-halloween-subcategory #filters label.filter-label::before,
body.oxy-halloween-subcategory #filters label.filter-label::after,
body.oxy-halloween-subcategory #filters input + label::before,
body.oxy-halloween-subcategory #filters input + label::after,
body.oxy-halloween-subcategory #filters-wrapper input + label::before,
body.oxy-halloween-subcategory #filters-wrapper input + label::after {
    content: none !important;
    display: none !important;
}

/* Count badge 1:1 s hlavni kategorii. */
body.oxy-halloween-subcategory #filters label .filter-count,
body.oxy-halloween-subcategory #filters label .oxy-filter-count-badge,
body.oxy-halloween-subcategory #filters label .filter-section-count,
body.oxy-halloween-subcategory #filters label .advanced-parameter-count,
body.oxy-halloween-subcategory #filters label .count {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    min-width: 26px !important;
    height: 20px !important;
    margin: 0 0 0 auto !important;
    padding: 0 7px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #f3a35c !important;
    background-color: #f3a35c !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    opacity: 1 !important;
    font-size: 12px !important;
    line-height: 20px !important;
    font-weight: 700 !important;
    text-shadow: none !important;
    box-shadow: none !important;
}

body.oxy-halloween-subcategory #filters input:disabled + label {
    color: rgba(255,255,255,.45) !important;
    opacity: 1 !important;
}

@media (hover: hover) and (pointer: fine) {
    body.oxy-halloween-subcategory #filters label.filter-label:hover,
    body.oxy-halloween-subcategory #filters label:hover,
    body.oxy-halloween-subcategory #filters a:hover,
    body.oxy-halloween-subcategory #filters .filter-section h3:hover,
    body.oxy-halloween-subcategory #filters .filter-section h4:hover {
        color: #ff8f2a !important;
    }

    body.oxy-halloween-subcategory #filters label:hover .filter-count,
    body.oxy-halloween-subcategory #filters label:hover .oxy-filter-count-badge,
    body.oxy-halloween-subcategory #filters label:hover .filter-section-count,
    body.oxy-halloween-subcategory #filters label:hover .advanced-parameter-count,
    body.oxy-halloween-subcategory #filters label:hover .count {
        background: #f3a35c !important;
        color: #fff !important;
        -webkit-text-fill-color: #fff !important;
    }
}

@media (max-width: 991px) {
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar .oxy-halloween-filter-shell,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar #filters-wrapper,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar .filters-wrapper,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-sidebar #filters {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }
}



/* =========================================================
   OXYBAG - HALLOWEEN V25
   POLOZEK K ZOBRAZENI = POUZE POMOCNY TEXT, BEZ BADGE
   ========================================================= */
body.oxy-halloween-page #filters .oxy-filter-items-total,
body.oxy-halloween-page #filters .oxy-filter-items-total *,
body.oxy-halloween-page #filters-wrapper .oxy-filter-items-total,
body.oxy-halloween-page #filters-wrapper .oxy-filter-items-total * {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    color: rgba(255,255,255,.45) !important;
    -webkit-text-fill-color: rgba(255,255,255,.45) !important;
    text-shadow: none !important;
}

body.oxy-halloween-page #filters .oxy-filter-items-total,
body.oxy-halloween-page #filters-wrapper .oxy-filter-items-total {
    display: block !important;
    width: 100% !important;
    margin-top: 8px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
}

/* =========================================================
   OXYBAG - HALLOWEEN V26 - MOBILNI HERO
   Samostatny mobilni banner ma vlastni prirozeny pomer stran.
   ========================================================= */
@media (max-width: 600px) {
    body.oxy-halloween-page .oxy-halloween-simple {
        height: auto !important;
        min-height: 0 !important;
    }

    body.oxy-halloween-page .oxy-halloween-bg {
        width: 100vw !important;
        max-width: none !important;
        height: auto !important;
        object-fit: contain !important;
        object-position: center center !important;
    }
}

/* =========================================================
   OXYBAG - HALLOWEEN V27 - VETSI TEXT + CTA NA MOBILU
   ========================================================= */
@media (max-width: 600px) {
    body.oxy-halloween-page .oxy-halloween-claim-box {
        left: 18% !important;
        bottom: 22.5% !important;
        width: 44% !important;
    }

    body.oxy-halloween-page .oxy-halloween-claim-title {
        font-size: clamp(11px, 2.8vw, 14px) !important;
        line-height: 1.08 !important;
        margin-bottom: 7px !important;
    }

    body.oxy-halloween-page .oxy-halloween-cta {
        min-height: 30px !important;
        padding: 0 14px !important;
        font-size: clamp(8px, 2.1vw, 10px) !important;
        line-height: 1 !important;
        border-radius: 10px !important;
        white-space: nowrap !important;
    }
}


/* =========================================================
   OXYBAG - HALLOWEEN V28 - MOBILNI POSUN TEXTU + 10PX CTA
   ========================================================= */
@media (max-width: 600px) {
    /* Cely textovy blok v hero posuneme o kousek niz. */
    body.oxy-halloween-page .oxy-halloween-claim-box {
        bottom: 19.5% !important;
    }

    /* Vsechna hlavni CTA na mobilu sjednotime na 10 px. */
    body.oxy-halloween-page .oxy-halloween-cta,
    body.oxy-halloween-page .filters-unveil-button-wrapper .btn,
    body.oxy-halloween-page .filters-unveil-button-wrapper .btn-default,
    body.oxy-halloween-page #products .p-tools .btn,
    body.oxy-halloween-page #products .btn-cart,
    body.oxy-halloween-page #products .add-to-cart-button,
    body.oxy-halloween-page .listingControls .btn,
    body.oxy-halloween-page .listingControls .loadMore__button,
    body.oxy-halloween-page .listingControls .goToTop__button,
    body.oxy-halloween-page .pagination-loader a,
    body.oxy-halloween-page .pagination-loader button {
        border-radius: 10px !important;
    }
}

/* =========================================================
   OXYBAG - HALLOWEEN V29 - DEKORACNI PAVUCINA
   Vyplni prazdny levy prostor mezi hero a filtrem na desktopu.
   ========================================================= */
@media (min-width: 992px) {
    body.oxy-halloween-main-listing .oxy-halloween-listing-header-spacer {
        position: relative !important;
        min-height: 185px !important;
        overflow: visible !important;
        pointer-events: none !important;
    }

    body.oxy-halloween-main-listing .oxy-halloween-listing-header-spacer::before {
        content: "" !important;
        position: absolute !important;
        z-index: 0 !important;
        left: -62px !important;
        top: -30px !important;
        width: 300px !important;
        height: 255px !important;
        background-image: url('/user/documents/design/07-HALLOWEEN/img/Halloween-pavucina.png') !important;
        background-repeat: no-repeat !important;
        background-position: left top !important;
        background-size: contain !important;
        opacity: .72 !important;
        filter: drop-shadow(0 0 10px rgba(255,143,42,.18)) !important;
        transform: rotate(-3deg) !important;
        transform-origin: 45% 45% !important;
        pointer-events: none !important;
    }
}

@media (min-width: 992px) and (max-width: 1249px) {
    body.oxy-halloween-main-listing .oxy-halloween-listing-header-spacer::before {
        left: -45px !important;
        top: -20px !important;
        width: 255px !important;
        height: 220px !important;
        opacity: .66 !important;
    }
}

@media (max-width: 991px) {
    body.oxy-halloween-main-listing .oxy-halloween-listing-header-spacer::before {
        content: none !important;
        display: none !important;
    }
}


/* =========================================================
   OXYBAG - HALLOWEEN V30 - MOBILNI SET V HERO VYS
   ========================================================= */
@media (max-width: 600px) {
    body.oxy-halloween-page .oxy-prod-set {
        bottom: 2% !important;
    }
}


/* =========================================================
   OXYBAG - HALLOWEEN V31 - VYRAZNEJSI POSUN MOBILNIHO SETU
   V30 posouvalo produkt jen velmi jemne; zde je posun viditelnejsi.
   ========================================================= */
@media (max-width: 600px) {
    body.oxy-halloween-page .oxy-halloween-products-stage .oxy-prod-set,
    body.oxy-halloween-page .oxy-prod-set {
        bottom: 7% !important;
        transform: translateY(-8px) !important;
    }
}

/* =========================================================
   OXYBAG - HALLOWEEN V32
   - mobilni dinosauri set o trochu vetsi
   - stare CSS netopyry nahrazeny Lottie animaci
   ========================================================= */

/* Puvodni maskove dekorace uz nepouzivame. */
body.oxy-halloween-page .oxy-bats {
    display: none !important;
}

/* Mobilni produkt v hero: zachovat posun nahoru a lehce zvetsit. */
@media (max-width: 600px) {
    body.oxy-halloween-page .oxy-halloween-products-stage .oxy-prod-set,
    body.oxy-halloween-page .oxy-prod-set {
        width: 30% !important;
        left: 61% !important;
        bottom: 7% !important;
        transform: translateY(-10px) !important;
    }
}

/* Lottie netopyri - samostatna fixed dekoracni vrstva. */
body.oxy-halloween-page .oxy-lottie-bats {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    overflow: hidden !important;
    pointer-events: none !important;
    z-index: 45 !important;
}

body.oxy-halloween-page .oxy-lottie-bat {
    position: absolute !important;
    display: block !important;
    pointer-events: none !important;
    will-change: transform;
}

body.oxy-halloween-page .oxy-lottie-bat-inner,
body.oxy-halloween-page .oxy-lottie-bat-inner > svg {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    overflow: visible !important;
}

body.oxy-halloween-page .oxy-lottie-bat-inner {
    filter: drop-shadow(0 0 3px rgba(242,140,40,.42));
}

body.oxy-halloween-page .oxy-lottie-bat.is-flipped .oxy-lottie-bat-inner {
    transform: scaleX(-1) !important;
}

body.oxy-halloween-page .oxy-lottie-bat--1 {
    left: -110px !important;
    top: 28% !important;
    width: 82px !important;
    height: 82px !important;
    opacity: .82 !important;
    animation: oxyLottieBatFlight1 18s linear infinite !important;
    animation-delay: -4s !important;
}

body.oxy-halloween-page .oxy-lottie-bat--2 {
    right: -105px !important;
    top: 43% !important;
    width: 62px !important;
    height: 62px !important;
    opacity: .68 !important;
    animation: oxyLottieBatFlight2 22s linear infinite !important;
    animation-delay: -12s !important;
}

body.oxy-halloween-page .oxy-lottie-bat--3 {
    left: -95px !important;
    top: 67% !important;
    width: 48px !important;
    height: 48px !important;
    opacity: .58 !important;
    animation: oxyLottieBatFlight3 24s linear infinite !important;
    animation-delay: -17s !important;
}

body.oxy-halloween-page .oxy-lottie-bat--4 {
    right: -120px !important;
    top: 76% !important;
    width: 72px !important;
    height: 72px !important;
    opacity: .74 !important;
    animation: oxyLottieBatFlight4 20s linear infinite !important;
    animation-delay: -7s !important;
}

@keyframes oxyLottieBatFlight1 {
    0%   { transform: translate3d(0, 40px, 0) rotate(-7deg); }
    24%  { transform: translate3d(28vw, -18px, 0) rotate(2deg); }
    52%  { transform: translate3d(58vw, 26px, 0) rotate(-3deg); }
    76%  { transform: translate3d(87vw, -36px, 0) rotate(3deg); }
    100% { transform: translate3d(calc(100vw + 230px), 12px, 0) rotate(-4deg); }
}

@keyframes oxyLottieBatFlight2 {
    0%   { transform: translate3d(0, 15px, 0) rotate(6deg); }
    25%  { transform: translate3d(-27vw, -42px, 0) rotate(-2deg); }
    50%  { transform: translate3d(-55vw, 12px, 0) rotate(3deg); }
    76%  { transform: translate3d(-84vw, -24px, 0) rotate(-3deg); }
    100% { transform: translate3d(calc(-100vw - 230px), -55px, 0) rotate(4deg); }
}

@keyframes oxyLottieBatFlight3 {
    0%   { transform: translate3d(0, 55px, 0) rotate(-5deg); }
    30%  { transform: translate3d(31vw, 0, 0) rotate(3deg); }
    63%  { transform: translate3d(66vw, -38px, 0) rotate(-2deg); }
    100% { transform: translate3d(calc(100vw + 210px), -95px, 0) rotate(4deg); }
}

@keyframes oxyLottieBatFlight4 {
    0%   { transform: translate3d(0, 30px, 0) rotate(5deg); }
    30%  { transform: translate3d(-34vw, -30px, 0) rotate(-3deg); }
    62%  { transform: translate3d(-68vw, 20px, 0) rotate(2deg); }
    100% { transform: translate3d(calc(-100vw - 240px), -70px, 0) rotate(-4deg); }
}

/* Na mensich zarizenich dekorace nenechavame prekryvat obsah. */
@media (max-width: 1250px) {
    body.oxy-halloween-page .oxy-lottie-bats {
        display: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.oxy-halloween-page .oxy-lottie-bats {
        display: none !important;
    }
}



/* =========================================================
   OXYBAG - HALLOWEEN V33
   - mobilni 3ks dinosauri set lehce nize
   - 5 Lottie netopyru
   - netopyri jsou dekorace POD obsahem, nikdy pres hero / filtr / karty
   - plynulejsi, prirozenejsi trajektorie
   ========================================================= */

/* Mobilni set: po zvetseni z V32 ho vratime o cca 8-10 px nize. */
@media (max-width: 600px) {
    body.oxy-halloween-page .oxy-halloween-products-stage .oxy-prod-set,
    body.oxy-halloween-page .oxy-prod-set {
        width: 30% !important;
        left: 61% !important;
        bottom: 6% !important;
        transform: translateY(-4px) !important;
    }
}

/* Netopyri patri do pozadi. Vrstva je pod funkcnim obsahem. */
body.oxy-halloween-page .oxy-lottie-bats {
    z-index: 0 !important;
    isolation: isolate !important;
}

/* Opaque/pracovni prvky drzi nad dekoracni vrstvou. */
body.oxy-halloween-page .oxy-halloween-simple,
body.oxy-halloween-page .oxy-halloween-icons-wrap,
body.oxy-halloween-page .oxy-halloween-products-title,
body.oxy-halloween-page .oxy-halloween-listing-layout,
body.oxy-halloween-page #filters,
body.oxy-halloween-page #products > .product > .p,
body.oxy-halloween-page .breadcrumbs-wrapper,
body.oxy-halloween-page .breadcrumbs {
    position: relative !important;
    z-index: 2 !important;
}

/* Karty a filtr jsou nepruchledne, takze netopyr nemuze vizualne preletet pres ne. */
body.oxy-halloween-page #filters,
body.oxy-halloween-page #products > .product > .p {
    background-color: #08050b !important;
}

/* 5 prirozeneji rozptylenych letu. */
body.oxy-halloween-page .oxy-lottie-bat--1 {
    left: -105px !important;
    top: 19% !important;
    width: 66px !important;
    height: 66px !important;
    opacity: .58 !important;
    animation: oxyLottieBatFlightV33_1 25s linear infinite !important;
    animation-delay: -7s !important;
}

body.oxy-halloween-page .oxy-lottie-bat--2 {
    right: -96px !important;
    top: 34% !important;
    width: 48px !important;
    height: 48px !important;
    opacity: .46 !important;
    animation: oxyLottieBatFlightV33_2 30s linear infinite !important;
    animation-delay: -19s !important;
}

body.oxy-halloween-page .oxy-lottie-bat--3 {
    left: -92px !important;
    top: 53% !important;
    width: 78px !important;
    height: 78px !important;
    opacity: .62 !important;
    animation: oxyLottieBatFlightV33_3 28s linear infinite !important;
    animation-delay: -14s !important;
}

body.oxy-halloween-page .oxy-lottie-bat--4 {
    right: -112px !important;
    top: 69% !important;
    width: 58px !important;
    height: 58px !important;
    opacity: .52 !important;
    animation: oxyLottieBatFlightV33_4 32s linear infinite !important;
    animation-delay: -5s !important;
}

body.oxy-halloween-page .oxy-lottie-bat--5 {
    left: -88px !important;
    top: 82% !important;
    width: 42px !important;
    height: 42px !important;
    opacity: .40 !important;
    animation: oxyLottieBatFlightV33_5 34s linear infinite !important;
    animation-delay: -24s !important;
}

/* Jemne oblouky misto velkych cik-cak skoku. */
@keyframes oxyLottieBatFlightV33_1 {
    0%   { transform: translate3d(0, 10px, 0) rotate(-4deg); }
    14%  { transform: translate3d(15vw, -8px, 0) rotate(-1deg); }
    29%  { transform: translate3d(31vw, -20px, 0) rotate(2deg); }
    45%  { transform: translate3d(48vw, -8px, 0) rotate(1deg); }
    61%  { transform: translate3d(65vw, 9px, 0) rotate(-2deg); }
    79%  { transform: translate3d(84vw, -5px, 0) rotate(1deg); }
    100% { transform: translate3d(calc(100vw + 220px), -16px, 0) rotate(3deg); }
}

@keyframes oxyLottieBatFlightV33_2 {
    0%   { transform: translate3d(0, -4px, 0) rotate(3deg); }
    16%  { transform: translate3d(-17vw, 12px, 0) rotate(1deg); }
    33%  { transform: translate3d(-35vw, 22px, 0) rotate(-2deg); }
    50%  { transform: translate3d(-53vw, 8px, 0) rotate(-1deg); }
    68%  { transform: translate3d(-72vw, -12px, 0) rotate(2deg); }
    84%  { transform: translate3d(-89vw, -2px, 0) rotate(1deg); }
    100% { transform: translate3d(calc(-100vw - 210px), 16px, 0) rotate(-3deg); }
}

@keyframes oxyLottieBatFlightV33_3 {
    0%   { transform: translate3d(0, 16px, 0) rotate(-3deg); }
    15%  { transform: translate3d(16vw, 3px, 0) rotate(-1deg); }
    32%  { transform: translate3d(34vw, -15px, 0) rotate(2deg); }
    49%  { transform: translate3d(52vw, -23px, 0) rotate(1deg); }
    67%  { transform: translate3d(71vw, -10px, 0) rotate(-1deg); }
    84%  { transform: translate3d(89vw, 8px, 0) rotate(-2deg); }
    100% { transform: translate3d(calc(100vw + 210px), 20px, 0) rotate(2deg); }
}

@keyframes oxyLottieBatFlightV33_4 {
    0%   { transform: translate3d(0, 5px, 0) rotate(2deg); }
    17%  { transform: translate3d(-18vw, -12px, 0) rotate(-1deg); }
    35%  { transform: translate3d(-37vw, -20px, 0) rotate(-2deg); }
    53%  { transform: translate3d(-56vw, -7px, 0) rotate(1deg); }
    70%  { transform: translate3d(-74vw, 10px, 0) rotate(2deg); }
    86%  { transform: translate3d(-91vw, 3px, 0) rotate(0deg); }
    100% { transform: translate3d(calc(-100vw - 225px), -12px, 0) rotate(-3deg); }
}

@keyframes oxyLottieBatFlightV33_5 {
    0%   { transform: translate3d(0, -8px, 0) rotate(-2deg); }
    18%  { transform: translate3d(19vw, 4px, 0) rotate(1deg); }
    37%  { transform: translate3d(39vw, 15px, 0) rotate(2deg); }
    55%  { transform: translate3d(58vw, 4px, 0) rotate(0deg); }
    73%  { transform: translate3d(77vw, -13px, 0) rotate(-2deg); }
    88%  { transform: translate3d(93vw, -5px, 0) rotate(-1deg); }
    100% { transform: translate3d(calc(100vw + 205px), 10px, 0) rotate(2deg); }
}


/* =========================================================
   OXYBAG - HALLOWEEN V34
   - 8 Lottie netopyru misto 5
   - vyssi sance, ze budou prubezne videt v prazdnych plochach
   - stale pouze jako dekorace POZADI pod obsahem
   - plynule, rozdilne trasy bez velkeho cik-caku
   ========================================================= */

body.oxy-halloween-page .oxy-lottie-bat--1 {
    left: -110px !important;
    top: 17% !important;
    width: 70px !important;
    height: 70px !important;
    opacity: .62 !important;
    animation: oxyLottieBatFlightV34_1 24s linear infinite !important;
    animation-delay: -18s !important;
}

body.oxy-halloween-page .oxy-lottie-bat--2 {
    right: -95px !important;
    top: 27% !important;
    width: 46px !important;
    height: 46px !important;
    opacity: .48 !important;
    animation: oxyLottieBatFlightV34_2 29s linear infinite !important;
    animation-delay: -8s !important;
}

body.oxy-halloween-page .oxy-lottie-bat--3 {
    left: -100px !important;
    top: 39% !important;
    width: 58px !important;
    height: 58px !important;
    opacity: .55 !important;
    animation: oxyLottieBatFlightV34_3 27s linear infinite !important;
    animation-delay: -23s !important;
}

body.oxy-halloween-page .oxy-lottie-bat--4 {
    right: -120px !important;
    top: 49% !important;
    width: 78px !important;
    height: 78px !important;
    opacity: .64 !important;
    animation: oxyLottieBatFlightV34_4 31s linear infinite !important;
    animation-delay: -14s !important;
}

body.oxy-halloween-page .oxy-lottie-bat--5 {
    left: -90px !important;
    top: 60% !important;
    width: 40px !important;
    height: 40px !important;
    opacity: .42 !important;
    animation: oxyLottieBatFlightV34_5 33s linear infinite !important;
    animation-delay: -4s !important;
}

body.oxy-halloween-page .oxy-lottie-bat--6 {
    right: -105px !important;
    top: 70% !important;
    width: 64px !important;
    height: 64px !important;
    opacity: .54 !important;
    animation: oxyLottieBatFlightV34_6 26s linear infinite !important;
    animation-delay: -20s !important;
}

body.oxy-halloween-page .oxy-lottie-bat--7 {
    left: -115px !important;
    top: 79% !important;
    width: 52px !important;
    height: 52px !important;
    opacity: .46 !important;
    animation: oxyLottieBatFlightV34_7 30s linear infinite !important;
    animation-delay: -11s !important;
}

body.oxy-halloween-page .oxy-lottie-bat--8 {
    right: -100px !important;
    top: 88% !important;
    width: 72px !important;
    height: 72px !important;
    opacity: .57 !important;
    animation: oxyLottieBatFlightV34_8 35s linear infinite !important;
    animation-delay: -28s !important;
}

@keyframes oxyLottieBatFlightV34_1 {
    0%   { transform: translate3d(0, 14px, 0) rotate(-3deg); }
    20%  { transform: translate3d(22vw, 2px, 0) rotate(-1deg); }
    42%  { transform: translate3d(45vw, -13px, 0) rotate(1deg); }
    64%  { transform: translate3d(68vw, -4px, 0) rotate(2deg); }
    82%  { transform: translate3d(87vw, 10px, 0) rotate(0deg); }
    100% { transform: translate3d(calc(100vw + 225px), 3px, 0) rotate(2deg); }
}

@keyframes oxyLottieBatFlightV34_2 {
    0%   { transform: translate3d(0, -8px, 0) rotate(2deg); }
    21%  { transform: translate3d(-23vw, 4px, 0) rotate(1deg); }
    43%  { transform: translate3d(-46vw, 14px, 0) rotate(-1deg); }
    65%  { transform: translate3d(-69vw, 7px, 0) rotate(-2deg); }
    84%  { transform: translate3d(-89vw, -7px, 0) rotate(0deg); }
    100% { transform: translate3d(calc(-100vw - 215px), -1px, 0) rotate(-2deg); }
}

@keyframes oxyLottieBatFlightV34_3 {
    0%   { transform: translate3d(0, 5px, 0) rotate(-2deg); }
    18%  { transform: translate3d(20vw, -8px, 0) rotate(0deg); }
    40%  { transform: translate3d(43vw, -17px, 0) rotate(2deg); }
    63%  { transform: translate3d(67vw, -6px, 0) rotate(1deg); }
    83%  { transform: translate3d(88vw, 8px, 0) rotate(-1deg); }
    100% { transform: translate3d(calc(100vw + 220px), 0, 0) rotate(2deg); }
}

@keyframes oxyLottieBatFlightV34_4 {
    0%   { transform: translate3d(0, 12px, 0) rotate(3deg); }
    19%  { transform: translate3d(-21vw, 0, 0) rotate(1deg); }
    41%  { transform: translate3d(-44vw, -14px, 0) rotate(-1deg); }
    62%  { transform: translate3d(-66vw, -5px, 0) rotate(-2deg); }
    82%  { transform: translate3d(-87vw, 9px, 0) rotate(0deg); }
    100% { transform: translate3d(calc(-100vw - 235px), 2px, 0) rotate(-3deg); }
}

@keyframes oxyLottieBatFlightV34_5 {
    0%   { transform: translate3d(0, -5px, 0) rotate(-2deg); }
    22%  { transform: translate3d(24vw, 8px, 0) rotate(0deg); }
    45%  { transform: translate3d(48vw, 15px, 0) rotate(1deg); }
    67%  { transform: translate3d(71vw, 5px, 0) rotate(-1deg); }
    85%  { transform: translate3d(90vw, -8px, 0) rotate(-1deg); }
    100% { transform: translate3d(calc(100vw + 210px), -1px, 0) rotate(2deg); }
}

@keyframes oxyLottieBatFlightV34_6 {
    0%   { transform: translate3d(0, 6px, 0) rotate(2deg); }
    20%  { transform: translate3d(-22vw, -5px, 0) rotate(0deg); }
    43%  { transform: translate3d(-46vw, -15px, 0) rotate(-1deg); }
    66%  { transform: translate3d(-70vw, -3px, 0) rotate(1deg); }
    84%  { transform: translate3d(-89vw, 10px, 0) rotate(0deg); }
    100% { transform: translate3d(calc(-100vw - 225px), 1px, 0) rotate(-2deg); }
}

@keyframes oxyLottieBatFlightV34_7 {
    0%   { transform: translate3d(0, 10px, 0) rotate(-3deg); }
    19%  { transform: translate3d(21vw, -2px, 0) rotate(-1deg); }
    42%  { transform: translate3d(45vw, -11px, 0) rotate(1deg); }
    65%  { transform: translate3d(69vw, -2px, 0) rotate(2deg); }
    83%  { transform: translate3d(88vw, 9px, 0) rotate(0deg); }
    100% { transform: translate3d(calc(100vw + 230px), 3px, 0) rotate(2deg); }
}

@keyframes oxyLottieBatFlightV34_8 {
    0%   { transform: translate3d(0, -10px, 0) rotate(3deg); }
    21%  { transform: translate3d(-23vw, 2px, 0) rotate(1deg); }
    44%  { transform: translate3d(-47vw, 13px, 0) rotate(-1deg); }
    67%  { transform: translate3d(-71vw, 4px, 0) rotate(-2deg); }
    85%  { transform: translate3d(-90vw, -9px, 0) rotate(0deg); }
    100% { transform: translate3d(calc(-100vw - 220px), 0, 0) rotate(-2deg); }
}

/* =========================================================
   OXYBAG - HALLOWEEN V35
   - jemny hover lift produktovych karet V CELEM Halloween stromu
   - finalni potvrzeni 10px radiusu CTA na mobilu
   ========================================================= */

/* Jemny desktop hover pro vsechny Halloween produktove vypisy:
   hlavni kategorie, podkategorie i dalsi stranky vypisu. */
body.oxy-halloween-page #products > .product > .p,
body.oxy-halloween-page .products-block > .product > .p {
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
    will-change: transform;
}

@media (hover: hover) and (pointer: fine) {
    body.oxy-halloween-page #products > .product > .p:hover,
    body.oxy-halloween-page .products-block > .product > .p:hover {
        transform: translateY(-3px) !important;
        box-shadow: 0 10px 24px rgba(0,0,0,.28), 0 0 0 1px rgba(242,140,40,.10) !important;
        border-color: #ff8f2a !important;
    }
}

/* Na dotykovych zarizenich zadny "zaseknuty" hover lift. */
@media (hover: none), (pointer: coarse) {
    body.oxy-halloween-page #products > .product > .p,
    body.oxy-halloween-page #products > .product > .p:hover,
    body.oxy-halloween-page .products-block > .product > .p,
    body.oxy-halloween-page .products-block > .product > .p:hover {
        transform: none !important;
    }
}

/* Mobilni CTA opravdu finalne 10 px - vcetne OTEVRIT FILTR. */
@media (max-width: 600px) {
    body.oxy-halloween-page .oxy-halloween-cta,
    body.oxy-halloween-page .filters-unveil-button-wrapper .btn,
    body.oxy-halloween-page .filters-unveil-button-wrapper .btn-default,
    body.oxy-halloween-page #products .p-tools .btn,
    body.oxy-halloween-page #products .btn-cart,
    body.oxy-halloween-page #products .add-to-cart-button,
    body.oxy-halloween-page .products-block .p-tools .btn,
    body.oxy-halloween-page .products-block .btn-cart,
    body.oxy-halloween-page .products-block .add-to-cart-button,
    body.oxy-halloween-page .listingControls .btn,
    body.oxy-halloween-page .listingControls .loadMore__button,
    body.oxy-halloween-page .listingControls .goToTop__button,
    body.oxy-halloween-page .pagination-loader a,
    body.oxy-halloween-page .pagination-loader button {
        border-radius: 10px !important;
    }
}


/* =========================================================
   OXYBAG - HALLOWEEN V37
   Promo text presne podle zadani:
   - mensi a lehce zasedly
   - vzduch nad i pod textem
   - velmi jemne oranzove podsviceni bez viditelne pilulky
   - hlavni Halloween, pagination i vsechny podkategorie
   ========================================================= */
body.oxy-halloween-page .oxy-halloween-products-promo {
    position: relative !important;
    z-index: 2 !important;
    box-sizing: border-box !important;
    display: block !important;
    width: fit-content !important;
    max-width: min(760px, calc(100% - 32px)) !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: rgba(238,234,240,.64) !important;
    font-size: 12.5px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
    letter-spacing: .005em !important;
    text-align: center !important;
    text-shadow:
        0 0 7px rgba(242,140,40,.18),
        0 0 15px rgba(242,140,40,.08) !important;
}

/* Jen svetelna aura za textem, zadny podkladovy box. */
body.oxy-halloween-page .oxy-halloween-products-promo::before {
    content: "" !important;
    position: absolute !important;
    z-index: -1 !important;
    left: 8% !important;
    right: 8% !important;
    top: 50% !important;
    height: 26px !important;
    transform: translateY(-50%) !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: radial-gradient(ellipse at center,
        rgba(242,140,40,.13) 0%,
        rgba(242,140,40,.055) 38%,
        rgba(242,140,40,0) 74%) !important;
    filter: blur(8px) !important;
    pointer-events: none !important;
}

body.oxy-halloween-page .oxy-halloween-products-promo::after {
    content: none !important;
    display: none !important;
}

/* Hlavni Halloween a strana 2+: vic mista nad i pod promo textem. */
body.oxy-halloween-main-listing .oxy-halloween-listing-header-main .oxy-halloween-products-promo {
    margin: 13px auto 10px !important;
}

/* Header ma uz vlastni spodní mezeru 18px; s promo marginem tak vznikne
   prijemny prostor pred prvni radou karet. */
body.oxy-halloween-main-listing .oxy-halloween-listing-header {
    margin-bottom: 18px !important;
}

/* Podkategorie: stejne vizualni tempo jako hlavni listing. */
body.oxy-halloween-subcategory .oxy-halloween-products-title {
    margin-bottom: 0 !important;
}

body.oxy-halloween-subcategory .oxy-halloween-products-promo {
    margin: 13px auto 28px !important;
}

@media (max-width: 767px) {
    body.oxy-halloween-page .oxy-halloween-products-promo {
        max-width: calc(100% - 44px) !important;
        font-size: 11.5px !important;
        line-height: 1.45 !important;
        color: rgba(238,234,240,.66) !important;
    }

    body.oxy-halloween-main-listing .oxy-halloween-listing-header-main .oxy-halloween-products-promo {
        margin: 10px auto 8px !important;
    }

    body.oxy-halloween-main-listing .oxy-halloween-listing-header {
        margin-bottom: 16px !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-products-promo {
        margin: 10px auto 22px !important;
    }
}


/* =========================================================
   OXYBAG - HALLOWEEN V38
   Promo akce: porad jemne, ale uz viditelnejsi callout
   ========================================================= */
body.oxy-halloween-page .oxy-halloween-products-promo {
    position: relative !important;
    z-index: 2 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: fit-content !important;
    max-width: min(860px, calc(100% - 32px)) !important;
    box-sizing: border-box !important;
    padding: 8px 14px !important;
    border: 1px solid rgba(255,143,42,.34) !important;
    border-radius: 10px !important;
    background: linear-gradient(90deg,
        rgba(255,143,42,.10) 0%,
        rgba(255,143,42,.045) 48%,
        rgba(255,143,42,.09) 100%) !important;
    color: rgba(242,239,244,.82) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    letter-spacing: .002em !important;
    text-align: center !important;
    text-shadow: 0 0 9px rgba(255,143,42,.14) !important;
    box-shadow:
        0 0 0 1px rgba(255,143,42,.025) inset,
        0 0 18px rgba(255,143,42,.10),
        0 8px 22px rgba(0,0,0,.10) !important;
    overflow: hidden !important;
}

body.oxy-halloween-page .oxy-halloween-products-promo::before {
    content: "" !important;
    position: absolute !important;
    inset: -18px 8% !important;
    z-index: -1 !important;
    border-radius: 50% !important;
    background: radial-gradient(ellipse at center,
        rgba(255,143,42,.16) 0%,
        rgba(255,143,42,.06) 40%,
        rgba(255,143,42,0) 73%) !important;
    filter: blur(11px) !important;
    pointer-events: none !important;
}

body.oxy-halloween-page .oxy-halloween-products-promo-kicker {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 3px 7px !important;
    border-radius: 8px !important;
    background: #ff8f2a !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
    text-shadow: none !important;
    box-shadow: 0 0 13px rgba(255,143,42,.28) !important;
}

body.oxy-halloween-page .oxy-halloween-products-promo-text {
    color: rgba(242,239,244,.78) !important;
}

body.oxy-halloween-page .oxy-halloween-products-promo-text strong {
    color: #ffb066 !important;
    font-weight: 700 !important;
    text-shadow: 0 0 10px rgba(255,143,42,.24) !important;
}

/* Vetsi vzduch kolem promo calloutu. */
body.oxy-halloween-main-listing .oxy-halloween-listing-header-main .oxy-halloween-products-promo {
    margin: 14px auto 14px !important;
}

body.oxy-halloween-main-listing .oxy-halloween-listing-header {
    margin-bottom: 24px !important;
}

body.oxy-halloween-subcategory .oxy-halloween-products-promo {
    margin: 14px auto 30px !important;
}

@media (max-width: 767px) {
    body.oxy-halloween-page .oxy-halloween-products-promo {
        gap: 7px !important;
        max-width: calc(100% - 34px) !important;
        padding: 7px 10px !important;
        font-size: 11.5px !important;
        line-height: 1.35 !important;
    }

    body.oxy-halloween-page .oxy-halloween-products-promo-kicker {
        padding: 3px 6px !important;
        font-size: 9px !important;
        letter-spacing: .045em !important;
    }

    body.oxy-halloween-main-listing .oxy-halloween-listing-header-main .oxy-halloween-products-promo {
        margin: 11px auto 10px !important;
    }

    body.oxy-halloween-main-listing .oxy-halloween-listing-header {
        margin-bottom: 20px !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-products-promo {
        margin: 11px auto 24px !important;
    }
}

/* =========================================================
   OXYBAG - HALLOWEEN V39
   - promo box pres celou sirku produktoveho sloupce
   - obsah promo boxu vycentrovany + o trochu vetsi
   - odstraneni drobnych Lottie artefaktu (tecek) u netopyru
   ========================================================= */

/* Promo callout: stejna sirka jako produktove karty pod nim. */
body.oxy-halloween-page .oxy-halloween-products-promo {
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 44px !important;
    padding: 11px 18px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    text-align: center !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
}

body.oxy-halloween-page .oxy-halloween-products-promo-kicker {
    padding: 4px 9px !important;
    font-size: 10.5px !important;
    line-height: 1.25 !important;
}

body.oxy-halloween-page .oxy-halloween-products-promo-text {
    text-align: center !important;
}

/* Na hlavnim Halloweenu/pagination je promo uvnitr praveho produktoveho sloupce,
   takze 100 % presne kopiruje sirku tri produktovych karet. */
body.oxy-halloween-main-listing .oxy-halloween-listing-header-main .oxy-halloween-products-promo {
    width: 100% !important;
    max-width: none !important;
    margin: 15px 0 16px !important;
}

/* Stejna logika i v podkategoriich. */
body.oxy-halloween-subcategory .oxy-halloween-products-promo {
    width: 100% !important;
    max-width: none !important;
    margin: 15px 0 30px !important;
}

/* Lottie soubor ma u nekterych fazi animace drobnou stray geometrii mimo hlavni
   siluetu netopyra. Vykreslovaci okno proto lehce orezeme a SVG nepatrne zvetsime. */
body.oxy-halloween-page .oxy-lottie-bat {
    overflow: hidden !important;
    clip-path: inset(4% 8% 4% 8%) !important;
}

body.oxy-halloween-page .oxy-lottie-bat-inner {
    overflow: hidden !important;
}

body.oxy-halloween-page .oxy-lottie-bat-inner > svg {
    overflow: hidden !important;
    transform: scale(1.22) !important;
    transform-origin: 50% 50% !important;
}

/* Flip zustava na wrapperu, zvetseni SVG se s nim nebije. */
body.oxy-halloween-page .oxy-lottie-bat.is-flipped .oxy-lottie-bat-inner {
    transform: scaleX(-1) !important;
}

@media (max-width: 767px) {
    body.oxy-halloween-page .oxy-halloween-products-promo {
        width: 100% !important;
        max-width: none !important;
        min-height: 42px !important;
        padding: 10px 12px !important;
        gap: 8px !important;
        font-size: 12.5px !important;
        line-height: 1.4 !important;
    }

    body.oxy-halloween-page .oxy-halloween-products-promo-kicker {
        padding: 4px 7px !important;
        font-size: 9.5px !important;
    }
}

/* =========================================================
   OXYBAG - HALLOWEEN V40
   MOBILNI PROMO CALLOUT PODLE SCHVALENEHO ROZMISTENI
   - badge vlevo ve vlastnim sloupci
   - text vpravo, centrovany a dobre citelny
   - desktop beze zmeny
   ========================================================= */
@media (max-width: 767px) {
    body.oxy-halloween-page .oxy-halloween-products-promo {
        display: grid !important;
        grid-template-columns: 94px minmax(0, 1fr) !important;
        align-items: center !important;
        justify-content: stretch !important;
        column-gap: 10px !important;
        width: 100% !important;
        max-width: none !important;
        min-height: 64px !important;
        box-sizing: border-box !important;
        padding: 8px 10px !important;
        border-radius: 10px !important;
        text-align: center !important;
        overflow: hidden !important;
    }

    body.oxy-halloween-page .oxy-halloween-products-promo-kicker {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 94px !important;
        min-width: 94px !important;
        max-width: 94px !important;
        min-height: 43px !important;
        box-sizing: border-box !important;
        padding: 6px 8px !important;
        border-radius: 10px !important;
        white-space: normal !important;
        text-align: center !important;
        font-size: 10.5px !important;
        line-height: 1.15 !important;
        letter-spacing: .035em !important;
        text-wrap: balance !important;
    }

    body.oxy-halloween-page .oxy-halloween-products-promo-text {
        display: block !important;
        min-width: 0 !important;
        width: 100% !important;
        padding: 0 2px !important;
        color: rgba(245,242,247,.88) !important;
        font-size: 11.8px !important;
        line-height: 1.32 !important;
        font-weight: 500 !important;
        text-align: center !important;
        text-wrap: balance !important;
    }

    body.oxy-halloween-page .oxy-halloween-products-promo-text strong {
        display: inline !important;
        color: #ffad61 !important;
        font-weight: 700 !important;
        text-shadow: 0 0 9px rgba(255,143,42,.26) !important;
    }

    /* Stejne kompaktni odsazeni na hlavni kategorii, pagination i podkategoriich. */
    body.oxy-halloween-main-listing .oxy-halloween-listing-header-main .oxy-halloween-products-promo,
    body.oxy-halloween-subcategory .oxy-halloween-products-promo {
        margin-top: 12px !important;
        margin-bottom: 14px !important;
    }
}

@media (max-width: 390px) {
    body.oxy-halloween-page .oxy-halloween-products-promo {
        grid-template-columns: 86px minmax(0, 1fr) !important;
        column-gap: 8px !important;
        padding: 8px !important;
    }

    body.oxy-halloween-page .oxy-halloween-products-promo-kicker {
        width: 86px !important;
        min-width: 86px !important;
        max-width: 86px !important;
        font-size: 10px !important;
    }

    body.oxy-halloween-page .oxy-halloween-products-promo-text {
        font-size: 11.2px !important;
    }
}

/* =========================================================
   OXYBAG - HALLOWEEN V41
   - desktop pavučina o něco větší a posunutá doprava
   - menší mezera mezi hero bannerem a kategoriovým headerem
   - mobil beze změny
   ========================================================= */
@media (min-width: 1250px) {
    /* Jen hlavní /halloween/ s hero bannerem. Pagination zůstává beze změny. */
    body.oxy-halloween-main-listing:not(.oxy-halloween-pagination) .oxy-halloween-listing-header {
        margin-top: 34px !important;
    }

    body.oxy-halloween-main-listing:not(.oxy-halloween-pagination) .oxy-halloween-listing-header-spacer {
        min-height: 165px !important;
    }

    body.oxy-halloween-main-listing:not(.oxy-halloween-pagination) .oxy-halloween-listing-header-spacer::before {
        left: -30px !important;
        top: -28px !important;
        width: 330px !important;
        height: 280px !important;
        opacity: .76 !important;
        transform: rotate(-3deg) !important;
    }
}

@media (min-width: 992px) and (max-width: 1249px) {
    body.oxy-halloween-main-listing:not(.oxy-halloween-pagination) .oxy-halloween-listing-header {
        margin-top: 30px !important;
    }

    body.oxy-halloween-main-listing:not(.oxy-halloween-pagination) .oxy-halloween-listing-header-spacer {
        min-height: 150px !important;
    }

    body.oxy-halloween-main-listing:not(.oxy-halloween-pagination) .oxy-halloween-listing-header-spacer::before {
        left: -18px !important;
        top: -22px !important;
        width: 285px !important;
        height: 242px !important;
        opacity: .72 !important;
    }
}

/* =========================================================
   OXYBAG - HALLOWEEN V42
   - pavučina o kousek vlevo a výš
   - obrázky v popisech Halloween podkategorií omezené na šířku produktového sloupce
   ========================================================= */

/* Pavučina: zachovat velikost z V41, jen ji maličko stáhnout vlevo a nahoru. */
@media (min-width: 1250px) {
    body.oxy-halloween-main-listing .oxy-halloween-listing-header-spacer::before {
        left: -72px !important;
        top: -40px !important;
    }
}

@media (min-width: 992px) and (max-width: 1249px) {
    body.oxy-halloween-main-listing .oxy-halloween-listing-header-spacer::before {
        left: -55px !important;
        top: -30px !important;
    }
}

/* Obrázky vložené do popisů podkategorií nesmí utéct do full-width layoutu.
   Drží se pravého obsahového sloupce = stejné šířky jako produktový listing. */
body.oxy-halloween-subcategory .category-perex img,
body.oxy-halloween-subcategory .category-description img,
body.oxy-halloween-subcategory .category-description-wrapper img,
body.oxy-halloween-subcategory .category-content img,
body.oxy-halloween-subcategory .content .description img,
body.oxy-halloween-subcategory .content .extended-description img {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    object-fit: cover !important;
}

/* Když editor obalí obrázek do odkazu / paragraphu, ani wrapper nesmí být širší než obsah. */
body.oxy-halloween-subcategory .category-perex p:has(> img),
body.oxy-halloween-subcategory .category-perex a:has(> img),
body.oxy-halloween-subcategory .category-description p:has(> img),
body.oxy-halloween-subcategory .category-description a:has(> img),
body.oxy-halloween-subcategory .category-description-wrapper p:has(> img),
body.oxy-halloween-subcategory .category-description-wrapper a:has(> img),
body.oxy-halloween-subcategory .category-content p:has(> img),
body.oxy-halloween-subcategory .category-content a:has(> img) {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Na desktopu popis drží stejnou osu jako produkty; na mobilu zůstane 100 %. */
@media (min-width: 992px) {
    body.oxy-halloween-subcategory .category-perex,
    body.oxy-halloween-subcategory .category-description,
    body.oxy-halloween-subcategory .category-description-wrapper,
    body.oxy-halloween-subcategory .category-content {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}



/* =========================================================
   OXYBAG - HALLOWEEN V43
   - pavučina opravdu o kousek vlevo a nahoru
   - popisové bannery v Halloween podkategoriích přesně na šířku #products
   ========================================================= */

/* Desktop pavučina: posun je záměrně malý, ale už mimo horní hranu filtru. */
@media (min-width: 1250px) {
    body.oxy-halloween-main-listing:not(.oxy-halloween-pagination)
    .oxy-halloween-listing-header-spacer::before {
        left: -92px !important;
        top: -58px !important;
    }
}

@media (min-width: 992px) and (max-width: 1249px) {
    body.oxy-halloween-main-listing:not(.oxy-halloween-pagination)
    .oxy-halloween-listing-header-spacer::before {
        left: -72px !important;
        top: -46px !important;
    }
}

/* Banner vložený přímo ve zdrojovém kódu popisu kategorie.
   JS mu na desktopu dopočítá přesnou šířku a osu podle #products. */
body.oxy-halloween-subcategory .oxy-halloween-subcategory-banner-wrap {
    display: block !important;
    box-sizing: border-box !important;
    padding: 0 !important;
}

body.oxy-halloween-subcategory img.oxy-halloween-subcategory-banner {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    object-fit: contain !important;
}

@media (max-width: 991px) {
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-banner-wrap {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}


/* =========================================================
   OXYBAG - HALLOWEEN V44
   PODKATEGORIE - SPLIT HERO / VARIANTA 2
   Pouziva novy zdrojovy kod .oxy-halloween-subcategory-split.
   ========================================================= */

body.oxy-halloween-subcategory .oxy-halloween-empty-after-title-move {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
}

body.oxy-halloween-subcategory .oxy-halloween-subcategory-split,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav {
    box-sizing: border-box !important;
}

/* Desktop: hero i navigace se roztahnou pres filtr + produktovy sloupec.
   Listing pod nimi zustava v puvodnim gridu filtr vlevo / produkty vpravo. */
@media (min-width: 992px) {
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-split,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav {
        width: calc(100% + 278px) !important;
        max-width: none !important;
        margin-left: -278px !important;
        margin-right: 0 !important;
    }
}

body.oxy-halloween-subcategory .oxy-halloween-subcategory-split {
    display: grid !important;
    grid-template-columns: minmax(330px, .78fr) minmax(520px, 1.35fr) !important;
    align-items: center !important;
    gap: clamp(24px, 2.4vw, 38px) !important;
    margin-top: 10px !important;
    margin-bottom: 16px !important;
    padding: 0 !important;
    background: transparent !important;
}

body.oxy-halloween-subcategory .oxy-halloween-subcategory-copy {
    min-width: 0 !important;
    padding: 12px 0 10px !important;
    text-align: left !important;
}

body.oxy-halloween-subcategory .oxy-halloween-subcategory-title {
    display: block !important;
    margin: 0 0 20px !important;
    padding: 0 !important;
    color: #f8f5fa !important;
    font-size: clamp(36px, 3.15vw, 54px) !important;
    line-height: 1.02 !important;
    font-weight: 800 !important;
    letter-spacing: -.035em !important;
    text-align: left !important;
    text-wrap: balance !important;
}

body.oxy-halloween-subcategory .oxy-halloween-subcategory-title .oxy-halloween-title-accent {
    display: block !important;
    margin-top: 3px !important;
    color: #f3a35c !important;
    -webkit-text-fill-color: #f3a35c !important;
    text-shadow: 0 0 18px rgba(243,163,92,.16) !important;
}

body.oxy-halloween-subcategory .oxy-halloween-subcategory-copy h2 {
    margin: 0 0 14px !important;
    color: #f7f4f8 !important;
    font-size: clamp(20px, 1.45vw, 25px) !important;
    line-height: 1.22 !important;
    font-weight: 750 !important;
    text-align: left !important;
    text-wrap: balance !important;
}

body.oxy-halloween-subcategory .oxy-halloween-subcategory-copy p {
    max-width: 46ch !important;
    margin: 0 !important;
    color: rgba(247,244,248,.82) !important;
    font-size: clamp(14px, 1.02vw, 16px) !important;
    line-height: 1.55 !important;
    font-weight: 400 !important;
    text-align: left !important;
}

body.oxy-halloween-subcategory .oxy-halloween-subcategory-copy strong {
    color: #fff !important;
    font-weight: 700 !important;
}

body.oxy-halloween-subcategory .oxy-halloween-subcategory-media {
    position: relative !important;
    min-width: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(242,140,40,.38) !important;
    border-radius: 10px !important;
    background: #0f0a14 !important;
    box-shadow: 0 18px 48px rgba(0,0,0,.22) !important;
}

body.oxy-halloween-subcategory .oxy-halloween-subcategory-media::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
    border-radius: inherit !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.025), inset 0 -46px 70px rgba(23,17,29,.09) !important;
}

body.oxy-halloween-subcategory .oxy-halloween-subcategory-media img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 10px !important;
    transform: none !important;
}

/* Kompaktni navigace mezi Halloween kategoriemi - funkcni odkazy, ne dekorace. */
body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-top: 12px !important;
    margin-bottom: 26px !important;
    padding: 0 !important;
    background: transparent !important;
}

body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    min-width: 0 !important;
    min-height: 64px !important;
    padding: 9px 10px !important;
    border: 1px solid rgba(242,140,40,.26) !important;
    border-radius: 10px !important;
    background: rgba(14,9,18,.72) !important;
    color: rgba(255,255,255,.9) !important;
    text-decoration: none !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.02) !important;
    transition: transform .2s ease, border-color .2s ease, background-color .2s ease, box-shadow .2s ease !important;
}

body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item img {
    display: block !important;
    flex: 0 0 auto !important;
    width: 42px !important;
    height: 42px !important;
    object-fit: contain !important;
    margin: 0 !important;
    filter: drop-shadow(0 5px 10px rgba(0,0,0,.2)) !important;
}

body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item span {
    min-width: 0 !important;
    color: inherit !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
    font-weight: 650 !important;
    text-align: left !important;
}

body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item.is-active,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item[aria-current="page"] {
    border-color: rgba(255,143,42,.88) !important;
    background: linear-gradient(180deg, rgba(255,143,42,.12), rgba(255,143,42,.045)) !important;
    box-shadow: 0 0 18px rgba(255,143,42,.08), inset 0 0 0 1px rgba(255,143,42,.06) !important;
}

body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item.is-active span,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item[aria-current="page"] span {
    color: #ffad61 !important;
}

@media (hover: hover) and (pointer: fine) {
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:hover {
        transform: translateY(-2px) !important;
        border-color: rgba(255,143,42,.72) !important;
        background: rgba(255,143,42,.075) !important;
        box-shadow: 0 10px 24px rgba(0,0,0,.18), 0 0 16px rgba(255,143,42,.07) !important;
        color: #ffad61 !important;
    }
}

/* Po novem hero nechame vlastni listing nadpis bliz k navigaci, ale porad vzdusny. */
body.oxy-halloween-subcategory.oxy-halloween-subcategory-split-ready .oxy-halloween-products-title {
    margin-top: 8px !important;
}

/* Stare V42/V43 bannerove helpery nesmi menit novou split kompozici. */
body.oxy-halloween-subcategory .oxy-halloween-subcategory-split .oxy-halloween-subcategory-banner-wrap,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-split img.oxy-halloween-subcategory-banner {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
}

@media (max-width: 1199px) and (min-width: 992px) {
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-split {
        grid-template-columns: minmax(300px, .86fr) minmax(440px, 1.14fr) !important;
        gap: 24px !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 991px) {
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-split,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-split {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        margin-top: 4px !important;
        margin-bottom: 14px !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-copy {
        padding: 0 !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-title {
        margin-bottom: 14px !important;
        font-size: clamp(29px, 8.1vw, 38px) !important;
        line-height: 1.05 !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-copy h2 {
        margin-bottom: 10px !important;
        font-size: 19px !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-copy p {
        max-width: none !important;
        font-size: 14px !important;
        line-height: 1.5 !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-media {
        order: 2 !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        margin-top: 10px !important;
        margin-bottom: 20px !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item {
        min-height: 58px !important;
        justify-content: flex-start !important;
        padding: 8px 10px !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item img {
        width: 38px !important;
        height: 38px !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item span {
        font-size: 12px !important;
    }
}

@media (max-width: 420px) {
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item {
        gap: 7px !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item img {
        width: 34px !important;
        height: 34px !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item span {
        font-size: 11px !important;
    }
}

/* =========================================================
   V45 - PODKATEGORIE: HALLOWEEN NAV STEJNA JAKO HLAVNI KATEGORIE
   - bez dlazdic / ramecku
   - stejne velke postavicky
   - stejny hover lift + glow
   - desktop 6, tablet 3, mobil 2
   ========================================================= */
body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    align-items: start !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 860px !important;
    margin: 28px auto 30px !important;
    padding: 0 !important;
    background: transparent !important;
}

body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:hover,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:focus,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item.is-active,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item[aria-current="page"] {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #fff !important;
    text-decoration: none !important;
    overflow: visible !important;
    -webkit-tap-highlight-color: transparent !important;
    touch-action: manipulation !important;
    transition: transform .25s ease !important;
}

body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item::before,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item::after {
    content: none !important;
    display: none !important;
}

body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item img {
    display: block !important;
    width: 80px !important;
    height: 80px !important;
    flex: 0 0 auto !important;
    object-fit: contain !important;
    margin: 0 auto 8px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: drop-shadow(0 6px 12px rgba(0,0,0,.18)) !important;
    transform-origin: center center !important;
    transition: transform .25s ease, filter .25s ease !important;
}

body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item span,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item.is-active span,
body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item[aria-current="page"] span {
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    text-align: center !important;
}

/* Stejny lehce hravy rytmus jako na hlavni Halloween kategorii. */
body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(1) { transform: translateY(6px); }
body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(2) { transform: translateY(-10px); }
body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(3) { transform: translateY(2px); }
body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(4) { transform: translateY(-14px); }
body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(5) { transform: translateY(8px); }
body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(6) { transform: translateY(-6px); }

body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(1) img { transform: rotate(-6deg); }
body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(2) img { transform: rotate(5deg); }
body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(3) img { transform: rotate(-3deg); }
body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(4) img { transform: rotate(7deg); }
body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(5) img { transform: rotate(-5deg); }
body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(6) img { transform: rotate(4deg); }

@media (hover: hover) and (pointer: fine) {
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:hover {
        transform: translateY(-3px) !important;
        color: #fff !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:hover img {
        transform: scale(1.12) !important;
        filter: drop-shadow(0 8px 16px rgba(242,140,40,.28)) !important;
    }
}

body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:focus-visible {
    outline: 3px solid var(--oxy-halloween-focus, #f28c28) !important;
    outline-offset: 5px !important;
    border-radius: 11px !important;
}

@media (hover: none), (pointer: coarse) {
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item img {
        transform: none !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:active img,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item.oxy-touch-active img {
        transform: scale(1.08) !important;
        filter: drop-shadow(0 8px 16px rgba(242,140,40,.28)) !important;
    }
}

@media (max-width: 991px) {
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 14px !important;
        max-width: 620px !important;
        margin-top: 22px !important;
        margin-bottom: 24px !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item img {
        transform: none !important;
    }
}

@media (max-width: 600px) {
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 24px !important;
        row-gap: 18px !important;
        max-width: 330px !important;
        margin: 18px auto 22px !important;
        padding: 0 18px !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item {
        justify-content: flex-start !important;
        min-height: 0 !important;
        padding: 0 !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item img {
        width: 70px !important;
        height: 70px !important;
        margin-bottom: 4px !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item span,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item.is-active span,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item[aria-current="page"] span {
        font-size: 12px !important;
        line-height: 1.15 !important;
    }
}

/* =========================================================
   V46 - PODKATEGORIE: IKONA + TEXT V JEDNE OSE, MENSI MEZERA
   - vychozi ikony bez natoceni, aby sedely presne nad popiskem
   - hover zustava jemny lift + scale
   - mensi mezera mezi navigaci a "Strasidelne dobry vyber"
   ========================================================= */
@media (min-width: 992px) {
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav {
        margin-bottom: 10px !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(1),
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(2),
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(3),
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(4),
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(5),
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(6) {
        transform: none !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item img,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(1) img,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(2) img,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(3) img,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(4) img,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(5) img,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(6) img {
        transform: none !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item span {
        width: 100% !important;
        min-height: 31px !important;
        display: flex !important;
        align-items: flex-start !important;
        justify-content: center !important;
    }

    body.oxy-halloween-subcategory.oxy-halloween-subcategory-split-ready .oxy-halloween-products-title {
        margin-top: 0 !important;
        margin-bottom: 18px !important;
    }

    @media (hover: hover) and (pointer: fine) {
        body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:hover {
            transform: translateY(-3px) !important;
        }

        body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:hover img {
            transform: scale(1.12) !important;
        }
    }
}

@media (max-width: 991px) {
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav {
        margin-bottom: 12px !important;
    }

    body.oxy-halloween-subcategory.oxy-halloween-subcategory-split-ready .oxy-halloween-products-title {
        margin-top: 0 !important;
    }
}

@media (max-width: 600px) {
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav {
        margin-bottom: 10px !important;
    }
}

/* =========================================================
   V47 - PODKATEGORIE: STEJNY HRAVY RYTMUS JAKO HLAVNI HALLOWEEN
   - cely blok ikona + popisek se strida niz / vys
   - obrazek a text zustavaji vzdy spolu v jedne ose
   - bez natoceni ikon, aby se nerozjizdely s popiskem
   - mensi mezera pred "Strasidelne dobry vyber"
   ========================================================= */
@media (min-width: 992px) {
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav {
        margin-top: 24px !important;
        margin-bottom: 2px !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item {
        --oxy-h-nav-y: 0px;
        transform: translateY(var(--oxy-h-nav-y)) !important;
    }

    /* Stejne poradi jako na hlavni Halloween kategorii:
       Predskolni niz, Aktovky vys, Batohy niz, Sety vys... */
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(1) { --oxy-h-nav-y: 6px; }
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(2) { --oxy-h-nav-y: -10px; }
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(3) { --oxy-h-nav-y: 2px; }
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(4) { --oxy-h-nav-y: -14px; }
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(5) { --oxy-h-nav-y: 8px; }
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(6) { --oxy-h-nav-y: -6px; }

    /* Ikona se uvnitr polozky uz nenataci - text zustava presne pod ni. */
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item img,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(1) img,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(2) img,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(3) img,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(4) img,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(5) img,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(6) img {
        transform: none !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item span {
        min-height: 31px !important;
        display: flex !important;
        align-items: flex-start !important;
        justify-content: center !important;
    }

    body.oxy-halloween-subcategory.oxy-halloween-subcategory-split-ready .oxy-halloween-products-title {
        margin-top: -2px !important;
        margin-bottom: 18px !important;
    }

    @media (hover: hover) and (pointer: fine) {
        body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:hover {
            transform: translateY(calc(var(--oxy-h-nav-y) - 3px)) !important;
        }

        body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:hover img {
            transform: scale(1.12) !important;
            filter: drop-shadow(0 8px 16px rgba(242,140,40,.28)) !important;
        }
    }
}

/* =========================================================
   V48 - DEFINITIVNI SKAKANY RYTMUS PODKATEGORII
   Stejny na hlavni Halloween kategorii i ve vsech podkategoriich.
   Posouva se VZDY cely blok (ikona + text), ne samotny obrazek.
   ========================================================= */
@media (min-width: 992px) {
    /* Hlavni Halloween + strankovani */
    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-icons-grid > a.oxy-h-icon-card {
        --oxy-h-stagger-y: 0px;
        transform: translateY(var(--oxy-h-stagger-y)) !important;
        transition: transform .25s ease !important;
    }

    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-icons-grid > a.oxy-h-icon-card:nth-child(1) { --oxy-h-stagger-y: 8px; }
    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-icons-grid > a.oxy-h-icon-card:nth-child(2) { --oxy-h-stagger-y: -12px; }
    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-icons-grid > a.oxy-h-icon-card:nth-child(3) { --oxy-h-stagger-y: 6px; }
    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-icons-grid > a.oxy-h-icon-card:nth-child(4) { --oxy-h-stagger-y: -14px; }
    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-icons-grid > a.oxy-h-icon-card:nth-child(5) { --oxy-h-stagger-y: 8px; }
    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-icons-grid > a.oxy-h-icon-card:nth-child(6) { --oxy-h-stagger-y: -10px; }

    /* Podkategorie - stejny rytmus 1:1 */
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item {
        --oxy-h-stagger-y: 0px;
        transform: translateY(var(--oxy-h-stagger-y)) !important;
        transition: transform .25s ease !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(1) { --oxy-h-stagger-y: 8px; }
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(2) { --oxy-h-stagger-y: -12px; }
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(3) { --oxy-h-stagger-y: 6px; }
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(4) { --oxy-h-stagger-y: -14px; }
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(5) { --oxy-h-stagger-y: 8px; }
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(6) { --oxy-h-stagger-y: -10px; }

    /* Ikona a text zustavaji vzdy v jedne svisle ose. */
    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-icons-grid > a.oxy-h-icon-card .oxy-h-icon-image,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item img {
        transform: none !important;
        transform-origin: center center !important;
    }

    /* Stejna tesna mezera pred nadpisem na hlavni i v podkategoriich. */
    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-icons-wrap,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav {
        margin-bottom: 2px !important;
    }

    body.oxy-halloween-subcategory.oxy-halloween-subcategory-split-ready .oxy-halloween-products-title {
        margin-top: -2px !important;
    }

    @media (hover: hover) and (pointer: fine) {
        body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-icons-grid > a.oxy-h-icon-card:hover,
        body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:hover {
            transform: translateY(calc(var(--oxy-h-stagger-y) - 3px)) !important;
        }

        body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-icons-grid > a.oxy-h-icon-card:hover .oxy-h-icon-image,
        body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:hover img {
            transform: scale(1.12) !important;
            filter: drop-shadow(0 8px 16px rgba(242,140,40,.28)) !important;
        }
    }
}

/* =========================================================
   V49 - OPRAVA RYTMU A SPACINGU PODKATEGORII
   08/10/2026
   - hlavni /halloween/: vraci puvodni mezeru pred nadpisem
   - zachovava skakany rytmus ikon
   - podkategorie: skakany rytmus vynucen pres position/top,
     aby ho starsi transform pravidla uz nemohla prepsat
   ========================================================= */
@media (min-width: 992px) {
    /* HLAVNI HALLOWEEN: zpet puvodni vzduch mezi ikonami a nadpisem.
       V48 omylem stahl margin-bottom na 2px. Predtim bylo 18px. */
    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-icons-wrap,
    body.oxy-halloween-main-listing .oxy-halloween-listing-header .oxy-halloween-icons-wrap {
        margin-bottom: 18px !important;
    }

    /* PODKATEGORIE: stejny vizualni rytmus niz / vys jako na hlavni.
       Nepouzivame transform na cele polozce, protoze starsi bloky ho prepisovaly. */
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav {
        margin-bottom: 16px !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:hover {
        position: relative !important;
        transform: none !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(1) { top: 8px !important; }
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(2) { top: -12px !important; }
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(3) { top: 6px !important; }
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(4) { top: -14px !important; }
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(5) { top: 8px !important; }
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(6) { top: -10px !important; }

    /* Hover uz hybe jen obrazkem; cely blok si drzi svuj skakany top. */
    @media (hover: hover) and (pointer: fine) {
        body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:hover img {
            transform: translateY(-3px) scale(1.12) !important;
            filter: drop-shadow(0 8px 16px rgba(242,140,40,.28)) !important;
        }
    }
}

/* =========================================================
   V50 - PODKATEGORIE: SPACING 1:1 JAKO HLAVNI HALLOWEEN
   08/10/2026
   - zachovava skakany rytmus ikon
   - pod kategoriemi stejny vzduch jako na /halloween/
   - rusi drivejsi negativni posun nadpisu v podkategoriich
   ========================================================= */
@media (min-width: 992px) {
    /* Hlavni Halloween je referencni stav: 18px pod radou ikon. */
    body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-icons-wrap,
    body.oxy-halloween-main-listing .oxy-halloween-listing-header .oxy-halloween-icons-wrap,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav {
        margin-bottom: 18px !important;
    }

    /* Stejny vertikalni rytmus jako na hlavni Halloween kategorii. */
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(1) { top: 8px !important; }
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(2) { top: -12px !important; }
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(3) { top: 6px !important; }
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(4) { top: -14px !important; }
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(5) { top: 8px !important; }
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(6) { top: -10px !important; }

    /* V48/V49 stahovaly nadpis o 2px nahoru. Na hlavni strance to tak neni. */
    body.oxy-halloween-subcategory.oxy-halloween-subcategory-split-ready .oxy-halloween-products-title {
        margin-top: 0 !important;
    }
}

/* =========================================================
   V51 - PODKATEGORIE / MOBIL: TEXT A BANNER HEZKY OD SEBE
   08/10/2026
   Desktop zustava beze zmeny.
   Na mobilu je poradi: nadpis + text -> vzduch -> banner -> vzduch -> ikony.
   ========================================================= */
@media (max-width: 767px) {
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-split {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 10px 0 0 !important;
        padding: 0 20px !important;
        box-sizing: border-box !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-copy {
        order: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-title {
        margin: 0 0 22px !important;
        padding: 0 !important;
        font-size: clamp(32px, 10vw, 42px) !important;
        line-height: 1.03 !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-copy h2 {
        margin: 0 0 14px !important;
        padding: 0 !important;
        font-size: 19px !important;
        line-height: 1.25 !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-copy p {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        font-size: 14px !important;
        line-height: 1.55 !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-media {
        order: 2 !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 26px 0 0 !important;
        padding: 0 !important;
        border-radius: 10px !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-media img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        aspect-ratio: 16 / 9 !important;
        object-fit: cover !important;
        object-position: center !important;
        margin: 0 !important;
        border-radius: 10px !important;
    }

    /* Po banneru nechame jasny samostatny odstup pred ikonami. */
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav {
        width: 100% !important;
        max-width: 330px !important;
        margin: 28px auto 20px !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
        box-sizing: border-box !important;
    }
}

@media (max-width: 420px) {
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-split {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-media {
        margin-top: 24px !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav {
        margin-top: 26px !important;
    }
}

/* =========================================================
   V52 - PODKATEGORIE / MOBIL: CIDITELNY POPIS + VICE/MENE
   08/10/2026
   Pouze mobil. Desktop zustava beze zmeny.
   ========================================================= */
@media (max-width: 767px) {
    /* Copy a banner musi byt dva jasne samostatne bloky. */
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-split {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        padding-left: 28px !important;
        padding-right: 28px !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-copy {
        order: 1 !important;
        display: block !important;
        width: 100% !important;
        margin: 0 0 24px !important;
        padding: 0 !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-copy p.oxy-halloween-mobile-collapsible {
        position: relative !important;
        display: block !important;
        max-height: 6.2em !important; /* cca 4 radky */
        overflow: hidden !important;
        transition: max-height .28s ease !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-copy p.oxy-halloween-mobile-collapsible:not(.is-expanded)::after {
        content: "" !important;
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        height: 2.2em !important;
        pointer-events: none !important;
        background: linear-gradient(to bottom, rgba(23,17,29,0), rgba(23,17,29,.96) 88%) !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-copy p.oxy-halloween-mobile-collapsible.is-expanded {
        max-height: 1200px !important;
        overflow: visible !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-mobile-more {
        display: inline-flex !important;
        align-items: center !important;
        gap: 7px !important;
        margin: 9px 0 0 !important;
        padding: 3px 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: #f3a35c !important;
        font-family: inherit !important;
        font-size: 14px !important;
        line-height: 1.2 !important;
        font-weight: 700 !important;
        text-transform: none !important;
        cursor: pointer !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-mobile-more::after {
        content: "" !important;
        display: block !important;
        width: 7px !important;
        height: 7px !important;
        border-right: 2px solid currentColor !important;
        border-bottom: 2px solid currentColor !important;
        transform: rotate(45deg) translateY(-2px) !important;
        transform-origin: center !important;
        transition: transform .2s ease !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-mobile-more[aria-expanded="true"]::after {
        transform: rotate(225deg) translate(-1px, -1px) !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-media {
        order: 2 !important;
        width: 100% !important;
        margin: 0 !important;
    }

    /* Banner ma byt jasne oddeleny od ikon. */
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav {
        margin-top: 30px !important;
    }
}

@media (max-width: 420px) {
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-split {
        padding-left: 28px !important;
        padding-right: 28px !important;
    }
}

@media (min-width: 768px) {
    body.oxy-halloween-subcategory .oxy-halloween-mobile-more {
        display: none !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-copy p.oxy-halloween-mobile-collapsible {
        max-height: none !important;
        overflow: visible !important;
    }
}

/* =========================================================
   V53 - PODKATEGORIE: MOBIL 1 SLOUPEC + ALIGN NA FILTR
   08/10/2026
   - mobil: text, obrazek a filtr maji stejne bocni hrany
   - text a obrazek jsou dva ciste bloky pod sebou
   - desktop: split hero zacina presne na leve hrane filtru
   ========================================================= */

/* Desktop: puvodni grid je 250 px filtr + 28 px mezera.
   Pridavame jeste 14 px doleva, aby vnejsi hrana hero sedela
   na vnejsi hrane filter panelu, ne na jeho vnitrnim obsahu. */
@media (min-width: 992px) {
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-split,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav {
        width: calc(100% + 292px) !important;
        margin-left: -292px !important;
        margin-right: 0 !important;
    }
}

@media (max-width: 767px) {
    body.oxy-halloween-subcategory {
        --oxy-h-mobile-gutter: 20px;
    }

    /* Split hero vytrhneme z pripadne uzsiho Shoptet sloupce a
       ukotvime ho podle viewportu. Takhle text i banner sedi 1:1. */
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-split {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
        box-sizing: border-box !important;
        width: calc(100vw - (2 * var(--oxy-h-mobile-gutter))) !important;
        max-width: calc(100vw - (2 * var(--oxy-h-mobile-gutter))) !important;
        margin-left: calc(50% - 50vw + var(--oxy-h-mobile-gutter)) !important;
        margin-right: 0 !important;
        margin-top: 8px !important;
        margin-bottom: 0 !important;
        padding: 0 !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-copy {
        order: 1 !important;
        display: block !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 22px !important;
        padding: 0 !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-title,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-copy h2,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-copy p,
    body.oxy-halloween-subcategory .oxy-halloween-mobile-more {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-media {
        order: 2 !important;
        display: block !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-media img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
    }

    /* I mobilni tlacitko filtru ma stejne viewportove hrany. */
    body.oxy-halloween-subcategory #filters-wrapper .filters-unveil-button-wrapper,
    body.oxy-halloween-subcategory .filters-unveil-button-wrapper {
        box-sizing: border-box !important;
        width: calc(100vw - (2 * var(--oxy-h-mobile-gutter))) !important;
        max-width: calc(100vw - (2 * var(--oxy-h-mobile-gutter))) !important;
        margin-left: calc(50% - 50vw + var(--oxy-h-mobile-gutter)) !important;
        margin-right: 0 !important;
    }

    body.oxy-halloween-subcategory #filters-wrapper .filters-unveil-button-wrapper .btn-default,
    body.oxy-halloween-subcategory #filters-wrapper .filters-unveil-button-wrapper .btn,
    body.oxy-halloween-subcategory .filters-unveil-button-wrapper .btn-default,
    body.oxy-halloween-subcategory .filters-unveil-button-wrapper .btn {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Po banneru zustava stejny vzduch pred ikonkami. */
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav {
        margin-top: 28px !important;
    }
}

@media (max-width: 420px) {
    body.oxy-halloween-subcategory {
        --oxy-h-mobile-gutter: 20px;
    }
}

/* =========================================================
   V54 - OPRAVA REGRESE V53
   08/10/2026
   - desktop: vraci split + navigaci presne na geometrii V50
   - mobil: copy a banner sdili naprosto stejne viewportove hrany
   - zadny zasah do hlavni /halloween/ kategorie
   ========================================================= */

/* V53 omylem posunula na desktopu nejen hero, ale i navigaci,
   protoze oba prvky byly ve stejnem selektoru. Vracime referencni
   geometrii z V50/V44: 278 px pres sidebar, ne 292 px. */
@media (min-width: 992px) {
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-split,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav {
        width: calc(100% + 278px) !important;
        max-width: none !important;
        margin-left: -278px !important;
        margin-right: 0 !important;
    }
}

@media (max-width: 767px) {
    body.oxy-halloween-subcategory {
        --oxy-h-mobile-gutter: 20px;
    }

    /* Jeden jediny referencni ramec pro text i banner. */
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-split {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        width: calc(100vw - (2 * var(--oxy-h-mobile-gutter))) !important;
        max-width: calc(100vw - (2 * var(--oxy-h-mobile-gutter))) !important;
        margin-left: calc(50% - 50vw + var(--oxy-h-mobile-gutter)) !important;
        margin-right: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-copy,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-media {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
        transform: none !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-copy {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        margin-bottom: 24px !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-title,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-copy h1,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-copy h2,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-copy p,
    body.oxy-halloween-subcategory .oxy-halloween-mobile-more {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-media img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    /* Tlacitko filtru pouziva stejne bocni hrany jako text + banner. */
    body.oxy-halloween-subcategory #filters-wrapper .filters-unveil-button-wrapper,
    body.oxy-halloween-subcategory .filters-unveil-button-wrapper {
        width: calc(100vw - (2 * var(--oxy-h-mobile-gutter))) !important;
        max-width: calc(100vw - (2 * var(--oxy-h-mobile-gutter))) !important;
        margin-left: calc(50% - 50vw + var(--oxy-h-mobile-gutter)) !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }
}

/* =========================================================
   V55 - PODKATEGORIE: DESKTOP NAV JAKO HLAVNI + MOBILNI ALIGN
   08/10/2026
   - desktop: split hero muze jit pres sidebar, ale ikony zustavaji
     pouze nad produktovym sloupcem stejne jako na /halloween/
   - mobil: text i banner maji identicke bocni hrany (20 px gutter)
   - zachovano Vice/Mene i 2sloupcove ikony na mobilu
   ========================================================= */

@media (min-width: 992px) {
    /* Hero v podkategorii zustava siroky pres filtr + produkty. */
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-split {
        width: calc(100% + 278px) !important;
        max-width: none !important;
        margin-left: -278px !important;
        margin-right: 0 !important;
    }

    /* Navigace se naopak NESMI roztahovat pres filtr.
       Je centrovana jen v produktovem sloupci jako na hlavnim Halloweenu. */
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 860px !important;
        margin: 30px auto 18px !important;
        padding: 0 !important;
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item {
        position: relative !important;
        transform: none !important;
        top: 0 !important;
    }

    /* 1:1 rytmus z hlavni /halloween/ kategorie. */
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(1) { top: 8px !important; }
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(2) { top: -12px !important; }
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(3) { top: 6px !important; }
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(4) { top: -14px !important; }
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(5) { top: 8px !important; }
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:nth-child(6) { top: -10px !important; }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item img {
        width: 80px !important;
        height: 80px !important;
        margin: 0 auto 8px !important;
        transform: none !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item span {
        min-height: 31px !important;
        display: flex !important;
        align-items: flex-start !important;
        justify-content: center !important;
        width: 100% !important;
        font-size: 13px !important;
        line-height: 1.2 !important;
        text-align: center !important;
    }

    @media (hover: hover) and (pointer: fine) {
        body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:hover {
            transform: none !important;
        }

        body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item:hover img {
            transform: translateY(-3px) scale(1.12) !important;
            filter: drop-shadow(0 8px 16px rgba(242,140,40,.28)) !important;
        }
    }

    body.oxy-halloween-subcategory.oxy-halloween-subcategory-split-ready .oxy-halloween-products-title {
        margin-top: 0 !important;
    }
}

@media (max-width: 767px) {
    body.oxy-halloween-subcategory {
        --oxy-h-mobile-gutter: 20px;
    }

    /* Full-viewport referencni ramec. Vsechny vnitrni bloky pak dostanou
       stejny 20px gutter, takze text a banner sedi presne pod sebou. */
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-split {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
        position: relative !important;
        left: auto !important;
        right: auto !important;
        width: 100vw !important;
        max-width: 100vw !important;
        margin: 8px 0 0 calc(50% - 50vw) !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        transform: none !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-copy,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-media {
        position: static !important;
        left: auto !important;
        right: auto !important;
        float: none !important;
        clear: both !important;
        box-sizing: border-box !important;
        width: calc(100% - (2 * var(--oxy-h-mobile-gutter))) !important;
        max-width: calc(100% - (2 * var(--oxy-h-mobile-gutter))) !important;
        min-width: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        transform: none !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-copy {
        order: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        margin-top: 0 !important;
        margin-bottom: 24px !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-title,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-copy h1,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-copy h2,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-copy p,
    body.oxy-halloween-subcategory .oxy-halloween-mobile-more {
        position: static !important;
        left: auto !important;
        right: auto !important;
        float: none !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        text-indent: 0 !important;
        transform: none !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-media {
        order: 2 !important;
        display: block !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        overflow: hidden !important;
        border-radius: 10px !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-media img {
        display: block !important;
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        aspect-ratio: 16 / 9 !important;
        object-fit: cover !important;
        object-position: center !important;
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 10px !important;
        transform: none !important;
    }

    /* Navigace zustava stejne jako na hlavnim mobilnim Halloweenu. */
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav {
        width: 100% !important;
        max-width: 330px !important;
        margin: 30px auto 22px !important;
        padding: 0 18px !important;
        box-sizing: border-box !important;
    }

    /* Tlacitko filtru ma stejne vnejsi hrany jako copy + banner. */
    body.oxy-halloween-subcategory #filters-wrapper .filters-unveil-button-wrapper,
    body.oxy-halloween-subcategory .filters-unveil-button-wrapper {
        box-sizing: border-box !important;
        width: calc(100vw - (2 * var(--oxy-h-mobile-gutter))) !important;
        max-width: calc(100vw - (2 * var(--oxy-h-mobile-gutter))) !important;
        margin-left: calc(50% - 50vw + var(--oxy-h-mobile-gutter)) !important;
        margin-right: 0 !important;
    }
}

/* =========================================================
   V56 - MOBIL PODKATEGORII: JEDEN STABILNI REFERENCNI RAMEC
   08/10/2026
   - POUZE mobil <= 767 px
   - desktop se nemeni
   - zadne 100vw ani viewportove breakouty
   - split se ridi stejnym Shoptet wrapperem jako filtr
   - text a banner maji identicke hrany
   ========================================================= */
@media (max-width: 767px) {
    /* Debug ukazal, ze .category-perex i .filters-wrapper zacinaji na 30 px
       a tlacitko filtru se z nich roztahuje o 10 px na kazdou stranu.
       Delame tedy u splitu presne stejnou geometrii: +20 px sirka, -10 px vlevo. */
    body.oxy-halloween-subcategory .category-perex {
        overflow: visible !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-split {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
        position: static !important;
        left: auto !important;
        right: auto !important;
        box-sizing: border-box !important;
        width: calc(100% + 20px) !important;
        max-width: none !important;
        margin: 8px 0 0 -10px !important;
        padding: 0 !important;
        transform: none !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-copy,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-media {
        position: static !important;
        left: auto !important;
        right: auto !important;
        float: none !important;
        clear: both !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        transform: none !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-copy {
        order: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        margin-top: 0 !important;
        margin-bottom: 24px !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-title,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-copy h1,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-copy h2,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-copy p,
    body.oxy-halloween-subcategory .oxy-halloween-mobile-more {
        position: static !important;
        left: auto !important;
        right: auto !important;
        float: none !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        text-indent: 0 !important;
        transform: none !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-media {
        order: 2 !important;
        display: block !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        overflow: hidden !important;
        border-radius: 10px !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-media img {
        display: block !important;
        position: static !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        aspect-ratio: 16 / 9 !important;
        object-fit: cover !important;
        object-position: center !important;
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 10px !important;
        transform: none !important;
    }

    /* Navigaci, filtr ani desktopovou geometrii ve V56 nemenime. */
}

/* =========================================================
   V57 - MOBIL: POPISEK POD IKONOU OPRAVDU NA STRED
   08/10/2026
   - POUZE mobil <= 767 px
   - desktop beze zmen
   - debug potvrdil: obrazky jsou na stredu polozky, ale kratke span popisky
     zustavaly vlevo; proto span roztahneme na celou sirku karty
   ========================================================= */
@media (max-width: 767px) {
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item {
        align-items: stretch !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item img {
        align-self: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item span,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item.is-active span,
    body.oxy-halloween-subcategory .oxy-halloween-subcategory-nav-item[aria-current="page"] span {
        display: block !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        align-self: stretch !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        text-align: center !important;
    }
}

/* =========================================================
   OXYBAG - HALLOWEEN V59 PROD
   Hlavni Halloween hero presne od leveho po pravy okraj.

   Debug 2026-10-08 potvrdil na desktopu i mobilu stejny stav:
   hero mel spravnou sirku viewportu, ale jeho stred byl kvuli
   asymetrickemu 20px paddingu Shoptet contentu posunuty o 10px
   doleva (left -10px / right gap 10px). Proto korigujeme pouze
   stred hlavniho hero o +10px. Samostatny mobilni obrazek zustava.
   ========================================================= */

/* Pouze hlavni /halloween/ - presne vystredeni full-bleed hero na viewport.
   +10px je polovina asymetrickeho 20px praveho paddingu #content,
   potvrzeno konzoli shodne na desktopu i mobilu. */
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-simple {
    left: calc(50% + 10px) !important;
    width: 100vw !important;
    max-width: none !important;
    transform: translateX(-50%) !important;
}

/* Oba zdrojove obrazky (desktop i mobil) vyplni opraveny hero wrapper. */
body.oxy-halloween-page:not(.oxy-halloween-subcategory) .oxy-halloween-bg {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
}

/* =========================================================
   OXYBAG - HALLOWEEN V61 PROD
   H1 PODKATEGORIE: "Halloweenske" bile, konkretni nazev oranzovy.
   Navigacni popisky pod ikonami zustavaji bile jako pred V59/V60.
   Full-bleed oprava hlavniho hero z V59 zustava beze zmen.
   ========================================================= */

/* =========================================================
   HALLOWEEN HEADER � DOLAD�N�
   ========================================================= */

/* STEJN� POZAD� JAKO HALLOWEEN KATEGORIE */
body.oxy-halloween-page #header,
body.oxy-halloween-page #header .header-top,
body.oxy-halloween-page #header .header-top-wrapper,
body.oxy-halloween-page #header .header-top .container,
body.oxy-halloween-page #navigation,
body.oxy-halloween-page .navigation-in,
body.oxy-halloween-page .navigation-in > ul,
body.oxy-halloween-page .navigation-in > ul > li {
    background: #17111d !important;
}

/* odstran�n� b�l�ho bloku vpravo */
body.oxy-halloween-page #header .search,
body.oxy-halloween-page #header .search-form,
body.oxy-halloween-page #header .search-window,
body.oxy-halloween-page #header .header-search,
body.oxy-halloween-page #header .navigation-buttons,
body.oxy-halloween-page #header .navigation-buttons > div,
body.oxy-halloween-page #header .navigation-buttons > a {
    background-color: transparent !important;
}

/* TEXT MENU B�L� */
body.oxy-halloween-page .navigation-in > ul > li > a {
    color: #fff !important;
    background: transparent !important;
}

/* HOVER � TEXT ORAN�OV� */
body.oxy-halloween-page .navigation-in > ul > li > a:hover {
    color: #f36b2b !important;
}

/* AKTIVN� POLO�KA � TEXT ORAN�OV� */
body.oxy-halloween-page .navigation-in > ul > li.active > a,
body.oxy-halloween-page .navigation-in > ul > li.exp > a {
    color: #f36b2b !important;
}

/* RَOV� PODTR�EN� P�EP͊EME NA ORAN�OV� */
body.oxy-halloween-page .navigation-in > ul > li > a::before,
body.oxy-halloween-page .navigation-in > ul > li > a::after,
body.oxy-halloween-page .navigation-in > ul > li.active > a::before,
body.oxy-halloween-page .navigation-in > ul > li.active > a::after,
body.oxy-halloween-page .navigation-in > ul > li.exp > a::before,
body.oxy-halloween-page .navigation-in > ul > li.exp > a::after {
    background-color: #f36b2b !important;
    border-color: #f36b2b !important;
}

/* ikony vpravo b�l� */
body.oxy-halloween-page #header .navigation-buttons a,
body.oxy-halloween-page #header .navigation-buttons button,
body.oxy-halloween-page #header .navigation-buttons span,
body.oxy-halloween-page #header .navigation-buttons svg {
    color: #fff !important;
}

/* pokud m� svg vlastn� barvu */
body.oxy-halloween-page #header .navigation-buttons svg path {
    fill: currentColor !important;
    stroke: currentColor;
}
/* =========================================================
   HALLOWEEN � odstran�n� b�l�ho obd�ln�ku vpravo
   ========================================================= */

/* cel� prav� blok v headeru */
body.oxy-halloween-page #header .navigation-buttons,
body.oxy-halloween-page #header .navigation-buttons > *,
body.oxy-halloween-page #header .navigation-buttons a,
body.oxy-halloween-page #header .navigation-buttons div,
body.oxy-halloween-page #header .navigation-buttons button,
body.oxy-halloween-page #header .menu-helper,
body.oxy-halloween-page #header .menu-helper > * {
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
}

/* hlavn� prost�edn� polo�ka mezi lupou a ko��kem */
body.oxy-halloween-page #header .navigation-buttons > *:nth-child(2),
body.oxy-halloween-page #header .menu-helper > *:nth-child(2),
body.oxy-halloween-page #header .navigation-buttons > *:nth-child(2) a,
body.oxy-halloween-page #header .menu-helper > *:nth-child(2) a,
body.oxy-halloween-page #header .navigation-buttons > *:nth-child(2)::before,
body.oxy-halloween-page #header .navigation-buttons > *:nth-child(2)::after,
body.oxy-halloween-page #header .menu-helper > *:nth-child(2)::before,
body.oxy-halloween-page #header .menu-helper > *:nth-child(2)::after {
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    color: #fff !important;
}

/* kdy� je tam svg ikona */
body.oxy-halloween-page #header .navigation-buttons > *:nth-child(2) svg,
body.oxy-halloween-page #header .menu-helper > *:nth-child(2) svg,
body.oxy-halloween-page #header .navigation-buttons > *:nth-child(2) svg path,
body.oxy-halloween-page #header .menu-helper > *:nth-child(2) svg path {
    fill: currentColor !important;
    stroke: currentColor !important;
    color: #fff !important;
}
/* =========================================================
   HALLOWEEN � HLAVN� MENU
   pouze Halloween + podkategorie
   ========================================================= */

/* v�choz� stav polo�ek menu */
body.oxy-halloween-page #navigation .menu-level-1 > li > a,
body.oxy-halloween-page #navigation .menu-level-1 > li > a > b,
body.oxy-halloween-page #navigation .menu-level-1 > li > a > span {
    color: #fff !important;
}

/* odstran�n� p�vodn�ch r��ov�ch efekt� */
body.oxy-halloween-page #navigation .menu-level-1 > li,
body.oxy-halloween-page #navigation .menu-level-1 > li > a,
body.oxy-halloween-page #navigation .menu-level-1 > li > a > b {
    border-color: transparent !important;
    box-shadow: none !important;
}

/* zru�it p��padn� p�vodn� pseudo-elementy */
body.oxy-halloween-page #navigation .menu-level-1 > li::before,
body.oxy-halloween-page #navigation .menu-level-1 > li::after,
body.oxy-halloween-page #navigation .menu-level-1 > li > a::before,
body.oxy-halloween-page #navigation .menu-level-1 > li > a::after,
body.oxy-halloween-page #navigation .menu-level-1 > li > a > b::before,
body.oxy-halloween-page #navigation .menu-level-1 > li > a > b::after {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* HOVER � text oran�ov� */
body.oxy-halloween-page #navigation .menu-level-1 > li:hover > a,
body.oxy-halloween-page #navigation .menu-level-1 > li:hover > a > b,
body.oxy-halloween-page #navigation .menu-level-1 > li:hover > a > span {
    color: #FFA15A !important;
}

/* HOVER � vlastn� oran�ov� podtr�en� */
body.oxy-halloween-page #navigation .menu-level-1 > li:hover > a {
    position: relative !important;
}

body.oxy-halloween-page #navigation .menu-level-1 > li:hover > a::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: -1px !important;
    height: 3px !important;
    background: #FFA15A !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* aktivn� polo�ka � text oran�ov� */
body.oxy-halloween-page #navigation .menu-level-1 > li.active > a,
body.oxy-halloween-page #navigation .menu-level-1 > li.active > a > b,
body.oxy-halloween-page #navigation .menu-level-1 > li.active > a > span,
body.oxy-halloween-page #navigation .menu-level-1 > li.exp > a,
body.oxy-halloween-page #navigation .menu-level-1 > li.exp > a > b,
body.oxy-halloween-page #navigation .menu-level-1 > li.exp > a > span {
    color: #FFA15A !important;
}

/* aktivn� polo�ka � oran�ov� podtr�en� */
body.oxy-halloween-page #navigation .menu-level-1 > li.active > a,
body.oxy-halloween-page #navigation .menu-level-1 > li.exp > a {
    position: relative !important;
}

body.oxy-halloween-page #navigation .menu-level-1 > li.active > a::after,
body.oxy-halloween-page #navigation .menu-level-1 > li.exp > a::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: -1px !important;
    height: 3px !important;
    background: #FFA15A !important;
    border: 0 !important;
    box-shadow: none !important;
}
/* =========================================================
   OXYBAG - HALLOWEEN V62 PROD
   MOBILNI MENU: podkategorie na tmavem pozadi musi zustat bile.
   Shoptet pro 2. uroven menu jinak prepisuje text zpet na cernou.
   Desktopove dropdowny timto nemenime.
   ========================================================= */
@media (max-width: 991px) {
    body.oxy-halloween-page #navigation .menu-level-1 > li > ul a,
    body.oxy-halloween-page #navigation .menu-level-1 > li > ul a > b,
    body.oxy-halloween-page #navigation .menu-level-1 > li > ul a > span,
    body.oxy-halloween-page #navigation .menu-level-2 a,
    body.oxy-halloween-page #navigation .menu-level-2 a > b,
    body.oxy-halloween-page #navigation .menu-level-2 a > span,
    body.oxy-halloween-page #navigation .menu-level-3 a,
    body.oxy-halloween-page #navigation .menu-level-3 a > b,
    body.oxy-halloween-page #navigation .menu-level-3 a > span {
        color: #fff !important;
    }
}


/* =========================================================
   OXYBAG HU – izolované rozdíly oproti CZ
   Pouze Halloween kategorie / slova ve šabloně HU.
   ========================================================= */

/* HU má globální růžové odkazy zapsané až v HTML zápatí.
   Vrátíme barvy původního Halloween designu jen jeho vlastním odkazům. */
body.oxy-halloween-page .category-perex a.oxy-halloween-cta,
body.oxy-halloween-page .category-perex a.oxy-h-icon-card,
body.oxy-halloween-subcategory .category-perex a.oxy-halloween-subcategory-nav-item {
    color: #fff !important;
    text-decoration: none !important;
}
body.oxy-halloween-page .category-perex a.oxy-halloween-cta:hover,
body.oxy-halloween-page .category-perex a.oxy-h-icon-card:hover,
body.oxy-halloween-subcategory .category-perex a.oxy-halloween-subcategory-nav-item:hover {
    text-decoration: none !important;
}

/* Stejně jako CZ nepustíme původní nejprodávanější blok mezi
   banner a ikonky, ani v mobilních podkategoriích. Filtry a produkty zůstanou. */
body.oxy-halloween-page .products-top-wrapper,
body.oxy-halloween-page #productsTopHeading {
    display: none !important;
}

/* Původní bílá šipka stránkování - čitelná před i po hoveru. */
body.oxy-halloween-page .pagination .pagination__link--next,
body.oxy-halloween-page .pagination .pagination__link--next::before,
body.oxy-halloween-page .pagination-wrapper a::before,
body.oxy-halloween-page .listingControls .pagination__link--next svg {
    color: #fff !important;
    stroke: currentColor;
}


/* =============================================================
   OXYBAG HU - HALLOWEEN V2
   1) Instagram z HU globalniho design/script.js neni soucasti
      Halloween landing page. Schovame POUZE na Halloween strankach.
   2) HU filtr znacek "Márkák" - jeden vyrobce na radku, text vlevo,
      pocet produktu vpravo; bez zmeny funkcnosti check-boxu.
   ============================================================= */

/* Instagram je pred patickou presouvany HU globalnim skriptem.
   Jeho skryti omezime na hlavni Halloween a vsech 6 podkategorii. */
html.oxy-halloween-boot body .custom-footer__instagram,
body.oxy-halloween-page .custom-footer__instagram {
    display: none !important;
}

/* Znacka oxy-hu-brands-filter je na sekci "Márkák" doplnena JS,
   at uz Shoptet pouziva jakoukoliv class pro druh filtru. */
body.oxy-halloween-page #filters .oxy-hu-brands-filter {
    min-width: 0 !important;
    width: 100% !important;
}

body.oxy-halloween-page #filters .oxy-hu-brands-filter form,
body.oxy-halloween-page #filters .oxy-hu-brands-filter fieldset,
body.oxy-halloween-page #filters .oxy-hu-brands-filter ul {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    columns: auto !important;
    column-count: 1 !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
    float: none !important;
}

/* Kazda znacka samostatne; nejde o zmenu accordion/collapse stavu. */
body.oxy-halloween-page #filters .oxy-hu-brands-filter fieldset > div,
body.oxy-halloween-page #filters .oxy-hu-brands-filter ul > li,
body.oxy-halloween-page #filters .oxy-hu-brands-filter .advanced-parameter {
    display: flex !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    float: none !important;
    clear: both !important;
}

body.oxy-halloween-page #filters .oxy-hu-brands-filter fieldset > div > label,
body.oxy-halloween-page #filters .oxy-hu-brands-filter ul > li > label,
body.oxy-halloween-page #filters .oxy-hu-brands-filter .advanced-parameter > label {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    box-sizing: border-box !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    line-height: 1.35 !important;
}

/* Pokud je cislo UVNITR labelu, zustava na jeho pravem okraji;
   pokud je hned VEDLE labelu, odsadi se do prava take. */
body.oxy-halloween-page #filters .oxy-hu-brands-filter label :is(.filter-count, .oxy-filter-count-badge, .advanced-parameter-count, .count),
body.oxy-halloween-page #filters .oxy-hu-brands-filter fieldset > div > :is(.filter-count, .oxy-filter-count-badge, .advanced-parameter-count, .count),
body.oxy-halloween-page #filters .oxy-hu-brands-filter ul > li > :is(.filter-count, .oxy-filter-count-badge, .advanced-parameter-count, .count) {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    margin: 0 0 0 auto !important;
    min-width: 26px !important;
    white-space: nowrap !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

body.oxy-halloween-page #filters .oxy-hu-brands-filter label > span:not(.filter-count):not(.oxy-filter-count-badge):not(.advanced-parameter-count):not(.count) {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
}
