/* ==========================================================
   MODA ZUZANA – PRODUKTY / KATEGORIE
   kompletní stylesheet
   ========================================================== */

:root {
    --mz-dark: #362626;
    --mz-primary: #997070;
    --mz-primary-hover: #806060;
    --mz-text: #211b1b;
    --mz-border: #e8e1e1;
    --mz-soft: #f6f3f3;
    --mz-green: #159326;
    --mz-red: #c62828;
}


/* ==========================================================
   1. ZÁKLAD PRODUKTOVÉ KARTY
   ========================================================== */

.products.products-block:not(.products-top) > .product {
    position: relative !important;
    box-sizing: border-box !important;

    margin-top: 0 !important;
    padding: 0 !important;

    border: 1px solid var(--mz-border) !important;
    border-radius: 9px !important;

    background: #fff !important;

    overflow: hidden !important;

    box-shadow: none !important;

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}

@media (hover:hover) {

    .products.products-block:not(.products-top) > .product:hover {
        border-color: #d9cccc !important;

        box-shadow:
            0 5px 18px rgba(54,38,38,.06) !important;

        transform: translateY(-1px);
    }
}


/* ==========================================================
   2. VNITŘEK KARTY
   ========================================================== */

.products.products-block:not(.products-top) > .product > .p {
    position: relative !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    background: #fff !important;
}


/* ==========================================================
   3. OBRÁZEK – OBECNÝ ZÁKLAD
   ========================================================== */

.products.products-block:not(.products-top) > .product .image {
    position: relative !important;

    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    background: #fff !important;

    overflow: hidden !important;
}


/* ==========================================================
   4. HOMEPAGE – FOTKA OPRAVDU AŽ DO KRAJŮ
   ========================================================== */

.products.homepage-products-29 > .product .image {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 8px 8px 0 0 !important;

    overflow: hidden !important;
}

.products.homepage-products-29 > .product .image img,
.products.homepage-products-29 > .product .image picture,
.products.homepage-products-29 > .product .image picture img {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 8px 8px 0 0 !important;
}


/* ==========================================================
   5. KATALOG – MALÉ FOTKY NEROZTAHUJEME
   ========================================================== */

.products.products-page > .product .image {
    display: flex !important;

    align-items: flex-start !important;
    justify-content: center !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
}

.products.products-page > .product .image img {
    display: block !important;

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

    height: auto !important;

    margin: 0 auto !important;
    padding: 0 !important;

    border: 0 !important;

    object-fit: contain !important;
}


/* ==========================================================
   6. TEXTOVÁ ČÁST PRODUKTOVÉ KARTY
   ========================================================== */

.products.products-block:not(.products-top) > .product .p-in {
    margin: 0 !important;

    padding:
        11px
        14px
        0 !important;
}

.products.products-block:not(.products-top) > .product .p-in-in {
    height: auto !important;
    min-height: 0 !important;
}


/* ==========================================================
   7. NÁZEV PRODUKTU
   ========================================================== */

.products.products-block:not(.products-top) > .product .name {
    display: block !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 0 5px !important;

    color: var(--mz-text) !important;

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

    line-height: 1.3 !important;

    text-decoration: none !important;
}

.products.products-block:not(.products-top) > .product .name span {
    font-size: inherit !important;
    font-weight: inherit !important;
}


/* ==========================================================
   8. DOSTUPNOST
   ========================================================== */

.products.products-block:not(.products-top) > .product .availability {
    position: static !important;

    display: block !important;

    width: auto !important;
    height: auto !important;
    min-height: 0 !important;

    margin: 0 0 9px !important;
    padding: 0 !important;

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

    line-height: 20px !important;

    text-align: left !important;
}

.products .availability::before {
    content: none !important;
}


/* SKLADEM */

.products .availability.mz-availability-stock {
    color: var(--mz-green) !important;
}

.products .availability.mz-availability-stock::before {
    content: "" !important;

    display: inline-block !important;

    width: 7px !important;
    height: 7px !important;

    margin-right: 6px !important;

    border-radius: 50% !important;

    background: #299b36 !important;

    vertical-align: 1px !important;
}


/* VYPRODÁNO */

.products .availability.mz-availability-out {
    color: var(--mz-red) !important;
}

.products .availability.mz-availability-out::before {
    content: "" !important;

    display: inline-block !important;

    width: 7px !important;
    height: 7px !important;

    margin-right: 6px !important;

    border-radius: 50% !important;

    background: #d32f2f !important;

    vertical-align: 1px !important;
}


/* ==========================================================
   9. POPIS
   ========================================================== */

.products.products-block:not(.products-top) > .product .p-desc {
    display: none !important;
}


/* ==========================================================
   10. CENA + DETAIL
   ========================================================== */

.products.products-block:not(.products-top) > .product .p-bottom {
    position: static !important;

    margin: 0 !important;
    padding: 0 !important;
}

.products.products-block:not(.products-top) > .product .p-bottom > div {
    display: flex !important;

    align-items: center !important;
    justify-content: space-between !important;

    gap: 10px !important;
}

.products.products-block:not(.products-top) > .product .prices,
.products.products-block:not(.products-top) > .product .p-tools {
    margin: 0 !important;
    padding: 0 !important;
}

.products.products-block:not(.products-top) > .product .price {
    margin: 0 !important;
}

.products.products-block:not(.products-top) > .product .price-final {
    color: #181313 !important;

    font-size: 21px !important;
    font-weight: 700 !important;

    line-height: 1.25 !important;
}


/* ==========================================================
   11. DETAIL
   ========================================================== */

.products.products-block:not(.products-top) > .product .btn {
    min-width: auto !important;
    min-height: 38px !important;

    margin: 0 !important;

    padding: 9px 16px !important;

    border: 0 !important;
    border-radius: 7px !important;

    background: var(--mz-primary) !important;
    color: #fff !important;

    font-size: 13px !important;
    font-weight: 600 !important;

    line-height: 20px !important;

    text-decoration: none !important;

    transition: background-color .2s ease;
}

.products.products-block:not(.products-top) > .product .btn:hover {
    background: var(--mz-primary-hover) !important;
}


/* ==========================================================
   12. VARIANTY
   ========================================================== */

.products.products-block:not(.products-top) > .product .widget-parameter-wrapper {
    margin:
        8px
        14px
        12px !important;

    padding-top: 8px !important;

    border-top: 1px solid #eee !important;
}

.products.products-block:not(.products-top) > .product .widget-parameter-list {
    display: flex !important;

    flex-wrap: wrap !important;

    gap: 5px !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

.products.products-block:not(.products-top) > .product .widget-parameter-value {
    margin: 0 !important;
    padding: 0 !important;
}

.products.products-block:not(.products-top) > .product .widget-parameter-value a,
.products.products-block:not(.products-top) > .product .widget-parameter-more {
    display: block !important;

    margin: 0 !important;

    padding: 5px 9px !important;

    border: 0 !important;
    border-radius: 14px !important;

    background: #f4f2f2 !important;
    color: #554b4b !important;

    font-size: 12px !important;
    font-weight: 400 !important;

    line-height: 16px !important;

    text-decoration: none !important;
}


/* ==========================================================
   13. DKLAB – PRÁVĚ PROHLÍŽÍ
   ========================================================== */

.products .product .image .dklabZakoupeno {
    position: absolute !important;

    top: auto !important;
    right: auto !important;

    bottom: 12px !important;
    left: 12px !important;

    z-index: 5 !important;

    display: inline-flex !important;

    align-items: center !important;

    width: auto !important;

    max-width: calc(100% - 24px) !important;

    margin: 0 !important;

    padding: 6px 11px !important;

    border: 0 !important;
    border-radius: 18px !important;

    background: rgba(118,91,85,.92) !important;

    color: #fff !important;

    font-size: 12px !important;
    font-weight: 400 !important;

    line-height: 18px !important;

    white-space: nowrap !important;

    box-shadow:
        0 2px 6px
        rgba(0,0,0,.12) !important;

    transform: none !important;
}

.products .product .image .dklabZakoupeno::before {
    content: "◉";

    display: inline-block;

    margin-right: 6px;

    color: #fff;

    font-size: 11px;
}

.products .product .image .dklabZakoupeno .num {
    margin-left: 4px;

    color: #fff !important;

    font-weight: 700 !important;
}

.products .product .image .dklabZakoupeno .unit {
    margin-left: 3px;

    color: #fff !important;
}


/* ==========================================================
   14. HOMEPAGE SLIDER
   ========================================================== */

@media (min-width: 992px) {

    .products.homepage-products-29 {
        display: flex !important;

        flex-wrap: nowrap !important;

        gap: 16px !important;

        margin: 0 !important;

        /*
         * 0 nahoře a po stranách:
         * fotografie tak nezačínají uvnitř dalšího paddingu.
         */
        padding: 0 1px 4px !important;

        overflow-x: auto !important;
        overflow-y: hidden !important;

        scroll-behavior: smooth;

        scroll-snap-type: x mandatory;

        scrollbar-width: none;
    }

    .products.homepage-products-29::-webkit-scrollbar {
        display: none;
    }

    .products.homepage-products-29 > .product {
        flex:
            0 0
            calc((100% - 48px) / 4) !important;

        width:
            calc((100% - 48px) / 4) !important;

        max-width:
            calc((100% - 48px) / 4) !important;

        margin: 0 !important;

        padding: 0 !important;

        scroll-snap-align: start;
    }

    .hp-slider {
        position: relative;

        z-index: 1;

        padding-bottom: 28px;
    }

    .hp-arr {
        position: absolute;

        z-index: 10;

        width: 46px;
        height: 46px;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;
        border-radius: 50% !important;

        background: #fff !important;
        color: var(--mz-dark) !important;

        box-shadow:
            0 3px 15px
            rgba(0,0,0,.20);

        font-family: Arial,sans-serif;

        font-size: 30px;
        font-weight: 400;

        line-height: 46px;

        text-align: center;

        cursor: pointer;

        transform: translateY(-50%);
    }

    .hp-prev {
        left: -20px;
    }

    .hp-next {
        right: -20px;
    }

    .hp-dots {
        display: flex;

        align-items: center;
        justify-content: center;

        gap: 7px;

        margin-top: 16px;
    }

    .hp-dot {
        width: 28px;
        height: 4px;

        margin: 0;
        padding: 0;

        border: 0;
        border-radius: 4px;

        background: #ddd;

        cursor: pointer;
    }

    .hp-dot.on {
        width: 34px;

        background: var(--mz-primary);
    }
}


/* ==========================================================
   15. HLAVNÍ PRODUKTOVÝ GRID – KATEGORIE
   ========================================================== */

.products.products-page {
    display: grid !important;

    grid-template-columns:
        repeat(4,minmax(0,1fr)) !important;

    gap: 16px !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}

.products.products-page > .product {
    float: none !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* ==========================================================
   16. PODKATEGORIE
   ========================================================== */

.subcategories {
    display: grid !important;

    grid-template-columns:
        repeat(5,minmax(0,1fr)) !important;

    gap: 10px !important;

    margin: 14px 0 30px !important;
    padding: 0 !important;
}

.subcategories > li {
    float: none !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

.subcategories > li > a {
    position: relative !important;

    display: flex !important;

    align-items: center !important;

    width: 100% !important;
    min-height: 50px !important;

    margin: 0 !important;

    padding:
        10px
        38px
        10px
        15px !important;

    border:
        1px solid #a98787 !important;

    border-radius:
        7px !important;

    background:
        var(--mz-primary) !important;

    color:
        #fff !important;

    font-size:
        14px !important;

    font-weight:
        600 !important;

    line-height:
        1.3 !important;

    text-align:
        left !important;

    text-decoration:
        none !important;

    box-shadow:
        none !important;

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

.subcategories > li > a::before {
    content: none !important;
    display: none !important;
}

.subcategories > li > a::after {
    content: "›" !important;

    position: absolute !important;

    top: 50% !important;
    right: 14px !important;
    left: auto !important;

    width: auto !important;
    height: auto !important;

    margin: 0 !important;

    border: 0 !important;

    background: none !important;

    color:
        rgba(255,255,255,.9) !important;

    font-size: 21px !important;
    font-weight: 400 !important;

    line-height: 1 !important;

    transform:
        translateY(-52%) !important;
}

.subcategories > li > a:hover {
    border-color:
        var(--mz-dark) !important;

    background:
        var(--mz-dark) !important;

    color:
        #fff !important;

    transform:
        translateY(-1px);
}

.subcategories > li > a img {
    width: 36px !important;
    height: 36px !important;

    margin:
        0
        10px
        0
        0 !important;

    border-radius:
        5px !important;

    object-fit:
        cover !important;
}


/* ==========================================================
   NEJPRODÁVANĚJŠÍ – FINÁLNÍ ŘEŠENÍ
   ========================================================== */

.products-top-header {
    margin:
        12px
        0
        14px !important;

    color:
        #211b1b !important;

    font-size:
        21px !important;

    font-weight:
        500 !important;

    line-height:
        1.3 !important;
}


/* ----------------------------------------------------------
   KONTEJNER
   Flex místo Shoptet gridu = žádné prázdné grid řádky
   ---------------------------------------------------------- */

#productsTop.products-top {
    display: flex !important;

    flex-flow:
        row wrap !important;

    align-items:
        stretch !important;

    align-content:
        flex-start !important;

    justify-content:
        flex-start !important;

    gap:
        14px !important;

    width:
        100% !important;

    height:
        auto !important;

    min-height:
        0 !important;

    max-height:
        none !important;

    margin:
        0 !important;

    padding:
        0 !important;

    overflow:
        visible !important;

    grid-template-columns:
        none !important;

    grid-template-rows:
        none !important;

    grid-auto-rows:
        unset !important;
}


/* ----------------------------------------------------------
   KARTA – 4 VEDLE SEBE
   ---------------------------------------------------------- */

#productsTop.products-top > .product {
    position:
        relative !important;

    float:
        none !important;

    flex:
        0 0
        calc((100% - 42px) / 4) !important;

    width:
        calc((100% - 42px) / 4) !important;

    max-width:
        calc((100% - 42px) / 4) !important;

    height:
        auto !important;

    min-height:
        0 !important;

    max-height:
        none !important;

    margin:
        0 !important;

    padding:
        0 !important;

    border:
        1px solid #e8e1e1 !important;

    border-radius:
        9px !important;

    background:
        #fff !important;

    overflow:
        hidden !important;

    box-shadow:
        none !important;

    box-sizing:
        border-box !important;

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}


@media (hover:hover) {

    #productsTop.products-top > .product:hover {
        border-color:
            #d6caca !important;

        box-shadow:
            0 4px 14px
            rgba(54,38,38,.06) !important;

        transform:
            translateY(-1px);
    }

}


/* ----------------------------------------------------------
   VNITŘEK KARTY
   ---------------------------------------------------------- */

#productsTop.products-top > .product > .p {
    position:
        relative !important;

    display:
        grid !important;

    grid-template-columns:
        82px minmax(0,1fr) !important;

    grid-template-rows:
        auto !important;

    align-items:
        center !important;

    width:
        100% !important;

    height:
        auto !important;

    min-height:
        0 !important;

    max-height:
        none !important;

    margin:
        0 !important;

    padding:
        10px !important;

    border:
        0 !important;

    background:
        #fff !important;

    box-sizing:
        border-box !important;
}


/* ----------------------------------------------------------
   FOTO
   ---------------------------------------------------------- */

#productsTop.products-top > .product .image {
    position:
        relative !important;

    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    width:
        82px !important;

    min-width:
        82px !important;

    height:
        104px !important;

    margin:
        0 !important;

    padding:
        0 !important;

    border:
        0 !important;

    border-radius:
        7px !important;

    background:
        #f7f5f5 !important;

    overflow:
        hidden !important;
}


#productsTop.products-top > .product .image img {
    display:
        block !important;

    width:
        auto !important;

    max-width:
        100% !important;

    height:
        auto !important;

    max-height:
        104px !important;

    margin:
        auto !important;

    padding:
        0 !important;

    border:
        0 !important;

    object-fit:
        contain !important;
}


/* ----------------------------------------------------------
   OBSAH
   ---------------------------------------------------------- */

#productsTop.products-top > .product .p-in {
    display:
        flex !important;

    flex-direction:
        column !important;

    justify-content:
        center !important;

    width:
        100% !important;

    min-width:
        0 !important;

    height:
        auto !important;

    min-height:
        0 !important;

    margin:
        0 !important;

    padding:
        2px
        4px
        2px
        13px !important;

    box-sizing:
        border-box !important;
}


#productsTop.products-top > .product .p-in-in {
    display:
        block !important;

    height:
        auto !important;

    min-height:
        0 !important;
}


/* ----------------------------------------------------------
   NÁZEV
   ---------------------------------------------------------- */

#productsTop.products-top > .product .name {
    display:
        block !important;

    height:
        auto !important;

    min-height:
        0 !important;

    margin:
        0
        0
        5px !important;

    color:
        #211b1b !important;

    font-size:
        14px !important;

    font-weight:
        600 !important;

    line-height:
        1.3 !important;

    text-decoration:
        none !important;
}


/* ----------------------------------------------------------
   DOSTUPNOST
   ---------------------------------------------------------- */

#productsTop.products-top > .product .availability {
    position:
        static !important;

    display:
        block !important;

    width:
        auto !important;

    height:
        auto !important;

    min-height:
        0 !important;

    margin:
        0
        0
        7px !important;

    padding:
        0 !important;

    font-size:
        12px !important;

    font-weight:
        500 !important;

    line-height:
        17px !important;

    text-align:
        left !important;
}


/* ----------------------------------------------------------
   SPODNÍ ČÁST
   ---------------------------------------------------------- */

#productsTop.products-top > .product .p-bottom {
    position:
        static !important;

    display:
        block !important;

    width:
        100% !important;

    height:
        auto !important;

    min-height:
        0 !important;

    margin:
        0 !important;

    padding:
        0 !important;
}


#productsTop.products-top > .product .p-bottom > div {
    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        flex-start !important;

    width:
        100% !important;

    gap:
        8px !important;
}


/* ----------------------------------------------------------
   CENA
   ---------------------------------------------------------- */

#productsTop.products-top > .product .prices,
#productsTop.products-top > .product .price {
    margin:
        0 !important;

    padding:
        0 !important;
}


#productsTop.products-top > .product .price-final {
    margin:
        0 !important;

    color:
        #181313 !important;

    font-size:
        17px !important;

    font-weight:
        700 !important;

    line-height:
        1.2 !important;
}


/* ----------------------------------------------------------
   SKRYJEME NEPOTŘEBNÉ ČÁSTI
   ---------------------------------------------------------- */

#productsTop.products-top > .product .p-desc,
#productsTop.products-top > .product .widget-parameter-wrapper {
    display:
        none !important;
}


/* ==========================================================
   TLAČÍTKO "ZOBRAZIT VÍCE PRODUKTŮ"
   ========================================================== */

#productsTop + .button-wrapper {
    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    width:
        100% !important;

    height:
        auto !important;

    min-height:
        0 !important;

    margin:
        18px
        0
        28px !important;

    padding:
        0 !important;
}


#productsTop + .button-wrapper .toggle-top-products {
    margin:
        0 !important;

    padding:
        8px
        14px !important;

    border:
        0 !important;

    background:
        transparent !important;

    color:
        #806060 !important;

    font-size:
        13px !important;

    font-weight:
        500 !important;

    box-shadow:
        none !important;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (min-width:768px) and (max-width:1199px) {

    #productsTop.products-top > .product {
        flex-basis:
            calc((100% - 14px) / 2) !important;

        width:
            calc((100% - 14px) / 2) !important;

        max-width:
            calc((100% - 14px) / 2) !important;
    }

}


/* ==========================================================
   MOBIL
   ========================================================== */

@media (max-width:767px) {

    #productsTop.products-top {
        display:
            flex !important;

        flex-flow:
            row nowrap !important;

        gap:
            10px !important;

        width:
            auto !important;

        height:
            auto !important;

        min-height:
            0 !important;

        margin:
            0
            -10px !important;

        padding:
            2px
            10px
            5px !important;

        overflow-x:
            auto !important;

        overflow-y:
            hidden !important;

        scroll-snap-type:
            x mandatory;

        scrollbar-width:
            none;
    }


    #productsTop.products-top::-webkit-scrollbar {
        display:
            none;
    }


    #productsTop.products-top > .product {
        flex:
            0 0
            87% !important;

        width:
            87% !important;

        min-width:
            87% !important;

        max-width:
            87% !important;

        height:
            auto !important;

        min-height:
            0 !important;

        scroll-snap-align:
            start;
    }


    #productsTop + .button-wrapper {
        margin:
            14px
            0
            22px !important;
    }

}


/* ==========================================================
   18. FILTRY
   ========================================================== */

.filters-wrapper,
#filters {
    margin-bottom:
        20px !important;
}

.filters-wrapper .btn,
#filters .btn {
    min-height:
        42px !important;

    padding:
        8px
        16px !important;

    border:
        1px solid #d9cece !important;

    border-radius:
        7px !important;

    background:
        #fff !important;

    color:
        var(--mz-dark) !important;

    font-size:
        13px !important;

    font-weight:
        600 !important;

    box-shadow:
        none !important;
}

.filters-wrapper .btn:hover,
#filters .btn:hover {
    border-color:
        var(--mz-primary) !important;

    background:
        #faf7f7 !important;
}


/* ==========================================================
   19. TABLET 768–1199
   ========================================================== */

@media (min-width:768px) and (max-width:1199px) {

    .subcategories {
        grid-template-columns:
            repeat(3,minmax(0,1fr)) !important;
    }

    #productsTop.products-top {
        grid-template-columns:
            repeat(2,minmax(0,1fr)) !important;
    }
}


/* ==========================================================
   20. TABLET – HOMEPAGE SLIDER
   ========================================================== */

@media (min-width:768px) and (max-width:991px) {

    .products.homepage-products-29 {
        display: flex !important;

        flex-wrap: nowrap !important;

        gap: 14px !important;

        margin: 0 !important;

        padding:
            0
            1px
            4px !important;

        overflow-x:
            auto !important;

        overflow-y:
            hidden !important;

        scroll-behavior:
            smooth;

        scroll-snap-type:
            x mandatory;

        scrollbar-width:
            none;
    }

    .products.homepage-products-29::-webkit-scrollbar {
        display: none;
    }

    .products.homepage-products-29 > .product {
        flex:
            0 0
            calc((100% - 28px) / 3) !important;

        width:
            calc((100% - 28px) / 3) !important;

        max-width:
            calc((100% - 28px) / 3) !important;

        margin:
            0 !important;

        scroll-snap-align:
            start;
    }

    .products.products-page {
        grid-template-columns:
            repeat(3,minmax(0,1fr)) !important;

        gap:
            14px !important;
    }

    .hp-slider {
        position:
            relative;

        z-index:
            1;

        padding-bottom:
            28px;
    }

    .hp-arr {
        position:
            absolute;

        z-index:
            10;

        width:
            44px;

        height:
            44px;

        margin:
            0;

        padding:
            0;

        border:
            0;

        border-radius:
            50%;

        background:
            #fff;

        color:
            var(--mz-dark);

        box-shadow:
            0 3px 15px
            rgba(0,0,0,.20);

        font-size:
            28px;

        line-height:
            44px;

        text-align:
            center;

        transform:
            translateY(-50%);
    }

    .hp-prev {
        left:
            5px;
    }

    .hp-next {
        right:
            5px;
    }

    .hp-dots {
        display:
            flex;

        justify-content:
            center;

        gap:
            7px;

        margin-top:
            16px;
    }

    .hp-dot {
        width:
            28px;

        height:
            4px;

        padding:
            0;

        border:
            0;

        border-radius:
            4px;

        background:
            #ddd;
    }

    .hp-dot.on {
        width:
            34px;

        background:
            var(--mz-primary);
    }
}


/* ==========================================================
   21. MOBIL
   ========================================================== */

@media (max-width:767px) {

    /* HOMEPAGE */

    .hp-slider {
        padding-bottom:
            0 !important;
    }

    .hp-arr,
    .hp-dots {
        display:
            none !important;
    }

    .products.homepage-products-29 {
        display:
            grid !important;

        grid-template-columns:
            repeat(2,minmax(0,1fr)) !important;

        gap:
            10px !important;

        margin:
            0 !important;

        padding:
            0 !important;

        overflow:
            visible !important;
    }

    .products.homepage-products-29 > .product {
        width:
            100% !important;

        max-width:
            none !important;

        margin:
            0 !important;

        padding:
            0 !important;
    }


    /* KATALOG */

    .products.products-page {
        grid-template-columns:
            repeat(2,minmax(0,1fr)) !important;

        gap:
            10px !important;
    }


    /* OBSAH PRODUKTOVÝCH KARET */

    .products.products-block:not(.products-top) > .product .p-in {
        padding:
            10px
            10px
            0 !important;
    }

    .products.products-block:not(.products-top) > .product .name {
        margin-bottom:
            6px !important;

        font-size:
            14px !important;

        line-height:
            1.3 !important;
    }

    .products.products-block:not(.products-top) > .product .availability {
        margin-bottom:
            9px !important;

        font-size:
            13px !important;

        line-height:
            19px !important;
    }

    .products.products-block:not(.products-top) > .product .price-final {
        font-size:
            18px !important;
    }

    .products.products-block:not(.products-top) > .product .p-bottom > div {
        gap:
            7px !important;
    }

    .products.products-block:not(.products-top) > .product .btn {
        min-height:
            38px !important;

        padding:
            8px
            11px !important;

        font-size:
            12px !important;
    }


    /* VARIANTY */

    .products.products-block:not(.products-top) > .product .widget-parameter-wrapper {
        margin:
            8px
            10px
            10px !important;

        padding-top:
            8px !important;
    }

    .products.products-block:not(.products-top) > .product .widget-parameter-value a,
    .products.products-block:not(.products-top) > .product .widget-parameter-more {
        padding:
            5px
            8px !important;

        font-size:
            12px !important;

        line-height:
            16px !important;
    }


    /* DKLAB */

    .products .product .image .dklabZakoupeno {
        bottom:
            7px !important;

        left:
            7px !important;

        max-width:
            calc(100% - 14px) !important;

        padding:
            5px
            8px !important;

        border-radius:
            14px !important;

        font-size:
            10px !important;

        line-height:
            14px !important;

        white-space:
            normal !important;
    }


    /* PODKATEGORIE */

    .subcategories {
        grid-template-columns:
            repeat(2,minmax(0,1fr)) !important;

        gap:
            7px !important;

        margin:
            10px
            0
            22px !important;
    }

    .subcategories > li > a {
        min-height:
            46px !important;

        padding:
            8px
            28px
            8px
            11px !important;

        font-size:
            12px !important;
    }

    .subcategories > li > a::after {
        right:
            9px !important;

        font-size:
            18px !important;
    }


    /* NEJPRODÁVANĚJŠÍ – MOBILNÍ SWIPE */

    #productsTop.products-top {
        display:
            flex !important;

        gap:
            10px !important;

        width:
            auto !important;

        margin:
            0
            -10px
            28px !important;

        padding:
            2px
            10px
            8px !important;

        overflow-x:
            auto !important;

        overflow-y:
            hidden !important;

        scroll-snap-type:
            x mandatory;

        scrollbar-width:
            none;
    }

    #productsTop.products-top::-webkit-scrollbar {
        display:
            none;
    }

    #productsTop.products-top > .product {
        flex:
            0 0
            87% !important;

        width:
            87% !important;

        min-width:
            87% !important;

        min-height:
            138px !important;

        scroll-snap-align:
            start;
    }

    #productsTop.products-top > .product > .p {
        min-height:
            138px !important;

        padding:
            10px !important;
    }

    #productsTop.products-top > .product .image {
        flex:
            0 0
            92px !important;

        width:
            92px !important;

        min-width:
            92px !important;

        height:
            116px !important;
    }

    #productsTop.products-top > .product .image img {
        max-height:
            116px !important;
    }

    #productsTop.products-top > .product .p-in {
        padding:
            5px
            5px
            5px
            12px !important;
    }

    #productsTop.products-top > .product .name {
        font-size:
            13px !important;
    }

    #productsTop.products-top > .product .availability {
        margin-bottom:
            6px !important;

        font-size:
            12px !important;
    }

    #productsTop.products-top > .product .price-final {
        font-size:
            17px !important;
    }
}


/* ==========================================================
   22. MALÉ TELEFONY
   ========================================================== */

@media (max-width:380px) {

    .products.homepage-products-29,
    .products.products-page {
        gap:
            7px !important;
    }

    .products.products-block:not(.products-top) > .product .p-in {
        padding:
            8px
            8px
            0 !important;
    }

    .products.products-block:not(.products-top) > .product .name {
        font-size:
            13px !important;
    }

    .products.products-block:not(.products-top) > .product .availability {
        font-size:
            12px !important;
    }

    .products.products-block:not(.products-top) > .product .price-final {
        font-size:
            17px !important;
    }

    .products.products-block:not(.products-top) > .product .btn {
        min-height:
            36px !important;

        padding:
            7px
            9px !important;

        font-size:
            11px !important;
    }

    #productsTop.products-top > .product {
        flex-basis:
            91% !important;

        width:
            91% !important;

        min-width:
            91% !important;
    }
}
/* ==========================================================
   FINÁLNÍ DOLADĚNÍ KARET
   ========================================================== */


/* ----------------------------------------------------------
   1. NEJPRODÁVANĚJŠÍ – KOMPAKTNÍ KARTY
   ---------------------------------------------------------- */

.products-top-header {
    margin-bottom: 12px !important;
}

#productsTop.products-top {
    align-items: start !important;
    margin-bottom: 18px !important;
}

#productsTop.products-top > .product {
    min-height: 0 !important;
    height: auto !important;
}

#productsTop.products-top > .product > .p {
    display: grid !important;

    grid-template-columns: 96px minmax(0,1fr) !important;
    grid-template-rows: auto !important;

    align-items: center !important;

    min-height: 0 !important;
    height: auto !important;

    padding: 10px !important;
}


/* FOTO */

#productsTop.products-top > .product .image {
    grid-column: 1 !important;

    width: 96px !important;
    min-width: 96px !important;
    height: 116px !important;

    margin: 0 !important;

    align-self: center !important;
}

#productsTop.products-top > .product .image img {
    max-width: 100% !important;
    max-height: 116px !important;
}


/* TEXTOVÁ ČÁST */

#productsTop.products-top > .product .p-in {
    grid-column: 2 !important;

    display: block !important;

    width: 100% !important;

    margin: 0 !important;

    padding:
        3px
        8px
        3px
        14px !important;
}

#productsTop.products-top > .product .name {
    margin-bottom: 5px !important;

    font-size: 15px !important;
    line-height: 1.3 !important;
}

#productsTop.products-top > .product .availability {
    margin-bottom: 7px !important;

    font-size: 12px !important;
    line-height: 17px !important;
}


/* CENA */

#productsTop.products-top > .product .p-bottom {
    margin: 0 !important;
    padding: 0 !important;
}

#productsTop.products-top > .product .p-bottom > div {
    display: flex !important;

    align-items: center !important;
    justify-content: space-between !important;

    gap: 8px !important;
}

#productsTop.products-top > .product .price-final {
    font-size: 18px !important;
}


/* pokud Shoptet v Nejprodávanějších nemá DETAIL,
   karta zůstane kompaktní bez rezervovaného prostoru */

#productsTop.products-top > .product .p-tools:empty {
    display: none !important;
}


/* ----------------------------------------------------------
   2. ODSTRANĚNÍ VELKÉ MEZERY POD NEJPRODÁVANĚJŠÍMI
   ---------------------------------------------------------- */

#productsTop.products-top {
    padding-bottom: 0 !important;
}

#productsTop + *,
.products-top + * {
    margin-top: 0 !important;
}


/* ----------------------------------------------------------
   3. KLASICKÉ PRODUKTY – FOTO ÚPLNĚ DO KRAJE KARTY
   ---------------------------------------------------------- */

.products.products-page > .product,
.products.homepage-products-29 > .product {
    padding: 0 !important;
}

.products.products-page > .product > .p,
.products.homepage-products-29 > .product > .p {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}

.products.products-page > .product .image,
.products.homepage-products-29 > .product .image {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    border-radius: 8px 8px 0 0 !important;

    background: transparent !important;
}


/* HOMEPAGE – obrázek přes celou šířku */

.products.homepage-products-29 > .product .image img,
.products.homepage-products-29 > .product .image picture,
.products.homepage-products-29 > .product .image picture img {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
}


/* ----------------------------------------------------------
   4. DKLAB – "TENTO PRODUKT PRÁVĚ PROHLÍŽÍ"
   ---------------------------------------------------------- */

.products .product .image .dklabZakoupeno {
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;

    width: auto !important;
    max-width: none !important;

    box-sizing: border-box !important;

    justify-content: center !important;

    padding:
        6px
        9px !important;

    overflow: hidden !important;

    font-size: 11px !important;
    line-height: 16px !important;

    white-space: nowrap !important;

    text-overflow: ellipsis !important;
}


/* ----------------------------------------------------------
   5. UŽŠÍ PRODUKTOVÉ KARTY
   místo přetékání štítek zmenšíme
   ---------------------------------------------------------- */

@media (max-width: 1199px) {

    .products .product .image .dklabZakoupeno {
        left: 8px !important;
        right: 8px !important;
        bottom: 8px !important;

        padding:
            5px
            7px !important;

        font-size: 10px !important;
        line-height: 14px !important;
    }

    .products .product .image .dklabZakoupeno::before {
        margin-right: 4px !important;

        font-size: 9px !important;
    }
}


/* ----------------------------------------------------------
   6. MOBIL – DKLAB
   ---------------------------------------------------------- */

@media (max-width: 767px) {

    .products .product .image .dklabZakoupeno {
        left: 6px !important;
        right: 6px !important;
        bottom: 6px !important;

        max-width: none !important;

        padding:
            4px
            6px !important;

        border-radius: 12px !important;

        font-size: 9px !important;
        line-height: 13px !important;

        white-space: nowrap !important;

        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }


    /* Nejprodávanější na mobilu */

    #productsTop.products-top > .product {
        min-height: 0 !important;
        height: auto !important;
    }

    #productsTop.products-top > .product > .p {
        display: grid !important;

        grid-template-columns:
            86px
            minmax(0,1fr) !important;

        min-height: 0 !important;
        height: auto !important;

        padding: 9px !important;
    }

    #productsTop.products-top > .product .image {
        width: 86px !important;
        min-width: 86px !important;
        height: 105px !important;
    }

    #productsTop.products-top > .product .image img {
        max-height: 105px !important;
    }

    #productsTop.products-top > .product .p-in {
        padding:
            2px
            4px
            2px
            11px !important;
    }
}
/* ==========================================================
   NEJPRODÁVANĚJŠÍ – FINÁLNÍ OPRAVA GRIDU
   ========================================================== */

#productsTop.products-top {
    display: grid !important;

    /* 4 produkty vedle sebe */
    grid-template-columns:
        repeat(4, minmax(0, 1fr)) !important;

    /*
     * ZÁSADNÍ:
     * Shoptet má u tohoto bloku připravené další grid řádky.
     * Nesmíme jim dovolit roztáhnout se do volného prostoru.
     */
    grid-template-rows: none !important;
    grid-auto-rows: max-content !important;

    align-items: start !important;
    align-content: start !important;

    gap: 14px !important;

    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;

    margin: 0 0 22px !important;
    padding: 0 !important;
}


/* ----------------------------------------------------------
   SKRYTÉ PRODUKTY NESMÍ ZABÍRAT MÍSTO V GRIDU
   ---------------------------------------------------------- */

#productsTop.products-top > .product[style*="display: none"],
#productsTop.products-top > .product.hidden {
    display: none !important;
}


/* ----------------------------------------------------------
   KARTA
   ---------------------------------------------------------- */

#productsTop.products-top > .product {
    position: relative !important;

    float: none !important;

    display: block !important;

    width: 100% !important;
    max-width: none !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

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

    background: #fff !important;

    overflow: hidden !important;
}


/* ----------------------------------------------------------
   VNITŘEK KARTY
   ---------------------------------------------------------- */

#productsTop.products-top > .product > .p {
    display: grid !important;

    grid-template-columns:
        86px minmax(0, 1fr) !important;

    grid-template-rows:
        auto !important;

    align-items: center !important;

    width: 100% !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 10px !important;

    border: 0 !important;

    background: #fff !important;
}


/* ----------------------------------------------------------
   OBRÁZEK
   ---------------------------------------------------------- */

#productsTop.products-top > .product .image {
    position: relative !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 86px !important;
    min-width: 86px !important;
    height: 106px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 7px !important;

    background: #f7f5f5 !important;

    overflow: hidden !important;
}

#productsTop.products-top > .product .image img {
    display: block !important;

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

    height: auto !important;
    max-height: 106px !important;

    margin: auto !important;

    object-fit: contain !important;
}


/* ----------------------------------------------------------
   TEXT
   ---------------------------------------------------------- */

#productsTop.products-top > .product .p-in {
    display: block !important;

    width: 100% !important;
    min-width: 0 !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;

    padding:
        3px
        5px
        3px
        13px !important;
}

#productsTop.products-top > .product .p-in-in {
    display: block !important;

    height: auto !important;
    min-height: 0 !important;
}


/* ----------------------------------------------------------
   NÁZEV
   ---------------------------------------------------------- */

#productsTop.products-top > .product .name {
    display: block !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 0 5px !important;

    color: #211b1b !important;

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

    line-height: 1.3 !important;
}


/* ----------------------------------------------------------
   DOSTUPNOST
   ---------------------------------------------------------- */

#productsTop.products-top > .product .availability {
    position: static !important;

    display: block !important;

    width: auto !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 0 7px !important;
    padding: 0 !important;

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

    line-height: 17px !important;

    text-align: left !important;
}


/* ----------------------------------------------------------
   CENA
   ---------------------------------------------------------- */

#productsTop.products-top > .product .p-bottom {
    position: static !important;

    display: block !important;

    width: 100% !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}

#productsTop.products-top > .product .p-bottom > div {
    display: flex !important;

    align-items: center !important;
    justify-content: flex-start !important;

    width: 100% !important;

    gap: 8px !important;
}

#productsTop.products-top > .product .prices,
#productsTop.products-top > .product .price {
    margin: 0 !important;
    padding: 0 !important;
}

#productsTop.products-top > .product .price-final {
    margin: 0 !important;

    color: #181313 !important;

    font-size: 17px !important;
    font-weight: 700 !important;

    line-height: 1.2 !important;
}


/* nepotřebné části */

#productsTop.products-top > .product .p-desc,
#productsTop.products-top > .product .widget-parameter-wrapper {
    display: none !important;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (min-width: 768px) and (max-width: 1199px) {

    #productsTop.products-top {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }

}


/* ==========================================================
   MOBIL – horizontální posun zůstává
   ========================================================== */

@media (max-width: 767px) {

    #productsTop.products-top {
        display: flex !important;

        gap: 10px !important;

        width: auto !important;

        height: auto !important;
        min-height: 0 !important;

        margin:
            0
            -10px
            22px !important;

        padding:
            2px
            10px
            8px !important;

        overflow-x: auto !important;
        overflow-y: hidden !important;

        scroll-snap-type: x mandatory;

        scrollbar-width: none;
    }

    #productsTop.products-top::-webkit-scrollbar {
        display: none;
    }

    #productsTop.products-top > .product {
        flex:
            0 0
            87% !important;

        width: 87% !important;
        min-width: 87% !important;

        height: auto !important;
        min-height: 0 !important;

        scroll-snap-align: start;
    }

}