:root{--booking-title-highlight-color:#fbbf24;--booking-modal-blur:var(--spacing-xs);--booking-modal-backdrop:rgba(0, 0, 0, 0.7);--booking-close-size:35px;--booking-close-size-mobile:30px;--booking-input-left-padding:50px;--booking-success-bg-alpha:rgba(76, 175, 80, 0.05);--booking-error-bg-alpha:rgba(244, 67, 54, 0.05)}.modal-backdrop{backdrop-filter:blur(var(--booking-modal-blur));background-color:var(--booking-modal-backdrop)}.booking-modal-content{border:none;border-radius:var(--border-radius-xl);overflow:hidden;box-shadow:var(--shadow-2xl)}.booking-modal-header{background:var(--gradient-brand);color:var(--white-color);padding:var(--spacing-xl);text-align:center;border:none;position:relative}.booking-modal-title{font-family:var(--font-family-secondary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin-bottom:var(--spacing-xs)}.booking-title-highlight{color:var(--booking-title-highlight-color)}.booking-modal-subtitle{font-size:var(--font-size-md);opacity:.9;margin-bottom:0;line-height:var(--line-height-relaxed)}.btn-close.booking-close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);background:rgb(255 255 255 / .2);border:none;border-radius:var(--border-radius-circle);width:var(--booking-close-size);height:var(--booking-close-size);color:var(--white-color);font-size:var(--font-size-lg);display:flex;align-items:center;justify-content:center;transition:var(--transition-smooth)}.btn-close.booking-close:hover{background:rgb(255 255 255 / .3);transform:rotate(90deg)}.booking-modal-body{padding:var(--spacing-xl);background:var(--white-color)}#bookingModal .form-group{margin-bottom:var(--spacing-lg);position:relative}#bookingModal .form-control{width:100%;padding:var(--spacing-md) var(--spacing-lg) var(--spacing-md) var(--booking-input-left-padding);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);border:var(--border-medium) solid var(--gray-300);border-radius:var(--border-radius-lg);background:var(--gray-50);transition:var(--transition-smooth);height:auto;min-height:55px;line-height:var(--line-height-normal)}#bookingModal .form-control::placeholder{color:var(--gray-500);font-weight:var(--font-weight-normal)}#bookingModal .form-control:focus{outline:none;border-color:var(--secondary-color);background:var(--white-color);box-shadow:0 0 0 3px rgba(var(--secondary-color-rgb),.1);color:var(--dark-color)}#bookingModal .input-icon{position:absolute;left:var(--spacing-md);top:38px;transform:translateY(-50%);color:var(--gray-500);font-size:var(--font-size-lg);z-index:10;pointer-events:none}#bookingModal .btn-primary{background:var(--gradient-secondary);border:none;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--border-radius-lg);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--white-color);width:100%;min-height:55px;transition:var(--transition-smooth);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);line-height:1}#bookingModal .btn-primary:hover:not(:disabled){background:var(--gradient-primary);transform:translateY(-2px);box-shadow:var(--shadow-lg)}#bookingModal .btn-primary:active,#bookingModal .btn-primary:focus{transform:translateY(0);outline:none}#bookingModal .btn-primary:disabled{background:var(--gray-400);opacity:.7;cursor:not-allowed;transform:none}#bookingModal .btn-primary .btn-text{display:flex;align-items:center;gap:var(--spacing-xs);line-height:1}#bookingModal .form-control.is-valid{border-color:var(--success-color);background-color:var(--booking-success-bg-alpha)}#bookingModal .form-control.is-invalid{border-color:var(--error-color);background-color:var(--booking-error-bg-alpha)}#bookingModal .valid-feedback{color:var(--success-color);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-top:var(--spacing-xs)}#bookingModal .invalid-feedback{color:var(--error-color);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-top:var(--spacing-xs)}#bookingModal .btn-loading{position:relative;pointer-events:none}#bookingModal .btn-loading .btn-text{opacity:0}#bookingModal .btn-loading::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:var(--spacing-lg);height:var(--spacing-lg);border:var(--border-medium) solid #fff0;border-top:var(--border-medium) solid var(--white-color);border-radius:var(--border-radius-circle);animation:modalSpin 1s linear infinite}@keyframes modalSpin{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}@media (max-width:768px){.booking-modal-header,.booking-modal-body{padding:var(--spacing-lg)}.booking-modal-title{font-size:var(--font-size-xl)}.btn-close.booking-close{top:var(--spacing-sm);right:var(--spacing-sm);width:var(--booking-close-size-mobile);height:var(--booking-close-size-mobile);font-size:var(--font-size-md)}}@media (prefers-contrast:high){#bookingModal .form-control{border-width:var(--border-thick)}#bookingModal .btn-primary{border:var(--border-thick) solid currentColor}#bookingModal .valid-feedback,#bookingModal .invalid-feedback{font-weight:var(--font-weight-bold)}}@media (prefers-reduced-motion:reduce){.btn-close.booking-close,#bookingModal .btn-primary,#bookingModal .form-control{transition:none}.btn-close.booking-close:hover{transform:none}#bookingModal .btn-primary:hover:not(:disabled){transform:none}}