/* ==========================================================================
   MOBILE HEADER + DRAWER REFINEMENT
   Fix closed-drawer leak · larger logo · larger banner · care-bar vs CTA
   Compact only. Desktop nav unchanged.
   ========================================================================== */

@media (max-width: 1099px) {
	/* --- Drawer leak: higher specificity than .navigation-inner .primary-nav --- */
	.site-header .navigation-inner .primary-nav,
	.site-header .primary-nav {
		left: 0 !important;
		right: auto !important;
		width: min(86vw, 380px) !important;
		max-width: 88vw !important;
		box-shadow: none !important;
		visibility: hidden !important;
		opacity: 1;
		pointer-events: none !important;
		transform: translate3d(calc(-100% - 80px), 0, 0) !important;
	}

	.site-header .navigation-inner .primary-nav.is-open,
	.site-header .primary-nav.is-open {
		visibility: visible !important;
		pointer-events: auto !important;
		transform: translate3d(0, 0, 0) !important;
		box-shadow: 12px 0 40px rgba(8, 28, 30, 0.28) !important;
		padding-bottom: calc(28px + env(safe-area-inset-bottom, 0px)) !important;
	}

	.nav-drawer-overlay:not([hidden]) {
		display: block;
	}

	.nav-drawer-overlay[hidden] {
		display: none !important;
		visibility: hidden;
		pointer-events: none;
	}

	/* --- Logo + header breathing room --- */
	.site-header .identity-row.container,
	.site-header .identity-row {
		min-height: 84px;
		padding-top: 10px !important;
		padding-bottom: 10px !important;
		padding-left: 16px !important;
		padding-right: 16px !important;
		align-items: center !important;
	}

	.header-brand {
		width: min(52vw, 220px) !important;
		max-width: 52% !important;
		height: auto !important;
	}

	.header-brand img {
		height: 76px !important;
		width: auto !important;
		max-width: 100%;
		transform: none !important;
		object-fit: contain;
	}

	.menu-toggle {
		min-width: 48px !important;
		min-height: 48px !important;
		align-self: center;
	}

	/* Hide page sticky care bar while drawer is open so EMR/Booking stay reachable */
	body.has-mobile-nav .mobile-care-bar {
		display: none !important;
	}
}

@media (max-width: 1099px) and (min-width: 768px) {
	.header-brand {
		width: min(42vw, 240px) !important;
	}

	.header-brand img {
		height: 88px !important;
	}

	.site-header .identity-row {
		min-height: 96px;
	}
}

@media (max-width: 767px) {
	.header-brand {
		width: min(50vw, 210px) !important;
	}

	.header-brand img {
		height: 74px !important;
	}

	.site-header .identity-row {
		min-height: 80px;
	}

	/* Banner: taller hero, keep faces in frame */
	.marketing-banner-section {
		margin: 0;
		padding: 0;
	}

	.home-marketing-slider,
	.marketing-slides {
		min-height: 280px !important;
		height: min(48vh, 400px) !important;
		aspect-ratio: auto !important;
	}

	.marketing-slide,
	.marketing-slide picture {
		width: 100%;
		height: 100%;
	}

	.marketing-slide > img,
	.marketing-slide picture img,
	.marketing-slide:first-child > img {
		width: 100%;
		height: 100%;
		object-fit: cover !important;
		object-position: center 32% !important;
	}
}

@media (max-width: 414px) {
	.header-brand {
		width: min(52vw, 200px) !important;
	}

	.header-brand img {
		height: 72px !important;
	}
}

@media (max-width: 375px) {
	.header-brand {
		width: min(54vw, 196px) !important;
	}

	.header-brand img {
		height: 70px !important;
	}

	.marketing-slides,
	.home-marketing-slider {
		min-height: 260px !important;
		height: min(46vh, 360px) !important;
	}
}
