/* ============================================================
   ANT · Kit de ficha de producto (PDP) — bloques de conversión
   Nacido en Getway (Glomax, ago-2026). Portable a cualquier cliente.

   Se configura SOLO con estas variables: redefinilas en :root con
   los colores reales del cliente (extraídos de su logo, no inventados).
   ============================================================ */
.ant{
  --ant-tinta:#002857;        /* color principal: títulos y texto fuerte */
  --ant-accion:#dd0330;       /* color de acción: CTA, ofertas */
  --ant-suave:#eaf1f8;        /* panel suave */
  --ant-borde:#dbe4ee;
  --ant-gris:#5b6e85;
  --ant-ok:#0da44a;
  --ant-alerta-bg:#fff6e8; --ant-alerta-bd:#f0d9a8; --ant-alerta-tx:#7a5b00;
  --ant-hueso:#f5f8fb;
  --ant-r:14px;
  --ant-display:inherit;      /* familia para cifras y títulos */
}

/* ---- galería fija: la foto se queda mientras el contenido baja ---- */
.ant-gal-fija{position:sticky;top:var(--ant-top,90px);align-self:start}
@media (max-width:900px){.ant-gal-fija{position:static}}

/* ---- urgencia por stock ---- */
.ant-urgencia{display:flex;align-items:center;gap:9px;padding:11px 14px;border-radius:10px;
  background:var(--ant-alerta-bg);border:1px solid var(--ant-alerta-bd);color:var(--ant-alerta-tx);
  font-size:13.5px;margin-bottom:13px}
.ant-urgencia svg{width:18px;height:18px;flex:0 0 18px}
.ant-urgencia b{font-weight:800}

/* ---- ventana de entrega ---- */
.ant-entrega{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--ant-tinta);
  padding:11px 14px;background:var(--ant-suave);border-radius:10px;margin-bottom:13px}
.ant-entrega svg{width:18px;height:18px;flex:0 0 18px}

/* ---- fila de confianza ---- */
.ant-conf{background:var(--ant-suave);border:1px solid var(--ant-borde);border-radius:var(--ant-r);
  padding:15px 17px;display:grid;gap:11px;margin-bottom:15px}
.ant-conf__it{display:flex;gap:11px;align-items:flex-start}
.ant-conf__it svg{width:20px;height:20px;flex:0 0 20px;color:var(--ant-tinta);margin-top:2px}
.ant-conf__it b{display:block;font-size:14px;color:var(--ant-tinta)}
.ant-conf__it span{font-size:12.5px;color:var(--ant-gris)}

/* ---- sellos de refuerzo ---- */
.ant-refuerzos{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:15px 0}
.ant-ref{display:flex;gap:9px;align-items:flex-start;padding:11px;border:1px solid var(--ant-borde);
  border-radius:10px;background:#fff}
.ant-ref svg{width:19px;height:19px;flex:0 0 19px;color:var(--ant-tinta);margin-top:1px}
.ant-ref b{display:block;font-size:12.8px;color:var(--ant-tinta);line-height:1.25}
.ant-ref span{font-size:11.5px;color:var(--ant-gris);line-height:1.3}
@media (max-width:600px){.ant-refuerzos{grid-template-columns:1fr}}

/* ---- barra de envío gratis con productos concretos ---- */
.ant-envio{border:2px dashed var(--ant-ok);border-radius:var(--ant-r);padding:14px 15px;
  margin-bottom:15px;background:#f2fbf5}
.ant-envio.ant-envio--ok{background:#eafaf0}
.ant-envio__t{font-size:13.5px;color:var(--ant-tinta);margin-bottom:10px;line-height:1.4}
.ant-envio__t b{font-weight:800}
.ant-envio__lista{display:flex;gap:9px;overflow-x:auto;padding-bottom:4px}
.ant-envio__it{flex:0 0 106px;background:#fff;border:1px solid var(--ant-borde);border-radius:9px;
  padding:7px;text-align:center}
.ant-envio__it img{width:100%;aspect-ratio:1;object-fit:contain;margin-bottom:5px}
.ant-envio__it b{display:block;font-size:11.5px;color:var(--ant-tinta);line-height:1.25;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5em}
.ant-envio__it span{font-size:12px;font-weight:800;color:var(--ant-accion)}
.ant-envio__btn{width:100%;margin-top:10px;padding:11px;border-radius:100px;background:var(--ant-ok);
  color:#fff;font-size:13.5px;font-weight:700;border:0;cursor:pointer}

/* ---- pack armable ---- */
.ant-pack{border:2px solid var(--ant-tinta);border-radius:var(--ant-r);overflow:hidden;margin:18px 0}
.ant-pack__cab{background:var(--ant-tinta);color:#fff;padding:12px 16px;display:flex;align-items:center;gap:10px}
.ant-pack__cab svg{width:19px;height:19px;flex:0 0 19px}
.ant-pack__cab b{font-family:var(--ant-display);font-size:15.5px;font-weight:900}
.ant-pack__cab span{margin-left:auto;background:var(--ant-accion);padding:3px 10px;border-radius:100px;
  font-size:12px;font-weight:800;white-space:nowrap}
.ant-pack__items{padding:14px 16px;display:grid;gap:10px}
.ant-pack__it{display:flex;gap:11px;align-items:center;padding:9px;border-radius:10px;
  border:1px solid var(--ant-borde);cursor:pointer}
.ant-pack__it.on{border-color:var(--ant-ok);background:#f2fbf5}
.ant-pack__it img{width:52px;height:52px;object-fit:contain;background:var(--ant-hueso);
  border-radius:7px;flex:0 0 52px}
.ant-pack__it input{width:19px;height:19px;accent-color:var(--ant-ok);flex:0 0 19px}
.ant-pack__it b{display:block;font-size:13px;font-weight:600;color:var(--ant-tinta);line-height:1.3;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ant-pack__it em{font-style:normal;font-size:13px;font-weight:800;color:var(--ant-tinta);white-space:nowrap}
.ant-pack__it .ant-base{font-size:11.5px;color:var(--ant-gris);font-weight:600}
.ant-pack__pie{background:var(--ant-hueso);padding:13px 16px;border-top:1px solid var(--ant-borde)}
.ant-pack__tot{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}
.ant-pack__tot b{font-family:var(--ant-display);font-size:22px;font-weight:900;color:var(--ant-tinta)}
.ant-pack__ahorro{font-size:13px;color:var(--ant-ok);font-weight:800;margin-bottom:10px}
.ant-pack__ahorro[hidden]{display:none}

/* ---- tabla comparativa ---- */
.ant-compara{margin-top:34px;overflow-x:auto}
.ant-compara table{width:100%;border-collapse:collapse;min-width:560px;font-size:14px}
.ant-compara th,.ant-compara td{padding:12px 13px;border-bottom:1px solid var(--ant-borde);text-align:left}
.ant-compara thead th{background:var(--ant-hueso);font-size:12px;text-transform:uppercase;
  letter-spacing:.07em;color:var(--ant-gris);font-weight:800}
.ant-compara tbody th{font-weight:600;color:var(--ant-tinta);width:170px}
.ant-compara .ant-est{background:#f2fbf5}
.ant-compara .ant-est{color:var(--ant-ok);font-weight:700}
.ant-compara img{width:44px;height:44px;object-fit:contain;background:#fff;border-radius:6px}

/* ---- reseñas ---- */
.ant-resenas{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:16px}
.ant-resena{border:1px solid var(--ant-borde);border-radius:var(--ant-r);padding:16px;background:#fff}
.ant-resena__est{display:flex;gap:2px;margin-bottom:8px}
.ant-resena__est svg{width:14px;height:14px;color:#f0b429}
.ant-resena p{font-size:14px;margin-bottom:9px;line-height:1.55}
.ant-resena__quien{font-size:12.5px;color:var(--ant-gris)}
.ant-resena__quien b{color:var(--ant-tinta)}

/* ---- barra de compra fija en mobile ---- */
.ant-sticky{position:fixed;left:0;right:0;bottom:0;background:#fff;box-shadow:0 -4px 18px rgba(0,40,87,.13);
  padding:11px 16px;display:none;align-items:center;gap:13px;z-index:70}
.ant-sticky.on{display:flex}
.ant-sticky img{width:44px;height:44px;object-fit:contain;background:var(--ant-hueso);border-radius:7px}
.ant-sticky__p{font-family:var(--ant-display);font-weight:900;color:var(--ant-tinta);font-size:17px}
.ant-sticky__t{font-size:11.5px;color:var(--ant-gris);line-height:1.2;max-width:150px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ant-sticky>:last-child{margin-left:auto;flex:0 0 auto}
@media (min-width:901px){.ant-sticky{display:none!important}}

/* ⚠️ Gotcha estructural: si la PDP es un grid y una columna contiene una tira flex
   con overflow-x (miniaturas), la columna se estira y desborda en mobile.
   Siempre: columnas minmax(0,·) y min-width:0 en los hijos. */
.ant-pdp-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:44px;align-items:start}
.ant-pdp-grid>*{min-width:0}
@media (max-width:900px){.ant-pdp-grid{grid-template-columns:minmax(0,1fr);gap:24px}}

/* marcador cuando el producto no trae foto (el bloque no debe quedar vacío) */
.ant-sinfoto{display:block;width:52px;height:52px;flex:0 0 52px;border-radius:7px;
  background:repeating-linear-gradient(45deg,var(--ant-hueso),var(--ant-hueso) 6px,#fff 6px,#fff 12px);
  border:1px solid var(--ant-borde)}
.ant-envio__it .ant-sinfoto,.ant-compara .ant-sinfoto{width:100%;height:auto;aspect-ratio:1;margin:0 auto 5px}
.ant-compara .ant-sinfoto{width:44px;height:44px}
