/* Bernalo Hotels reservation search — scoped to the custom booking form */
.brnl-form-container {
  box-sizing: border-box;
  width: min(1160px, calc(100% - 32px));
  max-width: 1160px !important;
  margin: 20px auto !important;
  padding: 22px !important;
  border: 1px solid rgba(255, 255, 255, .78);
  border-radius: 18px !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 18px 48px rgba(20, 34, 29, .22) !important;
  backdrop-filter: blur(12px);
  font-family: inherit;
}
#brnl-reservas-form {
  display: grid !important;
  grid-template-columns: minmax(150px, 1.15fr) minmax(150px, 1.05fr) minmax(130px, .9fr) minmax(130px, .9fr) minmax(170px, 1fr);
  align-items: end !important;
  gap: 12px !important;
}
#brnl-reservas-form .brnl-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
  min-width: 0;
}
#brnl-reservas-form .brnl-field-label {
  color: #293b33;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .035em;
  line-height: 1.25;
  text-align: left;
}
#brnl-reservas-form .brnl-form-select,
#brnl-reservas-form .brnl-form-input,
#brnl-reservas-form input[type="date"].brnl-form-input {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  min-width: 0;
  min-height: 54px !important;
  height: 54px !important;
  flex: 0 0 54px !important;
  padding: 0 14px !important;
  border: 1px solid #d9d6ce !important;
  border-radius: 11px !important;
  background-color: #fbfaf7 !important;
  color: #293b33 !important;
  font-family: inherit !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  box-shadow: none !important;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
#brnl-reservas-form .brnl-form-select:focus,
#brnl-reservas-form .brnl-form-input:focus,
#brnl-reservas-form .brnl-form-select:focus-visible,
#brnl-reservas-form .brnl-form-input:focus-visible {
  border-color: #9b7140 !important;
  outline: 2px solid rgba(155, 113, 64, .26) !important;
  outline-offset: 1px;
  box-shadow: none !important;
}
#brnl-reservas-form .brnl-form-select:disabled {
  background-color: #f0eee9 !important;
  color: #77766f !important;
  cursor: not-allowed;
  opacity: 1;
}
#brnl-reservas-form .brnl-form-button {
  box-sizing: border-box;
  width: 100%;
  min-height: 54px !important;
  height: 54px;
  padding: 0 20px !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: #c70f4a !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 700;
  line-height: 1.25 !important;
  white-space: normal;
  box-shadow: 0 7px 18px rgba(151, 12, 56, .2);
  transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
#brnl-reservas-form .brnl-form-button:hover {
  background: #a90d40 !important;
  box-shadow: 0 10px 22px rgba(151, 12, 56, .25);
  transform: translateY(-1px);
}
#brnl-reservas-form .brnl-form-button:focus-visible {
  outline: 3px solid rgba(155, 113, 64, .5) !important;
  outline-offset: 3px;
}
#brnl-reservas-form #brnl-form-message-area {
  grid-column: 1 / -1;
  margin: 0 !important;
  padding: 12px 14px;
  text-align: left;
}
@media (max-width: 1024px) {
  #brnl-reservas-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #brnl-reservas-form .brnl-form-button { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .brnl-form-container {
    width: calc(100% - 24px);
    margin: 14px auto !important;
    padding: 16px !important;
    border-radius: 16px !important;
  }
  #brnl-reservas-form {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px !important;
  }
  #brnl-reservas-form .brnl-field { gap: 6px; }
  #brnl-reservas-form .brnl-field-label { font-size: 13px; }
  #brnl-reservas-form .brnl-form-select,
  #brnl-reservas-form .brnl-form-input,
  #brnl-reservas-form input[type="date"].brnl-form-input,
  #brnl-reservas-form .brnl-form-button {
    min-height: 56px !important;
    height: 56px !important;
    flex: 0 0 56px !important;
  }
  #brnl-reservas-form .brnl-form-button {
    grid-column: auto;
    margin-top: 2px;
  }
  #brnl-reservas-form #brnl-form-message-area { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
  #brnl-reservas-form .brnl-form-select,
  #brnl-reservas-form .brnl-form-input,
  #brnl-reservas-form .brnl-form-button { transition: none; }
}