/* VYVRE · scan PEAU · interface « Relief » (31/10/2026, maquette validée : /propals/parcours/relief/peau.html).
   Un habillage posé sur le vrai scan : toute la logique reste celle de /scan (questions, catalogue, moteur, rituel, story,
   langues, pages de marque). Le vide chaud #070708, le drapé de lumière champagne (aucun visage hors caméra et révélation),
   le verre profond aux bords lumineux avec un reflet qui suit le doigt, Playfair aérée, une seule couleur de trait #EADCC2.
   Actif dès que html porte la classe « rx » (posée en tête de page) ; ?ui=ancien la retire. Script : vy-relief-ui.js. */
html.rx{
  --rx-void:#070708;--rx-ink:#F6F1EA;--rx-mute:rgba(246,241,234,.64);--rx-mute2:rgba(246,241,234,.46);--rx-champ:#EADCC2;
  --rx-ligne:rgba(255,255,255,.14);--rx-ease:cubic-bezier(.2,.7,.1,1);--rx-eio:cubic-bezier(.65,0,.35,1);
  --rx-serif:"Playfair Display",Georgia,serif;--rx-sans:Inter,system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;--rx-mono:"JetBrains Mono",ui-monospace,monospace;
  --rx-st:env(safe-area-inset-top,0px);--rx-sb:env(safe-area-inset-bottom,0px)
}
html.rx[lang=ar]{--rx-serif:"Noto Naskh Arabic","Geeza Pro","Times New Roman",serif;--rx-sans:"Noto Sans Arabic","Geeza Pro",system-ui,sans-serif}
html.rx:lang(ja){--rx-serif:"Hiragino Mincho ProN","Yu Mincho",serif}
html.rx:lang(ko){--rx-serif:"AppleMyungjo","Nanum Myeongjo",serif}
html.rx:lang(zh),html.rx:lang(zh-Hans){--rx-serif:"Songti SC","STSong",serif}
html.rx,html.rx body{background:var(--rx-void)!important}
html.rx body{cursor:auto!important}

/* ---------- l'ancien décor s'efface (il reste dans la page, rien n'est retiré de la logique) ---------- */
html.rx #sig-gl,html.rx #sig-grain,html.rx #sig-cur,html.rx #sg-voile-noir,html.rx #ambient-light,html.rx body>header,html.rx #vy-mv{display:none!important}
html.rx:not(.rx-marque) #vy-lang{display:none!important}
html.rx #view-hero>.hero-content{opacity:0!important;pointer-events:none!important}
html.rx #vy-avant{background:transparent!important}
html.rx .vy-pct{opacity:0!important}
html.rx #vy-sombre{display:none!important;visibility:hidden!important}

/* ---------- le drapé de lumière (canvas fixe, derrière tout) ---------- */
#rx-scene{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:1;pointer-events:none;transition:opacity .9s var(--rx-ease)}
html.rx-p-camera #rx-scene,html.rx-p-calcul #rx-scene{opacity:0}

/* ---------- verre (repris de la maquette) ---------- */
html.rx .rx-verre{--vf:rgba(255,255,255,.13);--vf2:rgba(255,255,255,.028);--vr1:rgba(255,255,255,.52);--vr2:rgba(255,255,255,.07);--vr3:rgba(234,220,194,.3);--vg:0 0 0 0 transparent;--vb:rgba(17,15,13,.4);
  position:relative;border:1px solid transparent;
  background:linear-gradient(150deg,var(--vf),var(--vf2) 48%,rgba(255,255,255,.055)) padding-box,linear-gradient(var(--vb),var(--vb)) padding-box,
    linear-gradient(150deg,var(--vr1),var(--vr2) 30%,rgba(255,255,255,.025) 62%,var(--vr3)) border-box;
  -webkit-backdrop-filter:blur(24px) saturate(1.6) brightness(1.05);backdrop-filter:blur(24px) saturate(1.6) brightness(1.05);
  box-shadow:var(--vg),0 26px 50px -24px rgba(0,0,0,.72),0 8px 18px -10px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.16),inset 0 -24px 36px -30px rgba(234,220,194,.26)}
html.rx .rx-verre::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .6s var(--rx-ease);
  background:radial-gradient(190px circle at var(--mx,50%) var(--my,-70%),rgba(255,248,236,.15),rgba(255,248,236,0) 70%)}
html.rx .rx-verre:hover::before,html.rx .rx-verre.sel::before,html.rx .rx-verre.rx-touche::before{opacity:1}
html.rx button.rx-verre,html.rx a.rx-verre{transition:transform .6s var(--rx-ease),box-shadow .6s var(--rx-ease)}
@media (hover:hover){html.rx button.rx-verre:hover,html.rx a.rx-verre:hover{transform:translateY(-2px)}}
html.rx button.rx-verre:active,html.rx a.rx-verre:active{transform:scale(.975);transition-duration:.15s}
html.rx .rx-sel{--vf:rgba(234,220,194,.27);--vf2:rgba(234,220,194,.07);--vr1:rgba(255,247,230,.95);--vr2:rgba(234,220,194,.35);--vr3:rgba(234,220,194,.85);--vg:0 0 32px -8px rgba(234,220,194,.55)}
html.rx .rx-reflet{overflow:hidden}
html.rx .rx-reflet::after{content:"";position:absolute;top:-10%;bottom:-10%;left:0;width:58%;pointer-events:none;transform:translate3d(-140%,0,0);
  background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.14) 50%,rgba(255,255,255,0))}
html.rx .rx-reflet.passe::after{transition:transform .9s var(--rx-ease);transform:translate3d(240%,0,0)}

/* ---------- typographie ---------- */
.rx-ui,.rx-ui *{box-sizing:border-box}
.rx-ui{font-family:var(--rx-sans);color:var(--rx-ink);-webkit-font-smoothing:antialiased;text-align:start}
.rx-ui h1,.rx-ui h2,.rx-ui h3{background:none!important;-webkit-text-fill-color:currentColor!important;margin:0;font-weight:400;text-wrap:balance}
.rx-ui button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.rx-ui a{color:inherit;text-decoration:none}
.rx-kick{font:500 9.5px/1.2 var(--rx-sans);letter-spacing:.36em;text-transform:uppercase;color:var(--rx-champ);opacity:.92}
.rx-kick::before{content:"";display:inline-block;width:22px;height:1px;margin:0 12px 3px 0;vertical-align:middle;background:linear-gradient(90deg,rgba(234,220,194,0),var(--rx-champ))}
[dir=rtl] .rx-kick::before{margin:0 0 3px 12px;background:linear-gradient(270deg,rgba(234,220,194,0),var(--rx-champ))}
.rx-titre{font:400 43px/1.02 var(--rx-serif)!important;letter-spacing:-.024em;color:var(--rx-ink);margin-top:18px!important}
.rx-titre em,.rx-h2 em,.rx-lecture em{font-style:italic;color:var(--rx-champ)}
.rx-h2{font:400 34px/1.05 var(--rx-serif)!important;letter-spacing:-.02em;margin-top:16px!important}
.rx-lede{font:300 16px/1.55 var(--rx-sans);color:var(--rx-mute);margin:16px 0 0;max-width:420px}
.rx-etq{font:500 9.5px/1.3 var(--rx-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--rx-mute)}
html.rx[lang=ar] .rx-ui *,html.rx:lang(ja) .rx-ui *,html.rx:lang(ko) .rx-ui *,html.rx:lang(zh) .rx-ui *{letter-spacing:0!important}
html.rx[lang=ar] .rx-ui em,html.rx:lang(ja) .rx-ui em,html.rx:lang(ko) .rx-ui em,html.rx:lang(zh) .rx-ui em{font-style:normal}
html.rx:lang(ko) .rx-ui{word-break:keep-all}
html.rx:lang(ja) .rx-ui{word-break:auto-phrase;line-break:strict}

/* ---------- boutons ---------- */
.rx-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 26px;border-radius:999px;cursor:pointer;position:relative;overflow:hidden;
  background:linear-gradient(180deg,#F7F0E2,#E2D0AF)!important;color:#141210!important;font:500 15px/1 var(--rx-sans)!important;letter-spacing:-.005em;white-space:nowrap;
  box-shadow:0 10px 30px -10px rgba(234,220,194,.5),inset 0 1px 0 rgba(255,255,255,.7);transition:transform .3s var(--rx-ease),opacity .3s,box-shadow .3s}
.rx-cta:active{transform:scale(.97)}
.rx-cta::after{content:"";position:absolute;top:-30%;bottom:-30%;left:0;width:38%;pointer-events:none;background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.75),rgba(255,255,255,0));transform:translateX(-170%) skewX(-14deg);animation:rxSheen 6s var(--rx-eio) 1.8s infinite}
@keyframes rxSheen{0%{transform:translateX(-170%) skewX(-14deg)}20%,100%{transform:translateX(380%) skewX(-14deg)}}
@media (hover:hover){.rx-cta:hover{box-shadow:0 14px 40px -10px rgba(234,220,194,.7),inset 0 1px 0 rgba(255,255,255,.8)}}
.rx-cta svg,.rx-fantome svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
[dir=rtl] .rx-cta svg.fl,[dir=rtl] .rx-fantome svg.fl,[dir=rtl] .rx-soin>svg{transform:scaleX(-1)}
.rx-fantome{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:48px;padding:0 20px;border-radius:999px;cursor:pointer;white-space:nowrap;
  color:var(--rx-ink)!important;font:500 14px/1 var(--rx-sans)!important;border:1px solid rgba(255,255,255,.2)!important;background:rgba(255,255,255,.05)!important;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .3s,border-color .3s}
.rx-fantome:hover{background:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.3)!important}
.rx-tap{animation:rxTap .55s var(--rx-ease)}
@keyframes rxTap{0%{transform:scale(1)}35%{transform:scale(.965)}100%{transform:scale(1)}}

/* ---------- apparitions ---------- */
.rx-rv{opacity:0;transform:translate3d(0,18px,0);filter:blur(7px);transition:opacity .45s var(--rx-ease),transform .7s var(--rx-ease),filter .45s}
.rx-on .rx-rv,.rx-rv.vu{opacity:1;transform:none;filter:none;transition:opacity 1s var(--rx-ease),transform 1.3s var(--rx-ease),filter 1s var(--rx-ease);transition-delay:calc(var(--d,0) * 1s + .3s)}

/* ---------- la barre et le menu (les mêmes que l'accueil, en sombre) ---------- */
#rx-barre{position:fixed;inset:0 0 auto;z-index:60;display:flex;align-items:center;justify-content:space-between;padding:calc(var(--rx-st) + 16px) 18px 0;pointer-events:none;transition:opacity .5s var(--rx-ease)}
#rx-barre>*{pointer-events:auto}
#rx-barre::before{content:"";position:absolute;inset:0 0 -14px;z-index:-1;opacity:0;transition:opacity .4s;background:rgba(7,7,8,.72);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);box-shadow:0 .5px 0 rgba(255,255,255,.08)}
#rx-barre.defile::before{opacity:1}
html.rx-p-questions #rx-barre,html.rx-relief #rx-barre{opacity:0;pointer-events:none}
html.rx-p-questions #rx-barre *{pointer-events:none}
.rx-marque{font:500 22px/1 Inter,system-ui,sans-serif;letter-spacing:-.065em!important;color:var(--rx-ink);unicode-bidi:isolate;display:inline-flex;align-items:baseline;gap:10px}
.rx-marque small{font:400 9.5px/1 var(--rx-mono);letter-spacing:.2em!important;text-transform:uppercase;color:var(--rx-mute)}
.rx-droite{display:flex;align-items:center;gap:6px}
.rx-scans{display:none;gap:4px;margin-inline-end:10px}
.rx-scans a{display:flex;align-items:center;gap:7px;padding:8px 13px;border-radius:99px;font-size:13px;color:var(--rx-ink);transition:background .3s}
.rx-scans a i,.rx-dot{width:6px;height:6px;border-radius:50%;background:var(--c);flex:none}
.rx-scans a:hover,.rx-scans a[aria-current=true]{background:rgba(255,255,255,.08)}
.rx-rond{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:var(--rx-ink);background:rgba(255,255,255,.08)!important;-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);box-shadow:0 0 0 .5px rgba(255,255,255,.14)}
.rx-rond svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round}
#rx-menu{position:fixed;inset:0;z-index:95;visibility:hidden;pointer-events:none}
#rx-menu.ouvert{visibility:visible;pointer-events:auto}
#rx-menu .voile{position:absolute;inset:0;background:rgba(7,7,8,.94);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);opacity:0;transition:opacity .45s var(--rx-ease)}
#rx-menu.ouvert .voile{opacity:1}
#rx-menu .dedans{position:absolute;inset:0;display:flex;flex-direction:column;padding:calc(var(--rx-st) + 84px) 22px calc(var(--rx-sb) + 24px);max-width:720px;margin:0 auto;overflow:auto}
#rx-menu .fermer{position:absolute;inset-inline-end:18px;top:calc(var(--rx-st) + 16px)}
#rx-menu .rx-mk{font:400 10px/1 var(--rx-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--rx-mute2);margin-bottom:10px}
.rx-entree{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:6px 12px;padding:16px 0;border-top:1px solid rgba(255,255,255,.1);opacity:0;transform:translateY(14px);transition:opacity .5s var(--rx-ease),transform .6s var(--rx-ease)}
#rx-menu.ouvert .rx-entree{opacity:1;transform:none}
.rx-entree:last-child{border-bottom:1px solid rgba(255,255,255,.1)}
.rx-entree .n{font:400 10px/1 var(--rx-mono);color:var(--rx-mute2);letter-spacing:.1em}
.rx-entree b{font:italic 400 32px/1 var(--rx-serif);letter-spacing:-.015em;display:flex;align-items:center;gap:12px}
.rx-entree b .rx-dot{width:8px;height:8px}
.rx-entree .l{grid-column:2;font:300 13.5px/1.45 var(--rx-sans);color:var(--rx-mute)}
.rx-entree svg{grid-row:1/3;grid-column:3;width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.3;opacity:.55}
[dir=rtl] .rx-entree svg{transform:scaleX(-1)}
.rx-secondaires{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:22px}
.rx-secondaires a{display:flex;flex-direction:column;gap:5px;padding:14px;border-radius:16px;background:rgba(255,255,255,.06);box-shadow:0 0 0 .5px rgba(255,255,255,.12);font-size:14px}
.rx-secondaires small{font:300 11.5px/1.35 var(--rx-sans);color:var(--rx-mute)}
.rx-langues{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}
.rx-langues button{font:400 10px/1 var(--rx-mono);letter-spacing:.1em;padding:8px 10px;border-radius:99px;box-shadow:0 0 0 .5px rgba(255,255,255,.18);color:var(--rx-mute)}
.rx-langues button[aria-current=true]{color:var(--rx-ink);box-shadow:0 0 0 1px var(--rx-champ)}
@media (max-width:420px){.rx-secondaires{grid-template-columns:1fr 1fr}.rx-secondaires a:last-child{grid-column:1/3}}

/* ---------- écrans plein cadre (ouverture, préparation) ---------- */
.rx-ecran{position:fixed;inset:0;z-index:30;visibility:hidden;pointer-events:none;opacity:0;transition:opacity .45s var(--rx-ease),visibility 0s .45s}
.rx-ecran.rx-on{visibility:visible;pointer-events:auto;opacity:1;transition:opacity .6s var(--rx-ease)}
.rx-bloc{position:absolute;left:22px;right:22px;bottom:calc(30px + var(--rx-sb))}
.rx-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.rx-preuve{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:16px;font:400 9px/1.3 var(--rx-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--rx-mute2)}
.rx-preuve span+span::before{content:"";display:inline-block;width:3px;height:3px;border-radius:50%;background:var(--rx-champ);opacity:.6;margin:0 10px 2px -6px;vertical-align:middle}
[dir=rtl] .rx-preuve span+span::before{margin:0 -6px 2px 10px}
.rx-conseils{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:8px}
.rx-conseils li{display:flex;align-items:center;gap:14px;padding:11px 14px;border-radius:15px;font:300 14px/1.35 var(--rx-sans)}
.rx-conseils li svg{flex:none;width:22px;height:22px;stroke:var(--rx-champ);fill:none;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.rx-prive{display:flex;align-items:flex-start;gap:10px;margin-top:14px;font:300 12.5px/1.45 var(--rx-sans);color:var(--rx-mute)}
.rx-prive svg{flex:none;width:15px;height:15px;margin-top:1px;stroke:var(--rx-champ);fill:none;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}

/* ---------- caméra : plein cadre, ovale, repères, consigne, témoins ---------- */
html.rx #view-scanner>div:first-child,html.rx #view-scanner .scan-hud,html.rx #view-scanner .thermal-color-map,html.rx #view-scanner #depth-ui,
html.rx #view-scanner #scan-laser,html.rx #sig-fx,html.rx #view-scanner #liveOverlay{display:none!important}
html.rx #view-scanner .spatial-panel{background:none!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html.rx #view-scanner .video-container::before,html.rx #view-scanner .video-container::after{display:none!important}
html.rx-p-camera #view-scanner #thermal-vid-container .thermal-base,html.rx-p-calcul #view-scanner #thermal-vid-container .thermal-base{position:fixed!important;inset:0!important;left:0!important;top:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;
  max-width:none!important;max-height:none!important;object-fit:cover!important;-webkit-mask-image:none!important;mask-image:none!important;border-radius:0!important;z-index:2!important;margin:0!important}
html.rx:not(.rx-photo) #view-scanner #thermal-vid-container #capturedImg{display:none!important}
html.rx-photo.rx-p-camera #view-scanner #thermal-vid-container #liveVideo,html.rx-photo.rx-p-calcul #view-scanner #thermal-vid-container #liveVideo{display:none!important}
html.rx-photo.rx-p-camera #view-scanner #thermal-vid-container #capturedImg,html.rx-photo.rx-p-calcul #view-scanner #thermal-vid-container #capturedImg{object-fit:contain!important;background:var(--rx-void)}
html.rx-p-camera #view-scanner,html.rx-p-camera #view-scanner .spatial-panel,html.rx-p-camera #view-scanner .video-container,
html.rx-p-calcul #view-scanner .spatial-panel,html.rx-p-calcul #view-scanner .video-container{transform:none!important;filter:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;contain:none!important;perspective:none!important}
html.rx #view-scanner .thermal-base{filter:none!important;opacity:1!important}
html.rx-p-calcul #view-scanner{display:block!important;opacity:1!important;visibility:visible!important;filter:none!important;transform:none!important}
html.rx-p-calcul #view-process .computation-layout{opacity:0!important}
html.rx-p-calcul #view-process{pointer-events:none!important}
#rx-cam{position:fixed;inset:0;z-index:12;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .6s var(--rx-ease),visibility 0s .6s}
html.rx-p-camera #rx-cam,html.rx-p-calcul #rx-cam{opacity:1;visibility:visible;transition:opacity .6s var(--rx-ease)}
#rx-cam .voile{position:absolute;inset:0;background:radial-gradient(ellipse var(--vrx,40vw) var(--vry,32vh) at 50% var(--vcy,46%),rgba(7,7,8,0) 62%,rgba(7,7,8,.5) 100%),linear-gradient(rgba(7,7,8,.55),rgba(7,7,8,0) 22%,rgba(7,7,8,0) 70%,rgba(7,7,8,.7))}
#rx-cam canvas{position:absolute;inset:0;width:100%;height:100%}
#rx-cam .consigne{position:absolute;left:50%;top:calc(var(--rx-st) + 78px);transform:translateX(-50%);padding:11px 18px 12px;border-radius:999px;white-space:nowrap;font:400 14px/1 var(--rx-sans);max-width:calc(100vw - 32px);overflow:hidden;text-overflow:ellipsis}
#rx-cam .consigne span{display:inline-block;transition:opacity .35s,transform .45s var(--rx-ease)}
#rx-cam .consigne span.sort{opacity:0;transform:translateY(5px)}
#rx-cam .temoins{position:absolute;left:12px;right:12px;bottom:calc(var(--rx-sb) + 168px);display:flex;justify-content:center;gap:8px;transition:opacity .5s}
#rx-cam .temoin{display:flex;align-items:center;gap:8px;padding:9px 12px 10px;border-radius:13px}
#rx-cam .temoin i{position:relative;width:14px;height:14px;border-radius:50%;border:1px solid rgba(255,255,255,.35);transition:background .4s,border-color .4s}
#rx-cam .temoin i svg{position:absolute;inset:2px;width:8px;height:8px;stroke:#141210;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .3s}
#rx-cam .temoin.ok i{background:var(--rx-champ);border-color:var(--rx-champ)}
#rx-cam .temoin.ok i svg{opacity:1}
#rx-cam .temoin span{font:500 9.5px/1 var(--rx-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--rx-mute)}
#rx-cam .temoin.ok span{color:var(--rx-ink)}
#rx-cam .compte{position:absolute;left:50%;transform:translateX(-50%);text-align:center;transition:opacity .5s;opacity:0}
#rx-cam .compte b{display:block;font:400 30px/1 var(--rx-serif);font-variant-numeric:lining-nums tabular-nums;color:#fff}
#rx-cam .compte span{display:block;margin-top:7px;font:500 8.5px/1 var(--rx-mono);letter-spacing:.3em;text-transform:uppercase;color:rgba(246,241,234,.7)}
#rx-cam svg.guide{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
#rx-cam svg.guide .pts{fill:none;stroke-linecap:round;stroke:rgba(255,255,255,.55);stroke-width:1.6;stroke-dasharray:0 7;transition:stroke .5s}
#rx-cam svg.guide .pts.ok{stroke:rgba(234,220,194,.9)}
#rx-cam svg.guide .arc{fill:none;stroke-linecap:round;stroke:var(--rx-champ);stroke-width:1.8}
html.rx #view-scanner .vy-visage-zone{position:fixed!important;left:12px!important;right:12px!important;bottom:calc(var(--rx-sb) + 80px)!important;top:auto!important;width:auto!important;max-width:460px;margin:0 auto!important;z-index:14!important;
  border-radius:18px!important;border:1px solid rgba(255,255,255,.16)!important;background:rgba(17,15,13,.45)!important;-webkit-backdrop-filter:blur(20px) saturate(1.5);backdrop-filter:blur(20px) saturate(1.5)}
html.rx-p-calcul #view-scanner .vy-visage-zone{opacity:0!important;pointer-events:none!important}
html.rx #no-face-banner{top:calc(var(--rx-st) + 130px)!important;min-width:0!important;width:min(88vw,420px);padding:16px 20px 14px!important;border-radius:20px!important;
  background:linear-gradient(150deg,rgba(255,255,255,.12),rgba(255,255,255,.03)),rgba(17,15,13,.62)!important;border:1px solid rgba(255,255,255,.2)!important;z-index:40!important}
html.rx #no-face-banner .banner-main{font-family:var(--rx-serif)!important;font-style:normal!important;font-size:20px!important}
html.rx #vy-cam-ko{background:rgba(7,7,8,.82)!important}
html.rx #vy-cam-ko h3{font-family:var(--rx-serif)!important;font-weight:400!important}

/* ---------- résultats ---------- */
html.rx #view-results .vyvre-v6{display:none!important}
html.rx #view-results{display:block!important;padding:0!important;max-width:none!important;width:100%!important}
html.rx #view-results:not(.active){display:none!important}
#rx-res{position:relative;z-index:5;width:100%;padding:0 18px;color:var(--rx-ink)}
.rx-r-tete{padding-top:calc(var(--rx-st) + 33vh)}
.rx-lecture{font:400 23px/1.3 var(--rx-serif);color:var(--rx-ink);margin:16px 0 0;letter-spacing:-.005em;max-width:620px}
.rx-grille{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:22px}
.rx-panel{position:relative;padding:12px 12px 13px;border-radius:15px}
.rx-panel .k{font:500 8.5px/1.3 var(--rx-sans);letter-spacing:.11em;text-transform:uppercase;color:var(--rx-mute);min-height:2.6em}
.rx-panel .v{display:flex;align-items:baseline;gap:7px;margin-top:5px}
.rx-panel .v b{font:400 34px/1 var(--rx-serif);font-variant-numeric:lining-nums tabular-nums;color:#fff;letter-spacing:-.01em}
.rx-panel .v i{font:400 8.5px/1 var(--rx-mono);font-style:normal;letter-spacing:.1em;color:var(--rx-mute)}
.rx-panel .bar{position:relative;height:1px;margin-top:10px;background:rgba(255,255,255,.16)}
.rx-panel .bar s{position:absolute;inset-inline-start:0;top:-.5px;width:100%;height:2px;border-radius:2px;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,rgba(234,220,194,.5),#F6EEDF);transition:transform 1.2s var(--rx-ease)}
[dir=rtl] .rx-panel .bar s{transform-origin:100% 50%}
.rx-panel .ita{position:relative;height:4px;margin-top:9px;border-radius:4px;background:linear-gradient(90deg,#F5E2CF,#E9C6A6,#D3A37E,#AE7A55,#7F5238,#4B2F20)}
.rx-panel .ita s{position:absolute;top:50%;left:0;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;border:1.5px solid #fff;background:rgba(255,255,255,.25);transition:left 1.2s var(--rx-ease)}
.rx-panel p{display:none;font:300 11.5px/1.38 var(--rx-sans);color:var(--rx-mute);margin:9px 0 0}
.rx-panel.pr p,.rx-panel.ag p{display:block;color:rgba(246,241,234,.8)}
.rx-panel .prio{margin-inline-start:auto;align-self:center;font:500 7.5px/1 var(--rx-mono);letter-spacing:.14em;text-transform:uppercase;color:#141210;background:var(--rx-champ);padding:4px 6px;border-radius:99px}
.rx-panel.ag{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:16px}
.rx-panel.ag .v{margin:0}
.rx-panel.ag .v b{font-size:42px}
.rx-panel.ag .k{min-height:0}
.rx-note{margin-top:14px;font:400 9px/1.6 var(--rx-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--rx-mute2)}
.rx-sec{margin-top:64px}
.rx-choix{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px;align-items:center}
.rx-choix span{font:400 9px/1.2 var(--rx-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--rx-mute);padding:7px 10px;border-radius:99px;border:1px solid var(--rx-ligne)}
.rx-choix em{font:italic 400 12.5px/1.3 var(--rx-serif);color:var(--rx-champ);width:100%}
.rx-choix button{font:500 9px/1 var(--rx-mono)!important;letter-spacing:.12em;text-transform:uppercase;color:var(--rx-ink);padding:8px 11px;border-radius:99px;border:1px solid rgba(234,220,194,.5)!important;background:rgba(234,220,194,.08)!important}
.rx-seg{display:inline-grid;grid-template-columns:1fr 1fr;margin-top:20px;padding:4px;border-radius:999px;position:relative}
.rx-seg button{position:relative;z-index:1;height:38px;padding:0 24px;border-radius:999px;cursor:pointer;font:500 13px/1 var(--rx-sans)!important;color:var(--rx-mute)!important;transition:color .4s}
.rx-seg button.on{color:#141210!important}
.rx-seg i{position:absolute;top:4px;bottom:4px;inset-inline-start:4px;width:calc(50% - 4px);border-radius:999px;background:linear-gradient(180deg,#F7F0E2,#E2D0AF);transition:transform .55s var(--rx-ease)}
.rx-seg.soir i{transform:translateX(100%)}
[dir=rtl] .rx-seg.soir i{transform:translateX(-100%)}
.rx-rituel{position:relative;margin-top:18px;display:grid;gap:10px}
.rx-soin{position:relative;display:grid;grid-template-columns:96px 1fr 18px;align-items:center;gap:14px;padding:12px 14px 12px 10px;border-radius:18px;text-align:start;cursor:pointer;color:var(--rx-ink);width:100%}
.rx-soin.cache{display:none}
.rx-soin .im{position:relative;height:104px;display:grid;place-items:center}
.rx-soin .im::before{content:"";position:absolute;left:8%;right:8%;bottom:6px;height:26px;border-radius:50%;background:radial-gradient(closest-side,rgba(246,238,223,.3),rgba(246,238,223,0))}
.rx-soin .im img{position:relative;max-height:96px;max-width:88px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 12px 12px rgba(0,0,0,.5))}
.rx-soin .im img.plaque,.rx-autre .im img.plaque,.rx-fiche .f-im img.plaque{background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.95),rgba(236,238,240,.86) 72%);border-radius:12px;padding:6px}
.rx-soin .et{font:500 8.5px/1 var(--rx-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--rx-champ)}
.rx-soin .ma{display:block;font:500 9.5px/1.2 var(--rx-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--rx-mute);margin-top:9px}
.rx-soin .no{display:block;font:400 17px/1.15 var(--rx-serif);margin-top:5px;letter-spacing:-.005em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rx-soin .po{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}
.rx-soin .po span{font:400 8.5px/1 var(--rx-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--rx-mute);padding:5px 7px;border-radius:99px;border:1px solid var(--rx-ligne)}
.rx-soin>svg{width:16px;height:16px;stroke:var(--rx-mute);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.rx-med{margin-top:14px;font:300 12.5px/1.5 var(--rx-sans);color:var(--rx-mute)}
.rx-liens{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.rx-autres{display:grid;grid-auto-flow:column;grid-auto-columns:150px;gap:9px;margin:18px -18px 0;padding:0 18px 6px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.rx-autres::-webkit-scrollbar{display:none}
.rx-autre{scroll-snap-align:start;padding:12px 12px 14px;border-radius:18px;text-align:start;cursor:pointer;color:var(--rx-ink)}
.rx-autre .im{height:112px;display:grid;place-items:center}
.rx-autre .im img{max-height:104px;max-width:110px;object-fit:contain;filter:drop-shadow(0 10px 10px rgba(0,0,0,.5))}
.rx-autre .ma{display:block;font:500 9px/1.2 var(--rx-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--rx-mute);margin-top:10px}
.rx-autre .no{display:block;font:400 14.5px/1.2 var(--rx-serif);margin-top:5px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rx-fin6{margin-top:44px;display:flex;flex-wrap:wrap;gap:10px}
.rx-attente{margin-top:18px;font:300 14px/1.5 var(--rx-sans);color:var(--rx-mute)}

/* ---------- fiche produit ---------- */
#rx-fiche{position:fixed;inset:0;z-index:90;visibility:hidden;pointer-events:none}
#rx-fiche.on{visibility:visible;pointer-events:auto}
#rx-fiche .fond{position:absolute;inset:0;background:rgba(7,7,8,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .5s var(--rx-ease)}
#rx-fiche.on .fond{opacity:1}
#rx-fiche .feuille{--vb:rgba(13,12,11,.82);--vf:rgba(255,255,255,.08);position:absolute;left:0;right:0;bottom:0;max-height:92%;overflow-y:auto;scrollbar-width:none;border-radius:28px 28px 0 0;padding:14px 22px calc(28px + var(--rx-sb));
  transform:translate3d(0,104%,0);transition:transform .7s var(--rx-ease)}
#rx-fiche .feuille::-webkit-scrollbar{display:none}
#rx-fiche.on .feuille{transform:none}
#rx-fiche .poig{width:38px;height:4px;border-radius:4px;background:rgba(255,255,255,.28);margin:0 auto 6px}
#rx-fiche .fermer{position:absolute;inset-inline-end:16px;top:14px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;cursor:pointer;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.14)!important;z-index:2}
#rx-fiche .fermer svg{width:14px;height:14px;stroke:#fff;fill:none;stroke-width:1.4;stroke-linecap:round}
.rx-fiche .f-im{position:relative;height:250px;display:grid;place-items:center;margin-top:4px}
.rx-fiche .f-im::before{content:"";position:absolute;left:20%;right:20%;bottom:14px;height:40px;border-radius:50%;background:radial-gradient(closest-side,rgba(246,238,223,.32),rgba(246,238,223,0))}
.rx-fiche .f-im .pr{position:relative;height:220px;width:220px;animation:rxFlotte 6s ease-in-out infinite alternate}
.rx-fiche .f-im img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 22px 20px rgba(0,0,0,.55))}
.rx-fiche .f-im .lame{position:absolute;inset:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;
  background:linear-gradient(170deg,rgba(255,255,255,0) 40%,rgba(255,250,240,.55) 49%,rgba(255,255,255,.9) 50%,rgba(255,250,240,.55) 51%,rgba(255,255,255,0) 60%);background-size:100% 300%;
  mix-blend-mode:screen;animation:rxLame 3.6s var(--rx-eio) .5s infinite}
@keyframes rxLame{0%{background-position:0 100%}55%,100%{background-position:0 0}}
@keyframes rxFlotte{to{transform:translateY(-7px) rotate(.8deg)}}
.rx-fiche .f-ma{font:500 10px/1.2 var(--rx-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--rx-mute);margin-top:8px}
.rx-fiche .f-no{font:400 28px/1.08 var(--rx-serif)!important;letter-spacing:-.012em;margin-top:8px!important}
.rx-fiche .f-et{margin-top:14px}
.rx-fiche .f-bloc{margin-top:20px;padding-top:16px;border-top:1px solid var(--rx-ligne)}
.rx-fiche .f-bloc h4{font:500 9px/1 var(--rx-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--rx-champ);opacity:.9;margin:0}
.rx-fiche .f-bloc p{font:300 14.5px/1.5 var(--rx-sans);color:rgba(246,241,234,.86);margin:9px 0 0}
.rx-fiche .f-lig{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}
.rx-fiche .f-lig div{padding:12px 13px;border-radius:14px}
.rx-fiche .f-lig b{display:block;font:400 16px/1.15 var(--rx-serif);margin-top:6px}
.rx-fiche .f-act{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}

/* ---------- fin : la carte de lecture ---------- */
.rx-fin{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(var(--rx-st) + 86px) 0 calc(var(--rx-sb) + 90px);margin-top:40px}
.rx-story-cadre{perspective:900px}
.rx-story{position:relative;width:206px;aspect-ratio:9/16;border-radius:20px;overflow:hidden;transform-style:preserve-3d;animation:rxCarte 9s ease-in-out infinite alternate;
  box-shadow:0 30px 60px -20px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.14),0 0 80px -20px rgba(234,220,194,.25)}
@keyframes rxCarte{0%{transform:rotateY(-7deg) rotateX(2deg)}100%{transform:rotateY(7deg) rotateX(-1deg)}}
.rx-story .ph{position:absolute;inset:0;background:#0b0a09 center/cover no-repeat}
.rx-story .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(7,7,8,.5),rgba(7,7,8,0) 22%,rgba(7,7,8,0) 46%,rgba(7,7,8,.78) 72%,rgba(7,7,8,.95))}
.rx-story .lm{position:absolute;left:0;right:0;top:38%;height:1px;background:linear-gradient(90deg,transparent,#fff 30%,#fff 70%,transparent);box-shadow:0 0 10px 2px rgba(234,220,194,.55)}
.rx-story .hd{position:absolute;left:14px;right:14px;top:14px;display:flex;justify-content:space-between;align-items:center}
.rx-story .hd b{font:500 15px/1 Inter,sans-serif;letter-spacing:-.065em;color:#fff}
.rx-story .hd span{font:400 7px/1 var(--rx-mono);letter-spacing:.16em;text-transform:uppercase;color:rgba(246,241,234,.72)}
.rx-story .bs{position:absolute;left:14px;right:14px;bottom:13px}
.rx-story .bs .ov{font:500 6.5px/1 var(--rx-sans);letter-spacing:.32em;text-transform:uppercase;color:var(--rx-champ)}
.rx-story .bs h3{font:400 25px/1.02 var(--rx-serif)!important;letter-spacing:-.012em;margin-top:7px!important}
.rx-story .bs h3 em{font-style:italic;color:var(--rx-champ)}
.rx-story .mini{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:10px}
.rx-story .mini div{padding:6px 6px 7px;border-radius:9px}
.rx-story .mini span{display:block;font:500 5.5px/1.2 var(--rx-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--rx-mute);min-height:2.4em}
.rx-story .mini b{display:block;font:400 15px/1 var(--rx-serif);margin-top:4px;color:#fff}
.rx-story .pri{margin:8px 0 0;font:300 8px/1.35 var(--rx-sans);color:rgba(246,241,234,.82)}
.rx-story .gl{position:absolute;top:-20%;bottom:-20%;left:0;width:60%;background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.16) 50%,rgba(255,255,255,0));animation:rxGlis 6s ease-in-out 1.2s infinite;transform:translateX(-160%)}
@keyframes rxGlis{0%{transform:translateX(-160%)}30%,100%{transform:translateX(260%)}}
.rx-e7col{text-align:center;width:100%}
.rx-e7txt{margin-top:20px}
.rx-e7txt .rx-h2{font-size:27px!important}
.rx-e7act{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:16px}
.rx-e7act .rx-cta,.rx-e7act .rx-fantome{height:46px;padding:0 18px;font-size:14px!important}
.rx-suite{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;max-width:520px;margin:22px auto 0}
.rx-suite a,.rx-suite button{text-align:start;display:flex;flex-direction:column;gap:6px;padding:13px 14px;border-radius:18px;color:var(--rx-ink)}
.rx-suite .k{display:flex;align-items:center;gap:7px;font:500 9px/1 var(--rx-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--rx-mute)}
.rx-suite .k i{width:6px;height:6px;border-radius:50%;background:var(--c)}
.rx-suite b{font:italic 400 19px/1.05 var(--rx-serif)}
.rx-suite small{font:300 11.5px/1.35 var(--rx-sans);color:var(--rx-mute)}
.rx-suite>*:only-child{grid-column:1/-1}
.rx-retour{display:inline-flex;gap:18px;flex-wrap:wrap;justify-content:center;margin-top:18px}
.rx-retour a,.rx-retour button{font:400 9.5px/1 var(--rx-mono)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--rx-mute2)!important;padding:8px 0}
.rx-retour a:hover,.rx-retour button:hover{color:var(--rx-ink)!important}
html.rx #vy-retour{background:rgba(17,15,13,.5)!important;border:1px solid rgba(255,255,255,.18)!important;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--rx-ink)!important;font-family:var(--rx-sans)!important}

/* ---------- ordinateur ---------- */
@media (min-width:900px) and (min-aspect-ratio:1/1){
  #rx-barre{padding:26px 40px 0}
  .rx-marque{font-size:25px}
  .rx-scans{display:flex}
  .rx-bloc{left:7vw;right:auto;width:min(500px,36vw);bottom:auto;top:50%;transform:translateY(-46%)}
  [dir=rtl] .rx-bloc{left:auto;right:7vw}
  .rx-titre{font-size:clamp(46px,4.2vw,64px)!important}
  .rx-h2{font-size:clamp(36px,3vw,46px)!important}
  .rx-lede{font-size:16.5px}
  #rx-cam .temoins{bottom:calc(var(--rx-sb) + 170px)}
  #rx-res{padding:0 6vw 0 44vw}
  [dir=rtl] #rx-res{padding:0 44vw 0 6vw}
  .rx-r-tete{padding-top:130px}
  .rx-lecture{font-size:24px}
  .rx-grille{grid-template-columns:repeat(4,1fr);gap:10px}
  .rx-panel{padding:14px 14px 15px;border-radius:17px}
  .rx-panel .v b{font-size:32px}
  .rx-panel.ag{grid-column:span 2}
  .rx-rituel{grid-template-columns:1fr 1fr}
  .rx-autres{margin:18px 0 0;padding:0 0 6px;grid-auto-columns:170px}
  #rx-fiche .feuille{left:auto;right:24px;top:24px;bottom:24px;width:440px;max-height:none;border-radius:28px;transform:translate3d(110%,0,0)}
  [dir=rtl] #rx-fiche .feuille{right:auto;left:24px;transform:translate3d(-110%,0,0)}
  #rx-fiche.on .feuille{transform:none}
  .rx-fin{flex-direction:row;justify-content:flex-start;gap:5vw;align-items:center;margin-left:-6vw;padding-left:0}
  .rx-story{width:270px}
  .rx-story .bs h3{font-size:32px!important}.rx-story .mini b{font-size:19px}.rx-story .mini span{font-size:6.5px}.rx-story .pri{font-size:10px}.rx-story .bs .ov{font-size:7.5px}
  .rx-story .hd b{font-size:19px}.rx-story .hd span{font-size:8.5px}
  .rx-e7col{max-width:440px;text-align:start;width:auto}
  .rx-e7txt{margin-top:0}
  .rx-e7txt .rx-h2{font-size:40px!important}
  .rx-e7act{justify-content:flex-start}
  .rx-suite{margin:30px 0 0}
  .rx-retour{justify-content:flex-start}
}
@media (max-height:700px) and (max-width:899px){
  .rx-titre{font-size:34px!important}.rx-h2{font-size:28px!important}
  .rx-conseils li{padding:9px 12px}
}
@media (prefers-reduced-motion:reduce){
  .rx-ui *,.rx-ui *::before,.rx-ui *::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
}
/* la caméra ne flotte pas pendant les 1,8 s de transition des anciens écrans (un transform en cours enfermerait la vidéo plein cadre) */
html.rx #view-scanner{transition:opacity .6s var(--rx-ease)!important}
/* résultats : la fenêtre défile (sur ordinateur, l'ancienne page faisait défiler le corps de page) */
html.rx.rx-p-resultats{height:auto!important;overflow-y:auto!important;overflow-x:hidden!important}
html.rx.rx-p-resultats body{height:auto!important;min-height:100%;overflow:visible!important}
