/* Corrección para el preloader en páginas secundarias */
body:not(.home) .preloader {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    z-index: 9999 !important;
    transform: none !important;
}

body:not(.home) .loader {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}

/* Estilos para la información de contacto */
.contact-info {
  margin-bottom: 30px;
}

.contact-item {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
}

.contact-item i {
  font-size: 1.2rem;
  color: #ff5722;
  margin-right: 15px;
  width: 20px;
  text-align: center;
}

.contact-item span {
  font-size: 1rem;
  color: #555;
}

/* Ajustar la rotación de la imagen cuando está a la izquierda */
.hero-visual[style*="order: 1"] .hero-image-container {
  transform: rotate(2deg); /* Rotación opuesta */
}

.hero-visual[style*="order: 1"] .hero-image-container:hover {
  transform: rotate(0deg) scale(1.02);
}

/* Ajustes responsive */
@media (max-width: 992px) {
  .hero-content[style*="order: 2"] {
    padding-left: 0 !important;
    text-align: center !important;
  }
  
  .hero-visual, .hero-content {
    order: unset !important; /* Eliminar el orden en móvil */
  }
  
  .contact-item {
    justify-content: center;
  }
  
  .hero-buttons {
    justify-content: center !important;
  }
}

/* Estilos para el mapa */
.map-container {
    flex: 1;
    min-width: 300px;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.map-wrapper {
    flex: 1;
    height: 100%;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.map-wrapper iframe {
    width: 100%;
    height: 100%;
    min-height: 500px; /* Altura mínima para el mapa */
    border: none;
    display: block;
}

/* Asegurar que el contenedor de contacto tenga la misma altura */
.contact-container {
    display: flex;
    flex-wrap: wrap;
    gap: 50px;
    align-items: stretch; /* Hacer que todos los elementos tengan la misma altura */
}

.form-container {
    flex: 1;
    min-width: 300px;
    display: flex;
    flex-direction: column;
}

/* Ajustes para dispositivos móviles */
@media (max-width: 992px) {
    .map-wrapper iframe {
        min-height: 400px;
    }
    
    .contact-container {
        flex-direction: column;
    }
}