/**
 * Theme Name:     Astra Child AF (nouveau design)
 * Author:         Brainstorm Force
 * Template:       astra
 * Text Domain:    astra-child
 * Version:        1.18.4
 * Description:    Child theme for affiliation-formation.fr. Carries the design system.
 */

/* ==========================================================================
   1. Fonts (self hosted, variable weight 100 to 900)
   ========================================================================== */

@font-face {
	font-family: 'InterAF';
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url('assets/fonts/inter-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
		U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
		U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'InterAF';
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url('assets/fonts/inter-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
		U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
		U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}


@font-face {
	font-family: 'PoppinsAF';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('assets/fonts/poppins-600.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
		U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
		U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'PoppinsAF';
	font-style: normal;
	font-weight: 800;
	font-display: swap;
	src: url('assets/fonts/poppins-800.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
		U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
		U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ==========================================================================
   2. Design tokens
   ========================================================================== */

:root {
	/* Grounds */
	--af-bg: #fcfcfc;
	--af-surface: #ffffff;
	--af-border: #e8ecf2;
	--af-border-soft: #f0f3f7;

	/* Ink */
	--af-navy: #121d34;
	--af-text: #26374d;
	--af-text-soft: #45556c;
	--af-muted: #67768e;
	--af-on-dark: #c6d1e2;
	--af-on-dark-soft: #8fa0bb;

	/* Rayons, each one a pale ground plus its readable ink */
	--af-violet: #5b4bd6;
	--af-violet-bg: #eae9fe;
	--af-green: #1f7a4d;
	--af-green-bg: #eaf5ee;
	--af-orange: #b4531a;
	--af-orange-bg: #fff0e6;
	--af-blue: #1d6a8f;
	--af-blue-bg: #e7f2f8;
	--af-neutral-bg: #eef1f6;

	/* Accent repris du logo (jaune doré) */
	--af-accent: #f9c300;
	--af-accent-fonce: #e0ae00;

	/* Shape */
	--af-r-sm: 10px;
	--af-r-md: 14px;
	--af-r-lg: 16px;
	--af-r-xl: 22px;
	--af-r-pill: 50px;

	/* Depth */
	--af-shadow-card: 0 18px 44px -28px rgba(30, 41, 59, 0.35);
	--af-shadow-btn: 0 12px 26px -16px rgba(18, 29, 52, 0.9);

	/* Rhythm */
	--af-gap-xs: 8px;
	--af-gap-sm: 12px;
	--af-gap-md: 20px;
	--af-gap-lg: 32px;
	--af-gap-xl: 56px;

	/* Measure */
	--af-max: 1200px;

	/* Familles */
	--af-texte: 'InterAF', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--af-titre: 'PoppinsAF', 'InterAF', system-ui, sans-serif;
}

/* ==========================================================================
   3. Base
   ========================================================================== */

/* Le socle typographique ne s'applique QUE sous .af-preview, posée sur le body
   pour les utilisateurs connectés. Les visiteurs continuent de voir l'ancien
   design tant que la bascule n'est pas décidée. Pour basculer : retirer la
   condition dans functions.php, les sélecteurs ci-dessous n'ont pas à bouger. */

.af-preview {
	font-family: var(--af-texte);
	background-color: var(--af-bg);
	color: var(--af-text);
	-webkit-font-smoothing: antialiased;
}

.af-preview h1,
.af-preview h2,
.af-preview h3,
.af-preview h4,
.af-preview .entry-title,
.af-preview .ast-archive-title {
	font-family: var(--af-titre);
	color: var(--af-navy);
	letter-spacing: -0.022em;
	line-height: 1.18;
}

.af-preview h1 { font-weight: 800; }
.af-preview h2,
.af-preview h3,
.af-preview h4 { font-weight: 700; }

.af-preview .entry-content p,
.af-preview .entry-content li {
	color: var(--af-text-soft);
	line-height: 1.65;
}

.af-preview .entry-content a {
	color: var(--af-navy);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
	text-decoration-color: var(--af-accent);
}

.af-preview .entry-content a:hover,
.af-preview .entry-content a:focus {
	color: var(--af-navy);
	text-decoration-color: var(--af-navy);
}

/* Visible focus everywhere, including for keyboard users */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
	outline: 3px solid var(--af-violet);
	outline-offset: 2px;
	border-radius: 4px;
}

/* Images never overflow their column */
.entry-content img {
	max-width: 100%;
	height: auto;
}

/* Screen reader only, for labels the design hides */
.af-vh {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
	* {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
	}
}
