@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 0 rgba(124,30,73,0)}50%{box-shadow:0 0 20px 5px rgba(124,30,73,.2)}}@keyframes input-glow{0%,to{box-shadow:0 6px 20px rgba(124,30,73,.15)}50%{box-shadow:0 8px 25px rgba(124,30,73,.25)}}.enhanced-input{transition:all .3s cubic-bezier(.25,.46,.45,.94);border:2px solid #e1e0de;background:white;position:relative;font-size:16px!important;border-radius:12px!important}.enhanced-input:hover{border-color:rgba(124,30,73,.4);background:linear-gradient(180deg,white,rgba(245,236,240,.3));transform:translateY(-1px);box-shadow:0 4px 12px rgba(124,30,73,.1)}.enhanced-input:focus{outline:none;border:2px solid #7c1e49;background:white;transform:scale(1.02);animation:input-glow 3s ease-in-out infinite;box-shadow:0 6px 20px rgba(124,30,73,.15)}.enhanced-input:focus::-moz-placeholder{color:rgba(124,30,73,.4);-moz-transition:all .3s ease;transition:all .3s ease}.enhanced-input:focus::placeholder{color:rgba(124,30,73,.4);transition:all .3s ease}.enhanced-select{transition:all .3s cubic-bezier(.25,.46,.45,.94);border:2px solid #e1e0de;background:white;cursor:pointer;font-size:16px!important;border-radius:12px!important}.enhanced-select:hover{border-color:rgba(124,30,73,.4);background:linear-gradient(180deg,white,rgba(245,236,240,.3));transform:translateY(-1px);box-shadow:0 4px 12px rgba(124,30,73,.1)}.enhanced-select:focus{outline:none;border:2px solid #7c1e49;background:white;transform:scale(1.02);box-shadow:0 6px 20px rgba(124,30,73,.15)}.progress-bar-container{position:relative;height:10px;background:linear-gradient(90deg,#F5ECF0,#E5D5DB);border-radius:10px;overflow:hidden;box-shadow:inset 0 2px 4px rgba(124,30,73,.1)}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#7C1E49,#A02B5A);border-radius:10px;transition:width .6s cubic-bezier(.16,1,.3,1);position:relative;box-shadow:0 2px 10px rgba(124,30,73,.3)}.progress-bar-fill:after{content:"";position:absolute;top:50%;right:0;transform:translateY(-50%);width:4px;height:80%;background:white;border-radius:2px;box-shadow:0 0 10px rgba(255,255,255,.8)}.counter-button{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s cubic-bezier(.25,.46,.45,.94);cursor:pointer;background:white;border:2px solid transparent;font-size:20px;font-weight:600;color:#5A5A5A}.counter-button:hover{background:linear-gradient(135deg,#F5ECF0,#E5D5DB);border-color:#7C1E49;color:#7C1E49;transform:scale(1.1);box-shadow:0 4px 15px rgba(124,30,73,.2)}.counter-button:active{transform:scale(.95);box-shadow:0 2px 8px rgba(124,30,73,.3)}.hover-expand{transition:all .2s ease-out}.hover-expand:hover{transform:scale(1.1);box-shadow:0 10px 30px rgba(124,30,73,.2)}.savings-card{background:linear-gradient(135deg,#F5ECF0,#E8F5E8);border:2px solid transparent;background-clip:padding-box;position:relative;overflow:hidden;transition:all .4s cubic-bezier(.25,.46,.45,.94)}.savings-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;margin:-2px;border-radius:inherit}.savings-badge,.savings-card:before{background:linear-gradient(135deg,#7C1E49,#4CAF50)}.savings-badge{color:white;padding:8px 16px;border-radius:20px;font-weight:600;font-size:14px;display:inline-block;box-shadow:0 4px 15px rgba(124,30,73,.3);animation:pulse-glow 2s ease-in-out infinite}.loading-spinner{width:40px;height:40px;border:4px solid #f5ecf0;border-top-color:#7c1e49;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.glass-morphism{background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px rgba(0,0,0,.1)}.button-primary{background:linear-gradient(135deg,#7C1E49,#A02B5A);transition:all .3s cubic-bezier(.25,.46,.45,.94)}.button-primary:hover{background:linear-gradient(135deg,#6B1A3F,#8F2449);transform:translateY(-2px);box-shadow:0 8px 25px rgba(124,30,73,.3)}.button-primary:active{transform:translateY(0);box-shadow:0 4px 15px rgba(124,30,73,.4)}.button-secondary{background:white;border:2px solid #e5e7eb;transition:all .3s cubic-bezier(.25,.46,.45,.94)}.button-secondary:hover{border-color:#7C1E49;background:linear-gradient(180deg,white,rgba(245,236,240,.3));transform:translateY(-2px);box-shadow:0 8px 25px rgba(124,30,73,.15)}.animate-fade-in-up{animation:fade-in-up .6s ease-out forwards}.animate-slide-in-right{animation:slide-in-right .6s ease-out forwards}.animate-scale-in{animation:scale-in .6s ease-out forwards}.floating-animation{animation:float 4s ease-in-out infinite}.pulse-glow{animation:pulse-glow 2s ease-in-out infinite}.gradient-bg{background:linear-gradient(135deg,#F5ECF0,#E5D5DB);background-size:200% 200%;animation:gradient-shift 4s ease infinite}.animation-delay-100{animation-delay:.1s}.animation-delay-200{animation-delay:.2s}.animation-delay-300{animation-delay:.3s}.animation-delay-400{animation-delay:.4s}.animation-delay-500{animation-delay:.5s}.animation-delay-600{animation-delay:.6s}.animation-delay-700{animation-delay:.7s}.animation-delay-800{animation-delay:.8s}.animation-delay-900{animation-delay:.9s}.animation-delay-1000{animation-delay:1s}.animation-delay-1200{animation-delay:1.2s}.animation-delay-1400{animation-delay:1.4s}.animation-delay-1600{animation-delay:1.6s}