/* Adaptations globales, tablette et mobile. Chargé après les feuilles contextuelles. */

/* Le texte occupe toute la largeur du bandeau de catégorie sur mobile. */
@media (max-width: 767px) {
	body.tax-product_cat .lbnv-archive-intro {
		--lbnv-category-overlay: linear-gradient(rgba(38, 89, 80, .92), rgba(38, 89, 80, .92));
	}
}

/* En-tête : réserver la place des six liens avant de répartir la recherche.
 * Le menu mobile existant prend le relais à 1024px. */
@media (min-width: 1025px) and (max-width: 1400px) {
	#masthead .elementor-element-9feb57e {
		--padding-left: 24px;
		--padding-right: 24px;
		gap: 12px;
		align-items: center;
	}

	#masthead .elementor-element-0671184 {
		flex: 0 0 72px;
		align-self: center;
	}

	#masthead .elementor-element-09974c0 {
		flex: 0 0 auto;
		width: auto;
	}

	#masthead .elementor-element-09974c0 .wpr-nav-menu {
		flex-wrap: nowrap;
	}

	#masthead .elementor-element-09974c0 .wpr-nav-menu > .menu-item {
		margin-left: 7px !important;
		margin-right: 7px !important;
	}

	#masthead .elementor-element-09974c0 .wpr-menu-item {
		font-size: 15px !important;
		white-space: nowrap;
	}

	#masthead .elementor-element-8144884 {
		flex: 1 1 0;
		min-width: 0;
	}

	#masthead .elementor-element-bc05e90 {
		flex: 1 1 0;
		width: auto;
		min-width: 0;
	}
}

/* Accueil : logos partenaires. */
@media (max-width: 768px) {
	.carrousel-partners img {
		max-width: 120px;

	}
}

/* Filtres desktop : la colonne suit le catalogue, la liste reste accessible
 * même lorsque sa hauteur dépasse celle de la fenêtre. */
@media (min-width: 1025px) {
	/* overflow-x:hidden crée un conteneur de scroll qui bloque sticky. */
	body.woocommerce.archive {
		overflow-x: clip;
		overflow-y: visible;
	}

	.lbnv-catalog-layout > .lbnv-filter-elementor {
		--lbnv-filter-top: 20px;
		position: sticky;
		top: var(--lbnv-filter-top);
		align-self: flex-start;
		min-height: 0;
	}

	body.admin-bar .lbnv-catalog-layout > .lbnv-filter-elementor {
		--lbnv-filter-top: 52px;
	}

	.lbnv-filter-elementor .lbnv-catalog-filters {
		box-sizing: border-box;
		max-height: calc(100vh - var(--lbnv-filter-top) - 20px);
		max-height: calc(100dvh - var(--lbnv-filter-top) - 20px);
		overflow-y: auto;
		scrollbar-gutter: stable;
	}
}

/* Boutique : univers, grille et cartes produit. */
@media (max-width: 1100px) {
	.lbnv-universe-nav {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.lbnv-catalog-layout .shopengine-archive-products:not(.shopengine-archive-products--view-list) > ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 767px) {
	.lbnv-universe-elementor {
		margin-bottom: 28px;
		padding: 0 16px;
	}

	.lbnv-universe-nav {
		display: flex;
		gap: 14px;
		overflow-x: auto;
		padding-bottom: 8px;
		scroll-snap-type: x proximity;
	}

	.lbnv-universe-card {
		flex: 0 0 128px;
		scroll-snap-align: start;
	}

	.lbnv-filter-elementor,
	.lbnv-catalog-layout > .e-con {
		width: 100% !important;
	}

	.lbnv-catalog-controls {
		align-items: flex-end !important;
		margin-bottom: 18px !important;
	}

	.lbnv-catalog-controls .shopengine-filter-orderby-dropdown {
		gap: 7px;
	}

	.lbnv-catalog-controls .shopengine-filter-orderby select.orderby {
		width: min(210px, 58vw) !important;
	}

	body.woocommerce .lbnv-catalog-layout .shopengine-archive-products .woocommerce-pagination .page-numbers > li > a,
	body.woocommerce .lbnv-catalog-layout .shopengine-archive-products .woocommerce-pagination .page-numbers > li > span {
		min-width: 34px;
		height: 34px;
		padding: 0 8px !important;
	}

	.lbnv-catalog-layout .shopengine-archive-products:not(.shopengine-archive-products--view-list) > ul.products {
		gap: 14px !important;
	}

	body.woocommerce .lbnv-catalog-layout .shopengine-widget .shopengine-archive-products:not(.shopengine-archive-products--view-list) > ul.products {
		gap: 14px !important;
	}

	.lbnv-catalog-layout .shopengine-archive-products:not(.shopengine-archive-products--view-list) li.product,
.lbnv-product-selection .shopengine-archive-products:not(.shopengine-archive-products--view-list) li.product {
		min-height: 390px;
	}

	.lbnv-catalog-layout .shopengine-archive-products .lbnv-product-card-meta,
	.lbnv-catalog-layout .shopengine-archive-products .woocommerce-loop-product__title,
	.lbnv-catalog-layout .shopengine-archive-products .price,
.lbnv-product-selection .shopengine-archive-products .lbnv-product-card-meta,
	.lbnv-product-selection .shopengine-archive-products .woocommerce-loop-product__title,
	.lbnv-product-selection .shopengine-archive-products .price {
		margin-right: 11px !important;
		margin-left: 11px !important;
	}

	.lbnv-catalog-layout .shopengine-archive-products .shopengine-product-description-footer,
.lbnv-product-selection .shopengine-archive-products .shopengine-product-description-footer {
		flex-wrap: wrap;
		padding: 0 11px 11px;
	}

	.lbnv-catalog-layout .shopengine-archive-products .product.instock .shopengine-product-description-footer::before,
.lbnv-product-selection .shopengine-archive-products .product.instock .shopengine-product-description-footer::before {
		width: 100%;
	}

	.lbnv-catalog-layout .shopengine-archive-products .shopengine-product-description-btn-group,
	.lbnv-catalog-layout .shopengine-archive-products .product a.button:not(.shopengine-quickview-trigger),
.lbnv-product-selection .shopengine-archive-products .shopengine-product-description-btn-group,
	.lbnv-product-selection .shopengine-archive-products .product a.button:not(.shopengine-quickview-trigger) {
		width: 100%;
	}
}

/* Accueil : sélections de produits et orientation par besoin. */
@media (max-width: 1100px) {
	.lbnv-product-selection .shopengine-archive-products:not(.shopengine-archive-products--view-list) > ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}


@media (max-width: 767px) {
	.home-bestsellers-title {
		padding: 34px 18px 20px !important;
	}

	.lbnv-product-selection {
		padding: 0 16px 42px;
	}
}

/* Boutique : tiroir de filtres sur écrans tactiles. */
@media (max-width: 1024px) {
	.lbnv-universe-elementor,
	.lbnv-universe-nav {
		display: none !important;
	}

	body.lbnv-filter-drawer-ready .lbnv-catalog-layout > .lbnv-filter-elementor {
		position: static !important;
		flex: 0 0 0 !important;
		width: 0 !important;
		min-width: 0 !important;
		max-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.lbnv-filter-drawer-ready .lbnv-catalog-layout > .e-con:not(.lbnv-filter-elementor) {
		flex: 1 1 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.lbnv-filter-toggle {
		display: inline-flex;
		position: fixed;
		left: -20px;
		top: 430px;
		z-index: 9997;
		gap: 9px;
		align-items: center;
		justify-content: center;
		min-height: 48px;
		padding: 11px 17px;
		border: 1px solid rgba(255, 255, 255, 0.3);
		border-radius: 999px;
		background: #275c53;
		box-shadow: 0 8px 24px rgba(16, 50, 44, 0.26);
		color: #fff;
		font-size: 15px;
		font-weight: 600;
		line-height: 1;
	}

	.lbnv-filter-toggle:hover,
	.lbnv-filter-toggle:focus-visible {
		border-color: #e2bb53;
		background: #1e4e46;
		color: #fff;
	}

	.lbnv-filter-toggle svg {
		width: 20px;
		height: 20px;
		fill: none;
		stroke: currentColor;
		stroke-width: 1.7;
		stroke-linecap: round;
		stroke-linejoin: round;
	}

	.lbnv-filter-toggle-count {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 20px;
		height: 20px;
		padding: 0 6px;
		border-radius: 999px;
		background: #e2bb53;
		color: #275c53;
		font-size: 11px;
		font-weight: 700;
	}

	body.lbnv-filter-drawer-ready .lbnv-filter-overlay {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 9998;
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: rgba(12, 24, 21, 0.54);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 220ms ease, visibility 0s linear 220ms;
	}

	body.lbnv-filter-drawer-ready .lbnv-catalog-filters {
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		z-index: 9999;
		width: min(88vw, 370px) !important;
		max-width: 370px;
		height: 100dvh;
		margin: 0;
		padding: 22px 20px calc(28px + env(safe-area-inset-bottom));
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		border: 0;
		border-radius: 0 10px 10px 0;
		box-shadow: 12px 0 32px rgba(16, 50, 44, 0.22);
		transform: translateX(calc(-100% - 14px));
		visibility: hidden;
		transition: transform 260ms ease, visibility 0s linear 260ms;
	}

	body.lbnv-filters-open {
		overflow: hidden;
	}

	body.lbnv-filters-open .lbnv-filter-overlay {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transition: opacity 220ms ease;
	}

	body.lbnv-filters-open .lbnv-catalog-filters {
		transform: translateX(0);
		visibility: visible;
		transition: transform 260ms ease;
	}

	.lbnv-filter-heading {
		align-items: center;
	}

	body .lbnv-catalog-filters button.lbnv-filter-close {
		display: inline-flex;
		flex: 0 0 38px;
		align-items: center;
		justify-content: center;
		width: 38px !important;
		min-width: 38px !important;
		max-width: 38px !important;
		height: 38px !important;
		margin: -8px -8px -8px 0;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 50%;
		background: #fff !important;
		box-shadow: none !important;
		color: #275c53 !important;
	}

	body .lbnv-catalog-filters button.lbnv-filter-close:hover,
	body .lbnv-catalog-filters button.lbnv-filter-close:focus,
	body .lbnv-catalog-filters button.lbnv-filter-close:focus-visible {
		background: #f2ede3 !important;
		color: #9a7219 !important;
	}

	body .lbnv-catalog-filters button.lbnv-filter-close span {
		position: relative;
		z-index: 1;
		display: block;
		font-size: 29px;
		font-weight: 300;
		line-height: 18px;
	}

	body .lbnv-catalog-filters button.lbnv-filter-close::before,
	body .lbnv-catalog-filters button.lbnv-filter-close::after {
		display: none !important;
		content: none !important;
	}

	body.admin-bar.lbnv-filter-drawer-ready .lbnv-catalog-filters {
		top: 32px;
		height: calc(100dvh - 32px);
	}
}

@media (max-width: 782px) {
	body.admin-bar.lbnv-filter-drawer-ready .lbnv-catalog-filters {
		top: 46px;
		height: calc(100dvh - 46px);
	}
}

/* WooCommerce : commande et espace client. */
@media screen and (max-width: 768px) {
	#order_review {
		padding: 16px;
	}

	#place_order {
		font-size: 14px;
		padding: 14px;
	}
}

@media (max-width: 768px) {
	.entry-content .woocommerce {
		flex-direction: column;
		padding: 16px;
	}

	.entry-content .woocommerce-MyAccount-navigation,
	.entry-content .woocommerce-MyAccount-content {
		padding: 0;
		border: none;
	}
}

@media (max-width: 768px) {
	.button-group-left {
		width: 100%;
	}
}

/* Fiche produit : présentation de la marque. */
@media (max-width: 767px) {
	.zoom-marque-container {
		margin: 32px 0 0;
		padding: 36px 0;
	}

	.zoom-marque-content {
		width: 100%;
		padding: 0 16px;
	}

	.zoom-marque-content.has-logo {
		grid-template-columns: minmax(0, 1fr);
		gap: 22px;
	}

	.zoom-marque-logo {
		width: min(180px, 70%);
		min-height: 120px;
		margin: 0 auto;
		padding: 18px;
	}

	.zoom-marque-texte {
		text-align: center;
	}

	.zoom-marque-actions {
		justify-content: center;
	}

	.zoom-marque-bouton {
		flex: 1 1 100%;
		width: 100%;
	}
}

@media (max-width: 1024px) and (min-width: 768px) {
	.zoom-marque-content {
		width: 100%;
		padding: 0 48px;
	}
}

/* En-tête : méga-menus et navigation mobile. */
@media (max-width: 1100px) {
	.lb-needs__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lb-mega__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lb-mega__col {
		border-left: 0;
		border-top: 1px solid #dedbd3;
		padding: 20px 18px;
	}

	.lb-mega__col:nth-child(odd) {
		padding-left: 0;
	}

	.lb-mega__col:nth-child(-n+2) {
		border-top: 0;
		padding-top: 0;
	}

	.lb-mega__promo {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: 220px 1fr;
		gap: 20px;
		align-items: center;
		padding: 20px 0 0;
	}

	.lb-mega__photo {
		height: 130px !important;
		min-height: 130px;
		max-height: 130px;
		margin: 0;
	}
}

@media (max-width: 767px) {
	.wpr-sub-mega-menu:has(.lb-mega) {
		padding: 0 !important;
	}

	.lb-mega {
		padding: 19px 18px;
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.lb-mega__top {
		display: block;
		margin-bottom: 16px;
	}

	.lb-mega__title {
		font-size: 22px;
	}

	.lb-mega__all {
		padding-top: 10px;
	}

	.lb-mega__grid {
		display: block;
	}

	.lb-needs__grid {
		display: block;
	}

	.lb-needs__copy {
		margin-left: 41px;
	}

	.lb-mega__col,
	.lb-mega__col:nth-child(odd) {
		padding: 17px 0;
		border-top: 1px solid #dedbd3;
	}

	.lb-mega__col:first-child {
		border-top: 0;
		padding-top: 0;
	}

	.lb-mega__promo {
		display: block;
	}

	.lb-mega__photo {
		height: 150px !important;
		min-height: 150px;
		max-height: 150px;
		margin-bottom: 14px;
	}
}

@media (max-width: 1024px) {

	.elementor-element-09974c0.elementor-widget-wpr-mega-menu {
		display: none !important;
	}

	.elementor-element-e0b58a2 .hfe-flyout-content {
		height: 100dvh;
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
	}

	.elementor-element-e0b58a2 .hfe-nav-menu > li > .hfe-has-submenu-container > a.hfe-menu-item,
	.elementor-element-e0b58a2 .hfe-nav-menu > li > a.hfe-menu-item {
		color: #fffaf0 !important;
	}

	.elementor-element-e0b58a2 .hfe-nav-menu .sub-arrow {
		color: #e2bb53;
	}

	.elementor-element-e0b58a2 .hfe-nav-menu ul.sub-menu {
		width: 100% !important;
		margin: 8px 0 18px;
		background: #faf8f3 !important;
		border: 0;
		border-radius: 4px;
		box-shadow: none;
		overflow: hidden;
	}

	.elementor-element-e0b58a2 .hfe-nav-menu ul.sub-menu li {
		background: transparent !important;
	}

	.elementor-element-e0b58a2 .hfe-nav-menu ul.sub-menu a.hfe-sub-menu-item {
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: 45px;
		padding: 11px 17px !important;
		background: transparent !important;
		color: #104f46 !important;
		font-size: 14px !important;
		font-weight: 600 !important;
		line-height: 1.35 !important;
		letter-spacing: 0 !important;
		text-transform: none !important;
	}

	.elementor-element-e0b58a2 .hfe-nav-menu ul.sub-menu > li + li {
		border-top: 1px solid #ded9cf;
	}

	.elementor-element-e0b58a2 .hfe-nav-menu ul.sub-menu ul.sub-menu {
		margin: 0;
		background: #fff !important;
		border-radius: 0;
	}

	.elementor-element-e0b58a2 .hfe-nav-menu ul.sub-menu ul.sub-menu a.hfe-sub-menu-item {
		min-height: 40px;
		padding: 9px 17px 9px 31px !important;
		color: #394743 !important;
		font-size: 13px !important;
		font-weight: 400 !important;
	}

	.elementor-element-e0b58a2 .hfe-nav-menu ul.sub-menu a.hfe-sub-menu-item:hover,
	.elementor-element-e0b58a2 .hfe-nav-menu ul.sub-menu a.hfe-sub-menu-item:focus-visible {
		background: #f2ede3 !important;
		color: #9a7219 !important;
	}

	.hfe-flyout-content {
		padding: 50px 25px !important;
	}
}

@media (max-width: 1199px) {
	.elementor-94 .elementor-element.elementor-element-bc05e90 {
		flex-basis: 320px;
		width: 320px;
		max-width: 320px;
	}
}

/* Accueil : hero, services, avis et articles. */
@media (max-width: 700px) {
	#hero-alterne {
		--hero-mobile-image-height: 60vw;
	}

	#hero-alterne .n2-ss-slide-background-image,
	#hero-alterne .n2-ss-slide-background:nth-of-type(even) .n2-ss-slide-background-image {
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		bottom: auto !important;
		width: 100% !important;
		height: var(--hero-mobile-image-height) !important;
	}

	#hero-alterne .n2-ss-slide-background-image img {
		object-fit: contain !important;
		object-position: center !important;
	}

	#hero-alterne .n2-ss-slide .n2-ss-layer-row-inner,
	#hero-alterne .n2-ss-slide:nth-of-type(odd) .n2-ss-layer-row-inner {
		flex-direction: column !important;
	}

	#hero-alterne .n2-ss-slide .n2-ss-layer-row-inner > .selector {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
		padding-top: var(--hero-mobile-image-height) !important;
		/* The text layer also spans the image's reserved space on mobile. */
		-webkit-backdrop-filter: none !important;
		backdrop-filter: none !important;
	}

	#hero-alterne .n2-ss-slide .selector > .n2-ss-layer-col {
		justify-content: flex-start !important;
		padding: 26px 22px 34px !important;
		background: #fff !important;
	}

	#hero-alterne .n2-ss-slide .n2-ss-layer-row-inner > [data-sstype="col"]:not(.selector) {
		flex: 0 0 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	#hero-alterne .n2-ss-slide .titre-mobile {
		margin-bottom: 12px;
		font-size: clamp(34px, 10vw, 44px) !important;
	}

	#hero-alterne .n2-ss-slide .texte-mobile {
		font-size: 16px !important;
		line-height: 1.45 !important;
	}
}

@media (max-width: 1024px) {
	.home-info-strip__item {
		justify-content: flex-start !important;
		padding: 15px 32px !important;
	}

	.home-info-strip__item:nth-child(odd) {
		border-left: 0;
	}

	.home-info-strip__item:nth-child(n + 3) {
		border-top: 1px solid #e7e2d8;
	}
}

@media (max-width: 767px) {
	.home-info-strip {
		padding-top: 6px !important;
		padding-bottom: 6px !important;
	}

	.home-info-strip__item,
	.home-info-strip__item + .home-info-strip__item {
		min-height: 0;
		padding: 13px 22px !important;
		border-top: 1px solid #e7e2d8;
		border-left: 0;
	}

	.home-info-strip__item:first-child {
		border-top: 0;
	}
}

@media (max-width:1024px) {
 .home-reviews-widget .ti-review-item { flex-basis:50% !important; width:50% !important; max-width:50% !important; }
}
@media (max-width:767px) {
 .home-reviews-widget .ti-review-item { flex-basis:100% !important; width:100% !important; max-width:100% !important; }
}

@media (max-width: 1100px) {
	.home-blog-grid .eael-post-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.home-blog-grid .eael-grid-post:last-child {
		grid-column: 1 / -1;
	}
}

@media (max-width: 767px) {
	.home-blog-section {
		padding: 30px 20px !important;
	}

	.home-blog-grid .eael-post-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.home-blog-grid .eael-grid-post:last-child {
		grid-column: auto;
	}

	.home-blog-grid .eael-grid-post-holder-inner {
		grid-template-columns: minmax(0, .38fr) minmax(0, .62fr);
	}

	.home-blog-grid .eael-entry-wrapper {
		padding: 20px 16px !important;
	}

	.home-blog-grid .eael-entry-title {
		font-size: 18px !important;
	}

}

/* Accueil : les cartes de besoins deviennent des lignes compactes sur mobile.
   Le cadre, les textes d'introduction, l'ordre et le bouton sont réglés dans Elementor. */
@media (max-width: 767px) {
	.lbnv-home-needs__card { flex-direction: row; align-items: center; min-height: 48px; border: 0; border-radius: 7px; box-shadow: none; background: #ffffffc9; }
	.lbnv-home-needs__image, .lbnv-home-needs__subtitle,
	.lbnv-home-needs__body .lbnv-home-needs__desktop-title,
	.lbnv-home-needs__desktop-arrow { display: none; }
	.lbnv-home-needs__mobile-icon { display: flex; align-items: center; justify-content: center; width: 58px; flex: 0 0 58px; color: #e0ac42; font-size: 28px; }
	.lbnv-home-needs__card--stress .lbnv-home-needs__mobile-icon,
	.lbnv-home-needs__card--digestion .lbnv-home-needs__mobile-icon { color: #dc7771; }
	.lbnv-home-needs__card--immunite .lbnv-home-needs__mobile-icon,
	.lbnv-home-needs__card--mobilite .lbnv-home-needs__mobile-icon { color: #32876f; }
	.lbnv-home-needs__body { flex: 1; min-width: 0; padding: 11px 12px 11px 5px; gap: 8px; }
	.lbnv-home-needs__body .lbnv-home-needs__mobile-title { display: block; font-size: 15px; font-weight: 600; line-height: 1.25; }
	.lbnv-home-needs__arrow { border: 0; width: 14px; height: auto; color: #e0ac42; font-size: 28px; line-height: 1; }
	.lbnv-home-needs__mobile-arrow { display: inline; }
}

/* Bandeau saisonnier : photo sous le texte, séparation oblique conservée. */
@media (max-width: 767px) {
	.lbnv-season-banner__photo { clip-path: polygon(0 10%,100% 0,100% 100%,0 100%); }
}

@media (max-width:767px) {
 .lbnv-workshops { grid-template-columns:1fr; gap:16px; }
 .lbnv-workshop__content { padding:14px; }
 .lbnv-workshop h3 { font-size:16px; }
 .lbnv-workshop__image { flex-basis:34%; }
 .lbnv-workshop__button { padding:8px 14px; }
}
@media (max-width:480px) {
 .lbnv-workshop { flex-direction:column; }
 .lbnv-workshop__image { flex-basis:auto; }
 .lbnv-workshop__image img { height:160px; min-height:0; }
 .lbnv-workshop__button { align-self:stretch; }
}

/* Composants générés : réglages Elementor insuffisants pour leur grille interne. */
@media (max-width:767px) {
 .lbnv-product-selection .shopengine-archive-products:not(.shopengine-archive-products--view-list) > ul.products { gap:14px !important; }
 :is(.home, .single-product) .lbnv-product-selection .shopengine-archive-products li.product .shopengine-product-description-footer a.button { font-size:12px !important; padding:9px 5px !important; }
 .home-bestsellers-title .elementor-heading-title { font-size:26px !important; }
 .home-blog-grid .eael-entry-title a { font-size:17px !important; }
 .home-blog-grid .eael-entry-media { min-height:190px; }
 .home-reviews-widget .ti-controls { display:block !important; }
}

@media (max-width:767px) {
 .lbnv-product-selection { padding:0 0 24px; }
 .home-reviews-widget .ti-widget.ti-goog .ti-controls-line { display:none !important; }
 .home-blog-grid .eael-entry-wrapper { padding:14px !important; }
 .home-blog-grid .eael-entry-title a { font-size:16px !important; }
}
@media (max-width:767px) {
 .lbnv-product-selection .shopengine-archive-products li.product { display:flex !important; flex-direction:column; }
 .lbnv-product-selection .astra-shop-summary-wrap { flex:1; }
 .lbnv-product-selection .shopengine-product-description-footer { margin-top:auto; }
 .lbnv-product-selection .lbnv-product-card-meta { flex-wrap:wrap; gap:4px; font-size:12px; }
}

/* Sélection de l’accueil : cartes compactes, sans cumul des marges Astra/boutique. */
@media (max-width:767px) {
 :is(.home, .single-product) .lbnv-product-selection .shopengine-archive-products li.product { min-height:0 !important; }
 :is(.home, .single-product) .lbnv-product-selection .astra-shop-summary-wrap { flex:0 0 auto; padding:10px 10px 0 !important; }
 :is(.home, .single-product) .lbnv-product-selection .shopengine-archive-products .woocommerce-loop-product__link { flex:0 0 auto; }
 :is(.home, .single-product) .lbnv-product-selection .shopengine-archive-products .lbnv-product-card-meta { margin:0 10px 6px !important; }
 :is(.home, .single-product) .lbnv-product-selection .shopengine-archive-products .lbnv-product-card-taxonomies { flex-direction:column; align-items:flex-start; gap:3px; }
 :is(.home, .single-product) .lbnv-product-selection .shopengine-archive-products .lbnv-product-card-universe,
 :is(.home, .single-product) .lbnv-product-selection .shopengine-archive-products .lbnv-product-card-brand { width:100%; overflow:visible; white-space:normal; overflow-wrap:anywhere; text-align:left; margin-left:0; font-size:11px; }
 :is(.home, .single-product) .lbnv-product-selection .shopengine-archive-products .woocommerce-loop-product__title { margin:0 0 8px !important; padding:0 !important; min-height:0; font-size:14px !important; line-height:1.35 !important; }
 :is(.home, .single-product) .lbnv-product-selection .shopengine-archive-products .price { margin:0 0 10px !important; padding:0 !important; font-size:17px !important; }
 :is(.home, .single-product) .lbnv-product-selection .shopengine-archive-products .shopengine-product-description-footer { padding:0 10px 10px !important; gap:6px; min-height:0; }
}

/* Fiche produit : les produits consultés occupent toute la largeur disponible. */
.single-product .lbnv-recently-viewed {
	padding: 0;
}
.single-product .lbnv-recently-viewed .shopengine-archive-products:not(.shopengine-archive-products--view-list) > ul.products {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
@media (min-width: 768px) {
	.single-product .lbnv-recently-viewed .shopengine-archive-products:not(.shopengine-archive-products--view-list) > ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}
@media (min-width: 1101px) {
	.single-product .lbnv-recently-viewed .shopengine-archive-products:not(.shopengine-archive-products--view-list) > ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}
@media (min-width: 1500px) {
	.single-product .lbnv-recently-viewed .shopengine-archive-products:not(.shopengine-archive-products--view-list) > ul.products {
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	}
}
@media (min-width: 1800px) {
	.single-product .lbnv-recently-viewed .shopengine-archive-products:not(.shopengine-archive-products--view-list) > ul.products {
		grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
	}
}

/* Produits consultés : aligner titre et prix avec les métadonnées sur mobile. */
@media (max-width: 767px) {
	.single-product .lbnv-recently-viewed .shopengine-archive-products .woocommerce-loop-product__title,
	.single-product .lbnv-recently-viewed .shopengine-archive-products .price,
	.single-product .lbnv-recently-viewed .shopengine-archive-products .fourchette-prix {
		margin-left: 10px !important;
		margin-right: 10px !important;
	}
}
