/* Daniel & Sarah — Fall theme: shared tokens and primitives.
   Colors and fonts come from theme.json; these aliases keep the block
   stylesheets identical to the design handoff. */
:root {
	--paper: var(--wp--preset--color--paper, #f5efe6);
	--paper-deep: var(--wp--preset--color--paper-deep, #ece3d5);
	--card: var(--wp--preset--color--card, #fbf8f3);
	--ink: var(--wp--preset--color--ink, #3b3029);
	--ink-soft: var(--wp--preset--color--ink-soft, #6e6157);
	--rust: var(--wp--preset--color--rust, #a5532f);
	--rust-dark: var(--wp--preset--color--rust-dark, #7d3b1f);
	--line: var(--wp--preset--color--line, #dccfbd);
	--line-strong: var(--wp--preset--color--line-strong, #c9b89f);
	--track: var(--wp--preset--color--track, #e6d9c6);
	--live: var(--wp--preset--color--live, #b3261e);
	--shadow: rgba(40, 28, 18, .35);

	--font-display: var(--wp--preset--font-family--display, 'Cormorant Garamond', Georgia, serif);
	--font-script: var(--wp--preset--font-family--script, 'Pinyon Script', cursive);
	--font-body: var(--wp--preset--font-family--body, 'Jost', system-ui, sans-serif);

	--pad: clamp(20px, 5vw, 64px);
	--max: 1200px;
}

*, *::before, *::after { box-sizing: border-box; }
body { -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; height: auto; }

/* Page frame */
/* No background of its own: the page colour comes from <body>, so the falling-leaves canvas
   (z-index 0, behind this) shows through. z-index 1 keeps all content above the leaves. */
.hds-site { position: relative; z-index: 1; max-width: var(--max); margin: 0 auto; }
.hds-site .wp-block-post-content,
.hds-site main { display: block; }

/* Type primitives (shared by several blocks) */
.hds-script { font-family: var(--font-script); color: var(--rust); letter-spacing: 0; text-transform: none; }
.hds-accent { color: var(--rust); }
.hds-label { margin: 0; font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: var(--rust); }
.hds-body { margin: 0; font-size: 16px; line-height: 1.65; color: var(--ink-soft); text-wrap: pretty; }
.hds-section-title { margin: 0; font-family: var(--font-display); font-weight: 400; font-size: clamp(36px, 4.5vw, 48px); line-height: 1.05; color: var(--ink); }
.hds-section-title.is-lg { font-size: clamp(40px, 5vw, 56px); line-height: 1; }

/* Buttons */
.hds-btn-row { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 8px; }
.hds-btn { display: inline-block; font-family: var(--font-body); font-size: 13px; letter-spacing: .16em; text-transform: uppercase; padding: 14px 22px; cursor: pointer; border: 1px solid transparent; background: none; transition: background .2s, color .2s; text-decoration: none; }
.hds-btn-solid { background: var(--rust); color: #fff; }
.hds-btn-solid:hover { background: var(--rust-dark); color: #fff; }
.hds-btn-outline { border-color: var(--ink); color: var(--ink); }
.hds-btn-outline:hover { background: var(--ink); color: #fff; }
.hds-btn-dark { background: var(--ink); color: #fff; padding: 16px 24px; }
.hds-btn-dark:hover { background: #000; color: #fff; }
.hds-link-btn { background: none; border: 0; border-bottom: 1px solid var(--ink); padding: 0 0 2px; font: inherit; font-size: 13px; letter-spacing: .16em; text-transform: uppercase; cursor: pointer; color: var(--ink); }

/* Inner pages (page, post, 404) */
.hds-page { padding: 48px var(--pad) 96px; }
.hds-page-title { font-family: var(--font-display); font-weight: 400; font-size: clamp(36px, 4.5vw, 48px); line-height: 1.05; margin: 0 0 24px; }

:where(.hds-site) a:focus-visible,
:where(.hds-site) button:focus-visible,
:where(.hds-site) input:focus-visible { outline: 2px solid var(--rust); outline-offset: 3px; }
