/* mod_ajaxlogin */
.mod-ajaxlogin {
  --ajaxlogin-accent: var(--cassiopeia-color-primary, #85ac1c);
}

.mod-ajaxlogin__header {
  font-size: 1.25rem;
  color: var(--ajaxlogin-accent);
}

.mod-ajaxlogin .btn-primary,
.mod-ajaxlogin__modal .btn-primary {
  background-color: var(--ajaxlogin-accent);
  border-color: var(--ajaxlogin-accent);
}

.mod-ajaxlogin .btn-primary:hover,
.mod-ajaxlogin .btn-primary:focus,
.mod-ajaxlogin__modal .btn-primary:hover,
.mod-ajaxlogin__modal .btn-primary:focus {
  filter: brightness(1.1);
  background-color: var(--ajaxlogin-accent);
  border-color: var(--ajaxlogin-accent);
}

.mod-ajaxlogin__links a {
  font-size: 0.875rem;
  text-decoration: none;
}

.mod-ajaxlogin__links a:hover {
  text-decoration: underline;
}

.mod-ajaxlogin--busy {
  opacity: 0.65;
  pointer-events: none;
}

.mod-ajaxlogin__greeting {
  margin-bottom: 0.5rem;
}

/* [NEMA] The template custom.css hides .alert.alert-danger on the login page
   (body.itemid-280) to suppress the old duplicate system message. Keep the
   module's own inline error visible; the .d-none toggle still wins via !important. */
.mod-ajaxlogin [data-ajaxlogin-alert].alert.alert-danger {
    display: block;
}

/* =====================================================================
   [NEMA] Visual parity with the original Improved AJAX Login (theme
   "simple"): Cabin font, borderless inputs with soft shadow, green
   pill buttons, small labels with green asterisk.
   ===================================================================== */
.mod-ajaxlogin,
.mod-ajaxlogin__modal {
    font-family: 'Cabin', Helvetica, sans-serif;
}
.mod-ajaxlogin ::selection,
.mod-ajaxlogin__modal ::selection {
    background-color: #85ac1c;
    color: #ffffff;
}
.mod-ajaxlogin input[type=text],
.mod-ajaxlogin input[type=password],
.mod-ajaxlogin input[type=email],
.mod-ajaxlogin__modal input[type=text],
.mod-ajaxlogin__modal input[type=password],
.mod-ajaxlogin__modal input[type=email] {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 0 14px;
    padding: 9px;
    font-family: 'Cabin', Helvetica, sans-serif;
    font-size: 17px;
    font-weight: 300;
    color: #a1a1a1;
    background: #ffffff;
    border: none;
    border-radius: 0;
    box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 0.2);
}
.mod-ajaxlogin input:focus,
.mod-ajaxlogin__modal input:focus {
    outline: 0;
    box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 0.4);
    color: #6d6d6d;
}
/* login page inline form: centered input text like the old theme */
.mod-ajaxlogin--inline input[type=text],
.mod-ajaxlogin--inline input[type=password],
#loginComp .mod-ajaxlogin input[type=text],
#loginComp .mod-ajaxlogin input[type=password] {
    text-align: center;
}
.mod-ajaxlogin__small-label {
    display: inline-block;
    margin-bottom: 1px;
    font-size: 13px;
    font-weight: normal;
    line-height: 20px;
    color: #a1a1a1;
}
.mod-ajaxlogin__small-label.req::after {
    color: #5F9C1D;
    content: " *";
}
.mod-ajaxlogin .btn-primary,
.mod-ajaxlogin__modal .btn-primary,
.mod-ajaxlogin__submit {
    position: relative;
    margin: 0;
    padding: 8px 24px;
    text-align: center;
    text-transform: uppercase;
    color: #ffffff;
    cursor: pointer;
    background: #85ac1c;
    border: none;
    border-radius: 2em;
    box-shadow: 0 11px 6px -10px rgba(0, 0, 0, 0.43);
}
.mod-ajaxlogin .btn-primary:hover,
.mod-ajaxlogin .btn-primary:focus,
.mod-ajaxlogin__modal .btn-primary:hover,
.mod-ajaxlogin__modal .btn-primary:focus,
.mod-ajaxlogin__submit:hover,
.mod-ajaxlogin__submit:focus {
    background-color: #9fc43d;
    color: #ffffff;
}
.mod-ajaxlogin__links a,
.mod-ajaxlogin__tos a {
    color: #85ac1c;
    text-decoration: none;
}
.mod-ajaxlogin__links a:hover,
.mod-ajaxlogin__tos a:hover {
    color: #9fc43d;
}
.mod-ajaxlogin__header {
    color: #85ac1c;
    font-size: 17px;
    font-weight: normal;
}
.mod-ajaxlogin__tos,
.mod-ajaxlogin__captcha {
    margin: 10px 0 14px;
}
.mod-ajaxlogin__tos .form-check-label {
    font-size: 13px;
    color: #a1a1a1;
}
.mod-ajaxlogin__modal .modal-content {
    border: none;
    border-radius: 0;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
}
.mod-ajaxlogin__modal .modal-header {
    border-bottom: none;
    padding-bottom: 0;
}
.mod-ajaxlogin__modal .modal-title {
    color: #85ac1c;
    font-size: 17px;
    font-weight: normal;
    text-transform: uppercase;
}

/* [NEMA] Production layout: gray login card, centered, register button below */
#loginComp .mod-ajaxlogin {
    max-width: 300px;
    margin: 0 auto;
    text-align: center;
}
.mod-ajaxlogin__card {
    background: #efefef;
    padding: 22px 18px;
    margin-bottom: 22px;
}
.mod-ajaxlogin__card .mod-ajaxlogin__header {
    margin: 0 0 14px;
    text-align: center;
}
.mod-ajaxlogin__remember {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-top: 10px;
    font-size: 13px;
    color: #a1a1a1;
}
.mod-ajaxlogin__remember .form-check-label {
    font-size: 13px;
    color: #a1a1a1;
}
.mod-ajaxlogin__links {
    margin-top: 8px;
}
.mod-ajaxlogin__links li a {
    font-size: 14px;
}
.mod-ajaxlogin .btn-primary,
.mod-ajaxlogin__submit {
    border-radius: 0;
    width: 100%;
}
.mod-ajaxlogin__register-btn {
    display: block;
    width: 100%;
    padding: 10px 24px;
    text-transform: uppercase;
    box-shadow: 0 11px 6px -10px rgba(0, 0, 0, 0.43);
}

/* [NEMA] Modals: gray body like the login card; 2-column registration rows */
.mod-ajaxlogin__modal .modal-content {
    background: #efefef;
}
.mod-ajaxlogin__modal .modal-header {
    background: #efefef;
}
.mod-ajaxlogin__reg-row--cols {
    display: flex;
    gap: 12px;
}
.mod-ajaxlogin__reg-row--cols .mod-ajaxlogin__reg-cell {
    flex: 1 1 50%;
    min-width: 0;
}
.mod-ajaxlogin__modal .g-recaptcha {
    display: flex;
    justify-content: center;
}
@media (max-width: 575px) {
    .mod-ajaxlogin__reg-row--cols {
        display: block;
    }
}

/* [NEMA] Terms article popup: stacks above the registration popup */
.mod-ajaxlogin__modal--terms {
    z-index: 1070;
}
.mod-ajaxlogin__terms-body {
    background: #ffffff;
    color: #555555;
    font-size: 14px;
    line-height: 1.6;
    text-align: left;
}

/* [NEMA 1.0.7] GDPR page iframe in the consent popup */
.mod-ajaxlogin__terms-body--iframe {
    padding: 0;
    overflow: hidden;
}
.mod-ajaxlogin__terms-iframe {
    display: block;
    width: 100%;
    height: min(70vh, 640px);
    border: 0;
    background: #fff;
}
