/* ==========================================================================
   1, 2, 3, musique ! — feuille de style principale
   Reprend le design system Bolt (Tailwind) en CSS natif.
   Les couleurs pointent vers la palette du theme.json (modifiable dans Styles).
   ========================================================================== */

:root {
	--m-cream: var(--wp--preset--color--cream, #FBF7F0);
	--m-cream-100: var(--wp--preset--color--cream-100, #F6EFE3);
	--m-cream-200: var(--wp--preset--color--cream-200, #EFE5D2);
	--m-cream-300: #E5D6BC;
	--m-white: #fff;
	--m-ink: var(--wp--preset--color--ink, #1C1B29);
	--m-ink-700: var(--wp--preset--color--ink-700, #3D3A50);
	--m-ink-500: var(--wp--preset--color--ink-500, #6B687F);
	--m-ink-300: #A5A2B5;
	--m-night: var(--wp--preset--color--night, #1E2A78);
	--m-night-700: var(--wp--preset--color--night-700, #2E3D94);
	--m-night-300: var(--wp--preset--color--night-300, #8F9AD3);
	--m-night-100: var(--wp--preset--color--night-100, #E5E9F8);
	--m-coral: var(--wp--preset--color--coral, #FF6B4A);
	--m-coral-600: var(--wp--preset--color--coral-600, #D94E2F);
	--m-coral-100: var(--wp--preset--color--coral-100, #FFE4DC);
	--m-sun: var(--wp--preset--color--sun, #FFC53D);
	--m-sun-600: var(--wp--preset--color--sun-600, #C9900A);
	--m-sun-100: var(--wp--preset--color--sun-100, #FFF0C9);
	--m-mint: var(--wp--preset--color--mint, #3CC5A1);
	--m-mint-600: var(--wp--preset--color--mint-600, #1F8A6D);
	--m-mint-100: var(--wp--preset--color--mint-100, #D9F3EB);
	--m-display: var(--wp--preset--font-family--fraunces, Fraunces, Georgia, serif);
	--m-body: var(--wp--preset--font-family--inter, Inter, system-ui, sans-serif);
	--m-shadow-soft: 0 1px 2px rgb(28 27 41 / 0.04), 0 4px 16px rgb(28 27 41 / 0.06);
	--m-shadow-lift: 0 2px 4px rgb(28 27 41 / 0.06), 0 12px 32px rgb(28 27 41 / 0.10);
	--m-r-md: 8px;
	--m-r-lg: 16px;
	--m-r-xl: 20px;
	--m-r-2xl: 24px;
	--m-pill: 999px;
	--m-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--m-gutter: clamp(1rem, 4vw, 2rem);
	--m-admin: var(--wp-admin--admin-bar--height, 0px);
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body.m-locked { overflow: hidden; }
::selection { background: var(--m-sun-100); color: var(--m-ink); }
:focus-visible { outline: 2px solid var(--m-night); outline-offset: 2px; border-radius: 4px; }
h1, h2, h3, h4 { text-wrap: balance; }
img { max-width: 100%; height: auto; }
.wp-site-blocks > * { margin-block: 0; }
.wp-site-blocks { display: flex; flex-direction: column; min-height: 100vh; }
.wp-site-blocks > main, .wp-site-blocks > .m-main { flex: 1; }
.m-main > * { margin-block: 0; }
.m-main > * + * { margin-block-start: 0; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.m-icon { width: 1.25em; height: 1.25em; flex-shrink: 0; vertical-align: -0.2em; }
.m-muted { color: var(--m-ink-500); font-size: 0.875rem; }
.m-center { text-align: center; margin-top: 1.5rem; }

.m-wrap { width: 100%; max-width: 80rem; margin-inline: auto; padding-inline: var(--m-gutter); box-sizing: border-box; }
.m-wrap--narrow { max-width: calc(48rem + 2 * var(--m-gutter)); }
.m-section { padding-block: clamp(2.5rem, 5vw, 3.5rem); }
.m-section-sm { padding-block: clamp(2rem, 4vw, 2.75rem); }
.m-band-night { background: var(--m-night); }
.m-band-cream { background: color-mix(in srgb, var(--m-cream-100) 60%, transparent); }

.m-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 640px) {
	.m-grid--3, .m-grid--4, .m-grid--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
	.m-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.m-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.m-grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; }
}
.m-grid__wide { grid-column: 1 / -1; }

@media (max-width: 1023.98px) { .m-hide-desktop-down { display: none !important; } }
@media (min-width: 1024px) { .m-hide-desktop { display: none !important; } }
@media (max-width: 639.98px) { .m-hide-mobile { display: none !important; } }

/* ---------- Apparition au scroll ---------- */
.js .m-reveal { opacity: 0; transform: translateY(16px); transition: opacity 0.6s var(--m-ease), transform 0.6s var(--m-ease); }
.js .m-reveal.is-visible { opacity: 1; transform: none; }

/* ---------- Typo utilitaires ---------- */
.m-kicker, .is-style-kicker { margin: 0 0 0.25rem; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--m-coral); }
.m-kicker.is-sun { color: var(--m-sun); }
.m-eyebrow { margin: 0 0 0.5rem; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--m-ink-500); }
.m-section-title { margin: 0; font-family: var(--m-display); font-weight: 600; font-size: clamp(1.5rem, 3vw, 2.1rem); line-height: 1.2; color: var(--m-ink); }
.m-section-title.is-light { color: var(--m-cream); }
.m-section-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 0.75rem; margin-bottom: 1.5rem; }
.m-lead, .is-style-lead { font-size: 1.125rem; line-height: 1.65; color: var(--m-ink-500); }

/* ---------- Logo ---------- */
.m-logo { display: inline-flex; align-items: center; gap: 0.1em; font-family: var(--m-display); font-weight: 600; line-height: 1; font-size: 1.5rem; color: var(--m-ink); white-space: nowrap; }
.m-logo__1 { color: var(--m-coral); }
.m-logo__2 { color: var(--m-sun-600); }
.m-logo__3 { color: var(--m-mint-600); }
.m-logo__word { color: var(--m-night); margin-left: 0.05em; }
.m-logo__note { width: 0.55em; height: auto; margin-left: 0.2em; }
.m-logo--light, .m-logo--light .m-logo__word, .m-logo--light .m-logo__c { color: var(--m-cream); }
@media (max-width: 639.98px) { .m-logo { font-size: 1.25rem; } }

/* ---------- Boutons ---------- */
.m-btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; padding: 0.65rem 1.3rem; border-radius: var(--m-pill); border: 2px solid transparent; font-family: var(--m-body); font-size: 0.875rem; font-weight: 600; line-height: 1.3; text-decoration: none; cursor: pointer; transition: all 0.3s var(--m-ease); }
.m-btn .m-icon { width: 1rem; height: 1rem; }
.m-btn--sm { padding: 0.45rem 1rem; }
.m-btn--primary { background: var(--m-night); color: var(--m-cream); }
.m-btn--primary:hover { background: var(--m-night-700); color: var(--m-cream); box-shadow: var(--m-shadow-lift); }
.m-btn--accent { background: var(--m-coral-600); color: #fff; }
.m-btn--accent:hover { background: #c1401f; color: #fff; box-shadow: var(--m-shadow-lift); }
.m-btn--secondary { border-color: var(--m-night); background: transparent; color: var(--m-night); }
.m-btn--secondary:hover { background: var(--m-night-100); color: var(--m-night); }
.m-btn--ghost-light { color: var(--m-cream-100); }
.m-btn--ghost-light:hover { background: rgb(251 247 240 / 0.1); color: var(--m-cream); }

.wp-block-button__link { transition: all 0.3s var(--m-ease); text-decoration: none; }
.wp-block-button__link:hover { box-shadow: var(--m-shadow-lift); }
.wp-block-button.is-style-outline > .wp-block-button__link { border: 2px solid var(--m-night); background: transparent; color: var(--m-night); padding: calc(0.65rem - 2px) calc(1.3rem - 2px); }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--m-night-100); box-shadow: none; }
.wp-block-button.is-style-accent > .wp-block-button__link { background: var(--m-coral-600); color: #fff; }
.wp-block-button.is-style-accent > .wp-block-button__link:hover { background: #c1401f; }
.wp-block-button.is-style-ghost > .wp-block-button__link { background: transparent; color: var(--m-night); }
.wp-block-button.is-style-ghost > .wp-block-button__link:hover { background: var(--m-night-100); box-shadow: none; }

.m-iconbtn { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border: 0; border-radius: var(--m-pill); background: transparent; color: var(--m-ink-700); cursor: pointer; transition: background 0.2s; }
.m-iconbtn:hover { background: var(--m-cream-100); }
.m-iconbtn .m-icon { width: 1.35rem; height: 1.35rem; }

/* ---------- Badges, chips, icônes ---------- */
.m-badge { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.25rem 0.75rem; border-radius: var(--m-pill); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; line-height: 1.4; text-decoration: none; }
.m-badge .m-icon { width: 0.8rem; height: 0.8rem; }
.is-soft-coral { background: var(--m-coral-100); color: var(--m-coral-600); }
.is-soft-sun { background: var(--m-sun-100); color: #8a6206; }
.is-soft-mint { background: var(--m-mint-100); color: var(--m-mint-600); }
.is-soft-night { background: var(--m-night-100); color: var(--m-night); }
.is-solid-night { background: var(--m-night); color: var(--m-cream); }
.is-solid-sun { background: var(--m-sun); color: var(--m-ink); }
.m-iconbox { display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border-radius: var(--m-r-lg); flex-shrink: 0; }
.m-iconbox .m-icon { width: 1.25rem; height: 1.25rem; }
.m-iconbox--md { width: 3rem; height: 3rem; border-radius: var(--m-r-xl); transition: transform 0.3s var(--m-ease); }
.m-iconbox--md .m-icon { width: 1.5rem; height: 1.5rem; }
.m-iconbox--lg { width: 3.5rem; height: 3.5rem; border-radius: var(--m-r-2xl); }
.m-iconbox--lg .m-icon { width: 1.75rem; height: 1.75rem; }
.m-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; max-width: 48rem; margin: 2rem auto 0; }
.m-chip { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.3rem 0.8rem; border-radius: var(--m-pill); background: var(--m-cream-100); color: var(--m-ink-700); font-size: 0.8125rem; font-weight: 500; text-decoration: none; transition: background 0.2s, color 0.2s; }
a.m-chip:hover { background: var(--m-cream-200); color: var(--m-ink); }
.m-chip.is-active { background: var(--m-night); color: var(--m-cream); }
.m-dot { color: var(--m-ink-300); }

/* ---------- Cartes ---------- */
.m-card { position: relative; display: flex; flex-direction: column; height: 100%; overflow: hidden; border-radius: var(--m-r-xl); background: var(--m-white); box-shadow: var(--m-shadow-soft); transition: transform 0.3s var(--m-ease), box-shadow 0.3s var(--m-ease); text-decoration: none; color: inherit; }
.m-card--hover:hover { transform: translateY(-4px); box-shadow: var(--m-shadow-lift); }
.m-card__link { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; }
.m-card__media { position: relative; overflow: hidden; background: var(--m-cream-100); }
.m-ratio-4-3 { aspect-ratio: 4 / 3; }
.m-ratio-16-9 { aspect-ratio: 16 / 9; }
.m-card__media img, .m-card__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.m-card__placeholder { display: flex; align-items: center; justify-content: center; height: 100%; color: var(--m-ink-300); }
.m-card__placeholder .m-icon { width: 2.5rem; height: 2.5rem; }
.m-card__badge { position: absolute; top: 0.75rem; left: 0.75rem; }
.m-card__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: 0.5rem; padding: 1rem; }
.m-card__title { margin: 0; font-family: var(--m-display); font-size: 1.125rem; font-weight: 600; line-height: 1.3; color: var(--m-ink); }
.m-card__title--sm { font-size: 1rem; }
.m-card__link:hover .m-card__title { color: var(--m-night-700); }
.m-card__excerpt { margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 0.875rem; line-height: 1.55; color: var(--m-ink-500); }
.m-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; margin-top: auto; padding-top: 0.5rem; font-size: 0.75rem; color: var(--m-ink-500); }
.m-card__updated { display: flex; align-items: center; gap: 0.35rem; margin: auto 0 0; padding-top: 0.5rem; font-size: 0.75rem; color: var(--m-mint-600); }
.m-card__updated .m-icon { width: 0.8rem; height: 0.8rem; }
.m-avatar { border-radius: 50%; object-fit: cover; }
.m-grid__wide .m-card__link { }
@media (min-width: 1024px) {
	.m-grid__wide .m-card__link { flex-direction: row; }
	.m-grid__wide .m-card__media { width: 55%; aspect-ratio: 16 / 9; }
	.m-grid__wide .m-card__body { justify-content: center; padding: 2rem; }
	.m-grid__wide .m-card__title { font-size: 1.5rem; }
}

/* ---------- En-tête ---------- */
.m-header-part { position: sticky; top: var(--m-admin); z-index: 50; background: var(--m-cream); border-bottom: 1px solid transparent; transition: box-shadow 0.3s, border-color 0.3s, background 0.3s; }
.m-header-part.is-scrolled { background: rgb(251 247 240 / 0.95); border-color: var(--m-cream-200); box-shadow: var(--m-shadow-soft); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.m-header { position: relative; }
.m-skip { position: absolute; left: 1rem; top: -4rem; z-index: 60; padding: 0.5rem 1rem; border-radius: var(--m-pill); background: var(--m-night); color: var(--m-cream); font-size: 0.875rem; text-decoration: none; }
.m-skip:focus { top: 1rem; }
.m-header__bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; height: 4rem; }
@media (min-width: 1024px) { .m-header__bar { height: 4.5rem; } }
.m-header__logo { flex-shrink: 0; text-decoration: none; }
.m-header__actions { display: flex; align-items: center; gap: 0.35rem; }
.m-nav { display: none; }
@media (min-width: 1024px) { .m-nav { display: block; } }
.m-nav__list { display: flex; align-items: center; gap: 0.25rem; margin: 0; padding: 0; list-style: none; }
.m-nav__short { display: none; }
@media (max-width: 1279.98px) {
	.m-nav__full { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
	.m-nav__short { display: inline; }
}
.m-nav__link { display: block; white-space: nowrap; padding: 0.5rem 0.8rem; border-radius: var(--m-pill); color: var(--m-ink); font-size: 0.875rem; font-weight: 600; text-decoration: none; transition: background 0.2s; }
.m-nav__link:hover, .m-nav__item:hover > .m-nav__link, .m-nav__item:focus-within > .m-nav__link { background: var(--m-cream-100); color: var(--m-ink); }
.m-mega { position: absolute; left: 0; right: 0; top: 100%; border-top: 1px solid var(--m-cream-200); background: rgb(251 247 240 / 0.98); box-shadow: var(--m-shadow-lift); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); opacity: 0; visibility: hidden; transform: translateY(-4px); transition: opacity 0.2s var(--m-ease) 0.15s, visibility 0s linear 0.35s, transform 0.2s var(--m-ease) 0.15s; }
.m-nav__item:hover > .m-mega, .m-nav__item:focus-within > .m-mega { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.m-mega__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; padding-block: 1.5rem; }
.m-mega__col { border-left: 1px solid var(--m-cream-200); padding-left: 2rem; }
.m-mega__title { display: flex; align-items: center; gap: 0.75rem; margin: 0; font-family: var(--m-display); font-size: 1.125rem; font-weight: 600; }
.m-mega__tagline { margin: 0.5rem 0 1rem; font-size: 0.875rem; color: var(--m-ink-500); }
.m-mega__links, .m-mega__posts { margin: 0; padding: 0; list-style: none; }
.m-mega__links li + li { margin-top: 0.35rem; }
.m-mega__links a { display: flex; gap: 0.5rem; padding-block: 0.2rem; color: var(--m-ink-700); font-size: 0.875rem; font-weight: 500; text-decoration: none; }
.m-mega__links a span { color: var(--m-coral); transition: transform 0.2s; }
.m-mega__links a:hover { color: var(--m-night); }
.m-mega__links a:hover span { transform: translateX(2px); }
.m-mega__posts li + li { margin-top: 0.75rem; }
.m-mega__posts a { display: flex; align-items: center; gap: 0.75rem; color: inherit; text-decoration: none; }
.m-mega__posts img { width: 4rem; height: 2.75rem; border-radius: var(--m-r-md); object-fit: cover; flex-shrink: 0; }
.m-mega__posts strong { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 0.875rem; font-weight: 500; line-height: 1.35; color: var(--m-ink); }
.m-mega__posts small { display: block; font-size: 0.75rem; color: var(--m-ink-500); }
.m-mega__posts a:hover strong { color: var(--m-night-700); }

/* Overlays (menu mobile, recherche) */
.m-overlay { position: fixed; inset: 0; z-index: 100; overflow-y: auto; background: var(--m-cream); }
.m-overlay[hidden] { display: none; }
.m-overlay__bar { display: flex; align-items: center; justify-content: space-between; height: 4rem; border-bottom: 1px solid var(--m-cream-200); }
.m-mobile__nav { padding: 1.5rem var(--m-gutter) 3rem; }
.m-mobile__nav > ul { display: grid; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.m-mobile__group, .m-mobile__link { display: block; border: 1px solid var(--m-cream-200); border-radius: var(--m-r-xl); background: var(--m-white); }
.m-mobile__group summary, .m-mobile__link { display: flex; align-items: center; gap: 0.75rem; padding: 0.85rem 1rem; font-family: var(--m-display); font-size: 1.125rem; font-weight: 600; color: var(--m-ink); text-decoration: none; cursor: pointer; list-style: none; }
.m-mobile__group summary::-webkit-details-marker { display: none; }
.m-mobile__chev { margin-left: auto; transition: transform 0.2s; }
.m-mobile__group[open] .m-mobile__chev { transform: rotate(180deg); }
.m-mobile__group ul { margin: 0; padding: 0 1rem 1rem; list-style: none; }
.m-mobile__group ul a { display: block; padding: 0.5rem 0.75rem; border-radius: var(--m-r-md); color: var(--m-ink-700); font-size: 0.9rem; text-decoration: none; }
.m-mobile__group ul a:hover { background: var(--m-cream-100); }
.m-mobile__group .m-mobile__all { margin-top: 0.35rem; background: var(--m-cream-100); color: var(--m-night); font-weight: 600; }
.m-search { background: rgb(251 247 240 / 0.97); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.m-search__inner { max-width: calc(48rem + 2 * var(--m-gutter)); padding-top: 5rem; }
.m-search__top { display: flex; align-items: center; justify-content: space-between; }
.m-search__form { position: relative; margin-top: 1.5rem; }
.m-search__form > .m-icon { position: absolute; left: 1.1rem; top: 50%; transform: translateY(-50%); color: var(--m-ink-500); }
.m-search__form input { width: 100%; box-sizing: border-box; padding: 1rem 1rem 1rem 3rem; border: 2px solid var(--m-cream-200); border-radius: var(--m-pill); background: var(--m-white); box-shadow: var(--m-shadow-soft); font: inherit; font-size: 1.125rem; color: var(--m-ink); outline: none; transition: border-color 0.2s; }
.m-search__form input:focus { border-color: var(--m-night-300); }
.m-search__form--sm { max-width: 24rem; margin-inline: auto; }
.m-search__form--sm input { padding-block: 0.75rem; font-size: 0.9rem; }

/* ---------- Pied de page ---------- */
.m-footer { margin-top: 5rem; background: var(--m-ink); color: var(--m-cream-100); }
.m-footer a { color: #d9d2c4; text-decoration: none; transition: color 0.2s; }
.m-footer a:hover { color: var(--m-cream); }
.m-footer__grid { display: grid; gap: 2.5rem; padding-block: 3.5rem; }
@media (min-width: 768px) { .m-footer__grid { grid-template-columns: 4fr 5fr 3fr; gap: 2rem; } }
.m-footer__about p { max-width: 24rem; margin: 1rem 0 0; font-size: 0.875rem; line-height: 1.65; color: #d9d2c4; }
.m-footer__socials { display: flex; gap: 0.5rem; margin-top: 1.25rem; }
.m-footer__socials a { display: inline-flex; padding: 0.6rem; border-radius: var(--m-pill); }
.m-footer__socials a:hover { background: rgb(251 247 240 / 0.1); }
.m-footer__nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
@media (min-width: 640px) { .m-footer__nav { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.m-footer__heading { margin: 0 0 0.5rem; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--m-sun); }
.m-footer__heading a { color: var(--m-sun); }
.m-footer ul { margin: 0; padding: 0; list-style: none; }
.m-footer__nav li + li { margin-top: 0.35rem; }
.m-footer__nav a { font-size: 0.875rem; }
.m-footer__recent li + li { margin-top: 0.75rem; }
.m-footer__recent strong { display: block; font-size: 0.875rem; font-weight: 500; line-height: 1.35; color: var(--m-cream-100); }
.m-footer__recent a:hover strong { color: var(--m-sun); }
.m-footer__recent small { font-size: 0.75rem; color: #a49e93; }
.m-footer__bottom { border-top: 1px solid rgb(251 247 240 / 0.1); }
.m-footer__bottom-inner { display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 0.75rem; padding-block: 1.5rem; font-size: 0.75rem; color: #b9b2a5; }
@media (min-width: 640px) { .m-footer__bottom-inner { flex-direction: row; } }
.m-footer__bottom-inner p { margin: 0; }
.m-footer__bottom-inner ul { display: flex; flex-wrap: wrap; gap: 1rem; }

/* ---------- Fil d’Ariane ---------- */
.m-breadcrumbs { font-size: 0.875rem; color: var(--m-ink-500); }
.m-breadcrumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; margin: 0; padding: 0; list-style: none; }
.m-breadcrumbs li { display: flex; align-items: center; gap: 0.4rem; }
.m-breadcrumbs .m-icon { width: 0.9rem; height: 0.9rem; }
.m-breadcrumbs a { color: var(--m-ink-500); text-decoration: none; }
.m-breadcrumbs a:hover { color: var(--m-night); }
.m-breadcrumbs [aria-current] { font-weight: 500; color: var(--m-ink-700); }

/* ---------- Hero ---------- */
.m-hero { position: relative; overflow: hidden; }
.m-hero::before, .m-hero::after { content: ""; position: absolute; border-radius: 50%; filter: blur(64px); pointer-events: none; }
.m-hero::before { right: -5rem; top: -6rem; width: 18rem; height: 18rem; background: var(--m-sun-100); opacity: 0.7; }
.m-hero::after { left: -6rem; top: 10rem; width: 20rem; height: 20rem; background: var(--m-mint-100); opacity: 0.6; }
.m-hero__grid { position: relative; z-index: 1; display: grid; align-items: center; gap: 2.5rem; padding-block: clamp(3.5rem, 7vw, 5rem); }
@media (min-width: 1024px) { .m-hero__grid { grid-template-columns: 7fr 5fr; } }
.m-hero__text > * { margin-block: 0; }
.m-hero__pill { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.35rem 0.9rem; border-radius: var(--m-pill); background: var(--m-white); box-shadow: var(--m-shadow-soft); font-size: 0.75rem; font-weight: 600; color: var(--m-ink-700); }
.m-hero__title { margin-top: 0.85rem !important; font-size: clamp(2.5rem, 6vw, 4.25rem) !important; line-height: 1.08 !important; letter-spacing: -0.02em; }
.m-hero__underline { position: relative; display: inline-block; background: none; color: inherit; }
.m-hero__underline::after { content: ""; position: absolute; left: 0; right: 0; bottom: -0.1em; height: 0.28em; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 12' preserveAspectRatio='none'%3E%3Cpath d='M4 8 C60 2 160 2 216 7' stroke='%23FFC53D' stroke-width='5' stroke-linecap='round' fill='none'/%3E%3C/svg%3E") no-repeat center / 100% 100%; }
.m-hero__lead { max-width: 36rem; margin-top: 1.25rem !important; font-size: clamp(1rem, 0.4vw + 0.9rem, 1.15rem); color: var(--m-ink-500); }
.m-hero__ctas { margin-top: 2rem !important; gap: 0.75rem; }
.m-hero__quote { margin-top: 1.5rem !important; font-size: 0.875rem; color: var(--m-ink-500); }
.m-hero__quote::before { content: "❝ "; color: var(--m-coral); }
.m-hero-visual { position: relative; width: 100%; max-width: 28rem; margin-inline: auto; }
.m-hero-visual__card { padding: 1.5rem; border-radius: var(--m-r-2xl); background: var(--m-white); box-shadow: var(--m-shadow-lift); }
.m-hero-visual__bars { display: flex; align-items: flex-end; gap: 0.375rem; height: 14rem; }
.m-hero-visual__bars span { flex: 1; border-radius: 999px 999px 0 0; transform-origin: bottom; animation: m-float 2.8s ease-in-out infinite alternate; }
@keyframes m-float { from { transform: scaleY(0.92); } to { transform: scaleY(1.05); } }
.m-hero-visual__player { display: flex; align-items: center; justify-content: space-between; margin-top: 1rem; padding: 0.6rem 1rem; border-radius: var(--m-pill); background: var(--m-cream-100); color: var(--m-coral); }
.m-hero-visual__track { flex: 1; height: 0.25rem; margin-inline: 0.75rem; border-radius: 999px; background: var(--m-cream-200); }
.m-hero-visual__track span { display: block; width: 40%; height: 100%; border-radius: 999px; background: var(--m-coral); }
.m-hero-visual__time { font-size: 0.75rem; font-weight: 500; color: var(--m-ink-500); }
.m-hero-visual__sticker { position: absolute; padding: 0.5rem 0.9rem; border-radius: var(--m-r-xl); box-shadow: var(--m-shadow-soft); font-family: var(--m-display); font-size: 0.875rem; font-weight: 700; }
.m-hero-visual__sticker.is-sun { left: -1rem; top: -1.25rem; transform: rotate(-6deg); background: var(--m-sun); color: var(--m-ink); }
.m-hero-visual__sticker.is-white { right: -0.75rem; bottom: 2.5rem; transform: rotate(5deg); background: var(--m-white); color: var(--m-night); font-family: var(--m-body); font-size: 0.75rem; font-weight: 600; }

/* ---------- Accueil ---------- */
.m-profiles { padding-top: 0.5rem; }
.m-profiles__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
@media (min-width: 640px) { .m-profiles__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .m-profiles__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.m-profile { align-items: center; gap: 0.6rem; padding: 1.1rem; text-align: center; }
.m-profile:hover .m-iconbox--md { transform: scale(1.1); }
.m-profile__label { font-size: 0.875rem; font-weight: 600; color: var(--m-ink); }
.m-profile__desc { display: none; font-size: 0.75rem; line-height: 1.35; color: var(--m-ink-500); }
@media (min-width: 1024px) { .m-profile__desc { display: block; } }

.m-featured { display: grid; gap: 1.5rem; }
@media (min-width: 1024px) { .m-featured { grid-template-columns: 7fr 5fr; } }
.m-featured__link { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; }
@media (min-width: 1024px) { .m-featured__link { flex-direction: row; } }
.m-featured__media { position: relative; aspect-ratio: 16 / 9; background: var(--m-cream-100); }
@media (min-width: 1024px) { .m-featured__media { width: 50%; aspect-ratio: auto; } }
.m-featured__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.m-featured__body { display: flex; flex: 1; flex-direction: column; justify-content: center; gap: 0.75rem; padding: 1.5rem; }
.m-featured__body > * { margin: 0; }
.m-featured__title { font-family: var(--m-display); font-size: clamp(1.25rem, 2vw, 1.5rem); font-weight: 600; line-height: 1.25; color: var(--m-ink); }
.m-featured__main:hover .m-featured__title { color: var(--m-night-700); }
.m-featured__side { display: grid; gap: 1rem; }
@media (min-width: 640px) and (max-width: 1023.98px) { .m-featured__side { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.m-readmore { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.875rem; font-weight: 600; color: var(--m-night); }
.m-readmore .m-icon { width: 1rem; transition: transform 0.2s; }
.m-featured__main:hover .m-readmore .m-icon { transform: translateX(4px); }

.m-timeline { display: flex; gap: 1rem; margin: 0 calc(-1 * var(--m-gutter)); padding: 0 var(--m-gutter) 1rem; overflow-x: auto; scroll-snap-type: x mandatory; list-style: none; scrollbar-width: thin; }
.m-timeline li { flex-shrink: 0; scroll-snap-align: start; }
.m-timeline__item { display: flex; flex-direction: column; gap: 0.5rem; width: 11rem; height: 100%; box-sizing: border-box; padding: 1rem; border-radius: var(--m-r-xl); background: rgb(251 247 240 / 0.1); color: var(--m-cream); text-decoration: none; transition: transform 0.3s var(--m-ease), background 0.3s; }
.m-timeline__item:hover { transform: translateY(-4px); background: rgb(251 247 240 / 0.15); color: var(--m-cream); }
.m-timeline__num { font-family: var(--m-display); font-size: 2.25rem; font-weight: 700; line-height: 1; color: rgb(251 247 240 / 0.25); transition: color 0.3s; }
.m-timeline__item:hover .m-timeline__num { color: var(--m-sun); }
.m-timeline__name { font-family: var(--m-display); font-size: 1.125rem; font-weight: 600; }
.m-timeline__years { font-size: 0.75rem; color: var(--m-sun); }
.m-timeline__desc { font-size: 0.75rem; line-height: 1.4; color: #d9d2c4; }

.m-family { gap: 0.75rem; padding: 1.25rem; }
.m-family__name { font-family: var(--m-display); font-size: 1.125rem; font-weight: 600; color: var(--m-ink); }
.m-family__desc { font-size: 0.75rem; line-height: 1.45; color: var(--m-ink-500); }

.m-catcard { gap: 0.5rem; padding: 1.25rem; }
.m-catcard__top { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; }
.m-catcard__chev { margin-left: auto; color: var(--m-ink-300); transition: transform 0.2s, color 0.2s; }
.m-catcard:hover .m-catcard__chev { transform: translateX(4px); color: var(--m-coral); }
.m-catcard__name { font-family: var(--m-display); font-size: 1.25rem; font-weight: 600; color: var(--m-ink); }
.m-catcard__desc { font-size: 0.875rem; color: var(--m-ink-500); }

.m-tabs { display: flex; gap: 0.5rem; margin: 0 calc(-1 * var(--m-gutter)) 1.5rem; padding: 0 var(--m-gutter) 0.25rem; overflow-x: auto; }
.m-tabs button { flex-shrink: 0; padding: 0.5rem 1rem; border: 0; border-radius: var(--m-pill); background: var(--m-cream-100); color: var(--m-ink-700); font: inherit; font-size: 0.875rem; font-weight: 600; cursor: pointer; transition: background 0.2s, color 0.2s; }
.m-tabs button:hover { background: var(--m-cream-200); }
.m-tabs button[aria-selected="true"] { background: var(--m-night); color: var(--m-cream); }

/* Chant du mois (composition) */
.m-song { gap: 0 !important; margin-top: 1.5rem !important; overflow: hidden; border-radius: var(--m-r-xl); background: var(--m-white); box-shadow: var(--m-shadow-soft); }
.m-song__left { position: relative; padding: clamp(1.5rem, 3vw, 2rem); background: var(--m-night); color: var(--m-cream-100); }
.m-song__left::before { content: ""; position: absolute; inset: 1.5rem 1.5rem auto; height: 3rem; opacity: 0.25; background: repeating-linear-gradient(to bottom, #A5A2B5 0 1px, transparent 1px 10px); }
.m-song__left > * { position: relative; }
.m-song__title { margin: 0; font-family: var(--m-display); font-size: clamp(1.25rem, 2vw, 1.5rem); font-weight: 600; color: var(--m-cream); }
.m-song__chips span { display: inline-block; margin: 0.25rem 0.25rem 0 0; padding: 0.3rem 0.8rem; border-radius: var(--m-pill); background: rgb(251 247 240 / 0.15); font-size: 0.8125rem; }
.m-song__listen { padding: 0.75rem 1rem; border-radius: var(--m-pill); background: rgb(251 247 240 / 0.1); font-size: 0.875rem; font-weight: 500; }
.m-song__right { padding: clamp(1.5rem, 3vw, 2rem); font-size: 0.9375rem; color: var(--m-ink-700); }
.m-song__lyrics { padding: 1.25rem; border-radius: var(--m-r-xl); background: color-mix(in srgb, var(--m-cream-100) 70%, transparent); }
.m-song__lyrics p:not(.m-eyebrow) { font-family: var(--m-display); font-style: italic; line-height: 1.7; color: var(--m-ink-700); }

/* Newsletter */
.m-newsletter { position: relative; display: grid; align-items: center; gap: 2rem; overflow: hidden; padding: clamp(2rem, 5vw, 3rem); border-radius: var(--m-r-2xl); background: var(--m-night); box-shadow: var(--m-shadow-lift); }
@media (min-width: 1024px) { .m-newsletter { grid-template-columns: 7fr 5fr; } }
.m-newsletter::before, .m-newsletter::after { content: ""; position: absolute; border-radius: 50%; filter: blur(64px); pointer-events: none; }
.m-newsletter::before { right: -4rem; top: -5rem; width: 16rem; height: 16rem; background: var(--m-night-700); opacity: 0.6; }
.m-newsletter::after { bottom: -6rem; left: 2.5rem; width: 14rem; height: 14rem; background: rgb(255 197 61 / 0.2); }
.m-newsletter > * { position: relative; z-index: 1; }
.m-newsletter__text p:last-child { max-width: 32rem; margin: 0.75rem 0 0; font-size: 0.875rem; line-height: 1.65; color: #d9d2c4; }
.m-pill-light { display: inline-flex; align-items: center; gap: 0.5rem; margin: 0 0 0.5rem; padding: 0.25rem 0.75rem; border-radius: var(--m-pill); background: rgb(251 247 240 / 0.1); font-size: 0.75rem; font-weight: 600; color: var(--m-sun); }
.m-newsletter__form { padding: 1.25rem; border-radius: var(--m-r-xl); background: rgb(251 247 240 / 0.1); color: var(--m-cream-100); }
.m-newsletter__soon { margin: 0 0 1rem; font-size: 0.9rem; }

/* ---------- Archives ---------- */
.m-archive-header { border-bottom: 1px solid var(--m-cream-200); background: color-mix(in srgb, var(--m-cream-100) 50%, transparent); padding-block: 1.5rem clamp(2.5rem, 5vw, 3.5rem); }
.m-archive-header__inner { max-width: 48rem; margin: 1.5rem auto 0; }
.m-archive-header__inner.is-centered { text-align: center; }
.m-archive-header__inner .m-iconbox { margin: 0 auto 1rem; }
.m-archive-title { margin: 0.35rem 0 0; font-family: var(--m-display); font-size: clamp(2rem, 4.5vw, 3rem); font-weight: 600; line-height: 1.12; }
.m-archive-tagline { margin: 0.5rem 0 0; font-size: 0.875rem; font-weight: 500; color: var(--m-night); }
.m-archive-desc { max-width: 42rem; margin: 1.25rem auto 0; font-size: clamp(1rem, 0.4vw + 0.9rem, 1.1rem); line-height: 1.7; color: var(--m-ink-500); }
.m-archive-desc p { margin: 0; }
.m-listing__count { display: flex; justify-content: space-between; margin-bottom: 2rem; font-size: 0.875rem; color: var(--m-ink-500); }
.m-listing__count p { margin: 0; }
.m-listing__count strong { color: var(--m-ink); }
.m-pagination { margin-top: 2.5rem; }
.m-pagination ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.35rem; margin: 0; padding: 0; list-style: none; }
.m-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 2.5rem; height: 2.5rem; padding: 0 0.75rem; box-sizing: border-box; border-radius: var(--m-pill); color: var(--m-ink-700); font-size: 0.875rem; font-weight: 600; text-decoration: none; }
.m-pagination a.page-numbers:hover { background: var(--m-cream-100); }
.m-pagination .current { background: var(--m-night); color: var(--m-cream); }
.m-empty { max-width: 36rem; margin: 0 auto; padding: 2.5rem; border: 1px dashed var(--m-cream-300); border-radius: var(--m-r-xl); background: color-mix(in srgb, var(--m-cream-100) 50%, transparent); text-align: center; color: var(--m-ink-500); }
.m-empty > .m-icon { width: 2.5rem; height: 2.5rem; color: var(--m-ink-300); }
.m-empty__title { margin: 1rem 0 0.5rem; font-family: var(--m-display); font-size: 1.25rem; font-weight: 600; color: var(--m-ink); }

/* ---------- Pages ---------- */
.m-page-head { border-bottom: 1px solid var(--m-cream-200); background: color-mix(in srgb, var(--m-cream-100) 50%, transparent); padding-block: 1.5rem clamp(2.5rem, 5vw, 3.5rem); }
.m-page-title { margin: 1.5rem 0 0 !important; font-size: clamp(2rem, 4.5vw, 3rem) !important; line-height: 1.12; }
.m-page-body { padding-block: clamp(2.5rem, 5vw, 3.5rem); }
.m-page-hero { border-bottom: 1px solid var(--m-cream-200); background: color-mix(in srgb, var(--m-cream-100) 50%, transparent); padding: clamp(2.5rem, 5vw, 4rem) var(--m-gutter); text-align: center; }
.m-page-hero > * { max-width: 40rem; margin-inline: auto !important; }
.m-page-hero p { color: var(--m-ink-500); }
.m-games { display: grid; gap: 1.5rem; margin-top: 1.5rem !important; }
@media (min-width: 640px) { .m-games { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .m-games { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.m-games > * { margin: 0 !important; }

/* ---------- Article ---------- */
.m-single__head { max-width: calc(56rem + 2 * var(--m-gutter)); padding-top: 2rem; }
.m-post-header { margin-top: 1.5rem; }
.m-post-header > * { margin: 0; }
.m-badges { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.m-post-title { margin-top: 1rem !important; font-family: var(--m-display); font-size: clamp(2rem, 4.5vw, 3rem); font-weight: 600; line-height: 1.12; letter-spacing: -0.01em; color: var(--m-ink); }
.m-post-header .m-lead { max-width: 42rem; margin-top: 1rem; }
.m-byline { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1.5rem; margin-top: 1.5rem !important; padding-block: 1rem; border-block: 1px solid var(--m-cream-200); }
.m-byline__author { display: flex; align-items: center; gap: 0.75rem; }
.m-byline__author p { margin: 0; }
.m-byline__name { font-size: 0.875rem; font-weight: 600; }
.m-byline__name a { color: var(--m-ink); text-decoration: none; }
.m-byline__name a:hover { color: var(--m-night-700); }
.m-byline__role { font-size: 0.75rem; color: var(--m-ink-500); }
.m-byline__meta { display: flex; flex-wrap: wrap; gap: 0.25rem 1rem; font-size: 0.75rem; color: var(--m-ink-500); }
.m-byline__meta span { display: inline-flex; align-items: center; gap: 0.35rem; }
.m-byline__meta .m-icon { width: 0.9rem; height: 0.9rem; }
.m-byline__updated { color: var(--m-mint-600); }
.m-post-header--doc .m-post-title { margin-top: 0.75rem !important; }
.m-figure { max-width: calc(64rem + 2 * var(--m-gutter)); margin: 2rem auto 0; }
.m-figure__img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--m-r-xl); box-shadow: var(--m-shadow-soft); }
.m-figure figcaption { margin-top: 0.5rem; text-align: center; font-size: 0.75rem; color: var(--m-ink-500); }
.m-single__layout { display: grid; gap: 2.5rem; max-width: calc(64rem + 2 * var(--m-gutter)); margin-top: 2.5rem; padding-bottom: 1rem; }
@media (min-width: 1024px) { .m-single__layout { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); } }
.m-single__main > * + * { margin-top: 1.5rem; }
.m-single__aside { display: none; }
@media (min-width: 1024px) { .m-single__aside { display: block; } .m-toc--mobile { display: none; } }
.m-sticky { position: sticky; top: calc(6rem + var(--m-admin)); display: grid; gap: 1rem; }
.m-progress { position: fixed; left: 0; right: 0; top: var(--m-admin); z-index: 60; height: 4px; pointer-events: none; }
.m-progress span { display: block; width: 0; height: 100%; background: var(--m-sun); transition: width 0.15s linear; }

/* Sommaire */
.m-toc { padding: 1rem; border: 1px solid var(--m-cream-200); border-radius: var(--m-r-xl); background: var(--m-white); box-shadow: var(--m-shadow-soft); }
.m-toc summary { display: flex; align-items: center; justify-content: space-between; cursor: pointer; list-style: none; }
.m-toc summary::-webkit-details-marker { display: none; }
.m-toc__chev { color: var(--m-ink-500); transition: transform 0.2s; }
.m-toc[open] .m-toc__chev { transform: rotate(180deg); }
.m-toc__title { display: inline-flex; align-items: center; gap: 0.5rem; font-family: var(--m-display); font-size: 1rem; font-weight: 600; color: var(--m-ink); }
.m-toc__title .m-icon { width: 1rem; color: var(--m-coral); }
.m-toc__list { margin: 0.75rem 0 0; padding: 0; list-style: none; font-size: 0.875rem; }
.m-toc__list li + li { margin-top: 0.2rem; }
.m-toc__h3 { padding-left: 1rem; }
.m-toc__list a { display: block; padding: 0.25rem 0.5rem; border-radius: var(--m-r-md); line-height: 1.35; color: var(--m-ink-500); text-decoration: none; transition: background 0.2s, color 0.2s; }
.m-toc__list a:hover { background: var(--m-cream-100); color: var(--m-night); }
.m-side-box { padding: 1.25rem; border-radius: var(--m-r-xl); background: color-mix(in srgb, var(--m-cream-100) 70%, transparent); }
.m-side-box__title { margin: 0; font-family: var(--m-display); font-weight: 600; }
.m-side-box__title a { color: var(--m-ink); text-decoration: none; }
.m-side-box ul { margin: 0.5rem 0 0; padding: 0; list-style: none; }
.m-side-box li + li { margin-top: 0.35rem; }
.m-side-box li a { font-size: 0.875rem; color: var(--m-ink-500); text-decoration: none; }
.m-side-box li a:hover { color: var(--m-night); }

/* Boîte auteur & partage */
.m-author-box { display: flex; flex-direction: column; gap: 1rem; margin-block: 2rem !important; padding: 1.5rem; border: 1px solid var(--m-cream-200); border-radius: var(--m-r-xl); background: var(--m-white); box-shadow: var(--m-shadow-soft); }
@media (min-width: 640px) { .m-author-box { flex-direction: row; align-items: center; } }
.m-author-box p { margin: 0; }
.m-author-box__name { font-family: var(--m-display); font-size: 1.125rem; font-weight: 600; }
.m-author-box__role { font-size: 0.875rem; font-weight: 500; color: var(--m-night); }
.m-author-box__bio { margin-top: 0.5rem !important; font-size: 0.875rem; line-height: 1.6; color: var(--m-ink-500); }
.m-share { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; padding-block: 1.25rem; border-block: 1px solid var(--m-cream-200); }
.m-share__label { margin-right: 0.25rem; font-size: 0.875rem; font-weight: 600; color: var(--m-ink-700); }
.m-share__btn { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.5rem 1rem; border: 1px solid var(--m-cream-200); border-radius: var(--m-pill); background: var(--m-white); color: var(--m-ink-700); font: inherit; font-size: 0.875rem; font-weight: 500; text-decoration: none; cursor: pointer; transition: transform 0.2s, box-shadow 0.2s; }
.m-share__btn:hover { transform: translateY(-2px); box-shadow: var(--m-shadow-soft); color: var(--m-ink); }
.m-share__btn .m-icon { width: 1rem; color: var(--m-night-700); }
.m-related { max-width: calc(64rem + 2 * var(--m-gutter)); margin-top: 4rem; }
.m-related .m-section-title { margin-bottom: 1.5rem; }

/* ---------- Contenu éditorial (prose) ---------- */
.m-prose { color: var(--m-ink-700); font-size: clamp(1.03rem, 0.35vw + 0.94rem, 1.125rem); line-height: 1.7; }
.m-prose > * { margin-block: 0; }
.m-prose > * + * { margin-block-start: 1.1em; }
.m-prose h2 { margin-block: 2.5rem 1rem !important; font-size: 1.5rem; scroll-margin-top: 6rem; color: var(--m-ink); }
.m-prose h3 { margin-block: 2rem 0.75rem !important; font-size: 1.25rem; scroll-margin-top: 6rem; color: var(--m-ink); }
.m-prose > h2:first-child, .m-prose > h3:first-child { margin-top: 0 !important; }
.m-prose a:not(.wp-block-button__link):not(.m-btn) { font-weight: 500; color: var(--m-night); text-decoration: underline; text-decoration-color: var(--m-night-300); text-decoration-thickness: 2px; text-underline-offset: 3px; transition: text-decoration-color 0.25s; }
.m-prose a:not(.wp-block-button__link):not(.m-btn):hover { text-decoration-color: var(--m-sun); }
.m-prose strong { font-weight: 600; color: var(--m-ink); }
.m-prose .is-style-lead { font-size: 1.125rem; font-weight: 500; color: var(--m-ink-700); }
.m-prose ul.wp-block-list:not([class*="is-style-"]) { padding-left: 0; list-style: none; }
.m-prose ul.wp-block-list:not([class*="is-style-"]) > li { position: relative; padding-left: 1.75rem; }
.m-prose ul.wp-block-list:not([class*="is-style-"]) > li + li { margin-top: 0.5rem; }
.m-prose ul.wp-block-list:not([class*="is-style-"]) > li::before { content: ""; position: absolute; left: 0; top: 0.65em; width: 0.625rem; height: 0.625rem; border-radius: 50%; background: var(--m-sun); }
.m-prose ol.wp-block-list:not([class*="is-style-"]) { padding-left: 1.4rem; }
.m-prose ol li + li { margin-top: 0.4rem; }
.m-prose .wp-block-image img { border-radius: var(--m-r-lg); }
.m-prose .wp-block-image figcaption { text-align: center; }

/* Listes stylées */
ul.is-style-checks, ul.is-style-crosses, ul.is-style-chevrons, ul.is-style-pills, ol.is-style-steps { padding-left: 0 !important; list-style: none; }
.is-style-checks > li, .is-style-crosses > li, .is-style-chevrons > li { position: relative; padding-left: 1.4rem; font-size: 0.9rem; }
.is-style-checks > li + li, .is-style-crosses > li + li, .is-style-chevrons > li + li { margin-top: 0.35rem; }
.is-style-checks > li::before, .is-style-crosses > li::before, .is-style-chevrons > li::before { position: absolute; left: 0; top: 0; font-weight: 700; }
.is-style-checks > li::before { content: "✓"; color: var(--m-mint-600); }
.is-style-crosses > li::before { content: "✕"; color: var(--m-coral-600); }
.is-style-chevrons > li::before { content: "›"; color: var(--m-coral); font-size: 1.2em; line-height: 1.2; }
ul.is-style-pills { display: flex; flex-wrap: wrap; gap: 0.5rem; }
ul.is-style-pills > li { margin: 0 !important; padding: 0.35rem 0.8rem; border: 1px solid var(--m-cream-200); border-radius: var(--m-pill); background: var(--m-white); font-size: 0.8rem; color: var(--m-ink-700); }
ul.is-style-pills > li strong { color: var(--m-night); }
ol.is-style-steps { counter-reset: m-step; }
ol.is-style-steps > li { position: relative; padding-left: 2.25rem; counter-increment: m-step; font-size: 0.95rem; }
ol.is-style-steps > li + li { margin-top: 0.75rem; }
ol.is-style-steps > li::before { content: counter(m-step); position: absolute; left: 0; top: 0.05em; display: flex; align-items: center; justify-content: center; width: 1.5rem; height: 1.5rem; border-radius: 50%; background: var(--m-sun); font-size: 0.75rem; font-weight: 700; color: var(--m-ink); }

/* Citations */
.wp-block-quote.is-style-accent, .m-prose blockquote.wp-block-quote { margin-inline: 0; padding: 1.25rem 1.5rem; border: 0; border-left: 4px solid var(--m-sun); border-radius: 0 var(--m-r-xl) var(--m-r-xl) 0; background: color-mix(in srgb, var(--m-sun-100) 55%, transparent); }
.wp-block-quote.is-style-accent p, .m-prose blockquote.wp-block-quote p { margin: 0; font-family: var(--m-display); font-size: 1.125rem; font-style: italic; line-height: 1.6; color: var(--m-ink-700); }
.wp-block-quote.is-style-accent cite, .m-prose blockquote.wp-block-quote cite { display: block; margin-top: 0.5rem; font-size: 0.875rem; font-style: normal; color: var(--m-ink-500); }
.wp-block-quote.is-style-accent cite::before, .m-prose blockquote.wp-block-quote cite::before { content: "— "; }

/* Encadrés */
.m-box-title { display: flex; align-items: center; gap: 0.5rem; margin: 0 !important; font-family: var(--m-display); font-size: 1rem; font-weight: 600; color: var(--m-ink); }
.is-style-callout-retenir, .is-style-callout-astuce, .is-style-callout-note { padding: 1.25rem; border-left: 4px solid; border-radius: var(--m-r-xl); font-size: 0.95em; }
.is-style-callout-retenir > * + *, .is-style-callout-astuce > * + *, .is-style-callout-note > * + *, .is-style-method > * + *, .is-style-verdict > * + *, .is-style-related-links > * + *, .is-style-download > * + *, .is-style-activities > * + * { margin-top: 0.5rem; }
.is-style-callout-retenir { border-color: var(--m-mint); background: color-mix(in srgb, var(--m-mint-100) 60%, transparent); }
.is-style-callout-astuce { border-color: var(--m-sun); background: color-mix(in srgb, var(--m-sun-100) 60%, transparent); }
.is-style-callout-note { border-color: var(--m-coral); background: color-mix(in srgb, var(--m-coral-100) 50%, transparent); }
.is-style-callout-retenir .m-box-title::before { content: "✓"; display: inline-flex; align-items: center; justify-content: center; width: 1.3rem; height: 1.3rem; border: 2px solid var(--m-mint-600); border-radius: 50%; font-size: 0.7rem; color: var(--m-mint-600); }
.is-style-callout-astuce .m-box-title::before { content: "💡"; }
.is-style-callout-note .m-box-title::before { content: "i"; display: inline-flex; align-items: center; justify-content: center; width: 1.3rem; height: 1.3rem; border: 2px solid var(--m-coral-600); border-radius: 50%; font-family: var(--m-body); font-size: 0.75rem; font-weight: 700; color: var(--m-coral-600); }
.is-style-method { padding: 1.25rem; border: 2px dashed var(--m-night-300); border-radius: var(--m-r-xl); background: color-mix(in srgb, var(--m-night-100) 40%, transparent); font-size: 0.9rem; }
.is-style-method .m-box-title { color: var(--m-night); }
.is-style-method .m-box-title::before { content: "🔎"; }
.is-style-verdict { padding: clamp(1.5rem, 3vw, 2rem); border-radius: var(--m-r-xl); background: var(--m-night); box-shadow: var(--m-shadow-lift); color: var(--m-cream); }
.is-style-verdict .m-box-title { font-family: var(--m-body); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--m-sun); }
.is-style-verdict .m-box-title::before { content: "🏆"; }
.is-style-verdict p:not(.m-box-title) { font-family: var(--m-display); font-size: clamp(1.1rem, 1.5vw, 1.25rem); font-weight: 500; line-height: 1.6; color: var(--m-cream); }
.is-style-verdict a { color: var(--m-sun) !important; }
.is-style-disclosure { padding: 1rem; border-radius: var(--m-r-xl); background: color-mix(in srgb, var(--m-cream-100) 70%, transparent); font-size: 0.78rem; line-height: 1.6; color: var(--m-ink-500); }
.is-style-disclosure p { margin: 0; }
.is-style-related-links { padding: 1.25rem; border-radius: var(--m-r-xl); background: color-mix(in srgb, var(--m-cream-100) 70%, transparent); }
.is-style-related-links .m-box-title { font-size: 1.125rem; }
.is-style-related-links ul { padding-left: 0 !important; list-style: none; font-size: 0.9rem; }
.is-style-related-links li { padding-left: 0 !important; }
.is-style-related-links li::before { display: none !important; }
.is-style-related-links li + li { margin-top: 0.5rem; }
.is-style-download { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 1rem; padding: 1.25rem; border: 2px dashed var(--m-night-300); border-radius: var(--m-r-xl); background: color-mix(in srgb, var(--m-night-100) 50%, transparent); }
.is-style-download::before { content: ""; grid-row: span 3; width: 3rem; height: 3rem; border-radius: var(--m-r-md); background: var(--m-night) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFC53D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4'/%3E%3Cpath d='M12 18v-6'/%3E%3Cpath d='m9 15 3 3 3-3'/%3E%3C/svg%3E") no-repeat center / 1.5rem; }
.is-style-download > * { grid-column: 2; margin: 0 !important; }
.is-style-download .m-box-title { color: var(--m-night); }
.is-style-download p:not(.m-box-title) { font-size: 0.875rem; color: var(--m-ink-500); }
.is-style-download .wp-block-buttons { margin-top: 0.5rem !important; }
.is-style-activities { padding: 1.5rem; border-radius: var(--m-r-xl); background: color-mix(in srgb, var(--m-sun-100) 50%, transparent); }
.is-style-activities h2 { margin-top: 0 !important; font-size: 1.25rem; }
.is-style-lyrics { padding: 1.5rem; border: 1px solid var(--m-cream-200); border-radius: var(--m-r-xl); background: var(--m-white); box-shadow: var(--m-shadow-soft); }
.is-style-lyrics h2 { margin-top: 0 !important; font-size: 1.25rem; }
.is-style-lyrics p { font-family: var(--m-display); font-style: italic; }
.is-style-card { padding: 1.25rem; border-radius: var(--m-r-xl); background: var(--m-white); box-shadow: var(--m-shadow-soft); transition: transform 0.3s var(--m-ease), box-shadow 0.3s var(--m-ease); }
.is-style-card:hover { transform: translateY(-4px); box-shadow: var(--m-shadow-lift); }
.is-style-card > * { margin-block: 0 !important; }
.is-style-card > * + * { margin-top: 0.6rem !important; }
.is-style-card h3 { font-size: 1.125rem; }
.is-style-card p { font-size: 0.875rem; color: var(--m-ink-500); }

/* Tableaux */
.wp-block-table.is-style-comparatif { overflow-x: auto; border: 1px solid var(--m-cream-200); border-radius: var(--m-r-xl); background: var(--m-white); box-shadow: var(--m-shadow-soft); }
.wp-block-table.is-style-comparatif table { width: 100%; min-width: 30rem; border-collapse: collapse; font-size: 0.875rem; }
.wp-block-table.is-style-comparatif th, .wp-block-table.is-style-comparatif td { padding: 0.75rem 1rem; border: 0; border-bottom: 1px solid var(--m-cream-100); text-align: left; vertical-align: top; }
.wp-block-table.is-style-comparatif thead { border-bottom: 0; }
.wp-block-table.is-style-comparatif tfoot { border-top: 0; }
.wp-block-table.is-style-comparatif td:first-child { min-width: 9.5rem; }
.wp-block-table.is-scores table { font-size: 0.8125rem; }
.wp-block-table.is-scores thead th { white-space: normal; min-width: 5.5rem; }
.wp-block-table.is-style-comparatif thead th { border-bottom: 1px solid var(--m-cream-200); background: color-mix(in srgb, var(--m-cream-100) 70%, transparent); font-weight: 600; color: var(--m-ink); white-space: nowrap; }
.wp-block-table.is-style-comparatif tbody tr:nth-child(even) { background: color-mix(in srgb, var(--m-cream) 50%, transparent); }
.wp-block-table.is-style-comparatif tbody tr:last-child td { border-bottom: 0; }
.wp-block-table.is-style-comparatif td:first-child { font-weight: 500; color: var(--m-ink); }
.wp-block-table.is-style-comparatif figcaption { margin: 0; padding: 0.6rem 1rem; border-top: 1px solid var(--m-cream-100); text-align: center; font-size: 0.75rem; color: var(--m-ink-500); }
.wp-block-table.is-scores td:not(:first-child) { color: var(--m-mint-600); white-space: nowrap; letter-spacing: 0.05em; }
.wp-block-table.is-scores td:last-child { color: var(--m-night); font-weight: 600; letter-spacing: 0; }

/* FAQ (bloc Détails) */
.wp-block-details.is-style-faq { margin: 0; border: 1px solid var(--m-cream-200); background: var(--m-white); }
.wp-block-details.is-style-faq + .wp-block-details.is-style-faq { margin-top: -1px !important; }
.m-prose > .wp-block-details.is-style-faq:not(.wp-block-details.is-style-faq + .wp-block-details.is-style-faq) { border-top-left-radius: var(--m-r-xl); border-top-right-radius: var(--m-r-xl); }
.m-prose > .wp-block-details.is-style-faq:not(:has(+ .wp-block-details.is-style-faq)) { border-bottom-left-radius: var(--m-r-xl); border-bottom-right-radius: var(--m-r-xl); box-shadow: var(--m-shadow-soft); }
.wp-block-details.is-style-faq summary { position: relative; padding: 1rem 3rem 1rem 1.25rem; font-family: var(--m-display); font-size: 1rem; font-weight: 600; color: var(--m-ink); cursor: pointer; list-style: none; transition: background 0.2s; }
.wp-block-details.is-style-faq summary::-webkit-details-marker { display: none; }
.wp-block-details.is-style-faq summary::after { content: ""; position: absolute; right: 1.25rem; top: 50%; width: 0.55rem; height: 0.55rem; border-right: 2px solid var(--m-night); border-bottom: 2px solid var(--m-night); transform: translateY(-70%) rotate(45deg); transition: transform 0.2s; }
.wp-block-details.is-style-faq[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
.wp-block-details.is-style-faq summary:hover { background: var(--m-cream); }
.wp-block-details.is-style-faq > :not(summary) { margin: 0; padding: 0 1.25rem 1rem; font-size: 0.9rem; line-height: 1.65; }

/* Guides : sélection, fiche produit */
.m-picks { gap: 1rem !important; margin-block: 2rem !important; }
.is-style-pick { display: flex; flex-direction: column; height: 100%; overflow: hidden; border-radius: var(--m-r-xl); background: var(--m-white); box-shadow: var(--m-shadow-soft); transition: transform 0.3s var(--m-ease), box-shadow 0.3s var(--m-ease); }
.is-style-pick:hover { transform: translateY(-4px); box-shadow: var(--m-shadow-lift); }
.is-style-pick > * { margin: 0 !important; }
.is-style-pick .wp-block-image img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 0; }
.is-style-pick > :not(.wp-block-image) { padding-inline: 1rem; }
.m-pick__label { justify-self: start; width: fit-content; margin: 0.9rem 1rem 0 !important; padding: 0.2rem 0.7rem !important; border-radius: var(--m-pill); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: #fff; }
.is-coral { background: var(--m-coral-600); } .is-mint { background: var(--m-mint-600); } .is-sun { background: var(--m-sun); color: var(--m-ink) !important; } .is-night { background: var(--m-night); }
.m-pick__name { margin-top: 0.5rem !important; font-size: 1.125rem !important; }
.m-pick__blurb { flex: 1; margin-top: 0.35rem !important; font-size: 0.875rem; color: var(--m-ink-500); }
.m-pick__foot { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; padding-block: 0.9rem 1rem; }
.m-pick__foot > * { margin: 0 !important; }
.m-pick__price, .m-buy__price { font-family: var(--m-display); font-size: 1.25rem; font-weight: 700; color: var(--m-night); }
.is-style-pick .wp-block-button__link { padding: 0.45rem 1rem; font-size: 0.75rem; }
.is-style-product { margin-block: 2rem !important; overflow: hidden; border-radius: var(--m-r-xl); background: var(--m-white); box-shadow: var(--m-shadow-soft); scroll-margin-top: 6rem; }
.m-product__cols { gap: 0 !important; margin: 0 !important; }
.m-product__media { position: relative; background: var(--m-cream-100); }
.m-product__media .wp-block-image { height: 100%; margin: 0; }
.m-product__media .wp-block-image img { width: 100%; height: 100%; min-height: 14rem; object-fit: cover; border-radius: 0; }
.m-product__badge { position: absolute; top: 0.75rem; left: 0.75rem; margin: 0 !important; padding: 0.25rem 0.75rem; border-radius: var(--m-pill); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: #fff; }
.m-product__body { padding: 1.5rem; }
.m-product__body > * { margin-block: 0 !important; }
.m-product__body > * + * { margin-top: 1rem !important; }
.m-product__name { font-size: 1.25rem !important; margin-top: 0 !important; }
.m-rating { font-size: 1rem; letter-spacing: 0.08em; color: var(--m-sun); }
.m-rating strong { margin-left: 0.25rem; letter-spacing: 0; font-size: 0.875rem; color: var(--m-ink); }
.m-proscons { gap: 1rem !important; }
.is-style-pros, .is-style-cons { padding: 1rem; border-radius: var(--m-r-xl); }
.is-style-pros { background: color-mix(in srgb, var(--m-mint-100) 60%, transparent); }
.is-style-cons { background: color-mix(in srgb, var(--m-coral-100) 50%, transparent); }
.m-proscons__title { margin: 0 0 0.5rem !important; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.is-style-pros .m-proscons__title { color: var(--m-mint-600); }
.is-style-cons .m-proscons__title { color: var(--m-coral-600); }
.is-style-buy { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 0.25rem 1rem; padding: 1rem; border-radius: var(--m-r-xl); background: color-mix(in srgb, var(--m-cream-100) 70%, transparent); }
.is-style-buy > * { margin: 0 !important; }
.m-buy__who { grid-row: span 2; font-size: 0.875rem; }
.m-buy__who strong { display: block; font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--m-ink-500); }
.m-buy__price { text-align: right; font-size: 1.5rem; }
.m-buy__cta { justify-content: flex-end; }
@media (max-width: 639.98px) { .is-style-buy { grid-template-columns: 1fr; } .m-buy__who { grid-row: auto; } .m-buy__price { text-align: left; } .m-buy__cta { justify-content: flex-start; } }

/* Vidéo YouTube différée */
.m-video { margin-inline: 0; overflow: hidden; border: 1px solid var(--m-cream-200); border-radius: var(--m-r-xl); background: var(--m-ink); box-shadow: var(--m-shadow-soft); }
.m-video__btn, .m-video iframe { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.75rem; width: 100%; aspect-ratio: 16 / 9; border: 0; background: radial-gradient(circle at 30% 20%, var(--m-night-700), var(--m-ink)); color: var(--m-cream-100); cursor: pointer; }
.m-video__play { display: flex; align-items: center; justify-content: center; width: 3.5rem; height: 3.5rem; border-radius: 50%; background: var(--m-coral-600); box-shadow: var(--m-shadow-lift); transition: transform 0.2s; }
.m-video__btn:hover .m-video__play { transform: scale(1.1); }
.m-video__play .m-icon { width: 1.5rem; height: 1.5rem; margin-left: 0.2rem; fill: #fff; stroke: #fff; }
.m-video__note { font-size: 0.75rem; opacity: 0.75; }
.m-video figcaption { margin: 0; padding: 0.6rem 1rem; font-size: 0.75rem; color: #d9d2c4; }

/* Mini-jeu */
.m-quiz { max-width: 42rem; margin-inline: auto; }
.m-quiz__head { display: flex; align-items: center; justify-content: space-between; padding: 1.25rem; background: var(--m-night); }
.m-quiz__head p { display: flex; align-items: center; gap: 0.5rem; margin: 0; font-family: var(--m-display); font-size: 1.125rem; font-weight: 600; color: var(--m-cream); }
.m-quiz__head .m-icon { color: var(--m-sun); }
.m-quiz__head .m-quiz__score { font-family: var(--m-body); font-size: 0.875rem; color: var(--m-sun); }
.m-quiz__body { padding: 1.5rem; text-align: center; }
.m-quiz__emoji { margin: 0; font-size: clamp(4rem, 12vw, 6rem); line-height: 1.2; }
.m-quiz__hint { margin: 0.75rem 0 0; font-size: 0.9rem; color: var(--m-ink-500); }
.m-quiz__options { display: grid; grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr)); gap: 0.75rem; margin-top: 1.25rem; }
.m-quiz__opt { padding: 0.65rem 0.75rem; border: 0; border-radius: var(--m-pill); background: var(--m-cream-100); color: var(--m-ink-700); font: inherit; font-size: 0.875rem; font-weight: 600; cursor: pointer; transition: transform 0.2s, background 0.2s; }
.m-quiz__opt:not(:disabled):hover { transform: translateY(-2px); background: var(--m-cream-200); }
.m-quiz__opt.is-correct { background: var(--m-mint-600); color: #fff; }
.m-quiz__opt.is-wrong { background: var(--m-coral-600); color: #fff; }
.m-quiz__result { margin-top: 1.25rem; }
.m-quiz__result p { margin: 0 0 1rem; font-family: var(--m-display); font-size: 1.125rem; font-weight: 600; }
.m-quiz__result .is-good { color: var(--m-mint-600); }
.m-quiz__result .is-bad { color: var(--m-coral-600); }
.m-quiz__final { margin: 0.5rem 0; font-family: var(--m-display); font-size: 1.5rem; font-weight: 600; color: var(--m-ink); }
.m-quiz__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.75rem; }

/* 404 */
.m-404 { max-width: calc(42rem + 2 * var(--m-gutter)); padding-block: clamp(4rem, 8vw, 6rem); text-align: center; }
.m-404__code { margin: 0; font-family: var(--m-display); font-size: clamp(4.5rem, 12vw, 6rem); font-weight: 700; line-height: 1; color: var(--m-coral); }
.m-404__title { margin: 0.5rem 0 0; font-family: var(--m-display); font-size: 1.5rem; font-style: italic; font-weight: 600; }
.m-404__text { max-width: 28rem; margin: 0.75rem auto 2rem; color: var(--m-ink-500); }
.m-404__rubs { margin-top: 3rem; padding: 1.5rem; border-radius: var(--m-r-xl); background: color-mix(in srgb, var(--m-cream-100) 70%, transparent); }
.m-404__rubs > p { margin: 0; font-size: 0.875rem; font-weight: 600; }
.m-404__rubs .m-chips { margin-top: 1rem; }

/* Réduction des animations */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
	.js .m-reveal { opacity: 1; transform: none; }
}

/* ---------- Auteurs éditoriaux ---------- */
.m-avatar--initial { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; border-radius: 50%; font-family: var(--m-display); font-weight: 700; line-height: 1; }
.is-solid-coral { background: var(--m-coral-600); color: #fff; }
.is-solid-mint { background: var(--m-mint-600); color: #fff; }
.m-author-box__name a { color: var(--m-ink); text-decoration: none; }
.m-author-box__name a:hover { color: var(--m-night-700); }

/* ---------- Photos d’illustration des guides ---------- */
.is-style-pick .wp-block-image, .m-product__media .wp-block-image { position: relative; margin: 0; }
.is-style-pick .wp-block-image figcaption, .m-product__media .wp-block-image figcaption { position: absolute; right: 0.5rem; bottom: 0.5rem; margin: 0; padding: 0.15rem 0.55rem; border-radius: 999px; background: rgb(28 27 41 / 0.6); color: #fff; font-size: 0.68rem; line-height: 1.4; }

/* ---------- Formulaire de contact ---------- */
.m-form { display: grid; gap: 1.1rem; margin-top: 1.5rem; }
.m-form p { margin: 0; }
.m-form__field label { display: block; margin-bottom: 0.4rem; font-size: 0.875rem; font-weight: 600; color: var(--m-ink); }
.m-form input[type=text], .m-form input[type=email], .m-form select, .m-form textarea { width: 100%; box-sizing: border-box; padding: 0.75rem 1rem; border: 1px solid var(--m-cream-200); border-radius: var(--m-r-lg); background: var(--m-white); font: inherit; font-size: 0.9375rem; color: var(--m-ink); outline: none; transition: border-color 0.2s; }
.m-form input:focus, .m-form select:focus, .m-form textarea:focus { border-color: var(--m-night-300); }
.m-form__consent label { display: flex; align-items: flex-start; gap: 0.75rem; font-size: 0.875rem; color: var(--m-ink-700); cursor: pointer; }
.m-form__consent input { margin-top: 0.3rem; accent-color: var(--m-night); }
.m-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.m-form-notice { margin-top: 1.5rem; padding: 1rem 1.25rem; border-radius: var(--m-r-xl); font-weight: 500; }
.m-form-notice.is-success { background: var(--m-mint-100); color: var(--m-mint-600); }
.m-form-notice.is-error { background: var(--m-coral-100); color: var(--m-coral-600); }

/* ---------- Équipe (page À propos) ---------- */
.m-authors { display: grid; gap: 1rem; }
@media (min-width: 640px) { .m-authors { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.m-authors > * { margin: 0 !important; }
.m-authors .is-style-card h3 { margin: 0 !important; font-size: 1.25rem; }
.m-authors .is-style-card h3 a { color: var(--m-ink); text-decoration: none; }
.m-authors .m-author-role { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--m-coral-600); }
