/* LJM Filtros — aspecto del popup de JetSmartFilters que sustituye (medido el 27/10/2026): Montserrat, verde #39512C,
 * casillas redondas de 16 px con borde #DDD, listas de 180 px con barra fina y 40 px entre grupos. */
.ljm-filtros { font-family: 'Montserrat', sans-serif; color: #39512C; }
.ljm-filtros *, .ljm-filtros *::before { box-sizing: border-box; }

.ljm-filtros__grupo { border: 0; margin: 0 0 32px; padding: 0; min-width: 0; }
.ljm-filtros__grupo legend {
	font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px;
	margin: 0 0 10px; padding: 0; color: #39512C;
}

.ljm-filtros__lista {
	max-height: 180px; overflow-y: auto; padding-right: 5px;
	scrollbar-width: thin; scrollbar-color: #dcd4cb #fbf9f6;
}
.ljm-filtros__lista::-webkit-scrollbar { width: 4px; }
.ljm-filtros__lista::-webkit-scrollbar-track { background: #fbf9f6; }
.ljm-filtros__lista::-webkit-scrollbar-thumb { background-color: #dcd4cb; border-radius: 10px; }

.ljm-filtros__opcion {
	display: flex; align-items: center; gap: 8px; min-height: 30px; margin: 0;
	font-size: 16px; font-weight: 500; line-height: 1.2; cursor: pointer;
}
.ljm-filtros__opcion[hidden] { display: none; }
.ljm-filtros__nombre { flex: 1; }
.ljm-filtros__n { font-size: 13px; font-weight: 400; opacity: .55; }

/* Casillas y tramos de precio: círculo de 16 px; marcado = relleno verde con punto crema */
.ljm-filtros__opcion input {
	-webkit-appearance: none; appearance: none; flex: none; width: 16px; height: 16px; margin: 0;
	border: 2px solid #DDDDDD; border-radius: 50%; background: #fff; cursor: pointer; display: grid; place-content: center;
}
.ljm-filtros__opcion input::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #fbf9f6; transform: scale(0); transition: transform .12s; }
.ljm-filtros__opcion input:checked { background: #39512C; border-color: #39512C; }
.ljm-filtros__opcion input:checked::before { transform: scale(1); }
.ljm-filtros__opcion input:focus-visible { outline: 2px solid #8c7a6b; outline-offset: 2px; }
.ljm-filtros__opcion:hover .ljm-filtros__nombre { color: #2b3f21; }

/* doble clase: el tema pone a todo [type=search] un borde gris oscuro */
.ljm-filtros .ljm-filtros__buscador {
	width: 100%; height: 40px; margin: 0 0 12px; padding: 0 15px;
	background: #fff; border: 1px solid #efeae4; border-radius: 8px;
	font-family: inherit; font-size: 13.5px; color: #2c2b2a;
}
.ljm-filtros .ljm-filtros__buscador:focus { border-color: #8c7a6b; outline: none; }

/* «Eliminar filtros»: el botón de borde verde redondeado del popup actual; solo si hay algo marcado */
.ljm-filtros__limpiar {
	display: inline-block; margin: 0 0 20px; padding: 8px 18px;
	border: 1px solid #39512C; border-radius: 30px; background: transparent; color: #39512C;
	font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; text-decoration: none;
	transition: background-color .3s, color .3s;
}
.ljm-filtros__limpiar:hover, .ljm-filtros__limpiar:focus { background: #39512C; color: #fbf9f6; }
.ljm-filtros:not(.ljm-filtros--activo) .ljm-filtros__limpiar { display: none; }

/* «Ver resultados»: igual que «Añadir al carrito» de la ficha (medido el 27/10/2026); al pasar el ratón, el dorado común a
 * todos los botones de la web desde el 14/10. Doble clase: el kit de Elementor pone Courier Prime a todos los <button>. */
.ljm-filtros .ljm-filtros__aplicar {
	display: block; width: 100%; padding: 15px 30px; border: 0; border-radius: 8px; cursor: pointer;
	background: #556B2F; color: #fff; box-shadow: 0 4px 6px rgba(0, 0, 0, .15);
	font-family: 'Montserrat', sans-serif; font-size: 13.6px; font-weight: 700; line-height: 1; text-transform: uppercase; letter-spacing: 1px;
	transition: background-color .3s, color .3s, transform .3s, box-shadow .3s;
}
.ljm-filtros .ljm-filtros__aplicar:hover, .ljm-filtros .ljm-filtros__aplicar:focus-visible {
	background: #d4af37; color: #2b3f21; transform: translateY(-2px); box-shadow: 0 8px 20px rgba(212, 175, 55, .35);
}

/* Dedo: filas de 44 px como mínimo (objetivo táctil accesible); listas algo más altas para ver 6 opciones.
 * En el popup a pantalla completa, «Ver resultados» se queda abajo a la vista: es la única forma de aplicar. */
@media (pointer: coarse), (max-width: 767px) {
	.ljm-filtros__opcion { min-height: 44px; }
	.ljm-filtros__lista { max-height: 264px; }
	.ljm-filtros .ljm-filtros__aplicar { position: sticky; bottom: 0; box-shadow: 0 -12px 12px -4px #F2EFEC, 0 20px 0 0 #F2EFEC; } /* crema encima (difuminado) y debajo (tapa el hueco) */
}

/* Con sesión iniciada, common.min.css de Elementor pone `body.admin-bar .dialog-type-lightbox { position: sticky }` y el popup
 * se pinta al final de la página en vez de flotar (las clientas no cargan esa hoja). */
body.admin-bar .elementor-popup-modal.dialog-type-lightbox { position: fixed; }

/* Paginación de WooCommerce (sustituye a la de JetSmartFilters): sin los colores por defecto (morado y beige) */
.elementor-widget-wc-archive-products nav.woocommerce-pagination ul.page-numbers { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; border: 0; margin: 0; }
.elementor-widget-wc-archive-products nav.woocommerce-pagination ul.page-numbers li { border: 0; float: none; overflow: visible; }
.elementor-widget-wc-archive-products nav.woocommerce-pagination .page-numbers a,
.elementor-widget-wc-archive-products nav.woocommerce-pagination .page-numbers span {
	display: flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 10px;
	border: 1px solid #dcd4cb; border-radius: 4px; background: #fff; color: #39512C;
	font-family: 'Montserrat', sans-serif; font-size: 15px; font-weight: 500; line-height: 1; text-decoration: none;
}
.elementor-widget-wc-archive-products nav.woocommerce-pagination .page-numbers a:hover,
.elementor-widget-wc-archive-products nav.woocommerce-pagination .page-numbers a:focus { background: #efeae4; color: #2b3f21; }
.elementor-widget-wc-archive-products nav.woocommerce-pagination .page-numbers span.current { background: #39512C; border-color: #39512C; color: #fbf9f6; }
@media (pointer: coarse), (max-width: 767px) {
	.elementor-widget-wc-archive-products nav.woocommerce-pagination .page-numbers a,
	.elementor-widget-wc-archive-products nav.woocommerce-pagination .page-numbers span { min-width: 44px; height: 44px; }
}

/* Mientras se pide la página filtrada */
.ljm-cargando { opacity: .45; pointer-events: none; transition: opacity .15s; }

/* La cuadrícula recibe el foco al filtrar (para lectores de pantalla y teclado); no hace falta el recuadro. */
.elementor-widget-wc-archive-products:focus { outline: none; }

/* Aviso para lectores de pantalla («Mostrando los 29 resultados»): existe pero no se ve. */
.ljm-filtros__aviso { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
