/* === A. Po. G. RH — base.css ============================================ */
/* Reset léger + variables + typographie de base */

:root {
	/* Palette officielle (kit Elementor existant) */
	--c-text: #353535;
	--c-text-muted: #6b6b6b;
	--c-accent: #AA0082;
	--c-accent-hover: #8a006b;
	--c-violet-fonce: #6E32A0;
	--c-violet-clair: #B478DC;
	--c-rose-clair: #FA96C8;
	--c-rose-fond: #FFF9FE;
	--c-bleu-fonce: #1478A0;
	--c-bleu-clair: #5AC8DC;
	--c-gris-bord: #F0F0F0;
	--c-gris-fond: #FAFAFA;
	--c-white: #FFFFFF;

	/* Typographie */
	--font-body: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	--font-display: 'Poppins', var(--font-body);

	/* Échelle typo */
	--fs-xs: 0.8125rem;   /* 13px */
	--fs-sm: 0.9375rem;   /* 15px */
	--fs-base: 1rem;      /* 16px */
	--fs-lg: 1.125rem;    /* 18px */
	--fs-xl: 1.375rem;    /* 22px */
	--fs-2xl: 1.75rem;    /* 28px */
	--fs-3xl: 2.25rem;    /* 36px */
	--fs-4xl: 2.875rem;   /* 46px */
	--fs-5xl: 3.5rem;     /* 56px */

	/* Espacement (échelle 4) */
	--s-1: 0.25rem;
	--s-2: 0.5rem;
	--s-3: 0.75rem;
	--s-4: 1rem;
	--s-5: 1.5rem;
	--s-6: 2rem;
	--s-7: 3rem;
	--s-8: 4rem;
	--s-9: 6rem;
	--s-10: 8rem;

	/* Layout */
	--container-max: 1320px;
	--container-narrow: 920px;
	--radius-sm: 6px;
	--radius-md: 10px;
	--radius-lg: 18px;
	--radius-pill: 999px;

	/* Élévation */
	--shadow-sm: 0 1px 3px rgba(53, 53, 53, 0.06), 0 1px 2px rgba(53, 53, 53, 0.04);
	--shadow-md: 0 4px 12px rgba(53, 53, 53, 0.08);
	--shadow-lg: 0 12px 32px rgba(53, 53, 53, 0.12);

	/* Transitions */
	--ease: cubic-bezier(0.4, 0, 0.2, 1);
	--t-fast: 150ms var(--ease);
	--t-base: 250ms var(--ease);
}

/* Reset léger */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; overflow-x: hidden; scroll-behavior: smooth; scroll-padding-top: 100px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
	margin: 0;
	font-family: var(--font-body);
	font-size: var(--fs-base);
	line-height: 1.6;
	color: var(--c-text);
	background: var(--c-white);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}
img, svg, video { max-width: 100%; height: auto; display: block; }
button { font: inherit; cursor: pointer; }
a { color: var(--c-accent); text-decoration: none; transition: color var(--t-fast); }
a:hover, a:focus-visible { color: var(--c-accent-hover); }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
	outline: 2px solid var(--c-accent);
	outline-offset: 2px;
}

/* Titres */
h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-display);
	font-weight: 300;
	color: var(--c-text);
	line-height: 1.2;
	margin: 0 0 var(--s-4);
}
h1 { font-size: clamp(2rem, 4vw + 1rem, var(--fs-5xl)); font-weight: 400; }
h2 { font-size: clamp(1.6rem, 2.5vw + 1rem, var(--fs-3xl)); }
h3 { font-size: var(--fs-2xl); }
h4 { font-size: var(--fs-xl); font-weight: 500; }
h5 { font-size: var(--fs-lg); font-weight: 500; }
h6 { font-size: var(--fs-base); font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; }

p { margin: 0 0 var(--s-4); }
p:last-child { margin-bottom: 0; }

ul, ol { padding-left: 1.5em; margin: 0 0 var(--s-4); }
li + li { margin-top: var(--s-1); }

strong { font-weight: 600; }

hr { border: 0; border-top: 1px solid var(--c-gris-bord); margin: var(--s-7) 0; }

::selection { background: var(--c-accent); color: var(--c-white); }

/* Utilitaires accessibilité */
.sr-only {
	position: absolute !important; width: 1px; height: 1px; padding: 0;
	margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.skip-link {
	position: absolute; left: -9999px; top: 0; z-index: 9999;
	background: var(--c-accent); color: #fff; padding: var(--s-3) var(--s-4);
}
.skip-link:focus { left: var(--s-4); top: var(--s-4); }
