/* Tipografías institucionales */
@font-face { font-family: 'Aptos'; src: local('Aptos'), local('Arial'); }
@font-face { font-family: 'Aptos Narrow'; src: local('Aptos Narrow'), local('Arial Narrow'); }

body {
    font-family: 'Aptos Narrow', sans-serif;
    /* Degradado diagonal: claro a la izquierda (#F8E8E8), fuerte a la derecha (#84191A) */
    background: linear-gradient(135deg, #F8E8E8 0%, #F8E8E8 50%, #84191A 100%);
    background-attachment: fixed;
}

h1, h2 { font-family: 'Aptos', sans-serif; }

.glass-card {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(12px);
    box-shadow: 0 25px 50px -12px rgba(129, 71, 25, 0.25);
}

/* Botón con base negra y elevación en hover */
.btn-victoria {
    background: #000000;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* Hover: degradado guinda original y levantamiento */
.btn-victoria:hover {
    background: linear-gradient(90deg, #9A1A19 0%, #84191A 100%);
    transform: translateY(-8px);
    box-shadow: 0 20px 40px -10px rgba(154, 26, 25, 0.4);
}

.step-hidden { display: none; }

.fade-in { animation: fadeIn 0.4s ease-out forwards; }

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Estilo para los inputs de código */
.otp-input {
    width: 3rem;
    height: 3.5rem;
    text-align: center;
    font-size: 1.25rem;
    font-weight: bold;
    border: 1px solid #E5E7EB;
    border-radius: 0.75rem;
    background-color: #F9FAFB;
    transition: all 0.2s;
}

.otp-input:focus {
    border-color: #9A1A19;
    ring: 2px;
    outline: none;
    box-shadow: 0 0 0 3px rgba(154, 26, 25, 0.1);
}