.reservation-sub { display:flex; align-items:center; gap:4px; margin-top:34px; font-size:12px; color:#C31616; margin-bottom:2px; }
.reservation-sub-icon { width:14px; height:14px; display:block; }
h1 { margin-top:10px; font-size:24px; color:#101828; }
.reservation-description { font-size:14px; margin:8px 0 22px; color:#667085; }
.reservation-check-form { margin:0 0 44px; padding:18px 14px; border:1px solid #ccc; border-radius:12px; background:#fff; }
.reservation-check-title { margin:0 0 16px; color:#101828; font-size:17px; font-weight:800; }
.reservation-row { display:grid; grid-template-columns:86px 1fr; min-height:44px; margin-top:10px; border-radius:10px; background:#fff; overflow:hidden; }
.reservation-row:first-of-type { margin-top:0; }
.reservation-label { display:flex; align-items:center; padding:10px 12px; color:#667085; font-size:13px; }
.reservation-required { margin-left:3px; color:#C31616; font-weight:800; }
.reservation-field { display:flex; align-items:center; gap:6px; padding:8px 10px; color:#101828; font-size:13px; }
.reservation-input { width:100%; height:36px; padding:0 10px; border:1px solid #d0d5dd; border-radius:8px; background:#fff; color:#101828; font-size:13px; box-sizing:border-box; }
.reservation-input:focus { border-color:#C31616; outline:none; }
.reservation-phone { display:grid; grid-template-columns:1fr 8px 1fr 8px 1fr; align-items:center; gap:6px; width:100%; }
.reservation-hyphen { color:#667085; text-align:center; }
.reservation-actions { display:flex; gap:8px; margin-top:16px; }
.reservation-link { flex:1; display:flex; align-items:center; justify-content:center; height:46px; border-radius:10px; background:#e4e7ec; color:#344054; font-size:14px; font-weight:700; text-decoration:none; }
.reservation-submit { flex:1; height:46px; border:0; border-radius:10px; background:#C31616; color:#fff; font-size:14px; font-weight:700; }
