html {
    scroll-snap-type: y mandatory;
    scroll-behavior: smooth;
}

html, body{
    height: 100%;
    margin: 0;
    padding: 0;
}

section, .cuerpoPrincipal, .sobreMi, .proyectos, .contactame {
    scroll-snap-align: start;
    min-height: 100dvh;
    display: flex; /* */
    flex-direction: column; /* */
    justify-content: center; /* Esto centra el cuadro verticalmente */
    align-items: center; /* Esto asegura el centrado horizontal */
    padding-top: 80px; /* Espacio para el Navbar */
    padding-bottom: 80px; /* Espacio de seguridad abajo para que no toque el borde */
}

.fondo{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-image: url(../images/background.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    z-index: -10;
}

body{
    font-family: 'JetBrains Mono', monospace;
    overscroll-behavior-y: none;
}

.navbar-toggler {
    border: none !important;
    background-color: transparent !important;
    padding: 0 !important;
}

.navbar-toggler:focus,
.navbar-toggler:active,
.navbar-toggler-icon:focus {
    outline: none !important;
    box-shadow: none !important;
}

.navbar-collapse {
    transition: all 0.4s ease-in-out;
}

.navbar-toggler:hover .navbar-toggler-icon {
    filter: brightness(1.2);
}

.navbarPaginaPrincipal {
    transition: all 0.5s ease;
}

.navbarPaginaPrincipal.cambioNavbar {
    transition: all 0.5s ease;
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.navbar-nav .nav-link {
    position: relative;
    z-index: 1;
    color: rgb(131, 131, 131);
    font-weight: 600;
    transition: color 0.5s ease;
}

.navbar-nav .nav-link:hover {
    color: rgb(255, 255, 255);
    transition: color 0.5s ease;
}

.navbar-nav .nav-link::after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    border-radius: 2px;
    bottom: 0;
    left: 0;
    background-color: rgb(211, 156, 124);
    transition: width 0.3s ease;
}

.navbar-nav .nav-link:hover::after {
    width: 100%;
}

#particles-js {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 0;
    pointer-events: none;
    background-color: transparent;
}

.cuerpoPrincipal{
    min-height: 100dvh;
    z-index: -1;
}

.cuadroPrincipal{
    padding: 5% 5% 5% 5%;
    position: relative;
    background: rgba(0, 0, 0, 0.05);
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(104, 104, 104, 0.1);
    z-index: 2;
    padding: 2rem;
}

.cuerpoPrincipal h1{
    color: rgb(237, 230, 200);
    text-shadow: 2px 2px 4px #434343;
}

.cuerpoPrincipal h3{
    color: rgb(211, 156, 124);
    text-shadow: 2px 2px 4px #544e47;
}

.cuadroBotones{
    padding-top: 20px;
}

.cuadroBotones a{
    text-decoration: none;
    color: rgb(237, 230, 200);
    text-shadow: 2px 2px 4px #000000;
    padding: 5px 5px 5px 5px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(10px);
    background-color: rgba(99, 99, 99, 0.3);
    transition: 
        box-shadow 0.5s ease, 
        color 0.5s ease, 
        background-color 0.5s ease;
}

.cuadroBotones a:hover{
    color: rgb(225, 146, 171);
    background-color: rgba(0, 0, 0, 0.3);
    box-shadow: 0px 0px 10px rgb(225, 146, 171);
    transition: 
        box-shadow 0.5s ease, 
        color 0.5s ease, 
        background-color 0.5s ease;
}

.sobreMi{
    padding-left: 5%;
    padding-right: 5%;
}

.cuadroPresentacion{
    padding: 2rem;
    color: rgb(237, 230, 200);
    background: rgba(0, 0, 0, 0.05);
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(104, 104, 104, 0.1);
    z-index: 2;
}

.cuadroPresentacion h2{
    color: rgb(225, 146, 171);
    text-shadow: 2px 2px 4px #402835;
}

.img-perfil{
    border-radius: 10px;
    object-fit: cover;
    box-shadow: 0px 0px 10px rgb(0, 0, 0);
    border: 1px solid rgba(104, 104, 104, 0.1);
    height: 250px;
}

.img-perfil {
    filter: grayscale(100%);
    transition: 0.4s;
}

.img-perfil:hover {
    filter: grayscale(0%);
    transform: scale(1.02);
}

.pincelada-info small{
    color: rgb(211, 156, 124);
    text-shadow: 2px 2px 4px #544e47;
}

@media (min-width: 992px) {
    .cuerpoPrincipal, .sobreMi {
        height: 100dvh;
    }
}

@media (max-width: 991px) {
    html {
        scroll-snap-type: none;
    }
    .cuerpoPrincipal, .sobreMi {
        min-height: 100dvh;
    }
    section, .cuerpoPrincipal, .sobreMi, .proyectos, .contactame {
        height: auto;
        min-height: 100dvh;
        padding-top: 80px;  /* Espacio para que el navbar no tape el título */
        padding-bottom: 40px;
    }
}

@media (max-width: 768px) {
    .cuadroBotones {
        justify-content: center !important;
        flex-direction: column;
        align-items: center;
        gap: 15px !important;
    }

    .cuadroBotones a {
        width: 100%;
        max-width: 280px;
        margin: 0 !important;
    }
    .pincelada-info {
        margin-top: 10px;
    }
    
    .img-perfil {
        width: 150px; 
        height: 150px;
    }
}

.ajusteImg{
    height: 25px;
}

.tech-item{
    margin-bottom: 1.5rem;
}

.cuadroPresentacion h5{
    letter-spacing: 2px;
    color: rgb(211, 156, 124);
    text-shadow: 2px 2px 4px #544e47;
}

.tech-stack-container{
    padding: 1.5rem;
    background-color: #000000cb;
    border-radius: 10px;
    backdrop-filter: blur(10px);
    box-shadow: 0px 0px 10px rgb(53, 53, 53);
    transition: 0.4s;
}

.tech-stack-container:hover{
    transform: scale(1.02);
}

.progress-mini {
    width: 100%;
    height: 4px;
    background: rgba(255, 255, 255, 0.1);
    margin-top: 5px;
    border-radius: 2px;
}

.progress-mini .fill {
    height: 100%;
    background: rgb(211, 156, 124);
    border-radius: 2px;
    box-shadow: 0 0 8px rgba(211, 156, 124, 0.5);
}

.dot-navigation {
    position: fixed;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    flex-direction: column;
    gap: 20px;
    z-index: 1000;
}

.dot {
    width: 10px;
    height: 10px;
    background-color: rgba(255, 255, 255, 0);
    border: 1px solid rgb(255, 255, 255);
    border-radius: 50%;
    transition: all 0.3s ease;
}

.dot:hover {
    background-color: rgb(225, 146, 171);
    transform: scale(1.5);
}

.dot.active {
    background-color: rgb(225, 146, 171);
    box-shadow: 0 0 10px rgb(225, 146, 171);
}