/* =============================================================================
   ss-custom.css — Smarter Surfaces FR Child Theme

   IMPORTANT: This file contains ONLY styles that are NOT injected by ss-custom.js.
   The following components inject their own styles at runtime via injectStyles()
   and are intentionally excluded from this file to avoid double-parsing:
     - #ss-sticky-bar       (injected by Sticky Bar module)
     - #ss-calc-drawer      (injected by Calculator module)
     - #ss-calc-overlay     (injected by Calculator module)
     - #ss-contact-bubble   (injected by Contact Bubble module)
     - #ss-cart-popup       (injected by Cart Hover module)
     - #ss-drawer           (injected by Mobile Drawer module)
     - #ss-drawer-overlay   (injected by Mobile Drawer module)
     - #ss-mega-wrap        (injected by Mega Menu module)
     - #ss-tab-bar          (injected by Mega Menu module)
     - #ss-mega-grid        (injected by Mega Menu module)
     - .ss-search-tabs      (injected by Search module)
     - .ss-suggestions      (injected by Search module)
   ============================================================================= */


/* =============================================================================
   1. FOUC PREVENTION (FR)
   The mega menu and the mobile drawer are built by ss-custom.js. These rules only stop
   the normal Divi menus flashing as plain lists before that script takes over.
   Menu items are matched by class (menu-item-NNN) and id; FR menu IDs below.

   Removed from the UK original (they only worked with a companion rule in Divi Custom CSS):
     - the rule hiding #ss-sticky-bar / #ss-contact-bubble / #ss-drawer ... with display:none !important
       (those elements are created by JS, so there is nothing to hide before JS runs, and the rule
       kept the contact bubble and sticky bar invisible unless Divi Custom CSS forced them back);
     - the header-button opacity:0 shield (same reason).
   ============================================================================= */

/* Mega-menu items: hide their plain sub-menus on desktop only (on phones the drawer uses them) */
@media (min-width: 981px) {
    .menu-item-6103405 > ul.sub-menu,
    #menu-item-6103405 > ul.sub-menu,
    .menu-item-6103422 > ul.sub-menu,
    #menu-item-6103422 > ul.sub-menu,
    .menu-item-6103432 > ul.sub-menu,
    #menu-item-6103432 > ul.sub-menu {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
}

/* Prevent mobile menus flashing as plain lists before drawer takes over */
@media (max-width: 980px) {
    #mobile_menu1,
    #mobile_menu2,
    .et_mobile_menu {
        display: none !important;
        visibility: hidden !important;
    }
}


/* =============================================================================
   2. GLOBAL LAYOUT FIXES
   ============================================================================= */

/* Prevent horizontal scroll on all pages */
body:not(.et-fb) #page-container {
    overflow-x: hidden !important;
}

/* Consistent top padding for main content */
body:not(.et-tb) #main-content .container,
body:not(.et-tb-has-header) #main-content .container {
    padding-top: 30px;
}

/* Reserve space for top bar to prevent CLS */
.et_pb_section:first-child,
#top-bar {
    min-height: 45px;
}

/* Fix overflow on before/after image sliders */
.et_pb_before_after_image_slider,
.et_pb_before_after_image_slider_handle {
    overflow: visible !important;
}

/* Fix LiteSpeed lazy-loaded iframes collapsing to 0 height */
iframe.entered.litespeed-loaded {
    height: auto;
}


/* =============================================================================
   3. HEADER & NAVIGATION
   ============================================================================= */

/* Desktop nav: wider sub-menus, full-width items */
@media (min-width: 981px) {
    .nav li ul.sub-menu {
        width: 400px !important;
    }
    .nav li ul.sub-menu a,
    .nav li ul.sub-menu li {
        width: 100% !important;
        white-space: nowrap;
    }
}

/* Mobile nav: keep drawer z-index above Divi header */
@media (max-width: 980px) {
    #ss-mega-wrap,
    .et_pb_menu_0_tb_header .et-menu-nav,
    .et_pb_menu_0_tb_header .et_mobile_menu,
    .et_pb_menu_0_tb_header .mobile_nav.opened .et_mobile_menu {
        display: none !important;
    }
    .et_pb_menu_0_tb_header .mobile_nav.et_toggle_slide_active .et_mobile_menu {
        display: block !important;
    }
    #top-header,
    .et-fixed-header,
    .et_pb_menu_0_tb_header,
    .et_pb_row_0_tb_header,
    .et_pb_section_0_tb_header {
        z-index: 99990 !important;
    }
    .et_mobile_menu {
        overflow-x: hidden !important;
        max-width: 100vw !important;
        box-sizing: border-box !important;
        width: 100vw !important;
        left: 0 !important;
        right: 0 !important;
    }
    .et_mobile_menu li {
        position: relative !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .et_mobile_menu .sub-menu {
        position: relative !important;
        left: 0 !important;
        right: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding-left: 16px !important;
        background: #f9f9f9 !important;
        box-shadow: none !important;
    }
}

/* Header icon styling */
button.et_pb_menu__icon.et_pb_menu__search-button {
    color: #3a3a3a !important;
    background: #efefef;
    padding: 10px;
    border-radius: 10px;
}

/* Prevent Divi menu wrap clipping sub-menus */
.et_pb_menu__wrap {
    transform: none !important;
    overflow: visible !important;
}
.et_pb_menu__wrap .mobile_menu_bar {
    transform: none !important;
}
.et_mobile_nav_menu {
    position: relative;
    z-index: 99999 !important;
    overflow: visible !important;
}
.et_mobile_nav_menu .et_mobile_menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    width: 200px !important;
    background: #fff !important;
    z-index: 99999 !important;
    box-shadow: 0 4px 10px rgba(0,0,0,.15) !important;
}
.et_mobile_nav_menu .et_mobile_menu .sub-menu {
    display: none !important;
}
.et_mobile_nav_menu .mobile_nav.opened #mobile_menu1 {
    height: auto !important;
    overflow: visible !important;
}
.et_pb_menu__search-form {
    flex: 1;
    display: flex !important;
    align-items: center;
    border: none;
    margin: 0;
    padding: 0;
}
.et_pb_menu__close-search-button {
    display: none !important;
}


/* =============================================================================
   4. WOOCOMMERCE — PRODUCT PAGE
   ============================================================================= */

/* Variation price — hidden; price rendered via #ss-qty-price-row clone */
.woocommerce-variation-price {
    font-size: 22px;
    font-weight: 700;
    display: none !important;
}

/* Reset variations link */
a.reset_variations {
    color: #950e0e !important;
    font-size: 14px !important;
}

/* Reserve gallery space before images load — prevents CLS */
.woocommerce-product-gallery {
    min-height: 400px;
}
.woocommerce-product-gallery__image {
    aspect-ratio: 1 / 1;
}
.woocommerce-product-gallery__image img {
    aspect-ratio: 1 / 1;
    width: 100%;
    height: auto;
}

/* Reserve thumbnail strip space */
.flex-control-thumbs {
    min-height: 80px;
}
.flex-control-thumbs li {
    aspect-ratio: 1 / 1;
}

/* Hide variation meta elements we don't use */
.woocommerce-variation-availability,
.woocommerce-variation-description {
    display: none !important;
}
/* NOTE: .woocommerce-variation.single_variation is intentionally NOT overridden.
   WooCommerce controls its display to signal preselection state internally.
   Forcing display:contents breaks the found_variation event on page load. */

/* Quantity + price row */
#ss-qty-price-row {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    margin-bottom: 10px !important;
}
#ss-qty-price-row .ss-price-clone {
    display: block !important;
    margin: 0 !important;
}
#ss-qty-price-row .ss-price-clone .price,
#ss-qty-price-row .ss-price-clone .woocommerce-Price-amount {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #98ca3c !important;
    line-height: 1 !important;
}

/* Add to cart row — flex layout for qty + button side by side */
.woocommerce-variation-add-to-cart.variations_button {
    display: flex !important;
    gap: 10px !important;
    margin-top: 0 !important;
}

/* Add to cart button dimensions
   NOTE: flex layout owned by wc-variation-enhancements.css */
.woocommerce-variation-add-to-cart .single_add_to_cart_button,
.variations_button .single_add_to_cart_button {
    flex: 0 0 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    height: 48px !important;
    font-size: 15px !important;
}

/* Quantity input — native spinners kept for UK */
.quantity input[type=number].qty {
    -moz-appearance: number-input !important;
    appearance: auto !important;
    width: 72px !important;
    height: 48px !important;
    text-align: center !important;
    border: 2px solid #e0e0e0 !important;
    border-radius: 6px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    box-sizing: border-box !important;
    padding-right: 4px !important;
}
.quantity input[type=number].qty::-webkit-inner-spin-button,
.quantity input[type=number].qty::-webkit-outer-spin-button {
    opacity: 1 !important;
    -webkit-appearance: inner-spin-button !important;
    cursor: pointer !important;
    height: 48px !important;
}
.quantity .minus,
.quantity .plus,
.woocommerce-quantity-minus,
.woocommerce-quantity-plus {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    width: 36px !important;
    height: 48px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 2px solid #e0e0e0 !important;
    background: #fff !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #333 !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
}
.quantity .minus,
.woocommerce-quantity-minus {
    border-radius: 6px 0 0 6px !important;
    border-right: none !important;
}
.quantity .plus,
.woocommerce-quantity-plus {
    border-radius: 0 6px 6px 0 !important;
    border-left: none !important;
}
.quantity .minus:hover,
.quantity .plus:hover,
.woocommerce-quantity-minus:hover,
.woocommerce-quantity-plus:hover {
    background: #f0f8e0 !important;
    color: #98ca3c !important;
    border-color: #98ca3c !important;
}




/* =============================================================================
   5. WOOCOMMERCE — VARIATION SWATCHES
   ============================================================================= */

.woocommerce div.product form.cart .variations {
    border: 0;
    width: 100%;
    margin-bottom: 0 !important;
}

/* Variation swatch button list */
body ul.variable-items-wrapper {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding: 0 !important;
    list-style: none !important;
    margin: 0 0 2px !important;
}
body ul.variable-items-wrapper li.variable-item.button-variable-item {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 100px !important;
    max-width: 220px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    padding: 10px 18px !important;
    border: 2px solid #e0e0e0 !important;
    border-radius: 6px !important;
    background: #fff !important;
    cursor: pointer !important;
    transition: .2s !important;
    box-sizing: border-box !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    flex: 0 0 auto !important;
    overflow: hidden !important;
}
body ul.variable-items-wrapper li.variable-item.button-variable-item .variable-item-span {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #333 !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
}
body ul.variable-items-wrapper li.variable-item.button-variable-item:hover {
    border-color: #98ca3c !important;
}
body ul.variable-items-wrapper li.variable-item.button-variable-item:hover .variable-item-span {
    color: #98ca3c !important;
}
body ul.variable-items-wrapper li.variable-item.button-variable-item.selected,
body ul.variable-items-wrapper li.variable-item.button-variable-item[aria-checked=true] {
    border-color: #98ca3c !important;
    box-shadow: 0 0 0 1px #333 !important;
}
/* Catch-all for selected state regardless of variation plugin version */
body ul.variable-items-wrapper li.variable-item.selected {
    border-color: #98ca3c !important;
    box-shadow: 0 0 0 1px #333 !important;
}
body ul.variable-items-wrapper li.variable-item.button-variable-item.disabled {
    opacity: 1 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
}
body ul.variable-items-wrapper li.variable-item.button-variable-item.disabled .variable-item-span {
    color: #333 !important;
    text-decoration: none !important;
}

/* Remove pseudo-elements injected by variation plugin */
body ul.variable-items-wrapper li.variable-item::before,
body ul.variable-items-wrapper li.variable-item::after,
body ul.variable-items-wrapper li.variable-item ::before,
body ul.variable-items-wrapper li.variable-item ::after {
    display: none !important;
    content: none !important;
}

.variable-item-contents {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: none !important;
    width: 100% !important;
}

/* Variation table layout overrides */
.variations table,
.variations tbody,
.variations tr {
    display: block !important;
    width: 100% !important;
}
.variations td.value,
.variations th.label {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}
.variations th.label label {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #333 !important;
}
.variations th.label span.woo-selected-variation-item-name {
    display: none !important;
}

/* Remove table clearfix artifacts */
.variations .label::after,
.variations .value::after,
.variations td::after,
.variations tr::after,
.variations_form::after,
.woocommerce-variation-add-to-cart::after {
    display: none !important;
    content: none !important;
}

/* Hide default select + plugin extras */
.variations select,
.woo-variation-items-wrapper > span:last-child,
.woo-variation-items-wrapper > svg,
td.value::after,
td.value > svg {
    display: none !important;
}

/* Clean up variation table cell backgrounds */
.variations th.label,
table.variations th.label {
    background: 0 0 !important;
    border: none !important;
    vertical-align: top !important;
}
.variations td,
.variations td.value,
.variations th,
.variations tr,
table.variations td.value {
    background: 0 0 !important;
    border: none !important;
}

/* Spacing */
.variations {
    margin-bottom: 12px !important;
}
.variations tr:first-child th.label {
    padding-top: 0 !important;
}
.variations tr {
    margin: 0 !important;
    padding: 0 !important;
}
.variations th.label {
    margin: 0 0 4px !important;
    padding: 8px 0 0 !important;
}
.variations td.value {
    margin: 0 !important;
    padding: 0 !important;
}
.woocommerce-variation-add-to-cart {
    margin-top: 12px !important;
}
.woo-variation-items-wrapper {
    margin: 0 !important;
    padding: 0 !important;
}
#left-area ul.variable-items-wrapper {
    padding: 0 !important;
    margin: 0 !important;
}

/* Hide plugin-injected selected label */
span.woo-selected-variation-item-name,
table.variations th.label span.woo-selected-variation-item-name,
th.label span.woo-selected-variation-item-name {
    display: none !important;
    visibility: hidden !important;
    position: absolute !important;
    left: -9999px !important;
}


/* =============================================================================
   6. WOOCOMMERCE — CROSS-SELLS
   ============================================================================= */

.cross-sells ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
    float: none !important;
}
.cross-sells ul.products li.product {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.cross-sells ul.products::before,
.cross-sells ul.products::after {
    display: none !important;
    content: none !important;
}

@media (max-width: 768px) {
    .cross-sells ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}


/* =============================================================================
   7. WOOCOMMERCE — CONTENT TABLE FIX
   ============================================================================= */

#content-area table td,
#content-area table th {
    padding: 0;
    max-width: 100%;
}


/* =============================================================================
   8. PRODUCT IMAGE — Divi module fix
   ============================================================================= */

.et_pb_image_2 .et_pb_image_wrap img {
    height: auto !important;
    width: auto;
}


/* =============================================================================
   9. ADD TO CART BUTTON (custom SS style)
   ============================================================================= */

.ss-atc-btn {
    display: block !important;
    width: 100%;
    margin-top: 10px;
    padding: 10px 16px;
    background: #fff;
    color: #98ca3c !important;
    font-size: 15px;
    font-weight: 700;
    text-align: center;
    border-radius: 4px;
    cursor: pointer;
    text-decoration: none !important;
    transition: background .2s;
    box-sizing: border-box;
    border: 2px solid #98ca3c;
}
.ss-atc-btn:hover {
    background: #6aa82e !important;
}

/* Buy Now button on product loop */
a.button.buy-now-btn,
a.buy-now-btn {
    display: block !important;
    text-align: center !important;
    margin: 8px 12px 12px !important;
    background-color: #9ac940 !important;
    color: #fff !important;
    padding: 10px 16px !important;
    font-size: 14px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
}
a.button.buy-now-btn:hover,
a.buy-now-btn:hover {
    background-color: #85b130 !important;
    color: #fff !important;
}


/* =============================================================================
   10. JETFORMBUILDER — Form styles
   ============================================================================= */

.jet-form-builder__field {
    width: 100%;
    padding: 14px 18px !important;
    border: 1.5px solid #ddd !important;
    border-radius: 6px !important;
    font-size: 15px !important;
    color: #333 !important;
    background-color: #fff !important;
    transition: border-color .3s, box-shadow .3s !important;
    outline: 0 !important;
    margin-bottom: 0 !important;
}
.jet-form-builder__field.textarea-field {
    min-height: 140px !important;
    resize: vertical !important;
}
.jet-form-builder__field.select-field {
    appearance: auto !important;
    cursor: pointer !important;
}
.jet-form-builder__field:focus,
.jet-form-builder__field:focus-visible {
    border-color: #98ca3c !important;
    box-shadow: 0 0 0 3px rgba(0,115,230,.15) !important;
    background-color: #f0f7ff !important;
}
.jet-form-builder__field::placeholder {
    color: #999 !important;
    opacity: 1 !important;
}
.jet-form-builder-row {
    margin-bottom: 0 !important;
}
.wp-block-columns.is-layout-flex {
    gap: 20px !important;
    margin-bottom: 0 !important;
}
.jet-form-builder__label-text {
    font-size: 14px !important;
    color: #444 !important;
    margin-bottom: 8px !important;
    display: block !important;
    line-height: 1.5 !important;
}
.jet-form-builder__field-label.for-checkbox {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    font-size: 14px !important;
    color: #444 !important;
    cursor: pointer !important;
}
.checkboxes-field {
    width: 18px !important;
    height: 18px !important;
    margin-top: 2px !important;
    flex-shrink: 0 !important;
    accent-color: #0073e6 !important;
}
.jet-form-builder-file-upload__content {
    padding: 16px !important;
    border: 2px dashed #ccc !important;
    border-radius: 6px !important;
    background: #fafafa !important;
}
.jet-form-builder__submit {
    padding: 14px 36px !important;
    font-size: 16px !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    background: #98ca3c !important;
    color: #fff !important;
    border: none !important;
    transition: background .3s !important;
}
.jet-form-builder__submit:hover {
    background: #7daa2e !important;
}


/* =============================================================================
   11. SEARCH UI
   Styles for the custom search tabs and suggestions overlay.
   .ss-suggestions positioning handled here (not in JS) — depends on
   static layout context.
   ============================================================================= */

.ss-search-tabs {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    border-right: 1px solid #e0e0d8;
    padding-right: 8px;
    margin-right: 12px;
}
.ss-tab {
    background: 0 0;
    border: none;
    border-bottom: 3px solid transparent;
    padding: 10px 14px;
    font-size: 13px;
    font-weight: 600;
    color: #888;
    cursor: pointer;
    letter-spacing: .3px;
    white-space: nowrap;
    transition: color .15s, border-color .15s;
}
.ss-tab:hover {
    color: #2c2c2a;
}
.ss-tab--active {
    color: #2c2c2a !important;
    border-bottom-color: #7ab317 !important;
}
.ss-close-btn {
    background: 0 0;
    border: none;
    cursor: pointer;
    padding: 4px 8px;
    color: #7ab317;
    font-size: 22px;
    line-height: 1;
    flex-shrink: 0;
}
.ss-suggestions {
    position: absolute;
    top: calc(100% + 10px);
    left: -160px;
    right: 0;
    background: #fff;
    border: 1px solid #e0e0d8;
    border-radius: 6px;
    box-shadow: 0 4px 16px rgba(0,0,0,.1);
    z-index: 99999;
    max-height: 320px;
    overflow-y: auto;
    display: none;
}
.ss-suggestions.ss-visible {
    display: block;
}
.ss-suggestion-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    cursor: pointer;
    border-bottom: 1px solid #f4f4f0;
    text-decoration: none;
    color: #2c2c2a;
    font-size: 14px;
    transition: background .1s;
}
.ss-suggestion-item:last-child {
    border-bottom: none;
}
.ss-suggestion-item:hover {
    background: #f7faf0;
}
.ss-suggestion-thumb {
    width: 36px;
    height: 36px;
    object-fit: cover;
    border-radius: 4px;
    flex-shrink: 0;
}
.ss-suggestion-thumb-placeholder {
    width: 36px;
    height: 36px;
    border-radius: 4px;
    background: #f0f0eb;
    flex-shrink: 0;
}
.ss-suggestion-title {
    font-weight: 600;
    font-size: 13px;
    color: #2c2c2a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ss-suggestion-type {
    font-size: 11px;
    color: #aaa;
    margin-top: 2px;
}
.ss-suggestion-empty,
.ss-suggestion-loading {
    padding: 12px 14px;
    font-size: 13px;
    color: #aaa;
    text-align: center;
}

/* Mobile search overlay */
@media (max-width: 980px) {
    .et_pb_menu__search-container:not(.et_pb_menu__search-container--hidden) {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100vw !important;
        background: #fff !important;
        z-index: 999999 !important;
        box-shadow: 0 2px 12px rgba(0,0,0,.15) !important;
        padding: 8px 0 !important;
        box-sizing: border-box !important;
    }
    .et_pb_menu__search-container:not(.et_pb_menu__search-container--hidden) .et_pb_menu__search {
        padding: 0 12px !important;
        position: relative !important;
    }
    .et_pb_menu__search-container:not(.et_pb_menu__search-container--hidden) .ss-search-tabs {
        border-right: none !important;
        border-bottom: 1px solid #e0e0d8 !important;
        padding-right: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        justify-content: space-around !important;
    }
    .et_pb_menu__search-container:not(.et_pb_menu__search-container--hidden) .ss-tab {
        flex: 1 !important;
        text-align: center !important;
        padding: 10px 8px !important;
        font-size: 12px !important;
    }
    .et_pb_menu__search-container:not(.et_pb_menu__search-container--hidden) .ss-close-btn {
        position: absolute !important;
        top: 6px !important;
        right: 12px !important;
    }
    .et_pb_menu__search-container:not(.et_pb_menu__search-container--hidden) .ss-suggestions {
        left: 0 !important;
        right: 0 !important;
        top: 100% !important;
        border-radius: 0 0 6px 6px !important;
    }
    .et_pb_menu__search-container {
        padding-top: 0 !important;
        height: auto !important;
        min-height: 0 !important;
    }
    .et_pb_menu__search[data-ss-init=true] {
        flex-direction: column !important;
        align-items: stretch !important;
        padding: 8px 12px !important;
        gap: 0 !important;
    }
    .et_pb_menu__search[data-ss-init=true] .ss-search-tabs {
        border-right: none !important;
        border-bottom: 1px solid #e0e0d8 !important;
        padding-right: 0 !important;
        margin-right: 0 !important;
        margin-bottom: 6px !important;
        justify-content: space-around !important;
        width: 100% !important;
    }
    .et_pb_menu__search[data-ss-init=true] .ss-tab {
        flex: 1 !important;
        text-align: center !important;
        padding: 10px 8px !important;
        font-size: 12px !important;
    }
    .et_pb_menu__search[data-ss-init=true] .et_pb_menu__search-form {
        width: 100% !important;
        padding: 4px 0 !important;
    }
    .et_pb_menu__search[data-ss-init=true] .ss-close-btn {
        position: absolute !important;
        top: 6px !important;
        right: 8px !important;
    }
}


/* =============================================================================
   12. SLIDER LABEL ANIMATION
   ============================================================================= */

@keyframes pulse-label {
    30%, 100% { opacity: 1; transform: translateX(-50%) scale(1); }
    70%        { opacity: .6; transform: translateX(-50%) scale(.95); }
}


/* =============================================================================
   13. AUTHOR BIO CARD (blog)
   ============================================================================= */

.author-bio-card {
    display: flex;
    align-items: flex-start;
    padding: 20px;
    margin-top: 40px;
    border-top: 1px solid #ddd;
    background-color: #f9f9f9;
    border-radius: 8px;
    gap: 20px;
    flex-wrap: wrap;
}
.author-avatar-wrapper img.author-avatar {
    border-radius: 50%;
    width: 100px;
    height: 100px;
    object-fit: cover;
    flex-shrink: 0;
}
.author-details {
    flex: 1;
    min-width: 200px;
}
.author-name {
    margin: 0 0 10px;
    font-size: 1.2em;
    color: #333;
}
.author-bio {
    margin: 0;
    font-size: 1em;
    color: #555;
    line-height: 1.5;
}
@media (max-width: 600px) {
    .author-bio-card {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .author-avatar-wrapper {
        margin-bottom: 15px;
    }
}


/* =============================================================================
   14. BLOG — Consistent post image heights
   ============================================================================= */

.et_pb_posts .et_pb_post .entry-featured-image-url img,
.et-l .et_pb_blog_grid .et_pb_post .entry-featured-image-url img {
    height: 250px !important;
    width: 100%;
    object-fit: cover;
    object-position: center;
}


/* =============================================================================
   15. THIRD-PARTY FIXES
   ============================================================================= */

/* Zendesk widget — push above sticky bar */
iframe#launcher {
    bottom: 80px !important;
}


/* =============================================================================
   16. CLS FIXES
   ============================================================================= */

/* Divi icon font — block display prevents FOUT layout shift */
@font-face {
    font-family: 'ETmodules';
    font-display: block;
}

/* Product page main row — reserve space before Divi renders columns */
.woocommerce div.product .et_pb_row_1.et_flex_row {
    contain: layout style !important;
    min-height: 600px;
}
@media (max-width: 980px) {
    .woocommerce div.product .et_pb_row_1.et_flex_row {
        min-height: 800px;
    }
}

/* Product page blurb images — prevent height collapse */
.woocommerce div.product .et_pb_blurb_content .et_pb_main_blurb_image {
    min-height: 22px;
}

/* Cookie consent bar — overlay rather than push (prevents layout shift) */
#moove_gdpr_cookie_info_bar,
.moove_gdpr_cookie_info_bar,
#moove-gdpr-cookie-modal-bg {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 99998 !important;
    transform: none !important;
}

#ship-to-different-address input[type="checkbox"] {
    pointer-events: auto !important;
}

/* Cart Added Badge */
#ss-cart-badge {
    position: absolute;
    top: 45px;
    right: -10px;
    background: #f0fde4;
    color: #3a7d0a;
    border: 1px solid #98ca3c;
    font-size: 13px;
    font-weight: 600;
    padding: 10px 14px;
    border-radius: 8px;
    white-space: nowrap;
    opacity: 0;
    transform: translateY(-6px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    pointer-events: none;
    z-index: 999999;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}

/* Tooltip arrow pointing up */
#ss-cart-badge::before {
    content: '';
    position: absolute;
    top: -7px;
    right: 16px;
    width: 12px;
    height: 12px;
    background: #f0fde4;
    border-left: 1px solid #98ca3c;
    border-top: 1px solid #98ca3c;
    transform: rotate(45deg);
}

#ss-cart-badge.ss-cart-badge--visible {
    opacity: 1;
    transform: translateY(0);
}

.et_pb_menu__cart-button {
    position: relative;
}
.et_pb_menu__cart-count {
    position: absolute;
    top: -8px;
    right: -8px;
    background: #98ca3c;
    color: #fff !important;
    font-size: 0 !important;
    font-weight: 700;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    border-radius: 20px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    line-height: 1;
    pointer-events: none;
}

.et_pb_menu__cart-count::before {
    font-size: 11px;
    content: attr(data-count);
    color: #fff;
}
/* ── Hide Divi cart count text, show number only ── */
.et_pb_menu__cart-count {
    font-size: 0 !important;
    color: transparent !important;
}

.et_pb_menu__cart-count[data-count]::before {
    font-size: 12px !important;
    color: #fff !important;
    content: attr(data-count);
}

/* Hide "0 Items" completely when cart is empty */
.et_pb_menu__cart-count[data-count="0"]::before {
    display: none !important;
}

/* Also target the parent cart button to hide raw text */
.et_pb_menu__cart-button .et_pb_menu__cart-count {
    overflow: hidden !important;
}

/* ── CHECKOUT PROGRESS BAR ── */
.ss-checkout-progress{display:flex;align-items:center;justify-content:center;padding:20px 24px 16px;background:#fff;border-bottom:1px solid #eee;gap:0;}
.ss-progress-step{display:flex;align-items:center;gap:10px;position:relative;}
.ss-progress-step__icon{width:36px;height:36px;border-radius:50%;border:2px solid #ddd;background:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#bbb;transition:all 0.3s ease;flex-shrink:0;z-index:1;position:relative;}
.ss-progress-step__label{font-size:17px;font-weight:600;color:#bbb;white-space:nowrap;transition:color 0.3s ease;}
.ss-progress-connector{height:2px;width:60px;background:#e0e0e0;flex-shrink:0;transition:background 0.3s ease;margin:0 4px;}
.ss-progress-step.active .ss-progress-step__icon{border-color:#98ca3c;background:#98ca3c;color:#fff;box-shadow:0 0 0 4px rgba(152,202,60,.15);}
.ss-progress-step.active .ss-progress-step__label{color:#333;}
.ss-progress-step.completed .ss-progress-step__icon{border-color:#98ca3c;background:#98ca3c;color:#fff;}
.ss-progress-step.completed .ss-progress-step__icon::after{content:'✓';font-size:14px;}
.ss-progress-step.completed .ss-progress-step__label{color:#98ca3c;}
.ss-progress-connector.completed{background:#98ca3c;}
/* responsive: icons in one row joined by lines, labels centred under their icon on phones */
@media (max-width: 900px) {
  .ss-checkout-progress { padding: 16px 16px 12px; }
  .ss-progress-step__label { font-size: 15px; }
  .ss-progress-step__icon { width: 32px; height: 32px; }
  .ss-progress-connector { flex: 1 1 20px; width: auto; min-width: 14px; max-width: 60px; }
}
@media (max-width: 767px) {
  .ss-checkout-progress { align-items: flex-start; padding: 16px 36px 46px; }
  .ss-progress-step { flex: 0 0 30px; width: 30px; gap: 0; }
  .ss-progress-step__icon { width: 30px; height: 30px; font-size: 12px; }
  .ss-progress-step__label {
    position: absolute; top: 36px; left: 50%; transform: translateX(-50%);
    width: 88px; text-align: center; font-size: 11.5px; line-height: 1.25; white-space: normal;
  }
  .ss-progress-connector { flex: 1 1 auto; width: auto; min-width: 12px; max-width: none; margin: 14px 6px 0; }
}
@media (max-width: 380px) {
  .ss-checkout-progress { padding-left: 24px; padding-right: 24px; }
  .ss-progress-step__label { font-size: 10.5px; width: 78px; overflow-wrap: break-word; }
}

/* ── CART TRUST BADGES ── */
.ss-cart-trust{border-top:1px solid #eee;padding-top:16px;margin-top:16px;}
.ss-cart-trust__title{font-size:11px;font-weight:700;color:#999;text-transform:uppercase;letter-spacing:0.6px;margin-bottom:10px;}
.ss-cart-trust__badges{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:12px;}
.ss-cart-trust__badges img{height:24px;width:auto;opacity:0.75;transition:opacity 0.2s;}
.ss-cart-trust__badges img:hover{opacity:1;}
.ss-cart-trust__delivery{display:flex;align-items:center;gap:10px;}
.ss-cart-trust__delivery img{height:28px;width:auto;opacity:0.7;transition:opacity 0.2s;}
.ss-cart-trust__secure{display:flex;align-items:center;gap:6px;font-size:11px;color:#888;margin-bottom:8px;}
.ss-cart-trust__secure svg{width:14px;height:14px;fill:#98ca3c;flex-shrink:0;}

/* Order received — hide empty billing column, expand content to full width */
.woocommerce-order-received #main-content .et_pb_row {
    display: block !important;
}

.woocommerce-order-received #main-content .et_pb_column {
    width: 100% !important;
    float: none !important;
    display: block !important;
}

/* Hide the empty billing/address column */
.woocommerce-order-received .et_pb_wc_checkout_billing,
.woocommerce-order-received .et_pb_wc_checkout_shipping {
    display: none !important;
}

/* Make the payment/order info column full width */
.woocommerce-order-received .et_pb_wc_checkout_payment_info {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 auto !important;
}

.woocommerce-order-received .woocommerce-order {
    max-width: 800px !important;
    margin: 0 auto !important;
    width: 100% !important;
}

/* ── Blog Tag Filter Bar ── */
#ss-blog-filter {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    padding: 16px 0 28px;
    max-width: 1200px;
    margin: 0 auto;
    min-height: 90px;
}
#ss-blog-filter .ss-filter-btn {
    padding: 8px 18px;
    border-radius: 30px;
    border: 2px solid #e0e0e0;
    background: #fff;
    color: #333;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
    font-family: inherit;
}
#ss-blog-filter .ss-filter-btn:hover {
    border-color: #98ca3c;
    color: #98ca3c;
}
#ss-blog-filter .ss-filter-active {
    background: #98ca3c !important;
    border-color: #98ca3c !important;
    color: #fff !important;
}
@media (max-width: 768px) {
    #ss-blog-filter { min-height: 130px; }
}
/* Guarantee/blurb images — don't hide while Divi animation waits for JS */
.et_pb_main_blurb_image.et_animated,
.et_pb_main_blurb_image img,
img[title^="guarantee"] {
    opacity: 1 !important;
    animation: none !important;
    transform: none !important;
}

/* ==========================================================================
   Search results — 3-column card grid layout
   Scoped to body.search-results ONLY — does not affect single posts,
   the /blog/ archive, or anywhere else these same classes appear.
   ========================================================================== */

body.search-results #content-area {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
    box-sizing: border-box;
}

body.search-results #sidebar {
    display: none;
}

body.search-results #left-area {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    align-items: start;
}

body.search-results article.et_pb_post {
    margin: 0;
    padding: 0;
    border: none;
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}

body.search-results article.et_pb_post .entry-featured-image-url {
    display: block;
    margin: 0;
}

body.search-results article.et_pb_post .entry-featured-image-url img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
}

body.search-results article.et_pb_post .entry-title {
    font-size: 19px;
    font-weight: 700;
    color: #2c2c2a;
    margin: 16px 16px 6px 16px;
    line-height: 1.35;
}

body.search-results article.et_pb_post .entry-title a {
    color: #2c2c2a;
    text-decoration: none;
}

body.search-results article.et_pb_post .entry-title a:hover {
    color: #7ab317;
}

body.search-results article.et_pb_post .post-meta {
    font-size: 12px;
    color: #c17a3d;
    margin: 0 16px 12px 16px;
}

body.search-results article.et_pb_post .post-meta a {
    color: #c17a3d;
}

/* Hide everything except image, title, meta — search results cards only */
body.search-results article.et_pb_post > *:not(.entry-featured-image-url):not(.entry-title):not(.post-meta) {
    display: none !important;
}

body.search-results .pagination {
    grid-column: 1 / -1;
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
    font-size: 14px;
}

body.search-results .pagination a {
    color: #7ab317;
    font-weight: 600;
    text-decoration: none;
}

@media (max-width: 991px) {
    body.search-results #left-area {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    body.search-results #left-area {
        grid-template-columns: 1fr;
    }
    body.search-results article.et_pb_post .entry-title {
        font-size: 18px;
    }
}
/* =============================================================================
   CART PAGE — REMOVE BUTTON (trash icon, right-aligned column)
   ============================================================================= */
.woocommerce-cart-form .product-remove{width:64px;text-align:center;vertical-align:middle;}
.woocommerce-cart-form .product-remove a.remove{
  display:inline-flex!important;align-items:center;justify-content:center;
  width:36px;height:36px;margin:0 8px;border-radius:50%;
  border:1px solid #d0d0d0;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M8 6V4h8v2M6 6l1 14h10l1-14M10 11v6M14 11v6'/%3E%3C/svg%3E") center/18px no-repeat!important;
  font-size:0!important;line-height:0;color:transparent!important;
  transition:border-color .15s,background-color .15s;
}
.woocommerce-cart-form .product-remove a.remove:hover{
  border-color:#c0392b;
  background:#fdecea url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c0392b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M8 6V4h8v2M6 6l1 14h10l1-14M10 11v6M14 11v6'/%3E%3C/svg%3E") center/18px no-repeat!important;
}
.woocommerce-cart-form .product-remove a.remove:focus-visible{outline:2px solid #98ca3c;outline-offset:2px;}
@media (hover:none) and (pointer:coarse){
  .woocommerce-cart-form .product-remove a.remove{width:44px;height:44px;}
}
/* MOBILE DRAWER — clearer expand/collapse arrows */
#ss-drawer .ss-drawer-menu li > a { order: 1; }
#ss-drawer .ss-drawer-menu li > .ss-sub-toggle { order: 2; }
#ss-drawer .ss-drawer-menu li > .sub-menu { order: 3; }

#ss-drawer .ss-sub-toggle {
  width: 54px !important;
  height: auto !important;
  min-height: 48px !important;
  align-self: stretch !important;
  border-left: 1px solid #e3e3e3 !important;
  background: #fff !important;
  color: #444 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  transform: none !important;
}
#ss-drawer .ss-sub-toggle::before {
  content: "";
  width: 9px;
  height: 9px;
  border-right: 2.5px solid currentColor;
  border-bottom: 2.5px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  transition: transform .2s ease;
}
#ss-drawer .ss-sub-toggle.ss-toggle-open {
  color: #4a7a12 !important;
  background: #f3f9e6 !important;
  transform: none !important;
}
#ss-drawer .ss-sub-toggle.ss-toggle-open::before {
  transform: translateY(2px) rotate(-135deg);
}
#ss-drawer .ss-drawer-menu li:has(> .ss-toggle-open) > a {
  background: #f3f9e6 !important;
  color: #3f6b0f !important;
}
/* Mobile header: push cart / search / menu icons to the right edge */
@media (max-width: 980px) {
  /* the menu module that holds the cart / search / menu icons (found by its cart button, so no module number needed) */
  .et_pb_menu:has(.et_pb_menu__cart-button) { margin-left: auto; }
}

/* Variation "Clear" link: top-right of the options, level with the first label */
form.variations_form table.variations { position: relative; }
form.variations_form table.variations td.value { position: static !important; }
form.variations_form table.variations .reset_variations,
.et-db #et-boc .et-l .et_pb_wc_add_to_cart form.cart .variations td.value .reset_variations {
  position: absolute !important;
  top: 4px !important;
  right: 0 !important;
  left: auto !important;
  bottom: auto !important;
  float: none !important;
  margin: 0 !important;
  transform: none !important;
  line-height: 1.4;
}

/* =============================================================================
   HEADER — FIRST-PAINT LAYOUT (FR)
   Divi's inline critical CSS only covers the top bar of the header. The rules for the logo / main menu
   row live in Divi's deferred stylesheet, which arrives after the first paint, so the header looked
   unstyled for a moment on a fresh load. These are the same rules, copied from that file and served here
   (render-blocking) so the header is laid out from the very first frame. Divi's deferred file loads later
   with identical rules and simply confirms them.
   If the header is ever rebuilt in the Divi Theme Builder, refresh or delete this block.
   ============================================================================= */
.et-db #et-boc .et-l .et_pb_image_0_tb_header{align-self:flex-start!important;margin-left:unset!important}
.et-db #et-boc .et-l .et_pb_wc_title_0,.et-db #et-boc .et-l .et_pb_slide_0 .et_pb_slide_description .et_pb_slide_title,.et-db #et-boc .et-l .et_pb_slide_0 .et_pb_slide_description .et_pb_slide_title a,.et-db #et-boc .et-l .et_pb_slide_0 .et_pb_slide_description .et_pb_slide_content,.et-db #et-boc .et-l .et_pb_slide_0 .et_pb_slide_description .et_pb_slide_content .post-meta,.et-db #et-boc .et-l .et_pb_slide_0 .et_pb_slide_description .et_pb_slide_content .post-meta a,.et-db #et-boc .et-l .et_pb_slide_0 .et_pb_slide_description .et_pb_slide_content .et_pb_button,.et-db #et-boc .et-l .et_pb_slides .et_pb_slide_0.et_pb_slide .et_pb_slide_description,.et-db #et-boc .et-l ul.et_pb_social_media_follow_0_tb_footer,.et-db #et-boc .et-l .et_pb_slide_1 .et_pb_slide_description .et_pb_slide_title,.et-db #et-boc .et-l .et_pb_slide_1 .et_pb_slide_description .et_pb_slide_title a,.et-db #et-boc .et-l .et_pb_slide_1 .et_pb_slide_description .et_pb_slide_content,.et-db #et-boc .et-l .et_pb_slide_1 .et_pb_slide_description .et_pb_slide_content .post-meta,.et-db #et-boc .et-l .et_pb_slide_1 .et_pb_slide_description .et_pb_slide_content .post-meta a,.et-db #et-boc .et-l .et_pb_slide_1 .et_pb_slide_description .et_pb_slide_content .et_pb_button,.et-db #et-boc .et-l .et_pb_slides .et_pb_slide_1.et_pb_slide .et_pb_slide_description,.et-db #et-boc .et-l .et_pb_menu_1_tb_header,.et-db #et-boc .et-l .et_pb_blurb_1 .et_pb_blurb_container,.et-db #et-boc .et-l .et_pb_text_1_tb_footer,.et-db #et-boc .et-l .et_pb_blurb_2 .et_pb_blurb_container,.et-db #et-boc .et-l .et_pb_blurb_3 .et_pb_blurb_container,.et-db #et-boc .et-l .et_pb_text_3_tb_footer,.et-db #et-boc .et-l .et_pb_blurb_4 .et_pb_blurb_container,.et-db #et-boc .et-l .et_pb_text_4_tb_footer,.et-db #et-boc .et-l .et_pb_blurb_5 .et_pb_blurb_container,.et-db #et-boc .et-l .et_pb_text_5,.et-db #et-boc .et-l .et_pb_text_5_tb_footer,.et-db #et-boc .et-l .et_pb_blurb_6 .et_pb_blurb_container,.et-db #et-boc .et-l .et_pb_text_6_tb_footer,.et-db #et-boc .et-l .et_pb_blurb_7 .et_pb_blurb_container,.et-db #et-boc .et-l .et_pb_text_7,.et-db #et-boc .et-l .et_pb_blurb_8 .et_pb_blurb_container,.et-db #et-boc .et-l .et_pb_text_9,.et-db #et-boc .et-l .et_pb_blurb_9 .et_pb_blurb_container,.et-db #et-boc .et-l .et_pb_text_10,.et-db #et-boc .et-l .et_pb_text_11_tb_footer,.et-db #et-boc .et-l .et_pb_text_11,.et-db #et-boc .et-l .et_pb_text_12,.et-db #et-boc .et-l .et_pb_text_13,.et-db #et-boc .et-l .et_pb_blurb_14 .et_pb_blurb_container,.et-db #et-boc .et-l .et_pb_blurb_15 .et_pb_blurb_container,.et-db #et-boc .et-l .et_pb_text_15,.et-db #et-boc .et-l .et_pb_blurb_16 .et_pb_blurb_container,.et-db #et-boc .et-l .et_pb_text_16,.et-db #et-boc .et-l .et_pb_blurb_17 .et_pb_blurb_container,.et-db #et-boc .et-l .et_pb_text_17,.et-db #et-boc .et-l .et_pb_text_18,.et-db #et-boc .et-l .et_pb_blurb_18 .et_pb_blurb_container,.et-db #et-boc .et-l .et_pb_text_19,.et-db #et-boc .et-l .et_pb_blurb_19 .et_pb_blurb_container,.et-db #et-boc .et-l .et_pb_blurb_20 .et_pb_blurb_container,.et-db #et-boc .et-l .et_pb_text_25,.et-db #et-boc .et-l .et_pb_text_27,.et-db #et-boc .et-l .et_pb_text_28,.et-db #et-boc .et-l .et_pb_text_29{text-align:start}
.et-db #et-boc .et-l .et_pb_tabs_0>.et_pb_all_tabs,.et-db #et-boc .et-l .et_pb_menu_1_tb_header.et_pb_menu,.et-db #et-boc .et-l .et_pb_column_17,.et-db #et-boc .et-l .et_pb_column_18,.et-db #et-boc .et-l .et_pb_column_19,.et-db #et-boc .et-l .et_pb_column_20{background-color:#ffffff}
body.et-db #page-container #et-boc .et-l .et_pb_slide_0.et_pb_slide .et_pb_more_button.et_pb_button,.et-db #et-boc .et-l .et_pb_menu_1_tb_header.et_pb_menu ul li.current-menu-item>a,.et-db #et-boc .et-l .et_pb_menu_1_tb_header.et_pb_menu ul li.current-menu-ancestor>a,.et-db #et-boc .et-l .et_pb_menu_1_tb_header.et_pb_menu ul:not(.sub-menu)>li.current-menu-ancestor>a{color:var(--gcid-primary-color)!important}
.et-db #et-boc .et-l .et_pb_blurb_0 .et_pb_blurb_content>[class*="et_flex_column"],.et-db #et-boc .et-l .et_pb_section_1_tb_header>[class*="et_flex_column"],.et-db #et-boc .et-l .et_pb_column_2>[class*="et_flex_column"]{--horizontal-gap-parent:10px}
.et-db #et-boc .et-l .et_pb_section_1_tb_header.et_pb_section{padding-top:10px;padding-bottom:10px}
.et-db #et-boc .et-l .et_pb_section_1_tb_header{width:100%;box-shadow:0px 0px 18px -6px rgba(0,0,0,0.3);--horizontal-gap:10px;flex-direction:column;--flex-direction:column;z-index:10}
.et-db #et-boc .et-l .et_pb_row_1_tb_header,.et_pb_pagebuilder_layout.single-post:not(.et-tb-has-body) #main-content .et_pb_row.et_pb_row_1_tb_header{width:95%!important}
.et-db #et-boc .et-l .et_pb_row_1_tb_header{max-width:1208px!important;--horizontal-gap:2%;align-items:center;--align-items:center;flex-wrap:nowrap}
.et-db #et-boc .et-l .et_pb_row_1_tb_header>[class*="et_flex_column"],.et-db #et-boc .et-l .et_pb_row_2>[class*="et_flex_column"],.et-db #et-boc .et-l .et_pb_row_4>[class*="et_flex_column"],.et-db #et-boc .et-l .et_pb_row_8>[class*="et_flex_column"],.et-db #et-boc .et-l .et_pb_row_14>[class*="et_flex_column"],.et-db #et-boc .et-l .et_pb_row_16>[class*="et_flex_column"],.et-db #et-boc .et-l .et_pb_row_21>[class*="et_flex_column"],.et-db #et-boc .et-l .et_pb_row_23>[class*="et_flex_column"],.et-db #et-boc .et-l .et_pb_row_29>[class*="et_flex_column"],.et-db #et-boc .et-l .et_pb_row_30>[class*="et_flex_column"]{--horizontal-gap-parent:2%}
.et-db #et-boc .et-l .et_pb_menu_1_tb_header .et_pb_menu_inner_container{justify-content:end;align-items:center;--align-items:center}
.et-db #et-boc .et-l .et_pb_menu_1_tb_header.et_pb_menu ul li a{font-family:'Open Sans',Helvetica,Arial,Lucida,sans-serif;font-weight:500;color:var(--gcid-secondary-color);font-size:15px}
.et-db #et-boc .et-l .et_pb_menu_1_tb_header .et_pb_menu__icon.et_pb_menu__cart-button,.et-db #et-boc .et-l .et_pb_menu_1_tb_header .et_pb_menu__icon.et_pb_menu__search-button,.et-db #et-boc .et-l .et_pb_menu_1_tb_header .et_pb_menu__icon.et_pb_menu__close-search-button{color:var(--gcid-primary-color);font-size:17px}
.et-db #et-boc .et-l .et_pb_menu_1_tb_header .mobile_nav .mobile_menu_bar:before{color:var(--gcid-primary-color);font-size:32px}
.et-db #et-boc .et-l .et_pb_menu_1_tb_header.et_pb_menu--collapsible-mobile .et_mobile_menu .mobile-toggle .et_pb_menu__collapsible-icon:before{font-size:24px!important;font-family:"ETmodules"!important;content:'\4c'!important;font-weight:400!important}
.et-db #et-boc .et-l .et_pb_menu_1_tb_header.et_pb_menu--collapsible-mobile .et_mobile_menu li.et_pb_collapsible_menu_open>.mobile-toggle .et_pb_menu__collapsible-icon:before{font-size:24px!important;font-family:"ETmodules"!important;content:'\4b'!important;font-weight:400!important}
.et-db #et-boc .et-l .et_pb_menu_1_tb_header .nav li.et-reverse-direction-nav[data-reverse-reason="nested"] li ul,.et-db #et-boc .et-l .et_pb_menu_1_tb_header .nav li.et-reverse-direction-nav[data-reverse-reason="both"] li ul{left:auto;right:240px}
.et-db #et-boc .et-l .et_pb_menu_1_tb_header .nav li.et-reverse-direction-nav[data-reverse-reason="first-level"]>ul,.et-db #et-boc .et-l .et_pb_menu_1_tb_header .nav li.et-reverse-direction-nav[data-reverse-reason="both"]>ul,.et-db #et-boc .et-l .et_pb_menu_1_tb_header .nav li.et-reverse-direction-nav[data-reverse-reason="first-level"]>.sub-menu,.et-db #et-boc .et-l .et_pb_menu_1_tb_header .nav li.et-reverse-direction-nav[data-reverse-reason="both"]>.sub-menu{left:auto;right:2px}
.et-db #et-boc .et-l .et_pb_menu_1_tb_header.et_pb_menu--style-left_aligned.et_pb_text_align_right .et_pb_menu__menu>nav>ul{margin-right:0}
.et-db #et-boc .et-l .et_pb_column_2_tb_header{width:20%}
.et-db #et-boc .et-l .et_pb_row_2_tb_header{justify-content:end;align-items:center;--align-items:center;flex-wrap:nowrap}
.et-db #et-boc .et-l .et_pb_column_3_tb_header{width:100%;align-items:flex-end;--align-items:flex-end;--et-pb-icon-self-align:flex-end}
.et-db #et-boc .et-l .et_pb_column_4_tb_header{align-self:center!important;justify-content:center;align-items:flex-end;--align-items:flex-end;--et-pb-icon-self-align:flex-end}
@media only screen and (max-width:980px){.et-db #et-boc .et-l .et_pb_menu_1_tb_header .et_pb_menu_inner_container{justify-content:space-between;align-items:center;--align-items:center}.et-db #et-boc .et-l .et_pb_menu_1_tb_header .et_pb_menu__wrap{justify-content:flex-end!important}.et-db #et-boc .et-l .et_pb_menu_1_tb_header{text-align:right}}
@media only screen and (max-width:767px){.et-db #et-boc .et-l .et_pb_image_0_tb_header{width:200%}.et-db #et-boc .et-l .et_pb_row_1_tb_header{--horizontal-gap:2%;align-items:center;--align-items:center;flex-wrap:nowrap}.et-db #et-boc .et-l .et_pb_row_1_tb_header>[class*="et_flex_column"],.et-db #et-boc .et-l .et_pb_row_1>[class*="et_flex_column"],.et-db #et-boc .et-l .et_pb_row_2>[class*="et_flex_column"],.et-db #et-boc .et-l .et_pb_row_3_tb_footer>[class*="et_flex_column"],.et-db #et-boc .et-l .et_pb_row_4>[class*="et_flex_column"],.et-db #et-boc .et-l .et_pb_row_8>[class*="et_flex_column"],.et-db #et-boc .et-l .et_pb_row_14>[class*="et_flex_column"],.et-db #et-boc .et-l .et_pb_row_16>[class*="et_flex_column"],.et-db #et-boc .et-l .et_pb_row_21>[class*="et_flex_column"],.et-db #et-boc .et-l .et_pb_row_23>[class*="et_flex_column"]{--horizontal-gap-parent:2%}.et-db #et-boc .et-l .et_pb_menu_1_tb_header .et_pb_menu_inner_container{justify-content:space-between;align-items:center;--align-items:center}.et-db #et-boc .et-l .et_pb_menu_1_tb_header .et_pb_menu__wrap{justify-content:flex-end!important}.et-db #et-boc .et-l .et_pb_menu_1_tb_header{text-align:right}}

/* Divi image module base rules (logo) - same as in Divi's deferred file, needed for the logo's size at first paint */
.et-db #et-boc .et-l .et_pb_image{text-align:left;margin-left:0;margin-right:auto;line-height:0;align-items:flex-start}
.et-db #et-boc .et-l .et_pb_image .et_pb_image_wrap{display:inline-block;position:relative;max-width:100%}
.et-db #et-boc .et-l .et_pb_image img{position:relative}