/**
 * iOS Mobile Safari — page frame, overscroll, safe areas.
 * Pairs with theme-color meta (inc/ios-safari.php).
 */

:root {
	--studio-frame-paper: #faf9f7;
	--studio-frame-ink: #0e1a1f;
	--studio-frame-soon: #0d1012;
	--studio-safe-top: env(safe-area-inset-top, 0px);
	--studio-safe-right: env(safe-area-inset-right, 0px);
	--studio-safe-bottom: env(safe-area-inset-bottom, 0px);
	--studio-safe-left: env(safe-area-inset-left, 0px);
}

/* Rubber-band and letterboxing show html background — not default white. */
html {
	background-color: var(--studio-frame-paper);
	color-scheme: light;
}

body {
	background-color: var(--studio-frame-paper);
	min-height: 100%;
	min-height: -webkit-fill-available;
}

body.studio-frame--dark {
	background-color: var(--studio-frame-ink);
}

body.studio-frame--dark.studio-frame--soon,
body:has(.coming-soon-page) {
	background-color: var(--studio-frame-soon);
}

html:has(body.studio-frame--dark) {
	background-color: var(--studio-frame-ink);
}

html:has(body:has(.coming-soon-page)) {
	background-color: var(--studio-frame-soon);
}

/* Sticky header sits below notch; home hero clears status bar. */
@supports (-webkit-touch-callout: none) {
	.site-header {
		padding-top: max(var(--wp--preset--spacing--30, 1rem), var(--studio-safe-top)) !important;
		padding-left: max(var(--wp--style--root--padding-left, 1.5rem), var(--studio-safe-left));
		padding-right: max(var(--wp--style--root--padding-right, 1.5rem), var(--studio-safe-right));
	}

	.hero-interactive {
		padding-top: var(--studio-safe-top);
		box-sizing: border-box;
		min-height: 100vh;
		min-height: 100svh;
	}

	.coming-soon-page {
		padding-top: max(var(--wp--preset--spacing--60, 4rem), var(--studio-safe-top)) !important;
		padding-bottom: max(var(--wp--preset--spacing--60, 4rem), var(--studio-safe-bottom)) !important;
		padding-left: max(var(--wp--preset--spacing--55, 3rem), var(--studio-safe-left)) !important;
		padding-right: max(var(--wp--preset--spacing--55, 3rem), var(--studio-safe-right)) !important;
	}

	.site-footer {
		padding-bottom: max(var(--wp--preset--spacing--55, 3rem), var(--studio-safe-bottom)) !important;
	}
}

/* Main content on dark-frame pages: paper band still reads correctly. */
body.studio-frame--mixed main {
	background-color: var(--studio-frame-paper);
}
