.contact-wrapper {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 40px;
  background: white;
  box-shadow: var(--shadow);
  border-radius: 12px;
  overflow: hidden;
}
.contact-details {
  background: var(--dark);
  color: white;
  padding: 50px;
}
.contact-details h3 {
  color: white;
  margin-bottom: 30px;
}

.div-text-center{
  margin-bottom: 10px;
}

.div-text-center a{
  padding: 15px 40px;
}

.info-item {
  display: flex;
  gap: 15px;
  margin-bottom: 25px;
  align-items: flex-start;
}
.info-item svg {
  width: 24px;
  min-width: 24px;
  color: var(--primary);
}
.contact-form-box {
  padding: 50px;
}

/* Estilos para el formulario */
.form-group {
  margin-bottom: 20px;
}

.form-group label {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: var(--dark);
  font-size: 0.95rem;
}

.form-control {
  width: 100%;
  padding: 12px 16px;
  border: 2px solid var(--border);
  border-radius: 6px;
  font-size: 1rem;
  font-family: var(--font-main);
  background-color: var(--white);
  color: var(--dark);
  transition: var(--transition);
  /* Mejoras para entrada táctil */
  min-height: 44px; /* Altura mínima para botones táctiles */
  -webkit-tap-highlight-color: transparent; /* Eliminar highlight nativo */
  touch-action: manipulation; /* Mejorar respuesta táctil */
}

.form-control:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(231, 67, 24, 0.1);
}

.form-control::placeholder {
  color: var(--gray);
}

textarea.form-control {
  resize: vertical;
  min-height: 120px;
  /* Mejoras específicas para textarea móvil */
  line-height: 1.5;
}

/* Botón optimizado para táctil */
.btn-primary {
  min-height: 48px; /* Altura mínima recomendada para botones móviles */
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

/* Input específicos para móvil */
input[type="tel"],
input[type="email"],
input[type="text"] {
  /* Prevenir autocorrección en campos específicos */
  autocorrect: off;
  autocapitalize: none;
}

/* Select optimizado para móvil */
select.form-control {
  appearance: none;
  background-image: url("data:image/svg+xml;charset=US-ASCII,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'><path fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/></svg>");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px;
  padding-right: 40px;
}

/* Estilos para el botón de envío */
#form-contact .btn-primary {
  width: 100%;
  padding: 14px 30px;
  font-size: 1.05rem;
  font-weight: 600;
  border-radius: 6px;
  transition: var(--transition);
}

#form-contact .btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(231, 67, 24, 0.3);
}

/* Estilos para el mensaje de estado */
#contact-status {
  margin-top: 15px;
  font-size: 0.9rem;
  padding: 10px;
  border-radius: 4px;
  text-align: center;
}

#contact-status.success {
  background-color: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}

#contact-status.error {
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}

/* Responsive para el formulario */
@media (max-width: 768px) {
  .contact-wrapper {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .contact-form-box {
    padding: 25px 20px;
  }
  
  .contact-details {
    padding: 25px 20px;
  }
  
  .form-control {
    padding: 12px 16px;
    font-size: 16px; /* Previene zoom en iOS */
  }
  
  #form-contact .btn-primary {
    padding: 14px 20px;
    font-size: 1rem;
  }
}

@media (max-width: 480px) {
  .contact-wrapper {
    gap: 15px;
  }
  
  .contact-form-box {
    padding: 20px 15px;
  }
  
  .contact-details {
    padding: 20px 15px;
  }
  
  .info-item {
    margin-bottom: 20px;
    gap: 12px;
  }
  
  .info-item svg {
    width: 20px;
    min-width: 20px;
  }
  
  .form-group {
    margin-bottom: 15px;
  }
  
  .form-control {
    padding: 10px 14px;
    min-height: 40px; /* Reducir altura mínima en móviles pequeños */
    font-size: 16px; /* Prevenir zoom automático en iOS */
  }

  #form-contact .btn-primary {
    padding: 12px 16px;
    min-height: 44px; /* Altura óptima para móviles */
  }
}

/* Breakpoint adicional para móviles muy pequeños */
@media (max-width: 360px) {
  .contact-form-box {
    padding: 15px 12px;
  }
  
  .contact-details {
    padding: 15px 12px;
  }
  
  .info-item {
    flex-direction: column;
    gap: 8px;
    text-align: center;
  }
  
  .info-item svg {
    align-self: center;
  }
  
  .form-control {
    padding: 8px 12px;
    min-height: 36px;
  }
  
  .btn-primary {
    min-height: 40px;
  }
}

/* Mejoras adicionales para formularios en dispositivos móviles */
@media (max-width: 768px) {
  /* Asegurar que los inputs tengan suficiente espacio táctil */
  .form-group {
    margin-bottom: 20px;
  }
  
  /* Mejorar espaciado entre elementos del formulario */
  .form-control {
    margin-bottom: 5px;
  }
  
  /* Asegurar que los botones sean fáciles de tocar */
  .btn-primary {
    font-size: 1.1rem;
    font-weight: 600;
  }
}
