@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.reservation-modal .modal-header{display:none!important}.reservation-modal .modal-body{overflow-y:auto;display:flex;flex-direction:column;align-items:center;min-height:100%;width:100%}.reservation-modal-inner-group{width:100%;display:flex;flex-direction:column;align-items:center;padding:50px 0 40px;margin-top:auto}.reservation-modal-header-custom{padding:0 10px;text-align:center;margin-top:0;position:relative;max-width:900px;width:100%;margin-left:auto;margin-right:auto;display:flex;flex-direction:column;align-items:center}.reservation-modal-close{position:absolute;top:-35px;right:-60px;background:transparent;border:none;font-size:60px;color:#444;cursor:pointer;line-height:.8;display:flex;align-items:center;justify-content:center;width:60px;height:60px;transition:transform .25s cubic-bezier(.175,.885,.32,1.275),color .15s ease-in-out;z-index:10}.reservation-modal-close:hover{transform:rotate(90deg) scale(1.15);color:#000}@media(max-width:1200px){.reservation-modal-close{position:absolute;top:0;right:0;font-size:36px;width:44px;height:44px}.reservation-modal-title-main{font-size:44px;padding:0 40px}}.reservation-modal-title-main{font-size:64px;font-weight:500;color:#333;text-align:center;margin-bottom:15px;letter-spacing:-1px;text-transform:uppercase}.reservation-steps-container{display:flex;align-items:flex-start;justify-content:center;margin-bottom:25px;max-width:500px;width:100%;margin-left:auto;margin-right:auto}.step{display:flex;flex-direction:column;align-items:center;flex-shrink:0;position:relative;z-index:2}.step-dot{width:16px;height:16px;border-radius:50%;background:#dbdbdb;position:relative;display:flex;align-items:center;justify-content:center}.step-text{font-size:12px;font-weight:700;color:#dbdbdb;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap;position:absolute;top:26px;left:50%;transform:translate(-50%)}.step-active .step-dot{background:#e30613}.step-line{flex:1;height:3px;background:#dbdbdb;margin-top:6px;z-index:1}.step-line-completed,.step-completed .step-dot,.step-active .step-dot{background:#e30613}.step-completed .step-text,.step-active .step-text{color:#e30613;font-weight:700}.reservation-modal-left .stock-vehicle-card{border:1px solid #000;border-radius:12px;overflow:hidden;transform:none!important;cursor:default!important}.reservation-modal-left .stock-vehicle-card:hover{transform:none!important}.reservation-modal-left .stock-vehicle-card:hover .price-button{background-color:unset;color:unset}.reservation-modal-left .stock-vehicle-card .favorites-container{display:none!important}.reservation-modal-wrapper{display:flex;gap:50px;align-items:flex-start;justify-content:center;max-width:900px;width:100%;margin:0 auto auto;padding-bottom:40px}.reservation-modal-left{flex:0 0 350px;display:flex;flex-direction:column;gap:8px}.reservation-modal-right{flex:1;max-width:500px;width:100%}.reservation-step-panels{position:relative;display:grid;grid-template-columns:1fr;grid-template-rows:1fr}.reservation-step-panel{grid-area:1 / 1;width:100%;transition:opacity .3s ease}.reservation-panel-hidden{display:none!important}.reservation-step-panel.reservation-panel-hidden{display:block!important;visibility:hidden;pointer-events:none}.reservation-info-title{font-size:18px;font-weight:400;margin-bottom:12px;color:#333}.reservation-how-it-works{list-style:none;padding:0;margin:0 0 20px}.reservation-how-it-works li{display:flex;gap:15px;margin-bottom:8px;align-items:flex-start}.reservation-how-it-works .number{background:#e30613;color:#fff;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px;font-weight:600}.reservation-how-it-works .text{font-size:15px;color:#444;line-height:1.4}.reservation-form-title{font-size:28px;font-weight:700;margin-bottom:15px;color:#000}.form-grid-single{display:flex;flex-direction:column;gap:10px}.reservation-form input:not([type=checkbox]){width:100%;padding:12px 14px;background:#fff;border:1px solid #999999;border-radius:4px;font-size:15px;color:#000;transition:border-color .2s}.reservation-form input:not([type=checkbox]):focus{border-color:#e30613;outline:none}.reservation-form input::-moz-placeholder{color:#333;font-weight:400}.reservation-form input::placeholder{color:#333;font-weight:400}.form-required-info{font-size:12px;color:#666;margin:6px 0 16px}.btn-reservation-next{width:100%;background:#000;color:#fff;border:none;padding:14px;font-size:15px;font-weight:600;text-transform:uppercase;cursor:pointer;transition:background .2s;border-radius:4px;letter-spacing:1px}.btn-reservation-next:hover{opacity:.9}.reservation-hpp-iframe{width:100%;height:500px;border:none;display:block}.reservation-hpp-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;width:100%;gap:16px}.reservation-hpp-loading-text{font-size:14px;color:#666;text-align:center;margin:0}.reservation-hpp-spinner{width:48px;height:48px;border:4px solid #e0e0e0;border-top-color:#e30613;border-radius:50%;animation:hpp-spin .8s linear infinite}@keyframes hpp-spin{to{transform:rotate(360deg)}}.reservation-back-container{margin-bottom:2px}.btn-reservation-back{background:transparent;color:#666;border:none;padding:0;font-size:13px;font-weight:500;cursor:pointer;transition:color .2s;letter-spacing:.3px;display:inline-flex;align-items:center;gap:4px;margin-bottom:5px}.btn-reservation-back:hover{color:#000}.reservation-result-box{text-align:center;padding:40px 20px;animation:fadeIn .4s ease-out}.reservation-result-icon{font-size:56px;margin-bottom:16px;line-height:1}.reservation-result-icon--ok{color:#28a745}.reservation-result-icon--error{color:#e30613}.reservation-result-title{font-size:22px;font-weight:700;color:#000;margin-bottom:12px}.reservation-result-text{color:#555;font-size:15px;line-height:1.6;margin-bottom:28px}.reservation-result-actions{display:flex;justify-content:center;gap:12px}@media(max-width:992px){.reservation-modal-close{display:none!important}.reservation-modal .modal-container{width:100%!important;height:92vh!important;max-height:92vh!important;border-radius:24px 24px 0 0!important}.mobile-only{display:block}.mobile-only-inline{display:inline}.desktop-only-inline{display:none}.desktop-only{display:none!important}.reservation-modal-wrapper{flex-direction:column;gap:40px;margin-bottom:0;padding-bottom:0}.reservation-modal-left{display:none!important}.reservation-modal-content-inner{text-align:left;margin-bottom:12px;padding-top:0;display:flex;flex-direction:column;align-items:flex-start;width:100%}.reservation-modal-mobile-vehicle-header{display:flex;flex-direction:column;align-items:flex-start;padding:17px 15px 14px;background:transparent;border:1px solid #e2e2e2;border-radius:12px;margin-bottom:20px;margin-top:5px;text-align:left;width:100%;box-sizing:border-box}.reservation-modal-drag-handle{display:flex}.mobile-vehicle-top-row{display:flex;justify-content:space-between;align-items:flex-start;width:100%;margin-bottom:2px;gap:15px}.mobile-vehicle-name{flex:1;font-size:17px;text-transform:uppercase;line-height:1.2;text-align:left;margin-top:12px}.mobile-vehicle-name .brand{color:#000;font-weight:600}.mobile-vehicle-name .model{color:#888;font-weight:400;margin-left:6px}.mobile-vehicle-price{display:flex;flex-direction:column;align-items:flex-end;text-align:right}.mobile-vehicle-price .price-label{font-size:9px;color:#999;text-transform:uppercase;font-weight:600;line-height:1;margin-bottom:3px}.mobile-vehicle-price .price-amount{font-size:19px;font-weight:700;color:#000;line-height:1;white-space:nowrap}.mobile-vehicle-details{font-size:11px;color:#999;line-height:1.3;text-transform:uppercase;font-weight:400;text-align:left;width:100%}.reservation-modal .modal-body{padding-top:.5rem!important;padding-bottom:2rem!important;justify-content:flex-start;align-items:stretch;min-height:unset}.reservation-modal-header-custom{margin-top:0;padding:0;align-items:stretch}.reservation-modal-inner-group{display:flex;flex-direction:column;align-items:stretch;padding:6px 0 0;cursor:grab;-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important;margin-top:0;position:relative;z-index:20}.reservation-modal-title-main{font-size:24px!important;margin-top:0;text-align:center;display:block!important}.reservation-steps-container{padding:0 6px;gap:0;justify-content:center;margin-bottom:36px;max-width:100%}.reservation-modal .step-line{flex:none;width:108px;height:2px;margin-top:5px;pointer-events:none!important}.reservation-modal .step-dot{width:13px;height:13px;pointer-events:none!important}.step-text{font-size:11px;top:18px;font-weight:800;letter-spacing:0;pointer-events:none!important}.reservation-modal-mobile-vehicle-header{margin-top:0;margin-bottom:6px;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.reservation-step-panel.reservation-panel-hidden{display:none!important;visibility:visible}.reservation-step-panels{display:block}.reservation-panel-hidden{display:none!important}}
