.elementor-605777 .elementor-element.elementor-element-9f96739{--display:flex;--background-transition:0.3s;}.elementor-605777 .elementor-element.elementor-element-9f96739:not(.elementor-motion-effects-element-type-background), .elementor-605777 .elementor-element.elementor-element-9f96739 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-8f758c7 );}.elementor-605777 .elementor-element.elementor-element-9f96739, .elementor-605777 .elementor-element.elementor-element-9f96739::before{--border-transition:0.3s;}.elementor-605777 .elementor-element.elementor-element-7345f99{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--background-transition:0.3s;--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-605777 .elementor-element.elementor-element-0884e7a > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-605777 .elementor-element.elementor-element-0884e7a{width:100%;max-width:100%;}@media(max-width:767px){.elementor-605777 .elementor-element.elementor-element-7345f99{--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}@media(min-width:768px){.elementor-605777 .elementor-element.elementor-element-9f96739{--content-width:100%;}.elementor-605777 .elementor-element.elementor-element-7345f99{--content-width:1400px;}}/* Start custom CSS for container, class: .elementor-element-9f96739 */.shop-variant-a {
  display: none;
}

html.ab-shop-ready .shop-variant {
  display: none;
}

html.ab-shop-ready .shop-variant.is-active {
  display: block;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7345f99 *//* =========================================
   1. BAZA KAFELKA (PANCERNA)
   ========================================= */
.product-tile {
    cursor: pointer;
    transition: background 0.25s ease, color 0.25s ease;
    
    /* Kluczowe dla działania animacji Snake Border */
    position: relative !important; 
    overflow: hidden !important;   /* Ucina wystający gradient */
    border-radius: 8px !important; 
    background-color: #ffffff !important; 
    z-index: 1; 
    transform: translateZ(0); 
    border: 1px solid #e0e0e0; 
}

.product-tile .elementor-icon-box-wrapper {
    position: relative;
    z-index: 10;
}

/* =========================================
   2. ANIMACJA "SNAKE BORDER"
   ========================================= */
@keyframes spin-border {
    from { transform: translate(-50%, -50%) rotate(0deg); }
    to   { transform: translate(-50%, -50%) rotate(360deg); }
}

/* Warstwa 1: Kręcący się gradient */
.product-tile.suggestive-mode::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 200%; 
    height: 200%;
    background: conic-gradient(
        transparent 0deg, 
        transparent 40%, 
        #e9eef9 80%, 
        transparent 50%
    );
    animation: spin-border 4s linear infinite;
    z-index: -2;
}

/* Warstwa 2: Biała maska */
.product-tile.suggestive-mode::after {
    content: '';
    position: absolute;
    inset: 3px; 
    background: #ffffff;
    border-radius: 4px;
    z-index: -1;
}

/* Ukrywamy domyślną ramkę podczas animacji */
.product-tile.suggestive-mode {
    border-color: transparent !important;
}

/* =========================================
   3. STAN: ZAZNACZONY / WYŁĄCZONY
   ========================================= */
.product-tile.selected {
    background: linear-gradient(-45deg, #213D8A 0%, #3E5EBC 100%) !important;
    border: none !important;
    box-shadow: none !important;
    color: #fff !important;
}

/* Sprzątanie animacji po zaznaczeniu */
.product-tile.selected::before,
.product-tile.selected::after,
.product-tile.disabled-selection::before,
.product-tile.disabled-selection::after {
    display: none !important;
}

/* Kolory tekstów na zaznaczonym */
.product-tile.selected .elementor-icon-box-wrapper,
.product-tile.selected .elementor-icon-box-title span,
.product-tile.selected .elementor-icon-box-description,
.product-tile.selected .elementor-icon-box-icon .elementor-icon {
    color: #ffffff !important;
    fill: #ffffff !important;
}

.product-tile.selected svg path {
    fill: currentColor !important;
}

/* Styl dla nieaktywnych */
.product-tile.disabled-selection {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}

.package-container.selection-warning {
    animation: packageShake 0.45s ease;
    box-shadow: 0 0 0 3px rgba(255, 59, 48, 0.28) !important;
    border-color: #ff3b30 !important;
}

@keyframes packageShake {
    0% { transform: translateX(0); }
    20% { transform: translateX(-6px); }
    40% { transform: translateX(6px); }
    60% { transform: translateX(-4px); }
    80% { transform: translateX(4px); }
    100% { transform: translateX(0); }
}

@media (max-width: 1024px) {
    .cennik-swipe {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        gap: 12px !important;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .cennik-swipe::-webkit-scrollbar {
        display: none;
    }

    .cennik-swipe .swipe-card,
    .cennik-swipe .karta-oferty {
        flex: 0 0 85% !important;
        width: 90% !important;
        max-width: 90% !important;
        scroll-snap-align: center;
        scroll-snap-stop: always;
        margin: 0 !important;
    }
}

.shop-variant-b {
  display: none;
}

html.ab-shop-ready .shop-variant {
  display: none;
}

html.ab-shop-ready .shop-variant.is-active {
  display: block;
}/* End custom CSS */