/*
Theme Name: MatBaoWS
Description: This is a child theme for Flatsome Theme
Author: MatBaoWS Team
Template: flatsome
Version: 3.1
*/
/*************** ADD CUSTOM CSS HERE.   ***************/
html {
    scroll-behavior: smooth;
}

/* WooCommerce Add to Cart Inline Styling */
.woocommerce.add_to_cart_inline {
    border: 0px solid #e0e0e0 !important;
    border-radius: 12px !important;
    padding: 20px !important;
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08) !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 15px !important;
}

.woocommerce.add_to_cart_inline:hover {
    border-color: var(--fs-color-primary) !important;
    box-shadow: 0 6px 20px rgba(0, 123, 255, 0.15) !important;
    transform: translateY(-2px) !important;
}

.woocommerce.add_to_cart_inline .woocommerce-Price-amount {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #2c3e50 !important;
}

.woocommerce.add_to_cart_inline .woocommerce-Price-currencySymbol {
    color: var(--fs-color-primary) !important;
}

.woocommerce.add_to_cart_inline .button {
    background: linear-gradient(135deg, var(--fs-color-primary) 0%, var(--fs-color-primary) 100%) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 12px 24px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    box-shadow: 0 4px 10px var(--fs-color-primary) !important;
    transition: all 0.3s ease !important;
}

.woocommerce.add_to_cart_inline .button:hover {
    background: linear-gradient(135deg, var(--fs-color-primary) 0%, var(--fs-color-primary) 100%) !important;
    box-shadow: 0 6px 15px var(--fs-color-primary) !important;
    transform: translateY(-2px) !important;
}

.woocommerce.add_to_cart_inline .button:active {
    transform: translateY(0) !important;
}

.blog-wrapper.blog-single .mbws-related-posts {
    display: none;
}

/* Custom Accordion Styling */
.accordion {
    margin-bottom: 20px;
}

.accordion-item {
    background: #fff !important;
    border: 1px solid #ececec !important;
    border-radius: 4px !important;
    margin-bottom: 12px !important;
    overflow: hidden !important;
    box-shadow: none !important;
}

.accordion-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 15px 20px !important;
    background: #fff !important;
    border-left: 4px solid transparent !important;
    transition: border-color 0.2s ease, background-color 0.2s ease !important;
    text-decoration: none !important;
    color: #333 !important;
}

.accordion-title span {
    font-size: 16px !important;
    color: #333 !important;
    font-weight: 500 !important;
    order: 1 !important;
}

.accordion-title.active {
    border-left-color: #e23e1d !important;
}

/* Hide default angle icon inside toggle button */
.accordion-title .toggle i {
    display: none !important;
}

.accordion-title .toggle {
    background: transparent !important;
    border: none !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    order: 2 !important;
}

/* Custom Plus / Minus toggles */
.accordion-title .toggle::before {
    content: "+" !important;
    color: #e23e1d !important;
    font-size: 28px !important;
    line-height: 1 !important;
    font-weight: 300 !important;
    display: block !important;
    transition: transform 0.2s ease !important;
}

.accordion-title.active .toggle::before {
    content: "\2212" !important;
    /* Unicode minus sign − */
    font-size: 28px !important;
}

/* Inner content styling */
.accordion-inner {
    padding: 20px 20px 20px 24px !important;
    border-top: 1px solid #ececec !important;
    background: #fff !important;
    color: #444 !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
}

/* Mobile Floating Add to Cart Button (Left Side) */
@media (max-width: 767px) {
    #cart-box {
        position: fixed !important;
        bottom: 80px !important;
        left: 20px !important;
        right: auto !important;
        width: 60px !important;
        height: 60px !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        border: none !important;
        z-index: 99999 !important;
    }

    #cart-box .woocommerce.add_to_cart_inline {
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        display: block !important;
        width: 100% !important;
        height: 100% !important;
    }

    #cart-box .woocommerce.add_to_cart_inline .woocommerce-Price-amount {
        display: none !important;
    }

    #cart-box .woocommerce.add_to_cart_inline .button {
        width: 60px !important;
        height: 60px !important;
        border-radius: 50% !important;
        padding: 0 !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 0 !important;
        background: linear-gradient(135deg, #e23e1d 0%, #ff6b4a 100%) !important;
        box-shadow: 0 4px 15px rgba(226, 62, 29, 0.4) !important;
        transition: all 0.3s ease !important;
    }

    #cart-box .woocommerce.add_to_cart_inline .button::before {
        content: "\f07a" !important;
        font-family: "Font Awesome 6 Pro", "Font Awesome 6 Free", sans-serif !important;
        font-weight: 900 !important;
        font-size: 22px !important;
        color: #ffffff !important;
    }

    body.single-post,
    body.single-mbws_audio {
        padding-bottom: 0 !important;
    }
}

/* .video.video-fit {
    padding-top: 0 !important;
} */

@media (max-width: 767px) {

    .title-mobile-only-wrapper,
    .single-post-wishlist-wrapper,
    .single-post-explore-button,
    .single-post-related-posts {
        margin: 0 10px !important;
    }

    .header-wrapper.stuck {
        display: none;
    }
}

.header-vertical-menu__fly-out.has-shadow {
    width: 100% !important;
}

@media (max-width: 850px) {

    /* 1. Parent container layout */
    .header-bottom-nav.mobile-nav {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        position: relative !important;
        width: 100% !important;
        padding: 0 !important;
    }

    /* 2. Search form: full width at the top */
    .header-bottom-nav.mobile-nav>.header-search-form {
        width: 100% !important;
        order: 0 !important;
        margin: 0 !important;
        padding: 0;
    }

    /* 3. Hamburger icon (Nav Icon) on the left */
    .header-bottom-nav.mobile-nav>.nav-icon {
        order: 1 !important;
        margin: 0 !important;
    }

    /* 4. Vertical Menu on the right */
    .header-bottom-nav.mobile-nav>.header-vertical-menu {
        order: 2 !important;
        margin-left: auto !important;
        margin-right: 0 !important;
        width: auto !important;
        position: relative !important;
    }

    /* Opener style: transparent background, gray text, no icon */
    .header-bottom-nav.mobile-nav>.header-vertical-menu .header-vertical-menu__opener {
        background-color: transparent !important;
        color: #999 !important;
        border: none !important;
        box-shadow: none !important;
        height: auto !important;
        padding: 0 !important;
        font-size: 16px !important;
        width: auto !important;
        text-transform: none !important;
    }

    .header-bottom-nav.mobile-nav>.header-vertical-menu .header-vertical-menu__opener .header-vertical-menu__icon {
        display: none !important;
    }

    .header-bottom-nav.mobile-nav>.header-vertical-menu .header-vertical-menu__opener .icon-angle-down {
        color: #999 !important;
        margin-left: 5px !important;
    }

    /* Flyout dropdown styling: hidden by default on mobile, aligned to the right edge of #english trigger, styled box */
    .header-bottom-nav.mobile-nav .header-vertical-menu__fly-out {
        display: none !important;
        position: absolute !important;
        right: 0 !important;
        left: auto !important;
        top: 100% !important;
        width: 220px !important;
        z-index: 9999 !important;
        background-color: #fff !important;
        border: 1px solid #ececec !important;
        border-radius: 4px !important;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
        padding: 5px 0 !important;
    }

    /* Open state for mobile dropdown */
    .header-bottom-nav.mobile-nav .header-vertical-menu__fly-out.header-vertical-menu__fly-out--open {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    /* 5. Custom Block on the right under the Vertical Menu */
    .header-bottom-nav.mobile-nav>.header-block {
        order: 3 !important;
        z-index: 999 !important;
        width: 100% !important;
        /* Force to wrap to a new line */
        margin: 0 !important;
        display: block !important;
    }

    .header-bottom-nav.mobile-nav .ux-search-submit {
        padding: 0 1em !important;
    }

    .header-bottom-nav.mobile-nav>.header-block .header-block-block-1 {
        width: 220px !important;
        margin-left: auto !important;
        margin-right: 0 !important;
    }

    /* Reset default Flatsome column/row spacing for the mobile block */
    .header-bottom-nav.mobile-nav>.header-block .row,
    .header-bottom-nav.mobile-nav>.header-block .col {
        margin: 0 !important;
        padding: 0 !important;
    }

    .header-bottom-nav.mobile-nav>.header-block .col-inner {
        background-color: #fff !important;
        padding: 10px 15px !important;
        border: 1px solid #ececec !important;
        border-radius: 4px !important;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
    }

    .header-bottom-nav.mobile-nav>.header-block .col-inner .is-border {
        display: none !important;
    }

    .header-bottom-nav.mobile-nav>.header-block #text-2341175617 {
        margin: 0 !important;
        text-align: center !important;
    }

    .header-bottom-nav.mobile-nav>.header-block #text-2341175617 p {
        margin: 4px 0 !important;
        font-size: 13px !important;
        line-height: 1.4 !important;
    }

    .header-bottom-nav.mobile-nav>.header-block #text-2341175617 a {
        color: #e23e1d !important;
        text-decoration: none !important;
        font-weight: 500 !important;
    }

    .header-bottom-nav.mobile-nav>.header-block #text-2341175617 a strong {
        font-weight: 700 !important;
    }

    #wide-nav .searchform {
        margin: 0 !important;
    }
}

#login .um-login.um-logout {
    max-width: 100% !important;
}

/* ===== Left Drawer Sidebar Popup Style ===== */
.mfp-wrap:has(#menu-english) {
    overflow: hidden !important;
}

.mfp-wrap:has(#menu-english) .mfp-container {
    padding: 0 !important;
    text-align: left !important;
    display: flex !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
}

.mfp-wrap:has(#menu-english) .mfp-content {
    vertical-align: stretch !important;
    display: flex !important;
    height: 100vh !important;
    margin: 0 !important;
    max-width: 400px !important;
    width: 90% !important;
    opacity: 0;
    transform: translateX(-100%);
    transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}

.mfp-wrap.mfp-ready:has(#menu-english) .mfp-content {
    opacity: 1 !important;
    transform: translateX(0) !important;
}

#menu-english {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 35px 20px 25px 20px !important;
    background: #fff !important;
    box-shadow: 4px 0 25px rgba(0, 0, 0, 0.15) !important;
    display: flex !important;
    flex-direction: column !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
}

.mfp-wrap:has(#menu-english) button.mfp-close {
    color: #333 !important;
    top: 10px !important;
    right: 15px !important;
    left: auto !important;
    width: 40px !important;
    height: 40px !important;
    line-height: 40px !important;
    font-size: 28px !important;
    background: transparent !important;
    opacity: 0.6;
    transition: opacity 0.2s;
    z-index: 99999 !important;
}

.mfp-wrap:has(#menu-english) button.mfp-close:hover {
    opacity: 1;
}

#menu-english.lightbox-content {
    border-radius: 0 !important;
}