:root{
    --primary-color:#4e71b6;
    --body-color:#383838;
    --color-grey:#686868;
    --color-red:#f13149;
    --color-green:#4ab52b;
    --white:#ffffff;
    --border-color-1:#dadada;
    --background-color-1:#f7f7f7;
    --background-color-2:#f4f4f4;
    --background-color-3:#eeeeee;
    --background-color-4:#ecf4fd;
    --input-border-color-1:#dce3f0;
    --rating-color:#f9ae0e;
}
input::placeholder{opacity:1;color:inherit;}
body{font-family:'Poppins', system-ui, -apple-system, BlinkMacSystemFont,'Segoe UI', sans-serif;color:var(--body-color);}
h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6,p,li{color:var(--body-color);}
.highlight-color{color:var(--primary-color);}
.grey{color:var(--color-grey);}
.red{color:var(--color-red);}
.green{color:var(--color-green);}
h6,.h6{font-size:1.15em;}
.fw-600{font-weight:600;}
img{max-width:100%;}
.container-fluid{max-width:100%;width:100%;padding:0 12px;}
.text-link{text-decoration:none;border-bottom:1px solid;}
.text-none{text-transform:none !important;}
li i.fa-li.fa-circle{font-size: 0.65em;color:var(--primary-color);top:4px;}
.bg1{background-color:var(--background-color-1);}
.bg2{background-color:var(--background-color-2);}
.bg3{background-color:var(--background-color-3);}
.bg4{background-color:var(--background-color-4);}
.bg-grey{background-color:var(--background-color-2);}
.section-desc{max-width:450px;margin:0 auto;}

/* Utility classes */
.icon-sm{font-size:0.75rem;}
.icon-xs{font-size:0.65rem;}
.fs-085{font-size:0.85rem;}
.fs-088{font-size:0.88rem;}
.table-header-primary{background-color:var(--primary-color) !important;color:#fff;}
.table-cell-highlight{background-color:var(--background-color-4) !important;}
.border-grey{border-color:#cccccc !important;}

.announcement-bar{background-color:var(--primary-color);}
.announcement-bar .offer{font-size:14px;color: var(--white);}
.btn-primary, .btn-primary:hover, .btn-primary:active{background:var(--primary-color) !important;color:var(--white) !important;border-color:var(--primary-color);}
.btn-secondary, .btn-secondary:hover, .btn-secondary:active{background:var(--body-color) !important;color:var(--white) !important;border-color:var(--body-color);}
.btn-white, .btn-white:hover, .btn-white:active{background:var(--white) !important;color:var(--primary-color) !important;border-color:var(--white);}
.btn-border{border:1px solid var(--primary-color);}
.btn-border:hover{border:1px solid var(--primary-color);color:var(--white) !important;background-color:var(--primary-color) !important;}
/* === HEADER === */
.site-header{position:relative;width:100%;z-index:1000;transition:transform 0.4s cubic-bezier(0.16,1,0.3,1),background-color 0.4s ease,box-shadow 0.3s ease;}
.site-header.header--hidden{transform:translateY(-100%);}

/* Scrolled state: becomes fixed sticky header (both home & inner pages) */
.site-header.header--scrolled,.home .site-header.header--scrolled{position:fixed;top:0;left:0;background:var(--white);box-shadow:0 2px 20px rgba(0,0,0,0.08);}

/* Home page: transparent header overlaying hero via negative margin on slider */
.home .site-header{background:transparent;}
.home .menu-link{color:var(--white);}
.home .menu-link:hover{color:var(--primary-color);}
.home .menu-arrow,.home .menu-arrow-right{color:var(--white);}
.home .hamburger-line{background:var(--white);}
.home .header-search-input{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.2);color:var(--white);}
.home .header-search-input::placeholder{color:rgba(255,255,255,0.5);}
.home .header-search-btn{color:rgba(255,255,255,0.7);}
.home .home-slider{margin-top:calc(var(--header-height, 0px) * -1);}
.home .homecarousel .slide-content{padding-top:calc(var(--header-height, 100px) + 30px);}

/* Home page: scrolled (sticky) — white bg, dark text */
.home .site-header.header--scrolled .menu-link{color:var(--body-color);}
.home .site-header.header--scrolled .menu-link:hover{color:var(--primary-color);}
.home .site-header.header--scrolled .menu-arrow,.home .site-header.header--scrolled .menu-arrow-right{color:var(--body-color);}
.home .site-header.header--scrolled .hamburger-line{background:var(--body-color);}
.home .site-header.header--scrolled .header-search-input{background:rgba(0,0,0,0.05);border-color:rgba(0,0,0,0.1);color:var(--body-color);}
.home .site-header.header--scrolled .header-search-input::placeholder{color:var(--text-muted);}
.home .site-header.header--scrolled .header-search-btn{color:var(--body-color);}
.home .site-header.header--scrolled .header-logo-white{display:none;}
.home .site-header.header--scrolled .header-logo-color{display:block;}

/* Non-home pages: white bg, dark text always */
body:not(.home) .site-header{background:var(--white);box-shadow:0 2px 20px rgba(0,0,0,0.08);}
body:not(.home) .menu-link{color:var(--body-color);}
body:not(.home) .menu-link:hover{color:var(--primary-color);}
body:not(.home) .header-search-input{background:transparent;border-color:rgba(0,0,0,0.1);color:var(--body-color);}
body:not(.home) .header-search-btn{color:var(--white);}
body:not(.home) .hamburger-line{background:var(--body-color);}

/* === Search === */
.header-search{position:relative;width:220px;}
.header-search-form{display:flex;align-items:center;position:relative;}
.header-search-input{width:100%;padding:0.4rem 2.2rem 0.4rem 0.9rem;background:rgba(255,255,255,0.06);border:1px solid var(--color-grey);border-radius:50px;font-family:'Space Grotesk',sans-serif;font-size:0.8rem;color:var(--text-primary);outline:none;transition:border-color 0.3s,background 0.3s;}
.header-search-input::placeholder{color:var(--text-muted);}
.header-search-input:focus{border-color:var(--primary-color);background:rgba(255,255,255,0.1);}
.header-search-btn{position:absolute;right:8px;top:42%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:0;display:flex;}

/* === Nav Bar === */
.header-nav{position:relative;z-index:2;}
header:not(.header--scrolled) .header-nav{padding-top:10px;}
.header-nav-inner{display:flex;align-items:center;justify-content:space-between;position:relative;}
.header-right{display:flex;flex-direction:column;align-items:flex-end;}
.header-search-row{display:flex;justify-content:flex-end;max-height:50px;opacity:1;overflow:hidden;transition:max-height 0.35s ease,opacity 0.3s ease,padding 0.35s ease;}
.site-header.header--scrolled .header-search-row{max-height:0;opacity:0;padding:0;overflow:hidden;}

/* === Logo === */
.header-logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0;}
.header-logo-img{height:40px;width:auto;display:block;}
.header-logo-white{display:block;}
.header-logo-color{display:none;}
body:not(.home) .header-logo-white{display:none;}
body:not(.home) .header-logo-color{display:block;}

/* === Desktop Menu === */
.header-menu-list{display:flex;align-items:stretch;list-style:none;margin:0;padding:0;gap:0;}
.menu-item{position:relative;}
.menu-item.has-megamenu:not(.has-megamenu-flex){position:static;}
.menu-link{display:inline-flex;align-items:center;gap:4px;padding:20px 10px;font-weight:500;text-decoration:none;transition:color 0.3s;white-space:nowrap;line-height:1;height:100%;}
.header--scrolled .menu-link{padding:30px 10px;}
.menu-link:hover{color:var(--text-primary);}
.menu-arrow,.menu-arrow-right{transition:transform 0.3s;}
.menu-item:hover > .menu-link .menu-arrow{transform:rotate(180deg);}

/* === CTA Link in Menu === */
.menu-link-cta{background:var(--primary-color);color:var(--white) !important;border-radius:10px;padding:0.55rem 1.4rem !important;margin:10px 0;transition:box-shadow 0.3s,transform 0.3s;height:auto;align-self:center;}
.header--scrolled .menu-link-cta{margin:20px 0;}

/* === Megamenu (base) === */
.megamenu{position:absolute;top:100%;left:50%;transform:translateX(-50%);background:var(--white);border:1px solid var(--color-grey);padding:2rem;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 0.3s,visibility 0.3s;box-shadow:0 20px 60px rgba(0,0,0,0.3);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:1;}
.megamenu::before{content:'';position:absolute;bottom:100%;left:0;right:0;height:15px;}
.menu-item.has-megamenu:hover > .megamenu{opacity:1;visibility:visible;pointer-events:auto;}
.megamenu-heading{text-transform:uppercase;color:var(--primary-color);margin-bottom:0.75rem;}
.megamenu-list{list-style:none;padding:0;margin:0;}
.megamenu-list li{margin-bottom:0.5rem;}
.megamenu-list a{color:var(--text-muted);text-decoration:none;transition:color 0.2s,padding-left 0.2s;display:block;padding:0.2rem 0;}
.megamenu-list a:hover{color:var(--primary-color);padding-left:6px;}

/* Megamenu & dropdown: scrolled/non-home light theme */
.home .site-header.header--scrolled .megamenu,body:not(.home) .megamenu{background:var(--white);border-color:rgba(0,0,0,0.08);box-shadow:0 20px 60px rgba(0,0,0,0.1);}
.home .site-header.header--scrolled .megamenu-heading,body:not(.home) .megamenu-heading{color:var(--body-color);}
.home .site-header.header--scrolled .megamenu-list a,body:not(.home) .megamenu-list a{color:#555;}
.home .site-header.header--scrolled .megamenu-list a:hover,body:not(.home) .megamenu-list a:hover{color:#0077cc;}

/* === Dropdown === */
.dropdown-menu-custom{position:absolute;top:100%;left:0;min-width:200px;background:var(--white);border:1px solid var(--color-grey);border-bottom-left-radius:15px;border-bottom-right-radius:15px;padding:0.5rem 0;list-style:none;margin:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 0.3s,visibility 0.3s;box-shadow:0 15px 40px rgba(0,0,0,0.25);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:1;}
.menu-item > .dropdown-menu-custom::before{content:'';position:absolute;bottom:100%;left:0;right:0;height:15px;}
.dropdown-menu-custom .sub-dropdown::before{display:none;}
.menu-item.has-children:hover > .dropdown-menu-custom{opacity:1;visibility:visible;pointer-events:auto;}
.dropdown-menu-custom li{position:relative;}
.dropdown-menu-custom a{display:flex;align-items:center;justify-content:space-between;padding:0.55rem 1.2rem;font-size:0.88rem;color:var(--text-muted);text-decoration:none;transition:background 0.2s,color 0.2s;}
.dropdown-menu-custom a:hover{background:rgba(0,240,255,0.05);color:var(--primary-color);}
.home .site-header.header--scrolled .dropdown-menu-custom,body:not(.home) .dropdown-menu-custom{background:var(--white);border-color:rgba(0,0,0,0.08);box-shadow:0 15px 40px rgba(0,0,0,0.1);}
.home .site-header.header--scrolled .dropdown-menu-custom a,body:not(.home) .dropdown-menu-custom a{color:#555;}
.home .site-header.header--scrolled .dropdown-menu-custom a:hover,body:not(.home) .dropdown-menu-custom a:hover{background:rgba(0,0,0,0.03);color:#0077cc;}

/* Sub-dropdown (nested) */
.dropdown-menu-custom .sub-dropdown{top:0;left:100%;right:auto;transform:none;padding-left:6px;padding-right:0;}
.dropdown-menu-custom .sub-dropdown.flip-left{left:auto;right:100%;padding-left:0;padding-right:6px;}
.dropdown-menu-custom li.has-children{position:relative;}
.dropdown-menu-custom li.has-children::after{content:'';position:absolute;top:0;bottom:0;width:20px;right:-20px;}
.dropdown-menu-custom li.has-children:has(> .sub-dropdown.flip-left)::after{right:auto;left:-20px;}
.dropdown-menu-custom li.has-children:hover > .sub-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:none;}
.dropdown-menu-custom.dropdown-align-right{left:auto;right:0;}

/* === Full-width megamenu (contained within .container) === */
.menu-item.has-megamenu:not(.has-megamenu-flex) .megamenu{position:absolute;top:100%;left:0;right:0;width:auto;transform:none;border-radius:0 0 1rem 1rem;}

/* === Flexible-width megamenu (auto-sized, <4 columns) === */
.menu-item.has-megamenu-flex .megamenu{left:50%;right:auto;width:auto;min-width:0;transform:translateX(-50%);}
.menu-item.has-megamenu-flex .megamenu .megamenu-grid{display:grid;gap:2rem;}
.menu-item.has-megamenu-flex .megamenu .megamenu-grid[data-cols="1"]{grid-template-columns:1fr;min-width:200px;}
.menu-item.has-megamenu-flex .megamenu .megamenu-grid[data-cols="2"]{grid-template-columns:repeat(2,minmax(180px,auto));}
.menu-item.has-megamenu-flex .megamenu .megamenu-grid[data-cols="3"]{grid-template-columns:repeat(3,minmax(170px,auto));}
.menu-item.has-megamenu-flex:hover > .megamenu{transform:translateX(-50%);}

/* === Hamburger === */
.hamburger{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:0;gap:6px;position:relative;z-index:1001;}
.hamburger-line{display:block;height:2px;background:var(--text-primary);border-radius:2px;transition:transform 0.4s cubic-bezier(0.23,1,0.32,1),opacity 0.3s ease,background 0.3s,width 0.3s ease;transform-origin:center;}
.hamburger-line--1{width:18px;}
.hamburger-line--2{width:24px;}
.hamburger-line--3{width:12px;}
.hamburger.active .hamburger-line--1{width:24px;transform:translateY(8px) rotate(45deg);}
.hamburger.active .hamburger-line--2{opacity:0;transform:scaleX(0);}
.hamburger.active .hamburger-line--3{width:24px;transform:translateY(-8px) rotate(-45deg);}

/* === Mobile Menu === */
.mobile-menu{position:fixed;top:0;right:-100%;width:100%;max-width:400px;height:100vh;height:100dvh;background:var(--white);z-index:1000;overflow:hidden;transition:right 0.4s cubic-bezier(0.23,1,0.32,1);}
.mobile-menu.open{right:0;}
.mobile-menu-inner{position:relative;width:100%;height:100%;}
.mobile-panel{position:absolute;top:0;left:0;width:100%;height:100%;padding:1.5rem;overflow-y:auto;transform:translateX(100%);transition:transform 0.4s cubic-bezier(0.23,1,0.32,1);}
.mobile-panel.active{transform:translateX(0);}
.mobile-panel.slide-out-left{transform:translateX(-100%);}
.mobile-menu .header-search-btn{color:var(--body-color);}
.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(0,0,0,0.08);}
.mobile-menu-header img{max-height:36px;width:auto;}
.mobile-menu-close{background:none;border:none;color:#999;cursor:pointer;padding:4px;display:flex;flex-shrink:0;transition:color 0.2s;}
.mobile-menu-close:hover{color:var(--body-color);}
.mobile-panel-nav{display:flex;align-items:center;gap:1rem;margin-bottom:1.2rem;}
.mobile-back-btn{display:inline-flex;align-items:center;gap:0.3rem;background:none;border:none;color:var(--text-muted);font-family:'Space Grotesk',sans-serif;font-size:0.85rem;font-weight:500;cursor:pointer;padding:0;transition:color 0.2s;}
.mobile-back-btn:hover{color:var(--body-color);}
.mobile-panel-title{font-size:1rem;font-weight:600;color:var(--body-color);margin:0;line-height:1.2;}
.mobile-search{margin-bottom:1.5rem;}
.mobile-search .header-search-input{width:100%;background:rgba(0,0,0,0.05);border-color:rgba(0,0,0,0.1);color:var(--body-color);}
.mobile-search .header-search-input::placeholder{color:#999;}
.mobile-nav-list{list-style:none;padding:0;margin:0;}
.mobile-nav-list li{border-bottom:1px solid rgba(0,0,0,0.06);}
.mobile-nav-list li:has(.mobile-cta){border:none;}
.mobile-nav-list a{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;font-size:1rem;font-weight:500;color:var(--body-color);text-decoration:none;transition:color 0.2s;}
.mobile-nav-list a:hover{color:var(--primary-color);}
.mobile-nav-arrow{color:#999;flex-shrink:0;}
.mobile-cta{background:var(--primary-color);color:var(--white) !important;border-radius:50px;justify-content:center !important;padding:0.9rem 1.5rem !important;margin-top:1rem;font-weight:600;}
.mobile-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:999;opacity:0;visibility:hidden;transition:opacity 0.3s,visibility 0.3s;}
.mobile-backdrop.active{opacity:1;visibility:visible;}

.homecarousel, .homecarousel .swiper-slide{position:relative;display:flex;align-items:center;overflow:hidden;min-height:75vh;}
.homecarousel .swiper-slide img.bg-image, .homecarousel .swiper-slide picture.bg-image{position:absolute;top:0;left:0;width:100%;height:100%;min-height:75vh;object-fit:cover;z-index:1;}
.homecarousel .swiper-slide picture.bg-image img{width:100%;height:100%;object-fit:cover;}
.homecarousel .slide-content{position:relative;z-index:2;width:100%;padding-bottom:70px;}

.swiper-pagination{display:flex;gap:2px;margin:0 auto;justify-content:center;}
.swiper-pagination-bullet{width:10px;height:10px;background:var(--white);border-radius:999px;opacity:0.6;position:relative;}
.swiper-pagination-bullet::after{content:'';position:absolute;inset:0;border-radius:inherit;}
.swiper-pagination-bullet-active{width:32px;opacity:1;transition:width 0.4s ease;}

.search-location{background-color:var(--primary-color);}
.find-location{display:flex;gap:10px;flex-direction:row;}
.find-location input[type="text"]{border:1px solid var(--input-border-color-1);border-radius:5px;background:transparent;color:var(--white) !important;padding:5px 20px;}
.find-location input[type="button"]{border-radius:5px;}
.find-location input::placeholder{opacity:1;color:inherit;}

.amiv-therapies{background-color:var(--background-color-2);}
.amiv-therapies .find--location{display:flex;gap:10px;flex-direction:row;}

.therapies .swiper-wrapper, .therapies .swiper-slide{height:auto;}
.therapies-box{border-radius:20px;background:var(--white);height:100%;display:flex;flex-direction:column;}
.therapies-box img{width:100%;}
.therapies-box .box-content{padding:20px 25px;}
.therapies-box .box-content{display:flex;flex-direction:column;height:100%;}
.therapies-box .box-content .description,.therapies-box .box-content ul{flex:1;}
.therapies-box .cta-links{margin-top:auto;}
.amiv-therapies .therapies-arrows{display:flex;flex-direction:row;justify-content:center;}
.amiv-therapies .therapies-arrows i{color:var(--body-color);}
.amiv-therapies .swiper-button-custom{background-color:#f2f2f2;padding:15px 5px;width:60px;display:block;border:5px solid var(--white);text-align:center;}


.video-container{cursor:pointer;display:inline-block;}
.video-container img{object-fit:cover;}

.iv_vs_oral .bg1{background-color:var(--background-color-3);}
.iv_vs_oral .bg2{background-color:var(--background-color-1);}

.expand-section{display:flex;align-items:center;}
.expand-section h2{color:var(--body-color);letter-spacing:-0.02em;}
.expand-boxes{display:flex;height:500px;gap:6px;}
.expand-box{position:relative;height:100%;min-width:100px;flex:0 0 100px;background:#f2f2f2;border-radius:12px;overflow:hidden;cursor:pointer;transition:flex 0.5s cubic-bezier(0.4, 0, 0.2, 1), min-width 0.5s cubic-bezier(0.4, 0, 0.2, 1), background 0.4s ease;}
.expand-box.active{flex:1 1 0%;min-width:320px;background:var(--background-color-4);}
.box-number{position:absolute;top:25px;left:50%;transform:translateX(-50%);z-index:5;width:60px;height:60px;background:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:left 0.5s cubic-bezier(0.4, 0, 0.2, 1), transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);}
.expand-box.active .box-number{left:65px;transform:translateX(-50%);}
.box-collapsed{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding-bottom:35px;z-index:2;opacity:1;transition:opacity 0.3s ease 0.1s;}
.box-vertical-title{writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);font-weight:600;color:var(--body-color);white-space:nowrap;user-select:none;}
.expand-box.active .box-collapsed{opacity:0;transition:opacity 0.2s ease;pointer-events:none;}
.box-expanded{position:absolute;inset:0;padding:85px 35px 35px;display:flex;flex-direction:column;z-index:2;opacity:0;transform:translateY(10px);transition:opacity 0.3s ease, transform 0.3s ease;pointer-events:none;}
.expand-box.active .box-expanded{opacity:1;transform:translateY(0);transition:opacity 0.4s ease 0.15s, transform 0.4s ease 0.15s;pointer-events:auto;}
.box-title{font-weight:600;margin-top:20px;margin-bottom:15px;}
.box-desc{max-width:350px;margin-bottom:auto;}
.box-img{width:100%;max-height:250px;border-radius:8px;overflow:hidden;margin-top:20px;}
.box-img img{width:100%;height:100%;object-fit:cover;display:block;}

.home-whyamiv{background:url('../images/Why-AMIV.webp') center no-repeat;background-attachment:fixed;background-size:cover;}

.best_therapy .select-box{border:1px solid #afaeae;border-radius:12px;padding:10px 13px;text-align:center;cursor:pointer;margin:1px;}
.best_therapy .select-box.selected{border:2px solid var(--primary-color);margin:0;}
.best_therapy .btn{border-radius:12px;}
.best_therapy input[type="submit"]:disabled{background-color:#DDDDDD !important;color:var(--color-grey) !important;border-color:#DDDDDD;}

.review-layout{display:flex;align-items:center;}
.ReviewSwiper{height:320px;flex:1;overflow:hidden;}
.ReviewSwiper .swiper-slide{height:100%;overflow:hidden;display:flex;flex-direction:column;}
.ReviewSwiper .review_text{color:var(--body-color);flex:1 1 auto;max-height:160px;overflow-y:auto;-webkit-overflow-scrolling:touch;margin-bottom:1rem;}
.ReviewSwiper .fa-star{color:var(--rating-color);}
.ReviewSwiper i{color:#9b9b9b;}
.ReviewSwiper .review-arrows{display:flex;flex-direction:column;margin-left:10px;}
.customer_review .review-arrows i{color:var(--body-color);}
.customer_review .swiper-button-custom{background-color:#f2f2f2;padding:15px;width:50px;display:block;}
.customer_review .swiper-button-custom:first-child{margin-bottom:8px;}

.home-nearme{background:url('../images/nearme.webp')center no-repeat;background-size:cover;}
.home-nearme .nearme input[type=text]{border:1px solid #d7d7d8;background-color:transparent;}
.home-nearme .nearme input::placeholder{color:var(--white);}

.BlogSwiper .swiper-pagination-bullet{background:var(--primary-color);}
.BlogSwiper .swiper-slide{height:auto;}
.blog-box, .blog-box .blog-content{display:flex;flex-direction:column;height:100%;}
.blog-content .blog-heading{flex:1;}
.BlogSwiper .swiper-pagination{margin-top:20px;position:relative;}
.blog-heading a{text-decoration:none;}

.faqs{background-color:var(--background-color-1);}
.dash-list{list-style-type:none;padding-left:0;}
.dash-list li::before{content:"- ";}

.newsletter_subscription{display:block;}
.newsletter_subscription-fields{display:flex;flex-direction:row;align-items:stretch;gap:10px;}
.newsletter_subscription-fields .form-control{flex:1 1 auto;min-width:0;margin:0;}
.newsletter_subscription-fields .btn{flex:0 0 auto;white-space:nowrap;margin:0;align-self:stretch;display:inline-flex;align-items:center;justify-content:center;}
.newsletter-form-feedback{width:100%;margin-bottom:0.5rem;}
.newsletter-form-feedback:empty{margin-bottom:0;}
.home-sponsors{border-top:1px solid var(--border-color-1);}


.sponsors-logos{overflow:hidden;width:100%;}
.sponsors-logos-track{display:flex;align-items:center;gap:50px;width:max-content;animation:sponsorScroll 15s linear infinite;will-change:transform;}
.sponsors-logos-track img{max-height:45px;width:auto;flex-shrink:0;}
@keyframes sponsorScroll{0%{transform:translateX(0);}100%{transform:translateX(var(--scroll-width));}}

.footer-main, .footer-bottom{border-top:1px solid var(--border-color-1);}
.footer-find-location{background:var(--background-color-1);padding:20px 0;border-radius:15px;}
.footer-find-location .find-bottom-location{display:flex;gap:10px;flex-direction:row;}
.footer-menu{list-style:none;padding:0;margin-bottom:0;}
.footer-menu li{margin-bottom:4px;}
.footer-menu a{color:var(--body-color);text-decoration:none;}
.footer-social a{font-size:1.25em;text-decoration:none;color:#6d7175;}
.footer-social a:hover{color:var(--primary-color);}

/* Breadcrumb */
.breadcrumb-item a{color:var(--primary-color);text-decoration:none;}
.breadcrumb-item a:hover{text-decoration:underline;}
.breadcrumb-item.active{color:var(--color-grey);}

/* Service Page */
.why-amiv{background-color:var(--background-color-4);}
.top-banner{position:relative;overflow:hidden;}
.top-banner-bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;}
.top-banner-bg img{width:100%;height:100%;object-fit:cover;}
.top-banner .container{position:relative;z-index:1;}

.treatment-section .treatment-tabs-wrap{text-align:center;}
.treatment-tabs{gap:20px;border-bottom:1px solid var(--border-color-1);flex-wrap:nowrap;display:inline-flex;}
.treatment-tabs .nav-item{margin-bottom:-1px;}
.treatment-tabs .nav-link{border:none;border-bottom:3px solid transparent;border-radius:0;padding:12px 28px;color:var(--body-color);white-space:nowrap;background:none;transition:color 0.3s,border-color 0.3s;font-size:calc(1.275rem + .3vw);font-weight:600;}
.treatment-tabs .nav-link:hover{color:var(--primary-color);}
.treatment-tabs .nav-link.active{color:var(--primary-color);border-bottom-color:var(--primary-color);background:none;}

/* Product cards */
.treatment-card{border:1px solid var(--border-color-1);border-radius:8px;transition:box-shadow 0.3s;padding:15px;display:flex;flex-direction:column;height:100%;}
.treatment-card:hover{box-shadow:0 4px 20px rgba(0,0,0,0.08);}
.treatment-card-body{padding:12px 0 0;display:flex;flex-direction:column;flex-grow:1;}
.treatment-card-body .description{flex-grow:1;}
.best_value{color:#e83e85;}

/* Membership Pricing */
.membership-section{background-color:#f7f7f7;}
.pricing-card{border:1px solid var(--border-color-1);border-radius:16px;padding:32px 28px;position:relative;height:100%;display:flex;flex-direction:column;background:var(--white);}
.pricing-card--popular{background:#e2f1fc;border-color:var(--primary-color);}
.pricing-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--primary-color);color:var(--white);font-size:0.8rem;font-weight:600;padding:4px 18px;border-radius:50px;white-space:nowrap;}
.pricing-highlight{border-top:1px solid var(--border-color-1);border-bottom:1px solid var(--border-color-1);padding:10px 0;}
.pricing-addon{padding:10px 0;border-bottom:1px solid var(--border-color-1);}
.pricing-excludes{padding:10px 0;font-size:0.95em;text-align:left;}
.pricing-card .btn{margin-top:auto;}
.btn-outline-primary{border:1px solid var(--primary-color);color:var(--primary-color);background:transparent;}
.btn-outline-primary:hover{background:var(--primary-color);color:var(--white);}
.btn-border-grey{border-color:var(--border-color-1);}

section.cta{background-color:var(--primary-color);}

@media only screen and (min-width:992px){
    .home-slider a.btn-white{font-size:20px;padding:8px 25px;}
    .iv_vs_oral h2{font-size:38px;line-height:1.1em;}
    .find-location input[type="button"]{min-width:30%;}
    .footer-find-location .find-bottom-location input[type="button"]{min-width:20%;}
    /* Sponsors — Desktop: static grid, no animation */
    .sponsors-logos{overflow:visible;}
    .sponsors-logos-track{justify-content:center;width:auto;animation:none;}
    .sponsors-logos-track img{max-height:55px;}
    .sponsors-logos-track [data-clone]{display:none;}
}

@media only screen and (min-width:1280px) and (max-width:1600px){
    .homecarousel, .homecarousel .swiper-slide, .homecarousel .swiper-slide img.bg-image, .homecarousel .swiper-slide picture.bg-image{min-height:83.4vh;}
 }
@media only screen and (min-width:1440px) and (max-width:1698px){
    .container{max-width:1360px;}
}

@media only screen and (min-width:1024px){
    .therapies-ar-loc{position:absolute;top:5%;right:5%;}
}
@media only screen and (min-width:1601px){
    .homecarousel, .homecarousel .swiper-slide, .swiper-slide img.bg-image{min-height:35vh;}
}
@media only screen and (min-width:1699px){
    .container{width:1640px;margin:0 auto;}
    .home-slider, .search-location, .amiv-therapies, .iv_vs_oral, .home-whyamiv, .home-nearme, .faqs{max-width:1640px;margin:0 auto;}
    .symptoms .col-lg-9{width:80%;}
    .homecarousel, .homecarousel .swiper-slide,.homecarousel .swiper-slide img.bg-image, .homecarousel .swiper-slide picture.bg-image{min-height:600px;}
}
@media only screen and (max-width:991px){
    .megamenu,.dropdown-menu-custom{display:none !important;}
    .header-right{display:none !important;}
    .header-nav{padding:15px 0;}

    .ReviewSwiper{height:300px;}
    .customer_review .review-arrows{text-align:center;}
    .customer_review .swiper-button-custom{display:inline-block;}
    .customer_review .swiper-button-custom:first-child{margin-bottom:0px;margin-right:8px;}
    .best_therapy .select-box{font-size:0.9em;}

    .expand-boxes{flex-direction:column;height:auto;gap:12px;}
    .expand-box, .expand-box.active{min-width:100% !important;flex:none !important;height:auto;min-height:auto;border-radius:10px;cursor:default;}
    .box-collapsed{display:none;}
    .box-expanded{position:relative;opacity:1;transform:none;pointer-events:auto;transition:none;padding:85px 25px 25px;}
    .box-number{left:25px;transform:none;}
    .box-img{max-height:180px;}
}
@media only screen and (max-width:767px){
    .homecarousel, .homecarousel .swiper-slide, .homecarousel .swiper-slide img.bg-image, .homecarousel .swiper-slide picture.bg-image{min-height:65vh;}
    .amiv-features .icon{width:60px;text-align:center;}
    .newsletter_subscription-fields{flex-direction:column;gap:0.75rem;}
    .announcement-bar .offer{font-size:13px;}
    .home-whyamiv{background-attachment:unset;background-position:35%;}
    .best_therapy .select-box{display:flex;justify-content: center;height:100%;font-size:1em;}

    .top-banner-bg{position:relative;height:auto;}
    .top-banner-bg img{height:auto;object-fit:contain;}
    .top-banner{background-color:var(--background-color-1);}

    /*.treatment-tabs{flex-wrap:wrap;justify-content:center !important;gap:10px;border-bottom:none;}
    .treatment-tabs .nav-item{width:calc(50% - 5px);}
    .treatment-tabs .nav-link{border:1px solid var(--border-color-1);border-radius:8px;padding:10px 16px;text-align:center;width:100%;border-bottom-width:1px;font-size:1.2em;font-weight:500;}
    .treatment-tabs .nav-link.active{background:var(--primary-color);border-color:var(--primary-color);color:var(--white);border-bottom-color:var(--primary-color);}*/
    .treatment-tabs{gap:0;}
    .treatment-tabs .nav-link{padding:10px 15px;font-size:1em;}
    .treatment-tabs .nav-link:hover{border-color:var(--primary-color);}
    .treatment-section .row{--bs-gutter-x:12px;}
    .treatment-card{padding:8px;}
    .treatment-card-body h6{min-height:2.6em;}

    .why-amiv .heading{font-size:1.3em;}
    .treatment-card .product-title{font-size:18px;min-height:45px;}
    .best_value{font-size:18px;}

}
@media only screen and (max-width:600px){
    .homecarousel .slide-content{padding-bottom:0;}
    .home-nearme{background:url('../images/near-me.webp');background-size:100%;}
}

@media only screen and (max-width:400px){
    .treatment-tabs .nav-link{padding:10px;font-size:1em;}
}

/* ===========================
   BOOKING POPUP
   =========================== */
.booking-popup{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,0.6);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 0.35s ease,visibility 0.35s ease;}
.booking-popup.active{opacity:1;visibility:visible;pointer-events:auto;}
.booking-popup-inner{position:relative;width:100%;height:100%;background:var(--white);overflow:hidden;display:flex;flex-direction:column;}

/* Close Button */
.booking-popup-close{position:absolute;top:20px;right:20px;z-index:10;width:40px;height:40px;border-radius:50%;background:#e8e8e8;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#555;transition:background 0.2s,color 0.2s;}
.booking-popup-close:hover{background:#d0d0d0;color:#333;}

/* Form fills available space */
.booking-form{flex:1;overflow:hidden;position:relative;}

/* Steps */
.booking-step{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 0.4s ease,visibility 0.4s ease;overflow-y:auto;}
.booking-step.active{opacity:1;visibility:visible;}

/* Step Row: side-by-side on desktop */
.booking-step-row{display:flex;min-height:100%;height:100%;}

/* Left image panel */
.booking-step-image{flex:0 0 50%;max-width:50%;position:relative;overflow:hidden;}
.booking-step-image img{width:100%;height:100%;object-fit:cover;display:block;}

/* Right content panel */
.booking-step-content{flex:1;display:flex;align-items:center;justify-content:center;padding:60px 40px;}
.booking-step-content.full-width{flex:0 0 100%;max-width:100%;}
.booking-step-content-inner{width:100%;max-width:420px;}

/* Logo inside step */
.booking-logo{max-height:36px;width:auto;margin-bottom:32px;}

/* Form elements */
.booking-input{border:1px solid var(--input-border-color-1);border-radius:8px;padding:12px 16px;font-size:1rem;font-family:inherit;transition:border-color 0.2s;}
.booking-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px rgba(78,113,182,0.12);}
.booking-field-group{margin-bottom:0;}
.booking-field-group .form-label{margin-bottom:6px;font-size:0.95rem;}

/* Responsive: Tablet */
@media only screen and (max-width:991px){
    .booking-step-content{padding:30px 24px;}
    .booking-popup-close{top:12px;right:12px;width:36px;height:36px;}
}
/* Responsive: Mobile */
@media only screen and (max-width:575px){
    .booking-step-row{flex-direction:column;}
    .booking-step-image{flex:0 0 auto;max-width:100%;height:50vh;min-height:160px;}
    .booking-step-content{padding:24px 20px;}
}

/* ===========================
   BOOKING STEP 2 — Services
   =========================== */

/* Progress Band */
.booking-progress-band{background:#f4fdfe;padding:20px 0 18px;}
.booking-progress-title{color:var(--body-color);margin:0 0 14px;}
.bp-step{display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;min-width:70px;}
.bp-circle{width:32px;height:32px;border-radius:50%;background:#d9d9d9;color:var(--white);font-weight:600;font-size:0.85rem;display:flex;align-items:center;justify-content:center;transition:background 0.3s;}
.bp-step.active .bp-circle,.bp-step.completed .bp-circle{background:var(--primary-color);}
.bp-label{font-size:0.78rem;color:var(--color-grey);font-weight:500;}
.bp-step.active .bp-label{color:var(--primary-color);font-weight:600;}
.bp-connector{width:50px;height:2px;background:#d9d9d9;margin:0 4px;align-self:flex-start;margin-top:15px;}
.bp-step.completed ~ .bp-connector{background:var(--primary-color);}

/* Main Layout */
.booking-main-layout{height:100%;}
.booking-main-content{padding-bottom:40px;}
.booking-main-content .container{margin:0 auto;padding:0 30px;}
.booking-step[data-step="2"] .booking-main-content .container{max-width:960px;}

/* Booking Tabs — match services page style */
.booking-tabs-wrap{margin-bottom:24px;}
.booking-tabs{gap:0;border-bottom:1px solid var(--border-color-1);flex-wrap:nowrap;display:flex;list-style:none;padding:0;margin:0;}
.booking-tabs li{margin-bottom:-1px;flex:1;text-align:center;}
.booking-tab-btn{border:none;border-bottom:3px solid transparent;border-radius:0;padding:10px 20px;color:var(--body-color);white-space:nowrap;background:none;transition:color 0.3s,border-color 0.3s;font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;width:100%;}
.booking-tab-btn:hover{color:var(--primary-color);}
.booking-tab-btn.active{color:var(--primary-color);border-bottom-color:var(--primary-color);background:none;}

/* Tab Panels */
.booking-tab-panels{position:relative;}
.booking-tab-panel{display:none;}
.booking-tab-panel.active{display:block;}

/* Compact Product Card */
.booking-product{display:flex;align-items:stretch;border:2px solid var(--border-color-1);border-radius:8px;padding:10px;cursor:pointer;transition:border-color 0.2s,box-shadow 0.2s,background 0.2s,transform 0.2s;background:var(--white);height:100%;position:relative;}
.booking-product:hover{border-color:var(--primary-color);box-shadow:0 2px 10px rgba(0,0,0,0.06);}
.booking-product.selected{border-color:var(--primary-color);background:#d4e2f5;box-shadow:0 6px 22px rgba(78,113,182,0.38),0 0 0 3px rgba(78,113,182,0.22);transform:translateY(-1px);}
.booking-product.selected::after{content:"";position:absolute;top:-7px;left:-7px;width:22px;height:22px;border-radius:50%;background:var(--primary-color) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23fff' d='M6.2 11.4 2.8 8l1.1-1.1 2.3 2.3 5.1-5.1L12.4 5.2z'/%3E%3C/svg%3E") center/12px no-repeat;box-shadow:0 2px 8px rgba(78,113,182,0.45);z-index:3;pointer-events:none;}
.booking-product.selected .booking-product-title,.booking-product.selected .booking-product-price{color:#2f4f8c;}
.booking-product-img{flex:0 0 12%;max-width:12%;margin-right:10px;display:flex;align-items:center;}
.booking-product-img img{width:100%;height:auto;border-radius:4px;display:block;}
.booking-product-info{flex:1;display:flex;flex-direction:column;justify-content:space-between;position:relative;min-width:0;padding-right:28px;}
.booking-product-title{font-size:0.85rem;line-height:1.3;margin-bottom:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.booking-product-price{font-size:0.9rem;color:var(--primary-color);margin-top:auto;}

/* Info icon — top right, inside card border */
.booking-info-icon{position:absolute;top:0;right:0;background:none;border:none;color:var(--color-grey);cursor:pointer;padding:4px;font-size:0.9rem;transition:color 0.2s;z-index:2;line-height:1;}
.booking-info-icon:hover{color:var(--primary-color);}
.booking-info-icon.d-inline{position:static;}

/* Custom product popover */
.booking-popover{position:absolute;top:0;left:0;z-index:99999;background:var(--white);border:1px solid var(--border-color-1);border-radius:10px;box-shadow:0 4px 20px rgba(0,0,0,0.14);padding:14px 16px;max-width:280px;width:max-content;font-size:0.85rem;line-height:1.5;color:var(--body-color);pointer-events:none;opacity:0;visibility:hidden;will-change:transform;transition:opacity 0.15s ease,visibility 0.15s ease;}
.booking-popover.is-visible{opacity:1;visibility:visible;pointer-events:auto;}
.booking-popover .bp-pop-desc{font-size:0.8rem;color:var(--color-grey);margin:6px 0 0;font-weight:400;}
.booking-popover hr{margin:8px 0;border:none;border-top:1px solid var(--border-color-1);opacity:0.6;}
.booking-popover .bp-pop-ingredients{font-size:0.8rem;color:var(--color-grey);}
.booking-popover .bp-pop-arrow{position:absolute;bottom:-6px;left:50%;width:12px;height:12px;background:var(--white);border-right:1px solid var(--border-color-1);border-bottom:1px solid var(--border-color-1);transform:translateX(-50%) rotate(45deg);}

/* Add Service Button */
.booking-add-service-btn{display:inline-flex;align-items:center;gap:8px;border:none;border-radius:8px;padding:10px 22px;background:var(--primary-color);color:var(--white);font-family:inherit;font-size:0.9rem;font-weight:600;cursor:pointer;transition:background 0.2s,box-shadow 0.2s;margin-top:8px;}
.booking-add-service-btn:hover{background:#3d5fa0;box-shadow:0 2px 8px rgba(78,113,182,0.3);}
.booking-add-icon{width:22px;height:22px;border-radius:50%;border:2px solid var(--white);display:inline-flex;align-items:center;justify-content:center;font-size:0.7rem;line-height:1;}

/* Recommended Add-Ons */
.booking-addons-heading{font-size:0.95rem;color:var(--body-color);display:flex;align-items:center;}
.booking-addon-star-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--primary-color);color:var(--white);font-size:0.65rem;flex-shrink:0;}
.booking-addon{display:flex;align-items:flex-start;justify-content:space-between;border:2px solid var(--border-color-1);border-radius:8px;padding:10px 12px;cursor:pointer;transition:border-color 0.2s,box-shadow 0.2s,background 0.2s,transform 0.2s;background:var(--white);height:100%;position:relative;}
.booking-addon:hover{border-color:var(--primary-color);box-shadow:0 2px 10px rgba(0,0,0,0.06);}
.booking-addon.selected{border-color:var(--primary-color);background:#d4e2f5;box-shadow:0 6px 22px rgba(78,113,182,0.38),0 0 0 3px rgba(78,113,182,0.22);transform:translateY(-1px);}
.booking-addon.selected::after{content:"";position:absolute;top:-7px;left:-7px;width:22px;height:22px;border-radius:50%;background:var(--primary-color) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23fff' d='M6.2 11.4 2.8 8l1.1-1.1 2.3 2.3 5.1-5.1L12.4 5.2z'/%3E%3C/svg%3E") center/12px no-repeat;box-shadow:0 2px 8px rgba(78,113,182,0.45);z-index:3;pointer-events:none;}
.booking-addon.selected .booking-addon-name,.booking-addon.selected .booking-addon-price{color:#2f4f8c;font-weight:600;}
.booking-addon-details{flex:1;min-width:0;padding-right:4px;}
.booking-addon-name{font-size:0.85rem;font-weight:500;line-height:1.3;display:inline;}
.booking-addon .booking-info-icon{position:static;padding:2px;font-size:0.8rem;display:inline;}
.booking-addon-price{font-size:0.85rem;color:var(--primary-color);white-space:nowrap;flex-shrink:0;line-height:1.85;}

/* Service Block */
.booking-service-block{margin-bottom:20px;padding-bottom:0;}
.booking-service-block .booking-service-remove{background:none;border:none;color:var(--color-grey);cursor:pointer;font-size:0.82rem;float:right;transition:color 0.2s;}
.booking-service-block .booking-service-remove:hover{color:var(--color-red);}

/* Navigation Buttons — col-8 centered on mobile */
@media only screen and (max-width:575px){
    .booking-nav-btns{width:66.666%;margin:0 auto;}
    .booking-nav-btns .btn{width:100%;}
}

/* Rating — single line centered on desktop */
.booking-rating{font-size:0.85rem;text-align:center;}
.booking-rating-stars{color:var(--rating-color);}
.booking-rating-stars i{margin-right:1px;}
.booking-rating-text{display:block;margin-bottom:4px;}
@media only screen and (min-width:992px){
    .booking-rating-text{display:inline;margin-bottom:0;margin-right:6px;}
}

/* Responsive: Tablet & Mobile */
@media only screen and (max-width:991px){
    .booking-main-content .container{padding:0 20px;}
    .bp-connector{width:30px;}
    .bp-step{min-width:55px;}
    .booking-product-img{flex:0 0 18%;max-width:18%;}
    .booking-main-content{padding-bottom:70px;}
}
@media only screen and (max-width:767px){
    .booking-tabs{gap:0;}
    .booking-tab-btn{padding:10px 15px;font-size:1em;}
    .booking-tab-btn:hover{border-color:var(--primary-color);}
    .booking-product-img{flex:0 0 18%;max-width:18%;}
}
@media only screen and (max-width:575px){
    .booking-progress-band{padding:45px 0 25px;}
    .bp-circle{width:28px;height:28px;font-size:0.78rem;}
    .bp-label{font-size:0.7rem;}
    .bp-connector{width:20px;margin-top:13px;}
    .booking-product-title{font-size:0.8rem;}
    .booking-product-price{font-size:0.82rem;}
    .booking-product-img{flex:0 0 12%;max-width:12%;}
}
@media only screen and (max-width:400px){
    .booking-tab-btn{padding:10px;font-size:1em;}
}

/* BOOKING STEP 3 — Address */

/* Address Card — uses rounded-3 p-4 overflow-hidden in HTML */
.booking-address-card{background:#f4fdfe;border:1px solid #def2f4;}

/* Personal Info — person-block uses pt-4 in HTML */
.booking-person-service{font-size:0.95rem;}
.booking-addon-tag{display:inline-block;background:var(--background-color-3);border-radius:4px;padding:2px 8px;font-size:0.78rem;font-weight:600;margin-right:6px;}

/* Completed step checkmark */
.bp-step.completed .bp-circle{background:var(--primary-color);}
.bp-step.completed .bp-label{color:var(--primary-color);font-weight:600;}

/* BOOKING STEP 4 — Schedule */

/* Calendar — white bg, blue border, compact */
.booking-calendar{background:var(--white);border:1px solid var(--primary-color);border-radius:10px;padding:14px;}
.booking-cal-month{font-size:1rem;}
.booking-cal-nav{width:28px;height:28px;border:1px solid var(--border-color-1);border-radius:4px;background:var(--white);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:0.65rem;color:var(--body-color);transition:border-color 0.2s;}
.booking-cal-nav:hover{border-color:var(--primary-color);color:var(--primary-color);}
.booking-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:2px;}
.booking-cal-day{font-size:0.75rem;font-weight:600;color:var(--color-grey);padding:6px 0;}
.booking-cal-cell{font-size:0.82rem;padding:0;border-radius:8px;cursor:pointer;transition:background 0.2s,color 0.2s,border-color 0.2s;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:2px solid transparent;}
.booking-cal-cell:hover:not(.disabled):not(.selected):not(.other-month){background:rgba(78,113,182,0.08);}
.booking-cal-cell.today:not(.selected){border-color:var(--primary-color);color:var(--primary-color);}
.booking-cal-cell.selected{background:var(--primary-color);color:var(--white);border-color:var(--primary-color);font-weight:600;}
.booking-cal-cell.disabled{color:#ccc;cursor:default;pointer-events:none;}
.booking-cal-cell.empty{pointer-events:none;}
.booking-cal-cell.other-month{color:#bbb;cursor:default;pointer-events:none;}

/* Time Slots — 2 cols always */
.booking-time-slots{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;}
.booking-time-slot{border:1px solid var(--border-color-1);border-radius:8px;background:var(--white);padding:8px 4px;font-size:0.85rem;font-family:inherit;cursor:pointer;transition:border-color 0.2s,background 0.2s,color 0.2s;text-align:center;white-space:nowrap;}
.booking-time-slot:hover:not(.selected){border-color:var(--primary-color);color:var(--primary-color);}
.booking-time-slot.selected{background:var(--primary-color);color:var(--white);border-color:var(--primary-color);font-weight:600;}

/* Schedule Summary — blue box */
.booking-schedule-summary{background:var(--primary-color);border:none;border-radius:10px;font-size:0.9rem;color:var(--white);}
.booking-schedule-summary h6{color:var(--white);}
.booking-schedule-summary .highlight-color{color:var(--white)!important;}
.booking-schedule-summary i.fa-calendar-days{color:var(--white)!important;opacity:0.8;}

/* Cancellation — light grey bg */
.booking-cart-cancel{background:#f5f5f5;font-size:0.82rem;color:var(--color-grey);}
.booking-cart-cancel strong{color:var(--body-color);font-size:0.85rem;display:block;margin-bottom:4px;}

/* ===========================
   BOOKING STEP 5 — Payment
   =========================== */

/* Booking Summary Card */
.booking-summary-card{background:#f4fdfe;border:1px solid #def2f4;font-size:0.9rem;}

/* Membership Plans */
.booking-plan{border:1px solid var(--border-color-1);border-radius:10px;padding:10px;cursor:pointer;transition:border-color 0.2s,box-shadow 0.2s;background:var(--white);height:100%;text-align:center;display:flex;flex-direction:column;align-items:center;position:relative;}
.booking-plan:hover{border-color:var(--primary-color);}
.booking-plan.selected{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(78,113,182,0.25);background:#f8faff;}
.booking-plan-body{flex:1;}
.booking-plan-price{display:inline-block;background:var(--primary-color);color:var(--white);border-radius:4px;padding:2px 10px;font-size:0.85rem;font-weight:600;}
.booking-plan-price small{font-weight:400;font-size:0.78rem;}
.booking-plan-radio{display:inline-flex;margin-top:auto;padding-top:10px;}
.booking-plan-dot{width:18px;height:18px;border-radius:50%;border:2px solid var(--border-color-1);display:inline-block;position:relative;transition:border-color 0.2s;}
.booking-plan-dot.active{border-color:var(--primary-color);}
.booking-plan-dot.active::after{content:'';width:10px;height:10px;background:var(--primary-color);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);}
.booking-plan-info{bottom:3px!important;top:auto!important;padding:0 10px 8px 0;}

/* Active membership benefits on payment step */
.booking-membership-applied{background:#f8faff;border-color:rgba(78,113,182,0.35)!important;}

/* Tip Amount */
.booking-tip-pill{display:inline-block;border:1px solid var(--border-color-1);border-radius:20px;padding:6px 18px;font-size:0.85rem;cursor:pointer;transition:border-color 0.2s,background 0.2s,color 0.2s;background:var(--white);}
.booking-tip-option input:checked + .booking-tip-pill{background:var(--primary-color);color:var(--white);border-color:var(--primary-color);font-weight:600;}
.booking-tip-pill:hover{border-color:var(--primary-color);}

/* Pay with Link button */
.booking-link-btn{background:#00d66e;color:#000;border:none;border-radius:8px;padding:12px;font-size:1rem;font-family:inherit;cursor:pointer;transition:opacity 0.2s;}
.booking-link-btn:hover{opacity:0.9;}
.booking-link-btn strong{font-size:1.1rem;}

/* OR Divider */
.booking-or-divider{display:flex;align-items:center;gap:12px;color:var(--color-grey);font-size:0.85rem;}
.booking-or-divider::before,.booking-or-divider::after{content:'';flex:1;height:1px;background:var(--border-color-1);}

/* Card Information */
.booking-card-field{position:relative;}
.booking-card-field input{padding-right:100px;}
.booking-card-icons{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;gap:4px;align-items:center;}
.booking-card-half-left{border-radius:0 0 0 6px;border-top:0;}
.booking-card-half-right{border-radius:0 0 6px 0;border-top:0;border-left:0;}

/* ===========================
   BOOKING STEP 6 — Payment Success
   =========================== */
.booking-confirmed-banner{background:var(--primary-color);padding:30px 20px;color:var(--white);}
.booking-confirmed-banner h4{letter-spacing:1px;color:var(--white);}
.booking-confirmed-banner p{color:var(--white);}
.booking-ref-number{color:#e91e8c;font-size:1.1rem;}
.booking-details-card{background:#f4fdfe;border:1px solid #def2f4;font-size:0.9rem;}
.booking-details-card strong{font-size:0.9rem;}
.booking-next-steps{font-size:0.9rem;}
.booking-next-steps span.fw-600{min-width:28px;color:var(--body-color);}

/* ===========================
   BOOKING STEP 5 — Consent Form
   =========================== */
.booking-consent-card{background:#f4fdfe;border:1px solid #def2f4;border-radius:0.5rem;padding:1.5rem;max-height:400px;overflow-y:auto;}
.booking-consent-body p{font-size:0.85rem;line-height:1.7;color:#555;margin-bottom:0.75rem;}
.booking-consent-body h6{font-size:0.9rem;}

/* ===========================
   BOOKING STEP 7 — Patient History
   =========================== */
.booking-patient-history-card{background:#f4fdfe;border:1px solid #def2f4;border-radius:0.5rem;padding:1.5rem;}
.patient-history-question{margin-bottom:0.5rem;padding-bottom:0.5rem;border-bottom:1px solid #eef5f6;}
.patient-history-question:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0;}
.patient-history-question label.fw-600{font-size:0.9rem;}
.patient-history-question .form-check-label{font-size:0.85rem;}
.patient-history-question .form-control{font-size:0.85rem;}
.patient-history-question .form-check{display:inline-flex;align-items:center;margin-right:1.25rem;margin-bottom:0.25rem;}
.patient-history-question .form-check-input{margin-top:0;}
.patient-history-question .form-check-label{padding-left:0.3rem;}
.patient-history-section-title{font-size:0.95rem;color:#333;border-bottom:1px solid #eef5f6;padding-bottom:0.75rem;margin-bottom:0.25rem;}
.consent-acknowledgement-item .consent-acknowledgement-initials{flex:0 0 4.5rem;max-width:4.5rem;text-align:center;text-transform:uppercase;}
.consent-acknowledgement-item .consent-acknowledgement-text{font-size:0.85rem;line-height:1.45;color:#333;}

/* ===========================
   BOOKING STEP 9 — Payment Failure
   =========================== */
.booking-error-title{color:#e91e63;}
.bp-step.error .bp-circle{background:#e91e63;color:var(--white);}
.bp-step.error .bp-label{color:#e91e63;font-weight:600;}

/* Responsive */
@media only screen and (max-width:575px){
    .booking-time-slots{gap:6px;}
    .booking-time-slot{padding:8px 2px;font-size:0.8rem;}
    .booking-calendar{padding:10px;}
    .booking-cal-cell{font-size:0.78rem;}
}

/* ===========================
   BOOKING CART SIDEBAR (Desktop)
   =========================== */
/* Uses position-sticky top-0 p-4 border rounded-3 bg-white in HTML */
.booking-cart-header{font-size:1.3rem;color:var(--primary-color);}
.booking-cart-item{display:flex;justify-content:space-between;align-items:flex-start;padding:8px 0;font-size:0.88rem;border-bottom:1px solid var(--border-color-1);}
.booking-cart-item:last-child{border-bottom:none;}
.booking-cart-item-name{flex:1;padding-right:12px;}
.booking-cart-item-person{font-size:0.82rem;color:var(--color-grey);margin-bottom:4px;}
.booking-cart-item-person.highlight-color{color:var(--primary-color);}
.booking-cart-item-addon{padding-left:16px;font-size:0.82rem;color:var(--color-grey);}
.booking-cart-item-addon .fw-600{font-weight:500!important;font-size:0.82rem;}
.booking-cart-item-edit{background:none;border:1px solid var(--border-color-1);border-radius:4px;padding:1px 8px;font-size:0.75rem;cursor:pointer;margin-left:6px;}
.booking-cart-group{border:1px solid var(--border-color-1);border-radius:8px;padding:10px 12px;margin-bottom:10px;background:rgba(0,0,0,0.015);}
.booking-cart-group:last-child{margin-bottom:0;}
.booking-cart-group-header{margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid var(--border-color-1);}
.booking-cart-group-title{font-size:0.82rem;font-weight:600;text-transform:uppercase;letter-spacing:0.03em;}
.booking-cart-group-sub{font-size:0.75rem;color:var(--color-grey);margin-top:2px;}
.booking-cart-group-subtotal{font-size:0.82rem;padding-top:8px;margin-top:4px;border-top:1px solid var(--border-color-1);}
.booking-cart-group .booking-cart-item:last-child{border-bottom:none;}
/* Cart totals — uses border-top pt-3 in HTML */
/* .booking-cart-cancel styled in Schedule section above */

/* ===========================
   MOBILE STICKY CART BAR
   =========================== */
.booking-mobile-cart{display:none;}

@media only screen and (max-width:991px){
    .booking-mobile-cart{display:none;position:fixed;bottom:0;left:0;right:0;z-index:10000;}
    .booking-mobile-cart.active{display:block;}

    .booking-mobile-cart-bar{display:flex;align-items:center;justify-content:space-between;background:var(--primary-color);color:var(--white);padding:14px 20px;cursor:pointer;font-size:0.95rem;}
    .booking-mobile-cart-bar i.fa-cart-shopping{font-size:1.2rem;}
    .booking-mobile-cart-arrow{font-size:1.1rem;}

    /* Backdrop — inside #bookingMobileCart so shares stacking context */
    .booking-mobile-cart-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0.4);z-index:1;opacity:0;visibility:hidden;transition:opacity 0.3s,visibility 0.3s;}
    .booking-mobile-cart-backdrop.active{opacity:1;visibility:visible;}

    .booking-mobile-cart-panel{position:fixed;bottom:0;left:0;right:0;background:var(--white);border-radius:16px 16px 0 0;box-shadow:0 -4px 30px rgba(0,0,0,0.15);max-height:70vh;overflow-y:auto;transform:translateY(100%);transition:transform 0.35s cubic-bezier(0.23,1,0.32,1);z-index:2;padding:0;}
    .booking-mobile-cart-panel.open{transform:translateY(0);}

    /* Header/body/footer use Bootstrap spacing + border classes in HTML */
    .booking-mobile-cart-close{background:none;border:none;font-size:1.2rem;color:var(--color-grey);cursor:pointer;padding:4px;}
}

/* FAQ PAGE */

/* Search Bar */
.faq-search-wrap{text-align:center;}
.faq-search-box{position:relative;max-width:700px;margin:0 auto;}
.faq-search-icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:var(--color-grey);font-size:1rem;pointer-events:none;}
.faq-search-input{width:100%;padding:14px 48px 14px 48px;border:2px solid var(--border-color-1);border-radius:50px;font-family:inherit;font-size:1rem;color:var(--body-color);outline:none;transition:border-color 0.3s,box-shadow 0.3s;background:var(--white);}
.faq-search-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 4px rgba(78,113,182,0.1);}
.faq-search-input::placeholder{color:var(--color-grey);}
.faq-search-clear{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-grey);cursor:pointer;font-size:1rem;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background 0.2s,color 0.2s;}
.faq-search-clear:hover{background:var(--background-color-2);color:var(--body-color);}
.faq-search-results-count{font-size:0.9rem;color:var(--color-grey);text-align:center;}

/* Category Navigation */
.faq-category-nav{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;}
.faq-category-btn{background:var(--white);border:1px solid var(--border-color-1);border-radius:8px;padding:8px 20px;font-family:inherit;font-size:0.9rem;font-weight:500;color:var(--body-color);cursor:pointer;transition:all 0.2s;}
.faq-category-btn:hover{border-color:var(--primary-color);color:var(--primary-color);}
.faq-category-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:var(--white);font-weight:600;}

/* No Results */
.faq-no-results i{opacity:0.5;}

/* FAQ Clusters */
.faq-cluster{margin-bottom:40px;}
.faq-cluster-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--primary-color);}
.faq-cluster-header i{color:var(--primary-color);font-size:1.3rem;}

/* FAQ Items */
.faq-item{border:1px solid var(--border-color-1);border-radius:10px;margin-bottom:12px;overflow:hidden;background:var(--white);transition:box-shadow 0.2s;}
.faq-item:hover{box-shadow:0 2px 12px rgba(0,0,0,0.06);}
.faq-question{display:flex;align-items:center;width:100%;padding:16px 20px;background:var(--background-color-1);}
.faq-question h3{flex:1;line-height:1.4;}

/* FAQ Answer — always open for AI/SEO */
.faq-answer{padding:25px 20px;}
.faq-answer p{margin-bottom:12px;line-height:1.7;color:var(--body-color);}
.faq-answer p:last-child{margin-bottom:0;}
.faq-answer ul,.faq-answer ol{margin-bottom:12px;padding-left:20px;}
.faq-answer li{margin-bottom:6px;line-height:1.6;}

/* Search Highlight */
mark.faq-highlight{background:rgba(78,113,182,0.15);color:var(--body-color);padding:1px 2px;border-radius:2px;}

/* CTA Section */
.faq-cta{background:var(--background-color-4);}
.faq-cta .btn{min-width:200px;}

/* Responsive */
@media only screen and (max-width:767px){
    .faq-search-input{padding:12px 42px 12px 42px;font-size:0.95rem;}
    .faq-category-btn{padding:6px 14px;font-size:0.82rem;}
    .faq-question{padding:14px 16px;}
    .faq-answer{padding:20px 15px;}
    .faq-cluster-header{gap:8px;}
    .faq-cluster-header i{font-size:1.1rem;}
}

/* Blog Pages */

/* Listing */
.blog-hero{background:var(--background-color-4);}
.blog-box-grid{background:var(--white);border:1px solid #eee;border-radius:12px;overflow:hidden;transition:box-shadow 0.3s ease;display:flex;flex-direction:column;height:100%;}
.blog-box-grid:hover{box-shadow:0 8px 30px rgba(0,0,0,0.08);}
.blog-box-grid .blog-content{display:flex;flex-direction:column;flex:1;}
.blog-box-grid .blog-link{margin-top:auto;}
.blog-excerpt{line-height:1.6;}
.blog-card-wrap{transition:opacity 0.3s;}
.blog-heading a{color:var(--body-color);text-decoration:none;}
.blog-heading a:hover{color:var(--primary-color);}
.blog-link a{text-decoration:none;}
.blog-link a:hover{text-decoration:underline;}
#blogNoResults{text-align:center;padding:40px 20px;}
#blogNoResults i{font-size:2.5rem;color:var(--color-grey);margin-bottom:15px;}

/* Pagination */
.blog-pagination .page-link{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--border-color-1);color:var(--body-color);font-weight:600;font-size:0.9rem;transition:all 0.2s;background:var(--white);}
.blog-pagination .page-link:hover{background:var(--background-color-1);border-color:var(--primary-color);color:var(--primary-color);}
.blog-pagination .page-item.active .page-link{background:var(--primary-color);border-color:var(--primary-color);color:var(--white);}
.blog-pagination .page-item.disabled .page-link{background:var(--background-color-1);color:var(--color-grey);border-color:var(--border-color-1);}

/* Detail shared */
.blog-category-badge{display:inline-block;background:var(--background-color-4);color:var(--primary-color);font-size:0.85rem;font-weight:600;padding:4px 14px;border-radius:50px;}
.blog-meta-date,.blog-meta-read{font-size:0.9rem;}
/* .blog-article-image img,.blog-detail-page [itemprop="image"],.blog-detail-ai [itemprop="image"]{max-height:400px;object-fit:cover;} */
.blog-article-body h2{font-size:1.6rem;font-weight:700;margin-top:2.5rem;margin-bottom:1rem;}
.blog-article-body h3{font-size:1.25rem;font-weight:600;margin-top:1.8rem;margin-bottom:0.75rem;}
.blog-article-body p{line-height:1.8;margin-bottom:1.2rem;}
.blog-article-body ul,.blog-article-body ol{padding-left:1.5rem;margin-bottom:1.2rem;}
.blog-article-body li{line-height:1.8;margin-bottom:0.5rem;}
.blog-inline-cta{background:rgba(78,113,182,0.06);border:1px solid rgba(78,113,182,0.15);margin-top:2.5rem;}
.blog-share-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid #dee2e6;background:var(--white);color:var(--body-color);font-size:0.9rem;transition:all 0.2s ease;cursor:pointer;text-decoration:none;}
.blog-share-btn:hover{background:var(--primary-color);color:var(--white);border-color:var(--primary-color);}
.blog-related-card{border-radius:12px;overflow:hidden;border:1px solid #eee;transition:box-shadow 0.3s ease;height:100%;}
.blog-related-card:hover{box-shadow:0 8px 30px rgba(0,0,0,0.08);}
.blog-related-card img{width:100%;height:auto;}
.blog-related-card .card-body{padding:20px;}
.blog-related-card .card-body h5 a{color:var(--body-color);text-decoration:none;}
.blog-related-card .card-body h5 a:hover{color:var(--primary-color);}
.blog-cta{background-color:var(--primary-color);}

/* AI detail extras */
.blog-toc{background:var(--background-color-1);border-radius:10px;padding:24px 28px;}
.blog-toc ol{padding-left:20px;margin-bottom:0;}
.blog-toc li{margin-bottom:8px;}
.blog-toc a{color:var(--body-color);text-decoration:none;transition:color 0.2s;}
.blog-toc a:hover{color:var(--primary-color);}
.blog-key-takeaways{background:var(--background-color-4);border-radius:10px;padding:24px 28px;}
.blog-key-takeaways ul{list-style:none;padding-left:0;margin-bottom:0;}
.blog-key-takeaways li{padding-left:28px;position:relative;margin-bottom:10px;line-height:1.6;}
.blog-key-takeaways li .kt-icon{position:absolute;left:0;top:3px;color:var(--primary-color);font-size:0.85rem;}
.blog-author-box{background:var(--background-color-1);border-radius:10px;padding:24px 28px;margin-top:2.5rem;}
.blog-author-box img{width:150px;height:150px;border-radius:50%;object-fit:none;object-position:52% 18%;border:3px solid var(--white);box-shadow:0 2px 10px rgba(0,0,0,0.1);}
.blog-faq-item{border:1px solid var(--border-color-1);border-radius:10px;padding:30px 24px;margin-bottom:12px;background:var(--white);}

@media only screen and (max-width:767px){
    .blog-article-body h2{font-size:1.4rem;margin-top:1.8rem;}
    .blog-article-body h3{font-size:1.15rem;}
    .blog-article-meta{font-size:0.85rem;}
    .blog-toc,.blog-key-takeaways,.blog-author-box{padding:20px;}
    .blog-pagination .page-link{width:36px;height:36px;font-size:0.8rem;}
    .blog-share{gap:8px !important;}
    .blog-share>span{display:block;width:100%;margin-bottom:4px;}
}

/* Team Page */

.team-stats{background:url('../images/team-stats.webp') center no-repeat;background-size:cover;}
/* Team Photos */
.team-photo{display:flex;align-items:center;justify-content:center;background:var(--background-color-1);}
.team-photo img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s ease;}
.team-photo:hover img{transform:scale(1.05);}

/* Team Social Links */
.team-social{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--primary-color);color:var(--white);text-decoration:none;font-size:0.9rem;transition:background 0.2s,transform 0.2s;}
.team-social:hover{background:var(--body-color);color:var(--white);transform:scale(1.1);}

/* Team Member Articles */
.team-member{padding-bottom:40px;border-bottom:1px solid var(--border-color-1);}
.team-member:last-child{border-bottom:none;padding-bottom:0;}

/* Credential Badges */
.team-credentials{margin-top:-4px;}
.credential-badge{display:inline-flex;align-items:center;gap:6px;background:var(--background-color-4);color:var(--body-color);border:1px solid rgba(78,113,182,0.15);border-radius:50px;padding:5px 14px;font-size:0.8rem;font-weight:500;line-height:1.4;white-space:nowrap;}
.credential-badge i{color:var(--primary-color);font-size:0.75rem;flex-shrink:0;}

/* Responsive - Team */
@media only screen and (max-width:767px){
    .team-photo{max-width:100%;margin:0 auto;}
    .credential-badge{font-size:0.75rem;padding:4px 10px;white-space:normal;}
    .team-stats{background-attachment:unset;background-position:30%;}
}

.iv-highlight-box{background-color:#f4f2f3;border-radius:15px;overflow:hidden;}

/* Shared Components */
.hero-video{position:relative;border-radius:12px;overflow:hidden;cursor:pointer;}
.hero-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;border-radius:50%;background:rgba(78,113,182,0.9);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.2rem;text-decoration:none;transition:transform 0.2s,background 0.2s;box-shadow:0 4px 20px rgba(0,0,0,0.25);}
.hero-play:hover,.hero-video:hover .hero-play{transform:translate(-50%,-50%) scale(1.1);background:var(--primary-color);color:#fff;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:#fff;border-radius:50px;padding:8px 16px;box-shadow:0 2px 10px rgba(0,0,0,0.08);margin-bottom:16px;}
.hero-badge i{color:var(--primary-color);}
.section-cta{background-color:var(--primary-color);}
.video-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.85);z-index:9999;display:none;align-items:center;justify-content:center;}
.video-modal.active{display:flex;}
.video-modal-inner{position:relative;width:90%;max-width:900px;}
.video-modal-inner iframe{width:100%;aspect-ratio:16/9;border:none;border-radius:8px;}
.video-modal-close{position:absolute;top:-40px;right:0;background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;}

/* About Page */
.story-section-images img{object-fit:cover;}
.amiv-diff-box{background:var(--background-color-4);border-radius:10px;padding:16px 20px;}
.amiv-diff-icon{width:44px;height:44px;min-width:44px;border-radius:8px;background:var(--primary-color);color:#ffffff;display:flex;align-items:center;justify-content:center;font-size:1rem;}
.value-card{text-align:left;padding:30px 20px;border-radius:12px;border:1px solid var(--primary-color);height:100%;transition:box-shadow 0.3s ease;}
.value-card:hover{box-shadow:0 8px 30px rgba(0,0,0,0.08);}
.value-card .icon-wrap{width:60px;height:60px;border-radius:50%;background:rgba(78,113,182,0.1);display:inline-flex;align-items:center;justify-content:center;margin-bottom:15px;color:var(--primary-color);}
.value-card .icon-wrap i{font-size:1.4rem;color:var(--primary-color);}
.team-card{text-align:center;}
.team-card-img{overflow:hidden;}
.team-card-img img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform 0.3s ease;}
.team-card:hover .team-card-img img{transform:scale(1.03);}
.google-rating-badge{position:absolute;top:15px;left:15px;display:flex;flex-direction:column;align-items:center;background:var(--primary-color);border-radius:8px;padding:12px 18px;z-index:2;}
.google-rating-badge .rating-score{font-weight:700;line-height:1;color:#fff;}
.google-rating-badge .rating-stars i{color:#fff;font-size:0.75rem;}

/* Contact Page */
.contact-box{border:2px solid var(--background-color-4);}
.contact-box .form-check-input{border-color:#cccccc;}
.contact-card{transition:border-color 0.3s,box-shadow 0.3s;}
.contact-card:hover{border-color:var(--primary-color) !important;box-shadow:0 8px 25px rgba(78,113,182,0.15);}
.contact-card-icon{width:60px;height:60px;border-radius:50%;background:var(--background-color-4);color:var(--primary-color);display:inline-flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:15px;}
.business-hours-list{list-style:none;padding:0;margin:0;}
.business-hours-list li{display:flex;justify-content:space-between;align-items:center;padding:.45rem 0;border-bottom:1px solid #f1f3f6;font-size:.9rem;}
.business-hours-list li:last-child{border-bottom:0;}
.bh-day{font-weight:600;color:#111827;}
.bh-time{color:#6b7280;}
.bh-time.bh-closed{color:#b45309;font-style:italic;}

/* Franchise team page (baltimore-team.html) */
.team-photo-wrap{position:relative;max-width:420px;margin:0 auto;}
.team-photo{width:100%;height:auto;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.08);background:#f3f4f6;}
.team-photo-badge{position:absolute;bottom:-12px;left:50%;transform:translateX(-50%);background:#fff;padding:.35rem 1rem;border-radius:999px;box-shadow:0 6px 18px rgba(0,0,0,.08);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;white-space:nowrap;}
.team-photo-badge i{margin-right:.35rem;}
.contact-list{list-style:none;padding:0;margin:0;}
.contact-list li{display:flex;gap:1rem;align-items:center;padding:1rem 1.5rem;background:#fff;border:1px solid #eef0f3;border-radius:12px;margin-bottom:.75rem;box-shadow:0 6px 18px rgba(0,0,0,.04);}
.contact-list li i{color:var(--primary-color);width:24px;text-align:center;font-size:1.1rem;flex-shrink:0;}
.contact-list li strong{display:block;font-weight:600;color:#111827;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.15rem;}
.contact-list li a{word-break:break-word;text-decoration:none;}
.contact-socials a{color:#6b7280;transition:color .2s ease;text-decoration:none;}
.contact-socials a:hover{color:var(--primary-color);}
.hours-list{list-style:none;padding:.5rem 1.75rem;margin:0;background:#fff;border:1px solid #eef0f3;border-radius:12px;box-shadow:0 6px 18px rgba(0,0,0,.04);}
.hours-list li{display:flex;justify-content:space-between;align-items:center;padding:.85rem 0;border-bottom:1px solid #eef0f3;}
.hours-list li:last-child{border-bottom:0;}
.hours-day{font-weight:600;color:#111827;}
.hours-time{color:#6b7280;}
.hours-time.hours-closed{color:#b45309;font-style:italic;}

.card-icon-white{background:var(--white);}
.contact-social-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background:var(--background-color-4);color:var(--primary-color);font-size:1rem;text-decoration:none;transition:all 0.2s;}
.contact-social-btn:hover{background:var(--primary-color);color:var(--white);}
.contact-sidebar-box h5{margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #eee;}
.location-item{cursor:pointer;transition:background 0.2s;border-radius:6px;padding-left:4px !important;padding-right:4px !important;}
.location-item:hover{background:var(--background-color-4);}
.location-item.active{background:var(--background-color-4);border-color:var(--primary-color) !important;}
.location-item.active .fw-600{color:var(--primary-color);}
.contact-locations-list{scrollbar-width:thin;scrollbar-color:var(--border-color-1) transparent;}
.contact-locations-list::-webkit-scrollbar{width:5px;}
.contact-locations-list::-webkit-scrollbar-thumb{background:var(--border-color-1);border-radius:5px;}

@media (max-width:767px){
    .hero-video img{aspect-ratio:4/5;}
    .google-rating-badge{top:10px;left:10px;}
}

/* Testimonials Page */
.padding-b80{padding-bottom:80px;}
.stats-wrap{margin-top:-50px;position:relative;z-index:2;}
.stats-bar{border:1px solid var(--border-color-1);border-radius:12px;background:var(--white);box-shadow:0 4px 20px rgba(0,0,0,0.08);}
.stats-bar .stat-col{text-align:center;padding:28px 15px;}
.stats-bar .stat-border{border-left:1px solid var(--border-color-1);}
.stats-bar .stat-border-md{border-left:1px solid var(--border-color-1);}
.stats-bar .stat-number{font-size:2.2rem;font-weight:700;color:var(--primary-color);line-height:1.2;}
.stats-bar .stat-label{font-size:0.9rem;color:var(--color-grey);margin-bottom:0;}
.featured-review{background:var(--primary-color);border-radius:12px;overflow:hidden;}
.featured-review-img{height:100%;}
.featured-review-img img{width:100%;height:100%;object-fit:cover;min-height:280px;}
.featured-review-content{padding:40px;}
.featured-review-stars i{color:var(--rating-color);font-size:1rem;}
.featured-review-quote{font-size:1.05rem;line-height:1.8;color:rgba(255,255,255,0.9);}
.testimonial-card{background:var(--white);border:1px solid var(--border-color-1);border-radius:12px;padding:28px;height:100%;display:flex;flex-direction:column;}
.testimonial-card .tc-stars i{color:var(--rating-color);font-size:0.85rem;}
.testimonial-card .tc-text{font-size:0.95rem;line-height:1.7;color:var(--body-color);flex:1;}
.testimonial-card .tc-divider{border-top:1px solid var(--border-color-1);padding-top:16px;}
.testimonial-card .tc-avatar{width:40px;height:40px;min-width:40px;border-radius:50%;background:var(--background-color-4);color:var(--primary-color);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:0.85rem;}
.testimonial-card .tc-name{font-weight:600;margin-bottom:0;}
.testimonial-card .tc-info{font-size:0.85rem;color:var(--color-grey);margin-bottom:0;}
.testimonial-card .tc-service{display:inline-block;background:var(--background-color-4);color:var(--primary-color);font-size:0.75rem;font-weight:600;padding:3px 10px;border-radius:4px;margin-top:8px;}
.video-story-card{border-radius:12px;overflow:hidden;background:var(--white);border:1px solid var(--border-color-1);height:100%;}
.video-story-thumb{position:relative;overflow:hidden;cursor:pointer;}
.video-story-thumb img{width:100%;aspect-ratio:3/3.4;object-fit:cover;transition:transform 0.3s;}
.video-story-card:hover .video-story-thumb img{transform:scale(1.03);}
.video-story-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;background:var(--primary-color);color:var(--white);display:flex;align-items:center;justify-content:center;font-size:1.1rem;box-shadow:0 4px 15px rgba(0,0,0,0.25);transition:transform 0.2s,background 0.2s;text-decoration:none;}
.video-story-card:hover .video-story-play{transform:translate(-50%,-50%) scale(1.1);background:#3d5a96;}
.video-story-duration{position:absolute;bottom:10px;right:10px;background:rgba(0,0,0,0.7);color:#fff;font-size:0.75rem;font-weight:600;padding:3px 8px;border-radius:4px;}
@media (max-width:767px){
    .padding-b80{padding-bottom:60px;}
    .stats-wrap{margin-top:-40px;}
    .stats-bar .stat-border-md{border-left:none;border-top:1px solid var(--border-color-1);}
    .stats-bar .col-6:nth-child(n+3){border-top:1px solid var(--border-color-1);}
    .featured-review-content{padding:24px;}
    .featured-review-quote{font-size:0.95rem;}
    .featured-review-img img{min-height:200px;}
    .testimonial-card{padding:20px;}
}

/* Blog Sidebar */
.blog-sidebar-widget{background:var(--white);border:1px solid var(--border-color-1);border-radius:10px;padding:24px;}
.blog-sidebar-link{color:var(--body-color);text-decoration:none;padding:8px 0;border-bottom:1px solid var(--background-color-2);transition:color 0.2s;}
.blog-sidebar-link:last-child{border-bottom:none;}
.blog-sidebar-link:hover{color:var(--primary-color);}
.blog-sidebar-count{background:var(--background-color-4);color:var(--primary-color);font-size:0.75rem;font-weight:600;padding:2px 10px;border-radius:50px;}
.blog-sidebar-post-img{width:70px;height:70px;min-width:70px;object-fit:cover;}
.blog-sidebar-post-link{color:var(--body-color);text-decoration:none;line-height:1.4;transition:color 0.2s;}
.blog-sidebar-post-link:hover{color:var(--primary-color);}
.blog-sidebar-sticky{position:sticky;top:10px;}
@media (max-width:991px){
    .blog-sidebar{margin-top:2rem;}
    .blog-sidebar .ps-lg-4{padding-left:0 !important;}
    .blog-sidebar-sticky{position:static;}
}

/* Resources Page */
.resource-card{border:1px solid #eee;transition:box-shadow 0.3s ease;cursor:pointer;}
.resource-card:hover{box-shadow:0 8px 30px rgba(0,0,0,0.08);}
.resource-card-img{position:relative;overflow:hidden;}
.resource-card-img img{aspect-ratio:16/10;object-fit:cover;transition:transform 0.3s;}
.resource-card:hover .resource-card-img img{transform:scale(1.03);}
.resource-duration{position:absolute;bottom:10px;right:10px;background:rgba(0,0,0,0.7);color:#fff;font-size:0.75rem;font-weight:600;padding:3px 8px;border-radius:4px;}
.resource-play-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50px;height:50px;border-radius:50%;background:rgba(78,113,182,0.9);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:transform 0.2s,background 0.2s;box-shadow:0 4px 15px rgba(0,0,0,0.3);}
.resource-card:hover .resource-play-overlay{transform:translate(-50%,-50%) scale(1.1);background:var(--primary-color);}
.resource-play-btn{width:60px;height:60px;border-radius:50%;background:var(--primary-color);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:1.2rem;text-decoration:none;transition:transform 0.2s,background 0.2s;box-shadow:0 4px 20px rgba(0,0,0,0.2);}
.resource-play-btn:hover{transform:scale(1.1);background:#3d5a96;color:#fff;}

/* Careers Page */
.career-benefit-card{border:1px solid #eee;border-radius:10px;padding:24px;background:#fff;height:100%;transition:box-shadow 0.3s;}
.benefit-box{padding:45px 30px;}
.nav-pills .nav-link{color:var(--body-color);border:1px solid var(--border-color-1);border-radius:8px;}
.nav-pills .nav-link:hover{color:var(--primary-color);border-color:var(--primary-color);}
.nav-pills .nav-link.active{background:var(--primary-color);border-color:var(--primary-color);color:var(--white);}
.career-benefit-card:hover{box-shadow:0 8px 30px rgba(0,0,0,0.08);}
.career-icon{width:80px;height:80px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:1.2rem;margin-bottom:15px;color:var(--primary-color);}
.position-card{border:1px solid #eee;border-radius:10px;padding:20px;background:#fff;margin-bottom:16px;transition:box-shadow 0.3s;}
.position-card:hover{box-shadow:0 4px 20px rgba(0,0,0,0.08);}
.position-tag{display:inline-block;background:var(--background-color-4);color:var(--primary-color);font-size:0.8rem;font-weight:600;padding:3px 10px;border-radius:4px;margin-right:6px;margin-bottom:6px;}
.perk-card{background:#fff;border-radius:10px;padding:24px;text-align:center;height:100%;}
.step-circle{width:50px;height:50px;border-radius:50%;background:var(--primary-color);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;margin-bottom:15px;}
.process-step-card{border-radius:12px;padding:25px 35px;text-align:left;height:100%;width:90%;}
@media(max-width:767px){.process-step-card{width:100%;}}
.process-step-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.process-step-icon{width:50px;height:50px;min-width:50px;border-radius:50%;background:var(--primary-color);color:var(--white);display:inline-flex;align-items:center;justify-content:center;}
.process-step-icon svg{width:24px;height:24px;}
.process-step-num{font-size:1.4rem;font-weight:700;color:var(--primary-color);line-height:1;}
.process-step-col{position:relative;}
.process-step-arrow{position:absolute;top:32px;right:24px;z-index:10;}
.process-step-arrow-lg{position:absolute;top:37px;right:35px;z-index:10;}
@media(max-width:991px){.process-step-arrow,.process-step-arrow-lg{display:none !important;}}
.perks-section{background:var(--primary-color);}

/* ===== HOW IT WORKS — CARD VARIANT ===== */
.chowivworks{background:linear-gradient(160deg,var(--background-color-4) 0%,#f8f9fa 50%,#edf2fb 100%);position:relative;overflow:hidden;}
.chowivworks::before,.chowivworks::after{content:'';position:absolute;border-radius:50%;opacity:0.06;background-color:var(--primary-color);pointer-events:none;}
.chowivworks::before{width:400px;height:400px;top:-120px;right:-100px;}
.chowivworks::after{width:300px;height:300px;bottom:-80px;left:-80px;}
.chowivworks .container{position:relative;}
.chowivworks-intro{text-align:center;max-width:640px;margin:0 auto 3.5rem;position:relative;z-index:1;}
.cprocess-steps-row{position:relative;z-index:1;}
@media(min-width:992px){.cprocess-steps-row>.col-lg-4{display:flex;}}
.cprocess-step{position:relative;z-index:1;margin-bottom:2rem;height:100%;}
.cprocess-card{background:white;border-radius:20px;padding:2.5rem 2rem 2rem;text-align:center;height:100%;position:relative;overflow:hidden;border:1px solid #e8ecef;box-shadow:0 4px 20px rgba(0,0,0,0.04);transition:all 0.45s cubic-bezier(0.25,0.46,0.45,0.94);display:flex;flex-direction:column;}
.cprocess-card:hover{transform:translateY(-10px);box-shadow:0 20px 50px rgba(78,113,182,0.15);border-color:rgba(78,113,182,0.3);}
.cprocess-card::before{content:'';position:absolute;top:-1px;left:-1px;right:-1px;height:6px;background:linear-gradient(90deg,var(--primary-color),#6b9ae8);border-radius:20px 20px 0 0;opacity:0;transition:opacity 0.4s ease;}
.cprocess-card:hover::before{opacity:1;}
.cstep-watermark{position:absolute;top:5px;right:20px;font-size:7rem;font-weight:700;line-height:1;color:rgba(78,113,182,0.06);pointer-events:none;transition:all 0.4s ease;z-index:0;}
.cprocess-card:hover .cstep-watermark{color:rgba(78,113,182,0.1);transform:scale(1.05);}
.cprocess-icon{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--background-color-4) 0%,#d6e4f7 100%);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;position:relative;z-index:1;transition:all 0.4s ease;}
.cprocess-icon i{font-size:1.75rem;color:var(--primary-color);transition:all 0.4s ease;}
.cprocess-card:hover .cprocess-icon{background:linear-gradient(135deg,var(--primary-color) 0%,#6b9ae8 100%);box-shadow:0 8px 25px rgba(78,113,182,0.35);transform:scale(1.08);}
.cprocess-card:hover .cprocess-icon i{color:white;}
.cstep-label{display:inline-block;align-self:center;font-size:0.7rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:white;background:linear-gradient(135deg,var(--primary-color),#6b9ae8);padding:0.3rem 1rem;border-radius:20px;margin-bottom:1rem;}
.cprocess-card h3{font-size:1.2rem;font-weight:700;color:#1a1a1a;margin-bottom:0.85rem;position:relative;z-index:1;}
.cprocess-card p{color:#6c757d;font-size:0.92rem;line-height:1.75;margin:0;position:relative;z-index:1;}
.cstep-arrow{display:none;}
@media(min-width:992px){
.cstep-arrow{display:flex;align-items:center;justify-content:center;position:absolute;right:-26px;top:42px;z-index:5;width:52px;height:52px;background:white;border-radius:50%;box-shadow:0 3px 12px rgba(0,0,0,0.08);border:2px solid #e8ecef;transition:all 0.4s ease;}
.cstep-arrow i{color:var(--primary-color);font-size:1rem;transition:transform 0.3s ease;}
.cprocess-card:hover+.cstep-arrow,.cprocess-step:hover .cstep-arrow{border-color:var(--primary-color);box-shadow:0 4px 16px rgba(78,113,182,0.2);}
.cprocess-step:hover .cstep-arrow i{transform:translateX(3px);}
}
.cprocess-cta{text-align:center;margin-top:3rem;position:relative;z-index:1;}

/* ===== NEWSLETTER POPUP ===== */
.nl-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.55);z-index:9999;padding:1rem;}
.nl-overlay.active{display:flex;align-items:center;justify-content:center;}
.nl-popup{background:#fff;border-radius:16px;overflow:hidden;max-width:760px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px rgba(0,0,0,0.25);animation:nlSlideUp 0.4s ease;}
@keyframes nlSlideUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}
.nl-close{position:absolute;top:12px;right:14px;background:rgba(255,255,255,0.9);border:none;font-size:1.5rem;color:#333;cursor:pointer;z-index:2;line-height:1;width:32px;height:32px;border-radius:50%;transition:all 0.2s;}
.nl-close:hover{background:#fff;color:#000;}
.nl-popup .col-md-6 img{width:100%;display:block;}
@media(min-width:768px){.nl-popup .col-md-6 img{height:100%;object-fit:cover;object-position:center;}}
/* To show left/right side of image, override on instance: object-position:left|right|center; */
.nl-form input[type="email"]{border:1px solid #ddd;border-radius:8px;padding:0.6rem 1rem;font-size:0.95rem;}
.nl-form input[type="email"]:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(78,113,182,0.1);outline:none;}
.nl-form .btn{border-radius:8px;}
.nl-noshow{cursor:pointer;}
.nl-noshow input{cursor:pointer;accent-color:var(--primary-color);}

/* Stripe Embedded Checkout in booking popup — fill payment column width */
.booking-step[data-step="6"] .booking-stripe-checkout,
#bookingStripeCheckout.booking-stripe-checkout{width:100%;max-width:100%;box-sizing:border-box;}
.booking-stripe-checkout--embedded{min-height:420px;width:100%;max-width:100%;display:block;}
.booking-stripe-checkout--embedded > div,
.booking-stripe-checkout--embedded > *,
.booking-stripe-checkout--embedded [class*="Private"],
.booking-stripe-checkout--embedded [class*="Checkout"]{width:100% !important;max-width:100% !important;box-sizing:border-box;}
.booking-stripe-checkout iframe,
.booking-stripe-checkout--embedded iframe{width:100% !important;max-width:100% !important;min-width:100%;display:block;border:0;border-radius:12px;}
.booking-stripe-checkout-status{margin:0;padding:0;text-align:center;font-size:0.88rem;color:#6c757d;}

/* Contact thank-you page (contact-thank-you.html) */
.thankyou-section{background:linear-gradient(135deg,#ecf4fd 0%,#f7fafd 100%);padding-top:5rem;padding-bottom:5rem;min-height:calc(100vh - 280px);display:flex;align-items:center;}
.thankyou-card{background:#fff;border-radius:24px;padding:64px 48px;box-shadow:0 20px 60px rgba(78,113,182,0.18),0 4px 16px rgba(0,0,0,0.04);position:relative;}
.thankyou-check-wrap{width:104px;height:104px;background:rgba(74,181,43,0.12);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:thankyou-pop 0.6s cubic-bezier(0.34,1.56,0.64,1);}
.thankyou-check{width:76px;height:76px;background:var(--color-green,#4ab52b);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(74,181,43,0.35);}
.thankyou-check svg{width:38px;height:38px;}
@keyframes thankyou-pop{0%{transform:scale(0);opacity:0;}100%{transform:scale(1);opacity:1;}}
.thankyou-heading{font-size:2rem;color:var(--body-color,#383838);line-height:1.25;}
.thankyou-subhead{font-size:1.2rem;letter-spacing:0.2px;}
.thankyou-divider{width:60px;border:0;border-top:3px solid var(--primary-color,#4e71b6);opacity:1;border-radius:2px;margin-top:1.5rem;}
.thankyou-body{max-width:680px;color:#5a5a5a;line-height:1.75;font-size:1rem;}
@media (max-width:767.98px){
.thankyou-section{padding-top:3rem;padding-bottom:3rem;min-height:auto;}
.thankyou-card{padding:40px 24px;border-radius:18px;}
.thankyou-heading{font-size:1.55rem;}
.thankyou-subhead{font-size:1.05rem;}
.thankyou-check-wrap{width:88px;height:88px;}
.thankyou-check{width:64px;height:64px;}
.thankyou-check svg{width:32px;height:32px;}
}
.booking-payment-step--locked .booking-main-content{opacity:0.72;}
.booking-payment-step--locked input,
.booking-payment-step--locked textarea,
.booking-payment-step--locked button,
.booking-payment-step--locked select{cursor:not-allowed;}
#bookingStripeCheckoutError:not(.d-none){scroll-margin-top:1rem;}
.booking-remove-coupon{font-size:0.82rem;font-weight:600;color:var(--primary-color,#4e71b6);text-decoration:underline;cursor:pointer;border:none;background:none;padding:0;margin-left:0.25rem;vertical-align:baseline;}
.booking-remove-coupon:hover{color:var(--highlight-color,#4e71b6);text-decoration:underline;}

/* Site search (/search) */
.search-form-main .input-group{box-shadow:0 6px 18px rgba(0,0,0,.05);border-radius:999px;overflow:hidden;}
.search-form-main .form-control{border:1px solid #e5e7eb;border-right:0;padding:.85rem 1.1rem;font-size:1rem;}
.search-form-main .form-control:focus{box-shadow:none;border-color:#e5e7eb;}
.search-form-main .btn{border-radius:0;padding:0 1.4rem;}
.search-form-main .input-group>.form-control{border-top-left-radius:999px !important;border-bottom-left-radius:999px !important;}
.search-form-main .input-group>.btn{border-top-right-radius:999px !important;border-bottom-right-radius:999px !important;display:flex;align-items:center;justify-content:center;min-width:3.25rem;}
.search-section-head{display:flex;justify-content:space-between;align-items:end;flex-wrap:wrap;gap:.5rem;margin-bottom:1.75rem;padding-bottom:.85rem;border-bottom:1px solid #eef0f3;}
.search-section-head h2{margin:0;}
.search-section-count{color:#6b7280;font-weight:400;font-size:.95rem;}
.search-section-link{font-size:.9rem;}
.search-card-label{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;margin-bottom:.35rem;}
.search-card-label i{font-size:.78rem;}
.search-card{display:flex;flex-direction:column;background:#fff;border:1px solid #eef0f3;border-radius:10px;padding:1.4rem;height:100%;text-decoration:none;color:inherit;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;}
.search-card:hover{box-shadow:0 10px 28px rgba(0,0,0,.06);transform:translateY(-2px);color:inherit;border-color:#e2e6ec;}
.search-card-title{font-size:1.05rem;font-weight:600;color:#111827;margin:0 0 .4rem;line-height:1.35;}
.search-card-snippet{color:#6b7280;font-size:.9rem;line-height:1.55;margin-bottom:.9rem;}
.search-card-snippet mark,.blog-excerpt mark,.search-page-snippet mark{background:#fff3a0;color:inherit;padding:0 .12em;border-radius:3px;}
.search-card-meta{color:#6b7280;font-size:.82rem;display:flex;flex-wrap:wrap;gap:.35rem .9rem;align-items:center;margin-bottom:.65rem;}
.search-card .btn{margin-top:auto;align-self:flex-start;}
.search-card-price{font-size:1.1rem;font-weight:600;}
.search-loc-row{display:flex;align-items:center;gap:.55rem;color:#6b7280;font-size:.88rem;margin-bottom:.4rem;}
.search-loc-row i{width:18px;text-align:center;}
.search-pages-list{list-style:none;padding:0;margin:0;}
.search-pages-list li{padding:1.1rem 0;border-bottom:1px solid #eef0f3;}
.search-pages-list li:last-child{border-bottom:0;}
.search-pages-list h3{font-size:1.05rem;font-weight:600;margin:0 0 .3rem;}
.search-pages-list h3 a{color:#111827;text-decoration:none;}
.search-pages-list h3 a:hover{color:inherit;}
.search-page-path{color:#9ca3af;font-size:.78rem;margin:0 0 .2rem;}
.search-page-snippet{color:#6b7280;font-size:.9rem;margin:0;}
.search-no-results{background:#fff;border:1px dashed #e5e7eb;border-radius:12px;padding:3rem 1.5rem;text-align:center;}
.search-no-results-icon{color:#9ca3af;font-size:2rem;margin-bottom:.9rem;}
.search-filter-tabs{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;}
.search-filter-tab{background:var(--white);border:1px solid var(--border-color-1);border-radius:8px;padding:8px 20px;font-family:inherit;font-size:0.9rem;font-weight:500;color:var(--body-color);cursor:pointer;transition:all 0.2s;}
.search-filter-tab:hover{border-color:var(--primary-color);color:var(--primary-color);}
.search-filter-tab.active{background:var(--primary-color);border-color:var(--primary-color);color:var(--white);font-weight:600;}
@media(max-width:768px){.search-filter-tab{padding:6px 14px;font-size:0.82rem;}}
.search-page main{background:var(--white);}
.search-page .search-section .row>[class*="col-"]{display:flex;}
.search-page .search-section .row>[class*="col-"]>.search-card,
.search-page .search-section .row>[class*="col-"]>.blog-box-grid{width:100%;}
.search-card-location .btn{align-self:flex-start;}
.search-page .search-card .open-booking-popup{pointer-events:auto;position:relative;z-index:1;}
.search-page [data-aos]{opacity:1 !important;transform:none !important;}
