/* HIDE ONLY THE OLD THEME HEADER */
#site-header,
.site-header,
header.site-header,
header#masthead {
    display: none !important;
}

/* HIDE OLD THEME FOOTER TOO */
#site-footer,
.site-footer,
footer.site-footer {
    display: none !important;
}

/* REMOVE SPACE LEFT BEHIND */
.site-main,
.site-content,
#content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
/* =========================================================
   MONOLITH LABS — COMPLETE PREMIUM SHOP DESIGN
   WooCommerce / Gutenberg Product Collection
   Desktop: 3 products
   Mobile: 2 products
   ========================================================= */

:root {
    --el-navy: #0f2c25;
    --el-navy-soft: #17463a;
    --el-blue: #3d3a32;
    --el-blue-dark: #3d3a32;
    --el-blue-pale: #f9f7f4;
    --el-text: #12372e;
    --el-muted: #908877;
    --el-border: #efebe2;
    --el-bg: #f7f9fc;
    --el-white: #ffffff;

    --el-shadow:
        0 8px 28px rgba(15,44,37,.07);

    --el-shadow-hover:
        0 20px 48px rgba(15,44,37,.14);
}


/* =========================================================
   1. REMOVE OLD THEME HEADER + FOOTER ONLY
   ========================================================= */

#site-header,
.site-header,
header.site-header,
header#masthead {
    display: none !important;
}

#site-footer,
.site-footer,
footer.site-footer {
    display: none !important;
}


/* =========================================================
   2. REMOVE DEFAULT "SHOP" PAGE TITLE
   ========================================================= */

.entry-header,
.page-header,
h1.entry-title {
    display: none !important;
}


/* =========================================================
   3. REMOVE OLD THEME SPACING
   ========================================================= */

#content,
.site-content,
.content-area,
.site-main,
main {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.entry-content {
    margin-top: 0 !important;
}


/* =========================================================
   4. PAGE BACKGROUND
   ========================================================= */

body {
    background: var(--el-bg);
    color: var(--el-text);
}


/* =========================================================
   5. HERO — RESEARCH COMPOUNDS
   Works with your first large Gutenberg group
   ========================================================= */

.entry-content > .wp-block-group:first-of-type {
    background:
        linear-gradient(
            135deg,
            #0c231d 0%,
            #11322a 100%
        ) !important;

    padding:
        68px
        30px
        72px !important;

    margin: 0 !important;

    border-bottom:
        2px solid
        var(--el-blue) !important;
}

.entry-content > .wp-block-group:first-of-type > * {
    max-width: 1100px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}


/* eyebrow */

.entry-content > .wp-block-group:first-of-type p:first-child {
    color: #7a7466 !important;

    font-size: 11px !important;
    font-weight: 800 !important;

    letter-spacing: .26em !important;

    text-transform: uppercase !important;

    margin-bottom: 22px !important;
}


/* hero heading */

.entry-content > .wp-block-group:first-of-type h1,
.entry-content > .wp-block-group:first-of-type h2 {
    color: #ffffff !important;

    font-size:
        clamp(44px, 5vw, 68px) !important;

    line-height: 1.03 !important;

    font-weight: 800 !important;

    letter-spacing: -.045em !important;

    margin:
        0
        0
        22px !important;
}


/* hero description */

.entry-content > .wp-block-group:first-of-type p:not(:first-child) {
    color: #c6c2ba !important;

    font-size: 17px !important;
    line-height: 1.65 !important;

    max-width: 720px !important;

    margin-bottom: 0 !important;
}


/* =========================================================
   6. SHOP CONTROLS AREA
   ========================================================= */

.entry-content > .wp-block-group:nth-of-type(2),
.entry-content > .wp-block-columns {
    max-width: 1100px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}


/* =========================================================
   7. SEARCH BAR
   ========================================================= */

.entry-content input[type="search"],
.wp-block-search input,
.wc-block-product-search input {
    width: 100% !important;

    min-height: 56px !important;

    padding:
        0
        22px !important;

    background:
        #ffffff !important;

    color:
        var(--el-text) !important;

    border:
        1px solid
        #eae5db !important;

    border-radius:
        999px !important;

    font-size:
        15px !important;

    box-shadow:
        0 5px 18px
        rgba(15,44,37,.045) !important;

    outline:
        none !important;

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


.entry-content input[type="search"]:focus,
.wp-block-search input:focus,
.wc-block-product-search input:focus {
    border-color:
        var(--el-blue) !important;

    box-shadow:
        0 0 0 4px
        rgba(61,58,50,.11) !important;
}


input[type="search"]::placeholder {
    color:
        #afa99d !important;
}


/* remove weird search button styling */

.wp-block-search__button,
.wc-block-product-search button {
    background:
        var(--el-navy) !important;

    color:
        #ffffff !important;

    border:
        0 !important;

    border-radius:
        999px !important;

    min-height:
        50px !important;

    padding:
        0
        22px !important;

    font-weight:
        700 !important;
}


/* =========================================================
   8. SORT BY
   ========================================================= */

select,
.woocommerce-ordering select,
.wc-block-components-product-sort-select select {
    min-height: 56px !important;

    background:
        #ffffff !important;

    color:
        var(--el-text) !important;

    border:
        1px solid
        #eae5db !important;

    border-radius:
        999px !important;

    padding:
        0
        45px
        0
        18px !important;

    font-size:
        14px !important;

    font-weight:
        650 !important;

    cursor:
        pointer !important;

    outline:
        none !important;

    box-shadow:
        0 5px 18px
        rgba(15,44,37,.035) !important;
}


/* =========================================================
   9. FILTER BUTTONS / CATEGORY PILLS
   ========================================================= */

.wc-block-components-chip,
.wc-block-product-filter button,
.entry-content .wp-block-button.is-style-outline .wp-block-button__link {
    background:
        #ffffff !important;

    color:
        #226856 !important;

    border:
        1px solid
        #eae4d9 !important;

    border-radius:
        999px !important;

    padding:
        9px
        17px !important;

    font-size:
        13px !important;

    font-weight:
        650 !important;

    transition:
        all .2s ease !important;
}


.wc-block-components-chip:hover,
.wc-block-product-filter button:hover,
.entry-content .wp-block-button.is-style-outline .wp-block-button__link:hover {
    background:
        var(--el-blue-pale) !important;

    color:
        var(--el-blue) !important;

    border-color:
        #e4ddcf !important;
}


/* active filter */

.wc-block-components-chip.is-selected,
.wc-block-components-chip[aria-pressed="true"] {
    background:
        var(--el-navy) !important;

    color:
        #ffffff !important;

    border-color:
        var(--el-navy) !important;
}


/* =========================================================
   10. RESULTS COUNT
   ========================================================= */

.wc-block-product-results-count,
.woocommerce-result-count {
    color:
        #a7a093 !important;

    font-size:
        13px !important;

    margin-top:
        12px !important;
}


/* =========================================================
   11. PRODUCT COLLECTION SECTION
   ========================================================= */

.wp-block-woocommerce-product-collection {
    max-width:
        1120px !important;

    margin:
        55px
        auto
        85px !important;

    padding:
        0
        20px !important;
}


/* collection heading */

.wp-block-woocommerce-product-collection h2,
.wp-block-woocommerce-product-collection h3 {
    color:
        var(--el-navy) !important;

    font-size:
        30px !important;

    line-height:
        1.15 !important;

    font-weight:
        800 !important;

    letter-spacing:
        -.03em !important;

    margin:
        0
        0
        30px !important;
}


/* =========================================================
   12. PRODUCT GRID — 3 DESKTOP
   ========================================================= */

.wc-block-product-template,
.woocommerce ul.products {
    display:
        grid !important;

    grid-template-columns:
        repeat(3, minmax(0,1fr))
        !important;

    gap:
        26px !important;

    width:
        100% !important;

    margin:
        0 !important;

    padding:
        0 !important;

    list-style:
        none !important;
}


/* =========================================================
   13. PRODUCT CARD
   ========================================================= */

.wc-block-product,
.woocommerce ul.products li.product {
    position:
        relative !important;

    display:
        flex !important;

    flex-direction:
        column !important;

    height:
        100% !important;

    min-width:
        0 !important;

    margin:
        0 !important;

    padding:
        0
        0
        22px !important;

    background:
        #ffffff !important;

    border:
        1px solid
        var(--el-border) !important;

    border-radius:
        20px !important;

    overflow:
        hidden !important;

    box-shadow:
        var(--el-shadow) !important;

    transition:
        transform .28s ease,
        box-shadow .28s ease,
        border-color .28s ease !important;
}


.wc-block-product:hover,
.woocommerce ul.products li.product:hover {
    transform:
        translateY(-6px) !important;

    border-color:
        #e2dbcc !important;

    box-shadow:
        var(--el-shadow-hover) !important;
}


/* blue accent appears on hover */

.wc-block-product::before {
    content:
        "";

    position:
        absolute;

    top:
        0;

    left:
        0;

    width:
        100%;

    height:
        3px;

    background:
        linear-gradient(
            90deg,
            var(--el-blue),
            #f1ecde
        );

    opacity:
        0;

    transition:
        opacity .25s ease;

    z-index:
        5;
}


.wc-block-product:hover::before {
    opacity:
        1;
}


/* =========================================================
   14. PRODUCT IMAGES
   ========================================================= */

.wc-block-components-product-image {
    margin:
        0 !important;

    overflow:
        hidden !important;
}


.wc-block-components-product-image img,
.woocommerce ul.products li.product img {
    display:
        block !important;

    width:
        100% !important;

    height:
        auto !important;

    aspect-ratio:
        1 / 1 !important;

    object-fit:
        cover !important;

    margin:
        0 !important;

    background:
        #f6f4f0 !important;

    transition:
        transform .35s ease !important;
}


.wc-block-product:hover
.wc-block-components-product-image img {
    transform:
        scale(1.025) !important;
}


/* =========================================================
   15. PRODUCT TITLE — FIX RED LINKS
   ========================================================= */

.wc-block-product .wp-block-post-title,
.wc-block-product .wp-block-post-title a,
.wc-block-product .wc-block-components-product-title,
.wc-block-product .wc-block-components-product-title a,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title a {
    color:
        var(--el-navy) !important;

    text-decoration:
        none !important;

    font-size:
        20px !important;

    line-height:
        1.22 !important;

    font-weight:
        800 !important;

    letter-spacing:
        -.025em !important;

    margin:
        18px
        18px
        9px !important;
}


.wc-block-product .wp-block-post-title a:hover,
.wc-block-product .wc-block-components-product-title a:hover {
    color:
        var(--el-blue) !important;
}


/* kill inherited red theme links */

.wp-block-woocommerce-product-collection a {
    text-decoration:
        none !important;
}


/* =========================================================
   16. PRODUCT SHORT DESCRIPTION
   ========================================================= */

.wc-block-product .wp-block-post-excerpt,
.wc-block-components-product-summary {
    margin:
        0
        18px
        15px !important;

    color:
        var(--el-muted) !important;

    font-size:
        13.5px !important;

    line-height:
        1.55 !important;
}


/* =========================================================
   17. PRICE
   ========================================================= */

.wc-block-components-product-price,
.woocommerce ul.products li.product .price {
    margin:
        3px
        18px
        16px !important;

    color:
        var(--el-blue) !important;

    font-size:
        19px !important;

    line-height:
        1.2 !important;

    font-weight:
        800 !important;
}


.wc-block-components-product-price del,
.woocommerce ul.products li.product .price del {
    color:
        #b0aa9f !important;

    opacity:
        1 !important;

    font-size:
        13px !important;

    font-weight:
        500 !important;

    margin-right:
        7px !important;
}


.wc-block-components-product-price ins,
.woocommerce ul.products li.product .price ins {
    color:
        var(--el-blue) !important;

    text-decoration:
        none !important;

    font-weight:
        800 !important;
}


/* =========================================================
   18. ADD TO CART / SELECT OPTIONS
   ========================================================= */

.wc-block-components-product-button {
    margin-top:
        auto !important;
}


.wc-block-components-product-button .wp-block-button__link,
.woocommerce ul.products li.product .button {
    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    width:
        calc(100% - 36px)
        !important;

    min-height:
        48px !important;

    margin:
        auto
        18px
        0 !important;

    padding:
        13px
        14px !important;

    background:
        linear-gradient(
            135deg,
            var(--el-navy),
            var(--el-navy-soft)
        ) !important;

    color:
        #ffffff !important;

    border:
        0 !important;

    border-radius:
        11px !important;

    font-size:
        14px !important;

    line-height:
        1 !important;

    font-weight:
        700 !important;

    text-decoration:
        none !important;

    box-shadow:
        none !important;

    transition:
        transform .2s ease,
        background .2s ease,
        box-shadow .2s ease !important;
}


.wc-block-components-product-button .wp-block-button__link:hover,
.woocommerce ul.products li.product .button:hover {
    background:
        linear-gradient(
            135deg,
            var(--el-blue),
            var(--el-blue-dark)
        ) !important;

    transform:
        translateY(-1px) !important;

    box-shadow:
        0 8px 20px
        rgba(61,58,50,.23) !important;
}


/* =========================================================
   19. SALE BADGE
   ========================================================= */

.wc-block-components-product-sale-badge,
.woocommerce span.onsale {
    position:
        absolute !important;

    top:
        12px !important;

    right:
        12px !important;

    left:
        auto !important;

    min-width:
        auto !important;

    min-height:
        auto !important;

    padding:
        7px
        10px !important;

    background:
        rgba(255,255,255,.96) !important;

    color:
        var(--el-navy) !important;

    border:
        1px solid
        rgba(15,44,37,.17) !important;

    border-radius:
        8px !important;

    box-shadow:
        0 6px 18px
        rgba(15,44,37,.10) !important;

    font-size:
        10px !important;

    line-height:
        1 !important;

    font-weight:
        800 !important;

    letter-spacing:
        .07em !important;

    text-transform:
        uppercase !important;

    z-index:
        10 !important;
}


/* =========================================================
   20. PAGINATION
   ========================================================= */

.wc-block-pagination,
.woocommerce-pagination {
    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    flex-wrap:
        wrap !important;

    gap:
        8px !important;

    margin:
        50px
        0
        0 !important;
}


.wc-block-pagination a,
.wc-block-pagination span,
.woocommerce-pagination .page-numbers {
    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    min-width:
        42px !important;

    height:
        42px !important;

    padding:
        0
        12px !important;

    background:
        #ffffff !important;

    color:
        var(--el-navy) !important;

    border:
        1px solid
        var(--el-border) !important;

    border-radius:
        10px !important;

    font-size:
        13px !important;

    font-weight:
        700 !important;

    text-decoration:
        none !important;

    transition:
        all .2s ease !important;
}


.wc-block-pagination a:hover,
.woocommerce-pagination a.page-numbers:hover {
    background:
        var(--el-blue) !important;

    color:
        #ffffff !important;

    border-color:
        var(--el-blue) !important;
}


.wc-block-pagination .current,
.woocommerce-pagination .current {
    background:
        var(--el-navy) !important;

    color:
        #ffffff !important;

    border-color:
        var(--el-navy) !important;
}


/* =========================================================
   21. TABLET
   ========================================================= */

@media (max-width: 950px) {

    .wc-block-product-template,
    .woocommerce ul.products {
        grid-template-columns:
            repeat(2, minmax(0,1fr))
            !important;
    }

}


/* =========================================================
   22. MOBILE — 2 PRODUCTS PER ROW
   ========================================================= */

@media (max-width: 650px) {

    .entry-content > .wp-block-group:first-of-type {
        padding:
            46px
            18px
            50px !important;
    }


    .entry-content > .wp-block-group:first-of-type h1,
    .entry-content > .wp-block-group:first-of-type h2 {
        font-size:
            38px !important;
    }


    .entry-content > .wp-block-group:first-of-type p:not(:first-child) {
        font-size:
            15px !important;
    }


    .wp-block-woocommerce-product-collection {
        padding:
            0
            10px !important;

        margin-top:
            35px !important;
    }


    .wc-block-product-template,
    .woocommerce ul.products {
        grid-template-columns:
            repeat(2, minmax(0,1fr))
            !important;

        gap:
            10px !important;
    }


    .wc-block-product {
        border-radius:
            13px !important;

        padding-bottom:
            12px !important;
    }


    .wc-block-product .wp-block-post-title,
    .wc-block-product .wp-block-post-title a,
    .wc-block-product .wc-block-components-product-title,
    .wc-block-product .wc-block-components-product-title a {
        font-size:
            14px !important;

        line-height:
            1.2 !important;

        margin:
            11px
            10px
            6px !important;
    }


    .wc-block-components-product-price {
        font-size:
            14px !important;

        margin:
            0
            10px
            10px !important;
    }


    .wc-block-components-product-price del {
        display:
            block !important;

        font-size:
            10px !important;

        margin-bottom:
            2px !important;
    }


    .wc-block-product .wp-block-post-excerpt,
    .wc-block-components-product-summary {
        display:
            none !important;
    }


    .wc-block-components-product-button {
        margin:
            auto
            10px
            0 !important;
    }


    .wc-block-components-product-button .wp-block-button__link {
        width:
            100% !important;

        min-height:
            39px !important;

        margin:
            0 !important;

        padding:
            9px
            4px !important;

        border-radius:
            8px !important;

        font-size:
            11px !important;
    }


    .wc-block-components-product-sale-badge {
        top:
            7px !important;

        right:
            7px !important;

        padding:
            5px
            7px !important;

        font-size:
            8px !important;
    }

}
/* EXACT TWO-BUTTON PRODUCT LAYOUT */

.el-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;

    width: auto !important;

    margin: auto 18px 0 !important;
}


/* DETAILS */

.el-details-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 44px !important;

    background: #ffffff !important;
    color: #12372e !important;

    border: 1px solid #e7e1d5 !important;
    border-radius: 999px !important;

    padding: 10px 12px !important;

    font-size: 14px !important;
    font-weight: 600 !important;

    text-decoration: none !important;

    transition: all .2s ease !important;
}

.el-details-btn:hover {
    background: #f5f7fa !important;
    border-color: #cbc7c0 !important;
    color: #0f2c25 !important;
}


/* + ADD */

.el-add-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    min-height: 44px !important;

    margin: 0 !important;

    background: #121419 !important;
    color: #ffffff !important;

    border: 1px solid #121419 !important;
    border-radius: 999px !important;

    padding: 10px 12px !important;

    font-size: 14px !important;
    font-weight: 700 !important;

    text-decoration: none !important;

    transition: all .2s ease !important;
}

.el-add-btn:hover {
    background: #3d3a32 !important;
    border-color: #3d3a32 !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
}


/* MOBILE — STILL SIDE BY SIDE */

@media (max-width: 650px) {

    .el-actions {
        grid-template-columns: 1fr 1fr !important;
        gap: 5px !important;
        margin: auto 8px 0 !important;
    }

    .el-details-btn,
    .el-add-btn {
        min-height: 36px !important;
        padding: 7px 4px !important;
        font-size: 11px !important;
    }
}
/* MORE ENTICING + ADD BUTTON */

.el-add-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 10px 12px !important;

    border-radius: 999px !important;

    background: linear-gradient(135deg, #153f34, #1d5748) !important;
    color: #ffffff !important;
    border: 1px solid #1d5748 !important;

    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: -.01em !important;
    text-decoration: none !important;

    box-shadow:
        0 8px 18px rgba(16,47,39, 0.18),
        inset 0 1px 0 rgba(255,255,255,0.10) !important;

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        background .18s ease !important;
}

.el-add-btn:hover {
    background: linear-gradient(135deg, #3d3a32, #3d3a32) !important;
    border-color: #3d3a32 !important;
    color: #ffffff !important;
    transform: translateY(-2px) scale(1.02) !important;

    box-shadow:
        0 14px 28px rgba(61,58,50, 0.28),
        inset 0 1px 0 rgba(255,255,255,0.14) !important;
}

.el-add-btn:active {
    transform: translateY(0) scale(0.99) !important;
    box-shadow:
        0 6px 12px rgba(16,47,39, 0.16),
        inset 0 1px 0 rgba(255,255,255,0.08) !important;
}
/* FORCE + ADD BUTTON FINAL STYLE */

.el-actions > a:last-child,
.el-actions > button:last-child,
.el-actions .el-add-btn,
.el-actions .wp-block-button__link.el-add-btn {
    border-radius: 999px !important;
    background: linear-gradient(135deg,#1c5547 0%,#3d3a32 100%) !important;
    color: #fff !important;
    border: 0 !important;

    min-height: 44px !important;
    padding: 10px 18px !important;
    margin: 0 !important;

    font-weight: 800 !important;
    letter-spacing: .01em !important;

    box-shadow:
        0 7px 18px rgba(61,58,50,.25),
        inset 0 1px 0 rgba(255,255,255,.20) !important;

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        filter .18s ease !important;
}

/* HOVER */
.el-actions > a:last-child:hover,
.el-actions > button:last-child:hover,
.el-actions .el-add-btn:hover {
    transform: translateY(-2px) scale(1.025) !important;

    box-shadow:
        0 12px 26px rgba(61,58,50,.36),
        inset 0 1px 0 rgba(255,255,255,.25) !important;

    filter: brightness(1.08) !important;
}

/* CLICK EFFECT */
.el-actions > a:last-child:active,
.el-actions > button:last-child:active,
.el-actions .el-add-btn:active {
    transform: scale(.97) !important;
    box-shadow:
        0 4px 10px rgba(61,58,50,.20) !important;
}
/* FORCE DETAILS BUTTON FINAL STYLE */

.el-actions > a:first-child,
.el-actions .el-details-btn {
    border-radius: 999px !important;
    background: linear-gradient(180deg,#ffffff 0%,#f7f9fc 100%) !important;
    color: #12372e !important;
    border: 1px solid #eae4d9 !important;

    min-height: 44px !important;
    padding: 10px 18px !important;
    margin: 0 !important;

    font-weight: 700 !important;
    letter-spacing: .01em !important;
    text-decoration: none !important;

    box-shadow:
        0 6px 14px rgba(15,44,37,.06),
        inset 0 1px 0 rgba(255,255,255,.95) !important;

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

/* HOVER */
.el-actions > a:first-child:hover,
.el-actions .el-details-btn:hover {
    transform: translateY(-2px) scale(1.02) !important;
    background: linear-gradient(180deg,#ffffff 0%,#f7f5f2 100%) !important;
    border-color: #ded6c5 !important;
    color: #153f34 !important;

    box-shadow:
        0 10px 22px rgba(15,44,37,.11),
        inset 0 1px 0 rgba(255,255,255,.98) !important;
}

/* CLICK EFFECT */
.el-actions > a:first-child:active,
.el-actions .el-details-btn:active {
    transform: scale(.98) !important;
    box-shadow:
        0 4px 10px rgba(15,44,37,.08) !important;
}
/* =========================================
   MONOLITH LABS — PRODUCT CARD POLISH
   ========================================= */

/* Product card */
.wc-block-product {
    background: #ffffff !important;
    border: 1px solid #efebe3 !important;
    border-radius: 22px !important;
    overflow: hidden !important;

    box-shadow:
        0 8px 24px rgba(15,44,37, .06) !important;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease !important;
}

.wc-block-product:hover {
    transform: translateY(-5px) !important;
    border-color: #e4ddcf !important;

    box-shadow:
        0 18px 42px rgba(15,44,37, .12) !important;
}


/* PRODUCT TITLE */

.wc-block-product .wp-block-post-title,
.wc-block-product .wp-block-post-title a,
.wc-block-product .wc-block-components-product-title,
.wc-block-product .wc-block-components-product-title a {
    color: #102f27 !important;

    font-size: 21px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;

    letter-spacing: -.025em !important;

    text-decoration: none !important;

    margin: 22px 20px 14px !important;
}


/* PRICE AREA */

.wc-block-components-product-price {
    display: flex !important;
    align-items: center !important;

    gap: 8px !important;

    margin: 0 20px 22px !important;

    text-align: left !important;

    color: #102f27 !important;

    font-size: 20px !important;
    font-weight: 800 !important;
}


/* OLD PRICE */

.wc-block-components-product-price del {
    color: #afa99e !important;

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

    opacity: 1 !important;

    text-decoration-thickness: 1.5px !important;
}


/* SALE PRICE — NO BRIGHT BLUE */

.wc-block-components-product-price ins {
    color: #102f27 !important;

    font-size: 20px !important;
    font-weight: 850 !important;

    text-decoration: none !important;

    letter-spacing: -.02em !important;
}


/* Variable product price range */

.wc-block-components-product-price .woocommerce-Price-amount {
    color: #102f27 !important;
}


/* SALE BADGE */

.wc-block-components-product-sale-badge {
    background: rgba(255,255,255,.94) !important;

    color: #102f27 !important;

    border: 1px solid rgba(16,47,39,.13) !important;

    border-radius: 999px !important;

    padding: 7px 11px !important;

    font-size: 9px !important;
    font-weight: 850 !important;

    letter-spacing: .09em !important;

    box-shadow:
        0 5px 15px rgba(15,44,37,.08) !important;

    backdrop-filter: blur(8px);
}


/* BUTTON ROW — slight divider */

.el-actions {
    position: relative !important;

    padding-top: 18px !important;

    margin:
        auto
        18px
        0 !important;
}

.el-actions::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 1px;

    background: #edf1f5;
}


/* DETAILS */

.el-details-btn {
    background: #ffffff !important;
    color: #102f27 !important;

    border: 1px solid #e9e3d7 !important;

    border-radius: 999px !important;

    font-weight: 700 !important;

    box-shadow:
        0 3px 10px rgba(15,44,37,.04) !important;
}

.el-details-btn:hover {
    background: #f7f9fc !important;
    border-color: #cdc9c2 !important;

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


/* + ADD */

.el-actions > a:last-child,
.el-actions > button:last-child,
.el-actions .el-add-btn {
    background:
        linear-gradient(
            135deg,
            #102f27,
            #1e5b4c
        ) !important;

    color: #ffffff !important;

    border: 0 !important;

    border-radius: 999px !important;

    font-weight: 800 !important;

    box-shadow:
        0 7px 18px rgba(16,47,39,.20) !important;
}

.el-actions > a:last-child:hover,
.el-actions > button:last-child:hover,
.el-actions .el-add-btn:hover {
    background:
        linear-gradient(
            135deg,
            #1b5144,
            #3d3a32
        ) !important;

    transform:
        translateY(-2px)
        scale(1.02) !important;

    box-shadow:
        0 12px 24px rgba(16,47,39,.28) !important;
}
/* =========================================
   MONOLITH LABS — FINAL CARD DETAILS
   ========================================= */

/* Slightly more premium card depth */
.wc-block-product {
    position: relative !important;
    background: #fff !important;
    border: 1px solid #efebe2 !important;

    box-shadow:
        0 10px 30px rgba(15,44,37,.07) !important;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease !important;
}

.wc-block-product:hover {
    transform: translateY(-6px) !important;

    box-shadow:
        0 22px 48px rgba(15,44,37,.13) !important;

    border-color: #e3dccd !important;
}


/* Subtle blue accent at very top */
.wc-block-product::after {
    content: "";
    position: absolute;

    top: 0;
    left: 22%;

    width: 56%;
    height: 2px;

    background: linear-gradient(
        90deg,
        transparent,
        #7a7466,
        transparent
    );

    opacity: .65;
    z-index: 8;
}


/* Image interaction */
.wc-block-components-product-image {
    overflow: hidden !important;
}

.wc-block-components-product-image img {
    transition:
        transform .4s ease,
        filter .4s ease !important;
}

.wc-block-product:hover
.wc-block-components-product-image img {
    transform: scale(1.025) !important;
    filter: brightness(1.015) !important;
}


/* Make product title spacing consistent */
.wc-block-product .wp-block-post-title {
    min-height: 52px !important;

    display: -webkit-box !important;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden !important;
}


/* Small premium research label below title */
.wc-block-product .wp-block-post-title::after {
    content: "RESEARCH COMPOUND";

    display: block;

    margin-top: 10px;

    color: #9c9586;

    font-size: 9px;
    font-weight: 800;

    letter-spacing: .14em;

    text-transform: uppercase;
}


/* Give price its own clean area */
.wc-block-components-product-price {
    padding-top: 3px !important;
    padding-bottom: 3px !important;
}


/* Sale price */
.wc-block-components-product-price ins {
    color: #102f27 !important;
    font-size: 21px !important;
    font-weight: 850 !important;
}


/* Old price more understated */
.wc-block-components-product-price del {
    color: #b0aa9f !important;
    font-size: 12px !important;
}


/* Cleaner divider before actions */
.el-actions {
    border-top: 1px solid #edf1f5 !important;
    padding-top: 16px !important;
}


/* Make SALE badge feel more luxury */
.wc-block-components-product-sale-badge {
    background: rgba(255,255,255,.95) !important;

    color: #102f27 !important;

    border: 1px solid #ede8de !important;

    border-radius: 999px !important;

    padding: 7px 11px !important;

    font-size: 9px !important;
    font-weight: 900 !important;

    letter-spacing: .1em !important;

    box-shadow:
        0 5px 16px rgba(15,44,37,.08) !important;
}
/* =========================================
   MONOLITH LABS — PRODUCT COLLECTION PAGINATION
   ========================================= */

.wp-block-query-pagination,
.wc-block-pagination {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;

    width: 100% !important;
    margin: 45px auto 30px !important;
    padding: 25px 0 10px !important;

    border: 0 !important;
    border-top: 1px solid #edf1f5 !important;

    background: transparent !important;
}


/* PAGE NUMBERS */
.wp-block-query-pagination-numbers {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 0 !important;
}

.wp-block-query-pagination-numbers a,
.wp-block-query-pagination-numbers span,
.wc-block-pagination-page {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 40px !important;
    height: 40px !important;

    padding: 0 11px !important;

    background: #ffffff !important;
    color: #102f27 !important;

    border: 1px solid #ece7de !important;
    border-radius: 999px !important;

    font-size: 13px !important;
    font-weight: 700 !important;

    text-decoration: none !important;

    box-shadow: 0 3px 10px rgba(15,44,37,.04) !important;

    transition: all .18s ease !important;
}


/* HOVER */
.wp-block-query-pagination-numbers a:hover,
.wc-block-pagination-page:hover {
    background: #f9f7f4 !important;
    border-color: #e0d8c9 !important;
    color: #102f27 !important;

    transform: translateY(-2px) !important;

    box-shadow: 0 7px 16px rgba(15,44,37,.09) !important;
}


/* ACTIVE PAGE */
.wp-block-query-pagination-numbers .current,
.wc-block-pagination-page--active,
.wc-block-pagination-page[aria-current="page"] {
    background: linear-gradient(135deg,#102f27,#1e5b4c) !important;
    color: #ffffff !important;

    border-color: #102f27 !important;

    box-shadow: 0 7px 17px rgba(16,47,39,.20) !important;
}


/* PREVIOUS / NEXT */
.wp-block-query-pagination-previous,
.wp-block-query-pagination-next,
.wc-block-pagination-page--previous,
.wc-block-pagination-page--next {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 105px !important;
    height: 40px !important;

    padding: 0 18px !important;

    background: #ffffff !important;
    color: #102f27 !important;

    border: 1px solid #ece7de !important;
    border-radius: 999px !important;

    font-size: 13px !important;
    font-weight: 700 !important;

    text-decoration: none !important;

    box-shadow: 0 3px 10px rgba(15,44,37,.04) !important;

    transition: all .18s ease !important;
}

.wp-block-query-pagination-previous:hover,
.wp-block-query-pagination-next:hover,
.wc-block-pagination-page--previous:hover,
.wc-block-pagination-page--next:hover {
    background: #102f27 !important;
    color: #ffffff !important;
    border-color: #102f27 !important;

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


/* REMOVE OLD RED/PINK LINK COLOR */
.wp-block-query-pagination a,
.wc-block-pagination a {
    text-decoration: none !important;
}


/* REMOVE STRAY BLUE LINES */
.wp-block-query-pagination::before,
.wp-block-query-pagination::after,
.wc-block-pagination::before,
.wc-block-pagination::after {
    display: none !important;
}


/* MOBILE */
@media (max-width: 650px) {

    .wp-block-query-pagination,
    .wc-block-pagination {
        gap: 5px !important;
        margin-top: 30px !important;
    }

    .wp-block-query-pagination-numbers a,
    .wp-block-query-pagination-numbers span,
    .wc-block-pagination-page {
        min-width: 34px !important;
        height: 34px !important;
        padding: 0 8px !important;
        font-size: 11px !important;
    }

    .wp-block-query-pagination-previous,
    .wp-block-query-pagination-next,
    .wc-block-pagination-page--previous,
    .wc-block-pagination-page--next {
        min-width: 72px !important;
        height: 34px !important;
        padding: 0 10px !important;
        font-size: 11px !important;
    }
}
/* =========================================
   MONOLITH LABS — EXACT SHOP CONTROL STYLING
   ========================================= */

/* WHOLE SEARCH / FILTER AREA */
.wpcpm-ai-search-wrapper {
    width: 100% !important;
    max-width: 700px !important;
}

/* SEARCH INPUT */
.wpcpm-ai-search-wrapper input[type="search"],
.wpcpm-ai-search-wrapper input {
    width: 100% !important;
    height: 56px !important;

    padding: 0 22px !important;

    background: #ffffff !important;
    color: #102f27 !important;

    border: 1px solid #ebe6dc !important;
    border-radius: 999px !important;

    font-size: 15px !important;
    font-weight: 500 !important;

    box-shadow:
        0 6px 18px rgba(15,44,37,.055) !important;

    outline: none !important;

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease !important;
}

.wpcpm-ai-search-wrapper input:focus {
    border-color: #f1ecde !important;

    box-shadow:
        0 0 0 4px rgba(61,58,50,.09),
        0 8px 22px rgba(15,44,37,.07) !important;

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


/* REMOVE SEARCH X */
.wpcpm-ai-search-wrapper input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none !important;
    display: none !important;
}


/* SORT DROPDOWN */
select[aria-label="Sort research compounds"] {
    width: 100% !important;
    height: 56px !important;

    padding: 0 48px 0 20px !important;

    background: #ffffff !important;
    color: #102f27 !important;

    border: 1px solid #ebe6dc !important;
    border-radius: 999px !important;

    font-size: 14px !important;
    font-weight: 700 !important;

    box-shadow:
        0 6px 18px rgba(15,44,37,.045) !important;

    outline: none !important;
    cursor: pointer !important;

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease !important;
}

select[aria-label="Sort research compounds"]:hover {
    border-color: #dfd6c5 !important;
    transform: translateY(-1px) !important;
}


/* FILTER ROW */
.wp-block-buttons.has-small-font-size {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 9px !important;

    margin-top: 22px !important;
}


/* ALL FILTER PILLS */
.wp-block-buttons.has-small-font-size .wp-block-button__link {
    background: #ffffff !important;
    color: #5c574c !important;

    border: 1px solid #ebe6db !important;
    border-radius: 999px !important;

    padding: 9px 17px !important;

    font-size: 13px !important;
    font-weight: 650 !important;

    text-decoration: none !important;

    box-shadow:
        0 3px 10px rgba(15,44,37,.035) !important;

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


/* FILTER HOVER */
.wp-block-buttons.has-small-font-size .wp-block-button__link:hover {
    background: #f9f7f4 !important;
    color: #3d3a32 !important;

    border-color: #e3dccd !important;

    transform: translateY(-2px) !important;

    box-shadow:
        0 7px 16px rgba(15,44,37,.07) !important;
}


/* FIRST BUTTON = ALL */
.wp-block-buttons.has-small-font-size
.wp-block-button:first-child
.wp-block-button__link {
    background:
        linear-gradient(135deg,#102f27,#1e5b4c) !important;

    color: #ffffff !important;

    border-color: #102f27 !important;

    box-shadow:
        0 7px 16px rgba(16,47,39,.18) !important;
}


/* RESULT COUNT */
.wp-block-buttons.has-small-font-size
+ p.has-cyan-bluish-gray-color {
    color: #afa99e !important;

    font-size: 12px !important;
    font-weight: 550 !important;

    margin-top: 12px !important;
}


/* CLEAN SPACING AROUND CONTROLS */
.wp-block-columns:has(.wpcpm-ai-search-wrapper) {
    align-items: center !important;

    gap: 16px !important;

    margin-bottom: 0 !important;
}


/* MOBILE */
@media (max-width: 700px) {

    .wp-block-columns:has(.wpcpm-ai-search-wrapper) {
        display: block !important;
    }

    .wpcpm-ai-search-wrapper {
        max-width: 100% !important;
        margin-bottom: 10px !important;
    }

    select[aria-label="Sort research compounds"] {
        width: 100% !important;
    }

    .wp-block-buttons.has-small-font-size {
        gap: 6px !important;
        margin-top: 16px !important;
    }

    .wp-block-buttons.has-small-font-size .wp-block-button__link {
        padding: 8px 12px !important;
        font-size: 11px !important;
    }
}
/* =========================================================
   MONOLITH LABS — SINGLE PRODUCT PAGE
   Scoped only to WooCommerce product pages
   ========================================================= */

body.single-product {
    background: #f5f8fc !important;
    color: #103028;
}

/* Main page width */
.single-product .site-main,
.single-product main {
    max-width: 1220px;
    margin: 0 auto !important;
    padding: 26px 28px 80px !important;
}

/* ---------------------------------------------------------
   BREADCRUMBS
--------------------------------------------------------- */

.single-product .woocommerce-breadcrumb {
    margin: 0 0 24px !important;
    padding: 0 !important;

    color: #9a9384 !important;
    font-size: 13px !important;
    font-weight: 500;
}

.single-product .woocommerce-breadcrumb a {
    color: #736c5e !important;
    text-decoration: none !important;
}

.single-product .woocommerce-breadcrumb a:hover {
    color: #3d3a32 !important;
}


/* ---------------------------------------------------------
   MAIN PRODUCT AREA
--------------------------------------------------------- */

.single-product div.product {
    width: 100% !important;
    max-width: 100% !important;

    display: grid !important;
    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(380px, .95fr);

    gap: 64px !important;
    align-items: start;

    margin: 0 !important;
}


/* ---------------------------------------------------------
   PRODUCT IMAGE
--------------------------------------------------------- */

.single-product div.product
.woocommerce-product-gallery {

    width: 100% !important;
    float: none !important;
    margin: 0 !important;

    background: #ffffff;

    border:
        1px solid
        #ede8de;

    border-radius: 24px;

    padding: 18px;

    box-sizing: border-box;

    box-shadow:
        0 20px 55px
        rgba(20,61,51, .09);

    overflow: hidden;
}

.single-product
.woocommerce-product-gallery__wrapper {

    border-radius: 17px;
    overflow: hidden;
}

.single-product
.woocommerce-product-gallery img {

    width: 100% !important;
    height: auto !important;

    display: block;

    border-radius: 17px;

    object-fit: cover;
}

.single-product
.woocommerce-product-gallery__trigger {

    top: 30px !important;
    right: 30px !important;

    background: rgba(255,255,255,.94) !important;

    width: 42px !important;
    height: 42px !important;

    border-radius: 50% !important;

    box-shadow:
        0 6px 20px
        rgba(20,61,51,.13);
}


/* ---------------------------------------------------------
   PRODUCT INFO PANEL
--------------------------------------------------------- */

.single-product div.product
.summary {

    width: 100% !important;
    float: none !important;

    margin: 0 !important;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fbfdff 100%
        );

    border:
        1px solid
        #ede8de;

    border-radius: 24px;

    padding: 38px 38px 34px;

    box-sizing: border-box;

    box-shadow:
        0 20px 55px
        rgba(20,61,51,.075);
}


/* Product title */
.single-product
.summary .product_title {

    display: block !important;

    margin:
        0 0 18px !important;

    color: #103028 !important;

    font-size:
        clamp(
            34px,
            4vw,
            50px
        ) !important;

    font-weight:
        750 !important;

    line-height:
        1.04 !important;

    letter-spacing:
        -.035em !important;
}


/* Small research label above/before price */
.single-product
.summary::before {

    content:
        "RESEARCH COMPOUND";

    display: inline-flex;

    align-items: center;

    margin-bottom: 18px;

    padding:
        7px 11px;

    color:
        #3d3a32;

    background:
        #f9f7f4;

    border:
        1px solid
        #ece7dd;

    border-radius:
        999px;

    font-size:
        10px;

    font-weight:
        800;

    letter-spacing:
        1.7px;
}


/* ---------------------------------------------------------
   PRICE
--------------------------------------------------------- */

.single-product
.summary .price {

    display: flex !important;
    align-items: baseline;
    flex-wrap: wrap;

    gap: 8px;

    margin:
        0 0 24px !important;

    color:
        #3d3a32 !important;

    font-size:
        30px !important;

    font-weight:
        800 !important;
}

.single-product
.summary .price del {

    color:
        #a7a093 !important;

    opacity: 1 !important;

    font-size:
        18px !important;

    font-weight:
        500 !important;
}

.single-product
.summary .price ins {

    color:
        #3d3a32 !important;

    text-decoration:
        none !important;

    font-weight:
        800 !important;
}


/* ---------------------------------------------------------
   SHORT DESCRIPTION
--------------------------------------------------------- */

.single-product
.woocommerce-product-details__short-description {

    color:
        #605a4e !important;

    font-size:
        16px !important;

    line-height:
        1.75 !important;

    margin-bottom:
        26px !important;
}

.single-product
.woocommerce-product-details__short-description p {

    margin:
        0 0 12px !important;
}


/* ---------------------------------------------------------
   SALE BADGE
--------------------------------------------------------- */

.single-product
.onsale {

    background:
        #174439 !important;

    color:
        #ffffff !important;

    border:
        0 !important;

    border-radius:
        999px !important;

    padding:
        7px 12px !important;

    min-height:
        auto !important;

    min-width:
        auto !important;

    line-height:
        1 !important;

    font-size:
        10px !important;

    font-weight:
        800 !important;

    letter-spacing:
        .7px !important;

    box-shadow:
        0 6px 18px
        rgba(23,68,57,.18);
}


/* ---------------------------------------------------------
   CART AREA
--------------------------------------------------------- */

.single-product
.summary form.cart {

    display: flex !important;

    align-items: stretch;

    gap: 12px;

    margin:
        0 0 26px !important;

    padding:
        22px 0 0 !important;

    border-top:
        1px solid
        #f1ede5;
}


/* quantity box */
.single-product
.summary .quantity {

    float: none !important;

    margin: 0 !important;
}

.single-product
.summary .quantity input.qty {

    width:
        68px !important;

    height:
        52px !important;

    border:
        1px solid
        #e4ddce !important;

    border-radius:
        13px !important;

    background:
        #ffffff !important;

    color:
        #103028 !important;

    font-size:
        16px !important;

    font-weight:
        700 !important;

    text-align:
        center !important;

    box-shadow:
        inset 0 1px 2px
        rgba(0,0,0,.025);
}


/* Add to cart */
.single-product
.summary .single_add_to_cart_button {

    flex:
        1 1 auto;

    min-height:
        52px !important;

    padding:
        0 28px !important;

    border:
        0 !important;

    border-radius:
        13px !important;

    background:
        linear-gradient(
            135deg,
            #174439,
            #3d3a32
        ) !important;

    color:
        #ffffff !important;

    font-size:
        15px !important;

    font-weight:
        750 !important;

    letter-spacing:
        .15px;

    box-shadow:
        0 10px 24px
        rgba(61,58,50,.24);

    transition:
        transform .18s ease,
        box-shadow .18s ease !important;
}

.single-product
.summary .single_add_to_cart_button:hover {

    transform:
        translateY(-2px);

    box-shadow:
        0 14px 30px
        rgba(61,58,50,.30);
}


/* ---------------------------------------------------------
   PRODUCT META
--------------------------------------------------------- */

.single-product
.product_meta {

    padding-top:
        20px;

    border-top:
        1px solid
        #f1ede5;

    color:
        #999283 !important;

    font-size:
        13px !important;
}

.single-product
.product_meta a {

    color:
        #3d3a32 !important;

    font-weight:
        650;

    text-decoration:
        none !important;
}


/* Research-use notice */
.single-product
.summary::after {

    content:
        "For laboratory research use only. Product information is provided for compound identification and research documentation.";

    display: block;

    margin-top:
        24px;

    padding:
        15px 17px;

    color:
        #716a5d;

    background:
        #faf8f5;

    border:
        1px solid
        #ede9e0;

    border-left:
        3px solid
        #3d3a32;

    border-radius:
        12px;

    font-size:
        12px;

    line-height:
        1.6;
}


/* ---------------------------------------------------------
   DESCRIPTION TABS
--------------------------------------------------------- */

.single-product
.woocommerce-tabs {

    grid-column:
        1 / -1;

    width:
        100% !important;

    margin:
        54px 0 0 !important;

    padding:
        0 !important;

    background:
        #ffffff;

    border:
        1px solid
        #ede8de;

    border-radius:
        22px;

    box-shadow:
        0 16px 45px
        rgba(20,61,51,.06);

    overflow:
        hidden;
}


/* tab header */
.single-product
.woocommerce-tabs ul.tabs {

    display: flex !important;

    gap: 0 !important;

    margin:
        0 !important;

    padding:
        0 26px !important;

    background:
        #f8fafc;

    border-bottom:
        1px solid
        #efebe3;
}

.single-product
.woocommerce-tabs ul.tabs::before {

    display:
        none !important;
}

.single-product
.woocommerce-tabs ul.tabs li {

    margin:
        0 4px 0 0 !important;

    padding:
        0 !important;

    background:
        transparent !important;

    border:
        0 !important;

    border-radius:
        0 !important;
}

.single-product
.woocommerce-tabs ul.tabs li::before,
.single-product
.woocommerce-tabs ul.tabs li::after {

    display:
        none !important;
}

.single-product
.woocommerce-tabs ul.tabs li a {

    padding:
        18px 14px !important;

    color:
        #888070 !important;

    font-size:
        14px !important;

    font-weight:
        700 !important;
}

.single-product
.woocommerce-tabs ul.tabs li.active a {

    color:
        #184a3d !important;

    box-shadow:
        inset 0 -3px 0
        #3d3a32;
}


/* Description body */
.single-product
.woocommerce-tabs
.woocommerce-Tabs-panel {

    padding:
        34px 38px 38px !important;

    margin:
        0 !important;

    color:
        #605a4e;

    font-size:
        15px;

    line-height:
        1.8;
}

.single-product
.woocommerce-tabs
.woocommerce-Tabs-panel h2 {

    margin:
        0 0 16px !important;

    color:
        #103028;

    font-size:
        28px !important;

    font-weight:
        750 !important;

    letter-spacing:
        -.02em;
}


/* ---------------------------------------------------------
   REMOVE JETPACK / BLOG RELATED POSTS
--------------------------------------------------------- */

.single-product
#jp-relatedposts,

.single-product
.jp-relatedposts,

.single-product
div.sharedaddy,

.single-product
.entry-footer {

    display:
        none !important;
}


/* ---------------------------------------------------------
   RELATED PRODUCTS
--------------------------------------------------------- */

.single-product
section.related.products {

    grid-column:
        1 / -1;

    clear:
        both !important;

    width:
        100% !important;

    margin:
        64px 0 0 !important;
}

.single-product
section.related.products > h2 {

    margin:
        0 0 26px !important;

    color:
        #103028 !important;

    font-size:
        32px !important;

    font-weight:
        750 !important;

    letter-spacing:
        -.025em;
}


/* THE KEY FIX FOR THE SKINNY CARDS */
.single-product
section.related.products
ul.products {

    display:
        grid !important;

    grid-template-columns:
        repeat(4, minmax(0,1fr)) !important;

    gap:
        24px !important;

    width:
        100% !important;

    margin:
        0 !important;

    padding:
        0 !important;
}

.single-product
section.related.products
ul.products::before,

.single-product
section.related.products
ul.products::after {

    display:
        none !important;
}


/* reset WooCommerce widths */
.single-product
section.related.products
ul.products li.product {

    float:
        none !important;

    clear:
        none !important;

    width:
        100% !important;

    max-width:
        none !important;

    min-width:
        0 !important;

    margin:
        0 !important;

    padding:
        14px 14px 18px !important;

    box-sizing:
        border-box !important;

    background:
        #ffffff !important;

    border:
        1px solid
        #ede8df !important;

    border-radius:
        18px !important;

    box-shadow:
        0 10px 30px
        rgba(20,61,51,.07);

    overflow:
        hidden;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.single-product
section.related.products
ul.products li.product:hover {

    transform:
        translateY(-4px);

    box-shadow:
        0 18px 38px
        rgba(20,61,51,.12);
}


/* related product image */
.single-product
section.related.products
ul.products li.product img {

    width:
        100% !important;

    height:
        auto !important;

    aspect-ratio:
        1 / 1;

    object-fit:
        cover;

    margin:
        0 0 18px !important;

    border-radius:
        13px;
}


/* related title */
.single-product
section.related.products
.woocommerce-loop-product__title {

    min-height:
        48px;

    margin:
        0 5px 9px !important;

    padding:
        0 !important;

    color:
        #103028 !important;

    font-size:
        17px !important;

    font-weight:
        750 !important;

    line-height:
        1.35 !important;
}


/* price */
.single-product
section.related.products
.price {

    display:
        block !important;

    margin:
        0 5px 14px !important;

    color:
        #3d3a32 !important;

    font-size:
        17px !important;

    font-weight:
        800 !important;
}

.single-product
section.related.products
.price del {

    color:
        #a59e90 !important;

    font-size:
        12px !important;
}

.single-product
section.related.products
.price ins {

    color:
        #3d3a32 !important;

    text-decoration:
        none !important;
}


/* related buttons */
.single-product
section.related.products
.button {

    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    width:
        calc(100% - 10px) !important;

    min-height:
        44px;

    margin:
        4px 5px 0 !important;

    padding:
        10px 14px !important;

    box-sizing:
        border-box;

    background:
        linear-gradient(
            135deg,
            #174439,
            #3d3a32
        ) !important;

    color:
        #ffffff !important;

    border:
        0 !important;

    border-radius:
        999px !important;

    font-size:
        13px !important;

    font-weight:
        750 !important;

    text-align:
        center !important;

    line-height:
        1.15 !important;

    text-decoration:
        none !important;

    box-shadow:
        0 7px 17px
        rgba(61,58,50,.20);
}


/* related sale badge */
.single-product
section.related.products
.onsale {

    top:
        24px !important;

    right:
        24px !important;

    left:
        auto !important;
}


/* ---------------------------------------------------------
   RESPONSIVE
--------------------------------------------------------- */

@media (max-width: 1000px) {

    .single-product div.product {

        grid-template-columns:
            1fr 1fr;

        gap:
            34px !important;
    }

    .single-product
    section.related.products
    ul.products {

        grid-template-columns:
            repeat(
                2,
                minmax(0,1fr)
            ) !important;
    }

}


@media (max-width: 760px) {

    .single-product
    .site-main,

    .single-product
    main {

        padding:
            18px 16px
            60px !important;
    }


    .single-product div.product {

        display:
            block !important;
    }


    .single-product
    div.product
    .woocommerce-product-gallery {

        margin-bottom:
            24px !important;
    }


    .single-product
    div.product
    .summary {

        padding:
            26px 22px !important;
    }


    .single-product
    .summary
    .product_title {

        font-size:
            36px !important;
    }


    .single-product
    .summary form.cart {

        flex-wrap:
            wrap;
    }


    .single-product
    .summary
    .single_add_to_cart_button {

        min-width:
            190px;
    }


    .single-product
    .woocommerce-tabs {

        margin-top:
            34px !important;
    }


    .single-product
    .woocommerce-tabs
    .woocommerce-Tabs-panel {

        padding:
            25px 22px
            28px !important;
    }


    .single-product
    section.related.products {

        margin-top:
            42px !important;
    }


    .single-product
    section.related.products
    ul.products {

        grid-template-columns:
            1fr !important;
    }

}
/* =====================================
   MONOLITH LABS VARIATION STRENGTH PILLS
   ===================================== */

.single-product
form.variations_form
table.variations {
    margin: 20px 0 18px !important;
}

.single-product
form.variations_form
table.variations th,
.single-product
form.variations_form
table.variations td {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
}

.single-product
form.variations_form
table.variations label {
    display: block;
    margin-bottom: 10px;

    color: #103028;

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

    letter-spacing: .04em;
    text-transform: uppercase;
}


/* Hide ugly WooCommerce dropdown */
.single-product
form.variations_form
table.variations select {
    position: absolute !important;

    width: 1px !important;
    height: 1px !important;

    opacity: 0 !important;
    pointer-events: none !important;
}


/* Pill container */
.single-product
.el-variation-pills {
    display: flex;
    flex-wrap: wrap;

    gap: 10px;

    margin-bottom: 16px;
}


/* Individual strength */
.single-product
.el-variation-pill {
    min-width: 88px;

    padding: 12px 20px;

    background: #ffffff;

    color: #1e5b4c;

    border: 1px solid #e5ded0;

    border-radius: 999px;

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

    cursor: pointer;

    box-shadow:
        0 4px 12px
        rgba(20,61,51,.05);

    transition:
        .18s ease;
}


.single-product
.el-variation-pill:hover {
    border-color: #3d3a32;

    transform:
        translateY(-1px);

    box-shadow:
        0 7px 16px
        rgba(61,58,50,.12);
}


/* Selected strength */
.single-product
.el-variation-pill.is-active {
    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #174439,
            #3d3a32
        );

    border-color:
        #174439;

    box-shadow:
        0 8px 18px
        rgba(61,58,50,.24);
}


/* Unavailable variation */
.single-product
.el-variation-pill:disabled {
    opacity: .35;

    cursor:
        not-allowed;

    transform:
        none;
}


/* Variation price that appears after selection */
.single-product
.single_variation_wrap
.woocommerce-variation-price
.price {
    margin: 10px 0 18px !important;

    color: #3d3a32 !important;

    font-size: 25px !important;
    font-weight: 800 !important;
}


/* Clean up reset link */
.single-product
.reset_variations {
    display: none !important;
}
/* =========================================================
   CLEAN VARIABLE PRODUCT PURCHASE AREA
   ========================================================= */

/* Remove variation description beside strength selector */
.single-product .woocommerce-variation-description {
    display: none !important;
}

/* Clean variation table */
.single-product form.variations_form table.variations,
.single-product form.variations_form table.variations tbody,
.single-product form.variations_form table.variations tr,
.single-product form.variations_form table.variations th,
.single-product form.variations_form table.variations td {
    display: block !important;
    width: 100% !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
}

/* Strength label */
.single-product form.variations_form table.variations th {
    margin: 0 0 10px !important;
}

.single-product form.variations_form table.variations label {
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 1.3px !important;
    text-transform: uppercase !important;
    color: #726b5e !important;
}

/* Strength pills should sit side-by-side */
.single-product .el-variation-pills {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 0 0 22px !important;
}

/* Cleaner pill proportions */
.single-product .el-variation-pill {
    min-width: 96px !important;
    padding: 12px 20px !important;
    margin: 0 !important;
}

/* Remove weird variation spacing */
.single-product .single_variation_wrap {
    width: 100% !important;
    margin: 0 !important;
}

/* Variation price */
.single-product .woocommerce-variation-price {
    margin: 4px 0 20px !important;
}

.single-product .woocommerce-variation-price .price {
    display: flex !important;
    align-items: baseline !important;
    gap: 9px !important;

    margin: 0 !important;

    font-size: 28px !important;
    font-weight: 800 !important;
    color: #3d3a32 !important;
}

/* Old price */
.single-product .woocommerce-variation-price .price del {
    font-size: 16px !important;
    color: #aba598 !important;
    font-weight: 500 !important;
}

/* Sale price */
.single-product .woocommerce-variation-price .price ins {
    text-decoration: none !important;
    color: #3d3a32 !important;
}

/* Quantity + Add to cart on one clean row */
.single-product .woocommerce-variation-add-to-cart {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
}

.single-product .woocommerce-variation-add-to-cart .quantity {
    flex: 0 0 68px !important;
}

.single-product .woocommerce-variation-add-to-cart .quantity input.qty {
    width: 68px !important;
    height: 52px !important;
}

/* Large purchase button */
.single-product .woocommerce-variation-add-to-cart
.single_add_to_cart_button {
    flex: 1 !important;
    width: auto !important;
    min-height: 52px !important;
    margin: 0 !important;
}

/* Hide reset variations text */
.single-product .reset_variations {
    display: none !important;
}
/* =========================================
   MONOLITH LABS PREMIUM QUANTITY SELECTOR
   ========================================= */

.single-product .quantity {
    display: inline-flex !important;
    align-items: center !important;

    width: auto !important;
    height: 48px;

    padding: 0 8px;

    background: #fff;

    border: 1px solid #e8e2d5;
    border-radius: 999px;

    overflow: hidden;

    box-shadow:
        0 3px 10px rgba(20,61,51,.04);
}

.single-product .quantity input.qty {
    width: 48px !important;
    height: 44px !important;

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

    border: 0 !important;
    outline: 0 !important;

    background: transparent !important;

    color: #103028 !important;

    font-size: 15px !important;
    font-weight: 700 !important;

    text-align: center !important;

    box-shadow: none !important;

    -moz-appearance: textfield;
}

.single-product .quantity input.qty::-webkit-inner-spin-button,
.single-product .quantity input.qty::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.single-product .el-qty-btn {
    width: 32px;
    height: 40px;

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

    padding: 0;

    border: 0;
    background: transparent;

    color: #8a8170;

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

    cursor: pointer;

    transition:
        color .15s ease,
        transform .15s ease;
}

.single-product .el-qty-btn:hover {
    color: #3d3a32;
    transform: scale(1.08);
}
/* ==========================================
   VARIABLE PRODUCT QUANTITY / CART FIX
   ========================================== */

.single-product
form.variations_form
.woocommerce-variation-add-to-cart {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;

    width: 100% !important;

    margin-top: 12px !important;
}


/* Quantity pill */
.single-product
form.variations_form
.woocommerce-variation-add-to-cart
.quantity {
    display: inline-flex !important;
    align-items: center !important;

    flex: 0 0 auto !important;

    width: auto !important;
    height: 48px !important;

    margin: 0 !important;
    padding: 0 8px !important;

    background: #fff !important;

    border: 1px solid #e8e2d5 !important;
    border-radius: 999px !important;

    overflow: hidden !important;

    box-shadow:
        0 3px 10px
        rgba(20,61,51,.04) !important;
}


/* Number */
.single-product
form.variations_form
.woocommerce-variation-add-to-cart
.quantity input.qty {
    width: 46px !important;
    height: 44px !important;

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

    border: 0 !important;
    border-radius: 0 !important;

    background: transparent !important;

    box-shadow: none !important;

    text-align: center !important;

    font-size: 15px !important;
    font-weight: 700 !important;

    color: #103028 !important;
}


/* Minus / plus */
.single-product
form.variations_form
.woocommerce-variation-add-to-cart
.el-qty-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

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

    padding: 0 !important;

    border: 0 !important;

    background: transparent !important;

    color: #8a8170 !important;

    font-size: 21px !important;
    font-weight: 400 !important;

    cursor: pointer !important;
}


/* Add to cart sits beside quantity */
.single-product
form.variations_form
.woocommerce-variation-add-to-cart
.single_add_to_cart_button {
    flex: 1 1 auto !important;

    width: auto !important;
    min-height: 48px !important;

    margin: 0 !important;

    border-radius: 13px !important;
}


/* Mobile */
@media (max-width: 600px) {

    .single-product
    form.variations_form
    .woocommerce-variation-add-to-cart {
        flex-wrap: wrap !important;
    }

    .single-product
    form.variations_form
    .woocommerce-variation-add-to-cart
    .single_add_to_cart_button {
        flex: 1 1 180px !important;
    }

}
/* =========================================
   MONOLITH LABS — BUNDLE & SAVE
   ========================================= */

.single-product .el-bundle-wrap {
    width: 100%;
    margin: 24px 0 22px;
}

.single-product .el-bundle-heading {
    margin-bottom: 12px;

    color: #726b5e;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 1.25px;
    text-transform: uppercase;
}


/* Four cards */
.single-product .el-bundle-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0,1fr));

    gap: 10px;

    width: 100%;
}


/* Card */
.single-product .el-bundle-card {
    position: relative;

    min-height: 92px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 5px;

    padding: 17px 10px 13px;

    background: #ffffff;

    border: 1px solid #e9e3d7;
    border-radius: 13px;

    color: #103028;

    cursor: pointer;

    box-shadow:
        0 3px 12px
        rgba(20,61,51,.04);

    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease,
        background .18s ease;
}


.single-product .el-bundle-card:hover {
    transform: translateY(-2px);

    border-color: #7a7466;

    box-shadow:
        0 8px 18px
        rgba(61,58,50,.10);
}


/* Selected card */
.single-product
.el-bundle-card.is-active {
    background: #f9f7f4;

    border-color: #16a8a2;

    box-shadow:
        0 7px 18px
        rgba(16,153,148,.12);
}


/* Product count */
.single-product .el-bundle-name {
    color: #103028;

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

    text-align: center;
}


/* Small text */
.single-product .el-bundle-sub {
    color: #908877;

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

    text-align: center;
}


/* Badge */
.single-product .el-bundle-badge {
    position: absolute;

    top: -8px;
    left: 50%;

    transform:
        translateX(-50%);

    white-space: nowrap;

    padding: 4px 7px;

    background: #159b95;

    color: #ffffff;

    border-radius: 5px;

    font-size: 8px;
    font-weight: 800;

    letter-spacing: .25px;

    text-transform: uppercase;
}


.single-product
.el-bundle-badge.gold {
    background: #7a7466;
}


.single-product
.el-bundle-badge.dark {
    background: #0c241e;
}


/* Mobile */
@media (max-width: 700px) {

    .single-product .el-bundle-grid {
        grid-template-columns:
            repeat(2, minmax(0,1fr));
    }

}
.single-product .el-bundle-price {
    color: #3d3a32;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
}

.single-product .el-bundle-card.is-active
.el-bundle-price {
    color: #246b59;
}
/* Hide old Woo price display and use custom one */
.single-product .summary .price {
  display: none !important;
}

.single-product .el-dynamic-price {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 8px 0 24px;
  flex-wrap: wrap;
}

.single-product .el-price-old {
  color: #aea89c;
  font-size: 18px;
  font-weight: 700;
  text-decoration: line-through;
}

.single-product .el-price-new {
  color: #3d3a32;
  font-size: 32px;
  font-weight: 900;
  line-height: 1;
}

/* Bundle block */
.single-product .el-bundle-wrap {
  margin: 26px 0 24px;
}

.single-product .el-bundle-heading {
  margin-bottom: 12px;
  color: #726b5e;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.3px;
  text-transform: uppercase;
}

.single-product .el-bundle-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 12px;
}

.single-product .el-bundle-card {
  position: relative;
  min-height: 112px;
  padding: 16px 12px 14px;
  background: #fff;
  border: 1px solid #ebe6dc;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  cursor: pointer;
  transition: .18s ease;
  box-shadow: 0 4px 14px rgba(18,53,44,.05);
}

.single-product .el-bundle-card:hover {
  transform: translateY(-2px);
  border-color: #f1ecde;
  box-shadow: 0 10px 22px rgba(30,89,74,.10);
}

.single-product .el-bundle-card.is-active {
  border-color: #20b6b3;
  background: #f5fdfd;
  box-shadow: 0 10px 22px rgba(32,182,179,.13);
}

.single-product .el-bundle-name {
  color: #103028;
  font-size: 14px;
  font-weight: 800;
}

.single-product .el-bundle-save {
  color: #7f7768;
  font-size: 12px;
  font-weight: 700;
}

.single-product .el-bundle-card.is-active .el-bundle-save {
  color: #11817f;
}

.single-product .el-bundle-price {
  color: #3d3a32;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.15;
}

.single-product .el-bundle-card.is-active .el-bundle-price {
  color: #3d3a32;
}

.single-product .el-bundle-badge {
  position: absolute;
  top: -9px;
  left: 50%;
  transform: translateX(-50%);
  padding: 4px 8px;
  border-radius: 6px;
  background: #14a69f;
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .3px;
  text-transform: uppercase;
  white-space: nowrap;
}

.single-product .el-bundle-badge.gold {
  background: #7a7466;
}

.single-product .el-bundle-badge.dark {
  background: #0d2721;
}

/* Mobile */
@media (max-width: 767px) {
  .single-product .el-bundle-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .single-product .el-price-new {
    font-size: 28px;
  }
}
/* =====================================================
   MONOLITH LABS — PREMIUM GLOBAL HEADER
   ===================================================== */

.el-site-header {
    position: sticky;
    top: 0;
    z-index: 99999;

    width: 100%;

    background:
        rgba(255,255,255,.94);

    border-bottom:
        1px solid
        rgba(228,221,208,.9);

    box-shadow:
        0 5px 24px
        rgba(17,51,43,.055);

    backdrop-filter:
        blur(16px);

    -webkit-backdrop-filter:
        blur(16px);
}


/* WordPress admin bar */
.admin-bar .el-site-header {
    top: 32px;
}


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

.el-header-inner {
    width:
        min(
            1380px,
            calc(100% - 48px)
        );

    height: 76px;

    margin: 0 auto;

    display: flex;

    align-items: center;

    justify-content:
        space-between;

    gap: 30px;
}


/* =====================================
   BRAND
   ===================================== */

.el-header-brand {
    display: inline-flex;

    align-items: center;

    gap: 11px;

    flex:
        0 0 auto;

    color:
        #11322a !important;

    text-decoration:
        none !important;
}


.el-brand-mark {
    width: 38px;
    height: 38px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius:
        11px;

    color:
        #ffffff;

    background:
        linear-gradient(
            145deg,
            #174439,
            #3d3a32
        );

    box-shadow:
        0 7px 18px
        rgba(61,58,50,.20);

    font-size:
        19px;

    font-weight:
        850;

    letter-spacing:
        -.04em;
}


.el-brand-text {
    display: flex;

    align-items:
        baseline;

    gap: 5px;
}


.el-brand-name {
    font-size:
        18px;

    line-height:
        1;

    font-weight:
        850;

    letter-spacing:
        .09em;
}


.el-brand-labs {
    color:
        #948c7c;

    font-size:
        11px;

    font-weight:
        750;

    letter-spacing:
        .17em;
}


/* =====================================
   DESKTOP NAVIGATION
   ===================================== */

.el-header-nav {
    display: flex;

    align-items:
        center;

    justify-content:
        center;

    gap: 4px;

    flex:
        1 1 auto;
}


.el-nav-link {
    height: 42px;

    display: inline-flex;

    align-items: center;

    justify-content:
        center;

    gap: 6px;

    padding:
        0 14px;

    border: 0;

    border-radius:
        10px;

    background:
        transparent;

    color:
        #5e584c !important;

    font-family:
        inherit;

    font-size:
        14px;

    font-weight:
        650;

    line-height:
        1;

    text-decoration:
        none !important;

    cursor:
        pointer;

    transition:
        color .17s ease,
        background .17s ease;
}


.el-nav-link:hover,
.el-nav-link.is-active {

    color:
        #194a3e !important;

    background:
        #f8f6f3;
}


/* =====================================
   CATEGORY DROPDOWN
   ===================================== */

.el-nav-dropdown {
    position:
        relative;
}


.el-dropdown-toggle svg {
    transition:
        transform .18s ease;
}


.el-nav-dropdown.is-open
.el-dropdown-toggle svg {

    transform:
        rotate(180deg);
}


.el-dropdown-menu {
    position:
        absolute;

    top:
        calc(100% + 10px);

    left: 50%;

    transform:
        translateX(-50%)
        translateY(-5px);

    width:
        250px;

    padding:
        9px;

    background:
        rgba(255,255,255,.98);

    border:
        1px solid
        #ece7dd;

    border-radius:
        16px;

    box-shadow:
        0 22px 50px
        rgba(19,56,46,.15);

    opacity:
        0;

    visibility:
        hidden;

    pointer-events:
        none;

    transition:
        .18s ease;
}


.el-nav-dropdown.is-open
.el-dropdown-menu {

    opacity: 1;

    visibility:
        visible;

    pointer-events:
        auto;

    transform:
        translateX(-50%)
        translateY(0);
}


.el-dropdown-menu button {
    width:
        100%;

    min-height:
        39px;

    display: flex;

    align-items:
        center;

    padding:
        8px 12px;

    margin: 0;

    border:
        0;

    border-radius:
        9px;

    background:
        transparent;

    color:
        #25705d;

    font-family:
        inherit;

    font-size:
        13px;

    font-weight:
        600;

    text-align:
        left;

    cursor:
        pointer;
}


.el-dropdown-menu button:hover {

    color:
        #3d3a32;

    background:
        #f7f5f2;
}


/* =====================================
   RIGHT SIDE
   ===================================== */

.el-header-actions {
    display:
        flex;

    align-items:
        center;

    gap: 8px;

    flex:
        0 0 auto;
}


.el-header-icon {
    width: 40px;
    height: 40px;

    display: flex;

    align-items:
        center;

    justify-content:
        center;

    color:
        #5e584c !important;

    border-radius:
        50%;

    text-decoration:
        none !important;

    transition:
        background .17s ease,
        color .17s ease;
}


.el-header-icon:hover {

    color:
        #3d3a32 !important;

    background:
        #f7f5f1;
}


/* Main CTA */
.el-header-shop-btn {
    height: 42px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    margin-left:
        4px;

    padding:
        0 18px;

    border-radius:
        999px;

    background:
        linear-gradient(
            135deg,
            #174439,
            #3d3a32
        );

    color:
        #ffffff !important;

    box-shadow:
        0 7px 18px
        rgba(61,58,50,.19);

    font-size:
        13px;

    font-weight:
        750;

    text-decoration:
        none !important;

    transition:
        transform .17s ease,
        box-shadow .17s ease;
}


.el-header-shop-btn:hover {

    transform:
        translateY(-1px);

    box-shadow:
        0 11px 24px
        rgba(61,58,50,.26);

    color:
        #ffffff !important;
}


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

.el-mobile-toggle {
    width: 42px;
    height: 42px;

    display:
        none;

    align-items:
        center;

    justify-content:
        center;

    flex-direction:
        column;

    gap: 5px;

    padding: 0;

    border:
        1px solid
        #ebe6db;

    border-radius:
        11px;

    background:
        #ffffff;

    cursor:
        pointer;
}


.el-mobile-toggle span {
    width:
        18px;

    height:
        2px;

    background:
        #174439;

    border-radius:
        999px;

    transition:
        .18s ease;
}


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

.el-mobile-menu {
    display:
        none;

    padding:
        10px 20px 18px;

    background:
        #ffffff;

    border-top:
        1px solid
        #edf1f5;
}


.el-mobile-menu > a,
.el-mobile-category-toggle {

    width:
        100%;

    min-height:
        46px;

    display: flex;

    align-items:
        center;

    justify-content:
        space-between;

    padding:
        0 10px;

    border:
        0;

    border-bottom:
        1px solid
        #edf1f5;

    background:
        transparent;

    color:
        #1a4e41 !important;

    font-family:
        inherit;

    font-size:
        14px;

    font-weight:
        700;

    text-decoration:
        none !important;

    cursor:
        pointer;
}


.el-mobile-categories {
    display:
        none;

    padding:
        8px 10px 12px
        18px;

    background:
        #f7fafc;

    border-radius:
        10px;
}


.el-mobile-categories.is-open {
    display:
        block;
}


.el-mobile-categories button {

    width:
        100%;

    display:
        block;

    padding:
        9px 8px;

    border:
        0;

    background:
        transparent;

    color:
        #726b5d;

    font-family:
        inherit;

    font-size:
        13px;

    font-weight:
        600;

    text-align:
        left;

    cursor:
        pointer;
}


/* =====================================
   TABLET
   ===================================== */

@media (max-width: 1050px) {

    .el-header-nav {
        display:
            none;
    }


    .el-header-shop-btn {
        display:
            none;
    }


    .el-mobile-toggle {
        display:
            flex;
    }


    .el-mobile-menu.is-open {
        display:
            block;
    }

}


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

@media (max-width: 600px) {

    .el-header-inner {
        width:
            calc(100% - 28px);

        height:
            68px;

        gap:
            12px;
    }


    .el-brand-name {
        font-size:
            16px;
    }


    .el-brand-labs {
        font-size:
            9px;
    }


    .el-brand-mark {
        width:
            35px;

        height:
            35px;

        border-radius:
            10px;
    }


    .el-header-icon {
        width:
            36px;

        height:
            36px;
    }


    .el-header-actions {
        gap:
            3px;
    }


    .admin-bar
    .el-site-header {
        top: 46px;
    }

}
/* =========================================================
   FIX 1 — HEADER WORDMARK ON PRODUCT PAGES
   Prevent WooCommerce product image CSS from enlarging logo
   ========================================================= */

body.single-product .el-header-v3 .el3-brand {
    width: auto !important;
    max-width: none !important;
    display: flex !important;
}

body.single-product .el-header-v3 .el3-wordmark {
    width: auto !important;
    height: 42px !important;
    max-width: 315px !important;
    min-width: 0 !important;

    object-fit: contain !important;
    object-position: left center !important;

    display: block !important;

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

    transform: none;
}


/* =========================================================
   FIX 2 — VARIABLE PRODUCT LAYOUT
   Strength first, Bundle underneath
   ========================================================= */

.single-product form.variations_form {
    display: block !important;
    width: 100% !important;
}


/* variation / strength section */

.single-product form.variations_form table.variations {
    display: block !important;
    width: 100% !important;
    margin: 20px 0 22px !important;
}

.single-product form.variations_form table.variations tbody,
.single-product form.variations_form table.variations tr {
    display: block !important;
    width: 100% !important;
}

.single-product form.variations_form table.variations th,
.single-product form.variations_form table.variations td {
    display: block !important;
    width: 100% !important;

    padding: 0 !important;
}


/* Strength label */

.single-product .variations .label {
    margin-bottom: 9px !important;
}

.single-product .variations .label label {
    display: block !important;

    color: #726b5e !important;

    font-size: 12px !important;
    font-weight: 800 !important;

    letter-spacing: 1.1px !important;
    text-transform: uppercase !important;
}


/* Strength buttons */

.single-product .el-variation-pills {
    display: flex !important;
    flex-wrap: wrap !important;

    gap: 10px !important;

    width: 100% !important;

    margin: 0 !important;
}

.single-product .el-variation-pills button {
    width: auto !important;
    min-width: 96px !important;
    height: 48px !important;

    padding: 0 20px !important;

    border: 1px solid #e8e2d6 !important;
    border-radius: 999px !important;

    background: #fff !important;

    color: #1b5144 !important;

    font-size: 14px !important;
    font-weight: 750 !important;

    white-space: nowrap !important;
}

.single-product .el-variation-pills button.is-active,
.single-product .el-variation-pills button.active {
    border-color: #3d3a32 !important;
    background: #f8f6f3 !important;
    color: #256f5d !important;
}


/* =========================================================
   BUNDLE SECTION
   ========================================================= */

.single-product .el-bundle-wrap {
    display: block !important;

    clear: both !important;

    width: 100% !important;
    max-width: none !important;

    margin: 24px 0 22px !important;
}


/* heading */

.single-product .el-bundle-heading {
    display: block !important;

    width: 100% !important;

    margin: 0 0 12px !important;

    color: #726b5e !important;

    font-size: 12px !important;
    font-weight: 800 !important;

    letter-spacing: 1.1px !important;
    text-transform: uppercase !important;
}


/* cards */

.single-product .el-bundle-grid {
    display: grid !important;

    grid-template-columns:
        repeat(4, minmax(0, 1fr)) !important;

    gap: 10px !important;

    width: 100% !important;
}


.single-product .el-bundle-card {
    position: relative !important;

    width: 100% !important;
    min-width: 0 !important;
    min-height: 112px !important;

    padding: 20px 8px 12px !important;

    display: flex !important;
    flex-direction: column !important;

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

    gap: 4px !important;

    border: 1px solid #e9e3d8 !important;
    border-radius: 15px !important;

    background: #fff !important;

    text-align: center !important;

    overflow: visible !important;
}


.single-product .el-bundle-card.is-active {
    border-color: #12aaa9 !important;
    background: #f9f8f5 !important;
}


/* Bottle title */

.single-product .el-bundle-name {
    display: block !important;

    color: #0e2922 !important;

    font-size: 13px !important;
    font-weight: 850 !important;

    line-height: 1.15 !important;

    white-space: nowrap !important;
}


/* Save text */

.single-product .el-bundle-save {
    display: block !important;

    color: #837b6b !important;

    font-size: 11px !important;
    font-weight: 650 !important;

    line-height: 1.2 !important;
}


/* price */

.single-product .el-bundle-price {
    display: block !important;

    color: #3d3a32 !important;

    font-size: 17px !important;
    font-weight: 900 !important;

    line-height: 1.15 !important;

    white-space: nowrap !important;
}


/* badges */

.single-product .el-bundle-badge {
    position: absolute !important;

    top: -9px !important;
    left: 50% !important;

    transform: translateX(-50%) !important;

    width: max-content !important;
    max-width: 95% !important;

    padding: 4px 7px !important;

    border-radius: 6px !important;

    font-size: 8px !important;
    font-weight: 850 !important;

    line-height: 1 !important;

    white-space: nowrap !important;
}


/* variation area underneath strength */

.single-product .single_variation_wrap,
.single-product .woocommerce-variation-add-to-cart {
    display: block !important;
    width: 100% !important;
    clear: both !important;
}


/* Quantity + Add To Cart row */

.single-product
.woocommerce-variation-add-to-cart {
    margin-top: 6px !important;
}


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

@media (max-width: 700px) {

    body.single-product .el-header-v3 .el3-wordmark {
        height: 34px !important;
        max-width: 235px !important;
    }

    .single-product .el-bundle-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap: 12px !important;
    }

    .single-product .el-bundle-card {
        min-height: 105px !important;
    }

}
/* ==========================================
   VARIABLE PRODUCT — CLEANER/WIDER LAYOUT
   ========================================== */

body.single-product div.product {
    grid-template-columns: .92fr 1.08fr !important;
    gap: 44px !important;
}

body.single-product .summary form.variations_form {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: none !important;
}

/* Strength gets its own full row */
body.single-product .summary form.variations_form > table.variations {
    display: block !important;
    float: none !important;
    clear: both !important;

    width: 100% !important;
    max-width: none !important;

    margin: 22px 0 28px !important;
}

/* Variation content gets full width underneath */
body.single-product .summary form.variations_form > .single_variation_wrap {
    display: block !important;
    float: none !important;
    clear: both !important;

    width: 100% !important;
    max-width: none !important;
}

/* Strength pills horizontal */
body.single-product .el-variation-pills {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;

    gap: 12px !important;

    width: 100% !important;
}

/* Bundle full width */
body.single-product .single_variation_wrap .el-bundle-wrap {
    display: block !important;
    clear: both !important;

    width: 100% !important;
    max-width: none !important;

    margin: 28px 0 26px !important;
}

/* Spread cards more evenly */
body.single-product .el-bundle-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(90px, 1fr)) !important;

    gap: 14px !important;

    width: 100% !important;
}

/* Give each card more breathing room */
body.single-product .el-bundle-card {
    min-width: 0 !important;
    min-height: 118px !important;

    padding: 21px 10px 15px !important;
}

/* Better title sizing */
body.single-product .el-bundle-name {
    font-size: 13px !important;
}

body.single-product .el-bundle-price {
    font-size: 17px !important;
}

/* At narrower product widths, use 2x2 instead of crushing 4 cards */
@media (max-width: 1150px) {
    body.single-product .el-bundle-grid {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    }
}
/* =========================================================
   MONOLITH LABS — PREMIUM MOTION SYSTEM
   ========================================================= */


/* ==============================
   SCROLL REVEAL
   ============================== */

.el-reveal {
    opacity: 0;

    transform:
        translate3d(0, 14px, 0);

    transition:
        opacity .52s cubic-bezier(.22,.61,.36,1),
        transform .52s cubic-bezier(.22,.61,.36,1);

    transition-delay:
        var(--el-delay, 0ms);

    will-change:
        opacity,
        transform;
}


.el-reveal.el-visible {
    opacity: 1;

    transform:
        translate3d(0,0,0);
}



/* ==============================
   PRODUCT CARDS
   ============================== */

.wc-block-product,
.woocommerce ul.products li.product {

    transition:
        transform .25s cubic-bezier(.2,.7,.3,1),
        box-shadow .25s ease,
        border-color .25s ease !important;

    will-change:
        transform;
}


.wc-block-product:hover,
.woocommerce ul.products li.product:hover {

    transform:
        translateY(-5px);

    box-shadow:
        0 18px 42px
        rgba(22,65,54,.11) !important;

    border-color:
        rgba(61,58,50,.28) !important;
}



/* ==============================
   PRODUCT IMAGE MICRO-ZOOM
   ============================== */

.wc-block-product img,
.woocommerce ul.products li.product img {

    transition:
        transform .35s
        cubic-bezier(.2,.7,.3,1) !important;

    transform:
        scale(1);
}


.wc-block-product:hover img,
.woocommerce ul.products li.product:hover img {

    transform:
        scale(1.025);
}



/* ==============================
   DETAILS / ADD BUTTONS
   ============================== */

.el-details-btn,
.el-add-btn,
.wp-element-button,
.woocommerce a.button,
.woocommerce button.button,
.el3-shop-btn {

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        filter .18s ease !important;

    will-change:
        transform;
}


.el-details-btn:hover,
.el-add-btn:hover,
.wp-element-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.el3-shop-btn:hover {

    transform:
        translateY(-2px);

    filter:
        brightness(1.035);
}



/* ==============================
   CLICK / PRESS EFFECT
   ============================== */

.el-button-pressed {

    transform:
        translateY(0)
        scale(.975) !important;

    transition-duration:
        .08s !important;
}



/* ==============================
   PRODUCT PAGE SUMMARY
   ============================== */

.single-product .summary {

    transition:
        box-shadow .3s ease,
        border-color .3s ease;
}


.single-product .summary:hover {

    box-shadow:
        0 20px 55px
        rgba(22,65,54,.095) !important;
}



/* ==============================
   BUNDLE CARDS
   ============================== */

.single-product .el-bundle-card {

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


.single-product .el-bundle-card:hover {

    transform:
        translateY(-3px);

    box-shadow:
        0 10px 25px
        rgba(27,80,67,.09);
}


.single-product .el-bundle-card.is-active {

    transform:
        translateY(-2px);

    box-shadow:
        0 10px 25px
        rgba(61,58,50,.12);
}



/* ==============================
   REDUCED MOTION
   ============================== */

@media (prefers-reduced-motion: reduce) {

    .el-reveal {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }


    .wc-block-product,
    .woocommerce ul.products li.product,
    .wc-block-product img,
    .woocommerce ul.products li.product img,
    .el-bundle-card {

        transform:
            none !important;

        transition:
            none !important;
    }

}
/* =========================================================
   MONOLITH LABS — PREMIUM GLASS HEADER
   ========================================================= */

.el-header-v3 {

    background:
        rgba(255,255,255,.90) !important;

    border-bottom:
        1px solid rgba(207,220,232,.72) !important;

    box-shadow:
        0 3px 16px rgba(18,53,44,.035) !important;

    backdrop-filter:
        blur(14px) saturate(135%);

    -webkit-backdrop-filter:
        blur(14px) saturate(135%);

    transition:
        background .30s ease,
        box-shadow .30s ease,
        border-color .30s ease,
        backdrop-filter .30s ease !important;
}


/* ===============================
   HEADER AFTER SCROLLING
   =============================== */

.el-header-v3.el-header-scrolled {

    background:
        rgba(255,255,255,.975) !important;

    border-bottom-color:
        rgba(220,211,193,.90) !important;

    box-shadow:
        0 10px 35px
        rgba(18,53,44,.095) !important;

    backdrop-filter:
        blur(20px) saturate(155%);

    -webkit-backdrop-filter:
        blur(20px) saturate(155%);
}


/* ===============================
   HEADER HEIGHT TRANSITION
   =============================== */

.el3-inner {

    transition:
        height .30s
        cubic-bezier(.22,.61,.36,1) !important;
}


.el-header-v3.el-header-scrolled
.el3-inner {

    height:
        60px !important;
}


/* ===============================
   WORDMARK SHRINK
   =============================== */

.el3-wordmark {

    transition:
        height .30s cubic-bezier(.22,.61,.36,1),
        transform .30s ease,
        filter .25s ease !important;
}


.el-header-v3.el-header-scrolled
.el3-wordmark {

    height:
        37px !important;

    transform:
        translateZ(0);

    filter:
        contrast(1.08)
        saturate(1.05);
}


/* ===============================
   NAVIGATION INDICATOR
   =============================== */

.el3-nav .el3-link {

    position:
        relative;

    overflow:
        visible;
}


.el3-nav .el3-link::after {

    content: "";

    position:
        absolute;

    left:
        50%;

    bottom:
        3px;

    width:
        0;

    height:
        2px;

    border-radius:
        999px;

    background:
        linear-gradient(
            90deg,
            #3d3a32,
            #3d3a32
        );

    transform:
        translateX(-50%);

    opacity:
        0;

    transition:
        width .22s ease,
        opacity .22s ease;
}


.el3-nav .el3-link:hover::after {

    width:
        22px;

    opacity:
        .65;
}


.el3-nav .el3-link.is-active::after {

    width:
        27px;

    opacity:
        1;
}


/* remove overly strong active background */
.el3-nav .el3-link.is-active {

    background:
        rgba(236,245,251,.75) !important;
}


/* ===============================
   ICON MICRO-INTERACTION
   =============================== */

.el3-icon svg {

    transition:
        transform .20s ease,
        stroke .20s ease;
}


.el3-icon:hover svg {

    transform:
        translateY(-1px)
        scale(1.06);
}


/* ===============================
   SHOP BUTTON
   =============================== */

.el3-shop-btn {

    position:
        relative;

    overflow:
        hidden;
}


.el3-shop-btn::before {

    content: "";

    position:
        absolute;

    top:
        -80%;

    left:
        -45%;

    width:
        40%;

    height:
        250%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.18),
            transparent
        );

    transform:
        rotate(18deg)
        translateX(-220%);

    transition:
        transform .55s ease;

    pointer-events:
        none;
}


.el3-shop-btn:hover::before {

    transform:
        rotate(18deg)
        translateX(500%);
}


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

@media (max-width: 600px) {

    .el-header-v3.el-header-scrolled
    .el3-inner {

        height:
            58px !important;
    }


    .el-header-v3.el-header-scrolled
    .el3-wordmark {

        height:
            30px !important;
    }

}


/* ===============================
   ACCESSIBILITY
   =============================== */

@media (prefers-reduced-motion: reduce) {

    .el-header-v3,
    .el3-inner,
    .el3-wordmark,
    .el3-nav .el3-link::after,
    .el3-icon svg,
    .el3-shop-btn::before {

        transition:
            none !important;
    }

}
/* =========================================================
   MONOLITH LABS — ANIMATED SHOP FILTERING
   ========================================================= */


/* Product filter animation optimization */

.el-filter-product {
    will-change:
        transform,
        opacity;
}


/* ==================================
   CATEGORY PILLS
   ================================== */

.wp-block-button
.wp-block-button__link {

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


/* Force old "All" styling to behave */

.wp-block-button
.wp-block-button__link:not(.el-filter-active) {

    background:
        #ffffff !important;

    color:
        #5f594d !important;

    border-color:
        #eae5da !important;
}


.wp-block-button
.wp-block-button__link.el-filter-active {

    background:
        linear-gradient(
            135deg,
            #174539,
            #3d3a32
        ) !important;

    color:
        #ffffff !important;

    border-color:
        transparent !important;

    box-shadow:
        0 7px 18px
        rgba(61,58,50,.18) !important;

    transform:
        translateY(-1px);
}


.wp-block-button
.wp-block-button__link:not(.el-filter-active):hover {

    background:
        #f8f6f3 !important;

    color:
        #3d3a32 !important;

    border-color:
        #eac4aa !important;

    transform:
        translateY(-1px);
}


/* ==================================
   PRODUCT COUNT
   ================================== */

.el-product-count {

    color:
        #938b7c !important;

    font-size:
        13px !important;

    font-weight:
        650 !important;

    transition:
        opacity .2s ease;
}


/* ==================================
   SEARCH FIELD
   ================================== */

.wpcpm-ai-search-wrapper input {

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


.wpcpm-ai-search-wrapper input:focus {

    border-color:
        #7a7466 !important;

    background:
        #ffffff !important;

    box-shadow:
        0 0 0 4px
        rgba(61,58,50,.09) !important;

    outline:
        none !important;
}


/* ==================================
   EMPTY SEARCH STATE
   ================================== */

.el-shop-empty {

    display:
        none;

    width:
        min(520px, calc(100% - 32px));

    margin:
        40px auto 60px;

    padding:
        32px 24px;

    text-align:
        center;

    background:
        rgba(255,255,255,.86);

    border:
        1px solid #ede8de;

    border-radius:
        20px;

    box-shadow:
        0 14px 35px
        rgba(20,60,50,.06);
}


.el-shop-empty.is-visible {

    display:
        flex;

    flex-direction:
        column;

    gap:
        6px;

    animation:
        elEmptyIn .35s ease both;
}


.el-shop-empty strong {

    color:
        #154035;

    font-size:
        18px;

    font-weight:
        800;
}


.el-shop-empty span {

    color:
        #908877;

    font-size:
        14px;
}


@keyframes elEmptyIn {

    from {
        opacity: 0;

        transform:
            translateY(8px);
    }

    to {
        opacity: 1;

        transform:
            translateY(0);
    }

}


/* ==================================
   ACCESSIBILITY
   ================================== */

@media (prefers-reduced-motion: reduce) {

    .el-filter-product,
    .el-shop-empty {

        animation:
            none !important;

        transition:
            none !important;
    }

}
/* Dark blue + Add button on product cards */
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .product_type_simple,
.woocommerce ul.products li.product .product_type_variable,
.woocommerce ul.products li.product .product_type_grouped,
.woocommerce ul.products li.product .product_type_external {
  background: linear-gradient(135deg, #133a30 0%, #3d3a32 100%) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 22px rgba(61,58,50, 0.22) !important;
}

.woocommerce ul.products li.product .add_to_cart_button:hover,
.woocommerce ul.products li.product .product_type_simple:hover,
.woocommerce ul.products li.product .product_type_variable:hover,
.woocommerce ul.products li.product .product_type_grouped:hover,
.woocommerce ul.products li.product .product_type_external:hover {
  background: linear-gradient(135deg, #0f2e26 0%, #3d3a32 100%) !important;
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(61,58,50, 0.28) !important;
}
/* FORCE + ADD BUTTON DARK BLUE */
.wc-block-product .el-actions .el-add-btn,
.wc-block-product .wc-block-components-product-button .el-add-btn,
a.el-add-btn {
    background: linear-gradient(135deg, #174439 0%, #3d3a32 100%) !important;
    color: #ffffff !important;
    border: 0 !important;
    border-radius: 999px !important;

    box-shadow:
        0 8px 20px rgba(61,58,50, .22) !important;
}

.wc-block-product .el-actions .el-add-btn:hover,
.wc-block-product .wc-block-components-product-button .el-add-btn:hover,
a.el-add-btn:hover {
    background: linear-gradient(135deg, #13382f 0%, #3d3a32 100%) !important;
    color: #ffffff !important;

    transform: translateY(-2px) !important;

    box-shadow:
        0 12px 26px rgba(61,58,50, .30) !important;
}
/* =====================================================
   MONOLITH LABS — CUSTOM ANIMATED BLUE "A"
   ===================================================== */

.el3-text-logo {
    display: inline-flex !important;
    align-items: center !important;

    color: #12362d !important;

    font-family: Inter, sans-serif !important;
    font-size: 18px !important;
    font-weight: 720 !important;

    letter-spacing: .17em !important;
    line-height: 1 !important;

    white-space: nowrap !important;

    animation: elevateLogoIntro .55s ease both;
}


/* Hide the normal A and build our own */
.el3-logo-a {
    position: relative !important;

    display: inline-block !important;

    width: 17px !important;
    height: 20px !important;

    margin: 0 3px 0 1px !important;

    font-size: 0 !important;
    color: transparent !important;

    vertical-align: middle !important;

    transform-origin: center bottom !important;
}


/* Left side of A */
.el3-logo-a::before {
    content: "" !important;

    position: absolute !important;

    left: 3px !important;
    bottom: 0 !important;

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

    border-radius: 999px !important;

    background:
        linear-gradient(
            180deg,
            #7a7466 0%,
            #7a7466 100%
        ) !important;

    transform:
        rotate(27deg);

    transform-origin:
        center bottom;

    box-shadow:
        0 2px 6px
        rgba(61,58,50,.14);

    animation:
        elevateALeft .65s
        cubic-bezier(.22,.61,.36,1)
        .12s both;
}


/* Right side of A */
.el3-logo-a::after {
    content: "" !important;

    position: absolute !important;

    right: 3px !important;
    bottom: 0 !important;

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

    border-radius: 999px !important;

    background:
        linear-gradient(
            180deg,
            #7a7466 0%,
            #3d3a32 100%
        ) !important;

    transform:
        rotate(-27deg);

    transform-origin:
        center bottom;

    box-shadow:
        0 2px 6px
        rgba(61,58,50,.14);

    animation:
        elevateARight .65s
        cubic-bezier(.22,.61,.36,1)
        .12s both;
}


/* Premium hover */
.el3-brand:hover .el3-logo-a {
    transform:
        translateY(-1px)
        scale(1.08);

    filter:
        drop-shadow(
            0 3px 4px
            rgba(61,58,50,.22)
        );

    transition:
        transform .22s ease,
        filter .22s ease;
}


/* Whole brand hover */
.el3-brand:hover .el3-text-logo {
    color: #194a3e !important;
}


/* Page-load animation */
@keyframes elevateLogoIntro {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* Animate each half of the A */
@keyframes elevateALeft {
    from {
        opacity: 0;
        transform:
            rotate(27deg)
            scaleY(.15);
    }

    to {
        opacity: 1;
        transform:
            rotate(27deg)
            scaleY(1);
    }
}

@keyframes elevateARight {
    from {
        opacity: 0;
        transform:
            rotate(-27deg)
            scaleY(.15);
    }

    to {
        opacity: 1;
        transform:
            rotate(-27deg)
            scaleY(1);
    }
}


/* Mobile */
@media (max-width: 600px) {

    .el3-text-logo {
        font-size: 15px !important;
        letter-spacing: .13em !important;
    }

    .el3-logo-a {
        width: 15px !important;
        height: 17px !important;
    }

    .el3-logo-a::before,
    .el3-logo-a::after {
        height: 18px !important;
        width: 3.5px !important;
    }
}


/* Accessibility */
@media (prefers-reduced-motion: reduce) {

    .el3-text-logo,
    .el3-logo-a::before,
    .el3-logo-a::after {
        animation: none !important;
    }
}
/* Flip the custom A direction to match the vial */

.el3-logo-a::before {
    transform: rotate(-27deg) !important;
}

.el3-logo-a::after {
    transform: rotate(27deg) !important;
}

@keyframes elevateALeft {
    from {
        opacity: 0;
        transform: rotate(-27deg) scaleY(.15);
    }

    to {
        opacity: 1;
        transform: rotate(-27deg) scaleY(1);
    }
}

@keyframes elevateARight {
    from {
        opacity: 0;
        transform: rotate(27deg) scaleY(.15);
    }

    to {
        opacity: 1;
        transform: rotate(27deg) scaleY(1);
    }
}
/* =========================================================
   MONOLITH LABS — FINAL FORCED VIAL-STYLE A
   PASTE AT VERY BOTTOM OF ADDITIONAL CSS
   ========================================================= */


/* Keep the full wordmark clean */
.el3-text-logo {
    display: inline-flex !important;
    align-items: center !important;

    color: #12362d !important;

    font-family: Inter, Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;

    letter-spacing: .17em !important;
    line-height: 1 !important;

    white-space: nowrap !important;
}


/* =========================================================
   COMPLETELY RESET OLD A
   ========================================================= */

.el3-text-logo .el3-logo-a {
    all: unset !important;

    display: inline-block !important;
    flex: 0 0 auto !important;

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

    margin: 0 2px !important;

    vertical-align: middle !important;

    font-size: 0 !important;
    line-height: 0 !important;

    color: transparent !important;

    background-color: transparent !important;

    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 21'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%2319A9FF'/%3E%3Cstop offset='.48' stop-color='%231479F4'/%3E%3Cstop offset='1' stop-color='%231756E4'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpolygon points='8,0 9.2,3 3.6,21 0,21 6.9,1.7' fill='url(%23g)'/%3E%3Cpolygon points='8,0 9.1,1.7 16,21 12.4,21 6.8,3' fill='url(%23g)'/%3E%3C/svg%3E") !important;

    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 100% 100% !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;

    overflow: visible !important;

    transform-origin: center bottom !important;

    animation:
        elFinalAIn .55s
        cubic-bezier(.22,.61,.36,1)
        both !important;

    transition:
        transform .20s ease,
        filter .20s ease !important;
}


/* Kill EVERY old pseudo-element version */
.el3-text-logo .el3-logo-a::before,
.el3-text-logo .el3-logo-a::after {
    content: none !important;
    display: none !important;

    width: 0 !important;
    height: 0 !important;

    background: none !important;

    transform: none !important;
    animation: none !important;
}


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

.el3-brand:hover .el3-logo-a {
    transform:
        translateY(-1px)
        scale(1.08) !important;

    filter:
        drop-shadow(
            0 3px 4px
            rgba(122,116,102,.24)
        ) !important;
}


/* =========================================================
   INTRO ANIMATION
   ========================================================= */

@keyframes elFinalAIn {

    from {
        opacity: 0;

        transform:
            translateY(4px)
            scale(.82);
    }

    to {
        opacity: 1;

        transform:
            translateY(0)
            scale(1);
    }

}


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

@media (max-width: 600px) {

    .el3-text-logo {
        font-size: 15px !important;
        letter-spacing: .13em !important;
    }

    .el3-text-logo .el3-logo-a {
        width: 14px !important;
        height: 18px !important;

        margin: 0 2px !important;
    }

}


/* Reduced motion */
@media (prefers-reduced-motion: reduce) {

    .el3-text-logo .el3-logo-a {
        animation: none !important;
    }

}
/* =========================================================
   MONOLITH LABS — FINAL PROFESSIONAL WORDMARK
   PASTE AT VERY BOTTOM OF ADDITIONAL CSS
   ========================================================= */


/* BRAND WRAPPER */
html body .el-header-v3 .el3-brand {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

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

    text-decoration: none !important;

    transform: none !important;
}


/* ENTIRE WORDMARK */
html body .el-header-v3 .el3-text-logo {
    display: inline-flex !important;
    align-items: center !important;

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

    color: #12372e !important;

    font-family:
        Inter,
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: 17px !important;
    font-weight: 700 !important;

    line-height: 1 !important;

    letter-spacing: .16em !important;
    word-spacing: .10em !important;

    white-space: nowrap !important;

    opacity: 1 !important;

    transform: none !important;

    animation:
        elFinalBrandIn .5s
        cubic-bezier(.22,.61,.36,1)
        both !important;

    transition:
        color .2s ease !important;
}


/* =========================================================
   BLUE VIAL-STYLE A
   ========================================================= */

html body
.el-header-v3
.el3-text-logo
.el3-logo-a {

    all: unset !important;

    position: relative !important;

    display: inline-block !important;

    flex:
        0 0 15px !important;

    width: 15px !important;
    min-width: 15px !important;
    max-width: 15px !important;

    height: 19px !important;
    min-height: 19px !important;
    max-height: 19px !important;

    /*
     * THIS pulls the A toward the V
     * while keeping TE properly spaced.
     */
    margin-left: -3px !important;
    margin-right: 1px !important;

    padding: 0 !important;

    font-size: 0 !important;
    line-height: 0 !important;

    vertical-align: middle !important;

    overflow: visible !important;

    background-color:
        transparent !important;


    /*
     * Sharp custom A based on vial branding.
     * No crossbar.
     */
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 19'%3E%3Cdefs%3E%3ClinearGradient id='blue' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%2316A9FF'/%3E%3Cstop offset='.48' stop-color='%231477F1'/%3E%3Cstop offset='1' stop-color='%23175ADF'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M7.5 0 L0 19 H4 L7.5 8.3 L11 19 H15 Z' fill='url(%23blue)'/%3E%3C/svg%3E") !important;

    background-repeat:
        no-repeat !important;

    background-position:
        center center !important;

    background-size:
        15px 19px !important;


    /*
     * Tiny vertical adjustment so peak
     * matches surrounding capital letters.
     */
    transform:
        translateY(1px) !important;

    transform-origin:
        center center !important;

    filter:
        none !important;

    border:
        0 !important;

    border-radius:
        0 !important;

    box-shadow:
        none !important;

    animation:
        elFinalAIn .6s
        cubic-bezier(.22,.61,.36,1)
        .08s both !important;

    transition:
        transform .2s ease,
        filter .2s ease !important;
}


/* COMPLETELY REMOVE OLD A METHODS */
html body
.el-header-v3
.el3-logo-a::before,

html body
.el-header-v3
.el3-logo-a::after {

    content:
        none !important;

    display:
        none !important;

    width:
        0 !important;

    height:
        0 !important;

    background:
        none !important;

    transform:
        none !important;

    animation:
        none !important;
}


/* =========================================================
   HOVER — VERY SUBTLE
   ========================================================= */

html body
.el-header-v3
.el3-brand:hover
.el3-text-logo {

    color:
        #18483c !important;
}


html body
.el-header-v3
.el3-brand:hover
.el3-logo-a {

    transform:
        translateY(0px)
        scale(1.055) !important;

    filter:
        drop-shadow(
            0 2px 3px
            rgba(61,58,50,.18)
        ) !important;
}


/* =========================================================
   PAGE-LOAD ANIMATION
   ========================================================= */

@keyframes elFinalBrandIn {

    from {
        opacity: 0;

        transform:
            translateY(-3px);
    }

    to {
        opacity: 1;

        transform:
            translateY(0);
    }

}


@keyframes elFinalAIn {

    from {
        opacity: 0;

        transform:
            translateY(3px)
            scale(.88);
    }

    to {
        opacity: 1;

        transform:
            translateY(1px)
            scale(1);
    }

}


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

html body
.el-header-v3.el-header-scrolled
.el3-text-logo {

    font-size:
        16px !important;
}


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

@media (max-width: 600px) {

    html body
    .el-header-v3
    .el3-text-logo {

        font-size:
            14px !important;

        letter-spacing:
            .14em !important;
    }


    html body
    .el-header-v3
    .el3-text-logo
    .el3-logo-a {

        flex:
            0 0 13px !important;

        width:
            13px !important;

        min-width:
            13px !important;

        max-width:
            13px !important;

        height:
            17px !important;

        min-height:
            17px !important;

        max-height:
            17px !important;

        margin-left:
            -2px !important;

        margin-right:
            1px !important;

        background-size:
            13px 17px !important;

        transform:
            translateY(1px) !important;
    }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    html body
    .el-header-v3
    .el3-text-logo,

    html body
    .el-header-v3
    .el3-logo-a {

        animation:
            none !important;
    }

}
/* Shave a tiny amount off the bottom of the blue A */
html body .el-header-v3 .el3-text-logo .el3-logo-a {
    clip-path: inset(0 0 4px 0) !important;
}
/* Animate the entire MONOLITH LABS wordmark */
html body .el-header-v3 .el3-text-logo {
    animation:
        elWholeLogoIn .6s
        cubic-bezier(.22,.61,.36,1)
        both !important;
}

/* Stop the A from having its own entrance animation */
html body .el-header-v3 .el3-text-logo .el3-logo-a {
    animation: none !important;
}

/* Whole-logo entrance */
@keyframes elWholeLogoIn {
    from {
        opacity: 0;
        transform:
            translateY(-4px)
            scale(.98);
    }

    to {
        opacity: 1;
        transform:
            translateY(0)
            scale(1);
    }
}
/* =========================================================
   FORCE WHOLE MONOLITH LABS WORDMARK ANIMATION
   ========================================================= */

/* Reset older animation rules */
html body .el-header-v3 .el3-brand .el3-text-logo {
    animation: none !important;
    transform: none !important;
    opacity: 1 !important;
}

html body .el-header-v3 .el3-brand .el3-text-logo .el3-logo-a {
    animation: none !important;
}

/* Animate the ENTIRE wordmark */
html body .el-header-v3 .el3-brand .el3-text-logo {
    animation:
        elWholeBrandFinal .65s
        cubic-bezier(.22,.61,.36,1)
        both !important;
}

/* Keep A fixed inside the wordmark */
html body .el-header-v3 .el3-brand .el3-text-logo .el3-logo-a {
    animation: none !important;
}

/* Final whole-logo animation */
@keyframes elWholeBrandFinal {
    0% {
        opacity: 0;
        transform:
            translateY(-5px)
            scale(.97);
    }

    100% {
        opacity: 1;
        transform:
            translateY(0)
            scale(1);
    }
}
/* =========================================
   MONOLITH LABS HERO — REMOVE FLOATING POPUPS
   ========================================= */

/* Top "click side vials..." pill */
.el-xstage-hint{
  display:none !important;
}

/* Floating information boxes */
.el-xchip{
  display:none !important;
}

/* "Featured Research Compound" pill */
.el-xfeatured{
  display:none !important;
}

/* Labels sitting on the smaller side vials */
.el-xside-info{
  display:none !important;
}

/* Remove the small glowing orbit dots */
.el-xring::before,
.el-xring2::before{
  display:none !important;
}

/* Slightly clean up spacing now that labels are gone */
.el-xreadout{
  bottom:22px !important;
}
/* =========================================
   HERO — STRONGER ORBIT RINGS
   ========================================= */

.el-xring{
  border:1.5px solid rgba(241,236,222, .34) !important;
  box-shadow:
    0 0 45px rgba(122,116,102, .08),
    inset 0 0 45px rgba(122,116,102, .05) !important;
  opacity:1 !important;
}

.el-xring2{
  border:1px dashed rgba(241,236,222, .26) !important;
  opacity:.95 !important;
}

.el-xring3{
  border:1px solid rgba(241,236,222, .11) !important;
  opacity:.8 !important;
}

/* subtle glowing halo behind the main vial */
.el-xstage:before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:560px;
  height:560px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:
    radial-gradient(
      circle,
      rgba(122,116,102, .11) 0%,
      rgba(61,58,50, .06) 42%,
      transparent 68%
    );
  filter:blur(8px);
  pointer-events:none;
  z-index:0;
}

/* make rings animate slightly more noticeably */
.el-xring{
  animation:elOrbitOuter 18s linear infinite !important;
}

.el-xring2{
  animation:elOrbitInner 13s linear infinite reverse !important;
}

@keyframes elOrbitOuter{
  from{transform:rotate(0deg);}
  to{transform:rotate(360deg);}
}

@keyframes elOrbitInner{
  from{transform:rotate(0deg);}
  to{transform:rotate(360deg);}
}
/* =========================================
   MONOLITH LABS — GUARANTEED VISIBLE ORBITS
   Works with current original hero
   ========================================= */

.el-wow-stage,
.el-xstage{
  position:relative !important;
}

/* LARGE OUTER ORBIT */
.el-wow-stage::before,
.el-xstage::before{
  content:"" !important;
  position:absolute !important;

  left:50% !important;
  top:50% !important;

  width:560px !important;
  height:560px !important;

  border-radius:50% !important;

  border:2px solid rgba(122,116,102, .42) !important;

  background:transparent !important;

  box-shadow:
    0 0 35px rgba(122,116,102, .08),
    inset 0 0 35px rgba(122,116,102, .05) !important;

  transform:translate(-50%,-50%) rotate(0deg) !important;

  animation:elVisibleOrbit1 18s linear infinite !important;

  pointer-events:none !important;
  z-index:1 !important;
}

/* SMALL DASHED INNER ORBIT */
.el-wow-stage::after,
.el-xstage::after{
  content:"" !important;
  position:absolute !important;

  left:50% !important;
  top:50% !important;

  width:440px !important;
  height:440px !important;

  border-radius:50% !important;

  border:1.5px dashed rgba(241,236,222, .34) !important;

  background:transparent !important;

  transform:translate(-50%,-50%) rotate(0deg) !important;

  animation:elVisibleOrbit2 13s linear infinite reverse !important;

  pointer-events:none !important;
  z-index:1 !important;
}

/* Keep product images/cards above rings */
.el-wow-product-main,
.el-side-card,
.el-xmain,
.el-xside{
  position:relative;
  z-index:4 !important;
}

/* Remove any little orbit dots */
.el-ring::before,
.el-ring2::before,
.el-xring::before,
.el-xring2::before{
  display:none !important;
}

@keyframes elVisibleOrbit1{
  from{
    transform:translate(-50%,-50%) rotate(0deg);
  }
  to{
    transform:translate(-50%,-50%) rotate(360deg);
  }
}

@keyframes elVisibleOrbit2{
  from{
    transform:translate(-50%,-50%) rotate(0deg);
  }
  to{
    transform:translate(-50%,-50%) rotate(360deg);
  }
}

/* Mobile orbit size */
@media(max-width:700px){

  .el-wow-stage::before,
  .el-xstage::before{
    width:390px !important;
    height:390px !important;
  }

  .el-wow-stage::after,
  .el-xstage::after{
    width:310px !important;
    height:310px !important;
  }
}
/* =========================================
   FLOATING ORB AROUND HERO ORBIT
   ========================================= */

.el-wow-stage,
.el-xstage{
  position:relative !important;
}

/* create a moving orb */
.el-wow-stage .el-floating-orb,
.el-xstage .el-floating-orb{
  position:absolute;
  left:50%;
  top:50%;

  width:14px;
  height:14px;

  margin-left:-7px;
  margin-top:-7px;

  border-radius:50%;

  background:#f1ecde;

  box-shadow:
    0 0 8px #f1ecde,
    0 0 18px rgba(241,236,222,.95),
    0 0 34px rgba(241,236,222,.55);

  z-index:8 !important;

  pointer-events:none;

  animation:elOrbitOrb 9s linear infinite;
}

/* little bright core */
.el-wow-stage .el-floating-orb::after,
.el-xstage .el-floating-orb::after{
  content:"";
  position:absolute;
  inset:4px;

  border-radius:50%;

  background:#f7f5f0;

  box-shadow:0 0 8px rgba(255,255,255,.9);
}

/* actual circular orbit motion */
@keyframes elOrbitOrb{

  0%{
    transform:
      rotate(0deg)
      translateX(280px)
      rotate(0deg);
  }

  25%{
    transform:
      rotate(90deg)
      translateX(280px)
      rotate(-90deg);
  }

  50%{
    transform:
      rotate(180deg)
      translateX(280px)
      rotate(-180deg);
  }

  75%{
    transform:
      rotate(270deg)
      translateX(280px)
      rotate(-270deg);
  }

  100%{
    transform:
      rotate(360deg)
      translateX(280px)
      rotate(-360deg);
  }
}

/* mobile orbit radius */
@media(max-width:700px){

  @keyframes elOrbitOrb{

    0%{
      transform:
        rotate(0deg)
        translateX(195px)
        rotate(0deg);
    }

    25%{
      transform:
        rotate(90deg)
        translateX(195px)
        rotate(-90deg);
    }

    50%{
      transform:
        rotate(180deg)
        translateX(195px)
        rotate(-180deg);
    }

    75%{
      transform:
        rotate(270deg)
        translateX(195px)
        rotate(-270deg);
    }

    100%{
      transform:
        rotate(360deg)
        translateX(195px)
        rotate(-360deg);
    }
  }
}
/* =========================================
   MONOLITH LABS — VISIBLE MOVING ORBIT ORB
   ========================================= */

/* Make main orbit ring clearly visible */
.el-xring{
  position:absolute !important;

  width:520px !important;
  height:520px !important;

  border:1.5px solid rgba(241,236,222,.28) !important;
  border-radius:50% !important;

  overflow:visible !important;

  animation:elHeroOrbitSpin 9s linear infinite !important;

  z-index:2 !important;
}

/* THIS IS THE ORB */
.el-xring::before{
  content:"" !important;

  display:block !important;

  position:absolute !important;

  top:50% !important;
  left:-8px !important;

  width:16px !important;
  height:16px !important;

  margin-top:-8px !important;

  border-radius:50% !important;

  background:
    radial-gradient(
      circle at 35% 30%,
      #ffffff 0%,
      #e7e1d4 22%,
      #f1ecde 48%,
      #3d3a32 100%
    ) !important;

  box-shadow:
    0 0 5px #ffffff,
    0 0 12px #f1ecde,
    0 0 24px rgba(241,236,222,.95),
    0 0 42px rgba(61,58,50,.55) !important;

  z-index:50 !important;

  opacity:1 !important;
}

/* Only want ONE orb */
.el-xring2::before{
  display:none !important;
}

/* Keep the dashed inner orbit */
.el-xring2{
  border:1px dashed rgba(241,236,222,.20) !important;
  opacity:.8 !important;
}

/* Spin ring + orb together */
@keyframes elHeroOrbitSpin{
  from{
    transform:rotate(0deg);
  }

  to{
    transform:rotate(360deg);
  }
}

/* Mobile */
@media(max-width:720px){

  .el-xring{
    width:420px !important;
    height:420px !important;
  }

  .el-xring::before{
    width:13px !important;
    height:13px !important;
    left:-6.5px !important;
    margin-top:-6.5px !important;
  }
}
/* =========================================
   MONOLITH LABS — PREMIUM PRODUCT SWAP
   ========================================= */

/* Stop the old harsh fade */
.el-xstage.is-switching .el-xmain,
.el-xstage.is-switching .el-xmain img,
.el-xstage.is-switching .el-xside img,
.el-xstage.is-switching .el-xreadout{
  opacity:1 !important;
}

/* smoother base transitions */
.el-xmain,
.el-xside{
  will-change:transform,opacity,filter;
}

.el-xmain{
  transition:
    transform .32s cubic-bezier(.22,.75,.25,1),
    opacity .25s ease,
    filter .25s ease,
    box-shadow .3s ease !important;
}

.el-xside{
  transition:
    transform .32s cubic-bezier(.22,.75,.25,1),
    opacity .25s ease,
    filter .25s ease,
    box-shadow .3s ease,
    border-color .3s ease !important;
}

/* =========================================
   LEFT PRODUCT CLICK
   ========================================= */

.el-xstage.el-swap-left .el-xside.left{
  animation:elSideToCenterLeft .62s cubic-bezier(.2,.78,.22,1);
}

.el-xstage.el-swap-left .el-xmain{
  animation:elCenterToLeft .62s cubic-bezier(.2,.78,.22,1);
}

/* =========================================
   RIGHT PRODUCT CLICK
   ========================================= */

.el-xstage.el-swap-right .el-xside.right{
  animation:elSideToCenterRight .62s cubic-bezier(.2,.78,.22,1);
}

.el-xstage.el-swap-right .el-xmain{
  animation:elCenterToRight .62s cubic-bezier(.2,.78,.22,1);
}

/* =========================================
   PRODUCT SWITCH FLASH / GLOW
   ========================================= */

.el-xstage.el-product-hit::after{
  content:"";
  position:absolute;

  left:50%;
  top:50%;

  width:430px;
  height:430px;

  transform:translate(-50%,-50%);

  border-radius:50%;

  border:1px solid rgba(241,236,222,.32);

  box-shadow:
    0 0 40px rgba(241,236,222,.22),
    0 0 100px rgba(122,116,102,.13);

  pointer-events:none;

  z-index:3;

  animation:elProductPulse .7s ease-out forwards;
}

/* quick light sweep after switch */
.el-xstage.el-product-hit .el-xmain::after{
  content:"";

  position:absolute;
  z-index:20;

  top:-20%;
  bottom:-20%;

  width:26%;
  left:-35%;

  transform:skewX(-18deg);

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,.40),
      transparent
    );

  animation:elSwitchSweep .75s ease-out;
}

/* =========================================
   KEYFRAMES
   ========================================= */

@keyframes elSideToCenterLeft{

  0%{
    transform:translate3d(0,0,0) rotate(-8deg) scale(1);
    opacity:1;
    filter:blur(0);
  }

  45%{
    transform:
      translate3d(135px,65px,0)
      rotate(-2deg)
      scale(1.18);

    opacity:.9;
  }

  100%{
    transform:
      translate3d(215px,145px,0)
      rotate(0deg)
      scale(1.55);

    opacity:0;
    filter:blur(3px);
  }
}

@keyframes elCenterToLeft{

  0%{
    transform:translate3d(0,0,0) scale(1);
    opacity:1;
  }

  45%{
    transform:
      translate3d(-55px,-25px,0)
      scale(.92);

    opacity:.75;
  }

  100%{
    transform:
      translate3d(-150px,-80px,0)
      scale(.70)
      rotate(-7deg);

    opacity:0;
    filter:blur(3px);
  }
}


@keyframes elSideToCenterRight{

  0%{
    transform:translate3d(0,0,0) rotate(8deg) scale(1);
    opacity:1;
    filter:blur(0);
  }

  45%{
    transform:
      translate3d(-120px,-55px,0)
      rotate(2deg)
      scale(1.18);

    opacity:.9;
  }

  100%{
    transform:
      translate3d(-205px,-130px,0)
      rotate(0deg)
      scale(1.55);

    opacity:0;
    filter:blur(3px);
  }
}

@keyframes elCenterToRight{

  0%{
    transform:translate3d(0,0,0) scale(1);
    opacity:1;
  }

  45%{
    transform:
      translate3d(55px,25px,0)
      scale(.92);

    opacity:.75;
  }

  100%{
    transform:
      translate3d(145px,85px,0)
      scale(.70)
      rotate(7deg);

    opacity:0;
    filter:blur(3px);
  }
}


@keyframes elProductPulse{

  0%{
    opacity:0;
    transform:translate(-50%,-50%) scale(.72);
  }

  35%{
    opacity:1;
  }

  100%{
    opacity:0;
    transform:translate(-50%,-50%) scale(1.18);
  }
}


@keyframes elSwitchSweep{

  0%{
    left:-35%;
    opacity:0;
  }

  25%{
    opacity:1;
  }

  100%{
    left:135%;
    opacity:0;
  }
}


/* mobile = simpler so nothing flies off screen */
@media(max-width:720px){

  @keyframes elSideToCenterLeft{
    0%{
      transform:rotate(-8deg) scale(1);
      opacity:1;
    }

    100%{
      transform:
        translate3d(95px,70px,0)
        rotate(0deg)
        scale(1.35);

      opacity:0;
    }
  }

  @keyframes elCenterToLeft{
    0%{
      transform:scale(1);
      opacity:1;
    }

    100%{
      transform:
        translate3d(-70px,-30px,0)
        scale(.78);

      opacity:0;
    }
  }

  @keyframes elSideToCenterRight{
    0%{
      transform:rotate(8deg) scale(1);
      opacity:1;
    }

    100%{
      transform:
        translate3d(-95px,-70px,0)
        rotate(0deg)
        scale(1.35);

      opacity:0;
    }
  }

  @keyframes elCenterToRight{
    0%{
      transform:scale(1);
      opacity:1;
    }

    100%{
      transform:
        translate3d(70px,30px,0)
        scale(.78);

      opacity:0;
    }
  }
}
/* =========================================
   CLEAN VIAL SWAP ANIMATION
   NO EXTRA ORBS
   ========================================= */

.el-xmain,
.el-xside{
  will-change:transform, opacity, filter;
}

/* main vial */
.el-xmain{
  transition:
    transform .45s cubic-bezier(.22,.8,.22,1),
    opacity .30s ease,
    filter .30s ease !important;
}

/* side vials */
.el-xside{
  transition:
    transform .45s cubic-bezier(.22,.8,.22,1),
    opacity .30s ease,
    filter .30s ease,
    box-shadow .30s ease !important;
}

/* LEFT vial clicked */
.el-xstage.swap-left .el-xside.left{
  animation:elSideLeftIn .58s cubic-bezier(.2,.8,.2,1) forwards !important;
}

.el-xstage.swap-left .el-xmain{
  animation:elMainOutLeft .58s cubic-bezier(.2,.8,.2,1) forwards !important;
}

/* RIGHT vial clicked */
.el-xstage.swap-right .el-xside.right{
  animation:elSideRightIn .58s cubic-bezier(.2,.8,.2,1) forwards !important;
}

.el-xstage.swap-right .el-xmain{
  animation:elMainOutRight .58s cubic-bezier(.2,.8,.2,1) forwards !important;
}


/* left card moves toward center */
@keyframes elSideLeftIn{

  0%{
    transform:rotate(-8deg) scale(1);
    opacity:1;
    filter:blur(0);
  }

  55%{
    transform:
      translate3d(120px,70px,0)
      rotate(-3deg)
      scale(1.18);

    opacity:1;
  }

  100%{
    transform:
      translate3d(205px,125px,0)
      rotate(0deg)
      scale(1.42);

    opacity:0;
    filter:blur(3px);
  }
}


/* center vial moves toward left */
@keyframes elMainOutLeft{

  0%{
    transform:scale(1);
    opacity:1;
  }

  55%{
    transform:
      translate3d(-55px,-25px,0)
      scale(.92);

    opacity:.72;
  }

  100%{
    transform:
      translate3d(-125px,-70px,0)
      scale(.78);

    opacity:0;
    filter:blur(3px);
  }
}


/* right card moves toward center */
@keyframes elSideRightIn{

  0%{
    transform:rotate(8deg) scale(1);
    opacity:1;
    filter:blur(0);
  }

  55%{
    transform:
      translate3d(-115px,-65px,0)
      rotate(3deg)
      scale(1.18);

    opacity:1;
  }

  100%{
    transform:
      translate3d(-200px,-120px,0)
      rotate(0deg)
      scale(1.42);

    opacity:0;
    filter:blur(3px);
  }
}


/* center vial moves toward right */
@keyframes elMainOutRight{

  0%{
    transform:scale(1);
    opacity:1;
  }

  55%{
    transform:
      translate3d(55px,25px,0)
      scale(.92);

    opacity:.72;
  }

  100%{
    transform:
      translate3d(125px,70px,0)
      scale(.78);

    opacity:0;
    filter:blur(3px);
  }
}


/* after product changes, new main vial pops in */
.el-xstage.swap-finish .el-xmain{
  animation:elNewMainIn .42s cubic-bezier(.2,.8,.2,1) !important;
}

@keyframes elNewMainIn{

  0%{
    transform:scale(.90);
    opacity:0;
    filter:blur(4px);
  }

  60%{
    transform:scale(1.025);
    opacity:1;
    filter:blur(0);
  }

  100%{
    transform:scale(1);
    opacity:1;
    filter:blur(0);
  }
}
/* ==================================================
   HERO CLEANUP — KILL ALL ACCIDENTAL EXTRA ORBS
   ================================================== */

.el-floating-orb{
  display:none !important;
}

/* remove fake stage circles created by previous attempts */
.el-xstage::before,
.el-xstage::after{
  content:none !important;
  display:none !important;
}

/* only ONE orbiting dot */
.el-xring2::before,
.el-xring3::before{
  display:none !important;
}

/* keep real orbit underneath product cards */
.el-xring,
.el-xring2,
.el-xring3{
  z-index:1 !important;
}

.el-xring::before{
  z-index:1 !important;
}

.el-xmain{
  z-index:6 !important;
}

.el-xside{
  z-index:4 !important;
}


/* stop the ORIGINAL hero script from fading everything
   during our new animation */
.el-xstage.is-switching .el-xmain img,
.el-xstage.is-switching .el-xside img,
.el-xstage.is-switching .el-xside-info,
.el-xstage.is-switching .el-xfeatured,
.el-xstage.is-switching .el-xreadout,
.el-xstage.is-switching .el-xchip{
  opacity:1 !important;
}
/* =========================================================
   MONOLITH LABS — PREMIUM SINGLE PRODUCT REDESIGN
   ========================================================= */

/* Layout width */
.single-product div.product {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 18px !important;
}

.single-product div.product .woocommerce-product-gallery,
.single-product div.product .summary {
  margin-top: 0 !important;
}

.single-product div.product .woocommerce-product-gallery {
  width: 48% !important;
}

.single-product div.product .summary {
  width: 48% !important;
}

/* Bigger image area */
.single-product .woocommerce-product-gallery {
  position: relative;
}

.single-product .woocommerce-product-gallery__wrapper,
.single-product .woocommerce-product-gallery__image {
  border-radius: 28px !important;
  overflow: hidden !important;
}

.single-product .woocommerce-product-gallery__image img,
.single-product .woocommerce-product-gallery img {
  width: 100% !important;
  height: auto !important;
  border-radius: 28px !important;
}

/* Cleaner right side */
.single-product .summary {
  background: #ffffff;
  border: 1px solid #ede8de;
  border-radius: 28px;
  padding: 36px 36px 28px !important;
  box-shadow: 0 24px 60px rgba(20,59,49, 0.06);
}

.single-product .summary .product_title {
  font-size: clamp(42px, 5vw, 68px) !important;
  line-height: 0.94 !important;
  letter-spacing: -0.04em !important;
  color: #143b31 !important;
  margin-bottom: 20px !important;
}

.single-product .summary .woocommerce-product-details__short-description,
.single-product .woocommerce-tabs,
.single-product .related.products {
  display: none !important;
}

/* Prices black */
.single-product .summary .price,
.single-product .summary .price .woocommerce-Price-amount,
.single-product .summary .price ins,
.single-product .summary .price ins .woocommerce-Price-amount,
.single-product .summary .price bdi,
.el-library-price,
.el-library-price .price,
.el-library-price .woocommerce-Price-amount,
.el-library-price bdi {
  color: #0e2a23 !important;
}

.single-product .summary del,
.single-product .summary del .woocommerce-Price-amount {
  color: #b1aba0 !important;
}

/* Buttons */
.single-product .summary .single_add_to_cart_button {
  background: linear-gradient(135deg, #1a4e41 0%, #3d3a32 100%) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 18px !important;
  min-height: 56px !important;
  box-shadow: 0 12px 26px rgba(61,58,50, 0.22);
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}

.single-product .summary .single_add_to_cart_button:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(61,58,50, 0.28);
  filter: brightness(1.02);
}

/* Quantity */
.single-product .summary .quantity .qty {
  border-radius: 16px !important;
  border: 1px solid #eae5db !important;
  min-height: 56px !important;
}

/* Meta cleaner */
.single-product .product_meta {
  padding-top: 18px;
  border-top: 1px solid #f0ece4;
  margin-top: 22px;
  color: #787162;
}

/* ------------------------------
   Research info section
------------------------------ */
.el-overline {
  display: inline-block;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #888070;
  font-weight: 700;
  margin-bottom: 14px;
}

.el-research-specs {
  margin: 56px auto 0;
  max-width: 1400px;
  padding: 0 18px;
}

.el-research-specs__inner {
  display: grid;
  grid-template-columns: 1.02fr 1.18fr;
  gap: 28px;
  align-items: stretch;
}

.el-research-specs__visual-card {
  position: relative;
  border-radius: 32px;
  background: radial-gradient(circle at 50% 35%, rgba(241,236,222, 0.15), rgba(19,56,47, 0.95));
  padding: 34px;
  min-height: 620px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 26px 70px rgba(18,55,46, 0.14);
}

.el-research-specs__glow {
  position: absolute;
  inset: auto auto 0 50%;
  transform: translateX(-50%);
  width: 72%;
  height: 180px;
  background: radial-gradient(circle, rgba(241,236,222, 0.28), rgba(241,236,222, 0) 70%);
  filter: blur(20px);
}

.el-research-vial {
  max-width: 82%;
  height: auto;
  position: relative;
  z-index: 2;
  animation: elFloat 7s ease-in-out infinite;
  filter: drop-shadow(0 32px 42px rgba(0, 0, 0, 0.18));
}

.el-research-specs__content {
  background: #ffffff;
  border: 1px solid #ede8de;
  border-radius: 32px;
  padding: 34px;
  box-shadow: 0 24px 60px rgba(20,59,49, 0.06);
}

.el-research-specs__content h2 {
  margin: 0 0 14px;
  font-size: clamp(28px, 3vw, 46px);
  line-height: 1.04;
  letter-spacing: -0.03em;
  color: #13382e;
}

.el-research-specs__content p {
  color: #6b6558;
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: 28px;
}

.el-spec-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.el-spec-card {
  border: 1px solid #eeeae1;
  border-radius: 20px;
  padding: 18px 18px 16px;
  background: linear-gradient(180deg, #fff 0%, #f7fbff 100%);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.el-spec-card:hover {
  transform: translateY(-4px);
  border-color: #dfd6c5;
  box-shadow: 0 18px 36px rgba(38,113,94, 0.08);
}

.el-spec-card strong {
  display: block;
  color: #164036;
  font-size: 15px;
  margin-bottom: 8px;
}

.el-spec-card span {
  color: #746c5e;
  font-size: 14px;
  line-height: 1.6;
}

/* ------------------------------
   Dark showcase section
------------------------------ */
.el-research-showcase {
  max-width: 1400px;
  margin: 36px auto 0;
  padding: 0 18px;
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 18px;
}

.el-research-showcase__panel {
  position: relative;
  border-radius: 34px;
  overflow: hidden;
}

.el-research-showcase__panel--visual {
  min-height: 520px;
  background:
    radial-gradient(circle at 50% 25%, rgba(241,236,222, 0.22), transparent 30%),
    linear-gradient(145deg, #216554 0%, #17453a 50%, #102f27 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 24px 60px rgba(20,59,49, 0.14);
}

.el-research-showcase__scan {
  position: absolute;
  left: -20%;
  top: 0;
  width: 40%;
  height: 100%;
  background: linear-gradient(90deg, transparent 0%, rgba(241,236,222, 0.18) 50%, transparent 100%);
  transform: skewX(-16deg);
  animation: elScan 6.5s linear infinite;
}

.el-research-showcase__vial-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 26px;
}

.el-research-showcase__vial-wrap .el-research-vial {
  max-width: 72%;
}

.el-research-showcase__panel--content {
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border: 1px solid #ede8df;
  padding: 34px;
  box-shadow: 0 24px 60px rgba(20,59,49, 0.06);
}

.el-research-showcase__panel--content h2 {
  margin: 0 0 14px;
  color: #164036;
  font-size: clamp(30px, 3vw, 48px);
  line-height: 1.06;
  letter-spacing: -0.03em;
}

.el-research-showcase__panel--content p {
  font-size: 16px;
  line-height: 1.75;
  color: #6e675a;
  margin-bottom: 22px;
}

.el-quick-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 22px 0 24px;
}

.el-quick-facts div {
  background: #fff;
  border: 1px solid #ede8df;
  border-radius: 18px;
  padding: 16px 18px;
}

.el-quick-facts span {
  display: block;
  color: #958d7d;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 6px;
}

.el-quick-facts strong {
  color: #164036;
  font-size: 16px;
}

.el-inline-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #3d3a32;
  text-decoration: none;
  font-weight: 700;
  margin-bottom: 24px;
}

.el-inline-link:hover {
  color: #3d3a32;
}

.el-secure-points {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 16px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.el-secure-points li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #194c3f;
  font-size: 14px;
  font-weight: 600;
}

.el-secure-points li span {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #7a7466;
  box-shadow: 0 0 14px rgba(122,116,102, 0.6);
  flex: 0 0 9px;
}

/* ------------------------------
   All-products carousel
------------------------------ */
.el-library-section {
  max-width: 1400px;
  margin: 42px auto 0;
  padding: 0 18px 10px;
}

.el-library-header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}

.el-library-header h2 {
  margin: 0;
  color: #164036;
  font-size: clamp(30px, 3vw, 44px);
  line-height: 1.04;
  letter-spacing: -0.03em;
}

.el-library-controls {
  display: flex;
  gap: 10px;
}

.el-library-arrow {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid #ebe6db;
  background: #fff;
  color: #143e33;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .25s ease, background .25s ease;
}

.el-library-arrow:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(18,55,46, 0.1);
  background: #f8fbff;
}

.el-library-track-wrap {
  overflow: hidden;
}

.el-library-track {
  display: flex;
  gap: 18px;
  overflow-x: auto;
  padding: 8px 2px 18px;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.el-library-track::-webkit-scrollbar {
  display: none;
}

.el-library-card {
  flex: 0 0 250px;
  scroll-snap-align: start;
  background: #fff;
  border: 1px solid #ece7dd;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 18px 42px rgba(20,59,49, 0.06);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.el-library-card:hover {
  transform: translateY(-6px);
  border-color: #e0d8c7;
  box-shadow: 0 28px 56px rgba(20,59,49, 0.12);
}

.el-library-thumb {
  display: block;
  background: linear-gradient(180deg, #faf9f6 0%, #f7f5f2 100%);
  padding: 16px;
  aspect-ratio: 1 / 1;
}

.el-library-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 18px;
  transition: transform .35s ease;
}

.el-library-card:hover .el-library-thumb img {
  transform: scale(1.04);
}

.el-library-meta {
  padding: 16px 16px 18px;
}

.el-library-cat {
  display: inline-block;
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #9d9688;
  font-weight: 700;
  margin-bottom: 8px;
}

.el-library-meta h3 {
  margin: 0 0 10px;
  font-size: 24px;
  line-height: 1.05;
  letter-spacing: -0.03em;
}

.el-library-meta h3 a {
  color: #164036;
  text-decoration: none;
}

.el-library-price {
  margin-bottom: 14px;
  font-weight: 700;
  font-size: 20px;
}

.el-library-price del {
  color: #b1aba0 !important;
  margin-right: 8px;
  font-size: 16px;
}

.el-library-actions .button,
.el-library-btn {
  width: 100%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 48px;
  border-radius: 16px;
  background: linear-gradient(135deg, #1a4e41 0%, #3d3a32 100%);
  color: #fff !important;
  text-decoration: none !important;
  border: 0 !important;
  font-weight: 700;
  box-shadow: 0 12px 26px rgba(61,58,50, 0.18);
  transition: transform .25s ease, box-shadow .25s ease;
}

.el-library-actions .button:hover,
.el-library-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(61,58,50, 0.24);
}

/* Animations */
@keyframes elFloat {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-10px); }
}

@keyframes elScan {
  0% { left: -30%; }
  100% { left: 120%; }
}

/* Mobile */
@media (max-width: 980px) {
  .single-product div.product .woocommerce-product-gallery,
  .single-product div.product .summary {
    width: 100% !important;
    float: none !important;
  }

  .single-product .summary {
    margin-top: 22px !important;
    padding: 24px !important;
  }

  .single-product .summary .product_title {
    font-size: 44px !important;
  }

  .el-research-specs__inner,
  .el-research-showcase {
    grid-template-columns: 1fr;
  }

  .el-research-specs__visual-card,
  .el-research-showcase__panel--visual {
    min-height: 420px;
  }

  .el-spec-grid,
  .el-quick-facts,
  .el-secure-points {
    grid-template-columns: 1fr;
  }

  .el-library-card {
    flex-basis: 74vw;
  }
}
/* =========================================================
   MONOLITH LABS — PREMIUM BUNDLE SELECTOR
   ========================================================= */

.single-product .el-bundle-wrap {
    width: 100%;
    margin: 22px 0 4px;
}

.single-product .el-bundle-top {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 12px;
}

.single-product .el-bundle-heading {
    color: #153f34;
    font-size: 11px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.single-product .el-bundle-subheading {
    margin-top: 6px;
    color: #968e7e;
    font-size: 9px;
    line-height: 1.4;
}


/* GRID */

.single-product .el-bundle-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
}


/* CARD */

.single-product .el-bundle-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    min-width: 0;
    min-height: 112px;

    padding: 18px 8px 15px;

    border: 1px solid #eae4d9;
    border-radius: 14px;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fbfdff 100%
        );

    color: #143b31;

    cursor: pointer;

    outline: none;

    box-shadow:
        0 5px 15px
        rgba(21,64,53,.035);

    transform:
        translateY(0)
        scale(1);

    transition:
        border-color .20s ease,
        background .20s ease,
        box-shadow .24s ease,
        transform .20s
        cubic-bezier(.2,.75,.25,1);
}


/* HOVER */

.single-product .el-bundle-card:hover {
    border-color: #f1ecde;

    box-shadow:
        0 12px 25px
        rgba(25,76,63,.09);

    transform:
        translateY(-3px)
        scale(1.008);
}


/* KEYBOARD FOCUS */

.single-product .el-bundle-card:focus-visible {
    outline: none;

    border-color: #3d3a32;

    box-shadow:
        0 0 0 3px
        rgba(61,58,50,.13),
        0 10px 24px
        rgba(25,76,63,.08);
}


/* SELECTED */

.single-product
.el-bundle-card.is-active {

    border:
        2px solid
        #3d3a32;

    background:
        radial-gradient(
            circle at 50% 10%,
            rgba(122,116,102,.12),
            transparent 55%
        ),
        linear-gradient(
            180deg,
            #fbfaf9 0%,
            #f7f5f1 100%
        );

    box-shadow:
        0 0 0 3px
        rgba(61,58,50,.075),
        0 15px 32px
        rgba(35,104,87,.13);

    transform:
        translateY(-3px)
        scale(1.012);
}


/* CLICK SPRING */

@keyframes elBundlePop {

    0% {
        transform:
            translateY(-1px)
            scale(.98);
    }

    55% {
        transform:
            translateY(-4px)
            scale(1.025);
    }

    100% {
        transform:
            translateY(-3px)
            scale(1.012);
    }
}

.single-product
.el-bundle-card.el-bundle-pop {

    animation:
        elBundlePop
        .38s
        cubic-bezier(.2,.8,.25,1);
}


/* TITLE */

.single-product
.el-bundle-name {

    color: #153e34;

    font-size: 12px;

    line-height: 1.2;

    font-weight: 800;

    white-space: nowrap;
}


/* SAVE TEXT */

.single-product
.el-bundle-save {

    margin-top: 7px;

    color: #3d9870;

    font-size: 9px;

    line-height: 1;

    font-weight: 700;
}


/* PRICE */

.single-product
.el-bundle-price {

    margin-top: 9px;

    color: #0c231d;

    font-size: 13px;

    line-height: 1;

    font-weight: 850;

    letter-spacing: -.015em;
}


/* PRICE CHANGE */

@keyframes elPriceChange {

    0% {
        opacity: .25;
        transform:
            translateY(3px);
    }

    100% {
        opacity: 1;
        transform:
            translateY(0);
    }
}

.single-product
.el-bundle-price.el-price-change {

    animation:
        elPriceChange
        .25s ease;
}


/* BADGES */

.single-product
.el-bundle-badge {

    position: absolute;

    top: -8px;

    left: 50%;

    transform:
        translateX(-50%);

    padding:
        4px 8px;

    border-radius:
        999px;

    background:
        #239e93;

    color:
        #ffffff;

    font-size:
        7px;

    line-height:
        1;

    font-weight:
        800;

    letter-spacing:
        .02em;

    white-space:
        nowrap;

    box-shadow:
        0 5px 12px
        rgba(35,158,147,.18);
}


.single-product
.el-bundle-badge.gold {

    background:
        #b79848;

    box-shadow:
        0 5px 12px
        rgba(183,152,72,.18);
}


.single-product
.el-bundle-badge.dark {

    background:
        #6d6659;

    box-shadow:
        0 5px 12px
        rgba(109,102,89,.18);
}


/* SELECTED CHECK */

.single-product
.el-bundle-check {

    position: absolute;

    right: 8px;

    bottom: 8px;

    display: grid;

    place-items: center;

    width: 19px;

    height: 19px;

    border-radius: 50%;

    background:
        #3d3a32;

    color: #ffffff;

    font-size: 9px;

    font-weight: 900;

    opacity: 0;

    transform:
        scale(.45)
        rotate(-18deg);

    box-shadow:
        0 5px 12px
        rgba(61,58,50,.22);

    transition:
        opacity .18s ease,
        transform .25s
        cubic-bezier(.2,.8,.25,1);
}


.single-product
.el-bundle-card.is-active
.el-bundle-check {

    opacity: 1;

    transform:
        scale(1)
        rotate(0);
}


/* subtle selected glow */

.single-product
.el-bundle-card.is-active::before {

    content: "";

    position: absolute;

    inset: -1px;

    border-radius:
        inherit;

    pointer-events:
        none;

    background:
        radial-gradient(
            circle at 50% 20%,
            rgba(122,116,102,.13),
            transparent 60%
        );

    animation:
        elBundleGlow
        2.8s
        ease-in-out
        infinite;
}


@keyframes elBundleGlow {

    0%,
    100% {
        opacity: .55;
    }

    50% {
        opacity: 1;
    }
}


/* MOBILE */

@media (max-width: 700px) {

    .single-product
    .el-bundle-grid {

        grid-template-columns:
            repeat(2, minmax(0,1fr));

        gap: 10px;
    }

    .single-product
    .el-bundle-card {

        min-height: 105px;
    }
}


/* ACCESSIBILITY */

@media
(prefers-reduced-motion: reduce) {

    .single-product
    .el-bundle-card,

    .single-product
    .el-bundle-check,

    .single-product
    .el-bundle-price {

        transition: none !important;
        animation: none !important;
    }

    .single-product
    .el-bundle-card.is-active::before {

        animation: none !important;
    }
}
/* ==========================================================
   MONOLITH LABS — BUNDLE SELECTOR V4
   Uses isolated ELX classes to avoid old CSS conflicts
   ========================================================== */


/* WHOLE SECTION */

body.single-product .summary .elx-pack {
    width: 100% !important;
    margin: 22px 0 2px !important;
    padding: 0 !important;
}


/* HEADER */

body.single-product .summary .elx-pack-head {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 20px !important;

    margin-bottom: 15px !important;
}


body.single-product .summary .elx-pack-title {
    color: #194a3e !important;

    font-size: 11px !important;
    line-height: 1 !important;

    font-weight: 850 !important;

    letter-spacing: .13em !important;

    text-transform: uppercase !important;
}


body.single-product .summary .elx-pack-helper {
    margin-top: 7px !important;

    color: #9c9485 !important;

    font-size: 9px !important;

    font-weight: 550 !important;
}


body.single-product .summary .elx-pack-selected {
    display: inline-flex !important;
    align-items: center !important;

    min-height: 27px !important;

    padding: 0 10px !important;

    border: 1px solid #eae5db !important;

    border-radius: 999px !important;

    background: #f7fbfd !important;

    color: #888070 !important;

    font-size: 8px !important;

    font-weight: 750 !important;

    letter-spacing: .025em !important;
}


/* GRID */

body.single-product .summary .elx-pack-row {
    display: grid !important;

    grid-template-columns:
        repeat(4, minmax(0, 1fr)) !important;

    gap: 10px !important;

    width: 100% !important;
}


/* BASE CARD */

body.single-product .summary button.elx-pack-choice {
    position: relative !important;

    display: flex !important;

    flex-direction: column !important;

    align-items: center !important;

    justify-content: center !important;

    width: 100% !important;

    min-width: 0 !important;

    min-height: 126px !important;

    margin: 0 !important;

    padding:
        22px
        8px
        15px !important;

    appearance: none !important;

    border:
        1px solid
        #e9e4d9 !important;

    border-radius:
        16px !important;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fbfdff 100%
        ) !important;

    color:
        #143b31 !important;

    box-shadow:
        0 5px 16px
        rgba(21,63,53,
            .035
        ) !important;

    cursor:
        pointer !important;

    overflow:
        visible !important;

    outline:
        none !important;

    transform:
        translateY(0)
        scale(1) !important;

    transition:
        transform
            .22s
            cubic-bezier(.2,.75,.25,1),
        border-color
            .2s ease,
        box-shadow
            .24s ease,
        background
            .2s ease !important;
}


/* HOVER */

body.single-product
.summary
button.elx-pack-choice:hover {

    border-color:
        #f1ecde !important;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fbfaf8 100%
        ) !important;

    box-shadow:
        0 13px 28px
        rgba(25,76,63,
            .09
        ) !important;

    transform:
        translateY(-3px)
        scale(1.008) !important;
}


/* SELECTED CARD */

body.single-product
.summary
button.elx-pack-choice.is-selected {

    border:
        2px solid
        #3d3a32 !important;

    background:
        linear-gradient(
            145deg,
            #f0ece5 0%,
            #f9f7f3 47%,
            #ece7de 100%
        ) !important;

    box-shadow:
        inset
        0 1px 0
        rgba(255,255,255,.95),

        inset
        0 0 0 1px
        rgba(61,58,50,.07),

        0 0 0 4px
        rgba(61,58,50,.09),

        0 16px 34px
        rgba(37,110,92,.17) !important;

    transform:
        translateY(-4px)
        scale(1.018) !important;
}


/* INNER GLASS BORDER */

body.single-product
.summary
button.elx-pack-choice.is-selected::before {

    content: "" !important;

    position:
        absolute !important;

    inset:
        4px !important;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .75
        ) !important;

    border-radius:
        12px !important;

    pointer-events:
        none !important;
}


/* CHECKMARK */

body.single-product
.summary
button.elx-pack-choice.is-selected::after {

    content: "✓" !important;

    position:
        absolute !important;

    right:
        8px !important;

    bottom:
        8px !important;

    display:
        grid !important;

    place-items:
        center !important;

    width:
        21px !important;

    height:
        21px !important;

    border-radius:
        50% !important;

    background:
        linear-gradient(
            135deg,
            #3d3a32,
            #7a7466
        ) !important;

    color:
        white !important;

    font-size:
        10px !important;

    font-weight:
        900 !important;

    box-shadow:
        0 6px 15px
        rgba(61,58,50,
            .28
        ) !important;

    animation:
        elxCheckIn
        .3s
        cubic-bezier(.2,.8,.25,1) !important;
}


@keyframes elxCheckIn {

    0% {
        opacity: 0;
        transform:
            scale(.35)
            rotate(-20deg);
    }

    70% {
        opacity: 1;
        transform:
            scale(1.13)
            rotate(3deg);
    }

    100% {
        opacity: 1;
        transform:
            scale(1)
            rotate(0);
    }
}


/* CLICK SPRING */

body.single-product
.summary
button.elx-pack-choice.is-popping {

    animation:
        elxPackPop
        .38s
        cubic-bezier(.2,.8,.25,1) !important;
}


@keyframes elxPackPop {

    0% {
        transform:
            translateY(-1px)
            scale(.97);
    }

    58% {
        transform:
            translateY(-6px)
            scale(1.035);
    }

    100% {
        transform:
            translateY(-4px)
            scale(1.018);
    }
}


/* PRODUCT NAME */

body.single-product
.summary
.elx-pack-name {

    position:
        relative !important;

    z-index:
        2 !important;

    color:
        #143d33 !important;

    font-size:
        12px !important;

    line-height:
        1.15 !important;

    font-weight:
        850 !important;

    white-space:
        nowrap !important;
}


body.single-product
.summary
.is-selected
.elx-pack-name {

    color:
        #143b31 !important;
}


/* DISCOUNT TEXT */

body.single-product
.summary
.elx-pack-sub {

    position:
        relative !important;

    z-index:
        2 !important;

    margin-top:
        7px !important;

    color:
        #867e6e !important;

    font-size:
        9px !important;

    font-weight:
        650 !important;
}


body.single-product
.summary
.is-selected
.elx-pack-sub {

    color:
        #3d3a32 !important;

    font-weight:
        800 !important;
}


/* REGULAR TOTAL */

body.single-product
.summary
.elx-pack-was {

    min-height:
        13px !important;

    margin-top:
        6px !important;

    color:
        #b0aa9e !important;

    font-size:
        8px !important;

    line-height:
        1 !important;

    font-weight:
        600 !important;

    text-decoration:
        line-through !important;
}


/* BUNDLE TOTAL */

body.single-product
.summary
.elx-pack-price {

    position:
        relative !important;

    z-index:
        2 !important;

    margin-top:
        4px !important;

    color:
        #3d3a32 !important;

    font-size:
        16px !important;

    line-height:
        1 !important;

    font-weight:
        900 !important;

    letter-spacing:
        -.025em !important;

    transition:
        transform
        .2s ease !important;
}


body.single-product
.summary
.is-selected
.elx-pack-price {

    color:
        #246e5b !important;

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


/* PRICE ANIMATION */

body.single-product
.summary
.elx-pack-price.is-changing {

    animation:
        elxPriceChange
        .25s ease !important;
}


@keyframes elxPriceChange {

    0% {
        opacity:
            .2;

        transform:
            translateY(4px);
    }

    100% {
        opacity:
            1;

        transform:
            translateY(0);
    }
}


/* PER BOTTLE PRICE */

body.single-product
.summary
.elx-pack-unit {

    position:
        relative !important;

    z-index:
        2 !important;

    margin-top:
        7px !important;

    color:
        #a39c8f !important;

    font-size:
        7.5px !important;

    line-height:
        1 !important;

    font-weight:
        650 !important;
}


/* TOP BADGES */

body.single-product
.summary
.elx-tag {

    position:
        absolute !important;

    z-index:
        5 !important;

    top:
        -8px !important;

    left:
        50% !important;

    transform:
        translateX(-50%) !important;

    padding:
        5px 9px !important;

    border-radius:
        999px !important;

    background:
        #239d92 !important;

    color:
        white !important;

    font-size:
        6.5px !important;

    line-height:
        1 !important;

    font-weight:
        850 !important;

    letter-spacing:
        .035em !important;

    text-transform:
        uppercase !important;

    white-space:
        nowrap !important;

    box-shadow:
        0 5px 12px
        rgba(
            35,
            157,
            146,
            .19
        ) !important;
}


body.single-product
.summary
.elx-tag.is-gold {

    background:
        #c09a3e !important;

    box-shadow:
        0 5px 12px
        rgba(
            192,
            154,
            62,
            .18
        ) !important;
}


body.single-product
.summary
.elx-tag.is-dark {

    background:
        #5c574c !important;
}


body.single-product
.summary
.is-selected
.elx-tag {

    filter:
        brightness(1.07)
        saturate(1.1) !important;

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


/* KEYBOARD FOCUS */

body.single-product
.summary
button.elx-pack-choice:focus-visible {

    outline:
        none !important;

    box-shadow:
        0 0 0 4px
        rgba(61,58,50,
            .14
        ),
        0 12px 26px
        rgba(25,76,63,
            .09
        ) !important;
}


/* MOBILE */

@media (max-width: 700px) {

    body.single-product
    .summary
    .elx-pack-row {

        grid-template-columns:
            repeat(
                2,
                minmax(0,1fr)
            ) !important;

        gap:
            11px !important;
    }


    body.single-product
    .summary
    button.elx-pack-choice {

        min-height:
            118px !important;
    }
}


/* REDUCED MOTION */

@media
(prefers-reduced-motion: reduce) {

    body.single-product
    .summary
    button.elx-pack-choice,

    body.single-product
    .summary
    .elx-pack-price {

        animation:
            none !important;

        transition:
            none !important;
    }
}
body.single-product .summary button.elx-pack-choice.is-selected::after {
    content: none !important;
    display: none !important;
}
/* =========================================================
   MONOLITH LABS — PURCHASE PANEL V5
   ========================================================= */


/* ========================================
   SELECTED BUNDLE SUMMARY
   ======================================== */

body.single-product .summary .elx-purchase-summary {

    display: flex !important;

    align-items: center !important;

    justify-content: space-between !important;

    gap: 18px !important;

    width: 100% !important;

    margin:
        22px
        0
        0 !important;

    padding:
        13px
        15px !important;

    border:
        1px solid
        #ebe6dc !important;

    border-radius:
        13px !important;

    background:
        linear-gradient(
            180deg,
            #f9fcfe 0%,
            #f3f8fb 100%
        ) !important;

    box-shadow:
        inset
        0 1px 0
        rgba(
            255,
            255,
            255,
            .9
        ) !important;
}


body.single-product
.summary
.elx-purchase-summary-left,

body.single-product
.summary
.elx-purchase-summary-right {

    display:
        flex !important;

    flex-direction:
        column !important;

    gap:
        4px !important;
}


body.single-product
.summary
.elx-purchase-summary-right {

    align-items:
        flex-end !important;

    text-align:
        right !important;
}


body.single-product
.summary
.elx-summary-label,

body.single-product
.summary
.elx-summary-total-label {

    color:
        #9c9586 !important;

    font-size:
        7.5px !important;

    line-height:
        1 !important;

    font-weight:
        800 !important;

    letter-spacing:
        .12em !important;

    text-transform:
        uppercase !important;
}


body.single-product
.summary
.elx-summary-choice {

    color:
        #194c3f !important;

    font-size:
        11px !important;

    line-height:
        1.2 !important;

    font-weight:
        800 !important;
}


body.single-product
.summary
.elx-summary-price {

    color:
        #3d3a32 !important;

    font-size:
        16px !important;

    line-height:
        1 !important;

    font-weight:
        900 !important;

    letter-spacing:
        -.02em !important;
}


body.single-product
.summary
.elx-summary-price.is-updating {

    animation:
        elxSummaryPrice
        .26s ease !important;
}


@keyframes elxSummaryPrice {

    from {

        opacity:
            .2;

        transform:
            translateY(4px);
    }

    to {

        opacity:
            1;

        transform:
            translateY(0);
    }
}



/* ========================================
   QUANTITY + ADD TO CART
   ======================================== */

body.single-product
.summary
form.cart {

    gap:
        10px !important;

    margin-top:
        10px !important;

    padding-top:
        10px !important;

    border-top:
        0 !important;
}


body.single-product
.summary
form.cart > .quantity {

    width:
        118px !important;

    min-width:
        118px !important;

    height:
        54px !important;

    border:
        1px solid
        #e8e2d5 !important;

    border-radius:
        14px !important;

    box-shadow:
        0 4px 13px
        rgba(21,64,53,
            .035
        ) !important;
}


body.single-product
.summary
form.cart
.single_add_to_cart_button {

    flex:
        1 1 270px !important;

    min-height:
        54px !important;

    border-radius:
        14px !important;

    background:
        linear-gradient(
            135deg,
            #1c5647 0%,
            #3d3a32 52%,
            #3d3a32 100%
        ) !important;

    box-shadow:
        0 11px 24px
        rgba(30,91,76,
            .18
        ) !important;

    letter-spacing:
        .01em !important;

    transform:
        translateY(0) !important;

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        filter .18s ease !important;
}


body.single-product
.summary
form.cart
.single_add_to_cart_button:hover {

    transform:
        translateY(-2px) !important;

    box-shadow:
        0 16px 31px
        rgba(30,91,76,
            .24
        ) !important;
}


body.single-product
.summary
form.cart
.single_add_to_cart_button:active {

    transform:
        translateY(1px)
        scale(.992) !important;
}



/* LOADING */

body.single-product
.summary
.single_add_to_cart_button.elx-cart-loading {

    opacity:
        .84 !important;

    cursor:
        wait !important;
}



/* SUCCESS */

body.single-product
.summary
.single_add_to_cart_button.elx-cart-success {

    background:
        linear-gradient(
            135deg,
            #12654a,
            #1c8b68
        ) !important;

    box-shadow:
        0 11px 25px
        rgba(
            18,
            112,
            82,
            .2
        ) !important;
}



/* ========================================
   DOCUMENTATION PANEL
   ======================================== */

body.single-product
.summary
.product_meta {

    margin-top:
        18px !important;

    padding:
        16px !important;

    border:
        1px solid
        #ebe6db !important;

    border-radius:
        15px !important;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fbfdff 100%
        ) !important;

    box-shadow:
        0 7px 21px
        rgba(21,64,53,
            .035
        ) !important;
}



/* EXISTING DOCUMENTATION GRID */

body.single-product
.summary
.el-doc-grid {

    grid-template-columns:
        repeat(
            2,
            minmax(0,1fr)
        ) !important;

    gap:
        7px !important;

    margin-top:
        10px !important;

    padding-top:
        10px !important;
}


body.single-product
.summary
.el-doc-item {

    min-height:
        38px !important;

    padding:
        8px 9px !important;

    border:
        1px solid
        #eeeae1 !important;

    border-radius:
        10px !important;

    background:
        #f8fbfd !important;

    font-size:
        8.5px !important;
}



/* ========================================
   DOCUMENTATION ACTIONS
   ======================================== */

body.single-product
.summary
.elx-doc-actions {

    display:
        grid !important;

    grid-template-columns:
        1fr 1fr !important;

    gap:
        8px !important;

    margin-top:
        11px !important;

    padding-top:
        11px !important;

    border-top:
        1px solid
        #f0ece3 !important;
}


body.single-product
.summary
a.elx-doc-button {

    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    gap:
        7px !important;

    min-height:
        41px !important;

    padding:
        0 10px !important;

    border:
        1px solid
        #e9e4d9 !important;

    border-radius:
        10px !important;

    background:
        #ffffff !important;

    color:
        #575248 !important;

    font-size:
        8.5px !important;

    line-height:
        1 !important;

    font-weight:
        800 !important;

    text-decoration:
        none !important;

    box-shadow:
        0 3px 10px
        rgba(21,64,53,
            .025
        ) !important;

    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease !important;
}


body.single-product
.summary
a.elx-doc-button:hover {

    border-color:
        #f1ecde !important;

    box-shadow:
        0 8px 18px
        rgba(25,76,63,
            .07
        ) !important;

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


body.single-product
.summary
a.elx-doc-primary {

    border-color:
        #236856 !important;

    background:
        linear-gradient(
            135deg,
            #1c5547,
            #3d3a32
        ) !important;

    color:
        #ffffff !important;

    box-shadow:
        0 7px 17px
        rgba(28,86,71,
            .14
        ) !important;
}


body.single-product
.summary
.elx-doc-button-icon {

    display:
        grid !important;

    place-items:
        center !important;

    width:
        18px !important;

    height:
        18px !important;

    border-radius:
        50% !important;

    background:
        rgba(61,58,50,
            .08
        ) !important;

    font-size:
        9px !important;

    font-weight:
        900 !important;
}


body.single-product
.summary
.elx-doc-primary
.elx-doc-button-icon {

    background:
        rgba(
            255,
            255,
            255,
            .14
        ) !important;
}



/* ========================================
   REMOVE DUPLICATE NOTICE
   ======================================== */

body.single-product
.summary
.elx-hide-duplicate-notice {

    display:
        none !important;
}



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

@media
(max-width: 620px) {

    body.single-product
    .summary
    .elx-purchase-summary {

        margin-top:
            17px !important;
    }


    body.single-product
    .summary
    form.cart > .quantity {

        width:
            110px !important;

        min-width:
            110px !important;
    }


    body.single-product
    .summary
    .elx-doc-actions {

        grid-template-columns:
            1fr !important;
    }
}



/* ========================================
   REDUCED MOTION
   ======================================== */

@media
(prefers-reduced-motion: reduce) {

    body.single-product
    .summary
    .single_add_to_cart_button,

    body.single-product
    .summary
    .elx-summary-price,

    body.single-product
    .summary
    .elx-doc-button {

        transition:
            none !important;

        animation:
            none !important;
    }
}
/* =========================================
   PREMIUM VIEW DOCUMENTATION BUTTON
   ========================================= */

body.single-product
.summary
a.elx-doc-primary {

    position: relative !important;
    overflow: hidden !important;

    min-height: 44px !important;

    border: 1px solid #3d3a32 !important;
    border-radius: 11px !important;

    background:
        linear-gradient(
            135deg,
            #1d5648 0%,
            #3d3a32 55%,
            #3d3a32 100%
        ) !important;

    color: #ffffff !important;

    font-size: 9px !important;
    font-weight: 850 !important;

    letter-spacing: .015em !important;

    box-shadow:
        0 8px 18px rgba(33,101,84,.17),
        inset 0 1px 0 rgba(255,255,255,.13) !important;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        filter .2s ease !important;
}


/* ICON */

body.single-product
.summary
a.elx-doc-primary
.elx-doc-button-icon {

    width: 20px !important;
    height: 20px !important;

    border: 1px solid rgba(255,255,255,.18) !important;
    border-radius: 6px !important;

    background: rgba(255,255,255,.13) !important;

    color: #ffffff !important;

    font-size: 10px !important;
    font-weight: 900 !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.12) !important;
}


/* LIGHT SWEEP */

body.single-product
.summary
a.elx-doc-primary::after {

    content: "" !important;

    position: absolute !important;

    top: 0 !important;
    bottom: 0 !important;

    left: -45% !important;

    width: 28% !important;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.22),
            transparent
        ) !important;

    transform: skewX(-18deg) !important;

    transition:
        left .5s ease !important;

    pointer-events: none !important;
}


/* HOVER */

body.single-product
.summary
a.elx-doc-primary:hover {

    transform: translateY(-2px) !important;

    filter: brightness(1.05) !important;

    box-shadow:
        0 12px 26px rgba(33,101,84,.24),
        inset 0 1px 0 rgba(255,255,255,.16) !important;
}


body.single-product
.summary
a.elx-doc-primary:hover::after {

    left: 125% !important;
}


/* CLICK */

body.single-product
.summary
a.elx-doc-primary:active {

    transform:
        translateY(0)
        scale(.985) !important;
}
/* =========================================================
   MONOLITH LABS — SHARPER DOCUMENTATION TYPOGRAPHY
   ========================================================= */

body.single-product .summary .product_meta,
body.single-product .summary .product_meta * {
    font-family: Inter, Arial, sans-serif !important;
    font-synthesis: none !important;
    text-rendering: geometricPrecision !important;
}


/* DOCUMENTATION & SUPPORT HEADING */

body.single-product .summary .product_meta::before {
    font-size: 9.5px !important;
    font-weight: 800 !important;
    letter-spacing: .13em !important;
    line-height: 1.2 !important;
}


/* CATEGORY */

body.single-product .summary .product_meta,
body.single-product .summary .product_meta a {
    font-size: 10.5px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
}


/* FOUR INFORMATION BOXES */

body.single-product .summary .el-doc-item {
    font-size: 10px !important;
    font-weight: 650 !important;
    line-height: 1.3 !important;
    color: #226655 !important;
}


/* VIEW DOCUMENTATION MAIN TEXT */

body.single-product
.summary
.elx-doc-cta-text strong {
    font-size: 10.5px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
}


/* VIEW DOCUMENTATION SMALL TEXT */

body.single-product
.summary
.elx-doc-cta-text small {
    margin-top: 4px !important;

    font-size: 8.5px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;

    color: rgba(255,255,255,.78) !important;

    letter-spacing: 0 !important;
}


/* CONTACT SUPPORT MAIN TEXT */

body.single-product
.summary
.elx-support-text strong {
    font-size: 10.5px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;

    color: #1b5244 !important;
}


/* CONTACT SUPPORT SMALL TEXT */

body.single-product
.summary
.elx-support-text small {
    margin-top: 4px !important;

    font-size: 8.5px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;

    color: #928a79 !important;

    letter-spacing: 0 !important;
}


/* MAKE BUTTONS SLIGHTLY TALLER FOR THE LARGER TEXT */

body.single-product
.summary
a.elx-doc-cta-primary,

body.single-product
.summary
a.elx-support-cta {
    min-height: 56px !important;
    padding: 9px 14px !important;
}


/* DOCUMENTATION ICONS */

body.single-product
.summary
.elx-doc-cta-icon,

body.single-product
.summary
.elx-support-icon {
    width: 32px !important;
    height: 32px !important;
    flex-basis: 32px !important;
}


/* INFORMATION BOX CHECK ICON */

body.single-product
.summary
.el-doc-item::before {
    font-size: 10px !important;
}
/* =========================================================
   MONOLITH LABS — ULTRA CRISP PRODUCT TEXT
   ========================================================= */

body.single-product .summary,
body.single-product .summary * {
    font-family: Inter, "Segoe UI", Arial, sans-serif !important;

    text-rendering: optimizeLegibility !important;
    font-kerning: normal !important;

    font-feature-settings:
        "kern" 1,
        "liga" 1 !important;

    text-shadow: none !important;

    -webkit-font-smoothing: auto !important;
    -moz-osx-font-smoothing: auto !important;
}


/* =========================================================
   PREVENT CHROME FROM SOFTENING BUTTON TEXT
   ========================================================= */

body.single-product .summary a.elx-doc-cta-primary,
body.single-product .summary a.elx-support-cta {

    transform: none !important;
    filter: none !important;

    backface-visibility: visible !important;
    perspective: none !important;

    will-change: auto !important;
}


/* DON'T SCALE TEXT ON HOVER */

body.single-product .summary a.elx-doc-cta-primary:hover,
body.single-product .summary a.elx-support-cta:hover {

    transform: none !important;
    filter: none !important;
}


/* =========================================================
   STRONGER TEXT CONTRAST
   ========================================================= */

body.single-product
.summary
.elx-doc-cta-text strong {

    color: #ffffff !important;

    font-size: 11px !important;
    font-weight: 700 !important;

    line-height: 1.25 !important;

    letter-spacing: 0 !important;
}


body.single-product
.summary
.elx-doc-cta-text small {

    color: rgba(255,255,255,.82) !important;

    font-size: 9px !important;
    font-weight: 500 !important;

    line-height: 1.3 !important;

    letter-spacing: 0 !important;
}


body.single-product
.summary
.elx-support-text strong {

    color: #194d40 !important;

    font-size: 11px !important;
    font-weight: 700 !important;

    line-height: 1.25 !important;

    letter-spacing: 0 !important;
}


body.single-product
.summary
.elx-support-text small {

    color: #867e6d !important;

    font-size: 9px !important;
    font-weight: 500 !important;

    line-height: 1.3 !important;

    letter-spacing: 0 !important;
}


/* LOWER DOCUMENTATION LABELS */

body.single-product
.summary
.el-doc-item {

    color: #226655 !important;

    font-size: 10px !important;
    font-weight: 600 !important;

    line-height: 1.35 !important;

    letter-spacing: 0 !important;
}


/* CATEGORY */

body.single-product
.summary
.product_meta {

    color: #756e5f !important;

    font-size: 10px !important;
    font-weight: 500 !important;
}


body.single-product
.summary
.product_meta a {

    color: #3d3a32 !important;

    font-weight: 700 !important;
}


/* DOCUMENTATION HEADING */

body.single-product
.summary
.product_meta::before {

    color: #164237 !important;

    font-size: 9px !important;
    font-weight: 800 !important;

    letter-spacing: .11em !important;

    line-height: 1.25 !important;
}
/* MONOLITH LABS — shared compound discovery refinement — 2026-10-12 */
body #el-recommendations{padding-top:28px;margin-top:40px;scroll-margin-top:105px;font-family:Inter,"Segoe UI",Arial,sans-serif}
body #el-recommendations .el-r-head{position:relative;isolation:isolate;overflow:hidden;align-items:center;padding:32px 34px;margin-bottom:24px;gap:28px;border:1px solid #205e4f;border-radius:22px;background:radial-gradient(ellipse at 100% 0%,#236a58 0%,transparent 60%),linear-gradient(120deg,#0c261f,#143b31);box-shadow:0 12px 30px #09263e12}
body #el-recommendations .el-r-head:after{content:"";position:absolute;z-index:-1;width:250px;height:250px;right:-75px;top:-105px;border:1px solid #85cfff24;border-radius:50%;box-shadow:0 0 0 35px #85cfff08,0 0 0 70px #85cfff05;pointer-events:none}
body #el-recommendations .el-r-eyebrow{display:flex;align-items:center;gap:9px;color:#ded6c5;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase}
body #el-recommendations .el-r-eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:#f1ecde;box-shadow:0 0 12px #dea27a66}
body #el-recommendations h2{color:#fff!important;font-size:clamp(28px,3vw,40px)!important;font-weight:700!important;line-height:1.12!important;letter-spacing:-1.25px!important;margin:13px 0 12px!important}
body #el-recommendations .el-r-intro{max-width:490px;color:#dcd3c0;font-size:13px;line-height:1.7}
body #el-recommendations .el-r-shop{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:13px 18px;border:1px solid #89c9ec66;border-radius:11px;background:#ffffff0c;color:#fff;font-size:12px;font-weight:650;text-decoration:none;white-space:nowrap;transition:background .2s,border-color .2s}
body #el-recommendations .el-r-shop:hover{background:#ffffff1c;border-color:#dbd2c0}
body #el-recommendations .el-r-grid{gap:20px;align-items:stretch}
body #el-recommendations .el-r-card{padding:7px;border:1px solid #ece7dc;border-radius:20px;background:#fff;box-shadow:0 5px 18px #16423707;transition:transform .22s,box-shadow .22s,border-color .22s}
body #el-recommendations .el-r-card:hover{transform:translateY(-4px);border-color:#f1ecde;box-shadow:0 14px 30px #123f6514}
body #el-recommendations .el-r-image{border-radius:14px;background:#f6f4f0}
body #el-recommendations .el-r-image img{transition:transform .35s}
body #el-recommendations .el-r-card:hover .el-r-image img{transform:scale(1.035)}
body #el-recommendations .el-r-tag{left:10px;top:10px;padding:6px 9px;border:1px solid #ffffffb3;background:#fffffff0;color:#1e5a4b;box-shadow:0 2px 9px #12334a12;font-size:9px;font-weight:700;line-height:1.3}
body #el-recommendations .el-r-body{padding:17px 11px 11px}
body #el-recommendations h3{min-height:44px;font-size:17px!important;font-weight:650!important;line-height:1.3!important;letter-spacing:-.4px!important;margin:0 0 5px!important}
body #el-recommendations h3 a{color:#164036;text-decoration:none}
body #el-recommendations h3 a:hover{color:#3d3a32}
body #el-recommendations .el-r-type{color:#857d6d;font-size:11px;line-height:1.5;margin:0 0 18px}
body #el-recommendations .el-r-price{gap:5px 8px;font-size:23px;font-weight:750;line-height:1.25;letter-spacing:-.6px;color:#164036}
body #el-recommendations .el-r-price>span{order:0}
body #el-recommendations .el-r-price del{order:1;color:#978f7f;font-size:11px;font-weight:400;letter-spacing:0}
body #el-recommendations .el-r-price small{order:2;flex-basis:100%;font-size:10px;line-height:1.5;font-weight:400;letter-spacing:0;color:#857d6d}
body #el-recommendations .el-r-actions{display:grid;grid-template-columns:1fr 1.1fr;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid #f2efe9}
body #el-recommendations .el-r-actions>a,body #el-recommendations .el-r-add{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 8px;border-radius:10px;font-family:inherit;font-size:12px;line-height:1.25;font-weight:650;text-decoration:none;transition:background .2s,box-shadow .2s}
body #el-recommendations .el-r-actions>a{color:#3d3a32;background:#f8f6f2;border:1px solid #f0ece5}
body #el-recommendations .el-r-actions>a:hover{background:#f2efe9;color:#3d3a32}
body #el-recommendations .el-r-add{border:1px solid #3d3a32;background:linear-gradient(120deg,#246e5b,#3d3a32);color:#fff;box-shadow:0 3px 8px #1077a91a}
body #el-recommendations .el-r-add:hover{background:linear-gradient(120deg,#1d5748,#3d3a32);box-shadow:0 4px 12px #1077a930}
body #el-recommendations .el-r-bottom{padding:18px 0 0;margin-top:24px;border-top:1px solid #ede8de}
body #el-recommendations .el-r-count{font-size:12px;color:#827a6b}
body #el-recommendations .el-r-more{min-height:46px;padding:12px 22px;border:1px solid #c8c4bb;border-radius:11px;background:#fff;color:#26715e;font-family:inherit;font-size:12px;font-weight:650;box-shadow:0 3px 12px #123f6506}
body #el-recommendations .el-r-more:hover{background:#f8f6f2;border-color:#3d3a32}
body #el-recommendations a:focus-visible,body #el-recommendations button:focus-visible,body #el-recommendations select:focus-visible{outline:3px solid #7a7466;outline-offset:3px}
@media(max-width:1000px) and (min-width:768px){body #el-recommendations .el-r-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){
body #el-recommendations{margin-top:28px;padding-top:22px;scroll-margin-top:85px}
body #el-recommendations .el-r-head{display:flex;flex-direction:column;align-items:flex-start;gap:21px;padding:26px 22px;border-radius:18px;margin-bottom:18px}
body #el-recommendations h2{font-size:31px!important;letter-spacing:-1px!important;max-width:340px}
body #el-recommendations .el-r-intro{font-size:12px;max-width:360px}
body #el-recommendations .el-r-shop{min-height:44px;padding:12px 16px}
body #el-recommendations .el-r-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body #el-recommendations .el-r-card{padding:5px;border-radius:16px}
body #el-recommendations .el-r-image{border-radius:11px}
body #el-recommendations .el-r-body{padding:13px 6px 7px}
body #el-recommendations h3{font-size:15px!important;min-height:40px;letter-spacing:-.3px!important}
body #el-recommendations .el-r-type{font-size:10px;margin-bottom:14px;min-height:30px}
body #el-recommendations .el-r-price{font-size:21px;gap:4px 6px}
body #el-recommendations .el-r-tag{left:6px;top:6px;padding:5px 7px;font-size:8px}
body #el-recommendations .el-r-actions{grid-template-columns:1fr;gap:7px;margin-top:12px;padding-top:12px}
body #el-recommendations .el-r-actions>a,body #el-recommendations .el-r-add{min-height:42px;font-size:11px}
body #el-recommendations .el-r-bottom{flex-direction:column;gap:14px}
body #el-recommendations .el-r-more{width:100%}
}
@media(prefers-reduced-motion:reduce){body #el-recommendations .el-r-card,body #el-recommendations .el-r-image img,body #el-recommendations a,body #el-recommendations button{transition:none}body #el-recommendations .el-r-card:hover,body #el-recommendations .el-r-card:hover .el-r-image img{transform:none}}
/* END shared compound discovery refinement */

/* Keep discovery cards comfortable within narrower product layouts. */
body #el-recommendations .el-r-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
body #el-recommendations .el-r-actions>a,body #el-recommendations .el-r-add{white-space:nowrap}
@media(max-width:767px){body #el-recommendations .el-r-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
