/* ═══════════ COUCHE fx5 — sessions V21b/V21c (cahier §6) — couche additive, ?fx5=0 la désactive ═══════════ */
/* — P0-3 Curseur propriétaire : point + anneau amorti + halo or + aimantation — */
.fx5-cursor-dot,.fx5-cursor-ring,.fx5-cursor-halo{position:fixed;top:0;left:0;pointer-events:none;z-index:10001;will-change:transform}
.fx5-cursor-dot{width:7px;height:7px;border-radius:50%;background:var(--ivory);mix-blend-mode:difference;translate:-50% -50%}
.fx5-cursor-ring{width:38px;height:38px;border:1px solid var(--gold-soft);border-radius:50%;translate:-50% -50%;display:grid;place-items:center;transition:width .35s var(--ease),height .35s var(--ease),border-color .35s,background .35s}
.fx5-cursor-ring .fx5-cursor-label{font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--ivory);opacity:0;transition:opacity .25s;transform:translateX(.15em)}
.fx5-cursor-halo{width:420px;height:420px;border-radius:50%;translate:-50% -50%;background:radial-gradient(circle,color-mix(in oklch,var(--gold) 10%,transparent),transparent 62%);z-index:10000}
body.fx5-cursor-on[data-cursor="link"] .fx5-cursor-ring{width:56px;height:56px;border-color:var(--gold)}
body.fx5-cursor-on[data-cursor="view"] .fx5-cursor-ring{width:86px;height:86px;background:color-mix(in oklch,var(--oxblood) 72%,transparent);border-color:var(--gold-soft)}
body.fx5-cursor-on[data-cursor="view"] .fx5-cursor-label,body.fx5-cursor-on[data-cursor="drag"] .fx5-cursor-label{opacity:.95}
body.fx5-cursor-on[data-cursor="view"] .fx5-cursor-dot,body.fx5-cursor-on[data-cursor="drag"] .fx5-cursor-dot{opacity:0}
body.fx5-cursor-on[data-cursor="drag"] .fx5-cursor-ring{width:64px;height:64px;border-style:dashed;border-color:var(--gold)}
body.fx5-cursor-on,body.fx5-cursor-on a,body.fx5-cursor-on button,body.fx5-cursor-on select,body.fx5-cursor-on .property-card,body.fx5-cursor-on label{cursor:none}
body.fx5-cursor-on input,body.fx5-cursor-on textarea,body.fx5-cursor-on select option{cursor:auto}
/* — P0-4 Split-text : mots masqués, remontée en cascade — */
.stw{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}
.stl{display:inline-block;transform:translateY(115%) rotate(2deg);transform-origin:0 100%;transition:transform .9s var(--ease)}
.st-in .stl{transform:translateY(0) rotate(0)}
/* — P0-5 Guilloché du préloader — */
.preloader-gui{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);opacity:.55;pointer-events:none}
.preloader-gui path{fill:none;stroke:var(--gold-soft);stroke-width:.7}
/* — P1-6 Voile de lecture du héros + parallaxe — */
#fx5-hero-dim{position:absolute;inset:0;z-index:2;background:oklch(.1325 calc(var(--ol-c-pat)*.075) var(--ol-h-pat));opacity:0;pointer-events:none}
.hero h1{transform-origin:50% 0;will-change:transform}
.hero h1.done{transition-property:opacity,filter}
.fx5-parallax .hero-video{transform:scale(1.12);will-change:transform;animation:none}
.fx5-parallax #gold-dust{will-change:transform}
/* — FX5-c Bascule de collection : voile de transition — */
#fx-collection-veil{position:fixed;inset:0;z-index:9996;background:linear-gradient(150deg,oklch(.1616 calc(var(--ol-c-sang)*.221) var(--ol-h-sang)),oklch(.2084 calc(var(--ol-c-sang)*.546) var(--ol-h-sang)) 60%,oklch(.1616 calc(var(--ol-c-sang)*.221) var(--ol-h-sang)));opacity:0;pointer-events:none;transition:opacity .3s var(--ease)}
/* — Presets de collection (identités FX5) — */
body[data-collection="alpes"]{--oxblood:oklch(0.25 0.035 255);--burgundy:oklch(0.33 0.06 255);--burgundy-2:oklch(0.37 0.055 262);--gold:oklch(0.8 0.045 235);--gold-soft:oklch(0.86 0.035 235);--bronze:oklch(0.6 0.04 250)}
body[data-collection="patrimoine"]{--gold:oklch(0.6 0.095 72);--gold-soft:oklch(0.72 0.085 74);--bronze:oklch(0.5 0.08 65);--burgundy:oklch(0.31 0.08 25);--burgundy-2:oklch(0.35 0.09 15)}
body[data-collection="alpes"] h1,body[data-collection="alpes"] h2,body[data-collection="alpes"] .partner-col h3{font-family:Marcellus,serif}
body[data-collection="patrimoine"] h1,body[data-collection="patrimoine"] h2,body[data-collection="patrimoine"] .partner-col h3{font-family:'Frank Ruhl Libre',serif}
body.fx5-frost #gold-dust{opacity:0 !important}
#fx5-frost{position:fixed;inset:0;z-index:97;pointer-events:none;mix-blend-mode:screen}
/* — P1-12 Bouton vue 360° — */
.orbit-btn{margin-left:14px}
.orbit-btn[aria-pressed="true"]{border-color:var(--gold-soft);color:oklch(.8868 calc(var(--ol-c-pat)*.658) calc(var(--ol-h-pat) + 6.4));background:oklch(.6789 calc(var(--ol-c-pat)*1.1) var(--ol-h-pat) / .08)}
/* — P1-10 Galerie de la fiche — */
.pd-media{touch-action:pan-y;user-select:none}
.pd-media img{grid-area:1/1;opacity:0;transition:opacity .5s var(--ease)}
.pd-media img.gal-on{opacity:1}
.pd-gal-count{position:absolute;bottom:10px;right:12px;z-index:3;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.3em;color:var(--ivory);background:oklch(.1544 calc(var(--ol-c-pat)*.082) var(--ol-h-pat) / .6);padding:5px 11px;border:1px solid oklch(.7581 calc(var(--ol-c-pat)*.907) var(--ol-h-pat) / .3);font-variant-numeric:tabular-nums}
.pd-gal-hint{position:absolute;bottom:10px;left:12px;z-index:3;font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:oklch(.9418 calc(var(--ol-c-pat)*.225) var(--ol-h-pat) / .65);opacity:0;transition:opacity .4s}
.pd-media:hover .pd-gal-hint{opacity:.9}
/* — P1-9 Dossier imprimable — */
#print-dossier{display:none}
@media print{
  body>*{display:none !important}
  body{background:#fff !important}
  #print-dossier{display:block !important;color:oklch(.2033 calc(var(--ol-c-pat)*.145) calc(var(--ol-h-pat) + -40.2));font-family:'Cormorant Garamond',serif;padding:40px 48px}
  #print-dossier .pdt-head{border-bottom:2px solid oklch(.6789 calc(var(--ol-c-pat)*1.1) var(--ol-h-pat));padding-bottom:14px;margin-bottom:22px}
  #print-dossier .pdt-mark{font-family:'Bodoni Moda',Didot,Georgia,serif;font-weight:500;letter-spacing:.22em;font-size:13px;color:oklch(.3719 calc(var(--ol-c-sang)*1.285) calc(var(--ol-h-sang) + -8.7))}
  #print-dossier .pdt-branch{display:block;margin-top:3px;font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;letter-spacing:.3em;font-size:8px;text-transform:uppercase;color:oklch(.4417 calc(var(--ol-c-body)*.342) var(--ol-h))}
  #print-dossier h1{font-family:Marcellus,serif;font-size:30px;font-weight:400;margin:8px 0 2px}
  #print-dossier .pdt-loc{font-size:15px;color:oklch(.4939 calc(var(--ol-c-pat)*.246) calc(var(--ol-h-pat) + -22.6))}
  #print-dossier .pdt-price{font-family:'IBM Plex Mono',monospace;font-size:15px;letter-spacing:.12em;color:oklch(.5373 calc(var(--ol-c-pat)*.969) calc(var(--ol-h-pat) + -12.9));margin-top:10px}
  #print-dossier .pdt-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}
  #print-dossier .pdt-grid img{width:100%;height:220px;object-fit:cover;filter:none !important}
  #print-dossier .pdt-specs{display:flex;gap:26px;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.1em;border-top:1px solid oklch(.8461 calc(var(--ol-c-pat)*.411) var(--ol-h-pat));border-bottom:1px solid oklch(.8461 calc(var(--ol-c-pat)*.411) var(--ol-h-pat));padding:10px 0;margin:16px 0}
  #print-dossier .pdt-desc{font-size:15px;line-height:1.65;max-width:62ch}
  #print-dossier .pdt-src{font-size:12px;color:oklch(.4939 calc(var(--ol-c-pat)*.246) calc(var(--ol-h-pat) + -22.6));margin-top:12px}
  #print-dossier .pdt-contact{margin-top:26px;border-top:2px solid oklch(.6789 calc(var(--ol-c-pat)*1.1) var(--ol-h-pat));padding-top:12px;font-size:13px;line-height:1.8}
  #print-dossier .pdt-sceau{display:block;width:78px;margin:30px auto 0;opacity:.92}
}
@media (prefers-reduced-motion: reduce){
  .stl{transform:none;transition:none}
  #fx-collection-veil{transition:none}
}
