/* booking-page.css */

/* Global layout */
body {
  font-family: Arial, sans-serif;
  background-color: #f4f7f9;
  margin: 0;
  font-family: 'Arial', sans-serif;
  color: #343a40;
  line-height: 1.6;
}
header{
  background-color: #007bff;
  padding: 20px 0;
  text-align: center;
  color:#fff;
}
h1 {
  margin:0;  
}
main {
    margin: 20px auto;
    padding: 20px;
}
footer {
    background-color: #343a40;
    color: #ffffff;
    text-align: center;
    padding: 15px 0;
}
footer p {
    color:#ffffff;
}
/* Hide sections by default if they have .disabled */
.section {
  border: 1px solid #ccc;
  border-radius: 5px;
  padding: 1em;
  margin-bottom: 20px;
}
.section.disabled {
  display: none; /* fully hidden */
}

/* Site Cards */
#sitesSection h2 {
  margin-top: 0;
}
#siteCards {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}
.site-card {
  border: 1px solid #ccc;
  padding: 1em;
  width: 200px;
  border-radius: 5px;
}
.site-card h3 {
  margin-top: 0;
}
.site-card.selected {
  border-color: #2196f3;
}
.btn-select-site {
  margin-top: 10px;
  padding: 8px 12px;
  cursor: pointer;
  background-color: #2196f3;
  color: white;
  border: none;
  border-radius: 5px;
}

/* Timeslots Section */
#timeslotsSection h2 {
  margin-top: 0;
}
#timeslotsList {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.timeslot-btn {
  background-color: #fff;
  border: 1px solid #2196f3;
  color: #2196f3;
  padding: 8px;
  text-align: center;
  border-radius: 4px;
  cursor: pointer;
}
.timeslot-btn.selected {
  background-color: #2196f3;
  color: #fff;
}
.btn-process-booking {
  margin-top: 1em;
  padding: 10px 16px;
  background-color: #4caf50;
  color: white;
  border: none;
  border-radius: 5px;
  cursor: pointer;
}
.btn-process-booking.disabled {
  opacity: 0.5;
  pointer-events: none;
}

/* Booking Form */
.booking-form-section h2 {
  text-align: center;
}
.booking-form {
  display: flex;
  flex-direction: column;
  max-width: 300px;
  margin: 0 auto; /* center horizontally */
  gap: 10px;
}
.booking-form input {
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
}
.btn-confirm-booking {
  padding: 10px;
  background-color: #2196f3;
  color: white;
  border: none;
  border-radius: 5px;
  cursor: pointer;
}
.booking-message {
  margin-top: 10px;
  text-align: center;
  font-weight: bold;
  color: green; /* or red if error */
}
.btn {
  display: inline-block;
  padding: 1em 1.2em;
  font-size: 1em;
  color: #ffffff;
  background-color: #2196f3;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  text-decoration: none; /* so <a> links that become .btn have no underline */
  transition: background-color 0.2s ease;
}

.btn:hover {
  background-color: #1e88e5; /* Slightly darker shade on hover */
}

.btn:disabled,
.btn.disabled {
  opacity: 0.5;
  cursor: default;
  pointer-events: none;
}
.btn-secondary {
  background-color: #f5a623;
  color: #000000;
}

.btn-secondary:hover {
  background-color: #ee9f1f; /* a bit darker on hover */
}
.booking-summary {
  font-weight: bold;
  margin-bottom: 1em;
}
/* Center the table */
.summary-table {
  margin: 0 auto;     /* center horizontally */
  border-collapse: collapse;
  text-align: left;   /* or left alignment within cells */
}

.summary-table td {
  padding: 0.5em 1em; /* some spacing around text */
  vertical-align: middle;
}

/* Optionally, style the first column differently */
.label-cell {
  font-weight: bold;
  text-align: right;  /* align labels to the right */
}