@charset "UTF-8";
::-webkit-scrollbar {
    width: 8px;
}
/*@font-face {
    font-family: "MonumentExtended";
    src: url("../assets/fonts/MonumentExtended-Ultrabold.woff2") format("woff2"),        
        url("../assets/fonts/MonumentExtended-Regular.otf") format("opentype");
    font-weight: normal;
    font-style: normal;
}*/
/* Regular */
@font-face {
    font-family: "MonumentExtended";
    src: url("../assets/fonts/MonumentExtended-Regular.otf") format("opentype");
    font-weight: 400;
    font-style: normal;
  }
  
  /* Ultrabold */
  @font-face {
    font-family: "MonumentExtended";
    src: url("../assets/fonts/MonumentExtended-Ultrabold.woff2") format("woff2");
    font-weight: 800;
    font-style: normal;
  }
@font-face {
    font-family: "Pragmatica";
    src: url("../assets/fonts/Pragmatica.woff") format("woff");
    font-weight: normal;
    font-style: normal;
}
/* Track */
::-webkit-scrollbar-track {
    background: #fff; 
}
   
/* Handle */
::-webkit-scrollbar-thumb {
   background: #888; 
}
  

body{
    background-color: #fff;
    font-family: "MonumentExtended-Regular", sans-serif;
}
h1, h2 {
    font-family: "MonumentExtended", serif;
    font-size: 5vw;     
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

h1 span {
    margin-right: 10px; /* Espacio entre texto e imagen */
}
/*--------------------------------------------------------------
# Menu Section
--------------------------------------------------------------*/
.wrapper{
    width: 100%;
    position: absolute;
    height: 100%;
    background-color: #ff911e;
    clip-path: polygon(81% 0, 100% 0, 100% 50%, 100% 100%, 71% 100%);
    transition: 1s all;
    border: 5px solid #ff911e;
}
.navbar {
    height: 70px; /* Define la altura del navbar */
    display: flex;
    align-items: center; /* Asegura que el contenido se alinee verticalmente */
}
.navbar-red:hover .wrapper {
    clip-path: polygon(81% 0, 100% 0, 100% 50%, 100% 100%, 65% 100%);
    transition: clip-path 0.5s ease; /* Añadir una transición suave */
}
.navbar-brand{
    color:#fff;
    font-family: 'Allerta Stencil', sans-serif;
    margin-bottom: 4px;
    font-size: 27px;
    display: flex;
    align-items: center;
}
.navbar-brand img {
    max-height: 55px; /* Hace que el logo casi llene el navbar */
    width: auto; /* Mantiene la proporción */
}
.navbar-brand:hover{
    color:#fff;
}
.navbar-toggler {
    padding: .20rem .50rem;
    font-size: 1.25rem;
    line-height: 1;
    background-color:#ff911e;
    border: 1px solid white;
}
.navbar-red{
    background-color: #000;
    color: #fff;  
}
.navbar-red:hover .wrapper{
    clip-path: polygon(81% 0, 100% 0, 100% 50%, 100% 100%, 65% 100%);
}
.navbar-nav>li>a{
    text-transform: uppercase;
    font-size: 14px;
    margin-right:20px;
    color: #fff;
    font-style: normal;
}
.nav-link{
    color: #fff !important;
    font-family: "Pragmatica", sans-serif;
}
.navbar-nav>li>a:hover {
    border-bottom: 2px solid #ff911e;
}

@media (max-width: 991.98px) {
  .navbar-collapse {
      background-color: #000; /* Fondo negro al colapsar */
  }

  .navbar-nav .nav-link {
      color: #fff !important; /* Asegura que las letras sigan siendo blancas */
  }
}

.all-show{
    z-index: 10;
}
.logoBienvenida img {
    width: 40%; /* Asegura que la imagen se ajuste al carrusel */
    height: 40%; /* Ajusta la imagen a la altura del carrusel */
    object-fit: contain; /* Evita que la imagen se deforme o se corte */
}

.logoBienvenidaLetra img {
    width: 100%; /* Asegura que la imagen se ajuste al carrusel */
    height:100%; /* Ajusta la imagen a la altura del carrusel */
    object-fit: contain; /* Evita que la imagen se deforme o se corte */
}

.logos {
    max-width: 100%;  /* Para que no se desborde en pantallas pequeñas */
    height: auto;  /* Mantiene la proporción */
    display: block;
    margin: auto;  /* Centra la imagen en su columna */
}


.bg-video {
  width: 80%; /* Ajusta el ancho del video a un 80% del contenedor */
  height: auto; /* Mantiene la proporción del video */
  margin: 0 auto; /* Centra el video */
  display: block; /* Asegura que el video sea un bloque */
}

/* Asegura que los logos estén alineados a lo ancho del video */
.container-fluid-logos .row {
  width: 90%; /* Hace que la fila ocupe un 80% del ancho disponible, igual que el video */
  padding: 0; /* Elimina los márgenes internos */
  margin: 0 auto; /* Centra la fila dentro del contenedor */
  display: flex; /* Usa flexbox para que los logos estén en una sola fila */
  justify-content: center; /* Centra los logos dentro de la fila */
  align-items: center; /* Alinea los logos verticalmente */
}

/* Asegura que los logos estén distribuidos uniformemente */
.container-fluid-logos .col-auto {
  display: flex;
  justify-content: center; /* Centra los logos dentro de cada columna */
  align-items: center; /* Alinea los logos verticalmente */
  flex: 1; /* Hace que las columnas ocupen un espacio igual */
}

/* Ajustes de tamaño para los logos */
.container-fluid-logos .logos {
  max-width: 100%; /* Limita el tamaño máximo de las imágenes */
  width: 90%; /* Ajusta el ancho de los logos al 60% */
  height: auto; /* Mantiene la proporción de los logos */
  margin: 0px; /* Añade un poco de espacio entre los logos */
}

/*--------------------------------------------------------------
# Footer Section
--------------------------------------------------------------*/

footer {
    background-color: #ff911e; /* Fondo de color naranja */
    color: #000; /* Color de texto blanco */
}

.copyright {
    text-align: left; /* Alinea todo el contenido a la izquierda */
    padding: 1px 0;
}
/* Reducir margen entre el <section> y el copyright */
footer section {
    margin-bottom:0x; /* Reduce el espacio inferior del <section> */
    padding: 0%;
}
/* Contenedor del contenido en el footer */
.footer-content {
    display: flex;
    flex-direction: row; /* Por defecto es row, pero lo especificamos */
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin: 0 auto;
    width: calc(100% - 40px);
    font-size: 12px;
    padding: 0 20px; /* Reducimos el padding para móviles */
    box-sizing: border-box; /* Asegura que el padding no afecte el ancho total */
}

/* Logo del footer */
.footer-logo {
    width: 50px; /* Ajusta el tamaño del logo */
    height: auto;
}

/* Línea divisoria en el footer */
.divider {
    flex-grow: 1;/* Hace que la línea ocupe el resto del espacio */
    background-color: black !important; /* Forzar color negro */
    border: none;
    display: block; /* Asegura que respete la altura */
    margin: 0;
    padding: 0;
    min-height: 2px; /* Asegura que el grosor se respete */
    height: 2px;
    width: 100%;
    opacity: 1; /* Asegurar que no haya transparencia */
    filter: none; /* Eliminar cualquier filtro que pueda alterar el color */
}

/* Texto en el footer */
.footer-text {
    font-size: 12px;
    text-align: left;
    align-self: flex-start; /* Asegura que el texto comience donde inicia la línea */
    /*margin-left:50px; /* Ajusta este valor para alinearlo con la línea */
    width: fit-content;
    margin-top: 0%;
}
/* Alinear textos específicos */
.footer-left {
    /*text-align: left;
    flex: 1; /* Ocupa el espacio disponible a la izquierda */
}

.footer-right {
    /*text-align: right;
    display: flex; /* Mostrar en línea */
    /*gap: 15x; /* Espacio entre "Aviso de Privacidad" y "Preguntas Frecuentes" */
    /*flex-wrap: nowrap; /* Evitar que los elementos salten de línea */
    display: flex;
    align-items: center;
    gap: 8px; /* Espacio reducido entre elementos */  
}
.footer-right a {
    color: black; /* Color predeterminado */
    text-decoration: none; /* Quitar subrayado */
    transition: color 0.3s ease-in-out; /* Suaviza la transición */
    font-family: "Pragmatica", sans-serif;
    white-space: nowrap;
}

.footer-right a:hover,
.footer-right a:active {
    color: white !important; /* Cambia a blanco al pasar el mouse o hacer clic */
}

.footer-link {
    color: black;
    text-decoration: none;
    transition: color 0.3s ease-in-out;
    white-space: nowrap;
    font-family: "Pragmatica", sans-serif;
}

.footer-link:hover,
.footer-link:active {
    color: white !important;
}


.footer-separator {
    margin: 0;
    padding: 0;
}
/* Efecto de hover en los enlaces del footer */
footer a:hover {
    color: #fff; /* Cambia el color de los enlaces al pasar el mouse */
}
.footer-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}
/* Estilo de la imagen del logo en el footer */
footer .footer-content img {
    width: 60px; /* Ajusta el tamaño del logo */
}

/* Estilos de los iconos de redes sociales en el footer */
.footer-social {
    display: flex;
    justify-content: center; /* Centra los iconos en la fila */
    gap: 100x; /* Espacio entre iconos */
    margin-bottom: 10px; /* Espacio con el texto del footer */
}

/* Estilo de los iconos de redes sociales */
.social-icon {
    font-size: 24px; /* Tamaño de los iconos */
    color: black; /* Color negro */
    text-decoration: none; /* Quitar subrayado */
    transition: color 0.3s; /* Efecto al pasar el mouse */
}

/* Estilos para pantallas medianas (tablets) */
@media (max-width: 768px) {
    .footer-content {
        padding: 0 15px;
        flex-wrap: wrap; /* Permite que los elementos se envuelvan */
        justify-content: center; /* Centra los elementos cuando se envuelven */
        gap: 10px;
    }
    
    .footer-left, .footer-right {
        flex: 1 1 100%; /* Ocupa todo el ancho */
        text-align: center; /* Centra el texto */
    }
    
    .footer-right {
        justify-content: center; /* Centra los enlaces */
        margin-top: 5px; /* Espacio entre las dos líneas */
    }
}

/* Estilos para pantallas pequeñas (móviles) */
@media (max-width: 480px) {
    .footer-content {
        flex-direction: column; /* Apila los elementos verticalmente */
        padding: 10px;
    }
    
    .footer-left {
        order: 2; /* Mueve el copyright abajo */
        margin-top: 10px;
    }
    
    .footer-right {
        order: 1; /* Mueve los enlaces arriba */
        flex-wrap: wrap; /* Permite que los enlaces se envuelvan */
        gap: 5px 10px; /* Espacio vertical y horizontal */
    }
    
    .separator {
        display: none; /* Oculta el separador en móviles */
    }
}

/* Ajustes adicionales para los iconos de Font Awesome */
.fab, .fas {
    font-size: 25px; /* Tamaño de los iconos */
    color: #000; /* Color blanco predeterminado */
    transition: color 0.3s; /* Transición para el cambio de color */
}

/* Efecto de hover para los iconos de Font Awesome */
.fab:hover, .fas:hover {
    color: #fff; /* Color cuando el icono se pasa sobre él */
}

/* Eliminar subrayado solo en los iconos */
.me-4.text-reset {
    text-decoration: none; /* Elimina el subrayado solo en los iconos */
}

/* Alineación a la izquierda para los enlaces */
.text-left {
    text-align: left; /* Alinea los enlaces a la izquierda */
}

/* Eliminar la sangría en listas */
ul {
    padding-left: 0; /* Elimina la sangría de la lista */
    font-style: italic;
    font-size: 14px;
}
.list-unstyled a {
    color: inherit; /* Mantiene el color predeterminado */
    text-decoration: none; /* Evita subrayado */
    transition: color 0.3s ease-in-out; /* Transición suave */
    font-style: italic;
}

.list-unstyled a:hover,
.list-unstyled a:active {
    color: white !important; /* Cambia el color a blanco */
}

/*--------------------------------------------------------------
# Nosotros Section
--------------------------------------------------------------*/
.nosotros h3, .quienesSomos h3, .historia h3, .mision h3, .vision h3, .clientes h3 {
    text-align: center; /* Centrar el título */
    margin-bottom: 20px;
    font-style: italic;
    font-family: "MonumentExtended", serif;
    /*font-size: 3vw;     */
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

.nosotros h4, .quienesSomos h4, .historia h4, .mision h4, .vision h4{
    text-align: justify; /* Justificar el texto */
    margin: 0 auto; /* Centrar el bloque */
    font-style: italic;
}

@media (max-width: 768px) {
    .nosotros .col-md-8 {
        width: 90%; /* Asegura márgenes en pantallas pequeñas */
    }
    .quienesSomos .col-md-8 {
        width: 90%; /* Asegura márgenes en pantallas pequeñas */
    }
}
.container {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
}

/* Estilos del organigrama */
.organigrama {
    padding: 0;
    text-align: center;
    list-style: none;
    display: flex;
    justify-content: center;
    margin-bottom: 0; /* Elimina márgenes innecesarios */
}

/* Contenedor del nodo principal */
.organigrama > li {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    margin-bottom: 0; /* Aumenta este valor para subir la imagen */
}

/* Línea vertical que baja del nodo principal */
.organigrama > li::after {
    content: "";
    position: relative;
    top: -50%;
    left: 0%;
    width: 2px;
    height: 36px;
    background-color: white;
}

/* Sublista de los nodos hijos */
.organigrama ul {
    display: flex;
    justify-content: center;
    position: relative;
    padding: 20px 0 0;
}

/* Línea horizontal entre los nodos hijos */
.organigrama ul::before {
    content: "";
    position: absolute;
    top: 0;
    left: 16%;
    width: 68%;
    height: 2px;
    background-color: white;
}

/* Contenedores de los hijos */
.organigrama ul li {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 20px;
}

/* Línea vertical que conecta cada hijo con la línea horizontal */
.organigrama ul li::before {
    content: "";
    position: absolute;
    top: -20px;
    left: 50%;
    width: 2px;
    height: 20px;
    background-color: white;
}

/* Caja para cada empresa */
.organigrama .sacrosa {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid #333;
    border-radius: 10px;
    background-color: #fff;
    width: 250px;
    height: 120px;
    padding: 15px;
    margin-bottom: 2%;
}
.organigrama .persona {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid #333;
    border-radius: 10px;
    background-color: #fff;
    width: 250px;
    height: 120px;
    padding: 15px;
}

/* Imágenes dentro de los nodos */
.organigrama .logos {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.quienesSomos {
    width: 100%;
    position: relative;
    background: url('../assets/img/background/retro.webp') center/cover no-repeat;    
    padding-bottom: 20px; /* Reduce el padding inferior */
    margin-bottom: 0; /* Asegura que no haya margen extra */
}
@media (min-width: 768px) {
  .quienesSomos {
      background-image: url('../assets/img/background/retro.webp');
  }
}

.quienesSomos::before {
    content: "";
    position: absolute; /* Debe ser absolute para superponerse correctamente */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6); /* Ajusta la transparencia */
    z-index: 0; /* Envía la capa al fondo */
}

.quienesIntengran {
    position: relative;
    z-index: 1; /* Coloca el texto por encima de la capa semitransparente */
}

.organigrama .logos {
    transition: transform 0.3s ease-in-out;
}

.organigrama .logos:hover {
    transform: scale(1.1); /* Aumenta el tamaño en un 10% */
}

@media (max-width: 767px) {
  .organigrama {
      flex-direction: column;
      align-items: center;
  }
  
  .organigrama > li {
      margin-bottom: 20px;
  }
  
  .organigrama > li::after {
      content: "";
      position: relative;
      width: 2px;
      height: 20px;
      background-color: white;
      display: block;
  }
  
  .organigrama ul {
      flex-direction: column;
      padding-top: 20px;
      padding-left: 0;
      position: relative;
  }
  
  .organigrama ul::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    /* La línea llega hasta antes del último logo */
    height: calc(100% - 110px); /* Ajusta este valor según necesites */
    background-color: white;
  }
  
  .organigrama ul li {
      margin: 15px 0;
      position: relative;
  }
  
  .organigrama ul li::before {
      display: none; /* Elimina las líneas horizontales */
  }
  
  /* Elimina específicamente cualquier línea debajo del último logo */
  .organigrama ul li:last-child::after {
    display: none;
    color: black;
  }

  .organigrama .sacrosa,
  .organigrama .persona {
    width: 200px;
    height: 100px;
  }
}
/*--------------------------------------------------------------
# Historia Section
--------------------------------------------------------------*/
.proposito {
    width: 100%;
    position: relative;
    background: url('../assets/img/background/business\ strategy.webp') center/cover no-repeat;  
    padding-bottom: 20px; /* Reduce el padding inferior */
    margin-bottom: 0; /* Asegura que no haya margen extra */
}
@media (min-width: 768px) {
  .proposito {
      background-image: url('../assets/img/background/business\ strategy.webp');
  }
}

.proposito::before{
    content: "";
    position: absolute; /* Debe ser absolute para superponerse correctamente */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6); /* Ajusta la transparencia */
    z-index: 0; /* Envía la capa al fondo */
}

.proposito {
    position: relative;
    z-index: 1; /* Coloca el texto por encima de la capa semitransparente */
}

.mision, .vision {
    position: relative;
    z-index: 2; /* Coloca el texto por encima de la capa semitransparente */
}

.proposito .text-left {
    text-align: left !important;
}

.proposito .text-right {
    text-align: right !important;
}
.mision h3, .vision h3{
    font-family: "MonumentExtended", serif !important;
}

.mission-icon, .vision-icon {
    color: inherit;
}
.texto-justificado {
    text-align: justify;
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.mision, .vision {
  animation: fadeInUp 1.5s ease-out;
}

.clientes h3{
    font-family: "MonumentExtended", serif !important;
}

/*--------------------------------------------------------------
# Trituradora Section
--------------------------------------------------------------*/
.trituradora {
    width: 100%;
    position: relative;
    background: url('../assets/img/background/trituradora.webp') center/cover no-repeat;  
    padding-bottom: 20px; /* Reduce el padding inferior */
    margin-bottom: 0; /* Asegura que no haya margen extra */
    background-position: 50% 50%;
}
@media (min-width: 768px) {
  .trituradora {
      background-image: url('../assets/img/background/trituradora.webp');
  }
}

.trituradora::before{
    content: "";
    position: absolute; /* Debe ser absolute para superponerse correctamente */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6); /* Ajusta la transparencia */
    z-index: 0; /* Envía la capa al fondo */
}
.titulo {
    background-color: black;
    font-family: "MonumentExtended", serif !important;
    text-align: center; /* Centrar el título */
    font-style: italic;
    /*font-size: 10vw;*/
    margin-bottom: 20px;     
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    padding: 10px;
}
.productosTexto, .serviciosTexto, .produccionTexto, .obrasTexto {
    display: flex; 
    align-items: center; 
    justify-content: center; 
    flex-wrap: wrap; /* Permite que se acomoden bien en pantallas más pequeñas */
}

.producto, .servicio {
    position: relative;
    text-align: center;
    margin: 10px; /* Espaciado entre elementos */
}

.producto img, .servicio img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    border-radius: 15px;
    border: 2px solid black;
}

.caption {
    position: relative;
    top: 50%; /* Se coloca un poco más abajo en lugar de en el centro */
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.6);
    color: white;
    padding: 5spx 15px;
    border-radius: 5px;
    font-size: 14px;
    text-align: center;
    max-width: 90%; /* Evita que la franja negra sea demasiado ancha */
    /*white-space: nowrap; /* Evita que el texto se desborde */
    overflow: hidden;
    text-overflow: ellipsis;
    font-family: "MonumentExtended-Regular", sans-serif !important;
     font-style: italic;
}

.produccionDescripcion h4 {
    text-align: justify; /* Justificar el texto */
    margin: 0 auto; /* Centrar el bloque */
    font-style: italic;
    color: black;
    font-size: 2em;
}

.image-card {
  position: relative;
  overflow: visible; /* Cambiado para que no recorte la imagen al escalar */
  width: 80%; /* Asegura que el contenedor tenga el mismo ancho que la imagen */
  margin: 0 auto; /* Centra el contenedor si es necesario */
  border-radius: 15px; /* Borde redondeado en el contenedor */
  border: 2px solid black; /* Borde en el contenedor */
  transition: 0.3s; /* Transición suave para el borde */
}

.image-card img {
  width: 100%; /* Ocupa el 100% del contenedor (.image-card) */
  height: 300px;
  object-fit: cover;
  opacity: 0.4;
  transition: 0.3s;
  border-radius: 13px; /* Un poco menos que el contenedor para evitar solapamientos */
  display: block; /* Elimina espacios no deseados debajo de la imagen */
}

.image-card:hover img {
  opacity: 0.9;
  transform: scale(1.05);
}

.image-card:hover {
  border-color: white; /* Opcional: Cambia el color del borde al hacer hover */
}

.image-card:hover .overlay-text {
  color: white;
}

.overlay-text {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 15px;
    box-sizing: border-box;
    background-color: rgba(0, 0, 0, 0.3); /* Fondo oscuro translúcido */
    border-radius: 10px; /* Coincide con los bordes de la tarjeta */
    padding: 10px; /* Espacio interno */
}

.overlay-text h5 {
    font-family: "MonumentExtended-Regular", sans-serif !important;
    font-style: italic;
    color: black;
    font-size: clamp(1em, 4vw, 1.4em); /* Tamaño responsive */
    font-weight: 700;
    text-align: center;
    margin: 0;
    max-width: 100%;
}
  
  .image-card:hover .overlay-text h5 {
    color: white; /* o el que prefieras */
    font-size: 1.2em;
  }

/*--------------------------------------------------------------
# Construccion Section
--------------------------------------------------------------*/
.construccion {
    width: 100%;
    position: relative;
    background: url('../assets/img/background/construccion.webp') center/cover no-repeat;  
    padding-bottom: 20px; /* Reduce el padding inferior */
    margin-bottom: 0; /* Asegura que no haya margen extra */
}

@media (min-width: 768px) {
  .construccion {
      background-image: url('../assets/img/background/construccion.webp');
  }
}
.construccion::before{
    content: "";
    position: absolute; /* Debe ser absolute para superponerse correctamente */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6); /* Ajusta la transparencia */
    z-index: 0; /* Envía la capa al fondo */
}
  
  .icono {
    width: 200px;
    height: 200px;
    object-fit: contain;
    margin-bottom: 10px;
  }

  .titulo-servicio {
    font-weight: bold;
    font-style: italic;
    font-size: 1.5rem;
    line-height: 1.3;
    min-height: 3.2em; /* Para alinear todos los textos aunque unos sean de 1 o 2 líneas */
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #000;
  }

  .servicioCostruccion {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
  }
  .servicioConstruccion:hover .icono {
        animation: bounce 0.6s;
      }
      
      @keyframes bounce {
        0% { transform: translateY(0); }
        30% { transform: translateY(-10px); }
        60% { transform: translateY(5px); }
        100% { transform: translateY(0); }
      }
   
.carousel-control-prev,
.carousel-control-next {
  width: auto;
  height: auto;
  top: 50%;
  transform: translateY(-50%);
  /*background: transparent;*/
  border: none;
  padding: 0.5rem;
  z-index: 2;
}

/* Flecha "anterior" (izquierda) - SVG NEGRO */
.carousel-control-prev-icon {
  width: 70px;
  height: 70px;
  background-color: #ff911e; /* Fondo naranja */
  background-size: 30px 30px;
  border-radius: 50%;
  transition: background-color 0.3s ease;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e");
}

/* Flecha "siguiente" (derecha) - SVG NEGRO */
.carousel-control-next-icon {
  width: 70px;
  height: 70px;
  background-color: #ff911e; /* Fondo naranja */
  background-size: 30px 30px;
  border-radius: 50%;
  transition: background-color 0.3s ease;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e");
}

/* Hover: fondo naranja más oscuro */
.carousel-control-prev-icon:hover,
.carousel-control-next-icon:hover {
  background-color: #ff7f00;
}
/*--------------------------------------------------------------
# Fundicion Section
--------------------------------------------------------------*/
.fundicion {
    width: 100%;
    position: relative;
    background: url('../assets/img/background/fundicionR.webp') center/cover no-repeat;  
    padding-bottom: 20px; /* Reduce el padding inferior */
    margin-bottom: 0; /* Asegura que no haya margen extra */
}
@media (min-width: 768px) {
  .fundicion {
      background-image: url('../assets/img/background/fundicionR.webp');
  }
}

.fundicion::before{
    content: "";
    position: absolute; /* Debe ser absolute para superponerse correctamente */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6); /* Ajusta la transparencia */
    z-index: 0; /* Envía la capa al fondo */
}

.fundarmenTexto {
    color: black;
    font-family: "MonumentExtended-Regular", sans-serif !important;
    font-style: italic;
    display: flex; 
    align-items: center; 
    justify-content: center; 
    flex-wrap: wrap; /* Permite que se acomoden bien en pantallas más pequeñas */
    
}
ul.fundicionLista {
    font-size: 1.5rem; /* mismo tamaño que un h3 típico */
    margin-left: 5rem; /* o padding-left: 2rem; */
    /*font-weight: bold;  /* si quieres también que se vea igual */
  }

  .circle {
    width: 300px; /* Tamaño del círculo */
    height: 300px;
    border-radius: 50%;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  
  .circle img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease-in-out;
  }
  
  /* Animación de zoom */
  .zoom-in {
    animation: zoomImage 3s infinite alternate;
  }
  
  @keyframes zoomImage {
    0% {
      transform: scale(1);
    }
    100% {
      transform: scale(1.2);
    }
  }
/*--------------------------------------------------------------
# Aviso Privacidad Section
--------------------------------------------------------------*/ 
.privacidad {
    width: 100%;
    position: relative;
    background: url('../assets/img/background/privacidad.webp') center/cover no-repeat;  
    padding-bottom: 20px; /* Reduce el padding inferior */
    margin-bottom: 0; /* Asegura que no haya margen extra */
}  
@media (min-width: 768px) {
  .privacidad {
      background-image: url('../assets/img/background/privacidad.webp');
  }
}
.privacidad::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* Fondo gris con opacidad */
    z-index: 1; /* Asegura que el filtro esté encima de la imagen */
}

.avisoPrivacidad h2 {
    text-align: center; /* Centrar el título */
    margin-bottom: 20px;
    font-style: italic;
    font-family: "Pragmatica", serif;
    font-size: 2vw;     
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    font-weight: 900;
    color: black;
}
.avisoPrivacidad h4 {
    text-align: center; /* Centrar el título */
    margin-bottom: 20px;
    font-style: italic;
    font-family:"MonumentExtended", serif;     
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    font-weight: 10;
    color: black;
}
.avisoPrivacidad h5 {
    text-align: left; /* Centrar el título */
    margin-bottom: 20px;
    font-family:"MonumentExtended", serif;     
    display: flex;
    align-items: left;
    white-space: nowrap;
    font-weight: 10;
    color: black;
}

.tituloPrivacidad {
    background-color:#3a3a3a;
    font-family: "Pragmatica", serif !important;
    text-align: center; /* Centrar el título */
    font-style: italic;
    margin-bottom: 20px;     
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    padding: 10px;
}

/*--------------------------------------------------------------
# FAQ Section
--------------------------------------------------------------*/ 
.FAQ {
    width: 100%;
    position: relative;
    background: url('../assets/img/background/preguntas.webp') center/cover no-repeat;  
    padding-bottom: 20px; /* Reduce el padding inferior */
    margin-bottom: 0; /* Asegura que no haya margen extra */
}  
@media (min-width: 768px) {
  .FAQ {
      background-image: url('../assets/img/background/preguntas.webp');
  }
}
.FAQ::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* Fondo gris con opacidad */
    z-index: 1; /* Asegura que el filtro esté encima de la imagen */
}
.faq-section h2 {
    text-align: center;
    margin-bottom: 20px;
    font-style: italic;
    font-family: "MonumentExtended", serif;
    font-size: 1vw;
    font-weight: 400;
    color: black;
    white-space: normal; /* <-- este cambio */
}

.faq-section p {
    text-align: justify;
    font-family: Arial, sans-serif;
    font-style: italic;
    font-size: 14px;
    color: black;
    white-space: normal; /* <-- este cambio */
    display: block;      /* <-- este cambio */
}
.faq-section ol,
.faq-section ul {
    list-style-type: disc;     /* para viñetas en <ul> */
    padding-left: 1.5rem;      /* espacio para mostrar viñetas */
    margin-bottom: 1rem;
}

.faq-section ol {
    list-style-type: decimal;  /* para numeración en <ol> */
}

.faq-section li {
    text-align: justify;
    font-family: Arial, sans-serif;
    font-style: italic;
    font-size: 14px;
    color: black;
    white-space: normal;
    display: list-item; /* este valor asegura que las viñetas aparezcan */
}
.accordion-body p,
.accordion-body ul,
.accordion-body ol {
    margin-left: 1.5rem;
}

.faq-section img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.faq-section {
    background-color: white;
    padding: 60px 20px;
}

.faq-title {
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 30px;
    color: #333;
  }

  .accordion-button {
    font-weight: bold;
    background-color: #333;
    font-style: italic;
    font-family: Arial, sans-serif;
    color: white;
    border: 2px solid white; /* Borde naranja */
    width: 100%; /* Ajusta el ancho al 100% */
    text-align: left; /* Asegura que el texto esté alineado a la izquierda */
    font-weight: bold;
    padding-left: 20px; /* Un poco de padding para que no quede tan pegado al borde */
    padding-top: 15px; /* Aumenta la altura del botón */
    padding-bottom: 15px; /* Aumenta la altura del botón */
    position: relative; /* Necesario para posicionar la flecha */
    font-size: 1.2rem; /* Tamaño base para desktop */
  }

/* Ajustes en pantallas móviles */
@media (max-width: 767px) {
  .accordion-button {
    font-size: 1rem; /* Reduce un poco el tamaño en móviles */
    padding-top: 12px; /* Un poco menos de padding en móviles */
    padding-bottom: 12px; /* Un poco menos de padding en móviles */
  }
}

  .accordion-button:not(.collapsed) {
    background-color: #ff7f00; /* Fondo naranja cuando se expande */
    color: #fff;
    border-color: #ff7f00;
  }

  .accordion-button {
    font-weight: bold;
    background-color: #333;
    color: white;
    border: 2px solid white;
    padding: 15px 20px;
    position: relative;
    font-size: 1.2rem;
  }
  
  /* Oculta la flecha por defecto de Bootstrap */
  .accordion-button::after {
    display: none !important;
  }
  
  /* Flecha personalizada */
  .accordion-button::before {
    content: '▼';
    font-size: 1rem;
    color: white;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    transition: all 0.3s;
  }
  
  .accordion-button:not(.collapsed)::before {
    content: '▲';
  }
  
  .accordion-button:not(.collapsed) {
    background-color: #ff7f00;
    color: #fff;
    border-color: #ff7f00;
  }
.accordion-body {
    background-color: #ffffff;
    padding-left: 1.5rem;
}
.accordion {
    max-width: 100%;
  }

  /* Asegurarse de que el acordeón ocupe todo el ancho disponible */
  .accordion-item {
    margin-bottom: 15px; /* Espaciado entre las preguntas */
  }

/*--------------------------------------------------------------
# Bolsa de trabajo Section
--------------------------------------------------------------*/
.trabajo {
    width: 100%;
    position: relative;
    background: url('../assets/img/background/bolsa_trabajo.webp') center/cover no-repeat;  
    padding-top: 20px;
    padding-bottom: 40px;
    margin-bottom: 0; /* ya lo tienes bien aquí */
    background-position: 50% 80%;
    z-index: 0;
}
@media (min-width: 768px) {
  .trabajo {
      background-image: url('../assets/img/background/bolsa_trabajo.webp');
  }
}


.trabajo::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1;
}

.trabajoTitulo {
    position: relative; /* 👈 Importante */
    z-index: 2;          /* 👈 Sobre el fondo y el filtro */
}

.trabajoTitulo h3 {
    text-align: center; /* Centrar el título */
    margin-bottom: 20px;
    font-style: italic;
    font-family: "MonumentExtended", serif;
    font-size: 3vw;
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    font-weight: 800;
}

.trabajoTitulo h1 {
    text-align: center;
    margin-bottom: 20px;
    font-family: "MonumentExtended", serif;
    white-space: normal; /* ← Permite que el texto se ajuste */
    word-break: break-word; /* ← Rompe si alguna palabra es demasiado larga */
    overflow-wrap: break-word;
    line-height: 1.2;
    margin-top: 0;
    margin-bottom: 10px; /* lo puedes ajustar a lo que se vea bien */
    font-weight: 400; /* 👈 Esto le quita lo grueso */
    font-size: 5vw;
  }

  .trabajoTitulo h4 {
    text-align: center;
    margin-bottom: 20px;
    font-family: "Pragmatica", serif;
    font-style: italic;
    white-space: normal; /* ← Permite que el texto se ajuste */
    word-break: break-word; /* ← Rompe si alguna palabra es demasiado larga */
    overflow-wrap: break-word;
    line-height: 1.6;
    margin-top: 0;
    margin-bottom: 10px; /* lo puedes ajustar a lo que se vea bien */
    font-weight: 800; /* 👈 Esto le quita lo grueso */
    font-size: 2vw;
  }
  .trabajoTitulo h2 {
    text-align: center;
    margin-bottom: 20px;
    font-family: "MonumentExtended", serif;
    white-space: normal; /* ← Permite que el texto se ajuste */
    word-break: break-word; /* ← Rompe si alguna palabra es demasiado larga */
    overflow-wrap: break-word;
    line-height: 1.6;
    margin-top: 0;
    margin-bottom: 10px; /* lo puedes ajustar a lo que se vea bien */
    font-weight: 400; /* 👈 Esto le quita lo grueso */
    font-size: 2vw;
  }
  
  /* Ajustes para pantallas pequeñas */
  @media (max-width: 768px) {
    .trabajoTitulo h1 {
      font-size: 6vw;
    }
  }
  
  @media (max-width: 480px) {
    .trabajoTitulo h1 {
      font-size: 8vw;
    }
  }
  .simbolos-con-imagen {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    max-height: 500px;
  }
  
  .simbolo-naranja {
    color: orange;
    font-size: 16vw; /* proporcional al ancho de pantalla */
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .simbolo-naranja:hover {
    color: darkorange;
  }
  
  .simbolo-naranja:focus {
    outline: none;
    box-shadow: none;
  }

  @keyframes enlarge {
    0%   { transform: scale(1); }
    50%  { transform: scale(1.4); }
    100% { transform: scale(1); }
  }
  
  .simbolo-naranja.animado {
    animation: enlarge 0.3s ease-in-out;
  }

  .imagen-central {
    width: 300px;         /* o el ancho que necesites */
    height: 300px;max-height: 300px;
    transition: all 0.3s ease-in-out;
    object-fit: cover;
    display: block;
    width: 100%;
    height: auto;
    border: 2px solid orange;
    z-index: 0;
  }

  .contenedor-imagen {
    position: relative;
    max-height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(38, 38, 38, 0.5); /* Grisáceo con transparencia */
    z-index: 1;
  }
  
  .imagen-wrapper {
    position: relative;
    display: inline-block;
  }

  .texto-sobre-imagen {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    font-size: 2vw;
    font-weight: bold;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.7);
    z-index: 2;
  }

.contactoRH {
    width: 100%;
    position: relative;
    background: url('../assets/img/background/rh.webp') center/cover no-repeat;  
    padding-top: 20px;
    padding-bottom: 40px;
    margin-bottom: 0; /* ya lo tienes bien aquí */
    overflow: hidden;
}
@media (min-width: 768px) {
  .contactoRH {
      background-image: url('../assets/img/background/rh.webp');
  }
}

.overlayRH {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1;
  }
  .tituloRH h4 {
    text-align: center;
    margin-bottom: 20px;
    font-family: "MonumentExtended", serif;
    font-style: italic;
    white-space: normal; /* ← Permite que el texto se ajuste */
    word-break: break-word; /* ← Rompe si alguna palabra es demasiado larga */
    overflow-wrap: break-word;
    line-height: 1.6;
    margin-top: 0;
    margin-bottom: 10px; /* lo puedes ajustar a lo que se vea bien */
    font-weight: 400; /* 👈 Esto le quita lo grueso */
    font-size: 1.5vw;
  }
  .contenido-formulario {
    position: relative;
    z-index: 2;
  }

.contactoRH::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1;
}

.contactoRH .info-item {
    margin-top: 5px;
    margin-left: 30px;
    color: white;
  }
.contactoRH .info-item i {
  font-size: 30px;
  width: 50px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.3s ease-in-out;
  margin-right: 15px;
  color: white;
}

.contactoRH .info-item p {
  padding: 0;
  margin-bottom: 0;
  margin-left: 200px;
  font-size: 14px;
  color: white;
}

.contactoRH .info-item li {
    margin-left: 25px;
}

.contactoRH .info-item:hover i {
  background: var(white);
  color: var(#ff911e);
}
.contactoRH .info-itemRH h6, h5 {
    padding: 0;
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 5px;
    margin-left: 15px;
    color: white;
  }  

.contactoRH .form-rh {
    height: 100%;  
    position: relative;  /* Necesario para que el z-index funcione */
    z-index: 2;          /* Mayor que el z-index del ::before */
  }
    
  .contactoRH .form-rh input[type=text],
  .contactoRH .form-rh input[type=email],
  .contactoRH .form-rh textarea {
    font-size: 14px;
    padding: 10px 15px;
    box-shadow: none;
    border-radius: 0;
    color: #ff911e;
    background-color: color-mix(in srgb, var(#ff911e), transparent 50%);
    border-color: color-mix(in srgb, var(#ff911e), transparent 80%);
    color: black;
  }
  
  .contactoRH .form-rh input[type=text]:focus,
  .contactoRH .form-rh input[type=email]:focus,
  .contactoRH .form-rh textarea:focus {
    border-color: #ff911e;
    color: black;
  }
  
  .contactoRH .form-rh input[type=text]::placeholder,
  .contactoRH .form-rh input[type=email]::placeholder,
  .contactoRH .form-rh textarea::placeholder {
    color: color-mix(in srgb, var(black), transparent 70%);
  }
  
  .contactoRH .form-rh button[type=submit] {
    color: black;
    background: #ff911e;
    border: 0;
    padding: 10px 30px;
    transition: 0.4s;
    /*border-radius: 50px;*/
  }

  /* Efecto al pasar el mouse */
 .form-rh button[type="submit"]:hover {
  color:  black;
  background: white;  /* Cambia el color de fondo */
  transform: scale(1.05); /* Aumenta ligeramente el tamaño */
}

/* Efecto al hacer clic */
.form-rh button[type="submit"]:active {
  transform: scale(0.98); /* Reduce un poco el tamaño */
}

/* Estilo para el input file - Versión oscura */
.form-control[type="file"] {
  /* Estilo base */
  display: block;
  width: 100%;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.3s ease;
  
  /* Texto interior */
  &::file-selector-button {
      background-color: #ff911e; /* Naranja */
      color: #000;
      border: none;    
      transition: all 0.3s ease;
  }
  
  /* Efectos hover */
  &:hover {
      background-color: white;
      border-color: #ff911e; /* Naranja más claro */
      
      &::file-selector-button {
          background-color: #ff911e; /* Naranja más claro */
          transform: translateX(5px);
      }
  }
  
  /* Efecto al enfocar */
  &:focus {
      outline: none;
      border-color: #ff911e;
  }
  
  /* Feedback cuando se selecciona archivo */
  &:valid {
      border-color: #00ff88; /* Verde para confirmación */
      
      &::file-selector-button {
          background-color: #00ff88;
          color: #000;
      }
  }
}
/*--------------------------------------------------------------
# Contact Section
--------------------------------------------------------------*/
.contactoTexto {
    width: 100%;
    position: relative;
    background: url('../assets/img/background/contacto.webp') center/cover no-repeat;  
    padding-bottom: 20px; /* Reduce el padding inferior */
    margin-bottom: 0; /* Asegura que no haya margen extra */
    background-position: 50% 50%;
    z-index: 0; /* Asegura que esta capa esté encima del fondo */
}
@media (min-width: 768px) {
  .contactoTexto {
      background-image: url('../assets/img/background/contacto.webp');
  }
}


.contactoTexto::before {
    content: "";
    position: absolute; /* Debe ser absolute para superponerse correctamente */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6); /* Ajusta la transparencia */
    z-index: 1; /* Envía la capa al fondo */
}

.contactanos h5 {
    text-align: center; /* Centrar el título */
    margin-bottom: 20px;
    font-style: italic;
    font-family: "MonumentExtended", serif;
    font-size: 1.5vw;     
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    font-weight: 400;
}

.contacto .info-item {
    margin-top: 5px;
    color: black;
  }
.contacto .info-item i {
  color: var(#ff911e);
  background: color-mix(in srgb, var(#ff911e), transparent 92%);
  font-size: 30px;
  width: 50px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50px;
  transition: all 0.3s ease-in-out;
  margin-right: 15px;
  color: black;
}

.contacto .info-item h6, h5 {
  padding: 0;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 5px;
  color: black;
}

.contacto .info-item p {
  padding: 0;
  margin-bottom: 0;
  font-size: 14px;
  color: black;
}

.contacto .info-item li {
    margin-left: 25px;
}

.contacto .info-item:hover i {
  background: var(#000000);
  color: var(#ff911e);
}

.contactoUbicacion .info-item .i .ubicacionIconfa {
    font-size: 100px;
}

.contacto .php-email-form {
  height: 100%;  
}

.contacto .php-email-form input[type=text],
.contacto .php-email-form input[type=email],
.contacto .php-email-form textarea {
  font-size: 14px;
  padding: 10px 15px;
  box-shadow: none;
  border-radius: 0;
  color: #ff911e;
  background-color: color-mix(in srgb, var(#ff911e), transparent 50%);
  border-color: color-mix(in srgb, var(#ff911e), transparent 80%);
  color: black;
}

.contacto .php-email-form input[type=text]:focus,
.contacto .php-email-form input[type=email]:focus,
.contacto .php-email-form textarea:focus {
  border-color: #ff911e;
  color: black;
}

.contacto .php-email-form input[type=text]::placeholder,
.contacto .php-email-form input[type=email]::placeholder,
.contacto .php-email-form textarea::placeholder {
  color: color-mix(in srgb, var(black), transparent 70%);
}

.contacto .php-email-form button[type=submit] {
  color: black;
  background: #ff911e;
  border: 0;
  padding: 10px 30px;
  transition: 0.4s;
  /*border-radius: 50px;*/
}

 /* Efecto al pasar el mouse */
 .php-email-form button[type="submit"]:hover {
  color:  white;
  background: black;  /* Cambia el color de fondo */
  transform: scale(1.05); /* Aumenta ligeramente el tamaño */
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); /* Sombra */
}

/* Efecto al hacer clic */
.php-email-form button[type="submit"]:active {
  transform: scale(0.98); /* Reduce un poco el tamaño */
}

.map-link {
  text-decoration: none;
  color: inherit; /* Mantiene el color original */
  transition: color 0.2s; /* Suaviza el cambio de color */
}

.map-link:active {
  color: #FF6B00; /* Color naranja al hacer clic */
}

/* Opcional: Efecto hover */
.map-link:hover {
  text-decoration: underline;
}
/*--------------------------------------------------------------
# Botones de scroll
--------------------------------------------------------------*/

/* Botones de scroll */
.scroll-arrow {
  position: fixed;
  right: 25px;
  bottom: 25px;
  z-index: 99;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.arrow-btn {
  width: 50px;
  height: 50px;
  background: rgba(0, 0, 0, 0.7);
  border: none;
  border-radius: 50%;
  color: white;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}

.arrow-btn:hover {
  background: rgba(0, 0, 0, 0.9);
  transform: scale(1.1);
}

.arrow-btn svg {
  width: 24px;
  height: 24px;
}

/* Ocultar botón de subir al principio */
#scrollUp {
  opacity: 0;
  pointer-events: none;
}

/* Adaptación para móviles */
@media (max-width: 768px) {
  .scroll-arrow {
    right: 15px;
    bottom: 15px;
  }
  .arrow-btn {
    width: 40px;
    height: 40px;
  }
}