/*
Theme Name: Bloomve Divi Child
Theme URI: https://bloomve.com/
Description: Divi child theme bridge for the Bloomve healthcare marketplace static V1 site.
Author: Bloomve
Template: Divi
Version: 2.7.8
Text Domain: bloomve-divi-child
*/

/*
 * The original Bloomve site CSS is loaded from assets/css/style.css
 * on Bloomve Full Canvas pages.
 */


/* Bloomve v1.6 — Divi editable canvas + WooCommerce Ayurveda theme */
html { margin: 0; }
body.bloomve-divi-editable-canvas { margin:0 !important; padding:0 !important; }
/* Keep Divi's structural shell for the Visual Builder, but hide the parent
   theme's visible site chrome because Bloomve HTML includes its own nav/footer. */
body.bloomve-divi-editable-canvas #top-header,
body.bloomve-divi-editable-canvas #main-header,
body.bloomve-divi-editable-canvas #main-footer { display:none !important; }
body.bloomve-divi-editable-canvas #page-container,
body.bloomve-divi-editable-canvas #et-main-area,
body.bloomve-divi-editable-canvas #main-content,
body.bloomve-divi-editable-canvas .bloomve-divi-main-content,
body.bloomve-divi-editable-canvas .bloomve-divi-article,
body.bloomve-divi-editable-canvas .entry-content { margin:0 !important; padding:0 !important; width:100% !important; max-width:none !important; }
body.bloomve-divi-editable-canvas #page-container { padding-top:0 !important; margin-top:0 !important; }
body.bloomve-divi-editable-canvas .bloomve-divi-article { min-height:0 !important; }
body.bloomve-divi-editable-canvas .et_pb_section,
body.bloomve-divi-editable-canvas .et_pb_row,
body.bloomve-divi-editable-canvas .et_pb_column,
body.bloomve-divi-editable-canvas .et_pb_code,
body.bloomve-divi-editable-canvas .et_pb_code_inner { margin:0 !important; padding:0 !important; width:100% !important; max-width:100% !important; }
body.bloomve-divi-editable-canvas .et_pb_row { width:100% !important; max-width:100% !important; }
body.bloomve-divi-editable-canvas .et_pb_section { padding:0 !important; }

.bloomve-shop-page { background:#fbfaf7; min-height:70vh; color:#10221b; }
.bloomve-shop-hero { background:linear-gradient(135deg,#edf7f2 0%,#f8f4e8 100%); border-bottom:1px solid #dae7df; padding:64px 0 54px; text-align:center; }
.bloomve-shop-hero .eyebrow { display:inline-block; background:#e1f1e8; color:#176b49; font-weight:700; font-size:12px; border-radius:999px; padding:7px 14px; margin-bottom:16px; }
.bloomve-shop-hero h1 { font-family:'Playfair Display',serif; font-weight:700; color:#092c22; font-size:clamp(38px,5vw,64px); margin:0 0 12px; }
.bloomve-shop-hero p { max-width:720px; margin:0 auto; color:#617169; font-size:17px; }
.bloomve-shop-content { padding:48px 0 72px; }
.bloomve-shop-toolbar { display:flex; gap:18px; justify-content:space-between; align-items:center; flex-wrap:wrap; margin-bottom:28px; }
.bloomve-shop-page .woocommerce-result-count { margin:0; color:#69776f; }
.bloomve-shop-page .woocommerce-ordering { margin:0; }
.bloomve-shop-page .woocommerce-ordering select { border:1px solid #d9e2dc; border-radius:10px; padding:10px 38px 10px 13px; background:#fff; }
.bloomve-shop-page .woocommerce ul.products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin:0; padding:0; }
.bloomve-shop-page .woocommerce ul.products::before,
.bloomve-shop-page .woocommerce ul.products::after { display:none; }
.bloomve-shop-page .woocommerce ul.products li.product { width:auto !important; float:none !important; margin:0 !important; background:#fff; border:1px solid #e0e6e2; border-radius:16px; padding:14px; box-shadow:0 10px 30px rgba(19,59,44,.05); overflow:hidden; }
.bloomve-shop-page .woocommerce ul.products li.product a img { border-radius:12px; margin-bottom:15px; }
.bloomve-shop-page .woocommerce ul.products li.product .woocommerce-loop-product__title { font-family:'Playfair Display',serif; color:#0d3025; font-size:20px; padding:0; }
.bloomve-shop-page .woocommerce ul.products li.product .price { color:#13734d; font-weight:700; }
.bloomve-shop-page .woocommerce ul.products li.product .button { background:#0b4b3b; color:#fff; border-radius:9px; padding:11px 16px; }
.bloomve-shop-page .woocommerce-info,
.bloomve-shop-page .woocommerce-message,
.bloomve-shop-page .woocommerce-error { border:1px solid #d8e5dd !important; background:#fff !important; color:#24453a !important; border-radius:14px; padding:22px 24px !important; margin:0 !important; }
.bloomve-shop-empty { max-width:760px; margin:0 auto; background:#fff; border:1px solid #e0e6e2; border-radius:18px; padding:42px 30px; text-align:center; box-shadow:0 10px 30px rgba(19,59,44,.05); }
.bloomve-shop-empty i { font-size:48px; color:#18825a; }
.bloomve-shop-empty h2 { font-family:'Playfair Display',serif; color:#0d3025; margin-top:14px; }
.bloomve-shop-empty p { color:#69776f; }
@media(max-width:991px){ .bloomve-shop-page .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media(max-width:640px){ .bloomve-shop-page .woocommerce ul.products{grid-template-columns:1fr;} .bloomve-shop-hero{padding:46px 0 40px;} }


/* Bloomve v1.8 — suppress Divi/Theme Builder global chrome on imported
   Divi-editable pages. The Bloomve HTML already contains its own navigation
   and footer, so showing Divi's global header/footer creates duplicates. */
body.bloomve-divi-editable-canvas #top-header,
body.bloomve-divi-editable-canvas #main-header,
body.bloomve-divi-editable-canvas header#main-header,
body.bloomve-divi-editable-canvas #main-footer,
body.bloomve-divi-editable-canvas footer#main-footer,
body.bloomve-divi-editable-canvas .et-l--header,
body.bloomve-divi-editable-canvas .et-l.et-l--header,
body.bloomve-divi-editable-canvas header.et-l--header,
body.bloomve-divi-editable-canvas .et-l--footer,
body.bloomve-divi-editable-canvas .et-l.et-l--footer,
body.bloomve-divi-editable-canvas footer.et-l--footer,
body.page-template-page-bloomve-divi #top-header,
body.page-template-page-bloomve-divi #main-header,
body.page-template-page-bloomve-divi header#main-header,
body.page-template-page-bloomve-divi #main-footer,
body.page-template-page-bloomve-divi footer#main-footer,
body.page-template-page-bloomve-divi .et-l--header,
body.page-template-page-bloomve-divi .et-l.et-l--header,
body.page-template-page-bloomve-divi header.et-l--header,
body.page-template-page-bloomve-divi .et-l--footer,
body.page-template-page-bloomve-divi .et-l.et-l--footer,
body.page-template-page-bloomve-divi footer.et-l--footer {
    display: none !important;
}

/* Remove space Divi normally reserves for a fixed/global header. */
body.bloomve-divi-editable-canvas.et_fixed_nav #page-container,
body.bloomve-divi-editable-canvas.et_non_fixed_nav.et_transparent_nav #page-container,
body.page-template-page-bloomve-divi.et_fixed_nav #page-container,
body.page-template-page-bloomve-divi.et_non_fixed_nav.et_transparent_nav #page-container {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Ensure the actual Bloomve Code Module owns the full viewport width. */
body.page-template-page-bloomve-divi #main-content,
body.page-template-page-bloomve-divi #main-content .container,
body.page-template-page-bloomve-divi #left-area,
body.page-template-page-bloomve-divi article,
body.page-template-page-bloomve-divi .entry-content,
body.page-template-page-bloomve-divi .et_pb_section,
body.page-template-page-bloomve-divi .et_pb_row,
body.page-template-page-bloomve-divi .et_pb_column,
body.page-template-page-bloomve-divi .et_pb_code,
body.page-template-page-bloomve-divi .et_pb_code_inner {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}


/* Bloomve v1.9 — canonical global healthcare shell on Divi-editable pages. */
body.bloomve-divi-editable-canvas .bloomve-divi-article .et_pb_code_inner > .editorial-masthead-bar,
body.bloomve-divi-editable-canvas .bloomve-divi-article .et_pb_code_inner > nav.navbar-bloomve,
body.bloomve-divi-editable-canvas .bloomve-divi-article .et_pb_code_inner > footer.footer-bloomve,
body.page-template-page-bloomve-divi .bloomve-divi-article .et_pb_code_inner > .editorial-masthead-bar,
body.page-template-page-bloomve-divi .bloomve-divi-article .et_pb_code_inner > nav.navbar-bloomve,
body.page-template-page-bloomve-divi .bloomve-divi-article .et_pb_code_inner > footer.footer-bloomve {
    display: none !important;
}

/* Keep Divi list/menu styling from leaking into the Bootstrap navigation. */
.bloomve-global-header,
.bloomve-global-header *,
.bloomve-global-footer,
.bloomve-global-footer * {
    box-sizing: border-box;
}

.bloomve-global-header ul,
.bloomve-global-header ol,
.bloomve-global-footer ul,
.bloomve-global-footer ol {
    list-style: none !important;
    list-style-type: none !important;
}

.bloomve-global-header li,
.bloomve-global-footer li {
    list-style: none !important;
}

.bloomve-global-header li::marker,
.bloomve-global-footer li::marker {
    content: '' !important;
    font-size: 0 !important;
}

.bloomve-global-header .navbar-nav,
.bloomve-global-header .dropdown-menu,
.bloomve-global-footer .footer-links {
    padding-left: 0 !important;
    margin-left: 0 !important;
}

.bloomve-global-header .navbar-nav > .nav-item,
.bloomve-global-header .dropdown-menu > li {
    margin: 0 !important;
    padding: 0 !important;
}

.bloomve-global-header .navbar-nav > .nav-item::before,
.bloomve-global-header .dropdown-menu > li::before {
    display: none !important;
    content: none !important;
}

.bloomve-global-header .dropdown-toggle::after {
    display: inline-block !important;
    margin-left: .255em !important;
    vertical-align: .255em !important;
    content: "" !important;
    border-top: .3em solid !important;
    border-right: .3em solid transparent !important;
    border-bottom: 0 !important;
    border-left: .3em solid transparent !important;
}

.bloomve-global-header .dropdown-menu {
    z-index: 999999 !important;
}

.bloomve-global-header .navbar-bloomve,
.bloomve-global-header .editorial-masthead-bar,
.bloomve-global-footer .footer-bloomve {
    position: relative;
    width: 100%;
}

/* The page body starts immediately after the shared Bloomve header. */
body.page-template-page-bloomve-divi #main-content,
body.bloomve-divi-editable-canvas #main-content {
    padding-top: 0 !important;
}

/* Prevent Divi typography rules from changing the shared footer headings/links. */
.bloomve-global-footer .footer-bloomve h5 {
    color: #fff !important;
}
.bloomve-global-footer .footer-links a {
    color: #a3c4b5 !important;
    text-decoration: none !important;
}
.bloomve-global-footer .footer-links a:hover {
    color: #fff !important;
}


/* ========================================================================== 
   BLOOMVE 2.1 — EDITOR-SAFE SHARED SHELL
   ========================================================================== */
body.page-template-page-bloomve-divi .bloomve-divi-article .et_pb_code_inner .editorial-masthead-bar,
body.page-template-page-bloomve-divi .bloomve-divi-article .et_pb_code_inner nav.navbar-bloomve,
body.page-template-page-bloomve-divi .bloomve-divi-article .et_pb_code_inner footer.footer-bloomve,
body.bloomve-divi-editable-canvas .bloomve-divi-article .et_pb_code_inner .editorial-masthead-bar,
body.bloomve-divi-editable-canvas .bloomve-divi-article .et_pb_code_inner nav.navbar-bloomve,
body.bloomve-divi-editable-canvas .bloomve-divi-article .et_pb_code_inner footer.footer-bloomve {
    display: none !important;
}


/* v2.3 appointment modal interaction hardening */
#appointmentModal .btn-close {
    position: relative !important;
    z-index: 10002 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
}
#appointmentModal .modal-content {
    pointer-events: auto !important;
}
#appointmentModal.show {
    z-index: 10000 !important;
}
.modal-backdrop.show {
    z-index: 9999 !important;
}


/* v2.4 — Bootstrap modal must sit outside Divi stacking contexts */
body > #appointmentModal {
    z-index: 2147483001 !important;
    pointer-events: auto !important;
}

body > #appointmentModal .modal-dialog,
body > #appointmentModal .modal-content,
body > #appointmentModal .modal-body,
body > #appointmentModal button,
body > #appointmentModal select,
body > #appointmentModal input,
body > #appointmentModal textarea {
    pointer-events: auto !important;
}

body > .modal-backdrop {
    z-index: 2147483000 !important;
    pointer-events: auto !important;
}

body > #appointmentModal .modal-dialog {
    position: relative !important;
    z-index: 2147483002 !important;
}

/* Ensure the standard Divi sidebar divider appears on single blog posts on desktop */
@media all and (min-width: 981px) {
    body.bloomve-divi-editable-canvas.single-post #left-area {
        float: left;
        width: 79.125% !important;
        padding-right: 5.5% !important;
    }
    body.bloomve-divi-editable-canvas.single-post #main-content .container::before {
        content: "";
        position: absolute;
        top: 0;
        height: 100%;
        width: 1px;
        background-color: #e2e2e2;
        right: 20.875% !important;
        display: block !important;
    }
}

/* Blog Listing Card Micro-Animations */
.bloomve-card {
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.bloomve-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(19, 59, 44, 0.1) !important;
}
.bloomve-card .card-img-wrapper {
    overflow: hidden;
    border-radius: 0.5rem;
}
.bloomve-card .card-img-wrapper img {
    transition: transform 0.5s ease;
}
.bloomve-card:hover .card-img-wrapper img {
    transform: scale(1.05);
}
.blog-category-scroll::-webkit-scrollbar {
    display: none;
}
.blog-category-scroll {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Disable Divi's default sidebar divider on full-width custom pages */
body.category #main-content .container::before,
body.page-template-page-bloomve-blog #main-content .container::before {
    display: none !important;
}


/* v2.7.5 — Nrootz support credit */
.bloomve-nrootz-support{
    margin-top:18px;
    padding-top:14px;
    border-top:1px solid rgba(255,255,255,.12);
    text-align:center;
    font-size:12px;
    line-height:1.5;
    letter-spacing:.02em;
    color:rgba(255,255,255,.72);
}
.bloomve-nrootz-support strong{
    color:#fff;
    font-weight:700;
}


/* v2.7.8 — responsive/mobile hardening */
html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

img,
video,
iframe,
svg {
    max-width: 100%;
}

img,
video {
    height: auto;
}

@media (max-width: 991.98px) {
    .bloomve-global-header .navbar-collapse {
        max-height: calc(100dvh - 84px);
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: 10px 0 14px;
    }

    .bloomve-global-header .navbar-nav {
        align-items: stretch !important;
    }

    .bloomve-global-header .nav-link {
        width: 100%;
        min-height: 44px;
        display: flex;
        align-items: center;
    }

    .bloomve-global-header .dropdown-menu {
        position: static !important;
        transform: none !important;
        width: 100%;
        max-width: none;
        margin: 0 0 8px !important;
        box-shadow: none !important;
    }

    .bloomve-global-header .navbar-collapse > .d-flex {
        width: 100%;
        margin-left: 0 !important;
        margin-top: 8px;
        flex-wrap: wrap;
    }

    .bloomve-global-header .navbar-collapse > .d-flex .btn {
        flex: 1 1 140px;
        min-height: 44px;
    }
}

@media (max-width: 767.98px) {
    .bloomve-global-header .navbar-brand img {
        width: 140px;
        max-width: 44vw;
        height: auto;
    }

    .bloomve-global-header .navbar-toggler {
        min-width: 44px;
        min-height: 44px;
    }

    .bloomve-global-footer .footer-bloomve {
        text-align: center;
    }

    .bloomve-global-footer .footer-links {
        padding-left: 0 !important;
    }

    .bloomve-legal-card,
    .bloomve-legal-longform {
        overflow-wrap: anywhere;
    }
}
