/* C-01 (S15), and the booking page that checkout leads to until B-01 (S18). One column on phones, with the stay and the
   price before the form; from 1024 px the form on the left and the stay and price on the right, sticky (C01_Desktop). */
.bh-co {
  display: grid; grid-template-columns: minmax(0, 1fr); grid-auto-flow: row dense; gap: var(--space-6);
  max-width: 1184px; margin: 0 auto; padding: var(--space-2) var(--page-pad) var(--space-12);
}
.bh-co > * { min-width: 0; }
.bh-co-back {
  justify-self: start; display: inline-flex; align-items: center; gap: var(--space-1); min-height: var(--target-min);
  margin-left: calc(var(--space-2) * -1); padding: 0 var(--space-2); color: var(--primary); font-weight: var(--weight-bold);
  text-decoration: none; overflow-wrap: anywhere;
}
.bh-co-head { display: grid; gap: var(--space-2); justify-items: start; }
.bh-co-side, .bh-co-form { display: grid; gap: var(--space-4); align-content: start; }
.bh-co-stay { display: grid; gap: var(--space-3); overflow-wrap: anywhere; }
.bh-co-dates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); padding-top: var(--space-3); border-top: 1px solid var(--line); }
.bh-co-dates dd { display: grid; margin: 0; }
.bh-co-link { display: inline-flex; align-items: center; justify-self: start; min-height: var(--target-min); color: var(--primary); font-weight: var(--weight-bold); }
.bh-co-price-title { margin-bottom: var(--space-3); }
.bh-co-fields { display: grid; gap: var(--space-4); min-width: 0; margin: 0; }
.bh-co-fields > legend { float: left; width: 100%; padding: 0; }
.bh-co-fields > legend + * { clear: both; }
.bh-co-terms { display: grid; gap: var(--space-3); }
.bh-co-consent-links { display: flex; flex-wrap: wrap; gap: 0 var(--space-4); }
.bh-co-consent-links a { display: inline-flex; align-items: center; min-height: var(--target-min); color: var(--primary); }
.bh-co-submit { display: grid; gap: var(--space-2); }
.bh-co-trust { display: grid; gap: var(--space-2); }
.bh-co-trust > li { display: flex; gap: var(--space-2); align-items: flex-start; }
.bh-co-noemail { display: grid; gap: var(--space-3); }
@media (min-width: 1024px) {
  .bh-co { grid-template-columns: minmax(0, 1fr) 432px; column-gap: var(--space-8); align-items: start; padding-top: var(--space-4); }
  .bh-co > .bh-co-back, .bh-co > .bh-co-head, .bh-co > .bh-co-wide { grid-column: 1 / -1; }
  .bh-co > .bh-co-side { grid-column: 2; position: sticky; top: var(--space-6); }
  .bh-co > .bh-co-form { grid-column: 1; }
}
