/* Hallmark · component: shared editorial foundation · theme: child-owned tokens
 * No homepage macrostructure, brand palette or font selected here.
 * V2 shared interaction/reading extensions: assets/ux.css, assets/ux.js.
 * V2 browser QA recorded separately; this stamp is not a blanket audit pass.
 */
/*
Theme Name: Atelier Core
Description: Native lightweight parent for six independent editorial/commercial sites.
Version: 1.1.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: atelier-core
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: clip; }
html { scroll-padding-block-start: var(--space-5, 2rem); }
body { margin: 0; background: var(--color-paper); color: var(--color-ink); font-family: var(--font-body); font-size: var(--text-base, 1rem); line-height: 1.6; }
img, video, svg { max-width: 100%; height: auto; }
iframe { max-width: 100%; }
a { color: var(--color-accent); text-underline-offset: .18em; }
a:hover { text-decoration-thickness: .12em; }
:where(a, button, input, textarea, select, summary):focus-visible { outline: 3px solid var(--color-focus); outline-offset: 3px; }
:where(h1, h2, h3, h4, h5, h6) { min-width: 0; overflow-wrap: anywhere; font-family: var(--font-display); font-style: normal; line-height: 1.16; letter-spacing: -.02em; }
:where(h1, h2, h3, h4, h5, h6) em { font-style: normal; }
h1 { font-size: var(--text-2xl, 2.45rem); }
h2 { font-size: var(--text-xl, 1.95rem); }
h3 { font-size: var(--text-lg, 1.56rem); }
button, input, textarea, select { font: inherit; }
input, textarea, select { min-width: 0; max-width: 100%; color: var(--color-ink); background: var(--color-paper); border: 1px solid var(--color-rule); padding: var(--space-2, .5rem) var(--space-3, .75rem); }
button, .button { cursor: pointer; }
.wrap { width: min(100% - var(--space-5, 2rem), 72rem); margin-inline: auto; min-width: 0; }
.section { padding-block: var(--space-6, 4rem); }
.prose { max-width: 68ch; overflow-wrap: anywhere; }
.prose :where(p, ul, ol, blockquote, figure, table, pre) { margin-block: 0 var(--space-4, 1.5rem); }
.prose :where(h2, h3, h4) { margin-block: var(--space-6, 3rem) var(--space-3, .75rem); }
.prose li + li { margin-block-start: var(--space-1, .25rem); }
.prose blockquote { margin-inline: 0; padding: var(--space-4, 1.5rem); background: var(--color-paper-2); }
.prose table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.prose :where(th, td) { border-block-end: 1px solid var(--color-rule); text-align: start; padding: var(--space-2, .5rem); overflow-wrap: anywhere; }
.prose pre { overflow: auto; max-width: 100%; padding: var(--space-3, .75rem); background: var(--color-paper-2); }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: var(--space-2, .5rem) var(--space-4, 1.5rem); border: 1px solid var(--color-accent); background: var(--color-paper); color: var(--color-accent); text-decoration: none; white-space: nowrap; border-radius: var(--radius-button, 0); }
.button:hover { background: var(--color-paper-2); text-decoration: underline; }
.button:active { transform: translateY(1px); }
.button:disabled, .button[aria-disabled="true"] { cursor: not-allowed; color: var(--color-muted); border-color: var(--color-rule); text-decoration: none; transform: none; }
.button[aria-busy="true"] { cursor: progress; }
.text-link { display: inline-block; white-space: nowrap; }
.site-header { padding-block: var(--space-4, 1.5rem); border-block-end: 1px solid var(--color-rule); }
.site-header-inner { display: grid; gap: var(--space-2, .5rem); }
.site-brand, .footer-brand { font-family: var(--font-display); font-size: var(--text-lg, 1.56rem); color: var(--color-ink); text-decoration: none; font-weight: 700; }
.site-tagline { margin: 0; color: var(--color-muted); font-size: var(--text-sm, .9rem); }
.site-nav ul, .footer-nav ul { list-style: none; display: flex; flex-wrap: wrap; gap: var(--space-2, .5rem) var(--space-4, 1.5rem); margin: 0; padding: 0; }
.site-nav a, .footer-nav a { display: inline-flex; min-height: 44px; align-items: center; white-space: nowrap; color: var(--color-ink); }
.site-nav .current-menu-item > a { text-decoration-thickness: .15em; }
.site-footer { margin-block-start: var(--space-6, 4rem); padding-block: var(--space-5, 2rem); border-block-start: 1px solid var(--color-rule); }
.site-footer-inner { display: grid; gap: var(--space-2, .5rem); }
.footer-brand, .footer-note { margin: 0; }
.footer-note { max-width: 60ch; color: var(--color-muted); font-size: var(--text-sm, .9rem); }
.breadcrumbs { margin-block-end: var(--space-5, 2rem); color: var(--color-muted); font-size: var(--text-sm, .9rem); }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: var(--space-1, .25rem) var(--space-2, .5rem); list-style: none; margin: 0; padding: 0; }
.breadcrumbs li { min-width: 0; }
.breadcrumbs li + li::before { content: "/"; margin-inline-end: var(--space-2, .5rem); }
.breadcrumbs a { display: inline-block; white-space: nowrap; }
.breadcrumbs [aria-current] { overflow-wrap: anywhere; }
.entry { max-width: 68ch; }
.entry-header { margin-block-end: var(--space-5, 2rem); }
.entry-header h1 { margin-block: 0 var(--space-3, .75rem); }
.entry-meta { color: var(--color-muted); font-size: var(--text-sm, .9rem); font-variant-numeric: tabular-nums; }
.entry-image { margin: 0 0 var(--space-5, 2rem); }
.entry-image img { display: block; }
.archive-header { margin-block-end: var(--space-5, 2rem); }
.article-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-5, 2rem); }
.article-item { min-width: 0; padding-block-end: var(--space-4, 1.5rem); border-block-end: 1px solid var(--color-rule); }
.article-title { margin-block: var(--space-2, .5rem) var(--space-3, .75rem); }
.article-title a { color: var(--color-ink); overflow-wrap: anywhere; white-space: normal; }
.article-category { margin: 0; font-size: var(--text-sm, .9rem); color: var(--color-muted); }
.article-excerpt { max-width: 60ch; margin: 0; }
.navigation.pagination { margin-block-start: var(--space-5, 2rem); }
.nav-links { display: flex; flex-wrap: wrap; gap: var(--space-3, .75rem); align-items: center; }
.nav-links a { min-height: 44px; display: inline-flex; align-items: center; white-space: nowrap; }
.search-form { max-width: 44rem; margin-block: var(--space-4, 1.5rem) var(--space-5, 2rem); }
.search-controls { display: flex; flex-wrap: wrap; gap: var(--space-2, .5rem); margin-block-start: var(--space-2, .5rem); }
.search-controls input { flex: 1 1 12rem; }
.skip-link, .screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: clip; clip-path: inset(50%); white-space: nowrap; }
.skip-link:focus { position: fixed; inset-block-start: var(--space-2, .5rem); inset-inline-start: var(--space-2, .5rem); width: auto; height: auto; margin: 0; padding: var(--space-3, .75rem); clip-path: none; background: var(--color-paper); color: var(--color-ink); z-index: var(--z-skip, 200); }
@media (min-width: 48rem) {
  .site-header-inner { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
  .site-tagline { grid-column: 1; }
  .site-nav { grid-column: 2; grid-row: 1 / span 2; }
  .article-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .button:active { transform: none; }
}
