/*
Theme Name: Airy
Theme URI: https://airy.build
Description: AI-first starter theme (motyw-rodzic). Runtime Airy: SEO/meta z manifestu airy.json motywu potomnego, llms.txt, preload fontów, infrastruktura wysp Interactivity API, warianty mobile patternów. Strony generuje kompilator Airy do motywu potomnego.
Version: 0.1.0
Requires at least: 6.7
Requires PHP: 8.1
Text Domain: airy
*/

/* Baseline runtime: border-box globalnie — strony źródłowe klonów zakładają ten model
   (test kryterium 3: content-box przesuwał wrapy o szerokość gutterów). */
*, *::before, *::after { box-sizing: border-box; }

/* Baseline runtime: zero gapu na styku części szablonu (header/main/footer) — w Airy sekcje
   i części niosą WŁASNE odstępy (padding wg manifestów); domyślny root block-gap 24px core'a
   przesuwał całą treść klonu (test kryterium 3: stały offset +24px na heatmapie). */
.wp-site-blocks > * + * { margin-block-start: 0; }

/* Runtime CSS rodzica: przełącznik wariantów mobile patternów (BACKLOG #19).
   Klasy nakłada kompilator; próg per pattern przez klasę .airy-bp--tNNN. */
.airy-bp-mobile { display: none; }

/* Baseline runtime: monospace stack as a single source of truth. Patterns that render
   technical material (eyebrows, figures, code) use var(--airy-mono) instead of repeating
   a font stack — the design tokens carry at most two families (SPEC §3.4), and the
   monospace face is a system stack, so it costs no request. */
:root { --airy-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace; }

/* Baseline runtime: visible keyboard focus everywhere (WCAG 2.4.7). Core leaves this to the
   UA ring, which disappears against dark surfaces. */
:where(a, button, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--wp--preset--color--link, var(--wp--preset--color--accent, currentColor));
  outline-offset: 3px;
  border-radius: 2px;
}

/* Baseline runtime: typographic details that no pattern should have to repeat. */
:where(h1, h2, h3) { text-wrap: balance; }
:where(p, li, dd) { text-wrap: pretty; }
::selection { background: var(--wp--preset--color--link, var(--wp--preset--color--accent, Highlight)); color: var(--wp--preset--color--accent-ink, HighlightText); }
