/* ============================================================================= GOOGLE FONTS — Cormorant Garamond (luxury serif matches the reference's Martina Plantijn) ============================================================================= */
/* ============================================
       ARVEN-STYLE PRODUCT PAGE LAYOUT
       ============================================
       DOM structure (from content-single-product.php):
       .add-to-cart-row
         ├── .add-to-cart-container
         │     └── form.variations_form.cart
         │           ├── table.variations (label + swatches + reset link)
         │           └── .single_variation_wrap
         │                 ├── .single_variation (price display)
         │                 └── .woocommerce-variation-add-to-cart
         │                       ├── .quantity (input)
         │                       └── button (Dodaj do koszyka)
       └── .wishlist-btn (heart - moved by JS into .woocommerce-variation-add-to-cart)
       ============================================ */

    /* === 1. MAIN LAYOUT CONTAINERS === */

    /* add-to-cart-row: vertical stack, NOT side-by-side */
     .add-to-cart-row {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
    }

    /* add-to-cart-container takes full width */
    .add-to-cart-row .add-to-cart-container {
        width: 100% !important;
        flex: none !important;
    }

    /* out-of-stock-container mirrors the in-stock variable/simple flex layout */
    .add-to-cart-row .out-of-stock-container {
        display: flex !important;
        flex-direction: row !important;
        align-items: stretch !important;
        width: 100% !important;
        gap: 10px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .add-to-cart-row .out-of-stock-container .arven-notify-trigger-btn {
        flex: 1 1 auto !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .add-to-cart-row .out-of-stock-container .wishlist-btn {
        flex: 0 0 auto !important;
        margin: 0 !important;
    }

    /* === 2. HIDE DEFAULT VARIATIONS TABLE & SWATCHES === */
    .variations_form table.variations,
    .variations_form .reset_variations,
    .variations_form .reset_variations_alert,
    .variations_form .woocommerce-variation.single_variation,
    .variations_form .woocommerce-variation-description,
    .variations_form .woocommerce-variation-price,
    .woo-variation-swatches .variable-items-wrapper,
    .woo-variation-swatches .wvs-tooltip,
    .arven-show-more {
        display: none !important;
    }

    /* === 3. SINGLE_VARIATION_WRAP & ADD-TO-CART ROW === */

    /* The wrappers must act as flex containers that take up remaining space */
    .single_variation_wrap {
        display: flex !important;
        flex-direction: row !important;
        align-items: stretch !important;
        flex: 1 1 auto !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Make variation add-to-cart a flex row matching simple product layout exactly */
    .woocommerce-variation-add-to-cart {
        display: flex !important;
        flex-direction: row !important;
        align-items: stretch !important;
        flex: 1 1 auto !important;
        width: 100% !important;
        gap: 10px !important; /* Theme uses 10px gap between qty and button */
        margin: 0 !important;
        padding: 0 !important;
    }

    .woocommerce-variation-add-to-cart .quantity {
        flex: 0 0 auto !important;
        margin: 0 !important;
    }

    /* Enterprise fix: Prevent FOUC of the "ILOŚĆ" label next to the counter */
    .woocommerce-variation-add-to-cart .quantity label,
    .qodef-quantity-buttons .qodef-quantity-label,
    .quantity label {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        content-visibility: hidden !important;
        position: absolute !important;
        width: 0 !important;
        height: 0 !important;
        overflow: hidden !important;
    }

    .woocommerce-variation-add-to-cart .single_add_to_cart_button {
        flex: 1 1 auto !important;
        width: 100% !important; /* Force to take available space */
        margin: 0 !important;
    }

    .woocommerce-variation-add-to-cart .single_add_to_cart_button.disabled,
    .woocommerce-variation-add-to-cart .single_add_to_cart_button:disabled {
        opacity: 0.5 !important;
    }

    /* === 4. IMAGE RENDERING QUALITY (Anti-Moiré) === */
    .arven-product-image,
    .arven-hero-image img,
    .masonry-item img {
        image-rendering: auto !important;
        transform: translate3d(0, 0, 0) !important;
        backface-visibility: hidden !important;
        -webkit-backface-visibility: hidden !important;
    }

    /* Hide hidden inputs and blockUI from flex layout */
    .woocommerce-variation-add-to-cart input[type="hidden"],
    .variations_form .blockUI,
    .woocommerce div.product form.cart .blockUI {
        display: none !important;
        position: absolute !important;
        width: 0 !important;
        height: 0 !important;
    }

    /* === 7. WISHLIST HEART (moved by JS into .woocommerce-variation-add-to-cart) === */
    .wishlist-btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 48px !important;
        height: 48px !important;
        border: 1px solid #ddd !important;
        background: #fff !important;
        cursor: pointer !important;
        border-radius: 2px !important;
        transition: border-color 0.2s !important;
        padding: 0 !important;
        margin: 0 0 0 10px !important;
        box-sizing: border-box !important;
        vertical-align: top !important;
    }
    .wishlist-btn:hover {
        border-color: #999 !important;
    }
    .wishlist-btn.active svg {
        fill: #111 !important;
    }
    .wishlist-btn.active svg path,
    .wishlist-btn.arven-wishlisted svg path {
        fill: #111 !important;
        stroke: #111 !important;
    }

/* === 1. MAIN LAYOUT CONTAINERS === */

/* add-to-cart-row: vertical stack, NOT side-by-side */
 .add-to-cart-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
}

/* add-to-cart-container takes full width */
.add-to-cart-row .add-to-cart-container {
    width: 100% !important;
    flex: none !important;
}

/* out-of-stock-container mirrors the in-stock variable/simple flex layout */
.add-to-cart-row .out-of-stock-container {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.add-to-cart-row .out-of-stock-container .arven-notify-trigger-btn {
    flex: 1 1 auto !important;
    width: 100% !important;
    margin: 0 !important;
}

.add-to-cart-row .out-of-stock-container .wishlist-btn {
    flex: 0 0 auto !important;
    margin: 0 !important;
}

/* === 2. HIDE DEFAULT VARIATIONS TABLE & SWATCHES === */
.variations_form table.variations,
.variations_form .reset_variations,
.variations_form .reset_variations_alert,
.variations_form .woocommerce-variation.single_variation,
.variations_form .woocommerce-variation-description,
.variations_form .woocommerce-variation-price,
.woo-variation-swatches .variable-items-wrapper,
.woo-variation-swatches .wvs-tooltip,
.arven-show-more {
    display: none !important;
}

/* === 3. SINGLE_VARIATION_WRAP & ADD-TO-CART ROW === */

/* The wrappers must act as flex containers that take up remaining space */
.single_variation_wrap {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Make variation add-to-cart a flex row matching simple product layout exactly */
.woocommerce-variation-add-to-cart {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    gap: 10px !important; /* Theme uses 10px gap between qty and button */
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-variation-add-to-cart .quantity {
    flex: 0 0 auto !important;
    margin: 0 !important;
}

/* Enterprise fix: Prevent FOUC of the "ILOŚĆ" label next to the counter */
.woocommerce-variation-add-to-cart .quantity label,
.qodef-quantity-buttons .qodef-quantity-label,
.quantity label {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    content-visibility: hidden !important;
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

.woocommerce-variation-add-to-cart .single_add_to_cart_button {
    flex: 1 1 auto !important;
    width: 100% !important; /* Force to take available space */
    margin: 0 !important;
}

.woocommerce-variation-add-to-cart .single_add_to_cart_button.disabled,
.woocommerce-variation-add-to-cart .single_add_to_cart_button:disabled {
    opacity: 0.5 !important;
}

/* === 4. IMAGE RENDERING QUALITY (Anti-Moiré) === */
.arven-product-image,
.arven-hero-image img,
.masonry-item img {
    image-rendering: auto !important;
    transform: translate3d(0, 0, 0) !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
}

/* Hide hidden inputs and blockUI from flex layout */
.woocommerce-variation-add-to-cart input[type="hidden"],
.variations_form .blockUI,
.woocommerce div.product form.cart .blockUI {
    display: none !important;
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
}

/* === 7. WISHLIST HEART (moved by JS into .woocommerce-variation-add-to-cart) === */

.wishlist-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    border: 1px solid #ddd !important;
    background: #fff !important;
    cursor: pointer !important;
    border-radius: 2px !important;
    transition: border-color 0.2s !important;
    padding: 0 !important;
    margin: 0 0 0 10px !important;
    box-sizing: border-box !important;
    vertical-align: top !important;
}
.wishlist-btn:hover {
    border-color: #999 !important;
}
.wishlist-btn.active svg {
    fill: #111 !important;
}
.wishlist-btn.active svg path,
.wishlist-btn.arven-wishlisted svg path {
    fill: #111 !important;
    stroke: #111 !important;
}

/* === 8. ARVEN PREMIUM PURCHASE INFO WIDGET (Mitto-Style Redesign) === */
    .arven-delivery-alert {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        margin: 16px 0 20px 0 !important;
        font-size: 13.5px !important;
        color: #333 !important;
    }
    .delivery-clock-icon {
        color: #666 !important;
        flex-shrink: 0 !important;
    }

    .arven-purchase-info-widget {
        background: #fff !important;
        border: 1px solid #eaeaea !important;
        border-radius: 8px !important;
        padding: 24px 20px !important;
        margin: 16px 0 12px 0 !important;
        box-shadow: 0 1px 3px rgba(0,0,0,0.01) !important;
        overflow: visible !important; /* Allow tooltips to show outside the container */
    }

    .purchase-info-static-list {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
    }

    .info-static-item {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        color: #222 !important;
        font-size: 13.5px !important;
        font-weight: 500 !important;
        line-height: 1.4 !important;
        position: relative !important;
    }

    .info-item-icon {
        color: #555 !important;
        flex-shrink: 0 !important;
    }

    .info-item-text {
        flex-grow: 1 !important;
    }

    /* Premium CSS Tooltips */
    .info-static-item.has-tooltip {
        cursor: help !important;
    }

    .tooltip-trigger-icon {
        color: #ccc !important;
        display: inline-flex !important;
        align-items: center !important;
        transition: color 0.2s ease !important;
        margin-left: 4px !important;
        flex-shrink: 0 !important;
    }

    .info-static-item:hover .tooltip-trigger-icon {
        color: #333 !important;
    }

    .arven-tooltip-text {
        visibility: hidden !important;
        width: 250px !important;
        background-color: #111 !important;
        color: #fff !important;
        text-align: center !important;
        border-radius: 4px !important;
        padding: 10px 14px !important;
        position: absolute !important;
        z-index: 9999 !important;
        bottom: 130% !important; /* Position above the item */
        left: 50% !important;
        transform: translate3d(-50%, 6px, 0) !important;
        opacity: 0 !important;
        transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1), transform 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
        font-size: 11px !important;
        line-height: 1.5 !important;
        font-weight: 400 !important;
        box-shadow: 0 4px 16px rgba(0,0,0,0.18) !important;
        pointer-events: none !important;
        text-transform: none !important;
        letter-spacing: normal !important;
    }

    .arven-tooltip-text::after {
        content: "" !important;
        position: absolute !important;
        top: 100% !important;
        left: 50% !important;
        margin-left: -6px !important;
        border-width: 6px !important;
        border-style: solid !important;
        border-color: #111 transparent transparent transparent !important;
    }

    .info-static-item:hover .arven-tooltip-text {
        visibility: visible !important;
        opacity: 1 !important;
        transform: translate3d(-50%, 0, 0) !important;
    }

    /* === FABRIC SAMPLES CTA BAR === */
    .arven-samples-cta {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        padding: 16px 20px !important;
        margin: 12px 0 24px 0 !important;
        background: #FAF9F6 !important; /* Match theme soft cream/off-white background */
        border: 1px solid #eaeaea !important;
        border-radius: 8px !important;
        text-decoration: none !important;
        transition: background-color 0.25s ease, border-color 0.25s ease !important;
    }

    .arven-samples-cta:hover {
        background-color: #f3f2ee !important;
        border-color: #d1d0cb !important;
    }

    .cta-left {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
    }

    .cta-fabric-icon {
        color: #444 !important;
        flex-shrink: 0 !important;
    }

    .cta-text {
        color: #111 !important;
        font-size: 13.5px !important;
        font-weight: 600 !important;
        letter-spacing: 0.01em !important;
    }

    .cta-arrow {
        color: #666 !important;
        transition: transform 0.2s ease !important;
        flex-shrink: 0 !important;
    }

    .arven-samples-cta:hover .cta-arrow {
        transform: translateX(3px) !important;
    }

    /* Mobile Breakpoints */
    @media (max-width: 480px) {
        .arven-purchase-info-widget {
            padding: 20px 16px !important;
        }
        .info-static-item {
            font-size: 13px !important;
            gap: 10px !important;
        }
        .arven-samples-cta {
            padding: 14px 16px !important;
        }
        .arven-tooltip-text {
            width: 220px !important;
        }
    }

/* === 4. CUSTOM FABRIC SELECTOR === */
    .arven-fabric-selector {
        margin-bottom: clamp(15px, 2vw, 25px) !important;
        display: flex !important;
        flex-direction: column !important;
        gap: clamp(8px, 1vw, 12px) !important;
    }

    .arven-fabric-selector .fabric-selector-header {
        font-size: clamp(13px, 0.9vw, 15px) !important;
        color: #1a1a1a !important;
        line-height: 1.4 !important;
        display: flex !important;
        align-items: baseline !important;
    }

    .arven-fabric-selector .fabric-label {
        font-weight: 400 !important;
        color: #666 !important;
    }

    .arven-fabric-selector .fabric-value {
        font-weight: 500 !important;
        margin-left: clamp(3px, 0.5vw, 6px) !important;
    }

    .arven-fabric-selector .fabric-swatches-grid {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: clamp(4px, 0.7vw, 8px) !important;
        align-items: center !important;
    }

    .arven-fabric-selector .fabric-swatch-item {
        flex: 1 1 0 !important;
        max-width: 14.28% !important;
        min-width: 0 !important;
        aspect-ratio: 1 / 1 !important;
        height: auto !important;
        border: 1px solid #e5e5e5 !important;
        border-radius: 0px !important; 
        overflow: hidden !important;
        cursor: pointer !important;
        transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: #fff !important;
        box-sizing: border-box !important;
    }

    .arven-fabric-selector .fabric-swatch-item:hover {
        border-color: #000 !important;
        box-shadow: inset 0 0 0 1px #000 !important;
    }

    .arven-fabric-selector .fabric-swatch-item.is-selected {
        border: 1px solid #111 !important;
        padding: 0 !important;
        box-shadow: inset 0 0 0 2px #fff, inset 0 0 0 3px #111 !important;
    }

    .arven-fabric-selector .fabric-swatch-item img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        pointer-events: none !important;
    }
    
    .arven-fabric-selector .fabric-name-only {
        font-size: clamp(9px, 0.8vw, 11px) !important;
        text-transform: uppercase !important;
        color: #999 !important;
    }

    .arven-fabric-selector .fabric-swatch-more {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 1 1 0 !important;
        max-width: 14.28% !important;
        min-width: 0 !important;
        aspect-ratio: 1 / 1 !important;
        height: auto !important;
        border: 1px solid #e5e5e5 !important;
        font-size: clamp(11px, 1vw, 13px) !important;
        color: #333 !important;
        cursor: pointer !important;
        transition: border-color 0.2s ease, background 0.2s ease !important;
        font-weight: 500 !important;
        background: #fdfdfd !important;
        border-radius: 0px !important;
        box-sizing: border-box !important;
    }

    .arven-fabric-selector .fabric-swatch-more:hover {
        border-color: #000 !important;
        background: #f5f5f5 !important;
    }

    /* Fabric name as clickable trigger */
    .arven-fabric-name-btn {
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        background: none !important;
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
        color: #1a1a1a !important;
        font-weight: 600 !important;
        font-size: inherit !important;
        font-family: inherit !important;
        cursor: pointer !important;
        text-decoration: underline !important;
        text-decoration-color: transparent !important;
        text-underline-offset: 3px !important;
        transition: text-decoration-color 0.2s ease !important;
    }

    .arven-fabric-name-btn:hover {
        text-decoration-color: #1a1a1a !important;
    }

    .arven-fabric-name-arrow {
        width: 13px !important;
        height: 13px !important;
        stroke: currentColor !important;
        flex-shrink: 0 !important;
        opacity: 0.45 !important;
        transition: transform 0.2s ease, opacity 0.2s ease !important;
    }

    .arven-fabric-name-btn:hover .arven-fabric-name-arrow {
        transform: translateX(3px) !important;
        opacity: 1 !important;
    }

    /* Old separate button — now gone */
    .arven-view-fabric-btn {
        display: none !important;
    }

    .fabric-media-container {
        display: flex !important;
        gap: 16px !important;
        margin-bottom: 24px !important;
        flex-wrap: wrap !important;
        width: 100% !important;
    }

    .fabric-media-img,
    .fabric-media-video {
        aspect-ratio: 16 / 10 !important;
        border-radius: 6px !important;
        overflow: hidden !important;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
    }

    .fabric-media-img img,
    .fabric-media-video video {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        display: block !important;
    }

    @media (max-width: 480px) {
        .arven-view-fabric-btn {
            width: 100% !important;
        }
    }

    /* === MOBILE BREAKPOINT LOCK (1023px and below) === */
    @media (max-width: 1023px) {
        .arven-fabric-selector {
            margin-bottom: 20px !important;
            gap: 10px !important;
        }

        .arven-fabric-selector .fabric-selector-header {
            font-size: 13px !important;
        }

        .arven-fabric-selector .fabric-value {
            margin-left: 5px !important;
        }

        .arven-fabric-selector .fabric-swatches-grid {
            gap: 7px !important;
        }

        .arven-fabric-selector .fabric-name-only {
            font-size: 9px !important;
        }

        .arven-fabric-selector .fabric-swatch-more {
            font-size: 11px !important;
        }

        /* Hide 6th swatch on mobile - show only 5 */
        .arven-fabric-selector .fabric-swatches-grid .fabric-swatch-item:nth-child(6) {
            display: none !important;
        }
    }

    html.fabric-panel-is-open,
    body.fabric-panel-is-open,
    html.info-panel-is-open,
    body.info-panel-is-open {
        overflow: hidden !important;
        height: 100% !important;
        height: -webkit-fill-available !important;
        overscroll-behavior: none !important;
    }

    /* === 5. FABRIC PANEL DRAWER (Arven-style) === */
    .arven-fabric-panel-overlay {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        background: rgba(0,0,0,0.4) !important;
        z-index: 2147483646 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transition: opacity 0.4s ease, visibility 0s linear 0.4s !important;
        touch-action: none !important;
        will-change: opacity;
    }
    #fabricPanelOverlay.is-open {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), visibility 0s linear 0s !important;
    }

    .arven-fabric-panel {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 720px !important;
        max-width: 95vw !important;
        height: 100% !important;
        height: -webkit-fill-available !important;
        background: #fff !important;
        z-index: 2147483647 !important;
        transform: translate3d(100%, 0, 0) !important;
        transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), visibility 0s linear 0.4s !important;
        display: flex !important;
        flex-direction: column !important;
        box-shadow: -30px 0 60px rgba(0,0,0,0.12) !important;
        visibility: hidden !important;
        will-change: transform;
        backface-visibility: hidden !important;
        -webkit-backface-visibility: hidden !important;
        pointer-events: none !important;
        overflow: hidden !important;
        contain: layout paint;
    }
    .arven-fabric-panel.is-open {
        transform: translate3d(0, 0, 0) !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), visibility 0s linear 0s !important;
    }

    /* Fabric Panel Internal Layout */
    .fabric-panel-header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 32px 36px 24px !important;
        border-bottom: 1px solid #efefef !important;
        flex-shrink: 0 !important;
    }

    .fabric-panel-title {
        font-size: 24px !important;
        font-weight: 500 !important;
        color: #000 !important;
        margin: 0 !important;
        letter-spacing: -0.02em !important;
    }

    .fabric-panel-close {
        background: none !important;
        border: none !important;
        cursor: pointer !important;
        padding: 8px !important;
        margin-right: -8px !important;
        color: #000 !important;
        transition: none !important;
        line-height: 0 !important;
    }
    .fabric-panel-close:hover {
        transform: rotate(90deg) !important;
    }

    .fabric-panel-body {
        padding: 40px 36px !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        flex: 1 !important;
        min-height: 0 !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior: contain !important;
        touch-action: pan-y !important;
    }

    .fabric-panel-group-title {
        font-size: 14px !important;
        font-weight: 400 !important;
        color: #000 !important;
        margin: 0 0 16px 0 !important;
        padding-top: 32px !important;
        display: flex !important;
        align-items: baseline !important;
        letter-spacing: 0 !important;
    }
    .fabric-panel-group-title:first-child {
        padding-top: 8px !important;
    }
    /* Cena opcji jest informacją drugorzędną: nazwa tkaniny zostaje pierwsza w hierarchii,
       kwota pozostaje w pełni czytelna, ale przestaje krzyczeć równo z nagłówkiem. */
    .fabric-group-upcharge {
        font-weight: 500 !important;
        font-size: 13px !important;
        color: #6b6b6b !important;
        margin-left: 8px !important;
        white-space: nowrap !important;
    }
    /* "W Twojej cenie" — najcichszy z trzech stanów, ale obecny: brak etykiety zostawiał
       pytanie "czy to dopłata?", a koszt niejasny hamuje decyzję mocniej niż koszt znany. */
    .fabric-group-upcharge.is-included {
        font-weight: 400 !important;
        color: #8a8a8a !important;
    }
    /* Taniej od obecnego wyboru to dobra wiadomość, więc czytelniejsza niż dopłata. */
    .fabric-group-upcharge.is-discount {
        color: #1a1a1a !important;
    }
    .fabric-select-btn-price {
        font-weight: 500 !important;
        opacity: 0.85 !important;
    }

    .fabric-panel-grid {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 16px !important;
        margin-bottom: 24px !important;
    }

    .fabric-panel-swatch {
        cursor: pointer !important;
        border: 1px solid #e0e0e0 !important;
        border-radius: 8px !important;
        padding: 0 !important;
        overflow: hidden !important;
        transition: border-color 0.2s ease !important;
        display: flex !important;
        flex-direction: column !important;
        background: #fff !important;
        position: relative !important;
    }

    .fabric-panel-swatch:hover {
        border-color: #999 !important;
    }

    .fabric-panel-swatch.is-selected {
        border-color: transparent !important;
        outline: 2px solid #111 !important;
        outline-offset: 2px !important;
    }

    .fabric-panel-swatch img {
        width: 100% !important;
        aspect-ratio: 1/1 !important;
        object-fit: cover !important;
        display: block !important;
        border-radius: 5px !important;
        box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
        transition: opacity 0.2s ease !important;
    }
    .fabric-panel-swatch:hover img {
        opacity: 0.85 !important;
    }

    .fabric-panel-footer {
        padding: 20px 28px 28px !important;
        border-top: none !important;
        flex-shrink: 0 !important;
        background: #fff !important;
    }

    .fabric-panel-select-btn {
        width: 100% !important;
        padding: 18px 20px !important;
        background: #2a2a2a !important;
        color: #fff !important;
        border: none !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        cursor: pointer !important;
        transition: background 0.2s ease !important;
        border-radius: 0 !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
    }

    .fabric-panel-select-btn:hover {
        background: #000 !important;
    }

    /* === 6. INFORMATION SIDE PANEL (Reference Match) === */
    .arven-info-panel-overlay {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        background: rgba(0,0,0,0.5) !important;
        z-index: 2147483646 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transition: opacity 0.4s ease, visibility 0s linear 0.4s !important;
        touch-action: none !important;
        will-change: opacity;
    }
    #infoPanelOverlay.is-open {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1), visibility 0s linear 0s !important;
    }

    .arven-info-panel {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 35vw !important;
        min-width: 400px !important;
        max-width: 600px !important;
        height: 100% !important;
        height: -webkit-fill-available !important;
        background: #fff !important;
        z-index: 2147483647 !important;
        transform: translate3d(100%, 0, 0) !important;
        transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), visibility 0s linear 0.4s !important;
        display: flex !important;
        flex-direction: column !important;
        box-shadow: -4px 0 24px rgba(0,0,0,0.06) !important;
        visibility: hidden !important;
        will-change: transform;
        pointer-events: none !important;
        overflow: hidden !important;
        contain: layout paint;
    }
    
    /* WP Admin Bar Fix */
    .admin-bar .arven-info-panel { top: 32px !important; }
    @media (max-width: 782px) { 
        .admin-bar .arven-info-panel { top: 46px !important; } 
    }
    
    .arven-info-panel.is-open {
        transform: translate3d(0, 0, 0) !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), visibility 0s linear 0s !important;
    }

    .arven-info-panel .info-panel-content-unified,
    .arven-fabric-panel .fabric-panel-body {
        opacity: 1;
        transform: none;
    }

    /* --- Panel Header --- */
    .info-panel-header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 16px 24px !important; /* Tighter padding */
        border-bottom: 1px solid #f0f0f0 !important;
        flex-shrink: 0 !important;
        background: #fff !important;
    }

    .info-panel-title {
        font-size: 15px !important;
        font-weight: 500 !important;
        color: #111 !important;
        margin: 0 !important;
        letter-spacing: normal !important;
        text-transform: none !important;
    }

    .info-panel-close {
        background: none !important;
        border: none !important;
        cursor: pointer !important;
        padding: 4px !important;
        margin-right: -4px !important;
        color: #999 !important;
        transition: color 0.2s ease !important;
        line-height: 0 !important;
        border-radius: 50% !important;
    }
    .info-panel-close svg {
        width: 18px !important;
        height: 18px !important;
        stroke-width: 1 !important; /* Thinner, like the reference */
    }
    .info-panel-close:hover {
        color: #111 !important;
    }

    /* --- Panel Body --- */
    .info-panel-body {
        padding: 0 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        flex: 1 !important;
        min-height: 0 !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior: contain !important;
    }
    
    .info-panel-body::-webkit-scrollbar { width: 4px !important; }
    .info-panel-body::-webkit-scrollbar-track { background: transparent !important; }
    .info-panel-body::-webkit-scrollbar-thumb { background: #e0e0e0 !important; border-radius: 4px !important; }
    .info-panel-body::-webkit-scrollbar-thumb:hover { background: #ccc !important; }

    /* --- Section Styling --- */
    .info-panel-section {
        padding: 24px 24px 32px !important; /* Reference padding */
        position: relative !important;
    }
    .info-panel-section + .info-panel-section {
        border-top: 1px solid #f0f0f0 !important;
    }

    /* New Heading Style */
    .panel-heading {
        font-size: 20px !important; /* Reference size */
        font-weight: 600 !important;
        color: #111 !important;
        margin: 0 0 20px 0 !important;
        text-transform: none !important;
        letter-spacing: normal !important;
    }

    .info-panel-section-title { display: none !important; }

    /* --- Section Inner Content --- */
    .info-panel-section-inner {
        font-size: 13px !important;
        line-height: 1.6 !important;
        color: #666 !important;
    }

    .info-panel-section-inner p { margin-bottom: 12px !important; }
    .info-panel-section-inner p:last-child { margin-bottom: 0 !important; }

    .info-panel-section-inner h2 {
        font-size: 16px !important;
        font-weight: 600 !important;
        color: #111 !important;
        margin-top: 32px !important;
        margin-bottom: 16px !important;
        letter-spacing: -0.01em !important;
    }

    .info-panel-section-inner h3 {
        font-size: 14.5px !important;
        font-weight: 600 !important;
        color: #111 !important;
        margin-top: 24px !important;
        margin-bottom: 12px !important;
    }

    .info-panel-section-inner ul {
        margin: 12px 0 20px 20px !important;
        padding: 0 !important;
        list-style-type: disc !important;
    }

    .info-panel-section-inner li {
        margin-bottom: 8px !important;
        line-height: 1.5 !important;
        color: #555 !important;
    }

    .info-panel-section-inner strong {
        font-weight: 600 !important;
        color: #111 !important;
    }

    /* --- Technical Dimensions Styling --- */
    .wymiary-graphic, .wymiary-graphic-in-flow {
        margin-bottom: 24px !important;
        background: transparent !important;
        border-radius: 0 !important;
        overflow: hidden !important;
    }
    .wymiary-graphic img, .wymiary-graphic-in-flow img {
        width: 100% !important;
        height: auto !important;
        display: block !important;
        object-fit: contain !important;
        mix-blend-mode: multiply !important;
    }

    .wymiary-disclaimer {
        margin-top: -12px !important;
        margin-bottom: 24px !important;
        font-size: 11px !important;
        color: #999 !important;
        line-height: 1.5 !important;
        text-align: left !important;
    }
    
    /* --- Specs Table --- */
    .arven-specs-table {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        background: transparent !important;
        border: none !important;
        border-radius: 0 !important;
        padding: 0 !important;
        box-shadow: none !important;
    }

    .spec-row {
        display: flex !important;
        justify-content: space-between !important;
        align-items: flex-start !important;
        padding: 10px 0 !important; /* Reference padding */
        border-bottom: 1px solid #f0f0f0 !important;
        position: relative !important;
        background: transparent !important;
    }
    .spec-row:last-child {
        border-bottom: 1px solid #f0f0f0 !important; /* the reference keeps the last border */
    }
    .spec-row:hover {
        background: transparent !important; /* the reference has no hover effect */
    }
    .spec-row::after { display: none !important; }

    .spec-label {
        font-size: 13px !important;
        font-weight: 400 !important;
        color: #777 !important;
        text-transform: none !important;
        letter-spacing: normal !important;
        width: 50% !important;
        flex-shrink: 0 !important;
        line-height: 1.4 !important;
        min-width: 0 !important;
        word-break: break-word !important;
    }
    
    /* Force capitalization of the first letter for labels like 'szerokość narożnika' */
    .spec-label::first-letter {
        text-transform: uppercase !important;
    }

    .spec-value {
        font-size: 13px !important;
        font-weight: 600 !important;
        color: #111 !important;
        text-align: right !important;
        width: 50% !important;
        flex-shrink: 1 !important;
        line-height: 1.4 !important;
        min-width: 0 !important;
        word-break: break-word !important;
        overflow-wrap: break-word !important;
    }

    /* Mobile: spec table on very narrow screens (Samsung 360px) */
    @media (max-width: 400px) {
        .spec-row {
            flex-wrap: wrap !important;
            gap: 2px !important;
        }
        .spec-label {
            width: 100% !important;
            color: #555 !important;
        }
        .spec-value {
            width: 100% !important;
            text-align: left !important;
            color: #111 !important;
        }
    }

    .spec-header-inline {
        font-size: 14px !important;
        font-weight: 600 !important;
        color: #111 !important;
        margin: 20px 0 10px !important;
        text-transform: none !important;
        letter-spacing: normal !important;
        border-bottom: none !important; /* the reference has no border here */
        padding-bottom: 0 !important;
        display: block !important;
    }
    .spec-header-inline::after { display: none !important; }

    .spec-header-inline.is-package-header {
        background: transparent !important;
        border-top: none !important;
        margin-top: 24px !important;
        padding: 0 !important;
    }

    .dynamic-fabric-info {
        background: transparent !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        padding: 0 !important;
    }
    .dynamic-fabric-info .drawer-description {
        border-bottom: none !important;
        margin-bottom: 24px !important;
        padding-bottom: 0 !important;
    }
    .static-materials-info {
        border-top: none !important;
        margin-top: 24px !important;
        padding-top: 0 !important;
    }

    /* RESPONSIVENESS */
    @media (max-width: 480px) {
        .arven-info-panel {
            width: 100% !important;
            max-width: 100% !important;
            min-width: 0 !important;
            transform: translate3d(100%, 0, 0) !important;
        }
        .info-panel-header {
            padding: 16px 20px !important;
        }
        .info-panel-section {
            padding: 20px !important;
        }
        .panel-heading {
            font-size: 18px !important;
        }
    }

    .woocommerce-product-attributes {
        margin-top: 16px !important;
        width: 100% !important;
        border-collapse: collapse !important;
        background: #fff !important;
        border-radius: 8px !important;
        border: 1px solid #eae8e4 !important;
        overflow: hidden !important;
        box-shadow: 0 1px 3px rgba(0,0,0,0.02) !important;
    }
    .woocommerce-product-attributes-item__label {
        padding: 13px 20px !important;
        font-size: 11px !important;
        font-weight: 500 !important;
        color: #8a847c !important;
        text-transform: uppercase !important;
        letter-spacing: 0.06em !important;
        border-bottom: 1px solid #f0eeea !important;
        text-align: left !important;
        width: 50% !important;
    }
    .woocommerce-product-attributes-item__value {
        padding: 13px 20px !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        color: #1a1a1a !important;
        text-align: left !important;
        border-bottom: 1px solid #f0eeea !important;
        width: 50% !important;
    }

    /* Accordion Adjustment */
    .arven-accordion-body {
        display: none !important;
    }
    .arven-accordion-content {
        text-align: justify !important;
    }
    .arven-accordion-content p {
        text-align: justify !important;
    }
    .arven-product-short-desc {
        text-align: justify !important;
    }
    
    .arven-accordion-header {
        cursor: pointer !important;
        transition: opacity 0.2s ease !important;
    }
    .arven-accordion-header:hover {
        opacity: 0.6 !important;
    }
    .arven-accordion-chevron {
        transform: rotate(-90deg) !important;
    }

    /* Mobile/Tablet Improvements */
    @media (max-width: 768px) {
        .arven-fabric-panel, .arven-info-panel {
            width: 100% !important;
            max-width: 100% !important;
            min-width: 0 !important;
            top: 0 !important;
            bottom: 0 !important;
            height: 100% !important;
            border-radius: 0 !important;
            transform: translate3d(0, 100%, 0) !important;
            left: 0 !important;
            right: 0 !important;
            transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), visibility 0s linear 0.4s !important;
        }
        .arven-fabric-panel.is-open, .arven-info-panel.is-open {
            transform: translate3d(0, 0, 0) !important;
            visibility: visible !important;
            opacity: 1 !important;
            pointer-events: auto !important;
            z-index: 2147483647 !important;
            transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), visibility 0s linear 0s !important;
        }
        
        .info-panel-header {
            padding: 22px 24px 20px !important;
        }
        .info-panel-header::after {
            left: 24px !important;
            right: 24px !important;
        }
        .fabric-panel-header {
            padding: 24px 20px 20px !important;
        }
        .fabric-panel-title, .info-panel-title {
            font-size: 13px !important;
        }
        .fabric-panel-body {
            padding: 20px 20px 40px !important;
        }
        .info-panel-section {
            padding: 24px 24px !important;
        }
        .spec-row {
            padding: 12px 16px !important;
        }
        .spec-row:not(:last-child)::after {
            left: 16px !important;
            right: 16px !important;
        }
        .fabric-panel-grid {
            grid-template-columns: repeat(3, 1fr) !important;
            gap: 12px !important;
        }
        .fabric-panel-footer {
            padding: 16px 20px 24px !important;
        }

        /* Padding optimizations for very narrow screens (e.g. 320px) */
        @media (max-width: 360px) {
            .info-panel-section {
                padding: 18px 12px !important;
            }
            .spec-row {
                padding: 10px 8px !important;
            }
        }
    }


/* Hide scroll-to-top button on single product pages */
body.single-product .scroll-top-btn {
    display: none !important;
}

/* ============================================
   STICKY BOTTOM ADD TO CART BAR (Arven Style)
   ============================================ */
.arven-sticky-cart-bar {
    position: fixed !important;
    bottom: 24px !important;
    left: 0 !important;
    right: 0 !important;
    margin: 0 auto !important;
    width: calc(100% - 48px) !important;
    max-width: 950px !important;
    height: 96px !important; /* Increased from 80px to 96px */
    box-sizing: border-box !important;
    background: rgba(255, 255, 255, 0.98) !important;
    /* backdrop-filter removed to eliminate heavy scroll repaint repaint costs */
    box-shadow: 0 20px 48px rgba(0,0,0,0.08), 0 4px 16px rgba(0,0,0,0.02) !important;
    border: 1px solid rgba(0,0,0,0.06) !important;
    border-radius: 100px !important;
    z-index: 99900 !important;
    transform: translateY(calc(100% + 150px)) !important; /* Matches critical CSS */
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease, visibility 0.3s ease !important;
    will-change: transform, opacity;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.arven-sticky-cart-bar.is-visible {
    transform: translateY(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

.arven-sticky-cart-inner {
    height: 100% !important;
    padding: 0 24px 0 40px !important; /* Increased padding */
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    box-sizing: border-box !important;
}

.sticky-cart-product-info {
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important;
    flex: 1 !important;
}

.sticky-cart-details {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    flex: 1 !important;
}

.sticky-cart-title {
    font-size: 16px !important; /* Increased from 14px */
    font-weight: 600 !important;
    color: #111 !important;
    margin: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    letter-spacing: -0.015em !important;
    line-height: 1.2 !important;
}

.sticky-cart-attributes {
    font-size: 12px !important; /* Increased from 11px */
    color: #888 !important;
    margin-top: 2px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.sticky-cart-price {
    font-size: 18px !important; /* Increased from 14px */
    font-weight: 700 !important;
    color: #111 !important;
    margin-top: 4px !important;
    white-space: nowrap !important;
    letter-spacing: -0.01em !important;
    line-height: 1.2 !important;
}

.sticky-cart-actions {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important; /* Increased from 12px */
    flex-shrink: 0 !important;
}

.sticky-cart-qty {
    display: flex !important;
    align-items: center !important;
    border: none !important;
    border-radius: 100px !important;
    background: #f4f4f4 !important;
    height: 56px !important; /* Increased from 48px */
    box-sizing: border-box !important;
    overflow: hidden !important;
    padding: 0 6px !important;
}

.sticky-qty-btn {
    width: 38px !important; /* Increased from 32px */
    height: 38px !important; /* Increased from 32px */
    border-radius: 50% !important;
    border: none !important;
    background: none !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    color: #111 !important;
    padding: 0 !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}
.sticky-qty-btn:hover {
    background-color: rgba(0,0,0,0.05) !important;
}

.sticky-qty-value {
    width: 30px !important;
    text-align: center !important;
    font-size: 15px !important; /* Increased from 13px */
    font-weight: 600 !important;
    color: #111 !important;
    user-select: none !important;
}

.sticky-add-to-cart-btn {
    height: 56px !important; /* Increased from 48px */
    padding: 0 44px !important; /* Increased padding */
    background: #000 !important;
    color: #fff !important;
    border: none !important;
    font-size: 13px !important; /* Increased from 12px */
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    cursor: pointer !important;
    transition: color 0.25s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.25s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.25s cubic-bezier(0.4, 0, 0.2, 1), transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    border-radius: 100px !important;
    white-space: nowrap !important;
    box-shadow: 0 4px 14px rgba(0,0,0,0.12) !important;
}
.sticky-add-to-cart-btn:hover {
    background: #222 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 20px rgba(0,0,0,0.18) !important;
}
.sticky-add-to-cart-btn:active {
    transform: translateY(1px) !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .arven-sticky-cart-bar {
        bottom: 16px !important;
        width: calc(100% - 24px) !important;
        height: 88px !important; /* Increased from 72px */
        border-radius: 100px !important;
        transform: translateY(calc(100% + 30px)) !important;
    }
    .arven-sticky-cart-bar.is-visible {
        transform: translateY(0) !important;
    }
    .arven-sticky-cart-inner {
        height: 100% !important;
        padding: 0 16px 0 28px !important;
        gap: 16px !important;
    }
    .sticky-cart-title {
        font-size: 15px !important;
    }
    .sticky-cart-attributes {
        font-size: 11px !important;
        margin-top: 1px !important;
    }
    .sticky-cart-price {
        margin-top: 2px !important;
        font-size: 15px !important;
    }
    .sticky-qty-btn {
        width: 34px !important;
        height: 34px !important;
        font-size: 15px !important;
    }
    .sticky-cart-qty {
        height: 48px !important;
        padding: 0 4px !important;
    }
    .sticky-qty-value {
        width: 26px !important;
        font-size: 13px !important;
    }
    .sticky-add-to-cart-btn {
        height: 48px !important;
        padding: 0 32px !important;
        font-size: 12px !important;
    }
}

@media (max-width: 576px) {
    .sticky-cart-qty {
        display: none !important;
    }
    .arven-sticky-cart-bar {
        height: 84px !important; /* Increased from 72px */
    }
    .arven-sticky-cart-inner {
        padding: 0 12px 0 24px !important;
    }
    .sticky-cart-title {
        font-size: 14px !important;
    }
    .sticky-cart-price {
        font-size: 15px !important;
    }
    .sticky-add-to-cart-btn {
        padding: 0 28px !important;
        height: 48px !important;
        font-size: 12px !important;
    }
}

@media (max-width: 375px) {
    .arven-sticky-cart-bar {
        height: 80px !important;
    }
    .arven-sticky-cart-inner {
        padding: 0 10px 0 18px !important;
        gap: 10px !important;
    }
    .sticky-cart-title {
        font-size: 13px !important;
    }
    .sticky-cart-price {
        font-size: 14px !important;
    }
    .sticky-cart-attributes {
        display: none !important;
    }
    .sticky-add-to-cart-btn {
        padding: 0 20px !important;
        font-size: 11px !important;
        height: 44px !important;
    }
}

/* Loading spinner state for add-to-cart buttons */
.sticky-add-to-cart-btn.loading,
.single_add_to_cart_button.loading {
    position: relative !important;
    color: transparent !important;
    pointer-events: none !important;
}

.sticky-add-to-cart-btn.loading::after,
.single_add_to_cart_button.loading::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 18px !important;
    height: 18px !important;
    margin-top: -9px !important;
    margin-left: -9px !important;
    border: 2px solid rgba(255, 255, 255, 0.3) !important;
    border-top-color: #ffffff !important;
    border-radius: 50% !important;
    animation: button-spin 0.6s linear infinite !important;
}

@keyframes button-spin {
    to { transform: rotate(360deg); }
}

/* Dimensions Graphic inside Accordion */
.arven-wymiary-grafika-wrapper {
    margin-top: 24px !important;
    width: 100% !important;
    text-align: center !important;
}

.arven-wymiary-grafika {
    max-width: 100% !important;
    height: auto !important;
    border-radius: 8px !important;
    border: 1px solid #eae8e4 !important;
    background: #fff !important;
    padding: 10px !important;
    box-sizing: border-box !important;
    display: inline-block !important;
}

/* ==========================================================================
   PRODUCT FEATURES SECTION (2 COLUMNS IMAGE + TEXT)
   ========================================================================== */
.arven-product-features-section {
    max-width: 100% !important;
    margin: 80px auto 40px !important;
    padding-left: clamp(20px, 4vw, 60px) !important;
    padding-right: clamp(20px, 4vw, 60px) !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.arven-features-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 80px !important;
    align-items: start !important;
}

.arven-feature-column {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
}

.arven-feature-image-wrapper {
    width: 100% !important;
    aspect-ratio: 16 / 10 !important;
    overflow: hidden !important;
    border-radius: 8px !important;
    background: #f5f5f5 !important;
}

.arven-feature-image-wrapper img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.arven-feature-image-wrapper:hover img {
    transform: scale(1.03) !important;
}

.arven-feature-title {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #111 !important;
    margin: 0 !important;
    letter-spacing: -0.01em !important;
    line-height: 1.2 !important;
    text-transform: none !important;
}

.arven-feature-description {
    font-size: 15px !important;
    line-height: 1.6 !important;
    color: #555 !important;
    margin: 0 !important;
    text-align: justify !important;
}

@media (max-width: 991px) {
    .arven-product-features-section {
        margin: 40px auto 20px !important;
        padding: 0 20px !important;
    }
    .arven-features-grid {
        grid-template-columns: 1fr !important;
        gap: 48px !important;
    }
    .arven-feature-title {
        font-size: 20px !important;
    }
    .arven-feature-description {
        font-size: 14px !important;
    }
}

/* ==========================================================================
   NAJWAŻNIEJSZE CECHY — Luxury Architectural Spec Grid
   ========================================================================== */
.arven-cechy-section {
    max-width: 1400px !important;
    margin: 64px auto 80px !important;
    padding: 64px clamp(28px, 5vw, 80px) !important;
    box-sizing: border-box !important;
    background: #f8f7f4 !important;
    border-radius: 16px !important;
    border: 1px solid #eae8e3 !important;
}

.arven-cechy-header {
    margin-bottom: 48px !important;
    border-bottom: 1px solid #e5e3dd !important;
    padding-bottom: 24px !important;
    text-align: left !important;
}

.arven-cechy-label {
    display: block !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #8c8984 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    margin-bottom: 8px !important;
}

.arven-cechy-title {
    font-size: clamp(24px, 3vw, 32px) !important;
    font-weight: 700 !important;
    color: #111 !important;
    letter-spacing: -0.02em !important;
    margin: 0 !important;
    font-family: inherit !important;
    text-transform: none !important;
    line-height: 1.2 !important;
}

.arven-cechy-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 36px 64px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.arven-cechy-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    padding-top: 24px !important;
    border-top: 1px solid #e4e2dd !important;
    transition: border-color 0.25s ease !important;
}

.arven-cechy-item:hover {
    border-top-color: #111 !important;
}

.arven-cechy-num {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #a09d97 !important;
    font-family: monospace, sans-serif !important;
    letter-spacing: 0.08em !important;
    margin-bottom: 14px !important;
    transition: color 0.25s ease !important;
}

.arven-cechy-item:hover .arven-cechy-num {
    color: #111 !important;
}

.arven-cechy-text {
    font-size: 14.5px !important;
    line-height: 1.65 !important;
    color: #555 !important;
}

.arven-cechy-text strong {
    font-weight: 700 !important;
    color: #111 !important;
    font-size: 15.5px !important;
}

@media (max-width: 991px) {
    .arven-cechy-grid {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }
    .arven-cechy-section {
        padding: 44px 24px !important;
        margin: 48px auto 56px !important;
        border-radius: 12px !important;
    }
    .arven-cechy-header {
        margin-bottom: 32px !important;
        padding-bottom: 18px !important;
    }
}

/* ==========================================================================
   SELSEY-STYLE FAQ & CONTACT SECTION
   ========================================================================== */
.arven-product-faq-container {
    max-width: 100% !important;
    margin: 80px auto 40px !important;
    padding-left: clamp(25px, 4vw, 30px) !important;
    padding-right: clamp(25px, 4vw, 30px) !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.arven-faq-layout {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 80px;
    align-items: start;
}

/* LEFT COLUMN: FAQ Accordion Card */
.arven-faq-accordion-card {
    background-color: #f8f8f8;
    border-radius: 12px;
    padding: 48px;
    box-sizing: border-box;
}

.arven-faq-main-title {
    font-size: 24px;
    font-weight: 700;
    color: #111;
    margin: 0 0 24px 0 !important;
    letter-spacing: -0.01em;
    font-family: inherit;
    text-transform: none !important;
}

.arven-faq-accordion-group {
    display: flex;
    flex-direction: column;
}

.arven-faq-item {
    border-bottom: 1px solid #e0e0e0;
}

.arven-faq-item:last-child {
    border-bottom: none;
}

.arven-faq-header {
    width: 100% !important;
    background: none !important;
    border: none !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 20px 0 !important;
    cursor: pointer !important;
    text-align: left !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.arven-faq-header:focus {
    outline: none !important;
}

.arven-faq-title {
    font-size: 15px;
    font-weight: 500;
    color: #111;
    line-height: 1.4;
    padding-right: 20px;
    transition: color 0.2s ease;
}

.arven-faq-header:hover .arven-faq-title {
    color: #555;
}

.arven-faq-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #111;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
}

.arven-faq-icon svg {
    display: block;
}

.arven-faq-body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.arven-faq-content {
    padding: 0 0 24px 0;
    font-size: 13px;
    line-height: 1.6;
    color: #555;
}

/* RIGHT COLUMN: Contact CTA Card */
.arven-faq-contact-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 48px 24px;
    box-sizing: border-box;
    height: 100%;
}

.arven-faq-contact-title {
    font-size: 22px;
    font-weight: 700;
    color: #111;
    margin: 0 0 16px 0 !important;
    line-height: 1.3;
    letter-spacing: -0.01em;
    text-transform: none !important;
}

.arven-faq-contact-desc {
    font-size: 13.5px;
    line-height: 1.6;
    color: #555;
    margin: 0 0 28px 0 !important;
    max-width: 320px;
}

.arven-faq-contact-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    background-color: #000 !important;
    color: #fff !important;
    border: none !important;
    padding: 14px 28px !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    border-radius: 50px !important; /* Pill style */
    cursor: pointer !important;
    transition: background-color 0.2s ease, transform 0.2s ease !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
    box-sizing: border-box !important;
    height: 48px !important;
    line-height: 1 !important;
}

.arven-faq-contact-btn:hover {
    background-color: #222 !important;
    transform: translateY(-1px) !important;
}

.arven-faq-contact-btn:active {
    transform: translateY(1px) !important;
}

.arven-faq-chat-icon {
    stroke: #fff;
    fill: none;
    flex-shrink: 0;
}

.arven-faq-form-response {
    margin-top: 15px;
    font-size: 13px;
    font-weight: 500;
    text-align: center;
    padding: 12px;
    border-radius: 4px;
}
.arven-faq-form-response.success {
    background-color: #e8f5e9;
    border: 1px solid #a5d6a7;
}
.arven-faq-form-response.error {
    background-color: #ffebee;
    border: 1px solid #ffcdd2;
}

/* RESPONSIVENESS */
@media (max-width: 991px) {
    .arven-product-faq-container {
        margin: 40px auto 20px;
        padding: 0 20px;
    }
    
    .arven-faq-layout {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    
    .arven-faq-accordion-card {
        padding: 32px 20px;
    }
    
    .arven-faq-contact-card {
        padding: 32px 16px;
    }
    
    .arven-faq-main-title {
        font-size: 20px;
        margin-bottom: 16px;
    }
    
    .arven-faq-contact-title {
        font-size: 18px;
    }
    
    .arven-faq-title {
        font-size: 14px;
    }
    
    .arven-faq-content {
        font-size: 12.5px;
    }
}

@media (max-width: 480px) {
    .arven-faq-contact-btn {
        width: 100% !important;
        max-width: 280px;
    }
}

/* ==========================================================================
   RELATED PRODUCTS WIDE LAYOUT OVERRIDES
   ========================================================================== */
.single-product section.related.products > h2 {
    max-width: 100% !important;
    padding-left: clamp(20px, 4vw, 25px) !important;
    padding-right: clamp(20px, 4vw, 25px) !important;
    font-family: var(--arven-font-heading, "meno-display"), Georgia, serif !important;
    font-size: clamp(44px, 5vw, 64px) !important;
    font-weight: 400 !important;
    margin: clamp(20px, 4vw, 55px) 0 !important;
    letter-spacing: -0.015em !important;
}

.single-product section.related.products ul.products {
    max-width: 100% !important;
    padding-left: clamp(20px, 4vw, 25px) !important;
    padding-right: clamp(20px, 4vw, 25px) !important;
}

@media (max-width: 991px) {
    .single-product section.related.products > h2 {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    .single-product section.related.products ul.products {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

/* Fix single product page shifting when WP Admin Bar is active */
body.admin-bar.single-product .site-main,
body.admin-bar.single-product main {
    padding-top: calc(var(--arven-header-height, 64px) + 32px) !important;
}

@media screen and (max-width: 782px) {
    body.admin-bar.single-product .site-main,
    body.admin-bar.single-product main {
        padding-top: calc(var(--arven-header-height, 64px) + 46px) !important;
    }
}

/* ============================================================================
   ARVEN SINGLE PRODUCT COLORWAYS SELECTOR (Linked Products Color Selector)
   ============================================================================ */
.arven-colorways-selector-wrapper {
    margin: 24px 0 28px 0 !important;
    display: block !important;
}

.arven-colorways-title {
    font-family: inherit;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    margin: 0 0 12px 0 !important;
    text-transform: none !important;
    letter-spacing: 0.01em !important;
    line-height: 1.4 !important;
}

.arven-colorways-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    align-items: center !important;
}

.arven-colorway-item {
    position: relative !important;
}

.arven-colorway-link {
    display: block !important;
    width: 64px !important;
    height: 64px !important;
    border-radius: 50% !important;
    border: 1px solid #eae8e4 !important;
    padding: 3px !important;
    box-sizing: border-box !important;
    background: #fff !important;
    transition: border-color 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1), transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    cursor: pointer !important;
    overflow: hidden !important;
}

.arven-colorway-thumb {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    mix-blend-mode: multiply !important;
    pointer-events: none !important;
    transform: scale(1.45) !important;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Hover & Active States */
.arven-colorway-link:hover {
    border-color: #1a1a1a !important;
    transform: scale(1.08) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
}

.arven-colorway-item.is-active .arven-colorway-link {
    border-color: transparent !important;
    background: #fff !important;
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #1a1a1a, 0 2px 8px rgba(0, 0, 0, 0.08) !important;
    cursor: default !important;
    transform: none !important;
}

.arven-colorway-item.is-active .arven-colorway-link:hover {
    border-color: transparent !important;
    transform: none !important;
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #1a1a1a, 0 2px 8px rgba(0, 0, 0, 0.08) !important;
}

/* Out of Stock Styling */
.arven-colorway-item.is-out-of-stock {
    opacity: 0.55 !important;
    transition: opacity 0.3s ease !important;
}

.arven-colorway-item.is-out-of-stock:hover {
    opacity: 0.85 !important;
}

.arven-colorway-item.is-out-of-stock .arven-colorway-link::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: 
        linear-gradient(to top left, transparent calc(50% - 0.75px), #b5b0a8 calc(50% - 0.75px), #b5b0a8 calc(50% + 0.75px), transparent calc(50% + 0.75px)),
        linear-gradient(to top left, transparent calc(50% - 2.25px), #ffffff calc(50% - 2.25px), #ffffff calc(50% + 2.25px), transparent calc(50% + 2.25px)) !important;
    border-radius: 50% !important;
    pointer-events: none !important;
    z-index: 10 !important;
}

/* Tooltip Styling */
.arven-colorway-tooltip {
    position: absolute !important;
    bottom: calc(100% + 8px) !important;
    left: 50% !important;
    transform: translate3d(-50%, 4px, 0) scale(0.96) !important;
    background: #111111 !important;
    color: #ffffff !important;
    font-size: 9px !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 5px 10px !important;
    border-radius: 2px !important;
    white-space: nowrap !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1), transform 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
    z-index: 99 !important;
    font-family: 'Outfit', 'Inter', -apple-system, sans-serif !important;
}

/* Tooltip Arrow */
.arven-colorway-tooltip::after {
    content: "" !important;
    position: absolute !important;
    top: 100% !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    border-width: 4px !important;
    border-style: solid !important;
    border-color: #111111 transparent transparent transparent !important;
}

.arven-colorway-link:hover .arven-colorway-tooltip {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate3d(-50%, 0, 0) scale(1) !important;
}

/* Responsive adjustments for Colorways Selector */
@media (max-width: 1024px) {
    .arven-colorway-link {
        width: 58px !important;
        height: 58px !important;
    }
}

@media (max-width: 768px) {
    .arven-colorways-selector-wrapper {
        margin: 18px 0 22px 0 !important;
    }
    .arven-colorway-link {
        width: 52px !important;
        height: 52px !important;
        padding: 2.5px !important;
    }
    .arven-colorways-title {
        font-size: 12px !important;
    }
}

@media (max-width: 480px) {
    .arven-colorway-link {
        width: 48px !important;
        height: 48px !important;
        padding: 2.5px !important;
    }
    .arven-colorways-grid {
        gap: 10px !important;
    }
}

/* Suppress series selector dropdown for custom colorway product type */
.product-type-arven_colorway .arven-series-selector {
    display: none !important;
}

/* Custom price layout overrides for readability */
.woocommerce div.product .arven-product-price-box .price,
.woocommerce div.product .arven-product-price-box .price .amount,
.woocommerce div.product .arven-product-price-box .price bdi {
    font-size: 26px !important;
    font-weight: 600 !important;
}


/* Premium Back-in-Stock Notification Modal Image Overrides (Anti-Cache & Side-Cart Match) */
.anm-overlay .anm-image-side {
    background-color: #f6f6f6 !important;
    padding: 0 !important;
}

.anm-overlay .anm-product-img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    display: block !important;
    mix-blend-mode: multiply !important;
    padding: 4px !important; /* Enlarge image and match side-cart styling exactly */
    border: none !important;
    background: transparent !important;
    image-rendering: auto !important;
}

.arven-cache-buster-2026 {
    content: "1782585000";
}

/* =============================================================================
   MITTO HOME INSPIRED COLLECTION & RECOMMENDATION SLIDERS
   ============================================================================= */

/* Section Main Elements */
.arven-collection-models,
.arven-recommended-sets {
    margin-top: 35px !important;
    margin-bottom: 25px !important;
    position: relative !important;
    font-family: 'Outfit', 'Inter', -apple-system, sans-serif !important;
}

.arven-widget-heading {
    font-family: 'Cormorant Garamond', Georgia, 'Times New Roman', serif !important;
    font-size: clamp(20px, 2.8vw, 26px) !important;
    font-weight: 500 !important;
    font-style: normal !important;
    text-transform: none !important;
    letter-spacing: 0.01em !important;
    color: #111111 !important;
    margin: 0 0 16px 0 !important;
    border: none !important;
    padding: 0 !important;
    line-height: 1.15 !important;
}

.arven-widget-header-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    margin-bottom: 16px !important;
}

.arven-widget-header-row .arven-widget-heading {
    margin-bottom: 0 !important;
}

.arven-widget-link {
    font-size: 11px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #555555 !important;
    text-decoration: underline !important;
    transition: color 0.2s ease !important;
}

.arven-widget-link:hover {
    color: #111111 !important;
}

/* Slider Track Layout */
.arven-slider-container {
    position: relative !important;
    width: 100% !important;
}

.arven-slider-track {
    width: 100% !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important; /* Firefox */
    -ms-overflow-style: none !important; /* IE 10+ */
    scroll-behavior: smooth !important;
    padding-bottom: 5px !important;
}

.arven-slider-track::-webkit-scrollbar {
    display: none !important; /* WebKit */
}

/* Inne Modele Card Styling */
.arven-collection-card {
    flex: 0 0 calc(33.333% - 10px) !important;
    width: calc(33.333% - 10px) !important;
    min-width: 110px !important;
    scroll-snap-align: start !important;
    box-sizing: border-box !important;
}

.arven-collection-card a {
    display: block !important;
    text-decoration: none !important;
    color: inherit !important;
}

.arven-card-image {
    width: 100% !important;
    aspect-ratio: 1.25 !important;
    background-color: #f7f7f7 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    position: relative !important;
    border: 1px solid #eaeaea !important;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease, box-shadow 0.3s ease !important;
}

.arven-card-image img,
.arven-card-image picture {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    display: block !important;
    mix-blend-mode: darken !important;
    padding: 10px 8px !important;
    box-sizing: border-box !important;
}

.arven-collection-card:hover .arven-card-image {
    transform: translateY(-2px) !important;
    border-color: #d0d0d0 !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.04) !important;
}

.arven-card-info {
    margin-top: 8px !important;
    padding: 0 2px !important;
}

.arven-card-title {
    display: block !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    color: #444444 !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    text-align: left !important;
    text-transform: capitalize !important;
}

.arven-collection-card:hover .arven-card-title {
    color: #111111 !important;
}

/* Polecane Produkty Card Styling — reference design match */
.arven-recommended-card {
    /* reference card = 41% of ul width, 2 visible at once */
    flex: 0 0 calc(41% - 6px) !important;
    width: calc(41% - 6px) !important;
    max-width: calc(41% - 6px) !important;
    min-width: 130px !important;
    scroll-snap-align: start !important;
    position: relative !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.arven-rec-link-wrapper {
    display: block !important;
    text-decoration: none !important;
    color: inherit !important;
}

.arven-rec-image {
    width: 100% !important;
    aspect-ratio: 4 / 5 !important;
    background-color: #f6f5f3 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    position: relative !important;
    margin-bottom: 12px !important;
}

.arven-rec-image picture {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

.arven-rec-image img,
.arven-rec-image picture img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    display: block !important;
    mix-blend-mode: multiply !important;
    padding: 10px 8px !important;  /* reference: 0px, my: small for sofa centering */
    box-sizing: border-box !important;
}

.arven-rec-info {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    padding-right: 0 !important;
}

.arven-rec-title {
    font-size: 14px !important;
    font-weight: 500 !important;   /* reference: font-medium */
    color: #111111 !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

.arven-rec-variant {
    font-size: 10px !important;
    color: #888888 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.arven-rec-price {
    font-size: 13.5px !important;
    font-weight: 500 !important;
    color: #111111 !important;
    margin-top: 2px !important;
}

/* CRITICAL: override global .price .amount rule that sets 26px */
.arven-rec-price .woocommerce-Price-amount.amount,
.arven-rec-price .woocommerce-Price-amount,
.arven-rec-price bdi,
.arven-rec-price .woocommerce-Price-currencySymbol {
    font-size: 13.5px !important;
    font-weight: 500 !important;
    color: inherit !important;
    line-height: inherit !important;
}

.arven-rec-price del {
    font-weight: 400 !important;
    color: #999999 !important;
    margin-right: 4px !important;
    font-size: 10px !important;
}

.arven-rec-price ins {
    text-decoration: none !important;
}

/* Circular Add to Cart Button */
.arven-rec-cart-btn {
    position: absolute !important;
    bottom: 12px !important;
    right: 12px !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 50% !important;
    background-color: #111111 !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    transition: background-color 0.2s ease, transform 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    border: none !important;
    cursor: pointer !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
    z-index: 5 !important;
}

.arven-rec-cart-btn svg {
    width: 14px !important;
    height: 14px !important;
    stroke-width: 2.5 !important;
    color: #ffffff !important;
}

.arven-rec-cart-btn:hover {
    background-color: #333333 !important;
    transform: scale(1.08) !important;
}

.arven-rec-cart-btn.loading {
    background-color: #777777 !important;
}

.arven-rec-cart-btn.added::after {
    display: none !important; /* Hide default WooCommerce checkmark tooltip */
}

.arven-recommended-card:hover { transform: none !important; box-shadow: none !important; border-color: transparent !important; }
    transform: translateY(-2px) !important;
    border-color: #d0d0d0 !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05) !important;
}

/* Navigation Slider Controls */
.arven-slider-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 15px !important;
    margin-top: 15px !important;
}

.arven-slider-arrow {
    width: 26px !important;
    height: 26px !important;
    border-radius: 50% !important;
    border: 1px solid #e0e0e0 !important;
    background: #ffffff !important;
    color: #333333 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    padding: 0 !important;
    transition: background 0.2s, border-color 0.2s, color 0.2s !important;
}

.arven-slider-arrow svg {
    width: 12px !important;
    height: 12px !important;
    stroke-width: 2.5 !important;
}

.arven-slider-arrow:hover {
    border-color: #111111 !important;
    background: #111111 !important;
    color: #ffffff !important;
}

.arven-slider-dots {
    display: flex !important;
    gap: 6px !important;
    align-items: center !important;
}

.arven-slider-dot {
    width: 5px !important;
    height: 5px !important;
    border-radius: 50% !important;
    background: #cccccc !important;
    border: none !important;
    padding: 0 !important;
    cursor: pointer !important;
    transition: background 0.2s, transform 0.2s !important;
}

.arven-slider-dot.active {
    background: #111111 !important;
    transform: scale(1.2) !important;
}

/* Responsiveness overrides for right column width */
@media (max-width: 1023px) {
    .arven-collection-card {
        flex: 0 0 calc(25% - 10px) !important;
        width: calc(25% - 10px) !important;
        min-width: 90px !important;
        max-width: none !important;
    }
    .arven-recommended-card {
        flex: 0 0 calc(33.333% - 10px) !important;
        width: calc(33.333% - 10px) !important;
        min-width: 140px !important;
        max-width: none !important;
    }
}

@media (max-width: 767px) {
    .arven-collection-card {
        flex: 0 0 calc(33.333% - 10px) !important;
        width: calc(33.333% - 10px) !important;
        min-width: 90px !important;
        max-width: none !important;
    }
    .arven-recommended-card {
        flex: 0 0 calc(50% - 8px) !important;
        width: calc(50% - 8px) !important;
        min-width: 140px !important;
        max-width: none !important;
    }
}

@media (max-width: 480px) {
    .arven-collection-card {
        flex: 0 0 calc(50% - 8px) !important;
        width: calc(50% - 8px) !important;
        min-width: 90px !important;
        max-width: none !important;
    }
}

/* Gallery stretch and empty gray space fixes */
@media (min-width: 1024px) {
    /* Align masonry items to top to prevent empty gray background at bottom of shorter columns */
    .arven-gallery .masonry-item {
        align-self: start !important;
    }


    /* Apply the light gray background only behind the gallery itself and let it end when images end */
    .single-product .arven-gallery {
        background-color: transparent !important;
        background: transparent !important;
        align-self: start !important;
        height: auto !important;
        min-height: 1400px !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }
}


/* Tolerance disclaimer under dimensions diagram */
.arven-wymiary-tolerancja {
    margin-top: 10px !important;
    margin-bottom: 0 !important;
    font-size: 11px !important;
    color: #999 !important;
    line-height: 1.5 !important;
    font-style: italic !important;
    text-align: left !important;
}

/* === MOBILE CONTAINER & TABLE DETAIL SPACERS (320px SQUEEZE RESOLUTION) === */
@media (max-width: 480px) {
    /* Side padding for single product summary on mobile */
    html body .arven-summary,
    html body .arven-summary.reveal-stagger,
    html body .site-main .arven-summary {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    
    /* Reduce attributes table cell padding on small screens to prevent severe column squeezing */
    .woocommerce-product-attributes-item__label,
    .woocommerce-product-attributes-item__value {
        padding: 10px 8px !important;
        font-size: 12px !important;
    }
}

@media (max-width: 340px) {
    /* Extreme narrow viewports (e.g. 320px Android/iOS devices) */
    html body .arven-summary,
    html body .arven-summary.reveal-stagger,
    html body .site-main .arven-summary {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    
    .woocommerce-product-attributes-item__label,
    .woocommerce-product-attributes-item__value {
        padding: 8px 6px !important;
        font-size: 11px !important;
    }
}

/* === DESKTOP STICKY SIDEBAR OVERRIDE === */
@media (min-width: 1024px) {
    /* position:sticky przykleja się do najbliższego przodka będącego kontenerem
       przewijania. Na karcie produktu takich przodków było dwóch i to one, a nie
       sama deklaracja poniżej, decydowały czy prawa kolumna w ogóle działa:

       1. consent-override.css:
            body:not(.arven-scroll-locked):not(…jeszcze 7 klas blokad)
            { overflow-y: auto !important }                        -> (0,8,1)
          przebija dotychczasową próbę naprawy z main.css
            html:has(body.single-product) body.single-product      -> (0,2,3)
          więc <body> był scrollportem i sticky nie włączało się nigdy.
          Klasy z listy :not() dokładają się przy otwieraniu szuflad, dlatego
          kolumna "ożywała" na czas otwartego panelu tkanin i umierała po jego
          zamknięciu — stąd wrażenie, że działa losowo.

       2. style.css @media (max-width: 1024px) { .arven-page-wrapper,
            #page, .site { overflow-x: hidden !important } }
          nakłada się na to media query przy dokładnie 1024 px i wtedy
          scrollportem zostaje wrapper strony.

       Pary :not(#_) podbijają specyficzność do (2,1,2) — bez nich reguła
       consent-override wygrywa niezależnie od kolejności ładowania plików.
       overflow-x: clip przycina identycznie jak hidden, ale nie tworzy
       kontenera przewijania, więc <body> zostaje przezroczyste dla sticky
       także wtedy, gdy któraś szuflada dokłada swoją klasę blokady. */
    html body.single-product:not(#_):not(#_) {
        overflow-x: clip !important;
        overflow-y: visible !important;
        height: auto !important;
    }

    html body.single-product .arven-page-wrapper,
    html body.single-product .content-area,
    html body.single-product #page,
    html body.single-product .site {
        overflow: visible !important;
        clip-path: none !important;
    }

    /* Foolproof parent wrapper visibility to allow sticky positioning */
    .single-product #primary,
    .single-product .site-content,
    .single-product .site-main,
    .single-product .elementor,
    .single-product .elementor-section,
    .single-product .elementor-container,
    .single-product .elementor-column,
    .single-product .elementor-widget-wrap,
    .single-product div.product {
        overflow: visible !important;
        clip-path: none !important;
    }

    .single-product .arven-summary,
    .single-product .arven-product-grid .arven-summary,
    html body .arven-summary,
    html body .site-main .arven-summary {
        position: sticky !important;
        top: 100px !important;
        align-self: start !important;
        height: auto !important;
        max-height: none !important;
        overflow-y: visible !important;
        will-change: transform;
        /* Tytuł startował 65 px pod górną krawędzią galerii: 20 px daje samo
           top: 100px (galeria zaczyna się na 80 px, tuż pod stałym headerem),
           a kolejne 45 px dokładał padding-top: clamp(30px, 3.2vw, 45px)
           z main.css. Zbijamy górny padding do 8 px — tytuł siada 28 px pod
           krawędzią zdjęcia, więc kolumna czyta się jako wyrównana do góry,
           a przy przypięciu wciąż zostaje oddech pod headerem. Boczny i dolny
           padding zostają nietknięte, mobile (poniżej 1024 px) też. */
        padding-top: 8px !important;
    }
}

/* === REDESIGNED PREMIUM ACCORDION TABS === */
.arven-accordion-group {
    margin-top: 40px !important;
    border-top: 1px solid #eaeaea !important;
}

.arven-accordion-item {
    border-bottom: 1px solid #eaeaea !important;
}

.arven-accordion-header {
    padding: 24px 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    outline: none !important;
    transition: opacity 0.25s ease !important;
}

.arven-accordion-header:hover {
    opacity: 0.75 !important;
}

.arven-accordion-title {
    font-size: 15px !important;
    font-weight: 500 !important;
    letter-spacing: 0.01em !important;
    color: #111 !important;
    text-transform: none !important;
}

.arven-accordion-chevron {
    width: 16px !important;
    height: 16px !important;
    color: #888 !important;
    transform: rotate(-90deg) !important;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.arven-accordion-item.is-open .arven-accordion-chevron {
    transform: rotate(0deg) !important;
    color: #111 !important;
}

.arven-accordion-content {
    padding-bottom: 28px !important;
    font-size: 13.5px !important;
    line-height: 1.7 !important;
    color: #555 !important;
}

/* === HARDWARE ACCELERATED HORIZONTAL SLIDER FOR TRUST BADGES === */
.arven-trust-section {
    border-top: 1px solid #eaeaea !important;
    margin: 48px 0 0 0 !important;
    padding: 36px 0 !important;
    background: transparent !important;
    overflow: hidden !important; /* Contain the sliding track */
}

.arven-trust-carousel {
    max-width: 100% !important;
    margin: 0 auto !important;
    position: relative !important;
    overflow: hidden !important;
}

.trust-track {
    display: flex !important;
    flex-direction: row !important;
    min-height: auto !important;
    width: 300% !important; /* 3 slides = 300% width of container */
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: transform;
}

.trust-slide {
    flex: 0 0 33.333% !important; /* slide takes exactly 1 container width */
    width: 33.333% !important;
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    transform: none !important;
    opacity: 0.25 !important;
    transition: opacity 0.5s ease !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 16px !important;
    visibility: visible !important;
}

.trust-slide.is-active {
    opacity: 1 !important;
}

.trust-icon {
    width: 44px !important;
    height: 44px !important;
    color: #111 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    margin-bottom: 0 !important;
}

.trust-icon svg {
    display: block !important;
    width: 32px !important;
    height: 32px !important;
    color: #111 !important;
    stroke: currentColor !important;
}

.trust-text {
    max-width: 380px !important;
    gap: 6px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
}

.trust-text strong {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #111 !important;
    display: block !important;
}

.trust-text span {
    font-size: 12.5px !important;
    color: #666 !important;
    display: block !important;
    line-height: 1.5 !important;
}

.trust-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 24px !important;
    gap: 24px !important;
}

.trust-prev,
.trust-next {
    background: none !important;
    border: none !important;
    padding: 10px !important;
    cursor: pointer !important;
    color: #111 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: color 0.3s ease !important;
}

.trust-prev:hover,
.trust-next:hover {
    color: #888 !important;
}

.trust-dots {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.trust-dot {
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    background: #e5e5e5 !important;
    border: none !important;
    padding: 0 !important;
    cursor: pointer !important;
    transition: background-color 0.3s, transform 0.3s !important;
}

.trust-dot.is-active {
    background: #111 !important;
    transform: scale(1.2) !important;
}

/* Gallery tolerance disclaimer styling */
.arven-gallery-tolerancja {
    display: block !important;
    font-size: 11px !important;
    color: #999 !important;
    text-align: center !important;
    margin-top: 15px !important;
    margin-bottom: 0 !important;
    line-height: 1.5 !important;
    width: 100% !important;
    font-weight: 400 !important;
}

/* Mobile slide tolerance adjustment */
.arven-slide .arven-gallery-tolerancja {
    position: absolute !important;
    bottom: 15px !important;
    left: 0 !important;
    right: 0 !important;
    padding: 0 15px !important;
    box-sizing: border-box !important;
}

@media (max-width: 767px) {
    .arven-slide {
        padding-bottom: 45px !important; /* Make room for the bottom disclaimer inside the last slide */
    }
}

/* ==========================================================================
   BUTTON SPINNER (Add to Cart)
   ========================================================================== */
body .woocommerce button.single_add_to_cart_button.loading,
body .woocommerce .single_add_to_cart_button.loading,
body .woocommerce button.arven-quick-add.loading,
body .woocommerce button.arven-rebel-btn.loading,
.single_add_to_cart_button.loading,
.arven-quick-add.loading,
.arven-rebel-btn.loading {
    color: transparent !important;
    position: relative;
    pointer-events: none;
}

body .woocommerce button.single_add_to_cart_button.loading::after,
body .woocommerce .single_add_to_cart_button.loading::after,
body .woocommerce button.arven-quick-add.loading::after,
body .woocommerce button.arven-rebel-btn.loading::after,
.single_add_to_cart_button.loading::after,
.arven-quick-add.loading::after,
.arven-rebel-btn.loading::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    margin-left: -10px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: arven-btn-spin 0.8s linear infinite;
}

@keyframes arven-btn-spin {
    to { transform: rotate(360deg); }
}


/* ==================================================== */



/* reference FAQ 1:1 REDESIGN (VIA GOAL) */

.arven-faq-layout {
    display: flex !important;
    justify-content: space-between !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

.arven-faq-title-col {
    width: 35% !important;
    padding-right: 40px !important;
    text-align: left !important;
    position: sticky !important;
    top: 140px !important;
    align-self: flex-start !important;
}

.arven-faq-accordion-col {
    width: 60% !important;
}

/* Remove old accordion card styling completely */
.arven-faq-accordion-card,
.arven-faq-accordion-col {
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.arven-faq-main-title {
    position: sticky !important;
    top: 140px !important;
    font-family: var(--arven-font-heading, "meno-display"), Georgia, serif !important; /* Elegant serif like the reference / Related Products */
    font-size: 48px !important; 
    font-weight: 400 !important;
    color: #222 !important;
    margin: 0 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.01em !important;
    text-align: left !important;
    width: 100% !important;
}

/* Accordion Group */
.arven-faq-accordion-group {
    border-top: 1px solid #ddd;
    width: 100% !important;
}

.arven-faq-item {
    border-bottom: 1px solid #ddd !important;
}

.arven-faq-header {
    padding: 30px 0 !important;
}

.arven-faq-title {
    font-family: inherit !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    color: #111 !important;
    padding-right: 40px !important;
    text-align: left !important;
}

.arven-faq-icon {
    width: 22px !important;
    height: 22px !important;
    color: #111 !important;
}

/* Make + and - lines super thin like the reference */
.arven-faq-icon svg {
    stroke-width: 1px !important; 
    width: 22px !important;
    height: 22px !important;
}

.arven-faq-content {
    padding: 0 0 35px 0 !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    color: #555 !important;
    text-align: left !important;
}

/* Standalone Contact Card */
.arven-faq-contact-standalone {
    max-width: 800px;
    margin: 80px auto 0;
    text-align: center;
}

.arven-faq-contact-standalone .arven-faq-contact-card {
    background: #fdfdfd;
    border: 1px solid #eee;
    border-radius: 12px;
    padding: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* MOBILE FALLBACK */
@media (max-width: 991px) {
    .arven-faq-layout {
        flex-direction: column !important;
        gap: 40px !important;
    }
    .arven-faq-title-col {
        width: 100% !important;
        padding-right: 0 !important;
    }
    .arven-faq-accordion-col {
        width: 100% !important;
    }
    .arven-faq-main-title {
        position: static !important;
        font-size: 36px !important;
    }
    .arven-faq-header {
        padding: 24px 0 !important;
    }
}
