Files
AsterionWP2026/wp-content/themes/asterion-bricks/assets/css/utilities.css
j.foucher fba223004f chore: phase 1 reset — minimalist child theme + content-source extraction
Resets the child theme to its Bricks-first minimalist form (per RESTART-PLAN.md
phases 1a-1d) and extracts the textual copy into a runtime-independent
/content-source/ directory.

Child theme files removed
- header.php, footer.php, page.php, index.php, front-page.php
- template-parts/{solution,industry,conversion-form}.php
- templates/page-*.php (10 Custom Page Templates)
- inc/render-blocks.php, render-blocks-native.php, render-bricks.php
- inc/shortcodes.php, i18n.php, form-handler.php, seo.php
- assets/css/components.css, assets/js/main.js

Reasoning: Bricks Templates (Header / Footer / Single — Page) and Bricks-edited
pages now drive every screen. Anything emitted from the child theme would
fight Bricks' own rendering and waste CSS specificity battles.

Child theme now contains only
- style.css, functions.php (simplified to ~60 lines), theme.json
- inc/cpt.php (case_study + scenario + industry taxonomy)
- assets/css/tokens.css (untouched — design system source of truth)
- assets/css/utilities.css (trimmed to skip-link + sr-only + focus-visible
  + reduced motion — everything else handled by Bricks)
- assets/fonts/Inter-Variable*.woff2 (RGPD self-hosted)
- README.md spelling out the Bricks-first contract

Content moved to /content-source/
- solutions-data.php, industries-data.php, technology-data.php,
  editorial-data.php, forms-data.php — git mv preserves history
- README.md explaining their dual role: copy reference while building
  in Bricks, and source for programmatic page generation when we
  replicate an archetype across its variants.

Root README.md updated with the new repo layout + a pointer to
RESTART-PLAN.md and the archive/session-2-php-templates branch.

Memory file project_asterion_status.md updated for next-session resume.

What's preserved as before
- /BRIEF-Claude-Code.md, both PDFs, all .txt extracts
- /MISSING-ASSETS.md
- /ThirdParty/ (Bricks + WPML ZIPs, gitignored)
- LocalWP site at localhost:10004, Bricks v2.3.4 + WPML 4.9.3 active
- WPML EN/FR with directory URL strategy
- All Git history, both main and archive/session-2-php-templates branches

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-09 14:36:19 +02:00

64 lines
1.8 KiB
CSS

/**
* Asterion Bricks — Utilities (minimalist)
*
* Loaded after tokens.css. Holds the small set of helper classes Bricks
* Builder cannot easily provide on its own (skip link, screen-reader-only
* text, focus ring). Everything else — section padding, container widths,
* button design, card styles — is set inside Bricks via tokens.
*/
/* === A11y skip link — first focusable element on every page === */
.av-skip-link {
position: absolute;
top: -40px;
left: 0;
padding: var(--space-3) var(--space-4);
background: var(--color-brand-navy);
color: var(--color-text-on-dark);
font-size: var(--text-body-sm);
font-weight: var(--font-weight-semibold);
text-decoration: none;
z-index: var(--z-toast);
border-bottom-right-radius: var(--radius-md);
}
.av-skip-link:focus,
.av-skip-link:focus-visible {
top: 0;
}
/* === Visually hidden — readable by screen readers, hidden visually === */
.av-sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0 0 0 0);
white-space: nowrap;
border: 0;
}
/* === Focus visible — keyboard accessibility on every focusable element === */
:focus { outline: none; }
:focus-visible {
outline: var(--focus-ring-width, 2px) solid var(--focus-ring-color, var(--color-info));
outline-offset: var(--focus-ring-offset, 2px);
}
/* === Touch target minimum (WCAG AA / Apple HIG) === */
.av-tap-target {
min-width: var(--tap-target-min, 44px);
min-height: var(--tap-target-min, 44px);
}
/* === Reduced motion — respect user preference === */
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
scroll-behavior: auto !important;
}
}