/**
Theme Name: lankube
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lankube
Template: astra
*/

/* ===== LOGOS POR MARCA ===== */
body.marca-uberta .ast-site-identity-img {
  background-image: url('https://lankube.es/wp-content/uploads/logo-uberta.png') !important;
}

body.marca-efizy .ast-site-identity-img {
  background-image: url('https://lankube.es/wp-content/uploads/logo-efizy.png') !important;
}

body.marca-modubloc .ast-site-identity-img {
  background-image: url('https://lankube.es/wp-content/uploads/logo-modubloc.png') !important;
}

/* ===== CATÁLOGO ===== */


.catalogo-sidebar-nav {
  width: 350px;
  flex-shrink: 0;
  background: #f8f8f8;
  padding: 0rem;
  border: 1px solid #ddd;
  border-radius: 8px;
  position: sticky;
  top: 100px;
  height: max-content;
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}

.catalogo-menu h2 {
  font-size: 1rem;
  margin-bottom: 1rem;
  text-transform: uppercase;
  color: #666;
}

.catalogo-menu-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.catalogo-menu-item {
  margin-bottom: 0.1rem;
}

.catalogo-menu-item a {
  display: block;
  padding: 6px 10px;
  color: #222;
  text-decoration: none;
  border-radius: 4px;
  transition: background 0.2s;
}

.catalogo-menu-item a:hover,
.catalogo-menu-item a.active {
  background: #dfdfdf;
  color: #fff;
}

.catalogo-grid {
  width: 100%;
  max-width: 100%;
  padding: 2rem;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

.catalogo-marca-container {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
  max-width: 100px;
  margin: 0 auto;
  padding: 2rem 1rem;
  box-sizing: border-box;
}

.catalogo-grid {
  flex: 1;
}


.catalogo-grid h1 {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

.catalogo-productos {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1.5rem;
  padding: 0;
  list-style: none;
}

.producto-item {
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 1rem;
  background: #fff;
  text-align: center;
  transition: box-shadow 0.2s ease-in-out;
}

.producto-item:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.producto-item img {
  max-width: 100%;
  height: auto;
  margin-bottom: 1rem;
  background-color: #f0f0f0;
  padding: 10px;
  border-radius: 6px;
}

.producto-item h4 {
  font-size: 1rem;
  margin-bottom: 0.5rem;
}

.producto-item .precio {
  font-weight: bold;
  color: #dfdfdf;
}

.catalogo-sidebar-nav {
  box-shadow: 2px 0 5px rgba(0, 0, 0, 0.05);
}

.catalogo-grid.ast-container {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 1rem 1rem;
  box-sizing: border-box;
}

.catalogo-wrapper.ast-container {
  max-width: none;
  width: 100%;
  padding: 0;
  margin-top: 1rem !important;
  padding-top: 0 !important;
}


body.page-template-template-catalogo-marca .catalogo-marca-container {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.catalogo-sidebar-nav {
  min-height: 300px;
}

body.tax-product_cat .catalogo-marca-container,
body.tax-product_cat .catalogo-sidebar-nav {
  margin-top: 3rem;
  margin-bottom: 3rem;
}

body.es-taxonomia-productos .catalogo-sidebar-nav {
  margin-top: 3rem;
  margin-bottom: 3rem;
}

.menu-acordeon-categorias {
  list-style: none;
  padding: 0;
  margin: 0;
}

.menu-acordeon-categorias li {
  margin-bottom: 0.5rem;
}

.menu-acordeon-categorias a {
  display: block;
  padding: 8px 10px;
  color: #333;
  text-decoration: none;
  border-radius: 4px;
  transition: background 0.2s;
}

.menu-acordeon-categorias a.active,
.menu-acordeon-categorias a:hover {
  background: #dfdfdf;
  color: #000000;
}

.menu-acordeon-categorias .submenu {
  list-style: none;
  margin-left: 10px;
  padding-left: 10px;
  border-left: 2px solid #eee;
  display: none;
}

.menu-acordeon-categorias li.abierto>.submenu {
  display: block;
}

.menu-acordeon-categorias .acordeon-icon {
  float: left;
  background: #eee;
  padding: 2px 6px;
  font-weight: bold;
  border-radius: 4px;
  margin-left: 4px;
  margin-right: 4px;
  margin-top: 4px;
  font-size: 1em;
  color: #555;
}

.menu-acordeon-categorias .menu-item-wrap {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 6px;
  border-radius: 4px;
  transition: background 0.2s;
  line-height: 1.2;
  font-size: 0.9rem;
}

.menu-acordeon-categorias .menu-item-wrap a {
  flex: 1;
  color: #333;
  text-decoration: none;
}

.menu-acordeon-categorias .menu-item-wrap:hover,
.menu-acordeon-categorias .menu-item-wrap a.active {
  background: #dfdfdf;
  color: #fff;
}

.menu-acordeon-categorias .acordeon-icon {
  display: inline-block;
  width: 20px;
  text-align: center;
  background: #eee;
  border-radius: 4px;
  font-weight: bold;
  font-size: 1em;
  color: #555;
  cursor: pointer;
  user-select: none;
}

.menu-item-wrap {
  display: flex;
  align-items: center;
  gap: 0px;
  padding: 6px 10px;
  border-radius: 4px;
  transition: background 0.2s;
}

.menu-item-wrap:hover,
.menu-item-wrap.activo {
  background: #dfdfdf;
  color: #fff;
}

.menu-item-wrap a {
  color: inherit;
  text-decoration: none;
  flex: 1;
}

.menu-acordeon-categorias .acordeon-icon {
  width: 18px;
  height: 18px;
  font-weight: bold;
  font-size: 1em;
  text-align: center;
  line-height: 1;
  background: #eee;
  border-radius: 4px;
  color: #333;
  user-select: none;
}

.menu-acordeon-categorias .acordeon-icon.placeholder {
  background: transparent;
  visibility: hidden;
}

.catalogo-paginacion {
  margin-top: 2rem;
  text-align: center;
}

.catalogo-paginacion .page-numbers {
  display: inline-block;
  padding: 8px 12px;
  margin: 0 5px;
  background: #eee;
  border-radius: 4px;
  color: #333;
  text-decoration: none;
}

.catalogo-paginacion .current {
  background: #e6332a;
  color: white;
  font-weight: bold;
}

.catalogo-sidebar-filtros {
  padding: 0.5em;
  background: #f9f9f9;
  border-radius: 8px;
  margin-bottom: 0.2em;
}

.catalogo-sidebar-filtros h2 {
  margin-bottom: 0.5em;
  font-size: 0.5em;
  font-weight: 700;
}

.filtro-bloque {
  margin-bottom: 0.5em;
}

.filtro-bloque label {
  display: block;
  margin-left: 1em;
}

.catalogo-wrapper.layout-horizontal {
  display: flex;
  gap: 2rem;
}

.catalogo-sidebar {
  min-width: 220px;
  max-width: 260px;
  flex-shrink: 0;
  background: #fafbfa;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
  padding: 1.5rem 1rem;
}

.catalogo-contenido {
  flex: 1;
  min-width: 0;
  padding-top: 2rem;
}

.catalogo-filtros-laterales {
  margin-top: 1em;
  padding: 0.5em;
  background: #f9f9f9;
  border: 1px solid #eee;
  border-radius: 6px;
}

.catalogo-filtros-laterales .filtro-bloque {
  margin-bottom: 0.5em;
}

/* Contenedor principal */
.catalogo-wrapper.layout-horizontal {
  display: flex;
  gap: 2rem;
  align-items: flex-start;
}

.catalogo-menu,
.catalogo-filtros-laterales {
  background: #f9f9f9;
  padding: 1rem;
  margin-bottom: 0.5rem;
  border-radius: 8px;
}

/* Columna derecha: productos */
.catalogo-contenido {
  flex-grow: 1;
}

/* Grid de productos */
.catalogo-productos {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem;
}

/* Ajuste para el item del producto */
.catalogo-productos .producto-item {
  background: #fff;
  padding: 1rem;
  border: 1px solid #eee;
  border-radius: 6px;
  text-align: center;
}

.catalogo-wrapper,
.catalogo-marca-container {
  margin-top: 3rem;
  margin-bottom: 3rem;
}

.catalogo-contenido h1 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #111;
  margin-bottom: 1.5rem;
}

.filtros-horizontal {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  align-items: center;
  margin-bottom: 2rem;
}

.filtro-horizontal-bloque {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.filtro-horizontal-bloque label {
  margin-right: 10px;
}

.boton-filtro {
  padding: 0.5rem 1rem;
  background: #dfdfdf;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

.filtros-horizontal label {
  text-transform: capitalize;
}

.catalogo-wrapper {
  display: flex;
  flex-direction: row;
}

.catalogo-sidebar-nav {
  width: 300px;
  flex-shrink: 0;
  margin-right: 2rem;
  position: sticky;
  top: 100px;
  /* o ajusta según la altura de tu header */
  height: fit-content;
}

.catalogo-grid {
  flex-grow: 1;
  min-width: 0;
}

/* Asegura que el contenedor no tenga padding innecesario */
.ast-container {
  max-width: 1300px !important;
  padding-left: 1rem;
  padding-right: 1rem;
}

.bloque.descargables {
  margin-top: 2em;
}

.lista-descargables {
  list-style: none;
  padding: 0;
}

.lista-descargables li {
  margin-bottom: 0.5em;
}

.lista-descargables a {
  color: #c00;
  text-decoration: underline;
}

.tabla-especificaciones {
  width: 100%;
  border-collapse: collapse;
  margin-top: 1em;
}

.tabla-especificaciones th {
  text-align: left;
  font-weight: bold;
  width: 40%;
  padding: 6px 10px;
  background: #f5f5f5;
}

.tabla-especificaciones td {
  padding: 6px 10px;
  border-bottom: 1px solid #e0e0e0;
}

.cabecera-producto {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: flex-start;
  margin-bottom: 1px;
}

.columna-imagen {
  flex: 1 1 300px;
}

.columna-info {
  flex: 2 1 600px;
  padding: 10px;
  margin-left: 50px margin-top: 50px;
}

.tabla-especificaciones {
  width: 100%;
  border-collapse: collapse;
  font-size: 1rem;
  border: none;
}

.tabla-especificaciones tr:nth-child(even) {
  background-color: #f6f6f6;
}

.tabla-especificaciones td {
  padding: 12px;
  border: none;
}

.tabla-especificaciones .columna-izquierda {
  font-weight: bold;
  width: 30%;
  color: #000;
}

.menu-secciones {
  display: flex;
  justify-content: flex-start;
  gap: 10px;
  margin-top: 2rem;
  margin-bottom: 2rem;
  flex-wrap: wrap;
  width: 100%;
}

.menu-secciones a {
  background-color: #f1f2f1;
  color: #1e8c79;
  text-decoration: none;
  padding: 12px 24px;
  font-weight: bold;
  font-size: 0.9rem;
  text-transform: uppercase;
  border-radius: 4px;
  transition: background-color 0.3s ease;
}

.menu-secciones a:hover {
  background-color: #e0e0e0;
}

.menu-secciones a span {
  margin-left: 6px;
}

.boton-seccion {
  flex: 1 1 30%;
  /* crece hasta 50% si caben, mínimo 300px */
  padding: 0.5rem 0rem;
  background-color: #f2f4f3;
  border: none;
  font-weight: 600;
  font-size: 0.9rem;
  border-radius: 5px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  cursor: pointer;
  text-align: center;
}

.menu-secciones .boton-seccion:hover {
  background-color: #e0e0e0;
}

.menu-secciones .boton-seccion:not(:last-child) {
  margin-right: 1rem;
}

.bloque-titulo {
  font-size: 0.95em;
  font-weight: bold;
  margin-bottom: 0.5rem;
  color: #4a4a4a;
}

.documentos {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.doc-box {
  background: #f1f2f1;
  padding: 20px;
  border-radius: 4px;
  flex: 1 1 250px;
  margin-bottom: 20px;
}

.doc-box a {
  text-decoration: none;
  color: #0a7734;
  font-weight: 400;
  font-size: 1em;
}

.custom-button {
  display: inline-block;
  background: #f2f3f3;
  padding: 12px 20px;
  border-radius: 4px;
  text-decoration: none;
}

.custom-button-text {
  font-weight: 600;
  color: #0a7734;
  position: relative;
  padding-right: 16px;
}

.custom-button-text::after {
  content: "🡫";
  font-size: 1.3em;
  position: absolute;
  margin-left: 6px;
  top: 50%;
  transform: translateY(-50%);
  color: #0a7734;
  font-weight: 600;
}

h2+hr,
h3+hr,
h4+hr {
  border: none;
  height: 1px;
  background-color: #0a7734;
  margin-top: 10px;
}

h4 {
  color: #6d736e;
}

.accesorios-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 2rem;
  margin-top: 1.5rem;
}

.accesorio-item {
  background-color: #fff;
  border: 1px solid #ddd;
  padding: 1rem;
  text-align: center;
  border-radius: 6px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
  transition: transform 0.2s ease;
}

.accesorio-item:hover {
  transform: translateY(-2px);
}

.accesorio-item img {
  max-width: 100%;
  height: auto;
  margin-bottom: 0.5rem;
}


.accesorio-item h3 {
  font-size: 1.1rem;
  margin: 0.5rem 0;
}

.accesorio-item p {
  font-size: 0.95rem;
  color: #555;
}

.docs-titulo {
  margin-bottom: 1rem;
}

.documentos-grid {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
  justify-content: space-between;
}

.documento-col {
  flex: 1 1 45%;
  min-width: 300px;
}

.docs-titulo {
  margin-bottom: 0.5rem;
  font-weight: 600;
}

.doc-item {
  margin-bottom: 0.75rem;
}

.doc-link {
  display: block;
  padding: 0.75rem 1rem;
  background-color: #f6f8f6;
  border: 1px solid #c4dec4;
  border-radius: 5px;
  color: #276727;
  font-size: 0.95rem;
  text-decoration: none;
  transition: background 0.2s ease;
}

.doc-link:hover {
  background-color: #eaf5e7;
}

.producto-header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  /* antes: center → ahora: arriba */
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 2rem;
}

.producto-header-izquierda {
  flex: 1 1 40%;
  min-width: 250px;
}

.producto-subfamilia {
  font-size: 0.95rem;
  color: #888;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.producto-titulo {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 0.75rem;
  color: #000;
}

.producto-descripcion {
  font-size: 1.1rem;
  color: #444;
  margin-bottom: 1rem;
}

.producto-iconos {
  margin-top: 1rem;
}

.producto-iconos a {
  margin-right: 15px;
  font-size: 1.2rem;
  color: #006639;
  transition: color 0.3s ease;
}

.producto-iconos a:hover {
  color: #004d2a;
}

.producto-header-derecha {
  flex: 1 1 50%;
  text-align: left;
  min-width: 300px;
}

.producto-imagen img {
  max-width: 100%;
  max-height: 300px;
  /* nuevo límite de altura */
  height: auto;
  border: 0px solid #e0e0e0;
  border-radius: 8px;
  object-fit: contain;
  /* evita deformación */
}

/* Responsive para móvil */
@media (max-width: 768px) {
  .producto-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .producto-header-derecha {
    text-align: left;
    margin-top: 1.5rem;
  }
}


.breadcrumb {
  font-size: 1em;
  font-weight: 500;
  color: #0B8C64;
  /* Verde Efizy */
  margin-bottom: 0rem;
  padding-left: 0.5rem;
  list-style: none;
}

.breadcrumb a {
  color: #0B8C64;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: all 0.2s ease-in-out;
  border-bottom: 1px solid transparent;
}

.breadcrumb a:hover {
  border-bottom: 1px solid #0B8C64;
  color: #0B8C64;
}

.breadcrumb::before,
.breadcrumb::after {
  display: none;
  /* Por si WooCommerce añade cosas raras */
}

.documentos-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}

.documento-col {
  flex: 1 1 45%;
  min-width: 300px;
}

#documentacion {
  margin-bottom: 3rem;
}

.ast-separate-container #primary,
.ast-narrow-container #primary,
.ast-plain-container #primary {
  margin-top: 20px !important;
}

.ast-separate-container.ast-right-sidebar #primary,
.ast-separate-container.ast-left-sidebar #primary {
  margin-top: 20px !important;
}

.producto-detalle-lankube {
  display: flex;
  gap: 3rem;
  align-items: flex-start;
}

.producto-imagen-lankube {
  flex: 0 0 auto;
  width: 100%;
  max-width: 600px;
}

.producto-imagen-lankube img {
  width: 100% !important;
  height: auto !important;
  display: block;
}

.producto-summary-lankube {
  flex: 1 1 0%;
}

@media (max-width: 900px) {
  .producto-detalle-lanakube {
    flex-direction: column !important;
    gap: 1.5rem;
  }

  .producto-imagen-lankube,
  .producto-summary-lankube {
    max-width: 100%;
  }
}

.pro-cat-list-clean {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 2.4rem;
  margin-top: 2rem;
}

.pro-cat-card-clean {
  background: #fff;
  border-radius: 1px;
  border: 1.5px solid #e6e6e6;
  box-shadow: 0 1px 12px #dde4ea14;
  text-decoration: none;
  transition: box-shadow 0.16s, border-color 0.18s, transform 0.18s;
  padding: 2.1rem 1.2rem 1.5rem 1.2rem;
  min-height: 230px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}

.pro-cat-card-clean img {
  width: 78px;
  height: 78px;
  object-fit: contain;
  margin-bottom: 2.2em;
  background: transparent;
  border-radius: 1px;
  box-shadow: none;
  display: block;
  transition: transform 0.22s;
}

.pro-cat-card-clean:hover {
  box-shadow: 0 6px 28px #0b8c6428;
  border-color: #c6e2d5;
  transform: translateY(-3px) scale(1.025);
}

.pro-cat-name-clean {
  color: #18382f;
  font-weight: 700;
  font-size: 1.17em;
  text-align: center;
  margin-bottom: 0.4em;
  margin-top: 0;
  letter-spacing: 0.2px;
}

.pro-cat-card-clean::after {
  display: none;
  /* Sin línea inferior */
}

body .pro-dashboard-clean {
  max-width: 1300px;
  margin: 3rem auto 2rem auto;
  padding: 0 2rem;
  font-family: 'Inter', Arial, sans-serif;
  background: #fff;
}

.pro-marcas-row {
  display: flex;
  gap: 3.2rem;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.zona-pro-bajo-header {
  background: #222;
  color: #fff;
  padding: 1.2rem 0;
  border-bottom: 3px solid #e6332a;
}

.zona-pro-bajo-header .container-pro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
}

.zona-pro-bajo-header .logo-pro {
  height: 40px;
  margin-right: 2rem;
}

.menu-pro-list {
  display: flex;
  gap: 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.menu-pro-list li a {
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 5px;
  transition: background 0.2s;
}

.menu-pro-list li a:hover,
.menu-pro-list .current-menu-item a {
  background: #e6332a;
}

.catalogo-productos-tabla {
  width: 100%;
  border-collapse: collapse;
  margin-top: 2em;
}

.catalogo-productos-tabla th,
.catalogo-productos-tabla td {
  border: 1px solid #eee;
  padding: 8px;
  text-align: left;
}

.catalogo-productos-tabla th {
  background: #f6f6f6;
}


.cat-header-title {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 0.7rem;
  color: #222;
}

.cat-header-lankube {
  width: 100%;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-top: 1rem;
  margin-bottom: 0rem;
  flex-wrap: nowrap;
  /* evita que la descripción salte de línea */
}

.cat-header-info-block {
  flex: 1 1 0%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.cat-header-img {
  flex: 0 0 auto;
  width: 100%;
  /* Ajusta el tamaño de la imagen */
  max-width: 450px;
  height: auto;
  display: block;
  justify-content: center;
}

.cat-header-img img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
  border-radius: 0px;
  background: #fff;
}

.cat-header-info {
  flex: 1;
}

.cat-header-desc {
  font-size: 1.15rem;
  color: #15755b;
  line-height: 1.5;
}

@media (max-width: 900px) {
  .cat-header-title {
    font-size: 2rem;
    margin-bottom: 0.5rem;
  }

  .cat-header-lankube {
    flex-direction: column;
    align-items: center;
    gap: 0.7rem;
    padding: 0.8rem 0.5rem 0.6rem 0.5rem;
  }

  .cat-header-img {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-bottom: 0.5rem;
  }
  .cat-header-img img {
    width: 100%;
    max-width: 160px;
    height: auto;
    margin: 0 auto;
    display: block;
  }
  .cat-header-info-block {
    width: 100%;
    align-items: center;
    text-align: center;
  }
}

@media (max-width: 600px) {

    /* Elimina cualquier padding o margen lateral en los wrappers */
    .catalogo-productos-grid-wrapper,
    .catalogo-main,
    .catalogo-productos {
      padding: 0.5rem !important;
      margin: 0 !important;
      width: 100% !important;
      box-sizing: border-box !important;
    }

  .ast-container {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }

  .cat-header-lankube {
    flex-direction: column;
    padding: 0.8rem 0.5rem 0.6rem 0.5rem;
    /* Un poco de padding lateral para evitar que el texto toque los bordes */
  }

  .cat-header-title {
    font-size: 1.3rem;
    text-align: left;
  }

  .cat-header-img {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-bottom: 0.5rem;
  }
  .cat-header-img img {
    width: 100%;
    max-width: 500px;
    height: auto;
    margin: 0 auto;
    display: block;
  }
  .cat-header-info-block {
    width: 100%;
    justify-content: center;
    text-align: left;
  }
  .cat-header-desc {
    font-size: 1rem;
    text-align: left;
  }

  .catalogo-main,
  .catalogo-productos-tabla-wrapper {
    width: 100vw !important;
    max-width: 100vw !important;

    padding: 0.5rem;
    overflow-x: auto;
  }
  .catalogo-productos-tabla {
    min-width: 550px; /* así la tabla nunca se recorta y hace scroll horizontal */
  }

  .catalogo-productos {
    grid-template-columns: 1fr !important;
    gap: 1.2rem !important;
    padding: 0 !important;
  }
  .producto-item {
    margin: 0 auto !important;
    width: 100% !important;
    justify-content: center;
    box-sizing: border-box;
  }
  .catalogo-productos-grid-wrapper {
    padding: 0 !important;
    margin: 0 !important;
  }


    .ast-container,
    .catalogo-wrapper.ast-container,
    .catalogo-con-sidebar,
    .catalogo-main,
    .catalogo-productos-grid-wrapper,
    .catalogo-productos {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      width: 100% !important;
      box-sizing: border-box !important;
    }
    body .catalogo-productos,
    body .catalogo-productos-grid-wrapper {
      padding: 0 0.5rem !important;
    }
    .catalogo-productos {
      gap: 1rem !important;
      min-width: 0 !important;
      max-width: 100vw !important;
    }
  
  
}

.cat-header-info {
  flex: 1;
  /* deja que la descripción use el resto del ancho */
}

.catalogo-con-sidebar {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
  width: 100%;
}

.cat-sidebar-bloque {
  margin-bottom: 2.2rem;
}

.cat-sidebar-bloque h5 {
  margin: 0 0 0.8em 0;
  font-size: 1.13rem;
  color: #096b5d;
  font-weight: 700;
  letter-spacing: -0.5px;
}

.cat-sidebar-subcats {
  list-style: none;
  margin: 0;
  padding: 0;
}

.cat-sidebar-subcats li {
  margin: 0 0 0.4em 0;
}

.cat-sidebar-subcats a {
  color: #176a52;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.2s;
}

.cat-sidebar-subcats a:hover {
  color: #d52836;
}

.catalogo-main {
  flex: 1;
  min-width: 0;
  margin-bottom: 1.5rem;
  gap: 0.5rem;
}

/* Ocultar sidebar en móvil */
@media (max-width: 900px) {

  .catalogo-sidebar {
    display: none;
  }
}

.catalogo-main {
  flex: 1;
  min-width: 0;
}

@media (max-width: 900px) {
  .cat-header-lankube {
    flex-direction: column;
    gap: 1.2rem;
  }

  .catalogo-con-sidebar {
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0 !important;
    margin-bottom: 0.5 !important;
  }

  .catalogo-sidebar {
    max-width: 100%;
    min-width: 0;
  }
}
/* Estilos generales del formulario de ordenar */
.ordenar-formulario {
  display: flex;
  align-items: center;
  gap: 0.7em;
  margin-bottom: 1em;
  justify-content: flex-end; /* Derecha por defecto (escritorio) */
}

.ordenar-formulario label {
  font-weight: 500;
  font-size: 1rem;
  margin-right: 0.5em;
}

.ordenar-formulario select {
  min-width: 180px;
  padding: 0.45em 1.1em 0.45em 0.8em;
  font-size: 1em;
  border-radius: 6px;
  border: 1.5px solid #e0e0e0;
  background: #fff;
  outline: none;
  transition: border 0.2s;
}

.ordenar-formulario select:focus {
  border: 1.5px solid #15755b;
}

/* Para móvil: debajo del bloque verde y 100% ancho */
@media (max-width: 700px) {
  .ordenar-formulario {
    flex-direction: column;
    align-items: stretch;
    gap: 0.4em;
    justify-content: flex-start;
    margin: 0.8em 0 1.2em 0;
    padding: 0 0.6em;
  }
  .ordenar-formulario label {
    margin: 0 0 0.1em 0;
    font-size: 1.02em;
  }
  .ordenar-formulario select {
    width: 100%;
    min-width: 0;
    font-size: 1.07em;
  }
}
