/* Acabado exclusivo de los accesos SCODEM. Fuentes existentes, sin CDN. */
@font-face {
    font-family: "Poppins";
    src: url("../themes/auth/fonts/poppins/Poppins-Regular.ttf") format("truetype");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "Poppins";
    src: url("../themes/auth/fonts/poppins/Poppins-Medium.ttf") format("truetype");
    font-style: normal;
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: "Poppins";
    src: url("../themes/auth/fonts/poppins/Poppins-SemiBold.ttf") format("truetype");
    font-style: normal;
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: "Poppins";
    src: url("../themes/auth/fonts/poppins/Poppins-Bold.ttf") format("truetype");
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: "Poppins";
    src: url("../themes/auth/fonts/poppins/Poppins-ExtraBold.ttf") format("truetype");
    font-style: normal;
    font-weight: 800;
    font-display: swap;
}

@font-face {
    font-family: "Poppins";
    src: url("../themes/auth/fonts/poppins/Poppins-Black.ttf") format("truetype");
    font-style: normal;
    font-weight: 900;
    font-display: swap;
}

body.sco-login-premium {
    --sco-login-navy: #1f2a44;
    --sco-login-gold: #dd9806;
    --sco-login-gold-light: #f4bf3a;
    --sco-login-navy-rgb: 31, 42, 68;
    --sco-login-gold-rgb: 221, 152, 6;
}

.sco-login-premium .login-page {
    /* La esfera decorativa conserva su posición sin ampliar el ancho de página. */
    overflow-x: clip;
}

.sco-login-premium .feature {
    border-color: rgba(var(--sco-login-gold-rgb), .23);
    background: linear-gradient(145deg, rgba(255, 255, 255, .88), rgba(255, 251, 243, .72));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .94),
        0 2px 4px rgba(var(--sco-login-navy-rgb), .025),
        0 12px 28px rgba(var(--sco-login-navy-rgb), .045);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.sco-login-premium .feature > div:last-child {
    min-width: 0;
}

.sco-login-premium .feature strong {
    min-height: 2.8em;
    line-height: 1.4;
    white-space: normal;
    overflow: visible;
    overflow-wrap: break-word;
    text-overflow: clip;
    color: var(--sco-login-navy);
}

.sco-login-premium .feature-icon,
.sco-login-premium .avatar {
    position: relative;
    isolation: isolate;
    color: var(--sco-login-navy) !important;
    border: 1px solid rgba(var(--sco-login-gold-rgb), .32) !important;
    background: linear-gradient(145deg, #ffffff, #fff5dc) !important;
    box-shadow:
        inset 0 1px 0 #ffffff,
        inset 0 -2px 0 rgba(var(--sco-login-gold-rgb), .1),
        0 2px 0 rgba(var(--sco-login-gold-rgb), .12),
        0 7px 14px rgba(var(--sco-login-navy-rgb), .07);
}

.sco-login-premium .feature-icon::before,
.sco-login-premium .avatar::before {
    content: "";
    position: absolute;
    inset: 3px;
    border-radius: inherit;
    border-top: 1px solid rgba(255, 255, 255, .72);
    pointer-events: none;
}

.sco-login-premium .feature-icon svg,
.sco-login-premium .avatar svg {
    color: var(--sco-login-navy) !important;
    opacity: 1 !important;
    stroke-linecap: round;
    stroke-linejoin: round;
    filter: drop-shadow(0 1px 0 rgba(255, 255, 255, .85));
}

.sco-login-premium .avatar {
    border-color: rgba(var(--sco-login-gold-rgb), .62) !important;
    background: linear-gradient(145deg, #35435f, var(--sco-login-navy)) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .24),
        inset 0 -2px 0 rgba(0, 0, 0, .13),
        0 3px 0 rgba(var(--sco-login-navy-rgb), .12),
        0 10px 22px rgba(var(--sco-login-navy-rgb), .13);
}

.sco-login-premium .avatar svg {
    color: var(--sco-login-gold-light) !important;
    filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .22));
}

.sco-login-premium .tab {
    height: auto;
    min-height: 50px;
    padding: 8px 10px;
    line-height: 1.35;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    color: var(--sco-login-navy);
    border-color: rgba(var(--sco-login-gold-rgb), .28);
    background: linear-gradient(145deg, #ffffff, #fff9ee);
    box-shadow:
        inset 0 1px 0 #ffffff,
        inset 0 -1px 0 rgba(var(--sco-login-gold-rgb), .08),
        0 3px 8px rgba(var(--sco-login-navy-rgb), .035);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.sco-login-premium .tab svg {
    color: var(--sco-login-navy) !important;
    opacity: 1 !important;
}

.sco-login-premium .tab.active {
    color: #ffffff;
    border-color: rgba(var(--sco-login-gold-rgb), .4);
    background: linear-gradient(145deg, #35435f, var(--sco-login-navy));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .2),
        inset 0 -2px 0 rgba(0, 0, 0, .1),
        0 2px 0 rgba(var(--sco-login-navy-rgb), .12),
        0 8px 16px rgba(var(--sco-login-navy-rgb), .12);
}

.sco-login-premium .tab.active svg {
    color: var(--sco-login-gold-light) !important;
}

.sco-login-premium .submit {
    padding: 0 20px;
    line-height: 1.4;
    font-weight: 700;
    color: var(--sco-login-navy);
    border: 1px solid rgba(var(--sco-login-gold-rgb), .65);
    background: linear-gradient(135deg, var(--sco-login-gold-light), var(--sco-login-gold)) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .6),
        inset 0 -2px 0 rgba(var(--sco-login-navy-rgb), .09),
        0 3px 0 rgba(var(--sco-login-gold-rgb), .2),
        0 10px 24px rgba(var(--sco-login-navy-rgb), .1) !important;
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.sco-login-premium :is(a, button, input):focus-visible {
    outline: 2px solid var(--sco-login-navy);
    outline-offset: 4px;
}

.sco-login-premium .login-footer-version {
    color: rgba(var(--sco-login-navy-rgb), .74);
    line-height: 1.5;
}

@media (hover: hover) and (pointer: fine) {
    .sco-login-premium .feature:hover {
        transform: translateY(-2px);
        border-color: rgba(var(--sco-login-gold-rgb), .4);
        box-shadow: inset 0 1px 0 #ffffff, 0 14px 28px rgba(var(--sco-login-navy-rgb), .075);
    }

    .sco-login-premium a.tab:hover {
        transform: translateY(-1px);
        border-color: rgba(var(--sco-login-gold-rgb), .6);
        box-shadow: inset 0 1px 0 #ffffff, 0 7px 14px rgba(var(--sco-login-navy-rgb), .075);
    }

    .sco-login-premium .submit:hover {
        transform: translateY(-2px);
        filter: brightness(1.025);
    }
}

.sco-login-premium a.tab:active,
.sco-login-premium .submit:active {
    transform: translateY(0);
}

@media (max-width: 760px) {
    .sco-login-premium .feature strong {
        min-height: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sco-login-premium :is(.feature, .tab, .submit) {
        transition: none;
        transform: none;
    }

    .sco-login-premium .sphere {
        animation: none;
    }
}
