/* Boutique Ésotérisme — charte « la Sibylle » : encre de nuit, prune, laiton, parchemin */
:root {
	--bes-nuit: #1a1622;
	--bes-nuit-2: #3a2840;
	--bes-creme: #f4eee3;
	--bes-papier: #fbf7f0;
	--bes-encre: #221d27;
	--bes-encre-douce: #5a5060;
	--bes-or: #b8904f;
	--bes-or-clair: #d9bd8c;
	--bes-bleu: #3a2840;
	--bes-bleu-fonce: #2a1d30;
	--bes-filet: #e0d4bf;
	--bes-lin: #e7ddcc;
	--bes-sauge: #6c7a60;
	--bes-cire: #9b3b2e;
	--bes-titre: 'Fraunces', Georgia, serif;
	--bes-texte: 'Figtree', 'Segoe UI', sans-serif;
}

body, .ast-separate-container { background: var(--bes-creme); }
body, button, input, select, textarea, .ast-button, .ast-custom-button {
	font-family: var(--bes-texte);
	color: var(--bes-encre);
}
body { font-size: 17px; line-height: 1.65; }
h1, h2, h3, h4, h5, h6, .entry-title, .site-title, .woocommerce-loop-product__title, .product_title {
	font-family: var(--bes-titre) !important;
	color: var(--bes-encre);
	letter-spacing: 0;
	text-transform: none !important;
}
h1, .product_title { font-weight: 560; }
h2, h3 { font-weight: 560; }
a { color: var(--bes-bleu); }
a:hover, a:focus { color: var(--bes-or); }

/* En-tête */
.site-header, .ast-primary-header-bar, .main-header-bar, .ast-mobile-header-wrap .ast-primary-header-bar {
	background: var(--bes-nuit) !important;
	border-bottom: 3px solid var(--bes-or) !important;
}
.ast-above-header-bar, .ast-above-header {
	background: var(--bes-nuit-2) !important;
	color: var(--bes-or-clair);
	font-size: 14px;
}
.site-header .site-title a, .site-header .main-header-menu > .menu-item > .menu-link,
.site-header .ast-header-woo-cart .ast-cart-menu-wrap, .site-header .ast-site-header-cart a,
.site-header .ast-mobile-menu-trigger-minimal, .site-header .menu-toggle {
	color: var(--bes-creme) !important;
}
.site-header .main-header-menu > .menu-item > .menu-link { font-family: var(--bes-titre); font-size: 17px; font-weight: 700; }
.site-header .main-header-menu > .menu-item:hover > .menu-link,
.site-header .main-header-menu > .current-menu-item > .menu-link { color: var(--bes-or-clair) !important; }
.site-header .sub-menu { background: var(--bes-papier) !important; border-top: 2px solid var(--bes-or) !important; }
.site-header .sub-menu .menu-link { color: var(--bes-encre) !important; }
.site-header .sub-menu .menu-link:hover { color: var(--bes-bleu) !important; background: var(--bes-creme); }
.ast-builder-menu-mobile .main-navigation .menu-item > .menu-link { color: var(--bes-encre) !important; }

/* Boutons */
.button, button.button, a.button, input[type="submit"], .wp-block-button__link,
.woocommerce .single_add_to_cart_button, .woocommerce a.checkout-button, .woocommerce #place_order {
	background: var(--bes-bleu) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 6px !important;
	font-family: var(--bes-texte);
	font-weight: 700;
	letter-spacing: .02em;
	transition: background .15s ease;
}
.button:hover, button.button:hover, a.button:hover, input[type="submit"]:hover, .wp-block-button__link:hover,
.woocommerce .single_add_to_cart_button:hover { background: var(--bes-bleu-fonce) !important; }

/* Prix */
.woocommerce .price, .woocommerce-Price-amount { color: var(--bes-bleu) !important; font-weight: 700; }
.woocommerce .price del, .woocommerce .price del .woocommerce-Price-amount { color: var(--bes-encre-douce) !important; opacity: .7; font-weight: 400; }
.woocommerce .price ins { text-decoration: none; }
.woocommerce span.onsale, .ast-onsale-card {
	background: var(--bes-or) !important;
	color: var(--bes-nuit) !important;
	font-weight: 700;
	border-radius: 4px !important;
}

/* Cartes produit */
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
	background: var(--bes-papier);
	border: 1px solid var(--bes-filet);
	border-radius: 10px;
	padding: 12px 12px 18px;
	text-align: center;
}
.woocommerce ul.products li.product img { border-radius: 6px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 18px; line-height: 1.3; }
.woocommerce ul.products li.product .ast-woo-product-category { color: var(--bes-or); font-size: 13px; text-transform: uppercase; letter-spacing: .06em; }

/* Fiche produit */
.single-product div.product .woocommerce-product-details__short-description p:first-child {
	font-family: var(--bes-titre);
	font-style: italic;
	font-size: 1.15em;
	color: var(--bes-encre-douce);
	border-left: 3px solid var(--bes-or);
	padding-left: 14px;
}
.single-product div.product .woocommerce-product-details__short-description ul { margin-left: 1.2em; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-family: var(--bes-titre); font-size: 18px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--bes-bleu); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active:before { background: var(--bes-or); }
.woocommerce-Tabs-panel h2 { font-size: 1.6em; margin-top: .4em; }
.woocommerce-Tabs-panel h3 { font-size: 1.3em; margin-top: 1.4em; color: var(--bes-bleu); }
.bes-faq-item { background: var(--bes-papier); border: 1px solid var(--bes-filet); border-radius: 8px; padding: 12px 16px; }
.bes-faq-item h4 { font-size: 1.05em; margin: 0 0 4px; }
.bes-faq-item p { margin: 0; }

/* Contenus */
.ast-separate-container .ast-article-single, .ast-separate-container .ast-article-post,
.woocommerce.ast-separate-container .site-main > .product, .ast-woocommerce-container {
	background: var(--bes-papier);
}
.woocommerce-breadcrumb, .ast-breadcrumbs { color: var(--bes-encre-douce); font-size: 14px; }

/* Pied de page */
.site-footer, .site-primary-footer-wrap, .site-below-footer-wrap, .site-above-footer-wrap {
	background: var(--bes-nuit) !important;
	color: #d8c9ad !important;
	border-top: 3px solid var(--bes-or);
}
.site-below-footer-wrap { border-top: 1px solid var(--bes-nuit-2); }
.site-footer a { color: var(--bes-or-clair) !important; }
.site-footer a:hover { color: #fff !important; }
.site-footer .widget-title, .site-footer h2, .site-footer h3, .site-footer h4 { color: var(--bes-creme) !important; }
.bes-rayons { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
@media (max-width: 921px) { .bes-rayons { grid-template-columns: repeat(2, 1fr); } }
.bes-rayon {
	display: block; text-decoration: none; background: var(--bes-papier); border: 1px solid var(--bes-filet);
	border-radius: 10px; overflow: hidden; color: var(--bes-encre) !important; transition: border-color .15s ease, box-shadow .15s ease;
}
.bes-rayon:hover { border-color: var(--bes-or); box-shadow: 0 6px 18px rgba(29, 36, 64, .12); }
.bes-rayon img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block; }
.bes-rayon span { display: block; padding: 12px 14px; font-family: var(--bes-titre); font-weight: 700; font-size: 19px; }
.bes-rayon small { display: block; padding: 0 14px 14px; color: var(--bes-encre-douce); font-size: 14px; }
.bes-gaspard {
	display: grid; grid-template-columns: 1fr 1.4fr; gap: 32px; align-items: center;
	background: var(--bes-papier); border: 1px solid var(--bes-filet); border-radius: 14px; padding: 32px;
}
.bes-gaspard img { width: 100%; border-radius: 10px; }
.bes-gaspard blockquote { font-family: var(--bes-titre); font-style: italic; font-size: 1.25em; border-left: 3px solid var(--bes-or); margin: 0 0 16px; padding-left: 16px; }
.bes-atouts { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.bes-atout { background: var(--bes-papier); border: 1px solid var(--bes-filet); border-top: 3px solid var(--bes-or); border-radius: 10px; padding: 18px; }
.bes-atout h3 { font-size: 1.15em; margin: 0 0 6px; }
.bes-atout p { margin: 0; color: var(--bes-encre-douce); }
.bes-home-faq { max-width: 860px; margin: 0 auto; }
@media (max-width: 768px) {
	.bes-gaspard { grid-template-columns: 1fr; padding: 20px; }
}

/* En-tête : titre sur une ligne, pas de slogan, panier compact */
.site-header .site-title { white-space: nowrap; font-size: 26px; margin: 0; }
.site-header .site-description { display: none; }
.site-header .ast-woo-header-cart-info-wrap { display: none !important; }
.site-header .ast-site-header-cart .ast-cart-menu-wrap .count, .site-header .ast-addon-cart-wrap .count { color: var(--bes-creme); border-color: var(--bes-or-clair); }
.site-header .ast-search-menu-icon .search-field { color: var(--bes-encre); }
.site-header .astra-search-icon, .site-header .ast-icon svg { fill: var(--bes-creme); color: var(--bes-creme); }

/* Catégories */
.bes-cat-bottom { background: var(--bes-papier); border: 1px solid var(--bes-filet); border-radius: 12px; padding: 28px 32px; margin: 40px 0 10px; }
.bes-cat-bottom h2 { font-size: 1.6em; }
.bes-cat-bottom h3 { font-size: 1.25em; color: var(--bes-bleu); }
.bes-cat-bottom .bes-faq-item h3 { color: var(--bes-encre); font-size: 1.05em; margin: 0 0 4px; }
.term-description { font-size: 1.08em; color: var(--bes-encre-douce); max-width: 860px; }

/* Logo + visuels de l'accueil */
.site-header .custom-logo-link img, .site-header .custom-logo { max-height: 64px; width: auto; border-radius: 6px; }
.site-header .site-title, .site-header .site-title a { font-family: var(--bes-titre) !important; font-weight: 800; }
.button, a.button, button.button, .wp-block-button__link, .woocommerce .single_add_to_cart_button {
	text-transform: none !important; font-size: 16px !important; padding: 12px 22px !important; letter-spacing: 0 !important;
}
.woocommerce ul.products li.product .button { font-size: 14px !important; padding: 9px 16px !important; }

/* Pied de page lisible */
.site-footer, .site-footer p, .site-footer li, .site-footer .widget, .site-footer .ast-footer-copyright, .site-footer .ast-footer-copyright p { color: #d8c9ad !important; }
.site-footer .widget-title, .site-footer h2 { font-family: var(--bes-titre) !important; font-size: 20px; margin-bottom: 10px; }
.site-footer ul { list-style: none; margin: 0; }
.site-footer li { margin-bottom: 6px; }
/* Pas d'étoiles vides sans avis */
.woocommerce ul.products li.product .star-rating:has(> span[style*="width:0%"]) { display: none; }

/* Sous-collections */
.bes-souscols { display: flex; flex-wrap: nowrap; gap: 8px; margin: 6px 0 22px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; padding-bottom: 2px; }
.bes-souscols::-webkit-scrollbar { display: none; }
.bes-souscols a { flex: 0 0 auto; white-space: nowrap; scroll-snap-align: start; }
@media (max-width: 921px) { .bes-souscols { margin-left: -20px; margin-right: -20px; padding-left: 20px; padding-right: 20px; scroll-padding-left: 20px; } }
.bes-souscols a { background: var(--bes-papier); border: 1px solid var(--bes-filet); border-radius: 999px; padding: 6px 14px; color: var(--bes-encre) !important; text-decoration: none; font-weight: 500; }
.bes-souscols a:hover { border-color: var(--bes-or); color: var(--bes-bleu) !important; }
.bes-souscols small { color: var(--bes-encre-douce); margin-left: 4px; }

/* Filtres couleur / matière */
.bes-filtres { background: var(--bes-papier); border: 1px solid var(--bes-filet); border-radius: 12px; padding: 14px 16px; margin: 0 0 22px; display: grid; gap: 10px; }
.bes-filtre { display: flex; gap: 12px; align-items: flex-start; }
.bes-filtre-label { font-family: var(--bes-titre); font-weight: 700; min-width: 74px; padding-top: 5px; }
.bes-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.bes-chip { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--bes-filet); background: #fff; border-radius: 999px; padding: 4px 11px; font-size: 14px; color: var(--bes-encre) !important; text-decoration: none; }
.bes-chip:hover { border-color: var(--bes-or); }
.bes-chip.is-on { background: var(--bes-bleu); border-color: var(--bes-bleu); color: #fff !important; }
.bes-chip small { opacity: .65; }
.bes-filtre-reset { justify-self: start; font-size: 14px; }
.bes-sw { width: 14px; height: 14px; border-radius: 50%; border: 1px solid rgba(0,0,0,.2); display: inline-block; }
.bes-sw-noir { background: #1d1d1d; } .bes-sw-blanc { background: #fff; } .bes-sw-gris { background: #8e8e8e; }
.bes-sw-argente { background: linear-gradient(135deg, #f2f2f2, #9a9a9a); } .bes-sw-dore { background: linear-gradient(135deg, #f7dd7a, #b8860b); }
.bes-sw-cuivre { background: linear-gradient(135deg, #e3a06a, #8c4a22); } .bes-sw-rouge { background: #c62828; } .bes-sw-rose { background: #ef8fb5; }
.bes-sw-orange { background: #ef7d22; } .bes-sw-jaune { background: #f5cf2a; } .bes-sw-vert { background: #2e9d4a; } .bes-sw-bleu { background: #2463c9; }
.bes-sw-violet { background: #7b3fb5; } .bes-sw-marron { background: #6b4226; }
.bes-sw-transparent { background: repeating-linear-gradient(45deg, #fff 0 3px, #dfe7ee 3px 6px); }
.bes-sw-multicolore { background: conic-gradient(#e53935, #fdd835, #43a047, #1e88e5, #8e24aa, #e53935); }
@media (max-width: 600px) { .bes-filtre { flex-direction: column; gap: 4px; } }

/* ===== Fiche produit : conversion ===== */
/* En-tête mobile : tout tient dans l'écran, le menu reste visible */
@media (max-width: 921px) {
	.site-header .custom-logo-link img, .site-header .custom-logo { max-height: 46px; }
	.site-header .site-title { font-size: 19px !important; }
}
@media (max-width: 420px) {
	.site-header .site-title { font-size: 16px !important; }
	.site-header .custom-logo-link img, .site-header .custom-logo { max-height: 40px; }
}

.bes-ariane { margin: 0 0 14px; font-size: 14px; }
.bes-ariane .bes-sep { margin: 0 7px; color: var(--bes-or); }
.single-product .summary > .price { font-size: 1.6em !important; margin-bottom: 10px; }
.single-product .woocommerce-variation-price { display: none; }
.single-product table.variations th.label { display: block; padding: 0 0 6px; text-align: left; }
.single-product table.variations td.value { display: block; padding: 0 0 12px; }
.bes-hidden-select { position: absolute !important; opacity: 0; pointer-events: none; height: 0 !important; width: 0 !important; }
.bes-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.bes-pill { border: 1.5px solid var(--bes-filet); background: #fff; color: var(--bes-encre); border-radius: 8px; padding: 8px 14px; font: inherit; font-size: 15px; cursor: pointer; line-height: 1.2; }
.bes-pill:hover { border-color: var(--bes-or); }
.bes-pill.is-on { border-color: var(--bes-bleu); box-shadow: inset 0 0 0 1px var(--bes-bleu); background: #fdf3ef; font-weight: 700; }
.bes-pill.is-off { opacity: .4; text-decoration: line-through; }
.single-product form.cart:not(.variations_form), .single-product .woocommerce-variation-add-to-cart { display: flex; gap: 10px; align-items: stretch; }
.single-product form.cart .quantity .qty { height: 52px; width: 70px; }
.single-product .single_add_to_cart_button { flex: 1; height: 52px; font-size: 18px !important; }
.bes-rassure { list-style: none; margin: 18px 0 0; padding: 14px 16px; background: #fff; border: 1px solid var(--bes-filet); border-radius: 10px; display: grid; gap: 6px; font-size: 15px; }
.bes-rassure li { display: flex; align-items: center; gap: 10px; margin: 0; }
.bes-rassure .bes-picto { width: 36px; height: 36px; }
.woocommerce span.onsale { font-size: 15px; }
/* Vignettes de la galerie : une seule ligne défilante */
.single-product .flex-control-thumbs { display: flex !important; gap: 8px; overflow-x: auto; scrollbar-width: thin; }
.single-product .flex-control-thumbs li { flex: 0 0 calc(20% - 7px) !important; width: auto !important; margin: 8px 0 0 !important; }
/* Complète ta table */
.bes-complete { clear: both; padding-top: 30px; }
.bes-complete > h2 { font-size: 1.6em; }
/* Barre d'achat mobile */
.bes-stickybar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 999; display: flex; gap: 10px; align-items: center; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: var(--bes-papier); border-top: 2px solid var(--bes-or); box-shadow: 0 -4px 14px rgba(29, 36, 64, .15); transform: translateY(110%); transition: transform .2s ease; }
.bes-stickybar.is-on { transform: none; }
.bes-sb-t { flex: 1; min-width: 0; line-height: 1.3; }
.bes-sb-n { display: block; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bes-sb-p { display: block; font-weight: 700; color: var(--bes-bleu); font-size: 15px; }
.bes-sb-p del { display: none; }
.bes-stickybar .button { white-space: nowrap; padding: 12px 16px !important; }
/* Sur ordinateur : barre centrée sur la largeur du site */
.bes-stickybar.is-desk { gap: 16px; padding: 10px max(20px, calc((100vw - 1400px) / 2 + 20px)); }
.bes-sb-img { width: 52px; height: 52px; object-fit: cover; border-radius: 6px; border: 1px solid var(--bes-filet); flex: 0 0 auto; }
.is-desk .bes-sb-n { font-family: var(--bes-titre); font-weight: 700; font-size: 17px; }
.is-desk .bes-sb-p { font-size: 17px; }
.bes-sb-vars { display: flex; gap: 8px; flex: 0 1 auto; }
.bes-sb-vars select { min-width: 150px; max-width: 240px; padding: 10px 12px; border: 1px solid var(--bes-filet); border-radius: 6px; background: #fff; font: inherit; font-size: 15px; color: var(--bes-encre); }
.bes-sb-vars select:focus { outline: 2px solid var(--bes-or); }

.bes-pill { text-transform: none !important; letter-spacing: 0 !important; }

/* Un seul badge de remise par carte (celui d'Astra) */
ul.products li.product .onsale:not(.ast-onsale-card) { display: none !important; }

/* ===== Filtres en colonne latérale ===== */
#secondary .bes-filtres { background: none; border: 0; padding: 0; margin: 0 0 24px; display: block; }
#secondary .bes-filtres > summary { display: none; }
#secondary .bes-filtres-in { display: grid; gap: 22px; }
#secondary .bes-filtre { display: block; }
#secondary .bes-filtre-label { display: block; font-size: 19px; padding: 0 0 8px; margin-bottom: 8px; border-bottom: 2px solid var(--bes-or); }
#secondary .bes-chips { display: grid; gap: 2px; }
#secondary .bes-chip { border: 0; background: none; border-radius: 6px; padding: 6px 8px; font-size: 15px; justify-content: flex-start; }
#secondary .bes-chip::after { content: ""; }
#secondary .bes-chip small { margin-left: auto; }
#secondary .bes-chip:hover { background: var(--bes-papier); }
#secondary .bes-chip.is-on { background: #fdf3ef; color: var(--bes-bleu) !important; font-weight: 700; box-shadow: inset 3px 0 0 var(--bes-bleu); }
#secondary .bes-chip:not(:has(.bes-sw))::before { content: ""; width: 14px; height: 14px; border: 1.5px solid #b9a98c; border-radius: 3px; display: inline-block; }
#secondary .bes-chip.is-on:not(:has(.bes-sw))::before { background: var(--bes-bleu); border-color: var(--bes-bleu); box-shadow: inset 0 0 0 2px #fff; }
#secondary .bes-chip.is-on .bes-sw { box-shadow: 0 0 0 2px #fff, 0 0 0 3.5px var(--bes-bleu); }
#secondary .bes-filtre-reset { display: inline-block; margin-top: 4px; }
.woocommerce.archive #secondary { width: 23%; padding-top: 6px; }
.woocommerce.archive #primary.content-area { width: 77%; }
@media (max-width: 921px) {
	.woocommerce .ast-container, .woocommerce-page .ast-container { display: flex; flex-direction: column !important; }
	.woocommerce #secondary, .woocommerce-page #secondary { order: -1; width: 100%; padding: 0; margin: 14px 0 0; }
	.woocommerce #primary.content-area, .woocommerce-page #primary.content-area { width: 100%; }
	#secondary .bes-filtres { border: 1px solid var(--bes-filet); border-radius: 10px; background: var(--bes-papier); margin: 0; }
	#secondary .bes-filtres > summary { display: block; cursor: pointer; padding: 12px 16px; font-family: var(--bes-titre); font-weight: 700; font-size: 18px; }
	#secondary .bes-filtres-in { padding: 0 16px 16px; }
	#secondary .bes-chips { grid-template-columns: 1fr 1fr; }
}

/* Filtre couleur compact : 2 colonnes, lignes serrées */
#secondary .bes-chip { padding: 4px 6px; line-height: 1.25; }
#secondary .bes-f-couleur .bes-chips { grid-template-columns: 1fr 1fr; column-gap: 4px; row-gap: 0; }
#secondary .bes-f-couleur .bes-chip { font-size: 14px; gap: 6px; }
#secondary .bes-f-couleur .bes-chip small { font-size: 11px; }
#secondary .bes-sw { width: 13px; height: 13px; flex: 0 0 13px; }
#secondary .bes-filtre-label { margin-bottom: 6px; padding-bottom: 6px; }
#secondary .bes-filtres-in { gap: 18px; }
#secondary .bes-f-couleur .bes-chip { white-space: nowrap; }
#secondary .bes-f-couleur .bes-chip small { display: none; }

/* ===== Filtres mobile : bouton flottant + panneau ===== */
.bes-fbtn, .bes-fsheet { display: none; }
@media (max-width: 921px) {
	.woocommerce #secondary, .woocommerce-page #secondary { display: none; }
	.bes-fbtn { display: inline-flex; align-items: center; gap: 7px; position: fixed; z-index: 998; left: 50%; bottom: calc(16px + env(safe-area-inset-bottom)); transform: translateX(-50%); padding: 10px 18px; border: 0; border-radius: 999px; background: var(--bes-nuit); color: var(--bes-creme); font: inherit; font-weight: 700; font-size: 15px; box-shadow: 0 6px 18px rgba(29, 36, 64, .35); cursor: pointer; }
	.bes-fbtn b { background: var(--bes-or); color: var(--bes-nuit); border-radius: 999px; min-width: 20px; height: 20px; font-size: 12px; display: inline-grid; place-items: center; padding: 0 5px; }
	.bes-fsheet { display: block; position: fixed; inset: 0; z-index: 1000; pointer-events: none; }
	.bes-fsheet-bg { position: absolute; inset: 0; background: rgba(20, 12, 8, .45); opacity: 0; transition: opacity .2s ease; }
	.bes-fsheet-panel { position: absolute; left: 0; right: 0; bottom: 0; max-height: 85vh; display: flex; flex-direction: column; background: var(--bes-papier); border-radius: 16px 16px 0 0; transform: translateY(100%); transition: transform .25s ease; }
	.bes-fsheet.is-open { pointer-events: auto; }
	.bes-fsheet.is-open .bes-fsheet-bg { opacity: 1; }
	.bes-fsheet.is-open .bes-fsheet-panel { transform: none; }
	.bes-fsheet-head { display: flex; justify-content: space-between; align-items: center; padding: 14px 18px; border-bottom: 1px solid var(--bes-filet); font-family: var(--bes-titre); font-size: 20px; }
	.bes-fsheet-x { border: 0; background: none; font-size: 28px; line-height: 1; color: var(--bes-encre); cursor: pointer; padding: 0 4px; }
	.bes-fsheet-body { overflow-y: auto; padding: 14px 18px; }
	.bes-fsheet-foot { padding: 12px 18px calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid var(--bes-filet); }
	.bes-fsheet-foot .button { width: 100%; }
	.bes-fsheet .bes-filtres-in { display: grid; gap: 18px; }
	.bes-fsheet .bes-filtre { display: block; }
	.bes-fsheet .bes-filtre-label { display: block; font-size: 18px; padding-bottom: 6px; margin-bottom: 6px; border-bottom: 2px solid var(--bes-or); }
	.bes-fsheet .bes-chips { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 6px; }
	.bes-fsheet .bes-chip { border: 0; background: none; padding: 7px 6px; font-size: 15px; justify-content: flex-start; white-space: nowrap; }
	.bes-fsheet .bes-chip small { margin-left: auto; }
	.bes-fsheet .bes-f-couleur .bes-chip small { display: none; }
	.bes-fsheet .bes-chip.is-on { background: #fdf3ef; color: var(--bes-bleu) !important; font-weight: 700; }
	.bes-fsheet .bes-chip:not(:has(.bes-sw))::before { content: ""; width: 14px; height: 14px; border: 1.5px solid #b9a98c; border-radius: 3px; display: inline-block; flex: 0 0 14px; }
	.bes-fsheet .bes-chip.is-on:not(:has(.bes-sw))::before { background: var(--bes-bleu); border-color: var(--bes-bleu); box-shadow: inset 0 0 0 2px #fff; }
	.bes-fsheet .bes-chip.is-on .bes-sw { box-shadow: 0 0 0 2px #fff, 0 0 0 3.5px var(--bes-bleu); }
	.bes-fsheet .bes-filtre-reset { display: inline-block; }
	html.bes-noscroll { overflow: hidden; }
}

/* En-tête de collection pleine largeur */
.bes-coll-head { padding: 34px 0 6px; }
.bes-coll-head .ast-container { display: block; }
.bes-coll-titre { font-size: clamp(32px, 4vw, 48px); margin: 6px 0 10px; }
.bes-coll-head .term-description { max-width: 900px; margin-bottom: 14px; }
.bes-coll-head .bes-souscols { margin-bottom: 4px; }
.woocommerce.archive #primary .woocommerce-breadcrumb, .woocommerce.archive #primary .term-description { display: none; }
.woocommerce.archive #primary, .woocommerce.archive #secondary { padding-top: 18px; margin-top: 0; }
@media (max-width: 921px) { .bes-coll-head { padding-top: 18px; } }

/* Filtres : bloc collant + accordéons */
@media (min-width: 922px) {
	#secondary .bes-filtres { position: sticky; top: 20px; max-height: calc(100vh - 40px); overflow-y: auto; background: var(--bes-papier); border: 1px solid var(--bes-filet); border-radius: 12px; padding: 6px 14px 14px; box-shadow: 0 4px 16px rgba(29, 36, 64, .06); }
	#secondary .widget-area, #secondary .sidebar-main { height: 100%; }
	.woocommerce.archive #secondary { align-self: stretch; }
	.admin-bar #secondary .bes-filtres { top: 52px; }
}
.bes-filtres-in { gap: 4px !important; }
details.bes-filtre > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 8px; padding: 10px 2px 8px !important; margin: 0 !important; border-bottom: 1px solid var(--bes-filet) !important; font-family: var(--bes-titre); font-weight: 700; font-size: 18px !important; user-select: none; }
details.bes-filtre > summary::-webkit-details-marker { display: none; }
details.bes-filtre > summary::after { content: ""; margin-left: auto; width: 8px; height: 8px; border-right: 2px solid var(--bes-or); border-bottom: 2px solid var(--bes-or); transform: rotate(45deg); transition: transform .15s ease; margin-right: 4px; }
details.bes-filtre[open] > summary::after { transform: rotate(-135deg); }
details.bes-filtre > .bes-chips { padding: 8px 0 6px; }
.bes-nb { background: var(--bes-bleu); color: #fff; border-radius: 999px; font-size: 12px; min-width: 20px; height: 20px; display: inline-grid; place-items: center; padding: 0 6px; font-family: var(--bes-texte); }
.bes-filtres .bes-filtre-reset { margin-top: 10px; }
#secondary details.bes-filtre > summary, .bes-fsheet details.bes-filtre > summary { display: flex !important; align-items: center; }
#secondary .bes-filtres { overflow-x: hidden; }
#secondary .bes-chips, .bes-fsheet .bes-chips { min-width: 0; }
#secondary .bes-chip, .bes-fsheet .bes-chip { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
#secondary .bes-f-couleur .bes-chip { font-size: 13.5px; padding: 4px 3px; gap: 5px; }

/* Collections : pas de fond ni de filet autour de la grille, seules les cartes et le bloc de filtres se détachent */
.woocommerce.archive #primary, .woocommerce.archive .ast-woocommerce-container, .woocommerce.archive .site-main,
.woocommerce.archive.ast-separate-container .ast-woocommerce-container { background: transparent !important; box-shadow: none !important; padding-left: 0; padding-right: 0; }
.woocommerce.archive #secondary, .woocommerce.archive #primary { border: 0 !important; }
.woocommerce.archive.ast-left-sidebar #primary { padding-left: 40px; }
.woocommerce.archive .woocommerce-result-count, .woocommerce.archive .woocommerce-ordering { margin-bottom: 18px; }
@media (max-width: 921px) { .woocommerce.archive.ast-left-sidebar #primary { padding-left: 0; } }

/* Fiche produit : pas de fond « papier » autour du produit */
.single-product .site-main > .product, .single-product.ast-separate-container .ast-woocommerce-container,
.single-product #primary, .single-product .ast-article-single { background: transparent !important; box-shadow: none !important; }
.single-product .woocommerce-tabs, .single-product .bes-complete, .single-product .related { background: transparent; }
.single-product div.product .woocommerce-tabs ul.tabs::before { border-color: var(--bes-filet); }

/* Aucun fond « papier » sur le conteneur WooCommerce (fiches, collections) : seuls les blocs se détachent */
.ast-woocommerce-container { background: transparent !important; }

/* Fiches, panier, commande : pleine largeur du conteneur */
.single-product #primary.content-area, .woocommerce-cart #primary, .woocommerce-checkout #primary { width: 100% !important; }

/* Fiche produit : de l'air sous le menu */
.single-product #primary { padding-top: 28px; }
.single-product .bes-ariane { margin-bottom: 18px; }
@media (max-width: 921px) { .single-product #primary { padding-top: 16px; } }

/* Bouton « Acheter maintenant » à côté d'« Ajouter au panier » */
.single-product .bes-buynow { flex: 1; height: 52px; font-size: 18px !important; background: #f2b233 !important; color: var(--bes-nuit) !important; }
.single-product .bes-buynow:hover { background: #e0a01f !important; color: var(--bes-nuit) !important; }
.single-product .bes-buynow.disabled { opacity: .5; }
.bes-stickybar .bes-sb-buy { background: #f2b233 !important; color: var(--bes-nuit) !important; }
.bes-stickybar .bes-sb-buy:hover { background: #e0a01f !important; color: var(--bes-nuit) !important; }
.single-product form.cart:not(.variations_form), .single-product .woocommerce-variation-add-to-cart { flex-wrap: wrap; }
@media (max-width: 600px) { .single-product .bes-buynow { flex-basis: 100%; } }

/* Mobile : la grille des collections reprend toute la largeur */
@media (max-width: 921px) { .woocommerce.archive #primary.content-area, .woocommerce.archive #secondary { width: 100% !important; } .woocommerce.archive.ast-left-sidebar #primary { padding-left: 0 !important; padding-right: 0 !important; } }

/* Type de dés : 2 colonnes compactes */
#secondary .bes-f-typedes .bes-chips, .bes-fsheet .bes-f-typedes .bes-chips { grid-template-columns: 1fr 1fr; column-gap: 4px; row-gap: 0; }
#secondary .bes-f-typedes .bes-chip { font-size: 14px; padding: 4px 3px; }
#secondary .bes-f-typedes .bes-chip, .bes-fsheet .bes-f-typedes .bes-chip { white-space: nowrap; }
#secondary .bes-f-typedes .bes-chip small { font-size: 11px; }

/* Jamais de défilement horizontal de la page (clip ne casse pas position: sticky) */
html, body { overflow-x: clip; }

/* Accueil : entrées par intention */
.bes-intents { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.bes-intent { display: flex; flex-direction: column; gap: 6px; text-decoration: none; background: var(--bes-papier); border: 1px solid var(--bes-filet); border-left: 4px solid var(--bes-or); border-radius: 10px; padding: 18px 18px 16px; color: var(--bes-encre) !important; transition: border-color .15s ease, box-shadow .15s ease; }
.bes-intent:hover { border-color: var(--bes-or); box-shadow: 0 6px 18px rgba(29, 36, 64, .12); }
.bes-intent small { font-size: 13px; text-transform: uppercase; letter-spacing: .06em; color: var(--bes-or); font-weight: 700; }
.bes-intent strong { font-family: var(--bes-titre); font-size: 21px; line-height: 1.2; }
.bes-intent span { color: var(--bes-encre-douce); font-size: 15px; flex: 1; }
.bes-intent em { font-style: normal; font-weight: 700; color: var(--bes-bleu); font-size: 15px; }
.bes-intent em::after { content: " →"; }
@media (max-width: 921px) { .bes-intents { grid-template-columns: repeat(2, 1fr); gap: 10px; } .bes-intent { padding: 14px; } .bes-intent strong { font-size: 18px; } }
@media (max-width: 480px) { .bes-intents { grid-template-columns: 1fr; } }

/* Pictos maison : illustrations détourées, sans cadre */
.bes-picto { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; }
.bes-picto img { width: 100%; height: 100%; object-fit: contain; display: block; filter: drop-shadow(0 2px 3px rgba(29, 36, 64, .18)); }
.bes-atout .bes-picto { width: 64px; height: 64px; margin-bottom: 10px; }

/* Accueil : FAQ en accordéons sur deux colonnes */
.bes-home-faq { padding-bottom: 64px !important; }
.bes-home-faq details.bes-faq-item { padding: 0; }
.bes-home-faq summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; }
.bes-home-faq summary::-webkit-details-marker { display: none; }
.bes-home-faq summary h3 { font-size: 18px; margin: 0; line-height: 1.3; }
.bes-home-faq summary::after { content: "+"; flex: 0 0 auto; font-size: 22px; line-height: 1; color: var(--bes-or); font-weight: 700; }
.bes-home-faq details[open] summary::after { content: "−"; }
.bes-home-faq details p { padding: 0 18px 16px; margin: 0; color: var(--bes-encre-douce); }

/* En-tête : caché en descendant, revient dès qu'on remonte */
#masthead.bes-hdr { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 1000; transition: transform .25s ease, box-shadow .25s ease; will-change: transform; }
#masthead.bes-hdr.bes-hdr-ombre { box-shadow: 0 4px 16px rgba(29, 36, 64, .25); }
#masthead.bes-hdr.bes-hdr-cache { transform: translateY(calc(-100% - var(--wp-admin--admin-bar--height, 0px))); box-shadow: none; }
@media (max-width: 600px) { #masthead.bes-hdr { top: 0; } #masthead.bes-hdr.bes-hdr-cache { transform: translateY(-100%); } }
/* Les filtres des collections passent sous l'en-tête quand il est visible */
#secondary .bes-filtres { transition: top .25s ease; }
html.bes-hdr-visible #secondary .bes-filtres { top: calc(var(--bes-hdr-h, 80px) + var(--wp-admin--admin-bar--height, 0px) + 16px); max-height: calc(100vh - var(--bes-hdr-h, 80px) - 40px); }

/* Guides du blog : H1 en casse saisie (Astra le passe en « capitalize ») ; tableaux défilants sur mobile */
body.single-post h1.entry-title, body.blog .entry-title, body.archive .entry-title { text-transform: none !important; }
@media (max-width: 600px) {
	.single-post .entry-content table { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}

/* Cartes produit des guides d'achat ([cdd_carte]) */
.bes-carte { display: flex; flex-direction: column; gap: 6px; margin: 0 0 12px; text-decoration: none !important; color: var(--bes-encre) !important; background: #fff; border: 1px solid var(--bes-filet); border-radius: 10px; padding: 10px; transition: border-color .15s ease, box-shadow .15s ease; }
.bes-carte:hover { border-color: var(--bes-or); box-shadow: 0 6px 18px rgba(29, 36, 64, .14); }
.bes-carte img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 6px; display: block; margin: 0 0 4px; }
.bes-carte-nom { font-family: var(--bes-titre); font-weight: 700; font-size: 17px; line-height: 1.3; }
.bes-carte-prix { font-weight: 700; color: var(--bes-bleu); font-size: 17px; }
.bes-carte-prix del { color: var(--bes-encre-douce); opacity: .7; font-weight: 400; font-size: .85em; margin-right: 6px; }
.bes-carte-prix ins { text-decoration: none; }
.bes-carte-btn { display: block; text-align: center; margin-top: 4px; background: var(--bes-bleu); color: #fff; border-radius: 6px; padding: 11px 14px; font-weight: 700; }
.bes-carte:hover .bes-carte-btn { background: var(--bes-bleu-fonce); }
.bes-cartes { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); gap: 14px; margin: 10px 0 34px; }
.bes-cartes .bes-carte { margin: 0; }
.bes-cartes-label { margin: 28px 0 0 !important; font-size: 13px; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; color: var(--bes-or); }
.bes-gaspard h2 { margin-top: 0; }
.site-header .site-title a { font-family: var(--bes-titre) !important; font-weight: 600; letter-spacing: .04em; }
.woocommerce span.onsale, .ast-onsale-card { background: var(--bes-or) !important; color: #fff !important; }


.bes-rayon, .bes-rayon *, .bes-intent, .bes-intent *, a.button, .bes-carte, .bes-carte * { text-decoration: none !important; }
.bes-gaspard { grid-template-columns: minmax(220px, 340px) 1fr; }
.bes-gaspard img { aspect-ratio: 1 / 1; object-fit: cover; }
.bes-gaspard blockquote { font-size: 1.4em; }
.bes-rayon span { font-size: 21px; }
/* Logo : emblème haut, le nom doit rester lisible */
.site-header .custom-logo-link img.custom-logo, .site-header .site-logo-img img { max-height: 84px !important; height: 84px !important; width: auto !important; max-width: none !important; }
@media (max-width: 921px) { .site-header .custom-logo-link img.custom-logo, .site-header .site-logo-img img { max-height: 58px !important; height: 58px !important; } }
/* Panier et burger aux couleurs or */
.site-header .ast-cart-menu-wrap, .site-header .ast-cart-menu-wrap .count, .site-header .ast-cart-menu-wrap .count:after { color: var(--bes-or-clair) !important; border-color: var(--bes-or-clair) !important; }
.site-header .ast-mobile-menu-trigger-minimal svg, .site-header .menu-toggle svg, .site-header .ast-search-icon svg { fill: var(--bes-or-clair) !important; }
.bes-coll-head .ast-container, .site-content > .ast-container { max-width: 1400px; }
/* Pas de colonne de filtres ici : la grille prend toute la largeur du conteneur */
.ast-no-sidebar #primary, .woocommerce.ast-no-sidebar #primary { width: 100% !important; max-width: 100% !important; flex: 1 1 100% !important; margin-left: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }

/* En-tête de collection aligné sur la grille */
.bes-coll-head-in { padding-left: 0 !important; padding-right: 0 !important; }


/* ===== Accueil et composants maison (repris de la maquette) ===== */
.bes-home .bes-wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.bes-home h1{font-size:clamp(34px,4.6vw,56px);line-height:1.12;color:var(--bes-creme)}
.bes-home h2{font-size:clamp(28px,3.2vw,40px);line-height:1.15}
.bes-home h1 em,.bes-home h2 em{font-style:italic;font-weight:500;color:var(--bes-or-clair)}
.bes-kicker{font:600 12.5px/1 var(--bes-texte);letter-spacing:.18em;text-transform:uppercase;color:var(--bes-or);margin:0 0 14px}
.bes-kicker--prune{color:var(--bes-nuit-2)}
.bes-center{text-align:center;margin-top:36px}
.bes-home a{text-decoration:none}
.bes-hero h1,.bes-moon h2{color:var(--bes-creme)}
/* boutons */
.bes-btn{display:inline-block;background:var(--bes-or);color:var(--bes-nuit);text-decoration:none;font:600 13.5px/1 var(--bes-texte);letter-spacing:.12em;text-transform:uppercase;padding:16px 26px;border:1px solid var(--bes-or);border-radius:2px;transition:background .2s,color .2s}
.bes-btn:hover{background:var(--bes-or-clair);border-color:var(--bes-or-clair)}
.bes-btn--ghost{background:transparent;color:var(--bes-or-clair)}
.bes-btn--ghost:hover{background:rgba(184,144,79,.14);color:var(--bes-creme)}
.bes-btn--dark{background:var(--bes-nuit);color:var(--bes-creme);border-color:var(--bes-nuit)}
.bes-btn--dark:hover{background:var(--bes-nuit-2);border-color:var(--bes-nuit-2)}
.bes-link{color:var(--bes-nuit-2);font-weight:600;text-decoration:none;border-bottom:1px solid var(--bes-or)}

.bes-topbar{background:var(--bes-nuit-2);color:var(--bes-or-clair);text-align:center;font:500 13px/1.4 var(--bes-texte);letter-spacing:.04em;padding:9px 16px}
/* hero */
.bes-hero{background:radial-gradient(1px 1px at 20% 30%,rgba(217,189,140,.5),transparent),radial-gradient(1px 1px at 70% 20%,rgba(217,189,140,.4),transparent),radial-gradient(1px 1px at 85% 70%,rgba(217,189,140,.35),transparent),radial-gradient(1.5px 1.5px at 40% 80%,rgba(217,189,140,.3),transparent),var(--bes-nuit);color:var(--bes-creme);padding:88px 0 96px}
.bes-hero__in{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.bes-lead{font-size:19px;color:#d8cfe0;max-width:34em}
.bes-hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin:32px 0 24px}
.bes-hero__sign{font:italic 500 18px/1 var(--bes-titre);color:var(--bes-or)}

/* emplacements visuels */
.bes-ph{background:linear-gradient(160deg,var(--bes-nuit-2),#251c2c);border:1px solid rgba(184,144,79,.3);display:grid;place-items:center;text-align:center;aspect-ratio:4/3;border-radius:2px}
.bes-ph span{font:italic 500 14px/1.4 var(--bes-titre);color:var(--bes-or-clair);padding:18px;opacity:.8}
.bes-ph--hero{aspect-ratio:4/5;border-radius:220px 220px 2px 2px}
.bes-ph--sq{aspect-ratio:1}
.bes-ph--guide{aspect-ratio:5/4}

/* réassurance */
.bes-reassure{background:var(--bes-lin);border-bottom:1px solid #d6c9b2}
.bes-reassure__in{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-top:22px;padding-bottom:22px}
.bes-reassure__in div{display:flex;flex-direction:column;padding-left:16px;border-left:2px solid var(--bes-or)}
.bes-reassure b{font:560 17px/1.3 var(--bes-titre)}
.bes-reassure span{font-size:14px;color:#5a5060}

/* sections */
.bes-section{padding:88px 0}
.bes-section--lin{background:var(--bes-lin)}
.bes-section--seo{border-top:1px solid #d6c9b2}

/* tuiles univers : bloc entier cliquable */
.bes-univers{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:36px}
.bes-tile{display:flex;flex-direction:column;text-decoration:none;background:#fbf7f0;border:1px solid #e0d4bf;padding:14px 14px 22px;transition:background .2s,border-color .2s}
.bes-tile:hover{background:#fff;border-color:var(--bes-or)}
.bes-tile .bes-ph{margin-bottom:18px}
.bes-tile h3{margin:0 6px 6px}
.bes-tile p{margin:0 6px 14px;font-size:15.5px;color:#4d4453}
.bes-tile__go{margin:auto 6px 0;font:600 13px/1 var(--bes-texte);letter-spacing:.1em;text-transform:uppercase;color:var(--bes-nuit-2)}

/* lune */
.bes-moon{background:var(--bes-nuit);color:var(--bes-creme);padding:64px 0}
.bes-moon__in{display:grid;grid-template-columns:160px 1fr;gap:48px;align-items:center;max-width:900px}
.bes-moon__disc svg{width:160px;height:160px;display:block}
.bes-moon p{color:#d8cfe0}
.bes-moon h2{font-size:clamp(26px,3vw,34px)}

/* produits */
.bes-products{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:36px}
.bes-card{position:relative;text-decoration:none;display:flex;flex-direction:column}
.bes-card h3{font-size:18px;margin:14px 0 6px}
.bes-price{margin:0;font-weight:600;color:var(--bes-nuit-2)}
.bes-badge{position:absolute;top:12px;left:12px;background:var(--bes-sauge);color:#fff;font:600 11px/1 var(--bes-texte);letter-spacing:.08em;text-transform:uppercase;padding:7px 10px}

/* outils */
.bes-tools{display:grid;grid-template-columns:1fr 1.2fr;gap:56px;align-items:center}
.bes-tools__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.bes-tools__list a{display:flex;flex-direction:column;text-decoration:none;background:var(--bes-creme);border:1px solid #d6c9b2;padding:20px 22px;transition:border-color .2s}
.bes-tools__list a:hover{border-color:var(--bes-nuit-2)}
.bes-tools__list b{font:560 19px/1.3 var(--bes-titre)}
.bes-tools__list span{font-size:14.5px;color:#5a5060}

/* guide */
.bes-guide{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}

/* SEO + FAQ */
.bes-prose{max-width:820px}
.bes-prose h2{margin-top:1.2em}
.bes-faq details{border-bottom:1px solid #d6c9b2;padding:18px 0}
.bes-faq summary{cursor:pointer;font:560 19px/1.35 var(--bes-titre);list-style:none}
.bes-faq summary::after{content:"+";float:right;color:var(--bes-or);font-family:var(--bes-texte)}
.bes-faq details[open] summary::after{content:"−"}
.bes-faq p{margin:12px 0 0;color:#433a48}

/* responsive */
@media (max-width:1024px){
  .bes-nav{display:none}
  .bes-header__icons{margin-left:auto}
  .bes-products{grid-template-columns:repeat(2,1fr)}
  .bes-univers{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  body{font-size:16px}
  .bes-wrap{padding:0 16px}
  .bes-hero{padding:48px 0 56px}
  .bes-hero__in,.bes-tools,.bes-guide{grid-template-columns:1fr;gap:32px}
  .bes-ph--hero{aspect-ratio:16/10;border-radius:140px 140px 2px 2px}
  .bes-logo__txt small{display:none}
  .bes-topbar{font-size:12px}
  .bes-reassure__in{grid-template-columns:1fr 1fr}
  .bes-univers{grid-template-columns:1fr}
  .bes-tools__list{grid-template-columns:1fr}
  .bes-moon__in{grid-template-columns:1fr;gap:20px;justify-items:start}
  .bes-moon__disc svg{width:110px;height:110px}
  .bes-footer__in{grid-template-columns:1fr 1fr}
  .bes-section{padding:56px 0}
  .bes-logo img{height:40px}
  .bes-header__icons a:not(.bes-cart){display:none}
}

/* Accueil pleine largeur : les sections débordent du conteneur Astra */
.bes-home > section{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.bes-home a, .entry-content .bes-home a{text-decoration:none !important}
.bes-home .bes-hero__txt{text-align:left}
.bes-home p{margin-bottom:1em}
.page .entry-content > .bes-home{margin-top:-1px}
body.home .site-content > .ast-container{max-width:100%;padding:0}
body.home .entry-content{margin:0}
/* Menu principal sur une ligne */
.main-header-menu > .menu-item > .menu-link{padding:0 12px !important;font-size:15px}
.site-header .ast-builder-grid-row{column-gap:24px}
.bes-home .bes-reassure__in{padding:22px 24px}
html body, html body .site-content, html body #page{background-color:var(--bes-creme) !important}
.site-logo-img img.custom-logo{width:250px !important;max-width:250px;height:auto}
.main-header-menu > .menu-item > .menu-link{font-size:15px !important}
@media (max-width:921px){ .site-logo-img img.custom-logo{width:180px !important} }
@media (max-width:760px){ .bes-home .bes-reassure__in{padding:16px} .bes-home .bes-wrap{padding:0 16px} }
img.custom-logo{width:230px !important;max-width:230px !important;height:auto !important}
.main-header-menu{flex-wrap:nowrap !important;white-space:nowrap}
@media (max-width:921px){ img.custom-logo{width:170px !important;max-width:170px !important} }
/* Visuels de l'accueil */
.bes-hero__img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:220px 220px 2px 2px;border:1px solid rgba(184,144,79,.35)}
.bes-tile__img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:18px}
.bes-guide__img{display:block;width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:2px}
.bes-home .bes-reassure__in > div{display:grid;grid-template-columns:44px 1fr;column-gap:12px;align-items:center}
.bes-reassure__ico{grid-row:span 2;width:44px;height:44px}
.bes-home .bes-reassure__in > div b,.bes-home .bes-reassure__in > div span{grid-column:2}
@media (max-width:760px){ .bes-hero__img{aspect-ratio:16/10;border-radius:140px 140px 2px 2px} }
/* Accroche des fiches produit (remplace la citation) */
.single-product div.product .woocommerce-product-details__short-description p.bes-accroche{font:540 19px/1.4 var(--bes-titre);font-style:normal;color:var(--bes-encre);margin:6px 0 18px;padding:2px 0 2px 14px;border:0;border-left:3px solid var(--bes-or)}

/* Pied de page maison */
.bes-pied{background:var(--bes-nuit) !important;color:#d8c9ad;border-top:3px solid var(--bes-or);padding:56px 0 0;font-size:15px}
.bes-pied__in{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:34px}
.bes-pied__logo img{width:230px;height:auto;display:block;margin-bottom:16px}
.bes-pied__marque p{margin:0 0 16px;line-height:1.6;max-width:340px}
.bes-pied__titre{font:540 19px/1.3 var(--bes-titre);color:var(--bes-creme);margin:0 0 14px;padding-left:12px;border-left:2px solid var(--bes-or)}
.bes-pied ul{list-style:none;margin:0;padding:0}
.bes-pied li{margin:0 0 8px}
.bes-pied a{color:var(--bes-or-clair) !important;text-decoration:none}
.bes-pied a:hover{color:#fff !important;text-decoration:underline}
.bes-pied__reassure li{font-size:14px;padding-left:18px;position:relative}
.bes-pied__reassure li:before{content:"✦";position:absolute;left:0;color:var(--bes-or);font-size:11px;top:3px}
.bes-pied__bas{border-top:1px solid var(--bes-nuit-2);margin-top:44px;padding:20px 0 26px;display:flex;justify-content:space-between;gap:24px;font-size:13px;color:#a99c86}
.bes-pied__bas p{margin:0}
.bes-pied__bas p:last-child{max-width:640px;text-align:right}
@media (max-width:921px){.bes-pied__in{grid-template-columns:1fr 1fr}.bes-pied__marque{grid-column:1/-1}}
@media (max-width:544px){.bes-pied{padding-top:40px}.bes-pied__in{grid-template-columns:1fr;gap:28px}.bes-pied__bas{flex-direction:column}.bes-pied__bas p:last-child{text-align:left}}

/* Pages légales et d'aide */
.bes-legal{max-width:760px;margin:0 auto;font-size:16px;line-height:1.7}
.bes-legal h2{font:540 24px/1.3 var(--bes-titre);margin:36px 0 12px;padding-left:14px;border-left:3px solid var(--bes-or)}
.bes-legal .bes-legal__maj{font-size:14px;color:var(--bes-encre-douce);margin-top:36px}
.bes-legal .bes-legal__encadre{background:var(--bes-lin);padding:18px 22px;border-radius:4px}

/* Logo : largeur fixe, hauteur libre (annule les hauteurs forcées plus haut) ; le burger et le panier ne sont jamais poussés hors écran */
.site-header .custom-logo-link img.custom-logo, .site-header .site-logo-img img.custom-logo{height:auto !important;max-height:none !important;width:230px !important;max-width:230px !important}
@media (max-width:921px){
  .site-header .custom-logo-link img.custom-logo, .site-header .site-logo-img img.custom-logo{width:190px !important;max-width:190px !important}
  .ast-mobile-header-wrap .site-header-primary-section-left{min-width:0;flex:1 1 auto}
  .ast-mobile-header-wrap .site-header-primary-section-right{flex:0 0 auto}
}
@media (max-width:400px){ .site-header .custom-logo-link img.custom-logo, .site-header .site-logo-img img.custom-logo{width:min(190px,calc(100vw - 150px)) !important;max-width:none !important} }

/* Menu mobile (burger) : liste verticale sur fond clair, sous-menus repliables */
@media (max-width:921px){
  .ast-mobile-header-content .main-header-menu, .ast-builder-menu-mobile .main-header-menu{display:block !important;flex-wrap:wrap !important;white-space:normal !important}
  .ast-mobile-header-content{background:var(--bes-creme) !important;border-top:1px solid var(--bes-filet);box-shadow:0 12px 24px rgba(26,22,34,.18)}
  .ast-mobile-header-content .main-header-menu > .menu-item{border-bottom:1px solid var(--bes-filet);width:100%}
  .ast-mobile-header-content .main-header-menu > .menu-item > .menu-link{display:flex;padding:14px 20px !important;font:600 18px/1.3 var(--bes-titre) !important;color:var(--bes-encre) !important}
  .ast-mobile-header-content .sub-menu .menu-link{padding:10px 20px 10px 34px !important;font-size:16px !important;color:var(--bes-encre-douce) !important}
  .ast-mobile-header-content .ast-menu-toggle{color:var(--bes-or) !important}
}

/* Bandeau d'annonce : laiton plein, code promo en étiquette */
.bes-topbar{background:var(--bes-or) !important;color:var(--bes-nuit) !important;font:600 14px/1.4 var(--bes-texte) !important;letter-spacing:.02em;padding:9px 16px;text-align:center}
.bes-topbar__code{display:inline-block;background:var(--bes-nuit);color:var(--bes-or-clair);border:1px dashed var(--bes-or-clair);border-radius:4px;padding:1px 8px;margin:0 2px;letter-spacing:.08em;font-weight:700}
@media (max-width:544px){.bes-topbar{font-size:13px !important;padding:8px 12px}}

/* Zoom de l'image au survol d'un produit : seule l'image grossit, dans un cadre fixe (la carte ne bouge pas, le clic reste stable) */
.bes-carte-img{display:block;overflow:hidden;border-radius:6px;margin:0 0 4px}
.bes-carte .bes-carte-img img{margin:0;border-radius:0;transition:transform .5s ease}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap{overflow:hidden}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img{transition:transform .5s ease}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .bes-carte:hover .bes-carte-img img,
  .woocommerce ul.products li.product:hover .astra-shop-thumbnail-wrap img{transform:scale(1.08)}
}
