/*
Theme Name:   Flamme & Bois
Description:  Thème enfant Storefront « Nordique givré » pour boutique de bois de chauffage, granulés et bois densifié.
Template:     storefront
Version:      2.17.0
Text Domain:  flamme-bois
Requires at least: 6.0
*/

/* Couleurs : modifiables dans Apparence > Personnaliser > Flamme & Bois (surcharge de --fb-accent et --fb-chaud) */
:root {
	--fb-accent: #2c3e50;      /* bleu ardoise : boutons, en-têtes de blocs */
	--fb-chaud: #e8873f;       /* orangé : touches décoratives, bouton secondaire */
	--fb-chaud-texte: #a9561c; /* orangé foncé : prix (lisible sur blanc) */
	--fb-encre: #16222e;
	--fb-fond: #eef1f4;
	--fb-surface: #ffffff;
	--fb-doux: #e3e8ed;
	--fb-trait: #d5dde5;
	--fb-gris: #5b6b7a;
	--fb-gris-clair: #c3cfda;
	--fb-rayon: 24px;
	--fb-courbe: cubic-bezier(.2, .7, .2, 1);
	--fb-police: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* =========================================================================
 * Base
 * ====================================================================== */
body {
	background:
		url("assets/illustrations/cernes.svg") right -300px top 760px / 900px 900px no-repeat,
		url("assets/illustrations/cernes.svg") left -340px top 1500px / 700px 700px no-repeat,
		var(--fb-fond);
	color: var(--fb-encre);
	font-family: var(--fb-police);
	-webkit-font-smoothing: antialiased;
}
body, button, input, select, textarea { font-family: var(--fb-police); }
h1, h2, h3, h4, h5, h6, .site-title, .product_title {
	font-family: var(--fb-police);
	color: var(--fb-encre);
	font-weight: 800;
	letter-spacing: -.03em;
}
a { color: var(--fb-accent); }
a:hover, a:focus { color: var(--fb-encre); }
.col-full { max-width: 1320px; margin-left: auto; margin-right: auto; padding-left: 32px; padding-right: 32px; box-sizing: border-box; }
.site-content { position: relative; }

/* ---------- Contour de focus : visible au clavier seulement ---------- */
a:focus, button:focus, input:focus, select:focus, textarea:focus, .button:focus,
[tabindex]:focus, summary:focus { outline: none; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, .button:focus-visible, [tabindex]:focus-visible, summary:focus-visible {
	outline: 3px solid rgba(232, 135, 63, .6) !important;
	outline-offset: 2px;
}
input:focus, select:focus, textarea:focus, .input-text:focus {
	border-color: var(--fb-accent) !important;
	box-shadow: 0 0 0 3px rgba(44, 62, 80, .12) !important;
}

/* =========================================================================
 * Boutons — uniquement les vrais boutons d'action (pas les − / + ni la corbeille)
 * ====================================================================== */
.button, a.button, button.button, input[type="submit"], input[type="button"].button,
.added_to_cart, .wp-block-button__link,
.wc-block-components-button:not(.is-link):not(.wc-block-components-quantity-selector__button),
.single_add_to_cart_button, #place_order, .checkout-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
	background: var(--fb-accent) !important;
	border: 0 !important;
	color: #fff !important;
	border-radius: 999px !important;
	font-weight: 700;
	line-height: 1.2;
	padding: .9em 1.6em;
	text-decoration: none !important;
	box-shadow: none;
	transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.button:hover, a.button:hover, button.button:hover, input[type="submit"]:hover,
.wc-block-components-button:not(.is-link):not(.wc-block-components-quantity-selector__button):hover {
	filter: brightness(1.15);
	color: #fff !important;
}
.single_add_to_cart_button, #place_order, .checkout-button { background: var(--fb-encre) !important; }
.fb-bouton-clair, a.fb-bouton-clair, .button.fb-bouton-clair { background: var(--fb-surface) !important; color: var(--fb-encre) !important; }
.fb-bouton-chaud, a.fb-bouton-chaud, .button.fb-bouton-chaud, button.fb-bouton-chaud, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
	background: var(--fb-chaud) !important;
	color: var(--fb-encre) !important;
	font-weight: 800 !important;
}
.fb-bouton-clair:hover, .fb-bouton-chaud:hover, a.fb-bouton-chaud:hover, a.fb-bouton-clair:hover { color: var(--fb-encre) !important; }

/* Boutons « secondaires » que le thème parent stylise : on les neutralise */
.site-search button, .widget_product_search button[type="submit"],
.menu-toggle { background: transparent !important; }

/* ---------- Champs ---------- */
input[type="text"], input[type="email"], input[type="tel"], input[type="search"],
input[type="number"], input[type="password"], select, textarea, .input-text {
	background: var(--fb-surface);
	border: 1px solid var(--fb-trait);
	border-radius: 14px;
	box-shadow: none;
	color: var(--fb-encre);
	padding: .8em 1em;
	transition: border-color .2s ease, box-shadow .2s ease;
}

/* ---------- Bandeau optionnel ---------- */
.fb-bandeau {
	background: var(--fb-encre);
	color: #dfe5eb;
	text-align: center;
	font-size: .875rem;
	padding: .55rem 1rem;
}
.fb-bandeau strong { color: var(--fb-chaud); }

/* =========================================================================
 * En-tête : logo · recherche · compte · panier, puis le menu
 * ====================================================================== */
.site-header {
	position: relative;
	z-index: 50;
	background: rgba(255, 255, 255, .94) !important;
	border-bottom: 0;
	box-shadow: 0 1px 0 var(--fb-doux);
	padding-top: 1em;
	padding-bottom: 0;
	margin-bottom: 0;
	transition: box-shadow .3s ease;
}
.site-header.fb-defile { box-shadow: 0 10px 30px rgba(22, 34, 46, .08); }
.site-header .col-full { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; }
/* Les « clearfix » de Storefront deviendraient des éléments vides dans la ligne flex (décalage du logo) */
.site-header .col-full::before, .site-header .col-full::after { display: none !important; }
.site-header .site-branding { width: auto !important; margin: 0 !important; float: none !important; }
.site-header .site-title, .site-header .site-title a {
	font-size: 1.35rem;
	font-weight: 800;
	color: var(--fb-encre);
	letter-spacing: -.02em;
}
.site-header .site-description { display: none; }
.site-branding .custom-logo-link img { max-height: 48px; width: auto; }
.site-header .secondary-navigation { display: none; }
.site-header .site-search {
	flex: 1 1 300px;
	max-width: 520px;
	width: auto !important;
	float: none !important;
	margin: 0 !important;
}
.site-search .widget_product_search form input[type="search"],
.site-search .widget_product_search form input.search-field {
	background: var(--fb-fond);
	border: 0;
	border-radius: 999px;
	padding: 0 1.2em 0 2.8em;
	height: 46px;
}
.site-search .widget_product_search form::before { left: 1.1em; top: 50%; transform: translateY(-50%); color: var(--fb-gris); }

.fb-entete-droite { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.fb-compte {
	display: inline-flex;
	align-items: center;
	gap: .5em;
	font-weight: 700;
	color: var(--fb-encre) !important;
	text-decoration: none;
	padding: .7em .9em;
	border-radius: 999px;
	transition: background .2s ease;
}
.fb-compte:hover { background: var(--fb-fond); }
.site-header .site-header-cart { width: auto !important; float: none !important; margin: 0 !important; }
.site-header-cart .cart-contents {
	display: flex !important;
	align-items: center;
	gap: 12px;
	height: 46px;
	padding: 0 8px 0 18px !important;
	border-radius: 999px;
	background: var(--fb-accent);
	color: #fff !important;
	font-weight: 700;
	text-decoration: none;
	transition: filter .2s ease, transform .2s ease;
}
.site-header-cart .cart-contents:hover { filter: brightness(1.15); }
.site-header-cart .cart-contents::after { display: none; }
.site-header-cart .cart-contents .amount { color: #fff; }
.site-header-cart .cart-contents .fb-pastille-panier {
	min-width: 30px;
	height: 30px;
	padding: 0 6px;
	box-sizing: border-box;
	border-radius: 999px;
	background: var(--fb-chaud);
	color: var(--fb-encre);
	font-size: .875rem;
	font-weight: 800;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.site-header-cart .widget_shopping_cart { border-radius: 0 0 18px 18px; background: var(--fb-surface); box-shadow: 0 20px 40px rgba(22, 34, 46, .12); }

.storefront-primary-navigation { background: transparent; clear: both; }
.site-header .storefront-primary-navigation .col-full { display: block; padding-top: 0; padding-bottom: 0; }
.site-header .site-branding, .site-header .site-search, .site-header .fb-entete-droite { margin-bottom: 0 !important; }
.main-navigation ul.menu, .main-navigation ul.nav-menu { margin-left: 0 !important; }
.main-navigation ul.menu > li:last-child > a { padding-right: 0; }
.site-header .site-search .widget { margin: 0 !important; }
.main-navigation { width: 100% !important; margin: 0 !important; float: none !important; }
.main-navigation ul.menu > li > a, .main-navigation ul.nav-menu > li > a {
	position: relative;
	color: #4a5866;
	font-weight: 600;
	padding: 1em 1.8em 1.05em 0;
}
.main-navigation ul.menu > li.current-menu-item > a,
.main-navigation ul.menu > li.current-menu-parent > a,
.main-navigation ul.menu > li > a:hover { color: var(--fb-encre); }
.main-navigation ul.menu > li > a::after {
	content: "";
	position: absolute;
	left: 0; right: 1.8em; bottom: 0;
	height: 2px;
	background: var(--fb-chaud);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .3s ease;
}
.main-navigation ul.menu > li > a:hover::after,
.main-navigation ul.menu > li.current-menu-item > a::after,
.main-navigation ul.menu > li.current-menu-parent > a::after { transform: scaleX(1); }
.main-navigation ul.menu > li.fb-mis-en-avant > a { color: var(--fb-chaud-texte); font-weight: 700; }
.main-navigation ul.sub-menu { background: var(--fb-surface); border-radius: 0 0 16px 16px; }

/* ---------- Fil d'Ariane (pages produit) ---------- */
.storefront-breadcrumb { margin: 0 0 1.5em; padding: 1.4em 0 0; font-size: .875rem; }
.storefront-breadcrumb, .storefront-breadcrumb a { color: var(--fb-gris); text-decoration: none; }

/* =========================================================================
 * Bandeau immersif (catégories, boutique) — neige, maison, lueur
 * ====================================================================== */
.fb-banniere {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 78% 72%, rgba(232, 135, 63, .35), rgba(232, 135, 63, 0) 55%),
		linear-gradient(180deg, var(--fb-encre), var(--fb-accent));
	color: #fff;
	margin-bottom: 0;
}
.fb-banniere .col-full {
	position: relative;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
	align-items: center;
	padding-top: 40px;
	padding-bottom: 120px;
}
.fb-banniere__texte { flex: 1 1 520px; min-width: 0; }
.fb-banniere .woocommerce-breadcrumb { margin: 0 0 22px; font-size: .875rem; color: #a9b8c6; }
.fb-banniere .woocommerce-breadcrumb a { color: var(--fb-gris-clair); text-decoration: none; }
.fb-banniere h1 {
	margin: 0 0 16px;
	color: #fff;
	font-size: clamp(2.4rem, 5vw, 4rem);
	line-height: 1;
	letter-spacing: -.04em;
}
.fb-banniere__intro { margin: 0 0 26px; font-size: 1.15rem; line-height: 1.6; color: var(--fb-gris-clair); max-width: 34em; }
.fb-banniere__intro p { margin: 0; }
.fb-puces { display: flex; flex-wrap: wrap; gap: 10px; }
.fb-puces span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .1);
	font-size: .875rem;
	font-weight: 700;
}
.fb-puces span::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: var(--fb-chaud); }
.fb-banniere__scene { flex: 0 1 440px; max-width: 100%; height: auto; }
.fb-banniere__vague { position: absolute; left: 0; bottom: -1px; width: 100%; height: 70px; display: block; z-index: 1; }
.fb-flocon {
	position: absolute;
	top: 0;
	z-index: 1;
	width: 6px;
	height: 6px;
	border-radius: 999px;
	background: #fff;
	opacity: .75;
	animation: fb-neige 11s linear infinite;
}
.fb-flocon:nth-child(2n) { width: 4px; height: 4px; }
.fb-flocon:nth-child(1) { left: 6%;  animation-duration: 9s;  animation-delay: -2s; }
.fb-flocon:nth-child(2) { left: 14%; animation-duration: 12s; animation-delay: -7s; }
.fb-flocon:nth-child(3) { left: 23%; animation-duration: 10s; animation-delay: -4s; }
.fb-flocon:nth-child(4) { left: 34%; animation-duration: 14s; animation-delay: -1s; }
.fb-flocon:nth-child(5) { left: 46%; animation-duration: 11s; animation-delay: -9s; }
.fb-flocon:nth-child(6) { left: 57%; animation-duration: 13s; animation-delay: -5s; }
.fb-flocon:nth-child(7) { left: 68%; animation-duration: 9s;  animation-delay: -6s; }
.fb-flocon:nth-child(8) { left: 79%; animation-duration: 15s; animation-delay: -3s; }
.fb-flocon:nth-child(9) { left: 88%; animation-duration: 10s; animation-delay: -8s; }
.fb-flocon:nth-child(10){ left: 95%; animation-duration: 12s; animation-delay: -10s; }
@keyframes fb-neige { from { transform: translateY(-40px); } to { transform: translateY(520px); } }
.fb-fumee { animation: fb-fumee 6s ease-in infinite; transform-box: fill-box; transform-origin: center; }
.fb-fumee:nth-of-type(2) { animation-delay: 2s; }
.fb-fumee:nth-of-type(3) { animation-delay: 4s; }
@keyframes fb-fumee { 0% { opacity: 0; transform: translate(0, 0) scale(.6); } 25% { opacity: .85; } 100% { opacity: 0; transform: translate(30px, -150px) scale(1.9); } }
.fb-lueur { animation: fb-lueur 2.2s ease-in-out infinite alternate; }
@keyframes fb-lueur { from { opacity: .7; } to { opacity: 1; } }

/* Le titre et la description par défaut sont repris dans le bandeau */
.fb-avec-banniere .woocommerce-products-header { display: none; }
.fb-avec-banniere .site-main { padding-top: 0; }
.fb-avec-banniere .content-area { margin-top: -40px; position: relative; z-index: 3; }

/* =========================================================================
 * Barre de tri + filtres par appareil
 * ====================================================================== */
.storefront-sorting {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	background: var(--fb-surface);
	border-radius: 999px;
	padding: 10px 10px 10px 26px;
	margin-bottom: 36px;
	box-shadow: 0 14px 34px rgba(22, 34, 46, .08);
	font-size: .9rem;
}
.storefront-sorting .woocommerce-result-count { order: 1; margin: 0 6px 0 0; float: none; padding: 0; font-weight: 700; color: var(--fb-encre); }
.storefront-sorting .fb-filtres { order: 2; }
.storefront-sorting .woocommerce-ordering { order: 3; margin: 0 0 0 auto; float: none; }
.storefront-sorting .woocommerce-pagination { order: 4; float: none; margin: 0; padding: 0; border: 0; }
.storefront-sorting .woocommerce-ordering select {
	height: 42px;
	border: 0;
	border-radius: 999px;
	background-color: var(--fb-fond);
	padding: 0 2.4em 0 1.2em;
	font-weight: 700;
	color: var(--fb-encre);
}
.fb-filtres { display: flex; flex-wrap: wrap; gap: 8px; }
.fb-filtres a {
	padding: 9px 16px;
	border-radius: 999px;
	background: var(--fb-fond);
	color: var(--fb-encre);
	text-decoration: none;
	font-weight: 600;
	transition: background .2s ease, color .2s ease;
}
.fb-filtres a:hover { background: var(--fb-doux); }
.fb-filtres a.fb-actif { background: var(--fb-accent); color: #fff; font-weight: 700; }
.storefront-sorting:empty { display: none; }

/* =========================================================================
 * Grilles de produits
 * ====================================================================== */
ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin: 0 0 2em !important;
	padding: 0 !important;
	list-style: none !important;
}
ul.products::before, ul.products::after { display: none !important; }
ul.products li.product {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	clear: none !important;
	background: var(--fb-surface);
	border-radius: 28px;
	padding: 12px 12px 22px;
	text-align: left;
	display: flex;
	flex-direction: column;
	box-shadow: 0 1px 0 var(--fb-doux);
}
ul.products li.product .woocommerce-LoopProduct-link { display: block; text-decoration: none; color: var(--fb-encre); }
.fb-vignette {
	position: relative;
	display: block;
	border-radius: 20px;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	background: #dfe5eb;
	margin-bottom: 18px;
}
.fb-vignette img { width: 100%; height: 100% !important; object-fit: cover; display: block; margin: 0 !important; border-radius: 0 !important; }
.fb-vignette .fb-badge {
	position: absolute;
	left: 14px;
	top: 14px;
	padding: 7px 13px;
	border-radius: 999px;
	background: var(--fb-encre);
	color: #fff;
	font-size: .8rem;
	font-weight: 700;
}
ul.products li.product .woocommerce-loop-product__title {
	font-size: 1.3rem !important;
	line-height: 1.25;
	font-weight: 800;
	letter-spacing: -.02em;
	padding: 0 10px !important;
	margin: 0 0 8px !important;
}
.fb-extrait { margin: 0 10px 12px; font-size: .95rem; line-height: 1.5; color: var(--fb-gris); }
.fb-carte-bas {
	margin-top: auto;
	padding: 10px 10px 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
ul.products li.product .price { margin: 0 !important; color: var(--fb-chaud-texte); font-size: 1.35rem; font-weight: 800; letter-spacing: -.02em; }
ul.products li.product .price del { color: var(--fb-gris); font-size: .8em; font-weight: 500; }
ul.products li.product .button { margin: 0 !important; padding: .85em 1.3em; }
ul.products li.product .button::after {
	content: "";
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
}
ul.products li.product .button.loading { opacity: .7; }
ul.products li.product .added_to_cart { margin: 8px 10px 0; background: transparent !important; color: var(--fb-accent) !important; padding: 0; }
.fb-unite { font-size: .65em; font-weight: 600; color: var(--fb-gris); }
.onsale { background: var(--fb-chaud); color: var(--fb-encre); border: 0; border-radius: 999px; font-weight: 700; }

/* Carte « Le conseil du dépôt » dans la grille */
ul.products li.fb-conseil {
	background: var(--fb-encre);
	color: #fff;
	padding: 34px;
	gap: 16px;
	position: relative;
	overflow: hidden;
	list-style: none;
}
.fb-conseil::after {
	content: "";
	position: absolute;
	right: -70px;
	bottom: -70px;
	width: 260px;
	height: 260px;
	border-radius: 999px;
	box-shadow: 0 0 0 2px rgba(232, 135, 63, .25), inset 0 0 0 30px var(--fb-encre), inset 0 0 0 32px rgba(232, 135, 63, .25), inset 0 0 0 60px var(--fb-encre), inset 0 0 0 62px rgba(232, 135, 63, .25);
	pointer-events: none;
}
.fb-conseil > * { position: relative; z-index: 1; }
.fb-conseil__sur { margin: 0; font-size: .8rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--fb-chaud); }
.fb-conseil h2 { margin: 0; color: #fff; font-size: 1.85rem; line-height: 1.1; }
.fb-conseil p { margin: 0; color: var(--fb-gris-clair); line-height: 1.6; }
.fb-conseil ul { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.fb-conseil li { display: flex; justify-content: space-between; gap: 12px; padding: 12px 16px; border-radius: 14px; background: rgba(255, 255, 255, .07); }
.fb-conseil li span:last-child { color: var(--fb-gris-clair); text-align: right; }
.fb-conseil .button { margin-top: auto !important; align-self: flex-start; position: relative; z-index: 1; }

/* Bandeau de réassurance sous la grille */
.fb-reassurance {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin: 56px 0 0;
}
.fb-reassurance > div {
	background: rgba(255, 255, 255, .75);
	border-radius: 22px;
	padding: 22px;
	display: flex;
	gap: 14px;
	align-items: center;
	font-size: .95rem;
	line-height: 1.4;
}
.fb-reassurance strong { display: block; }
.fb-reassurance small { color: var(--fb-gris); font-size: .9rem; }
.fb-reassurance__icone {
	width: 46px;
	height: 46px;
	flex: none;
	border-radius: 14px;
	background: var(--fb-accent);
	color: var(--fb-chaud);
	display: flex;
	align-items: center;
	justify-content: center;
}

/* =========================================================================
 * Héros d'accueil
 * ====================================================================== */
.fb-hero .col-full {
	display: flex;
	flex-wrap: wrap;
	gap: 48px;
	align-items: center;
	padding-top: 56px;
	padding-bottom: 72px;
}
.fb-hero__texte { flex: 1 1 480px; min-width: 0; }
.fb-hero h1 {
	font-size: clamp(2.6rem, 5vw, 4.5rem);
	line-height: 1.02;
	letter-spacing: -.04em;
	margin: 0 0 .35em;
}
.fb-hero h1 span { color: var(--fb-chaud-texte); }
.fb-hero__intro { font-size: 1.2rem; line-height: 1.6; color: #4a5866; max-width: 32em; margin: 0 0 2em; }
.fb-hero__boutons { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 2.2em; }
.fb-hero__boutons .button { font-size: 1.05rem; padding: 1.05em 1.9em; }
.fb-chiffres { display: inline-flex; flex-wrap: wrap; background: var(--fb-surface); border-radius: 20px; overflow: hidden; }
.fb-chiffres div { padding: 16px 22px; }
.fb-chiffres div + div { border-left: 1px solid var(--fb-doux); }
.fb-chiffres strong { display: block; font-size: 1.35rem; font-weight: 800; }
.fb-chiffres span { font-size: .82rem; color: var(--fb-gris); }
.fb-hero__visuels {
	flex: 1 1 520px;
	min-width: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-template-rows: 272px 272px;
	gap: 16px;
}
.fb-visuel {
	border-radius: 28px;
	background: #2c3e50 center / cover no-repeat;
	overflow: hidden;
}
.fb-visuel + .fb-visuel { background-color: var(--fb-doux); }
.fb-visuel--grand { grid-row: span 2; }
.fb-vedette {
	border-radius: 28px;
	background: var(--fb-accent);
	color: #fff;
	padding: 26px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	text-decoration: none;
}
.fb-vedette:hover { color: #fff; filter: brightness(1.1); }
.fb-vedette small { color: var(--fb-gris-clair); font-size: .875rem; }
.fb-vedette strong { display: block; font-size: 1.4rem; font-weight: 800; color: #fff; margin-bottom: .2em; }
.fb-vedette .amount, .fb-vedette .fb-unite { color: var(--fb-chaud); font-weight: 700; font-size: 1.1rem; }

/* ---------- Sections d'accueil ---------- */
.page-template-template-homepage .site-main { padding-top: 0; }
.fb-section { margin: 0 0 88px; }
.fb-section__tete { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 28px; }
.fb-section h2 { font-size: clamp(2rem, 3.4vw, 2.75rem); line-height: 1.08; margin: 0; }
.fb-section__sous-titre { margin: .5em 0 0; color: #4a5866; font-size: 1.05rem; }
.fb-lien-fort { font-weight: 700; text-decoration: none; }
.fb-bloc-blanc { background: var(--fb-surface); border-radius: 36px; padding: 56px; }

/* ---------- Cartes « Quel est votre appareil ? » : scènes illustrées ---------- */
.fb-apps { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; }
.fb-app {
	position: relative; display: block; min-height: 460px; overflow: hidden; isolation: isolate;
	border-radius: 28px; background: #10161c; color: #fff !important; text-decoration: none !important;
	transition: transform .45s cubic-bezier(.2, .8, .2, 1), box-shadow .45s ease;
}
.fb-app__scene { position: absolute; inset: 0 0 96px; z-index: -2; -webkit-mask-image: linear-gradient(#000 82%, transparent); mask-image: linear-gradient(#000 82%, transparent); }
.fb-apps--clair .fb-app__scene { -webkit-mask-image: linear-gradient(90deg, transparent, #000 22%); mask-image: linear-gradient(90deg, transparent, #000 22%); }
.fb-app__scene svg, .fb-app__scene img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform 1s cubic-bezier(.2, .8, .2, 1), filter .5s ease; }
.fb-app::after { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: linear-gradient(180deg, rgba(10, 15, 20, 0) 50%, rgba(10, 15, 20, .6) 68%, rgba(10, 15, 20, .94) 84%); }
.fb-app__num {
	position: absolute; top: 18px; left: 18px; padding: 6px 12px; border-radius: 999px;
	background: rgba(255, 255, 255, .16); border: 1px solid rgba(255, 255, 255, .28);
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
	font-size: .78rem; font-weight: 700; letter-spacing: .08em;
}
.fb-app__contenu { position: absolute; left: 0; right: 0; bottom: 0; padding: 22px; display: flex; flex-direction: column; gap: 6px; }
.fb-app__puces { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 6px; }
.fb-app__puce { font-size: .74rem; font-weight: 700; padding: 4px 10px; border-radius: 999px; background: rgba(255, 255, 255, .16); border: 1px solid rgba(255, 255, 255, .22); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.fb-app strong { display: block; font-size: 1.5rem; font-weight: 800; line-height: 1.1; }
.fb-app__desc { color: rgba(255, 255, 255, .8); font-size: .95rem; }
.fb-app__cta { margin-top: 12px; align-self: flex-start; white-space: nowrap; display: inline-flex; align-items: center; gap: 10px; font-weight: 700; }
.fb-app__cta i {
	width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
	background: #fff; color: #16222e; font-style: normal; font-size: 1.1rem;
	transition: transform .35s cubic-bezier(.3, 1.6, .5, 1), background .25s ease, color .25s ease;
}
.fb-app:hover, .fb-app:focus-visible { transform: translateY(-6px); box-shadow: 0 22px 44px rgba(22, 34, 46, .28); }
.fb-app:hover .fb-app__scene svg, .fb-app:hover .fb-app__scene img { transform: scale(1.06); filter: saturate(1.15) brightness(1.06); }
.fb-app:hover .fb-app__cta i { transform: translateX(6px); background: #e8873f; color: #fff; }
.fb-app:hover .s-lueur { opacity: 1; }

/* Palettes « soirée d'hiver » */
.fb-app--poele    { --m1:#34495e; --m2:#1c2a37; --sol:#5a4535; --sol-trait:#4a372a; --tapis:#3b5266; --metal:#121a22; --metal2:#2b3947; --cadre:#e9eef2; --ciel:#152a40; --sapin:#0d1d2c; }
.fb-app--insert   { --m1:#2f5d58; --m2:#173533; --deco:#e7e0d4; --deco2:#d3c9b8; --niche:#3a2a20; --sol:#5a4535; --sol-trait:#4a372a; --tapis:#24494a; --metal:#121a22; --metal2:#2b3947; --cadre:#9a6a3e; --ciel:#cfe0ea; --sapin:#2f5d58; }
.fb-app--cheminee { --m1:#6b3a2e; --m2:#3a1d17; --deco:#9b4f3c; --joint:#6e3326; --deco2:#c9bba8; --sol:#4a3326; --sol-trait:#3a271c; --tapis:#7a4a2e; --cadre:#d9b98c; --ciel:#2c3e50; --sapin:#16222e; --foyer:#2a1b16; }
.fb-app--granules { --m1:#4a5f8a; --m2:#26324f; --metal:#eef1f4; --metal2:#c3cfda; --sol:#6b5644; --sol-trait:#5a4535; --tapis:#3d4f78; --cadre:#e9eef2; --ciel:#1b2a48; --sapin:#101a30; --sac:#4a7a5c; }

/* Couleurs des scènes */
.fb-app .s-mur1 { stop-color: var(--m1); } .fb-app .s-mur2 { stop-color: var(--m2); }
.fb-app .s-sol { fill: var(--sol); } .fb-app .s-trait { fill: none; stroke: var(--sol-trait); stroke-width: 2; }
.fb-app .s-tapis { fill: var(--tapis); }
.fb-app .s-metal { fill: var(--metal); } .fb-app .s-metal2 { fill: var(--metal2); } .fb-app .s-verre { fill: #160e0a; }
.fb-app .s-cadre { fill: var(--cadre); } .fb-app .s-cadre2 { fill: var(--cadre2, var(--cadre)); }
.fb-app .s-ciel { fill: var(--ciel); } .fb-app .s-lune { fill: #f4efe0; opacity: .9; } .fb-app .s-sapin { fill: var(--sapin); } .fb-app .s-congere { fill: #eef4f9; }
.fb-app .s-neige circle { fill: #fff; opacity: .9; }
.fb-app .s-buches circle { fill: #d9a873; stroke: #8a5a33; stroke-width: 2.5; } .fb-app .s-buches .s-cerne { fill: none; stroke: #b07a48; stroke-width: 1.2; }
.fb-app .s-panier { fill: #6b4a33; } .fb-app .s-panier2 { fill: none; stroke: #4a3222; stroke-width: 3; stroke-linecap: round; }
.fb-app .s-deco { fill: var(--deco); } .fb-app .s-trait2 { fill: none; stroke: var(--deco2); stroke-width: 3; }
.fb-app .s-bois { fill: #9a6a3e; } .fb-app .s-bois2 { fill: var(--deco2); } .fb-app .s-niche { fill: var(--niche); }
.fb-app .s-tige { stroke: #4a3a2e; stroke-width: 1.6; } .fb-app .s-vase { fill: #f4efe6; } .fb-app .s-pot { fill: #c8945f; } .fb-app .s-feuille { fill: #5f8f6a; }
.fb-app .s-joint { fill: none; stroke: var(--joint); stroke-width: 1; } .fb-app .s-foyer { fill: var(--foyer); } .fb-app .s-foyer2 { fill: #140c09; }
.fb-app .s-chenet { fill: none; stroke: #16222e; stroke-width: 3; stroke-linecap: round; } .fb-app .s-bougie { fill: #f4efe0; }
.fb-app .s-ecran { fill: #0f1a24; } .fb-app .s-trait3 { fill: none; stroke: var(--metal2); stroke-width: 3; stroke-linecap: round; }
.fb-app .s-sac { fill: var(--sac); } .fb-app .s-etiquette { fill: #fff; } .fb-app .s-pellets rect { fill: #c8945f; } .fb-app .s-etiq-txt { fill: #16222e; }
.fb-app .s-lueur { opacity: .75; transition: opacity .5s ease; } .fb-app .s-braise { opacity: .7; }

/* Vie des scènes : flammes, braises, lueur, neige */
@media (prefers-reduced-motion: no-preference) {
	.fb-app .s-f { transform-box: fill-box; transform-origin: 50% 100%; animation: fb-flamme-scene 1.5s ease-in-out infinite alternate; }
	.fb-app .s-f2 { animation-duration: 1.05s; animation-delay: -.3s; }
	.fb-app .s-f3 { animation-duration: .75s; animation-delay: -.2s; }
	.fb-app .s-lueur { transform-box: fill-box; transform-origin: center; animation: fb-lueur 2.8s ease-in-out infinite alternate; }
	.fb-app .s-braise { animation: fb-braise 1.2s ease-in-out infinite alternate; }
	.fb-app .s-neige { animation: fb-neige 10s linear infinite; }
	.fb-app .s-neige2 { animation-delay: -5s; }
	.fb-app:hover .s-f { animation-duration: .7s; }
}
@keyframes fb-flamme-scene {
	0% { transform: scale(1, 1) skewX(0); }
	35% { transform: scale(.93, 1.09) skewX(-4deg); }
	70% { transform: scale(1.05, .94) skewX(3deg); }
	100% { transform: scale(.97, 1.12) skewX(-1deg); }
}
@keyframes fb-lueur { from { transform: scale(.94); } to { transform: scale(1.06); } }
@keyframes fb-braise { from { opacity: .45; } to { opacity: .95; } }
@keyframes fb-neige { from { transform: translateY(0); } to { transform: translateY(calc(var(--h) * 2)); } }

@media (max-width: 640px) {
	.fb-apps { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 78%; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; }
	.fb-app { min-height: 400px; scroll-snap-align: start; }
}

/* Variante 2 : cartes claires horizontales */
.fb-apps--clair { grid-template-columns: repeat(2, 1fr); }
.fb-apps--clair .fb-app { min-height: 330px; color: #16222e !important; background: var(--m1); }
.fb-apps--clair .fb-app__scene { left: 42%; top: -20px; bottom: -50px; }
.fb-apps--clair .fb-app::after { background: linear-gradient(90deg, var(--m1) 38%, color-mix(in srgb, var(--m1) 0%, transparent) 62%); }
.fb-apps--clair .fb-app__contenu { top: 0; right: 48%; padding: 28px; justify-content: flex-end; }
.fb-apps--clair .fb-app__num { background: #fff; border-color: transparent; color: #2c3e50; top: 24px; left: 28px; }
.fb-apps--clair .fb-app__puce { background: #fff; border-color: transparent; color: #2c3e50; }
.fb-apps--clair .fb-app strong { font-size: 1.7rem; }
.fb-apps--clair .fb-app__desc { color: #4a5866; }
.fb-apps--clair .fb-app__cta i { background: #2c3e50; color: #fff; }
.fb-apps--clair .fb-app:hover { box-shadow: 0 22px 44px rgba(22, 34, 46, .14); }
.fb-apps--clair .fb-app--poele    { --m1:#e9eff4; --m2:#d3dee8; --sol:#d9c2a6; --sol-trait:#c9ae8f; --tapis:#b9cad8; --metal:#1d2935; --metal2:#3a4a5a; --cadre:#fff; --ciel:#9fb9d0; --sapin:#5d7d96; }
.fb-apps--clair .fb-app--insert   { --m1:#e6f0eb; --m2:#cadfd5; --deco:#f7f4ee; --deco2:#e3ddd2; --niche:#cdb79c; --sol:#d9c2a6; --sol-trait:#c9ae8f; --tapis:#a9c8bb; --metal:#1d2935; --metal2:#3a4a5a; --cadre:#b07a48; --ciel:#bcd3dc; --sapin:#6f9488; }
.fb-apps--clair .fb-app--cheminee { --m1:#f7ebe4; --m2:#efd4c6; --deco:#d98c6f; --joint:#c27358; --deco2:#efe6da; --sol:#dcc3a6; --sol-trait:#ccb091; --tapis:#e8b98a; --cadre:#fff; --ciel:#c9d6e2; --sapin:#8aa0b4; --foyer:#4a2c22; }
.fb-apps--clair .fb-app--granules { --m1:#eaedf7; --m2:#d4daef; --metal:#fff; --metal2:#c3cfda; --sol:#dcc6aa; --sol-trait:#ccb091; --tapis:#b9c3e3; --cadre:#fff; --ciel:#a9b6dc; --sapin:#6c7aa8; --sac:#6f9a7e; }
@media (max-width: 900px) { .fb-apps--clair { grid-template-columns: 1fr; } }
@media (max-width: 640px) {
	.fb-apps--clair { grid-template-columns: none; }
	.fb-apps--clair .fb-app { min-height: 400px; }
	.fb-apps--clair .fb-app__scene { left: 0; top: 0; bottom: 130px; -webkit-mask-image: linear-gradient(#000 80%, transparent); mask-image: linear-gradient(#000 80%, transparent); }
	.fb-apps--clair .fb-app::after { background: linear-gradient(180deg, transparent 45%, var(--m1) 68%); }
	.fb-apps--clair .fb-app__contenu { top: auto; right: 0; padding: 22px; }
}

.fb-centre { justify-content: center; text-align: center; }
.fb-raisons { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; }
.fb-raison {
	position: relative; overflow: hidden; background: var(--fb-surface); border-radius: 26px; padding: 28px 26px 26px;
	box-shadow: 0 1px 0 rgba(22, 34, 46, .04); transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s ease;
}
.fb-raison::after {
	content: ""; position: absolute; right: -40px; top: -40px; width: 140px; height: 140px; border-radius: 50%;
	background: radial-gradient(circle, rgba(232, 135, 63, .14), rgba(232, 135, 63, 0) 70%); transition: transform .5s ease;
}
.fb-raison:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(22, 34, 46, .1); }
.fb-raison:hover::after { transform: scale(1.6); }
.fb-raison__icone {
	width: 54px; height: 54px; border-radius: 18px; display: flex; align-items: center; justify-content: center;
	background: var(--fb-encre); color: var(--fb-chaud); margin-bottom: 18px;
	transition: transform .4s cubic-bezier(.3, 1.6, .5, 1);
}
.fb-raison:hover .fb-raison__icone { transform: rotate(-8deg) scale(1.08); }
.fb-raison__chiffre { display: block; font-size: 1.9rem; font-weight: 800; letter-spacing: -.03em; color: var(--fb-chaud-texte); line-height: 1; margin-bottom: 8px; }
.fb-raison h3 { margin: 0 0 6px; font-size: 1.15rem; font-weight: 800; }
.fb-raison p { margin: 0; color: var(--fb-gris); font-size: .95rem; line-height: 1.55; }
.fb-marques { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 16px; }
.fb-marque { display: flex; align-items: center; justify-content: center; height: 110px; padding: 18px; background: var(--fb-surface); border-radius: 22px; transition: transform .3s ease, box-shadow .3s ease; }
.fb-marque img { max-height: 70px; width: auto; object-fit: contain; filter: grayscale(1); opacity: .75; transition: filter .3s ease, opacity .3s ease; margin: 0 !important; }
.fb-marque:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(22, 34, 46, .1); }
.fb-marque:hover img { filter: none; opacity: 1; }

.fb-produits { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(500px, 100%), 1fr)); gap: 20px; }
.fb-produit {
	background: var(--fb-surface);
	border-radius: var(--fb-rayon);
	padding: 14px;
	display: flex;
	gap: 20px;
	align-items: center;
}
.fb-produit__image { width: 160px; height: 160px; flex: none; border-radius: 18px; overflow: hidden; background: var(--fb-doux); }
.fb-produit__image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fb-produit__corps { flex: 1; min-width: 0; padding-right: 8px; }
.fb-produit__nom { display: block; font-size: 1.15rem; font-weight: 800; line-height: 1.25; color: var(--fb-encre); text-decoration: none; margin-bottom: .3em; }
.fb-produit__resume { font-size: .9rem; color: var(--fb-gris); margin: 0 0 .9em; }
.fb-produit__bas { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; }
.fb-produit .price { font-size: 1.2rem; font-weight: 800; color: var(--fb-chaud-texte); }
.fb-produit .button { padding: .7em 1.3em; font-size: .9rem; }
.fb-pastille {
	display: inline-block;
	font-size: .75rem;
	font-weight: 700;
	padding: .35em .8em;
	border-radius: 999px;
	background: var(--fb-fond);
	color: var(--fb-accent);
	margin-bottom: .5em;
}

.fb-livraison {
	background: var(--fb-accent);
	color: #fff;
	border-radius: 36px;
	padding: 56px;
	display: flex;
	flex-wrap: wrap;
	gap: 48px;
	align-items: center;
}
.fb-livraison h2 { color: #fff; }
.fb-livraison p { color: var(--fb-gris-clair); font-size: 1.05rem; line-height: 1.6; }
.fb-livraison__texte { flex: 1 1 420px; min-width: 0; }
.fb-livraison form { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 1.6em; }
.fb-livraison input[type="text"] { flex: 1 1 220px; height: 56px; border: 0; border-radius: 999px; padding: 0 22px; background: #fff; font-size: 1rem; }
.fb-livraison button { height: 56px; }
.fb-livraison__resultat { margin-top: 1em; font-weight: 700; color: #fff !important; min-height: 1.6em; }
.fb-livraison__carte { flex: 1 1 320px; display: flex; justify-content: center; }

/* =========================================================================
 * Fiche produit
 * ====================================================================== */
.single-product div.product {
	background: var(--fb-surface);
	border-radius: 36px;
	padding: 40px;
}
.single-product div.product .woocommerce-product-gallery img { border-radius: 22px; }
.single-product div.product .product_title { font-size: clamp(1.9rem, 3vw, 2.6rem); line-height: 1.1; }
.single-product div.product p.price, .single-product div.product .woocommerce-variation-price .price {
	color: var(--fb-chaud-texte);
	font-size: 1.8rem;
	font-weight: 800;
}
.single-product div.product table.variations th.label { padding-top: .9em; }
.single-product div.product table.variations select { border-radius: 999px; background-color: var(--fb-fond); border: 0; font-weight: 700; }
.single-product div.product form.cart .button { height: 52px; padding: 0 1.8em; }
.fb-info-livraison {
	background: var(--fb-fond);
	border-radius: 18px;
	padding: 1em 1.2em;
	margin: 1.2em 0 1.6em;
	font-size: .95rem;
	line-height: 1.55;
}
.fb-info-livraison strong { display: block; margin-bottom: .2em; }
.woocommerce-tabs ul.tabs li a { font-weight: 700; }
.woocommerce-tabs table.woocommerce-product-attributes th { color: var(--fb-gris); font-weight: 600; }

/* ---------- Sélecteur de quantité (fiche produit, panier classique) ---------- */
.quantity { display: inline-flex; align-items: center; }
.quantity .qty {
	height: 52px;
	width: 5.5em;
	border-radius: 999px;
	background: var(--fb-fond);
	border: 0;
	text-align: center;
	font-weight: 800;
}

/* =========================================================================
 * Panier et commande (blocs WooCommerce)
 * ====================================================================== */
.woocommerce-cart .entry-header, .woocommerce-checkout .entry-header { display: none; }
.fb-etapes-zone { padding-top: 40px; }
.fb-etapes-zone h1 { margin: 0 0 22px; font-size: clamp(2.2rem, 4vw, 3.25rem); line-height: 1; letter-spacing: -.04em; }
.fb-etapes { list-style: none; margin: 0 0 32px; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; font-size: .875rem; font-weight: 700; }
.fb-etapes li {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 16px 10px 10px;
	border-radius: 999px;
	background: var(--fb-surface);
	color: var(--fb-gris);
	margin: 0;
}
.fb-etapes li span {
	width: 26px;
	height: 26px;
	border-radius: 999px;
	background: var(--fb-fond);
	display: flex;
	align-items: center;
	justify-content: center;
}
.fb-etapes li.fb-fait { color: var(--fb-encre); }
.fb-etapes li.fb-fait span { background: var(--fb-accent); color: #fff; }
.fb-etapes li.fb-actif { background: var(--fb-accent); color: #fff; }
.fb-etapes li.fb-actif span { background: var(--fb-chaud); color: var(--fb-encre); }

/* Deux colonnes séparées par un espace (grand écran) */
.wc-block-components-sidebar-layout.is-large { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
.wc-block-components-sidebar-layout.is-large .wc-block-cart__main { width: calc(65% - 14px) !important; }
.wc-block-components-sidebar-layout.is-large .wc-block-cart__sidebar { width: calc(35% - 14px) !important; }
.wc-block-components-sidebar-layout:not(.is-large) .wc-block-cart__main,
.wc-block-components-sidebar-layout:not(.is-large) .wc-block-cart__sidebar { width: 100% !important; margin-bottom: 20px; }

/* Liste des articles : une seule carte blanche, lignes séparées par un trait */
.wp-block-woocommerce-cart .wc-block-cart__main {
	background: var(--fb-surface);
	border-radius: 28px;
	padding: 8px 28px !important;
	box-sizing: border-box;
}
.wc-block-cart-items { border: 0 !important; margin: 0 !important; width: 100%; }
.wc-block-cart-items__header { display: none !important; }
.wc-block-cart-items__row > td { border: 0 !important; border-top: 1px solid var(--fb-doux) !important; background: transparent !important; vertical-align: middle !important; padding-top: 22px !important; padding-bottom: 22px !important; }
.wc-block-cart-items__row:first-child > td { border-top: 0 !important; }
.wc-block-cart-items__row { border: 0 !important; }

/* Vignette : taille fixe */
.wc-block-cart-items .wc-block-cart-item__image { width: 104px !important; min-width: 104px; max-width: 104px; padding-right: 20px !important; }
.wc-block-cart-items .wc-block-cart-item__image a { display: block; }
.wc-block-cart-items .wc-block-cart-item__image img {
	width: 104px !important;
	height: 104px !important;
	max-width: 104px !important;
	object-fit: cover;
	border-radius: 18px;
	display: block;
}

.wc-block-components-product-name { font-size: 1.1rem !important; font-weight: 800; color: var(--fb-encre) !important; text-decoration: none !important; line-height: 1.3; }
.wc-block-cart-item__prices .wc-block-components-product-price { color: var(--fb-chaud-texte); font-weight: 700; font-size: 1rem; }
.wc-block-components-product-metadata { color: var(--fb-gris); font-size: .9rem; margin: 4px 0 10px !important; }
.wc-block-cart-item__total { vertical-align: middle !important; }
.wc-block-cart-item__total .wc-block-components-product-price { color: var(--fb-encre); font-size: 1.15rem; font-weight: 800; }
.wc-block-cart-item__quantity { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; }

/* − / + : petits ronds blancs, sans cadre gris */
.wc-block-components-quantity-selector {
	display: inline-flex !important;
	align-items: center;
	width: auto !important;
	border: 0 !important;
	background: var(--fb-fond) !important;
	border-radius: 999px !important;
	padding: 4px !important;
	gap: 4px;
	margin: 0 !important;
	box-shadow: none !important;
}
.wc-block-components-quantity-selector::after { display: none !important; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
	width: 38px !important;
	min-width: 38px !important;
	height: 38px !important;
	padding: 0 !important;
	border-radius: 999px !important;
	border: 1.5px solid var(--fb-trait) !important;
	background: var(--fb-surface) !important;
	color: var(--fb-encre) !important;
	font-size: 18px !important;
	font-weight: 700;
	line-height: 1 !important;
	opacity: 1 !important;
	box-shadow: none !important;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover:not(:disabled) {
	background: var(--fb-accent) !important;
	border-color: var(--fb-accent) !important;
	color: #fff !important;
}
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:disabled { opacity: .35 !important; cursor: not-allowed; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__input {
	width: 44px !important;
	min-width: 0 !important;
	height: 38px !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-size: 1rem !important;
	font-weight: 800 !important;
	color: var(--fb-encre) !important;
	padding: 0 !important;
	text-align: center;
}

/* Corbeille → lien discret */
.wc-block-cart-item__remove-link {
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
	cursor: pointer;
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	background: transparent !important;
	border: 0 !important;
	color: var(--fb-gris) !important;
	font-size: .875rem !important;
	font-weight: 600;
	text-decoration: none !important;
	padding: 8px 10px !important;
	margin: 0 !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	transition: color .2s ease, background .2s ease;
}
.wc-block-cart-item__remove-link:hover { color: #a33a2a !important; background: #f6e7e4 !important; }
.wc-block-cart-item__remove-link svg { fill: currentColor; }

/* Récapitulatif : carte sombre, hauteur ajustée au contenu */
.wp-block-woocommerce-cart .wc-block-cart__sidebar,
.wp-block-woocommerce-cart .wp-block-woocommerce-cart-totals-block {
	background: var(--fb-encre) !important;
	color: #fff !important;
	border-radius: 30px !important;
	padding: 28px !important;
	box-sizing: border-box;
	align-self: flex-start !important;
	height: auto !important;
}
.wp-block-woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-totals-block { padding: 0 !important; border-radius: 0 !important; }
.wc-block-cart__sidebar,
.wc-block-cart__sidebar .wc-block-components-totals-item__label,
.wc-block-cart__sidebar .wc-block-components-totals-item__value,
.wc-block-cart__sidebar .wc-block-components-formatted-money-amount,
.wc-block-cart__sidebar .wc-block-components-panel__button,
.wc-block-cart__sidebar .wc-block-cart__totals-title,
.wc-block-cart__sidebar .wc-block-components-totals-coupon-link,
.wc-block-cart__sidebar h2, .wc-block-cart__sidebar span { color: #fff !important; }
.wc-block-cart__sidebar .wc-block-cart__totals-title { font-size: 1.4rem !important; font-weight: 800 !important; text-transform: none !important; letter-spacing: -.02em; padding: 0 0 12px !important; margin: 0 !important; }
.wc-block-cart__sidebar .wc-block-components-totals-wrapper { border-color: rgba(255, 255, 255, .12) !important; padding-left: 0 !important; padding-right: 0 !important; }
.wc-block-cart__sidebar .wc-block-components-panel__button { font-size: .95rem !important; padding-left: 0 !important; }
.wc-block-cart__sidebar .wc-block-components-panel__button-icon { fill: #fff !important; }
.wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-size: 1.1rem !important; font-weight: 700; }
.wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount { font-size: 1.8rem !important; font-weight: 800; letter-spacing: -.03em; }
.wc-block-cart__sidebar .wc-block-components-totals-item__description,
.wc-block-cart__sidebar .wc-block-components-totals-footer-item-tax,
.wc-block-cart__sidebar .wc-block-components-totals-footer-item-tax span { color: #a9b8c6 !important; font-size: .85rem; }
.wc-block-cart__sidebar input { background: rgba(255, 255, 255, .08) !important; color: #fff !important; border-color: rgba(255, 255, 255, .2) !important; }
.wc-block-cart__sidebar label { color: #c3cfda !important; }
.wc-block-cart__submit-container,
.wc-block-cart__submit-container--sticky { padding: 0 !important; margin-top: 18px; background: transparent !important; box-shadow: none !important; position: static !important; }
.wc-block-cart__submit-container::before { display: none !important; }
.wc-block-cart__submit-container .wc-block-cart__submit-button.wc-block-components-button,
.wc-block-components-checkout-place-order-button.wc-block-components-button {
	width: 100%;
	box-sizing: border-box;
	padding: 1.05em !important;
	font-size: 1.05rem !important;
	background: var(--fb-chaud) !important;
	color: var(--fb-encre) !important;
	font-weight: 800 !important;
}
.wc-block-cart__submit-container .wc-block-cart__submit-button.wc-block-components-button:hover,
.wc-block-cart__submit-container .wc-block-cart__submit-button .wc-block-components-button__text { color: var(--fb-encre) !important; }

/* Panier sur mobile : les lignes passent en grille (WooCommerce) */
@media (max-width: 767px) {
	.wp-block-woocommerce-cart .wc-block-cart__main { padding: 4px 16px !important; border-radius: 22px; }
	.wc-block-cart-items .wc-block-cart-item__image, .wc-block-cart-items .wc-block-cart-item__image img { width: 72px !important; min-width: 72px; max-width: 72px !important; height: 72px !important; }
}

/* Panier du thème (page Panier) : carte blanche + récapitulatif sombre */
.fb-panier { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 28px; align-items: start; margin-bottom: 40px; }
.fb-panier__carte { background: var(--fb-surface); border-radius: 30px; padding: 12px 32px 28px; box-shadow: 0 1px 0 rgba(22, 34, 46, .04); transition: opacity .2s ease; }
.fb-panier__carte.fb-maj-en-cours, .fb-panier .blockUI.blockOverlay ~ * { opacity: .6; }
.fb-panier__tete { display: flex; justify-content: space-between; align-items: baseline; padding: 18px 0 8px; border-bottom: 1px solid var(--fb-doux); }
.fb-panier__tete h2 { margin: 0; font-size: 1.4rem; font-weight: 800; }
.fb-panier__tete span { color: var(--fb-gris); font-size: .95rem; }
.fb-panier__lignes { background: transparent !important; border: 0 !important; border-radius: 0 !important; margin: 0 !important; }
.fb-ligne {
	display: grid; grid-template-columns: 96px minmax(0, 1fr) auto 110px auto; align-items: center; gap: 18px;
	padding: 22px 0; border-bottom: 1px solid var(--fb-doux);
}
.fb-ligne:last-child { border-bottom: 0; }
.fb-ligne__image img { width: 96px; height: 96px; object-fit: cover; border-radius: 18px; background: var(--fb-doux); display: block; margin: 0 !important; }
.fb-ligne__infos { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.fb-ligne__nom { font-weight: 800; font-size: 1.05rem; color: var(--fb-encre) !important; text-decoration: none !important; line-height: 1.25; }
.fb-ligne__nom:hover { color: var(--fb-accent) !important; }
.fb-ligne__infos dl.variation { margin: 0; display: flex; flex-wrap: wrap; gap: 0 4px; font-size: .88rem; color: var(--fb-gris); }
.fb-ligne__infos dl.variation dt, .fb-ligne__infos dl.variation dd, .fb-ligne__infos dl.variation p { margin: 0; font-weight: 500; }
.fb-ligne__prix { color: var(--fb-chaud-texte); font-weight: 700; font-size: .95rem; }
.fb-ligne__total { font-weight: 800; font-size: 1.15rem; text-align: right; white-space: nowrap; }
.fb-panier .quantity { display: inline-flex; align-items: center; gap: 4px; background: var(--fb-fond); border-radius: 999px; padding: 4px; margin: 0; }
.fb-panier .quantity input.qty {
	width: 46px; height: 38px; border: 0 !important; background: transparent !important; box-shadow: none !important;
	text-align: center; font-weight: 800; font-size: 1rem; color: var(--fb-encre); padding: 0; -moz-appearance: textfield;
}
.fb-panier .quantity input.qty::-webkit-outer-spin-button, .fb-panier .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.fb-qte-btn {
	width: 38px; height: 38px; border-radius: 50%; padding: 0; cursor: pointer;
	border: 1.5px solid var(--fb-trait); background: var(--fb-surface); color: var(--fb-encre);
	font-size: 18px; font-weight: 700; line-height: 1; transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.fb-qte-btn:hover { background: var(--fb-accent); border-color: var(--fb-accent); color: #fff; }
.fb-panier .product-remove a.remove.fb-lien-retirer {
	display: inline-flex !important; align-items: center; gap: 6px; width: auto !important; height: auto !important;
	padding: 8px 12px; border-radius: 999px; font-size: .875rem !important; font-weight: 600; line-height: 1 !important;
	text-indent: 0 !important; text-decoration: none !important;
	background: transparent !important; color: var(--fb-gris) !important;
	visibility: visible !important; opacity: 1 !important; pointer-events: auto !important;
	transition: background .2s ease, color .2s ease;
}
.fb-panier .product-remove a.remove.fb-lien-retirer::before, .fb-panier .product-remove a.remove.fb-lien-retirer::after { display: none !important; }
.fb-panier .product-remove a.remove.fb-lien-retirer:hover { background: #f6e7e4 !important; color: #a33a2a !important; }
.fb-panier__actions { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; padding-top: 20px; border-top: 1px solid var(--fb-doux); }
.fb-panier__actions .coupon { display: flex; gap: 8px; flex-wrap: wrap; }
.fb-panier__actions .coupon input { border-radius: 999px; border: 1.5px solid var(--fb-trait); padding: .7em 1.1em; background: var(--fb-fond); box-shadow: none; min-width: 170px; }
.fb-panier__actions .coupon button.button,
.fb-panier__actions .coupon button.button.fb-bouton-clair {
	background: var(--fb-accent) !important; color: #fff !important; border: 0 !important;
	border-radius: 999px; padding: .75em 1.4em; font-weight: 700; cursor: pointer;
	transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}
.fb-panier__actions .coupon button.button:hover,
.fb-panier__actions .coupon button.button:focus-visible {
	background: var(--fb-chaud) !important; color: var(--fb-encre) !important;
	transform: translateY(-2px); box-shadow: 0 10px 20px rgba(232, 135, 63, .3);
}
.fb-panier-js .fb-panier .fb-maj-panier { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); padding: 0; border: 0; }

/* Récapitulatif */
.fb-panier__resume { width: auto !important; float: none !important; position: sticky; top: 24px; }
.fb-panier .fb-panier__resume .cart_totals {
	width: auto !important; float: none !important; margin: 0 !important;
	background: var(--fb-encre) !important; color: #fff; border-radius: 30px; padding: 28px;
}
.fb-panier .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.fb-panier__resume .cart_totals h2 { color: #fff; font-size: 1.4rem; font-weight: 800; margin: 0 0 10px; }
.fb-panier__resume .cart_totals table.shop_table { background: transparent !important; border: 0 !important; border-radius: 0; margin: 0 0 6px; }
.fb-panier__resume .cart_totals table.shop_table th, .fb-panier__resume .cart_totals table.shop_table td {
	background: transparent !important; color: #fff; border: 0 !important; border-top: 1px solid rgba(255, 255, 255, .12) !important;
	padding: 14px 0 !important; vertical-align: top; font-weight: 500;
}
.fb-panier__resume .cart_totals table.shop_table td { text-align: right; }
.fb-panier__resume .cart_totals th { width: 40%; color: #c3cfda !important; text-align: left !important; }
.fb-panier__resume .cart_totals .includes_tax { display: block; margin-top: 4px; }
.fb-panier__resume .cart_totals .amount, .fb-panier__resume .cart_totals strong { color: #fff; }
.fb-panier__resume .cart_totals .order-total th { color: #fff !important; font-size: 1.1rem; font-weight: 700; }
.fb-panier__resume .cart_totals .order-total .amount { font-size: 1.8rem; font-weight: 800; letter-spacing: -.03em; }
.fb-panier__resume .cart_totals .includes_tax, .fb-panier__resume .cart_totals small, .fb-panier__resume .woocommerce-shipping-destination { color: #a9b8c6 !important; font-size: .85rem; }
.fb-panier__resume ul#shipping_method { list-style: none; margin: 0; padding: 0; text-align: left; }
.fb-panier__resume ul#shipping_method li { margin: 0 0 6px; display: flex; gap: 8px; align-items: baseline; justify-content: flex-end; }
.fb-panier__resume ul#shipping_method label { color: #fff; }
.fb-panier__resume a, .fb-panier__resume .shipping-calculator-button { color: #f2b84b !important; }
.fb-panier__resume .shipping-calculator-form input, .fb-panier__resume .shipping-calculator-form select { background: rgba(255, 255, 255, .08); color: #fff; border: 1px solid rgba(255, 255, 255, .2); border-radius: 12px; }
.fb-panier__resume .shipping-calculator-form select option { color: var(--fb-encre); }
.fb-panier__resume .wc-proceed-to-checkout { padding: 8px 0 0; }
.fb-panier__resume .wc-proceed-to-checkout a.checkout-button {
	display: block; width: 100%; box-sizing: border-box; margin: 0; text-align: center;
	padding: 1.05em !important; font-size: 1.05rem !important; font-weight: 800;
	background: var(--fb-chaud) !important; color: var(--fb-encre) !important; border-radius: 999px;
}
.fb-panier__resume .wc-proceed-to-checkout a.checkout-button:hover { transform: translateY(-2px); }
.woocommerce-cart .cross-sells { margin-top: 10px; }

@media (max-width: 960px) {
	.fb-panier { grid-template-columns: minmax(0, 1fr); }
	.fb-panier__resume { position: static; }
}
@media (max-width: 640px) {
	.fb-panier__carte { padding: 4px 18px 20px; border-radius: 22px; }
	.fb-ligne {
		grid-template-columns: 72px minmax(0, 1fr) auto;
		grid-template-areas: "img infos infos" "qte qte total" "retirer retirer retirer";
		gap: 8px 14px;
	}
	.fb-ligne__image { grid-area: img; align-self: start; }
	.fb-ligne__image img { width: 72px; height: 72px; border-radius: 14px; }
	.fb-ligne__infos { grid-area: infos; }
	.fb-ligne__qte { grid-area: qte; }
	.fb-ligne__total { grid-area: total; }
	.fb-ligne__retirer { grid-area: retirer; }
	.fb-ligne__retirer a.remove.fb-lien-retirer { margin-left: -12px; }
	.fb-ligne__qte { justify-self: start; }
	.fb-panier .fb-panier__resume .cart_totals { padding: 22px; border-radius: 22px; }
}

/* Panier classique (si vous n'utilisez pas les blocs) */
table.shop_table { background: var(--fb-surface); border-radius: 22px; overflow: hidden; border: 0; }
table.shop_table td, table.shop_table th { border-color: var(--fb-doux); }
table.cart td.product-remove a.remove {
	display: inline-flex !important; align-items: center; justify-content: center;
	width: 34px; height: 34px; border-radius: 50%; text-indent: 0 !important; font-size: 22px; line-height: 1;
	background: var(--fb-fond) !important; color: var(--fb-gris) !important; text-decoration: none;
	visibility: visible !important; opacity: 1 !important; pointer-events: auto !important;
}
table.cart td.product-remove a.remove::before { display: none !important; }
table.cart td.product-remove a.remove:hover { background: #f6e7e4 !important; color: #a33a2a !important; }
.cart-collaterals .cart_totals, #order_review { background: var(--fb-surface); border-radius: 24px; padding: 24px; }

/* Commande */
.wc-block-checkout__main .wc-block-components-checkout-step {
	background: var(--fb-surface);
	border-radius: 26px;
	padding: 26px 26px 10px !important;
	margin-bottom: 16px !important;
}
.wc-block-checkout__main .wc-block-components-checkout-step::after { display: none; }
.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block {
	background: var(--fb-surface);
	border-radius: 26px;
	padding: 16px;
	border: 0 !important;
}

/* ---------- Messages ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-noreviews { border-radius: 16px; background: var(--fb-accent); }
.woocommerce-error { border-radius: 16px; background: #8c2f2f; }

/* =========================================================================
 * Mise en page pleine largeur (pas de barre latérale)
 * ====================================================================== */
.content-area { width: 100% !important; float: none !important; margin-right: 0 !important; }
#secondary, .widget-area:not(.footer-widgets) { display: none !important; }

/* =========================================================================
 * Pages simples (CGV, Livraison, FAQ, Contact…)
 * ====================================================================== */
.fb-page-simple .entry-header { display: none; }
.fb-page-simple .site-main { padding-top: 0; }
.fb-page-simple article.page {
	max-width: 880px;
	margin: 0 auto 64px;
	background: var(--fb-surface);
	border-radius: 32px;
	padding: 48px 56px;
	box-shadow: 0 20px 50px rgba(22, 34, 46, .06);
}
.fb-page-simple .entry-content { font-size: 1.02rem; line-height: 1.75; color: #33414e; }
.fb-page-simple .entry-content > :first-child { margin-top: 0; }
.fb-page-simple .entry-content h2 {
	font-size: 1.45rem;
	margin: 2.2em 0 .7em;
	padding-top: 1.4em;
	border-top: 1px solid var(--fb-doux);
}
.fb-page-simple .entry-content h2:first-of-type { border-top: 0; padding-top: 0; }
.fb-page-simple .entry-content h3 { font-size: 1.15rem; margin: 1.6em 0 .6em; }
.fb-page-simple .entry-content ul, .fb-page-simple .entry-content ol { margin: 0 0 1.4em 1.2em; }
.fb-page-simple .entry-content li { margin-bottom: .45em; }
.fb-page-simple .entry-content ul li::marker { color: var(--fb-chaud); }
.fb-page-simple .entry-content a { color: var(--fb-accent); text-decoration: underline; text-decoration-color: rgba(232, 135, 63, .6); text-underline-offset: 3px; }
.fb-intro { font-size: 1.2rem; line-height: 1.6; color: var(--fb-encre); font-weight: 500; }
.fb-note {
	background: var(--fb-fond);
	border-radius: 18px;
	padding: 18px 22px;
	font-size: .95rem;
	margin-top: 2em;
}
.fb-encadre {
	background: var(--fb-fond);
	border-radius: 22px;
	padding: 8px 28px 12px;
	margin: 1.2em 0 2em;
	font-size: .95rem;
}
mark.fb-a-completer {
	background: #fbe9dc;
	color: #8a3b12;
	border-radius: 6px;
	padding: 1px 6px;
	font-weight: 700;
	font-size: .92em;
}

/* FAQ en accordéon */
.fb-page-simple .wp-block-details {
	border: 1px solid var(--fb-doux);
	border-radius: 18px;
	padding: 0;
	margin: 0 0 10px;
	overflow: hidden;
	transition: box-shadow .25s ease, border-color .25s ease;
}
.fb-page-simple .wp-block-details[open] { border-color: var(--fb-trait); box-shadow: 0 12px 26px rgba(22, 34, 46, .07); }
.fb-page-simple .wp-block-details summary {
	list-style: none;
	cursor: pointer;
	padding: 18px 56px 18px 22px;
	font-weight: 700;
	color: var(--fb-encre);
	position: relative;
}
.fb-page-simple .wp-block-details summary::-webkit-details-marker { display: none; }
.fb-page-simple .wp-block-details summary::after {
	content: "+";
	position: absolute;
	right: 18px;
	top: 50%;
	width: 30px;
	height: 30px;
	margin-top: -15px;
	border-radius: 999px;
	background: var(--fb-fond);
	color: var(--fb-accent);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.2rem;
	transition: transform .3s ease, background .2s ease, color .2s ease;
}
.fb-page-simple .wp-block-details[open] summary::after { transform: rotate(45deg); background: var(--fb-accent); color: #fff; }
.fb-page-simple .wp-block-details > p { margin: 0; padding: 0 22px 20px; color: #4a5866; }

/* Coordonnées */
.fb-coordonnees { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin: 0 0 32px; }
.fb-coordonnee { display: flex; gap: 14px; align-items: flex-start; background: var(--fb-fond); border-radius: 18px; padding: 18px; line-height: 1.5; }
.fb-coordonnee strong { display: block; color: var(--fb-encre); }
.fb-coordonnee__icone { width: 44px; height: 44px; flex: none; border-radius: 14px; background: var(--fb-accent); color: var(--fb-chaud); display: flex; align-items: center; justify-content: center; }

/* Formulaires */
.fb-formulaire form { margin: 0; }
.fb-champs-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.fb-champ { margin: 0 0 16px; }
.fb-champ label { display: block; font-weight: 700; font-size: .9rem; color: var(--fb-encre); margin-bottom: 6px; }
.fb-champ label span { color: var(--fb-chaud-texte); }
.fb-champ label small { font-weight: 500; color: var(--fb-gris); }
.fb-champ input, .fb-champ textarea { width: 100%; box-sizing: border-box; background: var(--fb-fond); border: 1px solid transparent; border-radius: 14px; padding: .8em 1em; min-height: 46px; font: inherit; color: var(--fb-encre); }
.fb-champ input:focus, .fb-champ textarea:focus { background: var(--fb-surface); }
.fb-mention { font-size: .85rem; color: var(--fb-gris); }
.fb-piege { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.fb-alerte { border-radius: 16px; padding: 16px 20px; margin: 0 0 20px; font-weight: 600; }
.fb-alerte--succes { background: #e5f2ea; color: #1f5c3a; }
.fb-alerte--erreur { background: #f6e7e4; color: #8c2f2f; }
.fb-retractation__bloc > summary { list-style: none; cursor: pointer; margin-bottom: 24px; }
.fb-retractation__bloc > summary::-webkit-details-marker { display: none; }
.fb-retractation__bloc[open] > summary { opacity: .6; pointer-events: none; }

/* Suivi de commande (formulaire WooCommerce) */
.fb-page-simple .woocommerce form.track_order { background: var(--fb-fond); border-radius: 22px; padding: 24px; border: 0; }
.fb-page-simple form.track_order input { background: var(--fb-surface); }

/* =========================================================================
 * Menu avec icônes
 * ====================================================================== */
.main-navigation ul.menu > li > a, .main-navigation ul.nav-menu > li > a {
	display: inline-flex !important;
	align-items: center;
	gap: 10px;
}
.fb-menu-icone {
	width: 34px;
	height: 34px;
	flex: none;
	border-radius: 12px;
	background: var(--fb-fond);
	color: var(--fb-accent);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background .25s ease, color .25s ease, transform .35s cubic-bezier(.3, 1.6, .5, 1);
}
.main-navigation ul.menu > li > a:hover .fb-menu-icone,
.main-navigation ul.menu > li.current-menu-item > a .fb-menu-icone,
.main-navigation ul.menu > li.current-menu-parent > a .fb-menu-icone {
	background: var(--fb-accent);
	color: #fff;
}
.main-navigation ul.menu > li.current-menu-item > a .fb-menu-icone .fb-ico,
.main-navigation ul.menu > li.current-menu-parent > a .fb-menu-icone .fb-ico { color: var(--fb-chaud); }
.main-navigation ul.menu > li.fb-mis-en-avant > a .fb-menu-icone { background: #fbe9dc; color: var(--fb-chaud-texte); }
.handheld-navigation .fb-menu-icone { margin-right: 10px; }

/* Icônes dans les boutons */
.single_add_to_cart_button::before, ul.products li.product .add_to_cart_button::before {
	content: "";
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1.2 11a1 1 0 0 1-1 .9H7.2a1 1 0 0 1-1-.9z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1.2 11a1 1 0 0 1-1 .9H7.2a1 1 0 0 1-1-.9z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E") center / contain no-repeat;
}
ul.products li.product .add_to_cart_button::after { display: none; }
.button .fb-ico { flex: none; }
.fb-bouton-contour, a.fb-bouton-contour {
	background: transparent !important;
	color: #fff !important;
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .35) !important;
}
.fb-bouton-contour:hover { box-shadow: inset 0 0 0 2px #fff !important; }
.woocommerce-breadcrumb a:first-child::before {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-right: 6px;
	vertical-align: -2px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-7 9 7'/%3E%3Cpath d='M5 10v10h14V10'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-7 9 7'/%3E%3Cpath d='M5 10v10h14V10'/%3E%3C/svg%3E") center / contain no-repeat;
}
.fb-info-livraison { position: relative; padding-left: 3.6em !important; }
.fb-info-livraison::before {
	content: "";
	position: absolute;
	left: 1.1em;
	top: 1.05em;
	width: 24px;
	height: 24px;
	background: var(--fb-chaud-texte);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='13' height='10' rx='1'/%3E%3Cpath d='M15 10h4l3 3v4h-7'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3Ccircle cx='18' cy='18' r='2'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='13' height='10' rx='1'/%3E%3Cpath d='M15 10h4l3 3v4h-7'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3Ccircle cx='18' cy='18' r='2'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* =========================================================================
 * Bandeau d'appel + pied de page
 * ====================================================================== */
.fb-appel { position: relative; z-index: 2; margin-top: 72px; margin-bottom: -84px; }
.fb-appel__carte {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 24px 32px;
	padding: 40px 44px;
	border-radius: 32px;
	background:
		radial-gradient(circle at 90% 20%, rgba(232, 135, 63, .45), rgba(232, 135, 63, 0) 45%),
		linear-gradient(120deg, var(--fb-accent), #1f3142);
	color: #fff;
	box-shadow: 0 30px 60px rgba(22, 34, 46, .22);
}
.fb-appel__flamme {
	width: 72px;
	height: 72px;
	flex: none;
	border-radius: 22px;
	background: rgba(255, 255, 255, .1);
	color: var(--fb-chaud);
	display: flex;
	align-items: center;
	justify-content: center;
}
.fb-appel__texte { flex: 1 1 360px; min-width: 0; }
.fb-appel h2 { margin: 0 0 6px; color: #fff; font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.1; }
.fb-appel p { margin: 0; color: var(--fb-gris-clair); font-size: 1.05rem; }
.fb-appel__boutons { display: flex; flex-wrap: wrap; gap: 10px; }
.fb-appel__boutons .button { padding: 1em 1.6em; }

.site-footer {
	position: relative;
	overflow: hidden;
	background:
		url("assets/illustrations/cernes.svg") right -220px bottom -260px / 640px 640px no-repeat,
		var(--fb-encre) !important;
	color: #b8c4cf;
	padding-top: 140px !important;
	margin-top: 0 !important;
}
.site-footer::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--fb-encre);
	opacity: .82;
	pointer-events: none;
}
.site-footer .col-full { position: relative; z-index: 1; }
.fb-pied {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1.1fr;
	gap: 40px;
	padding-bottom: 48px;
	border-bottom: 1px solid rgba(255, 255, 255, .1);
}
.fb-pied h2 {
	margin: 0 0 18px;
	color: #fff;
	font-size: .85rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.fb-pied ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.fb-pied li { margin: 0; }
.fb-pied a { color: #dfe5eb !important; text-decoration: none; }
.fb-pied__col ul a { display: inline-flex; align-items: center; gap: 10px; transition: color .2s ease, transform .2s ease; }
.fb-pied__col ul a .fb-ico { color: var(--fb-chaud); flex: none; }
.fb-pied__col ul a:hover { color: #fff !important; transform: translateX(4px); }
.fb-pied__logo { display: inline-flex; align-items: center; gap: 10px; font-size: 1.35rem; font-weight: 800; color: #fff !important; letter-spacing: -.02em; margin-bottom: 14px; }
.fb-pied__logo span { width: 40px; height: 40px; border-radius: 999px; background: var(--fb-accent); color: var(--fb-chaud); display: flex; align-items: center; justify-content: center; }
.fb-pied__marque > p { margin: 0 0 20px; line-height: 1.6; max-width: 30em; }
.fb-macaron { position: relative; width: 128px; height: 128px; margin: 0 0 18px; }
.fb-macaron__texte { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.fb-macaron__texte text { fill: #dfe5eb; font: 700 11px var(--fb-police), system-ui, sans-serif; letter-spacing: .18em; }
.fb-macaron__coeur {
	position: absolute; inset: 28px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: radial-gradient(circle at 50% 60%, rgba(232, 135, 63, .35), var(--fb-accent) 70%);
	color: var(--fb-chaud); box-shadow: inset 0 0 0 1.5px rgba(232, 135, 63, .4);
}
.fb-pied__marque2 > p { margin: 0 0 14px; line-height: 1.6; color: #b8c4cf; }
.fb-pied__lien-marque { font-weight: 700; color: #f2b84b !important; }
.fb-pied__lien-marque:hover { color: #fff !important; }
@media (prefers-reduced-motion: no-preference) {
	.fb-macaron__texte { animation: fb-macaron 24s linear infinite; }
	.fb-macaron:hover .fb-macaron__texte { animation-duration: 6s; }
	.fb-macaron__coeur .fb-ico { animation: fb-flamme 1.6s ease-in-out infinite alternate; transform-origin: 50% 100%; }
}
@keyframes fb-macaron { to { transform: rotate(360deg); } }
.fb-pied__contact li { display: flex; gap: 10px; align-items: flex-start; line-height: 1.5; }
.fb-pied__contact .fb-ico { color: var(--fb-chaud); flex: none; margin-top: 2px; }
.fb-pied__aide { font-size: .85rem; color: #f3c49d; }
.fb-pied__engagements li { display: flex; align-items: center; gap: 12px; color: #dfe5eb; }
.fb-pied__engagements li span {
	width: 36px;
	height: 36px;
	flex: none;
	border-radius: 12px;
	background: rgba(255, 255, 255, .07);
	color: var(--fb-chaud);
	display: flex;
	align-items: center;
	justify-content: center;
}
.site-footer .site-info.fb-pied__bas {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 10px 24px;
	padding: 24px 0 32px;
	font-size: .875rem;
	color: #8fa0b1;
}
.fb-pied__paiement { display: inline-flex; align-items: center; gap: 8px; }
.fb-pied__bas a { color: #b8c4cf !important; text-decoration: none; }
.fb-pied__identite { margin: 0; padding: 0 0 28px; font-size: .8rem; color: #8fa0b1; }
.fb-pied__bas a:hover { color: #fff !important; }
.storefront-handheld-footer-bar { background: var(--fb-surface); }

.fb-illustration { background: var(--fb-doux); }

/* =========================================================================
 * Animation « Ajouter au panier » : camion + chariot élévateur
 * ====================================================================== */
.fb-scene {
	position: fixed;
	z-index: 99999;
	width: 352px;
	height: 56px;
	border-radius: 999px;
	background: var(--fb-accent);
	box-shadow: 0 16px 34px rgba(22, 34, 46, .28);
	overflow: hidden;
	pointer-events: none;
	transform: scale(var(--fb-echelle, 1));
	transform-origin: center;
	animation: fb-scene-ouvre .28s cubic-bezier(.2, .8, .3, 1) both;
}
.fb-scene.fb-ferme { animation: fb-scene-ferme .3s ease-in forwards; }
@keyframes fb-scene-ouvre { from { transform: scale(calc(var(--fb-echelle, 1) * var(--fb-depart, .5)), var(--fb-echelle, 1)); opacity: .5; } to { transform: scale(var(--fb-echelle, 1)); opacity: 1; } }
@keyframes fb-scene-ferme { to { transform: scale(calc(var(--fb-echelle, 1) * var(--fb-depart, .5)), var(--fb-echelle, 1)); opacity: 0; } }
.fb-scene__route { position: absolute; left: 18px; right: 18px; bottom: 9px; height: 2px; border-radius: 2px; background: repeating-linear-gradient(90deg, rgba(255,255,255,.35) 0 10px, transparent 10px 20px); }
.fb-scene svg { position: absolute; overflow: visible; }
.fb-scene .fb-camion { left: -90px; top: 6px; width: 70px; height: 44px; }
.fb-scene .fb-chariot-el { left: -70px; top: 10px; width: 44px; height: 40px; }
.fb-scene .fb-palette { left: -48px; top: 28px; width: 26px; height: 16px; }
.fb-scene .fb-porte { transform-box: fill-box; transform-origin: left center; }
.fb-scene .fb-roue, .fb-route-x .fb-roue { transform-box: fill-box; transform-origin: center; }
.fb-scene.fb-run .fb-camion { animation: fb-gare 4.6s linear forwards; }
.fb-scene.fb-run .fb-camion .fb-roue { animation: fb-tourne .3s linear 3; }
.fb-scene.fb-run .fb-camion .fb-porte { animation: fb-porte 4.6s ease-in-out forwards; }
.fb-scene.fb-run .fb-camion .fb-caisse { animation: fb-charge 4.6s ease forwards; }
.fb-scene.fb-run .fb-chariot-el { animation: fb-chariot 4.6s linear forwards; }
.fb-scene.fb-run .fb-chariot-el .fb-roue { animation: fb-roues-chariot 4.6s linear forwards; }
.fb-scene.fb-run .fb-chariot-el .fb-fourche { animation: fb-leve 4.6s linear forwards; }
.fb-scene.fb-run .fb-palette { animation: fb-palette 4.6s linear forwards; }
.fb-scene.fb-parti .fb-camion { opacity: 0; }
@keyframes fb-gare { 0% { left: -90px; animation-timing-function: cubic-bezier(.2,.7,.35,1); } 18% { left: 258px; animation-timing-function: ease-in-out; } 21% { left: 246px; } 24%, 100% { left: 250px; } }
@keyframes fb-chariot { 0%, 26% { left: -70px; animation-timing-function: cubic-bezier(.25,.6,.35,1); } 44% { left: 204px; } 50% { left: 204px; animation-timing-function: ease-in-out; } 57% { left: 214px; } 62% { left: 214px; animation-timing-function: ease-in; } 82%, 100% { left: -70px; } }
@keyframes fb-roues-chariot { 0%, 26% { transform: rotate(0); } 44%, 50% { transform: rotate(900deg); } 57%, 62% { transform: rotate(960deg); } 82%, 100% { transform: rotate(0); } }
@keyframes fb-leve { 0%, 44% { transform: translateY(0); } 50%, 62% { transform: translateY(-10px); } 70%, 100% { transform: translateY(0); } }
@keyframes fb-palette { 0%, 26% { left: -48px; transform: translateY(0); opacity: 1; animation-timing-function: cubic-bezier(.25,.6,.35,1); } 44% { left: 226px; transform: translateY(0); } 50% { left: 226px; transform: translateY(-10px); animation-timing-function: ease-in-out; } 57% { left: 240px; transform: translateY(-10px); } 61% { left: 258px; transform: translateY(-10px); opacity: 1; } 63%, 100% { left: 258px; transform: translateY(-10px); opacity: 0; } }
@keyframes fb-porte { 0%, 24% { transform: scaleX(1); } 30%, 84% { transform: scaleX(-1); } 90%, 100% { transform: scaleX(1); } }
@keyframes fb-charge { 0%, 59% { transform: translateY(0); } 62% { transform: translateY(2px); } 67%, 100% { transform: translateY(0); } }
@keyframes fb-tourne { to { transform: rotate(360deg); } }

.fb-route-x { position: fixed; z-index: 99999; width: 70px; height: 44px; pointer-events: none; animation: fb-route-x 1.5s cubic-bezier(.45,0,.55,1) forwards; animation-play-state: paused; }
.fb-route-y { width: 70px; height: 44px; transform-origin: 50% 100%; animation: fb-route-y 1.5s cubic-bezier(.7,0,.6,1) forwards; animation-play-state: paused; }
.fb-route-x.fb-go, .fb-route-x.fb-go .fb-route-y { animation-play-state: running; }
.fb-route-x.fb-go .fb-roue { animation: fb-tourne .22s linear infinite; }
.fb-route-x .fb-fumee { transform-box: fill-box; transform-origin: center; opacity: 0; }
.fb-route-x.fb-go .fb-fumee { animation: fb-fumee .5s ease-out infinite; }
@keyframes fb-route-x { from { transform: translateX(0); } to { transform: translateX(var(--fb-dx, 600px)); } }
@keyframes fb-route-y {
	0%, 22% { transform: translateY(0) rotate(0) scale(var(--fb-echelle, 1)); opacity: 1; }
	40% { transform: translateY(calc(var(--fb-dy, -400px) * .13)) rotate(-14deg) scale(calc(var(--fb-echelle, 1) * .92)); }
	88% { transform: translateY(calc(var(--fb-dy, -400px) * .96)) rotate(-10deg) scale(calc(var(--fb-echelle, 1) * .5)); opacity: 1; }
	100% { transform: translateY(var(--fb-dy, -400px)) rotate(0) scale(calc(var(--fb-echelle, 1) * .35)); opacity: 0; }
}
@keyframes fb-fumee { 0% { opacity: .8; transform: translate(0,0) scale(.6); } 100% { opacity: 0; transform: translate(-14px,-6px) scale(1.6); } }
.fb-charge-en-cours { visibility: hidden; }
.button.fb-ajoute, .single_add_to_cart_button.fb-ajoute { background: #3f7d58 !important; }
@media (prefers-reduced-motion: reduce) { .fb-scene, .fb-route-x { display: none !important; } }

/* =========================================================================
 * Animations (désactivées si l'utilisateur préfère réduire les animations)
 * ====================================================================== */
@media (prefers-reduced-motion: no-preference) {
	@keyframes fb-monte { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }
	@keyframes fb-pop { from { opacity: 0; transform: scale(.94) translateY(16px); } to { opacity: 1; transform: none; } }
	@keyframes fb-flotte { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
	@keyframes fb-souligne { from { background-size: 0 .12em; } to { background-size: 100% .12em; } }

	.fb-hero__texte > *, .fb-banniere__texte > * { animation: fb-monte .8s var(--fb-courbe) both; }
	.fb-hero__texte > :nth-child(2), .fb-banniere__texte > :nth-child(2) { animation-delay: .12s; }
	.fb-hero__texte > :nth-child(3), .fb-banniere__texte > :nth-child(3) { animation-delay: .24s; }
	.fb-hero__texte > :nth-child(4), .fb-banniere__texte > :nth-child(4) { animation-delay: .36s; }
	.fb-banniere__scene { animation: fb-pop .9s .2s var(--fb-courbe) both; }
	.fb-hero__visuels > * { animation: fb-pop .9s var(--fb-courbe) both; }
	.fb-hero__visuels > :nth-child(1) { animation-delay: .15s; }
	.fb-hero__visuels > :nth-child(2) { animation-delay: .3s; }
	.fb-hero__visuels > :nth-child(3) { animation: fb-pop .9s .45s var(--fb-courbe) both, fb-flotte 5s 1.5s ease-in-out infinite; }

	.fb-hero h1 span {
		background: linear-gradient(var(--fb-chaud), var(--fb-chaud)) left 92% / 0 .12em no-repeat;
		animation: fb-souligne .9s .9s var(--fb-courbe) forwards;
	}

	/* Apparition au défilement (le script ajoute .fb-visible) */
	.fb-js:not(.fb-sans-anim) :is(.fb-section, .fb-app, .fb-raison, .fb-produit, ul.products li.product, .fb-livraison,
	  .single-product div.product, .woocommerce-tabs, .related.products > h2, .fb-reassurance > div,
	  .storefront-product-section):not(.fb-visible) {
		opacity: 0;
		transform: translateY(32px);
	}
	:is(.fb-section, .fb-app, .fb-raison, .fb-produit, ul.products li.product, .fb-livraison,
	  .single-product div.product, .woocommerce-tabs, .related.products > h2, .fb-reassurance > div,
	  .storefront-product-section) {
		transition: opacity .75s var(--fb-courbe), transform .75s var(--fb-courbe), box-shadow .3s ease;
		transition-delay: var(--fb-delai, 0s), var(--fb-delai, 0s), 0s;
	}

	/* Survols */
	.button:hover, a.button:hover, button.button:hover { transform: translateY(-2px); box-shadow: 0 10px 20px rgba(22, 34, 46, .16); }
	.button:active, a.button:active, button.button:active { transform: none; box-shadow: none; }
	.site-header-cart .cart-contents:hover { transform: translateY(-1px); }

	.fb-produit.fb-visible:hover, ul.products li.product.fb-visible:not(.fb-conseil):hover {
		transform: translateY(-6px);
		box-shadow: 0 24px 44px rgba(22, 34, 46, .14);
		transition-delay: 0s;
	}
	.fb-app.fb-visible:hover, .fb-app.fb-visible:focus-visible, .fb-raison.fb-visible:hover { transition-delay: 0s; }
	.fb-produit__image img, .fb-vignette img { transition: transform .6s var(--fb-courbe); }
	.fb-produit:hover .fb-produit__image img, ul.products li.product:hover .fb-vignette img { transform: scale(1.06); }
	ul.products li.product .button::after { transition: transform .25s ease; }
	ul.products li.product .button:hover::after { transform: translateX(3px); }

	.fb-vedette { transition: transform .2s ease, filter .2s ease; }
	.fb-vedette:hover { transform: translateY(-4px) scale(1.01); }

	

	.fb-livraison__carte .fb-pulse { animation: fb-pulse 2.2s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
	.fb-livraison__carte .fb-trajet { animation: fb-trajet 1.6s linear infinite; }
	@keyframes fb-trajet { to { stroke-dashoffset: -20; } }
	@keyframes fb-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.35); } }
}
@media (prefers-reduced-motion: no-preference) {
	/* Menu : apparition en cascade au chargement */
	.main-navigation ul.menu > li { animation: fb-monte .6s var(--fb-courbe) both; }
	.main-navigation ul.menu > li:nth-child(2) { animation-delay: .06s; }
	.main-navigation ul.menu > li:nth-child(3) { animation-delay: .12s; }
	.main-navigation ul.menu > li:nth-child(4) { animation-delay: .18s; }
	.main-navigation ul.menu > li:nth-child(5) { animation-delay: .24s; }
	.main-navigation ul.menu > li:nth-child(6) { animation-delay: .30s; }
	.main-navigation ul.menu > li > a:hover .fb-menu-icone { transform: translateY(-3px) rotate(-8deg) scale(1.08); }
	.site-header .site-branding, .site-header .site-search, .fb-entete-droite { animation: fb-monte .6s var(--fb-courbe) both; }
	.site-header .site-search { animation-delay: .05s; }
	.fb-entete-droite { animation-delay: .1s; }

	/* Flamme du logo et du bandeau d'appel qui « vit » */
	@keyframes fb-flamme { 0%, 100% { transform: scale(1) rotate(0); } 30% { transform: scale(1.08, .94) rotate(-3deg); } 60% { transform: scale(.95, 1.07) rotate(3deg); } }
	.fb-appel__flamme .fb-ico, .fb-pied__logo .fb-ico { animation: fb-flamme 2.6s ease-in-out infinite; transform-origin: 50% 90%; }

	/* Panier : rebond quand on ajoute un article */
	@keyframes fb-rebond { 0% { transform: scale(1); } 30% { transform: scale(1.12); } 55% { transform: scale(.95); } 80% { transform: scale(1.04); } 100% { transform: scale(1); } }
	.site-header-cart .cart-contents.fb-rebond, .fb-panier-flottant.fb-rebond .fb-pf__icone { animation: fb-rebond .6s ease; }
	.fb-panier-flottant.fb-rebond .fb-pf__nb { animation: fb-rebond .6s .12s ease; }
	.site-header-cart .cart-contents.fb-rebond .fb-pastille-panier { animation: fb-rebond .6s .1s ease; }

	/* Boutons : l'icône glisse au survol */
	.button .fb-ico { transition: transform .25s ease; }
	.button:hover .fb-ico { transform: translateX(3px); }
	.single_add_to_cart_button:hover::before, ul.products li.product .add_to_cart_button:hover::before { animation: fb-rebond .5s ease; }

	/* Bandeau d'appel et pied de page */
	.fb-js:not(.fb-sans-anim) :is(.fb-appel__carte, .fb-pied__col):not(.fb-visible) { opacity: 0; transform: translateY(32px); }
	.fb-appel__carte, .fb-pied__col { transition: opacity .75s var(--fb-courbe), transform .75s var(--fb-courbe); transition-delay: var(--fb-delai, 0s); }

	/* Cartes appareils et réassurance : icône qui s'anime au survol */
	.fb-reassurance__icone { transition: transform .35s cubic-bezier(.3, 1.6, .5, 1); }
	.fb-reassurance > div:hover .fb-reassurance__icone { transform: rotate(-8deg) scale(1.1); }
}
@media (prefers-reduced-motion: reduce) {
	.fb-flocon, .fb-fumee, .fb-lueur { animation: none !important; }
	.fb-flocon { display: none; }
}

/* =========================================================================
 * Tablette et mobile
 * ====================================================================== */
@media (max-width: 1024px) {
	.fb-pied { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fb-reassurance { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.col-full { padding-left: 16px; padding-right: 16px; }
	body { background: var(--fb-fond); }
	ul.products { grid-template-columns: minmax(0, 1fr); }
	.fb-pied { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.fb-page-simple article.page { padding: 28px 20px; border-radius: 24px; }
	.fb-champs-2 { grid-template-columns: minmax(0, 1fr); }
	.fb-appel__carte { padding: 28px 22px; border-radius: 24px; }
	.site-footer { padding-top: 120px !important; }
	.fb-reassurance { grid-template-columns: minmax(0, 1fr); }
	.storefront-sorting { border-radius: 24px; padding: 14px; }
	.storefront-sorting .woocommerce-ordering { margin-left: 0; width: 100%; }
	.storefront-sorting .woocommerce-ordering select { width: 100%; }
	.fb-banniere .col-full { padding-bottom: 96px; }
	.fb-banniere__scene { display: none; }
	.fb-bloc-blanc, .fb-livraison, .single-product div.product { padding: 28px 20px; border-radius: 24px; }
	.fb-hero__visuels { grid-template-rows: 180px 180px; }
	.fb-produit { flex-direction: column; align-items: stretch; }
	.fb-produit__image { width: 100%; height: 200px; }
	.fb-compte span { display: none; }
	.fb-chiffres div { padding: 12px 16px; }
}

/* =========================================================================
 * Boutons flottants : WhatsApp + panier, et tiroir du panier
 * ====================================================================== */
.fb-flottants {
	position: fixed; right: 20px; bottom: 20px; z-index: 9990;
	display: flex; flex-direction: column; align-items: flex-end; gap: 12px;
	pointer-events: none;
}
.fb-flottants > * { pointer-events: auto; }

.fb-whatsapp { display: inline-flex; align-items: center; gap: 10px; text-decoration: none !important; }
.fb-whatsapp__icone {
	width: 56px; height: 56px; border-radius: 50%; flex: none;
	display: inline-flex; align-items: center; justify-content: center;
	background: #25d366; color: #fff;
	box-shadow: 0 10px 24px rgba(37, 211, 102, .35), 0 2px 6px rgba(22, 34, 46, .15);
	transition: transform .3s cubic-bezier(.3, 1.6, .5, 1), box-shadow .3s ease;
}
.fb-whatsapp__bulle {
	background: var(--fb-surface); color: var(--fb-encre); font-size: .9rem; white-space: nowrap;
	padding: 10px 16px; border-radius: 999px; box-shadow: 0 10px 24px rgba(22, 34, 46, .14);
	opacity: 0; transform: translateX(10px); transition: opacity .25s ease, transform .25s ease;
}
.fb-whatsapp:hover .fb-whatsapp__bulle, .fb-whatsapp:focus-visible .fb-whatsapp__bulle { opacity: 1; transform: none; }
.fb-whatsapp:hover .fb-whatsapp__icone { transform: scale(1.08) rotate(-6deg); box-shadow: 0 14px 30px rgba(37, 211, 102, .45); }

.fb-panier-flottant {
	display: inline-flex; align-items: center; gap: 12px;
	height: 64px; padding: 6px 6px 6px 22px; border: 0; border-radius: 999px; cursor: pointer;
	background: var(--fb-encre); color: #fff; font: 800 1rem var(--fb-police), system-ui, sans-serif;
	box-shadow: 0 14px 32px rgba(22, 34, 46, .28);
	transition: transform .3s cubic-bezier(.2, .8, .2, 1), box-shadow .3s ease;
}
.fb-panier-flottant, .fb-panier-flottant:hover, .fb-panier-flottant:focus { color: #fff !important; text-decoration: none !important; }
.fb-panier-flottant:hover { transform: translateY(-3px); box-shadow: 0 18px 38px rgba(22, 34, 46, .34); }
.fb-panier-flottant:focus { outline: none; }
.fb-panier-flottant:focus-visible { outline: 3px solid rgba(232, 135, 63, .6); outline-offset: 3px; }
.fb-pf__total .amount, .fb-pf__total { color: #fff; }
.fb-pf__icone {
	position: relative; width: 52px; height: 52px; border-radius: 50%; flex: none;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--fb-chaud); color: #fff;
}
.fb-pf__nb {
	position: absolute; top: -4px; right: -4px; min-width: 22px; height: 22px; padding: 0 6px; box-sizing: border-box;
	border-radius: 999px; background: #fff; color: var(--fb-encre); border: 2px solid var(--fb-encre);
	font-size: .75rem; font-weight: 800; line-height: 18px; text-align: center;
}
.fb-panier-flottant.fb-vide { padding: 6px; }
.fb-panier-flottant.fb-vide .fb-pf__total, .fb-panier-flottant.fb-vide .fb-pf__nb { display: none; }

/* Tiroir */
.fb-tiroir { position: fixed; inset: 0; z-index: 100000; visibility: hidden; transition: visibility 0s .4s; }
.fb-tiroir.fb-ouvert { visibility: visible; transition: none; }
.fb-tiroir__voile { position: absolute; inset: 0; background: rgba(22, 34, 46, .45); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); opacity: 0; transition: opacity .35s ease; }
.fb-tiroir__panneau {
	position: absolute; top: 0; right: 0; bottom: 0; width: min(430px, 100%);
	display: flex; flex-direction: column; background: var(--fb-surface); color: var(--fb-encre);
	box-shadow: -20px 0 50px rgba(22, 34, 46, .2); border-radius: 28px 0 0 28px; overflow: hidden;
	transform: translateX(105%); transition: transform .42s cubic-bezier(.2, .8, .2, 1);
}
.fb-tiroir__panneau:focus { outline: none; }
.fb-tiroir.fb-ouvert .fb-tiroir__voile { opacity: 1; }
.fb-tiroir.fb-ouvert .fb-tiroir__panneau { transform: none; }
html.fb-tiroir-ouvert, html.fb-tiroir-ouvert body { overflow: hidden; }
.fb-tiroir__tete { display: flex; align-items: center; justify-content: space-between; padding: 22px 24px; border-bottom: 1px solid var(--fb-doux); }
.fb-tiroir__tete h2 { margin: 0; font-size: 1.4rem; font-weight: 800; }
.fb-tiroir__fermer {
	width: 40px; height: 40px; border-radius: 50%; border: 0; cursor: pointer; padding: 0;
	background: var(--fb-fond); color: var(--fb-encre); font-size: 24px; line-height: 1;
	transition: background .2s ease, transform .3s ease;
}
.fb-tiroir__fermer:hover { background: var(--fb-doux); transform: rotate(90deg); }
.fb-tiroir__contenu { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.fb-tiroir__liste { list-style: none; margin: 0; padding: 4px 24px; overflow-y: auto; flex: 1; min-height: 0; }
.fb-tiroir__article {
	display: grid; grid-template-columns: 72px 1fr auto; gap: 14px; align-items: center;
	padding: 16px 0; border-bottom: 1px solid var(--fb-doux);
	transition: opacity .28s ease, transform .28s ease;
}
.fb-tiroir__article:last-child { border-bottom: 0; }
.fb-tiroir__article.fb-retrait { opacity: .25; transform: translateX(40px); }
.fb-tiroir__img img { width: 72px; height: 72px; object-fit: cover; border-radius: 16px; background: var(--fb-doux); display: block; margin: 0 !important; }
.fb-tiroir__infos { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.fb-tiroir__nom { font-weight: 700; color: var(--fb-encre) !important; text-decoration: none !important; line-height: 1.25; }
.fb-tiroir__nom:hover { color: var(--fb-accent) !important; }
.fb-tiroir__infos dl.variation { margin: 0; font-size: .82rem; color: var(--fb-gris); display: flex; flex-wrap: wrap; gap: 0 4px; }
.fb-tiroir__infos dl.variation dt, .fb-tiroir__infos dl.variation dd, .fb-tiroir__infos dl.variation p { margin: 0; font-weight: 500; }
.fb-tiroir__qte { font-size: .85rem; color: var(--fb-gris); }
.fb-tiroir__droite { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; white-space: nowrap; }
.fb-retirer {
	display: inline-flex; align-items: center; gap: 5px; border: 0; cursor: pointer;
	background: transparent; color: var(--fb-gris); font: 600 .8rem var(--fb-police), system-ui, sans-serif;
	padding: 6px 9px; border-radius: 999px; transition: background .2s ease, color .2s ease;
}
.fb-retirer:hover, .fb-retirer:focus-visible { background: #f6e7e4; color: #a33a2a; }
.fb-retirer:disabled { opacity: .5; cursor: wait; }
.fb-tiroir__bas { padding: 18px 24px 24px; background: var(--fb-fond); border-top: 1px solid var(--fb-doux); }
.fb-tiroir__offert p { margin: 0 0 8px; font-size: .9rem; }
.fb-jauge { display: block; height: 8px; border-radius: 999px; background: var(--fb-trait); overflow: hidden; margin-bottom: 16px; }
.fb-jauge i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #f2b84b, var(--fb-chaud)); transition: width .6s cubic-bezier(.2, .8, .2, 1); }
.fb-tiroir__sous-total { display: flex; justify-content: space-between; align-items: baseline; margin: 0; font-size: 1.15rem; }
.fb-tiroir__sous-total strong { font-size: 1.35rem; font-weight: 800; }
.fb-tiroir__note { margin: 2px 0 16px; font-size: .82rem; color: var(--fb-gris); }
.fb-tiroir__boutons { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.fb-tiroir__boutons .button { text-align: center; justify-content: center; margin: 0; }
.fb-tiroir__boutons .fb-bouton-clair { border: 1.5px solid var(--fb-trait) !important; }
.fb-tiroir__vide { margin: auto; padding: 40px 28px; text-align: center; color: var(--fb-gris); }
.fb-tiroir__vide svg { color: var(--fb-gris-clair); }
.fb-tiroir__vide p { margin: 12px 0 20px; }
.fb-tiroir__vide strong { display: block; font-size: 1.15rem; color: var(--fb-encre); margin-bottom: 4px; }

@media (prefers-reduced-motion: no-preference) {
	.fb-flottants { animation: fb-flottants-entree .6s .4s cubic-bezier(.2, .8, .2, 1) both; }
	.fb-whatsapp__icone::after {
		content: ""; position: absolute; width: 56px; height: 56px; border-radius: 50%;
		box-shadow: 0 0 0 0 rgba(37, 211, 102, .5); animation: fb-wa-onde 2.8s 2s ease-out infinite;
	}
	.fb-whatsapp__icone { position: relative; }
}
@keyframes fb-flottants-entree { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: none; } }
@keyframes fb-wa-onde { 0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, .5); } 70%, 100% { box-shadow: 0 0 0 16px rgba(37, 211, 102, 0); } }

/* Mobile : au-dessus de la barre du bas de Storefront, boutons plus compacts */
@media (max-width: 767px) {
	.fb-flottants { right: 14px; bottom: 84px; gap: 10px; }
	.fb-whatsapp__icone { width: 50px; height: 50px; }
	.fb-whatsapp__icone::after { width: 50px; height: 50px; }
	.fb-whatsapp__bulle { display: none; }
	.fb-panier-flottant { height: 58px; padding: 5px; }
	.fb-pf__total { display: none; }
	.fb-pf__icone { width: 48px; height: 48px; }
	.fb-tiroir__panneau { border-radius: 0; }
	.fb-tiroir__article { grid-template-columns: 60px 1fr auto; gap: 12px; }
	.fb-tiroir__img img { width: 60px; height: 60px; }
}
@media print { .fb-flottants, .fb-tiroir { display: none !important; } }

/* =========================================================================
 * Mobile — ajustements d'affichage (téléphone ≤ 767 px, petit téléphone ≤ 380 px)
 * ====================================================================== */
/* Total TTC : seul le montant principal est en très grand (pas la TVA) */
.fb-panier__resume .cart_totals .order-total .includes_tax .amount { font-size: inherit; font-weight: 600; letter-spacing: 0; }

@media (max-width: 767px) {
	/* --- En-tête compact sur une ligne : logo · compte · panier · menu --- */
	.site-header { padding-top: 10px !important; padding-bottom: 10px !important; }
	.site-header > .col-full { flex-wrap: nowrap; gap: 6px; min-height: 48px; padding-right: 74px; }
	.site-header .site-branding { flex: 1 1 auto; min-width: 0; }
	.site-header .site-title, .site-header .site-title a { font-size: 1.2rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.site-branding .custom-logo-link img { max-height: 40px; }
	.fb-entete-droite { gap: 4px; flex: none; }
	.fb-compte { padding: 0; width: 44px; height: 44px; justify-content: center; }
	.site-header-cart .cart-contents { height: 44px; padding: 0 6px 0 12px !important; gap: 8px; }
	.site-header-cart .cart-contents .woocommerce-Price-amount { display: none; }
	.storefront-primary-navigation { background: transparent; }
	.storefront-primary-navigation > .col-full { padding: 0 16px; }
	.main-navigation .menu-toggle {
		position: absolute !important; top: 12px; right: 16px; z-index: 5;
		width: 48px; height: 44px; padding: 0 !important; margin: 0 !important;
		border-radius: 999px !important; border: 0 !important;
		background: var(--fb-encre) !important; color: #fff !important;
		font-size: 0 !important; line-height: 0;
	}
	.main-navigation .menu-toggle span { font-size: 0 !important; }
	.main-navigation .menu-toggle::before, .main-navigation .menu-toggle::after, .main-navigation .menu-toggle span::before {
		content: "" !important; position: absolute !important; left: 15px !important; width: 18px !important; height: 2px !important;
		margin: 0 !important; border-radius: 2px; background: #fff !important; box-shadow: none !important;
		transition: transform .25s ease, opacity .2s ease, top .25s ease !important;
	}
	.main-navigation .menu-toggle::before { top: 15px !important; }
	.main-navigation .menu-toggle span::before { top: 21px !important; }
	.main-navigation .menu-toggle::after { top: 27px !important; }
	.main-navigation.toggled .menu-toggle::before { top: 21px !important; transform: rotate(45deg); }
	.main-navigation.toggled .menu-toggle span::before { opacity: 0; }
	.main-navigation.toggled .menu-toggle::after { top: 21px !important; transform: rotate(-45deg); }
	.main-navigation.toggled .handheld-navigation { padding: 6px 0 14px; }
	.handheld-navigation ul.menu li a { padding: 10px 0; font-size: 1.05rem; }

	/* --- Accueil : héros --- */
	.fb-hero { padding-top: 28px !important; }
	.fb-hero h1 { font-size: clamp(2.1rem, 9vw, 2.6rem) !important; }
	.fb-hero__intro { font-size: 1.02rem; margin-bottom: 1.4em; }
	.fb-hero__boutons { gap: 10px; }
	.fb-hero__boutons .button { flex: 1 1 140px; text-align: center; padding: .95em .8em; font-size: .95rem; white-space: nowrap; }
	.fb-chiffres { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; }
	.fb-chiffres div { padding: 12px 10px; }
	.fb-chiffres strong { font-size: 1.1rem; }
	.fb-chiffres span { font-size: .75rem; }
	.fb-hero__visuels { grid-template-rows: 150px auto; gap: 10px; flex-basis: auto; }
	.fb-hero__visuels .fb-visuel--grand { grid-row: auto; }
	.fb-hero__visuels .fb-vedette { grid-column: 1 / -1; min-height: 0; }
	.fb-livraison__carte { flex-basis: auto; }
	.fb-livraison__carte svg { width: 100%; max-width: 240px; height: auto; max-height: 220px; }
	.fb-livraison { gap: 20px; }
	.fb-visuel, .fb-vedette { border-radius: 20px; }
	.fb-vedette { padding: 14px !important; }
	.fb-vedette small { font-size: .72rem; }
	.fb-vedette strong { font-size: 1rem; line-height: 1.25; }
	.fb-vedette .amount, .fb-vedette .fb-unite { font-size: .9rem; }

	/* --- Sections d'accueil --- */
	.fb-section { margin-bottom: 40px; }
	.fb-section h2 { font-size: clamp(1.7rem, 7.5vw, 2.1rem); }
	.fb-section__tete { margin-bottom: 18px; }
	.fb-bloc-blanc { padding: 24px 16px; }
	.fb-produits { gap: 12px; }
	.fb-produit { flex-direction: row !important; align-items: flex-start !important; gap: 14px; padding: 12px !important; border-radius: 20px; }
	.fb-produit__image { width: 96px !important; height: 96px !important; border-radius: 14px; }
	.fb-produit__nom { font-size: 1rem; }
	.fb-produit__resume { display: none; }
	.fb-produit .price { font-size: 1.05rem; }
	.fb-produit .button { padding: .6em 1em; font-size: .85rem; }
	.fb-pastille { margin-bottom: 4px; }
	.fb-raisons { grid-template-columns: minmax(0, 1fr); gap: 10px; }
	.fb-raison { display: grid; grid-template-columns: 46px minmax(0, 1fr); column-gap: 14px; align-items: start; padding: 16px; border-radius: 20px; }
	.fb-raison__icone { width: 46px; height: 46px; border-radius: 14px; margin: 0; grid-row: span 3; }
	.fb-raison__chiffre { font-size: 1.3rem; margin-bottom: 2px; }
	.fb-raison h3 { font-size: 1rem; margin-bottom: 2px; }
	.fb-raison p { font-size: .88rem; }

	/* --- Pages catégorie : grille sur 2 colonnes, cartes compactes --- */
	ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px; }
	ul.products li.product { padding: 8px 8px 12px; border-radius: 20px; }
	ul.products li.fb-conseil { grid-column: 1 / -1; padding: 24px 20px; }
	.fb-vignette { border-radius: 14px; margin-bottom: 10px; }
	.fb-vignette .fb-badge { left: 8px; top: 8px; padding: 4px 8px; font-size: .68rem; }
	ul.products li.product .woocommerce-loop-product__title { font-size: .95rem !important; padding: 0 4px !important; margin-bottom: 4px !important; }
	ul.products li.product .fb-extrait { display: none; }
	ul.products li.product .fb-carte-bas { padding: 6px 4px 0; flex-direction: column; align-items: stretch; gap: 8px; }
	ul.products li.product .price { font-size: 1.05rem; }
	ul.products li.product .button { width: 100%; text-align: center; justify-content: center; padding: .7em .6em; font-size: .88rem; }
	.fb-filtres { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; margin: 0 -14px; padding: 0 14px 2px; }
	.fb-filtres::-webkit-scrollbar { display: none; }
	.fb-filtres a { flex: none; }
	.fb-reassurance { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px; }
	.fb-reassurance > div { flex-direction: column; align-items: flex-start; gap: 8px; padding: 14px; }
	.fb-banniere h1 { font-size: clamp(2rem, 9vw, 2.6rem); }
	.fb-puces span { font-size: .8rem; padding: .45em .9em; }

	/* --- Fiche produit --- */
	.single-product div.product { padding: 16px !important; }
	.single-product div.product .product_title { font-size: clamp(1.6rem, 7vw, 2rem); }
	.single-product div.product p.price { font-size: 1.5rem !important; }
	.single-product div.product form.cart .variations select { width: 100%; }
	.single-product div.product form.cart .variations th, .single-product div.product form.cart .variations td { display: block; padding: 0 0 6px; }
	.single-product div.product .woocommerce-variation-add-to-cart,
	.single-product div.product form.cart:not(.variations_form) { display: flex; gap: 10px; align-items: stretch; flex-wrap: nowrap; }
	.single-product div.product form.cart .quantity { flex: none; margin: 0 !important; }
	.single-product div.product form.cart .quantity input.qty { width: 72px; height: 100%; min-height: 50px; }
	.single-product div.product form.cart .single_add_to_cart_button { flex: 1; margin: 0 !important; text-align: center; justify-content: center; }
	.woocommerce-tabs ul.tabs li a { padding: .8em 0; }

	/* --- Panier --- */
	.fb-etapes-zone { padding-top: 24px; }
	.fb-etapes { flex-wrap: nowrap; gap: 6px; margin-bottom: 20px; }
	.fb-etapes li { font-size: 0; padding: 6px; gap: 0; }
	.fb-etapes li span { font-size: .8rem; }
	.fb-etapes li.fb-actif { font-size: .8rem; padding: 6px 14px 6px 6px; gap: 8px; }
	.fb-panier__actions .coupon { flex-wrap: nowrap; width: 100%; }
	.fb-panier__actions .coupon input { min-width: 0; width: 0; flex: 1 1 auto; }
	.fb-panier__carte, .fb-panier__resume { min-width: 0; }

	/* --- Pied de page --- */
	.fb-pied { gap: 28px; }
	.fb-pied__infos ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 14px; }
	.fb-pied__infos ul a { align-items: flex-start; font-size: .92rem; }
	.fb-pied__engagements { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px !important; }
	.fb-pied__engagements li { font-size: .88rem; align-items: flex-start; gap: 8px; }
	.fb-pied__engagements li span { width: 30px; height: 30px; border-radius: 10px; }
	.fb-macaron { width: 108px; height: 108px; }
	.fb-macaron__coeur { inset: 24px; }
	.site-footer { background-image: none !important; }
	.fb-appel__boutons .button { flex: 1 1 100%; text-align: center; justify-content: center; }
}

@media (max-width: 380px) {
	.site-header .site-title, .site-header .site-title a { font-size: 1.05rem; }
	.fb-compte { display: none !important; }
	.fb-hero__boutons .button { flex-basis: 100%; }
	.fb-chiffres strong { font-size: 1rem; }
	ul.products li.product .woocommerce-loop-product__title { font-size: .88rem !important; }
	.fb-pied__infos ul, .fb-pied__engagements { grid-template-columns: minmax(0, 1fr) !important; }
}

/* Tablette (768–1100 px) : en-tête sur deux lignes, menu sur une seule ligne défilante */
@media (min-width: 768px) and (max-width: 1100px) {
	.site-header > .col-full { flex-wrap: nowrap; gap: 14px; }
	.site-header .site-search { flex: 1 1 160px; min-width: 0; }
	.fb-compte { padding: 0; width: 46px; height: 46px; justify-content: center; }
	.fb-compte span { display: none; }
	.main-navigation ul.menu { display: flex !important; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
	.main-navigation ul.menu::-webkit-scrollbar { display: none; }
	.main-navigation ul.menu > li { flex: none; }
	.main-navigation ul.menu > li > a { padding-right: 1.2em; white-space: nowrap; }
	.main-navigation ul.menu > li > a::after { right: 1.2em; }
	.fb-banniere__scene { display: none; }
	.fb-banniere .col-full { padding-bottom: 100px; }
	.fb-hero__visuels { grid-template-rows: 220px 220px; }
}

/* =========================================================================
 * Page de confirmation de commande : en-tête animé + fiche de virement
 * ====================================================================== */
.fb-merci {
	position: relative; overflow: hidden; isolation: isolate;
	display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px 28px; align-items: center;
	margin: 0 0 28px; padding: 34px 36px 30px; border-radius: var(--fb-rayon);
	background: radial-gradient(120% 140% at 0% 0%, #34495e 0%, var(--fb-accent) 45%, var(--fb-encre) 100%);
	color: #fff;
}
.fb-merci__coche { grid-row: span 2; }
.fb-merci__coche svg { display: block; overflow: visible; }
.fb-merci__halo { fill: var(--fb-chaud); opacity: .18; transform-origin: 60px 60px; }
.fb-merci__cercle { fill: none; stroke: var(--fb-chaud); stroke-width: 7; }
.fb-merci__trait { fill: none; stroke: #fff; stroke-width: 8; stroke-linecap: round; stroke-linejoin: round; }
.fb-merci__texte h2 { margin: 0 0 6px; color: #fff; font-size: clamp(1.6rem, 3vw, 2.3rem); line-height: 1.1; letter-spacing: -.03em; }
.fb-merci__texte p { margin: 0; max-width: 60ch; color: var(--fb-gris-clair); font-size: 1.02rem; line-height: 1.55; }
.fb-merci__etapes { grid-column: 2; list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.fb-merci__etapes li { position: relative; display: flex; align-items: center; gap: 10px; margin: 0; padding: 12px 14px; border-radius: 16px; background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .12); }
.fb-merci__etapes li.fb-actif { background: rgba(232, 135, 63, .16); border-color: rgba(232, 135, 63, .55); }
.fb-merci__etapes strong { display: block; color: #fff; font-size: .92rem; line-height: 1.25; }
.fb-merci__etapes small { display: block; color: var(--fb-gris-clair); font-size: .8rem; line-height: 1.3; }
.fb-merci__puce { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: rgba(255, 255, 255, .14); color: #fff; font-weight: 800; font-size: .85rem; }
.fb-merci__etapes .fb-fait .fb-merci__puce { background: var(--fb-chaud); }
.fb-merci__etapes .fb-actif .fb-merci__puce { background: #fff; color: var(--fb-accent); }
.fb-merci__braises { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.fb-merci__braise { position: absolute; left: var(--x); bottom: -10px; width: 6px; height: 6px; border-radius: 50%; background: var(--fb-chaud); box-shadow: 0 0 10px 2px rgba(232, 135, 63, .6); opacity: 0; }
.fb-merci__braise:nth-child(3n) { width: 4px; height: 4px; background: #f6c08a; }
/* Le message standard « Merci. Votre commande a été reçue. » est remplacé par l'en-tête */
.fb-merci ~ .woocommerce-thankyou-order-received { display: none; }

/* Récapitulatif (numéro, date, total, paiement) en petites cartes */
.woocommerce-order ul.woocommerce-order-overview { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin: 0 0 28px; padding: 0; list-style: none; }
.woocommerce-order ul.woocommerce-order-overview li { float: none; margin: 0; padding: 14px 16px; border: 1px solid var(--fb-trait); border-radius: 16px; background: var(--fb-surface); color: var(--fb-gris); font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; line-height: 1.4; }
.woocommerce-order ul.woocommerce-order-overview li strong { display: block; margin-top: 4px; color: var(--fb-encre); font-size: 1rem; letter-spacing: 0; text-transform: none; word-break: break-word; }

/* Fiche de virement : tout au même endroit */
.fb-rib { margin: 0 0 36px; padding: 26px 28px; border: 2px solid var(--fb-chaud); border-radius: var(--fb-rayon); background: var(--fb-surface); box-shadow: 0 18px 40px -28px rgba(22, 34, 46, .45); }
.fb-rib__tete { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.fb-rib__icone { flex: none; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: rgba(232, 135, 63, .14); color: var(--fb-chaud-texte); }
.fb-rib__tete h2 { margin: 0; font-size: 1.35rem; line-height: 1.2; letter-spacing: -.02em; }
.fb-rib__tete p { margin: 2px 0 0; color: var(--fb-gris); font-size: .92rem; }
.fb-rib__grille { display: grid; gap: 0; margin: 0 0 14px; border: 1px solid var(--fb-trait); border-radius: 16px; overflow: hidden; background: var(--fb-surface); }
.fb-rib__grille--cles { grid-template-columns: repeat(2, minmax(0, 1fr)); border-color: transparent; gap: 12px; overflow: visible; }
.fb-rib__ligne { display: grid; grid-template-columns: 180px minmax(0, 1fr); align-items: center; gap: 12px; padding: 12px 16px; border-top: 1px solid var(--fb-trait); }
.fb-rib__ligne:first-child { border-top: 0; }
.fb-rib__ligne dt { margin: 0; color: var(--fb-gris); font-size: .8rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.fb-rib__ligne dd { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0; min-width: 0; }
.fb-rib__valeur { min-width: 0; color: var(--fb-encre); font-weight: 700; overflow-wrap: anywhere; }
.fb-rib__ligne--code .fb-rib__valeur { font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; font-size: 1.02rem; letter-spacing: .02em; }
.fb-rib__grille--cles .fb-rib__ligne { display: flex; flex-direction: column; align-items: stretch; gap: 6px; padding: 14px 16px; border: 0; border-radius: 16px; background: var(--fb-fond); }
.fb-rib__ligne--forte .fb-rib__valeur { font-size: 1.3rem; letter-spacing: -.01em; }
.fb-rib__copier {
	flex: none; min-height: 36px; padding: 6px 14px; border: 1px solid var(--fb-trait); border-radius: 999px;
	background: var(--fb-surface); color: var(--fb-accent); font: inherit; font-size: .82rem; font-weight: 700; line-height: 1; cursor: pointer;
	transition: background .2s, color .2s, border-color .2s;
}
.fb-rib__copier:hover, .fb-rib__copier:focus-visible { background: var(--fb-accent); border-color: var(--fb-accent); color: #fff; }
.fb-rib__copier.fb-copie { background: #2e7d32; border-color: #2e7d32; color: #fff; }
.fb-rib__note { margin: 6px 0 0; color: var(--fb-gris); font-size: .88rem; line-height: 1.55; }

@media (max-width: 720px) {
	.fb-merci { grid-template-columns: minmax(0, 1fr); padding: 26px 20px 22px; text-align: center; justify-items: center; }
	.fb-merci__coche { grid-row: auto; }
	.fb-merci__coche svg { width: 88px; height: 88px; }
	.fb-merci__etapes { grid-column: 1; grid-template-columns: minmax(0, 1fr); width: 100%; text-align: left; }
	.fb-rib { padding: 20px 16px; }
	.fb-rib__grille--cles { grid-template-columns: minmax(0, 1fr); }
	.fb-rib__ligne { grid-template-columns: minmax(0, 1fr); gap: 4px; }
}

@media (prefers-reduced-motion: no-preference) {
	@keyframes fb-merci-cercle { from { stroke-dashoffset: 290; } to { stroke-dashoffset: 0; } }
	@keyframes fb-merci-trait { from { stroke-dashoffset: 70; } to { stroke-dashoffset: 0; } }
	@keyframes fb-merci-halo { 0% { transform: scale(.6); opacity: 0; } 60% { opacity: .28; } 100% { transform: scale(1); opacity: .18; } }
	@keyframes fb-merci-pouls { 0%, 100% { transform: scale(1); opacity: .18; } 50% { transform: scale(1.08); opacity: .3; } }
	@keyframes fb-merci-braise { 0% { opacity: 0; transform: translate(0, 0) scale(.6); } 15% { opacity: 1; } 100% { opacity: 0; transform: translate(14px, -260px) scale(1.1); } }
	@keyframes fb-merci-entre { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
	@keyframes fb-merci-lueur { 0%, 100% { box-shadow: 0 18px 40px -28px rgba(22, 34, 46, .45), 0 0 0 0 rgba(232, 135, 63, 0); } 50% { box-shadow: 0 18px 40px -28px rgba(22, 34, 46, .45), 0 0 0 6px rgba(232, 135, 63, .16); } }

	.fb-merci { animation: fb-merci-entre .7s var(--fb-courbe) both; }
	.fb-merci__cercle { stroke-dasharray: 290; animation: fb-merci-cercle .9s .2s var(--fb-courbe) both; transform: rotate(-90deg); transform-origin: 60px 60px; }
	.fb-merci__trait { stroke-dasharray: 70; animation: fb-merci-trait .5s 1s ease-out both; }
	.fb-merci__halo { animation: fb-merci-halo .9s .4s var(--fb-courbe) both, fb-merci-pouls 3s 1.4s ease-in-out infinite; }
	.fb-merci__braise { animation: fb-merci-braise var(--t) var(--d) ease-out infinite; }
	.fb-merci__texte { animation: fb-merci-entre .7s .45s var(--fb-courbe) both; }
	.fb-merci__etapes li { animation: fb-merci-entre .6s calc(.8s + var(--i) * .15s) var(--fb-courbe) both; }
	.woocommerce-order ul.woocommerce-order-overview li { animation: fb-merci-entre .6s var(--fb-courbe) both; }
	.woocommerce-order ul.woocommerce-order-overview li:nth-child(2) { animation-delay: .08s; }
	.woocommerce-order ul.woocommerce-order-overview li:nth-child(3) { animation-delay: .16s; }
	.woocommerce-order ul.woocommerce-order-overview li:nth-child(4) { animation-delay: .24s; }
	.woocommerce-order ul.woocommerce-order-overview li:nth-child(5) { animation-delay: .32s; }
	.fb-rib { animation: fb-merci-entre .7s .3s var(--fb-courbe) both, fb-merci-lueur 2.6s 1.6s ease-in-out 3; }
}
