:root {
	--bv3-bg: #f5fbfd;
	--bv3-surface: #fff;
	--bv3-ink: #123b56;
	--bv3-muted: #5c788a;
	--bv3-line: #d9eaf0;
	--bv3-blue: #398ab0;
	--bv3-blue-dark: #16496b;
	--bv3-pink: #d82368;
	--bv3-shadow: 0 24px 60px rgba(21, 75, 101, .12);
	font-family: IRANSansX, Roboto, Arial, sans-serif
}

* {
	box-sizing: border-box
}

html {
	scroll-behavior: smooth
}

body {
	margin: 0;
	background: var(--bv3-bg);
	color: var(--bv3-ink);
	line-height: 1.8
}

a {
	color: inherit;
	text-decoration: none
}

.bv3-shell {
	width: 100%;
	max-width: var(--bv3-shell-max-width);
	min-width: 0;
	margin-inline: auto;
	padding: 0 var(--bv3-shell-gutter)
}

.bv3-header {
	min-height: 86px;
	display: flex;
	align-items: center;
	gap: 34px;
	border-bottom: 1px solid var(--bv3-line)
}

.bv3-logo {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -.5px
}

.bv3-logo-soft {
	color: var(--bv3-pink)
}

.bv3-mark {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	color: #fff;
	background: linear-gradient(145deg, #4cc9e9, #398ab0);
	border-radius: 12px;
	font-size: 25px;
	line-height: 1
}

.bv3-nav {
	display: flex;
	gap: 26px;
	margin-inline: auto;
	font-size: 12px;
	color: var(--bv3-muted)
}

.bv3-nav a:hover, .bv3-text-link:hover {
	color: var(--bv3-pink)
}

.bv3-header-actions {
	display: flex;
	align-items: center;
	gap: 10px
}

.bv3-language {
	display: flex;
	gap: 3px;
	padding: 3px;
	border: 1px solid var(--bv3-line);
	border-radius: 12px;
	font-size: 10px
}

.bv3-language a {
	padding: 3px 8px;
	border-radius: 9px
}

.bv3-language .is-active {
	background: var(--bv3-blue-dark);
	color: #fff
}

.bv3-theme {
	border: 1px solid var(--bv3-line);
	background: var(--bv3-surface);
	color: var(--bv3-ink);
	width: 34px;
	height: 34px;
	border-radius: 11px;
	cursor: pointer;
	font-size: 17px
}

.bv3-hero {
	display: grid;
	grid-template-columns:minmax(0, 1fr) minmax(340px, .92fr);
	gap: 6vw;
	align-items: center;
	min-height: 650px;
	padding: 72px 0
}

.bv3-kicker {
	color: var(--bv3-pink);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .04em;
	margin: 0 0 12px
}

.bv3-hero h1 {
	font-size: clamp(38px, 5.4vw, 74px);
	line-height: 1.24;
	letter-spacing: -2px;
	max-width: 720px;
	margin: 0 0 22px
}

.bv3-lead {
	max-width: 590px;
	color: var(--bv3-muted);
	font-size: 16px;
	line-height: 2.15
}

.bv3-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 30px 0
}

.bv3-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 46px;
	padding: 8px 20px;
	border-radius: 13px;
	font-size: 12px;
	font-weight: 700;
	transition: transform .2s, box-shadow .2s
}

.bv3-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(21, 75, 101, .14)
}

.bv3-button-primary {
	background: var(--bv3-blue-dark);
	color: #fff
}

.bv3-button-quiet {
	border: 1px solid var(--bv3-line);
	background: var(--bv3-surface)
}

.bv3-button-dark {
	background: #fff;
	color: var(--bv3-blue-dark)
}

.bv3-trust {
	display: flex;
	flex-wrap: wrap;
	gap: 17px;
	color: var(--bv3-muted);
	font-size: 10px
}

.bv3-hero-art {
	position: relative;
	min-height: 400px;
	display: grid;
	place-items: center
}

.bv3-hero-art img {
	position: relative;
	width: 100%;
	max-width: 610px;
	border-radius: 28px;
	box-shadow: var(--bv3-shadow);
	mix-blend-mode: multiply
}

.bv3-art-glow {
	position: absolute;
	width: 75%;
	height: 78%;
	background: radial-gradient(circle, #c6ebf3, transparent 68%);
	filter: blur(10px)
}

.bv3-section {
	padding: 55px 0 95px
}

.bv3-section-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 28px
}

.bv3-section h2, .bv3-process h2, .bv3-callout h2 {
	font-size: clamp(25px, 3vw, 42px);
	line-height: 1.45;
	letter-spacing: -1px;
	margin: 0;
	max-width: 680px
}

.bv3-service-grid {
	display: grid;
	grid-template-columns:repeat(4, 1fr);
	gap: 14px
}

.bv3-card {
	display: flex;
	flex-direction: column;
	gap: 20px;
	min-height: 220px;
	padding: 23px;
	border: 1px solid var(--bv3-line);
	border-radius: 20px;
	background: var(--bv3-surface);
	transition: transform .2s, border-color .2s
}

.bv3-card:hover {
	transform: translateY(-5px);
	border-color: #8bc8db
}

.bv3-card-icon {
	display: grid;
	place-items: center;
	width: 43px;
	height: 43px;
	border-radius: 14px;
	background: #e9f7fb;
	color: var(--bv3-blue-dark);
	font-size: 25px
}

.bv3-card h3 {
	font-size: 16px;
	margin: 0 0 6px
}

.bv3-card p {
	color: var(--bv3-muted);
	font-size: 11px;
	line-height: 2;
	margin: 0
}

.bv3-card-arrow {
	color: var(--bv3-pink);
	font-size: 20px;
	margin-top: auto;
	align-self: end
}

.bv3-process {
	display: grid;
	grid-template-columns:1fr 1fr;
	gap: 8vw;
	align-items: center;
	padding: 80px 7%;
	background: #e9f6fa;
	border-radius: 30px
}

.bv3-process p:not(.bv3-kicker) {
	color: var(--bv3-muted);
	font-size: 13px;
	line-height: 2.2;
	max-width: 560px
}

.bv3-text-link {
	display: inline-flex;
	gap: 12px;
	margin-top: 13px;
	color: var(--bv3-blue-dark);
	font-weight: 700;
	font-size: 12px
}

.bv3-steps {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 20px
}

.bv3-steps li {
	display: flex;
	gap: 18px;
	align-items: flex-start;
	padding-bottom: 20px;
	border-bottom: 1px solid #cde7ee
}

.bv3-steps b {
	color: var(--bv3-pink);
	font-size: 13px;
	letter-spacing: 1px
}

.bv3-steps span {
	display: grid;
	gap: 3px
}

.bv3-steps strong {
	font-size: 14px
}

.bv3-steps small {
	color: var(--bv3-muted);
	font-size: 11px;
	line-height: 1.8
}

.bv3-callout {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	margin: 80px 0 50px;
	padding: 42px 48px;
	background: linear-gradient(120deg, #16496b, #398ab0);
	border-radius: 26px;
	color: #fff
}

.bv3-callout .bv3-kicker {
	color: #bdeaf2
}

.bv3-callout p:not(.bv3-kicker) {
	font-size: 12px;
	opacity: .84;
	max-width: 620px
}

.bv3-footer {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding: 25px 0 35px;
	border-top: 1px solid var(--bv3-line);
	color: var(--bv3-muted);
	font-size: 10px
}

.bv3-footer a {
	color: var(--bv3-blue-dark)
}

[dir=rtl] .bv3-hero h1 {
	letter-spacing: 0
}

[dir=rtl] .bv3-header {
	flex-direction: row-reverse
}

[dir=rtl] .bv3-nav {
	margin-inline: auto
}

[dir=ltr] .bv3-header {
	direction: ltr
}

.bv3-page[data-theme=dark] {
	--bv3-bg: #0b1f2d;
	--bv3-surface: #102c3d;
	--bv3-ink: #eaf7fb;
	--bv3-muted: #a7c2ce;
	--bv3-line: #234758;
	--bv3-blue-dark: #73c5df;
	--bv3-shadow: 0 24px 60px rgba(0, 0, 0, .3)
}

.bv3-page[data-theme=dark] .bv3-button-primary {
	background: #73c5df;
	color: #082235
}

.bv3-page[data-theme=dark] .bv3-button-quiet, .bv3-page[data-theme=dark] .bv3-theme {
	background: #102c3d
}

.bv3-page[data-theme=dark] .bv3-card-icon {
	background: #183c4d;
	color: #bceaf4
}

.bv3-page[data-theme=dark] .bv3-process {
	background: #122f40
}

.bv3-page[data-theme=dark] .bv3-hero-art img {
	mix-blend-mode: normal
}

.bv3-page[data-theme=dark] .bv3-footer a {
	color: #bceaf4
}

@media (max-width: 980px) {
	.bv3-hero {
		grid-template-columns:1fr;
		padding: 52px 0
	}

	.bv3-hero-copy {
		max-width: 730px
	}

	.bv3-hero-art {
		order: -1;
		min-height: 260px
	}

	.bv3-hero-art img {
		max-width: 540px
	}

	.bv3-service-grid {
		grid-template-columns:repeat(2, 1fr)
	}

	.bv3-process {
		grid-template-columns:1fr;
		gap: 35px
	}
}

@media (max-width: 620px) {
	.bv3-header {
		min-height: 72px;
		gap: 12px;
		flex-wrap: wrap;
		padding: 12px 0
	}

	.bv3-nav {
		display: none
	}

	.bv3-header-actions {
		margin-inline-start: auto
	}

	.bv3-language a {
		font-size: 9px;
		padding: 2px 5px
	}

	.bv3-hero {
		padding: 35px 0 55px;
		min-height: 0
	}

	.bv3-hero-art {
		min-height: 190px
	}

	.bv3-hero-art img {
		border-radius: 20px
	}

	.bv3-hero h1 {
		font-size: 39px;
		letter-spacing: -1px
	}

	.bv3-lead {
		font-size: 13px
	}

	.bv3-trust {
		display: grid;
		gap: 4px
	}

	.bv3-section {
		padding: 35px 0 65px
	}

	.bv3-section-heading {
		display: block
	}

	.bv3-section h2, .bv3-process h2, .bv3-callout h2 {
		font-size: 28px
	}

	.bv3-service-grid {
		grid-template-columns:1fr;
		gap: 10px
	}

	.bv3-card {
		min-height: 145px;
		flex-direction: row;
		align-items: flex-start;
		gap: 13px;
		padding: 17px
	}

	.bv3-card-icon {
		flex: none
	}

	.bv3-card-arrow {
		margin-inline-start: auto
	}

	.bv3-process {
		padding: 28px 23px;
		border-radius: 20px
	}

	.bv3-callout {
		display: grid;
		margin: 55px 0 35px;
		padding: 28px 23px;
		border-radius: 20px
	}

	.bv3-footer {
		display: grid;
		gap: 5px;
		padding-bottom: 25px
	}
}

/* Keyboard access and motion settings follow the landing skip-link pattern. */
.bv3-skip {
	position: fixed;
	top: -100px;
	inset-inline-start: 20px;
	padding: 10px 18px;
	background: var(--bv3-surface);
	color: var(--bv3-ink);
	border: 2px solid var(--bv3-blue);
	border-radius: 8px;
	z-index: 20
}

.bv3-skip:focus {
	top: 10px
}

.bv3-page a:focus-visible, .bv3-page button:focus-visible {
	outline: 3px solid #398ab0;
	outline-offset: 4px
}

.bv3-page .app-btn2.bv3-button {
	max-height: none;
	min-height: 46px
}

.bv3-page .bv3-header {
	direction: ltr
}

.bv3-page[dir=rtl] .bv3-header {
	flex-direction: row
}

.bv3-page[dir=rtl] .bv3-hero h1 {
	line-height: 1.65;
	font-size: clamp(34px, 4.3vw, 57px)
}

.bv3-page[dir=rtl] .bv3-section h2, .bv3-page[dir=rtl] .bv3-process h2, .bv3-page[dir=rtl] .bv3-callout h2 {
	line-height: 1.9;
	letter-spacing: 0
}

.bv3-page .bv3-logo {
	direction: ltr;
	white-space: nowrap
}

.bv3-page .bv3-card-arrow {
	flex: none
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto
	}

	*, *:before, *:after {
		transition: none !important;
		animation: none !important
	}
}

@media (max-width: 380px) {
	.bv3-page .bv3-header {
		gap: 6px
	}

	.bv3-logo {
		font-size: 18px
	}

	.bv3-logo img {
		width: 32px
	}

	.bv3-header-actions {
		gap: 4px
	}

	.bv3-language a {
		padding: 2px 4px
	}

	.bv3-patient-page .bv3-header {
		flex-wrap: wrap
	}
}

/* Preserve generated artwork proportions on every screen. */
.bv3-hero-art img{height:auto;aspect-ratio:1264/848;object-fit:cover}.bv3-hero-art{min-height:0}.bv3-hero{min-height:580px}.bv3-page .bv3-trust{line-height:2}.bv3-card h3{line-height:1.9}@media(max-width:620px){.bv3-hero{min-height:0;gap:25px}.bv3-hero-art img{max-height:270px;object-fit:cover}.bv3-page .bv3-hero h1{font-size:34px}.bv3-section{padding-top:14px}}

/* Theme tokens follow the catalog variable contract and retain semantic button variants. */
html.bv3-page body{background:var(--bv3-bg)!important;color:var(--bv3-ink);--color-primary:var(--bv3-blue-dark);--color-primary-dark:var(--bv3-blue);--input-border-color-focus:var(--bv3-blue)}

html.bv3-page[data-theme=dark] body {
	--color-danger: #d8667c;
	--color-warning: #e0a261;
	--text-secondary: var(--bv3-ink);
	--text-secondary-grey: var(--bv3-muted);
	--text-secondary-gray: var(--bv3-muted);
	--input-border-color: var(--bv3-line)
}
html.bv3-page[data-theme=dark] body .app-btn2:not(.outline,.danger,.danger-second,.red,.orange,.warning,.green,.success,.second,.fifth,.fourth,.sixth,.disabled,:disabled){background:#73c5df!important;color:#082235!important;border-color:#73c5df!important}
html.bv3-page[data-theme=dark] body .app-btn2.outline:not(.danger,.danger-second,.warning,.red,.green){background:transparent!important;color:#bceaf4!important;border-color:#54859b!important}

.bv3-page[data-theme=dark] .bv3-language .is-active {
	background: #73c5df;
	color: #082235
}

.bv3-page[data-theme=dark] .bv3-booking-card .details .title {
	color: var(--bv3-muted) !important
}

.bv3-page[data-theme=dark] .bv3-booking-card .details .text {
	color: var(--bv3-ink) !important
}

/* Native modal glows belong to the light sheet and must not wash out dark dialogs. */
html.bv3-page[data-theme=dark] .modal .modal-content {
	box-shadow: none !important
}

/* Image previews are shared by network, account and visit-detail pages. */
.bv3-page .bv3-image-dialog .modal-content, .bv3-page .bv3-timeline-page #docsImageModal .modal-content {
	background: var(--bv3-surface);
	color: var(--bv3-ink);
	border-color: var(--bv3-line)
}

/* Native catalog controls also appear outside patient layouts; keep their dark state consistent. */
html.bv3-page[data-theme=dark] body :is(.app-input-label4,.app-content-card-title) {
	color: var(--bv3-ink) !important
}

html.bv3-page[data-theme=dark] body .app-second-input-icon {
	color: var(--bv3-blue-dark) !important
}

html.bv3-page[data-theme=dark] body :is(.material-radio-box,.material-radio-item) {
	background: var(--bv3-surface) !important;
	border-color: var(--bv3-line) !important;
	color: var(--bv3-muted)
}

html.bv3-page[data-theme=dark] body :is(.material-radio-list,.material-radio-items) :is(.material-radio-box,.material-radio-item):is(:has(input:checked),:hover) {
	background: var(--bv3-line) !important;
	border-color: var(--bv3-blue) !important
}

html.bv3-page[data-theme=dark] body .material-radio-text {
	color: var(--bv3-muted) !important
}

html.bv3-page[data-theme=dark] body :is(.material-radio-list,.material-radio-items) .material-radio:checked ~ .material-radio-text {
	color: var(--bv3-ink) !important
}

html.bv3-page[data-theme=dark] body :is(.material-radio-list,.material-radio-items) .material-radio-label {
	border-color: var(--bv3-blue) !important;
	background: var(--bv3-bg)
}

html.bv3-page[data-theme=dark] body .material-radio-label::after {
	background: var(--bv3-blue) !important
}

html.bv3-page[data-theme=dark] body .bv__outline-badge {
	color: var(--bv3-blue-dark) !important;
	border-color: var(--bv3-blue) !important
}

html.bv3-page[data-theme=dark] body .biovisit-alert:is(.warning,.danger) {
	background: #392b35 !important;
	color: #ffd6df
}

html.bv3-page[data-theme=dark] body .biovisit-alert:is(.warning,.danger) :is(.biovisit-alert-text,svg) {
	color: #ffd6df !important
}

html.bv3-page[data-theme=dark] body .biovisit-alert.warning:not(.danger) {
	background: #3c3424 !important;
	color: #ffe5b4
}

html.bv3-page[data-theme=dark] body .biovisit-alert.warning:not(.danger) :is(.biovisit-alert-text,svg) {
	color: #ffe5b4 !important
}

/* Public directory cards reuse the landing card anatomy and remain a single reading column on phones. */
.bv3-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.bv3-directory-card{display:flex;align-items:flex-start;gap:18px;padding:22px;border:1px solid var(--bv3-line);border-radius:18px;background:var(--bv3-surface);min-width:0}.bv3-directory-card img{flex:none;width:64px;height:64px;object-fit:cover;border-radius:15px}.bv3-directory-card>span{display:grid;gap:7px;min-width:0}.bv3-directory-card strong{font-size:14px;line-height:1.9}.bv3-directory-card small{font-size:11px;color:var(--bv3-muted);line-height:1.9;overflow-wrap:anywhere}.bv3-directory-card>b{margin-inline-start:auto;color:var(--bv3-pink)}.bv3-directory-more{margin:25px auto 0}.bv3-directory .bv3-search-hint{font-size:12px;color:var(--bv3-muted);text-align:center}@media(max-width:620px){.bv3-directory-grid{grid-template-columns:1fr}.bv3-directory-card{padding:17px;gap:13px}.bv3-directory-card img{width:52px;height:52px}}

/* Respect the native hidden state on catalog buttons that set display:flex. */
.bv3-page [hidden]{display:none!important}

/* Compact mobile navigation uses the existing header disclosure pattern. */
.bv3-menu-toggle{display:none;width:40px;height:40px;border:1px solid var(--bv3-line);border-radius:10px;background:var(--bv3-surface);color:var(--bv3-ink);cursor:pointer;font-size:21px}@media(max-width:620px){.bv3-menu-toggle{display:grid;place-items:center}.bv3-header .bv3-nav.is-open{display:flex;order:3;width:100%;margin:6px 0 0;gap:10px;justify-content:space-between;padding-top:12px;border-top:1px solid var(--bv3-line);font-size:11px;direction:inherit}.bv3-header .bv3-nav a{padding:7px 3px;min-height:40px}.bv3-header .bv3-nav{order:3}.bv3-header .bv3-header-actions{flex-wrap:wrap;justify-content:flex-end}.bv3-header .bv3-nav.is-open~.bv3-header-actions{order:2}}
/* Keep skip navigation outside the viewport even when the document is scrolled. */
.bv3-page .bv3-skip{top:10px;transform:translateY(-180px)}.bv3-page .bv3-skip:focus{transform:translateY(0)}

/* Personnel quota content is still produced by its native model method; keep the modal within the catalog surface. */
.bv3-personnel-welcome{margin:30px 0}.bv3-personnel-welcome .modal-content{background:var(--bv3-surface);color:var(--bv3-ink);border:1px solid var(--bv3-line);border-radius:18px}.bv3-personnel-welcome .landing_welcome{padding:25px}.bv3-personnel-welcome .landing_welcome h3{color:var(--bv3-ink);line-height:1.9}.bv3-personnel-welcome .text-secondary{color:var(--bv3-muted)!important}.bv3-personnel-welcome .modal-action{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;padding:18px 25px}.bv3-personnel-welcome .modal-action-btn{font-family:IRANSansX,Roboto,Arial,sans-serif!important;font-size:14px;font-weight:600;line-height:1.8;min-height:44px;border-radius:8px;padding:8px 18px;border:1px solid var(--bv3-blue);background:var(--bv3-blue-dark);color:#fff}.bv3-personnel-welcome .modal-action-btn.outline{background:transparent;color:var(--bv3-blue-dark)}
/* Personnel quota modal uses the existing Bootstrap lifecycle on the lightweight landing page. */
.bv3-personnel-welcome .modal-dialog{max-width:760px;width:calc(100% - 28px);margin-inline:auto}.bv3-personnel-welcome .modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 56px)}.bv3-personnel-welcome .modal-content{width:100%}.bv3-personnel-welcome .landing_welcome>div{display:flex;gap:12px;flex-wrap:wrap}.bv3-personnel-welcome .landing_welcome h3{font-size:18px}.bv3-personnel-welcome .modal-action-btn:focus-visible{outline:3px solid var(--bv3-blue);outline-offset:3px}
.bv3-pwa-message{position:fixed;inset:0;z-index:1060;background:rgba(12,35,50,.6);display:grid;place-items:center;padding:20px}.bv3-pwa-message[hidden]{display:none}.bv3-pwa-message>div{width:min(100%,500px);max-height:calc(100dvh - 40px);overflow:auto;border:1px solid var(--bv3-line);border-radius:18px;background:var(--bv3-surface);color:var(--bv3-ink);padding:26px}.bv3-pwa-message h2{font-size:21px;line-height:1.9;color:var(--bv3-ink)}.bv3-pwa-message ol{padding-inline-start:22px;font-size:13px;line-height:2.4;color:var(--bv3-muted)}.bv3-pwa-message button{min-height:44px}.bv3-page[data-theme=dark] .bv3-header .bv3-account-link{color:#bceaf4!important;border-color:#54859b!important;background:transparent!important}

/* Configured native footer content shares the catalog grid and selected patient theme. */
.bv3-page .bv3-configured-footer{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:28px;width:min(1240px,90%);margin:35px auto 0!important;padding:30px 0;border-top:1px solid var(--bv3-line);background:transparent!important;color:var(--bv3-ink)}.bv3-page .bv3-configured-footer>div{width:auto!important;min-width:0}.bv3-page .bv3-configured-footer h2,.bv3-page .bv3-configured-footer h3,.bv3-page .bv3-configured-footer a{color:var(--bv3-muted)!important;font-size:12px;line-height:2}.bv3-page .bv3-configured-footer a{display:block;overflow-wrap:anywhere}.bv3-page .bv3-configured-footer .footer-logo-img{width:130px;max-height:65px;object-fit:contain}.bv3-page .bv3-configured-copyright{background:transparent!important;color:var(--bv3-muted);padding:20px;text-align:center;font-size:12px}.bv3-page .bv3-configured-copyright a{color:var(--bv3-blue-dark)}@media(max-width:600px){.bv3-page .bv3-configured-footer{grid-template-columns:1fr 1fr;gap:20px}.bv3-page .bv3-configured-footer .footer-cel1-1{grid-column:1/-1}}
/* Keep account navigation legible after the catalog outline color rules on every shell. */
html.bv3-page[data-theme=dark] .bv3-header .bv3-account-link.app-btn2.outline{color:#bceaf4!important;border-color:#54859b!important;background:transparent!important}
/* Resolve the catalog's existing font files without the legacy missing /theme/fonts path. */
@font-face{font-family:IRANSans;src:url('/theme/ui/fonts/IRANSans/IRANSans.ttf') format('truetype');font-display:swap}@font-face{font-family:IRANSans-Bold;src:url('/theme/ui/fonts/IRANSans/IRANSans-Bold.ttf') format('truetype');font-display:swap}@font-face{font-family:IRANSans-Medium;src:url('/theme/ui/fonts/IRANSans/IRANSans-Medium.ttf') format('truetype');font-display:swap}

/* The clinical and table stacks include late link colors; the common toolbar follows the active theme. */
html.bv3-page[data-theme=dark] body .bv3-header .bv3-logo,html.bv3-page[data-theme=dark] body .bv3-header .bv3-language a:not(.is-active){color:var(--bv3-ink)!important}html.bv3-page[data-theme=dark] body .bv3-header a.app-btn2.outline.bv3-account-link{color:#bceaf4!important;border-color:#54859b!important;background:transparent!important}

/* One module-wide shell owns page width and gutters, independent of view, language, theme or deployment. */
html.bv3-page {
	--bv3-shell-max-width: 1920px;
	--bv3-shell-gutter: clamp(24px, 4%, 80px);
	scrollbar-gutter: stable
}

@media (max-width: 620px) {
	html.bv3-page {
		--bv3-shell-gutter: 20px
	}
}

@media (max-width: 560px) {
	html.bv3-page {
		--bv3-shell-gutter: 17px
	}
}

@media (max-width: 380px) {
	html.bv3-page {
		--bv3-shell-gutter: 14px
	}
}

/* Use the catalog document flow: short pages fill the viewport and long pages keep their footer after content. */
.bv3-page body > .bv3-shell.bv3-footer-shell {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	min-height: 100dvh;
	width: 100%;
	margin-block: 0
}

.bv3-page body > .bv3-shell > .bv3-header, .bv3-page body > .bv3-shell > .bv3-footer {
	flex-shrink: 0
}

.bv3-page body > .bv3-shell > main, .bv3-page body > .bv3-shell > .bv3-native-content {
	flex: 1 0 auto;
	width: 100%;
	min-width: 0
}

.bv3-page body > .bv3-shell > .bv3-footer {
	margin-top: auto
}

/* Full-page view wrappers consume the shared shell width instead of adding another page-width cap. */
html.bv3-page .bv3-native-content > .app-content, html.bv3-page .bv3-native-content > main {
	width: 100%;
	max-width: none;
	margin-inline: auto
}

/* Small accent labels and icons retain readable contrast on the dark patient surfaces. */
.bv3-page[data-theme=dark] {
	--bv3-pink: #ff83b2;
	--bv3-blue: #73c5df
}

/* Late clinical styles must not darken the common navigation links. */
html.bv3-page[data-theme=dark] body .bv3-header .bv3-nav a {
	color: var(--bv3-muted) !important
}

html.bv3-page[data-theme=dark] body .bv3-header .bv3-nav a:hover {
	color: var(--bv3-pink) !important
}

/* Match the BioArc toolbar: identity at the right, catalog actions and preferences at the left. */
/* Keep the shared header independent of legacy universal font and span line-height rules. */
html.bv3-page body .bv3-header {
	direction: rtl;
	flex-direction: row;
	gap: 24px;
	font-family: IRANSansX, Roboto, Arial, sans-serif !important;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.8
}

html.bv3-page body .bv3-header :is(.bv3-logo,.bv3-nav,.bv3-nav a,.bv3-header-actions,.bv3-language,.bv3-language a,.bv3-theme,.bv3-menu-toggle) {
	font-family: inherit !important
}

html.bv3-page body .bv3-header .bv3-nav a > span {
	font: inherit !important
}
html.bv3-page body .bv3-header .bv3-nav{direction:inherit;margin-inline:auto}
html.bv3-page body .bv3-header .bv3-header-actions{direction:rtl;margin-left:0;margin-right:auto;flex:none;gap:8px}
html.bv3-page body .bv3-header .bv3-account-link{min-height:40px;max-height:none;padding:8px 16px;border-radius:8px;white-space:nowrap}
html.bv3-page body .bv3-header .bv3-theme,html.bv3-page body .bv3-header .bv3-menu-toggle{width:40px;min-width:40px;min-height:40px;height:40px;max-height:none;padding:0;border-radius:8px;align-items:center;justify-content:center}
html.bv3-page body .bv3-header .bv3-language{direction:rtl;border-radius:8px;font-size:11px;white-space:nowrap}
html.bv3-page body .bv3-header .bv3-language a{padding:4px 8px;border-radius:6px}
@media(max-width:620px){html.bv3-page body .bv3-header{gap:10px;justify-content:space-between}html.bv3-page body .bv3-header .bv3-header-actions{flex-wrap:nowrap;gap:6px}html.bv3-page body .bv3-header .bv3-nav.is-open{order:3;direction:rtl}html.bv3-page body .bv3-header .bv3-logo{font-size:19px}html.bv3-page body .bv3-header .bv3-language a{font-size:10px;padding:4px 6px}}
@media(max-width:480px){html.bv3-page body .bv3-header .bv3-logo{width:100%;justify-content:flex-end}html.bv3-page body .bv3-header .bv3-header-actions{width:100%;justify-content:flex-end}html.bv3-page body .bv3-header .bv3-account-link{padding:8px 12px}}
/* The compact TUMS mark and toolbar share one phone row; expanded navigation keeps its own row. */
@media(max-width:620px){html.bv3-page body .bv3-header-tums .bv3-logo{width:auto;min-width:0;flex:0 0 auto;justify-content:flex-start}html.bv3-page body .bv3-header-tums .bv3-header-actions{width:auto;flex:0 0 auto;justify-content:flex-end}html.bv3-page body .bv3-header-tums .bv3-account-link{width:var(--bv3-toolbar-height);min-width:var(--bv3-toolbar-height);padding:0;gap:0}html.bv3-page body .bv3-header-tums .bv3-account-link>span{display:none}html.bv3-page body .bv3-header-tums .bv3-menu-toggle{width:var(--bv3-toolbar-height);min-width:var(--bv3-toolbar-height)}}
@media(max-width:380px){html.bv3-page body .bv3-header-tums{column-gap:6px}html.bv3-page body .bv3-header-tums .bv3-header-actions{gap:4px}html.bv3-page body .bv3-header-tums .bv3-language a{font-size:9px;padding-inline:2px}}

/* Native physician link colors load late; catalog primary action text must retain contrast. */
html.bv3-page body .bv3-header a.bv3-account-link.app-btn2 {
	background: var(--bv3-blue-dark) !important;
	color: #fff !important;
	border: 1px solid var(--bv3-blue-dark) !important
}

html.bv3-page body .bv3-header .bv3-account-link :is(i,span) {
	color: inherit !important
}

html.bv3-page[data-theme=dark] body .bv3-header a.bv3-account-link.app-btn2 {
	background: #73c5df !important;
	color: #082235 !important;
	border-color: #73c5df !important
}
/* Safari can expose the document canvas below the body during mobile overscroll. */
html.bv3-page{background:var(--bv3-bg)}
/* Language, appearance and account actions share one toolbar control height and border treatment. */
html.bv3-page body .bv3-header .bv3-header-actions{--bv3-toolbar-height:36px;align-items:center}
html.bv3-page body .bv3-header .bv3-language{box-sizing:border-box;height:var(--bv3-toolbar-height);min-height:var(--bv3-toolbar-height);max-height:var(--bv3-toolbar-height);padding:3px;align-items:center;border:1px solid var(--bv3-line)}
html.bv3-page body .bv3-header .bv3-language a{display:flex;align-items:center;height:100%;padding-block:0}
html.bv3-page body .bv3-header :is(.bv3-account-link,.bv3-theme,.bv3-menu-toggle){box-sizing:border-box;height:var(--bv3-toolbar-height);min-height:var(--bv3-toolbar-height);max-height:var(--bv3-toolbar-height);padding-block:0;line-height:1;align-items:center}
html.bv3-page body .bv3-header .bv3-theme.app-btn2.outline{width:var(--bv3-toolbar-height);min-width:var(--bv3-toolbar-height);border:1px solid var(--bv3-line)!important;background:var(--bv3-surface)!important;color:var(--bv3-ink)!important;box-shadow:none!important}

/* Keep the menu disclosure border identical to the adjacent language selector in both themes. */
html.bv3-page body .bv3-header .bv3-menu-toggle.app-btn2.outline {
	border: 1px solid var(--bv3-line) !important;
	background: var(--bv3-surface) !important;
	color: var(--bv3-ink) !important;
	box-shadow: none !important
}
html.bv3-page body .bv3-header .bv3-account-link .bio-icon-fill{font:21px/1 bio-icon-fill!important}

/* Match every phone toolbar control to the language selector's outer border box, including late native button rules. */
@media (max-width: 620px) {
	html.bv3-page body .bv3-header .bv3-header-actions > :is(.bv3-language,.bv3-account-link,.bv3-theme,.bv3-menu-toggle) {
		box-sizing: border-box !important;
		height: var(--bv3-toolbar-height) !important;
		min-height: var(--bv3-toolbar-height) !important;
		max-height: var(--bv3-toolbar-height) !important;
		margin-block: 0 !important;
		align-self: center
	}

	html.bv3-page body .bv3-header .bv3-header-actions > :is(.bv3-account-link,.bv3-theme,.bv3-menu-toggle) {
		padding-block: 0 !important;
		align-items: center;
		justify-content: center
	}
}
/* Center the theme vector geometrically, without depending on a font glyph baseline. */
html.bv3-page body .bv3-header .bv3-theme{display:inline-flex;align-items:center;justify-content:center;line-height:1}
html.bv3-page body .bv3-header .bv3-theme svg{display:block;flex:none}
/* The services introduction forms one centered heading above the full card grid. */
#services>.bv3-section-heading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;margin-bottom:30px}
#services>.bv3-section-heading .bv3-kicker{margin:0}
#services #services-title{max-width:none;width:100%;font-size:clamp(25px,2.8vw,40px);text-align:center;line-height:1.8}
/* BioArc3 landing footer anatomy: brand, navigation and call to action above a separated legal row. */
.bv3-page .bv3-site-footer{display:block;width:100%;padding:32px 0 22px;text-align:start;color:var(--bv3-muted)}
.bv3-footer-top{display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(0,2fr) auto;gap:30px;align-items:center;padding-bottom:28px}
.bv3-footer-brand .bv3-footer-wordmark{display:inline-flex;align-items:center;gap:10px;direction:ltr;font-size:24px;font-weight:800;letter-spacing:-.5px;color:var(--bv3-ink)}
.bv3-footer-brand p{font-size:11px;line-height:2;margin:10px 0 0;max-width:280px}
.bv3-footer-links{display:flex;align-items:center;justify-content:center;gap:12px 24px;flex-wrap:wrap}
.bv3-footer-links a{display:inline-flex;align-items:center;min-height:36px;font-size:12px;color:var(--bv3-muted)}
.bv3-footer-links a:hover{color:var(--bv3-blue-dark)}
.bv3-footer-chat.app-btn2{font:inherit;font-size:12px;white-space:nowrap}
.bv3-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;border-top:1px solid var(--bv3-line);padding-top:18px;font-size:10px}
@media(max-width:1000px){.bv3-footer-top{grid-template-columns:1fr 1fr;gap:20px}.bv3-footer-links{justify-content:flex-start}.bv3-footer-chat{grid-column:1/-1}}
@media(max-width:600px){.bv3-page .bv3-site-footer{padding-top:26px}.bv3-footer-top{grid-template-columns:1fr;gap:20px;padding-bottom:22px}.bv3-footer-links{justify-content:flex-start;gap:6px 22px}.bv3-footer-chat{grid-column:auto}.bv3-footer-bottom{gap:10px 18px}.bv3-footer-brand p{max-width:none}}

/* Keep authenticated profile access compact on phones while retaining its accessible name. */
@media (max-width: 620px) {
	html.bv3-page body .bv3-header .bv3-profile-link {
		width: var(--bv3-toolbar-height);
		min-width: var(--bv3-toolbar-height);
		padding: 0;
		gap: 0
	}

	html.bv3-page body .bv3-header .bv3-profile-link > span {
		display: none
	}
}

/* Hospital cards use the catalog identity, icon and statistics hierarchy at three columns. */
.bv3-directory[data-directory=center] .bv3-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}

.bv3-directory .bv3-center-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 18px;
	min-width: 0;
	border-radius: 20px;
	transition: border-color .2s, box-shadow .2s
}
.bv3-directory .bv3-center-card:hover{border-color:var(--bv3-blue);box-shadow:0 8px 24px rgba(25,82,108,.08)}

.bv3-center-card > .bv3-center-card-identity {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	min-width: 0
}

.bv3-center-card .bv3-center-card-identity img {
	width: 52px;
	height: 52px;
	object-fit: contain;
	border: 1px solid var(--bv3-line);
	border-radius: 14px;
	padding: 4px;
	background: #fff
}
.bv3-center-card-identity strong{font-size:16px;line-height:1.9;overflow-wrap:anywhere}

.bv3-center-card > .bv3-center-card-address {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	min-height: 0;
	width: 100%
}
.bv3-center-card-address>i{font-size:18px;color:var(--bv3-blue);flex:none;margin-top:2px}
.bv3-center-card-address small{line-height:1.9;font-size:12px}

.bv3-center-card > .bv3-center-card-statistics {
	display: grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap: 12px;
	width: 100%;
	padding-block: 10px;
	border-block: 1px solid var(--bv3-line);
	margin-top: auto
}

.bv3-center-card-statistics > span {
	display: grid;
	grid-template-columns:auto auto;
	align-items: center;
	justify-content: center;
	text-align: center;
	gap: 3px 8px;
	min-width: 0
}
.bv3-center-card-statistics i{font-size:19px;color:var(--bv3-blue)}
.bv3-center-card-statistics strong{font-size:22px;line-height:1.2;font-weight:600;color:var(--bv3-ink)}

.bv3-center-card-statistics small {
	grid-column: 1/-1;
	font-size: 11px;
	text-align: center
}
.bv3-center-card>.bv3-center-card-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;width:100%}
.bv3-center-card-footer>[data-center-student]{color:var(--bv3-blue-dark);background:var(--bv3-bg);border-radius:6px;padding:4px 8px;font-size:10px}
.bv3-center-card-action{display:inline-flex;align-items:center;gap:10px;margin-inline-start:auto;color:var(--bv3-blue-dark);font-size:12px;font-weight:700}
.bv3-center-card-action i{font-size:18px}
@media(max-width:1100px){.bv3-directory[data-directory=center] .bv3-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media (max-width: 620px) {
	.bv3-directory[data-directory=center] .bv3-directory-grid {
		grid-template-columns:minmax(0, 1fr);
		gap: 14px
	}

	.bv3-directory .bv3-center-card {
		padding: 16px;
		gap: 12px
	}

	.bv3-center-card > .bv3-center-card-address {
		min-height: 0
	}
}

/* Secondary links follow the navbar text-link hierarchy and leave search at full width. */
.bv3-university-links {
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 4px 20px;
	padding-top: 12px;
	font-size: 11px;
	color: var(--bv3-muted)
}

.bv3-university-links a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 32px
}

/* Keep university entry links unadorned; hover and keyboard focus use the existing accent color. */
.bv3-university-links a:is(:link,:visited,:hover,:focus,:active) {
	text-decoration: none !important
}

.bv3-university-links a:is(:hover,:focus-visible) {
	color: var(--bv3-blue-dark)
}

.bv3-university-links i {
	font-size: 16px;
	color: var(--bv3-blue)
}

.bv3-university-links + .bv3-home-search {
	padding-top: 12px
}

.bv3-home-search ~ .bv3-directory {
	padding-top: 24px;
	padding-bottom: 28px
}

@media (max-width: 620px) {
	.bv3-university-links {
		gap: 2px 14px;
		font-size: 10px;
		padding-top: 8px
	}

	.bv3-university-links i {
		display: none
	}
}

/* Integrated BioArc/BioVisit wordmark: keep the transparent generated asset crisp in compact shells. */
.bv3-page .bv3-logo img{width:154px;height:auto;max-height:58px;object-fit:contain}
.bv3-page .bv3-footer-wordmark img{width:154px;height:auto;max-height:48px;object-fit:contain}
@media(max-width:620px){.bv3-page .bv3-logo img{width:122px;max-height:48px}.bv3-page .bv3-footer-wordmark img{width:122px;max-height:42px}}

.bv3-wordmark {
	display: flex;
	align-items: center;
	line-height: 0
}

.bv3-wordmark .bv3-wordmark-dark {
	display: none
}

.bv3-page[data-theme=dark] .bv3-wordmark .bv3-wordmark-light {
	display: none
}

.bv3-page[data-theme=dark] .bv3-wordmark .bv3-wordmark-dark {
	display: block
}

/* Catalog outline navigation actions with a clear current-page state. */
html.bv3-page body .bv3-header .bv3-nav{gap:6px;padding:5px;border:1px solid var(--bv3-line);border-radius:12px;background:var(--bv3-surface)}
html.bv3-page body .bv3-header .bv3-nav a.app-btn2{min-height:40px;max-height:none;padding:8px 14px;border:1px solid transparent!important;background:transparent!important;color:var(--bv3-muted)!important;font-size:13px;font-weight:600;white-space:nowrap;gap:8px}
html.bv3-page body .bv3-header .bv3-nav a.app-btn2 i{font-size:20px;color:inherit}
html.bv3-page body .bv3-header .bv3-nav a.app-btn2:is(:hover,.is-active){background:var(--bv3-bg)!important;color:var(--bv3-blue-dark)!important;border-color:var(--bv3-line)!important}
html.bv3-page body .bv3-header .bv3-nav a:focus-visible{outline:2px solid var(--bv3-blue);outline-offset:2px}
@media(min-width:621px) and (max-width:1100px){html.bv3-page body .bv3-header{gap:12px}html.bv3-page body .bv3-header .bv3-nav a.app-btn2{padding:8px;font-size:12px;gap:5px}}

/* Catalog navigation uses two equal mobile columns for its four actions. */
@media (max-width: 620px) {
	html.bv3-page body .bv3-header .bv3-nav {
		border: 0;
		background: transparent;
		padding: 0;
		width: 100%;
		margin: 0
	}

	html.bv3-page body .bv3-header .bv3-nav.is-open {
		display: grid;
		grid-template-columns:repeat(2, minmax(0, 1fr));
		align-items: stretch;
		gap: 8px;
		padding: 12px 0 0;
		border-top: 1px solid var(--bv3-line);
		border-radius: 0
	}

	html.bv3-page body .bv3-header .bv3-nav a.app-btn2 {
		width: 100%;
		min-width: 0;
		max-width: none;
		height: 84px;
		min-height: 84px;
		margin: 0;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 8px;
		padding: 12px 6px;
		font: 600 12px/1.7 IRANSansX, Roboto, Arial, sans-serif;
		border-color: var(--bv3-line) !important;
		border-radius: 12px;
		background: var(--bv3-surface) !important;
		white-space: normal;
		text-align: center
	}

	html.bv3-page body .bv3-header .bv3-nav a.app-btn2 i {
		font-size: 25px;
		line-height: 1;
		flex: none
	}

	html.bv3-page body .bv3-header .bv3-nav a.app-btn2 span {
		display: block;
		width: 100%;
		min-width: 0;
		font: inherit;
		overflow-wrap: anywhere
	}

	html.bv3-page body .bv3-header .bv3-nav a.app-btn2.is-active {
		border-color: var(--bv3-blue) !important;
		background: var(--bv3-bg) !important;
		color: var(--bv3-blue-dark) !important
	}
}


/* Give the catalog navigation its own tablet row before toolbar controls can overflow. */
@media (min-width: 621px) and (max-width: 1000px) {
	html.bv3-page body .bv3-header {
		flex-wrap: wrap;
		padding-block: 12px;
		row-gap: 10px
	}

	html.bv3-page body .bv3-header .bv3-nav {
		order: 3;
		flex-basis: 100%;
		margin: 0 auto 0 0;
		max-width: 100%;
		direction: inherit
	}

	html.bv3-page body .bv3-header .bv3-header-actions {
		margin-right: auto
	}
}

/* Standalone search and native patient shells share the same account-action type scale. */
html.bv3-page body .bv3-header a.bv3-account-link.app-btn2{font-family:IRANSansX,Roboto,Arial,sans-serif!important;font-size:13px!important;font-weight:600!important;letter-spacing:0;max-width:none}

html.bv3-page body .bv3-header .bv3-account-link > span {
	font: inherit !important;
	max-width: 160px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap
}

/* Select2 portals live under body; override catalog fallback colors for every patient dropdown. */
html.bv3-page[data-theme=dark] body .select2-container .select2-selection {
	background: var(--bv3-surface) !important;
	color: var(--bv3-ink) !important;
	border-color: var(--bv3-line) !important
}

html.bv3-page[data-theme=dark] body .select2-container .select2-selection :is(.select2-selection__rendered,.select2-selection__choice) {
	color: var(--bv3-ink) !important
}

html.bv3-page[data-theme=dark] body .select2-container .select2-selection :is(.select2-selection__choice,.select2-search__field) {
	background: var(--bv3-bg) !important;
	border-color: var(--bv3-line) !important;
	color: var(--bv3-ink) !important
}

html.bv3-page[data-theme=dark] body .select2-container .select2-selection .select2-selection__placeholder {
	color: var(--bv3-muted) !important
}
html.bv3-page[data-theme=dark] body .select2-container .select2-dropdown{background:var(--bv3-surface)!important;color:var(--bv3-ink)!important;border:1px solid var(--bv3-line)!important;box-shadow:0 8px 24px rgba(0,0,0,.28)!important}
html.bv3-page[data-theme=dark] body .select2-container .select2-dropdown .select2-search input{background-color:var(--bv3-bg)!important;color:var(--bv3-ink)!important;-webkit-text-fill-color:var(--bv3-ink)!important;border-color:var(--bv3-line)!important}
html.bv3-page[data-theme=dark] body .select2-container .select2-dropdown .select2-results ul .select2-results__option{color:var(--bv3-ink)!important;background:transparent!important}
html.bv3-page[data-theme=dark] body .select2-container .select2-dropdown .select2-results__group{color:var(--bv3-muted)!important}
html.bv3-page[data-theme=dark] body .select2-container .select2-dropdown .select2-results ul :is(.select2-results__option[aria-selected=true],.select2-results__option--selected){color:var(--bv3-ink)!important;background:var(--bv3-line)!important}
html.bv3-page[data-theme=dark] body .select2-container .select2-dropdown .select2-results ul .select2-results__option--highlighted[aria-selected]{color:var(--bv3-bg)!important;background:var(--bv3-blue-dark)!important}
html.bv3-page[data-theme=dark] body .select2-container .select2-dropdown .select2-results ul .select2-results__option[aria-disabled=true]{color:var(--bv3-muted)!important}

html.bv3-page[data-theme=dark] body .bv3-header :is(.bv3-theme,.bv3-menu-toggle).app-btn2.outline {
	color: var(--bv3-ink) !important;
	background: var(--bv3-surface) !important;
	border-color: var(--bv3-line) !important
}

/* Prevent legacy span line-height and inline-image baselines from shifting shared brand images between pages. */
html.bv3-page .bv3-wordmark,html.bv3-page .bv3-wordmark picture{font-family:inherit!important;line-height:0!important}
html.bv3-page .bv3-wordmark img{display:block;font-family:inherit!important;vertical-align:middle}
/* Theme visibility must outrank the shared block-image alignment rule for both brand structures. */
html.bv3-page:not([data-theme=dark]) .bv3-wordmark .bv3-wordmark-dark,html.bv3-page[data-theme=dark] .bv3-wordmark .bv3-wordmark-light{display:none}

/* Approved TUMS lockup uses the existing theme switch; narrow phones retain the official mark to keep controls on one row. */
html.bv3-page .bv3-logo .bv3-tums-logo, html.bv3-page .bv3-footer-wordmark .bv3-tums-logo {
	width: 208px;
	height: auto;
	max-height: 61px;
	object-fit: contain
}

@media (max-width: 620px) {
	html.bv3-page .bv3-logo .bv3-tums-logo {
		width: 122px;
		max-height: 36px
	}
}

@media (max-width: 430px) {
	html.bv3-page .bv3-logo .bv3-tums-logo {
		width: 42px;
		height: 48px;
		max-height: 48px
	}
}

/* Keep the expanded catalog navigation clear of the account toolbar. */
@media (min-width: 1001px) and (max-width: 1250px) {
	html.bv3-page body .bv3-header {
		flex-wrap: wrap;
		gap: 12px;
		padding-block: 12px
	}

	html.bv3-page body .bv3-header .bv3-nav {
		order: 3;
		flex-basis: 100%;
		margin-inline: auto
	}

	html.bv3-page body .bv3-header .bv3-header-actions {
		margin-inline-start: auto
	}
}

/* Header and footer align with the shared content edges at every viewport. */
html.bv3-page body > .bv3-shell > .bv3-header, html.bv3-page body > .bv3-shell > .bv3-footer {
	width: 100%;
	max-width: none;
	margin-inline: 0
}

/* Keep the shared catalog toolbar visible; its compact scroll state retains control heights and the original brand proportions. */
html.bv3-page{scroll-padding-top:calc(var(--bv3-header-height,86px) + 12px)}
/* Keep the shared top action opposite BioChat, above content and below dialogs. */
html.bv3-page body .bv3-back-to-top.app-btn2{position:fixed;left:calc(18px + env(safe-area-inset-left));bottom:calc(18px + env(safe-area-inset-bottom));z-index:101;display:inline-flex;align-items:center;justify-content:center;width:48px;min-width:48px;height:48px;min-height:48px;max-height:none;padding:0;border:0;border-radius:10px;background:var(--bv3-blue-dark);color:#fff;box-shadow:0 6px 20px rgba(21,75,101,.24);cursor:pointer}
html.bv3-page body .bv3-back-to-top.app-btn2 i{font-size:26px;line-height:1}
html.bv3-page body .bv3-back-to-top.app-btn2:is(:hover,:focus-visible){background:var(--bv3-blue);outline:2px solid var(--bv3-blue);outline-offset:3px}

html.bv3-page[dir=ltr] body .bv3-back-to-top.app-btn2 {
	left: auto;
	right: calc(18px + env(safe-area-inset-right))
}
/* Pilot launcher reuses the catalog icon button; keep it above content and below the support dialog. */
html.bv3-page body .bv3-support-launcher.app-btn2{position:fixed;right:calc(18px + env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));z-index:101;display:inline-flex;align-items:center;justify-content:center;width:56px;min-width:56px;height:56px;min-height:56px;padding:0;border:0;border-radius:50%;background:var(--bv3-blue-dark);color:var(--bv3-surface);box-shadow:0 6px 20px rgba(21,75,101,.24)}

/* Place support at the reading-direction edge while preserving safe-area offsets. */
html.bv3-page[dir=ltr] body .bv3-support-launcher.app-btn2 {
	right: auto;
	left: calc(18px + env(safe-area-inset-left))
}
html.bv3-page body .bv3-support-launcher.app-btn2 i{font-size:29px;line-height:1}
html.bv3-page .bv3-support-launcher-icon{display:block;width:36px;height:36px;background:currentColor;mask:url('/theme/biovisit3/images/icons/support-chat.svg') center/contain no-repeat;-webkit-mask:url('/theme/biovisit3/images/icons/support-chat.svg') center/contain no-repeat}
html.bv3-page body .bv3-support-launcher.app-btn2:is(:hover,:focus-visible){background:var(--bv3-blue);outline:2px solid var(--bv3-blue);outline-offset:3px}
html.bv3-page .bw-patient-assistant{flex:1 1 0;min-height:0;width:100%;border:0;background:var(--bv3-surface)}
/* Collapsing the phone menu must not anchor the document back to its expanded scroll position. */
@media(max-width:620px){html.bv3-page{overflow-anchor:none}}
/* Legacy overflow-x:hidden turns body into a separate scroll container and disables viewport sticky positioning. */
@supports(overflow:clip){html.bv3-page body{overflow-x:clip;overflow-y:visible}}
html.bv3-page body .bv3-header{position:sticky;top:0;z-index:100;background:var(--bv3-bg);isolation:isolate}
/* Extend the same header surface and scroll shadow across the viewport, including both shell gutters. */
html.bv3-page body .bv3-header::before{content:"";position:absolute;inset:0 calc((100% - 100vw)/2);z-index:-1;background:var(--bv3-bg);pointer-events:none}
html.bv3-page body .bv3-header.is-scrolled{min-height:68px;padding-block:4px;box-shadow:none}
html.bv3-page body .bv3-header.is-scrolled::before{box-shadow:0 8px 18px rgba(21,75,101,.08)}
html.bv3-page body .bv3-header.is-scrolled .bv3-logo img{max-height:46px;width:auto;max-width:154px}
html.bv3-page body .bv3-header.is-scrolled .bv3-nav a.app-btn2{min-height:36px;padding-block:6px}
html.bv3-page .bv3-actions .bv3-button>i{font-size:20px;line-height:1;color:inherit;flex:none}
@media(max-width:620px){html.bv3-page body .bv3-header.is-scrolled{min-height:60px;padding-block:6px}html.bv3-page body .bv3-header.is-scrolled .bv3-logo img{max-height:40px;max-width:108px}html.bv3-page body .bv3-header.is-scrolled .bv3-nav.is-open{max-height:calc(100dvh - 72px);overflow-y:auto}html.bv3-page body .bv3-header.is-scrolled .bv3-nav a.app-btn2{min-height:72px;height:72px}}

/* Warning artwork keeps its semantic color while overriding embedded fixed-light SVG paints. */
html.bv3-page[data-theme=dark] .biovisit-alert:is(.warning,.danger) svg {
	fill: currentColor;
	stroke: currentColor
}

html.bv3-page[data-theme=dark] .biovisit-alert:is(.warning,.danger) svg [fill]:not([fill=none]) {
	fill: currentColor
}

html.bv3-page[data-theme=dark] .biovisit-alert:is(.warning,.danger) svg [stroke]:not([stroke=none]) {
	stroke: currentColor
}

html.bv3-page[data-theme=dark] .bv3-callout {
	background: linear-gradient(120deg, #16394d, #1d465a)
}

html.bv3-page[data-theme=dark] body .app-second-textarea::placeholder {
	color: var(--bv3-muted) !important;
	-webkit-text-fill-color: var(--bv3-muted) !important;
	opacity: 1
}

/* Match the catalog datepicker's dark states and masked navigation artwork in patient portals. */
html.bv3-page[data-theme=dark] .datepicker-plot-area {
	background: var(--bv3-surface) !important;
	box-shadow: none !important
}

html.bv3-page[data-theme=dark] .datepicker-plot-area :is(.pwt-btn,.pwt-btn-today,.pwt-btn-calendar,.pwt-btn-submit,.datepicker-time-view input) {
	background-color: var(--bv3-bg) !important;
	color: var(--bv3-blue-dark) !important;
	text-shadow: none
}

html.bv3-page[data-theme=dark] .datepicker-plot-area :is(.pwt-btn-prev,.pwt-btn-next) {
	position: relative;
	color: transparent !important
}

html.bv3-page[data-theme=dark] .datepicker-plot-area :is(.pwt-btn-prev,.pwt-btn-next,.pwt-btn-calendar)::after {
	content: "";
	position: absolute;
	width: 24px;
	height: 24px;
	top: 50%;
	left: 50%;
	right: auto;
	transform: translate(-50%, -50%);
	background: var(--bv3-blue-dark);
	mask: var(--bv3-datepicker-icon) center/contain no-repeat;
	pointer-events: none
}

html.bv3-page[data-theme=dark] .datepicker-plot-area .pwt-btn-prev {
	--bv3-datepicker-icon: url('/theme/ui/images/svg/arrow-right.svg')
}

html.bv3-page[data-theme=dark] .datepicker-plot-area .pwt-btn-next {
	--bv3-datepicker-icon: url('/theme/ui/images/svg/arrow-left.svg')
}

html.bv3-page[data-theme=dark] .datepicker-plot-area .pwt-btn-calendar {
	position: relative;
	background-image: none;
	--bv3-datepicker-icon: url('/theme/ui/svgs/outline/repeat.svg')
}

html.bv3-page[data-theme=dark] .datepicker-plot-area .header-row-cell {
	color: var(--bv3-muted) !important
}

html.bv3-page[data-theme=dark] .datepicker-plot-area :is(.table-days td span,.month-item,.year-item) {
	color: var(--bv3-ink) !important;
	text-shadow: none !important
}

html.bv3-page[data-theme=dark] .datepicker-plot-area .table-days td.holiday span {
	color: #ffb3c6 !important
}

html.bv3-page[data-theme=dark] .datepicker-plot-area :is(.table-days td.selected span,.table-days td:not(.disabled) span:hover,.month-item.selected,.year-item.selected,.month-item:not(.month-item-disable):hover,.year-item:not(.year-item-disable):hover) {
	background: var(--bv3-line) !important;
	color: var(--bv3-ink) !important
}

html.bv3-page[data-theme=dark] .datepicker-plot-area :is(.table-days td.disabled span,.table-days td span.other-month,.month-item-disable,.year-item-disable) {
	color: var(--bv3-muted) !important
}

html.bv3-page[data-theme=dark] .bv3-auth-card #birth-date-icon path {
	fill: var(--bv3-blue-dark)
}

/* Shared physician summaries retain full text while limiting card height to two lines. */
html.bv3-page .bv3-doctor-identity > div {
	min-width: 0;
	flex: 1
}

html.bv3-page .bv3-doctor-specialty {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
	overflow-wrap: anywhere;
	line-height: 1.9;
	max-height: 3.8em;
	cursor: help
}

html.bv3-page .bv3-doctor-specialty:focus-visible {
	outline: 2px solid var(--bv3-blue);
	outline-offset: 2px;
	border-radius: 3px
}

/* The catalog tooltip surface stays white in both themes, with readable full specialty text. */
html.bv3-page .app-tooltip.bv3-specialty-tooltip {
	display: block;
	position: fixed;
	inset: auto;
	transform: none;
	width: max-content;
	max-width: min(360px, calc(100vw - 24px));
	max-height: 45vh;
	overflow: auto;
	box-sizing: border-box;
	padding: 10px 14px;
	border: 1px solid #d4e1e9;
	border-radius: 7px;
	background: #fff !important;
	color: #24465a !important;
	font: 400 12px/1.9 IRANSansX, Roboto, Arial, sans-serif;
	text-align: start;
	white-space: normal;
	overflow-wrap: anywhere;
	z-index: 1100
}

html.bv3-page .app-tooltip.bv3-specialty-tooltip::after {
	display: none
}

/* Keep the location paragraphs close in every physician-card renderer. */
html.bv3-page .bv3-doctor-card .bv3-doctor-center, html.bv3-page .bv3-doctor-card .bv3-doctor-address {
	margin-block: 0
}

html.bv3-page .bv3-doctor-location {
	display: grid;
	gap: 2px
}

/* Select2 search fields reuse the catalog input dimensions and theme, including body-mounted dropdowns. */
html.bv3-page body .select2-container .select2-dropdown,
html.bv3-page[data-theme=dark] body .select2-container .select2-dropdown {
	transition: none !important;
	animation: none !important;
	transform: none !important;
	background: var(--bv3-surface) !important;
	color: var(--bv3-ink) !important;
	border: 1px solid var(--bv3-line) !important;
	border-radius: 12px !important;
	padding: 6px !important;
	overflow: hidden;
	box-shadow: none !important
}

html.bv3-page body .select2-container .select2-dropdown .select2-search.select2-search--dropdown {
	padding: 4px 4px 10px !important;
	margin: 0 !important
}

html.bv3-page body .select2-container .select2-dropdown .select2-search--dropdown input.select2-search__field {
	box-sizing: border-box;
	display: block;
	width: 100%;
	height: 44px;
	min-height: 44px;
	margin: 0 !important;
	padding: 8px 12px !important;
	border: 1px solid var(--bv3-line) !important;
	border-radius: 10px !important;
	outline: 0 !important;
	background: var(--bv3-surface) !important;
	background-image: none !important;
	color: var(--bv3-ink) !important;
	-webkit-text-fill-color: var(--bv3-ink) !important;
	font: 500 13px/1.8 IRANSansX, Roboto, Arial, sans-serif !important;
	text-align: start !important;
	box-shadow: none !important
}

html.bv3-page body .select2-container .select2-dropdown .select2-search--dropdown input.select2-search__field:focus {
	border-color: var(--bv3-blue) !important;
	box-shadow: 0 0 0 2px var(--bv3-line) !important
}

html.bv3-page body .select2-container .select2-dropdown .select2-search--dropdown input.select2-search__field::placeholder {
	padding: 0 !important;
	color: var(--bv3-muted) !important;
	-webkit-text-fill-color: var(--bv3-muted) !important;
	font: inherit !important;
	opacity: 1
}

html.bv3-page body .select2-container .select2-dropdown .select2-results__option {
	font: 500 12px/1.8 IRANSansX, Roboto, Arial, sans-serif;
	color: var(--bv3-ink);
	border-radius: 7px
}

html.bv3-page body .select2-container .select2-dropdown .select2-results__option[aria-selected=true] {
	background: var(--bv3-line) !important;
	color: var(--bv3-ink) !important
}

html.bv3-page body .select2-container .select2-dropdown .select2-results__option--highlighted[aria-selected] {
	background: var(--bv3-blue-dark) !important;
	color: var(--bv3-bg) !important
}
