/* =====================================================
   CATÁLOGO (se carga después de styles.css y usa sus variables)
   ===================================================== */
.catalogo-root{margin-top:6px}
.cargando{color:var(--gris);padding:20px 0}

/* Pestañas de línea */
.cat-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.cat-tab{
  min-height:68px;border-radius:14px;border:2px solid var(--linea);background:var(--blanco);
  color:var(--tinta);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;
  font:400 1.2rem/1.15 'DM Serif Display',Georgia,serif;-webkit-tap-highlight-color:transparent;
}
.cat-tab small{font:500 .78rem/1.3 'DM Sans',Arial,sans-serif;color:var(--gris)}
.cat-tab[aria-selected="true"].cat-nut{background:var(--vino);border-color:var(--vino);color:#fff}
.cat-tab[aria-selected="true"].cat-nut small{color:#fff}
.cat-tab[aria-selected="true"].cat-cos{background:var(--rosa);border-color:var(--rosa);color:var(--tinta)}
.cat-tab[aria-selected="true"].cat-cos small{color:var(--tinta)}

/* Categorías: se deslizan de lado en el celular */
.cat-chips{
  display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;
  margin:0 calc(var(--pad) * -1);padding:2px var(--pad) 10px;
}
.cat-chips::-webkit-scrollbar{display:none}
.cat-chip{
  flex:0 0 auto;min-height:44px;padding:0 16px;border-radius:999px;scroll-snap-align:start;
  border:1.5px solid var(--linea);background:var(--blanco);color:var(--tinta);cursor:pointer;
  font:500 .92rem/1 'DM Sans',Arial,sans-serif;
}
.cat-chip[aria-pressed="true"]{background:var(--tinta);border-color:var(--tinta);color:#fff}
.cat-cuenta{font-size:.85rem;color:var(--gris);margin:4px 0 10px}

/* Lista de productos: filas, no cuadrícula */
.cat-lista{list-style:none;display:grid;gap:12px}
.cat-card{
  display:flex;gap:14px;align-items:stretch;width:100%;text-align:left;
  background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r);
  padding:12px;color:inherit;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;
}
.cat-card:active{border-color:var(--vino)}
.cat-img{
  flex:0 0 104px;height:128px;border-radius:12px;overflow:hidden;
  display:flex;align-items:center;justify-content:center;background:var(--rosa-cl);
}
.l-omnilife .cat-img{background:#F1E3E3}
.cat-img img{width:100%;height:100%;object-fit:contain;padding:6px}
.sin-img{display:block;padding:8px;text-align:center;font-size:.72rem;line-height:1.3;color:var(--gris);word-break:break-word}
.cat-info{display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0}
.cat-nombre{font:400 1.25rem/1.2 'DM Serif Display',Georgia,serif}
.cat-desc{font-size:.9rem;line-height:1.45;color:var(--gris)}
.cat-ver{margin-top:4px;font-weight:700;font-size:.9rem;color:var(--vino-osc);text-decoration:underline;text-underline-offset:3px}
.cat-mas{margin-top:16px;display:flex}

/* Hoja de información (sube desde abajo en el celular) */
.hoja{position:fixed;inset:0;z-index:60}
.hoja-fondo{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.hoja-panel{
  position:absolute;left:0;right:0;bottom:0;max-height:92vh;max-height:92dvh;
  background:var(--crema);border-radius:22px 22px 0 0;display:flex;flex-direction:column;outline:none;
}
.hoja-x{
  position:absolute;top:10px;right:10px;z-index:2;width:44px;height:44px;border-radius:50%;
  border:0;background:var(--blanco);color:var(--tinta);font-size:1.7rem;line-height:1;cursor:pointer;
  box-shadow:0 2px 8px rgba(0,0,0,.2);
}
.hoja-cuerpo{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:18px var(--pad) 10px}
.hoja-pie{
  padding:12px var(--pad) calc(14px + env(safe-area-inset-bottom,0px));
  border-top:1px solid var(--linea);background:var(--crema);
}
.hoja-img{
  height:210px;border-radius:14px;background:var(--rosa-cl);margin-bottom:14px;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.hoja-img img{width:100%;height:100%;object-fit:contain;padding:10px}
.hoja h3{font-size:1.7rem;margin-bottom:2px}
.hoja-meta{font-size:.85rem;font-weight:700;color:var(--vino-osc);margin-bottom:8px}
.hoja-desc{color:var(--tinta);margin-bottom:6px}
.hoja-porcion{font-size:.88rem;color:var(--gris);margin-bottom:12px}
.ficha{margin-top:8px}
.datos{list-style:none;padding-bottom:10px}
.datos li{padding:8px 0;border-bottom:1px solid var(--linea);font-size:.93rem;line-height:1.45}
.datos li:last-child{border-bottom:0}
.sin-ficha{background:var(--blanco);border:1px dashed var(--linea);border-radius:12px;padding:14px;color:var(--gris)}
.aviso{
  background:#FFF1DC;color:var(--tinta);border-left:4px solid #B2926A;
  border-radius:10px;padding:12px 14px;margin:14px 0;font-size:.92rem;
}
.aviso ul{margin:6px 0 0 18px}
.hoja-legal{font-size:.78rem;color:var(--gris);margin:12px 0 8px}

/* Pantallas grandes */
@media (min-width:860px){
  .cat-chips{margin:0;padding-inline:0;flex-wrap:wrap;overflow:visible}
  .cat-lista{grid-template-columns:1fr 1fr;gap:14px}
  .cat-img{flex-basis:124px;height:150px}
  .hoja-panel{
    left:50%;right:auto;top:50%;bottom:auto;transform:translate(-50%,-50%);
    width:560px;max-height:88vh;max-height:88dvh;border-radius:22px;
  }
}

/* =====================================================
   TESTS (los usan test-nutri.js y test-seytu.js)
   ===================================================== */
.test-card{margin-top:4px}
.test-prog{height:4px;background:var(--linea);border-radius:4px;margin-bottom:14px;overflow:hidden}
.test-prog i{display:block;height:100%;background:var(--vino)}
.test-hint{font-size:.9rem;color:var(--gris);margin:-4px 0 12px}
.test-card h3{font-size:1.5rem;margin-bottom:8px}
.test-nota{font-size:.82rem;color:var(--gris);margin:0 0 6px}
.test-res{display:flex;gap:14px;padding:14px 0;border-top:1px solid var(--linea)}
.test-res .cat-img{flex:0 0 84px;height:104px}
.test-res b{font:400 1.2rem/1.2 'DM Serif Display',Georgia,serif}
.test-res p{font-size:.92rem;color:var(--gris);margin:4px 0 2px}
.test-ver{background:none;border:0;padding:0;min-height:44px;font:700 .9rem 'DM Sans',Arial,sans-serif;color:var(--vino-osc);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.test-aviso{background:#FFF1DC;color:var(--tinta);border-left:4px solid #B2926A;border-radius:10px;padding:12px 14px;margin:10px 0 14px;font-size:.92rem}
.test-card .btn-wa{margin-top:12px}
.test-momento{display:inline-block;margin:4px 0 0;padding:2px 10px;border-radius:999px;background:var(--rosa-cl);color:var(--tinta);font-size:.78rem;font-weight:700}
.test-sub{font:400 1.2rem/1.2 'DM Serif Display',Georgia,serif;margin:18px 0 0;padding-top:14px;border-top:2px solid var(--tinta)}
.test-mini{font-size:.82rem;color:var(--gris);margin:2px 0 4px}
