 html, body{overflow-x: hidden!important;}

.menu-item-has-children a{font-size: 1.2em;}


/* home */

.btn_noti_home::before {
 content: "";
    position: absolute;
    top: -30px;
    right: -38px;
    width: 150px;
    height: 100px;
    background: url(https://www.ub.edu/geomarines/beta/wp-content/uploads/2025/07/muesca_noticias_home.svg) no-repeat center / contain;
    z-index: 2;
}

.btn_noti_home a{position: relative; z-index: 3;}


.muesca_serveis h2{
    z-index: 5;
  display: block;
  background-color: white;
  position: relative;
}

/* Transición y tamaño base del contenedor */
/* Asegúrate que el contenedor padre tenga esta clase o estilo */
/* Estilo base del contenedor blanco */


.cont_servei_gen {
  position: relative;
  width: 100%;
  height: 100%;
  background: white;
  border-radius: 24px;
  padding: 1rem;
  z-index: 1;
  transition: all 1s ease;
  transform: scale(1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
}

/* Al hacer hover, se expande suavemente */
.cont_servei_gen:hover,
.cont_servei_gen:focus-within,
.cont_servei_gen.hover-activo {
  /* transform: scale(1.055); */
  height: 100%;
  width: 100%;
  z-index: 2;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  padding: 2rem;
}

/* Texto oculto inicialmente */
.servei_mes .elementor-widget-text-editor {
  max-height: 0;
  opacity: 0;
  transform: translateY(10px);
  overflow: hidden;
  transition: all 0.4s ease;
}

/* Mostrar texto al hacer hover */
.cont_servei_gen:hover .servei_mes .elementor-widget-text-editor,
.cont_servei_gen:focus-within .servei_mes .elementor-widget-text-editor,
.cont_servei_gen.hover-activo .servei_mes .elementor-widget-text-editor {
  max-height: 500px;
  opacity: 1;
  height: 100%;
  transform: translateY(0);
}

/* Botón estilo y transición */
.servei_mes .elementor-button {
  opacity: 0;
  transform: translateY(10px);
  transition: all 0.4s ease;
}

/* Mostrar botón al hacer hover */
.cont_servei_gen:hover .servei_mes .elementor-button,
.cont_servei_gen:focus-within .servei_mes .elementor-button,
.cont_servei_gen.hover-activo .servei_mes .elementor-button {
  opacity: 1;
  transform: translateY(0);
  margin-top: 30px;
}

.areas_home{transition: all 0.3s ease;}
.areas_home:hover{opacity: 0.8;}

/* contacto */

#btn_contacto{width: 60px; height: 60px; position: absolute; left: 90%;top: -75px;}

#form_container .e-form__buttons{position: relative; width: 100%;}

#form_container .elementor-field-group-field_b8927e3 .elementor-field-subgroup{ max-width: 210px; position: relative; left: 5%; top: -10px;}
#form_container .elementor-field-option{
  max-width: 210px;
    position: relative;
    left: 20%;
    top: -30px;
    display: flex;
    flex-flow: row;
    align-items: start;
    column-gap: 10px; 
  }
#form_container .elementor-field-group-field_b8927e3 .elementor-field-subgroup label{font-size: 0.85em;}
#form_container .elementor-field-group-field_b8927e3 .elementor-field-subgroup label a{color:#062e3a}

#form_container .elementor-field-group-field_b8927e3 .elementor-field-subgroup input[type="checkbox"] {  margin-top: 2px; }

/* proyectos*/
.img_slider_projecte {
  height: 450px; /* Ajusta segons el que vulguis mostrar */
  overflow: hidden;
}

.img_slider_projecte img {
  width: auto;
  height: 100%!important;
  object-fit: cover;
  display: block;
}
/* base */
#pestanas_projecte .e-n-tab-title-text{
  position: relative; /* necesario para posicionar el ::after */
}

#pestanas_projecte .e-n-tab-title-text::after{
  content:"";
  position:absolute;
  left:0;
 bottom: -5px;
  width: 100%;
  height:6px;
  background-color:black; /* color por defecto (selected=true) */
  display:block;
  transition:background-color .2s ease;
}

/* cuando el tab NO está seleccionado */
#pestanas_projecte .e-n-tab-title[aria-selected="false"] .e-n-tab-title-text::after{
  background-color:#bbb; /* tu color para “false” */
}

/* opcional: cuando está seleccionado explícitamente */
#pestanas_projecte .e-n-tab-title[aria-selected="true"] .e-n-tab-title-text::after{
  background-color:#000; /* color para “true” */
}


.u-underline h2 a{
  /* color y tipografía según tu diseño */
  color:#9aa0a6;
  font-weight:700;

  /* subrayado “gordo” y con separación */
  text-decoration-line: underline!important;
  text-decoration-thickness: 4px!important;   /* grosor del subrayado */
  text-underline-offset: 10px!important;      /* separación respecto al texto */
  text-decoration-color: #d6d6d6;   /* gris claro */
  text-decoration-skip-ink: auto!important;   /* evita cruzar descendentes */
  transition: color .2s, text-decoration-color .2s;
}
.u-underline h2 a:hover,
.u-underline h2 a.is-active{
  color:#6f7880!important;
  text-decoration-color:#bdbdbd!important;    /* más oscuro en hover/activo */
}

/* Equip estilos */

ul.equipo-rel { list-style: none; padding: 0;}

ul.equipo-rel li{ text-align: left; align-items: center;    font-size: 0.9em; padding:30px 0 30px; border-bottom: 4px solid #ededed; column-gap: 20px;
    max-width: 100%;}

.equipo-title { font-weight: 700;}

/* .equipo_otros_datos_1.equipo_otros { width: 25%;}

.equipo_otros_datos_3.equipo_otros { width: 18%; }

.equipo_otros_datos_3.equipo_otros { width: 10%; } */

/* ===== Tabla equipo – columnas fijas y wrap ===== */
.equipo-rel{
  list-style: none; margin:0; padding:0;
  border-top:4px solid #e6e6e6;

  /* Anchos fijos por columna (ajusta a tu diseño) */
  --w-nom:    34%;
  --w-carrec: 42%;
  --w-inst:   16%;
  --w-action: 8%;   /* reserva derecha (aún sin botón) */
}

.equipo-rel > li{
  display:grid;
  grid-template-columns: var(--w-nom) var(--w-carrec) var(--w-inst) var(--w-action);
  /* sin gap horizontal para que parezca tabla exacta */
  column-gap: 0;
  align-items: start;           /* cargos a 2 líneas alinean arriba */
  padding: 18px 0;
  border-bottom:4px solid #e6e6e6;
}

/* Cabecera banda gris */
.equipo-rel .equipo-head{
  background:#e9edf1;
  font-weight:700; color:#1f1f1f;
  padding: 12px 0;
}

/* Celdas: permitir que el texto envuelva SIN forzar el ancho */
.equipo-rel .col{
  min-width:0;                  /* clave para que el grid permita encoger */
  overflow-wrap: break-word;    /* rompe palabras largas si hace falta */
  word-break: normal;
  hyphens: auto;
  text-align: left;
  width: 100%;
}

/* 1ª columna: en tu HTML es .col--title; en cabecera es .col--nom */
.equipo-rel .col--title,
.equipo-rel .col--nom{
  font-weight:700;
  color:#1c1c1c;
}

/* Càrrec e Institució a la izquierda, permitimos varias líneas */
.equipo-rel .col--carrec,
.equipo-rel .col--inst{
  justify-self: start;
  line-height: 1.45;
  white-space: normal;          /* para que bajen de línea */
}

/* Columna de acción reservada (sin contenido de momento) */
.equipo-rel .col--action{
  visibility: hidden;           /* mantiene el ancho sin mostrar nada */
}

/* ===== Responsive ===== */
@media (max-width: 900px){
  .equipo-rel .equipo-head{ display:none; }
  .equipo-rel > li{
    grid-template-columns: 1fr;
    row-gap: 8px;
    padding: 14px 0;
  }
  .equipo-rel .col--action{ display:none; }
}


/* areas recerca */

.area{list-style: none; padding: 0; margin: 0;}
.area li{padding: 10px 0; font-size: 0.85em;}
.area li a{color: #54a5b2; 
  white-space: normal;          /* asegura que pueda partir línea */
  overflow-wrap: anywhere;      /* permite partir palabras/URLs donde haga falta */
  word-break: break-word;       /* fallback amplio (no estándar, pero muy soportado) */
  display: inline-block;        /* para respetar max-width */
  max-width: 100%; 
}

/* responsive  */

@media screen and (max-width: 767px) {


  /* contacto */

  #form_container .elementor-field-group-field_b8927e3 .elementor-field-subgroup{left: 0; top: 25px;}
#form_container .elementor-field-option{  }

#btn_contacto{left: 40%; top: -5px;}
 
}

/* equipo */

.miembro-equipo {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  margin-bottom: 30px;
}

.foto-miembro img {
  width: 100px;
  border-radius: 8px;
}
.rrss{display: flex;}

.rrss img {
  width: 24px;
  height: 24px;
  margin-right: 8px;
}

.info-miembro{display: flex; column-gap: 40px;  /*border-bottom: 3px solid #d6d6d6;*/ min-height: 110px;}
.foto-miembro{width: 10%;}
.bloque_dos .foto-miembro img{width: 100%;}
.bloque_dos{width: 25%; display: flex; flex-flow: column;}
.cargos-secundarios{width: 25%; font-size: 0.8em;}
.descripcion{width: 50%; margin-top: 0px;  min-height: 1em; /* fuerza espacio mínimo para evitar colapso */}

.bloque_dos h3{font-size: 0.9em; font-weight: bold; margin-top: 0;margin-bottom: 0;}
.cargo-principal, .cargos-secundarios p{font-weight: 300; font-size: 0.85em;    margin-bottom: 0.2em;}
.descripcion p{font-size: 0.7em; line-height: 1.4;font-weight: 300;}

@media (max-width: 1024px) {
.info-miembro{flex-flow: column;}
.bloque_dos, .cargos-secundarios, .descripcion{width: 100%;}

  .miembro-equipo {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 10px;
    margin-bottom: 40px;
  }

  .miembro-equipo .foto-miembro {
    width: 100%;
    max-width: 200px;
    margin: 0 auto;
  }

  .miembro-equipo .info-miembro {
    width: 100%;
    padding: 0 15px;
    box-sizing: border-box;
  }

  .descripcion{margin-bottom: 25px;}

  /* Bloque nombre y cargo */
  .miembro-equipo .bloque_dos {
    margin-top: 10px;
    margin-bottom: 10px;
  }

  /* Redes sociales */
  .miembro-equipo .rrss {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 15px;
  }

  .miembro-equipo .rrss img {
    width: 28px;
    height: 28px;
  }

  /* Estudios */
  .miembro-equipo .cargos-secundarios {
    text-align: left;
    margin-bottom: 10px;
    padding: 0 10px;
  }

  .miembro-equipo .cargos-secundarios p {
    margin: 4px 0;
    line-height: 1.4;
  }

  /* Descripción */
  .miembro-equipo .descripcion {
    text-align: left;
    padding: 0 10px;
  }

  .miembro-equipo .descripcion p {
    line-height: 1.5;
    margin: 0;
  }
}
