* {
    margin: 0;
    padding: 0;
}

button {
    all: unset;
    cursor: pointer;
}

body, html {
    width: 100vw;
    overflow-x: hidden;
}

a {
    all: unset;
    cursor: pointer;
}

@font-face {
    font-family: 'neulis';
    src: url('neulis-sans.otf') format('opentype');
    font-weight: 100 900;
    font-style: normal;
}

@font-face {
    font-family: 'neulis_black';
    src: url('Neulis_Neue_Black.otf') format('opentype');
    font-weight: 100 900;
    font-style: normal;
}

@font-face {
    font-family: 'bebas_neue';
    src: url('BebasNeue-Regular.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
}

@font-face {
    font-family: "Poppins-Light";
    src: url(Poppins-Light.ttf) format(truetype);
}

body {
    font-family: 'neulis';
    font-weight: 500;
}

.contenedor_whatsapp {
    position: fixed;
    bottom: 1.5vw;
    left: 1.5vw;
    border-radius: 2vw;
    overflow: hidden;
    width: 5vw;
    height: 5vw;
    box-shadow: 0 0.5vw 1vw rgba(0, 0, 0, 0.3);
    transition: 0.75s;
    z-index: 500;
    font-weight: 200;
}
    
.barra_verde_whatsapp {
    background-color: #17b932;
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    height: 5vw;
    transition: 0.75s;
}

.whatsapp_logo {
    width: 5vw;
    height: 5vw;
    transition: 0.75s;
}

.hola_en_que_puedo_ayudarte {
    font-size: 1vw;
    font-family: "Poppins-Light";
    background-color: white;
    border-radius: 10vw;
    box-shadow: 0 0.25vw 5vw rgba(0, 0, 0, 0.3);
    padding: 2vw;
    padding-top: 1vw;
    padding-bottom: 1vw;
    width: 20.25vw;
}

.contenedor_whatsapp:hover {
    width: 27.5vw;
    height: 17.5vw;
}

.contenedor_whatsapp:hover .barra_verde_whatsapp {
    width: 27.5vw;
    height: 4vw;
}

.contenedor_whatsapp:hover .whatsapp_logo {
    width: 4vw;
    height: 4vw;
}

.parte_blanca_whatsapp {
    background-color: #ECEBF0;
    width: 100%;
    height: 100%;
    padding: 1.5vw;
}

.padre_abrir_chat {
    pointer-events: none;
}

.abrir_chat {
    font-size: 1vw;
    font-family: "Poppins-Light";
    background-color: #17b932;
    padding: 1vw;
    padding-left: 1.5vw;
    color: white;
    margin-top: 1.6vw;
    border-radius: 10vw;
    transition: 0.75s;
    position: relative;
    cursor: pointer;
    overflow: hidden;
    z-index: 1;
    transition: color 0.3s ease;
    width: 5.5vw;
    pointer-events: all;
}

.abrir_chat::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: black;
    z-index: -1;
    transition: top 0.3s ease;
    border-radius: 1vw;
}

.abrir_chat:hover::after {
    top: 0;
}

.abrir_chat:hover {
    color: white;
}

@media (min-aspect-ratio: 16/16) {
    .parrafo_mensaje_buble {
        font-size: 1.25vw;
        line-height: 1.25vw;
        padding-top: 1vw;
        padding-bottom: 1vw;
        display: flex;
        justify-content: center;
    }

    nav {
        width: 100vw;
        height: 3vw;
        border-top: 1px solid #B4B4B4;
        display: flex;
        justify-content: space-between;
        padding-left: 3vw;
    }

    nav a {
        font-size: 1.25vw;
        line-height: 1.25vw;
        margin: 0.9vw;
        margin-right: 7.75vw;
    }

    nav a:hover {
        text-decoration: underline;
    }

    nav button {
        font-size: 1.25vw;
        line-height: 1.25vw;
        margin: 0.9vw;
        margin-right: 6vw;
        transform: translateY(-0.08vw);
    }

    nav button:hover {
        text-decoration: underline;
    }

    .numero_carrito {
        background-color: black;
        font-size: 1vw;
        line-height: 1vw;
        color: white;
        border-radius: 100%;
        width: 1.35vw;
        height: 1.35vw;
        display: flex;
        justify-content: center;
        align-items: center;
        padding-top: 0.1vw;
        padding-left: 0.05vw;
        padding-right: 0.05vw;
        transform: translate(0.5vw, -0.15vw);
    }

    .politicas-contenedor {
        position: relative;
        display: inline-block;
        font-family: sans-serif;
    }

    .politicas-boton {
        display: flex;
        align-items: center;
        gap: 0.75vw;
        color: black;
        text-decoration: none;
        user-select: none;
    }

    .triangulo {
        width: 0;
        height: 0;
        border-left: 0.4vw solid transparent;
        border-right: 0.4vw solid transparent;
        border-top: 0.4vw solid black;
        transition: transform 0.3s ease;
        cursor: pointer;
    }

    .politicas-lista {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        margin-top: 1vw;
        background: white;
        padding: 1.5vw;
        padding-top: 0;
        padding-bottom: 0;
        box-shadow: 0 0.3vw 0.6vw rgba(0,0,0,0.1);
        z-index: 10;
        width: 21vw;
    }

    .politicas-lista a {
        display: block;
        color: black;
        text-decoration: none;
        margin: 1vw 0;
    }

    .activo .politicas-lista {
        display: block;
    }

    .activo .triangulo {
        transform: rotate(180deg);
    }

    .contenedor_contacto_titulo {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        margin-right: 5vw;
    }

    .contenedor_arreglo {
        display: flex;
        flex-direction: row;
        margin-left: 5vw;
        margin-top: 1.25vw;
        overflow: hidden;
        margin-bottom: 3vw;
        border-radius: 3vw;
        margin-right: 5vw;
        background-color: #ECEBF0;
    }

    .titulo_arreglo {
        background-color: #A6A6F7;
        color: white;
        margin-left: -0.1vw;
        padding: 1vw;
        padding-bottom: 0.75vw;
        font-size: 3.25vw;
        line-height: 3.25vw;
        margin-top: 0;
        margin-left: 0;
        font-family: 'neulis_black';
        text-align: center;
    }

    .parrafo_arreglo {
        font-size: 1.25vw;
        line-height: 1.75vw;
        padding: 1.4vw;
        text-align: center;
    }

    .contact_us {
        font-size: 15.5vw;
        line-height: 15.5vw;
        margin-left: 4.5vw;
        position: relative;
        z-index: 2;
    }

    .logo_contacto {
        width: 15vw;
        height: 15vw;
        margin-top: 1.5vw;
        margin-left: 2vw;
        position: relative;
        z-index: 2;
    }

    .box{
    width: 50vw;
    height: 20vw;
    overflow: hidden;
    margin-top: -17.5vw;
    padding-bottom: 2.35vw;
    animation: gato 10s infinite linear;
    }

    @keyframes gato {
        0%{
            transform: translateX(-45vw);
        }
        100% {
            transform: translateX(87.5vw);
        }
    }

    .contenedor_datos_contacto {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        position: relative;
        z-index: 2;
        margin: 5vw;
        margin-top: 0;
        margin-bottom: 4.5vw;
        gap: 5vw;
    }

    .contenedor_datos_contacto div {
        display: flex;
        flex-direction: column;
        width: 30vw;
    }

    .texto_datos_contacto {
        font-size: 1.25vw;
        line-height: 1.5vw;
        margin-bottom: 1vw;
    }

    .texto_datos_contacto2 {
        font-size: 1.25vw;
        line-height: 1.75vw;
        margin-bottom: 1vw;
    }

    /*
    -----------------------------------------------------------------------------
    -----------------------------------------------------------------------------
    -----------------------------------------------------------------------------
    -----------------------------------------------------------------------------
    -----------------------------------------------------------------------------
    -----------------------------------------------------------------------------
    -----------------------------------------------------------------------------
    -----------------------------------------------------------------------------
    -----------------------------------------------------------------------------
    -----------------------------------------------------------------------------
    */

    .contenedor_datos_producto {
        display: flex;
        grid-template-columns: repeat(3, 1fr);
        margin-top: 0.5vw;
        margin-bottom: 1.5vw;
        margin-left: 6vw;
        margin-right: 0vw;
        width: 100%;
    }

    .dato_nombre_producto {
        text-align: center;
        margin: 1.5vw;
        margin-top: 1.75vw;
        font-size: 4vw;
        line-height: 4.5vw;
        font-family: 'bebas_neue';
        margin-top: 3.75vw;
    }

    .dato_descripcion_producto {
        font-size: 1.25vw;
        line-height: 1.5vw;
        text-align: center;
        margin-bottom: 2.5vw;
    }

    .titulo_caracteristicas {
        font-family: 'neulis_black';
        font-size: 1.75vw;
        line-height: 1.75vw;
        text-align: center;
        margin-bottom: 2vw;
    }

    ul, li {
        font-size: 1.25vw;
        line-height: 1.25vw;
        text-align: center;
    }

    li {
        margin-bottom: 1vw;
    }

    .dato_foto {
        width: 25vw;
        height: auto;
        margin-left: 2vw;
    }

    .contenedor_especificaciones {
        margin-left: 2.5vw;
    }

    .dato_precio {
        margin-top: 3.75vw;
        font-size: 2.25vw;
        line-height: 2.25vw;
        text-align: center;
        margin-bottom: 2vw;
    }

    .contenedor_colores {
        display: flex;
        flex-direction: row;
        justify-content: center;
    }

    .color {
        width: 4vw;
        height: 4vw;
        border-radius: 100%;
        margin-left: 0.725vw;
        margin-right: 0.725vw;
        cursor: pointer;
        transition: 0.5s;
    }

    .titulo_color {
        font-family: 'neulis_black';
        font-size: 1.75vw;
        line-height: 1.75vw;
        text-align: center;
        margin-bottom: 1vw;
    }

    .titulo_talla {
        font-family: 'neulis_black';
        font-size: 1.75vw;
        line-height: 1.75vw;
        text-align: center;
        margin-top: 1.9vw;
        margin-bottom: 1vw;
    }

    .aclaración_titulo {
        font-size: 1.35vw;
        line-height: 1.35vw;
        font-family: 'neulis';
        margin-left: 0.5vw;
    }

    .talla {
        width: 4vw;
        height: 4vw;
        border-radius: 100%;
        margin-left: 0.75vw;
        margin-right: 0.75vw;
        border: 1px black solid;
        font-size: 1.75vw;
        display: flex;
        justify-content: center;
        align-items: center;
        cursor: pointer;
        transition: 0.5s;
    }

    .tabla_tallas {
        position: relative;
        display: inline-block;
        background-color: white;
        border: 1px solid black;
        font-size: 1.1vw;
        line-height: 1.1vw;
        padding: 1.25vw 2vw;
        overflow: hidden;
        transition: color 0.4s ease;
        cursor: pointer;
        z-index: 0;
        border-radius: 5vw;
        margin-top: 2vw;
        text-align: center;
        margin-left: 7.5vw;
        margin-right: 7.5vw;
        width: 9.75vw;
    }

    .tabla_tallas::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 0%;
        height: 100%;
        background-color: black;
        z-index: -1;
        transition: width 0.4s ease;
    }

    .tabla_tallas:hover::before {
        width: 100%;
    }

    .tabla_tallas:hover {
        color: white;
    }

    .anadir_carrito {
        position: relative;
        display: inline-block;
        background-color: black;
        color: white;
        font-size: 1.1vw;
        line-height: 1.1vw;
        padding: 0vw 0.95vw;
        overflow: hidden;
        transition: color 0.4s ease;
        border: none;
        cursor: pointer;
        z-index: 0;
        border-radius: 100%;
        margin-top: 2vw;
        transition: 0.5s;
    }

    .anadir_carrito::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 0%;
        height: 100%;
        background-color: white;
        z-index: -1;
        transition: width 0.4s ease;
    }

    .anadir_carrito:hover::before {
        width: 100%;
    }

    .anadir_carrito:hover .carrito_imagen {
        filter: invert(1);
    }

    .anadir_carrito:hover {
        box-shadow: 0 0 0 1px black;
    }

    .carrito_imagen {
        width: 1.6vw;
        height: 1.6vw;
        transform: translate(-0.05vw, 0.1vw);
        transition: 0.5s;
    }

    .comprar_ahora {
        position: relative;
        display: inline-block;
        background-color: black;
        color: white;
        font-size: 1.1vw;
        line-height: 1.1vw;
        padding: 1.25vw 3vw;
        overflow: hidden;
        transition: color 0.4s ease;
        border: none;
        cursor: pointer;
        z-index: 0;
        border-radius: 5vw;
        margin-top: 2vw;
        text-align: center;
        margin-left: 1.5vw;
        transition: 0.5s;
    }

    .comprar_ahora::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 0%;
        height: 100%;
        background-color: white;
        z-index: -1;
        transition: width 0.4s ease;
    }

    .comprar_ahora:hover::before {
    width: 100%;
    }

    .comprar_ahora:hover {
    color: black;
    box-shadow: 0 0 0 1px black;
    }

    .contenedor_productos {
        margin: 5vw;
        margin-top: 0vw;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 3vw;
        margin-bottom: 3vw;
    }

    .producto_imagen {
        width: 20vw;
    }

    h2 {
        margin-top: 2vw;
        margin-bottom: 2vw;
        margin-left: 5vw;
        font-size: 3.25vw;
        line-height: 3.25vw;
        font-family: 'neulis_black';
    }

    .contenedor_producto_especifico {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .nombre_producto {
        text-align: center;
        margin: 1.5vw;
        margin-top: 1.75vw;
        font-size: 2.5vw;
        line-height: 3vw;
        font-family: 'bebas_neue';
    }

    .precio_producto {
        text-align: center;
        margin: 1.5vw;
        margin-top: 0.25vw;
        margin-bottom: 1.75vw;
        font-size: 1.5vw;
        line-height: 1.75vw;
    }

    .comprar_producto {
        position: relative;
        display: inline-block;
        background-color: black;
        color: white;
        font-size: 1.1vw;
        line-height: 1.1vw;
        padding: 1.25vw 2vw;
        overflow: hidden;
        transition: color 0.4s ease;
        border: none;
        cursor: pointer;
        z-index: 0;
        border-radius: 5vw;
        transition: 0.5s;
    }

    .comprar_producto::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 0%;
        height: 100%;
        background-color: white;
        z-index: -1;
        transition: width 0.4s ease;
    }

    .comprar_producto:hover::before {
        width: 100%;
    }

    .comprar_producto:hover {
        color: black;
        box-shadow: 0 0 0 1px black;
    }

    .cont1 {
        display: flex;
        flex-direction: column;
        width: 30vw;
    }

    .cont2 {
        width: 28vw;
    }

    .cont3 {
        display: flex;
        flex-direction:
        column; width: 30vw;
    }

    .contenedor_dos_botones {
        display: flex;
        flex-direction: row;
        justify-content: center;
    }

    .seleccionado, .talla:hover, .color:hover {
        box-shadow: 0 0 1vw 0.3333vw rgba(0,0,0,0.35);
    }

    /* Fondo oscuro del modal */
    .fondo_modal {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.6);
        display: none;
        justify-content: center;
        align-items: center;
        z-index: 9999;
    }

    /* Imagen de la tabla */
    .imagen_tabla {
        max-width: 90%;
        max-height: 90%;
        border-radius: 3vw;
        box-shadow: 0 0 5vw rgba(0,0,0,0.5);
        background: white;
    }

    /* Botón para cerrar */
    .cerrar_modal {
        position: absolute;
        top: 1vw;
        left: 2vw;
        font-size: 4vw;
        color: white;
        cursor: pointer;
    }

    .cerrar_modal:hover {
        color: #ff6666;
    }

    .movil {
        display: none;
    }
}

@media (max-aspect-ratio: 16/16) {
    .contenedor_whatsapp {
        position: fixed;
        bottom: 5vw;
        left: 5vw;
        border-radius: 5vw;
        overflow: hidden;
        width: 15vw;
        height: 15vw;
        box-shadow: 0 0.5vw 1vw rgba(0, 0, 0, 0.3);
        transition: 0.75s;
        z-index: 500;
        font-family: "Thunder";
        font-weight: 200;
    }
    
    .barra_verde_whatsapp {
        background-color: #17b932;
        width: 100%;
        display: flex;
        flex-direction: row;
        align-items: center;
        height: 15vw;
        transition: 0.75s;
    }
    
    .whatsapp_logo {
        width: 15vw;
        height: 15vw;
        transition: 0.75s;
    }
    
    .hola_en_que_puedo_ayudarte {
        font-size: 2.75vw;
        line-height: 3.5vw;
        font-family: "Poppins-Light";
        background-color: white;
        border-radius: 20vw;
        box-shadow: 0 0.5vw 10vw rgba(0, 0, 0, 0.3);
        padding: 4vw;
        padding-top: 3vw;
        padding-bottom: 3vw;
        width: 42.5vw;
    }

    /* Clase que se activa por JS */
    .contenedor_whatsapp.activo {
        width: 60vw;
        height: 37.5vw;
    }

    .contenedor_whatsapp.activo .barra_verde_whatsapp {
        width: 60vw;
        height: 8vw;
    }

    .contenedor_whatsapp.activo .whatsapp_logo {
        width: 8vw;
        height: 8vw;
    }
    
    .parte_blanca_whatsapp {
        background-color: #ECEBF0;
        width: 100%;
        height: 100%;
        padding: 3vw;
    }

    .padre_abrir_chat {
        pointer-events: none;
    }
    
    .abrir_chat {
        font-size: 2.75vw;
        line-height: 3.75vw;
        font-family: "Poppins-Light";
        background-color: #17b932;
        padding: 2vw;
        padding-left: 3vw;
        color: white;
        margin-top: 2.75vw;
        border-radius: 20vw;
        transition: 0.75s;
        position: relative;
        overflow: hidden;
        z-index: 1;
        transition: color 0.3s ease;
        width: 21vw;
        pointer-events: all;
    }
    
    .abrir_chat::after {
        content: '';
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: black;
        z-index: -1;
        transition: top 0.3s ease;
        border-radius: 2vw;
    }

    .contenedor_mensaje_buble {
        width: 100vw;
        padding-top: 0vw;
        padding-bottom: 1vw;
    }

    .parrafo_mensaje_buble {
        font-size: 5vw;
        line-height: 7vw;
        padding-bottom: 3vw;
        box-sizing: border-box;
        white-space: nowrap;
        display: flex;
        justify-content: center;
        padding-top: 4vw;
        text-align: center;
    }

    nav {
        width: 95vw;
        height: 20vw;
        border-top: 1px solid #B4B4B4;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        padding-left: 5vw;
        padding-top: 4vw;
    }

    nav a {
        font-size: 5vw;
        line-height: 5vw;
        margin: 0.9vw;
        margin-right: 7.75vw;
    }

    nav button {
        font-size: 5vw;
        line-height: 5vw;
        margin: 0.9vw;
        margin-right: 6vw;
        transform: translateY(-0.08vw);
    }

    .numero_carrito {
        background-color: black;
        font-size: 3.5vw;
        line-height: 3.5vw;
        color: white;
        border-radius: 100%;
        width: 4vw;
        height: 4vw;
        display: flex;
        justify-content: center;
        align-items: center;
        padding-top: 0.6vw;
        padding-left: 0.3vw;
        padding-right: 0.3vw;
        transform: translate(0.5vw, -1.5vw);
    }

    .politicas-contenedor {
        position: relative;
        display: inline-block;
        font-family: sans-serif;
    }

    .politicas-boton {
        display: flex;
        align-items: center;
        gap: 0.75vw;
        color: black;
        text-decoration: none;
        user-select: none;
        white-space: nowrap;
        box-sizing: border-box;
    }

    .triangulo {
        width: 0;
        height: 0;
        border-left: 1.25vw solid transparent;
        border-right: 1.25vw solid transparent;
        border-top: 1.25vw solid black;
        transition: transform 0.3s ease;
        cursor: pointer;
        white-space: nowrap;
        box-sizing: border-box;
    }

    .politicas-lista {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        margin-top: 1vw;
        background: white;
        padding: 3vw;
        padding-top: 0;
        padding-bottom: 0;
        box-shadow: 0 0.3vw 0.6vw rgba(0,0,0,0.1);
        z-index: 10;
        width: 38vw;
    }

    .politicas-lista a {
        display: block;
        color: black;
        text-decoration: none;
        margin: 4vw 0;
    }

    .activo .politicas-lista {
        display: block;
    }

    .activo .triangulo {
        transform: rotate(180deg);
    }

    .contact_us {
        font-size: 17.5vw;
        line-height: 17.5vw;
        margin-left: 4.5vw;
        position: relative;
        z-index: 2;
    }

    .logo_contacto {
        width: 50vw;
        height: 50vw;
        margin-top: 1.5vw;
        margin-left: 25vw;
        position: relative;
        z-index: 2;
        margin-bottom: 10vw;
    }

    .box{
        width: 200vw;
        height: 80vw;
        overflow: hidden;
        margin-top: -59vw;
        padding-bottom: 10vw;
        animation: gato 10s infinite linear;
    }

    @keyframes gato {
        0%{
            transform: translateX(-155vw);
        }
        100% {
            transform: translateX(87.5vw);
        }
    }

    .contenedor_datos_contacto {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        position: relative;
        z-index: 2;
        margin: 10vw;
        margin-top: 0;
        margin-bottom: 4.5vw;
        gap: 5vw;
        text-align: center;
    }

    .contenedor_datos_contacto div {
        display: flex;
        flex-direction: column;
        width: 80vw;
    }

    .texto_datos_contacto {
        font-size: 5vw;
        line-height: 7vw;
        margin-bottom: 1vw;
    }

    .texto_datos_contacto2 {
        font-size: 5vw;
        line-height: 7vw;
        margin-bottom: 1vw;
    }

    /*
    -----------------------------------------------------------------------------
    -----------------------------------------------------------------------------
    -----------------------------------------------------------------------------
    -----------------------------------------------------------------------------
    -----------------------------------------------------------------------------
    -----------------------------------------------------------------------------
    -----------------------------------------------------------------------------
    -----------------------------------------------------------------------------
    -----------------------------------------------------------------------------
    -----------------------------------------------------------------------------
    */

    .contenedor_datos_producto {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        margin-top: 0.5vw;
        margin-bottom: 1.5vw;
    }

    /* Reordenar los hijos */
    .contenedor_datos_producto > :nth-child(1) {
        order: 3;
    }
    .contenedor_datos_producto > :nth-child(2) {
        order: 1;
    }
    .contenedor_datos_producto > :nth-child(3) {
        order: 2;
    }

    .dato_nombre_producto {
        text-align: center;
        margin: 1.5vw;
        margin-top: 1.75vw;
        font-size: 12vw;
        line-height: 12vw;
        font-family: 'bebas_neue';
        margin-top: 3.75vw;
    }

    .dato_descripcion_producto {
        font-size: 5vw;
        line-height: 7vw;
        text-align: center;
        margin-bottom: 10vw;
        margin-top: 5vw;
    }

    .titulo_caracteristicas {
        font-family: 'neulis_black';
        font-size: 8vw;
        line-height: 8vw;
        text-align: center;
        margin-bottom: 10vw;
    }

    ul, li {
        font-size: 5vw;
        line-height: 5vw;
        text-align: center;
    }

    li {
        margin-bottom: 3vw;
    }

    .dato_foto {
        width: 80vw;
        height: auto;
        margin-left: 10vw;
        margin-right: 10vw;
    }

    .dato_precio {
        margin-top: 7vw;
        font-size: 8vw;
        line-height: 8vw;
        text-align: center;
        margin-bottom: 9.5vw;
    }

    .contenedor_colores {
        display: flex;
        flex-direction: row;
        justify-content: center;
    }

    .color {
        width: 12vw;
        height: 12vw;
        border-radius: 100%;
        margin-left: 3vw;
        margin-right: 3vw;
        cursor: pointer;
        transition: 0.5s;
    }

    .color1 {
        background-color: #17b932;
    }

    .color2 {
        background-color: #1732b9;
    }

    .color3 {
        background-color: #b91717;
    }

    .color4 {
        background-color: #b9bab1;
    }

    .titulo_color {
        font-family: 'neulis_black';
        font-size: 5vw;
        line-height: 5vw;
        text-align: center;
        margin-bottom: 3vw;
    }

    .titulo_talla {
        font-family: 'neulis_black';
        font-size: 5vw;
        line-height: 5vw;
        text-align: center;
        margin-top: 10vw;
        margin-bottom: 3vw;
    }

    .aclaración_titulo {
        font-size: 5vw;
        line-height: 5vw;
        font-family: 'neulis';
        margin-left: 2vw;
    }

    .talla {
        width: 12vw;
        height: 12vw;
        border-radius: 100%;
        margin-left: 3vw;
        margin-right: 3vw;
        border: 1px black solid;
        font-size: 5vw;
        display: flex;
        justify-content: center;
        align-items: center;
        cursor: pointer;
        transition: 0.5s;
    }

    .tabla_tallas {
        position: relative;
        display: inline-block;
        background-color: white;
        border: 1px solid black;
        font-size: 5vw;
        line-height: 5vw;
        padding: 4vw 0vw;
        overflow: hidden;
        transition: color 0.4s ease;
        cursor: pointer;
        z-index: 0;
        border-radius: 8vw;
        margin-top: 10vw;
        text-align: center;
        margin-left: 10vw;
        margin-right: 10vw;
        width: 80vw;
    }

    .tabla_tallas::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 0%;
        height: 100%;
        background-color: black;
        z-index: -1;
        transition: width 0.4s ease;
    }

    .anadir_carrito {
        position: relative;
        display: inline-block;
        background-color: black;
        color: white;
        font-size: 5vw;
        line-height: 5vw;
        padding: 3vw 4vw;
        overflow: hidden;
        transition: color 0.4s ease;
        border: none;
        cursor: pointer;
        z-index: 0;
        border-radius: 100%;
        margin-top: 2vw;
        transition: 0.5s;
    }

    .anadir_carrito::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 0%;
        height: 100%;
        background-color: white;
        z-index: -1;
        transition: width 0.4s ease;
    }

    .carrito_imagen {
        width: 6vw;
        height: 6vw;
        transform: translate(-0.5vw, 0.5vw);
        transition: 0.5s;
    }

    .comprar_ahora {
        position: relative;
        display: inline-block;
        background-color: black;
        color: white;
        font-size: 5vw;
        line-height: 5vw;
        padding: 1.25vw 7vw;
        overflow: hidden;
        transition: color 0.4s ease;
        border: none;
        cursor: pointer;
        z-index: 0;
        border-radius: 8vw;
        margin-top: 2vw;
        text-align: center;
        margin-left: 1.5vw;
        transition: 0.5s;
    }

    .comprar_ahora::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0%;
    height: 100%;
    background-color: white;
    z-index: -1;
    transition: width 0.4s ease;
    }

    .contenedor_productos {
        margin: 10vw;
        margin-top: 0vw;
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: 3vw;
        margin-bottom: 3vw;
    }

    .producto_imagen {
        width: 80vw;
    }

    h2 {
        padding-top: 8vw;
        margin-bottom: 5vw;
        margin-left: 5vw;
        margin-right: 5vw;
        font-size: 8vw;
        line-height: 8vw;
        text-align: center;
        font-family: 'neulis_black';
    }

    .contenedor_producto_especifico {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .nombre_producto {
        text-align: center;
        margin: 5vw;
        margin-top: 5vw;
        font-size: 12vw;
        line-height: 12vw;
        font-family: 'bebas_neue';
    }

    .precio_producto {
        text-align: center;
        margin: 1.5vw;
        margin-top: 0vw;
        margin-bottom: 1.75vw;
        font-size: 5vw;
        line-height: 7vw;
    }

    .comprar_producto {
        position: relative;
        display: inline-block;
        background-color: black;
        color: white;
        font-size: 5vw;
        line-height: 5vw;
        padding: 4vw 6vw;
        overflow: hidden;
        transition: color 0.4s ease;
        border: none;
        cursor: pointer;
        z-index: 0;
        border-radius: 8vw;
        transition: 0.5s;
        margin-top: 4vw;
        margin-bottom: 6vw;
    }

    .comprar_producto::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 0%;
        height: 100%;
        background-color: white;
        z-index: -1;
        transition: width 0.4s ease;
    }

    .contenedor_sobre_nosotros {
        display: flex;
        flex-direction: column;
    }

    .cont1 {
        display: flex;
        flex-direction: column;
        width: 80vw;
        margin-left: 10vw;
        margin-right: 10vw;
    }

    .cont3 {
        display: flex;
        flex-direction:
        column; 
        width: 100vw;
    }

    .contenedor_dos_botones {
        display: flex;
        flex-direction: row;
        justify-content: center;
        margin-top: 5vw;
        margin-bottom: 5vw;
    }

    .seleccionado, .talla:hover, .color:hover {
        box-shadow: 0 0 3vw 1vw rgba(0,0,0,0.35);
    }

    /* Fondo oscuro del modal */
    .fondo_modal {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.6);
        display: none;
        justify-content: center;
        align-items: center;
        z-index: 9999;
    }

    /* Imagen de la tabla */
    .imagen_tabla {
        max-width: 90%;
        max-height: 90%;
        border-radius: 5vw;
        box-shadow: 0 0 5vw rgba(0,0,0,0.5);
        background: white;
    }

    /* Botón para cerrar */
    .cerrar_modal {
        position: absolute;
        top: 3vw;
        left: 6vw;
        font-size: 12vw;
        color: white;
        cursor: pointer;
    }

    .cerrar_modal:hover {
        color: #ff6666;
    }

    .pc {
        display: none;
    }
}