.ratting-start{margin:0;padding:0}
        .ratting-start li{cursor:pointer;list-style-type:none;display:inline-block;color:#ddd;text-shadow:none;font-size:22px;line-height:1;margin:0 1px}
        .ratting-start .highlight,.ratting-start .selected{color:#de7921;text-shadow:none}
        .ratting-start.ratting-start-sm li{font-size:14px}
        /* Amazon-style fractional star: fill only --kti-star-fill of the glyph */
        .ratting-start li.kti-star-partial{
            background-image:linear-gradient(90deg,#de7921 var(--kti-star-fill,50%),#ddd var(--kti-star-fill,50%));
            -webkit-background-clip:text;
            background-clip:text;
            color:transparent!important;
            -webkit-text-fill-color:transparent;
        }
        html{scroll-behavior:smooth}
        .price_excl_details,.price_incl_details,.price_label{font-size:16px}
        .price_excl_price_label{font-size:20px}
        /* Product price card — visual only; text stays in HTML for SEO */
        .kti-product-price-box{
            margin:14px 0 8px;padding:14px 16px;
            border:1px solid #e5e7eb;border-radius:8px;background:#fafbfc;
            max-width:420px;
        }
        .kti-product-price-box .kti-price-row{
            display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;
        }
        .kti-product-price-box .price_label{
            font-size:13px;font-weight:700;color:#565959;text-transform:uppercase;
            letter-spacing:.04em;margin:0;flex:0 0 auto;
        }
        .kti-product-price-box .price_excl_details{
            margin:0!important;flex:1 1 auto;line-height:1.35;
        }
        .kti-product-price-box .price_excl_price_label{
            font-size:26px;font-weight:700;color:#0f7a3a!important;letter-spacing:-.02em;
        }
        .kti-product-price-box .kti-price-gst{
            font-size:13px;color:#565959;font-weight:500;
        }
        .kti-product-price-box .price_incl_details{
            margin:8px 0 0!important;padding-top:8px;border-top:1px solid #e8eaed;
            font-size:13px;color:#565959;line-height:1.4;
        }
        .kti-product-price-box .price_incl_price_label{font-weight:600;color:#0f1111}
        .kti-product-price-box .clearance-top-row{margin-bottom:4px}
        .kti-product-price-ask{
            margin:14px 0 8px;padding:12px 16px;
            border:1px solid #e5e7eb;border-radius:8px;background:#fafbfc;
            max-width:420px;font-size:15px;font-weight:600;
        }
        .kti-product-price-ask a{color:#2162a1;text-decoration:none}
        .kti-product-price-ask a:hover{color:#c45500;text-decoration:underline}
        .nav-item .nav-link{color:#000}
        .topbar_menu{background:#fff!important;box-shadow:rgba(0,0,0,.1) 0 14px 44px!important}
        .product_sub_images img{width:100%!important;height:auto!important;max-width:100%;object-fit:contain;margin-bottom:15px!important;cursor:pointer}

        /* Amazon-style customer reviews — keep container centered (auto L/R margins) */
        .kti-amz-reviews{margin:20px auto 24px;padding-top:8px;border-top:1px solid #e7e7e7;scroll-margin-top:160px;position:relative;z-index:6}
        .kti-amz-reviews-title{font-size:24px;font-weight:700;color:#0f1111;margin:0 0 16px}
        .kti-amz-avg-num{font-size:28px;font-weight:700;color:#0f1111;line-height:1.2}
        .kti-amz-avg-meta{color:#565959;font-size:14px;margin-top:4px}
        .kti-amz-hist-row{display:flex;align-items:center;gap:8px;margin:6px 0;text-decoration:none;color:inherit}
        .kti-amz-hist-label{min-width:48px;font-size:13px;color:#2162a1}
        .kti-amz-hist-bar{flex:1;height:20px;background:#f0f2f2;border:1px solid #e3e6e6;border-radius:4px;overflow:hidden}
        .kti-amz-hist-fill{height:100%;background:#de7921}
        .kti-amz-hist-pct{min-width:36px;font-size:13px;color:#0f1111;text-align:right}
        .kti-amz-help-link{display:inline-block;margin-top:10px;font-size:13px;color:#2162a1;text-decoration:none}
        .kti-amz-help-link:hover{color:#c45500;text-decoration:underline}
        .kti-amz-write-box{margin-top:22px;padding-top:18px;border-top:1px solid #e7e7e7}
        .kti-amz-write-box h3{font-size:18px;font-weight:700;margin:0 0 6px;color:#0f1111}
        .kti-amz-write-box p{font-size:14px;color:#0f1111;margin:0 0 12px}
        .kti-amz-write-btn{
            display:inline-block;width:100%;max-width:280px;text-align:center;
            padding:8px 12px;border:1px solid #d5d9d9;border-radius:20px;
            background:linear-gradient(to bottom,#f7f8fa,#e7e9ec);color:#0f1111;
            font-size:13px;font-weight:500;text-decoration:none;cursor:pointer;
        }
        .kti-amz-write-btn:hover{background:linear-gradient(to bottom,#e7e9ec,#d9dce1);color:#0f1111;text-decoration:none}
        .kti-amz-form-wrap{display:none;margin-bottom:20px;padding:18px 22px;border:1px solid #d5d9d9;border-radius:8px;background:#fff}
        .kti-amz-form-wrap.is-open{display:block}
        .kti-amz-form-wrap .form-group{margin-bottom:12px}
        .kti-amz-form-wrap label{font-size:15px;font-weight:700;color:#0f1111;margin-bottom:6px;display:block}
        .kti-amz-form-wrap .form-control{border:1px solid #888c8c;border-radius:4px;font-size:14px}
        .kti-amz-form-wrap .ratting-start{padding:0;margin:6px 0 0}
        .kti-amz-form-wrap .ratting-start li{font-size:36px;margin:0 3px;transition:color .15s,transform .15s}
        .kti-amz-form-wrap .ratting-start li:hover{transform:scale(1.15)}
        @keyframes ktiFadeIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
        .kti-amz-submit-btn{
            display:inline-block;padding:8px 16px;border:1px solid #ffd814;border-radius:20px;
            background:linear-gradient(to bottom,#ffe566,#ffd814);color:#0f1111;
            font-size:13px;font-weight:500;text-decoration:none;cursor:pointer;
        }
        .kti-amz-reviews-main h3{font-size:18px;font-weight:700;color:#0f1111;margin:0 0 18px}
        .kti-amz-review{padding:0 0 18px;margin:0 0 18px;border-bottom:1px solid #e7e7e7}
        .kti-amz-review:last-child{border-bottom:0;margin-bottom:0}
        .kti-amz-review-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
        .kti-amz-avatar{
            width:34px;height:34px;border-radius:50%;background:#d5dbdb;color:#565959;
            display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0;
        }
        .kti-amz-author{font-size:14px;color:#0f1111;font-weight:500}
        .kti-amz-review-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:4px}
        .kti-amz-review-title{font-size:14px;font-weight:700;color:#0f1111;margin:0}
        .kti-amz-review-meta{font-size:12px;color:#565959;margin:2px 0 8px}
        .kti-amz-meta-sep{margin:0 6px;color:#bbb}
        .kti-amz-verified{font-size:12px;font-weight:700;color:#c45500}
        .kti-amz-review-body{font-size:14px;color:#0f1111;line-height:1.5;margin:0}
        .kti-amz-actions{margin-top:12px;display:flex;align-items:center;gap:12px}
        .kti-amz-helpful{
            display:inline-block;padding:6px 14px;border:1px solid #d5d9d9;border-radius:20px;
            background:#fff;font-size:13px;color:#0f1111;cursor:default;
        }
        .kti-amz-empty{font-size:14px;color:#565959;padding:8px 0}
        /* Header rating hover popover (Amazon-style) */
        .kti-rating-hover{position:relative;display:inline-block;max-width:100%}
        .kti-rating-hover-trigger{
            display:inline-flex;align-items:center;flex-wrap:wrap;gap:10px;
            cursor:pointer;padding:2px 0;
        }
        .kti-rating-hover-trigger .kti-rating-num{margin:0;font-size:20px;font-weight:700;color:#0f1111;line-height:1.2}
        .kti-rating-hover-trigger .kti-rating-count{margin:0;font-size:16px;font-weight:500;color:#2162a1;text-decoration:none}
        .kti-rating-hover-trigger:hover .kti-rating-count{color:#c45500;text-decoration:underline}
        .kti-rating-hover-trigger .ratting-start li{cursor:pointer;font-size:24px}
        .kti-rating-popover{
            display:none;position:absolute;left:0;top:calc(100% + 8px);z-index:1200;
            width:320px;max-width:92vw;padding:14px 16px 12px;
            background:#fff;border:1px solid #d5d9d9;border-radius:8px;
            box-shadow:0 4px 14px rgba(15,17,17,.18);
        }
        .kti-rating-popover:before{
            content:"";position:absolute;left:28px;top:-7px;width:12px;height:12px;
            background:#fff;border-left:1px solid #d5d9d9;border-top:1px solid #d5d9d9;
            transform:rotate(45deg);
        }
        .kti-rating-hover:hover .kti-rating-popover,
        .kti-rating-hover:focus-within .kti-rating-popover{display:block}
        .kti-rating-popover-title{font-size:14px;font-weight:700;color:#0f1111;margin:0 0 8px}
        .kti-rating-popover-avg{font-size:16px;font-weight:700;color:#0f1111;margin:0}
        .kti-rating-popover-meta{font-size:13px;color:#565959;margin:4px 0 10px}
        .kti-rating-popover .kti-amz-hist-bar{height:18px}
        .kti-rating-popover-link{
            display:inline-block;margin-top:10px;padding-top:10px;border-top:1px solid #e7e7e7;
            font-size:13px;color:#2162a1;text-decoration:none;width:100%;
        }
        .kti-rating-popover-link:hover{color:#c45500;text-decoration:underline}
        @media (max-width:767px){
            .kti-amz-reviews-title{font-size:20px}
            .kti-amz-write-btn{max-width:100%}
            .kti-rating-popover{width:280px}
        }
.visually-hidden,.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.product-cta-row{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:nowrap;
}
.product-moq-note{
    display:block;
    width:100%;
    margin:6px 0 0;
    line-height:1.3;
}
.product-cta-row form{margin:0}
.product-cta-row > *{flex:0 0 auto}
.product-cta-row .theme_btn{display:inline-flex !important;width:auto !important}
.product-cta-btn{
    min-height:44px;
    padding:0 16px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    font-size:14px;
    font-weight:600;
    line-height:1;
    white-space:nowrap;
}
input.product-cta-btn{appearance:none;-webkit-appearance:none}
.product-cta-btn:focus-visible{
    outline:2px solid #0d6efd;
    outline-offset:2px;
}
@media (max-width: 420px){
    .product-cta-row{
        flex-wrap:wrap;
    }
    .product-cta-row .product-cta-btn{
        width:auto;
    }
}
.quantity-selector {
        display: flex !important;
        align-items: center !important;
    }
    .quantity-input {
        width: 60px !important;
        text-align: center !important;
        border-radius: .25rem !important;
        border: 1px solid #ced4da !important;
        margin: 0 5px !important;
    }
    .quantity-button {
        border-radius: .25rem !important;
    }
    /* Main product qty (override global #quantity_value ~25px so 3-4 digits are visible) */
    .quantity_btn {
        display: inline-flex !important;
        align-items: center !important;
        vertical-align: middle;
        /* Single outline: global css/style.css also borders .quantity_btn — remove outer so inner > div is the only box */
        border: none !important;
        padding: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }
    .quantity_btn .operations {
        min-width: 34px;
        min-height: 36px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 1.25rem;
        line-height: 1;
        border: none !important;
        background: transparent;
        cursor: pointer;
        padding: 0 4px;
        color: inherit;
    }
    .quantity_btn .operations:focus-visible {
        outline: 2px solid #0d6efd;
        outline-offset: 2px;
    }
    .quantity_btn > div {
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        height: 40px;
        padding: 0 4px;
        border: 2px solid #0d6efd;
        border-radius: 14px;
    }
    .quantity_btn #quantity_value {
        display: inline-block !important;
        border: none !important;
        box-sizing: border-box !important;
        text-align: center !important;
        /* Keep the qty textbox compact even for 3 digits (prevents control stretching) */
        width: 36px !important;
        min-width: 36px !important;
        max-width: 36px !important;
        padding: 0 !important;
        font-size: 14px;
        font-variant-numeric: tabular-nums;
        flex: 0 0 auto;
    }

    /* Dispatch highlight under CTA (dynamic text; never truncate) */
    .product-dispatch-notice {
        margin-top: 10px;
        margin-bottom: 24px;
        padding: 10px 12px;
        border: 1px solid #dbe3ee;
        border-left: 4px solid #0d6efd;
        background: #f7fbff;
        border-radius: 12px;
        color: #1f2d3d;
        font-size: 14px;
        line-height: 1.35;
        word-break: break-word;
        overflow: visible;
        white-space: normal;
    }
    .product-dispatch-notice #readystock,
    .product-dispatch-notice #readystock_login {
        display: block;
        font-weight: 700;
        margin-bottom: 4px;
        color: #0f5132; /* green */
    }
    .product-dispatch-notice #usuallydispatch,
    .product-dispatch-notice #usuallydispatch_login {
        display: block;
        font-weight: 600;
        color: #0b5ed7; /* blue */
    }
    .product-dispatch-notice .product-order-within-wrap {
        display: none;
        font-weight: 600;
        color: #007185;
        margin-bottom: 6px;
    }
 
.card-related-products {
    border: 1px solid #e0e0e0 !important;
    border-radius: 5px !important;
    overflow: hidden !important;
    /*transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;*/
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    height: 550px !important;
}

.img {
    width: 100% !important;
    height: 250px !important;
    object-fit: cover !important;
    transition: transform 0.3s ease-in-out !important;
    transform: scale(1) !important; /* Initial scale */
}
.card-related-products:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15) !important;
}
.price_excl_details, .price_incl_details {
    margin-top: 0px !important;
    margin-bottom: 8px !important;
}

.price_label {
    font-weight: bold !important;
}

.price_excl_price_label {
    color: #0f7a3a !important;
}

.clearance-top-row {
    display: block;
    margin-bottom: 6px;
    line-height: 1.3;
}

.clearance-original-price {
    display: inline;
    text-decoration: line-through;
    color: #6c757d;
    font-size: 1.2rem;
    font-weight: 500;
}

.clearance-off-badge {
    display: inline-block;
    vertical-align: middle;
    background: #eb373f;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 4px;
    margin-left: 6px;
    letter-spacing: 0.3px;
}

.card-related-products .card-body {
    padding: 15px !important;
}
.card-related-products:hover .img {
    transform: scale(1.05) !important;
    /*transition: transform 0.3s ease-in-out;*/
}

/* Related Products: show_photos() uses img.photo.photowithmargin — beat .card .photowithmargin from optimized_header (fixed 100%/200px !important) */
.card-related-products .rp-img-wrap img.photo,
.card-related-products .rp-img-wrap img.photowithmargin {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
}

/* Stronger red for text/UI contrast (WCAG) on product page */
.product_details .theme_btn,
.product_details .btn-danger { --bs-btn-bg: #c62828; }
.product_details .theme_btn { background-color: #c62828 !important; border-color: #c62828 !important; color: #fff !important; }

/* Main product image: centered + max dimensions use the same --kti-main-pad on all four sides (matches flexbox centering, avoids one-sided “empty” with absolute top/left/right/bottom + 100% height) */
#product-detail-row #kti-product-viewer {
    position: relative;
    width: 100%;
    max-width: 100%;
}
#product-detail-row #full_image {
    --kti-main-pad: 0.7rem;
    position: relative;
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    aspect-ratio: 280 / 350;
    background: #fff;
    border-radius: 12px;
    border: 1px solid rgb(241, 243, 245);
    box-sizing: border-box;
    overflow: hidden;
}
#product-detail-row #full_image > img,
#product-detail-row #full_image > img.photo,
#product-detail-row #full_image > img.photowithmargin {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    max-width: calc(100% - 2 * var(--kti-main-pad)) !important;
    max-height: calc(100% - 2 * var(--kti-main-pad)) !important;
    width: auto !important;
    height: auto !important;
    /* show_photos() emits width/height=640×800; must not force a mismatched box (breaks hover zoom) */
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center;
    margin: 0 !important;
    vertical-align: top;
    box-sizing: border-box;
    /* keeps bitmap inside the rounded frame; override inline width/height from PHP on small screens if needed */
}
/* Amazon.in-style hover zoom: grid lens on main image + large flyout to the right (JS: fixed position + background-image) */
#product-detail-row {
    --kti-zoom-lens-pct: 0.4;
}
@media (min-width: 992px) {
    #product-detail-row #full_image {
        cursor: crosshair;
    }
}
#product-detail-row #full_image .rect_zoom_box {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    pointer-events: none;
    transform: translate(-50%, -50%);
    box-sizing: border-box;
    opacity: 0;
    border: 1px solid rgba(0, 115, 187, 0.45);
    background-color: rgba(105, 138, 255, 0.18);
    background-image:
        linear-gradient(to right, rgba(255, 255, 255, 0.55) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255, 255, 255, 0.55) 1px, transparent 1px);
    background-size: 10px 10px;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.5) inset;
}
#product-detail-row #full_image .rect_zoom_box_active {
    opacity: 1 !important;
}
#product-detail-row #full_image .rect_zoom_box_deactive {
    opacity: 0 !important;
}
#product-sticky-left .kti-product-main-col,
#product-sticky-left .kti-product-viewer-wrap {
    overflow: visible;
}
@media (min-width: 992px) {
    /* Beat global css/style.css #zoomedImage { width:500px; height:400px } */
    #product-detail-row #zoomedImage {
        position: fixed !important;
        z-index: 9999 !important;
        margin: 0;
        padding: 0;
        pointer-events: none;
        background-color: #fff !important;
        background-repeat: no-repeat;
        overflow: hidden;
        box-sizing: border-box;
        border: 1px solid #d5d9d9;
        border-radius: 4px;
        box-shadow: 0 2px 12px rgba(15, 17, 17, 0.18);
    }
    #product-detail-row #zoomedImage.showZoomedImage {
        display: block !important;
        visibility: visible !important;
        max-width: none !important;
        max-height: none !important;
    }
    #product-detail-row #zoomedImage.hideZoomedImage {
        display: none !important;
        visibility: hidden !important;
        background-image: none !important;
        overflow: hidden !important;
        box-shadow: none !important;
        border: 0 !important;
    }
}

/* Line breaks come from nl2br() / ERP HTML — not pre-line (that doubles spacing with <br> when Read More expands). */
#product-left-col .product_desc {
    white-space: normal;
}
#product-left-col .product_desc br,
#product-left-col .product_spec_content br {
    line-height: inherit;
}
/* Mirror ERP card.php view: keep <ul>/<li> bullets and one item per line (override legacy inline li). */
#product-left-col .product_desc ul,
#product-left-col .product_desc ol,
#product-left-col .product_spec_content ul,
#product-left-col .product_spec_content ol {
    display: block !important;
    margin: 0.25em 0 0.65em !important;
    padding-left: 1.35em !important;
    list-style: disc outside !important;
}
#product-left-col .product_desc li,
#product-left-col .product_spec_content li {
    display: list-item !important;
    list-style: disc outside !important;
    margin: 0 0 0.35em !important;
    padding: 0 !important;
    white-space: normal !important;
}
#product-left-col .product_desc p,
#product-left-col .product_spec_content p {
    display: block !important;
    margin: 0 0 0.65em !important;
}
#product-left-col .product_desc p:last-child,
#product-left-col .product_spec_content p:last-child {
    margin-bottom: 0 !important;
}
#product-left-col .product_spec_block {
    margin-top: 1rem;
}
#product-left-col .product_spec_heading,
#product-left-col .product_highlights_heading {
    font-size: 1.2rem;
    font-weight: 700;
    color: #111827;
    margin: 0 0 0.75rem;
    line-height: 1.3;
    padding-bottom: 0.45rem;
    border-bottom: 2px solid #eb373f;
    display: inline-block;
}
#product-left-col > .kti-product-desc-section {
    margin-top: 1rem;
    padding-top: 1.1rem;
    border-top: 1px solid #e5e7eb;
}
#product-left-col .kti-product-desc-section .product_desc_body {
    font-size: 15px;
    line-height: 1.65;
    color: #374151;
}
@media (min-width: 992px) {
    #product-left-col .product_desc.two-row {
        display: block !important;
        -webkit-line-clamp: unset !important;
        line-clamp: unset !important;
        max-height: none !important;
        overflow: visible !important;
    }
    #product-left-col .read_more {
        display: none;
    }
    #product-left-col .read_more.kti-read-more-on {
        display: block;
    }
}
#product-left-col .product_desc.kti-highlights-clamped {
    display: block !important;
    overflow: hidden !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
    max-height: var(--kti-highlights-max, 0px) !important;
    position: relative;
}
@media (min-width: 992px) {
    .product-sticky-images {
        z-index: 1;
    }
    #product-left-col > .product_info,
    #product-left-col > .kti-product-desc-section {
        position: relative;
        z-index: 2;
        background: #fff;
    }
}
/* Long descriptions + JS sticky gallery: disable scroll anchoring on this row so wheel/trackpad
   isn’t fighting layout shifts when expanding Read More (Chrome scroll anchoring). */
#product-detail-row {
    overflow-anchor: none;
}
@media (min-width: 480px) {
    #product-detail-row #full_image { --kti-main-pad: 0.85rem; }
}
@media (min-width: 768px) {
    #product-detail-row #full_image { --kti-main-pad: 0.9rem; }
    /* Tablet/desktop: larger fixed placeholder */
    #product-detail-row #full_image {
        max-width: min(100%, 520px);
        aspect-ratio: 4 / 3;
    }
}
.a-button-input img {
    height: auto;
    object-fit: contain;
}

/* Amazon-style gallery: vertical thumbnails left, main viewer right. Wider column gutter: g-3 g-md-4 on the row */
#product-sticky-left {
    --kti-thumb-h: 52px;
    --kti-thumb-border: #c5cad1;
    align-items: flex-start;
    row-gap: 0;
}
#product-sticky-left .product_sub_images-container {
    position: relative;
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
    /* Inset so 1px borders on thumbs are not clipped by overflow (was hiding the right edge) */
    padding-left: 1px !important;
    padding-right: 3px !important;
    box-sizing: border-box;
}
@media (max-width: 767.98px) {
    #product-sticky-left .product_sub_images-container {
        max-height: min(52vh, 380px);
        overflow: visible; /* pager handles visibility; avoid scroll clipping borders */
        -webkit-overflow-scrolling: touch;
        padding-right: 5px !important; /* extra breathing room so right border never clips */
    }
}
@media (min-width: 768px) {
    #product-sticky-left .product_sub_images-container {
        overflow: visible;
    }
}
/* Space between each thumb (flex gap; avoids margin:0 !important on img wiping global margin-bottom). */
#product-sticky-left .product_sub_images {
    gap: 0.75rem;
    row-gap: 0.75rem;
}
#product-sticky-left .product_sub_images a {
    display: block;
    width: 100%;
    max-width: 100%;
    line-height: 0;
    margin-bottom: 0;
    border-radius: 6px;
    /* Full box on all four sides (container padding-right stops the right edge from sitting under the next column) */
    border: 1px solid var(--kti-thumb-border);
    background: #fff;
    overflow: hidden;
    box-sizing: border-box;
}
/* Active thumb: draw highlight on the box (not on the <img>) so borders never get clipped on mobile. */
#product-sticky-left .product_sub_images a.kti-thumb-active {
    border-color: #fbb20f;
    box-shadow: inset 0 0 0 1px #fbb20f;
}
/* If thumbs are plain <img>, keep active highlight consistent. */
#product-sticky-left .product_sub_images img.kti-thumb-active {
    border-color: #fbb20f !important;
    box-shadow: inset 0 0 0 1px #fbb20f;
}
/* No display:!important here — it breaks jQuery .hide() and the thumb pager. */
#product-sticky-left .product_sub_images img {
    display: block;
    width: 100% !important;
    height: var(--kti-thumb-h) !important;
    max-width: 100% !important;
    object-fit: contain !important;
    object-position: center;
    /* margin: 0 !important; */
    box-sizing: border-box !important;
    vertical-align: top;
    /* Default border for cases where thumbs are plain <img> (no <a> wrapper). */
    border: 1px solid var(--kti-thumb-border);
    border-radius: 6px;
    outline: none;
}
/* Pager: show_photos(nbbyrow>0) wraps each thumb in <table><tr><td class="photo">… — hide the cell, not only <img>. */
#product-sticky-left .product_sub_images .kti-thumb-pager-hidden {
    display: none !important;
}
#product-sticky-left .product_sub_images table {
    width: 100%;
    border: 0;
    border-collapse: collapse;
    border-spacing: 0;
    margin: 0;
}
#product-sticky-left .product_sub_images td.photo {
    padding: 0;
    border: 0;
    vertical-align: top;
}
#product-sticky-left #prev-photo,
#product-sticky-left #next-photo {
    position: relative;
    z-index: 60;
    /* Keep compact square pager arrows (flex stretch on thumb col was widening these) */
    width: auto;
    max-width: 34px;
    align-self: center;
    flex: 0 0 auto;
    padding: 0.2rem 0.35rem;
    line-height: 1;
    font-size: 0.7rem;
}
#product-sticky-left .kti-product-thumb-col {
    flex: 0 0 25%;
    max-width: 25%;
    min-width: 0;
    padding-left: 0.1rem;
}
@media (max-width: 767.98px) {
    #product-sticky-left .kti-product-thumb-col {
        padding-left: 0 !important;
    }
    /* show_photos() table: .valigntop .center .centpercent — 5px gaps between thumb cells (needs separate + !important vs inline) */
    #product-sticky-left .product_sub_images table.valigntop.centpercent,
    #product-sticky-left .product_sub_images table.valigntop.center.centpercent {
        border-collapse: separate !important;
        border-spacing: 5px !important;
    }
}
#product-sticky-left .kti-product-main-col {
    min-width: 0;
    flex: 0 0 75%;
    max-width: 75%;
}
@media (min-width: 768px) {
    #product-sticky-left {
        --kti-thumb-h: 60px;
    }
}

#product-detail-row .product_images,
#product-detail-row .product_specification {
    padding-top: 12px !important;
    padding-bottom: 8px !important;
}
/* Remove default .product_info top/bottom padding (was 25px 0 10px) — desktop + mobile */
#product-detail-row .product_info,
#product-detail-right-col .product_info,
#product-left-col .product_info {
    padding: 0 !important;
}
#product-sticky-spacer {
    display: none !important;
    height: 0 !important;
}
@media (min-width: 992px) {
    #product-detail-right-col {
        position: sticky;
        top: 96px;
        align-self: flex-start;
        z-index: 1;
    }
}
@media (min-width: 992px) {
    .product_details, .product_details .container { overflow: visible !important; }
    .product-detail-row { display: flex !important; flex-wrap: nowrap !important; align-items: flex-start !important; }
    .product-sticky-images { align-self: flex-start; z-index: 5; overflow: visible !important; position: relative !important; }
    #product-sticky-left {
        overflow: visible !important;
        position: relative !important;
        top: auto !important;
        left: auto !important;
        width: auto !important;
    }
    #product-sticky-left.product-sticky-fixed {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        width: auto !important;
        z-index: 1;
        background: transparent;
    }
}

/* Mobile-only: reduce extra whitespace around SKU + Read More block */
@media (max-width: 767.98px) {
    /* Mobile-only: reduce header offset spacing (global css sets 180px) */
    .gallery_container,
    .product_details {
        padding-top: 130px !important;
    }

    /* Reduce global product section padding on mobile (was 25px 0 in css/style.css) */
    #product-detail-row .product_images,
    #product-detail-row .product_specification {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }

    /* The zoom pane can become a huge blank block on mobile; always hide it. */
    #product-detail-row #zoomedImage {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        box-shadow: none !important;
        background-image: none !important;
    }
    /* Tighten the stacked layout between left (desc) and right (price). */
    #product-detail-right-col {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }
    #product-detail-right-col .product_info {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    #product-left-col .product_info {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    /* Mobile: divider after image, then title + SKU with tighter spacing */
    #product-left-col #product-sticky-left {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }
    #product-left-col .kti-product-title-mobile {
        margin-top: 0;
        padding-top: 0;
        padding-bottom: 4px;
    }
    #product-left-col .kti-mobile-image-divider {
        display: block;
        width: 100%;
        margin: 10px 0 12px;
        border: 0;
        border-top: 1px solid #e5e7eb;
        opacity: 1;
        background: transparent;
        height: 0;
    }
    /* Mobile title is the only H1. The desktop copy is a paragraph with the same look. */
    #product-left-col .kti-product-title-mobile h1.product_name {
        margin-top: 0 !important;
        margin-bottom: 6px !important;
        font-size: 22px !important;
        line-height: 1.35 !important;
        font-weight: 700 !important;
    }
    /* Keep section label under the product title on mobile */
    #product-left-col .product_highlights_heading {
        font-size: 1.05rem !important;
    }
    #product-left-col .kti-product-title-mobile .product_number {
        margin-top: 0 !important;
        margin-bottom: 10px !important;
    }
    #product-left-col .kti-product-desc-section {
        margin-top: 0.5rem !important;
        padding-top: 0.75rem !important;
    }
    #product-left-col .product_number {
        margin-bottom: 8px !important;
    }
    #product-left-col #product-desc-mobile {
        margin-bottom: 8px !important;
    }
    #product-left-col .read_more {
        margin-bottom: 5px !important; /* requested ~5px after Read More */
    }

    /* Mobile-only: keep qty + Update Cart + Enquiry on one row, reduce control widths */
    .product-cta-row {
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 10px;
    }
    .product-cta-row .quantity_btn {
        flex: 0 0 auto;
    }
    /* Mobile-only: reduce +/- button minimum width */
    .quantity_btn .operations {
        min-width: 20px !important;
    }
    #product_add_to_cart_form {
        margin: 0 !important;
        flex: 0 0 auto;
    }
    .product-cta-row .product-cta-btn {
        flex: 0 0 auto;
        width: auto !important;
        padding: 10px 12px !important;
        font-size: 14px !important;
        line-height: 1.1;
        white-space: nowrap;
    }
    /* If space is still tight on very small phones, shrink button padding a bit */
    @media (max-width: 420px) {
        .product-cta-row { gap: 8px; }
        .product-cta-row .product-cta-btn { padding: 9px 10px !important; font-size: 13px !important; }
    }

    /* Related products block: same compact vertical margin as product-content-clusters on mobile */
    .container.related_product,
    #related_product {
        margin-top: 0.5rem !important;
        margin-bottom: 0.5rem !important;
    }
}

.product-packoff-section {
    width: 100%;
    margin-bottom: 14px;
}
.packoff-size-label {
    font-size: 14px;
    color: #111;
    margin-bottom: 8px;
}
.packoff-options {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.packoff-option {
    min-width: 140px;
    max-width: 200px;
    padding: 10px 12px;
    border: 2px solid #d5d9d9;
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
    text-align: left;
    transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
}
.packoff-option:hover {
    border-color: #007185;
}
.packoff-option.is-active {
    border-color: #007185;
    background: #edf8ff;
    box-shadow: 0 0 0 1px #007185 inset;
}
.packoff-option-title {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #0f1111;
    line-height: 1.3;
    margin-bottom: 4px;
}
.packoff-option-price {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #0f1111;
}
.packoff-option-unit {
    display: block;
    font-size: 12px;
    color: #565959;
    margin-top: 2px;
}
.packoff-option-was {
    display: block;
    font-size: 12px;
    color: #565959;
    text-decoration: line-through;
    margin-top: 2px;
}
.packoff-option-badge {
    display: inline-block;
    margin-top: 4px;
    padding: 2px 6px;
    background: #cc0c39;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    border-radius: 4px;
    line-height: 1.2;
}

/* Moglix-style wishlist heart → login modal (guests only on product.php) */
#kti-product-viewer {
    position: relative;
}
.kti-wishlist-heart {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 20;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: none;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    color: #222;
    transition: transform 0.15s ease, box-shadow 0.15s ease, color 0.15s ease;
}
.kti-wishlist-heart:hover,
.kti-wishlist-heart:focus {
    transform: scale(1.06);
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.22);
    outline: none;
    color: #ed2e38;
}
.kti-wishlist-heart.is-wishlisted {
    color: #ed2e38;
}
.kti-wishlist-heart .kti-heart-outline { display: block; }
.kti-wishlist-heart .kti-heart-filled { display: none; }
.kti-wishlist-heart.is-wishlisted .kti-heart-outline { display: none; }
.kti-wishlist-heart.is-wishlisted .kti-heart-filled { display: block; }
.kti-wishlist-heart svg {
    width: 22px;
    height: 22px;
    display: block;
    pointer-events: none;
}
.kti-login-modal {
    position: fixed;
    inset: 0;
    z-index: 100050;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 16px;
}
.kti-login-modal.is-open {
    display: flex;
}
.kti-login-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(16, 24, 40, 0.55);
}
.kti-login-modal-dialog {
    position: relative;
    z-index: 1;
    width: min(860px, 96vw);
    height: auto;
    max-height: 90vh;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
    overflow: hidden;
}
.kti-login-modal-close {
    position: absolute;
    top: 8px;
    right: 10px;
    z-index: 2;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}
.kti-login-modal-close:hover,
.kti-login-modal-close:focus {
    background: #ed2e38;
    outline: none;
}
#kti-login-iframe {
    width: 100%;
    height: 320px; /* shrinks/grows to login content via postMessage */
    max-height: calc(90vh - 4px);
    border: 0;
    display: block;
    background: #fff;
}
@media (max-width: 767px) {
    .kti-wishlist-heart {
        width: 38px;
        height: 38px;
        top: 8px;
        right: 8px;
    }
    .kti-login-modal-dialog {
        width: 96vw;
        height: auto;
        max-height: 92vh;
        border-radius: 10px;
    }
    #kti-login-iframe {
        height: 360px;
        max-height: calc(92vh - 8px);
    }
}

/* Product page — interlocking chevron breadcrumbs (same design as category pages) */
                .kti-product-bc-wrap{
                    display:flex;
                    flex-direction:column;
                    align-items:flex-start;
                    gap:8px;
                    margin:10px 0 12px;
                }
                .kti-product-bc-wrap .kti-cat-chevron-wrap{
                    display:flex;
                    justify-content:flex-start;
                    padding:0;
                    margin:0;
                    background:transparent;
                    filter:drop-shadow(0 2px 6px rgba(15,23,42,.12));
                }
                .kti-product-bc-wrap .kti-cat-chevron-bc{
                    display:inline-flex;
                    max-width:100%;
                    background:transparent;
                    border:0;
                    box-shadow:none;
                    overflow:visible;
                    text-align:left;
                }
                .kti-product-bc-wrap .kti-cat-chevron-bc ol{
                    display:flex;
                    flex-wrap:wrap;
                    align-items:stretch;
                    list-style:none;
                    margin:0;
                    padding:0;
                    gap:3px;
                }
                .kti-product-bc-wrap .kti-cat-chevron-bc li{
                    display:flex;
                    align-items:stretch;
                    margin:0;
                    padding:0;
                }
                .kti-product-bc-wrap .kti-cat-bc-seg{
                    --kti-bc-arrow:12px;
                    display:inline-flex;
                    align-items:center;
                    justify-content:center;
                    gap:6px;
                    min-height:40px;
                    padding:8px 18px 8px 22px;
                    font-size:14px;
                    font-weight:500;
                    line-height:1.25;
                    text-decoration:none;
                    white-space:nowrap;
                    color:#3d4654;
                    background:#eceef3;
                    clip-path:polygon(0 0, calc(100% - var(--kti-bc-arrow)) 0, 100% 50%, calc(100% - var(--kti-bc-arrow)) 100%, 0 100%, var(--kti-bc-arrow) 50%);
                    transition:background .15s ease,color .15s ease;
                }
                .kti-product-bc-wrap .kti-cat-chevron-bc li:first-child .kti-cat-bc-seg{
                    padding-left:16px;
                    border-radius:6px 0 0 6px;
                    clip-path:polygon(0 0, calc(100% - var(--kti-bc-arrow)) 0, 100% 50%, calc(100% - var(--kti-bc-arrow)) 100%, 0 100%);
                }
                .kti-product-bc-wrap .kti-cat-chevron-bc li:last-child .kti-cat-bc-seg{
                    padding-right:16px;
                    border-radius:0 6px 6px 0;
                    clip-path:polygon(0 0, 100% 0, 100% 100%, 0 100%, var(--kti-bc-arrow) 50%);
                }
                .kti-product-bc-wrap .kti-cat-chevron-bc li:only-child .kti-cat-bc-seg{
                    border-radius:6px;
                    clip-path:none;
                    padding-left:16px;
                    padding-right:16px;
                }
                .kti-product-bc-wrap a.kti-cat-bc-seg:hover{
                    background:#e0e4ec;
                    color:#1f2937;
                }
                .kti-product-bc-wrap .kti-cat-bc-seg.is-current,
                .kti-product-bc-wrap .kti-cat-chevron-bc li:last-child .kti-cat-bc-seg.is-current{
                    background:#00b0ff;
                    color:#fff;
                    font-weight:600;
                    cursor:default;
                }
                .kti-product-bc-wrap .kti-cat-bc-seg.is-current a,
                .kti-product-bc-wrap .kti-cat-bc-seg .kti-bc-sib-sep{
                    color:inherit;
                }
                .kti-product-bc-wrap .kti-cat-bc-seg .kti-bc-sib-sep{
                    margin:0 .35em;
                    opacity:.75;
                }
                .kti-product-bc-wrap .kti-cat-bc-seg.is-current a{
                    color:#fff;
                    text-decoration:underline;
                    text-underline-offset:2px;
                }
                .kti-product-bc-wrap .breadcrumb-home{
                    color:inherit;
                    font-size:15px;
                }
                @media (max-width:576px){
                    .kti-product-bc-wrap .kti-cat-bc-seg{
                        --kti-bc-arrow:10px;
                        min-height:36px;
                        padding:7px 14px 7px 18px;
                        font-size:12.5px;
                        white-space:normal;
                        text-align:center;
                    }
                    .kti-product-bc-wrap .kti-cat-chevron-bc li:first-child .kti-cat-bc-seg{padding-left:12px}
                    .kti-product-bc-wrap .kti-cat-chevron-bc li:last-child .kti-cat-bc-seg{padding-right:12px}
                }

.product-details-table {
                                width: 100%;
                                border-collapse: collapse;
                                margin: 0 0 0.75rem;
                                font-size: 15px;
                                background: #fff;
                                border: 1px solid #e5e7eb;
                                border-radius: 8px;
                                overflow: hidden;
                            }
                            .product-details-table caption {
                                caption-side: top;
                                text-align: left;
                                font-weight: 700;
                                font-size: 1.05rem;
                                color: #111827;
                                padding: 0 0 0.65rem;
                            }
                            .product-details-table th,
                            .product-details-table td {
                                padding: 10px 12px;
                                border-bottom: 1px solid #eef0f2;
                                vertical-align: top;
                                line-height: 1.45;
                            }
                            .product-details-table tr:last-child th,
                            .product-details-table tr:last-child td {
                                border-bottom: none;
                            }
                            .product-details-table tbody tr:nth-child(even) {
                                background: #fafbfc;
                            }
                            .product-details-table th {
                                width: 38%;
                                max-width: 160px;
                                color: #0269af;
                                font-weight: 600;
                                text-align: left;
                                white-space: nowrap;
                            }
                            .product-details-table td {
                                color: #374151;
                                font-weight: 500;
                                word-break: break-word;
                            }
                            .product-spec-cert-tags {
                                display: inline;
                                line-height: 1.5;
                                vertical-align: middle;
                            }
                            .product-spec-cert-tags a {
                                display: inline-block;
                                background: #f8f9fa;
                                border: 1px solid #e0e0e0;
                                color: #333;
                                padding: 3px 8px;
                                border-radius: 12px;
                                font-size: 12px;
                                font-weight: 500;
                                text-decoration: none;
                                line-height: 1.35;
                                vertical-align: middle;
                            }
                            .product-spec-cert-tags a:hover {
                                background: #dc3545;
                                color: #fff !important;
                                border-color: #dc3545;
                                text-decoration: none;
                            }
                            .product-spec-cert-comma {
                                color: #555;
                                font-weight: 500;
                                margin: 0 1px 0 2px;
                            }
                            @media only screen and (max-width: 576px) {
                                .product-details-table th {
                                    width: 42%;
                                    max-width: 130px;
                                    font-size: 14px;
                                    white-space: normal;
                                }
                                .product-details-table td {
                                    font-size: 14px;
                                }
                                .product-details-table th,
                                .product-details-table td {
                                    padding: 9px 10px;
                                }
                            }

.product-dim-value-row { display: block; width: 100%; }
                        .product-dim-text { display: block; font-weight: 600; color: #2e2a39; margin-bottom: 2px; }
                        .product-dim-units { display: block; font-size: 0.88em; white-space: nowrap; }
                        .product-dim-value-row .product-dim-units a.product-dim-unit { color: #0d6efd; text-decoration: none; padding: 2px 6px; border-radius: 4px; display: inline-block; font-weight: 500; }
                        .product-dim-units a.product-dim-unit:hover,
                        .product-dim-units a.product-dim-unit:focus { text-decoration: none; outline: none; color: #0a58ca; }
                        .product-dim-value-row .product-dim-units a.product-dim-unit.active { color: #ffffff !important; background: #0d6efd; font-weight: 700; text-decoration: none; }
                        .product-dim-sep { color: #adb5bd; margin: 0 1px; user-select: none; }

.kti-product-about {
            border-top: 1px solid #eef0f2;
            padding-top: 0.35rem;
            margin-bottom: 0.75rem !important;
        }
        .kti-product-about__panel {
            background: #fff;
            border: 1px solid #e5e7eb;
            border-radius: 10px;
            padding: 1.35rem 1.5rem 1.5rem;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
        }
        .kti-product-about__title {
            font-size: 1.35rem;
            font-weight: 700;
            color: #111827;
            margin: 0;
            line-height: 1.3;
            padding-bottom: 0.55rem;
            border-bottom: 2px solid #eb373f;
            display: inline-block;
        }
        .kti-product-about__body {
            font-size: 15px;
            line-height: 1.75;
            color: #374151;
            max-width: 72rem;
            margin-top: 0.85rem;
        }
        .kti-product-about__body p {
            margin: 0 0 0.9em;
        }
        .kti-product-about__body p:last-child {
            margin-bottom: 0;
        }
        .kti-product-about__list {
            list-style: none;
            margin: 0;
            padding: 0;
        }
        .kti-product-about__list li {
            position: relative;
            margin: 0 0 0.85em;
            padding-left: 1.35em;
            line-height: 1.7;
            color: #374151;
        }
        .kti-product-about__list li:last-child {
            margin-bottom: 0;
        }
        .kti-product-about__list li::before {
            content: "";
            position: absolute;
            left: 0;
            top: 0.55em;
            width: 7px;
            height: 7px;
            border-radius: 50%;
            background: #eb373f;
        }
        .kti-product-about__body ul:not(.kti-product-about__list),
        .kti-product-about__body ol {
            margin: 0.35em 0 0.9em;
            padding-left: 1.35em;
        }
        .kti-product-about__body li {
            margin: 0 0 0.4em;
        }
        @media (max-width: 767.98px) {
            .kti-product-about__panel {
                padding: 1.05rem 1.1rem 1.2rem;
                border-radius: 8px;
            }
            .kti-product-about__title {
                font-size: 1.2rem;
            }
            .kti-product-about__body {
                font-size: 14.5px;
                line-height: 1.7;
            }
            .kti-product-about__list li {
                padding-left: 1.25em;
                margin-bottom: 0.75em;
            }
            .kti-product-about__list li::before {
                top: 0.5em;
                width: 6px;
                height: 6px;
            }
        }

/* Product Variants: centered like Product Information; reserve space for Chat button; less gap below */
        .product-variants {
            margin-top: 0.75rem;
            margin-bottom: 0.75rem;
            padding-bottom: 12px;
            padding-left: 110px;  /* Symmetric with right so section is centered */
            padding-right: 110px; /* Reserve side space; Chat button (200px) may overlap right edge */
            text-align: center;
        }
        .product-variants .heading {
            text-align: center;
        }
        .product-variants .heading h2 {
            display: inline-block;
        }
        .variant-container-wrapper {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 100%;
            margin-top: 1rem;
        }
        .variant-container {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            align-items: flex-start;
            gap: 8px;
        }
        .variant-card-wrapper {
            flex: 0 0 auto;
        }
        .variant-card {
            cursor: pointer;
            border: 2px solid #e0e0e0;
            border-radius: 4px;
            transition: all 0.2s ease;
            background: #fff;
            width: 85px;
            padding: 8px;
            text-align: center;
            display: inline-block;
            vertical-align: top;
        }
        .variant-card:hover {
            border-color: #007bff;
            box-shadow: 0 2px 4px rgba(0,123,255,0.2);
        }
        .variant-card.variant-selected {
            border-color: #007bff !important;
            box-shadow: 0 0 0 2px rgba(0,123,255,0.2) !important;
        }
        .variant-image-container {
            width: 100%;
            height: 62px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 4px;
        }
        .variant-image {
            max-width: 100%;
            max-height: 62px;
            object-fit: contain;
            transition: transform 0.2s ease;
        }
        .variant-card:hover .variant-image {
            transform: scale(1.1);
        }
        .variant-ref {
            font-size: 10px;
            color: #666;
            line-height: 1.2;
            word-wrap: break-word;
            overflow: hidden;
            text-overflow: ellipsis;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
        }
        @media (max-width: 768px) {
            .product-variants {
                padding-left: 15px !important;
                padding-right: 15px !important;
                padding-bottom: 0px !important;
                margin-bottom: 0px !important;
            }
            .variant-card {
                width: 75px;
                padding: 6px;
            }
            .variant-image-container {
                height: 52px;
            }
            .variant-image {
                max-height: 52px;
            }
            .variant-ref {
                font-size: 9px;
            }
        }

.product-content-clusters {
            margin-top: 0.75rem !important;
            margin-bottom: 1.25rem !important;
        }
        @media (max-width: 767.98px) {
            .product-content-clusters {
                margin-top: 0.5rem !important;
                margin-bottom: 0.5rem !important;
            }
        }
        .content-cluster-tabs .nav-tabs {
            border-bottom: 2px solid #dc3545;
            flex-wrap: wrap;
            display: flex;
            gap: 0;
        }
        .content-cluster-tabs .nav-link {
            color: #333;
            font-weight: 500;
            border: none;
            border-bottom: 3px solid transparent;
            padding: 12px 20px;
            margin-bottom: -2px;
            transition: all 0.3s ease;
        }
        .content-cluster-tabs .nav-link:hover {
            color: #dc3545;
            border-color: transparent;
        }
        .content-cluster-tabs .nav-link.active {
            color: #dc3545;
            border-bottom-color: #dc3545;
            background: transparent;
        }
        .content-cluster-tabs .tab-content {
            padding: 20px 0;
        }
        .applications-list {
            padding: 10px 0;
        }
        .applications-tags {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
        }
        .application-tag {
            display: inline-block;
            background: #f8f9fa;
            border: 1px solid #e0e0e0;
            color: #333;
            padding: 8px 16px;
            border-radius: 20px;
            font-size: 14px;
            font-weight: 500;
            transition: all 0.3s ease;
            text-decoration: none;
        }
        .application-tag:hover {
            background: #dc3545;
            color: #fff;
            border-color: #dc3545;
            text-decoration: none;
        }
        .content-items {
            display: flex;
            flex-direction: column;
            gap: 20px;
        }
        .content-item {
            background: #fff;
            border: 1px solid #e0e0e0;
            border-radius: 10px;
            overflow: hidden;
            box-shadow: 0 2px 8px rgba(0,0,0,0.05);
        }
        .content-item-title {
            background: linear-gradient(135deg, #dc3545 0%, #c82333 100%);
            margin: 0;
            padding: 0;
        }
        .content-title-link {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 15px 20px;
            color: #fff;
            text-decoration: none;
            font-size: 18px;
            font-weight: 600;
            transition: all 0.3s ease;
        }
        .content-title-link:hover {
            background: rgba(0,0,0,0.1);
            color: #fff;
            text-decoration: none;
        }
        .content-title-link i {
            font-size: 14px;
            opacity: 0.8;
        }
        .content-item-body {
            padding: 20px;
            line-height: 1.8;
            color: #555;
            overflow-x: auto;
            max-width: 100%;
        }
        .content-item-body h4,
        .content-item-body h5 {
            color: #333;
            margin-top: 15px;
            margin-bottom: 10px;
        }
        .content-item-body ul,
        .content-item-body ol {
            padding-left: 20px;
            margin-bottom: 15px;
        }
        .content-item-body li {
            margin-bottom: 8px;
        }
        .content-item-body img {
            max-width: 100%;
            height: auto;
            border-radius: 8px;
        }
        .content-item-body table {
            width: 100%;
            border-collapse: collapse;
            margin: 12px 0;
            font-size: 14px;
        }
        .content-item-body th,
        .content-item-body td {
            border: 1px solid #e5e7eb;
            padding: 8px 10px;
            vertical-align: top;
            text-align: left;
        }
        @media (max-width: 767.98px) {
            .product-content-clusters {
                padding-left: 12px !important;
                padding-right: 12px !important;
                box-sizing: border-box;
            }
            .product-content-clusters .heading h2 {
                font-size: 1.35rem;
                margin-bottom: 0.75rem;
            }
            /* One horizontal row of tabs (scroll if many) — no awkward wrap */
            .content-cluster-tabs .nav-tabs {
                display: flex !important;
                flex-wrap: nowrap !important;
                align-items: stretch;
                width: 100%;
                max-width: 100%;
                overflow-x: auto;
                overflow-y: hidden;
                -webkit-overflow-scrolling: touch;
                scrollbar-width: thin;
                border-bottom: 2px solid #e5e7eb !important;
                margin-bottom: 0;
                gap: 0;
            }
            .content-cluster-tabs .nav-tabs::-webkit-scrollbar {
                height: 3px;
            }
            .content-cluster-tabs .nav-tabs::-webkit-scrollbar-thumb {
                background: #dc3545;
                border-radius: 3px;
            }
            .content-cluster-tabs .nav-item {
                flex: 1 1 0;
                min-width: 5.25rem;
                margin: 0 !important;
            }
            .content-cluster-tabs .nav-link {
                display: block;
                width: 100%;
                box-sizing: border-box;
                white-space: nowrap;
                text-align: center;
                padding: 10px 8px !important;
                font-size: 13px !important;
                font-weight: 600;
                line-height: 1.25;
                margin-bottom: -2px !important;
                border-radius: 0;
            }
            .content-cluster-tabs .nav-link.active {
                border-bottom-color: #dc3545 !important;
                color: #dc3545 !important;
            }
            .content-cluster-tabs .tab-content {
                padding: 12px 0 4px !important;
            }
            .applications-tags {
                gap: 8px;
            }
            .application-tag {
                padding: 7px 12px;
                font-size: 13px;
            }
            .content-items {
                gap: 14px;
            }
            .content-item {
                border-radius: 8px;
            }
            .content-title-link {
                font-size: 15px !important;
                padding: 12px 14px !important;
                align-items: flex-start;
                gap: 10px;
                line-height: 1.35;
            }
            .content-title-link i {
                flex-shrink: 0;
                margin-top: 2px;
            }
            .content-item-body {
                padding: 14px !important;
                font-size: 14px;
                line-height: 1.65;
                word-break: break-word;
                overflow-wrap: anywhere;
            }
            .content-item-body ul,
            .content-item-body ol {
                padding-left: 1.15rem;
            }
        }

@keyframes rp-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
            #compatible_products .cp-tabs {
                display: flex;
                flex-wrap: wrap;
                gap: 8px;
                justify-content: center;
                margin: 8px 0 18px;
            }
            #compatible_products .cp-tab {
                border: 1px solid #e5e7eb;
                background: #f3f4f6;
                color: #374151;
                border-radius: 8px;
                padding: 8px 14px;
                font-size: 14px;
                font-weight: 600;
                cursor: pointer;
                line-height: 1.2;
            }
            #compatible_products .cp-tab[aria-selected="true"] {
                background: #fff;
                border-color: #d1d5db;
                box-shadow: 0 1px 2px rgba(0,0,0,0.06);
                color: #111827;
            }
            #compatible_products .cp-tab-count {
                display: inline-block;
                margin-left: 6px;
                min-width: 18px;
                padding: 1px 6px;
                border-radius: 999px;
                background: #6b7280;
                color: #fff;
                font-size: 11px;
                font-weight: 700;
            }
            #compatible_products .cp-tab[aria-selected="true"] .cp-tab-count {
                background: #4b5563;
            }
            #cp-products-grid { transition: opacity 0.25s ease; display: flex !important; flex-wrap: nowrap !important; margin: 0 !important; gap: 8px; align-items: stretch !important; }
            #cp-products-grid.rp-loading { opacity: 0.3; pointer-events: none; }
            #cp-grid-wrapper { display: flex; align-items: center; position: relative; }
            #cp-cards-area { flex: 1 1 0; min-width: 0; position: relative; }
            #cp-products-grid > .rp-col { flex: 0 0 calc(25% - 6px); max-width: calc(25% - 6px); min-width: 0; padding: 0; box-sizing: border-box; display: flex; flex-direction: column; align-self: stretch; }
            #cp-products-grid .card-related-products,
            #cp-products-grid .card-related-products.card { width: 100%; flex: 1 1 auto; min-height: 360px; height: auto !important; max-height: none !important; border: 1px solid #e0e0e0 !important; border-radius: 8px !important; box-shadow: 0 1px 3px rgba(0,0,0,0.07) !important; overflow: hidden !important; display: flex !important; flex-direction: column !important; }
            #cp-products-grid .card-related-products .card-body { padding: 0 !important; display: flex !important; flex-direction: column !important; flex: 1 1 auto !important; min-height: 0 !important; overflow: hidden !important; }
            #cp-products-grid .rp-img-wrap { width: 100%; height: 190px !important; flex: 0 0 190px !important; overflow: hidden; border-radius: 8px 8px 0 0; background: transparent; display: flex; align-items: center; justify-content: center; padding: 10px; }
            #cp-products-grid .rp-img-wrap > * { max-width: 100% !important; max-height: 100% !important; }
            #cp-products-grid .rp-img-wrap table,
            #cp-products-grid .rp-img-wrap a { width: 100% !important; height: 100% !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
            #cp-products-grid .rp-img-wrap img,
            #cp-products-grid .rp-img-wrap img.img,
            #cp-products-grid .rp-img-wrap img.photo,
            #cp-products-grid .rp-img-wrap img.photowithmargin { width: auto !important; height: auto !important; max-width: 100% !important; max-height: 100% !important; object-fit: contain !important; object-position: center !important; display: block; }
            #cp-products-grid .rp-info { flex: 0 0 auto !important; padding: 7px 10px 0; overflow: hidden; }
            #cp-products-grid .rp-info .product-name { color: #111827 !important; font-weight: 600; font-size: 14px; margin: 0 0 2px !important; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
            #cp-products-grid .rp-info .product-sku { color: #b01f25 !important; font-weight: 500; font-size: 13px; margin: 0 !important; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; }
            #cp-products-grid .rp-bottom { flex: 0 0 auto !important; margin-top: auto !important; padding: 6px 10px 12px; overflow: visible !important; }
            #cp-products-grid .quantity-selector { display: flex; align-items: center; flex-wrap: nowrap; gap: 3px; margin-top: 5px; }
            #cp-products-grid .quantity-selector .qty-controls { display: none; }
            #cp-products-grid .quantity-selector.in-cart .qty-controls { display: flex; align-items: center; gap: 3px; }
            #cp-products-grid .quantity-input { min-width: 32px !important; max-width: 8ch; box-sizing: content-box !important; text-align: center; padding: 2px 4px; font-size: 12px; height: 26px; }
            #cp-products-grid .quantity-button { width: 26px !important; height: 26px !important; padding: 0 !important; font-size: 13px; line-height: 1; flex-shrink: 0; }
            #cp-products-grid .cart-delete-btn { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; padding: 0; border: 2px solid #ffc107; border-radius: 6px; background: #fff; color: #000; cursor: pointer; flex-shrink: 0; }
            #cp-products-grid .cart-delete-btn i { font-size: 12px; }
            #cp-products-grid .add_to_cart_btn_relpro { flex: 1 1 auto; min-height: 34px !important; font-size: 12px !important; padding: 6px 8px !important; margin: 0 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; }
            #cp-products-grid .quantity-selector.in-cart .add_to_cart_btn_relpro { display: none !important; }
            #cp-products-grid .add_to_cart_btn_relpro.w-100 { flex: 0 0 auto !important; width: 100% !important; }
            #cp-sync-overlay { display: none; position: absolute; inset: 0; background: rgba(255,255,255,0.88); z-index: 10; align-items: center; justify-content: center; border-radius: 8px; }
            #cp-page-bar { display: flex; justify-content: flex-end; align-items: center; margin-bottom: 5px; font-size: 12px; color: #6c757d; }
            @media (max-width: 767px) {
                #cp-page-bar { justify-content: space-evenly; margin-bottom: 10px; }
                #cp-products-grid > .rp-col { flex: 0 0 calc(50% - 4px); max-width: calc(50% - 4px); }
                #cp-products-grid .rp-img-wrap { height: 120px; }
                #cp-products-grid .card-related-products { min-height: 400px; }
                #cp-grid-wrapper { gap: 6px; }
            }

@keyframes rp-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
            #rp-products-grid { transition: opacity 0.25s ease; }
            #rp-products-grid.rp-loading { opacity: 0.3; pointer-events: none; }

            /* Outer row: arrow | cards | arrow */
            #rp-grid-wrapper {
                display: flex;
                align-items: center;
                position: relative;
            }
            /* Side arrow buttons */
            .rp-arrow-btn {
                flex: 0 0 32px;
                width: 32px;
                height: 56px;
                display: flex;
                align-items: center;
                justify-content: center;
                background: #fff;
                border: 1px solid #ddd;
                border-radius: 5px;
                cursor: pointer;
                font-size: 20px;
                color: #555;
                box-shadow: 0 1px 3px rgba(0,0,0,0.10);
                transition: background 0.15s, color 0.15s;
                padding: 0;
                margin: 0 3px;
                line-height: 1;
            }
            .rp-arrow-btn:hover:not([data-hidden="1"]) {
                background: #dc3545;
                color: #fff;
                border-color: #dc3545;
            }
            .rp-arrow-btn[data-hidden="1"] {
                opacity: 0;
                pointer-events: none;
            }
            /* Cards area */
            #rp-cards-area {
                flex: 1 1 0;
                min-width: 0;
                position: relative;
            }
            /* Cards row: stretch columns so every card matches tallest row (avoids clipping CTA) */
            #rp-products-grid {
                display: flex !important;
                flex-wrap: nowrap !important;
                margin: 0 !important;
                gap: 8px;
                align-items: stretch !important;
            }
            /* Each card column — flex so inner card can fill column height */
            #rp-products-grid > .rp-col {
                flex: 0 0 calc(25% - 6px);
                max-width: calc(25% - 6px);
                min-width: 0;
                padding: 0;
                box-sizing: border-box;
                display: flex;
                flex-direction: column;
                align-self: stretch;
            }
            /* Card: grow with row; no fixed max-height (was clipping Add to Cart on 2-line titles) */
            #rp-products-grid .card-related-products,
            #rp-products-grid .card-related-products.card {
                width: 100%;
                flex: 1 1 auto;
                min-height: 360px;
                height: auto !important;
                max-height: none !important;
                border: 1px solid #e0e0e0 !important;
                border-radius: 8px !important;
                box-shadow: 0 1px 3px rgba(0,0,0,0.07) !important;
                overflow: hidden !important;
                display: flex !important;
                flex-direction: column !important;
            }
            /* Card body ΓÇô fills card; pin price/CTA to bottom with margin-top:auto on .rp-bottom */
            #rp-products-grid .card-related-products .card-body {
                padding: 0 !important;
                display: flex !important;
                flex-direction: column !important;
                flex: 1 1 auto !important;
                min-height: 0 !important;
                overflow: hidden !important;
            }
            /* Image ΓÇô fixed 170px */
            #rp-products-grid .rp-img-wrap {
                width: 100%;
                height: 190px !important;
                flex: 0 0 190px !important;
                overflow: hidden;
                border-radius: 8px 8px 0 0;
                background: transparent;
                display: flex;
                align-items: center;
                justify-content: center;
                padding: 10px; /* like homepage cards: a little breathing space */
            }
            /* show_photos() may output a table wrapper and images with class="img" (global CSS sets object-fit: cover).
               For related products we always want the FULL image visible without stretching/cropping. */
            #rp-products-grid .rp-img-wrap > * {
                max-width: 100% !important;
                max-height: 100% !important;
            }
            /* Stretch only layout wrappers — NOT img.photowithmargin (see img rule below). */
            #rp-products-grid .rp-img-wrap table,
            #rp-products-grid .rp-img-wrap a {
                width: 100% !important;
                height: 100% !important;
                margin: 0 !important;
                padding: 0 !important;
                border: 0 !important;
                border-radius: 0 !important;
                box-shadow: none !important;
                background: transparent !important;
            }
            /* Beat .card .photowithmargin { width/height !important } from optimized_header + Dolibarr img sizes */
            #rp-products-grid .card-related-products .rp-img-wrap img.photo,
            #rp-products-grid .card-related-products .rp-img-wrap img.photowithmargin,
            #rp-products-grid .rp-img-wrap img,
            #rp-products-grid .rp-img-wrap img.img {
                width: auto !important;
                height: auto !important;
                max-width: 100% !important;
                max-height: 100% !important;
                object-fit: contain !important;
                object-position: center !important;
                display: block;
            }
            /* Ref + label */
            #rp-products-grid .rp-info {
                flex: 0 0 auto !important;
                padding: 7px 10px 0;
                overflow: hidden;
                min-height: 0;
            }
            /* Use the same typography hierarchy as listing cards */
            #rp-products-grid .rp-info .product-name {
                color: #111827 !important;
                font-weight: 600;
                font-size: 14px;
                margin: 0 0 2px !important;
                line-height: 1.3;
                display: -webkit-box;
                -webkit-line-clamp: 2;
                -webkit-box-orient: vertical;
                overflow: hidden;
            }
            #rp-products-grid .rp-info .product-sku {
                color: #b01f25 !important;
                font-weight: 500;
                font-size: 13px;
                margin: 0 !important;
                line-height: 1.2;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
                display: block;
            }
            /* Price + cart — keep visible; push to bottom when card is taller than content */
            #rp-products-grid .rp-bottom {
                flex: 0 0 auto !important;
                margin-top: auto !important;
                padding: 6px 10px 12px;
                overflow: visible !important;
            }
            /* Price lines */
            #rp-products-grid .price_excl_details {
                font-size: 12px !important;
                margin: 0 0 2px !important;
                line-height: 1.3;
            }
            #rp-products-grid .price_excl_price_label {
                font-size: 13px;
                font-weight: 700;
            }
            #rp-products-grid .price_incl_details {
                font-size: 11px !important;
                color: #666;
                margin: 0 0 4px !important;
                white-space: nowrap;
                overflow: hidden;
            }
            #rp-products-grid .card-related-products .rp-rating {
                display: flex;
                align-items: center;
                flex-wrap: wrap;
                gap: 4px 6px;
                margin: 4px 0 6px;
                text-decoration: none;
                color: inherit;
                line-height: 1;
                white-space: normal;
                overflow: visible;
            }
            #rp-products-grid .card-related-products .rp-rating-avg { font-size: 13px; font-weight: 700; color: #0f1111; }
            #rp-products-grid .card-related-products .rp-rating-count { font-size: 12px; font-weight: 500; color: #2162a1; }
            #rp-products-grid .card-related-products .rp-rating:hover .rp-rating-count { text-decoration: underline; }
            #rp-products-grid .card-related-products .rp-rating .ratting-start li { cursor: default; font-size: 14px; }
            /* Quantity selector ΓÇô single row, no wrap */
            #rp-products-grid .quantity-selector {
                display: flex;
                align-items: center;
                flex-wrap: nowrap;
                gap: 3px;
                margin-top: 5px;
            }
            #rp-products-grid .quantity-input {
                min-width: 32px !important;
                max-width: 8ch;
                box-sizing: content-box !important;
                text-align: center;
                padding: 2px 4px;
                font-size: 12px;
                height: 26px;
            }
            #rp-products-grid .quantity-button {
                width: 26px !important;
                height: 26px !important;
                padding: 0 !important;
                font-size: 13px;
                line-height: 1;
                flex-shrink: 0;
            }
            #rp-products-grid .add_to_cart_btn_relpro {
                flex: 1 1 auto;
                min-width: 0;
                min-height: 34px !important;
                height: auto !important;
                font-size: 12px !important;
                padding: 6px 8px !important;
                margin: 0 !important;
                white-space: nowrap !important;
                overflow: visible !important;
                text-overflow: clip !important;
                display: inline-flex !important;
                align-items: center !important;
                justify-content: center !important;
                line-height: 1.2 !important;
                box-sizing: border-box !important;
            }
            #rp-products-grid .quantity-selector.in-cart .add_to_cart_btn_relpro {
                display: none !important;
            }
            /* Full-width guest CTA: one line, full label, not squeezed by flex */
            #rp-products-grid .add_to_cart_btn_relpro.w-100 {
                flex: 0 0 auto !important;
                width: 100% !important;
                max-width: 100% !important;
            }
            #rp-products-grid .quantity-selector .qty-controls {
                display: none;
            }
            #rp-products-grid .quantity-selector.in-cart .qty-controls {
                display: flex;
                align-items: center;
                gap: 3px;
            }
            #rp-products-grid .cart-delete-btn {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                width: 26px;
                height: 26px;
                padding: 0;
                border: 2px solid #ffc107;
                border-radius: 6px;
                background: #fff;
                color: #000;
                cursor: pointer;
                flex-shrink: 0;
            }
            #rp-products-grid .cart-delete-btn:hover {
                background: #fff8e1;
                border-color: #ffb300;
            }
            #rp-products-grid .cart-delete-btn i {
                font-size: 12px;
            }
            /* Sync overlay */
            #rp-sync-overlay {
                display: none;
                position: absolute;
                inset: 0;
                background: rgba(255,255,255,0.88);
                z-index: 10;
                align-items: center;
                justify-content: center;
                border-radius: 8px;
            }
            /* Page info bar */
            #rp-page-bar {
                display: flex;
                justify-content: flex-end;
                align-items: center;
                margin-bottom: 5px;
                font-size: 12px;
                color: #6c757d;
            }
            /* Responsive: 2 cols on small screens + always-visible arrows */
            @media (max-width: 767px) {
                #rp-page-bar {
                    justify-content: space-evenly;
                    margin-bottom: 10px;
                }
                #rp-products-grid > .rp-col { flex: 0 0 calc(50% - 4px); max-width: calc(50% - 4px); }
                #rp-products-grid .rp-img-wrap { height: 120px; }
                /* Give enough room for price + button on mobile */
                #rp-products-grid .card-related-products,
                #rp-products-grid .card-related-products.card{
                    min-height: 400px;
                    height: auto !important;
                    max-height: none !important;
                }
                #rp-products-grid .rp-bottom{overflow: visible}
                /* Full-width Add to Cart must not be clipped */
                #rp-products-grid .add_to_cart_btn_relpro.w-100{
                    flex: 0 0 auto !important;
                    width: 100% !important;
                    min-height: 36px !important;
                    font-size: 12px !important;
                    padding: 8px 10px !important;
                }

                /* Make arrows visible & tappable on mobile */
                #rp-grid-wrapper { gap: 6px; }
                .rp-arrow-btn{
                    flex: 0 0 36px;
                    width: 36px;
                    height: 52px;
                    font-size: 22px;
                    opacity: 1;
                    z-index: 5;
                }
                .rp-arrow-btn[data-hidden="1"]{
                    opacity: .25;
                    pointer-events: none;
                }
            }

.product-faqs {
            margin-top: 2rem;
            margin-bottom: 2rem;
        }
        .faq-accordion-item {
            border: 1px solid #e0e0e0;
            margin-bottom: 12px;
            border-radius: 10px;
            overflow: hidden;
            box-shadow: 0 2px 4px rgba(0,0,0,0.05);
        }
        .faq-header-wrapper {
            display: flex;
            align-items: center;
            background: #fff;
            margin: 0;
            transition: background 0.3s ease;
        }
        .faq-question-title {
            display: flex;
            align-items: center;
            gap: 10px;
            width: 100%;
            padding: 18px 20px;
            font-weight: 600;
            font-size: 16px;
            color: #333;
            text-decoration: none;
            background: none;
            border: none;
            cursor: pointer;
            text-align: left;
            transition: all 0.3s ease;
        }
        .faq-question-title:focus { box-shadow: none; outline: none; }
        .faq-question-text { flex: 1; }
        .faq-toggle-btn { background: none; border: none; cursor: pointer; transition: all 0.3s ease; }
        .faq-toggle-btn:focus { box-shadow: none; outline: none; }
        .faq-chevron { transition: transform 0.3s ease; flex-shrink: 0; }
        .faq-question-title:not(.collapsed) .faq-chevron { transform: rotate(180deg); }
        .faq-header-wrapper.faq-expanded { background: linear-gradient(135deg, #dc3545 0%, #c82333 100%); }
        .faq-header-wrapper.faq-expanded .faq-question-title { color: #fff; }
        .faq-header-wrapper.faq-expanded .faq-icon { background: #fff; color: #dc3545; }
        .faq-answer-link-body { text-decoration: none; color: inherit; transition: background 0.2s ease; }
        .faq-answer-link-body:hover { background: #f0f0f0; text-decoration: none; color: inherit; }
        .faq-body-link-icon { color: #dc3545; font-size: 13px; flex-shrink: 0; align-self: center; opacity: 0.7; transition: opacity 0.2s ease; }
        .faq-answer-link-body:hover .faq-body-link-icon { opacity: 1; }
        .faq-icon { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; background: #dc3545; color: #fff; border-radius: 50%; font-weight: 700; font-size: 14px; flex-shrink: 0; }
        .faq-accordion .accordion-body { padding: 20px; display: flex; align-items: flex-start; gap: 12px; background: #fafafa; }
        .faq-answer-icon { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; background: #28a745; color: #fff; border-radius: 50%; font-weight: 700; font-size: 14px; flex-shrink: 0; }
        .faq-answer-content { flex: 1; line-height: 1.8; color: #555; }
        .faq-answer-content p { margin-bottom: 10px; }
        .faq-answer-content ul, .faq-answer-content ol { padding-left: 20px; margin-bottom: 10px; }
        @media (max-width: 768px) {
            .faq-question-title { padding: 14px 15px; font-size: 14px; }
            .faq-toggle-btn { padding: 14px 15px; }
            .faq-icon, .faq-answer-icon { width: 24px; height: 24px; font-size: 12px; }
        }

.category-faqs { margin-top: 2rem; margin-bottom: 2rem; }
        .cat-faq-group { border: 1px solid #e0e0e0; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 6px rgba(0,0,0,0.05); }
        .cat-faq-group-header {
            display: flex;
            align-items: center;
            gap: 10px;
            width: 100%;
            background: linear-gradient(135deg, #28a745 0%, #218838 100%);
            padding: 14px 20px;
            border: none;
            cursor: pointer;
            text-align: left;
            color: #fff;
        }
        .cat-faq-group-header:focus { outline: none; box-shadow: inset 0 0 0 2px rgba(255,255,255,0.45); }
        .cat-faq-group-icon { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; background: rgba(255,255,255,0.2); color: #fff; border-radius: 50%; font-size: 13px; flex-shrink: 0; }
        .cat-faq-group-label { font-weight: 700; font-size: 16px; color: #fff; flex: 1; min-width: 0; }
        .cat-faq-group-open-link {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 30px;
            height: 30px;
            border-radius: 50%;
            color: #fff;
            background: rgba(255,255,255,0.18);
            text-decoration: none;
            flex-shrink: 0;
            font-size: 12px;
        }
        .cat-faq-group-open-link:hover { background: rgba(255,255,255,0.32); color: #fff; }
        .cat-faq-group-chevron { transition: transform 0.3s ease; flex-shrink: 0; color: #fff; }
        .cat-faq-group-header:not(.collapsed) .cat-faq-group-chevron { transform: rotate(180deg); }
        .cat-faq-group-body { border-top: 1px solid rgba(0,0,0,0.06); }
        .category-faq-accordion .faq-accordion-item { border-radius: 0 !important; border-left: none; border-right: none; border-top: none; margin-bottom: 0; }
        .category-faq-accordion .faq-accordion-item:last-child { border-bottom: none; }
        @media (max-width: 768px) {
            .category-faqs {
                margin-top: 1rem !important;
                margin-bottom: 1rem !important;
            }
            .cat-faq-group-header { padding: 12px 15px; }
            .cat-faq-group-label { font-size: 14px; }
        }

/* Lazy sections: while waiting, only reserve a compact loader height — not full content
       (opacity:0 content was leaving large empty gaps above Product Information). */
    .lazy-section {
        position: relative;
        min-height: 0;
        contain: layout;
    }
    .lazy-section:not(.ls-revealed) {
        min-height: 72px;
        max-height: 72px;
        overflow: hidden;
        margin-top: 0.5rem !important;
        margin-bottom: 0.5rem !important;
    }
    .lazy-section:not(.ls-revealed) > .lazy-content {
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        opacity: 0;
        pointer-events: none;
        visibility: hidden;
        height: 0;
        overflow: hidden;
        transform: none;
    }
    .lazy-section.ls-revealed {
        max-height: none;
        overflow: visible;
    }
    .lazy-section.ls-revealed > .lazy-content {
        position: static;
        visibility: visible;
        height: auto;
        opacity: 1;
        transform: translateY(0);
        transition: opacity 0.35s ease;
        pointer-events: auto;
    }
    .lazy-section > .lazy-loader {
        position: absolute;
        inset: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        background: #fff;
        z-index: 20;
        pointer-events: none;
        border-radius: 8px;
        transition: opacity 0.25s ease;
        min-height: 72px;
    }
    .lazy-loader-icon {
        width: 28px;
        height: 28px;
        border: 3px solid #e5e7eb;
        border-top-color: #dc3545;
        border-radius: 50%;
        animation: lsSpinSync 0.75s linear infinite;
        margin-bottom: 6px;
    }
    @keyframes lsSpinSync {
        to { transform: rotate(360deg); }
    }
    .lazy-loader-text {
        font-size: 12px;
        color: #9ca3af;
        letter-spacing: 0.4px;
    }
    .lazy-section.ls-revealed > .lazy-loader {
        opacity: 0;
        pointer-events: none;
        display: none;
    }

