@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes float{0%,to{transform:translateY(0)rotate(0)}33%{transform:translateY(-12px)rotate(2deg)}66%{transform:translateY(6px)rotate(-1deg)}}@keyframes float-delayed{0%,to{transform:translateY(0)rotate(0)}33%{transform:translateY(8px)rotate(-2deg)}66%{transform:translateY(-15px)rotate(1deg)}}@keyframes float-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #3b86c64d}50%{box-shadow:0 0 40px #3b86c699,0 0 80px #3b86c633}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes bounce-in{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slide-up{0%{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-60px)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:translate(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-100vh)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}@keyframes wiggle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.hero-gradient{background:linear-gradient(-45deg,#1a5fa8,#3b86c6,#5ba3d9,#ebcc7c,#d98481) 0 0/400% 400%;animation:15s infinite gradient-shift}.float-animation{animation:6s ease-in-out infinite float}.float-animation-delayed{animation:7s ease-in-out infinite float-delayed}.float-animation-slow{animation:8s ease-in-out infinite float-slow}.card-3d{perspective:1000px;transform-style:preserve-3d}.card-3d-inner{transform-style:preserve-3d;transition:transform .4s,box-shadow .4s}.card-3d:hover .card-3d-inner{transform:rotateY(5deg)rotateX(5deg)translateZ(20px);box-shadow:0 20px 60px #00000026,0 8px 25px #3b86c633}.btn-glow{transition:all .3s;animation:3s ease-in-out infinite pulse-glow;position:relative;overflow:hidden}.btn-glow:before{content:"";z-index:-1;border-radius:inherit;filter:blur(8px);opacity:.7;background:linear-gradient(45deg,#3b86c6,#ebcc7c,#d98481,#3b86c6) 0 0/400%;animation:4s infinite gradient-shift;position:absolute;inset:-2px}.btn-glow:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 10px 40px #3b86c666}.text-shimmer{background:linear-gradient(90deg,#fff 0%,#ebcc7c 25%,#fff 50%,#ebcc7c 75%,#fff 100%) 0 0/200%;color:#0000;-webkit-background-clip:text;background-clip:text;animation:4s linear infinite shimmer}.reveal{opacity:0;transition:all .8s cubic-bezier(.16,1,.3,1);transform:translateY(40px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transition:all .8s cubic-bezier(.16,1,.3,1);transform:translate(-40px)}.reveal-left.visible{opacity:1;transform:translate(0)}.reveal-right{opacity:0;transition:all .8s cubic-bezier(.16,1,.3,1);transform:translate(40px)}.reveal-right.visible{opacity:1;transform:translate(0)}.confetti{opacity:.8;pointer-events:none;border-radius:2px;width:10px;height:10px;animation:linear infinite confetti-fall;position:absolute}.parallax-container{position:relative;overflow:hidden}.parallax-layer{will-change:transform;position:absolute;inset:0}.glass{-webkit-backdrop-filter:blur(16px);background:#ffffff1a;border:1px solid #fff3}.glass-dark{-webkit-backdrop-filter:blur(16px);background:#0003;border:1px solid #ffffff1a}.step-line{position:relative}.step-line:after{content:"";background:linear-gradient(90deg,#3b86c6,#ebcc7c);border-radius:2px;width:calc(100% - 16px);height:3px;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%)}.wiggle{animation:2s ease-in-out infinite wiggle}html{scroll-behavior:smooth}.img-zoom{border-radius:inherit;overflow:hidden}.img-zoom img{transition:transform .5s cubic-bezier(.16,1,.3,1)}.img-zoom:hover img{transform:scale(1.08)}.wizard-step{transition:all .4s}.wizard-step.active{transform:scale(1.1)}.wizard-step.completed{background:linear-gradient(135deg,#22c55e,#16a34a)}.booking-card{border:2px solid #0000;transition:all .3s}.booking-card:hover{border-color:#3b86c6;transform:translateY(-4px);box-shadow:0 12px 40px #3b86c626}.booking-card.selected{background:linear-gradient(135deg,#3b86c60d,#ebcc7c0d);border-color:#3b86c6;box-shadow:0 8px 30px #3b86c633}.booking-card.unavailable{opacity:.5;filter:grayscale(.7);pointer-events:none}
