/* ============================================
   MaisonKoz — Styles personnalisés v0.2
   Univers cosy / cocooning · base Astra
   ============================================ */

/* ============================================
   BASE
   ============================================ */
html,
body,
.site,
.site-content,
.ast-container,
#content,
.ast-page-builder-template .entry-header {
    background-color: var(--mk-bg) !important;
}

body {
    color: var(--mk-text);
    font-family: var(--mk-font-body);
    font-size: 16px;
    line-height: 1.7;
}

/* Article "carte" (uniquement pages classiques, pas front-page custom) */
.single-post .ast-article-single,
.page:not(.home) .ast-article-post,
.page:not(.home) article.page {
    background-color: var(--mk-surface);
    border: 1px solid var(--mk-border);
    border-radius: var(--mk-radius-lg);
    padding: 2.5em;
    box-shadow: var(--mk-shadow);
}

/* ============================================
   TYPOGRAPHIE
   ============================================ */
h1, h2, h3, h4, h5, h6,
.entry-title,
.site-title {
    font-family: var(--mk-font-display);
    color: var(--mk-text);
    font-weight: 600;
    letter-spacing: -0.015em;
    line-height: 1.2;
}

h1 { font-size: clamp(2rem, 4vw, 3rem); }
h2 { font-size: clamp(1.6rem, 3vw, 2.25rem); }
h3 { font-size: clamp(1.25rem, 2.4vw, 1.6rem); }

a, a:link, a:visited,
.entry-meta a, .entry-meta a:link,
.post-meta a, .ast-article-post .entry-meta a {
    color: var(--mk-accent);
    transition: color 0.2s ease;
    text-decoration: none;
}
a:hover, a:focus,
.entry-meta a:hover, .post-meta a:hover {
    color: var(--mk-accent-hover);
    text-decoration: underline;
}

/* ============================================
   HEADER
   ============================================ */
.ast-primary-header-bar,
.main-header-bar {
    background-color: var(--mk-bg) !important;
    border-bottom: 1px solid var(--mk-border);
    box-shadow: none;
}

.site-title a, .site-title a:visited {
    color: var(--mk-text);
    font-family: var(--mk-font-display);
    font-weight: 700;
    font-size: 1.5rem;
}

.site-title {
    display: block;
    margin-bottom: 0.15em;
    line-height: 1.1;
}

.site-description {
    display: block;
    color: var(--mk-text-dim);
    font-style: italic;
    font-family: var(--mk-font-body);
    font-size: 0.85rem;
    margin-top: 0.1em;
    margin-left: 0;
}

.ast-site-identity {
    display: flex;
    flex-direction: column;
    gap: 0.1em;
}

/* Nav menu */
.main-header-menu a,
.main-header-menu .menu-link {
    color: var(--mk-text);
    font-family: var(--mk-font-body);
    font-weight: 500;
    font-size: 0.95rem;
    transition: color 0.2s ease;
}
.main-header-menu a:hover,
.main-header-menu .current-menu-item > a {
    color: var(--mk-accent);
}

/* ============================================
   BOUTONS GLOBAUX (Astra/Woo + nos .mk-btn)
   ============================================ */
.ast-button,
.button,
.wp-block-button__link,
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-page #respond input#submit,
.mk-btn {
    background-color: var(--mk-accent);
    color: #fff !important;
    border: none;
    border-radius: var(--mk-radius);
    padding: 0.85em 1.6em;
    font-family: var(--mk-font-body);
    font-weight: 500;
    font-size: 0.95rem;
    letter-spacing: 0.02em;
    text-decoration: none;
    display: inline-block;
    cursor: pointer;
    transition: all 0.25s ease;
    box-shadow: var(--mk-shadow);
}

.ast-button:hover, .button:hover, .wp-block-button__link:hover,
input[type="submit"]:hover, .woocommerce a.button:hover,
.woocommerce button.button:hover, .mk-btn:hover {
    background-color: var(--mk-accent-hover);
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: var(--mk-shadow-lg);
    text-decoration: none;
}

.mk-btn--ghost {
    background-color: transparent;
    color: var(--mk-text) !important;
    border: 1.5px solid var(--mk-text);
    box-shadow: none;
}
.mk-btn--ghost:hover {
    background-color: var(--mk-text);
    color: #fff !important;
    transform: translateY(-2px);
}

/* ============================================
   HOMEPAGE — HERO
   ============================================ */
.mk-home { width: 100%; }

.mk-hero {
    position: relative;
    min-height: 78vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin: 0;
    padding: 5rem 1.5rem;
}

.mk-hero__bg {
    position: absolute;
    inset: 0;
    background-image: url('https://picsum.photos/seed/maisonkoz-hero/1920/1200.jpg');
    background-size: cover;
    background-position: center;
    z-index: 0;
}
.mk-hero__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(46,46,46,0.55), rgba(201,112,100,0.35));
}

.mk-hero__inner {
    position: relative;
    z-index: 1;
    text-align: center;
    max-width: 720px;
    color: #fff;
}

.mk-hero__eyebrow {
    display: inline-block;
    font-family: var(--mk-font-body);
    font-size: 0.85rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: rgba(255,255,255,0.9);
    background-color: rgba(255,255,255,0.15);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.25);
    padding: 0.5em 1.1em;
    border-radius: 100px;
    margin: 0 0 1.5rem;
}

.mk-hero__title {
    font-family: var(--mk-font-display);
    font-size: clamp(2.5rem, 6vw, 4.75rem);
    font-weight: 600;
    line-height: 1.05;
    color: #fff;
    margin: 0 0 1.25rem;
    text-shadow: 0 2px 30px rgba(0,0,0,0.3);
}
.mk-hero__title em {
    font-style: italic;
    color: #FFD9A8;
}

.mk-hero__lede {
    font-size: 1.15rem;
    line-height: 1.6;
    color: rgba(255,255,255,0.92);
    margin: 0 auto 2rem;
    max-width: 560px;
}

.mk-hero__ctas {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}
.mk-hero .mk-btn--ghost {
    color: #fff !important;
    border-color: rgba(255,255,255,0.7);
}
.mk-hero .mk-btn--ghost:hover {
    background-color: #fff;
    color: var(--mk-text) !important;
}

/* ============================================
   USP BAR
   ============================================ */
.mk-usp {
    background-color: var(--mk-bg-soft);
    padding: 2rem 1.5rem;
    border-bottom: 1px solid var(--mk-border);
}
.mk-usp__list {
    list-style: none;
    margin: 0 auto;
    padding: 0;
    max-width: 1280px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.5rem;
}
.mk-usp__item {
    display: flex;
    align-items: center;
    gap: 1rem;
}
.mk-usp__icon {
    font-size: 2rem;
    flex-shrink: 0;
}
.mk-usp__text {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
}
.mk-usp__text strong {
    color: var(--mk-text);
    font-weight: 600;
    font-size: 0.95rem;
}
.mk-usp__text span {
    color: var(--mk-text-dim);
    font-size: 0.85rem;
}

/* ============================================
   SECTIONS GÉNÉRIQUES
   ============================================ */
.mk-section {
    padding: 5rem 1.5rem;
    max-width: 1280px;
    margin: 0 auto;
}
.mk-section--alt {
    background-color: var(--mk-bg-soft);
    max-width: none;
    padding-left: max(1.5rem, calc((100% - 1280px) / 2));
    padding-right: max(1.5rem, calc((100% - 1280px) / 2));
}

.mk-section__head {
    text-align: center;
    margin: 0 auto 3rem;
    max-width: 640px;
}
.mk-section__eyebrow {
    display: inline-block;
    font-family: var(--mk-font-body);
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: var(--mk-accent);
    margin: 0 0 0.75rem;
}
.mk-section__title {
    font-family: var(--mk-font-display);
    font-size: clamp(1.8rem, 3.5vw, 2.6rem);
    color: var(--mk-text);
    margin: 0 0 1rem;
    line-height: 1.15;
}
.mk-section__lede {
    color: var(--mk-text-dim);
    font-size: 1.05rem;
    line-height: 1.6;
    margin: 0;
}
.mk-section__cta {
    text-align: center;
    margin-top: 3rem;
}

/* ============================================
   CATÉGORIES (grille)
   ============================================ */
.mk-categories__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.25rem;
}
/* Card catégorie : image en background via variable CSS --mk-cat-bg
   Maintenant on a de vraies photos d'ambiance Unsplash en thumbnail des terms */
.mk-cat-card {
    position: relative;
    aspect-ratio: 4 / 5;
    border-radius: var(--mk-radius-lg);
    overflow: hidden;
    background-color: var(--mk-accent);
    background-image: var(--mk-cat-bg, linear-gradient(135deg, var(--mk-accent-2), var(--mk-accent)));
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: flex-end;
    text-decoration: none !important;
    transition: transform 0.4s ease, box-shadow 0.4s ease, background-size 0.5s ease;
    box-shadow: var(--mk-shadow);
}
.mk-cat-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--mk-shadow-lg);
    background-size: 115%;
}
/* Overlay sombre dégradé pour lisibilité du texte */
.mk-cat-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top,
        rgba(46,46,46,0.92) 0%,
        rgba(46,46,46,0.55) 35%,
        rgba(46,46,46,0.15) 70%,
        rgba(201,112,100,0.10) 100%);
    pointer-events: none;
}
.mk-cat-card__content {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 1.5rem 1.5rem 1.5rem;
    color: #fff !important;
}
.mk-cat-card__title {
    color: #fff !important;
    font-family: var(--mk-font-display);
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 0.4rem;
    text-shadow: 0 2px 8px rgba(0,0,0,0.4);
}
.mk-cat-card__count {
    display: inline-block;
    color: #fff;
    font-family: var(--mk-font-body);
    font-size: 0.78rem;
    font-weight: 600;
    opacity: 0.95;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    background: rgba(201,112,100,0.85);
    padding: 0.25em 0.75em;
    border-radius: 999px;
}
.mk-cat-card__content {
    position: relative;
    z-index: 1;
    padding: 1.75rem;
    color: #fff;
}
.mk-cat-card__title {
    color: #fff;
    font-family: var(--mk-font-display);
    font-size: 1.5rem;
    font-weight: 600;
    margin: 0 0 0.25rem;
}
.mk-cat-card__count {
    color: rgba(255,255,255,0.85);
    font-size: 0.85rem;
    font-family: var(--mk-font-body);
}

/* ============================================
   FEATURED PRODUCTS (force layout WC)
   ============================================ */
.mk-featured ul.products,
.mk-featured .products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 1.5rem;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}
.mk-featured ul.products li.product {
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
}

/* ============================================
   STORY SECTION
   ============================================ */
.mk-story__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
    max-width: 1100px;
    margin: 0 auto;
}
@media (max-width: 820px) {
    .mk-story__inner { grid-template-columns: 1fr; gap: 2.5rem; }
}
.mk-story__visual {
    aspect-ratio: 4 / 5;
    border-radius: var(--mk-radius-lg);
    overflow: hidden;
    background-image: url('https://picsum.photos/seed/maisonkoz-story/800/1000.jpg');
    background-size: cover;
    background-position: center;
    box-shadow: var(--mk-shadow-lg);
}
.mk-story__text .mk-section__title { font-size: clamp(1.8rem, 3.5vw, 2.6rem); }
.mk-story__text p { color: var(--mk-text); margin: 0 0 1.25rem; }
.mk-story__text .mk-btn { margin-top: 1rem; }

/* ============================================
   TESTIMONIALS
   ============================================ */
.mk-testimonials__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
}
.mk-testimonial {
    background-color: var(--mk-surface);
    border: 1px solid var(--mk-border);
    border-radius: var(--mk-radius-lg);
    padding: 2rem;
    margin: 0;
    box-shadow: var(--mk-shadow);
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.mk-testimonial blockquote {
    margin: 0;
    border: none;
    padding: 0;
    font-family: var(--mk-font-display);
    font-size: 1.05rem;
    font-style: italic;
    line-height: 1.5;
    color: var(--mk-text);
    quotes: "« " " »";
}
.mk-testimonial figcaption {
    color: var(--mk-text-dim);
    font-size: 0.9rem;
    font-style: normal;
}
.mk-testimonial__stars {
    color: var(--mk-accent);
    font-size: 1rem;
    letter-spacing: 0.05em;
}

/* ============================================
   NEWSLETTER
   ============================================ */
.mk-newsletter {
    background: linear-gradient(135deg, var(--mk-accent) 0%, var(--mk-accent-hover) 100%);
    color: #fff;
    text-align: center;
    padding: 4rem 1.5rem;
    max-width: none;
}
.mk-newsletter__inner {
    max-width: 580px;
    margin: 0 auto;
}
.mk-newsletter__title {
    color: #fff;
    font-family: var(--mk-font-display);
    font-size: clamp(1.8rem, 3.5vw, 2.4rem);
    margin: 0 0 1rem;
}
.mk-newsletter__lede {
    color: rgba(255,255,255,0.92);
    font-size: 1.05rem;
    margin: 0 0 2rem;
}
.mk-newsletter__form {
    display: flex;
    gap: 0.75rem;
    max-width: 480px;
    margin: 0 auto;
    flex-wrap: wrap;
    justify-content: center;
}
.mk-newsletter__form input[type="email"] {
    flex: 1 1 240px;
    min-width: 0;
    padding: 0.85em 1.2em;
    border-radius: var(--mk-radius);
    border: none;
    background-color: rgba(255,255,255,0.95);
    color: var(--mk-text);
    font-family: var(--mk-font-body);
}
.mk-newsletter__form input[type="email"]:focus {
    outline: 2px solid #fff;
    outline-offset: 2px;
}
.mk-newsletter__form .mk-btn {
    background-color: var(--mk-text);
    color: #fff !important;
}
.mk-newsletter__form .mk-btn:hover {
    background-color: #000;
}
.mk-newsletter__legal {
    margin: 1.25rem 0 0;
    color: rgba(255,255,255,0.75);
    font-size: 0.8rem;
}

/* ============================================
   WOOCOMMERCE — Grille produits
   ============================================ */
.woocommerce ul.products li.product {
    background-color: var(--mk-surface);
    border: 1px solid var(--mk-border);
    border-radius: var(--mk-radius-lg);
    padding: 1.25em;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    list-style: none;
}
.woocommerce ul.products li.product:hover {
    transform: translateY(-4px);
    box-shadow: var(--mk-shadow-lg);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--mk-font-display);
    color: var(--mk-text);
    font-size: 1.1rem;
    font-weight: 600;
    padding: 0.75em 0 0.3em;
    line-height: 1.3;
}
.woocommerce ul.products li.product .price {
    color: var(--mk-accent);
    font-weight: 600;
    font-size: 1.05rem;
}
.woocommerce ul.products li.product img {
    border-radius: var(--mk-radius);
}

/* ============================================
   WOOCOMMERCE — Fiche produit
   ============================================ */
.woocommerce div.product .product_title {
    font-family: var(--mk-font-display);
    color: var(--mk-text);
    line-height: 1.15;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: var(--mk-accent);
    font-size: 1.6rem;
    font-weight: 600;
}
.mk-shipping-badge {
    display: inline-block;
    background-color: var(--mk-bg-soft);
    color: var(--mk-text-dim);
    border: 1px solid var(--mk-border);
    border-radius: var(--mk-radius);
    padding: 0.5em 1em;
    font-size: 0.9rem;
    margin: 0.5em 0 1em;
}

.woocommerce span.onsale {
    background-color: var(--mk-accent-2);
    color: #fff;
    border-radius: var(--mk-radius);
    font-family: var(--mk-font-body);
    font-weight: 500;
    padding: 0.35em 0.8em;
    min-height: auto;
    min-width: auto;
    line-height: 1.2;
    font-size: 0.8rem;
}

/* ============================================
   PANIER & FORMULAIRES
   ============================================ */
.woocommerce table.shop_table {
    background-color: var(--mk-surface);
    border: 1px solid var(--mk-border);
    border-radius: var(--mk-radius-lg);
    overflow: hidden;
}
input[type="text"], input[type="email"], input[type="tel"],
input[type="password"], textarea, select {
    border: 1px solid var(--mk-border);
    border-radius: var(--mk-radius);
    padding: 0.7em 1em;
    font-family: var(--mk-font-body);
    background-color: var(--mk-surface);
}
input[type="text"]:focus, input[type="email"]:focus,
textarea:focus, select:focus {
    border-color: var(--mk-accent);
    outline: none;
    box-shadow: 0 0 0 3px rgba(201, 112, 100, 0.15);
}

/* ============================================
   FOOTER
   ============================================ */
.site-footer {
    background-color: var(--mk-text);
    color: rgba(255,255,255,0.75);
    border-top: none;
    padding-top: 3rem !important;
    padding-bottom: 0 !important;
}
.site-footer h2, .site-footer h3, .site-footer h4 {
    color: #fff;
    font-family: var(--mk-font-display);
    font-weight: 600;
    font-size: 1.1rem;
    margin-bottom: 1rem;
}
.site-footer a, .site-footer a:visited {
    color: rgba(255,255,255,0.82);
}
.site-footer a:hover {
    color: var(--mk-accent-2);
}
.mk-footer-copy {
    margin: 0;
    color: rgba(255,255,255,0.6);
    font-size: 0.85rem;
}
.mk-footer-legal {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 6px 0;
    text-align: center;
}
.mk-footer-legal-fallback {
    background: #2E2E2E;
    color: #fff;
    padding: 16px 12px;
    text-align: center;
}
.mk-footer-legal-fallback .mk-footer-copy {
    color: rgba(255,255,255,0.7);
    margin-bottom: 6px;
}
.mk-footer-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem;
}
.mk-footer-links a {
    color: rgba(255,255,255,0.75);
    text-decoration: none;
    transition: color .2s ease;
}
.mk-footer-links a:hover,
.mk-footer-links a:focus {
    color: #C9A57F;
    text-decoration: underline;
}
.mk-footer-sep {
    color: rgba(255,255,255,0.35);
    user-select: none;
}
@media (max-width: 480px){
    .mk-footer-links { font-size: 0.8rem; gap: 6px; }
}

/* ============================================
   UTILS
   ============================================ */
.mk-text-accent { color: var(--mk-accent); }
.mk-text-sage { color: var(--mk-accent-2); }
.mk-bg-soft { background-color: var(--mk-bg-soft); }
.screen-reader-text {
    position: absolute !important;
    width: 1px; height: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    word-wrap: normal !important;
}

/* ============================================
   RESPONSIVE TWEAKS
   ============================================ */
@media (max-width: 640px) {
    .mk-section { padding: 3.5rem 1rem; }
    .mk-hero { min-height: 65vh; padding: 4rem 1rem; }
    .mk-hero__ctas { flex-direction: column; }
    .mk-hero__ctas .mk-btn { width: 100%; }
}

/* ============================================
   ╔══════════════════════════════════════╗
   ║  v0.3 — REFONTE VISUELLE PROFESSIONNELLE  ║
   ╚══════════════════════════════════════╝
   ============================================ */

/* === TRUST BAR (au-dessus du header) === */
.mk-trustbar {
    background-color: var(--mk-text);
    color: rgba(255,255,255,0.85);
    text-align: center;
    padding: 0.55rem 1rem;
    font-size: 0.82rem;
    letter-spacing: 0.03em;
}
.mk-trustbar__items {
    display: flex;
    justify-content: center;
    gap: 2.5rem;
    flex-wrap: wrap;
}
.mk-trustbar__item {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}
.mk-trustbar__item::before {
    content: "✓";
    color: var(--mk-accent-2);
    font-weight: 700;
}
@media (max-width: 640px) {
    .mk-trustbar { font-size: 0.72rem; padding: 0.4rem 0.5rem; }
    .mk-trustbar__items { gap: 1rem; }
}

/* === HEADER STICKY PRO === */
.ast-primary-header-bar {
    box-shadow: 0 1px 0 var(--mk-border);
    transition: box-shadow 0.25s ease;
    position: sticky;
    top: 0;
    z-index: 99;
}
.ast-primary-header-bar.is-scrolled {
    box-shadow: 0 4px 18px rgba(46,46,46,0.08);
}
.site-title a {
    font-size: 1.6rem !important;
    letter-spacing: -0.01em;
}
.site-description {
    margin-top: 0 !important;
}
/* Panier dans le header — badge nombre */
.ast-site-header-cart .ast-cart-menu-wrap {
    background-color: var(--mk-accent);
    color: #fff !important;
    border-radius: 999px;
    padding: 0.45rem 0.85rem;
    transition: all 0.25s ease;
}
.ast-site-header-cart .ast-cart-menu-wrap:hover {
    background-color: var(--mk-accent-hover);
    transform: translateY(-1px);
}
.ast-site-header-cart .count {
    background-color: var(--mk-accent-2);
    color: #fff;
    border-radius: 999px;
    padding: 0.1em 0.5em;
    font-weight: 600;
    font-size: 0.75rem;
    margin-left: 0.4em;
}

/* === BANNIÈRE PAGE BOUTIQUE/CATÉGORIE === */
.ast-archive-description,
.woocommerce-products-header {
    background: linear-gradient(135deg, var(--mk-bg-soft) 0%, var(--mk-bg) 100%);
    padding: 3rem 1.5rem 2.5rem !important;
    border-radius: var(--mk-radius-lg);
    margin-bottom: 2.5rem !important;
    text-align: center;
    border: 1px solid var(--mk-border);
}
.woocommerce-products-header__title {
    font-size: clamp(1.8rem, 4vw, 2.6rem) !important;
    margin-bottom: 0.5rem !important;
}
.term-description, .ast-archive-description p {
    color: var(--mk-text-dim);
    max-width: 680px;
    margin: 0 auto;
    line-height: 1.7;
}

/* Breadcrumb élégant */
.woocommerce-breadcrumb,
.ast-breadcrumbs {
    font-size: 0.85rem;
    color: var(--mk-text-dim);
    margin-bottom: 1.5rem;
    padding: 0.8rem 1rem;
    background: var(--mk-surface);
    border: 1px solid var(--mk-border);
    border-radius: var(--mk-radius);
}
.woocommerce-breadcrumb a {
    color: var(--mk-accent);
}

/* === GRILLE PRODUITS NIVEAU PRO === */
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 1.5rem;
    margin: 0 !important;
    padding: 0 !important;
}
.woocommerce ul.products li.product {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background-color: var(--mk-surface);
    border: 1px solid var(--mk-border);
    border-radius: var(--mk-radius-lg);
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    display: flex;
    flex-direction: column;
    position: relative;
}
.woocommerce ul.products li.product:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px rgba(46,46,46,0.12);
    border-color: var(--mk-accent);
}

/* Image produit avec zoom hover */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    margin: 0 !important;
    transition: transform 0.5s ease;
    border-radius: 0;
}
.woocommerce ul.products li.product:hover img {
    transform: scale(1.05);
}

/* Wrapping link */
.woocommerce ul.products li.product > a {
    display: block;
    overflow: hidden;
    border-radius: var(--mk-radius-lg) var(--mk-radius-lg) 0 0;
    text-decoration: none;
}

/* Contenu sous l'image */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .star-rating {
    padding-left: 1.2em;
    padding-right: 1.2em;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--mk-font-display);
    font-size: 1.05rem !important;
    font-weight: 600;
    color: var(--mk-text);
    line-height: 1.35;
    margin-top: 1rem;
    margin-bottom: 0.3rem;
    min-height: 2.6em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.woocommerce ul.products li.product .star-rating {
    font-size: 0.75em !important;
    margin: 0.2rem 1.2rem 0.5rem !important;
    color: #f0b800;
}
.woocommerce ul.products li.product .price {
    font-family: var(--mk-font-body);
    color: var(--mk-text) !important;
    font-weight: 600;
    font-size: 1.15rem !important;
    margin-bottom: 1rem !important;
}
.woocommerce ul.products li.product .price del {
    color: var(--mk-text-dim);
    font-weight: 400;
    font-size: 0.9rem;
    margin-right: 0.4em;
    opacity: 0.7;
}
.woocommerce ul.products li.product .price ins {
    color: var(--mk-accent) !important;
    background: transparent !important;
    text-decoration: none;
    font-weight: 700;
}

/* Badge promo arrondi en forme de chip */
.woocommerce ul.products li.product .onsale {
    position: absolute !important;
    top: 14px !important;
    left: 14px !important;
    right: auto !important;
    background-color: var(--mk-accent) !important;
    color: #fff !important;
    border-radius: 999px !important;
    padding: 0.35em 0.9em !important;
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase;
    box-shadow: 0 4px 12px rgba(201,112,100,0.3);
    z-index: 2;
}

/* Bouton "Ajouter à mon cocon" */
.woocommerce ul.products li.product .button {
    margin: 0 1.2rem 1.2rem !important;
    padding: 0.7em 1.4em !important;
    width: calc(100% - 2.4rem) !important;
    text-align: center;
    border-radius: var(--mk-radius);
    font-size: 0.88rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

/* === SIDEBAR FILTRES === */
.widget-area .widget,
.wp-block-group.widget {
    background-color: var(--mk-surface);
    border: 1px solid var(--mk-border);
    border-radius: var(--mk-radius-lg);
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}
.widget-area .widget-title,
.wp-block-heading {
    font-family: var(--mk-font-display);
    color: var(--mk-text);
    font-size: 1.05rem;
    font-weight: 600;
    margin-bottom: 1rem;
    padding-bottom: 0.6rem;
    border-bottom: 1px solid var(--mk-border);
}
.widget_product_categories ul,
.wp-block-categories ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.widget_product_categories li,
.wp-block-categories li {
    border-bottom: 1px dashed var(--mk-border);
}
.widget_product_categories li:last-child {
    border-bottom: 0;
}
.widget_product_categories a {
    display: block;
    padding: 0.6rem 0;
    color: var(--mk-text);
    text-decoration: none;
    transition: color 0.2s ease, padding 0.2s ease;
}
.widget_product_categories a:hover {
    color: var(--mk-accent);
    padding-left: 0.4rem;
}
.widget_product_categories .count {
    color: var(--mk-text-dim);
    font-size: 0.85rem;
    margin-left: 0.4em;
}

/* === PAGE BOUTIQUE : TRI + RÉSULTATS === */
.woocommerce-result-count,
.woocommerce-ordering {
    margin-bottom: 2rem !important;
    color: var(--mk-text-dim);
    font-size: 0.9rem;
}
.woocommerce-ordering select {
    background: var(--mk-surface);
    border: 1px solid var(--mk-border);
    border-radius: var(--mk-radius);
    padding: 0.55em 2.5em 0.55em 1em;
    font-family: var(--mk-font-body);
    color: var(--mk-text);
    cursor: pointer;
}

/* === PAGINATION ÉLÉGANTE === */
.woocommerce nav.woocommerce-pagination ul {
    border: 0;
    gap: 0.4rem;
    display: flex;
    justify-content: center;
    margin: 2.5rem 0;
}
.woocommerce nav.woocommerce-pagination ul li {
    border: 0;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    background: var(--mk-surface);
    border: 1px solid var(--mk-border);
    color: var(--mk-text);
    border-radius: var(--mk-radius);
    padding: 0.6em 0.9em;
    min-width: 2.6em;
    text-align: center;
    transition: all 0.2s ease;
}
.woocommerce nav.woocommerce-pagination ul li a:hover {
    background: var(--mk-accent);
    color: #fff;
    border-color: var(--mk-accent);
}
.woocommerce nav.woocommerce-pagination ul li span.current {
    background: var(--mk-accent);
    color: #fff;
    border-color: var(--mk-accent);
}

/* === FICHE PRODUIT SINGLE === */
.woocommerce div.product .product_title {
    font-size: clamp(1.6rem, 3.2vw, 2.2rem) !important;
    line-height: 1.2;
    margin-bottom: 0.8rem;
}
.woocommerce div.product .woocommerce-product-rating {
    margin-bottom: 1.4rem;
}
.woocommerce div.product .stock {
    display: inline-block;
    background: rgba(107, 142, 35, 0.1);
    color: var(--mk-success);
    border: 1px solid rgba(107, 142, 35, 0.3);
    border-radius: var(--mk-radius);
    padding: 0.3em 0.9em;
    font-size: 0.9rem;
    font-weight: 500;
    margin: 0.5rem 0;
}
.woocommerce div.product .out-of-stock {
    background: rgba(184, 84, 80, 0.1);
    color: var(--mk-danger);
    border-color: rgba(184, 84, 80, 0.3);
}
.woocommerce div.product form.cart .quantity {
    margin-right: 0.6rem;
}
.woocommerce div.product form.cart .quantity .qty {
    width: 4em;
    padding: 0.55em;
    text-align: center;
    border-radius: var(--mk-radius);
}
.woocommerce div.product form.cart .button {
    padding: 0.9em 2.2em !important;
    font-size: 1rem !important;
    box-shadow: 0 6px 18px rgba(201,112,100,0.25);
}
.woocommerce div.product .product_meta {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--mk-border);
    color: var(--mk-text-dim);
    font-size: 0.88rem;
}
.woocommerce div.product .product_meta a {
    color: var(--mk-accent);
}

/* Onglets fiche produit */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    padding: 0 !important;
    margin: 2rem 0 0 !important;
    border-bottom: 1px solid var(--mk-border) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before {
    border: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    margin: 0 1.5rem 0 0 !important;
    padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    color: var(--mk-text-dim) !important;
    padding: 0.9rem 0 !important;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.85rem !important;
    position: relative;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--mk-text) !important;
    font-weight: 600;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 2px;
    background: var(--mk-accent);
}

/* === FOOTER PRO 4 COLONNES === */
.site-footer-section,
.ast-builder-grid-row {
    gap: 2.5rem;
}
.site-footer .widget-title {
    color: #fff !important;
    border-bottom-color: rgba(255,255,255,0.15) !important;
}
.site-footer ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.site-footer ul li {
    margin-bottom: 0.6rem;
}
.site-footer ul li a {
    color: rgba(255,255,255,0.7);
    text-decoration: none;
    transition: color 0.2s ease, padding 0.2s ease;
}
.site-footer ul li a:hover {
    color: var(--mk-accent-2);
    padding-left: 0.3rem;
}

/* === BANDEAU PAIEMENTS ACCEPTÉS (avant footer) === */
.mk-payment-strip {
    background: var(--mk-bg-soft);
    padding: 2rem 1rem;
    text-align: center;
    border-top: 1px solid var(--mk-border);
}
.mk-payment-strip__title {
    font-size: 0.85rem;
    color: var(--mk-text-dim);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 1rem;
}
.mk-payment-strip__icons {
    display: flex;
    justify-content: center;
    gap: 1.2rem;
    flex-wrap: wrap;
    align-items: center;
}
.mk-payment-strip__icons span {
    background: #fff;
    border: 1px solid var(--mk-border);
    border-radius: var(--mk-radius);
    padding: 0.4em 1em;
    font-weight: 600;
    color: var(--mk-text-dim);
    font-size: 0.85rem;
}

/* === ACCESSIBILITÉ === */
*:focus-visible {
    outline: 3px solid var(--mk-accent);
    outline-offset: 3px;
    border-radius: 4px;
}
.skip-link {
    position: absolute;
    top: -100px;
    left: 0;
    background: var(--mk-text);
    color: #fff;
    padding: 0.8em 1.5em;
    z-index: 9999;
    border-radius: 0 0 var(--mk-radius) 0;
    text-decoration: none;
}
.skip-link:focus {
    top: 0;
}

/* Améliore le contraste des liens dans le contenu */
.entry-content a:not(.button):not(.wp-block-button__link) {
    color: var(--mk-accent);
    text-decoration: underline;
    text-decoration-color: rgba(201,112,100,0.4);
    text-underline-offset: 3px;
    transition: text-decoration-color 0.2s ease;
}
.entry-content a:hover {
    text-decoration-color: var(--mk-accent);
}

/* === GRILLE CATÉGORIES (shortcode home) === */
.mk-cat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1.4rem;
    margin: 2rem 0;
}
/* === Variante card utilisée par le shortcode [mk_categories] (boutique) === */
/* Structure : <a class="mk-cat-card"><img class="mk-cat-card__img"><div class="mk-cat-card__overlay"></div><div class="mk-cat-card__label">...</div></a> */
.mk-cat-card .mk-cat-card__img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.5s ease;
    z-index: 0;
    border-radius: 0;
}
.mk-cat-card:hover .mk-cat-card__img {
    transform: scale(1.07);
}
.mk-cat-card .mk-cat-card__label {
    position: absolute;
    bottom: 1.25rem;
    left: 1.5rem;
    right: 1.5rem;
    z-index: 3;
    color: #fff !important;
    font-family: var(--mk-font-display);
    font-size: 1.4rem;
    font-weight: 700;
    text-shadow: 0 2px 10px rgba(0,0,0,0.45);
    margin: 0;
}
.mk-cat-card .mk-cat-card__label small {
    display: inline-block;
    margin-top: 0.4rem;
    font-family: var(--mk-font-body);
    font-size: 0.78rem;
    font-weight: 600;
    opacity: 0.95;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    background: rgba(201,112,100,0.85);
    padding: 0.25em 0.75em;
    border-radius: 999px;
    text-shadow: none;
}

/* === MOBILE OPTIMISATIONS === */
@media (max-width: 768px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }
    .woocommerce ul.products li.product .woocommerce-loop-product__title {
        font-size: 0.95rem !important;
        min-height: 2.4em;
    }
    .woocommerce ul.products li.product .price {
        font-size: 1rem !important;
    }
    .woocommerce ul.products li.product .button {
        font-size: 0.8rem;
        padding: 0.6em 1em !important;
    }
    .ast-archive-description,
    .woocommerce-products-header {
        padding: 2rem 1rem 1.5rem !important;
    }
}
@media (max-width: 480px) {
    .woocommerce ul.products {
        grid-template-columns: 1fr;
    }
}

/* === LOADING / SHIMMER pour images === */
.woocommerce img[loading="lazy"] {
    background: linear-gradient(90deg, #f0e8dc 0%, #faf6f0 50%, #f0e8dc 100%);
    background-size: 200% 100%;
    animation: mk-shimmer 1.4s ease-in-out infinite;
}
.woocommerce img[loading="lazy"][src] {
    animation: none;
    background: none;
}
@keyframes mk-shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* === BADGE "EN STOCK" sur grille === */
.woocommerce ul.products li.product .stock {
    position: absolute;
    top: 14px;
    right: 14px;
    background: rgba(255,255,255,0.92);
    color: var(--mk-success);
    border: 1px solid rgba(107,142,35,0.3);
    border-radius: 999px;
    padding: 0.25em 0.7em;
    font-size: 0.72rem;
    font-weight: 600;
    z-index: 2;
}

/* === BOUTIQUE : hub catégories en haut === */
.mk-shop-cats {
    margin-bottom: 3rem;
}
.mk-shop-cats__title {
    font-family: var(--mk-font-display);
    font-size: clamp(1.4rem, 2.5vw, 1.9rem);
    color: var(--mk-text);
    margin-bottom: 1.5rem;
    text-align: center;
}
.mk-shop-cats__sep {
    border: 0;
    height: 1px;
    background: linear-gradient(to right, transparent, var(--mk-border), transparent);
    margin: 3rem 0 1rem;
}
.mk-shop-cats .mk-cat-grid {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
.mk-shop-cats .mk-cat-card {
    aspect-ratio: 1 / 1;
}

/* === FORMULAIRE NEWSLETTER FOOTER === */
.mk-newsletter-form {
    display: flex;
    gap: 0.5rem;
    margin-top: 1rem;
}
.mk-newsletter-form input[type="email"] {
    flex: 1;
    background: rgba(255,255,255,0.08);
    color: #fff;
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: var(--mk-radius);
    padding: 0.7em 1em;
}
.mk-newsletter-form input::placeholder {
    color: rgba(255,255,255,0.5);
}
.mk-newsletter-form button {
    background: var(--mk-accent);
    color: #fff;
    border: none;
    border-radius: var(--mk-radius);
    padding: 0.7em 1.4em;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s ease;
}
.mk-newsletter-form button:hover {
    background: var(--mk-accent-hover);
}

/* ╔══════════════════════════════════════════╗
   ║  v0.4 — ANIMATIONS PREMIUM & MICRO-INTERACTIONS  ║
   ╚══════════════════════════════════════════╝ */

/* === SCROLL REVEAL — SAFE : tout visible par défaut, animation subtile === */
.mk-reveal {
    opacity: 1;
    transform: translateY(0);
}
/* L'animation ne joue QUE si JS a explicitement marqué l'élément comme non-révélé */
.mk-reveal.mk-pre-reveal {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1) var(--mk-reveal-delay, 0ms),
                transform 0.7s cubic-bezier(0.22, 1, 0.36, 1) var(--mk-reveal-delay, 0ms);
}
.mk-reveal.mk-pre-reveal.mk-revealed {
    opacity: 1;
    transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
    .mk-reveal.mk-pre-reveal {
        opacity: 1; transform: none; transition: none;
    }
}

/* === HERO PARALLAX (légère descente plus lente que le scroll) === */
.mk-hero,
.mk-hero__bg {
    background-attachment: fixed; /* parallax CSS pur sur desktop */
}
@supports (background-attachment: fixed) and (not (-webkit-touch-callout: none)) {
    .mk-hero__bg {
        background-position-y: calc(50% + var(--mk-parallax-y, 0px));
        transition: background-position-y 0.05s linear;
    }
}
@media (max-width: 1024px) {
    .mk-hero,
    .mk-hero__bg {
        background-attachment: scroll; /* désactivé mobile (perf) */
    }
}

/* === FLOATING ANIMATION subtile sur le hero (respiration) === */
.mk-hero__content {
    animation: mkFloat 6s ease-in-out infinite;
}
@keyframes mkFloat {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-8px); }
}
@media (prefers-reduced-motion: reduce) {
    .mk-hero__content { animation: none; }
}

/* === HEADER : transition souple au scroll === */
.ast-primary-header-bar,
.site-header {
    transition: background-color 0.3s ease, box-shadow 0.3s ease, padding 0.3s ease, backdrop-filter 0.3s ease;
}
.ast-primary-header-bar.is-scrolled,
.site-header.is-scrolled {
    background-color: rgba(250, 246, 240, 0.92) !important;
    backdrop-filter: saturate(180%) blur(14px);
    -webkit-backdrop-filter: saturate(180%) blur(14px);
    box-shadow: 0 8px 24px rgba(46, 46, 46, 0.08);
}

/* === CARDS PRODUITS : améliorations hover & révélation === */
.woocommerce ul.products li.product {
    transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
                box-shadow 0.45s ease,
                border-color 0.3s ease;
}
.woocommerce ul.products li.product.is-hover .button,
.woocommerce ul.products li.product:hover .button {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(201, 112, 100, 0.35);
}

/* Effet "fade-in" sur l'image au chargement */
.woocommerce ul.products li.product img {
    animation: mkFadeIn 0.6s ease-out;
}
@keyframes mkFadeIn {
    from { opacity: 0; transform: scale(0.98); }
    to   { opacity: 1; transform: scale(1); }
}

/* Pulse subtle sur le badge promo */
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
    animation: mkPulse 2.5s ease-in-out infinite;
}
@keyframes mkPulse {
    0%, 100% { box-shadow: 0 4px 12px rgba(201, 112, 100, 0.3); }
    50%      { box-shadow: 0 4px 24px rgba(201, 112, 100, 0.55); }
}

/* === CATÉGORIES : transition 3D fluide === */
.mk-cat-card {
    transform-style: preserve-3d;
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1),
                box-shadow 0.4s ease;
}

/* === BOUTONS : ripple effect au hover === */
.ast-button, .button, .wp-block-button__link,
input[type="submit"],
.woocommerce a.button, .woocommerce button.button {
    position: relative;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}
.ast-button::after, .button::after, .wp-block-button__link::after,
.woocommerce a.button::after, .woocommerce button.button::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.25);
    transform: translate(-50%, -50%);
    transition: width 0.6s ease, height 0.6s ease;
    pointer-events: none;
}
.ast-button:hover::after, .button:hover::after, .wp-block-button__link:hover::after,
.woocommerce a.button:hover::after, .woocommerce button.button:hover::after {
    width: 350px;
    height: 350px;
}

/* === TRUST BAR : entrée par le haut === */
.mk-trustbar {
    animation: mkSlideDown 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.2s both;
}
@keyframes mkSlideDown {
    from { transform: translateY(-100%); opacity: 0; }
    to   { transform: translateY(0); opacity: 1; }
}

/* === MENU PRINCIPAL : soulignement animé au hover === */
.main-header-menu > .menu-item > a,
.main-navigation a {
    position: relative;
    transition: color 0.25s ease;
}
.main-header-menu > .menu-item > a::after,
.main-navigation a::after {
    content: "";
    position: absolute;
    left: 18%;
    right: 18%;
    bottom: 12px;
    height: 2px;
    background: var(--mk-accent);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.3s ease;
}
.main-header-menu > .menu-item > a:hover::after,
.main-header-menu > .current-menu-item > a::after,
.main-navigation a:hover::after,
.main-navigation .current-menu-item a::after {
    transform: scaleX(1);
}

/* === HOVER 3D sur images produit single === */
.woocommerce div.product .woocommerce-product-gallery__image {
    overflow: hidden;
    border-radius: var(--mk-radius-lg);
}
.woocommerce div.product .woocommerce-product-gallery__image img {
    transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
.woocommerce div.product .woocommerce-product-gallery__image:hover img {
    transform: scale(1.05);
}

/* === FOOTER : animation hover liens === */
.site-footer ul li a {
    position: relative;
    display: inline-block;
    transition: color 0.25s ease, transform 0.25s ease;
}
.site-footer ul li a:hover {
    transform: translateX(4px);
}

/* === STAR RATING : couleur dorée vive === */
.woocommerce .star-rating::before {
    color: rgba(240, 184, 0, 0.25);
}
.woocommerce .star-rating span::before {
    color: #f0b800;
}

/* === FOCUS amélioré pour accessibilité === */
*:focus-visible {
    outline: 3px solid var(--mk-accent);
    outline-offset: 4px;
    border-radius: 6px;
    transition: outline-offset 0.15s ease;
}

/* === SCROLL UP BUTTON (Astra) repensé === */
#ast-scroll-top {
    background-color: var(--mk-accent) !important;
    border-radius: 50% !important;
    width: 48px !important;
    height: 48px !important;
    box-shadow: 0 8px 24px rgba(201, 112, 100, 0.35) !important;
    transition: all 0.3s ease !important;
}
#ast-scroll-top:hover {
    background-color: var(--mk-accent-hover) !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 32px rgba(201, 112, 100, 0.5) !important;
}

/* === NEWSLETTER form : focus glow === */
.mk-newsletter-form input[type="email"]:focus {
    background: rgba(255, 255, 255, 0.15);
    border-color: var(--mk-accent-2);
    box-shadow: 0 0 0 3px rgba(168, 181, 160, 0.25);
}

/* === BADGE "EN STOCK" pulse léger === */
.woocommerce ul.products li.product .stock.in-stock {
    animation: mkStockBlink 4s ease-in-out infinite;
}
@keyframes mkStockBlink {
    0%, 80%, 100% { opacity: 1; }
    90%           { opacity: 0.65; }
}

/* === SHIMMER LOADER élégant pendant chargement === */
.mk-shimmer {
    background: linear-gradient(90deg, #f0e8dc 0%, #faf6f0 50%, #f0e8dc 100%);
    background-size: 200% 100%;
    animation: mkShimmer 1.6s ease-in-out infinite;
}
@keyframes mkShimmer {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* === HERO VIDÉO BACKGROUND (si présente) === */
.mk-hero__video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
    filter: brightness(0.55) saturate(1.1);
}
.mk-hero__video-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
        rgba(46, 46, 46, 0.35) 0%,
        rgba(46, 46, 46, 0.6) 100%);
    z-index: 1;
}
.mk-hero {
    position: relative;
    overflow: hidden;
}
.mk-hero__content {
    position: relative;
    z-index: 2;
}

/* === Fade-in sur changement de page (transition douce) === */
body {
    animation: mkPageIn 0.5s ease-out;
}
@keyframes mkPageIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* === HINT SCROLL en bas du hero (chevron qui bouge) === */
.mk-hero__scroll-hint {
    position: absolute;
    bottom: 2.5rem;
    left: 50%;
    transform: translateX(-50%);
    width: 28px;
    height: 44px;
    border: 2px solid rgba(255,255,255,0.65);
    border-radius: 16px;
    z-index: 3;
}
.mk-hero__scroll-hint span {
    position: absolute;
    top: 8px;
    left: 50%;
    width: 4px;
    height: 8px;
    background: #fff;
    border-radius: 2px;
    transform: translateX(-50%);
    animation: mkScrollDot 1.8s ease-in-out infinite;
}
@keyframes mkScrollDot {
    0%   { transform: translate(-50%, 0); opacity: 1; }
    70%  { transform: translate(-50%, 18px); opacity: 0; }
    100% { transform: translate(-50%, 0); opacity: 0; }
}

/* === HERO : titre avec lettres qui apparaissent (slide-in mot par mot) === */
.mk-hero__title em {
    color: var(--mk-accent-2);
    font-style: italic;
    display: inline-block;
    animation: mkTitleSlide 1.2s cubic-bezier(0.22, 1, 0.36, 1) 0.5s both;
}
.mk-hero__eyebrow {
    animation: mkFadeUp 0.8s ease-out 0.2s both;
}
.mk-hero__lede {
    animation: mkFadeUp 1s ease-out 0.7s both;
}
.mk-hero__ctas {
    animation: mkFadeUp 1s ease-out 0.9s both;
}
@keyframes mkFadeUp {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes mkTitleSlide {
    from { opacity: 0; transform: translateX(-20px); }
    to   { opacity: 1; transform: translateX(0); }
}

/* v0.5 — REFONTE HOME ULTRA PREMIUM */

.mk-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 1.5rem;
}
.mk-home--v5 .mk-section { padding: 6rem 0; }
@media (max-width: 768px) { .mk-home--v5 .mk-section { padding: 4rem 0; } }

/* HERO VIDEO IMMERSIF */
.mk-hero--video {
    position: relative; min-height: 92vh;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden; color: #fff; isolation: isolate;
}
.mk-hero__media { position: absolute; inset: 0; z-index: 0; }
.mk-hero__video {
    position: absolute; inset: 0; width: 100%; height: 100%;
    object-fit: cover; filter: brightness(0.55) saturate(1.15);
}
.mk-hero__overlay {
    position: absolute; inset: 0;
    background:
        radial-gradient(ellipse at center, transparent 0%, rgba(46,46,46,0.55) 70%, rgba(46,46,46,0.85) 100%),
        linear-gradient(180deg, rgba(46,46,46,0.2) 0%, rgba(46,46,46,0.55) 100%);
}
.mk-hero__content {
    position: relative; z-index: 2; text-align: center;
    padding: 6rem 1rem 4rem; max-width: 920px;
}
.mk-hero__eyebrow {
    display: inline-flex; align-items: center; gap: 0.6rem;
    background: rgba(255,255,255,0.12);
    backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.22); color: #fff;
    padding: 0.55em 1.1em; border-radius: 999px;
    font-size: 0.78rem; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.18em;
    margin-bottom: 1.8rem;
}
.mk-dot {
    width: 8px; height: 8px; border-radius: 50%;
    background: var(--mk-accent-2);
    animation: mkPulseDot 2s ease-in-out infinite;
}
@keyframes mkPulseDot {
    0%,100% { box-shadow: 0 0 8px var(--mk-accent-2); }
    50%     { box-shadow: 0 0 22px var(--mk-accent-2); }
}
.mk-hero__title {
    font-family: var(--mk-font-display); font-weight: 700;
    font-size: clamp(2.8rem, 7vw, 5.5rem); line-height: 0.98;
    letter-spacing: -0.02em; margin: 0 0 1.5rem; color: #fff;
}
.mk-hero__line {
    display: block;
    animation: mkSlideUp 1s cubic-bezier(0.22,1,0.36,1) 0.4s both;
}
.mk-hero__line--accent {
    color: var(--mk-accent-2); font-style: italic;
    animation-delay: 0.6s;
}
@keyframes mkSlideUp {
    from { opacity: 0; transform: translateY(40px); }
    to   { opacity: 1; transform: translateY(0); }
}
.mk-hero__lede {
    font-size: clamp(1rem, 1.5vw, 1.2rem); line-height: 1.7;
    color: rgba(255,255,255,0.9); max-width: 640px;
    margin: 0 auto 2.5rem;
}
.mk-hero__ctas {
    display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap;
}
.mk-btn {
    display: inline-flex; align-items: center; gap: 0.6rem;
    padding: 1em 2em; border-radius: var(--mk-radius);
    font-weight: 600; font-size: 0.95rem;
    text-decoration: none !important;
    transition: all 0.3s cubic-bezier(0.22,1,0.36,1);
    cursor: pointer; border: 2px solid transparent;
    position: relative; overflow: hidden;
}
.mk-btn--primary {
    background: var(--mk-accent); color: #fff;
    box-shadow: 0 12px 32px rgba(201,112,100,0.4);
}
.mk-btn--primary:hover {
    background: var(--mk-accent-hover); transform: translateY(-3px);
    box-shadow: 0 16px 40px rgba(201,112,100,0.55); color: #fff;
}
.mk-btn--ghost {
    background: rgba(255,255,255,0.12); color: #fff;
    border-color: rgba(255,255,255,0.4);
    backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
}
.mk-btn--ghost:hover {
    background: rgba(255,255,255,0.22); color: #fff;
    transform: translateY(-3px);
}
.mk-btn--outline {
    background: transparent; color: var(--mk-accent);
    border-color: var(--mk-accent);
}
.mk-btn--outline:hover {
    background: var(--mk-accent); color: #fff;
    transform: translateY(-3px);
}

.mk-hero__stats {
    display: flex; gap: 3rem; justify-content: center;
    margin-top: 4rem; padding-top: 3rem;
    border-top: 1px solid rgba(255,255,255,0.2);
    flex-wrap: wrap;
}
.mk-stat { text-align: center; }
.mk-stat__num {
    display: block; font-family: var(--mk-font-display);
    font-size: clamp(2rem, 4vw, 3rem); font-weight: 700;
    color: #fff; line-height: 1;
}
.mk-stat__label {
    display: block; font-size: 0.78rem; text-transform: uppercase;
    letter-spacing: 0.12em; color: rgba(255,255,255,0.75);
    margin-top: 0.5rem;
}

.mk-hero__scroll {
    position: absolute; bottom: 2.5rem; left: 50%;
    transform: translateX(-50%); z-index: 3;
    text-decoration: none !important; color: rgba(255,255,255,0.8);
    display: flex; flex-direction: column; align-items: center; gap: 0.6rem;
    animation: mkFloatHint 2.5s ease-in-out infinite;
}
@keyframes mkFloatHint {
    0%,100% { transform: translate(-50%, 0); }
    50%     { transform: translate(-50%, 10px); }
}
.mk-hero__scroll-wheel {
    width: 26px; height: 42px;
    border: 2px solid rgba(255,255,255,0.7); border-radius: 14px;
    position: relative;
}
.mk-hero__scroll-wheel span {
    position: absolute; top: 8px; left: 50%;
    width: 3px; height: 8px; background: #fff;
    border-radius: 2px; transform: translateX(-50%);
    animation: mkScrollDot 1.8s ease-in-out infinite;
}
.mk-hero__scroll-label {
    font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.15em;
}

/* USP BAR */
.mk-usp { background: var(--mk-bg-soft); padding: 2.5rem 0; }
.mk-usp__grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem;
}
@media (max-width: 900px) { .mk-usp__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px) { .mk-usp__grid { grid-template-columns: 1fr; } }
.mk-usp__item { display: flex; align-items: center; gap: 1rem; }
.mk-usp__icon {
    display: inline-flex; align-items: center; justify-content: center;
    width: 56px; height: 56px; background: #fff; color: var(--mk-accent);
    border-radius: 14px; flex-shrink: 0; box-shadow: var(--mk-shadow);
    transition: transform 0.3s ease;
}
.mk-usp__item:hover .mk-usp__icon { transform: scale(1.1) rotate(-5deg); }
.mk-usp__item strong {
    display: block; color: var(--mk-text);
    font-family: var(--mk-font-display); font-size: 1.05rem;
    margin-bottom: 0.15em;
}
.mk-usp__item span { color: var(--mk-text-dim); font-size: 0.85rem; }

/* SECTION HEADER */
.mk-section__header { max-width: 720px; margin-bottom: 3.5rem; }
.mk-section__header--center { margin: 0 auto 3.5rem; text-align: center; }
.mk-section__kicker {
    display: inline-block; color: var(--mk-accent);
    font-size: 0.78rem; font-weight: 700;
    letter-spacing: 0.2em; text-transform: uppercase;
    margin-bottom: 1.2rem;
    padding: 0.3em 0.9em;
    background: rgba(201,112,100,0.1); border-radius: 999px;
}
.mk-section__kicker--light {
    background: rgba(168,181,160,0.2); color: var(--mk-accent-2);
}
.mk-section__title {
    font-family: var(--mk-font-display);
    font-size: clamp(2.2rem, 5vw, 3.6rem); line-height: 1.05;
    letter-spacing: -0.02em; margin: 0 0 1rem; color: var(--mk-text);
}
.mk-section__title em { color: var(--mk-accent); font-style: italic; }
.mk-section__title--light { color: #fff; }
.mk-section__title--light em { color: var(--mk-accent-2); }
.mk-section__sub {
    color: var(--mk-text-dim); font-size: 1.05rem; line-height: 1.7;
}
.mk-section__cta { text-align: center; margin-top: 3rem; }

.mk-cat-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1.5rem; margin-top: 1rem;
}
.mk-cat-card { aspect-ratio: 4 / 5; min-height: 320px; }

/* STORY */
.mk-story__grid {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 5rem; align-items: center;
}
@media (max-width: 900px) { .mk-story__grid { grid-template-columns: 1fr; gap: 3rem; } }
.mk-story__visual {
    position: relative; aspect-ratio: 4 / 5;
    border-radius: var(--mk-radius-lg); overflow: hidden;
    box-shadow: var(--mk-shadow-lg);
}
.mk-story__visual img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform 0.7s cubic-bezier(0.22,1,0.36,1);
}
.mk-story__visual:hover img { transform: scale(1.05); }
.mk-story__badge {
    position: absolute; bottom: 1.5rem; left: 1.5rem;
    background: var(--mk-accent); color: #fff;
    padding: 1rem 1.5rem; border-radius: var(--mk-radius-lg);
    box-shadow: 0 12px 32px rgba(201,112,100,0.4);
    transform: rotate(-3deg);
}
.mk-story__badge-num {
    display: block; font-family: var(--mk-font-display);
    font-size: 2.2rem; font-weight: 700; line-height: 1;
}
.mk-story__badge-label {
    display: block; font-size: 0.72rem;
    text-transform: uppercase; letter-spacing: 0.1em;
    margin-top: 0.3em; opacity: 0.9;
}
.mk-story__content h2 {
    font-family: var(--mk-font-display);
    font-size: clamp(2rem, 4vw, 3rem); line-height: 1.05;
    margin: 0 0 1.5rem; color: var(--mk-text);
}
.mk-story__content h2 em { color: var(--mk-accent); font-style: italic; }
.mk-story__lead {
    font-size: 1.1rem; line-height: 1.7;
    color: var(--mk-text-dim); margin-bottom: 1.5rem;
}
.mk-story__bullets { list-style: none; padding: 0; margin: 0 0 2rem; }
.mk-story__bullets li {
    display: flex; align-items: center; gap: 0.8rem;
    padding: 0.6rem 0; color: var(--mk-text); font-weight: 500;
}
.mk-story__bullets span {
    display: inline-flex; align-items: center; justify-content: center;
    width: 24px; height: 24px; background: var(--mk-accent-2);
    color: #fff; border-radius: 50%; font-size: 0.85rem;
    font-weight: 700; flex-shrink: 0;
}

/* SECTION DARK */
.mk-section--dark { background: var(--mk-text); color: #fff; }
.mk-steps {
    display: grid; grid-template-columns: repeat(3, 1fr);
    gap: 2rem; margin-top: 3rem;
}
@media (max-width: 800px) { .mk-steps { grid-template-columns: 1fr; } }
.mk-step {
    text-align: center; padding: 2rem;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: var(--mk-radius-lg);
    transition: all 0.4s ease;
}
.mk-step:hover {
    background: rgba(255,255,255,0.08);
    transform: translateY(-6px); border-color: var(--mk-accent);
}
.mk-step__num {
    font-family: var(--mk-font-display); font-size: 3.5rem;
    font-weight: 700; color: var(--mk-accent-2);
    line-height: 1; margin-bottom: 1rem; opacity: 0.5;
}
.mk-step h3 {
    color: #fff; font-family: var(--mk-font-display);
    font-size: 1.4rem; margin: 0 0 1rem;
}
.mk-step p {
    color: rgba(255,255,255,0.75); line-height: 1.7; margin: 0;
}

/* TESTIMONIALS */
.mk-testimonials {
    display: grid; grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem; margin-top: 3rem;
}
@media (max-width: 900px) { .mk-testimonials { grid-template-columns: 1fr; } }
.mk-testimonial {
    background: var(--mk-surface); border: 1px solid var(--mk-border);
    border-radius: var(--mk-radius-lg); padding: 2rem;
    box-shadow: var(--mk-shadow);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    position: relative;
}
.mk-testimonial:hover {
    transform: translateY(-6px); box-shadow: var(--mk-shadow-lg);
}
.mk-testimonial::before {
    content: "\201C"; position: absolute; top: -10px; left: 1.5rem;
    font-family: var(--mk-font-display); font-size: 4rem;
    color: var(--mk-accent); line-height: 1;
}
.mk-testimonial__stars {
    color: #f0b800; font-size: 1.1rem;
    letter-spacing: 0.1em; margin-bottom: 1rem;
}
.mk-testimonial p {
    color: var(--mk-text); font-size: 1rem; line-height: 1.7;
    margin: 0 0 1.5rem; font-style: italic;
}
.mk-testimonial footer {
    border-top: 1px solid var(--mk-border); padding-top: 1rem;
}
.mk-testimonial footer strong {
    display: block; color: var(--mk-text);
    font-family: var(--mk-font-display); font-size: 1.05rem;
}
.mk-testimonial footer span {
    color: var(--mk-text-dim); font-size: 0.85rem;
}

/* NEWSLETTER */
.mk-newsletter__card {
    background: linear-gradient(135deg, var(--mk-accent) 0%, var(--mk-accent-hover) 100%);
    border-radius: var(--mk-radius-lg); padding: 4rem 3rem;
    color: #fff; box-shadow: 0 20px 60px rgba(201,112,100,0.3);
    display: grid; grid-template-columns: 1fr auto;
    gap: 3rem; align-items: center;
    position: relative; overflow: hidden;
}
.mk-newsletter__card::before {
    content: ""; position: absolute; top: -50%; right: -10%;
    width: 400px; height: 400px;
    background: radial-gradient(circle, rgba(255,255,255,0.15) 0%, transparent 70%);
    pointer-events: none;
}
@media (max-width: 800px) {
    .mk-newsletter__card { grid-template-columns: 1fr; gap: 2rem; padding: 3rem 2rem; }
}
.mk-newsletter__text h2 {
    color: #fff; font-family: var(--mk-font-display);
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    margin: 0 0 0.5rem; line-height: 1.2;
}
.mk-newsletter__text p {
    margin: 0; color: rgba(255,255,255,0.9); font-size: 1rem;
}
.mk-newsletter__form {
    display: flex; gap: 0.5rem; min-width: 320px;
}
.mk-newsletter__form input {
    flex: 1; background: rgba(255,255,255,0.15);
    border: 1px solid rgba(255,255,255,0.3); color: #fff;
    padding: 1em 1.2em; border-radius: var(--mk-radius);
    font-family: var(--mk-font-body);
    backdrop-filter: blur(10px);
}
.mk-newsletter__form input::placeholder { color: rgba(255,255,255,0.7); }
.mk-newsletter__form input:focus {
    background: rgba(255,255,255,0.22); border-color: #fff; outline: none;
}
.mk-newsletter__form button {
    background: #fff; color: var(--mk-accent); border: none;
    padding: 1em 1.6em; border-radius: var(--mk-radius);
    font-weight: 700; cursor: pointer; transition: all 0.3s ease;
}
.mk-newsletter__form button:hover {
    background: var(--mk-text); color: #fff; transform: translateY(-2px);
}

/* v0.6 — ULTRA WOW : marquee, magnetic, mesh, insta grid */

/* MARQUEE SCROLL HORIZONTAL */
.mk-marquee {
    background: var(--mk-text);
    color: #fff;
    padding: 1.2rem 0;
    overflow: hidden;
    position: relative;
    border-top: 1px solid rgba(255,255,255,0.08);
    border-bottom: 1px solid rgba(255,255,255,0.08);
}
.mk-marquee::before, .mk-marquee::after {
    content: ""; position: absolute; top: 0; bottom: 0;
    width: 120px; z-index: 2; pointer-events: none;
}
.mk-marquee::before {
    left: 0;
    background: linear-gradient(90deg, var(--mk-text), transparent);
}
.mk-marquee::after {
    right: 0;
    background: linear-gradient(270deg, var(--mk-text), transparent);
}
.mk-marquee__track {
    display: flex;
    gap: 2.5rem;
    white-space: nowrap;
    animation: mkScrollX 35s linear infinite;
    width: max-content;
}
.mk-marquee__item {
    font-family: var(--mk-font-display);
    font-size: 1.1rem;
    font-weight: 500;
    letter-spacing: 0.04em;
}
.mk-marquee__dot {
    color: var(--mk-accent);
    font-size: 1.4rem;
    opacity: 0.8;
}
@keyframes mkScrollX {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
    .mk-marquee__track { animation: none; }
}

/* GRADIENT MESH ANIMÉ — fond doux sur certaines sections */
.mk-section--cats, .mk-story {
    position: relative;
    overflow: hidden;
}
.mk-section--cats::before, .mk-story::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(at 20% 20%, rgba(201,112,100,0.08) 0%, transparent 50%),
        radial-gradient(at 80% 80%, rgba(168,181,160,0.08) 0%, transparent 50%),
        radial-gradient(at 50% 50%, rgba(240,232,220,0.4) 0%, transparent 70%);
    animation: mkMeshShift 25s ease-in-out infinite alternate;
    pointer-events: none;
    z-index: 0;
}
.mk-section--cats > *, .mk-story > * {
    position: relative;
    z-index: 1;
}
@keyframes mkMeshShift {
    0%   { transform: scale(1) translate(0, 0); }
    100% { transform: scale(1.1) translate(-2%, 2%); }
}

/* MAGNETIC BUTTONS — léger décalage qui suit la souris */
.mk-btn {
    transition: transform 0.25s cubic-bezier(0.22,1,0.36,1),
                box-shadow 0.3s ease, background 0.3s ease;
}

/* INSTAGRAM GRID */
.mk-insta-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 0.75rem;
    margin-top: 3rem;
    aspect-ratio: 16 / 7;
}
@media (max-width: 900px) {
    .mk-insta-grid { grid-template-columns: repeat(2, 1fr); grid-template-rows: auto; aspect-ratio: auto; }
}
.mk-insta-tile {
    position: relative;
    background-size: cover;
    background-position: center;
    border-radius: var(--mk-radius-lg);
    overflow: hidden;
    transition: transform 0.5s cubic-bezier(0.22,1,0.36,1), box-shadow 0.4s ease;
    display: block;
    text-decoration: none !important;
    min-height: 200px;
}
.mk-insta-tile--lg {
    grid-column: span 2;
    grid-row: span 2;
}
@media (max-width: 900px) {
    .mk-insta-tile--lg { grid-column: span 2; grid-row: auto; min-height: 380px; }
}
.mk-insta-tile::before {
    content: "";
    position: absolute; inset: 0;
    background: linear-gradient(135deg, transparent 60%, rgba(201,112,100,0.7) 100%);
    opacity: 0;
    transition: opacity 0.4s ease;
}
.mk-insta-tile:hover {
    transform: scale(1.02);
    box-shadow: 0 20px 50px rgba(46,46,46,0.25);
}
.mk-insta-tile:hover::before {
    opacity: 1;
}
.mk-insta-tile__icon {
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    width: 44px;
    height: 44px;
    background: rgba(255,255,255,0.92);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    opacity: 0;
    transform: translateY(10px) scale(0.9);
    transition: all 0.3s cubic-bezier(0.22,1,0.36,1);
    z-index: 2;
}
.mk-insta-tile:hover .mk-insta-tile__icon {
    opacity: 1;
    transform: translateY(0) scale(1);
}

/* HERO : grain texture + light leak */
.mk-hero--video::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background-image:
        radial-gradient(circle at 20% 30%, rgba(201,112,100,0.18), transparent 50%),
        radial-gradient(circle at 80% 70%, rgba(168,181,160,0.12), transparent 50%);
    mix-blend-mode: screen;
    pointer-events: none;
    animation: mkLightLeak 12s ease-in-out infinite alternate;
}
@keyframes mkLightLeak {
    0%   { opacity: 0.6; transform: scale(1); }
    100% { opacity: 1; transform: scale(1.15); }
}

/* STORY VISUAL : effet "frame" élégant */
.mk-story__visual {
    position: relative;
}
.mk-story__visual::before {
    content: "";
    position: absolute;
    inset: -12px;
    border: 2px solid var(--mk-accent);
    border-radius: calc(var(--mk-radius-lg) + 12px);
    pointer-events: none;
    opacity: 0;
    transition: all 0.5s ease;
}
.mk-story__visual:hover::before {
    opacity: 1;
    inset: -20px;
}

/* SECTION DARK : pattern subtil */
.mk-section--dark {
    position: relative;
    overflow: hidden;
}
.mk-section--dark::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle at 1px 1px, rgba(255,255,255,0.04) 1px, transparent 0);
    background-size: 32px 32px;
    pointer-events: none;
}
.mk-section--dark > * { position: relative; z-index: 1; }

/* TESTIMONIAL : sparkle au début */
.mk-testimonial__stars {
    position: relative;
    display: inline-block;
}
.mk-testimonial__stars::after {
    content: " ✨";
    color: var(--mk-accent-2);
    margin-left: 0.4em;
}

/* NEWSLETTER CARD : pattern background */
.mk-newsletter__card::after {
    content: "";
    position: absolute;
    bottom: -100px;
    left: -50px;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
    pointer-events: none;
}

/* CATEGORY CARDS — entrée avec masque */
.mk-cat-card {
    position: relative;
    clip-path: inset(0 round var(--mk-radius-lg));
}

/* PRODUITS GRILLE — entrée en cascade */
.woocommerce ul.products li.product {
    opacity: 0;
    transform: translateY(20px);
    animation: mkRevealProduct 0.7s cubic-bezier(0.22,1,0.36,1) forwards;
}
.woocommerce ul.products li.product:nth-child(1)  { animation-delay: 0.05s; }
.woocommerce ul.products li.product:nth-child(2)  { animation-delay: 0.1s; }
.woocommerce ul.products li.product:nth-child(3)  { animation-delay: 0.15s; }
.woocommerce ul.products li.product:nth-child(4)  { animation-delay: 0.2s; }
.woocommerce ul.products li.product:nth-child(5)  { animation-delay: 0.25s; }
.woocommerce ul.products li.product:nth-child(6)  { animation-delay: 0.3s; }
.woocommerce ul.products li.product:nth-child(7)  { animation-delay: 0.35s; }
.woocommerce ul.products li.product:nth-child(8)  { animation-delay: 0.4s; }
@keyframes mkRevealProduct {
    to { opacity: 1; transform: translateY(0); }
}

/* HERO __ ICONE SVG dans les boutons */
.mk-btn svg {
    transition: transform 0.3s ease;
}
.mk-btn:hover svg {
    transform: translateX(4px);
}

/* SECTION HEADER center : ajout effet underline animé */
.mk-section__header--center .mk-section__title::after {
    content: "";
    display: block;
    width: 80px;
    height: 3px;
    background: var(--mk-accent);
    margin: 1.5rem auto 0;
    border-radius: 999px;
    animation: mkUnderlineExpand 1s cubic-bezier(0.22,1,0.36,1) 0.3s both;
}
.mk-section--dark .mk-section__title::after {
    background: var(--mk-accent-2);
}
@keyframes mkUnderlineExpand {
    from { width: 0; opacity: 0; }
    to   { width: 80px; opacity: 1; }
}

/* CURSOR custom élégant (juste un suivi soft) - optionnel, peut ralentir */
/* Désactivé par défaut. Activer en ajoutant .mk-cursor-custom au body */

/* SMOOTH SCROLL global */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
}

/* FLOATING SHAPES en background (decoration) */
.mk-section--cats {
    position: relative;
}
.mk-shape {
    position: absolute;
    border-radius: 50%;
    opacity: 0.4;
    pointer-events: none;
    z-index: 0;
}

/* v0.7 — REMPLISSAGE WOW : Lookbook, Banner video, Promo split */

/* LOOKBOOK GRID — mosaïque éditoriale */
.mk-lookbook__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: 380px 280px;
    gap: 1.25rem;
    margin-top: 3rem;
}
@media (max-width: 900px) {
    .mk-lookbook__grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
}
@media (max-width: 600px) {
    .mk-lookbook__grid { grid-template-columns: 1fr; }
}
.mk-lookbook__card {
    position: relative;
    background-size: cover;
    background-position: center;
    border-radius: var(--mk-radius-lg);
    overflow: hidden;
    text-decoration: none !important;
    transition: transform 0.5s cubic-bezier(0.22,1,0.36,1), box-shadow 0.4s ease;
    min-height: 280px;
    isolation: isolate;
}
.mk-lookbook__card:hover {
    transform: translateY(-6px) scale(1.01);
    box-shadow: 0 24px 48px rgba(46,46,46,0.25);
}
.mk-lookbook__card--tall { grid-row: span 2; }
.mk-lookbook__card--wide { grid-column: span 2; }
@media (max-width: 900px) {
    .mk-lookbook__card--tall, .mk-lookbook__card--wide {
        grid-row: auto; grid-column: auto;
    }
}
.mk-lookbook__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 30%, rgba(46,46,46,0.85) 100%);
    transition: background 0.4s ease;
}
.mk-lookbook__card:hover .mk-lookbook__overlay {
    background: linear-gradient(180deg, rgba(201,112,100,0.15) 0%, rgba(46,46,46,0.92) 100%);
}
.mk-lookbook__content {
    position: absolute;
    bottom: 1.5rem; left: 1.5rem; right: 1.5rem;
    z-index: 2;
    color: #fff;
}
.mk-lookbook__tag {
    display: inline-block;
    background: rgba(255,255,255,0.92);
    color: var(--mk-text);
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    padding: 0.3em 0.8em;
    border-radius: 999px;
    margin-bottom: 0.8rem;
}
.mk-lookbook__content h3 {
    color: #fff;
    font-family: var(--mk-font-display);
    font-size: clamp(1.3rem, 2vw, 1.7rem);
    margin: 0 0 0.5rem;
    line-height: 1.2;
    text-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
.mk-lookbook__arrow {
    display: inline-block;
    color: #fff;
    font-size: 1.5rem;
    transform: translateX(0);
    transition: transform 0.3s ease;
}
.mk-lookbook__card:hover .mk-lookbook__arrow {
    transform: translateX(8px);
    color: var(--mk-accent-2);
}

/* BANNIÈRE VIDÉO FULL-WIDTH */
.mk-banner-video {
    position: relative;
    min-height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    color: #fff;
    margin: 0;
    isolation: isolate;
}
.mk-banner-video__media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
    filter: brightness(0.5) saturate(1.2);
}
.mk-banner-video__overlay {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse at 30% 50%, rgba(201,112,100,0.35), transparent 60%),
        linear-gradient(135deg, rgba(46,46,46,0.6) 0%, rgba(46,46,46,0.85) 100%);
    z-index: 1;
}
.mk-banner-video__content {
    position: relative;
    z-index: 2;
    text-align: center;
    padding: 5rem 1rem;
    max-width: 720px;
}
.mk-banner-video__title {
    color: #fff;
    font-family: var(--mk-font-display);
    font-size: clamp(2.4rem, 5vw, 4rem);
    line-height: 1.05;
    margin: 1.2rem 0 1.5rem;
    letter-spacing: -0.02em;
}
.mk-banner-video__title em {
    color: var(--mk-accent-2);
    font-style: italic;
}
.mk-banner-video__sub {
    font-size: 1.1rem;
    line-height: 1.7;
    color: rgba(255,255,255,0.9);
    margin-bottom: 2.5rem;
}

/* BANNIÈRE PROMO SPLIT (50/50 image + texte) */
.mk-promo-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 540px;
    overflow: hidden;
}
@media (max-width: 900px) {
    .mk-promo-split { grid-template-columns: 1fr; }
}
.mk-promo-split__visual {
    position: relative;
    background-size: cover;
    background-position: center;
    min-height: 400px;
}
.mk-promo-split__badge {
    position: absolute;
    top: 50%;
    right: 2rem;
    transform: translateY(-50%) rotate(-8deg);
    width: 180px;
    height: 180px;
    background: var(--mk-accent);
    color: #fff;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-shadow: 0 20px 50px rgba(201,112,100,0.5);
    animation: mkBadgeWiggle 4s ease-in-out infinite;
}
@keyframes mkBadgeWiggle {
    0%, 100% { transform: translateY(-50%) rotate(-8deg); }
    50%      { transform: translateY(-50%) rotate(4deg); }
}
.mk-promo-split__badge-pct {
    font-family: var(--mk-font-display);
    font-size: 2.8rem;
    font-weight: 800;
    line-height: 1;
}
.mk-promo-split__badge-lbl {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin-top: 0.4em;
    padding: 0 1rem;
    line-height: 1.3;
}
.mk-promo-split__text {
    background: var(--mk-bg-soft);
    padding: 4rem 3rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.mk-promo-split__text h2 {
    font-family: var(--mk-font-display);
    font-size: clamp(2rem, 3.5vw, 2.8rem);
    line-height: 1.1;
    margin: 1rem 0 1.5rem;
    color: var(--mk-text);
}
.mk-promo-split__text h2 em {
    color: var(--mk-accent);
    font-style: italic;
}
.mk-promo-split__text p {
    color: var(--mk-text-dim);
    line-height: 1.7;
    margin-bottom: 1.5rem;
    font-size: 1.05rem;
}
.mk-promo-split__text strong {
    color: var(--mk-accent);
    font-weight: 700;
}
.mk-promo-split__list {
    list-style: none;
    padding: 0;
    margin: 0 0 2rem;
}
.mk-promo-split__list li {
    color: var(--mk-text);
    padding: 0.4rem 0;
    font-weight: 500;
}
.mk-promo-split__list li::first-letter {
    color: var(--mk-accent-2);
    font-weight: 700;
    margin-right: 0.4em;
}
.mk-promo-split__text .mk-btn {
    align-self: flex-start;
}

/* Section banner-video : pas de padding standard car prend toute la largeur */
.mk-home--v5 .mk-banner-video,
.mk-home--v5 .mk-promo-split {
    padding: 0;
    margin: 4rem 0;
}
@media (max-width: 768px) {
    .mk-home--v5 .mk-banner-video,
    .mk-home--v5 .mk-promo-split { margin: 2.5rem 0; }
}

/* v0.8 — COMPACT FIX : suppression des vides */

/* RÉDUCTION padding sections (était 6rem) */
.mk-home--v5 .mk-section { padding: 3.5rem 0 !important; }
@media (max-width: 768px) { .mk-home--v5 .mk-section { padding: 2.5rem 0 !important; } }

/* SUPPRESSION margin entre banner-video / promo-split */
.mk-home--v5 .mk-banner-video,
.mk-home--v5 .mk-promo-split {
    margin: 0 !important;
}

/* HERO : un peu plus compact */
.mk-hero--video { min-height: 78vh !important; }
.mk-hero__content { padding: 4rem 1rem 3rem !important; }
.mk-hero__stats { margin-top: 2.5rem !important; padding-top: 2rem !important; }

/* SECTION HEADERS : moins gros */
.mk-section__header { margin-bottom: 2rem !important; }
.mk-section__header--center { margin-bottom: 2rem !important; }

/* CATEGORY GRID : 4 colonnes desktop, plus serré */
.mk-cat-grid {
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 1rem !important;
    margin-top: 0.5rem !important;
}
.mk-cat-card { aspect-ratio: 3 / 4 !important; min-height: 240px !important; }
@media (max-width: 1100px) { .mk-cat-grid { grid-template-columns: repeat(4, 1fr) !important; } }
@media (max-width: 800px)  { .mk-cat-grid { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 540px)  { .mk-cat-grid { grid-template-columns: repeat(2, 1fr) !important; } }

/* LOOKBOOK : compact */
.mk-lookbook__grid {
    grid-template-rows: 320px 240px !important;
    gap: 1rem !important;
    margin-top: 2rem !important;
}

/* USP : padding réduit */
.mk-usp { padding: 1.8rem 0 !important; }

/* BANNIÈRE VIDÉO : compact */
.mk-banner-video { min-height: 56vh !important; }
.mk-banner-video__content { padding: 4rem 1rem !important; }

/* BANNIÈRE PROMO SPLIT : moins de hauteur */
.mk-promo-split { min-height: 420px !important; }
.mk-promo-split__text { padding: 3rem 2.5rem !important; }
.mk-promo-split__visual { min-height: 320px !important; }

/* STORY : grid plus serré */
.mk-story__grid { gap: 3rem !important; }
.mk-story__visual { aspect-ratio: 4 / 4 !important; }

/* PRODUITS : grille plus dense */
.woocommerce ul.products {
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
    gap: 1.2rem !important;
}

/* TESTIMONIALS : moins d'espace */
.mk-testimonials { gap: 1.2rem !important; margin-top: 2rem !important; }
.mk-testimonial { padding: 1.5rem !important; }

/* INSTAGRAM GRID : compact */
.mk-insta-grid {
    aspect-ratio: 16/6 !important;
    gap: 0.6rem !important;
    margin-top: 2rem !important;
}

/* STEPS : compact */
.mk-steps { gap: 1.5rem !important; margin-top: 2rem !important; }
.mk-step { padding: 1.5rem !important; }
.mk-step__num { font-size: 2.8rem !important; margin-bottom: 0.5rem !important; }

/* NEWSLETTER : compact */
.mk-newsletter__card { padding: 3rem 2.5rem !important; gap: 2rem !important; }

/* CONTAINER plus large pour fill */
.mk-container { max-width: 1400px !important; padding: 0 1.2rem !important; }

/* Astra parent peut avoir des marges/padding sur le main, on les vire */
.mk-home--v5 {
    margin: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
}
.ast-container, .site-content > .ast-container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.ast-no-sidebar .entry-content-wrap { padding: 0 !important; }
.entry-content > .mk-home, body.home .entry-content { padding: 0 !important; margin: 0 !important; }
body.home .site-content { padding-top: 0 !important; padding-bottom: 0 !important; }
body.home .ast-container { max-width: 100% !important; padding: 0 !important; }

/* USP icon plus petit */
.mk-usp__icon { width: 44px !important; height: 44px !important; }
.mk-usp__icon svg { width: 24px !important; height: 24px !important; }

/* v0.9 — FIX VIDES : suppression brutale des paddings/margins parasites */

/* Force le body/main à n'avoir AUCUN padding/margin */
body.home,
body.home .site,
body.home .site-content,
body.home #content,
body.home .ast-container,
body.home .ast-container-fluid,
body.home .entry-content,
body.home .entry-content-wrap,
body.home article.page,
body.home .hentry,
body.home main {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
}

/* Le wrap entry-content peut avoir une bordure/background */
body.home article.page,
body.home .hentry {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

/* Title de la page d acceuil cachée (titre WP "Accueil") */
body.home .entry-header,
body.home .ast-archive-title,
body.home .ast-archive-description,
body.home article.page > header {
    display: none !important;
}

/* Toutes les sections : padding compact */
.mk-home--v5 .mk-section,
.mk-home--v5 section {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
    margin: 0 !important;
}

/* Sections full-width : ZÉRO padding vertical extérieur */
.mk-home--v5 .mk-banner-video,
.mk-home--v5 .mk-promo-split,
.mk-home--v5 .mk-marquee,
.mk-home--v5 .mk-usp {
    padding: 0 !important;
    margin: 0 !important;
}

/* Le mk-banner-video__content garde son padding interne */
.mk-banner-video__content { padding: 3rem 1rem !important; }
.mk-promo-split__text { padding: 2.5rem 2rem !important; }
.mk-usp { padding: 1.4rem 0 !important; }

/* Header section padding compact */
.mk-section__header,
.mk-section__header--center {
    margin-bottom: 1.5rem !important;
}

/* Hero : pas de margin bottom inutile */
.mk-hero--video {
    margin: 0 !important;
    min-height: 75vh !important;
}

/* Catégories : pas trop d aération */
.mk-section--cats { padding: 3rem 0 !important; }

/* Lookbook : compact */
.mk-lookbook { padding: 2.5rem 0 !important; }
.mk-lookbook__grid {
    grid-template-rows: 280px 220px !important;
    gap: 0.8rem !important;
}

/* Products : compact */
.mk-section--products { padding: 2.5rem 0 !important; }
.woocommerce ul.products {
    margin-top: 1rem !important;
    margin-bottom: 0 !important;
}

/* Steps section dark : compact */
.mk-section--dark { padding: 3rem 0 !important; }

/* Testimonials : compact */
.mk-section--testimonials { padding: 2.5rem 0 !important; }

/* Newsletter : compact */
.mk-newsletter { padding: 2rem 0 3rem !important; }

/* Story compact */
.mk-story { padding: 3rem 0 !important; }
.mk-story__grid { gap: 2.5rem !important; }
.mk-story__visual { aspect-ratio: 4 / 3.5 !important; }
.mk-story__visual::before { display: none !important; } /* on enlève le frame qui crée du vide */

/* Promo split : zero margin, hauteur fixe */
.mk-promo-split {
    min-height: 380px !important;
    padding: 0 !important;
    margin: 0 !important;
    grid-template-columns: 1fr 1fr !important;
}
.mk-promo-split__visual { min-height: 380px !important; }
@media (max-width: 900px) {
    .mk-promo-split__visual { min-height: 280px !important; }
}

/* Banner video : hauteur compacte */
.mk-banner-video { min-height: 48vh !important; }

/* Inspiration insta : compact */
.mk-inspiration { padding: 2.5rem 0 !important; }
.mk-insta-grid { aspect-ratio: 16/5 !important; margin-top: 1.5rem !important; }

/* CONTAINER plus large */
.mk-container { max-width: 1400px !important; padding: 0 1.5rem !important; }

/* Fond body charcoal pour éviter trous blancs entre sections sombres */
body.home { background: var(--mk-bg) !important; }

/* Marquee : hauteur compacte */
.mk-marquee { padding: 0.9rem 0 !important; }

/* Suppression marges sur tous les h1/h2/h3 dans les sections home */
.mk-home--v5 h1, .mk-home--v5 h2, .mk-home--v5 h3 { margin-top: 0 !important; }

/* Final : force aucun gap entre sections */
.mk-home--v5 > section + section { margin-top: 0 !important; }

/* v1.0 — POLISH ULTRA PREMIUM */

/* === TRUST BADGES "Vu dans la presse" === */
.mk-press {
    background: #fff;
    padding: 1.8rem 0;
    border-top: 1px solid var(--mk-border);
    border-bottom: 1px solid var(--mk-border);
}
.mk-press__inner {
    display: flex;
    align-items: center;
    gap: 2rem;
    flex-wrap: wrap;
    justify-content: center;
}
.mk-press__label {
    color: var(--mk-text-dim);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.25em;
    flex-shrink: 0;
}
.mk-press__logos {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
    justify-content: center;
}
.mk-press__logo {
    font-family: var(--mk-font-display);
    font-size: 1rem;
    color: var(--mk-text);
    letter-spacing: 0.02em;
    font-weight: 500;
    opacity: 0.65;
    transition: opacity 0.3s ease, transform 0.3s ease;
    cursor: default;
}
.mk-press__logo:hover { opacity: 1; transform: translateY(-2px); }
.mk-press__sep {
    color: var(--mk-accent);
    font-size: 1.3rem;
    opacity: 0.5;
}
@media (max-width: 700px) {
    .mk-press__label { display: block; width: 100%; text-align: center; margin-bottom: 0.5rem; }
    .mk-press__logos { gap: 1rem; }
    .mk-press__logo { font-size: 0.85rem; }
}

/* HERO SIGNATURE — petit texte cursif sous le titre */
.mk-hero__signature {
    display: inline-block;
    font-family: var(--mk-font-display);
    font-style: italic;
    color: var(--mk-accent-2);
    font-size: 1.05rem;
    margin-top: -0.5rem;
    margin-bottom: 1.5rem;
    opacity: 0.92;
    letter-spacing: 0.04em;
}

/* === CARDS PRODUITS — ULTRA CINEMATIQUES === */
.woocommerce ul.products li.product {
    position: relative;
    overflow: hidden;
    transition: transform 0.5s cubic-bezier(0.22,1,0.36,1),
                box-shadow 0.5s ease;
}
.woocommerce ul.products li.product::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(201,112,100,0.0) 0%, rgba(201,112,100,0.0) 50%, rgba(168,181,160,0.0) 100%);
    transition: background 0.5s ease;
    pointer-events: none;
    z-index: 2;
}
.woocommerce ul.products li.product:hover {
    transform: translateY(-8px) scale(1.01);
    box-shadow: 0 32px 60px -12px rgba(46,46,46,0.25);
}
.woocommerce ul.products li.product:hover::before {
    background: linear-gradient(135deg, rgba(201,112,100,0.04) 0%, transparent 50%, rgba(168,181,160,0.04) 100%);
}
.woocommerce ul.products li.product .button {
    transition: all 0.4s cubic-bezier(0.22,1,0.36,1);
    opacity: 0.85;
}
.woocommerce ul.products li.product:hover .button {
    opacity: 1;
    background: var(--mk-accent) !important;
    color: #fff !important;
    box-shadow: 0 8px 20px rgba(201,112,100,0.35);
}

/* === SECTION DIVIDER ORNÉ — petit ornement entre sections === */
.mk-divider {
    text-align: center;
    padding: 1.5rem 0 0;
    color: var(--mk-accent);
    font-size: 1.5rem;
    letter-spacing: 1em;
    opacity: 0.4;
    user-select: none;
    pointer-events: none;
}

/* === HERO TITLE — letter reveal smooth === */
.mk-hero__title { perspective: 1000px; }
.mk-hero__title .mk-hero__line {
    transform-origin: 50% 50%;
}

/* === SECTION TITLE — petite ligne décorative === */
.mk-section__header--center .mk-section__kicker {
    position: relative;
    padding: 0.35em 1.1em;
}
.mk-section__title em {
    position: relative;
    display: inline-block;
}
.mk-section__title em::after {
    content: "";
    position: absolute;
    bottom: -4px; left: 0; right: 0;
    height: 6px;
    background: var(--mk-accent-2);
    opacity: 0.3;
    z-index: -1;
    border-radius: 999px;
}

/* === SECTION CATÉGORIES : "shop the look" pills sous le titre === */
.mk-section--cats .mk-section__header {
    position: relative;
}
.mk-section--cats .mk-section__header::after {
    content: "";
    display: block;
    width: 60px;
    height: 2px;
    background: linear-gradient(90deg, var(--mk-accent), transparent);
    margin: 1rem auto 0;
}

/* === CARDS CATÉGORIES — hover plus poussé === */
.mk-cat-card {
    transform-style: preserve-3d;
}
.mk-cat-card:hover .mk-cat-card__title {
    transform: translateY(-4px);
}
.mk-cat-card:hover .mk-cat-card__count {
    background: rgba(201,112,100,1) !important;
    transform: scale(1.05);
}
.mk-cat-card__title { transition: transform 0.4s ease; }
.mk-cat-card__count { transition: all 0.4s ease; }

/* === BOUTON CTA — effet "ripple" subtil === */
.mk-btn--primary::before {
    content: "";
    position: absolute;
    top: 50%; left: 50%;
    width: 0; height: 0;
    border-radius: 50%;
    background: rgba(255,255,255,0.25);
    transform: translate(-50%, -50%);
    transition: width 0.6s ease, height 0.6s ease;
    pointer-events: none;
}
.mk-btn--primary:hover::before {
    width: 300px; height: 300px;
}
.mk-btn--primary { position: relative; overflow: hidden; }
.mk-btn--primary > * {
    position: relative;
    z-index: 1;
}

/* === LOOKBOOK CARDS — overlay color shift au hover === */
.mk-lookbook__card {
    transform-origin: center bottom;
}
.mk-lookbook__card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(45deg, transparent 60%, var(--mk-accent) 100%);
    opacity: 0;
    transition: opacity 0.5s ease;
    z-index: 1;
    pointer-events: none;
    mix-blend-mode: multiply;
}
.mk-lookbook__card:hover::after { opacity: 0.4; }

/* === BANNER VIDEO — animation subtile sur titre === */
.mk-banner-video__title em {
    display: inline-block;
    animation: mkSubtleFloat 4s ease-in-out infinite;
}
@keyframes mkSubtleFloat {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-6px); }
}

/* === PROMO SPLIT BADGE — pulse plus visible === */
.mk-promo-split__badge {
    box-shadow:
        0 20px 50px rgba(201,112,100,0.5),
        0 0 0 0 rgba(201,112,100,0.5);
    animation: mkBadgeWiggle 4s ease-in-out infinite, mkBadgePulse 2s ease-out infinite;
}
@keyframes mkBadgePulse {
    0%   { box-shadow: 0 20px 50px rgba(201,112,100,0.5), 0 0 0 0 rgba(201,112,100,0.5); }
    100% { box-shadow: 0 20px 50px rgba(201,112,100,0.5), 0 0 0 20px rgba(201,112,100,0); }
}

/* === STEPS — chiffres avec gradient === */
.mk-step__num {
    background: linear-gradient(135deg, var(--mk-accent-2), var(--mk-accent));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    opacity: 0.9 !important;
    font-size: 4rem !important;
}

/* === TESTIMONIAL CARDS === */
.mk-testimonial {
    transition: all 0.5s cubic-bezier(0.22,1,0.36,1);
}
.mk-testimonial:hover {
    border-color: var(--mk-accent);
    transform: translateY(-8px) rotate(-0.5deg);
}

/* === FORM NEWSLETTER — focus glow === */
.mk-newsletter__form input:focus {
    box-shadow: 0 0 0 4px rgba(255,255,255,0.25);
    border-color: #fff !important;
}

/* === SCROLLBAR custom élégant === */
::-webkit-scrollbar { width: 12px; height: 12px; }
::-webkit-scrollbar-track { background: var(--mk-bg-soft); }
::-webkit-scrollbar-thumb {
    background: var(--mk-accent);
    border-radius: 999px;
    border: 3px solid var(--mk-bg-soft);
}
::-webkit-scrollbar-thumb:hover { background: var(--mk-accent-hover); }

/* === SÉLECTION TEXTE === */
::selection {
    background: var(--mk-accent);
    color: #fff;
}

/* === LIENS HOVER PARTOUT === */
a:not(.mk-btn):not(.mk-cat-card):not(.mk-lookbook__card):not(.mk-insta-tile) {
    transition: color 0.2s ease;
}

/* === HEADER STICKY plus prononcé === */
.ast-primary-header-bar.is-scrolled {
    background: rgba(250,246,240,0.92) !important;
    backdrop-filter: blur(20px) saturate(1.2);
    -webkit-backdrop-filter: blur(20px) saturate(1.2);
    box-shadow: 0 4px 30px rgba(46,46,46,0.08) !important;
}

/* === FOOTER ENRICHIS === */
.site-footer {
    background: linear-gradient(180deg, var(--mk-text) 0%, #1a1a1a 100%) !important;
}

/* === INSPIRATION INSTA — overlay sympa === */
.mk-insta-tile {
    cursor: pointer;
}

/* === GLOBAL POLISH === */
.mk-home--v5 img {
    border-radius: inherit;
}

/* === MOBILE : ajustements finals === */
@media (max-width: 768px) {
    .mk-hero__title { font-size: clamp(2.2rem, 8vw, 3.5rem) !important; }
    .mk-hero__signature { font-size: 0.95rem; }
    .mk-section__title { font-size: clamp(1.8rem, 6vw, 2.6rem) !important; }
    .mk-banner-video__title { font-size: clamp(1.8rem, 6vw, 2.8rem) !important; }
}

/* v1.1 — FIX HERO HAUTEUR : borné entre 560 et 800px */
.mk-hero--video {
    min-height: 560px !important;
    max-height: 800px !important;
    height: clamp(560px, 78vh, 800px) !important;
}
.mk-hero--video .mk-hero__content {
    padding: 2rem 1rem !important;
}
@media (max-width: 768px) {
    .mk-hero--video {
        min-height: 480px !important;
        max-height: 680px !important;
        height: clamp(480px, 75vh, 680px) !important;
    }
}

/* v1.2 — LOGO : cache le site-title quand custom-logo présent + sizing du SVG */
body.wp-custom-logo .site-title,
body.wp-custom-logo .ast-site-title-wrap,
body.wp-custom-logo .site-description {
    display: none !important;
}
body.wp-custom-logo .custom-logo {
    height: 56px !important;
    width: auto !important;
    max-width: 260px !important;
    display: block !important;
    object-fit: contain !important;
}
@media (max-width: 768px) {
    body.wp-custom-logo .custom-logo {
        height: 44px !important;
        max-width: 200px !important;
    }
}
body.wp-custom-logo .ast-site-identity {
    padding: 8px 0 !important;
}
body.wp-custom-logo .site-logo-img,
body.wp-custom-logo .custom-logo-link {
    display: inline-block !important;
    line-height: 0;
}
body.wp-custom-logo .custom-logo-link img {
    min-width: 200px;
}

/* ============================================
   v2.0 — PANIER : FAB flottant + drawer + toast
   ============================================ */

/* FAB panier flottant — fond blanc, icône terracotta */
.mk-cart-fab {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #fff !important;
    color: #C97064 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 22px rgba(46,46,46,.18), 0 2px 6px rgba(0,0,0,.06);
    z-index: 9998;
    text-decoration: none;
    transition: transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .25s, background .25s;
    border: 2px solid #C9A57F;
}
.mk-cart-fab svg { stroke: #C97064 !important; color: #C97064 !important; }
.mk-cart-fab:hover, .mk-cart-fab:focus {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 12px 32px rgba(201,112,100,.4), 0 4px 8px rgba(0,0,0,.15);
    background: linear-gradient(135deg, #C97064 0%, #A8826B 100%) !important;
    color: #fff !important;
    border-color: #fff;
}
.mk-cart-fab:hover svg, .mk-cart-fab:focus svg {
    stroke: #fff !important; color: #fff !important;
}
.mk-cart-fab svg { stroke-width: 2; }
.mk-cart-fab__count {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 24px;
    height: 24px;
    border-radius: 12px;
    background: #2E2E2E;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 6px;
    border: 2px solid #FAF6F0;
    transition: transform .3s cubic-bezier(.34,1.56,.64,1);
}
.mk-cart-fab__count.is-empty {
    transform: scale(0);
}
@keyframes mk-cart-pop {
    0% { transform: scale(1); }
    50% { transform: scale(1.4); }
    100% { transform: scale(1); }
}
.mk-cart-fab__count:not(.is-empty) {
    animation: mk-cart-pop .35s ease-out;
}

/* Drawer mini-panier */
.mk-cart-drawer {
    position: fixed;
    inset: 0;
    z-index: 9999;
    pointer-events: none;
    opacity: 0;
    transition: opacity .3s;
}
.mk-cart-drawer.is-open {
    pointer-events: auto;
    opacity: 1;
}
.mk-cart-drawer__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(46,46,46,.55);
    backdrop-filter: blur(2px);
}
.mk-cart-drawer__panel {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 92vw;
    max-width: 420px;
    background: #FAF6F0;
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform .35s cubic-bezier(.4,0,.2,1);
    box-shadow: -8px 0 32px rgba(0,0,0,.15);
}
.mk-cart-drawer.is-open .mk-cart-drawer__panel {
    transform: translateX(0);
}
.mk-cart-drawer__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid #E5DCC9;
    background: #fff;
}
.mk-cart-drawer__head h3 {
    margin: 0;
    font-family: 'Playfair Display', serif;
    font-size: 1.4em;
    color: #2E2E2E;
}
.mk-cart-drawer__close {
    background: none;
    border: none;
    font-size: 1.6em;
    cursor: pointer;
    color: #6B6258;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    transition: background .2s;
}
.mk-cart-drawer__close:hover {
    background: #F4EEE3;
    color: #2E2E2E;
}
.mk-cart-drawer__body {
    flex: 1;
    overflow-y: auto;
    padding: 20px 24px;
}
.mk-cart-drawer__body .woocommerce-mini-cart {
    margin: 0;
    padding: 0;
    list-style: none;
}
.mk-cart-drawer__body .mini_cart_item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 0;
    border-bottom: 1px solid #E5DCC9;
}
.mk-cart-drawer__body .mini_cart_item img {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border-radius: 8px;
}
.mk-cart-drawer__body .woocommerce-mini-cart__buttons {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 20px;
}
.mk-cart-drawer__body .woocommerce-mini-cart__buttons .button {
    display: block;
    text-align: center;
    padding: 14px 20px;
    border-radius: 999px;
    font-weight: 600;
    text-decoration: none;
    transition: transform .15s, box-shadow .2s;
}
.mk-cart-drawer__body .woocommerce-mini-cart__buttons .button.wc-forward {
    background: #FAF6F0;
    border: 1.5px solid #C9A57F;
    color: #2E2E2E;
}
.mk-cart-drawer__body .woocommerce-mini-cart__buttons .checkout {
    background: linear-gradient(135deg, #C97064 0%, #A8826B 100%);
    color: #fff !important;
    box-shadow: 0 4px 14px rgba(201,112,100,.3);
}
.mk-cart-drawer__body .woocommerce-mini-cart__buttons .checkout:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(201,112,100,.4);
}

/* Toast notification */
.mk-cart-toast {
    position: fixed;
    top: 92px;
    right: 24px;
    background: #fff;
    border-left: 4px solid #A8B5A0;
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(0,0,0,.12);
    padding: 16px 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    z-index: 10000;
    opacity: 0;
    transform: translateY(-12px) translateX(20px);
    pointer-events: none;
    transition: opacity .3s, transform .3s cubic-bezier(.4,0,.2,1);
    min-width: 280px;
}
.mk-cart-toast.is-visible {
    opacity: 1;
    transform: translateY(0) translateX(0);
    pointer-events: auto;
}
.mk-cart-toast svg {
    color: #A8B5A0;
    flex-shrink: 0;
}
.mk-cart-toast__text {
    font-weight: 600;
    color: #2E2E2E;
}
.mk-cart-toast__cta {
    margin-left: auto;
    color: #C97064;
    font-weight: 600;
    text-decoration: none;
    font-size: 0.92em;
    white-space: nowrap;
}
.mk-cart-toast__cta:hover {
    color: #A8826B;
    text-decoration: underline;
}

/* Améliorations visuelles globales */
.mk-cat-card {
    transition: transform .4s cubic-bezier(.4,0,.2,1), box-shadow .4s;
}
.mk-cat-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 40px rgba(46,46,46,.18);
}
.mk-cat-card__img {
    transition: transform .6s ease;
}
.mk-cat-card:hover .mk-cat-card__img {
    transform: scale(1.06);
}

/* Boutons "Ajouter au panier" sur les cards produits */
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button {
    background: linear-gradient(135deg, #C97064 0%, #A8826B 100%) !important;
    color: #fff !important;
    border-radius: 999px !important;
    padding: 10px 20px !important;
    font-weight: 600 !important;
    box-shadow: 0 4px 12px rgba(201,112,100,.25) !important;
    transition: transform .2s, box-shadow .2s !important;
    border: none !important;
}
.woocommerce ul.products li.product .button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(201,112,100,.4) !important;
}
.woocommerce ul.products li.product .button.added::after {
    content: ' ✓';
    color: #fff;
}

/* Card produit hover */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    transition: transform .3s cubic-bezier(.4,0,.2,1), box-shadow .3s;
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 4px 16px rgba(46,46,46,.06);
    padding: 16px !important;
}
.woocommerce ul.products li.product:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(46,46,46,.12);
}
.woocommerce ul.products li.product img {
    border-radius: 12px;
    transition: transform .5s ease;
}
.woocommerce ul.products li.product:hover img {
    transform: scale(1.04);
}

/* Mobile */
@media (max-width: 768px) {
    .mk-cart-fab { bottom: 16px; right: 16px; width: 54px; height: 54px; }
    .mk-cart-toast { top: 70px; right: 12px; left: 12px; min-width: auto; }
    .mk-cart-toast__cta { font-size: 0.85em; }
}

/* ============================================
   v3.0 — HOME LIVELY : flashbar, activity toast, badges
   ============================================ */

/* Flashbar promo avec countdown */
.mk-flashbar {
    position: relative;
    background: linear-gradient(90deg, #2E2E2E 0%, #1a1a1a 50%, #2E2E2E 100%);
    background-size: 200% 100%;
    color: #fff;
    padding: 10px 14px;
    text-align: center;
    font-size: 0.9em;
    z-index: 9990;
    animation: mk-flashbar-shimmer 6s ease-in-out infinite;
}
@keyframes mk-flashbar-shimmer {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}
.mk-flashbar__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 0 auto;
}
.mk-flashbar__icon {
    font-size: 1.2em;
    animation: mk-pulse 1.5s ease-in-out infinite;
}
@keyframes mk-pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.2); }
}
.mk-flashbar strong {
    letter-spacing: 0.12em;
    font-weight: 700;
    color: #C9A57F;
}
.mk-flashbar code {
    background: rgba(255,255,255,0.15);
    padding: 2px 8px;
    border-radius: 4px;
    font-weight: 700;
    color: #fff;
    border: 1px dashed #C9A57F;
    font-family: 'Inter', monospace;
}
.mk-flashbar__countdown {
    font-family: 'Inter', monospace;
    font-weight: 700;
    background: rgba(201,165,127,0.15);
    padding: 4px 10px;
    border-radius: 999px;
    color: #C9A57F;
    border: 1px solid rgba(201,165,127,0.4);
    min-width: 90px;
    display: inline-block;
}
.mk-flashbar__close {
    background: none;
    border: none;
    color: rgba(255,255,255,0.6);
    cursor: pointer;
    font-size: 1.1em;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    transition: all .2s;
    margin-left: 8px;
}
.mk-flashbar__close:hover {
    background: rgba(255,255,255,0.1);
    color: #fff;
}
@media (max-width: 640px) {
    .mk-flashbar { font-size: 0.78em; padding: 8px; }
    .mk-flashbar__inner { gap: 8px; }
    .mk-flashbar__msg { display: none; }
}

/* Activity toast — "Sophie de Paris vient d'ajouter au panier..." */
.mk-activity {
    position: fixed;
    bottom: 24px;
    left: 24px;
    z-index: 9997;
    max-width: 340px;
    opacity: 0;
    transform: translateY(40px);
    pointer-events: none;
    transition: opacity .5s cubic-bezier(.4,0,.2,1), transform .5s cubic-bezier(.4,0,.2,1);
}
.mk-activity.is-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.mk-activity__card {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #fff;
    border-radius: 14px;
    padding: 12px 14px;
    box-shadow: 0 12px 32px rgba(46,46,46,.14), 0 2px 6px rgba(46,46,46,.06);
    text-decoration: none;
    border: 1px solid #F4EEE3;
    position: relative;
    overflow: hidden;
}
.mk-activity__card::before {
    content: '';
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 4px;
    background: linear-gradient(180deg, #A8B5A0 0%, #C9A57F 100%);
}
.mk-activity__img {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: 8px;
    flex-shrink: 0;
}
.mk-activity__body {
    flex: 1;
    font-size: 0.85em;
    color: #6B6258;
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.35;
}
.mk-activity__body strong {
    color: #2E2E2E;
    font-weight: 600;
}
.mk-activity__product {
    color: #C97064;
    font-weight: 600;
    font-size: 0.95em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 220px;
}
.mk-activity__time {
    color: #A8B5A0;
    font-size: 0.78em;
    font-weight: 500;
}
.mk-activity__close {
    position: absolute;
    top: 6px;
    right: 8px;
    font-size: 0.85em;
    color: #C9A57F;
    cursor: pointer;
    padding: 2px 4px;
    border-radius: 50%;
    line-height: 1;
}
.mk-activity__close:hover {
    color: #2E2E2E;
    background: #F4EEE3;
}
@media (max-width: 640px) {
    .mk-activity { left: 12px; right: 12px; bottom: 80px; max-width: none; }
}

/* Badges produit (Nouveau / Promo) sur les cards */
.mk-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    background: #fff;
    color: #2E2E2E;
    font-size: 0.7em;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 5px 10px;
    border-radius: 999px;
    z-index: 3;
    box-shadow: 0 2px 8px rgba(46,46,46,.12);
    animation: mk-badge-pop .5s cubic-bezier(.34,1.56,.64,1);
}
@keyframes mk-badge-pop {
    0% { transform: scale(0); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}
.mk-badge--new {
    background: linear-gradient(135deg, #A8B5A0 0%, #6e8568 100%);
    color: #fff;
}
.mk-badge--sale {
    background: linear-gradient(135deg, #C97064 0%, #A8826B 100%);
    color: #fff;
    top: 16px;
    left: auto;
    right: 16px;
}

/* WC cards : position relative pour les badges */
.woocommerce ul.products li.product { position: relative; }

/* Counter animé au scroll (boost les compteurs déjà présents) */
.mk-stat__num {
    display: inline-block;
    background: linear-gradient(135deg, #C97064 0%, #C9A57F 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 700;
}
.mk-stat:hover .mk-stat__num {
    animation: mk-stat-bounce .6s cubic-bezier(.34,1.56,.64,1);
}
@keyframes mk-stat-bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
}

/* ============================================
   v4.0 — COMPTE CLIENT, CLUB, WELCOME, WISHLIST
   ============================================ */

/* Icône compte client flottante */
.mk-account-fab {
    position: fixed;
    bottom: 96px;
    right: 24px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #fff;
    color: #2E2E2E;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 20px rgba(46,46,46,.12), 0 2px 6px rgba(0,0,0,.06);
    z-index: 9998;
    text-decoration: none;
    transition: all .25s cubic-bezier(.34,1.56,.64,1);
    border: 1.5px solid #E5DCC9;
}
.mk-account-fab:hover {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 10px 28px rgba(46,46,46,.18);
    color: #C97064;
    border-color: #C9A57F;
}
.mk-account-fab__dot {
    position: absolute;
    top: 6px;
    right: 8px;
    width: 10px;
    height: 10px;
    background: #A8B5A0;
    border: 2px solid #fff;
    border-radius: 50%;
    animation: mk-pulse-dot 2s ease-in-out infinite;
}
@keyframes mk-pulse-dot {
    0%, 100% { box-shadow: 0 0 0 0 rgba(168,181,160,.7); }
    50% { box-shadow: 0 0 0 6px rgba(168,181,160,0); }
}
@media (max-width: 768px) {
    .mk-account-fab { bottom: 80px; right: 16px; width: 44px; height: 44px; }
}

/* Compteur live de visiteurs sur le hero */
.mk-viewer-live {
    position: absolute;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(255,255,255,0.92);
    backdrop-filter: blur(8px);
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 0.85em;
    color: #2E2E2E;
    display: flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 6px 20px rgba(0,0,0,.1);
    z-index: 5;
    animation: mk-fade-in 1.2s ease 1.5s both;
    white-space: nowrap;
}
.mk-viewer-live strong { color: #C97064; font-weight: 700; }
.mk-viewer-live__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #A8B5A0;
    animation: mk-pulse-dot 1.5s ease-in-out infinite;
}
@keyframes mk-fade-in {
    from { opacity: 0; transform: translateX(-50%) translateY(20px); }
    to { opacity: 1; transform: translateX(-50%) translateY(0); }
}
@media (max-width: 640px) {
    .mk-viewer-live { font-size: 0.75em; padding: 6px 14px; }
}

/* Popup de bienvenue (-10% création compte) */
.mk-welcome {
    position: fixed;
    inset: 0;
    z-index: 10001;
    pointer-events: none;
    opacity: 0;
    transition: opacity .35s;
}
.mk-welcome.is-visible { opacity: 1; pointer-events: auto; }
.mk-welcome__overlay {
    position: absolute;
    inset: 0;
    background: rgba(46,46,46,0.65);
    backdrop-filter: blur(4px);
}
.mk-welcome__panel {
    position: absolute;
    left: 50%; top: 50%;
    transform: translate(-50%, -50%) scale(.85);
    background: linear-gradient(180deg, #FAF6F0 0%, #fff 100%);
    border-radius: 24px;
    padding: 40px 36px 32px;
    width: 92vw;
    max-width: 760px;
    max-height: 92vh;
    overflow-y: auto;
    text-align: center;
    box-shadow: 0 30px 80px rgba(0,0,0,.25);
    transition: transform .4s cubic-bezier(.34,1.56,.64,1);
    overflow: hidden;
}
.mk-welcome.is-visible .mk-welcome__panel { transform: translate(-50%, -50%) scale(1); }
.mk-welcome__close {
    position: absolute;
    top: 14px; right: 14px;
    background: none;
    border: none;
    font-size: 1.2em;
    color: #6B6258;
    cursor: pointer;
    width: 32px; height: 32px;
    border-radius: 50%;
    transition: background .2s, color .2s;
}
.mk-welcome__close:hover { background: #F4EEE3; color: #2E2E2E; }
.mk-welcome__deco {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
}
.mk-welcome__sparkle {
    position: absolute;
    color: #C9A57F;
    font-size: 1.5em;
    animation: mk-sparkle 3s ease-in-out infinite;
}
.mk-welcome__sparkle--1 { top: 24px; left: 36px; animation-delay: 0s; }
.mk-welcome__sparkle--2 { top: 90px; right: 50px; animation-delay: .8s; font-size: 1em; }
.mk-welcome__sparkle--3 { bottom: 60px; left: 30px; animation-delay: 1.6s; font-size: 1.2em; }
@keyframes mk-sparkle {
    0%, 100% { opacity: 0.3; transform: scale(.85) rotate(0deg); }
    50% { opacity: 1; transform: scale(1.2) rotate(180deg); }
}
.mk-welcome__discount {
    display: inline-block;
    font-family: 'Playfair Display', serif;
    font-size: 4em;
    font-weight: 700;
    background: linear-gradient(135deg, #C97064 0%, #A8826B 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 1;
    margin-bottom: 8px;
}
.mk-welcome h3 {
    font-family: 'Playfair Display', serif;
    font-size: 1.8em;
    font-weight: 600;
    color: #2E2E2E;
    margin: 0 0 12px;
}
.mk-welcome__sub {
    color: #6B6258;
    margin: 0 auto 20px;
    max-width: 360px;
    font-size: 0.95em;
}
.mk-welcome__sub strong { color: #C97064; }
.mk-welcome__perks {
    list-style: none;
    padding: 16px 20px;
    margin: 0 auto 24px;
    background: #FAF6F0;
    border-radius: 14px;
    text-align: left;
    max-width: 320px;
    font-size: 0.9em;
    color: #2E2E2E;
}
.mk-welcome__perks li {
    margin: 0 0 8px;
    line-height: 1.4;
}
.mk-welcome__perks li:last-child { margin: 0; }
body .mk-welcome .mk-welcome__cta,
body .mk-welcome a.mk-welcome__cta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    background: #2E2E2E !important;
    background-image: linear-gradient(135deg, #2E2E2E 0%, #1a1a1a 100%) !important;
    color: #FFFFFF !important;
    text-decoration: none !important;
    padding: 16px 28px !important;
    border-radius: 999px !important;
    font-weight: 700 !important;
    font-size: 1.05em !important;
    letter-spacing: 0.03em !important;
    width: 100% !important;
    max-width: 320px !important;
    box-shadow: 0 10px 24px rgba(46,46,46,.35), inset 0 1px 0 rgba(255,255,255,.1) !important;
    transition: transform .2s, box-shadow .25s, filter .25s !important;
    border: 2px solid #C9A57F !important;
    text-shadow: 0 1px 2px rgba(0,0,0,.3) !important;
}
body .mk-welcome .mk-welcome__cta span,
body .mk-welcome a.mk-welcome__cta span { color: #FFFFFF !important; font-weight: 700 !important; }
body .mk-welcome .mk-welcome__cta svg,
body .mk-welcome a.mk-welcome__cta svg { color: #FFFFFF !important; stroke: #FFFFFF !important; flex-shrink: 0; }
body .mk-welcome .mk-welcome__cta:hover,
body .mk-welcome a.mk-welcome__cta:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 32px rgba(46,46,46,.5), inset 0 1px 0 rgba(255,255,255,.15) !important;
    background: linear-gradient(135deg, #C97064 0%, #A8826B 100%) !important;
    border-color: #FFFFFF !important;
}
.mk-welcome__skip {
    display: block;
    margin: 14px auto 0;
    background: none;
    border: none;
    color: #6B6258;
    font-size: 0.85em;
    cursor: pointer;
    text-decoration: underline;
}

/* Section Club MaisonKoz (3 tiers) */
.mk-club {
    background: linear-gradient(180deg, #FAF6F0 0%, #fff 100%);
    padding: 80px 0;
}
.mk-club__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
    margin: 40px 0 36px;
}
.mk-club__tier {
    background: #fff;
    border-radius: 20px;
    padding: 32px 28px;
    text-align: center;
    box-shadow: 0 8px 28px rgba(46,46,46,.06);
    border: 1px solid #F4EEE3;
    position: relative;
    transition: transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .35s;
}
.mk-club__tier:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px rgba(46,46,46,.12);
}
.mk-club__tier--featured {
    background: linear-gradient(180deg, #fff 0%, #FAF6F0 100%);
    border: 2px solid #C9A57F;
    transform: scale(1.04);
    box-shadow: 0 14px 36px rgba(201,165,127,.18);
}
.mk-club__tier--featured:hover { transform: translateY(-6px) scale(1.04); }
.mk-club__ribbon {
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, #C97064 0%, #A8826B 100%);
    color: #fff;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 0.75em;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    box-shadow: 0 4px 12px rgba(201,112,100,.3);
    white-space: nowrap;
}
.mk-club__badge {
    display: inline-block;
    font-family: 'Playfair Display', serif;
    font-size: 1.4em;
    font-weight: 600;
    color: #2E2E2E;
    padding: 6px 18px;
    background: #F4EEE3;
    border-radius: 999px;
    margin-bottom: 16px;
}
.mk-club__badge--premium {
    background: linear-gradient(135deg, #2E2E2E 0%, #4a4a4a 100%);
    color: #C9A57F;
}
.mk-club__tier--featured .mk-club__badge {
    background: linear-gradient(135deg, #C9A57F 0%, #A8826B 100%);
    color: #fff;
}
.mk-club__price {
    font-family: 'Playfair Display', serif;
    font-size: 1.5em;
    font-weight: 600;
    color: #C97064;
    margin: 0;
    display: block !important;
}

/* v4.1 — Nouveau layout 2 cartes (Free vs Premium 9.99€) */
.mk-club__grid--two {
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    max-width: 900px;
    margin: 40px auto 36px;
}
.mk-club__price-block {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 4px !important;
    margin: 18px 0 22px !important;
    padding: 18px 14px !important;
    background: linear-gradient(180deg, #FAF6F0 0%, #fff 100%) !important;
    border-radius: 14px !important;
    border: 1px solid #E5DCC9 !important;
}
.mk-club__price-big {
    display: block !important;
    font-family: 'Playfair Display', serif !important;
    font-size: 2.4em !important;
    font-weight: 600 !important;
    color: #C97064 !important;
    line-height: 1 !important;
}
.mk-club__price-cycle {
    display: block !important;
    font-size: 0.82em !important;
    color: #6B6258 !important;
    letter-spacing: 0.05em !important;
    margin-top: 2px !important;
}
.mk-club__intro {
    text-align: center !important;
    font-size: 0.92em !important;
    color: #6B6258 !important;
    margin: 0 0 16px !important;
    line-height: 1.5 !important;
}
.mk-club__cta {
    display: block !important;
    text-align: center !important;
    padding: 14px 20px !important;
    border-radius: 999px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    margin-top: 20px !important;
    transition: transform .2s, box-shadow .25s, filter .2s !important;
    font-size: 0.98em !important;
    letter-spacing: 0.02em !important;
}
.mk-club__cta--ghost {
    background: #FAF6F0 !important;
    color: #2E2E2E !important;
    border: 1.5px solid #C9A57F !important;
}
.mk-club__cta--ghost:hover {
    background: #fff !important;
    color: #2E2E2E !important;
    border-color: #C97064 !important;
    transform: translateY(-2px) !important;
}
.mk-club__cta--featured {
    background: linear-gradient(135deg, #2E2E2E 0%, #1a1a1a 100%) !important;
    color: #fff !important;
    border: 2px solid #C9A57F !important;
    box-shadow: 0 10px 24px rgba(46,46,46,.3), inset 0 1px 0 rgba(255,255,255,.1) !important;
    text-shadow: 0 1px 2px rgba(0,0,0,.3) !important;
}
.mk-club__cta--featured:hover {
    color: #fff !important;
    background: linear-gradient(135deg, #C97064 0%, #A8826B 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 32px rgba(201,112,100,.45) !important;
    border-color: #fff !important;
}
.mk-club__small {
    text-align: center !important;
    color: #6B6258 !important;
    font-size: 0.78em !important;
    margin: 12px 0 0 !important;
    font-style: italic !important;
    line-height: 1.4 !important;
}
.mk-club__tier--featured .mk-club__price-block {
    background: linear-gradient(180deg, #fff 0%, #FAF6F0 100%) !important;
    border-color: #C9A57F !important;
    box-shadow: 0 4px 12px rgba(201,165,127,.15) !important;
}
.mk-club__tier--featured .mk-club__price-big {
    background: linear-gradient(135deg, #C97064 0%, #A8826B 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

/* ============================================
   v4.2 — COUP DE CŒUR DU MOIS (spotlight)
   ============================================ */
.mk-spotlight {
    position: relative;
    padding: 100px 0;
    overflow: hidden;
    background: linear-gradient(180deg, #FAF6F0 0%, #fff 100%);
}
.mk-spotlight::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle at 20% 30%, rgba(201,165,127,0.08) 0, transparent 40%),
        radial-gradient(circle at 80% 70%, rgba(201,112,100,0.06) 0, transparent 40%);
    pointer-events: none;
}
.mk-spotlight__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
    position: relative;
}
.mk-spotlight__visual {
    position: relative;
    aspect-ratio: 4/5;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 30px 80px rgba(46,46,46,.18);
    background: #FAF6F0;
}
.mk-spotlight__img-wrap {
    position: absolute;
    inset: 0;
    overflow: hidden;
}
.mk-spotlight__img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    transition: transform .8s ease;
}
.mk-spotlight__visual:hover .mk-spotlight__img {
    transform: scale(1.05);
}
.mk-spotlight__stamp {
    position: absolute;
    bottom: 24px;
    left: 24px;
    background: #fff;
    color: #2E2E2E;
    padding: 16px 22px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    gap: 14px;
    box-shadow: 0 12px 32px rgba(0,0,0,.18);
    z-index: 3;
    border: 1.5px solid #C9A57F;
}
.mk-spotlight__stamp > span:first-child {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, #C97064 0%, #A8826B 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4em;
}
.mk-spotlight__stamp > span:nth-child(2) {
    font-family: 'Playfair Display', serif;
    font-weight: 600;
    line-height: 1.2;
    font-size: 0.95em;
}
.mk-spotlight__stamp small {
    font-family: 'Inter', sans-serif;
    color: #6B6258;
    font-weight: 500;
    font-size: 0.82em;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.mk-spotlight__content {
    padding: 24px 0;
}
.mk-spotlight__title {
    font-family: 'Playfair Display', serif;
    font-size: 2.4em;
    font-weight: 600;
    color: #2E2E2E;
    margin: 18px 0 14px;
    line-height: 1.15;
    letter-spacing: -1px;
}
.mk-spotlight__price {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 18px;
    font-family: 'Playfair Display', serif;
}
.mk-spotlight__price del,
.mk-spotlight__price del bdi {
    color: #A8A39B;
    font-size: 1.1em;
    text-decoration: line-through;
}
.mk-spotlight__price ins,
.mk-spotlight__price ins bdi {
    color: #C97064;
    font-size: 1.8em;
    font-weight: 700;
    text-decoration: none;
    font-style: normal;
}
.mk-spotlight__desc {
    color: #6B6258;
    font-size: 1.05em;
    line-height: 1.65;
    margin-bottom: 24px;
    max-width: 480px;
}
.mk-spotlight__quotes {
    position: relative;
    background: #fff;
    border-left: 3px solid #C9A57F;
    padding: 20px 24px 20px 50px;
    border-radius: 0 12px 12px 0;
    margin: 0 0 28px;
    box-shadow: 0 8px 24px rgba(46,46,46,.05);
}
.mk-spotlight__quotes p {
    margin: 0;
    color: #2E2E2E;
    font-style: italic;
    line-height: 1.6;
    font-size: 0.98em;
}
.mk-spotlight__quote-mark {
    position: absolute;
    top: 14px;
    left: 16px;
    font-family: 'Playfair Display', serif;
    font-size: 3em;
    color: #C9A57F;
    line-height: 1;
    font-weight: 700;
}
.mk-spotlight__actions {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}
@media (max-width: 900px) {
    .mk-spotlight { padding: 60px 0; }
    .mk-spotlight__grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .mk-spotlight__title { font-size: 1.9em; }
    .mk-spotlight__stamp {
        bottom: 16px; left: 16px;
        padding: 12px 16px;
    }
    .mk-spotlight__stamp > span:first-child { width: 36px; height: 36px; }
}

/* ============================================
   v4.3 — RATING SUMMARY, TESTIMONIALS+AVATAR
   ============================================ */
.mk-rating-summary {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-top: 22px;
    padding: 14px 24px;
    background: #fff;
    border-radius: 999px;
    box-shadow: 0 8px 24px rgba(46,46,46,.06);
    border: 1px solid #F4EEE3;
}
.mk-rating-summary__stars {
    display: flex;
    gap: 2px;
    color: #C97064;
    font-size: 1.15em;
    letter-spacing: -1px;
}
.mk-rating-summary__score {
    font-family: 'Playfair Display', serif;
    font-size: 1.5em;
    font-weight: 700;
    color: #2E2E2E;
}
.mk-rating-summary__count {
    color: #6B6258;
    font-size: 0.85em;
}
@media (max-width: 600px) {
    .mk-rating-summary { padding: 10px 16px; gap: 10px; }
    .mk-rating-summary__count { display: none; }
}

/* Testimonial card with avatar */
.mk-testimonial {
    background: #fff;
    border-radius: 18px;
    padding: 32px 28px;
    box-shadow: 0 8px 28px rgba(46,46,46,.06);
    border: 1px solid #F4EEE3;
    position: relative;
    transition: transform .3s, box-shadow .3s;
}
.mk-testimonial:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px rgba(46,46,46,.1);
}
.mk-testimonial__quote {
    position: absolute;
    top: 10px;
    right: 24px;
    font-family: 'Playfair Display', serif;
    font-size: 4.5em;
    color: #F4EEE3;
    line-height: 1;
    font-weight: 700;
    pointer-events: none;
    user-select: none;
}
.mk-testimonial__stars {
    color: #C97064;
    font-size: 1.1em;
    margin-bottom: 12px;
    letter-spacing: -1px;
    position: relative;
}
.mk-testimonial p {
    color: #2E2E2E;
    font-size: 1.02em;
    line-height: 1.65;
    margin: 0 0 22px;
    position: relative;
    z-index: 2;
}
.mk-testimonial p strong {
    color: #C97064;
    font-weight: 600;
}
.mk-testimonial footer {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 18px;
    border-top: 1px solid #F4EEE3;
}
.mk-testimonial__avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #C9A57F;
    flex-shrink: 0;
}
/* v4.5 — Remplacement avatar par initial */
.mk-testimonial__initial {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #C97064 0%, #A8826B 100%);
    color: #fff;
    font-family: 'Playfair Display', serif;
    font-size: 1.4em;
    font-weight: 700;
    box-shadow: 0 4px 12px rgba(201,112,100,.25);
    border: 2px solid #fff;
}
.mk-testimonial footer strong {
    display: block;
    color: #2E2E2E;
    font-weight: 600;
    font-size: 0.95em;
}
.mk-testimonial footer span {
    display: block;
    color: #6B6258;
    font-size: 0.82em;
    margin-top: 2px;
}

/* ============================================
   v4.3 — TABLEAU COMPARATIF
   ============================================ */
.mk-compare {
    padding: 80px 0;
    background: linear-gradient(180deg, #fff 0%, #FAF6F0 100%);
}
.mk-compare__table {
    margin: 40px auto 0;
    max-width: 880px;
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(46,46,46,.08);
    border: 1px solid #E5DCC9;
}
.mk-compare__row {
    display: grid !important;
    grid-template-columns: 1.5fr 1fr 1fr !important;
    border-bottom: 1px solid #F4EEE3;
}
.mk-compare__row:last-child { border-bottom: none; }
.mk-compare__cell {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.mk-compare__cell--feature {
    justify-content: flex-start !important;
}
.mk-compare__row--head {
    background: linear-gradient(180deg, #FAF6F0 0%, #fff 100%);
    border-bottom: 2px solid #C9A57F;
}
.mk-compare__cell {
    padding: 18px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #2E2E2E;
    font-size: 0.95em;
    line-height: 1.4;
}
.mk-compare__cell--feature {
    justify-content: flex-start;
    text-align: left;
    color: #6B6258;
    font-weight: 500;
}
.mk-compare__row--head .mk-compare__cell--feature { color: #2E2E2E; font-weight: 600; }
.mk-compare__cell--us {
    background: linear-gradient(180deg, rgba(201,165,127,0.08) 0%, rgba(201,112,100,0.04) 100%);
    border-left: 1px solid #F4EEE3;
    border-right: 1px solid #F4EEE3;
    font-weight: 600;
}
.mk-compare__brand {
    font-family: 'Playfair Display', serif;
    font-size: 1.3em;
    font-weight: 600;
    background: linear-gradient(135deg, #C97064 0%, #A8826B 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.mk-compare__yes {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: linear-gradient(135deg, #A8B5A0 0%, #6e8568 100%);
    color: #fff;
    font-weight: 700;
    font-size: 1.1em;
}
.mk-compare__no {
    color: #B9B0A6;
    font-size: 0.9em;
    font-style: italic;
}
@media (max-width: 700px) {
    .mk-compare__cell { padding: 14px 12px; font-size: 0.82em; }
    .mk-compare__brand { font-size: 1em; }
    .mk-compare__yes { width: 26px; height: 26px; font-size: 0.95em; }
}

/* ============================================
   v4.3 — FAQ ACCORDÉON
   ============================================ */
.mk-faq {
    padding: 80px 0;
    background: #fff;
}
.mk-faq__list {
    max-width: 800px;
    margin: 40px auto 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.mk-faq__item {
    background: #FAF6F0;
    border-radius: 14px;
    border: 1px solid #F4EEE3;
    overflow: hidden;
    transition: background .25s, border-color .25s, box-shadow .25s;
}
.mk-faq__item[open] {
    background: #fff;
    border-color: #C9A57F;
    box-shadow: 0 10px 28px rgba(46,46,46,.08);
}
.mk-faq__item summary {
    padding: 20px 24px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    font-weight: 600;
    color: #2E2E2E;
    font-size: 1.02em;
    list-style: none;
    transition: color .2s;
}
.mk-faq__item summary::-webkit-details-marker { display: none; }
.mk-faq__item summary:hover { color: #C97064; }
.mk-faq__item summary > span:first-child { flex: 1; line-height: 1.4; }
.mk-faq__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #fff;
    color: #C97064;
    font-size: 1.5em;
    line-height: 0;
    font-weight: 300;
    box-shadow: 0 2px 8px rgba(46,46,46,.06);
    transition: transform .35s cubic-bezier(.4,0,.2,1), background .25s;
    flex-shrink: 0;
}
.mk-faq__item[open] .mk-faq__toggle {
    transform: rotate(135deg);
    background: linear-gradient(135deg, #C97064 0%, #A8826B 100%);
    color: #fff;
}
.mk-faq__body {
    padding: 0 24px 24px;
    color: #2E2E2E;
    line-height: 1.65;
    animation: mk-faq-open .35s ease;
}
.mk-faq__body p { margin: 0; font-size: 0.96em; color: #2E2E2E; }
.mk-faq__body p strong { color: #C97064; font-weight: 600; }
@keyframes mk-faq-open {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 600px) {
    .mk-faq__item summary { padding: 16px 18px; font-size: 0.95em; }
    .mk-faq__body { padding: 0 18px 20px; }
}

/* ============================================
   v4.4 — PRESS MARQUEE infinite scroll
   ============================================ */
.mk-press {
    padding: 24px 0;
    background: #FAF6F0;
    border-top: 1px solid #F4EEE3;
    border-bottom: 1px solid #F4EEE3;
    overflow: hidden;
}
.mk-press__inner {
    display: flex;
    align-items: center;
    gap: 30px;
    max-width: 100vw;
}
.mk-press__label {
    flex-shrink: 0;
    font-size: 0.78em;
    color: #6B6258;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    padding-left: 30px;
    font-weight: 600;
    position: relative;
    z-index: 2;
    background: #FAF6F0;
    padding-right: 14px;
}
.mk-press__label::after {
    content: '';
    position: absolute;
    right: -40px;
    top: 0; bottom: 0;
    width: 40px;
    background: linear-gradient(90deg, #FAF6F0 0%, transparent 100%);
    pointer-events: none;
}
.mk-press__marquee {
    flex: 1;
    overflow: hidden;
    mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
}
.mk-press__track {
    display: inline-flex;
    align-items: center;
    gap: 28px;
    white-space: nowrap;
    animation: mk-press-scroll 40s linear infinite;
}
.mk-press__logo {
    font-family: 'Playfair Display', serif;
    font-size: 1.15em;
    color: #2E2E2E;
    font-style: italic;
    font-weight: 500;
    letter-spacing: 0.02em;
    flex-shrink: 0;
}
.mk-press__sep {
    color: #C9A57F;
    font-size: 0.9em;
    flex-shrink: 0;
}
@keyframes mk-press-scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
.mk-press:hover .mk-press__track { animation-play-state: paused; }
@media (max-width: 600px) {
    .mk-press__label { padding-left: 16px; font-size: 0.7em; }
    .mk-press__logo { font-size: 1em; }
}

/* ============================================
   v4.4 — SECTION ÉCONOMIES PREMIUM
   ============================================ */
.mk-savings {
    padding: 90px 0;
    background:
        linear-gradient(180deg, #fff 0%, #FAF6F0 100%),
        radial-gradient(circle at 80% 20%, rgba(201,165,127,0.05) 0, transparent 50%);
}
.mk-savings__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}
.mk-savings__visual {
    background: #fff;
    border-radius: 24px;
    padding: 36px 32px;
    box-shadow: 0 30px 80px rgba(46,46,46,.12);
    border: 1px solid #E5DCC9;
}
.mk-savings__chart { display: flex; flex-direction: column; gap: 24px; }
.mk-savings__bar { position: relative; }
.mk-savings__bar-label {
    font-size: 0.85em;
    color: #6B6258;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 8px;
}
.mk-savings__bar-fill {
    background: linear-gradient(90deg, #E5DCC9 0%, #C9A57F 100%);
    border-radius: 999px;
    padding: 14px 22px;
    color: #2E2E2E;
    font-weight: 700;
    font-family: 'Playfair Display', serif;
    font-size: 1.3em;
    transition: width 1.5s cubic-bezier(.4,0,.2,1);
    box-shadow: inset 0 2px 0 rgba(255,255,255,.2);
    position: relative;
    overflow: hidden;
}
.mk-savings__bar-fill--gold {
    background: linear-gradient(90deg, #C97064 0%, #A8826B 100%);
    color: #fff;
    box-shadow: inset 0 2px 0 rgba(255,255,255,.15), 0 4px 14px rgba(201,112,100,.3);
}
.mk-savings__bar-fill::after {
    content: '';
    position: absolute;
    top: 0; bottom: 0; left: 0;
    width: 100%;
    background: linear-gradient(90deg, transparent 0, rgba(255,255,255,.3) 50%, transparent 100%);
    transform: translateX(-100%);
    animation: mk-savings-shimmer 3s ease-in-out infinite;
}
@keyframes mk-savings-shimmer {
    0%, 100% { transform: translateX(-100%); }
    50% { transform: translateX(100%); }
}
.mk-savings__bar-amount { display: inline-block; }
.mk-savings__bar-note {
    font-size: 0.82em;
    color: #6B6258;
    margin-top: 6px;
    font-style: italic;
}
.mk-savings__total {
    margin-top: 12px;
    padding: 24px;
    background: linear-gradient(135deg, #2E2E2E 0%, #1a1a1a 100%);
    border-radius: 16px;
    text-align: center;
    color: #fff;
    border: 2px solid #C9A57F;
}
.mk-savings__total-label {
    display: block;
    font-size: 0.85em;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #C9A57F;
    font-weight: 600;
}
.mk-savings__total-amount {
    display: block;
    font-family: 'Playfair Display', serif;
    font-size: 3em;
    font-weight: 700;
    line-height: 1;
    margin: 8px 0;
    background: linear-gradient(135deg, #C9A57F 0%, #fff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.mk-savings__total-period {
    display: block;
    font-size: 0.88em;
    color: rgba(255,255,255,0.7);
}
.mk-savings__title {
    font-family: 'Playfair Display', serif;
    font-size: 2.4em;
    font-weight: 600;
    color: #2E2E2E;
    margin: 18px 0 18px;
    line-height: 1.1;
}
.mk-savings__title em {
    background: linear-gradient(135deg, #C97064 0%, #A8826B 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-style: italic;
}
.mk-savings__lead {
    color: #6B6258;
    font-size: 1.05em;
    line-height: 1.65;
    margin-bottom: 28px;
}
.mk-savings__lead strong { color: #C97064; }
.mk-savings__perks {
    list-style: none;
    padding: 0;
    margin: 0 0 30px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.mk-savings__perks li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: #fff;
    padding: 16px 18px;
    border-radius: 12px;
    border: 1px solid #F4EEE3;
}
.mk-savings__perk-icon {
    font-size: 1.6em;
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #FAF6F0;
    border-radius: 12px;
}
.mk-savings__perks li > div { flex: 1; }
.mk-savings__perks strong {
    display: block;
    color: #2E2E2E;
    font-weight: 700;
    margin-bottom: 4px;
    font-size: 0.98em;
}
.mk-savings__perks p {
    margin: 0;
    color: #6B6258;
    font-size: 0.88em;
    line-height: 1.45;
}
.mk-savings__perks p strong {
    color: #C97064;
    display: inline;
    margin: 0;
    font-size: 1em;
}
@media (max-width: 900px) {
    .mk-savings__grid { grid-template-columns: 1fr; gap: 36px; }
    .mk-savings__title { font-size: 1.9em; }
    .mk-savings__total-amount { font-size: 2.4em; }
}

/* ============================================
   v4.4 — TRACKING TIMELINE
   ============================================ */
.mk-tracking {
    padding: 90px 0;
    background: #fff;
}
.mk-tracking__line {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    margin: 60px auto 0;
    max-width: 1100px;
}
.mk-tracking__line::before {
    content: '';
    position: absolute;
    top: 26px;
    left: 8%;
    right: 8%;
    height: 2px;
    background:
        linear-gradient(90deg, #C97064 0%, #A8826B 25%, #C9A57F 50%, #A8B5A0 75%, #6e8568 100%);
    z-index: 0;
}
.mk-tracking__step {
    position: relative;
    text-align: center;
    z-index: 2;
}
.mk-tracking__icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #fff;
    color: #C97064;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 18px;
    border: 2px solid #C9A57F;
    box-shadow: 0 8px 22px rgba(46,46,46,.1);
    transition: transform .3s, box-shadow .3s;
}
.mk-tracking__step:hover .mk-tracking__icon {
    transform: translateY(-4px);
    box-shadow: 0 14px 28px rgba(201,112,100,.25);
    background: linear-gradient(135deg, #C97064 0%, #A8826B 100%);
    color: #fff;
}
.mk-tracking__num {
    display: inline-block;
    font-family: 'Playfair Display', serif;
    color: #C9A57F;
    font-size: 0.85em;
    letter-spacing: 0.15em;
    margin-bottom: 8px;
    font-weight: 600;
}
.mk-tracking__step h3 {
    font-family: 'Playfair Display', serif;
    font-size: 1.2em;
    color: #2E2E2E;
    margin: 0 0 8px;
    font-weight: 600;
}
.mk-tracking__step p {
    color: #6B6258;
    font-size: 0.88em;
    line-height: 1.55;
    margin: 0;
    padding: 0 10px;
}
@media (max-width: 800px) {
    .mk-tracking__line {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .mk-tracking__line::before {
        left: 50%;
        right: auto;
        top: 56px;
        bottom: 56px;
        width: 2px;
        height: auto;
        background: linear-gradient(180deg, #C97064 0%, #A8826B 25%, #C9A57F 50%, #A8B5A0 75%, #6e8568 100%);
    }
}

/* ============================================
   v4.5 — CHATBOT MaisonKoz
   ============================================ */

/* Chat FAB AU DESSUS du panier (24px) et du compte (92px) */
.mk-chat-fab-wrap {
    position: fixed !important;
    bottom: 162px !important;
    right: 24px !important;
    z-index: 10005 !important; /* AU DESSUS du popup welcome (10001) */
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}
.mk-chat-fab__hint {
    background: #2E2E2E;
    color: #fff;
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 0.85em;
    font-weight: 600;
    white-space: nowrap;
    box-shadow: 0 6px 20px rgba(46,46,46,.25);
    position: relative;
    animation: mk-hint-bounce 2s ease-in-out infinite;
    border: 2px solid #C9A57F;
}
.mk-chat-fab__hint::after {
    content: '';
    position: absolute;
    right: -6px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    width: 10px;
    height: 10px;
    background: #2E2E2E;
    border-right: 2px solid #C9A57F;
    border-top: 2px solid #C9A57F;
}
.mk-chat-fab-wrap.is-hint-hidden .mk-chat-fab__hint { display: none; }
@keyframes mk-hint-bounce {
    0%, 100% { transform: translateX(0); }
    50% { transform: translateX(-3px); }
}

/* FAB chatbot — fond blanc, icône robot terracotta */
.mk-chat-fab {
    position: relative;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: #fff !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C97064' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z'/><circle cx='8.5' cy='12' r='1.2' fill='%23C97064'/><circle cx='12' cy='12' r='1.2' fill='%23C97064'/><circle cx='15.5' cy='12' r='1.2' fill='%23C97064'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 28px 28px !important;
    color: #C97064 !important;
    border: 2px solid #C9A57F;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 22px rgba(46,46,46,.18), 0 2px 6px rgba(0,0,0,.06);
    transition: all .25s cubic-bezier(.34,1.56,.64,1);
}
.mk-chat-fab__emoji { display: none !important; }
.mk-chat-fab:hover, .mk-chat-fab.is-active {
    transform: translateY(-3px) scale(1.06);
    background-color: #C97064 !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z'/><circle cx='8.5' cy='12' r='1.2' fill='%23ffffff'/><circle cx='12' cy='12' r='1.2' fill='%23ffffff'/><circle cx='15.5' cy='12' r='1.2' fill='%23ffffff'/></svg>") !important;
    border-color: #fff;
    color: #fff !important;
    box-shadow: 0 14px 32px rgba(201,112,100,.4);
}
.mk-chat-fab__pulse {
    position: absolute;
    top: 6px;
    right: 8px;
    width: 12px;
    height: 12px;
    background: #A8B5A0;
    border-radius: 50%;
    border: 2px solid #fff;
    animation: mk-chat-pulse 1.8s ease-in-out infinite;
}
@keyframes mk-chat-pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(168,181,160,.7); }
    50% { box-shadow: 0 0 0 8px rgba(168,181,160,0); }
}
@media (max-width: 768px) {
    .mk-chat-fab-wrap { bottom: 140px !important; right: 16px !important; }
    .mk-chat-fab { width: 54px; height: 54px; }
    .mk-chat-fab__hint { display: none; }
}

/* Chat panel */
.mk-chat {
    position: fixed;
    bottom: 96px;
    right: 24px;
    width: 360px;
    max-width: calc(100vw - 32px);
    height: 540px;
    max-height: calc(100vh - 130px);
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 60px rgba(46,46,46,.24);
    z-index: 9999;
    transform: translateY(20px) scale(.94);
    opacity: 0;
    pointer-events: none;
    transform-origin: bottom right;
    transition: transform .35s cubic-bezier(.34,1.56,.64,1), opacity .25s;
    border: 1px solid #F4EEE3;
}
.mk-chat.is-open {
    transform: translateY(0) scale(1);
    opacity: 1;
    pointer-events: auto;
}
@media (max-width: 768px) {
    .mk-chat { bottom: 80px; right: 16px; left: 16px; max-width: none; width: auto; height: 70vh; }
}

/* Header */
.mk-chat__head {
    background: linear-gradient(135deg, #2E2E2E 0%, #1a1a1a 100%);
    color: #fff;
    padding: 16px 18px;
    display: flex;
    align-items: center;
    gap: 12px;
    border-bottom: 2px solid #C9A57F;
}
.mk-chat__avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: linear-gradient(135deg, #C97064 0%, #A8826B 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 0 0 3px rgba(201,165,127,.3);
}
.mk-chat__head-info { flex: 1; line-height: 1.3; }
.mk-chat__head-info strong {
    display: block;
    color: #fff;
    font-weight: 600;
    font-size: 0.98em;
    font-family: 'Playfair Display', serif;
}
.mk-chat__head-info span {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #C9A57F;
    font-size: 0.75em;
    margin-top: 2px;
}
.mk-chat__status-dot {
    width: 7px;
    height: 7px;
    background: #A8B5A0;
    border-radius: 50%;
    animation: mk-chat-pulse 1.8s ease-in-out infinite;
}
.mk-chat__close {
    background: rgba(255,255,255,0.1);
    color: #fff;
    border: none;
    cursor: pointer;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    transition: background .2s;
    font-size: 1em;
}
.mk-chat__close:hover { background: rgba(255,255,255,0.2); }

/* Messages */
.mk-chat__messages {
    flex: 1;
    overflow-y: auto;
    padding: 18px 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    background: #FAF6F0;
}
.mk-chat__msg {
    display: flex;
    max-width: 85%;
    animation: mk-msg-in .35s cubic-bezier(.34,1.56,.64,1);
}
@keyframes mk-msg-in {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}
.mk-chat__msg--bot { align-self: flex-start; }
.mk-chat__msg--user { align-self: flex-end; }
.mk-chat__bubble {
    padding: 12px 16px;
    border-radius: 18px;
    font-size: 0.92em;
    line-height: 1.5;
    color: #2E2E2E;
    word-wrap: break-word;
}
.mk-chat__msg--bot .mk-chat__bubble {
    background: #fff;
    border: 1px solid #F4EEE3;
    border-bottom-left-radius: 4px;
    box-shadow: 0 2px 6px rgba(46,46,46,.04);
}
.mk-chat__msg--user .mk-chat__bubble {
    background: linear-gradient(135deg, #C97064 0%, #A8826B 100%);
    color: #fff;
    border-bottom-right-radius: 4px;
}
.mk-chat__bubble strong { color: #C97064; font-weight: 600; }
.mk-chat__msg--user .mk-chat__bubble strong { color: #fff; }

/* Typing indicator */
.mk-chat__typing .mk-chat__bubble,
.mk-chat__typing { padding: 0; }
.mk-chat__typing {
    display: flex !important;
    gap: 4px;
    padding: 12px 16px;
    background: #fff;
    border-radius: 18px;
    border-bottom-left-radius: 4px;
    border: 1px solid #F4EEE3;
    width: 56px;
    align-items: center;
}
.mk-chat__typing span {
    width: 8px;
    height: 8px;
    background: #C9A57F;
    border-radius: 50%;
    animation: mk-typing 1.4s ease-in-out infinite;
}
.mk-chat__typing span:nth-child(2) { animation-delay: 0.2s; }
.mk-chat__typing span:nth-child(3) { animation-delay: 0.4s; }
@keyframes mk-typing {
    0%, 100% { opacity: 0.3; transform: translateY(0); }
    50% { opacity: 1; transform: translateY(-4px); }
}

/* Quick replies */
.mk-chat__quick {
    padding: 10px 14px;
    background: #fff;
    border-top: 1px solid #F4EEE3;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    max-height: 180px;
    overflow-y: auto;
}
.mk-chat__quick-btn {
    background: #FAF6F0;
    color: #2E2E2E;
    border: 1px solid #E5DCC9;
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 0.85em;
    cursor: pointer;
    transition: all .2s;
    font-weight: 500;
    text-decoration: none;
    display: inline-block;
}
.mk-chat__quick-btn:hover {
    background: #fff;
    border-color: #C97064;
    color: #C97064;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(201,112,100,.15);
}

/* Footer */
.mk-chat__footer {
    padding: 8px 14px;
    background: #fff;
    border-top: 1px solid #F4EEE3;
}
.mk-chat__footer small {
    display: block;
    text-align: center;
    color: #6B6258;
    font-size: 0.72em;
    line-height: 1.3;
}
.mk-chat__footer a {
    color: #C97064;
    text-decoration: none;
    font-weight: 600;
}
.mk-chat__footer a:hover { text-decoration: underline; }
.mk-club__sub {
    color: #6B6258;
    font-size: 0.85em;
    margin: 4px 0 20px;
    letter-spacing: 0.05em;
}

/* Nouveau : libellé "Niveau 1/2/3" */
.mk-club__step {
    display: inline-block;
    font-size: 0.7em;
    font-weight: 700;
    letter-spacing: 0.18em;
    color: #C9A57F;
    text-transform: uppercase;
    margin-bottom: 10px;
    padding: 4px 10px;
    border: 1px solid #E5DCC9;
    border-radius: 999px;
    background: rgba(250,246,240,0.5);
}
.mk-club__tier--featured .mk-club__step {
    background: rgba(255,255,255,0.8);
    color: #C97064;
    border-color: #C97064;
}
/* Bloc "Débloqué après" */
.mk-club__unlock {
    margin: 14px 0 22px;
    padding: 12px 14px;
    background: linear-gradient(180deg, #FAF6F0 0%, rgba(250,246,240,0.5) 100%);
    border-radius: 12px;
    border: 1px dashed #E5DCC9;
    text-align: center;
}
.mk-club__unlock-tag {
    display: block;
    font-size: 0.72em;
    color: #6B6258;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 4px;
    font-weight: 600;
}
.mk-club__unlock-help {
    display: block;
    font-size: 0.7em;
    color: #6B6258;
    margin-top: 4px;
    font-style: italic;
}
.mk-club__tier--featured .mk-club__unlock {
    background: linear-gradient(180deg, #fff 0%, #FAF6F0 100%);
    border-color: #C9A57F;
}
.mk-club__perks {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: left;
}
.mk-club__perks li {
    padding: 10px 0 10px 28px;
    border-bottom: 1px solid #F4EEE3;
    color: #2E2E2E;
    font-size: 0.92em;
    position: relative;
}
.mk-club__perks li:last-child { border-bottom: none; }
.mk-club__perks li::before {
    content: '✓';
    position: absolute;
    left: 4px;
    color: #A8B5A0;
    font-weight: 700;
}
.mk-club__perks li strong { color: #C97064; font-weight: 700; }

/* Hide default WC sale badge (we use our own) */
.woocommerce span.onsale,
.woocommerce-page span.onsale {
    display: none !important;
}

/* Bouton wishlist sur fiche produit */
.mk-wish {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255,255,255,0.95);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6B6258;
    box-shadow: 0 2px 8px rgba(46,46,46,.1);
    transition: all .2s;
    z-index: 5;
}
.mk-wish:hover { background: #fff; color: #C97064; transform: scale(1.1); }
.mk-wish.is-active { color: #C97064; background: #fff; }
.mk-wish.is-active svg { fill: #C97064; }
/* Si un badge --sale est top-right, on décale le wish vers le bas */
.woocommerce ul.products li.product:has(.mk-badge--sale) .mk-wish { top: 54px; }

/* ============================================
   MON COMPTE — Cards Club Essentiel + Premium
   ============================================ */
.mk-account-tiers {
    max-width: 1100px;
    margin: 30px auto 50px;
    padding: 0 16px;
}
.mk-account-tiers__head {
    text-align: center;
    margin-bottom: 30px;
}
.mk-account-tiers__title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(28px, 4vw, 40px);
    color: #2E2E2E;
    margin: 0 0 8px;
    font-weight: 700;
}
.mk-account-tiers__subtitle {
    font-size: 15px;
    color: #6B5E55;
    margin: 0;
}
.mk-account-tiers__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-bottom: 50px;
}
@media (max-width: 768px){
    .mk-account-tiers__grid { grid-template-columns: 1fr; gap: 18px; }
}
.mk-account-tier {
    position: relative;
    background: #FFF;
    border: 2px solid #E8DFD3;
    border-radius: 18px;
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
    transition: transform .25s ease, box-shadow .25s ease;
}
.mk-account-tier:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(46,46,46,.10);
}
.mk-account-tier--premium {
    background: linear-gradient(165deg, #FFF7F2 0%, #FBEDE2 100%);
    border-color: #C9A57F;
    box-shadow: 0 8px 24px rgba(201,165,127,.18);
}
.mk-account-tier__ribbon {
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, #C97064, #A8826B);
    color: #FFF;
    padding: 6px 18px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .4px;
    box-shadow: 0 4px 12px rgba(201,112,100,.3);
    white-space: nowrap;
}
.mk-account-tier__badge {
    display: inline-block;
    background: #2E2E2E;
    color: #FFF;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .3px;
    margin-bottom: 16px;
    align-self: flex-start;
}
.mk-account-tier--premium .mk-account-tier__badge {
    background: linear-gradient(135deg, #C97064, #A8826B);
}
.mk-account-tier__price {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 16px;
}
.mk-account-tier__price-big {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 48px;
    font-weight: 700;
    color: #2E2E2E;
    line-height: 1;
}
.mk-account-tier--premium .mk-account-tier__price-big {
    color: #C97064;
}
.mk-account-tier__price-cycle {
    font-size: 14px;
    color: #6B5E55;
    font-style: italic;
}
.mk-account-tier__intro {
    font-size: 14px;
    color: #4A4138;
    margin: 0 0 16px;
    line-height: 1.5;
}
.mk-account-tier__perks {
    list-style: none;
    padding: 0;
    margin: 0 0 24px;
    flex-grow: 1;
}
.mk-account-tier__perks li {
    position: relative;
    padding: 6px 0 6px 28px;
    font-size: 14px;
    color: #2E2E2E;
    line-height: 1.5;
}
.mk-account-tier__perks li::before {
    content: '✓';
    position: absolute;
    left: 0;
    top: 6px;
    color: #A8B5A0;
    font-weight: 700;
    font-size: 16px;
}
.mk-account-tier--premium .mk-account-tier__perks li::before {
    color: #C9A57F;
}
.mk-account-tier__cta {
    display: block;
    text-align: center;
    padding: 14px 24px;
    border-radius: 999px;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
    transition: all .25s ease;
    letter-spacing: .3px;
}
.mk-account-tier__cta--ghost {
    background: transparent;
    border: 2px solid #2E2E2E;
    color: #2E2E2E;
}
.mk-account-tier__cta--ghost:hover {
    background: #2E2E2E;
    color: #FFF;
}
.mk-account-tier__cta--featured {
    background: linear-gradient(135deg, #C97064 0%, #A8826B 100%);
    color: #FFF !important;
    border: 2px solid transparent;
    box-shadow: 0 6px 16px rgba(201,112,100,.3);
}
.mk-account-tier__cta--featured:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(201,112,100,.4);
}
.mk-account-tier__small {
    font-size: 12px;
    color: #8A7B6E;
    margin: 10px 0 0;
    text-align: center;
    font-style: italic;
}
.mk-account-tiers__separator {
    text-align: center;
    margin: 30px 0 24px;
    position: relative;
}
.mk-account-tiers__separator::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 1px;
    background: #E8DFD3;
    z-index: 0;
}
.mk-account-tiers__separator span {
    position: relative;
    background: #FAF6F0;
    padding: 0 20px;
    color: #6B5E55;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .5px;
    text-transform: uppercase;
}

/* ============================================
   CHECKOUT — Bouton "Valider la commande" XXL
   ============================================ */
/* Cible le bouton WC Blocks (nouveau checkout) */
.wc-block-components-checkout-place-order-button,
button.wc-block-components-checkout-place-order-button,
.wc-block-components-button.wc-block-components-checkout-place-order-button,
a[href*="checkout"].button,
#place_order,
.woocommerce-checkout #place_order {
    display: block !important;
    width: 100% !important;
    background: linear-gradient(135deg, #C97064 0%, #A8826B 100%) !important;
    color: #FFFFFF !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    letter-spacing: .5px !important;
    padding: 18px 28px !important;
    border: none !important;
    border-radius: 999px !important;
    cursor: pointer !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    box-shadow: 0 10px 28px rgba(201,112,100,.35) !important;
    transition: all .25s cubic-bezier(.34,1.56,.64,1) !important;
    text-align: center !important;
    line-height: 1.2 !important;
}
.wc-block-components-checkout-place-order-button:hover,
button.wc-block-components-checkout-place-order-button:hover,
#place_order:hover,
.woocommerce-checkout #place_order:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 36px rgba(201,112,100,.45) !important;
    filter: brightness(1.05) !important;
}
.wc-block-components-checkout-place-order-button:disabled {
    opacity: .65 !important;
    cursor: not-allowed !important;
    transform: none !important;
}
/* Le texte interne du bouton */
.wc-block-components-checkout-place-order-button__text {
    color: #FFF !important;
    font-size: 18px !important;
    font-weight: 700 !important;
}
/* Espace au-dessus pour bien le détacher des options express */
.wc-block-checkout__actions,
.wc-block-components-checkout-place-order-button {
    margin-top: 14px !important;
}
/* "OU" séparateur entre Apple/Google Pay et le bouton principal */
.wc-block-components-express-payment-continue-rule,
.wc-block-components-express-payment__title-container {
    margin: 18px 0 !important;
    font-weight: 600 !important;
    color: #6B5E55 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-size: 13px !important;
}

/* ============================================
   MON COMPTE — Masquer le 2ème formulaire d'inscription
   (les cards Club Essentiel/Premium en haut suffisent)
   ============================================ */
body.woocommerce-account .u-column2.col-2,
body.woocommerce-account .woocommerce-form-register,
body.woocommerce-account form.register {
    display: none !important;
}
/* Et on cache le titre "S'inscrire" associé */
body.woocommerce-account .col2-set > .u-column2 h2 {
    display: none !important;
}
/* On élargit la colonne login pour qu'elle prenne toute la largeur */
body.woocommerce-account .u-column1.col-1 {
    width: 100% !important;
    max-width: 600px !important;
    margin: 0 auto !important;
    float: none !important;
}

/* ============================================
   CHECKOUT — Bouton "Valider la commande" v2 BRUT FORCE
   Override toutes les surcharges WC Blocks
   ============================================ */
/* Le bouton lui-même (toutes variantes possibles) */
.wc-block-checkout__actions_row button,
.wc-block-checkout__actions_row a,
.wc-block-components-checkout-place-order-button,
button[class*="checkout-place-order"],
.wp-block-woocommerce-checkout .wc-block-components-button,
.wp-block-woocommerce-checkout button[type="submit"] {
    background: linear-gradient(135deg, #C97064 0%, #A8826B 100%) !important;
    background-color: #C97064 !important;
    background-image: linear-gradient(135deg, #C97064 0%, #A8826B 100%) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 999px !important;
    padding: 18px 30px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .5px !important;
    text-decoration: none !important;
    box-shadow: 0 10px 28px rgba(201,112,100,.35) !important;
    transition: all .25s cubic-bezier(.34,1.56,.64,1) !important;
    width: 100% !important;
    text-align: center !important;
    display: block !important;
    cursor: pointer !important;
    line-height: 1.2 !important;
    min-height: 56px !important;
}

/* Toutes les sous-classes pour le TEXTE interne */
.wc-block-checkout__actions_row button *,
.wc-block-checkout__actions_row a *,
.wc-block-components-checkout-place-order-button *,
button[class*="checkout-place-order"] *,
.wc-block-components-checkout-place-order-button__text {
    color: #FFFFFF !important;
    text-decoration: none !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

/* Hover */
.wc-block-checkout__actions_row button:hover,
.wc-block-components-checkout-place-order-button:hover,
button[class*="checkout-place-order"]:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 36px rgba(201,112,100,.45) !important;
    filter: brightness(1.06) !important;
}

/* ============================================
   MINI PANIER DRAWER — Boutons "Voir le panier" + "Commander"
   visibles avec fond terracotta
   ============================================ */
.mk-cart-drawer .woocommerce-mini-cart__buttons .button,
.mk-cart-drawer .button.wc-forward,
.mk-cart-drawer a.button,
.widget_shopping_cart_content .button,
.widget_shopping_cart_content a.wc-forward,
.mk-cart-drawer__body .button {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    padding: 14px 24px !important;
    margin: 8px 0 !important;
    border-radius: 999px !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    text-transform: uppercase !important;
    letter-spacing: .4px !important;
    text-decoration: none !important;
    box-shadow: 0 6px 16px rgba(201,112,100,.25) !important;
    transition: all .25s ease !important;
    line-height: 1.2 !important;
}

/* "Voir le panier" → version ghost (contour terracotta) */
.mk-cart-drawer .button.wc-forward:not(.checkout),
.mk-cart-drawer a.wc-forward:not(.checkout),
.widget_shopping_cart_content .button.wc-forward:not(.checkout),
.mk-cart-drawer__body a[href*="panier"]:not(.checkout),
.mk-cart-drawer__body a[href*="cart"]:not(.checkout) {
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
    background-image: none !important;
    color: #C97064 !important;
    border: 2px solid #C97064 !important;
    box-shadow: 0 4px 12px rgba(201,112,100,.15) !important;
}
.mk-cart-drawer .button.wc-forward:not(.checkout):hover,
.widget_shopping_cart_content .button.wc-forward:not(.checkout):hover {
    background: #C97064 !important;
    color: #FFFFFF !important;
}

/* "Commander" → version plein terracotta gradient */
.mk-cart-drawer .button.checkout,
.mk-cart-drawer a.checkout.wc-forward,
.widget_shopping_cart_content .button.checkout,
.widget_shopping_cart_content a.checkout.wc-forward {
    background: linear-gradient(135deg, #C97064 0%, #A8826B 100%) !important;
    background-color: #C97064 !important;
    background-image: linear-gradient(135deg, #C97064 0%, #A8826B 100%) !important;
    color: #FFFFFF !important;
    border: none !important;
}
.mk-cart-drawer .button.checkout:hover,
.widget_shopping_cart_content .button.checkout:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 28px rgba(201,112,100,.4) !important;
    filter: brightness(1.05) !important;
}

/* ============================================
   PAGE PANIER — Bouton "Valider la commande" 
   (proceed-to-checkout block) en terracotta
   ============================================ */
/* Container parent */
.wp-block-woocommerce-proceed-to-checkout-block {
    margin-top: 14px !important;
}
/* TOUS les éléments cliquables dans ce bloc */
.wp-block-woocommerce-proceed-to-checkout-block a,
.wp-block-woocommerce-proceed-to-checkout-block button,
.wp-block-woocommerce-proceed-to-checkout-block .wp-block-button__link,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button,
a.wc-block-cart__submit-button,
.wc-block-cart__submit-container a,
.wc-block-cart__submit-container button {
    display: block !important;
    width: 100% !important;
    background: linear-gradient(135deg, #C97064 0%, #A8826B 100%) !important;
    background-color: #C97064 !important;
    background-image: linear-gradient(135deg, #C97064 0%, #A8826B 100%) !important;
    color: #FFFFFF !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    letter-spacing: .5px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    padding: 18px 28px !important;
    border: none !important;
    border-radius: 999px !important;
    cursor: pointer !important;
    box-shadow: 0 10px 28px rgba(201,112,100,.35) !important;
    transition: all .25s cubic-bezier(.34,1.56,.64,1) !important;
    text-align: center !important;
    line-height: 1.2 !important;
    min-height: 56px !important;
}
/* Tous les enfants (span, text) du bouton → blanc, sans soulignement */
.wp-block-woocommerce-proceed-to-checkout-block a *,
.wp-block-woocommerce-proceed-to-checkout-block button *,
.wp-block-woocommerce-proceed-to-checkout-block .wp-block-button__link *,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button *,
a.wc-block-cart__submit-button * {
    color: #FFFFFF !important;
    text-decoration: none !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}
/* Hover */
.wp-block-woocommerce-proceed-to-checkout-block a:hover,
.wp-block-woocommerce-proceed-to-checkout-block button:hover,
.wp-block-woocommerce-proceed-to-checkout-block .wp-block-button__link:hover,
a.wc-block-cart__submit-button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 36px rgba(201,112,100,.45) !important;
    filter: brightness(1.06) !important;
}

/* ============================================
}
.mk-cart-drawer a.remove_from_cart_button:hover::before,
.mk-cart-drawer .mini_cart_item a.remove:hover::before,
.widget_shopping_cart_content a.remove_from_cart_button:hover::before {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='3 6 5 6 21 6'/><path d='M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6'/><path d='M10 11v6'/><path d='M14 11v6'/><path d='M9 6V4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2'/></svg>") !important;
}

/* Le bouton remove : ROND ROUGE avec X blanc dedans, gros et lisible */
.mk-cart-drawer a.remove_from_cart_button,
.mk-cart-drawer .mini_cart_item a.remove,
.widget_shopping_cart_content a.remove_from_cart_button,
.widget_shopping_cart_content .mini_cart_item a.remove,
.woocommerce-mini-cart a.remove {
    position: absolute !important;
    top: 50% !important;
    right: 12px !important;
    transform: translateY(-50%) !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background: #C97064 !important;
    background-color: #C97064 !important;
    background-image: none !important;
    border: 2px solid #FFFFFF !important;
    color: #FFFFFF !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 34px !important;
    text-align: center !important;
    text-decoration: none !important;
    box-shadow: 0 4px 12px rgba(201,112,100,.35), 0 0 0 2px rgba(201,112,100,.15) !important;
    transition: all .2s ease !important;
    z-index: 10 !important;
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    opacity: 1 !important;
}

/* Hover : grossit + plus sombre */
.mk-cart-drawer a.remove_from_cart_button:hover,
.mk-cart-drawer .mini_cart_item a.remove:hover,
.widget_shopping_cart_content a.remove_from_cart_button:hover,
.widget_shopping_cart_content .mini_cart_item a.remove:hover,
.woocommerce-mini-cart a.remove:hover {
    background: #A8473A !important;
    background-color: #A8473A !important;
    transform: translateY(-50%) scale(1.12) rotate(90deg) !important;
    box-shadow: 0 6px 20px rgba(201,112,100,.5) !important;
}

/* ============================================
   MINI PANIER — Bouton "Supprimer" : icône POUBELLE blanche sur fond terracotta
   ============================================ */
.mk-cart-drawer .woocommerce-mini-cart-item,
.widget_shopping_cart_content .mini_cart_item {
    position: relative !important;
    padding-right: 56px !important;
    padding-left: 8px !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}

.mk-cart-drawer a.remove_from_cart_button,
.mk-cart-drawer .mini_cart_item a.remove,
.widget_shopping_cart_content a.remove_from_cart_button,
.widget_shopping_cart_content .mini_cart_item a.remove,
.woocommerce-mini-cart a.remove {
    position: absolute !important;
    top: 50% !important;
    right: 12px !important;
    transform: translateY(-50%) !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background-color: #C97064 !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><polyline points='3 6 5 6 21 6'/><path d='M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6'/><path d='M10 11v6'/><path d='M14 11v6'/><path d='M9 6V4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 20px 20px !important;
    border: 2px solid #FFFFFF !important;
    /* hide the original × text */
    color: transparent !important;
    font-size: 0 !important;
    text-indent: -9999px !important;
    overflow: hidden !important;
    text-decoration: none !important;
    box-shadow: 0 4px 12px rgba(201,112,100,.35), 0 0 0 2px rgba(201,112,100,.15) !important;
    transition: all .2s ease !important;
    z-index: 10 !important;
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    opacity: 1 !important;
}

/* Cache aussi tout enfant textuel */
.mk-cart-drawer a.remove_from_cart_button *,
.widget_shopping_cart_content a.remove_from_cart_button *,
.woocommerce-mini-cart a.remove * {
    visibility: hidden !important;
    color: transparent !important;
    font-size: 0 !important;
}

/* Hover : agrandit + assombrit */
.mk-cart-drawer a.remove_from_cart_button:hover,
.mk-cart-drawer .mini_cart_item a.remove:hover,
.widget_shopping_cart_content a.remove_from_cart_button:hover,
.widget_shopping_cart_content .mini_cart_item a.remove:hover,
.woocommerce-mini-cart a.remove:hover {
    background-color: #A8473A !important;
    transform: translateY(-50%) scale(1.12) !important;
    box-shadow: 0 6px 20px rgba(201,112,100,.5) !important;
}

/* ============================================
   POPUP BIENVENUE — 2 plans : Gratuit + Premium
   ============================================ */
.mk-welcome__plans {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin: 20px 0 16px;
    text-align: left;
}
@media (max-width: 600px) {
    .mk-welcome__plans { grid-template-columns: 1fr; gap: 12px; }
}
.mk-welcome__plan {
    position: relative;
    border-radius: 16px;
    padding: 18px 16px 16px;
    background: #FFF;
    border: 2px solid #E8DFD3;
    display: flex;
    flex-direction: column;
}
.mk-welcome__plan--premium {
    background: linear-gradient(165deg, #FFF7F2 0%, #FBEDE2 100%);
    border-color: #C9A57F;
    box-shadow: 0 8px 24px rgba(201,165,127,.18);
}
.mk-welcome__plan-ribbon {
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, #C97064, #A8826B);
    color: #FFF;
    padding: 4px 14px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .3px;
    box-shadow: 0 3px 8px rgba(201,112,100,.3);
    white-space: nowrap;
}
.mk-welcome__plan-head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 10px;
}
.mk-welcome__plan-badge {
    display: inline-block;
    background: #2E2E2E;
    color: #FFF;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .3px;
}
.mk-welcome__plan-badge--premium {
    background: linear-gradient(135deg, #C97064, #A8826B);
}
.mk-welcome__plan-price {
    display: flex;
    align-items: baseline;
    gap: 6px;
}
.mk-welcome__plan-price strong {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 28px;
    color: #2E2E2E;
    font-weight: 700;
    line-height: 1;
}
.mk-welcome__plan--premium .mk-welcome__plan-price strong {
    color: #C97064;
}
.mk-welcome__plan-price small {
    font-size: 11px;
    color: #6B5E55;
    font-style: italic;
}
.mk-welcome__plan .mk-welcome__perks {
    list-style: none;
    padding: 0;
    margin: 0 0 14px;
    flex-grow: 1;
}
.mk-welcome__plan .mk-welcome__perks li {
    font-size: 12.5px;
    color: #4A4138;
    padding: 4px 0;
    line-height: 1.45;
}
.mk-welcome__cta--ghost {
    background: transparent !important;
    border: 2px solid #2E2E2E !important;
    color: #2E2E2E !important;
    box-shadow: none !important;
}
.mk-welcome__cta--ghost:hover {
    background: #2E2E2E !important;
    color: #FFF !important;
}
.mk-welcome__cta--featured {
    background: linear-gradient(135deg, #C97064 0%, #A8826B 100%) !important;
    color: #FFF !important;
    border: none !important;
    box-shadow: 0 6px 18px rgba(201,112,100,.35) !important;
}
.mk-welcome__cta--featured:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(201,112,100,.45) !important;
}
/* Réajuste la taille des CTAs dans le popup pour rester proportionnés */
.mk-welcome__plan .mk-welcome__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 11px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    width: 100%;
    box-sizing: border-box;
    transition: all .25s ease;
}

/* ============================================
   PRODUIT — Trust badges sous le bouton d'achat
   ============================================ */
.mk-trust-badges {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin: 24px 0 20px;
    padding: 20px;
    background: linear-gradient(180deg, #FAF6F0 0%, #F4EDE2 100%);
    border-radius: 16px;
    border: 1px solid #E8DFD3;
}
@media (max-width: 540px){
    .mk-trust-badges { grid-template-columns: 1fr; padding: 16px; gap: 12px; }
}
.mk-trust-badge {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 6px 0;
}
.mk-trust-badge svg {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    color: #C97064;
    background: #FFF;
    padding: 6px;
    border-radius: 50%;
    box-shadow: 0 3px 8px rgba(46,46,46,.06);
}
.mk-trust-badge__txt {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.mk-trust-badge__txt strong {
    font-size: 13.5px;
    font-weight: 600;
    color: #2E2E2E;
    line-height: 1.3;
}
.mk-trust-badge__txt span {
    font-size: 12px;
    color: #6B5E55;
    line-height: 1.3;
}

/* ============================================
   PRODUIT — Section "Pourquoi nous choisir"
   ============================================ */
.mk-product-why {
    max-width: 1100px;
    margin: 60px auto;
    padding: 40px 24px;
    background: #FFFFFF;
    border-radius: 24px;
    text-align: center;
    border: 1px solid #E8DFD3;
}
.mk-product-why__title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(24px, 3.5vw, 36px);
    font-weight: 700;
    color: #2E2E2E;
    margin: 0 0 32px;
}
.mk-product-why__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
@media (max-width: 900px){
    .mk-product-why__grid { grid-template-columns: 1fr 1fr; gap: 18px; }
}
@media (max-width: 500px){
    .mk-product-why__grid { grid-template-columns: 1fr; }
}
.mk-product-why__item {
    padding: 18px 12px;
    background: #FAF6F0;
    border-radius: 16px;
    transition: transform .25s ease;
}
.mk-product-why__item:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(46,46,46,.08);
}
.mk-product-why__icon {
    font-size: 36px;
    margin-bottom: 10px;
    line-height: 1;
}
.mk-product-why__item h3 {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 17px;
    font-weight: 700;
    color: #2E2E2E;
    margin: 0 0 8px;
}
.mk-product-why__item p {
    font-size: 13.5px;
    color: #6B5E55;
    margin: 0;
    line-height: 1.5;
}

/* ============================================
   HOME — Stat "Nouveautés cette semaine"
   ============================================ */
.mk-stat--new {
    position: relative;
}
.mk-stat--new .mk-stat__num {
    background: linear-gradient(135deg, #C97064 0%, #A8826B 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.mk-stat--new::after {
    content: '✦ NEW';
    position: absolute;
    top: -10px;
    right: -8px;
    background: linear-gradient(135deg, #C97064 0%, #A8826B 100%);
    color: #FFF;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    padding: 3px 8px;
    border-radius: 999px;
    box-shadow: 0 3px 8px rgba(201,112,100,.3);
}

/* ============================================
   HOME — Section "Nouveautés de la semaine"
   ============================================ */
.mk-new-arrivals {
    background: linear-gradient(180deg, #FFFFFF 0%, #FAF6F0 100%);
    padding: 80px 0;
    position: relative;
}
.mk-new-arrivals__badge {
    display: inline-block;
    background: linear-gradient(135deg, #C97064 0%, #A8826B 100%);
    color: #FFF;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    margin-right: 6px;
}
.mk-new-arrivals__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-top: 40px;
}
@media (max-width: 900px){
    .mk-new-arrivals__grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }
}
@media (max-width: 480px){
    .mk-new-arrivals__grid { grid-template-columns: 1fr; }
}
.mk-new-arrivals__card {
    position: relative;
    background: #FFFFFF;
    border-radius: 18px;
    overflow: hidden;
    text-decoration: none !important;
    color: #2E2E2E;
    box-shadow: 0 4px 16px rgba(46,46,46,.06);
    transition: all .3s cubic-bezier(.34,1.56,.64,1);
    display: flex;
    flex-direction: column;
}
.mk-new-arrivals__card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 40px rgba(46,46,46,.15);
}
.mk-new-arrivals__ribbon {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    background: linear-gradient(135deg, #C97064 0%, #A8826B 100%);
    color: #FFF;
    padding: 5px 12px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.2px;
    box-shadow: 0 4px 10px rgba(201,112,100,.35);
    text-transform: uppercase;
}
.mk-new-arrivals__img-wrap {
    aspect-ratio: 1;
    overflow: hidden;
    background: #F4EDE2;
}
.mk-new-arrivals__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}
.mk-new-arrivals__card:hover .mk-new-arrivals__img {
    transform: scale(1.07);
}
.mk-new-arrivals__body {
    padding: 16px 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex-grow: 1;
    justify-content: space-between;
}
.mk-new-arrivals__title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 15px;
    font-weight: 600;
    color: #2E2E2E;
    margin: 0;
    line-height: 1.35;
    min-height: 2.7em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.mk-new-arrivals__price {
    font-size: 15px;
    font-weight: 700;
    color: #C97064;
}
.mk-new-arrivals__price del {
    color: #A0958A;
    font-weight: 400;
    margin-right: 6px;
    font-size: 13px;
}
.mk-new-arrivals__price ins {
    text-decoration: none;
    color: #C97064;
}
.mk-new-arrivals__more {
    text-align: center;
    margin-top: 40px;
}

/* ============================================
   MON COMPTE — Bannière "Gérer mon abonnement Premium"
   ============================================ */
.mk-premium-portal {
    background: linear-gradient(135deg, #FFF7F2 0%, #FBEDE2 100%);
    border: 2px solid #C9A57F;
    border-radius: 18px;
    padding: 22px 24px;
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
    box-shadow: 0 8px 24px rgba(201,165,127,.15);
}
.mk-premium-portal__icon {
    font-size: 36px;
    flex-shrink: 0;
}
.mk-premium-portal__body {
    flex: 1;
    min-width: 240px;
}
.mk-premium-portal__title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 19px;
    font-weight: 700;
    color: #2E2E2E;
    margin: 0 0 6px;
}
.mk-premium-portal__txt {
    font-size: 14px;
    color: #6B5E55;
    margin: 0;
    line-height: 1.5;
}
.mk-premium-portal__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #C97064 0%, #A8826B 100%);
    color: #FFF !important;
    text-decoration: none !important;
    padding: 13px 22px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .3px;
    box-shadow: 0 6px 18px rgba(201,112,100,.3);
    transition: all .25s ease;
    flex-shrink: 0;
}
.mk-premium-portal__btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(201,112,100,.4);
}
@media (max-width: 540px){
    .mk-premium-portal { flex-direction: column; text-align: center; }
}
