/* Dr Amir Ahmadi — Corporate Medical Design (mockup v2 — clean rebuild) */

/* ── WordPress block resets ── */
body.dr-ahmadi-theme {
	background: var(--dr-surface);
	margin: 0;
}

body.dr-ahmadi-theme .wp-block-group {
	margin-block-start: 0;
	margin-block-end: 0;
}

body.dr-ahmadi-theme .alignfull {
	width: 100%;
	max-width: none;
	margin-inline: 0;
}

body.dr-ahmadi-theme .dr-hero .wp-block-heading,
body.dr-ahmadi-theme .dr-section-title {
	max-width: none;
}

body.dr-ahmadi-theme .wp-block-navigation .wp-block-navigation-item__content {
	padding: 0;
}

body.dr-ahmadi-theme main#main-content {
	padding: 0;
	margin: 0;
}

body.dr-ahmadi-theme .wp-block-group.dr-container {
	width: min(100% - 2.5rem, var(--dr-container));
	max-width: var(--dr-container);
	margin-inline: auto;
}

body.dr-ahmadi-theme .wp-block-group.dr-hero__grid {
	display: grid !important;
	width: 100%;
	max-width: var(--dr-container);
}

body.dr-ahmadi-theme .wp-block-group.dr-hero__content {
	display: block;
}

body.dr-ahmadi-theme .wp-block-group.dr-cta {
	width: 100%;
	max-width: none;
}

body.dr-ahmadi-theme .wp-block-group.dr-cta .dr-container {
	max-width: var(--dr-container);
}

body.dr-ahmadi-theme .wp-block-group.dr-site-header,
body.dr-ahmadi-theme .wp-block-group.dr-site-footer {
	width: 100%;
	max-width: none;
}

body.dr-ahmadi-theme .dr-site-header .dr-container {
	max-width: var(--dr-container);
}

body.dr-ahmadi-theme img {
	max-width: 100%;
	height: auto;
}

body.dr-ahmadi-theme h1,
body.dr-ahmadi-theme h2,
body.dr-ahmadi-theme h3,
body.dr-ahmadi-theme h4,
body.dr-ahmadi-theme p {
	margin-block-start: 0;
}

/* ── Reveal ── */
.dr-reveal {
	transition: opacity 0.5s ease, transform 0.5s ease;
}

.dr-reveal.is-armed {
	opacity: 0;
	transform: translateY(20px);
}

.dr-reveal.is-visible {
	opacity: 1;
	transform: none;
}

/* ── Section helpers ── */
.dr-section {
	padding: var(--dr-section-space) 0;
}

.dr-section--alt {
	background: var(--dr-paper);
}

.dr-section-head {
	text-align: center;
	margin-bottom: 2.5rem;
}

.dr-section-head--row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.5rem;
	text-align: right;
	margin-bottom: 2.5rem;
}

.dr-section-title {
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 800;
	color: var(--dr-ink);
	margin: 0 0 0.75rem;
	line-height: 1.35;
}

.dr-section-desc {
	color: var(--dr-ink-soft);
	margin: 0;
	font-size: 0.95rem;
	max-width: 560px;
}

.dr-section-head--row .dr-section-desc {
	margin-inline: 0;
}

.dr-card {
	background: var(--dr-surface);
	border-radius: var(--dr-radius-sm);
	box-shadow: var(--dr-shadow);
	border: 1px solid var(--dr-border);
}

/* ── Header ── */
body.dr-ahmadi-theme header.dr-site-header,
body.dr-ahmadi-theme .wp-block-group.dr-site-header {
	position: sticky;
	top: 0;
	z-index: 200;
}

body.dr-ahmadi-theme .wp-site-blocks > .wp-block-template-part:first-child {
	position: sticky;
	top: 0;
	z-index: 200;
}

.dr-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding: 1rem 0;
	transition: padding 0.35s var(--dr-ease-out);
}

@media (min-width: 1025px) {
	.dr-site-header {
		background: rgba(255, 255, 255, 0.82);
		backdrop-filter: blur(8px) saturate(130%);
		-webkit-backdrop-filter: blur(8px) saturate(130%);
	}

	.dr-site-header.is-scrolled {
		background: rgba(255, 255, 255, 0.48);
		backdrop-filter: blur(24px) saturate(195%);
		-webkit-backdrop-filter: blur(24px) saturate(195%);
		border-bottom-color: rgba(255, 255, 255, 0.72);
		box-shadow:
			0 1px 0 rgba(255, 255, 255, 0.55) inset,
			0 10px 36px rgba(15, 23, 42, 0.07);
	}

	.dr-site-header.is-scrolled .dr-header-inner {
		padding: 0.72rem 0;
	}

	.dr-site-header.is-scrolled .dr-brand__text {
		color: rgba(15, 23, 42, 0.86);
	}

	.dr-site-header.is-scrolled .dr-brand__text small {
		color: rgba(100, 116, 139, 0.72);
	}

	.dr-site-header.is-scrolled .dr-primary-nav a {
		color: rgba(100, 116, 139, 0.82);
	}

	.dr-site-header.is-scrolled .dr-primary-nav a:hover {
		color: var(--dr-primary);
	}

	.dr-site-header.is-scrolled .dr-header-cta .dr-btn {
		box-shadow: 0 4px 14px rgba(14, 165, 164, 0.28);
	}
}

.dr-brand {
	text-decoration: none;
	color: var(--dr-ink);
	font-weight: 800;
	font-size: 1rem;
	line-height: 1.3;
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
}

.dr-brand__icon {
	width: 38px;
	height: 38px;
	border-radius: var(--dr-radius-xs);
	background: var(--dr-primary);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	flex-shrink: 0;
}

.dr-brand__icon svg {
	width: 18px;
	height: 18px;
}

.dr-brand__text small {
	display: block;
	font-size: 0.68rem;
	font-weight: 500;
	color: var(--dr-ink-soft);
	margin-top: 0.1rem;
}

.dr-nav-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	min-width: 44px;
	min-height: 44px;
	padding: 0;
	background: transparent;
	border: 1px solid var(--dr-border);
	border-radius: var(--dr-radius-xs);
	cursor: pointer;
	color: var(--dr-ink);
	flex-shrink: 0;
	-webkit-tap-highlight-color: transparent;
}

.dr-nav-toggle__box {
	position: relative;
	display: block;
	width: 18px;
	height: 14px;
}

.dr-nav-toggle__bar {
	position: absolute;
	left: 0;
	right: 0;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
	transition: transform 0.28s var(--dr-ease-out, ease), opacity 0.2s ease, top 0.28s var(--dr-ease-out, ease);
}

.dr-nav-toggle__bar:nth-child(1) {
	top: 0;
}

.dr-nav-toggle__bar:nth-child(2) {
	top: 6px;
}

.dr-nav-toggle__bar:nth-child(3) {
	top: 12px;
}

.dr-nav-toggle.is-open .dr-nav-toggle__bar:nth-child(1) {
	top: 6px;
	transform: rotate(45deg);
}

.dr-nav-toggle.is-open .dr-nav-toggle__bar:nth-child(2) {
	opacity: 0;
	transform: scaleX(0);
}

.dr-nav-toggle.is-open .dr-nav-toggle__bar:nth-child(3) {
	top: 6px;
	transform: rotate(-45deg);
}

@media (prefers-reduced-motion: reduce) {
	.dr-nav-toggle__bar {
		transition: none;
	}
}

.dr-primary-nav {
	flex: 1;
	display: flex;
	justify-content: center;
}

.dr-primary-nav .wp-block-navigation__container,
.dr-primary-nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
	justify-content: center;
}

.dr-primary-nav a {
	text-decoration: none;
	color: var(--dr-ink-soft);
	font-weight: 600;
	font-size: 0.88rem;
	padding: 0.35rem 0;
	transition: color 0.2s;
}

.dr-primary-nav a:hover {
	color: var(--dr-primary);
}

.dr-header-cta .dr-btn {
	padding: 0.65rem 1.35rem;
	font-size: 0.85rem;
}

/* I4 — unified header breakpoint with Phase 1 (≤1024px) */
@media (max-width: 1024px) {
	.dr-header-inner.is-layout-flex,
	.dr-header-inner.is-nowrap,
	.dr-site-header .dr-header-inner {
		flex-wrap: nowrap !important;
		align-items: center;
		gap: 0.75rem;
	}

	.dr-brand {
		min-width: 0;
	}

	.dr-nav-toggle {
		display: inline-flex;
		margin-inline-start: auto;
		position: relative;
		z-index: 260;
	}

	.dr-header-cta {
		display: none;
	}

	/* Soft light overlay panel — opaque enough to stay bright over dark scrim */
	.dr-primary-nav {
		display: none;
		position: fixed;
		inset-inline: 0.85rem;
		top: calc(var(--dr-header-h, 64px) + 0.55rem);
		z-index: 250;
		flex: none !important;
		width: auto !important;
		max-width: none !important;
		max-height: min(70vh, calc(100dvh - var(--dr-header-h, 64px) - 5.5rem));
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		justify-content: stretch;
		padding: 0.75rem 0.85rem;
		box-sizing: border-box;
		border-radius: var(--dr-radius-sm);
		background: rgba(255, 255, 255, 0.97);
		border: 1px solid rgba(255, 255, 255, 0.9);
		box-shadow:
			0 1px 0 rgba(255, 255, 255, 0.95) inset,
			0 12px 40px rgba(15, 23, 42, 0.18);
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
		isolation: isolate;
		animation: dr-nav-glass-in 0.28s var(--dr-ease-out, ease) both;
	}

	.dr-primary-nav.is-open {
		display: flex;
		flex-direction: column;
		align-items: stretch;
	}

	.dr-primary-nav .wp-block-navigation,
	.dr-primary-nav .wp-block-navigation.is-layout-flex {
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: stretch;
		justify-content: flex-start;
		width: 100%;
		gap: 0 !important;
	}

	.dr-primary-nav .wp-block-navigation__container,
	.dr-primary-nav ul {
		flex-direction: column;
		flex-wrap: nowrap;
		gap: 0;
		align-items: stretch;
		width: 100%;
	}

	.dr-primary-nav .wp-block-navigation-item {
		width: 100%;
	}

	.dr-primary-nav a {
		font-size: 0.95rem;
		font-weight: 700;
		padding: 0.7rem 0.5rem;
		min-height: 44px;
		width: 100%;
		display: flex;
		align-items: center;
		border-bottom: 1px solid rgba(232, 238, 242, 0.95);
		color: var(--dr-ink) !important;
	}

	.dr-primary-nav a:hover,
	.dr-primary-nav a:focus-visible {
		color: var(--dr-primary);
		background: rgba(14, 165, 164, 0.06);
		border-radius: var(--dr-radius-xs);
	}

	.dr-primary-nav .wp-block-navigation-item:last-child a {
		border-bottom: 0;
	}

	/*
	 * Dark scrim starts BELOW the header so brand + toggle stay bright.
	 * Header template-part stacking context must rise above the scrim.
	 */
	body.dr-nav-open::before {
		content: '';
		position: fixed;
		top: var(--dr-header-h, 64px);
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 240;
		background: rgba(15, 23, 42, 0.42);
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
		animation: dr-nav-backdrop-in 0.22s ease both;
	}

	body.dr-nav-open {
		overflow: hidden;
		touch-action: none;
	}

	body.dr-nav-open .wp-site-blocks > .wp-block-template-part:first-child,
	body.dr-nav-open .dr-site-header {
		z-index: 260;
	}

	body.dr-nav-open .dr-site-header {
		background: rgba(255, 255, 255, 0.98);
		box-shadow: var(--dr-shadow-sm);
	}
}

@keyframes dr-nav-glass-in {
	from {
		opacity: 0;
		transform: translateY(-0.45rem);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes dr-nav-backdrop-in {
	from { opacity: 0; }
	to { opacity: 1; }
}

@media (max-width: 1024px) and (prefers-reduced-motion: reduce) {
	.dr-primary-nav,
	body.dr-nav-open::before {
		animation: none;
	}
}

/* ── Hero (base — overridden by premium-home v3) ── */
.dr-hero {
	padding: 0;
	background: transparent;
	overflow: visible;
}

.dr-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
}

.dr-btn--video {
	gap: 0.4rem;
}

.dr-btn__play-icon {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	border: 1.5px solid var(--dr-primary);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.dr-btn__play-icon svg {
	width: 10px;
	height: 10px;
	color: var(--dr-primary);
}

/* ── BMI Card (hero) ── */
.dr-bmi-card {
	background: var(--dr-surface);
	border-radius: var(--dr-radius-sm);
	box-shadow: var(--dr-shadow-lift);
	border: 1px solid var(--dr-border);
}

.dr-bmi-card__title {
	font-size: 1rem;
	font-weight: 800;
	margin: 0 0 1rem;
	color: var(--dr-ink);
}

.dr-bmi-card__fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.75rem;
	margin-bottom: 0.75rem;
}

.dr-bmi-card__field label {
	display: block;
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--dr-ink-soft);
	margin-bottom: 0.35rem;
}

.dr-bmi-card__field input {
	width: 100%;
	padding: 0.6rem 0.75rem;
	border: 1px solid var(--dr-border);
	border-radius: var(--dr-radius-xs);
	font-family: inherit;
	font-size: 0.9rem;
	background: var(--dr-paper);
}

.dr-bmi-card__field input:focus {
	outline: none;
	border-color: var(--dr-primary);
}

.dr-bmi-card__submit {
	width: 100%;
	margin-bottom: 1rem;
	padding: 0.7rem;
	font-size: 0.88rem;
}

.dr-bmi-card__result {
	display: none;
	text-align: center;
}

.dr-bmi-card__result.is-visible {
	display: block;
}

.dr-bmi-card__gauge-visual {
	width: 100%;
	max-width: 240px;
	margin: 0 auto;
}

.dr-bmi-card__gauge-wrap {
	position: relative;
	width: 100%;
	margin: 0 auto 0.35rem;
}

.dr-bmi-card__gauge-svg {
	width: 100%;
	height: auto;
	display: block;
	overflow: visible;
}

.dr-bmi-card__gauge-track {
	opacity: 0.85;
}

.dr-bmi-card__gauge-segment {
	opacity: 1;
}

.dr-bmi-card__gauge-dot {
	fill: #fff;
	stroke: var(--dr-bmi-dot-color, #f59e0b);
	stroke-width: 2.5;
	transition: cx 0.55s cubic-bezier(0.22, 1, 0.36, 1), cy 0.55s cubic-bezier(0.22, 1, 0.36, 1), stroke 0.35s ease;
}

.dr-bmi-card__gauge-dot.is-pulse {
	animation: dr-bmi-dot-pulse 0.45s ease;
}

@keyframes dr-bmi-dot-pulse {
	0%, 100% { stroke-width: 2.5; }
	50% { stroke-width: 3.5; }
}

.dr-bmi-card__gauge-readout {
	position: absolute;
	left: 50%;
	top: 62%;
	transform: translate(-50%, -50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.25rem;
	width: 58%;
	pointer-events: none;
}

.dr-bmi-card__legend {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 3px;
	margin: 0;
	padding: 0 4px;
	list-style: none;
	direction: ltr;
}

.dr-bmi-card__legend-item {
	position: relative;
	padding-top: 7px;
	text-align: center;
	min-width: 0;
}

.dr-bmi-card__legend-item::before {
	content: '';
	position: absolute;
	top: 0;
	left: 8%;
	right: 8%;
	height: 3px;
	border-radius: 999px;
	background: var(--dr-bmi-band-color, #cbd5e1);
	opacity: 0.55;
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.dr-bmi-card__legend-item span {
	display: block;
	font-size: 0.58rem;
	font-weight: 600;
	line-height: 1.25;
	color: var(--dr-ink-soft);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	transition: color 0.3s ease, font-weight 0.3s ease;
}

.dr-bmi-card__legend-item.is-active::before {
	opacity: 1;
	transform: scaleY(1.35);
}

.dr-bmi-card__legend-item.is-active span {
	color: var(--dr-ink);
	font-weight: 800;
}

.dr-bmi-card__value {
	font-size: 1.65rem;
	font-weight: 900;
	color: var(--dr-ink);
	line-height: 1;
	letter-spacing: -0.02em;
}

.dr-bmi-card__category {
	display: block;
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1.3;
	padding: 0.2rem 0.55rem;
	border-radius: var(--dr-radius-pill);
	background: rgba(245, 158, 11, 0.12);
	color: #b45309;
}

.dr-bmi-card__category.is-under {
	background: rgba(45, 212, 191, 0.14);
	color: #0f766e;
}

.dr-bmi-card__category.is-normal {
	background: rgba(20, 184, 166, 0.14);
	color: #0d9488;
}

.dr-bmi-card__category.is-over {
	background: rgba(245, 158, 11, 0.14);
	color: #b45309;
}

.dr-bmi-card__category.is-obese,
.dr-bmi-card__category.is-severe {
	background: rgba(239, 68, 68, 0.12);
	color: #b91c1c;
}

.dr-bmi-card__labels {
	display: flex;
	justify-content: space-between;
	font-size: 0.65rem;
	color: var(--dr-ink-soft);
	margin-top: 0.35rem;
	padding: 0 0.25rem;
}

/* ── Trust bar — seam overlap handled in premium-home.css ── */
.dr-trust {
	padding: 1.75rem 0;
	background: var(--dr-surface);
	border-block: 1px solid var(--dr-border);
}

.dr-trust__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	background: transparent;
	border: none;
	box-shadow: none;
	border-radius: 0;
}

.dr-trust__item {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: clamp(0.85rem, 1.5vw, 1.1rem) clamp(0.85rem, 1.2vw, 1.15rem);
	gap: 0.75rem;
	border-inline-start: 1px solid var(--dr-border);
}

.dr-trust__item:first-child {
	border-inline-start: none;
}

.dr-trust__icon {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: transparent;
	color: var(--dr-primary);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 0;
	flex-shrink: 0;
}

.dr-trust__icon svg {
	width: 24px;
	height: 24px;
}

.dr-trust__item span {
	font-size: 0.78rem;
	color: var(--dr-ink-soft);
	line-height: 1.4;
}

.dr-trust__text {
	display: flex;
	flex-direction: column;
	text-align: right;
}

.dr-trust__text strong {
	font-size: 1.05rem;
	font-weight: 900;
	color: var(--dr-primary);
	line-height: 1.2;
}

.dr-trust__text span {
	font-size: 0.72rem;
}

@media (max-width: 768px) {
	.dr-trust__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.dr-trust__item:nth-child(odd) {
		border-inline-start: none;
	}

	.dr-trust__item:nth-child(n+3) {
		border-top: 1px solid var(--dr-border);
	}
}

@media (max-width: 480px) {
	.dr-trust__grid {
		grid-template-columns: 1fr;
	}

	.dr-trust__item {
		border-inline-start: none !important;
		border-top: 1px solid var(--dr-border);
	}

	.dr-trust__item:first-child {
		border-top: none;
	}
}

/* ── Services ── */
.dr-services {
	padding: var(--dr-section-space) 0;
	background: var(--dr-surface);
}

.dr-services__grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 1rem;
}

.dr-service-card {
	background: var(--dr-surface);
	border-radius: var(--dr-radius-sm);
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.04);
	border: 1px solid #f0f2f3;
	padding: 1.25rem 1rem 1.5rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.dr-service-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.08);
}

.dr-service-card__img-wrap {
	width: 100%;
	height: 110px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1rem;
}

.dr-service-card__img {
	width: auto;
	height: 90px;
	object-fit: contain;
	background: transparent;
	border-radius: 0;
	padding: 0;
}

.dr-service-card h3 {
	font-size: 0.92rem;
	font-weight: 800;
	margin: 0 0 0.4rem;
	color: var(--dr-ink);
}

.dr-service-card p {
	font-size: 0.78rem;
	color: var(--dr-ink-soft);
	margin: 0 0 0.85rem;
	flex: 1;
	line-height: 1.65;
}

.dr-service-card__link {
	font-size: 0.78rem;
	font-weight: 700;
	color: var(--dr-primary);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 0.15rem;
	margin-top: auto;
}

.dr-service-card__link:hover {
	color: var(--dr-primary-dark);
}

.dr-service-card__link svg {
	width: 14px;
	height: 14px;
}

@media (max-width: 1024px) {
	.dr-services__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 768px) {
	.dr-services__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 480px) {
	.dr-services__grid {
		grid-template-columns: 1fr;
	}
}

/* ── Before / After ── */
.dr-before-after {
	padding: var(--dr-section-space) 0;
	background: var(--dr-paper);
}

.dr-ba-nav {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-shrink: 0;
}

.dr-ba-nav__btn {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 1px solid var(--dr-border);
	background: var(--dr-surface);
	color: var(--dr-ink-soft);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: border-color 0.2s, color 0.2s;
}

.dr-ba-nav__btn:hover {
	border-color: var(--dr-primary);
	color: var(--dr-primary);
}

.dr-ba-nav__btn svg {
	width: 18px;
	height: 18px;
}

.dr-ba-nav__link {
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--dr-primary);
	text-decoration: none;
	margin-inline-start: 0.5rem;
}

.dr-ba-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.dr-ba-grid::-webkit-scrollbar {
	display: none;
}

.dr-ba-card {
	background: var(--dr-surface);
	border-radius: var(--dr-radius-sm);
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.04);
	border: 1px solid #f0f2f3;
	overflow: hidden;
	scroll-snap-align: start;
}

.dr-ba-card__pair {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	background: #f5f7f8;
}

.dr-ba-card__img {
	aspect-ratio: 2/3;
	background: #eef1f2;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	position: relative;
	overflow: hidden;
	padding-top: 0.5rem;
}

.dr-ba-card__img img {
	width: 80%;
	height: auto;
	object-fit: contain;
	object-position: bottom;
}

.dr-ba-card__img figcaption {
	position: absolute;
	top: 0.5rem;
	inset-inline: 0;
	background: transparent;
	color: var(--dr-ink-soft);
	font-size: 0.68rem;
	font-weight: 600;
	padding: 0;
	text-align: center;
}

.dr-ba-card__meta {
	padding: 0.75rem;
	font-size: 0.82rem;
	font-weight: 800;
	color: #fff;
	text-align: center;
	margin: 0;
	background: var(--dr-primary);
}

@media (max-width: 1024px) {
	.dr-ba-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 480px) {
	.dr-ba-grid {
		grid-template-columns: 1fr;
	}

	.dr-section-head--row {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* ── Why Us — icon circles, no cards ── */
.dr-why {
	padding: var(--dr-section-space) 0;
	background: var(--dr-surface);
}

.dr-why__grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 1.5rem;
}

.dr-why-item {
	text-align: center;
	padding: 0 0.5rem;
}

.dr-why-item__icon {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	border: 1.5px solid #dde3e5;
	background: transparent;
	color: var(--dr-primary);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1rem;
}

.dr-why-item__icon svg {
	width: 26px;
	height: 26px;
}

.dr-why-item h3 {
	font-size: 0.88rem;
	font-weight: 800;
	margin: 0 0 0.4rem;
	color: var(--dr-ink);
}

.dr-why-item p {
	font-size: 0.75rem;
	color: var(--dr-ink-soft);
	margin: 0;
	line-height: 1.65;
}

@media (max-width: 1024px) {
	.dr-why__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 480px) {
	.dr-why__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ── Patient Journey ── */
.dr-journey {
	padding: var(--dr-section-space) 0;
	background: var(--dr-surface);
}

.dr-journey__track {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	position: relative;
	padding-top: 1rem;
}

.dr-journey__track::before {
	content: "";
	position: absolute;
	top: 2.25rem;
	inset-inline: 10%;
	height: 0;
	border-top: 2px dashed var(--dr-primary);
	z-index: 0;
}

.dr-journey__step {
	flex: 1;
	text-align: center;
	position: relative;
	z-index: 1;
	padding: 0 0.5rem;
}

.dr-journey__num {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--dr-primary);
	color: #fff;
	font-weight: 800;
	font-size: 0.95rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.5rem;
	box-shadow: 0 0 0 4px var(--dr-surface);
}

.dr-journey__top {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.35rem;
	margin-bottom: 0.5rem;
}
.dr-journey__icon {
	width: 28px;
	height: 28px;
	color: var(--dr-primary);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	opacity: 0.65;
}

.dr-journey__icon svg {
	width: 20px;
	height: 20px;
}

.dr-journey__step h3 {
	font-size: 0.88rem;
	font-weight: 800;
	margin: 0 0 0.35rem;
	color: var(--dr-ink);
}

.dr-journey__step p {
	font-size: 0.75rem;
	color: var(--dr-ink-soft);
	margin: 0;
	line-height: 1.6;
}

@media (max-width: 768px) {
	.dr-journey__track {
		flex-direction: column;
		gap: 0;
		padding-top: 0;
		padding-inline-start: 1.5rem;
	}

	.dr-journey__track::before {
		top: 0;
		bottom: 0;
		inset-inline: auto;
		right: 21px;
		width: 0;
		height: auto;
		border-top: none;
		border-right: 2px dashed var(--dr-primary);
	}

	.dr-journey__step {
		text-align: right;
		display: flex;
		gap: 1rem;
		align-items: flex-start;
		padding: 0 0 1.75rem;
	}

	.dr-journey__top {
		margin-bottom: 0;
		flex-shrink: 0;
	}

	.dr-journey__num {
		margin-bottom: 0;
	}
}

/* ── Testimonials + Video ── */
.dr-testimonials {
	padding: var(--dr-section-space) 0;
	background: var(--dr-paper);
}

.dr-testimonials__layout {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 1.5rem;
	align-items: stretch;
}

.dr-testimonials__cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
}

.dr-testimonials__card {
	background: var(--dr-surface);
	border-radius: var(--dr-radius-sm);
	box-shadow: var(--dr-shadow);
	border: 1px solid var(--dr-border);
	padding: 1.25rem;
	display: flex;
	flex-direction: column;
}

.dr-testimonials__stars {
	color: #f5a623;
	font-size: 0.9rem;
	letter-spacing: 2px;
	margin-bottom: 0.75rem;
}

.dr-testimonials__card blockquote,
.dr-testimonials__card p {
	font-size: 0.85rem;
	color: var(--dr-ink-soft);
	margin: 0 0 1rem;
	flex: 1;
	line-height: 1.75;
}

.dr-testimonials__author {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin-top: auto;
}

.dr-testimonials__avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--dr-primary-light);
	color: var(--dr-primary);
	font-size: 0.75rem;
	font-weight: 800;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.dr-testimonials__meta strong {
	display: block;
	font-size: 0.82rem;
	color: var(--dr-ink);
}

.dr-testimonials__meta span {
	font-size: 0.72rem;
	color: var(--dr-ink-soft);
}

.dr-testimonials__video {
	background: var(--dr-surface);
	border-radius: var(--dr-radius-sm);
	box-shadow: var(--dr-shadow);
	border: 1px solid var(--dr-border);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.dr-testimonials__video-thumb {
	position: relative;
	flex: 1;
	min-height: 200px;
	background: var(--dr-surface-sunk);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.dr-testimonials__video-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	inset: 0;
}

.dr-testimonials__play {
	position: relative;
	z-index: 1;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--dr-primary);
	color: #fff;
	border: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: var(--dr-shadow-lift);
	transition: transform 0.2s, background 0.2s;
}

.dr-testimonials__play:hover {
	background: var(--dr-primary-dark);
	transform: scale(1.05);
}

.dr-testimonials__play svg {
	width: 22px;
	height: 22px;
	margin-inline-start: 3px;
}

.dr-testimonials__video-caption {
	padding: 1rem;
	text-align: center;
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--dr-ink);
}

@media (max-width: 1024px) {
	.dr-testimonials__layout {
		grid-template-columns: 1fr;
	}

	.dr-testimonials__cards {
		grid-template-columns: 1fr;
	}
}

/* ── CTA Banner ── */
.dr-cta {
	padding: 0;
	margin-block-end: 0 !important;
	background: linear-gradient(135deg, var(--dr-primary) 0%, var(--dr-accent) 50%, #0D9488 100%);
	position: relative;
	overflow: hidden;
}

.dr-cta::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 20% 50%, rgba(255, 255, 255, 0.12) 0%, transparent 50%),
		radial-gradient(circle at 80% 80%, rgba(255, 255, 255, 0.08) 0%, transparent 40%);
	pointer-events: none;
}

.dr-cta__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	padding: 3rem 0;
	flex-wrap: wrap;
	position: relative;
	z-index: 1;
}

/* CTA sits flush on footer — kill WP block-gap seam */
body.dr-ahmadi-theme main#main-content {
	padding-block-end: 0;
	margin-block-end: 0;
}

body.dr-ahmadi-theme main#main-content > .dr-cta,
body.dr-ahmadi-theme main#main-content .dr-cta:last-child,
body.dr-ahmadi-theme .wp-block-post-content > .dr-cta:last-child,
body.dr-blog-active .dr-blog-page > .dr-cta:last-child {
	margin-block-end: 0 !important;
	margin-block-start: 0 !important;
}

/* Inner pages — no seam between page body and CTA */
body.dr-ahmadi-theme .dr-contact-page {
	padding-bottom: 0;
}

body.dr-ahmadi-theme .dr-contact-page__map {
	margin-bottom: 0;
	padding-bottom: clamp(2rem, 4vw, var(--dr-section-space, 3rem));
}

body.dr-ahmadi-theme .wp-block-post-content > .dr-contact-page + .dr-cta,
body.dr-ahmadi-theme .wp-block-post-content > .alignfull.dr-cta,
body.dr-ahmadi-theme .wp-block-post-content > .wp-block-group.alignfull.dr-cta,
body.dr-ahmadi-theme .dr-page-sections__content + .dr-cta {
	margin-block-start: 0 !important;
}

/* Full-bleed CTA inside post content (inner pages) */
body.dr-ahmadi-theme .wp-block-post-content > .alignfull.dr-cta,
body.dr-ahmadi-theme .wp-block-post-content > .wp-block-group.alignfull.dr-cta {
	width: 100vw;
	max-width: 100vw;
	margin-inline-start: calc(50% - 50vw);
	margin-inline-end: calc(50% - 50vw);
}

body.dr-ahmadi-theme .dr-mobile-fab {
	margin: 0 !important;
	padding: 0 !important;
}

body.dr-ahmadi-theme .dr-site-footer,
body.dr-ahmadi-theme .wp-block-template-part:has(.dr-site-footer),
body.dr-ahmadi-theme main#main-content + .wp-block-template-part,
body.dr-ahmadi-theme main#main-content + .dr-mobile-fab + .wp-block-template-part,
body.dr-ahmadi-theme .wp-site-blocks > .wp-block-template-part {
	margin-block-start: 0 !important;
}

body.dr-ahmadi-theme .dr-cta .dr-cta__content h2 {
	font-size: clamp(1.35rem, 3vw, 1.85rem);
	font-weight: 800;
	color: #fff;
	margin: 0 0 0.5rem;
}

body.dr-ahmadi-theme .dr-cta .dr-cta__content p {
	color: rgba(255, 255, 255, 0.9);
	margin: 0;
	font-size: 0.95rem;
	max-width: 520px;
}

.dr-cta .dr-btn--white {
	flex-shrink: 0;
	padding: 0.9rem 2rem;
	font-size: 0.95rem;
}

@media (max-width: 480px) {
	.dr-cta__inner {
		flex-direction: column;
		text-align: center;
	}

	.dr-cta__content p {
		margin-inline: auto;
	}
}

/* ── Footer ── */
.dr-site-footer {
	background: var(--dr-footer);
	color: rgba(255, 255, 255, 0.85);
}

.dr-site-footer-main {
	padding: 3.5rem 0 0;
}

.dr-footer-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
}

.dr-footer-grid h3 {
	color: #fff;
	font-size: 1rem;
	font-weight: 800;
	margin: 0 0 1.25rem;
}

.dr-footer-grid p {
	font-size: 0.85rem;
	line-height: 1.8;
	margin: 0 0 1rem;
	color: rgba(255, 255, 255, 0.75);
}

.dr-footer-grid a {
	color: rgba(255, 255, 255, 0.75);
	text-decoration: none;
	font-size: 0.85rem;
	transition: color 0.2s;
}

.dr-footer-grid a:hover {
	color: #fff;
}

.dr-footer-links .wp-block-navigation__container,
.dr-footer-links ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}

.dr-footer-links li {
	margin: 0;
	padding: 0;
}

.dr-footer-contact__item {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	margin-bottom: 0.85rem;
	font-size: 0.85rem;
}

.dr-footer-contact__item svg {
	width: 16px !important;
	height: 16px !important;
	max-width: 16px !important;
	max-height: 16px !important;
	color: var(--dr-primary);
	flex-shrink: 0;
	margin-top: 3px;
	display: block;
}

.dr-footer-social {
	display: flex;
	gap: 0.5rem;
	margin-top: 1rem;
	flex-wrap: wrap;
	align-items: center;
}

.dr-footer-social a {
	width: 44px;
	height: 44px;
	min-width: 44px;
	min-height: 44px;
	max-width: 44px;
	max-height: 44px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.1);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	transition: background 0.2s;
	flex-shrink: 0;
	padding: 0;
	line-height: 0;
}

.dr-footer-social a:hover {
	background: var(--dr-primary);
}

.dr-footer-social svg {
	width: 18px !important;
	height: 18px !important;
	max-width: 18px !important;
	max-height: 18px !important;
	display: block;
	flex-shrink: 0;
}

.dr-site-footer .dr-brand__icon svg {
	width: 18px !important;
	height: 18px !important;
	max-width: 18px !important;
	max-height: 18px !important;
	display: block;
}

.dr-footer-bottom,
.dr-footer-bar {
	background: var(--dr-primary);
	margin-top: 2.5rem;
	padding: 0.85rem 0;
	text-align: center;
}

.dr-footer-bar p {
	margin: 0;
	font-size: 0.78rem;
	color: rgba(255, 255, 255, 0.9);
}

.dr-site-footer .dr-brand {
	color: #fff;
}

.dr-site-footer .dr-brand__text small {
	color: rgba(255, 255, 255, 0.6);
}

@media (max-width: 1024px) {
	.dr-footer-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 480px) {
	.dr-footer-grid {
		grid-template-columns: 1fr;
	}
}

/* ── Sticky contact rail (WhatsApp / phone / form) ── */
.dr-contact-rail {
	position: fixed;
	left: 1rem;
	bottom: 5.5rem;
	z-index: 170;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	pointer-events: none;
}

.dr-contact-rail__btn {
	pointer-events: auto;
	width: 44px;
	height: 44px;
	min-width: 44px;
	min-height: 44px;
	max-width: 44px;
	max-height: 44px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	text-decoration: none;
	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.18);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	padding: 0;
	line-height: 0;
	flex-shrink: 0;
}

.dr-contact-rail__btn svg {
	width: 20px !important;
	height: 20px !important;
	max-width: 20px !important;
	max-height: 20px !important;
	display: block;
	flex-shrink: 0;
}

.dr-contact-rail__btn:hover {
	transform: scale(1.06);
	box-shadow: 0 6px 20px rgba(15, 23, 42, 0.22);
}

.dr-contact-rail__btn--wa {
	background: #25D366;
}

.dr-contact-rail__btn--phone {
	background: var(--dr-primary);
}

.dr-contact-rail__btn--form {
	background: var(--dr-ink);
}

/* C3 + I3 — mobile floating layer: rail left, scroll-top right, FAB center */
@media (max-width: 1024px) {
	.dr-contact-rail {
		left: 0.75rem;
		bottom: 1.25rem;
		gap: 0.55rem;
	}

	/* Keep ≥44px tap targets (do not shrink on mobile) */
	.dr-contact-rail__btn {
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
		max-width: 44px;
		max-height: 44px;
	}

	.dr-contact-rail__btn svg {
		width: 20px !important;
		height: 20px !important;
		max-width: 20px !important;
		max-height: 20px !important;
	}

	.dr-scroll-top {
		left: auto;
		right: 0.75rem;
		bottom: 1.25rem;
		z-index: 175;
	}

	/* When homepage FAB is present, lift side controls above it */
	body:has(.dr-mobile-fab) .dr-contact-rail,
	body:has(.dr-mobile-fab) .dr-scroll-top {
		bottom: 5.5rem;
	}

	body:has(.dr-mobile-fab) {
		padding-bottom: 5.25rem;
	}

	/* Bottom nav takes over FAB spacing (mobile.css also reinforces) */
	body:has(.dr-mobile-nav) .dr-contact-rail,
	body:has(.dr-mobile-nav) .dr-scroll-top {
		bottom: calc(5.75rem + env(safe-area-inset-bottom, 0));
	}

	body:has(.dr-mobile-nav) {
		padding-bottom: calc(5.75rem + env(safe-area-inset-bottom, 0));
	}
}

/* ── Internal pages ── */
:where(main .wp-block-post-content) h1,
:where(main .wp-block-post-content) h2 {
	color: var(--dr-ink);
}
