/*
Theme Name:   Jamones Pepiño (Divi 5 child)
Theme URI:    https://www.jamondesalamanca.com
Description:  Tema hijo de Divi 5 para jamondesalamanca.com (Jamones Pepiño). Unificación de la web corporativa y la tienda WooCommerce en una sola instalación, con el rediseño 2026 (limpio y moderno).
Author:       Presencia en internet
Author URI:   https://presenciaeninternet.com
Template:     Divi
Version:      2.0.0
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.1
License:      GNU General Public License v2 or later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  jamondesalamanca-child
*/

/* ===========================================================================
   Jamones Pepiño — tema hijo (Presencia en internet). Rediseño 2026.
   Lienzo blanco, mucho aire, tipografía grande; el granate del logo solo en lo que se pulsa.
   Tipografías: Bricolage Grotesque (titulares) + Manrope (texto), cargadas por functions.php.
   =========================================================================== */

:root {
	--jp-top-alto: 46px;
	--jp-cab-alto: 90px;
	--jp-marca: #a30004;
	--jp-marca-osc: #7a0003;
	--jp-marca-suave: #fbeeee;
	--jp-tinta: #1b1817;
	--jp-gris: #6c625d;
	--jp-gris-claro: #a39a95;
	--jp-papel: #ffffff;
	--jp-hueso: #f6f2ee;
	--jp-linea: #e9e2dc;
	--jp-verde: #2d6a3e;
	--jp-negro: #0f0e0e;
	--jp-display: "Bricolage Grotesque", "Manrope", system-ui, sans-serif;
	--jp-texto: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
	--jp-radio: 22px;
	--jp-ancho: 1240px;
	/* compatibilidad con reglas antiguas */
	--jp-color-marca: #a30004;
	--jp-color-marca-oscuro: #7a0003;
	--jp-color-logo: #e2231a;
	--jp-color-precio: #1b1817;
	--jp-color-texto: #1b1817;
	--jp-color-texto-suave: #6c625d;
	--jp-color-borde: #e9e2dc;
	--jp-fuente-texto: "Manrope", system-ui, sans-serif;
	--jp-fuente-titulos: "Bricolage Grotesque", "Manrope", system-ui, sans-serif;
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body, #et-boc .et-l p, .et_pb_text p, .et_pb_text li, .et_pb_code, .woocommerce, input, textarea, select, button {
	font-family: var(--jp-texto);
	color: var(--jp-tinta);
}
body { font-size: 16px; line-height: 1.6; background: var(--jp-papel); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6,
.et_pb_module h1, .et_pb_module h2, .et_pb_module h3, .et_pb_module h4, .et_pb_text h1, .et_pb_text h2, .et_pb_text h3 {
	font-family: var(--jp-display); color: var(--jp-tinta); font-weight: 700; line-height: 1.08; letter-spacing: -.01em; text-wrap: balance; padding: 0;
}
a { color: var(--jp-marca); }
a:hover { color: var(--jp-marca-osc); }
#et-boc .et-l .et_pb_text p:last-child, #et-boc .et-l .et_pb_text ul:last-child { padding-bottom: 0; }
.jp-eyebrow, #et-boc .et-l p.jp-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--jp-marca); margin: 0; padding-bottom: 10px; line-height: 1.4; }
.jp-precio { font-family: var(--jp-display); font-weight: 700; font-variant-numeric: tabular-nums; }
.jp-precio s { color: var(--jp-gris-claro); font-weight: 500; margin-left: 6px; font-size: .85em; white-space: nowrap; }

/* Botones de la marca (HTML en módulos de código) y módulos Botón de Divi */
.jp-btn, .jp-btn-mod .et_pb_button, .et_pb_button.jp-btn-mod {
	display: inline-flex; align-items: center; gap: 10px; padding: 16px 26px !important; border-radius: 999px !important; font-family: var(--jp-texto) !important;
	font-weight: 700 !important; font-size: 15px !important; line-height: 1.2 !important; border: 2px solid transparent !important; text-decoration: none;
	transition: transform .15s ease, background .15s ease, color .15s ease; cursor: pointer;
}
.jp-btn:hover, .jp-btn-mod .et_pb_button:hover, .et_pb_button.jp-btn-mod:hover { transform: translateY(-1px); }
.jp-btn-mod .et_pb_button:after, .jp-btn-mod .et_pb_button:hover:after, .et_pb_button.jp-btn-mod:after, .et_pb_button.jp-btn-mod:hover:after { display: none !important; }
.jp-btn-mod .et_pb_button:hover, .et_pb_button.jp-btn-mod:hover { padding: 16px 26px !important; }
.et_pb_button.jp-btn-mod, .et_pb_button.jp-btn-mod:hover { background: var(--jp-marca) !important; color: #fff !important; }
.jp-btn svg { width: 18px; height: 18px; }
.jp-btn-marca { background: var(--jp-marca) !important; color: #fff !important; }
.jp-btn-marca:hover { background: var(--jp-marca-osc) !important; color: #fff !important; }
.jp-btn-linea, .jp-btn-mod-linea .et_pb_button, .et_pb_button.jp-btn-mod-linea { border-color: var(--jp-tinta) !important; color: var(--jp-tinta) !important; background: transparent !important; }
.jp-btn-linea:hover, .jp-btn-mod-linea .et_pb_button:hover, .et_pb_button.jp-btn-mod-linea:hover { background: var(--jp-tinta) !important; color: #fff !important; }
.jp-btn-blanca, .jp-btn-mod-blanca .et_pb_button, .et_pb_button.jp-btn-mod-blanca { background: #fff !important; color: var(--jp-tinta) !important; }
.jp-btn-blanca:hover, .jp-btn-mod-blanca .et_pb_button:hover, .et_pb_button.jp-btn-mod-blanca:hover { background: #f1ebe5 !important; color: var(--jp-tinta) !important; }

/* Contenedor y secciones del rediseño */
.jp-home .et_pb_row, .jp-top .et_pb_row, .jp-cab .et_pb_row, .jp-pie .et_pb_row { width: 100% !important; max-width: var(--jp-ancho) !important; padding-left: 24px; padding-right: 24px; }
.et-l--post .et_pb_section.jp-sec, body .et-l--post .et_pb_section.jp-sec { padding-top: 88px !important; padding-bottom: 88px !important; }
.et-l--post .et_pb_section.jp-sec + .et_pb_section.jp-sec { padding-top: 88px !important; }
.jp-home .et_pb_row { padding-top: 0 !important; padding-bottom: 0 !important; }
.jp-sec-cab { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 40px; flex-wrap: wrap; }
.jp-sec-cab h2 { font-size: clamp(30px, 3.6vw, 44px); margin: 0; }
.jp-sec-cab .jp-eyebrow { display: block; }
.jp-sec-cab .jp-ver { font-weight: 700; color: var(--jp-marca); border-bottom: 2px solid var(--jp-marca); padding-bottom: 2px; text-decoration: none; white-space: nowrap; }

/* ===========================================================================
   CABECERA (Theme Builder, layout 20318)
   =========================================================================== */
/* Barra superior corporativa */
.jp-top { font-size: 13px; }
.jp-top .et_pb_row { padding-top: 0 !important; padding-bottom: 0 !important; flex-wrap: nowrap !important; }
.jp-top .jp-top-izq { flex: 1 1 auto !important; width: auto !important; }
.jp-top .jp-top-der { flex: 0 0 auto !important; width: auto !important; }
.jp-top .et_pb_column { display: flex; flex-direction: row; align-items: center; min-height: var(--jp-top-alto); }
.jp-top .et_pb_menu__menu > nav > ul > li { margin: 0 !important; padding: 0 !important; line-height: 1; }
.jp-top .et_pb_menu__menu, .jp-top .et_pb_menu__wrap, .jp-top .et_pb_menu_inner_container { padding: 0 !important; margin: 0 !important; }
.jp-top .et_pb_module { margin-bottom: 0 !important; }
.jp-top .et_pb_menu, .jp-top .et_pb_menu__wrap, .jp-top .et_pb_menu .et_pb_menu_inner_container { background: transparent !important; }
.jp-top .et_pb_menu__menu > nav > ul { margin: 0; display: flex; gap: 0; }
.jp-top .et_pb_menu__menu > nav > ul > li > a { color: #fff !important; opacity: .85; font-family: var(--jp-texto) !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: 0; text-transform: none; display: inline-flex; align-items: center; height: var(--jp-top-alto); line-height: 1 !important; padding: 0 22px 0 0 !important; }
.jp-top .et_pb_menu__menu > nav > ul > li > a:hover { opacity: 1; text-decoration: underline; text-underline-offset: 4px; }
.jp-top .et_pb_menu__menu > nav > ul > li.current-menu-item > a { opacity: 1; }
.jp-top .et_mobile_nav_menu { display: none !important; }
.jp-top .et_pb_menu__menu { display: block !important; }
.jp-top-der .et_pb_code_inner { width: 100%; }
.jp-top-dcha { display: flex; justify-content: flex-end; align-items: center; gap: 20px; color: #fff; }
.jp-top-dcha > a { color: #fff; text-decoration: none; font-family: var(--jp-texto); font-size: 13px; font-weight: 600; line-height: 1; display: inline-flex; align-items: center; gap: 6px; }
.jp-top-dcha > a svg { width: 15px; height: 15px; }
.jp-top-cuenta svg { width: 17px !important; height: 17px !important; }
.jp-top-redes { display: flex; gap: 4px; margin-left: 4px; padding-left: 16px; border-left: 1px solid rgba(255, 255, 255, .25); }
.jp-top-redes a { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; color: #fff; }
.jp-top-redes a:hover { background: rgba(255, 255, 255, .15); }
.jp-top-redes svg { width: 15px; height: 15px; fill: #fff; }

/* Cabecera principal: pegajosa, logo + menú de categorías + acciones */
header.et-l--header { position: sticky; top: calc(-1 * var(--jp-top-alto)); z-index: 90; }
body.admin-bar header.et-l--header { top: calc(32px - var(--jp-top-alto)); }
.jp-cab { position: relative; background: rgba(255, 255, 255, .96) !important; backdrop-filter: saturate(180%) blur(10px); border-bottom: 0; }
.jp-cab .et_pb_row { padding-top: 10px !important; padding-bottom: 10px !important; align-items: center; min-height: 70px; flex-wrap: nowrap !important; gap: 16px; }
.jp-cab .jp-cab-logo { width: auto !important; flex: 0 0 auto !important; }
.jp-cab .jp-cab-nav { width: auto !important; flex: 1 1 auto !important; min-width: 0; }
.jp-cab .jp-cab-acc { width: auto !important; flex: 0 0 auto !important; }
.jp-cab .et_pb_column { display: flex; flex-direction: row; align-items: center; }
.jp-cab .jp-cab-nav { justify-content: center; }
.jp-cab .et_pb_module { margin-bottom: 0 !important; }
.jp-cab .et_pb_menu, .jp-cab .et_pb_menu__wrap, .jp-cab .et_pb_menu .et_pb_menu_inner_container { background: transparent !important; }
.jp-logo .et_pb_image_wrap img { height: 70px; width: auto; max-width: none; display: block; } /* 70 px de alto + 10 px de aire arriba y abajo = barra de 90 px (--jp-cab-alto) */
.jp-logo { width: auto; }
/* Menú de categorías con desplegables */
.jp-nav .et_pb_menu__wrap { justify-content: center; flex-wrap: nowrap; }
.jp-nav .et_pb_menu__menu > nav > ul { margin: 0; display: flex; flex-wrap: nowrap; gap: 0; }
.jp-nav .et_pb_menu__menu > nav > ul > li { position: relative; margin: 0; padding: 0; }
.jp-nav .et_pb_menu__menu > nav > ul > li > a {
	display: inline-flex; align-items: center; padding: 20px 10px !important; font-family: var(--jp-texto); font-size: 14.5px; font-weight: 600; color: var(--jp-tinta) !important; /* 20 px: el alto de la barra (84) lo marca el logo (60 + 12 + 12) */
	border-bottom: 2px solid transparent; opacity: 1 !important; white-space: nowrap; text-transform: none;
}
.jp-nav .et_pb_menu__menu > nav > ul > li:hover > a, .jp-nav .et_pb_menu__menu > nav > ul > li.current-menu-ancestor > a, .jp-nav .et_pb_menu__menu > nav > ul > li.current-menu-item > a { color: var(--jp-marca) !important; border-color: var(--jp-marca); }
.jp-nav .et_pb_menu__menu > nav > ul > li.jp-oferta > a { color: var(--jp-marca) !important; }
.jp-nav .et_pb_menu__menu > nav > ul > li.menu-item-has-children > a:after { display: none; }
.jp-nav .et_pb_menu__menu > nav > ul > li > ul.sub-menu {
	/* Panel blanco colgado de la barra: sin el borde rojo del personalizador (.et-db #et-boc .et-l .nav li ul { border-color }) */
	position: absolute; left: 0; top: 100%; min-width: 300px; background: #fff; border: 1px solid var(--jp-linea) !important; border-top: 0 !important; border-radius: 0 0 14px 14px;
	box-shadow: 0 22px 50px rgba(27, 24, 23, .16); padding: 12px; margin: 0; opacity: 0; visibility: hidden; transform: translateY(8px);
	transition: opacity .18s ease, transform .18s ease, visibility .18s; z-index: 95;
}
.jp-nav .et_pb_menu__menu > nav > ul > li:hover > ul.sub-menu, .jp-nav .et_pb_menu__menu > nav > ul > li:focus-within > ul.sub-menu { opacity: 1; visibility: visible; transform: none; }
.jp-nav .et_pb_menu__menu > nav > ul > li > ul.sub-menu li { margin: 0; padding: 0; width: 100%; }
.jp-nav .et_pb_menu__menu > nav > ul > li > ul.sub-menu li a { display: block; width: auto; padding: 10px 12px !important; border-radius: 8px; font-family: var(--jp-texto); font-size: 14px; font-weight: 600; color: var(--jp-tinta) !important; line-height: 1.3; text-transform: none; opacity: 1 !important; white-space: nowrap; }
.jp-nav .et_pb_menu__menu > nav > ul > li > ul.sub-menu li a:hover { background: var(--jp-hueso); color: var(--jp-marca) !important; }
/* Acciones: buscar, cuenta (icono), cesta */
.jp-cab-acc { justify-content: flex-end; }
.jp-acciones .et_pb_menu__wrap { justify-content: flex-end; align-items: center; gap: 2px; flex-wrap: nowrap; }
.jp-acciones .et_pb_menu__menu { display: block !important; order: 1; }
.jp-acciones .et_mobile_nav_menu { display: none !important; }
.jp-acciones .et_pb_menu__menu > nav > ul { margin: 0; display: flex; }
.jp-acciones .et_pb_menu__menu > nav > ul > li { margin: 0; padding: 0; display: none; }
.jp-acciones .et_pb_menu__menu > nav > ul > li > a {
	display: block; width: 44px; height: 44px; border-radius: 50%; padding: 0 !important; font-size: 0 !important; color: transparent !important; opacity: 1 !important;
	background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231b1817' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='8' r='4'/><path d='M4 21a8 8 0 0 1 16 0'/></svg>") center / 22px no-repeat;
}
.jp-acciones .et_pb_menu__menu > nav > ul > li > a:hover { background-color: var(--jp-hueso); }
.jp-acciones .et_pb_menu__icon { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; margin: 0; }
.jp-acciones .et_pb_menu__icon:hover { background: var(--jp-hueso); }
/* Botón "Buscar" (lo inyecta inc/buscador.php; sustituye a la lupa de Divi, desactivada en el módulo) */
.jp-acciones .jp-buscar-abrir, .jp-acciones .et_pb_menu__search-button { order: 0; }
.jp-acciones .jp-buscar-abrir {
	display: inline-flex; align-items: center; gap: 8px; height: 44px; margin: 0 4px 0 0; padding: 0 18px 0 14px; border: 1px solid var(--jp-linea); border-radius: 999px;
	background: var(--jp-hueso); color: var(--jp-tinta); font-family: var(--jp-texto); font-size: 14px; font-weight: 700; line-height: 1; white-space: nowrap; cursor: pointer;
	transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.jp-acciones .jp-buscar-abrir svg { width: 18px; height: 18px; flex: 0 0 auto; }
.jp-acciones .jp-buscar-abrir:hover, .jp-acciones .jp-buscar-abrir[aria-expanded="true"] { background: #fff; border-color: var(--jp-tinta); }
.jp-acciones .jp-buscar-abrir:focus-visible { outline: 2px solid var(--jp-marca); outline-offset: 2px; }
.jp-acciones .et_pb_menu__search-button:before { color: var(--jp-tinta); font-size: 20px; }
.jp-acciones .et_pb_menu__cart-button { order: 2; width: auto; height: auto; margin-left: 6px; background: var(--jp-marca); color: #fff !important; padding: 11px 18px 11px 14px; border-radius: 999px; font-family: var(--jp-texto); font-weight: 700; font-size: 14px; display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.jp-acciones .et_pb_menu__cart-button:hover { background: var(--jp-marca-osc); }
.jp-acciones .et_pb_menu__cart-button:before { color: #fff; font-size: 18px; }
.jp-acciones .et_pb_menu__cart-count, .jp-acciones .et_pb_menu__cart-button > span { font-family: var(--jp-texto); font-size: 14px; font-weight: 700; color: #fff; }
.jp-acciones .et_pb_menu__search-container { z-index: 99; }
.jp-acciones .et_pb_menu__search-container input { font-family: var(--jp-texto); }

@media (max-width: 1290px) {
	.jp-nav .et_pb_menu__menu > nav > ul > li > a { padding: 31px 7px !important; font-size: 13.5px; }
}
/* Tablet y móvil (< 981 px, Divi pasa a hamburguesa) */
@media (max-width: 980px) {
	.jp-top .jp-top-izq { display: none !important; }
	.jp-top .et_pb_row { flex-wrap: nowrap !important; }
	.jp-top .jp-top-der { width: 100% !important; flex: 1 1 100% !important; }
	.jp-top-dcha { justify-content: center; }
	.jp-top-dcha > a.jp-top-cuenta span { display: none; }
	.jp-top-dcha > a.jp-top-cuenta svg { width: 19px !important; height: 19px !important; }
	.jp-cab .et_pb_row { flex-wrap: nowrap !important; min-height: 72px; gap: 8px; }
	.jp-cab .jp-cab-logo { width: auto !important; flex: 0 0 auto !important; }
	.jp-cab .jp-cab-nav { width: auto !important; flex: 1 1 auto !important; justify-content: flex-end; }
	.jp-cab .jp-cab-acc { width: auto !important; flex: 0 0 auto !important; }
	:root { --jp-top-alto: 40px; --jp-cab-alto: 72px; }
	.jp-logo .et_pb_image_wrap img { height: 56px; width: auto; }
	.jp-cab .et_pb_row { padding-top: 8px !important; padding-bottom: 8px !important; min-height: 56px; }
	.jp-nav .et_pb_menu__wrap { justify-content: flex-end; }
	/* El menú móvil se posiciona respecto a la cabecera completa, no al módulo */
	.jp-cab .et_pb_row, .jp-cab .et_pb_column, .jp-nav.et_pb_menu, .jp-nav .et_pb_menu_inner_container, .jp-nav .et_pb_menu__wrap, .jp-nav .et_mobile_nav_menu { position: static !important; }
	.jp-nav .et_mobile_menu { position: absolute !important; left: 0 !important; right: 0 !important; top: 100% !important; width: 100% !important; z-index: 9999; }
	.jp-nav .et_mobile_nav_menu { display: flex !important; }
	.jp-nav .et_mobile_nav_menu .mobile_menu_bar { padding: 0; width: 44px; height: 44px; display: grid; place-items: center; }
	.jp-nav .et_mobile_nav_menu .mobile_menu_bar:before { color: var(--jp-tinta) !important; font-size: 30px; }
	.jp-nav .et_mobile_menu { background: #fff; border-top: 1px solid var(--jp-linea) !important; box-shadow: 0 22px 50px rgba(27, 24, 23, .16); padding: 8px 20px 20px; max-height: calc(100vh - 120px); overflow: auto; }
	.jp-nav .et_mobile_menu li a { font-family: var(--jp-texto); font-size: 16px; font-weight: 700; color: var(--jp-tinta) !important; border-color: var(--jp-linea); padding: 14px 0; }
	.jp-nav .et_mobile_menu li li a { font-weight: 500; font-size: 15px; color: var(--jp-gris) !important; padding: 10px 0 10px 14px; }
	.jp-nav .et_mobile_menu li a:hover { background: transparent; opacity: 1; color: var(--jp-marca) !important; }
	.jp-nav .et_mobile_menu li.jp-oferta > a { color: var(--jp-marca) !important; }
	.jp-acciones .et_pb_menu__menu { display: none !important; }
	.jp-acciones .et_pb_menu__cart-button { padding: 11px 13px; }
	.jp-acciones .et_pb_menu__cart-button > span, .jp-acciones .et_pb_menu__cart-count { display: none; }
}
@media (max-width: 480px) {
	.jp-cab .et_pb_row, .jp-top .et_pb_row, .jp-home .et_pb_row, .jp-pie .et_pb_row { padding-left: 16px; padding-right: 16px; }
	.jp-cab .et_pb_row { gap: 6px; }
	.jp-acciones .jp-buscar-abrir { padding: 0 14px 0 12px; gap: 6px; font-size: 13px; }
}
@media (max-width: 360px) {
	.jp-acciones .jp-buscar-abrir { width: 44px; padding: 0; justify-content: center; }
	.jp-acciones .jp-buscar-abrir span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
}

/* ===========================================================================
   BUSCADOR DE LA CABECERA (inc/buscador.php): panel #jp-buscador con el ámbito de la búsqueda
   =========================================================================== */
body.jp-buscador-abierto { overflow: hidden; }
.jp-buscador { position: fixed; inset: 0; z-index: 100001; display: flex; align-items: flex-start; justify-content: center; }
.jp-buscador[hidden] { display: none; }
.jp-buscador-fondo { position: absolute; inset: 0; background: rgba(27, 24, 23, .55); backdrop-filter: blur(3px); opacity: 0; transition: opacity .2s ease; }
.jp-buscador-panel { position: relative; width: 100%; max-height: 100dvh; overflow: auto; background: #fff; box-shadow: 0 30px 80px rgba(0, 0, 0, .25); opacity: 0; transform: translateY(-14px); transition: opacity .2s ease, transform .2s ease; }
.jp-buscador--visible .jp-buscador-fondo { opacity: 1; }
.jp-buscador--visible .jp-buscador-panel { opacity: 1; transform: none; }
.jp-buscador-int { width: 100%; max-width: 880px; margin: 0 auto; padding: 34px 24px 40px; font-family: var(--jp-texto); }
.jp-buscador-cab { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 20px; }
.jp-buscador-cab h2 { font-family: var(--jp-display); font-size: 30px; line-height: 1.1; letter-spacing: -.01em; color: var(--jp-tinta); margin: 0; padding: 0; }
.jp-buscador-cerrar { width: 44px; height: 44px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid var(--jp-linea); border-radius: 50%; background: #fff; color: var(--jp-tinta); font-size: 28px; line-height: 1; cursor: pointer; padding: 0; }
.jp-buscador-cerrar:hover { border-color: var(--jp-tinta); }
.jp-buscador-ambito { border: 0; margin: 0 0 14px; padding: 0; min-width: 0; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.jp-buscador-ambito legend { float: left; padding: 0; margin: 0 6px 0 0; font-size: 14px; font-weight: 600; color: var(--jp-gris); }
.jp-buscador-opcion { position: relative; display: inline-flex; align-items: center; height: 40px; padding: 0 18px; border: 1px solid var(--jp-linea); border-radius: 999px; background: #fff; font-size: 14px; font-weight: 700; color: var(--jp-tinta); cursor: pointer; transition: background .15s ease, border-color .15s ease, color .15s ease; }
.jp-buscador-opcion input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
.jp-buscador-opcion:hover { border-color: var(--jp-tinta); }
.jp-buscador-opcion:has(input:checked) { background: var(--jp-tinta); border-color: var(--jp-tinta); color: #fff; }
.jp-buscador-opcion:has(input:focus-visible) { outline: 2px solid var(--jp-marca); outline-offset: 2px; }
.jp-buscador-campo { display: flex; align-items: center; gap: 10px; padding: 6px 6px 6px 20px; border: 2px solid var(--jp-tinta); border-radius: 999px; background: #fff; transition: box-shadow .15s ease, border-color .15s ease; }
.jp-buscador-campo:focus-within { box-shadow: 0 0 0 4px rgba(27, 24, 23, .08); }
.jp-buscador-campo > svg { width: 22px; height: 22px; flex: 0 0 auto; color: var(--jp-gris); }
.jp-buscador-campo input[type="search"] { flex: 1 1 auto; min-width: 0; width: auto; margin: 0; padding: 10px 0 !important; border: 0 !important; border-radius: 0; background: transparent !important; box-shadow: none !important; outline: none !important; font-family: var(--jp-texto); font-size: 20px; font-weight: 500; line-height: 1.3; color: var(--jp-tinta); -webkit-appearance: none; appearance: none; }
.jp-buscador-campo input[type="search"]::placeholder { color: var(--jp-gris-claro); opacity: 1; }
.jp-buscador-campo input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }
.jp-buscador-ir { display: inline-flex; align-items: center; gap: 8px; height: 48px; flex: 0 0 auto; padding: 0 24px; border: 0; border-radius: 999px; background: var(--jp-marca); color: #fff; font-family: var(--jp-texto); font-size: 15px; font-weight: 700; line-height: 1; cursor: pointer; transition: background .15s ease; }
.jp-buscador-ir svg { display: none; width: 20px; height: 20px; }
.jp-buscador-ir:hover { background: var(--jp-marca-osc); }
.jp-buscador-ayuda { margin: 10px 0 0 22px; padding: 0; font-size: 13px; color: var(--jp-gris); }
.jp-buscador-sug { margin-top: 22px; }
.jp-buscador-sug[hidden] { display: none; }
.jp-buscador-sug-t { margin: 18px 0 10px; padding: 0; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--jp-gris); }
ul.jp-buscador-chips { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 8px; line-height: 1.3; }
ul.jp-buscador-chips li { margin: 0 !important; padding: 0 !important; }
ul.jp-buscador-chips a { display: inline-flex; align-items: center; padding: 8px 14px; border: 1px solid var(--jp-linea); border-radius: 999px; background: #fff; font-size: 14px; font-weight: 600; color: var(--jp-tinta); text-decoration: none; transition: border-color .15s ease, color .15s ease; }
ul.jp-buscador-chips a:hover { border-color: var(--jp-tinta); color: var(--jp-marca); }
@media (max-width: 600px) {
	.jp-buscador-int { padding: 20px 16px 30px; }
	.jp-buscador-cab { margin-bottom: 14px; }
	.jp-buscador-cab h2 { font-size: 24px; }
	.jp-buscador-ambito legend { flex-basis: 100%; float: none; margin: 0 0 2px; }
	.jp-buscador-opcion { height: 38px; padding: 0 14px; font-size: 13.5px; }
	.jp-buscador-campo { padding: 5px 5px 5px 14px; gap: 8px; }
	.jp-buscador-campo > svg { width: 20px; height: 20px; }
	.jp-buscador-campo input[type="search"] { font-size: 17px; }
	.jp-buscador-ir { width: 46px; height: 46px; padding: 0; justify-content: center; }
	.jp-buscador-ir svg { display: block; }
	.jp-buscador-ir span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.jp-buscador-ayuda { margin-left: 16px; }
}

/* Páginas de resultados: "Buscar «x» también en: Recetas · Blog", resultados del blog (busqueda-blog.php) */
.jp-buscar-otros { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 4px 0 0; padding: 0; font-size: 14px; color: var(--jp-gris); }
.jp-buscar-otros span { margin-right: 2px; }
.jp-archivo-cabecera .jp-buscar-otros { margin-bottom: 8px; }
.jp-busqueda-wrap { width: 100%; max-width: var(--jp-ancho); margin: 0 auto; padding: 22px 24px 90px; }
.jp-busqueda .jp-blog-cabecera { margin-bottom: 12px; }
.jp-busqueda-resumen { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 24px; margin: 0 0 32px; }
.jp-busqueda-n { margin: 0; padding: 0; font-size: 15px; font-weight: 600; color: var(--jp-tinta); }
.jp-busqueda-grid .jp-post-card-titulo { font-size: 20px; }
.jp-post-card-extracto { margin: 8px 0 0; padding: 0; font-size: 14.5px; line-height: 1.55; color: var(--jp-gris); }
.jp-post-card-img--vacia { background: var(--jp-hueso); border: 1px solid var(--jp-linea); }
.jp-busqueda-vacio p { font-size: 17px; color: var(--jp-gris); padding: 0; }
.jp-busqueda-vacio a { color: var(--jp-marca); text-decoration: underline; text-underline-offset: 3px; }
.jp-paginacion { margin-top: 48px; }
.jp-paginacion .nav-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; }
.jp-paginacion .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 16px; border: 1px solid var(--jp-linea); border-radius: 999px; font-family: var(--jp-texto); font-weight: 700; font-size: 14px; color: var(--jp-tinta); text-decoration: none; }
.jp-paginacion .page-numbers:hover, .jp-paginacion .page-numbers.current { background: var(--jp-tinta); border-color: var(--jp-tinta); color: #fff; }
.jp-paginacion .page-numbers.dots { border: 0; }
.jp-paginacion .page-numbers.dots:hover { background: transparent; color: var(--jp-tinta); }
.jp-paginacion .screen-reader-text { position: absolute; clip: rect(1px, 1px, 1px, 1px); width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 600px) {
	.jp-busqueda-wrap { padding: 16px 16px 64px; }
}

/* ===========================================================================
   PIE (Theme Builder, layout 20319)
   =========================================================================== */
.jp-pie { font-size: 14px; border-top: 1px solid var(--jp-linea); }
.jp-pie .et_pb_text, .jp-pie .et_pb_text p { color: var(--jp-gris); font-size: 14px; }
.jp-pie .et_pb_module { margin-bottom: 0 !important; }
.jp-pie h4 { font-family: var(--jp-display); font-size: 16px; margin: 0 0 14px; font-weight: 700; color: var(--jp-tinta); }
.jp-pie .jp-pie-lista ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.jp-pie .jp-pie-lista li { font-size: 14px; line-height: 1.5; padding: 0; }
.jp-pie a { color: var(--jp-gris); text-decoration: none; }
.jp-pie a:hover { color: var(--jp-marca); }
.jp-pie-marca .jp-pie-logo img { height: 54px; width: auto; }
.jp-pie-marca p { max-width: 30em; }
.jp-pie-marca .jp-pie-contacto, .jp-pie-marca .jp-pie-contacto a { color: var(--jp-tinta); font-weight: 600; line-height: 1.7; }
.jp-pie-bajo { border-top: 1px solid var(--jp-linea); align-items: center; }
.jp-pie-bajo .et_pb_column { display: flex; align-items: center; }
.jp-pie-copy p { font-size: 13px; }
.jp-pagos { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; justify-content: center; }
.jp-pagos span { border: 1px solid var(--jp-linea); background: #fff; border-radius: 6px; padding: 4px 7px; display: inline-flex; align-items: center; height: 30px; }
.jp-pagos img { height: 18px; width: auto; display: block; }
.jp-pagos em { font-style: normal; font-size: 12px; color: var(--jp-gris); margin-left: 6px; }
.jp-redes { display: flex; gap: 10px; justify-content: flex-end; width: 100%; }
.jp-redes a { width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--jp-linea); background: #fff; display: grid; place-items: center; }
.jp-redes a:hover { border-color: var(--jp-marca); }
.jp-redes svg { width: 17px; height: 17px; fill: var(--jp-tinta); }
@media (max-width: 980px) {
	.jp-pie .jp-pie-cols, .jp-pie .jp-pie-bajo { flex-wrap: wrap !important; row-gap: 28px; }
	.jp-pie .jp-pie-cols > .et_pb_column { width: 50% !important; flex: 0 0 calc(50% - 10px) !important; }
	.jp-pie .jp-pie-bajo > .et_pb_column { width: 100% !important; flex: 0 0 100% !important; justify-content: center; text-align: center; }
	.jp-redes { justify-content: center; }
}
@media (max-width: 600px) {
	.jp-pie .jp-pie-cols > .et_pb_column { width: 100% !important; flex: 0 0 100% !important; }
}

/* ===========================================================================
   PORTADA (página 20208)
   =========================================================================== */
/* Hero */
.et-l--post .et_pb_section.jp-hero, body .et-l--post .et_pb_section.jp-hero { padding-top: 56px !important; padding-bottom: 72px !important; }
.jp-hero .et_pb_row { align-items: center; gap: 56px; }
.jp-hero-txt h1 { font-size: clamp(38px, 4.9vw, 64px); font-weight: 800; margin: 0; padding-bottom: 22px; }
.jp-hero-txt h1 em { font-style: normal; color: var(--jp-marca); }
.jp-hero-txt .jp-lead, #et-boc .et-l .jp-hero-txt p.jp-lead { font-size: 19px; color: var(--jp-gris); max-width: 34em; padding-bottom: 0; line-height: 1.6; }
.jp-hero-col-txt .et_pb_text { margin-bottom: 32px !important; }
.jp-ctas { display: flex; gap: 14px; flex-wrap: wrap; }
.jp-fiable { display: flex; gap: 26px; flex-wrap: wrap; margin-top: 34px; padding-top: 26px; border-top: 1px solid var(--jp-linea); font-size: 14px; color: var(--jp-gris); }
.jp-fiable span { display: flex; align-items: center; gap: 8px; }
.jp-fiable svg { width: 18px; height: 18px; color: var(--jp-verde); }
.jp-hero-col-foto { position: relative; }
.jp-hero-foto { width: 100%; }
.jp-hero-foto .et_pb_image_wrap { display: block; width: 100%; border-radius: var(--jp-radio); overflow: hidden; }
.jp-hero-foto .et_pb_image_wrap img { width: 100%; aspect-ratio: 5 / 4; object-fit: cover; object-position: 50% 40%; }
.jp-hero-col-foto .et_pb_code { margin-bottom: 0 !important; }
.jp-tarjeta-flotante { position: absolute; left: 24px; bottom: 24px; background: #fff; border-radius: 16px; padding: 14px 18px; display: flex; gap: 14px; align-items: center; box-shadow: 0 18px 40px rgba(27, 24, 23, .22); max-width: calc(100% - 48px); text-decoration: none; color: var(--jp-tinta); z-index: 2; }
.jp-tarjeta-flotante img { width: 64px; height: 64px; border-radius: 10px; object-fit: cover; }
.jp-tarjeta-flotante b { display: block; font-size: 14px; line-height: 1.3; }
.jp-tarjeta-flotante small { display: block; color: var(--jp-gris); font-size: 12px; }
.jp-tarjeta-flotante .jp-precio { display: block; font-size: 16px; }

/* Categorías */
.jp-cats { display: grid; grid-template-columns: repeat(6, 1fr); gap: 18px; }
.jp-cat { position: relative; border-radius: 18px; overflow: hidden; aspect-ratio: 4 / 5; background: var(--jp-hueso); display: block; text-decoration: none; }
.jp-cat img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; transform: scale(1.32); transform-origin: 50% 100%; display: block; }
.jp-cat:hover img { transform: scale(1.4); }
.jp-cat .jp-cat-txt { position: absolute; left: 0; right: 0; bottom: 0; padding: 18px 16px; background: linear-gradient(to top, rgba(15, 14, 14, .82), rgba(15, 14, 14, 0)); color: #fff; }
.jp-cat b { display: block; font-family: var(--jp-display); font-size: 20px; font-weight: 700; }
.jp-cat small { font-size: 12px; opacity: .85; }

/* Tarjetas de producto (módulo Tienda de Divi y listados de WooCommerce) */
.jp-prods ul.products, .jp-listado ul.products { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 22px; margin: 0; }
.jp-prods ul.products::before, .jp-prods ul.products::after, .jp-listado ul.products::before, .jp-listado ul.products::after, .cross-sells ul.products::before, .up-sells ul.products::before, .cross-sells ul.products::after, .up-sells ul.products::after { display: none !important; content: none !important; }
.jp-prods ul.products li.product, .jp-listado ul.products li.product, .et_pb_shop.jp-prods ul.products li.product:nth-child(n), .et_pb_shop.jp-listado ul.products li.product:nth-child(n), .woocommerce-page .jp-listado ul.products li.product:nth-child(n), .cross-sells ul.products li.product, .up-sells ul.products li.product { width: auto !important; margin: 0 !important; background: #fff; border-radius: 18px; overflow: hidden; border: 1px solid var(--jp-linea); display: flex; flex-direction: column; transition: box-shadow .2s ease, transform .2s ease; position: relative; }
.jp-prods ul.products li.product:hover, .jp-listado ul.products li.product:hover, .cross-sells ul.products li.product:hover, .up-sells ul.products li.product:hover { box-shadow: 0 16px 36px rgba(27, 24, 23, .12); transform: translateY(-2px); }
.jp-prods ul.products li.product .et_shop_image, .jp-listado ul.products li.product .et_shop_image, .jp-listado ul.products li.product .attachment-woocommerce_thumbnail, .cross-sells ul.products li.product .et_shop_image, .up-sells ul.products li.product .et_shop_image { display: block; background: #111; aspect-ratio: 1; overflow: hidden; }
.jp-prods ul.products li.product .et_shop_image img, .jp-listado ul.products li.product img, .cross-sells ul.products li.product .et_shop_image img, .up-sells ul.products li.product .et_shop_image img { width: 100%; height: 100%; object-fit: cover; }
.jp-prods ul.products li.product .et_overlay, .jp-listado ul.products li.product .et_overlay, .cross-sells ul.products li.product .et_overlay, .up-sells ul.products li.product .et_overlay { display: none; }
.jp-prods ul.products li.product .woocommerce-loop-product__title, .jp-listado ul.products li.product .woocommerce-loop-product__title, .cross-sells ul.products li.product .woocommerce-loop-product__title, .up-sells ul.products li.product .woocommerce-loop-product__title { font-family: var(--jp-texto); font-size: 16px; font-weight: 700; line-height: 1.35; color: var(--jp-tinta); padding: 16px 18px 4px; margin: 0; }
.jp-prods ul.products li.product .price, .jp-listado ul.products li.product .price, .cross-sells ul.products li.product .price, .up-sells ul.products li.product .price { font-family: var(--jp-display); font-weight: 700; font-size: 22px; color: var(--jp-tinta); padding: 0 18px 18px; margin: 0; font-variant-numeric: tabular-nums; }
.jp-prods ul.products li.product .price del, .jp-listado ul.products li.product .price del, .cross-sells ul.products li.product .price del, .up-sells ul.products li.product .price del { color: var(--jp-gris-claro); font-weight: 500; font-size: .8em; }
.jp-prods ul.products li.product .price ins, .jp-listado ul.products li.product .price ins, .cross-sells ul.products li.product .price ins, .up-sells ul.products li.product .price ins { text-decoration: none; }
.jp-prods ul.products li.product span.onsale, .jp-listado ul.products li.product span.onsale, .cross-sells ul.products li.product span.onsale, .up-sells ul.products li.product span.onsale { position: absolute; top: 14px; left: 14px; background: var(--jp-marca); color: #fff; font-size: 12px; font-weight: 700; padding: 5px 10px; border-radius: 999px; min-height: 0; line-height: 1.3; margin: 0; z-index: 2; }
.jp-add, .woocommerce ul.products li.product a.jp-add, .jp-prods ul.products li.product a.jp-add, .jp-listado ul.products li.product a.jp-add, .cross-sells ul.products li.product a.jp-add, .up-sells ul.products li.product a.jp-add { position: absolute !important; margin: 0 !important; top: auto !important; left: auto !important; right: 16px; bottom: 16px; width: 42px; height: 42px; border-radius: 50%; background: var(--jp-marca) !important; color: #fff !important; display: grid; place-items: center; font-size: 26px !important; font-weight: 500 !important; line-height: 1 !important; font-family: var(--jp-texto) !important; text-decoration: none; padding: 0 !important; z-index: 2; }
.jp-add:hover, .woocommerce ul.products li.product a.jp-add:hover { background: var(--jp-marca-osc) !important; }
.jp-add.loading { opacity: .5; }
.jp-add.added:after { display: none; }
.jp-prods ul.products li.product .price, .jp-listado ul.products li.product .price, .cross-sells ul.products li.product .price, .up-sells ul.products li.product .price { padding-right: 70px; }
.jp-prods ul.products li.product:has(.jp-add) .woocommerce-loop-product__title, .jp-listado ul.products li.product:has(.jp-add) .woocommerce-loop-product__title, .cross-sells ul.products li.product:has(.jp-add) .woocommerce-loop-product__title, .up-sells ul.products li.product:has(.jp-add) .woocommerce-loop-product__title { padding-right: 64px; }
.jp-prods ul.products li.product .price .woocommerce-price-suffix, .jp-listado ul.products li.product .price .woocommerce-price-suffix, .cross-sells ul.products li.product .price .woocommerce-price-suffix, .up-sells ul.products li.product .price .woocommerce-price-suffix { display: block; font-family: var(--jp-texto); font-size: 12px; font-weight: 500; color: var(--jp-gris); margin-top: 2px; }

/* Pieza de la casa (banda negra) */
.jp-destacado, .jp-destacado .et_pb_text, .jp-destacado .et_pb_text p, .jp-destacado h2 { color: #fff; }
.jp-destacado .et_pb_row { align-items: center; gap: 56px; }
.jp-destacado .jp-eyebrow, #et-boc .et-l .jp-destacado p.jp-eyebrow { color: #ff9a9d; }
.jp-destacado h2 { font-size: clamp(32px, 4vw, 52px); margin: 0; padding-bottom: 18px; }
.jp-destacado .et_pb_text p, #et-boc .et-l .jp-destacado .et_pb_text p { color: #cfc6c1; font-size: 17px; max-width: 34em; }
#et-boc .et-l .jp-destacado .et_pb_text ul, #et-boc .et-l .jp-destacado .et_pb_text li { color: #eee; }
.jp-destacado-foto .et_pb_image_wrap { border-radius: var(--jp-radio); overflow: hidden; display: block; }
.jp-destacado-foto img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.jp-lista-check, #et-boc .et-l ul.jp-lista-check { list-style: none; padding: 0 0 30px; margin: 0; display: grid; gap: 10px; }
.jp-lista-check li { display: flex; gap: 12px; align-items: flex-start; color: #eee; line-height: 1.5; }
.jp-lista-check svg { width: 20px; height: 20px; flex: none; color: #ff9a9d; margin-top: 3px; }
.jp-precio-grande, #et-boc .et-l .jp-destacado p.jp-precio-grande { font-size: 40px; color: #fff; padding-bottom: 22px; line-height: 1.1; }
.jp-precio-grande s { color: #8a807b; }
.jp-precio-grande small { font-family: var(--jp-texto); font-size: 14px; font-weight: 500; color: #cfc6c1; margin-left: 10px; }

/* Historia */
.jp-historia .et_pb_row { align-items: center; gap: 64px; }
.jp-historia-foto .et_pb_image_wrap { border-radius: var(--jp-radio); overflow: hidden; display: block; }
.jp-historia-foto img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.jp-historia h2 { font-size: clamp(32px, 4vw, 50px); margin: 0; padding-bottom: 20px; }
.jp-historia .et_pb_text p { color: var(--jp-gris); font-size: 17px; max-width: 36em; }
.jp-cifras { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 32px 0 30px; padding-top: 28px; border-top: 1px solid var(--jp-linea); }
.jp-cifras b { display: block; font-family: var(--jp-display); font-size: 38px; font-weight: 700; line-height: 1; color: var(--jp-marca); }
.jp-cifras small { display: block; color: var(--jp-gris); font-size: 13px; margin-top: 6px; line-height: 1.4; }

/* Garantías */
.et-l--post .et_pb_section.jp-garantias, body .et-l--post .et_pb_section.jp-garantias { padding-top: 40px !important; padding-bottom: 40px !important; border-top: 1px solid var(--jp-linea); border-bottom: 1px solid var(--jp-linea); }
.jp-garantias-fila .et_pb_code { margin-bottom: 0 !important; }
.jp-garantias:not(.et_pb_section) { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; width: 100%; }
.jp-gar { display: flex; gap: 16px; align-items: flex-start; }
.jp-gar svg { width: 30px; height: 30px; flex: none; stroke: var(--jp-marca); fill: none; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.jp-gar b { display: block; font-family: var(--jp-display); font-size: 18px; font-weight: 700; margin-bottom: 4px; }
.jp-gar span { font-size: 14px; color: var(--jp-gris); line-height: 1.5; }

/* Lotes */
.jp-lotes-caja { position: relative; border-radius: var(--jp-radio); overflow: hidden; min-height: 420px; display: flex; align-items: center; color: #fff; }
.jp-lotes-caja > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.jp-lotes-caja:after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(15, 14, 14, .85) 0%, rgba(15, 14, 14, .55) 45%, rgba(15, 14, 14, .05) 100%); }
.jp-lotes-txt { position: relative; z-index: 1; padding: 56px; max-width: 560px; }
.jp-lotes-txt h2 { font-size: clamp(30px, 3.8vw, 48px); margin: 14px 0 16px; color: #fff; }
.jp-lotes-txt p, #et-boc .et-l .jp-lotes-txt p { font-size: 17px; color: #e6dfda; margin: 0 0 26px; padding: 0; }
.jp-lotes-txt .jp-eyebrow { color: #ff9a9d; display: block; }

/* Blog (módulo Blog de Divi en rejilla) */
.jp-posts .et_pb_blog_grid, .jp-posts .et_pb_salvattore_content, .jp-posts .et_pb_blog_grid_wrapper > .et_pb_blog_grid, .jp-posts .et_pb_blog_posts.et_grid_module { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.jp-posts .et_pb_blog_grid .column, .jp-posts .et_pb_salvattore_content .column { display: contents; }
.jp-posts article.et_pb_post { margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
.jp-posts article.et_pb_post .entry-featured-image-url { display: block; margin: 0; }
.jp-posts article.et_pb_post .entry-featured-image-url img { aspect-ratio: 16 / 9; object-fit: cover; border-radius: 16px; width: 100%; }
.jp-posts article.et_pb_post .et_pb_image_container { margin: 0; }
/* Entrada sin imagen destacada: hueco del mismo tamaño para que la rejilla no baile. */
.jp-posts article.et_pb_post:not(:has(.et_pb_image_container))::before { content: ""; display: block; aspect-ratio: 16 / 9; border-radius: 16px; background: var(--jp-hueso); margin-bottom: 14px; }
.jp-posts article.et_pb_post .post-meta { display: block; color: var(--jp-gris); font-size: 13px; margin: 14px 0 6px; font-family: var(--jp-texto); }
.jp-posts article.et_pb_post .entry-title, .jp-posts article.et_pb_post h2.entry-title { font-family: var(--jp-texto); font-size: 19px; font-weight: 700; line-height: 1.35; letter-spacing: 0; margin: 0; padding: 0; }
.jp-posts article.et_pb_post .entry-title a { color: var(--jp-tinta); text-decoration: none; }
.jp-posts article.et_pb_post .entry-title a:hover { color: var(--jp-marca); }
.jp-posts article.et_pb_post .et_overlay { display: none; }

/* Portada en tablet y móvil */
@media (max-width: 1100px) {
	.jp-cats { grid-template-columns: repeat(3, 1fr); }
	.jp-prods ul.products, .jp-listado ul.products, .cross-sells ul.products, .up-sells ul.products { grid-template-columns: repeat(2, 1fr); }
	.jp-garantias:not(.et_pb_section) { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 980px) {
	.jp-hero .et_pb_row, .jp-destacado .et_pb_row, .jp-historia .et_pb_row { flex-wrap: wrap !important; gap: 32px; }
	.jp-hero .et_pb_row > .et_pb_column, .jp-destacado .et_pb_row > .et_pb_column, .jp-historia .et_pb_row > .et_pb_column { width: 100% !important; flex: 0 0 100% !important; }
	.jp-hero-col-foto { order: -1; }
	.jp-hero-foto .et_pb_image_wrap img { aspect-ratio: 4 / 3; }
	.jp-tarjeta-flotante { position: static; margin-top: 12px; box-shadow: none; border: 1px solid var(--jp-linea); max-width: none; }
	.et-l--post .et_pb_section.jp-sec, body .et-l--post .et_pb_section.jp-sec { padding-top: 60px !important; padding-bottom: 60px !important; }
	.et-l--post .et_pb_section.jp-hero, body .et-l--post .et_pb_section.jp-hero { padding-top: 32px !important; padding-bottom: 48px !important; }
	.jp-posts .et_pb_blog_grid, .jp-posts .et_pb_salvattore_content, .jp-posts .et_pb_blog_posts.et_grid_module { grid-template-columns: 1fr !important; }
	.jp-lotes-txt { padding: 36px 24px; }
	.jp-cifras b { font-size: 30px; }
}
@media (max-width: 800px) {
	.jp-cats { grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.jp-prods ul.products, .jp-listado ul.products, .cross-sells ul.products, .up-sells ul.products { gap: 12px; }
	.jp-prods ul.products li.product .woocommerce-loop-product__title, .jp-listado ul.products li.product .woocommerce-loop-product__title, .cross-sells ul.products li.product .woocommerce-loop-product__title, .up-sells ul.products li.product .woocommerce-loop-product__title { padding: 14px 14px 4px; font-size: 15px; }
	.jp-prods ul.products li.product .price, .jp-listado ul.products li.product .price, .cross-sells ul.products li.product .price, .up-sells ul.products li.product .price { font-size: 19px; padding-left: 14px; }
	.jp-tarjeta-flotante img { width: 48px; height: 48px; }
}
@media (max-width: 480px) {
	.jp-prods ul.products li.product:has(.jp-add) .woocommerce-loop-product__title, .jp-listado ul.products li.product:has(.jp-add) .woocommerce-loop-product__title, .cross-sells ul.products li.product:has(.jp-add) .woocommerce-loop-product__title, .up-sells ul.products li.product:has(.jp-add) .woocommerce-loop-product__title { padding-right: 14px; }
	.jp-prods ul.products li.product .price, .jp-listado ul.products li.product .price, .cross-sells ul.products li.product .price, .up-sells ul.products li.product .price { padding-bottom: 54px; padding-right: 14px; }
	.jp-add, .woocommerce ul.products li.product a.jp-add { width: 38px; height: 38px; right: 12px; bottom: 12px; font-size: 24px !important; }
	.jp-precio-grande, #et-boc .et-l .jp-destacado p.jp-precio-grande { font-size: 32px; white-space: nowrap; }
	.jp-precio-grande small, #et-boc .et-l .jp-destacado p.jp-precio-grande small { display: block; white-space: normal; margin-top: 6px; }
}

/* ===========================================================================
   WooCommerce (general): avisos, botones, ficha, carrito, checkout
   =========================================================================== */
.woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price, .et_pb_wc_price .price { color: var(--jp-tinta); font-family: var(--jp-display); font-weight: 700; }
body .woocommerce ul.products li.product .button,
body .woocommerce a.button, body .woocommerce button.button, body .woocommerce input.button,
body .woocommerce #respond input#submit, body .woocommerce button.button.alt, body .woocommerce a.button.alt,
body .woocommerce-page a.button, body .woocommerce-page button.button, body .woocommerce-page input.button,
body .woocommerce .wc-block-components-button, body .woocommerce .checkout-button, body #et-boc .et-l .woocommerce .button {
	background: var(--jp-marca) !important; color: #fff !important; border-radius: 999px; font-weight: 700; font-size: 14px; border: 0; font-family: var(--jp-texto); padding: 12px 22px;
}
body .woocommerce a.button:hover, body .woocommerce button.button:hover, body .woocommerce button.button.alt:hover, body .woocommerce a.button.alt:hover,
body .woocommerce-page a.button:hover, body .woocommerce-page button.button:hover { background: var(--jp-marca-osc) !important; color: #fff !important; }
.woocommerce .star-rating span::before, .woocommerce .star-rating::before { color: var(--jp-marca); }
/* Etiqueta "Oferta": el CSS crítico de Divi mete .woocommerce span.onsale { background: #ef8f61 !important; border-radius: 3px !important; font-weight: 500 !important } → misma píldora granate en listados, relacionados y ficha */
body .woocommerce span.onsale, body .woocommerce-page span.onsale, body .et-db #et-boc .et-l span.onsale, body .et-db #et-boc .et-l ul.products li.product span.onsale {
	position: absolute; top: 14px !important; left: 14px !important; right: auto !important; margin: 0 !important; z-index: 3;
	background: var(--jp-marca) !important; color: #fff !important; font-family: var(--jp-texto) !important; font-size: 11.5px !important; font-weight: 700 !important;
	letter-spacing: .06em; text-transform: uppercase; padding: 6px 12px !important; border-radius: 999px !important; min-height: 0 !important; min-width: 0 !important;
	line-height: 1.3 !important; text-align: center; box-shadow: none !important; border: 0 !important;
}
.woocommerce-message, .woocommerce-info { border-top-color: var(--jp-marca); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--jp-marca); }
.woocommerce .widget_price_filter .ui-slider .ui-slider-range, .woocommerce .widget_price_filter .ui-slider .ui-slider-handle { background: var(--jp-marca); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .woocommerce-page input.input-text { border: 1px solid var(--jp-linea); border-radius: 10px; padding: 10px 12px; font-family: var(--jp-texto); }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus { border-color: var(--jp-marca); }
.woocommerce table.shop_table { border: 1px solid var(--jp-linea); border-radius: 14px; overflow: hidden; }

/* Ficha de producto (módulos Woo de Divi) */
.et_pb_wc_add_to_cart .button, .et_pb_wc_add_to_cart button.single_add_to_cart_button,
.woocommerce div.product form.cart .button { color: #fff !important; background: var(--jp-marca) !important; border: 0; border-radius: 999px; padding: 14px 26px; font-weight: 700; }
.et_pb_wc_add_to_cart .button:hover { background: var(--jp-marca-osc) !important; }
.et_pb_wc_add_to_cart .quantity input.qty { border: 1px solid var(--jp-linea); height: 46px; border-radius: 10px; }
.jp-tienda .jp-widget { margin-bottom: 28px; }
/* Filtro YITH (varias categorías a la vez, árbol plegado) */
.jp-tienda .yith-wcan-filters .yith-wcan-filter .filter-title { font-family: var(--jp-display); font-size: 16px; font-weight: 700; color: var(--jp-tinta); margin: 0 0 10px; padding: 0; }
.jp-tienda .yith-wcan-filters .filter-items .filter-item { font-size: 14px; line-height: 1.9; }
.jp-tienda .yith-wcan-filters .filter-items .filter-item .term-count { color: var(--jp-gris-claro); }
.jp-tienda .yith-wcan-filters .filter-items .filter-item.active label, .jp-tienda .yith-wcan-filters .filter-item input:checked + label { color: var(--jp-marca); font-weight: 700; }
.jp-tienda .yith-wcan-reset-filters { background: var(--jp-marca) !important; color: #fff !important; border: 0; border-radius: 999px; font-size: 12px; padding: 6px 14px; }
.jp-tienda .jp-widget-titulo { font-family: var(--jp-display); font-size: 16px; font-weight: 700; color: var(--jp-tinta); margin-bottom: 10px; }
.jp-tienda .jp-widget ul { list-style: none; padding: 0; margin: 0; }
.jp-tienda .jp-widget ul li { font-size: 14px; line-height: 1.9; }
.jp-tienda .jp-widget ul ul { padding-left: 12px; }

/* ===========================================================================
   REDISEÑO 2026 — TIENDA Y CATEGORÍAS (Theme Builder, body 20324)
   =========================================================================== */
.jp-tienda .et_pb_row { width: 100% !important; max-width: var(--jp-ancho) !important; padding: 28px 24px 72px !important; gap: 40px; align-items: stretch; }
.jp-tienda .et_pb_column { display: flex; flex-direction: column; }
.jp-tienda .et_pb_module { margin-bottom: 0 !important; }
/* Cabecera del archivo: migas, H1, descripción, chips de subcategorías */
.jp-migas, .woocommerce-breadcrumb.jp-migas, .jp-migas .woocommerce-breadcrumb { font-family: var(--jp-texto); font-size: 13px; color: var(--jp-gris) !important; margin: 0 0 14px !important; padding: 0; line-height: 1.5; }
.jp-migas a, .woocommerce-breadcrumb.jp-migas a { color: var(--jp-gris) !important; text-decoration: none; }
.jp-migas a:hover, .woocommerce-breadcrumb.jp-migas a:hover { color: var(--jp-marca) !important; }
.jp-migas .jp-migas-sep { margin: 0 8px; color: var(--jp-gris-claro); }
.jp-archivo-cabecera { margin: 0 0 22px; display: flex; flex-wrap: wrap; align-items: flex-start; gap: 0 16px; }
.jp-archivo-cabecera > * { flex: 0 0 100%; }
.jp-archivo-titulo { font-family: var(--jp-display); font-weight: 700; font-size: clamp(32px, 3.6vw, 46px); line-height: 1.05; letter-spacing: -.01em; color: var(--jp-tinta); margin: 0 0 10px; padding: 0; }
.jp-archivo-descripcion { font-size: 16px; color: var(--jp-gris); max-width: 62em; line-height: 1.6; }
.jp-archivo-descripcion p { margin-bottom: 8px; padding-bottom: 0; }
.jp-subcats { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 4px; }
.jp-subcat { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border: 1px solid var(--jp-linea); border-radius: 999px; font-size: 14px; font-weight: 600; color: var(--jp-tinta); text-decoration: none; background: #fff; transition: background .15s ease, border-color .15s ease, color .15s ease; }
.jp-subcat small { font-size: 12px; font-weight: 500; color: var(--jp-gris-claro); }
.jp-subcat:hover { border-color: var(--jp-tinta); color: var(--jp-tinta); }
.jp-subcat--actual, .jp-subcat--actual:hover { background: var(--jp-tinta); border-color: var(--jp-tinta); color: #fff; }
.jp-subcat--actual small { color: rgba(255, 255, 255, .7); }
.jp-subcat--padre { border-style: dashed; color: var(--jp-gris); }
.jp-filtros-toggle, .jp-filtros-cab, .jp-filtros-ver, .jp-filtros-fondo { display: none; }
/* Contador de resultados + ordenación en una línea */
.jp-listado .woocommerce-result-count, .jp-listado .woocommerce-ordering { margin: 0 0 18px !important; padding: 0 !important; font-size: 14px; color: var(--jp-gris); }
.jp-listado .woocommerce-result-count { float: left; line-height: 42px; }
.jp-listado .woocommerce-ordering { float: right; }
.jp-listado .woocommerce-ordering select, .jp-listado select.orderby { appearance: none; -webkit-appearance: none; height: 42px; padding: 0 40px 0 16px; border: 1px solid var(--jp-linea); border-radius: 999px; background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231b1817' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>") no-repeat right 14px center / 16px; font-family: var(--jp-texto); font-size: 14px; font-weight: 600; color: var(--jp-tinta); cursor: pointer; }
.jp-listado .woocommerce-notices-wrapper:empty { display: none; }
.jp-listado ul.products { clear: both; }
.jp-listado ul.products, .jp-listado.et_pb_shop ul.products { grid-template-columns: repeat(3, 1fr); gap: 24px; }
.jp-listado ul.products li.product .woocommerce-loop-product__title, .jp-listado ul.products li.product .woocommerce-loop-product__title a, .jp-prods ul.products li.product .woocommerce-loop-product__title, .cross-sells ul.products li.product .woocommerce-loop-product__title, .up-sells ul.products li.product .woocommerce-loop-product__title { text-transform: none; color: var(--jp-tinta) !important; }
.jp-filtros.et_pb_widget_area_left, .jp-tienda .et_pb_widget_area_left { border-right: 0 !important; padding-right: 0 !important; }
/* Paginación */
.jp-listado .woocommerce-pagination { margin-top: 36px; text-align: left; }
.jp-listado .woocommerce-pagination ul.page-numbers { display: inline-flex; gap: 6px; border: 0; margin: 0; }
.jp-listado .woocommerce-pagination ul.page-numbers li { border: 0; margin: 0; }
.jp-listado .woocommerce-pagination ul.page-numbers li .page-numbers { display: grid; place-items: center; min-width: 42px; height: 42px; padding: 0 12px; border: 1px solid var(--jp-linea); border-radius: 999px; font-family: var(--jp-texto); font-weight: 600; font-size: 14px; color: var(--jp-tinta); background: #fff; }
.jp-listado .woocommerce-pagination ul.page-numbers li .page-numbers:hover { border-color: var(--jp-tinta); background: #fff; color: var(--jp-tinta); }
.jp-listado .woocommerce-pagination ul.page-numbers li .page-numbers.current { background: var(--jp-tinta); border-color: var(--jp-tinta); color: #fff; }
/* Columna de filtros */
.jp-filtros { position: sticky; top: calc(var(--jp-cab-alto, 84px) + 24px); }
.jp-filtros .jp-widget { margin-bottom: 30px; padding: 0; }
.jp-filtros .jp-widget-titulo, .jp-filtros .yith-wcan-filters .yith-wcan-filter .filter-title { font-family: var(--jp-display); font-size: 17px; font-weight: 700; color: var(--jp-tinta); margin: 0 0 12px; padding: 0; }
.jp-filtros .yith-wcan-filters .filter-items .filter-item { font-size: 14px; line-height: 2; }
.jp-filtros .yith-wcan-filters .filter-items .filter-item label { cursor: pointer; }
.jp-filtros .yith-wcan-filters .filter-items .filter-item .term-count { color: var(--jp-gris-claro); font-size: 12px; }
.jp-filtros .yith-wcan-filters .filter-items .filter-item.active > label, .jp-filtros .yith-wcan-filters .filter-item input:checked + label { color: var(--jp-marca); font-weight: 700; }
.jp-filtros .yith-wcan-filters .filter-items .filter-item .toggle-handle, .jp-filtros .yith-wcan-filters .filter-items .filter-item .toggle-handle::before { color: var(--jp-gris); }
.jp-filtros input[type="checkbox"] { accent-color: var(--jp-marca); width: 15px; height: 15px; margin-right: 6px; vertical-align: -2px; }
.jp-filtros .widget_price_filter .price_slider_wrapper { padding-top: 6px; }
.jp-filtros .widget_price_filter .ui-slider { margin: 0 8px 26px; }
.jp-filtros .widget_price_filter .price_slider_amount { font-size: 13px; color: var(--jp-gris); }
.jp-filtros .widget_price_filter .price_slider_amount .button { font-size: 13px !important; padding: 9px 18px !important; }
.jp-filtros .widget_product_search form { position: relative; }
.jp-filtros .widget_product_search .search-field { width: 100%; height: 46px; border: 1px solid var(--jp-linea); border-radius: 999px; padding: 0 92px 0 16px; font-family: var(--jp-texto); font-size: 14px; }
.jp-filtros .widget_product_search button { position: absolute; right: 4px; top: 4px; height: 38px; padding: 0 16px; border: 0; border-radius: 999px; background: var(--jp-tinta); color: #fff; font-family: var(--jp-texto); font-weight: 700; font-size: 13px; cursor: pointer; }
.jp-filtros .yith-wcan-reset-filters { display: inline-block; margin-top: 8px; }

/* ===========================================================================
   REDISEÑO 2026 — FICHA DE PRODUCTO (Theme Builder, body 20326)
   =========================================================================== */
.jp-producto .et_pb_row { width: 100% !important; max-width: var(--jp-ancho) !important; padding-left: 24px !important; padding-right: 24px !important; }
.jp-producto .et_pb_module { margin-bottom: 0 !important; }
.jp-ficha-migas-fila { padding-top: 22px !important; padding-bottom: 0 !important; }
.jp-ficha-fila { padding-top: 22px !important; padding-bottom: 40px !important; gap: 56px; align-items: flex-start; }
.jp-ficha-fila .et_pb_column { display: flex; flex-direction: column; }
.jp-ficha-tabs-fila { padding-top: 0 !important; padding-bottom: 40px !important; }
.jp-ficha-rel-fila { padding-top: 0 !important; padding-bottom: 80px !important; }
.jp-migas .woocommerce-breadcrumb { font-size: 13px; color: var(--jp-gris); }
/* Galería */
.jp-galeria .woocommerce-product-gallery { border-radius: var(--jp-radio); }
.jp-galeria .woocommerce-product-gallery .woocommerce-product-gallery__wrapper { border-radius: var(--jp-radio); overflow: hidden; background: #111; }
.jp-galeria .woocommerce-product-gallery__image img { width: 100%; }
.jp-galeria .flex-control-thumbs { margin-top: 12px !important; gap: 10px; display: flex; flex-wrap: wrap; }
.jp-galeria .flex-control-thumbs li { width: calc(25% - 8px) !important; margin: 0 !important; }
.jp-galeria .flex-control-thumbs li img { border-radius: 12px; border: 2px solid transparent; opacity: .55; transition: opacity .15s ease; }
.jp-galeria .flex-control-thumbs li img.flex-active, .jp-galeria .flex-control-thumbs li img:hover { opacity: 1; border-color: var(--jp-marca); }
.jp-galeria span.onsale, .jp-producto span.onsale { position: absolute; top: 16px; left: 16px; z-index: 9; background: var(--jp-marca); color: #fff; font-family: var(--jp-texto); font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; padding: 6px 12px; border-radius: 999px; min-height: 0; min-width: 0; line-height: 1.3; margin: 0; }
.jp-galeria .woocommerce-product-gallery__trigger { top: 16px; right: 16px; border-radius: 50%; }
/* Columna de compra */
.jp-ficha-titulo h1 { font-family: var(--jp-display); font-size: clamp(28px, 3vw, 38px); line-height: 1.08; letter-spacing: -.01em; color: var(--jp-tinta); margin: 0; padding: 0 0 10px; }
.jp-ficha-rating .woocommerce-product-rating { margin-bottom: 10px; }
.jp-ficha-precio .price, .jp-ficha-precio p.price { font-family: var(--jp-display); font-size: 34px; font-weight: 700; color: var(--jp-tinta); line-height: 1.1; margin: 4px 0 14px; padding: 0; font-variant-numeric: tabular-nums; }
.jp-ficha-precio .price del { color: var(--jp-gris-claro); font-weight: 500; font-size: .7em; margin-right: 8px; opacity: 1; }
.jp-ficha-precio .price ins { text-decoration: none; }
.jp-ficha-precio .price .woocommerce-price-suffix { display: block; font-family: var(--jp-texto); font-size: 13px; font-weight: 500; color: var(--jp-gris); margin-top: 4px; }
.jp-ficha-resumen { font-size: 16px; color: var(--jp-gris); line-height: 1.65; margin-bottom: 18px !important; }
.jp-ficha-resumen p:last-child { padding-bottom: 0; }
.jp-ficha-cart { padding: 20px 0 18px; border-top: 1px solid var(--jp-linea); margin-bottom: 14px !important; }
.jp-ficha-cart table.variations, .jp-ficha-cart table.variations tbody, .jp-ficha-cart table.variations tr, .jp-ficha-cart table.variations th, .jp-ficha-cart table.variations td { display: block; width: 100%; border: 0; text-align: left; }
.jp-ficha-cart table.variations { margin: 0 0 16px; }
.jp-ficha-cart table.variations tr { margin-bottom: 12px; }
.jp-ficha-cart table.variations th { padding: 0 0 6px; }
.jp-ficha-cart table.variations td { padding: 0; }
.jp-ficha-cart table.variations th label { font-family: var(--jp-texto); font-size: 13px; font-weight: 700; color: var(--jp-tinta); text-transform: uppercase; letter-spacing: .06em; }
.jp-ficha-cart table.variations select, .et_pb_wc_add_to_cart.jp-ficha-cart table.variations select { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; width: 100%; max-width: 360px; height: 48px; padding: 0 44px 0 16px !important; border: 1px solid var(--jp-tinta) !important; border-radius: 999px !important; background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231b1817' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>") no-repeat right 16px center / 16px !important; font-family: var(--jp-texto); font-size: 15px; font-weight: 600; color: var(--jp-tinta); }
.jp-ficha-cart table.variations .reset_variations { display: block; margin-top: 6px; font-size: 13px; color: var(--jp-gris); }
.jp-ficha-cart .woocommerce-variation.single_variation { margin-bottom: 12px; }
.jp-ficha-cart .woocommerce-variation-price .price { font-family: var(--jp-display); font-size: 26px; font-weight: 700; color: var(--jp-tinta); }
.jp-ficha-cart .woocommerce-variation-availability .stock { font-size: 14px; }
.jp-ficha-cart form.cart, .jp-ficha-cart .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.jp-ficha-cart form.cart.variations_form { display: block; }
.jp-ficha-cart form.cart .quantity, .jp-ficha-cart .quantity { margin: 0 !important; float: none; }
.jp-ficha-cart .quantity input.qty, .et_pb_wc_add_to_cart.jp-ficha-cart .quantity input.qty { width: 84px; height: 54px; border: 1px solid var(--jp-tinta); border-radius: 999px; font-family: var(--jp-texto); font-weight: 700; font-size: 16px; text-align: center; color: var(--jp-tinta); }
.jp-ficha-cart button.single_add_to_cart_button, .et_pb_wc_add_to_cart.jp-ficha-cart .button { height: 54px; padding: 0 30px !important; border-radius: 999px; font-family: var(--jp-texto) !important; font-size: 16px !important; font-weight: 700 !important; background: var(--jp-marca) !important; color: #fff !important; display: inline-flex; align-items: center; gap: 10px; line-height: 1 !important; margin: 0 !important; float: none; }
.jp-ficha-cart button.single_add_to_cart_button:hover { background: var(--jp-marca-osc) !important; }
.jp-ficha-cart button.single_add_to_cart_button:after { display: none !important; }
.jp-ficha-cart .woocommerce-variation-add-to-cart-disabled button { opacity: .45; }
.jp-ficha-cart .tinv-wraper, .jp-producto .tinv-wraper { display: none !important; }
.jp-ficha-meta .product_meta { font-family: var(--jp-texto); font-size: 13px; color: var(--jp-gris); display: flex; flex-wrap: wrap; gap: 6px 18px; border: 0; padding: 0; }
.jp-ficha-meta .product_meta > span { display: inline; }
.jp-ficha-meta .product_meta a { color: var(--jp-tinta); font-weight: 600; text-decoration: none; }
.jp-ficha-meta .product_meta a:hover { color: var(--jp-marca); }
/* Divi fuerza "ul { padding: 0 0 23px 1em }" dentro de los layouts: se anula con selectores de más peso */
.jp-ficha-garantias, #et-boc .et-l ul.jp-ficha-garantias { list-style: none !important; margin: 24px 0 0 !important; padding: 20px 22px !important; background: var(--jp-hueso); border-radius: 16px; display: grid; gap: 12px; line-height: 1.45; }
.jp-ficha-garantias > li, #et-boc .et-l ul.jp-ficha-garantias > li { display: block; position: relative; margin: 0; padding: 0 0 0 28px !important; font-size: 14px; color: var(--jp-gris); line-height: 1.45; }
.jp-ficha-garantias li b { color: var(--jp-tinta); font-weight: 700; }
.jp-ficha-garantias > li > svg { position: absolute; left: 0; top: 1px; width: 18px; height: 18px; color: var(--jp-verde); }
.jp-ficha-nota { display: block; margin-top: 2px; }
/* Tarifas de envío (shortcode [jp_ficha_garantias]: leídas de las zonas de envío de WooCommerce) */
.jp-tarifas, #et-boc .et-l ul.jp-tarifas { list-style: none !important; margin: 10px 0 0 !important; padding: 0 !important; display: block; border-top: 1px solid rgba(27, 24, 23, .09); }
.jp-tarifas li, #et-boc .et-l ul.jp-tarifas li { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 2px 16px; margin: 0; padding: 7px 0 !important; border-bottom: 1px solid rgba(27, 24, 23, .09); font-size: 13.5px; color: var(--jp-gris); line-height: 1.4; }
.jp-tarifas li span:first-child { flex: 1 1 auto; min-width: 0; }
.jp-tarifas li span:last-child { flex: 0 1 auto; margin-left: auto; text-align: right; color: var(--jp-tinta); font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.jp-tarifas .woocommerce-Price-amount { font-weight: 700; color: var(--jp-tinta); }
.jp-ficha-garantias small { display: block; margin-top: 8px; font-size: 12px; color: var(--jp-gris-claro); line-height: 1.4; }
/* Pestañas */
.jp-ficha-tabs.et_pb_tabs, .jp-ficha-tabs .et_pb_tabs { border: 0 !important; }
.jp-ficha-tabs ul.et_pb_tabs_controls { background: transparent !important; border-bottom: 1px solid var(--jp-linea); display: flex; gap: 6px; flex-wrap: wrap; }
.jp-ficha-tabs ul.et_pb_tabs_controls:after { display: none; }
.jp-ficha-tabs ul.et_pb_tabs_controls li { border: 0 !important; background: transparent !important; margin: 0; }
.jp-ficha-tabs ul.et_pb_tabs_controls li a { font-family: var(--jp-texto) !important; font-size: 15px !important; font-weight: 700 !important; color: var(--jp-gris) !important; padding: 14px 18px !important; line-height: 1.3 !important; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.jp-ficha-tabs ul.et_pb_tabs_controls li.et_pb_tab_active a { color: var(--jp-tinta) !important; border-bottom-color: var(--jp-marca); }
.jp-ficha-tabs .et_pb_all_tabs { background: transparent !important; }
.jp-ficha-tabs .et_pb_tab { padding: 28px 0 0 !important; font-size: 16px; line-height: 1.65; color: var(--jp-gris); }
.jp-ficha-tabs .et_pb_tab h2 { font-size: 22px; margin-bottom: 10px; }
.jp-ficha-tabs .et_pb_tab ul { padding-left: 1.2em; }
.jp-ficha-tabs .et_pb_tab li { margin-bottom: 4px; }
.jp-ficha-tabs table.shop_attributes { border-radius: 14px; overflow: hidden; border: 1px solid var(--jp-linea); font-size: 15px; }
.jp-ficha-tabs table.shop_attributes th { background: var(--jp-hueso); color: var(--jp-tinta); font-weight: 700; }
.jp-ficha-tabs table.shop_attributes th, .jp-ficha-tabs table.shop_attributes td { padding: 12px 16px; border-bottom: 1px solid var(--jp-linea); }
/* Relacionados: misma tarjeta que en la portada */
.jp-relacionados section.related > h2, .jp-relacionados .related.products > h2 { font-family: var(--jp-display); font-size: clamp(26px, 3vw, 36px); font-weight: 700; color: var(--jp-tinta); margin: 0 0 26px; padding: 0; }
.jp-relacionados ul.products { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1100px) {
	.jp-listado ul.products, .jp-listado.et_pb_shop ul.products, .jp-relacionados ul.products { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 980px) {
	.jp-tienda .et_pb_row { flex-wrap: wrap !important; gap: 24px; padding-bottom: 48px !important; }
	.jp-tienda .et_pb_row > .et_pb_column { width: 100% !important; flex: 0 0 100% !important; }
	.jp-tienda .jp-col-filtros { order: 2; }
	.jp-filtros { display: none; }
	/* Panel lateral (cajón) al pulsar "Filtrar y ordenar" */
	body.jp-filtros-abierto { overflow: hidden; }
	body.jp-filtros-abierto .jp-filtros { display: block; position: fixed; top: 0; right: 0; bottom: 0; width: min(380px, 88vw); z-index: 1000001; overflow-y: auto; -webkit-overflow-scrolling: touch; background: #fff; padding: 0 22px 32px; box-shadow: -12px 0 40px rgba(0,0,0,.18); border-radius: 0; }
	body.jp-filtros-abierto .jp-filtros-fondo { display: block; position: fixed; inset: 0; z-index: 1000000; background: rgba(27,24,23,.45); }
	body.jp-filtros-abierto .jp-filtros-cab { display: flex; }
	body.jp-filtros-abierto .jp-filtros-ver { display: block; }
	.jp-filtros-cab { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; margin: 0 -22px 18px; padding: 16px 22px; background: #fff; border-bottom: 1px solid var(--jp-linea); }
	.jp-filtros-cab strong { font-family: var(--jp-display); font-size: 20px; color: var(--jp-tinta); }
	.jp-filtros-cerrar { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid var(--jp-linea); border-radius: 50%; background: #fff; color: var(--jp-tinta); font-size: 22px; line-height: 1; cursor: pointer; }
	.jp-filtros-ver { display: block; width: 100%; margin-top: 18px; height: 50px; border: 0; border-radius: 999px; background: var(--jp-marca); color: #fff; font-family: var(--jp-texto); font-size: 15px; font-weight: 700; cursor: pointer; }
	.jp-filtros-toggle { display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 16px; margin: 12px 0 0; border: 1px solid var(--jp-tinta); border-radius: 999px; background: #fff; font-family: var(--jp-texto); font-size: 14px; font-weight: 700; color: var(--jp-tinta); cursor: pointer; flex: 0 0 auto; }
	body.jp-filtros-abierto .jp-filtros-toggle { background: var(--jp-tinta); color: #fff; }
	.jp-ficha-fila { flex-wrap: wrap !important; gap: 28px; }
	.jp-ficha-fila > .et_pb_column { width: 100% !important; flex: 0 0 100% !important; }
}
@media (max-width: 480px) {
	.jp-tienda .et_pb_row, .jp-producto .et_pb_row { padding-left: 16px !important; padding-right: 16px !important; }
	.jp-listado .woocommerce-result-count { float: none; line-height: 1.4; margin-bottom: 10px !important; }
	.jp-listado .woocommerce-ordering { float: none; width: 100%; }
	.jp-listado .woocommerce-ordering select { width: 100%; }
	.jp-ficha-cart form.cart .quantity, .jp-ficha-cart .quantity { flex: 0 0 84px; }
	.jp-ficha-cart button.single_add_to_cart_button { flex: 1 1 auto; justify-content: center; }
	.jp-relacionados ul.products { gap: 12px; }
}

/* ===========================================================================
   REDISEÑO 2026 — CARRITO, FINALIZAR COMPRA, MI CUENTA (plantilla por defecto de Divi)
   =========================================================================== */
body.woocommerce-cart #main-content .container, body.woocommerce-checkout #main-content .container, body.woocommerce-account #main-content .container, body.woocommerce-page:not(.single-product):not(.archive) #main-content .container { width: 100%; max-width: var(--jp-ancho); padding: 36px 24px 90px; }
body.woocommerce-cart #left-area, body.woocommerce-checkout #left-area, body.woocommerce-account #left-area { width: 100%; padding-bottom: 0; }
body.woocommerce-cart h1.entry-title, body.woocommerce-checkout h1.entry-title, body.woocommerce-account h1.entry-title { font-family: var(--jp-display); font-size: clamp(32px, 3.6vw, 46px); line-height: 1.05; letter-spacing: -.01em; color: var(--jp-tinta); margin: 0 0 26px; padding: 0; }
body.woocommerce-cart .entry-content h2, body.woocommerce-checkout .entry-content h2, body.woocommerce-checkout .entry-content h3, body.woocommerce-account .entry-content h2, body.woocommerce-account .entry-content h3 { font-family: var(--jp-display); color: var(--jp-tinta); font-size: 24px; margin: 0 0 16px; padding: 0; }
/* Avisos suaves (sustituyen las bandas rojas del Personalizador de Divi) */
body .woocommerce-message, body .woocommerce-info, body .woocommerce-error, body .woocommerce-notice, body #main-content .woocommerce-message, body #main-content .woocommerce-info, body #main-content .woocommerce-error, body .et-l .woocommerce-message, body .et-l .woocommerce-info { background: var(--jp-hueso) !important; color: var(--jp-tinta) !important; border: 0 !important; border-left: 4px solid var(--jp-marca) !important; border-radius: 14px; padding: 16px 20px 16px 52px !important; font-family: var(--jp-texto); font-size: 15px; line-height: 1.5; margin-bottom: 22px !important; }
body .woocommerce-message::before, body .woocommerce-info::before, body .woocommerce-error::before { color: var(--jp-marca) !important; top: 17px; left: 20px; }
body .woocommerce-error { border-left-color: #b3261e !important; }
body .woocommerce-message a, body .woocommerce-info a, body .woocommerce-error a { color: var(--jp-marca) !important; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
body .woocommerce-message .button, body .woocommerce-info .button { float: right; margin: -4px 0 0 16px; }
.jp-aviso-envio .jp-aviso-envio-barra { background: rgba(27, 24, 23, .12); }
.jp-aviso-envio .jp-aviso-envio-barra span { background: var(--jp-marca); }
body .jp-aviso-envio.jp-aviso-envio--ok { background: #e6f2e8 !important; border-left-color: var(--jp-verde) !important; }
body .jp-aviso-envio--ok::before { color: var(--jp-verde) !important; }
.woocommerce-form-coupon-toggle .woocommerce-info, .woocommerce-form-login-toggle .woocommerce-info { padding-top: 13px !important; padding-bottom: 13px !important; }
/* Campos de formulario */
.woocommerce form .form-row label { font-family: var(--jp-texto); font-size: 13px; font-weight: 600; color: var(--jp-tinta); margin-bottom: 4px; }
.woocommerce form .form-row label .required { color: var(--jp-marca); text-decoration: none; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .woocommerce-page input.input-text, .woocommerce .select2-container--default .select2-selection--single, .woocommerce input[type="text"], .woocommerce input[type="email"], .woocommerce input[type="tel"], .woocommerce input[type="password"], .woocommerce input[type="number"] { background: #fff !important; border: 1px solid var(--jp-linea) !important; border-radius: 12px !important; padding: 0 14px !important; height: 48px; line-height: 46px; font-family: var(--jp-texto) !important; font-size: 15px !important; color: var(--jp-tinta) !important; box-shadow: none; }
.woocommerce form .form-row textarea { height: auto; min-height: 110px; line-height: 1.5; padding: 12px 14px !important; }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus, .woocommerce form .form-row select:focus, .woocommerce input[type="text"]:focus { border-color: var(--jp-tinta) !important; outline: 0; }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 46px; padding-left: 0; color: var(--jp-tinta); }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; right: 8px; }
.woocommerce form .form-row.woocommerce-invalid input.input-text { border-color: #b3261e !important; }
.woocommerce form .form-row .woocommerce-input-wrapper { display: block; }
.woocommerce-checkout .form-row.form-row-first, .woocommerce-checkout .form-row.form-row-last, .woocommerce-account .form-row-first, .woocommerce-account .form-row-last { width: 48.5%; }
.woocommerce form .form-row { margin-bottom: 14px; }
/* Carrito */
.woocommerce-cart table.shop_table.cart { border: 1px solid var(--jp-linea); border-radius: 18px; border-collapse: separate; border-spacing: 0; overflow: hidden; margin-bottom: 28px; }
.woocommerce-cart table.shop_table.cart th { font-family: var(--jp-texto); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--jp-gris); background: var(--jp-hueso); padding: 14px 16px; border: 0; }
.woocommerce-cart table.shop_table.cart td { padding: 18px 16px; border: 0; border-top: 1px solid var(--jp-linea); vertical-align: middle; font-family: var(--jp-texto); font-size: 15px; color: var(--jp-tinta); }
.woocommerce-cart table.shop_table.cart td.product-thumbnail img { width: 76px; height: 76px; object-fit: cover; border-radius: 12px; background: #111; }
.woocommerce-cart table.shop_table.cart td.product-name a { color: var(--jp-tinta); font-weight: 700; text-decoration: none; }
.woocommerce-cart table.shop_table.cart td.product-name a:hover { color: var(--jp-marca); }
.woocommerce-cart table.shop_table.cart td.product-name .variation { font-size: 13px; color: var(--jp-gris); margin-top: 4px; }
.woocommerce-cart table.shop_table.cart td.product-price, .woocommerce-cart table.shop_table.cart td.product-subtotal { font-family: var(--jp-display); font-weight: 700; font-size: 17px; font-variant-numeric: tabular-nums; }
.woocommerce-cart table.shop_table.cart td.product-remove a.remove { width: 32px; height: 32px; line-height: 30px; border-radius: 50%; background: var(--jp-hueso); color: var(--jp-gris) !important; font-size: 20px; font-weight: 400; text-align: center; }
.woocommerce-cart table.shop_table.cart td.product-remove a.remove:hover { background: var(--jp-marca); color: #fff !important; }
.woocommerce-cart .quantity input.qty, .woocommerce .quantity .qty { width: 72px; height: 44px; border: 1px solid var(--jp-linea) !important; border-radius: 999px !important; font-family: var(--jp-texto); font-weight: 700; font-size: 15px; text-align: center; color: var(--jp-tinta); background: #fff !important; padding: 0 6px !important; }
.woocommerce-cart table.shop_table.cart td.actions { padding: 16px; background: var(--jp-hueso); border-top: 1px solid var(--jp-linea); }
.woocommerce-cart table.shop_table.cart td.actions .coupon { display: inline-flex; gap: 8px; align-items: center; float: left; }
.woocommerce-cart table.shop_table.cart td.actions .coupon #coupon_code, .woocommerce-cart table.shop_table.cart td.actions .coupon input.input-text { width: 200px; height: 44px; border-radius: 999px !important; padding: 0 16px !important; border: 1px solid var(--jp-linea) !important; background: #fff !important; font-size: 14px !important; }
.woocommerce-cart table.shop_table.cart td.actions .coupon .button { height: 44px; padding: 0 20px !important; border-radius: 999px; font-size: 14px !important; }
.woocommerce-cart table.shop_table.cart td.actions > .button { float: right; height: 44px; padding: 0 20px !important; border-radius: 999px; background: #fff !important; color: var(--jp-tinta) !important; border: 1px solid var(--jp-tinta) !important; font-size: 14px !important; }
.woocommerce-cart table.shop_table.cart td.actions > .button:disabled { opacity: .45; }
.woocommerce-cart .cart-collaterals { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 40px; }
.woocommerce-cart .cart-collaterals .cart_totals { float: none; width: 100%; max-width: 460px; background: var(--jp-hueso); border-radius: 18px; padding: 26px 26px 24px; }
.woocommerce-cart .cart-collaterals .cart_totals h2 { font-size: 22px; margin-bottom: 14px; }
.woocommerce-cart .cart_totals table.shop_table { border: 0; border-collapse: collapse; margin-bottom: 18px; }
.woocommerce-cart .cart_totals table.shop_table th, .woocommerce-cart .cart_totals table.shop_table td { border: 0; border-top: 1px solid rgba(27, 24, 23, .1); padding: 12px 0; font-family: var(--jp-texto); font-size: 15px; color: var(--jp-tinta); background: transparent; }
.woocommerce-cart .cart_totals table.shop_table tr:first-child th, .woocommerce-cart .cart_totals table.shop_table tr:first-child td { border-top: 0; }
.woocommerce-cart .cart_totals table.shop_table th { font-weight: 600; color: var(--jp-gris); width: 40%; }
.woocommerce-cart .cart_totals table.shop_table .order-total th, .woocommerce-cart .cart_totals table.shop_table .order-total td { font-family: var(--jp-display); font-size: 20px; font-weight: 700; color: var(--jp-tinta); padding-top: 16px; }
.woocommerce-cart .cart_totals table.shop_table .order-total td small { font-family: var(--jp-texto); font-size: 12px; font-weight: 400; color: var(--jp-gris); display: block; margin-top: 2px; }
.woocommerce-cart .cart_totals .woocommerce-shipping-destination { font-size: 13px; color: var(--jp-gris); }
.woocommerce-cart .cart_totals .shipping-calculator-button { color: var(--jp-marca); font-weight: 600; font-size: 13px; }
.woocommerce-cart .cart_totals ul#shipping_method li { padding: 4px 0; font-size: 14px; }
.woocommerce-cart .cart_totals ul#shipping_method li input { accent-color: var(--jp-marca); margin-right: 6px; vertical-align: -1px; }
.woocommerce-cart .wc-proceed-to-checkout { padding: 0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { display: flex; justify-content: center; align-items: center; height: 56px; width: 100%; margin: 0; border-radius: 999px; font-size: 16px !important; font-weight: 700 !important; padding: 0 !important; }
.woocommerce-cart .cart-collaterals .cross-sells { float: none; width: 100%; order: 2; margin-top: 10px; }
.woocommerce-cart .cart-collaterals .cross-sells h2 { font-size: 26px; margin-bottom: 20px; }
.cross-sells ul.products, .up-sells ul.products { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 22px; margin: 0; }
.cross-sells ul.products::before, .cross-sells ul.products::after, .up-sells ul.products::before, .up-sells ul.products::after { display: none !important; content: none !important; }
.woocommerce .return-to-shop a.button { background: #fff !important; color: var(--jp-tinta) !important; border: 1px solid var(--jp-tinta) !important; }
/* Finalizar compra */
.woocommerce-checkout .col2-set { display: flex; gap: 40px; width: 100%; }
.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { float: none; width: 50%; }
.woocommerce-checkout #customer_details h3, .woocommerce-checkout #order_review_heading { font-size: 22px; }
.woocommerce-checkout #ship-to-different-address { font-size: 16px; }
.woocommerce-checkout #ship-to-different-address input { accent-color: var(--jp-marca); margin-right: 8px; }
.woocommerce-checkout #order_review_heading { margin-top: 36px; }
.woocommerce-checkout #order_review { background: var(--jp-hueso); border-radius: 18px; padding: 22px 26px 24px; }
.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table { border: 0; border-collapse: collapse; margin-bottom: 20px; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table th, .woocommerce-checkout table.woocommerce-checkout-review-order-table td { border: 0; border-top: 1px solid rgba(27, 24, 23, .1); padding: 12px 0; font-family: var(--jp-texto); font-size: 15px; color: var(--jp-tinta); background: transparent; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table thead th { border-top: 0; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--jp-gris); padding-top: 0; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-quantity { color: var(--jp-gris); }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot th { font-weight: 600; color: var(--jp-gris); }
.woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total th, .woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total td { font-family: var(--jp-display); font-size: 20px; font-weight: 700; color: var(--jp-tinta); }
.woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total td small { display: block; font-family: var(--jp-texto); font-size: 12px; font-weight: 400; color: var(--jp-gris); margin-top: 2px; }
.woocommerce-checkout #payment { background: transparent; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods { border: 0; padding: 0 0 6px; margin: 0; }
.woocommerce-checkout #payment ul.payment_methods li { background: #fff; border: 1px solid var(--jp-linea); border-radius: 14px; padding: 14px 16px; margin-bottom: 10px; font-family: var(--jp-texto); font-size: 15px; line-height: 1.4; }
.woocommerce-checkout #payment ul.payment_methods li > label { font-weight: 700; color: var(--jp-tinta); display: inline; }
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] { accent-color: var(--jp-marca); margin: 0 10px 0 0; vertical-align: -1px; }
.woocommerce-checkout #payment ul.payment_methods li img { max-height: 24px; margin-left: 8px; vertical-align: middle; }
.woocommerce-checkout #payment div.payment_box { background: var(--jp-hueso); border-radius: 10px; margin: 12px 0 0; padding: 12px 14px; font-size: 14px; color: var(--jp-gris); }
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #payment .place-order { padding: 10px 0 0; }
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper { font-size: 13px; color: var(--jp-gris); margin-bottom: 12px; }
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper a { color: var(--jp-marca); }
.woocommerce-checkout #payment #place_order, .woocommerce-checkout #payment .place-order .button { display: flex; justify-content: center; align-items: center; width: 100%; height: 56px; border-radius: 999px; font-size: 16px !important; font-weight: 700 !important; padding: 0 !important; float: none; }
.woocommerce-checkout .woocommerce-privacy-policy-text { font-size: 13px; color: var(--jp-gris); }
/* Mi cuenta */
.woocommerce-account .woocommerce-MyAccount-navigation { float: left; width: 24%; }
.woocommerce-account .woocommerce-MyAccount-content { float: right; width: 72%; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li { margin: 0 0 6px; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a { display: block; padding: 11px 16px; border-radius: 999px; font-family: var(--jp-texto); font-size: 15px; font-weight: 600; color: var(--jp-tinta); text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover { background: var(--jp-hueso); }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a { background: var(--jp-tinta); color: #fff; }
.woocommerce-account .woocommerce-MyAccount-content p, .woocommerce-account .woocommerce-MyAccount-content address { font-family: var(--jp-texto); font-size: 15px; line-height: 1.6; color: var(--jp-tinta); }
.woocommerce-account .woocommerce-MyAccount-content table.shop_table { border: 1px solid var(--jp-linea); border-radius: 16px; border-collapse: separate; border-spacing: 0; overflow: hidden; }
.woocommerce-account .woocommerce-MyAccount-content table.shop_table th { background: var(--jp-hueso); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--jp-gris); padding: 12px 14px; border: 0; }
.woocommerce-account .woocommerce-MyAccount-content table.shop_table td { padding: 12px 14px; border: 0; border-top: 1px solid var(--jp-linea); font-size: 14px; }
.woocommerce-account .woocommerce-MyAccount-content table.shop_table td .button { padding: 8px 14px !important; font-size: 13px !important; margin: 2px 4px 2px 0; }
.woocommerce-account .woocommerce-Addresses .woocommerce-Address { background: var(--jp-hueso); border-radius: 16px; padding: 20px 22px; }
.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title h2 { font-size: 18px; }
.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title .edit { color: var(--jp-marca); font-weight: 600; font-size: 13px; }
.woocommerce-account .u-columns.col2-set { display: flex; gap: 40px; }
.woocommerce-account .u-columns.col2-set .col-1, .woocommerce-account .u-columns.col2-set .col-2 { float: none; width: 50%; }
.woocommerce-account form.login, .woocommerce-account form.register, .woocommerce-account form.lost_reset_password, .woocommerce-ResetPassword { max-width: 560px; border: 1px solid var(--jp-linea) !important; border-radius: 18px !important; padding: 28px !important; margin: 0 auto 30px; }
.woocommerce-account form.login .woocommerce-form-login__rememberme { display: block; margin: 8px 0 14px; font-size: 14px; }
.woocommerce-account form.login .button, .woocommerce-account form.register .button, .woocommerce-ResetPassword .button { width: 100%; height: 52px; border-radius: 999px; font-size: 15px !important; }
.woocommerce-account .woocommerce-LostPassword { font-size: 14px; text-align: center; }
.woocommerce-account .woocommerce-LostPassword a { color: var(--jp-marca); font-weight: 600; }
.woocommerce .woocommerce-password-strength, .woocommerce .woocommerce-password-hint { font-size: 13px; }
.woocommerce .woocommerce-password-strength.strong { border-color: var(--jp-verde); }
/* Pedido recibido */
.woocommerce-order .woocommerce-thankyou-order-received { font-family: var(--jp-display); font-size: 26px; font-weight: 700; color: var(--jp-verde); margin-bottom: 18px; }
.woocommerce-order ul.woocommerce-thankyou-order-details { display: flex; flex-wrap: wrap; gap: 14px; list-style: none; margin: 0 0 28px; padding: 0; }
.woocommerce-order ul.woocommerce-thankyou-order-details li { border: 0 !important; background: var(--jp-hueso); border-radius: 14px; padding: 12px 18px !important; margin: 0 !important; font-size: 13px; color: var(--jp-gris); text-transform: none; }
.woocommerce-order ul.woocommerce-thankyou-order-details li strong { display: block; font-family: var(--jp-display); font-size: 18px; color: var(--jp-tinta); margin-top: 4px; }
.woocommerce-order table.shop_table.order_details { border: 1px solid var(--jp-linea); border-radius: 16px; border-collapse: separate; border-spacing: 0; overflow: hidden; }
.woocommerce-order table.shop_table.order_details th, .woocommerce-order table.shop_table.order_details td { border: 0; border-top: 1px solid var(--jp-linea); padding: 12px 14px; font-size: 14px; }
.woocommerce-order table.shop_table.order_details thead th { border-top: 0; background: var(--jp-hueso); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--jp-gris); }
@media (max-width: 980px) {
	.woocommerce-checkout .col2-set, .woocommerce-account .u-columns.col2-set { flex-wrap: wrap; gap: 0; }
	.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2, .woocommerce-account .u-columns.col2-set .col-1, .woocommerce-account .u-columns.col2-set .col-2 { width: 100% !important; flex: 0 0 100%; max-width: none; }
	.woocommerce-cart .coupon .button, .woocommerce-cart .coupon button { white-space: nowrap; }
	.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 26px; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul li { margin: 0; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul li a { padding: 9px 14px; font-size: 14px; }
	.woocommerce-cart .cart-collaterals .cart_totals { max-width: none; }
	.cross-sells ul.products, .up-sells ul.products { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
	body.woocommerce-cart #main-content .container, body.woocommerce-checkout #main-content .container, body.woocommerce-account #main-content .container { padding: 24px 16px 60px; }
	.woocommerce-cart table.shop_table.cart { border-radius: 14px; }
	.woocommerce-cart table.shop_table_responsive tr td { border-top: 0 !important; padding: 8px 16px !important; }
	.woocommerce-cart table.shop_table_responsive tr td.product-thumbnail { display: none; }
	.woocommerce-cart table.shop_table_responsive tr td.product-remove { padding-top: 16px !important; }
	.woocommerce-cart table.shop_table_responsive tr td.product-subtotal { padding-bottom: 16px !important; }
	.woocommerce-cart table.shop_table_responsive tr + tr td.product-remove { border-top: 1px solid var(--jp-linea) !important; }
	.woocommerce-cart table.shop_table.cart td.actions .coupon { float: none; display: flex; width: 100%; margin-bottom: 10px; }
	.woocommerce-cart table.shop_table.cart td.actions .coupon #coupon_code { width: 100%; flex: 1 1 auto; }
	.woocommerce-cart table.shop_table.cart td.actions > .button { float: none; width: 100%; }
	.woocommerce-checkout .form-row.form-row-first, .woocommerce-checkout .form-row.form-row-last { width: 100%; }
	.cross-sells ul.products, .up-sells ul.products { gap: 12px; }
}

/* ===========================================================================
   REDISEÑO 2026 — BLOG (Theme Builder: archivo y entrada)
   =========================================================================== */
.jp-blog-arch .et_pb_row, .jp-entrada .et_pb_row { width: 100% !important; padding-left: 24px !important; padding-right: 24px !important; }
.jp-blog-arch .et_pb_module, .jp-entrada .et_pb_module { margin-bottom: 0 !important; }
.jp-blog-cab-fila { max-width: var(--jp-ancho) !important; padding-top: 40px !important; padding-bottom: 0 !important; }
.jp-blog-lista-fila { max-width: var(--jp-ancho) !important; padding-top: 32px !important; padding-bottom: 90px !important; }
.jp-blog-cabecera .jp-eyebrow { display: block; }
.jp-blog-titulo { font-family: var(--jp-display); font-size: clamp(34px, 4vw, 52px); line-height: 1.05; letter-spacing: -.01em; color: var(--jp-tinta); margin: 0 0 12px; padding: 0; }
.jp-blog-descripcion { font-size: 17px; color: var(--jp-gris); max-width: 46em; }
.jp-blog-cabecera .jp-subcats { margin-top: 18px; }
/* Tarjetas del listado (módulo Blog en rejilla) */
.jp-blog-lista .et_pb_blog_posts.et_grid_module { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 36px 26px; }
.jp-blog-lista article.et_pb_post .post-content { font-size: 15px; color: var(--jp-gris); line-height: 1.6; margin-top: 8px; }
.jp-blog-lista article.et_pb_post .post-content p { padding-bottom: 0; }
.jp-blog-lista article.et_pb_post .post-content-inner { overflow: hidden; }
.jp-blog-lista .et_pb_ajax_pagination_container > .pagination, .jp-blog-lista .et_pb_blog_grid + .pagination, .jp-blog-arch .pagination { clear: both; display: flex; justify-content: space-between; margin-top: 40px; }
.jp-blog-arch .pagination a { display: inline-flex; align-items: center; height: 44px; padding: 0 20px; border: 1px solid var(--jp-tinta); border-radius: 999px; font-family: var(--jp-texto); font-weight: 700; font-size: 14px; color: var(--jp-tinta); text-decoration: none; }
.jp-blog-arch .pagination a:hover { background: var(--jp-tinta); color: #fff; }
.jp-blog-arch .wp-pagenavi, .jp-blog-arch .pagination .wp-pagenavi { display: flex; gap: 6px; }
/* Entrada */
.jp-entrada-migas-fila { max-width: var(--jp-ancho) !important; padding-top: 22px !important; padding-bottom: 0 !important; }
.jp-entrada-cab-fila { max-width: var(--jp-ancho) !important; padding-top: 20px !important; padding-bottom: 36px !important; }
.jp-entrada-cuerpo-fila { padding-top: 0 !important; padding-bottom: 50px !important; }
.jp-entrada-rel-fila { max-width: var(--jp-ancho) !important; padding-top: 0 !important; padding-bottom: 60px !important; }
.jp-entrada-com-fila { padding-top: 0 !important; padding-bottom: 90px !important; }
.jp-migas-actual { color: var(--jp-tinta); font-weight: 600; }
.jp-entrada-titulo .entry-title, .jp-entrada-titulo h1 { font-family: var(--jp-display); font-size: clamp(32px, 4vw, 52px) !important; line-height: 1.06 !important; letter-spacing: -.01em; color: var(--jp-tinta); max-width: 18em; margin: 0 0 14px !important; padding: 0 !important; text-wrap: balance; }
.jp-entrada-titulo .et_pb_title_meta_container, .jp-entrada-titulo .et_pb_title_meta_container a { font-family: var(--jp-texto); font-size: 14px; color: var(--jp-gris); }
.jp-entrada-titulo .et_pb_title_meta_container a { color: var(--jp-marca); font-weight: 600; text-decoration: none; }
.jp-entrada-titulo .et_pb_title_featured_container { margin-top: 28px; }
.jp-entrada-titulo .et_pb_title_featured_container img, .jp-entrada-titulo .et_pb_title_featured_image img { width: 100%; max-height: 560px; object-fit: cover; border-radius: var(--jp-radio); }
.jp-entrada-titulo .et_pb_image_wrap { display: block; border-radius: var(--jp-radio); overflow: hidden; }
.jp-entrada-cuerpo { font-family: var(--jp-texto); font-size: 18px; line-height: 1.72; color: var(--jp-tinta); }
.jp-entrada-cuerpo p { padding-bottom: 1.2em; }
.jp-entrada-cuerpo h2, .jp-entrada-cuerpo h3, .jp-entrada-cuerpo h4 { font-family: var(--jp-display); color: var(--jp-tinta); margin: 1.3em 0 .5em; padding: 0; line-height: 1.15; }
.jp-entrada-cuerpo h2 { font-size: 30px; }
.jp-entrada-cuerpo h3 { font-size: 24px; }
.jp-entrada-cuerpo h4 { font-size: 20px; }
.jp-entrada-cuerpo ul, .jp-entrada-cuerpo ol { padding-left: 1.3em; margin-bottom: 1.2em; }
.jp-entrada-cuerpo li { margin-bottom: .35em; }
.jp-entrada-cuerpo img { border-radius: 16px; height: auto; }
.jp-entrada-cuerpo blockquote { border-left: 4px solid var(--jp-marca); margin: 1.2em 0; padding: 4px 0 4px 22px; font-size: 20px; color: var(--jp-gris); }
.jp-entrada-cuerpo a { color: var(--jp-marca); text-decoration: underline; text-underline-offset: 3px; }
.jp-entrada-cuerpo table { border-collapse: collapse; width: 100%; font-size: 15px; margin-bottom: 1.4em; }
.jp-entrada-cuerpo th, .jp-entrada-cuerpo td { border: 1px solid var(--jp-linea); padding: 10px 12px; }
.jp-entrada-cuerpo .wp-block-image figcaption { font-size: 13px; color: var(--jp-gris); text-align: center; }
.jp-entrada-nav { margin-top: 36px !important; padding-top: 24px; border-top: 1px solid var(--jp-linea); display: flex !important; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.jp-entrada-nav .nav-previous, .jp-entrada-nav .nav-next { float: none !important; width: auto !important; max-width: 100%; }
.jp-entrada-nav .nav-next { margin-left: auto; }
.jp-entrada-nav .nav-previous a, .jp-entrada-nav .nav-next a { display: inline-flex; align-items: center; gap: 8px; height: 46px; padding: 0 20px; border: 1px solid var(--jp-tinta); border-radius: 999px; font-family: var(--jp-texto); font-weight: 700; font-size: 14px; color: var(--jp-tinta); text-decoration: none; max-width: 100%; }
.jp-entrada-nav .nav-previous a:hover, .jp-entrada-nav .nav-next a:hover { background: var(--jp-tinta); color: #fff; }
.jp-entrada-nav .nav-previous a .meta-nav, .jp-entrada-nav .nav-next a .meta-nav { white-space: nowrap; }
.jp-entrada-nav .nav-previous a .nav-label, .jp-entrada-nav .nav-next a .nav-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 260px; }
.jp-entrada-com-fila:not(:has(.jp-comentarios)) { display: none !important; }
.jp-entrada-cuerpo .wp-block-button__link, body.page:not(.home) .et-l--post .wp-block-button__link { display: inline-block; background: var(--jp-marca) !important; color: #fff !important; border: 0; border-radius: 999px !important; padding: 14px 26px !important; font-family: var(--jp-texto); font-size: 15px; font-weight: 700; text-decoration: none !important; }
.jp-entrada-cuerpo .wp-block-button__link:hover, body.page:not(.home) .et-l--post .wp-block-button__link:hover { background: var(--jp-marca-osc) !important; color: #fff !important; }
/* Más artículos (tarjetas HTML del shortcode) */
.jp-posts-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.jp-post-card-img { display: block; border-radius: 16px; overflow: hidden; background: #111; aspect-ratio: 16 / 9; }
.jp-post-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .25s ease; }
.jp-post-card:hover .jp-post-card-img img { transform: scale(1.03); }
.jp-post-card-titulo { font-family: var(--jp-texto); font-size: 19px; font-weight: 700; line-height: 1.35; margin: 14px 0 6px; padding: 0; }
.jp-post-card-titulo a { color: var(--jp-tinta); text-decoration: none; }
.jp-post-card-titulo a:hover { color: var(--jp-marca); }
.jp-post-card-meta { font-size: 13px; color: var(--jp-gris); margin: 0; padding: 0; }
/* Comentarios */
.jp-comentarios h1, .jp-comentarios h2, .jp-comentarios h3.comment-reply-title, .jp-comentarios #comments { font-family: var(--jp-display); font-size: 26px; color: var(--jp-tinta); }
.jp-comentarios .comment-reply-title { margin-bottom: 14px; }
.jp-comentarios .commentlist .comment_avatar img { border-radius: 50%; }
.jp-comentarios .comment-body { font-size: 15px; line-height: 1.6; }
.jp-comentarios .comment_postinfo { font-size: 13px; color: var(--jp-gris); }
.jp-comentarios .comment_postinfo .fn { font-weight: 700; color: var(--jp-tinta); }
.jp-comentarios .comment-form label { font-family: var(--jp-texto); font-size: 13px; font-weight: 600; }
.jp-comentarios .comment-form input[type="text"], .jp-comentarios .comment-form input[type="email"], .jp-comentarios .comment-form input[type="url"], .jp-comentarios .comment-form textarea { width: 100%; border: 1px solid var(--jp-linea) !important; border-radius: 12px !important; padding: 12px 14px !important; background: #fff !important; font-family: var(--jp-texto); font-size: 15px; color: var(--jp-tinta); }
.jp-comentarios .comment-form textarea { min-height: 140px; }
.jp-comentarios .comment-form .form-submit input, .jp-comentarios .comment-form .submit { background: var(--jp-marca) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; padding: 14px 26px !important; font-family: var(--jp-texto) !important; font-weight: 700 !important; font-size: 15px !important; }
.jp-comentarios .comment-form .form-submit input:hover { background: var(--jp-marca-osc) !important; }
.jp-comentarios .comment-form-cookies-consent { font-size: 13px; color: var(--jp-gris); }
.jp-comentarios .comment-form-cookies-consent input { accent-color: var(--jp-marca); margin-right: 6px; }
@media (max-width: 1100px) {
	.jp-blog-lista .et_pb_blog_posts.et_grid_module { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 980px) {
	.jp-blog-lista .et_pb_blog_posts.et_grid_module, .jp-posts-grid { grid-template-columns: 1fr !important; }
	.jp-entrada-cuerpo { font-size: 17px; }
	.jp-entrada-nav .nav-previous a .nav-label, .jp-entrada-nav .nav-next a .nav-label { max-width: 150px; }
}
@media (max-width: 480px) {
	.jp-blog-arch .et_pb_row, .jp-entrada .et_pb_row { padding-left: 16px !important; padding-right: 16px !important; }
	.jp-blog-cab-fila { padding-top: 24px !important; }
	.jp-blog-lista-fila, .jp-entrada-com-fila, .jp-entrada-rel-fila { padding-bottom: 56px !important; }
}

/* ===========================================================================
   REDISEÑO 2026 — PÁGINAS CORPORATIVAS (convertidas de Elementor a Divi 5)
   =========================================================================== */
body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_section.et_section_regular:not(.jp-home) { padding-top: 32px; padding-bottom: 32px; }
body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_section.et_section_regular:not(.jp-home):first-child { padding-top: 52px; }
body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_section.et_section_regular:not(.jp-home):last-child { padding-bottom: 90px; }
body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_row { width: 100%; max-width: 1040px; padding-left: 24px; padding-right: 24px; }
body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_heading h1.et_pb_module_header, body.page:not(.home):not(.woocommerce-page) .et-l--post h1.et_pb_module_header { font-family: var(--jp-display); font-size: clamp(32px, 3.8vw, 48px); line-height: 1.06; letter-spacing: -.01em; color: var(--jp-tinta); text-wrap: balance; }
body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_heading h2.et_pb_module_header, body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_text h2 { font-family: var(--jp-display); font-size: clamp(26px, 2.8vw, 34px); line-height: 1.12; color: var(--jp-tinta); }
body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_heading h3.et_pb_module_header, body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_text h3 { font-family: var(--jp-display); font-size: 24px; color: var(--jp-tinta); }
body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_text, body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_text p, body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_text li { font-family: var(--jp-texto); font-size: 17px; line-height: 1.7; color: var(--jp-tinta); }
body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_text p { padding-bottom: 1.1em; }
body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_text a:not(.jp-btn):not(.et_pb_button) { color: var(--jp-marca); text-decoration: underline; text-underline-offset: 3px; }
body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_divider { max-width: 64px; margin: 10px auto 24px; }
body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_divider::before { border-top: 3px solid var(--jp-marca) !important; border-radius: 3px; }
body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_image .et_pb_image_wrap, body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_image img { border-radius: 18px; }
body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_toggle, body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_accordion_item { border: 1px solid var(--jp-linea); border-radius: 14px; padding: 18px 22px; background: #fff; }
body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_toggle_title, body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_accordion_item .et_pb_toggle_title { font-family: var(--jp-texto); font-size: 17px; font-weight: 700; color: var(--jp-tinta); }
body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_toggle_content { font-size: 16px; line-height: 1.65; }
body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_contact_form .et_pb_contact_field input, body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_contact_form .et_pb_contact_field textarea, body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_contact_form .et_pb_contact_field select { background: #fff !important; border: 1px solid var(--jp-linea) !important; border-radius: 12px !important; padding: 12px 14px !important; font-family: var(--jp-texto) !important; font-size: 15px !important; color: var(--jp-tinta) !important; }
body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_contact_form .et_pb_contact_field input:focus, body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_contact_form .et_pb_contact_field textarea:focus { border-color: var(--jp-tinta) !important; }
body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_contact_form .et_pb_contact_submit, body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_contact_form .et_pb_button { background: var(--jp-marca) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; padding: 14px 28px !important; font-family: var(--jp-texto) !important; font-weight: 700 !important; font-size: 15px !important; }
body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_contact_form .et_pb_contact_submit:after, body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_contact_form .et_pb_button:after { display: none !important; }
body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_contact_form .et_pb_contact_field_options_title, body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_contact_form label { font-family: var(--jp-texto); font-size: 13px; font-weight: 600; }
body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_contact_form .et_pb_contact_field_checkbox, body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_contact_form .et_pb_contact_field_options_list { font-size: 14px; color: var(--jp-gris); }
body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_button:not(.jp-btn-mod) { border-radius: 999px !important; font-family: var(--jp-texto) !important; font-weight: 700 !important; padding: 14px 26px !important; background: var(--jp-marca) !important; color: #fff !important; border: 0 !important; }
body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_button:not(.jp-btn-mod):after { display: none !important; }
body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_blurb .et_pb_module_header { font-family: var(--jp-display); font-size: 20px; color: var(--jp-tinta); }
body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_blurb_description { font-size: 15px; color: var(--jp-gris); line-height: 1.6; }
body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_testimonial { background: var(--jp-hueso); border-radius: 18px; padding: 28px 30px; }
body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_testimonial_description { font-size: 16px; line-height: 1.65; }
body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_testimonial_author { font-family: var(--jp-display); font-weight: 700; color: var(--jp-tinta); }
body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_testimonial:before { color: var(--jp-marca); }
body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_gallery_image img, body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_gallery_image { border-radius: 14px; }
body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_gallery_title { font-family: var(--jp-texto); font-size: 15px; }
@media (max-width: 480px) {
	body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_row { padding-left: 16px; padding-right: 16px; }
	body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_section.et_section_regular:not(.jp-home):first-child { padding-top: 32px; }
	body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_text, body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_text p, body.page:not(.home):not(.woocommerce-page) .et-l--post .et_pb_text li { font-size: 16px; }
}

/* Botón flotante de WhatsApp (inc/ui.php) */
.jp-whatsapp {
	position: fixed; right: 18px; bottom: calc(18px + env(safe-area-inset-bottom, 0px)); z-index: 9990;
	width: 54px; height: 54px; box-sizing: border-box; border: 2px solid #fff; border-radius: 50%;
	background: #25d366; color: #fff; display: flex; align-items: center; justify-content: center;
	box-shadow: 0 3px 10px rgba(0, 0, 0, .22); transition: transform .15s ease, opacity .2s ease, visibility .2s;
}
.jp-whatsapp:hover { transform: scale(1.06); color: #fff; }
.jp-whatsapp svg { display: block; flex: 0 0 auto; width: 28px; height: 28px; fill: #fff; }
/* Se aparta mientras se ve el aviso de cookies o cuando un botón de compra queda justo debajo (JS en inc/ui.php). */
.jp-whatsapp.jp-wa-oculto,
body:has(#moove_gdpr_cookie_info_bar:not(.moove-gdpr-info-bar-hidden)) .jp-whatsapp { opacity: 0; visibility: hidden; pointer-events: none; }
@media (max-width: 767px) {
	.jp-whatsapp { right: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); width: 48px; height: 48px; }
	.jp-whatsapp svg { width: 25px; height: 25px; }
}

/* Aviso de cookies (GDPR Cookie Compliance): el enlace a la política se veía blanco sobre blanco. */
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-content p a:not(.mgbutton),
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-content p a:not(.mgbutton):visited { color: #a30004 !important; text-decoration: underline !important; font-weight: 600; }
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-content p a:not(.mgbutton):hover { color: #7a0003 !important; }

/* Política de cookies: tabla de cookies (en móvil, cada cookie en una ficha) y botón para reabrir la configuración. */
.jp-tabla-cookies { width: 100%; border-collapse: collapse; margin: 0 0 1.4em; font-size: 15px; line-height: 1.45; }
.jp-tabla-cookies th, .jp-tabla-cookies td { border: 1px solid #e7dfd5; padding: 9px 11px; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.jp-tabla-cookies th { background: #f6f1ea; font-weight: 700; }
.jp-tabla-cookies td:first-child { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 13px; }
@media (max-width: 767px) {
	.jp-tabla-cookies thead { display: none; }
	.jp-tabla-cookies, .jp-tabla-cookies tbody, .jp-tabla-cookies tr, .jp-tabla-cookies td { display: block; width: 100%; box-sizing: border-box; }
	.jp-tabla-cookies tr { border: 1px solid #e7dfd5; border-radius: 10px; margin-bottom: 12px; overflow: hidden; }
	.jp-tabla-cookies td { border: 0; border-bottom: 1px solid #f0eae2; }
	.jp-tabla-cookies td:last-child { border-bottom: 0; }
	.jp-tabla-cookies td::before { display: block; font-family: inherit; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: #7a6a5a; margin-bottom: 2px; }
	.jp-tabla-cookies td:nth-child(1) { background: #f6f1ea; }
	.jp-tabla-cookies td:nth-child(1)::before { content: "Cookie"; }
	.jp-tabla-cookies td:nth-child(2)::before { content: "Quién la instala"; }
	.jp-tabla-cookies td:nth-child(3)::before { content: "Para qué sirve"; }
	.jp-tabla-cookies td:nth-child(4)::before { content: "Duración"; }
}
.jp-configurar-cookies { display: inline-block; cursor: pointer; border: 0; border-radius: 999px; background: #a30004; color: #fff !important; font: inherit; font-weight: 700; padding: 12px 24px; text-decoration: none !important; }
.jp-configurar-cookies:hover { background: #7a0003; }
.jp-whatsapp .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Aviso de envío gratuito (carrito y checkout). Los avisos de WooCommerce son bandas de color de la
   marca con texto blanco (CSS heredado del Personalizador de Divi), así que la barra va en blanco. */
.jp-aviso-envio { position: relative; border-radius: 14px; }
.jp-aviso-envio a { color: #fff; text-decoration: underline; }
.jp-aviso-envio .jp-aviso-envio-barra { display: block; height: 6px; background: rgba(255, 255, 255, .35); border-radius: 3px; margin-top: 10px; overflow: hidden; }
.jp-aviso-envio .jp-aviso-envio-barra span { display: block; height: 100%; background: #fff; border-radius: 3px; }
.jp-aviso-envio.jp-aviso-envio--ok { background: #2e7d32 !important; border-top-color: #2e7d32; }
.jp-aviso-envio--ok::before { color: #fff; }

/* Recargo de contra reembolso en el resumen del pedido */
.woocommerce-checkout .fee th { font-weight: 400; }

/* Páginas convertidas: una sección Divi por bloque del original → menos relleno */
.et-l--post .et_pb_section.et_section_regular:not(.jp-home) { padding-top: 28px; padding-bottom: 28px; }
.et-l--post .et_pb_section.et_section_regular:not(.jp-home) + .et_pb_section.et_section_regular:not(.jp-home) { padding-top: 0; }
.et-l--post .et_pb_heading h2.et_pb_module_header { margin-bottom: 6px; }
/* (las reglas anteriores quedan matizadas por el bloque PÁGINAS CORPORATIVAS, más específico) */

/* Divi 5 separa las filas de una sección flex con 60px; en ficha y entrada basta con menos. */
.jp-producto.et_pb_section, .jp-entrada.et_pb_section, .jp-blog-arch.et_pb_section { row-gap: 24px; }
@media (max-width: 480px) {
	.jp-producto.et_pb_section, .jp-entrada.et_pb_section, .jp-blog-arch.et_pb_section { row-gap: 8px; }
}

/* La CSS del personalizador de Divi (.et-db #et-boc .et-l h2 { font-size: 34px }) pesa más que las reglas de tarjeta: se refuerza la especificidad. */
.et-db #et-boc .et-l .jp-prods ul.products li.product .woocommerce-loop-product__title, .et-db #et-boc .et-l .jp-listado ul.products li.product .woocommerce-loop-product__title, .et-db #et-boc .et-l .cross-sells ul.products li.product .woocommerce-loop-product__title, .et-db #et-boc .et-l .up-sells ul.products li.product .woocommerce-loop-product__title { font-family: var(--jp-texto) !important; font-size: 16px !important; font-weight: 700; line-height: 1.35 !important; }
.et-db #et-boc .et-l .jp-blog-lista .et_pb_post .entry-title, .et-db #et-boc .et-l .jp-posts-grid .jp-post-card-titulo { font-family: var(--jp-texto); font-size: 19px; font-weight: 700; line-height: 1.35; }
@media (max-width: 480px) {
	.et-db #et-boc .et-l .jp-prods ul.products li.product .woocommerce-loop-product__title, .et-db #et-boc .et-l .jp-listado ul.products li.product .woocommerce-loop-product__title, .et-db #et-boc .et-l .cross-sells ul.products li.product .woocommerce-loop-product__title, .et-db #et-boc .et-l .up-sells ul.products li.product .woocommerce-loop-product__title { font-size: 15px !important; }
}

/* Anchos de tarjeta: Divi y WooCommerce fuerzan width !important en móvil (45 %, 48 %…); en una rejilla CSS el ancho lo da la celda. */
.et-db #et-boc .et-l .jp-prods ul.products li.product:nth-child(n), .et-db #et-boc .et-l .jp-listado ul.products li.product:nth-child(n), .et-db #et-boc .et-l .et_pb_wc_related_products ul.products[class*="columns-"] li.product:nth-child(n), .et-db #et-boc .et-l .et_pb_wc_upsells ul.products[class*="columns-"] li.product:nth-child(n), body.woocommerce-page .jp-prods ul.products li.product:nth-child(n), body.woocommerce-page .jp-listado ul.products li.product:nth-child(n) { width: auto !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; float: none !important; }

/* ===========================================================================
   REDISEÑO 2026 — PÁGINAS DISEÑADAS (Quiénes somos, Qué dicen de nosotros, Ayuda, Contacto, envíos, pago, localizar)
   Secciones con clase jp-home jp-sec jp-pag (contenedor 1240, ritmo de 88 px). Generador: rediseno_paginas.py
   =========================================================================== */
.jp-pag.et_pb_section { row-gap: 40px; }
.jp-pag .jp-pag-hero-fila { align-items: center; gap: 56px; }
.jp-pag-hero-txt h1, #et-boc .et-l .jp-pag-hero-txt h1 { font-family: var(--jp-display); font-size: clamp(34px, 4.2vw, 56px); line-height: 1.04; letter-spacing: -.015em; margin: 14px 0 20px; padding: 0; color: var(--jp-tinta); }
.jp-pag-hero-txt .jp-lead, #et-boc .et-l .jp-pag-hero-txt p.jp-lead { font-size: 19px; line-height: 1.6; color: var(--jp-gris); max-width: 44em; padding: 0; }
.jp-pag-hero--texto .jp-pag-hero-txt { max-width: 860px; }
.et-l--post .et_pb_section.jp-pag-hero--texto, body .et-l--post .et_pb_section.jp-pag-hero--texto { padding-bottom: 36px !important; }
.jp-pag-hero .jp-ctas { margin-top: 26px; }
.jp-pag-foto { margin: 0; }
.jp-pag-foto img { width: 100%; height: auto; border-radius: 22px; display: block; object-fit: cover; }
.jp-pag-foto figcaption { font-size: 13px; color: var(--jp-gris); margin-top: 10px; }
.jp-pag-foto--pegada { margin-bottom: 24px; }
.jp-pag-foto--alta img { aspect-ratio: 4 / 5; max-width: 440px; margin: 0 auto; }
.jp-pag-historia-fila, .jp-pag-secadero-fila { gap: 56px; align-items: flex-start; }
.jp-pag-secadero-fila { align-items: center; }
.jp-linea { list-style: none; margin: 0; padding: 0; display: grid; gap: 28px; }
.jp-linea li { display: grid; grid-template-columns: 76px 1fr; gap: 18px; align-items: start; }
.jp-linea-ano { font-family: var(--jp-display); font-weight: 700; font-size: 22px; color: var(--jp-marca); line-height: 1.2; }
.jp-linea li > div { border-left: 2px solid var(--jp-linea); padding-left: 20px; }
.jp-linea b { display: block; font-family: var(--jp-display); font-size: 19px; margin-bottom: 4px; color: var(--jp-tinta); }
.jp-linea p, #et-boc .et-l .jp-linea p { font-size: 15px; line-height: 1.6; color: var(--jp-gris); padding: 0; margin: 0; }
.jp-pag-txt h2, #et-boc .et-l .jp-pag-txt h2 { font-family: var(--jp-display); font-size: clamp(28px, 3vw, 40px); line-height: 1.1; margin: 12px 0 18px; padding: 0; color: var(--jp-tinta); }
.jp-pag-txt p, #et-boc .et-l .jp-pag-txt p { font-size: 17px; line-height: 1.7; color: var(--jp-gris); padding-bottom: 1em; }
.jp-pag-txt a { color: var(--jp-marca); text-decoration: underline; text-underline-offset: 3px; }
.jp-pag-garantias .jp-cifras { margin-top: 44px; }
.jp-resenas-fila .jp-sec-cab { margin-bottom: 28px; }
.jp-cta-banda { display: flex; justify-content: space-between; align-items: center; gap: 32px; flex-wrap: wrap; padding: 56px 0; }
.jp-cta-banda h2, #et-boc .et-l .jp-cta-banda h2 { color: #fff; font-family: var(--jp-display); font-size: clamp(26px, 3vw, 38px); line-height: 1.1; margin: 10px 0 0; padding: 0; max-width: 18em; }
.jp-cta-banda .jp-eyebrow { color: #ff9a9d; display: block; }
.jp-btn-linea-blanca { border: 1.5px solid rgba(255, 255, 255, .6) !important; color: #fff !important; background: transparent !important; }
.jp-btn-linea-blanca:hover { background: #fff !important; color: var(--jp-tinta) !important; }
.jp-cta-banda .jp-btn svg { width: 16px; height: 16px; fill: currentColor; margin-right: 8px; }
/* Tarjetas de ayuda */
.jp-tarjetas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.jp-tarjetas--col { grid-template-columns: 1fr; }
.jp-tarjeta { position: relative; display: block; padding: 26px; border: 1px solid var(--jp-linea); border-radius: 20px; background: #fff; text-decoration: none; color: var(--jp-tinta); transition: transform .15s ease, box-shadow .15s ease; }
.jp-tarjeta:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(0, 0, 0, .08); }
.jp-tarjeta > svg { width: 32px; height: 32px; color: var(--jp-marca); margin-bottom: 16px; display: block; }
.jp-tarjeta b { display: block; font-family: var(--jp-display); font-size: 20px; margin-bottom: 6px; }
.jp-tarjeta span { display: block; font-size: 15px; color: var(--jp-gris); line-height: 1.55; padding-right: 36px; }
.jp-tarjeta em { position: absolute; right: 22px; bottom: 24px; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--jp-linea); display: grid; place-items: center; }
.jp-tarjeta em svg { width: 16px; height: 16px; color: var(--jp-tinta); }
.jp-tarjeta:hover em { background: var(--jp-marca); border-color: var(--jp-marca); }
.jp-tarjeta:hover em svg { color: #fff; }
/* Preguntas frecuentes */
.jp-faq-fila { gap: 48px; align-items: flex-start; }
.jp-faq-cab h2, #et-boc .et-l .jp-faq-cab h2 { font-family: var(--jp-display); font-size: clamp(28px, 3vw, 38px); line-height: 1.1; margin: 10px 0 14px; padding: 0; }
.jp-faq-cab p { color: var(--jp-gris); font-size: 16px; line-height: 1.6; margin-bottom: 22px; }
.jp-faq-cab .jp-eyebrow { display: block; }
.jp-faq .et_pb_accordion_item, .jp-faq .et_pb_toggle { border: 1px solid var(--jp-linea) !important; border-radius: 16px !important; background: #fff !important; padding: 20px 24px !important; margin-bottom: 12px !important; }
.jp-faq .et_pb_toggle_title { font-family: var(--jp-texto) !important; font-size: 17px !important; font-weight: 700 !important; color: var(--jp-tinta) !important; padding-right: 36px; }
.jp-faq .et_pb_toggle_title:before { color: var(--jp-marca) !important; }
.jp-faq .et_pb_toggle_open .et_pb_toggle_title { color: var(--jp-marca) !important; }
.jp-faq .et_pb_toggle_content, .jp-faq .et_pb_toggle_content p { font-size: 15.5px !important; line-height: 1.65 !important; color: var(--jp-gris) !important; padding-bottom: 0 !important; }
.jp-faq .et_pb_toggle_content a { color: var(--jp-marca); text-decoration: underline; text-underline-offset: 3px; }
/* Contacto rápido (banda de tres) */
.jp-contacto-banda { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.jp-contacto-banda a { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 24px 26px; background: var(--jp-hueso); border-radius: 18px; text-decoration: none; color: var(--jp-tinta); }
.jp-contacto-banda svg { width: 26px; height: 26px; color: var(--jp-marca); margin-bottom: 8px; }
.jp-contacto-banda b { font-family: var(--jp-display); font-size: 20px; word-break: break-word; }
.jp-contacto-banda span { font-size: 13px; color: var(--jp-gris); }
/* Contacto: datos + formulario */
.jp-contacto-fila { gap: 56px; align-items: flex-start; }
.jp-datos { display: grid; gap: 12px; margin-top: 30px; }
.jp-dato { display: flex; gap: 16px; align-items: center; padding: 16px 18px; border: 1px solid var(--jp-linea); border-radius: 16px; text-decoration: none; color: var(--jp-tinta); }
.jp-dato:hover { border-color: var(--jp-tinta); }
.jp-dato > svg { width: 26px; height: 26px; color: var(--jp-marca); flex: none; }
.jp-dato small { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--jp-gris); font-weight: 700; }
.jp-dato b { display: block; font-family: var(--jp-display); font-size: 19px; line-height: 1.2; word-break: break-word; }
.jp-dato em { display: block; font-style: normal; font-size: 13px; color: var(--jp-gris); }
.jp-form-col, .jp-caja { background: var(--jp-hueso); border-radius: 22px; padding: 34px; }
.jp-form-caja .jp-eyebrow { display: block; }
.jp-form-caja h2, #et-boc .et-l .jp-form-caja h2 { font-family: var(--jp-display); font-size: clamp(24px, 2.6vw, 32px); margin: 8px 0 22px; padding: 0; line-height: 1.15; }
.jp-form .et_pb_contact_field { margin-bottom: 14px !important; padding: 0 !important; }
.jp-form .et_pb_contact_field input, .jp-form .et_pb_contact_field textarea, .jp-form input.input, .jp-form textarea.input { width: 100%; background: #fff !important; border: 1px solid var(--jp-linea) !important; border-radius: 12px !important; padding: 14px 16px !important; font-family: var(--jp-texto); font-size: 15px; color: var(--jp-tinta); }
.jp-form .et_pb_contact_field input:focus, .jp-form .et_pb_contact_field textarea:focus { border-color: var(--jp-tinta) !important; outline: none; }
.jp-form .et_pb_contact_field textarea { min-height: 150px; }
.jp-form .et_pb_contact_right { display: flex; align-items: center; gap: 10px; }
.jp-form .et_pb_contact_right p { margin: 0; padding: 0; font-weight: 600; }
.jp-form .et_pb_contact_captcha { width: 80px !important; }
.jp-form .et_pb_contact_submit, .jp-form .et_pb_button { width: 100%; text-align: center; background: var(--jp-marca) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; padding: 15px 26px !important; font-family: var(--jp-texto) !important; font-weight: 700 !important; font-size: 15px !important; margin-top: 10px; }
.jp-form .et_pb_contact_submit:hover, .jp-form .et_pb_button:hover { background: var(--jp-marca-osc) !important; }
.jp-form .et_pb_contact_submit:after, .jp-form .et_pb_button:after { display: none !important; }
.jp-form .et-pb-contact-message { font-size: 15px; }
.jp-form-legal, #et-boc .et-l p.jp-form-legal { font-size: 12px; color: var(--jp-gris); line-height: 1.5; margin-top: 16px; padding: 0; }
.jp-form-legal a { color: var(--jp-marca); }
.jp-nota, #et-boc .et-l p.jp-nota { margin-top: 24px; padding: 14px 18px; background: var(--jp-hueso); border-radius: 14px; font-size: 14px; color: var(--jp-gris); }
.jp-nota a { color: var(--jp-marca); font-weight: 600; }
.jp-caja form.woocommerce-form-track-order p { font-size: 15px; color: var(--jp-gris); }
.jp-caja .form-row label { font-size: 13px; font-weight: 700; color: var(--jp-tinta); }
.jp-caja .form-row input.input-text { width: 100%; background: #fff; border: 1px solid var(--jp-linea); border-radius: 12px; padding: 14px 16px; font-family: var(--jp-texto); }
.jp-caja .form-row .button { width: 100%; background: var(--jp-marca) !important; color: #fff !important; border-radius: 999px !important; padding: 15px 26px !important; font-weight: 700 !important; margin-top: 8px; }
.jp-mapa iframe { width: 100%; height: 420px; border: 0; border-radius: 22px; display: block; }
.et-l--post .et_pb_section.jp-mapa-sec, body .et-l--post .et_pb_section.jp-mapa-sec { padding: 0 0 88px !important; }
.et-l--post .et_pb_section.jp-contacto-sec, body .et-l--post .et_pb_section.jp-contacto-sec { padding-bottom: 48px !important; }
/* Métodos de pago */
.jp-pagos-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.jp-pago { padding: 28px; border: 1px solid var(--jp-linea); border-radius: 20px; background: #fff; }
.jp-pago i { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: var(--jp-hueso); color: var(--jp-marca); margin-bottom: 18px; }
.jp-pago i svg { width: 26px; height: 26px; }
.jp-pago b { display: block; font-family: var(--jp-display); font-size: 19px; margin-bottom: 8px; color: var(--jp-tinta); }
.jp-pago p { font-size: 14.5px; line-height: 1.6; color: var(--jp-gris); margin: 0; padding: 0; }
.jp-pago-txt-fila { gap: 56px; align-items: center; }
/* Envíos y devoluciones */
.jp-resumen { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; padding: 28px; background: var(--jp-hueso); border-radius: 22px; }
.jp-resumen > div { display: flex; gap: 14px; align-items: flex-start; }
.jp-resumen svg { width: 26px; height: 26px; flex: none; color: var(--jp-marca); margin-top: 2px; }
.jp-resumen b { display: block; font-family: var(--jp-display); font-size: 18px; margin-bottom: 4px; color: var(--jp-tinta); }
.jp-resumen span { font-size: 14px; line-height: 1.5; color: var(--jp-gris); }
.et-l--post .et_pb_section.jp-resumen-sec, body .et-l--post .et_pb_section.jp-resumen-sec { padding: 0 !important; }
.et-l--post .et_pb_section.jp-politica-sec, body .et-l--post .et_pb_section.jp-politica-sec { padding-top: 56px !important; }
.jp-politica-fila { gap: 56px; }
/* El índice va pegajoso: la columna se estira a la altura de la fila y el módulo (no el nav) es el sticky */
.et-db #et-boc .et-l .jp-politica-fila.et_pb_row { align-items: stretch !important; }
.et-db #et-boc .et-l .jp-politica-fila > .et_pb_column:first-child { align-self: stretch !important; display: block !important; }
.et-db #et-boc .et-l .jp-politica-fila > .et_pb_column:first-child > .et_pb_module { position: sticky; top: calc(var(--jp-cab-alto, 84px) + 24px); }
.jp-indice { display: flex; flex-direction: column; }
.jp-indice b { font-family: var(--jp-display); font-size: 18px; margin-bottom: 10px; color: var(--jp-tinta); }
.jp-indice a { color: var(--jp-gris); text-decoration: none; padding: 10px 0; border-top: 1px solid var(--jp-linea); font-size: 15px; font-weight: 600; }
.jp-indice a:hover { color: var(--jp-marca); }
.jp-pag-txt--legal h2, #et-boc .et-l .jp-pag-txt--legal h2 { font-size: 26px; margin: 34px 0 14px; scroll-margin-top: 120px; }
.jp-pag-txt--legal h2:first-child { margin-top: 0; }
.jp-pag-txt--legal p, #et-boc .et-l .jp-pag-txt--legal p { font-size: 16px; }
/* Prensa (galerías con lightbox) */
.jp-anclas { margin: -18px 0 8px; }
.jp-prensa-titulo { font-family: var(--jp-display); font-size: 26px; margin: 0 0 8px; padding: 0; color: var(--jp-tinta); scroll-margin-top: 120px; }
.jp-prensa-txt { color: var(--jp-gris); font-size: 15px; line-height: 1.6; max-width: 60em; margin: 0 0 22px; padding: 0; }
.jp-prensa .et_pb_gallery_item { margin-bottom: 0 !important; }
.jp-prensa .et_pb_gallery_image { border-radius: 14px; overflow: hidden; border: 1px solid var(--jp-linea); background: #fff; }
.jp-prensa .et_pb_gallery_image img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; object-position: top; display: block; }
.jp-prensa .et_pb_gallery_title { font-family: var(--jp-texto); font-size: 13px; line-height: 1.4; color: var(--jp-gris); margin-top: 10px; }
.jp-prensa .et_pb_gallery_caption { display: none; }
.jp-prensa-fila + .jp-prensa-fila { margin-top: 8px; }
@media (max-width: 980px) {
	.jp-pag .jp-pag-hero-fila, .jp-pag-historia-fila, .jp-pag-secadero-fila, .jp-contacto-fila, .jp-faq-fila, .jp-politica-fila, .jp-pago-txt-fila { flex-wrap: wrap !important; gap: 32px; }
	.jp-pag .jp-pag-hero-fila > .et_pb_column, .jp-pag-historia-fila > .et_pb_column, .jp-pag-secadero-fila > .et_pb_column, .jp-contacto-fila > .et_pb_column, .jp-faq-fila > .et_pb_column, .jp-politica-fila > .et_pb_column, .jp-pago-txt-fila > .et_pb_column { width: 100% !important; flex: 0 0 100% !important; }
	.jp-tarjetas, .jp-contacto-banda, .jp-resumen { grid-template-columns: repeat(2, 1fr); }
	.jp-pagos-grid { grid-template-columns: repeat(2, 1fr); }
	.et-db #et-boc .et-l .jp-politica-fila > .et_pb_column:first-child > .et_pb_module { position: static; }
	.jp-indice { flex-direction: row; flex-wrap: wrap; gap: 8px; }
	.jp-indice b { width: 100%; }
	.jp-indice a { border: 1px solid var(--jp-linea); border-radius: 999px; padding: 8px 14px; }
	/* Galerías de prensa: Divi 5 mantiene 4-5 columnas en móvil → 3 / 2 */
	.et-db #et-boc .et-l .jp-prensa .et_pb_gallery_items { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 18px 16px; }
	.et-db #et-boc .et-l .jp-prensa .et_pb_gallery_item { width: auto !important; margin: 0 !important; float: none !important; clear: none !important; }
}
@media (max-width: 600px) {
	.jp-tarjetas, .jp-contacto-banda, .jp-resumen, .jp-pagos-grid { grid-template-columns: 1fr; }
	.jp-linea li { grid-template-columns: 60px 1fr; gap: 12px; }
	.jp-linea-ano { font-size: 18px; }
	.jp-form-col, .jp-caja { padding: 24px 18px; }
	.jp-cta-banda { padding: 40px 0; }
	.jp-mapa iframe { height: 300px; }
	.jp-pag-foto--alta img { max-width: 100%; }
	.et-db #et-boc .et-l .jp-prensa .et_pb_gallery_items { grid-template-columns: repeat(2, 1fr); }
}

/* ===========================================================================
   REDISEÑO 2026 — FOTOS SIN RECORTE (19/10). Las fotos nuevas son apaisadas 3:2; se muestran enteras en un
   marco 3:2 con fondo BLANCO y un borde fino del tono del fondo de la foto (inc/woocommerce.php añade
   .jp-foto--claro|oscuro|mixto): claro → borde línea (hueso), oscuro/mixto → borde negro. Cambio del 19/10.
   Tarjetas sin caja: foto grande, título, precio y botón "+" alineados abajo. Menos columnas, más foto.
   =========================================================================== */
.jp-foto { display: block; position: relative; width: 100%; aspect-ratio: 3 / 2; overflow: hidden; border-radius: 18px; background: #fff; border: 1px solid var(--jp-linea); isolation: isolate; }
.jp-foto--oscuro, .jp-foto--mixto { border-color: var(--jp-negro); }
/* Sobre banda hueso (portada, "Los más vendidos") el marco claro pasa a blanco para que se distinga */
.jp-vendidos-fila .jp-foto--claro, .jp-banda-hueso .jp-foto--claro { background: #fff; }
.jp-foto img, :is(.jp-prods, .jp-listado, .cross-sells, .up-sells) ul.products li.product .jp-foto img { position: relative; z-index: 1; display: block; width: 100% !important; height: 100% !important; max-width: none; object-fit: contain; object-position: center; margin: 0; transition: transform .45s cubic-bezier(.2, .7, .2, 1); }
.jp-foto .et_overlay { display: none !important; }
/* El envoltorio de Divi (.et_shop_image) deja de ser el marco */
:is(.jp-prods, .jp-listado, .cross-sells, .up-sells) ul.products li.product .et_shop_image { display: block; background: transparent !important; aspect-ratio: auto !important; overflow: visible !important; border-radius: 0; }
/* Tarjeta sin caja */
:is(.jp-prods, .jp-listado, .cross-sells, .up-sells) ul.products li.product:nth-child(n) { background: transparent !important; border: 0 !important; border-radius: 0 !important; overflow: visible !important; box-shadow: none !important; transform: none !important; padding: 0 !important; }
:is(.jp-prods, .jp-listado, .cross-sells, .up-sells) ul.products li.product > a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex: 1 1 auto; text-decoration: none; }
:is(.jp-prods, .jp-listado, .cross-sells, .up-sells) ul.products li.product:hover .jp-foto img { transform: scale(1.035); }
:is(.jp-prods, .jp-listado, .cross-sells, .up-sells) ul.products li.product .woocommerce-loop-product__title, .et-db #et-boc .et-l :is(.jp-prods, .jp-listado, .cross-sells, .up-sells) ul.products li.product .woocommerce-loop-product__title { padding: 16px 0 0 !important; margin: 0 !important; font-size: 16px !important; font-weight: 700; line-height: 1.35 !important; letter-spacing: 0; color: var(--jp-tinta) !important; transition: color .15s ease; text-wrap: pretty; }
:is(.jp-prods, .jp-listado, .cross-sells, .up-sells) ul.products li.product:hover .woocommerce-loop-product__title { color: var(--jp-marca) !important; }
:is(.jp-prods, .jp-listado, .cross-sells, .up-sells) ul.products li.product .price { margin: auto 0 0 !important; padding: 8px 58px 0 0 !important; font-size: 20px; line-height: 1.25; display: block; }
:is(.jp-prods, .jp-listado, .cross-sells, .up-sells) ul.products li.product .price del { font-size: .78em; }
:is(.jp-prods, .jp-listado, .cross-sells, .up-sells) ul.products li.product .price .woocommerce-price-suffix { display: inline !important; margin: 0 0 0 6px; font-size: 12px; font-weight: 500; color: var(--jp-gris-claro); white-space: nowrap; }
:is(.jp-prods, .jp-listado, .cross-sells, .up-sells) ul.products li.product a.jp-add { right: 0; bottom: -2px; width: 44px; height: 44px; box-shadow: 0 6px 16px rgba(163, 0, 4, .22); transition: transform .15s ease, background .15s ease; }
:is(.jp-prods, .jp-listado, .cross-sells, .up-sells) ul.products li.product a.jp-add:hover { transform: translateY(-1px); }
:is(.jp-prods, .jp-listado, .cross-sells, .up-sells) ul.products li.product span.onsale { top: 14px !important; left: 14px !important; }
/* Columnas: 2 en los listados con filtros, 3 en portada y relacionados */
.jp-listado ul.products, .jp-listado.et_pb_shop ul.products { grid-template-columns: repeat(2, 1fr); gap: 40px 28px; }
.jp-prods ul.products, .jp-relacionados ul.products, .cross-sells ul.products, .up-sells ul.products { grid-template-columns: repeat(3, 1fr); gap: 40px 28px; }
.jp-relacionados section.related > h2, .jp-relacionados .related.products > h2 { margin-bottom: 30px; }
@media (max-width: 1100px) {
	.jp-prods ul.products, .jp-relacionados ul.products, .cross-sells ul.products, .up-sells ul.products { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 980px) {
	.jp-listado ul.products, .jp-listado.et_pb_shop ul.products, .jp-prods ul.products, .jp-relacionados ul.products, .cross-sells ul.products, .up-sells ul.products { grid-template-columns: repeat(2, 1fr); gap: 32px 20px; }
	:is(.jp-prods, .jp-listado, .cross-sells, .up-sells) ul.products li.product .woocommerce-loop-product__title, .et-db #et-boc .et-l :is(.jp-prods, .jp-listado, .cross-sells, .up-sells) ul.products li.product .woocommerce-loop-product__title { padding: 12px 0 0 !important; font-size: 15px !important; }
	:is(.jp-prods, .jp-listado, .cross-sells, .up-sells) ul.products li.product .price { font-size: 18px; padding: 6px 52px 0 0 !important; }
	:is(.jp-prods, .jp-listado, .cross-sells, .up-sells) ul.products li.product a.jp-add { width: 40px; height: 40px; right: 0; bottom: 0; }
}
@media (max-width: 600px) {
	.jp-listado ul.products, .jp-listado.et_pb_shop ul.products { grid-template-columns: 1fr; gap: 32px; }
	.jp-prods ul.products, .jp-relacionados ul.products, .cross-sells ul.products, .up-sells ul.products { gap: 24px 14px; }
	.jp-foto { border-radius: 16px; }
}
/* Ficha: galería con el mismo marco; miniaturas 3:2 enteras */
.jp-galeria .woocommerce-product-gallery .woocommerce-product-gallery__wrapper { background: transparent; border-radius: 0; overflow: visible; }
.jp-galeria .woocommerce-product-gallery__image.jp-foto { aspect-ratio: 3 / 2; border-radius: var(--jp-radio); }
.jp-galeria .woocommerce-product-gallery__image.jp-foto > a { position: relative; z-index: 1; display: block; width: 100%; height: 100%; }
.jp-galeria .woocommerce-product-gallery__image.jp-foto img { width: 100%; height: 100%; object-fit: contain; }
.jp-galeria .woocommerce-product-gallery__image.jp-foto .zoomImg { z-index: 2; }
.jp-galeria .flex-viewport { border-radius: var(--jp-radio); }
.jp-galeria .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-top: 12px !important; }
.jp-galeria .flex-control-thumbs li { width: auto !important; margin: 0 !important; float: none; }
.jp-galeria .flex-control-thumbs li img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: contain; background: #fff; border-radius: 12px; border: 1px solid var(--jp-linea); opacity: .6; cursor: pointer; }
.jp-galeria .flex-control-thumbs li img.flex-active, .jp-galeria .flex-control-thumbs li img:hover { opacity: 1; border-color: var(--jp-marca); }
.jp-galeria .woocommerce-product-gallery__trigger { z-index: 5; }
@media (max-width: 480px) {
	.jp-galeria .flex-control-thumbs { grid-template-columns: repeat(4, 1fr); gap: 8px; }
	.jp-galeria .woocommerce-product-gallery__image.jp-foto { border-radius: 16px; }
}

/* ===========================================================================
   REDISEÑO 2026 — REMATES (19/10): cesta vacía, mi cuenta, migas en móvil, 404, aviso de cookies
   =========================================================================== */
/* Cesta vacía: estado centrado con icono, sin banda de aviso */
body.woocommerce-cart .wc-empty-cart-message .cart-empty.woocommerce-info, body.woocommerce-cart #main-content .wc-empty-cart-message .woocommerce-info { background: transparent !important; border: 0 !important; padding: 48px 0 6px !important; margin: 0 !important; text-align: center; font-family: var(--jp-display) !important; font-size: clamp(24px, 3vw, 32px) !important; font-weight: 700 !important; color: var(--jp-tinta) !important; line-height: 1.2 !important; }
body.woocommerce-cart .wc-empty-cart-message .cart-empty.woocommerce-info::before { content: "" !important; position: static !important; display: block !important; width: 76px; height: 76px; margin: 0 auto 20px; background: var(--jp-hueso) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a30004' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M3 6h2l2.4 10.2a2 2 0 0 0 2 1.6h7.6a2 2 0 0 0 2-1.5L21 8H7'/><circle cx='10' cy='21' r='1'/><circle cx='17' cy='21' r='1'/></svg>") center / 34px no-repeat; border-radius: 50%; }
.woocommerce-cart .wc-empty-cart-message + .return-to-shop { text-align: center; margin: 14px 0 64px; }
.woocommerce-cart .wc-empty-cart-message + .return-to-shop a.button { display: inline-flex; }
/* Mi cuenta (sin sesión): "Acceder" centrado sobre la tarjeta */
.woocommerce-account:not(.logged-in) #main-content h2 { text-align: center; }
/* Migas en móvil: solo "← padre" */
@media (max-width: 600px) {
	.jp-migas a:not(.jp-migas-padre), .jp-migas .jp-migas-sep, .jp-migas .jp-migas-actual { display: none; }
	.jp-migas a.jp-migas-padre::before { content: "← "; }
	.jp-migas a.jp-migas-padre { font-weight: 600; color: var(--jp-tinta) !important; }
}
/* Página no encontrada (404.php) */
.jp-404 { padding: 72px 24px 96px; }
.jp-404-inner { max-width: 720px; margin: 0 auto; text-align: center; }
.jp-404 .jp-eyebrow { padding-bottom: 14px; }
.jp-404-titulo { font-size: clamp(34px, 5vw, 56px); margin: 0 0 16px; }
.jp-404-texto { font-size: 17px; color: var(--jp-gris); line-height: 1.6; max-width: 36em; margin: 0 auto 28px; }
.jp-404-buscar { position: relative; max-width: 520px; margin: 0 auto 22px; }
.jp-404-buscar input[type="search"] { width: 100%; height: 56px; border: 1px solid var(--jp-tinta); border-radius: 999px; padding: 0 120px 0 22px; font-family: var(--jp-texto); font-size: 16px; color: var(--jp-tinta); background: #fff; }
.jp-404-buscar button { position: absolute; right: 6px; top: 6px; height: 44px; padding: 0 22px; border: 0; border-radius: 999px; background: var(--jp-marca); color: #fff; font-family: var(--jp-texto); font-weight: 700; font-size: 15px; cursor: pointer; }
.jp-404-buscar button:hover { background: var(--jp-marca-osc); }
.jp-404-botones { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-bottom: 36px; }
.jp-404-cats { justify-content: center; }
/* Aviso de cookies (Moove GDPR): blanco, tipografía de la marca, botón píldora granate */
body #moove_gdpr_cookie_info_bar, body #moove_gdpr_cookie_info_bar.moove-gdpr-dark-scheme { background: #fff !important; color: var(--jp-tinta) !important; box-shadow: 0 -10px 40px rgba(27, 24, 23, .12) !important; border-top: 1px solid var(--jp-linea); }
body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container { max-width: var(--jp-ancho); padding: 14px 24px !important; }
body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-content { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
body #moove_gdpr_cookie_info_bar .moove-gdpr-cookie-notice, body #moove_gdpr_cookie_info_bar .moove-gdpr-cookie-notice p { font-family: var(--jp-texto) !important; font-size: 14px !important; color: var(--jp-tinta) !important; line-height: 1.5 !important; margin: 0 !important; padding: 0 !important; text-align: left; }
body #moove_gdpr_cookie_info_bar button.change-settings-button { font-family: var(--jp-texto) !important; color: var(--jp-marca) !important; font-weight: 700 !important; text-decoration: underline !important; text-underline-offset: 3px; background: none !important; border: 0 !important; padding: 0 !important; font-size: 14px !important; }
body #moove_gdpr_cookie_info_bar .moove-gdpr-button-holder { margin: 0 !important; }
body #moove_gdpr_cookie_info_bar button.mgbutton, body #moove_gdpr_cookie_info_bar button.mgbutton.moove-gdpr-infobar-allow-all { background: var(--jp-marca) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; font-family: var(--jp-texto) !important; font-weight: 700 !important; font-size: 14px !important; padding: 12px 24px !important; line-height: 1.2 !important; margin: 0 !important; }
body #moove_gdpr_cookie_info_bar button.mgbutton:hover { background: var(--jp-marca-osc) !important; }
@media (max-width: 600px) {
	body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-content { justify-content: center; }
	body #moove_gdpr_cookie_info_bar .moove-gdpr-cookie-notice, body #moove_gdpr_cookie_info_bar .moove-gdpr-cookie-notice p { text-align: center; }
}
/* Cesta: miniatura 3:2 entera en el marco de su tono (inc/woocommerce.php → jp_cesta_miniatura) */
.woocommerce-cart table.shop_table.cart td.product-thumbnail { width: 120px; }
.woocommerce-cart table.shop_table.cart td.product-thumbnail .jp-foto { width: 96px; border-radius: 10px; }
.woocommerce-cart table.shop_table.cart td.product-thumbnail .jp-foto img { width: 100% !important; height: 100% !important; object-fit: contain; border-radius: 0; background: transparent; }
/* Botón de la tarjeta: icono de cesta (sin la clase .button de Divi, que pintaba la flecha al pasar el ratón); estados cargando y añadido */
:is(.jp-prods, .jp-listado, .cross-sells, .up-sells) ul.products li.product a.jp-add::before, :is(.jp-prods, .jp-listado, .cross-sells, .up-sells) ul.products li.product a.jp-add::after, .jp-add::before, .jp-add::after { display: none !important; content: none !important; }
.jp-add svg { display: block; width: 20px; height: 20px; }
.jp-add .jp-add-ok { display: none; }
.jp-add.added .jp-add-ico { display: none; }
.jp-add.added .jp-add-ok { display: block; }
.jp-add.added, .woocommerce ul.products li.product a.jp-add.added { background: var(--jp-verde) !important; }
.jp-add.loading, .woocommerce ul.products li.product a.jp-add.loading { opacity: 1; }
.jp-add.loading svg { opacity: 0; }
.jp-add.loading::after { content: "" !important; display: block !important; position: absolute; width: 18px; height: 18px; border: 2px solid rgba(255, 255, 255, .45); border-top-color: #fff; border-radius: 50%; animation: jp-gira .7s linear infinite; }
@keyframes jp-gira { to { transform: rotate(360deg); } }
/* El enlace "Ver cesta" que WooCommerce añade tras el botón no se muestra en la tarjeta */
:is(.jp-prods, .jp-listado, .cross-sells, .up-sells) ul.products li.product a.added_to_cart { display: none !important; }

/* jp-galeria-lcp · 26/10/2026: WooCommerce deja la galería de producto en opacity:0 hasta que carga su JS (que FlyingPress retrasa),
   y la foto principal tardaba en verse (LCP). Se muestra desde el principio; las miniaturas esperan a que el carrusel se monte. */
.woocommerce-product-gallery{opacity:1!important}
.woocommerce-product-gallery:not(:has(.flex-viewport)) .woocommerce-product-gallery__wrapper>.woocommerce-product-gallery__image:nth-child(n+2){display:none}
