/* ===== AJUSTES DE CSS PERSONALIZADO ELEMENTOR ===== */
/* ====== Estilos para columnas de vuelos en Elementor ====== */
.fila-vuelo {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 0;
  transition: all 0.3s ease; /* Transición añadida */
}

.fila-vuelo .elementor-column {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-right: 0 !important;
  transition: all 0.3s ease; /* Transición para columnas */
}

.columna-texto {
  flex: 1 1 75%;
  max-width: 75%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.columna-precio {
  flex: 0 1 25%;
  max-width: 25%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-left: 0 !important;
  margin-left: 0 !important;
  overflow: visible; /* Permite tooltips */
}

/* Nuevo contenedor interno para el precio */
.columna-precio .contenedor-precio {
  overflow: hidden; /* Contiene el texto del precio */
  position: relative; /* Para tooltips */
  display: inline-flex;
  justify-content: flex-end;
  width: 100%;
}

.columna-precio .precio-vuelo-link {
  font-size: 14px;
  white-space: nowrap;
  overflow: visible; /* Para tooltips */
  text-overflow: ellipsis;
  transition: all 0.3s ease;
  position: relative;
  margin-right: -5px; /* Compensa el espacio */
  transform: translateX(5px); /* Margen derecho */
}

.columna-texto p {
  font-size: 14px;
  margin: 0;
  padding: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ===== AJUSTE ESPECÍFICO PARA MARGEN DERECHO ===== */
.fila-vuelo {
  width: 100%;
}

/* Reset completo para la columna de precio */
.fila-vuelo > .elementor-column.columna-precio,
.fila-vuelo > .elementor-column.columna-precio > .elementor-widget-wrap {
  padding-right: 0 !important;
  margin-right: 0 !important;
}

/* Ajuste específico para escritorio */
@media (min-width: 769px) {
  .columna-precio {
    justify-content: flex-end !important;
  }
  
  .columna-precio .precio-vuelo-link {
    margin-right: -5px !important;
    padding-right: 0;
    transform: translateX(5px);
  }
}

/* ===== RESPONSIVE TABLET (1024px - 1 columna) ===== */
@media (max-width: 1024px) {
  .elementor-section.elementor-section-boxed > .elementor-container {
    flex-direction: column !important;
  }
  
  .elementor-section.elementor-section-boxed > .elementor-container > .elementor-column {
    width: 100% !important;
    margin-bottom: 15px;
  }
  
  /* Mantiene alineación interna */
  .fila-vuelo {
    flex-direction: row;
  }
}

/* ===== Responsive: Móviles ===== */
@media (max-width: 768px) {
  .fila-vuelo {
    flex-direction: column;
    align-items: stretch;
    gap: 5px;
  }

  .columna-texto,
  .columna-precio {
    flex: 1 1 auto;
    max-width: 100%;
    white-space: normal;
    overflow: visible;
  }

  .columna-texto p {
    font-size: 16px;
    white-space: normal;
  }

  .columna-precio {
    justify-content: flex-end !important;
    padding-right: 0 !important;
  }

  .columna-precio .precio-vuelo-link {
    font-size: 16px !important;
    display: inline-flex;
    justify-content: flex-end;
    width: auto;
    max-width: 100%;
    white-space: nowrap;
    overflow: visible;
    padding-right: 0;
    transform: none !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 1160px) and (min-width: 768px) {
  /* Contenedor principal - Sin overflow:hidden */
  .fila-vuelo {
    width: 100% !important;
    gap: 5px !important;
    overflow: visible !important; /* Key para tooltips */
    margin-right: 0 !important; /* Elimina ajustes negativos */
  }
  
  /* Columna de texto (75% ancho) */
  .columna-texto {
    flex: 1 1 75% !important;
    min-width: 0 !important;
    overflow: hidden !important; /* Solo afecta al texto */
  }
  
  .columna-texto p {
    font-size: 12px !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
  }

  /* Columna de precio (25% ancho) - Sin position:absolute */
  .columna-precio {
    flex: 0 0 25% !important;
    min-width: 0 !important;
    overflow: visible !important; /* Permite tooltips */
    position: static !important; /* Evita problemas de contexto */
  }
  
  .columna-precio .contenedor-precio {
    width: 100% !important;
    display: flex !important;
    justify-content: flex-end !important;
    position: relative !important; /* Reemplaza absolute */
    right: auto !important;
    padding-right: 5px !important; /* Espacio para PYG */
  }
  
  .columna-precio .precio-vuelo-link {
    font-size: 15px !important;
    white-space: nowrap !important;
    text-align: right !important;
    background-color: inherit !important;
    margin-right: 0 !important;
    transform: none !important;
  }

  /* Tooltips - Fuerza visibilidad */
  .tooltip {
    position: absolute !important;
    z-index: 9999 !important;
    overflow: visible !important;
    white-space: normal !important;
    max-width: 200px !important;
  }
}

/* ===== AJUSTE FINAL PARA ELIMINAR ESPACIO RESIDUAL ===== */
@media (max-width: 1160px) and (min-width: 769px) {
  /* Añade estos ajustes al código existente */
  .fila-vuelo {
    margin-right: -8px !important; /* Compensa el espacio residual */
  }
  
  .columna-precio .contenedor-precio {
    right: -5px !important; /* Ajuste fino de posición */
  }
  
  .columna-precio .precio-vuelo-link {
    margin-right: -5px !important; /* Compensación final */
  }
}

/* Sombra en el header sticky solo en móviles */
@media (max-width: 768px) {
  header.header.-sticky.-mobile {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
    transition: box-shadow 0.3s ease;
    z-index: 9999; /* Asegura que quede por encima de todo */
  }
}

/* Bloquea scroll horizontal en móviles */
html, body {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

/* Fuerza tipografía Manrope en precios */
.columna-precio,
.columna-precio .precio-vuelo-link,
.columna-precio .contenedor-precio,
.columna-precio .contenedor-precio * {
  font-family: 'Manrope', sans-serif !important;
}