/* Envoy Product Catalogue - initial foundation */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');

.envoy-catalogue {
    width: 100%;
    box-sizing: border-box;
}

.envoy-catalogue-toolbar {
    display: flex;
    gap: 12px;
    align-items: stretch;
    margin-bottom: 24px;
    flex-wrap: wrap;
}

.envoy-catalogue-toolbar form {
    display: flex;
    gap: 8px;
}

.envoy-catalogue-search {
    flex: 1 1 420px;
}

.envoy-catalogue-search input {
    flex: 1;
    min-width: 0;
}

.envoy-catalogue-toolbar input,
.envoy-catalogue-toolbar select,
.envoy-catalogue-toolbar button {
    min-height: 44px;
    padding: 8px 12px;
    border: 1px solid #d5d5d5;
    border-radius: 6px;
    box-sizing: border-box;
}

.envoy-catalogue-toolbar button {
    cursor: pointer;
    background: #1268f3;
    color: #fff;
    border-color: #1268f3;
}

.envoy-catalogue-count {
    margin-bottom: 18px;
    font-size: 14px;
    color: #666;
}

.envoy-product-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.envoy-product-card {
    background: #fff;
    border-radius: 16px;
    padding: 18px;
    text-align: center;
    box-sizing: border-box;
    scroll-margin-top: 100px;

    /* Normal shadow */
    box-shadow: 0 5px 18px rgba(0, 0, 0, 0.14);

    /* Smooth animation */
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.envoy-product-card:hover {
    transform: translateY(-5px);

    /* #0080ff blue glow */
    box-shadow:
        0 10px 25px rgba(0, 128, 255, 0.30),
        0 0 25px rgba(0, 128, 255, 0.25),
        0 0 45px rgba(0, 128, 255, 0.12);
}

/* Product Category */
.envoy-product-category {
    text-align: left;
    font-family: 'Poppins', sans-serif;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.3;
    color: #111111;
    margin: 0 0 14px 0;
}

.envoy-product-image {
    aspect-ratio: 1 / 1;
    width: 100%;
    background: #fff;
    border: 2px solid #1687ff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    box-sizing: border-box;
    overflow: hidden;
}

.envoy-product-image span {
    font-size: 14px;
    color: #222;
}

.envoy-product-image img {
    width: 75%;
    height: 75%;
    object-fit: contain;
    object-position: center;
    display: block;
}

.envoy-product-image-slider {
    position: relative;
    overflow: hidden;
}

.envoy-product-image-slider img.envoy-product-slide {
    width: 85% !important;
    height: 85% !important;
    max-width: 85% !important;
    max-height: 85% !important;
    object-fit: contain !important;
    object-position: center !important;
    display: block !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
}

.envoy-product-image-slider img.envoy-product-slide:not(.active) {
    display: none !important;
}

/* Product Name */
.envoy-product-card h3 {
    margin: 8px 0 10px;
    font-family: 'Poppins', sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    color: #111111;
}

/* Part Number */
.envoy-product-part {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
    color: #111111;
    margin-bottom: 10px;
}

/* Product Description */
.envoy-product-card p {
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    color: #111111;
    min-height: 63px;
    margin: 0 0 18px;
}

.envoy-product-brand {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 6px;
    margin-bottom: 18px;
    min-height: 135px;
}

/* Envoy Xtech logo */
.envoy-product-brand > img:first-child {
    width: 300px;
    height: 75px;
    object-fit: contain;
    display: block;
}

/* Other brand logos */
.envoy-product-brand > img:not(:first-child) {
    width: 150px;
    height: 60px;
    object-fit: contain;
    display: block;
}

/* Keep old text styling if needed */
.envoy-product-brand span,
.envoy-product-brand strong {
    background: #fff;
    padding: 8px 10px;
    border-radius: 3px;
}

.envoy-pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    margin: 35px 0 10px;
}

.envoy-pagination a {
    min-width: 38px;
    height: 38px;
    padding: 0 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #ddd;
    border-radius: 5px;
    text-decoration: none;
    color: #222;
    box-sizing: border-box;
}

.envoy-pagination a.active {
    background: #1268f3;
    color: #fff;
    border-color: #1268f3;
}

.envoy-no-products {
    grid-column: 1 / -1;
    text-align: center;
    padding: 50px 20px;
}

@media (max-width: 900px) {
    .envoy-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .envoy-product-grid {
        grid-template-columns: 1fr;
    }

    .envoy-catalogue-toolbar form {
        width: 100%;
    }

    .envoy-catalogue-search {
        flex-wrap: wrap;
    }

    .envoy-catalogue-search input {
        width: 100%;
    }

    .envoy-catalogue-search button {
        width: 100%;
    }
}

/* =========================================
   FINAL SEND ENQUIRY OVERRIDE
   ========================================= */

.envoy-product-card .envoy-enquiry-button {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    box-sizing: border-box !important;

    background-color: #ffffff !important;
    color: #0080ff !important;
    border: 1.5px solid #0080ff !important;
    border-radius: 6px !important;

    padding: 13px 20px !important;
    margin: 0 !important;

    font-family: 'Poppins', sans-serif !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;

    text-align: center !important;
    text-decoration: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.25s ease !important;
}

.envoy-product-card .envoy-enquiry-button:hover,
.envoy-product-card .envoy-enquiry-button:focus {
    background-color: #0080ff !important;
    color: #ffffff !important;
    border-color: #0080ff !important;

    box-shadow:
        0 4px 12px rgba(0, 128, 255, 0.25),
        0 0 16px rgba(0, 128, 255, 0.12) !important;

    transform: translateY(-1px) !important;
}

.envoy-product-card .envoy-enquiry-button:hover *,
.envoy-product-card .envoy-enquiry-button:focus * {
    color: #ffffff !important;
}

/* =========================================
   ENQUIRY POPUP - FINAL PROFESSIONAL DESIGN
   ========================================= */

/* Popup wrapper */
.envoy-enquiry-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 999999;

    /* Dark overlay */
    background: rgba(0, 0, 0, 0.55);

    /*
     * Blur the catalogue behind the popup.
     * The popup itself stays sharp because it is a child
     * of this element and has its own solid background.
     */
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}


/* =========================================
   POPUP BOX
   ========================================= */

.envoy-enquiry-box {
    position: relative;

    width: 90%;
    max-width: 700px;

    max-height: 90vh;
    overflow-y: auto;

    margin: 5vh auto;
    padding: 32px;

    background: #ffffff;

    border: 1px solid rgba(0, 128, 255, 0.35);
    border-radius: 16px;

    box-sizing: border-box;

    font-family: 'Poppins', sans-serif;

    /*
     * Professional blue glow
     */
    box-shadow:
        0 0 20px rgba(0, 128, 255, 0.35),
        0 0 45px rgba(0, 128, 255, 0.25),
        0 15px 50px rgba(0, 0, 0, 0.25);
}


/* =========================================
   ENQUIRY CLOSE BUTTON - ENVOY BLUE
   ========================================= */

.envoy-enquiry-close {
    position: absolute !important;

    top: 16px !important;
    right: 16px !important;

    width: 36px !important;
    height: 36px !important;

    padding: 0 !important;
    margin: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    box-sizing: border-box !important;

    border: 1px solid #0080ff !important;
    border-radius: 4px !important;

    background: #ffffff !important;
    color: #0080ff !important;

    font-family: 'Poppins', sans-serif !important;
    font-size: 20px !important;
    font-weight: 500 !important;

    line-height: 1 !important;

    cursor: pointer !important;

    appearance: none !important;
    -webkit-appearance: none !important;

    box-shadow: none !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease !important;
}


/* Close button hover */
.envoy-enquiry-close:hover,
.envoy-enquiry-close:focus {
    background: #0080ff !important;

    color: #ffffff !important;

    border-color: #0080ff !important;

    box-shadow:
        0 4px 12px rgba(0, 128, 255, 0.25),
        0 0 16px rgba(0, 128, 255, 0.12) !important;

    outline: none !important;
}


/* =========================================
   HEADER
   ========================================= */

.envoy-enquiry-header {
    margin-bottom: 24px;
    padding-right: 55px;

    font-family: 'Poppins', sans-serif;
}

.envoy-enquiry-header h2 {
    margin: 0 0 6px;

    font-family: 'Poppins', sans-serif;

    font-size: 26px;
    font-weight: 700;

    color: #111111;
}

.envoy-enquiry-header p {
    margin: 0;

    font-family: 'Poppins', sans-serif;

    font-size: 14px;
    font-weight: 400;

    color: #666666;
}


/* =========================================
   FORM ROW
   ========================================= */

.envoy-form-row {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 16px;
}


/* =========================================
   FORM GROUP
   ========================================= */

.envoy-form-group {
    margin-bottom: 18px;

    font-family: 'Poppins', sans-serif;
}

.envoy-form-group label {
    display: block;

    margin-bottom: 7px;

    font-family: 'Poppins', sans-serif;

    font-size: 13px;
    font-weight: 600;

    color: #222222;
}

.envoy-form-group label span {
    color: #0080ff;
}


/* =========================================
   INPUTS + TEXTAREAS
   ENVOY BLUE INTERACTION
   ========================================= */

.envoy-form-group input,
.envoy-form-group textarea {

    width: 100% !important;

    box-sizing: border-box !important;

    padding: 12px 14px !important;

    border: 1px solid #d3dce8 !important;

    border-radius: 6px !important;

    background: #ffffff !important;

    color: #222222 !important;

    font-family: 'Poppins', sans-serif !important;

    font-size: 13px !important;

    font-weight: 400 !important;

    outline: none !important;

    box-shadow: none !important;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease !important;
}


/* =========================================
   INPUT HOVER
   ========================================= */

.envoy-form-group input:hover,
.envoy-form-group textarea:hover {

    border-color: #0080ff !important;

    outline: none !important;

    box-shadow:
        0 0 0 1px rgba(0, 128, 255, 0.08) !important;
}


/* =========================================
   INPUT FOCUS
   ========================================= */

.envoy-form-group input:focus,
.envoy-form-group textarea:focus {

    border-color: #0080ff !important;

    outline: none !important;

    box-shadow:
        0 0 0 2px rgba(0, 128, 255, 0.08),
        0 0 10px rgba(0, 128, 255, 0.08) !important;
}


/* =========================================
   INPUT FOCUS + HOVER TOGETHER
   ========================================= */

.envoy-form-group input:hover:focus,
.envoy-form-group textarea:hover:focus {

    border-color: #0080ff !important;

    box-shadow:
        0 0 0 2px rgba(0, 128, 255, 0.08),
        0 0 10px rgba(0, 128, 255, 0.08) !important;
}


/* =========================================
   SELECTED PRODUCT / PART / BRAND
   ========================================= */

.envoy-form-group input[readonly] {

    background: #f5f8fc;

    color: #334155;

    cursor: default;

    border-color: #d3dce8;
}


/* =========================================
   SUBMIT ENQUIRY BUTTON - ENVOY BLUE
   ========================================= */

.envoy-enquiry-submit {
    width: 100% !important;

    display: block !important;

    box-sizing: border-box !important;

    padding: 13px 20px !important;

    margin-top: 4px !important;

    border: 1.5px solid #0080ff !important;

    border-radius: 6px !important;

    background: #ffffff !important;

    color: #0080ff !important;

    font-family: 'Poppins', sans-serif !important;

    font-size: 17px !important;

    font-weight: 500 !important;

    line-height: 1.4 !important;

    text-align: center !important;

    cursor: pointer !important;

    text-decoration: none !important;

    appearance: none !important;
    -webkit-appearance: none !important;

    box-shadow: none !important;

    outline: none !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.25s ease !important;
}


/* Submit button hover */
.envoy-enquiry-submit:hover,
.envoy-enquiry-submit:focus {
    background: #0080ff !important;

    color: #ffffff !important;

    border-color: #0080ff !important;

    box-shadow:
        0 4px 12px rgba(0, 128, 255, 0.25),
        0 0 16px rgba(0, 128, 255, 0.12) !important;

    transform: translateY(-1px) !important;

    outline: none !important;
}


/* Protect button text from theme CSS */
.envoy-enquiry-submit:hover *,
.envoy-enquiry-submit:focus *,
.envoy-enquiry-submit:active * {
    color: #ffffff !important;
}


/* =========================================
   MESSAGE
   ========================================= */

#envoy-enquiry-message {

    margin-top: 16px;

    text-align: center;

    font-family: 'Poppins', sans-serif;

    font-size: 14px;

    font-weight: 500;
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 600px) {

    .envoy-enquiry-box {

        width: 94%;

        margin: 3vh auto;

        padding: 24px 18px;

        max-height: 94vh;
    }

    .envoy-form-row {

        grid-template-columns: 1fr;

        gap: 0;
    }

    .envoy-enquiry-header h2 {

        font-size: 22px;
    }

    .envoy-enquiry-header p {

        font-size: 13px;
    }

    .envoy-enquiry-close {

        width: 34px;
        height: 34px;

        font-size: 19px;
    }
}

/* =========================================================
   ENVOY XTECH - PRODUCT SHARE SYSTEM
   FINAL UI OVERRIDE
   ========================================================= */


/* =========================================================
   1. PRODUCT TOP
   ========================================================= */

.envoy-product-top {
    position: relative !important;

    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;

    width: 100% !important;

    box-sizing: border-box !important;
    margin-bottom: 10px;
}


/* =========================================================
   2. CATEGORY
   ========================================================= */

.envoy-product-category {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}


/* =========================================================
   3. SHARE WRAPPER
   ========================================================= */

.envoy-product-share {
    position: relative !important;

    flex: 0 0 36px !important;

    width: 36px !important;
    height: 36px !important;

    margin-left: 10px !important;

    z-index: 100 !important;
}


/* =========================================================
   4. THREE DOT BUTTON
   ========================================================= */

.envoy-share-button {

    width: 36px !important;
    height: 36px !important;

    padding: 0 !important;
    margin: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: transparent !important;

    border: 1px solid transparent !important;
    border-radius: 5px !important;

    color: #111111 !important;

    cursor: pointer !important;

    position: relative !important;

    z-index: 10002 !important;

    box-sizing: border-box !important;

    appearance: none !important;
    -webkit-appearance: none !important;

    box-shadow: none !important;

    transition:
        background-color 0.18s ease,
        border-color 0.18s ease,
        transform 0.15s ease !important;
}


/* Hover + Active */

.envoy-share-button:hover,
.envoy-share-button:focus,
.envoy-share-button[aria-expanded="true"] {

    background: #eef6ff !important;

    border-color: #1683ff !important;

    color: #0878e8 !important;

    outline: none !important;

    box-shadow: none !important;
}


/* Remove browser/theme focus ring */

.envoy-share-button:focus-visible {

    outline: 2px solid rgba(22, 131, 255, 0.25) !important;

    outline-offset: 2px !important;
}


/* Click */

.envoy-share-button:active {

    transform: scale(0.94) !important;
}


/* =========================================================
   5. THREE DOTS
   ========================================================= */

.envoy-share-dots {

    width: 5px !important;
    height: 21px !important;

    display: flex !important;

    flex-direction: column !important;

    align-items: center !important;
    justify-content: space-between !important;

    pointer-events: none !important;
}


.envoy-share-dots span {

    display: block !important;

    width: 4px !important;
    height: 4px !important;

    padding: 0 !important;
    margin: 0 !important;

    background: #111111 !important;

    border-radius: 50% !important;

    transition: background-color 0.18s ease !important;
}


/* Blue dots on hover/open */

.envoy-share-button:hover .envoy-share-dots span,
.envoy-share-button[aria-expanded="true"] .envoy-share-dots span {

    background: #0878e8 !important;
}


/* =========================================================
   6. IMPORTANT:
      BRING THE ACTIVE PRODUCT CARD ABOVE OTHER CARDS
   ========================================================= */

/*
 * Your product cards use transform on hover.
 * transform creates a stacking context.
 *
 * Therefore the popup can otherwise get trapped
 * underneath the neighbouring product card.
 *
 * :has() lets us raise ONLY the card whose share
 * menu is currently open.
 */

.envoy-product-card:has(
    .envoy-share-button[aria-expanded="true"]
) {

    position: relative !important;

    z-index: 1000 !important;
}


/* =========================================================
   7. DESKTOP SHARE POPUP
   ========================================================= */

@media (min-width: 901px) {

    .envoy-share-menu {

        position: absolute !important;

        /*
         * Move popup DOWN so it starts around the
         * product image instead of covering the heading.
         */
        top: 48px !important;

        /*
         * Put popup completely outside the card.
         */
        left: calc(100% + 12px) !important;

        right: 20px !important;

        width: 180px !important;

        padding: 7px !important;

        margin: 0 !important;

        box-sizing: border-box !important;

        background: #ffffff !important;

        border: 1px solid #1683ff !important;

        border-radius: 8px !important;

        z-index: 99999 !important;

        box-shadow:
            0 10px 28px rgba(0, 0, 0, 0.13),
            0 3px 8px rgba(0, 0, 0, 0.07) !important;
    }

}


/* =========================================================
   8. HIDDEN STATE
   ========================================================= */

.envoy-share-menu[hidden] {

    display: none !important;
}


/* =========================================================
   9. SHARE OPTIONS
   ========================================================= */

/*
 * !important is intentional here.
 *
 * WordPress/theme button CSS is currently
 * overriding your buttons.
 */

.envoy-share-option {

    width: 100% !important;

    min-width: 0 !important;

    min-height: 42px !important;

    height: 42px !important;

    display: flex !important;

    flex-direction: row !important;

    align-items: center !important;

    justify-content: flex-start !important;

    gap: 0 !important;

    padding: 7px 10px !important;

    margin: 0 0 4px 0 !important;

    border: 1px solid transparent !important;

    border-radius: 6px !important;

    background: #ffffff !important;

    color: #111111 !important;

    font-family: 'Poppins', sans-serif !important;

    font-size: 20px !important;

    font-weight: 800 !important;

    line-height: 1 !important;

    text-align: left !important;

    text-decoration: none !important;

    white-space: nowrap !important;

    cursor: pointer !important;

    box-sizing: border-box !important;

    appearance: none !important;

    -webkit-appearance: none !important;

    box-shadow: none !important;

    outline: none !important;

    transform: none !important;

    transition:
        background-color 0.18s ease,
        border-color 0.18s ease,
        color 0.18s ease !important;
}


/* Remove bottom gap from final option */

.envoy-share-option:last-child {

    margin-bottom: 0 !important;
}


/* =========================================================
   10. SHARE OPTION HOVER
   ========================================================= */

/* Normal state */
.envoy-share-option {
    background: #ffffff !important;
    border-color: transparent !important;
    color: #111111 !important;
}

/* Normal hover = BLUE */
.envoy-share-option:hover {
    background: #0878e8 !important;
    border-color: #0878e8 !important;
    color: #ffffff !important;
}

/* After copy is complete = FORCE WHITE */
.envoy-share-option.envoy-copy-reset {
    background: #ffffff !important;
    border-color: transparent !important;
    color: #111111 !important;

    outline: none !important;
    box-shadow: none !important;
}


/* =========================================================
   11. ICON CONTAINER
   ========================================================= */

.envoy-share-icon {

    width: 28px !important;
    height: 28px !important;

    min-width: 28px !important;

    flex: 0 0 28px !important;

    display: flex !important;

    align-items: center !important;

    justify-content: center !important;

    margin: 0 11px 0 0 !important;

    padding: 0 !important;

    box-sizing: border-box !important;

    background: transparent !important;

    border: 0 !important;

    border-radius: 0 !important;

    line-height: 1 !important;
}


/* =========================================================
   12. ACTUAL PNG LOGOS
   ========================================================= */

.envoy-share-icon img {

    display: block !important;

    width: 25px !important;
    height: 25px !important;

    max-width: 25px !important;
    max-height: 25px !important;

    object-fit: contain !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    background: transparent !important;
}


/* WhatsApp */

.envoy-whatsapp-icon img {

    width: 25px !important;
    height: 25px !important;

    max-width: 25px !important;
    max-height: 25px !important;
}


/* =========================================================
   13. OPTION TEXT
   ========================================================= */

.envoy-share-option-text {

    display: block !important;

    flex: 1 1 auto !important;

    width: auto !important;

    min-width: 0 !important;

    padding: 0 !important;
    margin: 0 !important;

    color: inherit !important;

    font-family: 'Poppins', sans-serif !important;

    font-size: 15px !important;

    font-weight: 600 !important;

    line-height: 1.2 !important;

    text-align: left !important;

    white-space: nowrap !important;

    vertical-align: middle !important;
}


/* =========================================================
   14. REMOVE WORDPRESS / ELEMENTOR BUTTON PSEUDO EFFECTS
   ========================================================= */

.envoy-share-option::before,
.envoy-share-option::after {

    display: none !important;

    content: none !important;
}


/* =========================================================
   15. COPY SUCCESS STATE
   ========================================================= */

.envoy-copy-success {

    color: #0878e8 !important;

    font-weight: 600 !important;
}


/* =========================================================
   16. TABLET
   ========================================================= */

@media (max-width: 900px) {

    .envoy-share-menu {

        position: absolute !important;

        top: calc(100% + 8px) !important;

        left: auto !important;
        right: 0 !important;

        width: 175px !important;

        padding: 7px !important;

        background: #ffffff !important;

        border: 1px solid #1683ff !important;

        border-radius: 8px !important;

        z-index: 99999 !important;

        box-shadow:
            0 10px 25px rgba(0, 0, 0, 0.13),
            0 3px 8px rgba(0, 0, 0, 0.07) !important;
    }

}


/* =========================================================
   17. MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .envoy-product-share {

        width: 34px !important;
        height: 34px !important;

        flex-basis: 34px !important;

        margin-left: 6px !important;
    }


    .envoy-share-button {

        width: 34px !important;
        height: 34px !important;
    }


    .envoy-share-menu {

        top: calc(100% + 7px) !important;

        left: auto !important;

        right: 0 !important;

        width: 165px !important;

        padding: 6px !important;

        border-radius: 8px !important;
    }


    .envoy-share-option {

        height: 42px !important;

        min-height: 42px !important;

        padding: 7px 9px !important;

        margin-bottom: 4px !important;

        font-size: 12px !important;
    }


    .envoy-share-option-text {

        font-size: 12px !important;
    }

}

/* =========================================================
   ENVOY XTECH - SHARED PRODUCT HIGHLIGHT
   ========================================================= */

/* Keep the card animation smooth */
.envoy-product-card {
    scroll-margin-top: 120px;

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease;
}


/* =========================================================
   SHARED PRODUCT
   DARK BLUE HIGHLIGHT
   ========================================================= */

.envoy-product-card.envoy-shared-product-highlight {

    /* Same movement style as normal hover */
    transform: translateY(-5px);

    /* Dark Envoy blue glow */
    box-shadow:
        0 10px 25px rgba(0, 55, 110, 0.40),
        0 0 25px rgba(0, 55, 110, 0.30),
        0 0 45px rgba(0, 55, 110, 0.18);
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .envoy-product-card {
        scroll-margin-top: 80px;
    }

    .envoy-product-card.envoy-shared-product-highlight {

        transform: translateY(-3px);

        box-shadow:
            0 8px 22px rgba(0, 55, 110, 0.35),
            0 0 22px rgba(0, 55, 110, 0.28),
            0 0 38px rgba(0, 55, 110, 0.16);
    }

}

/* =========================================================
   ENVOY XTECH - SEARCH BAR & SEARCH BUTTON
   FINAL BLUE THEME OVERRIDE
   ========================================================= */

/* =========================
   SEARCH INPUT
   ========================= */

.envoy-catalogue-search input,
.envoy-catalogue-search input[type="search"],
.envoy-catalogue-search input[type="text"] {

    background: #ffffff !important;

    color: #222222 !important;

    border: 1px solid #d3dce8 !important;

    border-radius: 6px !important;

    outline: none !important;

    box-shadow: none !important;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease !important;
}


/* SEARCH INPUT - HOVER */

.envoy-catalogue-search input:hover,
.envoy-catalogue-search input[type="search"]:hover,
.envoy-catalogue-search input[type="text"]:hover {

    border-color: #0080ff !important;

    outline: none !important;

    box-shadow:
        0 0 0 1px rgba(0, 128, 255, 0.08) !important;
}


/* SEARCH INPUT - CLICK / FOCUS */

.envoy-catalogue-search input:focus,
.envoy-catalogue-search input[type="search"]:focus,
.envoy-catalogue-search input[type="text"]:focus {

    border-color: #0080ff !important;

    outline: none !important;

    box-shadow:
        0 0 0 2px rgba(0, 128, 255, 0.08),
        0 0 10px rgba(0, 128, 255, 0.08) !important;
}


/* =========================================================
   ENVOY XTECH - SEARCH BUTTON
   FINAL BLUE HOVER / FOCUS STYLE
   ========================================================= */

.envoy-catalogue-search button {

    background: #ffffff !important;

    color: #222222 !important;

    border: 1px solid #d3dce8 !important;

    border-radius: 6px !important;

    outline: none !important;

    box-shadow: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.2s ease !important;
}


/* =========================================================
   HOVER
   ========================================================= */

.envoy-catalogue-search button:hover {

    background: #0080ff !important;

    color: #ffffff !important;

    border-color: #0080ff !important;

    outline: none !important;

    box-shadow:
        0 5px 14px rgba(0, 35, 80, 0.28),
        0 0 12px rgba(0, 128, 255, 0.18) !important;

    transform: translateY(-1px) !important;
}


/* =========================================================
   CLICK / FOCUS
   ========================================================= */

.envoy-catalogue-search button:focus,
.envoy-catalogue-search button:active {

    background: #0080ff !important;

    color: #ffffff !important;

    border-color: #0080ff !important;

    outline: none !important;

    box-shadow:
        0 5px 14px rgba(0, 35, 80, 0.30),
        0 0 14px rgba(0, 128, 255, 0.20) !important;

    transform: translateY(-1px) !important;
}


/* =========================================================
   PREVENT WORDPRESS / ELEMENTOR PINK EFFECT
   ========================================================= */

.envoy-catalogue-search button::before,
.envoy-catalogue-search button::after {

    background: transparent !important;

    box-shadow: none !important;

}


/* Keep text white when hovering/focusing */

.envoy-catalogue-search button:hover *,
.envoy-catalogue-search button:focus *,
.envoy-catalogue-search button:active * {

    color: #ffffff !important;
}

/* =========================================================
   ENVOY XTECH - CATEGORY & BRAND DROPDOWNS
   BLUE FOCUS / HOVER STYLE
   ========================================================= */

/* Normal state */
.envoy-catalogue-toolbar select {

    background-color: #ffffff !important;

    color: #222222 !important;

    border: 1px solid #d3dce8 !important;

    border-radius: 6px !important;

    outline: none !important;

    box-shadow: none !important;

    cursor: pointer !important;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease !important;
}


/* Hover */
.envoy-catalogue-toolbar select:hover {

    border-color: #0080ff !important;

    outline: none !important;

    box-shadow:
        0 0 0 1px rgba(0, 128, 255, 0.08) !important;
}


/* Click / Focus */
.envoy-catalogue-toolbar select:focus {

    border-color: #0080ff !important;

    outline: none !important;

    box-shadow:
        0 0 0 2px rgba(0, 128, 255, 0.08),
        0 0 10px rgba(0, 128, 255, 0.08) !important;
}


/* Clicked + still focused */
.envoy-catalogue-toolbar select:active {

    border-color: #0080ff !important;

    outline: none !important;

    box-shadow:
        0 0 0 2px rgba(0, 128, 255, 0.08),
        0 0 10px rgba(0, 128, 255, 0.08) !important;
}

/* =========================================================
   PRODUCT IMAGE SLIDER CONTROLS
   ONLY ARROWS + DOTS
   ========================================================= */

/* The existing image container is already correct.
   We only make it the positioning reference for controls. */

.envoy-product-image-slider {
    position: relative !important;
    overflow: hidden !important;
}


/* =========================================================
   ARROWS
   ========================================================= */

.envoy-product-slider-arrow {
    position: absolute !important;

    top: 50% !important;
    transform: translateY(-50%) !important;

    width: 34px !important;
    height: 34px !important;

    padding: 0 !important;
    margin: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: rgba(255, 255, 255, 0.95) !important;

    color: #111111 !important;

    border: 1px solid #d5d5d5 !important;
    border-radius: 50% !important;

    font-family: Arial, sans-serif !important;
    font-size: 21px !important;
    font-weight: 400 !important;

    line-height: 1 !important;

    cursor: pointer !important;

    z-index: 50 !important;

    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12) !important;

    opacity: 0 !important;

    transition:
        opacity 0.2s ease,
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease !important;

    appearance: none !important;
    -webkit-appearance: none !important;
}


/* Left arrow */

.envoy-product-slider-prev {
    left: 10px !important;
}


/* Right arrow */

.envoy-product-slider-next {
    right: 10px !important;
}


/* =========================================================
   DESKTOP
   Arrows appear only when hovering image
   ========================================================= */

@media (min-width: 901px) {

    .envoy-product-image-slider:hover
    .envoy-product-slider-arrow {

        opacity: 1 !important;

    }

}


/* =========================================================
   ARROW HOVER
   ========================================================= */

.envoy-product-slider-arrow:hover {

    background: #0080ff !important;

    color: #ffffff !important;

    border-color: #0080ff !important;

}


/* =========================================================
   MOBILE + TABLET
   Arrows ALWAYS visible
   ========================================================= */

@media (max-width: 900px) {

    .envoy-product-slider-arrow {

        opacity: 1 !important;

    }

}


/* =========================================================
   DOTS
   ========================================================= */

.envoy-product-slider-dots {

    position: absolute !important;

    left: 50% !important;
    bottom: 10px !important;

    transform: translateX(-50%) !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    gap: 5px !important;

    z-index: 50 !important;

    pointer-events: none !important;

}


.envoy-product-slider-dot {

    width: 6px !important;
    height: 6px !important;

    padding: 0 !important;
    margin: 0 !important;

    background: #c7c7c7 !important;

    border-radius: 50% !important;

    display: block !important;

    transition:
        background-color 0.2s ease,
        transform 0.2s ease !important;

}


.envoy-product-slider-dot.active {

    background: #0080ff !important;

    transform: scale(1.3) !important;

}


/* =========================================================
   IF ONLY ONE IMAGE
   Hide controls
   ========================================================= */

.envoy-product-image-slider.envoy-single-image
.envoy-product-slider-arrow,

.envoy-product-image-slider.envoy-single-image
.envoy-product-slider-dots {

    display: none !important;

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .envoy-product-slider-arrow {

        width: 32px !important;
        height: 32px !important;

        font-size: 19px !important;

    }

    .envoy-product-slider-prev {

        left: 7px !important;

    }

    .envoy-product-slider-next {

        right: 7px !important;

    }

    .envoy-product-slider-dots {

        bottom: 8px !important;

    }

}