/**
* Theme Name: Medicalist Child
* Description: This is a child theme of Medicalist, generated by Merlin WP.
* Author: <a href="http://themeforest.net/user/webinane">Webinane</a>
* Template: medicalist
* Version: 3.2.6
*/

:root {
    --medicalist-primary-color: rgb(88, 182, 166);
    --bioxaker-primary: rgb(88, 182, 166);
    --bioxaker-primary-deep: rgb(65, 150, 136);
    --bioxaker-primary-soft: rgba(88, 182, 166, 0.14);
    --bioxaker-secondary: rgb(90, 205, 250);
    --bioxaker-secondary-soft: rgba(90, 205, 250, 0.18);
    --bioxaker-ring: rgba(90, 205, 250, 0.32);
}

body,
body button,
body input,
body select,
body textarea,
body label,
body legend,
body p,
body li,
body dt,
body dd,
body span,
body small,
body strong,
body b,
body em,
body blockquote,
body cite,
body a,
body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body [class*="font-family-"],
body .menu a,
body .genrl-menu a,
body .sub-menu a,
body .widget,
body .widget a,
body .breadcrumb-item,
body .breadcrumb-item a,
body .theme-btn-2,
body .elementor-widget-text-editor,
body .elementor-widget-text-editor *,
body .elementor-widget-heading .elementor-heading-title,
body .elementor-button,
body .elementor-button-text,
body .elementor-icon-box-title,
body .elementor-icon-box-title a,
body .elementor-icon-box-description,
body .elementor-image-box-title,
body .elementor-image-box-title a,
body .elementor-image-box-description,
body .elementor-tab-title,
body .elementor-accordion .elementor-tab-title,
body .elementor-counter-title,
body .elementor-counter-number-wrapper,
body .elementor-progress .elementor-title,
body .elementor-progress-percentage,
body .elementor-icon-list-text,
body .elementor-post__title,
body .elementor-post__title a,
body .elementor-post__excerpt,
body .elementor-nav-menu a,
body .elementor-testimonial__name,
body .elementor-testimonial__title,
body input::placeholder,
body textarea::placeholder {
    font-family: "Montserrat", sans-serif !important;
    font-weight: 300 !important;
}

.about-head .logo-wrap,
.about-head .genrl-logo,
.about-head .genrl-logo a,
.about-head .topbar,
.about-head .topbar ul,
.about-head .topbar ul li {
    display: flex;
    align-items: center;
}

.about-head .topbar ul {
    gap: 24px;
}

.about-head .topbar ul li {
    gap: 8px;
}

.about-head .logo img {
    width: 50%;
    height: auto;
}

a,
.menu li a:hover,
.menu li a:hover::before,
.header-style-2 .genrl-menu li.active > a,
.header-style-2 li .sub-menu li a:hover,
.header-style-3 .hamburger-navigation li .sub-menu li a:hover,
.hc-service-wrap.style1 h3.hc-title:hover,
.service-prices a:hover,
.blog-tags a:hover,
.wiget-hover a:hover,
.widget > ul li > a:hover,
.widget .tagcloud > a:hover,
.wp-block-tag-cloud .tag-cloud-link:hover,
.genrl-sidebar nav.wp-calendar-nav a:hover,
.calendar_wrap .wp-calendar-table td a,
.barber-quote,
.client-description > i,
.breadcrumb-item a,
.profile-info > a,
.comment-inner a,
blockquote a,
p a,
table a,
dd a {
    color: var(--bioxaker-primary);
}

.theme-btn-2,
.wp-block-button__link,
.blog-tags a,
.tagcloud > a,
.page-numbers.current,
a.reply,
footer form button,
.genrl-sidebar form button,
.wp-block-search .wp-block-search__button,
.shop-1 span,
.products span.onsale,
.webinane-add-to-cart-wrap a,
.client-slider .slick-next:before,
.client-slider .slick-prev:hover:before,
.featured-main .slick-prev:before,
.featured-main .slick-next:before,
.barber-slider .slick-next:before,
.service-prices .icon-style,
a.button:hover,
.product-box a.added_to_cart:hover {
    background-color: var(--bioxaker-primary) !important;
    border-color: var(--bioxaker-primary) !important;
}

.theme-btn-2:hover,
.theme-btn-2:focus,
.wp-block-button__link:hover,
.wp-block-button__link:focus,
.blog-tags a:hover,
.tagcloud > a:hover,
.page-numbers.current:hover,
a.reply:hover,
footer form button:hover,
.genrl-sidebar form button:hover,
.wp-block-search .wp-block-search__button:hover {
    background-color: var(--bioxaker-primary-deep) !important;
    border-color: var(--bioxaker-primary-deep) !important;
}

.theme-btn-2:before,
.appointent-btn .theme-btn-2:before,
.hc-product-item .webinane-add-to-cart-wrap a.added_to_cart:before {
    background: linear-gradient(135deg, var(--bioxaker-secondary), var(--bioxaker-primary-deep));
}

.appointent-btn .theme-btn-2:hover:before,
.theme-btn-2:hover:before,
.theme-btn-2:focus:before,
.hc-product-item .webinane-add-to-cart-wrap a.added_to_cart:hover:before {
    background: linear-gradient(135deg, var(--bioxaker-secondary), var(--bioxaker-primary));
}

.main-img,
.blog-tags a,
a.comment-reply-link,
.wp-block-button__link,
.wp-block-search .wp-block-search__button:hover,
.genrl-sidebar form button,
footer form button,
.widget .tagcloud > a:hover,
.alert-info,
.wp-block-tag-cloud .tag-cloud-link,
.comment-form-comment .form-control:focus,
.error-content form button,
.form-control:focus,
.form-icon button,
.bioxaker-consultation-modal.modal .team-table .wba-step-row .wba-step-col .wba-time-slots a,
.service-prices:hover .sec-img .sec-radius img {
    border-color: var(--bioxaker-primary) !important;
}

input:focus,
textarea:focus,
select:focus,
button:focus-visible,
a:focus-visible,
.theme-btn-2:focus-visible,
.wp-block-button__link:focus-visible {
    outline: 0;
    box-shadow: 0 0 0 3px var(--bioxaker-ring);
}

.menu li.current-menu-item > a,
.menu li.current_page_item > a,
.menu li.current-menu-parent > a,
.header-style-2 .genrl-menu li.current-menu-item > a,
.header-style-3 .genrl-menu li.current-menu-item > a {
    color: var(--bioxaker-primary);
}

.menu li a::before,
.header-style-1 .genrl-menu > li > a:after {
    background-color: var(--bioxaker-secondary) !important;
}

.service-prices .icon-style,
.shop-1 span,
.products span.onsale {
    box-shadow: 0 12px 24px rgba(88, 182, 166, 0.24);
}

.featured-main .slick-prev:hover:before,
.featured-main .slick-next:hover:before,
.client-slider .slick-next:before,
.client-slider .slick-prev:hover:before,
.barber-slider .slick-next:before {
    color: #fff !important;
}

.featured-main .slick-dots li.slick-active button,
.slick-dots li.slick-active button,
.owl-dots .owl-dot.active span {
    background-color: var(--bioxaker-secondary) !important;
}

.theme-btn-2,
.wp-block-button__link,
.blog-tags a,
.tagcloud > a,
.page-numbers.current,
a.reply {
    color: #fff !important;
}

/*
 * Placeholder content suppression.
 * Testimonial slider hidden until real reviews are added (Phase 5).
 * Team section suppressed via PHP posts_results filter in functions.php.
 * Remove both once real content is in place.
 */
.client-slider {
    display: none !important;
}

/* Popup: online consultation form (CF7 in consultation modal) */
.bioxaker-consultation-modal .modal-dialog {
    display: flex;
    align-items: center;
    min-height: calc(100% - 3.5rem);
    margin: 1.75rem auto;
    max-width: 760px;
}

.bioxaker-consultation-modal .modal-body {
    overflow-y: auto;
    max-height: 82vh;
    padding: 24px;
}

.bioxaker-consultation-modal .team-table.form-popup {
    max-width: 640px;
    margin: 0 auto;
}

.bioxaker-consultation-modal .team-table.form-popup .wpcf7-form p {
    margin: 0 0 14px;
}

.bioxaker-consultation-modal .team-table.form-popup input[type="text"],
.bioxaker-consultation-modal .team-table.form-popup input[type="email"],
.bioxaker-consultation-modal .team-table.form-popup input[type="tel"],
.bioxaker-consultation-modal .team-table.form-popup input[type="number"],
.bioxaker-consultation-modal .team-table.form-popup textarea {
    width: 100%;
    height: 52px;
    padding: 12px 14px;
    border: 1px solid #d8d8d8;
    box-shadow: none;
    background: #fff;
    font-size: 16px;
    line-height: 1.3;
}

.bioxaker-consultation-modal .team-table.form-popup textarea {
    min-height: 120px;
    height: 120px;
    resize: vertical;
}

.bioxaker-consultation-modal .team-table.form-popup input[type="number"]::-webkit-outer-spin-button,
.bioxaker-consultation-modal .team-table.form-popup input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.bioxaker-consultation-modal .team-table.form-popup input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
}

.bioxaker-consultation-modal .team-table.form-popup input.wpcf7-submit {
    width: auto;
    min-width: 220px;
    height: 48px;
    padding: 0 28px;
    border: 1px solid var(--bioxaker-primary);
    background: var(--bioxaker-primary);
    color: #fff;
    letter-spacing: 0.02em;
    text-transform: none;
}

.bioxaker-consultation-modal .team-table.form-popup input.wpcf7-submit:hover,
.bioxaker-consultation-modal .team-table.form-popup input.wpcf7-submit:focus {
    border-color: var(--bioxaker-primary-deep);
    background: var(--bioxaker-primary-deep);
}

.bioxaker-consultation-modal .team-table.form-popup .wpcf7-spinner {
    display: inline-block;
}

@media (max-width: 767px) {
    .bioxaker-consultation-modal .modal-dialog {
        position: relative;
        width: calc(100% - 24px) !important;
        min-height: calc(100% - 24px);
        max-width: calc(100% - 24px);
        margin: 12px auto;
    }

    .bioxaker-consultation-modal .modal-content {
        border-radius: 14px;
        border: none;
        max-height: 90vh;
        overflow: hidden;
        display: flex;
        flex-direction: column;
    }

    .bioxaker-consultation-modal .modal-header {
        padding: 14px 16px;
        flex-shrink: 0;
    }

    /* Scrollable body, safe area for notched phones */
    .bioxaker-consultation-modal .modal-body {
        padding: 0 16px;
        padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        max-height: none;
        flex: 1 1 auto;
    }

    /* 44px minimum tap target for close button */
    .bioxaker-consultation-modal .btn-close {
        padding: 10px;
        width: 44px;
        height: 44px;
    }

    .bioxaker-consultation-modal .team-table.form-popup input.wpcf7-submit {
        width: 100%;
        min-width: 0;
        height: 52px;
    }

    /* Sticky bar sits at z-index 9999 — hide it when modal is open
       to prevent it from floating above the modal overlay */
    body.modal-open .bioxaker-sticky-bar {
        display: none;
    }
}

/* ============================================================
   Mobile hamburger: CSS-drawn icon
   The eicons font uses private-use Unicode glyphs that render
   as ◆ on iOS Safari when the font file fails to load.
   We suppress the glyph and draw 3 bars with CSS instead.
   Works on all browsers; no JS, no font dependency.
   ============================================================ */

/* Middle bar = the <i> element itself */
.webinane-el-menu-toggle i {
    font-size: 0;
    display: block;
    position: relative;
    width: 22px;
    height: 2px;
    background: currentColor;
    border-radius: 2px;
    margin: 7px 0;
    transition: background 0.2s ease;
}

/* Top bar (::before) and bottom bar (::after) */
.webinane-el-menu-toggle i::before,
.webinane-el-menu-toggle i::after {
    content: '';
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background: currentColor;
    border-radius: 2px;
    transition: transform 0.25s ease;
}

.webinane-el-menu-toggle i::before { top: -7px; }
.webinane-el-menu-toggle i::after  { top:  7px; }

/* Active (menu open) → X: hide middle bar, cross top + bottom */
.webinane-el-menu-toggle.webinane-el-active i {
    background: transparent;
}

.webinane-el-menu-toggle.webinane-el-active i::before {
    content: '';
    transform: translateY(7px) rotate(45deg);
}

.webinane-el-menu-toggle.webinane-el-active i::after {
    content: '';
    transform: translateY(-7px) rotate(-45deg);
}

/* ============================================================
   Mobile adaptations
   ============================================================ */

/* Sticky bottom CTA bar — hidden on desktop, shown on mobile */
.bioxaker-sticky-bar {
    display: none;
}

@media (max-width: 767px) {
    /* Compensate for sticky bar height so it doesn't overlap footer */
    body {
        padding-bottom: 56px !important;
    }

    /* Sticky bar container */
    .bioxaker-sticky-bar {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        height: 56px;
        z-index: 9999;
        background: #fff;
        box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.10);
    }

    .bioxaker-sticky-bar__btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        width: 50%;
        font-size: 15px;
        font-weight: 400;
        letter-spacing: 0.01em;
        text-decoration: none !important;
        transition: background 0.18s, color 0.18s;
        -webkit-tap-highlight-color: transparent;
    }

    .bioxaker-sticky-bar__call {
        background: #fff;
        color: var(--bioxaker-primary) !important;
        border-right: 1px solid rgba(88, 182, 166, 0.25);
    }

    .bioxaker-sticky-bar__call:hover,
    .bioxaker-sticky-bar__call:active {
        background: var(--bioxaker-primary-soft);
        color: var(--bioxaker-primary-deep) !important;
    }

    .bioxaker-sticky-bar__book-wrap {
        display: flex;
        width: 50%;
    }

    .bioxaker-sticky-bar__book {
        width: 100%;
        background: var(--bioxaker-primary);
        color: #fff !important;
    }

    .bioxaker-sticky-bar__book:hover,
    .bioxaker-sticky-bar__book:active {
        background: var(--bioxaker-primary-deep);
        color: #fff !important;
    }

    /* Hide Medicalist demo circle-images used as hero CTAs.
       These are placeholder JPGs without links — to be replaced
       in Elementor with real buttons when content is ready. */
    .elementor-element-4f8228a {
        display: none !important;
    }
}
