﻿:root {
    --verde: #2f9e5f;
    --verde-oscuro: #1f6f43;
    --gris: #2b2b2b;
    --naranja: #cc7a00;
    --naranja-oscuro: #995c00;
}

body {
    font-family: 'Poppins', sans-serif;
    min-height: 100vh;
    background: linear-gradient( 120deg, rgba(31,111,67,0.8), rgba(43,43,43,0.8) ), url('../images/fondo.jpg') center / cover no-repeat;
    display: flex;
    flex-direction: column;
    width: 100% !important;
}

/* Header */
header {
    padding: 1rem 0;
    text-align: center;
}

    header img {
        max-width: 100%;
        max-height: 80px;
    }

/* Card base */
.glass-card {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
    position: relative;
    padding-top: 5.2rem;
    overflow: hidden; /* importante para la animación */
}

    /* ✨ Aro animado */
    .glass-card::before {
        content: "";
        position: absolute;
        inset: -2px;
        border-radius: inherit;
        background: linear-gradient( 120deg, rgba(31,111,67,1), rgba(43,43,43,0.85) );
        /*background: conic-gradient(
        from 0deg,
        transparent 0deg,
        var(--verde) 90deg,
        var(--verde-oscuro) 180deg,
        transparent 270deg,
        transparent 360deg
    );*/
        /*animation: spin 8s linear infinite;*/
        animation: scalePulse 7s ease-in-out infinite;
        z-index: 0;
    }

    /* Capa interna para que el contenido no se vea afectado */
    .glass-card::after {
        content: "";
        position: absolute;
        inset: 2px;
        background: rgba(255, 255, 255, 0.15);
        backdrop-filter: blur(12px);
        border-radius: inherit;
        z-index: 1;
    }

    /* Asegura que el contenido esté arriba */
    .glass-card > * {
        position: relative;
        z-index: 2;
    }

/* Animación */
@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

/* Logo flotante */
.logo-wrapper {
    position: absolute;
    top: -42px;
    left: 50%;
    transform: translate(-50%,-11%);
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--verde), var(--verde-oscuro));
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 25px rgba(0,0,0,0.35);
    z-index: 3;
}

    .logo-wrapper img {
        width: 80px;
    }

/* Inputs */
.form-control {
    background: rgba(255,255,255,0.2);
    border: none;
    color: #fff;
}

    .form-control::placeholder {
        color: rgba(255,255,255,0.7);
    }

    .form-control:focus {
        background: rgba(255,255,255,0.25);
        box-shadow: 0 0 0 2px rgba(47,158,95,0.4);
        transform: scale(1.02);
        color: #fff;
    }

/* Iconos */
.input-group-text {
    background: rgba(255,255,255,0.2);
    border: none;
    color: #fff;
}

/* Botón */
.btn-gradient {
    background: linear-gradient(135deg, var(--verde), var(--verde-oscuro));
    border: none;
    color: #fff;
    font-weight: 500;
    letter-spacing: 0.5px;
}

    .btn-gradient:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 20px rgba(47,158,95,0.4);
    }

/* Footer */
footer {
    margin-top: auto;
    text-align: center;
    padding: 0.75rem;
    font-size: 0.85rem;
    color: rgba(255,255,255,0.8);
}

a {
    color: #c8ffe0 !important;
}

    a:hover {
        color: #ffffff !important;
    }

.logo {
/*    transform: translate(0%, -265%) !important;
    top: unset !important;
    left: unset !important;*/
}

/*
.glass-card::before {
    content: "";
    position: absolute;
    inset: -2px;
    border-radius: inherit;
    opacity: 0;
    transition: opacity 0.4s ease;
}

.glass-card::before {
    opacity: 1;
    background: linear-gradient(
        135deg,
        var(--gris),
        var(--verde)
    );
}*/

/* Animación de escala NOTORIA */
@keyframes scalePulse {
    0%, 100% {
        transform: scale(0.91);
    }

    50% {
        transform: scale(1);
    }
}

h3 {
    font-family: 'Poppins', sans-serif;
}

p {
    margin: unset;
    margin-bottom: 0 !important;
    font-family: 'Poppins', sans-serif;
    font-size: 1rem;
    width: unset;
}

.swal2-popup {
    font-size: .7rem !important;
    font-family: Arial, serif;
}

.swal2-actions > button {
    background-color: #35B86B !important;
}

.swal2-styled.swal2-confirm:focus {
    box-shadow: 0 0 0 3px rgba(53,184,107,.5);
}

/* Botón */
/*
.btn-gradient-codigo {
    background: linear-gradient(135deg, var(--naranja), var(--naranja-oscuro));
    border: none;
    color: #fff;
    font-weight: 500;
    letter-spacing: 0.5px;
}

    .btn-gradient-codigo:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 20px rgba(204,122,0,0.4);
    }*/

/* Botón */
.btn-gradient-cancelar {
    background: linear-gradient(135deg, var(--naranja), var(--naranja-oscuro));
    border: none;
    color: #fff;
    font-weight: 500;
    letter-spacing: 0.5px;
    transform: translateX(50%)
}

    .btn-gradient-cancelar:hover {
        transform: translate(50%,-2px);
        box-shadow: 0 8px 20px rgba(204,122,0,0.4);
    }

.glass-card-container {
    max-width: 420px;
    position:relative;
}

.txt-disabled {
    color: #2b2b2b !important;
}