/*
Theme Name: Moroccan Aura
Theme URI: https://moroccanaura.fr
Description: Thème enfant Storefront sur-mesure pour Moroccan Aura — cosmétiques traditionnels marocains. Direction artistique « beauté luxe / rituel hammam » : terracotta, or doux, lin chaud, Cormorant Garamond & Montserrat, slider avant/après interactif, reveals au scroll, micro-interactions soignées. Compatible WooCommerce.
Author: Automiatik
Author URI: https://automiatik.com
Template: storefront
Version: 3.0.0
Text Domain: moroccan-aura
*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600&family=Montserrat:wght@200;300;400;500;600;700&display=swap');

:root{
  --ma-ink:#1a1a1a; --ma-ink-warm:#211d18; --ma-loam:#2a2520; --ma-charcoal:#4a423a;
  --ma-terracotta:#9e4b2e; --ma-terracotta-dk:#7d3a23; --ma-olive:#5a5a40;
  --ma-clay:#a18a72; --ma-gold:#c4a267; --ma-gold-600:#b08e55; --ma-gold-300:#ddd0b4;
  --ma-stone:#ded7ce; --ma-sand:#e3dec9; --ma-linen:#ebe7e0; --ma-light:#f0ece5; --ma-base:#f5f2ed;
  --ma-shadow:0 40px 80px -35px rgba(42,37,32,.5);
  --ma-shadow-sm:0 18px 40px -28px rgba(42,37,32,.4);
  --ma-ease:cubic-bezier(.22,.61,.36,1);
}

*{ box-sizing:border-box; }
body,.site{ background:var(--ma-base); color:var(--ma-ink); font-family:"Montserrat",sans-serif; font-weight:300; -webkit-font-smoothing:antialiased; line-height:1.6; }
h1,h2,h3,h4,h5,h6,.page-title,.entry-title,.product_title,.products h2{ font-family:"Cormorant Garamond",serif !important; font-weight:500; letter-spacing:.005em; color:var(--ma-ink); }
a{ color:var(--ma-terracotta); text-decoration:none; transition:color .3s var(--ma-ease); }
a:hover{ color:var(--ma-gold-600); }
img{ display:block; max-width:100%; }
::selection{ background:var(--ma-gold); color:var(--ma-ink); }

/* HEADER */
.site-header{ background:rgba(245,242,237,.9) !important; backdrop-filter:blur(12px); border-bottom:1px solid rgba(196,162,103,.22); position:sticky; top:0; z-index:50; }
.site-header *{ color:var(--ma-ink) !important; }
.site-title a{ font-family:"Cormorant Garamond",serif; font-weight:600; letter-spacing:.06em; font-size:1.7rem; }
.main-navigation ul li a{ font-family:"Montserrat",sans-serif; font-size:.72rem; text-transform:uppercase; letter-spacing:.18em; font-weight:500; }
.main-navigation ul li a:hover{ color:var(--ma-terracotta) !important; }

/* BOUTONS */
.button,button,input[type="submit"],
.woocommerce a.button,.woocommerce button.button,.woocommerce #respond input#submit,
.woocommerce .single_add_to_cart_button{
  background:var(--ma-gold) !important; color:var(--ma-ink) !important;
  font-family:"Montserrat",sans-serif !important; font-weight:600 !important;
  text-transform:uppercase; letter-spacing:.18em; font-size:.7rem !important;
  border:none !important; border-radius:2px !important; padding:1em 2.2em !important;
  transition:all .4s var(--ma-ease); cursor:pointer; line-height:1.2 !important;
}
.button:hover,button:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce .single_add_to_cart_button:hover{ background:var(--ma-gold-600) !important; transform:translateY(-2px); box-shadow:0 14px 28px -14px rgba(158,75,46,.55); }
.woocommerce ul.products li.product .button{ background:var(--ma-terracotta) !important; color:#fff !important; }
.woocommerce ul.products li.product .button:hover{ background:var(--ma-terracotta-dk) !important; }

/* PRIX */
.woocommerce .price,.woocommerce div.product p.price,.woocommerce ul.products li.product .price{ color:var(--ma-terracotta); font-family:"Cormorant Garamond",serif; font-weight:600; font-size:1.4rem; }
.woocommerce div.product p.price del,.woocommerce ul.products li.product .price del{ color:var(--ma-clay); font-weight:400; opacity:.7; }

/* CARTES PRODUITS */
.woocommerce ul.products li.product{ background:#fff; padding:0 0 1.8rem; border:1px solid rgba(196,162,103,.16); border-radius:6px; overflow:hidden; transition:box-shadow .5s var(--ma-ease),transform .5s var(--ma-ease); text-align:center; }
.woocommerce ul.products li.product:hover{ box-shadow:var(--ma-shadow); transform:translateY(-8px); }
.woocommerce ul.products li.product a img{ margin:0 0 1.2rem; width:100%; aspect-ratio:1/1; object-fit:cover; transition:transform .8s var(--ma-ease); }
.woocommerce ul.products li.product:hover a img{ transform:scale(1.05); }
.woocommerce ul.products li.product .woocommerce-loop-product__title{ font-family:"Cormorant Garamond",serif; font-size:1.35rem; padding:0 1.2rem; color:var(--ma-ink); line-height:1.25; }
.woocommerce ul.products li.product .button{ margin-top:.8rem; }
.woocommerce span.onsale{ background:var(--ma-terracotta); color:#fff; font-family:"Montserrat"; font-weight:600; text-transform:uppercase; letter-spacing:.1em; font-size:.58rem; min-height:auto; min-width:auto; padding:.45em .9em; border-radius:2px; top:12px; left:12px; }

/* FOOTER */
.site-footer{ background:var(--ma-ink) !important; color:var(--ma-stone) !important; }
.site-footer *{ color:var(--ma-stone) !important; }
.site-footer a{ color:var(--ma-gold) !important; }

/* SCROLLBAR */
::-webkit-scrollbar{ width:8px; }
::-webkit-scrollbar-track{ background:var(--ma-base); }
::-webkit-scrollbar-thumb{ background:var(--ma-terracotta); border-radius:4px; }
::-webkit-scrollbar-thumb:hover{ background:var(--ma-gold); }

/* ============================================================
   HOME
   ============================================================ */
.ma-home{ overflow-x:hidden; }
.ma-reveal{ opacity:0; transform:translateY(34px); transition:opacity 1.1s var(--ma-ease),transform 1.1s var(--ma-ease); }
.ma-reveal.is-visible{ opacity:1; transform:none; }
.ma-reveal[data-delay="1"]{ transition-delay:.12s; }
.ma-reveal[data-delay="2"]{ transition-delay:.24s; }
.ma-reveal[data-delay="3"]{ transition-delay:.36s; }

/* HERO */
.ma-hero{ position:relative; min-height:100vh; display:flex; align-items:center; justify-content:center; text-align:center; overflow:hidden; color:#fff; }
.ma-hero__bg{ position:absolute; inset:0; background-size:cover; background-position:center; transform:scale(1.08); animation:maZoom 20s var(--ma-ease) forwards; }
@keyframes maZoom{ to{ transform:scale(1); } }
.ma-hero__overlay{ position:absolute; inset:0; background:linear-gradient(to top,rgba(26,26,26,.95),rgba(33,29,24,.55) 48%,rgba(26,26,26,.55)); }
.ma-hero__dust{ position:absolute; inset:0; opacity:.4; pointer-events:none; background-image:radial-gradient(rgba(158,75,46,.16) 1px,transparent 0); background-size:26px 26px; }
.ma-hero__steam{ position:absolute; border-radius:50%; filter:blur(130px); pointer-events:none; }
.ma-hero__steam--1{ top:22%; left:6%; width:44vw; height:44vh; background:rgba(234,223,204,.12); animation:maSteam 9s ease-in-out infinite; }
.ma-hero__steam--2{ bottom:16%; right:6%; width:50vw; height:38vh; background:rgba(196,162,103,.12); animation:maSteam 9s ease-in-out infinite 3.5s; }
@keyframes maSteam{ 0%,100%{ transform:translateY(0) scale(1); opacity:.14; } 50%{ transform:translateY(-14px) scale(1.07); opacity:.42; } }
.ma-hero__inner{ position:relative; z-index:3; max-width:1020px; padding:7rem 1.5rem 5rem; }
.ma-hero__badge{ display:inline-flex; align-items:center; gap:.55rem; padding:.6rem 1.3rem; margin-bottom:2.2rem; border:1px solid rgba(196,162,103,.5); border-radius:999px; background:rgba(26,26,26,.35); backdrop-filter:blur(8px); font-size:.6rem; letter-spacing:.3em; text-transform:uppercase; color:var(--ma-gold-300); animation:maFade 1s var(--ma-ease) both; }
.ma-hero__badge::before{ content:"✦"; color:var(--ma-gold); font-size:.7rem; }
.ma-hero__title{ font-family:"Cormorant Garamond",serif !important; font-weight:500; color:#fff !important; font-size:clamp(2.6rem,6vw,5.4rem); line-height:1.05; margin:0 0 1rem; animation:maFade 1.1s var(--ma-ease) .15s both; }
.ma-hero__title-en{ font-family:"Cormorant Garamond",serif; font-style:italic; font-weight:300; color:var(--ma-sand); font-size:clamp(1.2rem,2.7vw,2.2rem); margin-bottom:2rem; opacity:.92; animation:maFade 1.1s var(--ma-ease) .3s both; }
.ma-hero__sub{ max-width:640px; margin:0 auto 2.8rem; line-height:1.9; color:var(--ma-linen); opacity:.92; font-size:1.02rem; font-weight:300; animation:maFade 1.1s var(--ma-ease) .45s both; }
.ma-hero__cta{ display:inline-flex; align-items:center; gap:.7rem; background:var(--ma-gold); color:var(--ma-ink) !important; font-weight:600; text-transform:uppercase; letter-spacing:.2em; font-size:.72rem; padding:1.15em 3em; border-radius:2px; transition:all .4s var(--ma-ease); animation:maFade 1.1s var(--ma-ease) .6s both; }
.ma-hero__cta:hover{ background:var(--ma-gold-600); transform:translateY(-3px); box-shadow:0 20px 40px -16px rgba(196,162,103,.6); }
@keyframes maFade{ from{ opacity:0; transform:translateY(16px); } to{ opacity:1; transform:none; } }
.ma-trust{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.4rem; max-width:860px; margin:4rem auto 0; padding-top:2.2rem; border-top:1px solid rgba(255,255,255,.14); animation:maFade 1.1s var(--ma-ease) .75s both; }
@media(min-width:900px){ .ma-trust{ grid-template-columns:repeat(4,1fr); } }
.ma-trust__v{ display:block; font-family:"Cormorant Garamond",serif; color:#fff; font-size:1.15rem; margin-bottom:.25rem; }
.ma-trust__l{ text-transform:uppercase; letter-spacing:.14em; font-size:.58rem; color:var(--ma-gold-300); }
.ma-scrollhint{ position:absolute; bottom:1.8rem; left:50%; transform:translateX(-50%); z-index:3; color:var(--ma-gold-300); font-size:.58rem; letter-spacing:.22em; text-transform:uppercase; animation:maBob 2.6s ease-in-out infinite; }
@keyframes maBob{ 0%,100%{ transform:translateX(-50%) translateY(0); opacity:.5; } 50%{ transform:translateX(-50%) translateY(7px); opacity:1; } }

/* SECTIONS */
.ma-section{ max-width:1200px; margin:0 auto; padding:7rem 1.5rem; }
.ma-eyebrow{ text-align:center; text-transform:uppercase; letter-spacing:.32em; font-size:.64rem; color:var(--ma-terracotta); margin-bottom:1rem; }
.ma-h2{ text-align:center; font-family:"Cormorant Garamond",serif; font-weight:500; font-size:clamp(2.1rem,4.2vw,3.4rem); color:var(--ma-ink); margin:0 0 1.2rem; line-height:1.12; }
.ma-intro{ text-align:center; max-width:660px; margin:0 auto 3.6rem; line-height:1.9; color:var(--ma-charcoal); font-weight:300; }

/* SPOTLIGHT */
.ma-spot{ position:relative; display:grid; grid-template-columns:1fr; background:#fff; border:1px solid rgba(196,162,103,.2); border-radius:10px; overflow:hidden; box-shadow:var(--ma-shadow); }
@media(min-width:900px){ .ma-spot{ grid-template-columns:1.05fr 1fr; } }
.ma-spot__media{ position:relative; overflow:hidden; min-height:460px; }
.ma-spot__media img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ma-ease); }
.ma-spot:hover .ma-spot__media img{ transform:scale(1.06); }
.ma-spot__body{ padding:3.6rem; display:flex; flex-direction:column; justify-content:center; }
.ma-spot__tag{ text-transform:uppercase; letter-spacing:.26em; font-size:.6rem; color:var(--ma-gold-600); margin-bottom:1.1rem; }
.ma-spot__body h3{ font-family:"Cormorant Garamond",serif; font-size:2.5rem; margin:0 0 1.3rem; color:var(--ma-ink); line-height:1.12; }
.ma-spot__body p{ line-height:1.9; color:var(--ma-charcoal); font-weight:300; margin-bottom:2rem; }

/* RITUEL */
.ma-ritual{ background:var(--ma-ink-warm); color:#fff; padding:7rem 1.5rem; position:relative; overflow:hidden; }
.ma-ritual__dust{ position:absolute; inset:0; opacity:.2; background-image:radial-gradient(rgba(196,162,103,.32) 1px,transparent 0); background-size:28px 28px; }
.ma-ritual .ma-h2{ color:#fff; } .ma-ritual .ma-eyebrow{ color:var(--ma-gold); } .ma-ritual .ma-intro{ color:var(--ma-stone); }
.ma-steps{ position:relative; z-index:2; max-width:1140px; margin:0 auto; display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:1.5rem; }
.ma-step{ background:rgba(255,255,255,.045); border:1px solid rgba(196,162,103,.22); border-radius:10px; overflow:hidden; transition:transform .5s var(--ma-ease),border-color .5s var(--ma-ease),box-shadow .5s var(--ma-ease); }
.ma-step:hover{ transform:translateY(-8px); border-color:var(--ma-gold); box-shadow:0 30px 60px -30px rgba(0,0,0,.6); }
.ma-step__img{ width:100%; height:180px; object-fit:cover; filter:saturate(.94); }
.ma-step__body{ padding:1.6rem; }
.ma-step__num{ font-family:"Cormorant Garamond",serif; font-size:1.05rem; color:var(--ma-gold); letter-spacing:.12em; }
.ma-step__body h4{ font-family:"Cormorant Garamond",serif !important; color:#fff !important; font-size:1.45rem; margin:.35rem 0 .55rem; }
.ma-step__body p{ color:var(--ma-stone); font-size:.85rem; line-height:1.65; font-weight:300; }
.ma-step__dur{ display:inline-block; margin-top:1.1rem; font-size:.58rem; text-transform:uppercase; letter-spacing:.16em; color:var(--ma-gold-300); border:1px solid rgba(196,162,103,.32); padding:.35em .9em; border-radius:999px; }

/* SLIDER AVANT / APRÈS */
.ma-baslider{ position:relative; max-width:760px; margin:0 auto; aspect-ratio:4/3; border-radius:12px; overflow:hidden; box-shadow:var(--ma-shadow); user-select:none; touch-action:none; cursor:ew-resize; }
.ma-baslider img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; pointer-events:none; }
.ma-baslider__after{ z-index:1; }
.ma-baslider__before{ z-index:2; clip-path:inset(0 50% 0 0); }
.ma-baslider__label{ position:absolute; top:1rem; z-index:4; background:rgba(26,26,26,.7); color:#fff; padding:.4em .9em; border-radius:3px; font-family:"Montserrat"; text-transform:uppercase; letter-spacing:.18em; font-size:.58rem; }
.ma-baslider__label--before{ left:1rem; } .ma-baslider__label--after{ right:1rem; }
.ma-baslider__handle{ position:absolute; top:0; bottom:0; left:50%; width:3px; background:var(--ma-gold); z-index:3; transform:translateX(-50%); }
.ma-baslider__grip{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:46px; height:46px; border-radius:50%; background:var(--ma-gold); display:flex; align-items:center; justify-content:center; box-shadow:0 6px 18px rgba(0,0,0,.35); }
.ma-baslider__grip::before{ content:"‹ ›"; color:var(--ma-ink); font-size:.9rem; font-weight:700; letter-spacing:-2px; }

/* HISTOIRE */
.ma-story{ position:relative; min-height:70vh; display:flex; align-items:center; justify-content:center; text-align:center; color:#fff; padding:7rem 1.5rem; background-size:cover; background-position:center; background-attachment:fixed; }
.ma-story__ov{ position:absolute; inset:0; background:linear-gradient(rgba(26,26,26,.72),rgba(33,29,24,.78)); }
.ma-story__inner{ position:relative; z-index:2; max-width:760px; }
.ma-story__tagline{ font-family:"Cormorant Garamond",serif; font-style:italic; font-size:clamp(1.3rem,2.6vw,1.9rem); color:var(--ma-gold-300); margin-bottom:1.4rem; }
.ma-story__inner h2{ color:#fff !important; font-size:clamp(2.1rem,4vw,3.1rem); margin-bottom:1.4rem; }
.ma-story__inner p{ color:var(--ma-linen); line-height:2; font-weight:300; }

/* ENGAGEMENT */
.ma-pillars{ display:grid; grid-template-columns:1fr; gap:1.4rem; max-width:1000px; margin:0 auto; }
@media(min-width:760px){ .ma-pillars{ grid-template-columns:repeat(3,1fr); } }
.ma-pillar{ background:#fff; border:1px solid rgba(196,162,103,.2); border-radius:10px; padding:2.4rem; text-align:center; transition:transform .5s var(--ma-ease),box-shadow .5s var(--ma-ease); }
.ma-pillar:hover{ transform:translateY(-6px); box-shadow:var(--ma-shadow-sm); }
.ma-pillar__icon{ font-size:1.6rem; margin-bottom:1rem; }
.ma-pillar h4{ font-family:"Cormorant Garamond",serif !important; font-size:1.5rem; margin:0 0 .8rem; color:var(--ma-ink); }
.ma-pillar p{ color:var(--ma-charcoal); font-weight:300; font-size:.9rem; line-height:1.75; }

/* TÉMOIGNAGES */
.ma-reviews{ background:var(--ma-light); padding:7rem 1.5rem; }
.ma-reviews__grid{ max-width:1120px; margin:0 auto; display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:1.8rem; }
.ma-review{ background:#fff; border:1px solid rgba(196,162,103,.2); border-radius:10px; padding:2.4rem; box-shadow:var(--ma-shadow-sm); }
.ma-review__stars{ color:var(--ma-gold); letter-spacing:.18em; font-size:.95rem; margin-bottom:1.1rem; }
.ma-review__title{ font-family:"Cormorant Garamond",serif; font-size:1.5rem; color:var(--ma-ink); margin:0 0 1rem; line-height:1.2; }
.ma-review__text{ color:var(--ma-charcoal); line-height:1.85; font-weight:300; font-size:.92rem; font-style:italic; margin-bottom:1.6rem; }
.ma-review__author{ display:flex; align-items:center; gap:.8rem; }
.ma-review__avatar{ width:46px; height:46px; border-radius:50%; background:var(--ma-sand); display:flex; align-items:center; justify-content:center; font-family:"Cormorant Garamond",serif; font-weight:600; color:var(--ma-terracotta); font-size:1.2rem; }
.ma-review__name{ font-weight:600; font-size:.82rem; letter-spacing:.04em; color:var(--ma-ink); }
.ma-review__badge{ font-size:.58rem; text-transform:uppercase; letter-spacing:.12em; color:var(--ma-gold-600); }

/* BANDEAU FINAL */
.ma-cta-band{ position:relative; background:var(--ma-terracotta); color:#fff; text-align:center; padding:6rem 1.5rem; overflow:hidden; }
.ma-cta-band__dust{ position:absolute; inset:0; opacity:.18; background-image:radial-gradient(rgba(255,255,255,.4) 1px,transparent 0); background-size:24px 24px; }
.ma-cta-band h2{ color:#fff !important; font-size:clamp(2.1rem,4vw,3.2rem); margin-bottom:1.6rem; position:relative; z-index:2; }
.ma-cta-band .ma-hero__cta{ animation:none; position:relative; z-index:2; }

/* ---- Panier header ---- */
.ma-cart{ display:inline-flex; align-items:center; gap:.35rem; margin-left:1.2rem; color:var(--ma-ink) !important; font-weight:500; }
.ma-cart__icon{ font-size:1.2rem; }
.ma-cart__count{ background:var(--ma-terracotta); color:#fff !important; font-family:"Montserrat",sans-serif; font-size:.62rem; font-weight:600; min-width:18px; height:18px; line-height:18px; text-align:center; border-radius:999px; padding:0 5px; }

/* ---- Logo de marque dans le header ---- */
.site-header .site-branding{ display:flex !important; align-items:center !important; gap:.7rem !important; flex-wrap:nowrap !important; }
.site-header .ma-logo{ display:inline-flex !important; align-items:center; order:-1; flex:0 0 auto; margin:0 !important; }
.site-header .ma-logo img{ height:52px !important; width:auto !important; object-fit:contain; display:block; }
.custom-logo{ max-height:52px; width:auto; }
.site-header .site-title,
.site-header .beta-site-title{ display:inline-block !important; margin:0 !important; line-height:1 !important; white-space:nowrap; }

/* Nettoyage doublon panier éventuel : on masque l'ancien emoji s'il traîne en cache */
.ma-cart{ display:none !important; }

/* Garder le NOM du site visible à côté du logo */
.site-header .site-title{ display:block !important; }

/* ---- Bouton "Ajouter au panier" premium (grille produits) ---- */
.woocommerce ul.products li.product .button{
  background:transparent !important;
  color:var(--ma-terracotta) !important;
  border:1.5px solid var(--ma-terracotta) !important;
  border-radius:999px !important;
  padding:.85em 2em !important;
  letter-spacing:.16em;
  position:relative;
  overflow:hidden;
  transition:color .4s var(--ma-ease), border-color .4s var(--ma-ease);
}
.woocommerce ul.products li.product .button::before{
  content:""; position:absolute; inset:0; background:var(--ma-terracotta);
  transform:scaleX(0); transform-origin:left; transition:transform .4s var(--ma-ease); z-index:-1;
}
.woocommerce ul.products li.product .button:hover{
  color:#fff !important; border-color:var(--ma-terracotta) !important;
  background:transparent !important;
}
.woocommerce ul.products li.product .button:hover::before{ transform:scaleX(1); }

/* ---- Grille best-sellers (home) : produits côte à côte, plus compacts, centrés ---- */
.ma-home .woocommerce ul.products{
  display:flex !important;
  flex-wrap:wrap;
  justify-content:center;
  gap:1.6rem;
  margin:0 auto;
  max-width:920px;
  list-style:none;
  padding:0;
}
.ma-home .woocommerce ul.products li.product{
  width:220px !important;
  float:none !important;
  margin:0 !important;
}
.ma-home .woocommerce ul.products li.product img{ aspect-ratio:1/1; }
.ma-home .woocommerce ul.products li.product .woocommerce-loop-product__title{ font-size:1.15rem; }
.ma-home .woocommerce ul.products li.product .price{ font-size:1.15rem; }
.ma-home .woocommerce ul.products li.product .button{ font-size:.62rem !important; padding:.7em 1.5em !important; }
@media(max-width:520px){ .ma-home .woocommerce ul.products li.product{ width:100% !important; max-width:none; } }

/* ============================================================
   RESPONSIVE MOBILE — ajustements téléphone
   ============================================================ */
@media (max-width:768px){
  /* Sections : moins de padding vertical/horizontal */
  .ma-section{ padding:3.5rem 1.1rem; }
  .ma-ritual,.ma-reviews{ padding:3.5rem 1.1rem; }
  .ma-story{ padding:4rem 1.1rem; background-attachment:scroll; min-height:auto; }

  /* Hero : hauteur auto, textes resserrés */
  .ma-hero{ min-height:88vh; }
  .ma-hero__inner{ padding:5rem 1.1rem 3.5rem; }
  .ma-hero__title{ font-size:clamp(2rem,9vw,2.8rem); }
  .ma-hero__title-en{ font-size:clamp(1rem,4.5vw,1.4rem); }
  .ma-hero__sub{ font-size:.92rem; }
  .ma-trust{ gap:1rem; margin-top:2.6rem; }

  /* Titres de section */
  .ma-h2{ font-size:clamp(1.7rem,6vw,2.2rem); }
  .ma-intro{ font-size:.92rem; margin-bottom:2.4rem; }

  /* Spotlight : image au-dessus, texte en dessous */
  .ma-spot__media{ min-height:280px; }
  .ma-spot__body{ padding:2rem 1.4rem; }
  .ma-spot__body h3{ font-size:1.8rem; }

  /* Rituel : cartes en pleine largeur */
  .ma-steps{ grid-template-columns:1fr; gap:1.1rem; }
  .ma-step__img{ height:200px; }

  /* Slider avant/après : ratio plus haut pour mobile */
  .ma-baslider{ aspect-ratio:3/4; max-width:100%; }
  .ma-baslider__grip{ width:54px; height:54px; }

  /* Engagement : pilliers empilés */
  .ma-pillars{ grid-template-columns:1fr; gap:1.1rem; }
  .ma-pillar{ padding:2rem 1.4rem; }

  /* Témoignages : 1 colonne */
  .ma-reviews__grid{ grid-template-columns:1fr; gap:1.2rem; }

  /* CTA final */
  .ma-cta-band{ padding:4rem 1.2rem; }
  .ma-cta-band h2{ font-size:clamp(1.7rem,6vw,2.2rem); }

  /* Header : logo + titre lisibles, recherche pleine largeur */
  .site-header .site-branding{ gap:.45rem !important; }
  .site-header .ma-logo img{ height:38px !important; }
  .site-title a{ font-size:1rem !important; letter-spacing:.02em; }
}

@media (max-width:480px){
  .ma-section{ padding-left:.8rem; padding-right:.8rem; }
  .ma-hero__badge{ font-size:.55rem; letter-spacing:.18em; padding:.5rem 1rem; }
  .ma-trust{ grid-template-columns:repeat(2,1fr); }
  .ma-hero__cta,.ma-cta-band .ma-hero__cta{ padding:1em 2rem; font-size:.68rem; }
  /* Best-sellers : 1 par ligne, grande carte lisible */
  .ma-home .woocommerce ul.products{ gap:1.4rem; max-width:none; padding:0; }
  .ma-home .woocommerce ul.products li.product{ width:100% !important; max-width:none; }
  .ma-home .woocommerce ul.products li.product .woocommerce-loop-product__title{ font-size:1.4rem; }
  .ma-home .woocommerce ul.products li.product .price{ font-size:1.4rem; }
  .ma-home .woocommerce ul.products li.product .button{ font-size:.7rem !important; padding:.85em 2em !important; }
}

/* ---- Footer Moroccan Aura complet (compact) ---- */
.ma-footer{ background:var(--ma-ink); color:var(--ma-stone); padding:3.5rem 1.5rem 0; width:100%; }
.ma-footer__inner{ max-width:1080px !important; margin:0 auto !important; display:grid; grid-template-columns:repeat(3, 1fr); gap:2.4rem; justify-items:start; }
.ma-footer__newsletter{ grid-column:1 / -1; max-width:560px; margin:0 auto; text-align:center; }
.ma-footer__newsletter .ma-footer__form{ justify-content:center; }
/* Newsletter (gauche) et Charte (droite) : plus compacts */
.ma-footer__newsletter h4{ font-size:.72rem; }
.ma-footer__newsletter .ma-footer__lead{ font-size:1rem; }
.ma-footer__newsletter .ma-footer__txt{ font-size:.68rem; line-height:1.55; }
.ma-footer__newsletter .ma-footer__form input{ font-size:.7rem; padding:.5em .7em; }
.ma-footer__newsletter .ma-footer__form button{ font-size:.56rem !important; padding:.5em 1em !important; }
.ma-footer__charte h4{ font-size:.72rem; }
.ma-footer__charte .ma-footer__txt{ font-size:.68rem; line-height:1.55; }
.ma-footer__charte .ma-footer__quote{ font-size:.78rem; }
.ma-footer__col h4{ font-family:"Cormorant Garamond",serif !important; color:#fff !important; font-size:.82rem; letter-spacing:.16em; text-transform:uppercase; margin:0 0 .8rem; }
.ma-footer__col ul{ list-style:none; margin:0; padding:0; }
.ma-footer__col ul li{ margin-bottom:.45rem; }
.ma-footer__col ul li a{ color:var(--ma-stone) !important; font-size:.76rem; transition:color .3s ease; }
.ma-footer__col ul li a:hover{ color:var(--ma-gold) !important; }
.ma-footer__lead{ font-family:"Cormorant Garamond",serif; font-size:1.15rem; color:var(--ma-gold-300); margin:0 0 .5rem; }
.ma-footer__txt{ font-size:.74rem; line-height:1.6; color:var(--ma-stone); font-weight:300; margin-bottom:.9rem; opacity:.8; }
.ma-footer__quote{ font-family:"Cormorant Garamond",serif; font-style:italic; color:var(--ma-gold-300); font-size:.86rem; }
.ma-footer__form{ display:flex; gap:.4rem; flex-wrap:nowrap; }
.ma-footer__form input{ flex:1; min-width:0; background:rgba(255,255,255,.06); border:1px solid rgba(196,162,103,.3); border-radius:3px; padding:.55em .75em; color:#fff; font-size:.76rem; }
.ma-footer__form input::placeholder{ color:rgba(222,215,206,.6); }
.ma-footer__form button{ background:var(--ma-gold) !important; color:var(--ma-ink) !important; border:none; border-radius:3px; padding:.55em 1.1em !important; font-family:"Montserrat",sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:.1em; font-size:.6rem !important; cursor:pointer; white-space:nowrap; }
.ma-footer__form button:hover{ background:var(--ma-gold-600) !important; }
.ma-footer__bottom{ max-width:1080px; margin:2.2rem auto 0; padding:1.2rem 0; border-top:1px solid rgba(255,255,255,.1); display:flex; justify-content:space-between; flex-wrap:wrap; gap:.5rem; font-size:.64rem; letter-spacing:.06em; text-transform:uppercase; color:rgba(222,215,206,.65); }
.ma-footer__contact a{ color:var(--ma-gold) !important; }
@media(max-width:680px){ .ma-footer__inner{ grid-template-columns:1fr 1fr; } .ma-footer__newsletter{ grid-column:1 / -1; } }
@media(max-width:440px){ .ma-footer__inner{ grid-template-columns:1fr; } .ma-footer__bottom{ flex-direction:column; text-align:center; } }

/* Très petit écran : titre encore plus compact pour laisser la place au menu */
@media (max-width:400px){
  .site-title a{ font-size:.85rem !important; }
  .site-header .ma-logo img{ height:34px !important; }
}

/* ============================================================
   PAGE CONTACT
   ============================================================ */
.ma-contact{ background:var(--ma-base); padding:3.5rem 1.5rem 4.5rem; }
.ma-contact__inner{ max-width:1080px; margin:0 auto; display:grid; grid-template-columns:1fr 1.1fr; gap:3rem; align-items:start; }
.ma-contact__left{ border-left:3px solid var(--ma-terracotta); padding-left:1.8rem; }
.ma-contact__left h2{ font-family:"Cormorant Garamond",serif !important; font-size:2rem; color:var(--ma-ink); margin:0 0 1.4rem; }
.ma-contact__left p{ color:var(--ma-charcoal); line-height:1.85; font-weight:300; margin-bottom:1.2rem; font-size:.95rem; }
.ma-contact__info{ margin-top:2.2rem; display:flex; flex-direction:column; gap:1.1rem; }
.ma-contact__info-row{ display:flex; align-items:center; gap:.9rem; }
.ma-contact__ico{ font-size:1.1rem; }
.ma-contact__lab{ display:block; font-size:.6rem; text-transform:uppercase; letter-spacing:.18em; color:var(--ma-gold-600); margin-bottom:.15rem; }
.ma-contact__info-row a{ color:var(--ma-ink) !important; font-size:.92rem; }
.ma-contact__info-row a:hover{ color:var(--ma-terracotta) !important; }

.ma-contact__card{ background:#fff; border:1px solid rgba(196,162,103,.2); border-radius:10px; padding:2.6rem; box-shadow:var(--ma-shadow-sm); }
.ma-contact__card h3{ font-family:"Cormorant Garamond",serif !important; font-size:1.55rem; color:var(--ma-ink); margin:0 0 .9rem; line-height:1.2; }
.ma-contact__sub{ color:var(--ma-charcoal); font-weight:300; font-size:.9rem; line-height:1.7; margin-bottom:1.8rem; }

/* Style des champs Contact Form 7 dans la carte */
.ma-contact__card label{ display:block; font-size:.62rem; text-transform:uppercase; letter-spacing:.14em; color:var(--ma-charcoal); margin-bottom:.4rem; font-weight:600; }
.ma-contact__card input[type="text"],
.ma-contact__card input[type="email"],
.ma-contact__card input[type="tel"],
.ma-contact__card textarea{
  width:100%; background:var(--ma-base); border:1px solid rgba(196,162,103,.35);
  border-radius:4px; padding:.8em 1em; font-size:.9rem; color:var(--ma-ink);
  margin-bottom:1.1rem; font-family:"Montserrat",sans-serif; box-sizing:border-box;
}
.ma-contact__card input:focus,
.ma-contact__card textarea:focus{ outline:none; border-color:var(--ma-terracotta); }

/* Nom + Prénom côte à côte (la classe .ma-row est posée dans le formulaire CF7) */
.ma-contact__card .ma-row{ display:flex; gap:1rem; }
.ma-contact__card .ma-row .ma-col{ flex:1; }
@media(max-width:480px){ .ma-contact__card .ma-row{ flex-direction:column; gap:0; } }

.ma-contact__card input[type="submit"]{
  width:100%; background:var(--ma-ink) !important; color:#fff !important;
  border:none; border-radius:4px; padding:1em !important; font-family:"Montserrat",sans-serif;
  font-weight:600; text-transform:uppercase; letter-spacing:.16em; font-size:.72rem !important; cursor:pointer;
  transition:background .3s ease; margin-top:.4rem;
}
.ma-contact__card input[type="submit"]:hover{ background:var(--ma-terracotta) !important; }
.ma-contact__card .wpcf7-spinner{ display:block; margin:.6rem auto 0; }

@media(max-width:760px){
  .ma-contact__inner{ grid-template-columns:1fr; gap:2.4rem; }
  .ma-contact__card{ padding:1.8rem; }
}

/* ============================================================
   Barre mobile désactivée + bouton panier flottant (mobile only)
   ============================================================ */
.storefront-handheld-footer-bar{ display:none !important; }

.ma-cart-fab{ display:none; }
@media (max-width:768px){
  .ma-cart-fab{
    display:flex; align-items:center; justify-content:center;
    position:fixed; right:18px; bottom:18px; z-index:99999;
    width:58px; height:58px; border-radius:50%;
    background:var(--ma-terracotta); color:#fff !important;
    box-shadow:0 6px 18px rgba(0,0,0,.28);
    text-decoration:none;
  }
  .ma-cart-fab svg{ width:26px; height:26px; fill:#fff; }
  .ma-cart-fab .ma-cart-fab__count{
    position:absolute; top:-4px; right:-4px;
    background:var(--ma-gold); color:var(--ma-ink);
    min-width:22px; height:22px; line-height:22px; border-radius:50%;
    font-size:.72rem; font-weight:700; text-align:center;
    border:2px solid #fff;
  }
  .ma-cart-fab .ma-cart-fab__count[data-count="0"]{ display:none; }
}

