/* =====================================================================
   JB Perfumes — sistema visual (sistema.css) · 2026-11-12 · dueño: agente de sistema visual
   Va detrás de tokens.css. Cada bloque está limitado por clases de <body>:
     1 base y 2 tarjeta → body.jb-diseno (todas las páginas; header y footer solo reciben
       las variables: sus reglas están en header.css y footer.css)
     3 portada  → body.jb-diseno:is(.home, .page-id-23646)  (portada real y la de prueba)
     4 listados → tienda, categoría, marca, etiqueta y búsqueda (plantilla 19124)
     5 ficha    → body.jb-diseno.single-product (plantilla 19142)
   Los !important pisan tipografías escritas a mano en widgets de Elementor y reglas con
   !important del CSS adicional del Customizer. Sin JavaScript.
   ===================================================================== */

/* ===== 1 · BASE ===== */
/* 1 · Variables del tema y de Elementor apuntando a los tokens ------------ */
body.jb-diseno {
  --wd-header-el-font: var(--jb-sans);
  --wd-header-el-font-weight: 500;
  --wd-text-font: var(--jb-sans);
  --wd-text-font-weight: 400;
  --wd-text-color: var(--jb-texto-suave);
  --wd-text-font-size: 15px;
  --wd-title-font: var(--jb-serif);
  --wd-title-font-weight: 500;
  --wd-title-color: var(--jb-texto);
  --wd-entities-title-font: var(--jb-sans);
  --wd-entities-title-font-weight: 400;
  --wd-entities-title-color: var(--jb-texto);
  --wd-entities-title-color-hover: var(--jb-dorado-oscuro);
  --wd-alternative-font: var(--jb-serif);
  --wd-widget-title-font: var(--jb-sans);
  --wd-widget-title-font-weight: 500;
  --wd-widget-title-transform: uppercase;
  --wd-widget-title-color: var(--jb-texto);
  --wd-widget-title-font-size: 12px;
  --wd-primary-color: var(--jb-negro);
  --wd-alternative-color: var(--jb-dorado);
  --wd-link-color: var(--jb-texto);
  --wd-link-color-hover: var(--jb-dorado-oscuro);
  --btn-default-font-family: var(--jb-sans);
  --btn-default-bgcolor: transparent;
  --btn-default-bgcolor-hover: var(--jb-negro);
  --btn-default-color: var(--jb-negro);
  --btn-default-color-hover: var(--jb-marfil);
  --btn-accented-bgcolor: var(--jb-negro);
  --btn-accented-bgcolor-hover: var(--jb-grafito);
  --btn-accented-color: var(--jb-marfil);
  --btn-accented-color-hover: var(--jb-dorado-claro);
  --btn-default-brd-radius: var(--jb-radio);
  --btn-accented-brd-radius: var(--jb-radio);
  --wd-brd-radius: var(--jb-radio);
  --wd-form-brd-radius: var(--jb-radio);
  --wd-form-brd-width: 1px;
  --wd-form-brd-color: var(--jb-linea-neutra);
  --wd-form-brd-color-focus: var(--jb-dorado);
}
body.jb-diseno.elementor-kit-18882 {
  --e-global-color-d462223: var(--jb-dorado);
  --e-global-typography-primary-font-family: 'JB Cormorant';
  --e-global-typography-primary-font-weight: 500;
  --e-global-typography-secondary-font-family: 'JB Cormorant';
  --e-global-typography-secondary-font-weight: 500;
  --e-global-typography-text-font-family: 'JB Jost';
  --e-global-typography-text-font-weight: 400;
  --e-global-typography-accent-font-family: 'JB Jost';
  --e-global-typography-accent-font-weight: 500;
}

/* 2 · Texto y títulos (los widgets traen «Playfair Display»/«Montserrat»
       escritos a mano: se pisan con !important hasta limpiar los widgets) */
body.jb-diseno .main-page-wrapper { font-family: var(--jb-sans); font-weight: 400; color: var(--jb-texto-suave); }
body.jb-diseno .main-page-wrapper :where(p, li, dd, dt, td, th, label, input, select, textarea, button, .elementor-widget-text-editor,
  .elementor-icon-list-text, .e-n-accordion-item-title-text, .elementor-button, .price, .amount,
  .wd-breadcrumbs, .woocommerce-breadcrumb, .wd-product-cats, .wd-product-brands-links, .wd-nav-tabs .nav-link-text) {
  font-family: var(--jb-sans) !important;
}
body.jb-diseno .main-page-wrapper :where(h1, h2, h3, h4, .elementor-heading-title, .wd-title .title, .title-wrapper .title, .product_title) {
  font-family: var(--jb-serif) !important;
  font-weight: var(--jb-peso-serif) !important;
  letter-spacing: var(--jb-tracking-titulo);
  line-height: var(--jb-lh-titulo) !important;
  color: var(--jb-texto);
  text-transform: none !important;
}
/* Los nombres de producto (tarjetas) van en sans, no en serif */
body.jb-diseno .main-page-wrapper :is(.wd-product .wd-entities-title, .product-grid-item .wd-entities-title) {
  font-family: var(--jb-sans) !important; letter-spacing: 0; line-height: 1.4 !important; text-transform: none !important;
}
body.jb-diseno .main-page-wrapper :is(p, li) { line-height: var(--jb-lh-cuerpo); }
body.jb-diseno .main-page-wrapper strong, body.jb-diseno .main-page-wrapper b { font-weight: 500; color: var(--jb-texto); }
body.jb-diseno .main-page-wrapper a { transition: color var(--jb-transicion); }

/* 3 · Botones ------------------------------------------------------------ */
body.jb-diseno .main-page-wrapper :where(.button, .btn, button.button, .elementor-button, .single_add_to_cart_button, .wd-buy-now-btn, .add_to_cart_button, .added_to_cart) {
  font-family: var(--jb-sans) !important;
  font-weight: 500 !important;
  font-size: var(--jb-fs-boton) !important;
  letter-spacing: var(--jb-tracking) !important;
  text-transform: uppercase !important;
  border-radius: var(--jb-radio) !important;
  box-shadow: none !important;
  transition: background-color var(--jb-transicion), color var(--jb-transicion), border-color var(--jb-transicion);
}
/* primario: negro sólido */
body.jb-diseno .main-page-wrapper :is(.single_add_to_cart_button, .jb-btn-primario .elementor-button) {
  background: var(--jb-negro) !important; color: var(--jb-marfil) !important;
  border: 1px solid var(--jb-negro) !important; min-height: var(--jb-alto-boton);
}
body.jb-diseno .main-page-wrapper :is(.single_add_to_cart_button, .jb-btn-primario .elementor-button):hover { background: var(--jb-grafito) !important; color: var(--jb-dorado-claro) !important; }
/* secundario: contorno */
body.jb-diseno .main-page-wrapper :is(.wd-buy-now-btn, .add_to_cart_button, .jb-btn-secundario .elementor-button) {
  background: transparent !important; color: var(--jb-negro) !important;
  border: 1px solid var(--jb-negro) !important;
}
body.jb-diseno .main-page-wrapper :is(.wd-buy-now-btn, .add_to_cart_button, .jb-btn-secundario .elementor-button):hover { background: var(--jb-negro) !important; color: var(--jb-marfil) !important; }
body.jb-diseno .main-page-wrapper .add_to_cart_button span { background: none !important; } /* el Customizer lo pinta de negro con !important */
/* sobre fondo oscuro */
body.jb-diseno .main-page-wrapper .jb-btn-dorado .elementor-button { background: var(--jb-dorado) !important; color: var(--jb-negro) !important; border: 1px solid var(--jb-dorado) !important; }
body.jb-diseno .main-page-wrapper .jb-btn-dorado .elementor-button:hover { background: var(--jb-dorado-claro) !important; }
body.jb-diseno .main-page-wrapper .jb-btn-claro .elementor-button { background: transparent !important; color: var(--jb-marfil) !important; border: 1px solid rgba(247,243,236,.7) !important; }
body.jb-diseno .main-page-wrapper .jb-btn-claro .elementor-button:hover { background: var(--jb-marfil) !important; color: var(--jb-negro) !important; }
body.jb-diseno .main-page-wrapper :is(a, button, input, .button):focus-visible { outline: 2px solid var(--jb-dorado); outline-offset: 2px; }

/* 4 · Campos ------------------------------------------------------------- */
body.jb-diseno .main-page-wrapper :is(input[type="text"], input[type="number"], input[type="email"], select, textarea) {
  border: 1px solid var(--jb-linea-neutra) !important; border-radius: var(--jb-radio) !important; color: var(--jb-texto);
}

/* 5 · Precios ------------------------------------------------------------ */
body.jb-diseno .main-page-wrapper .price { color: var(--jb-texto) !important; font-weight: 500; letter-spacing: .01em; }
body.jb-diseno .main-page-wrapper .price del { color: var(--jb-tachado) !important; font-weight: 400; opacity: 1 !important; text-decoration-thickness: 1px; }
body.jb-diseno .main-page-wrapper .price ins { text-decoration: none; }

/* 6 · Insignia de descuento: rectángulo pequeño, sin píldora ni sombra ---- */
body.jb-diseno .main-page-wrapper .product-labels .product-label {
  min-height: 0 !important; min-width: 0 !important; height: auto !important;
  padding: 5px 8px !important; border-radius: var(--jb-radio) !important;
  font: 500 11px/1 var(--jb-sans) !important; letter-spacing: .08em !important;
  background: var(--jb-negro) !important; color: var(--jb-marfil) !important; box-shadow: none !important;
}
body.jb-diseno .main-page-wrapper .product-labels { inset: 12px auto auto 12px !important; }

/* 7 · Migas de pan -------------------------------------------------------- */
body.jb-diseno .main-page-wrapper :is(.wd-breadcrumbs, .woocommerce-breadcrumb) {
  font-size: var(--jb-fs-micro) !important; letter-spacing: .06em; color: var(--jb-texto-suave) !important;
}
body.jb-diseno .main-page-wrapper :is(.wd-breadcrumbs, .woocommerce-breadcrumb) a { color: var(--jb-texto-suave) !important; }
body.jb-diseno .main-page-wrapper :is(.wd-breadcrumbs, .woocommerce-breadcrumb) .wd-last { color: var(--jb-texto) !important; font-weight: 400 !important; }

/* ===== 2 · TARJETA DE PRODUCTO ===== */
body.jb-diseno .main-page-wrapper :is(.wd-products, .products) { --wd-prod-shadow: none; --wd-prod-bg: transparent; }
body.jb-diseno .main-page-wrapper .wd-product .product-wrapper {
  border-radius: var(--jb-radio-tarjeta) !important; box-shadow: none !important;
  background: transparent !important; padding: 0 0 var(--jb-esp-4) !important; border: 0 !important;
  display: flex; flex-direction: column; height: 100%;
}
/* Imagen: cuadrada, sobre marfil; el blanco del JPG se funde con multiply */
body.jb-diseno .main-page-wrapper .wd-product .product-element-top {
  background: var(--jb-marfil); aspect-ratio: 1 / 1; margin-bottom: var(--jb-esp-4) !important;
  display: flex; align-items: center; justify-content: center; overflow: hidden; border-radius: 0 !important;
}
body.jb-diseno .main-page-wrapper .wd-product .product-image-link { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; }
body.jb-diseno .main-page-wrapper .wd-product .product-element-top img {
  width: 84% !important; height: 84% !important; object-fit: contain; mix-blend-mode: multiply; filter: brightness(1.06); /* funde también los fondos gris claro (#eee) de parte del catálogo */
  transition: transform 600ms cubic-bezier(.2,.7,.2,1);
}
body.jb-diseno .main-page-wrapper .wd-product:hover .product-element-top img { transform: scale(1.035); }
body.jb-diseno .main-page-wrapper .wd-product .hover-img { display: none !important; } /* segunda foto al pasar: casi nunca existe y salta */

/* Acciones flotantes: solo el corazón, en línea fina, sin círculo blanco */
body.jb-diseno .main-page-wrapper .wd-product .wd-buttons { background: none !important; box-shadow: none !important; inset: 10px 10px auto auto !important; }
body.jb-diseno .main-page-wrapper .wd-product .wd-buttons :is(.wd-compare-btn, .quick-view) { display: none !important; }
body.jb-diseno .main-page-wrapper .wd-product .wd-buttons .wd-action-btn > a { width: 32px; height: 32px; background: transparent !important; box-shadow: none !important; color: var(--jb-texto) !important; }
@media (max-width: 1024px) { body.jb-diseno .main-page-wrapper .wd-product .wd-buttons { opacity: 1 !important; transform: none !important; } }

/* Bloque de texto */
body.jb-diseno .main-page-wrapper .wd-product :is(.product-element-bottom, .product-wrapper) { text-align: left !important; --text-align: flex-start; }
/* Marca encima del nombre (opción brands_under_title=1 + este orden; en la maqueta la inserta tarjeta.js) */
body.jb-diseno .main-page-wrapper .wd-product .product-element-top { order: -2; }
body.jb-diseno .main-page-wrapper .wd-product :is(.jb-marca, .wd-product-brands-links) {
  order: -1; display: block; margin: 0 0 6px; font: 500 11px/1.2 var(--jb-sans); letter-spacing: var(--jb-tracking-versalita);
  text-transform: uppercase; color: var(--jb-dorado-oscuro);
}
body.jb-diseno .main-page-wrapper .wd-product :is(.jb-marca, .wd-product-brands-links) a { color: inherit !important; }
body.jb-diseno .main-page-wrapper .wd-product .wd-entities-title {
  font-size: 14.5px !important; font-weight: 400 !important; color: var(--jb-texto) !important;
  margin: 0 0 var(--jb-esp-2) !important; --title-line-height: 1.4em; min-height: 2.8em; text-align: left !important;
}
body.jb-diseno .main-page-wrapper .wd-product .wd-entities-title a { color: inherit !important; }
body.jb-diseno .main-page-wrapper .wd-product .wd-product-cats { display: none !important; } /* «Perfumes Árabes, Perfumes para Él»: ruido */
body.jb-diseno .main-page-wrapper .wd-product .price { display: flex !important; flex-wrap: wrap; gap: 2px 8px; align-items: baseline; justify-content: flex-start; font-size: 15px !important; margin-bottom: var(--jb-esp-3) !important; }
body.jb-diseno .main-page-wrapper .wd-product .price del { font-size: 12.5px !important; order: 2; }
body.jb-diseno .main-page-wrapper .wd-product .price ins { order: 1; }

/* Botón de la tarjeta: secundario de contorno, ancho completo, una línea */
body.jb-diseno .main-page-wrapper .wd-product .wd-add-btn { margin-top: auto; justify-content: stretch !important; }
body.jb-diseno .main-page-wrapper .wd-product .wd-add-btn > a {
  width: 100% !important; min-height: var(--jb-alto-boton-sm) !important; display: flex !important; align-items: center; justify-content: center;
  background: transparent !important; color: var(--jb-negro) !important; border: 1px solid var(--jb-negro) !important;
}
body.jb-diseno .main-page-wrapper .wd-product.wd-hover-standard .wd-add-btn .add-to-cart-loop span { background: transparent !important; width: 100%; }
body.jb-diseno .main-page-wrapper .wd-product .wd-add-btn > a span { padding: 0 8px !important; min-height: var(--jb-alto-boton-sm) !important; font-size: 11.5px !important; letter-spacing: .12em; white-space: nowrap; color: inherit !important; }
body.jb-diseno .main-page-wrapper .wd-product .wd-add-btn > a:hover { background: var(--jb-negro) !important; color: var(--jb-marfil) !important; }
body.jb-diseno .main-page-wrapper .wd-product .wd-add-btn-replace .add-to-cart-loop:before { color: inherit; }
@media (max-width: 480px) {
  body.jb-diseno .main-page-wrapper .wd-product .wd-add-btn > a span { font-size: 10.5px !important; letter-spacing: .1em; padding: 0 4px !important; }
  body.jb-diseno .main-page-wrapper .wd-product .wd-entities-title { font-size: 13.5px !important; }
}
/* Paginación de los carruseles: guiones finos en vez de bolitas */
body.jb-diseno .main-page-wrapper .wd-nav-pagin-wrap .wd-nav-pagin li span { width: 22px !important; height: 2px !important; border-radius: 0 !important; background: var(--jb-linea-neutra) !important; border: 0 !important; }
body.jb-diseno .main-page-wrapper .wd-nav-pagin-wrap .wd-nav-pagin li.active span { background: var(--jb-negro) !important; }

/* ===== 3 · PORTADA ===== */
/* Portada: piezas de Elementor de la #23646 (se copian tal cual a la 18899 en la activación).
   Las clases van en «Avanzado → Clases CSS» de cada contenedor/widget. */
body.jb-diseno:is(.home, .page-id-23646) .main-page-wrapper .elementor-widget-heading .elementor-heading-title { margin: 0; }
body.jb-diseno:is(.home, .page-id-23646) .jb-eyebrow .elementor-heading-title {
  font: 500 var(--jb-fs-micro)/1.2 var(--jb-sans) !important; letter-spacing: var(--jb-tracking-versalita) !important;
  text-transform: uppercase !important; color: var(--jb-dorado-oscuro) !important;
}
body.jb-diseno:is(.home, .page-id-23646) .jb-eyebrow--claro .elementor-heading-title { color: var(--jb-dorado) !important; }
body.jb-diseno:is(.home, .page-id-23646) .jb-h2 .elementor-heading-title { font-size: var(--jb-fs-h2) !important; color: var(--jb-texto) !important; }
body.jb-diseno:is(.home, .page-id-23646) .jb-h2--claro .elementor-heading-title { color: var(--jb-marfil) !important; }
body.jb-diseno:is(.home, .page-id-23646) .jb-h3 .elementor-heading-title { font-size: var(--jb-fs-h3) !important; color: var(--jb-texto) !important; }
body.jb-diseno:is(.home, .page-id-23646) .jb-enlace .elementor-heading-title a {
  display: inline-flex; gap: 8px; align-items: center; white-space: nowrap; padding-bottom: 6px; border-bottom: 1px solid var(--jb-dorado);
  font: 500 var(--jb-fs-micro)/1 var(--jb-sans) !important; letter-spacing: var(--jb-tracking) !important; text-transform: uppercase; color: var(--jb-texto) !important;
}
body.jb-diseno:is(.home, .page-id-23646) .jb-enlace .elementor-heading-title a::after { content: "→"; font-size: 14px; letter-spacing: 0; }

/* 1 · HERO (a5d8fcd > contenedor .jb-hero: texto | arte 19721) */
body.jb-diseno:is(.home, .page-id-23646) .jb-hero-banda { padding: 0 !important; --padding-top: 0px; --padding-bottom: 0px; }
body.jb-diseno:is(.home, .page-id-23646) .jb-hero {
  display: grid !important; grid-template-columns: 1fr 1fr; gap: 0 !important; padding: 0 !important;
  min-height: clamp(560px, 44vw, 660px); background: var(--jb-negro);
}
body.jb-diseno:is(.home, .page-id-23646) .jb-hero__txt {
  justify-content: center !important; gap: 0 !important; padding: 56px 48px 56px max(var(--jb-margen-lateral), calc((100vw - var(--jb-ancho)) / 2)) !important;
}
body.jb-diseno:is(.home, .page-id-23646) .jb-hero__txt > .elementor-element { max-width: 560px; }
body.jb-diseno:is(.home, .page-id-23646) .jb-hero__titulo .elementor-heading-title {
  font-size: var(--jb-fs-display) !important; line-height: 1.04 !important; color: var(--jb-marfil) !important; margin: 0 0 20px !important;
}
body.jb-diseno:is(.home, .page-id-23646) .jb-hero__titulo em { font-style: italic; color: var(--jb-dorado); }
body.jb-diseno:is(.home, .page-id-23646) .jb-hero__lead .elementor-heading-title {
  font: 300 var(--jb-fs-lead)/1.6 var(--jb-sans) !important; color: var(--jb-texto-suave-invertido) !important; margin: 0 0 32px !important; max-width: 46ch;
}
body.jb-diseno:is(.home, .page-id-23646) .jb-hero__ctas { gap: 12px !important; padding: 0 !important; }
body.jb-diseno:is(.home, .page-id-23646) .jb-hero__ctas .elementor-widget { width: auto !important; margin: 0 !important; }
body.jb-diseno:is(.home, .page-id-23646) .jb-hero__ctas .elementor-button { min-height: var(--jb-alto-boton); padding: 0 28px !important; display: inline-flex; align-items: center; }
body.jb-diseno:is(.home, .page-id-23646) .jb-hero__arte { position: relative; overflow: hidden; padding: 0 !important; }
body.jb-diseno:is(.home, .page-id-23646) .jb-hero__arte::before {  /* funde el borde izquierdo (el arte trae un filete blanco de 2 px) */
  content: ""; position: absolute; z-index: 1; inset: 0 auto 0 0; width: 28%; background: linear-gradient(90deg, var(--jb-negro) 4%, rgba(15,14,12,0));
}
/* La foto va absoluta: el alto de la banda lo marca el min-height, no el 4:5 del arte (si no, 900 px) */
body.jb-diseno:is(.home, .page-id-23646) .jb-hero__img { position: absolute !important; inset: 0; width: 100% !important; height: 100%; margin: 0 !important; }
body.jb-diseno:is(.home, .page-id-23646) .jb-hero__img .elementor-widget-container { height: 100%; margin: 0 !important; }
body.jb-diseno:is(.home, .page-id-23646) .jb-hero__img img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; object-position: center 42%; display: block; }
@media (max-width: 767px) {
  body.jb-diseno:is(.home, .page-id-23646) .jb-hero { grid-template-columns: 1fr; min-height: 0; }
  body.jb-diseno:is(.home, .page-id-23646) .jb-hero__arte { order: -1; height: 100vw; }
  body.jb-diseno:is(.home, .page-id-23646) .jb-hero__arte::before { inset: auto 0 0 0; width: auto; height: 50%; background: linear-gradient(180deg, rgba(15,14,12,0), var(--jb-negro)); }
  body.jb-diseno:is(.home, .page-id-23646) .jb-hero__txt { position: relative; z-index: 2; margin-top: -18vw !important; padding: 0 20px 36px !important; }
  body.jb-diseno:is(.home, .page-id-23646) .jb-hero__lead .elementor-heading-title { margin-bottom: 24px !important; }
  body.jb-diseno:is(.home, .page-id-23646) .jb-hero__ctas .elementor-widget { flex: 1 1 140px; }
  body.jb-diseno:is(.home, .page-id-23646) .jb-hero__ctas .elementor-button { width: 100%; justify-content: center; padding: 0 12px !important; }
}

/* 2 · FRANJA DE CONFIANZA (9c98ea6 > icon-list en línea con SVG) */
body.jb-diseno:is(.home, .page-id-23646) .jb-franja { background: var(--jb-marfil) !important; padding: 0 !important; min-height: 0 !important; border-top: 1px solid var(--jb-dorado); border-bottom: 1px solid var(--jb-linea-neutra); }
body.jb-diseno:is(.home, .page-id-23646) .jb-franja > .e-con-inner { padding: 0 !important; max-width: none !important; }
body.jb-diseno:is(.home, .page-id-23646) .jb-franja__lista { width: 100%; }
body.jb-diseno:is(.home, .page-id-23646) .jb-franja__lista .elementor-icon-list-items { justify-content: center; gap: 12px 48px; padding: 18px var(--jb-margen-lateral) !important; margin: 0 auto !important; max-width: var(--jb-ancho); }
body.jb-diseno:is(.home, .page-id-23646) .jb-franja__lista .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; align-items: center; }
body.jb-diseno:is(.home, .page-id-23646) .jb-franja__lista .elementor-icon-list-item::after { display: none !important; }
body.jb-diseno:is(.home, .page-id-23646) .jb-franja__lista .elementor-icon-list-icon { color: var(--jb-dorado-oscuro); }
body.jb-diseno:is(.home, .page-id-23646) .jb-franja__lista .elementor-icon-list-icon svg { width: 20px !important; height: 20px !important; fill: none !important; stroke: currentColor; }
body.jb-diseno:is(.home, .page-id-23646) .jb-franja__lista .elementor-icon-list-text { font: 500 var(--jb-fs-micro)/1.3 var(--jb-sans) !important; letter-spacing: .12em; text-transform: uppercase; color: var(--jb-texto) !important; padding-left: 10px !important; }
@media (max-width: 767px) {
  body.jb-diseno:is(.home, .page-id-23646) .jb-franja__lista .elementor-icon-list-items { display: grid !important; grid-template-columns: 1fr 1fr; gap: 14px 12px; padding: 18px 16px !important; }
  body.jb-diseno:is(.home, .page-id-23646) .jb-franja__lista .elementor-icon-list-item { align-items: flex-start; }
  body.jb-diseno:is(.home, .page-id-23646) .jb-franja__lista .elementor-icon-list-text { font-size: 10.5px !important; letter-spacing: .08em; }
}

/* 3 · CATEGORÍAS (cabecera nueva + eeb992e) */
body.jb-diseno:is(.home, .page-id-23646) .jb-cabecera--centro { text-align: center; padding: var(--jb-seccion) var(--jb-margen-lateral) var(--jb-esp-6) !important; align-items: center; gap: 0 !important; }
body.jb-diseno:is(.home, .page-id-23646) .jb-cats { padding: 0 var(--jb-margen-lateral) 24px !important; }
body.jb-diseno:is(.home, .page-id-23646) .jb-cats > .e-con-inner { gap: 12px !important; max-width: var(--jb-ancho) !important; }
body.jb-diseno:is(.home, .page-id-23646) .jb-cats > .e-con-inner > .e-con { position: relative; overflow: hidden; padding: 0 !important; gap: 0 !important; --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; }
body.jb-diseno:is(.home, .page-id-23646) .jb-cats .elementor-widget-image { position: relative; width: 100%; margin: 0 !important; }
body.jb-diseno:is(.home, .page-id-23646) .jb-cats .elementor-widget-image a { display: block; }
body.jb-diseno:is(.home, .page-id-23646) .jb-cats img { display: block; width: 100% !important; aspect-ratio: 4 / 5; object-fit: cover; transition: transform 800ms cubic-bezier(.2,.7,.2,1); }
body.jb-diseno:is(.home, .page-id-23646) .jb-cats > .e-con-inner > .e-con:hover img { transform: scale(1.04); }
body.jb-diseno:is(.home, .page-id-23646) .jb-cats .elementor-widget-image::after { content: ""; position: absolute; inset: 50% 0 0; background: linear-gradient(180deg, rgba(15,14,12,0), rgba(15,14,12,.72)); pointer-events: none; }
body.jb-diseno:is(.home, .page-id-23646) .jb-cat-rotulo { position: absolute !important; left: 0; right: 0; bottom: 0; margin: 0 !important; padding: 0 20px 20px !important; z-index: 2; }
body.jb-diseno:is(.home, .page-id-23646) .jb-cat-rotulo .elementor-heading-title { display: flex; flex-direction: column; gap: 6px; text-align: left !important; }
body.jb-diseno:is(.home, .page-id-23646) .jb-cat-rotulo .elementor-heading-title a { display: flex; flex-direction: column; gap: 6px; }
body.jb-diseno:is(.home, .page-id-23646) .jb-cat-rotulo span { font: 500 28px/1 var(--jb-serif); color: var(--jb-marfil); }
body.jb-diseno:is(.home, .page-id-23646) .jb-cat-rotulo small { font: 500 10.5px/1 var(--jb-sans); letter-spacing: var(--jb-tracking-versalita); text-transform: uppercase; color: var(--jb-dorado-claro); }
@media (max-width: 767px) {
  body.jb-diseno:is(.home, .page-id-23646) .jb-cats > .e-con-inner { display: grid !important; grid-template-columns: 1fr 1fr; gap: 8px !important; }
  body.jb-diseno:is(.home, .page-id-23646) .jb-cats > .e-con-inner > .e-con { width: auto !important; margin: 0 !important; }
  body.jb-diseno:is(.home, .page-id-23646) .jb-cats > .e-con-inner > .e-con:last-child { grid-column: 1 / -1; }
  body.jb-diseno:is(.home, .page-id-23646) .jb-cats > .e-con-inner > .e-con:last-child img { aspect-ratio: 2 / 1; }
  body.jb-diseno:is(.home, .page-id-23646) .jb-cat-rotulo { padding: 0 14px 14px !important; }
  body.jb-diseno:is(.home, .page-id-23646) .jb-cat-rotulo span { font-size: 22px; }
}

/* 4 · CARRUSELES (29ace12 «Nuevos», affe43e «En tendencia») */
body.jb-diseno:is(.home, .page-id-23646) .jb-carrusel { padding: var(--jb-seccion) var(--jb-margen-lateral) !important; }
body.jb-diseno:is(.home, .page-id-23646) .elementor-element-29ace12 { padding-top: 56px !important; }
body.jb-diseno:is(.home, .page-id-23646) .jb-carrusel > .e-con-inner { max-width: var(--jb-ancho) !important; }
body.jb-diseno:is(.home, .page-id-23646) .jb-cabecera--fila { width: 100%; align-self: stretch; justify-content: space-between !important; align-items: flex-end !important; gap: 16px !important; padding: 0 !important; margin-bottom: var(--jb-esp-5); }
body.jb-diseno:is(.home, .page-id-23646) .jb-cabecera--fila > .e-con { width: auto !important; gap: 0 !important; padding: 0 !important; }
body.jb-diseno:is(.home, .page-id-23646) .jb-cabecera--fila .jb-enlace { width: auto !important; margin: 0 !important; }

/* 5 · GUÍA (feb5dbb + acordeón 4b80e0c sobre la foto OPCION-3-13) */
body.jb-diseno:is(.home, .page-id-23646) .jb-guia { padding: var(--jb-seccion) var(--jb-margen-lateral) !important; }
body.jb-diseno:is(.home, .page-id-23646) .jb-guia__lead .elementor-heading-title { font: 400 15px/1.6 var(--jb-sans) !important; color: var(--jb-texto-suave-invertido) !important; margin: 10px 0 24px !important; }
body.jb-diseno:is(.home, .page-id-23646) .elementor-element-cec6ba1 { gap: 0 !important; }
body.jb-diseno:is(.home, .page-id-23646) .elementor-element-4b80e0c .e-n-accordion-item { margin: 0 !important; }
body.jb-diseno:is(.home, .page-id-23646) .elementor-element-4b80e0c .e-n-accordion-item-title {
  background: transparent !important; border: 0 !important; border-bottom: 1px solid rgba(191,159,98,.35) !important; border-radius: 0 !important;
  padding: 20px 0 !important; flex-direction: row-reverse; justify-content: space-between !important;
}
body.jb-diseno:is(.home, .page-id-23646) .elementor-element-4b80e0c .e-n-accordion-item-title-text { font: 500 22px/1.25 var(--jb-serif) !important; color: var(--jb-marfil) !important; }
body.jb-diseno:is(.home, .page-id-23646) .elementor-element-4b80e0c .e-n-accordion-item-title-icon svg { fill: var(--jb-dorado) !important; width: 12px !important; height: 12px !important; }
body.jb-diseno:is(.home, .page-id-23646) .elementor-element-4b80e0c .e-n-accordion-item > [role="region"], body.jb-diseno:is(.home, .page-id-23646) .elementor-element-4b80e0c .e-n-accordion-item > .e-con {
  background: transparent !important; border: 0 !important; padding: 16px 0 8px !important;
}
body.jb-diseno:is(.home, .page-id-23646) .elementor-element-4b80e0c .elementor-widget-text-editor { text-align: left !important; color: var(--jb-texto-suave-invertido) !important; font-size: 15px !important; }
body.jb-diseno:is(.home, .page-id-23646) .elementor-element-4b80e0c .elementor-widget-text-editor strong { color: var(--jb-marfil); }

/* 6 · CONSEJOS (26318c8 + 9f80840, marfil) y CTA (deae5ef, arena) */
body.jb-diseno:is(.home, .page-id-23646) .jb-banda-marfil { background: var(--jb-marfil) !important; }
body.jb-diseno:is(.home, .page-id-23646) .jb-consejos-cab { padding: var(--jb-seccion) var(--jb-margen-lateral) 8px !important; }
body.jb-diseno:is(.home, .page-id-23646) .jb-consejos-cab .elementor-heading-title { text-align: center; }
body.jb-diseno:is(.home, .page-id-23646) .jb-consejos { padding: 16px var(--jb-margen-lateral) var(--jb-seccion) !important; }
body.jb-diseno:is(.home, .page-id-23646) .jb-consejos > .e-con-inner { max-width: 1100px !important; gap: 48px !important; }
body.jb-diseno:is(.home, .page-id-23646) .jb-texto { color: var(--jb-texto-suave) !important; font-size: 15px !important; text-align: left !important; }
body.jb-diseno:is(.home, .page-id-23646) .jb-texto strong { color: var(--jb-dorado-oscuro) !important; font-weight: 500 !important; }
body.jb-diseno:is(.home, .page-id-23646) .jb-texto li::marker { color: var(--jb-dorado); }
body.jb-diseno:is(.home, .page-id-23646) .jb-banda-arena { background: var(--jb-arena) !important; padding: 56px var(--jb-margen-lateral) !important; }
body.jb-diseno:is(.home, .page-id-23646) .jb-cta .elementor-heading-title { line-height: 1.15 !important; text-align: center; }
body.jb-diseno:is(.home, .page-id-23646) .jb-cta .jb-btn-secundario { align-self: center; }
body.jb-diseno:is(.home, .page-id-23646) .jb-cta .elementor-button { min-height: var(--jb-alto-boton); padding: 0 32px !important; display: inline-flex !important; align-items: center; line-height: 1 !important; }

/* ===== 4 · LISTADOS ===== */
/* Título (5011dfd, etiqueta dinámica archive-title, h1) */
body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .elementor-element-2dafafb7 { margin: 0 !important; padding: 40px var(--jb-margen-lateral) 8px !important; }
body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .elementor-element-5011dfd .elementor-heading-title { font-size: var(--jb-fs-h1) !important; font-weight: 500 !important; text-transform: none !important; color: var(--jb-texto) !important; }
body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .elementor-element-5011dfd .elementor-heading-title::after { content: ""; display: block; width: 40px; height: 1px; margin: 16px auto 0; background: var(--jb-dorado); }

/* Columna de filtros: «FILTROS» deja de ser una caja negra */
body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .elementor-element-14d888e2 { padding-top: 24px !important; }
body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .elementor-element-a067eaf { margin-bottom: 8px !important; }
body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .elementor-element-a067eaf .elementor-heading-title {
  background: none !important; color: var(--jb-texto) !important; text-align: left !important; padding: 0 0 14px !important;
  font: 500 var(--jb-fs-micro)/1 var(--jb-sans) !important; letter-spacing: var(--jb-tracking-versalita) !important; text-transform: uppercase !important;
  border-bottom: 1px solid var(--jb-texto);
}
body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .elementor-element-a067eaf, body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .elementor-element-a067eaf > .elementor-widget-container { background: none !important; padding: 0 !important; }
body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .main-page-wrapper .sidebar-widget { padding: 20px 0 !important; margin: 0 !important; border-bottom: 1px solid var(--jb-linea-neutra) !important; border-top: 0 !important; }
body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .main-page-wrapper .sidebar-widget .widget-title {
  font: 500 var(--jb-fs-micro)/1.2 var(--jb-sans) !important; letter-spacing: var(--jb-tracking-versalita) !important; text-transform: uppercase; color: var(--jb-texto) !important; margin-bottom: 14px !important;
}
body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .main-page-wrapper .sidebar-widget :is(li, a) { font-size: 14px !important; color: var(--jb-texto-suave) !important; }
body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .main-page-wrapper .sidebar-widget a:hover { color: var(--jb-texto) !important; }
body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .main-page-wrapper .wd-checkboxes-on .wd-filter-lable:before, body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .main-page-wrapper .wd-checkboxes-on li > a:before { width: 14px !important; height: 14px !important; border: 1px solid #b9b2a6 !important; border-radius: 1px !important; }
body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .main-page-wrapper .sidebar-widget :is(.select2-selection, select) { border: 1px solid var(--jb-linea-neutra) !important; border-radius: var(--jb-radio) !important; min-height: 42px; font-size: 14px !important; }
body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .main-page-wrapper .wd-widget-layered-nav-dropdown-form .select2-selection__rendered { font-size: 14px !important; color: var(--jb-texto-suave) !important; }

/* Barra superior del listado: fuera «Mostrar 9/12/18/24» y los 4 iconos de vista */
body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .elementor-element-e30817, body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .elementor-element-6b1cc57f { display: none !important; }
body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .elementor-element-1f0ad551 { border-bottom: 1px solid var(--jb-linea-neutra); padding-bottom: 12px !important; margin-bottom: 24px !important; }
body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .main-page-wrapper .woocommerce-ordering select, body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .main-page-wrapper .woocommerce-ordering .orderby { font-size: 13px !important; color: var(--jb-texto) !important; border-color: var(--jb-linea-neutra) !important; }
body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .main-page-wrapper .wd-shop-ordering select { font-family: var(--jb-sans) !important; font-weight: 400 !important; }

/* Rejilla: más aire entre productos */
body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .main-page-wrapper .elementor-element-44651d07 .wd-products { --wd-gap-lg: 32px; --wd-gap-md: 24px; --wd-gap-sm: 12px; row-gap: 40px !important; }

/* Paginación: números finos, la actual subrayada en dorado */
body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .main-page-wrapper .wd-pagination .page-numbers li > * { min-width: 36px; height: 36px; border-radius: 0 !important; background: transparent !important; color: var(--jb-texto-suave) !important; font: 400 14px/36px var(--jb-sans) !important; }
body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .main-page-wrapper .wd-pagination .page-numbers .current { color: var(--jb-texto) !important; box-shadow: inset 0 -1px 0 var(--jb-dorado) !important; font-weight: 500 !important; }

/* Móvil */
@media (max-width: 767px) {
  body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .elementor-element-2dafafb7 { padding: 24px 16px 0 !important; }
  body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .elementor-element-5011dfd .elementor-heading-title::after { margin-top: 12px; }
  body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .elementor-element-14d888e2 { padding: 8px 16px 0 !important; }
  body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .elementor-element-713288d { gap: 4px !important; }
  body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .elementor-element-1f0ad551 { padding-bottom: 8px !important; margin-bottom: 16px !important; }
  body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .main-page-wrapper .wd-shop-tools .wd-breadcrumbs, body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .elementor-element-31c5ceff { font-size: 11px !important; }
  body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .elementor-element-3bf0a660 { font-size: 12px !important; color: var(--jb-texto-suave) !important; }
  body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .elementor-element-708a940c :is(a, span) { font: 500 var(--jb-fs-micro)/1 var(--jb-sans) !important; letter-spacing: var(--jb-tracking) !important; text-transform: uppercase; color: var(--jb-texto) !important; }
  body.jb-diseno:is(.post-type-archive-product, .tax-product_cat, .tax-product_brand, .tax-product_tag, .search-results) .main-page-wrapper .elementor-element-44651d07 .wd-products { row-gap: 28px !important; }
}

/* ===== 5 · FICHA ===== */
/* Migas: con margen lateral en móvil (hoy pegadas al borde, x=0) */
body.jb-diseno.single-product .elementor-element-ebbb55c { padding: 24px var(--jb-margen-lateral) 8px !important; }
body.jb-diseno.single-product .elementor-element-2016540c { gap: clamp(24px, 4vw, 64px) !important; margin-bottom: 48px !important; }

/* Galería sobre marfil, foto fundida con multiply */
body.jb-diseno.single-product .elementor-element-647187a3 :is(.woocommerce-product-gallery__image, .wd-carousel-item > figure) { background: var(--jb-marfil); }
body.jb-diseno.single-product .elementor-element-647187a3 .wd-carousel-item img { mix-blend-mode: multiply; }
body.jb-diseno.single-product .elementor-element-647187a3 .wd-carousel-item > figure { aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; margin: 0; }
/* Solo la foto visible (dentro del <a>): la imagen del zoom de Woodmart (hija directa del figure) no se toca,
   o el !important le pisa las medidas que pone el script del zoom. */
body.jb-diseno.single-product .elementor-element-647187a3 .wd-carousel-item > figure > a img { width: 86% !important; height: 86% !important; object-fit: contain; }
/* 2026-11-12: la foto va dentro de un <a> que ocupa todo el ancho; sin esto quedaba pegada a la izquierda (−7 %). */
body.jb-diseno.single-product .elementor-element-647187a3 .wd-carousel-item > figure > a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
body.jb-diseno.single-product .elementor-element-647187a3 .product-labels { inset: 16px auto auto 16px !important; }
body.jb-diseno.single-product .elementor-element-647187a3 :is(.wd-show-product-gallery-wrap, .product-additional-galleries) > * > a,
body.jb-diseno.single-product .elementor-element-647187a3 .wd-action-btn > a { background: transparent !important; box-shadow: none !important; border: 1px solid var(--jb-linea-neutra); width: 40px !important; height: 40px !important; }
body.jb-diseno.single-product .elementor-element-647187a3 .wd-nav-arrows .wd-btn-arrow { color: var(--jb-texto) !important; }

/* Columna de compra */
body.jb-diseno.single-product .elementor-element-1771095b { padding-top: 4px; }
body.jb-diseno.single-product .elementor-element-be1722a, body.jb-diseno.single-product .elementor-element-65f235bd { display: none !important; } /* flechas anterior/siguiente: ruido (y su contenedor vacío ocupa 40 px) */
body.jb-diseno.single-product .main-page-wrapper .jb-marca-ficha, body.jb-diseno.single-product .elementor-element-54373128 { display: block !important; margin: 0 0 10px !important; }
body.jb-diseno.single-product .elementor-element-54373128 .wd-product-brands { display: block !important; }
body.jb-diseno.single-product .elementor-element-54373128 :is(.wd-label) { display: none !important; }
body.jb-diseno.single-product .elementor-element-54373128 a { font: 500 var(--jb-fs-micro)/1 var(--jb-sans) !important; letter-spacing: var(--jb-tracking-versalita); text-transform: uppercase; color: var(--jb-dorado-oscuro) !important; }
body.jb-diseno.single-product .elementor-element-11b84f30 .product_title { font-size: clamp(1.75rem, 1.45rem + 1.1vw, 2.375rem) !important; font-weight: 500 !important; line-height: 1.12 !important; margin: 0 0 16px !important; }

/* Resumen: máximo 4 líneas (61 % de los productos trae un <h2> y 58 % pasa de 400 caracteres) */
body.jb-diseno.single-product .elementor-element-b05660f { padding-bottom: 4px !important; margin-bottom: 0 !important; border-bottom: 0 !important; }
body.jb-diseno.single-product .elementor-element-b05660f .woocommerce-product-details__short-description { position: relative; max-height: calc(4 * 1.65em); overflow: hidden; }
body.jb-diseno.single-product .elementor-element-b05660f .woocommerce-product-details__short-description :is(h1, h2, h3, h4) { display: none !important; }
body.jb-diseno.single-product .elementor-element-b05660f .woocommerce-product-details__short-description p { font-size: 15px !important; color: var(--jb-texto-suave) !important; margin: 0 0 .6em !important; line-height: 1.65 !important; }
body.jb-diseno.single-product .elementor-element-b05660f .woocommerce-product-details__short-description::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1.65em; background: linear-gradient(rgba(255,255,255,0), #fff); }
body.jb-diseno.single-product .main-page-wrapper .jb-leer-mas .elementor-heading-title a { display: inline-flex; margin-top: 8px; font: 500 var(--jb-fs-micro)/1 var(--jb-sans); letter-spacing: var(--jb-tracking); text-transform: uppercase; color: var(--jb-texto) !important; border-bottom: 1px solid var(--jb-dorado); padding-bottom: 4px; }

/* Precio */
body.jb-diseno.single-product .elementor-element-6bd1100d :is(.price, .price del, .amount) { word-spacing: normal !important; } /* el widget trae word-spacing:15px → «$   259.990» */
body.jb-diseno.single-product .elementor-element-6bd1100d .price { display: flex !important; align-items: baseline; gap: 12px; flex-wrap: wrap; margin: 0 0 20px !important; }
body.jb-diseno.single-product .elementor-element-6bd1100d .price ins, body.jb-diseno.single-product .elementor-element-6bd1100d .price ins .amount { font: 400 28px/1 var(--jb-sans) !important; color: var(--jb-texto) !important; order: 1; letter-spacing: .01em; }
body.jb-diseno.single-product .elementor-element-6bd1100d .price del, body.jb-diseno.single-product .elementor-element-6bd1100d .price del .amount { font: 400 16px/1 var(--jb-sans) !important; color: var(--jb-tachado) !important; order: 2; }
body.jb-diseno.single-product .main-page-wrapper .woocommerce-Price-currencySymbol { margin-right: .08em; }

/* Botones: cantidad fina + primario negro; «Comprar ahora» secundario de contorno */
body.jb-diseno.single-product .elementor-element-942210 form.cart { display: flex !important; flex-wrap: wrap; gap: 10px !important; align-items: stretch; }
body.jb-diseno.single-product .elementor-element-942210 .quantity { height: var(--jb-alto-boton); border: 1px solid var(--jb-linea-neutra); margin: 0 !important; display: inline-flex !important; align-items: center; }
body.jb-diseno.single-product .elementor-element-942210 .quantity :is(input, .btn) { border: 0 !important; height: 100% !important; min-height: 0 !important; background: transparent !important; font: 400 15px/1 var(--jb-sans) !important; color: var(--jb-texto) !important; }
body.jb-diseno.single-product .elementor-element-942210 .quantity .btn { width: 36px !important; }
body.jb-diseno.single-product .elementor-element-942210 .quantity input.qty { width: 36px !important; }
body.jb-diseno.single-product .elementor-element-942210 .single_add_to_cart_button { flex: 1 1 200px; height: var(--jb-alto-boton) !important; margin: 0 !important; }
body.jb-diseno.single-product .elementor-element-942210 .wd-buy-now-btn { flex: 1 1 100%; height: var(--jb-alto-boton) !important; margin: 0 !important; order: 3; }
/* WhatsApp (Joinchat): se conserva —decisión de marketing— pero en línea fina, sin píldora verde */
body.jb-diseno.single-product .elementor-element-942210 .joinchat__woo-btn__wrapper { flex: 1 1 100%; order: 4; margin: 4px 0 0 !important; }
body.jb-diseno.single-product .elementor-element-942210 .joinchat__woo-btn {
  background: transparent !important; color: var(--jb-texto) !important; border-radius: 0 !important; padding: 6px 0 !important; height: auto !important;
  font: 400 14px/1.4 var(--jb-sans) !important; box-shadow: none !important; display: inline-flex !important; gap: 10px; align-items: center; text-decoration: underline; text-decoration-color: var(--jb-linea); text-underline-offset: 5px;
}
body.jb-diseno.single-product .elementor-element-942210 .joinchat__woo-btn::before { background-color: #1f9d55 !important; width: 20px !important; height: 20px !important; margin: 0 !important; position: static !important; flex: none; }

/* Sistecrédito (widget <app-simulator>, Angular sin shadow DOM): caja neutra */
body.jb-diseno.single-product .elementor-element-77236312 { margin: 20px 0 12px !important; }
body.jb-diseno.single-product .main-page-wrapper app-simulator .simulador-box {
  border: 1px solid var(--jb-linea-neutra) !important; border-radius: var(--jb-radio) !important; background: var(--jb-marfil) !important;
  padding: 14px 16px !important; box-shadow: none !important; min-height: 0 !important; width: 100% !important; max-width: none !important;
}
body.jb-diseno.single-product .main-page-wrapper app-simulator :is(.plain-text, .container-info, strong, a) { font-family: var(--jb-sans) !important; font-size: 13.5px !important; color: var(--jb-texto) !important; }
body.jb-diseno.single-product .main-page-wrapper app-simulator a { color: var(--jb-texto) !important; text-decoration: underline; text-decoration-color: var(--jb-dorado); text-underline-offset: 3px; }

/* Lista de deseos, SKU y aviso de imágenes de referencia */
body.jb-diseno.single-product .elementor-element-6e9f1cd { padding-top: 12px !important; border-top: 0 !important; }
body.jb-diseno.single-product .elementor-element-222bd9f5 a { font: 400 13px/1 var(--jb-sans) !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--jb-texto-suave) !important; }
body.jb-diseno.single-product .elementor-element-5a1275e4 .sku_wrapper { font-size: 12px !important; color: var(--jb-texto-suave) !important; }
body.jb-diseno.single-product .elementor-element-5a1275e4 .sku_wrapper * { font-size: 12px !important; font-weight: 400 !important; color: var(--jb-texto-suave) !important; }
body.jb-diseno.single-product .main-page-wrapper .uro-jb-reference-note { background: none !important; border: 0 !important; box-shadow: none !important; padding: 8px 0 0 !important; margin: 8px 0 0 !important; gap: 8px !important; }
body.jb-diseno.single-product .main-page-wrapper .uro-jb-reference-note p, body.jb-diseno.single-product .main-page-wrapper .uro-jb-reference-note strong { font: 400 12px/1.5 var(--jb-sans) !important; color: var(--jb-texto-suave) !important; }
body.jb-diseno.single-product .main-page-wrapper .uro-jb-reference-note__icon { background: none !important; border: 1px solid var(--jb-texto-suave) !important; color: var(--jb-texto-suave) !important; width: 16px !important; height: 16px !important; min-width: 16px !important; font: 500 10px/14px var(--jb-sans) !important; }

/* Sellos de confianza (91abe87 + 4 icon-box): iconos de línea, en rejilla compacta */
body.jb-diseno.single-product .elementor-element-91abe87 { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 0 !important; border-top: 1px solid var(--jb-linea-neutra); border-bottom: 1px solid var(--jb-linea-neutra); padding: 18px 0 !important; margin-top: 20px !important; }
body.jb-diseno.single-product .elementor-element-91abe87 > .elementor-element { width: 100% !important; max-width: 100% !important; min-width: 0; margin: 0 !important; padding: 0 6px !important; --container-widget-width: 100%; }
body.jb-diseno.single-product .elementor-element-91abe87 .elementor-icon-box-title { white-space: normal !important; }
body.jb-diseno.single-product .elementor-element-91abe87 .elementor-icon { font-size: 26px !important; color: var(--jb-dorado-oscuro) !important; fill: var(--jb-dorado-oscuro) !important; }
body.jb-diseno.single-product .elementor-element-91abe87 .elementor-icon svg { width: 26px !important; height: 26px !important; fill: none !important; stroke: currentColor; }
body.jb-diseno.single-product .elementor-element-91abe87 .elementor-icon-box-icon { margin-bottom: 8px !important; }
body.jb-diseno.single-product .elementor-element-91abe87 .elementor-icon-box-title, body.jb-diseno.single-product .elementor-element-91abe87 .elementor-icon-box-title span {
  font: 500 11px/1.35 var(--jb-sans) !important; letter-spacing: .08em !important; text-transform: uppercase !important; color: var(--jb-texto) !important; margin: 0 !important;
}

/* Pirámide olfativa (0d6bf27): iconos de línea iguales, sin dos puntos */
body.jb-diseno.single-product .elementor-element-0d6bf27 { border-top: 1px solid var(--jb-linea-neutra); border-bottom: 1px solid var(--jb-linea-neutra); padding: 40px var(--jb-margen-lateral) !important; background: var(--jb-marfil); }
body.jb-diseno.single-product .elementor-element-0d6bf27 > .e-con-inner { max-width: 1100px !important; gap: 24px !important; }
body.jb-diseno.single-product .elementor-element-0d6bf27 .jb-ico-nota .elementor-icon { font-size: 30px; color: var(--jb-dorado-oscuro) !important; }
body.jb-diseno.single-product .elementor-element-0d6bf27 .jb-ico-nota svg { width: 30px; height: 30px; fill: none !important; stroke: currentColor; }
body.jb-diseno.single-product .elementor-element-0d6bf27 .title { font: 600 21px/1.2 var(--jb-serif) !important; color: var(--jb-texto) !important; margin: 0 !important; }
body.jb-diseno.single-product .elementor-element-0d6bf27 .title br { display: none; }
body.jb-diseno.single-product .elementor-element-0d6bf27 .elementor-shortcode { font: 400 14px/1.6 var(--jb-sans) !important; color: var(--jb-texto-suave) !important; }

/* Pestañas y descripción */
body.jb-diseno.single-product .elementor-element-d264bd2 { padding: 48px var(--jb-margen-lateral) !important; }
body.jb-diseno.single-product .elementor-element-b5615a5 .wd-nav-tabs { justify-content: center; gap: 32px; border-bottom: 1px solid var(--jb-linea-neutra); }
body.jb-diseno.single-product .elementor-element-b5615a5 .wd-nav-tabs .nav-link-text, body.jb-diseno.single-product .elementor-element-b5615a5 .wd-nav-tabs a {
  font: 500 var(--jb-fs-micro)/1 var(--jb-sans) !important; letter-spacing: var(--jb-tracking-versalita) !important; text-transform: uppercase !important; color: var(--jb-texto-suave) !important;
}
body.jb-diseno.single-product .elementor-element-b5615a5 .wd-nav-tabs li.active .nav-link-text, body.jb-diseno.single-product .elementor-element-b5615a5 .wd-nav-tabs li.active a { color: var(--jb-texto) !important; }
body.jb-diseno.single-product .elementor-element-b5615a5 .wd-nav-tabs li > a { padding: 18px 0 !important; }
body.jb-diseno.single-product .elementor-element-b5615a5 .wd-nav.wd-style-underline-reverse > li > a > .nav-link-text:after { top: auto !important; bottom: -1px; height: 1px !important; background: var(--jb-dorado) !important; }
body.jb-diseno.single-product .elementor-element-b5615a5 .wc-tab, body.jb-diseno.single-product .elementor-element-b5615a5 .woocommerce-Tabs-panel { max-width: 74ch; margin: 0 auto; padding-top: 28px !important; }
body.jb-diseno.single-product .elementor-element-b5615a5 .woocommerce-Tabs-panel p { font-size: 16px !important; line-height: 1.75 !important; color: var(--jb-texto-suave) !important; }

/* Relacionados: banda marfil (era negra), tarjetas con imagen sobre blanco */
body.jb-diseno.single-product .elementor-element-4bf29e8d { background: var(--jb-marfil) !important; padding: 64px var(--jb-margen-lateral) !important; }
body.jb-diseno.single-product .elementor-element-4bf29e8d .product-element-top { background: var(--jb-blanco) !important; }
body.jb-diseno.single-product .elementor-element-21d257c1 .title { font: 500 var(--jb-fs-h2)/1.1 var(--jb-serif) !important; color: var(--jb-texto) !important; text-transform: none !important; }
body.jb-diseno.single-product .elementor-element-21d257c1 .liner-continer { border-top: 0 !important; }
body.jb-diseno.single-product .elementor-element-21d257c1 .title { border-top: 0 !important; padding-top: 0 !important; margin: 0 0 8px !important; }

@media (max-width: 767px) {
  body.jb-diseno.single-product .elementor-element-ebbb55c { padding: 12px 16px 4px !important; }
  body.jb-diseno.single-product .elementor-element-2016540c { padding: 0 !important; gap: 20px !important; }
  body.jb-diseno.single-product .elementor-element-1771095b { padding: 0 16px !important; gap: 14px !important; --gap: 14px; --row-gap: 14px; }
  /* Móvil: precio y botones ANTES del resumen → «Añadir al carrito» entra en la primera pantalla */
  body.jb-diseno.single-product .elementor-element-5ae66038 { order: 1; }
  body.jb-diseno.single-product .elementor-element-b05660f { order: 2; padding-top: 8px !important; }
  body.jb-diseno.single-product .elementor-element-6e9f1cd, body.jb-diseno.single-product .elementor-element-3da13501 { order: 3; }
  body.jb-diseno.single-product .elementor-element-54373128 { margin-bottom: 0 !important; }
  body.jb-diseno.single-product .elementor-element-6bd1100d .price { margin-bottom: 14px !important; }
  body.jb-diseno.single-product .elementor-element-b05660f .woocommerce-product-details__short-description { max-height: calc(3 * 1.65em); }
  body.jb-diseno.single-product .elementor-element-6bd1100d .price ins, body.jb-diseno.single-product .elementor-element-6bd1100d .price ins .amount { font-size: 26px !important; }
  body.jb-diseno.single-product .elementor-element-942210 .single_add_to_cart_button { flex: 1 1 160px; }
  body.jb-diseno.single-product .elementor-element-91abe87 { grid-template-columns: 1fr 1fr; row-gap: 18px !important; }
  body.jb-diseno.single-product .elementor-element-0d6bf27 { padding: 28px 16px !important; }
  body.jb-diseno.single-product .elementor-element-0d6bf27 > .e-con-inner { flex-direction: column !important; gap: 0 !important; }
  body.jb-diseno.single-product .elementor-element-0d6bf27 > .e-con-inner > .e-con { display: grid !important; grid-template-columns: 40px 1fr; column-gap: 12px; align-items: start; padding: 14px 0 !important; border-bottom: 1px solid var(--jb-linea-neutra); width: 100% !important; }
  body.jb-diseno.single-product .elementor-element-0d6bf27 > .e-con-inner > .e-con:last-child { border-bottom: 0; }
  body.jb-diseno.single-product .elementor-element-0d6bf27 > .e-con-inner > .e-con > .elementor-element { grid-column: 2; margin: 0 !important; text-align: left !important; }
  body.jb-diseno.single-product .elementor-element-0d6bf27 > .e-con-inner > .e-con > .jb-ico-nota { grid-column: 1; grid-row: 1 / span 2; }
  body.jb-diseno.single-product .elementor-element-0d6bf27 .title-wrapper, body.jb-diseno.single-product .elementor-element-0d6bf27 .elementor-shortcode { text-align: left !important; }
  body.jb-diseno.single-product .elementor-element-0d6bf27 .title { font-size: 19px !important; }
  body.jb-diseno.single-product .elementor-element-d264bd2 { padding: 32px 16px !important; }
  body.jb-diseno.single-product .elementor-element-b5615a5 .wd-nav-tabs { gap: 20px; }
  body.jb-diseno.single-product .elementor-element-4bf29e8d { padding: 40px 16px !important; }
}

/* El CSS adicional actual fuerza `.elementor-element-91abe87.elementor-hidden-mobile{display:flex!important}`
   (regla «Yaxa 2026-08-17»): esta la sustituye. En producción, editar esa regla en vez de apilar otra. */
body.jb-diseno.single-product .main-page-wrapper .elementor-element.elementor-element-91abe87 { display: grid !important; }
body.jb-diseno.single-product .elementor-element-0d6bf27 > .e-con-inner > .e-con { border-radius: 0 !important; }
body.jb-diseno.single-product .elementor-element-0d6bf27 .title-wrapper { margin-bottom: 4px !important; }
body.jb-diseno.single-product .elementor-element-0d6bf27 .elementor-widget-shortcode { margin-top: 0 !important; }

/* Ficha móvil: «Ver descripción completa» (heading nuevo, parche) sigue al resumen; sin burbuja de WhatsApp */
@media (max-width: 767px) {
  body.jb-diseno.single-product .elementor-element-1771095b > .jb-leer-mas { order: 2; margin-top: -6px !important; }
  body.jb-diseno.single-product .joinchat__tooltip { display: none !important; }
}
