/* 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);
}

/* 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);
}

/* The z-index 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: var(--alv-z-lift);
	width: min(100%, 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);
}

/* The eyebrow carries the whole gap down to the heading, so a block shown without one starts flush on
	its heading and nothing is left above the cluster. 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-label {
	margin-bottom: var(--alv-sp-4a);
}

.alovesinh-section-head-title {
	margin: 0 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 cluster on purpose: the paragraph keeps a shorter measure than the
	heading it sits under. */
.alovesinh-section-head-description {
	width: min(100%, var(--alv-w-lead));
	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);
}

/* Drawn as a top border: Elementor's `.elementor hr` clears the background at 0-1-1, and a border is
	what it leaves alone. The variable is what the widget's colour box writes. */
.alovesinh-divider-text-line {
	flex: 1;
	height: 0;
	margin: 0;
	border: 0;
	border-top: var(--alv-bd-hairline) solid 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));
}

/* Gap, label tracking, title size and line height are variables a block can override, as
	.alovesinh-quy-trinh-lien-he does in alovesinh-base.css. */
.alovesinh-stacked-label {
	display: flex;
	flex-direction: column;
	gap: var(--alv-stacked-label-gap, var(--alv-sp-0b));
}

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

/* 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);
}

.alovesinh-eyebrow-accent {
	--alv-badge-bg: var(--alv-c-accent-wash);
	--alv-badge-text: var(--alv-c-ink);
	--alv-badge-dot: var(--alv-c-accent);
}

/* 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: var(--alv-sp-2b);
	height: var(--alv-sp-2b);
	font-size: var(--alv-sp-2b);
	line-height: 1;
}

.alovesinh-pill-brand {
	--alv-pill-text: var(--alv-c-brand-deep);
	--alv-pill-bg: var(--alv-c-brand-wash);
}

/* 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, var(--alv-lh-title));
	letter-spacing: var(--alv-tr-tight-1);
	color: var(--alv-block-title);
}

/* Overrides the shared bordered box it wears, whose rules sit in the base sheet this group sheet is
	registered to load after; the dark pair is named because the box's dark skin carries two classes. */
.alovesinh-note,
.alovesinh-dark .alovesinh-note {
	--alv-note-icon-size: var(--alv-sp-3);

	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-2);
}

/* 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 {
	border-top-color: var(--alv-c-glass-edge);
}

.alovesinh-dark .alovesinh-divider-text-label {
	color: var(--alv-c-on-dark);
}

.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 var(--alv-sp-3);
	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-text-muted-dark);
}

/* Typed straight on, not through the size hook: the share row sits inside the article prose, whose
	paragraph rule sets its size 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: var(--alv-fs-3a);
}

.alovesinh-bang-lien-he .alovesinh-section-head-label {
	--alv-badge-bg: var(--alv-c-glass-fill);
	--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: var(--alv-sp-2d);
}

.alovesinh-banner-chu .alovesinh-paragraph {
	width: min(100%, var(--alv-w-banner-lead));
	margin: var(--alv-sp-2d) 0 var(--alv-sp-3d);
	color: var(--alv-c-text-muted);
}

.alovesinh-khuyen-mai-dem-nguoc-the .alovesinh-pill {
	border: var(--alv-bd-hairline) solid var(--alv-c-glass-edge-strong);
}

.alovesinh-khuyen-mai-dem-nguoc-noi-dung .alovesinh-heading {
	margin-top: var(--alv-sp-2c);
	font-size: var(--alv-fs-6b);
	color: var(--alv-c-white);
}

.alovesinh-khuyen-mai-dem-nguoc-noi-dung .alovesinh-paragraph {
	margin: var(--alv-sp-1a) 0 var(--alv-sp-2d);
	font-size: var(--alv-fs-3a);
	line-height: var(--alv-lh-body);
	color: var(--alv-c-on-dark);
}

.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: var(--alv-c-on-dark);
}

.alovesinh-khuyen-mai-dem-nguoc-ghi-chu .alovesinh-paragraph {
	margin-top: var(--alv-sp-2b);
	font-size: var(--alv-fs-2);
	color: var(--alv-c-on-dark);
}

.alovesinh-cau-chuyen-mot-dem .alovesinh-eyebrow {
	--alv-badge-bg: var(--alv-c-glass-tint);
	--alv-badge-dot: var(--alv-c-brand-light);
	--alv-badge-dot-size: var(--alv-sp-1a);
	--alv-badge-dot-ring: 0 0 var(--alv-sp-2) var(--alv-c-brand-light);
	gap: var(--alv-sp-2);
	border: var(--alv-bd-hairline) solid var(--alv-c-glass-edge-soft);
	letter-spacing: var(--alv-tr-label);
}

.alovesinh-cau-chuyen-mot-dem-moc .alovesinh-heading {
	margin: var(--alv-sp-1) 0 var(--alv-sp-0d);
	font-size: clamp(var(--alv-fs-5), var(--alv-fs-grow-1), var(--alv-fs-6a));
	font-weight: var(--alv-fw-extrabold);
	line-height: var(--alv-lh-title);
}

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

.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: var(--alv-tr-label);
	text-transform: uppercase;
}

.alovesinh-cau-chuyen-mot-dem-ket .alovesinh-heading {
	width: min(100%, var(--alv-w-lead));
	margin: 0 auto var(--alv-sp-3);
	font-size: clamp(var(--alv-fs-5), var(--alv-fs-grow-2), var(--alv-fs-6b));
}

.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: var(--alv-tr-label);
	text-transform: uppercase;
}

.alovesinh-khuyen-mai-dem-nguoc-nhan .alovesinh-paragraph,
.alovesinh-cau-chuyen-mot-dem-ket .alovesinh-paragraph,
.alovesinh-thong-so-ky-thuat-tai-lieu .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: var(--alv-tr-label);
	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-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: var(--alv-sp-2b);
	margin-bottom: var(--alv-sp-2);
	font-size: var(--alv-fs-5b);
	font-weight: var(--alv-fw-extrabold);
}

.alovesinh-khach-tieu-bieu .alovesinh-heading,
.alovesinh-chung-nhan .alovesinh-heading,
.alovesinh-dat-lich-nhanh .alovesinh-heading {
	margin: var(--alv-sp-2b) 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 > .elementor-widget-alovesinh-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(var(--alv-fs-6), var(--alv-fs-grow-3), var(--alv-fs-title-max));
	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-2);
}

.alovesinh-khuyen-mai-nem-sofa-the .alovesinh-eyebrow {
	margin-bottom: var(--alv-sp-2);
	color: var(--alv-c-ink);
	background: var(--alv-c-accent-wash);
}

.alovesinh-khuyen-mai-nem-sofa-the .alovesinh-heading {
	margin: 0 0 var(--alv-sp-2);
	font-size: clamp(var(--alv-fs-6a), var(--alv-fs-grow-4), var(--alv-fs-7a));
	font-weight: var(--alv-fw-extrabold);
	line-height: var(--alv-lh-display);
	letter-spacing: var(--alv-tr-tight-2);
}

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

.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: var(--alv-tr-label);
	color: var(--alv-c-text-muted);
}

.alovesinh-dat-lich-day-du-noi-dung .alovesinh-eyebrow {
	--alv-badge-bg: var(--alv-c-glass-fill);
	--alv-badge-text: var(--alv-c-white);
	--alv-badge-dot: var(--alv-c-success);
	--alv-badge-dot-size: var(--alv-sp-1a);
	--alv-badge-dot-ring: 0 0 0 var(--alv-sp-0c) var(--alv-c-success-ring);
	margin-bottom: var(--alv-sp-3);
	border: var(--alv-bd-hairline) solid var(--alv-c-glass-edge);
}

.alovesinh-dat-lich-day-du-noi-dung .alovesinh-heading {
	margin: 0 0 var(--alv-sp-3);
	font-size: clamp(var(--alv-fs-6), var(--alv-fs-grow-4), var(--alv-fs-7));
	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-divider-text {
	gap: var(--alv-sp-2);
	margin: var(--alv-sp-3b) 0 var(--alv-sp-2d);
}

.alovesinh-dat-lich-day-du-noi-dung .elementor-widget-divider {
	--divider-element-spacing: var(--alv-sp-2);
}

/* Three classes: Elementor's own divider sheet sets the text at 0-2-0 and may load after this one. */
.alovesinh-dat-lich-day-du-noi-dung .elementor-widget-divider .elementor-divider__text {
	font-size: var(--alv-fs-2);
	font-weight: var(--alv-fw-bold);
	line-height: inherit;
	letter-spacing: var(--alv-tr-wide-3);
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--alv-c-on-dark);
}

.alovesinh-dat-lich-day-du-khach .alovesinh-paragraph {
	font-size: var(--alv-fs-3);
	line-height: var(--alv-lh-base);
	color: var(--alv-c-on-dark);
}

.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-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(var(--alv-fs-5b), var(--alv-fs-grow-3), var(--alv-fs-title-max));
	font-weight: var(--alv-fw-extrabold);
	line-height: var(--alv-lh-headline);
	letter-spacing: var(--alv-tr-tight-2);
}

.alovesinh-bao-hanh-vang-hinh .alovesinh-band {
	position: relative;
	z-index: var(--alv-z-lift);
	margin: 0 var(--alv-sp-3b);
	padding: var(--alv-sp-3);
	border-radius: 0 0 var(--alv-r-warranty-band) var(--alv-r-warranty-band);
	background: var(--alv-scrim-band);
}

.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: var(--alv-sp-1);
	--alv-badge-dot: var(--alv-c-warning);
	letter-spacing: var(--alv-tr-label-xl);
	color: var(--alv-c-brand-light);
}

.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 {
	color: var(--alv-c-accent-text);
}

.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-than .alovesinh-section-head {
	--alv-block-align: left;
	width: 100%;
	margin: 0;
}

.alovesinh-khuyen-mai-50-suat-than .alovesinh-section-head-title {
	margin: 0 0 var(--alv-sp-2b);
	font-size: var(--alv-fs-6c);
	font-weight: var(--alv-fw-extrabold);
	line-height: var(--alv-lh-heading);
	letter-spacing: var(--alv-tr-tight-2);
}

.alovesinh-khuyen-mai-50-suat-than .alovesinh-section-head-description {
	width: 100%;
	margin: 0;
	font-size: var(--alv-fs-3a);
	line-height: var(--alv-lh-copy);
}

.alovesinh-khuyen-mai-50-suat-cuong .alovesinh-eyebrow {
	--alv-badge-bg: transparent;
	--alv-badge-text: var(--alv-c-warning);
	padding: 0;
	font-size: var(--alv-fs-3a);
	letter-spacing: var(--alv-tr-label-lg);
}

.alovesinh-khuyen-mai-50-suat-cuong .alovesinh-pill {
	--alv-pill-border: var(--alv-bd-hairline) dashed var(--alv-c-warning);
	padding: var(--alv-sp-1a) var(--alv-sp-2b);
	font-size: var(--alv-fs-3a);
}

.alovesinh-khuyen-mai-50-suat-cuong .alovesinh-paragraph {
	--alv-paragraph-size: var(--alv-fs-3);
}

.alovesinh-khuyen-mai-50-suat-dem-nguoc .alovesinh-paragraph {
	--alv-paragraph-size: var(--alv-fs-2a);
	font-weight: var(--alv-fw-semibold);
}

.alovesinh-loi-hua-alo-ve-sinh .alovesinh-section-head-label {
	--alv-badge-bg: var(--alv-c-success-wash);
	--alv-badge-text: var(--alv-c-ink);
	--alv-badge-dot: var(--alv-c-success);
}

.alovesinh-dich-vu-6-the-tim-hieu .alovesinh-heading {
	font-size: clamp(var(--alv-fs-5b), var(--alv-fs-grow-4), var(--alv-fs-7));
	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);
}

.alovesinh-xem-tan-mat .alovesinh-heading,
.alovesinh-giac-ngu-yen .alovesinh-heading {
	font-size: var(--alv-fs-6);
	text-wrap: balance;
}

.alovesinh-xem-tan-mat .alovesinh-paragraph,
.alovesinh-giac-ngu-yen .alovesinh-paragraph {
	--alv-paragraph-size: var(--alv-fs-3a);
	line-height: var(--alv-lh-copy);
}

.alovesinh-xem-tan-mat-ba-buoc-nhan .alovesinh-paragraph {
	--alv-paragraph-size: var(--alv-fs-1a);
	--alv-paragraph-color: var(--alv-c-text-muted);
	margin: var(--alv-sp-4) 0 var(--alv-sp-3);
	font-weight: var(--alv-fw-bold);
	line-height: inherit;
	letter-spacing: var(--alv-tr-label);
	text-transform: uppercase;
}

.alovesinh-giac-ngu-yen .alovesinh-eyebrow {
	--alv-badge-bg: var(--alv-c-peach-pale);
	--alv-badge-text: var(--alv-c-accent-text);
	--alv-badge-dot: var(--alv-c-accent-strong);
}

.alovesinh-chan-trang .alovesinh-heading,
.alovesinh-chan-trang .alovesinh-chan-trang-luoi .alovesinh-heading {
	margin: 0;
	font-size: var(--alv-fs-2a);
	font-weight: var(--alv-fw-extrabold);
	line-height: var(--alv-lh-copy);
	letter-spacing: var(--alv-tr-tag);
	text-transform: uppercase;
	color: var(--alv-c-white);
}

.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-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-lead .alovesinh-paragraph {
	margin-bottom: var(--alv-sp-3c);
	line-height: var(--alv-lh-copy);
	color: var(--alv-c-text-2);
}

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

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

.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-bao-hanh-vang .alovesinh-lead .alovesinh-paragraph {
	width: min(100%, var(--alv-w-warranty-lead));
	line-height: var(--alv-lh-loose);
}

/* A section that opens on its heading starts its visible space at the capitals, not at the line box:
	the box keeps the font's room for the marks above Vietnamese capitals, which would add to the
	section padding above while the box that closes the section adds nothing below. */
.elementor
	> .e-con
	> .e-con-inner
	> .elementor-widget-alovesinh-section-head:first-child
	.alovesinh-section-head-title:first-child {
	text-box: trim-start cap alphabetic;
}

/* A section that opens on its label starts at the label's capitals for the same reason: the pale chip
	reads as part of the space. The wording is cut to its capitals and padded back to its line, so the
	chip keeps its height; the chip rides up by the room over the capitals and the heading follows it,
	so the gap under the chip is kept. */
.elementor
	> .e-con
	> .e-con-inner
	> .elementor-widget-alovesinh-section-head:first-child
	.alovesinh-section-head-label:first-child {
	--alv-section-head-label-lead: calc(var(--alv-sp-1) + (1lh - 1cap) / 2);
	position: relative;
	top: calc(-1 * var(--alv-section-head-label-lead));
	margin-bottom: calc(var(--alv-sp-4a) - var(--alv-section-head-label-lead));
}

.elementor
	> .e-con
	> .e-con-inner
	> .elementor-widget-alovesinh-section-head:first-child
	.alovesinh-section-head-label:first-child
	> .alovesinh-section-head-label-text {
	padding-block: calc((1lh - 1cap) / 2);
	text-box: trim-both cap alphabetic;
}

/* The same for a section that opens on a standalone eyebrow. The widget holds nothing but the chip,
	so its own line is sized to nothing and the chip's top margin can lift it and everything after it. */
.elementor > .e-con > .e-con-inner > .elementor-widget-alovesinh-eyebrow:first-child {
	font-size: 0;
}

.elementor > .e-con > .e-con-inner > .elementor-widget-alovesinh-eyebrow:first-child > .alovesinh-eyebrow {
	margin-top: calc(-1 * (var(--alv-sp-1) + (1lh - 1cap) / 2));
}

.elementor
	> .e-con
	> .e-con-inner
	> .elementor-widget-alovesinh-eyebrow:first-child
	> .alovesinh-eyebrow
	> .alovesinh-eyebrow-text {
	padding-block: calc((1lh - 1cap) / 2);
	text-box: trim-both cap alphabetic;
}

@media (min-width: 821px) {
	.alovesinh-cau-chuyen-mot-dem-moc .alovesinh-paragraph {
		width: min(100%, var(--alv-w-figure));
	}
}

@media (min-width: 981px) {
	.alovesinh-xem-tan-mat .alovesinh-heading,
	.alovesinh-giac-ngu-yen .alovesinh-heading {
		font-size: var(--alv-fs-7);
	}

	.alovesinh-xem-tan-mat-ba-buoc-nhan .alovesinh-paragraph {
		margin-top: var(--alv-sp-4b);
	}
}
