/* General Form Styling */
form#dinner_booking_form {
  max-width: 800px;
  margin: 0 auto;
  padding: 20px;
  border: 1px solid #ccc;
  border-radius: 8px;
  background-color: #f9f9f9;
  font-family: Arial, sans-serif;
  font-size: 14px;
}

/* Table Styling */
form#dinner_booking_form table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 20px;
}

form#dinner_booking_form table th,
form#dinner_booking_form table td {
  border: 1px solid #ddd;
  padding: 10px;
  text-align: left;
}

form#dinner_booking_form table th {
  background-color: #f2f2f2;
  font-weight: bold;
}

form#dinner_booking_form table tr:nth-child(even) {
  background-color: #f9f9f9;
}

/* Input Fields */
form#dinner_booking_form input[type="text"],
form#dinner_booking_form select,
form#dinner_booking_form textarea {
  width: 100%;
  padding: 10px;
  margin: 5px 0;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
}

/* Button Styling */
form#dinner_booking_form button.button-primary {
  background-color: #0073aa;
  color: #fff;
  padding: 10px 20px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 16px;
}

form#dinner_booking_form button.button-primary:hover {
  background-color: #005177;
}

/* Error Message Styling */
.dinner-error-message {
  color: #d9534f;
  background-color: #f2dede;
  border: 1px solid #ebccd1;
  padding: 10px;
  border-radius: 4px;
  margin-bottom: 20px;
}

/* Additional Details Textarea */
form#dinner_booking_form textarea {
  height: 100px;
  resize: vertical;
}

form#dinner_booking_form .helper-message {
  display: none;
}

/* Responsive Styling for Mobile Screens */
@media (max-width: 768px) {
  form#dinner_booking_form {
    padding: 10px;
  }

  form#dinner_booking_form .helper-message {
    display: block;
  }

  form#dinner_booking_form table {
    display: block;
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
  }

  form#dinner_booking_form table tbody {
    width: 100%;
  }

  form#dinner_booking_form table th,
  form#dinner_booking_form table td {
    display: block;
    width: 100%;
    text-align: left;
    border: none;
    padding: 8px 0;
  }

  table#attendee_details thead {
    display: none;
  }

  form#dinner_booking_form table th {
    font-weight: bold;
    background-color: transparent;
  }

  form#dinner_booking_form table tr {
    display: block;
    margin-bottom: 10px;
    border-bottom: 1px solid #ddd;
  }

  form#dinner_booking_form button.button-primary {
    width: 100%;
    font-size: 18px;
    padding: 12px;
  }

  form#dinner_booking_form input[type="text"],
  form#dinner_booking_form select,
  form#dinner_booking_form textarea {
    font-size: 16px;
    width: 100%;
  }
}
