/* Reusable styles for room details layouts (tables, sections) */

/* Container that holds the pricing/details table */
.roomPrice {
  width: 100%;
  max-width: 760px;
}

/* Base table styling */
.roomDetailsTbl {
  width: 100%;
  border-collapse: collapse;
  background-color: #ffffff;
}

/* Generic flex-based rates layout (preferred) */
.rates {
  width: 100%;
  max-width: 760px;
}
.rates .rateItem {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding: 12px 16px; /* add left/right padding */
  border-bottom: 1px solid #e5e7eb;
}
.rates .rateItem:nth-child(1) {
  background-color: #fffbeb;
} /* amber-50 */
.rates .rateItem:nth-child(2) {
  background-color: #f0f9ff;
} /* sky-50 */
.rates .rateItem:nth-child(3) {
  background-color: #f7fee7;
} /* lime-50 */
.rates .rateItem:nth-child(4) {
  background-color: #fdf2f8;
} /* pink-50 */
.rates .rateItem:nth-child(5) {
  background-color: #f5f3ff;
} /* violet-50 */
.rates .rateItem:last-child {
  border-bottom: none;
}
.rates .rateLabel {
  flex: 1 1 auto;
  color: #374151;
  font-weight: 600;
}
.rates .ratePrice {
  flex: 0 0 auto;
  min-width: max-content;
  text-align: right;
  font-weight: 700;
  color: #111827;
}
.rates .rateNote {
  margin-top: 8px;
  color: #4b5563;
  font-weight: 400;
}
.rates .rateItem .rateNote {
  flex-basis: 100%;
}

/* Neutralize legacy borders from older stylesheets */
.roomDetailsTbl,
.roomDetailsTbl td {
  border: 0 !important;
}

.roomDetailsTbl tr {
  border-bottom: 1px solid #e5e7eb; /* gray-200 */
}

.roomDetailsTbl tr:last-child {
  border-bottom: none;
}

.roomDetailsTbl td {
  padding: 12px 16px;
  vertical-align: top;
}

/* Two-column layout on larger screens */
.roomDetailsTbl td:first-child {
  color: #374151; /* gray-700 */
  font-weight: 600;
  width: 65%;
}

.roomDetailsTbl td:last-child {
  text-align: right;
  width: 35%;
  font-weight: 700;
  color: #111827; /* gray-900 */
}

/* Remove legacy max-width from older stylesheet that constrains value column */
.roomDetailsTbl td:nth-child(2),
.roomDetailsTbl td:last-child {
  max-width: none !important;
}

/* Paragraph inside value cell */
.roomDetailsTbl td p {
  margin: 8px 0 0 0;
  font-weight: 400;
  color: #4b5563; /* gray-600 */
  text-align: left;
}

/* Responsive behavior: stack rows into cards on small screens */
@media (max-width: 640px) {
  .roomDetailsTbl {
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    overflow: hidden;
  }

  /* (Borders already neutralized globally) */

  .roomDetailsTbl tr {
    display: block;
    padding: 12px 14px;
  }

  .roomDetailsTbl td {
    display: block;
    width: 100% !important;
    padding: 6px 0;
    text-align: left !important;
  }

  .roomDetailsTbl td:first-child {
    margin-bottom: 2px;
    font-weight: 600;
    color: #1f2937; /* gray-800 */
  }

  .roomDetailsTbl td:last-child {
    font-size: 1.1rem;
    font-weight: 700;
    color: #111827;
  }
}
