.booking-container{display:flex;gap:20px}.slots-section{flex:2}.cart-section{flex:1}.view-toggle{display:flex;gap:10px;margin-bottom:20px;background:#f5f5f5;padding:5px;border-radius:8px;width:fit-content}.view-toggle button{border:none;background:0 0;padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:700;color:#666}.view-toggle button.active{background:#fff;color:#ae0000;box-shadow:0 2px 4px rgba(0,0,0,.1)}.calendar-wrapper{background:#fff;border:1px solid #ddd;border-radius:8px;padding:10px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding:10px}.calendar-header h3{margin:0}.calendar-header button{background:0 0;border:1px solid #ccc;padding:5px 10px;border-radius:4px;cursor:pointer}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid #eee;border-left:1px solid #eee}.calendar-day-header,.calendar-cell{border-right:1px solid #eee;border-bottom:1px solid #eee;padding:5px;min-height:100px}.calendar-day-header{min-height:auto;text-align:center;font-weight:700;background:#f9f9f9}.calendar-day-header.saturday{color:blue}.calendar-day-header.sunday{color:red}.calendar-cell.empty{background:#fcfcfc}.calendar-cell.today{background:#fffdf0}.day-number{font-weight:700;margin-bottom:5px}.mini-slot{background:#ae0000;color:#fff;font-size:.8em;padding:2px 4px;margin-bottom:2px;border-radius:3px;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.mini-slot.selected{background:#10b981}.mini-slot.full{background:#ccc;color:#666;cursor:default}.mini-check{margin-left:5px}.date-group{margin-bottom:30px}.date-header{background:#f5f5f5;padding:10px;border-left:5px solid #ae0000;margin-bottom:15px}.slots-list-container{display:flex;flex-direction:column;gap:15px}.slot-item-row{display:flex;justify-content:space-between;align-items:center;border:1px solid #ddd;padding:20px;border-radius:8px;background:#fff;transition:all .2s}.slot-item-row.selected{border-color:#ae0000;background:#fff5f5}.slot-item-row.full{background:#f0f0f0;opacity:.7}.slot-info{flex:1}.slot-title{font-size:1.2em;font-weight:700;margin-bottom:5px}.slot-desc{font-size:.9em;color:#666;margin-bottom:10px;white-space:pre-wrap}.slot-meta-row{font-size:1em;color:#333}.slot-price{margin-left:15px;font-weight:700}.slot-action{margin-left:20px;min-width:120px;text-align:right}.status-full{color:#666;font-weight:700;display:block;margin-bottom:5px}.btn-select{padding:10px 15px;border:none;border-radius:4px;cursor:pointer;width:100%}.btn-add{background:#ae0000;color:#fff}.btn-remove{background:#fff;border:1px solid #ae0000;color:#ae0000}.btn-disabled{background:#ccc;color:#666;cursor:not-allowed;padding:10px 15px;border:none;border-radius:4px;width:100%}.cart-box{background:#f9f9f9;padding:20px;border:1px solid #eee;border-radius:8px;position:sticky;top:20px}.cart-item{display:flex;justify-content:space-between;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #eee;background:#fff;padding:10px;border-radius:4px}.btn-primary{background:#ae0000;color:#fff;border:none;padding:12px 20px;border-radius:4px;cursor:pointer;width:100%;font-size:1.1em}.btn-secondary{background:#fff;color:#333;border:1px solid #ccc;padding:10px 20px;border-radius:4px;cursor:pointer}.btn-xs{background:0 0;border:none;color:#999;cursor:pointer;font-size:1.2em}.cart-total{font-size:1.2em;font-weight:700;text-align:right;margin-bottom:15px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;padding:30px;border-radius:8px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:700}.form-group input[type=text],.form-group input[type=email],.form-group input[type=tel],.form-group textarea{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box}.radio-group label{display:block;margin-bottom:8px;font-weight:400;cursor:pointer}.required{color:#ae0000}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.error-message{background:#ffebee;color:#c62828;padding:10px;border-radius:4px;margin-bottom:15px;border:1px solid #ffcdd2}@media (max-width:768px){.booking-container{flex-direction:column}}