:root{
  --spring-ink:#434846;
  --spring-cream:#fcfbf7;
  --spring-blue:#f0f6f8;
  --spring-grey:#eeeeee;
  --spring-line:rgba(67,72,70,.12);
}

html,body{
  background:var(--spring-cream)!important;
  color:var(--spring-ink)!important;
}

body.v221-fashion{
  --ld-ink:var(--spring-ink);
  --ld-muted:#7d827f;
  --ld-wine:#a9c2cc;
  --ld-ice:#dce9ee;
  --ld-paper:var(--spring-cream);
  --ld-soft:var(--spring-cream);
  --ld-line:var(--spring-line);
}

/* Printemps: fonds unis seulement. Le fond général reste blanc crème. */
.announce{
  background:var(--spring-cream)!important;
  color:var(--spring-ink)!important;
  border-color:var(--spring-line)!important;
}
.site-header,.mobile-nav{background:rgba(252,251,247,.97)!important}
.v221-main,
.v221-fashion main{background:var(--spring-cream)!important}

/*
   IMPORTANT: on ne touche plus aux largeurs/marges structurelles du thème.
   Les sections et le fond utilisent la même teinte crème, donc les gouttières
   d'origine restent invisibles sans casser la mise en page.
*/
.v221-intro,
.v221-shop-section,
.v221-newsletter{
  background:var(--spring-cream)!important;
}

/* Emplacements des futures photos campagne: gris clair uni. */
.v221-campaign-placeholder,
.v221-campaign-secondary{
  background:var(--spring-grey)!important;
  background-image:none!important;
}
.v221-campaign-placeholder span,
.v221-campaign-secondary span{
  color:#a5a5a5!important;
}

/* Bloc campagne texte: crème, pour rester calme avec les photos grises. */
.v221-campaign-break-copy{
  background:var(--spring-cream)!important;
}
.v221-campaign-break-copy h2 em{color:#a9bec6!important}

/* Citation: seul grand aplat pastel de la page. */
.v221-manifesto{
  background:var(--spring-blue)!important;
  color:var(--spring-ink)!important;
}
.v221-manifesto p{color:var(--spring-ink)!important}
.v221-manifesto em{color:#9fb7c0!important}

.v221-primary-link,.v221-text-link{color:#7898a5!important}

.spring-categories{
  display:flex;
  gap:1.35rem;
  flex-wrap:wrap;
  align-items:center;
  font-size:.68rem;
  letter-spacing:.14em;
  color:#878c89;
  text-transform:uppercase;
}
.spring-categories span+span:before{content:"·";margin-right:1.35rem;color:#bbb7b4}
.spring-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.spring-coming-card{cursor:default!important}

/* Blocs pyjamas = gris clair jusqu'aux vraies photos. */
.v221-product-image,
.spring-product-placeholder,
.spring-product-card:nth-child(even) .spring-product-placeholder,
.v221-product-card:nth-child(3n+2) .v221-product-image,
.v221-product-card:nth-child(3n+3) .v221-product-image{
  background:var(--spring-grey)!important;
  background-image:none!important;
}
.spring-product-placeholder{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:420px!important;
}
.spring-product-placeholder span{
  font-family:inherit;
  font-size:.66rem;
  letter-spacing:.18em;
  color:#9a9a9a;
  text-transform:uppercase;
}

@media(max-width:850px){
  .spring-product-grid{grid-template-columns:1fr 1fr!important}
  .spring-categories{gap:.7rem}
  .spring-categories span+span:before{margin-right:.7rem}
}
@media(max-width:560px){
  .spring-product-grid{grid-template-columns:1fr!important}
  .spring-product-placeholder{min-height:330px!important}
  .spring-categories{font-size:.58rem}
}

/* V23.7 — davantage de couleur, sans toucher au layout */
:root{
  --spring-pink:#fff2f4;
  --spring-blue-2:#f2f7fb;
  --spring-butter:#fff8e8;
  --spring-product-grey:#e9e9e9;
}

/* Les blocs produits restent TOUS exactement du même gris. */
.v221-product-image,
.spring-product-placeholder,
.spring-product-card:nth-child(even) .spring-product-placeholder,
.v221-product-card:nth-child(3n+2) .v221-product-image,
.v221-product-card:nth-child(3n+3) .v221-product-image{
  background:var(--spring-product-grey)!important;
  background-image:none!important;
}

/* Couleurs printemps par grandes rubriques éditoriales uniquement. */
.v221-intro{
  background:var(--spring-pink)!important;
}
.v221-shop-section{
  background:var(--spring-cream)!important;
}
.v221-campaign-break-copy{
  background:var(--spring-butter)!important;
}
.v221-manifesto{
  background:var(--spring-blue-2)!important;
}
.v221-newsletter{
  background:var(--spring-pink)!important;
}

/* Les emplacements photo campagne restent gris neutre. */
.v221-campaign-placeholder,
.v221-campaign-secondary{
  background:var(--spring-product-grey)!important;
  background-image:none!important;
}

/* V23.8 — jaune + bleu, produits uniformes, grille pleine largeur */
:root{
  --spring-blue-final:#eef7fb;
  --spring-yellow-final:#fff8dc;
  --spring-product-grey-final:#e7e7e7;
}

/* Aucun rose dans les grands aplats. */
.v221-intro{background:var(--spring-blue-final)!important;}
.v221-campaign-break-copy{background:var(--spring-yellow-final)!important;}
.v221-manifesto{background:var(--spring-blue-final)!important;}
.v221-newsletter{background:var(--spring-yellow-final)!important;}

/* La section produits est réellement pleine largeur : plus de gouttières latérales autour de la grille. */
.v221-fashion .v221-shop-section{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:7rem 0!important;
  box-sizing:border-box!important;
}
.v221-fashion .v221-shop-section .v221-section-head{
  padding-left:2.5rem!important;
  padding-right:2.5rem!important;
  box-sizing:border-box!important;
}
.v221-fashion .v221-shop-section .v221-product-grid{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
}

/* Tous les emplacements produits utilisent exactement le même gris. */
.v221-fashion .v221-product-card .v221-product-image,
.v221-fashion .spring-coming-card .spring-product-placeholder,
.v221-fashion .spring-product-placeholder{
  background:var(--spring-product-grey-final)!important;
  background-color:var(--spring-product-grey-final)!important;
  background-image:none!important;
}

/* Cartes cliquables, sans modifier l'apparence typographique. */
a.v221-product-card{
  display:block!important;
  color:inherit!important;
  text-decoration:none!important;
  cursor:pointer!important;
}
a.v221-product-card:focus-visible{
  outline:2px solid #9bbccc;
  outline-offset:4px;
}

@media(max-width:850px){
  .v221-fashion .v221-shop-section{padding:5rem 0!important;}
  .v221-fashion .v221-shop-section .v221-section-head{
    padding-left:1.5rem!important;
    padding-right:1.5rem!important;
  }
}
@media(max-width:560px){
  .v221-fashion .v221-shop-section{padding:4rem 0!important;}
  .v221-fashion .v221-shop-section .v221-section-head{
    padding-left:1rem!important;
    padding-right:1rem!important;
  }
}

/* V23.9 — corrections ciblées demandées */
:root{
  --spring-cream-final:#fcfbf7;
  --spring-beige-final:#f4ede3;
  --spring-blue-final2:#eef7fb;
  --spring-yellow-final2:#fff8dc;
  --spring-product-grey-final2:#e7e7e7;
}

/* 1) Les aplats colorés vont réellement jusqu'aux bords de la fenêtre.
      Le contenu garde une respiration intérieure, sans bande blanche extérieure. */
.v221-fashion .v221-intro,
.v221-fashion .v221-newsletter{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  box-sizing:border-box!important;
  padding-left:max(3rem,calc((100vw - 1500px)/2 + 3rem))!important;
  padding-right:max(3rem,calc((100vw - 1500px)/2 + 3rem))!important;
}

/* La boutique occupe toute la largeur mais les cartes restent compactes. */
.v221-fashion .v221-shop-section{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  box-sizing:border-box!important;
  padding:7rem 1rem!important;
}
.v221-fashion .v221-shop-section .v221-section-head{
  width:100%!important;
  max-width:none!important;
  margin:0 0 3rem!important;
  padding:0!important;
}
.v221-fashion .v221-shop-section .v221-product-grid{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:1rem!important;
}

/* 2) Palette sans rose : crème + jaune + bleu. */
html,body,.v221-main,.v221-fashion main{
  background:var(--spring-cream-final)!important;
}
.v221-intro{background:var(--spring-blue-final2)!important;}
.v221-campaign-break-copy{background:var(--spring-yellow-final2)!important;}
.v221-manifesto{background:var(--spring-blue-final2)!important;}
/* Avant l'ouverture = beige, explicitement. */
.v221-newsletter{background:var(--spring-beige-final)!important;}

/* 3) Tous les blocs produits sont strictement le même gris et moins massifs. */
.v221-fashion .v221-product-card .v221-product-image,
.v221-fashion .spring-coming-card .spring-product-placeholder,
.v221-fashion .spring-product-placeholder{
  background:var(--spring-product-grey-final2)!important;
  background-color:var(--spring-product-grey-final2)!important;
  background-image:none!important;
  min-height:0!important;
  aspect-ratio:4/5!important;
}

/* Les produits sont bien des liens actifs. */
.v221-fashion a.v221-product-card,
.v221-fashion a.spring-coming-card{
  display:block!important;
  pointer-events:auto!important;
  cursor:pointer!important;
}

@media(max-width:1200px){
  .v221-fashion .v221-shop-section .v221-product-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:850px){
  .v221-fashion .v221-intro,
  .v221-fashion .v221-newsletter{
    padding-left:1.5rem!important;
    padding-right:1.5rem!important;
  }
  .v221-fashion .v221-shop-section{
    padding:5rem .75rem!important;
  }
  .v221-fashion .v221-shop-section .v221-product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.75rem!important;
  }
}
@media(max-width:560px){
  .v221-fashion .v221-intro,
  .v221-fashion .v221-newsletter{
    padding-left:1rem!important;
    padding-right:1rem!important;
  }
  .v221-fashion .v221-shop-section{
    padding:4rem .65rem!important;
  }
  .v221-fashion .v221-shop-section .v221-product-grid{
    grid-template-columns:1fr!important;
    gap:2.5rem!important;
  }
}

/* V24.0 targeted homepage correction */
.v221-newsletter{background:#fcfbf7!important;}

/* V25 — palette printemps adoucie : bleu + jaune presque crème, sans rose */
:root{
  --spring-blue-soft:#eaf3f6;
  --spring-yellow-soft:#fffdf3;
  --spring-product-grey-v25:#e7e7e7;
}
.v221-intro{background:var(--spring-blue-soft)!important;}
.v221-campaign-break-copy{background:var(--spring-yellow-soft)!important;}
.v221-manifesto{background:var(--spring-blue-soft)!important;}
.v221-newsletter{background:var(--spring-cream-final)!important;}
.v221-fashion .v221-product-card .v221-product-image,
.v221-fashion .spring-coming-card .spring-product-placeholder,
.v221-fashion .spring-product-placeholder{
  background:var(--spring-product-grey-v25)!important;
  background-color:var(--spring-product-grey-v25)!important;
  background-image:none!important;
}
