
/* debug  */
/*#roomsContainer { outline: 2px dashed magenta; }*/
/*#roomsContainer > * { outline: 1px dashed red; } */ 

/* Main header styling */
.main-header {
    background: linear-gradient(to right, #007BFF, #0056b3); /* Gradient background */
    color: #fff; /* White text color */
    padding: 20px; /* Add padding around the header */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
    position: fixed; /* Fix the header at the top */
    top: 0; /* Align it to the top of the page */
    left: 0; /* Align it to the left edge */
    width: 100%; /* Make the header span the full width of the page */
    z-index: 1000; /* Ensure it stays above other elements */
    display: flex; /* Use flexbox for alignment */
    justify-content: space-between; /* Space between h1 and the button */
    align-items: center; /* Vertically align items */
}

/* Header content styling */
.header-content {
    display: flex;
    flex-direction: column; /* Stack h1 and h2 vertically */
    align-items: flex-start; /* Align items to the left */
    text-align: left; /* Align text to the left */
}

.header-content h1 {
    font-size: 25px; /* Larger font size for the main title */
    margin: 0; /* Remove default margin */
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3); /* Add shadow for better readability */
    line-height: 1.2; /* Improve line spacing */
}

.header-content h2 {
    font-size: 16px; /* Smaller font size for the subtitle */
    margin: 5px 0 0; /* Add spacing below h1 */
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3); /* Add shadow for better readability */
    line-height: 1.5; /* Improve line spacing */
}

/* Styling for the LOGIN button */
.explore-button {
    padding: 10px 20px;
    background-color: #007BFF; /* Blue background */
    color: #fff; /* White text */
    font-size: 16px;
    font-weight: bold;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: background-color 0.3s ease, transform 0.2s ease;
    margin-left: 223%; /* Optional if needed */
    margin-top: -10%; /* Adjust this number to align with h1 baseline */
    
}

.explore-button:hover {
    background-color: #0056b3;
    transform: scale(1.05);
}


/* Grid: exactly 3 room-cards per row */
#rooms-container,
.roomContainer {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)); /* 3 per row */
  gap: 18px;
  padding: 18px;
  align-items: stretch;   /* make cards equal height */
  grid-auto-rows: 1fr;    /* ensure row tracks are equal height */
  box-sizing: border-box;
  max-width: 1200px;
  margin: 0 auto;
}

/* Card visuals and sizing */
.room-card {
  background: #fff;
  border-radius: 12px; 
  box-shadow: 0 6px 18px rgba(7,22,50,0.06);
  border: 1px solid rgba(15,23,42,0.04);
  display: flex;
  flex-direction: column;
  height: 100%;          /* fill the grid cell */
  min-height: 0;         /* allow internal flex children to shrink */
  overflow: hidden;
  box-sizing: border-box;
  transition: transform .15s ease, box-shadow .15s ease;
  padding: 12px;
}
.room-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 36px rgba(7,22,50,0.10);
}

/* Main image - same size for every card */
.room-card img,
.room-thumb,
.roomImage {
  width: 100%;
  height: 160px;         /* uniform main image height */
  object-fit: cover;
  object-position: center;
  display: block;
  flex-shrink: 0;
  border-radius: 12px 12px 0 0;
}

/* Info block inside card (titles, description, meta, buttons) */
.room-info,
.room-card > .room-info,
.room-card > .content {
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1 1 auto;
  min-width: 0;
  align-items: center;
  text-align: center;
  overflow: hidden;
}

/* Title / description styling with truncation to fit card */
.room-card h3,
.room-title {
  font-size: 1.05rem;
  font-size: 24px;
  font-weight: bold;
  color: #333;
  margin-bottom: 10px;
  margin: 0px;  
  text-align: center;  
  padding-top: 10px;   
  padding-bottom: 10px; 
}
.room-card, .room-description, .room-price, .room-location, .room-status {
  font-size: 16px;
  color: #333;
  margin: 1px;                  /* remove default margins */
  padding: 0;
  flex: 1 1 auto;
}

/* Centered action buttons pinned to bottom of the card */
.room-info .buttons,
.room-card .buttons {
  display: flex;
  justify-content: center;
  gap: 40px;
  width: 100%;
  margin-top: auto; /* push buttons to bottom */
  padding-bottom: 5px;
  box-sizing: border-box;
  padding-top: 10px;
}
.reserve-btn, .book-btn {
  min-width: 110px;
  padding: 9px 14px;
  border-radius: 8px;
  font-weight: 700;
  cursor: pointer;
  border: 0;
}
.reserve-btn:hover, .book-btn:hover {
  background-color: #0056b3; /* Darker blue on hover */
    color: #fff; /* White text on hover */
    transform: scale(1.05); /* Slightly enlarge on hover */
}

/* Scrollable content container */
.scrollable-content {
    flex: 1;
    overflow: visible; /* remove inner scrolling so the page scrolls instead */
    padding: 20px;
    margin-top: 0; /* header spacing is handled by body { padding-top } */
    background-color: #f8f9fa;
    box-sizing: border-box;
    margin-top: 70px;  /* space from header */
}
/* Responsive fallbacks: 2 cols then 1 col */
@media (max-width: 1000px) {
  #rooms-container,
  .roomContainer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .room-card img { height: 140px; }
}
@media (max-width: 520px) {
  #rooms-container,
  .roomContainer { grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .room-card img { height: 120px; }
}
