/**
 * Site header (custom, overrides Flatsome header). Loaded on every page.
 * Mirrors the Figma design: logo + "Đơn vị triển khai" partner logos, a WP menu,
 * and a gradient "Đăng ký ngay" button (desktop). Mobile stacks into two rows.
 */

/* Smooth in-page scrolling for the header's anchor links (#gioi-thieu, …). */
html {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

.site-header {
	--sh-primary: #0a0e49;
	box-sizing: border-box;
	width: 100%;
	padding: 16px clamp(16px, 8.33vw, 120px);
	background: #fff;
	border-bottom: 1px solid #8391f7;
	font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.site-header *,
.site-header *::before,
.site-header *::after {
	box-sizing: border-box;
}

.site-header__inner {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: clamp(24px, 5vw, 102px);
}

/* Brand: main logo + partner logos */
.site-header__brand {
	display: flex;
	align-items: center;
	gap: 44px;
	flex-shrink: 0;
}

.site-header__logo {
	display: block;
	line-height: 0;
}

.site-header__logo img {
	display: block;
	height: 64px;
	width: auto;
}

.site-header__partners {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
}

.site-header__partners-label {
	font-size: 10px;
	font-weight: 500;
	line-height: 1.12;
	color: #222;
	text-align: center;
}

.site-header__partners-img {
	display: block;
	height: 46px;
	width: auto;
}

/* Menu (from Appearance → Menus) */
.site-header__nav {
	flex: 1 1 0;
	min-width: 0;
}

.site-header__menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.site-header__menu li {
	margin: 0;
}

.site-header__menu a {
	font-weight: 700;
	font-size: 16px;
	line-height: 1.12;
	color: var(--sh-primary);
	text-decoration: none;
	white-space: nowrap;
	transition: opacity 0.2s ease;
}

.site-header__menu a:hover,
.site-header__menu .current-menu-item > a {
	opacity: 0.7;
}

/* CTA button */
.site-header__cta {
	flex-shrink: 0;
}

.site-header__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 186px;
	height: 50px;
	padding: 0 24px;
	border-radius: 28px;
	background-image: linear-gradient(to right, #0e0475, #4b3dc7);
	color: #fff;
	font-weight: 800;
	font-size: 20px;
	line-height: 1.12;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.site-header__btn:hover {
	color: #fff;
	opacity: 0.92;
	transform: translateY(-1px);
}

/* ── Mobile: two stacked rows, no CTA (per design) ──────────────────────── */
@media (max-width: 900px) {
	.site-header {
		padding: 8px 24px 12px;
	}
	.site-header__inner {
		flex-direction: column;
		align-items: stretch;
		gap: 20px;
	}
	.site-header__brand {
		justify-content: space-between;
		gap: 16px;
	}
	.site-header__logo img {
		height: 40px;
	}
	.site-header__partners-label {
		font-size: 8px;
	}
	.site-header__partners-img {
		height: 24px;
	}
	.site-header__nav {
		flex: none;
	}
	.site-header__menu a {
		font-size: 12px;
	}
	.site-header__cta {
		display: none;
	}
}

/* ═══════════════════════════════════════════════════════════════════════════
   Site footer (custom, overrides Flatsome footer). Content via ACF options.
   ═══════════════════════════════════════════════════════════════════════════ */
.site-footer {
	position: relative;
	overflow: hidden;
	padding: 60px clamp(16px, 7.6vw, 110px) 40px;
	background-color: #2a1769;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center right;
	color: #e3e3fc;
	font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.site-footer * {
	box-sizing: border-box;
}

.site-footer__inner {
	position: relative;
	z-index: 1;
	max-width: 1220px;
	margin: 0 auto;
	display: flex;
	align-items: flex-start;
	gap: clamp(40px, 8vw, 140px);
}

/* Brand */
.site-footer__brand {
	display: flex;
	align-items: flex-start;
	gap: 26px;
	flex-shrink: 0;
}

.site-footer__logo {
	display: block;
	line-height: 0;
}

.site-footer__logo img {
	display: block;
	height: 53px;
	width: auto;
}

.site-footer__partners {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 13px;
}

.site-footer__partners-label {
	font-size: 10px;
	font-weight: 500;
	line-height: 1.12;
	color: #fff;
	text-align: center;
}

.site-footer__partners-img {
	display: block;
	height: 42px;
	width: auto;
}

/* Content: about + contact */
.site-footer__content {
	display: flex;
	flex: 1 1 auto;
	min-width: 0;
	gap: 48px;
}

.site-footer__about {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.site-footer__title {
	margin: 0;
	font-weight: 700;
	font-size: 16px;
	line-height: 24px;
	color: #f2f1fe;
}

.site-footer__desc {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: #e3e3fc;
}

.site-footer__desc p {
	margin: 0;
}

.site-footer__desc a {
	color: #e3e3fc;
	text-decoration: underline;
}

.site-footer__contact {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.site-footer__social {
	display: flex;
	gap: 16px;
}

.site-footer__social a {
	display: block;
	line-height: 0;
	transition: opacity 0.2s ease;
}

.site-footer__social a:hover {
	opacity: 0.8;
}

.site-footer__social img {
	display: block;
	width: 24px;
	height: 24px;
}

.site-footer__lines {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.site-footer__line {
	display: flex;
	align-items: center;
	gap: 4px;
	color: #e3e3fc;
	font-size: 16px;
	line-height: 1.5;
	text-decoration: none;
}

.site-footer__line:hover {
	color: #fff;
}

.site-footer__line img {
	flex-shrink: 0;
	width: 24px;
	height: 24px;
}

.site-footer__divider {
	position: relative;
	z-index: 1;
	max-width: 1220px;
	margin: 40px auto 0;
	height: 1px;
	background: rgba(255, 255, 255, 0.2);
}

@media (max-width: 900px) {
	.site-footer {
		padding: 40px 24px;
	}
	.site-footer__inner {
		flex-direction: column;
		gap: 24px;
	}
	.site-footer__brand {
		justify-content: space-between;
		width: 100%;
		gap: 16px;
	}
	.site-footer__logo img {
		height: 45px;
	}
	.site-footer__content {
		flex-direction: column;
		gap: 24px;
	}
	/* Divider is dropped on mobile (redundant per design); the background
	   image still shows via .site-footer's background. */
	.site-footer__divider {
		display: none;
	}
}

