/* Focused refinement of the reservation flow; shared customer navbar stays intact. */
.dglt-minimal.premium-reservation-page .reservation-form-card {
  border-radius: 22px;
  border-color: #eadfd5;
  box-shadow: 0 18px 54px rgba(40, 25, 19, .075);
}
.dglt-minimal.premium-reservation-page .premium-reservation-steps {
  gap: 10px;
  margin: 30px auto 0;
  max-width: 900px;
}
.dglt-minimal.premium-reservation-page .premium-reservation-steps > span {
  padding: 10px 14px;
  border: 1px solid #e5dcd2;
  border-radius: 999px;
  background: #fff;
  color: #6b625d;
}
.dglt-minimal.premium-reservation-page .premium-reservation-steps > span.current {
  border-color: #c71821;
  background: #fff0ee;
  color: #ac0610;
}
.dglt-minimal.premium-reservation-page .premium-reservation-steps > span.complete {
  border-color: #cbe4d3;
  background: #f1faf4;
  color: #19693a;
}
.dglt-minimal.premium-reservation-page .premium-reservation-steps > span.complete strong {
  background: #197343;
  color: white;
}
.reservation-progress-message {
  margin: 16px 0 0;
  text-align: center;
  color: #665d57;
  font-size: .88rem;
}
.reservation-draft-notice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px 15px;
  margin: 0 0 24px;
  padding: 13px 18px;
  border: 1px solid #e9ddc8;
  border-radius: 13px;
  background: #fffaf1;
}
.reservation-draft-notice p { margin: 0; color: #675441; font-size: .82rem; line-height: 1.5; }
.reservation-draft-notice .reservation-text-button { margin: 0; }
.reservation-comparison-hint { margin: 2px 0 8px; color: #67605a; font-size: .86rem; line-height: 1.5; }
.dglt-minimal.premium-reservation-page .reservation-package-choices {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 225px), 1fr));
  gap: 14px;
}
.dglt-minimal.premium-reservation-page .reservation-package-choice {
  gap: 9px;
  min-height: 285px;
  padding: 20px;
  border-radius: 17px;
  box-shadow: 0 8px 26px rgba(39, 24, 19, .045);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.dglt-minimal.premium-reservation-page .reservation-package-choice:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 32px rgba(39, 24, 19, .1);
}
.dglt-minimal.premium-reservation-page .reservation-package-choice.selected {
  border: 2px solid #c71821;
  background: #fff8f6;
}
.reservation-package-detail { display: block; color: #514943; font-size: .79rem; line-height: 1.45; }
.reservation-package-choice small { overflow-wrap: anywhere; }
.reservation-track-link {
  display: inline-flex;
  padding: 10px 16px;
  border-radius: 9px;
  background: #b90008;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}
.reservation-track-link:hover { background: #8d070c; color: #fff; }
.dglt-minimal.premium-reservation-page :is(button, a, input, select, textarea):focus-visible {
  outline: 3px solid #a81922;
  outline-offset: 3px;
}
@media (max-width: 650px) {
  .dglt-minimal.premium-reservation-page .premium-reservation-steps > span { padding: 7px 9px; }
  .dglt-minimal.premium-reservation-page .reservation-package-choice { min-height: 0; }
}
