/* Página individual de producto */
.pdp { padding-top: var(--s-5); }
.pdp__breadcrumb { font-size: 0.82rem; color: var(--gris-calido); margin-bottom: var(--s-4); }
.pdp__breadcrumb a:hover { color: var(--verde-profundo); }

.pdp__top { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-7); align-items: start; margin-bottom: var(--s-8); }

/* Galería */
.pdp__gallery { position: sticky; top: 100px; }
.pdp__stage {
  position: relative; border-radius: var(--radio-lg); overflow: hidden;
  aspect-ratio: 1/1; display: flex; align-items: center; justify-content: center;
  background: var(--gris-claro);
}
.pdp__stage::before {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(circle at 50% 55%, var(--acento-tint, rgba(31,61,46,0.16)), transparent 68%);
}
.pdp__stage img { position: relative; max-height: 80%; max-width: 90%; width: auto; height: auto; aspect-ratio: auto; }
.pdp__thumbs { display: flex; gap: var(--s-3); margin-top: var(--s-3); }
.pdp__thumb {
  width: 76px; height: 76px; border-radius: var(--radio-sm); border: 1.5px solid var(--gris-linea);
  background: var(--gris-claro); display: flex; align-items: center; justify-content: center; padding: 6px;
  cursor: pointer; transition: border-color .25s;
}
.pdp__thumb.is-active { border-color: var(--acento); }
.pdp__thumb img { max-height: 100%; width: auto; }

/* Info */
.pdp__cat { font-size: 0.78rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--acento); }
.pdp__title { margin: var(--s-2) 0 6px; }
.pdp__present { color: var(--gris-calido); font-size: 0.95rem; }
.pdp__rating { display: flex; align-items: center; gap: var(--s-2); margin: var(--s-3) 0; }
.pdp__rating .stars { color: var(--oro-suave); letter-spacing: 2px; }
.pdp__rating small { color: var(--gris-calido); }
.pdp__price { font-size: 2rem; font-weight: 600; color: var(--verde-casi-negro); margin: var(--s-3) 0 var(--s-4); font-family: var(--font-head); }
.pdp__price span { font-size: 0.9rem; font-weight: 500; color: var(--gris-calido); }
.pdp__desc { font-size: 1.08rem; margin-bottom: var(--s-4); }
.pdp__benefits-quick { display: flex; flex-direction: column; gap: 10px; margin-bottom: var(--s-5); }
.pdp__benefits-quick li { display: flex; align-items: flex-start; gap: 10px; color: var(--texto); font-size: 0.98rem; }
.pdp__benefits-quick svg { color: var(--acento); flex-shrink: 0; margin-top: 4px; }
.pdp__actions { display: flex; flex-direction: column; gap: var(--s-3); margin-bottom: var(--s-5); }
.pdp__reassurance { display: flex; gap: var(--s-4); flex-wrap: wrap; padding-top: var(--s-4); border-top: 1px solid var(--gris-linea); }
.pdp__reassurance span { display: flex; align-items: center; gap: 8px; font-size: 0.82rem; color: var(--gris-calido); }
.pdp__reassurance svg { color: var(--acento); }

/* Bloque "qué hace único" */
.pdp__unique { background: var(--verde-casi-negro); color: var(--blanco-calido); }
.pdp__unique h2, .pdp__unique h3 { color: var(--blanco-calido); }
.pdp__unique .feature p { color: rgba(247,246,242,0.7); }

/* Beneficios detallados */
.benefit-card { background: var(--blanco-puro); border: 1px solid var(--gris-linea); border-radius: var(--radio); padding: var(--s-5); }
.benefit-card h4 { color: var(--verde-casi-negro); margin-bottom: 6px; }
.benefit-card p { font-size: 0.94rem; }
.benefit-card__num { font-family: var(--font-head); font-size: 1.4rem; color: var(--acento); margin-bottom: var(--s-2); }

/* Tabla técnica */
.tech { max-width: 820px; margin: 0 auto; background: var(--blanco-puro); border: 1px solid var(--gris-linea); border-radius: var(--radio); overflow: hidden; }
.tech__row { display: grid; grid-template-columns: 220px 1fr; gap: var(--s-4); padding: var(--s-4) var(--s-5); border-bottom: 1px solid var(--gris-linea); }
.tech__row:last-child { border-bottom: none; }
.tech__label { font-weight: 600; color: var(--verde-casi-negro); font-size: 0.92rem; }
.tech__value { color: var(--texto-suave); font-size: 0.96rem; }

.usage-box { max-width: 720px; margin: 0 auto; text-align: center; }
.usage-box__icon { width: 60px; height: 60px; margin: 0 auto var(--s-3); color: var(--acento); display: flex; align-items: center; justify-content: center; }

@media (max-width: 860px) {
  .pdp__top { grid-template-columns: 1fr; gap: var(--s-5); }
  .pdp__gallery { position: static; }
  .tech__row { grid-template-columns: 1fr; gap: 4px; padding: var(--s-3) var(--s-4); }
}
