html, body {
  margin: 0;
  padding: 0;
  overflow-x: hidden; /* Evita scroll horizontal si algo se descuadra */
}

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&display=swap');


body {
    font-family: 'Montserrat', sans-serif;
    margin: 0;
    padding: 0;
}

h1, h2, h3, h4, h5, h6, p, a, span, div, button, input, textarea {
    font-family: 'Montserrat', sans-serif;
}

h1{

  font-size: 35px;   
  color:#093f66;

}

h2{
  
  font-size: 20px; 
  color: #558cb7;
  letter-spacing: 1px; 
}


.page-content {
    margin-top: 150px;
    background-color: #e9edf0;
    padding-top: 20px;
}

.page-content2{

  margin-top: 100px;
  background-color: #e9edf0;

}

.page-content3{

 display:flex;
 flex-direction: column;
 padding-top: 80px;

}

.page-content4{

  display:flex;
  flex-direction: column;
  margin-top: 80px;
  background-color: #e9edf0;
  padding-bottom: 60px
 
 }


.mobile-phrase-container {
  display: none;
}


.contenidor-titol{

    padding-left: 130px;
  
}

.contenidor-titol-ofertes{

  text-align: center;
}


@media (min-width: 768px) {
    .container {
        max-width: 750px;
    }
}


@media (min-width: 992px) {
    .container {
        max-width: 970px;
    }
}

@media (min-width: 1200px) {
    .container {
        max-width: 1200px;
    }
}

.text-left {
    text-align: left;
  }
  
  .text-center {
    text-align: center;
  }
  
  .text-right {
    text-align: right;
  }

/* Barra de navegación overlay */
.navbar-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1100;
    background: transparent;
    /* Fondo transparente por defecto */
    transition: background 0.3s ease-in-out;
    /* Efecto suave al cambiar el fondo */
    padding: 2px 0 0 68px;
    height: 80px; /* Ajusta la altura mínima de la barra */
    display: flex;
    align-items: center; /* Centra el contenido verticalmente */
  }
  
  /* Cuando se hace scroll, cambiará el fondo */
  .navbar-overlay.scrolled {
    background: rgba(85, 140, 183, 0.7) 
    /* Fondo negro con 70% de opacidad */
  }

  /* En algunas páginas (como socis.php), la barra debe ser SÓLIDA desde el principio */
.navbar-overlay.navbar-solid {
    background: #558cb7; /* Color azul desde el inicio */
    border-bottom: 0.5px inset #093f66;
}
  
  .navbar-overlay .container {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    height: 100%;
    
  }
  
  /* Logo de la barra de navegación */
  .navbar-brand img {
    max-height: 60px;
    /* Ajusta el tamaño del logo */
  }
  
  /* Estilos para el menú */
  .navbar-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    margin-left: 20px;
    /* Separa el menú del logo */
  }
  
  .navbar-menu li {
    position: relative;
    margin: 0 15px;
    display: flex;
    align-items: center;
    padding: 0 15px;
}

/* Línea a la derecha de cada elemento (excepto el último) */
.navbar-menu li:not(:last-child)::after {
    content: "";
    position: absolute;
    right: -15px; /* Ajusta la distancia de la línea */
    top: 50%;
    height: 15px;
    width: 0.6px;
    background-color: #000;
    transform: translateY(-50%);
}

/* Línea a la izquierda de cada elemento (excepto el primero) */
.navbar-menu li:not(:first-child)::before {
    content: "";
    position: absolute;
    left: -15px; /* Ajusta la distancia de la línea */
    top: 50%;
    height: 15px;
    width: 0.6px;
    background-color: #000;
    transform: translateY(-50%);
}
  
  .navbar-menu li a {
   
        color: #fff;
        text-decoration: none;
        font-size: 18px;
        font-weight: 600;
        transition: color 0.3s, border-bottom 0.3s;
    }
  
    /* Subrayado para la opción activa */
    .navbar-menu li a.active {
        position: relative;
    }

    .navbar-menu li a:hover {
        color: #ccc;
    }

    .navbar-menu li a.active::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: -5px;
        width: 100%;
        height: 1.5px;
        background-color: #fff;
    }

/* ===============================
   NUEVO: Menú hamburguesa en móvil
   =============================== */

/* Oculto en escritorio */
.menu-toggle {
  display: none;
  flex-direction: column;
  cursor: pointer;
  padding: 10px;
}

.menu-toggle span {
  height: 2px;
  width: 25px;
  background: #fff;
  margin-bottom: 5px;
  border-radius: 5px;
}

/* Al hacer click, .active-menu mostrará el menú en móvil */
.navbar-menu.active-menu {
  display: block;
}

/* ====== Media Query para pantallas móviles ====== */


@media (max-width: 576px) {
 
  .navbar-brand {
    display: none;
  }
  
    .menu-toggle {
      display: flex;
      /* Ejemplo: moverlo 20px a la izquierda */
      margin-left: -60px; 
    }
  
  .navbar-menu {
      display: none; /* Ocultamos el menú por defecto en móvil */
      position: absolute;
      top: 80px; /* Justo debajo del navbar */
      width: 100%;
      right: 0;
      background-color: #558cb7;
      flex-direction: column;
      align-items: center;
      padding: 20px 0;
      z-index: 9999;
  }
  .navbar-menu li {
      margin: 10px 0;
      border: none; /* Si no quieres las líneas verticales en móvil */
  }
  .navbar-menu li a {
      color: #fff;
      font-size: 16px;
      font-weight: 400;
      line-height: 2;     /* Más espacio entre líneas */
  }
  .navbar-menu li a.active::after {
    bottom: 0;
}
}

/*Media query Home y general*/

@media (max-width: 576px) {

  .page-content {
    margin-top: 80px; /* o el valor que quieras */
  }

     /* Contenedor y texto azul oscuro */
     .mobile-phrase-container {
      display: block;
      background-color: #202f3d;
      text-align: center;
      padding: 20px;
    }
    .mobile-phrase-container h1 {
      color: #fff;
      text-transform: uppercase;
      margin: 0;
      padding: 40px 60px;
      font-size: 0.8rem; /* Ajusta el tamaño si lo deseas */
      font-weight: 600;
      line-height: 1.3rem;
    }
  
    .carousel-logo {
      max-width: 160px;
      margin-bottom: 20px;
      z-index: 2;
}
    
}    





/*Estilos contenedor y cards de Socis */

.socios-container {
    display: grid;
    grid-template-columns: repeat(4, minmax(250px, 1fr));
    gap: 30px 20px;
    padding: 20px 135px;
    justify-content: flex-start; 
}

.socio-card {
    background: #fff;
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    text-align: center;
    padding-bottom: 20px;
    width: 90%; /* Ajusta el ancho de la card */

}

.socio-card img {
    width: 100%;
    height: 230px;
    object-fit: cover;
}

.socio-info {
    padding: 15px;
    height: 160px;
    padding: 5px 15px; /* Mantiene el padding para que no toque los bordes */
    text-align: left; /* Alinea el texto a la izquierda */
}

.socio-info h3 {
    color: #093f66;
    font-size: 15px;
    margin-bottom: 10px;
}

.socio-info p {
    color: #093f66;
    font-size: 12px;
    margin: 5px 0;
}

.socio-info a {
    color: #093f66;
    font-size: 12px;
    text-decoration: none;
    margin: 5px 0;
}

.socio-info a:hover {
    text-decoration: underline;
}


/* ===============================
   Media queries para responsive
   =============================== */

   @media (max-width: 768px) {
    .contenidor-titol h1 {
      display: none;
    }
  }
  

/* De 4 columnas a 2 columnas en pantallas medianas */
@media (max-width: 992px) {
  .socios-container {
      grid-template-columns: repeat(2, minmax(250px, 1fr));
      padding: 20px; /* Ajusta márgenes laterales */
  }
}

/* De 2 columnas a 1 columna en móvil */
@media (max-width: 576px) {
  .socios-container {
      grid-template-columns: 1fr;
      gap: 20px 0;
      padding: 0 20px;
  }
  .socio-card {
      display: flex;           /* Layout horizontal */
      flex-direction: row;
      align-items: flex-start;
      background: transparent; /* Quita el fondo blanco si deseas */
      box-shadow: none;        /* Quita la sombra */
      border-bottom: 1px solid #000; /* Separador negro */
      padding-bottom: 10px;
      margin-bottom: 10px;
      width: 100%;
  }
  .socio-card img {
      width: 80px;
      height: 80px;
      object-fit: cover;
      margin-right: 15px;
  }
  .socio-info {
      padding: 0 15px 0 0;
      height: auto; /* Deja que crezca según contenido */
      word-wrap: break-word; 
      overflow-wrap: break-word;
  }
  .socio-info h3 {
      font-size: 16px;
      font-weight: 700;
      margin: 0 0 5px 0;
  }
  .socio-info p {
      font-size: 14px;
      margin: 3px 0;
  }
}


/*Estilos de los filtros de Socis */

.filter-container {
    margin-left: 130px; /* Conserva la alineación con menú y título */
    margin-bottom: 45px;
    margin-top: -20px;
   
  }
  
 
  /* Botones: se usa inline-flex para centrar el texto internamente */
  .filter-btn {
    background: none;        
    color: #000;             
    border: none;            
    padding: 0 0px;
    margin: 0;
    font-size: 14px;
    cursor: pointer;
    text-transform: uppercase;
    transition: color 0.3s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: lighter;
  }
  
  /* Separador vertical entre botones */
  .filter-btn:not(:last-child)::after {
    content: "|";
    margin: 0 10px;
    color: #000;
  }
  
  /* Efecto hover y estado activo */
  .filter-btn:hover {
    color: #093f66;
  }
  
  .filter-btn.active {
    color: #093f66;
    font-weight: bold;
  }
  
  /* NUEVO: Clases para iconos y texto en los filtros */
.filter-icon {
  display: none; /* Oculto por defecto en escritorio */
}
.filter-text {
  display: inline-block; /* Texto visible en escritorio */
}

/* En pantallas móviles: ocultar texto y mostrar iconos */
@media (max-width: 768px) {
  .filter-icon {
    display: inline-block;
    width: 40px;
    margin-right: 5px;
  }
  .filter-text {
    display: none;
  }

  .filter-btn:not(:last-child)::after {
    content: none;
  }

  .filter-container {
    display: flex;                /* Ponemos flex para alinear en una fila */
    justify-content: space-evenly;/* Reparte espacio entre iconos */
    align-items: center;          /* Centra verticalmente */
    padding: 10px 20px;             /* Pequeño padding para separar del borde */
    margin-left: 0 !important;    /* Sobrescribe el margin-left de escritorio */
    margin-top: 0 !important;     /* Sobrescribe el margin-top de escritorio */
    margin-bottom: 20px;          /* Ajusta si quieres más o menos espacio */
    border-radius: 8px;           /* Opcional: un poquito de curvatura */
    /* border: 1px solid #ccc;  // Si quieres un borde gris alrededor */
  }
  .filter-btn[data-filter="tots"] {
    display: none; /* Oculta el botón de TOTS en pantallas <= 768px */
  }

  .filter-btn {
    /* Cada botón será su propia “tarjeta” */
    background-color: #fff;
    border-radius: 12px; /* Ajusta la curvatura */
    padding: 10px;       /* Espacio interno */
    margin: 5px;         /* Espacio entre botones */
    display: flex;       /* Para centrar icono dentro */
    align-items: center;
    justify-content: center;
    width: 60px;         /* Tamaño fijo si quieres un cuadrado */
    height: 60px;        /* Ajusta el alto si quieres un cuadrado exacto */
  }

  .filter-btn.active {
    border: 2px solid #558cb7; /* o el color que prefieras */
    background-color: #f8f8f8;  /* Opcional: un color de fondo sutil */
  }

}


  /* EstilosbBanner texto Home */

  .absolute-position-1 {
    padding-top: 450px;
  }

  
/*
@media (min-width: 768px) {
    .big {
      font-size: 6px;
    }
  }
  
  @media (min-width: 992px) {
    .big {
      font-size: 80px;
    }
  }
  
  @media (min-width: 1281px) {
    .big {
      font-size: 24px;
      line-height: 12px;
    }
  } */

.adjusted-banner {
    /* Mueve el contenido 20px hacia abajo (ajusta este valor según necesites) */
    top: 20px;
    /* Si es necesario, reduce el tamaño con una escala, por ejemplo al 90% */
    transform: scale(0.9);
    /* Asegúrate de que la transformación se realice desde el centro superior */
    transform-origin: top center;
  }



  
  /* Contenedor centralizado */
.custom-container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}

/* HEADER/CAROUSEL */
.home-image {
    width: 100%;
    height: auto;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

.header-container {
    position: relative;
    height: 100vh;  /* ocupa toda la altura de la ventana */
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 576px) {

.header-container {
        
  height: 80vh;  /* ocupa toda la altura de la ventana */
  display:block;
}
}

.header-content {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.carousel-logo {
    max-width: 160px;
    margin-bottom: 20px;
}

.header-text {
    font-size: 1.2rem; /* Ajusta según necesites */
    color: #000;
    font-weight: 500; 
    max-width: 300px;  /* limita el ancho para que el texto salte de línea */
    margin: 0 auto;    /* opcional, para centrarlo */
    line-height: 1.3;  /* ajusta el espaciado vertical si quieres */
    /* white-space: normal;  // solo si hiciera falta forzar el salto de línea */
    text-transform: uppercase;
}

@media (max-width: 576px) {

  .header-text {
          
    display:none;
  }

  .carousel-logo {
    
    margin: 200px 0 0 0;
}


  }

/* FRANJA AZUL */
.franja-azul {
    background-color: #174663; /* o el color que necesites */
    color: #fff;
    padding: 100px 100px;
    text-align: center;
}

.franja-azul h2 {
  font-size: 2.5rem;   /* Ajusta el tamaño del título */
  line-height: 1.4;    /* Ajusta el interlineado del título */
  color: #fff; /* fuerza el color blanco, sobreescribiendo el h2 global */
}

.franja-azul p {
  font-size: 1.5rem;   /* Ajusta el tamaño del párrafo */
  line-height: 1.6;    /* Ajusta el interlineado del párrafo */
}

/*Media query franja azul home*/

@media (max-width: 576px) {


  .franja-azul {
      padding: 50px 50px;
  }
  
  .franja-azul h2 {
    font-size: 1.5rem;   /* Ajusta el tamaño del título */
  }
  
  .franja-azul p {
    font-size: 0.8rem;
    text-align: left;
  
  }
  
  }
  


/* SECCIÓN DE ASOCIADOS */
.asociados-section {
    padding: 40px 0;
    text-align: center;
}

.asociados-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 20px;
    margin-top: 20px;
}

.asociado-card {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    text-align: center;
    padding-bottom: 20px;
}

.img-wrapper img {
    width: 100%;
    height: auto;
    display: block;
}

.asociado-info a {
    display: block;
    background: #558cb7;
    color: #fff;
    text-decoration: none;
    padding: 10px;
    margin: 10px 0 0;
}

.asociado-info p {
    margin: 10px 0 0;
    color: #093f66;
    font-size: 14px;
}

/*Borsa de Treball*/

.ofertes-container{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px 40px;
  padding: 20px 150px;
  margin-bottom: 5rem;
}

.oferta-card{
  background: #fff;
  overflow: hidden;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  text-align: left;
  width: 93%;
  height: auto;
}

.oferta-logo {
  width: 100%;
  height: 100px;              /* Altura fija de 100px */
  background-color: #fff;     /* Fondo blanco en caso de que no haya logo */
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px 0px 10px 0px;
}

.oferta-logo img {
  width: 80%;
  height: 100%;
  object-fit: contain;        /* Ajusta la imagen para ocupar todo el contenedor sin recortar */
}

.oferta-foto{
  width: 100%; 
  height: 300px; 
  overflow: hidden;
  margin-bottom: 15px;
}

.oferta-foto img{
  width: 100%; 
  height: 100%; 
  object-fit: cover;
}

.oferta-content{
  padding: 15px 15px 50px 15px;
}

.text-oferta {
  color: #093f66;
  font-size: 12px;
  margin: 5px 0;
  
 
}

.titol-oferta{
  display: block;
  color: #093f66; 
  font-size: 24px; 
  font-weight: bold;
  margin-bottom: 8px;
  padding: 0 15px 0 15px;
}

.fixe-oferta{
  color: #093f66;
  font-size: 15px;
  font-weight: bold;
}

.desc-oferta {
  line-height: 1.1rem; /* Ajusta el valor según lo que necesites */
}

@media (max-width: 576px) {

  /* Contenedor principal: de 3 columnas pasamos a 1 sola */
  .ofertes-container {
    display: flex;              /* o bien podrías seguir usando grid con 1 columna */
    flex-direction: column;
    align-items: center;        /* centra horizontalmente las cards */
    gap: 20px;                  /* espacio entre cards */
    padding: 10px 0;            /* ajusta según quieras */
  }

  /* Cada card ocupa menos que el 100% y se centra */
  .oferta-card {
    width: 90%;                 /* ajusta si quieres más o menos margen lateral */
    margin: 0 auto;            /* para centrarla */
  }

  /* Ocultamos la foto de la oferta en móvil */
  .oferta-foto {
    display: none;
  }

  /* El fondo de la parte de texto pasa a #dcf3ff */
  .oferta-content {
    background-color: #f5fdff;
    padding: 15px; /* puedes ajustar el padding si lo deseas */
    
  }

  .titol-oferta{
    display: block;
    color: #093f66; 
    background-color: #f5fdff;
    font-size: 14px; 
    margin-bottom: 0;
    padding-top: 15px;
   
  }

  .text-oferta {
    color: #093f66;
    font-size: 10px;
    margin: 5px 0;
  }

  .fixe-oferta{
    font-size: 11px;

  }

  .oferta-logo {
    width: 100%;
    height: 60px;              /* Altura fija de 100px */
  }
  
}

/*Franja blava ofertes */
.container-franja{
  background-color: #174663; 
  color: #fff; 
  text-align: center;
  width: 100vw;  /* Hace que la franja ocupe todo el ancho de la pantalla */
  height: 30rem;
  margin: 0;     /* Asegura que no haya márgenes que puedan reducir el ancho */
  padding-bottom: 5rem;
  display: flex;
  flex-direction: column;
  align-items: center;  /* Centra horizontalmente */
  justify-content: space-evenly; /* Distribuye el contenido equitativamente */
  text-align: center;
}

.titol-franja{
  font-size: 35px; 
  color:#fff;
  font-weight: 800;
  letter-spacing: 1.5px; 
  margin-bottom: 0.5rem; /* Espacio entre el título y el siguiente elemento */
}

.text-franja{
  max-width: 80%; /* Permite que el texto ocupe más espacio */
  width: 75%; /* Ajusta el ancho del texto dentro de la franja */
  margin: 0 auto 30px;
  color:#fff;
  text-align: justify; /* Asegura que el texto dentro esté centrado */
  margin-top: 30px;
  font-size: 20px;
  line-height: 1.5; /* Aumentamos la separación entre líneas */
}

.btn-franja{
  background-color: #ffb158; 
  color: #000; 
  padding: 20px 50px; 
  text-decoration: none; 
  font-weight: bold;
  border-radius: 55px;
}

.segon-titol-ofertes{
  font-size: 20px; 
  color:#fff;
  font-weight: 800;
  letter-spacing: 1px; 
}

@media (max-width: 576px){

  .contenidor-titol-ofertes h1 {
    font-size: 28px;
  }
  .contenidor-titol-ofertes h2 {
    font-size: 14px;
  }
  
  .container-franja{

    padding: 5rem 0;
    justify-content: flex-start;
    height: 20rem;

  }

  .titol-franja{
    font-size: 30px; 
  }

  .segon-titol-ofertes{
    font-size: 20px; 
     
  }
  .text-franja{

    font-size: 15px;
  
  }

  .btn-franja{
  
    padding: 20px 25px; 
   
  }


}

/* Estilos footer */

/* Contenedor principal del footer */
.footer-container {
  background-color: #ffffff; /* Fondo blanco */
  padding: 50px 0;          /* Espaciado superior e inferior */
}

/* Contenedor interno para organizar el contenido */
.footer-content {
  max-width: 1400px;        /* Ancho máximo */
  margin-left:auto;
  margin-right:auto;
  display: flex;            /* Coloca elementos en línea horizontal */
  justify-content: center; /* Espaciado entre elementos */
  align-items: top;      
  gap: 50px; /* Espacio entre elementos */
}

/* Segundo contenedor con flex */
.footer-content2 {
  max-width: 1400px;        /* Ancho máximo */
  margin-left:auto;
  margin-right:auto;
  display: flex;            /* Coloca elementos en línea horizontal */
  justify-content: flex-start; /* Espaciado entre elementos */
  align-items: top;      
  gap: 50px; /* Espacio entre elementos */
}

.footer-content3 {
  max-width: 1400px;        /* Ancho máximo */
  margin-left:auto;
  margin-right:auto;
  display: flex;            /* Coloca elementos en línea horizontal */
  justify-content: flex-start; /* Espaciado entre elementos */
  align-items: top;      
  gap: 50px; /* Espacio entre elementos */
}
/* Sección del logo */
.footer-logo img {
  width: 70px;         /* Ajusta el tamaño según tus necesidades */
  height: auto;
}

/* Sección de contacto */
.footer-contact {
  text-align: left;
  border-left: 2px solid #ffb158; /* Barra vertical */
  display: flex;
  flex-direction: column; /* Mantiene el texto en columna */
  justify-content: center; /* Centra verticalmente dentro de su bloque */
  padding: 0 30px 0 30px;
  border-left: 2px solid #ffb158;
  border-right: 2px solid #ffb158;
  height: 100%; /* Asegura que tengan la misma altura */
  min-height: 50px; /* Ajusta si es necesario */
  min-width: 200px; 
}

.footer-contact p, .footer-support p{
  margin: 5px 0;            /* Ajuste del espacio entre párrafos */
  
}

/* Sección de soporte */
.footer-support {
  text-align: left;
  display: flex;
  align-items: center;
  margin-bottom: 0;
  margin-left:30px;
 
}


/* Contenedor wrapper para todas las filas de logos */
.footer-logos-wrapper {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Cada fila de logos */
.footer-logos-row {
  display: flex;
  gap: 15px;
  align-items: center;
  margin: 0 30px;
}



/* Contenedor que agrupa los 4 logos */
.support-logos {
  display: flex;
  
  
}


.support-logos img {
  /* Ajusta el tamaño de los logos a tu gusto */
  width: 100%; 
  height: 90px;
  object-fit: contain;
}



/*Logo patronal*/
.support-logos2 {
  display: block;

  
}

.support-logos2 img {
  /* Ajusta el tamaño de los logos a tu gusto */
  width: 100%; 
  height: 30px;
  object-fit: contain;
}


/* Contenedor que agrupa los 4 logos */
.support-logos3 {
  display: flex;

}

.support-logos3 img {
  /* Ajusta el tamaño de los logos a tu gusto */
  width: 100%; 
  height: 70px;
  object-fit: contain;
}

/* Filas móviles ocultas por defecto */
.footer-logos-row2,
.footer-logos-row3 {
  display: none;
}

/* Adaptación móvil para footer */
@media (max-width: 768px) {
  .footer-content2 {
    display: flex;
    flex-direction: column;
    gap: 15px;
  }

  .footer-logos-row2,
  .footer-logos-row3 {
    display: flex;
    justify-content: center;
  }

  .footer-logos-row,
  .footer-logos-row2,
  .footer-logos-row3 {
    margin: 0 10px;
    gap: 8px;
  }

  /* Ocultar logos específicos en la primera fila en móvil */
  .footer-logos-row .hide-mobile {
    display: none !important;
  }

  .support-logos img {
    height: 60px;
  }

  .support-logos2 img {
    height: 25px;
  }

  .support-logos3 img {
    height: 40px;
  }

  /* Ajustar tamaños en las filas móviles */
  .footer-logos-row2 .support-logos img {
    width: 90%;
    height: auto;
    max-height: 80px;
  }

  .footer-logos-row3 .support-logos3 img {
    height: 35px;
    max-width: 80px;
  }
}

.accions-section {
  width: 100vw; /* Ocupar el 100% del ancho de la pantalla */
  max-width: 100%; /* Asegura que no haya márgenes laterales inesperados */
  display: flex;
  flex-direction: row;
  align-items: center; /* Alinea verticalmente los elementos */
  justify-content: center; /* Asegura que el contenido se mantenga centrado */
  gap: 50px; /* Espacio entre imagen y texto */
  box-sizing: border-box; /* Evita que el padding afecte el ancho total */
  background-color: #e9edf0;
}

.accions-section2 {
  width: 100vw; /* Ocupar el 100% del ancho de la pantalla */
  max-width: 100%; /* Asegura que no haya márgenes laterales inesperados */
  display: flex;
  flex-direction: row;
  align-items: stretch; /* Alinea verticalmente los elementos */
  justify-content: center; /* Asegura que el contenido se mantenga centrado */
  gap: 50px; /* Espacio entre imagen y texto */
  box-sizing: border-box; /* Evita que el padding afecte el ancho total */
  background-color: #174663;
}


/* Imagen */
.accions-image {
  line-height: 0;
  flex: 1;
  max-width: 40%; /* Ajusta el tamaño */
  height: 700px;
}

.accions-image2 {
  line-height: 0;
  flex: 1;
  max-width: 40%; /* Ajusta el tamaño */
  height: 100%;
}


.accions-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  
}

.accions-image2 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  
}



/* Contenedor del texto */
.accions-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
  padding: 80px;
  
}

.accions-title {
  font-size: 40px;
  font-weight: bold;
  color: #174663;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 3px;
}

.accions-title2 {
  font-size: 40px;
  font-weight: bold;
  color: #fff;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 3px;
}


.accions-description {
  font-size: 18px;
  line-height: 1.5;
  color: #3f3f3f;
  font-weight: 200;
  
}

.accions-description2 {
  font-size: 18px;
  line-height: 1.5;
  color: #fff;
  font-weight: 200;
  
}

.accions-description2 a {
  color: #fff;
  text-decoration: underline;
  font-weight: 200;

}


/* Estilos del botón */
.accions-button {
  background-color: #ffac58;
  color: #000;
  text-decoration: none;
  font-weight: bold;
  font-size: 14px;
  padding: 15px 30px;
  border-radius: 50px;
  display: inline-block;
  transition: background-color 0.3s ease;
  display: inline-block; /* Ya está en el código, pero asegúrate de que se mantiene */
  width: auto; /* Evita que herede un ancho forzado */
  max-width: fit-content; /* Asegura que solo ocupe el ancho del texto */
 
}

/*Contacte*/

.cap_contacte{

  width: 100%;
  height: 150px;
  display: flex;
  background-color: #e9edf0;
  color:#093f66;
  font-size: 45px;
  font-weight: 800;
  letter-spacing: 3.5px;
  align-items: center;
  justify-content: center;
}



/* Ajusta el contenedor general para que ambas columnas tengan la misma altura */
.contenido-contacte {
  display: flex;
  align-items: stretch; /* Fuerza que ambas columnas tengan la misma altura */
  width: 100%;         /* Ocupa el 100% del ancho disponible */
  min-height: 500px;
}

/* Columna izquierda */
.texto-contacte {
  background-color: #174663; /* Fondo */
  color: #fff;           /* Color de fuente */
  flex: 2;                  /* Más ancha que la derecha */
  padding: 60px 100px 100px 100px;
  font-size: 18px;          /* Ajusta según tus preferencias */
  line-height: 1.6;
  letter-spacing: 0.5px;
  display: flex;                /* Para poder usar justify/align */
  flex-direction: column;       /* Colocar párrafos en columna */
  align-items: flex-start;          /* Centra horizontalmente */
  justify-content: flex-start;   
}

/* Columna derecha */
.contacto-section {
  background-color: #d0dbdd;
  color: #093f66;
  flex: 1;                  /* Columna más estrecha */
  padding: 30px 30px 30px 65px;
  display: flex;            /* Para alinear el contenido y el botón */
  flex-direction: column;
  align-items: center;  /* O 'center' si prefieres centrar todo horizontalmente */
  justify-content: center;  /* Centra verticalmente (puedes usar flex-start si quieres arriba) */
  gap: 30px; 
}

/* Contenedor de la información de contacto */
.contact-info {
  line-height: 70px;
}

/* Cada fila de icono + texto */
.info-item {
  display: flex;
  align-items: center;
  margin-bottom: 25px;
}

.info-item img {
  width: 32px;     /* Tamaño reducido del icono */
  height: auto;
  margin-right: 20px;
}

/* Botón para hacerse socio */
.btn-soci {
  background-color: #ffb158; 
  color: #000; 
  padding: 20px 30px; 
  text-decoration: none; 
  font-weight: bold;
  border-radius: 55px;
  display: inline-flex;
  align-items: center;    /* Centra verticalmente */
  justify-content: center;/* Centra horizontalmente */
  width: 150px; 
}

.btn-soci:hover {
  background-color: #ffa14a; /* Efecto hover */
}

/* Por defecto, ocultamos el botón móvil y mostramos el escritorio */
.btn-movil-only {
  display: none; 
}

@media (max-width: 576px){

  .btn-desktop-only {
    display: none;
  }

  .btn-movil-only {
    display: inline-flex;
    margin: 30px auto;    /* Centrar horizontalmente */
    font-size: 12px;
    padding: 15px 40px; 
    border-radius: 30px;
    width: auto;       /* Se ajusta al contenido */
  }

  .cap_contacte{

    height: 110px;;

  }

  .cap_contacte h1 {
    font-size: 40px; /* Para que se vea más grande en móvil, como pediste */
  }


/* Contenedor principal de las dos columnas */
.contenido-contacte {
  display: flex;
  align-items: stretch; 
  width: 100%;         
  min-height: 500px;   /* altura aproximada en escritorio */
  flex-direction: column;
  min-height: auto;
}

/* Ambos bloques ocupan todo el ancho */
.texto-contacte, 
.contacto-section {
  width: 100%;
  font-size: 23px;   /* Ajuste de fuente */
  line-height: 1.4;
  padding: 20px;     /* Ejemplo de padding en móvil */
  box-sizing: border-box;
}
/* Y el texto alineado a la izquierda en la parte de texto */
.texto-contacte {
  text-align: left;
  order: 2; /* En móvil, texto después */
  font-size: 18px;  /* Ajusta a tu gusto, p.ej. 16px */
  line-height: 1.6;
  font-weight: lighter;
  padding: 40px 70px 20px 40px;    /* más espacio horizontal */
  margin: 0;   
}

.contacto-section {
  order: 1; /* En móvil, contacto primero */
  align-items: flex-start; /* en lugar de center */
  padding: 30px;      /* más espacio horizontal */
}


.info-item span,
.info-item a {
  font-size: 18px;  /* También ajusta a tu gusto */
  font-weight: lighter;
}

.info-item {
  justify-content: flex-start; /* icono y texto pegados a la izquierda */
  margin-bottom: 0;
}

}

/* Estilos de las fotos con frases de la home */

/* Texto blanco centrado, Montserrat bold, 2rem */
.text-fotos {
  font-family: 'Montserrat', sans-serif;
  font-weight: bold;
  font-size: 2rem;
  color: #fff;
  text-align: center;
}

/* Sección para la segunda foto a pantalla completa */
.new-banner {
  width: 100%;
  height: 60vh; /* Ajusta según necesites (por ejemplo 50vh, 70vh, etc.) */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}

/* Centra el contenido en vertical y horizontal dentro de .new-banner */
.new-banner-content {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

/*Media query para fotos con texto de la Home */

@media (max-width: 576px){
 
  .text-fotos {
    font-size: 1.7rem;
  }


}


/*Sección Qué fem de la Home*/

/* Sección "Què fem" con fondo #dcf3ff y padding vertical */
.que-fem-section {
  width: 100%;
  background-color: #174663;
  padding: 60px 0; /* Ajusta el espacio arriba y abajo */
  
}



/* Título centrado en la sección "Què fem" */
.que-fem-title {
  text-align: center;
  font-size: 2.2rem; 
  color: #fff; /* Ajusta si quieres otro color */
  margin-bottom: 70px; /* Espacio debajo del título */
  text-transform: uppercase;

}


/* Contenedor de las 4 cards en rejilla */
.que-fem-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px 20px; /* Ajusta la separación horizontal y vertical */

}

.quefem-card{

  background: #fff;
  overflow: hidden;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  text-align: center;
  padding-bottom: 20px;
  width: 90%; /* Ajusta el ancho de la card */
}


.quefem-card img {
  width: 100%;
  height: 230px;
  object-fit: cover;
}

/* Texto "veure més" debajo del texto principal de la card */
.veure-mes-text {
  margin-top: 10px;
  color: #093f66; 
  font-size: 14px;
  font-weight: 600;
  /* Puedes añadir subrayado o estilo hover si deseas */
}

.quefem-info{
  line-height: 1.8;  /* Más espacio entre líneas */
  text-align: center;
  padding: 15px;
  height: 160px;
  padding: 5px 15px; /* Mantiene el padding para que no toque los bordes */
  text-align: left; /* Alinea el texto a la izquierda */
}


.quefem-info h3 {
  color: #093f66;
  font-size: 15px;
  margin-bottom: 10px;
}

.quefem-info p {
  color: #093f66;
  font-size: 12px;
  margin: 5px 0;
}

.quefem-info a {
  color: #093f66;
  font-size: 12px;
  text-decoration: none;
  margin: 5px 0;
}

.quefem-info a:hover {
  text-decoration: underline;
}


/*Media query per secció què fem*/

/*Media query que fem*/

/* -- Primer salto: 4 a 2 columnas -- */
@media (max-width: 992px) {
  .que-fem-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* -- Segundo salto: estilo "foto fondo" en móvil -- */
@media (max-width: 576px) {
  /* 1) Cambiamos el contenedor a 1 columna */
  .que-fem-cards {
    grid-template-columns: 1fr;
  }

  /* 2) Hacemos que cada card sea un contenedor cuadrado,
     con la imagen en posición absoluta */
     .quefem-card {
      position: relative;
      width: 100%;
      /* truco para cuadrado basado en ancho: */
      padding-top: 100%; /* El alto será igual al ancho */
      margin-bottom: 20px; 
      overflow: hidden; /* Para que la imagen no se desborde */
      background-color: #ccc; /* color de fondo si la imagen tarda en cargar */
    }


    /* 3) Posicionamos la imagen como fondo absoluto */
    .quefem-card img {
      position: absolute;
      top: 0; left: 0;
      width: 100%; 
      height: 100%;
      object-fit: cover; 
    }

        /* 4) Convertimos la .socio-info en una cajita blanca centrada */
        .quefem-info {
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          background: #fff;
          width: 80%;
          padding: 20px 0;
          box-shadow: 0 2px 5px rgba(0,0,0,0.1);
          text-align: center;  /* Centrado de texto dentro de la caja */
          z-index: 2;          /* Aseguramos que esté sobre la imagen */
        }
        

        /* Opcionalmente ajusta tipografías aquí */
        .quefem-info h3 {
          font-size: 1rem; 
          margin-bottom: 20px;
        }
        .quefem-info p {
          font-size: 0.9rem;
          margin-bottom: 20px;
        }

        .que-fem-section {

          padding: 30px 0; /* Ajusta el espacio arriba y abajo */
          
        }

        .que-fem-title {

          font-size: 1.7rem; 

        
        }

} /*Fin media query quefem */


/*Estilos associats en home */

/* Sección "Associats Home" con fondo #dcf3ff y ancho completo */
.associatshome-section {
  width: 100%;
  background-color: #e9edf0;
  padding: 60px 0; /* Ajusta el espacio arriba/abajo */
}


/* Título centrado en la sección "Què fem" */
.associat-title {
  text-align: center;
  font-size: 2.2rem; 
  color: #174663; /* Ajusta si quieres otro color */
  margin-bottom: 70px; /* Espacio debajo del título */
  text-transform: uppercase;

}



/* Contenedor con 5 bloques en una fila */
.associatshome-blocks {
  display: grid;
  grid-template-columns: repeat(5, 1fr); /* 5 columnas iguales */
  gap: 30px 20px; 
  align-items: center;
  justify-items: center;
  margin-top: 40px;
}

/* Cada bloque: imagen + texto + símbolo '+' */
.associatshome-block {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Ajustamos el tamaño del SVG */
.associatshome-block img {
  width: 60px;   /* Ajusta según lo grande que quieras el icono */
  height: auto;
  margin-bottom: 15px;
}

/* Texto debajo de la imagen y el símbolo '+'
   (mismo estilo en una sola clase) */
.associatshome-text {
  color: #093f66;
  font-size: 18px;
  letter-spacing: 1px;      /* Espaciado entre letras */
  text-transform: uppercase; 
  text-decoration: none;    /* Quita subrayado del enlace '+' */
  margin: 6px 0;            /* Espacio vertical entre texto e ícono */
}


/*Media query associats home*/

@media (max-width: 992px) {
  .associatshome-blocks {
    grid-template-columns: repeat(2, 1fr);
  }
}



/* Segundo salto: móvil (por ejemplo <= 576px) */
@media (max-width: 576px) {
  /* 1) 1 columna */
  .associatshome-blocks {
    grid-template-columns: 1fr;
  }

  /* 2) Cada bloque se vuelve un rectángulo blanco */
  .associatshome-block {
    position: relative;        /* Para posicionar el <a> en absoluto */
    width: 80%;
    height: 100px; 
    background: #fff;          /* Fondo blanco */
    border-radius: 10px;       /* Borde redondeado */
    padding: 20px;             /* Espacio interno */
    box-shadow: 0 2px 5px rgba(0,0,0,0.1); 
    margin-bottom: 20px;       /* Separación entre bloques */
    display: flex;             /* Para centrar icono/texto */
    flex-direction: column;    
    align-items: center;       
    text-align: center;
    justify-content: center; /* Agregado para centrar verticalmente */
  }

  /* Ajusta el icono */
  .associatshome-block img {
    margin-bottom: 10px;
    width: 80px; /* o lo que desees */
    height: auto;
  }

  /* Ajusta el texto (el p que pone Comerç, Serveis...) */
  .associatshome-block p.associatshome-text {
    margin-bottom: 0;
    font-size: 1.2rem; 
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #093f66;
    font-weight: 600;
  }

  /* 3) Ocultas el “+” pero sigues usando su <a> para todo el bloque */
  .associatshome-block a.associatshome-text {
    /* Haz que ocupe todo el bloque */
    position: absolute;
    top: 0; 
    left: 0;
    width: 100%; 
    height: 100%;

    /* Quita el “+” visualmente */
    color: transparent; 
    text-indent: -9999px; 
    overflow: hidden;
    /* Quita subrayado, etc. */
    text-decoration: none;
    cursor: pointer;
  }

  /* Opcional: hover en móvil */
  .associatshome-block:hover {
    background-color: #f7f7f7;
  }

  .associatshome-section {
    
    padding: 20px 0; /* Ajusta el espacio arriba/abajo */
  }

}


/*carrousel de logos en la home*/

/* Sección del carrusel con fondo blanco */
.logo-carousel-section {
  background-color: #fff;
  padding-top: 100px; /* Ajusta espacio arriba/abajo */
  display: flex;            
  justify-content: center;  
}

/* Ajusta el contenedor para que el Swiper no se desborde */
.logo-carousel {
  width: 90%;         /* Ajusta este % para hacerlo más o menos estrecho */
  max-width: 1300px;  /* Ajusta el tope de ancho */
  position: relative;
}

/* Ajusta el tamaño de las imágenes de los logos */
.logo-carousel .swiper-slide img {
  max-width: 120px; /* Ajusta según el tamaño que desees para los logos */
  height: auto;
  display: block;
  margin: 0 auto;   /* Centra la imagen en su slide */
}

.swiper-button-prev,
.swiper-button-next {
  /* Color base del icono */
  color: #333;  
  /* Ancho normal pero más alto */
  width: 40px;
  height: 80px;
  /* Posición absoluta centrada verticalmente */
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;  /* Asegura que queden por encima */
}


/* Ajusta si quieres un hover distinto en las flechas */
.swiper-button-prev:hover, .swiper-button-next:hover {
  color: #333;
}

/* Si quieres que las flechas estén más separadas de los logos, ajusta su posición: */
.swiper-button-prev {
  left: 80px !important  /* Mueve la flecha izquierda */
}

.swiper-button-next {
  right: 80px !important; /* Mueve la flecha derecha */
}

/* Ajustamos la pseudo-clase :after donde se dibuja el icono */
.swiper-button-prev::after,
.swiper-button-next::after {
  font-size: 2.5rem;   /* Ajusta el tamaño del icono */
  font-weight: 100;    /* Intenta hacer el trazo más fino (depende de la fuente) */
  color: #333;         /* Mismo color gris oscuro */
}


@media (max-width: 576px) {
  .logo-carousel-section {
    display: none;
  }
}


/*Estilos sección fes-te soci home */

.festesoci-section {
  width: 100%;
  background-color: #174663;
  padding: 60px 0;        /* Espacio vertical */
  text-align: center;     /* Centra el texto y botón horizontalmente */
}

.festesoci-content {
  display: flex;
  flex-direction: column;
  align-items: center;    /* Centra horizontalmente */
  justify-content: center;
  gap: 20px;              /* Espacio vertical entre elementos */
}

.festesoci-text {
  font-size: 1.5rem;
  line-height: 1.6;
  color: #fff;
  margin: 0 20px 40px 0; /* Opcional, si quieres margen horizontal */
  
}

.festesoci-title {
  text-align: center;
  font-size: 2.2rem; 
  color: #fff; /* Ajusta si quieres otro color */
  margin-bottom: 40px; /* Espacio debajo del título */
  text-transform: uppercase;

}

/* Botón para hacerse socio */
.btn-feste {
  background-color: #ffb158; 
  color: #000; 
  padding: 20px 30px; 
  text-decoration: none; 
  font-weight: bold;
  border-radius: 55px;
  display: inline-flex;
  align-items: center;    /* Centra verticalmente */
  justify-content: center;/* Centra horizontalmente */
  width: 150px; 
}

.btn-feste:hover {
  background-color: #ffa14a; /* Efecto hover */
}

/*Mediaquery fes-te soci*/

@media (max-width: 576px) {

.festesoci-section {
  padding: 10px 0;        /* Espacio vertical */
  gap: 5x;
}

.festesoci-text {
  font-size: 1rem;
  margin: 0;
}

.festesoci-title {

  font-size: 1.7rem; 
 
}

.btn-feste {

  padding: 20px 30px;  
  width: 150px; 
  margin-top: 20px;
  margin-bottom: 30px;
}

}


@media (max-width: 576px) {
  /* Aseguramos que el footer se muestre */
  .footer-container {
    display: block; /* o flex si prefieres */
    padding: 20px 0;
  }
  /* Permite que los elementos internos se distribuyan en varias filas */
  .footer-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
  }
  /* El logo y la información de contacto en la misma fila */
  .footer-logo,
  .footer-contact {
    flex: 1 1 45%;
    max-width: 15%;
    text-align: center;
  }
  .footer-contact {
    
    border-right: none;
}
  /* La sección de colaboradores (título) ocupa toda la fila */
  .footer-support {
    flex: 1 1;
    max-width: 100%;
    text-align: center;
    margin-left: 10px;
  }
  /* Los logos de colaboradores: los agrupamos en una fila y reducimos su tamaño */
  .support-logos {
    flex: 1 1;
    max-width: 100%;
    display: flex;
    justify-content: center;
    gap: 10px;
  }
  .support-logos img {
    width: 50px; /* Ajusta según lo que necesites */
    height: auto;
  }

  .support-logos2 {
    flex: 1 1;
    max-width: 100%;
    display: flex;
    justify-content: center;
    gap: 10px;
  }
  .support-logos2 img {
    width: 50px; /* Ajusta según lo que necesites */
    height: auto;
  }

  /* Reducimos el tamaño de la tipografía si hace falta */
  .footer-container p,
  .footer-container strong {
    font-size: 10px;
  }
}



/* Nuevas clases para la página “Planol” */

/* Contenedor para título y subtítulo específico */
.contenedor-titol-planol {
  text-align: center;
  padding: 50px;
}
.contenedor-titol-planol h1 {
  font-size: 35px;
  color: #093f66;
}
.contenedor-titol-planol h2 {
  font-size: 20px;
  color: #093f66;
}

/* Imagen centrada que ocupa el 70% de ancho */
.planol-img {
  display: block;
  margin: 0 auto;
  width: 70%;
}

/* Texto descriptivo debajo de la imagen */
.planol-text {
  text-align: left;
  font-size: 18px;
  color: #093f66;
  margin: 20px 220px;
  
}

/* Contenedor para centrar el botón */
.planol-button {
  text-align: center;
  margin-bottom: 20px;
  margin-top: 40px;
}

.btn-planol {
  background-color: #ffb158; 
  color: #000; 
  padding: 20px 30px; 
  text-decoration: none; 
  font-weight: bold;
  border-radius: 55px;
  
}

.btn-planol:hover {
  background-color: #ffa14a; /* Efecto hover */
}

/* Estilos responsive para el plano */

@media (max-width: 576px) {
  /* Que el contenedor principal ocupe toda la altura */
  .page-content4 {
    margin: 0;                /* Anula márgenes si los tenías en desktop */
    padding: 100px 20px 60px; /* Espacio arriba-lados-abajo */
    background-color: #e9edf0;
    min-height: 100vh;        /* Ocupa toda la altura de la pantalla */
    box-sizing: border-box;    /* Para que el padding no sume al alto total */
  }

  /* Título y subtítulo centrados con algo de margen inferior */
  .contenedor-titol-planol {
    text-align: center;
    padding: 20px 20px 0 20px;
  }
  .contenedor-titol-planol h1 {
    font-size:40px;
    margin-bottom: 20px; /* Separación entre H1 y H2 */
  }
  .contenedor-titol-planol h2 {
    font-size: 17px;
    margin-bottom: 25px; /* Separación entre H1 y H2 */
    padding: 0 18px;
   
  }

  /* Texto descriptivo: ancho más reducido, alineado a la izquierda */
  .planol-text {
    margin: 0 auto;
    padding-bottom: 30px;
    width: 85%;
    font-size: 18px;
    text-align: left;
  }

  /* Ocultamos la imagen en móvil */
  .image-container {
    display: none;
  }

  /* Botón centrado con algo más de margen arriba/abajo */
  .planol-button {
    padding: 20px 40px;
    font-size: 15px;
  }
  .btn-planol {
    padding: 20px 40px;
    font-size: 14px;
  }

  .button-container, .planol-button{

    margin-top:0px!important;

  }


}

/*Responsive accions*/

@media (max-width: 576px) {


 
    /* Solo le cambio el orden al bloque de la imagen en .accions-section2 */
    .accions-section2 .accions-image {
      order: -1;  /* Manda la imagen antes que el texto */
    }
  
    .accions-section2 .accions-image2 {
      order: -1;  /* Manda la imagen antes que el texto */
    }
    
  /* Para que cada sección (accions-section y accions-section2) 
     se apile en columna en lugar de en fila */
  .accions-section,
  .accions-section2 {
    flex-direction: column;
    gap: 0;               /* Elimina el espacio grande entre foto y texto */
    margin: 0;
    padding: 0;
  }

    .accions-image,
    .accions-image2 {
      flex: 0 0 auto;
      max-width: 100%; /* Anula el 40% */
      width: 100%;
      height: 300px;    /* O 60vh, lo que prefieras */
      overflow: hidden;
    }

    .accions-image img,
    .accions-image2 img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      
    }

    .accions-title,
    .accions-title2 {
      font-size: 28px;    /* Tamaño de fuente */
      margin-top: 30px;   /* Espacio extra por encima */
      letter-spacing: 1px;
    }

  /* El texto se pone debajo de la foto, ocupando todo el ancho,
     con algo de padding para que no toque los bordes */
  .accions-text {
    width: 100%;
    padding: 20px 30px 20px 40px;
    box-sizing: border-box;
    text-align: left;     /* Alineación a la izquierda */
   
  }

  .accions-button {
    display: block;       /* Para que margin: 0 auto funcione */
    margin: 10px auto 30px auto;   
                            
  }

}
