/* 🌸 THEME COLORS */
body {
  background-color: #f8f9fa;
}

.custom-bg {
  background-color: #ea2450 !important;
}

/* 🎨 GENERAL STYLES */
.form-card {
  border-radius: 20px;
  background-color: #fff;
  width: 100%;
  max-width: 420px;
  padding: 2rem;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
  transition: all 0.4s ease-in-out;
}
.form-card:hover {
  transform: translateY(-3px);
}

.text-theme {
  color: #ea2450 !important;
}
.btn-theme {
  background-color: #ea2450 !important;
  color: white;
  font-weight: bold;
  border-radius: 8px;
  transition: all 0.3s ease-in-out;
}
.btn-theme:hover {
  background-color: #ea2450 !important;
  transform: translateY(-2px);
}

/* 🔘 TOGGLE BUTTON GROUP */
.toggle-btn-group {
  background-color: #f1f1f1;
  border-radius: 10px;
  overflow: hidden;
  width: 100%;
  max-width: 260px;
  display: flex;
  margin: 0 auto 1.5rem auto;
}
.toggle-btn {
  flex: 1;
  border: none;
  background: transparent;
  padding: 10px 0;
  font-weight: 600;
  color: #555;
  transition: all 0.3s ease;
}
.toggle-btn.active {
  background-color: #ea2450;
  color: #fff;
}

/* 🧾 FORM FIELDS */
.form-control, .form-select {
  border-radius: 8px;
  border: 1px solid #ddd;
  font-size: 0.95rem;
  padding: 10px 14px;
  transition: all 0.3s ease;
}
.form-control:focus, .form-select:focus {
  border-color: #ea2450;
  box-shadow: 0 0 8px rgb(248, 184, 198);
}

/* 💫 ANIMATIONS */
.fade-slide {
  opacity: 0;
  transform: translateY(10px);
  transition: all 0.4s ease;
}
.fade-slide.show {
  opacity: 1;
  transform: translateY(0);
}

/* 📱 RESPONSIVENESS */
@media (max-width: 768px) {
  .form-card {
    max-width: 95%;
    padding: 1.5rem;
  }
  h3 {
    font-size: 1.4rem;
  }
  .toggle-btn-group {
    max-width: 220px;
  }
}
 
/* For left 70% area */
.custom-bg {
  background-color: #ea2450; /* fallback color */
  overflow: hidden;
  position: relative;
}

/* Image fits nicely inside 70% area */
.welcome-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.25; /* subtle overlay effect */
}

/* Centered text content on top of image */
.welcome-text {
  text-align: center;
  z-index: 2;
}

.welcome-text h1 {
  font-weight: 700;
  letter-spacing: 1px;
}

.welcome-text p {
  font-size: 1.1rem;
  color: #ffffffcc;
}
.welcome-image {
  vertical-align: middle;
  height: 500px;
  width: auto;
  max-width: 100%;
  object-fit: contain;  /* Keeps proportions without cropping */
  opacity: 0.9;         /* Slight fade for a clean look */
}

/* ✅ Responsive fix: Stack image + login vertically on small screens */
@media (max-width: 991px) {
  /* Stack containers vertically instead of side by side */
  .container-fluid.vh-100.d-flex {
    flex-direction: column !important;
    height: auto !important;
  }

  /* Left red section (image) */
  .custom-bg {
    width: 100% !important;
    height: auto !important;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* Fit image nicely */
  .welcome-image {
    width: 100%;
    height: auto;
    object-fit: contain;
    opacity: 1;
  }

  /* Right login section full width below */
  .col-md-3 {
    width: 100% !important;
    max-width: 100% !important;
    padding: 2rem 1rem !important;
  }

  /* Center form properly */
  .form-card {
    margin: 1.5rem auto 2rem auto;
    max-width: 420px;
    width: 100%;
  }
}
