﻿/* ==========================================================
   MÓDULO: CARDS KPI (Turismo en cifras) – DataTur5Beta
   Responsabilidad: grid de KPIs + cards + hero card + responsive
   ========================================================== */

/* ==========================================================
   Contenedor principal (grid)
   ========================================================== */
.seccion-turismo{

  display:grid;
  grid-template-columns:repeat(3,minmax(280px,1fr));
  gap:20px;
  box-sizing:border-box;
  background: transparent;
  box-shadow: none;
  border-radius:0;
  overflow: visible;
  padding:clamp(8px,2w,16px);
  
  /* Color base: evita !important global */
  color:#161a1d;
}

/* Herencia de color en el módulo */
.seccion-turismo *{
  color: inherit;
}

/* ==========================================================
   Card base
   ========================================================== */
.card{
  font-family: inherit;
  background: rgba(255,255,255,.85);
  border: 1px solid rgba(0,0,0,.08);
  border-radius:14px;
  box-shadow:0 6px 18px rgba(0,0,0,.12);

  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;

  padding:clamp(14px,2.2vw,22px);
  aspect-ratio:5/3;
  min-height:320px;

  min-width: 0; /* anti-desbordes en grid */
}

/* ==========================================================
   Tipografía unificada
   ========================================================== */
.title-lg,
.card .title,
.card-hero .hero-title{
  font-size: clamp(1.2rem, 2.6vw, 1.8rem);
  font-weight: 800;
  line-height: 1.2;
  margin: 0 0 .45em 0;
}

.kpi-value,
.card-hero .kpi .value{
  font-size: clamp(1.6rem, 4.8vw, 3.8rem);
  font-weight: 800;
  letter-spacing: .4px;
  display: inline-block;
  margin: .15em 0 .25em;
  white-space: nowrap;
}

.unit,
.card .unit,
.card-hero .unit{
  font-size: clamp(.95rem, 1.9vw, 2rem);
  font-weight: 600;
  opacity: .95;
  line-height: 1.25;
}

.note,
.card .note{
  font-size: clamp(.95rem, 1.9vw, 2rem);
  opacity: .85;
  margin-top: .35em;
  line-height: 1.25;
}

/* ==========================================================
   Variación (delta) – corregido (tenías un bloque “huérfano”)
   ========================================================== */
.delta{
  font-size: clamp(.9rem, 1.7vw, 1.05rem);
  font-weight: 800;
  margin: .35em 0;

  padding: 0.4em 0.8em;
  border-radius: 12px;
  display: inline-block;
}

.delta.up   { color: var(--c-up, #31e1a0);   background: rgba(49,225,160,.12); }
.delta.down { color: var(--c-down, #ff6b6b); background: rgba(255,107,107,.12); }


/* ==========================================================
   Variación KPI – versión destacada (×2)
   ========================================================== */
.card .delta,
.card .chip{
  font-size: clamp(1.35rem, 2.9vw, 2.1rem); /* ← aquí está el ×2 */
  padding: 0.55em 1.05em;
  border-radius: 999px; /* más “pastilla KPI” */
}

/* Flecha un poco más grande */
.card .delta .tri,
.card .chip .tri{
  font-size: 1.15em;
}


/* ==========================================================
   Card HERO (layout especial)
   ========================================================== */
.card-hero{
  display:grid;
  grid-template-columns: clamp(64px,9vw,96px) 6px 1fr;
  align-items:center;
  text-align:left;
}

.card-hero .hero-left{
  display:flex;
  align-items:center;
  justify-content:center;
}

.card-hero .hero-left .ico{
  font-size: clamp(2.2rem, 6vw, 4rem);
  line-height:1;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.18));
}

.card-hero .vline{
  width:3px;
  height:80%;
  background: linear-gradient(180deg, rgba(0,0,0,.22), rgba(0,0,0,.10));
  border-radius:3px;
  justify-self:center;
}

.card-hero.sin-linea .vline { display:none; }

.card-hero .hero-content{
  padding-left: clamp(10px,1.8vw,18px);
  min-width: 0; /* anti-desbordes */
}

/* Hero title: evita cortes feos */
.hero-title{
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: auto;
  margin-bottom: .35em;
}

/* ==========================================================
   Chip (pastilla)
   ========================================================== */
.chip{
  display:inline-flex;
  align-items:center;
  gap:.45em;

  padding:.35em .75em;
  border-radius:10px;

  font-size: 1.05rem;
  font-weight:800;

  backdrop-filter: blur(3px);
  border:1px solid rgba(0,0,0,.10);
}

.chip .tri{
  font-size: 1em;
  line-height: 1;
}

.chip.up   { color: var(--c-up, #31e1a0);   background: rgba(49,225,160,.12); }
.chip.down { color: var(--c-down, #ff6b6b); background: rgba(255,107,107,.12); }

/* Icono como imagen (si usas <img>) */
.card-icon img{
  width:80px;
  height:80px;
  object-fit:contain;
  display:block;
  margin:0 auto;
}




/* ==========================================================
   Responsive
   ========================================================== */

/* Tablet (≤1199px): 2 columnas */
@media (max-width:1199px){
  .seccion-turismo{
    grid-template-columns: repeat(2, minmax(260px, 1fr));
  }

  .card{
    aspect-ratio: 16 / 10;
    min-height: 220px;
    padding: clamp(12px, 2.2vw, 20px);
  }

  .card-hero{
    grid-template-columns: clamp(56px, 8vw, 72px) 4px 1fr;
  }

  .card-hero .hero-title{
    font-size: clamp(1.05rem, 2.2vw, 1.5rem);
  }

  .kpi-value,
  .card-hero .kpi .value{
    font-size: clamp(1.5rem, 4.2vw, 2.1rem);
  }
}

/* Móvil (≤767px): 1 columna */
@media (max-width:767px){
  .seccion-turismo{
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .card{
    aspect-ratio: auto;
    min-height: 180px;
    padding: 16px;
  }

  .card-hero{
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
  }

  .card-hero .hero-left{
    justify-content: flex-start;
  }

  .card-hero .vline{ display:none; }

  .card-hero .hero-content{
    padding-left: 0;
    margin-top: 6px;
  }
}

.card-icon{
  width:64px;
  height:64px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background: rgba(0,0,0,.06);
}

.card-icon img{
  max-width:70%;
  max-height:70%;
  object-fit:contain;
  filter: drop-shadow(0 1px 3px rgba(0,0,0,.35));
}
