/* ==========================================================================
   FUGA — nền tảng: biến, reset, chữ, khung, nút
   Quy ước: cỡ chữ px là số nguyên, nhỏ nhất 12px
   ========================================================================== */
:root {
	--fg-font: "Fuga Inter", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
	--fg-black: #000;
	--fg-white: #fff;
	--fg-ink: #1a1a1a;
	--fg-muted: rgba(0, 0, 0, .6);
	--fg-line: rgba(26, 26, 26, .12);
	--fg-gutter: 4.58vw;
	--fg-container-pad: var(--fg-gutter);
	--fg-ease: cubic-bezier(.25, .46, .45, .94);
	/* Đơn vị co giãn: 1px khi màn hình rộng 1440px (bản gốc co giãn khoảng cách theo màn hình) */
	--u: calc(100vw / 1440);
}
@media (max-width: 768px) {
	:root { --fg-gutter: 17px; }
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
	margin: 0;
	font-family: var(--fg-font);
	font-size: 14px;
	line-height: 1.4;
	letter-spacing: .56px;
	font-weight: 400;
	color: var(--fg-black);
	background: #fafbfd;
}
img, svg, video { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; letter-spacing: inherit; color: inherit; background: none; border: 0; padding: 0; margin: 0; cursor: pointer; text-align: inherit; }
input, select, textarea { font: inherit; letter-spacing: inherit; color: inherit; }
ul, ol { margin: 0; padding: 0; list-style: none; }
p, h1, h2, h3, h4, h5, h6, figure, blockquote { margin: 0; }
h1, h2, h3, h4, h5, h6 { font-weight: inherit; font-size: inherit; }
hr { border: 0; margin: 0; }
summary { list-style: none; cursor: pointer; }
summary::-webkit-details-marker { display: none; }
[hidden] { display: none !important; }

.fg-sr {
	position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0;
	overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.fg-skip { position: absolute; left: -9999px; top: 0; z-index: 100; padding: 12px 16px; background: var(--fg-white); color: var(--fg-black); }
.fg-skip:focus { left: 16px; top: 16px; }

/* Khung nội dung: lề 4.58vw (≤768px: 17px) */
.fg-container { padding-inline: var(--fg-container-pad); }

/* Link gạch chân chạy từ trái sang khi rê chuột */
.fg-link-u {
	background: linear-gradient(to right, currentColor, currentColor) 100% 100% / 0 1px no-repeat;
	transition: background-size .3s var(--fg-ease);
}
.fg-link-u:hover, .fg-link-u.is-current, .fg-link-u[aria-expanded="true"] {
	background-position: 0 100%;
	background-size: 100% 1px;
}

/* Nút */
.fg-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 46px; padding: 12px 40px;
	font-size: 14px; line-height: 1.4; font-weight: 500; letter-spacing: .56px;
	border: 1px solid transparent; transition: opacity .2s;
}
.fg-btn:hover { opacity: .85; }
.fg-btn--dark { background: var(--fg-ink); color: var(--fg-white); }
.fg-btn--light { background: var(--fg-white); color: var(--fg-black); }

.fg-input {
	width: 100%; min-height: 46px; padding: 12px 16px;
	font-size: 16px; line-height: 2; color: var(--fg-black);
	background: var(--fg-white); border: 1px solid rgba(0, 0, 0, .15); border-radius: 0;
	-webkit-appearance: none; appearance: none;
}
.fg-input::placeholder { color: rgba(0, 0, 0, .65); }

/* Hiện/ẩn theo màn hình: footer đổi bố cục ở 700px (header: xem header.css, .fg-only-desk / .fg-only-mob) */
@media (max-width: 699px) { .fg-only-gt-sm { display: none !important; } }
@media (min-width: 700px) { .fg-only-sm { display: none !important; } }

/* Trang thường (không dùng Elementor) */
.fg-page { padding-block: 64px; }
.fg-page__title { font-size: 32px; line-height: 1.2; font-weight: 500; margin-bottom: 24px; }
.fg-prose { font-size: 16px; line-height: 1.6; max-width: 800px; }
.fg-prose p + p { margin-top: 1em; }

/* Trang không tìm thấy (404.php) */
.fg-404 { display: flex; flex-direction: column; align-items: center; padding-block: 120px 160px; text-align: center; }
.fg-404__code { font-size: 120px; line-height: 1; font-weight: 700; letter-spacing: normal; }
.fg-404__title { margin-top: 24px; font-size: 40px; line-height: normal; font-weight: 500; letter-spacing: normal; }
.fg-404__text { max-width: 520px; margin-top: 16px; font-size: 16px; line-height: 24px; color: rgba(28, 28, 28, .6); }
.fg-404__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 40px; }
.fg-404__btn { display: inline-flex; align-items: center; justify-content: center; min-width: 220px; min-height: 52px; padding: 0 28px; border: 1px solid #000; background: #000; color: #fff; font-size: 16px; line-height: 24px; font-weight: 600; transition: opacity .2s; }
.fg-404__btn:hover { opacity: .85; }
.fg-404__btn--ghost { background: transparent; color: #000; }
@media (max-width: 768px) {
	.fg-404 { padding-block: 72px 96px; }
	.fg-404__code { font-size: 80px; }
	.fg-404__title { margin-top: 16px; font-size: 28px; }
	.fg-404__actions { flex-direction: column; align-self: stretch; }
	.fg-404__btn { width: 100%; }
}
