/**
 * Site header/footer shell styles.
 */

body.fkz-profile-page #masthead:not(.fkz-site-header),
body.fkz-profile-page .elementor-location-header,
body.fkz-profile-page .site-footer:not(.fkz-site-footer),
body.fkz-profile-page .elementor-location-footer {
	display: none !important;
}

/* Let theme wrappers span the viewport; only .fkz-site-shell caps width on desktop. */
body.fkz-profile-page #page,
body.fkz-profile-page .site,
body.fkz-profile-page #content,
body.fkz-profile-page main.site-main {
	border: none;
	box-shadow: none;
	margin: 0 !important;
	max-width: none;
	padding: 0 !important;
	width: 100%;
}

html:has(body.fkz-profile-page),
body.fkz-profile-page {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

body.fkz-profile-page #comments,
body.fkz-profile-page .comments-area,
body.fkz-profile-page #respond {
	display: none;
}

body.fkz-profile-page .fkz-profile__grid,
body.fkz-profile-page .fkz-profile__sidebar,
body.fkz-profile-page .fkz-profile__main,
body.fkz-profile-page .fkz-profile__pair {
	float: none;
}

.fkz-site-shell {
	box-sizing: border-box;
	margin: 0 auto;
	padding: var(--fkz-gap) var(--fkz-gap) 0;
	width: 100%;
}

body.admin-bar.fkz-profile-page #wpadminbar {
	position: fixed !important;
	top: 0 !important;
	z-index: 999999 !important;
}

.fkz-site-header {
	margin-bottom: 0;
	position: relative;
	z-index: 200;
}

.fkz-site-shell > .fkz-profile {
	margin-top: var(--fkz-gap);
	padding-bottom: 0;
}

.fkz-site-shell > .fkz-site-footer {
	margin-top: var(--fkz-gap);
}

.fkz-site-header__panel {
	background: var(--fkz-bg-surface);
	border-radius: 20px;
	box-shadow: 0 4px 20px rgba(18, 44, 58, 0.05);
	box-sizing: border-box;
	overflow: visible;
}

/* Option B (Sina 2026-11-01): name + tagline and a 16px corner — taller and tighter, no longer a capsule. */
.fkz-site-header__mobile {
	border-radius: 16px;
	padding: 11px 14px;
}

.fkz-site-header__desktop {
	align-items: center;
	display: none;
	justify-content: space-between;
	overflow: visible;
}

.fkz-site-header__bar {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.fkz-site-header__brand {
	align-items: center;
	color: var(--fkz-ink);
	display: inline-flex;
	flex-shrink: 0;
	gap: 8px;
	text-decoration: none;
}

.fkz-site-header__brand--desktop {
	gap: 10px;
}

.fkz-site-header__brand img {
	display: block;
	flex-shrink: 0;
	height: auto;
	object-fit: contain;
}

.fkz-site-header__brand-copy {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.fkz-site-header__brand-name {
	color: var(--fkz-ink);
	font-size: 15px;
	font-weight: 800;
	line-height: 1.2;
}

.fkz-site-header__brand--desktop .fkz-site-header__brand-name {
	font-size: 18px;
}

.fkz-site-header__brand-tag {
	color: var(--fkz-subtle);
	font-size: var(--fkz-fs-caption);
	line-height: 1.3;
}

/* Two taglines. The full one (~222px at 12px) on every phone and tablet: from 401px as it is, and on phones up to 400px at a
   smaller size (11px, 10.5px up to 365px) so it still clears the menu button (360px Android: ~15px). The short one (~159px) only on
   very narrow phones (≤350px) and on desktop (≥1240px), where the full one touched the first menu item («صفحهٔ اصلی»):
   old 54px gap, full 0px, short ~61px. Between 1100 and 1239px the tagline is hidden. */
.fkz-site-header__tag-short {
	display: none;
}

@media (max-width: 400px) {
	.fkz-site-header__brand-tag {
		font-size: 11px;
	}
}

@media (max-width: 365px) {
	.fkz-site-header__brand-tag {
		font-size: 10.5px;
	}
}

@media (max-width: 350px), (min-width: 1240px) {
	.fkz-site-header__tag-long {
		display: none;
	}

	.fkz-site-header__tag-short {
		display: inline;
	}
}

.fkz-site-header__menu-btn {
	-webkit-appearance: none !important;
	appearance: none !important;
	align-items: center;
	background: #fff !important;
	border: 1px solid #e2e5e6 !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	color: var(--fkz-body) !important;
	cursor: pointer;
	display: inline-flex !important;
	flex-shrink: 0;
	height: 36px;
	justify-content: center;
	line-height: 1;
	margin: 0;
	padding: 0 !important;
	pointer-events: auto;
	position: relative;
	width: 36px;
	z-index: 2;
}

.fkz-site-header__menu-btn:hover,
.fkz-site-header__menu-btn:focus,
.fkz-site-header__menu-btn:focus-visible {
	background: var(--fkz-neutral) !important;
	outline: none;
}

.fkz-site-header__menu-btn .fkz-icon-wrap {
	pointer-events: none;
}

.fkz-site-header__close-icon {
	display: none;
}

.fkz-site-header__menu-btn[aria-expanded="true"] .fkz-site-header__menu-icon {
	display: none;
}

.fkz-site-header__menu-btn[aria-expanded="true"] .fkz-site-header__close-icon {
	display: inline-flex;
}

.fkz-site-header__mobile-nav {
	display: none;
	margin-top: 10px;
}

.fkz-site-header__mobile-nav[hidden] {
	display: none !important;
}

.fkz-site-header__mobile-nav.is-open,
.fkz-site-header.is-nav-open .fkz-site-header__mobile-nav {
	display: block !important;
}

/* Nested panel inside mobile header — matches Header.dc.html. */
.fkz-site-header__mobile-links {
	background: var(--fkz-bg-surface);
	border-radius: 20px;
	box-shadow: 0 4px 20px rgba(18, 44, 58, 0.05);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 1px;
	padding: 8px;
}

.fkz-site-header__link,
.fkz-site-header__dropdown-toggle {
	align-items: center;
	appearance: none;
	background: transparent !important;
	border: none !important;
	border-radius: 10px;
	box-shadow: none !important;
	color: var(--fkz-body) !important;
	cursor: pointer;
	display: flex;
	font-family: inherit;
	font-size: var(--fkz-fs-body);
	font-weight: 600;
	gap: 6px;
	justify-content: space-between;
	padding: 11px 12px;
	text-align: right;
	text-decoration: none !important;
	transition: background 0.15s ease, color 0.15s ease;
	width: 100%;
}

.fkz-site-header__link:hover,
.fkz-site-header__dropdown-toggle:hover,
.fkz-site-header__dropdown-link:hover {
	background: var(--fkz-neutral) !important;
	color: var(--fkz-ink) !important;
}

.fkz-site-header__link.is-active {
	background: color-mix(in srgb, var(--fkz-primary) 14%, #fff) !important;
	color: var(--fkz-ink) !important;
	font-weight: 700;
}

.fkz-site-header__dropdown-toggle[aria-expanded="true"] {
	background: transparent !important;
	color: var(--fkz-body) !important;
}

.fkz-site-header__chevron {
	align-items: center;
	display: inline-flex;
	flex-shrink: 0;
}

.fkz-site-header__chevron-up {
	display: none;
}

.fkz-site-header__dropdown-toggle[aria-expanded="true"] .fkz-site-header__chevron-down {
	display: none;
}

.fkz-site-header__dropdown-toggle[aria-expanded="true"] .fkz-site-header__chevron-up {
	display: inline-flex;
}

.fkz-site-header__chevron .fkz-icon-wrap,
.fkz-site-header__dropdown-chevron {
	color: var(--fkz-subtle);
}

.fkz-site-header__dropdown-panel:not(.fkz-site-header__dropdown-panel--desktop) {
	display: none;
	flex-direction: column;
	gap: 1px;
	max-height: 220px;
	overflow-y: auto;
	padding-right: 10px;
}

.fkz-site-header__dropdown-panel[hidden] {
	display: none !important;
}

.fkz-site-header__dropdown-panel:not(.fkz-site-header__dropdown-panel--desktop).is-open {
	display: flex !important;
}

.fkz-site-header__dropdown-link {
	background: transparent !important;
	border-radius: 9px;
	color: var(--fkz-subtle) !important;
	display: block;
	font-size: var(--fkz-fs-secondary);
	padding: 8px 12px;
	text-decoration: none !important;
	transition: background 0.15s ease, color 0.15s ease;
}

.fkz-site-header__dropdown {
	position: relative;
}

.fkz-site-header__dropdown.is-open .fkz-site-header__dropdown-trigger {
	color: var(--fkz-ink);
}

.fkz-site-header__nav {
	display: flex;
	flex-direction: column;
	gap: 1px;
	overflow: visible;
}

/* Desktop items are soft pills: hover tints, the current page stays tinted and bold (review 2026-11-01). */
.fkz-site-header__nav-link {
	border-radius: 999px;
	color: var(--fkz-body);
	font-size: var(--fkz-fs-body);
	font-weight: 600;
	padding: 7px 12px;
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease;
	white-space: nowrap;
}

.fkz-site-header__nav-link:hover {
	background: color-mix(in srgb, var(--fkz-primary) 8%, #fff);
	color: var(--fkz-ink);
}

.fkz-site-header__nav-link.is-active {
	background: color-mix(in srgb, var(--fkz-primary) 14%, #fff);
	color: var(--fkz-ink);
	font-weight: 700;
}

.fkz-site-header__dropdown-trigger {
	align-items: center;
	background: none;
	border: none;
	box-shadow: none;
	color: var(--fkz-body);
	cursor: pointer;
	display: inline-flex;
	font-family: inherit;
	font-size: var(--fkz-fs-body);
	font-weight: 600;
	gap: 3px;
	line-height: inherit;
	margin: 0;
	outline: none;
	padding: 0;
	-webkit-tap-highlight-color: transparent;
	user-select: none;
	white-space: nowrap;
}

.fkz-site-header__dropdown-trigger:hover,
.fkz-site-header__dropdown-trigger:focus-visible {
	color: var(--fkz-ink);
}

/* Fallback if theme still targets button triggers */
.fkz-site-shell .fkz-site-header button.fkz-site-header__dropdown-trigger {
	all: unset;
	align-items: center;
	box-sizing: border-box;
	color: var(--fkz-body);
	cursor: pointer;
	display: inline-flex;
	font-family: inherit;
	font-size: var(--fkz-fs-body);
	font-weight: 600;
	gap: 3px;
	line-height: normal;
	white-space: nowrap;
}

.fkz-site-shell .fkz-site-header button.fkz-site-header__dropdown-trigger:hover,
.fkz-site-shell .fkz-site-header button.fkz-site-header__dropdown-trigger:focus-visible {
	color: var(--fkz-ink);
}

/* Desktop dropdown triggers — strip Hello Elementor / theme button chrome */
body.fkz-profile-page .fkz-site-header button.fkz-site-header__dropdown-trigger {
	-webkit-appearance: none !important;
	appearance: none !important;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--fkz-body) !important;
	font-family: inherit !important;
	font-size: var(--fkz-fs-body) !important;
	font-weight: 600 !important;
	line-height: inherit !important;
	margin: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
	text-transform: none !important;
	width: auto !important;
}

body.fkz-profile-page .fkz-site-header button.fkz-site-header__dropdown-trigger:hover,
body.fkz-profile-page .fkz-site-header button.fkz-site-header__dropdown-trigger:focus,
body.fkz-profile-page .fkz-site-header button.fkz-site-header__dropdown-trigger:focus-visible {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	color: var(--fkz-ink) !important;
	outline: none;
}

body.fkz-profile-page .fkz-site-header .fkz-site-header__dropdown-chevron,
body.fkz-profile-page .fkz-site-header .fkz-site-header__dropdown-chevron .fkz-icon-wrap {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	color: var(--fkz-subtle) !important;
}

.fkz-site-header__dropdown-panel--desktop {
	display: none;
	left: auto;
	max-height: none;
	max-width: min(440px, 92vw);
	min-width: 220px;
	overflow: visible;
	padding-top: 8px;
	position: absolute;
	right: 0;
	top: 100%;
	width: max-content; /* as wide as the longest item (up to 440px) so one item = one line */
	z-index: 50;
}

.fkz-site-header__dropdown-panel--desktop[aria-hidden="true"] {
	display: none !important;
}

.fkz-site-header__dropdown:hover .fkz-site-header__dropdown-panel--desktop,
.fkz-site-header__dropdown:focus-within .fkz-site-header__dropdown-panel--desktop,
.fkz-site-header__dropdown.is-open .fkz-site-header__dropdown-panel--desktop {
	display: block !important;
}

.fkz-site-header__dropdown-panel--desktop .fkz-site-header__dropdown-scroll {
	background: var(--fkz-bg-surface);
	border-radius: 20px;
	box-shadow: 0 4px 20px rgba(18, 44, 58, 0.05);
	max-height: min(72vh, 520px); /* every item stays reachable: a long list scrolls inside the panel */
	overflow-x: hidden;
	overflow-y: auto;
	scrollbar-color: var(--fkz-border) transparent;
	scrollbar-width: thin;
}

/* Long lists (more than 8 items, e.g. «بیمه‌ها») read in two columns instead of one tall one. */
.fkz-site-header__dropdown-panel--desktop.fkz-site-header__dropdown-panel--wide .fkz-site-header__dropdown-scroll {
	display: grid;
	gap: 1px 4px;
	grid-template-columns: repeat(2, minmax(140px, auto));
}

.fkz-site-header__dropdown-scroll {
	display: flex;
	flex-direction: column;
	gap: 1px;
	max-height: 340px;
	overflow-y: auto;
	padding: 6px;
}

.fkz-site-header__dropdown-panel--desktop .fkz-site-header__dropdown-link {
	color: var(--fkz-body);
	font-size: var(--fkz-fs-body);
	overflow: hidden;
	padding: 9px 12px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Beat theme link colors (Hello Elementor etc.) — only .is-active uses brand teal. */
.fkz-site-header a.fkz-site-header__nav-link,
.fkz-site-header a.fkz-site-header__link,
.fkz-site-header a.fkz-site-header__dropdown-link,
body.fkz-directory-page .fkz-site-header a.fkz-site-header__nav-link,
body.fkz-directory-page .fkz-site-header a.fkz-site-header__link,
body.fkz-directory-page .fkz-site-header a.fkz-site-header__dropdown-link,
body.fkz-profile-page .fkz-site-header a.fkz-site-header__nav-link,
body.fkz-profile-page .fkz-site-header a.fkz-site-header__link,
body.fkz-profile-page .fkz-site-header a.fkz-site-header__dropdown-link {
	color: var(--fkz-body) !important;
	text-decoration: none !important;
}

.fkz-site-header a.fkz-site-header__nav-link.is-active,
.fkz-site-header a.fkz-site-header__link.is-active,
body.fkz-directory-page .fkz-site-header a.fkz-site-header__nav-link.is-active,
body.fkz-directory-page .fkz-site-header a.fkz-site-header__link.is-active,
body.fkz-profile-page .fkz-site-header a.fkz-site-header__nav-link.is-active,
body.fkz-profile-page .fkz-site-header a.fkz-site-header__link.is-active {
	color: var(--fkz-ink) !important;
	font-weight: 700;
}

.fkz-site-header a.fkz-site-header__nav-link:hover,
.fkz-site-header a.fkz-site-header__link:hover,
.fkz-site-header a.fkz-site-header__dropdown-link:hover {
	color: var(--fkz-ink) !important;
}

/* ── Auth (guest / user menu) ─────────────────────────────── */

.fkz-site-header__auth-guest--mobile {
	border-top: 1px solid #f1f3f4;
	margin-top: 6px;
	padding: 10px 4px 4px;
}

.fkz-site-header__auth-guest--mobile .fkz-site-header__auth-cta {
	border-radius: 10px;
	display: flex;
	font-size: var(--fkz-fs-secondary);
	font-weight: 700;
	justify-content: center;
	padding: 10px;
	text-align: center;
	width: 100%;
}

.fkz-site-header__auth {
	align-items: center;
	border-right: 1px solid #e2e5e6;
	display: none;
	margin-right: 6px;
	padding-right: 20px;
}

.fkz-site-header__auth-guest {
	align-items: center;
	display: flex;
}

.fkz-site-header__auth-cta {
	align-items: center;
	background: var(--fkz-ink) !important;
	border-radius: 10px;
	color: #fff !important;
	display: inline-flex;
	font-size: var(--fkz-fs-body);
	font-weight: 700;
	padding: 9px 18px;
	text-decoration: none !important;
	transition: background 0.15s ease;
	white-space: nowrap;
}

.fkz-site-header__auth-cta:hover {
	background: #1d4359 !important;
	color: #fff !important;
}

/* ── Desktop header items with a dropdown ─────────────────── */

/* The whole item (label + chevron) is one soft pill, like the plain links (review 2026-11-01). */
.fkz-site-header__dropdown {
	border-radius: 999px;
	padding: 7px 12px;
	transition: background 0.15s ease;
}

.fkz-site-header__dropdown:hover,
.fkz-site-header__dropdown.is-open {
	background: color-mix(in srgb, var(--fkz-primary) 8%, #fff);
}

.fkz-site-header__dropdown:has(> .fkz-site-header__nav-link.is-active) {
	background: color-mix(in srgb, var(--fkz-primary) 14%, #fff);
}

.fkz-site-header__dropdown > .fkz-site-header__nav-link {
	background: none !important;
	padding: 0;
}

/* Parent item with its own address: label is a real link, the chevron toggles the dropdown. */
.fkz-site-header__dropdown--linked {
	align-items: center;
	display: inline-flex;
	gap: 3px;
}

/* ── Header: mobile and small laptops (below 1100px) ──────── */

@media (max-width: 1099.98px) {
	/* Smart sticky: follows the page, hides while reading down, comes back on the first scroll up (site-shell.js). */
	.fkz-site-header {
		position: sticky;
		top: 8px;
		transition: transform 0.2s ease;
	}

	/* signed-in admins: stay below the WordPress admin bar */
	body.admin-bar .fkz-site-header {
		top: calc(var(--wp-admin--admin-bar--height, 0px) + 8px);
	}

	.fkz-site-header.is-hidden {
		transform: translateY(calc(-100% - 16px - var(--wp-admin--admin-bar--height, 0px)));
	}

	/* Phones: WordPress lets the admin bar scroll away below 600px, so the header keeps only its own 8px (J1.1). */
	@media (max-width: 600px) {
		html body.admin-bar[class] #wpadminbar {
			position: absolute !important;
		}

		body.admin-bar .fkz-site-header {
			top: 8px;
		}

		body.admin-bar .fkz-site-header.is-hidden {
			transform: translateY(calc(-100% - 16px));
		}
	}

	.fkz-site-header.is-stuck .fkz-site-header__mobile {
		box-shadow: 0 6px 24px rgba(18, 44, 58, 0.12);
	}

	/* The menu opens over the page, inside the phone width; the page behind is dimmed and does not scroll. */
	.fkz-site-header__mobile {
		position: relative;
	}

	.fkz-site-header__mobile-nav {
		left: 0;
		margin-top: 0;
		max-height: calc(100dvh - 96px);
		overflow-y: auto;
		overscroll-behavior: contain;
		position: absolute;
		right: 0;
		top: calc(100% + 8px);
	}

	.fkz-site-header.is-nav-open::before {
		background: rgba(18, 44, 58, 0.35);
		content: "";
		inset: 0;
		position: fixed;
		z-index: -1;
	}
}

html.fkz-nav-locked {
	overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
	.fkz-site-header {
		transition: none;
	}
}

/* ── Footer (review 2026-11-01) ───────────────────────────── */

.fkz-site-footer {
	margin-bottom: 16px;
	margin-top: 0;
}

.fkz-site-footer__inner {
	background: linear-gradient(135deg, #122c3a, #1d4359);
	border-radius: 20px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 20px 18px 16px;
}

.fkz-site-footer__title {
	color: #fff;
	font-size: var(--fkz-fs-body);
	font-weight: 800;
	margin: 0 0 8px;
}

.fkz-site-footer__text {
	color: #a9c3cc;
	font-size: var(--fkz-fs-caption);
	line-height: 1.8;
	margin: 0;
}

.fkz-site-footer__text--desktop {
	display: none;
}

.fkz-site-footer__social {
	display: flex;
	gap: 10px;
	margin-top: 12px;
}

.fkz-site-footer__social-btn {
	align-items: center;
	background: rgba(255, 255, 255, 0.1);
	border-radius: 999px;
	color: #fff !important;
	display: inline-flex;
	flex-shrink: 0;
	height: 30px;
	justify-content: center;
	position: relative;
	text-decoration: none !important;
	transition: background 0.15s ease;
	width: 30px;
}

/* Bigger tap target than the visible circle. */
.fkz-site-footer__social-btn::after {
	content: "";
	inset: -5px;
	position: absolute;
}

.fkz-site-footer__social-btn:hover {
	background: rgba(255, 255, 255, 0.2);
	color: #fff !important;
}

.fkz-site-footer__social-btn img {
	display: block;
	filter: brightness(0) invert(1);
	height: 15px;
	object-fit: contain;
	width: 15px;
}

/* Link groups: collapsed on mobile, always open on desktop (site-shell.js). */
.fkz-site-footer__column {
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.fkz-site-footer__column > summary {
	align-items: center;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	list-style: none;
	margin: 0;
	padding: 12px 0 0;
}

.fkz-site-footer__column > summary::-webkit-details-marker {
	display: none;
}

.fkz-site-footer__chevron {
	color: #a9c3cc;
	transition: transform 0.16s ease;
}

.fkz-site-footer__column[open] .fkz-site-footer__chevron {
	transform: rotate(180deg);
}

.fkz-site-footer__links {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding-bottom: 8px;
}

.fkz-site-footer__link {
	color: #c7d3d9 !important;
	display: block;
	font-size: var(--fkz-fs-secondary);
	line-height: 1.6;
	padding: 5px 0;
	text-decoration: none !important;
}

.fkz-site-footer__link:hover {
	color: #fff !important;
}

/* «فکر آزاد مطب نیست…» has its own line: it speaks to visitors, the white bar below speaks to clinics. */
.fkz-site-footer__notice {
	align-items: flex-start;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	color: #eaf1f3;
	display: flex;
	font-size: var(--fkz-fs-secondary);
	gap: 8px;
	line-height: 1.8;
	margin: 0;
	padding-top: 14px;
}

.fkz-site-footer__notice-icon {
	color: var(--fkz-teal);
	flex-shrink: 0;
	margin-top: 3px;
}

.fkz-site-footer__cta-bar {
	align-items: center;
	background: #fff;
	border-radius: 16px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 12px;
	padding: 12px 14px;
}

.fkz-site-footer__cta-logo {
	display: block;
	flex-shrink: 0;
	line-height: 0;
}

.fkz-site-footer__cta-logo img {
	display: block;
	height: 28px;
	object-fit: contain;
	width: auto;
}

.fkz-site-footer__cta-headline {
	color: var(--fkz-ink);
	flex: 1;
	font-size: var(--fkz-fs-secondary);
	font-weight: 800;
	line-height: 1.6;
	margin: 0;
	min-width: 0;
}

.fkz-site-footer__cta-btn {
	align-items: center;
	background: var(--fkz-ink);
	border-radius: 11px;
	color: #fff !important;
	display: flex;
	flex-basis: 100%;
	font-size: var(--fkz-fs-secondary);
	font-weight: 800;
	gap: 6px;
	justify-content: center;
	padding: 11px;
	text-decoration: none !important;
	transition: background 0.15s ease;
	white-space: nowrap;
}

.fkz-site-footer__cta-btn:hover {
	background: #1d4359;
	color: #fff !important;
}

.fkz-site-footer__bottom {
	align-items: center;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	display: flex;
	flex-wrap: wrap;
	gap: 6px 16px;
	justify-content: space-between;
	padding-top: 12px;
}

.fkz-site-footer__copy {
	color: #a9c3cc;
	font-size: var(--fkz-fs-caption);
	margin: 0;
}

.fkz-site-footer__bottom-links {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 14px;
}

.fkz-site-footer__bottom-links a {
	color: #c7d3d9 !important;
	font-size: var(--fkz-fs-caption);
	text-decoration: none !important;
}

.fkz-site-footer__bottom-links a:hover {
	color: #fff !important;
}

@media (min-width: 900px) {
	.fkz-site-shell {
		max-width: 1240px;
	}

	.fkz-site-footer__inner {
		display: grid;
		gap: 0 48px;
		grid-template-columns: 1.3fr 1fr 1fr;
		padding: 36px 40px 20px;
	}

	.fkz-site-footer__text--mobile {
		display: none;
	}

	.fkz-site-footer__text--desktop {
		display: block;
		font-size: var(--fkz-fs-body);
		line-height: 1.9;
	}

	.fkz-site-footer__title {
		font-size: 15px;
		margin-bottom: 14px;
	}

	.fkz-site-footer__social {
		gap: 8px;
		margin-top: 16px;
	}

	.fkz-site-footer__social-btn {
		height: 34px;
		width: 34px;
	}

	.fkz-site-footer__column {
		border-top: none;
	}

	.fkz-site-footer__column > summary {
		cursor: default;
		padding: 0 0 14px;
		pointer-events: none;
	}

	.fkz-site-footer__chevron {
		display: none;
	}

	.fkz-site-footer__links {
		gap: 4px;
		padding-bottom: 0;
	}

	.fkz-site-footer__link {
		padding: 3px 0;
	}

	.fkz-site-footer__notice,
	.fkz-site-footer__cta-bar,
	.fkz-site-footer__bottom {
		grid-column: 1 / -1;
	}

	.fkz-site-footer__notice {
		margin-top: 28px;
		padding-top: 20px;
	}

	.fkz-site-footer__cta-bar {
		flex-wrap: nowrap;
		gap: 16px;
		margin-top: 16px;
		padding: 14px 24px;
	}

	.fkz-site-footer__cta-logo img {
		height: 36px;
	}

	.fkz-site-footer__cta-headline {
		font-size: 15px;
	}

	.fkz-site-footer__cta-btn {
		border-radius: 999px;
		flex-basis: auto;
		font-size: var(--fkz-fs-body);
		padding: 12px 24px;
	}

	.fkz-site-footer__bottom {
		margin-top: 20px;
		padding-top: 16px;
	}
}

/* Full header bar from 1100px: below that the 8 items and the clinic button no longer fit on one line. */
@media (min-width: 1100px) {
	.fkz-site-header__mobile {
		display: none;
	}

	.fkz-site-header__desktop {
		display: flex;
		padding: 16px 28px;
	}

	.fkz-site-header__nav {
		align-items: center;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 0;
	}

	.fkz-site-header__auth {
		display: flex;
	}
}

@media (min-width: 1100px) and (max-width: 1239.98px) {
	.fkz-site-header__brand-tag {
		display: none;
	}
}

/* One font for the whole new design: Vazirmatn (tokens.css). Overrides the theme's IRANYekanX. */
.fkz-site-shell,
.fkz-site-shell * {
	font-family: var(--fkz-font) !important;
}

/* Running text is justified everywhere, footer included. Set on containers and :where() (specificity 0) so it is only
   inherited: anything that sets its own alignment, or sits in a centred block like the home hero, keeps it. */
:where(.fkz-site-shell, .fkz-site-footer, body[class*="fkz-"] main) {
	text-align: justify;
	text-justify: inter-word;
}

/* Justify only where a line holds enough words (Mehdi 2026-11-10): justified short lines open wide gaps between words.
   Justified titles, buttons and labels, and any justified text with fewer than 6 words per line, get .fkz-ragged from
   site-shell.js (fitText): plain right alignment, nothing else. Centred or start-aligned text is never touched.
   Not used (Mehdi): text-wrap balance/pretty (left an empty strip beside the text), kashida (browsers do not stretch
   Persian letters), letter-spacing (breaks the joined script). */
.fkz-ragged {
	text-align: start !important;
}

