/* Nobula — landing : « Quatre idées. La vôtre en grand. » Le parcours des rendus Shooting et Pubs
   de l'onglet Produits : une photo, une planche de quatre propositions en aperçu, un curseur en
   choisit une, elle s'ouvre en grand (motion-props.js). Remplace « Tous vos produits. »
   (rayon de rendus « En situation », réservés à l'admin depuis le 2026-10-28). */

/* Remonte de 44 px sur « Produits. / Mode. » ; même z-index que lui mais plus loin dans la page :
   elle passe dessus, et le tunnel (z-index 4) passe sur elle. */
.sc-props {
  z-index: 3; margin-top: -44px; border-radius: 44px 44px 0 0;
  background: var(--paper); color: var(--ink);
  box-shadow: 0 -34px 60px -44px rgba(20, 18, 23, .35);
  padding: clamp(88px, 12vh, 132px) 0 clamp(84px, 11vh, 120px);
}
.pp-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 14px 64px; }
.pp-head h2 { font-size: clamp(44px, 5.6vw, 92px); font-weight: 500; line-height: .92; letter-spacing: -.055em; }
/* Une phrase par ligne quand le titre ne tient pas sur une seule : jamais « La / vôtre ». */
.pp-head h2 span { white-space: nowrap; }
.pp-head p { max-width: 44ch; font-size: clamp(17px, 1.4vw, 21px); line-height: 1.4; color: var(--ink-2); padding-bottom: 6px; }

/* La photo, une flèche, la planche : un seul groupe centré dans la largeur du contenu.
   La planche tient dans l'écran avec le titre (portable de 768 px de haut compris). */
.pp-stage {
  --pp-board: clamp(320px, min(46vw, 100svh - 360px), 600px);
  position: relative; margin-top: clamp(32px, 5vh, 64px);
  display: flex; align-items: center; justify-content: center; gap: clamp(20px, 3vw, 44px);
}

.pp-photo { position: relative; flex: 0 0 auto; width: calc(var(--pp-board) * .5); aspect-ratio: 1 / 1; }
.pp-photo-in {
  position: absolute; inset: 0; overflow: hidden; border-radius: 6px; background: #fff;
  box-shadow: 0 46px 80px -34px rgba(20, 18, 23, .5), 0 2px 8px rgba(20, 18, 23, .08);
}
.pp-photo img { position: absolute; inset: 8px; width: calc(100% - 16px); height: calc(100% - 16px); object-fit: cover; border-radius: 3px; }
.pp-photo img + img { opacity: 0; }
.pp-pill {
  position: absolute; z-index: 2; left: 50%; top: -15px; transform: translateX(-50%);
  padding: 8px 13px 7px; border-radius: 999px; white-space: nowrap;
  background: var(--ink); color: #fff;
}
.pp-arrow { flex: 0 0 auto; width: clamp(28px, 3vw, 44px); color: var(--rose); }
.pp-arrow svg { display: block; width: 100%; height: auto; }

/* La planche : place de la puce au-dessus, de l'étiquette dessous */
.pp-board { position: relative; flex: 0 0 auto; width: var(--pp-board); padding: 44px 0 44px; }
.pp-grid { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(8px, 1vw, 14px); aspect-ratio: 1 / 1; }
.pp-case {
  position: relative; overflow: hidden; border-radius: 6px; background: var(--bg);
  box-shadow: 0 30px 50px -30px rgba(20, 18, 23, .5), 0 2px 6px rgba(20, 18, 23, .06);
}
.pp-case img { width: 100%; height: 100%; object-fit: cover; }
.pp-case::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 0 rgba(255, 255, 255, 0); transition: box-shadow .4s var(--ease); }
.pp-case.is-pick::after { box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 6px var(--rose); transition-duration: .25s; }
/* La case choisie, ouverte sur toute la planche : posée à la taille de la case, puis agrandie */
.pp-big {
  position: absolute; inset: 0; z-index: 2; overflow: hidden; border-radius: 6px; opacity: 0;
  transform-origin: 0 0; background: var(--bg);
  box-shadow: 0 46px 90px -40px rgba(20, 18, 23, .6), 0 2px 8px rgba(20, 18, 23, .08);
}
.pp-big img { width: 100%; height: 100%; object-fit: cover; }

.pp-chip {
  position: absolute; z-index: 3; left: 0; top: 0;
  display: inline-flex; align-items: center; gap: 7px;
  height: 30px; padding: 0 12px; border-radius: 999px; white-space: nowrap;
  font-size: 13px; font-weight: 600; letter-spacing: -.005em;
}
.pp-chip--draft { background: var(--ink); color: #fff; }
.pp-chip--final {
  padding-left: 10px; opacity: 0;
  background: var(--grad); background-size: 125% 100%; color: #fff;
  box-shadow: 0 8px 20px -8px rgba(136, 3, 153, .8);
}
.pp-chip svg { width: 15px; height: 15px; }
.pp-label { position: absolute; left: 0; bottom: 12px; font-size: 12px; color: var(--ink); }

.pp-cursor {
  position: absolute; z-index: 6; left: 0; top: 0; width: 32px; height: 32px; opacity: 0;
  filter: drop-shadow(0 4px 8px rgba(20, 18, 23, .35)); pointer-events: none;
}

@media (max-width: 760px) {
  .sc-props { margin-top: -28px; border-radius: 28px 28px 0 0; }
  .pp-stage { --pp-board: 100%; flex-direction: column; gap: 14px; }
  .pp-photo { width: 34vw; margin-top: 15px; }
  .pp-arrow { width: 22px; transform: rotate(90deg); }
  .pp-board { padding-top: 38px; }
  .pp-case, .pp-big { border-radius: 5px; }
}
