/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
.reservas-menu-wrapper{padding:15px 0;font-size:16px !important;}.reservas-navbar{display:flex;justify-content:center;align-items:center;}.reservas-nav-items{display:flex;align-items:center;gap:30px;}.reservas-nav-link{color:#FEA116 !important;font-weight:600 !important;font-size:16px !important;text-decoration:none !important;transition:color 0.3s ease;font-family:'Nunito',sans-serif !important;}.reservas-nav-link:hover{color:#e08f0a !important;text-decoration:none !important;}.reservas-btn-primary{background-color:#FEA116 !important;color:#fff !important;padding:12px 30px !important;border-radius:5px !important;font-weight:700 !important;font-size:16px !important;text-decoration:none !important;transition:all 0.3s ease;font-family:'Nunito',sans-serif !important;display:inline-block !important;}.reservas-btn-primary:hover{background-color:#e6900f !important;color:#fff !important;text-decoration:none !important;transform:translateY(-2px);}@media (max-width:768px){.reservas-nav-items{flex-direction:column;gap:15px;}}.modal-backdrop{z-index:1040 !important;}.modal{z-index:1050 !important;}body.modal-open .site-header,body.modal-open .site-header__fixable,body.modal-open .site-header__inner,body.modal-open #header,body.modal-open header{z-index:1 !important;}#bookingModal,#statusModal,#confirmationModal,#errorModal{font-size:16px !important;line-height:1.5 !important;}#bookingModal .modal-dialog,#statusModal .modal-dialog{max-width:480px !important;width:calc(100% - 2rem) !important;margin:2rem auto !important;}#confirmationModal .modal-dialog,#errorModal .modal-dialog{max-width:420px !important;width:calc(100% - 2rem) !important;margin:1.75rem auto !important;}#bookingModal .modal-content,#statusModal .modal-content{border:none !important;border-radius:24px !important;overflow:hidden !important;box-shadow:0 25px 80px rgba(15,23,43,0.4),0 10px 40px rgba(254,161,22,0.15) !important;background:#ffffff !important;}#bookingModal .modal-content::before,#statusModal .modal-content::before{content:'' !important;position:absolute !important;top:0 !important;left:0 !important;right:0 !important;height:6px !important;background:linear-gradient(90deg,#FEA116,#ff6b35,#FEA116) !important;z-index:10 !important;}#bookingModal .modal-header,#statusModal .modal-header{background:linear-gradient(135deg,#0F172B 0%,#1a2744 100%) !important;border:none !important;padding:28px 32px 24px !important;position:relative !important;}#bookingModal .modal-title,#statusModal .modal-title{font-family:'Pacifico',cursive !important;font-size:26px !important;color:#ffffff !important;margin:0 !important;line-height:1.3 !important;}#bookingModal .modal-header .close,#statusModal .modal-header .close{position:absolute !important;right:20px !important;top:50% !important;transform:translateY(-50%) !important;width:36px !important;height:36px !important;border-radius:50% !important;background:rgba(255,255,255,0.1) !important;border:1px solid rgba(255,255,255,0.2) !important;color:#ffffff !important;font-size:20px !important;opacity:1 !important;margin:0 !important;padding:0 !important;display:flex !important;align-items:center !important;justify-content:center !important;text-shadow:none !important;}#bookingModal .modal-header .close:hover,#statusModal .modal-header .close:hover{background:#FEA116 !important;border-color:#FEA116 !important;}#bookingModal .modal-body,#statusModal .modal-body{padding:32px !important;background:#ffffff !important;}#bookingModal label,#statusModal label,#bookingModal .form-group label,#statusModal .form-group label{font-family:'Nunito',sans-serif !important;font-size:13px !important;font-weight:700 !important;text-transform:uppercase !important;letter-spacing:1px !important;color:#0F172B !important;margin-bottom:8px !important;display:block !important;line-height:1.4 !important;}#bookingModal .form-control,#statusModal .form-control,#bookingModal .custom-select,#statusModal .custom-select,#bookingModal select,#statusModal select,#bookingModal input[type="text"],#bookingModal input[type="email"],#bookingModal input[type="tel"],#bookingModal input[type="date"],#bookingModal input[type="time"],#bookingModal input[type="number"],#statusModal input[type="text"],#statusModal input[type="email"],#statusModal input[type="tel"]{font-family:'Heebo',sans-serif !important;font-size:16px !important;padding:14px 16px !important;border:2px solid #e9ecef !important;border-radius:12px !important;background-color:#f8f9fa !important;color:#0F172B !important;height:auto !important;line-height:1.5 !important;transition:all 0.3s ease !important;}#bookingModal .form-control:focus,#statusModal .form-control:focus,#bookingModal .custom-select:focus,#statusModal .custom-select:focus{border-color:#FEA116 !important;background-color:#ffffff !important;box-shadow:0 0 0 4px rgba(254,161,22,0.15) !important;outline:none !important;}#bookingModal .input-group,#statusModal .input-group{display:flex !important;}#bookingModal .input-group-prepend select,#statusModal .input-group-prepend select{border-radius:12px 0 0 12px !important;border-right:none !important;background-color:#0F172B !important;color:#ffffff !important;padding:14px 12px !important;font-size:14px !important;font-weight:600 !important;}#bookingModal .input-group .form-control,#statusModal .input-group .form-control{border-radius:0 12px 12px 0 !important;}#bookingModal .btn-success,#statusModal .btn-success,#bookingModal button[type="submit"],#statusModal button[type="submit"]{font-family:'Nunito',sans-serif !important;font-weight:800 !important;font-size:16px !important;text-transform:uppercase !important;letter-spacing:2px !important;padding:16px 40px !important;border:none !important;border-radius:50px !important;background:linear-gradient(135deg,#FEA116,#ff6b35) !important;color:#ffffff !important;box-shadow:0 8px 25px rgba(254,161,22,0.4) !important;transition:all 0.3s ease !important;cursor:pointer !important;}#bookingModal .btn-success:hover,#statusModal .btn-success:hover{transform:translateY(-3px) !important;box-shadow:0 12px 35px rgba(254,161,22,0.5) !important;background:linear-gradient(135deg,#ff6b35,#FEA116) !important;}#bookingModal .modal-body > center,#statusModal .modal-body > center{margin-top:24px !important;padding-top:20px !important;border-top:1px dashed #dee2e6 !important;}#bookingModal .modal-body > center p,#statusModal .modal-body > center p{font-family:'Heebo',sans-serif !important;font-size:14px !important;color:#6c757d !important;margin:0 !important;}#bookingModal .modal-body > center a,#statusModal .modal-body > center a{color:#FEA116 !important;font-weight:600 !important;text-decoration:none !important;}#bookingModal .modal-body > center a:hover,#statusModal .modal-body > center a:hover{color:#ff6b35 !important;text-decoration:underline !important;}#bookingModal .form-text,#statusModal .form-text,#bookingModal small,#statusModal small{font-family:'Heebo',sans-serif !important;font-size:12px !important;color:#6c757d !important;margin-top:6px !important;}#statusModal .form-check{padding-left:32px !important;margin-bottom:12px !important;position:relative !important;}#statusModal .form-check-input{position:absolute !important;left:0 !important;top:50% !important;transform:translateY(-50%) !important;width:20px !important;height:20px !important;margin:0 !important;}#statusModal .form-check-label{font-family:'Heebo',sans-serif !important;font-size:15px !important;font-weight:500 !important;color:#495057 !important;text-transform:none !important;letter-spacing:normal !important;}#confirmationModal .modal-content.confirmation-modal{border:none !important;border-radius:16px !important;overflow:hidden !important;background:#ffffff !important;box-shadow:0 10px 40px rgba(0,0,0,0.15) !important;}#confirmationModal .modal-content.confirmation-modal::before{content:'' !important;position:absolute !important;top:0 !important;left:0 !important;right:0 !important;height:5px !important;background:#2ecc71 !important;}#confirmationModal .confirmation-header{padding:40px 32px 24px !important;text-align:center !important;background:#f8f9fa !important;}#confirmationModal .confirmation-title{font-family:'Nunito',sans-serif !important;font-size:28px !important;font-weight:800 !important;color:#2c3e50 !important;margin:0 !important;}#confirmationModal .success-checkmark,#confirmationModal .check-icon{width:80px !important;height:80px !important;margin:0 auto 20px !important;border-radius:50% !important;background:#2ecc71 !important;display:flex !important;align-items:center !important;justify-content:center !important;}#confirmationModal .confirmation-body{padding:24px 32px !important;background:#ffffff !important;}#confirmationModal .booking-number-display{background:#3498db !important;border:none !important;border-radius:12px !important;padding:20px 24px !important;margin-bottom:24px !important;text-align:center !important;}#confirmationModal .booking-label{display:block !important;font-family:'Nunito',sans-serif !important;font-size:11px !important;font-weight:700 !important;color:rgba(255,255,255,0.8) !important;text-transform:uppercase !important;letter-spacing:2px !important;margin-bottom:8px !important;}#confirmationModal .booking-id{display:block !important;font-family:'Nunito',sans-serif !important;font-size:36px !important;font-weight:900 !important;color:#ffffff !important;letter-spacing:3px !important;}#confirmationModal .reservation-details{background:#f8f9fa !important;border:none !important;border-radius:12px !important;padding:8px !important;margin-bottom:20px !important;}#confirmationModal .detail-row{display:flex !important;align-items:center !important;padding:14px 16px !important;border-radius:8px !important;}#confirmationModal .detail-icon{width:40px !important;height:40px !important;min-width:40px !important;border-radius:10px !important;display:flex !important;align-items:center !important;justify-content:center !important;margin-right:16px !important;}#confirmationModal .detail-row:nth-child(1) .detail-icon{background:#9b59b6 !important;}#confirmationModal .detail-row:nth-child(2) .detail-icon{background:#3498db !important;}#confirmationModal .detail-row:nth-child(3) .detail-icon{background:#e67e22 !important;}#confirmationModal .detail-row:nth-child(4) .detail-icon{background:#1abc9c !important;}#confirmationModal .detail-icon i{color:#ffffff !important;font-size:16px !important;}#confirmationModal .detail-label{font-family:'Nunito',sans-serif !important;font-size:10px !important;font-weight:700 !important;color:#95a5a6 !important;text-transform:uppercase !important;letter-spacing:1px !important;margin:0 0 2px 0 !important;display:block !important;}#confirmationModal .detail-value{font-family:'Nunito',sans-serif !important;font-size:17px !important;font-weight:700 !important;color:#2c3e50 !important;margin:0 !important;display:block !important;}#confirmationModal .email-notice{display:flex !important;align-items:center !important;gap:12px !important;padding:16px 20px !important;background:#d5f5e3 !important;border:none !important;border-radius:10px !important;border-left:4px solid #2ecc71 !important;}#confirmationModal .email-notice i{color:#27ae60 !important;font-size:20px !important;}#confirmationModal .email-notice span{font-family:'Nunito',sans-serif !important;font-size:14px !important;color:#2c3e50 !important;}#confirmationModal .confirmation-footer{padding:8px 32px 32px !important;text-align:center !important;background:#ffffff !important;}#confirmationModal .btn-confirmation{display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:8px !important;font-family:'Nunito',sans-serif !important;font-weight:800 !important;font-size:15px !important;text-transform:uppercase !important;letter-spacing:1.5px !important;padding:16px 40px !important;border:none !important;border-radius:8px !important;background:#2ecc71 !important;color:#ffffff !important;text-decoration:none !important;cursor:pointer !important;transition:all 0.2s ease !important;}#confirmationModal .btn-confirmation:hover{background:#27ae60 !important;transform:translateY(-2px) !important;box-shadow:0 4px 12px rgba(46,204,113,0.4) !important;}#errorModal .modal-content.error-modal{border:none !important;border-radius:16px !important;overflow:hidden !important;background:#ffffff !important;box-shadow:0 10px 40px rgba(0,0,0,0.15) !important;}#errorModal .modal-content.error-modal::before{content:'' !important;position:absolute !important;top:0 !important;left:0 !important;right:0 !important;height:5px !important;background:#e74c3c !important;}#errorModal .error-header{padding:40px 32px 24px !important;text-align:center !important;background:#f8f9fa !important;}#errorModal .error-title{font-family:'Nunito',sans-serif !important;font-size:28px !important;font-weight:800 !important;color:#2c3e50 !important;margin:0 !important;}#errorModal .error-icon-container,#errorModal .error-icon{width:80px !important;height:80px !important;margin:0 auto 20px !important;border-radius:50% !important;background:#e74c3c !important;display:flex !important;align-items:center !important;justify-content:center !important;}#errorModal .error-icon i{color:#ffffff !important;font-size:32px !important;}#errorModal .error-body{padding:24px 32px !important;text-align:center !important;background:#ffffff !important;}#errorModal .error-message{font-family:'Nunito',sans-serif !important;font-size:16px !important;color:#2c3e50 !important;padding:20px 24px !important;background:#fadbd8 !important;border:none !important;border-radius:10px !important;border-left:4px solid #e74c3c !important;margin:0 !important;}#errorModal .error-footer{padding:8px 32px 32px !important;display:flex !important;gap:12px !important;justify-content:center !important;background:#ffffff !important;}#errorModal .btn-error-action{display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:8px !important;font-family:'Nunito',sans-serif !important;font-weight:800 !important;font-size:14px !important;text-transform:uppercase !important;letter-spacing:1px !important;padding:14px 24px !important;border:none !important;border-radius:8px !important;text-decoration:none !important;cursor:pointer !important;transition:all 0.2s ease !important;}#errorModal .btn-retry{background:#e67e22 !important;color:#ffffff !important;}#errorModal .btn-retry:hover{background:#d35400 !important;transform:translateY(-2px) !important;}#errorModal .btn-home{background:#ecf0f1 !important;color:#7f8c8d !important;}#errorModal .btn-home:hover{background:#bdc3c7 !important;color:#2c3e50 !important;}@media (max-width:576px){#bookingModal .modal-dialog,#statusModal .modal-dialog,#confirmationModal .modal-dialog,#errorModal .modal-dialog{margin:16px !important;max-width:calc(100% - 32px) !important;}#bookingModal .modal-header,#statusModal .modal-header{padding:20px 24px 16px !important;}#bookingModal .modal-title,#statusModal .modal-title{font-size:21px !important;}#bookingModal .modal-body,#statusModal .modal-body{padding:24px !important;}#bookingModal .btn-success,#statusModal .btn-success{width:100% !important;padding:16px 24px !important;}}
