/* Shared responsive fixes for every selectable front-end template. */
html,
body {
    max-width: 100%;
    overflow-x: clip;
}

/* The configured banners are 2560 x 1090. Keep that full frame visible. */
.header-slider-container .slide-header,
.header-slider-container .slide-header .swiper-wrapper {
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    max-height: 620px !important;
    aspect-ratio: 2560 / 1090;
}

.header-slider-container .slide-header .swiper-slide,
.header-slider-container .slide-header .swiper-slide > a,
.header-slider-container .slide-header .swiper-slide > span {
    display: block;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
}

.header-slider-container .slide-header .swiper-slide > a,
.header-slider-container .slide-header .swiper-slide > span {
    background: #10283f;
}

.header-slider-container .slide-header .swiper-slide img:not(.img-icon):not(.smilie-icon):not(.avatar-badge):not(.avatar) {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    max-height: none;
    object-fit: contain !important;
    object-position: center;
}

.hljh-mobile-cart-guest {
    display: none !important;
}

@media (max-width: 767px) {
    .header-slider-container .slide-header,
    .header-slider-container .slide-header .swiper-wrapper {
        max-height: none !important;
        aspect-ratio: 2560 / 1090;
    }

    .float-right {
        right: max(10px, env(safe-area-inset-right));
        bottom: max(72px, calc(62px + env(safe-area-inset-bottom)));
        transition-duration: 0.12s;
    }

    /* Stable, native-feeling touch targets for both selectable templates. */
    .footer-tabbar {
        min-height: 58px;
        transition: none;
    }

    .footer-tabbar-placeholder {
        height: calc(58px + constant(safe-area-inset-bottom));
        height: calc(58px + env(safe-area-inset-bottom));
    }

    .footer-tabbar .tabbar-item a,
    .footer-tabbar .tabbar-item,
    .float-right .float-btn {
        touch-action: manipulation;
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    }

    .footer-tabbar .tabbar-item a,
    .footer-tabbar .tabbar-item {
        min-width: 44px;
        min-height: 58px;
        padding: 5px 2px 4px;
    }

    .footer-tabbar .tabbar-item.tabbar-ontop > a {
        left: 0;
        width: 100%;
        min-width: 100%;
    }

    .footer-tabbar text {
        display: block;
        margin-top: 2px;
        overflow: hidden;
        color: currentColor;
        font-size: 12px;
        line-height: 1.15;
        text-overflow: ellipsis;
        white-space: nowrap;
        transform: none;
    }

    .float-right .float-btn {
        width: 44px;
        min-height: 44px;
    }

    .footer-tabbar .tabbar-item:active,
    .float-right .float-btn:active {
        opacity: 0.68;
    }

    .scroll-down .scroll-down-hide.footer-tabbar,
    .scroll-ing .scrolling-hide.footer-tabbar {
        transform: none;
    }

    .scroll-down .scroll-down-hide.float-right,
    .scroll-ing .scrolling-hide.float-right {
        transform: none;
    }

    .float-right .hljh-mobile-cart-guest {
        display: flex !important;
    }

}

@supports not (overflow: clip) {
    html,
    body {
        overflow-x: hidden;
    }
}
