.fdlm-account-firstname{display:block;font-size:11px;line-height:1.1;font-weight:600;opacity:.85;text-transform:none;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#fdlm-mega-menu .fdlm-menu-item:hover .fdlm-mega-panel{opacity:0;visibility:hidden;animation:none}#fdlm-mega-menu .fdlm-menu-item.fdlm-open .fdlm-mega-panel{opacity:1;visibility:visible;animation:fdlm-fade-in .25s ease}#fdlm-mega-menu .fdlm-has-submenu > .fdlm-menu-link{cursor:pointer}.fdlm-cat-nav-detached{position:fixed!important;left:0;right:0;width:100%!important;z-index:98;background:#fff;border-bottom:1px solid rgba(20,36,81,.08);box-shadow:0 8px 18px -10px rgba(20,36,81,.25);transform:translate3d(0,-100%,0);visibility:hidden;transition:transform .28s cubic-bezier(.4,0,.2,1),visibility 0s linear .28s;will-change:transform}.fdlm-cat-nav-detached.fdlm-cat-nav-shown{transform:translate3d(0,0,0);visibility:visible;transition:transform .28s cubic-bezier(.4,0,.2,1),visibility 0s}.fdlm-cat-nav-detached.fdlm-cat-nav-instant{transition:none!important}@media (prefers-reduced-motion:reduce){.fdlm-cat-nav-detached,.fdlm-cat-nav-detached.fdlm-cat-nav-shown{transition:none}}
@keyframes fdlm-logo-breathe{0%,100%{transform:translateY(0) scale(1.06,.94) rotate(0)}12%{transform:translateY(0) scale(1,1) rotate(0)}35%{transform:translateY(-22%) scale(.97,1.03) rotate(-8deg)}50%{transform:translateY(-26%) scale(1,1) rotate(0)}65%{transform:translateY(-22%) scale(.97,1.03) rotate(8deg)}88%{transform:translateY(0) scale(1,1) rotate(0)}}@media (prefers-reduced-motion:reduce){.wgb-loading-spinner,.wgb-spinner,.wgb-spinner-small,.fdlm-spinner{animation-duration:3s!important}}.wgb-loading-spinner,.wgb-spinner,.wgb-spinner-small,.fdlm-spinner{border:0!important;border-radius:50%!important;box-shadow:none!important;background:url(https://www.fromagesdelamemee.fr/wp-content/uploads/2026/01/boutique-de-la-memee-favicon-150x150.png) center/contain no-repeat!important;animation:fdlm-logo-breathe 1.4s ease-in-out infinite!important;transform-origin:50% 50%}.wgb-loading-spinner::before,.wgb-loading-spinner::after{content:none!important;display:none!important}.wgb-loading-spinner{width:96px!important;height:96px!important;margin:0 auto 30px!important}.wgb-spinner{width:56px!important;height:56px!important;margin:0 auto 14px!important}.fdlm-spinner{width:48px!important;height:48px!important}.wgb-spinner-small{display:inline-block!important;width:18px!important;height:18px!important;vertical-align:middle;margin-right:6px}.fdlm-submit-btn.loading svg{animation:fdlm-logo-breathe 1.4s ease-in-out infinite!important;background:url(https://www.fromagesdelamemee.fr/wp-content/uploads/2026/01/boutique-de-la-memee-favicon-150x150.png) center/contain no-repeat;border-radius:50%}.fdlm-submit-btn.loading svg *{opacity:0}@media (prefers-reduced-motion:reduce){.wgb-loading-spinner,.wgb-spinner,.wgb-spinner-small,.fdlm-spinner,.fdlm-submit-btn.loading svg{animation:none!important}}.woocommerce .blockUI.blockOverlay::before,.woocommerce .loader::before{width:56px!important;height:56px!important;margin-left:-28px!important;margin-top:-28px!important;background:url(https://www.fromagesdelamemee.fr/wp-content/uploads/2026/01/boutique-de-la-memee-favicon-150x150.png) center/contain no-repeat!important;border-radius:50%;animation:fdlm-logo-breathe 1.2s ease-in-out infinite!important}.blockUI.blockOverlay{background:transparent!important;opacity:1!important}
.woocommerce-privacy-policy-text a,.woocommerce-terms-and-conditions-wrapper a,.woocommerce-checkout-payment .woocommerce-privacy-policy-text a{color:#142451!important;text-decoration:underline;font-weight:600}
@media (min-width:1025px) and (max-width:1366px){.elementor-location-archive .e-con-inner:has(>.e-con:first-child:nth-last-child(2)):has(>.e-con:last-child ul.products){flex-direction:row!important;flex-wrap:nowrap!important;align-items:stretch!important;gap:30px!important}.elementor-location-archive .e-con-inner:has(>.e-con:first-child:nth-last-child(2)):has(>.e-con:last-child ul.products)>.e-con:first-child{--width:28%;width:28%!important;max-width:28%!important;flex:0 0 28%!important;flex-direction:column!important;flex-wrap:nowrap!important}.elementor-location-archive .e-con-inner:has(>.e-con:first-child:nth-last-child(2)):has(>.e-con:last-child ul.products)>.e-con:first-child>.elementor-element{--width:100%;width:100%!important;max-width:100%!important;flex:0 0 auto!important}.elementor-location-archive .e-con-inner:has(>.e-con:first-child:nth-last-child(2)):has(>.e-con:last-child ul.products)>.e-con:last-child{--width:auto;width:auto!important;max-width:none!important;flex:1 1 0!important;min-width:0!important}}.custom-add-to-cart-btn:hover,.custom-add-to-cart-btn:focus-visible{background:#F0B9F0!important;color:#142451!important}.custom-add-to-cart-btn:hover .custom-add-to-cart-label,.custom-add-to-cart-btn:focus-visible .custom-add-to-cart-label,.custom-add-to-cart-btn:focus .custom-add-to-cart-label{color:#142451!important}.custom-add-to-cart-btn:focus-visible{outline:2px solid #142451;outline-offset:2px}.recette-template-default .elementor-location-footer .elementor-nav-menu a,.recette-template-default .elementor-location-footer .elementor-widget-text-editor a,.recette-template-default .elementor-location-footer .elementor-nav-menu a:hover{color:#fff!important}.recette-template-default .elementor-location-footer .elementor-widget-text-editor a[href^="tel:"]{color:#142451!important}.recette-template-default .fdlm-mm .fdlm-mm-all{color:#fff!important}.recette-template-default .fdlm-mm .fdlm-mm-all:hover{color:#142451!important}body .fdlm-contact-form-wrapper .fdlm-subject-list{border-color:#142451!important}body .fdlm-contact-form-wrapper .fdlm-subject-option{color:#142451!important;font-weight:500!important}body .fdlm-contact-form-wrapper .fdlm-subject-option:hover{background:rgba(240,185,240,.3)!important}body .fdlm-contact-form-wrapper .fdlm-subject-option:has(input:checked){background:#F0B9F0!important;color:#142451!important;font-weight:700!important;padding-right:48px!important}body .fdlm-contact-form-wrapper .fdlm-subject-option:has(input:checked)::after{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2253.076%22%20height%3D%2230.694%22%20viewBox%3D%220%200%2053.076%2030.694%22%3E%3Cpath%20d%3D%22M46.277%2C7.863c.341.214%2C1%2C.091%2C1.464.347%2C2.07%2C1.144%2C3.318%2C3.837%2C5.142%2C5.452.914%2C2.151-1.747%2C2.051-1.074%2C3.207-.268.007-.728-.1-.911.068a12.765%2C12.765%2C0%2C0%2C0-1.579%2C2.557c-.668%2C1.2-4.643%2C2.964-6.075%2C3.041l-.048.909-1.3.034c.581%2C2.318-1.575%2C2.02-2.542%2C3.073-.355.386-.374%2C1.077-.914%2C1.567-.22.2-5.074%2C2.522-5.368%2C2.562-.969.131-2.579-.635-3.651-.661a1.578%2C1.578%2C0%2C0%2C1-.316-1.023c.169-.949%2C3.141-5.014%2C4.022-5.537.533-.316%2C1.284-.235%2C1.444-.366.176-.145.325-2.123%2C1.205-2.927%2C1.339-.568%2C2.7-1.067%2C4.076-1.554.533-.188.881.168.722-.746-.852-.358-1.642.436-2.141.5-.542.064-1.286-.341-1.922-.183-.482.12-.07%2C1.506-2.285.646-.334-.13-.166-.7-.721-.645-.854.082-1.754%2C1.036-2.469%2C1.157-.985.166-2.933-.5-3.785-.381-.58.083-1.242.869-2.377.907-1.25.042-3.379-.343-4.613-.282-1.466.072-3.309.708-4.623.763-.59.025-2.226-.591-2.586-.492-.178.049-1.314%2C1.777-2.536%2C1.318l.164.992c-.707.091-.569-.8-1.075-.986-1.76-.63-4.755.089-6.77-.417-1.31-.329-3.585-2.241-2.585-3.735s3.646-.9%2C5.348-1.341a20.1%2C20.1%2C0%2C0%2C0%2C3.023-1.566c3.747-1.42%2C7.766-.659%2C11.655-.919.524-.035.837-.612%2C1.244-.562.5.06%2C1.166.97%2C2.348.915%2C1-.046%2C2.089-.855%2C3-1.212l1.317%2C1.221c.748-.756%2C2.009-1.814%2C3.111-1.818.389%2C0%2C.7.347%2C1.174.456.547.125.647-.806%2C1.327.707a3.357%2C3.357%2C0%2C0%2C1%2C2.811-.989c-.932-2.1-5.078-3.517-5.966-5.1-.406-.722-.174-1.393-.383-1.766-.154-.275-3.045-1.906-3.435-3.361-.461-1.718%2C1.8-.934%2C2.333-1.023.827-.139%2C1.341-.791%2C2.3-.645%2C2.022.307%2C4.592%2C2.006%2C6.531%2C2.749.723.277%2C1.55.138%2C2.263.379C42.084%2C3.767%2C44.9%2C7%2C46.277%2C7.863%22%20fill%3D%22%23142451%22%2F%3E%3C%2Fsvg%3E")!important}body .fdlm-contact-form-wrapper .fdlm-subject-option:has(input:focus-visible){outline:2px solid #142451;outline-offset:-2px}body .fdlm-contact-form-wrapper .fdlm-submit-btn{background:#F0B9F0!important;color:#142451!important;min-height:44px}body .fdlm-contact-form-wrapper .fdlm-submit-btn svg path{fill:#142451!important}body .fdlm-contact-form-wrapper .fdlm-submit-btn:hover,body .fdlm-contact-form-wrapper .fdlm-submit-btn:focus-visible{background:#142451!important;color:#F2E2D0!important}body .fdlm-contact-form-wrapper .fdlm-submit-btn:hover svg path,body .fdlm-contact-form-wrapper .fdlm-submit-btn:focus-visible svg path{fill:#F2E2D0!important}body .fdlm-contact-form-wrapper .fdlm-submit-btn:focus-visible{outline:2px solid #142451;outline-offset:2px}.page-id-2707 .elementor-widget-heading .elementor-heading-title span[style*="F0B9F0"]{color:#142451!important;background:#F0B9F0;padding:0 .25em;-webkit-box-decoration-break:clone;box-decoration-break:clone}.elementor-62620 .fdlm-hero-more,.elementor-62620 .fdlm-hero-more:hover,.elementor-62620 .fdlm-hero-more:focus{color:#142451!important}.elementor-62620 .fdlm-hero-more:hover{text-decoration-thickness:2px}.elementor-62620 .fdlm-hero-more:focus-visible{outline-color:#142451}.fdlm-promo-fidelite{background:#F2E2D0!important;border:1px solid #142451!important;color:#142451!important}.fdlm-promo-fidelite .fdlm-promo-fidelite-title,.fdlm-promo-fidelite .fdlm-promo-fidelite-title span,.fdlm-promo-fidelite .fdlm-promo-fidelite-right p{color:#142451!important}.fdlm-promo-fidelite .fdlm-promo-fidelite-points{background:#fff!important;color:#142451!important;border-color:#142451!important;white-space:nowrap}.fdlm-promo-fidelite .fdlm-promo-fidelite-points span{background:#142451!important;color:#F2E2D0!important}@media (min-width:1025px){.elementor-3483 .elementor-element.elementor-element-9d889a7{padding-bottom:76px!important}}.elementor-element.elementor-element-56a33ad{pointer-events:none!important}@media (max-width:968px){.fdlm-cart-content{grid-template-columns:minmax(0,1fr)!important}.fdlm-cart-content>*{min-width:0}}@media (max-width:600px){.fdlm-sticky-bar-inner{gap:12px;padding:10px 16px!important}.fdlm-sticky-total{flex:0 0 auto;gap:8px!important}.fdlm-sticky-value{flex-shrink:0;white-space:nowrap}.fdlm-sticky-checkout-btn{flex:1 1 auto;min-width:0;min-height:44px;display:inline-flex!important;align-items:center;justify-content:center;text-align:center;padding:10px 12px!important;letter-spacing:.3px!important;font-size:13px!important;line-height:1.2}}@media (max-width:767px){.wgb-btn-submit{white-space:normal!important;max-width:100%!important;padding:14px 20px!important;text-align:center!important;justify-content:center!important;box-sizing:border-box!important}}figure.fdlm-editorial-figure>figcaption{border-left:0!important;padding-left:0!important}.page-id-2707 .elementor-element.elementor-element-5f9cfa0,.page-id-2707 .elementor-element.elementor-element-b481253,.page-id-2707 .elementor-element.elementor-element-7623320,.page-id-2707 .elementor-element.elementor-element-c77e94e,.page-id-2707 .elementor-element.elementor-element-e25b42f{border-left:0!important}.elementor-element.elementor-element-69e7bb0,.elementor-element.elementor-element-bb8ea37,.elementor-element.elementor-element-57104dd,.elementor-element.elementor-element-6475e81{margin-left:0!important;margin-right:0!important}.elementor-element-69e7bb0>.e-con-inner,.elementor-element-57104dd>.e-con-inner,.elementor-element-6475e81>.e-con-inner,.elementor-element-bb8ea37>.e-con-inner{position:relative}.elementor-element-69e7bb0>.e-con-inner{left:clamp(0px,calc((100% - 1140px)/2),190px)}.elementor-element-57104dd>.e-con-inner{left:clamp(0px,calc((100% - 1140px)/2),20px)}.elementor-element-6475e81>.e-con-inner{left:clamp(0px,calc((100% - 1140px)/2),60px)}.elementor-element-bb8ea37>.e-con-inner{left:min(0px,max(-50px,calc((1140px - 100%)/2)))}@media (max-width:767px){.page-id-2379 .elementor-element.elementor-element-ce6d328,.page-id-2379 .elementor-element.elementor-element-f43ac92,.page-id-2379 .elementor-element.elementor-element-f50e601{margin-left:0!important;margin-right:0!important}.page-id-2379 .elementor-element.elementor-element-1bba937,.page-id-2379 .elementor-element.elementor-element-0e473a7,.page-id-2379 .elementor-element.elementor-element-5a39e8c,.page-id-2379 .elementor-element.elementor-element-3552a5b{margin-left:0!important}.elementor-element.elementor-element-6475e81{overflow-x:clip}.page-id-2379 .elementor-element.elementor-element-52909c7{left:0!important}}.elementor-element.elementor-element-d70bcc6{max-width:calc(100% - var(--margin-left,0px) - var(--margin-right,0px))!important}@media (min-width:768px){.page-id-2379 .elementor-element.elementor-element-f43ac92,.page-id-2379 .elementor-element.elementor-element-f50e601{max-width:calc(100% - var(--margin-left,0px) - var(--margin-right,0px))!important}}body .page-content .wgb-dashboard{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box}@media (max-width:1024px){.fdlm-product-tabs .fdlm-tab-btn{min-height:44px!important}li.menu-icon-cart>a{min-height:44px!important;min-width:44px}nav.fil-ariane a{display:inline-flex;align-items:center;min-height:44px;vertical-align:middle}.fdlm-card-read .elementor-button,.fdlm-editorial-back .elementor-button{display:inline-flex!important;align-items:center;min-height:44px}.elementor-pagination .page-numbers,.woocommerce-pagination a.page-numbers,.woocommerce-pagination span.page-numbers{display:inline-flex!important;align-items:center;justify-content:center;min-width:44px;min-height:44px;box-sizing:border-box}.elementor-location-footer .elementor-widget-icon .elementor-icon{display:inline-flex!important;align-items:center;justify-content:center;min-width:44px;min-height:44px}.filtre-btn{min-height:44px!important}.woocommerce-checkout .form-row input.input-text,.woocommerce-checkout .form-row select{min-height:44px!important}.wgb-delivery-slot input[type=radio]{width:20px!important;height:20px!important;accent-color:#142451}.wgb-password-toggle{min-height:44px!important;min-width:44px!important;display:inline-flex!important;align-items:center;justify-content:center}.wgb-lost-password a{display:inline-flex!important;align-items:center;min-height:44px}}.error404 [data-elementor-type="error-404"] h1.elementor-heading-title{color:#F0B9F0!important}.fdlm-404-help{max-width:640px;margin:0 auto;padding:8px 16px 64px;text-align:center;color:#F2E2D0;font-family:"hoss-sharp",sans-serif}.fdlm-404-help p{margin:0 0 20px;font-size:17px;line-height:1.5;color:#F2E2D0}.fdlm-404-help ul{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:0;padding:0;list-style:none}.fdlm-404-help a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border:1px solid #F2E2D0;background:#F2E2D0;color:#142451!important;font-weight:700;text-decoration:none}.fdlm-404-help a:hover,.fdlm-404-help a:focus-visible{background:#142451;color:#F2E2D0!important}.fdlm-404-help a:focus-visible{outline:2px solid #F2E2D0;outline-offset:2px}.skip-link.screen-reader-text:focus,.skip-link.screen-reader-text:focus-visible{background:#F2E2D0!important;color:#142451!important;box-shadow:none!important;outline:2px solid #142451!important;outline-offset:2px;font-weight:700;text-decoration:underline;z-index:100000!important}.elementor-location-footer .elementor-widget-text-editor:has(a[href^="tel:"]),.elementor-location-footer .elementor-widget-text-editor:has(a[href^="tel:"]) *{color:#142451!important}#faq{scroll-margin-top:110px}@media (min-width:1025px){.fdlm-filtres-wrapper .fdlm-filtre-grid-3{display:flex!important;flex-wrap:wrap;column-gap:20px!important;row-gap:12px!important}.fdlm-filtres-wrapper .fdlm-filtre-grid-3>.fdlm-filtre-checkbox{flex:0 0 auto}}@media (min-width:1025px) and (max-width:1279px){.fdlm-filtres-wrapper .fdlm-filtre-options{padding-left:0!important;padding-right:0!important}}.fdlm-filtre-info{display:inline-flex;align-items:center;flex:none}.elementor-2321 .elementor-element.elementor-element-a0ffb6e{--z-index:999!important}@media (max-width:1024px){.elementor-2321 .elementor-element.elementor-element-a0ffb6e.elementor-sticky--active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@media (max-width:768px){.fdlm-slider-wrapper .fdlm-slider-inner>.fdlm-slider-card{flex:0 0 calc(50% - 34px)!important}}@media (max-width:767px){.fdlm-product-tabs .fdlm-slider-wrapper .fdlm-slider-inner>.fdlm-slider-card{flex:0 0 calc(50% - 24px)!important}}@media (max-width:767px){.elementor-2377 .elementor-element.elementor-element-4037002{justify-content:flex-start!important;min-height:0!important;padding:32px 10px calc(92vw + 8px)!important;background-color:#FCF7F2!important}.elementor-2377 .elementor-element.elementor-element-4037002 .elementor-background-slideshow__slide__image{background-size:auto calc(100vw * 1.1)!important;background-position:right bottom!important;background-repeat:no-repeat!important;-webkit-mask-image:linear-gradient(to top,#000 calc(100vw * .82),transparent calc(100vw * 1.08));mask-image:linear-gradient(to top,#000 calc(100vw * .82),transparent calc(100vw * 1.08))}}@media (max-width:767px){body.single-recette .elementor-element-95e205b{flex-direction:column!important;gap:0!important;padding:28px 20px!important}body.single-recette .etapes-recette{width:100%!important;--width:100%;min-width:0;margin:0!important}body.single-recette .etapes-recette h2{font-size:30px!important;line-height:1.2!important}body.single-recette .etapes-recette h3{font-size:26px!important;line-height:1.2!important}body.single-recette .etapes-recette p{font-size:16px;line-height:1.55}body.single-recette .elementor-element-40838cc{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:10px!important;padding:14px 12px!important;background:rgba(20,36,81,.92)}body.single-recette .elementor-element-40838cc .e-con{width:auto!important;--width:auto;min-width:0}body.single-recette .elementor-element-40838cc h3{font-size:14px!important;line-height:1.3!important}body.single-recette .elementor-element-40838cc .elementor-widget-icon{display:none!important}}@media (max-width:767px){.elementor-2377 .elementor-element-8651130 .elementor-heading-title{font-size:min(32px,calc((100vw - 40px) * .092))!important;line-height:1.1!important}.elementor-2377 .elementor-element-db9e0aa .elementor-heading-title{font-size:16px!important;line-height:1.4!important}.elementor-2377 .elementor-element-db9e0aa .elementor-heading-title br{display:none}}html{touch-action:manipulation}@media (max-width:1024px){.elementor-2377 .elementor-element.elementor-element-bb8ea37{margin-bottom:-56px!important}.elementor-2377 .elementor-element-7f269a8 img{width:130px!important;height:auto!important}}@media (max-width:1024px){.elementor-2377 .elementor-element.elementor-element-eec867e{padding-bottom:200px!important}.elementor-2377 .elementor-element.elementor-element-9427de0{height:0!important;min-height:0!important;padding:0!important;overflow:visible!important;z-index:4}.elementor-2377 .elementor-element.elementor-element-56a33ad{position:absolute!important;top:auto!important;bottom:0!important;left:50%!important;width:190px!important;max-width:none!important;margin-left:-95px!important;transform:none!important}.elementor-2377 .elementor-element-56a33ad img{display:block;width:100%!important;height:auto!important}}[data-elementor-type="footer"] .elementor-nav-menu--main{z-index:auto!important}.elementor-3483 .elementor-element.elementor-element-66932c8b{z-index:auto!important}.elementor-3483 .elementor-element-3cdd8398 p{margin:0}@media (min-width:768px){.elementor-3483 .elementor-element-3cdd8398 p{display:inline}.elementor-3483 .elementor-element-3cdd8398 .fdlm-copyright::before{content:" · "}}@media (max-width:767px){.elementor-3483 .elementor-element-d53da68 img{width:220px!important;max-width:100%}.elementor-3483 .elementor-element-cec11ef{gap:0!important}.elementor-3483 :is(.elementor-element-12fd5db,.elementor-element-b730123,.elementor-element-f150822){gap:8px!important;padding:20px 10px!important;border-top:1px solid rgba(255,255,255,.18)}.elementor-3483 :is(.elementor-element-2c60137,.elementor-element-5458ed1,.elementor-element-4359000),.elementor-3483 :is(.elementor-element-2c60137,.elementor-element-5458ed1,.elementor-element-4359000) *{text-align:left!important;margin:0!important}[data-elementor-type="footer"] .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-nav-menu{gap:0 16px!important}[data-elementor-type="footer"] .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;text-align:left!important;min-height:40px!important;padding:6px 0!important;font-size:15px!important}.elementor-3483 .elementor-element-9d889a7{padding:28px 20px!important}.elementor-3483 :is(.elementor-element-2b4cf74,.elementor-element-aa4ec10),.elementor-3483 :is(.elementor-element-2b4cf74,.elementor-element-aa4ec10) *{text-align:center!important}.elementor-3483 .elementor-element-a7fa166{justify-content:center!important}.elementor-3483 .elementor-element.elementor-element-66932c8b{display:flex!important;flex-direction:column!important;align-items:center!important;padding:24px 20px!important;gap:16px!important}.elementor-3483 .elementor-element-3cdd8398,.elementor-3483 .elementor-element-3cdd8398 *{font-size:14px!important;line-height:1.9!important;text-align:center!important}.elementor-3483 .elementor-element-3cdd8398 .fdlm-copyright{margin-top:6px!important;opacity:.9}.elementor-3483 .elementor-element.elementor-element-9b743d3{position:static!important;order:2;width:88px!important;max-width:88px!important;margin:0!important;padding:0!important;transform:none!important}.elementor-3483 .elementor-element-9b743d3 img{width:88px!important;height:auto!important}}@media (max-width:767px){.elementor-2377 .elementor-element.elementor-element-02362e8{min-height:220px!important}.elementor-2377 .elementor-element.elementor-element-69e7bb0{margin-top:-40px!important;margin-bottom:-75px!important;z-index:2}.elementor-2377 :is(.elementor-element-5427178,.elementor-element-6bf52d5){width:100%!important;max-width:100%!important;--container-widget-width:100%!important}.elementor-2377 .elementor-element-6636325{padding:36px 24px!important}}@media (max-width:767px){.elementor-2377 .elementor-element.elementor-element-bbffddf{display:none!important}.elementor-2377 .elementor-element-e3f79c2{padding-left:36px!important}.elementor-2377 .elementor-element-e3f79c2>.elementor-element{position:relative!important;overflow:visible!important}.elementor-2377 .elementor-element-e3f79c2>.elementor-element::before{content:"";position:absolute;left:-29px;top:calc(var(--padding-top,20px) + 17px);width:22px;height:22px;border-radius:50%;background:#142451;z-index:1}.elementor-2377 .elementor-element-e3f79c2>.elementor-element-987290b::before{top:calc(var(--padding-top,20px) + 10px)}.elementor-2377 .elementor-element-e3f79c2>.elementor-element:not(:last-child)::after{content:"";position:absolute;left:-19.5px;top:calc(var(--padding-top,20px) + 28px);width:3px;height:calc(100% + 20px);background:#142451}}.elementor-element-0249496:has(#timeline-dynamic){display:none!important}html body .etapes-recette.e-con{--rail:44px;--padding-left:var(--rail)!important;padding-left:var(--rail)!important;padding-inline-start:var(--rail)!important;position:relative}@media (min-width:768px){html body .etapes-recette.e-con{--rail:64px}}html body .etapes-recette.e-con>.elementor-element{position:relative}html body .etapes-recette.e-con>.elementor-widget-heading:not(:first-child) .elementor-heading-title::before{content:"";position:absolute;left:calc(var(--rail) / -2 - 11px);top:calc(.6em - 11px);width:22px;height:22px;border-radius:50%;background:#142451;z-index:1}html body .etapes-recette.e-con>.elementor-element:nth-child(n+3)::after{content:"";position:absolute;top:-20px;height:calc(100% + 20px);left:calc(var(--rail) / -2 - 1.5px);width:3px;background:#142451}html body .etapes-recette.e-con>.elementor-widget-heading:nth-child(2) .elementor-heading-title::after{content:"";position:absolute;top:.6em;height:calc(100% - .6em);left:calc(var(--rail) / -2 - 1.5px);width:3px;background:#142451}html body .etapes-recette.e-con>.elementor-widget-heading:nth-last-child(2)::after,html body .etapes-recette.e-con>.elementor-element:last-child::after{content:none!important}html body .etapes-recette.e-con>.elementor-widget-heading:nth-last-child(2) .elementor-heading-title::after{content:"";position:absolute;top:-20px;height:calc(20px + .6em);left:calc(var(--rail) / -2 - 1.5px);width:3px;background:#142451}.elementor-element-36bb636 .timeline-section{opacity:1!important;transform:none!important;visibility:visible!important}@media (min-width:1024px){.elementor-widget-loop-carousel .elementor-swiper-button,.elementor-widget-loop-carousel .swiper-pagination{display:none!important}}@media (max-width:1024px){.elementor-widget-loop-carousel .elementor-swiper-button{width:40px!important;height:40px!important;border-radius:50%;background:#fff!important;color:#142451!important;border:1.5px solid #142451;box-shadow:0 2px 8px rgba(20,36,81,.25);align-items:center;justify-content:center;font-size:18px!important;opacity:1!important;z-index:5;transition:background .2s,color .2s}.elementor-widget-loop-carousel .elementor-swiper-button svg{width:18px!important;height:18px!important;fill:#142451!important}.elementor-widget-loop-carousel .elementor-swiper-button:hover,.elementor-widget-loop-carousel .elementor-swiper-button:focus-visible{background:#142451!important;color:#fff!important}.elementor-widget-loop-carousel .elementor-swiper-button:hover svg,.elementor-widget-loop-carousel .elementor-swiper-button:focus-visible svg{fill:#fff!important}.elementor-widget-loop-carousel .swiper-pagination-bullet{width:10px!important;height:10px!important;background:#142451!important;opacity:.3!important}.elementor-widget-loop-carousel .swiper-pagination-bullet-active{opacity:1!important}}@media (max-width:767px){:is([data-elementor-type="wp-page"],[data-elementor-type="single-post"],[data-elementor-type="single-product"],[data-elementor-type="product-archive"],[data-elementor-type="archive"]) h2.elementor-heading-title{font-size:28px!important;line-height:1.15!important}[data-elementor-type] :is(h2,h3).elementor-heading-title br{display:none}.elementor-element-4fc5760 p{font-size:28px!important;line-height:1.15!important}.elementor-element-4fc5760 p br{display:none}}@media (max-width:767px){body.single-post [data-elementor-type="single-post"] h1{font-size:26px!important;line-height:1.15!important}body.single-post [data-elementor-type="single-post"] h2{font-size:24px!important;line-height:1.2!important}[data-elementor-type="wp-page"] :is(h1,h2,h3),[data-elementor-type="single-post"] :is(h1,h2,h3),[data-elementor-type="single-product"] :is(h1,h2,h3),[data-elementor-type="product-archive"] :is(h1,h2,h3),[data-elementor-type="archive"] :is(h1,h2,h3){text-wrap:balance}}.fdlm-mm .fdlm-mm-back{margin-left:0!important}#fdlm-menu-mob .fdlm-mm-view{padding-bottom:calc(120px + env(safe-area-inset-bottom,0px))}.fdlm-slider-price .fdlm-price-ttc{position:static!important;top:auto!important;vertical-align:.45em!important;line-height:1!important;margin-left:2px}@media (max-width:767px){.elementor-2381 :is(.elementor-element-a28619b,.elementor-element-e280699){min-height:0!important;--min-height:0px}.elementor-2381 :is(.elementor-element-a28619b,.elementor-element-e280699)>.e-con-inner{display:grid!important;grid-template-columns:1fr 1fr;gap:0!important;width:100%}.elementor-2381 :is(.elementor-element-a28619b,.elementor-element-e280699)>.e-con-inner>.e-con{width:auto!important;--width:auto;min-height:0!important;height:auto!important;aspect-ratio:270/371}.elementor-element.elementor-element-644dd8f{min-height:220px!important}}@media (min-width:768px) and (max-width:1023px){.elementor-2377 .elementor-element-448aa43,.elementor-2377 .elementor-element-448aa43>.e-con-inner{flex-direction:column!important}.elementor-2377 :is(.elementor-element-9a42153,.elementor-element-bd2238b){width:100%!important;--width:100%}.elementor-2377 .elementor-element.elementor-element-bd2238b{min-height:340px!important}}
/* Vente groupée : corrections responsive (30/10). Tout est limité au mobile/tablette
   sauf les deux premières règles de lisibilité, valables à toutes les largeurs. */

/* Chiffres en rose clair sur fond clair (contraste 1,6:1) : marine. */
.wgb-shipping-progress strong,
.wgb-shipping-progress strong *{color:#142451!important}
/* Boutons soulignés comme des liens : plus de soulignement. */
a.wgb-btn-create,a.wgb-btn-modify-cart,a.wgb-btn-secondary,a.fdlm-btn,a.wgb-proxy-back-btn,a.wgb-btn-login,a.wgb-btn-register,a.wgb-login-btn-primary,a.wgb-login-btn-secondary,a.fdlm-action-card,a.fdlm-btn-primary{text-decoration:none!important}

/* Reprendre ma commande : libellé et champ beige clair sur fond blanc (contraste 1,3:1). */
.wgb-resume-form label{color:#142451!important}
.wgb-resume-form input[type=email],.wgb-resume-form input[type=text]{color:#142451!important;border-color:#142451!important}
.wgb-resume-form input::placeholder{color:#5B6380!important;opacity:1}

@media (max-width:767px){
	/* Panier virtuel : tableau de 550 px (sous-total et Supprimer hors écran) en cartes. */
	.wgb-cart-table,.wgb-cart-table tbody,.wgb-cart-table tfoot{display:block!important;width:100%!important;min-width:0!important;border:0!important;background:transparent!important}
	.wgb-cart-table thead{display:none!important}
	.wgb-cart-table tbody tr{display:grid!important;grid-template-columns:1fr auto;align-items:center;gap:10px 12px;margin:0 0 10px;padding:12px;border:1px solid rgba(20,36,81,.2);border-radius:10px;background:#fff!important}
	.wgb-cart-table tbody td{display:block!important;width:auto!important;padding:0!important;border:0!important;background:transparent!important;text-align:left!important}
	.wgb-cart-table td.wgb-cart-product-cell{grid-column:1/-1;display:flex!important;flex-direction:row!important;align-items:center;justify-content:flex-start!important;gap:12px}
	.wgb-cart-table td.wgb-cart-product-cell img{flex:none;width:64px!important;height:64px!important;margin:0!important;object-fit:cover}
	.wgb-cart-table .wgb-cart-product-details{text-align:left!important;min-width:0}
	.wgb-cart-table td.wgb-cart-price::before,.wgb-cart-table td.wgb-cart-subtotal::before{display:block;font-family:"hoss-sharp",sans-serif;font-size:12px;font-weight:500;line-height:1.3;color:#142451}
	.wgb-cart-table td.wgb-cart-price::before{content:"Prix"}
	.wgb-cart-table td.wgb-cart-subtotal::before{content:"Sous-total"}
	.wgb-cart-table td.wgb-cart-quantity,.wgb-cart-table td.wgb-cart-actions-cell{justify-self:end}
	.wgb-cart-table tfoot tr{display:flex!important;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;padding:10px 12px;border:0!important;background:transparent!important}
	.wgb-cart-table tfoot td{display:block!important;width:auto!important;padding:0!important;border:0!important;background:transparent!important}
	.wgb-cart-table tfoot td:empty{display:none!important}
	.wgb-cart-table tfoot tr.wgb-cart-summary td:first-child{flex:1 1 60%}
	.wgb-quantity-controls .wgb-qty-btn{flex:none;width:38px!important;min-width:38px!important;height:38px!important;padding:0!important}
	.wgb-quantity-controls input{width:50px!important;min-width:0;height:38px!important;padding:0 2px!important}
	.wgb-copy-btn{width:40px!important;height:40px!important}

	/* Rejoindre : message éclaté en colonnes et email hors du cadre. */
	.wgb-logged-in-notice{display:block!important;overflow-wrap:anywhere}
	.wgb-logged-in-notice .wgb-logged-in-icon{display:inline-flex;vertical-align:-2px;margin-right:6px}

	/* Création de vente : le formulaire occupe toute la largeur. */
	.wgb-creation-modal,.wgb-registration-modal{width:auto!important;max-width:none!important;margin-left:0!important;margin-right:0!important;border-radius:0}
	small.wgb-payment-desc{line-height:1.35!important}

	/* Confirmation de commande : email coupé en plein mot. */
	.fdlm-detail-row .fdlm-detail-value{flex:1 1 auto;min-width:0;word-break:normal!important;overflow-wrap:anywhere;text-align:right}
	.fdlm-detail-row>:first-child:not(.fdlm-detail-value){flex:none}


	/* Pop-up : pas de bande réservée à la barre de défilement. */
	#wgb-details-modal .wgb-modal-container{scrollbar-gutter:auto}

	/* Récapitulatif APE : montant collé à son libellé. */
	.wgb-summary-total.wgb-ape-fin-total{flex-wrap:wrap;gap:4px 12px}

	/* Suivi des paiements : cartes fermées, marges, libellés lisibles sur le fond marine. */
	.wgb-payment-table tbody tr{padding:4px 12px!important;margin:0 0 12px!important;border:1px solid rgba(255,255,255,.25)!important;border-radius:10px!important}
	.wgb-payment-table tbody td{padding:9px 0!important;align-items:center;gap:12px;border-left:0!important;border-right:0!important}
	.wgb-payment-table tbody td:last-child{border-bottom:0!important}
	.wgb-payment-table tbody td::before{color:#E5D4C2!important;flex:none}

	/* Dates de livraison : jour répété et note en tout petit. */
	.wgb-delivery-slot-option .wgb-slot-option-day{display:none}

	/* Catalogue : étapes qui sortaient de l'écran, libellés gris illisibles. */
	.wgb-cfg-stepper{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px!important;padding:14px 0 16px!important}
	.wgb-cfg-stepper .wgb-cfg-step-line{display:none!important}
	.wgb-cfg-stepper .wgb-cfg-step,.wgb-cfg-stepper .wgb-cfg-step.is-active{flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;min-width:0;padding:8px 2px!important;font-size:12px!important;text-align:center;border-radius:12px;opacity:1!important}
	.wgb-cfg-stepper .wgb-cfg-step.is-active .wgb-cfg-step-num{width:34px;height:34px;font-size:15px}

	.wgb-creation-modal input::placeholder,.wgb-registration-modal input::placeholder{color:#D5D0E0!important;opacity:1}

	/* Le widget « Ma sélection » ne cache plus le bas de page. */
	body:has(.wgb-floating-cart){padding-bottom:84px}

	/* Catalogue de la vente : le cœur favori passait sous le texte de la carte. */
	.wgb-shop-products .fdlm-slider-wishlist{z-index:3!important}
}
@media (max-width:767px){
	/* Saisie du panier APE : boutons +/- trop petits, nom de produit aligné à droite. */
	.wgb-ape-qty{gap:6px}
	.wgb-ape-qty .wgb-ape-qty-btn{flex:none;width:38px!important;min-width:38px!important;height:38px!important;padding:0!important}
	.wgb-ape-qty .wgb-ape-qty-input{flex:0 1 64px;width:64px!important;min-width:0;height:38px!important}
	.wgb-ape-prod-name{text-align:left!important}

	/* Pas de bouton seul sur sa ligne : les 3 types de groupe sur une ligne. */
	.wgb-button-group{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px!important}
	.wgb-button-group .wgb-btn-choice{width:auto!important;min-width:0!important;padding-left:4px!important;padding-right:4px!important;margin:0!important}
}

/* Barre de progression des paiements : largeur 0, donc invisible (bloc vide). */
@media (max-width:1023px){
.wgb-payment-progress-section .wgb-progress-bar-container{flex:none!important;align-self:stretch;width:100%!important;height:10px!important;margin-top:10px}
.wgb-payment-progress-section .wgb-progress-bar-container .wgb-progress-bar-fill{height:100%!important}
}
/* « TTC, dont 0,67 € de TVA » : espaces perdus par la mise en page en flex. */
.wgb-gt-ape-breakdown div:has(>.woocommerce-Price-amount){display:block!important;text-align:right}

@media (max-width:767px){
	.wgb-payment-table tbody td{background:transparent!important}
}

/* Panier virtuel, tablette : mêmes cartes (le tableau sortait de sa carte à 768 px). */
@media (min-width:768px) and (max-width:1023px){
	.wgb-cart-table,.wgb-cart-table tbody,.wgb-cart-table tfoot{display:block!important;width:100%!important;min-width:0!important;border:0!important;background:transparent!important}
	.wgb-cart-table thead{display:none!important}
	.wgb-cart-table tbody tr{display:grid!important;grid-template-columns:1fr auto;align-items:center;gap:10px 12px;margin:0 0 10px;padding:12px;border:1px solid rgba(20,36,81,.2);border-radius:10px;background:#fff!important}
	.wgb-cart-table tbody td{display:block!important;width:auto!important;padding:0!important;border:0!important;background:transparent!important;text-align:left!important}
	.wgb-cart-table td.wgb-cart-product-cell{grid-column:1/-1;display:flex!important;flex-direction:row!important;align-items:center;justify-content:flex-start!important;gap:12px}
	.wgb-cart-table td.wgb-cart-product-cell img{flex:none;width:64px!important;height:64px!important;margin:0!important;object-fit:cover}
	.wgb-cart-table .wgb-cart-product-details{text-align:left!important;min-width:0}
	.wgb-cart-table td.wgb-cart-price::before,.wgb-cart-table td.wgb-cart-subtotal::before{display:block;font-family:"hoss-sharp",sans-serif;font-size:12px;font-weight:500;line-height:1.3;color:#142451}
	.wgb-cart-table td.wgb-cart-price::before{content:"Prix"}
	.wgb-cart-table td.wgb-cart-subtotal::before{content:"Sous-total"}
	.wgb-cart-table td.wgb-cart-quantity,.wgb-cart-table td.wgb-cart-actions-cell{justify-self:end}
	.wgb-cart-table tfoot tr{display:flex!important;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;padding:10px 12px;border:0!important;background:transparent!important}
	.wgb-cart-table tfoot td{display:block!important;width:auto!important;padding:0!important;border:0!important;background:transparent!important}
	.wgb-cart-table tfoot td:empty{display:none!important}
	.wgb-cart-table tfoot tr.wgb-cart-summary td:first-child{flex:1 1 60%}
	.wgb-quantity-controls .wgb-qty-btn{flex:none;width:38px!important;min-width:38px!important;height:38px!important;padding:0!important}
	.wgb-quantity-controls input{width:56px!important;min-width:0;height:38px!important;padding:0 2px!important}
}

@media (max-width:767px){
	/* Paiement : total sur toute la largeur, TVA lisible au lieu d'une colonne étroite. */
	form#order_review table.shop_table,form#order_review table.shop_table thead,form#order_review table.shop_table tbody,form#order_review table.shop_table tfoot{display:block;width:100%}
	form#order_review table.shop_table tr{display:grid;grid-template-columns:minmax(0,1fr) 44px 84px;align-items:stretch}
	form#order_review table.shop_table thead th,form#order_review table.shop_table tbody td{display:flex;align-items:center;min-width:0;width:auto!important}
	form#order_review table.shop_table tfoot tr{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
	form#order_review table.shop_table tfoot th{flex:none;width:auto!important}
	form#order_review table.shop_table tfoot td{flex:1 1 auto;width:auto!important;min-width:0;text-align:right}

	/* Suivi des paiements : titre collé au bloc d'adresse. */
	.wgb-delivery-recap-box{margin-bottom:18px!important}

	/* Fiche produit : prix qui débordait de son fond (hauteur fixe). */
	.custom-cart-price{height:auto!important;min-height:50px;padding-top:8px!important;padding-bottom:8px!important}
}

/* Panier virtuel, 1024-1199 px : tableau 5 à 44 px plus large que sa carte. */
@media (min-width:1024px) and (max-width:1199px){
	.wgb-cart-recap-container{padding-left:16px!important;padding-right:16px!important}
}

/* Mon compte : titre rose clair sur blanc (1,6:1), marine souligné de rose comme le tableau de bord. */
.fdlm-title-pink{color:#142451!important;box-shadow:none}

/* Lisibilité, toutes largeurs : sous-total de la confirmation en rose sur blanc, étapes
   à venir du catalogue, avertissement APE, origine sur la fiche produit, badge déformé. */
.wgb-summary-grid .wgb-summary-value.wgb-price-value,.wgb-summary-grid .wgb-summary-value.wgb-price-value *{color:#142451!important}
.wgb-cfg-stepper .wgb-cfg-step:not(.is-active):not(.is-done){color:#5B6380!important;opacity:1!important}
.wgb-cfg-stepper .wgb-cfg-step:not(.is-active):not(.is-done) span{color:#5B6380!important}
.wgb-ape-catalogue-warning-text strong{color:#8D3A2F!important}
.elementor-element-deef60c,.elementor-element-deef60c *{color:#2F5F78}
.wgb-badge.wgb-badge-validated{border-radius:999px!important}

/* Pastilles rondes déformées (nom long, mode administrateur). */
.wgb-summary-avatar,.wgb-payment-avatar{flex:none}
.wgb-proxy-icon{flex:none!important;width:36px!important;height:36px!important}

@media (max-width:767px){
	/* Catalogue APE : réglage de la marge, boutons de 26 px. */
	.wgb-mt-margin-step{width:38px!important;height:38px!important;min-width:38px!important}
	/* Cartes produit : un titre long ne déborde plus de sa carte. */
	.fdlm-slider-card{min-width:0}
	.fdlm-slider-title,.fdlm-slider-title a{display:block;min-width:0;max-width:100%;overflow-wrap:anywhere}
}

@media (max-width:767px){
	/* Noms de produits et de participants entiers au lieu d'être tronqués. */
	.wgb-cart-item-name,.wgb-participant-name{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere}
}

/* Étape « En attente » de la pop-up du membre : rose sur blanc ; bouton de paiement souligné. */
.wgb-step-info.wgb-step-pending,.wgb-step-info.wgb-step-pending *:not(a):not(button){color:#142451!important}
a.wgb-btn-action{text-decoration:none!important}

@media (max-width:767px){
	/* Confirmation de commande : la valeur prend la place disponible (email entier). */
	.fdlm-detail-row .fdlm-detail-value{max-width:none!important}
}

@media (max-width:767px){
	/* « Payer pour un participant » : fenêtre étirée sur tout l'écran, croix collée au titre. */
	#wgb-admin-payment-modal .wgb-modal-content{height:auto!important;min-height:0!important;max-height:90vh;overflow-y:auto;margin:auto!important;position:relative}
	#wgb-admin-payment-modal .wgb-modal-content h3{padding-right:40px}
	#wgb-admin-payment-modal .wgb-modal-close{position:absolute;top:10px;right:10px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:24px;cursor:pointer}
}
@media (max-width:767px){
	/* Fenêtre de confirmation : pas de « ? » seul sur sa ligne. */
	.wgb-confirm-title{text-wrap:balance}
}
/* « Se souvenir de moi » sur une seule ligne, partout où on se connecte. */
.wgb-remember-row .wgb-checkbox-label{flex-wrap:nowrap;width:auto;max-width:none}
.wgb-remember-row .wgb-checkbox-label>span:last-child,.fdlm-login-remember,.woocommerce-form-login__rememberme{white-space:nowrap}
/* Bandeau sur PC : le bouton de retour reste sur la ligne, le titre long passe à la ligne. */
@media (min-width:1200px){
	.wgb-shop-banner :has(>.wgb-banner-right){flex-wrap:nowrap}
	.wgb-shop-banner .wgb-banner-left{flex:1 1 0;min-width:0}
	.wgb-shop-banner .wgb-banner-center,.wgb-shop-banner .wgb-banner-right{flex:none}
}
/* Page « Voir la commande » : articles regroupés par personne. */
.woocommerce-table--order-details .wgb-person-head>*{background:#132454!important;color:#fff!important;padding:12px 16px!important;border:0!important}
.woocommerce-table--order-details .wgb-person-head th div{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:16px;font-weight:700;text-align:left}
.woocommerce-table--order-details .wgb-person-count{flex:none;font-size:13px;font-weight:400}
.woocommerce-table--order-details .wgb-person-item>*,.woocommerce-table--order-details .wgb-person-shipping>*{padding:10px 16px!important;vertical-align:top}
.woocommerce-table--order-details .wgb-person-item td:last-child,.woocommerce-table--order-details .wgb-person-shipping td:last-child,.woocommerce-table--order-details .wgb-person-total td:last-child{text-align:right;white-space:nowrap}
.woocommerce-table--order-details .wgb-person-total>*{padding:12px 16px 24px!important;font-weight:700;border-top:1px solid #d9dde8}
.woocommerce-table--order-details .wgb-person-item .wc-item-meta{margin:4px 0 0;padding:0;list-style:none;font-size:13px}
.woocommerce-table--order-details .wgb-person-item .wc-item-meta p{display:inline;margin:0}
.woocommerce-table--order-details .wgb-person-item .wc-item-meta li{display:block;margin:0}
/* Récapitulatif de la commande confirmée */
.fdlm-order-details{background:#FCF7F2;border:1px solid #F2E2D0;border-radius:14px;padding:8px 20px 20px}
.fdlm-order-details .fdlm-detail-row{padding:13px 0;border-bottom:1px solid #F2E2D0;gap:16px}
.fdlm-order-details .fdlm-detail-row:has(+.fdlm-detail-total){border-bottom:0}
.fdlm-order-details .fdlm-detail-label{opacity:1;color:#47527A;font-size:14px}
.fdlm-order-details .fdlm-detail-value{font-weight:600}
.fdlm-order-details .fdlm-detail-total{margin:8px -8px 0;padding:14px 16px;border:0;border-radius:10px;background:#142451}
.fdlm-order-details .fdlm-detail-total .fdlm-detail-label,
.fdlm-order-details .fdlm-detail-total .fdlm-detail-value,
.fdlm-order-details .fdlm-detail-total .amount{color:#fff;font-family:"decoy",serif;font-size:18px;font-weight:700}
.fdlm-order-details .fdlm-detail-tva{margin-top:10px!important;color:#47527A!important}

/* Commande groupée : attente de validation des paniers */
.wgb-finalization-box.wgb-finalization-waiting{background:#FCF7F2!important;border:1px solid #F2E2D0!important}
.wgb-finalization-waiting .wgb-finalization-icon{background:#F0B9F0!important;color:#142451!important;border:0;border-radius:50%}
.wgb-finalization-waiting .wgb-finalization-title h4{font-family:"decoy",serif;font-size:20px;color:#142451}
.wgb-finalization-waiting .wgb-finalization-title p,
.wgb-finalization-waiting .wgb-finalization-info{color:#142451;opacity:1}
.wgb-finalization-waiting .wgb-progress-bar-container{background:#F2E2D0}
.wgb-finalization-waiting .wgb-progress-bar-fill{background:#142451}
.wgb-finalization-waiting .wgb-progress-text{color:#142451;font-weight:700}
.wgb-finalization-waiting .wgb-finalization-force-section{border-top:1px solid #F2E2D0}
.wgb-finalization-waiting .wgb-force-notice{background:#fff;border:1px solid #F2E2D0;border-radius:10px;color:#142451}
.wgb-finalization-waiting .wgb-force-notice p{color:#142451;margin:0}
.wgb-finalization-waiting .wgb-btn-force-payments,
.wgb-finalization-waiting .wgb-btn-force-payments:focus{background:#142451!important;color:#fff!important;border:0!important;border-radius:10px;box-shadow:none}
.wgb-finalization-waiting .wgb-btn-force-payments:hover{background:#F0B9F0!important;color:#142451!important;box-shadow:none;transform:none}

/* Bloc de paiement de la page de commande */
.fdlm-order-review-content #payment{background:transparent!important;border-radius:0}
.fdlm-order-review-content #payment .wc_payment_methods{border:0!important}
.fdlm-order-review-content #payment .wc_payment_method{margin-bottom:0;padding:16px;border:1px solid #142451;background:#fff}
.fdlm-order-review-content #payment .wc_payment_method:has(input:checked){border-color:#142451}
.fdlm-order-review-content #payment .payment_box{margin:12px 0 0!important;padding:12px 14px!important;border:0!important;border-radius:8px;background:#FCF7F2!important;color:#142451!important}
.fdlm-order-review-content #payment .payment_box p{color:#142451}
.fdlm-order-review-content #payment .payment_box::before{display:none!important}
.fdlm-order-review-content #payment .place-order{background:transparent!important;padding:20px 0 0!important}
.fdlm-order-review-content .woocommerce-privacy-policy-text,
.fdlm-order-review-content .woocommerce-privacy-policy-text p{color:#142451;font-size:13px}
.fdlm-order-review-content .woocommerce-terms-and-conditions-wrapper{font-size:14px;color:#142451}
.fdlm-order-review-content #place_order{text-transform:none;letter-spacing:0;font-size:17px;box-shadow:none}
/* Méga-menu : l'encart fidélité occupe toute la hauteur. */
.fdlm-mega-promos{display:flex;flex-direction:column}
.fdlm-mega-promos .fdlm-promo-fidelite{flex:1;margin:0}
/* Filtres : catégories en tête ; critères fromagers hors rubrique fromages masqués. */
.fdlm-filtre-cats-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.fdlm-filtre-cats-list a{color:#142451;text-decoration:none}
.fdlm-filtre-cats-list a:hover,.fdlm-filtre-cats-list a.is-current{text-decoration:underline;text-underline-offset:3px;font-weight:600;color:#142451}
.fdlm-filtres-no-cheese .fdlm-filtre-group:not(.fdlm-filtre-rubriques),.fdlm-filtres-no-cheese .fdlm-filtres-reset-wrap{display:none}
.fdlm-cat-chips{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.fdlm-cat-chips a{display:block;padding:8px 16px;border:1px solid #142451;border-radius:999px;color:#142451;text-decoration:none;background:#fff}
.fdlm-cat-chips a:hover,.fdlm-cat-chips a.is-current{background:#142451;color:#fff}
/* Pied de page mobile : pastille Comm360 plus discrète. */
@media (max-width:767px){
	.elementor-3483 .elementor-element.elementor-element-9b743d3{width:56px!important;max-width:56px!important}
	.elementor-3483 .elementor-element-9b743d3 img{width:56px!important}
}
.fdlm-filtre-rubriques{display:block!important;visibility:visible!important}
/* Récapitulatif de commande : titre visible, quantités lisibles. */
.fdlm-order-review #order_review_heading{display:block!important;visibility:visible!important;color:#142451!important}
.fdlm-order-review-content table.shop_table .product-name .product-quantity,.fdlm-order-review-content .cart_item .product-name .product-quantity{color:#142451!important}
/* Encart fidélité (filtres et méga-menu) : aligné, image décollée du bord, charte. */
.fdlm-promo-fidelite{display:grid!important;grid-template-columns:minmax(0,1fr) 72px;gap:14px 16px;align-content:center;align-items:center;margin:0!important;padding:24px!important;background:#FCF7F2!important;border:1px solid #142451!important;border-radius:0!important;box-sizing:border-box}
.fdlm-promo-fidelite .fdlm-promo-fidelite-left{grid-column:1;grid-row:1;min-width:0}
.fdlm-promo-fidelite .fdlm-promo-fidelite-right{display:contents}
.fdlm-promo-fidelite .fdlm-promo-fidelite-title{font-size:26px!important;line-height:1.2;margin:0 0 12px}
.fdlm-promo-fidelite .fdlm-promo-fidelite-points{border-radius:0;padding:6px 10px;font-size:16px;font-weight:500;line-height:1.3}
.fdlm-promo-fidelite .fdlm-promo-fidelite-points span{border-radius:0;padding:2px 6px}
.fdlm-promo-fidelite .fdlm-promo-fidelite-icon{grid-column:2;grid-row:1;width:72px!important;height:auto;justify-self:end}
.fdlm-promo-fidelite .fdlm-promo-fidelite-right p{grid-column:1/-1;grid-row:2;margin:0;padding-top:14px;border-top:1px solid #F2E2D0;font-size:14px;font-weight:400;line-height:1.45;text-align:left}
.fdlm-filtres-fidelite{margin:0 20px 24px!important;width:auto!important}
@media (min-width:1025px){.fdlm-filtres-shell:has(>.fdlm-filtres-fidelite){padding-top:20px}}
.fdlm-mega-promos .fdlm-promo-fidelite{flex:1;align-items:center}
@media (max-width:1024px){.fdlm-filtres-fidelite{margin:0 20px 16px!important}}
/* Pictos de réassurance (France, Chronofresh, paiement, fidélité) : même taille partout,
   sur mobile en 2 × 2 et sans trait dessous. Tous les gabarits portent la classe bounce-icon. */
.e-con:has(>.e-con:nth-child(4)>.bounce-icon)>.e-con>.bounce-icon svg{width:64px!important;height:44px!important}
@media (max-width:767px){
	.e-con:has(>.e-con:nth-child(4)>.bounce-icon){display:grid!important;grid-template-columns:1fr 1fr;gap:28px 16px!important;border-bottom:0!important;--border-bottom-width:0px;padding-bottom:0!important}
	.e-con:has(>.e-con:nth-child(4)>.bounce-icon)>.e-con{width:auto!important;min-width:0;padding:0!important;margin:0!important}
	.e-con:has(>.e-con:nth-child(4)>.bounce-icon)>.e-con>.elementor-widget-text-editor{margin-top:10px;line-height:1.6!important;font-size:15px}
}
/* Récapitulatif de commande : le mode de livraison se choisit à gauche ; la ligne d'origine
   reste dans la page (champ envoyé à la commande) mais n'est plus affichée. */
.fdlm-order-review-content table.shop_table tfoot tr.woocommerce-shipping-totals,.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals{display:none!important}
.woocommerce-checkout-review-order-table tr.fdlm-review-port td{white-space:nowrap}
/* Récapitulatif de paiement : montants alignés à droite sous « Totaux ». */
@media (min-width:768px){
	form#order_review table.shop_table thead th.product-total,
	form#order_review table.shop_table td.product-subtotal,
	form#order_review table.shop_table td.product-total{text-align:right!important}
}
/* Fidélité : fonds marine à la place des dégradés, textes clairs. */
.lp-loyalty-dashboard .lp-balance-card,.lp-loyalty-dashboard .lp-auto-voucher-info{background:#142451!important;border-color:#142451!important;box-shadow:none}
.lp-loyalty-dashboard .lp-balance-card h2{color:#F2E2D0!important;opacity:1}
.lp-loyalty-dashboard .lp-balance-card .lp-balance-number,.lp-loyalty-dashboard .lp-balance-card .lp-balance-number *{color:#F0B9F0!important}
.lp-loyalty-dashboard .lp-balance-card p,.lp-loyalty-dashboard .lp-auto-voucher-info p{color:#fff!important}
.lp-loyalty-dashboard .lp-balance-card strong,.lp-loyalty-dashboard .lp-auto-voucher-info strong,.lp-loyalty-dashboard .lp-auto-voucher-info .amount,.lp-loyalty-dashboard .lp-balance-card .amount{color:#F0B9F0!important}
.lp-loyalty-dashboard .lp-auto-voucher-info .lp-missing-points{background:transparent;box-shadow:none;padding:12px 0 0;margin:0;color:#fff}
/* Mobile : textes des cartes lisibles, zones cliquables confortables. */
@media (max-width:767px){
	.fdlm-price-kilo,.fdlm-product-coupe-note{font-size:13px!important}
	.fdlm-price-from{font-size:13px!important}
	nav.fil-ariane,nav.fil-ariane a,nav.fil-ariane span{font-size:13px!important}
	.fdlm-slider-title a{display:block;padding:6px 0}
	.wgb-toggle-password{min-height:40px;padding:8px 10px!important}
}
.lp-loyalty-dashboard .lp-auto-voucher-info p{background:transparent!important;box-shadow:none!important;padding:0!important}
.lp-loyalty-dashboard .lp-balance-card .lp-balance-number{font-size:40px!important;line-height:1.1;margin:8px 0 14px!important}
/* Mobile : plus aucun texte utile sous 12 px, retour du catalogue facile à toucher. */
@media (max-width:767px){
	.wgb-participant-mini-amount,.wgb-summary-badge,.wgb-popup-creator-badge,.wgb-shipping-reason,.wgb-banner-label,.fdlm-thankyou-ttc-notice{font-size:12px!important}
	.fdlm-ttc{font-size:12px!important}
	.wgb-cfg-ape .wgb-cfg-back-bar a,.wgb-cfg-ape .wgb-cfg-back-bar button,.wgb-cfg-back{min-height:40px;display:inline-flex;align-items:center}
}
.wgb-btn-save-catalogue:hover,.wgb-btn-save-catalogue:focus-visible{background:#F0B9F0!important;color:#142451!important}
/* Titres : même traitement que « votre espace client », sans surlignage rose. */
.wgb-dashboard-header h2{background:none!important}
@media (max-width:767px){.wgb-delivery-week-select{font-size:14px!important;padding:12px 10px!important}}
/* « Lire la suite » lisible sur les bandeaux ocre. */
body:is(.term-tomes,.term-saint-nectaire,.term-cantal-salers,.term-coffrets-box,.term-coffrets-de-saison,.term-lepicerie,.term-miels-dauvergne,.term-miel-de-montagne,.term-miel-de-printemps,.term-miel-de-recolte-fleurs-melangees,.term-plats-cuisines,.term-plats-cuisines-charcuterie,.term-vins-et-bieres-dauvergne,.term-salaison) .fdlm-hero-more{color:#fff!important;border-color:#fff!important}
/* Détail de commande : total TTC bien visible, en bas du tableau. */
.woocommerce table.woocommerce-table--order-details tfoot tr:has(.fdlm-tva-detail),.woocommerce table.woocommerce-table--order-details tfoot tr:has(.fdlm-tva-detail)>:is(th,td){background:#142451!important;color:#fff!important;border:0!important}
.woocommerce table.woocommerce-table--order-details tfoot tr:has(.fdlm-tva-detail)>:is(th,td){padding:16px!important;font-size:18px!important;font-weight:700}
.woocommerce table.woocommerce-table--order-details tfoot tr:has(.fdlm-tva-detail) td>.woocommerce-Price-amount,.woocommerce table.woocommerce-table--order-details tfoot tr:has(.fdlm-tva-detail) td>.woocommerce-Price-amount *{color:#F0B9F0!important;font-size:22px!important}
.woocommerce table.woocommerce-table--order-details tfoot tr:has(.fdlm-tva-detail) td small,.woocommerce table.woocommerce-table--order-details tfoot tr:has(.fdlm-tva-detail) td small *{color:#fff!important;font-size:13px!important;font-weight:400}
.woocommerce table.woocommerce-table--order-details tfoot tr:has(.fdlm-tva-detail) td small{display:block;margin-top:4px}
.fdlm-thankyou-back-link:hover,.fdlm-thankyou-back-link:focus-visible{color:#142451!important;background:#F0B9F0;border-radius:6px;text-decoration:none}
/* Détail de la commande : un seul trait sous l'en-tête du total. */
.wgb-gt-cse-breakdown,.wgb-gt-ape-breakdown{border-top:0!important;padding-top:0!important;margin-top:8px!important}

/* 30/10 : Aucun bord arrondi sur le site (demande cliente). Gardés ronds : cœurs des favoris, boutons fermer, pastille Comm360, boutons radio,
   indicateurs de chargement, points de carrousel. L'identifiant fictif #fdlm-r sert à passer
   devant les règles !important existantes. */
html:not(#fdlm-r) body *:not(#fdlm-r):not(input[type="radio"],.wgb-spinner,.wgb-spinner-small,.wgb-loading-spinner,.fdlm-spinner,.fdlm-logo-loader,.fdlm-cart-count,.swiper-pagination-bullet,.blockUI,.loader,[class*="yith-wcwl-add-to-wishlist"],[class*="yith-wcwl-add-to-wishlist"] *,.fdlm-filtres-close,.fdlm-login-close,.fdlm-offcanvas-close,.fdlm-chips-close,.fdlm-account-nav-close,.wgb-cfg-filters-close,.wgb-close-details,.wgb-close-mod-modal,.wgb-filters-close,.wgb-modal-close,.wgb-participant-detail-close,.wgb-popup-close,.wgb-sub-modal-close,.wgb-variations-modal-close,.elementor-element-9b743d3,.elementor-element-9b743d3 *),
html:not(#fdlm-r) body *:not(#fdlm-r):not(input[type="radio"],.wgb-spinner,.wgb-spinner-small,.wgb-loading-spinner,.fdlm-spinner,.fdlm-logo-loader,.fdlm-cart-count,.swiper-pagination-bullet,.blockUI,.loader,[class*="yith-wcwl-add-to-wishlist"],[class*="yith-wcwl-add-to-wishlist"] *,.fdlm-filtres-close,.fdlm-login-close,.fdlm-offcanvas-close,.fdlm-chips-close,.fdlm-account-nav-close,.wgb-cfg-filters-close,.wgb-close-details,.wgb-close-mod-modal,.wgb-filters-close,.wgb-modal-close,.wgb-participant-detail-close,.wgb-popup-close,.wgb-sub-modal-close,.wgb-variations-modal-close,.elementor-element-9b743d3,.elementor-element-9b743d3 *)::before,
html:not(#fdlm-r) body *:not(#fdlm-r):not(input[type="radio"],.wgb-spinner,.wgb-spinner-small,.wgb-loading-spinner,.fdlm-spinner,.fdlm-logo-loader,.fdlm-cart-count,.swiper-pagination-bullet,.blockUI,.loader,[class*="yith-wcwl-add-to-wishlist"],[class*="yith-wcwl-add-to-wishlist"] *,.fdlm-filtres-close,.fdlm-login-close,.fdlm-offcanvas-close,.fdlm-chips-close,.fdlm-account-nav-close,.wgb-cfg-filters-close,.wgb-close-details,.wgb-close-mod-modal,.wgb-filters-close,.wgb-modal-close,.wgb-participant-detail-close,.wgb-popup-close,.wgb-sub-modal-close,.wgb-variations-modal-close,.elementor-element-9b743d3,.elementor-element-9b743d3 *)::after {
	border-radius: 0 !important;
}

/* 30/10 : onglets Mes commandes créées / rejointes : deux boutons égaux, l'actif plein. */
.wgb-tabs .wgb-tabs-nav {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 12px;
	width: 100%;
	max-width: 760px;
	margin: 0 auto 28px;
	padding: 0 12px;
	box-sizing: border-box;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}
.wgb-tabs .wgb-tabs-nav .wgb-tab-btn {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 12px;
	width: 100%;
	min-width: 0;
	min-height: 60px;
	margin: 0 !important;
	padding: 10px 14px !important;
	white-space: normal !important;
	background: transparent !important;
	color: #F2E2D0 !important;
	border: 2px solid rgba(242, 226, 208, .4) !important;
	box-shadow: none !important;
	font-family: 'hoss-sharp', sans-serif;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	text-align: left;
	cursor: pointer;
	transition: background .2s, color .2s, border-color .2s;
}
.wgb-tabs .wgb-tabs-nav .wgb-tab-btn::before,
.wgb-tabs .wgb-tabs-nav .wgb-tab-btn::after { display: none !important; }
.wgb-tabs .wgb-tabs-nav .wgb-tab-btn:hover,
.wgb-tabs .wgb-tabs-nav .wgb-tab-btn:focus {
	background: transparent !important;
	color: #F0B9F0 !important;
	border-color: #F0B9F0 !important;
}
.wgb-tabs .wgb-tabs-nav .wgb-tab-btn.active,
.wgb-tabs .wgb-tabs-nav .wgb-tab-btn.active:hover,
.wgb-tabs .wgb-tabs-nav .wgb-tab-btn.active:focus {
	background: #F2E2D0 !important;
	color: #142451 !important;
	border-color: #F2E2D0 !important;
}
.wgb-tabs .wgb-tabs-nav .wgb-tab-btn:focus-visible { outline: 3px solid #F0B9F0; outline-offset: 3px; }
.wgb-tabs .wgb-tabs-nav .wgb-tab-count {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex: none;
	min-width: 30px;
	height: 30px;
	margin: 0 !important;
	padding: 0 8px !important;
	background: rgba(242, 226, 208, .18) !important;
	color: inherit !important;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
}
.wgb-tabs .wgb-tabs-nav .wgb-tab-btn.active .wgb-tab-count {
	background: #142451 !important;
	color: #fff !important;
}
@media (max-width: 480px) {
	.wgb-tabs .wgb-tabs-nav { gap: 8px; margin-bottom: 20px; }
	.wgb-tabs .wgb-tabs-nav .wgb-tab-btn { gap: 8px; min-height: 64px; padding: 8px 10px !important; font-size: 14px; }
}

.wgb-tabs .wgb-tabs-nav .wgb-tab-label { white-space: normal !important; min-width: 0; }

/* 30/10 : champ date : libellé visible quand il est vide, jamais plus large que son bloc. */
.fdlm-date-field { position: relative; display: block; width: 100%; max-width: 100%; }
.fdlm-date-ph { display: none; }
input[type="date"] { box-sizing: border-box; max-width: 100%; min-width: 0; }

@media (max-width: 1024px) {
	.fdlm-date-field input[type="date"] {
		display: block;
		width: 100% !important;
		min-height: 50px;
		padding-right: 46px !important;
		-webkit-appearance: none;
		appearance: none;
		text-align: left;
	}
	.fdlm-date-field input[type="date"]::-webkit-date-and-time-value { text-align: left; }
	/* Toute la surface du champ ouvre le calendrier. */
	.fdlm-date-field input[type="date"]::-webkit-calendar-picker-indicator {
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		opacity: 0 !important;
		cursor: pointer;
	}
	.fdlm-date-field.is-empty input[type="date"]::-webkit-datetime-edit { opacity: 0 !important; }
	.fdlm-date-ph {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 1;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		padding: 0 14px;
		font-family: 'hoss-sharp', sans-serif;
		font-size: 16px;
		pointer-events: none;
	}
	.fdlm-date-ph-text { display: none; flex: 1 1 auto; font-weight: 600; }
	.fdlm-date-field.is-empty .fdlm-date-ph-text { display: block; }
	.fdlm-date-ph svg { flex: none; }
}

/* 30/10 : pop-ups sur mobile : aucun déplacement latéral. iOS zoome sur un champ dont le
   texte fait moins de 16 px, ce qui fait glisser la page : tous les champs passent à 16 px. */
@media (max-width: 768px) {
	html.wgb-popup-open, body.wgb-popup-open { overflow: hidden !important; }
	input:not([type="checkbox"]):not([type="radio"]), select, textarea { font-size: 16px !important; }
	.wgb-popup-overlay,
	.wgb-popup-container,
	.wgb-popup-content,
	#wgb-details-modal .wgb-modal-container,
	.wgb-creation-modal,
	.wgb-registration-modal {
		max-width: 100vw !important;
		overflow-x: hidden !important;
		overscroll-behavior: contain;
	}
	.wgb-popup-content { touch-action: pan-y pinch-zoom; }
	.wgb-popup-content input:not([type="checkbox"]):not([type="radio"]),
	.wgb-popup-content select,
	.wgb-popup-content textarea {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}
	.wgb-popup-content form,
	.wgb-popup-content [class*="form-row"],
	.wgb-popup-content [class*="form-group"] { min-width: 0; max-width: 100%; }
}

/* 30/10 : le nom d'un produit s'affiche toujours en entier, quel que soit son nombre de lignes. */
html body .fdlm-product-tabs .fdlm-slider-title,
html body .fdlm-slider-title,
html body .fdlm-slider-title a,
html body .fdlm-card-title {
	display: block !important;
	-webkit-line-clamp: none !important;
	line-clamp: none !important;
	height: auto !important;
	max-height: none !important;
	overflow: visible !important;
	text-overflow: clip !important;
	white-space: normal !important;
}

/* 30/10 : ligne de remise client mise en avant au panier et à la validation. */
.fdlm-totals-row.fdlm-discount-row {
	margin: 8px 0;
	padding: 12px 14px;
	background: #F0B9F0;
	color: #142451;
	font-weight: 700;
}
.fdlm-totals-row.fdlm-discount-row .fdlm-totals-label,
.fdlm-totals-row.fdlm-discount-row .fdlm-totals-value,
.fdlm-totals-row.fdlm-discount-row .woocommerce-Price-amount,
.woocommerce table.shop_table tfoot tr.fdlm-discount-row th,
.woocommerce table.shop_table tfoot tr.fdlm-discount-row td,
.woocommerce table.shop_table tfoot tr.fdlm-discount-row .woocommerce-Price-amount {
	color: #142451 !important;
	font-weight: 700;
}
.woocommerce table.shop_table tfoot tr.fdlm-discount-row th,
.woocommerce table.shop_table tfoot tr.fdlm-discount-row td {
	background: #F0B9F0 !important;
	padding: 12px 14px !important;
}

.fdlm-detail-row.fdlm-discount-row {
	margin: 8px 0;
	padding: 12px 14px;
	background: #F0B9F0;
	border: 0;
}
.fdlm-detail-row.fdlm-discount-row .fdlm-detail-label,
.fdlm-detail-row.fdlm-discount-row .fdlm-detail-value,
.fdlm-detail-row.fdlm-discount-row .woocommerce-Price-amount {
	color: #142451 !important;
	font-weight: 700;
}
.woocommerce table.shop_table tfoot tr:has(.fdlm-discount-cell) th,
.woocommerce table.shop_table tfoot tr:has(.fdlm-discount-cell) td {
	background: #F0B9F0 !important;
	color: #142451 !important;
	font-weight: 700;
	padding: 12px 14px !important;
}
.woocommerce table.shop_table tfoot tr:has(.fdlm-discount-cell) .woocommerce-Price-amount { color: #142451 !important; }

/* 30/10 : Menus déroulants identiques sur tous les mobiles : Android n'impose plus son style. */
:root { color-scheme: only light; }
select:not([multiple]):not(.select2-hidden-accessible) {
	-webkit-appearance: none !important;
	appearance: none !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23142451' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 12px center !important;
	background-size: 16px 16px !important;
	padding-right: 38px !important;
	text-overflow: ellipsis;
	color: #142451;
}
select option { color: #142451; background: #fff; }
.wgb-popup-overlay select:not([multiple]) {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F2E2D0' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
	color: #F2E2D0 !important;
	-webkit-text-fill-color: #F2E2D0;
}
.wgb-popup-overlay select option { color: #142451; -webkit-text-fill-color: #142451; background: #fff; }
.fdlm-slider-variation-select:not([multiple]) { padding-right: 26px !important; background-position: right 6px center !important; }

/* 30/10 : textes trop pâles sur leur fond. */
.elementor-element-deef60c, .elementor-element-deef60c * { color: #142451 !important; }
.elementor-element-1e989e1b span[style*="c67969" i] { color: #A6584A !important; }
body:is(.term-bleus,.term-autres-fromages,.term-anti-gaspis,.term-brebis,.term-fromage-de-chevre,.term-cremerie,.term-beurres,.term-yaourts,.term-fromages-blancs,.term-cremes-dessert,.term-fourmes-dambert) .fdlm-hero-more, body:is(.term-bleus,.term-autres-fromages,.term-anti-gaspis,.term-brebis,.term-fromage-de-chevre,.term-cremerie,.term-beurres,.term-yaourts,.term-fromages-blancs,.term-cremes-dessert,.term-fourmes-dambert) .fdlm-hero-more:hover, body:is(.term-bleus,.term-autres-fromages,.term-anti-gaspis,.term-brebis,.term-fromage-de-chevre,.term-cremerie,.term-beurres,.term-yaourts,.term-fromages-blancs,.term-cremes-dessert,.term-fourmes-dambert) .fdlm-hero-more:focus { color: #142451 !important; border-color: #142451 !important; }
body.tax-product_cat span[style*="c67969" i] { color: #A6584A !important; }

/* Mots en couleur pâle dans les titres de catégorie : surlignés dans cette couleur, texte bleu
   (rose, jaune, vert ou bleu pâle restaient illisibles sur fond blanc). */
body.tax-product_cat .elementor-heading-title span[style*="#F0B9F0" i],
body.tax-product_cat .elementor-heading-title span[style*="#FFE7B9" i],
body.tax-product_cat .elementor-heading-title span[style*="#BBC3B4" i],
body.tax-product_cat .elementor-heading-title span[style*="#BFD0DB" i] {
	color: #142451 !important;
	padding: 0 .15em;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
body.tax-product_cat .elementor-heading-title span[style*="#F0B9F0" i] { background: #F0B9F0; }
body.tax-product_cat .elementor-heading-title span[style*="#FFE7B9" i] { background: #FFE7B9; }
body.tax-product_cat .elementor-heading-title span[style*="#BBC3B4" i] { background: #BBC3B4; }
body.tax-product_cat .elementor-heading-title span[style*="#BFD0DB" i] { background: #BFD0DB; }

/* 30/10 : Croix en face du champ email sur mobile, pas en dessous. */
@media (max-width: 768px) {
	.wgb-email-input,
	.wgb-email-row,
	.wgb-email-input-row,
	.wgb-email-input-group,
	.wgb-email-field,
	div:has(> input[type="email"] + .wgb-btn-remove-email) {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: stretch;
		gap: 8px;
	}
	:is(.wgb-email-input, .wgb-email-row, .wgb-email-input-row, .wgb-email-input-group, .wgb-email-field, div:has(> input[type="email"] + .wgb-btn-remove-email)) > input {
		flex: 1 1 auto;
		width: auto !important;
		min-width: 0 !important;
		margin: 0 !important;
	}
	.wgb-btn-remove-email,
	.wgb-remove-email {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		flex: 0 0 48px;
		width: 48px !important;
		min-width: 48px !important;
		max-width: 48px;
		min-height: 48px;
		margin: 0 !important;
		padding: 0 !important;
	}
}

/* 30/10 : Onglets des commandes empilés sur mobile. */
@media (max-width: 768px) {
	.wgb-tabs .wgb-tabs-nav { grid-template-columns: minmax(0, 1fr); gap: 8px; }
	.wgb-tabs .wgb-tabs-nav .wgb-tab-btn { justify-content: space-between; min-height: 54px; padding: 8px 14px !important; font-size: 16px; }
}

/* 30/10 : Badge des pop-ups sur mobile : bandeau fixe en haut, le contenu défile dessous. */
@media (max-width: 768px) {
	.wgb-popup-overlay .wgb-popup-content {
		margin-top: 84px !important;
		max-height: calc(100vh - 84px) !important;
		max-height: calc(100dvh - 84px) !important;
		padding-top: 0 !important;
	}
}

/* 30/10 : Marges réduites sur mobile, page de paiement : 67 px cumulés à gauche devenaient 21 px. */
@media (max-width: 768px) {
	body.woocommerce-order-pay .site-main { padding-left: 8px !important; padding-right: 8px !important; }
	body.woocommerce-order-pay .page-content > .woocommerce,
	body.woocommerce-order-pay .site-main .woocommerce { padding-left: 0 !important; padding-right: 0 !important; }
	body.woocommerce-order-pay form#order_review { padding-left: 12px !important; padding-right: 12px !important; }
	body.woocommerce-order-pay .wgb-address-form-wrapper { padding-left: 0 !important; padding-right: 0 !important; border: 0 !important; box-shadow: none !important; background: transparent !important; }
	body.woocommerce-order-pay .wgb-order-pay-recap-header { padding-left: 0 !important; padding-right: 0 !important; }
	body.woocommerce-order-pay .wgb-order-coupon { margin-left: 0 !important; margin-right: 0 !important; padding-left: 12px !important; padding-right: 12px !important; }
	body.woocommerce-order-pay .wgb-order-coupon-input { flex: 1 1 140px; min-width: 0; }
}

/* 30/10 : Cartes de commande aux couleurs de la charte. */
.wgb-card.wgb-card {
	background: #fff !important;
	border: 1px solid rgba(20, 36, 81, .25) !important;
	box-shadow: none !important;
	margin-bottom: 18px;
}
.wgb-card.wgb-card .wgb-card-body {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 230px;
	gap: 24px;
	align-items: start;
	padding: 22px 24px !important;
}
.wgb-card.wgb-card .wgb-card-infos { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; min-width: 0; }
.wgb-card.wgb-card .wgb-card-main-title {
	flex: 1 1 100%;
	margin: 0 !important;
	padding: 0 0 10px !important;
	border-bottom: 2px solid #F0B9F0;
	color: #142451 !important;
	font-family: 'Decoy', serif;
	font-size: 22px !important;
	line-height: 1.25;
}
.wgb-card.wgb-card .wgb-card-code-row { display: inline-flex; align-items: center; gap: 6px; margin: 0 !important; color: #142451; }
.wgb-card.wgb-card .wgb-card-code-label { color: #142451 !important; font-size: 14px !important; }
.wgb-card.wgb-card .wgb-card-code { color: #142451 !important; font-size: 14px !important; font-weight: 700; }
.wgb-card.wgb-card .wgb-copy-btn { background: transparent !important; color: #142451 !important; }
.wgb-card.wgb-card .wgb-card-subtitle { margin: 0 !important; color: #142451 !important; font-size: 14px !important; }
.wgb-card.wgb-card .wgb-card-status-badge {
	flex: 1 1 100%;
	display: block;
	width: fit-content;
	max-width: 100%;
	margin: 0 !important;
	padding: 7px 12px !important;
	background: #F2E2D0 !important;
	border: 0 !important;
	color: #142451 !important;
	font-size: 14px !important;
}
.wgb-card.wgb-card .wgb-card-status-badge span { color: #142451 !important; font-weight: 700; }
.wgb-card.wgb-card .wgb-badge-completed,
.wgb-card.wgb-card .wgb-badge-paid { background: #F0B9F0 !important; }
.wgb-card.wgb-card .wgb-card-deadline {
	flex: 1 1 100%;
	display: flex;
	align-items: baseline;
	gap: 6px;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
}
.wgb-card.wgb-card .wgb-deadline-value { color: #142451 !important; font-family: 'Decoy', serif; font-size: 22px !important; font-weight: 600; }
.wgb-card.wgb-card .wgb-deadline-label { color: #142451 !important; font-size: 14px !important; }
.wgb-card.wgb-card .wgb-card-deadline.urgent .wgb-deadline-value,
.wgb-card.wgb-card .wgb-card-deadline.urgent .wgb-deadline-label { color: #DA010C !important; font-weight: 700; }
.wgb-card.wgb-card .wgb-card-delivery-date {
	flex: 1 1 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0 !important;
	padding: 10px 12px !important;
	background: #142451 !important;
	border: 0 !important;
	color: #fff !important;
	font-size: 14px !important;
}
.wgb-card.wgb-card .wgb-card-delivery-date svg { color: #F0B9F0; flex: none; }
.wgb-card.wgb-card .wgb-delivery-label { color: #fff !important; font-weight: 400; }
.wgb-card.wgb-card .wgb-delivery-value { color: #F0B9F0 !important; font-weight: 700; }
.wgb-card.wgb-card .wgb-card-actions { display: flex; flex-direction: column; gap: 8px; width: 100%; min-width: 0; }
.wgb-card.wgb-card .wgb-card-actions .wgb-action-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	box-sizing: border-box;
	width: 100%;
	min-height: 44px;
	margin: 0 !important;
	padding: 8px 12px !important;
	background: #fff !important;
	color: #142451 !important;
	border: 2px solid #142451 !important;
	box-shadow: none !important;
	font-family: 'hoss-sharp', sans-serif;
	font-size: 14px !important;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
}
.wgb-card.wgb-card .wgb-card-actions .wgb-btn-primary-action,
.wgb-card.wgb-card .wgb-card-actions .wgb-btn-pay,
.wgb-card.wgb-card .wgb-card-actions .wgb-btn-validate-order {
	background: #142451 !important;
	color: #fff !important;
}
.wgb-card.wgb-card .wgb-card-actions .wgb-view-details {
	background: #F0B9F0 !important;
	border-color: #F0B9F0 !important;
	color: #142451 !important;
}
.wgb-card.wgb-card .wgb-card-actions .wgb-btn-close { color: #DA010C !important; border-color: #DA010C !important; }
@media (hover: hover) {
	.wgb-card.wgb-card .wgb-card-actions .wgb-action-btn:hover { background: #142451 !important; border-color: #142451 !important; color: #fff !important; }
	.wgb-card.wgb-card .wgb-card-actions .wgb-action-btn:hover svg { color: #fff; }
	.wgb-card.wgb-card .wgb-card-actions .wgb-btn-close:hover { background: #DA010C !important; border-color: #DA010C !important; color: #fff !important; }
}
@media (max-width: 768px) {
	.wgb-card.wgb-card .wgb-card-body { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 16px !important; }
	.wgb-card.wgb-card .wgb-card-main-title { font-size: 20px !important; }
}

/* 30/10 : cartes de commande : contenu aligné à gauche. */
.wgb-card.wgb-card .wgb-card-infos { display: flex !important; flex-direction: column !important; flex-wrap: nowrap !important; align-items: flex-start !important; justify-content: flex-start !important; text-align: left !important; }
.wgb-card.wgb-card .wgb-card-main-title { flex: none !important; align-self: stretch; text-align: left !important; }
.wgb-card.wgb-card .wgb-card-status-badge,
.wgb-card.wgb-card .wgb-card-deadline { flex: none !important; text-align: left !important; }
.wgb-card.wgb-card .wgb-card-delivery-date { flex: none !important; align-self: stretch; }

/* 30/10 : Catalogue à configurer : pop-up de filtres, barre fixée en bas, 2 produits par ligne. */
.wgb-cfg-filters-toggle, .wgb-cfg-filters-panel, .wgb-cfg-filters-backdrop { display: none; }
@media (max-width: 768px) {
	.wgb-configure-catalogue-page { padding-bottom: 140px; }
	html.wgb-cfg-filters-lock, html.wgb-cfg-filters-lock body { overflow: hidden !important; overscroll-behavior: none; }
	html.wgb-cfg-filters-lock body { position: fixed; left: 0; right: 0; width: 100%; }

	.wgb-configure-catalogue-page .wgb-cfg-save-bar-top {
		position: fixed !important;
		top: auto !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		width: auto !important;
		z-index: 9985 !important;
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		gap: 8px 10px;
		margin: 0 !important;
		padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px)) !important;
		border: 0 !important;
		box-shadow: 0 -6px 20px rgba(20, 36, 81, .25);
		text-align: left;
	}
	.wgb-configure-catalogue-page .wgb-cfg-save-bar-top .wgb-cfg-save-info { font-size: 14px; line-height: 1.2; text-align: left; }
	.wgb-configure-catalogue-page .wgb-cfg-save-bar-top .wgb-btn-save-catalogue { grid-column: 1 / -1; width: 100%; min-height: 46px; margin: 0; }
	.wgb-configure-catalogue-page .wgb-cfg-save-bar-top .wgb-catalogue-message { grid-column: 1 / -1; margin: 0; }
	.wgb-cfg-filters-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		min-height: 42px;
		margin: 0;
		padding: 0 14px;
		background: #F2E2D0 !important;
		color: #142451 !important;
		border: 0 !important;
		font-family: 'hoss-sharp', sans-serif;
		font-size: 15px;
		font-weight: 600;
		white-space: nowrap;
		cursor: pointer;
	}
	.wgb-cfg-filters-dot { display: none !important; }

	.wgb-cfg-filters-backdrop {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 10000;
		background: rgba(20, 36, 81, .45);
		opacity: 0;
		visibility: hidden;
		transition: opacity .3s ease, visibility 0s linear .3s;
	}
	.wgb-cfg-filters-backdrop.is-open { opacity: 1; visibility: visible; transition: opacity .3s ease; }
	.wgb-cfg-filters-panel {
		display: flex;
		flex-direction: column;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 10001;
		max-height: 88vh;
		max-height: 88dvh;
		background: #F2E2D0;
		box-shadow: 0 0 40px rgba(20, 36, 81, .25);
		visibility: hidden;
		transform: translateY(100%);
		transition: transform .35s cubic-bezier(.2, .8, .2, 1), visibility 0s linear .35s;
	}
	.wgb-cfg-filters-panel.is-open { visibility: visible; transform: none; transition: transform .35s cubic-bezier(.2, .8, .2, 1); }
	.wgb-cfg-filters-head {
		flex: none;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 14px 16px 12px 20px;
		border-bottom: 1px solid rgba(20, 36, 81, .15);
		touch-action: none;
	}
	.wgb-cfg-filters-head h2 { margin: 0; font-family: 'Decoy', serif; font-size: 24px; font-weight: 500; line-height: 1.2; color: #142451; }
	.wgb-cfg-filters-close {
		flex: none;
		width: 44px;
		height: 44px;
		padding: 0;
		margin: 0;
		background: transparent !important;
		color: #142451 !important;
		border: 1px solid rgba(20, 36, 81, .3) !important;
		font-size: 26px;
		line-height: 1;
		cursor: pointer;
	}
	.wgb-cfg-filters-body {
		flex: 1 1 auto;
		min-height: 0;
		overflow-y: auto;
		overflow-x: hidden;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
		padding: 12px 16px 16px;
	}
	.wgb-cfg-filters-body .wgb-catalogue-sidebar,
	.wgb-cfg-filters-body .wgb-catalogue-toolbar,
	.wgb-cfg-filters-body .wgb-cfg-selection-tools {
		position: static !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 0 14px !important;
		padding: 0 !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
	}
	.wgb-cfg-filters-foot { flex: none; padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid rgba(20, 36, 81, .15); }
	.wgb-cfg-filters-apply {
		width: 100%;
		min-height: 48px;
		margin: 0;
		background: #142451 !important;
		color: #fff !important;
		border: 2px solid #142451 !important;
		font-family: 'hoss-sharp', sans-serif;
		font-size: 16px;
		font-weight: 600;
		cursor: pointer;
	}

	.wgb-configure-catalogue-page .wgb-catalogue-layout { display: block !important; }
	html body .wgb-configure-catalogue-page .wgb-catalogue-grid,
	html body .wgb-configure-catalogue-page.wgb-cfg-ape .wgb-catalogue-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px !important;
	}
}

/* 30/10 : Marges du catalogue réduites sur mobile, bouton de carte lisible, pas de « Ma sélection » sur la barre. */
@media (max-width: 768px) {
	.wgb-configure-catalogue-page .wgb-cfg-body { padding-left: 4px !important; padding-right: 4px !important; }
	.wgb-configure-catalogue-page .wgb-cfg-section { padding-left: 5px !important; padding-right: 5px !important; }
	html body .wgb-configure-catalogue-page .wgb-catalogue-grid { padding-left: 0 !important; padding-right: 0 !important; }
	.wgb-configure-catalogue-page .wgb-cat-card-btn {
		display: block;
		width: 100%;
		min-height: 44px;
		height: auto !important;
		padding: 8px 6px !important;
		white-space: normal !important;
		overflow: visible !important;
		font-size: 13px !important;
		line-height: 1.2;
	}
	body:has(.wgb-configure-catalogue-page) .wgb-floating-cart { display: none !important; }
}

/* 30/10 : Cartes du catalogue sur mobile : plus de place pour le texte, boutons alignés en bas. */
@media (max-width: 768px) {
	.wgb-configure-catalogue-page .wgb-cat-card { height: 100%; }
	.wgb-configure-catalogue-page .wgb-cat-card-body {
		flex: 1 1 auto;
		display: flex !important;
		flex-direction: column;
		gap: 6px;
		padding: 10px !important;
	}
	.wgb-configure-catalogue-page .wgb-cat-card-name { margin: 0 !important; font-size: 13px !important; line-height: 1.25; }
	.wgb-configure-catalogue-page .wgb-cfg-section-title { font-size: 21px !important; line-height: 1.2; }
	.wgb-configure-catalogue-page .wgb-cfg-section-title, .wgb-configure-catalogue-page .wgb-cfg-section-desc { padding-left: 5px; padding-right: 5px; }
	.wgb-configure-catalogue-page .wgb-cat-card-desc { margin: 0 !important; font-size: 13px !important; line-height: 1.3; }
	.wgb-configure-catalogue-page .wgb-cat-card-price { margin: 0 !important; }
	.wgb-configure-catalogue-page .wgb-cat-card-btn { margin: auto 0 0 !important; }
	.wgb-configure-catalogue-page .wgb-cat-card-btn svg { display: none; }
}

/* 30/10 : Photos produit carrées partout (catalogue à configurer, fiche produit). */
html body .wgb-cat-card-image {
	aspect-ratio: 1 / 1 !important;
	height: auto !important;
	overflow: hidden;
}
html body .wgb-cat-card-image img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}
html body .woocommerce-product-gallery .woocommerce-product-gallery__image,
html body .woocommerce-product-gallery .woocommerce-product-gallery__image > a {
	display: block;
	aspect-ratio: 1 / 1 !important;
	height: auto !important;
	overflow: hidden;
}
html body .woocommerce-product-gallery .woocommerce-product-gallery__image img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-height: none !important;
	aspect-ratio: 1 / 1 !important;
}
html body .woocommerce-product-gallery .woocommerce-product-gallery__image:not(.fdlm-gal-contain) img { object-fit: cover !important; }

/* 30/10 : fiche produit : le cadre de la galerie est carré lui aussi. */
html body .woocommerce-product-gallery__wrapper { aspect-ratio: 1 / 1 !important; }

/* 30/10 : Contrôles de marge : + et - carrés à la hauteur des champs, % et flèche lisibles sur le bleu. */
.wgb-mt-margin-control,
.wgb-margin-global .wgb-mt-margin-control { display: flex !important; align-items: stretch !important; gap: 6px; }
html body .wgb-mt-margin-step {
	flex: 0 0 44px;
	box-sizing: border-box;
	width: 44px !important;
	min-width: 44px !important;
	height: 44px !important;
	min-height: 44px !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1;
}
html body .wgb-mt-margin-control .wgb-margin-input,
html body .wgb-margin-global .wgb-default-margin-input {
	box-sizing: border-box;
	flex: 1 1 auto;
	min-width: 0;
	height: 44px !important;
	min-height: 44px !important;
	margin: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	line-height: 44px;
	border-width: 1px !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff;
	opacity: 1 !important;
}
html body .wgb-mt-margin-control select:not([multiple]):not(.select2-hidden-accessible),
html body .wgb-margin-global select:not([multiple]):not(.select2-hidden-accessible) {
	box-sizing: border-box;
	flex: 0 0 78px;
	width: 78px !important;
	min-width: 78px !important;
	height: 44px !important;
	min-height: 44px !important;
	margin: 0 !important;
	padding: 0 28px 0 12px !important;
	line-height: 44px;
	border-width: 1px !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff;
	opacity: 1 !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F2E2D0' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
	background-position: right 8px center !important;
}
html body .wgb-mt-margin-control select option,
html body .wgb-margin-global select option { color: #142451; -webkit-text-fill-color: #142451; background: #fff; }

/* 30/10 : APE : Sélection et Marges en onglets, toujours visibles au défilement. */
.wgb-cfg-ape .wgb-cfg-stepper.is-stuck { position: fixed !important; z-index: 990; margin: 0; padding: 8px 4px !important; box-shadow: 0 6px 14px rgba(20, 36, 81, .15); }
.wgb-cfg-ape .wgb-cfg-stepper {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	gap: 8px !important;
	margin-bottom: 14px;
	padding: 8px 0 !important;
	background: #FCF7F2;
}
.wgb-cfg-ape .wgb-cfg-stepper .wgb-cfg-step-line { display: none !important; }
.wgb-cfg-ape .wgb-cfg-stepper .wgb-cfg-step,
.wgb-cfg-ape .wgb-cfg-stepper .wgb-cfg-step.is-active,
.wgb-cfg-ape .wgb-cfg-stepper .wgb-cfg-step.is-done {
	display: flex !important;
	flex-direction: row !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 46px;
	margin: 0 !important;
	padding: 6px 10px !important;
	background: #fff !important;
	border: 2px solid #142451 !important;
	box-shadow: none !important;
	color: #142451 !important;
	font-weight: 600;
	cursor: pointer;
}
.wgb-cfg-ape .wgb-cfg-stepper .wgb-cfg-step span { color: inherit !important; }
.wgb-cfg-ape .wgb-cfg-stepper .wgb-cfg-step .wgb-cfg-step-num,
.wgb-cfg-ape .wgb-cfg-stepper .wgb-cfg-step.is-active .wgb-cfg-step-num {
	display: none !important;
}
.wgb-cfg-ape .wgb-cfg-stepper .wgb-cfg-step.is-active { background: #142451 !important; color: #fff !important; }
.wgb-cfg-ape .wgb-cfg-stepper .wgb-cfg-step:focus-visible { outline: 3px solid #F0B9F0; outline-offset: 2px; }

/* 30/10 : Boutons Filtrer en rose par défaut sur mobile, bien visibles. */
@media (max-width: 1024px) {
	html body .fdlm-filtres-toggle,
	html body .fdlm-filtres-fab,
	html body .wgb-cfg-filters-toggle,
	html body .fdlm-filtres-toggle:focus,
	html body .fdlm-filtres-fab:focus,
	html body .wgb-cfg-filters-toggle:focus,
	html body .fdlm-filtres-toggle:active,
	html body .fdlm-filtres-fab:active,
	html body .wgb-cfg-filters-toggle:active {
		background: #F0B9F0 !important;
		color: #142451 !important;
		border: 2px solid #142451 !important;
	}
}
@media (max-width: 1024px) and (hover: hover) {
	html body .fdlm-filtres-toggle:hover,
	html body .fdlm-filtres-fab:hover,
	html body .wgb-cfg-filters-toggle:hover {
		background: #142451 !important;
		color: #fff !important;
		border-color: #142451 !important;
	}
}

/* 30/10 : pages mères sans colonne de filtres : catégories en pop-up sur mobile. */
.fdlm-chips-bar, .fdlm-chips-fab, .fdlm-chips-panel, .fdlm-chips-backdrop { display: none; }
@media (max-width: 1024px) {
	html.fdlm-chips-lock, html.fdlm-chips-lock body { overflow: hidden !important; overscroll-behavior: none; }
	html.fdlm-chips-lock body { position: fixed; left: 0; right: 0; width: 100%; }
	body:has(.fdlm-filtres-toggle) .fdlm-cat-chips { display: none !important; }
	.fdlm-chips-bar { display: flex; margin: 16px 0; }
	html body .fdlm-chips-toggle,
	html body .fdlm-chips-toggle:hover,
	html body .fdlm-chips-toggle:focus,
	html body .fdlm-chips-toggle:active {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		flex: 1 1 auto;
		min-height: 48px;
		margin: 0;
		padding: 0 22px;
		background: #F0B9F0 !important;
		color: #142451 !important;
		border: 2px solid #142451 !important;
		font-family: 'hoss-sharp', sans-serif;
		font-size: 16px;
		font-weight: 600;
		line-height: 1;
		cursor: pointer;
	}
	html body .fdlm-chips-fab {
		display: inline-flex;
		position: fixed;
		left: 50%;
		bottom: calc(16px + env(safe-area-inset-bottom, 0px));
		z-index: 9990;
		box-shadow: 0 8px 24px rgba(20, 36, 81, .35);
		transform: translate(-50%, calc(100% + 40px));
		transition: transform .3s ease;
	}
	html body .fdlm-chips-fab.is-visible { transform: translate(-50%, 0); }
	.fdlm-chips-backdrop {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 10000;
		background: rgba(20, 36, 81, .45);
		opacity: 0;
		visibility: hidden;
		transition: opacity .3s ease, visibility 0s linear .3s;
	}
	.fdlm-chips-backdrop.is-open { opacity: 1; visibility: visible; transition: opacity .3s ease; }
	.fdlm-chips-panel {
		display: flex;
		flex-direction: column;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 10001;
		max-height: 85vh;
		max-height: 85dvh;
		background: #F2E2D0;
		box-shadow: 0 0 40px rgba(20, 36, 81, .25);
		visibility: hidden;
		transform: translateY(100%);
		transition: transform .35s cubic-bezier(.2, .8, .2, 1), visibility 0s linear .35s;
	}
	.fdlm-chips-panel.is-open { visibility: visible; transform: none; transition: transform .35s cubic-bezier(.2, .8, .2, 1); }
	.fdlm-chips-head {
		flex: none;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 14px 16px 12px 20px;
		border-bottom: 1px solid rgba(20, 36, 81, .15);
	}
	.fdlm-chips-head h2 { margin: 0; font-family: 'Decoy', serif; font-size: 24px; font-weight: 500; line-height: 1.2; color: #142451; }
	.fdlm-chips-close {
		flex: none;
		width: 44px;
		height: 44px;
		padding: 0;
		margin: 0;
		background: transparent !important;
		color: #142451 !important;
		border: 1px solid rgba(20, 36, 81, .3) !important;
		font-size: 26px;
		line-height: 1;
		cursor: pointer;
	}
	.fdlm-chips-body {
		flex: 1 1 auto;
		min-height: 0;
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
		padding: 12px 16px calc(16px + env(safe-area-inset-bottom, 0px));
	}
	.fdlm-chips-body .fdlm-cat-chips { flex-direction: column; flex-wrap: nowrap; gap: 8px; margin: 0; }
	.fdlm-chips-body .fdlm-cat-chips a { display: flex; align-items: center; min-height: 48px; padding: 8px 14px; font-size: 16px; }
}

/* 30/10 : Boutons fermer ronds, pastille Comm360 ronde. */
html body .fdlm-chips-close,
html body .fdlm-account-nav-close,
html body .wgb-cfg-filters-close,
html body .fdlm-filtres-close,
html body .wgb-popup-close,
html body .elementor-element-9b743d3 img { border-radius: 50% !important; }

/* 30/10 : Page de résultats de recherche : ni bandeau de la boutique, ni encart coffrets. */
body.search-results .elementor-element-e565506,
body.search-results .elementor-element-9ccb616,
body.search-no-results .elementor-element-e565506,
body.search-no-results .elementor-element-9ccb616 { display: none !important; }
body.search .elementor-element-4ab58cf { width: 100% !important; max-width: 100% !important; flex: 1 1 100% !important; }
body.search .elementor-element-8b9c010,
body.search .elementor-element-8b9c010 * { max-height: none !important; -webkit-mask-image: none !important; mask-image: none !important; }
body.search .fdlm-hero-more { display: none !important; }

/* 30/10 : Pop-up Reprendre une commande : champ email visible sur le fond bleu. */
.wgb-popup-overlay .wgb-resume-form .wgb-form-group { display: block !important; }
.wgb-popup-overlay .wgb-resume-form label,
.wgb-popup-overlay .wgb-resume-form small { display: block; color: #F2E2D0 !important; }
.wgb-popup-overlay .wgb-resume-form input[type="email"] {
	display: block;
	box-sizing: border-box;
	width: 100% !important;
	min-height: 46px;
	margin: 6px 0;
	padding: 10px 12px !important;
	background: transparent !important;
	border: 1px solid #F2E2D0 !important;
	color: #F0B9F0 !important;
	-webkit-text-fill-color: #F0B9F0;
}
.wgb-popup-overlay .wgb-resume-form input[type="email"]::placeholder { color: rgba(242, 226, 208, .7); -webkit-text-fill-color: rgba(242, 226, 208, .7); }

/* 30/10 : page La vente groupée, c'est quoi : onglet Espace de connexion un peu plus haut. */
html body .elementor-element-4f85d58 { margin-top: -3vh !important; }

/* 30/10 : menu mobile : bouton Retour, même marge intérieure à gauche et à droite, plus d'air dessous. */
html body .fdlm-mm-back { padding-left: 12px !important; padding-right: 12px !important; margin-bottom: 16px !important; }

/* 30/10 : page À propos sur mobile. */
@media (max-width: 767px) {
	/* Frise : les carrés sont centrés sur la ligne. */
	.elementor-element-36bb636 .timeline-dot { left: -49.5px !important; }
	/* Blocs par année : le trait vertical passait par-dessus le texte. */
	.elementor-2379 .e-con:has(> .elementor-widget-divider:only-child) { display: none !important; }
	/* Photos de l'équipe : grille de photos carrées, visages visibles. */
	.elementor-element-4921b02 { margin-top: 0 !important; padding-top: 16px !important; padding-bottom: 8px !important; }
	.elementor-element-d7e0863 { margin-top: 0 !important; padding-top: 0 !important; padding-bottom: 16px !important; }
	.elementor-element-4921b02, .elementor-element-d7e0863 { height: auto !important; min-height: 0 !important; }
	.elementor-element-4921b02 > .e-con-inner, .elementor-element-d7e0863 > .e-con-inner {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
		height: auto !important;
		min-height: 0 !important;
	}
	.elementor-element-4921b02 > .e-con-inner > .e-con, .elementor-element-d7e0863 > .e-con-inner > .e-con {
		width: 100% !important;
		max-width: none !important;
		height: auto !important;
		min-height: 0 !important;
		aspect-ratio: 1 / 1;
		margin: 0 !important;
		background-size: cover !important;
		background-position: center top !important;
	}
}

/* 30/10 : page À propos sur mobile : mêmes tailles de texte que l’accueil. */
@media (max-width: 767px) {
	html body .elementor-element-7640a30 .elementor-heading-title { font-size: 30px !important; line-height: 1.1 !important; }
	html body .elementor-element-36bb636 h2 { font-size: 28px !important; line-height: 1.15 !important; }
	html body .elementor-element-36bb636 h3 { font-size: 22px !important; line-height: 1.2 !important; }
	html body .elementor-element-0641b1e, html body .elementor-element-0641b1e * { font-size: 17px !important; line-height: 1.5 !important; }

	/* Blocs par année : année, titre et texte alignés à gauche, tailles réduites. */
	html body .elementor-2379 .e-con:has(> .e-con > .elementor-widget-divider:only-child) { display: block !important; padding: 18px !important; height: auto !important; min-height: 0 !important; }
	html body .elementor-2379 .e-con:has(> .e-con > .elementor-widget-divider:only-child) > .elementor-widget-text-editor { margin: 0 0 6px !important; width: 100% !important; left: 0 !important; }
	html body .elementor-2379 .e-con:has(> .e-con > .elementor-widget-divider:only-child) > .elementor-widget-text-editor,
	html body .elementor-2379 .e-con:has(> .e-con > .elementor-widget-divider:only-child) > .elementor-widget-text-editor * { font-size: 20px !important; line-height: 1.3 !important; }
	html body .elementor-2379 .e-con:has(> .e-con > .elementor-widget-divider:only-child) > .e-con:not(:has(> .elementor-widget-divider)) { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; left: 0 !important; top: 0 !important; }
	html body .elementor-2379 .e-con:has(> .e-con > .elementor-widget-divider:only-child) > .e-con:not(:has(> .elementor-widget-divider)) > .elementor-widget-text-editor { margin: 0 !important; padding: 0 !important; width: 100% !important; }
	html body .elementor-2379 .e-con:has(> .e-con > .elementor-widget-divider:only-child) > .e-con > .elementor-widget-text-editor:first-child,
	html body .elementor-2379 .e-con:has(> .e-con > .elementor-widget-divider:only-child) > .e-con > .elementor-widget-text-editor:first-child * { font-size: 22px !important; line-height: 1.2 !important; margin-bottom: 8px !important; }

	/* Grandes années en fond : tiennent dans l'écran. */
	html body .elementor-element-42d8f55, html body .elementor-element-42d8f55 *,
	html body .elementor-element-07f5a79, html body .elementor-element-07f5a79 *,
	html body .elementor-element-237cda9, html body .elementor-element-237cda9 *,
	html body .elementor-element-5adaadf, html body .elementor-element-5adaadf *,
	html body .elementor-element-1bba937, html body .elementor-element-1bba937 *,
	html body .elementor-element-0e473a7, html body .elementor-element-0e473a7 * { font-size: 52px !important; line-height: 1.1 !important; white-space: normal !important; }

	/* Case « Découvrez leur fromage préféré » de la grille de l'équipe. */
	html body .elementor-element-1fc0c00 { display: flex !important; flex-direction: column; align-items: center; justify-content: center; padding: 10px !important; overflow: hidden; }
	html body .elementor-element-df45b87 { position: static !important; left: auto !important; right: auto !important; top: auto !important; width: 100% !important; margin: 0 !important; transform: none !important; }
	html body .elementor-element-df45b87, html body .elementor-element-df45b87 * { font-size: 20px !important; line-height: 1.2 !important; text-align: center !important; }
	html body .elementor-element-1fc0c00 .elementor-widget-icon { position: static !important; display: none !important; }
}

/* 30/10 : Photos de l’équipe : prénom et poste en bandeau, fromage préféré au clic (ou au survol). */
html body .hover-contact {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-end !important;
	align-items: stretch !important;
	gap: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	cursor: pointer;
	transform: none !important;
	filter: none !important;
	transition: none !important;
	background-size: cover !important;
	background-position: center top !important;
	-webkit-tap-highlight-color: transparent;
}
html body .hover-contact:focus-visible { outline: 3px solid #142451; outline-offset: 2px; }
html body .hover-contact .name-hover,
html body .hover-contact .text-hover {
	position: static !important;
	flex: none;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	background: #142451 !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	transition: none !important;
	text-align: left !important;
}
html body .hover-contact .name-hover,
html body .hover-contact .name-hover * {
	padding: 8px 10px 0 !important;
	color: #F0B9F0 !important;
	font-family: 'Decoy', serif !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
}
html body .hover-contact .name-hover * { padding: 0 !important; }
html body .hover-contact .text-hover { padding: 2px 10px 9px !important; }
html body .hover-contact .text-hover,
html body .hover-contact .text-hover * {
	color: #fff !important;
	font-family: 'hoss-sharp', sans-serif !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.25 !important;
	margin: 0 !important;
}
html body .hover-contact [class*="bulle"] {
	position: absolute !important;
	inset: 0 !important;
	z-index: 2;
	display: flex !important;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: auto !important;
	max-width: none !important;
	height: auto !important;
	margin: 0 !important;
	padding: 14px !important;
	background: rgba(240, 185, 240, .96) !important;
	border: 0 !important;
	box-shadow: none !important;
	color: #142451 !important;
	text-align: center !important;
	opacity: 0 !important;
	visibility: hidden !important;
	transform: translateY(10px) !important;
	transition: opacity .22s ease, transform .22s ease, visibility 0s linear .22s !important;
	pointer-events: none;
}
html body .hover-contact [class*="bulle"]::before {
	content: "Son fromage préféré";
	display: block;
	margin-bottom: 6px;
	font-family: 'hoss-sharp', sans-serif;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	color: #142451;
}
html body .hover-contact [class*="bulle"]::after { display: none !important; }
html body .hover-contact [class*="bulle"],
html body .hover-contact [class*="bulle"] * {
	font-family: 'Decoy', serif !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	color: #142451 !important;
	background: transparent;
}
html body .hover-contact.is-open [class*="bulle"] {
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	transition: opacity .22s ease, transform .22s ease !important;
}
/* Repère : la photo s'ouvre. */
html body .hover-contact::after {
	content: "+";
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	background: #142451;
	color: #fff;
	font-size: 20px;
	line-height: 1;
	transition: transform .22s ease;
}
html body .hover-contact.is-open::after { transform: rotate(45deg); }
@media (hover: hover) {
	html body .hover-contact:hover [class*="bulle"] {
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		transition: opacity .22s ease, transform .22s ease !important;
	}
	html body .hover-contact:hover::after { transform: rotate(45deg); }
}
@media (prefers-reduced-motion: reduce) {
	html body .hover-contact [class*="bulle"], html body .hover-contact::after { transition: none !important; }
}

/* 30/10 : Espace de connexion : rien ne dépasse sous l'onglet tant qu'on ne l'a pas survolé. */
html body .elementor-element-4f85d58 .elementor-element-4c66a38 {
	visibility: hidden;
	transition: visibility 0s linear .8s !important;
}
html body .elementor-element-4f85d58:hover .elementor-element-4c66a38,
html body .elementor-element-4f85d58:focus-within .elementor-element-4c66a38 {
	visibility: visible;
	transition: visibility 0s !important;
}

/* 30/10 : photos de l'équipe : le bandeau prénom et poste reste affiché. */
html body .hover-contact > .name-hover,
html body .hover-contact > .text-hover { display: block !important; height: auto !important; max-height: none !important; }
html body .hover-contact [class*="bulle"] .elementor-widget-container,
html body .hover-contact [class*="bulle"] span { display: block; }

/* 30/10 : Fromage préféré : texte d’un seul tenant, centré dans la photo. */
html body .hover-contact [class*="bulle"] {
	display: block !important;
	padding: 24% 12px 12px !important;
	overflow: hidden;
	z-index: 4;
}
html body .hover-contact [class*="bulle"] span { display: inline !important; }
html body .hover-contact [class*="bulle"] br { display: inline; }
html body .hover-contact [class*="bulle"]::before { font-size: 12px !important; font-family: 'hoss-sharp', sans-serif !important; }
html body .hover-contact::after { z-index: 5; }
@media (max-width: 767px) {
	html body .hover-contact [class*="bulle"] { padding-top: 22% !important; }
	html body .hover-contact [class*="bulle"],
	html body .hover-contact [class*="bulle"] * { font-size: 15px !important; }
	html body .hover-contact .name-hover, html body .hover-contact .name-hover * { font-size: 16px !important; }
	html body .hover-contact .text-hover, html body .hover-contact .text-hover * { font-size: 12px !important; }
}

/* 31/10 : blocs de texte repris de l'ancien site. 01/11 : refonte à la charte (fil à carrés, cartes nuit et lilas, couleurs par famille). */
html body .fdlm-seo-conteneur.e-con { width: 100%; margin-top: 75px; padding: 0; background: #FDF0E3; overflow: hidden; }
html body .fdlm-seo-conteneur + .fdlm-seo-conteneur.e-con { margin-top: 0; }
html body .fdlm-seo-conteneur:not(:has(.fdlm-seo-bloc)) { display: none; }
.fdlm-seo-conteneur > .elementor-widget { width: 100%; margin: 0; }
.fdlm-seo-bloc {
	--fdlm-fil: rgba(20, 36, 81, .9);
	box-sizing: border-box;
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	padding: 72px 20px;
	color: #142451;
	font-family: 'hoss-sharp', sans-serif;
	font-size: 16px;
	line-height: 1.65;
	text-align: left;
}
.fdlm-seo-bloc * { box-sizing: border-box; }
.fdlm-seo-bloc h2 {
	max-width: 860px;
	margin: 0 auto 24px;
	color: inherit;
	font-family: 'hoss-sharp', sans-serif;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.15;
	text-align: center;
}
.fdlm-seo-bloc h2.fdlm-seo-g { margin-left: 0; text-align: left; }
.fdlm-seo-bloc h2.fdlm-seo-grand { font-size: clamp(30px, 3.2vw, 40px); line-height: 1.12; }
.fdlm-seo-bloc h2.fdlm-seo-long { font-size: 28px; }
.fdlm-seo-mot { color: #DA010C; font-family: 'Decoy', serif; font-weight: 700; }
.fdlm-seo-mot-or { color: #B66D01; }
.fdlm-seo-mot-bleu { color: #3F7086; }
.fdlm-seo-mot-lilas { color: #F0B9F0; }
.fdlm-seo-bloc h3, .fdlm-seo-bloc h4 {
	margin: 0 0 10px;
	color: inherit;
	font-family: 'Decoy', serif;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.2;
}
.fdlm-seo-bloc p, .fdlm-seo-bloc ul, .fdlm-seo-bloc ol { margin: 0 0 16px; }
.fdlm-seo-bloc p:last-child { margin-bottom: 0; }
.fdlm-seo-bloc > p { max-width: 820px; margin-left: auto; margin-right: auto; text-align: center; }
.fdlm-seo-bloc p a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.fdlm-seo-bloc p a:hover, .fdlm-seo-bloc p a:focus { color: #DA010C; }
.fdlm-seo-bloc img { display: block; max-width: 100%; height: auto; }
.fdlm-seo-chapo { font-size: 20px; line-height: 1.45; }
.fdlm-seo-surtitre { display: block; margin-bottom: 6px; font-family: 'hoss-sharp', sans-serif; font-size: 14px; font-weight: 700; letter-spacing: .04em; }
.fdlm-seo-bloc h3.fdlm-seo-surtitre { margin-bottom: 6px; font-family: 'hoss-sharp', sans-serif; font-size: 15px; font-weight: 700; }
.fdlm-seo-ton-ciel { background: #BFD0DB; }
.fdlm-seo-ton-sauge { background: #BBC3B4; }
.fdlm-seo-ton-miel { background: #FFE7B9; }
.fdlm-seo-ton-sable { background: #EDCBA5; }
.fdlm-seo-ton-terre { background: #A57C4F; }
/* Recettes : liens du texte d'introduction visibles. */
body.single-recette .elementor-widget-text-editor p a:not(.elementor-button) { text-decoration: underline; text-underline-offset: 3px; }
body.single-recette .elementor-widget-text-editor p a:not(.elementor-button):hover { color: #DA010C; }
/* Pages longues : sections de largeurs et de densités différentes. */
.fdlm-seo-riche { max-width: none; padding: 0; }
.fdlm-seo-sec { padding: 80px max(20px, calc((100% - 1140px) / 2)); }
.fdlm-seo-serre { padding-top: 0; }
.fdlm-seo-centre { text-align: center; }
.fdlm-seo-centre > p { max-width: 820px; margin-left: auto; margin-right: auto; }
.fdlm-seo-bloc h3.fdlm-seo-intertitre { margin-bottom: 40px; font-family: 'hoss-sharp', sans-serif; font-size: 32px; font-weight: 700; line-height: 1.15; text-align: center; }
.fdlm-seo-bloc h3.fdlm-seo-intertitre.fdlm-seo-g { text-align: left; }
.fdlm-seo-bloc p.fdlm-seo-note { max-width: 820px; margin: 72px auto 0; text-align: center; }
.fdlm-seo-bloc p.fdlm-seo-note-haut { margin: -24px auto 40px; }
/* Ouverture : la photo sort de la grille jusqu'au bord de l'écran. */
.fdlm-seo-une {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 72px;
	align-items: center;
	padding: 80px max(20px, calc((100% - 1140px) / 2)) 0;
}
.fdlm-seo-une-img { position: relative; }
.fdlm-seo-une-img::before { content: ""; position: absolute; left: -24px; bottom: -24px; width: 60%; height: 70%; background: #C67969; }
.fdlm-seo-une-img img:not(.fdlm-seo-pastille) { position: relative; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.fdlm-seo-une-txt p:not(.fdlm-seo-chapo) { font-size: 17px; line-height: 1.6; }
.fdlm-seo-bloc img.fdlm-seo-pastille { position: absolute; left: -48px; top: -40px; width: 112px; height: 112px; transform: rotate(-10deg); }
/* Plateau : tuiles de tailles différentes, texte coloré posé sur la photo. */
.fdlm-seo-plateau { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 72px 32px; align-items: start; }
.fdlm-seo-l7 { grid-column: span 7; }
.fdlm-seo-l5 { grid-column: span 5; }
.fdlm-seo-decale { margin-top: 72px; }
.fdlm-seo-decale-haut { margin-top: 0; }
.fdlm-seo-bloc a.fdlm-seo-tuile { display: block; background: none; color: #142451; text-decoration: none; }
.fdlm-seo-tuile-img { display: block; overflow: hidden; }
.fdlm-seo-tuile-img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .5s ease; }
.fdlm-seo-tuile:hover .fdlm-seo-tuile-img img, .fdlm-seo-tuile:focus .fdlm-seo-tuile-img img { transform: scale(1.05); }
.fdlm-seo-tuile-txt { position: relative; display: block; width: calc(100% - 32px); margin: -56px 0 0 32px; padding: 24px 26px; background: #fff; transition: transform .3s ease; }
.fdlm-seo-tuile:hover .fdlm-seo-tuile-txt, .fdlm-seo-tuile:focus .fdlm-seo-tuile-txt { transform: translateY(-8px); }
.fdlm-seo-ton-ciel .fdlm-seo-tuile-txt { background: #BFD0DB; }
.fdlm-seo-ton-sauge .fdlm-seo-tuile-txt { background: #BBC3B4; }
.fdlm-seo-ton-miel .fdlm-seo-tuile-txt { background: #FFE7B9; }
.fdlm-seo-ton-sable .fdlm-seo-tuile-txt { background: #EDCBA5; }
a.fdlm-seo-tuile.fdlm-seo-ton-ciel, a.fdlm-seo-tuile.fdlm-seo-ton-sauge, a.fdlm-seo-tuile.fdlm-seo-ton-miel, a.fdlm-seo-tuile.fdlm-seo-ton-sable { background: none; }
.fdlm-seo-tuile-p { display: block; margin-bottom: 14px; font-size: 15px; line-height: 1.5; }
.fdlm-seo-suite { font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.fdlm-seo-suite::after { content: " →"; }
.fdlm-seo-tuile:focus-visible, .fdlm-seo-bouton:focus-visible, .fdlm-seo-etiquettes a:focus-visible { outline: 2px solid #DA010C; outline-offset: 3px; }
.fdlm-seo-vitrine { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 28px; margin-top: 40px; align-items: start; }
.fdlm-seo-vitrine > :nth-child(3n+2) { margin-top: 56px; }
.fdlm-seo-vitrine .fdlm-seo-tuile-txt { width: calc(100% - 16px); margin: -40px 0 0 16px; padding: 20px; }
/* Sections nuit : mêmes couleurs que le bloc CSE et APE de l'accueil. */
.fdlm-seo-nuit { background: #142451; color: #F2E2D0; }
.fdlm-seo-nuit h2 { color: #F2E2D0; }
.fdlm-seo-terroir { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 72px; align-items: center; }
/* Fil à carrés, repris du bloc Chronofresh. */
.fdlm-seo-fil { position: relative; padding-left: 44px; }
.fdlm-seo-fil::before { content: ""; position: absolute; left: 7px; top: 8px; bottom: 8px; width: 2px; background: #F2E2D0; }
.fdlm-seo-fil-etape { position: relative; }
.fdlm-seo-fil-etape + .fdlm-seo-fil-etape { margin-top: 40px; }
.fdlm-seo-fil-etape::before { content: ""; position: absolute; left: -44px; top: 6px; width: 16px; height: 16px; background: #F0B9F0; }
.fdlm-seo-chiffres { display: grid; gap: 12px; padding: 0; list-style: none; }
.fdlm-seo-bloc .fdlm-seo-chiffres { margin: 0; }
.fdlm-seo-chiffres li { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 16px; align-items: center; padding: 22px; background: #09132F; }
.fdlm-seo-chiffres strong { display: flex; align-items: center; color: #F0B9F0; font-family: 'Decoy', serif; font-size: 44px; font-weight: 700; line-height: 1; transform: translateY(-.22em); }
.fdlm-seo-chiffres span { font-size: 15px; line-height: 1.4; }
/* Engagements : liste en lignes plutôt qu'en cartes. */
.fdlm-seo-engagements { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 56px; align-items: start; }
.fdlm-seo-eng-g { position: sticky; top: 130px; }
.fdlm-seo-bloc .fdlm-seo-engagements h3.fdlm-seo-intertitre { margin: 0 0 24px; font-size: clamp(32px, 3.6vw, 44px); line-height: 1.05; }
.fdlm-seo-eng-g img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.fdlm-seo-bloc .fdlm-seo-index { margin: 0; padding: 0; list-style: none; }
.fdlm-seo-index li { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 4px 24px; padding: 24px 0; border-top: 1px solid rgba(20, 36, 81, .25); }
.fdlm-seo-index li:first-child { padding-top: 0; border-top: 0; }
.fdlm-seo-index li:last-child { padding-bottom: 0; }
.fdlm-seo-bloc .fdlm-seo-index .fdlm-seo-picto { grid-row: span 2; width: 64px; height: 40px; max-width: none; object-fit: contain; object-position: left center; }
.fdlm-seo-bloc .fdlm-seo-index h3 { margin: 0; font-size: 22px; }
.fdlm-seo-bloc .fdlm-seo-index p { grid-column: 2; margin: 0; }
/* Boutique : pleine largeur, photo d'archive et terre cuite. */
.fdlm-seo-boutique { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); background: #C67969; }
.fdlm-seo-boutique-img img { width: 100%; height: 100%; min-height: 380px; object-fit: cover; }
.fdlm-seo-boutique-txt { align-self: center; padding: 56px max(20px, calc((100vw - 1140px) / 2)) 56px 56px; }
.fdlm-seo-bloc .fdlm-seo-boutique-txt h3 { font-family: 'hoss-sharp', sans-serif; font-size: 32px; font-weight: 700; line-height: 1.1; }
.fdlm-seo-bloc p.fdlm-seo-horaires { margin: 0 0 24px; }
.fdlm-seo-horaires strong { display: block; font-family: 'Decoy', serif; font-size: 26px; font-weight: 700; line-height: 1.2; }
.fdlm-seo-horaires span { display: block; }
/* Bouton : même contour que les boutons du site. */
.fdlm-seo-bloc a.fdlm-seo-bouton { display: inline-block; padding: 12px 24px; border: 1px solid #142451; background: transparent; color: #142451; font-size: 17px; line-height: 1.3; text-decoration: none; transition: background-color .3s, color .3s; }
.fdlm-seo-bouton::after { content: " →"; }
.fdlm-seo-bloc a.fdlm-seo-bouton:hover, .fdlm-seo-bloc a.fdlm-seo-bouton:focus { background: #142451; color: #F2E2D0; }
.fdlm-seo-bloc .fdlm-seo-nuit a.fdlm-seo-bouton { margin-top: 12px; border-color: #F2E2D0; color: #F2E2D0; }
.fdlm-seo-bloc .fdlm-seo-nuit a.fdlm-seo-bouton:hover, .fdlm-seo-bloc .fdlm-seo-nuit a.fdlm-seo-bouton:focus { background: #F2E2D0; color: #142451; }
/* Vente groupée. */
.fdlm-seo-bento { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.fdlm-seo-panneau { padding: 28px; text-align: left; }
.fdlm-seo-bento-grand { grid-column: 1 / -1; }
.fdlm-seo-bento-grand p { font-size: 20px; line-height: 1.45; }
.fdlm-seo-bloc ol.fdlm-seo-raisons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; counter-reset: fdlmseo; text-align: left; }
.fdlm-seo-raisons li { padding: 28px; background: #09132F; counter-increment: fdlmseo; }
.fdlm-seo-raisons li::before { content: counter(fdlmseo); display: block; margin-bottom: 14px; color: #F0B9F0; font-family: 'Decoy', serif; font-size: 52px; font-weight: 700; line-height: 1; }
.fdlm-seo-raisons strong, .fdlm-seo-frise strong { display: block; margin-bottom: 8px; font-family: 'Decoy', serif; font-size: 22px; font-weight: 500; line-height: 1.2; }
.fdlm-seo-raisons span, .fdlm-seo-frise span { display: block; }
/* À propos : fil central. */
.fdlm-seo-fil-central { position: relative; display: grid; gap: 72px; }
.fdlm-seo-fil-central::before { content: ""; position: absolute; left: 50%; top: 80px; bottom: 80px; width: 2px; margin-left: -1px; background: #142451; }
.fdlm-seo-fil-rang { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 112px; align-items: center; }
.fdlm-seo-fil-rang::before { content: ""; position: absolute; left: 50%; top: 50%; width: 28px; height: 28px; margin: -14px 0 0 -14px; background: #142451; }
.fdlm-seo-fil-inverse .fdlm-seo-fil-img { order: -1; }
.fdlm-seo-fil-img { position: relative; }
.fdlm-seo-fil-img img:not(.fdlm-seo-pastille) { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.fdlm-seo-fil-img .fdlm-seo-pastille { left: auto; right: -24px; }
.fdlm-seo-aop { text-align: center; }
.fdlm-seo-bloc .fdlm-seo-aop .fdlm-seo-chapo { max-width: 760px; margin: 0 auto 24px; }
.fdlm-seo-bloc .fdlm-seo-etiquettes { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0; padding: 0; list-style: none; }
.fdlm-seo-etiquettes a { display: block; padding: 10px 20px; color: #142451; font-family: 'Decoy', serif; font-size: 22px; font-weight: 500; line-height: 1.2; text-decoration: none; transition: background-color .3s, color .3s; }
.fdlm-seo-bloc .fdlm-seo-etiquettes a.fdlm-seo-ton-terre { color: #fff; }
.fdlm-seo-bloc .fdlm-seo-etiquettes a.fdlm-seo-ton-terre { font-weight: 700; }
.fdlm-seo-bloc .fdlm-seo-etiquettes a:hover, .fdlm-seo-bloc .fdlm-seo-etiquettes a:focus { background: #142451; color: #F2E2D0; }
/* Autres fromages : Gaperon. */
.fdlm-seo-gaperon { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 64px; align-items: center; }
.fdlm-seo-gaperon-img { position: relative; }
.fdlm-seo-gaperon-img img:not(.fdlm-seo-pastille) { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
/* Terrines. */
.fdlm-seo-exergue { padding: 104px max(20px, calc((100% - 960px) / 2)) 0; text-align: center; }
.fdlm-seo-bloc .fdlm-seo-exergue blockquote { margin: 0; padding: 0; border: 0; color: #DA010C; font-family: 'Decoy', serif; font-size: clamp(32px, 5vw, 60px); font-style: normal; font-weight: 700; line-height: 1.05; }
.fdlm-seo-exergue blockquote::before { content: "« "; }
.fdlm-seo-exergue blockquote::after { content: " »"; }
.fdlm-seo-duo-texte { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 56px; align-items: start; }
.fdlm-seo-bloc ul.fdlm-seo-saveurs { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
.fdlm-seo-saveurs li { padding: 6px 14px; background: #fff; font-weight: 700; }
.fdlm-seo-bloc ol.fdlm-seo-frise { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; margin: 0; padding: 0; list-style: none; }
.fdlm-seo-frise::before { content: ""; position: absolute; left: 0; right: 0; top: 7px; height: 2px; background: #F2E2D0; }
.fdlm-seo-frise li { position: relative; padding-top: 36px; }
.fdlm-seo-frise li::before { content: ""; position: absolute; left: 0; top: 0; width: 16px; height: 16px; background: #F0B9F0; }
.fdlm-seo-frise strong { color: #F0B9F0; }
/* Catégories et fiches : titre sur la couleur de la famille, texte à côté. */
.fdlm-seo-bande, .fdlm-seo-plus .fdlm-seo-bloc:has(> h2) { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 0; align-items: stretch; background: none; }
.fdlm-seo-bloc.fdlm-seo-bande > h2, .fdlm-seo-plus .fdlm-seo-bloc > h2 { display: block; max-width: none; margin: 0; padding: 40px; background: #F2E2D0; font-size: 28px; text-align: left; }
.fdlm-seo-bloc.fdlm-seo-ton-ciel > h2 { background: #BFD0DB; }
.fdlm-seo-bloc.fdlm-seo-ton-sauge > h2 { background: #BBC3B4; }
.fdlm-seo-bloc.fdlm-seo-ton-miel > h2 { background: #FFE7B9; }
.fdlm-seo-bloc.fdlm-seo-ton-sable > h2 { background: #EDCBA5; }
.fdlm-seo-bloc.fdlm-seo-ton-terre > h2 { background: #A57C4F; color: #fff; }
.fdlm-seo-ton-terre > h2 .fdlm-seo-mot { color: #FFE7B9; }
.fdlm-seo-bande-txt, .fdlm-seo-plus .fdlm-seo-bloc:has(> h2) > p { align-self: stretch; max-width: none; margin: 0; padding: 40px; background: #fff; text-align: left; }
.fdlm-seo-plus .fdlm-seo-bloc:has(> h2) > p { grid-column: 2; }
.fdlm-seo-plus .fdlm-seo-bloc:has(> h2) > h2 { grid-row: 1 / span 3; }
.fdlm-seo-plus .fdlm-seo-bloc:has(> h2) > p + p { padding-top: 0; }
.fdlm-seo-plus .fdlm-seo-bloc:not(:has(h2)) { padding-top: 32px; padding-bottom: 32px; }
@media (prefers-reduced-motion: reduce) {
	.fdlm-seo-tuile-img img, .fdlm-seo-tuile-txt, .fdlm-seo-bouton, .fdlm-seo-etiquettes a { transition: none; }
	.fdlm-seo-tuile:hover .fdlm-seo-tuile-img img, .fdlm-seo-tuile:hover .fdlm-seo-tuile-txt { transform: none; }
}
@media (max-width: 1024px) {
	.fdlm-seo-une { gap: 40px; }
	.fdlm-seo-terroir, .fdlm-seo-gaperon { gap: 40px; }
	.fdlm-seo-engagements { gap: 32px; }
	.fdlm-seo-fil-rang { gap: 80px; }
	.fdlm-seo-chiffres li { grid-template-columns: 96px minmax(0, 1fr); padding: 18px; }
	.fdlm-seo-chiffres strong { font-size: 34px; }
	.fdlm-seo-vitrine { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fdlm-seo-vitrine > :nth-child(3n+2) { margin-top: 0; }
	.fdlm-seo-vitrine > :nth-child(even) { margin-top: 40px; }
}
@media (max-width: 767px) {
	html body .fdlm-seo-conteneur.e-con { margin-top: 48px; }
	.fdlm-seo-bloc { padding: 48px 16px; }
	.fdlm-seo-riche { padding: 0; }
	.fdlm-seo-sec { padding: 48px 16px; }
	.fdlm-seo-serre { padding-top: 0; }
	.fdlm-seo-chapo { font-size: 18px; }
	.fdlm-seo-une { grid-template-columns: minmax(0, 1fr); gap: 32px; padding: 48px 16px 0; }
	.fdlm-seo-une-img::before { left: -8px; bottom: -8px; }
	.fdlm-seo-bloc img.fdlm-seo-pastille { left: auto; right: 8px; top: -32px; width: 88px; height: 88px; }
	.fdlm-seo-bloc h3.fdlm-seo-intertitre { margin-bottom: 28px; font-size: 26px; }
	.fdlm-seo-bloc p.fdlm-seo-note { margin-top: 32px; text-align: left; }
	.fdlm-seo-bloc p.fdlm-seo-note-haut { margin: -12px 0 28px; }
	.fdlm-seo-plateau, .fdlm-seo-vitrine { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.fdlm-seo-l7, .fdlm-seo-l5 { grid-column: 1; }
	.fdlm-seo-decale, .fdlm-seo-decale-haut, .fdlm-seo-vitrine > :nth-child(n) { margin-top: 0; }
	.fdlm-seo-tuile-txt, .fdlm-seo-vitrine .fdlm-seo-tuile-txt { width: calc(100% - 16px); margin: -32px 0 0 16px; padding: 20px; }
	.fdlm-seo-terroir, .fdlm-seo-gaperon, .fdlm-seo-engagements, .fdlm-seo-duo-texte, .fdlm-seo-boutique { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.fdlm-seo-boutique { gap: 0; }
	.fdlm-seo-boutique-img img { min-height: 220px; }
	.fdlm-seo-boutique-txt { padding: 32px 16px 40px; }
	.fdlm-seo-eng-g { position: static; }
	.fdlm-seo-bloc .fdlm-seo-engagements h3.fdlm-seo-intertitre { font-size: 30px; }
	.fdlm-seo-eng-g img { aspect-ratio: 16 / 9; }
	.fdlm-seo-index li { grid-template-columns: 52px minmax(0, 1fr); gap: 4px 14px; }
	.fdlm-seo-bloc .fdlm-seo-index .fdlm-seo-picto { width: 52px; height: 32px; }
	.fdlm-seo-bloc .fdlm-seo-index h3 { font-size: 20px; }
	.fdlm-seo-bloc ol.fdlm-seo-raisons, .fdlm-seo-bloc ol.fdlm-seo-frise, .fdlm-seo-bento { grid-template-columns: minmax(0, 1fr); }
	.fdlm-seo-frise::before { left: 7px; right: auto; top: 8px; bottom: 8px; width: 2px; height: auto; }
	.fdlm-seo-frise li { padding: 0 0 0 36px; }
	.fdlm-seo-bloc ol.fdlm-seo-frise { gap: 32px; }
	.fdlm-seo-fil-central { gap: 48px; }
	.fdlm-seo-fil-central::before, .fdlm-seo-fil-rang::before { display: none; }
	.fdlm-seo-fil-rang { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.fdlm-seo-fil-inverse .fdlm-seo-fil-img { order: 0; }
	.fdlm-seo-fil-img { order: -1; }
	.fdlm-seo-fil-img .fdlm-seo-pastille { right: 8px; }
	.fdlm-seo-bloc h2.fdlm-seo-long { font-size: 24px; }
	.fdlm-seo-etiquettes a { padding: 8px 14px; font-size: 19px; }
	.fdlm-seo-exergue { padding: 56px 16px 0; }
	.fdlm-seo-bande, .fdlm-seo-plus .fdlm-seo-bloc:has(> h2) { grid-template-columns: minmax(0, 1fr); }
	.fdlm-seo-bloc.fdlm-seo-bande > h2, .fdlm-seo-plus .fdlm-seo-bloc > h2 { padding: 24px 20px; font-size: 24px; }
	.fdlm-seo-bande-txt, .fdlm-seo-plus .fdlm-seo-bloc:has(> h2) > p { padding: 24px 20px; }
	.fdlm-seo-plus .fdlm-seo-bloc:has(> h2) > p { grid-column: 1; }
	.fdlm-seo-plus .fdlm-seo-bloc:has(> h2) > h2 { grid-row: auto; }
}

/* 02/11 : À propos, équipe : le survol ou le clic montre la photo avec le fromage, le nom du fromage reste lisible. */
html body .hover-contact::before { opacity: 0 !important; }
.fdlm-equipe-photo { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; object-position: center top; opacity: 0; transition: opacity .35s ease; pointer-events: none; }
html body .hover-contact.is-open .fdlm-equipe-photo { opacity: 1; }
html body .hover-contact > .name-hover, html body .hover-contact > .text-hover { position: relative; z-index: 2; }
html body .hover-contact [class*="bulle"] {
	inset: auto 0 0 0 !important;
	padding: 10px 12px 12px !important;
	rotate: none !important;
	text-align: left !important;
	transform: translateY(8px) !important;
}
html body .hover-contact [class*="bulle"]::before {
	position: static !important;
	width: auto !important;
	height: auto !important;
	margin: 0 0 2px !important;
	background: none !important;
	transform: none !important;
}
html body .hover-contact [class*="bulle"], html body .hover-contact [class*="bulle"] * { font-size: 15px !important; }
html body .hover-contact.is-open [class*="bulle"] { transform: none !important; }
@media (hover: hover) {
	html body .hover-contact:hover .fdlm-equipe-photo { opacity: 1; }
	html body .hover-contact:hover [class*="bulle"] { transform: none !important; }
}
@media (prefers-reduced-motion: reduce) { .fdlm-equipe-photo { transition: none; } }
/* 02/11 : Fiches produit : mise en forme de la description venue du back-office (texte inchangé). */
.single-product .elementor-widget-woocommerce-product-content { box-sizing: border-box; padding: 56px 48px; background: #FDF0E3; color: #142451; font-size: 16px; line-height: 1.65; }
.single-product .elementor-widget-woocommerce-product-content p, .single-product .elementor-widget-woocommerce-product-content li { text-align: left !important; }
.single-product .elementor-widget-woocommerce-product-content:has(> h2) { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: 56px; align-items: start; }
.single-product .elementor-widget-woocommerce-product-content:has(> h2) > * { grid-column: 2; margin: 0 0 14px; }
.single-product .elementor-widget-woocommerce-product-content:has(> h2) > h2 {
	position: relative;
	grid-column: 1;
	margin: 0;
	padding: 28px 0 28px 30px;
	border-top: 1px solid rgba(20, 36, 81, .25);
	color: #142451;
	font-family: 'Decoy', serif;
	font-size: 26px;
	font-weight: 500;
	line-height: 1.2;
}
.single-product .elementor-widget-woocommerce-product-content > h2::before { content: ""; position: absolute; left: 0; top: 37px; width: 14px; height: 14px; background: #DA010C; }
.single-product .elementor-widget-woocommerce-product-content > h2 strong { font-weight: inherit; }
.single-product .elementor-widget-woocommerce-product-content:has(> h2) > h2 + * { padding-top: 28px; border-top: 1px solid rgba(20, 36, 81, .25); }
.single-product .elementor-widget-woocommerce-product-content > h2:first-child, .single-product .elementor-widget-woocommerce-product-content:has(> h2) > h2:first-child + * { padding-top: 0; border-top: 0; }
.single-product .elementor-widget-woocommerce-product-content > h2:first-child::before { top: 9px; }
.single-product .elementor-widget-woocommerce-product-content:has(> h2) > :last-child { margin-bottom: 0; }
.single-product .elementor-widget-woocommerce-product-content a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.single-product .elementor-widget-woocommerce-product-content a:hover, .single-product .elementor-widget-woocommerce-product-content a:focus { color: #DA010C; }
@media (max-width: 767px) {
	.single-product .elementor-widget-woocommerce-product-content { padding: 32px 16px; }
	.single-product .elementor-widget-woocommerce-product-content:has(> h2) { display: block; }
	.single-product .elementor-widget-woocommerce-product-content:has(> h2) > h2 { padding: 24px 0 10px 24px; font-size: 22px; }
	.single-product .elementor-widget-woocommerce-product-content > h2::before { top: 31px; width: 12px; height: 12px; }
	.single-product .elementor-widget-woocommerce-product-content:has(> h2) > h2 + * { padding-top: 0; border-top: 0; }
}
@media (max-width: 767px) {
	.fdlm-equipe-photo { object-position: center 70%; }
	html body .hover-contact [class*="bulle"] { padding: 6px 8px 8px !important; }
	html body .hover-contact [class*="bulle"]::before { display: none !important; }
	html body .hover-contact [class*="bulle"], html body .hover-contact [class*="bulle"] * { font-size: 14px !important; }
}
/* 02/11 : Bandeau des catégories : l'image remplit toujours son cadre. */
html body .elementor-element-71cfac72,
html body .elementor-element-726f7a2d,
html body .elementor-element-0c9988e,
html body .elementor-element-70c59233,
html body .elementor-element-32003838,
html body .elementor-element-674ad43d,
html body .elementor-element-83de9db,
html body .elementor-element-335f1016,
html body .elementor-element-7dfe856a,
html body .elementor-element-574ad1e5,
html body .elementor-element-11dfe6e,
html body .elementor-element-5e0f212,
html body .elementor-element-9f577b3,
html body .elementor-element-e565506,
html body .elementor-element-93f322e,
html body .elementor-element-e7ee960,
html body .elementor-element-64ca810,
html body .elementor-element-3b44758,
html body .elementor-element-8d63ebf,
html body .elementor-element-2d6e855,
html body .elementor-element-fa9ca70,
html body .elementor-element-e8d8fd5,
html body .elementor-element-7e94664e,
html body .elementor-element-2d25ed90,
html body .elementor-element-7e4def27,
html body .elementor-element-1a58b04e,
html body .elementor-element-73fb0e47,
html body .elementor-element-20588ad9 { background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
/* 02/11 : Accueil, mobile : le titre tient sans toucher les bords. */
@media (max-width: 767px) {
	html body .elementor-2377 .elementor-element-8651130 .elementor-heading-title { font-size: min(28px, 7.2vw) !important; line-height: 1.15 !important; }
}
/* 02/11 : Équipe : le nom du fromage prend la place du bandeau pendant l'ouverture, la photo reste visible. */
html body .hover-contact.is-open > .name-hover, html body .hover-contact.is-open > .text-hover { visibility: hidden; }
@media (hover: hover) {
	html body .hover-contact:hover > .name-hover, html body .hover-contact:hover > .text-hover { visibility: hidden; }
}
/* 02/11 : Fiches produit sans sous-titres : le premier paragraphe sert d'accroche à gauche, la suite à droite. */
.single-product .elementor-widget-woocommerce-product-content:not(:has(> h2)):has(> p + p) { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 0 56px; align-items: start; }
.single-product .elementor-widget-woocommerce-product-content:not(:has(> h2)):has(> p + p) > * { grid-column: 2; margin: 0 0 14px; }
.single-product .elementor-widget-woocommerce-product-content:not(:has(> h2)) > p:first-child { margin: 0; color: #142451; font-family: 'Decoy', serif; font-size: 24px; font-weight: 500; line-height: 1.3; }
.single-product .elementor-widget-woocommerce-product-content:not(:has(> h2)):has(> p + p) > p:first-child { grid-column: 1; grid-row: 1 / span 30; padding-left: 30px; border-left: 4px solid #DA010C; }
.single-product .elementor-widget-woocommerce-product-content:not(:has(> h2)) > p:first-child strong { font-weight: inherit; }
.single-product .elementor-widget-woocommerce-product-content:not(:has(> h2)):has(> p + p) > :last-child { margin-bottom: 0; }
.single-product .elementor-widget-woocommerce-product-content:not(:has(> h2)):not(:has(> p + p)) > p:first-child { max-width: 820px; margin: 0 auto; text-align: center !important; }
@media (max-width: 767px) {
	.single-product .elementor-widget-woocommerce-product-content:not(:has(> h2)):has(> p + p) { display: block; }
	.single-product .elementor-widget-woocommerce-product-content:not(:has(> h2)) > p:first-child { font-size: 20px; }
	.single-product .elementor-widget-woocommerce-product-content:not(:has(> h2)):has(> p + p) > p:first-child { margin-bottom: 20px; padding-left: 16px; }
}
/* 02/11 : Équipe : bouton rond, plus et croix dessinés pour rester centrés. */
html:not(#fdlm-r):not(#fdlm-s):not(#fdlm-t) body .hover-contact::after {
	content: "";
	border-radius: 50% !important;
	background:
		linear-gradient(#fff, #fff) center / 14px 2px no-repeat,
		linear-gradient(#fff, #fff) center / 2px 14px no-repeat,
		#142451;
}

/* 02/11 : Accueil : bloc Société Laitière de Laqueuille. */
.fdlm-seo-laqueuille { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 64px; align-items: center; background: #F2E2D0; }
.fdlm-seo-bloc .fdlm-seo-laqueuille h3.fdlm-seo-intertitre { margin-bottom: 20px; }
.fdlm-seo-laqueuille .fdlm-seo-bouton { margin-top: 12px; }
.fdlm-seo-laqueuille-img { position: relative; }
.fdlm-seo-laqueuille-img::before { content: ""; position: absolute; right: -16px; top: -16px; width: 60%; height: 70%; background: #142451; }
.fdlm-seo-laqueuille-img img { position: relative; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
@media (max-width: 767px) {
	.fdlm-seo-laqueuille { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.fdlm-seo-laqueuille-img::before { right: -8px; top: -8px; }
}

/* 02/11 : Accueil : repères Laqueuille, garanties au survol, téléphone de la boutique. */
.fdlm-seo-bloc ul.fdlm-seo-reperes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 24px 0; padding: 0; list-style: none; }
.fdlm-seo-reperes li { padding: 14px 16px; background: #FDF0E3; }
.fdlm-seo-reperes strong { display: block; font-family: 'Decoy', serif; font-size: 24px; font-weight: 700; line-height: 1.1; transform: translateY(-.06em); }
.fdlm-seo-reperes span { display: block; font-size: 14px; line-height: 1.3; }
/* 04/11 (cliente : « le hover qui rend le fond blanc j'aime pas trop, juste un léger zoom avant ») : plus de fond blanc. */
@media (hover: hover) {
	.fdlm-seo-index li > * { transition: transform .35s ease; transform-origin: left center; }
	.fdlm-seo-index li:hover > * { transform: scale(1.03); }
}
.fdlm-seo-bloc p.fdlm-seo-tel { margin: -8px 0 24px; }
.fdlm-seo-bloc p.fdlm-seo-tel a { font-family: 'Decoy', serif; font-size: 26px; font-weight: 700; line-height: 1.2; text-decoration: none; }
.fdlm-seo-bloc p.fdlm-seo-tel a:hover, .fdlm-seo-bloc p.fdlm-seo-tel a:focus { color: #142451; text-decoration: underline; }
@media (prefers-reduced-motion: reduce) { .fdlm-seo-index li > * { transition: none; } }
@media (max-width: 767px) {
	.fdlm-seo-bloc ul.fdlm-seo-reperes { gap: 8px; }
	.fdlm-seo-reperes li { padding: 10px; }
	.fdlm-seo-reperes strong { font-size: 19px; }
	.fdlm-seo-reperes span { font-size: 13px; }
}
/* 02/11 : Tablette : blocs de l'accueil empilés, deux colonnes étaient trop serrées. */
@media (min-width: 768px) and (max-width: 1024px) {
	.fdlm-seo-une { grid-template-columns: minmax(0, 1fr); gap: 40px; padding: 64px 32px 0; }
	.fdlm-seo-une-img img:not(.fdlm-seo-pastille) { aspect-ratio: 16 / 9; }
	.fdlm-seo-bloc img.fdlm-seo-pastille { left: auto; right: 32px; top: -40px; }
	.fdlm-seo-sec { padding: 64px 32px; }
	.fdlm-seo-serre { padding-top: 0; }
	.fdlm-seo-l7, .fdlm-seo-l5 { grid-column: span 6; }
	.fdlm-seo-decale { margin-top: 48px; }
	.fdlm-seo-terroir, .fdlm-seo-laqueuille, .fdlm-seo-gaperon, .fdlm-seo-duo-texte { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.fdlm-seo-bloc .fdlm-seo-chiffres { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.fdlm-seo-chiffres li { grid-template-columns: minmax(0, 1fr); gap: 8px; align-content: start; }
	.fdlm-seo-chiffres strong { font-size: 44px; }
	.fdlm-seo-laqueuille-img img { aspect-ratio: 16 / 9; }
	.fdlm-seo-gaperon-img { max-width: 420px; }
	.fdlm-seo-engagements { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.fdlm-seo-eng-g { position: static; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: center; }
	.fdlm-seo-bloc .fdlm-seo-engagements h3.fdlm-seo-intertitre { margin: 0; }
	.fdlm-seo-boutique { grid-template-columns: minmax(0, 1fr); }
	.fdlm-seo-boutique-img img { min-height: 0; height: auto; aspect-ratio: 16 / 9; }
	.fdlm-seo-boutique-txt { padding: 48px 32px; }
}

/* 02/11 : Titres de catégorie : surlignage à la couleur de la rubrique, lignes assez espacées pour ne rien couper. */
body.tax-product_cat .elementor-heading-title:has(span[style*="#F0B9F0" i], span[style*="#FFE7B9" i], span[style*="#BBC3B4" i], span[style*="#BFD0DB" i]) { line-height: 1.5 !important; }

/* 02/11 : Titres : lignes équilibrées, plus de mot isolé sur la dernière ligne. */
.elementor-heading-title, .fdlm-seo-bloc h2, .fdlm-seo-bloc h3 { text-wrap: balance; }

/* 02/11 : Cartes d'articles et de recettes : tout le bloc est cliquable. */
html body .elementor-3431 .fdlm-editorial-card,
html body .elementor-3392.e-loop-item { position: relative; cursor: pointer; }
html body .elementor-3431 .fdlm-card-copy,
html body .elementor-3431 .fdlm-card-read,
html body .elementor-3431 .fdlm-card-read .elementor-button,
html body .elementor-3392 .e-con,
html body .elementor-3392 .e-con-inner,
html body .elementor-3392 .elementor-widget-button,
html body .elementor-3392 .elementor-button { position: static; }
html body .elementor-3431 .fdlm-card-read .elementor-button::after,
html body .elementor-3392 .elementor-widget-button .elementor-button::after { content: ""; position: absolute; inset: 0; z-index: 2; }
/* L'icône décorative qui chevauche le haut du carrousel de recettes ne bloque pas le clic. */
html body .elementor-element-4e2783f { pointer-events: none; }

/* 02/11 : Surlignage : ligne plus haute que le fond surligné, pour ne jamais rogner les lettres de la ligne au-dessus. */
html body.page-id-2707 .elementor-heading-title { line-height: 1.5 !important; }

/* 02/11 : Description des fiches : ni fond, ni carré rouge, ni barre rouge. */
html body.single-product .elementor-widget-woocommerce-product-content { padding: 40px 0; background: transparent; }
html body.single-product .elementor-widget-woocommerce-product-content > h2::before { content: none; }
html body.single-product .elementor-widget-woocommerce-product-content:has(> h2) > h2 { padding-left: 0; }
html body.single-product .elementor-widget-woocommerce-product-content:not(:has(> h2)):has(> p + p) > p:first-child { padding-left: 0; border-left: 0; }
@media (max-width: 767px) {
	html body.single-product .elementor-widget-woocommerce-product-content { padding: 24px 0; }
}

/* 02/11 : Pied de page : jamais un mot ou un point d'interrogation seul sur la deuxième ligne. */
html body .elementor-location-footer, html body .elementor-location-footer * { text-wrap: balance !important; }
html body .elementor-location-footer a[href^="tel:"] { white-space: nowrap; }

/* 02/11 : Carrousels : sur mobile et tablette, flèches sous les cartes pour ne pas couvrir le contenu. */
@media (max-width: 1024px) {
	html body .elementor-widget-loop-carousel { padding-bottom: 60px; }
	html body .elementor-widget-loop-carousel .swiper-pagination { display: none; }
	html body .elementor-widget-loop-carousel .elementor-swiper-button { top: auto !important; bottom: 0 !important; width: 44px; height: 44px; transform: none !important; }
	html body .elementor-widget-loop-carousel .elementor-swiper-button-prev { right: auto !important; left: calc(50% - 50px) !important; }
	html body .elementor-widget-loop-carousel .elementor-swiper-button-next { right: calc(50% - 50px) !important; left: auto !important; }
}

/* 02/11 : Boutons vente groupée : la flèche suit le texte (elle disparaissait au survol). */
html body a.elementor-button[href="#creer-une-commande"] svg, html body a.elementor-button[href="#rejoindre-une-commande"] svg, html body a.elementor-button[href="#creer-une-commande"] svg path, html body a.elementor-button[href="#rejoindre-une-commande"] svg path, html body a.elementor-button[href="#creer-une-commande"] svg polygon, html body a.elementor-button[href="#rejoindre-une-commande"] svg polygon { fill: currentColor !important; }
html body a.elementor-button[href="#creer-une-commande"]:hover, html body a.elementor-button[href="#rejoindre-une-commande"]:hover, html body a.elementor-button[href="#creer-une-commande"]:focus-visible, html body a.elementor-button[href="#rejoindre-une-commande"]:focus-visible { background-color: #F2E2D0 !important; border-color: #F2E2D0 !important; color: #142451 !important; }
html body a.elementor-button[href="#creer-une-commande"]:hover .elementor-button-text, html body a.elementor-button[href="#rejoindre-une-commande"]:hover .elementor-button-text, html body a.elementor-button[href="#creer-une-commande"]:focus-visible .elementor-button-text, html body a.elementor-button[href="#rejoindre-une-commande"]:focus-visible .elementor-button-text { color: #142451 !important; }
@media (hover: none) {
	html body a.elementor-button[href="#creer-une-commande"]:hover { background-color: #F0B9F0 !important; border-color: #F0B9F0 !important; color: #142451 !important; }
	html body a.elementor-button[href="#creer-une-commande"]:hover .elementor-button-text { color: #142451 !important; }
	html body a.elementor-button[href="#rejoindre-une-commande"]:hover { background-color: transparent !important; border-color: #F2E2D0 !important; color: #F2E2D0 !important; }
	html body a.elementor-button[href="#rejoindre-une-commande"]:hover .elementor-button-text { color: #F2E2D0 !important; }
}

/* 02/11 : Guides des catégories. */
html body .fdlm-guide-conteneur.e-con { width: 100%; max-width: none; margin: 0; padding: 0; }
.fdlm-guide-conteneur > .elementor-widget { width: 100%; margin: 0; }
.fdlm-guide { padding: 96px max(20px, calc((100% - 1140px) / 2)) 0; background: linear-gradient(#142451 0, #142451 calc(100% - 280px), #FDF0E3 calc(100% - 280px)); color: #FDF0E3; }
.fdlm-guide-tete { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 64px; align-items: end; margin-bottom: 56px; }
.fdlm-guide p.fdlm-guide-sur { margin: 0 0 12px; color: var(--fdlm-cat-clair, #F0B9F0); font-size: 15px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.fdlm-guide h2 { margin: 0; color: #FDF0E3; font-family: 'hoss-sharp', sans-serif; font-size: clamp(30px, 3.2vw, 40px); font-weight: 700; line-height: 1.15; text-wrap: balance; }
.fdlm-guide-mot { color: var(--fdlm-cat-clair, #F0B9F0); font-family: 'Decoy', serif; font-weight: 700; }
.fdlm-guide p.fdlm-guide-chapo { margin: 0; color: #FDF0E3; font-size: 18px; line-height: 1.6; }
.fdlm-guide a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.fdlm-guide-table { width: 100%; margin: 0 0 48px; border-collapse: collapse; background: #FDF0E3; color: #142451; font-size: 16px; line-height: 1.5; }
.fdlm-guide-table caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.fdlm-guide-table th, .fdlm-guide-table td { padding: 20px 24px; border: 0; border-bottom: 1px solid rgba(20, 36, 81, .2); background: transparent; color: #142451; text-align: left; vertical-align: top; }
.fdlm-guide-table thead th { background: var(--fdlm-cat, #F0B9F0); color: var(--fdlm-cat-tx, #142451); font-family: 'Decoy', serif; font-size: 22px; font-weight: 700; line-height: 1.25; }
.fdlm-guide-table thead td { background: var(--fdlm-cat, #F0B9F0); }
.fdlm-guide-table tbody th { width: 28%; font-weight: 700; }
.fdlm-guide-table tbody tr:last-child th, .fdlm-guide-table tbody tr:last-child td { border-bottom: 0; }
.fdlm-guide-table tbody tr, .fdlm-guide-table tbody tr:nth-child(2n+1), .fdlm-guide-table tbody tr:nth-child(odd) > th, .fdlm-guide-table tbody tr:nth-child(odd) > td { background: #FDF0E3; }
.fdlm-guide-table a:hover, .fdlm-guide-table a:focus { color: #DA010C; }
.fdlm-guide-reperes { display: grid; grid-auto-columns: minmax(0, 1fr); grid-auto-flow: column; gap: 32px; margin: 0 0 48px; padding: 0; list-style: none; }
.fdlm-guide-reperes li { padding-top: 16px; border-top: 2px solid var(--fdlm-cat-clair, #F0B9F0); }
.fdlm-guide-reperes strong { display: block; margin-bottom: 8px; color: var(--fdlm-cat-clair, #F0B9F0); font-family: 'Decoy', serif; font-size: 36px; font-weight: 700; line-height: 1.1; }
.fdlm-guide-reperes span { display: block; font-size: 16px; line-height: 1.5; }
.fdlm-guide-cartes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 20px; margin: 0 0 48px; }
.fdlm-guide a.fdlm-guide-carte { display: flex; flex-direction: column; padding: 28px 24px; background: #FDF0E3; color: #142451; text-decoration: none; transition: background-color .25s ease, transform .25s ease; }
.fdlm-guide-carte-haut { margin-bottom: 20px; padding-bottom: 12px; border-bottom: 2px solid var(--fdlm-cat, #F0B9F0); font-size: 14px; font-weight: 700; }
.fdlm-guide-carte-titre { margin-bottom: 10px; font-family: 'Decoy', serif; font-size: 24px; font-weight: 700; line-height: 1.2; text-wrap: balance; }
.fdlm-guide-carte-txt { flex: 1; margin-bottom: 20px; font-size: 15px; line-height: 1.5; }
.fdlm-guide-carte-lien { font-size: 14px; font-weight: 700; }
.fdlm-guide-carte-lien::after { content: " →"; }
.fdlm-guide a.fdlm-guide-carte:hover, .fdlm-guide a.fdlm-guide-carte:focus { background: #fff; color: #142451; transform: translateY(-6px); }
.fdlm-guide p.fdlm-guide-note { max-width: 760px; margin: 0 0 56px; color: #FDF0E3; font-size: 17px; line-height: 1.6; }
.fdlm-guide-voisines { padding-bottom: 72px; }
.fdlm-guide .fdlm-guide-voisines h3 { margin: 0 0 24px; color: #FDF0E3; font-family: 'Decoy', serif; font-size: 26px; font-weight: 700; line-height: 1.2; }
.fdlm-guide-tuiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.fdlm-guide-tuiles:has(> :only-child) { grid-template-columns: minmax(0, 1fr); max-width: 372px; }
.fdlm-guide a.fdlm-guide-tuile { position: relative; display: block; overflow: hidden; color: #142451; text-decoration: none; }
.fdlm-guide-tuile img { display: block; width: 100%; height: 280px; object-fit: cover; transition: transform .5s ease; }
.fdlm-guide-tuile span { position: absolute; left: 0; bottom: 0; padding: 10px 18px; background: #FDF0E3; font-family: 'Decoy', serif; font-size: 20px; font-weight: 700; line-height: 1.2; }
.fdlm-guide-tuile:hover img, .fdlm-guide-tuile:focus img { transform: scale(1.05); }
.fdlm-guide-carte:focus-visible, .fdlm-guide-tuile:focus-visible, .fdlm-guide-table a:focus-visible { outline: 2px solid #F0B9F0; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .fdlm-guide a.fdlm-guide-carte, .fdlm-guide-tuile img { transition: none; } .fdlm-guide a.fdlm-guide-carte:hover, .fdlm-guide-tuile:hover img { transform: none; } }
@media (max-width: 1024px) {
	.fdlm-guide { padding-right: 32px; padding-left: 32px; padding-top: 64px; }
	.fdlm-guide-tete { grid-template-columns: minmax(0, 1fr); gap: 20px; margin-bottom: 40px; }
	.fdlm-guide-cartes:has(> :nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.fdlm-guide { padding: 48px 16px 0; background: linear-gradient(#142451 0, #142451 calc(100% - 120px), #FDF0E3 calc(100% - 120px)); }
	.fdlm-guide p.fdlm-guide-chapo { font-size: 16px; }
	.fdlm-guide-table, .fdlm-guide-table tbody, .fdlm-guide-table tr, .fdlm-guide-table th, .fdlm-guide-table td { display: block; width: 100%; box-sizing: border-box; }
	.fdlm-guide-table thead { display: none; }
	.fdlm-guide-table tbody tr { padding: 16px; border-bottom: 8px solid #142451; }
	.fdlm-guide-table tbody tr:last-child { border-bottom: 0; }
	.fdlm-guide-table tbody th { width: 100%; padding: 0 0 12px; border: 0; font-family: 'Decoy', serif; font-size: 20px; }
	.fdlm-guide-table td { padding: 8px 0; border: 0; border-top: 1px solid rgba(20, 36, 81, .2); }
	.fdlm-guide-table td::before { content: attr(data-label); display: block; margin-bottom: 2px; font-size: 13px; font-weight: 700; }
	.fdlm-guide-cartes:has(> :nth-child(4):last-child) { grid-template-columns: minmax(0, 1fr); }
	.fdlm-guide-reperes { grid-auto-flow: row; gap: 20px; }
	.fdlm-guide-reperes strong { font-size: 30px; }
	.fdlm-guide-tuiles { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.fdlm-guide-tuiles:has(> :only-child) { max-width: none; }
	.fdlm-guide-tuile img { height: 180px; }
	.fdlm-guide-voisines { padding-bottom: 32px; }
}

/* 02/11 : Catégories : sections sous la grille plus lisibles, photos avec un décalage à la couleur de la rubrique. */
html body.tax-product_cat .e-parent:has(.products) ~ .e-parent:has(.elementor-widget-heading) .elementor-widget-text-editor p,
html body.tax-product_cat .e-parent:has(.products) ~ .e-parent:has(.elementor-widget-heading) .elementor-widget-text-editor li { text-align: left !important; font-size: 17px; line-height: 1.65; }
html body.tax-product_cat .e-parent:has(.products) ~ .e-parent:has(.elementor-widget-heading) .elementor-widget-heading .elementor-heading-title { text-align: left !important; }
html body.tax-product_cat .e-parent:has(.products) ~ .e-parent:has(> .e-con-inner > .e-con:nth-child(2)) { padding-top: 40px; padding-bottom: 40px; }
html body.tax-product_cat .e-parent:has(.products) ~ .e-parent:has(> .e-con-inner > .e-con:only-child):has(.elementor-widget-heading):not(.fdlm-guide-conteneur) > .e-con-inner { max-width: 1140px !important; }
html body.tax-product_cat .e-parent:has(.products) ~ .e-parent:has(> .e-con-inner > .e-con:only-child):has(.elementor-widget-heading):not(.fdlm-guide-conteneur) .elementor-widget-text-editor { max-width: 800px; }
html body.tax-product_cat .e-parent:has(.products) ~ .e-parent .e-con:not(:has(*)):first-child { box-shadow: 12px 12px 0 var(--fdlm-cat, #F0B9F0); }
html body.tax-product_cat .e-parent:has(.products) ~ .e-parent .e-con:not(:has(*)):last-child { box-shadow: -12px 12px 0 var(--fdlm-cat, #F0B9F0); }
html body.tax-product_cat .e-parent:has(.products) ~ .e-parent .e-con:not(:has(*)) { background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
@media (max-width: 1024px) {
	html body.tax-product_cat .e-parent:has(.products) ~ .e-parent .e-con:not(:has(*)) { min-height: 300px; }
}
@media (max-width: 767px) {
	html body.tax-product_cat .e-parent:has(.products) ~ .e-parent .e-con:not(:has(*)):first-child,
	html body.tax-product_cat .e-parent:has(.products) ~ .e-parent .e-con:not(:has(*)):last-child { box-shadow: 0 8px 0 var(--fdlm-cat, #F0B9F0); }
	html body.tax-product_cat .e-parent:has(.products) ~ .e-parent:has(.elementor-widget-heading) .elementor-widget-text-editor p { font-size: 16px; }
}

/* 02/11 : Catégories : blocs de texte, titre à gauche. */
html body.tax-product_cat .e-parent:has(.products) ~ .e-parent:has(> .e-con-inner > .e-con:only-child > .elementor-widget-heading):not(.fdlm-guide-conteneur) { padding-top: 72px; padding-bottom: 72px; background: #FDF0E3; }
html body.tax-product_cat .e-parent:has(.products) ~ .e-parent:has(> .e-con-inner > .e-con:only-child > .elementor-widget-heading):not(.fdlm-guide-conteneur) > .e-con-inner { max-width: 1140px !important; }
html body.tax-product_cat .e-parent:has(.products) ~ .e-parent:has(> .e-con-inner > .e-con:only-child > .elementor-widget-heading):not(.fdlm-guide-conteneur) > .e-con-inner > .e-con { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 48px 72px; align-items: start; width: 100%; }
html body.tax-product_cat .e-parent:has(.products) ~ .e-parent:has(> .e-con-inner > .e-con:only-child > .elementor-widget-heading):not(.fdlm-guide-conteneur) > .e-con-inner > .e-con > * { grid-column: 2; width: 100%; max-width: none; margin: 0; }
html body.tax-product_cat .e-parent:has(.products) ~ .e-parent:has(> .e-con-inner > .e-con:only-child > .elementor-widget-heading):not(.fdlm-guide-conteneur) > .e-con-inner > .e-con > .elementor-widget-heading { position: sticky; top: 130px; grid-column: 1; }
html body.tax-product_cat .e-parent:has(.products) ~ .e-parent:has(> .e-con-inner > .e-con:only-child > .elementor-widget-heading):not(.fdlm-guide-conteneur) .elementor-widget-text-editor { max-width: none; }
html body.tax-product_cat .e-parent:has(.products) ~ .e-parent:has(> .e-con-inner > .e-con:only-child > .elementor-widget-heading):not(.fdlm-guide-conteneur) .elementor-widget-heading .elementor-heading-title { font-size: clamp(26px, 2.4vw, 32px); line-height: 1.2; text-wrap: balance; }
html body.tax-product_cat .e-parent:has(.products) ~ .e-parent:has(.elementor-widget-heading):not(.fdlm-guide-conteneur) .elementor-widget-heading::before { content: ""; display: block; width: 64px; height: 4px; margin-bottom: 18px; background: var(--fdlm-cat, #F0B9F0); }
html body.tax-product_cat .e-parent:has(.products) ~ .e-parent:has(.elementor-widget-heading):not(.fdlm-guide-conteneur) .elementor-widget-text-editor p:first-of-type { font-size: 19px; line-height: 1.6; }
html body.tax-product_cat .e-parent:has(.products) ~ .e-parent:has(.elementor-widget-heading):not(.fdlm-guide-conteneur) .elementor-widget-text-editor p + p { margin-top: 1em; }
html body.tax-product_cat .e-parent:has(.products) ~ .e-parent:has(.elementor-widget-heading):not(.fdlm-guide-conteneur) .elementor-widget-text-editor strong { background: linear-gradient(transparent 62%, color-mix(in srgb, var(--fdlm-cat-clair, #F0B9F0) 70%, transparent) 62%); -webkit-box-decoration-break: clone; box-decoration-break: clone; }
@media (max-width: 1024px) {
	html body.tax-product_cat .e-parent:has(.products) ~ .e-parent:has(> .e-con-inner > .e-con:only-child > .elementor-widget-heading):not(.fdlm-guide-conteneur) > .e-con-inner > .e-con { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	html body.tax-product_cat .e-parent:has(.products) ~ .e-parent:has(> .e-con-inner > .e-con:only-child > .elementor-widget-heading):not(.fdlm-guide-conteneur) > .e-con-inner > .e-con > *, html body.tax-product_cat .e-parent:has(.products) ~ .e-parent:has(> .e-con-inner > .e-con:only-child > .elementor-widget-heading):not(.fdlm-guide-conteneur) > .e-con-inner > .e-con > .elementor-widget-heading { position: static; grid-column: 1; }
	html body.tax-product_cat .e-parent:has(.products) ~ .e-parent:has(> .e-con-inner > .e-con:only-child > .elementor-widget-heading):not(.fdlm-guide-conteneur) { padding-top: 48px; padding-bottom: 48px; }
}
@media (max-width: 767px) {
	html body.tax-product_cat .e-parent:has(.products) ~ .e-parent:has(.elementor-widget-heading):not(.fdlm-guide-conteneur) .elementor-widget-text-editor p:first-of-type { font-size: 17px; }
}

/* 02/11 : Rubriques : tuiles photo. */
html body .fdlm-cat-chips { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px; margin: 0 0 32px; padding: 0; list-style: none; }
html body .fdlm-cat-chips li { margin: 0; padding: 0; }
html body .fdlm-cat-chips a { display: flex; align-items: center; gap: 14px; height: 100%; min-height: 72px; padding: 8px 16px 8px 8px; border: 0; border-radius: 0; border-bottom: 3px solid transparent; background: #FDF0E3; color: #142451; font-size: 15px; font-weight: 700; line-height: 1.25; text-decoration: none; box-sizing: border-box; transition: border-color .2s ease, background-color .2s ease; }
html body .fdlm-cat-chips span { min-width: 0; overflow-wrap: break-word; }
html body .fdlm-cat-chips img { flex: 0 0 56px; width: 56px; height: 56px; object-fit: cover; }
html body .fdlm-cat-chips a:hover, html body .fdlm-cat-chips a:focus-visible { background: #FDF0E3; color: #142451; border-bottom-color: var(--fdlm-cat, #142451); }
html body .fdlm-cat-chips a.is-current { background: #142451; color: #FDF0E3; border-bottom-color: var(--fdlm-cat-clair, #F0B9F0); }
@media (max-width: 767px) {
	html body .fdlm-chips-body .fdlm-cat-chips { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; margin: 0; }
	html body .fdlm-chips-body .fdlm-cat-chips a { min-height: 56px; padding: 6px 14px 6px 6px; font-size: 16px; }
	html body .fdlm-chips-body .fdlm-cat-chips img { flex-basis: 44px; width: 44px; height: 44px; }
}

/* 02/11 : Espace sous la grille de produits quand le guide suit directement. */
html body .e-parent:has(.products) + .fdlm-guide-conteneur.e-con { margin-top: 72px; }
html body .e-parent:has(.products) .woocommerce-pagination { margin-bottom: 0; }
@media (max-width: 767px) {
	html body .e-parent:has(.products) + .fdlm-guide-conteneur.e-con { margin-top: 48px; }
}

/* 02/11 : Audit mobile. */
.elementor-widget-text-editor a { overflow-wrap: anywhere; }
html body.single-product .elementor-widget-woocommerce-product-content, html body.single-product .elementor-widget-woocommerce-product-content p, html body.single-product .elementor-widget-woocommerce-product-content li, html body.single-product .elementor-widget-woocommerce-product-content [style*="font-size"] { font-size: 16px !important; line-height: 1.6; }
html body.woocommerce-checkout .woocommerce-billing-fields > h3 { display: none; }
@media (max-width: 1024px) {
	html body .fdlm-chips-body .fdlm-cat-chips { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; margin: 0; }
	html body .fdlm-chips-body .fdlm-cat-chips a { min-height: 56px; padding: 6px 14px 6px 6px; font-size: 16px; }
	html body .fdlm-chips-body .fdlm-cat-chips img { flex-basis: 44px; width: 44px; height: 44px; }
}

/* 02/11 : Panier sur petit mobile : la croix reste dans la carte. Paiement : titre aligné sur les autres. */
@media (max-width: 400px) {
	html body .fdlm-cart-item { grid-template-columns: 64px minmax(0, 1fr) 28px; gap: 10px; padding: 12px; }
	html body .fdlm-cart-item-remove { justify-self: end; width: 28px; }
}
html body.woocommerce-checkout .woocommerce-additional-fields > h3 { margin: 24px 0 12px; color: #142451; font-size: 18px; font-weight: 700; line-height: 1.3; }

/* 03/11 : Fiche produit : Quantité, Conditionnement et Prix alignés par le haut (la mention sous le prix ne pousse plus la quantité vers le bas). */
@media (min-width: 769px) {
	html body .custom-cart-wrapper { align-items: flex-start; }
	/* Produit à conditionnement : le bouton, à côté du prix, se cale sur le cadre du prix et non sur son titre. */
	html body .custom-cart-wrapper:has(.custom-variation-select) > .custom-cart-buttons { margin-top: 22px; }
}

/* 03/11 : Fiches vins : mention sanitaire en texte (l image du ministère ne s affiche plus). */
html body .fdlm-alcool-mention { display: block; margin: 16px 0 0; padding: 12px 14px; border: 1px solid #142451; color: #142451; font-size: 14px; font-weight: 700; line-height: 1.4; text-align: center; }

/* 03/11 : Accueil, carrousels d'articles : tant que le carrousel n'a pas démarré (scripts différés, plusieurs secondes
   sur connexion lente), les cartes gardent déjà leur taille finale (3 par ligne, 2 en tablette, 1 en mobile) au lieu
   d'une seule carte en pleine largeur. */
html body .elementor-element-681cdb8 .swiper:not(.swiper-initialized) > .swiper-wrapper,
html body .elementor-element-0ccf08e .swiper:not(.swiper-initialized) > .swiper-wrapper { gap: 10px; }
@media (min-width: 768px) {
	html body .elementor-element-681cdb8 .swiper:not(.swiper-initialized) > .swiper-wrapper > .swiper-slide,
	html body .elementor-element-0ccf08e .swiper:not(.swiper-initialized) > .swiper-wrapper > .swiper-slide { flex: 0 0 calc((100% - 10px) / 2); width: calc((100% - 10px) / 2); }
}
@media (min-width: 1024px) {
	html body .elementor-element-681cdb8 .swiper:not(.swiper-initialized) > .swiper-wrapper > .swiper-slide,
	html body .elementor-element-0ccf08e .swiper:not(.swiper-initialized) > .swiper-wrapper > .swiper-slide { flex: 0 0 calc((100% - 20px) / 3); width: calc((100% - 20px) / 3); }
}

/* 03/11 : Barre des rayons : même écart de part et d'autre de chaque séparateur (séparateur au milieu de l'espace
   de 10 px), recherche à la même distance que les onglets (plus de marge automatique). */
html body .fdlm-menu-bar { gap: 0 !important; }
html body .fdlm-menu-bar > .fdlm-menu-item, html body .fdlm-menu-bar > .fdlm-menu-search { flex: 1 1 auto !important; min-width: max-content; margin-left: 0 !important; padding: 0 !important; }
/* Les onglets restent en bloc : le panneau du méga-menu (position fixe sans « top ») se place sous le lien. */
html body .fdlm-menu-bar > .fdlm-menu-search { display: flex; justify-content: center; }
html body .fdlm-menu-bar > .fdlm-menu-item > .fdlm-menu-link { width: 100%; justify-content: center; padding-left: 14px !important; padding-right: 14px !important; }
html body .fdlm-menu-bar > .fdlm-menu-search > .fdlm-search-form { margin: 0 14px; }
html body .fdlm-menu-bar > .fdlm-menu-item::after { content: none !important; display: none !important; }
html body .fdlm-menu-bar > .fdlm-menu-item ~ .fdlm-menu-item::before, html body .fdlm-menu-bar > .fdlm-menu-search::before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 1px; height: 24px; background: rgba(20, 36, 81, 0.15); }
html body .fdlm-menu-bar > .fdlm-menu-search { position: relative; }
html body .fdlm-menu-bar .fdlm-search-input { padding-left: 0 !important; } /* le texte « Recherchez… » à la même distance du séparateur que les onglets */
/* Recherche : pas de cadre au clic (il ne ressortait qu'à droite), croix d'effacement à la charte. */
html body .fdlm-search-input:focus, html body .fdlm-search-input:focus-visible,
html body .fdlm-sb-input:focus, html body .fdlm-sb-input:focus-visible { outline: none !important; box-shadow: none !important; }
html body .fdlm-search-input::-webkit-search-cancel-button,
html body .fdlm-sb-input::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; width: 12px; height: 12px; margin: 0 0 0 8px; cursor: pointer; opacity: .75; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1.5 1.5l9 9M10.5 1.5l-9 9' stroke='%23142451' stroke-width='1.8' stroke-linecap='square'/%3E%3C/svg%3E") center / 12px 12px no-repeat; }
html body .fdlm-search-input::-webkit-search-cancel-button:hover,
html body .fdlm-sb-input::-webkit-search-cancel-button:hover { opacity: 1; }
html body #fdlm-menu-mob .fdlm-sb-form { border-radius: 0; }

/* 03/11 : En-tête : nombre d'articles du panier dans un rond (demande de la cliente), chiffre centré ; à partir de 10, pastille allongée. */
html body .fdlm-cart-count { border-radius: 9px !important; display: inline-flex !important; align-items: center; justify-content: center; box-sizing: border-box; height: 18px; min-width: 18px; padding: 0 5px; line-height: 1; }

/* 03/11 : Choix de la date de livraison : chaque date est une carte-bouton (tout le cadre est cliquable, c'est déjà le
   label du bouton radio) ; texte à gauche, coche alignée au milieu à droite. Affichage seulement, le radio ne change pas. */
html body .wgb-delivery-slots .wgb-delivery-slot { display: flex !important; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; position: relative; }
html body .wgb-delivery-slots .wgb-delivery-slot .wgb-slot-content { flex: 1 1 auto; min-width: 0; width: auto; }
html body .wgb-delivery-slots .wgb-delivery-slot .wgb-slot-check { flex: 0 0 28px; margin: 0 !important; }
html body .wgb-delivery-slots .wgb-delivery-slot:hover { border-color: #142451 !important; }
html body .wgb-delivery-slots .wgb-delivery-slot:has(input:focus-visible) { outline: 2px solid #142451; outline-offset: 2px; }

/* 03/11 : Barre des rayons : pictos de même surface visuelle (~500 px², proportions gardées) au lieu d'une même largeur. */
html body .fdlm-menu-bar .fdlm-menu-icon[src*="Nos-fromages"] { width: 21.6px !important; height: 23.2px !important; max-width: none !important; object-fit: contain; }
html body .fdlm-menu-bar .fdlm-menu-icon[src*="Cremerie"] { width: 27.8px !important; height: 18px !important; max-width: none !important; object-fit: contain; }
html body .fdlm-menu-bar .fdlm-menu-icon[src*="Coffre-et-box"] { width: 23.1px !important; height: 21.6px !important; max-width: none !important; object-fit: contain; }
html body .fdlm-menu-bar .fdlm-menu-icon[src*="L-epicerie"] { width: 18.9px !important; height: 26.5px !important; max-width: none !important; object-fit: contain; }
html body .fdlm-menu-bar .fdlm-menu-icon[src*="Le-tiroir-de-la-memee"] { width: 26.6px !important; height: 18.8px !important; max-width: none !important; object-fit: contain; }

/* 03/11 : Page « Politique de gestion des cookies » : listes espacées du texte qui suit ; tableaux des cookies lisibles
   sur mobile (chaque cookie devient une carte, l'intitulé de colonne passe devant chaque valeur). */
.fdlm-cookies ul { margin-bottom: 1em; }
.fdlm-cookies a { overflow-wrap: anywhere; }
.fdlm-cookies-table-wrap { margin: 0 0 1.5em; }
.fdlm-cookies-table { width: 100%; border-collapse: collapse; }
.fdlm-cookies-table th, .fdlm-cookies-table td { text-align: left; vertical-align: top; }
.fdlm-cookies-table td:first-child { font-weight: 600; overflow-wrap: anywhere; }
@media (max-width: 767px) {
	.fdlm-cookies-table, .fdlm-cookies-table tbody, .fdlm-cookies-table tr, .fdlm-cookies-table td { display: block; width: 100%; }
	.fdlm-cookies-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.fdlm-cookies-table tr { margin: 0 0 12px; border: 1px solid #ddd; }
	.fdlm-cookies-table td { border: 0 !important; border-bottom: 1px solid #eee !important; padding: 8px 12px !important; }
	.fdlm-cookies-table td:last-child { border-bottom: 0 !important; }
	.fdlm-cookies-table td::before { content: attr(data-label); display: block; font-weight: 700; color: #142451; font-size: .85em; margin-bottom: 2px; }
}

/* 03/11 : Cartes produit : toutes les photos au même format carré, quelle que soit l'image d'origine. */
html body .fdlm-slider-card-image img.fdlm-primary-image, html body .fdlm-slider-card-image img.fdlm-secondary-image { width: 100% !important; height: auto !important; aspect-ratio: 1 / 1 !important; object-fit: cover !important; }

/* 03/11 : Pages catégorie : de l'air entre la pagination et le bloc qui suit. */
html body.tax-product_cat .woocommerce-pagination { padding-bottom: 72px; }
html body .e-parent:has(.products) + .fdlm-guide-conteneur.e-con { margin-top: 0; }
@media (max-width: 767px) { html body.tax-product_cat .woocommerce-pagination { padding-bottom: 48px; } }

/* 03/11 : Rubriques : photo collée aux bords de la tuile (espace seulement entre la photo et le texte),
   tuile à la largeur de son contenu ; le trait de survol passe par-dessus la photo. */
html body .fdlm-cat-chips { display: flex; flex-wrap: wrap; gap: 12px; }
html body .fdlm-cat-chips li { flex: 0 0 auto; }
html body .fdlm-cat-chips a { position: relative; gap: 16px; min-height: 64px; padding: 0 20px 0 0; border-bottom: 0; overflow: hidden; }
html body .fdlm-cat-chips a:not(:has(img)) { padding-left: 20px; }
html body .fdlm-cat-chips img { flex: 0 0 64px; width: 64px; height: auto; min-height: 64px; align-self: stretch; object-fit: cover; }
html body .fdlm-cat-chips a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: transparent; transition: background-color .2s ease; }
html body .fdlm-cat-chips a:hover::after, html body .fdlm-cat-chips a:focus-visible::after { background: var(--fdlm-cat, #142451); }
html body .fdlm-cat-chips a.is-current::after { background: var(--fdlm-cat-clair, #F0B9F0); }
@media (max-width: 767px) {
	html body .fdlm-chips-body .fdlm-cat-chips a { min-height: 56px; padding: 0 14px 0 0; }
	html body .fdlm-chips-body .fdlm-cat-chips a:not(:has(img)) { padding-left: 14px; }
	html body .fdlm-chips-body .fdlm-cat-chips img { flex-basis: 56px; width: 56px; height: auto; min-height: 56px; }
}

/* 03/11 : Cartes « rayons » du guide : photo en tête, bord à bord, même format pour toutes. */
html body .fdlm-guide a.fdlm-guide-carte .fdlm-guide-carte-img { display: block; margin: -28px -24px 20px; aspect-ratio: 4 / 3; overflow: hidden; background: #f3e6d6; }
html body .fdlm-guide a.fdlm-guide-carte .fdlm-guide-carte-img img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* 03/11 : Pages catégorie, blocs photo + texte (colonne photo en fond, cadre décalé) : même espace en haut et en bas,
   plus généreux (le haut faisait 120px et le bas 40px sur certains blocs). */
html body.tax-product_cat .e-parent.e-con-boxed:has(> .e-con-inner > .e-child[data-settings*="background_background"]):has(> .e-con-inner > .e-child > .elementor-widget-heading):not(:has(.products)):not(.fdlm-guide-conteneur) { padding-top: 88px !important; padding-bottom: 100px !important; }
html body.tax-product_cat .e-parent.e-con-boxed:has(> .e-con-inner > .e-child[data-settings*="background_background"]):has(> .e-con-inner > .e-child > .elementor-widget-heading):not(:has(.products)):not(.fdlm-guide-conteneur) > .e-con-inner { padding-top: 0 !important; padding-bottom: 0 !important; }
@media (max-width: 767px) {
	html body.tax-product_cat .e-parent.e-con-boxed:has(> .e-con-inner > .e-child[data-settings*="background_background"]):has(> .e-con-inner > .e-child > .elementor-widget-heading):not(:has(.products)):not(.fdlm-guide-conteneur) { padding-top: 56px !important; padding-bottom: 68px !important; }
}

/* 03/11 : Carrousels produit : après un défilement, plus de bout de la carte précédente visible à gauche
   (la marge de 25px réservée aux pastilles laissait passer la carte sortante). */
@media (min-width: 769px) {
	html body .fdlm-slider-track:has(> .fdlm-slider-inner[style*="translateX(-"]) { clip-path: inset(0 0 0 25px); }
}

/* 03/11 : Bandeau légal du pied de page (ordinateur et tablette) : texte centré, liens sur une ligne et mention © en dessous
   (les liens cookies l'avaient fait passer sur deux lignes alignées à gauche) ; pastille Comm360 éloignée du bord droit
   pour qu'on la voie entière. */
@media (min-width: 768px) {
	html body .elementor-3483 .elementor-element.elementor-element-3cdd8398 { width: 100% !important; max-width: 100% !important; flex: 1 1 100% !important; text-align: center !important; }
	html body .elementor-3483 .elementor-element-3cdd8398 p { display: block !important; text-align: center !important; }
	html body .elementor-3483 .elementor-element-3cdd8398 .fdlm-copyright::before { content: none !important; }
	html body .elementor-3483 .elementor-element-3cdd8398 .fdlm-copyright { margin-top: 2px !important; }
	html body .elementor-3483 .elementor-element.elementor-element-9b743d3 { right: 32px !important; left: auto !important; }
	/* 04/11 (cliente) : pastille collée au bord droit, coupée en deux par le bord haut de la bande ; réduite (« moins gros »). */
	html body .elementor-3483 .elementor-element.elementor-element-9b743d3 { right: 0 !important; top: -55px !important; bottom: auto !important; width: 110px !important; height: 110px !important; padding: 14px !important; margin: 0 !important; box-sizing: border-box !important; z-index: 5 !important; }
	html body .elementor-3483 .elementor-element-9b743d3 img { display: block !important; width: 82px !important; height: 82px !important; max-width: none !important; }
}

/* 03/11 : À propos, équipe, mobile : cartes au format portrait (celui des photos avec le fromage, 3/4) et textes plus
   petits, pour que le fromage tenu en main reste visible au-dessus de l'encart. */
@media (max-width: 767px) {
	html body .hover-contact { aspect-ratio: 3 / 4 !important; height: auto !important; min-height: 0 !important; }
	html body .hover-contact .fdlm-equipe-photo { object-position: center center !important; }
	html body .hover-contact [class*="bulle"] { padding: 6px 9px 8px !important; background: #F0B9F0 !important; }
	html body .hover-contact [class*="bulle"], html body .hover-contact [class*="bulle"] * { font-size: 12.5px !important; line-height: 1.25 !important; }
	html body .hover-contact [class*="bulle"]::before { font-size: 10px !important; margin-bottom: 1px !important; }
	html body .hover-contact .name-hover, html body .hover-contact .name-hover * { font-size: 14px !important; }
	html body .hover-contact .text-hover, html body .hover-contact .text-hover * { font-size: 11px !important; }
	html body .hover-contact .text-hover { padding: 1px 10px 7px !important; }
	html body .hover-contact::after { width: 34px !important; height: 34px !important; }
}

/* 03/11 : À propos, « Une boutique locale… et en ligne ! », mobile : marges régulières (48 px en haut et en bas,
   20 px entre titre et texte), texte sur toute la largeur au lieu d'une colonne de 70 %. */
@media (max-width: 767px) {
	html body .elementor-element.elementor-element-09dfb2f { padding: 0 !important; min-height: 0 !important; height: auto !important; }
	html body .elementor-element.elementor-element-09dfb2f > .e-con-inner { min-height: 0 !important; }
	html body .elementor-element.elementor-element-09dfb2f > .e-con-inner { padding: 48px 20px 50px !important; gap: 20px !important; }
	html body .elementor-element.elementor-element-64f9c42 { margin: 0 !important; }
	html body .elementor-element.elementor-element-64f9c42 .elementor-heading-title { font-size: 30px !important; line-height: 1.15 !important; }
	html body .elementor-element.elementor-element-0641b1e { width: 100% !important; max-width: 100% !important; margin: 0 !important; }
	html body .elementor-element.elementor-element-0641b1e p { font-size: 16px !important; line-height: 1.6 !important; margin: 0 0 14px !important; }
	html body .elementor-element.elementor-element-0641b1e p:last-child { margin-bottom: 0 !important; }
}

/* 03/11 : CGV (version du 17/09/2026, page 69397) : sommaire, tableau de la société, encadré des garanties légales, formulaire de rétractation. */
.fdlm-cgv .fdlm-cgv-version { font-weight: 600; color: #142451; }
.fdlm-cgv h2, .fdlm-cgv h3 { scroll-margin-top: 200px; }
.fdlm-cgv a { overflow-wrap: anywhere; }
.fdlm-cgv-sommaire { margin: 0 0 2em; padding: 20px 24px; background: #FDF0E3; border-left: 4px solid #DA010C; }
.fdlm-cgv-sommaire .fdlm-cgv-sommaire-titre { margin: 0 0 .5em; font-weight: 700; color: #142451; }
.fdlm-cgv-sommaire ol { columns: 2; column-gap: 32px; margin: 0 0 .6em 1.3em; padding: 0; }
.fdlm-cgv-sommaire li { break-inside: avoid; margin: 0 0 .3em; }
.fdlm-cgv-sommaire p:last-child { margin: 0; }
.fdlm-cgv-societe { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 0 1.5em; border-top: 1px solid #E5D4C2; }
.fdlm-cgv-societe > div { padding: 10px 12px; border-bottom: 1px solid #E5D4C2; }
.fdlm-cgv-societe dt { margin: 0; font-weight: 700; color: #142451; }
.fdlm-cgv-societe dd { margin: 0; overflow-wrap: anywhere; }
.fdlm-cgv-encadre { margin: 1em 0 1.5em; padding: 20px 24px; border: 2px solid #142451; background: #FDF0E3; }
.fdlm-cgv-encadre p:last-child { margin-bottom: 0; }
.fdlm-cgv-formulaire { margin: 1em 0 2em; padding: 24px; border: 2px dashed #142451; }
.fdlm-cgv-formulaire .fdlm-cgv-champ { padding-bottom: 22px; border-bottom: 1px solid #142451; }
@media (max-width: 767px) {
	.fdlm-cgv-sommaire { padding: 16px 16px 16px 18px; }
	.fdlm-cgv-sommaire ol { columns: 1; }
	.fdlm-cgv-societe { grid-template-columns: minmax(0, 1fr); }
	.fdlm-cgv-encadre, .fdlm-cgv-formulaire { padding: 16px; }
}

/* 04/11 : méga-menu, en passant d'un rayon à l'autre l'ancien panneau restait visible pendant son fondu de sortie et
   chevauchait le nouveau (bien visible depuis que chaque catégorie a une image) : sortie instantanée, entrée en fondu au premier plan. */
html body .fdlm-menu-item .fdlm-mega-panel { transition: none !important; }
html body .fdlm-menu-item:hover .fdlm-mega-panel { transition: opacity .2s ease !important; z-index: 1001 !important; }

/* 04/11 : photo 2 au survol. La règle du thème « .product:hover .fdlm-secondary-image » visait aussi le conteneur
   Elementor des rayons et des fiches (classe product) : survoler la page affichait la photo 2 de toutes les cartes.
   Le survol ne vaut plus que pour la carte survolée. */
html body .fdlm-image-swap-wrapper .fdlm-secondary-image { opacity: 0 !important; }
html body .fdlm-image-swap-wrapper img { transform: none !important; }
html body li.product:hover > * .fdlm-image-swap-wrapper .fdlm-secondary-image,
html body li.product:hover .fdlm-image-swap-wrapper .fdlm-secondary-image,
html body .fdlm-slider-card:hover .fdlm-image-swap-wrapper .fdlm-secondary-image,
html body .fdlm-product-image-wrapper:hover .fdlm-image-swap-wrapper .fdlm-secondary-image { opacity: 1 !important; }
html body li.product:hover .fdlm-image-swap-wrapper img,
html body .fdlm-slider-card:hover .fdlm-image-swap-wrapper img,
html body .fdlm-product-image-wrapper:hover .fdlm-image-swap-wrapper img { transform: scale(1.05) !important; }

/* 04/11 : pages catégorie, respiration sous les produits (et sous la pagination), quel que soit le bloc qui suit :
   mesuré de 0 à 64 px selon les pages, trop collé. */
html body .elementor-widget-woocommerce-products > .elementor-widget-container { padding-bottom: 104px; }
html body .elementor-widget-woocommerce-products nav.woocommerce-pagination { margin-bottom: 0 !important; }
@media (max-width: 767px) {
	html body .elementor-widget-woocommerce-products > .elementor-widget-container { padding-bottom: 72px; }
}

/* 04/11 : le conteneur de la barre des rayons (z-index 1) enfermait les panneaux du méga-menu : sur les fiches produit,
   la photo principale passait au-dessus du panneau ouvert. (Bannière cookies : 2147483600, reste au-dessus.) */
html body .e-con:has(#fdlm-mega-menu .fdlm-menu-item:hover) { z-index: 1002; }
/* (au repos, la barre blanche reste sous le bandeau beige quand elle remonte au défilement) */

/* 04/11 (cliente) : accueil, bloc « Retrouvez-nous en Boutique » : textes en beige de la charte sur la terre cuite. */
html body .fdlm-seo-bloc .fdlm-seo-boutique-txt,
html body .fdlm-seo-bloc .fdlm-seo-boutique-txt h3,
html body .fdlm-seo-bloc .fdlm-seo-boutique-txt p,
html body .fdlm-seo-bloc .fdlm-seo-boutique-txt strong,
html body .fdlm-seo-bloc .fdlm-seo-boutique-txt span,
html body .fdlm-seo-bloc .fdlm-seo-boutique-txt p.fdlm-seo-tel a { color: #F2E2D0; }
html body .fdlm-seo-bloc .fdlm-seo-boutique-txt p.fdlm-seo-tel a:hover,
html body .fdlm-seo-bloc .fdlm-seo-boutique-txt p.fdlm-seo-tel a:focus { color: #F2E2D0; text-decoration: underline; }
html body .fdlm-seo-bloc .fdlm-seo-boutique-txt a.fdlm-seo-bouton { border-color: #F2E2D0; color: #F2E2D0; }
html body .fdlm-seo-bloc .fdlm-seo-boutique-txt a.fdlm-seo-bouton:hover,
html body .fdlm-seo-bloc .fdlm-seo-boutique-txt a.fdlm-seo-bouton:focus { background: #F2E2D0; color: #142451; }

/* 04/11 (cliente : « effet de scroll pour éviter qu'il y ait un trou sous l'image ») : le conteneur du bloc SEO coupait
   en overflow hidden, ce qui empêchait la colonne titre + photo des engagements de rester collée. clip coupe pareil sans
   bloquer le collant. Même chose pour le body (« html, body { overflow-x: hidden } » du thème en faisait un conteneur de
   défilement qui ne défile jamais : aucun élément collant ne collait, titres des catégories compris). Les verrous de
   défilement (menus, pop-ups, animation) restent prioritaires. */
html body .elementor-element-034b620 { overflow: clip !important; }
html body { overflow-x: clip; }

/* 04/11 (cliente : « la ligne trop épaisse en noire, en bleu de la charte et très fine ») : trait sous la réassurance
   (Confection en France, Chronofresh, Paiement, Fidélité), sur tous les gabarits qui l'ont. */
html body .elementor-element-3d64930, html body .elementor-element-c35f06e, html body .elementor-element-0357d73, html body .elementor-element-4eced39d,
html body .elementor-element-2148cc0c, html body .elementor-element-d02745a, html body .elementor-element-10d8c256, html body .elementor-element-1fe2eb9b,
html body .elementor-element-528c3e4a, html body .elementor-element-6bd5d4d1, html body .elementor-element-bc6b74, html body .elementor-element-6aac8f4,
html body .elementor-element-308e4da5, html body .elementor-element-5333f477, html body .elementor-element-57f3671, html body .elementor-element-6605c31,
html body .elementor-element-ea4a546, html body .elementor-element-544ccb8, html body .elementor-element-38dce0e, html body .elementor-element-e658094,
html body .elementor-element-47ea34e, html body .elementor-element-3fc1e36, html body .elementor-element-e950baf, html body .elementor-element-7c71f95,
html body .elementor-element-ec406c4, html body .elementor-element-b351ef7, html body .elementor-element-7bedc9b5, html body .elementor-element-55cfbe18,
html body .elementor-element-cab045c, html body .elementor-element-76d06fce, html body .elementor-element-39ff82bc, html body .elementor-element-62262d96 { border-bottom: 1px solid #142451 !important; }

/* 31/10 : Accueil : titre plus petit sur écran moyen, le texte ne passe pas sur la photo. */
@media (min-width: 768px) and (max-width: 1200px) {
	html body .elementor-element-8651130 .elementor-heading-title { font-size: 30px !important; }
	html body .elementor-element-db9e0aa .elementor-heading-title { font-size: 15px !important; }
}

/* 31/10 : Pages simples : le H1 était masqué. */
body.page-id-69397 .page-header .entry-title, body.page-id-69398 .page-header .entry-title, body.page-id-70688 .page-header .entry-title, body.page-id-3 .page-header .entry-title {
	display: block !important;
	margin: 32px 0 20px;
	color: #142451;
	font-family: 'hoss-sharp', sans-serif;
	font-size: clamp(28px, 4vw, 44px);
	font-weight: 700;
	line-height: 1.15;
}

/* 31/10 : Recette : la photo couvre son cadre, sans se répéter. */
html body .elementor-element-d727445 { background-size: cover !important; background-repeat: no-repeat !important; background-position: center !important; }

html body .woocommerce-error:not(#fdlm-n),html body .woocommerce-message:not(#fdlm-n),html body .woocommerce-info:not(#fdlm-n){position:relative!important;display:block;margin:0 0 18px!important;padding:14px 18px 14px 54px!important;border:1.5px solid var(--fdlm-n-border)!important;border-radius:14px!important;background:var(--fdlm-n-bg)!important;color:#142451!important;font-family:"hoss-sharp",sans-serif;font-size:15px!important;font-weight:600!important;line-height:1.45!important;list-style:none!important;box-shadow:0 4px 14px rgba(20,36,81,.06)!important;outline:0!important;text-align:left}html body .woocommerce-error:not(#fdlm-n){--fdlm-n-bg:#FDEDED;--fdlm-n-border:#DA010C;--fdlm-n-badge:#DA010C;--fdlm-n-mark:#fff}html body .woocommerce-message:not(#fdlm-n){--fdlm-n-bg:#FCF7F2;--fdlm-n-border:#142451;--fdlm-n-badge:#142451;--fdlm-n-mark:#F2E2D0}html body .woocommerce-info:not(#fdlm-n){--fdlm-n-bg:#FDF2FD;--fdlm-n-border:#F0B9F0;--fdlm-n-badge:#F0B9F0;--fdlm-n-mark:#142451}html body .woocommerce-error:not(#fdlm-n)::before,html body .woocommerce-message:not(#fdlm-n)::before,html body .woocommerce-info:not(#fdlm-n)::before{position:absolute!important;left:16px!important;top:13px!important;width:24px!important;height:24px!important;border-radius:50%!important;background:var(--fdlm-n-badge)!important;color:var(--fdlm-n-mark)!important;font:700 14px/24px "hoss-sharp",sans-serif!important;text-align:center!important;display:block!important}html body .woocommerce-error:not(#fdlm-n)::before,html body .woocommerce-info:not(#fdlm-n)::before{content:""!important;border-radius:0!important;-webkit-mask:url("https://www.fromagesdelamemee.fr/wp-content/plugins/woo-groupbuy/assets/svg/picto-info.svg") center/contain no-repeat;mask:url("https://www.fromagesdelamemee.fr/wp-content/plugins/woo-groupbuy/assets/svg/picto-info.svg") center/contain no-repeat}html body .woocommerce-error:not(#fdlm-n)::before{background:#DA010C!important}html body .woocommerce-info:not(#fdlm-n)::before{background:#142451!important}html body .woocommerce-message:not(#fdlm-n)::before{content:""!important;background:var(--fdlm-n-badge) url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20transform%3D%22translate%287.20%205.50%29%20scale%280.6562%29%22%20d%3D%22M14.468.255%2C13.885%2C0H12.2l-.039.066L11.494%2C1.19c-.17.328-.324.527-.517.845-.085.138-.289.571-.357.649-.043.048-.132.027-.168.085-.157.251.039.668-.431.842a.79.79%2C0%2C0%2C0-.427.233c-.05.045-.318.268-.329.286-.125.214-.058.358-.109.574a2.436%2C2.436%2C0%2C0%2C1-.439.719c-.058.083-.428.555-.448.6-.043.092-.024.231-.1.307a2.643%2C2.643%2C0%2C0%2C0-.494.227c-.091.092-.075.193-.123.267-.025.039-.093.014-.111.049a3.225%2C3.225%2C0%2C0%2C0-.187.52%2C1.591%2C1.591%2C0%2C0%2C1-.374.75c-.048.042-.136.03-.178.071-.241.235-.224.975-.334%2C1.219-.053.117-.161.07-.188.121-.117.224-.068.524-.291.8-.036.045-.373.274-.385.3-.045.088-.118.669-.362.426-.009-.009-.114-.208-.118-.223-.128-.471-.035-1-.147-1.47C4.865%2C9.32%2C4.8%2C9.3%2C4.79%2C9.224a1.746%2C1.746%2C0%2C0%2C1%2C.087-.506.359.359%2C0%2C0%2C0%2C.005-.1c-.005-.048-.264-.258-.294-.366s.015-.237-.007-.325-.123-.1-.142-.178.03-.183.018-.2-.119-.015-.153-.043c-.383-.319-.462-.22-.86-.365-.125-.045-.1-.161-.136-.179-.157-.074-.414-.07-.585-.142-.073-.017-.327.229-.376.228-.373-.006-.908-.277-1.317-.293a2.366%2C2.366%2C0%2C0%2C0-.756.368.351.351%2C0%2C0%2C0-.09.108h0L0%2C7.611v.326l.23.314v.87l.241.169.157.688v.411l.27.541h0c.056.081.033.208.062.326a8.253%2C8.253%2C0%2C0%2C0%2C.485%2C1.626c.052.09.189.13.235.193a6.679%2C6.679%2C0%2C0%2C1%2C.673%2C1.647c.06.151.063.514.114.68.066.213.378.423.415.676.016.11-.037.237-.007.343a4.053%2C4.053%2C0%2C0%2C0%2C.438.573c.027.087-.039.188-.031.275a6.83%2C6.83%2C0%2C0%2C0%2C.4.889c.033.1-.015.233%2C0%2C.273s.182.1.24.19c.021.035.152.345.182.416.077.18.046.472.307.466.006-.279.174-.172.247-.216.047-.028.071-.174.123-.233.037-.042.105-.018.155-.1a2.87%2C2.87%2C0%2C0%2C0%2C.248-.731c.392-.012.258.393.667.356a2.562%2C2.562%2C0%2C0%2C0%2C.61-.514c.145-.259.264-.534.418-.817.023-.043.118-.005.175-.136.147-.334.2-.55.368-.856.142-.258.179-.788.288-.96.037-.058.126-.032.167-.086s.105-.315.144-.336l.134.02a1.583%2C1.583%2C0%2C0%2C1%2C.239-.526c.041-.06.208-.069.2-.311l.2-.035c.1-.206.174-.765.272-.917.02-.031.378-.319.425-.368.524-.541.7-1.148%2C1.155-1.705.039-.047.119-.033.163-.093a5.548%2C5.548%2C0%2C0%2C0%2C.2-.538c.024-.021.121.005.168-.019.133-.069.268-.194.41-.254l.336-1.213.153%2C0a1.327%2C1.327%2C0%2C0%2C1%2C.149-.412c.081-.106.2-.092.243-.155.077-.126.121-.46.206-.611.025-.044.1-.018.136-.069.067-.1.071-.256.137-.323.042-.042.154-.022.2-.092.065-.106.06-.292.153-.434.042-.063.113-.045.13-.077.138-.281-.014-.325-.016-.367-.009-.185.119-.138.142-.18.133-.234.306-.628.41-.841.078-.161.123-.512.218-.664.039-.063.136-.03.168-.083.111-.185.193-.6.291-.8.026-.05.13-.02.169-.081.09-.141.081-.493.217-.66l.079-.775V.838Z%22%20fill%3D%22%23F2E2D0%22%2F%3E%3C%2Fsvg%3E") center/18px no-repeat!important}html body .woocommerce-error:not(#fdlm-n) li,html body .woocommerce-message:not(#fdlm-n) li,html body .woocommerce-info:not(#fdlm-n) li{margin:0!important;padding:0!important;color:#142451!important;list-style:none!important}html body .woocommerce-error:not(#fdlm-n) li+li{margin-top:6px!important}html body .woocommerce-error:not(#fdlm-n) a:not(.button),html body .woocommerce-message:not(#fdlm-n) a:not(.button),html body .woocommerce-info:not(#fdlm-n) a:not(.button){color:#142451!important;text-decoration:underline!important;text-underline-offset:3px;font-weight:700}html body .woocommerce-error:not(#fdlm-n) a:not(.button):hover,html body .woocommerce-message:not(#fdlm-n) a:not(.button):hover,html body .woocommerce-info:not(#fdlm-n) a:not(.button):hover,html body .woocommerce-error:not(#fdlm-n) a:not(.button):focus-visible,html body .woocommerce-message:not(#fdlm-n) a:not(.button):focus-visible,html body .woocommerce-info:not(#fdlm-n) a:not(.button):focus-visible{color:#142451!important;text-decoration-thickness:2px}html body .woocommerce-message:not(#fdlm-n) .button,html body .woocommerce-info:not(#fdlm-n) .button,html body .woocommerce-error:not(#fdlm-n) .button{float:right;margin:-4px 0 0 14px!important;padding:7px 16px!important;border:0!important;border-radius:999px!important;background:#142451!important;color:#F2E2D0!important;font-size:14px!important;font-weight:600!important;line-height:1.3!important;text-decoration:none!important}html body .woocommerce-message:not(#fdlm-n) .button:hover,html body .woocommerce-info:not(#fdlm-n) .button:hover,html body .woocommerce-error:not(#fdlm-n) .button:hover,html body .woocommerce-message:not(#fdlm-n) .button:focus-visible,html body .woocommerce-info:not(#fdlm-n) .button:focus-visible,html body .woocommerce-error:not(#fdlm-n) .button:focus-visible{background:#F0B9F0!important;color:#142451!important}@media (max-width:600px){html body .woocommerce-error:not(#fdlm-n),html body .woocommerce-message:not(#fdlm-n),html body .woocommerce-info:not(#fdlm-n){padding:12px 14px 12px 48px!important;font-size:14px!important}html body .woocommerce-error:not(#fdlm-n)::before,html body .woocommerce-message:not(#fdlm-n)::before,html body .woocommerce-info:not(#fdlm-n)::before{left:13px!important;top:11px!important}html body .woocommerce-message:not(#fdlm-n) .button,html body .woocommerce-info:not(#fdlm-n) .button{float:none;display:inline-block;margin:10px 0 0!important}}
.elementor-69990 .elementor-element-e565506{background-image:url(https://www.fromagesdelamemee.fr/wp-content/uploads/2026/04/Anti-gaspi_2.webp)!important}


/* FDLM SEO 2026-10-08: only the new recipe and article. */
@media (max-width: 767px) {
  body.postid-68765 .elementor-element-95e205b {
    flex-direction: column !important;
    gap: 0 !important;
    padding: 28px 20px !important;
  }
  body.postid-68765 .elementor-element-0249496 {
    display: none !important;
  }
  body.postid-68765 .etapes-recette {
    width: 100% !important;
    --width: 100%;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.postid-68765 .etapes-recette h2 {
    font-size: 30px !important;
    line-height: 1.2 !important;
  }
  body.postid-68765 .etapes-recette h3 {
    font-size: 26px !important;
    line-height: 1.2 !important;
  }
  body.postid-68765 .etapes-recette p {
    font-size: 16px;
    line-height: 1.55;
  }
  body.postid-68765 .elementor-element-40838cc {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
    gap: 10px !important;
    padding: 14px 12px !important;
    background: rgba(20, 36, 81, 0.92);
  }
  body.postid-68765 .elementor-element-40838cc .e-con {
    width: auto !important;
    --width: auto;
    min-width: 0;
  }
  body.postid-68765 .elementor-element-40838cc h3 {
    font-size: 14px !important;
    line-height: 1.3 !important;
  }
  body.postid-68765 .elementor-element-40838cc .elementor-widget-icon {
    display: none !important;
  }
  body.postid-68767 .elementor-element-2e78acd {
    width: 100% !important;
    --container-widget-width: 100%;
    max-width: none !important;
    box-sizing: border-box;
    padding: 0 20px;
  }
  body.postid-68767 .elementor-element-2e78acd h2 {
    font-size: 26px;
    line-height: 1.25;
  }
}

/* FDLM editorial layout. Native Elementor content and ACF remain editable. */
.elementor-2321 .menu-icon-blog .icon { display:inline-block; background-image:url('/wp-content/uploads/2025/11/boutique-de-la-memee-Actualites.svg'); }
:is(.elementor-4902,.elementor-4766,.elementor-3431) { color:#142451; }
:is(.elementor-4902,.elementor-4766) .fdlm-editorial-crumb { max-width:1280px; margin:0 auto; padding:24px 24px 20px; }
:is(.elementor-4902,.elementor-4766) .fdlm-editorial-crumb .elementor-widget { width:100%; }
:is(.elementor-4902,.elementor-4766,.elementor-3431) .elementor-widget-text-editor p:last-child { margin-bottom:0; }
:is(.elementor-4902,.elementor-4766,.elementor-3431) .fdlm-editorial-eyebrow { font-family:'hoss-sharp',sans-serif; font-size:12px; font-weight:600; line-height:1.5; letter-spacing:.13em; color:#8d3a2f; }
:is(.elementor-4902,.elementor-4766) .fdlm-editorial-section-title .elementor-heading-title { font-size:38px; line-height:1.17; font-weight:500; }
:is(.elementor-4902,.elementor-4766,.elementor-3431) a:focus-visible { outline:2px solid #b82025; outline-offset:5px; }
:is(.elementor-4902,.elementor-4766) .fdlm-editorial-link .elementor-button { border-radius:3px; padding:15px 20px; line-height:1.4; font-size:15px; transition:background-color .2s; }
:is(.elementor-4902,.elementor-4766) .fdlm-editorial-link .elementor-button:hover { background:#8d3a2f; }
.elementor-4902 .fdlm-article-hero { display:grid; grid-template-columns:.9fr 1.1fr; max-width:1280px; margin:0 auto; padding:0 24px; gap:0; align-items:stretch; }
.elementor-4902 .fdlm-article-hero-copy { background:#f3eee6; padding:44px 40px; justify-content:center; gap:22px; width:auto; }
.elementor-4902 .fdlm-article-title .elementor-heading-title { font-size:48px; line-height:1.1; font-weight:500; letter-spacing:-.025em; }
.elementor-4902 .fdlm-article-chapo { font-size:18px; line-height:1.6; }
.elementor-4902 .fdlm-editorial-back .elementor-button { padding:0 0 4px; background:transparent; color:#142451; border-radius:0; border-bottom:1px solid #142451; font-size:14px; line-height:1.4; }
.elementor-4902 .fdlm-editorial-back .elementor-button:hover { color:#8d3a2f; border-color:#8d3a2f; }
.elementor-4902 .fdlm-article-featured { width:100%; height:100%; min-height:440px; }
.elementor-4902 .fdlm-article-featured .elementor-widget-container { height:100%; }
.elementor-4902 .fdlm-article-featured img { display:block; width:100%; height:100%; min-height:440px; max-height:600px; object-fit:cover; }
.elementor-4902 .fdlm-article-reading { max-width:808px; margin:0 auto; padding:64px 24px; gap:28px; }
.elementor-4902 .fdlm-article-body-title .elementor-heading-title { font-size:35px; line-height:1.2; }
.elementor-4902 .fdlm-article-body { width:100%; font-size:18px; line-height:1.75; }
.elementor-4902 .fdlm-article-body h2 { font-family:'decoy',serif; font-size:29px; line-height:1.25; font-weight:500; margin:44px 0 20px; color:#142451; }
.elementor-4902 .fdlm-article-body h2:first-child { margin-top:8px; }
.elementor-4902 .fdlm-article-body h3 { font-family:'decoy',serif; font-size:25px; line-height:1.3; margin:32px 0 16px; color:#142451; }
.elementor-4902 .fdlm-article-body p { margin:0 0 20px; }
.elementor-4902 .fdlm-article-body a { color:#142451; text-decoration:underline; text-underline-offset:3px; }
.elementor-4902 .fdlm-article-body a:hover { color:#8d3a2f!important; }
.elementor-4902 .fdlm-article-body ul { padding-left:23px; margin-bottom:24px; }
.elementor-4902 .fdlm-article-body li { margin-bottom:10px; }
.elementor-4902 .fdlm-article-body figure { margin:34px 0 42px; }
.elementor-4902 .fdlm-article-body figure img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; border-radius:4px; }
.elementor-4902 .fdlm-article-body figcaption { font-size:13px; line-height:1.55; color:#505768; margin-top:11px; padding-left:13px; border-left:2px solid #c67969; }
.elementor-4902 .fdlm-article-tip { background:#eef2f4; padding:32px; gap:15px; border-radius:12px; margin-top:12px; }
.elementor-4902 .fdlm-article-tip .elementor-heading-title { font-size:28px; line-height:1.25; }
.elementor-4902 .fdlm-article-tip .elementor-widget-text-editor { font-size:17px; line-height:1.65; }
.elementor-4902 .fdlm-article-related { max-width:1280px; margin:0 auto 72px; padding:45px 24px 0; gap:16px; border-top:1px solid #e5d8c4; }
.elementor-4902 .fdlm-article-related .fdlm-editorial-link { margin-top:18px; }
.elementor-4766 .fdlm-blog-intro { max-width:1280px; margin:0 auto; padding:14px 24px 35px; gap:14px; }
.elementor-4766 .fdlm-blog-title .elementor-heading-title { font-size:58px; line-height:1.08; font-weight:500; letter-spacing:-.025em; }
.elementor-4766 .fdlm-blog-intro-text { font-size:18px; line-height:1.6; max-width:770px!important; }
.elementor-4766 .fdlm-blog-feature { display:grid; grid-template-columns:1.2fr 1fr; max-width:1232px; margin:0 auto; padding:0; background:#f3eee6; align-items:stretch; gap:0; }
.elementor-4766 .fdlm-blog-feature-photo { width:100%; height:100%; }
.elementor-4766 .fdlm-blog-feature-photo .elementor-widget-container { height:100%; }
.elementor-4766 .fdlm-blog-feature-photo img { display:block; height:100%; width:100%; min-height:400px; max-height:480px; object-fit:cover; }
.elementor-4766 .fdlm-blog-feature-copy { width:auto; padding:40px; justify-content:center; gap:22px; }
.elementor-4766 .fdlm-blog-feature-title .elementor-heading-title { font-size:39px; line-height:1.12; font-weight:500; }
.elementor-4766 .fdlm-blog-feature-copy .elementor-widget-text-editor:not(.fdlm-editorial-eyebrow) { font-size:17px; line-height:1.65; }
.elementor-4766 .fdlm-blog-list { max-width:1280px; margin:0 auto; padding:64px 24px; gap:16px; }
:is(.elementor-4902,.elementor-4766) .fdlm-editorial-grid { width:100%; margin-top:16px; }
:is(.elementor-4902,.elementor-4766) .fdlm-editorial-grid .elementor-loop-container { column-gap:28px; row-gap:42px; }
.elementor-3431 .fdlm-editorial-card { height:100%; padding:0 0 24px; border-bottom:1px solid #ddd5c8; gap:0; background:transparent; }
.elementor-3431 .fdlm-card-photo { width:100%; }
.elementor-3431 .fdlm-card-photo .elementor-widget-container { aspect-ratio:3/2; overflow:hidden; background:#f3eee6; border-radius:4px; }
.elementor-3431 .fdlm-card-photo img { display:block; width:100%; height:100%; aspect-ratio:3/2; object-fit:cover; transition:transform .25s ease; }
.elementor-3431 .fdlm-card-photo a { display:block; height:100%; }
:is(.elementor-3431,.elementor-4902) img[src*="memee-livre-des-secrets"] { object-fit:contain; background:#f3eee6; }
.elementor-3431 .fdlm-card-copy { gap:13px; padding:20px 0 0; width:100%; }
.elementor-3431 .fdlm-card-title .elementor-heading-title { font-size:24px; line-height:1.23; font-weight:500; }
.elementor-3431 .fdlm-card-title .elementor-heading-title { display:block!important; -webkit-line-clamp:unset!important; overflow:visible!important; }
.elementor-3431 .fdlm-card-title { display:block!important; overflow:visible!important; line-clamp:none!important; -webkit-line-clamp:unset!important; max-height:none!important; }
.elementor-3431 .fdlm-card-title a { color:#142451; display:block!important; -webkit-line-clamp:unset!important; overflow:visible!important; }
.elementor-3431 .fdlm-card-excerpt { font-size:15px; line-height:1.6; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.elementor-3431 .fdlm-card-read .elementor-button { padding:0; color:#8d3a2f; background:transparent; font-size:14px; line-height:1.5; border-radius:0; }
.elementor-3431 .fdlm-card-read .elementor-button:hover { color:#142451; text-decoration:underline; }
:is(.elementor-4902,.elementor-4766) .elementor-pagination { margin-top:38px; font-size:16px; color:#142451; }
:is(.elementor-4902,.elementor-4766) .elementor-pagination .page-numbers { display:inline-block; padding:8px 12px; margin:4px; border:1px solid #ddd5c8; border-radius:3px; }
:is(.elementor-4902,.elementor-4766) .elementor-pagination .current { background:#142451; color:white; border-color:#142451; }
.elementor-4766 .fdlm-blog-recipes { display:grid; grid-template-columns:1fr 1fr; max-width:1232px; margin:0 auto 72px; padding:0; background:#eef2f4; align-items:stretch; gap:0; }
.elementor-4766 .fdlm-blog-recipes-copy { padding:40px; justify-content:center; gap:20px; width:auto; }
.elementor-4766 .fdlm-blog-recipes-copy .elementor-widget-text-editor:not(.fdlm-editorial-eyebrow) { font-size:17px; line-height:1.65; }
.elementor-4766 .fdlm-blog-recipes-photo { width:100%; height:100%; }
.elementor-4766 .fdlm-blog-recipes-photo .elementor-widget-container { height:100%; }
.elementor-4766 .fdlm-blog-recipes-photo img { display:block; height:100%; width:100%; min-height:350px; max-height:400px; object-fit:cover; }
@media (min-width:768px) and (max-width:1300px) {
 .elementor-4766 :is(.fdlm-blog-feature,.fdlm-blog-recipes) { max-width:calc(100% - 48px); }
 .elementor-4902 .fdlm-article-title .elementor-heading-title { font-size:42px; }
 .elementor-4902 .fdlm-article-hero-copy { padding:32px; }
}
@media (max-width:767px) {
 :is(.elementor-4902,.elementor-4766) .fdlm-editorial-crumb { padding:18px 20px; font-size:12px; }
 :is(.elementor-4902,.elementor-4766) .fdlm-editorial-crumb .fil-ariane { font-size:12px; line-height:1.6; }
 :is(.elementor-4902,.elementor-4766) .fdlm-editorial-section-title .elementor-heading-title { font-size:30px; }
 .elementor-4902 .fdlm-article-hero { display:flex; flex-direction:column; padding:0 20px; }
 .elementor-4902 .fdlm-article-hero-copy { padding:28px 24px; gap:18px; }
 .elementor-4902 .fdlm-article-title .elementor-heading-title { font-size:35px; line-height:1.12; }
 .elementor-4902 .fdlm-article-chapo { font-size:16px; line-height:1.6; }
 .elementor-4902 .fdlm-article-featured { min-height:0; height:auto; }
 .elementor-4902 .fdlm-article-featured img { min-height:0; max-height:none; aspect-ratio:4/3; height:auto; }
 .elementor-4902 .fdlm-article-reading { padding:38px 20px; gap:23px; }
 .elementor-4902 .fdlm-article-body-title .elementor-heading-title { font-size:29px; }
 .elementor-4902 .fdlm-article-body { font-size:16px; line-height:1.7; padding:0!important; }
 .elementor-4902 .fdlm-article-body h2 { font-size:26px; margin:32px 0 16px; }
 .elementor-4902 .fdlm-article-body h3 { font-size:23px; }
 .elementor-4902 .fdlm-article-body figure { margin:26px 0 32px; }
 .elementor-4902 .fdlm-article-tip { padding:24px; }
 .elementor-4902 .fdlm-article-tip .elementor-heading-title { font-size:25px; }
 .elementor-4902 .fdlm-article-related { margin-bottom:45px; padding:30px 20px 0; }
 .elementor-4766 .fdlm-blog-intro { padding:8px 20px 28px; gap:14px; }
 .elementor-4766 .fdlm-blog-title .elementor-heading-title { font-size:40px; line-height:1.1; }
 .elementor-4766 .fdlm-blog-intro-text { font-size:16px; }
 .elementor-4766 :is(.fdlm-blog-feature,.fdlm-blog-recipes) { display:flex; flex-direction:column; margin-left:20px; margin-right:20px; width:calc(100% - 40px); }
 .elementor-4766 .fdlm-blog-feature-photo img { min-height:0; max-height:none; aspect-ratio:4/3; height:auto; }
 .elementor-4766 .fdlm-blog-feature-copy { padding:28px 24px; gap:18px; }
 .elementor-4766 .fdlm-blog-feature-title .elementor-heading-title { font-size:31px; }
 .elementor-4766 .fdlm-blog-feature-copy .elementor-widget-text-editor:not(.fdlm-editorial-eyebrow) { font-size:16px; }
 .elementor-4766 .fdlm-blog-list { padding:44px 20px; gap:14px; }
 :is(.elementor-4902,.elementor-4766) .fdlm-editorial-grid .elementor-loop-container { row-gap:30px; }
 .elementor-3431 .fdlm-card-title .elementor-heading-title { font-size:24px; }
 .elementor-3431 .fdlm-card-copy { gap:12px; padding-top:18px; }
 .elementor-4766 .fdlm-blog-recipes { margin-bottom:44px; }
 .elementor-4766 .fdlm-blog-recipes-copy { padding:28px 24px; }
 .elementor-4766 .fdlm-blog-recipes-photo img { min-height:0; max-height:none; height:auto; aspect-ratio:4/3; }
}
@media (prefers-reduced-motion:reduce) {
 :is(.elementor-4902,.elementor-4766,.elementor-3431) * { transition:none!important; animation:none!important; }
}

/* FDLM SEO lot octobre 2026: only the new recipe and article. */
@media (max-width: 767px) {
  body.postid-68784 .elementor-element-95e205b {
    flex-direction: column !important;
    gap: 0 !important;
    padding: 28px 20px !important;
  }
  body.postid-68784 .elementor-element-0249496 {
    display: none !important;
  }
  body.postid-68784 .etapes-recette {
    width: 100% !important;
    --width: 100%;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.postid-68784 .etapes-recette h2 {
    font-size: 30px !important;
    line-height: 1.2 !important;
  }
  body.postid-68784 .etapes-recette h3 {
    font-size: 26px !important;
    line-height: 1.2 !important;
  }
  body.postid-68784 .etapes-recette p {
    font-size: 16px;
    line-height: 1.55;
  }
  body.postid-68784 .elementor-element-40838cc {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
    gap: 10px !important;
    padding: 14px 12px !important;
    background: rgba(20, 36, 81, 0.92);
  }
  body.postid-68784 .elementor-element-40838cc .e-con {
    width: auto !important;
    --width: auto;
    min-width: 0;
  }
  body.postid-68784 .elementor-element-40838cc h3 {
    font-size: 14px !important;
    line-height: 1.3 !important;
  }
  body.postid-68784 .elementor-element-40838cc .elementor-widget-icon {
    display: none !important;
  }
  body.postid-68788 .elementor-element-2e78acd {
    width: 100% !important;
    --container-widget-width: 100%;
    max-width: none !important;
    box-sizing: border-box;
    padding: 0 20px;
  }
  body.postid-68788 .elementor-element-2e78acd h2 {
    font-size: 26px;
    line-height: 1.25;
  }
}

/* FDLM SEO lot novembre 2026: only the new recipe and article. */
@media (max-width: 767px) {
  body.postid-68786 .elementor-element-95e205b {
    flex-direction: column !important;
    gap: 0 !important;
    padding: 28px 20px !important;
  }
  body.postid-68786 .elementor-element-0249496 {
    display: none !important;
  }
  body.postid-68786 .etapes-recette {
    width: 100% !important;
    --width: 100%;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.postid-68786 .etapes-recette h2 {
    font-size: 30px !important;
    line-height: 1.2 !important;
  }
  body.postid-68786 .etapes-recette h3 {
    font-size: 26px !important;
    line-height: 1.2 !important;
  }
  body.postid-68786 .etapes-recette p {
    font-size: 16px;
    line-height: 1.55;
  }
  body.postid-68786 .elementor-element-40838cc {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
    gap: 10px !important;
    padding: 14px 12px !important;
    background: rgba(20, 36, 81, 0.92);
  }
  body.postid-68786 .elementor-element-40838cc .e-con {
    width: auto !important;
    --width: auto;
    min-width: 0;
  }
  body.postid-68786 .elementor-element-40838cc h3 {
    font-size: 14px !important;
    line-height: 1.3 !important;
  }
  body.postid-68786 .elementor-element-40838cc .elementor-widget-icon {
    display: none !important;
  }
  body.postid-68791 .elementor-element-2e78acd {
    width: 100% !important;
    --container-widget-width: 100%;
    max-width: none !important;
    box-sizing: border-box;
    padding: 0 20px;
  }
  body.postid-68791 .elementor-element-2e78acd h2 {
    font-size: 26px;
    line-height: 1.25;
  }
}


html body.tax-product_cat .elementor .elementor-heading-title :is(span[style*="#F0B9F0" i],span[style*="#FFE7B9" i],span[style*="#BBC3B4" i],span[style*="#BFD0DB" i]){background:#F2E2D0!important;color:#142451!important}
body.tax-product_cat{--fdlm-cat:#F2E2D0;--fdlm-cat-tx:#142451;--fdlm-cat-clair:#F2E2D0}