.html-producto .e-tp {
  --verde: #1a7a3c;
  --verde-oscuro: #12592b;
  --verde-suave: #e8f4ec;
  --amarillo: #f9c700;
  --amarillo-suave: #fff6d6;
  --tinta: #22201e;
  --texto: #3a3936;
  --texto-suave: #5d5b57;
  --fondo: #f7f7f4;
  --blanco: #fff;
  --borde: #e4e2dc;
  width: 100%;
  box-sizing: border-box;
  color: var(--texto);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  line-height: 1.6;
}
.html-producto .e-tp h2,
.html-producto .e-tp h3 {
  color: var(--tinta);
  line-height: 1.2;
  margin: 0;
}
.html-producto .e-tp h2 {
  font-size: clamp(22px, 3vw, 28px);
}
.html-producto .e-tp h3 {
  font-size: 17px;
}
.html-producto .e-tp p {
  margin: 0;
}
.html-producto .e-tp figure {
  margin: 0;
}
.html-producto .e-tp img {
  display: block;
  max-width: 100%;
  height: auto;
}
.html-producto .e-tp .e-tp-bloque {
  margin-top: 44px;
}
.html-producto .e-tp .e-tp-bloque h2 {
  margin-bottom: 20px;
}
.html-producto .e-tp .e-tp-portada,
.html-producto .e-tp .e-tp-ecosistema {
  overflow: hidden;
  border: 1px solid var(--borde);
  border-radius: 18px;
  background: var(--blanco);
}
.html-producto .e-tp .e-tp-ecosistema {
  margin-top: 44px;
}
.html-producto .e-tp .e-tp-portada img,
.html-producto .e-tp .e-tp-ecosistema img {
  width: 100%;
}
.html-producto .e-tp .e-tp-portada figcaption,
.html-producto .e-tp .e-tp-ecosistema figcaption {
  padding: 16px 20px;
  color: var(--texto-suave);
  font-size: 15px;
}
.html-producto .e-tp .e-tp-portada figcaption strong,
.html-producto .e-tp .e-tp-ecosistema figcaption strong {
  display: block;
  color: var(--tinta);
  font-size: 16px;
}
.html-producto .e-tp .e-tp-precio {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 28px;
  align-items: center;
  margin-top: 28px;
  padding: 26px 28px;
  border: 2px solid var(--amarillo);
  border-radius: 18px;
  background: var(--amarillo-suave);
}
.html-producto .e-tp-pildora {
  display: inline-block;
  padding: 5px 11px;
  border-radius: 999px;
  background: var(--verde-suave);
  color: var(--verde-oscuro);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .4px;
  text-transform: uppercase;
}
.html-producto .e-tp .e-tp-cifra {
  margin-top: 10px;
  color: var(--verde);
  font-size: 38px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -1px;
}
.html-producto .e-tp .e-tp-cifra small {
  color: var(--texto-suave);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0;
}
.html-producto .e-tp .e-tp-bono {
  margin-top: 4px;
  color: var(--tinta);
  font-size: 15px;
}
.html-producto .e-tp .e-tp-precio-nota {
  font-size: 15px;
}
.html-producto .e-tp .e-tp-pasos {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.html-producto .e-tp .e-tp-pasos li {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 20px;
  border-radius: 14px;
  background: var(--fondo);
  border: 1px solid var(--borde);
}
.html-producto .e-tp .e-tp-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--amarillo);
  color: var(--tinta);
  font-weight: 800;
}
.html-producto .e-tp .e-tp-pasos strong {
  color: var(--tinta);
  font-size: 16px;
  line-height: 1.3;
}
.html-producto .e-tp .e-tp-pasos span {
  color: var(--texto-suave);
  font-size: 14px;
}
.html-producto .e-tp-rejilla {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr));
  gap: 14px;
}
.html-producto .e-tp-tarjeta {
  padding: 20px;
  border: 1px solid var(--borde);
  border-top: 4px solid var(--amarillo);
  border-radius: 14px;
  background: var(--blanco);
}
.html-producto .e-tp .e-tp-tarjeta p {
  margin-top: 8px;
  color: var(--texto-suave);
  font-size: 14px;
}
.html-producto .e-tp .e-tp-nota {
  margin-top: 14px;
  color: var(--texto-suave);
  font-size: 14px;
}
.html-producto .e-tp .e-tp-mismo {
  margin-top: 44px;
  padding: 30px;
  border-radius: 20px;
  background-image: linear-gradient(135deg, #0f4a24 0%, #12592b 50%, #1a7a3c 100%);
}
.html-producto .e-tp .e-tp-mismo h2 {
  margin-bottom: 20px;
  color: #fff;
}
.html-producto .e-tp-tres {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr));
  gap: 14px;
}
.html-producto .e-tp-tres div {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 14px;
  background: rgba(255, 255, 255, .08);
}
.html-producto .e-tp-tres strong {
  color: var(--amarillo);
  font-size: 16px;
}
.html-producto .e-tp-tres span {
  color: #e3efe6;
  font-size: 14px;
}
.html-producto .e-tp-caso {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1fr);
  gap: 22px;
  align-items: center;
  margin-bottom: 22px;
}
.html-producto .e-tp .e-tp-caso img {
  width: 100%;
  border-radius: 14px;
}
.html-producto .e-tp .e-tp-caso p {
  margin-top: 8px;
  color: var(--texto-suave);
  font-size: 15px;
}
.html-producto .e-tp-preguntas {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
  gap: 14px;
}
.html-producto .e-tp-preguntas div {
  padding: 20px;
  border-left: 4px solid var(--verde);
  border-radius: 0 14px 14px 0;
  background: var(--fondo);
}
.html-producto .e-tp .e-tp-preguntas p {
  margin-top: 8px;
  color: var(--texto-suave);
  font-size: 14px;
}
.html-producto .e-tp-botones {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 30px;
}
.html-producto .e-tp-cta {
  display: inline-block;
  padding: 11px 18px;
  border-radius: 10px;
  background: var(--verde);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  transition: background-color .2s ease;
}
.html-producto .e-tp-cta:hover {
  background: var(--verde-oscuro);
  color: #fff;
}
.html-producto .e-tp-cta-secundario {
  background: var(--blanco);
  color: var(--verde-oscuro);
  border: 1px solid #cfe3d6;
}
.html-producto .e-tp-cta-secundario:hover {
  background: var(--verde-suave);
  color: var(--verde-oscuro);
}
@media (max-width: 700px) {
.html-producto .e-tp .e-tp-precio,
.html-producto .e-tp-caso {
  grid-template-columns: 1fr;
}
.html-producto .e-tp .e-tp-precio {
  gap: 12px;
  padding: 22px 18px;
}
.html-producto .e-tp .e-tp-mismo {
  padding: 22px 16px;
}
}