/*
Theme Name: WP Agent Flatsome Child
Description: Child theme of Flatsome for Hoa Mộc Lan Huế (tiệm hoa tươi tại Huế). Warm sage/beige design, Playfair Display + Be Vietnam Pro, floating call/Zalo buttons. CSS is composed from build/css/*.css.
Author: WP Agent
Template: flatsome
Version: 1.1.7
Requires PHP: 7.4
Text Domain: wpagent-child
*/

/* 10 base: tokens, fonts, Flatsome adapter */
:root {
	--mlh-sage: #5b7f6a;
	--mlh-sage-dark: #46664f;
	--mlh-sage-deep: #3f5a4a;
	--mlh-beige: #e8d8c3;
	--mlh-beige-soft: #f3e9dc;
	--mlh-cream: #faf6f0;
	--mlh-text: #3b3a36;
	--mlh-muted: #6b685f;
	--mlh-heading: #2f3a33;
	--mlh-radius: 12px;
	--mlh-shadow: 0 10px 30px rgba(63, 90, 74, 0.10);
	--mlh-serif: "Playfair Display", Georgia, "Times New Roman", serif;
	--mlh-sans: "Be Vietnam Pro", -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

html { background: var(--mlh-sage-deep); }
html body,
html body .nav > li > a,
html body input,
html body select,
html body textarea,
html body button,
html body .button {
	font-family: var(--mlh-sans);
}
html body {
	color: var(--mlh-text);
	font-size: 16px;
	line-height: 1.7;
	background: #fff;
}
html body h1, html body h2, html body h3, html body h4,
html body .heading-font, html body .mlh-serif {
	font-family: var(--mlh-serif);
	color: var(--mlh-heading);
	font-weight: 700;
	letter-spacing: 0;
	text-rendering: optimizeLegibility;
}
html body h5, html body h6 { font-family: var(--mlh-sans); }
html body .alt-font { font-family: var(--mlh-serif); font-style: italic; font-weight: 500; }
a { color: var(--mlh-sage-dark); }
a:hover { color: var(--mlh-sage); }
p { margin-bottom: 1em; }

/* Buttons */
html body .button,
html body input[type="submit"] {
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	border-radius: 30px;
	padding: 0 1.6em;
	min-height: 48px;
	line-height: 46px;
	font-size: 15px;
}
html body .button span { line-height: inherit; }
html body .button i { top: 0; vertical-align: -1px; }
html body .button.primary:not(.is-outline) { background-color: var(--mlh-sage); }
html body .button.primary:not(.is-outline):hover { background-color: var(--mlh-sage-dark); box-shadow: none; }
html body .button.is-outline.primary { color: var(--mlh-sage-dark); border-color: var(--mlh-sage); border-width: 2px; }
html body .button.is-outline.primary:hover { background: var(--mlh-sage); color: #fff; }
html body .button.white:not(.is-outline) { background: #fff; color: var(--mlh-sage-dark); }
html body .button.white:not(.is-outline):hover { background: var(--mlh-beige); color: var(--mlh-sage-deep); }
html body .button.is-outline.white { border-width: 2px; }
html body .button.is-outline.white:hover { background: #fff; color: var(--mlh-sage-dark); }
.mlh-btns { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.mlh-btns .button { margin: 0; }

/* Header */
.header-top .mlh-top { display: flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 500; letter-spacing: 0; color: #fff; white-space: nowrap; }
.header-top .mlh-top a { color: #fff; display: inline-flex; align-items: center; gap: 6px; }
.header-top .mlh-top a:hover { color: var(--mlh-beige); }
.header-top .mlh-top--right { gap: 22px; }
.header-top .mlh-top__sep { opacity: .7; }
.header-top .html { text-transform: none; }
#logo a {
	font-family: var(--mlh-serif);
	font-weight: 700;
	font-size: 28px;
	color: var(--mlh-sage-dark);
	letter-spacing: 0;
	text-transform: none;
	white-space: nowrap;
}
.header-main .nav > li > a { font-size: 15.5px; font-weight: 500; color: var(--mlh-text); }
.header-main .nav > li.active > a,
.header-main .nav > li.current-menu-item > a,
.header-main .nav > li > a:hover { color: var(--mlh-sage); }
.header-main .nav-line-bottom > li > a::before,
.header-main .nav > li.active > a { color: var(--mlh-sage); }
.header-main .header-button-1 .button { min-height: 42px; line-height: 40px; font-size: 15px; padding: 0 1.3em; text-transform: none; }
.header-main .header-nav-main.nav > li.header-button-1 { margin-left: 18px; }
.header-wrapper.stuck .header-main,
.header-main { box-shadow: 0 1px 0 rgba(63, 90, 74, 0.08); }
.mlh-hcall {
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; border-radius: 50%;
	background: var(--mlh-sage); color: #fff; font-size: 18px;
}
.mlh-hcall:hover { background: var(--mlh-sage-dark); color: #fff; }
.mobile-nav .nav-icon a, .header .nav-icon i { color: var(--mlh-sage-dark); }

/* Mobile drawer */
.mlh-drawer { display: grid; gap: 10px; padding: 20px; }
.mlh-drawer__btn {
	display: flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 46px; border-radius: 30px; background: var(--mlh-sage); color: #fff;
	font-weight: 600; font-size: 15px;
}
.mlh-drawer__btn:hover { color: #fff; background: var(--mlh-sage-dark); }
.mlh-drawer__btn--alt { background: #fff; color: var(--mlh-sage-dark); border: 2px solid var(--mlh-sage); }
.mlh-drawer__btn--alt:hover { background: var(--mlh-beige-soft); color: var(--mlh-sage-dark); }
.mlh-drawer__note { text-align: center; font-size: 14px; color: var(--mlh-muted); }
.off-canvas .nav-vertical li li > a, .off-canvas .nav-vertical > li > a { font-size: 16px; text-transform: none; }
.off-canvas .nav-sidebar.nav-vertical > li.menu-item.active > a,
.off-canvas .nav-sidebar.nav-vertical > li.menu-item.current-menu-item > a { color: var(--mlh-sage); }
.off-canvas .nav-sidebar > li.html { padding: 0; }

/* Floating call / Zalo */
.mlh-float { position: fixed; right: 18px; bottom: 84px; z-index: 50; display: flex; flex-direction: column; gap: 12px; }
.mlh-float__btn {
	display: flex; align-items: center; justify-content: center;
	width: 54px; height: 54px; border-radius: 50%;
	color: #fff; box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18);
	font-size: 22px; transition: transform .2s ease;
}
.mlh-float__btn:hover { color: #fff; transform: translateY(-2px); }
.mlh-float__btn--call { background: var(--mlh-sage); animation: mlh-pulse 2.4s ease-out infinite; }
.mlh-float__btn--zalo { background: #0068ff; font-size: 14px; font-weight: 700; letter-spacing: 0; }
@keyframes mlh-pulse {
	0% { box-shadow: 0 0 0 0 rgba(91, 127, 106, .55); }
	70% { box-shadow: 0 0 0 16px rgba(91, 127, 106, 0); }
	100% { box-shadow: 0 0 0 0 rgba(91, 127, 106, 0); }
}
@media (prefers-reduced-motion: reduce) { .mlh-float__btn--call { animation: none; } }

/* Footer */
.footer-wrapper { background: var(--mlh-sage-deep); }
.absolute-footer { font-size: 14px; }
.absolute-footer.dark { color: rgba(255, 255, 255, .78); }
.absolute-footer a { color: #fff; }

@media (max-width: 849px) {
	html body { font-size: 15.5px; }
	.header #logo { width: auto; max-width: 60vw; }
	.header #logo > a { font-size: 22px; }
	.mlh-float { right: 14px; bottom: 76px; }
	.mlh-float__btn { width: 50px; height: 50px; }
}
@media (max-width: 549px) {
	.header-top .mlh-top { font-size: 12.5px; justify-content: center; }
	.header #logo > a { font-size: 20px; }
	.absolute-footer { text-align: center; }
}

/* 20 sections: page building blocks (.mlh-*) */
.mlh-bg-cream { background-color: var(--mlh-cream); }
.mlh-bg-beige { background-color: var(--mlh-beige); }
.mlh-bg-soft { background-color: var(--mlh-beige-soft); }

/* Section heading */
.mlh-head { text-align: center; max-width: 720px; margin: 0 auto 40px; }
.mlh-head--left { text-align: left; margin-left: 0; }
.mlh-eyebrow {
	display: inline-flex; align-items: center; gap: 8px;
	font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
	color: var(--mlh-sage); margin-bottom: 10px;
}
.mlh-head h2, .mlh-h2 { font-size: 40px; line-height: 1.2; margin: 0 0 14px; }
.mlh-lead { font-size: 17px; color: var(--mlh-muted); line-height: 1.75; }
.mlh-head .mlh-lead { margin: 0 auto; }
.mlh-text { color: var(--mlh-muted); }
.mlh-text p:last-child { margin-bottom: 0; }

/* Hero */
.mlh-hero .section-bg-overlay {
	background: linear-gradient(90deg, rgba(250, 246, 240, .96) 0%, rgba(250, 246, 240, .88) 34%, rgba(250, 246, 240, .25) 62%, rgba(250, 246, 240, 0) 78%) !important;
}
.mlh-hero__box { max-width: 560px; }
.mlh-hero h1 { font-size: 54px; line-height: 1.12; margin: 0 0 18px; }
.mlh-hero h1 em { font-style: italic; color: var(--mlh-sage); font-weight: 600; }
.mlh-hero .mlh-lead { color: var(--mlh-text); font-size: 18px; margin-bottom: 28px; }
.mlh-hero__facts { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 26px; font-size: 14.5px; font-weight: 500; color: var(--mlh-sage-deep); }
.mlh-hero__facts div { display: inline-flex; align-items: center; gap: 7px; }
.mlh-hero__facts .mlh-ico { color: var(--mlh-sage); }

/* Info strip */
.mlh-strip .col { padding-bottom: 0; }
.mlh-info { display: flex; align-items: center; gap: 14px; padding: 6px 0; }
.mlh-info__ico {
	display: flex; align-items: center; justify-content: center; flex: none;
	width: 50px; height: 50px; border-radius: 50%; background: #fff; color: var(--mlh-sage); font-size: 22px;
}
.mlh-info__t { font-weight: 700; color: var(--mlh-heading); font-size: 15.5px; line-height: 1.35; }
.mlh-info__d { font-size: 14px; color: var(--mlh-muted); line-height: 1.45; }
.mlh-info__t a { color: inherit; }

/* Product / category cards */
.mlh-card > .col-inner {
	background: #fff; border-radius: var(--mlh-radius); overflow: hidden;
	box-shadow: var(--mlh-shadow); height: 100%; display: flex; flex-direction: column;
	transition: transform .25s ease, box-shadow .25s ease;
}
.mlh-card > .col-inner:hover { transform: translateY(-4px); box-shadow: 0 16px 36px rgba(63, 90, 74, .16); }
.mlh-card .img { margin: 0; }
.mlh-card__body { padding: 20px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.mlh-card__body h3 { font-size: 22px; margin: 0 0 8px; line-height: 1.3; }
.mlh-card__text { font-size: 15px; color: var(--mlh-muted); line-height: 1.6; flex: 1; margin-bottom: 14px; }
.mlh-link { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--mlh-sage-dark); font-size: 15px; }
.mlh-link:hover { gap: 10px; color: var(--mlh-sage); }
.mlh-equal > .col { display: flex; }
.mlh-equal > .col > .col-inner { width: 100%; }

/* Gift (hoa sáp / hoa khô) */
.mlh-gift-card {
	position: relative; background: #fff; border-radius: var(--mlh-radius); padding: 28px 26px;
	box-shadow: var(--mlh-shadow); height: 100%; overflow: hidden;
}
.mlh-gift-card::after {
	content: ""; position: absolute; right: -36px; bottom: -36px; width: 130px; height: 130px; border-radius: 50%;
	background: var(--mlh-beige-soft);
}
.mlh-gift-card > * { position: relative; z-index: 1; }
.mlh-gift-card__ico {
	display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 16px;
	background: var(--mlh-beige); color: var(--mlh-sage-dark); font-size: 26px; margin-bottom: 16px;
}
.mlh-gift-card h3 { font-size: 24px; margin: 0 0 8px; }
.mlh-gift-card .mlh-text { font-size: 15px; line-height: 1.65; }

/* Check list */
.mlh-list { margin: 0 0 24px; padding: 0; list-style: none; }
.col-inner .mlh-list li, .mlh-list li { margin: 0 0 10px; padding-left: 30px; position: relative; list-style: none; line-height: 1.6; }
.mlh-list li::before {
	content: ""; position: absolute; left: 0; top: 3px; width: 20px; height: 20px; border-radius: 50%;
	background: var(--mlh-sage) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat;
}

/* Feature boxes (why us / values) */
.mlh-feature { text-align: center; padding: 34px 26px 30px; background: #fff; border-radius: var(--mlh-radius); box-shadow: var(--mlh-shadow); height: 100%; }
.mlh-feature__ico {
	display: inline-flex; align-items: center; justify-content: center; width: 66px; height: 66px; border-radius: 50%;
	background: var(--mlh-beige-soft); color: var(--mlh-sage); font-size: 28px; margin-bottom: 18px;
}
.mlh-feature h3 { font-size: 22px; margin: 0 0 10px; }
.mlh-feature .mlh-text { font-size: 15px; line-height: 1.65; }

/* Steps */
.mlh-step { position: relative; text-align: center; padding: 0 10px; }
.mlh-step__num {
	display: inline-flex; align-items: center; justify-content: center; width: 60px; height: 60px; border-radius: 50%;
	background: var(--mlh-sage); color: #fff; font-family: var(--mlh-serif); font-size: 26px; font-weight: 700; margin-bottom: 16px;
	box-shadow: 0 0 0 8px rgba(91, 127, 106, .14);
}
.mlh-step h3 { font-size: 21px; margin: 0 0 8px; }
.mlh-step .mlh-text { font-size: 15px; line-height: 1.65; }
.mlh-step .mlh-text a { font-weight: 600; }

/* CTA band */
.mlh-cta { text-align: center; color: #fff; }
.mlh-cta h2 { color: #fff; font-size: 40px; line-height: 1.2; margin: 0 0 12px; }
.mlh-cta .mlh-lead { color: rgba(255, 255, 255, .88); margin: 0 auto 26px; max-width: 640px; }
.mlh-cta .mlh-btns { justify-content: center; }
.mlh-cta__meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 26px; margin-top: 22px; font-size: 14.5px; color: rgba(255, 255, 255, .9); }
.mlh-cta__meta div { display: inline-flex; align-items: center; gap: 7px; }

/* Page title banner */
.mlh-pagehead { text-align: center; }
.mlh-pagehead h1 { font-size: 48px; line-height: 1.15; margin: 0 0 10px; }
.mlh-pagehead .mlh-lead { max-width: 640px; margin: 0 auto 14px; color: var(--mlh-text); }
.mlh-crumb { display: flex; justify-content: center; gap: 8px; font-size: 14px; color: var(--mlh-muted); }
.mlh-crumb a { color: var(--mlh-sage-dark); font-weight: 500; }

/* Media with rounded corners */
.mlh-photo .img-inner, .mlh-photo .img, .mlh-photo img { border-radius: 16px; }
.mlh-photo .img { box-shadow: var(--mlh-shadow); border-radius: 16px; overflow: hidden; }
.mlh-photo-frame { position: relative; }
.mlh-badge {
	display: inline-flex; align-items: center; gap: 10px; background: #fff; border-radius: 14px; padding: 14px 18px;
	box-shadow: var(--mlh-shadow); font-size: 14.5px; font-weight: 600; color: var(--mlh-heading); margin-top: -40px; margin-left: 24px; position: relative; z-index: 2;
}
.mlh-badge .mlh-ico { color: var(--mlh-sage); font-size: 22px; }

/* Service rows */
.mlh-svc h2 { font-size: 36px; line-height: 1.2; margin: 0 0 14px; }
.mlh-svc .mlh-text { font-size: 16px; line-height: 1.75; margin-bottom: 18px; }
.mlh-svc .mlh-list { margin-bottom: 26px; }
.mlh-tag { display: inline-block; background: var(--mlh-beige-soft); color: var(--mlh-sage-dark); font-weight: 600; font-size: 13px; border-radius: 30px; padding: 4px 14px; margin-bottom: 12px; }

/* Info boxes */
.mlh-box { display: flex; gap: 18px; align-items: flex-start; background: #fff; border-radius: var(--mlh-radius); padding: 26px; box-shadow: var(--mlh-shadow); height: 100%; }
.mlh-box__ico { display: flex; align-items: center; justify-content: center; flex: none; width: 54px; height: 54px; border-radius: 50%; background: var(--mlh-sage); color: #fff; font-size: 24px; }
.mlh-box h3 { font-size: 21px; margin: 0 0 6px; }
.mlh-box .mlh-text { font-size: 15px; line-height: 1.65; }

/* Price cards */
.mlh-price { background: #fff; border-radius: var(--mlh-radius); box-shadow: var(--mlh-shadow); padding: 30px 28px; height: 100%; display: flex; flex-direction: column; border-top: 4px solid var(--mlh-sage); }
.mlh-price { overflow: hidden; }
/* Flatsome prints #image_xxx { width:100% } (ID rule): widen past the card padding */
.mlh-price .mlh-price__img { margin: -30px -28px 22px; width: calc(100% + 56px) !important; max-width: none; }
.mlh-price .mlh-price__img .img-inner { border-radius: 0; }
.mlh-price .mlh-price__img img { object-fit: cover; }
.mlh-price--hl { border-top-color: var(--mlh-beige); background: var(--mlh-cream); }
.mlh-price h3 { font-size: 24px; margin: 0 0 6px; }
.mlh-price__from { font-size: 14px; color: var(--mlh-muted); }
.mlh-price__val { font-family: var(--mlh-serif); font-size: 34px; font-weight: 700; color: var(--mlh-sage-dark); line-height: 1.2; margin: 2px 0 16px; }
.mlh-price .mlh-list { flex: 1; font-size: 15px; }
.mlh-price .button { margin: 0; width: 100%; }
.mlh-note {
	display: flex; gap: 14px; align-items: center; background: var(--mlh-beige-soft); border-left: 4px solid var(--mlh-sage);
	border-radius: 10px; padding: 18px 22px; font-size: 15.5px; color: var(--mlh-heading);
}
.mlh-note .mlh-ico { color: var(--mlh-sage); font-size: 24px; }
.mlh-note a { font-weight: 700; }

/* FAQ */
.mlh-faq .accordion-title { font-size: 17px; font-weight: 600; color: var(--mlh-heading); border-top-color: rgba(63, 90, 74, .15); padding: 16px 40px 16px 0; }
.mlh-faq .accordion-title.active { color: var(--mlh-sage-dark); border-color: var(--mlh-sage); background: transparent; }
.mlh-faq .accordion-inner { padding: 4px 40px 20px 0; color: var(--mlh-muted); }
.mlh-faq .accordion-title .toggle { left: auto; right: 0; }
.mlh-faq .accordion-title .toggle i { color: var(--mlh-sage); }
.mlh-faq .accordion { border-bottom: 1px solid rgba(63, 90, 74, .15); }

/* Contact */
.mlh-ccard { text-align: center; background: #fff; border-radius: var(--mlh-radius); box-shadow: var(--mlh-shadow); padding: 32px 22px; height: 100%; display: block; color: var(--mlh-text); }
a.mlh-ccard:hover { color: var(--mlh-text); transform: translateY(-3px); }
.mlh-ccard { transition: transform .2s ease; }
.mlh-ccard__ico { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 50%; background: var(--mlh-sage); color: #fff; font-size: 28px; margin-bottom: 14px; }
.mlh-ccard__ico--zalo { background: #0068ff; font-size: 16px; font-weight: 700; font-family: var(--mlh-sans); }
.mlh-ccard__label { font-size: 14px; text-transform: uppercase; letter-spacing: .1em; color: var(--mlh-muted); font-weight: 600; }
.mlh-ccard__val { font-family: var(--mlh-serif); font-size: 28px; font-weight: 700; color: var(--mlh-sage-dark); line-height: 1.3; margin: 4px 0 6px; }
.mlh-ccard__sub { font-size: 14.5px; color: var(--mlh-muted); }
.mlh-formbox { background: #fff; border-radius: var(--mlh-radius); box-shadow: var(--mlh-shadow); padding: 34px; }
.mlh-formbox h2 { font-size: 30px; margin: 0 0 6px; }
.mlh-formbox .mlh-text { margin-bottom: 22px; font-size: 15px; }
.mlh-form { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.mlh-form__f { display: block; margin-bottom: 16px; }
.mlh-form__f--full { grid-column: 1 / -1; }
.mlh-form__l { display: block; font-size: 14px; font-weight: 600; color: var(--mlh-heading); margin-bottom: 6px; }
.mlh-form .wpcf7-form-control-wrap { display: block; }
.mlh-form input[type="text"], .mlh-form input[type="tel"], .mlh-form select, .mlh-form textarea {
	width: 100%; margin: 0; border: 1px solid #d9cdbb; border-radius: 10px; box-shadow: none; background: var(--mlh-cream);
	font-size: 15px; height: 48px; padding: 0 14px; color: var(--mlh-text);
}
.mlh-form textarea { height: 120px; min-height: 120px; padding: 12px 14px; }
.mlh-form input:focus, .mlh-form select:focus, .mlh-form textarea:focus { border-color: var(--mlh-sage); background: #fff; box-shadow: 0 0 0 3px rgba(91, 127, 106, .15); }
.mlh-form__submit { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.mlh-form input[type="submit"] { background: var(--mlh-sage); color: #fff; margin: 0; padding: 0 2em; }
.mlh-form input[type="submit"]:hover { background: var(--mlh-sage-dark); box-shadow: none; }
.wpcf7 .mlh-form .wpcf7-spinner { margin: 0; }
.wpcf7 form .wpcf7-response-output { margin: 16px 0 0; border-radius: 10px; font-size: 14.5px; }
.wpcf7 label { width: auto; }
.mlh-aside { background: var(--mlh-sage); color: #fff; border-radius: var(--mlh-radius); padding: 34px 30px; height: 100%; }
.mlh-aside h3 { color: #fff; font-size: 26px; margin: 0 0 14px; }
.mlh-aside__row { display: flex; gap: 14px; padding: 14px 0; border-top: 1px solid rgba(255, 255, 255, .2); }
.mlh-aside__row:first-of-type { border-top: 0; }
.mlh-aside__row .mlh-ico { font-size: 22px; margin-top: 2px; color: var(--mlh-beige); }
.mlh-aside__t { font-weight: 700; font-size: 15.5px; }
.mlh-aside__d { font-size: 14.5px; color: rgba(255, 255, 255, .85); line-height: 1.6; }
.mlh-aside a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.mlh-map { border-radius: var(--mlh-radius); overflow: hidden; box-shadow: var(--mlh-shadow); line-height: 0; }
.mlh-map iframe { width: 100%; height: 420px; border: 0; display: block; }

/* About story */
.mlh-quote { font-family: var(--mlh-serif); font-style: italic; font-size: 21px; line-height: 1.55; color: var(--mlh-sage-dark); border-left: 3px solid var(--mlh-beige); padding-left: 18px; margin: 22px 0 0; }
.mlh-chips { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.mlh-chip { display: inline-flex; align-items: center; gap: 8px; background: #fff; border-radius: 30px; padding: 10px 18px; font-weight: 600; font-size: 15px; color: var(--mlh-heading); box-shadow: 0 4px 14px rgba(63, 90, 74, .08); }
.mlh-chip .mlh-ico { color: var(--mlh-sage); }

/* Footer block */
.mlh-footer { color: rgba(255, 255, 255, .82); font-size: 15px; }
.mlh-cta .col, .mlh-pagehead .col { padding-bottom: 0; }
html body h1, html body h2, html body h3, html body h4, .mlh-price__val, .mlh-ccard__val { font-variant-numeric: lining-nums; }
.mlh-box h3, .mlh-feature h3, .mlh-step h3, .mlh-card__body h3 { line-height: 1.3; }
.mlh-box h3 { font-size: 19px; }
.mlh-form input, .mlh-form select, .mlh-form textarea { font-weight: 400; }
.mlh-form ::placeholder { color: #9a958a; opacity: 1; }
.mlh-form__f { font-weight: 400; }

/* Contrast (WCAG AA 4.5:1): white text sits on the darker sage */
html body .button.primary:not(.is-outline),
.mlh-drawer__btn,
.mlh-form input[type="submit"],
.mlh-aside { background-color: var(--mlh-sage-dark); }
html body .button.primary:not(.is-outline):hover,
.mlh-drawer__btn:hover,
.mlh-form input[type="submit"]:hover { background-color: var(--mlh-sage-deep); }
html body .button.is-outline.primary:hover { background: var(--mlh-sage-dark); }
.header-top { background-color: var(--mlh-sage-dark) !important; }
a[href^="tel:"] { white-space: nowrap; }
.absolute-footer .footer-secondary { padding-top: 0; }
.mlh-footer__brand { font-family: var(--mlh-serif); font-weight: 700; font-size: 28px; color: #fff; margin-bottom: 12px; }
.mlh-footer__h { font-family: var(--mlh-sans); font-size: 15px; font-weight: 700; color: #fff; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 16px; }
.mlh-footer a { color: #fff; }
.mlh-footer a:hover { color: var(--mlh-beige); }
.mlh-footer__row { display: flex; gap: 10px; margin-bottom: 10px; line-height: 1.55; }
.mlh-footer__row .mlh-ico { color: var(--mlh-beige); margin-top: 3px; }
.mlh-footer__links { display: grid; gap: 8px; }
.mlh-footer__links a { color: rgba(255, 255, 255, .85); }
.mlh-footer__links a:hover { color: #fff; }

/* Responsive */
@media (max-width: 849px) {
	.mlh-head { margin-bottom: 30px; }
	.mlh-head h2, .mlh-h2, .mlh-cta h2 { font-size: 34px; }
	.mlh-hero .section-bg-overlay {
		background: linear-gradient(90deg, rgba(250, 246, 240, .95) 0%, rgba(250, 246, 240, .85) 50%, rgba(250, 246, 240, .35) 100%) !important;
	}
	.mlh-hero h1 { font-size: 44px; }
	.mlh-pagehead h1 { font-size: 40px; }
	.mlh-svc h2 { font-size: 30px; }
	.mlh-step { margin-bottom: 10px; }
}
@media (max-width: 549px) {
	.mlh-head h2, .mlh-h2, .mlh-cta h2 { font-size: 28px; }
	.mlh-lead { font-size: 16px; }
	.mlh-hero .section-bg-overlay { background: rgba(250, 246, 240, .86) !important; }
	.mlh-hero h1 { font-size: 34px; }
	.mlh-hero .mlh-lead { font-size: 16px; }
	.mlh-hero .mlh-btns .button { flex: 1 1 100%; }
	.mlh-cta .mlh-btns .button { flex: 1 1 100%; }
	.mlh-pagehead h1 { font-size: 34px; }
	.mlh-svc h2 { font-size: 27px; }
	.mlh-form { grid-template-columns: 1fr; }
	.mlh-formbox, .mlh-aside { padding: 26px 20px; }
	.mlh-ccard__val { font-size: 24px; }
	.mlh-map iframe { height: 320px; }
	.mlh-price__val { font-size: 30px; }
	.mlh-badge { margin-left: 12px; }
	.mlh-footer { text-align: left; }
}

/* Helpers */
.mlh-cta .mlh-eyebrow { color: var(--mlh-beige); }
.mlh-btns--center { justify-content: center; margin-top: 30px; }
.mlh-chips + .mlh-btns { margin-top: 30px; }
.mlh-center-col { margin-left: auto; margin-right: auto; }
.mlh-footer__text { line-height: 1.7; max-width: 420px; }
.mlh-head--left .mlh-lead { margin: 0 0 20px; }
@media (max-width: 849px) {
	.mlh-first-md { order: -1; }
}

/* Fixes after first screenshots */
html body .button.is-outline { line-height: 44px; }
.mlh-gift-card::after { right: -34px; top: -34px; bottom: auto; width: 110px; height: 110px; }
.mlh-step__num { font-family: var(--mlh-sans); font-size: 24px; }
.header .nav-icon .icon-menu, .mobile-nav .nav-icon a { color: var(--mlh-sage-dark); }
@media (max-width: 549px) {
	.mlh-card .img-inner { padding-top: 64% !important; }
}

/* 50 icons: line icons as CSS masks, colour = currentColor */
.mlh-ico{display:inline-block;flex:none;width:1.15em;height:1.15em;vertical-align:-0.2em;background-color:currentColor;-webkit-mask:var(--mlh-ico) center/contain no-repeat;mask:var(--mlh-ico) center/contain no-repeat}
.mlh-ico--clock{--mlh-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E")}
.mlh-ico--phone{--mlh-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E")}
.mlh-ico--chat{--mlh-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.9 20A9 9 0 1 0 4 16.1L2 22Z'/%3E%3C/svg%3E")}
.mlh-ico--truck{--mlh-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2'/%3E%3Cpath d='M15 18H9'/%3E%3Cpath d='M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.624l-3.48-4.35A1 1 0 0 0 17.52 8H14'/%3E%3Ccircle cx='17' cy='18' r='2'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3C/svg%3E")}
.mlh-ico--cash{--mlh-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='12' x='2' y='6' rx='2'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3Cpath d='M6 12h.01M18 12h.01'/%3E%3C/svg%3E")}
.mlh-ico--flower{--mlh-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M12 16.5A4.5 4.5 0 1 1 7.5 12 4.5 4.5 0 1 1 12 7.5a4.5 4.5 0 1 1 4.5 4.5 4.5 4.5 0 1 1-4.5 4.5'/%3E%3Cpath d='M12 7.5V9M7.5 12H9M16.5 12H15M12 16.5V15M8 8l1.88 1.88M14.12 9.88 16 8M8 16l1.88-1.88M14.12 14.12 16 16'/%3E%3C/svg%3E")}
.mlh-ico--heart{--mlh-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E")}
.mlh-ico--leaf{--mlh-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10Z'/%3E%3Cpath d='M2 21c0-3 1.85-5.36 5.08-6C9.5 14.52 12 13 13 12'/%3E%3C/svg%3E")}
.mlh-ico--gift{--mlh-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='8' width='18' height='4' rx='1'/%3E%3Cpath d='M12 8v13'/%3E%3Cpath d='M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7'/%3E%3Cpath d='M7.5 8a2.5 2.5 0 0 1 0-5A4.8 8 0 0 1 12 8a4.8 8 0 0 1 4.5-5 2.5 2.5 0 0 1 0 5'/%3E%3C/svg%3E")}
.mlh-ico--check{--mlh-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}
.mlh-ico--pin{--mlh-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E")}
.mlh-ico--calendar{--mlh-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E")}
.mlh-ico--sparkle{--mlh-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3-1.9 5.8a2 2 0 0 1-1.3 1.3L3 12l5.8 1.9a2 2 0 0 1 1.3 1.3L12 21l1.9-5.8a2 2 0 0 1 1.3-1.3L21 12l-5.8-1.9a2 2 0 0 1-1.3-1.3Z'/%3E%3C/svg%3E")}
.mlh-ico--arrow{--mlh-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E")}
.mlh-ico--shield{--mlh-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E")}
.mlh-ico--sun{--mlh-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E")}

