/**
 * L'habillage.
 *
 * Les jetons repris de kimva.com : c'est déjà le langage visuel du site, la
 * fenêtre de recherche ne doit pas ressembler à une pièce rapportée. Ils sont
 * définis ici avec une valeur de repli, mais si le thème les définit déjà,
 * les siens l'emportent.
 */

.kv,
.kv-ov {
	--kv-ink-900: #16181D;
	--kv-ink-700: #2E323A;
	--kv-ink-500: #5B616B;
	--kv-ink-300: #A8ADB5;
	--kv-ink-100: #E4E6EA;
	--kv-paper: #F4FAFB;
	--kv-accent: #0FD8F1;
	--kv-accent-strong: #0A7180;
	--kv-accent-hover: #075E6B;
	--kv-accent-tint: #E2F8FB;
	--kv-rmd: 10px;
	--kv-rlg: 16px;
	--kv-rpill: 999px;
	--kv-tap: 44px;
	--kv-md: 0 6px 18px rgba(22, 24, 29, .12);
	--kv-lg: 0 20px 50px rgba(22, 24, 29, .18);
	--kv-dur: .25s;
	color: var(--kv-ink-900);
}

html.kv-fige { overflow: hidden; }

/* ------------------------------------------------------------ la fenêtre */

.kv-ov {
	position: fixed;
	inset: 0;
	background: rgba(22, 24, 29, .45);
	z-index: 100000;
	display: none;
	padding: 8vh 20px 20px;
}
.kv-ov.kv-on { display: block; }

.kv-modal {
	max-width: 720px;
	margin: 0 auto;
	background: #fff;
	border-radius: var(--kv-rlg);
	box-shadow: var(--kv-lg);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	max-height: 80vh;
}

.kv-modal-top {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	border-bottom: 1px solid var(--kv-ink-100);
	color: var(--kv-ink-500);
}
.kv-modal-champ {
	flex: 1;
	min-width: 0;
	border: 0;
	outline: 0;
	font: inherit;
	font-size: 1.05rem;
	background: transparent;
	color: var(--kv-ink-900);
	padding: 6px 0;
}
.kv-modal-champ::-webkit-search-cancel-button,
.kv-modal-champ::-webkit-search-decoration { -webkit-appearance: none; display: none; }

.kv-mode {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--kv-accent-strong);
	background: var(--kv-accent-tint);
	border-radius: var(--kv-rpill);
	padding: 5px 11px;
	white-space: nowrap;
}
.kv-x {
	border: 0;
	background: none;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	color: var(--kv-ink-300);
	padding: 0 4px;
}
.kv-x:hover { color: var(--kv-ink-900); }

.kv-modal-res { overflow-y: auto; flex: 1; padding: 6px 0; }

.kv-res-fam {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--kv-ink-500);
	padding: 14px 18px 6px;
	display: flex;
	align-items: center;
	gap: 12px;
}
.kv-res-fam::after { content: ""; flex: 1; height: 1px; background: var(--kv-ink-100); }

.kv-res {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 11px 18px;
	cursor: pointer;
	border-left: 3px solid transparent;
}
.kv-res.kv-sel { background: var(--kv-paper); border-left-color: var(--kv-accent); }
.kv-res .kv-t { flex: 1; font-size: .98rem; }
.kv-res .kv-t em { font-style: normal; background: var(--kv-accent-tint); border-radius: 3px; padding: 0 2px; }
.kv-res .kv-sub { display: block; font-size: 12px; color: var(--kv-ink-500); }
.kv-res .kv-go { font-size: 12px; color: var(--kv-ink-300); }

.kv-modal-pied {
	border-top: 1px solid var(--kv-ink-100);
	padding: 12px 18px;
	display: flex;
	align-items: center;
	gap: 14px;
	font-size: 13px;
	color: var(--kv-ink-500);
	background: var(--kv-paper);
}
.kv-aide { margin-left: auto; color: var(--kv-accent-strong); font-weight: 600; text-decoration: none; }
.kv-vide { padding: 30px 18px; color: var(--kv-ink-500); text-align: center; }
.kv-vide p { margin: 12px 0 18px; }

/* -------------------------------------------------------------- les pages */

/* Le thème pose son en-tête par-dessus le contenu (« en-tête transparent »).
   Nos pages n'ayant pas de bannière sombre à lui offrir, on le remet dans le
   flux : le menu redevient lisible et le texte cesse de passer dessous.
   Les classes du thème sont retirées côté PHP ; ceci n'est qu'un filet. */
body.kv-page-plein #masthead,
body.kv-page-plein .site-header { position: relative; }

.kv-page { padding: 40px 0 70px; }
.kv-wrap { max-width: 1180px; margin: 0 auto; padding: 0 22px; }
.kv-wrap.kv-etroit { max-width: 760px; }

.kv-fil { font-size: 13px; color: var(--kv-ink-500); margin-bottom: 16px; }
.kv-fil a { color: var(--kv-accent-strong); text-decoration: none; }
.kv-fil span { margin: 0 4px; }

.kv-eyebrow {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--kv-accent-strong);
	margin: 0 0 8px;
}
.kv-page h1 { line-height: 1.1; margin: 0 0 .35em; }
.kv-intro { color: var(--kv-ink-500); font-size: 1.05rem; }
.kv-atelier { color: var(--kv-ink-500); }

.kv-tete { display: grid; grid-template-columns: 1.4fr 1fr; gap: 44px; align-items: start; }
@media (max-width: 900px) { .kv-tete { grid-template-columns: 1fr; gap: 28px; } }

.kv-verifs { margin-top: 24px; background: var(--kv-paper); border-radius: var(--kv-rlg); padding: 20px 22px; }
.kv-verifs h2 { font-size: 1rem; margin: 0 0 10px; }
.kv-verifs ul { margin: 0; padding-left: 18px; color: var(--kv-ink-500); font-size: .95rem; }
.kv-verifs li { margin: 6px 0; }

.kv-etapes { margin-top: 30px; border-top: 1px solid var(--kv-ink-100); padding-top: 24px; }
.kv-etapes h2 { font-size: 1.2rem; }
.kv-etape { display: flex; gap: 14px; padding: 10px 0; }
.kv-num {
	flex: 0 0 28px; height: 28px; border-radius: 50%;
	background: var(--kv-accent-tint); color: var(--kv-accent-strong);
	font-weight: 600; font-size: 13px; display: grid; place-items: center;
}
.kv-txt { font-size: .95rem; color: var(--kv-ink-700); }

/* ------------------------------------------------------- boîte de demande */

.kv-boite {
	border: 1px solid var(--kv-ink-100);
	border-radius: var(--kv-rlg);
	padding: 24px;
	background: var(--kv-paper);
	position: sticky;
	top: 20px;
}
@media (max-width: 900px) { .kv-boite { position: static; } }
.kv-boite h2 { font-size: 1.05rem; margin: 0 0 12px; }

.kv-choisi { background: #fff; border: 1px solid var(--kv-accent); border-radius: var(--kv-rmd); padding: 12px 14px; margin-bottom: 14px; }
.kv-choisi .kv-lbl { display: block; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--kv-accent-strong); font-weight: 600; }
.kv-choisi .kv-val { font-weight: 600; }

label.kv-f { display: block; font-size: 13px; font-weight: 600; margin: 14px 0 6px; color: var(--kv-ink-700); }
input.kv-f, select.kv-f, textarea.kv-f {
	width: 100%;
	font: inherit;
	font-size: .95rem;
	padding: 11px 13px;
	border: 1px solid var(--kv-ink-100);
	border-radius: var(--kv-rmd);
	background: #fff;
	color: var(--kv-ink-900);
	min-height: var(--kv-tap);
	box-sizing: border-box;
}
input.kv-f:focus, select.kv-f:focus, textarea.kv-f:focus { outline: 0; border-color: var(--kv-accent); }
textarea.kv-f { min-height: 88px; resize: vertical; }
select.kv-f {
	appearance: none; -webkit-appearance: none;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235B616B' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	padding-right: 34px;
	cursor: pointer;
}

.kv-btn {
	font: inherit;
	font-weight: 600;
	font-size: .95rem;
	border-radius: var(--kv-rmd);
	border: 1px solid transparent;
	padding: 12px 20px;
	min-height: var(--kv-tap);
	cursor: pointer;
	transition: var(--kv-dur);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}
.kv-btn-p { background: var(--kv-accent-strong); color: #fff; }
.kv-btn-p:hover { background: var(--kv-accent-hover); color: #fff; }
.kv-btn-g { background: #fff; color: var(--kv-ink-900); border-color: var(--kv-ink-100); }
.kv-btn-g:hover { border-color: var(--kv-accent); }
.kv-btn[disabled] { opacity: .5; cursor: not-allowed; }
.kv-plein { width: 100%; margin-top: 18px; }

.kv-confirm { background: #fff; border: 1px solid var(--kv-accent); border-radius: var(--kv-rmd); padding: 16px; margin-top: 16px; }
.kv-confirm .kv-ok { font-weight: 600; margin-bottom: 4px; }
.kv-confirm .kv-sub { font-size: 13px; color: var(--kv-ink-500); margin-bottom: 14px; }
.kv-duo { display: flex; gap: 8px; flex-wrap: wrap; }
.kv-duo > * { flex: 1; min-width: 150px; font-size: .88rem; padding: 11px 14px; }

.kv-note-prix { font-size: 13px; color: var(--kv-ink-500); margin: 14px 0 0; padding-top: 14px; border-top: 1px solid var(--kv-ink-100); }

/* ------------------------------------------------------------- la liste */

.kv-liste { margin-top: 44px; }
.kv-liste h2 { font-size: 1.3rem; }
.kv-sous { color: var(--kv-ink-500); margin-top: 0; }

.kv-affiner { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin: 16px 0; }
select.kv-mini {
	font: inherit;
	font-size: .9rem;
	padding: 9px 34px 9px 14px;
	border: 1px solid var(--kv-ink-100);
	border-radius: var(--kv-rpill);
	background: #fff;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235B616B' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	appearance: none; -webkit-appearance: none;
	cursor: pointer;
	color: var(--kv-ink-700);
	min-height: var(--kv-tap);
	max-width: 260px;
}
select.kv-mini:focus { outline: 0; border-color: var(--kv-accent); }
.kv-filtre { font-size: .82rem !important; min-height: 36px !important; padding: 6px 28px 6px 11px !important; }
.kv-compte { font-size: 13px; color: var(--kv-ink-500); }

.kv-arts { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; }
.kv-art {
	display: flex;
	align-items: center;
	gap: 10px;
	text-align: left;
	font: inherit;
	font-size: .94rem;
	border: 1px solid var(--kv-ink-100);
	border-radius: var(--kv-rmd);
	padding: 13px 15px;
	background: #fff;
	cursor: pointer;
	transition: var(--kv-dur);
	min-height: var(--kv-tap);
}
.kv-art:hover { border-color: var(--kv-accent); background: var(--kv-accent-tint); }
.kv-plus { margin-left: auto; color: var(--kv-accent-strong); font-weight: 600; }

/* --------------------------------------------------------- ma demande */

.kv-recap { margin: 24px 0; }
.kv-ligne { display: flex; gap: 12px; align-items: flex-start; border-bottom: 1px solid var(--kv-ink-100); padding: 16px 0; }
.kv-ligne-corps { flex: 1; }
.kv-ligne .kv-n { font-weight: 600; }
.kv-ligne .kv-m { font-size: 13px; color: var(--kv-ink-500); margin-top: 3px; }
.kv-retirer { border: 0; background: none; cursor: pointer; color: var(--kv-ink-300); font-size: 20px; line-height: 1; padding: 0 4px; }
.kv-retirer:hover { color: var(--kv-accent-hover); }
.kv-vide-panier { color: var(--kv-ink-500); padding: 30px 0; text-align: center; }

.kv-ajout-encore { margin-bottom: 30px; }
.kv-form h2 { font-size: 1.2rem; margin-top: 30px; }
.kv-grille2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
@media (max-width: 620px) { .kv-grille2 { grid-template-columns: 1fr; } }
.kv-req { color: var(--kv-accent-strong); }
.kv-fichiers { font-size: 13px; color: var(--kv-ink-500); margin-top: 16px; }

.kv-piege { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.kv-message { margin-top: 16px; padding: 13px 16px; border-radius: var(--kv-rmd); font-size: .95rem; }
.kv-erreur { background: #FDF2F2; color: #8E1F26; border: 1px solid #F2C9CC; }
.kv-attente { background: var(--kv-paper); color: var(--kv-ink-500); border: 1px solid var(--kv-ink-100); }
.kv-merci { background: var(--kv-accent-tint); border: 1px solid var(--kv-accent); border-radius: var(--kv-rlg); padding: 26px; }
.kv-merci h2 { margin-top: 0; }

.kv-compteur { background: var(--kv-accent); color: var(--kv-ink-900); border-radius: var(--kv-rpill); font-size: 12px; font-weight: 600; padding: 2px 8px; margin-left: 6px; }
.kv-compteur.kv-zero { background: var(--kv-ink-100); color: var(--kv-ink-500); }

@media print { .kv-ov { display: none !important; } }

/* ------------------------------------------------- blocs posés dans les pages */

.kv-bloc-recherche { margin: 24px 0; }
.kv-bloc-titre { font-weight: 600; font-size: 1.05rem; margin: 0 0 10px; }

.kv-champ-faux {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	max-width: 720px;
	text-align: left;
	font: inherit;
	background: #fff;
	border: 1px solid var(--kv-ink-100);
	border-radius: var(--kv-rlg);
	padding: 16px 18px;
	box-shadow: var(--kv-md);
	cursor: text;
	color: var(--kv-ink-500);
	transition: var(--kv-dur);
	min-height: 62px;
}
.kv-champ-faux:hover { border-color: var(--kv-accent); }
.kv-champ-texte { flex: 1; font-size: 1.02rem; }
.kv-touches { display: flex; gap: 4px; }
.kv-touches kbd {
	font: inherit;
	font-size: 12px;
	font-weight: 600;
	color: var(--kv-ink-500);
	background: var(--kv-paper);
	border: 1px solid var(--kv-ink-100);
	border-bottom-width: 2px;
	border-radius: 6px;
	padding: 3px 7px;
}
@media (max-width: 620px) { .kv-touches { display: none; } }

.kv-exemples { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; }
.kv-exemple {
	font: inherit;
	font-size: .9rem;
	padding: 8px 15px;
	border: 1px solid var(--kv-ink-100);
	border-radius: var(--kv-rpill);
	background: #fff;
	color: var(--kv-ink-700);
	cursor: pointer;
	transition: var(--kv-dur);
	min-height: 38px;
}
.kv-exemple:hover { border-color: var(--kv-accent); background: var(--kv-accent-tint); color: var(--kv-ink-900); }

.kv-bloc-familles { margin: 30px 0; }
.kv-pilier { margin-bottom: 34px; }
.kv-pilier-nom {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--kv-accent-strong);
	margin: 0 0 14px;
	display: flex;
	align-items: center;
	gap: 12px;
}
.kv-pilier-nom::after { content: ""; flex: 1; height: 1px; background: var(--kv-ink-100); }

.kv-familles-grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px; }
.kv-famille-carte {
	display: block;
	border: 1px solid var(--kv-ink-100);
	border-radius: var(--kv-rlg);
	padding: 18px 20px;
	background: #fff;
	text-decoration: none;
	transition: var(--kv-dur);
}
.kv-famille-carte:hover { border-color: var(--kv-accent); box-shadow: var(--kv-md); transform: translateY(-2px); }
.kv-famille-nom { display: block; font-weight: 600; color: var(--kv-ink-900); margin-bottom: 5px; }
.kv-famille-intro { display: block; font-size: .9rem; color: var(--kv-ink-500); line-height: 1.45; }
.kv-famille-compte { display: block; font-size: 12px; color: var(--kv-ink-300); margin-top: 9px; }

/* ------------------------------------------------- questions typées (1.0.2) */

.kv .kv-dim { display: flex; align-items: center; gap: 8px; }
.kv .kv-dim input { flex: 1; min-width: 0; }
.kv .kv-dim .kv-unite { flex: 0 0 5.5em; width: auto; }
.kv .kv-x-dim { color: var(--kv-ink-300); font-size: 1.1rem; }
.kv .kv-aide-champ { font-size: 12px; color: var(--kv-ink-500); margin: 6px 0 0; }
/* Un format que le fabricant ne fait pas : à lire, pas à survoler. */
.kv .kv-fl-refus { color: var(--kv-ink-900); font-weight: 600; }

/* « hidden » doit masquer, y compris nos intitulés.
   `label.kv-f { display: block }` est une règle d'auteur : elle bat la feuille
   du navigateur, et un `<label hidden>` restait affiché. On voyait alors
   « Quantité souhaitée » en gras, sans rien dessous. */
.kv [hidden] { display: none !important; }
.kv .kv-choisi .kv-avert { display: block; font-size: 12px; color: var(--kv-ink-500); margin-top: 7px; line-height: 1.4; }

/* Le thème habille tous les boutons (fond sombre, majuscules) : on rend au
   champ de recherche et aux exemples l'apparence prévue. */
.kv .kv-champ-faux, .kv .kv-exemple {
	text-transform: none; letter-spacing: normal;
	background: #fff; color: var(--kv-ink-500);
	border: 1px solid var(--kv-ink-100); font-weight: 400;
}
.kv .kv-champ-faux { border-radius: var(--kv-rlg); padding: 16px 18px; box-shadow: var(--kv-md); }
.kv .kv-exemple { border-radius: var(--kv-rpill); padding: 8px 15px; color: var(--kv-ink-700); font-size: .9rem; min-height: 38px; }
.kv .kv-champ-faux:hover, .kv .kv-exemple:hover { border-color: var(--kv-accent); background: var(--kv-accent-tint); color: var(--kv-ink-900); }
.kv .kv-touches kbd { text-transform: none; }

/* ------------------------------------------------------- dépôt de fichiers */

.kv-depot { position: relative; margin-top: 6px; }
.kv-depot input[type="file"] { position: absolute; inset: 0; opacity: 0; width: 100%; height: 100%; cursor: pointer; }
.kv-depot-mot {
	display: block;
	border: 1px dashed var(--kv-ink-300);
	border-radius: var(--kv-rlg);
	background: var(--kv-paper);
	padding: 22px 20px;
	text-align: center;
	cursor: pointer;
	transition: var(--kv-dur);
}
.kv-depot-mot strong { display: block; color: var(--kv-accent-strong); font-size: .98rem; }
.kv-depot-mot span { display: block; font-size: 12.5px; color: var(--kv-ink-500); margin-top: 5px; line-height: 1.45; }
.kv-depot:hover .kv-depot-mot, .kv-depot.kv-survol .kv-depot-mot { border-color: var(--kv-accent); background: var(--kv-accent-tint); }

.kv-joints-liste { list-style: none; margin: 12px 0 0; padding: 0; }
.kv-joint { display: flex; gap: 12px; align-items: baseline; padding: 9px 0; border-bottom: 1px solid var(--kv-ink-100); font-size: .93rem; }
.kv-joint-nom { flex: 1; word-break: break-all; }
.kv-joint-poids { color: var(--kv-ink-500); font-size: 12.5px; white-space: nowrap; }
.kv-joint-non .kv-joint-nom { color: #8E1F26; text-decoration: line-through; }
.kv-joint-non .kv-joint-poids { color: #8E1F26; }
.kv-refuses { background: #FDF2F2; border: 1px solid #F2C9CC; border-radius: var(--kv-rmd); padding: 12px 14px; font-size: .92rem; }

/* Un fait, pas un choix : une seule valeur est possible et le client n'a rien
   décidé. On l'affiche posément, sans liste déroulante à une seule ligne qui
   lui ferait croire qu'il vient de trancher. */
.kv .kv-fait{
	margin:.35rem 0 .7rem;
	padding:.5rem .7rem;
	background:rgba(0,0,0,.035);
	border-left:2px solid rgba(0,0,0,.18);
	font-size:.95rem;
	line-height:1.35;
}
.kv .kv-fait-l{
	display:block;
	font-size:.78rem;
	letter-spacing:.04em;
	text-transform:uppercase;
	opacity:.62;
}

/* Un lien déguisé en bouton : « voir les autres références ». Il n'ouvre rien,
   il déplie — donc il ne se présente pas comme une action lourde. */
.kv .kv-lien{
	background:none;
	border:0;
	padding:0;
	font:inherit;
	color:var(--kv-accent-fonce, #0A7180);
	text-decoration:underline;
	text-underline-offset:2px;
	cursor:pointer;
}
.kv .kv-lien:hover{ text-decoration:none; }

/* Les fichiers joints : on peut en retirer un, et on sait combien il y en a.
   Un champ de fichiers ne s'additionne pas tout seul — la liste, si. */
.kv .kv-joint { display: flex; align-items: center; gap: 10px; }
.kv .kv-joint-nom { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.kv .kv-joint-x {
	flex: 0 0 auto; border: 0; background: none; cursor: pointer;
	font-size: 18px; line-height: 1; padding: 2px 6px; color: var(--kv-ink-500);
	border-radius: 4px;
}
.kv .kv-joint-x:hover { background: var(--kv-ink-100, #f0f0f1); color: #b32d2e; }
.kv .kv-joints-compte { font-size: 13px; color: var(--kv-ink-500); margin: 6px 0 0; }

/* ------------------------------------------------------------------ *
 *  La fiche de l'article, dans la colonne de gauche
 * ------------------------------------------------------------------ */

.kv-fiche { margin: 1.4rem 0 0; }

.kv-fiche-photos { margin: 0 0 1.2rem; }

.kv-fiche-photos img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 10px;
	border: 1px solid var(--kv-ligne, #E4E6EA);
	background: #fff;
}

/* Plusieurs photos : la première en grand, les suivantes en bandeau. */
.kv-fiche-photos--plusieurs {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
}

.kv-fiche-photos--plusieurs img:first-child {
	grid-column: 1 / -1;
}

.kv-fiche-resume {
	font-size: 1.05em;
	line-height: 1.55;
	margin: 0 0 1rem;
}

.kv-fiche-texte { line-height: 1.6; }

.kv-fiche-texte h2,
.kv-fiche-texte h3,
.kv-fiche-texte h4 {
	font-size: 1.05em;
	margin: 1.4rem 0 .4rem;
}

.kv-fiche-texte ul,
.kv-fiche-texte ol { margin: .4rem 0 1rem 1.2rem; }

.kv-fiche-texte li { margin: 0 0 .3rem; }

.kv-fiche-texte table {
	width: 100%;
	border-collapse: collapse;
	margin: .6rem 0 1.2rem;
	font-size: .95em;
}

.kv-fiche-texte th,
.kv-fiche-texte td {
	border: 1px solid var(--kv-ligne, #E4E6EA);
	padding: .45rem .6rem;
	text-align: left;
}

.kv-fiche-note {
	margin: 1.4rem 0 0;
	padding-top: 1rem;
	border-top: 1px solid var(--kv-ligne, #E4E6EA);
	color: var(--kv-ink-3, #5B616B);
	font-size: .95em;
}

@media (max-width: 700px) {
	.kv-fiche-photos--plusieurs { grid-template-columns: repeat(2, 1fr); }
}

/* Le nom de l'article en cours, sous le titre de la famille.
   Dans l'accent de la maison : le visiteur doit voir d'un coup d'œil que le
   texte de gauche a changé avec son choix. */
.kv-article-en-cours {
	margin: -.35rem 0 1rem;
	font-size: clamp(1.05rem, 2.2vw, 1.35rem);
	font-weight: 600;
	line-height: 1.25;
	color: var(--kv-accent-fort, #0A7180);
}

.kv-article-en-cours::before {
	content: "";
	display: inline-block;
	width: .8em;
	height: 2px;
	margin: 0 .5em .28em 0;
	background: var(--kv-accent, #0FD8F1);
	vertical-align: middle;
}


/* ---------------------------------------------------------------------
   01/09/2026 — LE MENU, sur les pages sans banniere.

   Retirer `transparent-header` rend le fond de l'en-tete blanc, mais la
   COULEUR DES LIENS reste celle reglee dans le personnalisateur : blanc.
   Mesure sur /espace-client/ a 1280 px : les 7 liens du menu principal
   sortaient a 1,00 : 1 — presents dans le DOM, invisibles a l'oeil.
   L'element courant, lui, sortait en accent cyan : 1,73 : 1.

   On repeint donc les liens en encre sombre, UNIQUEMENT sur nos pages.
   Le reste du site garde son en-tete transparent et son menu blanc, qui
   sont justes au-dessus d'une banniere sombre.

   ⚠ L'element courant garde l'accent, mais en SOULIGNE : la couleur ne
   porte plus seule l'information, et elle n'a plus a etre lisible seule.
   --------------------------------------------------------------------- */
body.kv-page-plein .main-navigation .primary-menu-container > ul > li.menu-item > a,
body.kv-page-plein .header-navigation .header-menu-container > ul > li.menu-item > a,
body.kv-page-plein .site-header .header-navigation li.menu-item > a {
	color: #111;
}

body.kv-page-plein .main-navigation .primary-menu-container > ul > li.current-menu-item > a,
body.kv-page-plein .site-header .header-navigation li.current-menu-item > a,
body.kv-page-plein .site-header .header-navigation li.current_page_item > a {
	color: #111;
	text-decoration: underline;
	text-decoration-color: var(--kv-accent, #0FD8F1);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}
