/* =========================================================
   L'empreinte des plantes – Menu mobile  [lep_menu_mobile]
   ========================================================= */
.lep-mm, .lep-mm * { box-sizing: border-box; }

:root {
	--lep-sage: #a7c0a7;
	--lep-sage-dk: #7e9f7e;
	--lep-sage-lt: #f2f6f2;
	--lep-line: #e7ece7;
	--lep-ink: #3a3f3a;
	--lep-text: #5a5f5a;
	--lep-serif: "Century Schoolbook", Georgia, serif;
	--lep-script: Segoe, "Century Schoolbook", cursive;
}

/* ---------- Bouton hamburger ---------- */
.lep-mm-toggle {
	position: relative;
	width: 44px; height: 44px;
	border: 0; border-radius: 50%;
	background: var(--lep-sage);
	cursor: pointer; padding: 0;
	display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
	transition: transform .2s, background .2s;
	margin-left: 14px;
	-webkit-tap-highlight-color: transparent;
}
.lep-mm-toggle:hover { background: var(--lep-sage-dk); }
.lep-mm-toggle:active { transform: scale(.92); }
.lep-mm-toggle span { display: block; width: 18px; height: 2px; border-radius: 2px; background: #fff; transition: width .25s; }
.lep-mm-toggle span:nth-child(2) { width: 12px; margin-left: 6px; }
.lep-mm-toggle:hover span:nth-child(2) { width: 18px; margin-left: 0; }

/* ---------- Conteneur ---------- */
.lep-mm { position: fixed; inset: 0; z-index: 100100; visibility: hidden; pointer-events: none; font-family: var(--lep-serif); color: var(--lep-text); }
.lep-mm.is-open { visibility: visible; pointer-events: auto; }
.lep-mm__ov { position: absolute; inset: 0; background: rgba(33, 41, 52, .45); opacity: 0; transition: opacity .35s; }
.lep-mm.is-open .lep-mm__ov { opacity: 1; }

.lep-mm__wrap {
	position: absolute; top: 0; right: 0; bottom: 0;
	width: 100%; max-width: 440px;
	background: #fff; overflow: hidden;
	box-shadow: -12px 0 40px rgba(0, 0, 0, .15);
	transform: translateX(100%);
	transition: transform .42s cubic-bezier(.2, .8, .2, 1);
}
.lep-mm.is-open .lep-mm__wrap { transform: none; }

/* ---------- Panneaux (navigation en tiroirs) ---------- */
.lep-mm__panel {
	position: absolute; inset: 0;
	display: flex; flex-direction: column;
	background: #fff;
	transition: transform .38s cubic-bezier(.2, .8, .2, 1), opacity .38s;
}
.lep-mm__panel--sub { transform: translateX(100%); visibility: hidden; }
.lep-mm__panel--sub.is-active { transform: none; visibility: visible; }
.lep-mm__panel--main.is-behind { transform: translateX(-28%); opacity: .4; }

/* Bandeau vert et bord "papier déchiré" en haut de chaque panneau */
.lep-mm__top {
	position: relative; z-index: 3; flex: none;
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	min-height: 76px; padding: 14px 18px 8px;
	box-shadow: none; border: 0; margin: 0;
	background: var(--lep-sage);
}
/* Bord "papier déchiré" : même tracé que le séparateur grunge des sections Avada.
   Il est posé SOUS le bandeau, par-dessus le contenu : quand on fait défiler,
   le contenu glisse sous la déchirure, comme sous une feuille de papier. */
.lep-mm__top::after {
	content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 18px; margin-top: -1px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1463 21' preserveAspectRatio='none'%3E%3Cpath fill='%23a7c0a7' fill-rule='evenodd' d='M0 0H1463V21H0ZM0 43H1463V9L1457.5 5.5L1452.5 7C1447 7 1439.5 4.5 1438 5C1433 4 1438.5 11.5 1433.5 11.5C1428 12 1429 8.5 1426 8.5C1425 8.5 1421.5 10.5 1420.5 10C1414.5 9 1410 9 1413.5 7.5C1409.5 7 1411 5.5 1409.5 4.5C1413.5 4.5 1406 2.5 1411 3C1411.5 2 1399.5 2.5 1400.5 1C1395.5 1.5 1400.5 2.5 1395 2.5C1391 3 1375.5 0.5 1370.5 1C1363 1.5 1366 2 1361.5 2.5C1355.5 2.5 1350.5 3 1345 3.5C1344 4 1341 3.5 1339 3.5C1337 3.5 1333.5 4 1331 4C1327 4 1323.5 4 1320 3.5C1319.5 5.5 1309.5 3 1303.5 2.5C1297 4 1282 4 1270.5 4.5C1270.5 5 1274 5.5 1272.5 5.5C1267 6.5 1258 6.5 1252.5 5.5C1256 4.5 1247 4 1248 2.5C1241.5 2.5 1237.5 4 1230 4.5C1231.5 6 1224 4.5 1223 4.5C1222 5 1222.5 1.5 1220 1C1216.5 0.5 1219.5 2.5 1214 3C1210.5 3 1219.5 3.5 1217.5 4.5C1213 4 1215.5 5.5 1214 4.5C1219.5 3.5 1209 4 1212 3C1208.5 3 1201.5 1.5 1204.5 2.5C1206.5 3 1204.5 3 1205 3.5C1201 3.5 1199.5 4 1196.5 4C1196 4 1190.5 4.5 1190 4.5C1189 4.5 1188.5 6 1187 6C1186 6 1185.5 4.5 1183 4.5C1180.5 4.5 1178 2 1175 2C1168.5 4 1160.5 5.5 1154 4.5C1154 5 1151 6.5 1149.5 6.5C1143.5 6 1129 8 1118 8C1115.5 8 1116 10 1113.5 10C1112 10.5 1111.5 7 1108 7.5C1107.5 7.5 1110.5 5.5 1108 5.5C1099.5 6.5 1108.5 7.5 1105 9C1100.5 9 1099 11 1098 10C1093.5 10.5 1093.5 6.5 1088.5 7C1087 7 1087.5 7.5 1086 8C1083.5 7.5 1088 6.5 1085 7C1081 8.5 1079.5 8 1072.5 9C1071 8 1063.5 5 1060 4.5C1059.5 5.5 1059 3 1056 2.5C1057 0 1046.5 6 1050.5 4C1040 4 1048 4.5 1038 4.5C1038 5.5 1037 2.5 1035 2.5C1035 1.5 1036.5 2 1033 2C1032 3.5 1032 2.5 1031 4C1028.5 3.5 1015.5 6.5 1016.5 5C1012 4.5 1007 6.5 1003.5 6C990 7 991.5 4 978 6C977 5.5 979 4.5 978 4C960.5 5.5 940.5 5.5 920 6C918.5 6.5 917 6.5 916 7C912.5 5.5 912.5 10 908.5 10C906.5 10 906.5 6 905 6C905 6 901 6.5 899 6.5C891 6.5 884 8.5 878.5 8.5C877 11.5 869 10 868.5 10C868.5 10 866.5 8.5 866.5 8.5C866 9 867.5 10.5 867 10.5C865.5 11 863.5 11 861.5 10C859 9 858.5 8 855 8C852.5 7.5 848 7.5 845 7.5C839.5 8 827 7.5 823.5 7.5C822.5 8 820 10 819 10C818 9.5 818.5 7.5 818 7.5C812.5 8 816 11.5 811.5 11C811.5 10.5 812 9.5 809 10C803 9.5 808 12 805 10C803 9.5 802 7 800.5 8C802.5 8 800 9 799.5 10C794 10.5 790.5 10 786.5 10C784.5 13 778 7.5 774.5 9C775.5 9 774 7 772.5 7C772 6.5 770 7.5 770.5 6.5C768 7 770 8.5 769 9.5C779 9 765 12.5 763 11C763 10 762 9.5 762 8.5C755 9 746 12.5 737.5 11.5C737.5 12.5 733.5 12.5 732 13C730 11.5 730.5 11.5 726.5 11C726.5 10 728 10.5 727.5 9.5C720 11.5 728.5 7.5 722.5 9C720.5 10.5 725 8.5 723.5 10C721.5 10 722 10.5 720.5 11C719 10.5 713.5 12 712.5 11.5C712.5 11.5 702 8 702 8C698 7.5 695.5 9.5 689.5 9C689.5 9.5 683.5 10 682.5 10.5C675 9.5 676.5 12.5 667.5 11.5C667 12.5 667 10 665.5 10.5C660.5 10 668 13 664 13C663 13.5 662 16.5 659 17C657 16.5 657 16 656.5 15C662 14.5 655 14.5 656 13C650.5 13.5 643.5 13 641 12C642.5 11.5 642.5 10.5 639.5 9.5C634.5 10.5 638.5 11 633.5 10.5C631 11.5 635 12.5 629 13C629.5 12 626 12 625 11.5C624.5 11.5 624 10.5 620 10.5C615 10 619 12 615.5 11.5C609 12 614.5 11.5 609.5 11.5C606 11.5 599 12.5 593.5 12C591.5 13 595.5 13.5 592 13.5C586.5 13 591.5 13.5 591.5 12C588.5 12 585.5 11.5 587 12C584.5 12.5 587 12.5 585 13C582 12.5 582 13.5 580.5 14C576.5 12.5 572 13.5 565.5 12C563 12.5 564.5 12.5 560 12C555 13 557.5 12.5 553 12.5C544 14.5 537.5 10 529.5 11.5C531 12.5 535 13 532.5 14C530.5 12 521 12 516 13C515.5 12 517.5 12 517.5 11C515 10 508 9.5 510.5 11C512 11 508.5 12 511.5 12C511 13 513.5 11.5 513 12.5C511.5 12.5 511.5 13 510.5 13C506.5 13 511.5 11.5 507.5 11.5C503.5 13.5 503.5 13 506.5 14C501 14 506.5 13.5 500.5 14C502.5 12 496.5 10.5 495.5 11.5L496.5 12.5C493 13 495.5 17 490.5 17.5C490.5 17 490 14 488 13.5C481.5 13 486 12 481.5 12C481.5 11 479 12.5 477 12C476 13 474.5 14 470 13.5C470 12 470 12.5 467 12C468 14 469.5 14 471.5 15.5C470 15.5 464.5 14.5 463.5 14.5C460 13.5 465.5 12.5 456.5 13.5C456.5 13 458.5 12.5 459 12C452 12.5 452 10.5 449.5 13C453.5 13 451 11.5 452 13.5C449.5 13.5 446.5 12.5 447.5 14C447.5 15 446.5 15 447 15.5C446.5 16 443 16 440.5 16C435.5 15.5 445 14.5 442.5 14C437.5 13.5 431.5 15.5 429 14.5C427.5 15.5 428.5 15 424.5 15.5C422 14 425 15 420 15C419 14 423.5 13 417 13C410.5 13 418.5 17.5 416 18C418.5 18.5 422 16.5 423 17C421 18 416.5 19.5 415 19C419.5 17 410 14.5 409.5 13C411 13 414.5 13 412 12.5C407.5 12.5 410 11 404.5 10.5C405.5 8 396 12 391.5 11.5C389 13 381 13.5 375.5 12.5C375 11 376.5 12 377 11C373.5 11 374 11.5 370.5 12C371.5 13 370.5 15 372.5 15.5C372.5 15 375.5 14.5 376 15C373 18 370 14 366.5 14C363 13.5 366 14 362.5 13.5C362.5 12.5 363 13.5 359.5 13.5C358 15 359.5 15 359.5 16.5C358 16 355.5 12.5 354.5 13C352 12.5 351 12 349.5 11.5C346.5 13 345 12.5 342 13C339 12 337.5 17 334.5 17.5C331.5 16.5 326.5 12 322.5 12.5C323.5 12.5 317 16.5 315.5 16.5C312.5 15 314.5 16 309.5 16.5C309.5 16 307 15.5 306.5 15C302.5 14.5 306 16 301.5 15.5C301.5 14.5 297.5 15.5 298 14.5C293.5 14 298 12.5 293 12C289 12 291.5 13 286.5 13.5C284.5 14.5 285.5 14 283.5 14.5C281 14.5 278 11.5 276.5 10C275 7.5 273 11.5 270 10C261.5 10.5 262 11.5 258 10.5C254 10.5 255.5 7 252 6.5C251.5 7 252 7.5 250.5 7.5C246 6.5 241.5 7.5 236.5 7.5C233.5 8 230 7 227 7C224 7.5 221.5 8 218.5 8C214 8 210 7.5 205 7.5C195.5 7.5 186 8.5 178.5 8.5C176.5 8.5 176.5 8 174.5 8C170 8 163 13.5 159.5 11.5C154 13.5 150 8 142.5 8C135.5 8 126.5 8 117.5 8C111.5 8 104.5 9 97 9C87 9 69 15.5 66 17.5C56 17 48 5 40 7C32 5 25.5 7.5 13.5 7C13 7 11 7.5 11 7.5L8.5 8C8 8 7.5 8.5 7 8.5C6 8.5 4.5 8.5 3.5 8.5C2.5 9 1 9 0 9L0 43ZM1397.5 4.5C1397.5 5.5 1397 6.5 1396 7C1391 7 1396.5 6 1394.5 5C1397 5 1394.5 4.5 1397.5 4.5ZM1356 2.5C1358.5 3 1357.5 4 1362.5 3.5C1362.5 5 1363 5.5 1360 5C1360.5 5.5 1361.5 6 1361 6.5C1355.5 6.5 1360 5.5 1361 4C1360 3.5 1355.5 3.5 1356 2.5ZM1336.5 5.5C1342 7 1345 4.5 1350.5 4C1352 5.5 1352 5.5 1348.5 5.5C1346 5.5 1335 7 1336.5 5.5L1336.5 5.5ZM1327 7C1327 9 1328.5 8 1326.5 9C1320.5 8 1327 5.5 1333.5 6L1327 7ZM637.5 12C635 13 637.5 13 635 12C637.5 10.5 632 12.5 637.5 12ZM602.5 14.5C605.5 15 603.5 16.5 603.5 18C599 17.5 606.5 14.5 601 15.5C601 13.5 600.5 15 602.5 14.5ZM524.5 15C524.5 16 522 18 520 17.5C520.5 16.5 523 14.5 524.5 15ZM410.5 15C407.5 15.5 409 17.5 405 16C406.5 15 405.5 15 410.5 15ZM391.5 12C395.5 12 393.5 14 393 15.5C389 15.5 390.5 13.5 391.5 12L391.5 12ZM366.5 15C367.5 15.5 367.5 16 367.5 17C364.5 17 367 16 363 16.5C364.5 15.5 363 15 366.5 15L366.5 15Z'/%3E%3C/svg%3E") 50% 0 / 125% 100% no-repeat;
	filter: drop-shadow(0 3px 2px rgba(40, 60, 40, .12));
	pointer-events: none;
}
.lep-mm__logo {
	display: flex; align-items: center; min-width: 0; text-decoration: none;
	padding: 6px 18px; background: #fff; border-radius: 24px 4px 24px 4px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
}
.lep-mm__logo img { display: block; height: 48px; width: auto; max-width: 180px; object-fit: contain; border-radius: 0; padding: 0; background: none; box-shadow: none; }
.lep-mm__logo:not(:has(img)) { background: none; box-shadow: none; padding: 0; }
.lep-mm__logo span { font-family: var(--lep-script); font-size: 22px; color: #fff; line-height: 1.15; }

.lep-mm__close, .lep-mm__back {
	display: inline-flex; align-items: center; justify-content: center; gap: 4px;
	border: 0; cursor: pointer; color: #fff; font-family: var(--lep-serif);
	background: rgba(255, 255, 255, .22);
	-webkit-tap-highlight-color: transparent;
}
.lep-mm__close { width: 42px; height: 42px; border-radius: 50%; padding: 0; flex: none; }
.lep-mm__back { height: 40px; padding: 0 16px 0 10px; border-radius: 50px 4px 50px 4px; font-size: 15px; }
.lep-mm button:focus:not(:focus-visible), .lep-mm a:focus:not(:focus-visible) { outline: none; }
.lep-mm button:focus-visible, .lep-mm a:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.lep-mm__scroll a:focus-visible, .lep-mm__scroll button:focus-visible, .lep-mm__foot a:focus-visible { outline-color: var(--lep-sage-dk); }
.lep-mm__close:active, .lep-mm__back:active { background: rgba(255, 255, 255, .38); }

.lep-mm svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.lep-mm svg .lep-fill, .lep-mm svg.lep-fill { fill: currentColor; stroke: none; }

.lep-mm__scroll { position: relative; z-index: 1; flex: 1 1 auto; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; padding: 30px 22px 28px; }

/* ---------- Recherche ---------- */
.lep-mm__search {
	display: flex; align-items: center; gap: 8px;
	margin: 4px 0 14px; padding: 0 16px;
	height: 50px; border-radius: 50px;
	background: var(--lep-sage-lt); border: 1px solid var(--lep-line);
	color: var(--lep-sage-dk);
}
.lep-mm__search input[type="search"] {
	flex: 1; min-width: 0; height: 100%;
	border: 0 !important; background: transparent !important; box-shadow: none !important; outline: 0;
	font: 16px var(--lep-serif) !important; color: var(--lep-ink); padding: 0 !important;
}
.lep-mm__search input::placeholder { color: #8f998f; }

/* ---------- Liste principale ---------- */
.lep-mm__nav { display: flex; flex-direction: column; }
.lep-mm__item {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	width: 100%; padding: 17px 4px;
	border: 0; border-bottom: 1px solid var(--lep-line); background: none;
	font-family: var(--lep-serif); font-size: 21px; line-height: 1.2; text-align: left;
	color: var(--lep-ink); text-decoration: none; cursor: pointer;
	opacity: 0; transform: translateX(16px);
	transition: color .2s, opacity .4s, transform .4s;
	-webkit-tap-highlight-color: transparent;
}
.lep-mm.is-open .lep-mm__item { opacity: 1; transform: none; }
.lep-mm.is-open .lep-mm__item:nth-child(1) { transition-delay: .08s; }
.lep-mm.is-open .lep-mm__item:nth-child(2) { transition-delay: .12s; }
.lep-mm.is-open .lep-mm__item:nth-child(3) { transition-delay: .16s; }
.lep-mm.is-open .lep-mm__item:nth-child(4) { transition-delay: .20s; }
.lep-mm.is-open .lep-mm__item:nth-child(5) { transition-delay: .24s; }
.lep-mm.is-open .lep-mm__item:nth-child(6) { transition-delay: .28s; }
.lep-mm__item svg { color: var(--lep-sage); }
.lep-mm__item.is-current { color: var(--lep-sage-dk); }
.lep-mm__label { display: flex; flex-direction: column; }
.lep-mm__label small { font-size: 13.5px; color: #fff; opacity: .95; margin-top: 4px; }

/* E-shop mis en avant */
.lep-mm__item--shop {
	margin: 4px 0 10px; padding: 18px 20px;
	border: 0; border-radius: 26px 4px 26px 4px;
	background: var(--lep-sage); color: #fff !important;
	box-shadow: 0 8px 20px rgba(126, 159, 126, .3);
	font-size: 23px;
}
.lep-mm__item--shop svg { color: #fff; }
.lep-mm__item--shop:active { background: var(--lep-sage-dk); }

/* ---------- Infos pratiques ---------- */
.lep-mm__info {
	margin-top: 26px; padding: 20px;
	background: var(--lep-sage-lt); border-radius: 22px 4px 22px 4px;
	display: flex; flex-direction: column; gap: 12px;
	font-size: 15px; line-height: 1.45;
}
.lep-mm__call {
	display: flex; align-items: center; justify-content: center; gap: 8px;
	height: 48px; border-radius: 50px 4px 50px 4px;
	background: #fff; border: 1.5px solid var(--lep-sage);
	color: var(--lep-ink); font-size: 17px; text-decoration: none;
}
.lep-mm__call svg { color: var(--lep-sage-dk); }
.lep-mm__row { display: flex; gap: 10px; align-items: flex-start; color: var(--lep-text); text-decoration: none; }
.lep-mm__row svg { color: var(--lep-sage-dk); margin-top: 1px; }
.lep-mm__social { display: flex; gap: 10px; padding-top: 2px; }
.lep-mm__social a { width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--lep-sage); color: #fff; }
.lep-mm__social svg { width: 20px; height: 20px; }

/* ---------- Sous-panneaux ---------- */
.lep-mm__title { font-family: var(--lep-script); font-size: 34px; line-height: 1.15; color: var(--lep-ink); margin: 2px 0 8px; }

.lep-mm__list { display: flex; flex-direction: column; }
.lep-mm__list a {
	display: flex; align-items: center; gap: 12px;
	padding: 16px 2px; border-bottom: 1px solid var(--lep-line);
	font-size: 18px; color: var(--lep-ink); text-decoration: none;
}
.lep-mm__list a span { flex: 1; }
.lep-mm__list a svg { color: var(--lep-sage); }
.lep-mm__list a svg:last-child { width: 18px; height: 18px; color: #c4cfc4; }
.lep-mm__list a.is-current { color: var(--lep-sage-dk); }

/* E-shop */
.lep-mm__sec { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin: 20px 0 10px; }
.lep-mm__sec h3 { margin: 0; font-family: var(--lep-serif); font-size: 17px; font-weight: 700; color: var(--lep-ink); letter-spacing: .2px; }
.lep-mm__sec a { font-size: 14px; color: var(--lep-sage-dk); white-space: nowrap; }

.lep-mm__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.lep-mm__tile {
	position: relative; min-height: 76px;
	display: flex; flex-direction: column; justify-content: center;
	padding: 12px 14px;
	background: var(--lep-sage-lt); border: 1px solid var(--lep-line);
	border-radius: 20px 4px 20px 4px;
	color: var(--lep-ink); text-decoration: none;
	transition: transform .15s, background .2s;
}
.lep-mm__tile--sub { background: #fff; }
.lep-mm__tile:active { transform: scale(.97); background: #e4ede4; }
.lep-mm__tile b { font-size: 15px; line-height: 1.25; font-weight: 600; }
.lep-mm__tile small { font-size: 12.5px; color: #7f8b7f; margin-top: 3px; }
.lep-mm__tile svg { position: absolute; right: 10px; top: 50%; width: 20px; height: 20px; margin-top: -10px; color: var(--lep-sage); }

.lep-mm__pills { display: flex; flex-wrap: wrap; gap: 8px; }
.lep-mm__pill {
	padding: 8px 15px; border-radius: 50px 4px 50px 4px;
	background: var(--lep-sage); color: #fff; font-size: 14px; text-decoration: none;
}
.lep-mm__pill:active { background: var(--lep-sage-dk); }

.lep-mm__foot { flex: none; padding: 12px 22px calc(14px + env(safe-area-inset-bottom)); border-top: 1px solid var(--lep-line); background: #fff; }
.lep-mm__btn { display: block; text-align: center; padding: 14px; border-radius: 50px 4px 50px 4px; background: var(--lep-sage); color: #fff !important; font-size: 16px; text-decoration: none; }
.lep-mm__help { display: block; text-align: center; margin-top: 8px; font-size: 14px; color: #6f6f6f; text-decoration: none; }
.lep-mm__help u { color: var(--lep-sage-dk); }

html.lep-mm-lock, html.lep-mm-lock body { overflow: hidden !important; }

@media (min-width: 600px) {
	.lep-mm__grid { grid-template-columns: 1fr 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	.lep-mm__wrap, .lep-mm__panel, .lep-mm__ov, .lep-mm__item { transition: none !important; }
}
