/* ==========================================================================
   PÁGINA DE PRODUCTO  (/producto?id=…)
   ========================================================================== */
.prodMain{ padding:26px 0 70px; }

.prodVolver{
  display:inline-block; margin:6px 0 18px;
  font-size:13px; font-weight:700; color:var(--azul);
  text-decoration:none; touch-action:manipulation;
}
.prodVolver:hover{ text-decoration:underline; }

.prodCargando{ padding:60px 0; text-align:center; color:var(--gris); font-size:14px; }

/* ------------------------------------------------------------- la ficha */
.prodFicha{
  display:grid; grid-template-columns:minmax(0,48%) minmax(0,1fr); gap:30px;
  align-items:start;
}

.prodFoto{
  position:relative;
  display:grid; place-items:center;
  background:#fff; border:1px solid var(--linea-2); border-radius:var(--r-md, 16px);
  padding:28px; box-shadow:var(--sh-card);
}
.prodFoto img{ width:100%; max-height:460px; object-fit:contain; }
.prodFoto__badge{
  position:absolute; left:16px; top:16px;
  background:var(--azul); color:#fff;
  font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  padding:6px 11px; border-radius:999px;
}
.prodFoto__badge--off{ background:#6B7385; }

.prodDatos{ padding-top:6px; }
.prodChip{
  display:inline-block;
  font-size:10.5px; font-weight:800; letter-spacing:.12em; text-transform:uppercase;
  color:var(--azul); background:#EAF2FE; padding:6px 12px; border-radius:999px;
  margin-bottom:14px;
}
.prodTitulo{
  font-size:32px; font-weight:800; letter-spacing:-.015em; line-height:1.15;
  color:var(--tinta); margin-bottom:10px;
}
.prodSub{ font-size:15px; font-weight:500; color:#4A5163; margin-bottom:16px; }

.prodPrecioFila{
  display:flex; align-items:baseline; gap:16px; flex-wrap:wrap;
  padding:16px 0; border-top:1px solid var(--linea-2); border-bottom:1px solid var(--linea-2);
  margin-bottom:18px;
}
.prodPrecio{ font-size:30px; font-weight:800; color:var(--tinta); }
.prodPrecio--ask{ font-size:19px; color:var(--azul); }
.prodStock{ font-size:13px; font-weight:600; color:#6B7385; }
.prodStock--off{ color:#B4443C; }

.prodDesc{ font-size:15px; font-weight:400; line-height:1.75; color:#3A4054; margin-bottom:24px; }

.prodBtns{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:22px; }
.prodBtn{ justify-content:center; height:52px; touch-action:manipulation; }
.prodBtn .ico{ width:18px; height:18px; }
.prodBtn[disabled]{ background:#E6EAF1; color:#8A92A6; box-shadow:none; cursor:not-allowed; }
.btn--wa{
  background:#1FB358; color:#fff; border:0;
  box-shadow:0 10px 22px rgba(31,179,88,.26);
}
.btn--wa:hover{ background:#189A4A; }

.prodNotas{ display:grid; gap:11px; }
.prodNotas li{
  display:flex; align-items:flex-start; gap:10px;
  font-size:13px; line-height:1.6; color:#4A5163;
}
.prodNotas .ico{ width:18px; height:18px; color:var(--azul); flex:none; margin-top:1px; }

/* --------------------------------------------------------- relacionados */
.prodRel{ margin-top:70px; }
.prodRel .secTitle{ margin-bottom:26px; }
.prodRel .catGrid{ margin-top:0; }

/* ------------------------------------------------------------- sin datos */
.prodVacio{ padding:70px 0 90px; text-align:center; }
.prodVacio h1{ font-size:26px; font-weight:800; color:var(--tinta); margin-bottom:10px; }
.prodVacio p{ font-size:14px; color:var(--gris); margin-bottom:22px; }

@media (max-width:900px){
  .prodFicha{ grid-template-columns:1fr; gap:22px; }
  .prodFoto{ padding:20px; }
  .prodFoto img{ max-height:320px; }
  .prodTitulo{ font-size:25px; }
  .prodPrecio{ font-size:26px; }
  .prodBtns{ grid-template-columns:1fr; }
  .prodRel{ margin-top:52px; }
}
