html,
body {
  height: 100%;
}

.page-wrapper {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.content {
  flex: 1;
}

.hero-section {
  background: linear-gradient(rgba(0, 150, 150, 0.8), rgba(0, 150, 150, 0.8));

  background-size: cover;
  background-position: center;

  padding: 120px 0;
}

/* Appoiment Booking Page CSS Code */

/* Appointment Title */

.appointment-title {
  font-weight: 700;
  font-size: 34px;
  color: #2c8f8f;
  position: relative;
  margin-bottom: 20px;
}

.appointment-title::after {
  content: "";
  width: 60px;
  height: 3px;
  background: #2c8f8f;
  display: block;
  margin: 10px auto;
  border-radius: 3px;
}

/* Appointment Card */

.appointment-card {
  background: #fff;
  border-radius: 15px;
  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.08);
  transition: 0.3s;
}

.appointment-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}

/* Inputs */

.form-input {
  border-radius: 8px;
  padding: 10px;
  border: 1px solid #ddd;
}

.form-input:focus {
  border-color: #2c8f8f;
  box-shadow: 0 0 6px rgba(44, 143, 143, 0.4);
}

/* Button */

/* .appointment-btn.w-100 {
  background: #2c8f8f;
  border: none;
  padding: 12px;
  border-radius: 8px;
  font-weight: 600;
  transition: 0.3s;
  color: #fff;
}

.appointment-btn.w-100:hover {
  background: #256f6f;
  transform: scale(1.03);
  color: #f1f1f1;
} */

.appointment-btn.w-100 {
  background: linear-gradient(135deg, #2c8f8f, #5cc9c9);
  border: none;
  padding: 14px;
  border-radius: 10px;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.4px;
  transition: all 0.35s ease;
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15);
}

/* Hover effect */
.appointment-btn.w-100:hover {
  background: linear-gradient(135deg, #247777, #4db5b5);
  transform: translateY(-3px);
  box-shadow:
    0 10px 25px rgba(0, 0, 0, 0.25),
    0 0 15px rgba(92, 201, 201, 0.6);
}

/* Click effect */
.appointment-btn.w-100:active {
  transform: scale(0.97);
  box-shadow: 0 4px 10px rgba(226, 226, 226, 0.2);
}

.form-input:disabled {
  background: #f1f1f1;
  cursor: not-allowed;
}

.rela-alert {
  background: #fff4f4;
  border-left: 4px solid #ff4d4d;
  padding: 12px 15px;
  margin-top: 10px;
  border-radius: 6px;
  font-size: 14px;
  color: #444;
}

.direct-alert {
  background: #e8f8ee;
  border-left: 4px solid #28a745;
  padding: 12px;
  margin-top: 10px;
  border-radius: 6px;
  color: #1e7e34;
  font-weight: 500;
}

.appointment-subtitle {
  display: inline-block;
  background: #eef8f7;
  color: var(--primary-color);
  font-size: 15px;
  padding: 8px 18px;
  border-radius: 30px;
  margin-bottom: 35px;
  font-weight: 500;
}

.appointment-subtitle strong {
  font-weight: 700;
  margin-left: 4px;
}

.text-center {
  text-align: center;
}

/* Payment Section CSS */

.payment-section {
  margin-top: 20px;
}

.qr-box {
  text-align: center;
  margin-top: 20px;
  padding: 15px;
  background: #f7f7f7;
  border-radius: 10px;
}

.qr-img {
  width: 180px;
  margin-bottom: 10px;
}

.qr-msg {
  font-size: 14px;
  color: #555;
  margin-bottom: 10px;
}

.qr-numbers {
  font-weight: 600;
  color: #333;
}

/* Payment dropdown style */

#paymentMethod {
  width: 100%;
  padding: 12px 14px;
  font-size: 15px;
  border: 1px solid #d6d6d6;
  border-radius: 8px;
  background: #fff;
  color: #333;
  outline: none;
  transition: all 0.25s ease;
}

/* focus effect */

#paymentMethod:focus {
  border-color: #2e9c9a;
  box-shadow: 0 0 0 2px rgba(46, 156, 154, 0.15);
}

/* label spacing */

.payment-section {
  margin-bottom: 28px;
}

.qr-box {
  margin-top: 15px;
  margin-bottom: 20px;
}

.payment-section label {
  display: block;
  margin-bottom: 6px;
  /*   font-weight: 500; */
  color: #333;
}

#paymentMethod {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  background-image: url("data:image/svg+xml;utf8,<svg fill='%23666' height='20' viewBox='0 0 24 24' width='20' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>");
  background-repeat: no-repeat;
  background-position: right 12px center;
}

select:disabled,
input:disabled {
  background-color: #e9ecef !important;
  cursor: not-allowed;
  opacity: 1;
}
