.vass-mobile-top-grid { display: none; }
@media (max-width: 767px) {
    .blogblogblog-grid .article-list > .row {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 24px;
    }
    .blogblogblog-grid .article-list > .row > .col-lg-4 {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
    .blogblogblog-grid .article-list .article {
        min-width: 0;
        max-width: 100%;
    }
    .blogblogblog-grid .article-list .article-header a,
    .blogblogblog-grid .article-list .readmore a {
        overflow-wrap: break-word;
    }
}

/* Restore normal image navigation without altering gallery/lightbox behaviour. */
.eshop-products-list-box .eshop-image-block .image > a,
.eshop-products-list-box .eshop-image-block .image > a .product-image,
.eshop-products-list-box .eshop-image-block .image > a img {
    pointer-events: auto !important;
    cursor: pointer;
}
.vass-tab-scroll-controls { display: none; }
@media (max-width: 991px) {
    .product-info .vass-description-feature-icons {
        overflow: visible !important;
        padding-bottom: 0 !important;
    }
    .product-info .vass-description-feature-icons .vass-product-features {
        display: grid !important;
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 110px), 1fr));
        gap: 20px 12px;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100%;
    }
    .product-info .vass-description-feature-icons .vass-product-feature {
        width: auto !important;
        min-width: 0;
        max-width: 100%;
    }
    .product-info .vass-description-feature-icons .vass-product-feature-image {
        max-width: min(82px, 100%) !important;
        max-height: 82px;
        height: auto;
    }
}
@media (max-width: 767px) {
    .product-info .vass-tab-scroll-controls:not([hidden]) {
        display: flex;
        justify-content: flex-end;
        gap: 6px;
        margin: -10px 0 16px;
    }
    .product-info .vass-tab-scroll-controls button {
        display: grid;
        place-items: center;
        width: 30px;
        height: 28px;
        padding: 0;
        border: 1px solid #666;
        border-radius: 4px;
        background: #171717;
        color: #fbc715;
        cursor: pointer;
    }
    .product-info .vass-tab-scroll-controls button:disabled { opacity: 0.3; cursor: default; }
    .product-info .vass-tab-scroll-controls button:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
    .product-info .vass-tab-scroll-controls button::before {
        content: "";
        width: 18px;
        height: 18px;
        background: currentColor;
        mask: url("../icons/chevron-right.svg") center / contain no-repeat;
        -webkit-mask: url("../icons/chevron-right.svg") center / contain no-repeat;
    }
    .product-info .vass-tab-scroll-controls button:first-child::before { transform: rotate(180deg); }
}
@media (max-width: 767px) {
    #sp-section-1 {
        height: auto !important;
        max-height: none !important;
        min-height: 0 !important;
        padding: 10px 12px !important;
        background: #000;
        position: relative;
    }
    #sp-section-1.vass-mobile-top-ready > .row { display: none !important; }
    #sp-section-1 .vass-mobile-top-grid {
        display: grid;
        grid-template-columns: minmax(120px, 0.85fr) minmax(0, 1.15fr);
        grid-template-areas: "social account" "currency cart";
        gap: 8px 12px;
        align-items: center;
        width: 100%;
    }
    #sp-section-1 .vass-mobile-top-grid > div { min-width: 0; }
    #sp-section-1 .vass-mobile-top-grid > div[hidden] { display: none; }
    .vass-mobile-top-social { grid-area: social; }
    .vass-mobile-top-account { grid-area: account; justify-self: end; }
    .vass-mobile-top-currency { grid-area: currency; }
    .vass-mobile-top-cart { grid-area: cart; justify-self: end; max-width: 100%; position: relative; }
    #sp-section-1 .vass-mobile-top-social .social-icons {
        display: flex !important;
        justify-content: flex-start !important;
        flex-wrap: nowrap;
        gap: 6px;
        margin: 0 !important;
        padding: 0 !important;
    }
    #sp-section-1 .vass-mobile-top-social .social-icons li { margin: 0 !important; padding: 0; }
    #sp-section-1 .vass-mobile-top-social .social-icons a {
        width: 26px !important;
        height: 26px !important;
        line-height: 26px !important;
        font-size: 13px !important;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    #sp-section-1 .vass-mobile-top-social .social-icons a span { font-size: 13px !important; }
    #sp-section-1 .vass-mobile-top-account ul.menu {
        display: flex !important;
        flex-wrap: wrap;
        justify-content: flex-end;
        align-items: center;
        gap: 4px 7px;
        text-align: right !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    #sp-section-1 .vass-mobile-top-account ul.menu li { margin: 0 !important; padding: 0; list-style: none; }
    #sp-section-1 .vass-mobile-top-account ul.menu a { font-size: 11px !important; line-height: 1.4; white-space: nowrap; }
    #sp-section-1 .vass-mobile-top-currency form { margin: 0; max-width: 100%; }
    #sp-section-1 .vass-mobile-top-currency #currency {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 3px;
        margin: 0 !important;
        padding: 0;
        text-align: left;
        font-size: 11px !important;
        line-height: 1.4;
    }
    #sp-section-1 .vass-mobile-top-currency #currency a,
    #sp-section-1 .vass-mobile-top-currency #currency button {
        font-size: 11px !important;
        line-height: 1.4 !important;
        padding: 2px 4px !important;
        margin: 0 !important;
        min-width: 0;
    }
    #sp-section-1 .vass-mobile-top-cart .topcart { position: relative !important; inset: auto !important; margin: 0 !important; max-width: 100%; }
    #sp-section-1 .vass-mobile-top-cart .eshop-cart-total,
    #sp-section-1 .vass-mobile-top-cart .eshop-heading,
    #sp-section-1 .vass-mobile-top-cart .btn,
    #sp-section-1 .vass-mobile-top-cart .viewCart {
        width: auto !important;
        max-width: 100%;
        min-width: 0 !important;
        padding: 8px 12px !important;
        font-size: 12px !important;
        line-height: 1.4 !important;
        white-space: normal;
    }
    #sp-section-1 .vass-mobile-top-cart .eshop-content,
    #sp-section-1 .vass-mobile-top-cart .eshop-cart-content {
        position: absolute !important;
        top: 100%;
        min-width: 0 !important;
        width: min(360px, calc(100vw - 24px)) !important;
        max-width: calc(100vw - 24px) !important;
        left: auto !important;
        right: 0 !important;
        padding: 12px !important;
        box-sizing: border-box;
        overflow-wrap: anywhere;
    }
    /* The banner row had negative margins outside its 5px section padding. */
    #sp-section-2 > .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100%;
        flex-wrap: nowrap;
        align-items: center;
    }
    /* Full-width Page Builder pages have no container to absorb row gutters. */
    #sp-main-body > .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100%;
    }
    #sp-section-2 #sp-logo { flex: 1 1 0; width: auto; min-width: 0; padding: 0 8px; }
    #sp-section-2 #sp-menu { flex: 0 0 auto; width: auto; min-width: 0; padding: 0 8px !important; }
    #sp-section-2 .logo img { max-width: 100%; height: auto !important; max-height: 55px; width: auto; }
    #sp-section-2 #offcanvas-toggler { position: static !important; height: 65px !important; line-height: 65px !important; margin: 0; }
    #sp-section-2 .burger-icon { margin: 0; }
    .eshop-categories-list .eshop-category-wrap,
    .eshop-sub-categories-list .eshop-category-wrap {
        width: min(400px, 100%);
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }
    .eshop-categories-list .eshop-category-wrap .image a,
    .eshop-sub-categories-list .eshop-category-wrap .image a { display: block; }
    .eshop-categories-list .eshop-category-wrap img,
    .eshop-sub-categories-list .eshop-category-wrap img {
        display: block;
        width: 100%;
        max-width: 400px;
        height: auto;
        margin: 0 auto;
    }
    .body-wrapper, .body-innerwrapper { min-width: 0; max-width: 100%; }
    .offcanvas-menu { max-width: calc(100vw - 24px); }
}
