/* ----------------------------------------------------------------
	Canvas: Supplements
-----------------------------------------------------------------*/

:root {
	/* ----------------------------------------------------------------
		Medical Theme (Cohen Family Podiatry) - Blue Palette
	-----------------------------------------------------------------*/
	--cnvs-themecolor: #1f6fb2;          /* Primary Blue */
	--cnvs-themecolor-rgb: 31, 111, 178;

	--cnvs-themecolor-darker: #0b2a3f;   /* Deep Navy */
	--cnvs-body-bg: var(--cnvs-themecolor-darker);

	--cnvs-body-font: "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", "Liberation Sans", sans-serif;
	--cnvs-primary-font: "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", "Liberation Sans", sans-serif;

	--cnvs-side-header-width: 300px;
	--cnvs-side-panel-size: 360px;

	/* Extra Accents */
	--medical-accent-soft: #e6f1fb;
	--medical-accent-mid:  #4ea3e3;
	--medical-text-dark:   #0b2a3f;
}
.shape-divider-fill {
	fill: var(--bs-white);
}

#content {
	background-color: var(--bs-white);
}

.dark {
	--cnvs-header-bg: var(--cnvs-themecolor-darker);
	--cnvs-header-sticky-bg: transparent;
	--cnvs-footer-bg: var(--cnvs-themecolor-darker);
}

#header {
	--cnvs-primary-menu-font: var(--cnvs-body-font);
	--cnvs-primary-menu-font-weight: 600;
	--cnvs-primary-menu-color: var(--cnvs-contrast-800);
	--cnvs-primary-menu-hover-color: var(--cnvs-contrast-1000);
	--cnvs-primary-menu-tt:	none;
	--cnvs-primary-menu-ls:	0;
	--cnvs-primary-menu-font-size: 1rem;
	--cnvs-header-misc-icons-size: 1.5rem;
}

.is-expanded-menu .menu-link {
	--cnvs-primary-menu-padding-x: 20px;
}

.slider-element {
	margin-top: -1px;
	background-color: var(--cnvs-themecolor-darker);
}

#side-panel {
	--cnvs-side-panel-bg: var(--cnvs-themecolor);
}

.hero-diagonal {
	position: absolute;
	width: 100%;
	height: 50%;
	left: 0;
	bottom: 0;
	clip-path: polygon(0 82%, 100% 0, 100% 100%, 0% 100%);
	background-color: var(--cnvs-themecolor);;
}

.iconlist li i {
	--cnvs-iconlist-size: 1.5rem;
	--cnvs-iconlist-offset: 4px;
	font-size: var(--cnvs-iconlist-size);
}

.header-misc-element,
.header-misc-icon {
	margin: 0 12px;
}

.side-panel-trigger a {
	background-color: #FFF;
	color: var(--cnvs-themecolor);;
	display: block;
    width: 24px;
    height: 24px;
    line-height: 21px;
    text-align: center;
    border-radius: 50%;
}

body:not(.is-expanded-menu) .side-panel-trigger a {
	margin-right: 0.5rem;
}

.swiper-wrapper {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	transition-timing-function: linear !important;
}

:not(.active) .tab-icon-active img:last-child,
.active .tab-icon-active img:first-child {
	display: none;
}

.active .tab-icon-active img:last-child {
	display: block;
}

.testimonial .flex-control-nav {
	position: relative;
	justify-content: flex-start;
	top: 0;
	left: 0;
	right: auto;
	margin-top: 20px;
}

.nav-link span {
	font-weight: 600;
}

.nav-link.active span {
	font-weight: 700;
}

.canvas-alt-tabs.tabs-bb .nav-link.active {
	position: relative;
	border-bottom: 0;
	padding-bottom: 1rem;
}

.canvas-alt-tabs.tabs-bb .nav-link.active::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 10%;
	height: 0.25rem;
	border-radius: 2rem;
	background-color: var(--cnvs-themecolor);
	transform: translateX(-50%);
}

/* --------------------------------------------------------------
	Custom Additions (Page Title + Open/Closed Status)
-------------------------------------------------------------- */
.page-title-area {
	background: linear-gradient(135deg, var(--cnvs-themecolor-darker), var(--cnvs-themecolor));
	color: #fff;
}
.page-title-area .breadcrumb a { color: rgba(255,255,255,.85); }
.page-title-area .breadcrumb .breadcrumb-item.active { color: rgba(255,255,255,.75); }

.office-status-badge {
	font-weight: 700;
	letter-spacing: .02em;
	text-transform: uppercase;
}

.contact-card {
	border: 1px solid rgba(11,42,63,.12);
	border-radius: 16px;
}

.insurance-logo {
	max-height: 36px;
	filter: grayscale(100%);
	opacity: .85;
}

.hero-subcopy {
	font-size: 1.1rem;
	opacity: .9;
}

.service-pill {
	background: var(--medical-accent-soft);
	color: var(--medical-text-dark);
	border-radius: 999px;
	padding: .35rem .8rem;
	display: inline-block;
	margin: .25rem .35rem .25rem 0;
	font-weight: 600;
	font-size: .92rem;
}


/* --------------------------------------------------------------
   High-Legibility Readability Tweaks (Elder-Friendly)
-------------------------------------------------------------- */
body {
	font-size: 18px;
	line-height: 1.7;
	-webkit-text-size-adjust: 100%;
	text-rendering: optimizeLegibility;
}
p, li { max-width: 75ch; }
a { text-underline-offset: 3px; }
:focus-visible {
	outline: 3px solid rgba(78,163,227,.55);
	outline-offset: 2px;
	border-radius: 6px;
}

/* --- Nav Responsive Shrink (LG+) ---
   Goal: Keep main nav labels on one line and allow them to shrink gracefully
   on large screens without wrapping, while preserving the template structure.
-------------------------------------------------------------------------- */
@media (min-width: 992px) {
	/* Ensure the main menu behaves like a single-row flex line */
	.primary-menu .menu-container {
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
	}

	/* Allow items to shrink rather than force wrap/overflow */
	.primary-menu .menu-container > .menu-item {
		flex: 0 1 auto;
		min-width: 0;
	}

	/* Keep labels on one line, but permit shrink */
	.primary-menu .menu-link {
		min-width: 0;
		white-space: nowrap;
	}

	/* Make the clickable label itself shrink (Canvas wraps text in a <div>) */
	.primary-menu .menu-link > div {
		min-width: 0;
		white-space: nowrap;
	}

	/* Reduce horizontal padding and scale font slightly as viewport tightens */
	#header {
		/* smaller padding on LG+, still readable */
		--cnvs-primary-menu-padding-x: clamp(10px, 1.2vw, 18px);
		/* subtle font scaling: never below 0.95rem, never above 1rem */
		--cnvs-primary-menu-font-size: clamp(0.95rem, 0.55vw + 0.70rem, 1rem);
	}

	/* If your template uses the expanded-menu variant, keep it responsive too */
	.is-expanded-menu .menu-link {
		--cnvs-primary-menu-padding-x: clamp(10px, 1.2vw, 18px);
	}
}
/* --- End Nav Responsive Shrink --- */
