/*
Theme Name: Miaou & Sens
Description: Thème enfant Astra pour Miaou & Sens — boutique premium épurée, rassurante et orientée conversion.
Author: Espritz
Template: astra
Version: 1.0
*/
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,600;9..144,700&family=Inter:wght@400;500;600&display=swap');

:root{
  --ms-cream:#FBF9F5; --ms-terracotta:#C97B5A; --ms-terracotta-d:#b96a4a;
  --ms-sage:#8A9A7B; --ms-charbon:#2A2724; --ms-sable:#F1EADE;
}

/* Base épurée */
body{ background:var(--ms-cream); color:var(--ms-charbon); font-family:'Inter',-apple-system,sans-serif; }
h1,h2,h3,h4,.entry-title,.ast-single-post-title,.widget-title{ font-family:'Fraunces',Georgia,serif !important; color:var(--ms-charbon); }
a{ color:var(--ms-terracotta); }
.site-content{ background:var(--ms-cream); }

/* Boutons terracotta, arrondis, doux */
.ast-button, .button, input[type=submit], .wp-block-button__link,
.woocommerce a.button, .woocommerce button.button, .woocommerce .button,
.woocommerce #respond input#submit, .woocommerce a.button.alt,
.woocommerce button.button.alt, .single_add_to_cart_button, .checkout-button, #place_order{
  background-color:var(--ms-terracotta) !important; color:#fff !important; border:none !important;
  border-radius:10px !important; font-weight:600 !important; letter-spacing:.2px;
  transition:transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.ast-button:hover, .button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover,
.single_add_to_cart_button:hover, .checkout-button:hover, #place_order:hover{
  background-color:var(--ms-terracotta-d) !important; transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(201,123,90,.28) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link{ background:transparent !important; color:var(--ms-terracotta) !important; border:2px solid var(--ms-terracotta) !important; }

/* En-tête / logo */
.site-title a, .ast-site-title-wrap .site-title a{ font-family:'Fraunces',serif !important; color:var(--ms-charbon) !important; font-weight:700; }
.main-header-menu a, .ast-header-break-point .main-header-menu a{ color:var(--ms-charbon); font-weight:600; }
.main-header-menu a:hover{ color:var(--ms-terracotta); }

/* Prix WooCommerce en Fraunces */
.woocommerce div.product p.price, .woocommerce div.product span.price,
.woocommerce ul.products li.product .price{ color:var(--ms-charbon); font-family:'Fraunces',serif; }
.woocommerce ul.products li.product .price{ font-size:1.15rem; }
.woocommerce .star-rating span::before{ color:#E8B23A; }

/* Cartes produits épurées + hover doux */
.woocommerce ul.products li.product{ background:#fff; border:1px solid var(--ms-sable); border-radius:14px; padding:14px; box-shadow:0 4px 15px rgba(42,39,36,.05); transition:transform .25s ease, box-shadow .25s ease; text-align:center; }
.woocommerce ul.products li.product:hover{ transform:translateY(-6px); box-shadow:0 14px 30px rgba(42,39,36,.12); }
.woocommerce ul.products li.product img{ border-radius:10px; margin-bottom:10px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{ font-family:'Fraunces',serif; color:var(--ms-terracotta); font-size:1.1rem; }

/* Bandeau défilant */
.ms-marquee{ background:var(--ms-charbon); color:var(--ms-cream); height:40px; overflow:hidden; display:flex; align-items:center; }
.ms-marquee__track{ display:flex; white-space:nowrap; animation:ms-scroll 42s linear infinite; }
.ms-marquee:hover .ms-marquee__track{ animation-play-state:paused; }
.ms-marquee__track span{ font-size:14px; font-weight:600; letter-spacing:.4px; padding:0 1.6em; color:rgba(251,249,245,.92); }
@keyframes ms-scroll{ from{transform:translateX(0)} to{transform:translateX(-50%)} }
@media (prefers-reduced-motion:reduce){ .ms-marquee__track{ animation:none; } .ms-marquee__track span[aria-hidden="true"]{ display:none; } }

/* Badges de confiance */
.ms-trust{ background:var(--ms-cream); padding:36px 20px; border-bottom:1px solid var(--ms-sable); }
.ms-trust__grid{ max-width:1080px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.ms-trust__item{ text-align:center; }
.ms-trust__ico{ font-size:2rem; display:block; margin-bottom:6px; }
.ms-trust__title{ font-family:'Fraunces',serif; font-size:1rem; font-weight:700; margin:0 0 2px; }
.ms-trust__text{ font-size:.85rem; opacity:.72; margin:0; }
@media (max-width:768px){ .ms-trust__grid{ grid-template-columns:repeat(2,1fr); gap:26px 16px; } }

/* Réassurance sous le CTA + preuve sociale */
.ms-reassurance{ list-style:none; padding:0; margin:16px 0 0; display:flex; flex-wrap:wrap; gap:8px 18px; font-size:13px; color:var(--ms-sage); }
.ms-reassurance li{ display:flex; align-items:center; gap:6px; font-weight:600; }
.ms-social{ background:var(--ms-sable); padding:12px 16px; text-align:center; font-size:14px; border-radius:8px; margin:16px 0; }
.ms-social strong{ color:var(--ms-terracotta); }

/* Barre achat sticky mobile */
.ms-sticky-atc{ display:none; }
@media (max-width:768px){
  body.single-product{ padding-bottom:88px; }
  .ms-sticky-atc{ display:flex; align-items:center; justify-content:space-between; gap:14px; position:fixed; bottom:0; left:0; width:100%; padding:12px 16px; background:rgba(251,249,245,.96); backdrop-filter:blur(10px); box-shadow:0 -4px 20px rgba(42,39,36,.1); z-index:999; }
  .ms-sticky-atc .ms-sticky-price{ font-family:'Fraunces',serif; font-size:1.3rem; font-weight:700; }
  .ms-sticky-atc button{ flex:1; background:var(--ms-terracotta); color:#fff; border:none; border-radius:10px; padding:13px; font-weight:600; }
}

/* Checkout épuré */
.woocommerce-checkout #payment{ background:#fff; border-radius:14px; border:1px solid var(--ms-sable); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .select2-container .select2-selection{ border-radius:8px !important; border-color:var(--ms-sable) !important; }
.woocommerce-info, .woocommerce-message{ border-top-color:var(--ms-terracotta) !important; }

/* Footer */
.site-footer, .ast-small-footer, .footer-adv{ background:var(--ms-sable); color:var(--ms-charbon); }
.site-footer a{ color:var(--ms-charbon); }

/* Homepage épurée : masquer le titre de page */
.home .entry-header, .home h1.entry-title, .page-id-19 .entry-header{ display:none !important; }
/* Container un peu plus aéré */
.ast-container{ max-width:1200px; }

/* Footer de marque */
.ms-footer{ background:var(--ms-sable); padding:48px 20px 20px; }
.ms-footer__grid{ max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:28px; }
.ms-footer__brand{ font-family:'Fraunces',serif; font-size:1.3rem; margin:0 0 8px; }
.ms-footer__h{ font-family:'Fraunces',serif; font-size:1rem; margin:0 0 10px; }
.ms-footer__txt{ font-size:.9rem; opacity:.8; }
.ms-footer ul{ list-style:none; margin:0; padding:0; }
.ms-footer li{ margin-bottom:7px; }
.ms-footer a{ color:var(--ms-charbon); font-size:.9rem; }
.ms-footer a:hover{ color:var(--ms-terracotta); }
.ms-footer__bottom{ max-width:1100px; margin:32px auto 0; padding-top:16px; border-top:1px solid #ded6c9; text-align:center; font-size:.78rem; opacity:.75; }
@media (max-width:768px){ .ms-footer__grid{ grid-template-columns:1fr 1fr; gap:24px; } }

/* ===================== CORRECTIONS AUDIT CRITIQUE ===================== */
/* Contraste WCAG AA : CTA plus foncés (blanc sur terracotta clair échouait) */
.ast-button, .button, input[type=submit], .wp-block-button__link:not(.is-style-outline .wp-block-button__link),
.woocommerce a.button, .woocommerce button.button, .woocommerce .button,
.woocommerce a.button.alt, .woocommerce button.button.alt,
.single_add_to_cart_button, .checkout-button, #place_order{
  background-color:#B15A38 !important;
}
.ast-button:hover, .button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover,
.single_add_to_cart_button:hover, .checkout-button:hover, #place_order:hover{ background-color:#9d4d2f !important; }
/* Titres de cartes produit : terracotta plus foncé pour la lisibilité */
.woocommerce ul.products li.product .woocommerce-loop-product__title{ color:#A8502F; }
/* Liens : légèrement plus foncés */
a{ color:#B15A38; }

/* Hero : voile + ombre de texte pour lisibilité (surtout mobile) */
.home .wp-block-cover__background{ opacity:.5 !important; }
.home .wp-block-cover h1, .home .wp-block-cover p{ text-shadow:0 2px 14px rgba(0,0,0,.5); }

/* Barre d'achat sticky mobile : safe-area iPhone + cible tactile 48px */
.ms-sticky-atc{ padding-bottom:calc(12px + env(safe-area-inset-bottom)); }
.ms-sticky-atc button{ min-height:48px; }
.ms-reassurance{ margin-top:14px; }

/* Boutons hero : le secondaire (outline) bien distinct du primaire */
.home .wp-block-cover .is-style-outline .wp-block-button__link{ background:transparent !important; border:2px solid #fff !important; color:#fff !important; }

/* Hero : texte BLANC + voile foncé (lisibilité garantie, desktop + mobile) */
.home .wp-block-cover__background{ background-color:#2A2724 !important; opacity:.55 !important; }
.home .wp-block-cover h1, .home .wp-block-cover h2, .home .wp-block-cover p,
.home .wp-block-cover .wp-block-heading, .home .wp-block-cover .has-text-color{ color:#ffffff !important; text-shadow:0 2px 16px rgba(0,0,0,.5); }
/* Réduire l'espace vide entre header et hero */
.home .site-content .ast-container, .home #primary{ padding-top:0 !important; }
.home .entry-content > .wp-block-cover:first-child{ margin-top:0; }

/* ============================================================ */
/*        REFONTE PREMIUM / ÉDITORIALE (sobre, adulte)          */
/* ============================================================ */

/* Icônes vectorielles : monochromes, discrètes */
.ms-trust svg, .ms-values svg{ color:var(--ms-charbon); stroke:var(--ms-charbon); display:block; }

/* Sur-titre éditorial (eyebrow) */
.ms-eyebrow{ text-transform:uppercase; letter-spacing:.18em; font-size:.72rem; font-weight:600;
  color:var(--ms-sage); margin:0 0 12px; text-align:center; }

/* Titres de section */
.ms-values__title, .ms-collection__title, .ms-story h2{
  font-family:'Fraunces',serif; font-weight:600; color:var(--ms-charbon);
  font-size:clamp(1.8rem,3.2vw,2.4rem); line-height:1.15; text-align:center; margin:0 auto 8px; max-width:22ch;
}

/* Bande de confiance : sobre, aérée */
.ms-trust{ background:var(--ms-cream); padding:40px 24px; border-top:1px solid var(--ms-sable); border-bottom:1px solid var(--ms-sable); }
.ms-trust__grid{ max-width:1080px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:32px; }
.ms-trust__item{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px; }
.ms-trust__item svg{ width:26px; height:26px; opacity:.85; }
.ms-trust__item h3{ font-family:'Inter',sans-serif; font-size:.95rem; font-weight:600; margin:0; color:var(--ms-charbon); }
.ms-trust__item p{ font-size:.83rem; color:var(--ms-charbon); opacity:.62; margin:0; line-height:1.45; }
@media (max-width:768px){ .ms-trust__grid{ grid-template-columns:repeat(2,1fr); gap:28px 18px; } }

/* Arguments produit : grille éditoriale, beaucoup de blanc */
.ms-values{ max-width:1080px; margin:0 auto; padding:100px 24px 60px; }
.ms-values__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:52px 44px; margin-top:52px; }
.ms-value svg{ width:30px; height:30px; opacity:.9; margin-bottom:14px; }
.ms-value h3{ font-family:'Fraunces',serif; font-weight:600; font-size:1.12rem; margin:0 0 8px; color:var(--ms-charbon); }
.ms-value p{ font-size:.95rem; line-height:1.6; color:var(--ms-charbon); opacity:.72; margin:0; max-width:34ch; }
@media (max-width:900px){ .ms-values__grid{ grid-template-columns:repeat(2,1fr); gap:44px 36px; } .ms-values{ padding-top:72px; } }
@media (max-width:560px){ .ms-values__grid{ grid-template-columns:1fr; gap:36px; } }

/* Collection (titre au-dessus des produits) */
.ms-collection{ max-width:1080px; margin:0 auto; padding:80px 24px 8px; }

/* Section produits : aérer les cartes */
.home .woocommerce.columns-3 ul.products, .home ul.products{ gap:28px !important; }
.home .woocommerce{ max-width:1120px; margin:0 auto 40px; padding:0 24px; }

/* Récit de marque : centré, éditorial */
.ms-story{ max-width:680px; margin:0 auto; padding:96px 24px; text-align:center; }
.ms-story p{ font-size:1.12rem; line-height:1.7; color:var(--ms-charbon); opacity:.82; margin:0 auto 24px; }
.ms-story__link{ display:inline-block; font-weight:600; font-size:.95rem; color:#B15A38; border-bottom:1px solid #B15A38; padding-bottom:2px; text-decoration:none; }

/* Bande abonnement : sobre, sans emoji */
.ms-subscribe{ background:var(--ms-sable); padding:0; }
.ms-subscribe__inner{ max-width:760px; margin:0 auto; padding:44px 24px; text-align:center; }
.ms-subscribe__inner p{ font-size:1.1rem; font-weight:500; line-height:1.55; color:var(--ms-charbon); margin:0; }

/* Marquee : plus sobre */
.ms-marquee{ height:42px; }
.ms-marquee__track span{ font-weight:500; letter-spacing:.02em; font-size:13px; text-transform:none; }

/* Réassurance produit : texte sobre, sans puces criardes */
.ms-reassurance{ gap:6px 16px; color:var(--ms-charbon); opacity:.72; }
.ms-reassurance li{ font-weight:500; font-size:12.5px; position:relative; padding-left:14px; }
.ms-reassurance li::before{ content:''; position:absolute; left:0; top:50%; width:5px; height:5px; margin-top:-2.5px; border-radius:50%; background:var(--ms-sage); }
.ms-social{ background:transparent; border-left:2px solid var(--ms-sage); border-radius:0; padding:4px 0 4px 14px; font-size:.9rem; color:var(--ms-charbon); opacity:.85; }
