/* ── Global Viewport Protection (Zero Horizontal Scroll on All Devices) ── */
html, body {
    max-width: 100vw !important;
    overflow-x: hidden !important;
}
*, *::before, *::after {
    box-sizing: border-box;
}

:root {
    --io-navy: #0E355A;
    --io-orange: #F26522;
    --io-text: #2d3748;
    --io-border: #e2e8f0;
    --dh-navy: #0E355A;
    --dh-orange: #F26522;
    --dh-text: #2d3748;
    --dh-border: #e2e8f0;
}
    /* ── Typography & Base Brand Colors ── */
    :root {
        --io-navy: #0E355A;
        --io-orange: #F26522;
        --io-text: #2d3748;
        --io-border: #e2e8f0;
    }

    /* ── SHOP PAGE: 3-COLUMN GRID & CLEAN PRODUCT CARDS (REFERENCE WEB LOOK) ── */
    .woocommerce ul.products::before,
    .woocommerce ul.products::after,
    .woocommerce-page ul.products::before,
    .woocommerce-page ul.products::after,
    ul.products::before,
    ul.products::after {
        display: none !important;
        content: none !important;
    }

    .woocommerce ul.products,
    .woocommerce-page ul.products,
    ul.products,
    .jet-woo-products-wrapper .jet-woo-products {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 32px 24px !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 25px 0 !important;
    }

    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product,
    ul.products li.product,
    .jet-woo-products__item {
        grid-column: span 1 !important;
        clear: none !important;
        width: 100% !important;
        float: none !important;
        margin: 0 !important;
        background: #ffffff !important;
        border: 1px solid transparent !important; /* Seamless minimal background in normal state */
        border-radius: 6px !important;
        padding: 24px 18px 24px 18px !important;
        position: relative !important;
        text-align: center !important;
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease !important;
        overflow: hidden !important;
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
    }

    /* Subtle Card Elevation on Hover (Like Reference Web) */
    .woocommerce ul.products li.product:hover,
    .jet-woo-products__item:hover {
        border-color: #0E355A !important;
        box-shadow: 0 10px 30px rgba(14, 53, 90, 0.09) !important;
        z-index: 5 !important;
    }

    .woocommerce ul.products li.product .woocommerce-loop-product__link,
    .jet-woo-products__item .jet-woo-product-thumbnail {
        display: contents !important;
    }

    /* [ORDER 1]: Product Image Normal & Hover Zoom */
    .woocommerce ul.products li.product img,
    .woocommerce-page ul.products li.product img,
    ul.products li.product img,
    .jet-woo-products__item img {
        order: 1 !important;
        max-height: 210px !important;
        width: auto !important;
        max-width: 100% !important;
        margin: 0 auto 14px auto !important;
        display: block !important;
        object-fit: contain !important;
        transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1) !important;
        transform-origin: center center !important;
    }

    .woocommerce ul.products li.product:hover img,
    .jet-woo-products__item:hover img {
        transform: scale(1.06) !important;
    }

    /* [ORDER 2]: Product Title (Clean dark text like Reference Web) */
    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .woocommerce ul.products li.product h2,
    .woocommerce ul.products li.product h3,
    .jet-woo-products__item .jet-woo-builder-archive-product-title,
    .jet-woo-products__item h2,
    .jet-woo-products__item h3,
    .jet-woo-products__item h5 {
        order: 2 !important;
        color: #4a5568 !important; /* Clean modern slate text */
        font-size: 15px !important;
        font-weight: 500 !important;
        line-height: 1.35 !important;
        text-align: center !important;
        margin: 0 0 6px 0 !important;
        padding: 0 !important;
        transition: color 0.2s ease !important;
        text-decoration: none !important;
        width: 100% !important;
        font-family: inherit !important;
    }

    .woocommerce ul.products li.product:hover .woocommerce-loop-product__title,
    .woocommerce ul.products li.product:hover h2,
    .jet-woo-products__item:hover h2,
    .jet-woo-products__item:hover h5,
    .jet-woo-products__item:hover .jet-woo-builder-archive-product-title a {
        color: #0E355A !important;
    }

    /* [ORDER 3]: Product Price */
    .woocommerce ul.products li.product .price,
    .jet-woo-products__item .price {
        order: 3 !important;
        color: #1a202c !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        text-align: center !important;
        display: block !important;
        margin: 0 0 8px 0 !important;
        width: 100% !important;
    }

    .woocommerce ul.products li.product .price .amount,
    .jet-woo-products__item .price .amount {
        color: #1a202c !important;
        font-weight: 700 !important;
    }

    /* [ORDER 4]: BUTTONS ONLY ON HOVER (Normal State = Completely Hidden, Hover = Smooth Reveal) */
    .io-card-buttons-group, .dh-card-buttons-group {
        order: 4 !important;
        background: transparent !important;
        border: none !important;
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        margin: 0 !important;
        max-height: 0 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transform: translateY(8px) !important;
        overflow: hidden !important;
        transition: max-height 0.3s cubic-bezier(0.25, 1, 0.5, 1),
                    opacity 0.25s ease,
                    transform 0.25s ease,
                    visibility 0.25s ease !important;
        pointer-events: none !important;
    }

    .woocommerce ul.products li.product:hover .io-card-buttons-group,
    .woocommerce ul.products li.product:hover .dh-card-buttons-group,
    .jet-woo-products__item:hover .io-card-buttons-group,
    .jet-woo-products__item:hover .dh-card-buttons-group {
        max-height: 120px !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(0) !important;
        margin-top: 6px !important;
        margin-bottom: 8px !important;
        overflow: visible !important;
        pointer-events: auto !important;
    }

    /* Fallback directly on buttons (before JS grouping) */
    .woocommerce ul.products li.product a.button.add_to_cart_button,
    .woocommerce ul.products li.product .yith-ywraq-add-to-quote,
    .jet-woo-products__item a.button.add_to_cart_button,
    .jet-woo-products__item .yith-ywraq-add-to-quote {
        order: 4 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        max-height: 0 !important;
        overflow: hidden !important;
        margin: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        transform: translateY(8px) !important;
        transition: all 0.25s ease-in-out !important;
        pointer-events: none !important;
    }

    .woocommerce ul.products li.product:hover a.button.add_to_cart_button,
    .woocommerce ul.products li.product:hover .yith-ywraq-add-to-quote,
    .jet-woo-products__item:hover a.button.add_to_cart_button,
    .jet-woo-products__item:hover .yith-ywraq-add-to-quote {
        opacity: 1 !important;
        visibility: visible !important;
        max-height: 48px !important;
        overflow: visible !important;
        margin: 3px 0 !important;
        padding: 8px 20px !important;
        transform: translateY(0) !important;
        pointer-events: auto !important;
    }

    /* Clean Button Styling */
    .woocommerce ul.products li.product a.button.add_to_cart_button,
    .woocommerce ul.products li.product .yith-ywraq-add-to-quote a.add-request-quote-button,
    .woocommerce ul.products li.product .yith-ywraq-add-to-quote a.button,
    .jet-woo-products__item a.button.add_to_cart_button,
    .io-card-buttons-group a.button.add_to_cart_button,
    .dh-card-buttons-group a.button.add_to_cart_button,
    .io-card-buttons-group .yith-ywraq-add-to-quote a,
    .dh-card-buttons-group .yith-ywraq-add-to-quote a {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 8px 20px !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        white-space: nowrap !important;
        border-radius: 4px !important;
        text-decoration: none !important;
        cursor: pointer !important;
        transition: all 0.2s ease !important;
        line-height: 1.2 !important;
        box-sizing: border-box !important;
        min-width: 140px !important;
        text-align: center !important;
    }

    /* "Add to Cart" / "Select options": Solid Brand Navy */
    .woocommerce ul.products li.product a.button.add_to_cart_button,
    .jet-woo-products__item a.button.add_to_cart_button,
    .io-card-buttons-group a.button.add_to_cart_button,
    .dh-card-buttons-group a.button.add_to_cart_button {
        background-color: #0E355A !important;
        color: #ffffff !important;
        border: 1.5px solid #0E355A !important;
    }
    .woocommerce ul.products li.product a.button.add_to_cart_button:hover,
    .jet-woo-products__item a.button.add_to_cart_button:hover,
    .io-card-buttons-group a.button.add_to_cart_button:hover,
    .dh-card-buttons-group a.button.add_to_cart_button:hover {
        background-color: #F26522 !important;
        border-color: #F26522 !important;
        color: #ffffff !important;
    }

    /* "Add to Quote": Outline Navy */
    .woocommerce ul.products li.product .yith-ywraq-add-to-quote a,
    .jet-woo-products__item .yith-ywraq-add-to-quote a,
    .io-card-buttons-group .yith-ywraq-add-to-quote a,
    .dh-card-buttons-group .yith-ywraq-add-to-quote a {
        background-color: #ffffff !important;
        color: #0E355A !important;
        border: 1.5px solid #0E355A !important;
    }
    .woocommerce ul.products li.product .yith-ywraq-add-to-quote a:hover,
    .jet-woo-products__item .yith-ywraq-add-to-quote a:hover,
    .io-card-buttons-group .yith-ywraq-add-to-quote a:hover,
    .dh-card-buttons-group .yith-ywraq-add-to-quote a:hover {
        background-color: #0E355A !important;
        color: #ffffff !important;
    }

    /* ── [ORDER 99]: BOTTOM ACTION BAR (QUICK VIEW, WISHLIST, SHARE) ── */
    .io-product-bottom-bar, .dh-product-bottom-bar {
        order: 99 !important;
        margin-top: auto !important;
        width: calc(100% + 36px) !important;
        margin-left: -18px !important;
        margin-right: -18px !important;
        margin-bottom: -24px !important;
        display: flex !important;
        align-items: center !important;
        background: #fbfcfd !important;
        border-top: 1px solid #eef2f6 !important;
        padding: 0 !important;
        z-index: 10 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transform: translateY(8px);
        transition: all 0.25s ease-in-out !important;
    }

    .woocommerce ul.products li.product:hover .io-product-bottom-bar,
    .woocommerce ul.products li.product:hover .dh-product-bottom-bar,
    .jet-woo-products__item:hover .io-product-bottom-bar,
    .jet-woo-products__item:hover .dh-product-bottom-bar {
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(0) !important;
    }

    .io-bottom-action, .dh-bottom-action {
        flex: 1 1 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
        padding: 10px 4px !important;
        font-size: 10.5px !important;
        font-weight: 700 !important;
        color: #64748b !important;
        text-transform: uppercase !important;
        letter-spacing: 0.4px !important;
        cursor: pointer !important;
        transition: all 0.2s ease !important;
        user-select: none !important;
    }

    .io-bottom-action:not(:first-child), .dh-bottom-action:not(:first-child) {
        border-left: 1px solid #eef2f6 !important;
    }

    .io-bottom-action svg, .dh-bottom-action svg {
        width: 13px !important;
        height: 13px !important;
        stroke: #64748b !important;
        stroke-width: 2 !important;
        fill: none !important;
        transition: stroke 0.2s ease, fill 0.2s ease !important;
    }

    .io-bottom-action:hover, .dh-bottom-action:hover {
        color: #0E355A !important;
        background: #edf2f7 !important;
    }
    .io-bottom-action:hover svg, .dh-bottom-action:hover svg {
        stroke: #0E355A !important;
    }

    .io-bottom-action.io-wishlist-active, .io-bottom-action.dh-wishlist-active, .dh-bottom-action.io-wishlist-active, .dh-bottom-action.dh-wishlist-active {
        color: #F26522 !important;
    }
    .io-bottom-action.io-wishlist-active svg,
    .io-bottom-action.dh-wishlist-active svg,
    .dh-bottom-action.io-wishlist-active svg,
    .dh-bottom-action.dh-wishlist-active svg {
        stroke: #F26522 !important;
        fill: #F26522 !important;
    }

    /* ── QUICK VIEW MODAL POPUP STYLING ── */
    .io-qv-backdrop, .dh-qv-backdrop {
        position: fixed !important;
        pointer-events: none !important;
        top: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        background: rgba(14, 53, 90, 0.65) !important;
        backdrop-filter: blur(4px) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        z-index: 999999 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transition: all 0.25s ease !important;
    }
    .io-qv-backdrop.io-open, .io-qv-backdrop.dh-open, .dh-qv-backdrop.io-open, .dh-qv-backdrop.dh-open {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }
    .io-qv-modal, .dh-qv-modal {
        background: #ffffff !important;
        width: 90% !important;
        max-width: 760px !important;
        border-radius: 12px !important;
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25) !important;
        position: relative !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: row !important;
        transform: scale(0.92) !important;
        transition: transform 0.25s ease !important;
    }
    .io-qv-backdrop.io-open .io-qv-modal, .io-qv-backdrop.dh-open .io-qv-modal, .dh-qv-backdrop.io-open .dh-qv-modal, .dh-qv-backdrop.dh-open .dh-qv-modal {
        transform: scale(1) !important;
    }
    .io-qv-close, .dh-qv-close {
        position: absolute !important;
        top: 12px !important;
        right: 15px !important;
        font-size: 24px !important;
        color: #888888 !important;
        cursor: pointer !important;
        background: #f1f5f9 !important;
        width: 34px !important;
        height: 34px !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        line-height: 1 !important;
        z-index: 10 !important;
        transition: all 0.2s ease !important;
    }
    .io-qv-close:hover, .dh-qv-close:hover {
        color: #ffffff !important;
        background: #0E355A !important;
    }
    .io-qv-image-col, .dh-qv-image-col {
        flex: 1 !important;
        max-width: 50% !important;
        background: #f8fafc !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 25px !important;
        border-right: 1px solid #edf2f7 !important;
    }
    .io-qv-image-col img, .dh-qv-image-col img {
        max-width: 100% !important;
        max-height: 340px !important;
        object-fit: contain !important;
        border-radius: 6px !important;
    }
    .io-qv-info-col, .dh-qv-info-col {
        flex: 1 !important;
        max-width: 50% !important;
        padding: 35px 25px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        text-align: left !important;
    }
    .io-qv-title, .dh-qv-title {
        font-size: 20px !important;
        font-weight: 700 !important;
        color: #0E355A !important;
        margin: 0 0 10px 0 !important;
        line-height: 1.3 !important;
    }
    .io-qv-price, .dh-qv-price {
        font-size: 17px !important;
        font-weight: 700 !important;
        color: #F26522 !important;
        margin-bottom: 15px !important;
    }
    .io-qv-desc, .dh-qv-desc {
        font-size: 13.5px !important;
        color: #64748b !important;
        line-height: 1.5 !important;
        margin-bottom: 22px !important;
    }
    .io-qv-btn, .dh-qv-btn {
        display: inline-block !important;
        background: #0E355A !important;
        color: #ffffff !important;
        padding: 12px 24px !important;
        font-size: 13.5px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
        border-radius: 6px !important;
        text-align: center !important;
        transition: background 0.2s ease !important;
    }
    .io-qv-btn:hover, .dh-qv-btn:hover {
        background: #F26522 !important;
        color: #ffffff !important;
    }

    /* Toast Alert */
    .io-toast-notice, .dh-toast-notice {
        position: fixed !important;
        bottom: 30px !important;
        right: 30px !important;
        background: #0E355A !important;
        color: #ffffff !important;
        padding: 12px 22px !important;
        border-radius: 8px !important;
        font-size: 13.5px !important;
        font-weight: 600 !important;
        box-shadow: 0 10px 25px rgba(0,0,0,0.2) !important;
        z-index: 9999999 !important;
        opacity: 0 !important;
        transform: translateY(20px) !important;
        transition: all 0.3s ease !important;
    }
    .io-toast-notice.io-show, .io-toast-notice.dh-show, .dh-toast-notice.io-show, .dh-toast-notice.dh-show {
        opacity: 1 !important;
        transform: translateY(0) !important;
    }

    /* ── SINGLE PRODUCT: GALLERY (SHOW EXACTLY 3 THUMBNAILS WITH SCROLL & NO CLIPPED BORDERS) ── */
    .jet-woo-swiper.jet-woo-swiper-vertical,
    .jet-woo-swiper-vertical.jet-gallery-swiper-vertical-pos-start {
        display: flex !important;
        flex-direction: row-reverse !important;
        align-items: flex-start !important;
    }
    .elementor-element .jet-woo-swiper-vertical .jet-gallery-swiper-thumb,
    .jet-woo-swiper-vertical .jet-gallery-swiper-thumb {
        width: 96px !important;
        max-width: 96px !important;
        flex: 0 0 96px !important;
        margin-right: 16px !important;
        margin-top: 0 !important;
        padding-top: 0 !important;
        align-self: flex-start !important;
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        box-sizing: border-box !important;
    }
    .elementor-element .jet-woo-swiper-vertical .jet-gallery-swiper-slider,
    .jet-woo-swiper-vertical .jet-gallery-swiper-slider {
        width: calc(100% - 112px) !important;
        max-width: calc(100% - 112px) !important;
        flex: 1 1 auto !important;
        margin-top: 0 !important;
        padding-top: 0 !important;
        align-self: flex-start !important;
        box-sizing: border-box !important;
    }

    /* Container limited to exactly 3 thumbnails height: 3 * 82px + 2 * 8px + 10px padding = 272px (With safe horizontal padding for borders/shadow) */
    .elementor-element .jet-woo-swiper-gallery-thumbs.swiper-container,
    .elementor-element .jet-woo-swiper-gallery-thumbs.swiper-container-vertical,
    .jet-woo-swiper-gallery-thumbs.swiper-container-vertical,
    .jet-woo-swiper-gallery-thumbs.swiper-container {
        width: 100% !important;
        max-width: 100% !important;
        height: 272px !important;
        max-height: 272px !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        scroll-behavior: smooth !important;
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
        margin: 0 !important;
        padding: 5px 6px !important;
        box-sizing: border-box !important;
        align-self: center !important;
    }
    .elementor-element .jet-woo-swiper-gallery-thumbs.swiper-container::-webkit-scrollbar,
    .jet-woo-swiper-gallery-thumbs.swiper-container::-webkit-scrollbar,
    .jet-woo-swiper-gallery-thumbs.swiper-container-vertical::-webkit-scrollbar {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        background: transparent !important;
    }

    .jet-woo-swiper-gallery-thumbs .swiper-wrapper {
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        align-items: center !important;
        width: 100% !important;
        height: auto !important;
        gap: 8px !important;
        transform: none !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    .elementor-element .jet-gallery-swiper-thumb .swiper-slide,
    .jet-gallery-swiper-thumb .swiper-slide,
    .jet-woo-swiper-gallery-thumbs .swiper-slide,
    .jet-woo-swiper-control-thumbs__item.swiper-slide,
    .jet-woo-swiper-control-thumbs__item {
        width: 82px !important;
        height: 82px !important;
        max-width: 82px !important;
        max-height: 82px !important;
        flex: 0 0 82px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        opacity: 0.7 !important;
        border: 1.5px solid #e2e8f0 !important;
        border-radius: 6px !important;
        background: #ffffff !important;
        cursor: pointer !important;
        transition: all 0.2s ease !important;
        overflow: hidden !important;
    }
    .jet-gallery-swiper-thumb .swiper-slide:hover,
    .jet-gallery-swiper-thumb .swiper-slide.swiper-slide-thumb-active,
    .jet-woo-swiper-gallery-thumbs .swiper-slide-thumb-active,
    .jet-woo-swiper-control-thumbs__item:hover,
    .jet-woo-swiper-control-thumbs__item.swiper-slide-thumb-active {
        opacity: 1 !important;
        border: 1.5px solid #0E355A !important;
        border-color: #0E355A !important;
        box-shadow: 0 2px 6px rgba(14, 53, 90, 0.16) !important;
    }

    .jet-woo-swiper-control-thumbs__item-image,
    .jet-woo-swiper-control-thumbs__item img,
    .jet-gallery-swiper-thumb .swiper-slide img {
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        max-height: 100% !important;
        object-fit: contain !important;
        display: block !important;
        margin: 0 !important;
        padding: 4px !important;
        box-sizing: border-box !important;
    }

    /* Scroll Navigation Arrow Buttons for Thumbnails (Themed Navy & Orange) */
    .io-gallery-nav-btn, .dh-gallery-nav-btn {
        width: 82px !important;
        height: 24px !important;
        background: #0E355A !important;
        border: 1.5px solid #0E355A !important;
        border-radius: 5px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        color: #ffffff !important;
        padding: 0 !important;
        margin: 4px auto !important;
        transition: all 0.25s ease !important;
        flex-shrink: 0 !important;
        box-shadow: 0 2px 5px rgba(14, 53, 90, 0.15) !important;
        outline: none !important;
    }
    .io-gallery-nav-btn:hover, .dh-gallery-nav-btn:hover {
        background: #F26522 !important;
        border-color: #F26522 !important;
        color: #ffffff !important;
        transform: translateY(-1px) !important;
        box-shadow: 0 4px 10px rgba(242, 101, 34, 0.3) !important;
    }
    .io-gallery-nav-btn:active, .dh-gallery-nav-btn:active {
        transform: translateY(1px) scale(0.98) !important;
    }
    .io-gallery-nav-btn svg, .dh-gallery-nav-btn svg {
        width: 14px !important;
        height: 14px !important;
        stroke: #ffffff !important;
        stroke-width: 2.8 !important;
        fill: none !important;
    }

    /* Single Product: Active Add to Cart Button */
    .single-product form.cart .single_add_to_cart_button,
    .single-product form.cart button.single_add_to_cart_button {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        background-color: #0E355A !important;
        color: #ffffff !important;
        border: 1.5px solid #0E355A !important;
        font-size: 13.5px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        padding: 12px 28px !important;
        border-radius: 4px !important;
        cursor: pointer !important;
        transition: all 0.25s ease !important;
        min-height: 46px !important;
        line-height: 1 !important;
    }
    .single-product form.cart .single_add_to_cart_button:hover,
    .single-product form.cart button.single_add_to_cart_button:hover {
        background-color: #F26522 !important;
        border-color: #F26522 !important;
        color: #ffffff !important;
        transform: translateY(-1px) !important;
    }
    .single-product form.cart .woocommerce-variation-add-to-cart,
    .single-product form.cart div.quantity {
        display: inline-flex !important;
        align-items: center !important;
        gap: 10px !important;
        margin: 10px 0 !important;
    }
    .single-product form.cart .quantity input.qty {
        height: 46px !important;
        border-radius: 4px !important;
        border: 1.5px solid #cbd5e1 !important;
        font-weight: 600 !important;
        color: #0E355A !important;
        padding: 0 10px !important;
    }
    .single-product .yith-ywraq-add-to-quote a.add-request-quote-button,
    .single-product a.add-request-quote-button.button {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        background-color: #ffffff !important;
        color: #0E355A !important;
        border: 1.5px solid #0E355A !important;
        padding: 11px 26px !important;
        font-size: 13.5px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        border-radius: 4px !important;
        text-decoration: none !important;
        cursor: pointer !important;
        transition: all 0.25s ease !important;
        margin-top: 6px !important;
    }
    .single-product .yith-ywraq-add-to-quote a.add-request-quote-button:hover,
    .single-product a.add-request-quote-button.button:hover {
        background-color: #0E355A !important;
        color: #ffffff !important;
    }
    /* Single product price badge is styled in dedicated section below */

    /* ── SEARCH PAGE: 3 COLUMNS MATCHING SHOP ── */
    body.search main#content.site-main {
        max-width: 1200px !important;
        margin: 40px auto 70px auto !important;
        padding: 0 25px !important;
        box-sizing: border-box !important;
    }
    body.search .page-header {
        text-align: center !important;
        margin-bottom: 45px !important;
        padding-bottom: 25px !important;
        border-bottom: 1px solid #eef2f6 !important;
    }
    body.search .page-header .entry-title {
        font-size: 28px !important;
        font-weight: 700 !important;
        color: #0E355A !important;
        margin: 0 !important;
    }
    body.search .page-header .entry-title span {
        color: #F26522 !important;
    }
    body.search .page-content {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 28px 22px !important;
        width: 100% !important;
        margin: 0 0 50px 0 !important;
        padding: 0 !important;
    }
    body.search .page-content article.post {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        background: #ffffff !important;
        border: 1px solid #eef2f6 !important;
        border-radius: 8px !important;
        padding: 22px 18px 20px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        position: relative !important;
        text-align: center !important;
        transition: border-color 0.25s ease, box-shadow 0.25s ease !important;
    }
    body.search .page-content article.post:hover {
        border-color: #0E355A !important;
        box-shadow: 0 8px 30px rgba(14, 53, 90, 0.09) !important;
    }
    body.search .page-content article.post > a:has(img) {
        order: 1 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        height: 200px !important;
        margin: 0 auto 14px auto !important;
        overflow: hidden !important;
        text-decoration: none !important;
    }
    body.search .page-content article.post > a:has(img)::before {
        content: "" !important;
        position: absolute !important;
        inset: 0 !important;
        z-index: 2 !important;
    }
    body.search .page-content article.post img {
        max-height: 200px !important;
        width: auto !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        display: block !important;
        object-fit: contain !important;
        transition: transform 0.4s ease !important;
    }
    body.search .page-content article.post:hover img {
        transform: scale(1.08) !important;
    }
    body.search .page-content article.post .entry-title {
        order: 2 !important;
        width: 100% !important;
        margin: 0 0 8px 0 !important;
        font-size: 15px !important;
        line-height: 1.35 !important;
        font-weight: 600 !important;
        text-align: center !important;
    }
    body.search .page-content article.post .entry-title a {
        color: #2b354f !important;
        text-decoration: none !important;
    }
    body.search .page-content article.post:hover .entry-title a {
        color: #0E355A !important;
    }
    body.search .page-content article.post > p {
        order: 3 !important;
        font-size: 13px !important;
        color: #64748b !important;
        line-height: 1.4 !important;
        margin: 0 0 16px 0 !important;
        text-align: center !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }
    body.search .page-content article.post::after {
        order: 4 !important;
        content: "View Product" !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        background-color: #0E355A !important;
        color: #ffffff !important;
        border: 1.5px solid #0E355A !important;
        padding: 8px 24px !important;
        font-size: 12.5px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        border-radius: 4px !important;
        margin-top: auto !important;
        pointer-events: none !important;
    }

    /* Responsive */
    @media (max-width: 900px) {
        .woocommerce ul.products,
        .woocommerce-page ul.products,
        ul.products,
        .jet-woo-products-wrapper .jet-woo-products,
        body.search .page-content {
            grid-template-columns: repeat(2, 1fr) !important;
            gap: 20px !important;
        }
        .io-product-bottom-bar, .dh-product-bottom-bar {
            opacity: 1 !important;
            visibility: visible !important;
            transform: none !important;
        }
    }
    @media (max-width: 580px) {
        .woocommerce ul.products,
        .woocommerce-page ul.products,
        ul.products,
        .jet-woo-products-wrapper .jet-woo-products,
        body.search .page-content {
            grid-template-columns: 1fr !important;
            gap: 18px !important;
        }
        .io-qv-modal, .dh-qv-modal {
            flex-direction: column !important;
            max-height: 85vh !important;
            overflow-y: auto !important;
        }
        .io-qv-image-col, .dh-qv-image-col, .io-qv-info-col, .dh-qv-info-col {
            max-width: 100% !important;
        }
    }
    
    /* ══════════════════════════════════════════════════════════════════
       DREAM HIGH PROMOS - MENU ICONS & NAVIGATION
       ══════════════════════════════════════════════════════════════════ */
    .io-nav-icon, .dh-nav-icon {
        color: #0E355A !important;
        font-size: 15px !important;
        margin-right: 7px !important;
        display: inline-block !important;
        vertical-align: middle !important;
        transition: transform 0.2s ease, color 0.2s ease !important;
    }

    .nav-menu a,
    .elementor-nav-menu a,
    ul.menu li a {
        display: inline-flex !important;
        align-items: center !important;
    }

    ul.menu li a:hover .io-nav-icon,
    ul.menu li a:hover .dh-nav-icon,
    .elementor-nav-menu a:hover .io-nav-icon,
    .elementor-nav-menu a:hover .dh-nav-icon {
        transform: scale(1.15) !important;
        color: #F26522 !important;
    }

    .woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb {
        font-size: .92em;
        color: #767676;
        padding: 2% 0;
    }

    /* ══════════════════════════════════════════════════════════════════
       PRODUCT META (Hide Categories & Tags, Keep SKU Clean)
       ══════════════════════════════════════════════════════════════════ */
    .product_meta .posted_in,
    .product_meta .tagged_as {
        display: none !important;
    }

    /* ══════════════════════════════════════════════════════════════════
       CONTACT FORM 7 MODERN CARD STYLING
       ══════════════════════════════════════════════════════════════════ */
    .io-cf7-form, .dh-cf7-form {
        background: #ffffff;
        padding: 35px 30px;
        border-radius: 14px;
        border: 1px solid #eef2f6;
        max-width: 780px;
        margin: 0 auto;
    }

    .io-form-row, .dh-form-row {
        display: flex;
        gap: 20px;
        margin-bottom: 20px;
    }

    .io-form-row.full-width, .dh-form-row.full-width {
        margin-bottom: 24px;
    }

    .io-form-col, .dh-form-col {
        flex: 1 1 0;
        display: flex;
        flex-direction: column;
    }

    .io-form-col label, .dh-form-col label {
        font-size: 13.5px;
        font-weight: 700;
        color: #0B2545;
        margin-bottom: 7px;
        display: block;
    }

    .io-form-col .req, .dh-form-col .req {
        color: #F26522;
        font-weight: bold;
    }

    .wpcf7-form-control-wrap {
        width: 100%;
        display: block;
    }

    .io-cf7-form input[type="text"], .dh-cf7-form input[type="text"],
    .io-cf7-form input[type="email"], .dh-cf7-form input[type="email"],
    .io-cf7-form input[type="tel"], .dh-cf7-form input[type="tel"],
    .io-cf7-form select, .dh-cf7-form select,
    .io-cf7-form textarea, .dh-cf7-form textarea {
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 12px 16px !important;
        font-size: 14.5px !important;
        color: #2D3748 !important;
        background-color: #f8fafc !important;
        border: 1.5px solid #e2e8f0 !important;
        border-radius: 8px !important;
        outline: none !important;
        transition: all 0.3s ease !important;
        font-family: inherit;
    }

    .io-cf7-form input:focus, .dh-cf7-form input:focus,
    .io-cf7-form select:focus, .dh-cf7-form select:focus,
    .io-cf7-form textarea:focus, .dh-cf7-form textarea:focus {
        background-color: #ffffff !important;
        border-color: #0B2545 !important;
        box-shadow: 0 0 0 3px rgba(11, 37, 69, 0.12) !important;
    }

    .io-cf7-form textarea, .dh-cf7-form textarea {
        resize: vertical;
        min-height: 110px;
    }

    .io-form-submit, .dh-form-submit {
        text-align: center;
        margin-top: 10px;
    }

    .io-cf7-form input.io-submit-btn, .dh-cf7-form input.dh-submit-btn,
    .io-cf7-form input[type="submit"], .dh-cf7-form input[type="submit"] {
        background: linear-gradient(135deg, #0E355A 0%, #0E355A 100%) !important;
        color: #ffffff !important;
        font-size: 15.5px !important;
        font-weight: 700 !important;
        padding: 14px 40px !important;
        border-radius: 9999px !important;
        border: none !important;
        cursor: pointer !important;
        transition: all 0.3s ease !important;
        display: inline-block;
        letter-spacing: 0.3px;
    }

    .io-cf7-form input.io-submit-btn:hover, .dh-cf7-form input.dh-submit-btn:hover,
    .io-cf7-form input[type="submit"]:hover, .dh-cf7-form input[type="submit"]:hover {
        transform: translateY(-2px) !important;
        background: #F26522 !important;
    }

    .wpcf7-spinner {
        margin: 12px auto 0 !important;
        display: block !important;
    }

    .wpcf7-response-output {
        border-radius: 8px !important;
        padding: 12px 18px !important;
        font-size: 14px !important;
        margin-top: 20px !important;
        text-align: center !important;
    }

    .wpcf7 form.sent .wpcf7-response-output {
        border: 1px solid #10b981 !important;
        background-color: #ecfdf5 !important;
        color: #065f46 !important;
    }

    .wpcf7 form.invalid .wpcf7-response-output,
    .wpcf7 form.unaccepted .wpcf7-response-output {
        border: 1px solid #f87171 !important;
        background-color: #fef2f2 !important;
        color: #991b1b !important;
    }

    .wpcf7-not-valid-tip {
        color: #dc2626 !important;
        font-size: 12px !important;
        margin-top: 4px !important;
    }

    @media (max-width: 650px) {
        .io-cf7-form, .dh-cf7-form {
            padding: 24px 18px;
        }
        .io-form-row, .dh-form-row {
            flex-direction: column;
            gap: 15px;
            margin-bottom: 15px;
        }
        .io-cf7-form input.io-submit-btn, .dh-cf7-form input.dh-submit-btn {
            width: 100% !important;
        }
    }

    /* ══════════════════════════════════════════════════════════════════
       REQUEST A QUOTE PAGE - MODERN TABLE & QUOTE FORM
       ══════════════════════════════════════════════════════════════════ */
    .yith-ywraq-list .product-thumbnail img, 
    .woocommerce table.shop_table .product-thumbnail img,
    .quote-table .product-thumbnail img {
        max-width: 85px !important;
        height: auto !important;
        border-radius: 6px !important;
        box-shadow: 0 2px 6px rgba(0,0,0,0.08) !important;
        display: block !important;
        margin: 0 auto !important;
    }

    .yith-ywraq-list th, 
    .woocommerce table.shop_table th {
        background-color: #0B2545 !important;
        color: #ffffff !important;
        padding: 16px 18px !important;
        font-weight: 600 !important;
        font-size: 14.5px !important;
        letter-spacing: 0.5px !important;
        text-transform: uppercase !important;
        border-color: #0e355a !important;
    }

    .yith-ywraq-list th.product-thumbnail,
    .woocommerce table.shop_table th.product-thumbnail {
        font-size: 0 !important;
        color: transparent !important;
        width: 110px !important;
        text-align: center !important;
    }

    .yith-ywraq-list th.product-name,
    .woocommerce table.shop_table th.product-name {
        text-align: left !important;
        color: #ffffff !important;
        font-size: 14.5px !important;
    }

    .yith-ywraq-list th.product-name::before,
    .woocommerce table.shop_table th.product-name::before {
        content: "Product Name" !important;
        color: #ffffff !important;
        font-size: 14.5px !important;
        font-weight: 600 !important;
        letter-spacing: 0.5px !important;
        text-transform: uppercase !important;
        display: inline-block !important;
    }

    .yith-ywraq-list, 
    .woocommerce table.shop_table {
        border: 1px solid #e2e8f0 !important;
        border-radius: 8px !important;
        overflow: hidden !important;
        margin-bottom: 35px !important;
        width: 100% !important;
        background: #ffffff !important;
    }

    .yith-ywraq-list td,
    .woocommerce table.shop_table td {
        vertical-align: middle !important;
        padding: 16px 18px !important;
        border-top: 1px solid #f1f5f9 !important;
    }

    .yith-ywraq-list td.product-name a,
    .woocommerce table.shop_table td.product-name a,
    .quote-table td.product-name a {
        color: #0B2545 !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        text-decoration: none !important;
        border-bottom: none !important;
        line-height: 1.4 !important;
        display: inline-block !important;
        transition: color 0.25s ease !important;
    }

    .yith-ywraq-list td.product-name a:hover,
    .woocommerce table.shop_table td.product-name a:hover,
    .quote-table td.product-name a:hover {
        color: #F26522 !important;
        text-decoration: none !important;
    }

    .yith-ywraq-list td.product-quantity input.qty,
    .woocommerce table.shop_table td.product-quantity input.qty {
        width: 65px !important;
        height: 40px !important;
        text-align: center !important;
        border: 1.5px solid #cbd5e1 !important;
        border-radius: 4px !important;
        font-weight: 600 !important;
        color: #0B2545 !important;
        outline: none !important;
    }

    .yith-ywraq-list .button, 
    .yith-ywraq-mail-form-wrapper .button,
    #yith-ywraq-message-api-button,
    a.button.wc-backward,
    .request-quote-button,
    input[name="update_raq"],
    button[name="update_raq"] {
        background-color: #F26522 !important;
        color: #ffffff !important;
        border-radius: 6px !important;
        padding: 12px 24px !important;
        font-weight: 600 !important;
        border: none !important;
        transition: all 0.3s ease !important;
        text-transform: uppercase !important;
        font-size: 13.5px !important;
        letter-spacing: 0.5px !important;
        cursor: pointer !important;
    }

    .yith-ywraq-list .button:hover, 
    .yith-ywraq-mail-form-wrapper .button:hover,
    #yith-ywraq-message-api-button:hover,
    a.button.wc-backward:hover,
    input[name="update_raq"]:hover,
    button[name="update_raq"]:hover {
        background-color: #0B2545 !important;
        color: #ffffff !important;
    }

    .yith-ywraq-list .product-remove a.remove {
        color: #ef4444 !important;
        font-weight: bold;
        font-size: 20px;
        text-decoration: none !important;
    }
    .yith-ywraq-list .product-remove a.remove:hover {
        background: transparent !important;
        color: #dc2626 !important;
    }

    .yith-ywraq-mail-form-wrapper {
        max-width: 750px !important;
        margin: 40px auto !important;
        background: #ffffff !important;
        padding: 35px 40px !important;
        border-radius: 12px !important;
        box-shadow: 0 8px 30px rgba(0,0,0,0.08) !important;
        border: 1px solid #e2e8f0 !important;
    }

    @media (min-width: 768px) {
        .yith-ywraq-mail-form-wrapper form {
            display: grid !important;
            grid-template-columns: 1fr 1fr !important;
            column-gap: 25px !important;
        }
        
        .yith-ywraq-mail-form-wrapper form > h3,
        .yith-ywraq-mail-form-wrapper form > p:has(input[type="email"]),
        .yith-ywraq-mail-form-wrapper form > p:has(textarea),
        .yith-ywraq-mail-form-wrapper form > p:has(input[type="submit"]),
        .yith-ywraq-mail-form-wrapper form > p:has(button) {
            grid-column: 1 / -1 !important;
        }
        
        .yith-ywraq-mail-form-wrapper form > p {
            width: 100% !important;
            float: none !important;
            margin-bottom: 5px !important;
        }
    }

    .yith-ywraq-mail-form-wrapper h3 {
        color: #0B2545 !important;
        font-size: 24px !important;
        margin-bottom: 25px !important;
        font-weight: 700 !important;
        border-bottom: 2px solid #f1f5f9;
        padding-bottom: 15px;
    }

    .yith-ywraq-mail-form-wrapper label {
        color: #0B2545 !important;
        font-weight: 600 !important;
        font-size: 14px !important;
        margin-bottom: 8px !important;
        display: block;
    }

    .yith-ywraq-mail-form-wrapper input[type="text"],
    .yith-ywraq-mail-form-wrapper input[type="email"],
    .yith-ywraq-mail-form-wrapper textarea {
        width: 100% !important;
        background-color: #f8fafc !important;
        border: 1px solid #cbd5e1 !important;
        border-radius: 6px !important;
        padding: 14px 15px !important;
        font-size: 15px !important;
        color: #334155 !important;
        box-shadow: none !important;
        transition: all 0.3s ease !important;
    }

    .yith-ywraq-mail-form-wrapper input:focus,
    .yith-ywraq-mail-form-wrapper textarea:focus {
        background-color: #ffffff !important;
        border-color: #F26522 !important;
        box-shadow: 0 0 0 3px rgba(242, 101, 34, 0.15) !important;
        outline: none !important;
    }

    .yith-ywraq-mail-form-wrapper span.error {
        color: #ef4444 !important;
        font-size: 12px;
        margin-top: 5px;
    }

    /* ══════════════════════════════════════════════════════════════════
       SINGLE PRODUCT: PRICE BADGE STYLING (MATCHING REFERENCE WEB EXACTLY)
       ══════════════════════════════════════════════════════════════════ */
    .elementor-element.elementor-element-0acd8b5,
    .elementor-2987 .elementor-element.elementor-element-0acd8b5 {
        --width: auto !important;
        width: auto !important;
        max-width: none !important;
        min-width: fit-content !important;
        flex: 0 0 auto !important;
    }

    /* ── Single Product Title & Price Row Alignment (Desktop) ── */
    .single-product .elementor-element.elementor-element-31a7b18,
    .single-product .elementor-element.elementor-element-31a7b18 > .e-con-inner {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 20px !important;
        width: 100% !important;
        height: auto !important;
        min-height: auto !important;
    }

    .single-product .elementor-element.elementor-element-054df6f {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        height: auto !important;
        align-self: center !important;
    }

    .single-product .elementor-element.elementor-element-0acd8b5 {
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: fit-content !important;
        height: auto !important;
        min-height: auto !important;
        align-self: center !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
    }

    .single-product .elementor-element.elementor-element-7a3a766,
    .single-product .elementor-widget-jet-single-price {
        width: auto !important;
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
        box-shadow: none !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Single Clean Navy Badge Container (Desktop) */
    .single-product .elementor-element.elementor-element-7a3a766 > .elementor-widget-container,
    .single-product .elementor-2987 .elementor-element.elementor-element-7a3a766 > .elementor-widget-container {
        width: auto !important;
        max-width: none !important;
        min-width: fit-content !important;
        height: auto !important;
        min-height: auto !important;
        max-height: 32px !important;
        overflow: visible !important;
        background-color: #0E355A !important;
        border-radius: 4px !important;
        padding: 5px 12px !important;
        box-sizing: border-box !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
    }

    .single-product .elementor-element.elementor-element-7a3a766 .elementor-jet-single-price {
        background: transparent !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
        height: auto !important;
        min-height: auto !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .elementor-jet-single-price .price,
    .elementor-widget-jet-single-price .price,
    .elementor-element.elementor-element-7a3a766 .price,
    .elementor-2987 .elementor-element.elementor-element-7a3a766 .price,
    .elementor-2987 .elementor-element.elementor-element-7a3a766 .jet-woo-builder.elementor-jet-single-price .price,
    .single-product .summary p.price,
    .single-product .product .price {
        white-space: nowrap !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
        border: none !important;
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        color: #ffffff !important;
        line-height: 1.2 !important;
        letter-spacing: 0.1px !important;
        width: auto !important;
        max-width: none !important;
        box-sizing: border-box !important;
        text-align: center !important;
    }

    /* Currency Symbol and Price Amounts: 100% Equal Size, Weight & Baseline Alignment */
    .elementor-jet-single-price .price .woocommerce-Price-currencySymbol,
    .elementor-widget-jet-single-price .price .woocommerce-Price-currencySymbol,
    .elementor-element.elementor-element-7a3a766 .price .woocommerce-Price-currencySymbol,
    .elementor-2987 .elementor-element.elementor-element-7a3a766 .jet-woo-builder.elementor-jet-single-price .price .woocommerce-Price-currencySymbol,
    .elementor-2987 .elementor-element.elementor-element-7a3a766 .price .woocommerce-Price-currencySymbol,
    .elementor-jet-single-price .price .amount,
    .elementor-widget-jet-single-price .price .amount,
    .elementor-element.elementor-element-7a3a766 .price .amount,
    .elementor-2987 .elementor-element.elementor-element-7a3a766 .jet-woo-builder.elementor-jet-single-price .price .amount,
    .elementor-2987 .elementor-element.elementor-element-7a3a766 .price .amount,
    .elementor-jet-single-price .price bdi,
    .elementor-widget-jet-single-price .price bdi,
    .elementor-element.elementor-element-7a3a766 .price bdi,
    .elementor-2987 .elementor-element.elementor-element-7a3a766 .jet-woo-builder.elementor-jet-single-price .price bdi,
    .elementor-2987 .elementor-element.elementor-element-7a3a766 .price bdi,
    .woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol,
    .jet-woo-products__item .price .woocommerce-Price-currencySymbol {
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        color: inherit !important;
        line-height: 1 !important;
        vertical-align: baseline !important;
        display: inline !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* ══════════════════════════════════════════════════════════════════
       SINGLE PRODUCT: "READY TO CUSTOMIZE?" 1-LINE ACTION ROW (IMAGE 1: RIGHT ALIGNED)
       ══════════════════════════════════════════════════════════════════ */
    .elementor-element-3a9e8ac,
    .elementor-element.elementor-element-3a9e8ac,
    .elementor .elementor-element.elementor-element-3a9e8ac,
    body.single-product .elementor-element.elementor-element-3a9e8ac,
    body.single-product .elementor-element-3a9e8ac {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex-wrap: wrap !important;
        gap: 15px 20px !important;
        padding: 16px 24px !important;
        background: #f8fafc !important;
        border: 1px solid #eef2f6 !important;
        border-radius: 8px !important;
        margin-top: 25px !important;
        margin-left: auto !important;
        width: 100% !important;
        box-sizing: border-box !important;
        text-align: right !important;
    }

    .elementor-element-3a9e8ac > .elementor-widget-wrap,
    .elementor-element-3a9e8ac > .elementor-container,
    .elementor-element.elementor-element-3a9e8ac > .elementor-widget-wrap,
    .elementor-element.elementor-element-3a9e8ac > .elementor-container {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-end !important;
        width: 100% !important;
        gap: 15px 20px !important;
    }

    /* 1. Heading: Ready to customize? */
    .elementor-element-3a9e8ac .elementor-element-9c15d7b {
        order: 1 !important;
        margin: 0 !important;
        width: auto !important;
        flex: 0 0 auto !important;
    }

    .elementor-element-3a9e8ac .elementor-element-9c15d7b h4,
    .elementor-element-3a9e8ac h4.elementor-heading-title {
        margin: 0 !important;
        font-size: 17px !important;
        font-weight: 700 !important;
        color: #0E355A !important;
        white-space: nowrap !important;
        line-height: 1 !important;
    }

    /* 2. Add to Cart Form & Quantity Input */
    .elementor-element-3a9e8ac .elementor-element-5b6b9bd,
    .elementor-element-3a9e8ac form.cart {
        order: 2 !important;
        margin: 0 !important;
        width: auto !important;
        display: inline-flex !important;
        align-items: center !important;
        flex: 0 0 auto !important;
    }

    .elementor-element-3a9e8ac form.cart .single_variation_wrap,
    .elementor-element-3a9e8ac form.cart .woocommerce-variation-add-to-cart {
        margin: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 10px !important;
    }

    .elementor-element-3a9e8ac form.cart div.quantity {
        margin: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
    }

    .elementor-element-3a9e8ac form.cart .quantity input.qty {
        height: 42px !important;
        width: 58px !important;
        border-radius: 4px !important;
        border: 1.5px solid #cbd5e1 !important;
        font-weight: 600 !important;
        color: #0E355A !important;
        text-align: center !important;
        padding: 0 4px !important;
        font-size: 14.5px !important;
        box-sizing: border-box !important;
    }

    .elementor-element-3a9e8ac form.cart .single_add_to_cart_button,
    .elementor-element-3a9e8ac form.cart button.single_add_to_cart_button,
    .single-product form.cart .single_add_to_cart_button {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        background-color: #0E355A !important;
        color: #ffffff !important;
        border: 1.5px solid #0E355A !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        padding: 11px 22px !important;
        border-radius: 4px !important;
        cursor: pointer !important;
        transition: all 0.25s ease !important;
        min-height: 42px !important;
        line-height: 1 !important;
        box-sizing: border-box !important;
        white-space: nowrap !important;
        margin: 0 !important;
    }

    .elementor-element-3a9e8ac form.cart .single_add_to_cart_button:hover,
    .single-product form.cart .single_add_to_cart_button:hover {
        background-color: #F26522 !important;
        border-color: #F26522 !important;
        color: #ffffff !important;
    }

    /* 3. Add to Quote Widget & Button */
    .elementor-element-3a9e8ac .elementor-element-818e5ca,
    .elementor-element-3a9e8ac .yith-ywraq-add-to-quote {
        order: 3 !important;
        margin: 0 !important;
        width: auto !important;
        display: inline-flex !important;
        align-items: center !important;
        flex: 0 0 auto !important;
    }

    .elementor-element-3a9e8ac .yith-ywraq-add-to-quote a.add-request-quote-button,
    .elementor-element-3a9e8ac a.add-request-quote-button.button,
    .single-product a.add-request-quote-button.button {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        background-color: #ffffff !important;
        color: #0E355A !important;
        border: 1.5px solid #0E355A !important;
        padding: 11px 22px !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        border-radius: 4px !important;
        text-decoration: none !important;
        cursor: pointer !important;
        transition: all 0.25s ease !important;
        min-height: 42px !important;
        line-height: 1 !important;
        box-sizing: border-box !important;
        white-space: nowrap !important;
        margin: 0 !important;
    }

    .elementor-element-3a9e8ac .yith-ywraq-add-to-quote a.add-request-quote-button:hover,
    .single-product a.add-request-quote-button.button:hover {
        background-color: #0E355A !important;
        color: #ffffff !important;
    }

    .elementor-element-3a9e8ac .clear {
        display: none !important;
    }

    /* ══════════════════════════════════════════════════════════════════
       SINGLE PRODUCT: 3 SPECS BOXES & TOP QUANTITY CONTROLLER (IMAGE 2 & 3 MATCH)
       ══════════════════════════════════════════════════════════════════ */
    .io-specs-wrapper, .dh-specs-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        margin: 20px 0 15px 0 !important;
        box-sizing: border-box !important;
    }

    .io-specs-qty-bar, .dh-specs-qty-bar {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 14px !important;
        padding: 8px 14px !important;
        background: #f8fafc !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 6px !important;
        margin-bottom: 12px !important;
        box-sizing: border-box !important;
        width: auto !important;
    }

    .io-specs-qty-label, .dh-specs-qty-label {
        display: inline-flex !important;
        align-items: center !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        color: #0E355A !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        margin: 0 !important;
        user-select: none !important;
    }

    .io-specs-qty-ctrl, .dh-specs-qty-ctrl {
        display: inline-flex !important;
        align-items: center !important;
        border: 1.5px solid #cbd5e1 !important;
        border-radius: 4px !important;
        overflow: hidden !important;
        background: #ffffff !important;
    }

    .io-qty-btn, .dh-qty-btn {
        width: 32px !important;
        height: 34px !important;
        background: #f1f5f9 !important;
        border: none !important;
        color: #0E355A !important;
        font-size: 17px !important;
        font-weight: 700 !important;
        cursor: pointer !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        transition: all 0.2s ease !important;
        padding: 0 !important;
        margin: 0 !important;
        user-select: none !important;
        line-height: 1 !important;
    }

    .io-qty-btn:hover, .dh-qty-btn:hover {
        background: #0E355A !important;
        color: #ffffff !important;
    }

    .io-specs-qty-input, .dh-specs-qty-input {
        width: 52px !important;
        height: 34px !important;
        border: none !important;
        border-left: 1px solid #e2e8f0 !important;
        border-right: 1px solid #e2e8f0 !important;
        text-align: center !important;
        font-size: 14.5px !important;
        font-weight: 700 !important;
        color: #0E355A !important;
        padding: 0 4px !important;
        margin: 0 !important;
        background: #ffffff !important;
        -moz-appearance: textfield !important;
        box-sizing: border-box !important;
    }

    .io-specs-qty-input::-webkit-outer-spin-button, .dh-specs-qty-input::-webkit-outer-spin-button,
    .io-specs-qty-input::-webkit-inner-spin-button, .dh-specs-qty-input::-webkit-inner-spin-button {
        -webkit-appearance: none !important;
        margin: 0 !important;
    }

    .io-specs-wrapper .io-specs-bar, .dh-specs-wrapper .dh-specs-bar, .io-specs-wrapper .dh-specs-bar, .dh-specs-wrapper .io-specs-bar {
        margin: 0 !important;
    }

    .io-specs-bar, .dh-specs-bar {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 20px 0 15px 0 !important;
        padding: 14px 0 !important;
        background: transparent !important;
        border-top: 1px solid #eef2f6 !important;
        border-bottom: 1px solid #eef2f6 !important;
        border-left: none !important;
        border-right: none !important;
        box-sizing: border-box !important;
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    }

    .io-spec-item, .dh-spec-item {
        display: flex !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        gap: 12px !important;
        flex: 1 1 0 !important;
        padding: 0 14px !important;
        box-sizing: border-box !important;
    }

    .io-spec-item:first-child, .dh-spec-item:first-child {
        padding-left: 0 !important;
    }

    .io-spec-item:not(:first-child), .dh-spec-item:not(:first-child) {
        border-left: 1px solid #e2e8f0 !important;
    }

    .io-spec-icon, .dh-spec-icon {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: #0E355A !important;
        flex-shrink: 0 !important;
        margin-top: 2px !important;
    }

    .io-spec-icon svg, .dh-spec-icon svg {
        fill: #0E355A !important;
        width: 17px !important;
        height: 17px !important;
    }

    .io-spec-icon.io-spec-dollar, .io-spec-icon.dh-spec-dollar, .dh-spec-icon.io-spec-dollar, .dh-spec-icon.dh-spec-dollar {
        font-size: 15px !important;
        font-weight: 700 !important;
        color: #0E355A !important;
        margin-top: 2px !important;
    }

    .io-spec-text, .dh-spec-text {
        display: flex !important;
        flex-direction: column !important;
        text-align: left !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .io-spec-label, .dh-spec-label {
        font-size: 10.5px !important;
        font-weight: 700 !important;
        color: #0E355A !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        line-height: 1.2 !important;
        margin-bottom: 6px !important;
        white-space: nowrap !important;
    }

    .io-spec-value, .dh-spec-value {
        font-size: 13.5px !important;
        font-weight: 600 !important;
        color: #0E355A !important;
        text-transform: uppercase !important;
        letter-spacing: 0.2px !important;
        white-space: nowrap !important;
    }

    .dh-val-setup, .io-val-setup {
        font-size: 15px !important;
        font-weight: 700 !important;
        color: #0E355A !important;
        margin-top: 2px !important;
    }

    /* All Options Displayed (Pills / Buttons) */
    .io-spec-pills, .dh-spec-pills {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .io-spec-pill, .dh-spec-pill {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 5px 11px !important;
        font-family: inherit !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.4px !important;
        color: #334155 !important;
        background: #f8fafc !important;
        border: 1.5px solid #cbd5e1 !important;
        border-radius: 4px !important;
        cursor: pointer !important;
        line-height: 1.25 !important;
        transition: all 0.2s ease !important;
        outline: none !important;
        box-sizing: border-box !important;
        user-select: none !important;
        box-shadow: none !important;
    }

    .io-spec-pill:hover, .dh-spec-pill:hover {
        border-color: #0E355A !important;
        background: #eef4fb !important;
        color: #0E355A !important;
    }

    .io-spec-pill.active, .dh-spec-pill.active {
        background: #0E355A !important;
        background-color: #0E355A !important;
        border-color: #0E355A !important;
        color: #ffffff !important;
        font-weight: 700 !important;
        box-shadow: 0 2px 4px rgba(14, 53, 90, 0.2) !important;
    }

    select.io-spec-select, select.dh-spec-select {
        font-size: 12px !important;
        font-weight: 600 !important;
        color: #1e293b !important;
        border: 1px solid #cbd5e1 !important;
        border-radius: 4px !important;
        padding: 3px 6px !important;
        background-color: #f8fafc !important;
        outline: none !important;
        max-width: 100% !important;
    }

    /* ══════════════════════════════════════════════════════════════
       GLOBAL HEADER & NAVIGATION STACKING (MENU ALWAYS ON TOP)
       ══════════════════════════════════════════════════════════════ */
    header#masthead,
    header.site-header,
    .site-header,
    .elementor-hf,
    header#masthead .elementor-5018,
    div[data-elementor-type="wp-post"].elementor-5018 {
        position: relative !important;
        z-index: 99999 !important;
        overflow: visible !important;
    }

    header#masthead .elementor,
    .elementor-5018,
    .elementor-element-759fca5,
    .elementor-element-7bc9f59,
    .elementor-element-7d6e7d3,
    .elementor-element-9feee8e,
    .elementor-element-46fdf01 {
        overflow: visible !important;
    }

    #primary,
    .site-main,
    .woocommerce-breadcrumb,
    .single-product .product,
    .single-product .elementor-2987 {
        position: relative;
        z-index: 1;
    }

    /* ══════════════════════════════════════════════════════════════
       HEADER ACTIONS: WISH LIST & CART (MATCHING USER SCREENSHOT)
       ══════════════════════════════════════════════════════════════ */
    .io-header-actions-wrap, .dh-header-actions-wrap {
        display: inline-flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 12px !important;
        white-space: nowrap !important;
        width: auto !important;
        min-width: max-content !important;
        vertical-align: middle !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .io-header-btn, .dh-header-btn {
        display: inline-flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        background: #ffffff !important;
        border: 1px solid #dcdfe4 !important;
        border-radius: 0px !important;
        padding: 7px 16px !important;
        height: 40px !important;
        min-height: 40px !important;
        width: auto !important;
        min-width: max-content !important;
        box-sizing: border-box !important;
        text-decoration: none !important;
        transition: all 0.2s ease !important;
        cursor: pointer !important;
        position: relative !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        color: #0E355A !important;
    }

    .io-header-btn:hover, .dh-header-btn:hover {
        border-color: #0E355A !important;
        background: #f8fafc !important;
        box-shadow: 0 2px 8px rgba(14, 53, 90, 0.08) !important;
    }

    .io-header-btn-text, .dh-header-btn-text {
        font-family: inherit !important;
        font-size: 14.5px !important;
        font-weight: 500 !important;
        letter-spacing: 0.5px !important;
        color: #0E355A !important;
        text-transform: uppercase !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        margin: 0 !important;
    }

    .io-btn-icon-count, .dh-btn-icon-count {
        display: inline-flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 6px !important;
        white-space: nowrap !important;
        line-height: 1 !important;
    }

    .io-header-btn svg, .dh-header-btn svg {
        display: inline-block !important;
        vertical-align: middle !important;
        fill: #0E355A !important;
        width: 16px !important;
        height: 16px !important;
        flex-shrink: 0 !important;
        transition: transform 0.2s ease, fill 0.2s ease !important;
    }

    .io-header-btn:hover svg, .dh-header-btn:hover svg {
        transform: scale(1.12) !important;
        fill: #F26522 !important;
    }

    .io-header-count, .dh-header-count {
        position: static !important;
        top: auto !important;
        right: auto !important;
        display: inline-block !important;
        background: transparent !important;
        box-shadow: none !important;
        padding: 0 !important;
        min-width: auto !important;
        height: auto !important;
        border-radius: 0 !important;
        font-family: inherit !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        color: #0E355A !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        transition: color 0.2s ease !important;
    }

    .io-header-count.io-has-items, .io-header-count.dh-has-items,
    .dh-header-count.io-has-items, .dh-header-count.dh-has-items,
    .io-header-btn:hover .io-header-count, .dh-header-btn:hover .dh-header-count,
    .io-header-btn:hover .dh-header-count, .dh-header-btn:hover .io-header-count {
        color: #F26522 !important;
    }

    @keyframes dhBadgePulse {
        0% { transform: scale(1); }
        50% { transform: scale(1.3) ; }
        100% { transform: scale(1); }
    }
    .io-badge-pulse, .dh-badge-pulse {
        animation: dhBadgePulse 0.4s ease-in-out !important;
    }

    /* ══════════════════════════════════════════════════════════════
       WISHLIST SLIDE-IN DRAWER
       ══════════════════════════════════════════════════════════════ */
    .io-drawer-backdrop, .dh-drawer-backdrop {
        position: fixed !important;
        pointer-events: none !important;
        inset: 0 !important;
        background: rgba(14, 53, 90, 0.5) !important;
        backdrop-filter: blur(3px) !important;
        z-index: 999999 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transition: all 0.3s ease !important;
    }

    .io-drawer-backdrop.io-drawer-open, .io-drawer-backdrop.dh-drawer-open, .dh-drawer-backdrop.io-drawer-open, .dh-drawer-backdrop.dh-drawer-open {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    .io-wishlist-drawer, .dh-wishlist-drawer {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 380px !important;
        max-width: 90vw !important;
        background: #ffffff !important;
        box-shadow: -5px 0 25px rgba(0, 0, 0, 0.15) !important;
        display: flex !important;
        flex-direction: column !important;
        transform: translateX(100%) !important;
        transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    }

    .io-drawer-backdrop.io-drawer-open .io-wishlist-drawer, .io-drawer-backdrop.dh-drawer-open .io-wishlist-drawer, .dh-drawer-backdrop.io-drawer-open .dh-wishlist-drawer, .dh-drawer-backdrop.dh-drawer-open .dh-wishlist-drawer {
        transform: translateX(0) !important;
    }

    .io-drawer-header, .dh-drawer-header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 18px 22px !important;
        border-bottom: 1px solid #eef2f6 !important;
    }

    .io-drawer-title, .dh-drawer-title {
        font-size: 16.5px !important;
        font-weight: 700 !important;
        color: #0E355A !important;
        display: flex !important;
        align-items: center !important;
    }

    .io-drawer-close, .dh-drawer-close {
        background: transparent !important;
        border: none !important;
        font-size: 26px !important;
        line-height: 1 !important;
        color: #64748b !important;
        cursor: pointer !important;
        padding: 0 4px !important;
    }
    .io-drawer-close:hover, .dh-drawer-close:hover {
        color: #F26522 !important;
    }

    .io-drawer-body, .dh-drawer-body {
        flex: 1 1 auto !important;
        overflow-y: auto !important;
        padding: 20px !important;
    }

    .io-empty-wishlist, .dh-empty-wishlist {
        text-align: center !important;
        padding: 40px 15px !important;
    }
    .io-empty-title, .dh-empty-title {
        font-size: 16px !important;
        font-weight: 700 !important;
        color: #0E355A !important;
        margin: 14px 0 6px 0 !important;
    }
    .io-empty-sub, .dh-empty-sub {
        font-size: 13.5px !important;
        color: #64748b !important;
        margin: 0 !important;
        line-height: 1.5 !important;
    }

    .io-wishlist-list, .dh-wishlist-list {
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 14px !important;
    }

    .io-wl-item, .dh-wl-item {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        padding: 10px !important;
        background: #f8fafc !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 6px !important;
        position: relative !important;
    }

    .io-wl-item-img, .dh-wl-item-img {
        width: 60px !important;
        height: 60px !important;
        flex-shrink: 0 !important;
        border-radius: 4px !important;
        overflow: hidden !important;
        background: #ffffff !important;
        border: 1px solid #eef2f6 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    .io-wl-item-img img, .dh-wl-item-img img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }

    .io-wl-item-details, .dh-wl-item-details {
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }

    .io-wl-item-title, .dh-wl-item-title {
        font-size: 13.5px !important;
        font-weight: 600 !important;
        color: #0E355A !important;
        text-decoration: none !important;
        display: block !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        margin-bottom: 4px !important;
    }
    .io-wl-item-title:hover, .dh-wl-item-title:hover {
        color: #F26522 !important;
    }

    .io-wl-item-price, .dh-wl-item-price {
        font-size: 13px !important;
        font-weight: 700 !important;
        color: #1a202c !important;
        margin-bottom: 6px !important;
    }

    .io-wl-item-view-btn, .dh-wl-item-view-btn {
        font-size: 11.5px !important;
        font-weight: 700 !important;
        color: #ffffff !important;
        background: #0E355A !important;
        padding: 4px 10px !important;
        border-radius: 3px !important;
        text-decoration: none !important;
        display: inline-block !important;
        transition: background 0.2s ease !important;
    }
    .io-wl-item-view-btn:hover, .dh-wl-item-view-btn:hover {
        background: #F26522 !important;
    }

    .io-wl-item-remove, .dh-wl-item-remove {
        background: transparent !important;
        border: none !important;
        color: #94a3b8 !important;
        font-size: 20px !important;
        line-height: 1 !important;
        cursor: pointer !important;
        padding: 4px !important;
        align-self: flex-start !important;
    }
    .io-wl-item-remove:hover, .dh-wl-item-remove:hover {
        color: #ef4444 !important;
    }

    .io-drawer-footer, .dh-drawer-footer {
        padding: 16px 20px !important;
        border-top: 1px solid #eef2f6 !important;
        display: flex !important;
        gap: 10px !important;
    }

    .io-drawer-clear-btn, .dh-drawer-clear-btn {
        flex: 1 !important;
        background: #f1f5f9 !important;
        color: #475569 !important;
        border: 1px solid #cbd5e1 !important;
        padding: 10px 12px !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        border-radius: 4px !important;
        cursor: pointer !important;
    }
    .io-drawer-clear-btn:hover, .dh-drawer-clear-btn:hover {
        background: #e2e8f0 !important;
        color: #0f172a !important;
    }

    .io-drawer-shop-btn, .dh-drawer-shop-btn {
        flex: 1.3 !important;
        background: #0E355A !important;
        color: #ffffff !important;
        padding: 10px 12px !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        text-align: center !important;
        border-radius: 4px !important;
        text-decoration: none !important;
        display: inline-block !important;
    }
    .io-drawer-shop-btn:hover, .dh-drawer-shop-btn:hover {
        background: #F26522 !important;
    }

/* ══════════════════════════════════════════════════════════════════
   COMPREHENSIVE ALL-DEVICE RESPONSIVE SUITE (TABLET & MOBILE)
   ══════════════════════════════════════════════════════════════════ */

/* Desktop Defaults for Filters Drawer */
.io-mobile-filter-bar {
    display: none !important;
}
.io-filters-drawer-overlay {
    display: none !important;
}
.io-filters-drawer-header {
    display: none !important;
}
.io-filters-drawer-footer {
    display: none !important;
}
.io-filters-drawer {
    display: block !important;
    position: static !important;
    width: 100% !important;
    height: auto !important;
    background: transparent !important;
    box-shadow: none !important;
}
.io-filters-drawer-body {
    display: block !important;
    overflow: visible !important;
    padding: 0 !important;
}

/* ── TABLET & MOBILE (< 992px) ── */
@media (max-width: 991px) {
    /* Mobile Filter Drawer & Button */
    .io-filters-wrapper {
        padding-left: 14px !important;
        padding-right: 14px !important;
        margin-bottom: 20px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .io-mobile-filter-bar {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: 100% !important;
        margin: 0 0 16px 0 !important;
    }
    .io-mobile-filter-btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;
        width: 100% !important;
        padding: 12px 18px !important;
        background: #ffffff !important;
        border: 1.5px solid #0B2545 !important;
        border-radius: 6px !important;
        color: #0B2545 !important;
        font-size: 13.5px !important;
        font-weight: 700 !important;
        letter-spacing: 0.5px !important;
        text-transform: uppercase !important;
        cursor: pointer !important;
        box-shadow: 0 2px 8px rgba(11, 37, 69, 0.08) !important;
        transition: all 0.2s ease !important;
    }
    .io-mobile-filter-btn:hover,
    .io-mobile-filter-btn:active {
        background: #0B2545 !important;
        color: #ffffff !important;
    }
    .io-mobile-filter-btn:hover svg,
    .io-mobile-filter-btn:active svg {
        stroke: #ffffff !important;
    }
    .io-mobile-filter-btn svg {
        stroke: #0B2545 !important;
        transition: stroke 0.2s ease !important;
    }
    .io-filter-active-count {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 20px !important;
        height: 20px !important;
        padding: 0 6px !important;
        border-radius: 10px !important;
        background: #F26522 !important;
        color: #ffffff !important;
        font-size: 11px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
    }

    .io-filters-drawer-overlay {
        display: block !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        background: rgba(11, 37, 69, 0.5) !important;
        backdrop-filter: blur(2px) !important;
        -webkit-backdrop-filter: blur(2px) !important;
        z-index: 999998 !important;
        opacity: 0 !important;
        pointer-events: none !important;
        transition: opacity 0.3s ease !important;
    }

    .io-filters-drawer {
        display: flex !important;
        flex-direction: column !important;
        position: fixed !important;
        top: 0 !important;
        left: -100% !important;
        width: 320px !important;
        max-width: 86vw !important;
        height: 100% !important;
        height: 100vh !important;
        height: 100dvh !important;
        background: #ffffff !important;
        z-index: 999999 !important;
        box-shadow: 6px 0 30px rgba(0, 0, 0, 0.25) !important;
        transition: left 0.32s cubic-bezier(0.16, 1, 0.3, 1) !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .io-filters-wrapper.io-drawer-active .io-filters-drawer-overlay {
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    .io-filters-wrapper.io-drawer-active .io-filters-drawer {
        left: 0 !important;
    }

    body.io-filters-drawer-open {
        overflow: hidden !important;
    }

    .io-filters-drawer-header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 16px 20px !important;
        background: #0B2545 !important;
        color: #ffffff !important;
        flex-shrink: 0 !important;
        box-sizing: border-box !important;
    }

    .io-drawer-header-title {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        letter-spacing: 0.5px !important;
        text-transform: uppercase !important;
        color: #ffffff !important;
    }
    .io-drawer-header-title svg {
        stroke: #ffffff !important;
    }

    .io-filters-close-btn {
        background: transparent !important;
        border: none !important;
        color: #ffffff !important;
        font-size: 28px !important;
        line-height: 1 !important;
        cursor: pointer !important;
        padding: 0 !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 32px !important;
        height: 32px !important;
        border-radius: 4px !important;
        transition: background 0.2s ease !important;
    }
    .io-filters-close-btn:hover {
        background: rgba(255, 255, 255, 0.15) !important;
    }

    .io-filters-drawer-body {
        flex: 1 1 auto !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 20px 22px 30px 22px !important;
        box-sizing: border-box !important;
    }

    .io-filters-drawer-body .io-filter-block,
    .io-filters-wrapper .io-filter-block {
        margin-top: 18px !important;
        border-bottom: 1px solid #f1f5f9 !important;
        padding: 0 4px 18px 4px !important;
        box-sizing: border-box !important;
    }

    .io-filters-drawer-body .io-filter-body,
    .io-filters-wrapper .io-filter-body {
        padding: 4px 2px 6px 4px !important;
        box-sizing: border-box !important;
    }

    .io-filters-drawer-body .io-checkbox-item,
    .io-filters-wrapper .io-checkbox-item {
        display: flex !important;
        align-items: center !important;
        font-size: 13px !important;
        color: #334155 !important;
        margin-bottom: 8px !important;
        margin-left: 0 !important;
        padding: 3px 6px 3px 6px !important;
        cursor: pointer !important;
        border-radius: 4px !important;
        box-sizing: border-box !important;
        width: 100% !important;
    }

    .io-filters-drawer-body .io-checkbox-item input[type="checkbox"],
    .io-filters-wrapper .io-checkbox-item input[type="checkbox"],
    input[type="checkbox"].io-filter-cb {
        width: 17px !important;
        height: 17px !important;
        min-width: 17px !important;
        border: 1.5px solid #94a3b8 !important;
        border-radius: 3px !important;
        margin: 0 10px 0 2px !important;
        padding: 0 !important;
        cursor: pointer !important;
        accent-color: #0B2545 !important;
        flex-shrink: 0 !important;
        -webkit-appearance: checkbox !important;
        appearance: checkbox !important;
        box-sizing: border-box !important;
    }

    .io-filters-drawer-footer {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        padding: 14px 18px !important;
        background: #f8fafc !important;
        border-top: 1px solid #e2e8f0 !important;
        flex-shrink: 0 !important;
        box-sizing: border-box !important;
    }

    .io-drawer-footer-reset {
        flex: 1 1 40% !important;
        padding: 11px 14px !important;
        background: #ffffff !important;
        border: 1.5px solid #cbd5e1 !important;
        color: #475569 !important;
        font-size: 12.5px !important;
        font-weight: 700 !important;
        border-radius: 4px !important;
        text-transform: uppercase !important;
        cursor: pointer !important;
        letter-spacing: 0.5px !important;
        transition: all 0.2s ease !important;
    }
    .io-drawer-footer-reset:hover {
        background: #fee2e2 !important;
        border-color: #fca5a5 !important;
        color: #991b1b !important;
    }

    .io-drawer-footer-apply {
        flex: 1 1 60% !important;
        padding: 11px 14px !important;
        background: #F26522 !important;
        border: 1.5px solid #F26522 !important;
        color: #ffffff !important;
        font-size: 12.5px !important;
        font-weight: 700 !important;
        border-radius: 4px !important;
        text-transform: uppercase !important;
        cursor: pointer !important;
        letter-spacing: 0.5px !important;
        box-shadow: 0 2px 6px rgba(242, 101, 34, 0.25) !important;
        transition: all 0.2s ease !important;
    }
    .io-drawer-footer-apply:hover {
        background: #d9531e !important;
        border-color: #d9531e !important;
    }

    /* Shop Catalog Grid */
    .woocommerce ul.products,
    .woocommerce-page ul.products,
    ul.products,
    .jet-woo-products-wrapper .jet-woo-products,
    body.search .page-content {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px 16px !important;
    }

    /* Single Product Action Row */
    .elementor-element-3a9e8ac,
    body.single-product .elementor-element.elementor-element-3a9e8ac {
        justify-content: center !important;
        text-align: center !important;
        padding: 16px 20px !important;
    }
}

/* ── MOBILE SCREENS (<= 768px) ── */
@media (max-width: 768px) {
    /* Prevent Body & Product Content From Expanding Beyond Viewport (Header Excluded) */
    .single-product #primary,
    .single-product .site-main,
    .single-product .content-area,
    .single-product #primary .elementor,
    .single-product .elementor-2987 {
        max-width: 100vw !important;
        overflow-x: hidden !important;
    }

    /* Mobile Header & HFE Navigation: Maximum Stacking Priority Above Body */
    header#masthead,
    header.site-header,
    .site-header,
    .elementor-hf,
    div[data-elementor-type="wp-post"].elementor-5018,
    .elementor-5018,
    .elementor-element-759fca5,
    .elementor-element-7bc9f59,
    .elementor-element-7d6e7d3,
    .elementor-element-9feee8e,
    .elementor-element-46fdf01 {
        position: relative !important;
        z-index: 999999 !important;
        overflow: visible !important;
    }

    /* Mobile Dropdown Menu Active Overlay: Highest z-index */
    .elementor-element-9feee8e .hfe-nav-menu__layout-horizontal,
    .elementor-element-9feee8e .hfe-nav-menu__layout-horizontal.menu-is-active,
    .elementor-element-9feee8e nav.hfe-nav-menu__layout-horizontal,
    .elementor-element-9feee8e nav.hfe-nav-menu__layout-horizontal.menu-is-active,
    .elementor-element-46fdf01 .hfe-nav-menu__layout-horizontal,
    .elementor-element-46fdf01 .hfe-nav-menu__layout-horizontal.menu-is-active,
    .hfe-nav-menu__layout-horizontal.menu-is-active,
    .hfe-nav-menu.menu-is-active,
    nav.hfe-nav-menu__layout-horizontal.menu-is-active,
    nav.hfe-dropdown.menu-is-active,
    nav.hfe-dropdown-expandible.menu-is-active,
    .hfe-dropdown.menu-is-active,
    .hfe-nav-menu-layout.menu-is-active {
        position: absolute !important;
        z-index: 9999999 !important;
        background: #ffffff !important;
        box-shadow: 0 14px 35px rgba(0, 0, 0, 0.22) !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    /* Keep all page gallery & breadcrumb content strictly below the header dropdown */
    .single-product #primary,
    .single-product .site-main,
    .single-product .woocommerce-breadcrumb,
    .single-product .product,
    .single-product .elementor-2987,
    .single-product .elementor-section,
    .single-product .jet-woo-swiper,
    .single-product .jet-woo-product-gallery,
    .single-product .swiper-container {
        position: relative !important;
        z-index: 1 !important;
    }

    /* Single Product Title - Reduced & Proportional on Mobile */
    .single-product h1.product_title,
    .single-product h1.product_title.entry-title,
    .elementor-jet-single-title h1.product_title,
    .elementor-widget-jet-single-title h1.product_title,
    .elementor-element-d438909 h1.product_title {
        font-size: 20px !important;
        line-height: 1.3 !important;
        font-weight: 700 !important;
        margin-top: 0 !important;
        margin-bottom: 8px !important;
        letter-spacing: -0.2px !important;
    }

    /* Single Product Title & Price Header Row Alignment (Mobile) */
    .single-product .elementor-element.elementor-element-31a7b18,
    .single-product .elementor-element.elementor-element-31a7b18 > .e-con-inner {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        gap: 6px !important;
        width: 100% !important;
        height: auto !important;
        min-height: auto !important;
    }

    .single-product .elementor-element.elementor-element-054df6f {
        width: 100% !important;
        height: auto !important;
        align-self: flex-start !important;
    }

    .single-product .elementor-element.elementor-element-0acd8b5 {
        width: auto !important;
        height: auto !important;
        min-height: auto !important;
        align-self: flex-start !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }

    .single-product .elementor-element.elementor-element-7a3a766,
    .single-product .elementor-widget-jet-single-price {
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
        display: inline-flex !important;
    }

    /* Single Clean Compact Navy Pill (Mobile) */
    .single-product .elementor-element.elementor-element-7a3a766 > .elementor-widget-container,
    .single-product .elementor-2987 .elementor-element.elementor-element-7a3a766 > .elementor-widget-container {
        background-color: #0E355A !important;
        border-radius: 4px !important;
        padding: 4px 10px !important;
        height: auto !important;
        min-height: auto !important;
        max-height: 28px !important;
        width: auto !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        margin: 2px 0 10px 0 !important;
    }

    .single-product .elementor-element.elementor-element-7a3a766 .elementor-jet-single-price {
        background: transparent !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
        height: auto !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Single Product Price Text & Currency - Proportional Small Size (Mobile) */
    .elementor-jet-single-price .price,
    .elementor-widget-jet-single-price .price,
    .elementor-element.elementor-element-7a3a766 .price,
    .elementor-2987 .elementor-element.elementor-element-7a3a766 .price,
    .elementor-2987 .elementor-element.elementor-element-7a3a766 .jet-woo-builder.elementor-jet-single-price .price,
    .single-product .summary p.price,
    .single-product .product .price {
        font-size: 14px !important;
        line-height: 1.2 !important;
        letter-spacing: 0px !important;
        gap: 4px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .elementor-jet-single-price .price .woocommerce-Price-currencySymbol,
    .elementor-widget-jet-single-price .price .woocommerce-Price-currencySymbol,
    .elementor-element.elementor-element-7a3a766 .price .woocommerce-Price-currencySymbol,
    .elementor-2987 .elementor-element.elementor-element-7a3a766 .jet-woo-builder.elementor-jet-single-price .price .woocommerce-Price-currencySymbol,
    .elementor-2987 .elementor-element.elementor-element-7a3a766 .price .woocommerce-Price-currencySymbol,
    .elementor-jet-single-price .price .amount,
    .elementor-widget-jet-single-price .price .amount,
    .elementor-element.elementor-element-7a3a766 .price .amount,
    .elementor-2987 .elementor-element.elementor-element-7a3a766 .jet-woo-builder.elementor-jet-single-price .price .amount,
    .elementor-2987 .elementor-element.elementor-element-7a3a766 .price .amount,
    .elementor-jet-single-price .price bdi,
    .elementor-widget-jet-single-price .price bdi,
    .elementor-element.elementor-element-7a3a766 .price bdi,
    .elementor-2987 .elementor-element.elementor-element-7a3a766 .jet-woo-builder.elementor-jet-single-price .price bdi,
    .elementor-2987 .elementor-element.elementor-element-7a3a766 .price bdi {
        font-size: 14px !important;
        line-height: 1.2 !important;
    }

    /* 1. SINGLE PRODUCT GALLERY: STACK VERTICALLY & CENTER */
    .jet-woo-swiper.jet-woo-swiper-vertical,
    .jet-woo-swiper-vertical.jet-gallery-swiper-vertical-pos-start {
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: 12px !important;
    }

    .elementor-element .jet-woo-swiper-vertical .jet-gallery-swiper-slider,
    .jet-woo-swiper-vertical .jet-gallery-swiper-slider {
        width: 100% !important;
        max-width: 100% !important;
        order: 1 !important;
        margin: 0 auto 10px auto !important;
    }

    .elementor-element .jet-woo-swiper-vertical .jet-gallery-swiper-thumb,
    .jet-woo-swiper-vertical .jet-gallery-swiper-thumb {
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 auto !important;
        order: 2 !important;
        margin: 0 auto !important;
        padding: 0 !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    .elementor-element .jet-woo-swiper-gallery-thumbs.swiper-container,
    .elementor-element .jet-woo-swiper-gallery-thumbs.swiper-container-vertical,
    .jet-woo-swiper-gallery-thumbs.swiper-container-vertical,
    .jet-woo-swiper-gallery-thumbs.swiper-container {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 84px !important;
        max-height: 96px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 6px 16px 8px 16px !important; /* Safe 16px horizontal breathing room prevents any cutoff */
        scroll-behavior: smooth !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
        box-sizing: border-box !important;
    }

    /* Completely eliminate scrollbar lines under thumbnails */
    .elementor-element .jet-woo-swiper-gallery-thumbs.swiper-container::-webkit-scrollbar,
    .jet-woo-swiper-gallery-thumbs.swiper-container::-webkit-scrollbar,
    .jet-woo-swiper-gallery-thumbs.swiper-container-vertical::-webkit-scrollbar,
    .jet-gallery-swiper-thumb .swiper-scrollbar,
    .jet-woo-swiper-gallery-thumbs .swiper-scrollbar {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }

    .jet-woo-swiper-gallery-thumbs .swiper-wrapper {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important; /* Start from 0: Slide 1 is NEVER pushed into negative space */
        align-items: center !important;
        gap: 10px !important;
        width: max-content !important;
        min-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    .elementor-element .jet-gallery-swiper-thumb .swiper-slide,
    .jet-gallery-swiper-thumb .swiper-slide,
    .jet-woo-swiper-gallery-thumbs .swiper-slide,
    .jet-woo-swiper-control-thumbs__item.swiper-slide,
    .jet-woo-swiper-control-thumbs__item {
        width: 66px !important;
        height: 66px !important;
        max-width: 66px !important;
        max-height: 66px !important;
        flex: 0 0 66px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        border-radius: 6px !important;
        overflow: hidden !important;
        border: 1.5px solid #e2e8f0 !important;
        background: #ffffff !important;
        transition: all 0.2s ease !important;
    }

    .jet-gallery-swiper-thumb .swiper-slide.swiper-slide-thumb-active,
    .jet-woo-swiper-gallery-thumbs .swiper-slide-thumb-active,
    .jet-woo-swiper-control-thumbs__item.swiper-slide-thumb-active {
        opacity: 1 !important;
        border: 1.5px solid #0E355A !important;
        box-shadow: 0 2px 6px rgba(14, 53, 90, 0.2) !important;
    }

    .io-gallery-nav-btn, .dh-gallery-nav-btn {
        display: none !important;
    }

    /* 2. SINGLE PRODUCT: "READY TO CUSTOMIZE?" 100% CLEAN MOBILE STACK */
    .elementor-element-3a9e8ac,
    .elementor-element.elementor-element-3a9e8ac,
    .elementor .elementor-element.elementor-element-3a9e8ac,
    body.single-product .elementor-element.elementor-element-3a9e8ac,
    body.single-product .elementor-element-3a9e8ac {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: center !important;
        text-align: center !important;
        padding: 16px 14px !important;
        gap: 12px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 20px 0 !important;
        box-sizing: border-box !important;
    }

    .elementor-element-3a9e8ac > .elementor-widget-wrap,
    .elementor-element-3a9e8ac > .elementor-container,
    .elementor-element.elementor-element-3a9e8ac > .elementor-widget-wrap,
    .elementor-element.elementor-element-3a9e8ac > .elementor-container {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: center !important;
        gap: 12px !important;
        width: 100% !important;
    }

    .elementor-element-3a9e8ac .elementor-element-9c15d7b,
    .elementor-element-3a9e8ac .elementor-element-9c15d7b h4,
    .elementor-element-3a9e8ac h4.elementor-heading-title {
        text-align: center !important;
        width: 100% !important;
        font-size: 16px !important;
        margin: 0 0 2px 0 !important;
    }

    .elementor-element-3a9e8ac .elementor-element-5b6b9bd,
    .elementor-element-3a9e8ac form.cart {
        width: 100% !important;
        display: flex !important;
        flex-direction: row !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 8px !important;
    }

    .elementor-element-3a9e8ac form.cart .single_variation_wrap,
    .elementor-element-3a9e8ac form.cart .woocommerce-variation-add-to-cart {
        width: 100% !important;
        display: flex !important;
        flex-direction: row !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 8px !important;
    }

    .elementor-element-3a9e8ac form.cart div.quantity {
        flex: 0 0 auto !important;
    }

    .elementor-element-3a9e8ac form.cart .quantity input.qty {
        width: 50px !important;
        height: 42px !important;
    }

    .elementor-element-3a9e8ac form.cart .single_add_to_cart_button,
    .elementor-element-3a9e8ac form.cart button.single_add_to_cart_button,
    .single-product form.cart .single_add_to_cart_button {
        flex: 1 1 auto !important;
        width: auto !important;
        padding: 10px 16px !important;
        font-size: 12.5px !important;
    }

    .elementor-element-3a9e8ac .elementor-element-818e5ca,
    .elementor-element-3a9e8ac .yith-ywraq-add-to-quote,
    .elementor-element-3a9e8ac .yith-ywraq-add-to-quote a.add-request-quote-button,
    .elementor-element-3a9e8ac a.add-request-quote-button.button,
    .single-product a.add-request-quote-button.button {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        text-align: center !important;
        padding: 10px 16px !important;
        font-size: 12.5px !important;
    }

    /* 3. SINGLE PRODUCT SPECS BAR: CLEAN MOBILE ALIGNMENT */
    .io-specs-qty-bar, .dh-specs-qty-bar {
        width: 100% !important;
        max-width: 100% !important;
        justify-content: space-between !important;
        margin: 14px 0 8px 0 !important;
        padding: 8px 12px !important;
    }

    .io-specs-bar, .dh-specs-bar {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
        padding: 4px 0 !important;
        margin: 14px 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        border-top: 1px solid #eef2f6 !important;
        border-bottom: 1px solid #eef2f6 !important;
    }

    .io-spec-item, .dh-spec-item {
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        gap: 12px !important;
        width: 100% !important;
        flex: 1 1 100% !important;
        padding: 10px 0 !important;
        border-left: none !important;
        border-bottom: 1px solid #eef2f6 !important;
        box-sizing: border-box !important;
    }

    .io-spec-item:last-child, .dh-spec-item:last-child {
        border-bottom: none !important;
    }

    .io-spec-icon, .dh-spec-icon {
        flex-shrink: 0 !important;
        width: 22px !important;
        height: 22px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: #0E355A !important;
        margin-top: 2px !important;
    }

    .io-spec-icon svg, .dh-spec-icon svg {
        width: 16px !important;
        height: 16px !important;
        fill: #0E355A !important;
    }

    .io-spec-icon.io-spec-dollar, .io-spec-icon.dh-spec-dollar,
    .dh-spec-icon.io-spec-dollar, .dh-spec-icon.dh-spec-dollar {
        font-size: 15px !important;
        font-weight: 700 !important;
        color: #0E355A !important;
        margin-top: 2px !important;
    }

    .io-spec-text, .dh-spec-text {
        flex: 1 1 auto !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        gap: 4px !important;
        width: 100% !important;
        min-width: 0 !important;
        text-align: left !important;
    }

    .io-spec-item[data-spec="setup"] .io-spec-text,
    .io-spec-item[data-spec="setup"] .dh-spec-text {
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
    }

    .io-spec-label, .dh-spec-label {
        font-size: 11px !important;
        font-weight: 700 !important;
        color: #0E355A !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        margin: 0 !important;
        white-space: nowrap !important;
        text-align: left !important;
        flex-shrink: 0 !important;
    }

    .io-spec-pills, .dh-spec-pills {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
        width: 100% !important;
        margin-top: 4px !important;
        padding: 0 !important;
    }

    .io-spec-pill, .dh-spec-pill {
        font-size: 10.5px !important;
        padding: 5px 9px !important;
    }

    .io-spec-value, .dh-spec-value {
        font-size: 13.5px !important;
        font-weight: 700 !important;
        color: #0E355A !important;
        text-align: right !important;
        margin: 0 !important;
        white-space: nowrap !important;
    }

    /* 4. TIERED PRICING TABLE: HORIZONTAL TOUCH SCROLL */
    .io-pricing-table-wrap, .dh-pricing-table-wrap {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 0 4px !important;
        margin: 0 auto 15px auto !important;
    }

    .io-pricing-table, .dh-pricing-table {
        min-width: 460px !important;
        width: 100% !important;
    }

    .io-options-container, .dh-options-container {
        flex-direction: column !important;
        gap: 35px !important;
        padding: 25px 0 0 0 !important;
        width: 100% !important;
    }

    .io-option-box, .dh-option-box {
        width: 100% !important;
    }

    .io-arrow-divider, .dh-arrow-divider {
        display: none !important;
    }

    /* 5. SHOP CARDS ON TOUCH DEVICES: ALWAYS ACCESSIBLE ACTIONS */
    .io-card-buttons-group, .dh-card-buttons-group {
        max-height: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        pointer-events: auto !important;
        margin-top: 6px !important;
        margin-bottom: 8px !important;
    }

    .woocommerce ul.products li.product a.button.add_to_cart_button,
    .woocommerce ul.products li.product .yith-ywraq-add-to-quote,
    .jet-woo-products__item a.button.add_to_cart_button,
    .jet-woo-products__item .yith-ywraq-add-to-quote {
        opacity: 1 !important;
        visibility: visible !important;
        max-height: none !important;
        transform: none !important;
        pointer-events: auto !important;
    }

    .io-product-bottom-bar, .dh-product-bottom-bar {
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        pointer-events: auto !important;
    }
}

/* ── SMALL MOBILE SCREENS (<= 580px) ── */
@media (max-width: 580px) {
    /* Shop Catalog Grid: 1 Column Clean Flow */
    .woocommerce ul.products,
    .woocommerce-page ul.products,
    ul.products,
    .jet-woo-products-wrapper .jet-woo-products,
    body.search .page-content {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        margin: 15px 0 !important;
    }

    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product,
    ul.products li.product,
    .jet-woo-products__item {
        width: 100% !important;
        max-width: 100% !important;
        padding: 20px 14px !important;
    }

    .io-header-actions-wrap, .dh-header-actions-wrap {
        gap: 6px !important;
    }

    .io-header-btn, .dh-header-btn {
        padding: 6px 10px !important;
        height: 36px !important;
        min-height: 36px !important;
    }

    .io-header-btn-text, .dh-header-btn-text {
        font-size: 12px !important;
    }

    /* Single Product Title - Small Screens */
    .single-product h1.product_title,
    .single-product h1.product_title.entry-title,
    .elementor-jet-single-title h1.product_title,
    .elementor-widget-jet-single-title h1.product_title,
    .elementor-element-d438909 h1.product_title {
        font-size: 19px !important;
        line-height: 1.28 !important;
        margin-bottom: 6px !important;
    }

    /* Price Badge Container & Text */
    .single-product .elementor-element.elementor-element-7a3a766 > .elementor-widget-container,
    .single-product .elementor-2987 .elementor-element.elementor-element-7a3a766 > .elementor-widget-container {
        padding: 3px 9px !important;
        height: auto !important;
        min-height: auto !important;
        max-height: 25px !important;
        margin: 2px 0 8px 0 !important;
    }

    .elementor-jet-single-price .price,
    .elementor-widget-jet-single-price .price,
    .elementor-element.elementor-element-7a3a766 .price,
    .elementor-2987 .elementor-element.elementor-element-7a3a766 .price,
    .elementor-2987 .elementor-element.elementor-element-7a3a766 .jet-woo-builder.elementor-jet-single-price .price,
    .single-product .summary p.price,
    .single-product .product .price {
        font-size: 13.5px !important;
        line-height: 1.2 !important;
    }

    .elementor-jet-single-price .price .woocommerce-Price-currencySymbol,
    .elementor-widget-jet-single-price .price .woocommerce-Price-currencySymbol,
    .elementor-element.elementor-element-7a3a766 .price .woocommerce-Price-currencySymbol,
    .elementor-2987 .elementor-element.elementor-element-7a3a766 .jet-woo-builder.elementor-jet-single-price .price .woocommerce-Price-currencySymbol,
    .elementor-2987 .elementor-element.elementor-element-7a3a766 .price .woocommerce-Price-currencySymbol,
    .elementor-jet-single-price .price .amount,
    .elementor-widget-jet-single-price .price .amount,
    .elementor-element.elementor-element-7a3a766 .price .amount,
    .elementor-2987 .elementor-element.elementor-element-7a3a766 .jet-woo-builder.elementor-jet-single-price .price .amount,
    .elementor-2987 .elementor-element.elementor-element-7a3a766 .price .amount,
    .elementor-jet-single-price .price bdi,
    .elementor-widget-jet-single-price .price bdi,
    .elementor-element.elementor-element-7a3a766 .price bdi,
    .elementor-2987 .elementor-element.elementor-element-7a3a766 .jet-woo-builder.elementor-jet-single-price .price bdi,
    .elementor-2987 .elementor-element.elementor-element-7a3a766 .price bdi {
        font-size: 13.5px !important;
        line-height: 1.2 !important;
    }

    /* Quick View Modal */
    .io-qv-modal, .dh-qv-modal {
        flex-direction: column !important;
        max-height: 85vh !important;
        overflow-y: auto !important;
        width: 92% !important;
    }

    .io-qv-image-col, .dh-qv-image-col,
    .io-qv-info-col, .dh-qv-info-col {
        max-width: 100% !important;
        width: 100% !important;
        border-right: none !important;
    }

    /* Wishlist Slide-in Drawer */
    .io-wishlist-drawer, .dh-wishlist-drawer {
        width: 100% !important;
        max-width: 100vw !important;
    }
}

/* ══════════════════════════════════════════════════════════════════
 * 12. ADVANCED HEADER SEARCH BAR WITH DUAL PRICE SLIDER & SUGGESTIONS
 * ══════════════════════════════════════════════════════════════════ */
.io-search-bar-wrap {
    position: relative !important;
    display: inline-block !important;
    width: 100% !important;
    max-width: 480px !important;
    font-family: inherit !important;
    box-sizing: border-box !important;
    vertical-align: middle !important;
}

.io-search-form {
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.io-search-input-group {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    height: 42px !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.io-search-bar-wrap.io-open .io-search-input-group,
.io-search-input-group:focus-within {
    border-color: #0066cc !important;
    box-shadow: 0 0 0 2px rgba(0, 102, 204, 0.15) !important;
}

.io-search-input {
    flex: 1 1 auto !important;
    height: 100% !important;
    border: none !important;
    outline: none !important;
    padding: 8px 14px !important;
    font-size: 14px !important;
    color: #1e293b !important;
    background: transparent !important;
    box-shadow: none !important;
}

.io-search-input::placeholder {
    color: #94a3b8 !important;
    font-size: 14px !important;
}

.io-search-btn {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 100% !important;
    background: transparent !important;
    border: none !important;
    color: #475569 !important;
    cursor: pointer !important;
    padding: 0 !important;
    transition: color 0.2s ease !important;
}

.io-search-btn:hover {
    color: #0066cc !important;
}

/* ── DROPDOWN PANEL ── */
.io-search-dropdown {
    position: absolute !important;
    top: calc(100% + 4px) !important;
    left: 0 !important;
    width: 100% !important;
    min-width: 320px !important;
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 4px !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12) !important;
    z-index: 9999999 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    text-align: left !important;
}

/* Gray Section Headers */
.io-search-section-header {
    background: #e9ecef !important;
    padding: 9px 16px !important;
    border-top: 1px solid #dee2e6 !important;
    border-bottom: 1px solid #dee2e6 !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #212529 !important;
    letter-spacing: 0.2px !important;
    text-transform: capitalize !important;
}

.io-search-dropdown > .io-search-section-header:first-child {
    border-top: none !important;
}

.io-search-criteria-content {
    padding: 14px 18px 18px 18px !important;
    background: #ffffff !important;
}

.io-criteria-desc {
    display: block !important;
    font-size: 13px !important;
    color: #475569 !important;
    margin-bottom: 16px !important;
    font-weight: 400 !important;
}

/* ── DUAL RANGE SLIDER ── */
.io-price-slider-container {
    position: relative !important;
    width: 100% !important;
    padding: 10px 0 16px 0 !important;
}

.io-slider-track {
    position: relative !important;
    width: 100% !important;
    height: 7px !important;
    background: #e2e8f0 !important;
    border-radius: 4px !important;
    user-select: none !important;
    touch-action: none !important;
}

.io-slider-bar {
    position: absolute !important;
    height: 100% !important;
    background: #0066cc !important;
    border-radius: 4px !important;
    left: 0% !important;
    right: 0% !important;
    pointer-events: none !important;
}

.io-slider-handle {
    position: absolute !important;
    top: 50% !important;
    width: 20px !important;
    height: 28px !important;
    transform: translate(-50%, -50%) !important;
    background: #ffffff !important;
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 3px !important;
    cursor: ew-resize !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 10 !important;
    outline: none !important;
    user-select: none !important;
    touch-action: none !important;
    transition: border-color 0.15s, box-shadow 0.15s !important;
}

.io-slider-handle:hover,
.io-slider-handle:focus,
.io-slider-handle.active {
    border-color: #0066cc !important;
    box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.2) !important;
}

.io-handle-lines {
    width: 4px !important;
    height: 12px !important;
    border-left: 1.5px solid #94a3b8 !important;
    border-right: 1.5px solid #94a3b8 !important;
    pointer-events: none !important;
}

/* ── PRICE INPUTS ROW ── */
.io-price-inputs-flex {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin-top: 6px !important;
}

.io-price-input-box {
    display: inline-flex !important;
    align-items: center !important;
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 2px !important;
    padding: 4px 8px !important;
    width: 120px !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s ease !important;
}

.io-price-input-box:focus-within {
    border-color: #0066cc !important;
}

.io-price-currency {
    font-size: 13.5px !important;
    color: #475569 !important;
    margin-right: 4px !important;
    font-weight: 500 !important;
    user-select: none !important;
}

.io-price-field {
    width: 100% !important;
    border: none !important;
    outline: none !important;
    background: transparent !important;
    font-size: 13.5px !important;
    color: #1e293b !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    text-align: left !important;
}

/* ── PRODUCT SUGGESTIONS LIST ── */
.io-suggestions-wrapper {
    background: #ffffff !important;
}

.io-suggestions-list {
    padding: 0 !important;
    margin: 0 !important;
    max-height: 320px !important;
    overflow-y: auto !important;
}

.io-suggestion-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 10px 16px !important;
    border-bottom: 1px solid #f1f5f9 !important;
    text-decoration: none !important;
    transition: background 0.15s ease !important;
    color: inherit !important;
    cursor: pointer !important;
}

.io-suggestion-item:last-child {
    border-bottom: none !important;
}

.io-suggestion-item:hover {
    background: #f8fafc !important;
}

.io-suggestion-thumb {
    width: 48px !important;
    height: 48px !important;
    flex-shrink: 0 !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 3px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.io-suggestion-thumb img {
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    display: block !important;
}

.io-suggestion-details {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.io-suggestion-title {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    line-height: 1.3 !important;
    margin-bottom: 3px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.io-suggestion-item:hover .io-suggestion-title {
    color: #0066cc !important;
}

.io-suggestion-sku {
    font-size: 11.5px !important;
    color: #64748b !important;
    margin: 0 !important;
}

.io-suggestion-price {
    flex-shrink: 0 !important;
    font-size: 13px !important;
    color: #1e293b !important;
    text-align: right !important;
    white-space: nowrap !important;
}

.io-suggestion-price .io-price-from {
    color: #64748b !important;
    font-size: 12px !important;
    margin-right: 2px !important;
}

.io-suggestion-price strong {
    font-weight: 700 !important;
    color: #0f172a !important;
}

/* Empty or Loading State */
.io-suggestions-empty,
.io-suggestions-loading {
    padding: 16px !important;
    text-align: center !important;
    font-size: 13px !important;
    color: #64748b !important;
}

/* Footer: Full Search Button */
.io-suggestions-footer {
    padding: 10px 16px 14px 16px !important;
    text-align: center !important;
    background: #ffffff !important;
    border-top: 1px solid #f1f5f9 !important;
}

.io-full-search-button {
    display: inline-block !important;
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    color: #334155 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 6px 20px !important;
    border-radius: 3px !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
}

.io-full-search-button:hover {
    background: #f1f5f9 !important;
    border-color: #94a3b8 !important;
    color: #0f172a !important;
}

/* ── MAIN HEADER NAVIGATION MENU ICONS (REFERENCE SITE STYLE) ── */
.elementor-5018 .elementor-element.elementor-element-46fdf01 .menu-item a.hfe-menu-item > i,
.elementor-5018 .elementor-element.elementor-element-46fdf01 a.hfe-menu-item > i,
a.hfe-menu-item > i,
a.hfe-menu-item > svg,
.hfe-nav-menu .menu-item a > i,
.elementor-nav-menu .menu-item a > i,
.site-header .menu-item a > i {
    margin-right: 8px !important;
    font-size: 14px !important;
    vertical-align: -1px !important;
    display: inline-block !important;
}

/* ── SHOP SIDEBAR: ONLY MAIN CATEGORIES DISPLAYED (HIDE SUBCATEGORIES) ── */
.io-sub-category-list,
.io-category-box .io-sub-category-list,
.widget_product_categories ul.children,
.product-categories ul.children,
ul.product-categories ul.children,
.sidebar .widget_product_categories ul.children {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}
