/* LPMP — page d'accueil harmonisée (maquette « Accueil v2 ») */
body.home {
	--lpa-encre: #202435;
	--lpa-gris: #5F6477;
	--lpa-texte: #3A3F55;
	--lpa-trait: #E4E5EE;
	--lpa-jaune: #FAB42B;
	--lpa-jaune-fonce: #F0A20E;
	--lpa-creme: #FFF6E3;
	--lpa-creme-trait: #F0DDB2;
	--lpa-vert-fond: #EAF4E6;
	--lpa-vert-txt: #2E5E2B;
	--lpa-voile: linear-gradient(90deg, rgba(24, 26, 38, .85) 0%, rgba(24, 26, 38, .55) 50%, rgba(24, 26, 38, .05) 90%);
}

/* ---------- Diaporama ---------- */
body.home .module-slider .slider-item { position: relative; border-radius: 16px; overflow: hidden; min-height: clamp(400px, 36vw, 460px); display: flex !important; align-items: center; }
body.home .module-slider .slider-item .image-wrapper { position: absolute !important; inset: 0; z-index: 0; margin: 0 !important; }
body.home .module-slider .slider-item .image-wrapper img { width: 100% !important; height: 100% !important; object-fit: cover; max-width: none; }
body.home .module-slider .slider-item::before { content: ''; position: absolute; inset: 0; z-index: 1; background: var(--lpa-voile); pointer-events: none; }
body.home .module-slider .slider-item .content-wrapper {
	position: relative !important; z-index: 2; top: auto !important; left: auto !important; transform: none !important;
	width: 100%; max-width: 700px; margin: 0 !important; padding: 48px clamp(20px, 6vw, 80px) 72px !important;
	display: flex; flex-direction: column; align-items: flex-start; gap: 14px; color: #fff;
}
body.home .module-slider .content-header { margin: 0 !important; padding: 0 !important; }
body.home .module-slider .content-description:empty { display: none; }
body.home .module-slider .content-discount {
	display: inline-block; background: var(--lpa-jaune) !important; color: var(--lpa-encre) !important;
	font: 700 14px/1.2 Dosis, sans-serif !important; text-transform: uppercase; letter-spacing: .05em;
	padding: 6px 12px !important; border-radius: 20px; margin: 0 !important; width: auto !important; height: auto !important;
}
body.home .module-slider .content-main { margin: 0 !important; }
body.home .module-slider .content-main .entry-title { font: 700 clamp(32px, 4.4vw, 56px)/1.05 Dosis, sans-serif !important; color: #fff !important; margin: 0 0 12px !important; text-wrap: balance; }
body.home .module-slider .content-main .content-text { font-size: clamp(16px, 1.5vw, 19px) !important; line-height: 1.45 !important; color: #fff !important; max-width: 520px; margin: 0 !important; }
body.home .module-slider .content-footer { display: none !important; }
body.home .module-slider .content-wrapper .button {
	position: relative; z-index: 4; margin: 6px 0 0 !important; height: 52px; padding: 0 22px !important; border-radius: 12px !important;
	background: var(--lpa-jaune) !important; color: var(--lpa-encre) !important; font: 700 17px Inter, sans-serif !important;
	display: inline-flex !important; align-items: center; gap: 8px; border: 0 !important; text-transform: none !important; box-shadow: none !important;
}
body.home .module-slider .content-wrapper .button:hover { background: #fff !important; }
body.home .module-slider .overlay-link { z-index: 3; }
body.home .module-slider .slick-dots { z-index: 5; bottom: 10px !important; }
body.home .module-slider .slick-dots li { margin: 0 !important; }
body.home .module-slider .slick-dots li button { width: 32px !important; height: 44px !important; padding: 0 !important; background: none !important; }
body.home .module-slider .slick-dots li button::before { content: '' !important; display: block; width: 10px; height: 10px; border-radius: 5px; background: rgba(255, 255, 255, .75) !important; opacity: 1 !important; margin: 17px auto 0; transition: width .2s; position: static !important; }
body.home .module-slider .slick-dots li.slick-active button::before { width: 26px; background: var(--lpa-jaune) !important; }

/* Flèches des carrousels : ronds blancs de 44 px, centrés en hauteur, chevron dessiné en CSS */
body.home .site-module .slick-arrow {
	width: 44px !important; height: 44px !important; border-radius: 50% !important; border: 0 !important; padding: 0 !important;
	background: #fff !important; color: var(--lpa-encre) !important; box-shadow: 0 4px 14px rgba(0, 0, 0, .22) !important; z-index: 5;
	display: flex !important; align-items: center; justify-content: center;
	top: 50% !important; bottom: auto !important; transform: translateY(-50%) !important; margin: 0 !important; opacity: 1 !important;
}
body.home .site-module .slick-arrow::after {
	content: ''; display: block; width: 11px; height: 11px; flex: none; box-sizing: border-box;
	border: solid var(--lpa-encre); border-width: 0 3px 3px 0; border-radius: 1px;
}
body.home .site-module .slick-prev::after { transform: rotate(135deg); margin-left: 5px; }
body.home .site-module .slick-next::after { transform: rotate(-45deg); margin-right: 5px; }
body.home .site-module .slick-arrow:hover { background: var(--lpa-jaune) !important; }
body.home .site-module .slick-arrow.slick-disabled { opacity: .45 !important; }
body.home .module-slider .slick-prev { left: 16px !important; }
body.home .module-slider .slick-next { right: 16px !important; }

/* ---------- Présentation ---------- */
body.home .module-banner.simple-text { background: none !important; padding: 0 !important; margin: 0 !important; }
body.home .module-banner.simple-text .module-body, body.home .module-banner.simple-text a {
	display: block; background: none !important; padding: 0 !important; margin: 0 !important; text-align: center; color: var(--lpa-encre) !important;
	font: 700 clamp(26px, 2.6vw, 34px)/1.15 Dosis, sans-serif !important; text-transform: uppercase; letter-spacing: .01em; text-wrap: balance; pointer-events: none;
}
body.home .module-banner.simple-text .module-body::after { content: ''; display: block; width: 56px; height: 4px; border-radius: 2px; background: var(--lpa-jaune); margin: 16px auto 0; }
body.home .elementor-widget-text-editor { font-size: 17px; line-height: 1.6; color: var(--lpa-texte); max-width: 800px; margin-left: auto !important; margin-right: auto !important; text-align: center; }
body.home .elementor-widget-text-editor p:last-child { margin-bottom: 0; }

.lpa-ico {
	font-family: 'Material Symbols Rounded'; font-weight: normal; font-style: normal; line-height: 1; letter-spacing: normal;
	text-transform: none; white-space: nowrap; direction: ltr; -webkit-font-feature-settings: 'liga'; font-feature-settings: 'liga';
}

/* ---------- Comment récupérer vos courses ---------- */
.lpa-recup { margin: 8px 0 clamp(28px, 4vw, 48px); background: #FFF6E3; border-radius: 16px; padding: clamp(20px, 3vw, 32px); display: flex; flex-direction: column; gap: 18px; font-family: Inter, system-ui, sans-serif; color: #202435; text-align: left; }
.lpa-recup__tete { display: flex; justify-content: space-between; align-items: baseline; gap: 8px 24px; flex-wrap: wrap; }
.lpa-recup__tete h2 { margin: 0 !important; font: 700 clamp(22px, 2.2vw, 26px)/1.15 Dosis, sans-serif !important; text-transform: uppercase; letter-spacing: .01em; color: #202435 !important; }
.lpa-recup__tete p { margin: 0 !important; font-size: 15px; color: #5F6477; }
.lpa-recup__grille { list-style: none !important; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: #fff; border: 1px solid #F0DDB2; border-radius: 12px; overflow: hidden; }
.lpa-recup__mode { margin: 0 !important; padding: 18px 20px !important; display: flex; flex-direction: column; gap: 4px; border-left: 1px solid #F0DDB2; list-style: none !important; }
.lpa-recup__mode:first-child { border-left: 0; }
.lpa-recup__ico { display: none; }
.lpa-recup__txt { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.lpa-recup__mode b { font-size: 17px; line-height: 1.25; color: #202435; }
.lpa-recup__txt > span:last-child { font-size: 15px; line-height: 1.4; color: #5F6477; }
.lpa-recup__prix { font: 700 24px/1.1 Dosis, sans-serif; color: #202435; margin-bottom: 4px; display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.lpa-recup__prix small { font: 600 14px Inter, sans-serif; color: #5F6477; }
.lpa-recup__prix.is-gratuit { color: #2E5E2B; }
@media (max-width: 900px) {
	.lpa-recup__grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lpa-recup__mode:nth-child(3) { border-left: 0; }
	.lpa-recup__mode:nth-child(n+3) { border-top: 1px solid #F0DDB2; }
}
@media (max-width: 420px) {
	.lpa-recup__mode { padding: 14px !important; }
	.lpa-recup__mode b { font-size: 16px; }
	.lpa-recup__prix { font-size: 21px; }
}
/* Version compacte (page produit) */
.lpa-recup.is-compact { background: none; padding: 0; gap: 10px; margin: 0; }
.lpa-recup.is-compact .lpa-recup__tete h2 { font: 600 16px Inter, sans-serif !important; text-transform: none; }
.lpa-recup.is-compact .lpa-recup__tete p { font-size: 14px; }
.lpa-recup.is-compact .lpa-recup__grille { grid-template-columns: repeat(2, minmax(0, 1fr)); background: var(--lpa-creme, #FFF6E3); }
.lpa-recup.is-compact .lpa-recup__mode { padding: 12px 14px !important; }
.lpa-recup.is-compact .lpa-recup__mode:nth-child(3) { border-left: 0; }
.lpa-recup.is-compact .lpa-recup__mode:nth-child(n+3) { border-top: 1px solid #F0DDB2; }
.lpa-recup.is-compact .lpa-recup__prix { font-size: 19px; }
.lpa-recup.is-compact .lpa-recup__mode b { font-size: 15px; }
.lpa-recup.is-compact .lpa-recup__txt > span:last-child { font-size: 14px; }

/* ---------- En-têtes de section (un seul modèle) ---------- */
body.home .module-header { display: flex !important; justify-content: space-between; align-items: flex-end; gap: 12px; border: 0 !important; padding: 0 !important; margin: 0 0 18px !important; }
body.home .module-header .column { padding: 0 !important; }
body.home .module-header .entry-title, body.home .elementor-widget-heading .elementor-heading-title {
	font: 700 clamp(24px, 2.2vw, 28px)/1.1 Dosis, sans-serif !important; text-transform: uppercase; letter-spacing: .01em; color: var(--lpa-encre) !important; margin: 0 !important;
}
body.home .module-header .entry-description { font-size: 15px !important; color: var(--lpa-gris) !important; margin-top: 4px !important; }
body.home .module-header .button {
	min-height: 44px; padding: 0 16px !important; border: 1.5px solid #D5D8E2 !important; border-radius: 30px !important; background: #fff !important;
	color: var(--lpa-encre) !important; font: 600 15px Inter, sans-serif !important; display: inline-flex !important; align-items: center; gap: 6px; text-transform: none !important; white-space: nowrap;
}
body.home .module-header .button:hover { border-color: var(--lpa-encre) !important; }
body.home .elementor-element-lpmpstoryh .elementor-heading-title::after { content: ''; display: block; width: 56px; height: 4px; border-radius: 2px; background: var(--lpa-jaune); margin: 16px auto 0; }

/* Modules : pas de double cadre */
body.home .site-module .module-body, body.home .site-module .slider-wrapper, body.home .site-module .products, body.home .site-module .site-slider, body.home .site-module .products .product { border: 0 !important; box-shadow: none !important; }
body.home .module-category .slick-dots, body.home .module-carousel .slick-dots { display: none !important; }

/* ---------- Catégories ---------- */
body.home .module-category .slick-list { padding: 4px 0 8px !important; }
body.home .module-category .category { border: 1px solid var(--lpa-trait) !important; border-radius: 16px !important; padding: 12px 12px 16px !important; text-align: center; background: #fff; margin: 0 6px; transition: box-shadow .15s, border-color .15s; }
body.home .module-category .category:hover { box-shadow: 0 8px 22px rgba(32, 36, 53, .10); border-color: #C9CCD8 !important; }
body.home .module-category .category-image { margin: 0 0 10px !important; }
body.home .module-category .category-image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; }
body.home .module-category .category-detail { padding: 0 !important; }
body.home .module-category .entry-category, body.home .module-category .entry-category a { font: 700 19px/1.1 Dosis, sans-serif !important; text-transform: uppercase; letter-spacing: .02em; color: var(--lpa-encre) !important; margin: 0 !important; }
body.home .module-category .category-count { font-size: 15px !important; color: var(--lpa-gris) !important; text-transform: lowercase; margin-top: 4px; }

/* ---------- Bannières (un seul modèle) ---------- */
body.home .elementor-widget-bacola-banner-box3 > .elementor-widget-container { background: none !important; }
body.home .module-banner.image .banner-wrapper { position: relative; border-radius: 16px !important; overflow: hidden; min-height: 240px; display: flex; align-items: center; background: #3B3A33; }
body.home .module-banner.image .banner-thumbnail { position: absolute !important; inset: 0; z-index: 0; margin: 0 !important; }
body.home .module-banner.image .banner-thumbnail img { width: 100% !important; height: 100% !important; object-fit: cover; max-width: none; }
body.home .module-banner.image .banner-wrapper::before { content: ''; position: absolute; inset: 0; z-index: 1; background: var(--lpa-voile); pointer-events: none; }
body.home .module-banner.image .banner-content {
	position: relative !important; z-index: 2; top: auto !important; left: auto !important; transform: none !important;
	padding: clamp(20px, 2.6vw, 32px) !important; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; max-width: 460px;
}
body.home .module-banner.image .content-header, body.home .module-banner.image .content-main { margin: 0 !important; padding: 0 !important; }
body.home .module-banner.image .discount-text { display: inline-block; background: var(--lpa-jaune) !important; color: var(--lpa-encre) !important; font: 700 13px/1.2 Dosis, sans-serif !important; text-transform: uppercase; letter-spacing: .05em; padding: 5px 10px; border-radius: 20px; margin: 0 !important; }
body.home .module-banner.image .content-header:has(.discount-text:empty) { display: none; }
body.home .module-banner.image .entry-title { font: 700 clamp(24px, 2.2vw, 28px)/1.1 Dosis, sans-serif !important; text-transform: uppercase; color: #fff !important; margin: 0 0 8px !important; }
body.home .module-banner.image .entry-text { font-size: 16px !important; line-height: 1.45 !important; color: #fff !important; text-transform: none !important; margin: 0 !important; }
body.home .module-banner.image .button { position: relative; z-index: 4; margin: 6px 0 0 !important; height: 46px; padding: 0 18px !important; border-radius: 10px !important; background: var(--lpa-jaune) !important; color: var(--lpa-encre) !important; font: 700 16px Inter, sans-serif !important; border: 0 !important; text-transform: none !important; display: inline-flex !important; align-items: center; }
body.home .module-banner.image .overlay-link { z-index: 3; }

/* Engagements (3 dernières bannières) : cartes photo + texte */
body.home :is(.elementor-element-95a07c7, .elementor-element-a42156b, .elementor-element-31534f1) .module-banner.image .banner-wrapper { flex-direction: column; align-items: stretch; min-height: 0 !important; height: 100% !important; background: #fff; border: 1px solid var(--lpa-trait); }
body.home :is(.elementor-element-95a07c7, .elementor-element-a42156b, .elementor-element-31534f1) .module-banner.image .banner-wrapper::before { display: none; }
body.home :is(.elementor-element-95a07c7, .elementor-element-a42156b, .elementor-element-31534f1) .module-banner.image .banner-thumbnail { position: relative !important; inset: auto; height: 150px; order: -1; flex: none; }
body.home :is(.elementor-element-95a07c7, .elementor-element-a42156b, .elementor-element-31534f1) .module-banner.image .banner-wrapper > .overlay-link { position: absolute; inset: 0; }
body.home :is(.elementor-element-95a07c7, .elementor-element-a42156b, .elementor-element-31534f1) .module-banner.image .banner-content { max-width: none; padding: 18px 20px 20px !important; gap: 6px; }
body.home :is(.elementor-element-95a07c7, .elementor-element-a42156b, .elementor-element-31534f1) .module-banner.image .entry-title { color: var(--lpa-encre) !important; font-size: 20px !important; margin: 0 !important; }
body.home :is(.elementor-element-95a07c7, .elementor-element-a42156b, .elementor-element-31534f1) .module-banner.image .entry-text { color: var(--lpa-texte) !important; font-size: 15px !important; }
body.home :is(.elementor-element-95a07c7, .elementor-element-a42156b, .elementor-element-31534f1) .module-banner.image .banner-content { flex: 1; }

/* Sous 1100 px, la flèche gauche du diaporama passerait sur le texte : on garde les points et le glisser */
@media (max-width: 1099px) {
	body.home .module-slider .slick-arrow { display: none !important; }
	body.home .module-category .slick-prev, body.home .module-carousel .slick-prev { left: 6px !important; }
	body.home .module-category .slick-next, body.home .module-carousel .slick-next { right: 6px !important; }
}
@media (max-width: 767px) {
	body.home .module-slider .slider-item { min-height: 440px; }
	body.home .module-slider .slider-item .content-wrapper { padding: 32px 20px 72px !important; }
	body.home .module-slider .slick-arrow { display: none !important; }
	body.home .module-category .slick-arrow, body.home .module-carousel .slick-arrow { width: 40px !important; height: 40px !important; }
}

/* Pseudo-éléments du thème à neutraliser */
body.home .site-module .products::before, body.home .site-module .products::after { display: none !important; }
body.home .module-slider .content-discount::before, body.home .module-slider .content-discount::after { display: none !important; }
body.home .site-module .slick-arrow::before { display: none !important; }
body.home .site-module .slick-arrow { overflow: hidden; }
body.home .site-module .slick-arrow i, body.home .site-module .slick-arrow svg { position: static !important; }
body.home .site-module:not(.simple-text) .module-body::before, body.home .site-module:not(.simple-text) .module-body::after { display: none !important; }
/* Cartes du carrousel à hauteur égale */
body.home .module-carousel .slick-track { display: flex !important; }
body.home .module-carousel .slick-slide { height: auto !important; display: flex !important; }
body.home .module-carousel .slick-slide > div, body.home .module-carousel .slick-slide .product { height: 100%; width: 100%; display: flex; }
body.home .module-carousel .product .product-wrapper { width: 100%; }

/* ---------- Rangement général : même rythme, mêmes alignements partout ---------- */
/* Un seul écart entre les sections (64 px avec la marge interne des colonnes) */
body.home .elementor-top-section:not(.elementor-element-384d7d2, .elementor-element-3c74cdf) { margin-top: 0 !important; margin-bottom: 34px !important; }
body.home .elementor-top-section.elementor-element-f938cad { margin-top: 56px !important; margin-bottom: 0 !important; }
body.home .elementor-top-section.elementor-element-0d81a18 { margin-bottom: 0 !important; }
body.home .elementor-element-2992706 { margin: -6px auto 36px !important; }
body.home .elementor-element-lpmpmodes { margin-bottom: 40px !important; }
body.home .lpa-recup { margin: 0; }
body.home .elementor-top-section.elementor-element-lpmpstory1 { margin-bottom: 10px !important; }
body.home .elementor-top-section.elementor-element-71dd98b { margin-bottom: 16px !important; }

/* Vignettes : deux lignes réservées au nom, pour que stock, prix et bouton s'alignent d'une carte à l'autre */
body.home .product .product-title { min-height: 2.6em; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }

/* Engagements : trois cartes de texte, sans photo */
body.home :is(.elementor-element-95a07c7, .elementor-element-a42156b, .elementor-element-31534f1) .module-banner.image .banner-thumbnail { display: none !important; }
body.home :is(.elementor-element-95a07c7, .elementor-element-a42156b, .elementor-element-31534f1) .module-banner.image .banner-wrapper { background: var(--lpa-creme); border: 1px solid var(--lpa-creme-trait); border-radius: 16px !important; }
body.home :is(.elementor-element-95a07c7, .elementor-element-a42156b, .elementor-element-31534f1) .module-banner.image .banner-content { padding: 20px 22px 22px !important; gap: 8px; }
body.home :is(.elementor-element-95a07c7, .elementor-element-a42156b, .elementor-element-31534f1) .module-banner.image .entry-title { letter-spacing: .01em; }
body.home :is(.elementor-element-95a07c7, .elementor-element-a42156b, .elementor-element-31534f1) .module-banner.image .entry-title::before { content: ''; display: block; width: 36px; height: 4px; border-radius: 2px; background: var(--lpa-jaune); margin-bottom: 12px; }

@media (max-width: 767px) {
	body.home .elementor-top-section:not(.elementor-element-384d7d2, .elementor-element-3c74cdf) { margin-bottom: 18px !important; }
	body.home .elementor-top-section.elementor-element-f938cad { margin-top: 36px !important; }
	body.home .elementor-element-2992706 { margin: -4px auto 28px !important; }
	body.home .elementor-element-lpmpmodes { margin-bottom: 30px !important; }
	/* En-tête de section : le titre et « Voir tout » sur une ligne, sans sous-titre */
	body.home .module-header { align-items: center; }
	body.home .module-header .entry-description { display: none !important; }
	body.home :is(.elementor-element-95a07c7, .elementor-element-a42156b, .elementor-element-31534f1) { margin-bottom: 10px !important; }
}
