/* =================================================================
   WEVI DESIGN — Feuille de style
   Pour changer les couleurs : modifie seulement la partie « 1. Réglages ».
   ================================================================= */

/* ---------- 0. Police (auto-hébergée, conforme RGPD) ---------- */
@font-face {
	font-family: "Bricolage Grotesque";
	src: url("../fonts/bricolage-grotesque.woff2") format("woff2-variations"),
	     url("../fonts/bricolage-grotesque.woff2") format("woff2");
	font-weight: 200 800;
	font-stretch: 75% 100%;
	font-style: normal;
	font-display: swap;
}

/* ---------- 1. Réglages (couleurs, tailles) ---------- */
:root {
	--wv-ink: #1a1f2b;        /* fond sombre */
	--wv-ink-2: #252b39;      /* sombre secondaire */
	--wv-paper: #eef0f3;      /* fond clair */
	--wv-paper-2: #dfe3e9;    /* clair secondaire */
	--wv-light: #f3f4f6;      /* texte sur fond sombre */
	--wv-muted-d: #a3aab8;    /* texte discret sur sombre */
	--wv-muted-l: #5b6273;    /* texte discret sur clair */
	--wv-accent: #4a5670;     /* bleu ardoise du logo (boutons) */
	--wv-grey: #848484;       /* gris du logo */
	--wv-accent-ink: #ffffff; /* texte sur la couleur d'action */
	--wv-ok: #46d27f;

	--wv-font: "Bricolage Grotesque", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--wv-logo-h: 42px;        /* hauteur du logo (le logo n'est jamais déformé) */
	--wv-header-h: 72px;
	--wv-max: 1600px;
	--wv-px: clamp(1.25rem, 4vw, 3.5rem);
	--wv-py: clamp(5rem, 11vw, 10rem);
	--wv-ease: cubic-bezier(.2, .7, .1, 1);
	--wv-radius: 999px;
}
@media (min-width: 1024px) {
	:root { --wv-logo-h: 54px; --wv-header-h: 92px; }
}

/* ---------- 2. Base ---------- */
.wv-home, .wv-home * , .wv-home *::before, .wv-home *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: var(--wv-header-h); }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
:root { interpolate-size: allow-keywords; }

body.wv-home,
body.wv-inner {
	margin: 0;
	font-family: var(--wv-font);
	font-optical-sizing: auto;
	font-size: clamp(1rem, .96rem + .2vw, 1.125rem);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
body.wv-home { background: var(--wv-ink); color: var(--wv-light); }

:where(.wv-home) :where(h1, h2, h3, h4, p, ul, ol, figure) { margin: 0; }
:where(.wv-home) :where(ul, ol) { padding: 0; list-style: none; }
:where(.wv-home) img { display: block; max-width: 100%; height: auto; }
:where(.wv-home) a { color: inherit; }
:where(.wv-home) :where(button, input, textarea) { font: inherit; color: inherit; }

::selection { background: var(--wv-accent); color: var(--wv-accent-ink); }

:where(a, button, input, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
	border-radius: 4px;
}

.wv-sr, .wv-home .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;
}
.wv-skip {
	position: fixed; top: .75rem; left: .75rem; z-index: 200;
	padding: .75rem 1rem; background: var(--wv-light); color: var(--wv-ink);
	border-radius: 6px; transform: translateY(-200%); transition: transform .2s;
}
.wv-skip:focus { transform: none; }

.wv-wrap { width: 100%; max-width: var(--wv-max); margin-inline: auto; padding-inline: var(--wv-px); }

/* ---------- 3. Boutons ---------- */
.wv-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
	padding: .8rem 1.3rem; border: 1px solid transparent; border-radius: var(--wv-radius);
	font-family: var(--wv-font); font-size: .95rem; font-weight: 600; line-height: 1.1;
	text-decoration: none; white-space: nowrap; cursor: pointer;
	transition: background-color .25s, color .25s, border-color .25s, transform .2s;
}
.wv-btn:active { transform: scale(.97); }
.wv-btn--lg { padding: 1.05rem 1.75rem; font-size: 1rem; }
.wv-btn--accent { background: var(--wv-accent); color: var(--wv-accent-ink); }
.wv-btn--accent:hover { background: var(--wv-ink); color: #fff; }
.wv-hero .wv-btn--accent:hover, .wv-section--sombre .wv-btn--accent:hover { background: var(--wv-light); color: var(--wv-ink); }
.wv-btn--ghost { border-color: color-mix(in srgb, currentColor 35%, transparent); color: inherit; background: transparent; }
.wv-btn--ghost:hover { background: var(--wv-light); color: var(--wv-ink); border-color: var(--wv-light); }

/* ---------- 4. En-tête ---------- */
.wv-header {
	position: fixed; inset: 0 0 auto 0; z-index: 100;
	background: #fff; color: var(--wv-ink);
	border-bottom: 1px solid rgba(26, 31, 43, .08);
	transition: box-shadow .3s;
}
.wv-header a:not(.wv-btn) { color: inherit; }
.wv-header.is-scrolled { box-shadow: 0 10px 30px -18px rgba(26, 31, 43, .35); }
/* Fond blanc : le logo s'affiche tel quel, sans aucune modification */
.wv-header__inner {
	display: flex; align-items: center; gap: 1.5rem;
	max-width: var(--wv-max); margin-inline: auto; padding-inline: var(--wv-px);
	height: var(--wv-header-h);
}

/* Logo : affiché tel quel, seule sa hauteur est fixée (proportions conservées) */
.wv-logo { position: relative; z-index: 2; display: inline-flex; align-items: center; text-decoration: none; margin-right: auto; flex-shrink: 0; }
.wv-logo .wv-logo__img { height: var(--wv-logo-h); width: auto; max-width: none; }
.wv-logo__text { font-size: 1.35rem; font-weight: 700; font-stretch: 85%; letter-spacing: -.01em; }
.wv-logo.wv-logo--footer .wv-logo__img { height: calc(var(--wv-logo-h) * 1.15); }

.wv-nav__list { display: flex; gap: .25rem; margin: 0; padding: 0; list-style: none; }
.wv-nav__link {
	position: relative; display: inline-block; padding: .5rem .85rem;
	font-size: .95rem; font-weight: 500; text-decoration: none; color: inherit;
}
.wv-nav__link::after {
	content: ""; position: absolute; left: .85rem; right: .85rem; bottom: .3rem; height: 1px;
	background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .35s var(--wv-ease);
}
.wv-nav__link:hover::after { transform: scaleX(1); transform-origin: left; }

.wv-burger {
	position: relative; z-index: 2; display: none;
	width: 46px; height: 46px; padding: 0; border: 1px solid rgba(239, 236, 230, .25);
	border-radius: 50%; background: transparent; cursor: pointer; color: var(--wv-ink); border-color: rgba(26, 31, 43, .2);
}
.wv-burger__bar {
	position: absolute; left: 14px; right: 14px; height: 1.5px; background: var(--wv-ink);
	transition: transform .35s var(--wv-ease), top .35s var(--wv-ease);
}
.wv-burger__bar:nth-child(1) { top: 18px; }
.wv-burger__bar:nth-child(2) { top: 26px; }
.wv-burger[aria-expanded="true"] .wv-burger__bar:nth-child(1) { top: 22px; transform: rotate(45deg); }
.wv-burger[aria-expanded="true"] .wv-burger__bar:nth-child(2) { top: 22px; transform: rotate(-45deg); }

.wv-nav__cta { display: none; }

/* Menu mobile plein écran */
@media (max-width: 1023px) {
	.wv-burger { display: block; }
	.wv-nav {
		position: fixed; inset: 0; z-index: 1;
		display: flex; flex-direction: column; justify-content: flex-end; gap: 2rem;
		padding: calc(var(--wv-header-h) + 2rem) var(--wv-px) max(2.5rem, env(safe-area-inset-bottom));
		background: #fff; color: var(--wv-ink);
		opacity: 0; visibility: hidden;
		transition: opacity .35s var(--wv-ease), visibility 0s linear .35s;
	}
	.wv-menu-open .wv-nav { opacity: 1; visibility: visible; transition: opacity .35s var(--wv-ease); }
	.wv-menu-open { overflow: hidden; }
	.wv-nav__list { flex-direction: column; gap: 0; }
	.wv-nav__list li { border-top: 1px solid rgba(26, 31, 43, .12); }
	.wv-nav__link {
		display: block; padding: .9rem 0;
		font-size: clamp(2.2rem, 10vw, 3.6rem); font-weight: 700; font-stretch: 78%;
		text-transform: uppercase; line-height: 1;
	}
	.wv-nav__link::after { display: none; }
	.wv-nav__cta { display: inline-flex; align-self: flex-start; }
	.wv-header__cta { display: none; }
}
@media (min-width: 640px) and (max-width: 1023px) {
	.wv-header__cta { display: inline-flex; }
}

/* ---------- 5. Hero ---------- */
.wv-hero {
	position: relative;
	min-height: 100vh; min-height: 100svh;
	display: flex; align-items: flex-end;
	padding-top: calc(var(--wv-header-h) + 2rem);
	padding-bottom: clamp(2rem, 5vw, 3.5rem);
	background: var(--wv-ink); color: var(--wv-light);
	overflow: hidden;
}
.wv-hero__inner { display: grid; gap: clamp(2rem, 5vw, 4rem); }

.wv-hero__titre {
	font-size: clamp(2.6rem, 11.2vw, 12.5rem);
	font-weight: 700; font-stretch: 75%;
	line-height: .86; letter-spacing: -.015em;
	text-transform: uppercase;
	overflow-wrap: break-word;
}
.wv-hero__ligne { display: block; overflow: hidden; padding-bottom: .05em; margin-bottom: -.05em; }
.wv-hero__ligne > span { display: inline-block; }
@media (min-width: 768px) {
	.wv-hero__ligne:nth-child(2) { padding-left: 9vw; }
	.wv-hero__ligne:nth-child(3) { text-align: right; }
}

.wv-hero__bas {
	display: grid; gap: 1.75rem;
	padding-top: clamp(1.5rem, 3vw, 2.25rem);
	border-top: 1px solid rgba(239, 236, 230, .16);
}
.wv-hero__texte { max-width: 40ch; font-size: clamp(1.05rem, 1.5vw, 1.3rem); line-height: 1.5; color: var(--wv-light); }
.wv-hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; }
@media (min-width: 900px) {
	.wv-hero__bas { grid-template-columns: 1fr auto; align-items: end; }
}
.wv-hero__statut { display: inline-flex; align-items: center; gap: .6rem; font-size: .9rem; color: var(--wv-muted-d); }
.wv-dot { position: relative; width: 8px; height: 8px; border-radius: 50%; background: var(--wv-ok); }

/* L'unique animation automatique : le titre se dévoile au chargement */
@media (prefers-reduced-motion: no-preference) {
	.wv-hero__ligne > span {
		transform: translateY(105%);
		animation: wv-rise 1s var(--wv-ease) forwards;
		animation-delay: calc(var(--i, 0) * 110ms + 120ms);
	}
	.wv-hero__bas, .wv-hero__statut {
		opacity: 0; animation: wv-fade .8s ease forwards .65s;
	}
	.wv-dot::after {
		content: ""; position: absolute; inset: 0; border-radius: 50%; background: var(--wv-ok);
		animation: wv-pulse 2.4s ease-out infinite;
	}
}
@keyframes wv-rise { to { transform: translateY(0); } }
@keyframes wv-fade { to { opacity: 1; } }
@keyframes wv-pulse { 0% { transform: scale(1); opacity: .6; } 100% { transform: scale(3); opacity: 0; } }

/* ---------- 6. Sections communes ---------- */
.wv-section { padding-block: var(--wv-py); }
.wv-section--clair { background: var(--wv-paper); color: var(--wv-ink); }
.wv-section--sombre { background: var(--wv-ink); color: var(--wv-light); }

.wv-h2 {
	font-size: clamp(2.5rem, 6.4vw, 6rem);
	font-weight: 700; font-stretch: 78%;
	line-height: .92; letter-spacing: -.01em;
	text-transform: uppercase;
	text-wrap: balance;
}
.wv-intro { max-width: 34ch; margin-top: 1.25rem; font-size: clamp(1.05rem, 1.35vw, 1.25rem); line-height: 1.5; }
.wv-section--clair .wv-intro { color: var(--wv-muted-l); }
.wv-section--sombre .wv-intro { color: var(--wv-muted-d); }

.wv-split { display: grid; gap: clamp(2.5rem, 5vw, 4rem); }
@media (min-width: 960px) {
	.wv-split { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(3rem, 6vw, 6rem); }
	.wv-services .wv-split__tete { position: sticky; top: calc(var(--wv-header-h) + 2.5rem); align-self: start; }
}

/* ---------- 7. Services ---------- */
.wv-services__liste { border-bottom: 1px solid rgba(22, 21, 19, .16); }
.wv-service { border-top: 1px solid rgba(22, 21, 19, .16); }
.wv-service__tete {
	display: grid; grid-template-columns: 1fr auto; column-gap: 1.5rem; row-gap: .35rem; align-items: center;
	padding-block: clamp(1.3rem, 2.4vw, 2rem);
	cursor: pointer; list-style: none;
}
.wv-service__tete::-webkit-details-marker { display: none; }
.wv-service__titre {
	grid-column: 1; font-size: clamp(1.6rem, 3.2vw, 2.9rem);
	font-weight: 600; font-stretch: 88%; line-height: 1.05; letter-spacing: -.01em;
	transition: transform .4s var(--wv-ease);
}
.wv-service__resume { grid-column: 1; grid-row: 2; color: var(--wv-muted-l); font-size: 1rem; }
.wv-service__icone {
	grid-column: 2; grid-row: 1 / span 2; position: relative;
	width: 44px; height: 44px; border: 1px solid rgba(22, 21, 19, .25); border-radius: 50%;
	transition: transform .4s var(--wv-ease), background-color .25s, border-color .25s;
}
.wv-service__icone::before, .wv-service__icone::after {
	content: ""; position: absolute; top: 50%; left: 50%; width: 14px; height: 1.5px;
	background: currentColor; transform: translate(-50%, -50%);
}
.wv-service__icone::after { transform: translate(-50%, -50%) rotate(90deg); }
.wv-service[open] .wv-service__icone { transform: rotate(45deg); background: var(--wv-ink); border-color: var(--wv-ink); color: var(--wv-paper); }
@media (hover: hover) {
	.wv-service__tete:hover .wv-service__titre { transform: translateX(.6rem); }
}
@media (min-width: 1200px) {
	.wv-service__tete { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) auto; }
	.wv-service__resume { grid-column: 2; grid-row: 1; }
	.wv-service__icone { grid-column: 3; grid-row: 1; }
}
.wv-service__corps { padding-bottom: clamp(1.5rem, 2.6vw, 2.25rem); }
.wv-service__corps p { max-width: 54ch; color: var(--wv-muted-l); }
.wv-tags { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.25rem; }
.wv-tags li {
	padding: .4rem .85rem; border: 1px solid rgba(22, 21, 19, .2); border-radius: var(--wv-radius);
	font-size: .85rem; font-weight: 500;
}
/* Ouverture fluide (navigateurs récents) */
@supports selector(::details-content) {
	.wv-service::details-content {
		block-size: 0; overflow: hidden;
		transition: block-size .5s var(--wv-ease), content-visibility .5s allow-discrete;
	}
	.wv-service[open]::details-content { block-size: auto; }
}
@media (prefers-reduced-motion: reduce) {
	.wv-service::details-content { transition: none; }
}

/* ---------- 8. Réalisations ---------- */
.wv-real__tete { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 1rem 3rem; margin-bottom: clamp(2.5rem, 5vw, 4.5rem); }
.wv-real__tete .wv-intro { margin-top: 0; }

.wv-projets { border-bottom: 1px solid rgba(239, 236, 230, .14); }
.wv-projet { border-top: 1px solid rgba(239, 236, 230, .14); transition: opacity .35s; }
.wv-projet__lien {
	display: grid; grid-template-columns: 1fr auto; column-gap: 1.5rem; row-gap: .3rem; align-items: baseline;
	padding-block: clamp(1.4rem, 2.6vw, 2.4rem);
	text-decoration: none; color: inherit;
}
.wv-projet__nom {
	grid-column: 1 / -1;
	font-size: clamp(2rem, 5.6vw, 5.4rem);
	font-weight: 700; font-stretch: 78%; line-height: .95; letter-spacing: -.01em;
	text-transform: uppercase;
	transition: transform .5s var(--wv-ease);
}
.wv-projet__type, .wv-projet__annee { font-size: .95rem; color: var(--wv-muted-d); }
.wv-projet__annee { text-align: right; font-variant-numeric: tabular-nums; }
@media (min-width: 900px) {
	.wv-projet__lien { grid-template-columns: minmax(0, 1fr) 14rem 4rem; }
	.wv-projet__nom { grid-column: 1; }
}

/* Image du projet : visible dans la liste sur écrans tactiles */
.wv-projet__media {
	grid-column: 1 / -1; order: -1;
	aspect-ratio: 16 / 10; margin-bottom: 1rem; overflow: hidden; border-radius: 6px;
	background: var(--wv-ink-2);
}
.wv-projet__media img { width: 100%; height: 100%; object-fit: cover; }
.wv-ph {
	display: grid; place-items: center; width: 100%; height: 100%;
	background:
		radial-gradient(120% 90% at 20% 10%, hsl(var(--ph-h, 228) 55% 42%), transparent 60%),
		hsl(var(--ph-h, 228) 30% 16%);
	color: rgba(239, 236, 230, .85);
}
.wv-ph span { font-size: clamp(1.2rem, 3vw, 2rem); font-weight: 700; font-stretch: 78%; text-transform: uppercase; }

/* Ordinateur : la liste devient interactive, l'image suit la souris */
@media (hover: hover) and (pointer: fine) {
	.wv-projet__media { display: none; }
	.wv-projets:hover .wv-projet:not(:hover) { opacity: .32; }
	.wv-projet:hover .wv-projet__nom { transform: translateX(1.25rem); }
	.wv-preview {
		position: fixed; top: 0; left: 0; z-index: 60;
		width: clamp(280px, 27vw, 460px); aspect-ratio: 16 / 10;
		pointer-events: none;
		transform: translate3d(var(--x, -999px), var(--y, -999px), 0);
	}
	.wv-preview__inner {
		width: 100%; height: 100%; overflow: hidden; border-radius: 6px;
		opacity: 0; transform: scale(.85) rotate(-2deg);
		transition: opacity .3s ease, transform .45s var(--wv-ease);
		box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .6);
	}
	.wv-preview.is-visible .wv-preview__inner { opacity: 1; transform: none; }
	.wv-preview__inner img, .wv-preview__inner .wv-ph { width: 100%; height: 100%; object-fit: cover; }
}
@media not ((hover: hover) and (pointer: fine)) {
	.wv-preview { display: none; }
}

/* ---------- 9. À propos ---------- */
.wv-apropos__phrase {
	font-size: clamp(1.75rem, 3.5vw, 3.3rem);
	font-weight: 500; font-stretch: 92%;
	line-height: 1.08; letter-spacing: -.015em;
	max-width: 22ch; text-wrap: balance;
}
.wv-apropos__bloc { display: grid; gap: 2rem; margin-top: clamp(2rem, 4vw, 3.5rem); }
.wv-apropos__texte { max-width: 52ch; color: var(--wv-muted-l); }
.wv-apropos__media { aspect-ratio: 4 / 5; overflow: hidden; border-radius: 6px; max-width: 420px; }
.wv-apropos__media img { width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 1100px) {
	.wv-apropos__bloc.has-image { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
}

.wv-methode { margin-top: clamp(4rem, 9vw, 8rem); }
.wv-methode__titre { font-size: clamp(1.4rem, 2.2vw, 1.9rem); font-weight: 600; font-stretch: 88%; margin-bottom: 2rem; }
.wv-methode__liste { display: grid; gap: 2.5rem 2rem; counter-reset: none; }
@media (min-width: 640px) { .wv-methode__liste { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .wv-methode__liste { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.wv-etape { padding-top: 1.25rem; border-top: 1px solid var(--wv-ink); }
.wv-etape__num {
	display: block; margin-bottom: 1.5rem;
	font-size: clamp(2.6rem, 4vw, 3.6rem); font-weight: 250; font-stretch: 75%; line-height: 1;
	font-variant-numeric: tabular-nums; color: var(--wv-muted-l);
}
.wv-etape__titre { font-size: 1.25rem; font-weight: 600; margin-bottom: .5rem; }
.wv-etape__texte { color: var(--wv-muted-l); max-width: 34ch; }

/* ---------- 10. Contact ---------- */
.wv-contact__titre {
	font-size: clamp(3rem, 10.5vw, 11.5rem);
	font-weight: 700; font-stretch: 75%;
	line-height: .86; letter-spacing: -.015em;
	text-transform: uppercase; text-wrap: balance;
	margin-bottom: clamp(3rem, 6vw, 5.5rem);
}
.wv-contact__grille { display: grid; gap: clamp(3rem, 6vw, 6rem); }
@media (min-width: 1024px) {
	.wv-contact__grille { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
}
.wv-contact__infos .wv-intro { margin-top: 0; }
.wv-contact__direct { display: grid; gap: .5rem; margin-top: 2.5rem; }
.wv-lien-xl {
	font-size: clamp(1.3rem, 2.2vw, 1.9rem); font-weight: 500; text-decoration: none;
	background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat;
	transition: background-size .45s var(--wv-ease); padding-bottom: .1em;
	overflow-wrap: anywhere;
}
.wv-lien-xl:hover { background-size: 0 1px; background-position: 100% 100%; }
.wv-contact__reseaux { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin-top: 2rem; }
.wv-contact__reseaux a { color: var(--wv-muted-d); text-decoration: none; transition: color .2s; }
.wv-contact__reseaux a:hover { color: var(--wv-light); }

/* Formulaire */
.wv-form { display: grid; gap: 2rem; }
.wv-champs { display: grid; gap: 2rem 1.5rem; }
@media (min-width: 640px) { .wv-champs { grid-template-columns: 1fr 1fr; } .wv-champs .wv-champ:last-child { grid-column: 1 / -1; } }
.wv-champ { display: grid; gap: .5rem; }
.wv-champ label, .wv-choix legend { font-size: .9rem; color: var(--wv-muted-d); }
.wv-opt { opacity: .7; }
.wv-champ input, .wv-champ textarea {
	width: 100%; padding: .7rem 0; border: 0; border-bottom: 1px solid rgba(239, 236, 230, .25);
	border-radius: 0; background: transparent; color: var(--wv-light);
	font-size: 1.15rem; transition: border-color .25s;
}
.wv-champ textarea { resize: vertical; min-height: 8rem; line-height: 1.5; }
.wv-champ input:focus, .wv-champ textarea:focus { outline: none; border-bottom-color: var(--wv-light); }
.wv-champ input:focus-visible, .wv-champ textarea:focus-visible { box-shadow: 0 1px 0 0 var(--wv-light); }
.wv-champ input:user-invalid, .wv-champ textarea:user-invalid { border-bottom-color: #ff7a6b; }

.wv-choix { margin: 0; padding: 0; border: 0; min-width: 0; }
.wv-choix legend { padding: 0; margin-bottom: .85rem; }
.wv-chips { display: flex; flex-wrap: wrap; gap: .55rem; }
.wv-chip { position: relative; cursor: pointer; }
.wv-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.wv-chip span {
	display: inline-block; padding: .6rem 1.05rem; border: 1px solid rgba(239, 236, 230, .25);
	border-radius: var(--wv-radius); font-size: .95rem; line-height: 1.1;
	transition: background-color .2s, color .2s, border-color .2s;
}
.wv-chip:hover span { border-color: var(--wv-light); }
.wv-chip input:checked + span { background: var(--wv-light); color: var(--wv-ink); border-color: var(--wv-light); }
.wv-chip input:focus-visible + span { outline: 2px solid var(--wv-light); outline-offset: 3px; }

.wv-accord { display: flex; gap: .75rem; align-items: flex-start; font-size: .9rem; color: var(--wv-muted-d); cursor: pointer; }
.wv-accord input { flex-shrink: 0; width: 1.15rem; height: 1.15rem; margin-top: .15rem; accent-color: var(--wv-accent); }
.wv-accord a { color: var(--wv-light); }
.wv-form__envoyer { justify-self: start; }
.wv-form__envoyer[disabled] { opacity: .6; cursor: progress; }
.wv-form__note { font-size: .8rem; color: var(--wv-muted-d); margin-top: -1rem; }
.wv-piege { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.wv-alerte { padding: 1rem 1.25rem; border-radius: 8px; font-weight: 500; }
.wv-alerte--ok { background: rgba(70, 210, 127, .12); border: 1px solid rgba(70, 210, 127, .5); }
.wv-alerte--erreur { background: rgba(255, 122, 107, .1); border: 1px solid rgba(255, 122, 107, .5); }

/* ---------- 11. Pied de page ---------- */
.wv-footer {
	background: #fff; color: var(--wv-ink);
	border-top: 1px solid rgba(26, 31, 43, .1);
	padding-block: clamp(3.5rem, 7vw, 6rem) 2rem;
	font-family: var(--wv-font);
}
.wv-footer ul { margin: 0; padding: 0; list-style: none; }
.wv-footer a { color: inherit; text-decoration: none; }
.wv-footer__inner { display: grid; gap: 3rem; }
.wv-footer__desc { max-width: 36ch; margin: 1.25rem 0 0; color: var(--wv-muted-l); font-size: .95rem; }
.wv-footer__nav { display: flex; gap: 3rem 5rem; flex-wrap: wrap; }
.wv-footer__nav ul { display: grid; gap: .5rem; }
.wv-footer__nav a { transition: color .2s; }
.wv-footer__nav a:hover { color: var(--wv-accent); }
.wv-footer__bas {
	grid-column: 1 / -1; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem;
	padding-top: 2rem; border-top: 1px solid rgba(26, 31, 43, .1);
	font-size: .85rem; color: var(--wv-muted-l);
}
.wv-footer__bas p { margin: 0; }
.wv-footer__legal { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.wv-footer__legal a:hover { color: var(--wv-accent); }
@media (min-width: 900px) {
	.wv-footer__inner { grid-template-columns: 1fr auto; }
}

/* ---------- 12. Pages intérieures (mentions légales…) ---------- */
body.wv-inner { background: var(--wv-paper); color: var(--wv-ink); }
.wv-inner .site { padding-top: calc(var(--wv-header-h) + 2rem); }
.wv-inner .site-content, .wv-inner .inside-article { background: transparent; }
.wv-inner .entry-title {
	font-family: var(--wv-font); font-size: clamp(2.2rem, 5vw, 4.5rem);
	font-weight: 700; font-stretch: 78%; line-height: .95; text-transform: uppercase;
}
.wv-inner .entry-content { max-width: 70ch; }
.wv-inner .entry-content a { color: var(--wv-ink); }
.wv-inner h1, .wv-inner h2, .wv-inner h3, .wv-inner h4 { font-family: var(--wv-font); }
.wv-inner .wv-header .wv-nav__list { margin: 0; }
