.reservation-layout { max-width: 54rem; }
.reservation-notice { border-left: 4px solid var(--gold, #c99c3c); padding: .8rem 1rem; background: var(--paper, #f8f7f4); }
.reservation-form { margin-top: 2rem; padding: clamp(1rem, 4vw, 2rem); border: 1px solid #ccd3dc; border-radius: var(--radius, 12px); background: #fff; }
.reservation-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
.form-field { display: flex; flex-direction: column; gap: .4rem; margin-bottom: 1.2rem; }
.form-field label { font-weight: 600; color: var(--ink, #172536); }
.form-field input, .form-field textarea { width: 100%; min-width: 0; box-sizing: border-box; min-height: 48px; padding: .8rem; border: 1px solid #8695a7; border-radius: 6px; background: #fff; color: #172536; font: inherit; font-size: 1rem; }
.form-field textarea { resize: vertical; }
.form-field input:focus, .form-field textarea:focus { outline: 3px solid #b4cde9; outline-offset: 2px; border-color: #143c72; }
.form-help { font-size: .9rem; line-height: 1.65; }
.form-honeypot { display: none !important; }
.map-block { margin-top: 2.5rem; }
.map-block iframe { display: block; width: 100%; height: 420px; margin-top: 1rem; border: 0; border-radius: 12px; background: #f2f4f7; }
.map-block iframe[hidden] { display: none; }
.map-load[hidden] { display: none !important; }
.map-link { margin-top: 1rem; }
.lang-quick { text-decoration: none; }
.lang-quick[aria-current="page"] { border-color: var(--blue-deep, #143c72); background: var(--paper, #f8f7f4); }
@media (max-width: 38rem) {
  .reservation-grid { grid-template-columns: 1fr; gap: 0; }
  .map-block iframe { height: 320px; }
}
@media (min-width: 78rem) and (max-width: 100rem) {
  .site-header__inner { flex-wrap: wrap; padding-block: .65rem; }
  .nav-desktop { order: 3; flex: 0 0 100%; flex-wrap: wrap; justify-content: center; gap: .5rem 1.2rem; }
}
