/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
#availability-calendar,#booking-calendar{max-width:100%;margin:0 auto;}.fc-bg-event{opacity:0.3 !important;cursor:pointer;}.fc-event{cursor:pointer;border-radius:4px;padding:2px 4px;font-size:0.85em;}.booking-modal-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);z-index:10000;justify-content:center;align-items:center;}.booking-modal{background:#fff;border-radius:8px;padding:30px;width:90%;max-width:500px;box-shadow:0 4px 20px rgba(0,0,0,0.15);position:relative;}.booking-modal h3{margin-top:0;margin-bottom:20px;font-size:1.25rem;color:#333;}.booking-modal .form-group{margin-bottom:15px;}.booking-modal label{display:block;margin-bottom:5px;font-weight:600;color:#555;font-size:0.9rem;}.booking-modal select,.booking-modal input[type="time"],.booking-modal input[type="number"],.booking-modal input[type="text"],.booking-modal input[type="email"]{width:100%;padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-size:0.95rem;box-sizing:border-box;}.booking-modal select:focus,.booking-modal input:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 2px rgba(0,123,255,0.15);}.booking-modal .modal-actions{display:flex;gap:10px;margin-top:20px;justify-content:flex-end;}.booking-modal .btn{padding:8px 20px;border-radius:4px;border:none;cursor:pointer;font-size:0.9rem;font-weight:500;}.booking-modal .btn-primary{background:#007bff;color:#fff;}.booking-modal .btn-primary:hover{background:#0056b3;}.booking-modal .btn-secondary{background:#6c757d;color:#fff;}.booking-modal .btn-secondary:hover{background:#545b62;}.booking-modal .btn-danger{background:#dc3545;color:#fff;}.booking-modal .btn-danger:hover{background:#c82333;}.booking-modal .close-btn{position:absolute;top:12px;right:16px;font-size:1.5rem;background:none;border:none;cursor:pointer;color:#999;line-height:1;}.booking-modal .close-btn:hover{color:#333;}.availability-summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:24px;}.availability-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;padding:12px 16px;font-size:0.9rem;}.availability-card .day-name{font-weight:700;color:#333;margin-bottom:4px;}.availability-card .time-range{color:#666;}.availability-card .slot-info{color:#888;font-size:0.85rem;margin-top:4px;}.page-header-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:10px;}.page-header-actions h2{margin:0;}.booking-slot-modal .slot-details{background:#f8f9fa;border-radius:6px;padding:16px;margin-bottom:20px;}.booking-slot-modal .slot-details p{margin:4px 0;}.booking-slot-modal .payment-options{margin:16px 0;}.booking-slot-modal .payment-option{display:flex;align-items:center;padding:12px;border:2px solid #e9ecef;border-radius:6px;margin-bottom:8px;cursor:pointer;transition:border-color 0.2s;}.booking-slot-modal .payment-option:hover{border-color:#007bff;}.booking-slot-modal .payment-option.selected{border-color:#007bff;background:#f0f7ff;}.booking-slot-modal .payment-option input[type="radio"]{margin-right:12px;}.booking-slot-modal .payment-option label{cursor:pointer;font-weight:500;margin:0;}.booking-slot-modal .payment-option .payment-desc{font-size:0.85rem;color:#666;margin-top:2px;font-weight:400;}.booking-login-prompt{background:#fff3cd;border:1px solid #ffeeba;border-radius:6px;padding:12px 16px;margin-bottom:16px;font-size:0.9rem;}.booking-login-prompt a{font-weight:600;color:#007bff;}@media (max-width:768px){.booking-modal{width:95%;padding:20px;}.page-header-actions{flex-direction:column;align-items:flex-start;}.availability-summary{grid-template-columns:1fr;}}
