/*
 * Room type picker (templates/partials/room_picker.html, static/js/room-picker.js).
 * Without JavaScript the list is a plain column of checkboxes; .js-room-picker turns it
 * into a dropdown spanning the Guests + Room type row (the nearest `relative` parent).
 */
.room-button {
  display: none;
}

.room-list {
  display: flex;
  flex-direction: column;
}

.room-option {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 60px;
  padding: 8px 14px;
  color: #0f172a;
  cursor: pointer;
}

.room-option.is-disabled {
  color: #94a3b8;
  cursor: default;
}

.room-sub {
  color: #475569;
}

.room-option.is-disabled .room-sub {
  color: #94a3b8;
}

.room-box,
.room-footer {
  display: none;
}

.js-room-picker .room-button {
  display: flex;
  cursor: pointer;
}

.js-room-picker.is-open .room-button {
  border-color: #1d4ed8;
  box-shadow: 0 0 0 2px rgba(29, 78, 216, 0.2);
}

.js-room-picker .room-button:focus-visible {
  outline: none;
  border-color: #1d4ed8;
  box-shadow: 0 0 0 2px rgba(29, 78, 216, 0.2);
}

.js-room-picker .room-list {
  display: none;
  position: absolute;
  z-index: 25;
  left: 0;
  right: 0;
  top: 100%;
  margin-top: 6px;
  padding-top: 6px;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.16);
  overflow: hidden;
}

.js-room-picker.is-open .room-list {
  display: flex;
}

.js-room-picker .room-option.is-on {
  background: #eff6ff;
}

.js-room-picker .room-option:not(.is-disabled):hover {
  background: #f1f5f9;
}

.js-room-picker .room-option:focus-visible {
  outline: 2px solid #1d4ed8;
  outline-offset: -2px;
}

.js-room-picker .room-box {
  display: flex;
  flex: 0 0 20px;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border: 2px solid #94a3b8;
  border-radius: 5px;
  background: #ffffff;
}

.js-room-picker .room-box svg {
  visibility: hidden;
}

.js-room-picker .room-option.is-on .room-box {
  border-color: #1d4ed8;
  background: #1d4ed8;
}

.js-room-picker .room-option.is-on .room-box svg {
  visibility: visible;
}

.js-room-picker .room-option.is-disabled .room-box {
  border-color: #e2e8f0;
}

.js-room-picker .room-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 4px;
  padding: 8px 10px 8px 14px;
  border-top: 1px solid #e2e8f0;
}
