.home-ecom-demon {
  --vert: #0F9D58;          
  --vert-fonce: #0a6e3d;
  --encre: #0A0A0A;         
  --washi: #F4ECD8;         
  --washi-2: #efe4c9;
  --laque: #C4452F;         
  --or: #E8B84B;            
  --texte: #1c1a17;
  --texte-clair: #f6f1e4;
  --gris-placeholder: #d9d2c2;

  --rayon: 14px;
  --max: 1180px;
  --pas: clamp(3.5rem, 9vw, 6.5rem); 
  --ombre: 0 18px 40px rgba(10, 10, 10, .18);
  --ombre-perso: 0 30px 50px rgba(10, 10, 10, .45);

  
  --mont-loin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='300' viewBox='0 0 1200 300' preserveAspectRatio='none'%3E%3Cpath d='M0 300V190L180 120L360 200L540 110L720 205L900 130L1080 210L1200 150V300Z' fill='%23173a2a'/%3E%3C/svg%3E");
  --mont-pres: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='300' viewBox='0 0 1200 300' preserveAspectRatio='none'%3E%3Cpath d='M0 300V170L160 95L330 185L500 80L660 195L830 110L1010 205L1200 120V300Z' fill='%230a140e'/%3E%3C/svg%3E");
}
.home-ecom-demon 
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
.home-ecom-demon {
  margin: 0;
  font-family: "Inter", system-ui, sans-serif;
  color: var(--texte);
  background: var(--washi);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
.home-ecom-demon h1, .home-ecom-demon h2, .home-ecom-demon h3 {
  font-family: "Shippori Mincho", Georgia, serif;
  line-height: 1.15;
  margin: 0 0 .6em;
  font-weight: 700;
}
.home-ecom-demon h2 { font-size: clamp(1.7rem, 4.5vw, 2.6rem); }
.home-ecom-demon h3 { font-size: clamp(1.1rem, 2.6vw, 1.35rem); }
.home-ecom-demon p { margin: 0 0 1rem; }
.home-ecom-demon img { max-width: 100%; display: block; }
.home-ecom-demon a { color: inherit; }
.home-ecom-demon section { padding: var(--pas) 1.25rem; }
.home-ecom-demon 
:focus-visible {
  outline: 3px solid var(--or);
  outline-offset: 3px;
  border-radius: 4px;
}
.home-ecom-demon 
.ruban {
  display: inline-block;
  font-family: "Shippori Mincho", serif;
  font-size: .82rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--texte-clair);
  background: var(--vert);
  padding: .4rem 1rem .4rem .9rem;
  margin-bottom: 1rem;
  position: relative;
  clip-path: polygon(0 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
}
.home-ecom-demon .ruban--clair { background: var(--encre); color: var(--texte-clair); }
.home-ecom-demon .ruban--or { background: var(--or); color: var(--encre); }
.home-ecom-demon 
.btn {
  display: inline-block;
  font-weight: 600;
  text-decoration: none;
  padding: .85rem 1.6rem;
  border-radius: 999px;
  transition: transform .2s ease, background .2s ease, color .2s ease;
  cursor: pointer;
  border: 2px solid transparent;
  font-size: 1rem;
}
.home-ecom-demon .btn--vert { background: var(--vert); color: #fff; }
.home-ecom-demon .btn--vert:hover { background: var(--vert-fonce); transform: translateY(-2px); }
.home-ecom-demon .btn--ligne { border-color: currentColor; color: var(--encre); background: transparent; }
.home-ecom-demon .btn--ligne:hover { background: var(--encre); color: var(--washi); transform: translateY(-2px); }
.home-ecom-demon .btn--petit { padding: .55rem 1.1rem; font-size: .9rem; }
.home-ecom-demon .btn--grand { padding: 1rem 2rem; font-size: 1.05rem; }
.home-ecom-demon .btn--centre { display: block; width: fit-content; margin: 2.5rem auto 0; }
.home-ecom-demon 
.hero {
  position: relative;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 5rem 1.25rem 4rem;
  overflow: hidden;
  color: var(--texte-clair);
  isolation: isolate;
}
.home-ecom-demon .hero__decor {
  position: absolute; inset: 0; z-index: -2;
  
  background:
    url("https://boutique-demon-slayer.com/wp-content/uploads/home-ecom/boutique-demon-slayer.com/assets/img/scene-hero.jpg") center / cover no-repeat,
    var(--mont-pres) bottom / 100% 46% no-repeat,
    var(--mont-loin) bottom / 100% 60% no-repeat,
    radial-gradient(closest-side at 74% 26%, rgba(232,184,75,.95), rgba(196,69,47,.45) 55%, transparent 72%),
    linear-gradient(180deg, #16243d 0%, #3a2542 38%, #7c2f3b 62%, #bb5a30 80%, #0b110d 100%);
}
.home-ecom-demon .hero__decor::after { 
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(8,20,14,.55) 0%, rgba(8,16,12,.30) 45%, rgba(7,12,10,.9) 100%);
}
.home-ecom-demon .hero__brume {
  position: absolute; inset: 0; z-index: -1;
  background: radial-gradient(120% 60% at 50% 100%, rgba(15,157,88,.28), transparent 60%);
  pointer-events: none;
}
.home-ecom-demon .hero__contenu { max-width: 640px; position: relative; z-index: 2; }
.home-ecom-demon .hero__titre {
  font-size: clamp(2.3rem, 8vw, 4.2rem);
  margin-bottom: 1rem;
  text-shadow: 0 4px 24px rgba(0,0,0,.5);
}
.home-ecom-demon .hero__texte {
  font-size: clamp(1rem, 2.4vw, 1.15rem);
  max-width: 46ch;
  color: #ece6d6;
}
.home-ecom-demon .hero__actions { display: flex; flex-wrap: wrap; gap: .8rem; margin: 1.6rem 0 1.4rem; }
.home-ecom-demon .hero .btn--ligne { color: var(--texte-clair); }
.home-ecom-demon .hero__reperes {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-wrap: wrap; gap: .5rem 1.4rem;
  font-size: .85rem; color: #d7cfbd;
}
.home-ecom-demon .hero__reperes li { position: relative; padding-left: 1.1rem; }
.home-ecom-demon .hero__reperes li::before {
  content: "\2022"; color: var(--or); position: absolute; left: 0;
}
.home-ecom-demon .hero__guide {
  position: absolute;
  right: -2rem; bottom: -1rem;
  width: min(58vw, 360px);
  z-index: 1;
  filter: drop-shadow(var(--ombre-perso));
  opacity: .96;
  pointer-events: none;
}
.home-ecom-demon .hero__fleche {
  position: absolute; left: 50%; bottom: 1.2rem; transform: translateX(-50%);
  z-index: 3; color: var(--washi);
  width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.5);
  border-radius: 50%; display: grid; place-items: center;
  text-decoration: none; font-size: 1.1rem;
  animation: flotte 2.4s ease-in-out infinite;
}
@keyframes flotte { 0%,100% { transform: translate(-50%, 0); } 50% { transform: translate(-50%, 6px); } }
.home-ecom-demon 
.souffle {
  background: var(--encre);
  color: var(--texte-clair);
  position: relative;
  overflow: hidden;
}
.home-ecom-demon .souffle::before {
  content: ""; position: absolute; inset: 0; z-index: 0;
  background:
    linear-gradient(180deg, rgba(7,10,8,.80), rgba(7,12,9,.88)),
    url("https://boutique-demon-slayer.com/wp-content/uploads/home-ecom/boutique-demon-slayer.com/assets/img/scene-souffle.jpg") center / cover no-repeat,
    radial-gradient(120% 80% at 50% 0%, rgba(15,157,88,.35), transparent 60%),
    linear-gradient(180deg, #0a0a0a, #0c1a12);
}
.home-ecom-demon .souffle > * { position: relative; z-index: 1; }
.home-ecom-demon .souffle__intro { max-width: 640px; margin: 0 auto 2.4rem; text-align: center; }
.home-ecom-demon .souffle__intro p { color: #cfc8b8; }
.home-ecom-demon .souffle__voies {
  display: flex; flex-wrap: wrap; justify-content: center; gap: .7rem;
  max-width: 760px; margin: 0 auto 2.4rem;
}
.home-ecom-demon .voie {
  flex: 1 1 120px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.14);
  color: var(--texte-clair);
  border-radius: var(--rayon);
  padding: 1.1rem .6rem;
  display: flex; flex-direction: column; align-items: center; gap: .6rem;
  cursor: pointer;
  transition: border-color .25s, background .25s, transform .25s;
  font-family: inherit;
}
.home-ecom-demon .voie:hover { transform: translateY(-3px); border-color: var(--or); }
.home-ecom-demon .voie__lueur {
  width: 34px; height: 46px; border-radius: 50% 50% 46% 46% / 60% 60% 40% 40%;
  background: radial-gradient(circle at 50% 38%, #5b5345, #211f1a);
  border: 1px solid rgba(232,184,75,.35);
  transition: background .3s, box-shadow .3s;
}
.home-ecom-demon .voie.is-actif { border-color: var(--or); background: rgba(232,184,75,.1); }
.home-ecom-demon .voie.is-actif .voie__lueur {
  background: radial-gradient(circle at 50% 38%, var(--or), var(--laque) 90%);
  box-shadow: 0 0 22px rgba(232,184,75,.7);
}
.home-ecom-demon .voie__nom { font-family: "Shippori Mincho", serif; font-weight: 600; }
.home-ecom-demon .souffle__resultat { max-width: var(--max); margin: 0 auto; }
.home-ecom-demon .souffle__phrase {
  text-align: center; font-family: "Shippori Mincho", serif;
  font-size: 1.15rem; color: var(--or); margin-bottom: 1.6rem; min-height: 1.6em;
}
.home-ecom-demon .souffle__cartes {
  display: grid; gap: 1rem;
  grid-template-columns: repeat(2, 1fr);
}
.home-ecom-demon 
.etoffes { background: var(--washi); }
.home-ecom-demon .etoffes__entete { max-width: 640px; margin: 0 auto 2.2rem; text-align: center; }
.home-ecom-demon .couloir {
  display: flex; gap: 1rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: .5rem .25rem 1.5rem;
  -webkit-overflow-scrolling: touch;
}
.home-ecom-demon .couloir::-webkit-scrollbar { height: 8px; }
.home-ecom-demon .couloir::-webkit-scrollbar-thumb { background: var(--vert); border-radius: 8px; }
.home-ecom-demon .etoffe {
  scroll-snap-align: start;
  flex: 0 0 75%;
  max-width: 280px;
  background: #fff;
  border: 1px solid var(--washi-2);
  border-radius: var(--rayon);
  padding: 1rem 1rem 1.3rem;
  box-shadow: var(--ombre);
  position: relative;
}
.home-ecom-demon .etoffe::before {
  content: ""; position: absolute; top: 0; left: 1rem; right: 1rem; height: 4px;
  background: linear-gradient(90deg, var(--vert), var(--or));
  border-radius: 0 0 4px 4px;
}
.home-ecom-demon .etoffe__img {
  height: 160px; width: 100%; object-fit: contain;
  margin: .8rem 0 1rem;
  filter: drop-shadow(0 12px 18px rgba(0,0,0,.2));
}
.home-ecom-demon .etoffe h3 { margin-bottom: .3rem; }
.home-ecom-demon .etoffe p { font-size: .92rem; color: #4a463d; margin: 0; }
.home-ecom-demon 
.atelier {
  display: grid; gap: 2rem;
  background: var(--washi-2);
  align-items: center;
}
.home-ecom-demon .atelier__visuel {
  position: relative;
  border-radius: var(--rayon);
  overflow: hidden;
  min-height: 320px;
  background:
    url("https://boutique-demon-slayer.com/wp-content/uploads/home-ecom/boutique-demon-slayer.com/assets/img/scene-atelier.jpg") center / cover no-repeat,
    repeating-linear-gradient(90deg, rgba(0,0,0,.06) 0 2px, transparent 2px 26px),
    linear-gradient(180deg, #6b4a2f, #3c2a1c);
  display: grid; place-items: end center;
}
.home-ecom-demon .atelier__visuel::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(10,10,10,.1), rgba(10,40,25,.45));
}
.home-ecom-demon .atelier__perso {
  position: relative; z-index: 1;
  height: 300px; width: auto; object-fit: contain;
  filter: drop-shadow(var(--ombre-perso));
}
.home-ecom-demon .atelier__liste { padding-left: 1.1rem; margin: 0 0 1.4rem; }
.home-ecom-demon .atelier__liste li { margin-bottom: .35rem; }
.home-ecom-demon 
.galerie {
  background: var(--encre); color: var(--texte-clair);
  position: relative; overflow: hidden;
}
.home-ecom-demon .galerie::before {
  content: ""; position: absolute; inset: 0; z-index: 0;
  background:
    linear-gradient(180deg, rgba(9,12,16,.78), rgba(7,10,9,.9)),
    url("https://boutique-demon-slayer.com/wp-content/uploads/home-ecom/boutique-demon-slayer.com/assets/img/scene-galerie.jpg") center / cover no-repeat,
    var(--mont-pres) bottom / 100% 38% no-repeat,
    radial-gradient(circle at 78% 22%, rgba(232,184,75,.4), transparent 40%),
    linear-gradient(180deg, #0d1828, #0a0f0c);
}
.home-ecom-demon .galerie > * { position: relative; z-index: 1; }
.home-ecom-demon .galerie__entete { max-width: 640px; margin: 0 auto 2.6rem; text-align: center; }
.home-ecom-demon .galerie__entete p { color: #cfc8b8; }
.home-ecom-demon .galerie__rang {
  display: grid; gap: 1rem;
  grid-template-columns: repeat(2, 1fr);
}
.home-ecom-demon .collector {
  margin: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.01));
  border: 1px solid rgba(232,184,75,.25);
  border-radius: var(--rayon);
  padding: 1rem .6rem .8rem;
  text-align: center;
  transition: transform .3s, border-color .3s;
}
.home-ecom-demon .collector:hover { transform: translateY(-6px); border-color: var(--or); }
.home-ecom-demon .collector img {
  height: 190px; width: 100%; object-fit: contain;
  filter: drop-shadow(0 18px 26px rgba(0,0,0,.5));
}
.home-ecom-demon .collector figcaption {
  margin-top: .6rem; font-family: "Shippori Mincho", serif;
  color: var(--or); font-size: .95rem;
}
.home-ecom-demon .galerie .btn--ligne {
  color: var(--encre);
  border-color: var(--or);
  background: var(--or);
}
.home-ecom-demon .galerie .btn--ligne:hover {
  color: var(--washi);
  border-color: var(--washi);
  background: transparent;
}
.home-ecom-demon 
.bestsellers { background: var(--washi); }
.home-ecom-demon .bestsellers__entete { max-width: 640px; margin: 0 auto 2.4rem; text-align: center; }
.home-ecom-demon .bestsellers__grille {
  display: grid; gap: 1.2rem;
  grid-template-columns: repeat(2, 1fr);
  max-width: var(--max); margin: 0 auto;
}
.home-ecom-demon .carte-produit {
  background: #fff;
  border: 1px solid var(--washi-2);
  border-radius: var(--rayon);
  padding: .8rem .8rem 1.1rem;
  display: flex; flex-direction: column;
  box-shadow: var(--ombre);
}
.home-ecom-demon .carte-produit h3 { font-size: 1.05rem; margin: .8rem 0 .2rem; }
.home-ecom-demon .carte-produit__prix { color: var(--vert-fonce); font-weight: 700; margin: 0 0 .9rem; }
.home-ecom-demon .carte-produit .btn { margin-top: auto; align-self: flex-start; }
.home-ecom-demon .carte-produit a,
.home-ecom-demon .carte-produit .btn {
  text-decoration: none !important;
}
.home-ecom-demon .carte-produit__tag {
  align-self: flex-start; font-size: .72rem; letter-spacing: .08em;
  text-transform: uppercase; background: var(--laque); color: #fff;
  padding: .2rem .6rem; border-radius: 999px; margin-bottom: .2rem;
}
.home-ecom-demon 
.produit-placeholder {
  position: relative;
  aspect-ratio: 1 / 1;
  border-radius: 10px;
  background:
    repeating-linear-gradient(45deg, rgba(0,0,0,.025) 0 10px, transparent 10px 20px),
    var(--gris-placeholder);
  display: grid; place-items: center;
  overflow: hidden;
}
.home-ecom-demon .produit-placeholder::before {
  content: ""; position: absolute; width: 46px; height: 46px;
  border: 2px solid rgba(10,10,10,.18); border-radius: 50%;
  box-shadow: 0 0 0 7px rgba(10,10,10,.05);
}
.home-ecom-demon .produit-placeholder span {
  position: relative; font-size: .72rem; letter-spacing: .1em;
  text-transform: uppercase; color: rgba(10,10,10,.4);
  transform: translateY(34px);
}
.home-ecom-demon 
.rang {
  background:
    linear-gradient(120deg, rgba(15,157,88,.92), rgba(10,60,38,.92)),
    var(--encre);
  color: var(--texte-clair);
}
.home-ecom-demon .rang__carte {
  max-width: var(--max); margin: 0 auto;
  display: grid; gap: 1.6rem; align-items: center;
  background: rgba(0,0,0,.18);
  border: 1px dashed rgba(255,255,255,.35);
  border-radius: var(--rayon);
  padding: clamp(1.5rem, 5vw, 2.6rem);
}
.home-ecom-demon .rang__gauche p { color: #e7e1d2; margin: 0; }
.home-ecom-demon .rang__code { text-align: center; }
.home-ecom-demon .rang__label { font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; color: #d8d1c0; margin-bottom: .6rem; }
.home-ecom-demon .rang__pastille {
  font-family: "Shippori Mincho", serif;
  font-size: 1.6rem; font-weight: 700; letter-spacing: .12em;
  background: var(--or); color: var(--encre);
  border: none; border-radius: 12px;
  padding: 1rem 1.6rem; cursor: pointer;
  display: inline-flex; flex-direction: column; align-items: center; gap: .15rem;
  transition: transform .2s;
}
.home-ecom-demon .rang__pastille small { font-size: .65rem; letter-spacing: .15em; text-transform: uppercase; font-weight: 600; opacity: .7; }
.home-ecom-demon .rang__pastille:hover { transform: scale(1.04); }
.home-ecom-demon .rang__pastille.is-copie { background: #fff; }
.home-ecom-demon .rang__remise { margin: 1rem 0 0; font-weight: 600; }
.home-ecom-demon 
.carnet { display: grid; gap: 2rem; background: var(--washi); align-items: center; }
.home-ecom-demon .carnet__etapes { padding-left: 1.2rem; margin: 1rem 0 0; }
.home-ecom-demon .carnet__etapes li { margin-bottom: .5rem; }
.home-ecom-demon .carnet__visuel {
  position: relative; border-radius: var(--rayon); overflow: hidden;
  min-height: 320px;
  background:
    url("https://boutique-demon-slayer.com/wp-content/uploads/home-ecom/boutique-demon-slayer.com/assets/img/scene-carnet.jpg") center / cover no-repeat,
    radial-gradient(circle at 50% 30%, rgba(15,157,88,.25), transparent 60%),
    repeating-linear-gradient(0deg, rgba(0,0,0,.015) 0 3px, transparent 3px 6px),
    linear-gradient(180deg, #f6efdd, #ece0c4);
  display: grid; place-items: center;
}
.home-ecom-demon .carnet__perso {
  height: 320px; width: auto; object-fit: contain;
  filter: drop-shadow(var(--ombre-perso));
}
.home-ecom-demon 
.avis { background: var(--washi-2); }
.home-ecom-demon .avis__entete { text-align: center; max-width: 600px; margin: 0 auto 2.4rem; }
.home-ecom-demon .avis__grille { display: grid; gap: 1.2rem; max-width: var(--max); margin: 0 auto; }
.home-ecom-demon .temoin {
  margin: 0; background: #fff; border-radius: var(--rayon);
  padding: 1.4rem 1.3rem 1.1rem;
  box-shadow: var(--ombre);
  border-left: 5px solid var(--vert);
}
.home-ecom-demon .temoin::before,
.home-ecom-demon .temoin::after {
  content: none !important;
  display: none !important;
}
.home-ecom-demon .temoin__note { color: var(--or); margin: 0 0 .5rem; font-size: 1.05rem; letter-spacing: .1em; }
.home-ecom-demon .temoin p { font-size: .98rem; }
.home-ecom-demon .temoin footer { font-size: .85rem; color: #57524700; color: #5a554a; margin-top: .6rem; }
.home-ecom-demon .temoin footer span { font-weight: 700; color: var(--texte); }
.home-ecom-demon .avis__resume { text-align: center; margin-top: 1.8rem; font-weight: 600; }
.home-ecom-demon 
.cadeaux {
  display: grid; gap: 2rem;
  background:
    linear-gradient(180deg, rgba(244,236,216,.88), rgba(244,236,216,.93)),
    url("https://boutique-demon-slayer.com/wp-content/uploads/home-ecom/boutique-demon-slayer.com/assets/img/scene-cadeaux.jpg") center / cover no-repeat,
    radial-gradient(80% 120% at 100% 0%, rgba(232,184,75,.25), transparent 55%),
    linear-gradient(180deg, #f4ecd8, #efe4c9);
}
.home-ecom-demon .cadeaux__intro { max-width: 540px; }
.home-ecom-demon .cadeaux__cartes { display: grid; gap: 1.2rem; grid-template-columns: repeat(2, 1fr); }
.home-ecom-demon 
.garanties { background: var(--encre); color: var(--texte-clair); }
.home-ecom-demon .garanties__entete { text-align: center; margin-bottom: 2.4rem; }
.home-ecom-demon .garanties__grille {
  list-style: none; padding: 0; margin: 0 auto; max-width: var(--max);
  display: grid; gap: 1rem; grid-template-columns: repeat(2, 1fr);
}
.home-ecom-demon .garantie {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--rayon);
  padding: 1.3rem 1.1rem;
}
.home-ecom-demon .garantie__pic { font-size: 1.6rem; display: block; margin-bottom: .6rem; }
.home-ecom-demon .garantie h3 { margin-bottom: .3rem; }
.home-ecom-demon .garantie p { margin: 0; font-size: .92rem; color: #cfc8b8; }
.home-ecom-demon 
.faq { background: var(--washi); }
.home-ecom-demon .faq__entete { text-align: center; max-width: 600px; margin: 0 auto 2.2rem; }
.home-ecom-demon .faq__liste { max-width: 760px; margin: 0 auto; }
.home-ecom-demon .qr {
  background: #fff;
  border: 1px solid var(--washi-2);
  border-radius: var(--rayon);
  margin-bottom: .8rem;
  overflow: hidden;
}
.home-ecom-demon .qr summary {
  cursor: pointer; padding: 1.1rem 1.2rem;
  font-family: "Shippori Mincho", serif; font-weight: 600;
  list-style: none; position: relative; padding-right: 3rem;
}
.home-ecom-demon .qr summary::-webkit-details-marker { display: none; }
.home-ecom-demon .qr summary::after {
  content: "+"; position: absolute; right: 1.2rem; top: 50%;
  transform: translateY(-50%); font-size: 1.5rem; color: var(--vert);
  transition: transform .25s;
}
.home-ecom-demon .qr[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.home-ecom-demon .qr__corps { padding: 0 1.2rem 1.1rem; }
.home-ecom-demon .qr__corps p { margin: 0; color: #4a463d; }
.home-ecom-demon 
.final {
  position: relative; overflow: hidden;
  color: var(--texte-clair); text-align: center;
  min-height: 80svh; display: grid; place-items: center;
}
.home-ecom-demon .final::before {
  content: ""; position: absolute; inset: 0; z-index: -2;
  background:
    url("https://boutique-demon-slayer.com/wp-content/uploads/home-ecom/boutique-demon-slayer.com/assets/img/scene-final.jpg") center / cover no-repeat,
    radial-gradient(circle at 22% 30%, rgba(196,69,47,.6), transparent 24%),
    radial-gradient(circle at 80% 40%, rgba(232,184,75,.45), transparent 22%),
    linear-gradient(180deg, #0c1016, #0a1a11);
}
.home-ecom-demon .final__voile {
  position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg, rgba(8,10,12,.78), rgba(6,30,18,.82));
}
.home-ecom-demon .final__contenu { max-width: 620px; margin: 0 auto; }
.home-ecom-demon .final__actions { display: flex; flex-wrap: wrap; gap: .8rem; justify-content: center; margin: 1.6rem 0 1rem; }
.home-ecom-demon .final .btn--ligne { color: var(--texte-clair); }
.home-ecom-demon .final__note { font-size: .95rem; color: #e7e1d2; }
.home-ecom-demon .final__note strong { color: var(--or); letter-spacing: .08em; }
.home-ecom-demon 
@media (min-width: 700px) {
  section { padding: var(--pas) 2rem; }
  .souffle__cartes { grid-template-columns: repeat(4, 1fr); }
  .etoffe { flex-basis: 32%; }
  .galerie__rang { grid-template-columns: repeat(5, 1fr); }
  .collector--haut { transform: translateY(-26px); }
  .collector--haut:hover { transform: translateY(-32px); }
  .bestsellers__grille { grid-template-columns: repeat(3, 1fr); }
  .avis__grille { grid-template-columns: repeat(3, 1fr); }
  .garanties__grille { grid-template-columns: repeat(4, 1fr); }

  .atelier, .carnet, .cadeaux { grid-template-columns: 1fr 1fr; }
  .atelier__visuel { min-height: 420px; }

  .rang__carte { grid-template-columns: 1.4fr 1fr; }
}
@media (min-width: 1024px) {
  .hero__guide { width: min(34vw, 440px); right: 2vw; }
  .cadeaux { grid-template-columns: 1fr 1.2fr; }
}
.home-ecom-demon 
@media (prefers-reduced-motion: reduce) {
  * { animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .001ms !important; }
  html { scroll-behavior: auto; }
}


.home-ecom-demon .produit-placeholder--image { background: #fff; }
.home-ecom-demon .produit-placeholder--image::before { display: none; }
.home-ecom-demon .produit-placeholder--image img { width: 100%; height: 100%; object-fit: contain; padding: .7rem; }
.home-ecom-demon .woocommerce, .home-ecom-demon .wp-block-shortcode { color: var(--texte); }

.home-ecom-demon.home-ecom-demon .produit-placeholder--image {
  position: relative;
  background:
    radial-gradient(circle at 50% 58%, rgba(232,184,75,.11), transparent 52%),
    linear-gradient(180deg, #fffdf7, #f6f0e2);
}

.home-ecom-demon.home-ecom-demon .produit-placeholder--image img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100%;
  max-height: 100%;
  padding: .4rem;
  object-fit: contain;
  object-position: center center;
  transform: none;
}

.home-ecom-demon.home-ecom-demon .souffle__cartes .carte-produit .produit-placeholder {
  height: clamp(170px, 23svh, 220px);
}


.home-ecom-demon .carte-produit .produit-placeholder {
  aspect-ratio: auto;
  height: clamp(150px, 18vw, 240px);
}
.home-ecom-demon .carte-produit h3 {
  font-size: clamp(.95rem, 1.35vw, 1.08rem);
  line-height: 1.25;
}
@media (min-width: 700px) {
  .home-ecom-demon section { padding: var(--pas) 2rem; }
  .home-ecom-demon .souffle__cartes { grid-template-columns: repeat(4, 1fr); }
  .home-ecom-demon .etoffe { flex-basis: 32%; }
  .home-ecom-demon .galerie__rang { grid-template-columns: repeat(5, 1fr); }
  .home-ecom-demon .collector--haut { transform: translateY(-26px); }
  .home-ecom-demon .collector--haut:hover { transform: translateY(-32px); }
  .home-ecom-demon .bestsellers__grille { grid-template-columns: repeat(3, 1fr); }
  .home-ecom-demon .avis__grille { grid-template-columns: repeat(3, 1fr); }
  .home-ecom-demon .garanties__grille { grid-template-columns: repeat(4, 1fr); }
  .home-ecom-demon .atelier, .home-ecom-demon .carnet, .home-ecom-demon .cadeaux { grid-template-columns: 1fr 1fr; }
  .home-ecom-demon .atelier__visuel { min-height: 420px; }
  .home-ecom-demon .rang__carte { grid-template-columns: 1.4fr 1fr; }
}
@media (min-width: 1024px) {
  .home-ecom-demon .hero__guide { width: min(34vw, 440px); right: 2vw; }
  .home-ecom-demon .cadeaux { grid-template-columns: 1fr 1.2fr; }
}

@media (min-width: 1024px) {
  .home-ecom-demon {
    --live-header-block: 248px;
    --section-pad-y: clamp(1.7rem, 4svh, 3rem);
    --section-gap: clamp(.75rem, 1.7svh, 1.35rem);
  }

  .home-ecom-demon section {
    min-height: 100svh;
    height: 100svh;
    max-height: 100svh;
    padding-top: var(--section-pad-y);
    padding-bottom: var(--section-pad-y);
    align-content: center;
  }

  .home-ecom-demon .hero {
    min-height: calc(100svh - var(--live-header-block));
    height: calc(100svh - var(--live-header-block));
    max-height: calc(100svh - var(--live-header-block));
    padding-top: clamp(1rem, 3svh, 2.4rem);
    padding-bottom: clamp(1rem, 3svh, 2.4rem);
  }

  .home-ecom-demon .hero__titre {
    font-size: clamp(2.45rem, 5.6svh, 4.15rem);
    margin-bottom: clamp(.45rem, 1.2svh, .9rem);
  }

  .home-ecom-demon .hero__texte {
    font-size: clamp(.95rem, 1.65svh, 1.12rem);
    line-height: 1.55;
  }

  .home-ecom-demon .hero__actions {
    margin: clamp(.8rem, 2svh, 1.35rem) 0 clamp(.65rem, 1.6svh, 1.1rem);
  }

  .home-ecom-demon .hero__guide {
    width: min(30vw, 400px);
  }

  .home-ecom-demon .souffle,
  .home-ecom-demon .etoffes,
  .home-ecom-demon .galerie,
  .home-ecom-demon .bestsellers,
  .home-ecom-demon .avis,
  .home-ecom-demon .garanties,
  .home-ecom-demon .faq {
    display: grid;
    align-content: center;
  }

  .home-ecom-demon .souffle__intro,
  .home-ecom-demon .etoffes__entete,
  .home-ecom-demon .galerie__entete,
  .home-ecom-demon .bestsellers__entete,
  .home-ecom-demon .avis__entete,
  .home-ecom-demon .garanties__entete,
  .home-ecom-demon .faq__entete {
    margin-bottom: var(--section-gap);
  }

  .home-ecom-demon h2 {
    font-size: clamp(1.75rem, 4.2svh, 2.45rem);
    margin-bottom: clamp(.35rem, 1svh, .7rem);
  }

  .home-ecom-demon h3 {
    font-size: clamp(1rem, 2.1svh, 1.22rem);
  }

  .home-ecom-demon p,
  .home-ecom-demon li {
    line-height: 1.48;
  }

  .home-ecom-demon .souffle__intro {
    max-width: min(760px, 64vw);
  }

  .home-ecom-demon .souffle__intro p,
  .home-ecom-demon .etoffes__entete p,
  .home-ecom-demon .galerie__entete p,
  .home-ecom-demon .bestsellers__entete p,
  .home-ecom-demon .garanties__entete p,
  .home-ecom-demon .faq__entete p {
    font-size: clamp(.82rem, 1.65svh, .98rem);
    margin-bottom: clamp(.35rem, .9svh, .65rem);
  }

  .home-ecom-demon .souffle__voies {
    margin-bottom: var(--section-gap);
    gap: clamp(.45rem, 1svh, .7rem);
  }

  .home-ecom-demon .voie {
    padding: clamp(.55rem, 1.45svh, .9rem) .55rem;
    gap: clamp(.3rem, .8svh, .55rem);
  }

  .home-ecom-demon .voie__lueur {
    width: clamp(24px, 3.8svh, 34px);
    height: clamp(31px, 5svh, 46px);
  }

  .home-ecom-demon .souffle__phrase {
    font-size: clamp(.92rem, 1.8svh, 1.12rem);
    margin-bottom: clamp(.55rem, 1.3svh, 1rem);
  }

  .home-ecom-demon .souffle__cartes,
  .home-ecom-demon .bestsellers__grille,
  .home-ecom-demon .cadeaux__cartes {
    gap: clamp(.55rem, 1.3svh, 1rem);
  }

  .home-ecom-demon .carte-produit {
    padding: clamp(.55rem, 1.25svh, .8rem);
  }

  .home-ecom-demon .carte-produit .produit-placeholder {
    height: clamp(92px, 16svh, 176px);
  }

  .home-ecom-demon .carte-produit h3 {
    font-size: clamp(.78rem, 1.75svh, 1rem);
    line-height: 1.18;
    margin: clamp(.35rem, .9svh, .65rem) 0 .15rem;
  }

  .home-ecom-demon .carte-produit__prix {
    font-size: clamp(.82rem, 1.6svh, .98rem);
    margin-bottom: clamp(.4rem, 1svh, .7rem);
  }

  .home-ecom-demon .carte-produit .btn {
    font-size: clamp(.72rem, 1.45svh, .86rem);
    padding: clamp(.38rem, .9svh, .52rem) clamp(.7rem, 1.4svh, 1rem);
  }

  .home-ecom-demon .etoffe {
    padding: clamp(.7rem, 1.4svh, 1rem);
  }

  .home-ecom-demon .etoffe__img {
    height: clamp(104px, 18svh, 170px);
    margin: clamp(.35rem, 1svh, .7rem) 0 clamp(.4rem, 1svh, .8rem);
  }

  .home-ecom-demon .atelier__visuel,
  .home-ecom-demon .carnet__visuel {
    min-height: clamp(300px, 58svh, 560px);
  }

  .home-ecom-demon .atelier__perso,
  .home-ecom-demon .carnet__perso {
    height: clamp(260px, 52svh, 500px);
  }

  .home-ecom-demon .collector {
    padding: clamp(.65rem, 1.4svh, 1rem) .55rem clamp(.5rem, 1svh, .75rem);
  }

  .home-ecom-demon .collector img {
    height: clamp(118px, 22svh, 220px);
  }

  .home-ecom-demon .collector figcaption {
    font-size: clamp(.78rem, 1.55svh, .94rem);
  }

  .home-ecom-demon .rang__carte,
  .home-ecom-demon .avis__grille,
  .home-ecom-demon .garanties__grille,
  .home-ecom-demon .faq__liste,
  .home-ecom-demon .final__contenu {
    min-height: clamp(520px, 78svh, 840px);
    align-content: center;
  }

  .home-ecom-demon .rang__carte {
    padding: clamp(2rem, 6svh, 4.5rem);
  }

  .home-ecom-demon .temoin {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: clamp(210px, 36svh, 330px);
  }

  .home-ecom-demon .garantie {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: clamp(190px, 34svh, 310px);
  }

  .home-ecom-demon .qr summary {
    padding-top: clamp(.9rem, 1.8svh, 1.25rem);
    padding-bottom: clamp(.9rem, 1.8svh, 1.25rem);
  }

  .home-ecom-demon .final {
    min-height: 100svh;
    height: 100svh;
    max-height: 100svh;
  }

  .home-ecom-demon .final__contenu {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .home-ecom-demon .final__actions {
    margin: clamp(1.2rem, 3svh, 2rem) 0 clamp(.8rem, 2svh, 1.2rem);
  }
}

@media (min-width: 1024px) and (max-height: 800px) {
  .home-ecom-demon {
    --section-pad-y: clamp(1rem, 3svh, 1.65rem);
    --section-gap: clamp(.45rem, 1.1svh, .8rem);
  }

  .home-ecom-demon .ruban {
    font-size: .68rem;
    margin-bottom: clamp(.35rem, 1svh, .65rem);
    padding: .28rem .8rem .28rem .7rem;
  }

  .home-ecom-demon .hero__titre {
    font-size: clamp(2rem, 5.1svh, 3rem);
  }

  .home-ecom-demon .hero__texte {
    max-width: 52ch;
  }

  .home-ecom-demon .hero__guide {
    width: min(25vw, 320px);
  }

  .home-ecom-demon .souffle__intro p:nth-of-type(2),
  .home-ecom-demon .etoffes__entete p:nth-of-type(2),
  .home-ecom-demon .galerie__entete p:nth-of-type(2) {
    font-size: clamp(.76rem, 1.45svh, .86rem);
    line-height: 1.35;
  }

  .home-ecom-demon .carte-produit .produit-placeholder {
    height: clamp(82px, 14svh, 128px);
  }

  .home-ecom-demon .collector img {
    height: clamp(100px, 18svh, 150px);
  }
}

@media (min-width: 1024px) {
  .home-ecom-demon .atelier,
  .home-ecom-demon .carnet,
  .home-ecom-demon .cadeaux {
    align-items: stretch;
  }

  .home-ecom-demon .atelier__texte,
  .home-ecom-demon .carnet__texte,
  .home-ecom-demon .cadeaux__intro {
    min-height: clamp(500px, 76svh, 820px);
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .home-ecom-demon .cadeaux__cartes {
    min-height: clamp(500px, 76svh, 820px);
    align-content: center;
  }

  .home-ecom-demon .cadeaux__cartes .carte-produit .produit-placeholder {
    height: clamp(150px, 28svh, 300px);
  }

  .home-ecom-demon .etoffe {
    min-height: clamp(280px, 48svh, 500px);
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .home-ecom-demon .collector {
    min-height: clamp(245px, 43svh, 470px);
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .home-ecom-demon .avis__grille {
    min-height: clamp(430px, 66svh, 720px);
  }

  .home-ecom-demon .temoin {
    min-height: clamp(150px, 27svh, 270px);
  }

  .home-ecom-demon .garanties__grille,
  .home-ecom-demon .faq__liste {
    min-height: clamp(430px, 68svh, 735px);
  }

  .home-ecom-demon .garantie {
    min-height: clamp(160px, 29svh, 285px);
  }
}

.home-ecom-demon.home-ecom-demon h1,
.home-ecom-demon.home-ecom-demon h2,
.home-ecom-demon.home-ecom-demon h3,
.home-ecom-demon.home-ecom-demon h4,
.home-ecom-demon.home-ecom-demon h5,
.home-ecom-demon.home-ecom-demon h6 {
  color: inherit;
}

.home-ecom-demon.home-ecom-demon .hero,
.home-ecom-demon.home-ecom-demon .souffle,
.home-ecom-demon.home-ecom-demon .galerie,
.home-ecom-demon.home-ecom-demon .rang,
.home-ecom-demon.home-ecom-demon .garanties,
.home-ecom-demon.home-ecom-demon .final {
  color: var(--texte-clair);
}

.home-ecom-demon.home-ecom-demon .etoffes,
.home-ecom-demon.home-ecom-demon .atelier,
.home-ecom-demon.home-ecom-demon .bestsellers,
.home-ecom-demon.home-ecom-demon .carnet,
.home-ecom-demon.home-ecom-demon .avis,
.home-ecom-demon.home-ecom-demon .cadeaux,
.home-ecom-demon.home-ecom-demon .faq,
.home-ecom-demon.home-ecom-demon .carte-produit,
.home-ecom-demon.home-ecom-demon .etoffe,
.home-ecom-demon.home-ecom-demon .temoin,
.home-ecom-demon.home-ecom-demon .qr {
  color: var(--texte);
}

.home-ecom-demon.home-ecom-demon .hero__titre {
  color: var(--texte-clair);
}

.home-ecom-demon.home-ecom-demon .rang__pastille,
.home-ecom-demon.home-ecom-demon .ruban--or {
  color: var(--encre);
}

@media (min-width: 1024px) {
  .home-ecom-demon.home-ecom-demon .hero__guide {
    height: 90%;
    width: auto;
    max-width: 42vw;
    object-fit: contain;
    bottom: 0;
  }

  .home-ecom-demon.home-ecom-demon .hero {
    padding-left: clamp(3rem, 6vw, 7rem);
  }

  .home-ecom-demon.home-ecom-demon .atelier,
  .home-ecom-demon.home-ecom-demon .carnet {
    padding-top: 5svh;
    padding-bottom: 5svh;
  }

  .home-ecom-demon.home-ecom-demon .atelier__visuel,
  .home-ecom-demon.home-ecom-demon .carnet__visuel {
    height: 90svh;
    min-height: 90svh;
    max-height: 90svh;
    align-self: center;
  }

  .home-ecom-demon.home-ecom-demon .atelier__texte,
  .home-ecom-demon.home-ecom-demon .carnet__texte {
    min-height: 90svh;
  }

  .home-ecom-demon.home-ecom-demon .atelier__perso,
  .home-ecom-demon.home-ecom-demon .carnet__perso {
    height: 100%;
    max-height: 100%;
    width: auto;
    object-fit: contain;
  }
}

.home-ecom-demon.home-ecom-demon .souffle__scene {
  max-width: var(--max);
  margin: 0 auto;
  display: grid;
  gap: clamp(1rem, 2vw, 1.6rem);
}

.home-ecom-demon.home-ecom-demon .voie {
  flex-direction: row;
  justify-content: flex-start;
  text-align: left;
}

.home-ecom-demon.home-ecom-demon .voie__lueur {
  display: grid;
  place-items: center;
  border-radius: 12px;
  font-family: "Shippori Mincho", serif;
  font-weight: 800;
  color: var(--texte-clair);
  background: linear-gradient(145deg, rgba(15,157,88,.85), rgba(196,69,47,.5));
}

.home-ecom-demon.home-ecom-demon .voie__lueur--eau { background: linear-gradient(145deg, #1e6b77, #0a2f38); }
.home-ecom-demon.home-ecom-demon .voie__lueur--feu { background: linear-gradient(145deg, #c4452f, #42120b); }
.home-ecom-demon.home-ecom-demon .voie__lueur--foudre { background: linear-gradient(145deg, #e8b84b, #5b3309); color: var(--encre); }
.home-ecom-demon.home-ecom-demon .voie__lueur--garde { background: linear-gradient(145deg, #0f9d58, #143b24); }
.home-ecom-demon.home-ecom-demon .voie__lueur--collection { background: linear-gradient(145deg, #7b5a92, #24162d); }

.home-ecom-demon.home-ecom-demon .couloir {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(.65rem, 1vw, 1rem);
  width: min(var(--max), calc(100vw - 5rem));
  margin: 0 auto;
  justify-content: initial;
  overflow: visible;
  padding: 1rem 0 2rem;
}

.home-ecom-demon.home-ecom-demon .etoffe {
  min-width: 0;
  max-width: none;
  min-height: clamp(285px, 45svh, 410px);
  padding: clamp(.75rem, 1.35svh, 1rem);
  box-shadow: 0 18px 34px rgba(10,10,10,.16);
}

.home-ecom-demon.home-ecom-demon .etoffe__img {
  height: clamp(92px, 15svh, 145px);
  margin: clamp(.45rem, 1svh, .75rem) 0 clamp(.5rem, 1svh, .9rem);
}

.home-ecom-demon.home-ecom-demon .etoffe h3 {
  font-size: clamp(.88rem, 1.55svh, 1rem);
}

.home-ecom-demon.home-ecom-demon .etoffe p {
  font-size: clamp(.72rem, 1.32svh, .86rem);
  line-height: 1.48;
}

.home-ecom-demon.home-ecom-demon .atelier {
  grid-template-columns: 1.06fr .94fr;
  background:
    linear-gradient(90deg, rgba(239,228,201,.78), rgba(244,236,216,.96)),
    url("https://boutique-demon-slayer.com/wp-content/uploads/home-ecom/boutique-demon-slayer.com/assets/img/scene-atelier.jpg") center / cover no-repeat;
}

.home-ecom-demon.home-ecom-demon .atelier__visuel {
  position: relative;
  overflow: visible;
  border-radius: 0;
  background:
    radial-gradient(circle at 54% 58%, rgba(232,184,75,.28), transparent 48%),
    linear-gradient(180deg, rgba(10,10,10,0), rgba(10,40,25,.12));
}

.home-ecom-demon.home-ecom-demon .atelier__visuel::before {
  content: "";
  position: absolute;
  inset: 8% 4%;
  border: 1px solid rgba(10,10,10,.08);
  border-radius: var(--rayon);
  background: linear-gradient(180deg, rgba(244,236,216,.12), rgba(15,157,88,.12));
}

.home-ecom-demon.home-ecom-demon .atelier__visuel::after {
  display: none;
}

.home-ecom-demon.home-ecom-demon .atelier__perso {
  position: relative;
  z-index: 1;
  opacity: 1;
  transform: translateX(2%);
  height: min(88%, 780px);
  max-height: 88%;
}

.home-ecom-demon.home-ecom-demon .atelier__texte,
.home-ecom-demon.home-ecom-demon .cadeaux__intro {
  background: rgba(244,236,216,.82);
  border: 1px solid rgba(10,10,10,.08);
  border-radius: var(--rayon);
  padding: clamp(1.3rem, 3vw, 2.2rem);
  box-shadow: 0 18px 38px rgba(10,10,10,.12);
}

.home-ecom-demon.home-ecom-demon .atelier__actions,
.home-ecom-demon.home-ecom-demon .carnet__liens {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  margin-top: 1.1rem;
}

.home-ecom-demon.home-ecom-demon .collector__lien {
  display: grid;
  gap: .4rem;
  min-height: 100%;
  align-content: center;
  justify-items: center;
  text-decoration: none;
}

.home-ecom-demon.home-ecom-demon .collector {
  background: radial-gradient(circle at 50% 34%, rgba(244,236,216,.2), rgba(255,255,255,.055) 48%, rgba(255,255,255,.015) 100%);
}

.home-ecom-demon.home-ecom-demon .collector__lien img {
  display: block;
  opacity: 1;
  visibility: visible;
  height: clamp(145px, 27svh, 250px);
  width: 100%;
  object-fit: contain;
  filter: drop-shadow(0 20px 28px rgba(0,0,0,.55));
}

.home-ecom-demon.home-ecom-demon .collector figcaption {
  color: var(--texte-clair);
}

.home-ecom-demon.home-ecom-demon .rang {
  background:
    linear-gradient(120deg, rgba(5,32,20,.86), rgba(10,94,58,.8)),
    url("https://boutique-demon-slayer.com/wp-content/uploads/home-ecom/boutique-demon-slayer.com/assets/img/scene-final.jpg") center / cover no-repeat;
}

.home-ecom-demon.home-ecom-demon .rang__carte {
  position: relative;
  overflow: hidden;
  border-style: solid;
  background: linear-gradient(120deg, rgba(0,0,0,.36), rgba(0,0,0,.12));
}

.home-ecom-demon.home-ecom-demon .rang__decor {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.home-ecom-demon.home-ecom-demon .rang__decor img {
  position: absolute;
  object-fit: contain;
  filter: drop-shadow(0 22px 32px rgba(0,0,0,.45));
  opacity: .92;
}

.home-ecom-demon.home-ecom-demon .rang__decor img:nth-child(1) {
  width: clamp(150px, 22vw, 320px);
  right: 2%;
  top: -2%;
  opacity: .72;
}

.home-ecom-demon.home-ecom-demon .rang__decor img:nth-child(2) {
  width: clamp(110px, 14vw, 190px);
  left: 48%;
  bottom: 6%;
  transform: rotate(-8deg);
}

.home-ecom-demon.home-ecom-demon .rang__decor img:nth-child(3) {
  width: clamp(170px, 25vw, 360px);
  left: -1%;
  bottom: -6%;
  transform: rotate(-12deg);
  opacity: .66;
}

.home-ecom-demon.home-ecom-demon .rang__gauche,
.home-ecom-demon.home-ecom-demon .rang__code {
  position: relative;
  z-index: 1;
}

.home-ecom-demon.home-ecom-demon .carnet {
  position: relative;
  overflow: hidden;
  grid-template-columns: minmax(420px, .92fr) 1.08fr;
  color: var(--texte-clair);
  background:
    linear-gradient(90deg, rgba(7,13,10,.84), rgba(7,20,13,.48) 48%, rgba(7,20,13,.14)),
    url("https://boutique-demon-slayer.com/wp-content/uploads/home-ecom/boutique-demon-slayer.com/assets/img/scene-carnet.jpg") center / cover no-repeat;
}

.home-ecom-demon.home-ecom-demon .carnet__texte {
  position: relative;
  z-index: 3;
  max-width: 620px;
  min-height: auto;
  background: rgba(8,14,10,.42);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: var(--rayon);
  padding: clamp(1.3rem, 3vw, 2.2rem);
  backdrop-filter: blur(2px);
}

.home-ecom-demon.home-ecom-demon .carnet__visuel {
  position: absolute;
  inset: 0;
  min-height: 100%;
  max-height: none;
  background: transparent;
  overflow: visible;
  pointer-events: none;
}

.home-ecom-demon.home-ecom-demon .carnet__perso {
  position: absolute;
  right: 3vw;
  bottom: 0;
  z-index: 2;
  height: 82svh;
  width: auto;
  min-width: clamp(260px, 28vw, 430px);
  max-height: 82svh;
  object-fit: contain;
  transform: translateY(4%);
  opacity: .98;
  filter: drop-shadow(0 34px 44px rgba(0,0,0,.55));
}

.home-ecom-demon.home-ecom-demon .carnet__liens a {
  color: var(--texte-clair);
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 999px;
  padding: .55rem 1rem;
  text-decoration: none;
  background: rgba(255,255,255,.08);
  font-weight: 700;
}

.home-ecom-demon.home-ecom-demon .avis {
  background:
    linear-gradient(180deg, rgba(239,228,201,.94), rgba(244,236,216,.96)),
    url("https://boutique-demon-slayer.com/wp-content/uploads/home-ecom/boutique-demon-slayer.com/assets/img/scene-cadeaux.jpg") center / cover no-repeat;
}

.home-ecom-demon.home-ecom-demon .avis__grille {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
}

.home-ecom-demon.home-ecom-demon .avis .temoin {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  quotes: none;
}

.home-ecom-demon.home-ecom-demon .avis .temoin p:not(.temoin__note) {
  margin: 0;
}

.home-ecom-demon.home-ecom-demon .temoin--image {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  align-items: center;
  gap: .8rem;
}

.home-ecom-demon.home-ecom-demon .temoin--image img {
  width: 100%;
  height: 100%;
  max-height: 190px;
  object-fit: contain;
  filter: drop-shadow(0 16px 22px rgba(0,0,0,.18));
}

.home-ecom-demon.home-ecom-demon .avis__resume {
  max-width: var(--max);
  margin: 1.2rem auto 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  background: rgba(255,255,255,.78);
  border: 1px solid var(--washi-2);
  border-radius: var(--rayon);
  padding: .8rem 1rem;
  box-shadow: 0 12px 28px rgba(10,10,10,.08);
}

.home-ecom-demon.home-ecom-demon .avis__resume strong {
  font-family: "Shippori Mincho", serif;
  font-size: clamp(1.4rem, 3svh, 2rem);
  color: var(--vert-fonce);
}

.home-ecom-demon.home-ecom-demon .avis__resume a {
  color: var(--vert-fonce);
  font-weight: 800;
}

.home-ecom-demon.home-ecom-demon .cadeaux {
  background:
    linear-gradient(90deg, rgba(244,236,216,.9), rgba(244,236,216,.72)),
    url("https://boutique-demon-slayer.com/wp-content/uploads/home-ecom/boutique-demon-slayer.com/assets/img/scene-cadeaux.jpg") center / cover no-repeat;
}

.home-ecom-demon.home-ecom-demon .cadeaux__badges {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin: .4rem 0 1rem;
}

.home-ecom-demon.home-ecom-demon .cadeaux__badges span {
  border-radius: 999px;
  background: rgba(15,157,88,.1);
  border: 1px solid rgba(15,157,88,.28);
  color: var(--vert-fonce);
  padding: .38rem .75rem;
  font-weight: 700;
  font-size: .88rem;
}

.home-ecom-demon.home-ecom-demon .cadeaux__cta {
  width: fit-content;
}

.home-ecom-demon.home-ecom-demon .garanties {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(5,8,7,.86), rgba(6,22,14,.92)),
    url("https://boutique-demon-slayer.com/wp-content/uploads/home-ecom/boutique-demon-slayer.com/assets/img/scene-souffle.jpg") center / cover no-repeat;
}

.home-ecom-demon.home-ecom-demon .garanties::before {
  content: "";
  position: absolute;
  inset: 8% auto auto 3%;
  width: clamp(180px, 24vw, 360px);
  aspect-ratio: 1;
  background: url("https://boutique-demon-slayer.com/wp-content/uploads/home-ecom/boutique-demon-slayer.com/assets/img/demon-logo.png") center / contain no-repeat;
  opacity: .08;
  filter: drop-shadow(0 18px 30px rgba(0,0,0,.45));
}

.home-ecom-demon.home-ecom-demon .garanties > * {
  position: relative;
  z-index: 1;
}

.home-ecom-demon.home-ecom-demon .garanties__entete {
  max-width: 760px;
  margin-inline: auto;
}

.home-ecom-demon.home-ecom-demon .garanties__grille {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(.8rem, 1.4vw, 1.2rem);
  transform: translateY(clamp(1rem, 2svh, 1.25rem));
}

.home-ecom-demon.home-ecom-demon .garantie {
  position: relative;
  overflow: hidden;
  min-height: clamp(290px, 46svh, 410px);
  padding: clamp(1.2rem, 2.2vw, 1.8rem);
  background:
    linear-gradient(180deg, rgba(244,236,216,.10), rgba(255,255,255,.035)),
    radial-gradient(circle at 50% 0%, rgba(232,184,75,.18), transparent 58%);
  border-color: rgba(232,184,75,.28);
  box-shadow: 0 22px 40px rgba(0,0,0,.22);
}

.home-ecom-demon.home-ecom-demon .garantie::after {
  content: "";
  position: absolute;
  inset: auto 1rem 0;
  height: 4px;
  background: linear-gradient(90deg, var(--vert), var(--or), var(--laque));
  opacity: .78;
}

.home-ecom-demon.home-ecom-demon .garantie__pic {
  width: clamp(60px, 8svh, 86px);
  height: clamp(60px, 8svh, 86px);
  margin: 0 auto clamp(.8rem, 1.6svh, 1.1rem);
  display: grid;
  place-items: center;
  text-align: center;
  border-radius: 50%;
  border: 1px solid rgba(232,184,75,.42);
  background:
    radial-gradient(circle, rgba(232,184,75,.28), rgba(196,69,47,.1) 58%, rgba(255,255,255,.04));
  box-shadow: inset 0 0 0 8px rgba(255,255,255,.035), 0 16px 28px rgba(0,0,0,.26);
  font-size: clamp(1.15rem, 2.6svh, 1.65rem);
  font-family: "Shippori Mincho", Georgia, serif;
  color: var(--or);
}

.home-ecom-demon.home-ecom-demon .garantie__pic span {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  line-height: 1;
  transform: translateY(-1px);
}

.home-ecom-demon.home-ecom-demon .garantie__pic--livraison { background-color: rgba(15,157,88,.2); }
.home-ecom-demon.home-ecom-demon .garantie__pic--paiement { background-color: rgba(196,69,47,.18); }
.home-ecom-demon.home-ecom-demon .garantie__pic--retour { background-color: rgba(232,184,75,.18); }
.home-ecom-demon.home-ecom-demon .garantie__pic--support { background-color: rgba(30,107,119,.2); }

.home-ecom-demon.home-ecom-demon .garantie h3 {
  font-size: clamp(1.05rem, 2.15svh, 1.34rem);
  color: var(--texte-clair);
}

.home-ecom-demon.home-ecom-demon .garantie p {
  color: #ded5c3;
  font-size: clamp(.82rem, 1.55svh, .98rem);
}

.home-ecom-demon.home-ecom-demon .faq {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(244,236,216,.96), rgba(239,228,201,.90)),
    url("https://boutique-demon-slayer.com/wp-content/uploads/home-ecom/boutique-demon-slayer.com/assets/img/scene-cadeaux.jpg") center / cover no-repeat;
}

.home-ecom-demon.home-ecom-demon .faq__entete {
  max-width: 760px;
}

.home-ecom-demon.home-ecom-demon .faq__scene {
  width: min(var(--max), calc(100vw - 4rem));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
  gap: clamp(1rem, 2vw, 1.6rem);
  align-items: stretch;
}

.home-ecom-demon.home-ecom-demon .faq__aside {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  min-height: clamp(480px, 68svh, 700px);
  padding: clamp(1.2rem, 2.8vw, 2.2rem);
  border-radius: var(--rayon);
  color: var(--texte-clair);
  background:
    linear-gradient(180deg, rgba(7,13,10,.72), rgba(7,20,13,.9)),
    url("https://boutique-demon-slayer.com/wp-content/uploads/home-ecom/boutique-demon-slayer.com/assets/img/scene-final.jpg") center / cover no-repeat;
  box-shadow: 0 24px 46px rgba(10,10,10,.22);
}

.home-ecom-demon.home-ecom-demon .faq__aside img {
  width: clamp(180px, 28svh, 260px);
  height: clamp(180px, 28svh, 260px);
  object-fit: contain;
  margin-bottom: clamp(1rem, 2svh, 1.4rem);
  filter: drop-shadow(0 20px 26px rgba(0,0,0,.36));
}

.home-ecom-demon.home-ecom-demon .faq__aside strong {
  font-family: "Shippori Mincho", Georgia, serif;
  font-size: clamp(1.45rem, 3.4svh, 2.2rem);
  line-height: 1.08;
  color: var(--or);
  margin-bottom: .7rem;
}

.home-ecom-demon.home-ecom-demon .faq__aside span {
  color: #e8dfce;
  max-width: 24ch;
  line-height: 1.55;
}

.home-ecom-demon.home-ecom-demon .faq__liste {
  max-width: none;
  width: 100%;
  min-height: clamp(480px, 68svh, 700px);
  display: grid;
  align-content: center;
  gap: clamp(.65rem, 1.2svh, .9rem);
}

.home-ecom-demon.home-ecom-demon .qr {
  margin: 0;
  border: 1px solid rgba(10,10,10,.08);
  box-shadow: 0 16px 30px rgba(10,10,10,.09);
}

.home-ecom-demon.home-ecom-demon .qr summary {
  font-size: clamp(.98rem, 1.85svh, 1.16rem);
  color: var(--texte);
}

.home-ecom-demon.home-ecom-demon .qr__corps p {
  font-size: clamp(.86rem, 1.55svh, .96rem);
}

.home-ecom-demon.home-ecom-demon .final {
  background: var(--encre);
  color: var(--texte-clair);
}

.home-ecom-demon.home-ecom-demon .final::before {
  background:
    linear-gradient(90deg, rgba(3,6,8,.94), rgba(5,16,12,.72) 48%, rgba(3,6,8,.92)),
    url("https://boutique-demon-slayer.com/wp-content/uploads/home-ecom/boutique-demon-slayer.com/assets/img/scene-final.jpg") center / cover no-repeat;
}

.home-ecom-demon.home-ecom-demon .final__voile {
  background:
    radial-gradient(circle at 50% 48%, rgba(232,184,75,.16), transparent 34%),
    linear-gradient(180deg, rgba(4,7,8,.2), rgba(2,5,5,.62));
}

.home-ecom-demon.home-ecom-demon .final__decor {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.home-ecom-demon.home-ecom-demon .final__decor img {
  position: absolute;
  object-fit: contain;
  filter: drop-shadow(0 30px 42px rgba(0,0,0,.6));
}

.home-ecom-demon.home-ecom-demon .final__decor img:first-child {
  left: clamp(1rem, 5vw, 5rem);
  bottom: -3%;
  height: clamp(380px, 82svh, 760px);
  opacity: .88;
}

.home-ecom-demon.home-ecom-demon .final__decor img:last-child {
  right: clamp(-2rem, 2vw, 2rem);
  top: 12%;
  width: clamp(220px, 28vw, 420px);
  transform: rotate(-18deg);
  opacity: .42;
}

.home-ecom-demon.home-ecom-demon .final__contenu {
  position: relative;
  z-index: 1;
  max-width: 700px;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: rgba(5,10,8,.58);
  border: 1px solid rgba(232,184,75,.26);
  border-radius: var(--rayon);
  box-shadow: 0 26px 52px rgba(0,0,0,.34);
  backdrop-filter: blur(2px);
}

.home-ecom-demon.home-ecom-demon .final h2 {
  font-size: clamp(2.1rem, 7svh, 4rem);
  color: var(--texte-clair);
  text-shadow: 0 6px 26px rgba(0,0,0,.55);
}

.home-ecom-demon.home-ecom-demon .final__contenu p {
  color: #efe7d7;
  font-size: clamp(.98rem, 1.9svh, 1.14rem);
}

.home-ecom-demon.home-ecom-demon .final .btn--ligne {
  color: var(--texte-clair);
  border-color: rgba(244,236,216,.76);
  background: rgba(255,255,255,.06);
}

.home-ecom-demon.home-ecom-demon .final .btn--ligne:hover {
  background: var(--washi);
  color: var(--encre);
}

.home-ecom-demon.home-ecom-demon .final__note {
  margin: .6rem 0 0;
  color: #f4ecd8;
  font-weight: 700;
}

.home-ecom-demon.home-ecom-demon .hero__decor::after {
  background:
    linear-gradient(90deg, rgba(5,8,7,.58), rgba(5,8,7,.18) 46%, rgba(5,8,7,.08)),
    linear-gradient(180deg, rgba(8,20,14,.18), rgba(7,12,10,.42) 100%);
}

.home-ecom-demon.home-ecom-demon .hero__brume {
  background: radial-gradient(90% 42% at 50% 100%, rgba(15,157,88,.12), transparent 62%);
}

.home-ecom-demon.home-ecom-demon .hero__contenu {
  background: linear-gradient(90deg, rgba(4,8,6,.58), rgba(4,8,6,.28), transparent);
  border-left: 1px solid rgba(244,236,216,.22);
  border-radius: var(--rayon);
  padding: clamp(1.1rem, 2vw, 1.8rem);
  box-shadow: 0 22px 44px rgba(0,0,0,.24);
}

.home-ecom-demon.home-ecom-demon .souffle::before {
  background:
    linear-gradient(180deg, rgba(5,7,6,.34), rgba(5,9,7,.44)),
    url("https://boutique-demon-slayer.com/wp-content/uploads/home-ecom/boutique-demon-slayer.com/assets/img/scene-souffle.jpg") center / cover no-repeat,
    radial-gradient(120% 80% at 50% 0%, rgba(15,157,88,.16), transparent 60%),
    linear-gradient(180deg, #0a0a0a, #0c1a12);
}

.home-ecom-demon.home-ecom-demon .souffle__intro,
.home-ecom-demon.home-ecom-demon .galerie__entete,
.home-ecom-demon.home-ecom-demon .garanties__entete {
  background: rgba(5,9,7,.48);
  border: 1px solid rgba(244,236,216,.16);
  border-radius: var(--rayon);
  padding: clamp(1rem, 2vw, 1.45rem);
  box-shadow: 0 20px 42px rgba(0,0,0,.18);
}

.home-ecom-demon.home-ecom-demon .atelier {
  background:
    linear-gradient(90deg, rgba(239,228,201,.22), rgba(244,236,216,.52) 58%, rgba(244,236,216,.72)),
    url("https://boutique-demon-slayer.com/wp-content/uploads/home-ecom/boutique-demon-slayer.com/assets/img/scene-atelier.jpg") center / cover no-repeat;
}

.home-ecom-demon.home-ecom-demon .atelier__visuel {
  background: radial-gradient(circle at 54% 58%, rgba(232,184,75,.10), transparent 46%);
}

.home-ecom-demon.home-ecom-demon .atelier__visuel::before {
  background: transparent;
}

.home-ecom-demon.home-ecom-demon .atelier__texte,
.home-ecom-demon.home-ecom-demon .cadeaux__intro {
  background: rgba(244,236,216,.9);
}

.home-ecom-demon.home-ecom-demon .galerie::before {
  background:
    linear-gradient(180deg, rgba(5,7,8,.32), rgba(5,8,7,.42)),
    url("https://boutique-demon-slayer.com/wp-content/uploads/home-ecom/boutique-demon-slayer.com/assets/img/scene-galerie.jpg") center / cover no-repeat,
    var(--mont-pres) bottom / 100% 38% no-repeat,
    radial-gradient(circle at 78% 22%, rgba(232,184,75,.16), transparent 40%),
    linear-gradient(180deg, #0d1828, #0a0f0c);
}

.home-ecom-demon.home-ecom-demon .rang {
  background:
    linear-gradient(120deg, rgba(5,20,13,.32), rgba(10,70,44,.24)),
    url("https://boutique-demon-slayer.com/wp-content/uploads/home-ecom/boutique-demon-slayer.com/assets/img/scene-final.jpg") center / cover no-repeat;
}

.home-ecom-demon.home-ecom-demon .rang__carte {
  background: linear-gradient(120deg, rgba(0,0,0,.58), rgba(0,0,0,.24));
}

.home-ecom-demon.home-ecom-demon .avis {
  background:
    linear-gradient(180deg, rgba(244,236,216,.36), rgba(244,236,216,.52)),
    url("https://boutique-demon-slayer.com/wp-content/uploads/home-ecom/boutique-demon-slayer.com/assets/img/scene-cadeaux.jpg") center / cover no-repeat;
}

.home-ecom-demon.home-ecom-demon .avis__entete {
  background: rgba(244,236,216,.86);
  border: 1px solid rgba(10,10,10,.08);
  border-radius: var(--rayon);
  padding: clamp(1rem, 2vw, 1.45rem);
  box-shadow: 0 16px 32px rgba(10,10,10,.10);
}

.home-ecom-demon.home-ecom-demon .cadeaux {
  background:
    linear-gradient(90deg, rgba(244,236,216,.42), rgba(244,236,216,.28) 58%, rgba(244,236,216,.08)),
    url("https://boutique-demon-slayer.com/wp-content/uploads/home-ecom/boutique-demon-slayer.com/assets/img/scene-cadeaux.jpg") center / cover no-repeat;
}

.home-ecom-demon.home-ecom-demon .garanties {
  background:
    linear-gradient(180deg, rgba(3,6,5,.38), rgba(5,11,8,.52)),
    url("https://boutique-demon-slayer.com/wp-content/uploads/home-ecom/boutique-demon-slayer.com/assets/img/scene-souffle.jpg") center / cover no-repeat;
}

.home-ecom-demon.home-ecom-demon .garantie {
  background:
    linear-gradient(180deg, rgba(6,10,8,.66), rgba(5,8,7,.48)),
    radial-gradient(circle at 50% 0%, rgba(232,184,75,.12), transparent 58%);
}

.home-ecom-demon.home-ecom-demon .faq {
  background:
    linear-gradient(90deg, rgba(244,236,216,.44), rgba(244,236,216,.22)),
    url("https://boutique-demon-slayer.com/wp-content/uploads/home-ecom/boutique-demon-slayer.com/assets/img/scene-cadeaux.jpg") center / cover no-repeat;
}

.home-ecom-demon.home-ecom-demon .faq__entete {
  background: rgba(244,236,216,.88);
  border: 1px solid rgba(10,10,10,.08);
  border-radius: var(--rayon);
  padding: clamp(1rem, 2vw, 1.45rem);
  box-shadow: 0 16px 32px rgba(10,10,10,.10);
}

.home-ecom-demon.home-ecom-demon .faq__aside {
  background:
    linear-gradient(180deg, rgba(7,13,10,.58), rgba(7,20,13,.70)),
    url("https://boutique-demon-slayer.com/wp-content/uploads/home-ecom/boutique-demon-slayer.com/assets/img/scene-final.jpg") center / cover no-repeat;
}

@media (min-width: 1024px) {
  .home-ecom-demon.home-ecom-demon {
    --live-header-block: 93px;
    --section-pad-y: clamp(1rem, 3svh, 2.4rem);
    --section-gap: clamp(.5rem, 1.15svh, .9rem);
  }

  .home-ecom-demon.home-ecom-demon section {
    min-height: 100svh;
    height: 100svh;
    max-height: 100svh;
    overflow: hidden;
    padding-top: var(--section-pad-y);
    padding-bottom: var(--section-pad-y);
  }

  .home-ecom-demon.home-ecom-demon .hero {
    min-height: calc(100svh - var(--live-header-block));
    height: calc(100svh - var(--live-header-block));
    max-height: calc(100svh - var(--live-header-block));
  }

  .home-ecom-demon.home-ecom-demon .hero__contenu {
    max-width: min(640px, 52vw);
    padding: clamp(1rem, 1.8svh, 1.5rem);
  }

  .home-ecom-demon.home-ecom-demon .souffle {
    grid-template-rows: auto minmax(0, 1fr);
  }

  .home-ecom-demon.home-ecom-demon .souffle__intro {
    max-width: min(820px, 72vw);
    margin-bottom: var(--section-gap);
    padding: clamp(.75rem, 1.45svh, 1.15rem);
  }

  .home-ecom-demon.home-ecom-demon .souffle__intro p {
    font-size: clamp(.76rem, 1.35svh, .9rem);
    line-height: 1.35;
  }

  .home-ecom-demon.home-ecom-demon .souffle__intro p:nth-of-type(2) {
    display: none;
  }

  .home-ecom-demon.home-ecom-demon .souffle__scene {
    max-height: calc(100svh - 190px);
    min-height: 0;
    align-items: stretch;
  }

  .home-ecom-demon.home-ecom-demon .souffle__voies {
    min-height: 0;
    gap: clamp(.35rem, .8svh, .6rem);
  }

  .home-ecom-demon.home-ecom-demon .voie {
    padding: clamp(.48rem, .95svh, .75rem);
  }

  .home-ecom-demon.home-ecom-demon .souffle__phrase {
    min-height: auto;
    margin-bottom: clamp(.35rem, .8svh, .65rem);
    font-size: clamp(.82rem, 1.45svh, 1rem);
  }

  .home-ecom-demon.home-ecom-demon .souffle__cartes {
    gap: clamp(.45rem, .9svh, .75rem);
  }

  .home-ecom-demon.home-ecom-demon .souffle__cartes .carte-produit {
    min-height: 0;
    max-height: clamp(150px, 28svh, 240px);
    overflow: hidden;
  }

  .home-ecom-demon.home-ecom-demon .souffle__cartes .carte-produit .produit-placeholder {
    height: clamp(78px, 12svh, 130px);
  }

  .home-ecom-demon.home-ecom-demon .carte-produit h3 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .home-ecom-demon.home-ecom-demon .carnet {
    align-content: center;
  }

  .home-ecom-demon.home-ecom-demon .carnet__texte {
    min-height: clamp(540px, 76svh, 820px);
    max-height: 86svh;
    justify-content: center;
  }

  .home-ecom-demon.home-ecom-demon .carnet__perso {
    height: min(76svh, 780px);
    max-height: 76svh;
    transform: none;
  }

  .home-ecom-demon.home-ecom-demon .avis__grille {
    min-height: clamp(430px, 60svh, 650px);
    gap: clamp(.55rem, 1svh, .8rem);
  }

  .home-ecom-demon.home-ecom-demon .temoin {
    min-height: clamp(130px, 18svh, 205px);
    padding: clamp(.62rem, 1.05svh, .9rem);
  }

  .home-ecom-demon.home-ecom-demon .avis__resume {
    margin-top: clamp(.45rem, .9svh, .8rem);
    padding: clamp(.45rem, .9svh, .65rem) .85rem;
  }

  .home-ecom-demon.home-ecom-demon .garanties__entete {
    padding: clamp(.75rem, 1.5svh, 1.1rem);
    margin-bottom: var(--section-gap);
  }

  .home-ecom-demon.home-ecom-demon .garanties__grille {
    min-height: clamp(450px, 66svh, 720px);
  }

  .home-ecom-demon.home-ecom-demon .garantie {
    min-height: clamp(220px, 34svh, 320px);
    padding: clamp(.95rem, 1.75svh, 1.35rem);
  }

  .home-ecom-demon.home-ecom-demon .final {
    overflow: hidden;
  }

  .home-ecom-demon.home-ecom-demon .final__contenu {
    min-height: clamp(520px, 78svh, 900px);
    max-height: 86svh;
  }

  .home-ecom-demon.home-ecom-demon .final__decor img:first-child {
    left: clamp(1rem, 4vw, 4rem);
    bottom: 0;
    height: min(72svh, 760px);
  }

  .home-ecom-demon.home-ecom-demon .final__decor img:last-child {
    right: 0;
    max-width: 24vw;
  }
}

@media (min-width: 1024px) and (max-height: 800px) {
  .home-ecom-demon.home-ecom-demon {
    --section-pad-y: clamp(.7rem, 2.2svh, 1.2rem);
    --section-gap: clamp(.32rem, .75svh, .55rem);
  }

  .home-ecom-demon.home-ecom-demon .hero__contenu {
    padding: .85rem 1rem;
  }

  .home-ecom-demon.home-ecom-demon .souffle__intro p:nth-of-type(2),
  .home-ecom-demon.home-ecom-demon .galerie__entete p:nth-of-type(2),
  .home-ecom-demon.home-ecom-demon .garanties__entete p {
    display: none;
  }

  .home-ecom-demon.home-ecom-demon .souffle__scene {
    max-height: calc(100svh - 110px);
  }

  .home-ecom-demon.home-ecom-demon .souffle__cartes .carte-produit .produit-placeholder {
    height: clamp(76px, 11svh, 98px);
  }

  .home-ecom-demon.home-ecom-demon .souffle__cartes .carte-produit h3 {
    font-size: clamp(.7rem, 1.35svh, .84rem);
  }

  .home-ecom-demon.home-ecom-demon .souffle__cartes .carte-produit__prix,
  .home-ecom-demon.home-ecom-demon .souffle__cartes .carte-produit .btn {
    font-size: clamp(.68rem, 1.25svh, .78rem);
  }

  .home-ecom-demon.home-ecom-demon .carnet__texte {
    min-height: 78svh;
  }

  .home-ecom-demon.home-ecom-demon .avis__grille,
  .home-ecom-demon.home-ecom-demon .garanties__grille,
  .home-ecom-demon.home-ecom-demon .faq__scene,
  .home-ecom-demon.home-ecom-demon .final__contenu {
    min-height: 68svh;
  }

  .home-ecom-demon.home-ecom-demon .avis__entete,
  .home-ecom-demon.home-ecom-demon .faq__entete {
    padding: .75rem 1rem;
  }

  .home-ecom-demon.home-ecom-demon .temoin p,
  .home-ecom-demon.home-ecom-demon .qr__corps p,
  .home-ecom-demon.home-ecom-demon .garantie p {
    font-size: clamp(.72rem, 1.25svh, .82rem);
    line-height: 1.34;
  }

  .home-ecom-demon.home-ecom-demon .avis__entete p {
    display: none;
  }

  .home-ecom-demon.home-ecom-demon .faq__aside,
  .home-ecom-demon.home-ecom-demon .faq__liste {
    min-height: 62svh;
  }
}

@media (min-width: 1600px) {
  .home-ecom-demon.home-ecom-demon .etoffe {
    min-height: clamp(500px, 50svh, 620px);
  }

  .home-ecom-demon.home-ecom-demon .hero__guide {
    height: 94%;
    max-width: 46vw;
  }
}

.home-ecom-demon.home-ecom-demon .final::before {
  background:
    linear-gradient(90deg, rgba(3,6,8,.58), rgba(5,16,12,.28) 48%, rgba(3,6,8,.46)),
    url("https://boutique-demon-slayer.com/wp-content/uploads/home-ecom/boutique-demon-slayer.com/assets/img/scene-final.jpg") center / cover no-repeat;
}

.home-ecom-demon.home-ecom-demon .final__voile {
  background:
    radial-gradient(circle at 50% 48%, rgba(232,184,75,.08), transparent 34%),
    linear-gradient(180deg, rgba(4,7,8,.04), rgba(2,5,5,.28));
}

.home-ecom-demon.home-ecom-demon .final__contenu {
  background: rgba(5,10,8,.72);
}

@media (min-width: 1024px) {
  .home-ecom-demon.home-ecom-demon .souffle {
    grid-template-rows: auto 1fr;
  }

  .home-ecom-demon.home-ecom-demon .souffle__intro {
    margin-bottom: clamp(.75rem, 1.5svh, 1.2rem);
  }

  .home-ecom-demon.home-ecom-demon .souffle__scene {
    grid-template-columns: minmax(190px, 240px) 1fr;
    align-items: center;
  }

  .home-ecom-demon.home-ecom-demon .souffle__voies {
    flex-direction: column;
    align-self: stretch;
    margin: 0;
  }

  .home-ecom-demon.home-ecom-demon .voie {
    flex: 1 1 auto;
    min-height: 0;
    padding: clamp(.7rem, 1.4svh, 1rem);
  }

  .home-ecom-demon.home-ecom-demon .souffle__cartes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-ecom-demon.home-ecom-demon .souffle__resultat {
    width: 100%;
  }

  .home-ecom-demon.home-ecom-demon .bestsellers__grille {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .home-ecom-demon.home-ecom-demon .bestsellers .carte-produit__tag {
    display: none;
  }

  .home-ecom-demon.home-ecom-demon .etoffes__entete,
  .home-ecom-demon.home-ecom-demon .galerie__entete,
  .home-ecom-demon.home-ecom-demon .bestsellers__entete,
  .home-ecom-demon.home-ecom-demon .avis__entete {
    max-width: 760px;
  }
}

@media (max-width: 1023px) {
  .home-ecom-demon.home-ecom-demon .souffle__scene,
  .home-ecom-demon.home-ecom-demon .avis__grille {
    grid-template-columns: 1fr;
  }

  .home-ecom-demon.home-ecom-demon .atelier,
  .home-ecom-demon.home-ecom-demon .carnet {
    grid-template-columns: 1fr;
  }

  .home-ecom-demon.home-ecom-demon .couloir {
    display: flex;
    width: auto;
    justify-content: flex-start;
    overflow-x: auto;
    padding: .5rem .25rem 1.5rem;
  }

  .home-ecom-demon.home-ecom-demon .etoffe {
    flex: 0 0 75%;
    max-width: 280px;
    min-height: auto;
  }

  .home-ecom-demon.home-ecom-demon .carnet__visuel {
    position: relative;
    inset: auto;
    min-height: clamp(300px, 58svh, 560px);
    pointer-events: auto;
  }

  .home-ecom-demon.home-ecom-demon .carnet__perso {
    position: relative;
    right: auto;
    bottom: auto;
    height: auto;
    width: min(82vw, 360px);
    min-width: 0;
    max-height: 500px;
    margin: 0 auto;
    transform: translateY(7%);
  }

  .home-ecom-demon.home-ecom-demon .rang__decor img:nth-child(1) {
    opacity: .45;
  }

  .home-ecom-demon.home-ecom-demon .temoin--image {
    grid-template-columns: 96px 1fr;
  }

  .home-ecom-demon.home-ecom-demon .garanties__grille,
  .home-ecom-demon.home-ecom-demon .faq__scene {
    grid-template-columns: 1fr;
    width: auto;
  }

  .home-ecom-demon.home-ecom-demon .garantie,
  .home-ecom-demon.home-ecom-demon .faq__aside,
  .home-ecom-demon.home-ecom-demon .faq__liste {
    min-height: auto;
  }

  .home-ecom-demon.home-ecom-demon .faq__aside {
    padding: 1.2rem;
  }

  .home-ecom-demon.home-ecom-demon .faq__aside img {
    width: clamp(150px, 42vw, 210px);
    height: clamp(150px, 42vw, 210px);
    margin-left: auto;
    margin-right: auto;
  }

  .home-ecom-demon.home-ecom-demon .final__decor img:first-child {
    left: -2.5rem;
    height: 52svh;
    opacity: .36;
  }

  .home-ecom-demon.home-ecom-demon .final__decor img:last-child {
    right: -5rem;
    width: 58vw;
    opacity: .26;
  }

  .home-ecom-demon.home-ecom-demon .final__contenu {
    padding: 1.25rem;
  }
}

.home-ecom-demon.home-ecom-demon .piliers {
  position: relative;
  overflow: hidden;
  color: var(--texte-clair);
  background:
    linear-gradient(180deg, rgba(4,7,8,.36), rgba(5,11,8,.56)),
    url("https://boutique-demon-slayer.com/wp-content/uploads/home-ecom/boutique-demon-slayer.com/assets/img/scene-piliers-cour-entrainement.webp") center / cover no-repeat;
}

.home-ecom-demon.home-ecom-demon .piliers::before {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 34%;
  background: linear-gradient(180deg, transparent, rgba(2,5,4,.72));
  pointer-events: none;
}

.home-ecom-demon.home-ecom-demon .piliers::after {
  content: none;
  display: none;
}

.home-ecom-demon.home-ecom-demon .piliers > * {
  position: relative;
  z-index: 1;
}

.home-ecom-demon.home-ecom-demon .piliers__entete {
  position: relative;
  z-index: 6;
  max-width: 820px;
  margin: 0 auto var(--section-gap);
  text-align: center;
  background: rgba(5,9,7,.50);
  border: 1px solid rgba(244,236,216,.16);
  border-radius: var(--rayon);
  padding: clamp(.9rem, 1.8svh, 1.35rem);
  box-shadow: 0 20px 42px rgba(0,0,0,.18);
}

.home-ecom-demon.home-ecom-demon .piliers__entete p {
  color: #e6ddca;
  margin-bottom: 0;
}

.home-ecom-demon.home-ecom-demon .piliers__scene {
  width: min(1280px, calc(100vw - 4rem));
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  align-items: end;
  gap: clamp(.25rem, .7vw, .7rem);
  min-height: clamp(470px, 68svh, 760px);
}

.home-ecom-demon.home-ecom-demon .pilier {
  position: relative;
  min-width: 0;
  height: 100%;
  display: grid;
  align-items: end;
  justify-items: center;
  text-decoration: none;
  color: var(--texte-clair);
  isolation: isolate;
}

.home-ecom-demon.home-ecom-demon .pilier:hover,
.home-ecom-demon.home-ecom-demon .pilier:focus-visible {
  z-index: 4;
}

.home-ecom-demon.home-ecom-demon .pilier::before {
  content: "";
  position: absolute;
  left: 12%;
  right: 12%;
  bottom: 7%;
  height: 28%;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(232,184,75,.22), rgba(0,0,0,.32) 64%, transparent 72%);
  z-index: -1;
}

.home-ecom-demon.home-ecom-demon .pilier img {
  width: auto;
  max-width: none;
  height: clamp(350px, 60svh, 690px);
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(0 28px 28px rgba(0,0,0,.55));
  transition: transform .25s ease, filter .25s ease;
  transform: translateX(var(--img-shift, 0));
}

.home-ecom-demon.home-ecom-demon .pilier:hover img,
.home-ecom-demon.home-ecom-demon .pilier:focus-visible img {
  transform: translateX(var(--img-shift, 0)) translateY(-8px) scale(1.12);
  filter: drop-shadow(0 34px 32px rgba(0,0,0,.62));
}

.home-ecom-demon.home-ecom-demon .pilier__nom {
  position: absolute;
  left: 50%;
  bottom: clamp(.7rem, 2svh, 1.2rem);
  transform: translateX(-50%);
  width: max-content;
  max-width: 150px;
  padding: .38rem .55rem;
  border: 1px solid rgba(232,184,75,.42);
  border-radius: 999px;
  background: rgba(5,9,7,.72);
  color: var(--texte-clair);
  font-family: "Shippori Mincho", Georgia, serif;
  font-size: clamp(.68rem, 1.18svh, .88rem);
  line-height: 1;
  text-align: center;
  box-shadow: 0 12px 24px rgba(0,0,0,.26);
}

.home-ecom-demon.home-ecom-demon .pilier__perso {
  position: absolute;
  left: 50%;
  top: clamp(.3rem, 1.2svh, .8rem);
  transform: translate(-50%, .4rem);
  width: max-content;
  max-width: 150px;
  padding: .32rem .58rem;
  border: 1px solid rgba(244,236,216,.34);
  border-radius: 999px;
  background: rgba(4,7,8,.82);
  color: var(--or);
  font-family: "Shippori Mincho", Georgia, serif;
  font-size: clamp(.68rem, 1.15svh, .86rem);
  line-height: 1;
  z-index: 3;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 12px 24px rgba(0,0,0,.32);
  transition: opacity .2s ease, transform .2s ease;
}

.home-ecom-demon.home-ecom-demon .pilier:hover .pilier__perso,
.home-ecom-demon.home-ecom-demon .pilier:focus-visible .pilier__perso {
  opacity: 1;
  transform: translate(-50%, 0);
}

.home-ecom-demon.home-ecom-demon .pilier--sanemi,
.home-ecom-demon.home-ecom-demon .pilier--gyomei {
  transform: translateX(-34px);
}

@media (min-width: 1024px) {
  .home-ecom-demon.home-ecom-demon .piliers {
    display: grid;
    align-content: start;
  }

  .home-ecom-demon.home-ecom-demon .piliers__scene {
    position: relative;
    z-index: 5;
    width: min(1440px, calc(100vw - 2.5rem));
    min-height: calc(var(--desktop-section-h) * .735);
    height: calc(var(--desktop-section-h) * .735);
    display: block;
    margin-top: calc(var(--desktop-section-h) * -.035);
  }

  .home-ecom-demon.home-ecom-demon .pilier {
    position: absolute;
    left: var(--x);
    bottom: var(--y);
    width: min(10.8vw, 156px);
    height: calc(var(--desktop-section-h) * .68);
    transform: translateX(-50%);
    z-index: var(--z, 1);
  }

  .home-ecom-demon.home-ecom-demon .pilier img {
    height: min(calc(var(--desktop-section-h) * .62), 640px);
    max-width: none;
    pointer-events: none;
  }

  .home-ecom-demon.home-ecom-demon .pilier--giyu { --x: 5.5%; --y: 9%; --z: 1; }
  .home-ecom-demon.home-ecom-demon .pilier--shinobu { --x: 16.5%; --y: 6%; --z: 2; }
  .home-ecom-demon.home-ecom-demon .pilier--rengoku { --x: 27.8%; --y: 3%; --z: 3; }
  .home-ecom-demon.home-ecom-demon .pilier--tengen { --x: 39%; --y: 0%; --z: 4; }
  .home-ecom-demon.home-ecom-demon .pilier--mitsuri { --x: 50%; --y: 0%; --z: 5; }
  .home-ecom-demon.home-ecom-demon .pilier--muichiro { --x: 61%; --y: 0%; --z: 4; }
  .home-ecom-demon.home-ecom-demon .pilier--obanai { --x: 72.2%; --y: 3%; --z: 3; }
  .home-ecom-demon.home-ecom-demon .pilier--sanemi { --x: 83.5%; --y: 6%; --z: 2; }
  .home-ecom-demon.home-ecom-demon .pilier--gyomei { --x: 94.5%; --y: 9%; --z: 1; }

  .home-ecom-demon.home-ecom-demon .pilier--giyu { --img-shift: 8%; }
  .home-ecom-demon.home-ecom-demon .pilier--shinobu { --img-shift: 4%; }
  .home-ecom-demon.home-ecom-demon .pilier--sanemi { --img-shift: -4%; }
  .home-ecom-demon.home-ecom-demon .pilier--gyomei { --img-shift: -8%; }

  .home-ecom-demon.home-ecom-demon .pilier--sanemi,
  .home-ecom-demon.home-ecom-demon .pilier--gyomei {
    transform: translateX(-50%);
  }
}

@media (min-width: 1024px) and (max-height: 800px) {
  .home-ecom-demon.home-ecom-demon .piliers__entete p {
    display: none;
  }

  .home-ecom-demon.home-ecom-demon .piliers__scene {
    min-height: 68svh;
  }

  .home-ecom-demon.home-ecom-demon .pilier img {
    height: clamp(300px, 57svh, 520px);
    max-width: none;
  }
}

@media (min-width: 1600px) {
  .home-ecom-demon.home-ecom-demon .piliers__scene {
    min-height: calc(var(--desktop-section-h) * .735);
  }
}

@media (max-width: 1023px) {
  .home-ecom-demon.home-ecom-demon .piliers__scene {
    width: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-height: auto;
    gap: .75rem .5rem;
  }

  .home-ecom-demon.home-ecom-demon .pilier {
    min-height: 280px;
  }

  .home-ecom-demon.home-ecom-demon .pilier img {
    height: 260px;
    max-width: 100%;
  }

  .home-ecom-demon.home-ecom-demon .pilier--sanemi,
  .home-ecom-demon.home-ecom-demon .pilier--gyomei {
    transform: none;
  }

  .home-ecom-demon.home-ecom-demon .pilier__nom {
    bottom: .7rem;
  }
}

@media (min-width: 1024px) {
  .home-ecom-demon.home-ecom-demon {
    --initial-header-block: 248px;
    --sticky-header-block: 61px;
    --desktop-section-h: calc(100svh - var(--sticky-header-block));
  }

  .home-ecom-demon.home-ecom-demon section {
    min-height: var(--desktop-section-h);
    height: var(--desktop-section-h);
    max-height: var(--desktop-section-h);
    scroll-margin-top: var(--sticky-header-block);
  }

  .home-ecom-demon.home-ecom-demon .hero {
    min-height: calc(100svh - var(--initial-header-block));
    height: calc(100svh - var(--initial-header-block));
    max-height: calc(100svh - var(--initial-header-block));
    scroll-margin-top: 0;
  }

  .home-ecom-demon.home-ecom-demon .atelier__visuel,
  .home-ecom-demon.home-ecom-demon .carnet__visuel {
    height: calc(var(--desktop-section-h) * .88);
    min-height: calc(var(--desktop-section-h) * .88);
    max-height: calc(var(--desktop-section-h) * .88);
  }

  .home-ecom-demon.home-ecom-demon .atelier {
    position: relative;
    grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr);
  }

  .home-ecom-demon.home-ecom-demon .atelier__visuel {
    min-width: 0;
    z-index: 1;
  }

  .home-ecom-demon.home-ecom-demon .atelier__perso {
    position: absolute;
    left: calc(-1 * max(13.5rem, 15vw));
    bottom: calc(var(--desktop-section-h) * -.035);
    height: min(calc(var(--desktop-section-h) * 1.06), 940px);
    max-height: none;
    max-width: none;
    width: auto;
    transform: none;
  }

  .home-ecom-demon.home-ecom-demon .atelier__texte {
    position: relative;
    z-index: 3;
  }

  .home-ecom-demon.home-ecom-demon .carnet__perso {
    left: 72%;
    right: auto;
    bottom: 0;
    height: min(calc(var(--desktop-section-h) * .88), 820px);
    max-height: calc(var(--desktop-section-h) * .9);
    min-width: 0;
    transform: translateX(-50%);
  }

  .home-ecom-demon.home-ecom-demon .atelier__texte,
  .home-ecom-demon.home-ecom-demon .carnet__texte,
  .home-ecom-demon.home-ecom-demon .cadeaux__intro,
  .home-ecom-demon.home-ecom-demon .cadeaux__cartes,
  .home-ecom-demon.home-ecom-demon .final__contenu {
    min-height: calc(var(--desktop-section-h) * .76);
    max-height: calc(var(--desktop-section-h) * .88);
  }

  .home-ecom-demon.home-ecom-demon .souffle__scene,
  .home-ecom-demon.home-ecom-demon .avis__grille,
  .home-ecom-demon.home-ecom-demon .garanties__grille,
  .home-ecom-demon.home-ecom-demon .faq__scene,
  .home-ecom-demon.home-ecom-demon .piliers__scene {
    min-height: calc(var(--desktop-section-h) * .64);
  }

  .home-ecom-demon.home-ecom-demon .avis__grille {
    min-height: calc(var(--desktop-section-h) * .58);
  }

  .home-ecom-demon.home-ecom-demon .piliers__scene {
    min-height: calc(var(--desktop-section-h) * .735);
  }

  .home-ecom-demon.home-ecom-demon .pilier img {
    height: min(calc(var(--desktop-section-h) * .62), 640px);
  }

  .home-ecom-demon.home-ecom-demon .final__decor img:first-child {
    height: min(calc(var(--desktop-section-h) * .72), 720px);
  }

  .home-ecom-demon.home-ecom-demon .souffle__cartes .carte-produit {
    max-height: none;
  }

  .home-ecom-demon.home-ecom-demon .souffle__cartes .carte-produit .produit-placeholder {
    height: clamp(130px, 18svh, 168px);
  }

  .home-ecom-demon.home-ecom-demon .souffle__cartes .produit-placeholder--image img {
    width: 100% !important;
    height: 100% !important;
    max-height: 100%;
    object-fit: contain;
    object-position: center center;
    transform: none;
  }
}

@media (min-width: 1024px) and (max-height: 800px) {
  .home-ecom-demon.home-ecom-demon .souffle__scene,
  .home-ecom-demon.home-ecom-demon .avis__grille,
  .home-ecom-demon.home-ecom-demon .garanties__grille,
  .home-ecom-demon.home-ecom-demon .faq__scene,
  .home-ecom-demon.home-ecom-demon .piliers__scene {
    min-height: calc(var(--desktop-section-h) * .62);
  }

  .home-ecom-demon.home-ecom-demon .pilier img {
    height: min(calc(var(--desktop-section-h) * .56), 470px);
  }

  .home-ecom-demon.home-ecom-demon .souffle__cartes .carte-produit .produit-placeholder {
    height: clamp(120px, 17svh, 145px);
  }

  .home-ecom-demon.home-ecom-demon .piliers__entete,
  .home-ecom-demon.home-ecom-demon .avis__entete,
  .home-ecom-demon.home-ecom-demon .faq__entete,
  .home-ecom-demon.home-ecom-demon .garanties__entete,
  .home-ecom-demon.home-ecom-demon .souffle__intro {
    padding-top: .65rem;
    padding-bottom: .65rem;
  }
}

@media (min-width: 1024px) {
  .home-ecom-demon.home-ecom-demon .cadeaux {
    position: relative;
    isolation: isolate;
    grid-template-columns: minmax(360px, .78fr) minmax(0, 1.22fr);
    align-items: center;
    gap: clamp(1.2rem, 3vw, 2.8rem);
    background:
      linear-gradient(90deg, rgba(3,6,8,.48), rgba(5,9,13,.22) 34%, rgba(5,7,10,.08) 58%, rgba(5,7,10,.04)),
      radial-gradient(circle at 74% 44%, rgba(232,184,75,.08), transparent 34%),
      url("https://boutique-demon-slayer.com/wp-content/uploads/home-ecom/boutique-demon-slayer.com/assets/img/scene-cadeaux-chateau-infini.webp") center / cover no-repeat;
    color: var(--texte-clair);
  }

  .home-ecom-demon.home-ecom-demon .cadeaux::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
      linear-gradient(180deg, rgba(2,4,6,.02), rgba(2,4,5,.10)),
      linear-gradient(90deg, rgba(0,0,0,.18), transparent 38%, rgba(0,0,0,.04));
    pointer-events: none;
  }

  .home-ecom-demon.home-ecom-demon .cadeaux__intro {
    max-width: 520px;
    min-height: calc(var(--desktop-section-h) * .70);
    justify-content: center;
    background: rgba(5,8,10,.46);
    border: 1px solid rgba(244,236,216,.16);
    color: var(--texte-clair);
    box-shadow: 0 22px 48px rgba(0,0,0,.32);
  }

  .home-ecom-demon.home-ecom-demon .cadeaux__intro p {
    color: rgba(246,241,228,.88);
    font-size: clamp(.92rem, 1.72svh, 1.04rem);
    line-height: 1.55;
  }

  .home-ecom-demon.home-ecom-demon .cadeaux__badges {
    margin: clamp(.4rem, 1svh, .8rem) 0 clamp(.85rem, 1.7svh, 1.25rem);
  }

  .home-ecom-demon.home-ecom-demon .cadeaux__badges span {
    color: var(--texte-clair);
    background: rgba(232,184,75,.15);
    border-color: rgba(232,184,75,.36);
  }

  .home-ecom-demon.home-ecom-demon .cadeaux__cartes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(.75rem, 1.45svh, 1.15rem);
    min-height: calc(var(--desktop-section-h) * .74);
    max-height: calc(var(--desktop-section-h) * .84);
    align-content: center;
  }

  .home-ecom-demon.home-ecom-demon .cadeaux__cartes .carte-produit {
    min-height: calc((var(--desktop-section-h) * .74 - clamp(.75rem, 1.45svh, 1.15rem)) / 2);
    background: rgba(255,255,255,.94);
    border: 1px solid rgba(244,236,216,.5);
    box-shadow: 0 20px 44px rgba(0,0,0,.26);
  }

  .home-ecom-demon.home-ecom-demon .cadeaux__cartes .carte-produit .produit-placeholder {
    height: clamp(120px, 18svh, 170px);
  }

  .home-ecom-demon.home-ecom-demon .cadeaux__choix {
    min-height: calc(var(--desktop-section-h) * .74);
    max-height: calc(var(--desktop-section-h) * .84);
  }

  .home-ecom-demon.home-ecom-demon .cadeau-tuile {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto auto;
    align-items: end;
    min-height: calc((var(--desktop-section-h) * .74 - clamp(.75rem, 1.45svh, 1.15rem)) / 2);
    padding: clamp(.8rem, 1.5svh, 1.1rem);
    color: var(--texte);
    text-decoration: none;
    background: rgba(255,255,255,.93);
    border: 1px solid rgba(244,236,216,.5);
    border-radius: var(--rayon);
    box-shadow: 0 20px 44px rgba(0,0,0,.26);
    transition: transform .18s ease, box-shadow .18s ease;
  }

  .home-ecom-demon.home-ecom-demon .cadeau-tuile:hover,
  .home-ecom-demon.home-ecom-demon .cadeau-tuile:focus-visible {
    transform: translateY(-4px);
    box-shadow: 0 26px 52px rgba(0,0,0,.34);
  }

  .home-ecom-demon.home-ecom-demon .cadeau-tuile img {
    width: 100%;
    height: clamp(150px, 23svh, 220px);
    object-fit: contain;
    margin: 0 0 clamp(.45rem, 1svh, .75rem);
    filter: drop-shadow(0 14px 20px rgba(0,0,0,.22));
  }

  .home-ecom-demon.home-ecom-demon .cadeau-tuile span {
    font-family: "Shippori Mincho", Georgia, serif;
    font-size: clamp(1rem, 1.9svh, 1.18rem);
    font-weight: 800;
    line-height: 1.1;
  }

  .home-ecom-demon.home-ecom-demon .cadeau-tuile small {
    display: block;
    margin-top: .28rem;
    color: #4a463d;
    font-size: clamp(.76rem, 1.42svh, .9rem);
    line-height: 1.32;
  }

  .home-ecom-demon.home-ecom-demon .etoffes {
    display: grid;
    grid-template-columns: minmax(280px, 350px) minmax(0, 1fr);
    align-items: center;
    gap: clamp(1.2rem, 2.6vw, 2.3rem);
    padding-left: max(2rem, calc((100vw - 1380px) / 2));
    padding-right: max(2rem, calc((100vw - 1380px) / 2));
  }

  .home-ecom-demon.home-ecom-demon .etoffes__entete {
    max-width: none;
    margin: 0;
    text-align: left;
    align-self: center;
  }

  .home-ecom-demon.home-ecom-demon .etoffes__entete .ruban {
    margin-bottom: clamp(.7rem, 1.3svh, 1rem);
  }

  .home-ecom-demon.home-ecom-demon .etoffes__entete h2 {
    font-size: clamp(2rem, 4.7svh, 3.15rem);
    margin-bottom: clamp(.55rem, 1.1svh, .85rem);
  }

  .home-ecom-demon.home-ecom-demon .etoffes__entete p {
    font-size: clamp(.88rem, 1.65svh, 1rem);
    line-height: 1.5;
    margin-bottom: clamp(.55rem, 1.2svh, .9rem);
  }

  .home-ecom-demon.home-ecom-demon .couloir {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: clamp(.75rem, 1.45svh, 1.15rem);
    padding: 0;
    overflow: visible;
    align-self: center;
  }

  .home-ecom-demon.home-ecom-demon .etoffe {
    min-height: calc((var(--desktop-section-h) * .76 - clamp(.75rem, 1.45svh, 1.15rem)) / 2);
    padding: clamp(.75rem, 1.4svh, 1.05rem);
    display: flex;
    box-shadow: 0 18px 34px rgba(10,10,10,.16);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  }

  .home-ecom-demon.home-ecom-demon .etoffe:hover,
  .home-ecom-demon.home-ecom-demon .etoffe:focus-within {
    transform: translateY(-4px);
    border-color: rgba(15,157,88,.48);
    box-shadow: 0 24px 42px rgba(10,10,10,.2);
  }

  .home-ecom-demon.home-ecom-demon .etoffe__lien {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto auto;
    align-items: end;
    width: 100%;
    min-height: 100%;
    color: inherit;
    text-decoration: none;
  }

  .home-ecom-demon.home-ecom-demon .etoffe__img {
    height: clamp(150px, 24svh, 230px);
    width: 100%;
    margin: 0 0 clamp(.45rem, 1svh, .7rem);
    object-fit: contain;
  }

  .home-ecom-demon.home-ecom-demon .etoffe h3 {
    font-size: clamp(.98rem, 1.8svh, 1.12rem);
    margin-bottom: .25rem;
  }

  .home-ecom-demon.home-ecom-demon .etoffe p {
    font-size: clamp(.76rem, 1.42svh, .9rem);
    line-height: 1.35;
  }

  .home-ecom-demon.home-ecom-demon .piliers__scene {
    width: min(1560px, calc(100vw - 1.25rem));
    margin-left: auto;
    margin-right: auto;
  }

  .home-ecom-demon.home-ecom-demon .pilier {
    width: clamp(116px, 9.4vw, 154px);
    height: calc(var(--desktop-section-h) * .66);
    transform: translateX(-50%);
  }

  .home-ecom-demon.home-ecom-demon .pilier img {
    position: absolute;
    left: 50%;
    bottom: clamp(2.2rem, 5svh, 3.4rem);
    height: min(calc(var(--desktop-section-h) * .55), 565px);
    transform: translateX(calc(-50% - var(--body-shift, 0%)));
  }

  .home-ecom-demon.home-ecom-demon .pilier:hover img,
  .home-ecom-demon.home-ecom-demon .pilier:focus-visible img {
    transform: translateX(calc(-50% - var(--body-shift, 0%))) translateY(-8px) scale(1.15);
  }

  .home-ecom-demon.home-ecom-demon .pilier__nom,
  .home-ecom-demon.home-ecom-demon .pilier__perso {
    left: 50%;
    transform: translateX(-50%);
    max-width: 168px;
    white-space: nowrap;
  }

  .home-ecom-demon.home-ecom-demon .pilier:hover .pilier__perso,
  .home-ecom-demon.home-ecom-demon .pilier:focus-visible .pilier__perso {
    transform: translateX(-50%);
  }

  .home-ecom-demon.home-ecom-demon .pilier:hover,
  .home-ecom-demon.home-ecom-demon .pilier:focus-visible {
    z-index: 80;
  }

  .home-ecom-demon.home-ecom-demon .pilier:hover img,
  .home-ecom-demon.home-ecom-demon .pilier:focus-visible img,
  .home-ecom-demon.home-ecom-demon .pilier:hover .pilier__nom,
  .home-ecom-demon.home-ecom-demon .pilier:focus-visible .pilier__nom,
  .home-ecom-demon.home-ecom-demon .pilier:hover .pilier__perso,
  .home-ecom-demon.home-ecom-demon .pilier:focus-visible .pilier__perso {
    z-index: 81;
  }

  .home-ecom-demon.home-ecom-demon .pilier--giyu { --x: 6%; --y: 0%; --z: 1; --body-shift: -5%; }
  .home-ecom-demon.home-ecom-demon .pilier--shinobu { --x: 17%; --y: 0%; --z: 2; --body-shift: 1%; }
  .home-ecom-demon.home-ecom-demon .pilier--rengoku { --x: 28%; --y: 0%; --z: 3; --body-shift: 0%; }
  .home-ecom-demon.home-ecom-demon .pilier--tengen { --x: 39%; --y: 0%; --z: 4; --body-shift: 0%; }
  .home-ecom-demon.home-ecom-demon .pilier--mitsuri { --x: 50%; --y: 0%; --z: 5; --body-shift: 0%; }
  .home-ecom-demon.home-ecom-demon .pilier--muichiro { --x: 61%; --y: 0%; --z: 4; --body-shift: -3%; }
  .home-ecom-demon.home-ecom-demon .pilier--obanai { --x: 72%; --y: 0%; --z: 3; --body-shift: 0%; }
  .home-ecom-demon.home-ecom-demon .pilier--sanemi { --x: 83%; --y: 0%; --z: 2; --body-shift: 0%; }
  .home-ecom-demon.home-ecom-demon .pilier--gyomei { --x: 94%; --y: 0%; --z: 1; --body-shift: 0%; }
}
.home-ecom-demon .lucide-item {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
}
.home-ecom-demon .lucide-item svg,
.home-ecom-demon svg.lucide {
  width: 1.05rem;
  height: 1.05rem;
  flex: 0 0 auto;
  stroke-width: 1.8;
}
.home-ecom-demon .hero__reperes .lucide-item {
  padding-left: 0;
}
.home-ecom-demon .hero__reperes .lucide-item::before {
  display: none;
}
.home-ecom-demon .atelier__liste {
  list-style: none;
  padding-left: 0;
}
.home-ecom-demon .cadeaux__badges .lucide-item {
  display: inline-flex;
}
.home-ecom-demon .garantie__pic svg {
  width: 1.55rem;
  height: 1.55rem;
}
