/* El Gualato – Plantillas Premium v4.0.0 */
.single-product.egp-active {
  --egp-title: #6b403d;
  --egp-green: #34745b;
  --egp-green-dark: #155b43;
  --egp-text: #2e332f;
  --egp-muted: #66706a;
  --egp-line: #dfe5e0;
  --egp-soft: #f6f8f5;
  --egp-heading-font: "Amatic SC", cursive;
}

/* Título principal: misma personalidad editorial que Bulbos. */
.single-product.egp-active .product_title,
.single-product.egp-active div.product .summary .product_title {
  color: var(--egp-title) !important;
  font-family: var(--egp-heading-font) !important;
  font-size: clamp(2.7rem, 5vw, 4.2rem) !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  line-height: .98 !important;
  text-transform: none !important;
}

.single-product.egp-active .woocommerce-product-details__short-description,
.single-product.egp-active .woocommerce-Tabs-panel--description,
.single-product.egp-active .product .entry-content {
  color: var(--egp-text);
  font-family: inherit;
}

.egp-short-description {
  margin: 1rem 0 1.35rem;
  padding: .95rem 1.05rem;
  border: 1px solid var(--egp-line);
  border-radius: 8px;
  background: #fff;
  font-size: 1rem;
  line-height: 1.65;
}
.egp-short-description p:last-child { margin-bottom: 0; }

/* Columna editorial amplia, sin cajas innecesarias. */
.egp-premium {
  width: min(100%, 1080px);
  max-width: 1080px;
  margin: 0 auto;
  color: var(--egp-text);
  font-size: 16px;
  line-height: 1.72;
}
.egp-premium__content,
.egp-extra,
.egp-advice { width: 100%; }

.egp-premium h2,
.egp-premium h3,
.egp-premium h4 {
  position: relative;
  width: fit-content;
  max-width: 100%;
  margin: 2.05rem 0 .9rem;
  padding: 0 0 .38rem;
  border: 0;
  color: var(--egp-title) !important;
  font-family: var(--egp-heading-font) !important;
  font-weight: 700 !important;
  letter-spacing: .025em !important;
  line-height: 1 !important;
  text-transform: none !important;
}
.egp-premium h2::after,
.egp-premium h3::after,
.egp-premium h4::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: min(100%, 150px);
  height: 2px;
  background: var(--egp-green);
  content: "";
}
.egp-premium h2 { font-size: clamp(2.15rem, 4vw, 3rem) !important; }
.egp-premium h3 { font-size: clamp(1.85rem, 3.2vw, 2.45rem) !important; }
.egp-premium h4 { font-size: clamp(1.55rem, 2.8vw, 2rem) !important; }

.egp-premium p { margin: 0 0 1.05rem; }
.egp-premium strong { color: var(--egp-green-dark); }
.egp-premium a {
  color: var(--egp-green-dark);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.egp-premium a:hover { text-decoration-thickness: 2px; }

.egp-premium ul,
.egp-premium ol {
  margin: .65rem 0 1.35rem;
  padding-left: 1.25rem;
}
.egp-premium li { margin-bottom: .42rem; padding-left: .18rem; }
.egp-premium li::marker { color: var(--egp-green); font-weight: 700; }

.egp-premium table {
  width: 100%;
  margin: 1.05rem 0 1.7rem;
  border: 1px solid var(--egp-line);
  border-collapse: collapse;
  background: #fff;
  font-size: .95rem;
}
.egp-premium th,
.egp-premium td {
  padding: .72rem .85rem;
  border: 1px solid var(--egp-line);
  text-align: left;
  vertical-align: top;
}
.egp-premium th {
  color: var(--egp-green-dark);
  background: var(--egp-soft);
  font-weight: 700;
}

/* Iconos: solo Consejo, Aprende más y Por qué comprar. */
.egp-heading-icon {
  display: inline-flex;
  width: 24px;
  height: 24px;
  margin-right: .45rem;
  color: var(--egp-green);
  vertical-align: middle;
}
.egp-heading-icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

/* Consejo opcional: único bloque con fondo tenue. */
.egp-advice {
  margin: 2rem 0;
  padding: 1rem 1.15rem 1.05rem;
  border-left: 3px solid var(--egp-green);
  background: var(--egp-soft);
}
.egp-advice h2 { margin-top: 0; }
.egp-advice p:last-child { margin-bottom: 0; }

/* Venta cruzada sobria. */
.egp-related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.1rem;
  margin-top: .85rem;
}
.egp-related-card {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: .85rem;
  align-items: center;
  min-height: 116px;
  padding: .7rem;
  border: 1px solid var(--egp-line);
  border-radius: 7px;
  background: #fff;
  color: var(--egp-text) !important;
  text-decoration: none !important;
  transition: transform .18s ease, border-color .18s ease;
}
.egp-related-card:hover {
  border-color: rgba(52, 116, 91, .45);
  transform: translateY(-2px);
}
.egp-related-card__image img {
  display: block;
  width: 96px;
  height: 96px;
  margin: 0;
  border-radius: 4px;
  object-fit: contain;
}
.egp-related-card__body { display: flex; flex-direction: column; gap: .35rem; min-width: 0; }
.egp-related-card__body strong { color: var(--egp-green-dark); line-height: 1.35; }
.egp-related-card__price { color: var(--egp-green); font-weight: 700; }

.egp-article-links {
  margin-top: .5rem !important;
  padding-left: 1.45rem !important;
}
.egp-article-links li { margin-bottom: .55rem; }

.egp-extra--trust {
  margin-top: 2.2rem;
  padding-top: .15rem;
  border-top: 1px solid var(--egp-line);
}
.egp-extra--trust p { max-width: 850px; }

.egp-premium img { max-width: 100%; height: auto; }
.egp-premium hr { margin: 2rem 0; border: 0; border-top: 1px solid var(--egp-line); }

@media (max-width: 900px) {
  .egp-related-grid { grid-template-columns: 1fr; }
  .egp-related-card { grid-template-columns: 82px minmax(0, 1fr); }
  .egp-related-card__image img { width: 82px; height: 82px; }
}

@media (max-width: 640px) {
  .single-product.egp-active .product_title,
  .single-product.egp-active div.product .summary .product_title {
    font-size: 3rem !important;
  }
  .egp-premium { font-size: 15.5px; line-height: 1.68; }
  .egp-premium h2 { margin-top: 1.8rem; }
  .egp-premium table { display: block; overflow-x: auto; }
  .egp-premium th, .egp-premium td { min-width: 135px; padding: .65rem .72rem; }
  .egp-short-description { padding: .85rem .9rem; }
}

@media (prefers-reduced-motion: reduce) {
  .egp-related-card { transition: none; }
}
