/**
 * ADIC brand layer (2026 refresh)
 *
 * Loaded after style.css on the front end and in the editor.
 * Overrides tokens and components without touching the compiled base stylesheet.
 * Palette values live in theme.json; this file only maps and applies them.
 */

:root {
	--color-ink: var(--wp--preset--color--primary, #1A1A1A);
	--color-amber: var(--wp--preset--color--tertiary, #FFB53E);
	--color-sunshine: var(--wp--preset--color--sunshine, #FED53B);
	--color-sky-light: var(--wp--preset--color--sky-light, #95D3F8);
	--color-sky: var(--wp--preset--color--sky, #63C3F3);
	--color-sage: var(--wp--preset--color--sage, #B0D6A7);
	--color-green: var(--wp--preset--color--green, #8CC47B);
	--color-green-text: var(--wp--preset--color--green-text, #3A7330);
	--color-green-tint: var(--wp--preset--color--green-tint, #F2F7E6);
	--color-link-hover: #084E70;

	--brand-stripe: linear-gradient(90deg,
		#95D3F8 0 16.66%,
		#63C3F3 16.66% 33.33%,
		#B0D6A7 33.33% 50%,
		#8CC47B 50% 66.66%,
		#FED53B 66.66% 83.33%,
		#FFB53E 83.33% 100%);
	--brand-stripe-height: 8px;
	--radius-card: 24px;
	--radius-pill: 999px;
}

/* ---------- Brand stripe ---------- */

.brand-stripe,
.wp-block-separator.is-style-brand-stripe {
	display: block;
	width: 100%;
	max-width: none;
	height: var(--brand-stripe-height);
	margin-inline: 0;
	border: 0;
	background: var(--brand-stripe);
	opacity: 1;
}

.is-style-stripe-bottom {
	border-bottom: var(--brand-stripe-height) solid;
	border-image: var(--brand-stripe) 1;
}

.is-style-stripe-top {
	border-top: var(--brand-stripe-height) solid;
	border-image: var(--brand-stripe) 1;
}

/* ---------- Buttons: Amber pill with ink text (matches campaign CTA) ---------- */

.wp-block-button__link,
input[type=submit],
.gform_button,
.gform-button,
.wp-block-file__button {
	--padding-x: 24px;
	--padding-y: 13px;
	--text-color: var(--color-ink);
	--bg-color: var(--color-amber);
	--text-color-hover: var(--color-ink);
	--bg-color-hover: var(--color-sunshine);
	--border-radius: var(--radius-pill);
}

/* Secondary style: dark pill, used for "Book" actions on light backgrounds. */
.wp-block-button.is-style-ink .wp-block-button__link {
	--text-color: #FFFFFF;
	--bg-color: var(--color-ink);
	--text-color-hover: var(--color-ink);
	--bg-color-hover: var(--color-amber);
}

/* ---------- Header ---------- */

.site-pre-header {
	background-color: var(--color-ink);
	border-bottom: 0;
	color: #FFFFFF;
}

.site-pre-header a,
.site-pre-header .province-select-open {
	color: #FFFFFF;
}

.site-header {
	position: relative;
	border-bottom: 0;
}

.site-header::after {
	content: "";
	position: absolute;
	inset: auto 0 0 0;
	height: 4px;
	background: var(--brand-stripe);
}

.site-header .nav-primary a {
	color: var(--color-ink);
	font-weight: 600;
}

.site-header .nav-primary a:hover,
.site-header .nav-primary a:focus-visible {
	color: var(--wp--preset--color--secondary, #0A6591);
}

/* ---------- Footer ---------- */

.footer {
	border-top: var(--brand-stripe-height) solid;
	border-image: var(--brand-stripe) 1;
}

.footer .footer-logo {
	display: inline-flex;
	padding: 14px 18px;
	background: #FFFFFF;
	border-radius: 16px;
}

.footer .footer-logo :where(img, svg) {
	width: 180px;
	height: auto;
	display: block;
}

.footer .footer-tagline {
	margin: 1rem 0 0;
	font-size: 1.125rem;
	font-weight: 700;
	color: #FFFFFF;
}

.footer .footer-attribution {
	margin: 1rem 0 0;
	font-size: 0.8rem;
	opacity: 0.75;
}

.footer h2,
.footer h3,
.footer .widget-title {
	color: var(--color-sunshine);
}

/* ---------- Focus visibility on the new colours ---------- */

:where(a, button, .wp-block-button__link):focus-visible {
	outline: 3px solid var(--color-sky);
	outline-offset: 3px;
}

/* ---------- Shared pill buttons (homepage, clinic pages) ---------- */

.adic-btn {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 52px;
	padding: 0 26px;
	border: 2px solid transparent;
	border-radius: var(--radius-pill);
	font-family: inherit;
	font-weight: 700;
	font-size: 17px;
	line-height: 1.2;
	text-decoration: none !important;
	cursor: pointer;
	transition: background 0.2s, color 0.2s, border-color 0.2s, transform 0.2s;
}

.adic-btn--primary {
	background: var(--color-amber);
	border-color: var(--color-amber);
	color: var(--color-ink) !important;
}

.adic-btn--primary:hover,
.adic-btn--primary:focus-visible {
	background: var(--color-sunshine);
	border-color: var(--color-sunshine);
}

.adic-btn--ghost {
	background: #FFFFFF;
	border-color: var(--color-ink);
	color: var(--color-ink) !important;
}

.adic-btn--ghost:hover,
.adic-btn--ghost:focus-visible {
	background: var(--color-ink);
	color: #FFFFFF !important;
}

.adic-btn--dark {
	background: var(--color-ink);
	border-color: var(--color-ink);
	color: #FFFFFF !important;
}

.adic-btn--dark:hover,
.adic-btn--dark:focus-visible {
	background: var(--color-amber);
	border-color: var(--color-amber);
	color: var(--color-ink) !important;
}

.adic-btn--light {
	background: transparent;
	border-color: #FFFFFF;
	color: #FFFFFF !important;
}

.adic-btn--light:hover,
.adic-btn--light:focus-visible {
	background: #FFFFFF;
	color: var(--color-ink) !important;
}

.adic-btn--sm {
	min-height: 42px;
	padding: 0 18px;
	font-size: 15px;
}

.adic-btn--block {
	width: 100%;
}

/* Shared section eyebrow */
.adic-eyebrow {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-green-text);
}

/* ---------- Header: "Find your dentist" icon colour ---------- */

.header-search .wp-block-button__link .icon-search {
	color: var(--color-ink);
	width: 18px;
	height: 18px;
}

.header-search .wp-block-button__link .icon-search::before {
	mask-repeat: no-repeat;
	mask-position: center;
}

/* ---------- Locations mega menu ---------- */

.adic-mm-item {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 2px;
}

.adic-mm__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--color-ink);
	cursor: pointer;
	transition: background 0.2s, transform 0.2s;
}

.adic-mm__toggle:hover {
	background: #F1F3F7;
}

.adic-mm-item.is-open .adic-mm__toggle svg {
	transform: rotate(180deg);
}

.adic-mm__toggle svg {
	transition: transform 0.2s;
}

.adic-mm[hidden] {
	display: none !important;
}

.adic-mm {
	box-sizing: border-box;
	color: var(--color-ink);
	text-align: left;
}

.adic-mm *,
.adic-mm *::before,
.adic-mm *::after {
	box-sizing: border-box;
}

.adic-mm p {
	margin: 0;
}

.adic-mm__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
}

.adic-mm__main {
	padding: 28px 32px 32px;
	min-width: 0;
}

.adic-mm__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px 24px;
	padding-bottom: 18px;
	margin-bottom: 22px;
	border-bottom: 1px solid #E6EAEE;
}

.adic-mm__eyebrow {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--color-green-text);
}

.adic-mm__title {
	font-size: 26px;
	font-weight: 700;
	line-height: 1.15;
}

.adic-mm__search {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 18px;
	border-radius: 999px;
	background: var(--wp--preset--color--quaternary, #EAF6FE);
	color: var(--color-ink) !important;
	font-weight: 700;
	text-decoration: none !important;
	transition: background 0.2s;
}

.adic-mm__search:hover,
.adic-mm__search:focus-visible {
	background: var(--color-sky-light);
}

.adic-mm__cities {
	column-width: 190px;
	column-gap: 28px;
}

.adic-mm__city {
	break-inside: avoid;
	margin-bottom: 20px;
}

.adic-mm__city-name {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 6px !important;
	font-size: 16px;
	font-weight: 700;
}

.adic-mm__city-name::before {
	content: "";
	flex: 0 0 auto;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--tint);
}

.adic-mm__city-name span {
	padding: 1px 8px;
	border-radius: 999px;
	background: #F1F3F7;
	font-size: 12px;
	color: #4A535C;
}

.adic-mm__city ul {
	list-style: none;
	margin: 0;
	padding: 0 0 0 18px;
}

.adic-mm__city li {
	margin: 0;
	padding: 0;
}

.adic-mm__city a {
	display: block;
	padding: 4px 0;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.35;
	color: #3B434B !important;
	text-decoration: none !important;
	transition: color 0.15s;
}

.adic-mm__city a:hover,
.adic-mm__city a:focus-visible {
	color: var(--wp--preset--color--secondary, #0A6591) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

.adic-mm__card {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	padding: 32px 28px;
	background: var(--color-sunshine);
}

.adic-mm__card::after {
	content: "";
	position: absolute;
	width: 240px;
	height: 240px;
	right: -90px;
	bottom: -120px;
	border-radius: 50%;
	background: var(--color-amber);
	z-index: 0;
}

.adic-mm__card > * {
	position: relative;
	z-index: 1;
}

.adic-mm__card-kicker {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.adic-mm__card-title {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.15;
}

.adic-mm__card-text {
	font-size: 15px;
	color: #3D3A2C;
	margin-bottom: 6px !important;
}

.adic-mm__card-link {
	margin-top: auto;
	font-weight: 700;
	color: var(--color-ink) !important;
	text-decoration: underline !important;
	text-underline-offset: 4px;
}

/* Desktop: floating panel under the header */
@media (min-width: 1200px) {
	.adic-mm {
		position: fixed;
		left: 50%;
		top: 96px;
		z-index: 1000;
		width: min(1240px, calc(100vw - 48px));
		max-height: calc(100vh - 120px);
		overflow: auto;
		overscroll-behavior: contain;
		border-radius: 28px;
		background: #FFFFFF;
		box-shadow: 0 30px 80px rgba(10, 41, 66, 0.18), 0 2px 6px rgba(26, 26, 26, 0.06);
		opacity: 0;
		transform: translate(-50%, 8px);
		transition: opacity 0.2s ease, transform 0.25s cubic-bezier(0.05, 0.7, 0.1, 1);
	}

	.adic-mm::before {
		content: "";
		position: sticky;
		top: 0;
		display: block;
		height: 6px;
		background: var(--brand-stripe);
		z-index: 2;
	}

	.adic-mm.is-visible {
		opacity: 1;
		transform: translate(-50%, 0);
	}

	/* Invisible bridge so the pointer can move from the menu item into the panel. */
	.adic-mm-item.is-open::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		height: 40px;
		top: 100%;
	}

	.adic-mm-item {
		position: relative;
	}
}

/* Mobile menu: expands in place */
@media (max-width: 1199px) {
	.adic-mm {
		flex: 0 0 100%;
		margin-top: 8px;
		border-radius: 20px;
		background: #F8FAFF;
		overflow: hidden;
	}

	.adic-mm__inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.adic-mm__main {
		padding: 18px 18px 6px;
	}

	.adic-mm__title {
		font-size: 20px;
	}

	.adic-mm__cities {
		column-width: 160px;
	}

	.adic-mm__card {
		padding: 22px 18px;
	}

	.adic-mm__toggle {
		width: 44px;
		height: 44px;
		margin-left: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.adic-mm,
	.adic-mm__toggle svg {
		transition: none !important;
	}
}

/* ======================= DROPDOWN PANELS (About, How We Help) ======================= */
/* The theme's own dropdowns, restyled as compact panels with an icon and a one-line
   description per link (description: Appearance > Menus, Screen Options > Description). */

@media (min-width: 1200px) {
	.nav-primary .menu > li.menu-item-has-children:not(.adic-mm-item) {
		position: relative;
	}

	.nav-primary .menu > li > .mega-menu.depth_0 {
		left: 50%;
		top: calc(100% + 18px);
		width: min(720px, calc(100vw - 48px));
		transform: translateX(-50%);
		display: block;
		padding: 0;
		overflow: hidden;
		border-radius: 24px;
		box-shadow: 0 30px 80px rgba(10, 41, 66, 0.18), 0 2px 6px rgba(26, 26, 26, 0.06);
	}

	.nav-primary .menu > li > .mega-menu.depth_0:not(.is-active):not(.is-anim) {
		display: none;
	}

	.nav-primary .menu > li > .mega-menu.depth_0::before {
		content: "";
		display: block;
		height: 5px;
		background: var(--brand-stripe);
	}

	/* Bridge so the pointer can travel from the menu item to the panel. */
	.nav-primary .menu > li > .mega-menu.depth_0::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: -20px;
		height: 20px;
	}

	.nav-primary .mega-menu.depth_0 > nav {
		padding: 16px;
	}

	.nav-primary .mega-menu.depth_0 > nav > ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 4px;
		margin: 0;
	}

	/* First link (the overview page) runs across the top. */
	.nav-primary .mega-menu.depth_0 > nav > ul > li:first-child {
		grid-column: 1 / -1;
		margin-bottom: 6px !important;
		padding-bottom: 6px;
		border-bottom: 1px solid #E6EAEE;
	}
}

.nav-primary .mega-menu.depth_0 > nav > ul li a {
	display: grid !important;
	grid-template-columns: 40px minmax(0, 1fr);
	grid-template-rows: auto auto;
	column-gap: 14px;
	align-items: center;
	width: 100%;
	padding: 10px 12px !important;
	border-radius: 14px;
	color: var(--color-ink) !important;
	text-decoration: none !important;
	transition: background-color 0.18s;
}

.nav-primary .mega-menu.depth_0 > nav > ul li a::before {
	content: "";
	grid-row: 1 / span 2;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background-color: var(--ico-bg, #F1F3F7);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 20px;
	transition: transform 0.2s;
}

.nav-primary .mega-menu.depth_0 > nav > ul li a .mega-menu-link-title {
	font-size: 16px !important;
	font-weight: 700;
	line-height: 1.25;
	text-decoration: none !important;
}

.nav-primary .mega-menu.depth_0 > nav > ul li a small {
	display: block;
	grid-column: 2;
	margin-top: 2px;
	font-size: 13.5px !important;
	font-weight: 500;
	line-height: 1.3;
	color: #5A646E !important;
}

.nav-primary .mega-menu.depth_0 > nav > ul li a:hover,
.nav-primary .mega-menu.depth_0 > nav > ul li a:focus-visible {
	background: #F5F8FB;
}

.nav-primary .mega-menu.depth_0 > nav > ul li a:hover::before {
	transform: scale(1.06);
}

.nav-primary .mega-menu.depth_0 > nav > ul li.current-menu-item > a {
	background: var(--wp--preset--color--quaternary, #EAF6FE);
}

@media (max-width: 1199px) {
	.nav-primary .mega-menu.depth_0 > nav > ul li a small {
		display: block;
		font-size: 13px !important;
	}

	.nav-primary .mega-menu.depth_0 > nav > ul li a {
		padding: 10px 6px !important;
	}
}

/* Icons and tint per page */
.nav-primary .mega-menu.depth_0 > nav > ul li a[href$="/who-we-are/"]::before { --ico-bg: var(--color-sky-light); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A1A1A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1-1.1a5.5 5.5 0 0 0-7.8 7.8L12 21l8.8-8.6a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E"); }
.nav-primary .mega-menu.depth_0 > nav > ul li a[href$="/meet-the-team/"]::before { --ico-bg: var(--color-sage); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A1A1A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20c.6-3.6 3.2-6 6.5-6s5.9 2.4 6.5 6'/%3E%3Cpath d='M16 4.5a3.5 3.5 0 0 1 0 7M18 14.4c2 .8 3.2 2.8 3.5 5.6'/%3E%3C/svg%3E"); }
.nav-primary .mega-menu.depth_0 > nav > ul li a[href$="/locations/"]::before { --ico-bg: var(--color-sunshine); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A1A1A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E"); }
.nav-primary .mega-menu.depth_0 > nav > ul li a[href$="/blog/"]::before { --ico-bg: var(--color-amber); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A1A1A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h9l4 4v14H6z'/%3E%3Cpath d='M14 3v5h5M9 13h7M9 17h5'/%3E%3C/svg%3E"); }
.nav-primary .mega-menu.depth_0 > nav > ul li a[href$="/contact-us/"]::before { --ico-bg: var(--color-sky); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A1A1A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H9l-5 4z'/%3E%3C/svg%3E"); }
.nav-primary .mega-menu.depth_0 > nav > ul li a[href$="/how-we-help/"]::before { --ico-bg: var(--color-sky-light); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A1A1A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='7' height='7' rx='1.5'/%3E%3Crect x='13' y='4' width='7' height='7' rx='1.5'/%3E%3Crect x='4' y='13' width='7' height='7' rx='1.5'/%3E%3Crect x='13' y='13' width='7' height='7' rx='1.5'/%3E%3C/svg%3E"); }
.nav-primary .mega-menu.depth_0 > nav > ul li a[href$="/dental-implant-services/"]::before { --ico-bg: var(--color-sky-light); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A1A1A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.5 3h9l-1.2 5H8.7z'/%3E%3Cpath d='M12 8v13M9 11h6M9.5 14h5M10 17h4'/%3E%3C/svg%3E"); }
.nav-primary .mega-menu.depth_0 > nav > ul li a[href$="/full-arch-dental-implants/"]::before { --ico-bg: var(--color-sunshine); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A1A1A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 16c0-5.5 4-10 9-10s9 4.5 9 10'/%3E%3Cpath d='M3 16h18M7.5 10v3M12 8.5v4M16.5 10v3'/%3E%3C/svg%3E"); }
.nav-primary .mega-menu.depth_0 > nav > ul li a[href$="/oral-surgery/"]::before { --ico-bg: var(--color-sage); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A1A1A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21l7-7'/%3E%3Cpath d='M14.5 3.5l6 6-8 8-6-6z'/%3E%3C/svg%3E"); }
.nav-primary .mega-menu.depth_0 > nav > ul li a[href$="/teeth-extraction/"]::before { --ico-bg: var(--color-amber); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A1A1A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.5v6M9 5.5l3-3 3 3'/%3E%3Cpath d='M7.5 11c-1.6 0-2.5 1.2-2.5 2.8 0 1.7 1 2.6 1.4 4.6.3 1.5.6 3.1 1.6 3.1s1.2-2.2 1.8-3.2c.4-.6 2-.6 2.4 0 .6 1 .8 3.2 1.8 3.2s1.3-1.6 1.6-3.1c.4-2 1.4-2.9 1.4-4.6 0-1.6-.9-2.8-2.5-2.8-1.3 0-2.6.6-4.5.6s-3.2-.6-4.5-.6z'/%3E%3C/svg%3E"); }
.nav-primary .mega-menu.depth_0 > nav > ul li a[href$="/sedation-services/"]::before { --ico-bg: var(--color-sky); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A1A1A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 14.5A8 8 0 1 1 9.5 4a6.5 6.5 0 0 0 10.5 10.5z'/%3E%3C/svg%3E"); }
.nav-primary .mega-menu.depth_0 > nav > ul li a[href$="/why-dental-implants/"]::before { --ico-bg: var(--color-sunshine); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A1A1A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2l3 6.5 7 .9-5.2 4.8 1.4 7L12 17.8 5.8 21.2l1.4-7L2 9.4l7-.9z'/%3E%3C/svg%3E"); }
.nav-primary .mega-menu.depth_0 > nav > ul li a[href$="/dental-implant-technologies/"]::before { --ico-bg: var(--color-sage); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A1A1A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8V5a1 1 0 0 1 1-1h3M16 4h3a1 1 0 0 1 1 1v3M20 16v3a1 1 0 0 1-1 1h-3M8 20H5a1 1 0 0 1-1-1v-3M4 12h16'/%3E%3C/svg%3E"); }
.nav-primary .mega-menu.depth_0 > nav > ul li a[href$="/our-pricing/"]::before { --ico-bg: var(--color-amber); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A1A1A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12V4h8l9.5 9.5-8 8z'/%3E%3Ccircle cx='7.5' cy='7.5' r='1.5'/%3E%3C/svg%3E"); }
.nav-primary .mega-menu.depth_0 > nav > ul li a[href$="/patient-financing/"]::before { --ico-bg: var(--color-sky-light); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A1A1A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='6' width='18' height='13' rx='2'/%3E%3Cpath d='M3 10h18M7 15h3'/%3E%3C/svg%3E"); }

/* ======================= HEADER (2026 polish + fixes) ======================= */

/* The theme makes every menu link/button 100% wide; keep "Our Locations" and its arrow on one line. */
.nav-primary .menu > li.adic-mm-item {
	flex-wrap: nowrap;
	align-items: center;
}

.nav-primary .menu > li.adic-mm-item > .adic-mm__link {
	width: auto;
	padding-right: 4px;
}

.nav-primary .menu > li.adic-mm-item > .adic-mm__toggle {
	flex: 0 0 auto;
	width: 28px;
	height: 28px;
	padding: 0;
	justify-content: center;
}

.nav-primary .menu > li.adic-mm-item > .adic-mm__toggle svg {
	width: 14px;
	height: 14px;
}

/* Links inside the mega menu panel must not inherit the theme's menu-link sizing. */
.nav-primary .adic-mm a {
	width: auto;
	padding: 0;
	font-size: inherit;
	justify-content: flex-start;
}

.nav-primary .adic-mm .adic-mm__city a {
	display: block;
	padding: 4px 0;
	font-size: 15px;
	font-weight: 500;
}

.nav-primary .adic-mm .adic-mm__search {
	display: inline-flex;
	padding: 0 18px;
	font-size: 16px;
}

.nav-primary .adic-mm .adic-btn {
	display: inline-flex;
	justify-content: center;
	padding: 0 18px;
	font-size: 15px;
}

.nav-primary .adic-mm .adic-mm__card-link {
	display: inline;
	font-size: 15px;
}

@media (min-width: 1200px) {
	/* Calm pill hover on top-level links. */
	.nav-primary .menu > li > a,
	.nav-primary .menu > li > button {
		position: relative;
		border-radius: 999px;
		padding-inline: 14px;
		transition: background 0.2s, color 0.2s;
	}

	.nav-primary .menu > li > a:hover,
	.nav-primary .menu > li > button:hover,
	.nav-primary .menu > li.is-open > .adic-mm__link,
	.nav-primary .menu > li > button[aria-expanded="true"] {
		background: #F1F3F7;
		color: var(--color-ink);
	}

	.nav-primary .menu > li.adic-mm-item > .adic-mm__link {
		padding-right: 8px;
	}

	/* Current page marker. */
	.nav-primary .menu > li.active > a::after,
	.nav-primary .menu > li.current-menu-item > a::after {
		content: "";
		position: absolute;
		left: 14px;
		right: 14px;
		bottom: 4px;
		height: 3px;
		border-radius: 3px;
		background: var(--color-amber);
	}

	.site-header .header-search .wp-block-button__link {
		box-shadow: 0 6px 16px rgba(255, 181, 62, 0.35);
	}
}

@media (max-width: 1199px) {
	.nav-primary .menu > li.adic-mm-item {
		flex-wrap: wrap;
	}

	.nav-primary .menu > li.adic-mm-item > .adic-mm__link {
		flex: 1 1 auto;
	}

	.nav-primary .menu > li.adic-mm-item > .adic-mm__toggle {
		width: 44px;
		height: 44px;
	}
}

/* ======================= FOOTER (2026) ======================= */

.adic-footer {
	--f-bg: #141617;
	--f-text: #D5DADF;
	--f-muted: #9AA3AB;
	color: var(--f-text);
	background: var(--f-bg);
}

.adic-footer *,
.adic-footer *::before,
.adic-footer *::after {
	box-sizing: border-box;
}

.adic-footer p,
.adic-footer ul {
	margin: 0;
}

.adic-footer ul {
	list-style: none;
	padding: 0;
}

.adic-footer__wrap {
	max-width: 1280px;
	margin-inline: auto;
	padding-inline: clamp(16px, 4vw, 32px);
}

/* Booking strip */
.adic-footer__cta {
	position: relative;
	overflow: hidden;
	background: var(--color-sunshine);
	color: var(--color-ink);
}

.adic-footer__cta::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 8px;
	background: var(--brand-stripe);
}

.adic-footer__cta::after {
	content: "";
	position: absolute;
	width: 300px;
	height: 300px;
	right: -80px;
	top: -160px;
	border-radius: 50%;
	background: var(--color-amber);
	opacity: 0.7;
}

.adic-footer__cta-inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 18px 32px;
	padding-block: clamp(32px, 4vw, 44px) clamp(28px, 4vw, 40px);
}

.adic-footer__cta-kicker {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.adic-footer__cta-title {
	font-size: clamp(26px, 3vw, 36px);
	font-weight: 700;
	line-height: 1.1;
}

.adic-footer__cta-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

/* Main */
.adic-footer__main {
	padding-block: clamp(44px, 6vw, 72px) clamp(28px, 4vw, 40px);
}

.adic-footer__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr));
	gap: clamp(28px, 4vw, 56px);
}

.adic-footer__logo {
	display: inline-flex;
	padding: 12px 16px;
	border-radius: 16px;
	background: #FFFFFF;
}

.adic-footer__logo :where(img, svg) {
	width: 180px;
	height: auto;
	display: block;
}

.adic-footer__logo .site-logo {
	margin: 0;
}

.adic-footer__tagline {
	margin-top: 18px !important;
	font-size: 20px;
	font-weight: 700;
	color: var(--color-sunshine);
}

.adic-footer__about {
	margin-top: 8px !important;
	max-width: 360px;
	line-height: 1.6;
}

.adic-footer__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 18px !important;
}

.adic-footer__facts li {
	padding: 6px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
	font-size: 14px;
	font-weight: 600;
	color: #FFFFFF;
}

.adic-footer__facts strong {
	color: var(--color-sky-light);
}

.adic-footer__heading {
	margin-bottom: 14px !important;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #FFFFFF;
}

.adic-footer__col li + li {
	margin-top: 10px;
}

.adic-footer a {
	color: var(--f-text);
	text-decoration: none;
	transition: color 0.15s;
}

.adic-footer a:hover,
.adic-footer a:focus-visible {
	color: var(--color-sunshine);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.adic-footer .adic-btn--dark {
	color: #FFFFFF !important;
}

.adic-footer .adic-btn--ghost {
	color: var(--color-ink) !important;
	background: transparent;
}

.adic-footer .adic-btn--ghost:hover {
	color: #FFFFFF !important;
	text-decoration: none;
}

.adic-footer .adic-btn--dark:hover {
	color: var(--color-ink) !important;
	text-decoration: none;
}

/* Locations row */
.adic-footer__locations {
	margin-top: clamp(32px, 4vw, 48px);
	padding-top: 28px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.adic-footer__locations ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.adic-footer__locations a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 14px;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	font-size: 14px;
	font-weight: 600;
}

.adic-footer__locations a::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--color-green);
}

.adic-footer__locations li:nth-child(3n+2) a::before { background: var(--color-sky); }
.adic-footer__locations li:nth-child(3n+3) a::before { background: var(--color-amber); }

.adic-footer__locations a:hover {
	border-color: var(--color-sunshine);
	text-decoration: none;
}

/* Legal bar */
.adic-footer__bar {
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	font-size: 13px;
	color: var(--f-muted);
}

.adic-footer__bar-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 24px;
	padding-block: 20px;
}

.adic-footer__legal ul {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
}

.adic-footer__bar a {
	color: var(--f-muted);
}

.adic-footer__attribution {
	width: 100%;
	opacity: 0.7;
}

@media (max-width: 1024px) {
	.adic-footer__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.adic-footer__brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 600px) {
	.adic-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.adic-footer__cta-actions,
	.adic-footer__cta-actions .adic-btn {
		width: 100%;
	}
}

/* Restore panel button backgrounds (the theme sets background: none on all menu links). */
.nav-primary .adic-mm .adic-mm__search {
	background: var(--wp--preset--color--quaternary, #EAF6FE);
	min-height: 44px;
	border-radius: 999px;
	gap: 8px;
	font-weight: 700;
}

.nav-primary .adic-mm .adic-mm__search:hover {
	background: var(--color-sky-light);
	color: var(--color-ink);
}

.nav-primary .adic-mm .adic-btn--dark {
	background: var(--color-ink);
	border: 2px solid var(--color-ink);
	color: #FFFFFF;
	min-height: 44px;
	border-radius: 999px;
}

.nav-primary .adic-mm .adic-btn--dark:hover {
	background: #FFFFFF;
	color: var(--color-ink);
}

.nav-primary .adic-mm .adic-mm__card-link {
	color: var(--color-ink);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 4px;
}

/* ======================= FOOTER CTA: calm, part of the footer ======================= */

.adic-footer__cta {
	background: var(--f-bg, #141617);
	color: #FFFFFF;
}

.adic-footer__cta::after {
	content: none;
}

.adic-footer__cta::before {
	height: 4px;
}

.adic-footer__cta-inner {
	padding-block: clamp(40px, 5vw, 56px);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.adic-footer__cta-kicker {
	color: var(--color-sunshine);
}

.adic-footer__cta-title {
	color: #FFFFFF;
}

.adic-footer .adic-footer__cta .adic-btn--dark {
	background: var(--color-amber);
	border-color: var(--color-amber);
	color: var(--color-ink) !important;
}

.adic-footer .adic-footer__cta .adic-btn--dark:hover {
	background: var(--color-sunshine);
	border-color: var(--color-sunshine);
}

.adic-footer .adic-footer__cta .adic-btn--ghost {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.4);
	color: #FFFFFF !important;
}

.adic-footer .adic-footer__cta .adic-btn--ghost:hover {
	background: #FFFFFF;
	border-color: #FFFFFF;
	color: var(--color-ink) !important;
}

/* When the strip is hidden, the footer still opens with the brand stripe. */
.adic-footer {
	border-top: 6px solid;
	border-image: var(--brand-stripe) 1;
}

.adic-footer__cta::before {
	content: none;
}

/* ======================= ONLINE BOOKING WINDOW ======================= */

.adic-booking-modal {
	position: fixed;
	inset: 0;
	margin: auto;
	width: min(880px, calc(100vw - 32px));
	height: min(860px, calc(100dvh - 48px));
	padding: 0;
	border: 0;
	border-radius: 28px;
	overflow: hidden;
	background: #FFFFFF;
	color: var(--color-ink);
	box-shadow: 0 40px 100px rgba(10, 41, 66, 0.35);
}

.adic-booking-modal[open] {
	display: flex;
	flex-direction: column;
	animation: adic-modal-in 0.28s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.adic-booking-modal::backdrop {
	background: rgba(20, 22, 23, 0.6);
	backdrop-filter: blur(4px);
}

@keyframes adic-modal-in {
	from { opacity: 0; transform: translateY(14px) scale(0.985); }
	to { opacity: 1; transform: none; }
}

.adic-booking-modal__head {
	position: relative;
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 22px 22px 18px 28px;
	background: var(--wp--preset--color--quaternary, #EAF6FE);
}

.adic-booking-modal__head::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 6px;
	background: var(--brand-stripe);
}

.adic-booking-modal__titles {
	flex: 1 1 auto;
	min-width: 0;
}

.adic-booking-modal__kicker {
	margin: 4px 0 2px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-green-text);
}

.adic-booking-modal__title {
	margin: 0;
	font-size: clamp(20px, 2.4vw, 26px);
	line-height: 1.2;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.adic-booking-modal__close {
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #FFFFFF;
	color: var(--color-ink);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(16, 24, 40, 0.08);
	transition: background 0.2s, color 0.2s;
}

.adic-booking-modal__close:hover,
.adic-booking-modal__close:focus-visible {
	background: var(--color-ink);
	color: #FFFFFF;
}

.adic-booking-modal__body {
	position: relative;
	flex: 1 1 auto;
	background: #FFFFFF;
}

.adic-booking-modal__frame {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	opacity: 0;
	transition: opacity 0.3s;
}

.adic-booking-modal.is-loaded .adic-booking-modal__frame {
	opacity: 1;
}

.adic-booking-modal__loader {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.adic-booking-modal.is-loaded .adic-booking-modal__loader {
	display: none;
}

.adic-booking-modal__loader span {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--color-sky);
	animation: adic-dot 1s ease-in-out infinite;
}

.adic-booking-modal__loader span:nth-child(2) {
	background: var(--color-green);
	animation-delay: 0.15s;
}

.adic-booking-modal__loader span:nth-child(3) {
	background: var(--color-amber);
	animation-delay: 0.3s;
}

@keyframes adic-dot {
	0%, 80%, 100% { transform: scale(0.6); opacity: 0.5; }
	40% { transform: scale(1); opacity: 1; }
}

@media (max-width: 640px) {
	.adic-booking-modal {
		width: 100vw;
		height: 100dvh;
		max-width: none;
		max-height: none;
		border-radius: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.adic-booking-modal[open],
	.adic-booking-modal__loader span {
		animation: none;
	}
}

/* ======================= HEADER LOGO: inline, part of the header ======================= */

/* One calm white bar: logo, menu and the "Find your dentist" button share a centre line,
   and the brand stripe runs along the bottom edge. No tabs, shadows or filters on the logo. */
.site-header {
	padding-block: 12px;
}

.site-header > .filter-container {
	align-items: center;
	min-height: 56px;
}

.site-header > .filter-container > .site-logo {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	margin: 0;
	line-height: 0;
}

.site-header > .filter-container > .site-logo a {
	display: block;
	line-height: 0;
	border-radius: 8px;
}

.site-header > .filter-container > .site-logo :where(img, svg) {
	display: block;
	width: 136px;
	height: auto;
	transition: opacity 0.2s ease;
}

.site-header > .filter-container > .site-logo a:hover :where(img, svg) {
	opacity: 0.85;
}

@media (min-width: 1200px) {
	.site-header {
		padding-block: 14px;
	}

	.site-header > .filter-container > .site-logo :where(img, svg) {
		width: 164px;
	}
}
