
/* ============================= */
/* VARIABLES GLOBALES */
/* ============================= */
:root {
    --dorado: #c8a21d;
    --azul-oscuro: #112D4E;
    --blanco-hielo: #F0F5F9;
    --negro-azulino: #1B1B2F;
}

/* ============================= */
/* ESTILOS DE LAS ESQUINAS */
/* ============================= */
.esquina {
    position: absolute;
    width: 63%;
    opacity: 0; /* Se inicia oculta para la animación */
}

.esquina-izq {
    top: 0;
    left: 0;
    animation: aparecerDesdeIzq 1s ease-out forwards;
}

.esquina-der {
    bottom: 0;
    left: 0;
    width: 45% !important;
    animation: aparecerDesdeAbajo 1s ease-out 0.5s forwards;
}

.esquina-inf-der {
    bottom: 0;
    right: 0;
    width: 71%;
    animation: aparecerDesdeDer 1s ease-out 1s forwards;
}

/* ============================= */
/*Contenedor principal*/
/* ============================= */

.esquina {
    position: absolute;
    opacity: 0; /* Se inicia oculta para la animación */
}

.esquina-izq-1 {
    top: 0;
    left: 0;
    animation: aparecerDesdeIzq 1s ease-out forwards;
    width: 27.5% !important;
}

.esquina-der-1 {
    bottom: 0;
    left: 0;
    width: 28% !important;
    animation: aparecerDesdeAbajo 1s ease-out 0.5s forwards;
}

.esquina-inf-der-1 {
    top: 0;
    right: 0;
    width: 30% !important;
    animation: aparecerDesdeDer 1s ease-out 1s forwards;
}

/* ============================= */
/* ESTILOS DE LAS ESQUINAS PARA HOSTING*/
/* ============================= */

.esquina {
    position: absolute;
    opacity: 0; /* Se inicia oculta para la animación */
}

.esquina-izq-2{
    top: 0;
    left: 0;
    animation: aparecerDesdeIzq 1s ease-out forwards;
    width: 26% !important;
}

.esquina-der-2{
    bottom: 0;
    left: 0;
    width: 35.5% !important;
    animation: aparecerDesdeAbajo 1s ease-out 0.5s forwards;
}

.esquina-inf-der-2{
    top: 0;
    right: 0;
    width: 30% !important;
    animation: aparecerDesdeDer 1s ease-out 1s forwards;
}

.footer {
    position: relative;
    width: 100%;
    height: 30vh; /* Ajusta según sea necesario */
    overflow: hidden;
}

.footer-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('../img/footer.jpg') no-repeat center center/cover;
}

.footer-copy {
    text-align: center;
    font-size: 1em;
    font-family: 'Quicksand';
    font-weight: 600;
}

.footer-copy {
    background-color: var(--color-primario);
    padding: 5px 10px;
    font-size: 1.1em;
    text-align: center;
    color: var(--color-secundario);
}

/* Responsivo */
@media (max-width: 768px) {
    .planes {
        flex-direction: column;
        align-items: center;
    }
}


/* ESTILOS DEL BOTÓN 

.btn {
    background: var(--color-negro);
    color: var(--color-blanco);
    padding: 0.5em 1em;
    border: none;
    border-radius: 20px;
    font-size: 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 5px;
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease-in-out;
    position: relative;
    overflow: hidden;
}


.btn:hover {
    background: var(--color-dorado);
    color: var(--color-negro);
    transform: scale(1.05);
    box-shadow: 4px 4px 15px rgba(255, 204, 0, 0.5);
}


.btn span {
    background: var(--color-dorado);
    color: var(--color-negro);
    padding: 5px;
    border-radius: 50%;
    height: 30px;
    width: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease-in-out;
}


.btn:hover span {
    background: var(--color-blanco);
    color: var(--color-dorado);
}

*/
/* ==============================
    VARIABLES GLOBALES (ROOT)
================================= */

/* ==============================
    ANIMACIONES
================================= */

/* Animación para hacer aparecer los elementos deslizándose hacia arriba */
@keyframes slide-up {
    from {
        transform: translateY(30px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* Animación de aparición para los elementos */
@keyframes aparecer {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* ==============================
    RESPONSIVIDAD
================================= */
@media (max-width: 768px) {
    .tech-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 columnas en tablets */
    }
}

@media (max-width: 480px) {
    .tech-grid {
        grid-template-columns: 1fr; /* 1 columna en móviles */
    }
}

/* ============================= */
/* RESPONSIVE DESIGN */
/* ============================= */



/* Animación de aparición desde abajo */
@keyframes aparecerDesdeAbajo {
    from {
        transform: translateY(50px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}



/* Animaciones */
@keyframes aparecerDesdeAbajo {
    from {
        transform: translateY(50px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes deslizarDesdeArriba {
    from {
        transform: translateY(-50px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes deslizarDesdeIzq {
    from {
        transform: translateX(-50px);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

/* Tarjeta
.cards {
    display: flex;
    gap: 20px;
}

.card {
    background: #111;
    border-radius: 4em 4em 0em 0em;
    border: 2px solid var(--color-dorado);
    border-bottom: none;
    padding: 1.5em;
    width: 25em;
    height: 40em;
    margin-bottom: -3em;
    text-align: center;
    opacity: 0;
    animation: aparecerDesdeAbajo 1s ease-out forwards;
}


.card-header img {
    width: 20em;
    height: 20em;
    border-radius: 50%;
    opacity: 0;
    animation: deslizarDesdeArriba 1s ease-out 0.5s forwards;
}

.highlight {
    color: var(--color-dorado);
}


.card-body h2,
.card-body h3,
.card-body p {
    opacity: 0;
    animation: deslizarDesdeIzq 1s ease-out 1s forwards;
}


.btn {
    background: var(--color-negro);
    color: var(--color-blanco);
    padding: 10px 20px;
    border: none;
    border-radius: 20px;
    font-size: 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 5px;
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease-in-out;
    position: relative;
    overflow: hidden;
    justify-content: center;
    opacity: 0;
    margin: 1em;
    animation: aparecerDesdeAbajo 1s ease-out 1.5s forwards;
}


/* ============================= */
/* ANIMACIONES */
/* ============================= */

/* Animación para las esquinas */
@keyframes aparecerDesdeIzq {
    from {
        transform: translateX(-100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes aparecerDesdeDer {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes aparecerDesdeAbajo {
    from {
        transform: translateY(100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* Animaciones para contenido */
@keyframes deslizarDesdeIzq {
    from {
        transform: translateX(-50px);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes deslizarDesdeDer {
    from {
        transform: translateX(50px);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

/* ============================= */
/* RESPONSIVE DESIGN */
/* ============================= */

@media (max-width: 768px) {
    .esquina {
        width: 30%;
    }
}

