.servio-hotel-booking { box-sizing: border-box; max-width: 52rem; }
.servio-hotel-booking > form { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1.5rem; }
.servio-hotel-booking label { display: grid; gap: .35rem; }
.servio-hotel-booking label > span { font-weight: 650; }
.servio-hotel-booking input,
.servio-hotel-booking textarea { box-sizing: border-box; width: 100%; min-height: 2.8rem; padding: .65rem .75rem; border: 1px solid color-mix(in srgb, currentColor 24%, transparent); border-radius: .45rem; font: inherit; color: inherit; background: transparent; }
.servio-hotel-booking button { grid-column: 1 / -1; min-height: 3rem; border: 0; border-radius: .5rem; padding: .7rem 1.2rem; background: #176b45; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.servio-hotel-options h3,
.servio-hotel-options .wide,
.servio-hotel-options .servio-room-option { grid-column: 1 / -1; }
.servio-room-option { display: grid !important; grid-template-columns: auto 1fr auto; align-items: center; gap: .8rem !important; padding: 1rem; border: 1px solid color-mix(in srgb, currentColor 18%, transparent); border-radius: .65rem; }
.servio-room-option input { width: 1.2rem; min-height: 1.2rem; }
.servio-room-option span { display: grid; }
.servio-room-option small { font-weight: 400; }
.servio-room-option b { white-space: nowrap; }
.servio-hotel-empty { padding: 1rem; border-radius: .5rem; background: color-mix(in srgb, currentColor 6%, transparent); }
@media (max-width: 560px) {
  .servio-hotel-booking > form { grid-template-columns: 1fr; }
  .servio-hotel-options h3,
  .servio-hotel-options .wide,
  .servio-hotel-options .servio-room-option,
  .servio-hotel-booking button { grid-column: auto; }
  .servio-room-option { grid-template-columns: auto 1fr; }
  .servio-room-option b { grid-column: 2; }
}
