/**
 * Trang chủ tùy chỉnh — Hero, MVV, Về chúng tôi.
 *
 * @package QuocTeSanNhi2026
 */

.qtsn-front-page .page-header,
.qtsn-front-page .page-margin-top.page-header {
	display: none !important;
}

/* Khi trang chủ native đã render: ẩn khung WPBakery/MediCenter còn sót */
body.qtsn-native-home .theme-page.qtsn-front-page,
body.qtsn-native-home .qtsn-front-page__content,
.qtsn-home:not([hidden]):not(:empty) + .theme-page.qtsn-front-page {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
}

.site-container > .qtsn-home-below-header {
	display: block;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	clear: both;
}

.qtsn-site-header + .qtsn-home-below-header {
	margin-top: 0;
}

.theme-page.qtsn-front-page {
	padding-top: 0;
	margin-top: 0;
}

.qtsn-home-trust-only {
	padding: 24px 16px 32px;
	background: #f4f8fb;
}

.qtsn-home-trust--standalone {
	position: relative;
	left: auto;
	bottom: auto;
	transform: none;
	margin: 0 auto;
}

.qtsn-home {
	width: 100%;
	overflow: visible;
	margin: 0;
	padding: 0;
	font-family: var( --qtsn-header-font, 'Be Vietnam Pro' ), 'Be Vietnam Pro', sans-serif;
}

.qtsn-home[hidden],
.qtsn-home-section--off,
.qtsn-home [data-qtsn-section][hidden],
.qtsn-home-about[hidden],
.qtsn-home-about.qtsn-home-section--off {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	min-height: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
}

/* —— Hero —— */
.qtsn-home-hero {
	position: relative;
	min-height: clamp( 380px, 48vw, 560px );
	background: #0a2340 center / cover no-repeat;
	background-image: var( --qtsn-hero-bg, linear-gradient( 135deg, #0a2340 0%, #1a4a7a 55%, #003b71 100% ) );
	background-position: var( --qtsn-hero-bg-position, 50% 50% );
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 72px 24px 48px;
	box-sizing: border-box;
	color: #fff;
}

.qtsn-home-hero--has-trust {
	padding-bottom: 88px;
}

.qtsn-home-hero__slides {
	position: absolute;
	inset: 0;
	overflow: hidden;
	z-index: 0;
}

.qtsn-home-hero__slide {
	position: absolute;
	inset: 0;
	background: center / cover no-repeat;
	background-position: var( --qtsn-hero-bg-position, 50% 50% );
	opacity: 0;
	transition: opacity 0.9s ease;
}

.qtsn-home-hero__slide:first-child,
.qtsn-home-hero__slide.is-active {
	opacity: 1;
}

.qtsn-home-hero__overlay {
	position: absolute;
	inset: 0;
	background: rgba( 0, 12, 28, var( --qtsn-hero-overlay, 0.4 ) );
	pointer-events: none;
	z-index: 1;
}

.qtsn-home-hero__inner {
	position: relative;
	z-index: 2;
	max-width: 720px;
	margin: 0 auto 0 max( 24px, calc( ( 100% - 1230px ) / 2 + 24px ) );
	padding-right: 24px;
}

.qtsn-home-hero__accent {
	margin: 0 0 8px;
	font-family: var( --qtsn-hero-accent-font, 'Segoe Script', 'Brush Script MT', cursive ) !important;
	font-size: var( --qtsn-hero-accent-size, clamp( 22px, 3vw, 34px ) );
	font-weight: 400;
	line-height: 1.2;
	color: var( --qtsn-hero-accent-color, #e8c07a );
	opacity: 1;
}

.qtsn-home-hero__title {
	margin: 0 0 12px;
	font-family: var( --qtsn-hero-title-font, 'Be Vietnam Pro', sans-serif ) !important;
	font-size: var( --qtsn-hero-title-size, clamp( 28px, 4.2vw, 46px ) ) !important;
	font-weight: 700 !important;
	line-height: 1.15;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var( --qtsn-hero-title-color, #ffffff ) !important;
	white-space: pre-line !important;
}

.qtsn-home-hero__subtitle {
	margin: 0 0 16px;
	font-family: var( --qtsn-hero-subtitle-font, 'Segoe Script', 'Brush Script MT', cursive ) !important;
	font-size: var( --qtsn-hero-subtitle-size, clamp( 20px, 2.6vw, 30px ) );
	color: var( --qtsn-hero-subtitle-color, #f4a5b8 );
	line-height: 1.3;
}

.qtsn-home-hero__desc {
	margin: 0;
	max-width: 560px;
	font-family: var( --qtsn-hero-desc-font, 'Be Vietnam Pro', sans-serif );
	font-size: var( --qtsn-hero-desc-size, clamp( 14px, 1.5vw, 17px ) );
	line-height: 1.65;
	color: var( --qtsn-hero-desc-color, #ffffff );
	opacity: 0.92;
	white-space: pre-line;
}

/* —— Trust bar —— */
.qtsn-home-trust {
	position: absolute;
	left: 50%;
	bottom: 24px;
	transform: translateX( -50% );
	z-index: 2;
	width: min( 1180px, calc( 100% - 32px ) );
	display: grid;
	grid-template-columns: repeat( 4, 1fr );
	gap: 0;
	background: #fff;
	border-radius: 999px;
	box-shadow: 0 12px 40px rgba( 0, 0, 0, 0.14 );
	padding: 14px 20px;
	box-sizing: border-box;
}

.qtsn-home-trust__item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 14px;
	min-width: 0;
}

.qtsn-home-trust__icon {
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	border: 2px solid #42b3e5;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var( --qtsn-color-primary, #42b3e5 );
}

.qtsn-home-trust__icon svg {
	width: 20px;
	height: 20px;
	fill: currentColor;
}

.qtsn-home-trust__icon img {
	width: 22px;
	height: 22px;
	object-fit: contain;
	display: block;
}

.qtsn-home-trust__text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
	color: #003b71;
	font-size: 12px;
	line-height: 1.35;
}

.qtsn-home-trust__text strong {
	font-size: 13px;
	font-weight: 700;
	color: #003b71;
}

/* —— MVV —— */
.qtsn-home-mvv {
	max-width: 1230px;
	margin: 0 auto;
	padding: 32px 24px 16px;
	box-sizing: border-box;
}

.qtsn-home-hero--has-trust + .qtsn-home-mvv,
.qtsn-home-hero--has-trust + .qtsn-home-about {
	padding-top: 28px;
	margin-top: 0;
}

.qtsn-home-hero:not( .qtsn-home-hero--has-trust ) + .qtsn-home-mvv,
.qtsn-home-trust-only + .qtsn-home-mvv {
	padding-top: 32px;
}

.qtsn-home > .qtsn-home-mvv:first-child,
.qtsn-home > .qtsn-home-about:first-child {
	padding-top: 32px;
	margin-top: 0;
}

.qtsn-home-mvv__heading {
	display: block;
	margin: 0 0 28px;
	text-align: center;
	font-size: clamp( 20px, 2.4vw, 28px ) !important;
	font-weight: 700 !important;
	color: var( --qtsn-mvv-heading-color, var( --qtsn-color-secondary, #003b71 ) ) !important;
	letter-spacing: 0.04em;
	padding: 0;
	border: 0 !important;
	visibility: visible !important;
	opacity: 1 !important;
}

.qtsn-home-mvv__heading span {
	color: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	visibility: visible !important;
	opacity: 1 !important;
}

.qtsn-home-mvv__heading::before {
	content: none !important;
	display: none !important;
}

.qtsn-home-mvv__heading::after {
	content: '';
	display: block;
	width: var(--qtsn-section-rule-width, 72px);
	height: var(--qtsn-section-rule-height, 4px);
	margin: 12px auto 0;
	border-radius: 999px;
	background: var( --qtsn-color-primary, #c8102e );
	position: static;
	transform: none;
	flex: none;
}

.qtsn-home-mvv__grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1.35fr;
	gap: 24px;
	align-items: stretch;
}

.qtsn-home-mvv__card {
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 8px 32px rgba( 0, 59, 113, 0.08 );
	padding: 28px 24px 32px;
	box-sizing: border-box;
}

.qtsn-home-mvv__row {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.qtsn-home-mvv__copy {
	flex: 1;
	min-width: 0;
}

.qtsn-home-mvv__card h3,
.qtsn-home-mvv__title {
	margin: 0 0 10px !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	letter-spacing: 0.03em;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	font-family: var(--qtsn-header-font, 'Be Vietnam Pro'), 'Be Vietnam Pro', 'Open Sans', sans-serif !important;
}

.qtsn-home-mvv__title span {
	display: inline !important;
	visibility: visible !important;
	opacity: 1 !important;
	color: inherit !important;
	font: inherit !important;
}

.qtsn-home-mvv__card--mission h3,
.qtsn-home-mvv__title--mission,
.qtsn-home-mvv__title--mission span {
	color: #42b3e5 !important;
}

.qtsn-home-mvv__card--vision h3,
.qtsn-home-mvv__title--vision,
.qtsn-home-mvv__title--vision span {
	color: #d71920 !important;
}

.qtsn-home-mvv__card--values h3,
.qtsn-home-mvv__title--values,
.qtsn-home-mvv__title--values span {
	text-align: center;
	color: #003b71 !important;
	margin-top: 0 !important;
}

/* Chặn animation MediCenter ẩn tiêu đề MVV */
.qtsn-home-mvv .animated-element,
.qtsn-home-mvv__title.animated-element,
.qtsn-home-mvv__heading.animated-element {
	visibility: visible !important;
	opacity: 1 !important;
}

.qtsn-home-mvv__card p {
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
	color: #333;
}

.qtsn-home-mvv__icon {
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	margin: 0;
	background: center / 26px no-repeat;
}

.qtsn-home-mvv__copy h3:empty {
	display: block !important;
}

.qtsn-home-mvv__icon--blue {
	background-color: rgba( 66, 179, 229, 0.12 );
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2342b3e5'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm0 2a8 8 0 1 1 0 16 8 8 0 0 1 0-16zm0 3a5 5 0 1 0 0 10 5 5 0 0 0 0-10z'/%3E%3C/svg%3E");
}

.qtsn-home-mvv__icon--red {
	background-color: rgba( 215, 25, 32, 0.1 );
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23d71920'%3E%3Cpath d='M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z'/%3E%3C/svg%3E");
}

.qtsn-home-values {
	list-style: none;
	margin: 16px 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat( 2, 1fr );
	gap: 12px 16px;
}

.qtsn-home-values li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 13px;
	line-height: 1.4;
	color: #333;
}

.qtsn-home-values__num {
	flex: 0 0 auto;
	font-weight: 700;
	color: #42b3e5;
	font-size: 12px;
}

/* —— About —— */
.qtsn-home-about {
	display: grid;
	grid-template-columns: 42% 58%;
	min-height: 420px;
	background: #003b71;
}

.qtsn-home [data-qtsn-section="about"][hidden],
.qtsn-home [data-qtsn-section="about"].qtsn-home-section--off,
.qtsn-home-about[hidden],
.qtsn-home-about.qtsn-home-section--off {
	display: none !important;
	visibility: hidden !important;
	min-height: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.qtsn-home-about__photo {
	min-height: 320px;
	background: #cbd5e1 center / cover no-repeat;
}

.qtsn-home-about__panel {
	position: relative;
	background: #003b71;
	color: #fff;
	padding: 48px 40px 32px 56px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	clip-path: polygon( 8% 0, 100% 0, 100% 100%, 0 100% );
	margin-left: -8%;
}

.qtsn-home-about__content h2 {
	margin: 0 0 16px;
	font-size: clamp( 22px, 2.5vw, 30px );
	font-weight: 700;
	letter-spacing: 0.04em;
	color: #fff !important;
}

.qtsn-home-about__content p {
	margin: 0 0 24px;
	font-size: 15px;
	line-height: 1.75;
	max-width: 520px;
	opacity: 0.95;
	color: #fff !important;
}

.qtsn-home-about__btn {
	display: inline-block;
	padding: 12px 28px;
	background: #fff;
	color: #003b71 !important;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.04em;
	text-decoration: none !important;
	border-radius: 4px;
	transition: background 0.2s, color 0.2s;
}

.qtsn-home-about__btn:hover {
	background: #42b3e5;
	color: #fff !important;
}

.qtsn-home-about__stats {
	display: grid;
	grid-template-columns: repeat( 4, 1fr );
	gap: 16px;
	margin-top: 36px;
	padding-top: 24px;
	border-top: 1px solid rgba( 255, 255, 255, 0.2 );
}

.qtsn-home-about__stat {
	text-align: center;
	font-size: 12px;
	line-height: 1.4;
	color: #fff !important;
}

.qtsn-home-about__stat strong {
	display: block;
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 4px;
	color: #fff !important;
}

.qtsn-home-about__stat span {
	color: #fff !important;
}

.qtsn-home-reasons,
.qtsn-home-doctors,
.qtsn-home-services,
.qtsn-home-media,
.qtsn-home-libraries {
	max-width: 1230px;
	margin: 0 auto;
	padding-left: 24px;
	padding-right: 24px;
	box-sizing: border-box;
}

.qtsn-home-reasons {
	padding-top: 56px;
	padding-bottom: 24px;
}

.qtsn-home-reasons__heading,
.qtsn-home-doctors__heading,
.qtsn-home-services__heading,
.qtsn-home-gallery__heading,
.qtsn-home-media__heading,
.qtsn-home-stories h1,
.qtsn-home-news h1,
.qtsn-home-featured h1,
.qtsn-home-stories h2,
.qtsn-home-news h2,
.qtsn-home-featured h2 {
	display: block;
	width: 100%;
	margin: 0 0 28px;
	text-align: center;
	font-size: clamp(28px, 3vw, 36px) !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em;
	color: var(--qtsn-color-secondary, #003b71) !important;
	padding-bottom: 0;
	border-bottom: 0 !important;
}

.qtsn-home-reasons__heading::after,
.qtsn-home-doctors__heading::after,
.qtsn-home-services__heading::after,
.qtsn-home-gallery__heading::after,
.qtsn-home-media__heading::after,
.qtsn-home-stories h1::after,
.qtsn-home-news h1::after,
.qtsn-home-featured h1::after,
.qtsn-home-stories h2::after,
.qtsn-home-news h2::after,
.qtsn-home-featured h2::after {
	content: '';
	display: block;
	width: var(--qtsn-section-rule-width, 72px);
	height: var(--qtsn-section-rule-height, 4px);
	margin: 12px auto 0;
	border-radius: 999px;
	background: var(--qtsn-color-primary, #c8102e);
}

.qtsn-home-reasons__heading {
	position: relative;
}

.qtsn-home-reasons__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}

.qtsn-home-reasons__card {
	border-radius: 18px;
	overflow: hidden;
	min-height: 280px;
	box-shadow: 0 16px 36px rgba(0, 37, 74, 0.12);
}

.qtsn-home-reasons__photo {
	position: relative;
	height: 100%;
	min-height: 280px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.qtsn-home-reasons__photo::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, rgba(0, 31, 63, 0.08) 20%, rgba(0, 31, 63, 0.88) 100%);
}

.qtsn-home-reasons__title {
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: 16px;
	z-index: 2;
	margin: 0;
	padding: 8px 0 0;
	font-size: 15px !important;
	line-height: 1.4;
	font-weight: 700 !important;
	text-align: center;
	color: #fff !important;
	text-shadow: 0 1px 10px rgba(0, 0, 0, 0.45);
	visibility: visible !important;
	opacity: 1 !important;
}

.qtsn-home-doctors,
.qtsn-home-services,
.qtsn-home-media {
	padding-top: 48px;
	padding-bottom: 16px;
}

.qtsn-home-doctors__head {
	position: relative;
	display: block;
	text-align: center;
	margin-bottom: 20px;
	width: 100%;
}

.qtsn-home-doctors__heading {
	margin: 0 0 0;
	text-align: center;
}

.qtsn-home-doctors__nav {
	position: absolute;
	right: 0;
	top: 0;
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	flex: 0 0 auto;
}

.qtsn-home-doctors__btn {
	width: 36px;
	height: 36px;
	padding: 0;
	border: 1px solid #c5d0dc;
	background: #fff;
	color: var(--qtsn-color-secondary, #003b71);
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	border-radius: 2px;
}

.qtsn-home-doctors__btn:hover {
	border-color: var(--qtsn-color-secondary, #003b71);
	background: var(--qtsn-color-secondary, #003b71);
	color: #fff;
}

.qtsn-home-doctors__viewport {
	overflow: hidden;
	width: 100%;
}

.qtsn-home-doctors__track {
	display: flex;
	gap: 20px;
	transition: transform 0.45s ease;
	will-change: transform;
}

.qtsn-home-doctors__card {
	flex: 0 0 calc((100% - 60px) / 4);
	background: #fff;
	overflow: hidden;
	border-radius: 16px;
	box-shadow: 0 6px 20px rgba(0, 37, 74, 0.08);
	text-align: center;
}

.qtsn-home-doctors__link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.qtsn-home-doctors__photo {
	aspect-ratio: 4 / 3;
	background: #e8eef5 center / cover no-repeat;
}

.qtsn-home-doctors__info {
	background: #f4f7fa;
	padding: 14px 12px 16px;
	min-height: 72px;
}

.qtsn-home-doctors__name {
	margin: 0 0 6px;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: 0.02em;
	text-align: center;
	text-transform: uppercase;
	color: var(--qtsn-color-secondary, #003b71) !important;
	visibility: visible !important;
	opacity: 1 !important;
}

.qtsn-home-doctors__role {
	margin: 0;
	font-size: 13px !important;
	line-height: 1.45;
	text-align: center;
	color: #3d5a80 !important;
	visibility: visible !important;
	opacity: 1 !important;
}

.qtsn-home-services__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.qtsn-home-services__card {
	background: #fff;
	border: 1px solid #e4edf5;
	border-radius: 16px;
	padding: 22px 22px 20px;
	box-shadow: 0 8px 24px rgba(0, 37, 74, 0.05);
}

.qtsn-home-services__num {
	display: inline-block;
	margin-bottom: 10px;
	color: var(--qtsn-color-primary, #c8102e);
	font-weight: 700;
	letter-spacing: 0.08em;
}

.qtsn-home-services__card h3 {
	margin: 0 0 10px;
	font-size: 16px;
	color: var(--qtsn-color-secondary, #003b71) !important;
}

.qtsn-home-services__card p {
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
	color: #445566;
	white-space: pre-line;
}

.qtsn-home-media {
	padding-top: 48px;
	padding-bottom: 16px;
}

.qtsn-home-media__heading {
	display: block;
	width: 100%;
	margin: 0 0 24px;
	text-align: center;
	font-size: clamp(28px, 3vw, 36px) !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em;
	color: var(--qtsn-color-secondary, #003b71) !important;
	border-bottom: 0 !important;
	padding-bottom: 0;
}

.qtsn-home-media__heading::after {
	content: '';
	display: block;
	width: var(--qtsn-section-rule-width, 72px);
	height: var(--qtsn-section-rule-height, 4px);
	margin: 12px auto 0;
	border-radius: 999px;
	background: var(--qtsn-color-primary, #c8102e);
}

.qtsn-home-media__panel {
	background: #fff;
	border-radius: 18px;
	padding: 24px;
	box-shadow: 0 10px 28px rgba(0, 37, 74, 0.06);
	box-sizing: border-box;
}

.qtsn-home-featured__item {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	gap: 24px;
	align-items: center;
	padding-bottom: 22px;
	margin-bottom: 8px;
	border-bottom: 1px solid #eef2f6;
}

.qtsn-home-featured__photo {
	display: block;
	overflow: hidden;
	border-radius: 14px;
}

.qtsn-home-featured__photo img,
.qtsn-home-featured__item > img {
	display: block;
	width: 100%;
	height: 260px;
	object-fit: cover;
	border-radius: 14px;
}

.qtsn-home-featured__title,
.qtsn-home-featured__item > a {
	display: block;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.35;
	color: var(--qtsn-color-secondary, #003b71);
	text-decoration: none;
	margin-bottom: 8px;
}

.qtsn-home-featured__date {
	display: block;
	margin-bottom: 10px;
	color: #7a8794;
	font-size: 13px;
}

.qtsn-home-featured__item p {
	margin: 0;
	font-size: 15px;
	line-height: 1.65;
	color: #445566;
}

.qtsn-home-news__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 28px;
}

.qtsn-home-news__item {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 14px 0;
	border-bottom: 1px solid #eef2f6;
}

.qtsn-home-news__thumb {
	flex: 0 0 72px;
}

.qtsn-home-news__thumb img {
	width: 72px;
	height: 72px;
	object-fit: cover;
	border-radius: 8px;
	display: block;
}

.qtsn-home-news__item a {
	display: block;
	font-weight: 700;
	color: var(--qtsn-color-secondary, #003b71);
	text-decoration: none;
	font-size: 14px;
	line-height: 1.45;
}

.qtsn-home-news__item span {
	display: block;
	margin-top: 6px;
	color: #7a8794;
	font-size: 12px;
}

.qtsn-home-gallery__heading {
	display: none;
}

.qtsn-home-libraries {
	padding-top: 48px;
	padding-bottom: 32px;
	box-sizing: border-box;
}

.qtsn-home-libraries__grid {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: 24px;
	width: 100%;
}

.qtsn-home-video,
.qtsn-home-gallery {
	display: flex;
	flex-direction: column;
	flex: 1 1 0;
	width: 0;
	min-width: 0;
	max-width: 100%;
	height: auto;
	min-height: 0;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.qtsn-home-lib__head {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 100%;
	margin: 0 0 16px;
	padding: 0;
	border-bottom: 0 !important;
	height: auto;
	min-height: 0;
	max-height: none;
	box-sizing: border-box;
}

.qtsn-home-lib__body {
	position: relative;
	display: block;
	width: 100%;
	flex: 0 0 auto;
	aspect-ratio: 16 / 10;
	height: auto;
	min-height: 0;
	max-height: none;
	min-width: 0;
	overflow: hidden;
	border-radius: 16px;
}

.qtsn-home-video__frame,
.qtsn-home-gallery__mosaic {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	min-height: 0;
	margin: 0;
}

.qtsn-home-lib__title {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	display: block !important;
	width: 100%;
	text-align: center;
	font-size: 22px !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em;
	color: var(--qtsn-color-secondary, #003b71) !important;
}

.qtsn-home-lib__title::after {
	content: '' !important;
	display: block !important;
	width: var(--qtsn-section-rule-width, 72px) !important;
	height: var(--qtsn-section-rule-height, 4px) !important;
	margin: 12px auto 0 !important;
	border-radius: 999px;
	background: var(--qtsn-color-primary, #c8102e) !important;
}

.qtsn-home-lib__more {
	display: none !important;
}

.qtsn-home-gallery__mosaic {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-template-rows: minmax(0, 2fr) minmax(0, 1fr);
	gap: 10px;
	height: 100%;
	min-height: 0;
	border-radius: 16px;
	overflow: hidden;
}

.qtsn-home-gallery__item {
	display: block;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	border-radius: 8px;
	overflow: hidden;
	background: #dbe6f0;
	cursor: pointer;
}

.qtsn-home-gallery__item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.qtsn-home-gallery__item--hero {
	grid-column: 1 / -1;
	min-height: 0;
}

.qtsn-gallery-data {
	display: none;
}

.qtsn-home-gallery__more {
	margin-top: 14px;
	padding: 8px 16px;
	border: 1px solid var(--qtsn-color-secondary, #003b71);
	background: #fff;
	color: var(--qtsn-color-secondary, #003b71);
	border-radius: 8px;
	cursor: pointer;
	font-weight: 600;
}

.qtsn-home-video__frame {
	position: absolute;
	inset: 0;
	padding-top: 0;
	height: 100%;
	min-height: 0;
	background: #0b1f33;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: none;
}

.qtsn-home-video__frame iframe {
	position: absolute;
	inset: 0;
	display: block;
	width: 100% !important;
	height: 100% !important;
	min-width: 0;
	border: 0;
}

.qtsn-home-video__placeholder {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 20px;
	color: #fff;
	text-align: center;
}

.qtsn-gallery-lightbox {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: none;
	align-items: center;
	justify-content: center;
	background: rgba(0, 20, 40, 0.88);
}

.qtsn-gallery-lightbox.is-open {
	display: flex;
}

.qtsn-gallery-lightbox img {
	max-width: min(92vw, 1100px);
	max-height: 82vh;
	object-fit: contain;
	border-radius: 8px;
}

.qtsn-gallery-lightbox__close,
.qtsn-gallery-lightbox__prev,
.qtsn-gallery-lightbox__next {
	position: absolute;
	border: 0;
	background: #fff;
	color: #003b71;
	width: 40px;
	height: 40px;
	border-radius: 4px;
	cursor: pointer;
	font-size: 22px;
}

.qtsn-gallery-lightbox__close {
	top: 18px;
	right: 18px;
}

.qtsn-gallery-lightbox__prev {
	left: 18px;
}

.qtsn-gallery-lightbox__next {
	right: 18px;
}

.theme-page.qtsn-front-page {
	display: none !important;
}

@media (max-width: 1024px) {
	.qtsn-home-reasons__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.qtsn-home-doctors__card {
		flex-basis: calc((100% - 20px) / 2);
	}

	.qtsn-home-services__grid {
		grid-template-columns: 1fr 1fr;
	}

	.qtsn-home-libraries__grid {
		gap: 20px;
	}

	.qtsn-home-mvv__grid {
		grid-template-columns: 1fr 1fr;
		gap: 14px;
	}

	.qtsn-home-mvv__card--values {
		grid-column: 1 / -1;
	}

	.qtsn-home-mvv__card {
		padding: 18px 14px 20px;
	}

	.qtsn-home-featured__item {
		grid-template-columns: 1fr;
	}

	.qtsn-home-featured__photo img,
	.qtsn-home-featured__item > img {
		height: 220px;
	}

	.qtsn-home-news__list {
		grid-template-columns: 1fr;
	}

	.qtsn-home-lib__body {
		aspect-ratio: 16 / 11;
		height: auto;
		min-height: 0;
		max-height: none;
	}
}

@media (max-width: 640px) {
	.qtsn-home-doctors__head {
		text-align: left;
	}

	.qtsn-home-doctors__heading {
		text-align: left;
		padding-right: 88px;
	}

	.qtsn-home-doctors__heading::after {
		margin-left: 0;
		margin-right: auto;
	}

	.qtsn-home-reasons__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.qtsn-home-reasons__card,
	.qtsn-home-reasons__photo {
		min-height: 180px;
	}

	.qtsn-home-reasons__title {
		font-size: 13px;
		padding: 12px;
	}

	.qtsn-home-services__grid {
		grid-template-columns: 1fr;
	}

	.qtsn-home-libraries__grid {
		flex-direction: column;
		flex-wrap: wrap;
		gap: 18px;
	}

	.qtsn-home-video,
	.qtsn-home-gallery {
		flex: 1 1 auto;
		width: 100%;
	}

	.qtsn-home-doctors__card {
		flex-basis: 100%;
	}

	.qtsn-home-gallery__mosaic {
		grid-template-rows: minmax(0, 2fr) minmax(0, 1fr);
	}

	.qtsn-home-mvv__grid {
		grid-template-columns: 1fr 1fr;
		gap: 10px;
	}

	.qtsn-home-mvv__card--values {
		grid-column: 1 / -1;
	}

	.qtsn-home-mvv__row {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}

	.qtsn-home-mvv__card {
		padding: 14px 12px 16px;
	}

	.qtsn-home-mvv__title {
		font-size: 14px !important;
	}

	.qtsn-home-mvv__card p {
		font-size: 12px;
		line-height: 1.45;
	}
}

.qtsn-front-page__content {
	max-width: 1230px;
	margin: 0 auto;
	padding: 0 15px 48px;
	box-sizing: border-box;
}

.qtsn-front-page__content > .vc_row.block1,
.qtsn-front-page__content > .vc_row:first-of-type {
	margin-top: 0;
}

.qtsn-front-page__content .block1 .box-header.page-margin-top,
.qtsn-front-page__content > .vc_row:first-of-type .box-header.page-margin-top {
	margin-top: 8px;
}

.qtsn-front-page__content .block1 .vc_empty_space {
	height: 12px !important;
}

.qtsn-home:not( [hidden] ):not( :empty ) + .theme-page.qtsn-front-page {
	padding-top: 0;
}

/*
 * MediCenter ép .vc_row = 1230px và .vc_col-sm-6 = 600px (float).
 * Trong khung trang chủ có padding, hai cột không còn vừa → Dịch vụ kỹ thuật lệch phải trống.
 */
.qtsn-front-page__content .vc_row,
.qtsn-front-page__content .vc_row.wpb_row,
.qtsn-front-page__content .vc_inner,
.qtsn-front-page__content .vc_row_inner {
	width: 100% !important;
	max-width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	box-sizing: border-box;
	margin-left: 0;
	margin-right: 0;
}

.qtsn-front-page__content .vc_row > .wpb_column,
.qtsn-front-page__content .vc_row_inner > .wpb_column,
.qtsn-front-page__content .vc_row > [class*='vc_col-'],
.qtsn-front-page__content .vc_row_inner > [class*='vc_col-'] {
	float: none !important;
	clear: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	box-sizing: border-box;
	min-width: 0;
}

.qtsn-front-page__content .vc_row > .vc_col-sm-12,
.qtsn-front-page__content .vc_row_inner > .vc_col-sm-12 {
	flex: 0 0 100%;
	width: 100% !important;
	max-width: 100% !important;
}

.qtsn-front-page__content .vc_row > .vc_col-sm-6,
.qtsn-front-page__content .vc_row_inner > .vc_col-sm-6 {
	flex: 0 0 50%;
	width: 50% !important;
	max-width: 50% !important;
	padding-left: 15px;
	padding-right: 15px;
}

.qtsn-front-page__content .vc_row > .vc_col-sm-4,
.qtsn-front-page__content .vc_row_inner > .vc_col-sm-4 {
	flex: 0 0 33.333%;
	width: 33.333% !important;
	max-width: 33.333% !important;
	padding-left: 15px;
	padding-right: 15px;
}

.qtsn-front-page__content .vc_row > .vc_col-sm-8,
.qtsn-front-page__content .vc_row_inner > .vc_col-sm-8 {
	flex: 0 0 66.666%;
	width: 66.666% !important;
	max-width: 66.666% !important;
}

.qtsn-front-page__content .vc_row > .vc_col-sm-3,
.qtsn-front-page__content .vc_row_inner > .vc_col-sm-3 {
	flex: 0 0 25%;
	width: 25% !important;
	max-width: 25% !important;
}

.qtsn-front-page__content .vc_row > .vc_col-sm-9,
.qtsn-front-page__content .vc_row_inner > .vc_col-sm-9 {
	flex: 0 0 75%;
	width: 75% !important;
	max-width: 75% !important;
}

.qtsn-front-page__content .vc_column-inner {
	padding-left: 0;
	padding-right: 0;
	width: 100%;
}

.qtsn-front-page__content ul.mc-features {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px 40px;
	width: 100%;
	max-width: 100%;
	float: none;
	margin: 0;
	padding: 0;
	list-style: none;
}

.qtsn-front-page__content .vc_col-sm-6 ul.mc-features,
.qtsn-front-page__content .vc_col-sm-4 ul.mc-features {
	grid-template-columns: 1fr;
	gap: 24px;
}

.qtsn-front-page__content ul.mc-features > .item-content {
	float: none !important;
	clear: none !important;
	width: auto !important;
	max-width: 100%;
	margin-top: 0;
}

.qtsn-front-page__content .mc-features .hexagon,
.qtsn-front-page__content .mc-features.float-left .circle {
	float: left;
}

/*
 * Lý do lựa chọn: 4 ô một hàng, có khoảng cách giữa ảnh.
 */
.qtsn-front-page__content .services-list,
.qtsn-front-page__content ul.services-list {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
	float: none !important;
}

.qtsn-front-page__content .services-list > li:only-child {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	clear: none !important;
	margin: 0 !important;
}

.qtsn-front-page__content .services-list > li > ul,
.qtsn-front-page__content ul.services-list:has( > li > .service-details ) {
	display: grid !important;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) ) !important;
	gap: 16px !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
	float: none !important;
}

.qtsn-front-page__content .services-list li {
	float: none !important;
	clear: none !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

.qtsn-front-page__content .services-list > li > ul > li,
.qtsn-front-page__content .services-list li:has( > .service-details ) {
	min-width: 0;
	width: auto !important;
	max-width: none !important;
}

.qtsn-front-page__content .services-list .service-details {
	width: 100% !important;
	max-width: 100% !important;
	height: 100%;
	border-right: none;
	background: #f0f0f0;
	box-sizing: border-box;
}

.qtsn-front-page__content .services-list li:nth-child( 4n ) .service-details {
	border-right: none;
}

.qtsn-front-page__content .services-list img {
	width: 100%;
	max-width: 100%;
	height: auto;
	display: block;
}

.qtsn-front-page__content .services-list .service-details > a:first-child {
	display: block;
	height: 200px;
	overflow: hidden;
}

.qtsn-front-page__content .services-list .service-details > a:first-child img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.qtsn-front-page__content .services-list h4,
.qtsn-front-page__content .services-list p {
	width: auto !important;
	max-width: 100% !important;
	box-sizing: border-box;
	white-space: normal !important;
	word-break: normal;
	overflow-wrap: break-word;
}

.qtsn-front-page__content .services-list h4 {
	padding: 20px 16px 0;
	font-size: 14px;
	line-height: 1.45;
	text-align: center;
}

.qtsn-front-page__content .services-list p {
	padding: 12px 16px 0;
}

/* Đội ngũ bác sĩ: nút <> neo góc phải cùng hàng tiêu đề, không phụ thuộc JS. */
.qtsn-front-page__content .block2 > .wpb_column > .vc_column-inner > .wpb_wrapper,
.qtsn-front-page__content .vc_row:has( .box-header ):has( .scrolling-controls ) > .wpb_column > .vc_column-inner > .wpb_wrapper {
	position: relative;
}

.qtsn-front-page__content .block2 .box-header,
.qtsn-front-page__content .vc_row:has( .box-header ):has( .scrolling-controls ) .box-header {
	padding-right: 90px;
	box-sizing: border-box;
}

.qtsn-front-page__content .block2 .scrolling-controls,
.qtsn-front-page__content .vc_row:has( .box-header ):has( .scrolling-controls ) .scrolling-controls {
	position: absolute;
	top: 50px;
	right: 0;
	z-index: 4;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	clear: none !important;
}

.qtsn-front-page__content .block2 .scrolling-controls .header-left,
.qtsn-front-page__content .vc_row:has( .box-header ):has( .scrolling-controls ) .scrolling-controls .header-left {
	display: none;
}

.qtsn-front-page__content .block2 .scrolling-controls .header-right,
.qtsn-front-page__content .vc_row:has( .box-header ):has( .scrolling-controls ) .scrolling-controls .header-right {
	float: none !important;
	margin: 0 !important;
	width: auto;
}

.qtsn-front-page__content .qtsn-section-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	margin-top: 50px;
	position: relative;
}

.qtsn-front-page__content .qtsn-section-heading .box-header,
.qtsn-front-page__content .qtsn-section-heading .box-header.page-margin-top,
.qtsn-front-page__content .qtsn-section-heading .box-header.page-margin-top-section {
	flex: 1 1 auto;
	min-width: 0;
	margin-top: 0 !important;
	margin-bottom: 0;
	padding-right: 0;
}

.qtsn-front-page__content .qtsn-section-heading .header-right {
	flex: 0 0 auto;
	float: none !important;
	margin: 0 !important;
	position: static !important;
	top: auto !important;
	right: auto !important;
	width: auto;
	min-width: 70px;
	overflow: hidden;
	white-space: nowrap;
}

.qtsn-front-page__content .qtsn-scrolling-controls--moved {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	position: static !important;
}

.qtsn-front-page__content .block2 .gallery-box .description,
.qtsn-front-page__content .block2 .gallery-box .description h3,
.qtsn-front-page__content .block2 .gallery-box .description h4,
.qtsn-front-page__content .block2 .gallery-box .description h5,
.qtsn-front-page__content .mc-gallery .gallery-box .description,
.qtsn-front-page__content .mc-gallery .gallery-box .description h3,
.qtsn-front-page__content .mc-gallery .gallery-box .description h4,
.qtsn-front-page__content .mc-gallery .gallery-box .description h5 {
	font-family: var( --qtsn-header-font, 'Be Vietnam Pro' ), 'Be Vietnam Pro', sans-serif !important;
}

.qtsn-front-page__content .block2 .gallery-box .description h3,
.qtsn-front-page__content .block2 .gallery-box .description h4,
.qtsn-front-page__content .mc-gallery .gallery-box .description h3,
.qtsn-front-page__content .mc-gallery .gallery-box .description h4 {
	font-weight: 700 !important;
	font-size: 14px !important;
	line-height: 1.35 !important;
	letter-spacing: 0 !important;
	text-transform: uppercase;
}

.qtsn-front-page__content .block2 .gallery-box .description h5,
.qtsn-front-page__content .mc-gallery .gallery-box .description h5 {
	font-weight: 500 !important;
	font-size: 13px !important;
}

@media ( max-width: 1024px ) {
	.qtsn-home-trust {
		grid-template-columns: repeat( 2, 1fr );
		border-radius: 20px;
		position: relative;
		left: auto;
		bottom: auto;
		transform: none;
		margin: 24px auto 0;
		width: calc( 100% - 32px );
	}

	.qtsn-home-hero,
	.qtsn-home-hero--has-trust {
		padding-bottom: 32px;
		min-height: 0;
	}

	.qtsn-home-hero--has-trust + .qtsn-home-mvv,
	.qtsn-home-hero--has-trust + .qtsn-home-about {
		padding-top: 24px;
	}

	.qtsn-home-mvv__grid {
		grid-template-columns: 1fr 1fr;
		gap: 12px;
	}

	.qtsn-home-mvv__card--values {
		grid-column: 1 / -1;
	}

	.qtsn-home-about {
		grid-template-columns: 1fr;
	}

	.qtsn-home-about__panel {
		clip-path: none;
		margin-left: 0;
		padding: 32px 24px;
	}

	.qtsn-home-about__stats {
		grid-template-columns: repeat( 2, 1fr );
	}

	.qtsn-front-page__content .services-list > li > ul,
	.qtsn-front-page__content ul.services-list:has( > li > .service-details ) {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) ) !important;
	}

	.qtsn-front-page__content .services-list > li:only-child {
		width: 100% !important;
		max-width: 100% !important;
	}

	.qtsn-front-page__content .services-list li:nth-child( 4n ) .service-details {
		border-right: none;
	}

	.qtsn-front-page__content .services-list li:nth-child( 2n ) .service-details {
		border-right: none;
	}
}

@media ( max-width: 640px ) {
	.qtsn-home-hero__inner {
		margin-left: 0;
		padding: 0 8px;
	}

	.qtsn-home-trust {
		grid-template-columns: 1fr;
	}

	.qtsn-home-values {
		grid-template-columns: 1fr;
	}

	.qtsn-home-mvv__heading {
		gap: 0;
	}

	.qtsn-home-mvv__heading::before {
		display: none !important;
	}

	.qtsn-home-mvv__heading::after {
		width: var(--qtsn-section-rule-width, 72px);
		height: var(--qtsn-section-rule-height, 4px);
	}

	.qtsn-home-about__stats {
		grid-template-columns: 1fr 1fr;
	}

	.qtsn-front-page__content ul.mc-features {
		grid-template-columns: 1fr;
	}

	.qtsn-front-page__content .services-list > li > ul,
	.qtsn-front-page__content ul.services-list:has( > li > .service-details ) {
		grid-template-columns: 1fr !important;
	}

	.qtsn-front-page__content .services-list > li:only-child {
		flex: 0 0 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.qtsn-front-page__content .services-list .service-details {
		border-right: none;
	}

	.qtsn-front-page__content .vc_row > .vc_col-sm-6,
	.qtsn-front-page__content .vc_row_inner > .vc_col-sm-6,
	.qtsn-front-page__content .vc_row > .vc_col-sm-4,
	.qtsn-front-page__content .vc_row_inner > .vc_col-sm-4,
	.qtsn-front-page__content .vc_row > .vc_col-sm-8,
	.qtsn-front-page__content .vc_row_inner > .vc_col-sm-8,
	.qtsn-front-page__content .vc_row > .vc_col-sm-3,
	.qtsn-front-page__content .vc_row_inner > .vc_col-sm-3,
	.qtsn-front-page__content .vc_row > .vc_col-sm-9,
	.qtsn-front-page__content .vc_row_inner > .vc_col-sm-9 {
		flex: 0 0 100%;
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 0;
		padding-right: 0;
	}
}
