/* =====================================================
   PÁGINA DE REGISTRO - INSPENET (High Specificity)
   ===================================================== */

:root {
  --register-primary: #032a53;
  --register-secondary: #1677ff;
  --register-text: #0a0c1c;
  --register-text-light: #4e4e4e;
  --register-border: #e8e8ea;
  --register-bg: #f8f9fa;
  --register-white: #fff;
  --register-success: #10b981;
  --register-error: #ef4444;
  --register-radius: 12px;
}

/* Container principal - FORZAR estilos */
body.registration #buddypress.buddypress-wrap {
  max-width: 640px !important;
  margin: 40px auto !important;
  padding: 0 20px !important;
  background: transparent !important;
}

body.registration #register-page.register-page {
  background: var(--register-white) !important;
  border-radius: var(--register-radius) !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08) !important;
  padding: 40px !important;
  margin-bottom: 40px !important;
}

/* Mensaje informativo */
body.registration #register-page .bp-feedback.bp-messages {
  background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%) !important;
  border-left: 4px solid var(--register-secondary) !important;
  border-radius: 8px !important;
  padding: 16px 20px !important;
  margin-bottom: 32px !important;
  color: var(--register-text) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  border: none !important;
  border-left: 4px solid var(--register-secondary) !important;
}

body.registration #register-page .bp-feedback .bp-icon {
  display: none !important;
}

/* Formulario */
body.registration #signup-form.signup-form {
  margin-top: 24px !important;
}

/* Secciones */
body.registration .register-section {
  margin-bottom: 32px !important;
}

body.registration .register-section h2.bp-heading {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--register-primary) !important;
  margin: 0 0 24px !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid var(--register-border) !important;
}

/* Labels */
body.registration .register-section label,
body.registration .editfield legend {
  display: block !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--register-text) !important;
  margin-bottom: 8px !important;
}

body.registration .bp-required-field-label {
  color: var(--register-error) !important;
  font-weight: 700 !important;
}

/* Inputs - FORZAR */
body.registration .register-section input[type="text"],
body.registration .register-section input[type="email"],
body.registration .register-section input[type="password"],
body.registration .editfield input[type="text"] {
  width: 100% !important;
  padding: 12px 16px !important;
  border: 2px solid var(--register-border) !important;
  border-radius: 8px !important;
  font-size: 15px !important;
  font-family: -apple-system, system-ui, sans-serif !important;
  color: var(--register-text) !important;
  background: var(--register-white) !important;
  transition: all 0.2s ease !important;
  margin-bottom: 20px !important;
  box-shadow: none !important;
}

body.registration .register-section input:focus,
body.registration .editfield input:focus {
  outline: none !important;
  border-color: var(--register-secondary) !important;
  box-shadow: 0 0 0 3px rgba(22, 119, 255, 0.1) !important;
}

/* Password wrapper */
body.registration .user-pass1-wrap {
  margin-bottom: 20px !important;
}

body.registration .wp-pwd {
  position: relative !important;
}

body.registration .password-input-wrapper {
  position: relative !important;
}

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

/* Hide/Show button */
body.registration .wp-pwd .button.wp-hide-pw {
  position: absolute !important;
  right: 8px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background: transparent !important;
  border: none !important;
  padding: 8px !important;
  cursor: pointer !important;
  color: var(--register-text-light) !important;
  transition: color 0.2s !important;
  box-shadow: none !important;
}

body.registration .wp-pwd .button.wp-hide-pw:hover {
  color: var(--register-primary) !important;
  background: transparent !important;
}

/* Password strength */
body.registration #pass-strength-result {
  margin-top: 8px !important;
  padding: 8px 12px !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-align: center !important;
}

body.registration #pass-strength-result.short {
  background: #fee !important;
  color: var(--register-error) !important;
}

body.registration #pass-strength-result.bad {
  background: #ffeaa7 !important;
  color: #d63031 !important;
}

body.registration #pass-strength-result.good {
  background: #dfe6e9 !important;
  color: #0984e3 !important;
}

body.registration #pass-strength-result.strong {
  background: #d5f4e6 !important;
  color: var(--register-success) !important;
}

/* Weak password checkbox */
body.registration .pw-weak {
  margin-top: 12px !important;
}

body.registration .pw-weak label {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 13px !important;
  cursor: pointer !important;
  color: var(--register-text-light) !important;
  font-weight: normal !important;
}

body.registration .pw-weak input[type="checkbox"] {
  width: auto !important;
  margin: 0 !important;
}

/* Hint */
body.registration .description.indicator-hint {
  font-size: 13px !important;
  color: var(--register-text-light) !important;
  line-height: 1.5 !important;
  margin-top: -12px !important;
  margin-bottom: 20px !important;
  padding: 12px !important;
  background: var(--register-bg) !important;
  border-radius: 6px !important;
  border-left: 3px solid var(--register-secondary) !important;
}

/* Extended profile fields */
body.registration .editfield {
  margin-bottom: 24px !important;
}

body.registration .editfield fieldset {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Visibility settings */
body.registration .field-visibility-settings-toggle {
  font-size: 13px !important;
  color: var(--register-text-light) !important;
  margin: -12px 0 20px !important;
  padding: 12px !important;
  background: var(--register-bg) !important;
  border-radius: 6px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

body.registration .current-visibility-level {
  font-weight: 600 !important;
  color: var(--register-primary) !important;
}

body.registration .visibility-toggle-link {
  background: var(--register-white) !important;
  border: 1px solid var(--register-border) !important;
  padding: 6px 12px !important;
  border-radius: 6px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--register-secondary) !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
}

body.registration .visibility-toggle-link:hover {
  background: var(--register-secondary) !important;
  color: var(--register-white) !important;
  border-color: var(--register-secondary) !important;
}

body.registration .field-visibility-settings {
  margin-top: 12px !important;
  padding: 16px !important;
  background: var(--register-bg) !important;
  border-radius: 8px !important;
  border: 1px solid var(--register-border) !important;
}

body.registration .field-visibility-settings legend {
  font-size: 14px !important;
  font-weight: 600 !important;
  margin-bottom: 12px !important;
  color: var(--register-text) !important;
}

body.registration .field-visibility-settings .radio {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

body.registration .field-visibility-settings label {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 14px !important;
  cursor: pointer !important;
  padding: 8px !important;
  border-radius: 6px !important;
  transition: background 0.2s !important;
  font-weight: normal !important;
}

body.registration .field-visibility-settings label:hover {
  background: rgba(22, 119, 255, 0.05) !important;
}

body.registration .field-visibility-settings input[type="radio"] {
  width: auto !important;
  margin: 0 !important;
}

body.registration .field-visibility-settings-close {
  margin-top: 12px !important;
  padding: 8px 16px !important;
  background: var(--register-white) !important;
  border: 1px solid var(--register-border) !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
}

body.registration .field-visibility-settings-close:hover {
  background: var(--register-primary) !important;
  color: var(--register-white) !important;
  border-color: var(--register-primary) !important;
}

body.registration .field-visibility-settings-notoggle {
  font-size: 13px !important;
  color: var(--register-text-light) !important;
  margin: -12px 0 20px !important;
  padding: 10px !important;
  background: var(--register-bg) !important;
  border-radius: 6px !important;
}

/* Privacy policy */
body.registration .privacy-policy-accept {
  margin-bottom: 24px !important;
  padding: 16px !important;
  background: #f0f9ff !important;
  border: 2px solid #bfdbfe !important;
  border-radius: 8px !important;
}

body.registration .privacy-policy-accept label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  cursor: pointer !important;
  font-weight: normal !important;
}

body.registration .privacy-policy-accept input[type="checkbox"] {
  margin-top: 3px !important;
  width: auto !important;
  flex-shrink: 0 !important;
}

body.registration .privacy-policy-accept a {
  color: var(--register-secondary) !important;
  text-decoration: underline !important;
  font-weight: 600 !important;
}

body.registration .privacy-policy-accept a:hover {
  color: var(--register-primary) !important;
}

/* Submit button - MUY IMPORTANTE */
body.registration .submit {
  margin-top: 32px !important;
  text-align: center !important;
}

body.registration .submit input[type="submit"],
body.registration #signup-form input[type="submit"] {
  background: linear-gradient(135deg, var(--register-primary) 0%, #0a3d75 100%) !important;
  color: var(--register-white) !important;
  border: none !important;
  padding: 16px 48px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  font-family: 'Montserrat', sans-serif !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 12px rgba(3, 42, 83, 0.2) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  width: auto !important;
}

body.registration .submit input[type="submit"]:hover,
body.registration #signup-form input[type="submit"]:hover {
  background: linear-gradient(135deg, #0a3d75 0%, var(--register-primary) 100%) !important;
  box-shadow: 0 6px 16px rgba(3, 42, 83, 0.3) !important;
  transform: translateY(-2px) !important;
}

body.registration .submit input[type="submit"]:active,
body.registration #signup-form input[type="submit"]:active {
  transform: translateY(0) !important;
  box-shadow: 0 2px 8px rgba(3, 42, 83, 0.2) !important;
}

/* Responsive */
@media (max-width: 768px) {
  body.registration #register-page.register-page {
    padding: 24px 20px !important;
    margin: 20px auto !important;
  }

  body.registration .register-section h2.bp-heading {
    font-size: 20px !important;
    margin-bottom: 20px !important;
  }

  body.registration .submit input[type="submit"],
  body.registration #signup-form input[type="submit"] {
    width: 100% !important;
    padding: 14px 24px !important;
  }

  body.registration .field-visibility-settings-toggle {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }
}

@media (max-width: 480px) {
  body.registration #buddypress.buddypress-wrap {
    padding: 0 12px !important;
  }

  body.registration #register-page.register-page {
    padding: 20px 16px !important;
  }

  body.registration .register-section h2.bp-heading {
    font-size: 18px !important;
  }

  body.registration .register-section input[type="text"],
  body.registration .register-section input[type="email"],
  body.registration .register-section input[type="password"],
  body.registration .editfield input[type="text"] {
    font-size: 16px !important;
  }
}

/* Limpiar estilos de BuddyPress conflictivos */
body.registration .standard-form label {
  margin-bottom: 8px !important;
}

body.registration .standard-form input[type="text"],
body.registration .standard-form input[type="email"],
body.registration .standard-form input[type="password"] {
  width: 100% !important;
}

body.registration #buddypress div.item-list-tabs {
  display: none !important;
}
