
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Inter:wght@400;500;600;700;800&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    background: #101114;
    color: #ffffff;
    font-family: 'Inter', sans-serif;
}

.navbar {
    height: 85px;
    padding: 0 8%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #2d2c28;
}

.logo {
    text-decoration: none;
    font-family: 'Bebas Neue', sans-serif;
    font-size: 32px;
    letter-spacing: 1px;
    color: #ffffff
}



.nav-label {
    color: #999;
    font-size: 12px;
    letter-spacing: 3px;
}


.hero {
    min-height: calc(100vh - 120px);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 60px 20px;
    background: radial-gradient(
        ellipse at center,
        #1b2935 0%,
        #101114 65%
    );
}

.hero-content {
    max-width: 750px;
}

.hero p {
    color: #aaa;
    line-height: 1.8;
    max-width: 420px;
    margin: 0 auto 32px;
}


.tag {
    color: #0bbbd2;
    font-size: 12px;
    letter-spacing: 3px;
    font-weight: 700;
}



.hero p {
    color: #aaa;
    line-height: 1.8;
    max-width: 420px;
    margin-bottom: 32px;
}

.main-button,
.secondary-button {
    display: inline-block;
    padding: 17px 25px;
    border: none;
    border-radius: 5px;
    background: #0bbbd2;
    color: #101114;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
    transition: .2s;
}

.main-button:hover {
    background: #ebecf0;
    transform: translateY(-2px);
}

.calculator {
    max-width: 650px;
    margin: 90px auto;
    padding: 35px;
    background: #191a1f;
    border: 1px solid #2d2f3e;
    border-radius: 12px;
}

.calculator h2 {
    font-size: 28px;
    margin-bottom: 10px;
}

.calculator p {
    color: #999;
    margin-bottom: 30px;
}

.form-group {
    margin-bottom: 22px;
}

label {
    display: block;
    font-size: 11px;
    letter-spacing: 1px;
    font-weight: 700;
    margin-bottom: 10px;
}

select {
    width: 100%;
    padding: 16px;
    border: 1px solid #393a40;
    border-radius: 5px;
    background: #24252b;
    color: white;
    font-size: 14px;
}

.secondary-button {
    width: 100%;
    background: #292a30;
    color: #f2f5f5;
    margin-bottom: 15px;
}

.calculator > .main-button {
    width: 100%;
}

#destinos {
    display: grid;
    gap: 18px;
    margin-bottom: 20px;
}

#resultado {
    margin-top: 25px;
    color: #0bbbd2;
    line-height: 1.8;
}

footer {
    text-align: center;
    padding: 35px;
    color: #666;
    font-size: 11px;
    letter-spacing: 2px;
}

@media (max-width: 600px) {
    .hero {
        padding: 70px 7%;
    }

    .calculator {
        margin: 50px 15px;
        padding: 23px;
    }

    .navbar {
        padding: 0 6%;
    }
}

/* Campos de búsqueda de barrios */

#origen,
#destinos input {
    width: 100%;
    padding: 17px 18px;
    border: 1px solid #393a40;
    border-radius: 7px;
    background: #24252b;
    color: #fff;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    outline: none;
    transition: border-color .25s, background .25s;
}

#origen:focus,
#destinos input:focus {
    border-color: #0bbbd2;
    background: #292b32;
}

#origen::placeholder,
#destinos input::placeholder {
    color: #777b85;
}

#origen:hover,
#destinos input:hover {
    border-color: #555963;
}
/* MENÚ DE NAVEGACIÓN */

.nav-menu {
    display: flex;
    align-items: center;
    gap: 12px;
}

.nav-link {
    text-decoration: none;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    padding: 11px 16px;
    border: 1px solid rgba(255,255,255,0.13);
    border-radius: 6px;
    transition: all 0.3s ease;
}

.nav-link:hover {
    background: #52bbec;
    color: #171717;
    border-color: #008ff5;
}

.admin-lock {
    margin-left: 5px;
    font-size: 11px;
}


/* ==========================================
   PANEL DE RECARGOS
========================================== */

.panel-recargos {
    background: #24252b;
    padding: 25px;
    border-radius: 12px;
    margin-top: 30px;
    text-align: left;
    color: white;
    width: 100%;
    box-sizing: border-box;
}

.panel-recargos h2 {
    margin-bottom: 25px;
}

.campo-recargo {
    margin-bottom: 22px;
}

.campo-recargo label {
    display: block;
    margin-bottom: 10px;
    color: #ddd;
}

.campo-recargo input[type="text"],
.campo-recargo input[type="number"] {
    width: 100%;
    padding: 13px;
    box-sizing: border-box;
    border: 1px solid #444;
    border-radius: 7px;
    background: #303139;
    color: white;
    outline: none;
}

.switch-container {
    display: flex !important;
    align-items: center;
    gap: 10px;
}

.switch-container input {
    accent-color: #f5c400;
    width: 18px;
    height: 18px;
}

#mensajeRecargo {
    margin-top: 15px;
}


/* ==========================================
   INICIO DE SESIÓN - RECARGOS
========================================== */

.login-card {
    width: 100%;
    max-width: 430px;
    margin: 35px auto 0;
    padding: 30px;
    background: #191a1f;
    border: 1px solid #30333b;
    border-radius: 12px;
    text-align: left;
}

.login-field {
    margin-bottom: 22px;
}

.login-field label {
    color: #bfc2ca;
    font-size: 11px;
    letter-spacing: 1px;
    margin-bottom: 10px;
}

.login-field input {
    width: 100%;
    height: 52px;
    padding: 0 16px;
    background: #24252b;
    border: 1px solid #393a40;
    border-radius: 7px;
    color: white;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    outline: none;
    transition: .25s;
}

.login-field input:focus {
    border-color: #0bbbd2;
    background: #292b32;
}

.login-field input::placeholder {
    color: #777b85;
}

.password-wrapper {
    position: relative;
}

.password-wrapper input {
    padding-right: 52px;
}

.eye-button {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    color: #968685;
    cursor: pointer;
    transition: .2s;
}

.eye-button:hover {
    color: #0bbbd2;
}

.login-button {
    width: 100%;
    margin-top: 8px;
}

#mensaje {
    margin-top: 18px;
    font-size: 13px;
    text-align: center;
    line-height: 1.6;
}

@media (max-width: 600px) {
    .login-card {
        padding: 23px;
        margin-top: 25px;
    }
}


.eye-button svg {
    transition: transform .25s ease, opacity .2s ease;
}

.eye-button:active svg {
    transform: scale(.75);
}

.eye-button.activo {
    color: #0bbbd2;
}

.eye-button:hover svg {
    transform: scale(1.12);
}


/* BOTÓN CERRAR SESIÓN */

.logout-button {
    width: auto;
    margin: 0;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    padding: 12px 18px;
    border-radius: 5px;
}

.logo-link {
    text-decoration: none;
    cursor: pointer;
    transition: opacity .2s ease;
}

.logo-link:hover {
    opacity: .75;
}


/* ==========================================
   ANIMACIONES EN BOMBAS
========================================== */

/* Aparición inicial */

@keyframes aparecer {
    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.hero-content {
    animation: aparecer .85s ease both;
}

/* Iluminación ambiental */

.hero {
    background:
        radial-gradient(
            ellipse at 50% 45%,
            rgba(11, 187, 210, .10) 0%,
            #101114 68%
        );
}

/* Títulos */


/* Tarjetas */

.login-card,
.calculator,
.panel-recargos {
    animation: aparecer .9s ease both;
    transition: transform .3s ease, border-color .3s ease;
}

.login-card:hover,
.calculator:hover,
.panel-recargos:hover {
    transform: translateY(-4px);
    border-color: rgba(11, 187, 210, .45);
}

/* Botones */

.main-button,
.nav-link {
    transition:
        transform .25s ease,
        background .25s ease,
        box-shadow .25s ease;
}

.main-button:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(11, 187, 210, .18);
}

/* Logo */

.logo-link:hover {
    transform: scale(1.03);
}

/* Accesibilidad: reducir movimientos */

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}

/* REPRODUCTOR DE MÚSICA */

.music-player {
    position: fixed;
    bottom: 22px;
    right: 22px;
    z-index: 1000;
}

.music-toggle {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 17px;
    background: rgba(25, 26, 31, .95);
    border: 1px solid #30333b;
    border-radius: 30px;
    color: white;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    cursor: pointer;
    transition: .3s;
}

.music-toggle:hover {
    border-color: #0bbbd2;
    transform: translateY(-3px);
}

#musicIcon {
    color: #0bbbd2;
    font-size: 19px;
}

.music-toggle.playing #musicIcon {
    animation: musica 1.5s ease-in-out infinite;
}

@keyframes musica {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.3); }
}

@font-face {
    font-family: 'American Captain';
    src: url('./assets/fonts/American Captain.ttf') format('truetype');
    font-display: swap;
}

/* American Captain únicamente en el título principal */
.hero h1 {
    font-family: 'American Captain', sans-serif;
    font-size: clamp(65px, 10vw, 50px);
    line-height: .95;
    margin: 25px 0;
    animation: aparecer 1s ease both;
    animation-delay: .1s;
}

/* Logo original */
.logo {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 32px;
}


/* AJUSTES TIPOGRÁFICOS EN BOMBAS */

/* Logo: conservar diseño original */
.logo {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 32px;
}

/* Títulos: American Captain más compacto */
.hero h1 {
    font-family: 'American Captain', sans-serif;
    font-size: clamp(55px, 8vw, 70px);
    line-height: .95;
}

/* Reproductor: asegurar una sola posición */
.music-player {
    position: fixed;
    bottom: 22px;
    right: 22px;
    z-index: 1000;
}

.music-player {
    position: fixed;
    bottom: 25px;
    right: 25px;
    z-index: 9999;
    padding: 12px 20px;
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 50px;
    background: #171717;
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    letter-spacing: 1px;
    transition: 0.3s ease;
}

.music-player:hover,
.music-player.playing {
    background: #292929;
    border-color: #c9a66b;
    box-shadow: 0 0 15px rgba(201,166,107,0.25);
}

#musicIcon {
    color: #c9a66b;
    font-size: 20px;
}

.music-player {
    position: fixed;
    bottom: 25px;
    right: 25px;
    z-index: 9999;
    padding: 12px 20px;
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 50px;
    background: #171717;
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    letter-spacing: 1px;
    transition: 0.3s ease;
}

.music-player:hover,
.music-player.playing {
    background: #292929;
    border-color: #c9a66b;
    box-shadow: 0 0 15px rgba(201,166,107,0.25);
}

#musicIcon {
    color: #c9a66b;
    font-size: 20px;
}


/* =====================================
   PARTICULAS BLANCAS - EN BOMBAS
===================================== */

#particles-bg {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    pointer-events: none;
    z-index: 9999;
}

.particle {
    position: absolute;
    top: -15px;
    border-radius: 50%;
    background: #fff;
    box-shadow:
        0 0 6px rgba(255,255,255,0.8),
        0 0 12px rgba(255,255,255,0.4);

    opacity: 0;
    animation: particleFall linear infinite;
}

@keyframes particleFall {
    0% {
        transform: translate3d(0, -10px, 0);
        opacity: 0;
    }

    10% {
        opacity: 0.8;
    }

    85% {
        opacity: 0.6;
    }

    100% {
        transform: translate3d(35px, 110vh, 0);
        opacity: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    #particles-bg {
        display: none;
    }
}


/* ==========================================
   EN BOMBAS | REDES SOCIALES FLOTANTES
   ========================================== */

.redes-flotantes {
    position: fixed;
    bottom: 25px;
    left: 25px;
    z-index: 9999;

    display: flex;
    flex-direction: column;
    gap: 12px;
}

.red-social {
    width: 52px;
    height: 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;
    color: #ffffff;
    text-decoration: none;

    font-size: 26px;

    box-shadow: 0 5px 20px rgba(0,0,0,0.3);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.red-social:hover {
    transform: translateY(-4px) scale(1.08);
    box-shadow: 0 8px 25px rgba(0,0,0,0.45);
}

.red-social.whatsapp {
    background: #25D366;
}

.red-social.instagram {
    background: linear-gradient(
        45deg,
        #feda75,
        #fa7e1e,
        #d62976,
        #962fbf,
        #4f5bd5
    );
}

@media (max-width: 600px) {
    .redes-flotantes {
        bottom: 18px;
        left: 15px;
        gap: 10px;
    }

    .red-social {
        width: 46px;
        height: 46px;
        font-size: 23px;
    }
}


/* ==========================================
   REDES SOCIALES | COLORES EN BOMBAS
   ========================================== */

.red-social.whatsapp,
.red-social.instagram {
    background: #0fefff;
    color: #17181d;
    border: 1px solid rgba(27, 239, 251, 0.6);
    box-shadow: 0 5px 20px rgba(253, 253, 251, 0.12);
}

.red-social.whatsapp:hover,
.red-social.instagram:hover {
    background: #1dfffb;
    color: #111216;
    box-shadow:
        0 0 15px rgba(255, 255, 254, 0.35),
        0 0 30px rgba(255, 255, 255, 0.15);
    transform: translateY(-4px) scale(1.08);
}


/* ==========================================
   EN BOMBAS | NUEVA IDENTIDAD PRIVADA
   ========================================== */

.private-main {
    background:
        radial-gradient(
            ellipse at 85% 10%,
            rgba(36, 212, 209, 0.12),
            transparent 45%
        ),
        radial-gradient(
            ellipse at 10% 85%,
            rgba(28, 91, 154, 0.10),
            transparent 45%
        ),
        #111216;
}

.private-login h1 span,
.private-heading h1 span,
.private-stat strong,
.private-table td:nth-child(3) {
    color: #24D4D1;
}

.private-stat:hover {
    border-color: rgba(36, 212, 209, 0.5);
}

.private-card .login-field input:focus,
.private-search:focus {
    border-color: #24D4D1;
    box-shadow: 0 0 0 3px rgba(36, 212, 209, 0.12);
}

.private-edit {
    color: #24D4D1;
    background: rgba(36, 212, 209, 0.10);
    border-color: rgba(36, 212, 209, 0.35);
}

.private-edit:hover {
    background: #24D4D1;
    color: #111216;
}

.private-logout:hover {
    color: #24D4D1;
    border-color: #24D4D1;
}

/* BOTONES PRINCIPALES */

.private-main .main-button {
    background: #24D4D1;
    color: #101418;
    border: 1px solid #24D4D1;
    box-shadow: 0 6px 25px rgba(36, 212, 209, 0.12);
    transition: 0.3s ease;
}

.private-main .main-button:hover {
    background: #64F1EC;
    border-color: #64F1EC;
    box-shadow: 0 10px 35px rgba(36, 212, 209, 0.25);
    transform: translateY(-3px);
}

/* ==========================================
   EFECTO DE LUZ EN EL LOGIN
   ========================================== */

.private-login .login-card {
    position: relative;
    overflow: hidden;
    background: #1b1c21;
    border: 1px solid rgba(36, 212, 209, 0.25);
    border-radius: 16px;
    padding: 35px;
    box-shadow: 0 15px 50px rgba(0, 0, 0, 0.25);
    animation: entradaPrivada 0.8s ease both;
}

.private-login .login-card::before {
    content: "";
    position: absolute;
    top: -120px;
    left: -120px;
    width: 250px;
    height: 250px;
    border-radius: 50%;
    background: rgba(36, 212, 209, 0.12);
    filter: blur(75px);
    pointer-events: none;
    animation: luzPrivada 6s ease-in-out infinite alternate;
}

@keyframes entradaPrivada {
    from {
        opacity: 0;
        transform: translateY(25px) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes luzPrivada {
    from {
        transform: translate(0, 0);
    }
    to {
        transform: translate(220px, 130px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .private-login .login-card,
    .private-login .login-card::before {
        animation: none;
    }
}


/* ==========================================
   MOSTRAR Y OCULTAR CONTRASEÑA
   ========================================== */

.password-wrapper {
    position: relative;
    width: 100%;
}

.password-wrapper input {
    width: 100%;
    box-sizing: border-box;
    padding-right: 52px !important;
}

.password-toggle {
    position: absolute;
    top: 50%;
    right: 13px;
    transform: translateY(-50%);

    display: flex;
    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;

    background: transparent;
    border: none;
    border-radius: 7px;
    color: #92929b;
    cursor: pointer;

    transition: color 0.2s ease;
}

.password-toggle:hover,
.password-toggle:focus-visible {
    color: #24D4D1;
}

.password-toggle:focus-visible {
    outline: 2px solid #24D4D1;
    outline-offset: 2px;
}


/* ==========================================
   EN BOMBAS | DISEÑO GLOBAL DE TARJETAS
   ========================================== */

:root {
    --eb-turquesa: #20d0d0;
    --eb-fondo-tarjeta: #1b1c21;
    --eb-borde-tarjeta: rgba(32, 208, 208, 0.24);
}

/* ESTILO BASE REUTILIZABLE */

.eb-card,
.login-card,
.private-card,
.private-stat {
    position: relative;

    background:
        radial-gradient(
            ellipse at 18% 15%,
            rgba(32, 208, 208, 0.09),
            transparent 60%
        ),
        #1b1c21;

    border: 1px solid var(--eb-borde-tarjeta);
    border-radius: 16px;

    box-shadow:
        0 12px 40px rgba(0, 0, 0, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.025);

    transition:
        border-color 0.3s ease,
        box-shadow 0.3s ease,
        transform 0.3s ease;
}

/* ILUMINACIÓN AL PASAR EL CURSOR */

.eb-card:hover,
.private-card:hover,
.private-stat:hover {
    border-color: rgba(32, 208, 208, 0.42);

    box-shadow:
        0 15px 45px rgba(0, 0, 0, 0.22),
        0 0 25px rgba(32, 208, 208, 0.055);
}

/* CAMPOS DE FORMULARIOS */

.eb-card input,
.eb-card select,
.login-card input,
.private-card input,
.private-card select {
    background: rgba(35, 36, 42, 0.9);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 9px;
    color: #ffffff;
    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.eb-card input:focus,
.eb-card select:focus,
.login-card input:focus,
.private-card input:focus,
.private-card select:focus {
    outline: none;
    border-color: var(--eb-turquesa);
    box-shadow: 0 0 0 3px rgba(32, 208, 208, 0.1);
}

/* ANIMACIÓN SUAVE DE ENTRADA */

@keyframes ebCardEntrada {
    from {
        opacity: 0;
        transform: translateY(16px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.eb-card {
    animation: ebCardEntrada 0.55s ease both;
}

@media (prefers-reduced-motion: reduce) {
    .eb-card {
        animation: none;
    }

    .eb-card,
    .login-card,
    .private-card,
    .private-stat {
        transition: none;
    }
}


/* ==========================================
   EN BOMBAS | TARJETAS UNIFICADAS
   COTIZADOR - RECARGOS - PRIVADO
   ========================================== */

:root {
    --eb-acento: #20cbd0;
    --eb-acento-claro: #65f0ec;
    --eb-tarjeta: #1b1c21;
    --eb-borde: rgba(32, 203, 208, 0.26);
}

/* CONTENEDORES PRINCIPALES */

.calculator,
.login-card,
.panel-recargos,
.private-card,
.private-stat,
.private-login .login-card {
    position: relative;

    background:
        radial-gradient(
            ellipse at 15% 10%,
            rgba(32, 203, 208, 0.13) 0%,
            rgba(32, 203, 208, 0.04) 38%,
            transparent 70%
        ),
        #1b1c21 !important;

    border: 1px solid var(--eb-borde) !important;
    border-radius: 16px !important;

    box-shadow:
        0 14px 45px rgba(0, 0, 0, 0.20),
        inset 0 1px 0 rgba(255, 255, 255, 0.025) !important;

    transition:
        border-color 0.35s ease,
        box-shadow 0.35s ease,
        transform 0.35s ease;
}

/* EFECTO AL PASAR EL CURSOR */

.calculator:hover,
.login-card:hover,
.panel-recargos:hover,
.private-card:hover,
.private-stat:hover {
    border-color: rgba(32, 203, 208, 0.48) !important;

    box-shadow:
        0 18px 50px rgba(0, 0, 0, 0.25),
        0 0 30px rgba(32, 203, 208, 0.08) !important;
}

/* CAMPOS DE TEXTO */

.calculator input,
.login-card input,
.panel-recargos input[type="text"],
.panel-recargos input[type="number"],
.private-card input,
.private-card select {
    background: rgba(36, 37, 43, 0.94) !important;
    border: 1px solid #393b43 !important;
    border-radius: 9px !important;
    color: #ffffff !important;

    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}

/* EFECTO AL SELECCIONAR UN CAMPO */

.calculator input:focus,
.login-card input:focus,
.panel-recargos input:focus,
.private-card input:focus,
.private-card select:focus {
    outline: none !important;

    border-color: var(--eb-acento) !important;

    box-shadow:
        0 0 0 3px rgba(32, 203, 208, 0.12),
        0 0 18px rgba(32, 203, 208, 0.08) !important;
}

/* BOTONES TURQUESA */

.calculator .main-button,
.login-card .main-button,
.panel-recargos .main-button {
    background: var(--eb-acento) !important;
    color: #101418 !important;
    border: 1px solid transparent !important;
    border-radius: 7px !important;

    box-shadow: 0 8px 24px rgba(32, 203, 208, 0.10);
}

.calculator .main-button:hover,
.login-card .main-button:hover,
.panel-recargos .main-button:hover {
    background: var(--eb-acento-claro) !important;

    box-shadow:
        0 8px 30px rgba(32, 203, 208, 0.22) !important;
}

/* OJITOS DE CONTRASEÑA */

.login-card .eye-button,
.login-card .password-toggle {
    position: absolute;
    top: 50%;
    right: 13px;
    transform: translateY(-50%);

    display: flex;
    align-items: center;
    justify-content: center;

    width: 36px;
    height: 36px;

    padding: 0;
    border: none;
    border-radius: 8px;
    background: transparent !important;

    color: #999da6;
    cursor: pointer;

    transition:
        color 0.25s ease,
        background 0.25s ease;
}

.login-card .eye-button:hover,
.login-card .password-toggle:hover,
.login-card .eye-button.activo {
    color: var(--eb-acento) !important;
    background: rgba(32, 203, 208, 0.08) !important;
}

.login-card .password-wrapper {
    position: relative;
    width: 100%;
}

.login-card .password-wrapper input {
    width: 100%;
    padding-right: 55px !important;
}

/* ANIMACIÓN DE ENTRADA */

@keyframes ebEntradaTarjeta {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.calculator,
.login-card,
.panel-recargos {
    animation: ebEntradaTarjeta 0.75s ease both;
}

/* MÓVILES */

@media (max-width: 600px) {
    .calculator,
    .login-card,
    .panel-recargos {
        border-radius: 14px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .calculator,
    .login-card,
    .panel-recargos {
        animation: none;
    }
}
