* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    background: #BF5D5D;
    background-image: url('../assets/textures/textura.svg');
    min-height: 100dvh;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: sans-serif;
}

.card {
    background: #ba3636;
    border-radius: 1rem;
    padding: 2.5rem 2rem;
    width: clamp(280px, 88vw, 420px);
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

h1 { font-size: 1.5rem; color: #000000; }

p  { font-size: .85rem; color: #000000; }

input {
    width: 100%;
    padding: .6rem .8rem;
    border-radius: .5rem;
    border: 3px solid #FFC3C3;
    background: #FFC3C3;
    font-size: 1rem;
    outline: none;
    text-align: center;
    letter-spacing: .15em;
}

input:focus {
    border-color: #f2dc00;
    box-shadow: 0 0 0 3px rgba(243,221,0,.3);
}

button {
    width: 100%;
    padding: .7rem;
    border-radius: .5rem;
    border: none;
    background: #FFC3C3;
    font-size: 1rem;
    cursor: pointer;
    transition: transform .15s;
}

button:active { transform: translateY(2px); }
.error {
    color: #091094;
    font-size: .8rem;
    min-height: 1rem;
}