.demo-booking { color: #211f19; font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
.demo-booking__header { margin-bottom: 1.25rem; }
.demo-booking__eyebrow { color: #8a6514; font-size: .75rem; font-weight: 750; letter-spacing: .12em; margin: 0 0 .5rem; text-transform: uppercase; }
.demo-booking h1, .demo-booking h2 { color: #17150f; font-family: Georgia, serif; font-weight: 500; line-height: 1.12; margin: 0 0 .75rem; }
.demo-booking h1 { font-size: clamp(2rem, 6vw, 3.4rem); }
.demo-booking h2 { font-size: clamp(1.6rem, 4vw, 2.1rem); }
.demo-booking p { line-height: 1.6; }
.demo-booking__muted { color: #6c675b; }
.demo-booking__notice { background: #f7f2e6; border-left: 3px solid #b88a2b; margin: 1rem 0; padding: .75rem 1rem; }
.demo-booking__slots { display: grid; gap: .6rem; margin: 1rem 0 1.25rem; }
.demo-booking__slot { align-items: center; background: #fff; border: 1px solid #d9d2c4; cursor: pointer; display: flex; gap: .7rem; padding: .8rem .9rem; }
.demo-booking__slot:has(input:checked) { border-color: #9b711c; box-shadow: 0 0 0 1px #9b711c; }
.demo-booking__form { display: grid; gap: 1rem; }
.demo-booking__grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.demo-booking__field { display: grid; gap: .35rem; }
.demo-booking__field--full { grid-column: 1 / -1; }
.demo-booking label, .demo-booking legend { color: #2d2a23; font-size: .9rem; font-weight: 700; }
.demo-booking input, .demo-booking select, .demo-booking textarea { background: #fff; border: 1px solid #cfc7b8; border-radius: 3px; box-sizing: border-box; color: #211f19; font: inherit; padding: .75rem; width: 100%; }
.demo-booking input:focus-visible, .demo-booking select:focus-visible, .demo-booking textarea:focus-visible, .demo-booking button:focus-visible, .demo-booking a:focus-visible { outline: 3px solid #d6ac55; outline-offset: 2px; }
.demo-booking fieldset { border: 0; margin: 0; padding: 0; }
.demo-booking__checks { display: grid; gap: .5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: .5rem; }
.demo-booking__check { align-items: center; display: flex; font-weight: 500 !important; gap: .45rem; }
.demo-booking__check input { height: 1rem; width: 1rem; }
.demo-booking__button { background: #1d1b16; border: 1px solid #1d1b16; border-radius: 3px; color: #fff; cursor: pointer; font: inherit; font-weight: 750; min-height: 46px; padding: .75rem 1.1rem; }
.demo-booking__button[disabled] { cursor: wait; opacity: .58; }
.demo-booking__button--secondary { background: #fff; color: #1d1b16; }
.demo-booking__actions { align-items: center; display: flex; flex-wrap: wrap; gap: .75rem; }
.demo-booking__error { color: #8e241e; font-weight: 650; margin: 0; }
.demo-booking__privacy { color: #6c675b; font-size: .82rem; margin: 0; }
.demo-booking__privacy a { color: #5f4510; }
.demo-booking__honeypot { height: 1px; left: -10000px; overflow: hidden; position: absolute; width: 1px; }
@media (max-width: 620px) {
  .demo-booking__grid, .demo-booking__checks { grid-template-columns: 1fr; }
  .demo-booking__field--full { grid-column: auto; }
}
