/*
Theme Name: Poortman
Description: Minimal starting theme for the Poortman website.
Version: 1.0.0
Text Domain: poortman
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

/*
 * Scaffold styles. Every colour comes from tokens/tokens.json via the
 * generated assets/css/tokens.css (WO-70) — no hex value is typed here.
 * Spacing uses the proposed scale tokens, which are open-question proposals
 * (WO-70 open question 2) and may change when the designer answers.
 * The header border uses --pm-color-surface-alt, which the recorded extract
 * documents for "secondary surfaces and subtle frames", until the divider
 * role (open question) is answered — referencing --pm-color-divider here
 * would fail the token build.
 */
* { box-sizing: border-box; }
body { max-width: 72rem; margin: 0 auto; padding: var(--pm-space-8); font: 1.125rem/1.6 system-ui, sans-serif; color: var(--pm-color-ink); background: var(--pm-color-surface); }
a { color: var(--pm-color-accent); }
a:focus-visible { outline: 3px solid currentColor; outline-offset: var(--pm-space-1); }
.site-header { border-bottom: 1px solid var(--pm-color-surface-alt); margin-bottom: var(--pm-space-12); padding-bottom: var(--pm-space-6); }
.site-title { font-size: 1.6rem; font-weight: 700; }
article { margin-bottom: var(--pm-space-12); }
/*
 * WO-93 AC 2 / AC 10 — the overlay page's <article> carries NO bottom
 * margin. The line above is what put 48px of Blush Linen between the
 * contact section and the footer, where the frame has the two meeting at 0
 * (93-contact-spacing.json#measured.footer_join): the contact page renders
 * through index.php's <article>, and the footer adds no top margin of its
 * own (footer.css cancels only the body's bottom padding).
 *
 * SCOPED, NEVER ZEROED GLOBALLY (counter-review objection 3). Eight other
 * pages — home, over-ons, voor-architecten, veelgestelde-vragen and the four
 * product templates — end in a dark pm-cta-band and RELY on this margin;
 * removing the rule itself would silently change all eight, which WO-93 puts
 * out of scope. body.pm-header--overlay is the contact page and only the
 * contact page today (data/site-structure.json holds exactly one
 * `negative-overlay`), and it is Git state, so this survives a database
 * reset and reproduces on UAT.
 *
 * A zero, never a negative margin, and nothing about the footer: the
 * footer's geometry already depends on a negative bottom margin and must not
 * be coupled to one page's spacing.
 */
body.pm-header--overlay article { margin-bottom: 0; }
img { max-width: 100%; height: auto; }
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { position: static; }
