::-webkit-scrollbar{background:0 0;width:0;height:0}*{box-sizing:border-box;scrollbar-width:none;scrollbar-color:transparent transparent;margin:0;padding:0}.booking-body{background:#fff;justify-content:center;align-items:center;height:100dvh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex}.container{background:#fff;grid-template-rows:auto 1fr;width:100%;max-width:450px;height:100dvh;display:grid}.header{color:#2d3748;text-align:center;background:#fff;padding:25px 25px 15px;display:block}.header.inactive{display:none}.restaurant-name{color:#1a202c;margin-bottom:3px;font-size:24px;font-weight:700}.restaurant-info{color:#718096;font-size:14px}.progress-bar{background:#e2e8f0;border-radius:2px;height:4px;margin-top:18px;overflow:hidden}.content{padding:10px 25px 0;overflow-y:auto}.step{animation:.3s slideIn;display:none}.step.active{display:block}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.step-title{color:#2d3748;margin-bottom:8px;font-size:20px;font-weight:600}.step-subtitle{color:#718096;margin-bottom:25px;font-size:14px}.people-selector{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px;display:grid}.people-option{aspect-ratio:1;cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:12px;justify-content:center;align-items:center;transition:all .2s;display:flex;position:relative}.people-number{font-size:16px;font-weight:600}.large-group-notice{text-align:center;background:#f7fafc;border-radius:12px;margin-bottom:20px;padding:16px}.large-group-notice p{color:#4a5568;margin:0;font-size:14px}.date-grid{grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:20px;display:grid}.date-header{text-align:center;color:#718096;padding:8px 0;font-size:12px;font-weight:600}.date-cell{aspect-ratio:1;cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;font-size:14px;font-weight:500;transition:all .2s;display:flex;position:relative}.date-cell.unavailable{color:#fca5a5;cursor:not-allowed;border-color:#fca5a5}.date-cell.holliday{color:#fff;cursor:not-allowed;background:linear-gradient(135deg,#feb2b2 0%,#fca5a5 100%);border-color:#fca5a5}.date-cell.past,.date-cell.closed{color:#cbd5e0;cursor:not-allowed;background:#f8f9fa;border-color:#e2e8f0}.date-cell.empty{cursor:default;border:none}.availability-section{margin-bottom:25px}.zone{margin-bottom:20px}.zone:not(:first-child){margin-top:30px}.zone-title{color:#2d3748;margin-bottom:12px;font-size:16px;font-weight:600}.time-slots{grid-template-columns:repeat(3,1fr);gap:20px 8px;display:grid}.time-slot{text-align:center;cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:8px;padding:12px 8px;font-size:14px;font-weight:500;transition:all .2s;position:relative}.time-slot.unavailable{color:#cbd5e0;cursor:not-allowed;background:#f7fafc;border-color:#f1f5f9}.time-slot.limited{color:#c05621;background:#fef5e7;border-color:#ed8936}.time-slot.limited:after{content:"¡Pocas mesas!";white-space:nowrap;color:#ed8936;z-index:10;background:#ffffffe6;border-radius:3px;padding:1px 4px;font-size:9px;font-weight:600;position:absolute;bottom:-18px;left:50%;transform:translate(-50%)}.form-group{margin-bottom:20px}.label{color:#2d3748;margin-bottom:8px;font-size:14px;font-weight:600;display:block}.input{border:2px solid #e2e8f0;border-radius:8px;width:100%;padding:12px;font-size:16px;transition:border-color .2s}.phone-group{gap:8px;display:flex}.prefix-input{text-align:center;border:2px solid #e2e8f0;border-radius:8px;width:80px;padding:12px 8px;font-size:16px;font-weight:500;transition:border-color .2s}.phone-input{border:2px solid #e2e8f0;border-radius:8px;flex:1;padding:12px;font-size:16px;transition:border-color .2s}.buttons{gap:12px;padding:20px 25px 15px;display:flex}.btn{cursor:pointer;border:none;border-radius:10px;flex:1;padding:14px;font-size:16px;font-weight:600;transition:all .2s}.btn-secondary{color:#4a5568;background:#f7fafc;border:2px solid #e2e8f0}.btn-secondary:hover{background:#edf2f7}.btn:disabled{opacity:.5;cursor:not-allowed}.summary{background:#f7fafc;border-radius:12px;margin-bottom:25px;padding:20px}.summary-item{align-items:center;margin-bottom:12px;font-size:14px;display:flex}.summary-item:last-child{margin-bottom:0}.summary-icon{flex-shrink:0;width:18px;height:18px;margin-right:12px}.summary-icon svg{width:100%;height:100%}.summary-text{color:#2d3748;font-weight:500}.warning-text{color:#718096;margin-top:5px;font-size:13px}.tabletime-text{color:#718096;margin-top:10px;font-size:13px}.availability-info{color:#4a5568;background:#f7fafc;border-radius:8px;padding:12px;font-size:13px}.selected-people-summary{text-align:center;color:#234e52;background:#e6fffa;border-radius:8px;margin-bottom:20px;padding:12px;font-size:14px}.calendar-header{color:#2d3748;justify-content:space-between;align-items:center;margin-bottom:20px;padding:12px;font-size:18px;font-weight:600;display:flex}.calendar-month-title{text-align:center;flex:1}.calendar-nav-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;padding:8px;font-size:20px;transition:all .2s;display:flex}.calendar-nav-btn:disabled{color:#cbd5e0;cursor:not-allowed}.legend-holliday{background:#fca5a5}.legend-unavailable{border:2px solid #fca5a5}input[type=email]:invalid{border-color:#fca5a5}.progress-fill.complete{background:#48bb78}.success-container{text-align:center;flex-direction:column;align-items:center;padding-top:15px;display:flex}.success-icon{color:#48bb78;width:80px;height:80px;margin-bottom:24px}.success-title{color:#2d3748;margin-bottom:12px;font-size:24px;font-weight:700}.success-subtitle{color:#718096;margin-bottom:32px;font-size:16px;line-height:1.5}.success-summary{background:#f0fff4;border:2px solid #9ae6b4;border-radius:12px;width:100%;max-width:400px;margin-bottom:20px;padding:24px}.success-summary-title{color:#2d3748;text-align:center;margin-bottom:16px;font-size:18px;font-weight:600}.success-summary-item{align-items:center;margin-bottom:12px;font-size:15px;display:flex}.success-summary-item:last-child{margin-bottom:0}.success-summary-icon{color:#48bb78;flex-shrink:0;width:20px;height:20px;margin-right:12px}.success-summary-icon svg{width:100%;height:100%}.success-summary-text{color:#2d3748;text-align:left;flex:1;font-weight:500}.success-email-notice{color:#2b6cb0;background:#ebf8ff;border-radius:8px;width:100%;max-width:400px;padding:16px;font-size:14px;line-height:1.5}.success-email-notice svg{vertical-align:middle;color:#3182ce;width:16px;height:16px;margin-right:8px;display:inline-block}.checkbox-group{align-items:flex-start;gap:12px;display:flex}.checkbox-input{cursor:pointer;appearance:none;background:#fff;border:2px solid #e2e8f0;border-radius:4px;width:18px;min-width:18px;height:18px;min-height:18px;margin-top:2px;transition:all .2s;position:relative}.checkbox-input:checked:after{content:"✓";color:#fff;font-size:12px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.checkbox-label{color:#4a5568;cursor:pointer;flex:1;font-size:14px;line-height:1.5}.summary-info{text-align:left;width:100%;max-width:400px;margin-bottom:24px;padding:3px}
