/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Oct 31 2026 | 01:14:10 */
/* ==========================================
   OSC — DYNAMIC CATEGORY NAVIGATION
   DESKTOP / TABLET / MOBILE
   ========================================== */


/* ==========================================
   ELEMENTOR SHORTCODE WRAPPER
   ========================================== */

.elementor-widget-shortcode:has(.osc-category-nav) {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

.elementor-widget-shortcode:has(.osc-category-nav)
.elementor-widget-container {
    width: 100% !important;
}


/* ==========================================
   MAIN NAVIGATION
   ========================================== */

nav.osc-category-nav {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #f5f7f9 !important;

    border-top: 1px solid #c2c2c2 !important;
    border-bottom: 1px solid #c2c2c2 !important;
    border-left: none !important;
    border-right: none !important;
    border-radius: 0 !important;

    box-shadow: none !important;
}


/* ==========================================
   CATEGORY LINKS WRAPPER — DESKTOP
   ========================================== */

nav.osc-category-nav > .osc-category-links {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;

    gap: 32px !important;

    width: 100% !important;
    min-height: 64px !important;

    box-sizing: border-box !important;

    margin: 0 !important;
    padding: 0 max(24px, calc((100vw - 1380px) / 2)) !important;

    overflow-x: auto !important;
    overflow-y: hidden !important;

    white-space: nowrap !important;

    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

nav.osc-category-nav > .osc-category-links::-webkit-scrollbar {
    display: none;
}


/* ==========================================
   CATEGORY LINKS
   ========================================== */

nav.osc-category-nav .osc-category-links > a.osc-category-link {
    position: relative !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    flex: 0 0 auto !important;

    min-height: 64px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;

    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    color: #0a6a9b !important;

    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;

    text-decoration: none !important;
    text-transform: none !important;
    white-space: nowrap !important;

    transition: color 0.25s ease;
}


/* ==========================================
   HOVER
   ========================================== */

nav.osc-category-nav .osc-category-links > a.osc-category-link:hover {
    color: #084e73 !important;
}


/* ==========================================
   ACTIVE CATEGORY
   ========================================== */

nav.osc-category-nav .osc-category-links > a.osc-category-link.is-active {
    color: #084e73 !important;
    font-weight: 700 !important;
}


/* ==========================================
   UNDERLINE EFFECT
   ========================================== */

nav.osc-category-nav .osc-category-links > a.osc-category-link::after {
    content: "" !important;

    position: absolute !important;

    bottom: 0 !important;
    left: 0 !important;

    width: 100% !important;
    height: 3px !important;

    background: #0a6a9b !important;

    border: none !important;
    border-radius: 0 !important;

    transform: scaleX(0);
    transform-origin: left;

    transition: transform 0.25s ease;
}

/* Active underline */

nav.osc-category-nav .osc-category-links > a.osc-category-link.is-active::after {
    transform: scaleX(1);
}

/* Hover underline */

nav.osc-category-nav .osc-category-links > a.osc-category-link:not(.is-active):hover::after {
    transform: scaleX(1);
}


/* ==========================================
   MOBILE TOGGLE — HIDDEN ON DESKTOP
   ========================================== */

nav.osc-category-nav > button.osc-category-toggle {
    display: none !important;
}


/* ==========================================
   TABLET
   ========================================== */

@media (min-width: 768px) and (max-width: 1024px) {

    nav.osc-category-nav > .osc-category-links {
        gap: 24px !important;
        padding: 0 24px !important;
        min-height: 56px !important;
    }

    nav.osc-category-nav .osc-category-links > a.osc-category-link {
        min-height: 56px !important;
        font-size: 13px !important;
    }

}


/* ==========================================
   MOBILE
   ========================================== */

@media (max-width: 767px) {

    /* ======================================
       FULL-WIDTH MOBILE ALIGNMENT
       ====================================== */

    .elementor-widget-shortcode:has(.osc-category-nav) {
        width: 100vw !important;
        max-width: 100vw !important;

        position: relative !important;
        left: 50% !important;
        margin-left: -50vw !important;
    }


    /* ======================================
       MOBILE NAVIGATION
       ====================================== */

    nav.osc-category-nav {
        display: flex !important;
        flex-direction: column !important;

        width: 100% !important;
        min-height: 0 !important;

        padding: 0 7.5vw !important;

        overflow: hidden !important;
    }


    /* ======================================
       MOBILE DROPDOWN TOGGLE
       ====================================== */

    nav.osc-category-nav > button.osc-category-toggle {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;

        width: 100% !important;
        min-height: 56px !important;
        height: 56px !important;

        flex: 0 0 auto !important;

        margin: 0 !important;
        padding: 0 !important;

        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;

        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;

        color: #0a6a9b !important;

        font-family: inherit !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        line-height: 1.4 !important;

        text-align: left !important;
        text-decoration: none !important;
        text-transform: none !important;
        letter-spacing: normal !important;

        cursor: pointer;

        -webkit-appearance: none !important;
        appearance: none !important;

        transition: none !important;
    }


    /* Prevent theme button styling */

    nav.osc-category-nav > button.osc-category-toggle:hover,
    nav.osc-category-nav > button.osc-category-toggle:active,
    nav.osc-category-nav > button.osc-category-toggle:focus {
        background: transparent !important;
        background-color: transparent !important;

        color: #0a6a9b !important;

        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }


    /* Keyboard focus */

    nav.osc-category-nav > button.osc-category-toggle:focus-visible {
        outline: 2px solid #0a6a9b !important;
        outline-offset: -3px !important;
    }


    /* ======================================
       DROPDOWN CHEVRON
       ====================================== */

    nav.osc-category-nav > button.osc-category-toggle::after {
        content: "" !important;

        display: block !important;
        position: relative !important;

        flex: 0 0 8px !important;

        width: 8px !important;
        height: 8px !important;

        margin: -4px 4px 0 16px !important;
        padding: 0 !important;

        background: transparent !important;

        border-top: none !important;
        border-left: none !important;
        border-right: 2px solid #0a6a9b !important;
        border-bottom: 2px solid #0a6a9b !important;

        border-radius: 0 !important;

        transform: rotate(45deg) !important;

        transition: transform 0.3s ease-in-out !important;
    }

    nav.osc-category-nav.is-open
    > button.osc-category-toggle::after {
        transform: rotate(225deg) !important;
        margin-top: 4px !important;
    }


    /* ======================================
       DROPDOWN PANEL — ANIMATION
       ====================================== */

    nav.osc-category-nav > .osc-category-links {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;

        gap: 0 !important;

        width: 100% !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        box-sizing: border-box !important;

        overflow: hidden !important;
        white-space: normal !important;

        /* Height controlled by JavaScript */
        height: 0;

        opacity: 0;
        visibility: hidden;

        transition:
            height 0.4s cubic-bezier(0.25, 0.1, 0.25, 1),
            opacity 0.3s ease,
            visibility 0s linear 0.4s;
    }


    /* Expanded panel */

    nav.osc-category-nav.is-open > .osc-category-links {
        opacity: 1;
        visibility: visible;

        transition:
            height 0.4s cubic-bezier(0.25, 0.1, 0.25, 1),
            opacity 0.3s ease,
            visibility 0s;
    }


    /* ======================================
       MOBILE CATEGORY LINKS
       ====================================== */

    nav.osc-category-nav .osc-category-links > a.osc-category-link {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;

        width: 100% !important;
        min-height: 48px !important;

        flex: 0 0 auto !important;

        margin: 0 !important;
        padding: 0 12px !important;

        background: transparent !important;

        border: none !important;
        border-top: 1px solid #e0e0e0 !important;
        border-radius: 0 !important;

        box-shadow: none !important;

        color: #0a6a9b !important;

        font-size: 14px !important;
        font-weight: 500 !important;
        line-height: 1.4 !important;

        text-align: left !important;
        text-transform: none !important;

        white-space: normal !important;
    }


    /* Hover */

    nav.osc-category-nav .osc-category-links > a.osc-category-link:hover {
        background: #e8f2f7 !important;
        color: #084e73 !important;
    }


    /* Active category */

    nav.osc-category-nav .osc-category-links > a.osc-category-link.is-active {
        background: #e8f2f7 !important;

        color: #084e73 !important;
        font-weight: 700 !important;
    }


    /* Remove desktop underlines */

    nav.osc-category-nav .osc-category-links > a.osc-category-link::after {
        display: none !important;
        content: none !important;
    }

}


/* ==========================================
   REDUCED MOTION
   ========================================== */

@media (prefers-reduced-motion: reduce) {

    nav.osc-category-nav > .osc-category-links,
    nav.osc-category-nav > button.osc-category-toggle::after {
        transition: none !important;
    }

}

/* ==========================================
   OSC — BACK TO ALL PRODUCT CATEGORIES
   ========================================== */

nav.osc-category-back-nav {
    display: flex !important;
    align-items: center !important;
    min-height: 64px !important;
}

nav.osc-category-back-nav > a.osc-category-back-link {
    display: inline-flex !important;
    align-items: center !important;

    gap: 10px !important;

    min-height: 64px !important;

    margin: 0 !important;
    padding: 0 max(24px, calc((100vw - 1380px) / 2)) !important;

    color: #0a6a9b !important;

    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;

    text-decoration: none !important;

    background: transparent !important;

    transition: color 0.25s ease;
}

nav.osc-category-back-nav > a.osc-category-back-link:hover {
    color: #084e73 !important;
}

nav.osc-category-back-nav .osc-back-arrow {
    font-size: 20px !important;
    font-weight: 400 !important;
    line-height: 1 !important;

    transition: transform 0.25s ease;
}

nav.osc-category-back-nav > a.osc-category-back-link:hover
.osc-back-arrow {
    transform: translateX(-4px);
}


/* ==========================================
   TABLET
   ========================================== */

@media (min-width: 768px) and (max-width: 1024px) {

    nav.osc-category-back-nav,
    nav.osc-category-back-nav > a.osc-category-back-link {
        min-height: 56px !important;
    }

    nav.osc-category-back-nav > a.osc-category-back-link {
        padding: 0 24px !important;
    }

}


/* ==========================================
   MOBILE
   ========================================== */

@media (max-width: 767px) {

    nav.osc-category-back-nav {
        min-height: 56px !important;
        padding: 0 7.5vw !important;
    }

    nav.osc-category-back-nav > a.osc-category-back-link {
        width: 100% !important;
        min-height: 56px !important;

        padding: 0 !important;

        font-size: 14px !important;
    }

}