:root {
    /* MODO OSCURO */
    --background: #0d0d0d;
    --background-secondary: #121212;

    --text: #ffffff;
    --text-secondary: #d8c7ff;

    --card: rgba(50, 26, 93, 0.7);

    --purples: #53089d;
    --purple-light: #9d4edd;

    --border: rgba(156, 81, 255, 0.2);
    --shadow: rgba(108, 43, 217, 0.25);
}


/* =========================================================
   MODO CLARO
   ========================================================= */

html[data-theme="light"] {
    --background: #efe9f7;
    --background-secondary: #ffffff;

    --text: #222222;
    --text-secondary: #7b2cbf;

    --card: rgba(228, 174, 255, 0.9);

    --purples: #a763e3;
    --purple-light: #321a5d;

    --border: rgba(50, 26, 93, 0.2);
    --shadow: rgba(50, 26, 93, 0.20);
}

#background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background:var(--background); 
}

.nav-link:hover{
    transform: scale(1.1);
}


.navbar-custom {
    background: var(--purples); 
    box-shadow: 0 4px 15px var(--shadow);
    border: 1px solid var(--border);
}

.navbar-dark .navbar-nav .nav-link {
    color: var(--text-secondary);
    transition: 0.3s;
}

.navbar-dark .navbar-nav .nav-link:hover {
    color: var(--purple-light);
}

.navbar-brand {
    color: var(--text) !important;
    font-weight: bold;
}

.nav-link {
    color: #ffffff;
    box-shadow: 0 4px 15px var(--shadow);
    border: 1px solid var(--border);
    border-radius: 10%;
    transition: all 0.3s ease;
}
.nav-item{
    padding: 5px;
}

.w-40{
    width: 40%;
}

.w-60{
    width: 60%;
    box-shadow: 0 5px 50px var(--purples);
   
    border-radius: 2%;
}
.container-intro{
    margin-top: 10%;
    margin-bottom: 10%;
    width: 80%;
    justify-self: center;
    color: var(--text);
    
}
.card{
    width: 47%;
    margin-top: 5%;
    margin-bottom: 5%;
    background-color: var(--card) !important;
    padding: 3%;
    text-align: center;
    color: var(--text);
    opacity: 0;
    transform: translateY(80px);
}
.card.projects{
    width: 100%;
    
}

#footer {
    width: 100%;
}

.intro-image {
    perspective: 800px;
    cursor: pointer;
}


.flip-container {
    width: 400px;
    height: 400px;
    perspective: 1000px;
}

.flip {
    width: 100%;
    height: 100%;
    position: relative;
    transform-style: preserve-3d;
}

.flip-front,.flip-back {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;
}

.flip-front img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.flip-back {
    background-color: var(--purples);
    color: white;
    text-align: center;
    padding: 30px;

    transform: rotateY(180deg);
}

.experience {
    opacity: 0;
    transform: translateY(80px);
}
.container-about{
    width: 100%;

}
.card.about {
    width: 100%;
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: space-between;

}
.card.education{
    width: 100%;
    justify-content: center;
    
}

.job_image{
    width: 80%;
    height: 80%;
    justify-content: center;
}

.project-image{
    width: 100%;
    
}
.tech-icons {
    display: flex;
    flex-wrap: wrap;       
    justify-content: center; 
    align-items: center;
    gap: 1rem;             
}

.tech-icons .flex {
    display: flex;
    flex-direction: column; 
    align-items: center;    
    text-align: center;
}

.logo-tech {
    width: 40px;      
    height: 40px;
    object-fit: contain;
}
.card.soft-skills {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.minicard{
    background: var(--purples);
    border-radius: 10%;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    color: #ffffff;
}

.minicard:hover{
    transform: scale(1.1);
}
.btn-lg {
    background: var(--purples);
    color: white;
    margin-top: 20px !important;
    display: inline-block;
    border: none;
    outline: none;
}
.btn-lg.certificade{
    width: 17%; 
    justify-content: center;
}
.languaje{
    margin-top: 0px;
    background: var(--purples);
    color: white;
    border: none;
    outline: none;
}
.titles{
    justify-content: center;
    color:var(--text);
    width: 100%;
    display:flex;
    margin-top:15%;
}
.final{
    background:var(--purples); 
    border-top:1px solid var(--border); 
    width:100%; 
    color:white;
    display: flex; 
    justify-content: center;
    padding:3%;
    gap: 15%;
}
.contact {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.container-contact{
    display: flex; 
    justify-content: center; 
    gap:10%;
}

@media (max-width: 768px) {
    
    .card,.final, .container,.container-about,.container-intro, .intro-container,.w-60 {
        flex-direction: column;
        width:100%;
    }
    .container-contact {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr 1fr;
        justify-items: center;
        align-items: center;
        
    }

    .contact {
        width: auto;
        text-align: center;
    }
    .intro-image{
        margin-top: 10%;
    }
    .card.about{
        flex-direction: column;
    }
    .job_image{
        width: 40%;
        height: 40%;
    }
    .nav-link{
        border-radius: 0%;
    }
    .btn-lg.certificade{
        width: auto;
    }
    .flip-container{
        width: 300px;
        height: 300px;
    }
    

}
