/*
 * NeoWeb Elementor Kit — Generic Elementor compatibility baseline.
 * This file contains only component-scoped neutral rules.
 */

[class^="nek-"],
[class*=" nek-"],
[class^="nek-"]::before,
[class^="nek-"]::after,
[class*=" nek-"]::before,
[class*=" nek-"]::after {
    box-sizing: border-box;
}

:where(
    .nek-slider,
    .nek-gallery,
    .nek-product-card,
    .nek-product-grid-section,
    .nek-product-carousel-section,
    .nek-shop-product-tabs-section,
    .nek-product-categories,
    .nek-promo-banner-grid,
    .nek-archive-products,
    .nek-product-filters,
    .nek-active-filters,
    .nek-archive-toolbar,
    .nek-single-product-add-to-cart,
    .nek-single-product-content,
    .nek-single-recommendations,
    .nek-fbt,
    .nek-sticky-cart,
    .nek-payment-message,
    .nek-free-shipping-progress
) {
    min-width: 0;
    max-width: 100%;
    font-family: inherit;
    text-align: start;
}

:where(
    .nek-slider,
    .nek-gallery,
    .nek-product-card,
    .nek-product-grid-section,
    .nek-product-carousel-section,
    .nek-shop-product-tabs-section,
    .nek-product-categories,
    .nek-promo-banner-grid,
    .nek-archive-products,
    .nek-product-filters,
    .nek-active-filters,
    .nek-archive-toolbar,
    .nek-single-product-add-to-cart,
    .nek-single-product-content,
    .nek-single-recommendations,
    .nek-fbt,
    .nek-sticky-cart,
    .nek-payment-message,
    .nek-free-shipping-progress
) :where(h1, h2, h3, h4, h5, h6, p, figure) {
    margin-block-start: 0;
}

:where(
    .nek-slider,
    .nek-gallery,
    .nek-product-card,
    .nek-product-grid-section,
    .nek-product-carousel-section,
    .nek-shop-product-tabs-section,
    .nek-product-categories,
    .nek-promo-banner-grid,
    .nek-archive-products,
    .nek-product-filters,
    .nek-active-filters,
    .nek-archive-toolbar,
    .nek-single-product-add-to-cart,
    .nek-single-product-content,
    .nek-single-recommendations,
    .nek-fbt,
    .nek-sticky-cart,
    .nek-payment-message,
    .nek-free-shipping-progress
) :where(a, button, input, select, textarea) {
    font-family: inherit;
    letter-spacing: normal;
}

:where(
    .nek-slider,
    .nek-gallery,
    .nek-product-card,
    .nek-product-grid-section,
    .nek-product-carousel-section,
    .nek-shop-product-tabs-section,
    .nek-product-categories,
    .nek-promo-banner-grid,
    .nek-archive-products,
    .nek-product-filters,
    .nek-active-filters,
    .nek-archive-toolbar,
    .nek-single-product-add-to-cart,
    .nek-single-product-content,
    .nek-single-recommendations,
    .nek-fbt,
    .nek-sticky-cart,
    .nek-payment-message,
    .nek-free-shipping-progress
) :where(img) {
    max-width: 100%;
    border: 0;
    box-shadow: none;
    vertical-align: middle;
}

:where(
    .nek-slider__arrow,
    .nek-slider__dot,
    .nek-slider__rotation,
    .nek-product-carousel__arrow,
    .nek-product-carousel__dot,
    .nek-product-categories__arrow,
    .nek-product-categories__dot,
    .nek-shop-product-tabs__arrow,
    .nek-shop-product-tabs__dot,
    .nek-single-recommendations__arrow,
    .nek-single-recommendations__dot,
    .nek-gallery-lightbox__tool,
    .nek-gallery-lightbox__arrow,
    .nek-gallery-lightbox__close,
    .nek-size-guide-modal__close,
    .nek-fbt__quantity button,
    .nek-sticky-cart__quantity button
) {
    font: inherit;
    letter-spacing: normal;
    text-transform: none;
    touch-action: manipulation;
}

:where(
    .nek-slider,
    .nek-gallery,
    .nek-product-card,
    .nek-product-grid-section,
    .nek-product-carousel-section,
    .nek-shop-product-tabs-section,
    .nek-product-categories,
    .nek-promo-banner-grid,
    .nek-archive-products,
    .nek-product-filters,
    .nek-single-product-add-to-cart,
    .nek-single-recommendations,
    .nek-fbt,
    .nek-sticky-cart,
    .nek-payment-message
) :where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}

:where(
    .nek-slider,
    .nek-gallery,
    .nek-product-carousel,
    .nek-shop-product-tabs,
    .nek-product-categories,
    .nek-single-recommendations,
    .nek-fbt,
    .nek-sticky-cart
) button:disabled {
    cursor: default;
}

:where(
    .nek-product-carousel__viewport,
    .nek-shop-product-tabs__viewport,
    .nek-product-categories__viewport,
    .nek-single-recommendations__viewport,
    .nek-fbt__products
) {
    overscroll-behavior-inline: contain;
}

/*
 * Strong isolation is opt-in for old/custom themes that target all
 * buttons, lists, images and WooCommerce controls with high specificity.
 */
body.nek-compat-isolation-strong
:where(
    .nek-slider,
    .nek-gallery,
    .nek-product-card,
    .nek-product-grid-section,
    .nek-product-carousel-section,
    .nek-shop-product-tabs-section,
    .nek-product-categories,
    .nek-promo-banner-grid,
    .nek-archive-products,
    .nek-product-filters,
    .nek-active-filters,
    .nek-archive-toolbar,
    .nek-single-product-add-to-cart,
    .nek-single-product-content,
    .nek-single-recommendations,
    .nek-fbt,
    .nek-sticky-cart,
    .nek-payment-message,
    .nek-free-shipping-progress
) :where(button, input[type="button"], input[type="submit"], select) {
    text-shadow: none;
    background-image: none;
    filter: none;
}

body.nek-compat-isolation-strong
:where(
    .nek-slider,
    .nek-gallery,
    .nek-product-card,
    .nek-product-grid-section,
    .nek-product-carousel-section,
    .nek-shop-product-tabs-section,
    .nek-product-categories,
    .nek-promo-banner-grid,
    .nek-archive-products,
    .nek-product-filters,
    .nek-active-filters,
    .nek-archive-toolbar,
    .nek-single-product-add-to-cart,
    .nek-single-product-content,
    .nek-single-recommendations,
    .nek-fbt,
    .nek-sticky-cart,
    .nek-payment-message,
    .nek-free-shipping-progress
) :where(ul, ol) {
    margin-block: 0;
    padding-inline-start: 0;
    list-style: none;
}

body.nek-compat-isolation-strong
:where(
    .nek-slider,
    .nek-gallery,
    .nek-product-card,
    .nek-product-grid-section,
    .nek-product-carousel-section,
    .nek-shop-product-tabs-section,
    .nek-product-categories,
    .nek-promo-banner-grid,
    .nek-archive-products,
    .nek-product-filters,
    .nek-active-filters,
    .nek-archive-toolbar,
    .nek-single-product-add-to-cart,
    .nek-single-product-content,
    .nek-single-recommendations,
    .nek-fbt,
    .nek-sticky-cart,
    .nek-payment-message,
    .nek-free-shipping-progress
) :where(a) {
    text-decoration-thickness: auto;
    text-underline-offset: auto;
}

.nek-rtl
:where(
    .nek-product-carousel__viewport,
    .nek-shop-product-tabs__viewport,
    .nek-product-categories__viewport,
    .nek-single-recommendations__viewport
) {
    direction: rtl;
}

@media (prefers-reduced-motion: reduce) {
    [class^="nek-"],
    [class*=" nek-"],
    [class^="nek-"]::before,
    [class^="nek-"]::after,
    [class*=" nek-"]::before,
    [class*=" nek-"]::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
