@import url('https://fonts.googleapis.com/css2?family=Merienda+One&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Dosis:wght@200..800&family=Poppins:wght@400;500;600&display=swap');

:root {
    --peru: #d4af37;
    --black: #222;
    --white: #fff;
    --light-black: #666;
    --light-white: #ccc;
    --light-bg: #f5f5f5;
    --dark-bg: rgba(0, 0, 0, .7);
    --border: .1rem solid #aaa;
    --box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .1);

}

* {
    font-family: "Dosis", sans-serif;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    outline: none;
    border: none;
    text-decoration: none;
    transition: all 0.4s cubic-bezier(.43, 1.1, .62, 1.08);
    text-transform: capitalize;
}

*>img {
    user-select: none;
    pointer-events: none;
}

html {
    font-size: 62.5%;
    scroll-behavior: smooth;
    scroll-padding-top: 6rem;
}

html::-webkit-scrollbar {
    width: 1rem;
}

html::-webkit-scrollbar-track {
    background-color: var(--white);
}

html::-webkit-scrollbar-thumb {
    background-color: var(--peru);
}

section {
    padding: 5rem 10%;
}

.heading {
    text-align: center;
    margin-bottom: 3rem;
}

.heading span {
    font-size: 2.5rem;
    color: var(--peru);
}

.heading h3 {
    font-size: 4.5rem;
    color: var(--black);
}

.btn {
    margin-top: 1rem;
    display: inline-block;
    background: var(--peru);
    color: var(--white);
    font-size: 2rem;
    cursor: pointer;
    padding: 1rem 3rem;
}

.btn:hover {
    letter-spacing: .2rem;
}

/* Estilos para la barra de navegación */
.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #000;
    /* Fondo negro */
    padding: 10px 20px;
    position: sticky;
    top: 0;
    z-index: 1000;
}

.logo img {
    height: 50px;
}

.nav-links {
    display: flex;
    align-items: center;
    margin-left: 20px;
    /* Espacio entre el logo y los enlaces de navegación */
}

.nav-links a {
    color: #fff;
    padding: 14px 10px;
    /* Reducir el padding para acercar los enlaces entre sí */
    text-decoration: none;
    text-align: center;
    font-size: 1.8rem;
    /* Aumentar el tamaño del texto */
    transition: color 0.3s, background-color 0.3s;
}

.nav-links a:hover,
.nav-links a:focus,
.nav-links a.active {
    background-color: #d4af37;
    /* Color dorado al pasar el ratón */
    color: #000;
    /* Texto negro */
}

.contact-number {
    color: #fff;
    font-size: 16px;
    margin-left: 20px;
}

#menu-btn {
    display: none;
    color: #fff;
    font-size: 24px;
    cursor: pointer;
}

@media (max-width: 768px) {
    .nav-links {
        display: none;
        /* Oculta los enlaces en móviles */
        flex-direction: column;
        /* Cambia la dirección a columna para el menú */
        position: absolute;
        top: 60px;
        /* Ajusta según la altura del navbar */
        left: 0;
        right: 0;
        background: #000000;
        /* Fondo negro del menú desplegable */
        padding: 20px 0;
        box-shadow: 0 2px 5px rgba(255, 215, 0, 0.5);
        /* Sombra dorada */
        z-index: 10;
    }

    .nav-links.active {
        display: flex;
        /* Muestra el menú cuando se activa */
    }

    .nav-links a {
        text-decoration: none;
        color: #FFD700;
        /* Texto dorado */
        font-weight: bold;
        padding: 10px 20px;
        transition: background 0.3s, color 0.3s;
    }

    .nav-links a:hover {
        background: #d4af37;
        /* Fondo dorado al pasar el ratón */
        color: #000000;
        /* Texto negro al pasar el ratón */
    }

    #menu-btn {
        display: block;
        /* Muestra el botón en móviles */
        color: #FFD700;
        /* Icono dorado */
        font-size: 24px;
        cursor: pointer;
        transition: color 0.3s;
    }

    #menu-btn.fa-times {
        color: #FFD700;
        /* Icono dorado cuando se activa */
    }
}

/*La parte principal del homee*/
@keyframes fadeIn {
    0% {
        transform: translateY(-4rem) scale(0);
        opacity: 0;
    }
}

.home {
    padding: 0;
    background: var(--black);
}

.home .slide {
    min-height: 100vh;
    background-size: cover !important;
    background-position: center !important;
    position: relative;
    z-index: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.home .slide::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    /*background: var(--dark-bg); Opcion para el color de fondo sobrepuesto*/
    z-index: -1;
}

.home .slide .content {
    text-align: center;
    width: 70rem;
    display: none;
    /*Opcion para q no aparezca nada*/
}

.home .slide .content span {
    font-size: 3rem;
    display: block;
    padding-bottom: 5rem;
    color: var(--light-white);
    animation: fadeIn 0.4s cubic-bezier(.54, 1.3, .63, 1.34) .2s backwards;
}

.home .slide .content h3 {
    font-size: 6.5vw;
    text-transform: uppercase;
    color: var(--white);
    text-shadow: 0 .5rem 1rem rgba(0, 0, 0, .7);
    line-height: 1;
    padding: 2rem 0;
    animation: fadeIn 0.4s cubic-bezier(.54, 1.3, .63, 1.34) .4s backwards;
}

.home .slide .content .btn {
    animation: fadeIn 0.6s cubic-bezier(.54, 1.3, .63, 1.34) .6s backwards;
}

.home .swiper-slide-active .content {
    display: inline-block;
}

.swiper-button-next,
.swiper-button-prev {
    height: 5rem;
    width: 5rem;
    line-height: 5rem;
    background: var(--white);
    color: var(--black);
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
    background: var(--peru);
    color: var(--white);
}


.swiper-button-next::after,
.swiper-button-prev::after {
    font-size: 2rem;
}
/* Sección ¿Quiénes Somos? */
.about-us {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    /* Centra el contenido dentro del contenedor */
    background: var(--black);
    padding: 30px 5%;
    /* Reduce el padding para hacerla más compacta */
    color: var(--gold);
    width: 100%;
}

.about-us .container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 50px;
    /* Ajusta el espacio entre elementos */
    width: 99%;
    /* Aumenta el tamaño del container para abarcar más espacio */
    max-width: 1200px;
    /* Limita el ancho máximo para evitar estiramientos excesivos */
    margin: auto;
    /* Centra el container horizontalmente */
}

.about-us .content {
    flex: 1;
    max-width: 45%;
    /* Ajusta para que no ocupe tanto espacio */
}

.about-us .content h2 {
    font-size: 3rem;
    /* Mantén el título llamativo */
    color: var(--gold);
    margin-bottom: 20px;
    text-transform: uppercase;
}

.about-us .content p {
    font-size: 2.1rem;
    /* Reduce ligeramente el texto */
    line-height: 1.3;
    margin-bottom: 15px;
    color: #f5f5f5;
    font-family: Arial;
    text-align: justify;
    text-transform: none;
}

.about-us .image {
    flex: 1;
    text-align: center;
    max-width: 45%;
    /* Ajusta el tamaño de la imagen para equilibrar el contenido */
}

.about-us .image img {
    width: 100%;
    max-width: 500px;
    border-radius: 10px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
    border: 5px solid var(--gold);
}

/* Diseño Responsive */

@media (max-width: 768px) {
    .about-us {
        flex-direction: column;
        /* Asegura que los elementos se dispongan en columna */
        padding: 20px 5%;
        /* Reduce el padding en dispositivos pequeños */
    }

    .about-us .container {
        flex-direction: column;
        /* Fuerza los elementos internos a alinearse en columna */
        gap: 30px;
        /* Reduce el espacio entre elementos en pantallas pequeñas */
    }

    .about-us .content,
    .about-us .image {
        max-width: 100%;
        /* Ambos elementos ocupan todo el ancho */
        flex: none;
        /* Evita que los elementos usen flex para redistribuir espacio */
    }

    .about-us .content {
        order: 1;
        /* El texto aparece primero */
    }

    .about-us .image {
        order: 2;
        /* La imagen aparece después del texto */
    }

    .about-us .content h2 {
        font-size: 2rem;
        /* Ajusta el tamaño del título en pantallas pequeñas */
    }

    .about-us .image img {
        max-width: 100%;
        /* Imagen ocupa todo el ancho del contenedor */
    }
}







/* INFORMACION PRELIMINAR DE SERVICIOS */
.services-section {
    display: flex;
    justify-content: space-around;
    padding: 20px 0;
    background-color: #DAC6AC;
}

.service-box {
    text-align: center;
    color: rgb(206, 189, 189);
    width: 30%;
    padding: 20px;
    border-radius: 10px;
}

.service-box img {
    width: 50px;
    height: 50px;
    margin-bottom: 10px;
}

.service-box h3 {
    margin: 10px 0;
    font-size: 2em;
    color: white;
}

.service-box .btn {
    color: white;
    text-decoration: none;
    border: 1px solid white;
    padding: 10px 15px;
    font-size: 1.2em;
    border-radius: 5px;
    transition: background-color 0.3s;
}

.service-box .btn:hover {
    background-color: white;
    color: #808080;
}

.sub-sections button {
    display: block;
    margin: 10px auto;
    padding: 10px 15px;
    font-size: 1em;
    border: none;
    border-radius: 5px;
    background-color: #515B51;
    color: white;
    cursor: pointer;
    transition: background-color 0.3s;
}

.sub-sections button:hover {
    background-color: white;
    color: #515B51;
    /*text-transform: uppercase;*/
}

.modal {
    position: fixed; /* Fija la posición del modal en la ventana del navegador */
    top: 50%; /* Coloca el modal en el 50% de la altura de la ventana */
    left: 50%; /* Coloca el modal en el 50% del ancho de la ventana */
    transform: translate(-50%, -50%); /* Ajusta el modal moviéndolo hacia arriba y hacia la izquierda por el 50% de su propio tamaño */
    width: 60%; /* Ajusta el ancho del modal a un 60% del ancho de la ventana */
    height: 70%; /* Ajusta la altura del modal a un 70% de la altura de la ventana */
    background-color: transparent; /* Fondo oscuro semi-transparente */
    display: flex; /* Usamos Flexbox para centrar el contenido */
    justify-content: center; /* Centrado horizontal */
    align-items: center; /* Centrado vertical */
    z-index: 1000; /* Asegura que el modal se muestre por encima de otros elementos */
}


.modal-content {
    background-color: white;
    padding: 30px;
    border-radius: 15px;
    text-align: center;
    width: 80%; /* Ajusta el ancho del modal */
    max-width: 600px; /* Máximo ancho para pantallas grandes */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3); /* Sombra para darle estilo */
    position: relative; /* Permite posicionar el botón de cierre dentro del modal */
    animation: fadeIn 0.3s ease-out; /* Animación suave al aparecer */
}

.modal-content img {
    width: 100%;
    max-height: 300px;
    margin-top: 20px;
    object-fit: contain; /* Evita deformaciones de la imagen */
    border-radius: 10px; /* Redondea las esquinas de las imágenes */
}

.modal .close {
    position: absolute;
    top: 10px;
    right: 20px;
    font-size: 2em;
    cursor: pointer;
    color: #333; /* Color oscuro para el botón de cierre */
    transition: color 0.3s ease;
}

.modal .close:hover {
    color: #ff0000; /* Cambia a rojo cuando el usuario pasa el cursor */
}

/* Animación para que el modal aparezca suavemente */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translate(-50%, -45%);
    }
    to {
        opacity: 1;
        transform: translate(-50%, -50%);
    }
}











/* Contenedor principal para la sección Nosotros (VISIÓN, MISIÓN y VALORES) */
.content-container {
    display: flex;
    /* Alinea los elementos horizontalmente */
    justify-content: space-around;
    /* Espacia los elementos uniformemente */
    flex-wrap: wrap;
    /* Permite que los elementos se ajusten en varias filas si es necesario */
    gap: 10px;
    /* Reduce la distancia entre los contenedores */
    padding: 0 100px 0 30px;
    /* Mantiene espacio lateral */
}

/* Configuración de cada sección (VISIÓN, MISIÓN y VALORES) */
.section {
    position: relative;
    /* Permite posicionar el contenido superpuesto */
    text-align: center;
    /* Centra el texto horizontalmente */
    color: black;
    /* Color del texto */
    flex: 1;
    /* Distribuye el espacio proporcionalmente */
    margin: 15px;
    /* Añade espacio entre las secciones */
    max-width: 300px;
    /* Limita el ancho máximo del contenedor */
}

/* Imagen de fondo de cada sección */
.section img {
    width: 115%;
    /* Imagen ocupa todo el ancho del contenedor */
    height: auto;
    /* Mantiene la proporción de la imagen */
    display: block;
    /* Elimina espacio extra causado por las imágenes inline */
    border-radius: 10px;
    /* Bordes redondeados */
}

/* Contenido superpuesto (títulos y texto) */
.section .content {
    all: unset;
    position: absolute;
    /* Permite colocar el texto sobre la imagen */
    top: 50%;
    /* Centra verticalmente el texto */
    left: 65%;
    /* Centra horizontalmente el texto */
    transform: translate(-50%, -50%);
    /* Ajusta para centrar el contenido completamente */
    width: 60%;
    /* Incrementa el ancho del contenedor */
    color: black;
    /* Hace el texto visible sobre las imágenes */
    text-align: center;
    /* Centra el texto horizontalmente */
    padding: 10px;
    /* Espaciado interno */
    background-color: transparent !important;
    /* Asegura que el fondo sea completamente transparente */
    border-radius: 5px;
    /* Bordes redondeados */
    box-shadow: none !important;
    /* Elimina cualquier sombra que pueda crear un efecto blanco */
    border: none;
    /* Elimina posibles bordes blancos */
}

/* Títulos (VISIÓN, MISIÓN y VALORES) */
.section .content h3,
.section .content h2 {
    font-size: 3em;
    /* Tamaño grande para los títulos */
    color: #DAA520;
    /* Color dorado */
    text-transform: none;
    /* Mantiene el caso original */
    margin-bottom: 15px;
    /* Espaciado inferior */
}

/* Específicamente cambia el color de los títulos en cada sección */
#mision .title {
    color: black;
    /* Color negro para MISIÓN */
}

#vision .title {
    color: #DAA520;
    /* Color dorado para VISIÓN */
}

/* Texto de los párrafos */
.section .content p {
    background: transparent !important;
    /* Fondo transparente */
    margin: 0;
    padding: 0;
    text-align: justify;
    /* Justifica el texto */
    color: #000000;
    /* Color blanco */
    font-size: 1.6em;
    /* Tamaño de fuente */
    text-transform: none;
    /* Mantiene el caso original */
}

/* Configuración para la lista de valores */
.section .content ul {
    margin: 0;
    padding-left: 20px;
    /* Espaciado a la izquierda */
    color: rgb(0, 0, 0);
    /* Color del texto */
    font-size: 1.2em;
    /* Tamaño de fuente */
    list-style-type: disc;
    /* Viñetas para la lista */
    text-align: left;
    /* Alinea a la izquierda */
}

.section .content li {
    margin: 0;
    padding: 1px 0;
    /* Espaciado vertical entre los elementos de la lista */
    color: rgb(0, 0, 0);
    /* Color del texto */
    font-size: 0.8em;
    /* Tamaño de fuente */
    text-transform: none;
    /* Mantiene el caso original */
}

/* Diseño responsive */
@media (max-width: 768px) {
    .content-container {
        flex-direction: column;
        /* Cambia a disposición en columna en pantallas pequeñas */
        align-items: center;
        /* Centra los elementos */
    }

    .section {
        max-width: none;
        /* Elimina el límite de ancho */
        margin: 10px 0;
        /* Ajusta el margen para mayor separación */
    }

    .section .content h3,
    .section .content h2 {
        font-size: 4em;
        /* Reduce el tamaño de los títulos en pantallas pequeñas */
    }

    .section .content p {
        font-size: 1.7em;
        /* Ajusta el tamaño de fuente del párrafo */
    }

    .section .content ul {
        padding-left: 10px;
        /* Reduce el espacio de las viñetas */
    }

    .section .content li {
        font-size: 0.8em;
        /* Ajusta el tamaño de la fuente de las listas */
    }
}
/*Parte de la seccion de proyectos en index*/
.palta {
    background-color: var(--light-bg);
}

.palta .slide {
    text-align: center;
    padding: 4rem 2rem;
    border-radius: .5rem;
    transform: scale(.9);
    /*Opcional*/
    opacity: .5;
    /*Opcional*/
    margin-bottom: 4rem;
    cursor: pointer;
}

.swiper-pagination-bullet-active {
    background: var(--peru);
}

.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: 0;
}

.palta .swiper-slide-active {
    transform: scale(1);
    opacity: 1;
    background: var(--white);
    box-shadow: var(--box-shadow);
    border: var(--border);
}

.palta .slide img {
    height: 25rem;
    width: 25rem;
    border-radius: 50%;
    margin-bottom: 1rem;
}

.palta .slide h3 {
    font-size: 2.5rem;
    padding: 1rem 0;
    color: var(--black);
}

.palta .slide .price {
    font-size: 2.5rem;
    color: var(--peru);
}

/*Parte de la Visualizacion*/

.palta-vista-container {
    background: var(--dark-bg);
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 1100;
    display: none;
    align-items: center;
    justify-content: center;
}

.palta-vista-container .palta-vista {
    text-align: center;
    background: var(--white);
    padding: 3rem 2rem;
    border-radius: .5rem;
    display: none;
    width: 35rem;
}

.palta-vista-container .palta-vista.active {
    display: inline-block;
    animation: fadeIn 0.4s cubic-bezier(.54, 1.3, .63, 1.34) backwards;
}

/*Adicional para las imagenes*/
.palta-vista-container .palta-vista img {
    height: 25rem;
    width: 25rem;
    border-radius: 50%;
    margin-bottom: 1rem;
}

.palta-vista-container .palta-vista h3 {
    padding: 1rem 0;
    font-size: 2.5rem;
    color: var(--black);
}

.palta-vista-container .palta-vista .stars {
    margin-top: .5rem;
}

.palta-vista-container .palta-vista .stars i {
    font-size: 1.7rem;
    color: var(--peru);
}

.palta-vista-container .palta-vista p {
    font-size: 1.6rem;
    color: var(--light-black);
    padding: 1rem 0;
    line-height: 2;
}

.palta-vista-container .palta-vista .price {
    font-size: 2.5rem;
    color: var(--black);
    margin-bottom: .5rem;
}

/*Paara cerrrar la visualizacion*/
#cierra-vista {
    position: absolute;
    top: 1.5rem;
    right: 2.5rem;
    font-size: 6rem;
    cursor: pointer;
    color: var(--white);
}

#cierra-vista:hover {
    transform: rotate(90deg);
}
/* SECCION DE ESTADISTICAS PROYECTOS CLIENTES ETC --- CIRCULOS */
/* Sección completa */
.stats-section {
    position: relative;
    width: 100%;
    height: 300px;
    /* Altura ajustable según tus necesidades */
    overflow: hidden;
}

/* Imagen de fondo */
.stats-section .background-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* Ajusta la imagen para que cubra toda el área */
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    /* Asegura que esté detrás de los círculos */
}

/* Contenedor superpuesto */
.stats-section .stats-overlay {
    position: absolute;
    top: 50%;
    /* Centra el contenido verticalmente */
    left: 50%;
    /* Centra el contenido horizontalmente */
    transform: translate(-50%, -50%);
    display: flex;
    gap: 200px;
    /* Espaciado entre los círculos */
    z-index: 2;
    /* Por encima de la imagen */
}

/* Estilo de los círculos */
.stats-section .stat-circle {
    width: 120px;
    /* Tamaño más grande del círculo */
    height: 120px;
    background-color: #d4af37;
    /* Color dorado */
    border: 3px solid rgb(255, 255, 255);
    /* Borde negro */
    border-radius: 50%;
    /* Hace que sean círculos */
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: white;
    font-weight: bold;
    font-size: 16px;
    /* Tamaño aumentado del texto */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
    /* Sombra para resaltar */
}

/* Texto dentro de los círculos */
.stats-section .stat-circle p {
    margin: 0;
    line-height: 1.3;
    /* Espaciado entre líneas */
}

.stats-section .stat-circle p strong {
    font-size: 2em;
    /* Tamaño más grande para el número */
}

@media (max-width: 768px) {
    .stats-section {
        height: 260px; /* Aumenta la altura para garantizar que los círculos se vean completos */
        padding: 20px 10px;
    }

    .stats-section .stats-overlay {
        flex-direction: row; /* Asegura que estén en una sola fila */
        flex-wrap: wrap; /* Permite que pasen a la siguiente línea si es necesario */
        justify-content: center; /* Centra los círculos */
        gap: 10px; /* Reduce el espacio entre los círculos */
    }

    .stats-section .stat-circle {
        width: 80px; /* Reduce el tamaño de los círculos */
        height: 80px;
        font-size: 12px; /* Ajusta el tamaño del texto */
    }

    .stats-section .stat-circle p strong {
        font-size: 1.5em;
    }
}
/*Seccion de la galeria*/

.gallery .gallery-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
    gap: 2rem;
}

.gallery .gallery-container .box {
    height: 40rem;
    position: relative;
    overflow: hidden;
}

.gallery .gallery-container .box img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.gallery .gallery-container .box .icon {
    display: none;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    height: 100%;
    width: 100%;
    background: var(--dark-bg);
}

.gallery .gallery-container .box .icon i {
    font-size: 6rem;
    color: var(--white);
    transition: color 0.3s, transform 0.3s;
}

.gallery .gallery-container .box .icon i:hover {
    transform: scale(1.2);
}

.gallery .gallery-container .box:hover .icon {
    display: flex;
}

/*Parte de los productos*/

.productos {
    background: var(--light-bg);
}

.productos .slide .title {
    /*margin-top: 2rem; Opcional sino se incluira el script del archivo que se esta haciendo*/
    padding: 1rem;
    font-size: 3rem;
    color: var(--white);
    background: var(--peru);
    margin-bottom: 3rem;
    text-align: center;
}

.productos .slide .box-container {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    padding-bottom: 4rem;
}

.productos .slide .box-container .box {
    flex: 1 1 41rem;
    background: var(--white);
    padding: 2rem;
    box-shadow: var(--box-shadow);
    border: var(--border);
    display: flex;
    align-items: center;
    gap: 1rem;
    justify-content: space-between;
}

.productos .slide .box-container .box h3 {
    font-size: 2.5rem;
    color: var(--black);
    padding-bottom: .5rem;
}

.productos .slide .box-container .box p {
    font-size: 1.6rem;
    color: var(--light-black);
    line-height: 2;
}

.productos .slide .box-container .box .price {
    font-size: 2.5rem;
    color: var(--peru);
}

.productos .slide .box-container .box:hover {
    transform: scale(.9);
    cursor: pointer;
}
/*SECCION DE UBICACIÓN*/
/*SECCION DE UBICACIÓN*/
.order {
    background: var(--peru);
    padding: 3rem 1rem;
}

.order .heading span {
    color: var(--white);
    font-size: 1.5rem;
}

.order .heading h3 {
    color: var(--white);
    font-size: 2.5rem;
    margin: 1rem 0;
    text-transform: uppercase;
}

/* Contenedor principal */
.location-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    /* Dos columnas */
    gap: 2rem;
    padding: 2rem 0;
    align-items: center;
}

/* Información de contacto */
.info {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.info-box {
    display: flex;
    align-items: center;
    background: var(--white);
    padding: 1.5rem;
    border-radius: 10px;
    box-shadow: var(--box-shadow);
    gap: 1rem;
}

.info-box .icon {
    font-size: 2rem;
    color: var(--peru);
}

.info-box .details h4 {
    font-size: 1.8rem;
    margin: 0;
    color: var(--black);
}

.info-box .details p {
    font-size: 1.2rem;
    color: var(--light-black);
    text-transform: none;
}

/* Mapa */
/* Mapa */
.map-box iframe {
    width: 100%;
    height: 250px;
    /* Incrementa la altura */
    border-radius: 10px;
    box-shadow: var(--box-shadow);
}

@media (max-width: 768px) {
    .location-container {
        grid-template-columns: 1fr;
        /* Una columna en pantallas pequeñas */
    }
}
/* SECCION DE LOS MIEMBROS DEL EQUIPO.PHP */
.team-container {
    display: flex;
    justify-content: center;
    /* Alinea los elementos al centro */
    gap: 20px;
    /* Espaciado entre las tarjetas */
    padding: 20px;
    overflow-x: auto;
    /* Agrega desplazamiento horizontal si no caben en la pantalla */
    white-space: nowrap;
    /* Previene que las tarjetas se envuelvan */
    scrollbar-width: thin;
    /* Hace la barra de desplazamiento más delgada */
}

/* Miembros del equipo */
.team-member {
    display: inline-block;
    /* Asegura que las tarjetas se alineen horizontalmente */
    background: white;
    text-align: center;
    width: 300px;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
    /* Sombra suave */
    border-radius: 10px;
    /* Bordes redondeados */
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.team-member:hover {
    transform: scale(1.05);
    /* Efecto de zoom al pasar el cursor */
    box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.2);
}

/* Imagen del miembro */
.team-member .image {
    position: relative;
    height: 250px;
    overflow: hidden;
}

.team-member .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease-in-out;
}

.team-member .image:hover img {
    transform: scale(1.1);
    /* Zoom de la imagen al pasar el cursor */
}

/* Nombre del miembro sobre la imagen */
.team-member .image span {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.7);
    color: white;
    font-size: 18px;
    font-weight: bold;
    padding: 10px;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    text-align: center;
}

.team-member .image:hover span {
    opacity: 1;
    /* El texto aparece al pasar el cursor */
}

/* Contenido del miembro */
.team-member .content {
    padding: 15px;
}

.team-member .content h3 {
    font-size: 16px;
    color: #333;
    margin-bottom: 10px;
}

/* Redes sociales */
.social-links {
    display: flex;
    justify-content: center;
    gap: 15px;
}

.social-links a {
    font-size: 20px;
    color: #555;
    transition: color 0.3s;
}

.social-links a:hover {
    color: #0073b1;
    /* Cambia el color al pasar el cursor (azul LinkedIn como ejemplo) */
}
/*La parte del footer del sitio xD*/

footer {
    width: 100%;
    position: relative;
    bottom: 0;
    left: 0;
    padding: 2rem 8%;
    background-color: #0e0e0e;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.logi {
    height: 13rem;
}

.social-icons-container,
.footer-menu-container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

.social-icon {
    height: 50px;
    width: 50px;
    border-radius: 50px;
    border: 1px solid #f2f2f2;
    background-image: url(../img/footer-1.png);
    background-position: center;
    background-size: 40%;
    background-repeat: no-repeat;
    margin: 1rem;
}

.social-icon:hover {
    background-color: #121212;
    filter: invert(1);
}

.social-icon:nth-of-type(2) {
    background-image: url(../img/footer-2.png);
}

.social-icon:nth-of-type(3) {
    background-image: url(../img/footer-3.png);
}

.social-icon:nth-of-type(4) {
    background-image: url(../img/footer-4.png);
}


.footer-menu-container {
    list-style-type: none;
    color: #1dff30;
    font-size: 2rem;
}

.menu-item {
    margin: 1rem 1.5rem;
    cursor: pointer;
}

.menu-item:hover {
    opacity: 1;
}

.copyright {
    color: white;
    text-align: center;
    font-size: 1.7rem;
}
/* Estilo para el botón ADMINISTRAR */
.admin-button-container {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%; /* Ocupa el 100% del ancho del footer */
}

.admin-button {
    background-color: #000; /* Color negro */
    color: white; /* Texto blanco */
    padding: 10px 20px;
    font-size: 16px;
    text-decoration: none;
    border-radius: 5px;
    text-align: center;
    border: none;
    transition: background-color 0.3s ease; /* Transición suave */
    margin: 0 auto; /* Asegura que el botón esté centrado */
}

.admin-button:hover {
    background-color: #d4af37; /* Color dorado al pasar el mouse */
    cursor: pointer;
}

/*Para hacer adaptable a cualquier pantalla*/
@media (max-width:1200px) {

    section {
        padding: 3rem 5%;
    }
}

@media (max-width:991px) {

    section {
        padding: 3rem 2rem;
    }

    html {
        font-size: 55%;
    }

    .home .slide .content h3 {
        font-size: 15vw;
    }
}

@media (max-width:768px) {
    #menu-btn {
        display: inline-block;
    }

    .fa-times {
        transform: rotate(180deg);
    }

    .header {
        height: 7.7rem;
    }

    .header .navbar {
        position: absolute;
        top: 99%;
        left: 0;
        right: 0;
        background-color: var(--white);
        border-top: var(--border);
        clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    }

    .header .logo img {
        height: 7rem;
        width: 8rem;
    }

    .header .navbar.active {
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    }

    .header .navbar a {
        display: block;
        margin: 2rem;
    }

    .swiper-button-next,
    .swiper-button-prev {
        /*La opcion para poner en medio el slider o abajo de la secccion*/
        bottom: 1rem;
    }

    .productos .slide .box-container .box {
        flex-flow: column;
        text-align: center;
    }
}

@media (max-width:450px) {

    html {
        font-size: 50%;
    }

    .home .home-slider {
        height: 83rem;
    }

    .home .slide .content h3 {
        font-size: 7rem;
    }
}
.developers {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.developer {
    margin: 0 10px;
    text-align: center;
}

.developer-name {
    font-weight: bold;
    margin-bottom: 5px;
    color: white;
    /* Color blanco para el nombre del desarrollador */
}

.developer-img {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 5px;
}

.social-links {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.developer-link {
    color: #0077b5;
    /* Color de LinkedIn */
    font-size: 1.5em;
    text-decoration: none;
}

.developer-link:last-child {
    color: #3b5998;
    /* Color de Facebook */
}

.developer-link:hover {
    color: #005582;
    /* Color de LinkedIn Hover */
}

.developer-link:last-child:hover {
    color: #2d4373;
    /* Color de Facebook Hover */
}

/*NUEVA MODIFICACIÓN*/
.about {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 20px;
}

.about .image {
    flex: 1 1 100%;
    text-align: center;
    margin-bottom: 20px;
}

.about .content-container {
    display: flex;
    flex: 1 1 100%;
    justify-content: space-between;
    flex-wrap: wrap;
}

.about .content {
    flex: 1 1 30%;
    margin: 10px;
    padding: 20px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    background-color: #fff;
}

.about .content h3.title {
    margin-bottom: 10px;
}

.about .content p {
    margin-bottom: 20px;
}

.about .content ul {
    list-style-type: disc;
    /* Tipo de viñeta */
    padding-left: 20px;
    /* Espacio a la izquierda para las viñetas */
    font-size: 2em;
    /* Asegura que el tamaño de la fuente sea el mismo que el del texto */
}

.about .content ul li {
    margin-bottom: 10px;
    /* Espacio entre los elementos de la lista */
}

.about .content .btn {
    display: inline-block;
    padding: 10px 20px;
    background-color: #d4af37;
    /* Color dorado */
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
    transition: background-color 0.3s ease;
}

.about .content .btn:hover {
    background-color: #b8860b;
    /* Color dorado más oscuro al pasar el ratón */
}

@media (max-width: 768px) {
    .about .content {
        flex: 1 1 100%;
    }
}
/* CONTACTO.PHP */

/* Imagen de contacto en la parte superior */
.contact-image-container {
    position: relative;
    width: 100%; /* Ocupar todo el ancho */
    height: 200px; /* Ajusta la altura según desees */
    overflow: hidden;
}

/* Imagen */
.contact-image {
    width: 100%; /* Ajusta el ancho de la imagen */
    height: 100%; /* Ajusta la altura para cubrir completamente el contenedor */
    object-fit: cover; /* Recorta y ajusta la imagen para que se vea bien */
}

/* Texto superpuesto */
.contact-text-overlay {
    position: absolute;
    top: 50%; /* Centrado vertical */
    left: 50%; /* Centrado horizontal */
    transform: translate(-50%, -50%); /* Ajusta el punto de anclaje al centro */
    color: white; /* Color del texto */
    font-size: 5rem; /* Tamaño del texto */
    font-weight: bold; /* Negrita */
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7); /* Sombra para mayor legibilidad */
    text-align: center;
}

.container {
    max-width: 600px;
    margin: 50px auto;
    font-family: Arial, sans-serif;
    background-color: #867f7f;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* Título */
.container h2 {
    text-align: center;
    font-size: 4rem; /* Aumentar el tamaño del texto */
    color: #000000;
    margin-bottom: 20px;
}

/* Estilo de los labels */
.container label {
    display: block;
    font-size: 1.6rem; /* Aumentar el tamaño del texto */
    margin-top: 10px;
    font-weight: bold;
    color: #000000;
    text-transform: none; /* Garantiza que no se transformen las etiquetas */
}

/* Estilo de los inputs y textarea */
.container input,
.container textarea {
    width: 100%;
    padding: 10px;
    margin-top: 5px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 14px;
    font-family: inherit; /* Hereda la tipografía base */
    color: #000; /* Color de texto negro */
    background-color: #fff; /* Fondo blanco */
    text-transform: none; /* Garantiza que no se transformen los textos ingresados */
}

/* Estilo del botón */
.container button {
    width: 100%;
    padding: 10px;
    margin-top: 20px;
    background-color: #b8860b;
    color: white;
    border: none;
    border-radius: 5px;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s;
}

.container button:hover {
    background-color: #d8ac3b;
}

/* Mensaje de respuesta */
#responseMessage {
    margin-top: 20px;
    text-align: center;
    font-size: 16px;
    color: #333;
}


/* Botón flotante de WhatsApp */
.whatsapp-float {
    position: fixed;
    /* Mantener posición fija en la ventana */
    bottom: 20px;
    /* Distancia desde la parte inferior */
    right: 20px;
    /* Distancia desde la parte derecha */
    z-index: 1000;
    /* Asegura que esté por encima de otros elementos */
    background-color: #25d366;
    /* Color verde de WhatsApp */
    border-radius: 50%;
    /* Forma circular */
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.2);
    /* Sombra para darle profundidad */
    padding: 10px;
    /* Espaciado interno */
    display: flex;
    /* Centrar el ícono */
    justify-content: center;
    align-items: center;
}

.whatsapp-float:hover {
    background-color: #d8ac3b;
    /* Cambiar color al pasar el cursor */
    box-shadow: 0px 6px 8px rgba(0, 0, 0, 0.3);
    /* Aumentar sombra */
    transform: scale(1.1);
    /* Efecto de zoom */
    transition: all 0.3s ease-in-out;
    /* Animación suave */
}

.whatsapp-icon {
    width: 40px;
    /* Tamaño del ícono */
    height: 40px;
}


            /* Sección de proyectos */
            .proyectos-section {
                display: flex;
                gap: 2rem;
                padding: 2rem;
                padding-left: 15rem; /* Aumenta el espaciado en el lado izquierdo */
                padding-right: 15rem; /* Aumenta el espaciado en el lado derecho */
                background-color: white;
            }
            

            .proyectos-lista {
                flex: 3;
            }
            
            .proyectos-filtro {
                flex: 1;
            }
            
            .seccion-titulo {
                font-size: 2rem;
                color: gold;
                border-bottom: 2px solid black;
                margin-bottom: 1rem;
            }

            /* Tarjetas de proyectos */
            .proyecto-card {
                display: flex;
                gap: 1rem;
                margin-bottom: 1rem;
                padding: 1rem;
                border: 1px solid gold;
                border-radius: 5px;
                background-color: #f9f9f9;
                box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
                max-width: 900px;
            }
            

            .proyecto-imagen {
                width: 150px;
                height: 150px;
                object-fit: cover;
                border: 2px solid black;
                border-radius: 5px;
            }
            .estado-proyecto {
                text-align: center; /* Centra el texto horizontalmente */
                text-transform: uppercase; /* Convierte el texto a mayúsculas */
                font-size: 1.5rem;
                font-weight: bold; /* Aplica negrita */
            }
            /* Estilo detallado para el título */
            .proyecto-detalles p:first-of-type {
                font-size: 1.5rem; /* Título más grande */
                font-weight: bold;
                color: black; /* Color oscuro para el título */
                text-transform: uppercase; /* Hace el título más prominente */
                letter-spacing: 1px; /* Espaciado entre letras */
            }





            /* Estilo detallado para el tipo de proyecto */
            .proyecto-detalles p:nth-of-type(2) {
                font-size: 1.5rem;
                font-weight: bold;
                color: #5a5a5a; /* Gris oscuro */
                border: 2px solid gold; /* Borde dorado alrededor del tipo de proyecto */
                border-radius: 5px;
                padding: 5px;
                display: inline-block;
                text-transform: uppercase; /* Hace el título más prominente */
            }

            .proyecto-detalles p {
                margin: 0.8rem 0; /*ESPACIADO */
                font-size: 1.7rem;
                text-transform: none;
            }
            
            .estado-ejecucion {
                background-color: rgb(99, 208, 216);
            }
            
            .estado-culminado {
                background-color: rgb(132, 233, 132);
            }

            /* Paginación */
            .paginacion {
                margin-top: 1rem;
                text-align: center;
            }

            .paginacion a {
                margin: 0 5px;
                padding: 5px 10px;
                color: white;
                background-color: black;
                text-decoration: none;
                border-radius: 3px;
                font-size: 1.7rem;
            }

            .paginacion a.activo {
                background-color: gold;
                color: black;
            }

            /* Tabla de filtro */
            .tabla-filtro {
                width: 100%;
                border-collapse: collapse;
                font-size: 1.2rem;
            }

            .tabla-filtro tr:nth-child(odd) {
                background-color: #f4f4f4;
            }

            .tabla-filtro tr td {
                padding: 10px;
                color: black;
                font-size: 1.5rem; 
                text-transform: uppercase;
            }

            .btn-ver-mas {
                display: inline-block;
                margin-top: 10px;
                padding: 5px 10px;
                color: white;
                background-color: black;
                text-decoration: none;
                border-radius: 3px;
                font-weight: bold;
                font-size: 1.5rem;
                transition: background-color 0.3s;                
            }
            
            .btn-ver-mas:hover {
                background-color: gold;
                color: black;
            }
            
            .detalle-imagen {
                width: 100%;
                max-width: 400px;
                margin-bottom: 20px;
                border: 2px solid black;
                border-radius: 5px;
            }
            /* Breadcrumb */
            .breadcrumb {
                margin: 20px;
                font-size: 16px;
            }

            .breadcrumb a {
                color: black;
                text-decoration: none;
                font-weight: bold;
                margin-right: 5px;
                transition: color 0.3s;
            }

            .breadcrumb a:hover {
                color: gold;
            }

            .breadcrumb span {
                color: grey;
            }




/* Detalles del Proyecto */
.detalle-proyecto-section {
    margin: 20px;
    padding: 20px;
    background-color: white;
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.seccion-titulo {
    font-size: 2rem; /* Letras más grandes */
    margin-bottom: 15px;
    color: #333;
}

.detalle-imagen {
    width: 100%;
    max-width: 300px; /* Imagen más pequeña */
    height: auto;
    margin: 20px auto;
    display: block;
    object-fit: cover;
    border: 1px solid #ccc;
    border-radius: 5px;
}

/* Tabla */
.tabla-detalles {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
    font-size: 1.2rem; /* Letras más grandes */
}

.tabla-detalles td {
    padding: 12px; /* Espaciado adicional */
    border-bottom: 1px solid #ddd;
    vertical-align: top;
}

.tabla-detalles td:first-child {
    font-weight: bold;
    color: #555;
}





























            

/* ESTILOS PARA LOGIN */
                    
                    .login-container {
                        background-color: white;
                        padding: 2rem;
                        border-radius: 8px;
                        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
                        width: 300px;
                    }

                    .login-form h1 {
                        margin-bottom: 1rem;
                        text-align: center;
                        color: #333;
                    }

                    .login-form label {
                        display: block;
                        margin-bottom: 0.5rem;
                        color: #555;
                    }

                    .login-form input {
                        width: 100%;
                        padding: 0.5rem;
                        margin-bottom: 1rem;
                        border: 1px solid #ddd;
                        border-radius: 4px;
                    }

                    .login-form button {
                        width: 100%;
                        padding: 0.5rem;
                        background-color: #007bff;
                        color: white;
                        border: none;
                        border-radius: 4px;
                        cursor: pointer;
                    }

                    .login-form button:hover {
                        background-color: #0056b3;
                    }

                    .error {
                        color: red;
                        font-size: 0.9rem;
                        text-align: center;
                        margin-bottom: 1rem;
                    }

/* ESTILOS PARA LOGIN */
            
            .panel-container {
                display: flex;
                min-height: 100vh;
            }

            .sidebar {
                background-color: #333;
                color: white;
                padding: 2rem;
                width: 250px;
            }

            .sidebar h2 {
                text-align: center;
            }

            .sidebar ul {
                list-style: none;
                padding: 0;
            }

            .sidebar ul li {
                margin: 1rem 0;
            }

            .sidebar ul li a {
                color: white;
                text-decoration: none;
                font-size: 1.2rem;
            }

            .main-content {
                flex: 1;
                padding: 2rem;
                background-color: #f3f3f3;
            }

            .indicadores {
                display: flex;
                justify-content: space-around;
                margin-top: 2rem;
            }

            .indicador {
                background-color: white;
                padding: 1rem;
                border-radius: 5px;
                box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
                font-size: 1.2rem;
                text-align: center;
            }

        
            