﻿:root {
    --morado: #5a2a83;
    --morado-claro: #7d4bbc;
    --blanco: #ffffff;
    --naranja: #ff6600;
    --naranja-oscuro: #e65500;
    --vino: #80233a;
    --lila: #ab86ce;
    --naranja-suave: #eca867;
    --uva-cereza: #8b2e5f;
    --uva-cereza-hover: #a33b73;
}

body {
    font-family: 'Roboto', sans-serif;
    margin: 0;
    padding: 0;
    color: var(--morado);
    /* Fondo degradado animado */
    background: linear-gradient(270deg, #68424b, #80233a, #ab86ce, #eca867, #e65500, #7d4bbc, #80233a, #68424b );
    background-size: 800% 800%;
    animation: gradientAnim 20s ease infinite;
}

@keyframes gradientAnim {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

header {
    background-color: var(--blanco);
    box-shadow: 0 2px 5px rgba(90, 42, 131, 0.2);
}

.navbar-brand img {
    height: 70px;
    transition: height 0.3s ease;
}

    .navbar-brand img:hover {
        height: 75px;
    }

.nav-link {
    color: var(--morado) !important;
    font-weight: 600;
    transition: color 0.3s ease;
}

    .nav-link:hover {
        color: var(--morado-claro) !important;
    }

.section-title {
    color: var(--morado);
    font-weight: bold;
    text-align: center;
    margin-bottom: 2rem;
}

.registro-section {
    background: transparent;
    width: 100%;
    min-height: 80vh;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2rem;
}

.registro-box {
    background-color: var(--blanco);
    color: var(--morado);
    max-width: 900px; /* Aumentado el ancho para agrandar la sección */
    width: 100%;
    border-radius: 8px;
    padding: 3rem; /* Más espacio interno */
    box-shadow: 0 8px 20px rgba(90, 42, 131, 0.15);
}

    .registro-box h2 {
        color: var(--morado);
        font-weight: 700;
    }

    .registro-box .form-label {
        font-weight: 600;
    }

    .registro-box .form-control {
        border: 1px solid var(--morado-claro);
        border-radius: 4px;
    }

        .registro-box .form-control:focus {
            border-color: var(--morado);
            box-shadow: 0 0 0 0.25rem rgba(90, 42, 131, 0.25);
        }

    .registro-box .btn-uva-cereza {
        background-color: var(--uva-cereza);
        border: none;
        font-weight: 700;
        color: var(--blanco);
        border-radius: 4px;
        transition: background-color 0.3s ease;
    }

        .registro-box .btn-uva-cereza:hover {
            background-color: var(--uva-cereza-hover);
            color: var(--blanco);
        }

    .registro-box .btn-outline-secondary {
        color: var(--morado);
        border-color: var(--morado);
        border-radius: 4px;
        font-weight: 600;
        transition: background-color 0.3s ease, color 0.3s ease;
    }

        .registro-box .btn-outline-secondary:hover {
            background-color: var(--morado);
            color: var(--blanco);
            border-color: var(--morado);
        }

    .registro-box .btn-naranja {
        background-color: var(--naranja);
        color: var(--blanco);
        border: none;
        font-weight: 700;
        border-radius: 4px;
        transition: background-color 0.3s ease;
    }

        .registro-box .btn-naranja:hover {
            background-color: var(--naranja-oscuro);
            color: var(--blanco);
        }

.forgot-password-link {
    color: var(--morado-claro);
    font-weight: 600;
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.3s ease;
}

    .forgot-password-link:hover {
        color: var(--blanco);
        text-decoration: underline;
    }

footer {
    background: linear-gradient(270deg, #68424b, #80233a, #ab86ce, #eca867, #e65500, #7d4bbc, #80233a, #68424b);
    background-size: 800% 800%;
    animation: gradientAnim 20s ease infinite;
    color: var(--blanco);
    padding: 15px 0;
    text-align: center;
    font-size: 0.9rem;
    width: 100%;
    position: relative; /* Cambiado de fixed para que no se encime */
    bottom: 0;
    z-index: 10;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
}

.logo-custom {
    margin-left: 0;
    padding-right: 1rem;
    display: block;
}

/* Añadido para evitar que el contenido quede pegado al footer */
main {
    padding-bottom: 40px;
}

/* Responsive para formulario */
@media (max-width: 600px) {
    .registro-box {
        flex-direction: column !important;
        align-items: center !important;
    }

    .logo-container {
        margin-bottom: 1.5rem !important;
    }

    .form-container {
        width: 100%;
    }
}
