/* AZ Meals Elementor Kit – brand styles
   Màu: xanh #0F3D27 · xanh chữ #1B6B3D · vàng #F4C11E · kem #F7F3E8 · mực #1D2A22
   Mọi class đều bắt đầu bằng "azm" và chỉ áp dụng cho phần tử có class đó,
   nên không ảnh hưởng tới các trang khác trên website. */

:root {
	--azm-dark: #0F3D27;
	--azm-dark-2: #0B2E1D;
	--azm-green: #1B6B3D;
	--azm-yellow: #F4C11E;
	--azm-cream: #F7F3E8;
	--azm-card: #FFFDF7;
	--azm-ink: #1D2A22;
	--azm-muted: #56655B;
	--azm-on-dark: #F4F0E4;
	--azm-on-dark-muted: #B8CBBE;
	--azm-line: #E2DAC6;
	--azm-input: #CFC6AF;
	--azm-font: 'Be Vietnam Pro', Arial, sans-serif;
}

/* ---------- Nền tảng ---------- */
.azm,
.azm .elementor-widget,
.azm .elementor-heading-title,
.azm .elementor-button,
.azm input,
.azm select,
.azm textarea,
.azm button {
	font-family: var(--azm-font);
}
.azm { color: var(--azm-ink); }
.azm .e-con > .elementor-widget,
.azm .e-con-inner > .elementor-widget { margin-block-end: 0; }
.azm .elementor-widget-text-editor p { margin: 0; }
.azm .elementor-widget-text-editor p + p { margin-top: 0.9em; }
.azm a { transition: color .15s ease, background-color .15s ease, border-color .15s ease; }


/* ---------- Bố cục cột (chạy với mọi phiên bản Elementor) ----------
   Mỗi cột có class azm-fx + azm-b<độ rộng tối thiểu>. Cột tự xuống hàng khi màn hình hẹp. */
.azm .e-con.azm-row,
.azm .e-con.azm-row > .e-con-inner { --flex-direction: row; --flex-wrap: wrap; flex-direction: row; flex-wrap: wrap; }
.azm .e-con.azm-fx {
	--width: auto;
	width: auto !important;
	max-width: 100% !important;
	min-width: 0;
	flex-grow: var(--azm-grow, 1) !important;
	flex-shrink: 1 !important;
	flex-basis: var(--azm-basis, 0) !important;
}
.azm .azm-b200 { --azm-basis: 200px; }
.azm .azm-b220 { --azm-basis: 220px; }
.azm .azm-b240 { --azm-basis: 240px; }
.azm .azm-b250 { --azm-basis: 250px; }
.azm .azm-b260 { --azm-basis: 260px; }
.azm .azm-b280 { --azm-basis: 280px; }
.azm .azm-b300 { --azm-basis: 300px; }
.azm .azm-b320 { --azm-basis: 320px; }
.azm .azm-b340 { --azm-basis: 340px; }
.azm .azm-b380 { --azm-basis: 380px; }
.azm .azm-b420 { --azm-basis: 420px; }
.azm .azm-b460 { --azm-basis: 460px; }
.azm .azm-b480 { --azm-basis: 480px; }
.azm .azm-b520 { --azm-basis: 520px; }
.azm .azm-b600 { --azm-basis: 600px; }
.azm .azm-b640 { --azm-basis: 640px; }
.azm .azm-g0 { --azm-grow: 0; }
.azm .azm-g14 { --azm-grow: 1.4; }
.azm .azm-g999 { --azm-grow: 999; }
/* Khối con không đặt độ rộng trong một hàng ngang: chỉ rộng bằng nội dung
   (ví dụ cụm "Gọi ngay + Nhận báo giá" trên header, tiêu đề + link ở phần Dự án) */
.azm .e-con.azm-row > .e-con:not(.azm-fx),
.azm .e-con.azm-row > .e-con-inner > .e-con:not(.azm-fx),
.azm.azm-header .e-con.azm-row {
	--width: auto;
	width: auto !important;
	max-width: 100%;
	flex: 0 1 auto !important;
}
.azm.azm-header .e-con.azm-row { flex-wrap: nowrap; --flex-wrap: nowrap; }
.azm.azm-header .e-con.azm-row .elementor-button { white-space: nowrap; }
@media (max-width: 1180px) {
	.azm .azm-nav ul { gap: 4px 18px; }
}
@media (max-width: 1024px) {
	.azm.azm-header .azm-phone { display: none; }
}
/* Widget trong hàng ngang không bị kéo giãn hết chiều rộng */
.azm .e-con.azm-row > .elementor-widget,
.azm .e-con.azm-row > .e-con-inner > .elementor-widget { width: auto; max-width: 100%; }
@media (max-width: 767px) {
	.azm .e-con.azm-fx { flex-basis: 100% !important; }
	.azm .e-con.azm-step.azm-fx,
	.azm .e-con.azm-b200,
	.azm .e-con.azm-b220 { flex-basis: calc(50% - 16px) !important; }
}

/* Khối tiêu đề section: giới hạn bề ngang để link "Xem tất cả" nằm bên phải */
.azm .e-con.azm-head { max-width: 720px; }

/* ---------- Chữ ---------- */
body .azm-eyebrow .elementor-heading-title {
	font-size: 13px; font-weight: 700; letter-spacing: 3px; line-height: 1.4;
	text-transform: uppercase; color: var(--azm-green);
}
body .azm-eyebrow--light .elementor-heading-title { color: var(--azm-yellow); }
body .azm-eyebrow--muted .elementor-heading-title { color: var(--azm-muted); }

body .azm-h1 .elementor-heading-title {
	font-size: 56px; line-height: 1.08; font-weight: 800; color: var(--azm-on-dark);
}
body .azm-h1--page .elementor-heading-title { font-size: 48px; line-height: 1.1; }
body .azm-h2 .elementor-heading-title {
	font-size: 40px; line-height: 1.15; font-weight: 700; color: var(--azm-ink);
}
body .azm-h2--sm .elementor-heading-title { font-size: 32px; line-height: 1.2; }
body .azm-h2--light .elementor-heading-title { color: var(--azm-on-dark); }
body .azm-h3 .elementor-heading-title {
	font-size: 22px; line-height: 1.3; font-weight: 700; color: var(--azm-ink);
}
body .azm-h3--sm .elementor-heading-title { font-size: 18px; }
body .azm-h3--light .elementor-heading-title { color: var(--azm-on-dark); }
body .azm-kicker .elementor-heading-title {
	font-size: 13px; font-weight: 700; letter-spacing: 2px; color: var(--azm-green); text-transform: uppercase;
}

.azm .azm-text,
.azm .azm-text .elementor-widget-container { color: var(--azm-muted); font-size: 18px; line-height: 1.6; }
.azm .azm-text--sm,
.azm .azm-text--sm .elementor-widget-container { font-size: 15px; line-height: 1.6; }
.azm .azm-text--light,
.azm .azm-text--light .elementor-widget-container { color: var(--azm-on-dark-muted); }
.azm .azm-text--ink,
.azm .azm-text--ink .elementor-widget-container { color: var(--azm-ink); }
.azm .azm-text strong { color: inherit; }

/* Số liệu trong hero (hỗ trợ cả markup cũ có .elementor-widget-container và markup tối ưu mới) */
.azm .azm-stats { padding-top: 24px; border-top: 1px solid rgba(184, 203, 190, .25); }
.azm .azm-stats,
.azm .azm-stats > .elementor-widget-container { display: flex; flex-wrap: wrap; gap: 32px; }
.azm .azm-stats > .elementor-widget-container { width: 100%; }
.azm .azm-stats p { margin: 0 !important; font-size: 14px; color: var(--azm-on-dark-muted); line-height: 1.4; }
.azm .azm-stats strong { display: block; font-size: 30px; font-weight: 800; color: var(--azm-yellow); line-height: 1.2; }

/* ---------- Nút ---------- */
body .azm-btn .elementor-button {
	font-family: var(--azm-font); font-size: 16px; font-weight: 700; line-height: 1.2;
	padding: 16px 28px; border-radius: 999px; border: 1.5px solid transparent;
	min-height: 48px; box-shadow: none;
}
body .azm-btn .elementor-button-content-wrapper { gap: 10px; align-items: center; }
body .azm-btn .elementor-button-icon { order: 2; margin: 0; }
body .azm-btn .elementor-button-icon svg { width: 16px; height: 16px; fill: currentColor; }

body .azm-btn--primary .elementor-button { background: var(--azm-yellow); color: var(--azm-ink); }
body .azm-btn--primary .elementor-button:hover,
body .azm-btn--primary .elementor-button:focus { background: #E5B00F; color: var(--azm-ink); }

body .azm-btn--green .elementor-button { background: var(--azm-green); color: #FFFFFF; }
body .azm-btn--green .elementor-button:hover,
body .azm-btn--green .elementor-button:focus { background: var(--azm-dark); color: #FFFFFF; }

body .azm-btn--ghost .elementor-button { background: transparent; color: var(--azm-on-dark); border-color: var(--azm-on-dark-muted); }
body .azm-btn--ghost .elementor-button:hover,
body .azm-btn--ghost .elementor-button:focus { border-color: var(--azm-on-dark); color: #FFFFFF; background: rgba(255,255,255,.06); }

body .azm-btn--outline .elementor-button { background: transparent; color: var(--azm-green); border-color: var(--azm-green); }
body .azm-btn--outline .elementor-button:hover,
body .azm-btn--outline .elementor-button:focus { background: var(--azm-green); color: #FFFFFF; }

body .azm-btn--sm .elementor-button { font-size: 15px; padding: 13px 22px; min-height: 44px; }
body .azm-btn--block .elementor-button { width: 100%; justify-content: center; }

/* Nút dạng liên kết chữ */
body .azm-link .elementor-button {
	background: transparent; color: var(--azm-green); padding: 10px 0; border: 0; border-radius: 0;
	font-size: 15px; font-weight: 700; min-height: 44px;
}
body .azm-link .elementor-button:hover,
body .azm-link .elementor-button:focus { color: var(--azm-dark); background: transparent; text-decoration: underline; }
body .azm-link--light .elementor-button { color: var(--azm-on-dark); }

/* ---------- Ảnh ---------- */
.azm .azm-img img {
	width: 100%; max-width: 100%; object-fit: cover; display: block; border-radius: 24px;
}
.azm .azm-img--r16 img { border-radius: 16px; }
.azm .azm-img--flat img { border-radius: 0; }
.azm .azm-img--h520 img { height: 520px; }
.azm .azm-img--h420 img { height: 420px; }
.azm .azm-img--h260 img { height: 260px; }
.azm .azm-img--h240 img { height: 240px; }
.azm .azm-img--h220 img { height: 220px; }
.azm .azm-img--h200 img { height: 200px; }
.azm .azm-img--h160 img { height: 160px; }
.azm .azm-logo img { width: 64px; height: 64px; object-fit: contain; border-radius: 0; }
.azm .azm-logo--lg img { width: 88px; height: 88px; }
.azm .azm-clients img { width: 100%; max-width: 1000px; height: auto; object-fit: contain; border-radius: 0; margin: 0 auto; }

/* ---------- Thẻ ---------- */
.azm .azm-card {
	background: var(--azm-card); border: 1px solid var(--azm-line); border-radius: 20px; overflow: hidden;
}
.azm .azm-card--pad { padding: 28px; }
.azm .azm-card--dark { background: var(--azm-dark); border-color: var(--azm-dark); }
.azm .azm-card--white { background: #FFFFFF; }
.azm a.azm-card { text-decoration: none; color: inherit; transition: transform .15s ease, box-shadow .15s ease; }
.azm a.azm-card:hover,
.azm a.azm-card:focus-visible { transform: translateY(-3px); box-shadow: 0 14px 32px rgba(15, 61, 39, .12); }
.azm a.azm-card:focus-visible { outline: 3px solid var(--azm-yellow); outline-offset: 3px; }
.azm .azm-card-body { padding: 24px; }
.azm .azm-more .elementor-widget-container,
.azm .azm-more p {
	font-size: 15px; font-weight: 700; color: var(--azm-green); margin: 0;
}

/* Ô icon (thẻ "Vì sao chọn", trang Liên hệ): ép màu để không bị màu chung của Elementor đè */
.azm .azm-icon-box .elementor-icon-wrapper { line-height: 0; text-align: left; }
.azm .azm-icon-box .elementor-icon {
	width: 56px; height: 56px; border-radius: 14px; padding: 0; font-size: 24px;
	display: inline-flex !important; align-items: center; justify-content: center;
	background: var(--azm-cream) !important; border: 1px solid var(--azm-line) !important;
	color: var(--azm-green) !important; fill: var(--azm-green) !important;
}
.azm .azm-icon-box .elementor-icon i { color: var(--azm-green) !important; }
.azm .azm-icon-box .elementor-icon svg { width: 24px !important; height: 24px !important; }
.azm .azm-icon-box .elementor-icon svg,
.azm .azm-icon-box .elementor-icon svg * { fill: var(--azm-green) !important; }
.azm .azm-card--dark .azm-icon-box .elementor-icon,
.azm .azm-card--dark2 .azm-icon-box .elementor-icon { background: rgba(244, 193, 30, .14) !important; border-color: transparent !important; }

/* Danh sách tick */
.azm .azm-checks .elementor-icon-list-items { display: flex; flex-direction: column; gap: 12px; }
.azm .azm-checks .elementor-icon-list-item { padding: 0; margin: 0; align-items: center; }
.azm .azm-checks .elementor-icon-list-icon { color: var(--azm-green); padding-right: 10px; }
.azm .azm-checks .elementor-icon-list-icon i { color: var(--azm-green) !important; font-size: 20px; }
.azm .azm-checks .elementor-icon-list-icon svg { fill: var(--azm-green) !important; width: 20px; height: 20px; }
.azm .azm-checks .elementor-icon-list-text { color: var(--azm-ink); font-size: 16px; }
.azm .azm-checks--light .elementor-icon-list-icon i { color: var(--azm-yellow) !important; }
.azm .azm-checks--light .elementor-icon-list-icon svg { fill: var(--azm-yellow) !important; }
.azm .azm-checks--light .elementor-icon-list-text { color: var(--azm-on-dark); }
.azm .azm-checks--sm .elementor-icon-list-text { font-size: 15px; }

/* Bước quy trình */
.azm .azm-step { border-top: 2px solid var(--azm-yellow); padding-top: 20px; }
body .azm-step-num .elementor-heading-title { font-size: 32px; font-weight: 800; color: var(--azm-yellow); line-height: 1.1; }

/* Thẻ nổi trên ảnh hero */
.azm .azm-float {
	position: absolute; left: 24px; bottom: 24px; background: var(--azm-card); border-radius: 16px;
	padding: 16px 20px; box-shadow: 0 12px 32px rgba(11, 46, 29, .25); max-width: 320px;
}
.azm .azm-float p { margin: 0; }
.azm .azm-float .azm-float-k { font-size: 12px; font-weight: 700; letter-spacing: 2px; color: var(--azm-green); }
.azm .azm-float .azm-float-t { font-size: 16px; font-weight: 700; color: var(--azm-ink); margin-top: 4px; }
.azm .azm-float .azm-float-s { font-size: 14px; color: var(--azm-muted); margin-top: 2px; }
.azm .azm-rel { position: relative; }

/* Chip */
.azm .azm-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.azm .azm-chips span {
	font-size: 14px; font-weight: 600; color: var(--azm-on-dark);
	border: 1px solid rgba(184, 203, 190, .4); border-radius: 999px; padding: 8px 14px;
}
.azm .azm-tag {
	display: inline-block; background: var(--azm-yellow); color: var(--azm-ink); font-size: 12px; font-weight: 700;
	letter-spacing: 1px; border-radius: 999px; padding: 6px 12px;
}
body .azm-price .elementor-heading-title { font-size: 28px; font-weight: 800; color: var(--azm-green); }
body .azm-price--light .elementor-heading-title { color: var(--azm-yellow); }

/* ---------- Header / topbar / menu ---------- */
.azm .azm-topbar,
.azm .azm-topbar .elementor-widget-container { font-size: 13px; color: var(--azm-on-dark-muted); }
.azm .azm-topbar p { margin: 0; }
.azm .azm-topbar a { color: var(--azm-yellow); font-weight: 700; text-decoration: none; }
.azm .azm-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 24px; }
.azm .azm-nav a {
	display: inline-block; padding: 12px 4px; color: var(--azm-ink); text-decoration: none; font-size: 15px; font-weight: 500;
}
.azm .azm-nav a:hover,
.azm .azm-nav a:focus,
.azm .azm-nav a[aria-current="page"] { color: var(--azm-green); font-weight: 700; }
.azm .azm-phone a {
	display: inline-flex; align-items: center; gap: 8px; color: var(--azm-green); text-decoration: none;
	font-weight: 700; font-size: 15px; padding: 12px 8px; min-height: 44px;
}
.azm .azm-phone svg { width: 18px; height: 18px; }
.azm .azm-breadcrumb { font-size: 14px; color: var(--azm-on-dark-muted); }
.azm .azm-breadcrumb a { color: var(--azm-on-dark-muted); }
.azm .azm-breadcrumb span { color: var(--azm-on-dark); }


/* ---------- Menu thả xuống (Dịch vụ, Dự án) ---------- */
.azm.azm-header { position: relative; z-index: 60; }
.azm .azm-nav li { position: relative; }
.azm .azm-nav .azm-sub { display: none !important; }
@media (min-width: 1025px) {
	.azm .azm-has-sub > a::after {
		content: ""; display: inline-block; width: 6px; height: 6px; margin-left: 8px; vertical-align: 3px;
		border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg);
	}
	.azm .azm-nav .azm-sub {
		position: absolute; left: -16px; top: calc(100% + 4px); min-width: 280px; padding: 10px 0; margin: 0; list-style: none;
		background: var(--azm-card); border: 1px solid var(--azm-line); border-radius: 16px;
		box-shadow: 0 16px 40px rgba(11, 46, 29, .16); flex-direction: column; gap: 0; z-index: 70;
	}
	.azm .azm-nav .azm-has-sub.is-open > .azm-sub { display: flex !important; }
	/* Cầu nối vô hình để chuột đi từ chữ xuống menu con không bị đóng giữa chừng */
	.azm .azm-has-sub > .azm-sub::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
	.azm .azm-sub a { display: block; padding: 10px 20px; font-weight: 500; white-space: nowrap; }
	.azm .azm-sub a:hover,
	.azm .azm-sub a:focus { background: var(--azm-cream); }
}

/* ---------- Khối mới của các trang con ---------- */
.azm .azm-card--accent { border-top: 4px solid var(--azm-yellow); }
.azm .azm-card--dark2 { background: #16492F; border-color: #16492F; }
body .azm-kicker--light .elementor-heading-title { color: var(--azm-on-dark-muted); }
body .azm-bignum .elementor-heading-title { font-size: 40px; font-weight: 800; line-height: 1.1; color: var(--azm-green); }
body .azm-bignum--light .elementor-heading-title { color: var(--azm-yellow); font-size: 48px; }
.azm .azm-stat { border-left: 4px solid var(--azm-yellow); padding-left: 18px; }
.azm .azm-stat--dark { border-left: 0; border-top: 2px solid rgba(244, 193, 30, .55); padding: 20px 0 0; }
.azm .azm-block { border-top: 1px solid var(--azm-line); padding-top: 20px; }
.azm .azm-tag--ghost { visibility: hidden; }
.azm .azm-phone--lg a { font-size: 22px; font-weight: 800; }
.azm a.azm-float { text-decoration: none; display: block; }
.azm a.azm-float:hover .azm-float-t { color: var(--azm-green); }

.azm .azm-links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.azm .azm-links li { border-top: 1px solid var(--azm-line); }
.azm .azm-links li:first-child { border-top: 0; }
.azm .azm-links a { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; color: var(--azm-ink); text-decoration: none; font-size: 15px; font-weight: 600; }
.azm .azm-links a::after { content: "→"; color: var(--azm-green); }
.azm .azm-links a:hover,
.azm .azm-links a:focus { color: var(--azm-green); }

.azm .azm-info { display: grid; grid-template-columns: auto 1fr; gap: 10px 16px; margin: 0; font-size: 15px; }
.azm .azm-info dt { color: var(--azm-muted); }
.azm .azm-info dd { margin: 0; color: var(--azm-ink); font-weight: 600; }

.azm .azm-table-wrap { overflow-x: auto; border: 1px solid var(--azm-line); border-radius: 16px; background: var(--azm-card); }
.azm .azm-table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 15px; margin: 0; }
.azm .azm-table th,
.azm .azm-table td { padding: 14px 18px; text-align: left; border: 0; border-top: 1px solid var(--azm-line); color: var(--azm-ink); }
.azm .azm-table thead th { background: var(--azm-dark); color: var(--azm-on-dark); border-top: 0; font-weight: 700; }
.azm .azm-table tbody th { color: var(--azm-green); font-weight: 700; }
.azm .azm-table tbody tr:nth-child(even) { background: #F1EBDB; }

.azm .azm-regions { display: flex; flex-wrap: wrap; gap: 32px; }
.azm .azm-regions > div { flex: 1 1 220px; }
.azm .azm-region-t { margin: 0 0 12px; font-size: 13px; font-weight: 700; letter-spacing: 3px; color: var(--azm-green); border-bottom: 2px solid var(--azm-yellow); padding-bottom: 10px; }
.azm .azm-regions ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.azm .azm-regions li { display: flex; flex-direction: column; gap: 2px; font-size: 16px; color: var(--azm-ink); }
.azm .azm-regions li span { font-size: 14px; color: var(--azm-muted); }

.azm .azm-contact .elementor-icon { width: 48px !important; height: 48px !important; border-radius: 12px; font-size: 20px; }
.azm .azm-contact a { color: var(--azm-ink); font-weight: 700; text-decoration: none; }
.azm .azm-contact a:hover,
.azm .azm-contact a:focus { color: var(--azm-green); }

/* Cột dính khi cuộn (cột trái phần báo giá, cột form ở trang dịch vụ) */
.azm .e-con.azm-sticky { align-self: flex-start; }
@media (min-width: 1025px) {
	.azm .e-con.azm-sticky,
	.azm.azm-quote > .e-con-inner > .e-con:first-child,
	.azm.azm-quote > .e-con:first-child { position: sticky; top: 24px; align-self: flex-start; }
}

/* ---------- Thẻ gói giá ---------- */
.azm .azm-pkg { gap: 12px; }
.azm .azm-tag--soft { background: var(--azm-cream); color: var(--azm-green); border: 1px solid var(--azm-line); }
.azm .azm-pkg .elementor-widget-button { margin-top: auto; }
.azm .azm-from strong { color: var(--azm-green); font-weight: 800; }
.azm .azm-note-line,
.azm .azm-note-line .elementor-widget-container { font-style: italic; }

/* ---------- Danh sách món (mở/đóng theo nhóm) ---------- */
.azm .azm-menu-list { display: flex; flex-direction: column; gap: 12px; width: 100%; }
.azm .azm-menu-list details { background: var(--azm-card); border: 1px solid var(--azm-line); border-radius: 16px; padding: 18px 22px; }
.azm .azm-menu-list summary {
	cursor: pointer; list-style: none; display: flex; align-items: center; gap: 12px;
	font-size: 17px; font-weight: 700; color: var(--azm-ink); min-height: 28px;
}
.azm .azm-menu-list summary::-webkit-details-marker { display: none; }
.azm .azm-menu-list summary small { font-size: 13px; font-weight: 600; color: var(--azm-muted); background: var(--azm-cream); border-radius: 999px; padding: 3px 10px; }
.azm .azm-menu-list summary::after {
	content: "+"; margin-left: auto; flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--azm-cream);
	color: var(--azm-green); font-size: 20px; line-height: 32px; text-align: center; font-weight: 600;
}
.azm .azm-menu-list details[open] summary::after { content: "–"; background: var(--azm-dark); color: var(--azm-yellow); }
.azm .azm-menu-list summary:focus-visible { outline: 3px solid var(--azm-yellow); outline-offset: 4px; border-radius: 4px; }
.azm .azm-menu-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px 32px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--azm-line); }
.azm .azm-menu-sub { margin: 0 0 10px; font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--azm-green); }
.azm .azm-menu-cols ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.azm .azm-menu-cols li { position: relative; padding-left: 18px; font-size: 15px; line-height: 1.5; color: var(--azm-ink); }
.azm .azm-menu-cols li::before { content: ""; position: absolute; left: 0; top: 9px; width: 7px; height: 7px; border-radius: 50%; background: var(--azm-yellow); }

/* ---------- Thanh chuyển nhanh (trang Thực đơn) ---------- */
.azm .azm-jump { display: flex; flex-wrap: wrap; gap: 10px; }
.azm .azm-jump a {
	display: inline-flex; align-items: center; min-height: 44px; padding: 8px 18px; border-radius: 999px;
	border: 1.5px solid var(--azm-line); background: var(--azm-card); color: var(--azm-ink); text-decoration: none; font-size: 15px; font-weight: 600;
}
.azm .azm-jump a:hover,
.azm .azm-jump a:focus { border-color: var(--azm-green); color: var(--azm-green); }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media (max-width: 767px) {
	body .azm-bignum .elementor-heading-title { font-size: 32px; }
	body .azm-bignum--light .elementor-heading-title { font-size: 36px; }
	.azm .e-con.azm-b180 { flex-basis: calc(33% - 16px) !important; }
}
.azm .azm-b180 { --azm-basis: 180px; }

/* ---------- Footer ---------- */
.azm .azm-foot-col p { margin: 0 0 6px; }
.azm .azm-foot-title { font-weight: 700; color: var(--azm-yellow); font-size: 13px; letter-spacing: 2px; }
.azm .azm-foot-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.azm .azm-foot-col a { color: var(--azm-on-dark); text-decoration: none; font-size: 15px; }
.azm .azm-foot-col a:hover,
.azm .azm-foot-col a:focus { color: var(--azm-yellow); }
.azm .azm-foot-col .azm-foot-addr { color: var(--azm-on-dark-muted); font-size: 15px; line-height: 1.55; margin: 0; }
.azm .azm-foot-col .azm-foot-addr b { color: var(--azm-on-dark); }
.azm .azm-copy,
.azm .azm-copy .elementor-widget-container { color: var(--azm-on-dark-muted); font-size: 13px; }
.azm .azm-copy p { margin: 0; width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; }

/* ---------- FAQ ---------- */
.azm .azm-faq { display: flex; flex-direction: column; gap: 12px; width: 100%; }
.azm .azm-faq details { background: var(--azm-card); border: 1px solid var(--azm-line); border-radius: 16px; padding: 20px 24px; }
.azm .azm-faq summary {
	cursor: pointer; font-size: 17px; font-weight: 700; color: var(--azm-ink); list-style: none;
	display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 28px;
}
.azm .azm-faq summary::-webkit-details-marker { display: none; }
.azm .azm-faq summary::after {
	content: "+"; flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--azm-cream);
	color: var(--azm-green); font-size: 20px; line-height: 32px; text-align: center; font-weight: 600;
}
.azm .azm-faq details[open] summary::after { content: "–"; background: var(--azm-dark); color: var(--azm-yellow); }
.azm .azm-faq summary:focus-visible { outline: 3px solid var(--azm-yellow); outline-offset: 4px; border-radius: 4px; }
.azm .azm-faq details p { margin: 12px 0 0; font-size: 15px; line-height: 1.6; color: var(--azm-muted); }

/* ---------- Form báo giá (shortcode [azm_quote_form]) ---------- */
.azm-form {
	font-family: var(--azm-font); background: var(--azm-cream); border-radius: 24px; padding: 36px;
	display: flex; flex-direction: column; gap: 22px; color: var(--azm-ink); box-sizing: border-box;
}
.azm-form--compact { background: #FFFFFF; border: 1px solid var(--azm-line); border-radius: 20px; padding: 28px; gap: 16px; }
.azm-form *,
.azm-form *::before,
.azm-form *::after { box-sizing: border-box; }
.azm-form h2 { margin: 0; font-size: 22px; font-weight: 700; color: var(--azm-ink); line-height: 1.3; }
.azm-form .azm-form-intro { margin: 0; font-size: 14px; color: var(--azm-muted); line-height: 1.55; }
.azm-form .azm-row { display: flex; flex-wrap: wrap; gap: 16px; }
.azm-form .azm-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
/* Chỉ ô nằm trong hàng ngang mới chia cột; ô xếp dọc (form ngắn, ô ghi chú) giữ chiều cao tự nhiên */
.azm-form .azm-row > .azm-field { flex: 1 1 240px; }
.azm-form > .azm-field,
.azm-form > fieldset,
.azm-form > .azm-row { flex: 0 0 auto; }
.azm-form label,
.azm-form legend { font-size: 14px; font-weight: 600; color: var(--azm-ink); padding: 0; }
.azm-form .azm-req { color: #B42318; }
.azm-form input[type="text"],
.azm-form input[type="tel"],
.azm-form input[type="email"],
.azm-form input[type="number"],
.azm-form input[type="date"],
.azm-form select,
.azm-form textarea {
	width: 100%; min-height: 48px; border: 1px solid var(--azm-input); border-radius: 12px; padding: 10px 14px;
	font-size: 15px; font-family: var(--azm-font); background: #FFFFFF; color: var(--azm-ink); box-shadow: none;
}
.azm-form textarea { min-height: 96px; resize: vertical; }
.azm-form input:focus,
.azm-form select:focus,
.azm-form textarea:focus { outline: 3px solid rgba(244, 193, 30, .6); outline-offset: 1px; border-color: var(--azm-green); }
.azm-form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.azm-form legend { margin-bottom: 12px; }
.azm-form .azm-types { display: flex; flex-wrap: wrap; gap: 10px; }
.azm-form .azm-type { position: relative; }
.azm-form .azm-type input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.azm-form .azm-type span {
	display: inline-flex; align-items: center; min-height: 44px; padding: 10px 18px; border-radius: 999px;
	font-size: 15px; font-weight: 600; background: #FFFFFF; color: var(--azm-ink); border: 1.5px solid var(--azm-input); cursor: pointer;
}
.azm-form .azm-type input:checked + span { background: var(--azm-dark); color: var(--azm-on-dark); border-color: var(--azm-dark); }
.azm-form .azm-type input:focus-visible + span { outline: 3px solid var(--azm-yellow); outline-offset: 2px; }
.azm-form .azm-submit {
	min-height: 56px; border: 0; border-radius: 999px; background: var(--azm-green); color: #FFFFFF;
	font-size: 16px; font-weight: 700; font-family: var(--azm-font); cursor: pointer; padding: 0 24px; width: 100%;
}
.azm-form .azm-submit:hover,
.azm-form .azm-submit:focus { background: var(--azm-dark); }
.azm-form .azm-note { margin: 0; font-size: 13px; color: var(--azm-muted); }
.azm-form .azm-goi { margin: 0; padding: 12px 16px; border-radius: 12px; background: #E6F2EA; color: #14532D; font-size: 15px; }
.azm-form .azm-goi strong { font-weight: 700; }
.azm-form .azm-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.azm-form .azm-call { display: flex; justify-content: center; gap: 8px; align-items: center; font-weight: 700; color: var(--azm-green); text-decoration: none; padding: 10px; }
.azm-alert { font-family: var(--azm-font); border-radius: 16px; padding: 20px 24px; font-size: 16px; line-height: 1.55; }
.azm-alert--ok { background: #E6F2EA; color: #14532D; border: 1px solid #A7D3B5; }
.azm-alert--err { background: #FDECEA; color: #8A1C12; border: 1px solid #F3B8B0; }

/* ---------- Thanh liên hệ cố định trên mobile ---------- */
.azm-mbar { display: none; }
@media (max-width: 767px) {
	.azm-mbar {
		display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px;
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 999; padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
		background: var(--azm-card); border-top: 1px solid var(--azm-line); box-shadow: 0 -6px 20px rgba(11, 46, 29, .12);
		font-family: var(--azm-font);
	}
	.azm-mbar a {
		display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 48px; border-radius: 12px;
		border: 1.5px solid var(--azm-green); color: var(--azm-green); text-decoration: none; font-weight: 700; font-size: 14px;
	}
	.azm-mbar a.azm-mbar-cta { background: var(--azm-yellow); border-color: var(--azm-yellow); color: var(--azm-ink); }
	.azm-mbar svg { width: 18px; height: 18px; }
	body:has(.azm-mbar) { padding-bottom: 76px; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	body .azm-h1 .elementor-heading-title { font-size: 44px; }
	body .azm-h2 .elementor-heading-title { font-size: 34px; }
	.azm .azm-img--h520 img { height: 420px; }
}
@media (max-width: 767px) {
	body .azm-h1 .elementor-heading-title,
	body .azm-h1--page .elementor-heading-title { font-size: 32px; line-height: 1.15; }
	body .azm-h2 .elementor-heading-title { font-size: 26px; line-height: 1.2; }
	body .azm-h2--sm .elementor-heading-title { font-size: 24px; }
	.azm .azm-text,
	.azm .azm-text .elementor-widget-container { font-size: 16px; }
	.azm .azm-img--h520 img,
	.azm .azm-img--h420 img { height: 240px; }
	.azm .azm-img--h260 img,
	.azm .azm-img--h240 img { height: 200px; }
	.azm .azm-img--h220 img { height: 160px; }
	.azm .azm-stats,
	.azm .azm-stats > .elementor-widget-container { gap: 20px; }
	.azm .azm-stats strong { font-size: 22px; }
	.azm .azm-nav ul { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; gap: 16px; }
	.azm .azm-nav a { white-space: nowrap; }
	.azm .azm-float { position: static; margin-top: 12px; max-width: none; }
	.azm-form { padding: 22px; border-radius: 20px; }
	.azm .azm-hide-mobile { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.azm a.azm-card,
	.azm a { transition: none; }
	.azm a.azm-card:hover { transform: none; }
}
