:root{color:#181818;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--black:#181818;--muted:#737373;--border:#e5e5e5;--background:#fff;--soft:#f7f7f6;--accent:#181818;background:#f5f5f3;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#f5f5f3;min-width:320px;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}#root{min-height:100vh}.booking-widget{background:var(--background);border:1px solid var(--border);border-radius:20px;width:100%;max-width:560px;margin:40px auto;padding:40px;box-shadow:0 10px 30px #0000000f}.booking-header{text-align:center;margin-bottom:36px}.booking-brand{letter-spacing:.12em;text-transform:uppercase;color:#888;margin-bottom:22px;font-size:13px;font-weight:700}.booking-header h1{letter-spacing:-.03em;color:var(--black);margin:0;font-size:32px;line-height:1.15}.booking-header p{color:var(--muted);margin:10px 0 0}.booking-section{margin-bottom:24px}.booking-section label{color:var(--black);margin-bottom:8px;font-size:14px;font-weight:600;display:block}.booking-widget input,.booking-widget select,.booking-widget textarea{width:100%;color:var(--black);background:#fff;border:1px solid #dcdcdc;border-radius:10px;outline:none;padding:13px 14px;transition:border-color .15s,box-shadow .15s}.booking-widget input:focus,.booking-widget select:focus,.booking-widget textarea:focus{border-color:#999;box-shadow:0 0 0 3px #0000000d}.booking-primary-button,.booking-confirm-button{background:var(--black);color:#fff;border:0;border-radius:10px;width:100%;padding:14px 18px;font-weight:600;transition:opacity .15s,transform .1s}.booking-primary-button:hover:not(:disabled),.booking-confirm-button:hover:not(:disabled){opacity:.88}.booking-primary-button:active:not(:disabled),.booking-confirm-button:active:not(:disabled){transform:scale(.99)}.booking-primary-button:disabled,.booking-confirm-button:disabled{cursor:not-allowed;opacity:.45}.availability-card{background:#f5fbf5;border:1px solid #dcebdd;border-radius:12px;align-items:flex-start;gap:14px;margin:24px 0;padding:18px;display:flex}.availability-icon,.confirmation-icon{color:#fff;background:#1f7a3f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-weight:700;display:flex}.availability-card strong{margin-bottom:5px;display:block}.availability-card p{color:#5d665f;margin:2px 0}.booking-error{color:#a33;background:#fff5f5;border:1px solid #f0caca;border-radius:10px;margin-bottom:20px;padding:12px 14px;font-size:14px}.guest-details{border-top:1px solid var(--border);margin-top:30px;padding-top:30px}.section-heading{margin-bottom:20px}.section-heading h2{color:var(--black);margin:0;font-size:21px}.section-heading p{color:var(--muted);margin-top:5px;font-size:14px}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-field{margin-bottom:16px}.form-field label{margin-bottom:7px;font-size:13px;font-weight:600;display:block}.form-field label span{color:#999;font-weight:400}.booking-confirm-button{margin-top:4px}.secure-note{text-align:center;color:#999;margin-top:12px;font-size:12px}.unavailable-card{background:#f7f7f7;border-radius:12px;margin-top:24px;padding:18px}.unavailable-card strong{margin-bottom:5px;display:block}.unavailable-card p{color:var(--muted);margin-bottom:14px}.alternative-slots{flex-wrap:wrap;gap:8px;display:flex}.alternative-slots button{color:var(--black);background:#fff;border:1px solid #ddd;border-radius:8px;padding:9px 14px}.alternative-slots button:hover{border-color:#999}.confirmation{text-align:center;padding:20px 0}.confirmation-icon{width:48px;height:48px;margin:0 auto 20px;font-size:20px}.confirmation h1{letter-spacing:-.03em;margin:0;font-size:30px}.confirmation-message{color:var(--muted);margin-top:10px}.confirmation-card{border:1px solid var(--border);text-align:left;border-radius:12px;margin-top:28px;padding:4px 20px}.confirmation-card div{border-bottom:1px solid var(--border);justify-content:space-between;gap:20px;padding:15px 0;display:flex}.confirmation-card div:last-child{border-bottom:0}.confirmation-card span{color:var(--muted);font-size:14px}.confirmation-card strong{text-align:right}.confirmation-small{color:#999;margin-top:22px;font-size:13px}@media (width<=600px){.booking-widget{min-height:100vh;box-shadow:none;border:0;border-radius:0;margin:0;padding:28px 20px}.booking-header h1{font-size:28px}.form-grid{grid-template-columns:1fr;gap:0}}
