/* HablaMe — Devise Session Styles
   Todos los selectores están acotados a body.devise-page
   para evitar que contaminen otros layouts via Turbo Drive */

body.devise-page,
body.devise-page html {
  margin: 0 !important;
  padding: 0 !important;
  background-color: white !important;
  overflow-x: hidden;
}

body.devise-page .container-fluid.vh-100 {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

body.devise-page .row.vh-100 {
  margin: 0 !important;
  width: 100% !important;
}

body.devise-page .col-lg-7 {
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}

body.devise-page .col-lg-7 > div {
  width: 100% !important;
  height: 100% !important;
  min-height: 100vh !important;
  overflow: visible !important;
}

body.devise-page .col-lg-7 .text-center {
  overflow: visible !important;
  max-width: 100% !important;
}

body.devise-page .col-lg-7 .logo {
  max-width: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

body.devise-page .btn-primary {
  background-color: #FE1825 !important;
  border-color: #FE1825 !important;
  color: white !important;
}

body.devise-page .btn-primary:hover {
  background-color: #d4141f !important;
  border-color: #d4141f !important;
  color: white !important;
}

body.devise-page .form-control:focus {
  border-color: #FE1825 !important;
  box-shadow: 0 0 0 0.2rem rgba(254, 24, 37, 0.25) !important;
}

/* Color de links: acotado a la página de Devise, no se filtra al landing */
body.devise-page a {
  color: #2C6372 !important;
}

body.devise-page a:hover {
  color: #1e4a54 !important;
}

body.devise-page .social-btn {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  position: relative;
  transition: all 0.3s ease;
}

body.devise-page .social-btn.google {
  background-color: transparent;
  color: #2C6372;
}

body.devise-page .social-btn.facebook {
  background-color: transparent;
  color: #1877f2;
}

body.devise-page .social-btn.linkedin {
  background-color: transparent;
  color: #2C6372;
}

body.devise-page .social-btn:hover {
  background-color: #e5e5e5;
}

body.devise-page .social-btn:hover::after {
  content: '';
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 6px;
  height: 6px;
  background-color: #999;
  border-radius: 50%;
}

body.devise-page .fas.fa-eye,
body.devise-page .fas.fa-eye-slash {
  color: #2C6372 !important;
}

body.devise-page .divider {
  position: relative;
  text-align: center;
  margin: 1.5rem 0;
}

body.devise-page .divider::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  background-color: #ddd;
}

body.devise-page .divider span {
  background-color: white;
  padding: 0 1rem;
  color: #666;
  font-size: 0.9rem;
}

body.devise-page .logo-mobile {
  max-height: 4rem;
  width: auto;
  opacity: 0.8;
}

/* Ocultar labels del formulario */
body.devise-page .form-label,
body.devise-page label.form-label,
body.devise-page .mb-3 label,
body.devise-page .form-password-toggle label,
body.devise-page .mb-3 > label,
body.devise-page .form-password-toggle > div > label,
body.devise-page label[for="email"],
body.devise-page label[for="password"] {
  display: none !important;
}

@media (max-width: 991.98px) {
  body.devise-page .logo-mobile {
    max-height: 2.5rem;
  }

  body.devise-page .no-account-text {
    display: none;
  }
}

@media (max-width: 767.98px) {
  body.devise-page .form-label,
  body.devise-page label.form-label,
  body.devise-page .mb-3 > label,
  body.devise-page .form-password-toggle > div > label {
    display: none !important;
  }
}
