/**
 * HST — WordPress / Kadence / Elementor overrides
 * Loaded last in <head> (see inc/hst-assets.php). Tailwind built with @import "tailwindcss" important.
 */

/* Isolate Manus HTML from Kadence global.min.css element rules */
body.hst-manus-page .elementor-widget-html .elementor-widget-container,
body.hst-manus-page .elementor-widget-html .elementor-widget-container * {
	box-sizing: border-box;
}

body.hst-manus-page .elementor-widget-html .elementor-widget-container :where(h1, h2, h3, h4, h5, h6, p, a, ul, ol, li, span, div) {
	letter-spacing: inherit;
	text-transform: none;
}

body.hst-manus-page .elementor-widget-html .elementor-widget-container a:where(:not(.btn-gold)) {
	text-decoration: inherit;
}

html,
body {
	overflow-x: clip;
	max-width: 100vw;
}

/* Sticky nav: avoid overflow:hidden on ancestors breaking position:sticky */
body,
body > div,
#page,
.site,
.site-content,
.elementor,
.elementor-section-wrap {
	overflow: visible !important;
}

/* Optional: hide Kadence header/footer on Manus/Elementor pages (body.hst-manus-page) */
body.hst-manus-page #masthead,
body.hst-manus-page .site-footer-wrap,
body.hst-manus-page #colophon {
	display: none !important;
}

body.hst-manus-page {
	padding-top: 0 !important;
}

/* Container — match Manus source (1280px) */
.hst-manus-page .container,
body.hst-manus-page .container {
	width: 100%;
	max-width: 1280px !important;
	margin-left: auto;
	margin-right: auto;
}

/* Typography fallbacks when Google Fonts load late */
body.hst-manus-page {
	font-family: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	color: oklch(0.18 0.06 255);
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

body.hst-manus-page h1,
body.hst-manus-page h2,
body.hst-manus-page h3,
body.hst-manus-page .font-serif,
/* Manus 源码里的 font-['Playfair_Display'] — WP/Elementor 可能改引号，用包含匹配更稳 */
body.hst-manus-page [class*="Playfair_Display"] {
	font-family: "Playfair Display", Georgia, serif !important;
}

body.hst-manus-page [class*="DM_Sans"] {
	font-family: "DM Sans", system-ui, sans-serif !important;
}

/* 与 Tailwind 编译产物对齐（多词字体名必须加引号） */
.font-\[\'Playfair_Display\'\],
.font-\[\\\'Playfair_Display\\\'\] {
	font-family: "Playfair Display", Georgia, serif !important;
}

.font-\[\'DM_Sans\'\],
.font-\[\\\'DM_Sans\\\'\] {
	font-family: "DM Sans", system-ui, sans-serif !important;
}

/* Elementor resets that fight Tailwind */
.elementor-widget-html .elementor-widget-container {
	padding: 0 !important;
	margin: 0 !important;
}

.elementor-widget-html section,
.elementor-widget-html nav,
.elementor-widget-html footer {
	width: 100%;
}

/* Desktop nav dropdown — hover when submenu is in DOM */
nav .hst-has-dropdown:hover > .hst-dropdown-panel,
nav .relative.group:hover > .absolute {
	display: block !important;
}

/* Mobile nav panel */
.hst-mobile-panel {
	display: none;
}

.hst-mobile-panel.is-open {
	display: block;
}

/* Scroll reveal (JS adds .hst-visible) */
.hst-manus-page .animate-fade-in-up,
.hst-manus-page .animate-on-scroll {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.hst-manus-page .animate-fade-in-up.hst-visible,
.hst-manus-page .animate-on-scroll.hst-visible {
	opacity: 1;
	transform: none;
}

/* WhatsApp tooltip */
.hst-wa-tooltip {
	display: none;
}

.hst-wa-tooltip.is-open {
	display: block;
}

/* details/summary FAQ chevron */
details summary::-webkit-details-marker {
	display: none;
}

details[open] .hst-faq-chevron {
	transform: rotate(90deg);
}
