/* Reservation layout; shared commercial components own text and surfaces. */
.reservation-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-8); margin-bottom: var(--space-8); }
.reservation-heading > div { min-width: 0; }
.reservation-heading > .c-button { flex: 0 0 auto; }
.reservation-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.reservation-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) 180px auto; align-items: center; gap: var(--space-4); }
.reservation-toolbar .c-toolbar__search { min-width: 0; width: 100%; }
.reservation-toolbar .c-select, .reservation-toolbar .c-select__control { width: 100%; }
.reservation-row { --weight-button: var(--weight-body); grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.3fr) 110px 80px 100px 170px; align-items: center; }
.reservation-row > span { min-width: 0; }
.reservation-row :is(strong, .c-button) { font-weight: var(--weight-body); }
.reservation-row__main { display: grid; gap: var(--space-2); }
.reservation-row__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--space-2); }
.reservation-linked-note { max-width: 170px; text-align: right; }
.reservation-row__comment { grid-column: 1 / -1; }
.reservation-empty .c-button { margin-top: var(--space-4); }
.reservation-modal { width: min(780px, calc(100vw - 32px)); }
.reservation-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); align-items: start; }
.reservation-form-wide { grid-column: 1 / -1; }
.reservation-form-grid .c-select, .reservation-form-grid .c-select__control { width: 100%; }
.reservation-availability { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); padding: var(--space-4); }
.reservation-availability > div { min-width: 0; padding: var(--space-4); }
.reservation-availability__deficit { grid-column: 1 / -1; }
.reservation-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 1120px) {
  .reservation-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .reservation-toolbar { grid-template-columns: minmax(0, 1fr) 180px; }
  .reservation-result-count { grid-column: 1 / -1; }
  .reservation-row { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.3fr) 110px 80px 100px; }
  .reservation-row > :nth-child(6) { grid-column: 1 / -1; }
  .reservation-row--header > :nth-child(6) { display: none; }
}
@media (max-width: 860px) {
  .reservation-row { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
  .reservation-row__main, .reservation-row > :nth-child(2), .reservation-row__actions { grid-column: 1 / -1; }
  .reservation-row__actions { justify-content: flex-start; }
  .reservation-linked-note { max-width: none; text-align: left; }
}
@media (max-width: 700px) {
  .reservation-heading { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .reservation-heading > .c-button { width: 100%; }
  .reservation-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .reservation-toolbar, .reservation-form-grid, .reservation-availability { grid-template-columns: minmax(0, 1fr); }
  .reservation-result-count, .reservation-form-wide { grid-column: auto; }
  .reservation-row__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .reservation-row__actions .c-button { width: 100%; }
}
