/* Start custom CSS for html, class: .elementor-element-4de3512 *//* Estilos para el Mosaico en Computadora (pantallas grandes) */
@media (min-width: 901px) {
  .gallery-grid-box {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    grid-auto-rows: 220px;
    grid-auto-flow: dense;
    gap: 14px;
  }
  .gallery-grid-box img.span-2-col-row {
    grid-column: span 2;
    grid-row: span 2;
  }
  .gallery-grid-box img.span-2-row {
    grid-row: span 2;
  }
}

/* Estilos Adaptativos para Tablet y Móvil */
@media (max-width: 900px) {
  .gallery-container-div,
  .faq-container-section,
  .cta-container-section {
    padding: 60px 20px !important;
  }

  /* Grilla responsiva de 2 columnas en móvil sin solapamiento */
  .gallery-grid-box {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }

  .gallery-grid-box img {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 / 1 !important; /* Fotos cuadradas uniformes y limpias */
    object-fit: cover !important;
    border-radius: 16px !important;
  }

  .faq-container-section,
  .cta-orange-card,
  .footer-grid-container {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .cta-orange-card a {
    width: 100% !important;
    text-align: center !important;
  }
}

@media (max-width: 600px) {
  .gallery-container-div,
  .faq-container-section,
  .cta-container-section {
    padding: 40px 16px !important;
  }
}/* End custom CSS */