/*
 * Huamantla Disfruta - Haciendas 5.0.3.
 * Recupera mapa, historia y arquitectura antes del catalogo sin modificar
 * la plantilla de las fichas individuales.
 * 5.0.3 ajusta los 9 elementos arquitectonicos al patron horizontal aprobado:
 * fotografia a la izquierda y contenido a la derecha.
 */
.hd-catalog-page .hd-visit-shell {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

.hd-catalog-page .hd-visit-section.hd-visit-map {
  margin-top: 48px;
}

.hd-haciendas-section,
.hd-haciendas-section * {
  box-sizing: border-box;
}

.hd-haciendas-section {
  margin-top: 48px;
  color: var(--hd-ink);
  font-family: "Montserrat", system-ui, sans-serif;
}

.hd-haciendas-heading {
  max-width: 820px;
}

.hd-haciendas-microtitle,
.hd-haciendas-card-number {
  margin: 0;
  color: var(--hd-pink-text);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.hd-haciendas-heading h2 {
  margin: 6px 0 0;
  color: var(--hd-ink);
  font-size: clamp(1.85rem, 4vw, 2.6rem);
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.hd-haciendas-history {
  padding: clamp(24px, 4vw, 40px);
  border: 1px solid var(--hd-line);
  border-radius: 30px;
  background: var(--hd-white);
}

.hd-haciendas-prose {
  max-width: 76ch;
  margin-top: 18px;
  color: var(--hd-secondary);
  font-size: clamp(.94rem, 1.2vw, 1rem);
  line-height: 1.72;
}

.hd-haciendas-prose p {
  margin: 0 0 15px;
}

.hd-haciendas-prose p:last-child {
  margin-bottom: 0;
}

.hd-haciendas-prose strong {
  color: var(--hd-ink);
  font-weight: 750;
}

/*
 * Elementos arquitectonicos 5.0.3
 * Referencia visual: tarjetas amplias de dos columnas, imagen a la izquierda
 * y titulo + descripcion a la derecha. No se muestra numeracion en el front.
 */
.hd-haciendas-architecture-grid {
  display: grid;
  grid-template-columns: repeat(var(--hd-grid-columns, 2), minmax(0, 1fr));
  gap: 16px;
  margin-top: 24px;
}

.hd-haciendas-architecture-card {
  min-width: 0;
  min-height: 148px;
  display: grid;
  grid-template-columns: clamp(108px, 11vw, 138px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(18px, 2vw, 28px);
  padding: clamp(18px, 2.2vw, 26px);
  overflow: hidden;
  border: 1px solid var(--hd-line);
  border-radius: 28px;
  background: var(--hd-white);
  box-shadow: none;
}

.hd-haciendas-architecture-card figure {
  width: 100%;
  margin: 0;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border-radius: 18px;
  background: var(--hd-paper);
}

.hd-haciendas-architecture-card figure img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.hd-haciendas-architecture-copy {
  min-width: 0;
  padding: 0;
}

.hd-haciendas-architecture-copy .hd-haciendas-card-number {
  display: none;
}

.hd-haciendas-architecture-copy h3 {
  margin: 0;
  color: var(--hd-ink);
  font-size: clamp(1.08rem, 1.65vw, 1.34rem);
  font-weight: 800;
  line-height: 1.13;
  letter-spacing: -.025em;
  text-wrap: balance;
}

.hd-haciendas-architecture-copy > p:last-child {
  margin: 7px 0 0;
  color: var(--hd-secondary);
  font-size: clamp(.88rem, 1.15vw, 1rem);
  line-height: 1.48;
}

@media (max-width: 900px) {
  .hd-haciendas-architecture-grid {
    grid-template-columns: repeat(var(--hd-grid-columns, 2), minmax(0, 1fr));
  }

  .hd-haciendas-architecture-card {
    grid-template-columns: 104px minmax(0, 1fr);
    gap: 18px;
    padding: 18px;
    border-radius: 24px;
  }
}

@media (max-width: 700px) {
  .hd-catalog-page .hd-visit-shell {
    width: 100% !important;
  }

  .hd-catalog-page .hd-visit-section.hd-visit-map,
  .hd-haciendas-section {
    margin-top: 32px;
  }

  .hd-haciendas-history {
    padding: 22px 18px;
    border-radius: 24px;
  }

  .hd-haciendas-architecture-grid {
    grid-template-columns: 1fr !important;
    gap: 12px;
  }

  .hd-haciendas-architecture-card {
    min-height: 128px;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 16px;
    padding: 16px;
    border-radius: 22px;
  }

  .hd-haciendas-architecture-card figure {
    border-radius: 15px;
  }
}

@media (max-width: 390px) {
  .hd-haciendas-architecture-card {
    grid-template-columns: 84px minmax(0, 1fr);
    gap: 14px;
    padding: 14px;
  }
}

/* Variante opcional del control de grid de Elementor. */
.hd-grid-haciendas-architecture-mode-masonry .hd-haciendas-architecture-grid {
  display: block !important;
  column-count: var(--hd-grid-columns, 2) !important;
  column-gap: 12px;
}

.hd-grid-haciendas-architecture-mode-masonry .hd-haciendas-architecture-grid > * {
  width: 100%;
  break-inside: avoid;
  margin-bottom: 12px;
}
