
/* celý produkt */
.products-block.products .product .p {
    background: #fbfbfb !important;
    display: flex !important;
    flex-direction: column !important;
}

/* obrázek čistě nahoře */
.products-block.products .product .image {
    display: block;
    background: #fff;
}

/* textová část pod fotkou */
.products-block.products .product .p-in {
    background: #fbfbfb !important;

    padding: 18px !important;

    display: grid !important;
    grid-template-columns: 1fr auto;
    grid-template-areas:
        "info price"
        "button button";
    gap: 14px 16px;
}

/* název + skladovost vlevo */
.products-block.products .product .p-in-in {
    grid-area: info;
}

/* název produktu */
.products-block.products .product .name {
    display: block !important;
    margin: 0 0 6px 0 !important;

    font-size: 16px !important;
    line-height: 1.3 !important;
    font-weight: 500 !important;

    color: #000 !important;
    text-decoration: none !important;
}

/* skladovost */
.products-block.products .product .availability {
    font-size: 13px !important;
    line-height: 1.3 !important;
    margin: 0 !important;
}

/* zrušení zbytečných mezer */
.products-block.products .product .ratings-wrapper {
    margin: 0 !important;
}

/* p-bottom už jen jako obsah gridu */
.products-block.products .product .p-bottom {
    display: contents !important;
}

.products-block.products .product .p-bottom > div {
    display: contents !important;
}

/* cena vpravo nahoře */
.products-block.products .product .prices {
    grid-area: price;
    margin: 0 !important;

    text-align: right !important;
    align-self: start;
}

.products-block.products .product .price,
.products-block.products .product .price strong {
    font-size: 16px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;

    color: #000 !important;
}

/* tlačítko pod info + cenou */
.products-block.products .product .p-tools {
    grid-area: button;

    width: 100% !important;
    margin: 0 !important;

    display: block !important;

    opacity: 1 !important;
    visibility: visible !important;
}

/* tlačítko */
.products-block.products .product .btn,
.products-block.products .product button,
.products-block.products .product .btn-cart {
    opacity: 1 !important;
    visibility: visible !important;

    width: 100% !important;
    min-width: 100% !important;
    height: 44px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 0 18px !important;

    background: #000 !important;
    border: 1px solid #000 !important;

    border-radius: 0 !important;
    box-shadow: none !important;

    color: #fff !important;
    text-decoration: none !important;

    font-family: 'Inter', sans-serif !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.22em;
    text-transform: uppercase;

    transition:
        background-color .2s ease,
        border-color .2s ease,
        color .2s ease !important;
}

/* span uvnitř */
.products-block.products .product .btn span,
.products-block.products .product button span,
.products-block.products .product .btn-cart span {
    background: transparent !important;
    color: inherit !important;

    text-decoration: none !important;

    transition: none !important;
}

/* odstranění všech pseudo efektů Shoptetu */
.products-block.products .product .btn::before,
.products-block.products .product .btn::after,
.products-block.products .product button::before,
.products-block.products .product button::after,
.products-block.products .product .btn-cart::before,
.products-block.products .product .btn-cart::after,
.products-block.products .product .btn span::before,
.products-block.products .product .btn span::after,
.products-block.products .product .btn-cart span::before,
.products-block.products .product .btn-cart span::after {
    display: none !important;
    content: none !important;
}

/* čistý hover */
.products-block.products .product .btn:hover,
.products-block.products .product button:hover,
.products-block.products .product .btn-cart:hover {
    background: #2a2a2a !important;
    border-color: #2a2a2a !important;

    color: #fff !important;
}

/* hover i pro span */
.products-block.products .product .btn:hover span,
.products-block.products .product button:hover span,
.products-block.products .product .btn-cart:hover span {
    background: transparent !important;
    color: #fff !important;
}

.products-block.products .product .image {
    display: block;
    background: #fbfbfb;
}

/* HLAVNÍ BOXY SIDEBARU */
aside.sidebar .box {
    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #f3f3f3 42%,
            #ebebeb 100%
        ) !important;

    border-radius: 0 !important;
    box-shadow: none !important;
}

/* VNITŘNÍ PRVKY BEZ VLASTNÍHO POZADÍ */
aside.sidebar #filters,
aside.sidebar .banner ul,
aside.sidebar .box-articles ul,
aside.sidebar .box-cartButton .cart-overview,
aside.sidebar .box-contact .contact-box ul,
aside.sidebar .box-login form,
aside.sidebar .box-newsletter form,
aside.sidebar .box-onlinePayments p,
aside.sidebar .box-poll,
aside.sidebar .box-productRating .rate-wrapper,
aside.sidebar .box-section1,
aside.sidebar .box.client-center-box,
aside.sidebar .search form,
aside.sidebar .top-products,
aside #categories,
aside.sidebar .categories,
aside.sidebar .categories .topic,
aside.sidebar .categories ul,
aside.sidebar .categories li {
    background: transparent !important;
}

/* NADPIS KATEGORIÍ – taky transparentní, ať gradient pokračuje */
aside.sidebar .box.box-categories h3 {
    position: relative;
    cursor: pointer;
    margin-bottom: 0px;

    background: transparent !important;

    border-top: 2px solid rgba(255,255,255,0.85);
    padding: 15px !important;
}

/* oddělovací linky uvnitř */
aside.sidebar .categories .topic,
aside.sidebar .categories li {
    border-color: rgba(255,255,255,0.72) !important;
}

/* filtr box nechá gradient jen na rodiči */
aside.sidebar .box-filters,
aside.sidebar .box-categories {
    overflow: hidden;
}

.homepage-group-title,
.homepage-products-heading-1,
.homepage-group-title.h4,
.homepage-products-heading-1.h4 {
  font-family: "Manrope", sans-serif !important;
}

.benefitBanner__data {
    font-family: 'Inter', sans-serif;
    font-size: 1em;
}

.benefitBanner__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 12px;
}

.benefitBanner__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.benefitBanner__picture {
    margin-bottom: 4px;
}

.benefitBanner__title {
    display: block;
    font-family: 'The Sidestream', sans-serif;
    font-size: 1.7em !important;
}



.category-top .subcategories.with-image li a {
    background:
        linear-gradient(
            135deg,
            #fcfcfc 0%,
            #f5f5f5 45%,
            #fafafa 100%
        ) !important;

    border-radius: 0 !important;

    border: 1px solid #e5e5e5 !important;

    box-shadow: none !important;

    transition:
        transform .25s ease,
        border-color .25s ease;
}

/* hover */
.category-top .subcategories.with-image li a:hover {
    transform: translateY(-8px);

    border-color: #bababa !important;
}

.category-top .subcategories.with-image li .text {
    font-family: 'Inter', sans-serif !important;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 0.14em;
    text-transform: uppercase;

    color: #000;

    line-height: 1.3;
}

.category-top .subcategories.with-image li a:hover .text {
    color: #b0b0b0;
}

/* wrapper */
.category-top {
    margin-bottom: 54px;
}

/* small label */
.category-top::before {
    content: "PRODUKTY";
        margin-top: 40px;
    display: block;
    margin-bottom: 20px;

    font-family: "Inter", sans-serif;
    font-size: 11px;
    font-weight: 800;

    letter-spacing: 0.18em;
    text-transform: uppercase;

    color: rgba(0,0,0,0.45);
}

/* big title */
.category-top .category-title {
    margin: 0 0 42px !important;
    padding: 0 !important;

    font-family: "Manrope", sans-serif !important;
    font-size: clamp(36px, 4vw, 92px) !important;
    font-weight: 900 !important;

    line-height: 0.95 !important;
    letter-spacing: -0.04em !important;

    text-transform: uppercase;

    color: #000 !important;
}

/* tablet */
@media (max-width: 1024px) {

    .category-top .category-title {
        margin-bottom: 34px !important;
    }
}

/* mobile */
@media (max-width: 767px) {

    .category-top {
        margin-bottom: 34px;
    }

    .category-top::before {
        margin-bottom: 10px;
        font-size: 10px;
        letter-spacing: 0.14em;
    }

    .category-top .category-title {
        margin-bottom: 26px !important;

        line-height: 0.98 !important;
    }
}

.product-top h1 {
    margin-bottom: 12px;
}

.custom-footer.elements-4 {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-start;
    gap: 80px;
}

.custom-footer.elements-4 > div {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto;
}

/* kontakt větší */
.custom-footer__banner3 {
    flex-basis: 34% !important;
}

/* utility sloupce */
.custom-footer__banner6,
.custom-footer__banner4,
.custom-footer__banner5 {
    flex-basis: 18% !important;
}

/* mobil/tablet */
@media (max-width: 1024px) {
    .custom-footer.elements-4 {
        flex-wrap: wrap !important;
        gap: 50px;
    }

    .custom-footer__banner3 {
        flex-basis: 100% !important;
    }

    .custom-footer__banner6,
    .custom-footer__banner4,
    .custom-footer__banner5 {
        flex-basis: calc(33.333% - 34px) !important;
    }
}

@media (max-width: 767px) {
    .custom-footer__banner6,
    .custom-footer__banner4,
    .custom-footer__banner5 {
        flex-basis: 100% !important;
    }
}

ol.cart-header {
    margin-bottom: 54px !important;
}

/* STEP */

ol.cart-header > li.step {
    position: relative !important;

    text-align: left !important;
}

/* reset Shoptet alignment */

ol.cart-header > li.step > a,
ol.cart-header > li.step > strong {
    display: block !important;

    text-align: left !important;

    margin: 0 !important;
    padding: 0 !important;
}



ol.cart-header > li[data-testid="step1"]::before {
    content: "01";
}

ol.cart-header > li[data-testid="step2"]::before {
    content: "02";
}

ol.cart-header > li[data-testid="step3"]::before {
    content: "03";
}

ol.cart-header > li.step::before {
    display: block !important;

    margin-bottom: 10px !important;

    font-family: "Inter", sans-serif !important;
    font-size: 10px !important;
    font-weight: 800 !important;

    line-height: 1 !important;
    letter-spacing: 0.18em !important;

    text-align: left !important;

    color: #d2d2d2 !important;
}

ol.cart-header > li.step span {
    position: relative !important;
    z-index: 2 !important;

    display: inline-block !important;

    margin: 0 !important;
    padding: 0 24px !important;

    text-align: left !important;

    font-family: "Manrope", sans-serif !important;
    font-weight: 900 !important;

    line-height: 1 !important;
    letter-spacing: -0.05em !important;

    white-space: nowrap !important;

    background: #fff !important;
    color: #d6d6d6 !important;

    transition: color .25s ease;
}



ol.cart-header > li.step.active::before,
ol.cart-header > li.step.active span {
    color: #000 !important;
}



ol.cart-header > li.step.completed::before,
ol.cart-header > li.step.completed span,
ol.cart-header > li.step a span {
    color: #707070 !important;
}



ol.cart-header > li.step:not(.active):not(.completed)::before,
ol.cart-header > li.step:not(.active):not(.completed) span {
    color: #d8d8d8 !important;
}



ol.cart-header > li.step a {
    text-decoration: none !important;
}

ol.cart-header > li.step a:hover span {
    color: #000 !important;
}


.cart-content .cart-header:before {
    top: 70% !important;
}


@media (max-width: 767px) {

    ol.cart-header {
        display: flex !important;
        flex-direction: column !important;

        gap: 22px !important;

        margin-bottom: 36px !important;
    }

    ol.cart-header > li.step {
        padding: 0 !important;
    }

    ol.cart-header > li.step::before {
        margin-bottom: 8px !important;

        font-size: 9px !important;
        letter-spacing: 0.16em !important;
    }

    ol.cart-header > li.step span {
        display: block !important;

        padding: 0 !important;

        font-size: 22px !important;
        line-height: 0.95 !important;

        white-space: normal !important;
    }

    /* schová desktopovou linku */

    .cart-content .cart-header:before {
        display: none !important;
    }
}


/* SECONDARY HEADING */
.homepage-products-heading-2 {
    position: relative;
    z-index: 2;

    margin-top: 120px !important;
    padding-top: 0 !important;

    font-family: 'Manrope', sans-serif !important;
    font-size: clamp(34px, 3vw, 52px) !important;
    font-weight: 900 !important;

    line-height: 1 !important;
    letter-spacing: -0.04em !important;

    text-transform: uppercase;
    color: #000;
}

/* BACKGROUND HEADING */
.homepage-products-heading-2::before {
    content: "BESTSELLERS";

    position: absolute;

    left: 0;
    bottom: 0;

    font-family: 'Manrope', sans-serif !important;
    font-size: clamp(76px, 10vw, 150px);

    font-weight: 900;
    line-height: 0.82;

    letter-spacing: -0.075em;

    color: rgba(0,0,0,0.025);

    z-index: -1;

    pointer-events: none !important;
    user-select: none;

    white-space: nowrap;
}

/* carousel musí být nad background textem */
.homepage-products-2,
.products-block.homepage-products-2,
#products-2 {
    position: relative;
    z-index: 5;
}

/* šipky */
#products-2 .slick-arrow,
.homepage-products-2 .slick-arrow {
    position: absolute;
    z-index: 20 !important;
    pointer-events: auto !important;
}

/* tablet */
@media (max-width: 1024px) {

    .homepage-products-heading-2 {
        margin-top: 90px !important;
    }
}

/* mobil */
@media (max-width: 767px) {

    .homepage-products-heading-2 {
        margin-top: 70px !important;

        font-size: clamp(28px, 8vw, 40px) !important;
    }

    .homepage-products-heading-2::before {
        font-size: clamp(54px, 15vw, 82px);
    }
}

.flags.flags-default,
.flags.flags-default.flags-inline {
    display: flex !important;
    flex-wrap: wrap;

    gap: 8px !important;
}


.flags.flags-default .flag.flag-action,
.flags.flags-default .flag.flag-new,
.flags.flags-default .flag.flag-tip,
.flags.flags-default .flag[class*="flag-custom"] {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    width: auto !important;
    min-width: auto !important;
    max-width: none !important;

    min-height: 34px;

    padding: 0 18px !important;
    margin: 0 !important;

    border-radius: 0 !important;

    font-family: 'Inter', sans-serif !important;
    font-size: 10px !important;
    font-weight: 800 !important;

    letter-spacing: 0.22em !important;
    text-transform: uppercase;

    line-height: 1 !important;
    white-space: nowrap !important;

    box-shadow: none !important;
}

.type-detail .p-thumbnails-wrapper .p-thumbnails-inner a {
    border-radius: 0;
}


.menu-item-705 > a b {
    position: relative;
    padding-left: 24px;
}

.menu-item-705 > a b::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;

    width: 16px;
    height: 16px;

    transform: translateY(-50%);

    background: url("https://www.ravelab.cz/user/documents/upload/ICONS/srdicko%20ravelab.svg") center / contain no-repeat;
}

.category-title .pagination-appendix {
    font-family: "Inter", sans-serif !important;
    font-size: clamp(18px, 1.5vw, 28px) !important;
    font-weight: 500 !important;

    line-height: 1 !important;
    letter-spacing: -0.03em !important;

    color: rgba(0,0,0) !important;

    text-transform: none !important;
}

/* mobile */

@media (max-width: 767px) {

    .category-title .pagination-appendix {
        display: block;

        margin-top: 10px;

        font-size: 16px !important;
    }
}

.cart-table .cart-p-image a img {
    border-radius: 0;
}

.site-msg.information, div.message.notice-message {
    padding: 6px;
    color: #ffffff;
    background: #000000;
}

.type-detail .shp-tabs-wrapper > .row > div {
    max-width: 100% !important;
    width: 100% !important;
}

/* =========================================================
   MOBILE PRODUCT CARDS — STEP 1
========================================================= */

@media (max-width: 767px) {

    .products-block.products .product .p-in {
        padding: 14px 12px !important;

        grid-template-columns: 1fr auto !important;
        gap: 12px 10px !important;
    }

    .products-block.products .product .name {
        font-size: 14px !important;
        line-height: 1.25 !important;
    }

    .products-block.products .product .availability {
        font-size: 12px !important;
        line-height: 1.25 !important;
    }

    .products-block.products .product .prices {
        min-width: 58px !important;
        text-align: right !important;
    }

    .products-block.products .product .price,
    .products-block.products .product .price strong {
        font-size: 14px !important;
        line-height: 1.15 !important;
        white-space: nowrap !important;
    }

    .products-block.products .product .btn,
    .products-block.products .product button,
    .products-block.products .product .btn-cart {
        height: 42px !important;

        font-size: 9px !important;
        letter-spacing: 0.18em !important;
    }
}

/* =========================================================
   COUPON BOX
========================================================= */

.dm-coupon-div {
    width: 100% !important;

    margin-top: 12px !important;
    padding: 14px 16px !important;

    border: 1px dashed #cfcfcf !important;
    border-radius: 0 !important;

    background: #fafafa !important;

    cursor: pointer;

    transition:
        border-color .2s ease,
        background-color .2s ease;
}

.dm-coupon-div:hover {
    border-color: #000 !important;
    background: #fff !important;
}

.dm-coupon-div > div {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    line-height: 1.5 !important;

    color: #555 !important;
}

.dm-coupon-div .action-dm-price {
    font-weight: 800 !important;
    color: #e53935 !important;
}

.dm-coupon-div .action-dm-coupon {
    font-weight: 800 !important;

    color: #000 !important;

    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* text po zkopírování */
.dm-coupon-div.copied {
    border-color: #000 !important;
    background: #f5f5f5 !important;
}

/* mobile */
@media (max-width: 767px) {

    .dm-coupon-div {
        padding: 12px 14px !important;
    }

    .dm-coupon-div > div {
        font-size: 12px !important;
        line-height: 1.45 !important;
    }
}


/* COUPON BOX — GRID FIX */
.products-block.products .product .p-in .dm-coupon-div {
    grid-column: 1 / -1 !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 2px 0 0 !important;

    box-sizing: border-box !important;
    text-align: center !important;
}

.products-block.products .product .p-in .dm-coupon-div > div {
    width: 100% !important;
    text-align: center !important;
}

a[data-testid="productCardBrandName"] {
    font-size: 0 !important;

    display: flex !important;
    margin-bottom: 20px !important;
}

a[data-testid="productCardBrandName"] span {
    display: inline-block !important;

    font-family: 'The Sidestream', sans-serif !important;
    font-size: 20px !important;
    line-height: 1 !important;

    color: #000 !important;

    margin-bottom: 20px !important;
}

#navigation ul.menu-level-1>li>a b {
    font-family: 'Manrope', sans-serif !important;
    font-weight: bold;
        text-transform: uppercase;
        font-size: 0.85rem;
        letter-spacing: -0.2px;

}

.menu-item-683 > a b {
    position: relative;
    padding-left: 28px;
}

.menu-item-683 > a b::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;

    width: 18px;
    height: 18px;

    transform: translateY(-50%);

    background: url("https://www.ravelab.cz/user/documents/upload/ICONS/all.svg") center/contain no-repeat;
}

/* hlavní pozadí detailu produktu */
.shp-tabs-wrapper {
    background:
        linear-gradient(
            135deg,
            #fcfcfc 0%,
            #f5f5f5 45%,
            #fafafa 100%
        ) !important;
}

/* všechny vnitřní bloky transparentní */
.shp-tabs-holder,
#tab-content,
.tab-content,
.tab-pane,
.description-inner,
.basic-description {
    background: transparent !important;
}

/* =========================================================
   TOP PRODUCTS / BESTSELLERS
========================================================= */

.products-top-wrapper {
    margin: 38px 0 54px;
    padding: 28px 0;

    border-top: 1px solid #e8e8e8;
    border-bottom: 1px solid #e8e8e8;
}

.products-top-header {
    margin: 0 0 22px;

    font-family: "Inter", sans-serif !important;
    font-size: 11px !important;
    font-weight: 800 !important;

    letter-spacing: 0.22em !important;
    text-transform: uppercase;

    color: rgba(0,0,0,0.45);
}

.products-top {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.products-top .product {
    width: 100% !important;
}

.products-top .product .p {
    display: grid !important;
    grid-template-columns: 78px 1fr auto;

    align-items: center;

    gap: 18px;

    padding: 18px 20px !important;

    background: #f6f6f6 !important;
    border-radius: 0 !important;
}

.products-top .product .image {
    width: 78px !important;
    height: 78px !important;

    background: transparent !important;
}

.products-top .product .image img {
    width: 78px !important;
    height: 78px !important;

    object-fit: cover;
}

.products-top .product .p-in {
    display: contents !important;
    padding: 0 !important;
    background: transparent !important;
}

.products-top .product .p-in-in {
    min-width: 0;
}

.products-top .product .name {
    margin: 0 0 8px !important;

    font-family: "Inter", sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;

    line-height: 1.35 !important;

    color: #000 !important;
}

.products-top .product .availability {
    font-size: 13px !important;
    line-height: 1.3 !important;
}

.products-top .product .p-bottom {
    display: block !important;
}

.products-top .product .price,
.products-top .product .price strong {
    font-size: 17px !important;
    font-weight: 800 !important;

    white-space: nowrap;

    color: #000 !important;
}

.products-top .product .p-tools,
.products-top .product .dm-coupon-div,
.products-top .product .p-desc,
.products-top .product .flags {
    display: none !important;
}

.products-top-wrapper .button-wrapper {
    margin-top: 22px;
    text-align: center;
}

.products-top-wrapper .toggle-top-products {
    background: transparent !important;
    border: 0 !important;

    font-family: "Inter", sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;

    text-decoration: underline;

    color: #000 !important;
}

/* mobile */

@media (max-width: 767px) {

    .products-top {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .products-top .product .p {
        grid-template-columns: 64px 1fr auto;
        gap: 14px;

        padding: 14px !important;
    }

    .products-top .product .image,
    .products-top .product .image img {
        width: 64px !important;
        height: 64px !important;
    }

    .products-top .product .name {
        font-size: 14px !important;
    }

    .products-top .product .price,
    .products-top .product .price strong {
        font-size: 15px !important;
    }
}