/* DormProject / BookworldHostels widget skin – v0.6.5 */
#bwh_booking_box {
  float: none !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: "Avenir Next", "Trebuchet MS", ui-sans-serif, system-ui, sans-serif !important;
}

#bwh_booking_box_wrap {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#bwh_booking_box_titel_wrap { display: none !important; }

#bwh_booking_box_discount {
  float: none !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin: 0 0 1rem !important;
  padding: .65rem .85rem !important;
  border: 1px solid #d49c70 !important;
  border-radius: 12px !important;
  background: #ffe3a8 !important;
  color: #9d2631 !important;
}

.bwh-booking-box-discount-percent {
  display: inline !important;
  width: auto !important;
  font-size: 1.15rem !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
}

.bwh-booking-box-discount-text {
  display: inline !important;
  width: auto !important;
  margin-left: .35rem !important;
  font-size: .9rem !important;
  font-weight: 750 !important;
  line-height: 1.3 !important;
}

#bwh_booking_box_termine,
#bwh_booking_box_filter_wrap,
#bwh_booking_box_actions {
  float: none !important;
  clear: both !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.bwh-legacy-empty { display: none !important; }

/* One explicit desktop row: Personen | Anreise | Abreise | Buchen */
#bwh_booking_primary_row.bwh-primary-normalized {
  display: grid !important;
  grid-template-columns: minmax(140px, 170px) minmax(220px, 265px) minmax(220px, 265px) minmax(160px, 185px) !important;
  justify-content: center !important;
  gap: .8rem !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 940px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

#bwh_booking_primary_row > .bwh-normalized-field,
#bwh_booking_primary_row > #bwh_booking_box_find_button {
  float: none !important;
  clear: none !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#bwh_booking_primary_row > .bwh-field-guests { grid-column: 1 !important; }
#bwh_booking_primary_row > .bwh-field-arrival { grid-column: 2 !important; }
#bwh_booking_primary_row > .bwh-field-departure { grid-column: 3 !important; }
#bwh_booking_primary_row > #bwh_booking_box_find_button { grid-column: 4 !important; }

.bwh-booking-box-filter-feld-wrap,
.bwh-normalized-field {
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.bwh-booking-box-filter-feld,
.bwh_booking_box_loginbereich-feld,
#bwh_booking_primary_row select,
#bwh_booking_primary_row input:not([type="hidden"]) {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 3.55rem !important;
  height: 100% !important;
  margin: 0 !important;
  padding: .85rem 3rem .85rem 1rem !important;
  border: 1px solid #cdbca9 !important;
  border-radius: 13px !important;
  background: #fff !important;
  color: #252321 !important;
  font-size: 1rem !important;
  box-shadow: none !important;
}

.bwh-booking-box-filter-feld:focus,
.bwh_booking_box_loginbereich-feld:focus,
#bwh_booking_primary_row select:focus,
#bwh_booking_primary_row input:not([type="hidden"]):focus {
  outline: none !important;
  border-color: #c93f49 !important;
  box-shadow: 0 0 0 3px rgba(201, 63, 73, .14) !important;
}

.bwh-booking-box-filter-calendar-icon {
  float: none !important;
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  width: 21px !important;
  height: 21px !important;
  margin: -39px 13px 18px auto !important;
  opacity: .58 !important;
  overflow: visible !important;
  pointer-events: none !important;
}

#bwh_booking_box_find_button,
#bwh_booking_box_button_changeres,
#bwh_booking_box_button_dologin {
  float: none !important;
  clear: none !important;
  cursor: pointer !important;
}

#bwh_booking_box_find_button p,
#bwh_booking_box_button_dologin p {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 3.55rem !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: .9rem 1rem !important;
  border: 2px solid #282421 !important;
  border-radius: 999px !important;
  background: #c93f49 !important;
  box-shadow: 3px 4px 0 rgba(40, 36, 33, .12) !important;
  color: #fff !important;
  font-size: .92rem !important;
  font-weight: 850 !important;
  letter-spacing: .02em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

#bwh_booking_box_find_button:hover p,
#bwh_booking_box_button_dologin:hover p {
  border-color: #9d2631 !important;
  background: #9d2631 !important;
}

/* Change / cancel is deliberately secondary and no longer competes with booking. */
#bwh_booking_secondary_row.bwh-secondary-normalized {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  width: 100% !important;
  margin: .75rem 0 0 !important;
  padding: 0 !important;
}

#bwh_booking_secondary_row > #bwh_booking_box_button_changeres {
  position: relative !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#bwh_booking_secondary_row #bwh_booking_box_button_changeres p {
  box-sizing: border-box !important;
  width: auto !important;
  min-height: 2.65rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: .65rem 2.5rem .65rem 1rem !important;
  border: 1px solid #c9aa9e !important;
  border-radius: 999px !important;
  background: rgba(255, 253, 248, .72) !important;
  box-shadow: none !important;
  color: #7f2730 !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.1 !important;
  text-transform: none !important;
}

#bwh_booking_secondary_row #bwh_booking_box_button_changeres:hover p {
  border-color: #9d2631 !important;
  background: #fff7e9 !important;
  color: #9d2631 !important;
}

#bwh_booking_login_pfeil_unten {
  float: none !important;
  position: absolute !important;
  z-index: 2 !important;
  right: .8rem !important;
  top: 50% !important;
  width: 17px !important;
  height: auto !important;
  margin: 0 !important;
  opacity: .55 !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
}

#bwh_booking_box_login_klappe {
  float: none !important;
  width: 100% !important;
  padding: 1rem 0 0 !important;
}

#bwh_booking_box_button_dologin {
  width: 100% !important;
  margin: .75rem 0 0 !important;
  padding: 0 !important;
}

#bwh_booking_box_login_error,
#bwh_booking_box_login_error_text {
  float: none !important;
  width: 100% !important;
  padding: .7rem 0 0 !important;
  color: #9d2631 !important;
  font-size: .9rem !important;
  font-weight: 750 !important;
  text-align: left !important;
}

@media (max-width: 900px) {
  #bwh_booking_primary_row.bwh-primary-normalized {
    grid-template-columns: minmax(125px, .7fr) minmax(0, 1fr) minmax(0, 1fr) !important;
  }
  #bwh_booking_primary_row > .bwh-field-guests { grid-column: 1 !important; grid-row: 1 !important; }
  #bwh_booking_primary_row > .bwh-field-arrival { grid-column: 2 !important; grid-row: 1 !important; }
  #bwh_booking_primary_row > .bwh-field-departure { grid-column: 3 !important; grid-row: 1 !important; }
  #bwh_booking_primary_row > #bwh_booking_box_find_button { grid-column: 1 / -1 !important; grid-row: 2 !important; }
}

@media (max-width: 760px) {
  #bwh_booking_primary_row.bwh-primary-normalized {
    grid-template-columns: 1fr !important;
    gap: .7rem !important;
  }
  /* Preserve the established mobile flow: Anreise, Abreise, Personen, Buchen. */
  #bwh_booking_primary_row > .bwh-field-arrival { grid-column: 1 !important; grid-row: 1 !important; }
  #bwh_booking_primary_row > .bwh-field-departure { grid-column: 1 !important; grid-row: 2 !important; }
  #bwh_booking_primary_row > .bwh-field-guests { grid-column: 1 !important; grid-row: 3 !important; }
  #bwh_booking_primary_row > #bwh_booking_box_find_button { grid-column: 1 !important; grid-row: 4 !important; }

  #bwh_booking_secondary_row.bwh-secondary-normalized {
    justify-content: stretch !important;
  }
  #bwh_booking_secondary_row > #bwh_booking_box_button_changeres,
  #bwh_booking_secondary_row #bwh_booking_box_button_changeres p {
    width: 100% !important;
  }
}
