/* === TIPOGRAFÍA GENERAL === */
.grid-experiencias,
.grid-experiencias * {
  font-family: 'Mukta Mahee', sans-serif !important;
}

/* === GRID === */
.grid-experiencias {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(3, 1fr); /* escritorio */
}

@media (max-width: 980px) {
  .grid-experiencias {
    grid-template-columns: repeat(2, 1fr); /* tablet */
  }
}

@media (max-width: 767px) {
  .grid-experiencias {
    grid-template-columns: repeat(1, 1fr); /* móvil */
  }
}

/* === TARJETA === */
.card-experiencia {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.card-experiencia:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

.card-experiencia .img-fondo {
  display: block;
  width: 100%;
  height: 280px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 12px 12px 0 0;
}

.card-experiencia .contenido {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

/* === TÍTULO === */
.card-experiencia h3 {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 0.7rem;
  color: #14425F !important;
  line-height: 1.3;
  height: 2.6em; /* 2 líneas */
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

/* === CATEGORÍA ENCIMA DEL TÍTULO === */
.experiencia-categoria {
  font-size: 0.85rem;
  color: #6b7280;
  margin-bottom: 0.35rem;
}

/* === DESCRIPCIÓN === */
.card-experiencia .descripcion {
  font-size: 16px;
  line-height: 1.5;
  color: #555;
  margin-bottom: 1rem;
  height: 4.5em; /* 3 líneas */
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

/* === INFORMACIÓN === */
.card-experiencia .duracion,
.card-experiencia .precio {
  font-weight: 600;
  font-size: 0.95rem;
  margin-bottom: 0.5rem;
  color: #008C46;
  min-height: 1.5em;
}

/* === BOTÓN === */
.card-experiencia .btn {
  margin-top: auto;
  background: #8ED240;
  color: #ffffff !important;
  padding: 0.7rem 1.2rem;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
  border-radius: 8px;
  transition: background 0.3s ease, color 0.3s ease;
  display: inline-block;
}

.card-experiencia .btn:hover {
  background: #5BCEA8;
  color: #000;
}

/* === PAGINACIÓN === */
.pagination,
.paginacion {
  text-align: center;
  margin-top: 2rem;
}

.pagination a,
.paginacion a {
  display: inline-block;
  margin: 0 0.3rem;
  padding: 0.5rem 0.9rem;
  border: 1px solid #ccc;
  border-radius: 6px;
  color: #14425F;
  text-decoration: none;
  transition: all 0.3s ease;
}

.pagination a:hover,
.paginacion a:hover {
  background: #8ED240;
  border-color: #8ED240;
  color: #fff;
}

.pagination .current,
.paginacion .current {
  background: #14425F;
  border-color: #14425F;
  color: #fff;
}

/* === GALERÍA DE FOTOS === */
.galeria .galeria-fotos {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
}

.galeria .galeria-fotos img {
  width: 100%;
  height: 100px;
  object-fit: cover;
  border-radius: 6px;
  transition: transform 0.3s ease;
}

.galeria .galeria-fotos a:hover img {
  transform: scale(1.05);
}

/* === GALERÍA CON 3 FOTOS === */
.card-experiencia .galeria-fotos {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 1rem;
}

.galeria-fotos .foto-principal {
  display: block;
  height: 220px;
  width: 100%;
  border-radius: 6px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.galeria-fotos .fotos-secundarias {
  display: flex;
  gap: 4px;
}

.fotos-secundarias .foto-secundaria {
  flex: 1;
  height: 100px;
  border-radius: 6px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.galeria-fotos a {
  cursor: zoom-in;
}

/* === Z-INDEX para lightbox por encima del sticky menu === */
.basicLightbox {
  z-index: 99999 !important;
}

.basicLightbox__placeholder,
.basicLightbox__content {
  z-index: 99999 !important;
}

/* === Paginación Ajax === */
.btn.load-more {
  display: inline-block;
  margin-top: 2rem;
  background: #14425f;
  color: #fff;
  padding: 0.8rem 1.5rem;
  font-size: 1rem;
  font-weight: bold;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.3s ease;
}

.btn.load-more:hover {
  background: #287aac;
  color: #fff;
}

.btn.load-more:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* === Tabs de filtros === */
.filtros-experiencias {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin: 1.2rem 0 2rem;
}

.filtros-experiencias .filtro-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px; /* más aire entre ícono y texto */
  padding: 6px 14px;
  font-size: 16px;
  line-height: 1.2;
  cursor: pointer;
  background: #f9f9f9;
  color: #14425f;
  border: 1px solid #d1d5db;
  border-radius: 10px; /* menos redondeado */
  transition: all 0.2s ease;
}

.filtros-experiencias .filtro-btn img.icono-categoria {
  width: 24px; 
  height: 24px;
  object-fit: contain;
  display: block;
}

.filtro-btn:hover,
.filtro-btn.activo {
  background: #14425f;
  color: #fff;
  border-color: #14425f;
}

.filtro-btn:hover img.icono-categoria,
.filtro-btn.activo img.icono-categoria {
  filter: brightness(0) invert(1); /* los íconos se ponen blancos */
}


/* CARRUSEL DE FOTOS */
.iriartec-carrusel-wrapper { width: 100%; position: relative; padding-bottom: 3rem; }
.carrusel-experiencia { width: 100%; overflow: hidden; }
.carrusel-experiencia .swiper-slide { height: 540px; }
.carrusel-img { display: block; height: 100%; background-size: cover; background-position: center; border-radius: 10px; transition: transform 0.3s ease; }
.carrusel-img:hover { transform: scale(1.02); }

/* Contenedor de flechas */
.carrusel-nav { position: absolute; top: 0; left: 0; right: 0; bottom: 0; pointer-events: none; }
.carrusel-nav .swiper-button-prev,
.carrusel-nav .swiper-button-next {
  position: absolute; top: 50%; transform: translateY(-50%);
  z-index: 10; background-color: #fff; color: #008c46;
  width: 44px; height: 44px; border-radius: 50%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; pointer-events: all;
}
.carrusel-nav .swiper-button-prev { left: 10px; }
.carrusel-nav .swiper-button-next { right: 10px; }
.carrusel-nav i { font-size: 20px; }

/* Eliminar flechas por defecto generadas por Swiper */
.swiper-button-prev::after,
.swiper-button-next::after {
  content: none !important;
}

/* === GRID DE CATEGORÍAS === */
/* === Grid general === */
.categorias-experiencias {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 0; /* sin espacio entre columnas */
}

/* === Tarjeta de categoría === */
.categoria-item {
  position: relative;
  background-size: cover;
  background-position: center;
  min-height: 450px; /* puedes ajustar la altura base */
  display: flex;
  align-items: flex-start;
  justify-content: center;
  text-align: center;
  color: #fff;
  overflow: hidden;
}

.categoria-item::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.35); /* overlay oscuro */
  z-index: 0;
}

.categoria-overlay {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 2rem 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* === Ícono === */
.categoria-icono {
  margin-bottom: 200px; /* espacio fijo hasta el título */
}

.categoria-icono img {
  width: 48px;
  height: 48px;
  object-fit: contain;
  display: block;
}

/* === Título === */
.categoria-overlay h3 {
  font-size: 1.5rem;
  margin-bottom: 35px; /* espacio hasta descripción */
}

.categoria-overlay h3 a {
  color: #fff;
  text-decoration: none;
}

/* === Descripción === */
.categoria-overlay p {
  font-size: 16px;
  line-height: 1.2em;
  margin: 0 0 60px 0; /* espacio hasta botón */
  max-width: 90%;
}

/* === Botón === */
.btn-categoria {
  display: inline-block;
  padding: 0.7rem 1.4rem;
  border-radius: 30px;
  font-size: 1rem;
  font-weight: 500;
  color: #fff;
  background: rgba(255,255,255,0.45); /* blanco con transparencia */
  text-decoration: none;
  transition: background 0.3s ease;
}

.btn-categoria:hover {
  background: rgba(255,255,255,0.7);
  color: #000;
}

/* === Hover general sobre tarjeta === */
.categoria-item:hover {
  transform: scale(1.03);
  transition: transform 0.4s ease;
}

/* === Vista móviles === */
@media (max-width: 768px) {
  .categorias-experiencias {
    grid-template-columns: 1fr;
  }

  .categoria-item {
    min-height: 380px;
  }

  .categoria-icono {
    margin-bottom: 120px; /* menos espacio en móvil */
  }

  .categoria-overlay h3 {
    font-size: 1.3rem;
    margin-bottom: 25px;
  }

  .categoria-overlay p {
    font-size: 18px;
    margin-bottom: 40px;
  }
}

/* === OVERRIDES puntuales === */

/* 1) Ícono en blanco */
.categoria-icono img {
  filter: brightness(20);
}

/* 2) Título de la categoría */
.categoria-overlay h3 a {
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  font-size: 34px;
}

/* 3) Botón con el estilo del sitio (.et_pb_button_0_tb_header) */
.btn-categoria {
  color: #FFFFFF !important;
  border-width: 1px !important;
  border-color: rgba(255, 255, 255, 0);
  border-radius: 0;
  font-size: 18px;
  background-color: rgba(255, 255, 255, 0.4);
  padding: 5px 20px;
}

/* === Fix móviles: asegurar que se vea la imagen de fondo === */
@media (max-width: 768px) {
  .categoria-item {
    min-height: 500px; /* más alto en móvil para que quepan bien ícono, texto y botón */
    background-size: cover !important;
    background-position: center !important;
    display: flex;
    align-items: flex-start;
    justify-content: center;
  }

  .categoria-overlay {
    padding: 3rem 1.5rem; /* más aire en móvil */
  }

  .categoria-icono {
    margin-bottom: 120px; /* ya estaba, lo mantenemos */
  }
}

/* === Vista móviles como slider === */
@media (max-width: 768px) {
  .categorias-experiencias.swiper {
    display: block;
  }

  .categorias-experiencias .swiper-wrapper {
    display: flex;
  }

  .categorias-experiencias .swiper-slide {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .swiper-pagination {
    display: block;
    margin-top: 15px;
    text-align: center;
  }
}

/* === Desktop sigue igual === */
@media (min-width: 769px) {
  .categorias-experiencias.swiper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 0;
  }

  .categorias-experiencias .swiper-wrapper {
    display: contents; /* se comporta como grid normal */
  }

  .categorias-experiencias .swiper-slide {
    width: auto;
  }

  .swiper-pagination {
    display: none;
  }
}

/* === Igualar alto y alinear contenido en desktop === */
@media (min-width: 769px) {
  .categoria-item {
    min-height: 550px; /* define un alto fijo para TODAS las tarjetas */
    display: flex;
  }

  .categoria-overlay {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    height: 100%; /* ocupar todo el alto */
  }

  .btn-categoria {
    margin-top: auto; /* fuerza que el botón se quede al fondo */
  }
}
