/* JDServer-Webs v6.4.3 — modules/air/air.css
 * Sin cambios grandes. El fix real está en JS (scope vars + repaint theme).
 */

#air h2.page-title{ margin-bottom: 16px; }

/* ===== Bloque actual ===== */
#air-now .air-now-grid{ display: grid; gap: 14px; }
@media (min-width: 880px){
  #air-now .air-now-grid{
    grid-template-columns: minmax(0, 2fr) minmax(0, 1.3fr);
    align-items: stretch;
  }
}

.air-card{
  background: var(--card);
  border-radius: var(--radius);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-1);
  padding: 14px 16px;
}

.air-card h3, .air-card h4{ margin: 0 0 8px 0; font-weight: 600; }

.air-main-kpi{ display:flex; flex-direction:column; gap:10px; }

.air-main-kpi-header{
  display:flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

.air-aqi-value{ font-size: 2.4rem; font-weight: 700; line-height: 1; }

.air-aqi-category{
  font-weight: 600;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: .85rem;
  align-self: flex-start;
}

.air-aqi-desc{ margin: 0; color: var(--muted); font-size: .9rem; }
.air-source{ margin: 0; color: var(--muted); font-size: .8rem; }

/* Colores de categorías */
.air-cat-unknown{ background: rgba(148,163,184,.12); color: var(--muted); }
.air-cat-good{    background: rgba(34,197,94,.12);  color: #16a34a; }
.air-cat-moderate{background: rgba(234,179,8,.12);  color: #ca8a04; }
.air-cat-unhealthy{background: rgba(248,113,113,.12); color:#dc2626;}
.air-cat-verybad{ background: rgba(148,27,27,.15);  color:#b91c1c; }

/* KPIs secundarios */
.air-kpis{
  display:grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap:10px;
}
@media (min-width: 640px){
  .air-kpis{ grid-template-columns: repeat(3,minmax(0,1fr)); }
}

.air-kpi{
  border-radius: 14px;
  border: 1px solid var(--border);

  /* ✅ fallback para Android/Safari que no soporten color-mix */
  background: var(--card);

  /* ✅ tu look final */
  background: color-mix(in srgb, var(--card) 80%, var(--brand-soft, #e0f2fe) 20%);
  padding: 10px 12px;
}
.air-kpi-label{ font-size: .8rem; color: var(--muted); }
.air-kpi-value{ font-size: 1.1rem; font-weight: 600; }

/* ===== Tendencias ===== */
#air-trends .air-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom: 10px;
}
#air-trends .air-head h3{ margin:0; }

.air-range{ display:flex; gap:6px; }
.air-range button{ font-size:.8rem; }
.air-range .is-active{ background: var(--brand); color:#fff; }

/* Gráficas */
.air-charts{ display:grid; gap:12px; }
@media (min-width: 880px){
  .air-charts{ grid-template-columns: repeat(2,minmax(0,1fr)); }
}

.air-chart-card{
  border-radius: 16px;
  border: 1px solid var(--border);
  background: var(--card);
  box-shadow: var(--shadow-1);
  padding: 10px 12px 12px;
}

.air-chart-card h4{ margin:0 0 6px 0; font-size:.95rem; }
.air-chart-meta{ margin:0 0 6px 0; font-size:.78rem; color:var(--muted); }

.air-chart-canvas{
  width:100%;
  height:160px;
  display:block;
  background: var(--card);
  border-radius: 12px;
}

/* ===== Resumen ===== */
#air-summary .air-summary-inner{
  border-radius: 16px;
  border: 1px dashed var(--border);
  padding: 12px 14px;

  /* ✅ fallback */
  background: var(--card);

  /* ✅ tu look final */
  background: color-mix(in srgb, var(--card) 88%, var(--brand-soft, #e0f2fe) 12%);
}

#air-summary h3{ margin:0 0 6px 0; font-size:1rem; }
#air-summary p{ margin:4px 0; font-size:.85rem; color:var(--muted); }
#air-summary ul{ margin:6px 0 0 1.1rem; padding:0; font-size:.85rem; color:var(--muted); }

/* Estado vacío / error */
.air-empty, .air-error{
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(148,163,184,.08);
  font-size:.85rem;
  color:var(--muted);
}
