:root {
    --keycloak-logo-url: url('../img/logo.png');
    --keycloak-logo-height: 83px;
    --keycloak-logo-width: 300px;
    --keycloak-bg-color: linear-gradient(135deg, #FFFFFF, #c8d5e8);
    --pf-v5-global--primary-color--100: #C4503A;
    --pf-v5-global--primary-color--200: #9c402e; /* hover */
    --authsezam-notice-bg: #E8F3E8;
    --authsezam-notice-fg: #1B3D1E;
    --authsezam-notice-icon: #3E8E41;
    --authsezam-step-marker-fg: #FFFFFF;
}

.secondary-text {
    color: #6E6E6E; /* lighter grey text */
}

/* Dark mode */
.pf-v5-theme-dark {
    --keycloak-logo-url: url('../img/logo-dark-mode.png');
    --keycloak-bg-color: linear-gradient(135deg, #2D2D2D, #101010);
    --authsezam-notice-bg: #1E3320;
    --authsezam-notice-fg: #D7EBD8;
    --authsezam-notice-icon: #5CB860;
}

.pf-v5-theme-dark .secondary-text {
    color: #B4B4B4;
}

/* ── Magic-link waiting page ─────────────────────────────────────────────── */

.ml-notice {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background: var(--authsezam-notice-bg);
    color: var(--authsezam-notice-fg);
    border-radius: 8px;
    padding: 0.875rem 1rem;
    margin: 0 0 1.75rem;
    text-align: left;
}

.ml-notice__icon {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    color: var(--authsezam-notice-icon);
}

.ml-notice__body {
    flex: 1 1 auto;
    min-width: 0;
}

.ml-notice__text {
    margin: 0;
    font-weight: 600;
    line-height: 1.45;
    overflow-wrap: break-word;
}

.ml-notice__text + .ml-notice__text {
    margin-top: 0.2rem;
}

.ml-awaiting__title {
    margin: 0 0 1.25rem;
    font-size: 145%;
    font-weight: 700;
    text-align: center;
}

.ml-steps {
    list-style: none;
    counter-reset: ml-step;
    margin: 0;
    padding: 0;
    text-align: left;
}

.ml-steps > li {
    counter-increment: ml-step;
    position: relative;
    padding-left: 2.5rem;
    margin-bottom: 1.1rem;
    line-height: 1.5;
}

.ml-steps > li:last-child {
    margin-bottom: 0;
}

.ml-steps > li::before {
    content: counter(ml-step);
    position: absolute;
    left: 0;
    top: 0;
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 50%;
    background: var(--pf-v5-global--primary-color--100);
    color: var(--authsezam-step-marker-fg);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 85%;
    font-weight: 700;
}

.ml-awaiting__expiry {
    margin: 1.75rem 0 0;
    font-size: 85%;
    text-align: center;
}

.ml-awaiting__foot {
    margin: 0.75rem 0 0;
    font-size: 80%;
    text-align: center;
}

/* Minimal variant — compact confirmation card */

.ml-awaiting--minimal {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.ml-awaiting__badge {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #F5F3FE;
    background: color-mix(in srgb, var(--pf-v5-global--primary-color--100) 12%, #FFFFFF);
}

.pf-v5-theme-dark .ml-awaiting__badge {
    background: color-mix(in srgb, var(--pf-v5-global--primary-color--100) 22%, #101010);
}

.ml-awaiting--minimal .ml-awaiting__title {
    margin: 0.65rem 0 0;
    font-size: 120%;
}

.ml-awaiting--minimal .ml-awaiting__lead {
    margin: 0.65rem 0 0;
}

.ml-awaiting--minimal .ml-awaiting__expiry {
    margin: 0.65rem 0 0;
}
