:root {
  --reg-primary: #0d87e4;
  --reg-primary-dark: #0868af;
  --reg-accent: #f7941d;
  --reg-text: #143247;
  --reg-muted: #5c7182;
  --reg-border: #d6e6f5;
  --reg-bg: #f3f8fd;
  --reg-surface: #ffffff;
}

body.um-page-register,
body.um-page-login {
  background:
    radial-gradient(circle at 10% 8%, #d9efff 0%, rgba(217, 239, 255, 0) 42%),
    radial-gradient(circle at 95% 95%, #ffe8cc 0%, rgba(255, 232, 204, 0) 36%),
    var(--reg-bg) !important;
}

body.um-page-register .entry-content,
body.um-page-login .entry-content {
  color: var(--reg-text) !important;
}

body.um-page-register .um.um-register,
body.um-page-login .um.um-login {
  max-width: 680px !important;
  width: min(100%, 680px);
  margin: 34px auto !important;
  padding: 26px 26px 20px !important;
  border: 1px solid var(--reg-border) !important;
  border-radius: 22px !important;
  background: var(--reg-surface) !important;
  box-shadow: 0 18px 42px rgba(20, 50, 71, 0.15) !important;
}

body.um-page-register .um-register-pro-header,
body.um-page-login .um-register-pro-header {
  margin-bottom: 16px;
  padding: 0 0 12px;
  border-bottom: 1px solid #e8f1fa;
}

body.um-page-register .um-register-pro-header h2,
body.um-page-login .um-register-pro-header h2 {
  margin: 0;
  font-size: clamp(1.45rem, 3vw, 1.9rem);
  color: var(--reg-primary-dark);
  font-weight: 800;
  line-height: 1.2;
}

body.um-page-register .um-register-pro-header p,
body.um-page-login .um-register-pro-header p {
  margin: 6px 0 0;
  color: var(--reg-muted);
  font-size: 0.98rem;
}

body.um-page-register .um.um-register .um-field-label,
body.um-page-login .um.um-login .um-field-label {
  margin-bottom: 8px !important;
}

body.um-page-register .um.um-register .um-field-label-icon,
body.um-page-login .um.um-login .um-field-label-icon {
  display: none !important;
}

body.um-page-register .um.um-register .um-field-label label,
body.um-page-login .um.um-login .um-field-label label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: var(--reg-text) !important;
  font-weight: 700 !important;
  font-size: 1.03rem !important;
  letter-spacing: 0.01em;
}

body.um-page-register .um.um-register .um-field-label label::before,
body.um-page-login .um.um-login .um-field-label label::before {
  content: "•";
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(13, 135, 228, 0.12);
  color: var(--reg-primary-dark);
  font-family: "Segoe UI Symbol", "Segoe UI Emoji", sans-serif;
  font-size: 14px;
  line-height: 1;
  font-weight: 700;
}

body.um-page-register .um.um-register [data-key="user_login"] .um-field-label label::before {
  content: "\1F464";
}

body.um-page-login .um.um-login [data-key="user_login"] .um-field-label label::before {
  content: "\1F464";
}

body.um-page-register .um.um-register [data-key="first_name"] .um-field-label label::before {
  content: "\1F4DB";
}

body.um-page-register .um.um-register [data-key="last_name"] .um-field-label label::before {
  content: "\1F465";
}

body.um-page-register .um.um-register [data-key="user_email"] .um-field-label label::before {
  content: "\2709";
}

body.um-page-register .um.um-register [data-key="mobile_number"] .um-field-label label::before {
  content: "\1F4F1";
}

body.um-page-register .um.um-register [data-key="direccion"] .um-field-label label::before {
  content: "\1F3E0";
}

body.um-page-register .um.um-register [data-key="user_password"] .um-field-label label::before,
body.um-page-register .um.um-register [data-key="confirm_user_password"] .um-field-label label::before {
  content: "\1F511";
}

body.um-page-login .um.um-login [data-key="user_password"] .um-field-label label::before {
  content: "\1F511";
}

body.um-page-register .um.um-register .um-form-field,
body.um-page-login .um.um-login .um-form-field {
  border-radius: 12px !important;
  border: 1px solid var(--reg-border) !important;
  background: #fff !important;
  color: #102b3e !important;
  font-size: 1rem !important;
  min-height: 48px !important;
  padding: 10px 13px !important;
  transition: border-color .2s ease, box-shadow .2s ease;
}

body.um-page-register .um.um-register input::placeholder,
body.um-page-login .um.um-login input::placeholder {
  color: #7f93a6 !important;
  opacity: 1 !important;
}

body.um-page-register .um.um-register .um-form-field:focus,
body.um-page-login .um.um-login .um-form-field:focus {
  border-color: var(--reg-primary) !important;
  box-shadow: 0 0 0 3px rgba(13, 135, 228, 0.15) !important;
}

body.um-page-register .um.um-register .um-col-alt,
body.um-page-login .um.um-login .um-col-alt {
  display: flex !important;
  gap: 10px;
  align-items: stretch;
}

body.um-page-register .um.um-register .um-col-alt .um-half,
body.um-page-login .um.um-login .um-col-alt .um-half {
  width: 100% !important;
}

body.um-page-register .um.um-register .um-button,
body.um-page-login .um.um-login .um-button {
  width: 100% !important;
  min-height: 46px !important;
  border-radius: 12px !important;
  border: 1px solid transparent !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  font-size: 1.02rem !important;
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease !important;
}

body.um-page-register .um.um-register #um-submit-btn {
  background: linear-gradient(135deg, var(--reg-primary), var(--reg-primary-dark)) !important;
  color: #fff !important;
}

body.um-page-login .um.um-login #um-submit-btn {
  background: linear-gradient(135deg, var(--reg-primary), var(--reg-primary-dark)) !important;
  color: #fff !important;
}

body.um-page-register .um.um-register #um-submit-btn:hover,
body.um-page-login .um.um-login #um-submit-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(13, 135, 228, 0.35) !important;
}

body.um-page-register .um.um-register .um-button.um-alt,
body.um-page-login .um.um-login .um-button.um-alt {
  background: #ecf3fb !important;
  color: var(--reg-primary-dark) !important;
  border-color: #d2e4f5 !important;
}

body.um-page-register .um.um-register .um-button.um-alt:hover,
body.um-page-login .um.um-login .um-button.um-alt:hover {
  background: #e1eefb !important;
}

body.um-page-register .um.um-register .um-notice,
body.um-page-register .um.um-register .um-field-error,
body.um-page-login .um.um-login .um-notice,
body.um-page-login .um.um-login .um-field-error {
  border-radius: 10px !important;
}

/* Login: mantenerme conectado alineado y legible */
body.um-page-login .um.um-login .um-col-alt {
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

body.um-page-login .um.um-login .um-field.um-field-c {
  min-width: 220px;
  margin: 0 !important;
}

body.um-page-login .um.um-login .um-field.um-field-c .um-field-area {
  margin: 0 !important;
}

body.um-page-login .um.um-login .um-field-checkbox {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  line-height: 1.2 !important;
}

body.um-page-login .um.um-login .um-field-checkbox-option {
  display: inline-block !important;
  width: auto !important;
  max-width: none !important;
  white-space: nowrap !important;
  word-break: normal !important;
  color: var(--reg-muted) !important;
  font-size: 0.97rem !important;
}

/* Login: errores en rojo */
body.um-page-login .um.um-login .um-notice.err,
body.um-page-login .um.um-login .um-field-error {
  background: #fdecec !important;
  border: 1px solid #f7b0b0 !important;
  color: #b42318 !important;
  font-weight: 700 !important;
  padding: 10px 12px !important;
}

body.um-page-login .um.um-login {
  max-width: 540px !important;
}

@media (max-width: 768px) {
  body.um-page-register .um.um-register,
  body.um-page-login .um.um-login {
    margin: 16px auto !important;
    padding: 18px 16px 14px !important;
    border-radius: 16px !important;
  }

  body.um-page-register .um.um-register .um-col-alt,
  body.um-page-login .um.um-login .um-col-alt {
    flex-direction: column;
  }
}

/* Login: corrige desfase del hero/slider superior */
body.um-page-login.ast-separate-container .ast-article-single#post-2606 {
  padding-top: 0 !important;
}

body.um-page-login .entry-content {
  margin-top: 0 !important;
}

body.um-page-login .elementor-2606 .elementor-element.elementor-element-de6257d,
body.um-page-login .elementor-2606 .elementor-element.elementor-element-de6257d .elementor-widget-container {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.um-page-login #n2-ss-3-align,
body.um-page-login #n2-ss-3-align .n2-padding,
body.um-page-login #n2-ss-3 {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Login: mismo comportamiento visual que las otras paginas (sin hueco superior) */
body.um-page-login.ux-menu-fixed #content {
  padding-top: 0 !important;
}

body.um-page-login.ux-menu-fixed #masthead,
body.um-page-login.ux-menu-fixed .site-header {
  position: sticky !important;
  top: 0 !important;
}

/* Registro: corrige desfase del hero/slider superior (igual que login) */
body.um-page-register.ast-separate-container .ast-article-single {
  padding-top: 0 !important;
}

body.um-page-register .entry-content {
  margin-top: 0 !important;
}

body.um-page-register .elementor-widget-smartslider,
body.um-page-register .elementor-widget-smartslider .elementor-widget-container,
body.um-page-register .n2-section-smartslider,
body.um-page-register [id^="n2-ss-"][id$="-align"],
body.um-page-register [id^="n2-ss-"][id$="-align"] .n2-padding,
body.um-page-register [id^="n2-ss-"] {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.um-page-register.ux-menu-fixed #content {
  padding-top: 0 !important;
}

body.um-page-register.ux-menu-fixed #masthead,
body.um-page-register.ux-menu-fixed .site-header {
  position: sticky !important;
  top: 0 !important;
}
