/* ===== Micro-interactions : navbar, boutons, icônes, footer, boutons flottants mobile ===== */
header .wrap{transition:height .4s var(--ease)}header img{transition:height .4s var(--ease),transform .4s var(--ease)}
header.sc .wrap{height:58px}header.sc img{height:38px}
header.sc{background:rgba(255,255,255,.82);backdrop-filter:blur(20px) saturate(1.5);box-shadow:0 14px 36px -20px rgba(180,29,89,.4)}
nav a.on{color:var(--rose)}nav a.on:after{width:100%}
#prog{width:100%!important;height:2px;opacity:.85;transform:scaleX(0);transform-origin:0 50%;will-change:transform}
/* boutons */
.btn{transition:transform .35s var(--ease),box-shadow .35s,background .3s,color .3s}
.btn:hover{transform:translateY(-2px) scale(1.03)}
.btn:active,.chip:active,.sv:active,.row:active{transform:scale(.96)}
.chip,.sv{position:relative;overflow:hidden}
.rp{position:absolute;border-radius:50%;background:rgba(255,255,255,.5);pointer-events:none;transform:scale(0);animation:rip .65s ease-out forwards}
.chip .rp,.sv .rp{background:rgba(214,42,115,.18)}
@keyframes rip{to{transform:scale(1);opacity:0}}
/* icônes vivantes (sans excès) */
.ic-wiggle{animation:wig 5s ease-in-out infinite}@keyframes wig{0%,86%,100%{rotate:0deg}90%{rotate:-12deg}95%{rotate:10deg}}
.ic-float{animation:icf 5s ease-in-out infinite}@keyframes icf{50%{translate:0 -3px}}
.ic-pulse{animation:icp 3.2s ease-in-out infinite}@keyframes icp{50%{scale:1.12}}
.ic-glow{animation:icg 3.4s ease-in-out infinite}@keyframes icg{50%{filter:drop-shadow(0 0 5px currentColor)}}
.ic-rot{animation:rot 24s linear infinite}@keyframes rot{to{rotate:360deg}}
/* footer */
footer a{position:relative}
footer .wrap>div:nth-child(2) a:after{content:'';position:absolute;left:27px;bottom:2px;height:1px;width:0;background:var(--gold);transition:width .4s var(--ease)}
footer .wrap>div:nth-child(2) a:hover:after{width:calc(100% - 27px)}
footer a:hover .ic{animation:wig .8s}
#wa2 .ic{color:#25D366}#wa2:hover{color:#25D366;text-shadow:0 0 18px rgba(37,211,102,.55)}
#wa2:hover .ic{filter:drop-shadow(0 0 8px rgba(37,211,102,.8))}
/* ===== Boutons flottants MOBILE (fixed) ===== */
.bar{display:none!important}
body{padding-bottom:0}footer{padding-bottom:150px}
.fab-rdv{position:fixed;right:16px;bottom:calc(16px + 56px + 12px + env(safe-area-inset-bottom));z-index:45;display:inline-flex;align-items:center;gap:9px;height:52px;padding:0 22px 0 18px;border:0;border-radius:999px;overflow:hidden;
background:linear-gradient(135deg,var(--rose),#d62a73);color:#fff;font:700 12.5px Manrope;letter-spacing:.08em;cursor:pointer;-webkit-tap-highlight-color:transparent;
box-shadow:0 18px 36px -12px rgba(180,29,89,.65);transition:transform .3s var(--ease);animation:fabf 4.5s ease-in-out infinite,fabr 3s infinite}
.fab-rdv:before{content:'';position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);animation:fabs 4s ease-in-out infinite}
.fab-rdv .ic{font-size:18px}.fab-rdv:active{transform:scale(.95)}
.fab{right:16px!important;bottom:calc(16px + env(safe-area-inset-bottom))!important;animation:fabp 2.8s infinite,fabf 5s ease-in-out infinite}
@keyframes fabf{50%{translate:0 -4px}}
@keyframes fabr{0%{box-shadow:0 0 0 0 rgba(214,42,115,.45),0 18px 36px -12px rgba(180,29,89,.65)}70%,100%{box-shadow:0 0 0 14px rgba(214,42,115,0),0 18px 36px -12px rgba(180,29,89,.65)}}
@keyframes fabs{0%,60%{left:-70%}100%{left:130%}}
@media(min-width:900px){.fab-rdv{display:none}footer{padding-bottom:30px}.fab{right:25px!important;bottom:25px!important;animation:fabp 2.8s infinite}}
