/* =========================================================================
   FINITIONS — retours de Roxane du 27/09/2026 (R1 → R27), validés par Mathias.
   Chargée APRÈS pages.css : ce fichier corrige et complète, sans changer la
   direction artistique (margelle claire, eau turquoise, anthracite, Mohave/Urbanist).
   ========================================================================= */

:root {
	--eau-texte: #00756F;   /* turquoise lisible en texte : 5,4:1 sur blanc, 4,6:1 sur eau claire */
	--ombre-douce: 0 1px 2px rgba(21,32,34,0.05), 0 8px 24px rgba(21,32,34,0.06);
	--rayon-l: 14px;
}

/* -------------------------------------------------------------------------
   R1 — Bandeau du haut : vraie marge, bouton qui ne touche plus les bords
   ------------------------------------------------------------------------- */
.piscin3_bandeau, .piscin3_bandeau_inner { min-height: 42px; }
.piscin3_bandeau_inner { gap: 24px; padding-top: 5px; padding-bottom: 5px; }
.piscin3_bandeau_label { padding-right: 18px; -webkit-mask-image: none; mask-image: none; }
.piscin3_bandeau_liste { mask-image: linear-gradient(90deg, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%); -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%); }
.piscin3_bandeau_cta {
	padding: 5px 14px;
	font-size: 12.5px;
	line-height: 1.4;
	border-radius: 999px;
	align-self: center;
}
/* Sur ordinateur, le header porte déjà « Trouver un pisciniste » : un 2e bouton identique
   collé au bord de l'écran faisait doublon (« surtout le bouton bleu »). */
@media (min-width: 901px) {
	.piscin3_bandeau_cta { display: none; }
}
.piscin3_header { box-shadow: 0 1px 0 var(--bordure); }
.piscin3_header_inner { padding-top: 14px; padding-bottom: 14px; }

/* Ligne de flotteurs : une ligne continue sur toute la largeur, plus une rangée de
   perles qui s'arrêtait avant le bord droit et ne s'alignait sur rien. */
.piscin3_flotteurs {
	height: 6px;
	padding: 0;
	gap: 0;
	background-image: repeating-linear-gradient(90deg,
		var(--eau) 0 16px, transparent 16px 21px,
		var(--carreau) 21px 37px, transparent 37px 42px,
		var(--anthracite) 42px 58px, transparent 58px 63px);
	background-position: center;
}
.piscin3_flotteurs > * { display: none; }

/* -------------------------------------------------------------------------
   R22 — Titres des héros : le « É » ne mord plus sur le surtitre
   ------------------------------------------------------------------------- */
.piscin3_hero_eau .piscin3_surtitre,
.piscin3_service_hero_eau .piscin3_surtitre { display: block; margin-bottom: 10px; line-height: 1.3; }
.piscin3_hero_eau h1,
.piscin3_service_hero_eau h1 { line-height: 1.08; padding-top: 0.08em; }
.piscin3_page_tete h1 { line-height: 1.08; }

/* -------------------------------------------------------------------------
   ACCUEIL — R2 lisibilité, R4 équilibre, R5 comparatifs, saisons sur mobile
   ------------------------------------------------------------------------- */
.piscin3_fil {
	background: var(--surface);
	border: 1px solid var(--bordure);
	box-shadow: var(--ombre-douce);
	position: relative;
	overflow: hidden;
}
.piscin3_fil::before { content: ''; position: absolute; left: 0; top: 0; right: 0; height: 4px; background: var(--eau); }
.piscin3_fil_meta { color: var(--eau-texte); letter-spacing: 0.03em; }
.piscin3_fil_item { border-top-color: var(--bordure); transition: background-color 160ms ease; border-radius: 8px; }
.piscin3_fil_item:hover .piscin3_fil_titre { text-decoration: underline; text-decoration-color: var(--eau); text-underline-offset: 3px; }

.piscin3_lead_grid { align-items: center; }
.piscin3_lead_marches { display: grid; gap: 14px; margin: 28px 0 18px; }
.piscin3_lead_marches li { display: flex; gap: 14px; align-items: flex-start; }
.piscin3_lead_marche_num {
	flex: 0 0 auto; width: 34px; height: 34px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--eau); color: var(--anthracite);
	font-family: var(--f-titre); font-weight: 700; font-size: 16px;
}
.piscin3_lead_marches strong { display: block; color: #fff; font-family: var(--f-titre); font-size: 19px; font-weight: 600; letter-spacing: 0.01em; }
.piscin3_lead_marches span span, .piscin3_lead_marches li > span:last-child { color: var(--sur-anthracite-douce); font-size: 16px; line-height: 1.5; }
.piscin3_lead_note { font-size: 14px; color: var(--eau) !important; font-weight: 600; margin-top: 4px; }

.piscin3_bande_banc { background: var(--surface); border-top: 1px solid var(--bordure); border-bottom: 1px solid var(--bordure); }
.piscin3_banc_carte { box-shadow: var(--ombre-douce); transition: transform 200ms ease, box-shadow 200ms ease; }
.piscin3_banc_carte:hover { transform: translateY(-3px); box-shadow: 0 14px 28px rgba(21,32,34,0.10); }
.piscin3_banc_carte_cadre { background: var(--eau-claire); }

.piscin3_grille_saisons { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 900px) { .piscin3_grille_saisons { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Bande finale : plus de titre bleu foncé sur fond turquoise clair (R2) — la photo du
   bassin sous un voile anthracite, titre blanc, bouton turquoise. */
.piscin3_cta_final {
	position: relative;
	background: var(--anthracite) url('../img/og-repli.jpg') center / cover no-repeat;
	color: #fff;
	padding: 72px var(--marge);
	isolation: isolate;
}
.piscin3_cta_final::before { content: ''; position: absolute; inset: 0; background: rgba(21,32,34,0.78); z-index: -1; }
.piscin3_cta_final_inner h2 { color: #fff; }
.piscin3_cta_final_inner p { color: var(--sur-anthracite-douce); font-size: 18px; }
.piscin3_cta_final .piscin3_btn_clair { background: var(--eau); border-color: var(--eau); color: var(--anthracite); }
.piscin3_cta_final .piscin3_btn_clair:hover { background: #fff; border-color: #fff; }

.piscin3_footer_bas p { margin: 0 auto; max-width: none; }

/* -------------------------------------------------------------------------
   ARTICLE — R10 au-dessus de la ligne de flottaison, R11 sommaire, R19 colonne
   ------------------------------------------------------------------------- */
.piscin3_article_head { padding: 32px 0 28px; }
@media (min-width: 901px) { .piscin3_article_head_grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 48px; } }
.piscin3_article_head h1 { font-size: clamp(32px, 3.6vw, 52px); line-height: 1.05; }
.piscin3_article_head .piscin3_chapo { font-size: 19px; line-height: 1.6; color: var(--encre-douce); }
.piscin3_article_photo { aspect-ratio: 16 / 11; box-shadow: var(--ombre-douce); }
.piscin3_article_auteur_mini { padding-top: 16px; border-top: 1px solid var(--bordure); }
.piscin3_article_rubrique { color: var(--eau-texte); }

@media (min-width: 981px) { .piscin3_article_corps_grille { grid-template-columns: minmax(0, 1fr) 320px; gap: 56px; } }
.piscin3_sidebar { position: static; max-height: none; overflow: visible; align-self: stretch; gap: 20px; }
.piscin3_sidebar_colle { position: sticky; top: 96px; }
.piscin3_sidebar_sommaire { max-height: none; overflow: visible; padding: 20px; box-shadow: var(--ombre-douce); }
@media (max-width: 980px) {
	.piscin3_sidebar_colle { position: static; }
	.piscin3_sidebar { order: 2; }
}

/* Sommaire numéroté (articles et guides) */
.piscin3_sommaire_label { font-size: 13px; color: var(--encre); margin-bottom: 14px; display: flex; align-items: center; gap: 8px; }
.piscin3_sommaire_label::before { content: ''; width: 18px; height: 4px; border-radius: 99px; background: var(--eau); }
.piscin3_sommaire_liste { counter-reset: piscin3-som; border-left: 2px solid var(--bordure); gap: 2px; }
.piscin3_sommaire_lien { padding: 7px 8px 7px 14px; font-size: 14px; line-height: 1.35; align-items: baseline; border-radius: 0 8px 8px 0; margin-left: -2px; border-left: 2px solid transparent; }
.piscin3_sommaire_lien .piscin3_flotteur_puce { display: none; }
.piscin3_sommaire_lien::before {
	counter-increment: piscin3-som;
	content: counter(piscin3-som, decimal-leading-zero);
	font-family: var(--f-titre); font-weight: 600; font-size: 13px; color: var(--joint);
	flex: 0 0 22px;
}
.piscin3_sommaire_lien:hover { background: var(--eau-claire); color: var(--encre); }
.piscin3_sommaire_lien.is-actif { border-color: var(--eau); background: var(--eau-claire); }
.piscin3_sommaire_lien.is-actif::before { color: var(--eau-texte); }

/* Corps : titres rythmés */
.piscin3_corps h2 { position: relative; padding-top: 18px; line-height: 1.1; }
.piscin3_corps h2::before { content: ''; position: absolute; left: 0; top: 0; width: 44px; height: 4px; border-radius: 99px; background: var(--eau); }
.piscin3_corps h3 { line-height: 1.2; }

/* Listes du corps : cartes à coches, plus de puces nues */
.piscin3_corps > ul:not([class]) {
	background: var(--surface); border: 1px solid var(--bordure); border-radius: var(--rayon-l);
	padding: 20px 22px; gap: 12px; max-width: none; box-shadow: var(--ombre-douce);
}
.piscin3_corps > ul:not([class]) > li { padding-left: 34px; line-height: 1.55; }
.piscin3_corps > ul:not([class]) > li::before {
	width: 22px; height: 22px; top: 2px; border-radius: 50%;
	background: var(--eau-claire) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300756F' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / 13px no-repeat;
}

/* --- Encadrés : info / astuce / vigilance / le saviez-vous --------------- */
.piscin3_encadre, .piscin3_astuce, .piscin3_vigilance {
	display: flex; gap: 14px; align-items: flex-start;
	padding: 18px 20px; border-radius: var(--rayon-l);
	border: 1px solid var(--bordure); background: var(--surface);
	max-width: none;
}
.piscin3_encadre .piscin3_ico, .piscin3_astuce .piscin3_ico, .piscin3_vigilance .piscin3_ico { flex: 0 0 auto; width: 36px; height: 36px; padding: 8px; border-radius: 10px; }
.piscin3_encadre { border-left: 4px solid var(--anthracite); }
.piscin3_encadre .piscin3_ico { background: var(--anthracite); color: #fff; }
.piscin3_astuce { background: var(--eau-claire); border-color: transparent; }
.piscin3_astuce .piscin3_ico { background: var(--surface); color: var(--eau-texte); }
.piscin3_vigilance { border-left: 4px solid var(--bouee); background: #FFF6F1; border-color: #FBDCCB; }
.piscin3_vigilance .piscin3_ico { background: var(--bouee); color: #fff; }
.piscin3_encadre_label { display: block; font-family: var(--f-titre); font-weight: 600; font-size: 18px; letter-spacing: 0.01em; margin-bottom: 4px; color: var(--encre); }
.piscin3_encadre p, .piscin3_astuce p, .piscin3_vigilance p { margin: 0; font-size: 16.5px; line-height: 1.6; max-width: none; }

.piscin3_saviez {
	position: relative; padding: 24px 26px 22px; border-radius: var(--rayon-l);
	background: var(--anthracite); color: #fff; overflow: hidden; isolation: isolate;
}
.piscin3_saviez::after {
	content: ''; position: absolute; right: -40px; top: -40px; width: 160px; height: 160px; border-radius: 50%;
	background: radial-gradient(circle, rgba(0,208,198,0.35), rgba(0,208,198,0) 70%); z-index: -1;
}
.piscin3_saviez_label { display: flex; align-items: center; gap: 8px; font-family: var(--f-titre); font-size: 20px; font-weight: 600; color: var(--eau); margin-bottom: 8px; letter-spacing: 0.02em; }
.piscin3_saviez_label .piscin3_ico { width: 22px; height: 22px; }
.piscin3_saviez p { color: #fff; font-size: 18px; line-height: 1.6; margin: 0; max-width: none; }
.piscin3_saviez a { color: #fff; }

/* --- Fiches « Libellé : texte » ------------------------------------------ */
.piscin3_fiche { padding: 16px 18px; border-radius: var(--rayon-l); background: var(--surface); border: 1px solid var(--bordure); }
.piscin3_fiche_label {
	display: inline-flex; align-items: center; gap: 8px; margin-bottom: 6px;
	font-family: var(--f-titre); font-weight: 600; font-size: 17px; color: var(--encre);
}
.piscin3_fiche_label::before { content: ''; width: 10px; height: 10px; border-radius: 3px; background: var(--eau); }
.piscin3_fiche p { margin: 0; font-size: 16.5px; line-height: 1.6; max-width: none; }
.piscin3_fiches { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.piscin3_fiches > .piscin3_fiche { margin: 0; }
@media (max-width: 700px) { .piscin3_fiches { grid-template-columns: minmax(0, 1fr); } }

/* --- Étapes numérotées (liste glissée dans une phrase) -------------------- */
.piscin3_etapes, .piscin3_seuils { padding: 22px; border-radius: var(--rayon-l); background: var(--eau-claire); }
.piscin3_etapes_label, .piscin3_seuils_label { display: block; font-family: var(--f-titre); font-weight: 600; font-size: 18px; margin-bottom: 14px; }
.piscin3_etapes_liste { counter-reset: piscin3-etape; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
.piscin3_corps .piscin3_etapes_liste > li, .piscin3_etape_item {
	counter-increment: piscin3-etape; position: relative;
	background: var(--surface); border-radius: 10px; padding: 44px 14px 14px !important;
	font-size: 15px; line-height: 1.45; font-weight: 600; box-shadow: var(--ombre-douce);
}
.piscin3_corps .piscin3_etapes_liste > li::before, .piscin3_etape_item::before {
	content: counter(piscin3-etape) !important; position: absolute; left: 14px !important; top: 12px !important;
	width: 26px !important; height: 26px !important; border-radius: 50% !important;
	background: var(--anthracite) !important; color: #fff !important;
	font-family: var(--f-titre); font-weight: 700; font-size: 13px;
	display: flex; align-items: center; justify-content: center;
}

/* --- Seuils (clé → valeur) : une échelle lisible -------------------------- */
.piscin3_seuils_liste { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; }
.piscin3_corps .piscin3_seuils_liste > li, .piscin3_seuil {
	position: relative; display: flex; flex-direction: column; gap: 8px;
	background: var(--surface); border-radius: 10px; padding: 16px !important; box-shadow: var(--ombre-douce);
	border-top: 4px solid var(--eau);
}
.piscin3_corps .piscin3_seuils_liste > li::before { display: none !important; }
.piscin3_seuils_liste > li:nth-child(2) { border-top-color: var(--eau-fonce); }
.piscin3_seuils_liste > li:nth-child(3) { border-top-color: var(--anthracite); }
.piscin3_seuil_cle { font-size: 14px; color: var(--encre-douce); line-height: 1.4; }
.piscin3_seuil_valeur { font-family: var(--f-titre); font-weight: 600; font-size: 20px; line-height: 1.15; color: var(--encre); }

/* --- Profils (« Profil 1 — … ») ------------------------------------------- */
.piscin3_profils { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.piscin3_profil { position: relative; padding: 20px; border-radius: var(--rayon-l); background: var(--surface); border: 1px solid var(--bordure); box-shadow: var(--ombre-douce); }
.piscin3_profil_num { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; background: var(--eau); color: var(--anthracite); font-family: var(--f-titre); font-weight: 700; font-size: 18px; margin-bottom: 10px; }
.piscin3_profil_titre { display: block; font-family: var(--f-titre); font-weight: 600; font-size: 18px; line-height: 1.2; margin-bottom: 8px; }
.piscin3_profil p { margin: 0; font-size: 15.5px; line-height: 1.55; color: var(--encre-douce); }

/* --- Familles (H2 qui porte plusieurs H3) : cartes numérotées ------------- */
.piscin3_familles { display: grid; gap: 16px; counter-reset: piscin3-fam; }
.piscin3_famille {
	position: relative; padding: 22px 22px 20px 78px; border-radius: var(--rayon-l);
	background: var(--surface); border: 1px solid var(--bordure); box-shadow: var(--ombre-douce);
	counter-increment: piscin3-fam;
}
.piscin3_famille::before {
	content: counter(piscin3-fam, decimal-leading-zero);
	position: absolute; left: 22px; top: 20px;
	font-family: var(--f-titre); font-weight: 300; font-size: 40px; line-height: 1; color: var(--eau);
}
.piscin3_famille > h3 { margin: 0 0 8px; font-size: 22px; }
.piscin3_famille > * + * { margin-top: 12px; }
.piscin3_famille p { font-size: 16.5px; line-height: 1.6; max-width: none; }
@media (max-width: 560px) { .piscin3_famille { padding: 64px 18px 18px; } .piscin3_famille::before { top: 16px; left: 18px; font-size: 34px; } }

/* --- FAQ ------------------------------------------------------------------ */
.piscin3_corps .piscin3_faq details[open] { border-color: var(--eau); box-shadow: var(--ombre-douce); }

/* --- Références (en pied de partie) et puces-sources ---------------------- */
.piscin3_refs_ligne { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; max-width: none; font-size: 13px; line-height: 1.4; }
.piscin3_refs_label { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--encre-douce); text-transform: uppercase; letter-spacing: 0.05em; font-size: 11.5px; margin-right: 4px; }
.piscin3_refs_label .piscin3_ico { width: 15px; height: 15px; color: var(--eau-texte); }
.piscin3_ref_puce { display: inline-block; padding: 4px 10px; border-radius: 999px; background: var(--surface); border: 1px solid var(--bordure); color: var(--encre-douce); }
.piscin3_refs_partie { padding-top: 14px; border-top: 1px dashed var(--bordure); }

/* --- Section Sources de fin (R21) : des cartes, plus une liste à puces ---- */
.piscin3_sources_h2 { margin-top: 56px; }
.piscin3_sources_intro { color: var(--encre-douce); font-size: 16px; }
.piscin3_corps .piscin3_sources_grille, .piscin3_sources_grille {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px;
	counter-reset: piscin3-src; list-style: none; padding: 0; max-width: none;
}
.piscin3_corps .piscin3_sources_grille > li, .piscin3_source_carte {
	position: relative; display: flex; flex-direction: column; gap: 4px;
	padding: 16px 16px 14px 16px !important; border-radius: 12px;
	background: var(--surface); border: 1px solid var(--bordure);
	counter-increment: piscin3-src;
}
.piscin3_corps .piscin3_sources_grille > li::before, .piscin3_source_carte::before {
	content: counter(piscin3-src) !important; position: static !important;
	width: 26px !important; height: 26px !important; border-radius: 8px !important;
	background: var(--eau-claire) !important; color: var(--eau-texte) !important;
	font-family: var(--f-titre); font-weight: 700; font-size: 13px;
	display: inline-flex !important; align-items: center; justify-content: center; margin-bottom: 6px;
}
.piscin3_source_org { font-family: var(--f-titre); font-weight: 600; font-size: 17px; line-height: 1.2; color: var(--encre); }
.piscin3_source_titre { font-size: 14px; line-height: 1.45; color: var(--encre-douce); }
.piscin3_source_date { margin-top: auto; padding-top: 6px; font-size: 12px; font-weight: 600; color: var(--eau-texte); }
.piscin3_sources { background: transparent; padding: 0; margin: 40px 0 0; }
.piscin3_sources_titre { font-size: 22px; color: var(--encre); margin-bottom: 14px; text-transform: none; letter-spacing: 0; }

/* --- Maillage « À lire aussi » (R18) : cartes illustrées ------------------ */
.piscin3_maillage { margin-top: 48px; padding: 24px; border-radius: var(--rayon-l); background: var(--eau-claire); }
.piscin3_maillage h2 { margin-top: 0 !important; font-size: 26px; padding-top: 16px; }
.piscin3_maillage_grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 16px; }
.piscin3_corps .piscin3_maillage a, .piscin3_maillage a { text-decoration: none; background: none; }
.piscin3_maillage_carte { display: flex; flex-direction: column; background: var(--surface); border-radius: 12px; overflow: hidden; box-shadow: var(--ombre-douce); transition: transform 200ms ease, box-shadow 200ms ease; min-width: 0; }
.piscin3_maillage_carte:hover { transform: translateY(-3px); box-shadow: 0 14px 28px rgba(21,32,34,0.10); }
.piscin3_maillage_img { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--bordure); }
.piscin3_maillage_img img { width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; }
.piscin3_maillage_texte { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px 14px; }
.piscin3_maillage_cat { font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--eau-texte); }
.piscin3_maillage_titre { font-family: var(--f-titre); font-weight: 600; font-size: 17px; line-height: 1.25; color: var(--encre); }
.piscin3_maillage_rubrique { display: inline-flex; margin-top: 16px; font-weight: 700; font-size: 15px; color: var(--encre) !important; border-bottom: 2px solid var(--eau); }
@media (max-width: 700px) { .piscin3_maillage_grille { grid-template-columns: minmax(0, 1fr); } .piscin3_maillage_carte { flex-direction: row; } .piscin3_maillage_img { flex: 0 0 110px; aspect-ratio: auto; } }

/* --- Échelle de prix (R14/R17 : infographie qui était « complètement buguée ») */
.piscin3_gamme { margin: 32px 0; padding: 24px; border-radius: var(--rayon-l); background: var(--anthracite); color: #fff; }
.piscin3_gamme_titre { font-family: var(--f-titre); font-weight: 600; font-size: 22px; color: #fff; margin-bottom: 18px; }
.piscin3_corps .piscin3_gamme_liste, .piscin3_gamme_liste { display: grid; gap: 16px; list-style: none; padding: 0; max-width: none; counter-reset: none; }
.piscin3_corps .piscin3_gamme_liste > li, .piscin3_gamme_liste > li {
	display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; grid-template-areas: "rang lib val" "rang piste piste";
	gap: 6px 12px; align-items: center; padding: 0 !important;
}
.piscin3_corps .piscin3_gamme_liste > li::before { display: none !important; }
.piscin3_gamme_rang { grid-area: rang; align-self: start; width: 30px; height: 30px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--eau); color: var(--anthracite); font-family: var(--f-titre); font-weight: 700; }
.piscin3_gamme_libelle { grid-area: lib; font-size: 15.5px; color: var(--sur-anthracite-douce); }
.piscin3_gamme_valeur { grid-area: val; font-family: var(--f-titre); font-weight: 600; font-size: 18px; color: #fff; text-align: right; }
.piscin3_gamme_piste { grid-area: piste; position: relative; height: 10px; border-radius: 99px; background: rgba(255,255,255,0.10); }
.piscin3_gamme_piste i { position: absolute; top: 0; bottom: 0; border-radius: 99px; background: var(--eau); }
.piscin3_gamme_piste i.is-ouvert { background: linear-gradient(90deg, var(--eau), rgba(0,208,198,0.1)); }
.piscin3_gamme_source { display: block; margin-top: 16px; font-size: 12px; color: rgba(255,255,255,0.6); }
@media (max-width: 560px) {
	.piscin3_corps .piscin3_gamme_liste > li, .piscin3_gamme_liste > li { grid-template-columns: 30px minmax(0, 1fr); grid-template-areas: "rang lib" "rang val" "rang piste"; }
	.piscin3_gamme_valeur { text-align: left; }
}

/* --- Tableau comparatif en cartes (R12/R13) ------------------------------- */
.piscin3_cartes_comparatives { gap: 18px; }
.piscin3_carte_comparative { padding: 0; overflow: hidden; border-radius: var(--rayon-l); box-shadow: var(--ombre-douce); display: flex; flex-direction: column; }
.piscin3_cc_titre {
	margin: 0; padding: 16px 20px; background: var(--anthracite); color: #fff;
	font-size: 20px; line-height: 1.15; letter-spacing: 0.01em;
	border-bottom: 4px solid var(--eau);
}
.piscin3_corps .piscin3_carte_comparative ul { padding: 6px 20px 14px; gap: 0; max-width: none; }
.piscin3_corps .piscin3_carte_comparative li, .piscin3_carte_comparative li {
	display: grid; grid-template-columns: 118px minmax(0, 1fr); gap: 12px; align-items: baseline;
	padding: 10px 0 !important; font-size: 14.5px; line-height: 1.45;
}
.piscin3_corps .piscin3_carte_comparative li::before { display: none !important; }
.piscin3_cc_libelle { font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--joint); }
.piscin3_cc_valeur { text-align: left; font-weight: 600; }
/* Le prix en évidence, la source en note discrète en bas de carte. */
.piscin3_carte_comparative li:nth-last-child(2) .piscin3_cc_valeur { color: var(--eau-texte); font-family: var(--f-titre); font-size: 17px; }
.piscin3_carte_comparative li:last-child { font-size: 12.5px; color: var(--joint); }
.piscin3_carte_comparative li:last-child .piscin3_cc_valeur { font-weight: 500; color: var(--joint); }

/* -------------------------------------------------------------------------
   PAGE DEVIS + VILLES — R6-R9 : le guide refait (sommaire collant + chapitres)
   ------------------------------------------------------------------------- */
.piscin3_guide { background: var(--bg); padding-top: 72px; }
.piscin3_guide_tete { max-width: 760px; margin-bottom: 36px; }
.piscin3_guide_tete h2 { font-size: clamp(30px, 3.6vw, 44px); margin: 6px 0 10px; }
.piscin3_guide_tete p { color: var(--encre-douce); font-size: 18px; }
.piscin3_guide_grille { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: 48px; align-items: start; }
.piscin3_guide_nav { position: sticky; top: 96px; max-height: calc(100vh - 120px); overflow-y: auto; }
.piscin3_guide_nav .piscin3_sommaire { box-shadow: var(--ombre-douce); }
.piscin3_guide_corps { min-width: 0; }
.piscin3_guide_corps > * + * { margin-top: 24px; }
.piscin3_guide_intro { padding: 26px 28px; border-radius: var(--rayon-l); background: var(--anthracite); color: #fff; }
.piscin3_guide_intro > * + * { margin-top: 16px; }
.piscin3_guide_intro p { color: var(--sur-anthracite-douce); font-size: 18px; max-width: none; }
.piscin3_guide_intro p:first-child { color: #fff; font-size: 20px; font-weight: 500; }
.piscin3_guide_intro .piscin3_vigilance { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.12); border-left-color: var(--bouee); }
.piscin3_guide_intro .piscin3_vigilance p { color: #fff; }
.piscin3_guide_intro .piscin3_encadre_label { color: #fff; }
.piscin3_guide_intro .piscin3_ref_puce { background: transparent; border-color: rgba(255,255,255,0.2); color: var(--sur-anthracite-douce); }
.piscin3_guide_intro .piscin3_refs_label { color: var(--sur-anthracite-douce); }
.piscin3_guide_intro .piscin3_refs_label .piscin3_ico { color: var(--eau); }
.piscin3_guide_intro .piscin3_refs_partie { border-top-color: rgba(255,255,255,0.15); }

.piscin3_chapitre {
	position: relative; padding: 30px 32px 28px; border-radius: 18px;
	background: var(--surface); border: 1px solid var(--bordure); box-shadow: var(--ombre-douce);
	scroll-margin-top: 96px;
}
.piscin3_chapitre > * + * { margin-top: 18px; }
.piscin3_chapitre_num {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 48px; height: 32px; padding: 0 10px; border-radius: 999px;
	background: var(--eau-claire); color: var(--eau-texte);
	font-family: var(--f-titre); font-weight: 700; font-size: 16px; letter-spacing: 0.04em;
}
.piscin3_chapitre > h2 { margin-top: 12px !important; padding-top: 0; font-size: clamp(24px, 2.4vw, 30px); }
.piscin3_chapitre > h2::before { display: none; }
.piscin3_chapitre p { max-width: none; font-size: 17px; }
.piscin3_guide_corps .piscin3_module_photo { margin: 24px 0 0; border-radius: 18px; }
.piscin3_guide_corps .piscin3_module_tuiles { margin: 24px 0 0; border-radius: 18px; }
.piscin3_guide_corps .piscin3_module_rappel { margin: 24px 0 0; border-radius: 18px; }
.piscin3_guide_corps .piscin3_module_rappel .piscin3_lead_grid { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); }
@media (max-width: 1100px) { .piscin3_guide_corps .piscin3_module_rappel .piscin3_lead_grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 980px) {
	.piscin3_guide_grille { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.piscin3_guide_nav { position: static; max-height: none; }
	.piscin3_guide_nav .piscin3_sommaire_liste { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
	.piscin3_chapitre { padding: 22px 18px; }
	.piscin3_guide_intro { padding: 22px 18px; }
	.piscin3_guide_nav .piscin3_sommaire_liste { grid-template-columns: minmax(0, 1fr); }
	.piscin3_guide { padding-top: 48px; }
}

/* Tuiles « repères chiffrés » : chaque chiffre porte sa phrase (R7) */
.piscin3_module_tuiles_titre { display: block; font-family: var(--f-titre); font-weight: 600; font-size: 20px; margin-bottom: 14px; }
.piscin3_grille_tuiles_3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.piscin3_grille_tuiles_2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.piscin3_grille_tuiles_1 { grid-template-columns: minmax(0, 1fr); }
.piscin3_module_tuiles .piscin3_tuile { background-image: none; text-align: left; padding: 20px; }
.piscin3_module_tuiles .piscin3_marquage { font-size: 56px; }
.piscin3_module_tuiles .piscin3_tuile_legende { font-size: 14.5px; font-weight: 500; line-height: 1.45; color: var(--encre-douce); }
@media (max-width: 700px) { .piscin3_grille_tuiles_3, .piscin3_grille_tuiles_2 { grid-template-columns: minmax(0, 1fr); } }

/* -------------------------------------------------------------------------
   R27 — Pages secondaires (mentions, confidentialité) : texte aligné sur le titre
   ------------------------------------------------------------------------- */
.piscin3_page_tete { padding: 44px 0 20px; margin-bottom: 36px; }
.piscin3_conteneur.piscin3_page_corps,
.piscin3_page_corps.piscin3_corps { max-width: var(--conteneur); margin-left: auto; margin-right: auto; }
.piscin3_page_corps > * { max-width: 800px; }
.piscin3_page_corps h2 { font-size: 28px; }

/* -------------------------------------------------------------------------
   R23 — À propos
   ------------------------------------------------------------------------- */
.piscin3_apropos_hero { padding: 56px 0 64px; }
.piscin3_apropos_hero_grille { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 56px; align-items: center; }
.piscin3_apropos_hero h1 { font-size: clamp(38px, 4.6vw, 64px); line-height: 1.02; margin: 10px 0 18px; text-wrap: balance; }
.piscin3_apropos_hero .piscin3_chapo { color: var(--encre-douce); font-size: 20px; line-height: 1.6; }
.piscin3_apropos_chiffres { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 30px; }
.piscin3_apropos_chiffres li, .piscin3_auteur_fiche_chiffres li { display: flex; flex-direction: column; gap: 2px; padding: 16px 18px; border-radius: 12px; background: var(--surface); border: 1px solid var(--bordure); }
.piscin3_apropos_chiffres .piscin3_marquage, .piscin3_auteur_fiche_chiffres .piscin3_marquage { font-size: 44px; font-weight: 400; }
.piscin3_apropos_chiffres span, .piscin3_auteur_fiche_chiffres span { font-size: 14px; color: var(--encre-douce); line-height: 1.35; }
.piscin3_apropos_hero_photo { position: relative; margin: 0; border-radius: 22px; overflow: hidden; aspect-ratio: 4 / 5; box-shadow: 0 30px 60px rgba(21,32,34,0.16); }
.piscin3_apropos_hero_photo::after { content: ''; position: absolute; inset: auto 0 0 0; height: 8px; background: var(--eau); }
.piscin3_apropos_hero_photo img { width: 100%; height: 100%; object-fit: cover; }
.piscin3_engagements { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 28px; }
.piscin3_engagement { padding: 26px; border-radius: 18px; background: var(--bg); border: 1px solid var(--bordure); }
.piscin3_engagement_ico { display: inline-flex; width: 48px; height: 48px; border-radius: 14px; align-items: center; justify-content: center; background: var(--anthracite); color: var(--eau); margin-bottom: 14px; }
.piscin3_engagement_ico .piscin3_ico { width: 24px; height: 24px; }
.piscin3_engagement h3 { font-size: 24px; margin-bottom: 10px; }
.piscin3_engagement p { font-size: 16.5px; line-height: 1.65; color: var(--encre-douce); max-width: none; }
.piscin3_equipe_grille { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.piscin3_equipe_carte { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 24px; padding: 26px; border-radius: 18px; box-shadow: var(--ombre-douce); align-items: start; }
.piscin3_equipe_photo { display: block; border-radius: 16px; overflow: hidden; aspect-ratio: 1; background: var(--eau-claire); }
.piscin3_equipe_carte .piscin3_auteur_photo, .piscin3_equipe_photo img { width: 100% !important; height: 100% !important; border-radius: 0 !important; border: none !important; object-fit: cover; }
.piscin3_equipe_nom { font-size: 26px; margin: 0; }
.piscin3_equipe_nom a:hover { text-decoration: underline; text-decoration-color: var(--eau); }
.piscin3_equipe_role { color: var(--eau-texte); font-size: 14px; font-weight: 700; margin: 4px 0 12px; }
.piscin3_equipe_bio { font-size: 16px; line-height: 1.6; color: var(--encre-douce); max-width: none; }
.piscin3_equipe_rubriques { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.piscin3_equipe_rubriques a { display: inline-flex; padding: 5px 12px; border-radius: 999px; background: var(--eau-claire); color: var(--eau-texte); font-size: 13px; font-weight: 700; }
.piscin3_equipe_rubriques a:hover { background: var(--eau); color: var(--anthracite); }
.piscin3_equipe_lien { margin-top: 18px; padding: 10px 18px; font-size: 14px; }
@media (max-width: 900px) {
	.piscin3_apropos_hero_grille, .piscin3_engagements, .piscin3_equipe_grille { grid-template-columns: minmax(0, 1fr); }
	.piscin3_apropos_hero_photo { aspect-ratio: 16 / 10; }
}
@media (max-width: 560px) {
	.piscin3_equipe_carte { grid-template-columns: minmax(0, 1fr); }
	.piscin3_equipe_photo { max-width: 140px; }
}

/* -------------------------------------------------------------------------
   R24 — Page auteur
   ------------------------------------------------------------------------- */
.piscin3_auteur_hero { padding: 48px 0 24px; }
.piscin3_auteur_fiche { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 44px; align-items: center; padding: 36px; border-radius: 22px; background: var(--surface); border: 1px solid var(--bordure); box-shadow: var(--ombre-douce); position: relative; overflow: hidden; }
.piscin3_auteur_fiche::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: var(--eau); }
.piscin3_auteur_fiche_photo { border-radius: 18px; overflow: hidden; aspect-ratio: 1; background: var(--eau-claire); }
.piscin3_auteur_fiche_photo img { width: 100% !important; height: 100% !important; object-fit: cover; border-radius: 0 !important; border: none !important; }
.piscin3_auteur_fiche h1 { font-size: clamp(36px, 4vw, 56px); margin: 6px 0 6px; }
.piscin3_auteur_fiche_role { color: var(--eau-texte); font-weight: 700; font-size: 16px; margin-bottom: 14px; }
.piscin3_auteur_fiche_bio { font-size: 18px; line-height: 1.65; color: var(--encre-douce); max-width: 70ch; }
.piscin3_auteur_fiche_chiffres { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 22px; max-width: 620px; }
.piscin3_auteur_fiche_date { font-family: var(--f-titre); font-size: 26px; font-weight: 500; line-height: 1.7; }
.piscin3_auteur_articles { padding: 40px var(--marge) 64px; }
.piscin3_auteur_articles h2 { margin-top: 6px; }
@media (max-width: 800px) {
	.piscin3_auteur_fiche { grid-template-columns: minmax(0, 1fr); padding: 24px; gap: 20px; }
	.piscin3_auteur_fiche_photo { max-width: 180px; }
	.piscin3_auteur_fiche_chiffres { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* -------------------------------------------------------------------------
   R25/R26 — Contact
   ------------------------------------------------------------------------- */
.piscin3_contact { padding-top: 32px; padding-bottom: 48px; }
.piscin3_contact .piscin3_contact_grille { min-height: 0; margin: 0; border-radius: 22px; box-shadow: 0 20px 50px rgba(21,32,34,0.08); grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); }
.piscin3_contact_gauche { background: var(--surface); padding: 36px 40px; }
.piscin3_contact_gauche h1 { font-size: clamp(34px, 3.6vw, 48px); margin: 6px 0 10px; }
.piscin3_contact_chapo { color: var(--encre-douce); font-size: 16.5px; line-height: 1.55; margin-bottom: 18px; max-width: 56ch; }
.piscin3_contact_gauche .piscin3_contact_form { padding: 0; background: transparent; gap: 12px; height: auto; }
.piscin3_contact_form .piscin3_btn_accent { margin-top: 4px; }
/* Mention RGPD obligatoire : une seule ligne discrète avec un cadenas, plus un bloc. */
.piscin3_contact_form .piscin3_rgpd { display: flex; gap: 8px; align-items: flex-start; margin-top: 2px; font-size: 12px; line-height: 1.45; }
.piscin3_contact_form .piscin3_rgpd::before {
	content: ''; flex: 0 0 14px; height: 14px; margin-top: 1px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23566466' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center / contain no-repeat;
}
.piscin3_contact .piscin3_contact_photo { flex: 0 0 auto; height: 210px; min-height: 0; }
.piscin3_contact .piscin3_contact_panneau_texte { padding: 26px 32px 30px; gap: 20px; flex: 1 1 auto; justify-content: space-between; }
.piscin3_contact_motifs { display: grid; gap: 10px; }
.piscin3_contact_motifs li { display: flex; align-items: center; gap: 12px; color: #fff; font-weight: 600; font-size: 16px; }
.piscin3_contact_motifs .piscin3_ico { flex: 0 0 auto; width: 34px; height: 34px; padding: 7px; border-radius: 10px; background: rgba(0,208,198,0.14); color: var(--eau); }
.piscin3_contact_projet { padding: 20px; border-radius: 14px; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); }
.piscin3_contact_projet h2 { color: #fff; font-size: 22px; margin-bottom: 6px; }
.piscin3_contact_projet p { color: var(--sur-anthracite-douce); font-size: 15px; line-height: 1.55; margin-bottom: 14px; }
@media (max-width: 900px) {
	.piscin3_contact .piscin3_contact_grille { grid-template-columns: minmax(0, 1fr); }
	.piscin3_contact_gauche { padding: 26px 20px; }
	.piscin3_contact .piscin3_contact_photo { height: 150px; }
	.piscin3_contact .piscin3_contact_panneau_texte { padding: 22px 20px; }
}

/* -------------------------------------------------------------------------
   Mobile : la bande CTA finale et les titres restent confortables
   ------------------------------------------------------------------------- */
@media (max-width: 600px) {
	.piscin3_cta_final { padding: 52px var(--marge); }
	.piscin3_cta_final_inner h2 { font-size: 30px; }
	.piscin3_article_head_grid { gap: 20px; }
	.piscin3_article_head h1 { font-size: 30px; }
	.piscin3_maillage { padding: 18px; }
	.piscin3_gamme { padding: 18px; }
	.piscin3_etapes, .piscin3_seuils { padding: 16px; }
}

/* Spécificité : les listes du corps ont un style générique (.piscin3_corps ol) — les
   composants en liste doivent le battre explicitement. */
.piscin3_corps .piscin3_etapes_liste { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; max-width: none; }
.piscin3_corps .piscin3_seuils_liste { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; max-width: none; }
.piscin3_famille .piscin3_fiche { padding: 0; border: none; background: none; }
.piscin3_famille .piscin3_fiche + .piscin3_fiche { margin-top: 10px; }
.piscin3_famille .piscin3_astuce, .piscin3_famille .piscin3_vigilance { padding: 14px 16px; }

/* Références : texte discret, jamais à la taille du corps ; puces sobres. */
.piscin3_corps p.piscin3_refs_ligne, .piscin3_chapitre p.piscin3_refs_ligne { font-size: 13px; line-height: 1.4; max-width: none; }
.piscin3_ref_puce { border-radius: 8px; padding: 4px 9px; }
/* Listes à coches : bat la règle générique des puces (.piscin3_corps ul:not(…) > li::before). */
.piscin3_corps > ul:not([class]) > li::before {
	width: 22px !important; height: 22px !important; top: 2px !important; border-radius: 50% !important;
	background: var(--eau-claire) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300756F' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / 13px no-repeat !important;
}
.piscin3_corps figure.wp-block-image { margin-top: 32px; margin-bottom: 8px; }
.piscin3_corps figure.wp-block-image img { width: 100%; height: auto; border-radius: var(--rayon-l); box-shadow: var(--ombre-douce); }
.piscin3_corps figure.wp-block-image figcaption { margin-top: 8px; font-size: 12.5px; color: var(--joint); }
/* Contact : mention RGPD sur une ligne continue (le flex éclatait texte et lien). */
.piscin3_contact_form .piscin3_rgpd { display: block; position: relative; padding-left: 22px; }
.piscin3_contact_form .piscin3_rgpd::before { position: absolute; left: 0; top: 1px; width: 14px; }
.piscin3_auteur_fiche_date { font-size: 22px; }

/* =========================================================================
   Retour Mathias 28/09 — MARGES (R-1290) : un seul bord gauche (celui du logo)
   et un seul bord droit pour tous les blocs du corps d'article.
   ========================================================================= */
.piscin3_conteneur.piscin3_article_corps_grille,
.piscin3_conteneur.piscin3_articles_lies { padding-left: var(--marge); padding-right: var(--marge); }
@media (min-width: 981px) {
	.piscin3_article_corps_grille { grid-template-columns: minmax(0, 820px) 320px; justify-content: space-between; gap: 48px; }
}
.piscin3_article_colonne > *, .piscin3_corps > *, .piscin3_corps p { max-width: none; }
.piscin3_corps ul, .piscin3_corps ol { max-width: none !important; }
.piscin3_corps > ul:not([class]) { margin-left: 0; margin-right: 0; }

/* =========================================================================
   COMPARATEUR DYNAMIQUE (R-1289) — remplace les cartes empilées
   ========================================================================= */
.piscin3_comparateur { margin: 28px 0 8px; position: relative; }
.piscin3_comparateur_choix { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 14px; }
.piscin3_comparateur_choix > span { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--joint); margin-right: 4px; }
.piscin3_comparateur_puce {
	display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 6px 14px;
	border-radius: 999px; border: 1.5px solid var(--bordure); background: var(--surface);
	font-family: var(--f-corps); font-size: 14px; font-weight: 600; color: var(--encre-douce);
	transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease, transform 160ms ease;
}
.piscin3_comparateur_puce::before { content: ''; width: 14px; height: 14px; border-radius: 50%; border: 1.5px solid currentColor; }
.piscin3_comparateur_puce.is-actif { background: var(--anthracite); border-color: var(--anthracite); color: #fff; }
.piscin3_comparateur_puce.is-actif::before { border-color: var(--eau); background: var(--eau) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23152022' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / 10px no-repeat; }
.piscin3_comparateur_puce:hover { border-color: var(--eau); }
.piscin3_comparateur_puce.is-refus { transform: translateX(3px); }

.piscin3_comparateur_defile {
	overflow-x: auto; border-radius: var(--rayon-l); border: 1px solid var(--bordure);
	background: var(--surface); box-shadow: var(--ombre-douce); -webkit-overflow-scrolling: touch;
}
.piscin3_comparateur.has-suite .piscin3_comparateur_defile { box-shadow: var(--ombre-douce), inset -28px 0 18px -18px rgba(21,32,34,0.22); }
.piscin3_comparateur_table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 15px; line-height: 1.45; }
.piscin3_comparateur_table thead th {
	background: var(--anthracite); color: #fff; text-align: left; vertical-align: bottom;
	padding: 16px 16px 14px; border-bottom: 4px solid var(--eau);
	font-family: var(--f-titre); font-weight: 600; font-size: 19px; line-height: 1.15; letter-spacing: 0.01em;
	min-width: 150px;
}
.piscin3_comparateur_table .piscin3_comparateur_coin { font-family: var(--f-corps); font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--eau); min-width: 130px; }
.piscin3_comparateur_table tbody th {
	text-align: left; vertical-align: top; padding: 13px 16px; width: 140px;
	background: #F3F6F4; border-top: 1px solid var(--bordure);
	font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--joint);
}
.piscin3_comparateur_table td { padding: 13px 16px; vertical-align: top; border-top: 1px solid var(--bordure); color: var(--encre); min-width: 150px; }
.piscin3_comparateur_table td + td, .piscin3_comparateur_table thead th + th { border-left: 1px solid var(--bordure); }
.piscin3_comparateur_table thead th + th { border-left-color: rgba(255,255,255,0.08); }
.piscin3_comparateur_table tbody tr:first-child th, .piscin3_comparateur_table tbody tr:first-child td { border-top: none; }
.piscin3_comparateur_table tbody tr:hover td { background: #F2FBFA; }
.piscin3_comparateur_table tr.is-prix td, .piscin3_comparateur_table td.is-prix { font-family: var(--f-titre); font-weight: 600; font-size: 18px; color: var(--eau-texte); background: #EFFAF9; }
.piscin3_comparateur_table tr.is-prix th { color: var(--eau-texte); background: #E3F6F3; }
/* Colonne des critères (ou 1re colonne) collante au défilement horizontal. */
.piscin3_comparateur_table tbody th, .piscin3_comparateur_table .piscin3_comparateur_coin { position: sticky; left: 0; z-index: 1; }
.piscin3_comparateur.is-defile .piscin3_comparateur_table tbody th,
.piscin3_comparateur.is-defile .piscin3_comparateur_table .piscin3_comparateur_coin { box-shadow: 8px 0 12px -8px rgba(21,32,34,0.25); }
.piscin3_comparateur_table .is-masque { display: none; }
.piscin3_comparateur_vide { color: var(--joint); }
.piscin3_comparateur_sources { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin-top: 12px !important; font-size: 12.5px; line-height: 1.45; color: var(--joint); }
.piscin3_comparateur_sources .piscin3_ico { width: 15px; height: 15px; color: var(--eau-texte); }
.piscin3_comparateur_sources_label { font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; font-size: 11px; margin-right: 2px; }
.piscin3_comparateur_sources strong { color: var(--encre-douce); font-weight: 600; }
@media (max-width: 700px) {
	.piscin3_comparateur_table { font-size: 14px; }
	.piscin3_comparateur_table thead th { font-size: 17px; min-width: 140px; }
	.piscin3_comparateur_table tbody th { width: 104px; min-width: 104px; padding: 12px; }
	.piscin3_comparateur_table td { min-width: 140px; padding: 12px; }
}
/* Le socle (.sbs_tableau) et le module sources (.sbsrc-*__tbl) enveloppent tout <table> :
   dans le comparateur, ils ne doivent ni ajouter de cadre/marge ni devenir le conteneur de
   défilement (sinon la colonne collante et l'ombre de défilement ne marchent plus). */
.piscin3_comparateur .sbs_tableau, .piscin3_comparateur [class*="__tbl"] { margin: 0 !important; border: 0 !important; border-radius: 0 !important; overflow: visible !important; }
.piscin3_comparateur .piscin3_comparateur_table { min-width: 0; border-collapse: separate; }
.piscin3_comparateur .piscin3_comparateur_table thead th { background: var(--anthracite); color: #fff; font-weight: 600; white-space: normal; border-bottom: 4px solid var(--eau); }
.piscin3_comparateur .piscin3_comparateur_table thead th.piscin3_comparateur_coin { color: var(--eau); }
.piscin3_comparateur .piscin3_comparateur_table tbody tr:nth-child(even) { background: transparent; }
.piscin3_comparateur .piscin3_comparateur_table tbody th { background: #F3F6F4; font-weight: 700; white-space: normal; border-bottom: 0; }
.piscin3_comparateur .piscin3_comparateur_table td { border-bottom: 0; font-size: 15px; }
.piscin3_comparateur .piscin3_comparateur_table tr.is-prix td { font-size: 18px; background: #EFFAF9; }
.piscin3_comparateur .piscin3_comparateur_table tr.is-prix th { background: #E3F6F3; }
@media (min-width: 981px) {
	.piscin3_comparateur .piscin3_comparateur_table thead th { min-width: 118px; font-size: 17px; padding: 14px 12px 12px; }
	.piscin3_comparateur .piscin3_comparateur_table td { min-width: 118px; padding: 12px; font-size: 14.5px; }
	.piscin3_comparateur .piscin3_comparateur_table tbody th { width: 112px; min-width: 112px; padding: 12px; }
	.piscin3_comparateur .piscin3_comparateur_table .piscin3_comparateur_coin { min-width: 112px; }
	.piscin3_comparateur .piscin3_comparateur_table tr.is-prix td { font-size: 16.5px; }
}
/* Jamais un mot coupé en deux dans le tableau (la colonne d'article force break-word). */
.piscin3_comparateur .piscin3_comparateur_table th, .piscin3_comparateur .piscin3_comparateur_table td { word-break: normal; overflow-wrap: normal; hyphens: manual; }
.piscin3_comparateur .piscin3_comparateur_table .piscin3_comparateur_coin { white-space: nowrap; }
/* Orientation « une ligne par élément » : le nom de l'élément est le repère de lecture. */
.piscin3_comparateur .piscin3_comparateur_table.is-lignes tbody th { font-family: var(--f-titre); font-size: 16px; font-weight: 600; text-transform: none; letter-spacing: 0.01em; color: var(--encre); min-width: 130px; }
/* R-1291 : liste en carte = même marge intérieure à gauche qu'à droite (la règle générique
   des listes du corps remettait padding-left à 0 : coches collées au bord de la carte). */
.piscin3_corps > ul:not([class]) { padding: 20px 24px !important; }
