:root{
    --rad-res-green:#3f4a43;
    --rad-res-green2:#657067;
    --rad-res-cream:#d8c7a5;
    --rad-res-cream-soft:#f3eee4;
    --rad-res-ink:#242824;
    --rad-res-border:#dde1dc;
}
.rad-reservations{color:var(--rad-res-ink);font-family:Inter,system-ui,-apple-system,sans-serif}
.rad-reservations__header{text-align:center;margin-bottom:28px}
.rad-reservations__kicker{display:inline-block;margin-bottom:12px;color:var(--rad-res-green2);font-size:.72rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.rad-reservations__header h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.2rem,5vw,4rem);font-weight:500;line-height:1}
.rad-reservations__header p{max-width:620px;margin:16px auto 0;color:#6e756f}
.rad-reservations__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.rad-reservations label span{display:block;margin-bottom:7px;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.rad-reservations input,.rad-reservations select,.rad-reservations textarea{width:100%;padding:13px 14px;border:1px solid var(--rad-res-border);background:#fff;color:var(--rad-res-ink);border-radius:0}
.rad-reservations small{display:block;margin-top:5px;color:#747a75}
.rad-reservations__notes{display:block;margin-top:16px}
.rad-reservations__rules{margin-top:22px;padding:20px;background:var(--rad-res-cream-soft);border-left:4px solid var(--rad-res-cream);font-size:.92rem;line-height:1.75}
.rad-reservations__rules h3{margin:0 0 10px;font-family:Georgia,serif;font-size:1.35rem;font-weight:500}
.rad-reservations__group-note{margin-top:14px;color:#656b66;font-size:.9rem}
.rad-reservations__accept{display:flex!important;align-items:flex-start;gap:9px;margin-top:18px}
.rad-reservations__accept input{width:auto;margin-top:3px}
.rad-reservations__accept span{margin:0!important;text-transform:none!important;letter-spacing:0!important;font-weight:600!important}
.rad-reservations__submit{display:inline-flex;justify-content:center;align-items:center;margin-top:20px;min-height:52px;padding:0 28px;border:1px solid var(--rad-res-green);background:var(--rad-res-green);color:#fff;font-weight:800;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.rad-reservations__submit[disabled]{opacity:.5;cursor:wait}
.rad-reservations__result{margin-top:14px;font-weight:700}
.rad-reservations__result.is-error{color:#9a2f2f}
.rad-reservations__result.is-success{color:#2c6a44}

.rad-reservation-modal{position:fixed;z-index:999999;inset:0;display:none;align-items:flex-start;justify-content:center;padding:30px 18px;overflow:auto}
.rad-reservation-modal.is-open{display:flex}
.rad-reservation-modal__backdrop{position:fixed;inset:0;border:0;background:rgba(18,22,19,.72);cursor:pointer}
.rad-reservation-modal__dialog{position:relative;z-index:2;width:min(100%,980px);margin:auto;padding:clamp(28px,5vw,54px);background:#fff;box-shadow:0 30px 100px rgba(0,0,0,.28)}
.rad-reservation-modal__close{position:absolute;top:14px;right:16px;width:40px;height:40px;border:0;background:transparent;color:var(--rad-res-ink);font-size:2rem;line-height:1;cursor:pointer}
body.rad-reservation-modal-open{overflow:hidden}

@media(max-width:760px){
    .rad-reservations__grid{grid-template-columns:1fr}
    .rad-reservation-modal{padding:10px}
    .rad-reservation-modal__dialog{padding:42px 18px 24px}
}
