.monocrom-buscador-form {
	display: flex;
	gap: 50px;
	justify-content: space-around;
}

@media ( max-width: 991px ) {
	.monocrom-buscador-form {
    	display: flex;
        gap: 20px;
        justify-content: space-around;
        flex-direction: column;
        align-items: flex-start;
    }
}

.monocrom-buscador-form label {
	text-transform: uppercase;
	color: rgb(81, 81, 81);
	font-weight: 600;
	font-family: "Raleway", Sans-serif;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    line-height: 12px;
    letter-spacing: 0.25px;
}

.monocrom-buscador-form .potencia-widget,
.monocrom-buscador-form .longitud-widget {
	width: 100%;
}

.monocrom-buscador-form > div:last-child {
	align-items: end;
	justify-content: center;
	min-width: auto;
}

.monocrom-campo-buscador {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 220px;
}

@media ( max-width: 1360px ) {
	.monocrom-campo-buscador {
    	min-width: auto;
    }
}

@media ( max-width: 991px ) {
	.monocrom-campo-buscador {
    	min-width: 100%!important;
    }
}



/* Reset visual para los <select> propios del plugin (tipo de producto, modo de operación). */
.monocrom-select {
	display: block;
	appearance: none;
	text-overflow: ellipsis;
	padding: 0;
	padding-right: 24px;
	padding-left: 2px;
	border-width: 0;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23B90B13' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right center !important;
	cursor: pointer;
	width: 100%;
	background-color: transparent !important;
}

.monocrom-select:focus {
	background-color: transparent !important;
	outline: none;
}

/* Fuerza a que el thumb del slider de longitud de onda llegue a los bordes exactos del track. */
.longitud-slider {
	width: calc( 100% + 18px ) !important;
}

.potencia-slider-min,
.potencia-slider-max,
.longitud-slider {
	padding: 0 !important;
	margin: 0 !important;
}

/* Tarjetas de resultado en la página de resultados de búsqueda. */
.monocrom-resultado-oculto {
	display: none !important;
}

/* Encabezado "Ésta es tu selección" en la página de resultados. */
.monocrom-titulo-seleccion {
	font-family: Anuphan, sans-serif;
	font-size: 36px;
	font-style: normal;
	font-weight: 300;
	letter-spacing: -0.25px;
	line-height: 36px;
	margin: 40px 0 30px;
}

/* Fila de chips de selección, independiente de las clases de Elementor. */
.monocrom-chips-fila {
	display: flex;
	flex-direction: row;
	background-color: #fff;
	box-shadow: 0px 5px 10px 0px rgba( 0, 0, 0, 0.058823529411764705 );
	border-radius: 18px;
	justify-content: space-between;
	align-items: center;
	padding: 12px;
}

@media (max-width: 768px) {
    .monocrom-chips-fila {
        padding: 30px;
    }
}



/* Lista de chips, repintada en JS al recalcular filtros (ver script inline del shortcode). */
.monocrom-chips-lista {
	display: flex;
	flex-direction: row;
	gap: 40px;
	align-items: center;
	justify-content: space-around;
	width: 100%;
}

@media (max-width: 1024px) {
    .monocrom-chips-lista {
        display: flex;
        flex-direction: row;
        gap: 20px;
        align-items: center;
        justify-content: flex-start;
        width: 100%;
        flex-wrap: wrap;
    }
}

@media ( max-width: 768px ) {
	.monocrom-chips-lista {
		display: flex;
        flex-direction: column;
        gap: 20px;
        align-items: start;
        justify-content: flex-start;
        width: 100%;
	}
}

.monocrom-chips-fila svg {
	width: 100%;
	max-width: 18px;
	max-height: 18px;
}

.monocrom-chip-icono {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #F4F5F9;
	padding: 8px;
	border-radius: 50%;
	flex-shrink: 0;
	width: 34px;
    height: 34px;
}

.monocrom-chip-texto {
	display: flex;
	flex-direction: column;
}

.monocrom-chips-fila i {
	font-size: 18px;
}


/* Título y subtítulo del chip, clases propias para no pisar otros estilos del sitio. */
.monocrom-chip-titulo {
	color: rgb( 25, 25, 25 );
	font-family: Raleway, sans-serif;
	font-size: 11px;
	font-style: normal;
	font-weight: 600;
	letter-spacing: 0.2px;
	line-height: 15px;
	text-transform: uppercase;
}

.monocrom-chip-subtitulo {
	color: rgb( 185, 11, 19 );
	font-family: Raleway, sans-serif;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	height: 18px;
	letter-spacing: 0.25px;
	line-height: 18px;
}

/* Sistema de botones propio del plugin, independiente de las clases de botón del theme. */
.monocrom-boton {
	display: inline-flex;
	align-items: center;
	justify-content: left;
	gap: 8px;
	text-decoration: none;
	cursor: pointer;
	border: 0;
	appearance: none;
	background: none;
	white-space: normal;
	transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.monocrom-boton-fullwidth {
	width: 100%;
}

.monocrom-boton-primario {
	background-color: #b90b13;
	color: #fff;
	font-family: Anuphan, sans-serif;
	font-size: 18px;
	font-weight: 400;
	padding: 20px 40px;
	border-radius: 3em;
	line-height: 20px;
}

@media ( max-width: 991px ) {
	.monocrom-boton-primario {
    	padding: 10px 40px;
    	width: 100%;
    }
}

.monocrom-boton-primario i {
	display:none;
}

.monocrom-boton-primario:hover {
	background-color: #191919;
}

.monocrom-boton-secundario {
	background-color: #e7e8ec;
	color: #191919;
	font-family: Raleway, sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.25px;
	text-transform: uppercase;
	padding: 10px 15px;
	border-radius: 3em;
	line-height: 16px;
}

.monocrom-boton-secundario:hover {
	background-color: #cfd0d3;
}

.monocrom-boton-fantasma {
	background-color: transparent;
	color: #515151;
	border: 1px solid #919191;
	font-family: Raleway, sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.25px;
	text-transform: uppercase;
	padding: 10px 15px;
	border-radius: 3em;
	line-height: 16px;
    width: fit-content;
}

.monocrom-boton-fantasma:hover {
	background-color: #fff;
}

/* Botón "Ver ficha técnica" de las tarjetas de resultado: icono + texto, sin borde. */
.monocrom-boton-pdf {
	color: rgb( 185, 11, 19 );
	font-family: "Raleway", sans-serif;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	line-height: 20px;
	letter-spacing: 0.25px;
}

.monocrom-boton-pdf:hover {
	color: #000;
}

.monocrom-boton-pdf svg {
	height: 14px;
	width: auto;
	flex-shrink: 0;
	fill: currentColor;
}

/* Dos columnas: filtros (25%) + rejilla de resultados (el resto). */
.monocrom-resultados-layout {
	display: grid;
	grid-template-columns: 25% 1fr;
	gap: 30px;
	margin-top: 30px;
	align-items: start;
}

@media ( max-width: 768px ) {
	.monocrom-resultados-layout {
    	display: flex;
        gap: 30px;
        margin-top: 30px;
        align-items: start;
        flex-direction: column;
    }
}

/* Rejilla de tarjetas de resultado, independiente de las variables CSS de Elementor.
   Las filas son automáticas (auto): con grid-template-rows fijo a 3, un resultado
   vacío/1/2 reservaba 3 filas + sus separadores igual, rompiendo el layout. */
#monocrom-resultados-grid {
	display: grid;
	grid-template-columns: repeat( 3, 1fr );
	grid-auto-rows: auto;
	grid-auto-flow: row;
	gap: 20px;
}

@media ( max-width: 1100px ) {
	#monocrom-resultados-grid {
    	display: grid;
    	grid-template-columns: repeat( 2, 1fr );
    	grid-auto-rows: auto;
    	grid-auto-flow: row;
    	gap: 20px;
    }
}

@media ( max-width: 768px ) {
	#monocrom-resultados-grid {
    	display: grid;
    	grid-template-columns: repeat( 1, 1fr );
    	grid-auto-rows: auto;
    	grid-auto-flow: row;
    	gap: 20px;
    	width: 100%;
    }
}

/* Chip individual dentro de la fila de selección. */
.monocrom-chip {
	display: flex;
	align-items: center;
	gap: 10px;
}

/* Panel de filtros, compartido por [monocrom_resultados] (#monocrom-refinar-busqueda)
   y [monocrom_ficha_producto] (.monocrom-ficha-panel-filtro). */
.monocrom-panel-refinar {
	display: flex;
	flex-direction: column;
	gap: 30px;
	align-items: stretch;
	border-radius: 18px 18px 18px 18px;
	box-shadow: 0px 5px 10px 0px rgba( 0, 0, 0, 0.058823529411764705 );
	padding: 30px 30px 18px 30px;
	height: auto;
	background-color: #fff;
}
@media ( max-width: 768px ) {
	.monocrom-panel-refinar {
    	width: 100%;
    }
}

/* Título "Afina tu búsqueda", clase propia en vez de las de Elementor. */
.monocrom-panel-titulo {
	color: rgb( 25, 25, 25 );
	font-family: Anuphan, sans-serif;
	font-size: 22px;
	font-style: normal;
	font-weight: 500;
	letter-spacing: -0.25px;
	line-height: 22px;
	margin: 0;
}

/* Título de artículo dentro de cada tarjeta de resultado. */
.monocrom-tarjeta-cabecera h3 {
	font-size: 17px;
	font-weight: 700;
	line-height: 17px;
	letter-spacing: -0.25px;
	margin-block: 5px;
}

/* Enlace de subfamilia dentro de la cabecera de la tarjeta (no es un botón). */
.monocrom-tarjeta-subfamilia {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #B90B13FF;
	font-family: "Anuphan", sans-serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 15px;
	letter-spacing: 0px;
}

.monocrom-form-refinar {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.monocrom-campo-refinar {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.monocrom-panel-refinar label {
	color: rgb( 81, 81, 81 );
	display: inline;
	font-family: Raleway, sans-serif;
	font-size: 11px;
	font-style: normal;
	font-weight: 600;
	letter-spacing: 0.25px;
	line-height: 12px;
	text-align: start;
	text-transform: uppercase;
}

.monocrom-panel-refinar .potencia-widget,
.monocrom-panel-refinar .longitud-widget {
	width: 100%;
}

.monocrom-botones-refinar {
	display: flex;
	flex-direction: column;
	gap: 12px;
	align-items: center;
}

/* Tarjeta de resultado, independiente de las clases de Elementor. */
.monocrom-tarjeta {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 15px 15px 10px 15px;
	border: 1px solid rgba( 212, 212, 212 );
}

.monocrom-tarjeta-cabecera {
	display: flex;
	flex-direction: column;
	gap: 2px;
	border-bottom: 1px solid rgba( 212, 212, 212 );
}

.monocrom-tarjeta-specs {
	display: flex;
	flex-direction: column;
	gap: 2px;
	border-bottom: 1px solid rgba( 212, 212, 212 );
	padding-bottom: 7px;
}

.monocrom-tarjeta-spec {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	gap: 8px;
}

.monocrom-tarjeta-spec > div {
	color: rgb( 25, 25, 25 );
	font-family: Raleway, sans-serif;
	font-size: 11px;
	font-style: normal;
	font-weight: 500;
	letter-spacing: 0.25px;
	line-height: 15px;
}

.monocrom-tarjeta-spec > div:nth-child( 2 ) {
	color: rgb( 128, 128, 128 );
}

.monocrom-tarjeta p {
	margin: 0;
}

.monocrom-tarjeta-cabecera > p {
	color: rgb( 25, 25, 25 );
	font-family: Raleway, sans-serif;
	font-size: 11px;
	font-style: normal;
	font-weight: 500;
	letter-spacing: 0.25px;
	line-height: 15px;
}

.monocrom-tarjeta-descripcion {
	color: rgb( 128, 128, 128 );
	font-family: Raleway, sans-serif;
	font-size: 11px;
	font-style: normal;
	font-weight: 500;
	letter-spacing: 0.25px;
	line-height: 15px;
}

/* Ficha de producto: 2 columnas (tabla 75% + filtro sticky), independiente de Elementor. */
#monocrom-ficha-raiz {
	display: grid;
	grid-template-columns: 75% 1fr;
	gap: 30px;
	align-items: start;
}

.monocrom-ficha-panel-tabla {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.monocrom-ficha-panel-filtro {
	position: sticky;
	top: 20px;
	z-index: 10;
}

@media ( max-width: 1024px ) {
	.monocrom-ficha-panel-filtro {
		position: relative;
		top: auto;
		z-index: auto;
	}
}
