/* ===== Cartes premium : verre, bordure dégradée, éclat, halo souris, flottement ===== */
.fx{position:relative;transition:transform .5s var(--ease),box-shadow .5s,border-color .4s}
.tcard,.step,.rvc,#price-list>div,.faq details{background:rgba(255,255,255,.78);backdrop-filter:blur(10px) saturate(1.3);-webkit-backdrop-filter:blur(10px) saturate(1.3)}
.tcard,.step,.rvc{animation:cf 8s ease-in-out var(--fd,0s) infinite}
@keyframes cf{50%{translate:0 -5px}}
.fx:hover{box-shadow:0 30px 60px -28px rgba(180,29,89,.55)}
.fxg{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3;overflow:hidden;opacity:0;transition:opacity .45s;
background:radial-gradient(240px circle at var(--mx,50%) var(--my,30%),rgba(214,42,115,.11),rgba(201,163,90,.10) 45%,transparent 70%)}
.fxg:before{content:'';position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-18deg);transition:left .9s}
.fxg:after{content:'';position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:linear-gradient(135deg,#f7c7d3,#c9a35a,#b41d59,#f7c7d3);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.fx:hover>.fxg,.fx:focus-visible>.fxg{opacity:1}.fx:hover>.fxg:before{left:140%}
.glow{position:fixed;left:0;top:0;width:340px;height:340px;margin:-170px 0 0 -170px;border-radius:50%;background:radial-gradient(circle,rgba(214,42,115,.15),transparent 65%);pointer-events:none;z-index:2;transition:opacity .4s;will-change:transform}
/* prestations */
#price-list>div:hover{border-top-color:#d9a08e}
#price-list .eyebrow .ic{font-size:20px;color:var(--rose)}
#price-list>div:hover .eyebrow .ic{animation:spin 12s linear infinite}
#price-list .row b{display:inline-block;transform-origin:right center;transition:transform .35s var(--ease)}
#price-list .rowb:hover b{transform:scale(1.1)}
@keyframes spin{to{rotate:360deg}}
/* galerie + lightbox */
#gal button{animation-delay:calc(var(--i,0)*70ms)}
#gal button:hover{box-shadow:0 26px 50px -18px rgba(214,42,115,.55)}
#gal button:hover img{transform:scale(1.06)}
#lb{background:radial-gradient(circle at 50% 0,#2a1520,#111 70%)}
#lb::backdrop{background:rgba(23,23,23,.78);backdrop-filter:blur(8px)}
#lbi{box-shadow:0 30px 80px -20px rgba(214,42,115,.5)}
#lbi.sw{animation:lbsw .5s var(--ease)}
@keyframes lbsw{from{opacity:0;transform:scale(.96) translateX(14px)}}
/* avis */
.rvc{rotate:var(--rot,0deg)}
