/* ===== BAC2ME LOGIN CONTAINER FIX ===== */
/* Targets the custom bac2me-login-container class */

/* ===== HIDE UNWANTED ELEMENTS ===== */

/* Hide all SVG wave shapes */
svg,
.wave-shape,
[class*="wave"],
[class*="svg-shape"] {
  display: none !important;
}

/* ===== MAIN FORM CONTAINER ===== */

/* Target the bac2me-login-container specifically */
.bac2me-login-container {
  background-color: #FFFFFF !important;
  background-image: none !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 40px !important;
  max-width: 750px !important;
  margin: 40px auto !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}

/* Remove any nested backgrounds */
.bac2me-login-container > * {
  background-color: transparent !important;
  background-image: none !important;
}

/* Remove purple backgrounds from all child elements */
.bac2me-login-container [style*="background-color: rgb(99, 102, 241)"],
.bac2me-login-container [style*="background-color: #6366f1"],
.bac2me-login-container [style*="background-color: rgb(139, 92, 246)"],
.bac2me-login-container [style*="background-color: #8b5cf6"],
.bac2me-login-container [style*="background-color: rgb(168, 85, 247)"],
.bac2me-login-container [style*="background-color: #a855f7"],
.bac2me-login-container [style*="background-color: rgb(192, 132, 250)"],
.bac2me-login-container [style*="background-color: #c084fa"],
.bac2me-login-container [style*="background-color: rgb(217, 70, 239)"],
.bac2me-login-container [style*="background-color: #d946ef"] {
  background-color: transparent !important;
  background-image: none !important;
}

/* ===== FORM TITLE ===== */

.bac2me-login-container h1,
.bac2me-login-container h2,
.bac2me-login-container h3,
.entry-title {
  color: #000000 !important;
  font-weight: bold !important;
  font-size: 28px !important;
  margin-bottom: 10px !important;
  text-align: center !important;
}

.bac2me-login-container .entry-meta {
  color: #666666 !important;
  font-size: 14px !important;
  text-align: center !important;
  margin-bottom: 30px !important;
}

/* ===== PASSWORD WRAPPER ===== */

.bac2me-password-wrapper {
  position: relative !important;
  width: 100% !important;
  margin-bottom: 15px !important;
}

.bac2me-toggle-password {
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  padding: 4px 8px !important;
  width: auto !important;
  height: auto !important;
  min-width: 32px !important;
  min-height: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 10 !important;
  flex-shrink: 0 !important;
}

.bac2me-toggle-password img {
  width: 20px !important;
  height: 20px !important;
  display: block !important;
}

.bac2me-toggle-password:hover {
  opacity: 0.7 !important;
}

.bac2me-password-wrapper .bac2me-input {
  padding-right: 50px !important;
}

/* ===== FORM FIELDS ===== */

.bac2me-login-container input[type="text"],
.bac2me-login-container input[type="email"],
.bac2me-login-container input[type="password"],
.bac2me-login-container textarea,
.bac2me-login-container select,
.bac2me-input {
  background-color: #FFFFFF !important;
  border: 1px solid #E0E0E0 !important;
  border-radius: 6px !important;
  padding: 12px !important;
  font-size: 14px !important;
  color: #333333 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.bac2me-login-container input[type="text"],
.bac2me-login-container input[type="email"],
.bac2me-login-container textarea,
.bac2me-login-container select {
  margin-bottom: 15px !important;
}

.bac2me-login-container input[type="text"]:focus,
.bac2me-login-container input[type="email"]:focus,
.bac2me-login-container input[type="password"]:focus,
.bac2me-login-container textarea:focus,
.bac2me-login-container select:focus,
.bac2me-input:focus {
  border-color: #00CCFF !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(0, 204, 255, 0.1) !important;
}

/* ===== FORM LABELS ===== */

.bac2me-login-container label {
  color: #333333 !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  margin-bottom: 8px !important;
  display: block !important;
}

/* ===== BUTTONS ===== */

/* All buttons in the form */
.bac2me-login-container button,
.bac2me-login-container input[type="submit"],
.bac2me-login-container .button,
.bac2me-login-container [type="button"],
.bac2me-button {
  background-color: #00CCFF !important;
  color: #000000 !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 12px 24px !important;
  font-weight: bold !important;
  font-size: 14px !important;
  cursor: pointer !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  transition: all 0.3s ease !important;
  width: 100% !important;
  margin-bottom: 15px !important;
}

.bac2me-login-container button:hover,
.bac2me-login-container input[type="submit"]:hover,
.bac2me-login-container .button:hover,
.bac2me-login-container [type="button"]:hover,
.bac2me-button:hover {
  background-color: #00B3E6 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(0, 204, 255, 0.3) !important;
}

/* ===== CHECKBOXES ===== */

.bac2me-login-container input[type="checkbox"],
.bac2me-login-container input[type="radio"] {
  margin-right: 8px !important;
  cursor: pointer !important;
}

.bac2me-login-container input[type="checkbox"]:focus,
.bac2me-login-container input[type="radio"]:focus {
  outline: 2px solid #00CCFF !important;
  outline-offset: 2px !important;
}

/* ===== LINKS ===== */

.bac2me-login-container a {
  color: #00CCFF !important;
  text-decoration: none !important;
  transition: color 0.3s ease !important;
}

.bac2me-login-container a:hover {
  color: #00B3E6 !important;
  text-decoration: underline !important;
}

/* ===== FORM GROUPS ===== */

.bac2me-login-container .form-group,
.bac2me-login-container fieldset {
  margin-bottom: 20px !important;
  padding: 0 !important;
  border: none !important;
}

/* ===== HELPER TEXT ===== */

.bac2me-login-container .help-text,
.bac2me-login-container .description,
.bac2me-login-container small {
  color: #666666 !important;
  font-size: 12px !important;
  display: block !important;
  margin-top: 5px !important;
}

/* ===== ERROR/SUCCESS MESSAGES ===== */

.bac2me-login-container .error,
.bac2me-login-container .alert-danger {
  background-color: #FEE !important;
  border-left: 4px solid #FF0000 !important;
  color: #CC0000 !important;
  padding: 12px !important;
  margin-bottom: 15px !important;
  border-radius: 4px !important;
}

.bac2me-login-container .success,
.bac2me-login-container .alert-success {
  background-color: #EFE !important;
  border-left: 4px solid #00FF00 !important;
  color: #009900 !important;
  padding: 12px !important;
  margin-bottom: 15px !important;
  border-radius: 4px !important;
}

/* ===== SPACING ===== */

.bac2me-login-container p {
  margin-bottom: 15px !important;
  color: #333333 !important;
}

.bac2me-login-container p:last-child {
  margin-bottom: 0 !important;
}

/* ===== RESPONSIVE ===== */

@media (max-width: 768px) {
  .bac2me-login-container {
    max-width: 90% !important;
    padding: 30px !important;
    margin: 20px auto !important;
  }

  .bac2me-login-container button,
  .bac2me-login-container input[type="submit"],
  .bac2me-login-container .button {
    padding: 14px 20px !important;
  }

  .bac2me-login-container input[type="text"],
  .bac2me-login-container input[type="email"],
  .bac2me-login-container input[type="password"],
  .bac2me-login-container textarea,
  .bac2me-login-container select {
    padding: 14px !important;
    font-size: 16px !important;
  }

  .bac2me-login-container h1,
  .bac2me-login-container h2,
  .bac2me-login-container h3 {
    font-size: 24px !important;
  }
}

@media (max-width: 480px) {
  .bac2me-login-container {
    max-width: 95% !important;
    padding: 20px !important;
    margin: 15px auto !important;
  }

  .bac2me-login-container h1,
  .bac2me-login-container h2,
  .bac2me-login-container h3 {
    font-size: 20px !important;
  }

  .bac2me-login-container input[type="text"],
  .bac2me-login-container input[type="email"],
  .bac2me-login-container input[type="password"],
  .bac2me-login-container textarea,
  .bac2me-login-container select {
    padding: 14px !important;
    font-size: 16px !important;
  }
}

/* ===== ACCESSIBILITY ===== */

.bac2me-login-container *:focus-visible {
  outline: 2px solid #00CCFF !important;
  outline-offset: 2px !important;
}

@media (prefers-reduced-motion: reduce) {
  .bac2me-login-container * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ===== DARK MODE ===== */

@media (prefers-color-scheme: dark) {
  .bac2me-login-container {
    background-color: #1a1a1a !important;
    border: none !important;
  }

  .bac2me-login-container input[type="text"],
  .bac2me-login-container input[type="email"],
  .bac2me-login-container input[type="password"],
  .bac2me-login-container textarea,
  .bac2me-login-container select {
    background-color: #2a2a2a !important;
    color: #FFFFFF !important;
    border-color: #444444 !important;
  }

  .bac2me-login-container label,
  .bac2me-login-container h1,
  .bac2me-login-container h2,
  .bac2me-login-container h3 {
    color: #FFFFFF !important;
  }

  .bac2me-login-container .help-text,
  .bac2me-login-container .description,
  .bac2me-login-container small,
  .bac2me-login-container p {
    color: #CCCCCC !important;
  }
}