﻿body.page-chromeless {
    margin: 0;
    min-height: 100vh;
    display: block;
    height: auto;
    background: var(--uv2-bg-muted);
    color: var(--uv2-text);
    -webkit-font-smoothing: antialiased
}

body.page-chromeless .mainContent,body.page-chromeless .mainContent--auth {
    margin-top: 0;
    min-height: 100vh
}

body.page-chromeless .fullpage_section.login-page {
    justify-content: flex-start;
    align-content: flex-start
}

.auth-password-rules {
    margin: 10px 0 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.35rem;
    font-size: 0.8125rem;
    color: var(--uv2-text-muted)
}

.auth-password-rules li {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    list-style: none;
    font-family: var(--font-primary);
    font-size: var(--font-size-xs);
    color: var(--color-text-gray)
}

.auth-password-rules li::before {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    opacity: 0;
    background: none
}

.auth-password-rules li.is-met {
    color: var(--color-success-text);
    font-weight: var(--font-weight-semi)
}

.auth-password-rules li.is-met::before {
    opacity: 1;
    background-color: var(--color-success-text);
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center
}

#RegisterPasswordRules,#checkoutPasswordRules {
    display: none
}

#RegisterPasswordRules.is-visible,#checkoutPasswordRules.is-visible {
    display: block
}

.lc-input--password.is-invalid {
    background-image: none
}
.promo-feedback.is-success {
    color: var(--color-success-text)
}

.promo-feedback.is-error {
    color: var(--color-danger-text)
}

.otp-sent-lead {
    margin: 0 0 8px
}

.page-hero-section .section-lead {
    max-width: 720px;
    color: var(--color-text-gray)
}

.hero-swiper,.quality-swiper,.products-swiper,.articles-swiper {
    position: relative
}

.hero-swiper > .hero-nav.swiper-nav--prev,.hero-swiper > .hero-nav.swiper-button-prev {
    left: 20px
}

.hero-swiper > .hero-nav.swiper-nav--next,.hero-swiper > .hero-nav.swiper-button-next {
    right: 20px
}

.hero-swiper > .hero-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10
}

.hero-swiper .hero-pagination {
    z-index: 12
}

.hero-swiper,.hero-swiper .swiper-wrapper,.hero-swiper .swiper-slide,.hero-swiper .hero-slide {
    height: 100%;
    min-height: inherit
}

.hero-swiper .hero-slide {
    position: relative
}

.hero-media .hero-img {
    height: 100%;
    max-width: none;
    object-position: center
}

.hero-slide--tone .hero-media {
    background: linear-gradient(135deg,var(--color-primary) 0,var(--color-accent) 100%)
}

.hero-slide--tone-slate .hero-media {
    background: linear-gradient(135deg,#1e293b 0,#334155 100%)
}

.hero-slide--tone-blue .hero-media {
    background: linear-gradient(135deg,#092e6e 0,#1d4ed8 100%)
}

.hero-slide--tone-teal .hero-media {
    background: linear-gradient(135deg,#0f766e 0,#14b8a6 100%)
}

.hero-slide--tone .hero-heading,.hero-slide--tone .hero-subtext {
    color: var(--color-white)
}

.hero-poster,.hero-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center
}

.hero-poster {
    z-index: 0;
    transition: opacity 0.35s ease
}

.hero-poster.is-hidden {
    opacity: 0;
    pointer-events: none
}

.hero-video {
    display: none;
    z-index: 1
}

.hero-slide--video .hero-media::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg,var(--color-primary) 0,var(--color-accent) 100%);
    z-index: -1
}

@media (max-width: 767px) {
    .hero-video--mobile {
        display:block
    }
}

@media (min-width: 768px) and (max-width:1199px) {
    .hero-video--tablet {
        display:block
    }
}

@media (min-width: 1200px) {
    .hero-video--desktop {
        display:block
    }
}

@media (max-width: 991px) {
    body.page-search-icon .page-home .hero-section {
        margin-top:0
    }

    body.page-search-icon .main_shop {
        margin-top: 0
    }
}

.hero-nav.swiper-button-prev::after,.hero-nav.swiper-button-next::after,.quality-nav.swiper-button-prev::after,.quality-nav.swiper-button-next::after,.articles-nav.swiper-button-prev::after,.articles-nav.swiper-button-next::after,.swiper-nav--prev.swiper-button-prev::after,.swiper-nav--next.swiper-button-next::after {
    display: none !important;
    content: none !important
}

.quality-swiper .swiper-slide,.products-swiper .swiper-slide,.articles-swiper .swiper-slide {
    height: auto
}

.site-carousel-pending .swiper > .swiper-wrapper,.site-carousel-pending .swiper > .swiper-nav-wrap,.site-carousel-pending .swiper > .swiper-nav,.site-carousel-pending .swiper > .swiper-pagination {
    visibility: hidden
}

.sku-picker-options,.uv2-sku-options {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 16px 0 20px
}

.sku-picker-option,.uv2-sku-option {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 10px;
    align-items: center;
    padding: 12px 14px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    cursor: pointer
}

.sku-picker-option--disabled,.uv2-sku-option--disabled {
    opacity: 0.55;
    cursor: not-allowed
}

.sku-picker-option input,.uv2-sku-option input {
    margin: 0
}

.sku-picker-option__price,.uv2-sku-option__price {
    font-family: var(--font-secondary);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary)
}

.sku-picker-option__status,.uv2-sku-option__status {
    grid-column: 2 / -1;
    font-size: 12px;
    color: var(--color-text-gray)
}

.sku-picker-qty-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 20px
}

.sku-picker-qty-label {
    margin: 0;
    color: var(--color-text-dark);
    font-weight: var(--font-weight-medium)
}

.sku-picker-modal .form-control-qty {
    width: auto;
    min-width: 120px
}

.product-card-body .product-card-qty,.product-card-mbl-btns .product-card-qty {
    display: inline-flex;
    max-width: 0;
    min-width: 0;
    width: 0;
    margin: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    border-color: transparent;
    flex: 0 0 auto;
    transition: max-width 0.2s ease, min-width 0.2s ease, width 0.2s ease, opacity 0.2s ease;
}

/* Keep ATC + qty in one hover target (same as shop listing) so the gap never drops :hover. */
.product-card-cart-controls.is-qty-open,
.product-card-buy-controls.is-qty-open {
    gap: 12px;
}

.product-card-body .product-card-cart-controls.is-qty-open .product-card-qty,
.product-card-body .product-card-buy-controls.is-qty-open .product-card-qty,
.product-card-btn-row--home.is-qty-open .product-card-qty,
.product-card-mbl-btns .product-card-cart-controls.is-qty-open .product-card-qty,
.product-card-mbl-btns .product-card-buy-controls.is-qty-open .product-card-qty {
    max-width: 100px;
    min-width: 100px;
    width: 100px;
    opacity: 1;
    pointer-events: auto;
    border-color: var(--color-border, #d5d5d5);
}

.product-card-btn-row--shop:has(.product-card-cart-controls.is-qty-open) .product-card-buy-controls,.product-card-btn-row--shop:has(.product-card-buy-controls.is-qty-open) .product-card-cart-controls {
    max-width: 0;
    min-width: 0;
    width: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    gap: 0;
    margin: 0;
    flex: 0 0 0;
}

.product-card-cart-controls,.product-card-buy-controls {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 0;
    max-width: 100%;
    min-width: 0;
    transition: max-width 0.2s ease, opacity 0.2s ease, flex-basis 0.2s ease;
}

.product-card-btn-row--shop .btn-add-to-cart,.product-card-cart-controls .btn-add-to-cart,.product-card.shop-listing .btn-buy-now,.product-card-btn-row--shop .btn-buy-now {
    max-width: 100%;
    width: 135px;
    box-sizing: border-box;
}

.products-swiper {
    overflow: visible;
}

.products-swiper .swiper-slide,.products-swiper .product-card,.products-swiper .product-card-img {
    height: auto;
}

.product-badge-outline {
    margin-left: auto;
}

@media (hover: hover) and (pointer:fine) {
    .product-card-cart-controls:hover,
    .product-card-cart-controls:focus-within,
    .product-card-buy-controls:hover,
    .product-card-buy-controls:focus-within {
        gap: 12px;
    }

    .product-card-cart-controls:hover .product-card-qty,
    .product-card-cart-controls:focus-within .product-card-qty,
    .product-card-buy-controls:hover .product-card-qty,
    .product-card-buy-controls:focus-within .product-card-qty {
        max-width: 100px;
        min-width: 100px;
        width: 100px;
        opacity: 1;
        pointer-events: auto;
        border-color: var(--color-border, #d5d5d5);
    }

    /* Collapse sibling CTA without display:none so the row does not reflow/wiggle. */
    .product-card-btn-row--shop:has(.product-card-cart-controls:hover) .product-card-buy-controls,
    .product-card-btn-row--shop:has(.product-card-cart-controls:focus-within) .product-card-buy-controls,
    .product-card-btn-row--shop:has(.product-card-buy-controls:hover) .product-card-cart-controls,
    .product-card-btn-row--shop:has(.product-card-buy-controls:focus-within) .product-card-cart-controls {
        max-width: 0;
        min-width: 0;
        width: 0;
        opacity: 0;
        overflow: hidden;
        pointer-events: none;
        gap: 0;
        margin: 0;
        flex: 0 0 0;
    }
}

@media (max-width: 767.98px) {
    .products-section .products-swiper--mobile .product-card-mbl-wrap,.shop-products-grid-mobile .product-card--mobile .product-card-mbl-wrap {
        align-items: flex-start;
        flex: 1 1 auto;
        padding-bottom: 12px
    }
    .products-section .products-swiper--mobile .product-card-details,.shop-products-grid-mobile .product-card--mobile .product-card-details {
        min-width: 0;
        flex: 1 1 auto
    }
    .products-section .products-swiper--mobile .product-badge-div,
    .shop-products-grid-mobile .product-card--mobile .product-badge-div {
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: center;
        gap: 6px;
        min-height: 0;
        margin-bottom: 8px;
        overflow: hidden
    }
    .products-section .products-swiper--mobile .product-card-details .badge-text,
    .shop-products-grid-mobile .product-card--mobile .product-card-details .badge-text {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        max-width: 100%;
        width: 100%
    }
    .products-section .products-swiper--mobile .product-title-div-mbl .product-brand,.shop-products-grid-mobile .product-card--mobile .product-title-div-mbl .product-brand,.products-section .products-swiper--mobile .product-title-div-mbl .product-price,.shop-products-grid-mobile .product-card--mobile .product-title-div-mbl .product-price {
        margin-bottom: 4px
    }

    .products-section .products-swiper--mobile .product-title-div-mbl .product-price:last-child,.shop-products-grid-mobile .product-card--mobile .product-title-div-mbl .product-price:last-child {
        min-height: 1.2em
    }

    .products-section .products-swiper--mobile .product-card-body-mbl,.shop-products-grid-mobile .product-card--mobile .product-card-body-mbl {
        margin-top: auto
    }

    .products-section .products-swiper--mobile.products-swiper--portrait .product-card-img-link {
        height: fit-content!important
    }

    .products-section .products-swiper--mobile.products-swiper--portrait .product-badge-div {
        min-height: 48px;
        padding: 12px 12px 8px;
        align-items: flex-start;
        justify-content: space-between;
        flex-wrap: nowrap;
        gap: 8px
    }
    .products-swiper--portrait .product-badge-outline {
        margin-left: auto
    }
    .products-swiper--portrait .product-brand {
        min-height: calc(2 * 1.2em);
        margin-bottom: 4px
    }
}
