/**
 * Landing public — style dùng chung (PLUGIN-STANDARDS §3.5–3.6).
 * Scope: body.lvt-landing-public — không override ngoài landing.
 */

html:has(body.lvt-landing-public) {
	scroll-behavior: smooth;
}

body.lvt-landing-public {
	margin: 0;
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	line-height: 1.6;
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body.lvt-landing-public main {
	overflow-x: hidden;
}

/* Offset anchor khi header fixed */
body.lvt-landing-public [id] {
	scroll-margin-top: 5.25rem;
}

/* Card / form — đồng bộ bo góc landing */
body.lvt-landing-public .card {
	border-radius: 12px;
}

body.lvt-landing-public .form-control,
body.lvt-landing-public .form-select {
	border-radius: 10px;
}

body.lvt-landing-public .btn {
	border-radius: 10px;
	font-weight: 600;
}

/* Fade-in on scroll — class is-visible (hotel) hoặc lvt-reveal--visible (manager) */
body.lvt-landing-public .lvt-reveal {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.55s ease, transform 0.55s ease;
}

body.lvt-landing-public .lvt-reveal.is-visible,
body.lvt-landing-public .lvt-reveal.lvt-reveal--visible {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	body.lvt-landing-public .lvt-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* Fallback: nếu JS không chạy sau 3s, hiện tất cả section */
@keyframes lvt-reveal-fallback {
	to { opacity: 1; transform: none; }
}
body.lvt-landing-public .lvt-reveal {
	animation: lvt-reveal-fallback 0s 3s forwards;
}
body.lvt-landing-public .lvt-reveal.is-visible,
body.lvt-landing-public .lvt-reveal.lvt-reveal--visible {
	animation: none;
}

/* Mobile ≤992px — menu collapse đọc được trên hero tối (§3.5) */
@media (max-width: 991.98px) {
	body.lvt-landing-public .lvt-landing-header .navbar-collapse,
	body.lvt-landing-public .lvt-mp-header .navbar-collapse,
	body.lvt-landing-public .lvt-hotel-header .navbar-collapse,
	body.lvt-landing-public .lvt-ctv-header .navbar-collapse {
		margin-top: 0.75rem;
		padding: 0.75rem 1rem;
		border-radius: 12px;
	}
}
