/*
 * Joloweb Clairesurface : modèles Elementor de la fiche produit et de la page catégorie (1.9.0),
 * d'après les gabarits du 2/10. Classes posées sur les conteneurs des modèles (jcs-fiche…, jcs-categorie…)
 * et dans les contenus rédigés (description produit, contenu sous les produits : jcs-sec, jcs-tableau, jcs-faq…).
 */

/* Fil d'Ariane ------------------------------------------------------------ */
:is(.jcs-fiche, .jcs-produit) .woocommerce-breadcrumb,
:is(.jcs-categorie, .jcs-archive) .woocommerce-breadcrumb {
	font-size: 12.5px;
	color: var(--cs-gris-texte, #625D57);
	margin: 0;
}
:is(.jcs-fiche, .jcs-produit) .woocommerce-breadcrumb a,
:is(.jcs-categorie, .jcs-archive) .woocommerce-breadcrumb a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

/* Fiche : haut de page ---------------------------------------------------- */
.jcs-fiche__achat { gap: 14px; }
@media (min-width: 960px) { .jcs-fiche__achat { position: sticky; top: 150px; align-self: flex-start; } }
.jcs-fiche__marque .jcs-marque { font-size: 12.5px; font-weight: 600; letter-spacing: .02em; color: var(--cs-gris-texte, #625D57); }
.jcs-fiche__marque .jcs-marque a { color: inherit; text-decoration: none; }
:is(.jcs-fiche, .jcs-produit) .product_title,
:is(.jcs-fiche, .jcs-produit) h1.elementor-heading-title {
	font-family: var(--cs-police-titre, Newsreader), Georgia, serif;
	font-weight: 500;
	font-size: clamp(28px, 3vw, 40px);
	line-height: 1.08;
	letter-spacing: -.01em;
	color: var(--cs-noir, #1E1E1C);
	margin: 0;
	text-wrap: balance;
}
:is(.jcs-fiche, .jcs-produit) .woocommerce-product-details__short-description { color: var(--cs-gris-texte, #625D57); font-size: 14.5px; }
:is(.jcs-fiche, .jcs-produit) .woocommerce-product-details__short-description p { margin: 0; }
:is(.jcs-fiche, .jcs-produit) p.price,
:is(.jcs-fiche, .jcs-produit) .woocommerce-variation-price .price {
	font-size: 28px;
	font-weight: 700;
	line-height: 1.1;
	color: var(--cs-noir, #1E1E1C);
	font-variant-numeric: tabular-nums;
	margin: 0;
}
:is(.jcs-fiche, .jcs-produit) p.price .woocommerce-price-suffix,
:is(.jcs-fiche, .jcs-produit) .woocommerce-variation-price .woocommerce-price-suffix { font-size: 12.5px; font-weight: 400; color: var(--cs-gris-texte, #625D57); }
:is(.jcs-fiche, .jcs-produit) p.price .jcs-prix-unitaire,
:is(.jcs-fiche, .jcs-produit) .woocommerce-variation-price .jcs-prix-unitaire { font-size: 14px; font-weight: 600; color: var(--cs-noir, #1E1E1C); }
:is(.jcs-fiche, .jcs-produit) .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Formulaire d'achat */
:is(.jcs-fiche, .jcs-produit) table.variations { border: 0; margin: 0 0 12px; width: 100%; }
:is(.jcs-fiche, .jcs-produit) table.variations th,
:is(.jcs-fiche, .jcs-produit) table.variations td { display: block; padding: 0; border: 0; background: none; text-align: left; }
:is(.jcs-fiche, .jcs-produit) table.variations th label { font-size: 13.5px; font-weight: 600; color: var(--cs-noir, #1E1E1C); }
:is(.jcs-fiche, .jcs-produit) table.variations td { margin: 6px 0 14px; }
:is(.jcs-fiche, .jcs-produit) table.variations select {
	width: 100%;
	padding: 11px 12px;
	border: 1px solid var(--cs-filet, #E2D9CC);
	border-radius: 6px;
	background-color: var(--cs-blanc, #FFFFFF);
	font: inherit;
	font-size: 14px;
	color: var(--cs-noir, #1E1E1C);
}
:is(.jcs-fiche, .jcs-produit) .reset_variations { font-size: 12.5px; color: var(--cs-rose-fonce, #8F554D); }
:is(.jcs-fiche, .jcs-produit) form.cart { display: block; margin: 0; }
:is(.jcs-fiche, .jcs-produit) .woocommerce-variation-add-to-cart,
:is(.jcs-fiche, .jcs-produit) form.cart:not(.variations_form) { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; }
:is(.jcs-fiche, .jcs-produit) form.cart .jcs-choix,
:is(.jcs-fiche, .jcs-produit) form.cart .jcs-calc { flex-basis: 100%; }
:is(.jcs-fiche, .jcs-produit) form.cart .quantity input.qty {
	width: 72px;
	height: 100%;
	min-height: 48px;
	border: 1px solid var(--cs-filet, #E2D9CC);
	border-radius: 6px;
	font: inherit;
	text-align: center;
}
:is(.jcs-fiche, .jcs-produit) .single_add_to_cart_button,
:is(.jcs-fiche, .jcs-produit) .single_add_to_cart_button.button.alt {
	flex: 1;
	min-height: 48px;
	padding: 13px 22px;
	border: 0;
	border-radius: 6px;
	background: var(--cs-rose, #A0655D);
	color: #FFFFFF;
	font-family: var(--cs-police-texte, Montserrat), system-ui, sans-serif;
	font-size: 15px;
	font-weight: 600;
	text-transform: none;
	cursor: pointer;
}
:is(.jcs-fiche, .jcs-produit) .single_add_to_cart_button:hover { background: var(--cs-rose-fonce, #8F554D); }
:is(.jcs-fiche, .jcs-produit) .single_add_to_cart_button.disabled { opacity: .55; cursor: not-allowed; }
:is(.jcs-fiche, .jcs-produit) .woocommerce-variation-availability:empty,
:is(.jcs-fiche, .jcs-produit) .woocommerce-variation-description:empty { display: none; }

/* Réassurance sous le bouton */
.jcs-reassurance ul { list-style: none; margin: 0; padding: 14px 0 0; border-top: 1px solid var(--cs-filet, #E2D9CC); display: flex; flex-direction: column; gap: 8px; }
.jcs-reassurance li { display: flex; gap: 10px; align-items: center; font-size: 13.5px; color: var(--cs-noir, #1E1E1C); }
.jcs-reassurance li::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--cs-rose, #A0655D); flex: none; }

/* Galerie */
:is(.jcs-fiche, .jcs-produit) .woocommerce-product-gallery { margin: 0; }
:is(.jcs-fiche, .jcs-produit) .woocommerce-product-gallery__wrapper { border-radius: 6px; overflow: hidden; }
:is(.jcs-fiche, .jcs-produit) .flex-control-thumbs { display: flex; gap: 8px; margin: 10px 0 0; padding: 0; }
:is(.jcs-fiche, .jcs-produit) .flex-control-thumbs li { width: 58px !important; list-style: none; }
:is(.jcs-fiche, .jcs-produit) .flex-control-thumbs img { border: 1px solid var(--cs-filet, #E2D9CC); border-radius: 4px; opacity: 1; }
:is(.jcs-fiche, .jcs-produit) .flex-control-thumbs img.flex-active { border: 2px solid var(--cs-noir, #1E1E1C); }

/* Contenus rédigés : description produit et bas de catégorie ----------------- */
.jcs-sec { padding-block: clamp(28px, 4vw, 48px); border-top: 1px solid var(--cs-filet, #E2D9CC); }
.jcs-sec:first-child { border-top: 0; }
.jcs-sec > h2,
.jcs-categorie-bas h2,
:is(.jcs-fiche__contenu, .jcs-produit .elementor-widget-woocommerce-product-content) h2 {
	font-family: var(--cs-police-titre, Newsreader), Georgia, serif;
	font-weight: 500;
	font-size: clamp(25px, 2.6vw, 33px);
	line-height: 1.14;
	margin: 0 0 14px;
	color: var(--cs-noir, #1E1E1C);
	text-wrap: balance;
}
.jcs-sec h3 { font-size: 16px; font-weight: 600; margin: 0 0 6px; }
.jcs-sec p,
.jcs-sec li { font-size: 15px; line-height: 1.6; }
.jcs-intro { color: var(--cs-gris-texte, #625D57); max-width: 62ch; font-size: 14.5px; }

.jcs-tableau { width: 100%; border-collapse: collapse; font-size: 14px; }
.jcs-tableau th,
.jcs-tableau td { text-align: left; padding: 10px 12px 10px 0; border-bottom: 1px solid var(--cs-filet, #E2D9CC); vertical-align: top; }
.jcs-tableau thead th { font-size: 12px; font-weight: 600; color: var(--cs-gris-texte, #625D57); letter-spacing: .03em; text-transform: uppercase; }
.jcs-tableau .jcs-num { font-variant-numeric: tabular-nums; white-space: nowrap; }
.jcs-tableau small { display: block; font-size: 12.5px; color: var(--cs-gris-texte, #625D57); }

.jcs-etapes { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; counter-reset: etape; }
@media (min-width: 880px) { .jcs-etapes--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); } .jcs-etapes--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.jcs-etapes > li { counter-increment: etape; background: var(--cs-blanc, #FFFFFF); border: 1px solid var(--cs-filet, #E2D9CC); border-radius: 6px; padding: 16px; display: flex; flex-direction: column; gap: 6px; }
.jcs-etapes > li::before { content: counter(etape); width: 28px; height: 28px; border-radius: 50%; background: var(--cs-noir, #1E1E1C); color: var(--cs-ecru, #F9F5F1); font-size: 13px; font-weight: 600; display: grid; place-items: center; }
.jcs-etapes small { font-size: 12.5px; color: var(--cs-gris-texte, #625D57); }

.jcs-jours { list-style: none; margin: 0; padding: 0; border-left: 2px solid var(--cs-filet, #E2D9CC); }
.jcs-jours > li { position: relative; padding: 0 0 18px 20px; }
.jcs-jours > li::before { content: ""; position: absolute; left: -7px; top: 4px; width: 12px; height: 12px; border-radius: 50%; background: var(--cs-rose, #A0655D); }
.jcs-jours b { display: block; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; color: var(--cs-rose-fonce, #8F554D); }

.jcs-oui-non { display: grid; gap: 16px; }
@media (min-width: 760px) { .jcs-oui-non { grid-template-columns: 1fr 1fr; } }
.jcs-oui-non > div { background: var(--cs-blanc, #FFFFFF); border: 1px solid var(--cs-filet, #E2D9CC); border-radius: 6px; padding: 16px 18px; }

.jcs-couleurs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
@media (min-width: 760px) { .jcs-couleurs { grid-template-columns: repeat(9, minmax(0, 1fr)); } }
.jcs-couleurs img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 6px; border: 1px solid var(--cs-filet, #E2D9CC); display: block; }
.jcs-couleurs b { display: block; font-size: 13px; margin-top: 6px; }
.jcs-couleurs small { font-size: 11.5px; color: var(--cs-gris-texte, #625D57); }

.jcs-faq { border-top: 1px solid var(--cs-filet, #E2D9CC); }
.jcs-faq details { border-bottom: 1px solid var(--cs-filet, #E2D9CC); padding-block: 15px; }
.jcs-faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 16px; font-size: 15px; font-weight: 600; }
.jcs-faq summary::-webkit-details-marker { display: none; }
.jcs-faq summary::after { content: "+"; font-size: 20px; line-height: 1; font-weight: 400; color: var(--cs-rose-fonce, #8F554D); flex: none; }
.jcs-faq details[open] summary::after { content: "\2212"; }
.jcs-faq details > div { margin-top: 8px; font-size: 14.5px; color: var(--cs-gris-texte, #625D57); max-width: 72ch; }

.jcs-raccourcis { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding: 4px 0; }
.jcs-raccourcis a { flex: none; padding: 9px 14px; border: 1px solid var(--cs-filet, #E2D9CC); border-radius: 999px; background: var(--cs-blanc, #FFFFFF); font-size: 13.5px; font-weight: 500; color: var(--cs-noir, #1E1E1C); text-decoration: none; white-space: nowrap; }
.jcs-raccourcis a:hover { border-color: var(--cs-rose, #A0655D); }

/* Blocs du module C06 à C08 */
.jcs-fiche-infos { display: grid; gap: 24px; }
@media (min-width: 880px) { .jcs-fiche-infos { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.jcs-fiche__titre { font-size: 16px; font-weight: 600; margin: 0 0 10px; }
.jcs-documents__liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.jcs-documents__lien { color: var(--cs-noir, #1E1E1C); font-weight: 600; text-decoration: underline; text-decoration-color: var(--cs-rose, #A0655D); text-underline-offset: 3px; }
.jcs-documents__lien small { font-weight: 400; color: var(--cs-gris-texte, #625D57); }
.jcs-fabricant__adresse { font-style: normal; font-size: 14px; line-height: 1.6; }
.jcs-danger { background: var(--cs-blanc, #FFFFFF); border: 1px solid var(--cs-filet, #E2D9CC); border-left: 3px solid var(--cs-orange, #EB7314); border-radius: 6px; padding: 12px 14px; margin-bottom: 10px; font-size: 14px; }

/* Caractéristiques (attributs) */
:is(.jcs-fiche, .jcs-produit) .woocommerce-product-attributes { width: 100%; border-collapse: collapse; font-size: 14px; }
:is(.jcs-fiche, .jcs-produit) .woocommerce-product-attributes th,
:is(.jcs-fiche, .jcs-produit) .woocommerce-product-attributes td { text-align: left; padding: 10px 12px 10px 0; border: 0; border-bottom: 1px solid var(--cs-filet, #E2D9CC); background: none; font-style: normal; }
:is(.jcs-fiche, .jcs-produit) .woocommerce-product-attributes th { width: 40%; font-weight: 600; }
:is(.jcs-fiche, .jcs-produit) .woocommerce-product-attributes td p { margin: 0; }

/* Catégorie ------------------------------------------------------------- */
:is(.jcs-categorie, .jcs-archive) .elementor-widget-theme-archive-title h1 {
	font-family: var(--cs-police-titre, Newsreader), Georgia, serif;
	font-weight: 500;
	font-size: clamp(30px, 3.6vw, 46px);
	line-height: 1.08;
	letter-spacing: -.01em;
	color: var(--cs-noir, #1E1E1C);
	margin: 0;
}
:is(.jcs-categorie, .jcs-archive) .term-description { color: var(--cs-gris-texte, #625D57); font-size: 15px; max-width: 70ch; }
:is(.jcs-categorie, .jcs-archive) .term-description p { margin: 0 0 12px; }
:is(.jcs-categorie, .jcs-archive) .woocommerce-result-count { font-size: 13px; color: var(--cs-gris-texte, #625D57); }
:is(.jcs-categorie, .jcs-archive) .woocommerce-ordering select { padding: 9px 12px; border: 1px solid var(--cs-filet, #E2D9CC); border-radius: 6px; background-color: var(--cs-blanc, #FFFFFF); font: inherit; font-size: 13.5px; }
:is(.jcs-categorie, .jcs-archive) ul.products,
:is(.jcs-fiche, .jcs-produit) ul.products { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; }
@media (min-width: 760px) { :is(.jcs-categorie, .jcs-archive) ul.products, :is(.jcs-fiche, .jcs-produit) ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; } }
@media (min-width: 1100px) { :is(.jcs-categorie, .jcs-archive) ul.products, :is(.jcs-fiche, .jcs-produit) ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; } }
:is(.jcs-categorie, .jcs-archive) ul.products::before,
:is(.jcs-categorie, .jcs-archive) ul.products::after,
:is(.jcs-fiche, .jcs-produit) ul.products::before,
:is(.jcs-fiche, .jcs-produit) ul.products::after { display: none !important; }
:is(.jcs-categorie, .jcs-archive) ul.products li.product,
:is(.jcs-fiche, .jcs-produit) ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; }
.jcs-categorie-bas { margin-top: clamp(28px, 4vw, 48px); }

:is(.jcs-fiche, .jcs-produit) section.related > h2,
:is(.jcs-fiche, .jcs-produit) section.up-sells > h2 { font-family: var(--cs-police-titre, Newsreader), Georgia, serif; font-weight: 500; font-size: clamp(25px, 2.6vw, 33px); margin: 0 0 16px; }

/* Surcharges des styles par défaut des widgets WooCommerce d'Elementor et du thème (1.9.1) */
:is(.jcs-fiche, .jcs-produit) .elementor-widget-woocommerce-product-price .price,
:is(.jcs-fiche, .jcs-produit) .elementor-widget-woocommerce-product-add-to-cart .woocommerce-variation-price .price {
	color: var(--cs-noir, #1E1E1C) !important;
	font-family: var(--cs-police-texte, Montserrat), system-ui, sans-serif !important;
	font-size: 28px !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
}
:is(.jcs-fiche, .jcs-produit) .elementor-widget-woocommerce-product-price .price .jcs-prix-unitaire,
:is(.jcs-fiche, .jcs-produit) .elementor-widget-woocommerce-product-add-to-cart .woocommerce-variation-price .jcs-prix-unitaire {
	font-family: var(--cs-police-texte, Montserrat), system-ui, sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	margin-top: 4px;
}
:is(.jcs-fiche, .jcs-produit) .elementor-widget-woocommerce-product-price .price .woocommerce-price-suffix { font-size: 13px !important; font-weight: 400 !important; }
:is(.jcs-fiche, .jcs-produit) .elementor-widget-woocommerce-product-price .price del,
:is(.jcs-fiche, .jcs-produit) .elementor-widget-woocommerce-product-price .price ins { color: inherit !important; }

:is(.jcs-fiche, .jcs-produit) .elementor-widget-woocommerce-product-add-to-cart .woocommerce-variation-add-to-cart,
:is(.jcs-fiche, .jcs-produit) .elementor-widget-woocommerce-product-add-to-cart form.cart:not(.variations_form) {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 10px !important;
}
:is(.jcs-fiche, .jcs-produit) .elementor-widget-woocommerce-product-add-to-cart .jcs-choix,
:is(.jcs-fiche, .jcs-produit) .elementor-widget-woocommerce-product-add-to-cart .jcs-calc,
:is(.jcs-fiche, .jcs-produit) .elementor-widget-woocommerce-product-add-to-cart .woocommerce-variation { flex: 0 0 100% !important; width: 100% !important; max-width: 100% !important; }
:is(.jcs-fiche, .jcs-produit) .elementor-widget-woocommerce-product-add-to-cart .quantity { margin: 0 !important; }
:is(.jcs-fiche, .jcs-produit) .elementor-widget-woocommerce-product-add-to-cart .quantity input.qty { height: 48px !important; min-height: 48px; width: 72px !important; padding: 0 !important; background: var(--cs-blanc, #FFFFFF); }
:is(.woocommerce :is(.jcs-fiche, .jcs-produit), .woocommerce.jcs-produit) .elementor-widget-woocommerce-product-add-to-cart button.single_add_to_cart_button,
:is(.jcs-fiche, .jcs-produit) .elementor-widget-woocommerce-product-add-to-cart button.single_add_to_cart_button.button.alt {
	flex: 1 1 auto !important;
	height: 48px !important;
	min-height: 48px !important;
	padding: 0 22px !important;
	border: 0 !important;
	border-radius: 6px !important;
	background: var(--cs-rose, #A0655D) !important;
	color: #FFFFFF !important;
	font-family: var(--cs-police-texte, Montserrat), system-ui, sans-serif !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	text-transform: none !important;
}
:is(.woocommerce :is(.jcs-fiche, .jcs-produit), .woocommerce.jcs-produit) .elementor-widget-woocommerce-product-add-to-cart button.single_add_to_cart_button:hover { background: var(--cs-rose-fonce, #8F554D) !important; }
:is(.woocommerce :is(.jcs-fiche, .jcs-produit), .woocommerce.jcs-produit) .elementor-widget-woocommerce-product-add-to-cart button.single_add_to_cart_button.disabled { opacity: .5 !important; }
:is(.jcs-fiche, .jcs-produit) .elementor-widget-woocommerce-product-add-to-cart table.variations tr,
:is(.jcs-fiche, .jcs-produit) .elementor-widget-woocommerce-product-add-to-cart table.variations th,
:is(.jcs-fiche, .jcs-produit) .elementor-widget-woocommerce-product-add-to-cart table.variations td { background: none !important; }

:is(.jcs-fiche, .jcs-produit) .woocommerce-product-attributes tr,
:is(.jcs-fiche, .jcs-produit) .woocommerce-product-attributes th,
:is(.jcs-fiche, .jcs-produit) .woocommerce-product-attributes td { background: none !important; font-style: normal !important; }
:is(.jcs-fiche, .jcs-produit) .woocommerce-product-attributes td * { font-style: normal !important; }
:is(.jcs-fiche, .jcs-produit) .jcs-titre-section .elementor-heading-title { margin-bottom: 14px; }
:is(.jcs-fiche, .jcs-produit) .jcs-sec { border-top: 1px solid var(--cs-filet, #E2D9CC); }

:is(.jcs-categorie, .jcs-archive) .jcs-titre-page {
	font-family: var(--cs-police-titre, Newsreader), Georgia, serif;
	font-weight: 500;
	font-size: clamp(30px, 3.6vw, 46px);
	line-height: 1.08;
	letter-spacing: -.01em;
	color: var(--cs-noir, #1E1E1C);
	margin: 0;
	text-wrap: balance;
}

/* Sélecteurs de la fiche (1.11.0) : pilules, pastilles, total, choix manquants */
:is(.jcs-fiche, .jcs-produit) select[data-jcs-masque],
select[data-jcs-masque] { display: none !important; }
.jcs-options { display: flex; flex-wrap: wrap; gap: 8px; }
.jcs-options label { margin: 0 !important; }
.jcs-pilule { position: relative; display: block; }
.jcs-pilule input,
.jcs-teinte input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.jcs-pilule > span {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1px;
	min-width: 84px;
	padding: 10px 14px;
	border: 1px solid var(--cs-filet, #E2D9CC);
	border-radius: 6px;
	background: var(--cs-blanc, #FFFFFF);
	color: var(--cs-noir, #1E1E1C);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	cursor: pointer;
}
.jcs-pilule small { font-size: 12px; font-weight: 400; color: var(--cs-gris-texte, #625D57); font-variant-numeric: tabular-nums; }
.jcs-pilule:hover > span { border-color: var(--cs-noir, #1E1E1C); }
.jcs-pilule input:checked + span { border: 2px solid var(--cs-noir, #1E1E1C); padding: 9px 13px; }
.jcs-pilule input:focus-visible + span { outline: 2px solid var(--cs-rose, #A0655D); outline-offset: 2px; }
.jcs-pilule input:disabled { cursor: not-allowed; }
.jcs-pilule input:disabled + span { opacity: .45; cursor: not-allowed; text-decoration: line-through; }

.jcs-options.jcs-teintes { display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 8px; max-width: 460px; }
@media (max-width: 599px) { .jcs-options.jcs-teintes { grid-template-columns: repeat(5, minmax(0, 1fr)); max-width: 300px; } }
.jcs-teinte { position: relative; display: block; }
.jcs-teinte span {
	display: block;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background-color: var(--cs-lin, #EFE8DE);
	background-position: center;
	background-size: cover;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .14);
	cursor: pointer;
}
.jcs-teinte input:checked + span { box-shadow: 0 0 0 2px var(--cs-ecru, #F9F5F1), 0 0 0 4px var(--cs-noir, #1E1E1C); }
.jcs-teinte input:focus-visible + span { outline: 2px solid var(--cs-rose, #A0655D); outline-offset: 5px; }
.jcs-teinte input:disabled + span { opacity: .3; cursor: not-allowed; }


.jcs-options__choisi { margin-left: 8px; font-weight: 400; color: var(--cs-gris-texte, #625D57); }
:is(.jcs-fiche, .jcs-produit) table.variations td.value .reset_variations { display: inline-block; margin-top: 8px; }

.jcs-manque { flex: 0 0 100%; margin: 0; min-height: 1.3em; font-size: 12.5px; color: var(--cs-rose-fonce, #8F554D); }
.jcs-manque:empty { min-height: 0; }
.jcs-manque--alerte { font-weight: 600; }
:is(.jcs-fiche, .jcs-produit) .elementor-widget-woocommerce-product-add-to-cart .jcs-manque { flex: 0 0 100% !important; width: 100% !important; }

.jcs-livraison { margin: 4px 0 0; font-size: 12.5px; color: var(--cs-gris-texte, #625D57); }
form.jcs-prix-deplace .woocommerce-variation-price { display: none !important; }
:is(.woocommerce :is(.jcs-fiche, .jcs-produit), .woocommerce.jcs-produit) .elementor-widget-woocommerce-product-add-to-cart button.single_add_to_cart_button,
:is(.jcs-fiche, .jcs-produit) .single_add_to_cart_button { font-variant-numeric: tabular-nums; white-space: normal; }
:is(.woocommerce :is(.jcs-fiche, .jcs-produit), .woocommerce.jcs-produit) .elementor-widget-woocommerce-product-add-to-cart button.single_add_to_cart_button { height: auto !important; padding: 12px 18px !important; line-height: 1.25 !important; }

/* Parcours de la fiche (1.12.0) : étapes du chantier, encart vers les kits */
.jcs-suivi { margin: 14px 0 0; }
.jcs-suivi__titre { margin: 0 0 6px; font-size: 13.5px; font-weight: 600; color: var(--cs-noir, #1E1E1C); }
.jcs-suivi ol { list-style: none; margin: 0; padding: 0; border: 1px solid var(--cs-filet, #E2D9CC); border-radius: 6px; background: var(--cs-blanc, #FFFFFF); overflow: hidden; }
.jcs-suivi li { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 10px; align-items: center; margin: 0; padding: 9px 12px; font-size: 13.5px; line-height: 1.4; border-bottom: 1px solid var(--cs-filet, #E2D9CC); color: var(--cs-noir, #1E1E1C); }
.jcs-suivi li:last-child { border-bottom: 0; }
.jcs-suivi__n { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; font-weight: 700; border: 1px solid var(--cs-filet, #E2D9CC); }
.jcs-suivi b { font-weight: 600; }
.jcs-suivi small { font-size: 12.5px; color: var(--cs-gris-texte, #625D57); }
.jcs-suivi small a { color: var(--cs-rose-fonce, #8F554D); text-decoration: underline; text-underline-offset: 2px; }
.jcs-suivi .jcs-suivi__ici { background: var(--cs-lin, #EFE8DE); }
.jcs-suivi .jcs-suivi__ici .jcs-suivi__n { background: var(--cs-noir, #1E1E1C); color: var(--cs-ecru, #F9F5F1); border-color: var(--cs-noir, #1E1E1C); }
.jcs-suivi .jcs-suivi__ici b { font-weight: 700; }
.jcs-suivi__ce { color: var(--cs-noir, #1E1E1C); }

.jcs-encart { margin: 14px 0 0; padding: 14px 16px; border-radius: 6px; background: var(--cs-lin, #EFE8DE); font-size: 14px; line-height: 1.5; color: var(--cs-noir, #1E1E1C); }
.jcs-encart p { margin: 0; }
.jcs-encart a { color: var(--cs-rose-fonce, #8F554D); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }

/* Liens vers les sections de la fiche */
.jcs-sous-nav { border-block: 1px solid var(--cs-filet, #E2D9CC); padding-block: 10px; }
.jcs-sous-nav[hidden] { display: none !important; }
.jcs-defile { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.jcs-defile::-webkit-scrollbar { display: none; }
.jcs-chip { flex: none; display: inline-flex; align-items: center; padding: 9px 14px; border: 1px solid var(--cs-filet, #E2D9CC); border-radius: 999px; background: var(--cs-blanc, #FFFFFF); color: var(--cs-noir, #1E1E1C) !important; font-size: 13.5px; font-weight: 500; white-space: nowrap; text-decoration: none !important; }
.jcs-chip:hover { border-color: var(--cs-noir, #1E1E1C); }
:is(.jcs-fiche, .jcs-produit) [id^="section-"] { scroll-margin-top: 170px; }
@media (max-width: 1024px) { :is(.jcs-fiche, .jcs-produit) [id^="section-"] { scroll-margin-top: 90px; } }

/* Barre d'achat fixe sur mobile */
.jcs-barre-achat { display: none; }
@media (max-width: 959px) {
	.jcs-barre-achat.jcs-barre-achat--visible {
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990;
		display: flex; align-items: center; justify-content: space-between; gap: 12px;
		padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px)) 72px;
		background: var(--cs-blanc, #FFFFFF); border-top: 1px solid var(--cs-filet, #E2D9CC);
		font-family: var(--cs-police-texte, Montserrat), system-ui, sans-serif; font-variant-numeric: tabular-nums;
	}
	.jcs-barre-achat b { display: block; font-size: 18px; line-height: 1.15; color: var(--cs-noir, #1E1E1C); }
	.jcs-barre-achat small { display: block; font-size: 12px; color: var(--cs-gris-texte, #625D57); }
	.jcs-barre-achat button { flex: none; min-height: 44px; padding: 10px 16px; border: 0; border-radius: 6px; background: var(--cs-rose, #A0655D); color: #FFFFFF; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
	body.jcs-barre-active { padding-bottom: 70px; }
}

/* Galerie : pleine largeur et points sur mobile, vignettes encadrées sur ordinateur */
:is(.jcs-fiche, .jcs-produit) .flex-control-thumbs li img { opacity: 1 !important; border: 1px solid var(--cs-filet, #E2D9CC); border-radius: 4px; cursor: pointer; }
:is(.jcs-fiche, .jcs-produit) .flex-control-thumbs li img.flex-active { border: 2px solid var(--cs-noir, #1E1E1C); }
@media (max-width: 959px) {
	:is(.jcs-fiche, .jcs-produit) .woocommerce-product-gallery { margin-inline: -16px !important; width: calc(100% + 32px) !important; max-width: none !important; }
	:is(.jcs-fiche, .jcs-produit) .woocommerce-product-gallery__wrapper { border-radius: 0; }
	:is(.jcs-fiche, .jcs-produit) .flex-control-thumbs { justify-content: center; gap: 10px; margin-top: 12px; }
	:is(.jcs-fiche, .jcs-produit) .flex-control-thumbs li { width: 9px !important; height: 9px; margin: 0 !important; border-radius: 50%; background: var(--cs-filet, #E2D9CC); overflow: hidden; }
	:is(.jcs-fiche, .jcs-produit) .flex-control-thumbs li img { width: 100%; height: 100%; opacity: 0 !important; border: 0; }
	:is(.jcs-fiche, .jcs-produit) .flex-control-thumbs li:has(img.flex-active) { background: var(--cs-noir, #1E1E1C); }
}

/* Kits en tête de catégorie (1.12.0) */
.jcs-kits { margin: 8px 0 28px; }
.jcs-kits__tete h2,
.jcs-detail-titre { font-family: var(--cs-police-titre, Newsreader), Georgia, serif; font-weight: 500; font-size: clamp(24px, 2.6vw, 32px); line-height: 1.15; margin: 0 0 8px; color: var(--cs-noir, #1E1E1C); }
.jcs-kits__tete p { margin: 0 0 16px; color: var(--cs-gris-texte, #625D57); font-size: 15px; max-width: 70ch; }
.jcs-detail-titre { margin: 8px 0 14px; }
.jcs-kits__grille { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
@media (min-width: 760px) { .jcs-kits__grille { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.jcs-kit { display: grid; grid-template-columns: minmax(0, 1fr); background: var(--cs-blanc, #FFFFFF); border: 1px solid var(--cs-filet, #E2D9CC); border-radius: 6px; overflow: hidden; }
.jcs-kit__photo { position: relative; display: block; aspect-ratio: 16 / 8; background: var(--cs-lin, #EFE8DE); overflow: hidden; }
.jcs-kit__photo img.jcs-kit__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.jcs-kit__teintes { position: absolute; left: 12px; bottom: 12px; display: flex; gap: 4px; padding: 5px 7px; border-radius: 999px; background: rgba(255, 255, 255, .88); }
.jcs-kit__teintes span { width: 13px; height: 13px; border-radius: 50%; background: var(--cs-lin, #EFE8DE) center / cover no-repeat; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12); }
.jcs-kit__corps { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px 18px; }
.jcs-kit__usage { font-size: 12.5px; font-weight: 600; color: var(--cs-rose-fonce, #8F554D); }
.jcs-kit__nom { margin: 0; font-family: var(--cs-police-texte, Montserrat), system-ui, sans-serif; font-size: 18px; font-weight: 600; line-height: 1.3; }
.jcs-kit__nom a { color: var(--cs-noir, #1E1E1C); text-decoration: none; }
.jcs-kit__texte { margin: 0; font-size: 13.5px; color: var(--cs-gris-texte, #625D57); }
.jcs-kit__tailles { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 2px; }
.jcs-kit__taille { display: inline-block; padding: 3px 9px; border: 1px solid var(--cs-filet, #E2D9CC); border-radius: 999px; font-size: 12.5px; font-weight: 600; color: var(--cs-noir, #1E1E1C); }
.jcs-kit__pied { margin-top: 8px; display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-variant-numeric: tabular-nums; }
.jcs-kit__pied b { font-size: 21px; font-weight: 700; color: var(--cs-noir, #1E1E1C); }
.jcs-kit__pied small { display: block; font-size: 12.5px; color: var(--cs-gris-texte, #625D57); }
.jcs-kit__bouton { display: inline-flex; align-items: center; justify-content: center; padding: 12px 20px; border-radius: 6px; background: var(--cs-rose, #A0655D); color: #FFFFFF !important; font-size: 14.5px; font-weight: 600; text-decoration: none !important; }
.jcs-kit__bouton:hover { background: var(--cs-rose-fonce, #8F554D); }

/* Styles par défaut du thème Hello neutralisés (1.12.1) : Hello colore en rose vif (#c36)
   tout bouton survolé ou cliqué, et met ses champs en noir pur. */
.jcs-barre-achat button:hover,
.jcs-barre-achat button:focus,
.jcs-barre-achat button:active { background: var(--cs-rose-fonce, #8F554D) !important; color: #FFFFFF !important; border: 0 !important; }
.jcs-barre-achat button:focus-visible { outline: 2px solid var(--cs-noir, #1E1E1C); outline-offset: 2px; }
:is(.woocommerce :is(.jcs-fiche, .jcs-produit), .woocommerce.jcs-produit) .elementor-widget-woocommerce-product-add-to-cart button.single_add_to_cart_button:focus,
:is(.woocommerce :is(.jcs-fiche, .jcs-produit), .woocommerce.jcs-produit) .elementor-widget-woocommerce-product-add-to-cart button.single_add_to_cart_button:active { background: var(--cs-rose-fonce, #8F554D) !important; color: #FFFFFF !important; }
:is(.jcs-fiche, .jcs-produit) .single_add_to_cart_button:focus-visible { outline: 2px solid var(--cs-noir, #1E1E1C) !important; outline-offset: 2px; }
:is(.jcs-fiche, .jcs-produit) input.qty,
:is(.jcs-fiche, .jcs-produit) .jcs-calc input { color: var(--cs-noir, #1E1E1C) !important; }
:is(.jcs-fiche, .jcs-produit) input.qty:focus,
:is(.jcs-fiche, .jcs-produit) .jcs-calc input:focus { border-color: var(--cs-noir, #1E1E1C) !important; outline: none; }
.pswp .pswp__button,
.pswp .pswp__button:hover,
.pswp .pswp__button:focus,
.pswp .pswp__button:active { background-color: transparent !important; border: 0 !important; box-shadow: none !important; }
:is(.jcs-fiche, .jcs-produit) table.shop_attributes,
:is(.jcs-fiche, .jcs-produit) table.shop_attributes th,
:is(.jcs-fiche, .jcs-produit) table.shop_attributes td { border-color: var(--cs-filet, #E2D9CC) !important; }

/* Tableaux des contenus : bordures grises et lignes zébrées du thème Hello remplacées par le
   filet de la charte (1.12.2). */
:is(.jcs-fiche, .jcs-produit) table:not(.variations),
:is(.jcs-categorie, .jcs-archive) table,
.jcs-guide-page table { border: 0 !important; border-collapse: collapse; }
:is(.jcs-fiche, .jcs-produit) table:not(.variations) th,
:is(.jcs-fiche, .jcs-produit) table:not(.variations) td,
:is(.jcs-categorie, .jcs-archive) table th,
:is(.jcs-categorie, .jcs-archive) table td,
.jcs-guide-page table th,
.jcs-guide-page table td { border: 0 !important; border-bottom: 1px solid var(--cs-filet, #E2D9CC) !important; background: none !important; }
:is(.jcs-fiche, .jcs-produit) table:not(.variations) tbody > tr:nth-child(odd) > td,
:is(.jcs-fiche, .jcs-produit) table:not(.variations) tbody > tr:nth-child(odd) > th,
:is(.jcs-categorie, .jcs-archive) table tbody > tr:nth-child(odd) > td,
:is(.jcs-categorie, .jcs-archive) table tbody > tr:nth-child(odd) > th,
.jcs-guide-page table tbody > tr:nth-child(odd) > td,
.jcs-guide-page table tbody > tr:nth-child(odd) > th { background: none !important; }
:is(.jcs-fiche, .jcs-produit) table:not(.variations) tbody tr:hover > td,
:is(.jcs-fiche, .jcs-produit) table:not(.variations) tbody tr:hover > th,
:is(.jcs-categorie, .jcs-archive) table tbody tr:hover > td,
:is(.jcs-categorie, .jcs-archive) table tbody tr:hover > th,
.jcs-guide-page table tbody tr:hover > td,
.jcs-guide-page table tbody tr:hover > th { background: none !important; }


/* Guides de pose et conseils (1.13.0) ------------------------------------- */
.jcs-guide-page { max-width: 820px; margin: 0 auto; padding: clamp(20px, 3vw, 40px) 0 clamp(32px, 5vw, 64px); color: var(--cs-noir, #1E1E1C); }
.jcs-guide-page .jcs-fil { font-size: 12.5px; color: var(--cs-gris-texte, #625D57); margin: 0 0 14px; }
.jcs-guide-page .jcs-fil a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.jcs-guide-titre {
	font-family: var(--cs-police-titre, Newsreader), Georgia, serif;
	font-weight: 500;
	font-size: clamp(30px, 3.6vw, 44px);
	line-height: 1.08;
	letter-spacing: -.01em;
	margin: 0 0 10px;
	color: var(--cs-noir, #1E1E1C);
	text-wrap: balance;
}
.jcs-guide-meta { font-size: 13px; color: var(--cs-gris-texte, #625D57); margin: 0 0 24px; }
.jcs-guide-chapo { font-size: 17px; line-height: 1.6; color: var(--cs-noir, #1E1E1C); margin: 0 0 20px; }
.jcs-enbref { background: var(--cs-lin, #EFE8DE); border-radius: 6px; padding: 18px 20px; margin: 0 0 8px; }
.jcs-enbref__titre { font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--cs-gris-texte, #625D57); margin: 0 0 8px; }
.jcs-enbref ul { margin: 0; padding-left: 18px; }
.jcs-enbref li { font-size: 15px; line-height: 1.55; margin: 3px 0; }
.jcs-guide .jcs-sec ul { padding-left: 18px; }
.jcs-guide .jcs-sec li { margin: 4px 0; }
.jcs-guide .jcs-tableau { margin: 6px 0 12px; }
@media (max-width: 640px) { .jcs-guide .jcs-tableau { font-size: 13px; } .jcs-guide .jcs-tableau th, .jcs-guide .jcs-tableau td { padding-right: 8px; } }
.jcs-guide .jcs-etapes { margin: 8px 0 14px; }
.jcs-guide-sources { font-size: 12.5px; color: var(--cs-gris-texte, #625D57); border-top: 1px solid var(--cs-filet, #E2D9CC); padding-top: 14px; margin-top: 8px; }
.jcs-guide-produits, .jcs-guides-lies { border-top: 1px solid var(--cs-filet, #E2D9CC); padding-top: clamp(28px, 4vw, 44px); margin-top: clamp(20px, 3vw, 32px); }
.jcs-guide-produits > h2, .jcs-guides-lies > h2 {
	font-family: var(--cs-police-titre, Newsreader), Georgia, serif;
	font-weight: 500;
	font-size: clamp(24px, 2.4vw, 30px);
	margin: 0 0 16px;
}
.jcs-guides-lies ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.jcs-guides-lies li a { font-weight: 600; color: var(--cs-rose-fonce, #8F554D); text-underline-offset: 2px; }
.jcs-guides-lies li small { display: block; font-size: 12.5px; color: var(--cs-gris-texte, #625D57); }

.jcs-guides-bloc ul, .jcs-guides-lies ul { list-style: none; margin: 0 0 12px; padding: 0; display: grid; gap: 10px; }
.jcs-guides-bloc li a { font-weight: 600; color: var(--cs-rose-fonce, #8F554D); text-underline-offset: 2px; }
.jcs-guides-bloc li small { display: block; font-size: 12.5px; color: var(--cs-gris-texte, #625D57); }
.jcs-guides-bloc p a, .jcs-guides-boutique a { color: var(--cs-rose-fonce, #8F554D); text-underline-offset: 2px; }
/* Pages de catégorie de guides (thème Hello) */
body.category .site-main { padding-block: clamp(20px, 3vw, 40px); }
body.category .page-header .entry-title { font-family: var(--cs-police-titre, Newsreader), Georgia, serif; font-weight: 500; font-size: clamp(30px, 3.6vw, 44px); line-height: 1.08; }
body.category .site-main article.post { padding: 18px 0; border-bottom: 1px solid var(--cs-filet, #E2D9CC); }
body.category .site-main article.post .entry-title a { font-family: var(--cs-police-titre, Newsreader), Georgia, serif; font-weight: 500; font-size: 24px; color: var(--cs-noir, #1E1E1C); text-decoration: none; }

/* Tableaux des guides : défilement horizontal sur petit écran plutôt qu'un débordement (1.13.4). */
@media (max-width: 640px) { .jcs-guide .jcs-tableau { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; } }


/* Couleur et tableaux mis en valeur (1.13.5), dans la charte : fonds lin, filet, rose argile en accent. */
table.jcs-tableau.jcs-tableau { background: var(--cs-blanc, #FFFFFF) !important; border: 1px solid var(--cs-filet, #E2D9CC) !important; border-radius: 6px; border-collapse: separate !important; border-spacing: 0; overflow: hidden; margin: 8px 0 16px; }
table.jcs-tableau.jcs-tableau th,
table.jcs-tableau.jcs-tableau td { padding: 11px 14px !important; border: 0 !important; border-bottom: 1px solid var(--cs-filet, #E2D9CC) !important; background: none !important; }
table.jcs-tableau.jcs-tableau thead th { background: var(--cs-lin, #EFE8DE) !important; color: var(--cs-noir, #1E1E1C); font-size: 13px; font-weight: 600; letter-spacing: 0; text-transform: none; border-bottom: 2px solid var(--cs-rose, #A0655D) !important; }
table.jcs-tableau.jcs-tableau tbody td:first-child { font-weight: 600; color: var(--cs-noir, #1E1E1C); }
table.jcs-tableau.jcs-tableau tbody tr:last-child > td { border-bottom: 0 !important; }
.jcs-etapes > li::before { background: var(--cs-rose, #A0655D); color: #FFFFFF; }
.jcs-enbref { border-left: 3px solid var(--cs-rose, #A0655D); }
.jcs-enbref li::marker,
.jcs-guide .jcs-sec li::marker { color: var(--cs-rose, #A0655D); }
.jcs-reperes { font-size: 13px; font-weight: 600; color: var(--cs-rose-fonce, #8F554D); margin: 0 0 6px; }
.jcs-guide-photo { margin: 0 0 24px; }
.jcs-guide-photo__img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 6px; }
@media (max-width: 640px) { table.jcs-tableau.jcs-tableau { border-radius: 0; border-left: 0 !important; border-right: 0 !important; } }

/* Questions fréquentes en carte, comme les tableaux (1.13.5) : blanc, filet, rose argile en accent. */
.jcs-faq { background: var(--cs-blanc, #FFFFFF); border: 1px solid var(--cs-filet, #E2D9CC); border-radius: 6px; overflow: hidden; }
.jcs-faq details { border-bottom: 1px solid var(--cs-filet, #E2D9CC); padding: 0; border-left: 3px solid transparent; transition: border-color .15s; }
.jcs-faq details:last-child { border-bottom: 0; }
.jcs-faq summary { padding: 15px 16px; align-items: center; }
.jcs-faq summary:hover { color: var(--cs-rose-fonce, #8F554D); }
.jcs-faq summary:focus-visible { outline: 2px solid var(--cs-rose, #A0655D); outline-offset: -2px; }
.jcs-faq summary::after {
	content: "+"; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%;
	background: var(--cs-lin, #EFE8DE); color: var(--cs-rose-fonce, #8F554D); font-size: 18px; font-weight: 500;
}
.jcs-faq details[open] { border-left-color: var(--cs-rose, #A0655D); }
.jcs-faq details[open] summary { background: var(--cs-lin, #EFE8DE); color: var(--cs-noir, #1E1E1C); }
.jcs-faq details[open] summary::after { content: "\2212"; background: var(--cs-rose, #A0655D); color: #FFFFFF; }
.jcs-faq details > div { margin: 0; padding: 4px 16px 16px; }
.jcs-faq details[open] > div { padding-top: 12px; }

/* Photos dans le corps des guides (1.13.5) */
.jcs-guide-page .jcs-guide-figure { margin: 20px 0 24px; }
.jcs-guide-page .jcs-guide-figure img { display: block; width: 100%; height: auto; border-radius: 6px; }
.jcs-guide-page .jcs-guide-figure figcaption { margin-top: 8px; font-size: 13px; color: var(--cs-gris-texte, #625D57); }

/*
 * Modèle Elementor « Article guide » (1.14.0). La mise en page (colonnes, colonne collante,
 * largeurs, marges) est réglée dans Elementor par les classes globales cs-guide-… ; ici,
 * seulement les blocs rendus par l'extension, avec les variables Elementor.
 */
.jcs-guide-page--modele { max-width: none; margin: 0; padding: 0; }
.jcs-guide-page section[id] { scroll-margin-top: 140px; }
@media (max-width: 1024px) { .jcs-guide-page section[id] { scroll-margin-top: 100px; } }
body.single-post .jcs-fil { font-size: 12.5px; color: var(--cs-gris-texte, #625D57); margin: 0; }
body.single-post .jcs-fil a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
body.single-post .jcs-fil a:hover { color: var(--cs-rose-fonce, #8F554D); }
body.single-post .jcs-guide-meta { margin: 0; }

.jcs-guide-carte { background: var(--cs-blanc, #FFFFFF); border: 1px solid var(--cs-filet, #E2D9CC); border-radius: var(--cs-rayon, 6px); padding: 18px 18px 20px; }
.jcs-guide-carte__titre { font-family: var(--cs-police-texte, Montserrat), Arial, sans-serif; font-size: 13px; font-weight: 600; color: var(--cs-noir, #1E1E1C); margin: 0 0 10px; }

.jcs-guide-sommaire ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.jcs-guide-sommaire li { margin: 0; }
.jcs-guide-sommaire a { display: block; padding: 6px 0 6px 12px; border-left: 2px solid var(--cs-filet, #E2D9CC); font-size: 13.5px; line-height: 1.35; color: var(--cs-gris-texte, #625D57); text-decoration: none; }
.jcs-guide-sommaire a:hover { color: var(--cs-rose-fonce, #8F554D); }
.jcs-guide-sommaire a:focus-visible { outline: 2px solid var(--cs-rose, #A0655D); outline-offset: 2px; }
.jcs-guide-sommaire a.est-actif { border-left-color: var(--cs-rose, #A0655D); color: var(--cs-noir, #1E1E1C); font-weight: 600; }
.jcs-guide-sommaire--replie { background: var(--cs-blanc, #FFFFFF); border: 1px solid var(--cs-filet, #E2D9CC); border-radius: var(--cs-rayon, 6px); }
.jcs-guide-sommaire--replie summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 16px; font-size: 14px; font-weight: 600; cursor: pointer; list-style: none; }
.jcs-guide-sommaire--replie summary::-webkit-details-marker { display: none; }
.jcs-guide-sommaire--replie summary::after {
	content: "+"; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%;
	background: var(--cs-lin, #EFE8DE); color: var(--cs-rose-fonce, #8F554D); font-size: 18px; font-weight: 500; line-height: 1; flex: none;
}
.jcs-guide-sommaire--replie[open] summary::after { content: "\2212"; background: var(--cs-rose, #A0655D); color: #FFFFFF; }
.jcs-guide-sommaire--replie summary:focus-visible { outline: 2px solid var(--cs-rose, #A0655D); outline-offset: -2px; }
.jcs-guide-sommaire--replie nav { padding: 0 16px 14px; }

.jcs-guide-kit ul { list-style: none; margin: 0 0 14px; padding: 0; }
.jcs-guide-kit li { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin: 0; padding: 9px 0; border-bottom: 1px solid var(--cs-filet, #E2D9CC); font-size: 14px; }
.jcs-guide-kit li:first-child { padding-top: 0; }
.jcs-guide-kit li:last-child { border-bottom: 0; }
.jcs-guide-kit li a { color: var(--cs-noir, #1E1E1C); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.jcs-guide-kit li a:hover { color: var(--cs-rose-fonce, #8F554D); }
.jcs-guide-kit li span { color: var(--cs-gris-texte, #625D57); white-space: nowrap; }
.jcs-guide-bouton,
.jcs-guide-bouton:visited { display: block; text-align: center; background: var(--cs-rose, #A0655D); color: #FFFFFF; border: 0; border-radius: var(--cs-rayon, 6px); padding: 12px 16px; font-size: 14px; font-weight: 600; line-height: 1.3; text-decoration: none; }
.jcs-guide-bouton:hover,
.jcs-guide-bouton:focus,
.jcs-guide-bouton:active { background: var(--cs-rose-fonce, #8F554D); color: #FFFFFF; }
.jcs-guide-bouton:focus-visible { outline: 2px solid var(--cs-rose, #A0655D); outline-offset: 2px; }

/* Fil d'Ariane de Rank Math (catégories de guides, pages d'information, recherche), 1.14.7 ----- */
.rank-math-breadcrumb { font-size: 12.5px; color: var(--cs-gris-texte, #625D57); }
.rank-math-breadcrumb p { margin: 0; }
.rank-math-breadcrumb a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.rank-math-breadcrumb .separator { margin-inline: 4px; }

/* Cartes des guides (résultats de recherche), 1.14.7 ---------------------------------------- */
.jcs-cartes-guides { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.jcs-carte-guide { display: flex; flex-direction: column; height: 100%; background: var(--cs-blanc, #FFFFFF); border: 1px solid var(--cs-filet, #E2D9CC); border-radius: 6px; overflow: hidden; color: var(--cs-noir, #1E1E1C); text-decoration: none; transition: border-color .15s ease; }
.jcs-carte-guide:hover { border-color: var(--cs-rose, #A0655D); color: var(--cs-noir, #1E1E1C); }
.jcs-carte-guide:focus-visible { outline: 2px solid var(--cs-rose, #A0655D); outline-offset: 2px; }
.jcs-carte-guide__photo img { display: block; width: 100%; aspect-ratio: 16 / 8; object-fit: cover; }
.jcs-carte-guide__corps { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px 16px; flex-grow: 1; }
.jcs-carte-guide__titre { font-family: var(--cs-police-texte, Montserrat), system-ui, sans-serif; font-size: 16px; font-weight: 600; line-height: 1.3; margin: 0; color: inherit; }
.jcs-carte-guide__texte { font-size: 13.5px; line-height: 1.5; color: var(--cs-gris-texte, #625D57); }
.jcs-carte-guide__meta { font-size: 12px; color: var(--cs-gris-texte, #625D57); margin-top: auto; padding-top: 6px; }

/* Résultats de recherche, 1.14.7 ----------------------------------------------------------- */
.jcs-recherche-bloc { display: flex; flex-direction: column; gap: 16px; }
.jcs-recherche-bloc + .jcs-recherche-bloc { margin-top: clamp(16px, 3vw, 32px); }
.jcs-recherche-bloc__titre { font-family: var(--cs-police-titre, Newsreader), Georgia, serif; font-weight: 500; font-size: clamp(25px, 2.6vw, 33px); line-height: 1.14; margin: 0; color: var(--cs-noir, #1E1E1C); }
.jcs-recherche-bloc__titre span { font-family: var(--cs-police-texte, Montserrat), system-ui, sans-serif; font-size: 15px; font-weight: 400; color: var(--cs-gris-texte, #625D57); }
.jcs-recherche-bloc ul.products { margin: 0; }
.jcs-recherche-vide { font-size: 15px; line-height: 1.6; max-width: 62ch; margin: 0; }

/* Page Nos marques ([jcs_marques]), 1.14.7 ------------------------------------------------- */
.jcs-marques { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); }
.jcs-marques__item { display: flex; flex-direction: column; gap: 8px; background: var(--cs-blanc, #FFFFFF); border: 1px solid var(--cs-filet, #E2D9CC); border-radius: 6px; padding: 18px; transition: border-color .15s ease; }
.jcs-marques__item:hover { border-color: var(--cs-rose, #A0655D); }
.jcs-marques__item > a { display: flex; flex-direction: column; gap: 10px; color: var(--cs-noir, #1E1E1C); text-decoration: none; }
.jcs-marques__logo img { display: block; max-height: 64px; width: auto; max-width: 100%; object-fit: contain; }
.jcs-marques__nom { font-size: 17px; font-weight: 600; text-decoration: underline; text-decoration-color: var(--cs-filet, #E2D9CC); text-underline-offset: 4px; }
.jcs-marques__item > a:hover .jcs-marques__nom { text-decoration-color: var(--cs-rose, #A0655D); }
.jcs-marques__texte { font-size: 13.5px; line-height: 1.5; color: var(--cs-gris-texte, #625D57); margin: 0; }

/* Pages d'information (Aide, Livraison, Contact, Espace pro, Nos marques), 1.14.7 ------------ */
.jcs-page { font-size: 15px; line-height: 1.6; }
.jcs-page > .jcs-sec:first-child { padding-top: 0; }
.jcs-page .jcs-sec ul { padding-left: 18px; }
.jcs-page .jcs-sec li { margin: 4px 0; }
.jcs-page a:not(.jcs-bouton) { color: var(--cs-rose-fonce, #8F554D); text-underline-offset: 2px; }
.jcs-page .jcs-faq { margin-top: 6px; }
.jcs-page .jcs-faq details > div p { margin: 0 0 8px; }
.jcs-page .jcs-faq details > div { padding: 0 16px 14px 19px; }
.jcs-a-completer { background: var(--cs-lin, #EFE8DE); padding: 0 4px; border-radius: 3px; }
.jcs-boutons { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 14px; }
.jcs-bouton { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 20px; border-radius: 6px; border: 1px solid var(--cs-noir, #1E1E1C); background: transparent; color: var(--cs-noir, #1E1E1C); font-size: 14px; font-weight: 600; text-decoration: none; transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
.jcs-bouton:hover, .jcs-bouton:focus-visible { background: var(--cs-noir, #1E1E1C); color: var(--cs-ecru, #F9F5F1); }
.jcs-bouton:active { background: var(--cs-noir, #1E1E1C); color: var(--cs-ecru, #F9F5F1); }
.jcs-bouton--rose { background: var(--cs-rose, #A0655D); border-color: var(--cs-rose, #A0655D); color: var(--cs-blanc, #FFFFFF); }
.jcs-bouton--rose:hover, .jcs-bouton--rose:focus-visible, .jcs-bouton--rose:active { background: var(--cs-rose-fonce, #8F554D); border-color: var(--cs-rose-fonce, #8F554D); color: var(--cs-blanc, #FFFFFF); }
.jcs-bouton:focus-visible { outline: 2px solid var(--cs-rose, #A0655D); outline-offset: 2px; }
.jcs-encadre { background: var(--cs-blanc, #FFFFFF); border: 1px solid var(--cs-filet, #E2D9CC); border-radius: 6px; padding: 18px 20px; }
.jcs-encadre > :first-child { margin-top: 0; }
.jcs-encadre > :last-child { margin-bottom: 0; }
