/* ============================================================================
   Snazzy Ronde Page — Frontend styles (scoped to .srp-home)
   ============================================================================ */
.srp-home{
  --srp-plum:#3B162E;
  --srp-plum-2:#572340;
  --srp-berry:#C0316E;
  --srp-berry-d:#A22A5D;
  --srp-cream:#FBF7F3;
  --srp-sand:#F4ECE4;
  --srp-ink:#2C1824;
  --srp-muted:#866F7C;
  --srp-line:#EADFD6;
  --srp-serif:'Cormorant Garamond', Georgia, serif;
  --srp-sans:'Mulish', system-ui, -apple-system, sans-serif;
  font-family:var(--srp-sans);
  color:var(--srp-ink);
  background:var(--srp-cream);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
/* box-sizing redéclaré ici (en plus du critical CSS inline) : si un plugin de
   cache/optimisation supprime le <style> inline, la mise en page tient quand même. */
.srp-home,.srp-home *,.srp-home *::before,.srp-home *::after{box-sizing:border-box;}
.srp-home img{display:block;max-width:100%;}
.srp-home a{color:inherit;text-decoration:none;}
.srp-home h1,.srp-home h2,.srp-home h3{font-family:var(--srp-serif);font-weight:600;line-height:1.05;letter-spacing:-.01em;margin:0;}
.srp-wrap{max-width:1280px;margin:0 auto;padding:0 40px;}
.srp-eyebrow{font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--srp-berry);}
.srp-eyebrow-light{color:#E59FBE;}

/* Buttons */
.srp-btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--srp-sans);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;padding:16px 34px;border-radius:2px;cursor:pointer;border:1px solid transparent;transition:.25s ease;}
.srp-btn-berry{background:var(--srp-berry);color:#fff;}
.srp-btn-berry:hover{background:var(--srp-berry-d);transform:translateY(-2px);color:#fff;}
.srp-btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.7);}
.srp-btn-ghost:hover{background:#fff;color:var(--srp-plum);}
.srp-btn-outline{background:transparent;color:var(--srp-plum);border-color:var(--srp-plum);}
.srp-btn-outline:hover{background:var(--srp-plum);color:#fff;}
/* v1.4.0 — neutralise tout -webkit-text-fill-color sombre imposé par le thème :
   chaque texte s'affiche dans SA couleur (currentColor). Corrige d'un coup les
   CTA, le titre héro, le badge Personal Shopper, etc. qui passaient en noir.
   (Le plugin n'utilise aucun texte en dégradé, donc c'est sans effet de bord.) */
.srp-home,.srp-home *{-webkit-text-fill-color:currentColor!important;}
/* v1.4.0 — couleur des boutons forcée AU-DESSUS de `.srp-home a{color:inherit}`
   (sinon les CTA en <a>, ex. le bouton fantôme du héro, héritaient l'encre
   foncée → texte noir illisible). */
.srp-home a.srp-btn,.srp-home .srp-btn{ }
.srp-home a.srp-btn-berry,.srp-home .srp-btn-berry{color:#fff;}
.srp-home a.srp-btn-ghost,.srp-home .srp-btn-ghost{color:#fff;}
.srp-home a.srp-btn-ghost:hover,.srp-home .srp-btn-ghost:hover{color:var(--srp-plum);}
.srp-home a.srp-btn-outline,.srp-home .srp-btn-outline{color:var(--srp-plum);}
.srp-home a.srp-btn-outline:hover,.srp-home .srp-btn-outline:hover{color:#fff;}

/* Announce */
.srp-announce{background:var(--srp-plum);color:#F3E4EC;font-size:12.5px;font-weight:600;letter-spacing:.06em;text-align:center;padding:11px 16px;display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap;}
.srp-announce span{display:inline-flex;align-items:center;}
.srp-announce-dot{opacity:.45;margin:0 18px;}

/* Section scaffold */
.srp-sec{padding:96px 0;}
.srp-sec-tight{padding-top:0;}
.srp-sec-head{text-align:center;margin-bottom:52px;}
.srp-sec-head h2{font-size:clamp(34px,4vw,54px);color:var(--srp-plum);margin-top:12px;}
.srp-sec-head p{color:var(--srp-muted);font-size:17px;margin-top:10px;}
.srp-sec-foot{text-align:center;margin-top:54px;}

/* ============================================================================
   Héro — version robuste v1.2.0 (Snazzy Digital Agency)
   ----------------------------------------------------------------------------
   POURQUOI CE BLOC A ÉTÉ REPRIS :
   En isolé, l'ancien héro s'affichait parfaitement (photo plein cadre + texte
   blanc par-dessus). Mais sur le site réel, ses sélecteurs étaient en
   spécificité faible (`.srp-hero…`, NON préfixés par `.srp-home`) et ses
   propriétés porteuses n'étaient pas verrouillées. Résultat : le thème /
   Elementor reprenait la main — titre repassé en sombre et, sur mobile, photo
   écrasée + texte qui retombait SOUS l'image sur fond crème (cf. capture).
   CORRECTIF : tout est scopé sous `.srp-home` (passe devant les styles `h1`/`p`
   du thème) et les 6 propriétés critiques sont verrouillées en !important
   CIBLÉ (uniquement sur notre héro, jamais sur le reste du site) :
     · image de fond  → position + width + height + max-width
     · section héro   → display(flex) + align-items + min-height
     · texte          → color (titre + sous-titre)
   Ainsi, même un thème agressif (`img{height:auto!important}`,
   `section{display:block!important}`, `h1{color:#000!important}`) ne peut plus
   aplatir le héro. On ne casse rien : desktop validé conservé à l'identique.
   ============================================================================ */
.srp-home .srp-hero{position:relative;display:flex!important;align-items:flex-end!important;height:92vh;min-height:700px!important;max-height:980px;overflow:hidden;isolation:isolate;}
/* Image plein cadre — !important ciblé pour survivre à un `img{height:auto}` global du thème.
   object-position remonté à 16% (v1.4.0) pour ne plus couper la tête du modèle. */
.srp-home .srp-hero-pic{position:absolute!important;inset:0;z-index:0;display:block;}
.srp-home .srp-hero-bg{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-width:none!important;margin:0;object-fit:cover;object-position:50% var(--srp-hero-fy,22%);}
.srp-home .srp-hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(40,18,32,.12) 0%,rgba(40,18,32,0) 30%,rgba(40,18,32,.10) 56%,rgba(40,18,32,.66) 100%);}
.srp-home .srp-hero-inner{position:relative;z-index:2;width:100%;padding-bottom:72px;}
.srp-home .srp-hero-badge{display:inline-block;background:rgba(255,255,255,.92);color:var(--srp-plum);-webkit-text-fill-color:var(--srp-plum);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:8px 18px;border-radius:40px;margin-bottom:22px;}
/* color + -webkit-text-fill-color + reset du background-clip : indispensable face
   aux thèmes/kits Elementor qui peignent les titres en dégradé (text-fill-color
   sombre) — sans ça le titre restait NOIR malgré color:#fff. v1.3.0 */
.srp-home .srp-hero-title{color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;font-family:var(--srp-serif);font-size:clamp(44px,6.6vw,96px);font-weight:600;line-height:1.05;max-width:14ch;margin:0;text-shadow:0 2px 30px rgba(40,18,32,.45);}
.srp-home .srp-hero-hl{font-style:italic;color:#F6D8E4!important;-webkit-text-fill-color:#F6D8E4!important;}
.srp-home .srp-hero-sub{color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:clamp(17px,1.5vw,21px);font-weight:400;max-width:46ch;margin:20px 0 32px;text-shadow:0 2px 18px rgba(40,18,32,.5);}
.srp-home .srp-hero-cta{display:flex;gap:16px;flex-wrap:wrap;}

/* ----------------------------------------------------------------------------
   Héro — très grands écrans (≥ 1600 px)
   La hauteur suit la largeur (52,5vw ≈ ratio naturel ~1,9 de la photo) au lieu
   de figer à 840 px, sinon object-fit:cover zoomait verticalement (silhouette
   énorme, sandales coupées). À 1600 px on retombe pile sur 840 px → transition
   invisible. 94vh : le héro ne dépasse jamais l'écran. -------------------------- */
@media(min-width:1600px){
  .srp-home .srp-hero{height:min(56vw,95vh);max-height:none;}
}

/* Trust */
.srp-trust{background:#fff;border-top:1px solid var(--srp-line);border-bottom:1px solid var(--srp-line);}
.srp-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.srp-trust-item{display:flex;align-items:center;gap:14px;justify-content:center;padding:26px 18px;border-right:1px solid var(--srp-line);}
.srp-trust-item:last-child{border-right:none;}
.srp-trust-item svg{width:28px;height:28px;color:var(--srp-berry);flex-shrink:0;}
.srp-trust-item b{display:block;font-size:14px;color:var(--srp-plum);font-weight:800;}
.srp-trust-item span{font-size:12.5px;color:var(--srp-muted);}

/* Categories */
.srp-cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 28px;}
.srp-cat{display:block;}
.srp-cat-media{position:relative;overflow:hidden;border-radius:14px;aspect-ratio:4/5;background:var(--srp-sand);}
.srp-cat-media img{width:100%;height:100%;object-fit:cover;transition:transform .85s cubic-bezier(.2,.7,.2,1);}
.srp-cat:hover .srp-cat-media img{transform:scale(1.05);}
.srp-cat-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 2px 0;}
.srp-cat-foot h3{font-size:25px;font-weight:600;color:var(--srp-plum);line-height:1.08;transition:color .25s;}
.srp-cat:hover .srp-cat-foot h3{color:var(--srp-berry);}
.srp-cat-arrow{width:42px;height:42px;border-radius:50%;border:1px solid var(--srp-line);display:grid;place-items:center;color:var(--srp-plum);flex-shrink:0;transition:background .3s,border-color .3s,color .3s,transform .3s;}
.srp-cat-arrow svg{width:16px;height:16px;}
.srp-cat:hover .srp-cat-arrow{background:var(--srp-berry);border-color:var(--srp-berry);color:#fff;transform:rotate(-45deg);}

/* Products */
.srp-prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px 22px;}
.srp-prod{display:block;}
.srp-prod-img{position:relative;overflow:hidden;border-radius:3px;aspect-ratio:3/4;background:var(--srp-sand);}
.srp-prod-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1);}
.srp-prod:hover .srp-prod-img img{transform:scale(1.05);}
.srp-prod-tag{position:absolute;top:14px;left:14px;z-index:2;background:#fff;color:var(--srp-plum);font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;border-radius:2px;}
.srp-prod-add{position:absolute;left:14px;right:14px;bottom:14px;z-index:2;background:var(--srp-plum);color:#fff;text-align:center;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:13px;border-radius:2px;opacity:0;transform:translateY(12px);transition:.32s;}
.srp-prod:hover .srp-prod-add{opacity:1;transform:none;}
.srp-prod-add:hover{background:var(--srp-berry);}
.srp-prod-name{font-size:15.5px;font-weight:600;color:var(--srp-ink);margin-top:16px;line-height:1.35;}
.srp-prod-price{font-family:var(--srp-serif);font-size:21px;font-weight:600;color:var(--srp-plum);margin-top:5px;}

/* Brand */
.srp-brand{background:var(--srp-plum);color:#F3E2EB;position:relative;overflow:hidden;}
.srp-brand-text{padding:96px 70px 96px 0;max-width:640px;}
.srp-brand-text h2{color:#fff;font-size:clamp(36px,3.6vw,52px);margin:16px 0 22px;line-height:1.08;}
.srp-brand-text p{font-size:17px;color:#E7CFDB;max-width:48ch;margin-bottom:18px;}
.srp-brand-stats{display:flex;gap:40px;margin:34px 0 36px;flex-wrap:wrap;}
.srp-brand-stats > div{min-width:96px;}
.srp-brand-stats .srp-n{font-family:var(--srp-serif);font-size:46px;color:#fff;font-weight:600;line-height:1.05;white-space:nowrap;}
.srp-brand-stats .srp-l{font-size:13px;color:#D8B9C8;margin-top:6px;}
.srp-brand .srp-wrap{position:relative;z-index:2;}
.srp-brand-img{position:absolute;top:0;right:0;width:42%;height:100%;}
.srp-brand-img img{width:100%;height:100%;object-fit:cover;}

/* Personal Shopper */
.srp-ps{background:linear-gradient(135deg,#fff 0%,var(--srp-sand) 100%);}
.srp-ps-card{display:grid;grid-template-columns:1.1fr 1fr;border-radius:6px;overflow:hidden;box-shadow:0 30px 80px -40px rgba(59,22,46,.4);background:#fff;}
.srp-ps-body{padding:64px 60px;}
.srp-ps-body h2{font-size:clamp(32px,3.2vw,46px);color:var(--srp-plum);margin:14px 0 18px;}
.srp-ps-body p{color:var(--srp-muted);font-size:17px;max-width:42ch;margin-bottom:26px;}
.srp-ps-steps{display:flex;flex-direction:column;gap:14px;margin-bottom:34px;}
.srp-ps-step{display:flex;align-items:center;gap:16px;font-size:15px;font-weight:500;color:var(--srp-ink);}
.srp-ps-step .srp-num{width:34px;height:34px;border-radius:50%;background:#F6E5EE;color:var(--srp-berry);display:grid;place-items:center;font-weight:800;font-size:14px;flex-shrink:0;}
.srp-ps-visual{position:relative;background:var(--srp-plum);display:grid;place-items:center;padding:40px;overflow:hidden;min-height:340px;}
.srp-ps-visual img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;opacity:.82;}
.srp-ps-glow{position:relative;z-index:2;text-align:center;}
.srp-ps-badge{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(120deg,#D6478C,#9E2A5C);color:#fff;-webkit-text-fill-color:#fff;padding:18px 30px;border-radius:50px;font-weight:800;font-size:16px;box-shadow:0 12px 40px -8px rgba(192,49,110,.7);transition:transform .25s,box-shadow .25s;}
.srp-ps-subnote{color:#F7E3EC;margin-top:18px;font-size:14px;font-weight:600;}
/* v1.4.0 — la zone visuelle est un vrai lien cliquable (ouvre le Personal Shopper). */
a.srp-ps-visual{cursor:pointer;text-decoration:none;color:inherit;}
a.srp-ps-visual img{transition:transform .6s cubic-bezier(.2,.7,.2,1);}
a.srp-ps-visual:hover img{transform:scale(1.04);}
a.srp-ps-visual .srp-ps-glow{pointer-events:none;}
a.srp-ps-visual:hover .srp-ps-badge{transform:translateY(-2px);box-shadow:0 18px 48px -8px rgba(192,49,110,.85);}

/* Reviews */
.srp-reviews{background:var(--srp-sand);}
.srp-rev-top{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:48px;text-align:center;}
.srp-stars{color:var(--srp-berry);font-size:22px;letter-spacing:3px;}
.srp-rev-score{font-size:14px;color:var(--srp-muted);}
.srp-rev-score b{color:var(--srp-plum);}
.srp-rev-top h2{color:var(--srp-plum);font-size:clamp(30px,3.4vw,46px);margin-top:8px;}
.srp-rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.srp-rev{background:#fff;border-radius:5px;padding:36px 32px;border:1px solid var(--srp-line);}
.srp-rev .srp-stars{font-size:16px;letter-spacing:2px;}
.srp-rev p{font-family:var(--srp-serif);font-size:21px;font-style:italic;color:var(--srp-ink);line-height:1.45;margin:16px 0 22px;}
.srp-rev-who{display:flex;align-items:center;gap:13px;}
.srp-av{width:44px;height:44px;border-radius:50%;background:var(--srp-plum);color:#fff;display:grid;place-items:center;font-weight:800;font-family:var(--srp-sans);font-size:16px;}
.srp-rev-who b{font-size:14.5px;color:var(--srp-plum);display:block;}
.srp-rev-who span{font-size:12.5px;color:var(--srp-muted);}

/* Boutiques */
.srp-shops-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.srp-shop{border-radius:5px;overflow:hidden;border:1px solid var(--srp-line);background:#fff;}
.srp-shop-ph{aspect-ratio:4/3;position:relative;background:repeating-linear-gradient(45deg,#efe4db,#efe4db 12px,#e9dcd1 12px,#e9dcd1 24px);display:grid;place-items:center;}
.srp-shop-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.srp-shop-ph span{font-size:11px;color:#a08d7e;background:rgba(255,255,255,.7);padding:5px 10px;border-radius:3px;}
.srp-shop-body{padding:24px 26px 28px;}
.srp-shop-body h3{font-size:24px;color:var(--srp-plum);}
.srp-shop-addr{font-size:14px;color:var(--srp-muted);margin-top:8px;line-height:1.5;}
.srp-shop-hours{font-size:13px;color:var(--srp-ink);margin-top:12px;font-weight:600;}

/* Boutiques — bloc invitation (quand aucune vraie boutique saisie) · v1.4.0 */
.srp-shops-cta{display:flex;align-items:center;gap:28px;background:#fff;border:1px solid var(--srp-line);border-radius:16px;padding:40px 44px;box-shadow:0 20px 50px -38px rgba(59,22,46,.5);}
.srp-shops-cta-icon{flex-shrink:0;width:72px;height:72px;border-radius:50%;background:var(--srp-sand);display:grid;place-items:center;color:var(--srp-berry);}
.srp-shops-cta-icon svg{width:34px;height:34px;}
.srp-shops-cta-body h3{font-size:26px;color:var(--srp-plum);margin:0 0 8px;}
.srp-shops-cta-body p{color:var(--srp-muted);font-size:16px;margin:0 0 20px;max-width:60ch;}
.srp-shops-cta-actions{display:flex;gap:12px;flex-wrap:wrap;}

/* Boutiques — slider (quand de vraies boutiques sont saisies) · v1.4.0 */
.srp-slider{position:relative;}
.srp-slider-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 2px 14px;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.srp-slider-track::-webkit-scrollbar{display:none;}
.srp-slider .srp-slide{scroll-snap-align:start;flex:0 0 calc((100% - 48px)/3);min-width:0;}
.srp-slider-nav{position:absolute;top:38%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:1px solid var(--srp-line);background:#fff;color:var(--srp-plum);display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 24px -10px rgba(59,22,46,.5);transition:background .25s,color .25s,opacity .25s;z-index:3;}
.srp-slider-nav:hover{background:var(--srp-berry);color:#fff;border-color:var(--srp-berry);}
.srp-slider-nav svg{width:20px;height:20px;}
.srp-slider-prev{left:-12px;}
.srp-slider-next{right:-12px;}
.srp-slider-nav[disabled]{opacity:0;pointer-events:none;}

/* Instagram */
.srp-insta{background:#fff;}
.srp-insta-feed{min-height:40px;}
.srp-insta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.srp-ig{position:relative;aspect-ratio:1/1;overflow:hidden;border-radius:3px;display:block;background:var(--srp-sand);}
.srp-ig img{width:100%;height:100%;object-fit:cover;transition:transform .6s;}
.srp-ig:hover img{transform:scale(1.07);}
.srp-ig::after{content:"";position:absolute;inset:0;background:rgba(40,18,32,0);transition:.3s;}
.srp-ig:hover::after{background:rgba(40,18,32,.28);}
.srp-ig-icon{position:absolute;inset:0;z-index:2;display:grid;place-items:center;color:#fff;opacity:0;transition:.3s;}
.srp-ig-icon svg{width:34px;height:34px;}
.srp-ig:hover .srp-ig-icon{opacity:.95;}

/* Responsive */
@media(max-width:1080px){
  .srp-prod-grid{grid-template-columns:repeat(2,1fr);}
  .srp-insta-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:900px){
  .srp-wrap{padding:0 22px;}
  .srp-cat-grid{grid-template-columns:repeat(2,1fr);gap:24px 18px;}
  .srp-rev-grid,.srp-shops-grid{grid-template-columns:1fr;}
  .srp-ps-card{grid-template-columns:1fr;}
  .srp-brand-text{padding:60px 0;max-width:none;}
  .srp-brand-img{position:relative;width:100%;height:380px;}
  .srp-trust-grid{grid-template-columns:1fr 1fr;}
  .srp-trust-item:nth-child(2){border-right:none;}
  .srp-home .srp-hero{height:78vh;}
  .srp-slider .srp-slide{flex:0 0 calc((100% - 24px)/2);}
  .srp-shops-cta{flex-direction:column;text-align:center;align-items:center;padding:32px 26px;}
  .srp-shops-cta-body p{margin-left:auto;margin-right:auto;}
  .srp-shops-cta-actions{justify-content:center;}
}
@media(max-width:560px){
  .srp-prod-grid,.srp-cat-grid{grid-template-columns:1fr 1fr;gap:18px 14px;}
  .srp-trust-grid{grid-template-columns:1fr;}
  .srp-trust-item{border-right:none;border-bottom:1px solid var(--srp-line);}
  .srp-sec{padding:64px 0;}
  .srp-announce-dot{display:none;}
  .srp-announce span{margin:0 8px;}

  /* --------------------------------------------------------------------------
     Héro MOBILE robuste · v1.2.0
     On passe en min-height (et NON height) : si le thème injecte du padding ou
     du contenu, le héro grandit au lieu de couper la photo. max(560px,82svh)
     garantit un héro toujours haut ET plein cadre ; l'unité svh évite le saut
     de hauteur lié à la barre d'URL iOS (fallback px pour vieux navigateurs).
     Le texte reste TOUJOURS posé sur la photo (jamais sous l'image). ---------- */
  .srp-home .srp-hero{height:auto;max-height:none;min-height:620px!important;min-height:max(620px,86svh)!important;}
  .srp-home .srp-hero::after{background:linear-gradient(180deg,rgba(40,18,32,.10) 0%,rgba(40,18,32,0) 24%,rgba(40,18,32,.24) 52%,rgba(40,18,32,.80) 100%);}
  .srp-home .srp-hero-inner{padding-bottom:38px;}
  .srp-home .srp-hero-title{font-size:clamp(40px,12vw,58px);}
  .srp-home .srp-hero-sub{font-size:16px;margin:16px 0 26px;}
  .srp-home .srp-hero-cta{flex-direction:column;align-items:stretch;gap:12px;}  /* CTA empilés pleine largeur, comme la maquette */
  .srp-home .srp-hero-cta .srp-btn{width:100%;justify-content:center;padding:15px 22px;}

  /* Slider boutiques : 1 carte visible, navigation au doigt (flèches masquées). */
  .srp-slider .srp-slide{flex:0 0 86%;}
  .srp-slider-nav{display:none;}
  .srp-shops-cta-actions .srp-btn{width:100%;justify-content:center;}
}

/* ============================================================================
   Notre Histoire — page dédiée · shortcode [snazzy_ronde_histoire] · v1.5.0
   Réutilise les tokens de .srp-home (crème, prune, berry, Cormorant/Mulish).
   Tout est scopé sous .srp-home : aucun effet sur la home.
   ============================================================================ */

/* --- Héro plein cadre, texte centré (mécanique reprise du héro home, verrouillée) --- */
.srp-home .srp-hist-hero{position:relative;display:flex!important;align-items:center!important;justify-content:center;text-align:center;height:64vh;min-height:560px!important;max-height:780px;overflow:hidden;isolation:isolate;}
.srp-home .srp-hist-hero-bg{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-width:none!important;margin:0;object-fit:cover;object-position:center 30%;}
.srp-home .srp-hist-hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(40,18,32,.55) 0%,rgba(40,18,32,.30) 45%,rgba(40,18,32,.64) 100%);}
.srp-home .srp-hist-hero-inner{position:relative;z-index:2;width:100%;max-width:940px;margin:0 auto;padding:40px;}
.srp-home .srp-hist-eyebrow{display:inline-block;color:#E59FBE!important;-webkit-text-fill-color:#E59FBE!important;font-size:12px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;}
.srp-home .srp-hist-hero-title{color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;font-family:var(--srp-serif);font-size:clamp(42px,6.2vw,84px);font-weight:600;line-height:1.03;margin:16px 0 0;text-shadow:0 2px 30px rgba(40,18,32,.5);}
.srp-home .srp-hist-hl{font-style:italic;color:#F6D8E4!important;-webkit-text-fill-color:#F6D8E4!important;}
.srp-home .srp-hist-hero-sub{color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:clamp(16px,1.5vw,20px);font-weight:400;max-width:62ch;margin:22px auto 0;line-height:1.6;text-shadow:0 2px 18px rgba(40,18,32,.5);}

/* --- Bandeau prune « Venez comme vous êtes » --- */
.srp-home .srp-hist-statement{background:var(--srp-plum);color:#fff;text-align:center;padding:74px 0;}
.srp-home .srp-hist-statement h2{color:#fff;font-family:var(--srp-serif);font-size:clamp(30px,4.2vw,56px);font-weight:600;line-height:1.1;max-width:20ch;margin:0 auto;}

/* --- Deux colonnes : photo (sticky, arrondie) + blocs de texte --- */
.srp-home .srp-hist-story{padding:96px 0;}
.srp-home .srp-hist-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
.srp-home .srp-hist-media{position:sticky;top:40px;border-radius:16px;overflow:hidden;aspect-ratio:3/4;background:var(--srp-sand);box-shadow:0 30px 70px -45px rgba(59,22,46,.55);}
.srp-home .srp-hist-media img{width:100%;height:100%;object-fit:cover;}
.srp-home .srp-hist-blocks{display:flex;flex-direction:column;}
.srp-home .srp-hist-block h3{font-family:var(--srp-serif);font-size:clamp(24px,2.4vw,33px);font-weight:600;color:var(--srp-plum);line-height:1.12;margin:0 0 12px;}
.srp-home .srp-hist-block p{color:var(--srp-muted);font-size:16.5px;line-height:1.7;margin:0 0 10px;}
.srp-home .srp-hist-block p:last-child{margin-bottom:0;}
.srp-home .srp-hist-block + .srp-hist-block{margin-top:30px;padding-top:30px;border-top:1px solid var(--srp-line);}

/* --- CTA de clôture --- */
.srp-home .srp-hist-cta{background:linear-gradient(135deg,#fff 0%,var(--srp-sand) 100%);text-align:center;padding:82px 0;}
.srp-home .srp-hist-cta h2{font-family:var(--srp-serif);color:var(--srp-plum);font-size:clamp(28px,3.4vw,44px);font-weight:600;margin:0 0 14px;}
.srp-home .srp-hist-cta p{color:var(--srp-muted);font-size:17px;max-width:52ch;margin:0 auto 26px;}

/* --- Responsive --- */
@media(max-width:900px){
  .srp-home .srp-hist-grid{grid-template-columns:1fr;gap:38px;}
  .srp-home .srp-hist-media{position:relative;top:0;aspect-ratio:4/5;max-width:540px;margin:0 auto;}
  .srp-home .srp-hist-story{padding:64px 0;}
}
@media(max-width:560px){
  .srp-home .srp-hist-hero{height:auto;min-height:460px!important;}
  .srp-home .srp-hist-hero-bg{object-position:62% 28%;}
  .srp-home .srp-hist-statement{padding:52px 0;}
  .srp-home .srp-hist-cta{padding:60px 0;}
}

/* ============================================================================
   Nos Boutiques — page dédiée · shortcode [snazzy_ronde_boutiques] · v1.6.0
   Réutilise .srp-hist-hero / .srp-hist-cta + tokens .srp-home. Scopé .srp-boutiques.
   ============================================================================ */
.srp-boutiques .srp-bq-hero .srp-hist-hero-bg{object-position:center 42%;}

/* Intro centrée */
.srp-boutiques .srp-bq-intro{background:var(--srp-cream);text-align:center;padding:84px 0;}
.srp-boutiques .srp-bq-intro h2{font-family:var(--srp-serif);color:var(--srp-plum);font-size:clamp(28px,3.6vw,46px);font-weight:600;line-height:1.12;max-width:24ch;margin:0 auto 22px;}
.srp-boutiques .srp-bq-intro-text{max-width:760px;margin:0 auto;}
.srp-boutiques .srp-bq-intro-text p{color:var(--srp-muted);font-size:17px;line-height:1.75;margin:0 0 14px;}
.srp-boutiques .srp-bq-intro-text p:last-child{margin-bottom:0;}

/* Carte (locator) habillée */
.srp-boutiques .srp-bq-map{background:var(--srp-sand);padding:90px 0;}
.srp-boutiques .srp-bq-map-head{text-align:center;margin-bottom:40px;}
.srp-boutiques .srp-bq-map-head h2{font-family:var(--srp-serif);color:var(--srp-plum);font-size:clamp(28px,3.4vw,46px);font-weight:600;margin:10px 0 8px;}
.srp-boutiques .srp-bq-map-head p{color:var(--srp-muted);font-size:16px;margin:0;}
.srp-boutiques .srp-bq-map-frame{border-radius:18px;overflow:hidden;background:#fff;border:1px solid var(--srp-line);box-shadow:0 36px 90px -54px rgba(59,22,46,.55);}
.srp-boutiques .srp-bq-map-frame > *{max-width:100%;}

/* Atouts boutique */
.srp-boutiques .srp-bq-features{background:#fff;padding:90px 0;}
.srp-boutiques .srp-bq-feat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.srp-boutiques .srp-bq-feat{background:var(--srp-cream);border:1px solid var(--srp-line);border-radius:16px;padding:30px 24px;text-align:center;transition:transform .25s,box-shadow .25s;}
.srp-boutiques .srp-bq-feat:hover{transform:translateY(-4px);box-shadow:0 24px 50px -34px rgba(59,22,46,.45);}
.srp-boutiques .srp-bq-feat-icon{width:56px;height:56px;border-radius:50%;background:#fff;border:1px solid var(--srp-line);display:grid;place-items:center;margin:0 auto 16px;color:var(--srp-berry);}
.srp-boutiques .srp-bq-feat-icon svg{width:26px;height:26px;}
.srp-boutiques .srp-bq-feat h3{font-family:var(--srp-serif);color:var(--srp-plum);font-size:21px;font-weight:600;line-height:1.15;margin:0 0 8px;}
.srp-boutiques .srp-bq-feat p{color:var(--srp-muted);font-size:14.5px;line-height:1.55;margin:0;}

@media(max-width:1080px){.srp-boutiques .srp-bq-feat-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:900px){
  .srp-boutiques .srp-bq-intro{padding:60px 0;}
  .srp-boutiques .srp-bq-map{padding:60px 0;}
  .srp-boutiques .srp-bq-features{padding:64px 0;}
}
@media(max-width:560px){.srp-boutiques .srp-bq-feat-grid{grid-template-columns:1fr;}}

/* ============================================================================
   Nos Boutiques — héro plus contrasté (image claire) + CTA premium · v1.7.0
   ============================================================================ */
.srp-boutiques .srp-bq-hero{align-items:flex-end!important;text-align:center;}
.srp-boutiques .srp-bq-hero::after{background:linear-gradient(180deg,rgba(40,18,32,.42) 0%,rgba(40,18,32,.22) 38%,rgba(40,18,32,.86) 100%);}
.srp-boutiques .srp-bq-hero .srp-hist-hero-inner{padding-bottom:60px;}
.srp-boutiques .srp-bq-hero .srp-hist-eyebrow{display:inline-block;background:rgba(255,255,255,.16);padding:7px 16px;border-radius:40px;backdrop-filter:blur(4px);}
/* « Envie de venir nous voir ? » → vrai bandeau prune premium */
.srp-boutiques .srp-bq-cta{background:linear-gradient(120deg,var(--srp-plum),var(--srp-plum-2));padding:88px 0;}
.srp-boutiques .srp-bq-cta h2{color:#fff;}
.srp-boutiques .srp-bq-cta p{color:#E7CFDB;}

/* ============================================================================
   Contact — page dédiée · shortcode [snazzy_ronde_contact] · v1.7.0
   ============================================================================ */
.srp-contact .srp-ct-head{background:var(--srp-cream);text-align:center;padding:90px 0 64px;border-bottom:1px solid var(--srp-line);}
.srp-contact .srp-ct-head .srp-eyebrow{color:var(--srp-berry);}
.srp-contact .srp-ct-head h1{font-family:var(--srp-serif);color:var(--srp-plum);font-size:clamp(40px,5.2vw,72px);font-weight:600;line-height:1.03;margin:14px 0 0;}
.srp-contact .srp-ct-head .srp-hist-hl{font-style:italic;color:var(--srp-berry);}
.srp-contact .srp-ct-head p{color:var(--srp-muted);font-size:18px;max-width:56ch;margin:18px auto 0;line-height:1.6;}

.srp-contact .srp-ct-main{padding:80px 0;}
.srp-contact .srp-ct-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:54px;align-items:start;}

.srp-contact .srp-ct-info h2{font-family:var(--srp-serif);color:var(--srp-plum);font-size:clamp(26px,2.6vw,34px);font-weight:600;margin:0 0 14px;}
.srp-contact .srp-ct-info > p{color:var(--srp-muted);font-size:16px;line-height:1.7;margin:0 0 28px;}
.srp-contact .srp-ct-rows{display:flex;flex-direction:column;gap:20px;}
.srp-contact .srp-ct-row{display:flex;gap:16px;align-items:flex-start;}
.srp-contact .srp-ct-row-icon{flex-shrink:0;width:46px;height:46px;border-radius:50%;background:var(--srp-sand);color:var(--srp-berry);display:grid;place-items:center;}
.srp-contact .srp-ct-row-icon svg{width:22px;height:22px;}
.srp-contact .srp-ct-row b{display:block;font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--srp-plum);margin-bottom:3px;}
.srp-contact .srp-ct-row a,.srp-contact .srp-ct-row span{color:var(--srp-ink);font-size:16px;line-height:1.5;}
.srp-contact .srp-ct-row a:hover{color:var(--srp-berry);}

.srp-contact .srp-ct-form{background:#fff;border:1px solid var(--srp-line);border-radius:18px;padding:40px;box-shadow:0 30px 80px -55px rgba(59,22,46,.55);}
.srp-contact .srp-ct-form h2{font-family:var(--srp-serif);color:var(--srp-plum);font-size:clamp(24px,2.4vw,30px);font-weight:600;margin:0 0 22px;}
.srp-contact .srp-ct-field{margin-bottom:18px;}
.srp-contact .srp-ct-field label{display:block;font-size:13px;font-weight:700;color:var(--srp-plum);margin-bottom:7px;}
.srp-contact .srp-ct-field input,.srp-contact .srp-ct-field textarea{width:100%;border:1px solid var(--srp-line);border-radius:10px;background:var(--srp-cream);padding:13px 15px;font-family:var(--srp-sans);font-size:15px;color:var(--srp-ink);transition:border-color .2s,box-shadow .2s;}
.srp-contact .srp-ct-field input:focus,.srp-contact .srp-ct-field textarea:focus{outline:none;border-color:var(--srp-berry);box-shadow:0 0 0 3px rgba(192,49,110,.12);background:#fff;}
.srp-contact .srp-ct-field textarea{min-height:140px;resize:vertical;}
.srp-contact .srp-ct-hp{position:absolute !important;left:-9999px;width:1px;height:1px;overflow:hidden;}
.srp-contact .srp-ct-submit{width:100%;justify-content:center;border:none;cursor:pointer;font-family:var(--srp-sans);margin-top:4px;}
.srp-contact .srp-ct-form.is-sending .srp-ct-submit{opacity:.7;pointer-events:none;}
.srp-contact .srp-ct-form-msg{margin-top:16px;padding:14px 16px;border-radius:10px;font-size:14.5px;font-weight:600;display:none;}
.srp-contact .srp-ct-form-msg.is-ok{display:block;background:#EAF7F0;color:#1F7A52;border:1px solid #BFE6D2;}
.srp-contact .srp-ct-form-msg.is-err{display:block;background:#FCEBF1;color:#A22A5D;border:1px solid #F2C9DC;}

@media(max-width:900px){
  .srp-contact .srp-ct-grid{grid-template-columns:1fr;gap:36px;}
  .srp-contact .srp-ct-main{padding:56px 0;}
  .srp-contact .srp-ct-form{padding:28px;}
  .srp-contact .srp-ct-head{padding:64px 0 48px;}
}

/* Tuiles « Explorez nos collections » en vidéo (v1.8.0) — la vidéo remplace la photo */
.srp-home .srp-cat-media .srp-cat-vid{width:100%;height:100%;object-fit:cover;display:block;transition:transform .85s cubic-bezier(.2,.7,.2,1);}
.srp-home .srp-cat:hover .srp-cat-media .srp-cat-vid{transform:scale(1.05);}

/* ============================================================================
 * v1.13.0 — Coups de cœur (home) : badge « -XX% » + prix soldé façon pages
 * catégories (/collection/…) : prix barré gris, prix remisé rose, mention TTC.
 * !important ciblés : on verrouille face aux styles Woo/thème/Elementor.
 * ========================================================================== */
.srp-home .srp-prod-tag--sale{background:var(--srp-berry)!important;color:#fff!important;}
/* Prix barré (régulier) — gris doux, plus petit, comme en catégorie. */
.srp-home .srp-prod-price del{font-size:15px!important;font-weight:500;color:#B9A9B2!important;text-decoration:line-through;margin-right:8px;opacity:1!important;}
.srp-home .srp-prod-price del .woocommerce-Price-amount,
.srp-home .srp-prod-price del .amount{color:inherit!important;font-size:inherit!important;}
/* Prix remisé — rose berry, sans soulignement (Woo met un <ins>). */
.srp-home .srp-prod-price ins{text-decoration:none!important;background:transparent!important;}
.srp-home .srp-prod-price--sale ins,
.srp-home .srp-prod-price--sale ins .woocommerce-Price-amount,
.srp-home .srp-prod-price--sale ins .amount{color:var(--srp-berry)!important;}
/* Mention TTC — petite capitale grise, alignée sur les pages catégories. */
.srp-home .srp-prod-ttc{font-family:var(--srp-sans);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--srp-muted);margin-left:7px;vertical-align:2px;}
/* Fourchettes de prix variables : on garde la lisibilité si « 90,30€ – 120,00€ ». */
.srp-home .srp-prod-price .woocommerce-Price-amount{white-space:nowrap;}
