/* =========================================================
 *  GLOBAL STYLES (Header, Footer, Utils - NO GRID)
 *  ========================================================= */

/* --- 1. CORE CANVAS & SCROLLBARS --- */
::-webkit-scrollbar-track {
    background: var(--ssc-off-white) !important;
}
::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, var(--ssc-action-light), var(--ssc-action-base)) !important;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--ssc-action-dark) !important;
}

body, #page-container, #main-content, .main_body {
    background-color: var(--ssc-bg-page) !important;
    color: var(--ssc-text-body) !important;
}

/* --- 2. TYPOGRAPHY --- */
h1, h2, h3, h4, h5, h6, .et_pb_module_header {
    color: var(--ssc-struct-base) !important;
}
#main-content p a {
color: var(--ssc-action-base) !important;
border-bottom: 2px solid var(--ssc-high-base) !important;
}

/* --- 3. HEADER & NAVIGATION --- */
.et_pb_section_0_tb_header {
    background: var(--ssc-struct-base) !important;
    border-bottom: 3px solid var(--ssc-high-base) !important;
    color: var(--ssc-struct-text) !important;
}
.et_pb_section_0_tb_header p {
    color: var(--ssc-struct-text) !important;
}
.show_cart .et-pb-icon, .mobile_menu_bar:before {
    color: var(--ssc-struct-base) !important;
}
.et_pb_menu__menu > nav > ul > li > a {
    color: var(--ssc-struct-base) !important;
}
.et_pb_menu__menu > nav > ul > li.current-menu-item > a {
    color: var(--ssc-action-base) !important;
    font-weight: 700;
}

/* Mobile Menu Accent Border */
@media (max-width: 980px) {
    .et_mobile_menu {
        border-top: 3px solid var(--ssc-action-base) !important;
    }
}

/* --- 4. FOOTER --- */
.et_pb_section_0_tb_footer {
    background: linear-gradient(180deg, var(--ssc-struct-grad) 0%, var(--ssc-struct-base) 100%) !important;
    color: var(--ssc-struct-text) !important;
}
body .et_pb_social_icon a.icon {
    background-color: var(--ssc-action-base) !important;
}
body .et_pb_social_icon a.icon:hover {
    background-color: var(--ssc-action-base) !important;
    color: var(--ssc-action-text) !important;
}
body .et_pb_social_media_follow_0_tb_footer li.et_pb_social_icon a.icon:before {
    color: var(--ssc-off-white) !important;
}

/* --- 5. FORMS, BUTTONS & POPUPS --- */

/* OVERRIDE DIVI COLORS & RADIUS ONLY */
.et_pb_button,
.et_pb_module .et_pb_button,
.et_pb_contact_submit,
.et_pb_newsletter_button,
.et_pb_promo_button,
.et_pb_search_button {
    background-color: var(--ssc-action-base) !important;
    color: var(--ssc-action-text) !important;
    border-color: var(--ssc-action-base) !important;
    border-radius: 4px !important; /* Low border radius (3-5px) */
    border: none!important;
    transition: background-color 0.3s, border-color 0.3s, color 0.3s !important;
}

/* OVERRIDE DIVI HOVER COLORS ONLY */
.et_pb_button:hover,
.et_pb_module .et_pb_button:hover,
.et_pb_contact_submit:hover,
.et_pb_newsletter_button:hover,
.et_pb_promo_button:hover,
.et_pb_search_button:hover {
    background-color: var(--ssc-action-dark) !important;
    border-color: var(--ssc-action-dark) !important;
    color: var(--ssc-action-text) !important;
}

/* Ensure Divi icons match the calculated text color */
.et_pb_button:after,
.et_pb_button:before {
    color: var(--ssc-action-text) !important;
}

/* Sticky bar styling */
.et_pb_section_1_tb_body.add_to_cart {
    background: linear-gradient(90deg, var(--ssc-action-base) 0%, var(--ssc-action-dark) 100%) !important;
    box-shadow: 0px -10px 20px oklch(from var(--ssc-action-base) l c h / 0.25) !important;
    border-top: 1px solid var(--ssc-action-light) !important;
}
.et_pb_section_1_tb_body.add_to_cart .et_pb_text_inner {
    color: var(--ssc-action-text) !important;
}

/* Forms & Inputs */
.checkout-form input, input[type="text"], input[type="email"], textarea {
    background-color: var(--ssc-bg-page) !important;
    border: 2px solid #E2E8F0 !important;
    color: var(--ssc-text-body) !important;
}
.checkout-form input:focus {
    background-color: var(--ssc-off-white) !important;
    border-color: var(--ssc-action-base) !important;
    box-shadow: 0 0 0 4px oklch(from var(--ssc-action-base) l c h / 0.1) !important;
    outline: none !important;
}

/* Popup UI */
#cart-popup .popup-content {
background-color: var(--ssc-off-white) !important;
border: 1px solid var(--ssc-struct-grad) !important;
}
#cart-popup h2, #cart-popup h3 {
color: var(--ssc-struct-base) !important;
border-bottom: 2px solid var(--ssc-action-light);
}
.shipping-option {
    border: 1px solid #ddd;
    background-color: var(--ssc-bg-page) !important;
    transition: 0.2s;
}
.shipping-option:has(input:checked) {
    border-color: var(--ssc-action-base) !important;
    background-color: oklch(from var(--ssc-action-base) l c h / 0.05) !important;
}
.shipping-price {
    color: var(--ssc-action-base) !important;
    font-weight: bold;
}

/* --- 6. COMPONENTS (Gallery & Bullets) --- */
.mg_dot {
    background: var(--ssc-struct-base) !important;
    opacity: 0.2 !important;
    border: none !important;
}
.mg_dot.active {
    background: var(--ssc-action-base) !important;
    opacity: 1 !important;
}
.mg_nav_arrow, .mg_prev_arrow, .mg_next_arrow {
    background-color: var(--ssc-off-white) !important;
    color: var(--ssc-action-base) !important;
    border: 2px solid transparent !important;
    opacity: 1 !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.3) !important;
}
.mg_nav_arrow:hover {
    background-color: var(--ssc-action-base) !important;
    color: var(--ssc-action-text) !important;
}
.stefan-ds-bullets-list {
    background-color: var(--ssc-off-white) !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05) !important;
    border: 1px solid #E2E8F0 !important;
}
.stefan-ds-bullet-icon svg {
    fill: var(--ssc-action-base) !important;
}
.stefan-ds-review-item {
    background-color: var(--ssc-off-white) !important;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05) !important;
    border: 1px solid var(--ssc-off-white) !important;
}

/* --- 7. UTILITY HIGHLIGHTS --- */
.stefan-ds-sale-price {
    color: var(--ssc-high-base) !important;
    text-shadow: 0px 1px 2px oklch(from var(--ssc-high-base) l c h / 0.2) !important;
}
.sds-summary-stars, .stefan-ds-star-rating-display {
    color: var(--ssc-high-base) !important;
    text-shadow: 0px 2px 4px oklch(from var(--ssc-high-base) l c h / 0.3) !important;
}

/* --- 8. MANUAL EDITS --- */
@media (max-width: 980px) {
    .open_menu .et_pb_menu__menu {
        display: flex!important;
    }
    .open_menu .et_mobile_nav_menu {
        display: none!important;
    }
    .open_menu .et_pb_menu__wrap {
        justify-content: center !important;
    }
    footer form.et_pb_contact_form p input {
        min-width: 180px!important;
    }

}
