/* Fidélité Shopify (thème Local) — pages collection, produit, contact, en-tête (menu), pied de page.
   Toutes les valeurs sont relevées sur maison-maryjane.com à 1440px (getComputedStyle). Chargé après fidelity.css. */

/* ---------- Police d'icônes Ryviu (étoiles, coche, flèches) — fichier d'origine du widget ---------- */
@font-face { font-family: "ryviu-icon"; src: url("../fonts/ryviu-icon.woff") format("woff"); font-weight: normal; font-style: normal; font-display: block; }
[class^="r-icon--"], [class*=" r-icon--"] { font-family: "ryviu-icon" !important; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.r-icon--arrowleft:before { content: "\e797"; }
.r-icon--arrowright:before { content: "\e798"; }
.r-icon--x:before { content: "\e799"; }
.r-icon--check:before { content: "\e900"; }
.r-icon--star1:before { content: "\e8fe"; }
.r-icon--arrowleft, .r-icon--arrowright, .r-icon--x { font-size: 20px; }
.mmj-rv-stars { display: inline-block; position: relative; text-align: left; line-height: 1; white-space: nowrap; }
.mmj-rv-star { float: left; margin-right: 4px; line-height: 1 !important; color: #fdbc00 !important; font-size: var(--rstheight, 15px) !important; width: var(--rstheight, 15px) !important; height: var(--rstheight, 15px); position: relative; }
.mmj-rv-star:last-child { margin-right: 0 !important; }
.mmj-rv-star.r-stbk { color: #e6e6e6 !important; }
.mmj-rv-star--part { color: #e6e6e6 !important; }
.mmj-rv-star--part .mmj-rv-star__fill { position: absolute; left: 0; top: 0; overflow: hidden; width: var(--mmj-part, 50%); color: #fdbc00 !important; font-size: inherit !important; line-height: 1 !important; }

/* ---------- Conteneur : 1360px, marges internes 40px (Shopify container--large) ---------- */
@media (min-width: 1024px) {
	.content-container.site-container, .site-footer .site-container { padding-left: 40px !important; padding-right: 40px !important; }
	.content-area { margin: 80px 0 !important; }
	.home .content-container.site-container { padding-left: 0 !important; padding-right: 0 !important; }
}
.content-area { position: relative; }
.home .content-area { margin: 0 !important; }

/* ---------- Fil d'Ariane : barre de 80px au-dessus du contenu, 12,25px, séparateur « / » ---------- */
.mmj-breadcrumb { position: absolute; left: 0; right: 0; top: -80px; height: 80px; z-index: 9; }
.mmj-breadcrumb__inner { max-width: 1360px; margin: 0 auto; padding: 0 40px; height: 100%; display: flex; align-items: center; overflow-x: auto; scrollbar-width: none; }
.mmj-breadcrumb__inner::-webkit-scrollbar { width: 0 !important; height: 0 !important; }
.mmj-breadcrumb__nav { display: flex; width: auto; margin: 0; flex-shrink: 0; line-height: 1.1; font-size: 12.25px; color: #1d1d1d; white-space: nowrap; }
.mmj-breadcrumb__link, .mmj-breadcrumb__separator { margin-right: 11px; }
.mmj-breadcrumb__current { margin-right: 25px; }
.mmj-breadcrumb__nav a { color: #1d1d1d; text-decoration: none; border-bottom: 0; padding: 0; transition: all .1s linear; }
@media (hover: hover) { .mmj-breadcrumb__nav a:hover { color: #3ea246; } }
/* Fondus blancs aux extremites du fil d Ariane (Shopify .breadcrumb-main::before / ::after) */
.mmj-breadcrumb::before, .mmj-breadcrumb::after { content: ""; position: absolute; top: 0; height: 100%; pointer-events: none; z-index: 1; }
.mmj-breadcrumb::before { left: 0; width: 25px; background: linear-gradient(90deg, #fff 50%, rgba(255, 255, 255, 0) 100%); }
.mmj-breadcrumb::after { right: 0; width: 50px; background: linear-gradient(-90deg, #fff 50%, rgba(255, 255, 255, 0) 100%); }
.kadence-breadcrumbs, .entry-header .kadence-breadcrumbs, .product-title.product-above:empty { display: none !important; }
.single-product .product-title.product-above { margin: 0 !important; min-height: 0 !important; }
@media (max-width: 1023px) { .mmj-breadcrumb { top: -60px; height: 60px; } .mmj-breadcrumb__inner { padding: 0 24px; } }

/* ---------- Page collection ---------- */
.woocommerce.archive .entry-header.product-archive-title { margin: 0 0 40px !important; }
.woocommerce.archive .entry-header.product-archive-title h1, .woocommerce.archive .entry-header .archive-description { padding-right: 128px; }
.woocommerce.archive .entry-header.product-archive-title h1 { font-family: "Abril Fatface", serif; font-size: 33.6px !important; line-height: 53.76px !important; font-weight: 400; margin: 0 0 16px !important; color: #1d1d1d; }
.woocommerce.archive .entry-header .archive-description, .woocommerce-products-header .term-description { font-size: 14px; line-height: 21px; color: #1d1d1d; margin: 0; padding-bottom: 16px; }
.woocommerce.archive .entry-header .archive-description > :last-child { margin-bottom: 16px !important; }
.woocommerce.archive .entry-header .archive-description p, .woocommerce-products-header .term-description p { margin: 0 0 16px; }
.woocommerce.archive .entry-header .archive-description ul, .woocommerce-products-header .term-description ul { margin: 0 0 16px; padding-left: 20px; }
.woocommerce.archive .entry-header .archive-description a, .woocommerce-products-header .term-description a { color: #1d1d1d; border-bottom: 1px solid; padding-bottom: 1px; text-decoration: none; transition: all .1s linear; }
.woocommerce.archive .entry-header .archive-description a:hover, .woocommerce-products-header .term-description a:hover { color: #3ea246; }
.woocommerce.archive .entry-header, .woocommerce.archive .woocommerce-products-header { margin-bottom: 40px !important; }
.woocommerce.archive .woocommerce-products-header:empty { margin: 0 !important; }
.woocommerce.archive header.woocommerce-products-header { display: none; }

/* Filtres (Shopify component-facets.css) : boites border-box, volets en popup fermes par un calque transparent, cases, prix, curseur, filtres actifs, etat vide */
.mmj-facets, .mmj-facets *, .mmj-facets *::before, .mmj-facets *::after { box-sizing: border-box; }
.mmj-facets { margin: 0; padding: 0; display: flex; justify-content: space-between; }
.mmj-facets__drawer, .mmj-facets__drawer-body { display: contents; }
.mmj-facets__drawer-header, .mmj-facets__overlay, .mmj-facets__handle-wrap { display: none; }
.mmj-facets__prewrapper { max-width: 75%; }
.mmj-facets__heading { font-size: 14px; line-height: 21px; margin: 0; color: #1d1d1d; }
.mmj-facets__wrapper { display: block; }
.mmj-facet { width: auto; display: inline-block; position: relative; margin: 12px 12px 0 0; border: 0; padding: 0; background: transparent; }
.mmj-facet__summary { list-style: none; display: block; width: 100%; font-family: "Fjalla One", sans-serif; font-size: 14px; line-height: 21px; color: #1d1d1d; background-color: #fff; border: 1px solid rgba(29, 29, 29, 0.3); border-radius: 5px; padding: 12px 53px 12px 16px; cursor: pointer; text-align: start; -webkit-appearance: none; appearance: none; outline: none !important; transition: border .1s linear; background-image: url("data:image/svg+xml;utf8,<svg width='13' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M1.414.086 7.9 6.57 6.485 7.985 0 1.5 1.414.086Z' fill='%231d1d1d'/><path d='M12.985 1.515 6.5 8 5.085 6.586 11.571.101l1.414 1.414Z' fill='%231d1d1d'/></svg>"); background-repeat: no-repeat; background-position: calc(100% - 24px) center; background-size: 13px 8px; }
.mmj-facet__summary::-webkit-details-marker { display: none; }
.mmj-facet__summary::marker { content: ""; }
@media (hover: hover) { .mmj-facet__summary:hover { border-color: rgba(29, 29, 29, 0.6); } }
.mmj-facet__summary:focus { border-color: rgba(29, 29, 29, 0.6); }
.mmj-facet__summary:focus-visible { box-shadow: 0 0 0 3px rgba(29, 29, 29, 0.08); }
.mmj-facet[open] > .mmj-facet__summary::before { content: " "; position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 2; display: block; cursor: default; background: transparent; }
.mmj-facet[open] > .mmj-facet__summary + * { z-index: 100; }
.mmj-facet__display { position: absolute; left: 0; top: calc(100% + 10px); background: #fff; border: 1px solid rgba(29, 29, 29, 0.3); border-radius: 5px; width: max-content; min-width: 300px; overflow-y: auto; box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.07); font-size: 14px; line-height: 21px; color: #1d1d1d; }
.mmj-facet__header { padding: 12px 16px; border-bottom: 1px solid rgba(29, 29, 29, 0.3); display: flex; justify-content: space-between; }
.mmj-facet__header a { display: inline-block; text-decoration: underline; color: #1d1d1d; border: 0; padding: 0; margin: 0; }
.mmj-facet__list { list-style: none; padding: 14px 16px; margin: 0; }
.mmj-facet__item { padding: 5px 0; margin: 0; }
.mmj-facet__checkbox { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 14px; width: 100%; cursor: pointer; margin: 0; font-weight: 400; }
.mmj-facet__checkbox--disabled { opacity: .24; pointer-events: none; }
.mmj-facet__checkbox input[type="checkbox"] { -webkit-appearance: none; appearance: none; width: 20px; height: 20px; margin: 0; padding: 0; border: 1px solid rgba(29, 29, 29, 0.3); border-radius: 5px; background: #fff; cursor: pointer; position: relative; display: block; transition: all .1s linear; }
.mmj-facet__checkbox input[type="checkbox"]::before { content: ""; clip-path: polygon(86% 11%, 39% 67%, 12% 43%, 0% 57%, 40% 95%, 100% 22%); transform-origin: top left; background-color: #fff; width: 70%; height: 70%; transform: scale(0) translate(-50%, -50%); display: inline-block; position: absolute; top: 50%; left: 50%; transition: transform ease .25s; }
.mmj-facet__checkbox input[type="checkbox"]:checked { background: #1d1d1d; }
.mmj-facet__checkbox input[type="checkbox"]:checked::before { transform: scale(1) translate(-50%, -50%); }
.mmj-facet__checkbox input:focus-visible + span { outline: 1px solid #1d1d1d; }
.mmj-facet__label { font-size: 12.25px; line-height: 18.375px; }
.mmj-facet__price { padding: 20px 16px; display: flex; justify-content: space-between; align-items: center; }
.mmj-field { border: 1px solid rgba(29, 29, 29, 0.3); border-radius: 5px; position: relative; width: 102px; }
.mmj-field__currency { position: absolute; opacity: .36; top: 50%; transform: translateY(-50%); left: 12px; padding-top: 2px; }
.mmj-field__input.mmj-field__input { display: inline-block; vertical-align: middle; width: 100px; height: 32px; margin: 0; padding: 12px 12px 12px 40px !important; border: 0 !important; border-radius: 5px; background: #fff; font-size: 14px; line-height: 21px; color: #1d1d1d; text-align: end; outline: none; -webkit-appearance: textfield; -moz-appearance: textfield; appearance: textfield; box-shadow: none !important; }
.mmj-field__input::-webkit-outer-spin-button, .mmj-field__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.mmj-facet__price > .mmj-field__label { text-transform: lowercase; }
.mmj-range-slider-wrapper { padding: 0 16px 12px; }
.mmj-range-slider { touch-action: none; -webkit-tap-highlight-color: transparent; -webkit-user-select: none; user-select: none; cursor: pointer; display: block; position: relative; width: 100%; height: 5px; background: #ddd; border-radius: 5px; margin-bottom: 12px; }
.mmj-range-slider input[type="range"] { -webkit-appearance: none; appearance: none; pointer-events: none; position: absolute; z-index: 2; top: 0; left: 0; width: 0; height: 0; background-color: transparent; display: none; }
.mmj-range-slider__thumb { position: absolute; z-index: 3; top: 50%; width: 16px; height: 16px; transform: translate(-50%, -50%); border-radius: 50%; border: 2px solid #1d1d1d; background: #fff; }
.mmj-range-slider__thumb:focus-visible { outline: 0; box-shadow: 0 0 0 6px rgba(33, 150, 243, 0.5); }
.mmj-range-slider__range { position: absolute; z-index: 1; transform: translateY(-50%); top: 50%; width: 100%; height: 100%; background: #1d1d1d; }
.mmj-active-facets { margin: 8px 0 18px; display: flex; gap: 10px; flex-wrap: wrap; }
.mmj-active-facets:empty { display: none; }
.mmj-active-facets .mmj-active-facets__button { position: relative; display: inline-block; text-align: center; border: 1px solid #1d1d1d; border-radius: 16px; font-family: "Fjalla One", sans-serif; font-weight: 700; font-size: 14px; line-height: 1.25; padding: 8px 26px; color: #1d1d1d; background: transparent; box-shadow: none; text-decoration: none; transition: all .1s linear; }
.mmj-active-facets .mmj-active-facets__button--light { padding-right: 40px; }
.mmj-active-facets .mmj-active-facets__button--solid { background: #1d1d1d; border-color: #1d1d1d; color: #fff; }
.mmj-active-facets__button svg { position: absolute; top: 50%; right: 8px; width: 30px; height: 30px; transform: translateY(-50%); pointer-events: none; }
.mmj-active-facets__button svg * { transition: all .1s linear; fill: #1d1d1d; }
@media (hover: hover) { .mmj-active-facets .mmj-active-facets__button:hover { background: #3ea246; border-color: #3ea246; color: #fff; } .mmj-active-facets .mmj-active-facets__button:hover svg * { fill: #fff; stroke: none; } }
.mmj-facets__button { display: none; }
.site-main ul.products.loading { opacity: .36; pointer-events: none; }
.woocommerce ul.products li.mmj-no-products { list-style: none; margin: 0; padding: 0; width: auto; background: transparent; border: 0; }
.woocommerce ul.products li.mmj-no-products .no-content-message { font-size: 14px; line-height: 21px; color: #1d1d1d; margin: 0 0 16px; }
.woocommerce ul.products li.mmj-no-products .no-content-message .button--text { color: #1d1d1d; text-decoration: none; border-bottom: 1px solid #1d1d1d; padding-bottom: 1px; }

/* Compteur (« 10 produits ») : 15px sous les filtres, 40px avant la grille, pas de tri */
.woocommerce.archive .kadence-shop-top-row { padding: 15px 0 0 !important; margin: 0 0 40px !important; display: flex; align-items: flex-end; justify-content: space-between; min-height: 0; }
.woocommerce.archive .kadence-shop-top-item { margin: 0 !important; padding: 0 !important; width: auto !important; }
.woocommerce.archive .kadence-woo-ordering, .woocommerce.archive .woocommerce-ordering { display: none !important; }
.woocommerce.archive .woocommerce-result-count { font-size: 14px; line-height: 21px; opacity: .66; margin: 0 !important; padding: 0; }

/* Cartes produit (collection, sans bouton) : image 4:3, texte padding 25, jauge, titre, prix au gramme, étoiles */
.woocommerce ul.products li.product .product-details, .woocommerce ul.products li.product .product-details.content-bg { padding: 25px 25px 31px !important; margin: 0 !important; }
.woocommerce ul.products li.product .mmj-gauge { margin: 0 auto 14px !important; display: block; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { margin: 0 !important; padding: 0 !important; height: 23px; line-height: 17.325px; }
body.woocommerce ul.products.product-archive, body.woocommerce-page ul.products.product-archive, .woocommerce ul.products.grid-cols, ul.products.content-wrap.product-archive { gap: 12px !important; row-gap: 12px !important; grid-row-gap: 12px !important; column-gap: 12px !important; grid-column-gap: 12px !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title a { padding-bottom: 3px; }
.woocommerce ul.products li.product .price { margin: 2px 0 0 !important; display: block; line-height: 18.9px; }
.woocommerce ul.products li.product .mmj-rating { margin: 12px auto 0 !important; height: 15px; display: flex; justify-content: center; }
.woocommerce ul.products li.product .mmj-rating .star-rating { margin: 0 !important; }
.woocommerce ul.products li.product .mmj-rating__count { display: none !important; }
.woocommerce ul.products li.product .mmj-badges .mmj-badge { text-transform: uppercase; }
/* Cartes avec bouton (accueil, « À découvrir ») : Shopify = prix au gramme, étoiles, titre (pas de jauge), puis bouton ; carte 437px */
.mmj-cards-with-button ul.products li.product .product-details, .mmj-cards-with-button ul.products li.product .product-details.content-bg { padding: 25px 25px 25px !important; display: flex !important; flex-direction: column; align-items: center; }
.mmj-cards-with-button ul.products li.product .mmj-gauge { display: none !important; }
.mmj-cards-with-button ul.products li.product .price { order: 1; margin: 0 0 15.75px !important; height: 12px; line-height: 12px; display: flex; align-items: center; justify-content: center; width: 100%; }
.mmj-cards-with-button ul.products li.product .price .mmj-unit-price { line-height: 18.9px; }
.mmj-cards-with-button ul.products li.product .mmj-rating { order: 2; margin: 0 0 13.7px !important; height: 21px; align-items: flex-start; }
.mmj-cards-with-button ul.products li.product .woocommerce-loop-product__title { order: 3; height: 13px; margin: 0 0 8px !important; padding: 0 !important; overflow: visible; width: 100%; }
.mmj-cards-with-button ul.products li.product .woocommerce-loop-product__title a { display: inline-block; margin-bottom: -7.7px; padding-bottom: 3px; }
.mmj-cards-with-button ul.products li.product .product-action-wrap { order: 4; padding: 25px 0 25px !important; margin: 0 !important; width: 100%; box-sizing: border-box; }
.mmj-cards-with-button ul.products li.product .product-action-wrap .button { display: block !important; width: 100% !important; }
.mmj-cards-with-button ul.products li.product .product-details, .mmj-cards-with-button ul.products li.product .product-details.content-bg { padding-bottom: 25px !important; }
.mmj-cards-with-button ul.products li.product .woocommerce-loop-product__title { height: 13px; }

/* « Vous pouvez également aimer » : cartes carrées 6 colonnes, bordure #e1e1e1, texte 15px */
.mmj-related-collections .mmj-section-heading { margin: 0 0 40px !important; }
.mmj-related-collections .mmj-section-heading__title { font-size: 19.2px; line-height: 30.72px; }
.mmj-related-collections .mmj-section-heading__link { font-size: 15.75px; line-height: 23.625px; text-decoration: none; border-bottom: 1px solid; padding-bottom: 1px; }
.mmj-related-collections .mmj-collection-grid { gap: 12px; }
.mmj-related-collections .mmj-collection-card { border: 1px solid #e1e1e1; border-radius: 10px; overflow: hidden; }
.mmj-related-collections .mmj-collection-card img { aspect-ratio: 1 / 1; width: 100%; height: auto; object-fit: cover; display: block; border-radius: 9px 9px 0 0; }
.mmj-related-collections .mmj-collection-card > span { font-size: 14px !important; line-height: 17.5px !important; padding: 15px !important; display: block; text-align: center; }
.mmj-related-collections .mmj-collection-card > span > span { font-size: 14px; }

/* ---------- Page produit ---------- */
@media (min-width: 1024px) {
	.single-product div.product.entry { display: grid !important; grid-template-columns: 608px 608px; column-gap: 64px; align-items: start; }
	.single-product div.product .woocommerce-product-gallery { width: 608px !important; float: none !important; margin: 0 !important; padding: 0 !important; position: sticky !important; top: 20px !important; }
	.single-product div.product .summary.entry-summary { width: 608px !important; float: none !important; margin: 0 !important; padding: 0 !important; position: sticky; top: 20px; }
	.single-product div.product .woocommerce-tabs, .single-product div.product section.related, .single-product div.product .mmj-product-google-badge, .single-product div.product .mmj-reviews, .single-product div.product > .mmj-badges { grid-column: 1 / -1; }
}
.single-product div.product > .mmj-badges { display: none !important; }
/* Galerie : image rayon 10, navigation flèches + points (comme les carrousels), loupe Shopify 34px à 15px */
.single-product div.product .woocommerce-product-gallery { border-radius: 0 !important; }
.single-product div.product .woocommerce-product-gallery .flex-viewport { border-radius: 10px; }
.single-product div.product .woocommerce-product-gallery__image img { border-radius: 10px; }
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs { display: none !important; }
.single-product div.product .woocommerce-product-gallery .css-slider-navigation-container { margin: 10px 0 -12px; height: 40px; }
/* Loupe de la galerie (Shopify product-image-zoom) : 34x34 a 15px du coin, icone 21px a 5px (padding), survol scale(1.05) instantane sur pointeur fin */
body.single-product #inner-wrap .woocommerce-product-gallery a.woocommerce-product-gallery__trigger, .woocommerce-product-gallery__trigger { top: 15px !important; right: 15px !important; width: 34px !important; height: 34px !important; min-width: 0 !important; min-height: 0 !important; line-height: 34px !important; box-sizing: border-box !important; padding: 5px !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: url("../img/shopify/icon-zoom.svg") 5px 5px / 21px 21px no-repeat !important; font-size: 0; z-index: 99; opacity: 1; transition: opacity .1s linear .1s; }
.woocommerce-product-gallery__trigger::before, .woocommerce-product-gallery__trigger::after, .woocommerce-product-gallery__trigger span, .woocommerce-product-gallery__trigger img { display: none !important; }
@media (hover: hover) and (pointer: fine) { body.single-product #inner-wrap .woocommerce-product-gallery a.woocommerce-product-gallery__trigger:hover { background-position: 4.475px 4.475px !important; background-size: 22.05px 22.05px !important; } }
/* Colonne texte */
.single-product div.product .product_title { font-size: 33.6px !important; line-height: 53.76px !important; margin: 0 0 20px !important; }
/* Notation sous le titre (widget total Ryviu) : etoiles 13px au pas de 17 (81px), #fdbc00 / #D3D3D0 ; « 5.0 ( 1 review ) » en 13px ; 5 etoiles grises sans texte a 0 avis */
.single-product div.product .mmj-rv-total { display: block; margin: 0 0 20px; padding: 0; font-family: "Fjalla One", sans-serif; font-weight: 400; font-size: 14px; line-height: 21px; color: #1d1d1d; }
.mmj-rv-total__item { display: inline-flex; align-items: center; align-content: center; width: max-content; padding-top: 2px; cursor: pointer; vertical-align: baseline; box-sizing: border-box; }
.mmj-rv-total__stars { display: flex; align-items: center; justify-content: center; vertical-align: middle; }
.mmj-rv-total .mmj-rv-stars { display: block; position: relative; width: 81px; height: 13px; margin-top: -1px; line-height: 1; }
.mmj-rv-total .mmj-rv-star { color: #fdbc00 !important; }
.mmj-rv-total .mmj-rv-star.r-stbk, .mmj-rv-total .mmj-rv-star--part { color: #d3d3d0 !important; }
.mmj-rv-total .mmj-rv-star--part .mmj-rv-star__fill { color: #fdbc00 !important; }
.mmj-rv-total__number { display: flex; align-items: center; margin-left: 4px; font-size: 13px; line-height: 1; word-break: normal; color: #1d1d1d; }
.mmj-rv-total__number > span { display: block; margin: 0; padding: 0; line-height: 13px; }
.mmj-rv-total__number .trw-avg { margin: 0 4px; }
.mmj-rv-total__number .trw-text { margin-left: 4px; }
@media (max-width: 1023px) { .single-product div.product .mmj-rv-total { font-size: 13.125px; line-height: 19.6875px; } }
@media (max-width: 474px) { .single-product div.product .mmj-rv-total { font-size: 12.25px; line-height: 18.375px; } }
.single-product div.product form.cart table.variations, .single-product div.product form.cart table.variations tbody, .single-product div.product form.cart table.variations tr, .single-product div.product form.cart table.variations th, .single-product div.product form.cart table.variations td { display: block; width: 100%; padding: 0 !important; margin: 0; border: 0; }
.single-product div.product form.cart table.variations { margin: 0 0 40px !important; }
.single-product div.product form.cart table.variations th.label label { font-size: 15.75px !important; line-height: 23.625px !important; font-weight: 700; display: block; margin: 0 0 10px !important; }
.single-product div.product form.cart table.variations td.value select { width: 100% !important; height: 47px; font-size: 14px; line-height: 21px; color: #1d1d1d; padding: 12px 53px 12px 16px; border: 1px solid rgba(29, 29, 29, 0.3); border-radius: 5px; background-color: #fff; background-image: url("data:image/svg+xml;utf8,<svg width='13' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M1.414.086 7.9 6.57 6.485 7.985 0 1.5 1.414.086Z' fill='%231d1d1d'/><path d='M12.985 1.515 6.5 8 5.085 6.586 11.571.101l1.414 1.414Z' fill='%231d1d1d'/></svg>"); background-repeat: no-repeat; background-position: calc(100% - 24px) 50%; background-size: 13px 8px; -webkit-appearance: none; appearance: none; box-shadow: none; }
.single-product div.product form.cart table.variations td.value select:hover, .single-product div.product form.cart table.variations td.value select:focus { border-color: rgba(29, 29, 29, 0.6); }
.single-product div.product form.cart .reset_variations { display: none !important; }
.single-product div.product .woocommerce-variation-availability, .single-product div.product .woocommerce-variation-description:empty { display: none !important; }
/* Prix : 33,6px/700 (50,4px), barré 14px + économies 12,6px empilés à 20px, prix au gramme à droite */
.single-product div.product .mmj-price { display: flex !important; align-items: center; height: 50px; margin: 0 !important; font-size: 14px; line-height: 21px; color: #1d1d1d; }
.single-product div.product .mmj-price__main, .single-product div.product .mmj-price__main .amount { font-size: 33.6px !important; line-height: 50.4px !important; font-weight: 700 !important; color: #1d1d1d !important; }
.single-product div.product .mmj-price__compare { display: flex; flex-direction: column; margin: 0 0 0 20px; }
.single-product div.product .mmj-price__compare del, .single-product div.product .mmj-price__compare del .amount { font-size: 14px !important; line-height: 17.5px !important; text-decoration: line-through; color: #1d1d1d !important; opacity: 1 !important; font-weight: 400; }
.single-product div.product .mmj-price__compare .mmj-savings { font-size: 12.6px !important; line-height: 15.75px !important; opacity: .62; display: block; margin: 0; color: #1d1d1d !important; }
.single-product div.product .mmj-price__unit { margin-left: auto; font-size: 14px !important; line-height: 21px; opacity: 1 !important; }
.single-product div.product .woocommerce-variation-price { margin: 0; }
.single-product div.product .single_variation_wrap .woocommerce-variation { margin: 0; }
/* Rangée quantité + ajouter au panier : filet 1px à 8px sous le prix, boutons à 26px du filet */
.single-product div.product form.cart .woocommerce-variation-add-to-cart, .single-product div.product form.cart:not(.variations_form) { margin: 8px 0 20px !important; padding: 26px 0 0 !important; border-top: 1px solid rgba(29, 29, 29, 0.15); display: flex !important; align-items: center; gap: 0; }
.single-product div.product form.cart:not(.variations_form) .mmj-price { margin-bottom: 8px !important; }
.single-product div.product form.cart .quantity { display: flex !important; align-items: center; justify-content: space-between; width: 201px; height: 60px; border: 0 !important; border-radius: 0 !important; margin: 0 16px 0 0 !important; padding: 0 !important; background: transparent !important; overflow: visible !important; }
.single-product div.product form.cart .quantity .mmj-qty__minus { order: 1; }
.single-product div.product form.cart .quantity .qty { order: 2; }
.single-product div.product form.cart .quantity .mmj-qty__plus { order: 3; }
.single-product div.product form.cart .quantity .mmj-qty__btn { width: 60px; height: 60px; flex: none; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #1d1d1d !important; border-radius: 16px !important; background: transparent !important; color: #1d1d1d; padding: 0 !important; cursor: pointer; transition: all .1s linear; box-shadow: none !important; }
/* Shopify section-main-product.css : icônes 1.1875rem couleur du texte ; survol = halo 3px rgba(29,29,29,.08) (pas de fond) ; pas d'état grisé à la quantité minimale */
.single-product div.product form.cart .quantity .mmj-qty__btn svg { width: 19px; height: 19px; }
.single-product div.product form.cart .quantity .mmj-qty__btn svg path { fill: #1d1d1d; }
.single-product div.product form.cart .quantity .mmj-qty__btn:hover, .single-product div.product form.cart .quantity .mmj-qty__btn:focus-visible { background: transparent !important; border-color: #1d1d1d !important; box-shadow: 0 0 0 3px rgba(29, 29, 29, 0.08); }
.single-product div.product form.cart .quantity .mmj-qty__btn:hover svg path { fill: #1d1d1d; }
.single-product div.product form.cart .quantity .mmj-qty__btn.disabled { opacity: 1; }
.single-product div.product form.cart .quantity .qty { -moz-appearance: textfield; appearance: textfield; }
.single-product div.product form.cart .quantity .qty::-webkit-inner-spin-button, .single-product div.product form.cart .quantity .qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.single-product div.product form.cart .quantity .qty { width: 60px !important; height: 60px !important; border: 0 !important; border-radius: 5px; background: transparent !important; font-size: 21px !important; line-height: 31.5px; text-align: center; padding: 0 !important; margin: 0 !important; -moz-appearance: textfield; appearance: textfield; box-shadow: none !important; color: #1d1d1d; }
.single-product div.product form.cart .quantity .kadence-qty-button { display: none !important; }
.single-product div.product form.cart .single_add_to_cart_button { flex: 1 1 auto; height: 60px !important; font-size: 17.5px !important; line-height: 21.875px !important; font-weight: 700 !important; padding: 0 30px !important; border-radius: 16px !important; border: 1px solid #1d1d1d !important; background: #1d1d1d !important; color: #fff !important; margin: 0 !important; text-align: center; }
.single-product div.product form.cart .single_add_to_cart_button:hover { background: #3ea246 !important; border-color: #3ea246 !important; }
/* Accordéons (toggle Shopify) : titre 14px/700 padding 19px 0, chevron 13x8 tourné à l'ouverture, filet entre les onglets */
.single-product div.product .mmj-accordions { margin: 0 0 20px !important; }
.single-product div.product .mmj-accordions details { border: 0 !important; margin: 0 !important; padding: 0 !important; background: transparent !important; }
.single-product div.product .mmj-accordions details + details { border-top: 1px solid rgba(29, 29, 29, 0.15) !important; }
.single-product div.product .mmj-accordions summary { list-style: none; display: flex; align-items: center; justify-content: space-between; position: relative; padding: 19px 0 !important; font-size: 14px !important; line-height: 21px; font-weight: 700 !important; color: #1d1d1d; cursor: pointer; transition: .1s linear; background: transparent !important; border: 0 !important; margin: 0 !important; }
.single-product div.product .mmj-accordions summary::-webkit-details-marker { display: none; }
.single-product div.product .mmj-accordions summary::marker { content: ""; }
.single-product div.product .mmj-accordions summary::after { content: ""; width: 13px; height: 21px; flex: none; background: url("data:image/svg+xml;utf8,<svg width='13' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M1.414.086 7.9 6.57 6.485 7.985 0 1.5 1.414.086Z' fill='%23000'/><path d='M12.985 1.515 6.5 8 5.085 6.586 11.571.101l1.414 1.414Z' fill='%23000'/></svg>") center / 13px 8px no-repeat; transition: all .1s linear; }
.single-product div.product .mmj-accordions details[open] summary::after { transform: rotate(180deg); }
.single-product div.product .mmj-accordions summary:hover { color: #1d1d1d; }
.single-product div.product .mmj-accordions .mmj-accordion__content { padding: 0 0 19px !important; font-size: 14px; line-height: 21px; }
.single-product div.product .mmj-accordions .mmj-accordion__content p { margin: 0 0 16px; }
.single-product div.product .mmj-accordions .mmj-accordion__content > :last-child { margin-bottom: 0; }
.single-product div.product .mmj-product-description { margin: 0 0 20px !important; font-size: 14px; line-height: 21px; }
.single-product div.product .mmj-product-description p { margin: 0 0 16px; }
.single-product div.product .mmj-product-description > :last-child { margin-bottom: 0; }
.single-product div.product .mmj-product-subtitle { display: block; margin: 0 0 20px; font-size: 14px; line-height: 21px; color: #6a6a6a; }
.single-product div.product .mmj-product-subtitle p { margin: 0; }
/* « ⚡ Complétez votre commande » */
.mmj-complementary { display: block; margin: 0 0 20px; }
.mmj-complementary__heading { display: block; font-size: 15.75px; line-height: 23.625px; font-weight: 700; margin: 0 0 25px; }
.mmj-complementary__item { display: flex; align-items: center; }
.mmj-complementary__item:not(:last-child) { padding-bottom: 18px; margin-bottom: 18px; border-bottom: 1px solid rgba(29, 29, 29, 0.15); }
.mmj-complementary__image { flex-shrink: 0; width: 90px; align-self: flex-start; margin-right: 18px; border: 1px solid rgba(29, 29, 29, 0.15); border-radius: 10px; overflow: hidden; display: block; }
.mmj-complementary__image img { display: block; width: 88px; height: 105.6px; object-fit: cover; transition: all .2s linear; transform: scale(1); }
.mmj-complementary__image:hover img { transform: scale(1.1); }
.mmj-complementary__text { flex: 1 1 auto; min-width: 0; }
.mmj-complementary__title { display: block; line-height: 1.1; font-size: 15.75px; font-weight: 700; color: #1d1d1d; text-decoration: none; border: 0; padding: 0; }
.mmj-complementary__title span { background-image: linear-gradient(to right, #1d1d1d, #1d1d1d); background-size: 0% 1px; background-repeat: no-repeat; background-position: left calc(1em + 2px); display: inline; padding-bottom: 3px; transition: all .1s linear; }
.mmj-complementary__title:hover span { background-size: 100% 1px; }
.mmj-complementary__price { display: block; font-size: 14px; line-height: 21px; color: rgba(29, 29, 29, 0.62); }
.mmj-complementary__price .amount { color: inherit; font-size: 14px; }
.mmj-complementary__price del { margin-left: 10px; opacity: .62; text-decoration: line-through; }
.mmj-complementary__button { margin-left: 12px; flex: none; }
.mmj-complementary__button .button { font-size: 14px !important; line-height: 17.5px !important; font-weight: 700 !important; padding: 8px 26px !important; border-radius: 16px !important; background: #1d1d1d !important; border: 1px solid #1d1d1d !important; color: #fff !important; display: inline-block; text-align: center; white-space: nowrap; }
.mmj-complementary__button .button:hover { background: #3ea246 !important; border-color: #3ea246 !important; }
/* « À découvrir » : titre 19,2px, 40px avant les cartes, 100px au-dessus */
.single-product div.product section.related { margin: 100px 0 0 !important; padding: 0; }
.single-product div.product section.related > h2 { font-family: "Abril Fatface", serif; font-size: 19.2px !important; line-height: 30.72px !important; font-weight: 400; margin: 0 0 40px !important; text-align: left; }
.single-product div.product section.related ul.products { margin: 0 !important; }
.single-product div.product .mmj-product-google-badge { margin: 100px 0 0 !important; padding: 0; display: flex; justify-content: center; }
.single-product div.product .woocommerce-tabs { display: none !important; }

/* ---------- Avis façon Ryviu ---------- */
.mmj-reviews { margin: 100px 0 0; font-size: 14px; line-height: 21px; color: #1d1d1d; }
.mmj-reviews__head { display: flex; align-items: center; justify-content: space-between; margin: 0 0 20px; }
.mmj-reviews__bar-wrap { display: flex; flex-direction: column; gap: 12px; width: 338px; }
.mmj-reviews__avg-row { display: flex; align-items: center; gap: 8px; }
.mmj-reviews__avg { font-size: 36.4px; font-weight: 600; line-height: 48.048px; }
.mmj-reviews__avg-stars { display: flex; align-items: center; height: 16px; }
.mmj-reviews__total { font-size: 14px; line-height: 16.24px; }
.mmj-reviews__rates { width: 338px; border-collapse: collapse; margin: 0; }
.mmj-reviews__rates th { font-weight: 400; text-align: left; padding: 0; border: 0; height: 29px; line-height: 14px; font-size: 14px; cursor: pointer; background: transparent; }
.mmj-reviews__rates .mmj-reviews__rate-name { width: 39px; }
.mmj-reviews__rates .mmj-reviews__rate-name div { display: flex; align-items: center; gap: 2px; width: 30px; height: 16px; font-size: 14px; }
.mmj-reviews__rates .mmj-reviews__rate-name .r--stars-icon { color: #fdbc00 !important; font-size: 14px; width: 14px; }
.mmj-reviews__rates .mmj-reviews__rate-bar { padding-right: 0; }
.mmj-reviews__bar { display: block; width: 100%; height: 8px; background: #efefef; border-radius: 8px; overflow: hidden; }
.mmj-reviews__bar-fill { display: block; height: 8px; background: #fdbc00; border-radius: 8px; }
.mmj-reviews__rates .mmj-reviews__rate-count { width: 25px; text-align: right; font-size: 13px; }
.mmj-reviews__rate--disabled { opacity: .5; }
.mmj-reviews__rate.is-active .mmj-reviews__rate-count { font-weight: 600; }
.mmj-reviews__write-btn { display: inline-block; font-family: "Fjalla One", sans-serif; font-size: 14px; line-height: 14px; font-weight: 400; color: #fff !important; background: #ffb102 !important; border: 0 !important; border-radius: 5px; padding: 8px 20px !important; height: 36px; cursor: pointer; transition: .3s; box-shadow: none !important; }
.mmj-reviews__write-btn:hover { background: #e6a002 !important; color: #fff !important; }
.mmj-reviews__filter { display: flex; justify-content: space-between; align-items: flex-start; padding: 10px 0 0; height: 63px; }
.mmj-reviews__showing { padding: 21px 0 18px; font-size: 14px; line-height: 14px; }
.mmj-reviews__showing p { margin: 0; line-height: 14px; }
.mmj-reviews__selects { display: flex; gap: 8px; }
.mmj-reviews__select { -webkit-appearance: none; appearance: none; height: 35px; font-family: "Fjalla One", sans-serif; font-size: 14px; line-height: 21px; color: #333; background: #fff url("../img/shopify/icon-ryviu-down.svg") no-repeat calc(100% - 12px) center / 10px auto; border: 1px solid #e7e7e7; border-radius: 6px; padding: 4px 30px 4px 12px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04); transition: border .1s linear; cursor: pointer; }
.mmj-reviews__carousel { position: relative; margin: 5px 0 0; }
.mmj-reviews__viewport { overflow: hidden; margin: 0 -10px; padding: 10px 0; }
.mmj-reviews__track { display: flex; align-items: flex-start; transition: transform .35s ease; will-change: transform; }
.mmj-rv-card { flex: 0 0 305px; width: 305px; min-height: 100px; margin: 0 10px; padding: 0 0 8px; border: 1px solid #ddd; border-radius: 15px; background: #fff; box-sizing: border-box; }
.mmj-rv-card[hidden] { display: none; }
.mmj-rv-card__body { display: flex; flex-direction: column; gap: 15px; padding-top: 15px; }
.mmj-rv-card__content { display: flex; flex-direction: column; gap: 12px; padding: 0 20px; }
.mmj-rv-card__author { display: flex; align-items: center; gap: 8px; }
.mmj-rv-avatar { width: 30px; height: 30px; border-radius: 50%; color: #fff; font-size: 16px; font-weight: 600; line-height: 30px; text-align: center; text-transform: uppercase; flex: none; }
.mmj-rv-card__name-row { display: flex; align-items: center; }
.mmj-rv-card__name { font-size: 14px; font-weight: 600; line-height: 21px; color: #1d1d1d; }
.mmj-rv-card__verified { display: inline-flex; margin-left: 5px; width: 13px; height: 13px; }
.mmj-rv-card__verified i { display: flex; align-items: center; justify-content: center; width: 13px; height: 13px; font-size: 13px; color: #66c345; background: #fff; border-radius: 50%; }
.mmj-rv-card__date { display: block; font-size: 13.02px; line-height: 19.53px; opacity: .7; }
.mmj-rv-card__stars { display: flex; height: 13px; }
.mmj-rv-card__text { display: flex; flex-direction: column; }
.mmj-rv-card__title { font-size: 14px; font-weight: 600; line-height: 21px; margin: 0 0 4px; }
.mmj-rv-card__review { font-size: 14px; line-height: 21px; margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.mmj-rv-card.is-expanded .mmj-rv-card__review { display: block; -webkit-line-clamp: none; }
.mmj-rv-card__more { cursor: pointer; }
.mmj-rv-card__helpful { display: flex; align-items: center; justify-content: flex-end; padding: 0 20px; height: 21px; }
.mmj-rv-card__helpful-text { font-size: 13.02px; line-height: 20px; }
.mmj-rv-card__likes { display: flex; align-items: center; margin-left: 4px; }
.mmj-rv-card__like { display: inline-flex; align-items: center; margin-left: 10px; padding: 0; border: 0; background: transparent; color: #1d1d1d; cursor: pointer; font: inherit; height: 21px; }
.mmj-rv-card__like .mmj-rv-card__icon { width: 20px; height: 20px; display: inline-flex; }
.mmj-rv-card__like svg { width: 20px; height: 20px; fill: #4a4a4a; }
.mmj-rv-card__like .mmj-rv-card__count { font-size: 14px; line-height: 21px; }
/* Ryviu (Shopify) : aucun changement au survol, au focus ni au clic (le style des boutons Kadence est neutralise) */
.mmj-rv-card__like:hover, .mmj-rv-card__like:focus, .mmj-rv-card__like:active, .mmj-rv-card__like.is-voted { border: 0; background: transparent; box-shadow: none; color: #1d1d1d; }
.mmj-rv-card__like:focus:not(:focus-visible) { outline: none; }
.mmj-reviews__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 45px; height: 45px; border-radius: 50%; border: 0; background: rgba(217, 217, 217, 0.5); color: #000; display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; z-index: 2; }
.mmj-reviews__nav[hidden] { display: none; }
.mmj-reviews__next { right: -22px; }
.mmj-reviews__prev { left: -22px; }
.mmj-reviews__nav em { font-size: 20px; width: 20px; height: 20px; line-height: 20px; }
.mmj-reviews__more { display: flex; justify-content: center; margin: 35px 0 0; }
.mmj-reviews__more[hidden] { display: none; }
.mmj-reviews__more-btn { font-family: "Fjalla One", sans-serif; font-size: 14px; line-height: 14px; font-weight: 500; color: #1d1d1d !important; background: #fff !important; border: 1px solid #d9d9d9 !important; border-radius: 5px; padding: 8px 20px !important; height: 36px; cursor: pointer; transition: .3s; box-shadow: none !important; }
.mmj-reviews__more-btn:hover { border-color: #1d1d1d !important; }

/* ---------- En-tête : bloc Contact (image feuille 38px + texte), menu principal ---------- */
.main-navigation .primary-menu-container > ul > li.menu-item.mmj-nav-contact { margin-left: auto; margin-right: 50px; }
.main-navigation .primary-menu-container > ul > li.menu-item.mmj-nav-contact > a { display: flex !important; align-items: center; padding: 0 !important; height: 38px; margin: 18px 0; line-height: 15.4px; }
.mmj-nav-contact__image { display: block; width: 38px; height: 38px; margin-right: 15px; font-size: 0; line-height: 0; }
.mmj-nav-contact__image img { width: 38px; height: 38px; display: block; border-radius: 0; }
.mmj-nav-contact__text { display: block; margin-top: 5px; font-size: 14px; line-height: 15.4px; }
.mmj-nav-contact > a .mmj-nav-text { padding-bottom: 3px; }
/* Liens de premier niveau : le rang commence 20px avant le contenu (padding 15px 20px), chevron Shopify 13x8 à 10px */
@media (min-width: 1024px) {
	.site-bottom-header-wrap .site-header-row-container-inner > .site-container { padding-left: 20px !important; padding-right: 40px !important; }
	.main-navigation .primary-menu-container > ul > li.menu-item > a { padding: 15px 20px !important; line-height: 14px !important; display: inline-flex !important; align-items: center; }
	.main-navigation .primary-menu-container > ul > li.menu-item > a .nav-drop-title-wrap { display: inline-flex; align-items: center; padding: 0 !important; }
	.main-navigation .primary-menu-container > ul > li.menu-item > a .dropdown-nav-toggle { display: inline-flex !important; position: static !important; flex: none; align-items: center; width: 13px; height: 14px; margin: 0 0 0 10px !important; padding: 0 !important; background: url("data:image/svg+xml;utf8,<svg width='13' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M1.414.086 7.9 6.57 6.485 7.985 0 1.5 1.414.086Z' fill='%231d1d1d'/><path d='M12.985 1.515 6.5 8 5.085 6.586 11.571.101l1.414 1.414Z' fill='%231d1d1d'/></svg>") center / 13px 8px no-repeat; }
	.main-navigation .primary-menu-container > ul > li.menu-item > a .dropdown-nav-toggle svg, .main-navigation .primary-menu-container > ul > li.menu-item > a .dropdown-nav-toggle .kadence-svg-iconset { display: none !important; }
	/* Sous-menu (normal-menu Shopify) : panneau blanc bordure rgba(29,29,29,.1) sans ombre, décalé de -10px, liens 14px padding 10px 30px */
	.header-navigation .header-menu-container ul ul.sub-menu { position: absolute; left: 0; top: 100%; margin: 1px 0 0 -10px !important; padding: 35px 0 20px !important; min-width: 150px !important; width: max-content; max-width: 360px; background: transparent !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; opacity: 0; visibility: hidden; transition: opacity .1s linear 40ms, visibility .1s linear 40ms !important; transform: none !important; z-index: 10; }
	.header-navigation .header-menu-container ul ul.sub-menu::before { content: ""; position: absolute; left: 0; right: 0; top: 15px; height: 0; background: #fff; border: 1px solid rgba(29, 29, 29, 0.1); border-top: 0; z-index: 0; transition: height .1s ease-in-out 40ms; box-sizing: border-box; }
	.header-navigation .header-menu-container ul li.menu-item:hover > ul.sub-menu, .header-navigation .header-menu-container ul li.menu-item:focus-within > ul.sub-menu, .header-navigation .header-menu-container ul li.menu-item.menu-item--toggled-on > ul.sub-menu { opacity: 1; visibility: visible; transition: opacity 10ms linear, visibility 10ms linear !important; }
	.header-navigation .header-menu-container ul li.menu-item:hover > ul.sub-menu::before, .header-navigation .header-menu-container ul li.menu-item:focus-within > ul.sub-menu::before { height: calc(100% - 15px); transition: height .14s ease-in-out; }
	.header-navigation .header-menu-container ul ul.sub-menu > li.menu-item { position: relative; z-index: 1; display: block; margin: 0 !important; padding: 0 !important; border: 0 !important; opacity: 0; transform: translateY(5px); transition: 80ms linear; background: transparent !important; }
	.header-navigation .header-menu-container ul li.menu-item:hover > ul.sub-menu > li.menu-item, .header-navigation .header-menu-container ul li.menu-item:focus-within > ul.sub-menu > li.menu-item { opacity: 1; transform: translateY(0); transition: .12s linear 80ms; }
	.header-navigation .header-menu-container ul ul.sub-menu li.menu-item > a { display: flex !important; align-items: center; width: max-content; min-width: 100%; padding: 10px 30px !important; font-size: 14px !important; line-height: 14px !important; font-weight: 400; color: #1d1d1d !important; background: transparent !important; border: 0 !important; text-decoration: none; }
	.header-navigation .header-menu-container ul ul.sub-menu li.menu-item > a:hover { color: #000 !important; background: transparent !important; }
	.header-navigation .header-menu-container ul ul.sub-menu li.menu-item > a .mmj-nav-text, .header-navigation .header-menu-container ul ul.sub-menu li.menu-item > a .nav-drop-title { background-image: linear-gradient(to right, #000, #000); background-size: 0% 1px; background-repeat: no-repeat; background-position: left calc(1em + 2px); display: inline; padding-bottom: 3px; transition: all .1s linear; }
	.header-navigation .header-menu-container ul ul.sub-menu li.menu-item > a:hover .mmj-nav-text, .header-navigation .header-menu-container ul ul.sub-menu li.menu-item > a:hover .nav-drop-title { background-size: 100% 1px; }
	.header-navigation .header-menu-container ul ul.sub-menu li.menu-item > a .nav-drop-title-wrap { display: inline-flex; align-items: center; line-height: 14px; height: 14px; }
	.header-navigation .header-menu-container ul ul.sub-menu li.menu-item > a .dropdown-nav-toggle { display: inline-flex !important; width: 13px; height: 13px; margin-left: 10px !important; padding: 0 !important; background: url("data:image/svg+xml;utf8,<svg width='13' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M1.414.086 7.9 6.57 6.485 7.985 0 1.5 1.414.086Z' fill='%231d1d1d'/><path d='M12.985 1.515 6.5 8 5.085 6.586 11.571.101l1.414 1.414Z' fill='%231d1d1d'/></svg>") center / 12.35px 7.6px no-repeat; transform: rotate(-90deg); position: relative; }
	.header-navigation .header-menu-container ul ul.sub-menu li.menu-item > a .dropdown-nav-toggle svg { display: none !important; }
	/* Troisième niveau (babymenu) : à droite, aligné sur le lien parent, bordure et 19px de marge interne */
	.header-navigation .header-menu-container ul ul.sub-menu ul.sub-menu { left: 100% !important; top: -20px !important; margin: 0 0 0 -1px !important; padding: 19px 0 !important; background: #fff !important; border: 1px solid rgba(29, 29, 29, 0.1) !important; min-width: 150px !important; opacity: 0; visibility: hidden; clip-path: polygon(0 0, 0% 0, 0% 100%, 0% 101%); transition: opacity .1s linear 40ms, visibility .1s linear 40ms, clip-path .1s ease-in-out 40ms !important; }
	.header-navigation .header-menu-container ul ul.sub-menu ul.sub-menu::before { content: none; }
	.header-navigation .header-menu-container ul ul.sub-menu li.menu-item:hover > ul.sub-menu, .header-navigation .header-menu-container ul ul.sub-menu li.menu-item:focus-within > ul.sub-menu { opacity: 1; visibility: visible; clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 101%); transition: opacity 10ms linear, visibility 10ms linear, clip-path .14s ease-in-out !important; }
}

/* ---------- Pied de page : 4 colonnes de 272px (écart 64), marges 80px, barre du bas 25px / 14px ---------- */
@media (min-width: 1024px) {
	.site-footer .site-middle-footer-inner-wrap { padding: 80px 0 !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; column-gap: 64px !important; grid-column-gap: 64px !important; }
	.site-footer .site-bottom-footer-inner-wrap { padding: 25px 0 !important; min-height: 0 !important; }
}
.site-footer .site-bottom-footer-inner-wrap, .site-footer .site-info, .site-footer .site-info p, .site-footer .footer-html { font-size: 14px !important; line-height: 21px !important; color: #000; }
.site-footer .site-info .footer-html-inner > :last-child, .site-footer .site-info p, .site-footer .site-info .footer-html-inner, .site-footer .site-info-inner, .site-footer .footer-html { margin: 0 !important; padding: 0 !important; }
.site-footer .site-info a { color: #000; border-bottom: 1px solid; padding-bottom: 1px; text-decoration: none; transition: all .1s linear; }
.site-footer .site-info a:hover { color: #3ea246; }

/* Colonnes du pied de page (Shopify) : logo à 16px, titre col. 2 en 19,2px, liens en paragraphes (16px), col. 4 en lignes de 21px (5px), icônes 24px */
.site-footer .footer-widget1 .widget_media_image, .site-footer .footer-widget1 .widget_block { margin: 0; }
.site-footer .footer-widget1 figure.wp-block-image { margin: 16px 0 0 !important; }
.site-footer .footer-widget1 figure.wp-block-image img { width: 272px; max-width: 100%; height: auto; }
.site-footer .footer-widget1 .mmj-footer-slogan { display: none; }
.site-footer .widget-title, .site-footer .widget_block h3.wp-block-heading { font-family: "Abril Fatface", serif; font-size: 14.4px !important; line-height: 23.04px !important; font-weight: 400; margin: 0 0 16px !important; text-transform: none; }
.site-footer .footer-widget2 .widget-title { font-size: 19.2px !important; line-height: 30.72px !important; }
.site-footer .widget_nav_menu ul.menu { margin: 0; padding: 0; list-style: none; }
.site-footer .widget_nav_menu ul.menu li { margin: 0 !important; padding: 0 !important; line-height: 21px; font-size: 14px; }
.site-footer .widget_nav_menu ul.menu li a { display: inline; padding: 0 0 1px !important; line-height: 21px; }
.site-footer .footer-widget2 .widget_nav_menu ul.menu li { margin: 0 0 16px !important; }
.site-footer .footer-widget2 .widget_nav_menu ul.menu li:last-child { margin: 0 !important; }
.site-footer .footer-widget4 .widget_nav_menu ul.menu li { margin: 0 0 5px !important; }
.site-footer .widget_block p { margin: 0 0 16px; font-size: 14px; line-height: 21px; }
.site-footer .mmj-social--footer { display: flex; margin: 0 0 0 -5px !important; padding: 0; }
.site-footer .mmj-social--footer .social-button { width: 24px !important; height: 24px !important; margin: 5px !important; padding: 0 !important; display: inline-flex; border: 0 !important; }
.site-footer .mmj-social--footer .social-button svg { width: 24px; height: 24px; }

/* ---------- Blog (index) : titre 33,6px + 40px, grille 2 colonnes (écart 12 / 80), vignette bordée, titre 21px, date 12,25px opacité .62, pagination en cercles de 40px ---------- */
.blog .entry-header.post-archive-title, .archive.category .entry-header, .archive.tag .entry-header { margin: 0 0 40px !important; }
.blog .entry-header.post-archive-title h1, .archive.category .entry-header h1, .archive.tag .entry-header h1 { font-family: "Abril Fatface", serif; font-size: 33.6px !important; line-height: 53.76px !important; font-weight: 400; margin: 0 !important; }
.kadence-posts-list.grid-cols { gap: 80px 12px !important; row-gap: 80px !important; column-gap: 12px !important; }
.loop-entry.type-post .entry-content-wrap { padding: 0 !important; }
.loop-entry.type-post .post-thumbnail { margin: 0 0 21px !important; }
.loop-entry.type-post .entry-content-wrap .entry-header { margin: 0 !important; }
.loop-entry.type-post .entry-title { font-size: 21px !important; line-height: 23.1px !important; font-weight: 700 !important; height: 25px; margin: 0 0 10.5px !important; padding: 0 !important; overflow: visible; }
.loop-entry.type-post .entry-title a { display: inline; padding-bottom: 3px; line-height: 23.1px; }
.loop-entry.type-post .entry-meta { margin: 0 0 10.5px !important; height: 21px; line-height: 21px; font-size: 12.25px; opacity: .62; display: flex; align-items: center; }
.loop-entry.type-post .entry-meta > * { line-height: 18.375px; }
.loop-entry.type-post .entry-summary { margin: 0; font-size: 14px; line-height: 21px; }
.loop-entry.type-post .entry-summary p { margin: 0; }
.blog nav.navigation.pagination, .archive nav.navigation.pagination { margin: 0 !important; padding: 50px 0 0 !important; }
.blog nav.navigation.pagination .nav-links, .archive nav.navigation.pagination .nav-links { display: flex; align-items: center; justify-content: flex-start; padding-left: 5px; }
nav.navigation.pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; width: 40px !important; height: 40px !important; margin: 0 5px !important; padding: 0 !important; border: 1px solid transparent !important; border-radius: 50% !important; font-size: 14px !important; line-height: 38px !important; color: #1d1d1d !important; background: transparent !important; box-shadow: none !important; transition: background-color .25s, border-color .25s, color .25s; }
nav.navigation.pagination .page-numbers.current, nav.navigation.pagination a.next.page-numbers, nav.navigation.pagination a.prev.page-numbers { border-color: rgba(29, 29, 29, 0.15) !important; }
nav.navigation.pagination .page-numbers.dots { width: 10px !important; border: 0 !important; margin: 0 5px !important; }
nav.navigation.pagination a.page-numbers:hover { border-color: #1d1d1d !important; color: #1d1d1d !important; }
nav.navigation.pagination a.next.page-numbers .kadence-svg-iconset, nav.navigation.pagination a.prev.page-numbers .kadence-svg-iconset { display: none !important; }
nav.navigation.pagination a.next.page-numbers::after, nav.navigation.pagination a.prev.page-numbers::after { content: ""; width: 8px; height: 13px; background: currentColor; -webkit-mask: url("../img/shopify/icon-arrow-next.svg") center / 8px 13px no-repeat; mask: url("../img/shopify/icon-arrow-next.svg") center / 8px 13px no-repeat; }
nav.navigation.pagination a.prev.page-numbers::after { -webkit-mask-image: url("../img/shopify/icon-arrow-prev.svg"); mask-image: url("../img/shopify/icon-arrow-prev.svg"); }
nav.navigation.pagination a.next.page-numbers:hover, nav.navigation.pagination a.prev.page-numbers:hover { background: #1d1d1d !important; border-color: #1d1d1d !important; color: #fff !important; }

/* ---------- Article de blog (Shopify) : image 1280x710 rayon 10, en-tête et contenu dans 943px (marge haute 50), colonne 663 + « Partager » / « Mots clés » 200px collants à droite, « More articles » ---------- */
@media (min-width: 1024px) {
	.single-post .content-container.site-container { max-width: 1360px !important; margin: 0 auto !important; padding: 0 40px !important; }
	.single-post .site-main, .single-post .content-wrap { max-width: none !important; }
}
.single-post .post-thumbnail.article-post-thumbnail { padding: 0 !important; margin: 0 !important; height: auto; }
.single-post .post-thumbnail.article-post-thumbnail .post-thumbnail-inner { position: static; }
.single-post .post-thumbnail.article-post-thumbnail img { width: 100%; aspect-ratio: auto; height: auto; object-fit: cover; border-radius: 10px; display: block; } /* format d'origine de l'image, comme Shopify */
.single-post article.entry.single-entry { max-width: 943px; margin: 50px auto 0 !important; border-radius: 0 !important; }
.single-post article.entry.single-entry .entry-content-wrap { padding: 0 !important; }
.single-post .entry-header.post-title { margin: 0 !important; }
.single-post .entry-header.post-title h1.entry-title { font-family: "Abril Fatface", serif; font-size: 33.6px !important; line-height: 53.76px !important; font-weight: 400; margin: 0 0 16px !important; }
.single-post .entry-header.post-title .entry-meta { display: flex; align-items: center; flex-wrap: wrap; margin: 0 !important; font-size: 12.25px; line-height: 21px; height: 21px; }
.single-post .entry-header.post-title .entry-meta .posted-on { order: 1; margin-right: 20px; }
.single-post .entry-header.post-title .entry-meta .posted-by { order: 2; }
.single-post .entry-header.post-title .entry-meta .posted-by a, .single-post .entry-header.post-title .entry-meta .posted-on a { color: #1d1d1d; text-decoration: none; border: 0; padding: 0; }
.single-post .entry-header.post-title .entry-meta .posted-on time + time, .single-post .entry-header.post-title .entry-meta .meta-label, .single-post .entry-header.post-title .entry-meta-divider-dot .posted-on::before, .single-post .entry-header.post-title .entry-meta-divider-dot .posted-by::before, .single-post .entry-header.post-title .entry-meta .updated-on { display: none !important; }
.single-post .entry-header.post-title .entry-meta > * { line-height: 18.375px; }
.single-post .entry-content.single-content { margin-top: 50px !important; }
.single-post .mmj-article { display: flex; justify-content: space-between; align-items: flex-start; gap: 0; }
.single-post .mmj-article__content { width: 663px; flex: none; max-width: 100%; font-size: 14px; line-height: 21px; }
.single-post .mmj-article__meta { width: 200px; flex: none; position: sticky; top: 20px; }
.single-post .mmj-article__meta-block + .mmj-article__meta-block { margin-top: 50px; }
.single-post .mmj-article__meta-title { display: block; font-size: 15.75px; line-height: 23.625px; margin: 0; padding: 0; }
.single-post .mmj-article__meta-block > * { margin-top: 0; }
.single-post .entry-header.post-title .entry-meta time.updated:not(.published) { display: none !important; }
.single-post .mmj-article__share { display: flex; padding-top: 15px; margin: 0 0 0 -5px; }
.single-post .mmj-article__share a { display: inline-flex; width: 24px; height: 24px; margin: 5px; padding: 0; border: 0; color: #1d1d1d; }
.single-post .mmj-article__share a svg { width: 24px; height: 24px; }
.single-post .mmj-article__share a:hover { color: #3ea246; }
.single-post .mmj-article__tags { display: flex; flex-wrap: wrap; gap: 10px; padding-top: 15px; }
.single-post .mmj-article__tags a { display: block; font-size: 14px !important; line-height: 17.5px !important; font-weight: 700 !important; padding: 8px 26px !important; border: 1px solid #1d1d1d !important; border-radius: 16px !important; color: #1d1d1d !important; background: transparent !important; text-decoration: none !important; text-align: center; transition: all .1s linear; }
.single-post .mmj-article__tags a:hover { background: #3ea246 !important; border-color: #3ea246 !important; color: #fff !important; }
.single-post .mmj-article__content p { margin: 0 0 16px; }
.single-post .mmj-article__content h2 { font-family: "Abril Fatface", serif; font-size: 33.6px; line-height: 53.76px; font-weight: 400; margin: 0 0 16px; }
.single-post .mmj-article__content h3 { font-family: "Abril Fatface", serif; font-size: 25.6px; line-height: 40.96px; font-weight: 400; margin: 0 0 16px; }
.single-post .mmj-article__content h4 { font-family: "Abril Fatface", serif; font-size: 19.2px; line-height: 30.72px; font-weight: 400; margin: 0 0 16px; }
.single-post .mmj-article__content ul, .single-post .mmj-article__content ol { margin: 12px 0 14px 28px; padding: 0; }
.single-post .mmj-article__content li { margin: 0; }
.single-post .mmj-article__content li + li { margin-top: 12px; }
.single-post .mmj-article__content a { color: #1d1d1d; border-bottom: 1px solid; padding-bottom: 1px; text-decoration: none; transition: all .1s linear; }
.single-post .mmj-article__content a:hover { color: #3ea246; }
.single-post .mmj-article__content table { width: 100%; border-collapse: collapse; border: 1px solid rgba(29, 29, 29, 0.15); margin: 0 0 16px; }
.single-post .mmj-article__content th, .single-post .mmj-article__content td { padding: 10px 14px 8px; font-size: 14px; line-height: 21px; font-weight: 400; text-align: left; border: 1px solid rgba(29, 29, 29, 0.15); }
.single-post .mmj-article__content hr { margin: 7px 0; border: 0; border-top: 1px inset #808080; height: 0; }
.single-post .mmj-article__content img { border-radius: 10px; }
.single-post .entry-related, .single-post .comments-area, .single-post .kadence-post-navigation, .single-post .post-navigation { display: none !important; }
.single-post .mmj-more-articles { max-width: 943px; margin: 100px auto 0; }
.single-post .mmj-more-articles__title { font-family: "Abril Fatface", serif; font-size: 19.2px; line-height: 30.72px; font-weight: 400; margin: 0 0 16px; padding: 50px 0 0; }
.single-post .mmj-more-articles__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; padding-top: 25px; }
.single-post .mmj-more-articles__image { display: block; border: 1px solid #e1e1e1; border-radius: 10px; overflow: hidden; margin: 0 0 14px; }
.single-post .mmj-more-articles__image img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; transform: scale(1); transition: transform .45s ease-in-out; }
.single-post .mmj-more-articles__image:hover img { transform: scale(1.1); transition: transform .6s ease-out; }
.single-post .mmj-more-articles__name { display: block; height: 24px; margin: 0 0 7px; }
.single-post .mmj-more-articles__name span { font-size: 15.75px; font-weight: 700; line-height: 23.625px; background-image: linear-gradient(to right, #1d1d1d, #1d1d1d); background-size: 0% 2px; background-repeat: no-repeat; background-position: left calc(1em + 3px); display: inline; padding-bottom: 3px; transition: all .1s linear; }
.single-post .mmj-more-articles__name:hover span { background-size: 100% 2px; }
.single-post .mmj-more-articles__date { display: block; font-size: 12.25px; line-height: 21px; opacity: .62; }
@media (max-width: 1023px) {
	.single-post .mmj-article { flex-direction: column; }
	.single-post .mmj-article__content, .single-post .mmj-article__meta { width: 100%; position: static; }
	.single-post .mmj-more-articles__grid { grid-template-columns: 1fr; }
}


/* Accueil : bloc réassurance centré dans 1280px (le conteneur du groupe n'est pas contraint) */
@media (min-width: 1024px) { .home .entry-content .mmj-reassurance .wp-block-columns { max-width: 1280px; margin-left: auto !important; margin-right: auto !important; } }

/* ---------- Pages (Shopify main-page : titre centré 33,6px dans un conteneur de 943px) et page Contact ---------- */
.page:not(.home):not(.woocommerce-page) .entry.single-entry .entry-content-wrap { padding: 0 !important; }
.page:not(.home):not(.woocommerce-page) .entry-header.page-title { max-width: 943px; margin: 0 auto !important; padding: 0; text-align: center; }
.page:not(.home):not(.woocommerce-page) .entry-header.page-title h1.entry-title { font-family: "Abril Fatface", serif; font-size: 33.6px !important; line-height: 53.76px !important; font-weight: 400; margin: 0 0 16px !important; text-align: center; }
.page:not(.home):not(.woocommerce-page) .entry-content.single-content { margin-top: 0 !important; }
.entry-content p.mmj-page-intro { max-width: 943px; margin: 8px auto 0 !important; text-align: center; opacity: .75; font-size: 14px; line-height: 21px; }
.entry-content p.mmj-page-intro a { color: #1d1d1d; }
.entry-content .mmj-contact { margin: 24px 0 0 !important; padding: 50px 0; }
/* Grille Shopify .contact-form : 2fr 1fr 1fr, ecart 25 (20 de 1024 a 1280), une colonne sous 1024 */
.entry-content .mmj-contact:not(:has(> .wp-block-group__inner-container)), .entry-content .mmj-contact > .wp-block-group__inner-container { display: grid; grid-template-columns: 2fr 1fr 1fr; align-items: stretch; gap: 25px; }
.entry-content .mmj-contact:has(> .wp-block-group__inner-container) { display: block; }
.entry-content .mmj-contact > .wp-block-group__inner-container { width: 100%; }
.entry-content .mmj-contact__form { width: auto; min-width: 0; margin: 0; }
.entry-content .mmj-contact__info { width: auto; min-width: 0; margin: 0; }
.entry-content .mmj-contact__title { font-family: "Abril Fatface", serif; font-size: 19.2px !important; line-height: 30.72px !important; font-weight: 400; margin: 0 0 16px !important; padding: 0 0 15px; text-align: left; }
.entry-content .mmj-contact__box { border: 1px solid rgba(29, 29, 29, 0.15); border-radius: 10px; padding: 25px; margin: 0 !important; font-size: 14px; line-height: 21px; }
.entry-content .mmj-contact__box ul { list-style: none; margin: 0 !important; padding: 0 !important; }
.entry-content .mmj-contact__box ul li { margin: 0; padding: 0; }
.entry-content .mmj-contact__box p { margin: 0 0 16px !important; }
.entry-content .mmj-contact__box p:empty { display: none; }
.entry-content .mmj-contact__box strong { font-weight: 700; }
.mmj-form.mmj-contact-form .mmj-form__row { margin: 0 0 15px !important; }
.mmj-form.mmj-contact-form label { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.mmj-form.mmj-contact-form input[type="text"], .mmj-form.mmj-contact-form input[type="email"], .mmj-form.mmj-contact-form input[type="tel"], .mmj-form.mmj-contact-form textarea { width: 100%; font-family: "Fjalla One", sans-serif; font-size: 14px; line-height: 21px; color: #1d1d1d; padding: 12px !important; border: 1px solid rgba(29, 29, 29, 0.3) !important; border-radius: 5px !important; background: #fff; box-shadow: none !important; height: 47px; }
.mmj-form.mmj-contact-form textarea { height: 228px; padding: 10px 12px 12px !important; line-height: 19.6px; resize: vertical; }
.mmj-form.mmj-contact-form input:hover, .mmj-form.mmj-contact-form input:focus, .mmj-form.mmj-contact-form textarea:hover, .mmj-form.mmj-contact-form textarea:focus { border-color: rgba(29, 29, 29, 0.6) !important; }
.mmj-form.mmj-contact-form ::placeholder { color: #1d1d1d; opacity: .66; }
.mmj-form.mmj-contact-form .button { font-size: 15.75px !important; line-height: 19.6875px !important; font-weight: 700 !important; padding: 11px 36px !important; border-radius: 16px !important; background: #1d1d1d !important; border: 1px solid #1d1d1d !important; color: #fff !important; height: 44px; }
.mmj-form.mmj-contact-form .button:hover { background: #3ea246 !important; border-color: #3ea246 !important; }
/* Shopify : bouton a hauteur naturelle, 15px dessous (12 de 1024 a 1280, 9 sous 1024) ; champs pleine largeur */
html body .mmj-form.mmj-contact-form .button { height: auto !important; margin-bottom: 15px !important; }
html body .mmj-form.mmj-contact-form :is(input[type="text"], input[type="email"], input[type="tel"], textarea) { max-width: none !important; }
@media (min-width: 1024px) and (max-width: 1280px) {
	.entry-content .mmj-contact { padding: 35px 0 !important; }
	.entry-content .mmj-contact, .entry-content .mmj-contact > .wp-block-group__inner-container { gap: 20px; }
	html body .entry-content .mmj-contact__title { padding-bottom: 12px !important; }
	html body .mmj-form.mmj-contact-form .mmj-form__row { margin-bottom: 12px !important; }
	html body .mmj-form.mmj-contact-form .button { margin-bottom: 12px !important; }
	.entry-content .mmj-contact__box { padding: 20px; }
}
.mmj-form__msg { margin: 0 0 15px; padding: 12px 16px; border: 1px solid rgba(29, 29, 29, 0.3); border-radius: 5px; font-size: 14px; }
.mmj-form__msg--ok { border-color: #3ea246; color: #3ea246; }
.mmj-form__msg--err { border-color: #d02e2e; color: #d02e2e; }
@media (max-width: 1023px) {
	.entry-content .mmj-contact, .entry-content .mmj-contact > .wp-block-group__inner-container { grid-template-columns: minmax(0, 1fr); }
	.entry-content .mmj-contact { padding: 30px 0; }
	.entry-content .mmj-contact__form, .entry-content .mmj-contact__info { width: 100%; }
	html body .mmj-form.mmj-contact-form .button { margin-bottom: 9px !important; }
	.mmj-reviews__head { flex-direction: column; align-items: flex-start; gap: 20px; }
	.mmj-reviews__bar-wrap, .mmj-reviews__rates { width: 100%; max-width: 338px; }
	.mmj-reviews__filter { height: auto; flex-direction: column; gap: 10px; }
	.mmj-rv-card { flex-basis: 280px; width: 280px; }
	.mmj-reviews__next { right: 0; } .mmj-reviews__prev { left: 0; }
	.mmj-complementary__item { flex-wrap: wrap; }
	.mmj-complementary__button { margin: 12px 0 0; width: 100%; }
	.single-product div.product form.cart .quantity { width: 160px; }
	.single-product div.product form.cart .quantity .mmj-qty__btn, .single-product div.product form.cart .quantity .qty { width: 48px !important; height: 48px !important; }
	.single-product div.product form.cart .single_add_to_cart_button { height: 48px !important; }
}
@media (max-width: 767px) {
	.mmj-reviews__nav { display: none; }
	.mmj-reviews__viewport { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.mmj-reviews__track { transform: none !important; }
	.mmj-rv-card { scroll-snap-align: start; }
}

/* Shopify n'a pas de barre d'ajout au panier fixe : désactivée */
.mmj-sticky-atc, .kadence-sticky-add-to-cart, .kt-sticky-add-to-cart { display: none !important; }

/* ---------- Recherche (section Shopify main-search) et page 404 ---------- */
.mmj-search .mmj-search__title, .mmj-404 h1.title { font-family: "Abril Fatface", serif; font-size: 33.6px; line-height: 53.76px; font-weight: 400; margin: 0 0 16px; padding: 0; text-align: left; max-width: none; color: #1d1d1d; }
.mmj-search, .mmj-404 { font-size: 14px; line-height: 21px; color: #1d1d1d; }
/* Recherche (Shopify main-search) : formulaire flex a retour a la ligne (champ flex-grow 1), textes, sections, articles, pages, pagination component-pagination */
.search-page-form form { display: flex; flex-wrap: wrap; gap: 25px; margin: 0; }
.search-page-form .mmj-search__field { position: relative; flex: 1 1 auto; display: flex; padding: 0 !important; margin: 0; border: 1px solid transparent !important; border-radius: 16px; background: transparent !important; box-shadow: none; font-weight: 400; }
.mmj-search__field .button__icon { position: absolute; left: 20px; top: 0; bottom: 0; width: 22px; display: flex; align-items: center; justify-content: center; pointer-events: none; }
.mmj-search__field .button__icon svg { width: 22px; height: 22px; display: block; }
.mmj-search__field input[type="search"] { width: 100%; height: 45px; padding: 11px 36px 11px 53px; margin: 0; border: 1px solid rgba(29, 29, 29, 0.1); border-radius: 16px; background: #fff; font-family: "Fjalla One", sans-serif; font-size: 14px; line-height: 21px; font-weight: 400; color: #1d1d1d; box-shadow: none; -webkit-appearance: none; appearance: none; outline: none; transition: all .1s linear; }
.mmj-search__field input[type="search"]::placeholder { color: #1d1d1d; opacity: .66; transition: all .1s linear; }
body .search-page-form .mmj-search__field input[type="search"]:focus { border-color: #1d1d1d !important; box-shadow: none !important; outline: none !important; }
body .search-page-form .mmj-search__field input[type="search"]:focus::placeholder { opacity: 1; }
body .search-page-form .mmj-search__field input[type="search"]:focus-visible { box-shadow: 0 0 0 3px rgba(29, 29, 29, 0.08) !important; }
@media (hover: hover) {
	body .search-page-form .mmj-search__field input[type="search"]:hover { border-color: #1d1d1d !important; }
	body .search-page-form .mmj-search__field input[type="search"]:hover::placeholder { opacity: 1; }
}
.search-page-form .button--solid { flex: none; font-family: "Fjalla One", sans-serif; font-size: 15.75px; line-height: 19.6875px; font-weight: 700; padding: 11px 36px; border-radius: 16px; background: #1d1d1d; color: #fff; border: 1px solid #1d1d1d; cursor: pointer; transition: all .1s linear; }
.search-page-form .button--solid:hover { background: #3ea246 !important; border-color: #3ea246 !important; color: #fff !important; }
.search-page-form .button--solid:focus-visible { box-shadow: 0 0 0 3px rgba(29, 29, 29, 0.08); }
.mmj-search .gutter-top--large { padding-top: 50px; }
.mmj-search .margin-bottom--large { margin-bottom: 50px; }
.mmj-search .margin-bottom--regular, .mmj-search h2.h5.margin-bottom--regular { margin-bottom: 25px; }
.mmj-search h2.h5 { font-family: "Abril Fatface", serif; font-size: 14.4px; line-height: 23.04px; font-weight: 400; margin: 0 0 16px; padding: 0; color: #1d1d1d; }
.mmj-search h2.gutter-top--xlarge { padding-top: 80px; }
.mmj-search .text-color--opacity { opacity: 0.62; }
.visually-hidden { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
.mmj-search-products ul.products { margin-bottom: 0 !important; }
.mmj-search-beyond { list-style: none; margin: 0 !important; padding: 0 !important; }
.mmj-search-beyond .no-content-message { margin: 0 0 16px; font-size: 15.75px; line-height: 23.625px; }
.mmj-search-beyond .no-content-message a { color: #1d1d1d; border-bottom: 1px solid; padding-bottom: 1px; text-decoration: none; }
.mmj-search-articles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.blog-item__image { display: block; border: 1px solid #e1e1e1; border-radius: 10px; overflow: hidden; margin-bottom: 14px; box-sizing: border-box; }
.blog-item__image figure { margin: 0; padding-top: 75.00018750046875%; position: relative; overflow: hidden; }
.blog-item__image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 10px; transform: scale(1); transition: transform .45s ease-in-out, opacity .3s linear; }
@media (hover: hover) { .blog-item__image:hover img { transform: scale(1.1); transition: transform .6s ease-out, opacity .3s; } }
.blog-item__title-holder { margin-bottom: 7px; }
.blog-item__title-holder a { color: inherit; text-decoration: none; }
.blog-item__title-holder .text-animation--underline { font-size: 15.75px; line-height: 23.625px; font-weight: 700; padding-bottom: 3px; display: inline; background-image: linear-gradient(to right, #1d1d1d, #1d1d1d); background-size: 0% 2px; background-repeat: no-repeat; background-position: 0 18.75px; transition: .1s linear; }
.blog-item__title-holder a:hover .text-animation--underline { background-size: 100% 2px; }
.blog-item__meta { opacity: 0.62; font-size: 14px; line-height: 21px; }
.blog-item__date { font-size: 12.25px; line-height: 18.375px; }
.mmj-search .search-item { display: block; margin-top: 12px; }
.mmj-search .search-item:first-of-type { margin-top: 18px; }
.mmj-search .search-item a { color: #1d1d1d; text-decoration: none; border: 0; }
.mmj-search .search-item .text-animation--underline { font-weight: 700; display: inline; padding-bottom: 3px; background-image: linear-gradient(to right, #1d1d1d, #1d1d1d); background-size: 0% 2px; background-repeat: no-repeat; background-position: left calc(1em + 3px); transition: all .1s linear; }
@media (hover: hover) { .mmj-search .search-item a:hover .text-animation--underline { background-size: 100% 2px; } }
.mmj-search nav.mmj-search__pagination, nav.mmj-pagination { margin: 0; padding: 0; }
:is(.mmj-search, .mmj-pagination) .pagination { margin: 0 !important; padding: 50px 0 0 !important; list-style: none; text-align: start; }
:is(.mmj-search, .mmj-pagination) .pagination li { display: inline-block; margin: 0 5px; padding: 0; text-align: center; list-style: none; }
:is(.mmj-search, .mmj-pagination) .pagination a { display: inline-block; box-sizing: border-box; color: #1d1d1d; border: 1px solid transparent; border-radius: 50%; width: 40px; height: 40px; line-height: 38px; text-decoration: none; transition: ease .25s background-color, ease .25s border-color, ease .25s color; }
:is(.mmj-search, .mmj-pagination) .pagination li.active { box-sizing: border-box; background-color: #1d1d1d; color: #fff; border: 1px solid rgba(29, 29, 29, 0.15); border-radius: 50%; width: 40px; height: 40px; line-height: 38px; cursor: default; }
:is(.mmj-search, .mmj-pagination) .pagination li.prev, :is(.mmj-search, .mmj-pagination) .pagination li.next { color: transparent !important; }
:is(.mmj-search, .mmj-pagination) .pagination li.prev svg path, :is(.mmj-search, .mmj-pagination) .pagination li.next svg path { fill: #1d1d1d; }
:is(.mmj-search, .mmj-pagination) .pagination li.prev a, :is(.mmj-search, .mmj-pagination) .pagination li.next a { border-color: rgba(29, 29, 29, 0.15); }
@media (hover: hover) {
	:is(.mmj-search, .mmj-pagination) .pagination a:hover { border-color: #1d1d1d; }
	:is(.mmj-search, .mmj-pagination) .pagination li.prev a:hover, :is(.mmj-search, .mmj-pagination) .pagination li.next a:hover { background-color: #1d1d1d; border-color: #1d1d1d; }
	:is(.mmj-search, .mmj-pagination) .pagination li.prev a:hover svg path, :is(.mmj-search, .mmj-pagination) .pagination li.next a:hover svg path { fill: #fff; }
}
:is(.mmj-search, .mmj-pagination) .pagination li.prev { transform: rotate(90deg); }
:is(.mmj-search, .mmj-pagination) .pagination li.next { transform: rotate(-90deg); }
:is(.mmj-search, .mmj-pagination) .pagination li.disabled { display: inline-block; box-sizing: border-box; padding: 10px 15px; border: 1px solid transparent; }
:is(.mmj-search, .mmj-pagination) .pagination li.mobile { display: none; margin: 0 12px; }
.mmj-404 .rte p { margin: 0 0 16px; }
.mmj-404 .button--large { display: inline-block; font-family: "Fjalla One", sans-serif; font-size: 17.5px; line-height: 21.875px; font-weight: 700; padding: 15px 46px; border-radius: 16px; background: #1d1d1d; color: #fff; border: 1px solid #1d1d1d; text-align: center; text-decoration: none; }
.mmj-404 .button--large:hover { background: #3ea246 !important; border-color: #3ea246 !important; color: #fff !important; }

/* Écart contenu → pied de page : 100px comme Shopify (le margin-bottom 80px de Kadence sur .content-area s ajoutait aux 100px du footer) */
body:not(.home) .content-area { margin-bottom: 0 !important; }

/* ---------- Accueil, passe de validation 1 (1440) : écarts mesurés section par section ---------- */
/* Réassurance : icône 160 sans marge, titre mb 7, bloc texte padding 0 25 25 (section 275) */
.home .entry-content .mmj-reassurance .wp-block-image { margin: 0 auto !important; }
.home .entry-content .mmj-reassurance h3 { margin: 0 0 7px !important; }
.home .entry-content > .mmj-reassurance .wp-block-column { padding: 0 25px 25px !important; }
/* Bannières : légende à 20px des bords et 21px du bas */
.home .mmj-collection-banners .wp-block-image figcaption { left: 20px !important; right: 20px !important; bottom: 21px !important; }
/* En-têtes de section : titre (mb 10) + sous-titre, puis 40px avant le contenu ; « Nos gammes » sans sous-titre */
.home .mmj-section h2.wp-block-heading + p.mmj-section-subtitle { margin-bottom: 39px !important; }
.home h2.wp-block-heading:has(+ .mmj-collection-grid) { margin-bottom: 40px !important; }
/* Produits phares : navigation 10px sous les cartes (hors flux), bouton 50px sous les cartes, 38px après le bouton */
.home .mmj-featured .mmj-products { position: relative; margin-bottom: 0 !important; }
.home .mmj-featured .mmj-products ul.products { margin-bottom: 0 !important; }
.home .mmj-featured .mmj-products .mmj-slider__nav { position: absolute; left: 0; right: 0; top: calc(100% + 10px); margin: 0 !important; }
.home .mmj-featured .mmj-center-button { margin: 88px 0 0 !important; }
.home .mmj-featured { padding-bottom: 0; }
/* Boutons « Voir tous… » : padding 11 36 (203 / 229 px) */
.entry-content .mmj-center-button .wp-block-button .wp-block-button__link { padding: 11px 36px !important; }
/* Cartes produit : produits simples = prix principal 15,75px + prix au gramme en dessous (bloc 36px, mb 15,75 - 6,8) */
.woocommerce ul.products li.product .price:has(.mmj-price-main) { display: block; height: auto; margin: 0 0 8.95px !important; opacity: 1; }
.woocommerce ul.products li.product .price .mmj-price-main, .woocommerce ul.products li.product .price .mmj-price-main .amount { display: block; font-size: 15.75px !important; line-height: 23.625px !important; opacity: 1 !important; margin: 0 !important; color: #1d1d1d; }
.woocommerce ul.products li.product .price .mmj-price-main { height: 24px; }
.woocommerce ul.products li.product .price .mmj-price-main .amount { display: inline; }
.woocommerce ul.products li.product .price:has(.mmj-price-main) .mmj-unit-price { display: block; margin: -2px 0 2px; opacity: .62; }
/* Nos gammes : libellé (padding intérieur 0 0 3) */
.mmj-collection-grid .mmj-collection-card span > span { padding: 0 0 3px !important; }
/* Privilèges (Shopify section-rich-text.css + theme.css) : pleine largeur, carte min-height 60vh (.element--height-regular),
   bordures haut/bas #e1e1e1, image à droite en couverture ; texte padding 80 50 80 et marge gauche (100vw - 1280px) / 2,
   80px jusqu'à 1360px, 60 35 60 60 jusqu'à 1280px ; bouton 21px sous le texte */
.home .mmj-privileges { margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; max-width: none !important; }
@media (min-width: 1024px) {
	.home .mmj-privileges { box-sizing: border-box; min-height: 60vh; border-top: 1px solid #e1e1e1; border-bottom: 1px solid #e1e1e1; }
	.home .mmj-privileges .wp-block-media-text__media { aspect-ratio: auto; }
	.home .mmj-privileges .wp-block-media-text__content { padding: 80px 50px 80px calc((100vw - 1280px) / 2) !important; }
}
@media (min-width: 1024px) and (max-width: 1360px) { .home .mmj-privileges .wp-block-media-text__content { padding-left: 80px !important; } }
@media (min-width: 1024px) and (max-width: 1280px) { .home .mmj-privileges .wp-block-media-text__content { padding: 60px 35px 60px 60px !important; } }
.home .mmj-privileges .wp-block-buttons { margin-top: 21px !important; }
/* Confiance : badge Google collé au titre ; titre mb 16 */
.home .mmj-trust .elfsight-app-738c7feb-2258-4397-a266-2c1fd500b4ff { margin-bottom: 0 !important; }
/* Blog : texte noir, en-tête 64 + 40, vignette mb 14, date 21px mb 7 */
.home .mmj-blog-home, .home .mmj-blog-home h2, .home .mmj-blog-home p, .home .mmj-blog-home a, .home .mmj-blog-home time { color: #000; }
.home .mmj-blog-home .wp-block-columns { margin-bottom: 0 !important; }
.home .mmj-blog-home .wp-block-post-featured-image { margin-bottom: 14px !important; }
.home .mmj-blog-home .wp-block-post-date { line-height: 21px; margin-bottom: 7px !important; }
.home .mmj-blog-home .wp-block-post-title { margin: 0; }
/* Newsletter : collée au blog, padding 25, icône 58, écarts 28, champ 441 + bouton 119 = 560 */
.home .mmj-newsletter { margin-top: 0 !important; padding: 25px 20px !important; }
.home .mmj-newsletter .wp-block-image { margin: 0 auto 28px !important; height: 57.5px; }
.home .mmj-newsletter .wp-block-image figure { margin: 0 auto !important; }
.home .mmj-newsletter h2 { margin: 0 auto 28px !important; }
.home .mmj-newsletter .mmj-newsletter__form { margin: 0 auto 28px !important; width: 560px; max-width: 100%; }
.home .mmj-newsletter .mmj-newsletter__form input:not(.mmj-hp) { width: auto; flex: 1 1 0; min-width: 0; }
.home .mmj-newsletter p { font-size: 12.25px !important; line-height: 18.375px !important; color: rgba(29, 29, 29, 0.6); margin: 0 auto 28px !important; }
/* Carte newsletter centree comme .container--large Shopify (marges laterales 40px, largeur max 1280) */
@media (min-width: 1024px) { .home .entry-content > .mmj-newsletter { width: calc(100% - 80px); max-width: 1280px; margin-left: auto !important; margin-right: auto !important; box-sizing: border-box; } }
/* En-tête : recherche / compte / panier espacés de 10px, recherche alignée à 57px, compteur du panier */
.site-header-wrap .site-main-header-inner-wrap .site-header-main-section-right { gap: 0 !important; }
.site-header-wrap .site-main-header-inner-wrap .site-header-main-section-right .site-header-item:last-child { margin-right: 10px; }
.site-main-header-inner-wrap .header-search-wrap { margin-top: -3px; }
.header-cart-wrap .header-cart-button .header-cart-total { margin-left: 3px !important; }
.mmj-nav-contact > a { line-height: 15.4px; }

/* Confiance : cartes d'avis comme le carrousel Ryviu (303px, bordure #ddd r15, padding 15 0 8, blocs espacés de 15, corps gap 12) */
.home .mmj-reviews-carousel { padding: 40px 0 21px !important; }
.home .mmj-reviews-carousel__track { align-items: flex-start; gap: 20px !important; padding: 0 !important; }
.home .mmj-review-card { flex: 0 0 303px; padding: 15px 0 8px !important; gap: 15px !important; border: 1px solid #ddd; border-radius: 15px; background: #fff; display: flex; flex-direction: column; font-size: 14px; line-height: 21px; color: #1d1d1d; }
.home .mmj-review-card[hidden] { display: none; }
.home .mmj-review-card__body { display: flex; flex-direction: column; gap: 12px; padding: 0 20px; }
.home .mmj-review-card__head { display: flex; align-items: center; gap: 8px; padding: 0; }
.home .mmj-review-card__avatar { width: 30px; height: 30px; font-size: 16px; font-weight: 600; line-height: 30px; text-transform: uppercase; }
.home .mmj-review-card__name { display: flex; align-items: center; gap: 6px; line-height: 21px; }
.home .mmj-review-card__name strong { font-size: 14px; font-weight: 600; line-height: 21px; }
.home .mmj-review-card .mmj-verified { width: 13px; height: 13px; font-size: 13px; line-height: 13px; display: inline-flex; align-items: center; justify-content: center; }
.home .mmj-review-card .mmj-verified::after { content: none; }
.home .mmj-review-card__head time { display: block; font-size: 13.02px; line-height: 19.53px; opacity: .7; color: #1d1d1d; }
.home .mmj-review-card__stars { height: 13px; line-height: 13px; }
.home .mmj-review-card__stars .mmj-rv-stars { display: flex; gap: 4px; --rstheight: 13px; }
.home .mmj-review-card__content { display: flex; flex-direction: column; gap: 4px; }
.home .mmj-review-card__title { font-size: 14px; font-weight: 600; line-height: 21px; margin: 0 !important; }
.home .mmj-review-card__text { font-size: 14px; line-height: 21px; margin: 0 !important; }
.home .mmj-review-card__more { cursor: pointer; }
.home .mmj-review-card__helpful { padding: 0 20px; justify-content: flex-end; gap: 0; font-size: 13.02px; line-height: 19.53px; opacity: 1; margin: 0; }
.home .mmj-review-card__helpful > span:first-child { opacity: .7; }
.home .mmj-review-card__like { margin-left: 10px; }
.home .mmj-review-card__dislike { margin-left: 12px; }
.home .mmj-review-card__helpful svg { width: 20px; height: 20px; }
.home .mmj-review-card__product-wrap { padding: 6px 10px; }
.home .mmj-review-card__product { display: flex; align-items: center; gap: 10px; padding: 10px; background: #f6f6f6; border-radius: 10px; font-size: 12.6px; font-weight: 600; line-height: 15.12px; text-transform: none; color: #1a1a1a; text-decoration: none; }
.home .mmj-review-card__product img { width: 40px; height: 40px; object-fit: contain; border-radius: 0; flex: none; }
.home .mmj-review-card__product strong { font-size: 12.6px; font-weight: 600; line-height: 15.12px; color: #1a1a1a; padding: 0; }
.home .mmj-load-more { display: flex; justify-content: center; margin-top: 20px; padding-bottom: 60px; }
.home .mmj-load-more__button { font-family: "Fjalla One", sans-serif; font-size: 14px; font-weight: 500; line-height: 14px; padding: 8px 20px; border: 1px solid #d9d9d9; border-radius: 5px; background: #fff; color: #1d1d1d; height: 36px; cursor: pointer; box-shadow: none; }
.home .mmj-load-more__button:hover { background: #fff; color: #1d1d1d; border-color: #d9d9d9; }
.home .mmj-load-more__button[hidden] { display: none; }
/* Accueil (suite) : barre d'annonce 12,25px, héros 800px, lien Contact, boutons centrés, avis (texte 21px, produit 60px, sans barre de défilement), blog noir, newsletter en gras */
.site-top-header-wrap .header-html, .site-top-header-wrap .header-html p { font-size: 12.25px !important; line-height: 13.475px !important; }
.home .mmj-hero .wp-block-cover__inner-container { padding-left: 0 !important; padding-right: 0 !important; }
#main-header .mmj-nav-contact > a, #masthead .mmj-nav-contact > a { line-height: 15.4px !important; }
.home .mmj-ranges .mmj-center-button { margin: 50px auto 0 !important; }
.home .mmj-featured .mmj-center-button { margin: 88px auto 0 !important; }
.home .mmj-reviews-carousel { scrollbar-width: none; }
.home .mmj-reviews-carousel::-webkit-scrollbar { display: none; }
.home .entry-content .mmj-review-card__title { font-size: 14px !important; line-height: 21px !important; font-weight: 600 !important; }
.home .entry-content .mmj-review-card__text { font-size: 14px !important; line-height: 21px !important; }
.home .mmj-review-card__product { height: 60px; box-sizing: border-box; }
.home .mmj-blog-home .mmj-text-link, .home .mmj-blog-home .mmj-section-heading__actions a { color: #000 !important; }
.home .mmj-newsletter p { font-weight: 700; }
/* Cartes avec bouton (Shopify card__text padding 25 + bloc bouton padding 0 25 25) : bouton 25px sous le titre, 25px sous le bouton */
.woocommerce .mmj-cards-with-button ul.products li.product .product-details, .mmj-cards-with-button.woocommerce ul.products li.product .product-details { padding-bottom: 0 !important; }
.woocommerce .mmj-cards-with-button ul.products li.product .product-action-wrap, .mmj-cards-with-button.woocommerce ul.products li.product .product-action-wrap { padding: 25px 0 25px !important; }
.home .mmj-review-card__product { height: 60px !important; }
.home .mmj-load-more__button { width: 118px; }
.home .mmj-review-card__product { min-height: 60px !important; }
.mmj-cards-with-button .woocommerce ul.products li.product .product-details, .mmj-cards-with-button ul.products li.product .product-details.content-bg { padding-bottom: 0 !important; }

/* Description de collection : listes comme Shopify (retrait 28, puces espacées de 12, 14 après la liste) et H1 padding-right 128 */
.woocommerce-products-header .term-description ul, .content-area .taxonomy-description ul, .tax-product_cat .entry-content ul { margin: 0 0 14px; padding: 0 0 0 28px; list-style: disc; }
.woocommerce-products-header .term-description li, .content-area .taxonomy-description li, .tax-product_cat .entry-content li { margin: 0 0 12px; padding: 0; font-size: 14px; line-height: 21px; }
.woocommerce-products-header .term-description li:last-child, .content-area .taxonomy-description li:last-child { margin-bottom: 0; }
.woocommerce-products-header .term-description p:last-child, .content-area .taxonomy-description p:last-child { margin-bottom: 0; }
.woocommerce-products-header__title, .tax-product_cat h1.entry-title, .woocommerce-products-header h1 { padding-right: 128px !important; box-sizing: border-box; }
/* Fiche produit : formulaire sans marge basse (accordéons 20px sous le bouton), prix barré à 20px du prix, prix au gramme en 400 */
.single-product div.product form.cart { margin-bottom: 0 !important; }
.single-product div.product .mmj-price .mmj-price__compare { margin-left: 0 !important; }
.single-product div.product .mmj-price .mmj-price__unit, .single-product div.product .mmj-price .mmj-price__unit .mmj-unit-price { font-weight: 400 !important; }
.mmj-related-collections .mmj-section-heading__link { display: inline; line-height: 23.625px; }
/* Collection : H1 padding-right 128, description (liste retrait 28 / puces 12 / 14 après), dernier paragraphe sans marge ; fiche produit : bloc complémentaire sans marge basse ; lien « Voir toutes les collections » en ligne */
.tax-product_cat h1.page-title, .post-type-archive-product h1.page-title { padding-right: 128px !important; box-sizing: border-box; }
.archive-description ul { margin: 0 0 14px !important; padding: 0 0 0 28px !important; list-style: disc; }
.archive-description li { margin: 0 0 12px !important; padding: 0 !important; font-size: 14px; line-height: 21px; }
.archive-description li:last-child { margin-bottom: 0 !important; }
.archive-description p:last-child { margin-bottom: 0 !important; }
.single-product div.product .summary .mmj-complementary { margin-bottom: 0 !important; }
.mmj-related-collections .mmj-section-heading__link { display: inline !important; }
/* Collection : 56px entre la description et les filtres ; blog : pagination (page courante noire, points 10px, place de la flèche « Précédent » en page 1) */
.archive-description { padding-bottom: 0 !important; }
nav.navigation.pagination .page-numbers.current { background: #1d1d1d !important; color: #fff !important; }
nav.navigation.pagination .page-numbers.dots { width: 10px !important; height: 21px !important; line-height: 21px !important; }
.blog nav.navigation.pagination .nav-links:has(> .page-numbers.current:first-child) { padding-left: 55px; }

/* Passe 1 (bureau) : article, contact, blog, collection */
.blog nav.navigation.pagination .nav-links, .archive nav.navigation.pagination .nav-links { min-height: 43px; }
.single-post .entry-meta { gap: 0 !important; }
.single-post .entry-meta > span { margin: 0 !important; padding: 0 !important; }
.single-post .entry-meta > span::before, .single-post .entry-meta > span::after { content: none !important; margin: 0 !important; }
.single-post .entry-meta .posted-on::after { content: "|" !important; display: inline !important; margin: 0 5px !important; }
.single-post .mmj-article__meta-title { display: inline !important; }
.single-post .mmj-article__share { gap: 0 !important; }
.single-post .mmj-article__content figure.wp-block-table { margin: 0 !important; padding: 0; }
.single-post .mmj-article__content table { width: 100%; margin: 0 !important; border-collapse: collapse !important; border-spacing: 0 !important; border: 1px solid rgba(29, 29, 29, 0.15) !important; table-layout: auto; }
.single-post .mmj-article__content th, .single-post .mmj-article__content td { border: 0 !important; padding: 10px 14px 8px !important; vertical-align: top !important; font-weight: 400 !important; text-align: left; font-size: 14px; line-height: 21px; background: transparent !important; }
.single-post .mmj-article__content hr { width: 100%; height: 0; border: 1px inset #808080 !important; background: none; margin: 7px 0; opacity: 1; }
.single-post .mmj-more-articles__title { font-size: 19.2px !important; line-height: 30.72px !important; margin: 0 0 16px !important; padding: 50px 0 0 !important; }
.entry-content .mmj-contact__info p { line-height: 21px !important; }
.mmj-contact-form textarea { display: block; }
.woocommerce.archive.tax-product_cat .entry-header.product-archive-title { margin-bottom: 56px !important; }
/* Fiche produit : paragraphes de description et sous-titre comme Shopify (marge 0 0 16) */
.single-product .mmj-product-description p, .single-product .mmj-product-subtitle p { margin: 0 0 16px !important; }

/* Pagination : compteur mobile masque sur bureau */
nav.navigation.pagination .mmj-pagination-mobile { display: none; }
/* Fiche produit : texte des produits complementaires centre comme Shopify (+2px) */
.single-product .mmj-complementary__text { position: relative; top: 2px; }

/* Fiche produit : la grille galerie / résumé est limitée au bloc .mmj-product-main (les sections suivantes sont en flux normal) */
.single-product div.product.entry-content-wrap { display: block !important; }
.single-product div.product > .mmj-product-main { display: grid; grid-template-columns: 608px 608px; column-gap: 64px; align-items: start; }
.single-product div.product > .mmj-product-main > .woocommerce-product-gallery, .single-product div.product > .mmj-product-main > .summary { position: sticky; top: 20px; }
.single-product div.product > .mmj-product-main > .woocommerce-product-gallery { grid-column: 1; grid-row: 1; }
.single-product div.product > .mmj-product-main > .summary { grid-column: 2; grid-row: 1; }

/* Fiche produit : résumé sans marge basse dans le bloc principal ; les avis suivent directement le badge Google (Shopify) */
.single-product div.product > .mmj-product-main > .summary { margin-bottom: 0 !important; }
.single-product div.product .mmj-reviews { margin-top: 0 !important; }
.single-product div.product > .mmj-product-main > .mmj-badges { display: none !important; }

/* Menu bureau (Shopify .site-nav.style--classic) : lien 44px (15 14 15), chevron aligne sur le texte, liste decalee a 60px ; survol = texte et chevron verts (#3EA246), sans soulignement */
@media (min-width: 1024px) {
	.main-navigation .primary-menu-container > ul { margin-left: 7px !important; }
	.main-navigation .primary-menu-container > ul > li.menu-item:not(.mmj-nav-contact) > a .mmj-nav-text, .header-navigation .header-menu-container ul ul.sub-menu li.menu-item > a .mmj-nav-text, .header-navigation .header-menu-container ul ul.sub-menu li.menu-item > a .nav-drop-title { background-image: none !important; padding-bottom: 0 !important; transition: color .1s linear !important; }
	.main-navigation .primary-menu-container > ul > li.menu-item > a .dropdown-nav-toggle { transform: none !important; align-self: flex-start; height: 14px !important; transition: background-image .1s linear; }
	.main-navigation .primary-menu-container > ul > li.menu-item > a:hover .mmj-nav-text, .main-navigation .primary-menu-container > ul > li.menu-item > a:hover, .mmj-nav-contact > a:hover .mmj-nav-text, .header-navigation .header-menu-container ul ul.sub-menu li.menu-item > a:hover, .header-navigation .header-menu-container ul ul.sub-menu li.menu-item > a:hover .mmj-nav-text, .header-navigation .header-menu-container ul ul.sub-menu li.menu-item > a:hover .nav-drop-title { color: #3EA246 !important; text-decoration: none !important; }
	.main-navigation .primary-menu-container > ul > li.menu-item > a:hover .dropdown-nav-toggle, .header-navigation .header-menu-container ul ul.sub-menu li.menu-item > a:hover .dropdown-nav-toggle { background-image: url("data:image/svg+xml;utf8,<svg width='13' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M1.414.086 7.9 6.57 6.485 7.985 0 1.5 1.414.086Z' fill='%233EA246'/><path d='M12.985 1.515 6.5 8 5.085 6.586 11.571.101l1.414 1.414Z' fill='%233EA246'/></svg>") !important; }
}
/* Bouton haut de page (Shopify .main-go-top) : 25px des bords, cache par translation de 88px, transition transform .25s linear, chevron centre ; visible aussi sur mobile a 15px */
#kt-scroll-up { bottom: 25px !important; right: 25px !important; opacity: 1 !important; visibility: visible !important; transform: translateY(88px) !important; transition: transform .25s linear !important; align-items: center !important; justify-content: center !important; padding: 0 !important; }
#kt-scroll-up.scroll-visible { transform: translateY(0) !important; }
#kt-scroll-up .kadence-svg-iconset { display: flex !important; width: 13px !important; height: 8px !important; align-items: center; justify-content: center; }
@media (max-width: 767px) {
	#kt-scroll-up.vs-sm-false { display: flex !important; bottom: 15px !important; right: 15px !important; }
}

/* Sous-menu bureau : chevron du 3e niveau tourne de -90deg (pointe vers la droite, Shopify .submenu-holder .icon), sans icone Kadence residuelle */
@media (min-width: 1024px) {
	.header-navigation .header-menu-container ul ul.sub-menu li.menu-item > a .dropdown-nav-toggle { width: 13px !important; height: 8px !important; transform: rotate(-90deg) scale(0.95) !important; margin-left: 10px !important; align-self: center; }
	.header-navigation .header-menu-container ul ul.sub-menu li.menu-item > a .dropdown-nav-toggle .kadence-svg-iconset, .header-navigation .dropdown-nav-toggle .kadence-svg-iconset::before { display: none !important; }
}
/* Bouton haut de page : icone 13x8 non compressee */
#kt-scroll-up .mmj-go-top-icon, #kt-scroll-up-reader .mmj-go-top-icon { flex: none !important; width: 13px !important; height: 8px !important; }
/* Sous-menu bureau : positionne par rapport au conteneur du header (x -10, panneau blanc a partir du bas du header) ; chevron du 3e niveau centre sur la ligne */
@media (min-width: 1024px) {
	.main-navigation .primary-menu-container > ul > li.menu-item { position: static !important; }
	.header-navigation .header-menu-container > ul > li.menu-item > ul.sub-menu { left: 0 !important; top: calc(100% - 15px) !important; margin: 0 0 0 -10px !important; padding: 39px 0 16px !important; }
	.header-navigation .header-menu-container ul ul.sub-menu li.menu-item > a .dropdown-nav-toggle { top: 0 !important; margin-left: 14px !important; }
}

/* Bouton haut de page : chevron visible ; sous-menu bureau : titre sans marge droite ; newsletter : bouton sur une ligne ; pied de page : icones sociales comme Shopify (24px, 5px de marge, 16px sous le telephone) */
#kt-scroll-up .mmj-go-top-icon svg, #kt-scroll-up-reader .mmj-go-top-icon svg { display: block !important; }
@media (min-width: 1024px) { .header-navigation .header-menu-container ul ul.sub-menu li.menu-item > a .nav-drop-title-wrap { padding-right: 0 !important; } }
.mmj-newsletter__form .button { white-space: nowrap !important; flex: 0 0 auto !important; }
.site-footer .mmj-social--footer { display: flex; flex-wrap: wrap; margin: 16px 0 0 -5px; }
.site-footer .mmj-social--footer .social-button { display: flex; width: 24px; height: 24px; margin: 5px !important; padding: 0 !important; color: #1d1d1d; }
.site-footer .mmj-social--footer .social-button svg { width: 24px !important; height: 24px !important; }

/* Avis produit : etat vide du widget Ryviu une fois chargé (.Ryviu-Empty-Box) — widget 100px + 15px sous le badge Google,
   marge basse 15px ; cadre 1px #ddd rayon 15, padding 80 15 54 ; pile centrée espacée de 2px : étoiles 13px #d3d3d0 sur une
   ligne de 21px, titre 14/21 graisse 500, description 14/21, bouton 16px plus bas */
.single-product div.product .mmj-reviews.mmj-reviews--empty { margin: 115px 0 20px !important; padding: 0 !important; border: 0; text-align: center; }
.mmj-reviews__empty { display: flex; flex-direction: column; align-items: center; gap: 2px; box-sizing: border-box; border: 1px solid #ddd; border-radius: 15px; padding: 80px 15px 54px; }
.mmj-reviews__empty-stars { display: flex; align-items: flex-start; justify-content: center; box-sizing: border-box; height: 21px; padding: 3px 0 0; margin: 0; }
.mmj-reviews__empty-stars .mmj-rv-star.r-stbk { color: #d3d3d0 !important; }
.mmj-reviews__empty-title, .mmj-reviews__empty-text { margin: 0 !important; font-size: 14px; line-height: 21px; color: #1d1d1d; }
.mmj-reviews__empty-title { font-weight: 500; }
.mmj-reviews__empty-text { font-weight: 400; }
.mmj-reviews__empty-button { margin: 16px 0 0; }
.site-footer .mmj-social--footer { gap: 0 !important; }

/* Lanceur « Récompenses ! » (Smile.io sur Shopify) : pastille blanche fixe en bas à gauche, rayon 30, ombre 0 0 25 rgba(0,0,0,.05), icône cadeau 30px + texte 16px Proxima Nova/Arial ; mobile : icône seule 44px */
.mmj-rewards-launcher { position: fixed; left: 10px; bottom: 10px; z-index: 5; display: flex; align-items: center; box-sizing: border-box; height: 60px; padding: 15px 20px; border-radius: 30px; background: #fff; color: #000; box-shadow: 0 0 25px rgba(0, 0, 0, 0.05); font-family: "Proxima Nova", Arial, sans-serif; font-size: 16px; font-weight: 400; line-height: 30px; text-decoration: none !important; cursor: pointer; }
.mmj-rewards-launcher:hover, .mmj-rewards-launcher:focus { color: #000; text-decoration: none; }
.mmj-rewards-launcher__icon { display: block; flex: none; width: 30px; height: 30px; }
.mmj-rewards-launcher__text { display: block; margin-left: 12px; white-space: nowrap; }
@media (max-width: 767px) {
	.mmj-rewards-launcher { left: 16px; bottom: 16px; width: 44px; height: 44px; padding: 12px; }
	.mmj-rewards-launcher__icon { width: 20px; height: 20px; }
	.mmj-rewards-launcher__text { display: none; }
}


/* Sous-menu bureau : Shopify le positionne sous son element parent (left = li.x, margin-left -10px), pas au bord du conteneur */
@media (min-width: 1024px) {
	.header-navigation .primary-menu-container > ul > li.menu-item { position: relative !important; }
	.header-navigation .primary-menu-container > ul > li.menu-item > ul.sub-menu { left: -10px !important; margin-left: 0 !important; }
}

/* Sous-menu bureau : sommet a 1px sous le parent (Shopify top 59px = hauteur 44 + 15 de marge interne, li a 140) ; chevron des sous-elements a 10px du texte (largeur de boite 260) */
@media (min-width: 1024px) {
	.header-navigation .primary-menu-container > ul > li.menu-item > ul.sub-menu { top: calc(100% + 1px) !important; }
	.header-navigation .header-menu-container ul ul.sub-menu li.menu-item > a .dropdown-nav-toggle { margin-left: 10px !important; }
}

/* Menu bureau : le decalage de 7px compensait une mesure faussee (Shopify sans barre de defilement sous la porte d age) ; positions reelles identiques (li Fleurs a x=20 du conteneur). Sous-menu : premier element a 35px du sommet (15 + 20 Shopify) */
@media (min-width: 1024px) {
	.header-navigation .primary-menu-container > ul { margin-left: 0 !important; }
	.header-navigation .primary-menu-container > ul > li.menu-item > ul.sub-menu { padding-top: 35px !important; }
}
	@media (min-width: 1024px) { .header-navigation .primary-menu-container > ul > li.menu-item > ul.sub-menu { padding-bottom: 19px !important; } }

/* Cartes : nombre d avis "(4)" apres les etoiles comme le widget Ryviu (13px, 4px a droite des etoiles, 1px plus bas) */
.woocommerce ul.products li.product .mmj-rating__count { display: inline-block !important; font-size: 13px; line-height: 13px; font-weight: 400; color: #1d1d1d; margin: 1px 0 0 4px; }
.woocommerce ul.products li.product .mmj-rating { gap: 0 !important; }

/* Survol des sous-elements du menu bureau : texte vert, aucun soulignement (Shopify .submenu a:hover span {color:#3EA246}) */
@media (min-width: 1024px) {
	.header-navigation .header-menu-container ul ul.sub-menu li.menu-item > a .mmj-nav-text, .header-navigation .header-menu-container ul ul.sub-menu li.menu-item > a .nav-drop-title, .header-navigation .header-menu-container ul ul.sub-menu li.menu-item > a:hover .mmj-nav-text, .header-navigation .header-menu-container ul ul.sub-menu li.menu-item > a:hover .nav-drop-title { background-image: none !important; background-size: 0 0 !important; text-decoration: none !important; }
	.header-navigation .header-menu-container ul ul.sub-menu li.menu-item > a:hover, .header-navigation .header-menu-container ul ul.sub-menu li.menu-item > a:hover .nav-drop-title-wrap, .header-navigation .header-menu-container ul ul.sub-menu li.menu-item > a:hover .nav-drop-title, .header-navigation .header-menu-container ul ul.sub-menu li.menu-item > a:hover .mmj-nav-text { color: #3EA246 !important; text-decoration: none !important; }
}

/* Cartes : notation Ryviu « collection » (etoiles 13px au pas de 17 = 81px, #fdbc00 / #D3D3D0 ; « ( n ) » 13px en trois morceaux a 4px ; etoiles a +2.5px et texte a +3px du haut du bloc) */
.woocommerce ul.products li.product .mmj-rating { align-items: flex-start; justify-content: center; }
.woocommerce ul.products li.product .mmj-rating .mmj-rv-stars { display: block; position: relative; flex: none; width: 81px; height: 13px; margin-top: 2.5px; line-height: 1; }
.woocommerce ul.products li.product .mmj-rating .mmj-rv-star { color: #fdbc00 !important; }
.woocommerce ul.products li.product .mmj-rating .mmj-rv-star.r-stbk, .woocommerce ul.products li.product .mmj-rating .mmj-rv-star--part { color: #d3d3d0 !important; }
.woocommerce ul.products li.product .mmj-rating .mmj-rv-star--part .mmj-rv-star__fill { color: #fdbc00 !important; }
.woocommerce ul.products li.product .mmj-rating__count { display: flex !important; align-items: center; flex: none; margin: 3px 0 0 4px !important; font-size: 13px; line-height: 13px; font-weight: 400; color: #1d1d1d; }
.woocommerce ul.products li.product .mmj-rating__count > span { display: block; line-height: 13px; }
/* Cartes de l accueil : bloc « Acheter maintenant » pousse en bas de la carte (Shopify : .product-item__text du bouton apres .card__text flex-grow 1) */
body .mmj-cards-with-button ul.products li.product .product-details { flex: 1 1 auto; }
body .mmj-cards-with-button ul.products li.product .product-details .product-action-wrap { margin-top: auto !important; }

/* Fenetre de zoom de la galerie (Shopify #zoom, section-main-product.css) */
#zoom { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; overflow: scroll; visibility: hidden; opacity: 0; z-index: -1; -webkit-overflow-scrolling: touch; background: #fff; transition: all .2s linear; scrollbar-width: none; -ms-overflow-style: none; }
#zoom::-webkit-scrollbar { width: 0 !important; height: 0 !important; }
#zoom.opened { visibility: visible; opacity: 1; z-index: 99999; }
#zoom img { opacity: 0; max-width: none; position: absolute; top: 0; left: 0; z-index: 7; transition: opacity .1s linear; }
#zoom.is-touch img { top: 0 !important; left: 0 !important; }
#zoom.loaded img { opacity: 1; }
#zoom.loaded .zoom__loader { display: none; }
#zoom .zoom__overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #fff; z-index: 6; }
#zoom .zoom__exit { z-index: 9; position: fixed; width: 3rem; height: 3rem; border-radius: 16px; background: #fff; top: 1.5625rem; right: 1.5625rem; display: flex; align-items: center; justify-content: center; cursor: pointer; }
#zoom .zoom__exit svg path, #zoom .zoom__exit svg rect { fill: #1d1d1d; }
#zoom .zoom__exit svg circle { stroke: #1d1d1d; }
@media (hover: hover) and (pointer: fine) { #zoom .zoom__exit:hover svg { transform: scale(1.05); } }
#zoom .zoom__loader { position: absolute; margin: 0; width: 20px; height: 20px; transform: translate3d(-50%, -50%, 0); top: 50%; left: 50%; display: block; z-index: 9; }
#zoom .zoom__loader-element { animation: mmj-zoom-rotate 2s linear infinite; height: 100%; transform-origin: center center; width: 100%; position: absolute; top: 0; left: 0; margin: auto; }
#zoom .zoom__loader-element circle { stroke-dasharray: 150, 200; stroke-dashoffset: -10; animation: mmj-zoom-dash 1.5s ease-in-out infinite; stroke-linecap: round; stroke: #1d1d1d; }
@keyframes mmj-zoom-rotate { to { transform: rotate(360deg); } }
@keyframes mmj-zoom-dash { 0% { stroke-dasharray: 1, 200; stroke-dashoffset: 0; } 50% { stroke-dasharray: 89, 200; stroke-dashoffset: -35; } to { stroke-dasharray: 89, 200; stroke-dashoffset: -124; } }

/* Compteur de 1024 a 1280 (Shopify gutter-top--small 12px, gutter-bottom--page 28px) ; recherche : bouton des cartes sans marge haute */
@media (min-width: 1024px) and (max-width: 1280px) { .woocommerce.archive .kadence-shop-top-row { padding-top: 12px !important; margin-bottom: 28px !important; } }
body.search .mmj-search-products ul.products li.product .product-action-wrap a.button { margin: 0 !important; }

/* Filtres : texte d'exemple des champs de prix #1d1d1d a .66, anneau de focus clavier, transition ; survol du lien « tout effacer » */
.mmj-field__input.mmj-field__input { font-family: inherit; transition: all .1s linear; }
.mmj-field__input.mmj-field__input::placeholder { color: #1d1d1d; opacity: .66; }
.mmj-field__input.mmj-field__input:focus-visible { box-shadow: 0 0 0 3px rgba(29, 29, 29, 0.08) !important; }
@media (hover: hover) { .woocommerce ul.products li.mmj-no-products .no-content-message .button--text:hover { color: #3ea246; border-color: #3ea246; } }

/* Recherche 1024-1280 (Shopify : --gutter-large 35, --gutter-xlarge 60, --gutter-regular 20, --grid-gap 9.6) */
@media (min-width: 1024px) and (max-width: 1280px) {
	.search-page-form form { gap: 20px; }
	.mmj-search .gutter-top--large { padding-top: 35px; }
	.mmj-search .margin-bottom--large { margin-bottom: 35px; }
	.mmj-search .margin-bottom--regular, .mmj-search h2.h5.margin-bottom--regular { margin-bottom: 20px; }
	.mmj-search h2.gutter-top--xlarge { padding-top: 60px; }
	:is(.mmj-search, .mmj-pagination) .pagination { padding-top: 35px !important; }
	.mmj-search-articles { gap: 9.6px; }
	body.search .mmj-search-products ul.products.product-archive { gap: 9.6px !important; row-gap: 9.6px !important; column-gap: 9.6px !important; grid-row-gap: 9.6px !important; grid-column-gap: 9.6px !important; }
}

/* Recherche : la marge basse du dernier bloc (50/35/25) fusionne sur Shopify avec la marge haute du pied de page ; ici le conteneur flex ne fusionne pas */
.mmj-search .gutter-top--large > :last-child { margin-bottom: 0 !important; }

/* Pied de page : marge haute Shopify --container-vertical-space = 100px, 80px en 1024-1280 (60px sous 1024 dans mobile.css) */
@media (min-width: 1024px) and (max-width: 1280px) { html body .site-footer { margin-top: 80px !important; } }

/* Collection 1024-1280 (Shopify : .section-heading__text padding-inline-end 10%, gutter-bottom--page 35 x .8 = 28) */
html body.woocommerce.archive .entry-header.product-archive-title h1, html body.woocommerce.archive .entry-header .archive-description { padding-right: 10% !important; }
@media (min-width: 1024px) and (max-width: 1280px) {
	html body.woocommerce.archive .entry-header.product-archive-title { margin-bottom: 28px !important; }
	html body.woocommerce.archive.tax-product_cat .entry-header.product-archive-title { margin-bottom: 44px !important; }
}

/* Collections associees : marge haute Shopify --container-vertical-space, 80px en 1024-1280 (100px au-dela, 60px sous 1024 dans mobile.css) */
@media (min-width: 1024px) and (max-width: 1280px) { html body .mmj-related-collections { margin-top: 80px !important; } }

/* Collections associees (Shopify section-heading + grid-6) : pas de marge interne basse ; lien « Voir toutes les collections » en ligne dans un bloc de 21px aligne en bas (2px plus bas qu un bloc) ;
   1024-1280 : gutter-bottom--page 28, --grid-gap 9.6, gutter--small 12 */
html body .mmj-related-collections { padding-bottom: 0 !important; }
@media (min-width: 1024px) { html body .mmj-related-collections .mmj-section-heading .mmj-section-heading__link { margin-bottom: -2px !important; } }
@media (min-width: 1024px) and (max-width: 1280px) {
	html body .mmj-related-collections .mmj-section-heading { margin-bottom: 28px !important; }
	html body .mmj-related-collections .mmj-collection-grid { gap: 9.6px !important; }
	html body .mmj-related-collections .mmj-collection-card > span { padding: 12px !important; }
}
/* Articles : liens du bloc Autres articles sans soulignement (Shopify : trait anime au survol), cartes de contenu sans ombre ; espacements Shopify par largeur */
.single-post .mmj-more-articles__name, .single-post .mmj-more-articles__image { text-decoration: none !important; }
body .entry.single-entry { box-shadow: none !important; }
@media (min-width: 1024px) {
	.single-post .mmj-more-articles__name { height: 23.625px; }
}
@media (min-width: 1281px) {
	.single-post .mmj-more-articles__grid { gap: 12px; }
}
@media (min-width: 1024px) and (max-width: 1280px) {
	.single-post .mmj-more-articles { margin-top: 80px; }
	.single-post .mmj-more-articles__title { padding-top: 35px !important; }
	.single-post .mmj-more-articles__grid { padding-top: 20px; gap: 9.6px; }
}

/* ---------- Pages de contenu (gabarit Shopify main-page) : titre a gauche, contenu .rte d origine ---------- */
.page:not(.home):not(.woocommerce-page) .entry-header.page-title { max-width: none; margin: 0 0 16px !important; padding: 0; text-align: left; }
.page:not(.home):not(.woocommerce-page) .entry-header.page-title h1.entry-title { text-align: left; margin: 0 !important; }
/* Contact (gabarit Shopify page-contact, container--medium) : titre centré */
body.mmj-page-contact.page:not(.home):not(.woocommerce-page) .entry-header.page-title, body.mmj-page-contact.page:not(.home):not(.woocommerce-page) .entry-header.page-title h1.entry-title { text-align: center; }
body :is(.entry-content, .summary) .mmj-rte { font-size: 14px; line-height: 21px; color: #1d1d1d; }
body :is(.entry-content, .summary) .mmj-rte > :first-child { margin-top: 0 !important; }
body :is(.entry-content, .summary) .mmj-rte h2, body :is(.entry-content, .summary) .mmj-rte h3, body :is(.entry-content, .summary) .mmj-rte h4 { font-family: "Abril Fatface", serif; font-weight: 400; letter-spacing: normal; text-transform: none; color: #1d1d1d; margin: 0 0 16px !important; padding: 0; }
body :is(.entry-content, .summary) .mmj-rte h2 { font-size: 33.6px !important; line-height: 53.76px !important; }
body :is(.entry-content, .summary) .mmj-rte h3 { font-size: 25.6px !important; line-height: 40.96px !important; }
body :is(.entry-content, .summary) .mmj-rte h4 { font-size: 19.2px !important; line-height: 30.72px !important; }
body :is(.entry-content, .summary) .mmj-rte p { font-size: inherit; line-height: inherit; margin: 0 0 16px !important; padding: 0; }
body :is(.entry-content, .summary) .mmj-rte ul, body :is(.entry-content, .summary) .mmj-rte ol { margin: 12px 0 1em 2em !important; padding: 0 !important; font-size: inherit; line-height: inherit; }
body :is(.entry-content, .summary) .mmj-rte li { margin: 0 !important; padding: 0; font-size: inherit; line-height: inherit; }
body :is(.entry-content, .summary) .mmj-rte li + li { margin-top: 12px !important; }
body :is(.entry-content, .summary) .mmj-rte b, body :is(.entry-content, .summary) .mmj-rte i { font-weight: inherit; font-style: inherit; }
body :is(.entry-content, .summary) .mmj-rte strong { font-weight: 700; }
body :is(.entry-content, .summary) .mmj-rte em { font-style: italic; }
body :is(.entry-content, .summary) .mmj-rte a { color: inherit; text-decoration: none; padding-bottom: 1px; border-bottom: 1px solid #1d1d1d; }
body :is(.entry-content, .summary) .mmj-rte table { border: 1px solid rgba(29, 29, 29, 0.15); border-collapse: collapse; margin: 0; text-align: left; font-size: inherit; line-height: inherit; }
body :is(.entry-content, .summary) .mmj-rte tr { border-bottom: 1px solid rgba(29, 29, 29, 0.15); }
body :is(.entry-content, .summary) .mmj-rte td, body :is(.entry-content, .summary) .mmj-rte th { padding: 10px 14px 8px; text-align: left; font-weight: 400; border: 0; vertical-align: middle; }
body :is(.entry-content, .summary) .mmj-rte img { max-width: 100%; height: auto; }
@media (max-width: 1023px) {
	body :is(.entry-content, .summary) .mmj-rte { font-size: 13.125px; line-height: 19.6875px; }
	body :is(.entry-content, .summary) .mmj-rte h2 { font-size: 25.6px !important; line-height: 40.96px !important; }
	body :is(.entry-content, .summary) .mmj-rte h3 { font-size: 20.8px !important; line-height: 33.28px !important; }
	body :is(.entry-content, .summary) .mmj-rte h4 { font-size: 16px !important; line-height: 25.6px !important; }
}
@media (max-width: 474px) {
	body :is(.entry-content, .summary) .mmj-rte { font-size: 12.25px; line-height: 18.375px; }
}

/* ---------- Suivre ma commande : bloc de suivi (Parcel Panel) ---------- */
body .entry-content .mmj-pp { margin: 24px 16px; max-width: calc(100% - 32px); font-size: 14px; line-height: 21px; color: #1d1d1d; }
@media (min-width: 1024px) and (max-width: 1280px) { body .entry-content .mmj-pp { margin-top: 28px; } }
@media (min-width: 1281px) { body .entry-content .mmj-pp { margin-top: 40px; } }
body .entry-content .mmj-pp__title { display: flex; align-items: center; margin: 0 0 16px !important; padding: 0; font-family: "Abril Fatface", serif; font-weight: 400; font-size: 46.4px !important; line-height: 74.24px !important; letter-spacing: normal; text-transform: none; }
body .entry-content .mmj-pp__title span { display: block; line-height: 55.68px; }
body .entry-content .mmj-pp__tabs { display: none; text-align: center; cursor: pointer; }
body .entry-content .mmj-pp__tab { flex: 1 1 0%; margin: 0; padding: 15.5px 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: inherit; font: inherit; line-height: inherit; text-align: center; text-transform: none; letter-spacing: normal; cursor: pointer; }
body .entry-content .mmj-pp__tab:hover, body .entry-content .mmj-pp__tab:focus { background: transparent; color: inherit; }
body .entry-content .mmj-pp__tab.is-active { border-bottom: 3px solid; }
body .entry-content .mmj-pp__box { display: flex; flex-wrap: wrap; align-items: flex-start; border: 1px solid #e6e6e6; border-radius: 7px; padding: 30px 20px; clear: both; }
body .entry-content .mmj-pp__col { flex: 1 1 0%; padding: 20px; }
body .entry-content .mmj-pp__form { margin: auto; max-width: 264px; }
body .entry-content .mmj-pp__label { display: block; margin: 0; font: inherit; line-height: inherit; color: inherit; }
body .entry-content .mmj-pp__input input { display: inline-block; width: 100%; height: 47px; box-sizing: border-box; margin: 0; padding: 12px; border: 1px solid rgba(29, 29, 29, 0.3); border-radius: 5px; background: #fff; box-shadow: none; color: #1d1d1d; font-family: "Fjalla One", sans-serif; font-size: 14px; line-height: 21px; }
body .entry-content .mmj-pp__field + .mmj-pp__field, body .entry-content .mmj-pp__actions { margin-top: 24px; }
body .entry-content .mmj-pp__button { display: inline-block; margin: 0; padding: 11px 36px; border: 1px solid #1d1d1d; border-radius: 16px; background: transparent; box-shadow: none; color: #1d1d1d; font-family: "Fjalla One", sans-serif; font-size: 15.75px; font-weight: 700; line-height: 19.6875px; text-align: center; text-transform: none; letter-spacing: normal; cursor: pointer; }
body .entry-content .mmj-pp__line { text-align: center; padding: 20px 12px 0; }
body .entry-content .mmj-pp__line::before, body .entry-content .mmj-pp__line::after { display: block; content: ""; height: 4.5rem; background: url(../images/or-line.svg) 50% center no-repeat; overflow: hidden; }
body .entry-content .mmj-pp__word { display: block; padding: 6px 0; }
body .entry-content .mmj-pp__message { margin: 16px 0 0 !important; color: #d72c0d; }
body .entry-content .mmj-pp__result { margin-top: 24px; }
body .entry-content .mmj-pp__result-title { font-family: "Abril Fatface", serif; font-weight: 400; font-size: 25.6px !important; line-height: 40.96px !important; margin: 0 0 16px !important; }
body .entry-content .mmj-pp__result-line { margin: 0 0 8px !important; }
body .entry-content .mmj-pp__result-items { margin: 12px 0 1em 2em !important; padding: 0 !important; }
@media (max-width: 1023px) {
	body .entry-content .mmj-pp { font-size: 13.125px; line-height: 19.6875px; }
	body .entry-content .mmj-pp__title { font-size: 30.4px !important; line-height: 48.64px !important; }
	body .entry-content .mmj-pp__title span { line-height: 36.48px; }
	body .entry-content .mmj-pp__button { font-size: 14px; line-height: 17.5px; }
}
@media (max-width: 810px) {
	body .entry-content .mmj-pp__line { display: none; }
	body .entry-content .mmj-pp__form { max-width: none; }
	body .entry-content .mmj-pp__button { width: 100%; text-align: center; }
}
@media (min-width: 601px) and (max-width: 810px) {
	body .entry-content .mmj-pp__box { flex-direction: column; border-width: 1px 0 0; border-radius: 0; padding: 0; }
	body .entry-content .mmj-pp__col { padding: 20px 0 0; }
}
@media (max-width: 600px) {
	body .entry-content .mmj-pp__title { justify-content: center; text-align: center; word-break: break-word; }
	body .entry-content .mmj-pp__tabs { display: flex; }
	body .entry-content .mmj-pp__box { display: block; border-width: 1px 0 0; border-radius: 0; padding: 0; }
	body .entry-content .mmj-pp__col { display: none; padding: 20px 0 0; }
	body .entry-content .mmj-pp__col.is-active { display: block; }
}
@media (max-width: 474px) {
	body .entry-content .mmj-pp { font-size: 12.25px; line-height: 18.375px; }
	body .entry-content .mmj-pp__input input { height: 39px; padding: 8px; }
	body .entry-content .mmj-pp__button { padding: 8px 24px; }
}
/* Chez Shopify la derniere marge du contenu fusionne avec l espace du pied de page : pas de marge basse ici */
body :is(.entry-content, .summary) .mmj-rte > :last-child { margin-bottom: 0 !important; }
body .entry-content .mmj-pp { margin-bottom: 0; }
/* Pied de page 1024-1280 (Shopify) : bloc central padding 60, 4 colonnes de 264 avec ecart 48, barre du bas padding 20 */
@media (min-width: 1024px) and (max-width: 1280px) {
	html body #colophon .site-middle-footer-inner-wrap { padding-top: 60px !important; padding-bottom: 60px !important; column-gap: 48px !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
	html body #colophon .site-bottom-footer-inner-wrap { padding-top: 20px !important; padding-bottom: 20px !important; }
}

/* ---------- Programme fidélité : panneau des visiteurs (widget Smile.io de Shopify) ---------- */
.mmj-rewards-launcher { border: 0; margin: 0; -webkit-appearance: none; appearance: none; overflow: hidden; transition: width .2s ease, padding .2s ease, box-shadow .2s ease; }
button.mmj-rewards-launcher, button.mmj-rewards-launcher:hover, button.mmj-rewards-launcher:focus { background: #fff; color: #000; }
button.mmj-rewards-launcher:focus-visible { outline: 2px solid #000; outline-offset: 2px; }
.mmj-rewards-launcher__icon, .mmj-rewards-launcher__text { transition: opacity .15s linear; }
.mmj-rewards-launcher__close { position: absolute; top: 17px; left: 17px; width: 26px; height: 26px; padding: 6px; box-sizing: border-box; background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='%23000' fill-rule='nonzero' d='M11.06 10l3.713 3.712a.75.75 0 0 1-1.06 1.061L10 11.061l-3.712 3.712a.75.75 0 0 1-1.061-1.06L8.939 10 5.227 6.288a.75.75 0 1 1 1.06-1.061L10 8.939l3.712-3.712a.75.75 0 0 1 1.061 1.06L11.061 10z'/%3E%3C/svg%3E") center / 20px 20px no-repeat; opacity: 0; pointer-events: none; transition: opacity .15s linear; }
.mmj-rewards-launcher.is-open { width: 60px; padding: 15px; box-shadow: 0 0 80px 20px rgba(0, 0, 0, 0.1); }
.mmj-rewards-launcher.is-open .mmj-rewards-launcher__icon, .mmj-rewards-launcher.is-open .mmj-rewards-launcher__text { opacity: 0; }
.mmj-rewards-launcher.is-open .mmj-rewards-launcher__close { opacity: 1; }

.mmj-smile { position: fixed; left: 10px; bottom: 90px; z-index: 99999; width: 360px; height: 600px; max-height: calc(100vh - 110px); overflow: hidden; border-radius: 10px; background: #fff; box-shadow: 0 0 80px rgba(0, 0, 0, 0.12); color: #333; font-family: "Proxima Nova", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; font-size: 14px; font-weight: 400; line-height: 21px; letter-spacing: normal; text-align: left; text-transform: none; -webkit-font-smoothing: antialiased; opacity: 0; visibility: hidden; transform: translateY(20px); transition: opacity .2s ease, transform .2s ease, visibility .2s; }
.mmj-smile.is-open { opacity: 1; visibility: visible; transform: none; }
.mmj-smile *, .mmj-smile *::before, .mmj-smile *::after { box-sizing: border-box; }
.mmj-smile [hidden] { display: none !important; }
.mmj-smile button { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: inherit; font: inherit; line-height: inherit; letter-spacing: normal; text-transform: none; cursor: pointer; }
.mmj-smile button:hover, .mmj-smile button:focus { background-color: transparent; color: inherit; }
.mmj-smile a { text-decoration: none; }

.mmj-smile__fixed-header { position: absolute; top: 0; left: 0; right: 0; z-index: 3; display: flex; align-items: center; justify-content: space-between; height: 60px; padding: 12px 8px; color: #000; pointer-events: none; }
.mmj-smile__fixed-header > * { pointer-events: auto; }
.mmj-smile__header-content { display: flex; align-items: center; flex: 1 1 auto; min-width: 0; opacity: 0; transition: opacity .2s linear; }
.mmj-smile.is-collapsed .mmj-smile__header-content, .mmj-smile.is-subview .mmj-smile__header-content { opacity: 1; }
.mmj-smile .mmj-smile__header-icon { display: block; flex: none; width: 32px; height: 32px; padding: 1px 6px; border-radius: 3px; background-position: center; background-repeat: no-repeat; background-size: 20px 20px; }
.mmj-smile .mmj-smile__close { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='%23000' fill-rule='nonzero' d='M11.06 10l3.713 3.712a.75.75 0 0 1-1.06 1.061L10 11.061l-3.712 3.712a.75.75 0 0 1-1.061-1.06L8.939 10 5.227 6.288a.75.75 0 1 1 1.06-1.061L10 8.939l3.712-3.712a.75.75 0 0 1 1.061 1.06L11.061 10z'/%3E%3C/svg%3E"); }
.mmj-smile .mmj-smile__back { display: none; background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='%23000' fill-rule='nonzero' d='M11.78 5.53a.75.75 0 0 0-1.06-1.06l-5 5a.75.75 0 0 0 0 1.06l5 5a.75.75 0 0 0 1.06-1.06L7.31 10l4.47-4.47z'/%3E%3C/svg%3E"); }
.mmj-smile.is-subview .mmj-smile__back { display: block; }
.mmj-smile__brand-icon { display: block; flex: none; width: 32px; height: 32px; background: url(../images/smile/maison-maryjane-badge.png) center / contain no-repeat; }
.mmj-smile.is-subview .mmj-smile__brand-icon { display: none; }
.mmj-smile__brand { display: block; min-width: 0; margin-left: 8px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: #000; font-size: 14px; line-height: 21px; }

.mmj-smile__expanded-header { position: absolute; top: 0; left: 0; right: 0; z-index: 1; height: 200px; padding: 24px; background-image: linear-gradient(135.19deg, #fff, #d9d9d9); color: #000; will-change: transform; }
.mmj-smile__header-badge { width: 36px; height: 36px; margin: 0 0 12px; background: url(../images/smile/maison-maryjane-badge.png) center / cover no-repeat; }
.mmj-smile__header-secondary { margin: 0 0 8px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 16px; font-weight: 500; line-height: 19.2px; }
.mmj-smile__header-primary { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-family: Poppins, "Proxima Nova", Arial, sans-serif; font-size: 26px; font-weight: 600; line-height: 39px; }

.mmj-smile__container { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 2; overflow-y: scroll; padding: 160px 16px 0; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.mmj-smile__container::-webkit-scrollbar { display: none; }
.mmj-smile.is-subview .mmj-smile__container { padding-top: 76px; }

.mmj-smile__card { position: relative; overflow: hidden; margin: 0 0 12px; padding: 16px 12px; border-radius: 10px; background: #fff; box-shadow: 0 0 13px rgba(0, 0, 0, 0.09); }
.mmj-smile__card--last { margin-bottom: 64px; }
.mmj-smile__heading { margin: 0 0 8px; padding: 8px 0 0; color: #333; font-size: 16px; font-weight: 700; line-height: 19.2px; text-align: center; }
.mmj-smile__description { margin: 0 0 20px; padding: 0 12px; color: #637381; font-size: 14px; line-height: 21px; text-align: center; white-space: pre-wrap; }
.mmj-smile__join { text-align: center; }
.mmj-smile .mmj-smile__btn { display: inline-block; overflow: hidden; margin: 0 0 16px; padding: 15px 32px; border: 1px solid transparent; border-radius: 10px; background: #000; color: #fff; font-size: 14px; font-weight: 400; line-height: 20px; text-align: center; text-decoration: none; }
.mmj-smile .mmj-smile__btn:hover, .mmj-smile .mmj-smile__btn:focus { background: #000; color: #fff; }
.mmj-smile__sign-in { margin: 0 0 8px; color: #333; font-size: 14px; line-height: 20px; text-align: center; }
.mmj-smile .mmj-smile__sign-in a { color: #000; text-decoration: underline; }

.mmj-smile__list { position: relative; }
.mmj-smile .mmj-smile__item { position: relative; display: flex; align-items: center; width: 100%; margin: 0 0 16px; padding: 8px 12px; border-radius: 10px; color: #333; text-align: left; }
.mmj-smile .mmj-smile__item--flush { margin-bottom: 0; }
.mmj-smile__item-content { display: flex; align-items: center; min-width: 0; }
.mmj-smile__item-image { display: block; flex: none; width: 40px; height: 40px; max-width: none; margin: 0 12px 0 0; padding: 4px; }
.mmj-smile__item-text { display: block; min-width: 0; }
.mmj-smile__item-title { display: block; color: #333; font-size: 14px; line-height: 16.8px; }
.mmj-smile__item-subtitle { display: block; color: #637381; font-size: 14px; line-height: 21px; }
.mmj-smile__chevron { position: absolute; top: 50%; right: 12px; width: 20px; height: 20px; margin-top: -10px; background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='%238d8d8f' fill-rule='nonzero' d='M11.78 5.53a.75.75 0 0 0-1.06-1.06l-5 5a.75.75 0 0 0 0 1.06l5 5a.75.75 0 0 0 1.06-1.06L7.31 10l4.47-4.47z'/%3E%3C/svg%3E") center / 20px 20px no-repeat; transform: rotate(180deg); }

.mmj-smile__subview { margin: 0 0 126px; }
.mmj-smile__list-title { margin: 0 0 8px; padding: 8px 0 8px 12px; }
.mmj-smile__subview-heading { margin: 0 0 8px; padding: 0 12px 0 0; color: #333; font-size: 16px; font-weight: 700; line-height: 19.2px; }
.mmj-smile__subview .mmj-smile__list { margin: 0 0 22px; }
.mmj-smile__banner-message { margin: 0; padding: 16px; border-radius: 10px; background: #f4f6fb; color: #333; font-size: 14px; line-height: 21px; text-align: center; }

.mmj-smile__footer { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; height: 52px; background: #fff; box-shadow: 0 -3px 12px rgba(0, 0, 0, 0.04); }
.mmj-smile__footer-gradient { position: absolute; left: 0; right: 0; bottom: 100%; height: 96px; background-image: linear-gradient(rgba(255, 255, 255, 0) -9.09%, #fff 50%); pointer-events: none; }
.mmj-smile .mmj-smile__footer-btn { position: absolute; left: 50%; bottom: 62px; display: block; width: 240px; margin: 0 0 0 -120px; box-shadow: 0 0 13px rgba(0, 0, 0, 0.09); }
.mmj-smile__footer-sign-in { position: relative; margin: 0; padding: 14px; line-height: 21px; }

@media (max-width: 767px) {
	.mmj-smile { top: 0; right: 0; bottom: 0; left: 0; width: auto; height: auto; max-height: none; border-radius: 0; transform: translateY(24px); }
	.mmj-smile.is-open { transform: none; }
	.mmj-rewards-launcher.is-open { visibility: hidden; }
	html.mmj-smile-open #tidio-chat, html.mmj-smile-open #kt-scroll-up { display: none !important; }
}

/* ---------- Chat Tidio : bouton « haut de page » 12px au-dessus du bouton de chat, centré sur lui (chat-dock.js) ---------- */
body.mmj-has-chat #kt-scroll-up { bottom: var(--mmj-up-bottom, 25px) !important; right: var(--mmj-up-right, 25px) !important; }
body.mmj-has-chat #kt-scroll-up:not(.scroll-visible) { transform: translateY(calc(var(--mmj-up-bottom, 25px) + 64px)) !important; }
/* Bouton inline-block sans espace de descendante sous la ligne (Smile : 16px entre le bouton et « Déjà Membre ? ») */
.mmj-smile .mmj-smile__btn { vertical-align: top; }
/* Pied des vues secondaires : texte de connexion centre verticalement dans les 52px (Smile : bloc de 49px a 1.5px du haut) */
.mmj-smile__footer { display: flex; align-items: center; justify-content: center; }
.mmj-smile__footer[hidden] { display: none; }
.mmj-smile__footer-sign-in { width: 100%; }

/* ---------- Politiques (/policies/…, gabarit Shopify shopify-policy) : sans fil d Ariane, titre h1 a gauche ---------- */
body.mmj-policy .content-area { margin-top: 0 !important; }
body.mmj-policy .shopify-policy__container { margin: 70px 0 0; padding: 0; } /* marges laterales : conteneur Kadence */
body.mmj-policy .shopify-policy__title h1 { font-family: "Abril Fatface", serif; font-size: 46.4px !important; line-height: 74.24px !important; font-weight: 400; letter-spacing: normal; text-transform: none; color: #1d1d1d; margin: 0 0 16px !important; padding: 0; text-align: left; }
/* Shopify : la marge du dernier paragraphe se fond dans celle du pied de page */
body.mmj-policy .shopify-policy__body .rte > p:last-of-type { margin-bottom: 0 !important; }
@media (max-width: 1023px) {
	body.mmj-policy .shopify-policy__container { margin-top: 60px; }
	body.mmj-policy .shopify-policy__title h1 { font-size: 30.4px !important; line-height: 48.64px !important; }
}

/* ---------- Parrainage (/pages/parrainage) : sections Shopify (ai-free-text, ai-banner, text-columns-images, ai-spacer, ai-text-image-text) ---------- */
/* Shopify : fil d Ariane present dans la page mais recouvert par l en-tete (position absolue au-dessus des sections) */
body.mmj-page-parrainage .mmj-breadcrumb { display: none; }
body.mmj-page-parrainage .content-area { margin-top: 0 !important; }
body.mmj-page-parrainage #primary .content-container.site-container { max-width: none; padding-left: 0 !important; padding-right: 0 !important; }
body .entry-content .mmj-parr { color: #1d1d1d; text-align: left; font-size: 14px; line-height: 21px; }
body .entry-content .mmj-parr * { box-sizing: border-box; }
body .entry-content .mmj-parr__intro { display: block; width: 100%; max-width: 1200px; margin: 0 auto !important; padding: 25px 20px 20px; background-color: #fff; text-align: center; }
body .entry-content .mmj-parr__intro-content { color: #000; font-size: 18px; line-height: 1.5; }
body .entry-content .mmj-parr__intro-content h1 { font-family: "Abril Fatface", serif; font-size: 46.4px !important; line-height: 74.24px !important; font-weight: 400; letter-spacing: normal; text-transform: none; color: #000; margin: 0 0 16px !important; padding: 0; text-align: center; }
body .entry-content .mmj-parr__intro-content p { font-size: 18px !important; line-height: 27px !important; color: #000; margin: 0 !important; padding: 0; text-align: center; }
body .entry-content .mmj-parr__banner { display: block; width: 100%; height: 380px; overflow: hidden; margin: 0 !important; }
body .entry-content .mmj-parr__banner-wrapper { display: flex; align-items: stretch; height: 100%; width: 100%; }
body .entry-content .mmj-parr__banner-image { flex-shrink: 0; width: 30%; height: 100%; overflow: hidden; }
body .entry-content .mmj-parr__banner-image img { width: 100%; height: 100%; max-width: none; object-fit: cover; display: inline; border-radius: 0; }
body .entry-content .mmj-parr__banner-content { flex-grow: 1; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 40px; background-color: #fff; text-align: center; }
body .entry-content .mmj-parr__banner-text { color: #1d1d1d; font-size: 18px; line-height: 27px; margin: 0 0 20px !important; }
body .entry-content .mmj-parr__banner-text h4 { font-family: "Abril Fatface", serif; font-size: 19.2px !important; line-height: 30.72px !important; font-weight: 400; letter-spacing: normal; text-transform: none; color: #1d1d1d; margin: 0 0 16px !important; padding: 0; text-align: center; }
body .entry-content a.mmj-parr__banner-button { display: inline-block; padding: 12px 24px; background-color: #000; color: #fff !important; text-decoration: none !important; border: 0 !important; border-radius: 16px; font-size: 16px; line-height: 24px; transition: background-color .3s ease; }
body .entry-content a.mmj-parr__banner-button:hover { background-color: #1d1d1d; color: #fff !important; }
body .entry-content .mmj-parr__steps { max-width: 1360px; margin: 100px auto 0 !important; padding: 0 40px; }
body .entry-content .mmj-parr__steps-heading { display: flex; justify-content: center; text-align: center; margin: 0 0 40px !important; }
body .entry-content .mmj-parr__steps-title { font-family: "Abril Fatface", serif; font-size: 19.2px !important; line-height: 30.72px !important; font-weight: 400; letter-spacing: normal; text-transform: none; color: #1d1d1d; margin: 0 0 10px !important; padding: 0; text-align: center; }
body .entry-content .mmj-parr__steps-subtitle { display: inline-block; width: 100%; font-size: 15.75px; line-height: 23.625px; color: #1d1d1d; }
body .entry-content .mmj-parr__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
body .entry-content .mmj-parr__card { text-align: center; }
body .entry-content .mmj-parr__icon { width: 220px; margin: 0 auto; background-color: #fff; border-radius: 200px; overflow: hidden; }
body .entry-content .mmj-parr__icon figure { position: relative; margin: 0 !important; padding-top: 100%; border-radius: 200px; overflow: hidden; }
body .entry-content .mmj-parr__icon img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; border-radius: 200px; }
body .entry-content .mmj-parr__card-text { padding: 25px; }
body .entry-content .mmj-parr__card-title { font-family: "Abril Fatface", serif; font-size: 14.4px !important; line-height: 23.04px !important; font-weight: 400; letter-spacing: normal; text-transform: none; color: #1d1d1d; margin: 0 !important; padding: 0; display: block; text-align: center; }
body .entry-content .mmj-parr__spacer { display: block; width: 100%; height: 50px; margin: 0 !important; }
body .entry-content .mmj-parr__tit-container { display: flex; align-items: center; gap: 30px; padding: 20px; background-color: #fff; }
body .entry-content .mmj-parr__tit-left, body .entry-content .mmj-parr__tit-right { flex: 1; color: #1d1d1d; text-align: center; }
body .entry-content .mmj-parr__tit-center { flex-shrink: 0; width: 300px; max-width: 100%; }
body .entry-content .mmj-parr__tit-image { width: 100%; height: auto; border-radius: 10px; display: block; }
body .entry-content .mmj-parr__tit-heading { font-family: "Abril Fatface", serif; font-size: 24px !important; line-height: 38.4px !important; font-weight: 400; letter-spacing: normal; text-transform: none; color: #1d1d1d; margin: 0 0 15px !important; padding: 0; text-align: center; }
body .entry-content .mmj-parr__tit-content { font-size: 14px; line-height: 1.6; margin: 0; }
body .entry-content .mmj-parr__tit-content ul { list-style: none; margin: 0 !important; padding: 0 !important; }
body .entry-content .mmj-parr__tit-content li { margin: 0 !important; padding: 0; font-size: 14px; line-height: 22.4px; }
body .entry-content .mmj-parr__tit-content p { margin: 0 0 16px !important; font-size: 14px !important; line-height: 22.4px !important; }
body .entry-content .mmj-parr__tit-content strong { font-weight: 700; }
@media (max-width: 1280px) {
	body .entry-content .mmj-parr__steps { margin-top: 80px !important; }
	body .entry-content .mmj-parr__steps-heading { margin-bottom: 28px !important; }
	body .entry-content .mmj-parr__grid { gap: 9.6px; }
	body .entry-content .mmj-parr__card-text { padding: 20px; }
}
@media (max-width: 1023px) {
	body .entry-content .mmj-parr { font-size: 13.125px; line-height: 19.6875px; }
	body .entry-content .mmj-parr__intro-content h1 { font-size: 30.4px !important; line-height: 48.64px !important; }
	body .entry-content .mmj-parr__banner-text h4 { font-size: 16px !important; line-height: 25.6px !important; }
	body .entry-content .mmj-parr__steps { margin-top: 60px !important; padding: 0 30px; }
	body .entry-content .mmj-parr__steps-heading { margin-bottom: 20px !important; }
	body .entry-content .mmj-parr__steps-title { font-size: 16px !important; line-height: 25.6px !important; }
	body .entry-content .mmj-parr__steps-subtitle { font-size: 14px; line-height: 21px; }
	body .entry-content .mmj-parr__grid { gap: 6px; }
	body .entry-content .mmj-parr__icon { width: 160px; }
	body .entry-content .mmj-parr__card-text { padding: 15px; }
	body .entry-content .mmj-parr__card-title { font-size: 12.8px !important; line-height: 20.48px !important; }
}
@media (max-width: 767px) {
	body .entry-content .mmj-parr { font-size: 12.25px; line-height: 18.375px; }
	body .entry-content .mmj-parr__steps { padding: 0 15px; }
	body .entry-content .mmj-parr__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 749px) {
	body .entry-content .mmj-parr__intro { padding: 17.5px 14px 14px; }
	body .entry-content .mmj-parr__intro-content, body .entry-content .mmj-parr__intro-content p { font-size: 16.2px !important; line-height: 24.3px !important; }
	body .entry-content .mmj-parr__banner { height: 1050px; }
	body .entry-content .mmj-parr__banner-wrapper { flex-direction: column-reverse; }
	body .entry-content .mmj-parr__banner-image { width: 100%; height: 400px; }
	body .entry-content .mmj-parr__banner-content { padding: 20px; height: auto; }
	body .entry-content .mmj-parr__banner-text { font-size: 16px; line-height: 24px; }
	body .entry-content a.mmj-parr__banner-button { font-size: 14px; line-height: 21px; }
	body .entry-content .mmj-parr__spacer { height: 30px; }
	body .entry-content .mmj-parr__tit-container { flex-direction: column; gap: 21px; }
	body .entry-content .mmj-parr__tit-center { width: 100%; order: 2; }
	body .entry-content .mmj-parr__tit-left { order: 1; }
	body .entry-content .mmj-parr__tit-right { order: 3; }
}
@media (max-width: 474px) {
	body .entry-content .mmj-parr__icon { width: 120px; }
}

/* ---------- Page Collections (/collections, gabarit Shopify main-list-collections) : titre, grille 3 / 2 colonnes, cartes ---------- */
body.mmj-page-collections.page:not(.home):not(.woocommerce-page) .entry-header.page-title { margin-bottom: 40px !important; }
html body.mmj-page-collections .entry-content .mmj-collection-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 12px !important; }
html body.mmj-page-collections .entry-content .mmj-collection-grid .mmj-collection-card > span { padding: 15px !important; font-size: 14px !important; line-height: 17.5px !important; }
html body.mmj-page-collections .entry-content .mmj-collection-grid .mmj-collection-card > span > span { font-size: 14px !important; line-height: 17.5px !important; }
@media (max-width: 1280px) {
	body.mmj-page-collections.page:not(.home):not(.woocommerce-page) .entry-header.page-title { margin-bottom: 28px !important; }
	html body.mmj-page-collections .entry-content .mmj-collection-grid { gap: 9.6px !important; }
	html body.mmj-page-collections .entry-content .mmj-collection-grid .mmj-collection-card > span { padding: 12px !important; }
}
@media (max-width: 1023px) {
	body.mmj-page-collections.page:not(.home):not(.woocommerce-page) .entry-header.page-title { margin-bottom: 20px !important; }
	html body.mmj-page-collections .entry-content .mmj-collection-grid { gap: 6px !important; }
	html body.mmj-page-collections .entry-content .mmj-collection-grid .mmj-collection-card > span { padding: 9px !important; font-size: 13.125px !important; line-height: 16.40625px !important; }
	html body.mmj-page-collections .entry-content .mmj-collection-grid .mmj-collection-card > span > span { font-size: 13.125px !important; line-height: 16.40625px !important; }
}
@media (max-width: 767px) {
	html body.mmj-page-collections .entry-content .mmj-collection-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	html body.mmj-page-collections .entry-content .mmj-collection-grid .mmj-collection-card > span, html body.mmj-page-collections .entry-content .mmj-collection-grid .mmj-collection-card > span > span { font-size: 12.25px !important; line-height: 15.3125px !important; }
}
@media (max-width: 359px) {
	html body.mmj-page-collections .entry-content .mmj-collection-grid { grid-template-columns: minmax(0, 1fr) !important; }
}

/* Pagination des collections : element de la grille Shopify, espace = ecart entre lignes de produits */
html body nav.mmj-pagination--collection { margin: 12px 0 0 !important; }
@media (max-width: 1280px) { html body nav.mmj-pagination--collection { margin-top: 9.6px !important; } }
@media (max-width: 1023px) { html body nav.mmj-pagination--collection { margin-top: 6px !important; } }
/* La grille ne garde pas de marge basse (elle absorbait l'ecart de 12 / 9.6px avant la pagination) */
html body.woocommerce.archive main.site-main > ul.products.products { margin-bottom: 0 !important; }
/* Pagination : taille du texte de la page (Shopify 14/21, 13.125/19.6875 sous 1024, 12.25/18.375 sous 475) */
@media (max-width: 1023px) { html body :is(.mmj-search, .mmj-pagination) ul.pagination { font-size: 13.125px !important; line-height: 19.6875px !important; } html body :is(.mmj-search, .mmj-pagination) ul.pagination li { line-height: 19.6875px; } }
@media (max-width: 474px) { html body :is(.mmj-search, .mmj-pagination) ul.pagination { font-size: 12.25px !important; line-height: 18.375px !important; } html body :is(.mmj-search, .mmj-pagination) ul.pagination li { line-height: 18.375px; } }
/* /collections/all, tablette et mobile : titre h1 sans marge propre (Shopify : 20px sous le titre) */
@media (max-width: 1023px) { html body.woocommerce.archive.post-type-archive-product .entry-header.product-archive-title h1 { margin-bottom: 0 !important; } }
/* Article, 1024-1280 : 40px entre l'image a la une et le titre (Shopify : 50 au-dela, 30 en dessous) */
@media (min-width: 1024px) and (max-width: 1280px) { .single-post article.entry.single-entry { margin-top: 40px !important; } }
/* Page sans contenu (Bundles, Mix and Match) : pas de marge sous le titre (Shopify : elle se fond dans celle du pied de page) */
body.mmj-page-empty.page:not(.home):not(.woocommerce-page) .entry-header.page-title { margin-bottom: 0 !important; }

/* ---------- Demande de retour (/pages/demande-retour) : titre centre (container--medium) et bloc Shopify ai-return-portal (70 % de la largeur) ---------- */
body.mmj-page-demande-retour #primary .content-container.site-container { max-width: none; padding-left: 0 !important; padding-right: 0 !important; }
body.mmj-page-demande-retour.page:not(.home):not(.woocommerce-page) .entry-header.page-title { max-width: 1023px; margin: 0 auto 24px !important; padding: 0 40px; box-sizing: border-box; text-align: center; }
body.mmj-page-demande-retour.page:not(.home):not(.woocommerce-page) .entry-header.page-title h1.entry-title { text-align: center; margin: 0 !important; }
body .entry-content .mmj-rp { display: block; width: 70%; max-width: 100%; padding: 16px 40px 40px; background-color: #fff; border-radius: 10px; margin: 0 auto !important; box-sizing: border-box; font-size: 14px; line-height: 21px; color: #1d1d1d; }
body .entry-content .mmj-rp * { box-sizing: border-box; }
body .entry-content .mmj-rp__subtext { color: #1d1d1d; text-align: center; margin: 0 0 12px !important; opacity: .8; }
body .entry-content .mmj-rp__success { padding: 16px; background-color: #d4edda; color: #155724; border-radius: 4px; text-align: center; margin-top: 10px; }
body .entry-content .mmj-rp__error { padding: 16px; background-color: #f8d7da; color: #721c24; border-radius: 4px; margin-top: 10px; }
body .entry-content form.mmj-rp__form { display: grid; grid-template-columns: 2fr 1fr 1fr; padding: 50px 0; gap: 25px; margin: 0 !important; }
body .entry-content .mmj-rp__fields { display: flex; flex-direction: column; gap: 20px; }
body .entry-content .mmj-rp__group { display: flex; flex-direction: column; gap: 8px; margin: 0 !important; }
body .entry-content .mmj-rp__label { display: block; font-weight: 600; color: #1d1d1d; font-size: 14px !important; line-height: 21px !important; margin: 0 !important; padding: 0; letter-spacing: normal; text-transform: none; }
body .entry-content .mmj-rp__required { color: #d82c0d; }
body .entry-content .mmj-rp :is(.mmj-rp__input, .mmj-rp__select, .mmj-rp__textarea) { display: block; width: 100%; margin: 0 !important; padding: 12px 16px; border: 1px solid #e1e1e1 !important; border-radius: 4px !important; font-family: "Fjalla One", sans-serif; font-size: 16px !important; line-height: 24px; font-weight: 400; color: #1d1d1d; background-color: #fff; box-shadow: none !important; }
body .entry-content .mmj-rp .mmj-rp__input { height: 50px; }
body .entry-content .mmj-rp .mmj-rp__select { height: 50px; padding: 12px 53px 12px 16px; -webkit-appearance: none; appearance: none; background-image: url("data:image/svg+xml;utf8,<svg width=\"13\" height=\"8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.414.086 7.9 6.57 6.485 7.985 0 1.5 1.414.086Z\" fill=\"%231d1d1d\"/><path d=\"M12.985 1.515 6.5 8 5.085 6.586 11.571.101l1.414 1.414Z\" fill=\"%231d1d1d\"/></svg>"); background-position: calc(100% - 24px) 50%; background-size: 13px 8px; background-repeat: no-repeat; }
body .entry-content .mmj-rp .mmj-rp__textarea { height: 125px; min-height: 120px; line-height: 22.4px; resize: vertical; }
body .entry-content .mmj-rp :is(.mmj-rp__input, .mmj-rp__textarea)::placeholder { color: #1d1d1d; opacity: .66; }
body .entry-content .mmj-rp :is(.mmj-rp__input, .mmj-rp__select, .mmj-rp__textarea):focus { outline: 2px solid #000; outline-offset: 2px; }
body .entry-content .mmj-rp .mmj-rp__button { display: block; width: 100%; margin: 0; padding: 14px 28px; background-color: #000; color: #fff; border: none; border-radius: 16px; font-family: "Fjalla One", sans-serif; font-size: 16px; line-height: 24px; font-weight: 600; text-align: center; letter-spacing: normal; text-transform: none; cursor: pointer; transition: background-color .3s ease; box-shadow: none; }
body .entry-content .mmj-rp .mmj-rp__button:hover { background-color: #1d1d1d; color: #fff; }
@media (max-width: 1280px) {
	body .entry-content form.mmj-rp__form { padding: 35px 0; gap: 20px; }
}
@media (max-width: 1023px) {
	body.mmj-page-demande-retour.page:not(.home):not(.woocommerce-page) .entry-header.page-title { padding: 0 30px; }
	body .entry-content .mmj-rp { font-size: 13.125px; line-height: 19.6875px; }
	body .entry-content form.mmj-rp__form { grid-template-columns: minmax(0, 1fr); padding: 25px 0; gap: 40px; }
}
@media (max-width: 767px) {
	body.mmj-page-demande-retour.page:not(.home):not(.woocommerce-page) .entry-header.page-title { padding: 0 15px; }
}
@media (max-width: 749px) {
	body .entry-content .mmj-rp { padding: 24px; }
}
@media (max-width: 474px) {
	body .entry-content .mmj-rp { font-size: 12.25px; line-height: 18.375px; }
}
/* Champ anti-spam hors de la grille du formulaire de retour */
body .entry-content form.mmj-rp__form > .mmj-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
html body .entry-content form.mmj-form.mmj-contact-form { max-width: none !important; } /* Shopify : formulaire de toute la largeur de sa colonne */
/* Suivi de commande : marges du widget Parcel Panel (40px au-dela de 1280) et place de sa ligne « Powered by » (26px, marque de l application Shopify non reprise) */
@media (min-width: 1281px) { html body .entry-content .mmj-pp { margin-left: 40px !important; margin-right: 40px !important; } }
html body .entry-content .mmj-pp::after { content: ""; display: block; height: 26px; }
/* Produit ou variante epuise (Shopify) : bouton « Epuise » a 36 % d opacite, pleine largeur, quantite masquee */
html body.single-product div.product form.cart.mmj-soldout .quantity { display: none !important; }
html body.single-product div.product form.cart.mmj-soldout .single_add_to_cart_button { flex: 1 1 100% !important; width: 100% !important; max-width: none !important; margin-left: 0 !important; opacity: .36 !important; pointer-events: none !important; }
/* Prix de la fiche produit : 40px sous la note (blocs vides de Shopify), 8px jusqu au formulaire, bloc de 50.4px (45.6px sous 1024) */
html body.single-product div.product .summary > p.price { margin: 40px 0 0 !important; height: 50.4px; }
@media (max-width: 1023px) { html body.single-product div.product .summary > p.price { height: 45.6px; } }
