/* Group stylesheet for the typography widgets. The shared shapes — badge, pill — live in
	alovesinh-base.css. */

.alovesinh-heading {
	margin: 0;
	color: var( --alv-block-title );
}

.alovesinh-heading em {
	font-style: normal;
	color: var( --alv-block-accent );
}

/* One span per character, opacity only, so the compositor runs every fade. */
.alovesinh-heading-reveal-char {
	animation: alovesinh-heading-show 0.3s ease-out both;
	/* Lead 0.4s: the run's clock starts with the style, before the first frame is on screen and while frames drop. */
	animation-delay: calc( 0.4s + var( --alv-heading-reveal-place ) * 0.9s );
}

@media ( prefers-reduced-motion: reduce ) {

	.alovesinh-heading-reveal-char {
		animation: none;
	}
}

@keyframes alovesinh-heading-show {

	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

/* Size and colour are instance hooks: a font-size on a descendant selector ties with the section
	rule above it, and the tie falls to whichever rule Elementor prints last. The leading is left
	to the page's running-text value; a value here would set this one paragraph apart. */
.alovesinh-paragraph {
	margin: 0;
	font-size: var( --alv-paragraph-size, var( --alv-fs-4 ) );
	color: var( --alv-paragraph-color, var( --alv-c-text-2 ) );
}

.alovesinh-dark .alovesinh-paragraph {
	--alv-paragraph-color: var( --alv-c-on-dark );
}

/* z-index: 2 is load-bearing — five blocks lay a ::after glow over this cluster and would cover
	the heading without it. */
.alovesinh-section-head {
	position: relative;
	z-index: 2;
	max-width: var( --alv-w-reading );
	margin: 0 auto var( --alv-sp-5 );

	/* The align control writes one value, left | center | right, so the block stays text-aligned
		rather than flex-aligned — align-items has no such keywords. */
	text-align: var( --alv-block-align, center );
}

.alovesinh-section-head-label {
	margin-bottom: var( --alv-sp-3 );
}

/* 16px above, 12px below: the source design pulls the heading closer to its paragraph than to the
	eyebrow, so the three lines read as one cluster. */
.alovesinh-section-head-title {
	margin: 16px 0 var( --alv-sp-2 );
	color: var( --alv-block-title );
}

.alovesinh-section-head-title em {
	font-style: normal;
	color: var( --alv-block-accent );
}

/* Narrower than the 720px cluster on purpose: the paragraph keeps a shorter measure than the
	heading it sits under. */
.alovesinh-section-head-description {
	max-width: 600px;
	margin: 0 auto;
	font-size: var( --alv-fs-4 );
	line-height: var( --alv-lh-copy );
	color: var( --alv-block-text );
}

.alovesinh-divider-text {
	--alv-row-wrap: nowrap;
	gap: var( --alv-sp-3 );
}

/* Both classes are named so the rule outranks Elementor's own `.elementor hr`, which sets a
	height and a colour of its own at the same weight as a single class. The two variables are
	what the widget's colour boxes write; without reading them here those boxes do nothing. */
.alovesinh-divider-text-line.alovesinh-divider-text-line {
	flex: 1;
	height: 1px;
	margin: 0;
	border: 0;
	background: var( --alv-line-color, var( --alv-c-border ) );
}

.alovesinh-divider-text-label {
	font-size: var( --alv-fs-2 );
	font-weight: var( --alv-fw-bold );
	letter-spacing: var( --alv-tr-wide-3 );
	text-transform: uppercase;
	white-space: nowrap;
	color: var( --alv-line-text, var( --alv-c-text-muted ) );
}

/* The three sizes are variables because the same pair serves both a caption under running copy
	and a banner laid over a photograph, where it is set half again as large. */
.alovesinh-stacked-label {
	display: flex;
	flex-direction: column;
	gap: var( --alv-stacked-label-gap, 2px );
}

.alovesinh-stacked-label-label {
	font-size: var( --alv-fs-1 );
	font-weight: var( --alv-fw-bold );
	letter-spacing: var( --alv-stacked-label-tracking, 0.12em );
	text-transform: uppercase;
	color: var( --alv-block-accent );
}

/* The grey the contact boxes of the process pages set on their label, where the accent would
	fight the four tiles it sits inside. */
.alovesinh-stacked-label-label-quiet {
	color: var( --alv-c-text-muted-dark );
}

/* The warm tint of the same label. All three variables change together: the dot reads as part of
	the wording, and leaving it brand beside accent wording looks like a mistake. */
.alovesinh-eyebrow-accent {
	--alv-badge-bg: color-mix( in srgb, var( --alv-c-accent ) 10%, transparent );
	--alv-badge-text: var( --alv-c-accent );
	--alv-badge-dot: var( --alv-c-accent );
}

/* 14px is the size the source design draws inside the label above a heading. */
.alovesinh-eyebrow svg,
.alovesinh-eyebrow i,
.alovesinh-section-head-label svg,
.alovesinh-section-head-label i {
	width: 14px;
	height: 14px;
	font-size: 14px;
	line-height: 1;
}

.alovesinh-pill-brand {
	--alv-pill-text: var( --alv-c-brand-deep );
	--alv-pill-bg: color-mix( in srgb, var( --alv-c-brand ) 10%, transparent );

	font-weight: var( --alv-fw-bold );
	white-space: nowrap;
}

/* The size steps up to the body size because a plain line sits in running content, where the chip's smaller type
	would read as a caption. Wrapping comes back with it: a chip label is two or three words and must not break, but a
	plain line carries a whole address, and held on one line it pushes the page wider than the screen. */
.alovesinh-pill-plain {
	padding: 0;
	border-radius: 0;
	font-size: var( --alv-fs-3 );
	white-space: normal;
	background: none;
}

/* The dot is drawn rather than marked up, so the label stays one text node and a screen reader
	reads the words without a stray empty element between them. */
.alovesinh-stacked-label-label-has-dot {
	display: flex;
	align-items: center;
	gap: var( --alv-sp-1 );
}

.alovesinh-stacked-label-label-has-dot::before {
	content: "";
	flex-shrink: 0;
	width: var( --alv-badge-dot-size, var( --alv-sp-1 ) );
	height: var( --alv-badge-dot-size, var( --alv-sp-1 ) );
	border-radius: var( --alv-r-circle );
	background: var( --alv-badge-dot, var( --alv-c-brand ) );
}

.alovesinh-stacked-label-title {
	font-size: var( --alv-stacked-label-size, var( --alv-fs-4 ) );
	font-weight: var( --alv-fw-extrabold );
	line-height: var( --alv-stacked-label-line, 1.25 );
	letter-spacing: var( --alv-tr-tight-1 );
	color: var( --alv-block-title );
}

/* Named twice to outrank the shared bordered box it wears: the box writes its own border colour
	and white ground at the same weight, and a single class here loses the warning tint. */
.alovesinh-note.alovesinh-note {
	--alv-note-icon-size: 20px;

	display: flex;
	gap: var( --alv-sp-2 );
	margin-bottom: var( --alv-sp-4 );
	border-color: var( --alv-c-warning-edge );
	background: var( --alv-note-bg, var( --alv-c-warning-pale ) );
}

.alovesinh-note svg,
.alovesinh-note i {
	flex-shrink: 0;
	width: var( --alv-note-icon-size );
	height: var( --alv-note-icon-size );
	font-size: var( --alv-note-icon-size );
	line-height: 1;
	color: var( --alv-note-icon, var( --alv-c-warning-text ) );
	fill: currentcolor;
}

.alovesinh-note-text {
	margin: 0;
	font-size: var( --alv-fs-3 );
	line-height: var( --alv-lh-relaxed );
	color: var( --alv-c-text-3 );
}

/* The source design only ever sets this rule on a dark ground, so these two are the values to
	match: the light-ground pair above is the plugin's own extension for blocks the demo has none
	of. Without the second rule the caption keeps its muted grey and sinks into the dark. */
.alovesinh-dark .alovesinh-divider-text-line.alovesinh-divider-text-line {
	background: color-mix( in srgb, var( --alv-c-white ) 18%, transparent );
}

.alovesinh-dark .alovesinh-divider-text-label {
	color: color-mix( in srgb, var( --alv-c-white ) 60%, transparent );
}

.alovesinh-chan-trang h5 {
	margin: 1.67em 0 20px;
	font-size: var( --alv-fs-3 );
	font-weight: var( --alv-fw-bold );
	letter-spacing: var( --alv-tr-wide-2 );
	text-transform: uppercase;
	color: var( --alv-c-white );
}

.alovesinh-chan-trang-mo-ta .alovesinh-paragraph {
	--alv-paragraph-size: var( --alv-fs-2 );
	--alv-paragraph-color: var( --alv-c-text-muted-dark );
	margin: 0 0 20px;
	line-height: var( --alv-lh-relaxed );
}

.alovesinh-chan-trang-cuoi .alovesinh-paragraph {
	--alv-paragraph-size: var( --alv-fs-2 );
	--alv-paragraph-color: var( --alv-c-on-dark-muted );
}

/* Typed straight on, not through the size hook: the share row sits inside the article prose, whose
	paragraph rule sets 17px directly and outranks the hook's single class. */
.alovesinh-bai-viet-chia-se .alovesinh-paragraph {
	--alv-paragraph-color: var( --alv-c-text-muted );
	font-size: var( --alv-fs-2 );
}

.alovesinh-bai-viet-the-dat-lich .alovesinh-paragraph {
	--alv-paragraph-size: 1rem;
}

.alovesinh-bang-lien-he .alovesinh-section-head-label {
	--alv-badge-bg: color-mix( in srgb, var( --alv-c-white ) 14%, transparent );
	--alv-badge-text: var( --alv-c-white );
	--alv-badge-dot: var( --alv-c-white );
}

.alovesinh-bang-lien-he .alovesinh-paragraph {
	--alv-paragraph-size: var( --alv-fs-2 );
}

.alovesinh-banner-chu .alovesinh-heading {
	margin-top: 18px;
}

.alovesinh-banner-chu .alovesinh-paragraph {
	max-width: 540px;
	margin: 18px 0 28px;
	color: var( --alv-c-text-muted );
}

.alovesinh-khuyen-mai-dem-nguoc-the .alovesinh-pill {
	border: var( --alv-bd-hairline ) solid color-mix( in srgb, var( --alv-c-white ) 20%, transparent );
}

.alovesinh-khuyen-mai-dem-nguoc-noi-dung .alovesinh-heading {
	margin-top: 16px;
	font-size: 34px;
	color: var( --alv-c-white );
}

.alovesinh-khuyen-mai-dem-nguoc-noi-dung .alovesinh-paragraph {
	margin: 8px 0 18px;
	font-size: 16px;
	line-height: var( --alv-lh-body );
	color: color-mix( in srgb, var( --alv-c-white ) 85%, transparent );
}

.alovesinh-khuyen-mai-dem-nguoc-nhan .alovesinh-paragraph {
	margin-bottom: var( --alv-sp-2 );
	font-size: var( --alv-fs-2 );
	letter-spacing: var( --alv-tr-wide-2 );
	text-transform: uppercase;
	color: inherit;
	opacity: 0.85;
}

.alovesinh-khuyen-mai-dem-nguoc-ghi-chu .alovesinh-paragraph {
	margin-top: 14px;
	font-size: var( --alv-fs-2 );
	color: inherit;
	opacity: 0.75;
}

.alovesinh-cau-chuyen-mot-dem .alovesinh-eyebrow {
	--alv-badge-bg: color-mix( in srgb, var( --alv-c-white ) 6%, transparent );
	--alv-badge-dot: var( --alv-c-brand-light );
	--alv-badge-dot-size: 8px;
	gap: var( --alv-sp-2 );
	border: var( --alv-bd-hairline ) solid color-mix( in srgb, var( --alv-c-white ) 10%, transparent );
	letter-spacing: 0.1em;
}

.alovesinh-cau-chuyen-mot-dem .alovesinh-eyebrow::before {
	box-shadow: 0 0 12px var( --alv-c-brand-light );
}

.alovesinh-cau-chuyen-mot-dem-moc .alovesinh-heading {
	margin: 6px 0 4px;
	font-size: clamp( 24px, 2.6vw, 32px );
	font-weight: var( --alv-fw-extrabold );
	line-height: 1.25;
}

.alovesinh-cau-chuyen-mot-dem-moc .alovesinh-paragraph {
	--alv-paragraph-color: var( --alv-c-text-muted-dark );
	max-width: 480px;
	line-height: var( --alv-lh-relaxed );
}

@media ( max-width: 820px ) {

	.alovesinh-cau-chuyen-mot-dem-moc .alovesinh-paragraph {
		max-width: none;
	}
}

.alovesinh-cau-chuyen-mot-dem-ket .alovesinh-paragraph {
	--alv-paragraph-color: var( --alv-c-brand-light );
	margin-bottom: var( --alv-sp-3 );
	font-size: var( --alv-fs-3 );
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.alovesinh-cau-chuyen-mot-dem-ket .alovesinh-heading {
	max-width: 600px;
	margin: 0 auto 20px;
	font-size: clamp( 24px, 3vw, 34px );
}

.alovesinh-thong-so-ky-thuat-tai-lieu .alovesinh-paragraph {
	--alv-paragraph-color: var( --alv-c-text-muted-dark );
	margin-bottom: var( --alv-sp-2 );
	font-size: var( --alv-fs-2 );
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

/* Named twice: Elementor prints the kit's body weight on every paragraph from two classes, later
	in the cascade, and a single class here loses the label weight. */
.alovesinh-khuyen-mai-dem-nguoc-nhan .alovesinh-paragraph.alovesinh-paragraph,
.alovesinh-cau-chuyen-mot-dem-ket .alovesinh-paragraph.alovesinh-paragraph,
.alovesinh-thong-so-ky-thuat-tai-lieu .alovesinh-paragraph.alovesinh-paragraph {
	font-weight: var( --alv-fw-semibold );
}

.alovesinh-thong-so-ky-thuat-tai-lieu .alovesinh-heading {
	margin-bottom: var( --alv-sp-3 );
	font-size: var( --alv-fs-5 );
}

.alovesinh-phan-loai-nem .alovesinh-pill {
	display: block;
	margin-bottom: var( --alv-sp-1 );
	font-size: var( --alv-fs-2 );
	font-weight: var( --alv-fw-semibold );
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var( --alv-c-brand-deep );
}

.alovesinh-phan-loai-nem .alovesinh-heading {
	margin: 0 0 var( --alv-sp-1 );
	font-size: var( --alv-fs-5 );
	font-weight: var( --alv-fw-extrabold );
}

.alovesinh-phan-loai-nem .alovesinh-tabs-panel {
	--alv-paragraph-color: var( --alv-c-text-muted );
	--alv-paragraph-size: var( --alv-fs-3 );
}

.alovesinh-phan-loai-nem .alovesinh-tabs-panel .alovesinh-paragraph {
	margin-bottom: var( --alv-sp-3 );
}

.alovesinh-phan-loai-nem .alovesinh-phan-loai-luu-y .alovesinh-paragraph {
	margin-bottom: 0;
}

.alovesinh-danh-muc-dich-vu-tu-van .alovesinh-heading {
	margin-bottom: var( --alv-sp-1 );
	font-size: var( --alv-fs-4 );
}

.alovesinh-danh-muc-dich-vu-tu-van .alovesinh-paragraph {
	margin-bottom: var( --alv-sp-3 );
	font-size: var( --alv-fs-3 );
	color: var( --alv-c-text-muted );
}

.alovesinh-truoc-sau-truot .alovesinh-heading {
	margin-top: 14px;
	margin-bottom: var( --alv-sp-2 );
	font-size: 28px;
	font-weight: var( --alv-fw-extrabold );
}

.alovesinh-khach-tieu-bieu .alovesinh-heading,
.alovesinh-chung-nhan .alovesinh-heading,
.alovesinh-dat-lich-nhanh .alovesinh-heading {
	margin: 14px 0 var( --alv-sp-2 );
	font-size: var( --alv-fs-6 );
	font-weight: var( --alv-fw-extrabold );
	letter-spacing: var( --alv-tr-tight-2 );
}

.alovesinh-khach-tieu-bieu .alovesinh-paragraph,
.alovesinh-chung-nhan .alovesinh-paragraph,
.alovesinh-dat-lich-nhanh .alovesinh-paragraph {
	margin-bottom: var( --alv-sp-3 );
	font-size: var( --alv-fs-3 );
}

.alovesinh-dat-lich-nhanh-lien-he > .alv-w-pill {
	display: flex;
}

.alovesinh-dat-lich-nhanh-lien-he .alovesinh-pill {
	font-size: var( --alv-fs-2 );
	font-weight: var( --alv-fw-medium );
	color: var( --alv-c-text-2 );
}

.alovesinh-dat-lich-nhanh-lien-he .alovesinh-pill svg,
.alovesinh-dat-lich-nhanh-lien-he .alovesinh-pill i {
	color: var( --alv-c-brand );
}

.alovesinh-dat-lich-nhanh-lien-he .alovesinh-pill-value {
	font-weight: var( --alv-fw-bold );
	color: var( --alv-c-ink );
}

.alovesinh-tang-tai-lieu .alovesinh-eyebrow {
	margin-bottom: var( --alv-sp-3 );
}

.alovesinh-tang-tai-lieu .alovesinh-heading {
	margin: 0 0 var( --alv-sp-3 );
	font-size: clamp( 30px, 3.4vw, 42px );
	font-weight: var( --alv-fw-extrabold );
	line-height: var( --alv-lh-heading );
	letter-spacing: var( --alv-tr-tight-2 );
}

.alovesinh-tang-tai-lieu .alovesinh-paragraph {
	margin-bottom: var( --alv-sp-3 );
	line-height: var( --alv-lh-loose );
	color: var( --alv-c-text-3 );
}

.alovesinh-tang-tai-lieu .alovesinh-tang-tai-lieu-danh-gia .alovesinh-paragraph {
	margin-bottom: 0;
	font-size: var( --alv-fs-2 );
	line-height: var( --alv-lh-body );
	color: var( --alv-c-text-muted );
}

.alovesinh-khuyen-mai-nem-sofa-the .alovesinh-eyebrow {
	margin-bottom: var( --alv-sp-2 );
	color: var( --alv-c-white );
	background: linear-gradient( 135deg, var( --alv-c-accent ), var( --alv-c-accent-dark ) );
}

.alovesinh-khuyen-mai-nem-sofa-the .alovesinh-heading {
	margin: 0 0 var( --alv-sp-2 );
	font-size: clamp( 32px, 3.6vw, 46px );
	font-weight: var( --alv-fw-extrabold );
	line-height: 1.1;
	letter-spacing: var( --alv-tr-tight-2 );
}

.alovesinh-khuyen-mai-nem-sofa-the .alovesinh-lead .alovesinh-paragraph {
	margin-bottom: 26px;
	line-height: var( --alv-lh-copy );
	color: var( --alv-c-text-3 );
}

.alovesinh-khuyen-mai-nem-sofa-the .alovesinh-lead strong {
	font-weight: var( --alv-fw-extrabold );
	color: var( --alv-c-accent );
}

.alovesinh-khuyen-mai-nem-sofa-the .alovesinh-stacked-label {
	margin-bottom: var( --alv-sp-2 );
}

.alovesinh-khuyen-mai-nem-sofa-the .alovesinh-stacked-label-label {
	font-weight: var( --alv-fw-extrabold );
	letter-spacing: 0.1em;
	color: var( --alv-c-text-muted );
}

.alovesinh-khuyen-mai-nem-sofa-the .alovesinh-fine .alovesinh-paragraph {
	margin-top: 10px;
	font-size: var( --alv-fs-1 );
	text-align: center;
	color: var( --alv-c-text-muted );
}

.alovesinh-dat-lich-day-du-noi-dung .alovesinh-eyebrow {
	--alv-badge-bg: color-mix( in srgb, var( --alv-c-white ) 14%, transparent );
	--alv-badge-text: var( --alv-c-white );
	--alv-badge-dot: var( --alv-c-success );
	--alv-badge-dot-size: 8px;
	--alv-badge-dot-ring: 0 0 0 3px color-mix( in srgb, var( --alv-c-success ) 30%, transparent );
	margin-bottom: var( --alv-sp-3 );
	border: var( --alv-bd-hairline ) solid color-mix( in srgb, var( --alv-c-white ) 18%, transparent );
}

.alovesinh-dat-lich-day-du-noi-dung .alovesinh-heading {
	margin: 0 0 var( --alv-sp-3 );
	font-size: clamp( 30px, 3.6vw, 44px );
	font-weight: var( --alv-fw-extrabold );
	line-height: var( --alv-lh-heading );
	letter-spacing: var( --alv-tr-tight-2 );
}

.alovesinh-dat-lich-day-du-noi-dung .alovesinh-lead .alovesinh-paragraph {
	margin-bottom: 28px;
	line-height: var( --alv-lh-loose );
	color: var( --alv-c-border );
}

.alovesinh-dat-lich-day-du-noi-dung .alovesinh-divider-text {
	gap: var( --alv-sp-2 );
	margin: 24px 0 18px;
}

.alovesinh-dat-lich-day-du-khach .alovesinh-paragraph {
	font-size: var( --alv-fs-3 );
	line-height: var( --alv-lh-base );
	color: color-mix( in srgb, var( --alv-c-white ) 85%, transparent );
}

.alovesinh-dat-lich-day-du-khach .alovesinh-paragraph strong {
	font-weight: var( --alv-fw-extrabold );
	color: var( --alv-c-white );
}

.alovesinh-danh-gia-nen-toi .alovesinh-section-head {
	margin-bottom: 0;
}

.alovesinh-bang-chung-anh .alovesinh-card-image .alovesinh-heading {
	font-size: var( --alv-fs-4 );
	font-weight: var( --alv-fw-bold );
	line-height: var( --alv-lh-snug );
	color: var( --alv-c-white );
}

.alovesinh-bang-chung-anh .alovesinh-card-image .alovesinh-paragraph {
	font-size: var( --alv-fs-2 );
	font-weight: var( --alv-fw-medium );
	color: var( --alv-c-text-muted-dark );
}

.alovesinh-bang-chung-anh-ket .alovesinh-paragraph {
	font-size: var( --alv-fs-2 );
	font-style: italic;
	text-align: center;
	color: var( --alv-c-on-dark-muted );
}

.alovesinh-bao-hanh-vang .alovesinh-eyebrow,
.alovesinh-dich-vu-6-the-tim-hieu .alovesinh-eyebrow {
	width: fit-content;
}

.alovesinh-bao-hanh-vang .alovesinh-heading {
	font-size: clamp( 28px, 3.4vw, 42px );
	font-weight: var( --alv-fw-extrabold );
	line-height: 1.2;
	letter-spacing: var( --alv-tr-tight-2 );
}

.alovesinh-bao-hanh-vang .alovesinh-lead .alovesinh-paragraph {
	max-width: 520px;
	line-height: var( --alv-lh-loose );
}

.alovesinh-bao-hanh-vang-hinh .alovesinh-band {
	position: relative;
	z-index: 2;
	margin: 0 24px;
	padding: var( --alv-sp-3 );
	border-radius: 0 0 22px 22px;
	background: linear-gradient( 180deg,
		rgb( var( --alv-bao-hanh-vang-nen ) / 0 ) 0%,
		rgb( var( --alv-bao-hanh-vang-nen ) / 0.85 ) 60%,
		rgb( var( --alv-bao-hanh-vang-nen ) / 0.95 ) 100% );
}

.alovesinh-bao-hanh-vang-hinh .alovesinh-band .alovesinh-stacked-label {
	--alv-stacked-label-gap: var( --alv-sp-1 );
}

.alovesinh-bao-hanh-vang-hinh .alovesinh-band .alovesinh-stacked-label-label {
	--alv-badge-dot-size: 6px;
	--alv-badge-dot: var( --alv-bao-hanh-vang-cham );
	letter-spacing: 0.18em;
	color: var( --alv-bao-hanh-vang-nhan );
}

.alovesinh-bao-hanh-vang-hinh .alovesinh-band .alovesinh-stacked-label-title {
	--alv-stacked-label-size: var( --alv-fs-5 );
	color: var( --alv-c-white );
}

.alovesinh-danh-gia-nen-sang .alovesinh-section-head-label {
	--alv-badge-bg: var( --alv-c-warning-pale );
	--alv-badge-text: var( --alv-c-warning-text );
}

.alovesinh-danh-gia-nen-sang .alovesinh-section-head-title em {
	--alv-danh-gia-nen-sang-nhan: #F59E0B;
	color: var( --alv-danh-gia-nen-sang-nhan );
}

.alovesinh-danh-gia-nen-sang .alovesinh-section-head-description,
.alovesinh-loi-hua-alo-ve-sinh .alovesinh-section-head-description {
	color: var( --alv-c-text-2 );
}

.alovesinh-khuyen-mai-50-suat .alovesinh-section-head-label {
	--alv-badge-bg: color-mix( in srgb, var( --alv-c-ink ) 28%, transparent );
	--alv-badge-text: var( --alv-c-white );
	border: var( --alv-bd-hairline ) solid color-mix( in srgb, var( --alv-c-white ) 18%, transparent );
}

.alovesinh-khuyen-mai-50-suat .alovesinh-section-head-title {
	font-size: clamp( 30px, 4vw, 52px );
	color: var( --alv-c-white );
}

.alovesinh-khuyen-mai-50-suat .alovesinh-section-head-description {
	color: color-mix( in srgb, var( --alv-c-white ) 92%, transparent );
}

.alovesinh-khuyen-mai-50-suat-cam-ket > .alv-w-pill {
	display: flex;
	justify-content: center;
}

.alovesinh-khuyen-mai-50-suat-cam-ket .alovesinh-pill {
	--alv-pill-icon: 14px;
	font-size: var( --alv-fs-2 );
	font-weight: var( --alv-fw-medium );
	color: color-mix( in srgb, var( --alv-c-white ) 92%, transparent );
}

.alovesinh-loi-hua-alo-ve-sinh .alovesinh-section-head-label {
	--alv-badge-bg: var( --alv-c-green-pale );
	--alv-loi-hua-nhan-chu: #0A6B56;
	--alv-badge-text: var( --alv-loi-hua-nhan-chu );
	--alv-badge-dot: var( --alv-badge-text );
}

.alovesinh-dich-vu-6-the-tim-hieu .alovesinh-heading {
	font-size: clamp( 28px, 3.6vw, 44px );
	font-weight: var( --alv-fw-extrabold );
	line-height: var( --alv-lh-heading );
	letter-spacing: var( --alv-tr-tight-2 );
}

.alovesinh-dich-vu-6-the-tim-hieu .alovesinh-paragraph {
	line-height: var( --alv-lh-loose );
}
