/* Fix submenu left spacing - Responsive to content */
.main-menu > nav > ul > li ul.sub-menu {
    min-width: auto !important;
    width: max-content !important;
    max-width: 300px;
}

.main-menu > nav > ul > li ul.sub-menu li a {
    white-space: nowrap;
    text-align: left;
}

/* Ensure proper alignment */
.main-menu > nav > ul > li:hover ul.sub-menu {
    left: 0 !important;
}
/* ******************** Exclusive Services Active *********************** */
.main-menu .exclusive-services-parent.current-menu-item > a,
.main-menu .exclusive-services-parent.active > a {
    color: var(--color-brand) !important;
}

/* Simple active state like Shop by Solution */
.main-menu li.current-menu-item > a,
.main-menu li.active > a {
    color: var(--color-brand) !important;
}

/* Breadcrumb: hide icon before Shop by Solution label only */
.breadcrumb .breadcrumb-label-shop-by-solution::before {
    content: none !important;
}

/* ************ footer full width *****************/
footer.main .container {
    max-width: 100% !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
}
/* ************ footer full width end *****************/


/* Sticky Product Image Gallery */
@media (min-width: 768px) {
    .product-detail .row {
        display: flex;
        align-items: flex-start;
    }
    
    .product-detail .col-md-6:first-child {
        position: sticky;
        top: 20px;
        z-index: 10;
        max-height: calc(100vh - 40px);
        overflow-y: auto;
        /* Smooth scrolling for the sticky element */
        scroll-behavior: smooth;
    }
    
    /* Ensure the gallery maintains its layout when sticky */
    .detail-gallery {
        position: relative;
        width: 100%;
    }
    
    /* Adjust the main image container for better sticky behavior */
    .detail-gallery .product-image-slider {
        position: relative;
        max-height: calc(100vh - 200px);
        overflow: hidden;
    }
    
    /* Ensure vertical thumbnails work well with sticky layout */
    .detail-gallery.gallery-layout-vertical {
        max-height: calc(100vh - 100px);
    }
    
    .detail-gallery.gallery-layout-vertical .vertical-thumbnails {
        max-height: calc(100vh - 200px);
        overflow-y: auto;
        /* Custom scrollbar for thumbnails */
        scrollbar-width: thin;
        scrollbar-color: #ccc transparent;
    }
    
    .detail-gallery.gallery-layout-vertical .vertical-thumbnails::-webkit-scrollbar {
        width: 4px;
    }
    
    .detail-gallery.gallery-layout-vertical .vertical-thumbnails::-webkit-scrollbar-track {
        background: transparent;
    }
    
    .detail-gallery.gallery-layout-vertical .vertical-thumbnails::-webkit-scrollbar-thumb {
        background-color: #ccc;
        border-radius: 2px;
    }
    
    /* Smooth transition for sticky behavior */
    .product-detail .col-md-6:first-child {
        transition: all 0.3s ease;
    }
}

/* Enhanced sticky behavior with shadow effect when scrolling */
@media (min-width: 768px) {
    .product-detail .col-md-6:first-child.is-sticky {
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
        border-radius: 15px;
        background: #fff;
        padding: 15px;
        margin-top: 10px;
    }
}

/* Tablet adjustments */
@media (min-width: 768px) and (max-width: 1024px) {
    .product-detail .col-md-6:first-child {
        top: 15px;
        max-height: calc(100vh - 30px);
    }
    
    .detail-gallery .product-image-slider {
        max-height: calc(100vh - 150px);
    }
}

/* Mobile - disable sticky behavior */
@media (max-width: 767px) {
    .product-detail .col-md-6:first-child {
        position: relative !important;
        top: auto !important;
        max-height: none !important;
        overflow-y: visible !important;
    }
    
    .detail-gallery .product-image-slider {
        max-height: none !important;
    }
    
    .detail-gallery.gallery-layout-vertical .vertical-thumbnails {
        max-height: none !important;
        overflow-y: visible !important;
    }
}

/* Optional: Add scroll indicator for long thumbnail lists */
@media (min-width: 768px) {
    .detail-gallery.gallery-layout-vertical .vertical-thumbnails::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 20px;
        background: linear-gradient(transparent, rgba(255, 255, 255, 0.8));
        pointer-events: none;
        opacity: 0;
        transition: opacity 0.3s ease;
    }
    
    .detail-gallery.gallery-layout-vertical .vertical-thumbnails.has-scroll::after {
        opacity: 1;
    }
}

/* Ensure zoom functionality still works with sticky layout */
.detail-gallery.sticky .zoom-icon {
    position: absolute;
    top: 35px;
    right: 35px;
    z-index: 15;
}

/* Smooth scrolling for the entire page */
html {
    scroll-behavior: smooth;
}

.header-action-right{
	vertical-align:middle !important;
}

.product-cart-wrap .product-badges span.hot{
    background-color: #FF8A3D !important;
}

/*contact form*/
.contact-from-area .contact-form-style button {
  background-color: var(--color-brand) !important;
}

/*add to cart button color */ 
.product-extra-link2 .button.button-add-to-cart {
    background-color: #e5a82e !important;
    color: #fff !important;
    padding: 0 20px !important;
    height: 50px !important;
    line-height: 50px !important;
    border-radius: 5px !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    transition: all 0.3s ease !important;
}
.product-extra-link2 .button.button-add-to-cart:hover {
    background-color: #fdc040 !important;
    border-color: #fdc040 !important;
    color: #1a1a1a !important;
}
.product-extra-link2 .button.button-add-to-cart i {
    margin-right: 10px !important;
}

/* Notify-me button (bell) - align & size properly */
.product-extra-link2 .button.button-add-to-cart.notify-me-btn,
.product-extra-link2 a.button.button-add-to-cart.notify-me-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 18px !important;
    height: 50px !important;
    line-height: 50px !important;
    gap: 6px !important;
    width: 60% !important;
}


/* ============================================
   WISHLIST BUTTON - RED COLOR (FIXED HOVER)
   ============================================ */

/* Product Detail Page - Wishlist Button (Default: Red Outline) */
.product-extra-link2 a.js-add-to-wishlist-button {
    background: #fff !important;
    border: 1px solid #dc2626 !important;
    color: #dc2626 !important;
}
.product-extra-link2 a.js-add-to-wishlist-button i.fi-rs-heart {
    color: #dc2626 !important;
    opacity: 1 !important;
}

/* CRITICAL: Override the generic hover rule that applies brand green */
.product-extra-link2 a.js-add-to-wishlist-button:hover {
    background-color: #dc2626 !important;
    border-color: #dc2626 !important;
    color: #fff !important;
}
.product-extra-link2 a.js-add-to-wishlist-button:hover i.fi-rs-heart {
    color: #fff !important;
    opacity: 1 !important;
}

/* Product Detail Page - Wishlist Button (Added: Filled Red) */
.product-extra-link2 a.wis_added,
.product-extra-link2 a.js-remove-from-wishlist-button {
    background-color: #b91c1c !important;
    border-color: #b91c1c !important;
    color: #fff !important;
}
.product-extra-link2 a.wis_added i.fi-rs-heart,
.product-extra-link2 a.js-remove-from-wishlist-button i.fi-rs-heart {
    color: #fff !important;
    opacity: 1 !important;
}

/* CRITICAL: Override hover for added state - keep it red, not green */
.product-extra-link2 a.wis_added:hover,
.product-extra-link2 a.js-remove-from-wishlist-button:hover {
    background-color: #991b1b !important;
    border-color: #991b1b !important;
    color: #fff !important;
}
.product-extra-link2 a.wis_added:hover i.fi-rs-heart,
.product-extra-link2 a.js-remove-from-wishlist-button:hover i.fi-rs-heart {
    color: #fff !important;
    opacity: 1 !important;
}

/* Product Cards (Grid/List/Quick View) - Wishlist Button (Default: Red) */
.product-cart-wrap .product-action-1 a.js-add-to-wishlist-button i.fi-rs-heart {
    color: #dc2626 !important;
}
.product-cart-wrap .product-action-1 a.js-add-to-wishlist-button:hover i.fi-rs-heart {
    color: #b91c1c !important;
}

/* Product Cards - Wishlist Button (Added: Filled Red) */
.product-cart-wrap .product-action-1 a.wis_added i.fi-rs-heart,
.product-cart-wrap .product-action-1 a.js-remove-from-wishlist-button i.fi-rs-heart {
    color: #b91c1c !important;
}
.product-cart-wrap .product-action-1 a.wis_added:hover i.fi-rs-heart,
.product-cart-wrap .product-action-1 a.js-remove-from-wishlist-button:hover i.fi-rs-heart {
    color: #991b1b !important;
}

/* Override the generic action-btn.wis_added hover that uses brand color */
.action-btn.wis_added.js-add-to-wishlist-button:hover,
.action-btn.js-remove-from-wishlist-button:hover,
.product-extra-link2 a.action-btn.wis_added:hover,
.product-extra-link2 a.js-remove-from-wishlist-button:hover {
    background-color: #991b1b !important;
    border-color: #991b1b !important;
    color: #fff !important;
}
.action-btn.wis_added.js-add-to-wishlist-button:hover i.fi-rs-heart,
.action-btn.js-remove-from-wishlist-button:hover i.fi-rs-heart,
.product-extra-link2 a.action-btn.wis_added:hover i.fi-rs-heart,
.product-extra-link2 a.js-remove-from-wishlist-button:hover i.fi-rs-heart {
    color: #fff !important;
}

/* Remove dotted underline from Head Office Phone and Email labels */
.mt-50.pb-50 abbr,
.mt-50.pb-50 abbr[title] {
    text-decoration: none !important;
    border-bottom: none !important;
    cursor: text !important;
}

/* Only short description - no borders */
.short-desc table,
.short-desc table td,
.short-desc table th,
.short-desc table tr,
.short-desc hr {
    border: none !important;
    border-bottom: none !important;
}

.short-desc table tr:not(:last-child) td,
.short-desc table tr:not(:last-child) th {
    border-bottom: none !important;
}