/* Mur des écrins : velours prune, tablettes de verre, lueur or ; caméra pilotée par ps-home-mur-vitrine.js. */
/* Jetons du Mur, partagés avec le Studio 3D en fenêtre (.psst) : mêmes velours, mêmes ors, mêmes polices. */
.psmv, .psst {
  --psmv-ivory: #f6efe8;
  --psmv-ivory-2: rgba(246, 239, 232, .66);
  --psmv-ivory-3: rgba(246, 239, 232, .42);
  --psmv-gold: #c7a56a;
  --psmv-gold-hi: #f1d7a1;
  --psmv-gold-soft: #e3c48d;
  --psmv-plum: #3b1d2b;
  --psmv-plum-deep: #24111b;
  --psmv-night: #150a10;
  --psmv-pad: clamp(20px, 4vw, 56px);
  --psmv-ease: cubic-bezier(.22, .8, .24, 1);
  --psmv-cam: cubic-bezier(.66, 0, .2, 1);
  /* Le mur n'est pas une section .psh : sans ces deux lignes, ses titres tombaient en Times et ses textes en Arial. */
  --psh-serif: var(--font-heading-family, 'Cormorant', serif);
  --psh-sans: var(--font-body-family, 'Inter', sans-serif);
}
.psmv {
  position: relative;
  color: var(--psmv-ivory);
  background: var(--psmv-night);
}

/* ---------- Scène ---------- */
.psmv-stage {
  position: relative;
  height: clamp(600px, 100svh, 920px);
  overflow: hidden;
  /* clip : le focus d'un repli ne peut pas faire défiler le mur zoomé hors cadre. */
  overflow: clip;
  isolation: isolate;
}
/* Velours du mur ; le Studio en fenêtre pose ses pièces sur le même fond. */
.psmv-stage, .psst .psh.psi-studio {
  background:
    radial-gradient(ellipse 90% 45% at 50% 108%, rgba(0, 0, 0, .55), transparent 70%),
    linear-gradient(180deg, #432233 0%, #34192a 38%, #241119 78%, #1a0c13 100%);
}
.psmv-halo, .psmv-halo::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.psmv-halo {
  z-index: 0;
  transform: translate3d(calc(var(--psmv-px, 0) * 18px), calc(var(--psmv-py, 0) * 10px), 0) scale(1.06);
  background:
    radial-gradient(ellipse 42% 62% at 12% -8%, rgba(246, 214, 228, .30), rgba(196, 128, 160, .10) 48%, transparent 74%),
    linear-gradient(118deg, rgba(255, 232, 242, .07) 0 16%, transparent 38%),
    radial-gradient(ellipse 60% 40% at 78% 0%, rgba(199, 165, 106, .07), transparent 70%);
}
.psmv-halo::after {
  content: "";
  opacity: .16;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- Bandeau du mur ---------- */
.psmv-top {
  position: absolute;
  inset: 0 0 auto;
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: start;
  gap: 24px;
  padding: clamp(24px, 3.2vw, 44px) var(--psmv-pad) 0;
  transition: opacity .45s var(--psmv-ease), transform .6s var(--psmv-ease), visibility 0s .45s;
}
.psmv-kicker {
  margin: 0 0 10px;
  font: 600 10.5px/1.4 var(--psh-sans, sans-serif);
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--psmv-gold);
}
.psmv-title {
  margin: 0;
  font: 400 clamp(30px, 3.3vw, 48px)/1.02 var(--psh-serif, serif);
  letter-spacing: -.005em;
  color: var(--psmv-ivory);
}
.psmv-title em { font-style: italic; color: var(--psmv-gold-soft); }
.psmv-intro {
  margin: 10px 0 0;
  max-width: 34ch;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--psmv-ivory-2);
}
.psmv-tabs {
  display: flex;
  gap: clamp(16px, 2.2vw, 30px);
  padding-top: 6px;
}
.psmv-tab {
  position: relative;
  padding: 8px 0;
  border: 0;
  background: none;
  font: 500 11.5px/1 var(--psh-sans, sans-serif);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--psmv-ivory-3);
  cursor: pointer;
  transition: color .3s;
}
.psmv-tab::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: var(--psmv-gold);
  transform: scaleX(0);
  transition: transform .45s var(--psmv-ease);
}
.psmv-tab:hover { color: var(--psmv-ivory-2); }
.psmv-tab[aria-selected="true"] { color: var(--psmv-ivory); }
.psmv-tab[aria-selected="true"]::after { transform: scaleX(1); }
.psmv-tab:focus-visible, .psmv-all:focus-visible, .psmv-back:focus-visible, .psmv-nav__btn:focus-visible, .psmv-more:focus-visible {
  outline: 1px solid var(--psmv-gold);
  outline-offset: 4px;
}
.psmv-aside {
  justify-self: end;
  display: grid;
  justify-items: end;
  gap: 12px;
  padding-top: 6px;
  text-align: right;
}
.psmv-hint {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font: 500 10.5px/1.4 var(--psh-sans, sans-serif);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--psmv-ivory-3);
}
.psmv-hint__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--psmv-gold);
  box-shadow: 0 0 10px 2px rgba(231, 190, 120, .7);
  animation: psmv-breathe 2.6s ease-in-out infinite;
}
.psmv-hint__touch { display: none; }
@media (hover: none), (pointer: coarse) {
  .psmv-hint__fine { display: none; }
  .psmv-hint__touch { display: inline; }
  /* L'intro parle de survol et de clic ; au doigt, l'indication tactile la remplace. */
  .psmv-intro { display: none; }
}
.psmv-all {
  display: inline-flex;
  gap: 8px;
  padding: 6px 0;
  border-bottom: 1px solid var(--psmv-gold);
  font: 500 13px/1 var(--psh-sans, sans-serif);
  color: var(--psmv-ivory);
  text-decoration: none;
  transition: gap .3s var(--psmv-ease), color .3s;
}
.psmv-all:hover { gap: 13px; color: var(--psmv-gold-hi); }

/* ---------- Caméra et mur ---------- */
.psmv-camera {
  position: absolute;
  inset: 0;
  z-index: 1;
  transform-origin: 0 0;
}
.psmv.is-moving .psmv-camera { will-change: transform; }
.psmv-wall {
  position: absolute;
  top: 27%;
  bottom: 3.5%;
  left: max(var(--psmv-pad), calc((100% - 1440px) / 2));
  right: max(var(--psmv-pad), calc((100% - 1440px) / 2));
  animation: psmv-wall-in .7s var(--psmv-ease) both;
}
.psmv-wall[hidden] { display: none; }
.psmv-grid {
  height: 100%;
  /* Profondeur : le mur glisse à l'opposé du halo quand la souris bouge (variables posées par le script). */
  transform: translate3d(calc(var(--psmv-px, 0) * -9px), calc(var(--psmv-py, 0) * -5px), 0);
  display: grid;
  grid-template-columns: repeat(var(--psmv-cols, 5), minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  column-gap: clamp(14px, 2.6vw, 44px);
  row-gap: clamp(8px, 2.2vh, 26px);
}
.psmv-empty {
  grid-column: 1 / -1;
  align-self: center;
  text-align: center;
  color: var(--psmv-ivory-2);
}

.psmv-piece {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  height: 100%;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: opacity .6s var(--psmv-ease);
}
.psmv-piece:focus-visible { outline: none; }
.psmv-piece:focus-visible .psmv-shelf { outline: 1px solid var(--psmv-gold); outline-offset: 6px; }

/* L'art : tout est en pourcentages pour que le calque de détail le reproduise à l'identique, à n'importe quelle échelle. */
.psmv-piece__art {
  position: relative;
  flex: 1 1 0;
  min-height: 0;
  display: block;
  transition: transform .6s var(--psmv-ease);
}
.psmv-piece__art::after {
  content: "";
  position: absolute;
  left: 20%;
  right: 20%;
  bottom: -2%;
  height: 7%;
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(0, 0, 0, .55), transparent);
  pointer-events: none;
}
.psmv-plaque {
  position: absolute;
  inset: 0;
  display: block;
}
.psmv-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: 50% 100%;
  user-select: none;
  -webkit-user-drag: none;
  transition: filter .5s var(--psmv-ease);
}
/* Détourage automatique en préparation : reflet discret à la place de la photo. */
.psmv-piece__art.is-pending .psmv-plaque::before {
  content: "";
  position: absolute;
  left: 22%;
  right: 22%;
  bottom: 4%;
  height: 62%;
  border-radius: 40% 40% 14% 14%;
  background: linear-gradient(100deg, rgba(246, 239, 232, .03) 30%, rgba(246, 239, 232, .1) 50%, rgba(246, 239, 232, .03) 70%) 0 0 / 300% 100%;
  animation: psmv-shimmer 1.6s linear infinite;
}
/* Dernier recours si le détourage automatique échoue : bords fondus dans le velours. */
.psmv-piece__art.is-raw .psmv-img {
  -webkit-mask-image: radial-gradient(closest-side, #000 62%, transparent 100%);
  mask-image: radial-gradient(closest-side, #000 62%, transparent 100%);
}
.psmv-editor-tag {
  position: absolute;
  left: 50%;
  top: 4px;
  z-index: 2;
  max-width: 96%;
  padding: 4px 8px;
  border-radius: 6px;
  transform: translateX(-50%);
  background: rgba(20, 9, 15, .82);
  font: 500 9.5px/1.3 var(--psh-sans, sans-serif);
  color: var(--psmv-gold-hi);
  pointer-events: none;
}

/* Reflet dans la tablette de verre : la pièce renversée, très atténuée, fondue vers le bas. */
.psmv-reflect {
  position: absolute;
  inset: 0;
  display: block;
  transform: translateY(-4%) scaleY(-1);
  transform-origin: 50% 100%;
  opacity: .22;
  filter: blur(1.2px);
  -webkit-mask-image: linear-gradient(to top, #000 0%, rgba(0, 0, 0, .35) 7%, transparent 17%);
  mask-image: linear-gradient(to top, #000 0%, rgba(0, 0, 0, .35) 7%, transparent 17%);
  pointer-events: none;
  transition: opacity .5s var(--psmv-ease);
}
.psmv-piece__art.is-pending .psmv-reflect, .psmv-piece__art.is-raw .psmv-reflect { display: none; }

/* Badges : promotion, dernières pièces, nouveauté, épuisé, ou texte libre du bloc. */
.psmv-badge {
  position: absolute;
  left: 4%;
  top: 4%;
  z-index: 1;
  padding: 5px 9px 4px;
  border: 1px solid rgba(199, 165, 106, .55);
  border-radius: 999px;
  background: rgba(24, 11, 18, .5);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  font: 600 9px/1 var(--psh-sans, sans-serif);
  letter-spacing: .16em;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--psmv-gold-hi);
  pointer-events: none;
  transition: opacity .35s var(--psmv-ease);
}
.psmv-badge[hidden] { display: none; }
.psmv-badge--sale {
  border-color: transparent;
  background: linear-gradient(100deg, #f1dcaa, #c7a56a 60%, #e6c992);
  color: #241306;
}
.psmv-badge--low { border-color: rgba(246, 239, 232, .35); color: var(--psmv-ivory); }
.psmv-badge--low::before, .psmv-stock__dot {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  margin-right: 6px;
  border-radius: 50%;
  vertical-align: 1px;
  background: #e7a46a;
  box-shadow: 0 0 6px rgba(231, 164, 106, .8);
  animation: psmv-breathe 2.6s ease-in-out infinite;
}
.psmv-badge--soldout { border-color: rgba(246, 239, 232, .2); color: var(--psmv-ivory-3); }
.psmv-id__kicker .psmv-badge {
  position: static;
  display: inline-block;
  margin-left: 10px;
  vertical-align: 1px;
  letter-spacing: .16em;
}
.psmv-id__kicker .psmv-badge[hidden], .psmv-id__kicker [data-psmv-num][hidden], .psmv-id__vendor[hidden], .psmv-id__desc[hidden] { display: none; }

/* Tablette de verre ; un reflet de lumière glisse sur le verre avec la souris. */
.psmv-shelf {
  position: relative;
  flex: none;
  display: block;
  height: 7px;
  margin: 0 3%;
  border-radius: 2px;
  background:
    linear-gradient(100deg, transparent 40%, rgba(255, 255, 255, .5) 50%, transparent 60%) calc(50% - var(--psmv-px, 0) * 45%) 0 / 260% 100% no-repeat,
    linear-gradient(180deg, rgba(255, 255, 255, .58), rgba(255, 255, 255, .16) 45%, rgba(255, 255, 255, .05));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), 0 1px 0 rgba(0, 0, 0, .35);
}
.psmv-shelf::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 3%;
  right: 3%;
  height: 26px;
  background: radial-gradient(ellipse 50% 100% at 50% 0, rgba(0, 0, 0, .5), transparent 72%);
  pointer-events: none;
}
.psmv-shelf::after {
  content: "";
  position: absolute;
  top: 100%;
  left: -8%;
  right: -8%;
  height: 110px;
  background: radial-gradient(ellipse 50% 100% at 50% 0, rgba(233, 192, 122, .42), rgba(199, 165, 106, .12) 45%, transparent 74%);
  opacity: 0;
  transition: opacity .5s var(--psmv-ease);
  pointer-events: none;
}
.psmv-shelf__glow {
  position: absolute;
  left: 4%;
  right: 4%;
  top: 2px;
  height: 3px;
  border-radius: 3px;
  background: linear-gradient(90deg, transparent, var(--psmv-gold-hi) 16%, #ffe9bf 50%, var(--psmv-gold-hi) 84%, transparent);
  box-shadow: 0 0 10px 2px rgba(240, 200, 130, .8), 0 0 36px 9px rgba(199, 165, 106, .42);
  opacity: 0;
  transition: opacity .45s var(--psmv-ease);
}
/* Étiquette : sur une ligne si elle tient, sinon repère (type, écrin) en 1re ligne, nom et prix en 2e — jamais tronquée
   au point de perdre le nom. Hauteur réservée pour deux lignes : rien ne bouge au survol. */
.psmv-label {
  position: relative;
  flex: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-content: flex-start;
  align-items: baseline;
  column-gap: 8px;
  row-gap: 3px;
  height: 46px;
  padding-top: 10px;
  overflow: hidden;
  font: 500 10.5px/1.35 var(--psh-sans, sans-serif);
  letter-spacing: .13em;
  text-transform: uppercase;
  white-space: nowrap;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity .4s var(--psmv-ease), transform .4s var(--psmv-ease);
}
.psmv-label__num { max-width: 100%; overflow: hidden; text-overflow: ellipsis; color: var(--psmv-gold); }
.psmv-label__main { display: inline-flex; align-items: baseline; gap: 8px; min-width: 0; max-width: 100%; }
.psmv-label__name { min-width: 0; overflow: hidden; text-overflow: ellipsis; color: var(--psmv-ivory); }
.psmv-label__price { flex: none; }
.psmv-label__price { color: var(--psmv-ivory-3); }

/* Éclairage : survol (souris), 1er toucher, clavier, pièce approchée */
@media (hover: hover) and (pointer: fine) {
  .psmv:not(.is-zoomed) .psmv-piece:hover .psmv-shelf__glow,
  .psmv:not(.is-zoomed) .psmv-piece:hover .psmv-shelf::after { opacity: 1; }
  .psmv:not(.is-zoomed) .psmv-piece:hover .psmv-label { opacity: 1; transform: none; }
  .psmv:not(.is-zoomed) .psmv-piece:hover .psmv-piece__art { transform: translateY(-4px); }
  .psmv:not(.is-zoomed) .psmv-piece:hover .psmv-img { filter: brightness(1.07) saturate(1.04); }
  .psmv:not(.is-zoomed) .psmv-piece:hover .psmv-reflect { opacity: .34; }
}
.psmv-piece.is-lit .psmv-reflect, .psmv-piece:focus-visible .psmv-reflect { opacity: .34; }
.psmv-piece:focus-visible .psmv-shelf__glow, .psmv-piece:focus-visible .psmv-shelf::after,
.psmv-piece.is-lit .psmv-shelf__glow, .psmv-piece.is-lit .psmv-shelf::after,
.psmv-piece.is-focus .psmv-shelf__glow, .psmv-piece.is-focus .psmv-shelf::after { opacity: 1; }
.psmv-piece:focus-visible .psmv-label, .psmv-piece.is-lit .psmv-label { opacity: 1; transform: none; }
.psmv-piece.is-lit .psmv-piece__art { transform: translateY(-4px); }
.psmv-piece.is-lit .psmv-img { filter: brightness(1.07) saturate(1.04); }

/* ---------- Approche ---------- */
.psmv.is-zoomed .psmv-top {
  opacity: 0;
  visibility: hidden;
  transform: translateY(-12px);
}
.psmv.is-zoomed .psmv-piece:not(.is-focus) { opacity: .2; }
.psmv.is-zoomed .psmv-piece.is-focus .psmv-label { opacity: 0; }
.psmv.is-zoomed .psmv-piece__art { transform: none; }
.psmv.is-zoomed .psmv-grid { transform: none; transition: transform .6s var(--psmv-ease); }
.psmv-piece.is-handed .psmv-piece__art { visibility: hidden; }

.psmv-detail {
  position: absolute;
  inset: 0;
  z-index: 4;
  width: auto;
  height: auto;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  overflow: visible;
  background: transparent;
  color: inherit;
  pointer-events: none;
}
.psmv-detail:not([open]) { display: none; }
.psmv-detail > * { pointer-events: auto; }
/* Voile latéral : les textes restent lisibles devant les pièces voisines. */
.psmv-detail::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(30, 14, 22, .82) 0%, rgba(30, 14, 22, .5) 22%, transparent 38%, transparent 66%, rgba(30, 14, 22, .5) 80%, rgba(30, 14, 22, .78) 100%);
  opacity: 0;
  transition: opacity .6s var(--psmv-ease);
}
.psmv-detail.is-in::before { opacity: 1; }

.psmv-focus {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s var(--psmv-ease);
}
.psmv-focus.is-shown { opacity: 1; pointer-events: auto; }
.psmv-focus > .psmv-piece__art {
  position: absolute;
  inset: 0;
  transition: opacity .7s var(--psmv-ease);
}
.psmv-focus.has-model > .psmv-piece__art { opacity: 0; }
.psmv-model {
  position: absolute;
  inset: -14% -22% -3%;
  opacity: 0;
  transition: opacity .8s var(--psmv-ease);
}
.psmv-focus.has-model .psmv-model { opacity: 1; }
.psmv-model model-viewer {
  width: 100%;
  height: 100%;
  background: transparent;
  --poster-color: transparent;
  --progress-bar-color: transparent;
}

.psmv-bar {
  position: absolute;
  top: calc(var(--psmv-safe, 0px) + clamp(18px, 2.6vw, 34px));
  left: var(--psmv-pad);
  right: var(--psmv-pad);
  display: flex;
  justify-content: space-between;
  align-items: center;
  pointer-events: none;
}
.psmv-bar > * { pointer-events: auto; }
.psmv-back, .psmv-nav__btn {
  border: 0;
  background: none;
  color: var(--psmv-ivory);
  cursor: pointer;
}
.psmv-back {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  padding: 8px 0;
  font: 500 11px/1 var(--psh-sans, sans-serif);
  letter-spacing: .18em;
  text-transform: uppercase;
  transition: color .3s, gap .3s var(--psmv-ease);
}
.psmv-back:hover { color: var(--psmv-gold-hi); gap: 14px; }
.psmv-nav {
  display: flex;
  align-items: center;
  gap: 6px;
  font: 500 11px/1 var(--psh-sans, sans-serif);
  letter-spacing: .18em;
  color: var(--psmv-ivory-2);
}
.psmv-nav__btn {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(246, 239, 232, .18);
  border-radius: 50%;
  font-size: 18px;
  line-height: 1;
  transition: border-color .3s, color .3s;
}
.psmv-nav__btn:hover { border-color: var(--psmv-gold); color: var(--psmv-gold-hi); }
.psmv-nav__index { min-width: 64px; text-align: center; }

.psmv-id {
  position: absolute;
  top: calc(var(--psmv-safe, 0px) + clamp(84px, 12vh, 132px));
  left: var(--psmv-pad);
  width: min(27vw, 400px);
}
.psmv-id__kicker {
  margin: 0 0 14px;
  font: 600 10.5px/1.4 var(--psh-sans, sans-serif);
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--psmv-gold);
}
.psmv-id__name {
  margin: 0;
  font: 400 clamp(40px, 5vw, 82px)/.92 var(--psh-serif, serif);
  letter-spacing: .01em;
  text-transform: uppercase;
  color: var(--psmv-ivory);
  overflow-wrap: anywhere;
}
.psmv-id__vendor {
  margin: 16px 0 0;
  font: 500 11px/1.5 var(--psh-sans, sans-serif);
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--psmv-ivory-2);
}
.psmv-id__desc {
  margin: 14px 0 0;
  white-space: pre-line;
  max-width: 36ch;
  font-size: 14px;
  line-height: 1.6;
  color: var(--psmv-ivory-2);
}
.psmv-3d {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 20px 0 0;
  padding: 9px 15px;
  border: 1px solid rgba(199, 165, 106, .45);
  border-radius: 999px;
  background: rgba(199, 165, 106, .06);
  font: 500 10.5px/1 var(--psh-sans, sans-serif);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--psmv-gold-hi);
  cursor: pointer;
  transition: background-color .3s, border-color .3s;
}
.psmv-3d:hover { background: rgba(199, 165, 106, .16); border-color: var(--psmv-gold-hi); }
.psmv-3d:focus-visible { outline: 1px solid var(--psmv-gold-hi); outline-offset: 3px; }
.psmv-3d[hidden], .psmv-3d-hint[hidden] { display: none; }
/* Studio 3D en fenêtre (lot 4) : pilule or pleine, à côté du bouton 3D. */
.psmv-studio {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 14px 0 0;
  padding: 10px 16px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(100deg, #f1dcaa 0%, #c7a56a 38%, #ecd3a0 66%, #b48c55 100%);
  box-shadow: inset 0 1px 0 rgba(255, 245, 220, .8), 0 0 0 1px rgba(241, 215, 161, .3);
  font: 600 10.5px/1 var(--psh-sans, sans-serif);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #241306;
  cursor: pointer;
  transition: transform .3s var(--psmv-ease), box-shadow .4s var(--psmv-ease);
}
.psmv-studio:hover { transform: translateY(-1px); box-shadow: inset 0 1px 0 rgba(255, 245, 220, .8), 0 0 0 1px rgba(241, 215, 161, .5), 0 10px 26px -12px rgba(199, 165, 106, .8); }
.psmv-studio:focus-visible { outline: 1px solid var(--psmv-gold-hi); outline-offset: 4px; }
.psmv-studio[hidden] { display: none; }
.psmv-studio__icon { font-size: 12px; }
.psmv-3d-hint {
  margin: 10px 0 0;
  font-size: 12px;
  color: var(--psmv-ivory-3);
}
/* Pastille « Pour qui » et note des avis, sous la marque. */
.psmv-id__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  margin: 14px 0 0;
}
.psmv-id__meta[hidden], .psmv-who[hidden], .psmv-rating[hidden], .psmv-points[hidden], .psmv-fold[hidden] { display: none; }
.psmv-who {
  display: inline-flex;
  align-items: center;
  padding: 6px 11px 5px;
  border: 1px solid rgba(199, 165, 106, .45);
  border-radius: 999px;
  font: 600 10px/1 var(--psh-sans, sans-serif);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--psmv-gold-hi);
}
.psmv-rating {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font: 500 12px/1 var(--psh-sans, sans-serif);
  color: var(--psmv-ivory-2);
}
.psmv-stars {
  position: relative;
  display: inline-block;
  font-size: 12px;
  letter-spacing: 2px;
  line-height: 1;
  color: rgba(246, 239, 232, .22);
}
.psmv-stars::after { content: "★★★★★"; }
.psmv-stars::before {
  content: "★★★★★";
  position: absolute;
  inset: 0 auto 0 0;
  width: calc(var(--psmv-rate, 0) * 1%);
  overflow: hidden;
  white-space: nowrap;
  color: var(--psmv-gold-hi);
}
.psmv-rating__note { color: var(--psmv-ivory); }
/* Accroche : une phrase, en italique. */
.psmv-id__desc {
  font: italic 400 18px/1.45 var(--psh-serif, serif);
  color: rgba(246, 239, 232, .8);
}
/* Points forts : trois lignes cochées. */
.psmv-points {
  display: grid;
  gap: 9px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}
.psmv-points li {
  display: flex;
  gap: 11px;
  font-size: 13.5px;
  line-height: 1.4;
  color: var(--psmv-ivory);
}
.psmv-points li::before {
  content: "";
  flex: none;
  width: 14px;
  height: 14px;
  margin-top: 2px;
  background: var(--psmv-gold-hi);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M2.5 7.4l2.9 2.9 6.1-6.6' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M2.5 7.4l2.9 2.9 6.1-6.6' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
/* Champs dépliables (blocs « Champ dépliable »). */
.psmv-folds {
  margin: 24px 0 0;
  border-bottom: 1px solid rgba(246, 239, 232, .1);
  interpolate-size: allow-keywords;
}
.psmv-fold { border-top: 1px solid rgba(246, 239, 232, .1); }
.psmv-fold__title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 14px 0;
  list-style: none;
  cursor: pointer;
  font: 600 10.5px/1.4 var(--psh-sans, sans-serif);
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--psmv-ivory);
  transition: color .3s;
}
.psmv-fold__title::-webkit-details-marker { display: none; }
.psmv-fold__title:hover { color: var(--psmv-gold-hi); }
.psmv-fold__title:focus-visible { outline: 1px solid var(--psmv-gold-hi); outline-offset: 2px; }
.psmv-fold__sign { position: relative; flex: none; width: 11px; height: 11px; }
.psmv-fold__sign::before, .psmv-fold__sign::after {
  content: "";
  position: absolute;
  top: 5px;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--psmv-gold);
  transition: transform .35s var(--psmv-ease);
}
.psmv-fold__sign::after { transform: rotate(90deg); }
.psmv-fold[open] .psmv-fold__sign::after { transform: rotate(0deg); }
.psmv-fold::details-content {
  block-size: 0;
  overflow: hidden;
  transition: block-size .4s var(--psmv-ease), content-visibility .4s allow-discrete;
}
.psmv-fold[open]::details-content { block-size: auto; }
.psmv-fold__body {
  padding: 0 0 16px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--psmv-ivory-2);
  text-shadow: none;
}
.psmv-fold__body :is(p, ul, ol, table) { margin: 0 0 9px; }
.psmv-fold__body :is(ul, ol) { padding-left: 18px; }
.psmv-fold__body li { margin: 0 0 4px; }
.psmv-fold__body :is(h1, h2, h3, h4, h5, h6) {
  margin: 14px 0 6px;
  font: 600 10.5px/1.4 var(--psh-sans, sans-serif);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--psmv-gold);
}
.psmv-fold__body :first-child, .psmv-fold__body > div > :first-child { margin-top: 0; }
.psmv-fold__body :is(strong, b) { font-weight: 600; color: var(--psmv-ivory); }
.psmv-fold__body a { color: var(--psmv-gold-hi); }
.psmv-fold__body img { max-width: 100%; height: auto; }
.psmv-fold__body table { width: 100%; border-collapse: collapse; font-size: 12px; }
.psmv-fold__body :is(td, th) { padding: 5px 6px; border-bottom: 1px solid rgba(246, 239, 232, .1); text-align: left; }
.psmv-fold__body .psmv-faq__q { margin: 12px 0 4px; font-weight: 600; color: var(--psmv-ivory); }
.psmv-fold__body .psmv-faq__q:first-child { margin-top: 0; }

/* Panneau d'achat : texte posé sur le velours, sans carte, comme la colonne de gauche. */
.psmv-panel {
  position: absolute;
  top: calc(var(--psmv-safe, 0px) + clamp(84px, 12vh, 132px));
  right: var(--psmv-pad);
  width: 280px;
  text-shadow: 0 1px 12px rgba(20, 9, 15, .55);
}
.psmv-price {
  margin: 0 0 16px;
  font: 400 30px/1 var(--psh-serif, serif);
  color: var(--psmv-ivory);
}
.psmv-price s {
  margin-left: 8px;
  font-size: 18px;
  color: var(--psmv-ivory-3);
}
.psmv-price s[hidden] { display: none; }
.psmv-stock {
  margin: -6px 0 14px;
  font-size: 12px;
  color: #f0c08a;
}
.psmv-stock[hidden] { display: none; }
.psmv-stock__dot { width: 6px; height: 6px; margin-right: 8px; }
.psmv-opt {
  padding: 14px 0;
  border-top: 1px solid rgba(246, 239, 232, .1);
  border-radius: 4px;
  transition: background-color .4s;
}
.psmv-opt.is-ask { animation: psmv-ask .9s var(--psmv-ease); }
.psmv-opt__label {
  margin: 0 0 10px;
  font: 600 10px/1.4 var(--psh-sans, sans-serif);
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--psmv-ivory-3);
}
.psmv-opt__label span { color: var(--psmv-ivory); letter-spacing: .06em; text-transform: none; font-weight: 500; font-size: 12px; }
.psmv-opt__values { display: flex; flex-wrap: wrap; gap: 8px; }
/* Pastilles de couleur : valeurs de la fiche produit (pastilles Shopify, sinon correspondance par nom). */
.psmv-swatch, .psmv-mat {
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.psmv-swatch__dot, .psmv-mat__texture {
  display: block;
  width: 29px;
  height: 29px;
  border-radius: 50%;
  pointer-events: none;
  transition: transform .17s ease, box-shadow .25s;
}
.psmv-swatch__dot {
  background: #8e8e8e;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .32), 0 1px 3px rgba(0, 0, 0, .35);
}
.psmv-swatch:hover:not(:disabled) .psmv-swatch__dot, .psmv-mat:hover:not(:disabled) .psmv-mat__texture { transform: scale(1.06); }
/* Même anneau que les pastilles du thème, l'écart reprenant la couleur du velours. */
.psmv-swatch[aria-checked="true"] .psmv-swatch__dot,
.psmv-mat[aria-checked="true"] .psmv-mat__texture {
  box-shadow: 0 0 0 2.5px #2b1520, 0 0 0 4px var(--psmv-gold), 0 0 16px rgba(231, 190, 120, .35);
}
.psmv-opt__values:has(.psmv-swatch, .psmv-mat) { gap: 4px; margin-left: -5px; }
/* Pastilles de finition : textures Or / Acier du thème (ps-material-swatches.css), identiques à Swipe Sensuel. */
.psmv-mat__texture {
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .3);
}
.psmv-mat__texture--steel { background-image: url("data:image/webp;base64,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"); }
.psmv-mat__texture--gold { background-image: url("data:image/webp;base64,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"); }
.psmv-chip {
  padding: 8px 13px;
  border: 1px solid rgba(246, 239, 232, .22);
  border-radius: 999px;
  background: none;
  font: 500 12px/1 var(--psh-sans, sans-serif);
  color: var(--psmv-ivory);
  cursor: pointer;
  transition: border-color .3s, background-color .3s, color .3s;
}
.psmv-chip:hover { border-color: var(--psmv-gold); }
.psmv-chip[aria-pressed="true"] { border-color: var(--psmv-gold-hi); background: rgba(199, 165, 106, .16); color: var(--psmv-gold-hi); }
.psmv-swatch:disabled, .psmv-mat:disabled, .psmv-chip:disabled { opacity: .36; cursor: not-allowed; }
.psmv-swatch:focus-visible, .psmv-mat:focus-visible, .psmv-chip:focus-visible, .psmv-add:focus-visible { outline: 1px solid var(--psmv-gold-hi); outline-offset: 2px; }

.psmv-add {
  position: relative;
  width: 100%;
  height: 50px;
  margin-top: 6px;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  font: 600 12px/1 var(--psh-sans, sans-serif);
  letter-spacing: .16em;
  text-transform: uppercase;
  cursor: pointer;
  color: #2a1a12;
  background: linear-gradient(100deg, #f8f1ec 0%, #e8dbe6 32%, #f6eee4 58%, #dccfe0 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8), 0 10px 26px -14px rgba(0, 0, 0, .7);
  transition: background .6s var(--psmv-ease), box-shadow .6s var(--psmv-ease), transform .3s var(--psmv-ease), color .3s;
}
.psmv-add.is-pearl { color: rgba(42, 26, 18, .62); }
.psmv-add.is-gold {
  color: #241306;
  background: linear-gradient(100deg, #f1dcaa 0%, #c7a56a 38%, #ecd3a0 66%, #b48c55 100%);
  box-shadow: inset 0 1px 0 rgba(255, 245, 220, .8), 0 0 0 1px rgba(241, 215, 161, .35), 0 12px 32px -12px rgba(199, 165, 106, .7);
}
.psmv-add.is-gold:hover { transform: translateY(-1px); }
.psmv-add::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -40%;
  width: 34%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .7), transparent);
  transform: skewX(-18deg);
  opacity: 0;
}
.psmv-add.is-ignite::after { animation: psmv-sweep .9s var(--psmv-ease); }
.psmv-add:disabled { cursor: not-allowed; opacity: .55; }
.psmv-status {
  min-height: 18px;
  margin: 10px 0 0;
  font-size: 12px;
  color: var(--psmv-gold-hi);
}
.psmv-more {
  display: inline-flex;
  gap: 8px;
  margin-top: 4px;
  padding: 6px 0;
  border-bottom: 1px solid rgba(199, 165, 106, .6);
  font: 500 13px/1 var(--psh-sans, sans-serif);
  color: var(--psmv-ivory);
  text-decoration: none;
  transition: gap .3s var(--psmv-ease), color .3s;
}
.psmv-more:hover { gap: 13px; color: var(--psmv-gold-hi); }
.psmv-share {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 4px 0 0 18px;
  padding: 6px 0;
  border: 0;
  background: none;
  font: 500 11px/1 var(--psh-sans, sans-serif);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--psmv-ivory-2);
  cursor: pointer;
  transition: color .3s;
}
.psmv-share:hover { color: var(--psmv-gold-hi); }
.psmv-share:focus-visible { outline: 1px solid var(--psmv-gold); outline-offset: 4px; }
.psmv-share__icon { display: inline-grid; place-items: center; }
.psmv-detail:not(:has(.psmv-more)) .psmv-share { margin-left: 0; }
.psmv-trust {
  margin: 16px 0 0;
  font-size: 11.5px;
  color: var(--psmv-ivory-3);
}

.psmv-links { display: flex; flex-wrap: wrap; align-items: center; }

/* Entrée du détail, après l'avancée de la caméra */
.psmv-bar, .psmv-id, .psmv-panel, .psmv-side, .psmv-cartel {
  opacity: 0;
  transition: opacity .45s var(--psmv-ease), transform .6s var(--psmv-ease);
}
.psmv-id { transform: translateX(-14px); }
.psmv-panel, .psmv-side { transform: translateX(14px); }
.psmv-detail.is-in :is(.psmv-bar, .psmv-id, .psmv-panel, .psmv-side) { opacity: 1; transform: none; }
.psmv-detail.is-in .psmv-id { transition-delay: .05s; }
.psmv-detail.is-in :is(.psmv-panel, .psmv-side) { transition-delay: .12s; }

/* ---------- Mises en page de la pièce approchée (ordinateur) ---------- */
@media (min-width: 750px) {
  /* Colonnes défilantes quand les replis sont ouverts ; la marge garde les contours de focus visibles. */
  .psmv-id, .psmv-side {
    max-height: calc(100% - var(--psmv-safe, 0px) - clamp(84px, 12vh, 132px) - 24px);
    margin: -4px;
    padding: 4px;
    padding-bottom: 28px;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(199, 165, 106, .35) transparent;
    /* Fondu du bas : la suite (replis) se devine quand la colonne défile. */
    -webkit-mask-image: linear-gradient(#000 calc(100% - 28px), transparent);
    mask-image: linear-gradient(#000 calc(100% - 28px), transparent);
  }
  .psmv-side {
    position: absolute;
    top: calc(var(--psmv-safe, 0px) + clamp(84px, 12vh, 132px));
    right: var(--psmv-pad);
    width: 280px;
    text-shadow: 0 1px 12px rgba(20, 9, 15, .55);
  }
  .psmv-side .psmv-panel { position: static; width: auto; opacity: 1; transform: none; transition: none; }

  /* B · Panneau unique : la pièce à gauche, tout se lit de haut en bas à droite. */
  .psmv[data-layout="panel"] .psmv-detail::before {
    background: linear-gradient(90deg, transparent 46%, rgba(30, 14, 22, .55) 60%, rgba(30, 14, 22, .86) 78%, rgba(30, 14, 22, .9) 100%);
  }
  .psmv[data-layout="panel"] .psmv-side { width: min(31vw, 390px); }
  .psmv[data-layout="panel"] .psmv-id__name { font-size: clamp(30px, 3vw, 48px); }
  .psmv[data-layout="panel"] .psmv-id__desc { max-width: none; font-size: 16.5px; }
  .psmv[data-layout="panel"] .psmv-panel { margin-top: 24px; padding-top: 22px; border-top: 1px solid rgba(246, 239, 232, .1); }

  /* C · Cartel de musée : nom et accroche gravés sous la pièce, achat et points forts à droite. */
  .psmv[data-layout="cartel"] .psmv-detail::before {
    background:
      radial-gradient(ellipse 30% 26% at 50% 92%, rgba(30, 14, 22, .8), transparent 72%),
      linear-gradient(90deg, rgba(30, 14, 22, .35) 0%, transparent 22%, transparent 64%, rgba(30, 14, 22, .55) 78%, rgba(30, 14, 22, .82) 100%);
  }
  .psmv-cartel {
    position: absolute;
    top: var(--psmv-cartel-top, 70%);
    left: var(--psmv-cartel-x, 50%);
    width: min(42vw, 540px);
    text-align: center;
    transform: translate(-50%, 10px);
    text-shadow: 0 1px 14px rgba(20, 9, 15, .7);
  }
  .psmv-detail.is-in .psmv-cartel { opacity: 1; transform: translate(-50%, 0); transition-delay: .05s; }
  .psmv-cartel .psmv-id__head::before {
    content: "";
    display: block;
    width: 54px;
    height: 1px;
    margin: 0 auto 14px;
    background: linear-gradient(90deg, transparent, var(--psmv-gold), transparent);
  }
  .psmv-cartel .psmv-id__kicker { margin-bottom: 8px; }
  .psmv-cartel .psmv-id__name { font-size: clamp(30px, 3vw, 48px); }
  .psmv-cartel .psmv-id__vendor { margin-top: 10px; }
  .psmv-cartel .psmv-id__meta { justify-content: center; margin-top: 10px; }
  .psmv-cartel .psmv-id__desc { max-width: 46ch; margin: 10px auto 0; font-size: 16.5px; }
  .psmv-cartel .psmv-3d { margin-top: 12px; }
  .psmv[data-layout="cartel"] .psmv-side .psmv-points { margin-top: 24px; padding-top: 20px; border-top: 1px solid rgba(246, 239, 232, .1); }
}

@media (min-width: 750px) and (max-width: 1100px) {
  .psmv-id { width: 24vw; }
  .psmv-id__name { font-size: clamp(32px, 4.4vw, 52px); }
  .psmv-id .psmv-id__desc { display: none; }
  .psmv-panel { width: 250px; padding: 18px; }
  .psmv-side { width: 260px; }
  .psmv-side .psmv-panel { padding: 0; }
  .psmv[data-layout="panel"] .psmv-side { width: 34vw; }
  .psmv[data-layout="panel"] .psmv-panel { padding-top: 18px; }
  .psmv-cartel { width: 44vw; }
}
@media (min-width: 750px) and (max-height: 700px) {
  :is(.psmv-id, .psmv-cartel) .psmv-id__desc { display: none; }
  .psmv-id, .psmv-panel, .psmv-side { top: calc(var(--psmv-safe, 0px) + 72px); }
  .psmv-id, .psmv-side { max-height: calc(100% - var(--psmv-safe, 0px) - 96px); }
}

/* ---------- Mobile : une rangée au doigt, détail en plein écran ---------- */
@media (max-width: 749px) {
  .psmv-stage { height: auto; padding: 30px 0 26px; }
  .psmv-top {
    position: relative;
    display: block;
    padding: 0 16px 18px;
  }
  .psmv-title { font-size: 34px; }
  .psmv-tabs {
    margin: 18px -16px 0;
    padding: 0 16px;
    overflow-x: auto;
    scrollbar-width: none;
    gap: 22px;
  }
  .psmv-tabs::-webkit-scrollbar { display: none; }
  .psmv-tab { flex: none; }
  .psmv-aside {
    justify-items: start;
    margin-top: 14px;
    text-align: left;
  }
  .psmv-camera { position: relative; inset: auto; transform: none !important; }
  .psmv-wall { position: relative; inset: auto; }
  .psmv-halo { transform: none; }
  /* Deux rangées de deux à l'écran ; la colonne suivante dépasse pour inviter à glisser. */
  .psmv-grid {
    height: auto;
    transform: none;
    grid-auto-flow: column;
    grid-template-columns: none;
    grid-template-rows: repeat(2, auto);
    grid-auto-columns: 42vw;
    column-gap: 12px;
    row-gap: 14px;
    padding: 6px 16px 4px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 16px;
    scrollbar-width: none;
  }
  .psmv-grid::-webkit-scrollbar { display: none; }
  .psmv-piece {
    height: auto;
    scroll-snap-align: start;
  }
  .psmv-piece > .psmv-piece__art { flex: none; height: 38vw; }
  .psmv-shelf { height: 6px; }
  .psmv-shelf::after { height: 70px; }
  .psmv-label { opacity: .8; transform: none; height: auto; min-height: 38px; padding-top: 9px; font-size: 10px; white-space: normal; }
  .psmv-label__main { flex-basis: 100%; justify-content: center; }
  .psmv-label__name { white-space: nowrap; }
  .psmv-label__price { display: none; }
  .psmv-editor-tag { font-size: 8.5px; }

  .psmv-detail.is-sheet {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    max-height: none;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    pointer-events: auto;
    padding-bottom: calc(24px + env(safe-area-inset-bottom));
    background:
      radial-gradient(ellipse 70% 40% at 20% 0, rgba(246, 214, 228, .2), transparent 70%),
      linear-gradient(180deg, #432233, #2a1520 60%, #1a0c13);
    color: var(--psmv-ivory);
  }
  .psmv-detail.is-sheet[open] { display: flex; flex-direction: column; }
  .psmv-detail.is-sheet::before { display: none; }
  .psmv-detail.is-sheet::backdrop { background: rgba(12, 6, 9, .7); }
  .psmv-detail.is-sheet .psmv-bar {
    order: -1;
    flex: none;
    position: sticky;
    top: 0;
    z-index: 3;
    left: auto;
    right: auto;
    padding: calc(12px + env(safe-area-inset-top)) 16px 12px;
    background: linear-gradient(180deg, rgba(52, 25, 40, .96) 60%, rgba(52, 25, 40, 0));
  }
  .psmv-detail.is-sheet .psmv-focus {
    position: relative;
    flex: none;
    height: 40svh;
    margin: 10px 16% 6px;
    opacity: 1;
    transition: none;
  }
  .psmv-detail.is-sheet .psmv-focus::after {
    content: "";
    position: absolute;
    left: -6%;
    right: -6%;
    bottom: -9px;
    height: 7px;
    border-radius: 2px;
    background: linear-gradient(180deg, rgba(255, 255, 255, .58), rgba(255, 255, 255, .1));
    box-shadow: 0 0 12px 2px rgba(240, 200, 130, .7), 0 18px 50px 12px rgba(199, 165, 106, .3);
  }
  .psmv-detail.is-sheet .psmv-model { inset: 0 -14% 2%; }
  /* Un seul ordre pour les trois mises en page : les conteneurs s'effacent, leurs morceaux se rangent dans la feuille.
     Le bouton d'achat, rangé en dernier et collé en bas, reste à portée de pouce du nom jusqu'aux derniers replis. */
  .psmv-detail.is-sheet :is(.psmv-id, .psmv-side, .psmv-cartel, .psmv-panel) { display: contents; }
  .psmv-detail.is-sheet .psmv-cartel { text-align: left; }
  .psmv-detail.is-sheet :is(.psmv-part, .psmv-panel > *) { flex-shrink: 0; margin-left: 20px; margin-right: 20px; }
  .psmv-detail.is-sheet .psmv-id__head { order: 1; margin-top: 30px; }
  .psmv-detail.is-sheet .psmv-id__tools { order: 2; }
  .psmv-detail.is-sheet .psmv-panel > * { order: 3; }
  .psmv-detail.is-sheet .psmv-price { margin-top: 26px; padding-top: 22px; border-top: 1px solid rgba(246, 239, 232, .1); }
  .psmv-detail.is-sheet .psmv-id__desc { order: 4; max-width: none; margin-top: 28px; }
  .psmv-detail.is-sheet .psmv-points { order: 5; }
  .psmv-detail.is-sheet .psmv-folds { order: 6; }
  .psmv-detail.is-sheet .psmv-id__name { font-size: 40px; }
  .psmv-detail.is-sheet .psmv-add { order: 7; width: auto; margin-top: 26px; position: sticky; bottom: calc(12px + env(safe-area-inset-bottom)); z-index: 2; }
  .psmv-detail.is-sheet .psmv-back span:last-child { display: none; }
  .psmv-detail.is-sheet .psmv-back span:first-child { font-size: 20px; }
}
html.psmv-lock, html.psmv-lock body { overflow: hidden; }

/* ---------- Arrivée du mur ---------- */
/* Avant l'arrivée : pièces, ombres et reflets absents (dépose) ou vitrine éteinte (allumage). */
.psmv.is-staged[data-entrance="depose"] .psmv-camera .psmv-plaque,
.psmv.is-staged[data-entrance="depose"] .psmv-camera .psmv-reflect,
.psmv.is-staged[data-entrance="depose"] .psmv-camera .psmv-piece__art::after { opacity: 0; }
.psmv.is-staged[data-entrance="lumiere"] .psmv-camera .psmv-img { filter: brightness(.1) saturate(.3); }
.psmv.is-staged[data-entrance="lumiere"] .psmv-camera .psmv-reflect { opacity: 0; }
.psmv.is-staged[data-entrance="lumiere"] .psmv-halo { opacity: .25; }
.psmv-halo { transition: opacity 1.6s var(--psmv-ease); }

/* Dépose : chaque pièce descend sur sa tablette, l'ombre de contact se resserre, le verre s'éclaire au contact. */
.psmv.is-arriving[data-entrance="depose"] .psmv-camera .psmv-plaque {
  animation: psmv-depose .95s cubic-bezier(.2, .7, .25, 1) both;
  animation-delay: calc(var(--psmv-i, 0) * 90ms + 120ms);
}
.psmv.is-arriving[data-entrance="depose"] .psmv-camera .psmv-piece__art::after {
  animation: psmv-depose-shadow .95s cubic-bezier(.2, .7, .25, 1) both;
  animation-delay: calc(var(--psmv-i, 0) * 90ms + 120ms);
}
.psmv.is-arriving[data-entrance="depose"] .psmv-camera .psmv-reflect {
  animation: psmv-fade-in .7s ease both;
  animation-delay: calc(var(--psmv-i, 0) * 90ms + 820ms);
}
.psmv.is-arriving[data-entrance="depose"] .psmv-camera .psmv-shelf__glow {
  animation: psmv-land-glow .9s ease both;
  animation-delay: calc(var(--psmv-i, 0) * 90ms + 780ms);
}
/* Allumage : les tubes des tablettes s'amorcent l'un après l'autre et révèlent les pièces. */
.psmv.is-arriving[data-entrance="lumiere"] .psmv-camera .psmv-shelf__glow {
  animation: psmv-allume-glow 1.3s linear both;
  animation-delay: calc(var(--psmv-i, 0) * 110ms + 150ms);
}
.psmv.is-arriving[data-entrance="lumiere"] .psmv-camera .psmv-img {
  animation: psmv-allume-img 1.1s ease both;
  animation-delay: calc(var(--psmv-i, 0) * 110ms + 300ms);
}
.psmv.is-arriving[data-entrance="lumiere"] .psmv-camera .psmv-reflect {
  animation: psmv-fade-in .8s ease both;
  animation-delay: calc(var(--psmv-i, 0) * 110ms + 900ms);
}

@keyframes psmv-depose {
  from { opacity: 0; transform: translateY(-14%); }
  45% { opacity: 1; }
  to { opacity: 1; transform: none; }
}
@keyframes psmv-depose-shadow {
  from { opacity: 0; transform: scaleX(.35); }
  to { opacity: 1; transform: none; }
}
@keyframes psmv-fade-in { from { opacity: 0; } }
@keyframes psmv-land-glow { 0%, 100% { opacity: 0; } 25% { opacity: .75; } }
@keyframes psmv-allume-glow {
  0% { opacity: 0; } 6% { opacity: .9; } 10% { opacity: .1; } 16% { opacity: .8; } 20% { opacity: .2; }
  30% { opacity: 1; } 75% { opacity: .9; } 100% { opacity: 0; }
}
@keyframes psmv-allume-img { from { filter: brightness(.1) saturate(.3); } to { filter: none; } }
@keyframes psmv-breathe { 50% { opacity: .45; box-shadow: 0 0 4px 1px rgba(231, 190, 120, .4); } }
@keyframes psmv-wall-in { from { opacity: 0; transform: translateY(10px); } }
@keyframes psmv-sweep { 0% { left: -40%; opacity: 1; } 100% { left: 120%; opacity: 1; } }
@keyframes psmv-ask { 30% { background-color: rgba(199, 165, 106, .16); } }
@keyframes psmv-shimmer { to { background-position: -300% 0; } }

@media (prefers-reduced-motion: reduce) {
  .psmv *, .psmv *::before, .psmv *::after { animation: none !important; transition-duration: .01ms !important; transition-delay: 0s !important; }
}

/* Votre mur (lot 4) : onglet des coups de cœur Swipe, avec un cœur et le nombre de pièces. */
.psmv-tab[hidden], .psmv-all[hidden] { display: none; }
.psmv-tab[data-psmv-personal]::before { content: "♥"; margin-right: 7px; color: var(--psmv-gold-hi); letter-spacing: 0; }
.psmv-tab__count {
  display: inline-grid;
  place-items: center;
  min-width: 18px;
  height: 18px;
  margin-left: 4px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--psmv-gold);
  color: #241306;
  font: 600 10px/1 var(--psh-sans, sans-serif);
  letter-spacing: 0;
  vertical-align: 1px;
}
/* Votre mur avec peu de pièces (ordinateur) : une seule étagère centrée, tablettes de la même taille que les autres murs. */
@media (min-width: 750px) {
  .psmv-wall--one { display: flex; align-items: center; }
  .psmv-wall--one .psmv-grid {
    width: 100%;
    height: 54%;
    grid-template-rows: minmax(0, 1fr);
    grid-template-columns: repeat(var(--psmv-n, 3), calc((100% - (var(--psmv-cols, 5) - 1) * clamp(14px, 2.6vw, 44px)) / var(--psmv-cols, 5)));
    justify-content: center;
  }
}

/* Jauge de livraison offerte (lot 5) : fine barre d'or sous le bouton d'achat. */
.psmv-ship { display: grid; gap: 7px; margin: 10px 0 0; font: 500 11.5px/1.4 var(--psh-sans, sans-serif); color: var(--psmv-ivory-2); }
.psmv-ship[hidden] { display: none; }
.psmv-ship__bar { position: relative; display: block; height: 3px; overflow: hidden; border-radius: 999px; background: rgba(246, 239, 232, .14); }
.psmv-ship__fill { position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(90deg, #b48c55, var(--psmv-gold), var(--psmv-gold-hi)); transform: scaleX(0); transform-origin: 0 50%; transition: transform .8s var(--psmv-ease); }
.psmv-ship.is-done { color: var(--psmv-gold-hi); }
.psmv-ship.is-done .psmv-ship__text::before { content: "✓ "; }

/* ---------- Vue rapprochée, lot 7 (02/11/2026) ---------- */
/* Description repliée sur deux lignes, « Lire la suite » discret. */
:where(.psmv-id__desc).is-clamped { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.psmv-desc-more {
  display: inline-block;
  margin: 6px 0 0;
  padding: 4px 0;
  border: 0;
  border-bottom: 1px solid rgba(199, 165, 106, .5);
  background: none;
  font: 500 11px/1.4 var(--psh-sans, sans-serif);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--psmv-gold-hi);
  cursor: pointer;
  align-self: flex-start;
}
.psmv-desc-more[hidden] { display: none; }
.psmv-desc-more:focus-visible { outline: 1px solid var(--psmv-gold-hi); outline-offset: 4px; }
@media (min-width: 750px) and (max-width: 1100px) { .psmv-id .psmv-desc-more { display: none; } }
@media (min-width: 750px) and (max-height: 700px) { :is(.psmv-id, .psmv-cartel) .psmv-desc-more { display: none; } }
/* Aide 3D (lot 10) : repère « ↻ 360° · Glissez pour pivoter » au coin bas de la pièce ; replié en « 360° » après 4 s. */
.psmv-focus .psmv-3d-hint {
  position: absolute;
  right: -2%;
  bottom: 6%;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  padding: 7px 12px 7px 10px;
  border: 1px solid rgba(241, 215, 161, .35);
  border-radius: 999px;
  background: rgba(20, 9, 15, .6);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  white-space: nowrap;
  font: 500 11px/1 var(--psh-sans, sans-serif);
  letter-spacing: .06em;
  color: var(--psmv-ivory-2);
  pointer-events: none;
  animation: psmv-hint-in .6s .3s var(--psmv-ease) both;
}
.psmv-focus .psmv-3d-hint svg { flex: none; color: var(--psmv-gold-hi); }
.psmv-3d-hint__deg { font-weight: 600; letter-spacing: .1em; color: var(--psmv-gold-hi); }
.psmv-3d-hint__text { max-width: 22ch; overflow: hidden; transition: max-width .5s var(--psmv-ease), opacity .3s; }
.psmv-3d-hint.is-short .psmv-3d-hint__text { max-width: 0; opacity: 0; margin-left: -7px; }
@keyframes psmv-hint-in { from { opacity: 0; translate: 0 6px; } }
/* « Essayer ses boutons » au pied de la pièce, sous l'étagère. */
.psmv-focus .psmv-studio {
  position: absolute;
  left: 50%;
  top: calc(100% + var(--psmv-studio-gap, 40px));
  z-index: 2;
  margin: 0;
  white-space: nowrap;
  transform: translateX(-50%);
}
.psmv-focus .psmv-studio:hover { transform: translate(-50%, -1px); }
/* Partage : une simple icône à côté de « Fiche complète » ; le libellé ne revient que pour « Lien copié ». */
.psmv-share:not(.is-copied) [data-psmv-share-label] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.psmv-share { padding: 6px; }
/* Paiement en plusieurs fois, sous le prix (si le réglage est rempli). */
.psmv-pay { margin: 6px 0 12px; font: 400 12.5px/1.4 var(--psh-sans, sans-serif); color: var(--psmv-ivory-2); }
.psmv-pay[hidden] { display: none; }
@media (max-width: 749px) {
  .psmv-detail.is-sheet .psmv-desc-more { order: 4; margin-top: 8px; }
  .psmv-detail.is-sheet .psmv-focus .psmv-studio { --psmv-studio-gap: 36px; }
  .psmv-detail.is-sheet .psmv-focus:has(.psmv-studio:not([hidden])) { margin-bottom: 86px; }
}

/* ---------- Mur réaliste, lot 8 (02/11/2026) : réglage « Mur réaliste » (data-real) ----------
   Matière : boiseries derrière les colonnes, grain du velours, verre épais sur consoles de laiton.
   Lumière : ombre portée à la forme du produit (faisceaux et cartels en laiton retirés à la demande de Charly).
   Profondeur : la boiserie bouge moins que les étagères (plan plus profond). */
.psmv-boiserie { display: none; }
/* Grain du velours mural. */
.psmv[data-real] .psmv-camera::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: .09;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='v'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75 .9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .9  0 0 0 0 .75  0 0 0 0 .82  0 0 0 1.5 -.55'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23v)'/%3E%3C/svg%3E");
  pointer-events: none;
}
/* Ombre portée sur le mur à la forme de la pièce (lumière haute, un peu de face). */
.psmv[data-real] .psmv-plaque .psmv-img { filter: drop-shadow(0 16px 12px rgba(8, 2, 6, .5)) drop-shadow(0 3px 3px rgba(8, 2, 6, .35)); }
@media (hover: hover) and (pointer: fine) {
  .psmv[data-real]:not(.is-zoomed) .psmv-piece:hover .psmv-plaque .psmv-img { filter: brightness(1.07) saturate(1.04) drop-shadow(0 22px 16px rgba(8, 2, 6, .45)) drop-shadow(0 3px 3px rgba(8, 2, 6, .3)); }
}
.psmv[data-real] .psmv-piece.is-lit .psmv-plaque .psmv-img { filter: brightness(1.07) saturate(1.04) drop-shadow(0 22px 16px rgba(8, 2, 6, .45)) drop-shadow(0 3px 3px rgba(8, 2, 6, .3)); }
.psmv[data-real] .psmv-piece__art::after { left: 26%; right: 26%; bottom: -1%; height: 5%; background: radial-gradient(closest-side, rgba(0, 0, 0, .75), transparent); }
/* Verre épais : face supérieure claire, tranche verte-dorée, consoles de laiton aux deux bouts. */
.psmv[data-real] .psmv-shelf, .psst .psmv-shelf {
  height: 10px;
  background:
    linear-gradient(100deg, transparent 40%, rgba(255, 255, 255, .55) 50%, transparent 60%) calc(50% - var(--psmv-px, 0) * 45%) 0 / 260% 100% no-repeat,
    linear-gradient(180deg, rgba(255, 255, 255, .62) 0, rgba(255, 255, 255, .22) 28%, rgba(196, 220, 205, .2) 30%, rgba(150, 175, 160, .12) 70%, rgba(255, 255, 255, .3) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6), inset 0 -1px 0 rgba(255, 255, 255, .25), 0 2px 0 rgba(0, 0, 0, .3), 0 10px 18px -8px rgba(0, 0, 0, .6);
}
.psmv[data-real] .psmv-shelf::before, .psst .psmv-shelf::before { top: calc(100% + 6px); height: 34px; background: radial-gradient(ellipse 50% 100% at 50% 0, rgba(0, 0, 0, .55), transparent 72%); }
.psmv-shelf__bracket { display: none; }
.psmv[data-real] .psmv-shelf__bracket, .psst .psmv-shelf__bracket {
  position: absolute;
  top: 100%;
  left: 9%;
  display: block;
  width: 7px;
  height: 14px;
  border-radius: 0 0 2px 2px;
  background: linear-gradient(90deg, #7a5a2e, #e6c992 45%, #a8824b 70%, #5e4220);
  box-shadow: 0 4px 6px rgba(0, 0, 0, .45);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 30% 100%, 0 55%);
}
.psmv[data-real] .psmv-shelf__bracket--r, .psst .psmv-shelf__bracket--r { left: auto; right: 9%; transform: scaleX(-1); }
/* Approche : la pièce se soulève de son étagère, son ombre s'allonge. */
.psmv[data-real] .psmv-focus.is-shown > .psmv-piece__art { animation: psmv-lift .9s .15s var(--psmv-ease) both; }
@keyframes psmv-lift { from { translate: 0 0; } to { translate: 0 -2.2%; } }
/* Changement de coloris : éclat de lumière. */
.psmv-piece__art.is-swapped .psmv-plaque { animation: psmv-swap .75s var(--psmv-ease); }
@keyframes psmv-swap { 0% { filter: brightness(1.6) saturate(.8); scale: .97; } 100% { filter: none; scale: 1; } }
@media (max-width: 749px) {
  .psmv[data-real] .psmv-shelf, .psst .psmv-shelf { height: 8px; }
  .psmv[data-real] .psmv-shelf__bracket, .psst .psmv-shelf__bracket { height: 10px; width: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  .psmv[data-real] .psmv-focus.is-shown > .psmv-piece__art, .psmv-piece__art.is-swapped .psmv-plaque { animation: none; }
}

/* ---------- Mur réaliste, lot 9 (02/11/2026) : niches, lumière posée sur les pièces, taille réelle ---------- */
/* Niche en arche creusée dans le mur : plafond et flancs dans l'ombre, lumière cachée en haut, fond éclairé. */
.psmv[data-real] .psmv-piece { --psmv-label-h: 62px; }
.psmv[data-real] .psmv-label { height: var(--psmv-label-h); padding-top: 30px; }
.psmv[data-real] .psmv-piece::before, .psst .psst-niche {
  content: "";
  position: absolute;
  z-index: -1;
  left: -6%;
  right: -6%;
  top: -5%;
  bottom: calc(var(--psmv-label-h) - 24px);
  border-radius: 50% 50% 5px 5px / 24% 24% 5px 5px;
  background:
    radial-gradient(ellipse 58% 30% at 50% 7%, rgba(255, 220, 182, .2), transparent 72%),
    radial-gradient(ellipse 72% 62% at 50% 58%, rgba(104, 48, 74, .5), transparent 100%),
    linear-gradient(180deg, rgba(18, 5, 12, .6) 0%, rgba(58, 24, 42, .32) 26%, rgba(58, 24, 42, .26) 78%, rgba(18, 5, 12, .5) 100%);
  box-shadow:
    inset 0 22px 28px -12px rgba(0, 0, 0, .7), inset 14px 0 20px -12px rgba(0, 0, 0, .6), inset -14px 0 20px -12px rgba(0, 0, 0, .6),
    inset 0 -8px 14px -8px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255, 228, 240, .05), 0 -1px 0 1px rgba(0, 0, 0, .25);
  pointer-events: none;
  transition: opacity .6s var(--psmv-ease);
}
/* Lumière de la niche posée sur la pièce seulement (masque = silhouette de l'image) : chaude en haut, pénombre en bas. */
.psmv[data-real] .psmv-plaque { isolation: isolate; }
.psmv[data-real] .psmv-plaque::after {
  content: "";
  position: absolute;
  inset: 0;
  -webkit-mask: var(--psmv-src) 50% 100% / contain no-repeat;
  mask: var(--psmv-src) 50% 100% / contain no-repeat;
  background:
    linear-gradient(180deg, rgba(255, 226, 188, .5) 0%, rgba(255, 226, 188, 0) 42%, rgba(46, 12, 30, 0) 58%, rgba(46, 12, 30, .75) 100%),
    radial-gradient(ellipse 80% 90% at 50% 40%, transparent 55%, rgba(70, 26, 50, .55) 100%);
  mix-blend-mode: soft-light;
  pointer-events: none;
}
.psmv[data-real] .psmv-plaque:not([style*="--psmv-src"])::after { display: none; }
/* Taille réelle : la pièce rétrécit vers son point d'appui (ombre de contact comprise). */
.psmv[data-real] .psmv-camera .psmv-piece__art > .psmv-plaque,
.psmv[data-real] .psmv-camera .psmv-piece__art > .psmv-reflect { scale: var(--psmv-scale, 1); transform-origin: 50% 100%; transition: scale .5s var(--psmv-ease); }
.psmv[data-real] .psmv-camera .psmv-piece__art::after { scale: var(--psmv-scale, 1) 1; }
@media (max-width: 749px) {
  .psmv[data-real] .psmv-piece { --psmv-label-h: 82px; }
  .psmv[data-real] .psmv-label { height: var(--psmv-label-h); min-height: 0; padding-top: 28px; }
  .psmv[data-real] .psmv-piece::before { left: -4%; right: -4%; }
}

