.booking-content{padding:var(--space-16) 0}.booking-grid{display:grid;gap:var(--space-12);grid-template-columns:1fr 1fr}.booking-calendar{border:1px solid var(--gray-200);padding:var(--space-6)}.calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-6)}.calendar-header h3{font-size:var(--font-size-lg);font-weight:500}.calendar-nav{align-items:center;background:none;border:1px solid var(--gray-200);display:flex;height:40px;justify-content:center;transition:all var(--transition-fast);width:40px}.calendar-nav:hover{border-color:var(--primary)}.calendar-weekdays{display:grid;gap:var(--space-2);grid-template-columns:repeat(7,1fr);margin-bottom:var(--space-2)}.calendar-weekdays span{color:var(--gray-500);font-size:var(--font-size-xs);font-weight:500;letter-spacing:.1em;padding:var(--space-2);text-align:center;text-transform:uppercase}.calendar-days{display:grid;gap:var(--space-2);grid-template-columns:repeat(7,1fr)}.calendar-day{align-items:center;aspect-ratio:1;background:none;border:1px solid transparent;display:flex;font-size:var(--font-size-sm);justify-content:center;transition:all var(--transition-fast)}.calendar-day:not(.empty):not(.disabled):hover{border-color:var(--gray-300)}.calendar-day.selected{background:var(--primary);color:var(--secondary)}.calendar-day.today{border-color:var(--primary)}.calendar-day.disabled,.calendar-day.empty{color:var(--gray-300);cursor:not-allowed}.calendar-day.full{background-color:#fee2e2;border-color:#fecaca;color:#ef4444;cursor:not-allowed;position:relative}.calendar-day.full:after{background-color:#ef4444;border-radius:50%;bottom:4px;content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:4px}.booking-form{gap:var(--space-5)}.booking-form,.form-group{display:flex;flex-direction:column}.form-group{gap:var(--space-2)}.form-group label{font-size:var(--font-size-sm);font-weight:500;letter-spacing:.02em}.form-input{background:var(--secondary);border:1px solid var(--gray-200);font-family:inherit;font-size:var(--font-size-base);padding:var(--space-3) var(--space-4);transition:border-color var(--transition-fast)}.form-input:focus{border-color:var(--primary);outline:none}.form-textarea{min-height:100px;resize:vertical}.time-slots{display:grid;gap:var(--space-2);grid-template-columns:repeat(4,1fr)}.time-slot{background:none;border:1px solid var(--gray-200);font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3);transition:all var(--transition-fast)}.time-slot.selected,.time-slot:hover{border-color:var(--primary)}.time-slot.selected{background:var(--primary);color:var(--secondary)}.time-slot.booked{background:var(--gray-100);border-color:var(--gray-200);color:var(--gray-400);cursor:not-allowed;opacity:.5;pointer-events:none;position:relative;text-decoration:line-through}.time-slot.booked:after{bottom:2px;color:var(--gray-500);content:"Booked";font-size:8px;letter-spacing:.5px;position:absolute;right:4px;text-transform:uppercase}.booking-summary{background:var(--gray-100);padding:var(--space-4)}.booking-summary h4{font-size:var(--font-size-sm);font-weight:600;letter-spacing:.1em;margin-bottom:var(--space-3);text-transform:uppercase}.booking-summary p{font-size:var(--font-size-sm);margin-bottom:var(--space-2)}@media(max-width:768px){.booking-grid{grid-template-columns:1fr}.time-slots{grid-template-columns:repeat(2,1fr)}}.modal{align-items:center;background:rgba(0,0,0,.5);bottom:0;display:none;justify-content:center;left:0;padding:var(--space-6);position:fixed;right:0;top:0;z-index:2000}.modal-content{background:var(--secondary);max-width:400px;padding:var(--space-10);text-align:center;width:100%}.modal-icon{align-items:center;border:2px solid var(--primary);border-radius:50%;display:flex;font-size:var(--font-size-2xl);height:60px;justify-content:center;margin:0 auto var(--space-6);width:60px}.modal-content h2{font-size:var(--font-size-xl);font-weight:500;margin-bottom:var(--space-3)}.modal-content p{color:var(--gray-500);font-size:var(--font-size-sm);margin-bottom:var(--space-6)}.modal-details{background:var(--gray-100);margin-bottom:var(--space-6);padding:var(--space-4);text-align:left}.modal-details p{margin-bottom:var(--space-2)}
