/* Ultimate Member auth forms — teal theme (login, register, password reset) */

/* Single shell — no outer content panel box */
body.um-page .cft-auth-shell,
body.cft-is-auth .cft-auth-shell {
  max-width: 560px;
  margin: 0 auto 28px;
  padding: 0;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

body.um-page .cft-content-panel,
body.cft-is-auth .cft-content-panel {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body.um-page .cft-auth-hero,
body.cft-is-auth .cft-auth-hero {
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  padding: 22px 20px !important;
}

body.um-page .cft-auth-hero h1,
body.cft-is-auth .cft-auth-hero h1 {
  font-size: 26px !important;
}

body.um-page .um,
body.cft-is-auth .um,
.um.um-login,
.um.um-register,
.um.um-password {
  max-width: 560px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 26px 24px 20px !important;
  border-radius: 18px !important;
  background:
    radial-gradient(420px 180px at 100% 0%, rgba(255, 133, 165, 0.16), transparent 55%),
    radial-gradient(380px 200px at 0% 100%, rgba(63, 238, 230, 0.18), transparent 50%),
    linear-gradient(145deg, rgba(6, 72, 82, 0.72), rgba(14, 99, 111, 0.88)) !important;
  border: 1px solid rgba(63, 238, 230, 0.35) !important;
  box-shadow:
    0 18px 40px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
  color: #e8fffc !important;
  box-sizing: border-box !important;
}

body.um-page .um-form,
body.cft-is-auth .um-form,
.um.um-login .um-form,
.um.um-register .um-form,
.um.um-password .um-form {
  background: transparent !important;
  color: #e8fffc !important;
}

body.um-page .um .um-row,
body.cft-is-auth .um .um-row,
.um .loginfrm,
.um .um-customized-row {
  background: transparent !important;
  color: #e8fffc !important;
  border: none !important;
}

/* Labels & helper text */
body.um-page .um .um-field-label,
body.um-page .um .um-field-label label,
body.um-page .um .um-field-checkbox-option,
body.um-page .um .um-field-radio-option,
body.um-page .um .um-field-block,
body.um-page .um .um-field-error,
body.um-page .um p,
body.um-page .um .um-notice,
body.cft-is-auth .um .um-field-label,
body.cft-is-auth .um .um-field-label label,
.loginfrm .um-field-label label,
.um .um-field-label label {
  color: #3feee6 !important;
  font-family: Montserrat, "Segoe UI", sans-serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: 0.03em;
  text-shadow: none !important;
  background: transparent !important;
}

body.um-page .um .um-field-checkbox-option,
body.um-page .um .um-field-radio-option,
body.cft-is-auth .um .um-field-checkbox-option {
  color: rgba(232, 255, 252, 0.92) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body.um-page .um .um-field-block,
body.cft-is-auth .um .um-field-block {
  color: rgba(232, 255, 252, 0.9) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
}

/* Inputs */
body.um-page .um input[type="text"],
body.um-page .um input[type="password"],
body.um-page .um input[type="email"],
body.um-page .um input[type="number"],
body.um-page .um input[type="tel"],
body.um-page .um input[type="url"],
body.um-page .um input[type="search"],
body.um-page .um textarea,
body.um-page .um select,
body.um-page .um .um-form-field,
body.cft-is-auth .um input[type="text"],
body.cft-is-auth .um input[type="password"],
body.cft-is-auth .um input[type="email"],
body.cft-is-auth .um textarea,
body.cft-is-auth .um select,
body.cft-is-auth .um .um-form-field,
.um.um-login input,
.um.um-register input,
.um.um-password input {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #e8fffc !important;
  border: 1px solid rgba(63, 238, 230, 0.35) !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  min-height: 46px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
  font-family: Montserrat, "Segoe UI", sans-serif !important;
  font-size: 14px !important;
}

body.um-page .um input::placeholder,
body.cft-is-auth .um input::placeholder {
  color: rgba(232, 255, 252, 0.45) !important;
}

body.um-page .um input:focus,
body.um-page .um textarea:focus,
body.um-page .um select:focus,
body.cft-is-auth .um input:focus {
  outline: none !important;
  background: rgba(255, 255, 255, 0.14) !important;
  border-color: #3feee6 !important;
  box-shadow: 0 0 0 3px rgba(63, 238, 230, 0.28) !important;
}

/* Buttons */
body.um-page .um a.um-button,
body.um-page .um input[type="submit"].um-button,
body.um-page .um input[type="submit"],
body.um-page .um #um-submit-btn,
body.cft-is-auth .um a.um-button,
body.cft-is-auth .um input[type="submit"].um-button,
body.cft-is-auth .um #um-submit-btn,
.um #um-submit-btn {
  background: linear-gradient(90deg, #3feee6, #7af0ea 55%, #ff85a5) !important;
  color: #064852 !important;
  border: 1px solid rgba(63, 238, 230, 0.4) !important;
  border-radius: 999px !important;
  font-family: Montserrat, "Segoe UI", sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.2) !important;
  min-height: 46px !important;
  padding: 12px 18px !important;
}

body.um-page .um a.um-button.um-alt,
body.um-page .um a.um-button.um-button-alt,
body.um-page .um .um-button.um-alt,
body.cft-is-auth .um a.um-button.um-alt {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #3feee6 !important;
  border: 1px solid rgba(63, 238, 230, 0.45) !important;
  box-shadow: none !important;
}

body.um-page .um a.um-button:hover,
body.um-page .um input[type="submit"].um-button:hover,
body.um-page .um #um-submit-btn:hover,
body.cft-is-auth .um a.um-button:hover {
  filter: brightness(1.05);
  color: #04353c !important;
}

body.um-page .um a.um-button.um-alt:hover,
body.cft-is-auth .um a.um-button.um-alt:hover {
  background: rgba(63, 238, 230, 0.16) !important;
  color: #fff !important;
}

/* Links under forms */
body.um-page .um a,
body.cft-is-auth .um a,
body.um-page .um .um-link-alt,
body.um-page .cft-content-panel .um a {
  color: #3feee6 !important;
  background: transparent !important;
  padding: 0 !important;
  border-bottom: 1px solid rgba(63, 238, 230, 0.35);
  text-decoration: none !important;
  font-weight: 600;
}

body.um-page .um a:hover,
body.cft-is-auth .um a:hover {
  color: #ff85a5 !important;
  border-bottom-color: #ff85a5;
}

body.um-page .um a.um-button,
body.cft-is-auth .um a.um-button {
  border-bottom: 1px solid rgba(63, 238, 230, 0.4) !important;
  text-decoration: none !important;
}

/* Notices / errors */
body.um-page .um .um-notice,
body.um-page .um .um-field-error,
body.cft-is-auth .um .um-notice,
body.cft-is-auth .um .um-field-error {
  background: rgba(255, 133, 165, 0.14) !important;
  border: 1px solid rgba(255, 133, 165, 0.4) !important;
  color: #ffb0c4 !important;
  border-radius: 10px !important;
}

body.um-page .um .um-field-error,
body.cft-is-auth .um .um-field-error {
  background: transparent !important;
  border: none !important;
}

/* Checkbox icons */
body.um-page .um .um-field-checkbox-state i,
body.um-page .um .um-field-radio-state i,
body.cft-is-auth .um .um-field-checkbox-state i {
  color: #3feee6 !important;
}

/* Password tip / tip text */
body.um-page .um .um-tip,
body.um-page .um .um-field-icon,
body.cft-is-auth .um .um-tip {
  color: #3feee6 !important;
}

body.um-page .um select option,
body.cft-is-auth .um select option {
  color: #064852;
  background: #fff;
}

/* Beat generic content-page white inputs on auth pages */
body.cft-is-content.cft-is-auth .cft-content-panel .um input[type="text"],
body.cft-is-content.cft-is-auth .cft-content-panel .um input[type="password"],
body.cft-is-content.cft-is-auth .cft-content-panel .um input[type="email"],
body.cft-is-content.cft-is-auth .cft-content-panel .um textarea,
body.cft-is-content.cft-is-auth .cft-content-panel .um select,
body.um-page.cft-is-content .cft-content-panel .um input[type="text"],
body.um-page.cft-is-content .cft-content-panel .um input[type="password"],
body.um-page.cft-is-content .cft-content-panel .um input[type="email"],
body.um-page.cft-is-content .cft-content-panel .um .um-form-field {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #e8fffc !important;
  border: 1px solid rgba(63, 238, 230, 0.35) !important;
}

body.cft-is-content.cft-is-auth .cft-content-panel .um input[type="submit"],
body.cft-is-content.cft-is-auth .cft-content-panel .um #um-submit-btn,
body.um-page.cft-is-content .cft-content-panel .um input[type="submit"] {
  background: linear-gradient(90deg, #3feee6, #7af0ea 55%, #ff85a5) !important;
  color: #064852 !important;
}

@media (max-width: 650px) {
  body.um-page .um,
  body.cft-is-auth .um,
  .um.um-login,
  .um.um-register,
  .um.um-password {
    padding: 16px 14px !important;
    border-radius: 14px !important;
  }

  body.um-page .um .um-left,
  body.um-page .um .um-right,
  body.um-page .um .um-half {
    width: 100% !important;
    float: none !important;
    margin: 0 0 10px !important;
  }
}
