.modal-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:2000;justify-content:center;align-items:center}.modal-overlay.active{display:flex}.booking-modal{background:#fff;border-radius:16px;width:90%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 50px #0003;animation:modalFade .3s ease}@keyframes modalFade{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid #eee}.modal-header h2{color:#7a1f14;font-size:28px}.close-modal{background:none;border:none;font-size:28px;cursor:pointer;color:#666;transition:color .3s ease}.close-modal:hover{color:#7a1f14}.modal-content{padding:32px;display:flex;gap:40px}.calendar-section{flex:1}.booking-form{flex:1;border-left:1px solid #eee;padding-left:40px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.calendar-header h3{color:#333;font-size:20px}.calendar-nav{display:flex;gap:10px}.calendar-nav button{background:#f5f5f5!important;border:none;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .3s ease;padding:0}.calendar-nav button:hover{background:#e0e0e0!important}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:20px}.calendar-day-header{text-align:center;font-weight:600;color:#666;padding:10px 0;font-size:14px}.calendar-day{height:50px;display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;transition:all .2s ease;font-weight:500;background:#f9f9f9;color:#333}.calendar-day:hover{background:#7a1f14;color:#fff;transform:scale(1.05)}.calendar-day.selected{background:#7a1f14;color:#fff;box-shadow:0 4px 12px #7a1f144d}.calendar-day.unavailable{display:none!important}.available-dates{background:#f9f9f9;padding:16px;border-radius:12px;margin-top:20px}.available-dates h4{margin-bottom:10px;color:#333}.date-list{display:flex;flex-wrap:wrap;gap:10px}.date-tag{background:#7a1f14;color:#fff;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.date-tag:hover{background:#5a150d;transform:translateY(-2px)}.date-tag.selected{background:#5a150d;box-shadow:0 4px 8px #0003}.form-group{margin-bottom:24px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333}.form-group input,.form-group textarea,.form-group select{width:100%;padding:14px;border:1px solid #ddd;border-radius:8px;font-size:16px;transition:border .3s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#7a1f14}.form-group textarea{min-height:120px;resize:vertical}.consultation-types{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:8px}.consultation-type{padding:12px;border:2px solid #eee;border-radius:8px;text-align:center;cursor:pointer;transition:all .3s ease}.consultation-type:hover{border-color:#7a1f14}.consultation-type.selected{border-color:#7a1f14;background:#f3e9e7}.form-submit{width:100%;padding:16px;background:#7a1f14;color:#fff;border:none;border-radius:8px;font-size:18px;font-weight:600;cursor:pointer;transition:background .3s ease;margin-top:10px;display:flex;align-items:center;justify-content:center;gap:10px}.form-submit:hover{background:#5a150d}.form-submit.loading{opacity:.8;cursor:not-allowed}.time-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px}.time-slot{padding:10px;border:2px solid #eee;border-radius:8px;text-align:center;cursor:pointer;transition:all .3s ease;font-size:14px}.time-slot:hover{border-color:#7a1f14}.time-slot.selected{border-color:#7a1f14;background:#f3e9e7}.no-dates-message{text-align:center;padding:30px;background:#f9f9f9;border-radius:12px;margin-top:20px}.no-dates-message i{font-size:48px;color:#ccc;margin-bottom:15px}.no-dates-message h4{color:#666;margin-bottom:10px}.no-dates-message p{color:#888;font-size:14px}.success-message{display:none;text-align:center;padding:40px}.success-icon{font-size:64px;color:#4caf50;margin-bottom:20px}.success-message h3{color:#7a1f14;margin-bottom:10px}.success-message p{color:#666;margin-bottom:20px}.spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.calendar-days-header{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:10px}.day-header{text-align:center;font-weight:600;color:#666;padding:10px 0;font-size:14px}@media(max-width:768px){.modal-content{flex-direction:column;padding:20px;gap:20px}.booking-form{border-left:none;border-top:1px solid #eee;padding-left:0;padding-top:20px}.booking-modal{width:95%;margin:10px}}
