.hsh-booking-bar{border:1px solid rgba(0,0,0,.12); background:#f8f5ef; padding:18px;}
.hsh-booking-bar__grid{display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; align-items:end;}
.hsh-booking-bar__field span{display:block; margin-bottom:8px; font-size:12px; letter-spacing:.08em; text-transform:uppercase;}
.hsh-booking-bar__field input{width:100%; min-height:48px; border:1px solid rgba(0,0,0,.16); background:#fff; padding:0 14px; border-radius:0;}
.hsh-booking-bar__actions{display:flex; align-items:end; height:100%;}
.hsh-booking-bar__submit,.hsh-booking-result__button,.hsh-booking-form__submit{display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 20px; border:1px solid #111; background:#111; color:#fff; text-decoration:none; cursor:pointer;}
.hsh-booking-page{display:grid; gap:24px;}
.hsh-booking-page__notice{padding:14px 16px; border:1px solid rgba(0,0,0,.1);}
.hsh-booking-page__notice--error{background:#fff2f2; border-color:#e6b2b2;}
.hsh-booking-page__notice--success{background:#f4f7f1; border-color:#b9ceb1;}
.hsh-booking-results{display:grid; gap:18px;}
.hsh-booking-result{display:grid; grid-template-columns:minmax(220px,320px) minmax(0,1fr); gap:18px; padding:16px; border:1px solid rgba(0,0,0,.12); background:#fff;}
.hsh-booking-result.is-selected{outline:2px solid #111; outline-offset:-2px;}
.hsh-booking-result__media img{display:block; width:100%; height:100%; min-height:220px; object-fit:cover;}
.hsh-booking-result__content{display:grid; gap:10px; align-content:start;}
.hsh-booking-result__content h3{margin:0;}
.hsh-booking-result__meta,.hsh-booking-result__desc{margin:0;}
.hsh-booking-result__facts{display:flex; flex-wrap:wrap; gap:10px; font-size:14px; opacity:.78;}
.hsh-booking-result__price{font-size:26px; line-height:1.1;}
.hsh-booking-checkout{border:1px solid rgba(0,0,0,.12); background:#fcfaf7; padding:22px;}
.hsh-booking-form__grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px;}
.hsh-booking-form label span{display:block; margin-bottom:8px; font-size:12px; letter-spacing:.08em; text-transform:uppercase;}
.hsh-booking-form input,.hsh-booking-form textarea{width:100%; border:1px solid rgba(0,0,0,.16); background:#fff; padding:12px 14px; border-radius:0;}
.hsh-booking-form__full{grid-column:1 / -1;}
.hsh-booking-form__note{font-size:13px; opacity:.8; margin:14px 0;}
@media (max-width: 900px){
  .hsh-booking-bar__grid,.hsh-booking-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .hsh-booking-result{grid-template-columns:1fr;}
}
@media (max-width: 640px){
  .hsh-booking-bar__grid,.hsh-booking-form__grid{grid-template-columns:1fr;}
}
