/*
Theme Name: Maison Maryjane
Theme URI: https://maison-maryjane.com/
Description: Thème enfant Kadence reproduisant le design de la boutique Maison Maryjane (thème Shopify « Local »). Toute la mise en page reste pilotée par Kadence (Personnaliser) et Gutenberg ; ce thème enfant n'ajoute que les styles et fonctions spécifiques (cartes produit, jauge d'intensité, prix au gramme, accordéons produit, vérification de l'âge).
Author: Maison Maryjane
Template: kadence
Version: 1.0.0
Text Domain: maison-maryjane
*/

/* =========================================================
   Variables de design (issues de l'audit du thème Shopify)
   ========================================================= */
:root {
	--mmj-accent: #3EA246;
	--mmj-black: #000000;
	--mmj-text: #1d1d1d;
	--mmj-text-2: rgba(29, 29, 29, 0.62);
	--mmj-border: rgba(29, 29, 29, 0.15);
	--mmj-border-card: #e1e1e1;
	--mmj-badge: #edcf16;
	--mmj-star: #fdbc00;
	--mmj-radius-btn: 16px;
	--mmj-radius-card: 10px;
	--mmj-radius-form: 5px;
	--mmj-gap: 12px;
	--mmj-section: 100px;
}
@media (max-width: 767px) { :root { --mmj-section: 60px; } }

body { -webkit-font-smoothing: antialiased; }
a { transition: color .2s ease; }
.site-container img { border-radius: 0; }

/* =========================================================
   Barre d'annonce (rangée haute du header)
   ========================================================= */
.site-top-header-wrap .site-header-row-container-inner { font-size: 13px; }
.site-top-header-wrap .header-html { text-align: center; }
.site-top-header-wrap .header-html p { margin: 0; }
.site-top-header-wrap .header-social-wrap a { color: #fff; }
.site-top-header-wrap .header-social-wrap .social-button { padding: 0 6px; background: transparent !important; border: 0 !important; color: #fff !important; box-shadow: none; }
.site-top-header-wrap .header-social-wrap .social-button:hover { color: var(--mmj-accent) !important; }
.site-branding .site-title, .site-branding .site-description { display: none; }
.site-top-header-wrap .header-navigation-2 .menu-item > a { color: #fff; font-size: 13px; text-decoration: underline; text-underline-offset: 3px; padding: 0; }
.site-top-header-wrap .header-navigation-2 .menu-item > a:hover { color: var(--mmj-accent); }

/* =========================================================
   Header principal
   ========================================================= */
.site-header-row-layout-standard .site-header-main-section-right { gap: 12px; }
.site-main-header-inner-wrap .site-header-item { display: flex; align-items: center; }

/* Recherche en ligne (remplace l'icône Kadence, voir template-parts/header/search.php) */
.mmj-header-search { display: flex; align-items: center; width: 320px; max-width: 100%; height: 44px; border: 1px solid var(--mmj-border); border-radius: 22px; background: #fff; padding: 0 8px 0 16px; }
.mmj-header-search .mmj-header-search__icon { width: 16px; height: 16px; flex: 0 0 16px; color: var(--mmj-text); }
.mmj-header-search input[type="search"] { flex: 1; border: 0; background: transparent; box-shadow: none; padding: 0 10px; height: 42px; font-size: 14px; color: var(--mmj-text); }
.mmj-header-search input[type="search"]:focus { outline: none; }
.mmj-header-search input[type="search"]::placeholder { color: var(--mmj-text-2); }
.mmj-header-search button { border: 0; background: transparent; padding: 6px; cursor: pointer; color: var(--mmj-text); line-height: 0; }
@media (max-width: 1279px) { .mmj-header-search { width: 240px; } }
.header-search-wrap .mmj-header-search { margin: 0; }

/* Bouton Mon compte (élément bouton Kadence) */
.header-button-wrap .header-button { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; }
.header-button-wrap .header-button::before { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/><circle cx='12' cy='7' r='4'/></svg>") center/contain no-repeat; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/><circle cx='12' cy='7' r='4'/></svg>") center/contain no-repeat; }

/* Panier : bouton noir "0,00€ (0)" comme sur Shopify */
.header-cart-wrap .header-cart-button { display: inline-flex; align-items: center; gap: 8px; background: var(--mmj-black); color: #fff; border-radius: var(--mmj-radius-btn); padding: 10px 20px; font-weight: 700; font-size: 14px; line-height: 1; transition: background .2s ease; }
.header-cart-wrap .header-cart-button:hover { background: var(--mmj-accent); color: #fff; }
.header-cart-wrap .header-cart-button .header-cart-total { position: static; transform: none; background: transparent; color: #fff; font-size: 14px; width: auto; height: auto; min-width: 0; padding: 0; border-radius: 0; line-height: 1; }
.header-cart-wrap .header-cart-button .header-cart-total::before { content: "("; }
.header-cart-wrap .header-cart-button .header-cart-total::after { content: ")"; }
.header-cart-wrap .header-cart-button .header-cart-total:empty { display: none; }
.header-cart-wrap .header-cart-button .kadence-svg-iconset { line-height: 0; }
.header-cart-wrap .header-cart-button .header-cart-label, .header-cart-wrap .header-cart-button .mmj-cart-amount { font-weight: 700; }

/* Navigation principale (rangée basse) */
.site-bottom-header-inner-wrap .site-header-bottom-section-left { flex: 1 1 auto; }
.site-bottom-header-wrap .site-header-row-layout-standard { display: flex; }
.site-bottom-header-wrap .site-header-bottom-section-left, .site-bottom-header-wrap .site-header-section-left { flex: 1; }
.site-bottom-header-wrap .primary-menu-container, .site-bottom-header-wrap .header-navigation, .site-bottom-header-wrap .header-navigation .header-menu-container { width: 100%; }
.site-bottom-header-wrap .header-navigation > ul, .site-bottom-header-wrap .primary-menu-container > ul { display: flex; width: 100%; align-items: center; }
.site-bottom-header-wrap .header-navigation .menu-item > a { font-size: 14px; }
.site-bottom-header-wrap .header-navigation .menu-item.mmj-nav-contact { margin-left: auto; }
.site-bottom-header-wrap .header-navigation .menu-item.mmj-nav-contact > a { padding-right: 0; display: inline-flex; align-items: center; }
.header-navigation .sub-menu { border-radius: 6px; padding: 8px 0; }
.header-navigation .sub-menu .menu-item > a { padding: 8px 16px; font-size: 13px; }
.header-navigation .sub-menu .sub-menu { margin-left: 2px; }

/* Header mobile */
.site-mobile-header-wrap .site-header-row-layout-standard .site-header-section-center { flex: 1; }
.site-mobile-header-wrap .header-mobile-cart-wrap .header-cart-button { padding: 0; background: transparent; color: var(--mmj-text); }
.site-mobile-header-wrap .header-mobile-cart-wrap .header-cart-button .header-cart-total::before, .site-mobile-header-wrap .header-mobile-cart-wrap .header-cart-button .header-cart-total::after { content: none; }
.site-mobile-header-wrap .header-mobile-cart-wrap .header-cart-total { position: absolute; top: -8px; right: -10px; background: var(--mmj-black); color: #fff; font-size: 10px; width: 18px; height: 18px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; padding: 0; }
.site-mobile-header-wrap .header-cart-wrap .header-cart-button .mmj-cart-amount { display: none; }
.site-mobile-header-wrap .header-search-wrap, .site-mobile-header-wrap .mmj-header-search { width: 100%; }
.site-mobile-header-wrap .site-bottom-header-inner-wrap { padding: 0 var(--global-content-edge-padding); }
.mobile-navigation .menu-item > a { font-size: 15px; padding: 12px 0; }

/* =========================================================
   Boutons & formulaires
   ========================================================= */
.button, .wp-block-button__link, button.button, input[type="submit"], .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit { border-radius: var(--mmj-radius-btn); font-weight: 700; letter-spacing: 0; }
.button.button--outline, .wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--mmj-text); border: 1px solid var(--mmj-text); }
.button.button--outline:hover, .wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--mmj-black); color: #fff; }
input[type="text"], input[type="email"], input[type="tel"], input[type="search"], input[type="number"], input[type="password"], textarea, select, .select2-container--default .select2-selection--single { border-radius: var(--mmj-radius-form); border-color: rgba(29, 29, 29, 0.3); box-shadow: none; }

/* =========================================================
   Fil d'Ariane & titres
   ========================================================= */
.kadence-breadcrumbs, .kadence-breadcrumbs a { font-size: 12px; color: var(--mmj-text-2); }
.kadence-breadcrumbs .kadence-breadcrumb-separator, .kadence-breadcrumbs .separator { margin: 0 6px; }
.entry-hero .entry-title, .product-hero-section .entry-title, .woocommerce-products-header__title { font-family: "Abril Fatface", serif; font-weight: 400; }

/* =========================================================
   Cartes produit (boucle WooCommerce)
   ========================================================= */
.woocommerce ul.products, .wc-block-grid__products { gap: var(--mmj-gap); }
.woocommerce ul.products li.product, .wc-block-grid__product { text-align: center; position: relative; background: #fff; border: 0; padding: 0; }
.woocommerce ul.products li.product .product-action-wrap, .woocommerce ul.products li.product .kadence-product-action-wrap { display: none !important; }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link .kadence-product-image-wrap, .woocommerce ul.products li.product .mmj-card-image { display: block; border-radius: var(--mmj-radius-card); overflow: hidden; background: #fff; border: 1px solid var(--mmj-border-card); }
.woocommerce ul.products li.product a.woocommerce-loop-image-link img, .woocommerce ul.products li.product .kadence-product-image-wrap img, .wc-block-grid__product .wc-block-grid__product-image img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; padding: 0; margin: 0; border-radius: var(--mmj-radius-card); background: #fff; }
.woocommerce ul.products li.product a.woocommerce-loop-image-link { display: block; position: relative; border-radius: var(--mmj-radius-card); overflow: hidden; border: 1px solid var(--mmj-border-card); }
.woocommerce ul.products li.product a.woocommerce-loop-image-link img.secondary-product-image { position: absolute; inset: 0; opacity: 0; transition: opacity .3s ease; }
.woocommerce ul.products li.product a.woocommerce-loop-image-link:hover img.secondary-product-image { opacity: 1; }
.woocommerce ul.products li.product .product-details, .woocommerce ul.products li.product .product-details.content-bg { padding: 12px 8px 4px; text-align: center; background: transparent; }
.woocommerce ul.products li.product .mmj-gauge { display: block; margin: 0 auto 6px; height: 25px !important; width: auto !important; max-width: 132px; aspect-ratio: auto !important; border: 0; border-radius: 0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product .product-title { font-family: inherit; font-size: 15px; font-weight: 700; line-height: 1.3; margin: 0 0 4px; color: var(--mmj-text); }
.woocommerce ul.products li.product .woocommerce-loop-product__title a:hover { text-decoration: underline; text-underline-offset: 2px; }
.woocommerce ul.products li.product .price { font-size: 13px; font-weight: 400; color: var(--mmj-text); display: block; margin: 0 0 4px; }
.woocommerce ul.products li.product .price del, .price del { color: var(--mmj-text-2); font-size: 12px; font-weight: 400; opacity: 1; }
.woocommerce ul.products li.product .price ins { text-decoration: none; font-weight: 400; }
.woocommerce ul.products li.product .mmj-unit-price { color: var(--mmj-text); }
.woocommerce ul.products li.product .star-rating, .woocommerce ul.products li.product .mmj-rating { margin: 4px auto 0; }
.mmj-rating { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--mmj-text); }
.mmj-rating .star-rating { margin: 0; }
.woocommerce .star-rating { color: var(--mmj-star); font-size: 12px; }
.woocommerce ul.products li.product .star-rating { display: inline-block; float: none; }
.mmj-rating--empty .star-rating { color: #d3d3d0; }
/* Badges (haut droite de l'image) */
.woocommerce ul.products li.product .mmj-badges { position: absolute; top: 10px; right: 10px; z-index: 3; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; pointer-events: none; }
.woocommerce ul.products li.product .mmj-badges .onsale, .mmj-badge, .woocommerce span.onsale { position: static; display: inline-block; background: var(--mmj-badge); color: #000; font-size: 10px; font-weight: 700; text-transform: uppercase; line-height: 1; padding: 6px 8px; border-radius: 4px; min-width: 0; min-height: 0; margin: 0; letter-spacing: .02em; transform: none; }
.woocommerce ul.products li.product .mmj-badge--soldout, .mmj-badge--soldout { background: #1d1d1d; color: #fff; }
.woocommerce ul.products li.product span.onsale:not(.mmj-badge) { display: none; }
/* Carte avec bouton (accueil « Nos incontournables ») */
.mmj-cards-with-button.woocommerce ul.products li.product .product-action-wrap, .mmj-cards-with-button .wc-block-grid__product .wp-block-button { display: block !important; margin-top: 10px; }
.mmj-cards-with-button.woocommerce ul.products li.product .button { display: inline-block; width: 100%; background: var(--mmj-black); color: #fff; border-radius: var(--mmj-radius-btn); padding: 12px 18px; font-size: 13px; }
.mmj-cards-with-button.woocommerce ul.products li.product .button:hover { background: var(--mmj-accent); }
/* Grille mobile */
@media (max-width: 767px) { .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 13px; } .woocommerce ul.products li.product .mmj-gauge { height: 20px; } }

/* Archive produit (collection) */
.product-archive-title-layout-normal .entry-hero-container-inner { padding-bottom: 0; }
.woocommerce-products-header .term-description, .content-area .taxonomy-description { font-size: 14px; line-height: 1.6; color: var(--mmj-text); margin-bottom: 30px; }
.woocommerce .woocommerce-result-count { font-size: 12px; color: var(--mmj-text); }
.woocommerce .woocommerce-ordering select { border-radius: 6px; font-size: 12px; padding: 8px 32px 8px 12px; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { border-radius: 50%; }

/* Filtres (blocs WooCommerce) */
.mmj-filters { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 0 0 24px; }
.mmj-filters__label { font-size: 12px; color: var(--mmj-text); margin-right: 4px; }
.mmj-filters details { border: 1px solid var(--mmj-border); border-radius: 6px; padding: 0; }
.mmj-filters summary { font-size: 12px; padding: 8px 14px; cursor: pointer; list-style: none; display: flex; align-items: center; gap: 8px; }
.mmj-filters summary::after { content: ""; width: 8px; height: 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); margin-top: -3px; }
.mmj-filters details[open] summary::after { transform: rotate(225deg); margin-top: 3px; }
.mmj-filters details > div { padding: 8px 14px 12px; border-top: 1px solid var(--mmj-border); font-size: 12px; min-width: 220px; }

/* =========================================================
   Page produit
   ========================================================= */
.single-product .product-hero-section { padding-top: 10px; }
.single-product div.product .product_title { font-family: "Abril Fatface", serif; font-weight: 400; font-size: 30px; line-height: 1.25; margin-bottom: 10px; }
.single-product div.product .woocommerce-product-rating { margin-bottom: 18px; display: flex; align-items: center; gap: 8px; }
.single-product div.product .woocommerce-product-rating .star-rating { margin: 0; }
.single-product div.product .woocommerce-product-rating .woocommerce-review-link { font-size: 12px; color: var(--mmj-text); }
.single-product div.product .price { font-size: 26px; font-weight: 700; color: var(--mmj-text); }
.single-product div.product .price del { font-size: 13px; }
.single-product div.product form.cart table.variations th, .single-product div.product form.cart table.variations td { padding: 0; }
.single-product div.product form.cart table.variations label { font-size: 12px; font-weight: 700; text-transform: capitalize; margin-bottom: 6px; display: block; }
.single-product div.product form.cart table.variations select { width: 100%; max-width: none; border-radius: 6px; padding: 12px 40px 12px 14px; font-size: 13px; }
.single-product div.product .woocommerce-variation-price { margin: 14px 0 4px; }
.single-product div.product .woocommerce-variation-price .price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; }
.single-product div.product .mmj-savings { font-size: 11px; color: var(--mmj-text-2); }
.single-product div.product .mmj-unit-price--single { font-size: 12px; color: var(--mmj-text); margin-left: auto; }
.single-product div.product .reset_variations { display: none !important; }
.single-product div.product form.cart .woocommerce-variation-add-to-cart, .single-product div.product form.cart:not(.variations_form) { display: flex; align-items: center; gap: 12px; margin-top: 18px; }
.single-product div.product form.cart .quantity { display: inline-flex; align-items: center; border: 1px solid var(--mmj-text); border-radius: var(--mmj-radius-btn); height: 50px; overflow: hidden; }
.single-product div.product form.cart .quantity .qty { border: 0; width: 52px; height: 48px; text-align: center; font-size: 14px; box-shadow: none; }
.single-product div.product form.cart .quantity .kadence-qty-button { width: 44px; height: 48px; font-size: 20px; line-height: 48px; cursor: pointer; }
.single-product div.product form.cart .single_add_to_cart_button { flex: 1; height: 50px; background: var(--mmj-black); color: #fff; border-radius: var(--mmj-radius-btn); font-size: 13px; }
.single-product div.product form.cart .single_add_to_cart_button:hover { background: var(--mmj-accent); }
.single-product div.product .product_meta { display: none; }
/* Accordéons (Goûts, Ressenti, Texture, Infos produits) */
.mmj-accordions { margin: 26px 0 0; border-top: 1px solid var(--mmj-border); }
.mmj-accordions details { border-bottom: 1px solid var(--mmj-border); }
.mmj-accordions summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; padding: 16px 0; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .02em; }
.mmj-accordions summary::-webkit-details-marker { display: none; }
.mmj-accordions summary::after { content: ""; width: 8px; height: 8px; border-right: 1.5px solid var(--mmj-text); border-bottom: 1.5px solid var(--mmj-text); transform: rotate(45deg); transition: transform .2s; margin-right: 4px; }
.mmj-accordions details[open] summary::after { transform: rotate(225deg); }
.mmj-accordions .mmj-accordion__content { padding: 0 0 16px; font-size: 13px; line-height: 1.7; }
.mmj-accordions .mmj-accordion__content p { margin: 0; }
.mmj-accordions .mmj-accordion__content a { text-decoration: underline; }
.mmj-product-description { margin-top: 26px; font-size: 13px; line-height: 1.7; }
.mmj-product-description em { color: var(--mmj-text-2); }
/* Compléter votre commande (cross-sells) */
.mmj-cross-sells { margin-top: 28px; }
.mmj-cross-sells__title { font-size: 13px; font-weight: 700; display: flex; align-items: center; gap: 6px; margin: 0 0 14px; }
.mmj-cross-sells__title::before { content: "⚡"; color: #f5a623; }
.mmj-cross-sell { display: flex; align-items: center; gap: 14px; padding: 8px 0; }
.mmj-cross-sell__img { width: 64px; height: 48px; object-fit: contain; border: 1px solid var(--mmj-border-card); border-radius: 6px; background: #fff; flex: 0 0 64px; }
.mmj-cross-sell__body { flex: 1; font-size: 12px; }
.mmj-cross-sell__body a { font-weight: 700; }
.mmj-cross-sell__price { display: block; font-size: 12px; }
.mmj-cross-sell .button { background: var(--mmj-black); color: #fff; padding: 8px 16px; font-size: 11px; border-radius: var(--mmj-radius-btn); }
/* Galerie */
.single-product div.product .woocommerce-product-gallery { border-radius: var(--mmj-radius-card); }
.single-product div.product .woocommerce-product-gallery img { border-radius: var(--mmj-radius-card); }
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img { border-radius: 6px; opacity: .6; }
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active { opacity: 1; }
/* Onglets : seul l'onglet Avis reste, présenté comme une section */
.single-product .woocommerce-tabs ul.wc-tabs { display: none; }
.single-product .woocommerce-tabs .panel { border: 0; padding: 0; }
.single-product .woocommerce-tabs #tab-reviews h2 { font-family: "Abril Fatface", serif; font-weight: 400; font-size: 26px; text-align: center; margin-bottom: 30px; }
.single-product .related.products > h2, .single-product .up-sells.products > h2, .single-product .related.products h2.title { font-family: "Abril Fatface", serif; font-weight: 400; font-size: 22px; margin-bottom: 24px; }
/* Avis */
.woocommerce #reviews #comments ol.commentlist { padding: 0; }
.woocommerce #reviews #comments ol.commentlist li { margin-bottom: 14px; }
.woocommerce #reviews #comments ol.commentlist li .comment-text { border: 1px solid var(--mmj-border); border-radius: var(--mmj-radius-card); padding: 16px 20px; }
.woocommerce #reviews #comments ol.commentlist li img.avatar { width: 40px; border-radius: 50%; border: 0; padding: 0; background: #f6f6f6; }
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta { font-size: 12px; }
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta strong { font-weight: 700; }
.woocommerce #reviews #comments ol.commentlist li .comment-text .description { font-size: 13px; }
.woocommerce #reviews #review_form_wrapper { margin-top: 30px; }
.woocommerce #reviews .mmj-review-title { font-weight: 700; font-size: 13px; margin: 6px 0 4px; }
.mmj-verified { display: inline-flex; align-items: center; gap: 4px; color: #05d92d; font-size: 11px; }
.mmj-verified::before { content: "✔"; font-size: 10px; }

/* Barre d'ajout au panier collante */
.kadence-sticky-add-to-cart { border-top: 1px solid var(--mmj-border); }

/* =========================================================
   Panier, checkout, compte
   ========================================================= */
.woocommerce table.shop_table { border-radius: var(--mmj-radius-card); }
.woocommerce-cart .cart-collaterals .cart_totals, .woocommerce-checkout #order_review, .woocommerce-checkout .woocommerce-checkout-review-order { border: 1px solid var(--mmj-border); border-radius: var(--mmj-radius-card); padding: 20px; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button, .woocommerce-checkout #place_order { background: var(--mmj-black); color: #fff; border-radius: var(--mmj-radius-btn); }
.wc-block-components-button, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { border-radius: var(--mmj-radius-btn) !important; background: var(--mmj-black) !important; font-weight: 700; }
.wc-block-components-button:hover { background: var(--mmj-accent) !important; }
.wc-block-components-product-badge, .wc-block-components-sale-badge { background: var(--mmj-badge); color: #000; border-radius: 4px; border: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { border: 1px solid var(--mmj-border); border-radius: var(--mmj-radius-card); padding: 6px 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a { font-size: 13px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a { color: var(--mmj-accent); font-weight: 700; }
.woocommerce form.login, .woocommerce form.register, .woocommerce form.lost_reset_password { border: 1px solid var(--mmj-border); border-radius: var(--mmj-radius-card); }

/* Tiroir panier Kadence */
#kadence-slide-cart .side-cart-header { font-family: "Abril Fatface", serif; }
#kadence-slide-cart .widget_shopping_cart .buttons .button.checkout { background: var(--mmj-black); border-radius: var(--mmj-radius-btn); }

/* =========================================================
   Blog
   ========================================================= */
.blog .entry-hero .entry-title, .archive .entry-hero .entry-title { font-family: "Abril Fatface", serif; }
.loop-entry.type-post .entry-title { font-family: inherit; font-size: 16px; font-weight: 700; line-height: 1.35; }
.loop-entry.type-post .post-thumbnail img { border-radius: var(--mmj-radius-card); aspect-ratio: 16 / 9; object-fit: cover; }
.loop-entry.type-post .entry-meta { font-size: 12px; color: var(--mmj-text-2); text-transform: none; }
.loop-entry.type-post .entry-summary { font-size: 13px; }
.single-post .entry-content { font-size: 15px; line-height: 1.7; }
.single-post .entry-content h2 { font-size: 26px; }
.single-post .entry-content h3 { font-size: 20px; }
.single-post .entry-content img { border-radius: var(--mmj-radius-card); }
.single-post .entry-hero .entry-title { font-family: "Abril Fatface", serif; font-size: 34px; }
.single-post .entry-taxonomies .tags-links a { display: inline-block; border: 1px solid var(--mmj-text); border-radius: var(--mmj-radius-btn); padding: 4px 12px; font-size: 11px; margin: 0 6px 6px 0; }
.single-post .entry-taxonomies .tags-links a:hover { background: var(--mmj-black); color: #fff; }

/* =========================================================
   Pages
   ========================================================= */
.page .entry-content, .page .entry-content p { font-size: 14px; line-height: 1.7; }
.page .entry-content h2 { font-size: 24px; margin-top: 30px; }
.page .entry-content h3 { font-size: 18px; }
.entry-content a:not(.button):not(.wp-block-button__link) { text-decoration: underline; text-underline-offset: 2px; }
.entry-content a:not(.button):not(.wp-block-button__link):hover { color: var(--mmj-accent); }

/* =========================================================
   Sections de la page d'accueil (blocs Gutenberg)
   ========================================================= */
.mmj-section { margin-top: var(--mmj-section); }
.mmj-section-title { font-family: "Abril Fatface", serif; font-weight: 400; font-size: 26px; text-align: center; margin: 0 0 8px; }
.mmj-section-subtitle { text-align: center; font-size: 14px; margin: 0 0 30px; }
/* Hero */
.mmj-hero .wp-block-cover__inner-container { text-align: center; }
.mmj-hero h1, .mmj-hero h2 { font-family: "Abril Fatface", serif; font-weight: 400; font-size: 40px; color: #fff; margin: 0 0 12px; }
.mmj-hero p { font-size: 16px; color: #fff; margin: 0 0 22px; }
.mmj-hero .wp-block-button__link { background: rgba(255,255,255,0.15); border: 1px solid #fff; color: #fff; padding: 12px 34px; }
.mmj-hero .wp-block-button__link:hover { background: #fff; color: #000; }
@media (max-width: 767px) { .mmj-hero h1, .mmj-hero h2 { font-size: 30px; } .mmj-hero .wp-block-cover { min-height: 340px !important; } }
/* Réassurance */
.mmj-reassurance .wp-block-column { text-align: center; }
.mmj-reassurance .wp-block-image { margin: 0 auto 14px; width: 72px; }
.mmj-reassurance h3 { font-family: "Abril Fatface", serif; font-weight: 400; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; margin: 0 0 6px; }
.mmj-reassurance p { font-size: 12px; margin: 0; color: var(--mmj-text); }
@media (max-width: 767px) { .mmj-reassurance .wp-block-columns { display: grid !important; grid-template-columns: 1fr 1fr; gap: 24px 12px; } .mmj-reassurance .wp-block-column { flex-basis: auto !important; } }
/* Bannières collections (grille 3x2) */
.mmj-collection-banners { display: grid; grid-template-columns: 1fr 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 8px; height: 600px; }
.mmj-collection-banners .mmj-banner { position: relative; display: block; overflow: hidden; border-radius: var(--mmj-radius-card); background: #eee; }
.mmj-collection-banners .mmj-banner img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.mmj-collection-banners .mmj-banner:hover img { transform: scale(1.04); }
.mmj-collection-banners .mmj-banner__label { position: absolute; left: 16px; bottom: 14px; color: #fff; font-family: "Abril Fatface", serif; font-size: 22px; text-shadow: 0 2px 8px rgba(0,0,0,.5); max-width: 80%; line-height: 1.2; }
.mmj-collection-banners .mmj-banner--tall { grid-row: 1 / span 2; grid-column: 2; }
@media (max-width: 767px) { .mmj-collection-banners { grid-template-columns: 1fr 1fr; grid-template-rows: auto; height: auto; } .mmj-collection-banners .mmj-banner { aspect-ratio: 1; } .mmj-collection-banners .mmj-banner--tall { grid-column: 1 / span 2; grid-row: auto; aspect-ratio: 16 / 9; } .mmj-collection-banners .mmj-banner__label { font-size: 18px; } }
/* Grille de collections « Nos gammes » */
.mmj-collection-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--mmj-gap); }
.mmj-collection-grid .mmj-collection-card { display: block; border: 1px solid var(--mmj-border-card); border-radius: var(--mmj-radius-card); overflow: hidden; background: #fff; text-align: center; }
.mmj-collection-grid .mmj-collection-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.mmj-collection-grid .mmj-collection-card span { display: block; padding: 12px; font-size: 13px; font-weight: 700; }
.mmj-collection-grid .mmj-collection-card:hover span { text-decoration: underline; }
@media (max-width: 767px) { .mmj-collection-grid { grid-template-columns: 1fr 1fr; } }
.mmj-center-button { text-align: center; margin-top: 26px; }
.mmj-center-button .wp-block-button__link, .mmj-button-outline .wp-block-button__link { background: transparent; color: var(--mmj-text); border: 1px solid var(--mmj-text); padding: 10px 26px; font-size: 13px; }
.mmj-center-button .wp-block-button__link:hover, .mmj-button-outline .wp-block-button__link:hover { background: var(--mmj-black); color: #fff; }
/* Bandeau privilèges */
.mmj-privileges { background: #fff; }
.mmj-privileges .wp-block-media-text__content { text-align: center; padding: 0 8%; }
.mmj-privileges h2 { font-family: "Abril Fatface", serif; font-weight: 400; font-size: 26px; margin: 0 0 12px; }
.mmj-privileges p { font-size: 14px; }
.mmj-privileges .wp-block-button__link { background: var(--mmj-black); color: #fff; padding: 12px 34px; }
/* Newsletter */
.mmj-newsletter { text-align: center; }
.mmj-newsletter h2 { font-family: "Abril Fatface", serif; font-weight: 400; font-size: 26px; margin: 0 0 20px; }
.mmj-newsletter form, .mmj-newsletter .wp-block-kadence-advancedform, .mmj-newsletter .kb-form { max-width: 520px; margin: 0 auto; }
.mmj-newsletter p { font-size: 13px; }
/* Blog cards accueil */
.mmj-blog-home .wp-block-post-title { font-size: 15px; font-weight: 700; font-family: inherit; }
.mmj-blog-home .wp-block-post-date { font-size: 12px; color: var(--mmj-text-2); }
.mmj-blog-home .wp-block-post-featured-image img { border-radius: var(--mmj-radius-card); aspect-ratio: 16 / 9; object-fit: cover; }
/* Produits en carrousel horizontal sur mobile */
@media (max-width: 767px) {
	.mmj-scroll-mobile ul.products, .mmj-scroll-mobile .wc-block-grid__products { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; padding-bottom: 8px; -webkit-overflow-scrolling: touch; }
	.mmj-scroll-mobile ul.products li.product, .mmj-scroll-mobile .wc-block-grid__product { flex: 0 0 72%; scroll-snap-align: start; width: 72% !important; }
}

/* =========================================================
   Footer
   ========================================================= */
.site-footer { font-size: 13px; }
.site-middle-footer-inner-wrap { padding-top: 50px; padding-bottom: 50px; }
.site-footer .widget-title, .site-footer h3 { font-family: "Abril Fatface", serif; font-weight: 400; font-size: 18px; margin-bottom: 14px; }
.site-footer .wp-block-navigation .wp-block-navigation-item__label { font-size: 13px; }
.site-footer .wp-block-navigation { gap: 8px; }
.site-footer a { text-decoration: underline; text-underline-offset: 3px; }
.site-footer a:hover { color: var(--mmj-accent); }
.site-footer .mmj-footer-slogan { font-size: 13px; }
.site-footer .wp-block-social-links { margin-top: 10px; }
.site-footer .wp-block-image { margin-bottom: 12px; }
.site-bottom-footer-inner-wrap { font-size: 12px; }

/* =========================================================
   Vérification de l'âge
   ========================================================= */
.mmj-age-gate { position: fixed; inset: 0; z-index: 99999; background: rgba(0, 0, 0, 0.65); display: flex; align-items: center; justify-content: center; padding: 20px; }
.mmj-age-gate[hidden] { display: none; }
.mmj-age-gate__box { background: var(--mmj-accent); color: #fff; width: 100%; max-width: 420px; padding: 36px 30px; text-align: center; border-radius: 4px; }
.mmj-age-gate__box h2 { font-family: "Abril Fatface", serif; font-weight: 400; color: #fff; font-size: 22px; margin: 0 0 10px; }
.mmj-age-gate__box p { font-size: 13px; margin: 0 0 20px; }
.mmj-age-gate__box .button { background: transparent; border: 1px solid #fff; color: #fff; border-radius: var(--mmj-radius-btn); padding: 12px 34px; font-weight: 700; cursor: pointer; }
.mmj-age-gate__box .button:hover { background: #fff; color: #000; }
body.mmj-age-gate-open { overflow: hidden; }

/* Retour en haut */
#kt-scroll-up, #kt-scroll-up-reader { border-radius: 50%; }

/* Page produit : prix de la variante sélectionnée uniquement, pas de badges sur la galerie (comme Shopify) */
.single-product div.product.product-type-variable > .summary > .price, .single-product div.product.product-type-variable .entry-summary > .price { display: none; }
.single-product div.product .woocommerce-product-gallery .mmj-badges, .single-product div.product .woocommerce-product-gallery .onsale, .single-product div.product > .mmj-badges, .single-product .product-hero-section .mmj-badges { display: none; }

/* Mobile : grille produits sur 2 colonnes comme Shopify */
@media (max-width: 767px) {
	.woocommerce ul.products.grid-ss-col-2, .woocommerce ul.products.columns-4, .woocommerce ul.products.columns-3 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px; }
	.mmj-filters { gap: 8px; }
	.mmj-filters details > div { min-width: 0; }
	.single-product div.product .product_title { font-size: 24px; }
}

/* Barre d'achat collante (page produit) */
.mmj-sticky-atc { position: fixed; left: 0; right: 0; bottom: 0; z-index: 900; background: #fff; border-top: 1px solid var(--mmj-border); box-shadow: 0 -4px 16px rgba(0,0,0,.06); transform: translateY(110%); transition: transform .25s ease; }
.mmj-sticky-atc.is-visible { transform: none; }
.mmj-sticky-atc__inner { max-width: 1360px; margin: 0 auto; padding: 10px 24px; display: flex; align-items: center; gap: 16px; }
.mmj-sticky-atc img { width: 56px; height: 42px; object-fit: contain; border-radius: 6px; border: 1px solid var(--mmj-border-card); }
.mmj-sticky-atc__info { flex: 1; display: flex; flex-direction: column; font-size: 13px; line-height: 1.3; }
.mmj-sticky-atc__info strong { font-weight: 700; }
.mmj-sticky-atc__price { font-size: 13px; }
.mmj-sticky-atc__price del { font-size: 11px; margin-right: 4px; }
.mmj-sticky-atc__btn { background: var(--mmj-black); color: #fff; border-radius: var(--mmj-radius-btn); padding: 12px 28px; font-size: 13px; }
.mmj-sticky-atc__btn:hover { background: var(--mmj-accent); }
@media (max-width: 767px) { .mmj-sticky-atc__inner { padding: 8px 12px; gap: 10px; } .mmj-sticky-atc__info strong { font-size: 12px; } .mmj-sticky-atc__btn { padding: 10px 16px; font-size: 12px; } .mmj-sticky-atc img { display: none; } }
body.admin-bar .mmj-sticky-atc { bottom: 0; }
