/* =========================================================
   V-HEAL GLOBAL BUTTON SYSTEM
   Orange pill + white icon circle + hover animation
   Reference: Our Approach "Contact Us" button
========================================================= */

:root {
    --vh-btn-bg: #fe6d02;
    --vh-btn-bg-hover: #e55f00;
    --vh-btn-text: #ffffff;
    --vh-btn-icon-bg: #ffffff;
    --vh-btn-icon: #fe6d02;
    --vh-btn-radius: 999px;
    --vh-btn-gap: 12px;
    --vh-btn-pad-y: 8px;
    --vh-btn-pad-x: 10px;
    --vh-btn-pad-l: 22px;
    --vh-btn-icon-size: 36px;
    --vh-btn-font: 14px;
}

/* Shared core */
.btn-default,
.btn-header,
.approach-btn,
.vh-cta-button,
.vh-sidebar-btn,
.service-contact-btn,
.vh-experience-buttons .approach-btn {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    justify-content: space-between;
    gap: var(--vh-btn-gap);
    box-sizing: border-box;
    min-height: 52px;
    padding: var(--vh-btn-pad-y) var(--vh-btn-pad-x) var(--vh-btn-pad-y) var(--vh-btn-pad-l) !important;
    border: none !important;
    border-radius: var(--vh-btn-radius) !important;
    background: var(--vh-btn-bg) !important;
    color: var(--vh-btn-text) !important;
    font-family: var(--accent-font, "Sora", sans-serif) !important;
    font-size: var(--vh-btn-font) !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    text-transform: none !important;
    text-decoration: none !important;
    box-shadow: 0 10px 24px rgba(254, 109, 2, 0.22);
    overflow: visible !important;
    cursor: pointer;
    transition:
        background 0.35s ease,
        color 0.35s ease,
        transform 0.35s ease,
        box-shadow 0.35s ease !important;
    z-index: 1;
}

.btn-default:hover,
.btn-default:focus,
.btn-header:hover,
.btn-header:focus,
.approach-btn:hover,
.approach-btn:focus,
.vh-cta-button:hover,
.vh-cta-button:focus,
.vh-sidebar-btn:hover,
.vh-sidebar-btn:focus,
.service-contact-btn:hover,
.service-contact-btn:focus,
.vh-experience-buttons .approach-btn:hover {
    background: var(--vh-btn-bg-hover) !important;
    color: var(--vh-btn-text) !important;
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(254, 109, 2, 0.3);
}

.btn-default:active,
.btn-header:active,
.approach-btn:active,
.vh-cta-button:active,
.vh-sidebar-btn:active,
.service-contact-btn:active {
    transform: translateY(0);
}

/* Kill legacy fill / arrow pseudo animations on btn-default */
.btn-default::before,
.btn-default.btn-highlighted::before {
    display: none !important;
    content: none !important;
}

.btn-default.btn-highlighted {
    color: var(--vh-btn-text) !important;
    background: var(--vh-btn-bg) !important;
}

.btn-default::after,
.vh-sidebar-btn::after,
.btn-default.btn-highlighted::after {
    content: "" !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 var(--vh-btn-icon-size);
    width: var(--vh-btn-icon-size) !important;
    height: var(--vh-btn-icon-size) !important;
    margin: 0 !important;
    border-radius: 50% !important;
    background-color: var(--vh-btn-icon-bg) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23fe6d02'%3E%3Cpath d='M352 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9L370.7 96 201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L416 141.3l41.4 41.4c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V32c0-17.7-14.3-32-32-32H352zM80 32C35.8 32 0 67.8 0 112V432c0 44.2 35.8 80 80 80H400c44.2 0 80-35.8 80-80V320c0-17.7-14.3-32-32-32s-32 14.3-32 32V432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 13px 13px !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 1 !important;
    filter: none !important;
    transform: none !important;
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    inset: auto !important;
    transition: transform 0.35s ease, background-color 0.35s ease !important;
    z-index: 2;
}

.btn-default:hover::after,
.btn-default.btn-highlighted:hover::after,
.vh-sidebar-btn:hover::after {
    transform: rotate(45deg) !important;
    background-color: var(--vh-btn-icon-bg) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23fe6d02'%3E%3Cpath d='M352 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9L370.7 96 201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L416 141.3l41.4 41.4c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V32c0-17.7-14.3-32-32-32H352zM80 32C35.8 32 0 67.8 0 112V432c0 44.2 35.8 80 80 80H400c44.2 0 80-35.8 80-80V320c0-17.7-14.3-32-32-32s-32 14.3-32 32V432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z'/%3E%3C/svg%3E") !important;
    width: var(--vh-btn-icon-size) !important;
    height: var(--vh-btn-icon-size) !important;
}

/* Inner icon elements (approach / header / cta / contact) */
.approach-btn i,
.btn-header .btn-header-icon,
.vh-cta-button .vh-cta-icon,
.service-contact-btn i,
.vh-experience-buttons .approach-btn i {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 var(--vh-btn-icon-size);
    width: var(--vh-btn-icon-size) !important;
    height: var(--vh-btn-icon-size) !important;
    border-radius: 50% !important;
    background: var(--vh-btn-icon-bg) !important;
    color: var(--vh-btn-icon) !important;
    font-size: 13px !important;
    line-height: 1 !important;
    box-shadow: none !important;
    transition: transform 0.35s ease, background 0.35s ease, color 0.35s ease !important;
}

.approach-btn:hover i,
.btn-header:hover .btn-header-icon,
.vh-cta-button:hover .vh-cta-icon,
.service-contact-btn:hover i,
.vh-experience-buttons .approach-btn:hover i {
    transform: rotate(45deg) !important;
    background: var(--vh-btn-icon-bg) !important;
    color: var(--vh-btn-icon) !important;
}

.approach-btn span,
.btn-header > span:not(.btn-header-icon),
.vh-cta-button span:not(.vh-cta-icon),
.service-contact-btn span {
    position: relative;
    z-index: 2;
    color: inherit !important;
}

/* Header: keep orange even on Ownly / sticky overrides */
header.main-header .header-btn .btn-header,
header.main-header.ownly-header .header-btn .btn-header,
header.main-header.ownly-header .header-sticky.active .header-btn .btn-header,
body.ownly-layout .header-btn .btn-header {
    background: var(--vh-btn-bg) !important;
    color: #fff !important;
    border: none !important;
    box-shadow: 0 10px 24px rgba(254, 109, 2, 0.22) !important;
    padding: var(--vh-btn-pad-y) var(--vh-btn-pad-x) var(--vh-btn-pad-y) var(--vh-btn-pad-l) !important;
}

header.main-header .header-btn .btn-header:hover,
header.main-header.ownly-header .header-btn .btn-header:hover,
body.ownly-layout .header-btn .btn-header:hover {
    background: var(--vh-btn-bg-hover) !important;
    color: #fff !important;
}

header.main-header .header-btn .btn-header-icon,
header.main-header.ownly-header .header-btn .btn-header-icon {
    background: #fff !important;
    color: var(--vh-btn-icon) !important;
}

header.main-header .header-btn .btn-header:hover .btn-header-icon,
header.main-header.ownly-header .header-btn .btn-header:hover .btn-header-icon {
    background: #fff !important;
    color: var(--vh-btn-icon) !important;
    transform: rotate(45deg) !important;
}

/* Hero / Ownly overrides that forced light or blue buttons */
.ownly-hero .hero-ownly-bar .btn-default.btn-highlighted,
body.ownly-layout .hero-ownly-bar .btn-default.btn-highlighted,
.hero .btn-default,
.hero .btn-default.btn-highlighted {
    background-color: var(--vh-btn-bg) !important;
    background-image: none !important;
    color: #fff !important;
    justify-content: space-between !important;
    padding: var(--vh-btn-pad-y) var(--vh-btn-pad-x) var(--vh-btn-pad-y) var(--vh-btn-pad-l) !important;
    min-height: 52px !important;
}

.ownly-hero .hero-ownly-bar .btn-default.btn-highlighted:hover,
body.ownly-layout .hero-ownly-bar .btn-default.btn-highlighted:hover,
.hero .btn-default:hover,
.hero .btn-default.btn-highlighted:hover {
    background-color: var(--vh-btn-bg-hover) !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 30px rgba(254, 109, 2, 0.3) !important;
}

.ownly-hero .hero-ownly-bar .btn-default.btn-highlighted::after,
body.ownly-layout .hero-ownly-bar .btn-default.btn-highlighted::after,
.hero .btn-default::after,
.hero .btn-default.btn-highlighted::after {
    background-color: var(--vh-btn-icon-bg) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23fe6d02'%3E%3Cpath d='M352 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9L370.7 96 201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L416 141.3l41.4 41.4c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V32c0-17.7-14.3-32-32-32H352zM80 32C35.8 32 0 67.8 0 112V432c0 44.2 35.8 80 80 80H400c44.2 0 80-35.8 80-80V320c0-17.7-14.3-32-32-32s-32 14.3-32 32V432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 13px 13px !important;
    width: var(--vh-btn-icon-size) !important;
    height: var(--vh-btn-icon-size) !important;
    border-radius: 50% !important;
    position: static !important;
    inset: auto !important;
}

/* Service page contact CTA button */
.service-contact-btn,
.vh-service-page .service-contact-btn {
    background: var(--vh-btn-bg) !important;
    color: #fff !important;
    font-size: 13px !important;
    min-height: 48px;
    padding: 6px 8px 6px 18px !important;
}

.service-contact-btn i,
.vh-service-page .service-contact-btn i {
    background: #fff !important;
    color: var(--vh-btn-icon) !important;
}

/* Sidebar book buttons */
.vh-service-page .vh-sidebar-btn {
    width: 100%;
    justify-content: space-between;
    margin-top: 12px;
    border-radius: var(--vh-btn-radius) !important;
    background: var(--vh-btn-bg) !important;
    border: none !important;
    padding: 8px 8px 8px 18px !important;
}

.vh-service-page .vh-sidebar-btn:hover {
    background: var(--vh-btn-bg-hover) !important;
}

/* Experience / CTA sections */
.vh-cta-button {
    padding: 6px 10px 6px 18px !important;
    gap: 12px !important;
}

.vh-cta-button .vh-cta-icon {
    background: #fff !important;
    color: var(--vh-btn-icon) !important;
}

.vh-experience-buttons .approach-btn {
    min-width: 220px;
}

.approach-btn:hover,
.vh-experience-buttons .approach-btn:hover {
    background: var(--vh-btn-bg-hover) !important;
    color: #fff !important;
}

/* Contact / form submit */
.contact-us-form .btn-default,
.appointment-form .btn-default,
button.btn-default {
    width: auto;
}

/* Mobile */
@media (max-width: 991px) {
    :root {
        --vh-btn-font: 13px;
        --vh-btn-icon-size: 34px;
        --vh-btn-pad-l: 18px;
    }

    .btn-default,
    .approach-btn,
    .vh-cta-button,
    .service-contact-btn {
        min-height: 48px;
    }

    .header-btn .btn-header {
        padding: 7px 8px 7px 16px !important;
        font-size: 12px !important;
        min-height: 44px;
    }

    .header-btn .btn-header-icon {
        width: 32px !important;
        height: 32px !important;
        flex-basis: 32px;
    }
}

@media (max-width: 767px) {
    .section-btn .btn-default,
    .section-content-btn .btn-default,
    .about-us-content .btn-default,
    .approach-intro .approach-btn,
    .vh-experience-buttons .approach-btn,
    .vh-cta-content .vh-cta-button {
        width: 100%;
        max-width: 320px;
        justify-content: space-between;
    }

    .hero .btn-default,
    .hero-ownly-bar .btn-default {
        width: auto;
        max-width: 100%;
    }

    .vh-service-page .service-contact-btn {
        width: 100%;
        justify-content: space-between;
    }
}

@media (max-width: 575px) {
    .header-btn .btn-header span:not(.btn-header-icon) {
        max-width: 110px;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

/* Kill legacy hero button arrow/filter that blanks the icon circle */
.ownly-hero .hero-ownly-bar .btn-default.btn-highlighted::before,
.hero .btn-default.btn-highlighted::before,
.btn-default.btn-highlighted::before {
    display: none !important;
    content: none !important;
    filter: none !important;
}

/* Stronger hover polish — all CTA family */
.btn-default:hover::after,
.btn-default.btn-highlighted:hover::after,
.vh-sidebar-btn:hover::after,
.ownly-hero .hero-ownly-bar .btn-default.btn-highlighted:hover::after {
    transform: rotate(45deg) !important;
}

.approach-btn:hover,
.vh-cta-button:hover,
.btn-header:hover,
.btn-default:hover,
.btn-default.btn-highlighted:hover {
    color: #fff !important;
}

/* =========================================================
   ABOUT badge + YOUR HEALTH PRIORITY — mobile alignment
========================================================= */
@media (max-width: 991px) {
    .about-us-image-box {
        overflow: visible;
    }

    .about-us-review-counter-box {
        top: 16px !important;
        left: 12px !important;
        right: auto !important;
        max-width: 160px !important;
        padding: 16px 12px !important;
        border-width: 4px !important;
        animation: none !important;
        transform: none !important;
    }

    .tiq-fun-facts .tiq-fun-header {
        margin-bottom: 28px;
        text-align: left;
    }

    .tiq-fun-facts .tiq-fun-header .section-title {
        margin-bottom: 16px !important;
    }

    .tiq-fun-facts .tiq-fun-header .section-content-btn {
        margin-top: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .tiq-fun-facts .section-title-content p {
        font-size: 15px !important;
        line-height: 1.65 !important;
    }

    .tiq-fun-facts .section-btn .btn-default {
        width: auto;
        max-width: 100%;
    }
}

@media (max-width: 767px) {
    /* about image collage handled in vh-mobile-fix.css — do not force 100% stack here */

    .our-fun-facts.tiq-fun-facts {
        padding: 64px 0 56px !important;
    }

    .tiq-fun-facts .tiq-fun-header {
        margin-bottom: 22px;
    }

    .tiq-fun-facts .tiq-fun-header .col-xl-6 {
        width: 100%;
    }

    .tiq-fun-facts .section-title h2 {
        max-width: 100% !important;
    }

    .tiq-fun-facts .section-content-btn {
        width: 100%;
        align-items: stretch !important;
    }

    .tiq-fun-facts .section-btn .btn-default {
        width: 100%;
        max-width: 320px;
        justify-content: space-between;
    }

    .tiq-fun-visual {
        margin: 0 0 18px !important;
        min-height: 260px !important;
        border-radius: 18px !important;
    }

    .tiq-fun-visual figure,
    .tiq-fun-visual figure img {
        min-height: 260px !important;
        border-radius: 18px !important;
    }

    .tiq-fun-metrics.fun-fact-item-list {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }
}
