/* Canonical Swiper adapter for theme rails that previously used native horizontal scroll. */
/* Rails owned by the unified adapter must never fall back to a second native
 * horizontal-scroll engine while Swiper is loading or recovering. */
html body .gk-subcats-scroll,
html body .gk-archive-toolbar__sort-list,
html body .gk-product-labels--archive-strip,
html body .gk-native-detail-nav,
html body .atlas-trust,
html body .gk-footer-trust-track {
    overflow-x: hidden !important;
    scroll-snap-type: none !important;
    scroll-behavior: auto !important;
}

@media (max-width: 767px) {
    html body #gk-active-filters,
    html body .gk-active-filters,
    html body.single-product .gk-breadcrumb,
    html body .gk-native-breadcrumb,
    html body .gk-native-services,
    html body .gk-orders-tabs {
        overflow-x: hidden !important;
        scroll-snap-type: none !important;
        scroll-behavior: auto !important;
    }
}

@media (max-width: 700px) {
    html body .sf-benefits,
    html body .sf-badges,
    html body .sf-feats,
    html body .atlas-shortcuts {
        overflow-x: hidden !important;
        scroll-snap-type: none !important;
        scroll-behavior: auto !important;
    }
}

@media (max-width: 640px) {
    html body .gk-price-history-toolbar,
    html body .cf-brands-in,
    html body .tf-brands-in,
    html body .sf-benefits-v219,
    html body .sf-badges-v219 {
        overflow-x: hidden !important;
        scroll-snap-type: none !important;
        scroll-behavior: auto !important;
    }
}

@media (max-width: 480px) {
    html body .gk-digi-features-grid {
        overflow-x: hidden !important;
        scroll-snap-type: none !important;
        scroll-behavior: auto !important;
    }
}

@media (max-width: 430px) {
    html body .gk-order-status-row {
        overflow-x: hidden !important;
        scroll-snap-type: none !important;
        scroll-behavior: auto !important;
    }
}

html body .gk-swiper-rail.swiper {
    display: block !important;
    min-width: 0;
    max-width: 100%;
    overflow: hidden !important;
    overflow-y: hidden !important;
    scroll-snap-type: none !important;
    scroll-behavior: auto !important;
    touch-action: pan-y !important;
}

html body .gk-swiper-rail.swiper > .swiper-wrapper {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    gap: 0 !important;
    width: 100%;
    max-width: none;
    min-width: 0;
    overflow: visible !important;
    scroll-snap-type: none !important;
    scroll-behavior: auto !important;
}

html body .gk-swiper-rail.swiper > .swiper-wrapper > .swiper-slide {
    width: auto;
    max-width: none;
    height: auto;
    flex-shrink: 0;
    scroll-snap-align: none !important;
}

html body .gk-swiper-rail.gk-breadcrumb > .swiper-wrapper,
html body .gk-swiper-rail.gk-native-breadcrumb > .swiper-wrapper {
    width: max-content !important;
    min-width: 100% !important;
}

html body .gk-swiper-rail.gk-orders-tabs > .swiper-wrapper,
html body .gk-swiper-rail.gk-archive-toolbar__sort-list > .swiper-wrapper,
html body .gk-swiper-rail.gk-price-history-toolbar > .swiper-wrapper {
    align-items: center;
}

html body .gk-swiper-rail.gk-footer-trust-track > .swiper-wrapper {
    align-items: stretch;
}

html body .gk-swiper-rail.gk-footer-trust-track > .swiper-wrapper > .gk-footer-trust-badge {
    width: var(--gk-trust-item-width, calc((100% - 24px) / 3));
}

html body .gk-swiper-rail.gk-offers__products-list > .swiper-wrapper > .gk-offers__product {
    width: auto;
}

@media (max-width: 767px) {
    html body .gk-swiper-rail.gk-native-services > .swiper-wrapper > .gk-native-service {
        width: 160px;
    }
}

@media (max-width: 700px) {
    html body .gk-swiper-rail.atlas-shortcuts > .swiper-wrapper > .atlas-shortcut {
        width: 78%;
        min-width: 78%;
    }
}


@media (max-width: 640px) {
    html body .gk-swiper-rail.sf-benefits-v219 > .swiper-wrapper > .sf-benefit-v219 {
        width: 78%;
        min-width: 240px;
    }
    html body .gk-swiper-rail.sf-badges-v219 > .swiper-wrapper > * {
        width: 132px;
        min-width: 132px;
        flex-basis: 132px;
    }
}

@media (max-width: 430px) {
    html body .gk-swiper-rail.gk-order-status-row > .swiper-wrapper > .gk-status-item {
        width: auto;
        min-width: 92px;
    }
}

/* ========================================================================== */
/* GK Swiper Motion — 1.9.231                                                */
/* Smooth inertial feel shared by every Swiper surface.                      */
/* ========================================================================== */
:root {
    --gk-swiper-motion-ease: cubic-bezier(.22, .61, .36, 1);
}

html body .swiper.gk-swiper-ui-root {
    --swiper-wrapper-transition-timing-function: var(--gk-swiper-motion-ease);
}

html body .swiper.gk-swiper-ui-root.swiper-initialized > .swiper-wrapper {
    will-change: transform;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

html body .swiper.gk-swiper-ui-root.swiper-initialized > .swiper-wrapper > .swiper-slide {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

/* ========================================================================== */
/* GK Swiper UI Theme — 1.9.229                                               */
/* One visual language for navigation/pagination across all Swiper surfaces.  */
/* This layer intentionally does not change slide/card layout or positioning. */
/* ========================================================================== */
:root {
    --gk-swiper-ui-nav-size: 36px;
    --gk-swiper-ui-nav-radius: 11px;
    --gk-swiper-ui-icon-size: 16px;
    --gk-swiper-ui-nav-bg: rgba(255,255,255,.96);
    --gk-swiper-ui-nav-color: var(--gk-text, #1f2937);
    --gk-swiper-ui-nav-border: var(--gk-border-color, #e5e7eb);
    --gk-swiper-ui-nav-shadow: 0 4px 14px rgba(15,23,42,.08);
    --gk-swiper-ui-nav-hover-bg: var(--gk-primary, #3342fd);
    --gk-swiper-ui-nav-hover-color: #fff;
    --gk-swiper-ui-nav-disabled-opacity: .28;
    --gk-swiper-ui-bullet-size: 6px;
    --gk-swiper-ui-bullet-active-width: 18px;
    --gk-swiper-ui-bullet-gap: 3px;
    --gk-swiper-ui-bullet: #cbd1da;
    --gk-swiper-ui-bullet-active: var(--gk-primary, #3342fd);
}

html body .swiper.gk-swiper-ui-root {
    --swiper-navigation-size: var(--gk-swiper-ui-nav-size);
    --swiper-navigation-color: var(--gk-swiper-ui-nav-color);
    --swiper-pagination-color: var(--gk-swiper-ui-bullet-active);
}

/* Canonical button surface. Position remains owned by each widget. */
html body .gk-swiper-ui-nav {
    box-sizing: border-box !important;
    width: var(--gk-swiper-ui-nav-size) !important;
    height: var(--gk-swiper-ui-nav-size) !important;
    min-width: var(--gk-swiper-ui-nav-size) !important;
    min-height: var(--gk-swiper-ui-nav-size) !important;
    padding: 0 !important;
    border: 1px solid var(--gk-swiper-ui-nav-border) !important;
    border-radius: var(--gk-swiper-ui-nav-radius) !important;
    background: var(--gk-swiper-ui-nav-bg) !important;
    color: var(--gk-swiper-ui-nav-color) !important;
    box-shadow: var(--gk-swiper-ui-nav-shadow) !important;
    font-size: 0 !important;
    line-height: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    text-indent: 0 !important;
    overflow: hidden !important;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, opacity .18s ease !important;
}

/* Remove every local icon implementation (Swiper SVG, Elementor icon, text arrow). */
html body .gk-swiper-ui-nav::after {
    content: none !important;
    display: none !important;
}
html body .gk-swiper-ui-nav > svg,
html body .gk-swiper-ui-nav > i,
html body .gk-swiper-ui-nav > span,
html body .gk-swiper-ui-nav .swiper-navigation-icon,
html body .gk-swiper-ui-nav .gk-gallery-nav-icon,
html body .gk-swiper-ui-nav .gk-blueprint-cat-nav-icon,
html body .gk-swiper-ui-nav .gk-shophero-nav-icon {
    display: none !important;
}

/* One exact chevron icon everywhere. */
html body .gk-swiper-ui-nav.gk-swiper-ui-next::before,
html body .gk-swiper-ui-nav.gk-swiper-ui-prev::before {
    content: "" !important;
    display: block !important;
    width: var(--gk-swiper-ui-icon-size) !important;
    height: var(--gk-swiper-ui-icon-size) !important;
    flex: 0 0 var(--gk-swiper-ui-icon-size) !important;
    margin: 0 !important;
    border: 0 !important;
    background: currentColor !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 18l6-6-6-6' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%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 24 24'%3E%3Cpath d='M9 18l6-6-6-6' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
    pointer-events: none !important;
    transform-origin: center !important;
}

/* LTR: next -> right, previous -> left. */
html body .gk-swiper-ui-nav.gk-swiper-ui-next::before { transform: none !important; }
html body .gk-swiper-ui-nav.gk-swiper-ui-prev::before { transform: scaleX(-1) !important; }

/* RTL: next -> left, previous -> right. :dir() follows the nearest dir context. */
html body .gk-swiper-ui-nav.gk-swiper-ui-next:dir(rtl)::before { transform: scaleX(-1) !important; }
html body .gk-swiper-ui-nav.gk-swiper-ui-prev:dir(rtl)::before { transform: none !important; }

/* Fallback for older engines where :dir() is unavailable/incomplete. */
html[dir="rtl"] body .gk-swiper-ui-nav.gk-swiper-ui-next::before,
body.rtl .gk-swiper-ui-nav.gk-swiper-ui-next::before { transform: scaleX(-1) !important; }
html[dir="rtl"] body .gk-swiper-ui-nav.gk-swiper-ui-prev::before,
body.rtl .gk-swiper-ui-nav.gk-swiper-ui-prev::before { transform: none !important; }

/* Vertical product-gallery thumbs: same icon, only orientation changes. */
html body .gk-swiper-ui-nav.gk-swiper-ui-vertical.gk-swiper-ui-next::before { transform: rotate(90deg) !important; }
html body .gk-swiper-ui-nav.gk-swiper-ui-vertical.gk-swiper-ui-prev::before { transform: rotate(-90deg) !important; }

@media (hover:hover) and (pointer:fine) {
    html body .gk-swiper-ui-nav:not(.swiper-button-disabled):not(.is-disabled):not([disabled]):hover {
        background: var(--gk-swiper-ui-nav-hover-bg) !important;
        border-color: var(--gk-swiper-ui-nav-hover-bg) !important;
        color: var(--gk-swiper-ui-nav-hover-color) !important;
        box-shadow: 0 7px 18px color-mix(in srgb, var(--gk-swiper-ui-nav-hover-bg) 24%, transparent) !important;
    }
}

html body .gk-swiper-ui-nav:focus-visible {
    outline: 2px solid color-mix(in srgb, var(--gk-primary, #3342fd) 62%, #fff) !important;
    outline-offset: 2px !important;
}

html body .gk-swiper-ui-nav.swiper-button-disabled,
html body .gk-swiper-ui-nav.is-disabled,
html body .gk-swiper-ui-nav[disabled] {
    opacity: var(--gk-swiper-ui-nav-disabled-opacity) !important;
    cursor: default !important;
    pointer-events: none !important;
    background: var(--gk-swiper-ui-nav-bg) !important;
    border-color: var(--gk-swiper-ui-nav-border) !important;
    color: var(--gk-swiper-ui-nav-color) !important;
    box-shadow: none !important;
}
html body .gk-swiper-ui-nav.gk-nav-hidden,
html body .gk-swiper-ui-nav.swiper-button-lock { display: none !important; }

/* The Shop Hero previously used oversized organic controls. Keep its position, */
/* but force the same control surface/icon contract as every other carousel.    */
html body .gk-banner-carousel.gk-banner-carousel--shop-hero .gk-shophero-nav.gk-swiper-ui-nav.swiper-button-prev,
html body .gk-banner-carousel.gk-banner-carousel--shop-hero .gk-shophero-nav.gk-swiper-ui-nav.swiper-button-next {
    width: var(--gk-swiper-ui-nav-size) !important;
    height: var(--gk-swiper-ui-nav-size) !important;
    min-width: var(--gk-swiper-ui-nav-size) !important;
    min-height: var(--gk-swiper-ui-nav-size) !important;
    padding: 0 !important;
    border: 1px solid var(--gk-swiper-ui-nav-border) !important;
    border-radius: var(--gk-swiper-ui-nav-radius) !important;
    background: var(--gk-swiper-ui-nav-bg) !important;
    color: var(--gk-swiper-ui-nav-color) !important;
    box-shadow: var(--gk-swiper-ui-nav-shadow) !important;
    overflow: hidden !important;
}

/* Canonical pagination. Placement remains widget-owned. */
html body .gk-swiper-ui-pagination .swiper-pagination-bullet {
    box-sizing: border-box !important;
    width: var(--gk-swiper-ui-bullet-size) !important;
    height: var(--gk-swiper-ui-bullet-size) !important;
    min-width: var(--gk-swiper-ui-bullet-size) !important;
    margin-inline: var(--gk-swiper-ui-bullet-gap) !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--gk-swiper-ui-bullet) !important;
    opacity: 1 !important;
    transition: width .2s ease, background-color .2s ease, opacity .2s ease !important;
}
html body .gk-swiper-ui-pagination .swiper-pagination-bullet-active,
html body .gk-swiper-ui-pagination .swiper-pagination-bullet-active-main {
    width: var(--gk-swiper-ui-bullet-active-width) !important;
    background: var(--gk-swiper-ui-bullet-active) !important;
    opacity: 1 !important;
}

html body .gk-swiper-ui-pagination.swiper-pagination-progressbar {
    height: 3px !important;
    border-radius: 999px !important;
    overflow: hidden !important;
    background: color-mix(in srgb, var(--gk-swiper-ui-bullet) 70%, transparent) !important;
}
html body .gk-swiper-ui-pagination.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    border-radius: inherit !important;
    background: var(--gk-swiper-ui-bullet-active) !important;
}

/* Stronger canonical override for Shop Hero pagination controls that previously */
/* carried widget-specific !important sizes/colors. */
html body .gk-banner-carousel.gk-banner-carousel--shop-hero .gk-shophero-pagination.gk-swiper-ui-pagination .swiper-pagination-bullet {
    width: var(--gk-swiper-ui-bullet-size) !important;
    height: var(--gk-swiper-ui-bullet-size) !important;
    background: var(--gk-swiper-ui-bullet) !important;
}
html body .gk-banner-carousel.gk-banner-carousel--shop-hero .gk-shophero-pagination.gk-swiper-ui-pagination .swiper-pagination-bullet-active,
html body .gk-banner-carousel.gk-banner-carousel--shop-hero .gk-shophero-pagination.gk-swiper-ui-pagination .swiper-pagination-bullet-active-main {
    width: var(--gk-swiper-ui-bullet-active-width) !important;
    background: var(--gk-swiper-ui-bullet-active) !important;
}

@media (prefers-reduced-motion: reduce) {
    html body .gk-swiper-ui-nav,
    html body .gk-swiper-ui-pagination .swiper-pagination-bullet { transition: none !important; }
}

html body .gk-swiper-ui-pagination.swiper-pagination-fraction {
    width: auto !important;
    min-width: 52px;
    padding: 5px 9px;
    border: 1px solid var(--gk-swiper-ui-nav-border) !important;
    border-radius: 999px !important;
    background: var(--gk-swiper-ui-nav-bg) !important;
    color: var(--gk-swiper-ui-nav-color) !important;
    box-shadow: 0 3px 10px rgba(15,23,42,.06) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}


/* Theme policy: no centered loading spinner inside Swiper surfaces. */
.gk-swiper-ui-root .swiper-lazy-preloader,
.swiper .swiper-lazy-preloader {
    display: none !important;
}
