/* ==================== TRAVEL BOOKING FORM SECTION ==================== */
.booking__section {
  padding: 5rem 2rem;
}

.booking__container {
  max-width: 950px;
  margin: 0 auto;
  border-radius: 1.2rem;
  padding: 3rem;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
  border: 1px solid white;
}

.booking__title {
  text-align: center;
  font-size: 2rem;
  color: var(--first-color);
  font-weight: 800;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}

.booking__subtitle {
  text-align: center;
  color: var(--text-color);
  margin-bottom: 3rem;
  font-size: 1rem;
}

.booking__form {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

.booking__group {
  text-align: left;
}

.booking__heading {
  font-size: 1.3rem;
  color: var(--first-color);
  font-weight: 700;
  margin-bottom: 1.2rem;
  border-left: 4px solid var(--first-color);
  padding-left: 0.8rem;
}

.booking__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5rem;
}

.booking__field label {
  display: block;
  font-weight: 600;
  color: var(--first-color);
  margin-bottom: 0.4rem;
  font-size: 0.95rem;
}

.booking__field input,
.booking__field select,
.booking__field textarea {
  width: 100%;
  padding: 0.9rem 1rem;
  border-radius: 0.6rem;
  border: 1.5px solid var(--first-color);
  background-color: #fffef7;
  font-size: 0.95rem;
  transition: 0.3s ease;
}

.booking__field input:focus,
.booking__field select:focus,
.booking__field textarea:focus {
  border-color: #d4af37;
  box-shadow: 0 0 8px rgba(212, 175, 55, 0.3);
  outline: none;
}

.booking__message textarea {
  resize: vertical;
}

.booking__payment {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  margin-top: 0.5rem;
}

.booking__payment label {
  background: #fffef7;
  padding: 0.8rem 1.2rem;
  border: 1.5px solid var(--first-color);
  border-radius: 0.6rem;
  font-weight: 600;
  cursor: pointer;
  transition: 0.3s ease;
}

.booking__payment input {
  margin-right: 0.5rem;
}

.booking__payment label:hover {
  background: #fff5c8;
  transform: translateY(-2px);
}

.booking__btn {
  background: linear-gradient(135deg, #d4af37, #f9d976);
  border: none;
  color: #fff;
  padding: 1rem 2rem;
  font-weight: 700;
  text-transform: uppercase;
  border-radius: 0.8rem;
  cursor: pointer;
  transition: 0.3s ease;
  box-shadow: 0 4px 12px rgba(212, 175, 55, 0.4);
  letter-spacing: 1px;
  width: 100%;
}

.booking__btn:hover {
  background: linear-gradient(135deg, #c4a032, #ffe57e);
  transform: translateY(-2px);
}

/* Responsive */
@media (max-width: 600px) {
  .booking__container {
    padding: 2rem 1.5rem;
  }

  .booking__payment {
    flex-direction: column;
    gap: 1rem;
  }
}



/* =======================================
   BOOKING ALERT STYLES
======================================= */

.contact-alert {
    padding: 1rem 1.4rem;
    margin-bottom: 1.6rem;
    border-radius: 0.6rem;
    font-size: 1rem;
    font-weight: 500;
    display: block;
    animation: alertFade 0.45s ease-in-out;
    box-shadow: 0 4px 14px rgba(0,0,0,0.08);
    transition: 0.3s ease;
}

/* ✅ SUCCESS */
.contact-alert.success {
    background: rgba(40, 167, 69, 0.18);
    border-left: 4px solid #28a745;
    color: #1e7e34;
}

/* ✅ WARNING */
.contact-alert.warning {
    background: rgba(255, 193, 7, 0.18);
    border-left: 4px solid #ffc107;
    color: #a97800;
}

/* ✅ ERROR */
.contact-alert.error {
    background: rgba(220, 53, 69, 0.18);
    border-left: 4px solid #dc3545;
    color: #a71d2a;
}

/* ✅ Smooth Fade Animation */
@keyframes alertFade {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* =======================================
   DARK MODE SUPPORT
======================================= */

body.dark-theme .contact-alert.success {
    background: rgba(40, 167, 69, 0.25);
    color: #d5ffd9;
    border-left-color: #00ff62;
}

body.dark-theme .contact-alert.warning {
    background: rgba(255, 193, 7, 0.25);
    color: #ffe7a3;
    border-left-color: #ffca2c;
}

body.dark-theme .contact-alert.error {
    background: rgba(220, 53, 69, 0.25);
    color: #ffb6bf;
    border-left-color: #ff5c75;
}








