/**
 * Miramar Design System — Phase 3
 * Shared visual foundations for Corporate, Editorial and Transaction pages.
 * Component character remains in the existing family stylesheets.
 */

:root {
	--miramar-font-display: Georgia, "Times New Roman", "Noto Serif", serif;
	--miramar-font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Noto Sans", sans-serif;
	--miramar-font-ui: var(--miramar-font-body);
	--miramar-text-xs: 0.75rem;
	--miramar-text-sm: 0.875rem;
	--miramar-text-base: 1rem;
	--miramar-text-lg: clamp(1.0625rem, 0.25vw + 1rem, 1.1875rem);
	--miramar-text-xl: clamp(1.25rem, 0.5vw + 1.125rem, 1.5rem);
	--miramar-text-2xl: clamp(1.625rem, 1vw + 1.35rem, 2.125rem);
	--miramar-text-3xl: clamp(2rem, 1.8vw + 1.5rem, 3rem);
	--miramar-text-4xl: clamp(2.5rem, 3.25vw + 1.45rem, 4.5rem);
	--miramar-text-5xl: clamp(3rem, 4.8vw + 1.25rem, 6.25rem);
	--miramar-leading-tight: 1.08;
	--miramar-leading-heading: 1.18;
	--miramar-leading-body: 1.72;
	--miramar-tracking-eyebrow: 0.14em;
	--miramar-space-1: 0.5rem;
	--miramar-space-2: 1rem;
	--miramar-space-3: 1.5rem;
	--miramar-space-4: 2rem;
	--miramar-space-6: 3rem;
	--miramar-space-8: 4rem;
	--miramar-space-10: 5rem;
	--miramar-space-12: 6rem;
	--miramar-container-reading: 45rem;
	--miramar-container-content: 73.75rem;
	--miramar-container-wide: 90rem;
	--miramar-page-gutter: clamp(1.25rem, 3vw, 3rem);
	--miramar-section-compact: clamp(3rem, 5vw, 4rem);
	--miramar-section-standard: clamp(4rem, 7vw, 6rem);
	--miramar-section-spacious: clamp(5rem, 9vw, 7.5rem);
	--miramar-radius-sm: 0.25rem;
	--miramar-radius-md: 0.5rem;
	--miramar-radius-lg: 1rem;
	--miramar-shadow-sm: 0 0.5rem 1.5rem rgba(8, 47, 37, 0.08);
	--miramar-shadow-md: 0 1rem 2.5rem rgba(8, 47, 37, 0.12);
	--miramar-focus: #c6a15b;
	--miramar-control-height: 3rem;
}

html[lang="zh-Hant"] {
	--miramar-font-display: "Songti TC", "Noto Serif TC", "PMingLiU", Georgia, serif;
	--miramar-font-body: -apple-system, BlinkMacSystemFont, "PingFang TC", "Microsoft JhengHei", "Noto Sans TC", sans-serif;
}

html[lang="ja"] {
	--miramar-font-display: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", Georgia, serif;
	--miramar-font-body: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, "Noto Sans JP", sans-serif;
}

body.wp-theme-miramar-corporate {
	font-family: var(--miramar-font-body);
	font-size: var(--miramar-text-base);
	line-height: var(--miramar-leading-body);
	-webkit-font-smoothing: antialiased;
}

body.wp-theme-miramar-corporate :where(h1, h2, h3, h4) {
	font-family: var(--miramar-font-display);
	text-wrap: balance;
}

body.wp-theme-miramar-corporate :where(p, li, dd) {
	overflow-wrap: break-word;
}

html[lang="zh-Hant"] body.wp-theme-miramar-corporate :where(h1, h2, h3, h4),
html[lang="ja"] body.wp-theme-miramar-corporate :where(h1, h2, h3, h4) {
	word-break: keep-all;
	line-break: strict;
}

body.wp-theme-miramar-corporate :where(.miramar-eyebrow, .atd-eyebrow, .journey-status) {
	font-family: var(--miramar-font-ui);
	font-size: var(--miramar-text-xs);
	font-weight: 700;
	letter-spacing: var(--miramar-tracking-eyebrow);
	line-height: 1.4;
}

/* Shared container tiers. Existing component widths may be narrower, never wider. */
body.wp-theme-miramar-corporate :where(.miramar-container-reading) {
	width: min(calc(100% - (2 * var(--miramar-page-gutter))), var(--miramar-container-reading));
	margin-inline: auto;
}

body.wp-theme-miramar-corporate :where(.alignwide, .miramar-container-content, .atd-shell) {
	max-width: var(--miramar-container-content);
}

body.wp-theme-miramar-corporate :where(.miramar-container-wide, .miramar-home-hero, .atd-masthead) {
	max-width: var(--miramar-container-wide);
}

/* Shared action foundation. */
body.wp-theme-miramar-corporate :where(
	.wp-block-button__link,
	.atd-button,
	.forminator-button,
	button[type="submit"],
	input[type="submit"]
) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--miramar-control-height);
	max-width: 100%;
	padding-block: 0.75rem;
	padding-inline: clamp(1.25rem, 2vw, 1.75rem);
	font-family: var(--miramar-font-ui);
	font-size: var(--miramar-text-sm);
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
	text-wrap: pretty;
	transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

body.wp-theme-miramar-corporate :where(
	a[href], button, input, select, textarea,
	.wp-block-button__link, .atd-button, .forminator-button
):focus-visible {
	outline: 3px solid var(--miramar-focus);
	outline-offset: 3px;
}

body.wp-theme-miramar-corporate :where(
	.wp-block-button__link,
	.atd-button,
	.forminator-button,
	button[type="submit"]
):active {
	transform: translateY(1px);
}

/* Mobile navigation: preserve the 24px icon while expanding the hit area. */
.site-header :where(
	.wp-block-navigation__responsive-container-open,
	.wp-block-navigation__responsive-container-close
) {
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	margin: -10px;
	padding: 10px;
	border-radius: var(--miramar-radius-sm);
}

.site-header :where(
	.wp-block-navigation__responsive-container-open,
	.wp-block-navigation__responsive-container-close
) svg {
	width: 24px;
	height: 24px;
}

/* Shared form foundation across Forminator and the booking engine. */
body.wp-theme-miramar-corporate :where(
	.forminator-field label,
	.forminator-label,
	.atd-field > label,
	.atd-choice-label
) {
	font-family: var(--miramar-font-ui);
	font-size: var(--miramar-text-sm);
	font-weight: 700;
	line-height: 1.45;
}

body.wp-theme-miramar-corporate :where(
	.forminator-input,
	.forminator-textarea,
	.forminator-select,
	.atd-field input,
	.atd-field select,
	.atd-field textarea
) {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-height: var(--miramar-control-height);
	padding: 0.75rem 1rem;
	font-family: var(--miramar-font-ui);
	font-size: 1rem;
	line-height: 1.45;
}

.miramar-airport-draft .atd-address-toggle {
	box-sizing: border-box;
	max-width: 100%;
}

.miramar-airport-draft .atd-address-simple {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
}

.miramar-airport-draft .atd-form-section,
.miramar-airport-draft .atd-form-section > div {
	box-sizing: border-box;
	min-width: 0;
	width: 100%;
	max-width: 100%;
}

body.wp-theme-miramar-corporate :where(
	.forminator-input,
	.forminator-textarea,
	.forminator-select,
	.atd-field input,
	.atd-field select,
	.atd-field textarea
):focus {
	border-color: #0c2923;
	box-shadow: 0 0 0 3px rgba(198, 161, 91, 0.24);
}

body.wp-theme-miramar-corporate :where(
	.forminator-error-message,
	.atd-field-errors,
	[role="alert"]
) {
	font-size: var(--miramar-text-sm);
	line-height: 1.5;
}

/* Foundational card rhythm; visual skins remain component-owned. */
body.wp-theme-miramar-corporate :where(
	.miramar-corporate-service-card,
	.miramar-directory-course-card,
	.atd-service-card,
	.atd-vehicle-card
) {
	min-width: 0;
}

body.wp-theme-miramar-corporate :where(
	.miramar-corporate-service-card,
	.miramar-directory-course-card,
	.atd-service-card
) :where(h2, h3) {
	margin-block-end: var(--miramar-space-2);
}

body.wp-theme-miramar-corporate :where(
	.miramar-directory-region-visual,
	.atd-vehicle-card__image
) img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Reading rhythm for long-form pages without changing document structure. */
body.wp-theme-miramar-corporate :where(
	.miramar-legal-document,
	.single-post main,
	.miramar-knowledge-article
) :where(p, li) {
	font-size: 1rem;
	line-height: 1.8;
}

body.wp-theme-miramar-corporate :where(
	.miramar-legal-document,
	.single-post main,
	.miramar-knowledge-article
) :where(h2, h3, h4) {
	scroll-margin-top: 7rem;
}

/* Transaction family: harmonise dimensions without touching field logic. */
.miramar-airport-draft {
	--atd-sans: var(--miramar-font-body);
	--atd-serif: var(--miramar-font-display);
}

.miramar-airport-draft :where(.atd-shell, .atd-booking-shell) {
	width: min(calc(100% - (2 * var(--miramar-page-gutter))), var(--miramar-container-content));
	margin-inline: auto;
}

.miramar-airport-draft :where(.atd-service-card, .atd-vehicle-card, .atd-form-section) {
	border-radius: var(--miramar-radius-md);
}

@media (max-width: 1024px) {
	:root {
		--miramar-page-gutter: clamp(1.5rem, 4.5vw, 3rem);
		--miramar-section-standard: clamp(3.5rem, 7vw, 5rem);
	}

	.site-header .wp-block-navigation__responsive-container-open {
		display: inline-flex;
	}

	.miramar-airport-draft :where(.atd-booking-shell, .atd-form-grid) {
		min-width: 0;
	}
}

@media (max-width: 600px) {
	:root {
		--miramar-page-gutter: 1.25rem;
		--miramar-section-compact: 2.5rem;
		--miramar-section-standard: 3.5rem;
		--miramar-section-spacious: 4.5rem;
		--miramar-control-height: 3.25rem;
	}

	body.wp-theme-miramar-corporate {
		font-size: 1rem;
	}

	body.wp-theme-miramar-corporate :where(.wp-block-buttons, .atd-actions) {
		max-width: 100%;
	}

	body.wp-theme-miramar-corporate :where(.wp-block-button, .wp-block-button__link) {
		max-width: 100%;
	}

	.miramar-airport-draft :where(.atd-form-grid, .atd-choice-cards, .atd-vehicle-grid) {
		min-width: 0;
	}

	/* Legacy About hero used an expanded inner width; contain it on small screens. */
	body.wp-theme-miramar-corporate .miramar-about-hero .wp-block-cover__inner-container {
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		margin-inline: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.wp-theme-miramar-corporate :where(
		a, button, input, select, textarea,
		.wp-block-button__link, .atd-button, .forminator-button
	) {
		scroll-behavior: auto;
		transition-duration: 0.01ms;
	}
}
