.modal-availability{margin:18px 0 4px;padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.025)}.modal-availability-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;margin-bottom:10px}.modal-availability-head span{display:block;font-size:10px;letter-spacing:.14em;color:var(--primary-green);font-weight:800}.modal-availability-head strong{display:block;margin-top:3px;font-size:16px}.modal-availability-head small{color:var(--text-muted);font-size:10px;text-align:right}.modal-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:15px}.modal-slot{border:1.5px solid rgba(0,217,104,.38);background:rgba(0,217,104,.05);color:#e6fff2;border-radius:12px;padding:12px 6px;font:700 0.92rem var(--font-family);cursor:pointer;transition:.22s cubic-bezier(0.4,0,0.2,1);box-shadow:0 0 12px rgba(0,217,104,.08);display:flex;align-items:center;justify-content:center;text-transform:none;width:100%}.modal-slot:hover:not(.blocked):not(:disabled){background:var(--primary-green);border-color:var(--primary-green);color:#041409;transform:translateY(-2px);box-shadow:0 0 20px rgba(0,217,104,.45)}.modal-slot.blocked,.modal-slot:disabled{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.08);color:#555;text-decoration:line-through;cursor:not-allowed;box-shadow:none;transform:none}.availability-loading{font-size:11px;color:var(--text-muted);display:flex;align-items:center;gap:7px}.availability-loading i{animation:booking-spin 1s linear infinite}@keyframes booking-spin{to{transform:rotate(360deg)}}.booking-modal{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.72);backdrop-filter:blur(12px)}.booking-modal.mostrar{display:flex}.booking-card{width:min(440px,100%);position:relative;padding:30px;border:1px solid rgba(255,255,255,.11);border-radius:24px;background:linear-gradient(145deg,rgba(28,34,31,.98),rgba(12,16,14,.98));box-shadow:0 30px 90px rgba(0,0,0,.55)}.booking-card h2{font-size:25px;margin:8px 0 3px}.booking-card>p{margin:0;color:var(--text-muted);font-size:13px}.booking-summary{margin:20px 0;display:flex;justify-content:space-between;align-items:center;padding:14px 15px;border:1px solid rgba(0,217,104,.18);background:rgba(0,217,104,.06);border-radius:13px}.booking-summary span{color:#b4beb8;font-size:12px}.booking-summary span i{color:var(--primary-green);margin-right:5px}.booking-summary strong{font-size:18px;color:var(--primary-green)}.booking-field{display:block;margin:13px 0}.booking-field span{display:block;margin-bottom:6px;font-size:10px;font-weight:800;color:#aeb7b2;text-transform:uppercase;letter-spacing:.08em}.booking-field input{box-sizing:border-box;width:100%;border:1px solid rgba(255,255,255,.09);background:#0b0f0d;color:#fff;border-radius:11px;padding:12px 13px;outline:none;font:500 13px var(--font-family)}.booking-field input:focus{border-color:rgba(0,217,104,.55);box-shadow:0 0 0 3px rgba(0,217,104,.08)}.booking-confirm{width:100%;margin-top:8px;justify-content:center}.booking-confirm:disabled{opacity:.55;cursor:wait}.booking-note{display:block;text-align:center;margin-top:11px;color:#727c76;font-size:9px}.booking-note i{color:var(--primary-green)}.booking-status{min-height:17px;text-align:center;margin-top:12px;font-size:11px;font-weight:700}.booking-status.success{color:#62efa0}.booking-status.error{color:#ff7373}@media(max-width:600px){.modal-availability{padding:12px}.modal-slots{grid-template-columns:repeat(3,1fr)}.modal-availability-head{display:block}.modal-availability-head small{display:block;text-align:left;margin-top:4px}.booking-card{padding:25px 20px;border-radius:20px}}
