/*
 * moteurs-electriques.net — thème mel-stator (v1.0.0, 03/11/2026).
 * « Le stator et sa plaque » : ce qu'on voit quand on ouvre un moteur (la couronne d'encoches où logent
 * les bobinages de cuivre) et ce qu'on lit dessus avant de demander une réparation (la plaque rivetée).
 *
 * Mode clair UNIQUEMENT (color-scheme:light posé exprès : un navigateur réglé en sombre ne réécrit ni les
 * champs ni les boutons). Une seule feuille. Jetons --alu / --encre / --bleu / --cuivre / --jaune,
 * classes .mel-*.
 *
 * Signature visuelle :
 *   - COURONNE : anneau graphite à 36 encoches, un trait de cuivre par encoche (hero, pages ville) ;
 *   - PLAQUE   : carte aluminium à 4 rivets, champs en lignes de plaque (formulaire, relevés, table) ;
 *   - LISERÉ D'ENCOCHES : une seule ligne de petites encoches cuivre au bord des bandes sombres ;
 *   - rayons 14 px (cartes), 22 px (photos), 999 px (boutons), 10 px (plaque : métal découpé).
 * Cuivre = signature uniquement (encoches, liserés, filets, chiffres de cartouche), jamais un fond de bouton.
 * Boutons d'action = Jaune isolant, texte Encre acier.
 */

/* ===================== 1. JETONS ===================== */
:root{
	color-scheme:light;

	--alu:#E7EAE8;
	--alu-2:#DAE0DD;
	--alu-clair:#F3F5F4;
	--blanc:#FFFFFF;
	--encre:#17202A;
	--encre-2:#2A3541;
	--bleu:#2D5876;
	--bleu-fonce:#1F4259;
	--bleu-pale:#E6EEF3;
	--cuivre:#A9561F;
	--cuivre-fonce:#8A4515;
	--cuivre-pale:#F6E3D5;
	--jaune:#F0C230;
	--jaune-fonce:#E0AE12;
	--jaune-pale:#FFF4CC;
	--trait:#C9CFCC;
	--gris:#4A5560;
	--alerte:#A3261A;
	--alerte-fond:#FBE9E6;

	--f-titre:'Saira','Arial Narrow',Arial,sans-serif;
	--f-corps:'Public Sans',system-ui,-apple-system,'Segoe UI',sans-serif;

	--r-carte:14px;
	--r-photo:22px;
	--r-btn:999px;
	--r-plaque:10px;
	--r-champ:8px;

	--ombre:0 18px 40px -18px rgba(23,32,42,.35);
	--ombre-douce:0 1px 2px rgba(23,32,42,.06),0 10px 26px -14px rgba(23,32,42,.28);

	/* liseré d'encoches : une seule ligne répétée */
	--encoches:repeating-linear-gradient(90deg,var(--cuivre) 0 6px,transparent 6px 16px);
	/* repli propre d'une photo absente : aplat aluminium + encoches, jamais une case vide */
	--motif-vide:repeating-linear-gradient(90deg,rgba(169,86,31,.22) 0 5px,transparent 5px 17px),linear-gradient(180deg,var(--alu-2),var(--alu));

	--conteneur:1280px;
	--marge:40px;
	--aside:380px;
}
@media (min-width:1700px){ :root{ --conteneur:1440px; } }
@media (max-width:1180px){ :root{ --marge:28px; } }
@media (max-width:760px){ :root{ --marge:16px; } }

/* ===================== 2. BASE ===================== */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} }
body{
	margin:0;
	min-height:100vh;
	display:flex;flex-direction:column;
	background:var(--alu);
	color:var(--encre);
	font-family:var(--f-corps);
	font-size:17px;
	line-height:1.6;
	-webkit-font-smoothing:antialiased;
	overflow-x:hidden;
}
body > header,body > nav,body > main,body > footer{width:100%;}
body > main{flex:1 0 auto;}
body > footer{margin-top:auto;}
img,svg{max-width:100%;display:block;}
img{height:auto;}
a{color:inherit;text-decoration:none;}
button{font:inherit;cursor:pointer;background:none;border:none;color:inherit;}
ul,ol{list-style:none;margin:0;padding:0;}
h1,h2,h3,h4{font-family:var(--f-titre);font-weight:700;font-variation-settings:'wdth' 116;margin:0;color:var(--encre);line-height:1.1;letter-spacing:0;}
h3,h4{font-variation-settings:'wdth' 108;font-weight:650;}
p{margin:0 0 16px;}
:focus-visible{outline:3px solid var(--bleu);outline-offset:2px;}
.mel-section--encre :focus-visible,.mel-footer :focus-visible,.mel-art-tete :focus-visible,.mel-rub-tete :focus-visible,.mel-bandeau-encre :focus-visible{outline-color:var(--jaune);}
[hidden]{display:none!important;}
.conteneur{max-width:calc(var(--conteneur) + 2*var(--marge));margin-inline:auto;padding-inline:var(--marge);}
.mel-accent{color:var(--cuivre-fonce);}
.mel-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.mel-skip{position:absolute;left:-9999px;top:0;background:var(--encre);color:#fff;padding:12px 20px;z-index:999;border-radius:0 0 8px 0;}
.mel-skip:focus{left:0;}
.mel-lien{color:var(--bleu);font-weight:700;text-decoration:underline;text-decoration-color:rgba(45,88,118,.4);text-underline-offset:3px;}
.mel-lien:hover{text-decoration-color:var(--bleu);}

/* Apparition : le contenu est TOUJOURS visible (opacity 1) ; avec JS, une section sous le pli se glisse de 16 px, rien d'autre. */
[data-mel-apparait]{transition:transform .6s cubic-bezier(.2,.7,.2,1);}
[data-mel-apparait].est-pret{transform:translateY(16px);}
[data-mel-apparait].est-pret.est-visible{transform:none;}
@media (prefers-reduced-motion:reduce){ [data-mel-apparait],[data-mel-apparait].est-pret{transform:none;transition:none;} }

/* ===================== 3. BOUTONS ===================== */
.mel-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:10px;
	height:50px;padding:0 24px;border-radius:var(--r-btn);
	font-family:var(--f-corps);font-weight:700;font-size:16px;line-height:1;white-space:nowrap;
	background:transparent;color:var(--encre);border:2px solid var(--encre);
	transition:transform .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease,border-color .16s ease;
}
.mel-btn:hover{transform:translateY(-2px);box-shadow:0 10px 18px -12px rgba(23,32,42,.6);}
.mel-btn__fleche{display:inline-flex;transition:transform .16s ease;}
.mel-btn__fleche svg{width:18px;height:18px;}
.mel-btn:hover .mel-btn__fleche{transform:translateX(3px);}
.mel-btn--jaune{background:var(--jaune);color:var(--encre);border-color:var(--jaune);}
.mel-btn--jaune:hover{background:var(--jaune-fonce);border-color:var(--jaune-fonce);}
.mel-btn--encre{background:var(--encre);color:#fff;border-color:var(--encre);}
.mel-btn--encre:hover{background:var(--encre-2);border-color:var(--encre-2);}
.mel-btn--contour-clair{color:#fff;border-color:rgba(255,255,255,.65);}
.mel-btn--contour-clair:hover{background:rgba(255,255,255,.1);border-color:#fff;}
.mel-btn--grand{height:56px;padding:0 30px;}
.mel-btn:disabled,.mel-btn.est-desactive{opacity:.4;pointer-events:none;box-shadow:none;}

/* ===================== 4. EN-TÊTE ===================== */
.mel-header{position:sticky;top:0;z-index:60;background:var(--blanc);border-bottom:1px solid var(--trait);padding:12px 0;transition:box-shadow .25s ease;}
.mel-header.est-colle{box-shadow:0 12px 24px -18px rgba(23,32,42,.5);}
.mel-header__ligne{display:flex;align-items:center;gap:20px;}
.mel-logo{display:flex;align-items:center;gap:11px;margin-right:auto;min-width:0;}
.mel-logo__symbole{width:40px;height:40px;flex:none;}
.mel-logo__symbole img,.mel-logo__symbole svg{display:block;width:100%;height:100%;}
.mel-logo__texte{font-family:var(--f-titre);font-variation-settings:'wdth' 100;font-weight:700;font-size:20px;line-height:1;color:var(--encre);white-space:nowrap;}
.mel-logo--clair{margin-right:0;}
.mel-logo--clair .mel-logo__symbole{width:38px;height:38px;}
.mel-logo--clair .mel-logo__texte{color:#fff;}

.mel-nav{display:flex;align-items:center;}
.mel-nav__liste{display:flex;gap:2px;flex-wrap:nowrap;}
.mel-nav__lien{
	display:inline-flex;align-items:center;height:44px;padding:0 14px;
	font-weight:600;font-size:15px;white-space:nowrap;color:var(--encre);
	box-shadow:inset 0 -3px 0 transparent;transition:box-shadow .18s ease,color .18s ease;
}
.mel-nav__lien:hover{box-shadow:inset 0 -3px 0 var(--encre);}
.mel-nav__lien.est-actif{box-shadow:inset 0 -3px 0 var(--cuivre);}
.mel-header__cta{height:44px;padding:0 22px;font-size:15px;flex:none;}
.mel-nav__bascule{display:none;width:44px;height:44px;border-radius:12px;background:var(--blanc);border:2px solid var(--encre);align-items:center;justify-content:center;flex:none;}
.mel-nav__traits,.mel-nav__traits::before,.mel-nav__traits::after{display:block;width:18px;height:2px;background:var(--encre);}
.mel-nav__traits{position:relative;}
.mel-nav__traits::before{content:"";position:absolute;top:-6px;}
.mel-nav__traits::after{content:"";position:absolute;top:6px;}

.mel-mobile-panel{position:fixed;inset:0;background:var(--alu);z-index:100;display:flex;flex-direction:column;padding:20px var(--marge);transform:translateY(-100%);transition:transform .3s ease;visibility:hidden;}
.mel-mobile-panel.est-ouvert{transform:none;visibility:visible;}
.mel-mobile-panel__tete{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;}
.mel-mobile-panel__tete .mel-nav__bascule svg{width:22px;height:22px;}
.mel-mobile-panel__liste{display:flex;flex-direction:column;flex:1;overflow-y:auto;}
.mel-mobile-panel__lien{height:58px;display:flex;align-items:center;font-family:var(--f-titre);font-variation-settings:'wdth' 108;font-weight:700;font-size:22px;border-bottom:1px solid var(--trait);}
.mel-mobile-panel__cta{margin-top:20px;}

@media (max-width:1100px){
	.mel-nav__liste{display:none;}
	.mel-nav__bascule{display:flex;}
	.mel-header__cta .mel-header__cta-long{display:none;}
}
@media (min-width:1101px){ .mel-header__cta-court{display:none;} }
@media (max-width:480px){
	.mel-header__ligne{gap:10px;}
	.mel-logo__symbole{width:34px;height:34px;}
	.mel-logo__texte{font-size:16px;}
	.mel-header__cta{padding:0 14px;height:42px;}
	.mel-nav__bascule{width:42px;height:42px;}
}

/* ===================== 5. BANDES DE SECTION ===================== */
.mel-section{position:relative;padding:clamp(36px,5.5vh,56px) 0;}
.mel-section__in{position:relative;}
.mel-section--blanc{background:var(--blanc);border-block:1px solid var(--trait);}
.mel-section--encre{background:var(--encre);color:rgba(255,255,255,.88);}
.mel-section--encre h2,.mel-section--encre h3{color:#fff;}
.mel-section--encre::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--encoches);}
.mel-section__tete{margin-bottom:28px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;}
.mel-section__tete--ligne{flex-direction:row;align-items:baseline;justify-content:space-between;gap:12px 40px;flex-wrap:wrap;}
.mel-section__tete--ligne .mel-section__chapo{margin:0;}
.mel-section h2,.mel-zone__texte > h2{font-size:clamp(26px,2.5vw,38px);line-height:1.08;}
.mel-section__chapo{color:var(--gris);font-size:18px;max-width:46em;margin:0 0 14px;}
.mel-section--encre .mel-section__chapo{color:rgba(255,255,255,.8);}
.mel-panneau-etroit{max-width:calc(900px + 2*var(--marge));}
.mel-lieu{display:inline-block;margin:0 0 12px;font:600 15px var(--f-titre);color:var(--jaune);}

/* Cadre photo arrondi, liseré cuivre : repli propre si la photo manque */
.mel-cadre-photo{position:relative;border-radius:var(--r-photo);overflow:hidden;background:var(--motif-vide);border:3px solid var(--cuivre);box-shadow:var(--ombre);}
.mel-cadre-photo img{display:block;width:100%;height:100%;object-fit:cover;}

/* ===================== 6. HERO : LA COURONNE ET LA PLAQUE ===================== */
.mel-hero{position:relative;background:var(--alu);overflow:hidden;overflow:clip;--col-texte:clamp(420px,36vw,600px);}
.mel-hero__in{
	max-width:calc(var(--conteneur) + 2*var(--marge));margin-inline:auto;padding:28px var(--marge) 36px;
	display:grid;grid-template-columns:minmax(0,var(--col-texte)) minmax(0,1fr);column-gap:32px;align-items:center;
}
.mel-hero__texte{padding-block:8px;}
.mel-hero__titre{font-size:clamp(34px,3.35vw,60px);line-height:1.02;margin:0 0 18px;}
.mel-hero__titre .mel-ligne{display:block;white-space:nowrap;}
.mel-hero__titre--ville{font-size:clamp(30px,2.7vw,46px);line-height:1.06;}
.mel-hero__titre--ville .mel-ligne{white-space:normal;}
.mel-hero__chapo{font-size:18px;color:var(--gris);max-width:30em;margin:0 0 22px;text-wrap:pretty;}
.mel-hero__cta{display:none;}
.mel-hero__rassure{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0;font-size:15px;font-weight:600;}
.mel-hero__rassure span{display:inline-flex;align-items:center;gap:8px;}
.mel-hero__rassure svg{width:20px;height:20px;color:var(--bleu);flex:none;}

.mel-hero__zone{position:relative;height:560px;}
.mel-couronne{position:absolute;width:560px;height:560px;right:-96px;top:0;}
.mel-couronne__svg{position:absolute;inset:0;width:100%;height:100%;}
.mel-couronne__trou{fill:var(--alu-clair);}
.mel-couronne__encoche{fill:var(--alu);}
.mel-couronne__fil{stroke:var(--cuivre);}
@media (prefers-reduced-motion:no-preference){
	.mel-couronne__fil{animation:mel-allume .26s ease-out backwards;animation-delay:calc(var(--i) * 18ms);}
}
@keyframes mel-allume{from{stroke:#56626F;opacity:.35;}to{stroke:#A9561F;opacity:1;}}
.mel-couronne__photo{
	position:absolute;left:50%;top:50%;width:52%;aspect-ratio:1/1;transform:translate(-50%,-50%);
	border-radius:50%;overflow:hidden;background:var(--motif-vide);
	box-shadow:0 0 0 6px var(--blanc),0 16px 34px -10px rgba(23,32,42,.55);
}
.mel-couronne__photo img,.mel-couronne__photo picture{display:block;width:100%;height:100%;}
.mel-couronne__photo img{object-fit:cover;object-position:50% 50%;}

.mel-hero__plaque{position:absolute;z-index:5;left:0;top:20px;width:400px;max-width:none;}
.mel-credit-photo{position:absolute;right:8px;bottom:6px;z-index:6;max-width:60%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:rgba(23,32,42,.84);color:#fff;font-size:11px;line-height:1.3;padding:3px 10px;border-radius:999px;}
.mel-credit-photo a{color:#fff;text-decoration:underline;}

.mel-hero--qsn .mel-hero__zone{height:480px;}
.mel-hero--qsn .mel-couronne{width:480px;height:480px;right:-60px;}
.mel-hero--qsn .mel-hero__texte{padding-block:0;}

/* Page commune : la commune est située sur la carte */
.mel-ville-situe{display:flex;align-items:center;gap:16px;background:var(--blanc);border:1px solid var(--trait);border-left:4px solid var(--cuivre);border-radius:var(--r-carte);padding:12px 18px 12px 12px;margin-top:22px;max-width:500px;}
.mel-ville-situe .mel-mini-carte{width:120px;flex:none;}
.mel-ville-situe__texte{display:flex;flex-direction:column;gap:3px;font-size:15px;color:var(--gris);line-height:1.4;}
.mel-ville-situe__texte strong{font:700 20px var(--f-titre);color:var(--encre);}
.mel-mini-carte svg{width:100%;height:auto;}
.mel-mini-carte svg [data-slug]{fill:var(--bleu-pale);stroke:var(--bleu);stroke-width:1;}
.mel-mini-carte svg [data-slug].est-active{fill:var(--cuivre);stroke:var(--cuivre-fonce);}

/* Relevés : lignes de plaque (cartouche de chiffres) */
.mel-releves{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;position:relative;background:linear-gradient(150deg,#F8F9F8,#E4E8E6);border:1px solid var(--trait);border-radius:var(--r-plaque);padding:16px 8px;box-shadow:var(--ombre-douce);}
.mel-releves > div{padding:2px 16px;border-left:1px solid var(--trait);min-width:0;}
.mel-releves > div:first-child{border-left:0;}
.mel-releves dt{font-size:13px;color:var(--gris);margin:0 0 2px;}
.mel-releves dd{margin:0;font:700 clamp(26px,2.4vw,34px)/1.1 var(--f-titre);font-variant-numeric:tabular-nums lining-nums;color:var(--encre);}
.mel-releves dd small{font:600 14px var(--f-corps);color:var(--cuivre-fonce);margin-left:5px;}
.mel-releves__date{font-size:clamp(20px,1.8vw,24px)!important;}
.mel-releves--ligne{margin-top:22px;max-width:480px;}

@media (max-width:1180px){
	.mel-hero__in{grid-template-columns:minmax(0,1fr);padding:22px var(--marge) 36px;row-gap:18px;}
	.mel-hero__texte{padding-block:0;}
	.mel-hero__titre .mel-ligne{white-space:normal;}
	.mel-hero__cta{display:inline-flex;margin-bottom:14px;}
	.mel-hero__zone{height:auto;display:flex;flex-direction:column;align-items:center;}
	.mel-couronne{position:relative;right:auto;top:auto;width:min(400px,78vw);height:auto;aspect-ratio:1/1;margin-inline:auto;}
	.mel-hero__plaque{position:relative;left:auto;top:auto;width:100%;max-width:520px;margin:-56px auto 0;}
	.mel-hero--qsn .mel-hero__zone{height:auto;}
	.mel-hero--qsn .mel-couronne{width:min(380px,78vw);height:auto;right:auto;}
	.mel-credit-photo{position:static;margin-top:10px;max-width:100%;}
}
@media (max-width:760px){
	.mel-hero__in{padding-top:14px;padding-bottom:28px;row-gap:10px;}
	.mel-hero__titre{font-size:clamp(30px,8.6vw,38px);margin-bottom:12px;}
	.mel-hero__titre .mel-ligne{display:inline;}
	.mel-hero__titre--ville{font-size:clamp(26px,7.6vw,34px);}
	.mel-hero__chapo{display:none;}
	.mel-hero__rassure{display:none;}
	.mel-hero__cta{margin-bottom:0;width:100%;}
	.mel-couronne{width:min(300px,72vw);}
	.mel-couronne__photo{width:56%;box-shadow:0 0 0 4px var(--blanc),0 12px 24px -10px rgba(23,32,42,.5);}
	.mel-hero__plaque{margin-top:-30px;}
	.mel-ville-situe{display:none;}
	.mel-releves--ligne{margin-top:14px;}
	.mel-releves > div{padding:2px 10px;}
}

/* Barre basse collante (mobile) */
.mel-barre-collante{position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--blanc);border-top:1px solid var(--trait);box-shadow:0 -10px 24px -14px rgba(23,32,42,.35);padding:10px var(--marge);display:none;}
.mel-barre-collante .mel-btn{width:100%;}
@media (max-width:760px){ .mel-barre-collante{display:flex;} .mel-footer{padding-bottom:72px;} }

/* ===================== 7. LA PLAQUE-FORMULAIRE ===================== */
.mel-form{
	position:relative;overflow:hidden;
	background:linear-gradient(150deg,#F8F9F8 0%,#E9ECEA 55%,#DDE2DF 100%);
	border:1px solid var(--trait);border-radius:var(--r-plaque);
	box-shadow:var(--ombre);padding:26px 28px 24px;
}
/* 4 rivets aux coins : un seul élément, quatre dégradés radiaux */
.mel-form::before,.mel-pl__plaque::before,.mel-plaque-bloc::before{
	content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
	background:
		radial-gradient(circle at 13px 13px,#F7F8F8 0 1.5px,#A3ACB4 2.2px 4.4px,#7C8791 4.8px 5.3px,transparent 5.8px),
		radial-gradient(circle at calc(100% - 13px) 13px,#F7F8F8 0 1.5px,#A3ACB4 2.2px 4.4px,#7C8791 4.8px 5.3px,transparent 5.8px),
		radial-gradient(circle at 13px calc(100% - 13px),#F7F8F8 0 1.5px,#A3ACB4 2.2px 4.4px,#7C8791 4.8px 5.3px,transparent 5.8px),
		radial-gradient(circle at calc(100% - 13px) calc(100% - 13px),#F7F8F8 0 1.5px,#A3ACB4 2.2px 4.4px,#7C8791 4.8px 5.3px,transparent 5.8px);
}
.mel-form > *{position:relative;z-index:1;}
.mel-form--pleine{padding:32px 34px 30px;}
.mel-form--compacte{padding:24px 26px 22px;}
.mel-form.est-flash{box-shadow:0 0 0 4px var(--jaune),var(--ombre);}
.mel-form__piege{position:absolute!important;left:-9999px;}

.mel-form__entete{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;min-height:22px;}
.mel-form__compteur{font:600 14px var(--f-titre);font-variation-settings:'wdth' 108;color:var(--gris);text-shadow:0 1px 0 rgba(255,255,255,.8);}
.mel-form__retour{font-size:13px;color:var(--bleu);font-weight:700;text-decoration:underline;text-underline-offset:3px;display:none;}
.mel-form:not([data-pas="0"]) .mel-form__retour{display:inline-flex;}
.mel-form__progression{display:flex;gap:4px;margin-bottom:6px;}
.mel-form__segment{flex:1;height:6px;border-radius:999px;background:#C3CAC7;overflow:hidden;}
.mel-form__segment i{display:block;height:100%;width:0;background:var(--encre);transition:width .4s ease;border-radius:999px;}
.mel-form__segment.est-fait i{width:100%;background:var(--encre);}
.mel-form__segment.est-actif i{width:100%;background:var(--jaune);box-shadow:inset 0 0 0 1px rgba(23,32,42,.25);}
.mel-form__noms-etapes{display:flex;gap:4px;margin-bottom:14px;}
.mel-form__nom-etape{flex:1;font-size:12px;color:var(--gris);text-align:center;}
.mel-form__nom-etape.est-actif{color:var(--encre);font-weight:700;background:linear-gradient(transparent 62%,var(--jaune) 62%,var(--jaune) 92%,transparent 92%);}

.mel-form__etape{display:none;}
.mel-form__etape.est-active{display:block;animation:mel-etape .22s cubic-bezier(.2,.7,.2,1);}
@keyframes mel-etape{from{opacity:0;transform:translateX(20px);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:reduce){ .mel-form__etape.est-active{animation:none;} }

.mel-form__question{font:700 22px/1.15 var(--f-titre);font-variation-settings:'wdth' 112;color:var(--encre);margin:0 0 14px;text-shadow:0 1px 0 rgba(255,255,255,.7);}
.mel-form--compacte .mel-form__question{font-size:19px;margin-bottom:12px;}
.mel-form__tuiles{display:grid;gap:10px;margin-bottom:6px;}
.mel-form__tuiles--grille2{grid-template-columns:1fr 1fr;}
.mel-form__tuile{
	position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;
	min-height:84px;padding:12px 14px;border-radius:12px;
	background:var(--blanc);border:1.5px solid #B9C1C7;text-align:left;
	transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease;
}
.mel-form--compacte .mel-form__tuile{min-height:56px;flex-direction:row;align-items:center;gap:10px;padding:8px 10px;}
.mel-form__tuile:hover{transform:translateY(-2px);border-color:var(--encre);box-shadow:0 8px 16px -12px rgba(23,32,42,.6);}
.mel-form__tuile.est-choisi{border-color:var(--bleu);box-shadow:inset 0 0 0 1.5px var(--bleu);background:var(--bleu-pale);}
.mel-form__tuile__icone{width:36px;height:36px;border-radius:10px;background:var(--cuivre-pale);color:var(--cuivre-fonce);display:flex;align-items:center;justify-content:center;flex:none;}
.mel-form--compacte .mel-form__tuile__icone{width:30px;height:30px;}
.mel-form__tuile__icone svg{width:22px;height:22px;}
.mel-form--compacte .mel-form__tuile__icone svg{width:18px;height:18px;}
.mel-form__tuile__texte{font-weight:700;font-size:15px;line-height:1.25;}
.mel-form--compacte .mel-form__tuile__texte{font-size:13.5px;}
.mel-form__tuile__coche{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;background:var(--bleu);color:#fff;display:flex;align-items:center;justify-content:center;transform:scale(0);transition:transform .15s cubic-bezier(.34,1.56,.64,1);}
.mel-form__tuile.est-choisi .mel-form__tuile__coche{transform:scale(1);}
.mel-form__tuile__coche svg{width:12px;height:12px;}

/* Lignes de plaque : étiquette gravée, valeur, unité */
.mel-champ{margin-bottom:12px;min-width:0;position:relative;}
.mel-champ label,.mel-champ__etiquette{display:block;font-size:13px;font-weight:700;margin-bottom:4px;color:var(--encre);text-shadow:0 1px 0 rgba(255,255,255,.8);}
.mel-champ input,.mel-champ select,.mel-champ textarea{
	width:100%;height:46px;border-radius:var(--r-champ);border:1.5px solid #AEB7BD;border-bottom:3px solid var(--encre);
	padding:0 14px;font:16px var(--f-corps);background:rgba(255,255,255,.85);color:var(--encre);
}
.mel-champ select{appearance:none;-webkit-appearance:none;padding-right:34px;background:rgba(255,255,255,.85) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317202A' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center/16px;}
.mel-champ--unite input{padding-right:62px;}
.mel-champ__unite{position:absolute;right:1.5px;bottom:3px;height:43.5px;min-width:52px;padding:0 10px;display:flex;align-items:center;justify-content:center;font:700 14px var(--f-titre);color:var(--bleu);background:var(--bleu-pale);border-radius:0 7px 0 0;pointer-events:none;}
.mel-champ input:focus,.mel-champ select:focus,.mel-champ textarea:focus{outline:none;border-color:var(--bleu);border-bottom-color:var(--bleu);box-shadow:0 0 0 4px rgba(45,88,118,.2);}
.mel-champ input::placeholder{color:#7A858E;}
.mel-form__rangee{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;}
.mel-form__segmente{display:flex;gap:6px;flex-wrap:wrap;}
.mel-form__segmente button{flex:1;min-width:96px;height:44px;border-radius:var(--r-champ);border:1.5px solid #AEB7BD;background:rgba(255,255,255,.85);font-weight:700;font-size:14px;transition:background .15s,border-color .15s,color .15s;}
.mel-form__segmente button:hover{border-color:var(--encre);}
.mel-form__segmente button.est-choisi{background:var(--encre);border-color:var(--encre);color:#fff;}

.mel-form__pilules-rapides{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 14px;}
.mel-form__pilule{height:38px;padding:0 14px;border-radius:999px;background:var(--blanc);color:var(--encre);font-size:13.5px;font-weight:700;border:1.5px solid #AEB7BD;}
.mel-form__pilule:hover{border-color:var(--encre);}
.mel-form__pilule.est-choisi{background:var(--encre);color:#fff;border-color:var(--encre);}
.mel-form__pilule--autre{border-style:dashed;color:var(--bleu);}
.mel-form__indication{display:block;color:var(--gris);font-size:13px;margin:0 0 10px;}
.mel-form__erreur{display:block;color:var(--alerte);font-size:13px;font-weight:600;margin:0 0 8px;}
.mel-form__case{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--encre);margin-bottom:8px;line-height:1.35;}
.mel-form__case input{margin-top:2px;width:18px;height:18px;flex:none;accent-color:var(--bleu);}
.mel-form__case--consentement{font-size:12.5px;color:var(--gris);}
.mel-form__nav{display:flex;gap:10px;align-items:center;margin-top:10px;}
.mel-form__nav .mel-btn{height:48px;}
.mel-form__nav .mel-btn:not(.mel-form__bouton){padding:0 18px;border-color:#AEB7BD;}
.mel-form__bouton{flex:1;min-width:0;}

/* Étape « coordonnées » compacte : ne déborde jamais de la plaque */
.mel-form [data-etape="coordonnees"] .mel-champ{margin-bottom:9px;}
.mel-form [data-etape="coordonnees"] .mel-champ input{height:42px;}
.mel-form [data-etape="coordonnees"] .mel-form__question{margin-bottom:10px;}
.mel-form [data-etape="moteur"] .mel-champ{margin-bottom:10px;}

.mel-form__confirmation{display:none;text-align:left;padding:10px 0;}
.mel-form__confirmation.est-visible{display:block;}
.mel-form__confirmation-cercle{width:52px;height:52px;border-radius:50%;background:var(--bleu);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 0 14px;}
.mel-form__confirmation-cercle svg{width:26px;height:26px;}
.mel-form__confirmation h3{font:700 24px var(--f-titre);}
.mel-form__recap{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0;}
.mel-form__recap span{background:var(--blanc);border:1px solid var(--trait);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:700;}
.mel-form__suite{max-width:420px;margin:16px 0 0;display:flex;flex-direction:column;gap:10px;}
.mel-form__suite li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--gris);}
.mel-form__suite svg{width:20px;height:20px;color:var(--bleu);flex:none;}

@media (max-width:760px){
	.mel-form{padding:20px 16px 18px;}
	.mel-form--pleine,.mel-form--compacte{padding:20px 16px 18px;}
	.mel-form__question{font-size:20px;margin-bottom:10px;}
	.mel-form__tuile{min-height:72px;padding:10px 12px;}
	.mel-form__tuile__texte{font-size:14px;}
	.mel-form__noms-etapes{margin-bottom:10px;}
	.mel-form__rangee{gap:0 8px;}
	.mel-form [data-etape="coordonnees"] .mel-champ label{font-size:12.5px;}
	.mel-form [data-etape="coordonnees"] .mel-champ input{height:40px;padding:0 10px;}
	.mel-form__case{font-size:13px;margin-bottom:6px;}
	.mel-form__case--consentement{font-size:12px;}
	.mel-form__nav .mel-btn{height:46px;}
	.mel-form__nav .mel-btn:not(.mel-form__bouton){padding:0 14px;}
	.mel-form__bouton{font-size:15px;padding:0 12px;}
}

/* ===================== 8. TABLE DE SÉLECTION ===================== */
.mel-sel{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:center;}
.mel-sel__vitesses{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:6px 0 14px;}
.mel-sel__vitesses li{background:var(--alu-clair);border:1px solid var(--trait);border-radius:10px;padding:8px 8px 7px;font-size:12.5px;color:var(--gris);line-height:1.25;}
.mel-sel__vitesses li strong{display:block;font:700 19px var(--f-titre);font-variant-numeric:tabular-nums lining-nums;color:var(--encre);}
.mel-sel__vitesses li span{display:block;}
.mel-sel__vitesses li.est-repere{background:var(--bleu);border-color:var(--bleu);color:#fff;}
.mel-sel__vitesses li.est-repere strong{color:#fff;}
.mel-sel__note{font-size:14px;color:var(--gris);margin:0;border-left:3px solid var(--cuivre);padding-left:12px;}
.mel-sel__carte{background:var(--blanc);border:1px solid var(--trait);border-radius:var(--r-carte);box-shadow:var(--ombre-douce);overflow:hidden;min-width:0;}
.mel-sel__defile{max-height:420px;overflow:auto;overscroll-behavior:contain;}
.mel-sel__table{width:100%;border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums lining-nums;}
.mel-sel__table thead th{position:sticky;top:0;z-index:2;background:var(--encre);color:#fff;font:700 15px var(--f-titre);padding:10px 8px;text-align:center;white-space:nowrap;}
.mel-sel__table thead th small{display:block;font:500 11.5px var(--f-corps);color:#C5D0D9;margin-top:1px;}
.mel-sel__table thead th.mel-sel__col-kw{text-align:left;padding-left:18px;width:24%;}
.mel-sel__table thead th.est-repere{background:var(--bleu);}
.mel-sel__table thead th.est-repere small{color:#E6EEF3;}
.mel-sel__col-go{width:44px;}
.mel-sel__table tbody tr{cursor:pointer;transition:background .12s ease;}
.mel-sel__table tbody tr:hover,.mel-sel__table tbody tr:focus-visible{background:var(--jaune-pale);}
.mel-sel__table tbody tr:focus-visible{outline-offset:-3px;}
.mel-sel__table tbody th,.mel-sel__table tbody td{height:38px;padding:0 8px;border-bottom:1px solid #E1E5E3;text-align:center;}
.mel-sel__table tbody th{text-align:left;padding-left:18px;font:700 17px var(--f-titre);color:var(--encre);}
.mel-sel__table tbody th small{font:600 12px var(--f-corps);color:var(--gris);margin-left:5px;}
.mel-sel__axe{font:700 17px var(--f-titre);color:var(--bleu);background:var(--bleu-pale);}
.mel-sel__vide{background:repeating-linear-gradient(135deg,transparent 0 5px,rgba(23,32,42,.06) 5px 6px);}
.mel-sel__go{width:44px;color:var(--cuivre);}
.mel-sel__go svg{width:18px;height:18px;margin-inline:auto;}
.mel-sel__table tbody tr:hover .mel-sel__go svg{transform:translateX(3px);}
.mel-sel__go svg{transition:transform .15s ease;}
@media (max-width:980px){
	.mel-sel{grid-template-columns:1fr;gap:22px;}
	.mel-sel__defile{max-height:380px;}
	.mel-sel__table{min-width:520px;}
}
@media (max-width:560px){ .mel-sel__vitesses{grid-template-columns:repeat(2,minmax(0,1fr));} }

/* ===================== 9. LIRE SA PLAQUE ===================== */
.mel-pl{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:center;}
.mel-pl__plaque{
	position:relative;background:linear-gradient(150deg,#F8F9F8 0%,#E7EBE9 55%,#D9DFDC 100%);
	border-radius:var(--r-plaque);padding:26px 30px 22px;box-shadow:0 26px 50px -22px rgba(0,0,0,.6);color:var(--encre);
}
.mel-pl__plaque > *{position:relative;z-index:1;}
.mel-pl__tete{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:2px solid #B5BDC3;padding-bottom:10px;margin-bottom:14px;}
.mel-pl__titre{margin:0;font:700 20px var(--f-titre);font-variation-settings:'wdth' 112;color:var(--encre);text-shadow:0 1px 0 rgba(255,255,255,.8);}
.mel-pl__exemple{font-size:13px;color:var(--gris);}
.mel-pl__grille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.mel-pl__repere{
	display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;
	background:rgba(255,255,255,.62);border:1.5px solid #AEB7BD;border-radius:10px;padding:10px 12px 11px;min-width:0;
	transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease;
}
.mel-pl__repere:hover{transform:translateY(-2px);border-color:var(--encre);}
.mel-pl__repere.est-actif{background:var(--blanc);border-color:var(--cuivre);box-shadow:inset 0 0 0 1.5px var(--cuivre),0 10px 18px -14px rgba(23,32,42,.6);}
.mel-pl__lib{font:700 14px var(--f-titre);color:var(--cuivre-fonce);}
.mel-pl__val{font:700 clamp(22px,2vw,28px)/1.1 var(--f-titre);font-variant-numeric:tabular-nums lining-nums;color:var(--encre);overflow-wrap:anywhere;}
.mel-pl__unite{font-size:13px;font-weight:600;color:var(--bleu);}
.mel-pl__ligne{margin:14px 0 0;font:500 13.5px var(--f-titre);color:var(--gris);text-shadow:0 1px 0 rgba(255,255,255,.8);border-top:1px dashed #AEB7BD;padding-top:10px;}
.mel-pl__explic{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;}
.mel-pl__texte h3{font-size:clamp(22px,2vw,28px);color:#fff;margin:0 0 10px;}
.mel-pl__texte p{font-size:17px;color:rgba(255,255,255,.86);margin:0 0 18px;max-width:30em;}
@media (max-width:980px){ .mel-pl{grid-template-columns:1fr;gap:26px;} }
@media (max-width:560px){ .mel-pl__grille{grid-template-columns:repeat(2,minmax(0,1fr));} .mel-pl__plaque{padding:22px 16px 18px;} .mel-pl__titre{font-size:17px;} }

/* ===================== 10. FAMILLES DE MOTEURS ===================== */
.mel-familles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.mel-famille{position:relative;display:block;height:clamp(190px,16.5vw,232px);border-radius:var(--r-photo);overflow:hidden;background:var(--encre-2);box-shadow:var(--ombre-douce);transition:transform .2s ease,box-shadow .2s ease;}
a.mel-famille:hover{transform:translateY(-2px);box-shadow:var(--ombre);}
.mel-famille__photo{position:absolute;inset:0;display:block;background:repeating-linear-gradient(90deg,rgba(169,86,31,.5) 0 5px,transparent 5px 17px),var(--encre-2);}
.mel-famille__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
a.mel-famille:hover .mel-famille__photo img{transform:scale(1.04);}
.mel-famille__corps{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:2px;padding:42px 18px 16px;background:linear-gradient(180deg,rgba(23,32,42,0),rgba(23,32,42,.9) 62%);}
.mel-famille__titre{font:700 21px/1.15 var(--f-titre);font-variation-settings:'wdth' 110;color:#fff;}
a.mel-famille:hover .mel-famille__titre{text-decoration:underline;text-decoration-color:var(--cuivre);text-underline-offset:4px;text-decoration-thickness:2px;}
.mel-famille__texte{font-size:14.5px;line-height:1.4;color:rgba(255,255,255,.9);}
@media (max-width:980px){ .mel-familles{grid-template-columns:repeat(2,minmax(0,1fr));} .mel-famille{height:210px;} }
@media (max-width:560px){ .mel-familles{grid-template-columns:1fr;gap:12px;} .mel-famille{height:190px;} }

/* ===================== 11. FORMES DE MONTAGE ===================== */
.mel-formes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;}
.mel-forme{background:var(--alu-clair);border:1px solid var(--trait);border-radius:var(--r-carte);padding:14px 16px 18px;display:flex;flex-direction:column;gap:6px;}
.mel-forme__dessin{background:var(--blanc);border:1px solid var(--trait);border-radius:10px;height:128px;display:flex;align-items:center;justify-content:center;margin-bottom:6px;}
.mel-forme h3{font-size:26px;font-variant-numeric:tabular-nums lining-nums;}
.mel-forme p{font-size:14.5px;line-height:1.45;color:var(--gris);margin:0;}
.mel-picto__svg{width:150px;height:auto;}
.mel-picto__svg .c{fill:var(--blanc);stroke:var(--encre);stroke-width:2.2;stroke-linejoin:round;}
.mel-picto__svg .f{fill:none;stroke:var(--encre);stroke-width:1.3;opacity:.5;}
.mel-picto__svg rect.m{fill:var(--cuivre-pale);stroke:var(--cuivre);stroke-width:2.4;}
.mel-picto__svg path.m{fill:none;stroke:var(--cuivre);stroke-width:3;stroke-linejoin:round;stroke-linecap:round;}
.mel-picto__svg .p{fill:var(--cuivre);}
@media (max-width:1180px){ .mel-formes{grid-template-columns:repeat(3,minmax(0,1fr));} }
@media (max-width:760px){ .mel-formes{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:8px;margin-inline:calc(-1 * var(--marge));padding-inline:var(--marge);} .mel-forme{flex:0 0 72%;scroll-snap-align:start;} }

/* ===================== 12. RÉPARER OU REMPLACER ===================== */
.mel-dec{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:48px;align-items:start;}
.mel-dec__etapes{display:flex;flex-direction:column;}
.mel-dec__etape{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;padding:16px 0;border-top:1px solid var(--trait);}
.mel-dec__etape:first-child{border-top:0;padding-top:4px;}
.mel-dec__rivet{width:40px;height:40px;border-radius:50%;background:var(--encre);color:#fff;font:700 18px/40px var(--f-titre);text-align:center;box-shadow:0 0 0 3px var(--alu),0 0 0 5px var(--cuivre);font-variant-numeric:tabular-nums lining-nums;}
.mel-dec__etape h3{font-size:20px;margin:0 0 4px;}
.mel-dec__etape p{margin:0 0 4px;font-size:16px;color:var(--gris);max-width:40em;}
.mel-dec__calc{position:relative;background:linear-gradient(150deg,#F8F9F8,#E4E8E6);border:1px solid var(--trait);border-radius:var(--r-plaque);padding:26px 28px 24px;box-shadow:var(--ombre);}
.mel-dec__calc > *{position:relative;z-index:1;}
.mel-dec__calc h3{font-size:22px;margin:0 0 4px;}
.mel-dec__formule{font:600 15px var(--f-titre);color:var(--bleu);margin:0 0 14px;}
.mel-dec__champs{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;}
.mel-dec__resultat{display:flex;align-items:baseline;justify-content:space-between;gap:12px;background:var(--encre);color:#fff;border-radius:10px;padding:12px 16px;margin:4px 0 10px;}
.mel-dec__resultat-lib{font-size:13.5px;color:#C5D0D9;}
.mel-dec__resultat-val strong{font:700 38px/1 var(--f-titre);font-variant-numeric:tabular-nums lining-nums;color:var(--jaune);}
.mel-dec__resultat-val small{font:600 15px var(--f-titre);color:#fff;margin-left:4px;}
.mel-dec__avertissement{font-size:13px;color:var(--gris);margin:0 0 14px;}
@media (max-width:1100px){ .mel-dec{grid-template-columns:1fr;gap:28px;} }
@media (max-width:560px){ .mel-dec__calc{padding:22px 16px 18px;} .mel-dec__etape{grid-template-columns:40px minmax(0,1fr);gap:12px;} }

/* ===================== 13. GUIDES ET CARTES ===================== */
.mel-guides{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:22px;}
.mel-guides__rubriques{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:22px 0 0;}
.mel-pilule-lien{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 8px 0 18px;border-radius:999px;background:var(--alu-clair);border:1px solid var(--trait);color:var(--encre);font-weight:700;font-size:15px;transition:background .2s ease,border-color .2s ease;}
.mel-pilule-lien span{background:var(--encre);color:#fff;border-radius:999px;min-width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-variant-numeric:tabular-nums lining-nums;}
.mel-pilule-lien:hover{background:var(--jaune-pale);border-color:var(--encre);}

.mel-carte{display:flex;flex-direction:column;background:var(--blanc);border:1px solid var(--trait);border-radius:var(--r-carte);overflow:hidden;box-shadow:var(--ombre-douce);transition:transform .2s ease,box-shadow .2s ease;}
.mel-carte:hover{transform:translateY(-2px);box-shadow:var(--ombre);}
.mel-carte__photo{position:relative;aspect-ratio:16/10;max-height:230px;width:100%;overflow:hidden;background:var(--motif-vide);}
.mel-carte__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.mel-carte__pastille{position:absolute;left:12px;top:12px;background:var(--encre);color:#fff;font:600 12.5px var(--f-titre);padding:5px 11px;border-radius:999px;}
.mel-carte__corps{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1 1 auto;}
.mel-carte__titre{font:700 20px/1.2 var(--f-titre);font-variation-settings:'wdth' 108;}
.mel-carte:hover .mel-carte__titre{text-decoration:underline;text-decoration-color:var(--cuivre);text-underline-offset:4px;text-decoration-thickness:2px;}
.mel-carte__extrait{color:var(--gris);font-size:15px;margin:0;}
.mel-carte__meta{color:var(--gris);font-size:13px;margin-top:auto;padding-top:6px;}

.mel-liste{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.mel-liste--deux{grid-template-columns:repeat(2,minmax(0,1fr));}
.mel-liste--un{grid-template-columns:1fr;}
.mel-liste--un .mel-carte{flex-direction:row;}
.mel-liste--un .mel-carte__photo{flex:0 0 52%;aspect-ratio:auto;max-height:none;min-height:clamp(280px,26vw,360px);}
.mel-liste--un .mel-carte__corps{justify-content:center;gap:12px;padding:24px clamp(20px,3vw,44px);}
.mel-liste--un .mel-carte__titre{font-size:clamp(26px,2.5vw,36px);}
.mel-liste--un .mel-carte__extrait{font-size:17px;}
.mel-liste--un .mel-carte__meta{margin-top:0;}
.mel-rubrique-vide{padding:30px 0;color:var(--gris);}
@media (max-width:980px){ .mel-liste{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:640px){ .mel-liste,.mel-liste--deux{grid-template-columns:1fr;} .mel-liste--un .mel-carte{flex-direction:column;} .mel-liste--un .mel-carte__photo{flex:none;min-height:0;aspect-ratio:16/10;} }

.mel-communes-grille{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;}
.mel-communes-grille--trois{grid-template-columns:repeat(3,minmax(0,1fr));}
.mel-carte--commune .mel-carte__photo{aspect-ratio:3/2;max-height:170px;}
.mel-carte--commune .mel-carte__corps{padding:12px 14px 14px;}
.mel-carte--commune .mel-carte__titre{font-size:17px;}
@media (max-width:1180px){ .mel-communes-grille{grid-template-columns:repeat(4,minmax(0,1fr));} }
@media (max-width:860px){ .mel-communes-grille{grid-template-columns:repeat(3,minmax(0,1fr));} }
@media (max-width:620px){ .mel-communes-grille,.mel-communes-grille--trois{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;} .mel-carte--commune .mel-carte__titre{font-size:15px;} }

/* ===================== 14. DEMANDER UN CHIFFRAGE ===================== */
.mel-chiffrage{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:center;}
.mel-chiffrage__photo{height:clamp(200px,20vw,270px);margin-top:18px;}
.mel-chiffrage__form{min-width:0;}
@media (max-width:1100px){ .mel-chiffrage{grid-template-columns:1fr;gap:26px;} .mel-chiffrage__photo{height:220px;} }

/* ===================== 15. ZONE D'INTERVENTION ===================== */
.mel-zone__grille{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:48px;align-items:center;}
.mel-zone__grille--sans-carte{grid-template-columns:1fr;}
.mel-zone__carte-wrap{position:relative;background:var(--blanc);border:1px solid var(--trait);border-radius:var(--r-carte);box-shadow:var(--ombre-douce);padding:18px 18px 12px;}
.mel-zone__carte-wrap svg{width:100%;height:auto;max-height:430px;display:block;margin:0 auto;}
.mel-zone__carte-wrap svg path,.mel-zone__carte-wrap svg polygon{fill:#EDF0EE;stroke:#fff;stroke-width:1.5;}
.mel-zone__carte-wrap svg [data-slug]{fill:var(--bleu-pale);stroke:var(--bleu);stroke-width:1.2;cursor:pointer;transition:fill .2s ease;}
.mel-zone__carte-wrap svg [data-slug].est-survolee,.mel-zone__carte-wrap svg [data-slug]:focus-visible{fill:var(--cuivre);stroke:var(--cuivre-fonce);}
.mel-zone__etiquette{position:absolute;display:none;background:var(--encre);color:#fff;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:700;pointer-events:none;z-index:3;white-space:nowrap;}
.mel-zone__etiquette.est-visible{display:block;}
.mel-zone__legende{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--gris);margin:8px 0 0;justify-content:center;}
.mel-zone__puce{width:14px;height:14px;border-radius:50%;background:var(--bleu-pale);box-shadow:0 0 0 2px var(--bleu);flex:none;}
.mel-zone__deps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:6px;}
.mel-zone__dep-titre{display:flex;align-items:center;gap:10px;font:700 17px var(--f-titre);margin:0 0 8px;}
.mel-zone__dep-num{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:26px;padding:0 8px;border-radius:999px;background:var(--encre);color:#fff;font:700 13px var(--f-titre);font-variant-numeric:tabular-nums lining-nums;}
.mel-zone__liste{display:flex;flex-direction:column;gap:5px;}
.mel-zone__liste a,.mel-zone__liste span{display:flex;align-items:center;min-height:34px;padding:0 12px;background:var(--blanc);border:1px solid var(--trait);border-radius:10px;font-weight:600;font-size:14.5px;line-height:1.2;transition:background .15s,border-color .15s;}
.mel-zone__liste a:hover{background:var(--jaune-pale);border-color:var(--encre);}
.mel-zone__liste span{color:var(--gris);}
@media (max-width:980px){ .mel-zone__grille{grid-template-columns:1fr;gap:26px;} }
@media (max-width:480px){ .mel-zone__deps{grid-template-columns:1fr;} }

/* ===================== 16. APPEL FINAL ===================== */
.mel-appel-final__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:56px;align-items:center;}
.mel-appel-final__contenu h2{color:#fff;font-size:clamp(28px,2.9vw,42px);line-height:1.08;margin:0 0 14px;text-wrap:balance;}
.mel-appel-final__contenu > p{font-size:18px;max-width:34em;margin:0 0 22px;}
.mel-appel-final__boutons{display:flex;gap:12px;flex-wrap:wrap;}
.mel-appel-final__rassure{display:flex;flex-wrap:wrap;gap:8px 20px;margin:20px 0 0!important;font-size:14px!important;color:rgba(255,255,255,.88);}
.mel-appel-final__rassure span{display:inline-flex;align-items:center;gap:8px;}
.mel-appel-final__rassure svg{width:18px;height:18px;color:var(--jaune);flex:none;}
.mel-appel-final__photo{height:clamp(220px,22vw,320px);}
@media (max-width:980px){ .mel-appel-final__in{grid-template-columns:1fr;gap:26px;} .mel-appel-final__photo{height:230px;} }

/* ===================== 17. PIED DE PAGE ===================== */
.mel-footer{position:relative;background:var(--encre);color:rgba(255,255,255,.8);}
.mel-footer::before{content:"";display:block;height:6px;background:var(--encoches);}
.mel-footer__corps,.mel-footer__base{max-width:calc(var(--conteneur) + 2*var(--marge));margin-inline:auto;}
.mel-footer__corps{padding:44px var(--marge) 28px;display:grid;grid-template-columns:1.1fr .8fr 1.6fr;gap:48px;align-items:start;}
.mel-footer__marque .mel-logo{margin-bottom:14px;}
.mel-footer__devise{margin:0 0 18px;font-size:15px;line-height:1.6;color:rgba(255,255,255,.8);max-width:340px;}
.mel-footer__colonne h3{color:#fff;font-size:16px;margin-bottom:12px;font-variation-settings:'wdth' 108;}
.mel-footer__colonne ul{display:flex;flex-direction:column;gap:7px;}
.mel-footer a{font-size:15px;}
.mel-footer__colonne a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--cuivre);text-underline-offset:3px;text-decoration-thickness:2px;}
.mel-footer__h3-suite{margin-top:22px;}
.mel-footer__deps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.mel-footer__dep-titre{margin:0 0 8px;font:600 14px var(--f-titre);color:var(--jaune);}
.mel-footer__communes{display:flex;flex-direction:column;gap:6px;}
.mel-footer__communes li{line-height:1.3;}
.mel-footer__communes a,.mel-footer__communes span{overflow-wrap:anywhere;}
.mel-footer__communes span{font-size:15px;color:rgba(255,255,255,.7);}
.mel-footer__recherche{display:flex;align-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:4px 4px 4px 16px;gap:8px;max-width:300px;margin-bottom:14px;}
.mel-footer__recherche input{background:none;border:none;color:#fff;font:15px var(--f-corps);width:100%;min-width:0;}
.mel-footer__recherche input:focus{outline:none;}
.mel-footer__recherche input::placeholder{color:rgba(255,255,255,.65);}
.mel-footer__recherche:focus-within{border-color:#fff;}
.mel-footer__recherche button{width:38px;height:38px;border-radius:50%;background:var(--jaune);display:flex;align-items:center;justify-content:center;color:var(--encre);flex:none;}
.mel-footer__recherche button svg{width:18px;height:18px;}
.mel-footer__cta{height:46px;font-size:15px;}
.mel-footer__base{border-top:1px solid rgba(255,255,255,.18);padding:18px var(--marge);display:flex;justify-content:space-between;font-size:14px;flex-wrap:wrap;gap:8px;}
.mel-footer__base p{margin:0;}
@media (max-width:1100px){ .mel-footer__corps{grid-template-columns:1fr 1fr;gap:34px;} .mel-footer__marque{grid-column:1/-1;} .mel-footer__colonne--communes{grid-column:auto;} }
@media (max-width:700px){ .mel-footer__corps{grid-template-columns:1fr;} .mel-footer__deps{grid-template-columns:repeat(2,minmax(0,1fr));} }

/* ===================== 18. ARTICLE ===================== */
.mel-fil-ariane{font-size:14px;color:rgba(255,255,255,.75);padding:0 0 18px;display:flex;flex-wrap:wrap;gap:4px 8px;}
.mel-fil-ariane a{color:#fff;}
.mel-fil-ariane a:hover{text-decoration:underline;}

/* En-tête : bande Encre bordée d'encoches, titre à gauche, photo arrondie liserée cuivre, cartouche à cheval */
.mel-art-tete{position:relative;margin-top:12px;background:var(--encre);color:#fff;padding:26px 0 72px;}
.mel-art-tete::after,.mel-rub-tete::after,.mel-bandeau-encre::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--encoches);}
.mel-art-tete__grille{display:grid;grid-template-columns:minmax(0,1fr) var(--aside);gap:40px;align-items:center;}
.mel-art-tete--sans-photo{padding-bottom:44px;}
.mel-art-tete--sans-photo .mel-art-tete__grille{grid-template-columns:minmax(0,1fr);}
.mel-art-tete__titre{color:#fff;font-size:clamp(30px,3vw,46px);line-height:1.06;margin:0 0 14px;text-wrap:balance;}
.mel-art-tete__chapo{font-size:19px;color:rgba(255,255,255,.84);max-width:34em;margin:0 0 18px;}
.mel-art-tete__meta{display:flex;align-items:center;gap:12px;font-size:15px;color:rgba(255,255,255,.85);}
.mel-art-tete__meta a{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px;}
.mel-art-tete__photo{position:relative;margin:0;}
.mel-art-tete__photo > img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-photo);border:3px solid var(--cuivre);background:var(--motif-vide);box-shadow:0 22px 40px -22px rgba(0,0,0,.7);}
.mel-cartouche{position:absolute;left:14px;right:14px;bottom:-28px;z-index:3;background:linear-gradient(150deg,#F8F9F8,#E4E8E6);color:var(--encre);border:1px solid var(--trait);border-radius:var(--r-plaque);box-shadow:var(--ombre);padding:10px 4px;}
.mel-cartouche dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;}
.mel-cartouche dl > div{padding:0 12px;border-left:1px solid var(--trait);min-width:0;}
.mel-cartouche dl > div:first-child{border-left:0;}
.mel-cartouche dt{font-size:11.5px;color:var(--gris);}
.mel-cartouche dd{margin:0;font:700 15px/1.25 var(--f-titre);font-variant-numeric:tabular-nums lining-nums;color:var(--encre);overflow-wrap:anywhere;}
@media (max-width:1180px){ .mel-art-tete__grille{grid-template-columns:1fr;gap:34px;} .mel-art-tete__photo{max-width:560px;} .mel-art-tete{padding-bottom:64px;} }
@media (max-width:640px){ .mel-art-tete{margin-top:8px;padding-top:18px;} .mel-cartouche{left:8px;right:8px;} .mel-cartouche dl > div{padding:0 8px;} .mel-cartouche dd{font-size:13.5px;} }

.mel-article-grille{display:grid;grid-template-columns:minmax(0,1fr) var(--aside);gap:40px;align-items:start;max-width:calc(var(--conteneur) + 2*var(--marge));margin-inline:auto;padding:44px var(--marge) 36px;}
.mel-article-colonne{display:flex;flex-direction:column;gap:24px;min-width:0;}
@media (max-width:1180px){ .mel-article-grille{grid-template-columns:1fr;padding-top:36px;} .mel-aside-form{position:static!important;max-height:none!important;} }

.mel-sommaire-carte{background:var(--blanc);border:1px solid var(--trait);border-left:4px solid var(--cuivre);border-radius:var(--r-carte);box-shadow:var(--ombre-douce);padding:20px 24px;}
.mel-sommaire-carte__titre{font:700 17px var(--f-titre);color:var(--encre);margin:0 0 12px;}
.mel-sommaire-carte ol{margin:0;padding:0;counter-reset:som;display:grid;grid-template-columns:1fr 1fr;gap:4px 20px;}
.mel-sommaire-carte li{counter-increment:som;}
.mel-sommaire-carte li a{display:flex;align-items:flex-start;gap:12px;padding:8px 10px;border-radius:10px;font-size:15px;font-weight:600;line-height:1.35;transition:background .2s ease;}
.mel-sommaire-carte li a::before{content:counter(som);flex:none;width:26px;height:26px;border-radius:50%;background:var(--encre);color:#fff;font:700 13px/26px var(--f-titre);text-align:center;font-variant-numeric:tabular-nums lining-nums;}
.mel-sommaire-carte li a:hover,.mel-sommaire-carte li.est-actif a{background:var(--jaune-pale);}
@media (max-width:760px){ .mel-sommaire-carte ol{grid-template-columns:1fr;} .mel-sommaire-carte{padding:16px 16px;} }
@media (min-width:1181px){ .mel-article-colonne > .mel-sommaire-carte{display:none;} }

/* Corps de l'article : panneau blanc, rythme vertical constant */
.mel-corps h2{font-size:28px;margin:40px 0 16px;}
.mel-corps h3{font-size:21px;margin:28px 0 12px;}
.mel-corps p{max-width:72ch;}
.mel-corps strong{color:var(--encre);}
.mel-corps a:not(.mel-btn){color:var(--bleu);text-decoration:underline;text-decoration-color:rgba(45,88,118,.45);text-underline-offset:3px;}
.mel-corps a:not(.mel-btn):hover{text-decoration-color:var(--bleu);}
.mel-corps img{border-radius:12px;margin:20px 0;}
.mel-corps table{width:100%;border-collapse:collapse;display:block;overflow-x:auto;}
.mel-corps table th,.mel-corps table td{border:1px solid var(--trait);padding:10px 14px;text-align:left;}
.mel-corps table th{background:var(--alu);}
.mel-corps--article{background:var(--blanc);border:1px solid var(--trait);border-radius:var(--r-carte);box-shadow:var(--ombre-douce);padding:clamp(24px,4vw,52px);}
.mel-corps--article > *{margin-top:0;margin-bottom:20px;}
.mel-corps--article > *:last-child{margin-bottom:0;}
.mel-corps--article > h2{font-size:clamp(24px,2.1vw,30px);line-height:1.18;margin:46px 0 16px;scroll-margin-top:110px;display:flex;align-items:baseline;gap:12px;}
.mel-corps--article > h2::before{content:"";flex:none;width:11px;height:11px;border-radius:50%;background:var(--cuivre);box-shadow:inset 0 0 0 2.5px var(--cuivre-pale),0 0 0 2px var(--cuivre);transform:translateY(-3px);}
.mel-corps--article > h2:first-child{margin-top:0;}
.mel-corps--article > h3{font-size:20px;margin:28px 0 10px;}
.mel-corps--article > p{font-size:17.5px;line-height:1.7;}
.mel-corps ul:not([class]){margin:18px 0;display:flex;flex-direction:column;gap:9px;}
.mel-corps ul:not([class]) > li{position:relative;padding-left:30px;}
.mel-corps ul:not([class]) > li::before{content:"";position:absolute;left:4px;top:.6em;width:11px;height:11px;border-radius:50%;background:var(--cuivre);box-shadow:inset 0 0 0 2.5px var(--cuivre-pale),0 0 0 2px var(--cuivre);}
.mel-corps ol:not([class]){margin:18px 0;display:flex;flex-direction:column;gap:10px;counter-reset:ol;}
.mel-corps ol:not([class]) > li{position:relative;padding-left:42px;counter-increment:ol;}
.mel-corps ol:not([class]) > li::before{content:counter(ol);position:absolute;left:0;top:-1px;width:28px;height:28px;border-radius:50%;background:var(--encre);color:#fff;font:700 14px/28px var(--f-titre);text-align:center;font-variant-numeric:tabular-nums lining-nums;}
.mel-corps figure{margin:28px 0;}
.mel-corps figure img{border-radius:12px;box-shadow:var(--ombre-douce);margin:0;width:100%;height:auto;}
.mel-corps figcaption{font-size:14px;color:var(--gris);margin-top:8px;}
.mel-corps .wp-post-image{margin:0;}

/* Encadrés écrits dans le contenu : « à retenir », sources, limites, FAQ */
.mel-corps .a-retenir,.mel-corps .sbs-retenir{background:var(--alu-clair);border:1px solid var(--trait);border-left:5px solid var(--cuivre);border-radius:12px;padding:16px 22px;margin:26px 0;}
.mel-corps .a-retenir p,.mel-corps .sbs-retenir p{margin:0;max-width:none;}
.mel-corps .a-retenir strong,.mel-corps .sbs-retenir strong{font-family:var(--f-titre);color:var(--cuivre-fonce);margin-right:4px;}
.mel-corps .sources,.mel-corps .sbs-sources{background:var(--alu);border-radius:12px;padding:16px 22px;margin:34px 0 0;font-size:14.5px;color:var(--gris);}
.mel-corps .sources p,.mel-corps .sbs-sources p{margin:0 0 6px;max-width:none;}
.mel-corps .sources p:last-child,.mel-corps .sbs-sources p:last-child{margin-bottom:0;}
.mel-corps .sources strong,.mel-corps .sbs-sources strong,.mel-corps .sources-titre{font-family:var(--f-titre);color:var(--encre);}
.mel-corps .mel-limites{position:relative;background:var(--bleu-pale);border:2px dashed var(--bleu);border-radius:14px;padding:20px 26px 20px 72px;margin:34px 0;}
.mel-corps .mel-limites::before{content:"i";position:absolute;left:22px;top:20px;width:32px;height:32px;border-radius:50%;background:var(--bleu);color:#fff;font:700 18px/32px var(--f-titre);text-align:center;}
.mel-corps .mel-limites > h2{display:block;font-size:20px;line-height:1.2;margin:0 0 8px;color:var(--bleu-fonce);}
.mel-corps .mel-limites > h2::before{content:none;}
.mel-corps .mel-limites p{margin:0 0 10px;max-width:none;font-size:16px;line-height:1.6;}
.mel-corps .mel-limites p:last-child{margin-bottom:0;}
.mel-corps section.faq,.mel-corps .mel-encadre--faq{background:var(--alu-clair);border:1px solid var(--trait);border-radius:14px;padding:24px 24px 18px;margin:36px 0 0;}
.mel-corps section.faq > h2{margin:0 0 14px;font-size:24px;display:block;}
.mel-corps section.faq > h2::before{content:none;}
.mel-corps details,.entry-content details{background:var(--blanc);border:1px solid var(--trait);border-left:4px solid var(--encre);border-radius:10px;margin:10px 0;overflow:hidden;}
.mel-corps details[open],.entry-content details[open]{border-left-color:var(--cuivre);}
.mel-corps summary,.entry-content summary{list-style:none;cursor:pointer;padding:15px 56px 15px 20px;font-weight:700;color:var(--encre);position:relative;}
.mel-corps summary::-webkit-details-marker,.entry-content summary::-webkit-details-marker{display:none;}
.mel-corps summary::after,.entry-content summary::after{content:"+";position:absolute;right:14px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;background:var(--alu);color:var(--encre);font:700 20px/30px var(--f-corps);text-align:center;}
.mel-corps details[open] summary::after,.entry-content details[open] summary::after{content:"–";background:var(--jaune);}
.mel-corps details > :not(summary),.entry-content details > :not(summary){padding:0 20px 16px;margin:0;color:var(--gris);max-width:none;}

/* Infographies du socle : frise, jauges, tarifs, lieu (le socle ne pose aucun pixel) */
.mel-corps sbs-frise,.mel-corps sbs-jauges,.mel-corps sbs-tarifs,.mel-corps sbs-lieu,.mel-corps sbs-etape,.mel-corps sbs-jauge,.mel-corps sbs-tarif{display:block;}
.mel-corps .sbs_frise{margin:28px 0;padding:22px 24px;background:var(--alu-clair);border:1px solid var(--trait);border-radius:14px;}
.mel-corps .sbs_frise_titre,.mel-corps .sbs_jauges_titre,.mel-corps .sbs_tarifs_titre{display:block;font:700 18px var(--f-titre);margin-bottom:14px;color:var(--encre);}
.mel-corps .sbs_etape{display:grid;grid-template-columns:140px minmax(0,1fr);grid-template-rows:auto auto;column-gap:20px;row-gap:2px;align-items:start;}
.mel-corps .sbs_etape + .sbs_etape{border-top:1px solid var(--trait);margin-top:14px;padding-top:14px;}
.mel-corps .sbs_etape_date{grid-row:1 / span 2;justify-self:start;background:var(--encre);color:#fff;font:600 14px/1.2 var(--f-titre);padding:7px 14px;border-radius:999px;font-variant-numeric:tabular-nums lining-nums;box-shadow:0 0 0 2px var(--alu-clair),0 0 0 3px var(--cuivre);}
.mel-corps .sbs_etape_titre{grid-column:2;font:700 17px/1.3 var(--f-titre);color:var(--encre);}
.mel-corps .sbs_etape_desc{grid-column:2;display:block;font-size:15.5px;line-height:1.5;color:var(--gris);}
.mel-corps .sbs_jauges{margin:28px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;}
.mel-corps .sbs_jauges_titre{grid-column:1 / -1;margin-bottom:2px;}
.mel-corps .sbs_jauge{display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:8px;background:var(--blanc);border:1px solid var(--trait);border-top:4px solid var(--cuivre);border-radius:var(--r-plaque);padding:14px 16px 16px;box-shadow:var(--ombre-douce);}
.mel-corps .sbs_jauge_valeur{grid-column:1;order:1;font:700 clamp(30px,3vw,40px)/1 var(--f-titre);font-variant-numeric:tabular-nums lining-nums;color:var(--encre);}
.mel-corps .sbs_jauge_unite{grid-column:2;order:2;font:600 14px var(--f-titre);color:var(--cuivre-fonce);}
.mel-corps .sbs_jauge_libelle{grid-column:1 / -1;order:3;margin-top:8px;font-size:14.5px;line-height:1.35;color:var(--gris);}
.mel-corps .sbs_tarifs{margin:28px 0;padding:20px 22px;background:var(--alu-clair);border:1px solid var(--trait);border-radius:14px;}
.mel-corps .sbs_tarif{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:12px;align-items:center;margin:9px 0;}
.mel-corps .sbs_tarif_libelle{font-size:15px;font-weight:600;color:var(--encre);}
.mel-corps .sbs_tarif_barre{width:100%;height:16px;border:0;border-radius:999px;background:var(--alu-2);}
.mel-corps .sbs_tarif_barre::-webkit-meter-bar{background:var(--alu-2);border:0;border-radius:999px;height:16px;}
.mel-corps .sbs_tarif_barre::-webkit-meter-optimum-value,.mel-corps .sbs_tarif_barre::-webkit-meter-suboptimum-value,.mel-corps .sbs_tarif_barre::-webkit-meter-even-less-good-value{background:var(--bleu);border-radius:999px;}
.mel-corps .sbs_tarif_barre::-moz-meter-bar{background:var(--bleu);border-radius:999px;}
.mel-corps .sbs_tarifs_notes{display:block;font-size:14px;color:var(--gris);margin-top:8px;}
.mel-corps .sbs_lieu{margin:26px 0;padding:18px 22px;background:var(--alu-clair);border:1px solid var(--trait);border-left:5px solid var(--cuivre);border-radius:12px;}
.mel-corps .sbs_lieu_nom{display:block;font:700 18px var(--f-titre);}
.mel-corps .sbs_lieu_adresse{font-style:normal;display:block;color:var(--gris);}
.mel-corps .sbs_lieu_acces{display:block;font-size:14px;color:var(--gris);margin-top:4px;}
.mel-corps .sbs_lieu_carte{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-weight:700;}
.mel-corps .sbs_icone_repere{width:18px;height:18px;fill:var(--cuivre);}
.mel-corps .sbs_source{display:block;margin-top:12px;font-size:13px;color:var(--gris);}
@media (max-width:640px){
	.mel-corps .sbs_etape{grid-template-columns:minmax(0,1fr);}
	.mel-corps .sbs_etape_date{grid-row:auto;margin-bottom:6px;}
	.mel-corps .sbs_etape_titre,.mel-corps .sbs_etape_desc{grid-column:1;}
	.mel-corps .sbs_tarif{grid-template-columns:1fr;gap:4px;}
	.mel-corps .mel-limites{padding:18px 18px 18px 18px;}
	.mel-corps .mel-limites::before{position:static;display:block;margin-bottom:10px;}
}

/* Signature d'auteur */
.mel-monogramme{display:flex;align-items:center;justify-content:center;background:var(--encre);color:#fff;font:700 20px var(--f-titre);flex:none;border-radius:50%;box-shadow:0 0 0 3px var(--alu),0 0 0 5px var(--cuivre);}
img.mel-portrait-auteur{object-fit:cover;flex:none;padding:0;background:var(--alu);}
.mel-art-tete__meta .mel-monogramme{box-shadow:0 0 0 2px var(--encre),0 0 0 4px var(--cuivre);font-size:14px;}
.mel-auteur-box{display:flex;gap:20px;align-items:center;background:var(--blanc);border:1px solid var(--trait);border-left:5px solid var(--cuivre);border-radius:var(--r-carte);box-shadow:var(--ombre-douce);padding:22px 26px;margin-top:6px;}
.mel-auteur-box .mel-monogramme{margin:5px;}
.mel-auteur-box__nom{font:700 20px var(--f-titre);margin:0 0 2px;}
.mel-auteur-box__role{display:block;color:var(--gris);font-size:14px;margin-bottom:8px;}
.mel-auteur-box__bio{color:var(--gris);font-size:15px;margin:0 0 8px;}
@media (max-width:700px){ .mel-auteur-box{align-items:flex-start;padding:18px;gap:14px;} }

/* Barre latérale d'article : UN seul bloc collant = formulaire (en tête) + barre de lecture + sommaire, toujours plus court que la fenêtre */
.mel-aside-form{position:sticky;top:88px;align-self:start;display:flex;flex-direction:column;gap:10px;max-height:calc(100vh - 100px);}
.mel-aside-form__carte{order:-1;flex:none;}
.mel-aside-form__carte .mel-form{box-shadow:var(--ombre);}
.mel-lecture{flex:none;background:var(--blanc);border:1px solid var(--trait);border-radius:12px;padding:8px 14px 10px;}
.mel-lecture__texte{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:13px;color:var(--gris);margin-bottom:7px;}
.mel-lecture__texte strong{font-weight:700;color:var(--encre);font-variant-numeric:tabular-nums lining-nums;}
.mel-lecture-progress{height:6px;background:var(--alu-2);border-radius:999px;overflow:hidden;}
.mel-lecture-progress__barre{display:block;height:100%;width:100%;background:var(--cuivre);transform:scaleX(0);transform-origin:left center;border-radius:999px;}
.mel-sommaire-rail{flex:0 1 auto;min-height:84px;display:flex;flex-direction:column;background:var(--blanc);border:1px solid var(--trait);border-left:4px solid var(--cuivre);border-radius:var(--r-carte);box-shadow:var(--ombre-douce);padding:12px 8px 8px 14px;overflow:hidden;}
.mel-sommaire-rail .mel-sommaire-carte__titre{flex:none;font-size:15px;margin:0 0 6px;}
.mel-sommaire-rail ol{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:block;margin:0;padding:0 4px 0 0;counter-reset:som;scrollbar-width:thin;}
.mel-sommaire-rail li{counter-increment:som;}
.mel-sommaire-rail li a{display:flex;gap:9px;align-items:baseline;padding:5px 8px;border-radius:8px;font-size:13.5px;line-height:1.3;font-weight:600;color:var(--encre);transition:background .15s;}
.mel-sommaire-rail li a::before{content:counter(som);flex:none;width:20px;height:20px;border-radius:50%;background:var(--alu);color:var(--encre);font:700 11.5px/20px var(--f-titre);text-align:center;font-variant-numeric:tabular-nums lining-nums;}
.mel-sommaire-rail li a:hover,.mel-sommaire-rail li.est-actif a{background:var(--jaune-pale);}
.mel-sommaire-rail li.est-actif a::before{background:var(--encre);color:#fff;}
/* le formulaire dans la barre : même circuit, gabarit resserré */
.mel-aside-form .mel-form__entete{margin-bottom:6px;}
.mel-aside-form .mel-form__noms-etapes{display:none;}
.mel-aside-form .mel-form__progression{margin-bottom:10px;}
.mel-aside-form .mel-form__question{font-size:17px;margin-bottom:9px;}
.mel-aside-form .mel-form__tuiles{gap:8px;margin-bottom:4px;}
.mel-aside-form .mel-champ{margin-bottom:8px;}
.mel-aside-form .mel-champ input,.mel-aside-form .mel-champ select{height:40px;}
.mel-aside-form .mel-champ__unite{height:37.5px;}
.mel-aside-form .mel-form [data-etape="coordonnees"] .mel-champ input{height:40px;padding:0 10px;}
.mel-aside-form .mel-form__pilules-rapides{margin:4px 0 10px;gap:6px;}
.mel-aside-form .mel-form__pilule{height:32px;padding:0 11px;font-size:13px;}
.mel-aside-form .mel-form__segmente button{height:40px;min-width:0;font-size:13px;}
.mel-aside-form .mel-form__case--consentement{font-size:12px;}
.mel-aside-form .mel-form__nav{margin-top:6px;}
.mel-aside-form .mel-form__nav .mel-btn{height:44px;}
@media (max-width:1180px){ .mel-lecture,.mel-sommaire-rail{display:none;} }
@media (prefers-reduced-motion:reduce){ .mel-sommaire-rail li a{transition:none;} }

/* À lire aussi : pleine largeur, jamais une case vide */
.mel-lire-aussi{margin-top:16px;}
.mel-lire-aussi__grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:22px;}

/* ===================== 19. RUBRIQUE : BANC D'ESSAI ===================== */
.mel-rub-tete{position:relative;margin-top:12px;background:var(--encre);color:#fff;padding:26px 0 54px;}
.mel-rub-tete__grille{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr) minmax(0,1fr);gap:36px;align-items:center;}
.mel-rub-tete__texte h1{color:#fff;font-size:clamp(32px,3.4vw,52px);line-height:1.04;margin:0 0 14px;}
.mel-rub-tete__chapo{font-size:18px;color:rgba(255,255,255,.84);max-width:30em;margin:0 0 18px;}
.mel-rub-filtres{display:flex;gap:8px;flex-wrap:wrap;}
.mel-rub-filtres a{height:40px;display:inline-flex;align-items:center;padding:0 16px;border-radius:999px;border:1.5px solid rgba(255,255,255,.4);color:#fff;font-weight:600;font-size:14.5px;transition:background .15s,border-color .15s;}
.mel-rub-filtres a:hover{border-color:#fff;background:rgba(255,255,255,.08);}
.mel-rub-filtres a.est-actif{background:var(--jaune);border-color:var(--jaune);color:var(--encre);}
.mel-rub-tete__photo{aspect-ratio:4/3;max-height:250px;width:100%;}
.mel-rub-tete .mel-releves{color:var(--encre);}
@media (max-width:1180px){ .mel-rub-tete__grille{grid-template-columns:minmax(0,1fr) minmax(0,.7fr);} .mel-rub-tete__texte{grid-column:1/-1;} .mel-rub-tete .mel-releves{grid-column:auto;} }
@media (max-width:760px){ .mel-rub-tete{padding-bottom:40px;} .mel-rub-tete__grille{grid-template-columns:1fr;gap:20px;} .mel-rub-tete__photo{max-height:200px;aspect-ratio:16/9;} .mel-rub-tete__chapo{font-size:16px;} .mel-rub-filtres{flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none;} .mel-rub-filtres::-webkit-scrollbar{display:none;} .mel-rub-filtres a{flex:0 0 auto;white-space:nowrap;} }
.mel-rub-liste{padding-top:44px;}

/* ===================== 20. PAGE COMMUNE ===================== */
.mel-ville-grille{display:grid;grid-template-columns:minmax(0,1fr) var(--aside);gap:40px;align-items:start;}
.mel-ville-aside{position:sticky;top:100px;display:flex;flex-direction:column;gap:16px;}
.mel-ville-aside__titre{font:700 19px/1.2 var(--f-titre);color:var(--encre);margin:0 0 10px;}
.mel-ville-aside__carte{background:var(--alu-clair);border:1px solid var(--trait);border-radius:var(--r-carte);padding:18px 18px 16px;}
.mel-ville-aside__carte .mel-ville-aside__titre{margin:0 0 10px;}
.mel-ville-aside__liens{display:flex;flex-wrap:wrap;gap:6px;margin:0;}
.mel-ville-aside__liens a{background:var(--blanc);border:1px solid var(--trait);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:700;color:var(--encre);}
.mel-ville-aside__liens a:hover{background:var(--jaune-pale);border-color:var(--encre);}
@media (max-width:980px){ .mel-ville-grille{grid-template-columns:1fr;gap:32px;} .mel-ville-aside{position:static;} }
/* Texte de la page ville en accordéons */
.mel-accordeons{display:flex;flex-direction:column;gap:12px;margin:22px 0;}
.mel-accordeon{background:var(--alu-clair);border:1px solid var(--trait);border-left:4px solid var(--encre);border-radius:10px;overflow:hidden;}
.mel-accordeon[open]{border-left-color:var(--cuivre);background:var(--blanc);}
.mel-accordeon > summary{list-style:none;cursor:pointer;padding:16px 64px 16px 22px;position:relative;}
.mel-accordeon > summary::-webkit-details-marker{display:none;}
.mel-accordeon > summary h2,.mel-accordeon > summary h3{font-size:clamp(18px,1.5vw,21px)!important;line-height:1.3;margin:0!important;display:block!important;}
.mel-accordeon > summary h2::before{content:none!important;}
.mel-accordeon > summary::after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;background:var(--alu);color:var(--encre);font:700 22px/32px var(--f-corps);text-align:center;}
.mel-accordeon[open] > summary::after{content:"–";background:var(--jaune);}
.mel-accordeon__corps{padding:0 22px 20px;}
.mel-accordeon__corps > :first-child{margin-top:0;}
.mel-ville-corps .mel-corps h2{margin:0;font-size:22px;}
.mel-ville-corps .mel-corps > p{font-size:17.5px;line-height:1.7;max-width:none;}
.mel-ville-corps .mel-corps section.faq{margin-top:22px;}
.mel-ville-corps .mel-corps aside.sources{background:var(--alu);border-radius:12px;padding:16px 22px;margin:22px 0 0;font-size:14.5px;color:var(--gris);}
.mel-ville-corps .mel-corps aside.sources p{margin:0 0 6px;max-width:none;}
.mel-ville-corps .mel-corps .mel-auteur-box{margin-top:28px;}
.mel-faq{display:flex;flex-direction:column;gap:12px;margin-top:20px;}
.mel-faq-item{border:1px solid var(--trait);border-left:4px solid var(--encre);border-radius:10px;padding:0;background:var(--blanc);overflow:hidden;}
.mel-faq-item[open]{border-left-color:var(--cuivre);}
.mel-faq-item summary{cursor:pointer;font-weight:700;font-size:16px;list-style:none;padding:15px 56px 15px 20px;position:relative;}
.mel-faq-item summary::-webkit-details-marker{display:none;}
.mel-faq-item summary::after{content:"+";position:absolute;right:14px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;background:var(--alu);font:700 20px/30px var(--f-corps);text-align:center;}
.mel-faq-item[open] summary::after{content:"–";background:var(--jaune);}
.mel-faq-item p{margin:0;padding:0 20px 16px;color:var(--gris);}
.mel-guides-utiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;}
.mel-guide-utile{display:flex;flex-direction:column;gap:4px;background:var(--alu-clair);border:1px solid var(--trait);border-left:5px solid var(--cuivre);border-radius:var(--r-carte);padding:18px 20px;transition:background .15s,border-color .15s;}
.mel-guide-utile strong{font:700 18px var(--f-titre);}
.mel-guide-utile span{font-size:15px;color:var(--gris);}
.mel-guide-utile:hover{background:var(--jaune-pale);border-color:var(--encre);border-left-color:var(--cuivre);}

/* ===================== 21. PAGES ANNEXES ===================== */
.mel-bandeau-simple{background:var(--blanc);border-bottom:1px solid var(--trait);}
.mel-bandeau-simple__in{padding-block:34px 28px;}
.mel-bandeau-simple h1{font-size:clamp(28px,3.2vw,44px);line-height:1.1;}
.mel-bandeau-simple__chapo{margin:12px 0 0;font-size:18px;color:var(--gris);max-width:40em;}
.mel-bandeau-encre{position:relative;margin-top:12px;background:var(--encre);color:#fff;padding:40px 0 48px;}
.mel-bandeau-encre h1{color:#fff;font-size:clamp(32px,3.6vw,52px);line-height:1.05;}
.mel-bandeau-encre__chapo{font-size:19px;color:rgba(255,255,255,.84);max-width:38em;margin:14px 0 0;}
.mel-bandeau-encre__chapo--role{font-weight:600;color:var(--jaune);margin-top:6px;font-size:17px;}
.mel-page-auteur__tete{display:flex;gap:30px;align-items:center;}
.mel-page-auteur__tete .mel-monogramme{margin:6px;}
.mel-page-simple{max-width:760px;margin-inline:auto;}
.mel-deux-colonnes{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start;}
.mel-contact__cote{display:flex;flex-direction:column;gap:14px;}
.mel-contact__photo{aspect-ratio:4/3;max-height:340px;margin-bottom:10px;}
.mel-reassurance-ligne{display:flex;gap:12px;align-items:flex-start;font-size:15.5px;}
.mel-reassurance-ligne svg{width:22px;height:22px;color:var(--bleu);flex:none;margin-top:2px;}
.mel-reassurance-ligne a{color:var(--bleu);font-weight:700;text-decoration:underline;text-underline-offset:3px;}
@media (max-width:980px){ .mel-deux-colonnes{grid-template-columns:1fr;gap:30px;} .mel-contact__photo{max-height:260px;} }
@media (max-width:760px){
	.mel-bandeau-simple__in{padding-block:18px 12px;}
	.mel-bandeau-simple h1{font-size:26px;}
	.mel-bandeau-simple__chapo{display:none;}
	.mel-contact.mel-section{padding-top:16px;}
	.mel-contact__cote{order:2;}
	.mel-bandeau-encre{padding:28px 0 34px;}
	.mel-page-auteur__tete{gap:18px;align-items:flex-start;}
	.mel-page-auteur__tete .mel-monogramme{width:88px!important;height:88px!important;}
}
.mel-devis-seo .mel-accordeon > summary h3{font-size:clamp(17px,1.4vw,20px)!important;}
.mel-devis-seo .mel-accordeon__corps p{font-size:16.5px;line-height:1.7;color:var(--encre);max-width:none;}
.mel-devis-seo .mel-accordeon__corps a{color:var(--bleu);font-weight:700;text-decoration:underline;text-underline-offset:3px;}

/* Qui sommes-nous */
.mel-qsn-info__intro{font:600 clamp(20px,1.8vw,26px)/1.4 var(--f-titre);font-variation-settings:'wdth' 108;color:var(--encre);max-width:44em;margin:0 0 26px;}
.mel-qsn-info__grille{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;}
.mel-qsn-info__approche{background:var(--encre);color:rgba(255,255,255,.86);border-radius:var(--r-carte);border-top:5px solid var(--cuivre);padding:28px;}
.mel-qsn-info__approche h2{color:#fff;font-size:24px;margin:14px 0 10px;}
.mel-qsn-info__approche p{margin:0;font-size:16px;line-height:1.6;}
.mel-qsn-info__couvre{background:var(--alu-clair);border:1px solid var(--trait);border-radius:var(--r-carte);padding:28px;}
.mel-qsn-info__couvre h2{font-size:24px;margin:0 0 16px;}
.mel-qsn-info__tuiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.mel-qsn-info__tuile{background:var(--blanc);border-radius:12px;border:1px solid var(--trait);border-top:4px solid var(--cuivre);padding:16px;margin:0;display:flex;flex-direction:column;gap:6px;}
.mel-qsn-info__tuile strong{font:700 17px var(--f-titre);color:var(--encre);}
.mel-qsn-info__tuile > span:last-child{font-size:14px;color:var(--gris);line-height:1.45;}
.mel-qsn-info__icone{width:40px;height:40px;border-radius:50%;background:var(--cuivre-pale);color:var(--cuivre-fonce);display:inline-flex;align-items:center;justify-content:center;}
.mel-qsn-info__approche .mel-qsn-info__icone{background:rgba(255,255,255,.12);color:#fff;}
.mel-qsn-info__icone svg{width:20px;height:20px;}
.mel-qsn-info__note{display:flex;gap:10px;align-items:flex-start;margin:22px 0 0;font-size:15px;color:var(--gris);}
.mel-qsn-info__note svg{width:20px;height:20px;color:var(--bleu);flex:none;margin-top:2px;}
.mel-qsn-info__note a{color:var(--bleu);font-weight:700;text-decoration:underline;text-underline-offset:3px;}
@media (max-width:980px){ .mel-qsn-info__grille{grid-template-columns:1fr;} .mel-qsn-info__tuiles{grid-template-columns:1fr;} }
.mel-cheval-grille{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
@media (max-width:980px){ .mel-cheval-grille{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:620px){ .mel-cheval-grille{grid-template-columns:1fr;} }
.mel-etape-carte{position:relative;background:var(--blanc);border:1px solid var(--trait);border-radius:var(--r-carte);box-shadow:var(--ombre-douce);padding:22px 20px 20px;}
.mel-etape-carte__rivet{position:absolute;right:16px;top:16px;width:30px;height:30px;border-radius:50%;background:var(--encre);color:#fff;font:700 14px/30px var(--f-titre);text-align:center;box-shadow:0 0 0 2px var(--blanc),0 0 0 3.5px var(--cuivre);}
.mel-etape-carte__icone{display:block;width:30px;height:30px;color:var(--bleu);margin-bottom:10px;}
.mel-etape-carte__icone svg{width:30px;height:30px;}
.mel-etape-carte strong{display:block;color:var(--encre);margin-bottom:4px;font:700 17px var(--f-titre);}
.mel-etape-carte p{margin:0;font-size:15px;color:var(--gris);}
.mel-grille-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
@media (max-width:760px){ .mel-grille-2{grid-template-columns:1fr;} }
.mel-carte-auteur{display:flex;gap:20px;align-items:flex-start;background:var(--alu-clair);border:1px solid var(--trait);border-left:5px solid var(--cuivre);border-radius:var(--r-carte);padding:24px;}
.mel-carte-auteur .mel-monogramme{margin:5px;}
.mel-carte-auteur .mel-btn{margin-top:8px;height:44px;}
.mel-btn--publications{white-space:nowrap;}
@media (max-width:620px){ .mel-carte-auteur{flex-direction:column;gap:14px;} }

/* Notre équipe */
.mel-equipe__grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;}
.mel-equipe-carte{display:flex;gap:28px;align-items:flex-start;background:var(--alu-clair);border:1px solid var(--trait);border-left:5px solid var(--cuivre);border-radius:var(--r-carte);padding:30px;}
.mel-equipe-carte .mel-monogramme{margin:6px;}
.mel-equipe-carte__texte{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:8px;}
.mel-equipe-carte h2{font-size:26px;line-height:1.1;margin:0;}
.mel-equipe-carte__role{margin:0;color:var(--cuivre-fonce);font-size:14.5px;font-weight:700;}
.mel-equipe-carte__bio{margin:4px 0 8px;font-size:16px;line-height:1.6;}
.mel-equipe__texte{margin-top:36px;}
@media (max-width:980px){ .mel-equipe__grille{grid-template-columns:1fr;} }
@media (max-width:560px){ .mel-equipe-carte{flex-direction:column;gap:14px;padding:20px;} .mel-equipe-carte .mel-monogramme{width:96px!important;height:96px!important;} .mel-btn--publications{white-space:normal;height:auto;min-height:44px;padding-block:10px;} }

/* Crédits photos */
.mel-credits{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:18px;}
.mel-credits__carte{margin:0;background:var(--blanc);border:1px solid var(--trait);border-radius:var(--r-carte);overflow:hidden;box-shadow:var(--ombre-douce);}
.mel-credits__carte img{display:block;width:100%;height:140px;object-fit:cover;}
.mel-credits__carte figcaption{display:flex;flex-direction:column;gap:4px;padding:12px 14px;font-size:14px;line-height:1.4;}
.mel-credits__carte span{color:var(--gris);}
.mel-credits__carte a{color:var(--bleu);font-weight:700;}

/* 404, recherche */
.mel-404{text-align:center;padding:80px 0 90px;background:var(--blanc);}
.mel-404__symbole{display:block;width:84px;height:84px;margin:0 auto 22px;}
.mel-404__symbole svg{width:100%;height:100%;}
.mel-404 h1{font-size:clamp(30px,3.4vw,42px);margin-bottom:12px;}
.mel-404__chapo{margin:0 auto;font-size:18px;color:var(--gris);max-width:32em;}
.mel-404__recherche,.mel-recherche-form{display:flex;gap:10px;max-width:480px;margin:24px auto;}
.mel-recherche-form{margin:20px 0 0;max-width:540px;}
.mel-404__recherche input,.mel-recherche-form input{flex:1;height:50px;border-radius:999px;border:1.5px solid #AEB7BD;padding:0 20px;font:16px var(--f-corps);background:var(--blanc);color:var(--encre);min-width:0;}
.mel-404__recherche input:focus,.mel-recherche-form input:focus{outline:none;border-color:var(--bleu);box-shadow:0 0 0 4px rgba(45,88,118,.2);}
.mel-404__rubriques{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:20px;}
.mel-404__rubriques--gauche{justify-content:flex-start;}
.mel-404__cta{margin-top:28px;}
@media (max-width:480px){ .mel-404__recherche,.mel-recherche-form{flex-direction:column;} }

/* ===================== 99. PASSE 1 (03/11/2026) : corrections mesurées =====================
 * Un seul bloc, chaque règle préfixée par son conteneur. Mode clair uniquement (color-scheme:light posé en tête de feuille). */

/* 1. Formulaire sur bande Encre : la plaque reste claire, tout son texte reste Encre acier (les boutons héritaient du blanc de la bande) */
.mel-form{color:var(--encre);}
.mel-section--encre .mel-form h2,.mel-section--encre .mel-form h3,.mel-section--encre .mel-form p,.mel-section--encre .mel-form li,.mel-section--encre .mel-form label,.mel-section--encre .mel-form legend{color:var(--encre);}
.mel-section--encre .mel-form .mel-form__indication,.mel-section--encre .mel-form .mel-form__compteur,.mel-section--encre .mel-form .mel-form__nom-etape,.mel-section--encre .mel-form .mel-form__case--consentement,.mel-section--encre .mel-form .mel-form__suite li{color:var(--gris);}
.mel-section--encre .mel-form .mel-form__erreur{color:var(--alerte);}
.mel-form .mel-form__tuile,.mel-form .mel-form__tuile__texte,.mel-form .mel-form__segmente button,.mel-form .mel-form__pilule{color:var(--encre);}
.mel-form .mel-form__segmente button.est-choisi,.mel-form .mel-form__pilule.est-choisi{color:#fff;}
.mel-form .mel-form__tuile__texte{opacity:1;}
.mel-form .mel-form__nom-etape.est-actif{color:var(--encre);}
.mel-form .mel-btn--jaune{color:var(--encre);}

/* 5. Formulaire de la colonne d'article : état final visible dès le chargement, aucune opacité < 1 */
@keyframes mel-etape{from{transform:translateX(12px);}to{transform:none;}}
.mel-form .mel-form__etape.est-active{opacity:1;}
.mel-form .mel-btn:disabled,.mel-form .mel-btn.est-desactive{opacity:1;background:var(--alu-2);border-color:#AEB7BD;color:var(--gris);box-shadow:none;pointer-events:none;}
.mel-aside-form,.mel-aside-form__carte,.mel-aside-form .mel-form{opacity:1;}

/* 2. Accueil mobile : la table de sélection ne dépasse plus de l'écran */
.mel-sel{grid-template-columns:minmax(0,5fr) minmax(0,7fr);}
.mel-sel > *{min-width:0;}
.mel-sel .mel-sel__carte{max-width:100%;}
.mel-sel .mel-sel__defile{max-width:100%;overflow-x:auto;}
@media (max-width:980px){ .mel-sel{grid-template-columns:minmax(0,1fr);} }
@media (max-width:520px){
	.mel-sel .mel-sel__table{min-width:0;width:100%;table-layout:auto;}
	.mel-sel .mel-sel__table thead th{font-size:14px;padding:8px 4px;}
	.mel-sel .mel-sel__table thead th small{font-size:11px;}
	.mel-sel .mel-sel__table thead th.mel-sel__col-kw{padding-left:12px;width:auto;}
	.mel-sel .mel-sel__table tbody th{padding-left:12px;font-size:16px;}
	.mel-sel .mel-sel__table tbody th small{margin-left:3px;}
	.mel-sel .mel-sel__table tbody td,.mel-sel .mel-sel__table tbody th{padding-inline:4px;}
	.mel-sel .mel-sel__table thead th:nth-child(n+4):nth-child(-n+5),
	.mel-sel .mel-sel__table tbody td:nth-child(n+4):nth-child(-n+5){display:none;}
	.mel-sel .mel-sel__col-go{width:34px;}
}

/* 3. Rubrique mobile : une colonne, enfants de grille bornés, filtres qui passent à la ligne, relevés réduits */
.mel-rub-tete .mel-rub-tete__grille > *{min-width:0;}
.mel-rub-tete .mel-rub-tete__texte h1{overflow-wrap:anywhere;}
@media (max-width:760px){
	.mel-rub-tete .mel-rub-tete__grille{grid-template-columns:minmax(0,1fr);}
	.mel-rub-tete .mel-rub-tete__texte h1{font-size:clamp(28px,8.4vw,34px);}
	.mel-rub-tete .mel-rub-tete__chapo{max-width:100%;}
	.mel-rub-tete .mel-rub-filtres{flex-wrap:wrap;overflow:visible;max-width:100%;}
	.mel-rub-tete .mel-rub-filtres a{flex:0 1 auto;white-space:normal;height:38px;padding:0 14px;font-size:14px;}
	.mel-rub-tete .mel-releves{grid-template-columns:repeat(3,minmax(0,1fr));padding:12px 2px;}
	.mel-rub-tete .mel-releves > div{padding:2px 8px;}
	.mel-rub-tete .mel-releves dt{font-size:12px;overflow-wrap:anywhere;}
	.mel-rub-tete .mel-releves dd{font-size:22px;overflow-wrap:anywhere;}
	.mel-rub-tete .mel-releves dd small{font-size:12px;margin-left:3px;}
	.mel-rub-tete .mel-releves dd.mel-releves__date{font-size:15px!important;line-height:1.2;}
}

/* 4. Accueil : « Réparer ou remplacer » compacte (étapes en 2×2 à côté du calcul) */
#reparer-ou-remplacer.mel-section{padding-block:clamp(26px,4vh,40px);}
#reparer-ou-remplacer .mel-section__tete{margin-bottom:18px;gap:6px;}
#reparer-ou-remplacer .mel-section__chapo{margin-bottom:0;font-size:17px;}
#reparer-ou-remplacer .mel-dec{grid-template-columns:minmax(0,1fr) 400px;gap:28px;align-items:stretch;}
#reparer-ou-remplacer .mel-dec__etapes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:14px;}
#reparer-ou-remplacer .mel-dec__etape,#reparer-ou-remplacer .mel-dec__etape:first-child{grid-template-columns:40px minmax(0,1fr);gap:12px;padding:14px 16px;border:1px solid var(--trait);border-radius:var(--r-carte);background:var(--blanc);box-shadow:var(--ombre-douce);align-content:start;}
#reparer-ou-remplacer .mel-dec__etape h3{font-size:18px;line-height:1.15;margin:0 0 4px;}
#reparer-ou-remplacer .mel-dec__etape p{font-size:14.5px;line-height:1.45;margin:0 0 4px;}
#reparer-ou-remplacer .mel-dec__etape .mel-lien{font-size:14.5px;}
#reparer-ou-remplacer .mel-dec__calc{padding:20px 22px 18px;}
#reparer-ou-remplacer .mel-dec__calc h3{font-size:20px;}
#reparer-ou-remplacer .mel-dec__formule{margin-bottom:8px;}
#reparer-ou-remplacer .mel-dec__calc .mel-champ{margin-bottom:8px;}
#reparer-ou-remplacer .mel-dec__calc .mel-champ input{height:40px;}
#reparer-ou-remplacer .mel-dec__calc .mel-champ__unite{height:37.5px;}
#reparer-ou-remplacer .mel-dec__resultat{padding:9px 14px;margin:2px 0 8px;}
#reparer-ou-remplacer .mel-dec__resultat-val strong{font-size:32px;}
#reparer-ou-remplacer .mel-dec__avertissement{margin-bottom:10px;}
#reparer-ou-remplacer .mel-dec__calc .mel-btn{height:46px;}
@media (max-width:1100px){
	#reparer-ou-remplacer .mel-dec{grid-template-columns:minmax(0,1fr);gap:20px;}
}
@media (max-width:640px){
	#reparer-ou-remplacer .mel-dec__etapes{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;}
}

/* 6. Carte de la zone : départements en aplat, 20 communes en Cuivre plein */
.mel-zone__grille{align-items:center;}
.mel-zone__carte-wrap{padding:14px 14px 10px;}
.mel-zone__carte-wrap svg{max-height:450px;}
.mel-zone__carte-wrap svg g[data-dep] path{stroke:rgba(255,255,255,.55);stroke-width:.6;vector-effect:non-scaling-stroke;cursor:default;}
.mel-zone__carte-wrap svg g[data-dep="77"] path{fill:#C6CDCA;}
.mel-zone__carte-wrap svg g[data-dep="91"] path{fill:#B0B9B5;}
.mel-zone__carte-wrap svg g[data-dep]{filter:drop-shadow(1.6px 0 0 var(--encre)) drop-shadow(-1.6px 0 0 var(--encre)) drop-shadow(0 1.6px 0 var(--encre)) drop-shadow(0 -1.6px 0 var(--encre));}
.mel-zone__carte-wrap svg path.commune{fill:var(--cuivre);stroke:var(--encre);stroke-width:1.2;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .15s ease;}
.mel-zone__carte-wrap svg path.commune.est-survolee,.mel-zone__carte-wrap svg path.commune:hover,.mel-zone__carte-wrap svg path.commune:focus-visible{fill:var(--jaune);stroke:var(--encre);}
.mel-zone__carte-wrap .mel-zone__puce{background:var(--cuivre);box-shadow:0 0 0 2px var(--encre);}
.mel-zone__carte-wrap .mel-zone__legende{margin:6px 0 0;font-size:14px;color:var(--encre);}
.mel-zone__carte-wrap .mel-zone__legende-deps{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 20px;margin:4px 0 0;font-size:14px;font-weight:600;color:var(--encre);}
.mel-zone__carte-wrap .mel-zone__legende-deps li{display:inline-flex;align-items:center;gap:8px;}
.mel-zone__carte-wrap .mel-zone__legende-deps i{display:inline-block;width:18px;height:14px;border-radius:3px;border:2px solid var(--encre);flex:none;}
.mel-zone__carte-wrap .mel-zone__legende-deps .d77{background:#C6CDCA;}
.mel-zone__carte-wrap .mel-zone__legende-deps .d91{background:#B0B9B5;}
.mel-zone__texte .mel-zone__liste a,.mel-zone__texte .mel-zone__liste span{min-height:32px;}
.mel-zone__texte .mel-zone__liste{gap:4px;}
.mel-zone__texte .mel-zone__deps{margin-top:0;}

/* 7. Carte famille sans photo : aplat Encre + couronne d'encoches cuivre, jamais une case vide */
.mel-familles .mel-famille__photo:empty{
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Ccircle cx='100' cy='100' r='78' fill='none' stroke='%23A9561F' stroke-width='26' stroke-dasharray='11 9.4'/%3E%3Ccircle cx='100' cy='100' r='64' fill='%232A3541'/%3E%3Ccircle cx='100' cy='100' r='36' fill='none' stroke='%23F0C230' stroke-width='5'/%3E%3Ccircle cx='100' cy='100' r='10' fill='%2317202A'/%3E%3C/svg%3E") no-repeat right 7% top 6%/auto 84%,
		linear-gradient(135deg,var(--encre-2),var(--encre));
}

/* 8. Blocs du contenu (article ET page ville) */
.mel-corps div.mel-meme-sujet{background:var(--alu);border-left:3px solid var(--cuivre);border-radius:10px;padding:16px 20px;margin:24px 0;color:var(--encre);}
.mel-corps div.mel-meme-sujet > :first-child{margin-top:0;}
.mel-corps div.mel-meme-sujet > :last-child{margin-bottom:0;}
.mel-corps div.mel-meme-sujet h2,.mel-corps div.mel-meme-sujet h3,.mel-corps div.mel-meme-sujet h4,.mel-corps div.mel-meme-sujet .mel-meme-sujet__titre{display:block;font:700 17px/1.25 var(--f-titre);margin:0 0 8px;color:var(--encre);}
.mel-corps div.mel-meme-sujet h2::before{content:none;}
.mel-corps div.mel-meme-sujet p{font-size:15.5px;line-height:1.55;margin:0 0 8px;max-width:none;}
.mel-corps div.mel-meme-sujet ul:not([class]){margin:6px 0 0;gap:6px;}
.mel-corps div.mel-meme-sujet ul:not([class]) > li{padding-left:18px;font-size:15.5px;line-height:1.45;}
.mel-corps div.mel-meme-sujet ul:not([class]) > li::before{left:2px;top:.62em;width:7px;height:7px;box-shadow:none;}
.mel-corps figure.mel-photo-corps{margin:28px 0;width:100%;max-width:none;}
.mel-corps figure.mel-photo-corps img{display:block;width:100%;height:auto;max-height:480px;object-fit:cover;border-radius:14px;margin:0;box-shadow:var(--ombre-douce);}
.mel-corps figure.mel-photo-corps figcaption{font-size:13px;line-height:1.4;color:var(--gris);margin-top:8px;}
@media (max-width:760px){ .mel-corps figure.mel-photo-corps img{max-height:300px;} .mel-corps div.mel-meme-sujet{padding:14px 16px;} }

/* ===== 100. Blocs éditoriaux du corps (repères, étapes, encadrés) — 03/11 après juge n°1 ===== */
.mel-corps .mel-reperes{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:28px 0;}
.mel-corps .mel-repere{margin:0;background:var(--encre);color:rgba(255,255,255,.86);border-radius:12px;padding:18px 18px 16px;display:flex;flex-direction:column;gap:6px;box-shadow:inset 0 3px 0 var(--cuivre);max-width:none;}
.mel-corps .mel-repere strong{display:block;color:#fff;font:700 22px/1.15 var(--f-titre);font-variant-numeric:tabular-nums lining-nums;}
.mel-corps .mel-repere span{display:block;font-size:14.5px;line-height:1.45;}
.mel-corps ol.mel-etapes{list-style:none;margin:28px 0 12px;padding:0;display:grid;gap:12px;counter-reset:etape;}
.mel-corps ol.mel-etapes > li{position:relative;counter-increment:etape;background:#fff;border:1px solid var(--trait);border-radius:12px;padding:16px 18px 16px 64px;display:flex;flex-direction:column;gap:4px;}
.mel-corps ol.mel-etapes > li::before{content:counter(etape);position:absolute;left:16px;top:16px;width:32px;height:32px;border-radius:50%;background:var(--jaune);color:var(--encre);font:700 15px/32px var(--f-titre);text-align:center;box-shadow:0 0 0 3px #fff,0 0 0 4px var(--cuivre);}
.mel-corps ol.mel-etapes > li > strong{display:block;font:700 17px/1.3 var(--f-titre);color:var(--encre);}
.mel-corps ol.mel-etapes > li > span{display:block;font-size:15.5px;line-height:1.55;color:#3b4652;}
.mel-corps .mel-etapes-legende{font-size:14px;line-height:1.5;color:#5b6670;margin:0 0 28px;}
.mel-corps .mel-encadre{display:flex;flex-direction:column;gap:6px;border-radius:12px;padding:18px 22px;margin:28px 0;}
.mel-corps .mel-encadre > strong{display:block;font:700 17px/1.3 var(--f-titre);}
.mel-corps .mel-encadre > span{display:block;line-height:1.6;}
.mel-corps .mel-encadre span > strong,.mel-corps .mel-encadre p > strong{display:inline;font:inherit;font-weight:700;}
.mel-corps .mel-encadre--retenir{background:var(--alu-clair);border-left:4px solid var(--cuivre);}
.mel-corps .mel-encadre--retenir > strong{color:var(--cuivre);}
.mel-corps .mel-encadre--alerte{background:#FFF7DD;border-left:4px solid var(--jaune);}
.mel-corps .mel-encadre--alerte > strong{color:var(--encre);}
@media (max-width:560px){.mel-corps .mel-reperes{grid-template-columns:1fr 1fr;}.mel-corps ol.mel-etapes > li{padding-left:58px;}}
/* 101. Grilles de rubrique sans carte orpheline (juge n°1 : 7ᵉ carte seule + 2 trous) */
@media (min-width:981px){
 .mel-liste:has(> .mel-carte:last-child:nth-child(3n+1)) > .mel-carte:first-child{grid-column:1/-1;flex-direction:row;}
 .mel-liste:has(> .mel-carte:last-child:nth-child(3n+1)) > .mel-carte:first-child .mel-carte__photo{flex:0 0 52%;aspect-ratio:auto;max-height:280px;min-height:230px;}
 .mel-liste:has(> .mel-carte:last-child:nth-child(3n+2)) > .mel-carte:first-child{grid-column:span 2;flex-direction:row;}
 .mel-liste:has(> .mel-carte:last-child:nth-child(3n+2)) > .mel-carte:first-child .mel-carte__photo{flex:0 0 50%;aspect-ratio:auto;max-height:none;min-height:100%;}
}
@media (min-width:641px) and (max-width:980px){
 .mel-liste:has(> .mel-carte:last-child:nth-child(odd)) > .mel-carte:first-child{grid-column:1/-1;}
}
/* 102. Contact : en-tête au niveau des autres pages (bande Encre + liseré d'encoches) */
.mel-bandeau-simple{background:var(--encre);color:#fff;position:relative;}
.mel-bandeau-simple h1{color:#fff;}
.mel-bandeau-simple .mel-bandeau-simple__chapo{color:rgba(255,255,255,.82);}
.mel-bandeau-simple::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:repeating-linear-gradient(90deg,var(--cuivre) 0 8px,transparent 8px 14px);}
