/**
 * Fichas de catálogo — anula estilos legacy de estilos.css y mejora legibilidad
 */

.catalog-page {
  width: 100%;
  max-width: var(--container, min(1380px, calc(100% - 2rem)));
  margin: 0 auto;
  padding: 1.5rem 1rem 4rem;
  overflow: visible;
  float: none;
  position: relative;
  z-index: 1;
  background: transparent;
}

/* Títulos legacy con fondo negro */
.catalog-page h1,
.catalog-page #main-productos h1,
.catalog-page .subtitulo,
.catalog-page .frase-subtitulo {
  float: none !important;
  width: auto !important;
  background: none !important;
  color: var(--v-gray-900, #1a211c) !important;
  font-family: var(--font-display, "DM Sans", sans-serif) !important;
  font-weight: 800 !important;
  text-align: left !important;
  padding: 0 !important;
  margin: 1.5rem 0 0.75rem !important;
  font-size: clamp(1.35rem, 2.5vw, 1.75rem) !important;
  line-height: 1.25 !important;
}

.catalog-page h2,
.catalog-page h3,
.catalog-page h4 {
  font-family: var(--font-display, "DM Sans", sans-serif);
  color: var(--v-gray-900);
  margin-top: 2rem;
  margin-bottom: 0.75rem;
  line-height: 1.3;
}

.catalog-page h2 {
  font-size: clamp(1.2rem, 2vw, 1.45rem);
  padding-bottom: 0.35rem;
  border-bottom: 2px solid var(--v-green-soft, #e8f5ec);
}

.catalog-page p {
  color: var(--v-gray-700);
  line-height: 1.65;
  margin-bottom: 1rem;
}

.catalog-page .descrip-productos p,
.catalog-page .catalog-ficha-prose > .descrip-productos p {
  max-width: 72ch;
}

.catalog-page ul,
.catalog-page ol {
  padding: 0 0 0 1.35rem !important;
  margin: 0.75rem 0 1.25rem !important;
}

.pg-layout--catalog .catalog-shop-category-seo-body p,
.pg-layout--catalog .catalog-shop-category-seo-body ul,
.pg-layout--catalog .catalog-shop-category-seo-body ol {
  max-width: none;
}

.catalog-page li {
  margin-top: 0.4rem !important;
  margin-bottom: 0.4rem;
  line-height: 1.55;
  color: var(--v-gray-700);
}

.catalog-page a:not(.btn-buy-hero):not(.btn-buy-hero-outline):not(.btn-buy-catalog):not(.btn-silo):not(.catalog-help-btn) {
  color: var(--v-green, #027924);
  font-weight: 500;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.catalog-page a:not(.btn-buy-hero):not(.btn-buy-hero-outline):not(.btn-buy-catalog):not(.btn-silo):not(.catalog-help-btn):hover {
  color: var(--v-green-dark, #015a1c);
}

.catalog-page a[href="#comprar"] {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.45rem 1rem;
  background: var(--v-green);
  color: var(--v-white) !important;
  text-decoration: none !important;
  border-radius: var(--radius-pill, 999px);
  font-weight: 600;
  font-size: 0.9rem;
  margin: 0.25rem 0;
}

.catalog-page a[href="#comprar"]:hover {
  background: var(--v-green-dark);
  color: var(--v-white) !important;
}

.catalog-page img:not(.catalog-buy-item-media img):not(.catalog-product-gallery-main):not(.catalog-product-gallery-thumb img):not(.catalog-ficha-prose--product img) {
  max-width: 100%;
  height: auto;
  border-radius: var(--radius-md, 12px);
}

.catalog-page table {
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  font-size: 0.92rem;
  background: #fff;
  border-radius: var(--radius-md, 12px);
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(15, 20, 16, 0.06);
  display: table;
}

.catalog-page table th,
.catalog-page table td {
  padding: 0.65rem 0.85rem;
  border: 1px solid var(--v-gray-100, #f4f7f5);
  text-align: left;
}

.catalog-page table th {
  background: var(--v-green-soft, #e8f5ec);
  color: var(--v-green-dark, #015a1c);
  font-weight: 700;
}

.catalog-page blockquote {
  margin: 1.5rem 0;
  padding: 1rem 1.25rem;
  border-left: 4px solid var(--v-green, #027924);
  background: var(--v-green-soft, #e8f5ec);
  border-radius: 0 var(--radius-md, 12px) var(--radius-md, 12px) 0;
  color: var(--v-gray-700);
  font-style: italic;
}

.catalog-page .aviso,
.catalog-page [class*="aviso"] {
  padding: 1rem 1.15rem;
  background: #fffbeb;
  border: 1px solid #fcd34d;
  border-radius: var(--radius-md);
  margin: 1rem 0;
  font-size: 0.92rem;
}

.catalog-page .div-producto,
.catalog-page .producto,
.catalog-page [class*="producto"] {
  max-width: 100%;
}

/* Bloques de medidas / fichas técnicas (hub y páginas sin compra) */
.catalog-page:not(.catalog-page--product) .f-malla,
.catalog-page:not(.catalog-page--product) [class*="ficha"]:not(.fichas-tecnicas) {
  background: var(--v-gray-100);
  border-radius: var(--radius-md);
  padding: 1rem 1.25rem;
  margin: 1rem 0;
  border: 1px solid rgba(2, 121, 36, 0.08);
}

.catalog-page .gallery {
  display: inline-block;
  margin: 0.5rem 0;
}

/* Calculadora CTA dentro de contenido */
.catalog-page a[href*="calculadora"] {
  font-weight: 600;
}

/* Espaciado tras bloque compra */
.catalog-page > .catalog-buy-hero + * {
  margin-top: 0;
}

/* Jump anchor */
#comprar {
  scroll-margin-top: calc(var(--nav-height, 72px) + 1rem);
}

/* Ocultar H1/CTA legacy duplicados cuando hay bloque de compra moderno */
.has-catalog-buy .catalog-page > h1:first-of-type,
.has-catalog-buy .catalog-page > h2.subtitulo:first-of-type,
.has-catalog-buy .catalog-page > .frase-subtitulo:first-of-type {
  display: none !important;
}

.has-catalog-buy .catalog-page > a[href="#comprar"]:not(.btn-buy-hero):not(.btn-buy-hero-outline) {
  display: none !important;
}

.catalog-page-content {
  margin-top: 0.5rem;
}

/* Botones flotantes por encima de sticky pero coherentes */
body.has-buy-sticky .btn-calculadora {
  bottom: 5.5rem !important;
}

body.has-buy-sticky .btn-llamada {
  bottom: 5.5rem !important;
}

@media (max-width: 620px) {
  body.has-buy-sticky .btn-whatsapp {
    bottom: 5.75rem !important;
  }
}

/* ——— Fichas de producto CMS (catálogo sin #productos) ——— */

.catalog-page .enlaces-ficha-producto {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin: 0 0 2rem;
  padding: 0;
}

.catalog-page .enlaces-ficha-producto a {
  display: inline-flex !important;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.35rem !important;
  background: var(--v-green) !important;
  color: #fff !important;
  text-decoration: none !important;
  border-radius: var(--radius-pill) !important;
  font-weight: 700 !important;
  font-size: 0.92rem !important;
  box-shadow: 0 4px 14px rgba(2, 121, 36, 0.3);
  transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.catalog-page .enlaces-ficha-producto a:hover {
  background: var(--v-green-dark) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(2, 121, 36, 0.35);
}

.catalog-page .productos-destacados {
  margin: 2rem 0 1.5rem;
  padding: 1.75rem;
  background: var(--v-gray-100);
  border-radius: var(--radius-lg);
  border: 1px solid rgba(2, 121, 36, 0.08);
}

.catalog-page .productos-destacados h2 {
  margin-top: 0 !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

.catalog-page .titulo-grid-productos,
.catalog-page h2.titulo-grid-productos {
  margin: 2.5rem 0 1.25rem !important;
  font-size: clamp(1.2rem, 2.2vw, 1.45rem) !important;
  font-weight: 800 !important;
  color: var(--v-gray-900) !important;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--v-green-soft);
}

/* Grid tipos de malla / producto */
.catalog-page .productos {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.25rem;
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 2.5rem !important;
  padding: 0 !important;
  float: none !important;
  left: auto !important;
}

.catalog-page .productos > a {
  display: flex !important;
  flex-direction: column;
  width: 100% !important;
  min-height: 100%;
  margin: 0 !important;
  float: none !important;
  background: var(--v-white);
  border: 1px solid rgba(2, 121, 36, 0.1);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  text-decoration: none !important;
  color: inherit !important;
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.catalog-page .productos > a:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-md);
  border-color: rgba(2, 121, 36, 0.22);
  color: inherit !important;
}

.catalog-page .productos > a img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover;
  margin: 0 !important;
  border-radius: 0 !important;
  transition: transform 0.4s ease;
}

.catalog-page .productos > a:hover img {
  transform: scale(1.04);
}

.catalog-page .productos > a h2,
.catalog-page .productos > a h3 {
  margin: 0 !important;
  padding: 1rem 1.15rem 0.35rem !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  color: var(--v-gray-900) !important;
  text-align: left !important;
  background: none !important;
  line-height: 1.25 !important;
}

.catalog-page .productos > a h3::before,
.catalog-page .productos > a h2::before {
  display: none !important;
}

.catalog-page .productos > a > p {
  margin: 0 !important;
  padding: 0 1.15rem 1rem !important;
  font-size: 0.88rem !important;
  color: var(--v-gray-500) !important;
  line-height: 1.55 !important;
  text-align: left !important;
  flex: 1;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.catalog-page .productos > a::after {
  content: "Ver ficha";
  display: block;
  margin-top: auto;
  padding: 0.75rem 1.15rem 1.1rem;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--v-green);
}

.catalog-page .productos > a:hover::after {
  color: var(--v-green-dark);
}

/* Accesorios relacionados */
.catalog-page .productos-inicio {
  margin: 2.5rem 0;
  padding: 1.75rem;
  background: linear-gradient(180deg, var(--v-white) 0%, var(--v-gray-100) 100%);
  border-radius: var(--radius-lg);
  border: 1px solid rgba(2, 121, 36, 0.08);
}

.catalog-page .productos-inicio h2 {
  margin-top: 0 !important;
  text-align: center;
  border: none !important;
}

.catalog-page .productos-inicio .container {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 1rem;
  width: 100% !important;
  max-width: none !important;
  margin: 1.25rem 0 0 !important;
  padding: 0 !important;
}

.catalog-page .productos-inicio .container > a {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 1rem 0.75rem !important;
  background: var(--v-white);
  border-radius: var(--radius-md);
  border: 1px solid var(--v-gray-100);
  text-decoration: none !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.catalog-page .productos-inicio .container > a:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-sm);
}

.catalog-page .productos-inicio .container a div {
  width: 100% !important;
  margin: 0 0 0.65rem !important;
  border-radius: var(--radius-sm);
  overflow: hidden;
}

.catalog-page .productos-inicio .container img {
  width: 100% !important;
  height: 100px !important;
  object-fit: cover;
  border-radius: var(--radius-sm);
  transition: transform 0.35s ease;
}

.catalog-page .productos-inicio .container > a:hover img {
  transform: scale(1.05);
}

.catalog-page .productos-inicio .container h3 {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  color: var(--v-gray-900) !important;
}

.catalog-page .productos-inicio .container h3::before {
  display: none !important;
}

/* Bloques descriptivos ficha individual */
.catalog-page .descrip-productos {
  margin: 2rem 0;
  padding: 1.75rem !important;
  background: var(--v-gray-100) !important;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(2, 121, 36, 0.08);
}

.catalog-page .descripcion-producto p:not(:has(.fa-check)) {
  display: block;
  float: none !important;
  width: auto !important;
  position: static !important;
  margin-bottom: 0.75rem;
  line-height: 1.65;
  text-align: left;
}

.catalog-page .descripcion-producto p i {
  color: var(--v-green);
}

.catalog-page .descripcion-producto p > i.fas:first-child,
.catalog-page .descripcion-producto p > i.fa-check:first-child {
  margin-right: 0.35rem;
}

.catalog-page .caracteristicas .col-left p i,
.catalog-page .caracteristicas .col-right p i {
  color: var(--v-green);
  margin-right: 0.35rem;
}

.catalog-page:not(.catalog-page--product) .catalog-ficha-prose:not(.catalog-ficha-prose--product) .caracteristicas,
.catalog-page:not(.catalog-page--product) .catalog-ficha-prose:not(.catalog-ficha-prose--product) .div-producto {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem 2rem;
  align-items: start;
  margin: 2rem 0;
  padding: 1.5rem;
  background: var(--v-white);
  border: 1px solid var(--v-gray-100);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}

.catalog-page .caracteristicas .col-left,
.catalog-page .caracteristicas .col-right,
.catalog-page .div-producto .col-left,
.catalog-page .div-producto .col-right {
  width: 100% !important;
  float: none !important;
  left: auto !important;
  position: static !important;
  padding: 0 !important;
}

.catalog-ficha-prose .div-producto .descripcion-producto,
.catalog-ficha-prose .div-producto .descripcion-producto p,
.catalog-ficha-prose:not(.catalog-ficha-prose--product) .caracteristicas .col-left,
.catalog-ficha-prose:not(.catalog-ficha-prose--product) .caracteristicas .col-right,
.catalog-ficha-prose:not(.catalog-ficha-prose--product) .caracteristicas .col-left p,
.catalog-ficha-prose:not(.catalog-ficha-prose--product) .caracteristicas .col-right p,
.catalog-ficha-prose .div-producto .col-left .imagen-producto,
.catalog-ficha-prose .div-producto .col-left .imagen-producto img,
.catalog-ficha-prose p.ampliar {
  float: none !important;
  width: auto !important;
  position: static !important;
}

.catalog-ficha-prose .div-producto .col-left .imagen-producto,
.catalog-ficha-prose .div-producto .col-right .imagen-producto,
.catalog-ficha-prose .caracteristicas .col-right .imagen-producto {
  display: block;
  width: 100% !important;
  max-width: 100%;
  margin: 0;
}

.catalog-ficha-prose .div-producto .col-right h3 {
  margin: 0 0 0.75rem;
  font-size: 1.15rem;
  font-weight: 800;
  float: none !important;
  width: auto !important;
}

.catalog-ficha-prose .div-producto .col-right h3 span {
  color: var(--v-green);
}

.catalog-ficha-prose .caracteristicas .col-left h2 {
  margin-top: 0;
  font-size: clamp(1.1rem, 2vw, 1.35rem);
}

.catalog-ficha-prose .div-elements {
  float: none !important;
  width: 100% !important;
  margin: 2rem 0;
  padding: 0 !important;
}

.catalog-ficha-prose .div-elements h3 {
  float: none !important;
  width: 100% !important;
  margin: 0 0 1rem;
  padding: 0;
  text-align: left !important;
  font-size: clamp(1.05rem, 2vw, 1.2rem);
  font-weight: 800;
  color: var(--v-green-dark);
}

.catalog-ficha-prose .div-elements .element {
  display: grid !important;
  grid-template-columns: minmax(150px, 220px) minmax(0, 1fr) minmax(96px, 132px);
  gap: 1.15rem 1.35rem;
  align-items: start;
  float: none !important;
  width: 100% !important;
  margin: 0 0 1.25rem;
  padding: 1.15rem 1.2rem;
  background: var(--v-white);
  border: 1px solid rgba(2, 121, 36, 0.1);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}

.catalog-ficha-prose .div-elements .element-img,
.catalog-ficha-prose .div-elements .element-descrip,
.catalog-ficha-prose .div-elements .element-descrip p {
  float: none !important;
  width: auto !important;
  position: static !important;
  padding: 0 !important;
  text-align: left !important;
}

.catalog-ficha-prose:not(.catalog-ficha-prose--product) .div-elements .element-option,
.catalog-ficha-prose:not(.catalog-ficha-prose--product) .div-elements .element-option p {
  float: none !important;
  width: auto !important;
  position: static !important;
  padding: 0 !important;
  text-align: left !important;
}

.catalog-ficha-prose .div-elements .element-img .imagen-producto,
.catalog-ficha-prose .div-elements .element-img .imagen-producto img {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
}

.catalog-ficha-prose .div-elements .element-descrip p {
  margin-bottom: 0.65rem;
  font-size: 0.94rem;
  line-height: 1.6;
}

.catalog-ficha-prose .div-elements .element-descrip p:last-child {
  margin-bottom: 0;
}

.catalog-ficha-prose .div-elements .element-option {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0.65rem;
  padding-top: 0.35rem !important;
}

.catalog-ficha-prose .div-elements .element-option div {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.25rem;
  height: 4.25rem;
  margin: 0;
  padding: 0;
  border-radius: 50%;
  font-size: 1.45rem;
  color: #fff;
  background: var(--v-green);
  box-shadow: 0 8px 20px rgba(2, 121, 36, 0.22);
}

.catalog-ficha-prose .div-elements .element-option p {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--v-gray-700);
}

@media (max-width: 900px) {
  .catalog-ficha-prose .div-elements .element {
    grid-template-columns: minmax(140px, 200px) minmax(0, 1fr);
  }

  .catalog-ficha-prose:not(.catalog-ficha-prose--product) .div-elements .element-option {
    grid-column: 1 / -1;
    flex-direction: row;
    justify-content: flex-start;
    padding-top: 0.25rem !important;
  }
}

@media (max-width: 640px) {
  .catalog-ficha-prose .div-elements .element {
    grid-template-columns: 1fr;
  }

  .catalog-ficha-prose .div-elements .element-img {
    max-width: 280px;
    margin: 0 auto;
  }
}

.catalog-page .gallery.imagen-producto,
.catalog-page .imagen-producto {
  display: block;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-md);
}

.catalog-page .gallery.imagen-producto img,
.catalog-page .imagen-producto img {
  width: 100%;
  height: auto;
  max-height: 360px;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.catalog-page .gallery.imagen-producto:hover img {
  transform: scale(1.03);
}

.catalog-page p.ampliar {
  font-size: 0.8rem;
  color: var(--v-gray-500);
  text-align: center;
  margin-top: 0.5rem;
}

.catalog-page .subtitulo,
.catalog-page h2.subtitulo,
.catalog-page h3.subtitulo {
  margin-top: 2.5rem !important;
  margin-bottom: 0.75rem !important;
  font-size: clamp(1.15rem, 2vw, 1.35rem) !important;
  font-weight: 800 !important;
  color: var(--v-gray-900) !important;
  background: none !important;
  padding: 0 !important;
  text-align: left !important;
}

.catalog-page .frase-subtitulo {
  color: var(--v-gray-600);
  font-size: 1rem;
  line-height: 1.65;
  max-width: 72ch;
  margin-bottom: 1.25rem;
}

.catalog-page:not(.catalog-page--product) .fichas-tecnicas {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1rem;
  margin: 1.5rem 0 2rem;
}

.catalog-page:not(.catalog-page--product) .f-malla {
  padding: 1.15rem 1.2rem;
  background: var(--v-white);
  border: 1px solid rgba(2, 121, 36, 0.12);
  border-radius: var(--radius-md);
  border-left: 4px solid var(--v-green);
  box-shadow: var(--shadow-sm);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.catalog-page:not(.catalog-page--product) .f-malla:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}

.catalog-page:not(.catalog-page--product) .f-malla h4 {
  margin: 0 0 0.5rem;
  font-size: 1rem;
  font-weight: 800;
  color: var(--v-green-dark);
}

.catalog-page:not(.catalog-page--product) .f-malla p {
  font-size: 0.88rem;
  margin-bottom: 0.75rem;
  max-width: none;
}

.catalog-page:not(.catalog-page--product) .f-malla a {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.85rem;
  font-weight: 700;
}

.catalog-page a.boton-solicitar {
  display: inline-flex;
  align-items: center;
  margin-top: 1rem;
  padding: 0.7rem 1.25rem;
  background: var(--v-green-soft);
  color: var(--v-green-dark) !important;
  border: 1px solid rgba(2, 121, 36, 0.2);
  border-radius: var(--radius-pill);
  font-weight: 700;
  text-decoration: none !important;
  transition: background 0.2s ease, color 0.2s ease;
}

.catalog-page a.boton-solicitar:hover {
  background: var(--v-green);
  color: #fff !important;
}

/* Ficha clásica #productos (subpáginas con wrapper legacy; no aplicar dentro de catalog-ficha-prose) */
.catalog-page #productos .ficha-producto,
.page-internal .catalog-page > .ficha-producto {
  margin: 2rem 0;
  padding: 1.5rem;
  background: var(--v-white);
  border-radius: var(--radius-lg);
  border: 1px solid rgba(2, 121, 36, 0.1);
  box-shadow: var(--shadow-sm);
}

.catalog-page #productos .ficha-producto .tipos-producto .div-t {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1rem;
}

.catalog-page #productos .ficha-producto .tipos-producto .div-t > a {
  display: flex;
  flex-direction: column;
  background: var(--v-gray-100);
  border-radius: var(--radius-md);
  overflow: hidden;
  text-decoration: none !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.catalog-page #productos .ficha-producto .tipos-producto .div-t > a:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-sm);
}

.catalog-page #productos .ficha-producto .tipos-producto .div-t img {
  width: 100%;
  height: 160px;
  object-fit: cover;
}

.catalog-page #productos .ficha-producto .tipos-producto .div-t h3 {
  padding: 0.85rem 1rem 0.35rem;
  font-size: 1rem;
  color: var(--v-gray-900);
}

.catalog-page #productos .ficha-producto .tipos-producto .div-t p {
  padding: 0 1rem 1rem;
  font-size: 0.86rem;
  color: var(--v-gray-500);
}

@media (max-width: 768px) {
  .catalog-page:not(.catalog-page--product) .caracteristicas,
  .catalog-page:not(.catalog-page--product) .div-producto {
    grid-template-columns: 1fr;
  }

  .catalog-page .productos {
    grid-template-columns: 1fr;
  }
}

/* ——— Catálogo ancho completo (sin sidebar) ——— */
.pg-layout--catalog .catalog-page,
.pg-layout--catalog > .pg-content.content-prose.catalog-page {
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 0 0 2.5rem;
}

.has-catalog-product .catalog-page--product > .catalog-silo-nav--product {
  margin-bottom: 1.75rem;
}

.has-catalog-product .catalog-page--product > .catalog-commerce-stack {
  margin-bottom: 1.75rem;
}

.has-catalog-product .catalog-page--product > .catalog-commerce-stack > .catalog-silo-nav--product,
.has-catalog-product .catalog-page--product > .catalog-commerce-stack > .catalog-silo-nav:not(.catalog-silo-nav--hub) {
  margin-bottom: 0;
}

.has-catalog-product .catalog-page--product > .catalog-buy-hero--product {
  margin-bottom: 0.5rem;
}

body.has-catalog-buy.page-product:not(.has-catalog-ficha) .page-hero-actions {
  display: none;
}

body.has-catalog-ficha #header-secundario.page-hero {
  background: #fff !important;
  border-bottom: none;
  padding-bottom: 1.35rem !important;
}

body.has-catalog-ficha #header-secundario.page-hero .page-hero-inner {
  max-width: min(920px, calc(100% - 2rem));
  margin: 0 auto;
  text-align: center;
}

body.has-catalog-ficha #header-secundario.page-hero h1 {
  font-size: clamp(1.75rem, 4vw, 2.35rem) !important;
  letter-spacing: -0.03em;
}

body.has-catalog-ficha #header-secundario.page-hero .breadcrumb {
  justify-content: center;
}

body.has-catalog-ficha #header-secundario.page-hero .breadcrumb span:not([aria-hidden]) {
  color: var(--v-gray-500, #6b7a72);
  opacity: 1;
}

body.has-catalog-ficha #header-secundario.page-hero .lead {
  max-width: 52ch;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.05rem;
  color: var(--v-gray-600, #5a6b62);
  text-align: center;
}

body.has-catalog-product.has-catalog-ficha:not(.has-catalog-pillar-hub) .page-hero-actions--catalog-ficha {
  display: none;
}

body.has-catalog-ficha .page-hero-actions--catalog-ficha {
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-top: 1rem;
}

body.has-catalog-ficha .page-hero-actions--catalog-ficha .page-hero-btn--primary {
  box-shadow: 0 8px 24px rgba(2, 121, 36, 0.28);
}

/* Navegación por tipos dentro del hub */
.catalog-silo-nav {
  margin: 0 0 2rem;
  padding: 1rem 1.15rem;
  background: var(--v-gray-100);
  border: 1px solid rgba(2, 121, 36, 0.1);
  border-radius: var(--radius-lg);
}

.catalog-silo-nav-hub {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0 0 0.75rem;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--v-green-dark);
  text-decoration: none;
}

.catalog-silo-nav-hub:hover {
  color: var(--v-green);
  text-decoration: underline;
}

.catalog-silo-nav-label {
  margin: 0 0 0.65rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--v-gray-500);
}

.catalog-silo-nav-track {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.catalog-silo-nav-link {
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 0.85rem;
  font-size: 0.84rem;
  font-weight: 600;
  color: var(--v-gray-700);
  text-decoration: none;
  background: #fff;
  border: 1px solid rgba(2, 121, 36, 0.12);
  border-radius: var(--radius-pill);
  transition: color 0.15s ease, background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.catalog-silo-nav-link:hover {
  color: var(--v-green-dark);
  border-color: rgba(2, 121, 36, 0.28);
  background: var(--v-green-soft);
  transform: translateY(-1px);
}

.catalog-silo-nav-link.is-active {
  color: #fff !important;
  background: var(--v-green);
  border-color: var(--v-green);
  font-weight: 700;
  box-shadow: 0 4px 14px rgba(2, 121, 36, 0.28);
  pointer-events: none;
}

/* Barra de ayuda compacta (sustituye sidebar) */
.catalog-help-strip {
  margin-top: 2.5rem;
}

.catalog-help-strip-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  padding: 1.15rem 1.35rem;
  background: linear-gradient(135deg, var(--v-green-dark) 0%, var(--v-green) 100%);
  border-radius: var(--radius-lg);
  color: #fff;
}

.catalog-help-strip-copy {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: min(100%, 260px);
}

.catalog-help-strip-copy strong {
  font-size: 1rem;
  font-weight: 700;
}

.catalog-help-strip-copy span {
  font-size: 0.88rem;
  color: rgba(255, 255, 255, 0.88);
}

.catalog-help-strip-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.catalog-help-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.55rem 0.95rem;
  font-size: 0.84rem;
  font-weight: 700;
  text-decoration: none !important;
  border-radius: var(--radius-pill);
  white-space: nowrap;
  transition: transform 0.15s ease, background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.catalog-help-btn i {
  flex-shrink: 0;
}

.catalog-help-btn--primary {
  background: #fff;
  color: var(--v-green-dark, #015a1c);
  border: 2px solid #fff;
}

.catalog-help-btn--primary:hover,
.catalog-help-btn--primary:focus-visible {
  transform: translateY(-1px);
  background: #fff;
  color: var(--v-green-dark, #015a1c);
}

.catalog-help-btn--whatsapp {
  background: #128c7e;
  color: #fff;
  border: 2px solid #128c7e;
}

.catalog-help-btn--whatsapp:hover,
.catalog-help-btn--whatsapp:focus-visible {
  background: #0f7569;
  border-color: #0f7569;
  color: #fff;
  transform: translateY(-1px);
}

.catalog-help-btn--ghost {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  border: 2px solid rgba(255, 255, 255, 0.92);
}

.catalog-help-btn--ghost:hover,
.catalog-help-btn--ghost:focus-visible {
  background: #fff;
  border-color: #fff;
  color: var(--v-green-dark, #015a1c);
  transform: translateY(-1px);
}

/* Complementos del mismo sistema (p. ej. malla H.) */
.catalog-system-strip {
  margin-top: 0;
  padding: 1.25rem 1.35rem 1.4rem;
  background: linear-gradient(180deg, #f6faf7 0%, #fff 100%);
  border: none;
  border-radius: 0;
  box-shadow: none;
}

.catalog-system-strip-head {
  margin-bottom: 1rem;
  max-width: none;
}

.catalog-system-strip-title {
  margin: 0.3rem 0 0.35rem;
  font-size: clamp(1.05rem, 2vw, 1.2rem);
  color: var(--v-green-dark);
}

.catalog-system-strip-lead {
  margin: 0;
  font-size: 0.88rem;
  color: var(--v-gray-600, #5a6b62);
  line-height: 1.5;
  max-width: 62ch;
}

.catalog-system-strip-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.catalog-system-strip-link {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.75rem;
  height: 100%;
  padding: 0.85rem 0.95rem;
  text-decoration: none;
  background: #fff;
  border: 1px solid rgba(2, 121, 36, 0.12);
  border-radius: 12px;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.catalog-system-strip-link:hover {
  transform: translateY(-2px);
  border-color: rgba(2, 121, 36, 0.24);
  box-shadow: 0 6px 18px rgba(2, 121, 36, 0.08);
}

.catalog-system-strip-link-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 10px;
  background: var(--v-green-soft, #e8f5ec);
  color: var(--v-green-dark);
  font-size: 0.95rem;
  flex-shrink: 0;
}

.catalog-system-strip-link-body {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

.catalog-system-strip-link-label {
  font-weight: 700;
  font-size: 0.92rem;
  color: var(--v-green-dark);
  line-height: 1.3;
}

.catalog-system-strip-link-desc {
  font-size: 0.78rem;
  color: var(--v-gray-600, #5a6b62);
  line-height: 1.4;
}

.catalog-system-strip-link-cta {
  color: var(--v-green);
  font-size: 0.85rem;
  flex-shrink: 0;
}

/* Bloque unificado: nav + compra + complementos */
.catalog-commerce-stack {
  margin: 0 0 1.75rem;
  background: #fff;
  border: 1px solid rgba(2, 121, 36, 0.12);
  border-radius: 18px;
  box-shadow: 0 8px 32px rgba(15, 20, 16, 0.07);
  overflow: hidden;
}

.catalog-commerce-stack > .catalog-silo-nav--product,
.catalog-commerce-stack > .catalog-silo-nav:not(.catalog-silo-nav--hub) {
  margin: 0;
  padding: 0.85rem 1.15rem 0.95rem;
  background: #fff;
  border: none;
  border-radius: 0;
  box-shadow: none;
  border-bottom: 1px solid rgba(2, 121, 36, 0.08);
}

.catalog-commerce-stack > .catalog-buy-hero--product {
  margin: 0;
  border: none;
  border-radius: 0;
  box-shadow: none;
}

.catalog-commerce-stack > .catalog-system-strip {
  border-top: 1px solid rgba(2, 121, 36, 0.08);
}

/* Tienda dentro del stack unificado (multi-producto, hub) */
.catalog-commerce-stack > .catalog-buy-more--pillar,
.catalog-commerce-stack > .catalog-buy-more--related {
  margin: 0;
  padding: 1.2rem 1.15rem 1.35rem;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  border-top: 1px solid rgba(2, 121, 36, 0.08);
}

.catalog-commerce-stack > .catalog-buy-more--pillar .catalog-buy-more-head {
  margin-bottom: 1.1rem;
  padding-bottom: 0;
  border-bottom: none;
  max-width: none;
}

.catalog-commerce-stack > .catalog-buy-more--pillar .catalog-buy-title {
  color: var(--v-gray-900);
  font-size: clamp(1.15rem, 2.2vw, 1.35rem);
}

.catalog-commerce-stack > .catalog-buy-more--pillar .catalog-buy-lead {
  margin-bottom: 0;
}

.catalog-commerce-stack > .catalog-buy-more--pillar .catalog-buy-grid {
  gap: 1rem;
}

@media (max-width: 768px) {
  .catalog-commerce-stack > .catalog-buy-more--pillar,
  .catalog-commerce-stack > .catalog-buy-more--related {
    padding: 1rem 0.85rem 1.1rem;
  }
}

.catalog-ficha-prose--product .ficha-pliegues-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 0.55rem;
  margin: 0.85rem 0 0;
  padding: 0;
  list-style: none;
}

.catalog-ficha-prose--product .ficha-pliegues-list li {
  margin: 0;
  padding: 0.65rem 0.85rem;
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--v-green-dark);
  background: var(--v-green-soft, #e8f5ec);
  border: 1px solid rgba(2, 121, 36, 0.12);
  border-radius: 10px;
}

.catalog-ficha-prose--product .ficha-pliegues-tail:empty {
  display: none;
}

body.has-catalog-hero-gallery .catalog-ficha-prose--product .ficha-gallery-block,
body.has-catalog-hero-gallery .catalog-ficha-prose--product #imagenes-producto {
  display: none !important;
}

body.has-catalog-hero-gallery .catalog-ficha-prose--product .ficha-producto--catalog .imagen-ficha {
  display: none !important;
}

body.page-product-layout.has-catalog-product #header-secundario.page-hero .page-hero-inner {
  max-width: min(920px, calc(100% - 2rem));
  margin: 0 auto;
  text-align: center;
}

body.page-product-layout.has-catalog-product #header-secundario.page-hero h1 {
  font-size: clamp(1.65rem, 3.5vw, 2.15rem) !important;
}

body.page-product-layout.has-catalog-product #header-secundario.page-hero .lead {
  margin-left: auto;
  margin-right: auto;
  max-width: 52ch;
  text-align: center;
}

body.page-product-layout.has-catalog-product .pg-layout--catalog {
  padding-bottom: 1rem;
}

@media (max-width: 900px) {
  .catalog-system-strip-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .catalog-commerce-stack {
    border-radius: 14px;
    margin-bottom: 1.35rem;
  }

  .catalog-system-strip {
    padding: 1.1rem 1rem 1.2rem;
  }

  body.page-product-layout.has-catalog-product .pg-layout--catalog {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 4.5rem;
  }
}

@media (max-width: 640px) {
  .catalog-help-strip-inner {
    flex-direction: column;
    align-items: stretch;
  }

  .catalog-help-strip-actions {
    flex-direction: column;
  }

  .catalog-help-btn {
    justify-content: center;
    width: 100%;
  }
}

/* ——— Hub de categoría (ej. /puertas-para-vallado/) ——— */
body.has-catalog-hub .pg-main {
  background: linear-gradient(180deg, #f0f6f2 0%, #f8faf9 12rem, #fff 24rem);
}

.catalog-page--hub {
  padding-top: 0.5rem;
}

.catalog-silo-nav--hub {
  margin: 0 0 1.25rem;
  padding: 1.1rem 1.2rem 1.15rem;
  background: #fff;
  border: 1px solid rgba(2, 121, 36, 0.14);
  box-shadow: 0 4px 20px rgba(15, 20, 16, 0.05);
}

.catalog-silo-nav--hub .catalog-silo-nav-track {
  flex-wrap: nowrap;
  overflow-x: auto;
  padding-bottom: 0.35rem;
  margin: 0 -0.25rem;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.catalog-silo-nav--hub .catalog-silo-nav-link {
  flex: 0 0 auto;
  white-space: nowrap;
}

.catalog-ficha-prose {
  margin: 2.5rem 0 0;
  padding: clamp(1.75rem, 4vw, 2.5rem) clamp(1.25rem, 4vw, 2.25rem) clamp(2rem, 5vw, 2.75rem);
  background: #fff;
  border: 1px solid rgba(2, 121, 36, 0.1);
  border-radius: var(--radius-lg, 20px);
  box-shadow: 0 2px 16px rgba(15, 20, 16, 0.04);
}

.has-catalog-product .catalog-ficha-prose {
  margin-top: 2.75rem;
}

.catalog-ficha-prose > h1:first-child,
.catalog-ficha-prose > h2.subtitulo:first-child,
.catalog-ficha-prose > .frase-subtitulo:first-child {
  display: none !important;
}

.has-catalog-ficha .catalog-ficha-prose > .enlaces-ficha-producto {
  display: none !important;
}

.catalog-ficha-prose .productos-destacados {
  display: none !important;
}

/* Kits y fichas importadas de tienda (rte-content) */
.catalog-ficha-prose .rte-content,
.catalog-ficha-prose > h2:first-child {
  max-width: none;
}

.catalog-ficha-prose .rte-content h2,
.catalog-ficha-prose .rte-content h3 {
  margin-top: 1.75rem;
  margin-bottom: 0.65rem;
  font-family: var(--font-display, "DM Sans", sans-serif);
  color: var(--v-green-dark);
  font-weight: 800;
}

.catalog-ficha-prose .rte-content h2:first-child,
.catalog-ficha-prose .rte-content h3:first-child {
  margin-top: 0;
}

.catalog-ficha-prose .rte-content ul {
  margin: 0.5rem 0 1.25rem;
  padding-left: 1.35rem;
}

.catalog-ficha-prose .rte-content li {
  margin: 0.35rem 0;
  line-height: 1.55;
  color: var(--v-gray-700);
}

.catalog-ficha-prose .rte-content p {
  max-width: none;
}

/* Ficha legacy multi-sección (postes, etc.) dentro de catalog-ficha-prose */
.catalog-ficha-prose .ficha-producto {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  overflow: visible;
}

/* Ficha simple (poste ángulo): texto + una imagen */
.catalog-ficha-prose .ficha-producto--simple .info-1 {
  grid-template-columns: 1fr;
  gap: 1.75rem;
  padding-bottom: 0;
  margin-bottom: 2rem;
}

.catalog-ficha-prose .ficha-producto--simple .info-1 > .titulo-ficha,
.catalog-ficha-prose .ficha-producto--simple .info-1 > h2.titulo-ficha {
  grid-column: 1;
  margin-bottom: 0.25rem;
}

.catalog-ficha-prose .ficha-producto--simple .info-1 > p {
  grid-column: 1;
  font-size: 1rem;
  line-height: 1.65;
}

.catalog-ficha-prose .ficha-producto--simple .info-1 > a.imagen-ficha {
  grid-column: 1;
  grid-row: auto;
  max-width: min(420px, 100%);
  margin: 0 auto;
}

.catalog-ficha-prose .ficha-producto--simple a.imagen-ficha img {
  max-height: 520px;
  object-fit: contain;
}

@media (min-width: 900px) {
  .catalog-ficha-prose .ficha-producto--simple .info-1 {
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
    align-items: start;
  }

  .catalog-ficha-prose .ficha-producto--simple .info-1 > .titulo-ficha,
  .catalog-ficha-prose .ficha-producto--simple .info-1 > h2.titulo-ficha {
    grid-column: 1 / -1;
  }

  .catalog-ficha-prose .ficha-producto--simple .info-1 > p {
    grid-column: 1;
    grid-row: 2;
  }

  .catalog-ficha-prose .ficha-producto--simple .info-1 > a.imagen-ficha {
    grid-column: 2;
    grid-row: 2 / span 2;
    margin: 0;
    max-width: none;
  }
}

.catalog-ficha-prose .ficha-producto .info-2 {
  margin: 0 0 1.5rem;
}

.catalog-ficha-prose .ficha-producto .info-2 .titulo-ficha {
  margin: 0 !important;
  padding: 0 !important;
  font-size: clamp(1.2rem, 2.4vw, 1.5rem) !important;
  font-weight: 800 !important;
  color: var(--v-gray-900) !important;
  background: none !important;
  border: none;
}

.catalog-ficha-prose .ficha-producto .enlaces-ficha-producto {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0 0 1.75rem;
  padding: 0;
}

.catalog-ficha-prose .ficha-producto .enlaces-ficha-producto a {
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 0.9rem;
  font-size: 0.84rem;
  font-weight: 600;
  color: var(--v-gray-700);
  text-decoration: none !important;
  background: var(--v-gray-100);
  border: 1px solid rgba(2, 121, 36, 0.12);
  border-radius: var(--radius-pill);
  transition: color 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}

.catalog-ficha-prose .ficha-producto .enlaces-ficha-producto a:hover {
  color: var(--v-green-dark);
  background: var(--v-green-soft);
  border-color: rgba(2, 121, 36, 0.25);
}

.catalog-ficha-prose .ficha-producto .info-1 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 38%);
  gap: 2rem 2.5rem;
  align-items: start;
  margin: 0 0 3rem;
  padding: 0;
  border-bottom: none;
}

/* Ficha simple: solo texto + foto (poste ángulo, etc.) */
.catalog-ficha-prose .ficha-producto .info-1:not(:has(.info-medidas)) {
  grid-template-columns: minmax(0, 1fr) minmax(240px, 40%);
}

.catalog-ficha-prose .ficha-producto .info-1:not(:has(.info-medidas)) > .titulo-ficha,
.catalog-ficha-prose .ficha-producto .info-1:not(:has(.info-medidas)) > h2.titulo-ficha,
.catalog-ficha-prose .ficha-producto .info-1:not(:has(.info-medidas)) > h3.titulo-ficha {
  grid-column: 1 / -1;
}

.catalog-ficha-prose .ficha-producto .info-1:not(:has(.info-medidas)) > p {
  grid-column: 1;
  margin: 0 0 1.15rem;
  max-width: 62ch;
  line-height: 1.75;
  font-size: 1.02rem;
  color: var(--v-gray-700);
}

.catalog-ficha-prose .ficha-producto .info-1:not(:has(.info-medidas)) > a.imagen-ficha {
  grid-column: 2;
  grid-row: 2;
  align-self: start;
}

.catalog-ficha-prose .ficha-producto .info-2 {
  margin: 0 0 2.75rem;
  padding: 1.5rem 1.75rem 1.65rem;
  background: var(--v-gray-100, #f4f7f5);
  border-radius: var(--radius-md);
  border: 1px solid rgba(2, 121, 36, 0.08);
}

.catalog-ficha-prose .ficha-producto .info-2 .titulo-ficha,
.catalog-ficha-prose .ficha-producto .info-2 > p.titulo-ficha {
  margin: 1.25rem 0 0.5rem !important;
  padding: 0 !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  color: var(--v-green-dark) !important;
  background: none !important;
}

.catalog-ficha-prose .ficha-producto .info-2 .titulo-ficha:first-child,
.catalog-ficha-prose .ficha-producto .info-2 > p.titulo-ficha:first-child {
  margin-top: 0 !important;
}

.catalog-ficha-prose .ficha-producto .info-2 p:not(.titulo-ficha) {
  max-width: none;
  margin-bottom: 0.75rem;
}

.catalog-ficha-prose .ficha-producto .info-1 p.titulo-ficha h2,
.catalog-ficha-prose .ficha-producto .info-1 p.titulo-ficha h3 {
  margin: 0 !important;
  font-size: inherit !important;
}

.catalog-ficha-prose .ficha-producto .info-1:last-of-type {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 1.5rem;
}

.catalog-ficha-prose .ficha-producto .info-1 .titulo-ficha {
  grid-column: 1 / -1;
  margin: 0 0 0.25rem !important;
  padding: 0 !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: var(--v-green-dark) !important;
  background: none !important;
  text-align: left !important;
}

.catalog-ficha-prose .ficha-producto .info-medidas {
  grid-column: 1;
  margin: 0;
  padding: 0 0.25rem 0 0;
}

.catalog-ficha-prose .ficha-producto .info-medidas p {
  max-width: 62ch;
  margin: 0 0 1.2rem;
  line-height: 1.75;
  font-size: 1.02rem;
  color: var(--v-gray-700);
}

.catalog-ficha-prose .ficha-producto .info-medidas p:last-child {
  margin-bottom: 0;
}

.catalog-ficha-prose .ficha-producto .info-medidas a {
  font-weight: 600;
}

.catalog-ficha-prose .ficha-producto .info-medidas img {
  display: block;
  width: 100%;
  max-width: 420px;
  height: auto;
  margin: 0.5rem 0 0;
  border-radius: var(--radius-md);
  box-shadow: 0 4px 16px rgba(15, 20, 16, 0.08);
}

.catalog-ficha-prose .ficha-producto a.imagen-ficha {
  grid-column: 2;
  grid-row: 1 / span 2;
  display: block;
  margin: 0;
  align-self: start;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: 0 8px 28px rgba(15, 20, 16, 0.12);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.catalog-ficha-prose .ficha-producto a.imagen-ficha:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(15, 20, 16, 0.14);
}

.catalog-ficha-prose .ficha-producto a.imagen-ficha img {
  display: block;
  width: 100%;
  height: auto;
  min-height: 200px;
  max-height: 360px;
  object-fit: cover;
  margin: 0;
  border-radius: 0;
  box-shadow: none;
}

.catalog-ficha-prose .ficha-producto #imagenes-producto {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 1.15rem;
  margin: 0;
  padding: 2.25rem 0 0;
  border-top: 1px solid rgba(2, 121, 36, 0.08);
}

.catalog-ficha-prose .ficha-producto #imagenes-producto > h3,
.catalog-ficha-prose .ficha-producto #imagenes-producto > .titulo-ficha {
  grid-column: 1 / -1;
  margin: 0 0 1.35rem !important;
  padding: 0 !important;
  font-size: 1.2rem !important;
  font-weight: 800 !important;
  color: var(--v-green-dark) !important;
  background: none !important;
  border: none;
  line-height: 1.3;
}

.catalog-ficha-prose .ficha-producto #imagenes-producto > a.gallery {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--v-gray-100);
  box-shadow: 0 4px 14px rgba(15, 20, 16, 0.08);
  text-decoration: none !important;
}

.catalog-ficha-prose .ficha-producto #imagenes-producto > a.gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin: 0;
  border-radius: 0;
  box-shadow: none;
  transition: transform 0.35s ease;
}

.catalog-ficha-prose .ficha-producto #imagenes-producto > a.gallery .screen,
.catalog-ficha-prose .ficha-producto #imagenes-producto > a.gallery .ver-mas {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none;
}

.catalog-ficha-prose .ficha-producto #imagenes-producto > a.gallery .screen {
  background: rgba(2, 121, 36, 0.45);
}

.catalog-ficha-prose .ficha-producto #imagenes-producto > a.gallery .ver-mas {
  z-index: 1;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}

.catalog-ficha-prose .ficha-producto #imagenes-producto > a.gallery:hover img {
  transform: scale(1.04);
}

.catalog-ficha-prose .ficha-producto #imagenes-producto > a.gallery:hover .screen,
.catalog-ficha-prose .ficha-producto #imagenes-producto > a.gallery:hover .ver-mas {
  opacity: 1;
}

@media (max-width: 768px) {
  .catalog-ficha-prose {
    margin-top: 2rem;
    padding: 1.5rem 1.15rem 2rem;
  }

  .catalog-ficha-prose .ficha-producto .info-1,
  .catalog-ficha-prose .ficha-producto .info-1:not(:has(.info-medidas)) {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    margin-bottom: 2.25rem;
  }

  .catalog-ficha-prose .ficha-producto .info-medidas p {
    max-width: none;
  }

  .catalog-ficha-prose .ficha-producto a.imagen-ficha,
  .catalog-ficha-prose .ficha-producto .info-1:not(:has(.info-medidas)) > a.imagen-ficha {
    grid-column: 1;
    grid-row: auto;
    max-width: min(100%, 420px);
    margin: 0 auto;
  }

  .catalog-ficha-prose .ficha-producto #imagenes-producto {
    grid-template-columns: repeat(2, 1fr);
  }

  .catalog-ficha-prose .ficha-producto .info-2 {
    padding: 1rem 1.1rem;
  }
}

@media (max-width: 480px) {
  .catalog-ficha-prose .ficha-producto #imagenes-producto {
    grid-template-columns: 1fr;
  }
}

.catalog-ficha-prose > p:first-of-type {
  font-size: 1.02rem;
  color: var(--v-gray-700);
}

/* Títulos sueltos en el CMS (no dentro de .ficha-producto) */
.catalog-ficha-prose > h2 {
  margin-top: 2.25rem;
  padding-top: 1.35rem;
  border-top: 1px solid rgba(2, 121, 36, 0.1);
  font-size: clamp(1.25rem, 2.5vw, 1.55rem) !important;
}

.catalog-ficha-prose > h2:first-of-type {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

.catalog-ficha-prose > h3 {
  margin-top: 1.5rem;
  font-size: 1.12rem !important;
  color: var(--v-green-dark);
}

.catalog-ficha-prose .ficha-producto h2,
.catalog-ficha-prose .ficha-producto h3 {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

.catalog-ficha-prose .ficha-producto .info-2 > h3 {
  margin: 0 0 1rem !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: var(--v-green-dark) !important;
}

.catalog-ficha-prose .ficha-producto .info-2 ul {
  margin: 0.35rem 0 0;
  padding-left: 1.35rem;
  line-height: 1.65;
}

.catalog-ficha-prose .ficha-producto .info-2 li {
  margin: 0.45rem 0;
  color: var(--v-gray-700);
}

.catalog-ficha-prose .ficha-producto .info-2 li + li {
  margin-top: 0.35rem;
}

.catalog-ficha-prose table {
  width: 100%;
  margin: 1.25rem 0 1.75rem;
  border-collapse: collapse;
  font-size: 0.88rem;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(15, 20, 16, 0.06);
}

.catalog-ficha-prose table th,
.catalog-ficha-prose table td {
  padding: 0.65rem 0.85rem;
  border: 1px solid rgba(2, 121, 36, 0.1);
  text-align: left;
}

.catalog-ficha-prose table th {
  background: var(--v-green-soft, #e8f5ec);
  font-weight: 700;
  color: var(--v-green-dark);
}

.catalog-ficha-prose:not(.catalog-ficha-prose--product) img {
  border-radius: var(--radius-md);
  box-shadow: 0 4px 16px rgba(15, 20, 16, 0.08);
}

.catalog-ficha-prose p:has(img) {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  max-width: none;
}

.catalog-ficha-prose p:has(img) img {
  width: 100%;
  margin: 0;
}

.catalog-buy-more--related {
  margin-top: 2.5rem;
  padding: 2rem 1.5rem 2.25rem;
  background: linear-gradient(180deg, var(--v-gray-100) 0%, #fff 100%);
  border: 1px solid rgba(2, 121, 36, 0.1);
  border-radius: var(--radius-lg, 20px);
  box-shadow: 0 2px 16px rgba(15, 20, 16, 0.04);
}

/* Multi-producto fuera del stack (fallback) */
body.has-catalog-multi .catalog-page--product > .catalog-buy-more--pillar {
  margin-top: 0;
  padding: 1.35rem 1.15rem 1.5rem;
  background: #fff;
  border: 1px solid rgba(2, 121, 36, 0.12);
  border-radius: 18px;
  box-shadow: 0 8px 32px rgba(15, 20, 16, 0.07);
}

body.has-catalog-multi .catalog-page--product > .catalog-silo-nav--product + .catalog-buy-more--pillar {
  margin-top: -0.35rem;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-top: none;
  box-shadow: 0 8px 32px rgba(15, 20, 16, 0.07);
}

body.has-catalog-multi .catalog-page--product > .catalog-silo-nav--product:has(+ .catalog-buy-more--pillar) {
  margin-bottom: 0;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  box-shadow: none;
}

.catalog-buy-more-head {
  margin-bottom: 1.5rem;
  max-width: 62ch;
}

.catalog-buy-more--related .catalog-buy-title {
  color: var(--v-green-dark);
}

.catalog-ficha-prose .tipos-producto .div-t {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1rem;
  margin: 1.5rem 0 2rem;
}

.catalog-ficha-prose .tipos-producto .div-t > a {
  display: flex;
  flex-direction: column;
  background: var(--v-white);
  border: 1px solid rgba(2, 121, 36, 0.1);
  border-radius: var(--radius-md);
  overflow: hidden;
  text-decoration: none !important;
  box-shadow: var(--shadow-sm);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.catalog-ficha-prose .tipos-producto .div-t > a:hover {
  transform: translateY(-4px);
  border-color: rgba(2, 121, 36, 0.22);
  box-shadow: var(--shadow-md);
}

.catalog-ficha-prose .tipos-producto .div-t img {
  width: 100%;
  height: 150px;
  object-fit: cover;
}

.catalog-ficha-prose .tipos-producto .div-t h3 {
  margin: 0;
  padding: 0.85rem 1rem 0.35rem;
  font-size: 1rem !important;
  color: var(--v-gray-900) !important;
  background: none !important;
}

.catalog-ficha-prose .tipos-producto .div-t p {
  margin: 0;
  padding: 0 1rem 1rem;
  font-size: 0.86rem;
  color: var(--v-gray-500);
  max-width: none;
}

.catalog-ficha-prose .frase-subtitulo {
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: var(--v-gray-600) !important;
  margin-bottom: 1rem !important;
}

.catalog-ficha-prose ul li::marker {
  color: var(--v-green);
}

/* ——— Ficha de producto con compra (ej. malla electrosoldada) ——— */
body.has-catalog-product .pg-main {
  background: linear-gradient(180deg, #eef5f0 0%, #f8faf9 14rem, #fff 26rem);
}

.catalog-page--product {
  padding-top: 0;
}

.has-catalog-product .pg-layout--catalog {
  padding-left: 0;
  padding-right: 0;
  padding-top: 1.35rem;
}

body.has-catalog-product .page-hero-actions--catalog-ficha {
  margin-top: 1.15rem;
  margin-bottom: 0.25rem;
}

body.has-catalog-product #header-secundario.page-hero {
  background: #fff !important;
  padding-bottom: 1.35rem !important;
}

body.has-catalog-multi .pg-layout--catalog {
  padding-top: 0.75rem;
}

@media (min-width: 768px) {
  .has-catalog-product .pg-layout--catalog {
    padding-top: 1.75rem;
  }

  body.has-catalog-multi .pg-layout--catalog {
    padding-top: 0.5rem;
  }

  body.page-product-layout.has-catalog-multi #header-secundario.page-hero {
    padding-bottom: 1rem !important;
  }

  body.has-catalog-multi.has-catalog-ficha #header-secundario.page-hero {
    padding-bottom: 0 !important;
  }

  .catalog-page--product > .catalog-silo-nav--product {
    margin-bottom: 1.5rem;
  }
}

/* Multi-producto: hero único; nav + grid en el mismo bloque blanco (sin «cabecera dentro de cabecera») */
body.has-catalog-multi.has-catalog-ficha #header-secundario.page-hero {
  padding-bottom: 0 !important;
}

body.has-catalog-multi.has-catalog-ficha .pg-layout--catalog {
  padding-top: 0;
}

body.has-catalog-multi.has-catalog-ficha .catalog-commerce-stack {
  margin-top: 0;
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  box-shadow: 0 10px 28px rgba(15, 20, 16, 0.07);
}

body.has-catalog-multi.has-catalog-ficha .catalog-commerce-stack > .catalog-silo-nav--product,
body.has-catalog-multi.has-catalog-ficha .catalog-commerce-stack > .catalog-silo-nav:not(.catalog-silo-nav--hub) {
  padding-top: 0.85rem;
  border-bottom: 1px solid rgba(2, 121, 36, 0.08);
}

body.has-catalog-multi.has-catalog-ficha .catalog-commerce-stack > .catalog-buy-more--pillar {
  border-top: none;
  padding-top: 0.35rem;
}

body.has-catalog-multi.has-catalog-ficha .catalog-commerce-stack > .catalog-buy-more--pillar .catalog-buy-more-head-main {
  display: none;
}

body.has-catalog-multi.has-catalog-ficha .catalog-commerce-stack > .catalog-buy-more--pillar .catalog-buy-more-head {
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 0.65rem;
  padding-bottom: 0;
  border-bottom: none;
}

.catalog-page--product > .catalog-silo-nav--product {
  margin: 0 0 1.35rem;
  padding: 0.85rem 1rem 0.95rem;
}

.catalog-page--product > .catalog-buy-hero--product {
  margin-bottom: 0;
  margin-top: 0.15rem;
}

.catalog-silo-nav--product {
  margin: 0 0 0.75rem;
  padding: 0.75rem 0.9rem 0.85rem;
  background: #fff;
  border: 1px solid rgba(2, 121, 36, 0.12);
  box-shadow: 0 2px 12px rgba(15, 20, 16, 0.04);
}

.catalog-silo-nav--product .catalog-silo-nav-label {
  margin: 0 0 0.5rem;
}

.catalog-silo-nav--product .catalog-silo-nav-hub {
  margin: 0 0 0.55rem;
}

.catalog-silo-nav--product .catalog-silo-nav-track {
  flex-wrap: nowrap;
  overflow-x: auto;
  padding-bottom: 0.3rem;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.catalog-silo-nav--product .catalog-silo-nav-link {
  flex: 0 0 auto;
  white-space: nowrap;
}

.has-catalog-product .catalog-ficha-prose > p:first-of-type:has(a[href="#comprar"]) {
  display: none !important;
}

.has-catalog-product .catalog-ficha-prose > p:has(> a.gallery, > .gallery, > .imagen-producto):first-of-type,
.has-catalog-product .catalog-ficha-prose > a.gallery:first-of-type,
.has-catalog-product .catalog-ficha-prose > .gallery.imagen-producto:first-of-type {
  display: none !important;
}

.has-catalog-product .catalog-ficha-prose > .div-producto:first-of-type {
  display: none !important;
}

.has-catalog-product .catalog-ficha-prose a.boton-solicitar {
  margin: 1rem 0 0;
}

/* ——— Ficha producto: contenido plano (sin cards) ——— */
/* Fichas con compra: sin caja exterior en el bloque informativo */
.catalog-page--product .catalog-category-info .catalog-ficha-prose,
.catalog-page--product .catalog-ficha-prose.catalog-ficha-prose--product {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Legacy estilos.css: sombras y floats dentro de ficha compra */
.catalog-page--product .catalog-ficha-prose--product .div-producto,
.catalog-page--product .catalog-ficha-prose--product .caracteristicas,
.catalog-page--product .catalog-ficha-prose--product .div-producto .col-left,
.catalog-page--product .catalog-ficha-prose--product .div-producto .col-right,
.catalog-page--product .catalog-ficha-prose--product .caracteristicas .col-left,
.catalog-page--product .catalog-ficha-prose--product .caracteristicas .col-right,
.catalog-page--product .catalog-ficha-prose--product .descripcion-producto,
.catalog-page--product .catalog-ficha-prose--product .descripcion-producto p:not(:has(.fa-check)) {
  float: none !important;
  position: static !important;
}

.catalog-page--product .catalog-ficha-prose--product .div-producto .col-left .imagen-producto {
  float: none !important;
  width: 100% !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  -moz-box-shadow: none !important;
}

.catalog-page--product .catalog-ficha-prose--product > a.boton-calculadora,
.catalog-page--product .catalog-ficha-prose--product > .enlaces-ficha-producto {
  display: none !important;
}

.catalog-page--product .catalog-ficha-prose--product p.ampliar {
  display: none !important;
}

.has-catalog-product .catalog-category-info {
  margin: 2.25rem 0 0;
  padding: 1.75rem 0 0;
  border-top: 1px solid rgba(2, 121, 36, 0.1);
}

.catalog-shop-description {
  margin: 2.5rem 0 0;
  padding: 0;
  border: none;
}

.catalog-shop-description-card {
  background: var(--v-white, #fff);
  border: 1px solid rgba(2, 121, 36, 0.12);
  border-radius: var(--radius-lg, 16px);
  box-shadow: 0 4px 24px rgba(15, 20, 16, 0.06);
  overflow: hidden;
}

.catalog-shop-description-head {
  margin: 0;
  padding: 1.35rem 1.5rem 1.15rem;
  border-bottom: 1px solid rgba(2, 121, 36, 0.08);
  background: linear-gradient(180deg, rgba(232, 245, 236, 0.35) 0%, rgba(255, 255, 255, 0) 100%);
}

.catalog-shop-description-head .catalog-section-lead {
  margin-top: 0.45rem;
}

.catalog-shop-description-body {
  padding: 1.25rem 1.5rem 1.5rem;
}

.catalog-desc-section + .catalog-desc-section {
  margin-top: 0.25rem;
  padding-top: 1.35rem;
  border-top: 1px solid rgba(2, 121, 36, 0.08);
}

/* Intro (primer bloque: titular + párrafo de apertura) */
.catalog-desc-section--lead > h2 {
  margin: 0 0 0.85rem;
  padding: 0;
  border: none;
  font-family: var(--font-display, "DM Sans", sans-serif);
  font-size: clamp(1.12rem, 2.1vw, 1.32rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.35;
  color: var(--v-gray-900, #0f1410);
}

.catalog-desc-section--lead > h2 + p {
  margin: 0;
  font-size: 1.02rem;
  line-height: 1.8;
  color: var(--v-gray-600, #5a6560);
  max-width: 68ch;
}

/* Secciones con h2 */
.catalog-desc-section:not(.catalog-desc-section--lead) > h2 {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  margin: 0 0 0.75rem;
  padding: 0;
  border: none;
  font-family: var(--font-display, "DM Sans", sans-serif);
  font-size: 1.08rem;
  font-weight: 800;
  letter-spacing: -0.015em;
  line-height: 1.35;
  color: var(--v-gray-900, #0f1410);
}

.catalog-desc-section:not(.catalog-desc-section--lead) > h2::before {
  content: '';
  flex: 0 0 4px;
  width: 4px;
  min-height: 1.15em;
  margin-top: 0.12em;
  background: var(--v-green, #027924);
  border-radius: 3px;
}

.catalog-desc-section h3 {
  margin: 1.1rem 0 0.55rem;
  font-size: 0.98rem;
  font-weight: 700;
  color: var(--v-green-dark, #015a1c);
  letter-spacing: -0.01em;
}

.catalog-shop-description-prose p {
  margin: 0 0 0.85rem;
  font-size: 0.97rem;
  line-height: 1.75;
  color: var(--v-gray-700, #3d4842);
  max-width: 72ch;
}

.catalog-shop-description-prose p:last-child {
  margin-bottom: 0;
}

/* Suavizar negritas SEO de PrestaShop */
.catalog-shop-description-prose strong {
  font-weight: 600;
  color: var(--v-gray-900, #0f1410);
}

.catalog-desc-section--lead > p strong {
  font-weight: 700;
  color: var(--v-green-dark, #015a1c);
}

/* Listas tipo tarjeta-beneficio (anula .content-prose global) */
.page-internal .catalog-shop-description-prose ul,
.catalog-shop-description-prose ul {
  list-style: none !important;
  margin: 0.85rem 0 0 !important;
  padding: 0 !important;
  display: grid;
  gap: 0.6rem;
}

.page-internal .catalog-shop-description-prose li,
.catalog-shop-description-prose li {
  position: relative;
  margin: 0 !important;
  padding: 0.85rem 0.95rem 0.85rem 2.35rem !important;
  font-size: 0.93rem;
  line-height: 1.62;
  color: var(--v-gray-700, #3d4842);
  background: rgba(232, 245, 236, 0.42);
  border: 1px solid rgba(2, 121, 36, 0.1);
  border-radius: var(--radius-md, 12px);
  list-style: none !important;
}

@media (min-width: 768px) {
  .page-internal .catalog-shop-description-prose ul,
  .catalog-shop-description-prose ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
  }

  .page-internal .catalog-shop-description-prose ul:has(li:only-child),
  .catalog-shop-description-prose ul:has(li:only-child) {
    grid-template-columns: 1fr;
  }
}

.page-internal .catalog-shop-description-prose li::before,
.catalog-shop-description-prose li::before {
  content: '\f00c';
  position: absolute;
  left: 0.95rem;
  top: 0.95rem;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  font-size: 0.72rem;
  line-height: 1;
  color: var(--v-green, #027924);
}

.page-internal .catalog-shop-description-prose li strong,
.catalog-shop-description-prose li strong {
  display: inline;
  font-weight: 700;
  color: var(--v-gray-900, #0f1410);
}

/* Párrafo cierre tras listas */
.catalog-desc-section > ul + p,
.catalog-desc-section > h3 + ul + p {
  margin-top: 1rem;
  padding-top: 0.85rem;
  border-top: 1px dashed rgba(2, 121, 36, 0.12);
  font-size: 0.95rem;
  color: var(--v-gray-600, #5a6560);
}

@media (max-width: 640px) {
  .catalog-shop-description-head {
    padding: 1.15rem 1.15rem 1rem;
  }

  .catalog-shop-description-body {
    padding: 0 1.15rem 1.15rem;
  }

  .catalog-shop-description-prose ul {
    grid-template-columns: 1fr;
  }
}

.pg-layout--catalog .catalog-shop-description {
  margin-top: 2.5rem;
}

.has-catalog-product .catalog-category-info .catalog-section-head {
  margin-bottom: 1.15rem;
  padding: 0;
  border: none;
}

.has-catalog-product .catalog-ficha-prose--product,
.has-catalog-product .catalog-category-info .catalog-ficha-prose,
.catalog-page--product .catalog-ficha-prose--product {
  margin: 0;
  padding: 0;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.has-catalog-product .catalog-ficha-prose--product .div-producto,
.has-catalog-product .catalog-ficha-prose--product .caracteristicas {
  display: grid !important;
  float: none !important;
  width: 100% !important;
  margin: 0;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.has-catalog-product .catalog-ficha-prose--product .div-producto {
  grid-template-columns: minmax(180px, 280px) minmax(0, 1fr);
  gap: 1.5rem 2.25rem;
  align-items: start;
  padding: 1.35rem 1.4rem;
  margin: 0 0 1.25rem;
  background: var(--v-white);
  border: 1px solid rgba(2, 121, 36, 0.1);
  border-radius: var(--radius-lg);
  box-shadow: 0 2px 14px rgba(15, 20, 16, 0.04);
}

.has-catalog-product .catalog-ficha-prose--product .caracteristicas {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1.25rem 2rem;
  align-items: start;
  padding: 1.25rem 1.4rem 1.4rem;
  margin: -0.35rem 0 1.75rem;
  background: var(--v-gray-100);
  border: 1px solid rgba(2, 121, 36, 0.08);
  border-radius: var(--radius-lg);
}

.has-catalog-product .catalog-ficha-prose--product .div-producto + .caracteristicas {
  margin-top: -0.35rem;
  padding-top: 1.25rem;
  border-top: none !important;
}

.has-catalog-product .catalog-ficha-prose--product > .caracteristicas {
  margin-top: 0;
  padding-top: 1.25rem;
  border-top: none !important;
}

.has-catalog-product .catalog-ficha-prose--product .col-left,
.has-catalog-product .catalog-ficha-prose--product .col-right {
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
}

.has-catalog-product .catalog-ficha-prose--product .imagen-producto,
.has-catalog-product .catalog-ficha-prose--product a.gallery,
.has-catalog-product .catalog-ficha-prose--product a.gallery.imagen-producto,
.has-catalog-product .catalog-ficha-prose--product .element-img .imagen-producto {
  display: block;
  margin: 0;
  padding: 0;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible;
}

.has-catalog-product .catalog-ficha-prose--product img,
.has-catalog-product .catalog-ficha-prose--product .imagen-producto img,
.has-catalog-product .catalog-ficha-prose--product .element-img img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 300px;
  margin: 0;
  padding: 0;
  object-fit: contain;
  object-position: top left;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  transition: opacity 0.2s ease;
}

.has-catalog-product .catalog-ficha-prose--product a.gallery.imagen-producto:hover img,
.has-catalog-product .catalog-ficha-prose--product .imagen-producto:hover img {
  transform: none;
  opacity: 0.88;
}

.has-catalog-product .catalog-ficha-prose--product p.ampliar {
  display: none;
}

.has-catalog-product .catalog-ficha-prose--product .caracteristicas h2,
.has-catalog-product .catalog-ficha-prose--product .caracteristicas h3 {
  margin: 0 0 0.75rem !important;
  padding: 0 !important;
  border: none !important;
  font-size: 1.02rem !important;
  font-weight: 800 !important;
  color: var(--v-gray-900) !important;
  line-height: 1.3 !important;
}

.has-catalog-product .catalog-ficha-prose--product .descripcion-producto p i,
.has-catalog-product .catalog-ficha-prose--product .caracteristicas p i,
.has-catalog-product .catalog-ficha-prose--product .element-descrip p i {
  color: var(--v-green);
  margin-right: 0.35rem;
}

.has-catalog-product .catalog-ficha-prose--product .descripcion-producto,
.has-catalog-product .catalog-ficha-prose--product .descripcion-producto p:not(:has(.fa-check)) {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  position: static !important;
  text-align: left !important;
}

.has-catalog-product .catalog-ficha-prose--product .div-elements .element-img {
  width: 100% !important;
  float: none !important;
}

.has-catalog-product .catalog-ficha-prose--product .col-right h3 {
  margin: 0 0 0.65rem;
  padding: 0 !important;
  border: none !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  color: var(--v-gray-900) !important;
}

.has-catalog-product .catalog-ficha-prose--product .col-right h3 span {
  color: var(--v-green);
}

.has-catalog-product .catalog-ficha-prose--product .descripcion-producto p,
.has-catalog-product .catalog-ficha-prose--product .caracteristicas p,
.has-catalog-product .catalog-ficha-prose--product .element-descrip p {
  max-width: none;
  line-height: 1.72;
}

.has-catalog-product .catalog-ficha-prose--product h2.subtitulo,
.has-catalog-product .catalog-ficha-prose--product > h2,
.catalog-page--product .catalog-ficha-prose--product h2.subtitulo,
.catalog-page--product .catalog-ficha-prose--product > h2 {
  margin: 2.25rem 0 0.75rem !important;
  padding: 0 !important;
  border: none !important;
  font-size: clamp(1.05rem, 2vw, 1.2rem) !important;
  font-weight: 800 !important;
  color: var(--v-gray-900) !important;
  text-align: left !important;
  background: none !important;
  letter-spacing: -0.01em;
}

.catalog-page--product .catalog-ficha-prose--product > .enlaces-ficha-producto + .div-producto {
  border-top: none !important;
  padding-top: 1.35rem;
  margin-top: 0;
}

.catalog-page--product .catalog-ficha-prose--product .caracteristicas .col-left > h2 {
  margin: 0 0 1rem !important;
  padding: 0 0 0.75rem !important;
  border: none !important;
  border-bottom: 1px solid rgba(2, 121, 36, 0.08) !important;
  font-size: clamp(1rem, 2vw, 1.1rem) !important;
  font-weight: 800 !important;
  color: var(--v-gray-900) !important;
  line-height: 1.35;
}

.has-catalog-product .catalog-ficha-prose--product .frase-subtitulo {
  margin: 0 0 1rem;
  max-width: none;
  font-size: 0.96rem;
  line-height: 1.72;
  color: var(--v-gray-600);
}

.has-catalog-product .catalog-ficha-prose--product .div-elements {
  margin: 0.5rem 0 1.75rem;
  padding: 0 !important;
}

.has-catalog-product .catalog-ficha-prose--product .div-elements h3 {
  display: none;
}

.has-catalog-product .catalog-ficha-prose--product .div-elements .element {
  display: grid !important;
  grid-template-columns: minmax(160px, 280px) minmax(0, 1fr) !important;
  gap: 1.35rem 2rem !important;
  align-items: start;
  position: relative !important;
  margin: 0 0 1.5rem;
  padding: 1.35rem 1.25rem !important;
  background: var(--v-white) !important;
  border: 1px solid rgba(2, 121, 36, 0.1) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: 0 2px 14px rgba(15, 20, 16, 0.04) !important;
}

.has-catalog-product .catalog-ficha-prose--product .div-elements .element-option,
.catalog-ficha-prose--product .div-elements .element-option {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.4rem !important;
  position: absolute !important;
  top: 0.85rem !important;
  right: 0.85rem !important;
  left: auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: calc(100% - 1.7rem);
  margin: 0 !important;
  padding: 0.35rem 0.7rem !important;
  background: rgba(2, 121, 36, 0.08) !important;
  border: 1px solid rgba(2, 121, 36, 0.18) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  text-align: center !important;
  z-index: 1;
}

.has-catalog-product .catalog-ficha-prose--product .div-elements .element-option div,
.catalog-ficha-prose--product .div-elements .element-option div {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  font-size: 0.82rem !important;
  color: var(--v-green) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.has-catalog-product .catalog-ficha-prose--product .div-elements .element-option i,
.catalog-ficha-prose--product .div-elements .element-option i {
  font-size: 0.82rem !important;
  color: var(--v-green) !important;
}

.has-catalog-product .catalog-ficha-prose--product .div-elements .element-option p,
.catalog-ficha-prose--product .div-elements .element-option p {
  margin: 0 !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--v-green-dark) !important;
  text-align: left !important;
}

.has-catalog-product .catalog-ficha-prose--product .div-tipos {
  float: none !important;
  width: 100% !important;
  margin: 0.75rem 0 1.5rem;
  padding: 0 !important;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem 2rem;
  text-align: left;
}

.has-catalog-product .catalog-ficha-prose--product .div-tipos .tipo-opcion {
  float: none !important;
  display: block;
  width: auto !important;
  margin: 0;
  padding: 0 0 1rem;
  border: none;
  border-bottom: 1px solid rgba(2, 121, 36, 0.08);
}

.has-catalog-product .catalog-ficha-prose--product .div-tipos .tipo-opcion i {
  display: block;
  margin: 0 0 0.4rem;
  font-size: 1.1rem;
  color: var(--v-green);
}

.has-catalog-product .catalog-ficha-prose--product .div-tipos .tipo-opcion h4 {
  display: block;
  float: none !important;
  width: 100% !important;
  margin: 0 0 0.4rem;
  font-size: 0.98rem !important;
  font-weight: 800;
  color: var(--v-gray-900);
  text-align: left;
}

.has-catalog-product .catalog-ficha-prose--product .div-tipos .tipo-opcion p {
  float: none !important;
  width: 100% !important;
  margin: 0.35rem 0 0;
  font-size: 0.92rem;
  line-height: 1.65;
  color: var(--v-gray-700);
  text-align: left;
}

.has-catalog-product .catalog-ficha-prose--product > p:not(.frase-subtitulo):not(.texto-dest):not(.ampliar) {
  max-width: none;
  margin: 0 0 0.85rem;
  line-height: 1.75;
  color: var(--v-gray-700);
  font-size: 0.97rem;
}

.has-catalog-product .catalog-ficha-prose--product > p:has(.fa-stop-circle) {
  display: flex;
  align-items: baseline;
  gap: 0.45rem;
  margin: 0.35rem 0;
  padding: 0;
}

.has-catalog-product .catalog-ficha-prose--product > p:has(.fa-stop-circle) i {
  flex-shrink: 0;
  color: var(--v-green);
  font-size: 0.75rem;
}

.has-catalog-product .catalog-ficha-prose--product > p:has(.fa-stop-circle) a {
  font-weight: 600;
}

.has-catalog-product .catalog-ficha-prose--product table {
  margin: 1rem 0 1.25rem;
  border-radius: 0;
  box-shadow: none;
  border: 1px solid rgba(2, 121, 36, 0.1);
}

.has-catalog-product .catalog-ficha-prose--product h3.subtitulo {
  margin-top: 2rem !important;
  padding: 1.35rem 0 0 !important;
  border: none !important;
  border-top: 1px solid rgba(2, 121, 36, 0.1) !important;
  border-left: none !important;
  font-size: 0.98rem !important;
  font-weight: 700 !important;
  color: var(--v-gray-800) !important;
}

.has-catalog-product .catalog-ficha-prose--product .texto-dest {
  margin: 1.25rem 0 0;
  padding: 1.15rem 0 0;
  border-top: 1px solid rgba(2, 121, 36, 0.08);
  font-size: 0.94rem;
  line-height: 1.7;
  color: var(--v-gray-600);
}

.has-catalog-product .catalog-ficha-prose--product a.boton-solicitar {
  display: inline;
  float: none !important;
  clear: both;
  margin: 1rem 0 0;
  padding: 0;
  background: none !important;
  border: none !important;
  border-radius: 0;
  color: var(--v-green) !important;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-align: left;
}

.has-catalog-product .catalog-ficha-prose--product a.boton-solicitar:hover {
  color: var(--v-green-dark) !important;
  background: none !important;
}

.has-catalog-product .catalog-ficha-prose--product > .enlaces-ficha-producto,
.has-catalog-product .catalog-ficha-prose--product .ficha-producto ~ .enlaces-ficha-producto {
  display: none !important;
}

.has-catalog-product .catalog-page--product .gallery.imagen-producto,
.has-catalog-product .catalog-page--product .imagen-producto {
  border-radius: 0 !important;
  overflow: visible !important;
  box-shadow: none !important;
}

.has-catalog-product .catalog-ficha-prose--product a.gallery .screen,
.has-catalog-product .catalog-ficha-prose--product a.gallery .ver-mas {
  display: none !important;
}

.has-catalog-product .catalog-ficha-prose--product .descripcion-producto p:has(.fa-check),
.has-catalog-product .catalog-ficha-prose--product .element-descrip p:has(.fa-check) {
  display: block !important;
  position: relative !important;
  margin: 0.45rem 0 !important;
  padding: 0.15rem 0 0.15rem 1.75rem !important;
  line-height: 1.72;
  text-align: left !important;
}

.has-catalog-product .catalog-ficha-prose--product .descripcion-producto p:has(.fa-check) i,
.has-catalog-product .catalog-ficha-prose--product .element-descrip p:has(.fa-check) i {
  position: absolute !important;
  left: 0 !important;
  top: 0.35em !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 1.15rem;
  height: 1.15rem;
  margin: 0 !important;
  font-size: 0.52rem !important;
  color: #fff !important;
  background: var(--v-green);
  border-radius: 50%;
}

.has-catalog-product .catalog-ficha-prose--product .caracteristicas .col-left h2,
.has-catalog-product .catalog-ficha-prose--product .caracteristicas .col-left h3 {
  margin: 0 0 1rem !important;
  font-size: clamp(1rem, 2vw, 1.1rem) !important;
  font-weight: 800 !important;
  color: var(--v-gray-900) !important;
  line-height: 1.35;
  letter-spacing: -0.01em;
}

.has-catalog-product .catalog-ficha-prose--product .caracteristicas .col-left p {
  display: block !important;
  margin: 0.4rem 0;
  font-size: 0.95rem;
  line-height: 1.72;
  color: var(--v-gray-700);
  text-align: left !important;
}

.has-catalog-product .catalog-ficha-prose--product .caracteristicas .col-left p i {
  display: inline !important;
  flex-shrink: unset;
  font-size: 0.75rem;
  margin: 0 0.35rem 0 0;
}

.has-catalog-product .catalog-ficha-prose--product .caracteristicas .col-right {
  min-width: 0;
}

.has-catalog-product .catalog-ficha-prose--product .catalog-product-spec-table-wrap {
  margin: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.has-catalog-product .catalog-ficha-prose--product .catalog-product-spec-table {
  width: 100%;
  min-width: 280px;
  margin: 0;
  border-collapse: collapse;
  border: none;
  border-radius: 0;
  box-shadow: none !important;
  background: transparent;
  font-size: 0.88rem;
  line-height: 1.45;
}

.has-catalog-product .catalog-ficha-prose--product .catalog-product-spec-table thead th {
  padding: 0.55rem 0.75rem;
  background: var(--v-green, #027924);
  color: #fff;
  font-weight: 700;
  font-size: 0.82rem;
  text-align: left;
  border: none;
  white-space: nowrap;
}

.has-catalog-product .catalog-ficha-prose--product .catalog-product-spec-table tbody td {
  padding: 0.5rem 0.75rem;
  border: none;
  border-bottom: 1px solid rgba(2, 121, 36, 0.08);
  color: var(--v-gray-800);
  text-align: left;
  vertical-align: top;
}

.has-catalog-product .catalog-ficha-prose--product .catalog-product-spec-table tbody tr:last-child td {
  border-bottom: none;
}

.has-catalog-product .catalog-ficha-prose--product .catalog-product-spec-table tbody tr:nth-child(even) td {
  background: rgba(2, 121, 36, 0.03);
}

.has-catalog-product .catalog-ficha-prose--product > h2:not(.subtitulo) {
  margin: 2.5rem 0 0.85rem !important;
  padding: 1.5rem 0 0 !important;
  border: none !important;
  border-top: 1px solid rgba(2, 121, 36, 0.1) !important;
  border-left: none !important;
  font-size: clamp(1.05rem, 2vw, 1.18rem) !important;
  font-weight: 800 !important;
  color: var(--v-gray-900) !important;
  text-align: left !important;
  background: none !important;
}

.has-catalog-product .catalog-ficha-prose--product > h2:not(.subtitulo) + p {
  margin-top: 0;
}

.has-catalog-product .catalog-page--product .catalog-shop-category-seo-block {
  margin-top: 2.25rem;
  padding-top: 1.75rem;
  border-top: 1px solid rgba(2, 121, 36, 0.1);
}

/* Fichas técnicas, calculadora legacy y enlaces SEO (malla ganadera, etc.) */
.catalog-page--product .catalog-ficha-prose--product > a.boton-calculadora,
.has-catalog-product .catalog-ficha-prose--product > a.boton-calculadora {
  display: none !important;
}

.catalog-page--product .catalog-ficha-prose--product .fichas-tecnicas,
.has-catalog-product .catalog-ficha-prose--product .fichas-tecnicas {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 2.5rem;
  float: none !important;
  width: 100% !important;
  margin: 0.75rem 0 1.5rem;
  padding: 0 !important;
  text-align: left;
}

.catalog-page--product .catalog-ficha-prose--product .f-malla,
.has-catalog-product .catalog-ficha-prose--product .f-malla {
  display: block;
  float: none !important;
  width: auto !important;
  margin: 0;
  padding: 1rem 0;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  border-bottom: 1px solid rgba(2, 121, 36, 0.08) !important;
  box-shadow: none !important;
  transform: none !important;
  text-align: left;
}

.catalog-page--product .catalog-ficha-prose--product .f-malla:hover,
.has-catalog-product .catalog-ficha-prose--product .f-malla:hover {
  box-shadow: none !important;
  transform: none !important;
}

.catalog-page--product .catalog-ficha-prose--product .catalog-spec-code,
.has-catalog-product .catalog-ficha-prose--product .catalog-spec-code {
  display: inline-block;
  margin: 0 0 0.45rem;
  padding: 0.18rem 0.55rem;
  font-size: 0.84rem;
  font-weight: 700;
  font-family: ui-monospace, 'Cascadia Code', 'Segoe UI Mono', monospace;
  letter-spacing: 0.03em;
  color: var(--v-green-dark, #015a1c);
  background: rgba(2, 121, 36, 0.08);
  border-radius: 3px;
  line-height: 1.4;
}

.catalog-page--product .catalog-ficha-prose--product .f-malla h4,
.has-catalog-product .catalog-ficha-prose--product .f-malla h4 {
  float: none !important;
  width: auto !important;
  margin: 0 0 0.45rem;
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  font-size: 0.98rem;
  font-weight: 800;
  color: var(--v-gray-900);
  text-align: left;
}

.catalog-page--product .catalog-ficha-prose--product .f-malla:not(:has(.catalog-spec-code)) h4::before,
.has-catalog-product .catalog-ficha-prose--product .f-malla:not(:has(.catalog-spec-code)) h4::before {
  content: '';
  display: inline-block;
  width: 0.45rem;
  height: 0.45rem;
  margin-right: 0.45rem;
  border-radius: 50%;
  background: var(--v-green);
  vertical-align: middle;
  transform: translateY(-1px);
}

.catalog-page--product .catalog-ficha-prose--product .f-malla p,
.has-catalog-product .catalog-ficha-prose--product .f-malla p {
  float: none !important;
  width: auto !important;
  margin: 0 0 0.55rem;
  padding: 0 !important;
  font-size: 0.92rem;
  line-height: 1.68;
  color: var(--v-gray-700);
  text-align: left;
}

.catalog-page--product .catalog-ficha-prose--product .f-malla p strong,
.has-catalog-product .catalog-ficha-prose--product .f-malla p strong {
  color: var(--v-gray-900);
  font-weight: 700;
}

.catalog-page--product .catalog-ficha-prose--product .f-malla a,
.catalog-page--product .catalog-ficha-prose--product .f-malla a.gallery,
.has-catalog-product .catalog-ficha-prose--product .f-malla a,
.has-catalog-product .catalog-ficha-prose--product .f-malla a.gallery {
  display: inline !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--v-green) !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.catalog-page--product .catalog-ficha-prose--product .f-malla a:hover,
.has-catalog-product .catalog-ficha-prose--product .f-malla a:hover {
  background: none !important;
  color: var(--v-green-dark) !important;
}

.catalog-spec-buy-intro {
  margin: 0.75rem 0 1.25rem;
}

.catalog-spec-buy-link {
  display: inline-flex !important;
  align-items: center;
  gap: 0.4rem;
  margin: 0.65rem 0 0 !important;
  padding: 0.55rem 0.95rem !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  line-height: 1.3;
  color: var(--v-white, #fff) !important;
  text-decoration: none !important;
  background: var(--v-green, #027924) !important;
  border: 1px solid rgba(2, 121, 36, 0.2) !important;
  border-radius: var(--radius-md, 10px) !important;
  box-shadow: 0 2px 8px rgba(2, 121, 36, 0.18) !important;
}

.catalog-spec-buy-link--hero {
  margin-top: 0 !important;
}

.catalog-spec-buy-link:hover {
  background: var(--v-green-dark, #015a1c) !important;
  color: var(--v-white, #fff) !important;
  text-decoration: none !important;
}

.catalog-page--product .catalog-ficha-prose--product .f-malla .catalog-spec-buy-link,
.has-catalog-product .catalog-ficha-prose--product .f-malla .catalog-spec-buy-link {
  display: inline-flex !important;
}

.catalog-page--product .catalog-ficha-prose--product .f-malla a i,
.has-catalog-product .catalog-ficha-prose--product .f-malla a.gallery i {
  font-size: 0.8rem;
  margin-right: 0.2rem;
}

.catalog-page--product .catalog-ficha-prose--product .fichas-tecnicas > p,
.has-catalog-product .catalog-ficha-prose--product .fichas-tecnicas > p {
  grid-column: 1 / -1;
  margin: 1.25rem 0 0;
  padding: 1.15rem 0 0;
  border-top: 1px solid rgba(2, 121, 36, 0.08);
  font-size: 0.94rem;
  line-height: 1.7;
  color: var(--v-gray-600);
  text-align: left;
}

.has-catalog-product .catalog-ficha-prose--product h2.subtitulo + .frase-subtitulo + h3.subtitulo {
  margin-top: 1rem !important;
  padding: 0 !important;
  border: none !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  color: var(--v-gray-900) !important;
}

.has-catalog-product .catalog-ficha-prose--product h2.subtitulo + .frase-subtitulo + h3.subtitulo + .frase-subtitulo {
  margin-top: 0.35rem;
}

.catalog-page--product .catalog-ficha-prose--product #enlaces-rel,
.has-catalog-product .catalog-ficha-prose--product #enlaces-rel {
  float: none !important;
  width: 100% !important;
  margin: 2.25rem 0 0;
  padding: 1.5rem 0 0;
  border-top: 1px solid rgba(2, 121, 36, 0.1);
  text-align: left;
}

.catalog-page--product .catalog-ficha-prose--product #enlaces-rel p,
.has-catalog-product .catalog-ficha-prose--product #enlaces-rel p {
  margin: 0 0 0.85rem;
  font-size: 0.97rem;
  line-height: 1.72;
  color: var(--v-gray-700);
}

.catalog-page--product .catalog-ficha-prose--product .catalog-related-links-list,
.has-catalog-product .catalog-ficha-prose--product .catalog-related-links-list {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.catalog-page--product .catalog-ficha-prose--product #enlaces-rel a,
.has-catalog-product .catalog-ficha-prose--product #enlaces-rel a {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  padding: 0.35rem 0;
  background: none !important;
  border: none !important;
  border-radius: 0;
  box-shadow: none !important;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--v-green) !important;
  text-decoration: none;
}

.catalog-page--product .catalog-ficha-prose--product #enlaces-rel a::before,
.has-catalog-product .catalog-ficha-prose--product #enlaces-rel a::before {
  content: '';
  flex-shrink: 0;
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: var(--v-green);
}

.catalog-page--product .catalog-ficha-prose--product #enlaces-rel a:hover,
.has-catalog-product .catalog-ficha-prose--product #enlaces-rel a:hover {
  color: var(--v-green-dark) !important;
}

@media (max-width: 768px) {
  body.has-catalog-ficha #header-secundario.page-hero {
    padding-bottom: 1.25rem !important;
  }

  body.has-catalog-ficha .page-hero-actions--catalog-ficha {
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  body.has-catalog-ficha .page-hero-actions--catalog-ficha .page-hero-btn {
    justify-content: center;
    width: min(100%, 320px);
  }

  .catalog-ficha-prose {
    padding: 0;
    margin-top: 1.5rem;
  }

  .has-catalog-product .catalog-ficha-prose .div-producto,
  .has-catalog-product .catalog-ficha-prose .caracteristicas {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .has-catalog-product .catalog-ficha-prose--product .caracteristicas .col-right {
    order: 2;
  }

  .has-catalog-product .catalog-ficha-prose--product .catalog-product-spec-table thead th {
    white-space: normal;
  }

  .has-catalog-product .catalog-ficha-prose--product .fichas-tecnicas {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .has-catalog-product .catalog-ficha-prose .div-tipos {
    grid-template-columns: 1fr;
  }

  .catalog-silo-nav--hub .catalog-silo-nav-track,
  .catalog-silo-nav--product .catalog-silo-nav-track {
    flex-wrap: wrap;
    overflow-x: visible;
  }

  .catalog-ficha-prose table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* ——— Hub pilar de categoría (ej. /mallas-metalicas/) ——— */
body.has-catalog-pillar-hub .pg-main {
  background: linear-gradient(180deg, #eef5f0 0%, #f8faf9 14rem, #fff 28rem);
}

body.has-catalog-pillar-hub #header-secundario.page-hero:not(.page-hero--image) {
  padding-bottom: 1.5rem !important;
}

.catalog-page--pillar-hub {
  padding-top: 0;
}

.catalog-page--pillar-hub .catalog-silo-nav--hub {
  margin-bottom: 0.85rem;
  padding: 0.9rem 1.15rem 1rem;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(2, 121, 36, 0.12);
  box-shadow: 0 6px 24px rgba(15, 20, 16, 0.04);
  backdrop-filter: blur(6px);
}

.catalog-page--pillar-hub .catalog-silo-nav--hub .catalog-silo-nav-label {
  margin-bottom: 0.55rem;
  color: var(--v-green-dark);
}

.catalog-page--pillar-hub .catalog-silo-nav--hub .catalog-silo-nav-link {
  font-size: 0.82rem;
  padding: 0.42rem 0.9rem;
  box-shadow: 0 1px 3px rgba(15, 20, 16, 0.04);
}

/* Cabeceras de sección (información, SEO) */
.catalog-section-head {
  margin: 0 0 1.35rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(2, 121, 36, 0.1);
}

.catalog-section-head--seo {
  margin-bottom: 1.15rem;
}

.catalog-section-eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--v-green);
}

.catalog-section-eyebrow i {
  margin-right: 0.35rem;
}

.catalog-section-title {
  margin: 0;
  font-family: var(--font-display, "DM Sans", sans-serif);
  font-size: clamp(1.2rem, 2.4vw, 1.45rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.25;
  color: var(--v-gray-900);
}

.catalog-section-lead {
  margin: 0.55rem 0 0;
  max-width: 62ch;
  font-size: 0.95rem;
  line-height: 1.55;
  color: var(--v-gray-600, #5a6560);
}

.catalog-buy-eyebrow {
  margin: 0 0 0.4rem;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--v-green);
}

.catalog-buy-eyebrow i {
  margin-right: 0.35rem;
}

.catalog-buy-more--pillar .catalog-buy-more-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  margin-bottom: 1.35rem;
  padding-bottom: 1.15rem;
  border-bottom: 1px solid rgba(2, 121, 36, 0.1);
}

.catalog-buy-more--pillar .catalog-buy-more-head-main {
  flex: 1 1 16rem;
  min-width: 0;
}

.catalog-buy-more--pillar .catalog-buy-lead {
  margin-bottom: 0;
  max-width: 52ch;
}

.catalog-buy-count {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  padding: 0.45rem 0.85rem;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--v-green-dark);
  background: rgba(2, 121, 36, 0.08);
  border: 1px solid rgba(2, 121, 36, 0.14);
  border-radius: var(--radius-pill);
}

.catalog-buy-count span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  height: 1.5rem;
  padding: 0 0.35rem;
  font-size: 0.88rem;
  font-weight: 800;
  color: #fff;
  background: var(--v-green);
  border-radius: var(--radius-pill);
}

.catalog-pillar-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(260px, 0.95fr);
  gap: 1.5rem;
  align-items: center;
  margin: 0 0 1.5rem;
  padding: 1.5rem 1.6rem;
  border-radius: var(--radius-lg, 20px);
  border: 1px solid rgba(2, 121, 36, 0.14);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 252, 249, 0.96) 100%),
    radial-gradient(520px 200px at 100% 0%, rgba(2, 121, 36, 0.1) 0%, transparent 58%);
  box-shadow: 0 12px 40px rgba(15, 20, 16, 0.07);
}

.catalog-pillar-eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--v-green);
}

.catalog-pillar-title {
  margin: 0 0 0.65rem;
  font-family: var(--font-display, "DM Sans", sans-serif);
  font-size: clamp(1.45rem, 3vw, 1.85rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.15;
  color: var(--v-gray-900);
}

.catalog-pillar-lead {
  margin: 0 0 1rem;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--v-gray-600);
  max-width: 52ch;
}

.catalog-pillar-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  list-style: none;
  margin: 0 0 1.15rem;
  padding: 0;
  font-size: 0.84rem;
  font-weight: 600;
  color: var(--v-gray-700);
}

.catalog-pillar-trust i {
  color: var(--v-green);
  margin-right: 0.35rem;
}

.catalog-pillar-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem 0.75rem;
}

.catalog-pillar-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--v-green);
  text-decoration: none;
}

.catalog-pillar-link:hover {
  color: var(--v-green-dark);
  text-decoration: underline;
}

.catalog-pillar-intro-media {
  border-radius: var(--radius-lg, 20px);
  overflow: hidden;
  box-shadow: 0 8px 28px rgba(15, 20, 16, 0.12);
  border: 1px solid rgba(2, 121, 36, 0.1);
}

.catalog-pillar-intro-media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 220px;
  object-fit: cover;
}

.catalog-pillar-types {
  margin: 0 0 1.75rem;
  padding: 1.35rem 1.4rem 1.45rem;
  border-radius: var(--radius-lg, 20px);
  background: #fff;
  border: 1px solid rgba(2, 121, 36, 0.1);
  box-shadow: 0 4px 20px rgba(15, 20, 16, 0.05);
}

.catalog-pillar-types-head {
  margin-bottom: 1rem;
}

.catalog-pillar-types-head h2 {
  margin: 0 0 0.25rem !important;
  padding: 0 !important;
  border: none !important;
  font-size: clamp(1.15rem, 2.2vw, 1.35rem) !important;
}

.catalog-pillar-types-head p {
  margin: 0;
  font-size: 0.88rem;
  color: var(--v-gray-500);
  max-width: none;
}

.catalog-pillar-types-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1rem;
}

.catalog-pillar-type-card {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  border-radius: var(--radius-md, 12px);
  border: 1px solid rgba(2, 121, 36, 0.12);
  background: #fff;
  text-decoration: none !important;
  color: inherit !important;
  overflow: hidden;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.catalog-pillar-type-card.has-image {
  background: #fff;
}

.catalog-pillar-type-img {
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--v-gray-100);
}

.catalog-pillar-type-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.catalog-pillar-type-card:hover .catalog-pillar-type-img img {
  transform: scale(1.05);
}

.catalog-pillar-type-body {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 0.85rem 1rem 1rem;
}

.catalog-pillar-type-desc {
  font-size: 0.82rem;
  line-height: 1.45;
  color: var(--v-gray-500);
}

.catalog-pillar-type-card:hover {
  transform: translateY(-3px);
  border-color: rgba(2, 121, 36, 0.28);
  background: #fff;
  box-shadow: var(--shadow-sm);
}

.catalog-pillar-type-card.is-current {
  border-color: var(--v-green);
  background: var(--v-green-soft, #e8f5ec);
}

.catalog-pillar-type-label {
  font-weight: 800;
  font-size: 0.95rem;
  color: var(--v-gray-900);
  line-height: 1.25;
}

.catalog-pillar-type-cta {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--v-green);
}

.catalog-ficha-prose--pillar {
  margin-top: 0;
}

.catalog-category-info {
  margin-top: 2rem;
}

/* ——— Contenido editorial plano (catálogo con comercio) ——— */
.pg-layout--catalog .catalog-category-info {
  margin-top: 2.5rem;
  padding: 2rem 0 0;
  background: transparent;
  border: none;
  border-top: 1px solid rgba(2, 121, 36, 0.12);
  box-shadow: none;
}

.pg-layout--catalog .catalog-category-info .catalog-section-head {
  margin: 0 0 1.15rem;
  padding: 0;
  border: none;
}

.pg-layout--catalog .catalog-category-info .catalog-ficha-prose,
.pg-layout--catalog .catalog-category-info .catalog-ficha-prose--pillar {
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}

.pg-layout--catalog .catalog-ficha-prose .descrip-productos {
  margin: 1.75rem 0 0;
  padding: 1.5rem 0 0 !important;
  background: transparent !important;
  border: none;
  border-top: 1px solid rgba(2, 121, 36, 0.08);
  border-radius: 0;
}

.pg-layout--catalog .catalog-ficha-prose > .descrip-productos:first-child {
  margin-top: 0;
  padding-top: 0 !important;
  border-top: none;
}

.pg-layout--catalog .catalog-ficha-prose .descrip-productos h2 {
  margin-top: 0 !important;
  padding-bottom: 0.35rem;
  border-bottom: none !important;
  font-size: clamp(1.05rem, 2vw, 1.2rem) !important;
}

.pg-layout--catalog .catalog-ficha-prose .productos-inicio,
.pg-layout--catalog .catalog-ficha-prose .catalog-accessories-strip {
  margin: 2rem 0 0;
  padding: 1.35rem 0 0 !important;
  background: transparent !important;
  border: none;
  border-top: 1px solid rgba(2, 121, 36, 0.1);
  border-radius: 0;
  box-shadow: none;
  width: 100%;
  max-width: none;
}

.catalog-accessories-head {
  margin: 0 0 1rem;
}

.catalog-accessories-head h2,
.pg-layout--catalog .catalog-ficha-prose .catalog-accessories-strip h2 {
  margin: 0 0 0.4rem !important;
  padding: 0 0 0 0.85rem !important;
  border: none !important;
  border-left: 3px solid var(--v-green) !important;
  font-family: var(--font-display, "DM Sans", sans-serif) !important;
  font-size: clamp(1.05rem, 2vw, 1.2rem) !important;
  font-weight: 800 !important;
  color: var(--v-gray-900) !important;
  line-height: 1.3 !important;
  text-align: left !important;
}

.catalog-accessories-lead {
  margin: 0;
  padding-left: calc(0.85rem + 3px);
  max-width: none;
  font-size: 0.94rem;
  line-height: 1.55;
  color: var(--v-gray-600, #5a6560);
}

.pg-layout--catalog .catalog-ficha-prose .catalog-accessories-grid,
.pg-layout--catalog .catalog-ficha-prose .catalog-accessories-strip .container {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  justify-content: stretch !important;
  flex-wrap: unset !important;
}

.pg-layout--catalog .catalog-ficha-prose .catalog-accessories-strip .container > a {
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  text-align: center;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0;
  box-shadow: none !important;
  text-decoration: none !important;
  overflow: visible;
}

.pg-layout--catalog .catalog-ficha-prose .catalog-accessories-strip .container > a:hover {
  transform: none;
  border: none !important;
  box-shadow: none !important;
}

.pg-layout--catalog .catalog-ficha-prose .catalog-accessories-strip .container > a img {
  display: block;
  width: 100% !important;
  aspect-ratio: 4 / 3;
  height: auto !important;
  max-height: none !important;
  margin: 0 0 0.55rem !important;
  object-fit: cover;
  object-position: center;
  border-radius: var(--radius-md);
  transition: opacity 0.2s ease, transform 0.25s ease;
}

.pg-layout--catalog .catalog-ficha-prose .catalog-accessories-strip .container > a:hover img {
  transform: scale(1.02);
  opacity: 0.92;
}

.pg-layout--catalog .catalog-ficha-prose .catalog-accessories-strip .container a div {
  display: none;
}

.pg-layout--catalog .catalog-ficha-prose .catalog-accessories-strip .container h3 {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  color: var(--v-gray-800) !important;
  line-height: 1.35;
  transition: color 0.15s ease;
}

.pg-layout--catalog .catalog-ficha-prose .catalog-accessories-strip .container h3::before {
  display: none !important;
}

.pg-layout--catalog .catalog-ficha-prose .catalog-accessories-strip .container > a:hover h3 {
  color: var(--v-green) !important;
}

@media (max-width: 960px) {
  .pg-layout--catalog .catalog-ficha-prose .catalog-accessories-grid,
  .pg-layout--catalog .catalog-ficha-prose .catalog-accessories-strip .container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .pg-layout--catalog .catalog-ficha-prose .catalog-accessories-grid,
  .pg-layout--catalog .catalog-ficha-prose .catalog-accessories-strip .container {
    grid-template-columns: 1fr;
  }
}

/* Legacy: reglas genéricas productos-inicio en catálogo (sin strip) */
.pg-layout--catalog .catalog-ficha-prose .productos-inicio:not(.catalog-accessories-strip) h2 {
  margin-top: 0 !important;
  text-align: left;
  font-size: clamp(1.05rem, 2vw, 1.2rem) !important;
  border: none !important;
  padding-bottom: 0 !important;
}

.pg-layout--catalog .catalog-ficha-prose .productos-inicio:not(.catalog-accessories-strip) .container > a {
  background: rgba(248, 252, 249, 0.9);
  border: 1px solid rgba(2, 121, 36, 0.1);
  box-shadow: none;
}

.pg-layout--catalog .catalog-ficha-prose .productos-inicio:not(.catalog-accessories-strip) .container > a:hover {
  box-shadow: 0 4px 14px rgba(2, 121, 36, 0.08);
}

.pg-layout--catalog .catalog-ficha-prose .div-producto,
.pg-layout--catalog .catalog-ficha-prose .caracteristicas {
  margin: 1.75rem 0 0;
  padding: 1.5rem 0 0;
  background: transparent;
  border: none;
  border-top: 1px solid rgba(2, 121, 36, 0.08);
  border-radius: 0;
  box-shadow: none;
}

.pg-layout--catalog .catalog-ficha-prose .ficha-producto .info-2 {
  margin: 2rem 0 0;
  padding: 1.5rem 0 0;
  background: transparent;
  border: none;
  border-top: 1px solid rgba(2, 121, 36, 0.08);
  border-radius: 0;
}

.pg-layout--catalog .catalog-ficha-prose:not(.catalog-ficha-prose--product) .div-elements .element {
  padding: 1rem 0;
  background: transparent;
  border: none;
  border-top: 1px solid rgba(2, 121, 36, 0.08);
  border-radius: 0;
  box-shadow: none;
}

.pg-layout--catalog .catalog-ficha-prose:not(.catalog-ficha-prose--product) .div-elements .element:first-child {
  border-top: none;
  padding-top: 0;
}

.pg-layout--catalog .catalog-ficha-prose .tipos-producto .div-t > a {
  box-shadow: none;
}

.pg-layout--catalog .catalog-shop-category-seo-block {
  margin: 2.5rem 0 0;
  padding: 2rem 0 0;
  background: transparent;
  border: none;
  border-top: 1px solid rgba(2, 121, 36, 0.12);
  border-radius: 0;
  box-shadow: none;
  width: 100%;
  max-width: none;
}

.pg-layout--catalog .catalog-shop-category-seo-block .catalog-section-head {
  margin-bottom: 1rem;
  padding: 0;
  border: none;
}

.pg-layout--catalog .catalog-shop-category-seo-body {
  max-width: none;
  width: 100%;
}

.pg-layout--catalog .catalog-shop-category-seo-body p,
.pg-layout--catalog .catalog-shop-category-seo-body ul,
.pg-layout--catalog .catalog-shop-category-seo-body ol,
.pg-layout--catalog .catalog-shop-category-seo-body li {
  max-width: none;
  width: 100%;
  box-sizing: border-box;
}

.pg-layout--catalog .catalog-ficha-prose > .enlaces-ficha-producto {
  display: none !important;
}

/* ——— Refinamiento visual catálogo ——— */
.catalog-page--pillar-hub .catalog-silo-nav--hub {
  margin-bottom: 0;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom: none;
  box-shadow: none;
}

.catalog-page--pillar-hub .catalog-silo-nav--hub .catalog-silo-nav-track {
  flex-wrap: wrap;
  overflow-x: visible;
  padding-bottom: 0;
}

.catalog-page--pillar-hub .catalog-buy-more--pillar {
  margin-top: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.pg-layout--catalog .catalog-section-title {
  padding-left: 0.85rem;
  border-left: 3px solid var(--v-green);
}

/* Evitar doble barra cuando el título va dentro de .catalog-section-head */
.pg-layout--catalog .catalog-section-head .catalog-section-title,
.pg-layout--catalog .catalog-category-info .catalog-section-head .catalog-section-title {
  padding-left: 0;
  border-left: none;
}

.pg-layout--catalog .catalog-ficha-prose > .descrip-productos:first-child p,
.pg-layout--catalog .catalog-category-info .catalog-ficha-prose > p:first-of-type {
  font-size: 1.04rem;
  line-height: 1.72;
  color: var(--v-gray-600);
  max-width: 68ch;
}

.pg-layout--catalog .catalog-ficha-prose h2,
.pg-layout--catalog .catalog-ficha-prose .descrip-productos h2 {
  margin: 2rem 0 0.85rem !important;
  padding: 0 0 0 0.85rem !important;
  border: none !important;
  border-left: 3px solid rgba(2, 121, 36, 0.35) !important;
  font-family: var(--font-display, "DM Sans", sans-serif) !important;
  font-size: clamp(1.02rem, 2vw, 1.15rem) !important;
  font-weight: 800 !important;
  color: var(--v-gray-900) !important;
  line-height: 1.3 !important;
}

.pg-layout--catalog .catalog-ficha-prose > .descrip-productos:first-child h2 {
  margin-top: 0 !important;
}

.pg-layout--catalog .catalog-ficha-prose .descrip-productos p,
.pg-layout--catalog .catalog-ficha-prose .descrip-productos li {
  max-width: 68ch;
  line-height: 1.72;
  color: var(--v-gray-700);
}

.pg-layout--catalog .catalog-shop-category-seo-body h2 {
  margin-top: 2rem;
  padding-left: 0.85rem;
  border-left: 3px solid rgba(2, 121, 36, 0.35);
  font-size: clamp(1.05rem, 2vw, 1.2rem);
}

.pg-layout--catalog .catalog-shop-category-seo-body h2:first-child {
  margin-top: 0;
}

.pg-layout--catalog .catalog-shop-category-seo-body h3 {
  margin-top: 1.35rem;
  font-size: 1rem;
  color: var(--v-green-dark);
}

.pg-layout--catalog .catalog-shop-category-seo-body ul {
  margin: 0.65rem 0 1.15rem;
  padding: 0;
  list-style: none;
}

.pg-layout--catalog .catalog-shop-category-seo-body ul li {
  position: relative;
  margin: 0.65rem 0;
  padding: 0.85rem 0.95rem 0.85rem 1.1rem;
  max-width: none;
  background: rgba(248, 252, 249, 0.85);
  border: 1px solid rgba(2, 121, 36, 0.08);
  border-radius: var(--radius-md);
  line-height: 1.6;
}

.pg-layout--catalog .catalog-shop-category-seo-body ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.85rem;
  bottom: 0.85rem;
  width: 3px;
  border-radius: 2px;
  background: var(--v-green);
}

.pg-layout--catalog .catalog-shop-category-seo-body ul li strong:first-child {
  display: block;
  margin-bottom: 0.35rem;
  color: var(--v-gray-900);
  font-size: 0.94rem;
}

.pg-layout--catalog .catalog-shop-category-seo-body ul.catalog-seo-types {
  list-style: none;
  padding: 0 !important;
  margin: 0.75rem 0 1.5rem !important;
}

.pg-layout--catalog .catalog-shop-category-seo-body ul.catalog-seo-types li {
  position: relative;
  margin: 0 0 0.65rem !important;
  padding: 0.75rem 0.85rem 0.75rem 1rem;
  background: rgba(248, 252, 249, 0.7);
  border: 1px solid rgba(2, 121, 36, 0.08);
  border-radius: var(--radius-md);
  line-height: 1.55;
}

.pg-layout--catalog .catalog-shop-category-seo-body ul.catalog-seo-types li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.65rem;
  bottom: 0.65rem;
  width: 3px;
  border-radius: 2px;
  background: var(--v-green);
}

.pg-layout--catalog .catalog-shop-category-seo-body ul.catalog-seo-types li strong {
  display: inline;
  margin: 0;
  font-size: inherit;
}

.pg-layout--catalog .catalog-shop-category-seo-body .catalog-seo-faq,
.pg-layout--catalog .catalog-shop-category-seo-body .catalog-seo-faq-item {
  max-width: none;
  width: 100%;
}

.catalog-seo-faq {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  margin: 0.5rem 0 0;
}

.catalog-seo-faq-item {
  border: 1px solid rgba(2, 121, 36, 0.1);
  border-radius: var(--radius-md);
  background: rgba(248, 252, 249, 0.85);
  overflow: hidden;
}

.catalog-seo-faq-item summary {
  padding: 0.85rem 1rem;
  font-weight: 700;
  font-size: 0.94rem;
  color: var(--v-gray-900);
  cursor: pointer;
  list-style: none;
}

.catalog-seo-faq-item summary::-webkit-details-marker {
  display: none;
}

.catalog-seo-faq-item summary::after {
  content: "+";
  float: right;
  font-weight: 800;
  color: var(--v-green);
}

.catalog-seo-faq-item[open] summary::after {
  content: "−";
}

.catalog-seo-faq-answer {
  padding: 0 1rem 0.95rem;
  font-size: 0.94rem;
  line-height: 1.65;
  color: var(--v-gray-700);
}

.catalog-seo-faq-answer p {
  margin: 0;
}

.catalog-page--pillar-hub .catalog-buy-item {
  position: relative;
  overflow: hidden;
  border-color: rgba(2, 121, 36, 0.12);
}

.catalog-page--pillar-hub .catalog-buy-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--v-green) 0%, rgba(2, 121, 36, 0.25) 100%);
  opacity: 0;
  transition: opacity 0.2s ease;
}

.catalog-page--pillar-hub .catalog-buy-item:hover::before {
  opacity: 1;
}

.catalog-page--pillar-hub .catalog-buy-item-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.catalog-page--pillar-hub .catalog-buy-item-desc {
  -webkit-line-clamp: 2;
  font-size: 0.84rem;
}

.catalog-page--pillar-hub .catalog-buy-price {
  display: inline-flex;
  align-items: baseline;
  gap: 0.35rem;
  margin-bottom: 0.45rem;
}

.catalog-page--pillar-hub .catalog-stock {
  display: inline-flex;
  margin: 0 0 0.75rem;
  font-size: 0.76rem;
}

.catalog-page--pillar-hub .catalog-buy-field label {
  font-size: 0.7rem;
  letter-spacing: 0.02em;
  color: var(--v-gray-500);
}

.catalog-page--pillar-hub .catalog-buy-select,
.catalog-page--pillar-hub .catalog-buy-qty {
  font-size: 0.86rem;
}

.pg-layout--catalog .catalog-help-strip {
  margin-top: 3rem;
}

.catalog-page--pillar-hub .catalog-category-info .catalog-pillar-intro {
  margin-bottom: 0;
}

.catalog-shop-category-seo-block {
  margin: 2.5rem 0 1.75rem;
  padding: 1.55rem 1.5rem 1.65rem;
  border: 1px solid rgba(2, 121, 36, 0.12);
  border-radius: var(--radius-lg, 20px);
  background: linear-gradient(180deg, rgba(248, 252, 249, 0.98) 0%, #fff 100%);
  box-shadow: 0 10px 32px rgba(2, 121, 36, 0.05);
}

.catalog-page--pillar-hub .catalog-shop-category-seo-block {
  margin-top: 2.5rem;
  margin-bottom: 0.5rem;
}

.catalog-page--pillar-hub .catalog-shop-category-seo-block .catalog-section-title {
  font-size: clamp(1.1rem, 2.2vw, 1.3rem);
  color: var(--v-gray-800);
}

.catalog-shop-category-seo-body {
  color: var(--v-gray-700);
  font-size: 0.96rem;
  line-height: 1.68;
}

/* Fichas sin layout catálogo plano: texto más estrecho */
.catalog-page:not(.catalog-page--pillar-hub) .catalog-shop-category-seo-body,
.pg-layout:not(.pg-layout--catalog) .catalog-shop-category-seo-body {
  max-width: 72ch;
}

.pg-layout--catalog .catalog-shop-category-seo-body {
  max-width: none;
  width: 100%;
}

.catalog-shop-category-seo-body > h2:first-child {
  font-size: clamp(1.15rem, 2.2vw, 1.35rem);
  padding-top: 0.15rem;
}

.catalog-shop-category-seo-body h2,
.catalog-shop-category-seo-body h3 {
  color: var(--v-gray-900);
  line-height: 1.3;
  margin: 1.35rem 0 0.65rem;
}

.catalog-shop-category-seo-body h2:first-child,
.catalog-shop-category-seo-body h3:first-child {
  margin-top: 0;
}

.catalog-shop-category-seo-body ul {
  margin: 0.5rem 0 1rem;
  padding-left: 1.25rem;
}

.catalog-shop-category-seo-body li {
  margin: 0.35rem 0;
}

.catalog-shop-category-seo-body p {
  margin: 0;
}

.catalog-shop-category-seo-body p + p,
.catalog-shop-category-seo-body p + h2,
.catalog-shop-category-seo-body p + h3,
.catalog-shop-category-seo-body ul + p,
.catalog-shop-category-seo-body ul + h2,
.catalog-shop-category-seo-body ul + h3 {
  margin-top: 0.85rem;
}

.catalog-page--pillar-hub .catalog-ficha-prose > p:first-of-type,
.catalog-page--pillar-hub .catalog-ficha-prose > .descrip-productos:first-child p {
  font-size: 1.02rem;
  color: var(--v-gray-600);
  max-width: none;
  line-height: 1.65;
}

.catalog-page--pillar-hub .catalog-ficha-prose .titulo-grid-productos,
.catalog-page--pillar-hub .catalog-ficha-prose h2.titulo-grid-productos,
.catalog-page--pillar-hub .catalog-ficha-prose .productos {
  display: none !important;
}

.catalog-buy-more--pillar {
  margin-top: 0;
  padding: 1.65rem 1.45rem 1.85rem;
  border-radius: var(--radius-lg, 20px);
  border: 1px solid rgba(2, 121, 36, 0.14);
  background: #fff;
  box-shadow: 0 14px 44px rgba(15, 20, 16, 0.07);
}

.catalog-commerce-stack > .catalog-buy-more--pillar {
  padding: 1.2rem 1.15rem 1.35rem;
  border-radius: 0;
  border: none;
  box-shadow: none;
  background: transparent;
}

.catalog-buy-more--pillar .catalog-buy-title {
  font-size: clamp(1.3rem, 2.6vw, 1.65rem);
  color: var(--v-gray-900);
}

.catalog-page--pillar-hub .catalog-buy-more--pillar .catalog-buy-grid {
  gap: 1.15rem;
}

@media (min-width: 900px) {
  .catalog-page--pillar-hub .catalog-buy-more--pillar .catalog-buy-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1180px) {
  .catalog-page--pillar-hub .catalog-buy-more--pillar .catalog-buy-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.catalog-page--pillar-hub .catalog-buy-item-media {
  aspect-ratio: 5 / 4;
  background: #fff;
  padding: 0.85rem;
}

.catalog-page--pillar-hub .catalog-buy-item-media img {
  object-fit: contain;
  object-position: center;
}

.catalog-page--pillar-hub .catalog-buy-body {
  padding: 1rem 1.1rem 1.15rem;
}

.catalog-page--pillar-hub .catalog-buy-item-title {
  font-size: 1rem;
}

.catalog-page--pillar-hub .catalog-buy-form-row {
  gap: 0.55rem;
}

.catalog-page--pillar-hub .catalog-buy-field label {
  font-size: 0.72rem;
}

.catalog-page--pillar-hub .btn-buy-catalog {
  margin-top: 0.15rem;
}

/* Ficha multi-producto (panel H., postes, etc.) */
.has-catalog-multi .catalog-buy-more--pillar .catalog-buy-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.has-catalog-multi .catalog-buy-item-media {
  background: #fff;
  padding: 0.85rem;
}

.has-catalog-multi .catalog-buy-item-media img {
  object-fit: contain;
  object-position: center;
}

@media (max-width: 720px) {
  .has-catalog-multi .catalog-buy-more--pillar .catalog-buy-grid {
    grid-template-columns: 1fr;
  }
}

body.has-catalog-pillar-hub .pg-children {
  display: none;
}

@media (max-width: 900px) {
  .catalog-pillar-intro {
    grid-template-columns: 1fr;
    padding: 1.25rem 1.15rem;
  }

  .catalog-pillar-intro-media {
    order: -1;
  }

  .catalog-pillar-types-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 520px) {
  .catalog-pillar-types-grid {
    grid-template-columns: 1fr;
  }

  .catalog-pillar-actions .btn-buy-hero,
  .catalog-pillar-actions .btn-buy-hero-outline {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 640px) {
  .catalog-page--pillar-hub .catalog-buy-more--pillar {
    padding: 1.25rem 1rem 1.35rem;
  }

  .catalog-buy-more--pillar .catalog-buy-more-head {
    flex-direction: column;
    align-items: stretch;
  }

  .catalog-buy-count {
    align-self: flex-start;
  }

  .pg-layout--catalog .catalog-category-info,
  .pg-layout--catalog .catalog-shop-category-seo-block {
    padding-top: 1.5rem;
  }
}

/* === Ficha producto (--product): layout estable, anula legacy estilos.css === */
.catalog-ficha-prose--product .div-producto,
.catalog-ficha-prose--product .caracteristicas {
  display: grid !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  clear: both !important;
  margin: 0;
  padding: 0;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box;
}

.catalog-ficha-prose--product .div-producto {
  grid-template-columns: minmax(180px, 300px) minmax(0, 1fr);
  gap: 1.75rem 3rem;
  align-items: start;
}

.catalog-ficha-prose--product .caracteristicas {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: 1.25rem 2.5rem;
  align-items: start;
}

.catalog-ficha-prose--product .div-producto > .col-left,
.catalog-ficha-prose--product .div-producto > .col-right,
.catalog-ficha-prose--product .caracteristicas > .col-left,
.catalog-ficha-prose--product .caracteristicas > .col-right {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  float: none !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
  padding: 0 !important;
  box-sizing: border-box;
}

.catalog-ficha-prose--product .descripcion-producto,
.catalog-ficha-prose--product .descripcion-producto p:not(:has(.fa-check)),
.catalog-ficha-prose--product .caracteristicas .col-left p:not(:has(.fa-check)):not(:has(.fa-stop-circle)),
.catalog-ficha-prose--product .caracteristicas .col-right p:not(.ampliar),
.catalog-ficha-prose--product .caracteristicas .col-left h2,
.catalog-ficha-prose--product .caracteristicas .col-left h3,
.catalog-ficha-prose--product .element-descrip p:not(:has(.fa-check)) {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  position: static !important;
  text-align: left !important;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.catalog-ficha-prose--product p.ampliar,
.has-catalog-product .catalog-ficha-prose--product p.ampliar {
  display: none !important;
}

.catalog-ficha-prose--product .div-producto > .col-left img,
.catalog-ficha-prose--product .div-elements .element-img img,
.has-catalog-product .catalog-ficha-prose--product .imagen-producto img {
  max-height: 340px;
  object-fit: cover;
  object-position: center;
}

.catalog-ficha-prose--product .caracteristicas .col-right {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.catalog-ficha-prose--product .catalog-product-spec-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.catalog-ficha-prose--product .catalog-product-spec-table {
  width: 100%;
  min-width: 0;
}

@media (max-width: 768px) {
  .has-catalog-product .catalog-ficha-prose--product .div-producto,
  .has-catalog-product .catalog-ficha-prose--product .caracteristicas,
  .has-catalog-product .catalog-ficha-prose--product .div-elements .element {
    grid-template-columns: 1fr !important;
    padding: 1.15rem 1.1rem !important;
  }

  .has-catalog-product .catalog-ficha-prose--product .div-elements .element {
    padding-top: 2.65rem !important;
  }

  .has-catalog-product .catalog-ficha-prose--product .caracteristicas > .col-right {
    order: 2;
  }

  .has-catalog-product .catalog-ficha-prose--product .div-producto > .col-left,
  .has-catalog-product .catalog-ficha-prose--product .div-elements .element-img {
    max-width: 100%;
    margin-inline: 0;
  }
}

@media (max-width: 768px) {
  .catalog-ficha-prose--product .div-producto,
  .catalog-ficha-prose--product .caracteristicas {
    grid-template-columns: 1fr !important;
  }

  .catalog-ficha-prose--product .caracteristicas > .col-right {
    order: 2;
  }

  .catalog-ficha-prose--product .div-producto > .col-left,
  .catalog-ficha-prose--product .div-elements .element-img {
    max-width: 280px;
    margin-inline: auto;
  }

  .catalog-ficha-prose--product .fichas-tecnicas {
    grid-template-columns: 1fr !important;
  }

  .catalog-ficha-prose--product .div-tipos {
    grid-template-columns: 1fr !important;
  }
}

/* ——— Ficha producto: diseño editorial refinado ——— */
.catalog-ficha-prose--product {
  --product-measure: 68ch;
  --product-section-gap: 2.75rem;
  font-size: 1rem;
  line-height: 1.75;
  color: var(--v-gray-700);
}

.pg-layout--catalog .catalog-category-info {
  margin-top: 2.75rem;
  padding-top: 2.25rem;
  border-top: 1px solid rgba(2, 121, 36, 0.08);
}

.pg-layout--catalog .catalog-category-info .catalog-section-head {
  margin-bottom: 1.75rem;
}

.pg-layout--catalog .catalog-category-info .catalog-section-title {
  font-size: clamp(1.3rem, 2.6vw, 1.6rem);
  letter-spacing: -0.03em;
}

/* Títulos de sección: barra lateral (sin líneas horizontales repetidas) */
.catalog-ficha-prose--product h2.subtitulo,
.catalog-ficha-prose--product > h2,
.catalog-page--product .catalog-ficha-prose--product h2.subtitulo,
.catalog-page--product .catalog-ficha-prose--product > h2,
.has-catalog-product .catalog-ficha-prose--product h2.subtitulo,
.has-catalog-product .catalog-ficha-prose--product > h2,
.has-catalog-product .catalog-ficha-prose--product > h2:not(.subtitulo) {
  margin: var(--product-section-gap) 0 1rem !important;
  padding: 0 0 0 0.9rem !important;
  border: none !important;
  border-top: none !important;
  border-left: 3px solid var(--v-green) !important;
  font-family: var(--font-display, "DM Sans", sans-serif) !important;
  font-size: clamp(1.12rem, 2.2vw, 1.32rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.28 !important;
  color: var(--v-gray-900) !important;
  background: none !important;
}

.catalog-ficha-prose--product > h2:first-child,
.catalog-ficha-prose--product > .div-producto:first-child + h2.subtitulo {
  margin-top: 0 !important;
}

.catalog-ficha-prose--product h3.subtitulo,
.has-catalog-product .catalog-ficha-prose--product h3.subtitulo {
  margin: 2rem 0 0.75rem !important;
  padding: 0 0 0 0.75rem !important;
  border: none !important;
  border-top: none !important;
  border-left: 2px solid rgba(2, 121, 36, 0.45) !important;
  font-size: clamp(1rem, 1.8vw, 1.08rem) !important;
  font-weight: 700 !important;
  color: var(--v-gray-800) !important;
}

.catalog-ficha-prose--product .div-producto .col-right h3,
.has-catalog-product .catalog-ficha-prose--product .col-right h3 {
  margin: 0 0 1rem !important;
  padding: 0 0 0.75rem !important;
  border: none !important;
  border-bottom: 2px solid var(--v-green-soft) !important;
  font-size: clamp(1.05rem, 2vw, 1.18rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em;
  color: var(--v-gray-900) !important;
}

.catalog-ficha-prose--product .caracteristicas .col-left > h2,
.catalog-page--product .catalog-ficha-prose--product .caracteristicas .col-left > h2 {
  margin: 0 0 1.1rem !important;
  padding: 0 0 0 0.85rem !important;
  border: none !important;
  border-bottom: none !important;
  border-left: 3px solid var(--v-green) !important;
  font-size: clamp(1.02rem, 2vw, 1.12rem) !important;
}

/* Bloques imagen + texto */
.catalog-ficha-prose--product .div-producto,
.catalog-ficha-prose--product .caracteristicas,
.has-catalog-product .catalog-ficha-prose--product .div-producto,
.has-catalog-product .catalog-ficha-prose--product .caracteristicas {
  gap: 1.75rem 3rem !important;
  padding-top: 0 !important;
  border-top: none !important;
}

.catalog-ficha-prose--product .div-producto + .div-producto,
.catalog-ficha-prose--product .caracteristicas + .div-producto,
.catalog-ficha-prose--product .div-producto + .caracteristicas {
  margin-top: var(--product-section-gap);
  padding-top: var(--product-section-gap);
  border-top: 1px solid rgba(2, 121, 36, 0.07) !important;
}

.catalog-ficha-prose--product .div-producto > .col-left,
.catalog-ficha-prose--product .div-elements .element-img {
  background: linear-gradient(165deg, var(--v-gray-100) 0%, #fafcfb 100%);
  border-radius: var(--radius-md);
  padding: 1.15rem !important;
}

.catalog-ficha-prose--product .div-producto > .col-left .imagen-producto img,
.catalog-ficha-prose--product .div-elements .element-img img {
  border-radius: var(--radius-sm);
}

/* Viñetas con marca verde */
.catalog-ficha-prose--product .descripcion-producto p:has(.fa-check),
.catalog-ficha-prose--product .caracteristicas .col-left p:has(.fa-check),
.catalog-ficha-prose--product .caracteristicas .col-left p:has(.fa-stop-circle),
.catalog-ficha-prose--product .element-descrip p:has(.fa-check),
.catalog-ficha-prose--product > p:has(.fa-stop-circle),
.has-catalog-product .catalog-ficha-prose--product > p:has(.fa-stop-circle) {
  display: block !important;
  position: relative !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0.45rem 0 !important;
  padding: 0.15rem 0 0.15rem 1.75rem !important;
  line-height: 1.68 !important;
  color: var(--v-gray-700) !important;
  text-align: left !important;
}

.catalog-ficha-prose--product .descripcion-producto p:has(.fa-check) > i.fas,
.catalog-ficha-prose--product .caracteristicas .col-left p:has(.fa-check) > i.fas,
.catalog-ficha-prose--product .caracteristicas .col-left p:has(.fa-stop-circle) > i.fas,
.catalog-ficha-prose--product .element-descrip p:has(.fa-check) > i.fas,
.catalog-ficha-prose--product > p:has(.fa-stop-circle) > i.fas,
.has-catalog-product .catalog-ficha-prose--product > p:has(.fa-stop-circle) i {
  position: absolute !important;
  left: 0 !important;
  top: 0.35em !important;
  flex: none;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 1.15rem;
  height: 1.15rem;
  margin: 0 !important;
  font-size: 0.52rem !important;
  line-height: 1 !important;
  color: #fff !important;
  background: var(--v-green);
  border-radius: 50%;
  transform: none;
}

.catalog-ficha-prose--product > p:not(.frase-subtitulo):not(.texto-dest):not(.ampliar):not(:has(.fa-stop-circle)),
.has-catalog-product .catalog-ficha-prose--product > p:not(.frase-subtitulo):not(.texto-dest):not(.ampliar) {
  max-width: var(--product-measure);
  margin: 0 0 1rem;
  font-size: 1rem;
  line-height: 1.78;
  color: var(--v-gray-700);
}

.catalog-ficha-prose--product .frase-subtitulo,
.has-catalog-product .catalog-ficha-prose--product .frase-subtitulo {
  max-width: var(--product-measure);
  margin: 0 0 1.15rem;
  font-size: 1.02rem;
  line-height: 1.72;
  color: var(--v-gray-600);
}

/* Tablas técnicas */
.catalog-ficha-prose--product .catalog-product-spec-table-wrap {
  border: 1px solid rgba(2, 121, 36, 0.12);
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--v-white);
}

.catalog-ficha-prose--product .catalog-product-spec-table,
.has-catalog-product .catalog-ficha-prose--product .catalog-product-spec-table {
  font-size: 0.9rem;
}

.catalog-ficha-prose--product .catalog-product-spec-table thead th,
.has-catalog-product .catalog-ficha-prose--product .catalog-product-spec-table thead th {
  padding: 0.7rem 1rem;
  background: linear-gradient(180deg, var(--v-green) 0%, var(--v-green-dark) 100%);
  font-size: 0.8rem;
  letter-spacing: 0.02em;
  text-transform: none;
}

.catalog-ficha-prose--product .catalog-product-spec-table tbody td,
.has-catalog-product .catalog-ficha-prose--product .catalog-product-spec-table tbody td {
  padding: 0.62rem 1rem;
}

/* Usos / tipos en grid */
.catalog-ficha-prose--product .div-tipos,
.has-catalog-product .catalog-ficha-prose--product .div-tipos {
  gap: 1rem 1.25rem;
  margin: 1rem 0 1.75rem;
}

.catalog-ficha-prose--product .div-tipos .tipo-opcion,
.has-catalog-product .catalog-ficha-prose--product .div-tipos .tipo-opcion {
  padding: 1.15rem 1.2rem;
  background: var(--v-gray-100);
  border: none;
  border-radius: var(--radius-md);
  border-bottom: none !important;
}

.catalog-ficha-prose--product .div-tipos .tipo-opcion i,
.has-catalog-product .catalog-ficha-prose--product .div-tipos .tipo-opcion i {
  width: 2rem;
  height: 2rem;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 0 0.55rem;
  font-size: 0.95rem !important;
  color: var(--v-green);
  background: var(--v-green-soft);
  border-radius: var(--radius-sm);
}

.catalog-ficha-prose--product .div-tipos .tipo-opcion h4,
.has-catalog-product .catalog-ficha-prose--product .div-tipos .tipo-opcion h4 {
  font-size: 1rem !important;
  margin-bottom: 0.35rem;
}

/* Fichas técnicas (malla ganadera) */
.catalog-ficha-prose--product .fichas-tecnicas,
.has-catalog-product .catalog-ficha-prose--product .fichas-tecnicas {
  gap: 0.85rem 1.25rem;
  margin: 1rem 0 1.75rem;
}

.catalog-ficha-prose--product .f-malla,
.has-catalog-product .catalog-ficha-prose--product .f-malla {
  padding: 1.1rem 1.15rem;
  background: var(--v-gray-100);
  border: none !important;
  border-radius: var(--radius-md) !important;
  border-bottom: none !important;
  transition: background 0.2s ease;
}

.catalog-ficha-prose--product .f-malla:hover,
.has-catalog-product .catalog-ficha-prose--product .f-malla:hover {
  background: var(--v-green-soft);
}

.catalog-ficha-prose--product .catalog-spec-code,
.has-catalog-product .catalog-ficha-prose--product .catalog-spec-code {
  border-radius: var(--radius-sm);
  padding: 0.22rem 0.6rem;
}

/* Enlaces relacionados */
.catalog-ficha-prose--product #enlaces-rel a,
.has-catalog-product .catalog-ficha-prose--product #enlaces-rel a {
  border-radius: var(--radius-md);
  background: var(--v-gray-100);
  border: 1px solid transparent;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.catalog-ficha-prose--product #enlaces-rel a:hover,
.has-catalog-product .catalog-ficha-prose--product #enlaces-rel a:hover {
  background: var(--v-green-soft);
  border-color: rgba(2, 121, 36, 0.15);
}

/* Accesorios al final de ficha */
.pg-layout--catalog .catalog-ficha-prose--product .productos-inicio,
.pg-layout--catalog .catalog-ficha-prose--product .catalog-accessories-strip {
  margin-top: var(--product-section-gap);
  padding-top: var(--product-section-gap) !important;
  border-top: 1px solid rgba(2, 121, 36, 0.08) !important;
}

.pg-layout--catalog .catalog-ficha-prose--product .productos-inicio .container > a,
.pg-layout--catalog .catalog-ficha-prose--product .catalog-accessories-strip .container > a {
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: transform 0.2s ease;
}

.pg-layout--catalog .catalog-ficha-prose--product .productos-inicio .container > a:hover,
.pg-layout--catalog .catalog-ficha-prose--product .catalog-accessories-strip .container > a:hover {
  transform: translateY(-2px);
}

.pg-layout--catalog .catalog-ficha-prose--product .productos-inicio .container > a img,
.pg-layout--catalog .catalog-ficha-prose--product .catalog-accessories-strip .container > a img {
  border-radius: var(--radius-md);
}

/* ——— Ficha producto v2: refinamiento visual ——— */
body.has-catalog-product .catalog-category-info {
  padding-right: clamp(0rem, 2vw, 1rem);
}

@media (min-width: 1100px) {
  body.has-catalog-product .catalog-category-info .catalog-ficha-prose--product {
    padding-right: 5.75rem;
  }
}

.pg-layout--catalog .catalog-category-info .catalog-section-head {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-bottom: 2rem;
  padding: 0 0 1.25rem 0.9rem;
  border-bottom: 1px solid rgba(2, 121, 36, 0.1);
  border-left: 3px solid var(--v-green);
}

.pg-layout--catalog .catalog-category-info .catalog-section-title {
  font-size: clamp(1.35rem, 2.8vw, 1.65rem);
}

/* Bloque tipo + medidas como unidad visual */
.has-catalog-product .catalog-ficha-prose--product .div-producto:has(+ .caracteristicas) {
  margin-bottom: 0;
  border-bottom: none;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  padding-bottom: 1.25rem;
}

.has-catalog-product .catalog-ficha-prose--product .div-producto + .caracteristicas {
  margin-top: 0.85rem;
  margin-bottom: 2rem;
  border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  border-top: 1px dashed rgba(2, 121, 36, 0.14) !important;
  padding-top: 1.35rem !important;
}

.has-catalog-product .catalog-ficha-prose--product .div-producto:not(:has(+ .caracteristicas)) {
  margin-bottom: 1.75rem;
}

/* Columna imagen: relleno y alineación vertical */
.catalog-ficha-prose--product .div-producto > .col-left,
.catalog-ficha-prose--product .div-elements .element-img {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
}

.catalog-ficha-prose--product .div-producto > .col-left .imagen-producto,
.catalog-ficha-prose--product .div-elements .element-img .imagen-producto {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  overflow: hidden;
  border-radius: var(--radius-sm);
}

.catalog-ficha-prose--product .div-producto > .col-left .imagen-producto img,
.catalog-ficha-prose--product .div-elements .element-img .imagen-producto img {
  width: 100%;
  height: 100%;
  min-height: 200px;
  max-height: 320px;
  object-fit: cover;
  object-position: center;
}

.catalog-ficha-prose--product .div-producto > .col-right .descripcion-producto {
  padding-top: 0.15rem;
}

/* CTA contacto dentro de bloques */
.has-catalog-product .catalog-ficha-prose--product a.boton-solicitar,
.catalog-ficha-prose--product a.boton-solicitar {
  display: inline-flex !important;
  align-items: center;
  gap: 0.4rem;
  float: none !important;
  margin: 1.15rem 0 1.25rem !important;
  padding: 0.55rem 1rem !important;
  background: rgba(2, 121, 36, 0.08) !important;
  border: 1px solid rgba(2, 121, 36, 0.22) !important;
  border-radius: 999px !important;
  color: var(--v-green-dark) !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  text-align: center !important;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.has-catalog-product .catalog-ficha-prose--product a.boton-solicitar:hover,
.catalog-ficha-prose--product a.boton-solicitar:hover {
  background: rgba(2, 121, 36, 0.14) !important;
  border-color: rgba(2, 121, 36, 0.35) !important;
  transform: translateY(-1px);
  color: var(--v-green-dark) !important;
}

/* Cuadro de medidas (imagen tabla) */
.catalog-ficha-prose--product .caracteristicas .col-right .imagen-producto {
  padding: 0.65rem;
  background: var(--v-white);
  border: 1px solid rgba(2, 121, 36, 0.1);
  border-radius: var(--radius-md);
}

.catalog-ficha-prose--product .caracteristicas .col-right .imagen-producto img {
  max-height: none;
  object-fit: contain;
}

.catalog-ficha-prose--product .caracteristicas .col-left > h2,
.catalog-ficha-prose--product .caracteristicas .col-left > h3 {
  padding-bottom: 0.65rem !important;
  border-bottom: 2px solid var(--v-green-soft, rgba(2, 121, 36, 0.15)) !important;
}

/* Grid de usos (div-tipos) */
.has-catalog-product .catalog-ficha-prose--product .div-tipos,
.catalog-ficha-prose--product .div-tipos {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 1.25rem 0 2rem;
  padding: 0 !important;
}

.has-catalog-product .catalog-ficha-prose--product .div-tipos .tipo-opcion,
.catalog-ficha-prose--product .div-tipos .tipo-opcion {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0 !important;
  padding: 1.15rem 1.1rem !important;
  background: var(--v-white);
  border: 1px solid rgba(2, 121, 36, 0.1) !important;
  border-radius: var(--radius-lg);
  box-shadow: 0 2px 12px rgba(15, 20, 16, 0.04);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.has-catalog-product .catalog-ficha-prose--product .div-tipos .tipo-opcion:hover,
.catalog-ficha-prose--product .div-tipos .tipo-opcion:hover {
  border-color: rgba(2, 121, 36, 0.22) !important;
  box-shadow: 0 6px 20px rgba(15, 20, 16, 0.07);
  transform: translateY(-2px);
}

.has-catalog-product .catalog-ficha-prose--product .div-tipos .tipo-opcion i,
.catalog-ficha-prose--product .div-tipos .tipo-opcion i {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  margin: 0 0 0.15rem !important;
  font-size: 1rem !important;
  color: #fff !important;
  background: var(--v-green);
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(2, 121, 36, 0.22);
}

.has-catalog-product .catalog-ficha-prose--product .div-tipos .tipo-opcion h4,
.catalog-ficha-prose--product .div-tipos .tipo-opcion h4 {
  margin: 0 !important;
  font-size: 0.95rem !important;
  font-weight: 800 !important;
  color: var(--v-gray-900) !important;
}

.has-catalog-product .catalog-ficha-prose--product .div-tipos .tipo-opcion p,
.catalog-ficha-prose--product .div-tipos .tipo-opcion p {
  margin: 0 !important;
  font-size: 0.88rem !important;
  line-height: 1.6 !important;
  color: var(--v-gray-600) !important;
}

/* Enlaces relacionados */
.catalog-ficha-prose--product > p:has(.fa-stop-circle a) {
  display: flex !important;
  align-items: center;
  gap: 0.65rem;
  position: relative !important;
  width: 100% !important;
  margin: 0 0 0.65rem !important;
  padding: 0.8rem 1rem 0.8rem 1.75rem !important;
  background: var(--v-white);
  border: 1px solid rgba(2, 121, 36, 0.12);
  border-radius: var(--radius-md);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.catalog-ficha-prose--product > p:has(.fa-stop-circle a):hover {
  border-color: rgba(2, 121, 36, 0.24);
  box-shadow: 0 4px 14px rgba(15, 20, 16, 0.06);
}

.catalog-ficha-prose--product > p:has(.fa-stop-circle a) > i.fas {
  position: absolute !important;
  left: 0.85rem !important;
  top: 50% !important;
  transform: translateY(-50%);
  font-size: 0.55rem !important;
  color: var(--v-green) !important;
}

.catalog-ficha-prose--product > p:has(.fa-stop-circle a) a {
  font-weight: 700;
  color: var(--v-gray-900) !important;
  text-decoration: none;
}

.catalog-ficha-prose--product > p:has(.fa-stop-circle a) a:hover {
  color: var(--v-green) !important;
}

/* Callout contacto final */
.catalog-ficha-prose--product .texto-dest,
.has-catalog-product .catalog-ficha-prose--product .texto-dest {
  margin: 1.5rem 0 0 !important;
  padding: 1.15rem 1.25rem !important;
  background: linear-gradient(135deg, rgba(2, 121, 36, 0.06) 0%, rgba(2, 121, 36, 0.02) 100%);
  border: 1px solid rgba(2, 121, 36, 0.12);
  border-radius: var(--radius-lg);
  font-size: 0.95rem !important;
  line-height: 1.72 !important;
  color: var(--v-gray-700) !important;
}

.catalog-ficha-prose--product .texto-dest a {
  font-weight: 700;
  color: var(--v-green);
}

/* Intro de sección (frase-subtitulo) */
.catalog-ficha-prose--product .frase-subtitulo,
.has-catalog-product .catalog-ficha-prose--product .frase-subtitulo {
  margin: 0 0 1.35rem !important;
  padding: 0 0 0 0.15rem;
  font-size: 1.02rem !important;
  line-height: 1.72 !important;
  color: var(--v-gray-600) !important;
}

@media (max-width: 900px) {
  .has-catalog-product .catalog-ficha-prose--product .div-tipos,
  .catalog-ficha-prose--product .div-tipos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  body.has-catalog-product .catalog-category-info .catalog-ficha-prose--product {
    padding-right: 0;
  }

  .has-catalog-product .catalog-ficha-prose--product .div-tipos,
  .catalog-ficha-prose--product .div-tipos {
    grid-template-columns: 1fr;
  }

  .has-catalog-product .catalog-ficha-prose--product .div-elements .element {
    grid-template-columns: 1fr !important;
    padding: 2.65rem 1.1rem 1.15rem !important;
  }

  .has-catalog-product .catalog-ficha-prose--product .div-elements .element-option,
  .catalog-ficha-prose--product .div-elements .element-option {
    top: 0.65rem !important;
    right: 0.65rem !important;
    left: auto !important;
  }
}

/* Títulos de sección informativa */
.catalog-ficha-prose--product h2.subtitulo,
.has-catalog-product .catalog-ficha-prose--product > h2.subtitulo {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin: 2.5rem 0 1rem !important;
  padding: 0 0 0 0.85rem !important;
  border: none !important;
  border-left: 3px solid var(--v-green) !important;
  font-size: clamp(1.08rem, 2.1vw, 1.22rem) !important;
  font-weight: 800 !important;
  color: var(--v-gray-900) !important;
  letter-spacing: -0.015em;
  line-height: 1.35 !important;
}

.catalog-ficha-prose--product h2.subtitulo:first-child,
.has-catalog-product .catalog-ficha-prose--product > h2.subtitulo:first-of-type {
  margin-top: 0.5rem !important;
}

/* Bloque editorial SEO al pie de la ficha */
.catalog-ficha-prose--product .catalog-ficha-editorial,
.has-catalog-product .catalog-ficha-prose--product .catalog-ficha-editorial {
  margin: 2.5rem 0 1.75rem;
  padding: 1.5rem 1.35rem;
  background: var(--v-gray-100);
  border: 1px solid rgba(2, 121, 36, 0.08);
  border-radius: var(--radius-lg);
}

.catalog-ficha-prose--product .catalog-ficha-editorial > h2:first-child,
.has-catalog-product .catalog-ficha-prose--product .catalog-ficha-editorial > h2:first-child {
  margin: 0 0 1rem !important;
  padding: 0 0 0 0.85rem !important;
  border: none !important;
  border-left: 3px solid var(--v-green) !important;
  border-top: none !important;
  font-size: clamp(1.05rem, 2vw, 1.18rem) !important;
}

.catalog-ficha-prose--product .catalog-ficha-editorial p,
.has-catalog-product .catalog-ficha-prose--product .catalog-ficha-editorial p {
  margin: 0 0 0.85rem;
  font-size: 0.96rem;
  line-height: 1.75;
  color: var(--v-gray-700);
}

.catalog-ficha-prose--product .catalog-ficha-editorial p:last-child,
.has-catalog-product .catalog-ficha-prose--product .catalog-ficha-editorial p:last-child {
  margin-bottom: 0;
}

/* Grid de enlaces relacionados inline */
.catalog-ficha-prose--product .catalog-related-inline-grid,
.has-catalog-product .catalog-ficha-prose--product .catalog-related-inline-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
  margin: 0 0 1.75rem;
}

.catalog-ficha-prose--product .catalog-related-inline-grid > p,
.has-catalog-product .catalog-ficha-prose--product .catalog-related-inline-grid > p {
  position: relative;
  display: flex !important;
  align-items: center;
  gap: 0.55rem;
  margin: 0 !important;
  padding: 0.75rem 0.9rem 0.75rem 1.65rem !important;
  background: var(--v-white);
  border: 1px solid rgba(2, 121, 36, 0.12);
  border-radius: var(--radius-md);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.catalog-ficha-prose--product .catalog-related-inline-grid > p:hover,
.has-catalog-product .catalog-ficha-prose--product .catalog-related-inline-grid > p:hover {
  border-color: rgba(2, 121, 36, 0.24);
  box-shadow: 0 4px 14px rgba(15, 20, 16, 0.06);
}

.catalog-ficha-prose--product .catalog-related-inline-grid > p > i,
.has-catalog-product .catalog-ficha-prose--product .catalog-related-inline-grid > p > i {
  position: absolute;
  margin-left: -1.15rem;
  font-size: 0.55rem !important;
  color: var(--v-green) !important;
}

.catalog-ficha-prose--product .catalog-related-inline-grid > p a,
.has-catalog-product .catalog-ficha-prose--product .catalog-related-inline-grid > p a {
  font-weight: 700;
  color: var(--v-gray-900) !important;
  text-decoration: none;
}

.catalog-ficha-prose--product .catalog-related-inline-grid > p a:hover,
.has-catalog-product .catalog-ficha-prose--product .catalog-related-inline-grid > p a:hover {
  color: var(--v-green) !important;
}

.catalog-ficha-prose--product .catalog-related-inline-grid + h3.subtitulo,
.has-catalog-product .catalog-ficha-prose--product .catalog-related-inline-grid + h3.subtitulo {
  margin-top: 0.5rem !important;
  padding-top: 0 !important;
  border-top: none !important;
}

/* Ocultar icono duplicado en tarjeta Jaulas */
.catalog-ficha-prose--product .div-tipos .tipo-opcion i + i,
.has-catalog-product .catalog-ficha-prose--product .div-tipos .tipo-opcion i + i {
  display: none !important;
}

/* Tablas de medidas dentro de características */
.catalog-ficha-prose--product .caracteristicas .catalog-product-spec-table-wrap,
.has-catalog-product .catalog-ficha-prose--product .caracteristicas .catalog-product-spec-table-wrap {
  margin: 0.5rem 0 0;
  padding: 0.35rem;
  background: var(--v-white);
  border: 1px solid rgba(2, 121, 36, 0.1);
  border-radius: var(--radius-md);
}

@media (max-width: 720px) {
  .catalog-ficha-prose--product .catalog-related-inline-grid,
  .has-catalog-product .catalog-ficha-prose--product .catalog-related-inline-grid {
    grid-template-columns: 1fr;
  }
}

/* ——— Hub kits de vallado: tarjetas informativas ——— */
.pg-layout--catalog .catalog-ficha-prose--pillar .catalog-kit-cards {
  margin: 1.75rem 0 0;
  padding: 1.5rem 0 0;
  border-top: 1px solid rgba(2, 121, 36, 0.1);
}

.catalog-kit-cards-head {
  margin: 0 0 1.15rem;
}

.catalog-kit-cards-head h2 {
  margin: 0 0 0.4rem !important;
  padding: 0 0 0 0.85rem !important;
  border: none !important;
  border-left: 3px solid var(--v-green) !important;
  font-family: var(--font-display, "DM Sans", sans-serif) !important;
  font-size: clamp(1.05rem, 2vw, 1.2rem) !important;
  font-weight: 800 !important;
  color: var(--v-gray-900) !important;
  line-height: 1.3 !important;
}

.catalog-kit-cards-lead {
  margin: 0;
  padding-left: calc(0.85rem + 3px);
  max-width: 62ch;
  font-size: 0.94rem;
  line-height: 1.6;
  color: var(--v-gray-600);
}

.catalog-kit-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.catalog-kit-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none !important;
  color: inherit;
  background: var(--v-white);
  border: 1px solid rgba(2, 121, 36, 0.12);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: 0 4px 18px rgba(15, 20, 16, 0.05);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.catalog-kit-card:hover {
  border-color: rgba(2, 121, 36, 0.28);
  box-shadow: 0 10px 28px rgba(15, 20, 16, 0.08);
  transform: translateY(-2px);
}

.catalog-kit-card-img {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--v-gray-100);
}

.catalog-kit-card-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.25s ease;
}

.catalog-kit-card:hover .catalog-kit-card-img img {
  transform: scale(1.03);
}

.catalog-kit-card-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 0.45rem;
  padding: 1rem 1.05rem 1.1rem;
}

.catalog-kit-card-body h3 {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  font-size: 0.98rem !important;
  font-weight: 800 !important;
  color: var(--v-gray-900) !important;
  line-height: 1.35 !important;
}

.catalog-kit-card-body p {
  flex: 1 1 auto;
  margin: 0 !important;
  font-size: 0.88rem;
  line-height: 1.6;
  color: var(--v-gray-600);
}

.catalog-kit-card-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.35rem;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--v-green);
}

.catalog-kit-card-cta i {
  font-size: 0.72rem;
  transition: transform 0.2s ease;
}

.catalog-kit-card:hover .catalog-kit-card-cta i {
  transform: translateX(3px);
}

.catalog-kit-cards-foot {
  margin: 1.15rem 0 0;
  text-align: center;
}

.catalog-kit-cards-shop-link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 1.1rem;
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--v-green-dark) !important;
  text-decoration: none !important;
  background: rgba(2, 121, 36, 0.08);
  border: 1px solid rgba(2, 121, 36, 0.18);
  border-radius: 999px;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.catalog-kit-cards-shop-link:hover {
  background: rgba(2, 121, 36, 0.14);
  border-color: rgba(2, 121, 36, 0.3);
  color: var(--v-green-dark) !important;
}

/* SEO hub kits: subsecciones h4 y listas numeradas */
.pg-layout--catalog .catalog-shop-category-seo-body h4 {
  margin: 1.25rem 0 0.5rem;
  padding: 0.65rem 0.85rem;
  font-size: 0.92rem;
  font-weight: 800;
  color: var(--v-green-dark);
  background: rgba(2, 121, 36, 0.06);
  border-left: 3px solid var(--v-green);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}

.pg-layout--catalog .catalog-shop-category-seo-body ol {
  margin: 0.65rem 0 1.25rem;
  padding: 0;
  list-style: none;
  counter-reset: kit-step;
}

.pg-layout--catalog .catalog-shop-category-seo-body ol li {
  position: relative;
  counter-increment: kit-step;
  margin: 0 0 0.65rem;
  padding: 0.85rem 0.95rem 0.85rem 2.75rem;
  background: var(--v-white);
  border: 1px solid rgba(2, 121, 36, 0.1);
  border-radius: var(--radius-md);
  line-height: 1.62;
  color: var(--v-gray-700);
}

.pg-layout--catalog .catalog-shop-category-seo-body ol li::before {
  content: counter(kit-step);
  position: absolute;
  left: 0.85rem;
  top: 0.85rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.45rem;
  height: 1.45rem;
  font-size: 0.78rem;
  font-weight: 800;
  color: #fff;
  background: var(--v-green);
  border-radius: 50%;
}

@media (max-width: 960px) {
  .catalog-kit-cards-grid {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 961px) and (max-width: 1100px) {
  .catalog-kit-cards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .catalog-kit-cards-grid .catalog-kit-card:last-child {
    grid-column: 1 / -1;
    max-width: calc(50% - 0.5rem);
  }
}

/* ——— Ficha legacy (.ficha-producto) en páginas con compra ——— */
.catalog-ficha-prose--product .ficha-producto--catalog {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.catalog-ficha-prose--product .ficha-producto--catalog .enlaces-ficha-producto {
  margin: 0 0 1rem;
}

.catalog-ficha-prose--product .ficha-producto--catalog .info-1 {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 36%);
  grid-template-rows: auto auto;
  gap: 1rem 2rem;
  align-items: start;
  margin: 0 !important;
  padding: 1.25rem 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.catalog-ficha-prose--product .ficha-producto--catalog .info-1 + .info-1 {
  border-top: 1px solid rgba(2, 121, 36, 0.1);
  padding-top: 1.35rem !important;
}

.catalog-ficha-prose--product .ficha-producto--catalog .info-1 .titulo-ficha {
  grid-column: 1 / -1;
  grid-row: 1;
  margin: 0 0 0.15rem !important;
  padding: 0 0 0 0.85rem !important;
  border: none !important;
  border-left: 3px solid var(--v-green) !important;
  font-family: var(--font-display, "DM Sans", sans-serif) !important;
  font-size: clamp(1.08rem, 2.1vw, 1.28rem) !important;
  font-weight: 800 !important;
  color: var(--v-gray-900) !important;
  text-align: left !important;
  background: none !important;
}

.catalog-ficha-prose--product .ficha-producto--catalog .info-medidas {
  grid-column: 1;
  grid-row: 2;
  margin: 0;
  padding: 0;
  width: 100%;
  min-width: 0;
}

.catalog-ficha-prose--product .ficha-producto--catalog .info-medidas p {
  max-width: none;
  width: 100%;
  margin: 0;
  font-size: 1rem;
  line-height: 1.75;
  color: var(--v-gray-700);
}

.catalog-ficha-prose--product .ficha-producto--catalog a.imagen-ficha {
  grid-column: 2;
  grid-row: 2;
  align-self: start;
  margin: 0 !important;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(15, 20, 16, 0.1);
}

.catalog-ficha-prose--product .ficha-producto--catalog a.imagen-ficha img {
  display: block;
  width: 100%;
  height: auto;
  min-height: 180px;
  max-height: 320px;
  object-fit: cover;
}

.catalog-ficha-prose--product .ficha-producto--catalog .info-2 {
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}

.catalog-ficha-prose--product .ficha-producto--catalog .info-2 > p {
  margin: 0;
  padding: 0;
  font-size: 0.96rem;
  line-height: 1.72;
  color: var(--v-gray-700);
  background: transparent;
  border: none;
  border-radius: 0;
}

.catalog-ficha-prose--product .ficha-producto--catalog .info-medidas p b,
.catalog-ficha-prose--product .ficha-producto--catalog .info-medidas p strong {
  color: var(--v-green-dark);
}


.catalog-ficha-prose--product .ficha-producto--catalog .info-2 .titulo-ficha {
  margin: 0 !important;
  padding: 0 0 0 0.85rem !important;
  border: none !important;
  border-left: 3px solid var(--v-green) !important;
  font-family: var(--font-display, "DM Sans", sans-serif) !important;
  font-size: clamp(1.02rem, 2vw, 1.15rem) !important;
  font-weight: 800 !important;
  color: var(--v-gray-900) !important;
  background: none !important;
}

.catalog-ficha-prose--product .ficha-spec-panel {
  padding: 1.15rem 1.25rem;
  background: var(--v-gray-100);
  border: 1px solid rgba(2, 121, 36, 0.08);
  border-radius: var(--radius-lg);
}

.catalog-ficha-prose--product .ficha-spec-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.75rem 1.25rem;
  margin: 0;
  padding: 0;
}

.catalog-ficha-prose--product .ficha-spec-row {
  margin: 0;
  padding: 0.75rem 0.9rem;
  background: var(--v-white);
  border: 1px solid rgba(2, 121, 36, 0.1);
  border-radius: var(--radius-md);
}

.catalog-ficha-prose--product .ficha-spec-row dt {
  margin: 0 0 0.25rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--v-gray-500);
}

.catalog-ficha-prose--product .ficha-spec-row dd {
  margin: 0;
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--v-green-dark);
}

.catalog-ficha-prose--product .ficha-spec-row--plain p {
  margin: 0;
  font-size: 0.94rem;
  line-height: 1.55;
  color: var(--v-gray-700);
}

.catalog-ficha-prose--product .ficha-spec-prose {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px dashed rgba(2, 121, 36, 0.14);
}

.catalog-ficha-prose--product .ficha-spec-prose p {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.72;
  color: var(--v-gray-700);
}

.catalog-ficha-prose--product .ficha-variant-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 0.85rem;
}

.catalog-ficha-prose--product .ficha-variant-card {
  margin: 0;
  padding: 1rem 1.05rem;
  background: var(--v-white);
  border: 1px solid rgba(2, 121, 36, 0.1);
  border-radius: var(--radius-md);
  box-shadow: 0 2px 10px rgba(15, 20, 16, 0.03);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.catalog-ficha-prose--product .ficha-variant-card:hover {
  border-color: rgba(2, 121, 36, 0.22);
  box-shadow: 0 6px 18px rgba(2, 121, 36, 0.08);
  transform: translateY(-1px);
}

.catalog-ficha-prose--product .ficha-variant-card__title {
  margin: 0 0 0.45rem;
  padding: 0;
  font-family: var(--font-display, "DM Sans", sans-serif);
  font-size: 0.92rem;
  font-weight: 800;
  line-height: 1.3;
  color: var(--v-green-dark);
}

.catalog-ficha-prose--product .ficha-variant-card__title span {
  display: inline;
  padding: 0;
  background: none;
  font: inherit;
  color: inherit;
}

.catalog-ficha-prose--product .ficha-variant-card p {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.6;
  color: var(--v-gray-600);
}

@media (max-width: 768px) {
  .catalog-ficha-prose--product .ficha-producto--catalog .info-1 {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
  }

  .catalog-ficha-prose--product .ficha-producto--catalog .info-medidas,
  .catalog-ficha-prose--product .ficha-producto--catalog a.imagen-ficha {
    grid-column: 1;
    grid-row: auto;
  }

  .catalog-ficha-prose--product .ficha-producto--catalog a.imagen-ficha {
    max-width: min(420px, 100%);
    margin: 0 auto !important;
  }

  .catalog-ficha-prose--product .ficha-spec-list {
    grid-template-columns: 1fr;
  }

  .catalog-ficha-prose--product .ficha-variant-grid {
    grid-template-columns: 1fr;
  }
}

/* ——— Ficha producto v3 (puertas, legacy ficha-producto) ——— */
body.page-product-layout.has-catalog-product .page-hero-actions--catalog-ficha {
  display: none;
}

body.page-product-layout.has-catalog-product #header-secundario.page-hero {
  padding-bottom: 1.5rem !important;
}

body.page-product-layout .catalog-page--product > .catalog-commerce-stack > .catalog-silo-nav--product,
body.page-product-layout .catalog-page--product > .catalog-commerce-stack > .catalog-silo-nav:not(.catalog-silo-nav--hub) {
  margin-bottom: 0;
  border-radius: 0;
  border-bottom: none;
  padding-bottom: 0.75rem;
}

body.page-product-layout .catalog-page--product > .catalog-silo-nav--product:not(.catalog-commerce-stack *) {
  margin-bottom: 0;
  border-radius: 16px 16px 0 0;
  border-bottom: none;
  padding-bottom: 0.75rem;
}

body.page-product-layout .catalog-page--product > .catalog-commerce-stack > .catalog-buy-hero--product,
body.page-product-layout .catalog-page--product > .catalog-buy-hero--product {
  margin-top: 0;
  border-radius: 0;
  border-top: none;
  box-shadow: none;
}

body.page-product-layout .catalog-page--product > .catalog-commerce-stack,
body.has-catalog-multi .catalog-page--product > .catalog-commerce-stack {
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(15, 20, 16, 0.07);
}

body.page-product-layout .catalog-page--product > .catalog-commerce-stack > .catalog-buy-hero--product {
  border-top: 1px solid rgba(2, 121, 36, 0.08);
}

body.page-product-layout .catalog-category-info--product,
body.has-catalog-multi .catalog-category-info--product {
  margin-top: 1.75rem;
  padding: 1.25rem 0 0;
  background: transparent;
  border: none;
  border-top: 1px solid rgba(2, 121, 36, 0.1);
  border-radius: 0;
  box-shadow: none;
}

body.page-product-layout .catalog-category-info--product .catalog-section-head,
body.has-catalog-multi .catalog-category-info--product .catalog-section-head {
  margin-bottom: 1rem;
  padding: 0 0 0.75rem;
  border-bottom: 1px solid rgba(2, 121, 36, 0.08);
  border-left: none;
}

body.page-product-layout .catalog-category-info--product .catalog-section-eyebrow,
body.has-catalog-multi .catalog-category-info--product .catalog-section-eyebrow {
  font-size: 0.72rem;
}

/* Sin imagen duplicada si ya hay galería en compra */
body.has-catalog-product .catalog-ficha-prose--product .ficha-producto--catalog {
  width: 100% !important;
  min-width: 0 !important;
}

body.has-catalog-product .catalog-ficha-prose--product .ficha-producto--catalog a.imagen-ficha {
  display: none !important;
}

body.has-catalog-product .catalog-ficha-prose--product .ficha-producto--catalog .info-1 {
  display: block !important;
  width: 100% !important;
}

body.has-catalog-product .catalog-ficha-prose--product .ficha-producto--catalog .info-1 .titulo-ficha {
  width: 100% !important;
}

body.has-catalog-product .catalog-ficha-prose--product .ficha-producto--catalog .info-medidas {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  float: none !important;
}

body.has-catalog-product .catalog-ficha-prose--product .ficha-producto--catalog .info-medidas p {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
}

/* Información — tarjetas cuando hay galería en el hero (sin imagen lateral duplicada) */
body.has-catalog-hero-gallery .catalog-ficha-prose--product .ficha-producto--catalog {
  gap: 1rem;
}

body.has-catalog-hero-gallery .catalog-ficha-prose--product .ficha-producto--catalog .info-1 {
  display: block !important;
  margin: 0 !important;
  padding: 1.15rem 1.25rem !important;
  background: var(--v-white, #fff) !important;
  border: 1px solid rgba(2, 121, 36, 0.1) !important;
  border-radius: var(--radius-lg, 14px) !important;
  box-shadow: 0 2px 12px rgba(15, 20, 16, 0.04) !important;
}

body.has-catalog-hero-gallery .catalog-ficha-prose--product .ficha-producto--catalog .info-1 + .info-1 {
  border-top: none !important;
  padding-top: 1.15rem !important;
}

body.has-catalog-hero-gallery .catalog-ficha-prose--product .ficha-producto--catalog .info-1 .titulo-ficha {
  margin-bottom: 0.65rem !important;
}

body.has-catalog-hero-gallery .catalog-ficha-prose--product .ficha-producto--catalog .info-medidas p {
  font-size: 0.98rem;
  line-height: 1.75;
}

body.has-catalog-hero-gallery .catalog-ficha-prose--product .ficha-producto--catalog .info-2 {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 0.25rem !important;
  padding: 0 !important;
}

/* Intro y tarjetas informativas (postes, fichas legacy) */
.catalog-ficha-prose--product .ficha-info-intro {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.catalog-ficha-prose--product .ficha-info-intro__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--v-gray-900, #1a211c);
  padding-left: 0.85rem;
  border-left: 3px solid var(--v-green, #027924);
}

.catalog-ficha-prose--product .ficha-info-points {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.catalog-ficha-prose--product .ficha-info-points li {
  position: relative;
  margin: 0;
  padding: 0.75rem 0.85rem 0.75rem 2.15rem;
  font-size: 0.96rem;
  line-height: 1.72;
  color: var(--v-gray-700, #3d4a42);
  background: var(--v-gray-100, #f4f7f5);
  border: 1px solid rgba(2, 121, 36, 0.08);
  border-radius: 10px;
}

.catalog-ficha-prose--product .ficha-info-points li::before {
  content: '';
  position: absolute;
  left: 0.85rem;
  top: 1.05rem;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--v-green, #027924);
  box-shadow: 0 0 0 3px rgba(2, 121, 36, 0.12);
}

.catalog-ficha-prose--product .ficha-info-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.catalog-ficha-prose--product .ficha-info-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.42rem 0.72rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--v-gray-800, #2a332e);
  background: rgba(2, 121, 36, 0.06);
  border: 1px solid rgba(2, 121, 36, 0.14);
  border-radius: 999px;
}

.catalog-ficha-prose--product .ficha-info-chip i {
  color: var(--v-green, #027924);
  font-size: 0.78rem;
}

.catalog-ficha-prose--product .ficha-info-cards {
  display: grid;
  gap: 1rem;
}

.catalog-ficha-prose--product .ficha-info-card {
  overflow: hidden;
  background: var(--v-white, #fff);
  border: 1px solid rgba(2, 121, 36, 0.1);
  border-radius: var(--radius-lg, 14px);
  box-shadow: 0 2px 12px rgba(15, 20, 16, 0.04);
}

.catalog-ficha-prose--product .ficha-info-card__title {
  margin: 0;
  padding: 0.95rem 1.15rem;
  font-size: 1rem;
  font-weight: 800;
  color: var(--v-gray-900, #1a211c);
  background: linear-gradient(180deg, rgba(2, 121, 36, 0.06) 0%, rgba(2, 121, 36, 0.02) 100%);
  border-bottom: 1px solid rgba(2, 121, 36, 0.1);
}

.catalog-ficha-prose--product .ficha-info-card__body {
  padding: 1rem 1.15rem 1.1rem;
}

.catalog-ficha-prose--product .ficha-info-card__body p {
  margin: 0 0 0.85rem;
  font-size: 0.95rem;
  line-height: 1.72;
  color: var(--v-gray-700, #3d4a42);
}

.catalog-ficha-prose--product .ficha-info-card__body p:last-child {
  margin-bottom: 0;
}

.catalog-ficha-prose--product .ficha-info-chips--compact {
  margin-bottom: 0.85rem;
}

.catalog-ficha-prose--product .ficha-height-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  margin-bottom: 1rem;
}

.catalog-ficha-prose--product .ficha-height-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
  padding: 0.85rem 0.55rem;
  text-align: center;
  background: var(--v-gray-100, #f4f7f5);
  border: 1px solid rgba(2, 121, 36, 0.1);
  border-radius: 12px;
}

.catalog-ficha-prose--product .ficha-height-item__fence {
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--v-green, #027924);
  line-height: 1.1;
}

.catalog-ficha-prose--product .ficha-height-item__label {
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--v-gray-500, #6b7a72);
}

.catalog-ficha-prose--product .ficha-height-item__post {
  margin-top: 0.25rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--v-gray-700, #3d4a42);
}

body.has-catalog-hero-gallery .catalog-ficha-prose--product .ficha-producto--catalog .info-1 .ficha-info-intro {
  gap: 1rem;
}

body.has-catalog-hero-gallery .catalog-ficha-prose--product .ficha-producto--catalog .info-2 > p:not(.titulo-ficha) {
  margin: 0 !important;
  padding: 1rem 1.15rem !important;
  background: var(--v-gray-100, #f4f7f5) !important;
  border: 1px solid rgba(2, 121, 36, 0.08) !important;
  border-radius: var(--radius-md, 10px) !important;
  font-size: 0.95rem;
  line-height: 1.72;
}

body.has-catalog-hero-gallery .catalog-ficha-prose--product .ficha-producto--catalog .info-2 .titulo-ficha {
  margin: 0 0 0.35rem !important;
}

body.has-catalog-hero-gallery .catalog-category-info--product .catalog-section-head {
  margin-bottom: 1.15rem;
}

/* Materiales y medidas — lista */
.catalog-ficha-prose--product .ficha-producto--catalog .info-2 > h3,
.catalog-ficha-prose--product .ficha-producto--catalog .info-2 > h2 {
  margin: 0 0 0.85rem !important;
  padding: 0 0 0 0.85rem !important;
  border-left: 3px solid var(--v-green, #027924) !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  color: var(--v-gray-900, #1a211c) !important;
  background: none !important;
}

.catalog-ficha-prose--product .ficha-producto--catalog .info-2 ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 0.55rem;
}

.catalog-ficha-prose--product .ficha-producto--catalog .info-2 li {
  margin: 0;
  padding: 0.7rem 0.85rem;
  font-size: 0.9rem;
  line-height: 1.45;
  color: var(--v-gray-700, #3d4a42);
  background: var(--v-gray-100, #f4f7f5);
  border: 1px solid rgba(2, 121, 36, 0.08);
  border-radius: 10px;
}

.catalog-ficha-prose--product .ficha-producto--catalog .info-2 li::before {
  content: '✓';
  display: inline-block;
  margin-right: 0.45rem;
  color: var(--v-green, #027924);
  font-weight: 800;
}

/* Galería inferior */
.catalog-ficha-prose--product .ficha-gallery-block {
  margin-top: 0;
  padding: 1.35rem 0 0;
  background: transparent;
  border: none;
  border-top: 1px solid rgba(2, 121, 36, 0.1);
  border-radius: 0;
}

.catalog-ficha-prose--product .ficha-gallery-block > h3 {
  margin: 0 0 0.85rem !important;
  padding: 0 0 0 0.85rem !important;
  border-left: 3px solid var(--v-green, #027924) !important;
  font-size: 1.02rem !important;
  font-weight: 800 !important;
  color: var(--v-gray-900, #1a211c) !important;
  background: none !important;
}

.catalog-ficha-prose--product .ficha-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 0.65rem;
}

.catalog-ficha-prose--product .ficha-gallery-item {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(2, 121, 36, 0.08);
  box-shadow: none;
  transition: transform 0.2s, border-color 0.2s;
}

.catalog-ficha-prose--product .ficha-gallery-item:hover {
  transform: translateY(-1px);
  border-color: rgba(2, 121, 36, 0.2);
}

.catalog-ficha-prose--product .ficha-gallery-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
}

.catalog-ficha-prose--product .ficha-gallery-item .screen,
.catalog-ficha-prose--product .ficha-gallery-item .ver-mas {
  display: none !important;
}

.catalog-ficha-prose--product .ficha-gallery-zoom {
  position: absolute;
  right: 0.5rem;
  bottom: 0.5rem;
  padding: 0.3rem 0.55rem;
  font-size: 0.72rem;
  color: #fff;
  background: rgba(0, 0, 0, 0.55);
  border-radius: 8px;
  opacity: 0;
  transition: opacity 0.2s;
  pointer-events: none;
}

.catalog-ficha-prose--product .ficha-gallery-item:hover .ficha-gallery-zoom,
.catalog-ficha-prose--product .ficha-gallery-item:focus-visible .ficha-gallery-zoom {
  opacity: 1;
}

.catalog-ficha-prose--product .ficha-producto--catalog .info-medidas img {
  max-width: min(360px, 100%);
  box-shadow: none;
  border: 1px solid rgba(2, 121, 36, 0.08);
}

@media (max-width: 768px) {
  body.page-product-layout .catalog-category-info--product {
    padding: 1rem 0 0;
  }

  .catalog-ficha-prose--product .ficha-producto--catalog .info-2 ul {
    grid-template-columns: 1fr;
  }

  .catalog-ficha-prose--product .ficha-height-grid {
    grid-template-columns: 1fr;
  }

  .catalog-ficha-prose--product .ficha-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ——— Hub Jardinería (categoría compacta) ——— */
body.catalog-hub-jardineria.has-catalog-pillar-hub .pg-main {
  background: linear-gradient(180deg, #edf6ef 0%, #f6fbf7 12rem, #fff 24rem);
}

body.catalog-hub-jardineria #header-secundario.page-hero:not(.page-hero--image) {
  background:
    linear-gradient(135deg, rgba(2, 121, 36, 0.94) 0%, rgba(1, 92, 28, 0.9) 52%, rgba(15, 45, 24, 0.88) 100%);
}

body.catalog-hub-jardineria #header-secundario .page-hero-inner .lead {
  max-width: 46ch;
}

.catalog-pillar-intro--jardineria {
  margin-top: 0.35rem;
  border-color: rgba(2, 121, 36, 0.16);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(244, 251, 246, 0.96) 100%),
    radial-gradient(480px 220px at 100% 0%, rgba(76, 175, 80, 0.14) 0%, transparent 60%);
}

.catalog-pillar-intro--jardineria .catalog-pillar-intro-media {
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(2, 121, 36, 0.08);
}

.catalog-pillar-intro--jardineria .catalog-pillar-intro-media img {
  object-fit: cover;
  min-height: 100%;
}

.catalog-hub-jardineria .catalog-commerce-stack > .catalog-buy-hero--hub {
  margin-top: 0.25rem;
  border-radius: var(--radius-lg, 20px);
  border: 1px solid rgba(2, 121, 36, 0.14);
  box-shadow: 0 14px 42px rgba(15, 20, 16, 0.08);
  overflow: hidden;
}

.catalog-hub-jardineria .catalog-buy-hero--hub .catalog-buy-hero-label::before {
  content: "\f06c";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}

.catalog-jardineria-benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 0 0 1.25rem;
}

.catalog-jardineria-benefit {
  padding: 1.1rem 1.15rem;
  border-radius: 16px;
  border: 1px solid rgba(2, 121, 36, 0.12);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 8px 24px rgba(15, 20, 16, 0.04);
}

.catalog-jardineria-benefit-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  margin-bottom: 0.65rem;
  border-radius: 999px;
  background: rgba(2, 121, 36, 0.1);
  color: var(--v-green);
  font-size: 0.95rem;
}

.catalog-jardineria-benefit h3 {
  margin: 0 0 0.35rem;
  font-size: 1rem;
  font-weight: 800;
  color: var(--v-gray-900);
}

.catalog-jardineria-benefit p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.55;
  color: var(--v-gray-600, #5a6560);
}

.catalog-category-info--jardineria {
  margin-top: 1.35rem;
}

.catalog-hub-jardineria .catalog-category-info--jardineria .catalog-section-head {
  margin-top: 0.25rem;
}

@media (max-width: 900px) {
  .catalog-jardineria-benefits {
    grid-template-columns: 1fr;
  }

  .catalog-pillar-intro--jardineria {
    grid-template-columns: 1fr;
  }

  .catalog-pillar-intro--jardineria .catalog-pillar-intro-media {
    order: -1;
    max-height: 240px;
  }
}

/* ——— Ficha producto: bloque rte-content (jardinería, etc.) ——— */
body.has-catalog-hero-gallery .catalog-ficha-prose--product .ficha-producto--catalog .info-1:has(.ficha-rte-prose) {
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  width: 100% !important;
}

.catalog-ficha-prose--product .ficha-producto--catalog .info-medidas.ficha-rte-prose {
  width: 100%;
  max-width: none;
}

.catalog-ficha-prose--product .ficha-rte-prose {
  width: 100%;
  max-width: none;
}

@media (min-width: 900px) {
  .catalog-ficha-prose--product .ficha-rte-prose {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 2rem;
    row-gap: 0;
    align-items: start;
  }

  .catalog-ficha-prose--product .ficha-rte-prose__title,
  .catalog-ficha-prose--product .ficha-rte-prose__lead,
  .catalog-ficha-prose--product .ficha-rte-prose .ficha-info-chips,
  .catalog-ficha-prose--product .ficha-rte-prose__closing {
    grid-column: 1 / -1;
  }

  .catalog-ficha-prose--product .ficha-rte-prose__block:last-of-type {
    grid-column: 1 / -1;
  }
}

.catalog-ficha-prose--product .ficha-rte-prose__title {
  margin: 0 0 0.65rem;
  font-family: var(--font-display, "DM Sans", sans-serif);
  font-size: clamp(1.05rem, 2vw, 1.2rem);
  font-weight: 800;
  line-height: 1.35;
  color: var(--v-gray-900, #1a211c);
}

.catalog-ficha-prose--product .ficha-rte-prose__lead {
  margin: 0 0 0.85rem;
  font-size: 1rem;
  line-height: 1.75;
  color: var(--v-gray-700, #3d4a42);
}

.catalog-ficha-prose--product .ficha-rte-prose .ficha-info-chips {
  margin-bottom: 0.25rem;
}

.catalog-ficha-prose--product .ficha-rte-prose .ficha-info-chip {
  font-weight: 500;
  background: rgba(2, 121, 36, 0.04);
  border-color: rgba(2, 121, 36, 0.1);
}

.catalog-ficha-prose--product .ficha-rte-prose__block {
  margin-top: 1.15rem;
}

.catalog-ficha-prose--product .ficha-rte-prose__subtitle {
  margin: 0 0 0.4rem;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--v-green-dark, #015c1c);
}

.catalog-ficha-prose--product .ficha-rte-prose__block p {
  margin: 0 0 0.75rem;
  font-size: 0.98rem;
  line-height: 1.72;
  color: var(--v-gray-700, #3d4a42);
}

.catalog-ficha-prose--product .ficha-rte-prose__block p:last-child {
  margin-bottom: 0;
}

.catalog-ficha-prose--product .ficha-rte-prose__closing {
  margin-top: 1.15rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(2, 121, 36, 0.1);
}

.catalog-ficha-prose--product .ficha-rte-prose__closing p {
  margin: 0 0 0.55rem;
  font-size: 0.96rem;
  line-height: 1.7;
  color: var(--v-gray-700, #3d4a42);
}

.catalog-ficha-prose--product .ficha-rte-prose__closing p:last-child {
  margin-bottom: 0;
}

body.catalog-product-jardineria .catalog-category-info--jardineria {
  margin-top: 1.35rem;
  padding-right: 0;
  width: 100%;
}

@media (min-width: 1100px) {
  body.catalog-product-jardineria.has-catalog-product .catalog-category-info .catalog-ficha-prose--product {
    padding-right: 0;
  }
}

body.catalog-product-jardineria .catalog-category-info--jardineria .catalog-section-head {
  margin-bottom: 0.85rem;
  padding-bottom: 0;
  border-bottom: none;
}

body.catalog-product-jardineria .catalog-category-info--jardineria .catalog-section-lead {
  max-width: 58ch;
  margin-top: 0.35rem;
}
