/* Fiches ebook (Coq), maquette du 13/10/2026. Tout est sous body.rxf : rien ne touche aux autres pages. */
body.rxf {
	--rxf-fond: #fbf7f3;
	--rxf-encre: #191919;
	--rxf-texte: #2b2421;
	--rxf-doux: #5b4d47;
	--rxf-brun: #4b3028;
	--rxf-brun-fonce: #2e1c16;
	--rxf-caramel: #8a5f48;
	--rxf-etoile: #c99b7c;
	--rxf-creme: #fbf2ec;
	--rxf-bord: #eee7e2;
}
body.rxf #mainWoo { background: var(--rxf-fond); }
/* Téléphone : le thème décale déjà « main » de 58 px sous l'en-tête ET lui ajoute la hauteur de
   l'en-tête en marge (68 px) ; on retire ce doublon. Dès 768 px, cette marge est la seule
   compensation de l'en-tête fixe : on n'y touche pas. */
@media (max-width: 767px) {
	body.rxf #mainWoo { padding-top: 0 !important; }
}

/* ---------- Haut de fiche ---------- */
body.rxf #mainWoo .product.product-single .single-product-details .woo-breadcrumb {
	position: static;
	padding: 0 !important;
	margin: 0 !important;
}
body.rxf #mainWoo .woo-breadcrumb .woocommerce-breadcrumb {
	display: block !important;
	margin: 0;
	padding: 10px 0 0;
	font-size: 12px;
	line-height: 1.4;
	color: var(--rxf-doux);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
body.rxf #mainWoo .woo-breadcrumb .woocommerce-breadcrumb > * { display: inline !important; }
body.rxf #mainWoo .woo-breadcrumb .breadcrumb-delimiter { margin: 0 6px; }
body.rxf .woo-breadcrumb .woocommerce-breadcrumb a { color: var(--rxf-doux); }
body.rxf #mainWoo .single-product-details_content { padding: 8px 0 0 !important; margin: 0 !important; }
body.rxf #mainWoo .single-product-details_content .grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 16px !important;
	align-items: start;
}
body.rxf #mainWoo .single-product-details_content .grid_image,
body.rxf #mainWoo .single-product-details_content .grid_content {
	grid-column: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0;
	position: static !important;
}
body.rxf #mainWoo .single-product-details_content .summary {
	margin: 0 !important;
	padding: 0 !important;
	position: static !important;
	width: auto !important;
	float: none !important;
}
/* Tablette : deux colonnes dès 768 px, sinon la couverture pousse le bouton sous le pli. */
@media (min-width: 768px) and (max-width: 1023px) {
	body.rxf #mainWoo .single-product-details_content .grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
		gap: 24px !important;
	}
	.rxf-titre { font-size: 30px !important; }
	.rxf-points { display: none !important; }
}
@media (min-width: 1024px) {
	body.rxf .woo-breadcrumb .woocommerce-breadcrumb { font-size: 13px; padding-top: 18px; }
	body.rxf #mainWoo .single-product-details_content { padding-top: 18px !important; }
	body.rxf #mainWoo .single-product-details_content .grid {
		grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr) !important;
		gap: 44px !important;
	}
}

/* Galerie */
.rxf-galerie__cadre {
	position: relative;
	aspect-ratio: 16 / 9;
	border-radius: 20px;
	overflow: hidden;
	background: #f3ece6;
	box-shadow: 0 10px 30px rgba(75, 48, 40, .16);
}
.rxf-galerie__image {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	aspect-ratio: auto !important;
}
.rxf-galerie__cadre.est-page .rxf-galerie__image { object-fit: contain; }
.rxf-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 6px 12px;
	border-radius: 99px;
	background: #fff;
	color: var(--rxf-brun);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
}
.rxf-galerie__vignettes { display: none; }
@media (min-width: 1024px) {
	.rxf-galerie__cadre { border-radius: 26px; box-shadow: 0 14px 40px rgba(75, 48, 40, .16); }
	.rxf-badge { top: 16px; left: 16px; font-size: 13px; padding: 7px 14px; }
	.rxf-galerie__vignettes { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
	.rxf-vignette {
		width: 72px;
		height: 72px;
		padding: 0;
		border: 2px solid transparent;
		border-radius: 12px;
		overflow: hidden;
		background: #fff;
		cursor: pointer;
		font-family: inherit;
		color: inherit;
	}
	.rxf-vignette[aria-pressed="true"] { border-color: var(--rxf-brun); }
	.rxf-vignette:focus-visible { outline: 2px solid var(--rxf-brun); outline-offset: 2px; }
	.rxf-vignette img { display: block; width: 100%; height: 100%; object-fit: cover; }
}

/* Colonne d'achat */
.rxf-titre {
	margin: 0 !important;
	font-family: Jomolhari, Georgia, serif !important;
	font-weight: 400 !important;
	font-size: 27px !important;
	line-height: 1.12 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--rxf-encre) !important;
}
.rxf-note {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 8px;
	margin-top: 8px;
	font-size: 14px;
	line-height: 1.4;
	color: var(--rxf-texte) !important;
	text-decoration: none !important;
}
.rxf-note b { font-weight: 600; color: var(--rxf-encre); }
.rxf-note__nb { color: var(--rxf-doux); }
.rxf-note:hover .rxf-note__nb { text-decoration: underline; }
/* Zone de toucher de 44 px sans agrandir la ligne (le bouton doit rester visible en arrivant). */
.rxf-note { position: relative; }
.rxf-note::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 44px; transform: translateY(-50%); }
.rxf-note:focus-visible { outline: 2px solid var(--rxf-brun); outline-offset: 3px; border-radius: 4px; }
.rxf-etoiles { position: relative; display: inline-block; line-height: 0; color: #e6d9cf; white-space: nowrap; }
.rxf-etoiles__plein { position: absolute; top: 0; left: 0; bottom: 0; overflow: hidden; color: var(--rxf-etoile); }
.rxf-etoiles svg { display: inline-block; width: 16px; height: 16px; margin-right: 2px; }
.rxf-accroche { margin: 6px 0 0 !important; font-size: 15px; line-height: 1.5; color: var(--rxf-texte); }
.rxf-points { display: none; }
.rxf-achat {
	margin-top: 12px;
	padding: 14px 16px;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 4px 18px rgba(75, 48, 40, .08);
}
.rxf-achat__ligne { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 12px; }
.rxf-prix, .rxf-prix .amount, .rxf-prix bdi {
	font-family: Poppins, sans-serif !important;
	font-size: 28px !important;
	font-weight: 700 !important;
	line-height: 1.1;
	color: var(--rxf-encre) !important;
}
.rxf-format { font-size: 13px; color: var(--rxf-doux); }
body.rxf #mainWoo .product.product-single .single-product-details_content .grid_content .summary .rxf-achat form.cart { display: block !important; margin: 12px 0 0 !important; width: 100%; }
body.rxf #mainWoo .product.product-single .single-product-details_content .grid_content .summary .rxf-achat form.cart .custom-quantity,
body.rxf #mainWoo .product.product-single .single-product-details_content .grid_content .summary .rxf-achat form.cart .quantity { display: none !important; }
body.rxf #mainWoo .product.product-single .single-product-details_content .grid_content .summary .rxf-achat form.cart .add_to_cart_button,
body.rxf #sticky-product-bar form.cart .add_to_cart_button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-height: 50px;
	margin: 0 !important;
	padding: 12px 20px !important;
	border: 1px solid var(--rxf-brun) !important;
	border-radius: 99px !important;
	background: var(--rxf-brun) !important;
	color: #fff !important;
	font-family: Poppins, sans-serif !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	box-shadow: none !important;
}
body.rxf #mainWoo .product.product-single .single-product-details_content .grid_content .summary .rxf-achat form.cart .add_to_cart_button .btn_title,
body.rxf #sticky-product-bar form.cart .add_to_cart_button .btn_title {
	color: #fff !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-size: inherit !important;
	font-weight: inherit !important;
}
body.rxf #mainWoo .product.product-single .single-product-details_content .grid_content .summary .rxf-achat form.cart .add_to_cart_button svg path,
body.rxf #sticky-product-bar form.cart .add_to_cart_button svg path { stroke: #fff !important; }
body.rxf #mainWoo .product.product-single .single-product-details_content .grid_content .summary .rxf-achat form.cart .add_to_cart_button:hover,
body.rxf #mainWoo .product.product-single .single-product-details_content .grid_content .summary .rxf-achat form.cart .add_to_cart_button:focus-visible,
body.rxf #sticky-product-bar form.cart .add_to_cart_button:hover {
	background: var(--rxf-brun-fonce) !important;
	border-color: var(--rxf-brun-fonce) !important;
}
body.rxf #mainWoo .product.product-single .single-product-details_content .grid_content .summary .rxf-achat form.cart .add_to_cart_button:focus-visible { outline: 2px solid var(--rxf-brun); outline-offset: 3px; }
.rxf-rassurance { list-style: none; margin: 14px 0 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: 9px; }
.rxf-rassurance li { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 13px; line-height: 1.4; color: var(--rxf-texte); }
.rxf-rassurance li::before { display: none !important; }
.rxf-ico { flex: none; }
.rxf-rassurance .rxf-ico, .rxf-points .rxf-ico { color: var(--rxf-caramel); }

/* Téléphone : Roxxie (46 px, à 20 px du bas et de la droite) se pose sur la fin des lignes de
   réassurance en arrivant ; on lui laisse la place. */
@media (max-width: 767px) {
	.rxf-rassurance { padding-right: 40px !important; }
}
@media (min-width: 768px) {
	.rxf-points { display: flex; flex-direction: column; gap: 8px; list-style: none; margin: 14px 0 0 !important; padding: 0 !important; }
	.rxf-points li { display: flex; align-items: flex-start; gap: 10px; margin: 0; font-size: 15px; line-height: 1.45; color: var(--rxf-texte); }
	.rxf-points li::before { display: none !important; }
	.rxf-points .rxf-ico { margin-top: 1px; }
}
@media (min-width: 1024px) {
	.rxf-titre { font-size: 40px !important; line-height: 1.08 !important; }
	.rxf-accroche { margin-top: 12px !important; font-size: 17px; }
	.rxf-achat { margin-top: 20px; padding: 20px 22px; border-radius: 22px; }
	.rxf-prix, .rxf-prix .amount, .rxf-prix bdi { font-size: 32px !important; }
	.rxf-rassurance { flex-direction: row; flex-wrap: wrap; gap: 8px 18px; }
}
@media (min-width: 1200px) {
	.rxf-titre { font-size: 44px !important; }
}
/* Portable peu haut : on resserre pour que le bouton reste visible en arrivant. */
@media (min-width: 1024px) and (max-height: 760px) {
	.rxf-titre { font-size: 36px !important; }
	.rxf-accroche { margin-top: 8px !important; font-size: 16px; }
	.rxf-points { margin-top: 10px !important; gap: 4px; }
	.rxf-achat { margin-top: 14px; padding: 16px 20px; }
}

/* ---------- Haut de fiche, piste « Le rayon goûter » (17/10/2026) ---------- */
.rxf-resume .rxf-etiq { margin: 0 0 8px !important; }
.rxf-sous-titre { margin: 8px 0 0 !important; font-family: Jomolhari, Georgia, serif; font-size: 20px; line-height: 1.25; color: var(--rxf-caramel); }
.rxf-chapo { margin: 10px 0 0 !important; font-size: 15px; line-height: 1.55; color: var(--rxf-texte); }
.rxf-achat__ligne { align-items: center; }
.rxf-prix small { display: block; margin-top: 4px; font-size: 12px; font-weight: 500; line-height: 1.2; color: var(--rxf-doux); }
.rxf-achat__bouton { flex: 1 1 200px; min-width: 0; }
body.rxf #mainWoo .product.product-single .single-product-details_content .grid_content .summary .rxf-achat .rxf-achat__bouton form.cart { margin: 0 !important; }
.rxf-recu { list-style: none; margin: 16px 0 0 !important; padding: 0 !important; display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; }
.rxf-recu li { position: relative; margin: 0; padding-left: 16px; font-size: 14px; line-height: 1.45; color: var(--rxf-texte); }
.rxf-recu li::before { content: "•" !important; display: block !important; position: absolute; left: 0; top: 0; color: var(--rxf-caramel); background: none !important; width: auto !important; height: auto !important; }
/* Téléphone : la carte d'achat passe avant le chapeau, pour que le bouton reste visible en arrivant. */
@media (max-width: 767px) {
	.rxf-resume { display: flex; flex-direction: column; }
	.rxf-resume .rxf-achat { order: 1; }
	.rxf-resume .rxf-chapo { order: 2; margin-top: 14px !important; }
	.rxf-resume .rxf-recu { order: 3; }
}
@media (min-width: 768px) {
	.rxf-recu { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 18px; }
}
@media (min-width: 1024px) {
	.rxf-sous-titre { font-size: 24px; }
	.rxf-chapo { margin-top: 14px !important; font-size: 16px; }
}
@media (min-width: 768px) and (max-width: 1023px) {
	.rxf-chapo, .rxf-recu { display: none !important; }
}
/* Portable peu haut : on resserre pour que le bouton reste visible en arrivant. */
@media (min-width: 1024px) and (max-height: 760px) {
	.rxf-sous-titre { font-size: 21px; }
	.rxf-chapo { margin-top: 8px !important; font-size: 15px; }
	.rxf-recu { display: none !important; }
}

/* ---------- Sections ajoutées ---------- */
.rxf-section { padding: 40px 0 0; }
.rxf-h2 {
	margin: 0 !important;
	font-family: Jomolhari, Georgia, serif !important;
	font-weight: 400 !important;
	font-size: 26px !important;
	line-height: 1.2 !important;
	text-transform: none !important;
	color: var(--rxf-encre) !important;
}
.rxf-etiq { margin: 0 !important; font-size: 11px; font-weight: 600; line-height: 1.4; letter-spacing: .1em; text-transform: uppercase; color: var(--rxf-caramel); }
.rxf-section .rxf-etiq + .rxf-h2 { margin-top: 6px !important; }

/* Les recettes, rayon par rayon */
.rxf-rayons { margin-top: 40px; padding: 40px 0; background: #fff; }
.rxf-rayons__intro { max-width: 640px; margin: 8px 0 0 !important; font-size: 15px; line-height: 1.55; color: var(--rxf-texte); }
.rxf-etageres { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; margin-top: 22px; }
.rxf-etagere { display: grid; grid-template-columns: 110px minmax(0, 1fr); min-width: 0; border-radius: 20px; overflow: hidden; background: var(--rxf-creme); }
.rxf-etagere--sans-photo { grid-template-columns: minmax(0, 1fr); }
.rxf-etagere__photo { display: block; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; }
.rxf-etagere__corps { min-width: 0; padding: 16px 16px 18px; }
.rxf-panneau {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	margin: 0 !important;
	padding: 6px 12px !important;
	border-radius: 8px;
	background: var(--rxf-brun);
	color: #fff !important;
	font-family: Poppins, sans-serif !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	letter-spacing: .06em !important;
	text-transform: uppercase !important;
}
.rxf-panneau em { font-style: normal; color: #f6e0cc; }
.rxf-paquets { list-style: none; display: flex; flex-wrap: wrap; gap: 7px; margin: 12px 0 0 !important; padding: 0 !important; }
.rxf-paquets li { margin: 0; padding: 6px 11px; border-radius: 10px; background: #fff; font-size: 13.5px; font-weight: 500; line-height: 1.3; color: var(--rxf-encre); box-shadow: 0 2px 0 rgba(75, 48, 40, .08); }
.rxf-paquets li::before { display: none !important; }
/* Téléphone : la photo en bandeau au-dessus du rayon, pour que les recettes gardent toute la largeur. */
@media (max-width: 599px) {
	.rxf-etagere { grid-template-columns: minmax(0, 1fr); }
	.rxf-etagere__photo { height: 120px !important; }
	.rxf-paquets li { padding: 5px 10px; font-size: 13px; }
}
@media (min-width: 900px) {
	.rxf-rayons { margin-top: 56px; padding: 56px 0; }
	.rxf-etageres { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin-top: 30px; }
	.rxf-etagere { grid-template-columns: 170px minmax(0, 1fr); }
	.rxf-etagere--sans-photo { grid-template-columns: minmax(0, 1fr); }
	.rxf-etagere:last-child:nth-child(odd) { grid-column: 1 / -1; }
	.rxf-etagere__corps { padding: 18px 20px; }
}

/* Des pages du guide */
.rxf-feuillette__liste { display: flex; gap: 14px; overflow-x: auto; margin-top: 18px; padding-bottom: 6px; scroll-snap-type: x proximity; }
.rxf-feuillette__liste:focus-visible { outline: 2px solid var(--rxf-brun); outline-offset: 4px; }
.rxf-feuille { flex: 0 0 70%; min-width: 0; margin: 0; scroll-snap-align: start; }
.rxf-feuille img { display: block; width: 100% !important; height: auto !important; max-width: none !important; border-radius: 16px; background: #f3ece6; box-shadow: 0 6px 18px rgba(75, 48, 40, .10); }
.rxf-feuille figcaption { margin-top: 10px; }
.rxf-feuille figcaption b { display: block; font-size: 15px; font-weight: 600; line-height: 1.35; color: var(--rxf-encre); }
.rxf-feuille figcaption span { display: block; margin-top: 2px; font-size: 14px; line-height: 1.45; color: var(--rxf-texte); }
@media (min-width: 768px) {
	.rxf-feuillette__liste { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; overflow: visible; align-items: start; }
	.rxf-feuille { flex: none; }
}

/* Les sessions de batch */
.rxf-sessions__liste { list-style: none; display: grid; gap: 14px; margin: 20px 0 0 !important; padding: 0 !important; }
.rxf-session { margin: 0; padding: 20px; border-radius: 20px; background: #fff; border-top: 6px solid var(--rxf-etoile); }
.rxf-session::before { display: none !important; }
.rxf-session__duree { margin: 6px 0 0 !important; font-family: Jomolhari, Georgia, serif; font-size: 30px; line-height: 1.05; color: var(--rxf-caramel); }
.rxf-session__texte { margin: 10px 0 0 !important; font-size: 14px; line-height: 1.5; color: var(--rxf-texte); }
@media (min-width: 768px) {
	.rxf-sessions__liste { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
	.rxf-session { padding: 24px; }
	.rxf-session__duree { font-size: 34px; }
}

/* L'ebook à associer */
.rxf-pack { display: grid; gap: 24px; padding: 26px 22px; border-radius: 26px; background: var(--rxf-brun-fonce); color: #f6efe8; }
.rxf-pack .rxf-etiq { color: #f6e0cc; }
.rxf-pack .rxf-h2 { color: #fffaf5 !important; }
.rxf-pack__texte > p:not(.rxf-etiq) { margin: 10px 0 0 !important; font-size: 15px; line-height: 1.55; color: #efe3d8; }
.rxf-pack__achat { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-top: 20px; }
.rxf-pack__prix, .rxf-pack__prix .amount, .rxf-pack__prix bdi { font-family: Poppins, sans-serif !important; font-size: 26px !important; font-weight: 700 !important; line-height: 1.1; color: #fff !important; }
.rxf-pack__prix small { display: block; margin-top: 4px; font-size: 12px; font-weight: 400; color: #e9d6c6; }
.rxf-pack__bouton { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 12px 26px; border-radius: 99px; background: #fff; color: var(--rxf-brun) !important; font-family: Poppins, sans-serif; font-size: 16px; font-weight: 600; line-height: 1.2; text-decoration: none !important; }
.rxf-pack__bouton:hover { background: #f6e0cc; }
.rxf-pack__bouton:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.rxf-pack__bouton[aria-busy="true"] { cursor: progress; }
.rxf-pack__couvs { display: flex; gap: 12px; }
.rxf-pack__couvs a { flex: 1; min-width: 0; }
.rxf-pack__couvs img { display: block; width: 100% !important; height: auto !important; max-width: none !important; border-radius: 14px; }
@media (min-width: 900px) {
	.rxf-pack { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 36px; align-items: center; padding: 36px; border-radius: 28px; }
	.rxf-pack__prix, .rxf-pack__prix .amount, .rxf-pack__prix bdi { font-size: 28px !important; }
}

/* Fin de page : carte d'achat et questions fréquentes côte à côte */
.rxf-fin { padding: 40px 0 0; }
.rxf-fin__grille { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; }
.rxf-fin__faq { min-width: 0; }
.rxf-fin__faq > section, .rxf-fin__faq .block-content { margin: 0 !important; padding: 0 !important; }
.rxf-fin__faq .container { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
.rxf-carte { order: 2; display: grid; gap: 12px; align-content: start; min-width: 0; padding: 20px; border-radius: 24px; background: #fff; box-shadow: 0 10px 30px rgba(75, 48, 40, .10); }
.rxf-carte__image { display: block; width: 100% !important; height: auto !important; max-width: none !important; border-radius: 14px; }
.rxf-carte__titre { margin: 0 !important; font-family: Jomolhari, Georgia, serif !important; font-weight: 400 !important; font-size: 22px !important; line-height: 1.2 !important; text-transform: none !important; color: var(--rxf-encre) !important; }
.rxf-carte__prix { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.rxf-carte .rxf-rassurance { flex-direction: column !important; margin-top: 2px !important; }
@media (min-width: 1024px) {
	.rxf-fin { padding-top: 56px; }
	.rxf-fin__grille { grid-template-columns: 360px minmax(0, 1fr); gap: 48px; align-items: start; }
	.rxf-carte { order: 0; }
}
/* La carte d'achat suit la lecture de la colonne d'à côté (« Que trouveras-tu », puis la FAQ), sinon la
   colonne de gauche reste vide sous elle sur 650 à 850 px en portable (relecture du 17/10/2026). Sa
   distance au haut de l'écran est calculée par fiches.js pour qu'elle tienne dans la fenêtre. */
@media (min-width: 1024px) {
	.rxf-carte { position: sticky; top: var(--rxf-carte-top, 100px); }
}
@media (min-width: 1024px) {
	.rxf-section { padding-top: 56px; }
	.rxf-h2 { font-size: 34px !important; }
}

/* Bouton d'achat de la carte de fin : même rendu que celui du haut. */
body.rxf #mainWoo .rxf-carte form.cart { display: block !important; width: 100%; margin: 0 !important; }
body.rxf #mainWoo .rxf-carte form.cart .custom-quantity,
body.rxf #mainWoo .rxf-carte form.cart .quantity { display: none !important; }
body.rxf #mainWoo .rxf-carte form.cart .add_to_cart_button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100% !important;
	min-height: 50px;
	margin: 0 !important;
	padding: 12px 20px !important;
	border: 1px solid var(--rxf-brun) !important;
	border-radius: 99px !important;
	background: var(--rxf-brun) !important;
	color: #fff !important;
	font-family: Poppins, sans-serif !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	box-shadow: none !important;
	aspect-ratio: auto !important;
	height: auto !important;
}
body.rxf #mainWoo .rxf-carte form.cart .add_to_cart_button .btn_title { display: inline !important; color: #fff !important; text-transform: none !important; letter-spacing: 0 !important; font-size: inherit !important; font-weight: inherit !important; }
body.rxf #mainWoo .rxf-carte form.cart .add_to_cart_button svg path { stroke: #fff !important; }
body.rxf #mainWoo .rxf-carte form.cart .add_to_cart_button:hover,
body.rxf #mainWoo .rxf-carte form.cart .add_to_cart_button:focus-visible { background: var(--rxf-brun-fonce) !important; border-color: var(--rxf-brun-fonce) !important; }
body.rxf #mainWoo .rxf-carte form.cart .add_to_cart_button:focus-visible { outline: 2px solid var(--rxf-brun); outline-offset: 3px; }

/* Bloc « Que trouveras-tu dans ce e-book ? » (ebooks d'été) : titre à la taille des nôtres. */
body.rxf .product-blocks .block-faq-2-roxane .title-section { font-size: 25px !important; line-height: 1.2 !important; }
@media (min-width: 1024px) { body.rxf .product-blocks .block-faq-2-roxane .title-section { font-size: 32px !important; } }

/* Les blocs du thème qui suivent (FAQ, avis, carrousel) gardent leur rendu et leur balisage ;
   on aligne seulement leurs titres sur ceux de la fiche (plus de capitales). */
body.rxf .product-blocks .block-faq .title-section,
body.rxf .product-blocks .block-reviews-roxane .title-section {
	font-family: Jomolhari, Georgia, serif !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
body.rxf .product-blocks .block-faq .accordion-item_header,
body.rxf .product-blocks .block-faq .accordion-item_header * { text-transform: none !important; letter-spacing: 0 !important; }

/* ---------- Barre d'achat collée (thème) ---------- */
body.rxf .sticky-product-bar {
	background: #fff;
	border-color: var(--rxf-bord);
	box-shadow: 0 -6px 20px rgba(75, 48, 40, .08);
	padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
}
body.rxf .sticky-product-bar .grid_title .title {
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.3;
	text-transform: none !important;
	color: var(--rxf-doux);
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
body.rxf .sticky-product-bar .grid_price .price,
body.rxf .sticky-product-bar .grid_price .price .amount {
	font-family: Poppins, sans-serif !important;
	font-weight: 700;
	font-size: 18px !important;
	color: var(--rxf-encre);
}
body.rxf #sticky-product-bar form.cart .add_to_cart_button { min-height: 46px; font-size: 15px !important; padding: 10px 16px !important; }
/* Téléphone et tablette : le thème réduit le bouton à une pastille ronde sans texte. On remet la
   barre de la maquette : nom et prix à gauche, bouton en toutes lettres à droite. */
@media (max-width: 1199px) {
	body.rxf #sticky-product-bar { padding-top: 10px; }
	body.rxf #sticky-product-bar .grid {
		display: grid !important;
		grid-template-columns: minmax(0, 40%) minmax(0, 1fr) !important;
		grid-template-areas: "titre action" "prix action";
		column-gap: 12px !important;
		row-gap: 0 !important;
		align-items: center;
	}
	body.rxf #sticky-product-bar .grid_title { grid-area: titre !important; min-width: 0; }
	body.rxf #sticky-product-bar .grid_price { grid-area: prix !important; min-width: 0; }
	body.rxf #sticky-product-bar .grid_action { grid-area: action !important; min-width: 0; }
	body.rxf #sticky-product-bar .grid_title .title { -webkit-line-clamp: 1; }
	body.rxf #sticky-product-bar form.cart .add_to_cart_button { width: 100% !important; height: auto !important; min-height: 46px !important; max-height: 52px; aspect-ratio: auto !important; border-radius: 99px !important; }
	body.rxf #sticky-product-bar form.cart .add_to_cart_button .btn_title { display: inline !important; }
}
/* Roxxie (pastille DaleVoz, posée à 20 px du bas) remonte au-dessus de la barre quand elle s'affiche. */
body.rxf .dv-sheet { transition: bottom .25s ease; }
@media (max-width: 1199px) {
	body.rxf.rxf-barre .dv-sheet { bottom: calc(var(--rxf-barre-h, 72px) + 12px) !important; }
}
body.rxf .sticky-product-bar form.cart .custom-quantity,
body.rxf .sticky-product-bar form.cart .quantity { display: none !important; }
/* « Ajouter au panier » sur une seule ligne, à toutes les largeurs. */
body.rxf #sticky-product-bar form.cart .add_to_cart_button .btn_title { white-space: nowrap; }
@media (max-width: 480px) {
	body.rxf #sticky-product-bar form.cart .add_to_cart_button { gap: 8px; padding: 10px 12px !important; font-size: 14px !important; }
}
@media (min-width: 1200px) {
	body.rxf .sticky-product-bar { box-shadow: 0 6px 20px rgba(75, 48, 40, .08); padding-bottom: 10px; }
	/* Le thème garde son bouton rond (aspect-ratio 1) : élargi à 100 % de sa colonne, il devenait un disque
	   de 265 px qui faisait de la barre une bande énorme (vu par Coq en 1863 px, 17/10/2026). */
	body.rxf #sticky-product-bar .grid_action { display: flex !important; justify-content: flex-end; }
	body.rxf #sticky-product-bar form.cart { width: auto !important; }
	body.rxf #sticky-product-bar form.cart .add_to_cart_button { width: auto !important; height: auto !important; aspect-ratio: auto !important; min-height: 46px !important; padding: 10px 26px !important; }
	body.rxf #sticky-product-bar form.cart .add_to_cart_button .btn_title { display: inline !important; }
}

/* ---------- Retours de Coq du 17/10/2026 (fiche d'été) : place perdue en bas de page ---------- */
/* « Que trouveras-tu dans ce e-book ? » : le titre au-dessus, le texte dessous. Le module le range dans la
   colonne des questions fréquentes, à côté de la carte d'achat : seul en pleine page, limité à 860 px, il
   laissait un tiers droit vide et ses flèches au milieu de l'écran (vu par Coq, 17/10/2026, soir). */
body.rxf .product-blocks .block-faq-2-roxane { padding: 0 !important; background: none !important; }
body.rxf .product-blocks .block-faq-2-roxane .grid { display: block !important; }
body.rxf .product-blocks .block-faq-2-roxane .grid_title { margin: 0 0 16px !important; padding: 0 !important; }
body.rxf .product-blocks .block-faq-2-roxane .grid_content { max-width: 860px; margin: 0 !important; padding: 0 !important; }
body.rxf .product-blocks .rxf-fin__faq .block-faq-2-roxane .grid_content { max-width: none; }
body.rxf .product-blocks .rxf-fin__faq > section ~ section { margin-top: 48px !important; }
body.rxf .rxf-fin__faq .accordion-item:last-child { margin-bottom: 0 !important; }
/* FAQ à côté de la carte d'achat : plus d'aplat ni de titre géant centré, des questions en cartes. */
body.rxf .rxf-fin__faq .block-faq-roxane { background: none !important; }
body.rxf .rxf-fin__faq .block-faq-roxane .grid { display: block !important; }
body.rxf .rxf-fin__faq .block-faq-roxane .grid_title { margin: 0 0 16px !important; text-align: left !important; }
body.rxf .rxf-fin__faq .block-faq-roxane .title-section,
body.rxf .product-blocks .block-faq-2-roxane .title-section { margin: 0 !important; text-align: left !important; font-size: 26px !important; line-height: 1.2 !important; font-family: Jomolhari, Georgia, serif !important; text-transform: none !important; }
body.rxf .rxf-fin__faq .block-faq-roxane .grid_content { margin: 0 !important; padding: 0 !important; }
body.rxf .rxf-fin__faq .accordion-item { margin: 0 0 10px !important; padding: 2px 18px !important; border: 0 !important; border-radius: 16px; background: #fff; }
body.rxf .rxf-fin__faq .accordion-item_btn,
body.rxf .product-blocks .block-faq-2-roxane .accordion-item_btn { font-family: Poppins, sans-serif !important; font-size: 16px !important; font-weight: 600 !important; line-height: 1.4 !important; color: var(--rxf-encre) !important; text-transform: none !important; letter-spacing: 0 !important; }
body.rxf .rxf-fin__faq .accordion-item_content,
body.rxf .rxf-fin__faq .accordion-item_content p { font-size: 15px !important; line-height: 1.6 !important; color: var(--rxf-texte) !important; }
@media (min-width: 1024px) {
	body.rxf .rxf-fin__faq .block-faq-roxane .title-section,
	body.rxf .product-blocks .block-faq-2-roxane .title-section { font-size: 34px !important; }
}

/* Les autres ebooks (à la place du carrousel du thème) */
.rxf-autres__liste { list-style: none; display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; margin: 20px 0 0 !important; padding: 0 !important; }
.rxf-autre { margin: 0; min-width: 0; }
.rxf-autre::before { display: none !important; }
.rxf-autre__lien { display: flex; flex-direction: column; height: 100%; overflow: hidden; border-radius: 20px; background: #fff; box-shadow: 0 6px 20px rgba(75, 48, 40, .08); color: inherit !important; text-decoration: none !important; }
.rxf-autre__lien:hover { box-shadow: 0 10px 28px rgba(75, 48, 40, .14); }
.rxf-autre__lien:focus-visible { outline: 2px solid var(--rxf-brun); outline-offset: 3px; }
.rxf-autre__image { display: block; width: 100% !important; height: auto !important; max-width: none !important; aspect-ratio: 16 / 9; object-fit: cover; }
.rxf-autre__corps { display: flex; flex-direction: column; flex: 1; gap: 6px; padding: 16px 18px 18px; }
.rxf-autre__titre { font-family: Jomolhari, Georgia, serif; font-size: 21px; line-height: 1.2; color: var(--rxf-encre); }
.rxf-autre__texte { font-size: 14px; line-height: 1.45; color: var(--rxf-texte); }
.rxf-autre__prix { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 8px; font-weight: 700; font-size: 18px; color: var(--rxf-encre); }
.rxf-autre__prix .amount, .rxf-autre__prix bdi { font-family: Poppins, sans-serif !important; color: var(--rxf-encre) !important; }
.rxf-autre__voir { font-size: 14px; font-weight: 600; color: var(--rxf-brun); text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 768px) {
	.rxf-autres__liste { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 26px !important; }
}

/* Pages du guide : des formats mêlés (portable en paysage, téléphone en portrait) faisaient une rangée en
   escalier (vu par Coq, 17/10/2026). Cadres carrés identiques, image recadrée au centre. */
.rxf-feuille img { aspect-ratio: 1 / 1; object-fit: cover; object-position: center; }

/* ---------- Un seul rythme vertical entre les sections (retours de Coq du 17/10/2026, soir) ----------
   Les blocs du thème gardaient leurs marges de 100 px et les nôtres 40 à 56 px : d'une section à l'autre,
   l'écart visible allait de 44 à 249 px (vide de ~280 px avant « Les autres ebooks »). Chaque section
   commence désormais à la même distance de la précédente ; le bandeau blanc des rayons garde son air. */
body.rxf { --rxf-rythme: 48px; --rxf-bande: 40px; }
@media (min-width: 768px) { body.rxf { --rxf-rythme: 64px; --rxf-bande: 48px; } }
@media (min-width: 1024px) { body.rxf { --rxf-rythme: 80px; --rxf-bande: 56px; } }
body.rxf #mainWoo .product-blocks > section { margin-top: 0 !important; margin-bottom: 0 !important; padding-top: var(--rxf-rythme) !important; padding-bottom: 0 !important; }
body.rxf #mainWoo .product-blocks > .rxf-rayons { margin-top: var(--rxf-rythme) !important; padding: var(--rxf-bande) 0 !important; }
body.rxf #mainWoo .product-blocks { padding-bottom: var(--rxf-rythme) !important; }

/* Tablette et grand téléphone : la carte d'achat de fin prend toute la largeur ; la couverture en 16:9
   y faisait ~420 px de haut. Image à gauche, achat à droite (vu en 768 px, 17/10/2026). */
@media (min-width: 600px) and (max-width: 1023px) {
	body.rxf .rxf-carte { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 24px; align-items: center; }
	body.rxf .rxf-carte > * { grid-column: 2; }
	body.rxf .rxf-carte > .rxf-carte__image { grid-column: 1; grid-row: 1 / span 5; }
}

/* Tablette : trois colonnes de sessions étroites, la durée en 34 px passait sur deux lignes. */
@media (min-width: 768px) and (max-width: 1023px) {
	body.rxf .rxf-session { padding: 20px; }
	body.rxf .rxf-session__duree { font-size: 26px; }
}

/* Haut de fiche : la colonne d'achat du thème est une grille à 50 px d'écart entre lignes, et la seconde
   ligne est l'emplacement des messages PayPal, vide (0 px) : 50 px de vide sous la carte d'achat dès que
   cette colonne est la plus haute (1024 et 768 px). L'écart ne revient que si PayPal y écrit. */
body.rxf #mainWoo .single-product-details_content .summary { row-gap: 0 !important; }
body.rxf #mainWoo .single-product-details_content .summary > .ppcp-messages:not(:empty) { margin-top: 14px; }
