/* HerRide shared premium interactions — Academy + Airport */
:root{--hr-pink:#e83f96;--hr-pink-dark:#b72870;--hr-glow:rgba(232,63,150,.32);--hr-shadow:0 14px 34px rgba(56,27,46,.14)}
button,.primary-btn,.secondary-btn,.vehicle-ask-btn,.choice-btn,.option-btn,.icon-btn,[role="button"]{position:relative;overflow:hidden;transform:translateZ(0);transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease,filter .22s ease,border-color .22s ease}
button:hover,.primary-btn:hover,.secondary-btn:hover,.vehicle-ask-btn:hover,.choice-btn:hover,.option-btn:hover,.icon-btn:hover,[role="button"]:hover{transform:translateY(-2px) scale(1.015);box-shadow:0 14px 30px var(--hr-glow);filter:saturate(1.06)}
button:active,.primary-btn:active,.secondary-btn:active,.vehicle-ask-btn:active,.choice-btn:active,.option-btn:active,.icon-btn:active,[role="button"]:active{transform:translateY(1px) scale(.985)}
.hr-ripple{position:absolute;border-radius:999px;pointer-events:none;background:rgba(255,255,255,.55);transform:translate(-50%,-50%) scale(0);animation:hrRipple .55s ease-out forwards}
@keyframes hrRipple{to{transform:translate(-50%,-50%) scale(7);opacity:0}}
.chat-bubble,.message,.bubble{animation:hrMessageIn .34s cubic-bezier(.2,.8,.2,1) both}
@keyframes hrMessageIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
.vehicle-showcase-card,.program-card,.service-card,.info-card{transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,border-color .28s ease}
.vehicle-showcase-card:hover,.program-card:hover,.service-card:hover,.info-card:hover{transform:translateY(-8px);box-shadow:0 25px 58px rgba(190,43,117,.18);border-color:rgba(232,63,150,.36)}
.vehicle-photo img,.program-card img,.service-card img{transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .35s ease}
.vehicle-showcase-card:hover .vehicle-photo img,.program-card:hover img,.service-card:hover img{transform:scale(1.035);filter:drop-shadow(0 18px 26px rgba(61,25,46,.2))}
.vehicle-label{width:max-content!important;max-width:max-content!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:6px 13px!important;line-height:1!important;border-radius:999px!important;background:linear-gradient(135deg,var(--hr-pink),var(--hr-pink-dark))!important;color:#fff!important;box-shadow:0 7px 18px var(--hr-glow)!important;letter-spacing:.02em}
#musicBtn.on,#musicBtn.playing,.music-on #musicBtn{animation:hrMusicPulse 1.8s ease-in-out infinite;box-shadow:0 0 0 5px rgba(232,63,150,.12),0 8px 22px var(--hr-glow)}
@keyframes hrMusicPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
.hr-processing{animation:hrSoftPulse 1.25s ease-in-out infinite}
@keyframes hrSoftPulse{0%,100%{opacity:.72;transform:scale(.985)}50%{opacity:1;transform:scale(1.015)}}
.hr-success{animation:hrSuccess .58s cubic-bezier(.2,1.5,.4,1) both}
@keyframes hrSuccess{0%{opacity:0;transform:scale(.75)}65%{opacity:1;transform:scale(1.08)}100%{transform:scale(1)}}
.reem-stage img,.hero-reem img,#nourAvatar,#reemAvatar{animation:hrIdle 5.5s ease-in-out infinite;transform-origin:center bottom}
@keyframes hrIdle{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}

/* FINAL shared refinements */
.back-step-btn{margin-inline-end:auto!important;border:1px solid rgba(255,55,170,.45)!important;background:rgba(255,255,255,.92)!important;color:#9b1768!important;font-weight:800!important}
.back-step-btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(255,47,166,.2)}
.vehicle-pill{display:inline-flex!important;width:max-content!important;min-width:0!important;padding:6px 13px!important;border-radius:999px!important;background:linear-gradient(135deg,#ff2aa6,#ff63c4)!important;color:#fff!important;box-shadow:0 6px 18px rgba(255,42,166,.35)!important;font-size:.83rem!important;line-height:1!important}
.vehicle-card img{width:100%!important;aspect-ratio:16/9!important;object-fit:cover!important;object-position:center!important;border-radius:20px!important}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
