/**
 * Sección: La empresa
 */

main {
  padding: 2.5rem 0 3rem;
}

.pagina-titulo {
  text-align: center;
  margin-bottom: 2.5rem;
}

.pagina-titulo .eyebrow {
  margin-bottom: 0.4rem;
}

.pagina-titulo h1 {
  font-size: 1.85rem;
  font-weight: 700;
  margin: 0 0 0.6rem;
  color: var(--negro);
}

.pagina-titulo p {
  margin: 0;
  font-size: 0.98rem;
  color: var(--gris-medio);
  max-width: 36rem;
  margin-inline: auto;
}

.empresa-banner {
  margin: 0 0 2.5rem;
  border-radius: var(--radio-lg);
  overflow: hidden;
  box-shadow: var(--sombra-fuerte);
  border: 1px solid var(--borde);
}

.empresa-banner img {
  width: 100%;
  height: auto;
  max-height: min(52vh, 420px);
  object-fit: cover;
  object-position: center;
  display: block;
}

.empresa-intro-media {
  margin: 1.5rem 0 0;
  border-radius: var(--radio-lg);
  overflow: hidden;
  box-shadow: var(--sombra);
  border: 1px solid var(--borde);
}

.empresa-intro-media img {
  width: 100%;
  height: auto;
  display: block;
}

.empresa-operacion-bloque {
  display: grid;
  grid-template-columns: minmax(260px, 0.88fr) minmax(280px, 1.12fr);
  gap: 2rem 2.25rem;
  align-items: start;
  margin: 2.5rem 0 0;
  padding-top: 2rem;
  border-top: 1px solid var(--borde);
}

.empresa-operacion-col--slider .eyebrow {
  margin-bottom: 0.35rem;
}

.empresa-galeria-titulo {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 0 1rem;
  color: var(--negro);
}

/* Carrusel: retratos completos (sin recorte agresivo) */
.empresa-operacion-col--slider .tg-swiper-inner {
  overflow: hidden;
}

.empresa-operacion-col--slider .tg-slide-figure {
  min-height: 280px;
  padding: 0.5rem;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, #f5f5f5 0%, #ebebeb 100%);
}

.empresa-operacion-col--slider .tg-slide-figure img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: min(68vh, 560px);
  object-fit: contain;
  object-position: center;
}

.empresa-operacion-col--slider .tg-swiper--compact {
  --tg-slide-max-h: min(68vh, 560px);
}

.empresa-operacion-col--slider .tg-swiper .swiper-slide-active .tg-slide-figure img {
  transform: none;
}

.empresa-operacion-col--oficinas {
  min-width: 0;
}

.contenido-empresa {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 2.5rem;
  align-items: start;
  margin-bottom: 2.5rem;
}

.contenido-empresa p {
  font-size: 0.98rem;
  color: var(--gris-medio);
  margin: 0 0 0.75rem;
}

.tarjetas-destacado {
  display: grid;
  gap: 1rem;
}

.tarjeta {
  background: var(--blanco);
  border: 1px solid var(--borde);
  border-radius: var(--radio-lg);
  padding: 1.5rem;
  box-shadow: var(--sombra);
  transition: var(--transicion);
}

.tarjeta:hover {
  transform: translateY(-4px);
  box-shadow: var(--sombra-fuerte);
}

.tarjeta h3 {
  font-size: 1rem;
  font-weight: 600;
  margin: 0 0 0.4rem;
  color: var(--negro);
}

.tarjeta p {
  margin: 0;
  font-size: 0.9rem;
  color: var(--gris-medio);
}

.oficinas {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 2rem;
  align-items: start;
  padding-top: 2rem;
  border-top: 1px solid var(--borde);
}

.oficinas .eyebrow {
  margin-bottom: 0.4rem;
}

.oficinas h2 {
  font-size: 1.35rem;
  font-weight: 700;
  margin: 0 0 0.6rem;
  color: var(--negro);
}

.oficinas>div>p {
  font-size: 0.95rem;
  color: var(--gris-medio);
  margin: 0;
}

.oficinas-lista {
  display: grid;
  gap: 1rem;
}

.oficina-tarjeta {
  background: var(--blanco);
  border: 1px solid var(--borde);
  border-radius: var(--radio-lg);
  padding: 1.5rem;
  font-size: 0.95rem;
  color: var(--gris-medio);
  box-shadow: var(--sombra);
  transition: var(--transicion);
}

.oficina-tarjeta:hover {
  box-shadow: var(--sombra-fuerte);
  transform: scale(1.02);
}

.oficina-tarjeta strong {
  display: block;
  color: var(--negro);
  margin-bottom: 0.25rem;
}

/* Debe ir después de .oficinas: anula el grid 2 columnas del bloque lateral */
.oficinas.oficinas--empresa-lateral {
  grid-template-columns: 1fr;
  gap: 1.25rem;
  padding-top: 0;
  border-top: none;
  margin: 0;
  align-content: start;
}

.oficinas.oficinas--empresa-lateral > div:first-child {
  max-width: 100%;
}

.oficinas.oficinas--empresa-lateral .oficinas-lista {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.85rem;
  width: 100%;
}

.oficinas.oficinas--empresa-lateral h2 {
  font-size: 1.25rem;
  line-height: 1.25;
}

.oficinas.oficinas--empresa-lateral > div > p {
  line-height: 1.55;
  max-width: 42rem;
}

@media (max-width: 992px) {
  .empresa-operacion-bloque {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .empresa-operacion-col--slider .tg-slide-figure {
    min-height: 240px;
  }

  .empresa-operacion-col--slider .tg-slide-figure img {
    max-height: min(58vh, 480px);
  }
}

@media (max-width: 768px) {

  .contenido-empresa,
  .oficinas {
    grid-template-columns: 1fr;
  }

}
