/**
 * Checkit · Limpieza visual móvil (tarjetas + flotantes)
 * Fusión quirúrgica: no altera header/logo ni lógica JS/PHP.
 * Cargar DESPUÉS de resultados.css / ofertas-cupos.css / checkit-ai-agent.css
 */

/* ═══════════════════════════════════════════════════════════════
   1) FLOTANTES MÓVIL — menos pegote en la esquina inferior
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
  :root {
    --checkit-float-safe-bottom: max(20px, env(safe-area-inset-bottom, 0px));
    --checkit-float-safe-right: max(20px, env(safe-area-inset-right, 0px));
    --checkit-float-safe-left: max(20px, env(safe-area-inset-left, 0px));
    --checkit-float-wa-size: 54px;
    --checkit-float-ai-size: 54px;
    --checkit-float-gap: 18px;
  }

  /* Ocultar flecha “volver arriba” en móvil */
  .c-detalle-scroll-top,
  .c-checkit-scroll-top,
  #catalog-scroll-top,
  #detalle-scroll-top {
    display: none !important;
  }

  /* WhatsApp libre en esquina inferior derecha, con aire */
  .c-whatsapp-button {
    right: var(--checkit-float-safe-right) !important;
    bottom: var(--checkit-float-safe-bottom) !important;
    left: auto !important;
    z-index: 90;
  }

  /* Ocultar etiqueta animada (URL / copy) que satura la esquina */
  .c-whatsapp-button__tag,
  .c-ai-agent__fab-tag {
    display: none !important;
  }

  /* Chat IA reubicado a la izquierda: no compite con WhatsApp */
  .c-ai-agent {
    right: auto !important;
    left: var(--checkit-float-safe-left) !important;
    bottom: var(--checkit-float-safe-bottom) !important;
    z-index: 89;
  }

  .c-ai-agent__fab-wrap {
    justify-content: flex-start;
  }

  .c-ai-agent__fab,
  .c-whatsapp-button__element {
    width: var(--checkit-float-wa-size) !important;
    height: var(--checkit-float-wa-size) !important;
  }

  /* Panel del chat abre hacia arriba sin tapar el WA derecho */
  .c-ai-agent__panel {
    left: 0;
    right: auto;
    max-width: min(360px, calc(100vw - 40px));
  }
}

/* ═══════════════════════════════════════════════════════════════
   2–4) TARJETAS CATÁLOGO (.c-result-card) — aire y jerarquía
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
  .c-resultados-zone__grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .c-resultados__list {
    gap: 1.75rem;
    padding-bottom: max(96px, calc(env(safe-area-inset-bottom, 0px) + 88px));
  }

  .c-result-card {
    margin: 0;
    border-radius: 16px !important;
    border: 1px solid rgba(15, 23, 42, 0.07);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.07) !important;
    overflow: hidden;
    background: #fff;
  }

  .c-result-card:hover,
  .c-result-card:active {
    transform: none;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.1) !important;
  }

  .c-result-card__img {
    aspect-ratio: 16 / 10;
    min-height: 160px;
  }

  .c-result-card__body {
    padding: 16px !important;
    gap: 10px !important;
  }

  .c-result-card__badge {
    font-size: 0.68rem;
    letter-spacing: 0.06em;
    color: #0f766e;
    line-height: 1.4;
  }

  .c-result-card__title,
  .c-result-card__body h3 {
    font-size: 1.05rem !important;
    line-height: 1.35 !important;
    font-weight: 700;
    color: #0f172a;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .c-result-card__meta {
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: #64748b !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .c-result-card__price-badge {
    left: 12px;
    bottom: 12px;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.78);
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
  }

  .c-result-card__cta {
    margin-top: 6px;
    padding: 9px 14px !important;
    min-height: 40px;
    border-radius: 999px;
    font-size: 0.84rem !important;
    font-weight: 600;
    background: #0f766e;
    box-shadow: none;
  }
}

/* ═══════════════════════════════════════════════════════════════
   2–4) TARJETAS OFERTAS / CUPOS (.c-oferta-card)
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
  .c-ofertas-grid,
  .c-ofertas-page .c-ofertas-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .c-ofertas-page {
    padding-bottom: max(96px, calc(env(safe-area-inset-bottom, 0px) + 88px));
  }

  .c-oferta-card {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto 1fr !important;
    margin: 0;
    border-radius: 16px !important;
    border: 1px solid rgba(15, 23, 42, 0.07);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.07) !important;
    overflow: hidden;
    background: #fff;
  }

  .c-oferta-card:hover,
  .c-oferta-card:active {
    transform: none;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.1) !important;
  }

  .c-oferta-card__media {
    aspect-ratio: 16 / 10 !important;
    min-height: 168px;
    height: auto !important;
  }

  .c-oferta-card__body {
    padding: 16px !important;
    gap: 10px !important;
  }

  .c-oferta-card__region {
    font-size: 0.68rem;
    line-height: 1.4;
    color: #0f766e;
  }

  .c-oferta-card__title {
    font-size: 1.05rem !important;
    line-height: 1.35 !important;
    font-weight: 700;
    color: #0f172a;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .c-oferta-card__destinos,
  .c-oferta-card__dates {
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: #64748b !important;
  }

  .c-oferta-card__destinos {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .c-oferta-card__price {
    left: 12px;
    bottom: 12px;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.78);
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
  }

  /* “Consultar cupo” más limpio, menos abrumador */
  .c-oferta-card__cta {
    align-self: stretch;
    width: 100%;
    margin-top: 4px;
    padding: 9px 14px !important;
    min-height: 40px !important;
    border-radius: 999px;
    font-size: 0.84rem !important;
    font-weight: 600;
    background: #0f766e !important;
    box-shadow: none !important;
  }

  .c-ofertas-carousel__track {
    gap: 16px;
    padding-bottom: 8px;
  }

  .c-ofertas-carousel__track .c-oferta-card {
    flex: 0 0 min(280px, 82vw);
  }
}

/* Tablet: un poco más de aire sin forzar 1 columna rígida */
@media (min-width: 768px) and (max-width: 1024px) {
  .c-resultados-zone__grid,
  .c-ofertas-grid,
  .c-ofertas-page .c-ofertas-grid {
    gap: 20px !important;
  }

  .c-result-card__body,
  .c-oferta-card__body {
    padding: 16px !important;
  }

  .c-result-card,
  .c-oferta-card {
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.07);
  }
}
