/* CLAC · fiche produit (/clac)
   Mise en page propre à la page. Les composants (boutons, cartes, accordéons, carrousels, tableaux,
   téléphones) viennent de site.css et phones.css : ici on ne fait que les placer et les ajuster. */

/* 0. Rythme commun ------------------------------------------------------------- */
/* les lueurs des iPhone (data-glow) ne doivent jamais élargir la page */
.pdp-meca, .pdp-transp, .pdp-jours, .pdp-final, .pdp-comment, .pdp-probleme { overflow-x: clip; }
.pdp-prose .text { font-size: 16.5px; }
.pdp-split { --gap: clamp(36px, 6vw, 88px); align-items: center; }
.pdp-split__txt { max-width: 560px; }
@media (min-width: 900px) {
  .pdp-split--rev > :first-child { order: 0; }
}

/* 1. Bloc d'achat ---------------------------------------------------------------- */
.pdp { padding: 8px 0 clamp(56px, 8vw, 104px); }
.pdp__grid {
  display: grid; grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "ariane" "tete" "galerie" "achat";
}
.pdp__ariane { grid-area: ariane; }
.pdp__tete { grid-area: tete; }
.pdp__galerie { grid-area: galerie; min-width: 0; }
.pdp__achat { grid-area: achat; min-width: 0; display: grid; gap: 22px; align-content: start; }
@media (min-width: 1024px) {
  .pdp { padding-top: 16px; }
  .pdp__grid {
    grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr);
    grid-template-rows: auto auto 1fr;
    grid-template-areas: "ariane ariane" "galerie tete" "galerie achat";
    column-gap: clamp(40px, 5vw, 76px);
  }
  .pdp__galerie { position: sticky; top: calc(var(--header-h) + 18px); align-self: start; }
}

.pdp__ariane { padding: 6px 0 14px; }
.pdp__ariane ol { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.pdp__ariane li { display: inline-flex; align-items: center; gap: 8px; }
.pdp__ariane li + li::before { content: "·"; opacity: .6; }
.pdp__ariane a { color: var(--fg2); transition: color .2s; }
.pdp__ariane a:hover { color: var(--fg); }
.pdp__ariane [aria-current] { color: var(--fg); }

.pdp__tete { display: grid; gap: 10px; justify-items: start; margin-bottom: 20px; }
.pdp__confiance { display: inline-flex; align-items: center; gap: 7px; color: var(--cobalt); font-size: 11px; }
.pdp__confiance svg { width: 15px; height: 15px; }
.pdp__h1 { font-size: clamp(60px, 7.4vw, 104px); line-height: .86; }
.pdp__sous { font-size: clamp(17px, 1.6vw, 20px); line-height: 1.35; font-weight: 550; color: var(--fg); max-width: 32ch; text-wrap: balance; }
@media (min-width: 1024px) { .pdp__tete { margin-bottom: 22px; padding-top: 6px; } }
.pdp-prixm { margin-top: 2px; font-size: 15px; line-height: 1.4; color: var(--fg2); }
.pdp-prixm__prix { font-weight: 600; color: var(--fg); margin-right: 6px; white-space: nowrap; }
.pdp-prixm__prix b { font-family: var(--f-sans); font-stretch: 75%; font-weight: 800; font-size: 27px; line-height: 1; letter-spacing: -.005em; font-variant-numeric: tabular-nums; vertical-align: -2px; }
.pdp-prixm__info { display: inline-block; font-size: 10px; letter-spacing: .03em; white-space: nowrap; }
@media (min-width: 1024px) { .pdp-prixm { display: none; } }
@media (max-width: 1023px) { .pdp__confiance { display: none; } }

/* Galerie */
.pdp-galerie { position: relative; }
.pdp-car { --per: 1.08; --gap: 10px; }
.pdp-car .carousel__track { margin-inline: calc(-1 * var(--gutter)); padding-inline: var(--gutter); scroll-padding-inline: var(--gutter); }
@media (min-width: 720px) and (max-width: 1023px) { .pdp-car { --per: 1.55; } }
@media (min-width: 1024px) {
  .pdp-car { --per: 1; --gap: 12px; }
  .pdp-car .carousel__track { margin-inline: 0; padding-inline: 0; scroll-padding-inline: 0; }
  /* desktop : on navigue avec les vignettes (comme ARQ8), les flèches masqueraient les slides texte */
  .pdp-car .carousel__btn { display: none; }
  .pdp-car .carousel__dots { display: none; }
}
.pdp-car .carousel__dots { margin-top: 14px; }
.pdp-galerie__count {
  position: absolute; z-index: 4; top: 12px; right: 12px; padding: 6px 10px; border-radius: 999px;
  background: rgba(255, 255, 255, .78); color: var(--ink); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  font-size: 10px; pointer-events: none;
}
.pdp-galerie__count b { font-weight: 600; }
/* slide 1 : le compteur laisse la place à la signature (les points et la slide suivante qui dépasse disent déjà la suite) */
.pdp-galerie__count { transition: opacity .25s; }
.pdp-galerie.is-debut .pdp-galerie__count { opacity: 0; }
@media (min-width: 720px) { .pdp-galerie__count, .pdp-car .carousel__dots { display: none; } }

.pdp-slide {
  position: relative; margin: 0; overflow: hidden; border-radius: var(--r-lg);
  background-color: var(--plank); aspect-ratio: 1 / 1; container-type: inline-size; isolation: isolate;
}
.pdp-slide > img { width: 100%; height: 100%; object-fit: cover; }
.pdp-slide.night { background-color: var(--night); }
.pdp-slide.day { background-color: var(--bone); }
.pdp-slide__pill {
  position: absolute; z-index: 2; left: 50%; bottom: 5cqw; transform: translateX(-50%);
  width: max-content; max-width: 88%; padding: 9px 16px; border-radius: 999px; text-align: center;
  background: rgba(255, 255, 255, .8); color: var(--ink); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  box-shadow: 0 10px 26px -18px rgba(11, 11, 13, .5);
  font-size: clamp(12.5px, 2.7cqw, 16px); font-weight: 600; letter-spacing: -.005em; line-height: 1.25;
}
.pdp-slide__tag {
  position: absolute; z-index: 2; left: 4cqw; top: 4cqw; max-width: calc(100% - 8cqw - 70px);
  display: inline-flex; align-items: center; gap: 7px; padding: 7px 11px; border-radius: 999px;
  background: rgba(255, 255, 255, .8); color: var(--ink); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  font-size: 10px; line-height: 1.3;
}
.pdp-slide__tag svg { width: 14px; height: 14px; color: var(--cobalt); flex: none; }
.pdp-slide__tag--bas { top: auto; bottom: 4cqw; max-width: calc(100% - 8cqw); }
.pdp-slide__tag--nuit { background: rgba(17, 17, 23, .62); color: #FFFFFF; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12); }
.pdp-slide__tag--nuit svg { color: var(--ice); }
.pdp-slide[data-slide="studio"] .pdp-slide__pill { top: 4.5cqw; bottom: auto; }
.pdp-inclus {
  position: absolute; z-index: 2; left: 4cqw; bottom: 4cqw; max-width: min(60cqw, 360px);
  display: grid; gap: 1.1cqw; padding: 3.2cqw 4cqw 3.4cqw; border-radius: 18px;
  background: #FFFFFF; color: var(--ink); box-shadow: inset 0 0 0 1px var(--hair), 0 16px 34px -26px rgba(11, 11, 13, .45);
}
.pdp-inclus__t { color: var(--cobalt); font-size: clamp(8.5px, 1.8cqw, 11px); margin-bottom: .6cqw; }
.pdp-inclus__l { position: relative; padding-left: clamp(13px, 2.6cqw, 18px); font-size: clamp(11px, 2.35cqw, 14.5px); font-weight: 550; line-height: 1.28; letter-spacing: -.003em; }
.pdp-inclus__l::before { content: ""; position: absolute; left: 1px; top: .45em; width: clamp(5px, 1cqw, 7px); height: clamp(5px, 1cqw, 7px); border-radius: 2px; background: var(--cobalt); }
@media (max-width: 719px) {
  /* en mobile la carte prend plus de place : la photo remonte un peu (son fond est quasi uni, le bas est raccordé en fondu) */
  .pdp-slide[data-slide="studio"] { background-color: #EBEAE6; }
  .pdp-slide[data-slide="studio"] > img { transform: translateY(-8%); }
  .pdp-slide[data-slide="studio"]::after {
    content: ""; position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; height: 16%; pointer-events: none;
    background: linear-gradient(180deg, rgba(235, 234, 230, 0), #EBEAE6 60%);
  }
}
.pdp-slide__titre { font-size: clamp(24px, 7.2cqw, 54px); line-height: 1; }

/* Slide 2 : un geste (nuit + iPhone) */
/* les unités cqw se résolvent contre la slide : la mise en page vit dans .pdp-slide__in */
.pdp-slide__in { position: absolute; inset: 0; }
.pdp-slide--geste .pdp-slide__in { display: grid; grid-template-columns: minmax(0, 1fr) 40cqw; align-items: center; gap: 3cqw; padding: 0 6cqw 0 7cqw; }
.pdp-geste__txt { display: grid; gap: 3.2cqw; align-content: center; }
.pdp-geste__txt .eyebrow { font-size: clamp(9.5px, 2cqw, 11px); }
.pdp-slide__p { font-size: clamp(12.5px, 3cqw, 17px); line-height: 1.45; color: var(--fg2); max-width: 26ch; }
.pdp-geste__phone { display: grid; justify-items: center; }
.pdp-geste__phone .phone { --phone-w: 40cqw; }

/* Slide 5 : la clé, elle est où ? */
.pdp-slide--cle { background-color: var(--bone); }
.pdp-slide--cle .pdp-slide__in { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 4.5cqw; padding: 9cqw 6cqw 6cqw; text-align: center; justify-items: center; }
.pdp-slide--cle .pdp-slide__titre { max-width: 74%; }
.pdp-cle { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3cqw; width: 100%; }
.pdp-cle__col {
  --fg2: var(--ink2);
  display: grid; align-content: center; justify-items: center; gap: 2cqw; padding: 5cqw 3cqw;
  border-radius: 5cqw; background: var(--paper); box-shadow: inset 0 0 0 1px var(--hair); color: var(--ink);
}
.pdp-cle__col .mono { font-size: clamp(9px, 2.2cqw, 12px); }
.pdp-cle__col--on { --fg2: rgba(255, 255, 255, .76); background: var(--cobalt); color: #FFFFFF; box-shadow: var(--sh-cobalt); }
.pdp-cle__ico { width: 10cqw; height: 10cqw; border-radius: 50%; display: grid; place-items: center; background: var(--plank); color: var(--ink2); margin-bottom: 1cqw; }
.pdp-cle__ico svg { width: 5cqw; height: 5cqw; }
.pdp-cle__col--on .pdp-cle__ico { background: #FFFFFF; color: var(--cobalt); }
.pdp-cle__ou { font-size: clamp(17px, 5.4cqw, 38px); line-height: .95; }
.pdp-cle__l { font-size: clamp(11px, 2.7cqw, 15px); line-height: 1.3; color: var(--fg2); margin-top: 2cqw; }
.pdp-cle__v { font-family: var(--f-sans); font-stretch: 75%; font-weight: 800; text-transform: uppercase; font-size: clamp(18px, 6cqw, 44px); line-height: .9; }
.pdp-cle__col--off .pdp-cle__ou, .pdp-cle__col--off .pdp-cle__v { color: var(--ink2); }
.pdp-slide__pied { color: var(--cobalt); font-size: clamp(9.5px, 2.2cqw, 12px); letter-spacing: .08em; }

/* Slide 7 : taille */
.pdp-taille__txt {
  position: absolute; z-index: 2; left: 6cqw; top: 6cqw; max-width: 46cqw;
  font-size: clamp(13px, 3.4cqw, 21px); font-weight: 600; line-height: 1.25; letter-spacing: -.01em; color: var(--ink);
}
.pdp-taille__diam { position: absolute; z-index: 2; left: 21%; width: 25%; top: 34%; height: 2.4cqw; }
.pdp-taille__diam i { position: absolute; inset: 0; border-top: 1.5px solid var(--cobalt); }
.pdp-taille__diam i::before, .pdp-taille__diam i::after { content: ""; position: absolute; top: -1.2cqw; width: 1.5px; height: 3.6cqw; background: var(--cobalt); }
.pdp-taille__diam i::before { left: 0; }
.pdp-taille__diam i::after { right: 0; }
.pdp-taille__diam b {
  position: absolute; left: 50%; bottom: calc(100% + 1.2cqw); transform: translateX(-50%); white-space: nowrap;
  padding: 5px 9px; border-radius: 999px; background: var(--cobalt); color: #FFFFFF; font-weight: 500; font-size: clamp(9.5px, 2.2cqw, 12px);
}
.pdp-taille__profil {
  position: absolute; z-index: 2; left: 5cqw; bottom: 5cqw; display: grid; gap: 2cqw; justify-items: start;
  padding: 3.4cqw 4cqw; border-radius: 4cqw; background: rgba(255, 255, 255, .82); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  box-shadow: 0 10px 26px -20px rgba(11, 11, 13, .5);
}
.pdp-taille__profil .mono { font-size: clamp(8.5px, 2cqw, 11px); }
.pdp-taille__pill { position: relative; display: block; width: 16cqw; height: 3.75cqw; }
.pdp-taille__pill i { position: absolute; inset: 0; border-radius: 999px; background: linear-gradient(180deg, #4A4950, #2E2D33); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18); }

/* Slide 8 : dans la boîte */
.pdp-boite {
  position: absolute; z-index: 2; right: 4cqw; bottom: 4cqw; width: 52cqw;
  display: grid; gap: 2.2cqw; padding: 4.4cqw 4.4cqw 4cqw; border-radius: 5cqw;
  background: rgba(255, 255, 255, .86); color: var(--ink); -webkit-backdrop-filter: blur(16px) saturate(1.2); backdrop-filter: blur(16px) saturate(1.2);
  box-shadow: 0 18px 40px -26px rgba(11, 11, 13, .55), inset 0 0 0 1px rgba(255, 255, 255, .6);
}
.pdp-boite > .mono { font-size: clamp(8.5px, 2cqw, 11px); }
.pdp-boite__titre { font-size: clamp(19px, 5.6cqw, 38px); line-height: 1; }
.pdp-boite__list { display: grid; margin: 0; padding: 0; list-style: none; }
.pdp-boite__list li {
  display: flex; align-items: baseline; justify-content: space-between; gap: 2cqw;
  padding: 1.8cqw 0; border-top: 1px solid var(--hair);
  font-size: clamp(10.5px, 2.5cqw, 14.5px); font-weight: 550; line-height: 1.3;
}
.pdp-boite__list em { flex: none; font-style: normal; font-family: var(--f-mono); font-stretch: 75%; font-size: clamp(8px, 1.8cqw, 10.5px); letter-spacing: .05em; text-transform: uppercase; color: var(--cobalt); }
.pdp-boite__total { color: var(--cobalt); font-size: clamp(8.5px, 2cqw, 11px); padding-top: 1.8cqw; border-top: 1px solid var(--hair); }
.pdp-boite__total b { font-weight: 600; }

/* Vignettes (desktop) */
.pdp-thumbs { display: none; margin-top: 12px; padding: 2px; gap: 8px; }
@media (min-width: 720px) { .pdp-thumbs { display: flex; } }
.pdp-thumbs [data-goto] { flex: 1 1 0; width: auto; height: auto; max-width: 76px; aspect-ratio: 1; border-radius: 12px; }
.pdp-thumbs [data-goto][hidden] { display: none; }
.pdp-thumb--nuit { display: grid; place-items: center; background: radial-gradient(70% 60% at 30% 10%, rgba(51, 85, 255, .55), transparent 70%), var(--night) !important; color: var(--ice); }
.pdp-thumb--os { display: grid; place-items: center; background: var(--bone) !important; color: var(--ink); }
.pdp-thumb__txt { font-size: 13px; }
.pdp-thumb--os .pdp-thumb__txt { font-size: 14px; }

/* Infos et achat */
.pdp__accroche { font-size: 16.5px; line-height: 1.6; color: var(--fg2); text-wrap: pretty; }
.pdp__accroche strong { color: var(--fg); font-weight: 600; }
.pdp__puces li { font-size: 15.5px; }
@media (max-width: 1023px) {
  .pdp__achat { margin-top: 26px; }
  /* ordre : 3 puces, packs, bouton, réassurance, livraison, puis l'accroche et le reste */
  .pdp__accroche { order: 1; }
  .pdp-dehors, .pdp-acc { order: 2; }
}

.pdp-packs { margin: 0; padding: 0; border: 0; min-width: 0; display: grid; gap: 0; }
.pdp-label { padding: 0; margin-bottom: 14px; font-weight: 650; font-size: 15px; color: var(--fg); }
.pdp-packs__list { display: grid; gap: 12px; }
.pdp-pack .option__body { grid-template-columns: auto 52px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 14px 16px; }
.pdp-pack__radio { width: 20px; height: 20px; border-radius: 50%; box-shadow: inset 0 0 0 1.5px var(--hair3); background: var(--paper); transition: box-shadow .2s; }
.pdp-pack > input:checked + .option__body .pdp-pack__radio { box-shadow: inset 0 0 0 6px var(--cobalt); }
.pdp-pack__img { width: 52px; height: 52px; border-radius: 12px; overflow: hidden; background: var(--plank-2); }
.pdp-pack__img img { width: 100%; height: 100%; object-fit: cover; }
.pdp-pack__info { display: grid; gap: 3px; min-width: 0; }
.pdp-pack__nom { font-family: var(--f-sans); font-stretch: 75%; font-weight: 800; text-transform: uppercase; font-size: 21px; line-height: 1; letter-spacing: -.005em; }
.pdp-pack__sous { font-size: 13.5px; color: var(--fg2); line-height: 1.3; }
.pdp-pack__prix { display: grid; justify-items: end; gap: 3px; text-align: right; }
.pdp-pack__prix b { font-family: var(--f-sans); font-stretch: 75%; font-weight: 750; font-size: 24px; line-height: 1; font-variant-numeric: tabular-nums; }
.pdp-pack__prix small { font-size: 12px; color: var(--fg2); white-space: nowrap; }
.pdp-pack .option__badge { top: -10px; }
/* le pack coché se prolonge avec les cadeaux (façon ARQ8) */
.pdp-pack.is-ouvert > input:checked + .option__body { border-radius: var(--r-md) var(--r-md) 0 0; background: color-mix(in srgb, var(--cobalt) 6%, var(--paper)); box-shadow: inset 2px 0 0 var(--cobalt), inset -2px 0 0 var(--cobalt), inset 0 2px 0 var(--cobalt); }
.pdp-cadeaux {
  display: grid; gap: 4px; margin-top: -1px; padding: 14px 16px 16px;
  border-radius: 0 0 var(--r-md) var(--r-md);
  background: color-mix(in srgb, var(--cobalt) 6%, var(--paper));
  box-shadow: inset 2px 0 0 var(--cobalt), inset -2px 0 0 var(--cobalt), inset 0 -2px 0 var(--cobalt);
}
.pdp-cadeaux.is-place { margin-top: -12px; }
.pdp-cadeaux:not(.is-place) { margin-top: 12px; border-radius: var(--r-md); box-shadow: inset 0 0 0 1px var(--hair2); }
@media (prefers-reduced-motion: no-preference) { .pdp-cadeaux.is-anime { animation: pdp-ouvre .45s var(--ease) both; } }
@keyframes pdp-ouvre { from { opacity: 0; transform: translateY(-6px); } }
.pdp-cadeaux__titre { font-size: 14px; font-weight: 600; color: var(--fg); padding-bottom: 6px; }
.pdp-cadeaux__titre b { color: var(--cobalt); font-weight: 700; }
.pdp-cadeaux__list { display: grid; margin: 0; padding: 0; list-style: none; }
.pdp-cadeau { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 9px 0; border-top: 1px solid rgba(51, 85, 255, .14); }
.pdp-cadeau__ico { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: var(--paper); color: var(--cobalt); box-shadow: inset 0 0 0 1px rgba(51, 85, 255, .16); }
.pdp-cadeau__ico svg { width: 17px; height: 17px; }
.pdp-cadeau__txt { display: grid; gap: 2px; min-width: 0; }
.pdp-cadeau__txt b { font-size: 14px; font-weight: 600; line-height: 1.3; color: var(--fg); }
.pdp-cadeau__txt small { font-size: 12.5px; line-height: 1.35; color: var(--fg2); }
.pdp-cadeau__x { font-family: var(--f-mono); font-stretch: 75%; font-weight: 500; font-size: 11px; color: var(--cobalt); margin-left: 4px; white-space: nowrap; }
.pdp-cadeau__val { display: grid; justify-items: end; gap: 3px; text-align: right; }
.pdp-cadeau__val em {
  font-style: normal; display: inline-flex; align-items: center; min-height: 22px; padding: 3px 8px; border-radius: 6px;
  background: var(--cobalt); color: #FFFFFF; text-align: right; line-height: 1.25; font-family: var(--f-mono); font-stretch: 75%; font-weight: 500; font-size: 9.5px; letter-spacing: .05em; text-transform: uppercase; white-space: nowrap;
}
.pdp-cadeau__val small { font-size: 11.5px; color: var(--fg2); white-space: nowrap; }
.pdp-cadeau--service .pdp-cadeau__val em { min-height: 0; padding: 0; background: none; color: var(--cobalt); font-family: var(--f-sans); font-stretch: 100%; font-size: 13px; font-weight: 650; letter-spacing: 0; text-transform: none; max-width: 160px; white-space: normal; }
@media (max-width: 719px) {
  /* l'appli et la livraison sont déjà sous le bouton et dans « Ce qui est inclus » */
  .pdp-cadeaux { padding-bottom: 8px; }
  .pdp-cadeau--service, .pdp-cadeau__txt small { display: none; }
  .pdp-cadeau { padding: 8px 0; }
}
@media (max-width: 400px) {
  .pdp-pack .option__body { grid-template-columns: auto 44px minmax(0, 1fr) auto; gap: 11px; padding: 13px 13px; }
  .pdp-pack__img { width: 44px; height: 44px; }
  .pdp-pack__nom { font-size: 19px; }
  .pdp-pack__prix b { font-size: 21px; }
  .pdp-cadeau { grid-template-columns: 30px minmax(0, 1fr) auto; gap: 10px; }
  .pdp-cadeau__ico { width: 30px; height: 30px; }
}

.pdp-cta { --h: 62px; font-size: 16.5px; }
.pdp-reass { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: -6px 0 0; padding: 0; list-style: none; border-radius: var(--r-md); box-shadow: inset 0 0 0 1px var(--line2); background: var(--paper); }
.pdp-reass li { display: grid; justify-items: center; gap: 7px; padding: 14px 6px 13px; text-align: center; font-size: 12.5px; font-weight: 550; line-height: 1.25; color: var(--fg); }
.pdp-reass li + li { box-shadow: -1px 0 0 var(--line2); }
.pdp-reass svg { width: 20px; height: 20px; color: var(--cobalt); }
.pdp-infos { display: grid; gap: 6px; }
.pdp-infos__l { display: flex; align-items: flex-start; gap: 9px; font-size: 14px; line-height: 1.45; color: var(--fg2); }
.pdp-infos__l b { color: var(--fg); font-weight: 600; }
.pdp-infos__l svg { width: 17px; height: 17px; margin-top: 1px; color: var(--cobalt); flex: none; }
.pdp-infos__l--sub { padding-left: 26px; margin-top: -4px; font-size: 13px; }
.pdp-dehors { font-size: 11px; line-height: 1.85; color: var(--ink2); }
.pdp-dehors__l { font-weight: 600; color: var(--ink2); margin-right: 2px; }
.pdp-dehors s { text-decoration-thickness: 1.5px; text-decoration-color: color-mix(in srgb, var(--cobalt) 70%, transparent); white-space: nowrap; }
.pdp-acc { margin-top: 4px; }
.pdp-acc .acc > summary { font-size: 15.5px; }
.pdp-acc__liste li { font-size: 15px; }
.pdp-specs > div { font-size: 14.5px; }
.pdp-specs dd { max-width: 62%; }

/* 2. Bandeau de bénéfices ---------------------------------------------------------- */
.pdp-bandeau { padding-block: 20px; border-block: 1px solid var(--hair); }
.pdp-bandeau .marquee { --mgap: 26px; }
.pdp-bandeau .marquee__item { font-size: clamp(22px, 2.6vw, 34px); letter-spacing: 0; }
.pdp-bandeau .marquee__sep { width: 7px; height: 7px; background: var(--cobalt); opacity: 1; }

/* 3. Problème : la feuille « Ignorer la limite » ------------------------------------ */
.pdp-limite { display: grid; place-items: center; background: var(--night); }
.pdp-limite > img { position: absolute; inset: 0; filter: saturate(.9) brightness(.82); }
.pdp-limite__sheet {
  position: relative; z-index: 2; width: min(78%, 330px); display: grid; justify-items: center; gap: 8px; text-align: center;
  padding: 26px 18px 16px; border-radius: 26px; background: rgba(246, 246, 248, .9); color: var(--ink);
  -webkit-backdrop-filter: blur(22px) saturate(1.3); backdrop-filter: blur(22px) saturate(1.3);
  box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .7); font-family: var(--f-sys);
}
.pdp-limite__ico { width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center; background: var(--ink); color: #FFFFFF; margin-bottom: 4px; }
.pdp-limite__ico svg { width: 24px; height: 24px; }
.pdp-limite__t { font-size: 18px; font-weight: 700; letter-spacing: -.01em; }
.pdp-limite__p { font-size: 14px; line-height: 1.35; color: var(--ink2); margin-bottom: 8px; max-width: 24ch; }
.pdp-limite__btn { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; height: 46px; border-radius: 14px; font-size: 16px; font-weight: 600; }
.pdp-limite__btn:not(.pdp-limite__btn--cle) { background: var(--ink); color: #FFFFFF; }
.pdp-limite__btn--cle { position: relative; color: var(--cobalt); box-shadow: 0 0 0 2px var(--cobalt); background: rgba(51, 85, 255, .08); }
.pdp-limite__btn--cle i { font-style: normal; padding: 3px 7px; border-radius: 6px; background: var(--cobalt); color: #FFFFFF; font-size: 9.5px; }
@media (prefers-reduced-motion: no-preference) {
  .pdp-limite.is-in .pdp-limite__btn--cle::after { content: ""; position: absolute; inset: -2px; border-radius: 16px; box-shadow: 0 0 0 2px var(--cobalt); animation: pdp-onde 2.4s var(--ease-io) infinite; }
}
@keyframes pdp-onde { 0% { transform: scale(1); opacity: .9; } 100% { transform: scale(1.12, 1.4); opacity: 0; } }
.pdp-limite__note {
  position: absolute; z-index: 2; left: 16px; right: 16px; bottom: 16px; display: flex; align-items: center; gap: 10px;
  padding: 10px 14px; border-radius: 14px; background: rgba(17, 17, 23, .6); color: #FFFFFF; -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  font-size: 14px; line-height: 1.3;
}
.pdp-limite__note .mono { color: var(--ice); flex: none; }

/* 4. Mécanisme --------------------------------------------------------------------- */
.pdp-vs { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; margin-top: 4px; }
@media (min-width: 560px) { .pdp-vs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pdp-vs__col { display: grid; gap: 12px; align-content: start; padding: 18px; border-radius: var(--r-md); background: var(--card); box-shadow: inset 0 0 0 1px var(--line); }
.pdp-vs__col--on { background: rgba(51, 85, 255, .14); box-shadow: inset 0 0 0 1px rgba(111, 134, 255, .4); }
.pdp-vs__col--on .mono { color: var(--ice); }
.pdp-vs__col ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.pdp-vs__col li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 10px; align-items: start; font-size: 14.5px; line-height: 1.4; color: var(--fg); }
.pdp-vs__col:not(.pdp-vs__col--on) li { color: var(--fg2); }
.pdp-vs__col .yes, .pdp-vs__col .no { width: 22px; height: 22px; background-size: 13px; }
.night .pdp-vs .no { background-color: rgba(255, 255, 255, .1); }
.pdp-meca__visuel { position: relative; display: grid; justify-items: center; padding-bottom: 8%; }
.pdp-meca__photo { width: 78%; justify-self: start; }
.pdp-meca__phone.phone { position: absolute; right: 2%; bottom: 0; --phone-w: clamp(150px, 36%, 250px); }
@media (max-width: 899px) { .pdp-meca__visuel { max-width: 520px; margin-inline: auto; width: 100%; } }

/* 5. Avant / après --------------------------------------------------------------- */
.pdp-soiree__switch { display: none; }
.pdp-soiree__grid { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 720px) { .pdp-soiree__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); } }
.pdp-version { display: grid; gap: 0; align-content: start; border-radius: var(--r-lg); overflow: hidden; background: var(--plank-2); box-shadow: inset 0 0 0 1px var(--hair); }
.pdp-version--avec { background: color-mix(in srgb, var(--cobalt) 5%, var(--paper)); box-shadow: inset 0 0 0 1.5px rgba(51, 85, 255, .3); }
.pdp-version__img { border-radius: 0; --ratio: 4 / 3; }
.pdp-version__img .media__tag { left: 16px; top: 16px; }
.pdp-version .pdp-timeline { position: relative; display: grid; gap: 0; margin: 0; padding: clamp(20px, 2.6vw, 30px); list-style: none; }
.pdp-timeline li { position: relative; display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 14px; padding: 0 0 18px; }
.pdp-timeline li:last-child { padding-bottom: 0; }
.pdp-timeline li::before { content: ""; position: absolute; left: 66px; top: 6px; width: 9px; height: 9px; border-radius: 50%; background: var(--ink3); }
.pdp-timeline li:not(:last-child)::after { content: ""; position: absolute; left: 70px; top: 19px; bottom: 2px; width: 1px; background: var(--hair2); }
.pdp-timeline time { padding-top: 2px; font-size: 11px; color: var(--fg); }
.pdp-timeline p { padding-left: 22px; font-size: 15px; line-height: 1.45; color: var(--fg2); }
.pdp-version--avec .pdp-timeline li::before { background: var(--cobalt); box-shadow: 0 0 0 3px var(--cobalt-soft); }
.pdp-version--avec .pdp-timeline li::after { background: rgba(51, 85, 255, .3); }
.pdp-version--avec .pdp-timeline p { color: var(--fg); }
.pdp-version--avec time { color: var(--cobalt); }
.pdp-soiree__note { margin-top: 20px; }
@media (max-width: 719px) {
  .js .pdp-soiree__switch {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; padding: 4px; margin: -8px auto 16px; max-width: 360px;
    border-radius: 999px; background: var(--plank-2); box-shadow: inset 0 0 0 1px var(--hair);
  }
  .pdp-soiree__tab { height: 42px; border-radius: 999px; font-size: 14.5px; font-weight: 600; color: var(--ink2); transition: background-color .25s, color .25s; }
  .pdp-soiree__tab.is-on { background: var(--ink); color: #FFFFFF; }
  .pdp-soiree__tab[data-version="avec"].is-on { background: var(--cobalt); }
  .js .pdp-version:not(.is-on) { display: none; }
  .pdp-version__img { --ratio: 4 / 4.2; }
}

/* 6. Comment ça marche --------------------------------------------------------------- */
.pdp-comment__grid { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) { .pdp-comment__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(20px, 3vw, 40px); align-items: stretch; } }
.pdp-comment__visuel { position: relative; display: grid; place-items: center; padding: 44px 20px 64px; border-radius: var(--r-lg); overflow: hidden; min-height: 100%; }
.pdp-comment__visuel .phone { --phone-w: clamp(200px, 26vw, 270px); }
.pdp-comment__etat { position: absolute; left: 0; right: 0; bottom: 22px; text-align: center; color: var(--ice); }
.pdp-etapes { align-content: start; }
@media (min-width: 900px) { .pdp-etapes { align-content: center; } }
.pdp-etapes .acc > summary { padding: 22px 22px; }
.pdp-etape__t { display: grid; gap: 6px; font-family: var(--f-sans); font-stretch: 75%; font-weight: 800; text-transform: uppercase; font-size: clamp(22px, 2.2vw, 28px); line-height: .98; }
.pdp-etape__n { color: var(--cobalt); font-size: 10.5px; }
.pdp-etapes .acc[open] { box-shadow: inset 0 0 0 1.5px var(--cobalt); }
.pdp-etapes .pdp-puces { display: grid; gap: 10px; margin: 0; padding: 0 22px 22px; list-style: none; }
.pdp-puces li { position: relative; padding-left: 20px; font-size: 15.5px; line-height: 1.5; color: var(--fg2); }
.pdp-puces li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 7px; height: 7px; border-radius: 2px; background: var(--cobalt); }

/* 7. Trailer ------------------------------------------------------------------- */
.pdp-trailer__video { max-width: 1040px; margin-inline: auto; }
.pdp-trailer__cta { margin-top: 28px; }

/* 8. Transparence ------------------------------------------------------------- */
.pdp-eclate { position: relative; display: grid; gap: 22px; max-width: 1080px; margin: 0 auto; }
.pdp-eclate__fig { position: relative; width: min(100%, 440px); margin: 0 auto; border-radius: var(--r-lg); overflow: hidden; background: var(--night); }
.pdp-eclate__fig img { width: 100%; height: auto; }
.pdp-eclate__pt {
  position: absolute; right: 5%; top: var(--y); transform: translateY(-50%);
  width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center;
  background: var(--cobalt); color: #FFFFFF; font: 700 12px/1 var(--f-sans); box-shadow: 0 0 0 4px rgba(51, 85, 255, .25);
}
.pdp-eclate__leg { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.pdp-eclate__leg li { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 14px; align-items: start; padding: 16px 18px; border-radius: var(--r-md); background: var(--card); box-shadow: inset 0 0 0 1px var(--line); }
.pdp-eclate__n { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: var(--cobalt); color: #FFFFFF; font: 700 12px/1 var(--f-sans); }
.pdp-eclate__leg b { display: block; text-wrap: balance; font-size: 16px; font-weight: 650; color: var(--fg); line-height: 1.3; }
.pdp-eclate__leg p { margin-top: 4px; font-size: 14.5px; line-height: 1.5; color: var(--fg2); }
@media (min-width: 1024px) {
  .pdp-eclate { min-height: 550px; }
  .pdp-eclate__pt { display: none; }
  .pdp-eclate__leg { position: absolute; inset: 0; display: block; pointer-events: none; }
  .pdp-eclate__leg li {
    position: absolute; top: var(--y); width: calc(50% - 250px); transform: translateY(-50%);
    display: block; padding: 0; background: none; box-shadow: none; pointer-events: auto;
  }
  .pdp-eclate__leg .pdp-eclate__n { display: none; }
  .pdp-eclate__leg li.is-g { right: calc(50% + 250px); text-align: right; padding-right: 12px; }
  .pdp-eclate__leg li.is-d { left: calc(50% + 250px); padding-left: 12px; }
  .pdp-eclate__leg li::after { content: ""; position: absolute; top: 50%; width: 110px; height: 1px; background: linear-gradient(90deg, rgba(168, 188, 255, .65), rgba(168, 188, 255, .15)); }
  .pdp-eclate__leg li::before { content: ""; position: absolute; top: calc(50% - 4px); width: 8px; height: 8px; border-radius: 50%; background: var(--ice); box-shadow: 0 0 0 4px rgba(168, 188, 255, .18); }
  .pdp-eclate__leg li.is-g::after { left: 100%; transform: scaleX(-1); transform-origin: center; }
  .pdp-eclate__leg li.is-g::before { left: calc(100% + 106px); }
  .pdp-eclate__leg li.is-d::after { right: 100%; transform: scaleX(-1); }
  .pdp-eclate__leg li.is-d::before { right: calc(100% + 106px); }
  .pdp-eclate__leg li > div { display: grid; gap: 4px; }
  .pdp-eclate__leg b { font-family: var(--f-sans); font-stretch: 75%; font-weight: 800; text-transform: uppercase; font-size: 24px; line-height: .98; }
  .pdp-eclate__leg p { max-width: 30ch; }
  .pdp-eclate__leg li.is-g p { margin-left: auto; }
}
.pdp-transp__bas { --gap: 12px; margin-top: clamp(28px, 4vw, 48px); max-width: 1080px; margin-inline: auto; }
.pdp-transp__card { display: grid; gap: 16px; align-content: start; }
.pdp-sans { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.pdp-sans li { display: inline-flex; align-items: center; height: 36px; padding: 0 14px; border-radius: 999px; box-shadow: inset 0 0 0 1px var(--line2); color: var(--fg2); font-size: 14px; }
.pdp-sans s { text-decoration-thickness: 1.5px; text-decoration-color: var(--cobalt-lift); }

/* 9. Comparatif ---------------------------------------------------------------- */
.pdp-compare__card { max-width: 1000px; margin: 0 auto; padding: clamp(10px, 2.4vw, 32px) clamp(14px, 3vw, 40px) clamp(14px, 2.4vw, 28px); border-radius: var(--r-xl); background: var(--paper); box-shadow: inset 0 0 0 1px var(--hair); }
.pdp-compare .compare td { font-size: 13.5px; color: var(--fg2); line-height: 1.3; }
.pdp-compare .compare .compare__note { display: block; margin-top: 6px; font-size: 11.5px; color: var(--fg2); }
.pdp-compare__prix th, .pdp-compare__prix td { padding-block: 20px; }
.pdp-compare__prix .is-us b { color: var(--fg); font-weight: 650; white-space: nowrap; }
.pdp-compare__cta { margin-top: 32px; }
.pdp-compare .compare { table-layout: fixed; min-width: 520px; }
.pdp-compare .compare th:first-child { width: 136px; }
@media (max-width: 719px) {
  .pdp-compare__card { padding-inline: 12px; border-radius: var(--r-lg); }
  .pdp-compare .compare tbody th { min-width: 0; max-width: none; font-size: 13.5px; }
  .pdp-compare .compare th, .pdp-compare .compare td { padding-inline: 6px; }
}
@media (min-width: 720px) { .pdp-compare .compare th:first-child { width: 30%; } }
.pdp-compare__choix { display: none; }
@media (max-width: 599px) {
  .js .pdp-compare__choix { display: grid; justify-items: center; gap: 10px; margin: 6px 0 4px; }
  .pdp-compare__choix-l { font-size: 10px; }
  .pdp-compare__seg {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3px; width: 100%; padding: 3px;
    border-radius: 16px; background: var(--plank-2); box-shadow: inset 0 0 0 1px var(--hair);
  }
  .pdp-compare__seg button {
    min-height: 46px; padding: 6px 4px; border-radius: 13px; font-size: 12.5px; font-weight: 600; line-height: 1.15;
    color: var(--ink2); transition: background-color .25s, color .25s;
  }
  .pdp-compare__seg button[aria-pressed="true"] { background: var(--ink); color: #FFFFFF; }
  .js .pdp-compare .compare { min-width: 0; }
  .js .pdp-compare .compare tr > :nth-child(n+3) { display: none; }
  .js .pdp-compare .compare[data-voir="3"] tr > :nth-child(3),
  .js .pdp-compare .compare[data-voir="4"] tr > :nth-child(4),
  .js .pdp-compare .compare[data-voir="5"] tr > :nth-child(5) { display: table-cell; }
  .js .pdp-compare .compare th:first-child { width: 45%; }
  .js .pdp-compare .compare .compare__col-us,
  .js .pdp-compare .compare thead th:nth-child(n+3) { width: 27.5%; }
  .js .pdp-compare .compare tbody th { max-width: none; }
  .js .pdp-compare__prix .is-us b { white-space: normal; }
}

/* 10. Recherche ----------------------------------------------------------------- */
.pdp-etudes { display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 720px) { .pdp-etudes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .pdp-etudes { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; } }
@media (max-width: 719px) {
  .pdp-etudes {
    display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none;
    margin-inline: calc(-1 * var(--gutter)); padding-inline: var(--gutter); scroll-padding-inline: var(--gutter);
  }
  .pdp-etudes::-webkit-scrollbar { display: none; }
  .pdp-etudes > .pdp-etude { flex: 0 0 86%; scroll-snap-align: start; }
}
.pdp-etude { display: grid; gap: 12px; align-content: start; padding: clamp(22px, 2.4vw, 30px); border-radius: var(--r-lg); background: var(--card); box-shadow: inset 0 0 0 1px var(--line); }
.pdp-etude__k { font-size: clamp(48px, 5vw, 68px); line-height: .85; color: var(--fg); }
.pdp-etude__k.disp { font-size: clamp(40px, 4.2vw, 56px); }
.pdp-etude__k small { font-size: .42em; margin-left: 4px; }
.pdp-etude__t { font-size: 17px; font-weight: 650; line-height: 1.3; color: var(--fg); text-wrap: balance; }
.pdp-etude .text { font-size: 15px; }
.pdp-etude__clac { display: grid; gap: 4px; padding: 12px 14px; border-radius: 14px; background: var(--cobalt-soft); font-size: 14px; line-height: 1.45; color: var(--ink); }
.pdp-etude__clac .mono { color: var(--cobalt); }
.pdp-etude .stat__src { margin-top: 2px; }
.pdp-etudes__hint { margin: -12px 0 14px; }
.pdp-recherche__note { margin: 28px auto 0; max-width: 64ch; }
.pdp-src { font-size: 12.5px !important; }
.pdp-src a { color: var(--fg2) !important; }

/* 11. Idées reçues ------------------------------------------------------------------ */
.pdp-mythes__grid { display: grid; gap: 28px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) {
  .pdp-mythes__grid { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(40px, 6vw, 96px); align-items: start; }
  .pdp-mythes__tete { position: sticky; top: calc(var(--header-h) + 32px); }
}
.pdp-mythes__liste .acc > summary { font-size: 17px; }
.pdp-mythes__cta { margin-top: 4px; }

/* 12. Pour qui ---------------------------------------------------------------------- */
.pdp-profils__tete { max-width: 720px; }
.pdp-profils__car .carousel__track { margin-inline: calc(-1 * var(--gutter)); padding-inline: var(--gutter); scroll-padding-inline: var(--gutter); }
@media (min-width: 1024px) { .pdp-profils__car .carousel__track { margin-inline: 0; padding-inline: 0; scroll-padding-inline: 0; } }
.pdp-profils__car { --per: 1.2; }
@media (min-width: 720px) { .pdp-profils__car { --per: 2.2; } }
@media (min-width: 1024px) { .pdp-profils__car { --per: 3; } }
.pdp-profil { display: grid; gap: 14px; align-content: start; }
.pdp-profil .text { font-size: 15px; padding-right: 8px; }
.pdp-profil .media__tag { left: 14px; top: 14px; height: 32px; font-size: 12.5px; padding: 0 12px; }

/* 13. 21 premiers jours ------------------------------------------------------------- */
.pdp-jours__liste { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 720px) { .pdp-jours__liste { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .pdp-jours__liste { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; } }
.pdp-jour { display: grid; gap: 12px; align-content: start; padding: 22px 20px 24px; border-radius: var(--r-lg); background: var(--card); box-shadow: inset 0 0 0 1px var(--line); }
.pdp-jour__q { color: var(--ice); }
.pdp-jour__seg { height: 8px; gap: 2px; }
.pdp-jour__t { font-family: var(--f-sans); font-stretch: 75%; font-weight: 800; text-transform: uppercase; font-size: 24px; line-height: .98; margin-top: 4px; }
.pdp-jour .text { font-size: 14.5px; }
.pdp-jours__note { margin: 28px auto 0; max-width: 70ch; }

/* 14. Garantie ------------------------------------------------------------------- */
.pdp-garantie { position: relative; border-radius: var(--r-xl); overflow: hidden; background: var(--paper); box-shadow: inset 0 0 0 1px var(--hair); }
.pdp-garantie__img { margin: 0; aspect-ratio: 16 / 9; }
.pdp-garantie__img img { width: 100%; height: 100%; object-fit: cover; object-position: 70% 50%; }
.pdp-garantie__txt { position: relative; display: grid; gap: 14px; justify-items: start; padding: 26px 22px 30px; }
.pdp-garantie__sceau {
  position: absolute; right: 20px; top: -44px; width: 88px; height: 88px; border-radius: 50%;
  display: grid; place-content: center; text-align: center; background: var(--cobalt); color: #FFFFFF; box-shadow: var(--sh-cobalt);
  font-size: 36px; line-height: .85;
}
.pdp-garantie__sceau small { display: block; margin: 2px 0 0; font-family: var(--f-mono); font-size: 9px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }
.pdp-garantie__txt .title-m { padding-right: 80px; }
@media (min-width: 900px) {
  .pdp-garantie__img { aspect-ratio: 16 / 7.4; }
  .pdp-garantie__img img { object-position: 60% 50%; }
  .pdp-garantie__txt {
    position: absolute; left: clamp(28px, 5vw, 64px); top: 50%; transform: translateY(-50%); width: min(44%, 480px);
    padding: 0; background: none;
  }
  .pdp-garantie__txt .title-m { padding-right: 0; font-size: clamp(36px, 4vw, 56px); }
  .pdp-garantie__sceau { position: static; width: 96px; height: 96px; margin-bottom: 6px; }
}

/* 16. FAQ -------------------------------------------------------------------- */
.pdp-faq__grid { display: grid; gap: 28px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) {
  .pdp-faq__grid { grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: clamp(40px, 6vw, 96px); align-items: start; }
  .pdp-faq__tete { position: sticky; top: calc(var(--header-h) + 32px); }
}
.pdp-faq__liste .acc > summary { font-size: 16px; }

/* 17. CTA final ----------------------------------------------------------------- */
.pdp-final__in { display: grid; justify-items: center; text-align: center; gap: 26px; }
.pdp-final__img {
  width: clamp(150px, 20vw, 220px); aspect-ratio: 1; margin: 0; border-radius: 50%; overflow: hidden;
  -webkit-mask-image: radial-gradient(circle, #000 52%, transparent 71%); mask-image: radial-gradient(circle, #000 52%, transparent 71%);
}
.pdp-final__img img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.25); }
.pdp-final__in .title-xl { max-width: 17ch; font-size: clamp(46px, 8.4vw, 112px); }
.pdp-final__cta { display: grid; justify-items: center; gap: 14px; width: 100%; max-width: 420px; }
.pdp-final__btn { width: 100%; justify-content: flex-start; }
.pdp-final__pack { color: var(--fg2); }
.pdp-final__pack a { color: var(--fg); text-decoration: underline; text-underline-offset: 3px; }

/* 18. Barre d'achat ------------------------------------------------------------- */
.pdp-buybar .buybar__prix b { color: var(--ink); font-weight: 650; }

/* Animations réduites ------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .pdp-cadeaux.is-anime { animation: none; }
}
