/*
 * STAND-IN FOR WORDPRESS — delete in phase 2.
 * Mimics the CSS WordPress generates from theme.json (preset variables, layout
 * rules, utility classes) so the prototype markup behaves like core block output.
 * Keep values in sync with ../../theme.json.
 */

@font-face { font-family: "Urbanist"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("../fonts/urbanist-variable.woff2") format("woff2"); }
@font-face { font-family: "Jost"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("../fonts/jost-variable.woff2") format("woff2"); }

:root {
	--wp--preset--color--base: #FFFBF5;
	--wp--preset--color--contrast: #231A14;
	--wp--preset--color--surface: #F6EEE3;
	--wp--preset--color--surface-strong: #EBE0D2;
	--wp--preset--color--white: #FFFFFF;
	--wp--preset--color--muted: #4A3F37;
	--wp--preset--color--subtle: #74675D;
	--wp--preset--color--faint: #90867A;
	--wp--preset--color--line: #EFE6DA;
	--wp--preset--color--accent-1: #C2410C;
	--wp--preset--color--accent-2: #0F766E;
	--wp--preset--color--accent-3: #8A6A00;
	--wp--preset--color--accent-4: #BE185D;
	--wp--preset--color--accent-3-soft: #FFE066;
	--wp--preset--color--accent-2-soft: #8EE3C8;
	--wp--preset--color--accent-1-soft: #FDBA8C;
	--wp--preset--color--accent-4-soft: #FFB0C8;

	--wp--preset--gradient--accent-1: linear-gradient(160deg, color-mix(in srgb, var(--wp--preset--color--accent-1-soft) 60%, #fff) 0%, var(--wp--preset--color--accent-1-soft) 100%);
	--wp--preset--gradient--accent-2: linear-gradient(160deg, color-mix(in srgb, var(--wp--preset--color--accent-2-soft) 45%, #fff) 0%, color-mix(in srgb, var(--wp--preset--color--accent-2-soft) 70%, #fff) 100%);
	--wp--preset--gradient--accent-3: linear-gradient(160deg, color-mix(in srgb, var(--wp--preset--color--accent-3-soft) 45%, #fff) 0%, var(--wp--preset--color--accent-3-soft) 100%);
	--wp--preset--gradient--accent-4: linear-gradient(160deg, color-mix(in srgb, var(--wp--preset--color--accent-4-soft) 45%, #fff) 0%, var(--wp--preset--color--accent-4-soft) 100%);

	--wp--preset--font-family--heading: Urbanist, system-ui, sans-serif;
	--wp--preset--font-family--body: Jost, system-ui, -apple-system, "Segoe UI", sans-serif;

	--wp--preset--font-size--small: 1.125rem;
	--wp--preset--font-size--medium: 1.125rem;
	--wp--preset--font-size--large: 1.25rem;
	--wp--preset--font-size--x-large: 1.5rem;
	--wp--preset--font-size--xx-large: clamp(1.875rem, 3.5vw, 2.625rem);
	--wp--preset--font-size--xxx-large: clamp(2.25rem, 4.5vw, 3.375rem);
	--wp--preset--font-size--huge: clamp(2.5rem, 5.5vw, 4rem);

	--wp--preset--spacing--10: 8px;
	--wp--preset--spacing--20: 12px;
	--wp--preset--spacing--30: 20px;
	--wp--preset--spacing--40: 28px;
	--wp--preset--spacing--50: 44px;
	--wp--preset--spacing--60: 72px;
	--wp--preset--spacing--70: 96px;
	--wp--preset--spacing--80: 120px;

	--wp--custom--status--done: #2F5A00;
	--wp--custom--status--done-bg: #E3F5CC;
	--wp--custom--status--wait: #7A4A00;
	--wp--custom--status--wait-bg: #FDEBCB;
	--wp--custom--status--info: #1E3F99;
	--wp--custom--status--info-bg: #E1EAFD;

	--wp--custom--radius--panel: 24px;
	--wp--custom--radius--card: 18px;
	--wp--custom--radius--ui: 12px;
	--wp--custom--radius--pill: 999px;

	--wp--style--global--content-size: 1000px;
	--wp--style--global--wide-size: 1040px;
	--wp--style--root--padding-left: 20px;
	--wp--style--root--padding-right: 20px;
	--wp--style--block-gap: 20px;
}

body {
	margin: 0;
	background-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.45;
}
h1, h2, h3, h4 { font-family: var(--wp--preset--font-family--heading); font-weight: 500; line-height: 1.2; }
h1 { font-size: var(--wp--preset--font-size--huge); }
h2 { font-size: var(--wp--preset--font-size--xxx-large); }
h3 { font-size: var(--wp--preset--font-size--xx-large); }
a { color: var(--wp--preset--color--contrast); }
img { max-width: 100%; height: auto; }

/* Root block spacing (class-wp-theme-json) */
:where(.wp-site-blocks) > * { margin-block-start: var(--wp--style--block-gap); margin-block-end: 0; }
:where(.wp-site-blocks) > :first-child { margin-block-start: 0; }
:where(.wp-site-blocks) > :last-child { margin-block-end: 0; }

/* Root padding (useRootPaddingAwareAlignments) */
.has-global-padding { padding-right: var(--wp--style--root--padding-right); padding-left: var(--wp--style--root--padding-left); }
.has-global-padding > .alignfull { margin-right: calc(var(--wp--style--root--padding-right) * -1); margin-left: calc(var(--wp--style--root--padding-left) * -1); }

/* Layouts */
:root :where(.is-layout-flow, .is-layout-constrained) > * { margin-block-start: var(--wp--style--block-gap); margin-block-end: 0; }
:root :where(.is-layout-flow, .is-layout-constrained) > :first-child { margin-block-start: 0; }
.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: var(--wp--style--global--content-size); margin-left: auto !important; margin-right: auto !important; }
.is-layout-constrained > .alignwide { max-width: var(--wp--style--global--wide-size); }
.is-layout-flex { display: flex; flex-wrap: wrap; align-items: center; gap: var(--wp--style--block-gap); }
.is-layout-flex > * { margin: 0; }
.is-vertical { flex-direction: column; align-items: flex-start; }
.is-nowrap { flex-wrap: nowrap; }
.is-content-justification-center { justify-content: center; }
.is-content-justification-space-between { justify-content: space-between; }
.is-layout-grid { display: grid; gap: var(--wp--style--block-gap); }
.is-layout-grid > * { margin: 0; }

/* core/columns — stacks below 782px like WordPress */
.wp-block-columns { display: flex; flex-wrap: wrap !important; align-items: normal; box-sizing: border-box; gap: var(--wp--style--block-gap); }
.wp-block-columns > .wp-block-column { flex-basis: 100% !important; flex-grow: 1; min-width: 0; word-break: break-word; overflow-wrap: break-word; }
.wp-block-columns { align-items: normal !important; }
.wp-block-column.is-vertically-aligned-center { align-self: center; }
@media (min-width: 782px) {
	.wp-block-columns { flex-wrap: nowrap !important; }
	.wp-block-columns > .wp-block-column:not([style*="flex-basis"]) { flex-basis: 0 !important; }
	.wp-block-columns > .wp-block-column[style*="flex-basis"] { flex-grow: 0; }
}

/* core/group, core/columns use border-box in block-library */
.wp-block-group, .wp-block-columns, .wp-block-column { box-sizing: border-box; }

/* core/buttons (gap comes from theme.json styles.blocks) */
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.wp-block-button__link { display: inline-block; text-decoration: none; cursor: pointer; box-sizing: border-box; }
.wp-element-button { font-family: inherit; font-size: inherit; font-weight: 500; color: var(--wp--preset--color--contrast); background: transparent; border: 0; }

/* core/image, core/list */
.wp-block-image { margin: 0; }
.wp-block-image img { display: block; }
ol, ul { box-sizing: border-box; }

/* Utility classes WordPress generates from presets */
.has-text-align-center { text-align: center; }
.has-small-font-size { font-size: var(--wp--preset--font-size--small) !important; }
.has-medium-font-size { font-size: var(--wp--preset--font-size--medium) !important; }
.has-large-font-size { font-size: var(--wp--preset--font-size--large) !important; }
.has-x-large-font-size { font-size: var(--wp--preset--font-size--x-large) !important; }
.has-xx-large-font-size { font-size: var(--wp--preset--font-size--xx-large) !important; }
.has-xxx-large-font-size { font-size: var(--wp--preset--font-size--xxx-large) !important; }
.has-huge-font-size { font-size: var(--wp--preset--font-size--huge) !important; }
.has-surface-background-color { background-color: var(--wp--preset--color--surface) !important; }
.has-accent-2-soft-background-color { background-color: var(--wp--preset--color--accent-2-soft) !important; }
.has-accent-1-soft-background-color { background-color: var(--wp--preset--color--accent-1-soft) !important; }
.has-accent-3-soft-background-color { background-color: var(--wp--preset--color--accent-3-soft) !important; }
.has-white-background-color { background-color: var(--wp--preset--color--white) !important; }
.has-muted-color { color: var(--wp--preset--color--muted) !important; }
.has-subtle-color { color: var(--wp--preset--color--subtle) !important; }
.has-faint-color { color: var(--wp--preset--color--faint) !important; }
.has-accent-1-color { color: var(--wp--preset--color--accent-1) !important; }
.has-accent-2-color { color: var(--wp--preset--color--accent-2) !important; }
.has-accent-3-color { color: var(--wp--preset--color--accent-3) !important; }
.has-accent-4-color { color: var(--wp--preset--color--accent-4) !important; }
.has-accent-1-gradient-background { background: var(--wp--preset--gradient--accent-1) !important; }
.has-accent-2-gradient-background { background: var(--wp--preset--gradient--accent-2) !important; }
.has-accent-3-gradient-background { background: var(--wp--preset--gradient--accent-3) !important; }
.has-accent-4-gradient-background { background: var(--wp--preset--gradient--accent-4) !important; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

/* ---------- core/navigation stand-in (WordPress ships this CSS + JS itself — delete in phase 2) ----------
   Submenus open on hover / focus / toggle; below 600px the menu becomes a full-screen overlay. */
.wp-block-navigation { position: relative; }
.wp-block-navigation__container { list-style: none; margin: 0; padding: 0; }
.wp-block-navigation .has-child { position: relative; display: flex; align-items: center; gap: 2px; }
.wp-block-navigation__submenu-icon { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; padding: 0; border: 0; background: none; color: inherit; cursor: pointer; }
.wp-block-navigation__submenu-icon svg { stroke: currentColor; }
.wp-block-navigation__submenu-container {
	position: absolute; top: 100%; left: -12px; z-index: 30; min-width: 200px; margin: 0; padding: 8px 0; list-style: none;
	visibility: hidden; opacity: 0; transition: opacity .15s ease;
}
.wp-block-navigation .has-child:hover > .wp-block-navigation__submenu-container,
.wp-block-navigation .has-child:focus-within > .wp-block-navigation__submenu-container,
.wp-block-navigation .has-child > [aria-expanded="true"] ~ .wp-block-navigation__submenu-container { visibility: visible; opacity: 1; }
.wp-block-navigation .has-child.is-dismissed > .wp-block-navigation__submenu-container { visibility: hidden; opacity: 0; }
.wp-block-navigation__submenu-container .wp-block-navigation-item__content { display: block; padding: 8px 16px; }
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close {
	display: none; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; background: none; color: inherit; cursor: pointer;
}
.wp-block-navigation__responsive-container-open svg, .wp-block-navigation__responsive-container-close svg { fill: currentColor; }
@media (max-width: 599px) {
	.wp-block-navigation__responsive-container-open { display: inline-flex; }
	.wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
	.wp-block-navigation__responsive-container.is-menu-open {
		position: fixed; inset: 0; z-index: 100000; overflow-y: auto; padding: 16px 24px 40px;
		background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast);
	}
	.is-menu-open .wp-block-navigation__responsive-container-close { display: inline-flex; margin-left: auto; }
	.is-menu-open .wp-block-navigation__responsive-dialog { display: flex; flex-direction: column; }
	.is-menu-open .wp-block-navigation__container { flex-direction: column; align-items: flex-start; gap: 18px !important; font-size: 1.375rem; }
	.is-menu-open .has-child { flex-wrap: wrap; }
	.is-menu-open .wp-block-navigation__submenu-icon { display: none; }
	.is-menu-open .wp-block-navigation__submenu-container { position: static; visibility: visible; opacity: 1; width: 100%; padding: 6px 0 0 14px; font-size: 1.0625rem; background: none; box-shadow: none; }
	.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 6px 0; }
	html.has-modal-open { overflow: hidden; }
}

/* core/table */
.wp-block-table { overflow-x: auto; margin: 0; }
.wp-block-table table { border-collapse: collapse; width: 100%; }
