/* Filtros Inoo – estilos base (todo se puede cambiar desde la pestaña Estilo) */
.fi-wrap, .fi-bar { font-family: var(--Roboto, Roboto), sans-serif; }
.fi-panel {
	--fi-group-gap: 20px;
	--fi-sep-style: solid;
	--fi-sep-color: #e3e3e3;
	--fi-sep-width: 1px;
	--fi-indent: 14px;
	--fi-box: 14px;
	--fi-box-bw: 1.5px;
	--fi-box-radius: 3px;
	--fi-box-gap: 8px;
	--fi-box-bg: #fff;
	--fi-box-bc: #c9cdd6;
	--fi-box-bc-h: #9aa0ab;
	--fi-box-bg-a: var(--Editorial, #e06218);
	--fi-box-bc-a: var(--Editorial, #e06218);
	--fi-check: #fff;
	--fi-max-h: 180px;
	--fi-sb-w: 8px;
	--fi-sb-r: 8px;
	--fi-sb-thumb: var(--Editorial, #e06218);
	--fi-sb-track: #fff;
	--fi-sb-gap: 8px;
	background: var(--Gris-claro, #f7f7f7);
	border-radius: 12px;
	padding: 24px 20px;
	box-sizing: border-box;
	transition: opacity .2s;
}
.fi-panel *, .fi-panel *::before, .fi-panel *::after { box-sizing: border-box; }

/* Grupos */
.fi-group + .fi-group {
	margin-top: var(--fi-group-gap);
	padding-top: var(--fi-group-gap);
	border-top: var(--fi-sep-width) var(--fi-sep-style) var(--fi-sep-color);
}
.fi-group__title {
	font-size: 15px;
	font-weight: 700;
	color: var(--Negro, #1b1b1b);
	line-height: 1.3;
	margin-bottom: 10px;
}
.fi-group.is-collapsible .fi-group__title {
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
	user-select: none;
}
.fi-group.is-collapsible .fi-group__title::after {
	content: "";
	width: 7px;
	height: 7px;
	border: solid #1a1a1a;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
	transition: transform .2s;
	flex: none;
	margin-right: 4px;
}
.fi-group.is-collapsed .fi-group__title::after { transform: rotate(-135deg); }
.fi-group.is-collapsed .fi-group__body { display: none; }
.fi-group.is-collapsed .fi-group__title { margin-bottom: 0; }

/* Lista */
.fi-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.fi-list.has-scroll {
	max-height: var(--fi-max-h);
	overflow-y: auto;
	padding-right: var(--fi-sb-gap);
	scrollbar-width: thin;
	scrollbar-color: var(--fi-sb-thumb) var(--fi-sb-track);
}
.fi-list.has-scroll::-webkit-scrollbar { width: var(--fi-sb-w); }
.fi-list.has-scroll::-webkit-scrollbar-track { background: var(--fi-sb-track); border-radius: var(--fi-sb-r); }
.fi-list.has-scroll::-webkit-scrollbar-thumb { background: var(--fi-sb-thumb); border-radius: var(--fi-sb-r); }

.fi-item { margin: 0; padding: 0 0 0 calc(var(--fi-depth, 0) * var(--fi-indent)); }
.fi-item.fi-extra, .fi-item.fi-nomatch { display: none; }
.fi-group.is-expanded .fi-item.fi-extra, .fi-group.is-searching .fi-item.fi-extra { display: block; }
.fi-group.is-searching .fi-item.fi-nomatch { display: none; }
.fi-group.is-searching .fi-more { display: none; }

.fi-option {
	display: flex;
	align-items: center;
	gap: var(--fi-box-gap);
	cursor: pointer;
	font-size: 15px;
	line-height: 1.5;
	color: var(--Negro-50, #8a8a8a);
	margin: 0;
	transition: color .15s;
	min-width: 0;
}
.fi-option:hover { color: #555; }
.fi-item.is-checked .fi-option { color: var(--Negro, #1b1b1b); }
.fi-truncate .fi-label { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.fi-label { flex: 0 1 auto; }
.fi-count { flex: none; opacity: .8; font-size: .9em; }

/* Casilla */
.fi-input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	margin: 0;
	pointer-events: none;
}
.fi-box {
	flex: none;
	position: relative;
	width: var(--fi-box);
	height: var(--fi-box);
	border: var(--fi-box-bw) solid var(--fi-box-bc);
	border-radius: var(--fi-box-radius);
	background: var(--fi-box-bg);
	transition: background .15s, border-color .15s;
}
.fi-option:hover .fi-box { border-color: var(--fi-box-bc-h); }
.fi-input:checked + .fi-box { background: var(--fi-box-bg-a); border-color: var(--fi-box-bc-a); }
.fi-input:checked + .fi-box::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 45%;
	width: 30%;
	height: 55%;
	border: solid var(--fi-check);
	border-width: 0 2px 2px 0;
	transform: translate(-50%, -50%) rotate(45deg);
}
.fi-input:focus-visible + .fi-box { outline: 2px solid var(--fi-box-bc-a); outline-offset: 2px; }

/* Buscador */
.fi-search {
	display: block;
	width: 100%;
	margin: 0 0 10px;
	padding: 7px 10px;
	font-size: 14px;
	line-height: 1.3;
	border: 1px solid #dcdfe4;
	border-radius: 6px;
	background: #fff;
	color: #333;
	outline: none;
}
.fi-search:focus { border-color: var(--Editorial, #e06218); }

/* Ver más */
.fi-more {
	display: inline-block;
	margin-top: 8px;
	padding: 0;
	border: 0;
	background: none;
	font-size: 14px;
	font-weight: 600;
	color: var(--Editorial, #e06218);
	cursor: pointer;
	text-decoration: underline;
}
.fi-more:hover, .fi-more:focus { background: none; color: #a94f1b; }

/* Acciones */
.fi-actions {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 10px;
	margin-top: var(--fi-group-gap);
}
.fi-apply {
	border: 0;
	border-radius: 6px;
	padding: 10px 16px;
	background: var(--Editorial, #e06218);
	color: #fff;
	font-weight: 600;
	cursor: pointer;
}
.fi-apply:hover { background: #a94f1b; }
.fi-clear {
	border: 0;
	background: none;
	padding: 0;
	color: #666;
	text-decoration: underline;
	cursor: pointer;
	font-size: 14px;
}
.fi-clear:hover, .fi-clear:focus { background: none; color: #1a1a1a; }

/* Carga */
.fi-loading { opacity: .45; pointer-events: none; transition: opacity .2s; }
.fi-empty { padding: 16px; border: 1px dashed #ccc; color: #777; font-size: 13px; }

/* ===== Barra de resultados y orden ===== */
.fi-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; width: 100%; }
.fi-results { margin: 0; font-size: 14px; color: var(--Negro-50, #8a8a8a); }
.fi-sort { --fi-sort-color: var(--Editorial, #e06218); display: flex; align-items: center; gap: 5px; }
.fi-sort__label { margin: 0; font-size: 14px; font-weight: 500; color: var(--Editorial, #e06218); white-space: nowrap; }
.fi-sort__wrap { position: relative; display: inline-flex; align-items: center; }
.fi-sort__wrap::after { content: ""; position: absolute; right: 4px; top: 50%; width: 7px; height: 7px; border: solid var(--fi-sort-color); border-width: 0 1.5px 1.5px 0; transform: translateY(-70%) rotate(45deg); pointer-events: none; }
.fi-sort__select { -webkit-appearance: none; appearance: none; field-sizing: content; background: transparent; border: 0 !important; box-shadow: none !important; padding: 0 20px; margin: 0; font: inherit; font-size: 14px; color: var(--fi-sort-color); cursor: pointer; outline: none !important; width: auto; min-width: 0; height: auto; line-height: 1.4; }
.fi-sort__select:hover, .fi-sort__select:focus, .fi-sort__select:focus-visible, .fi-sort__select:active { border: 0 !important; outline: none !important; box-shadow: none !important; background: transparent; color: var(--fi-sort-color); }
.fi-sort__select option { color: var(--Negro, #1b1b1b); }

/* ===== Panel móvil (oculto en escritorio) ===== */
.fi-wrap { --fi-d-w: min(88vw, 400px); --fi-d-bg: #fff; --fi-d-line: #e6e6e6; }
.fi-toggle, .fi-overlay, .fi-drawer__head, .fi-sort-m, .fi-filters-title, .fi-drawer__foot { display: none; }
.fi-drawer, .fi-drawer__body { display: contents; }
.fi-toggle { align-items: center; justify-content: center; gap: 8px; padding: 10px 18px; border: 1px solid var(--Negro, #1b1b1b); border-radius: 999px; background: #fff; color: var(--Negro, #1b1b1b); font-size: 15px; font-weight: 500; line-height: 1.2; cursor: pointer; }
.fi-toggle:hover, .fi-toggle:focus { background: var(--Gris-claro, #f7f7f7); color: var(--Negro, #1b1b1b); }
.fi-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--Editorial, #e06218); color: #fff; font-size: 12px; font-weight: 600; }
.fi-lock { overflow: hidden !important; }

@media (max-width: 1024px) {
	.fi-wrap.fi-mob-tablet .fi-toggle { display: inline-flex; }
	.fi-wrap.fi-mob-tablet .fi-overlay { display: block; position: fixed; inset: 0; z-index: 99998; background: rgba(0,0,0,.45); opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s; }
	.fi-wrap.fi-mob-tablet .fi-overlay[hidden] { display: block; }
	.fi-wrap.fi-mob-tablet .fi-drawer { display: flex; flex-direction: column; position: fixed; top: 0; bottom: 0; right: 0; z-index: 99999; width: var(--fi-d-w); max-width: 100vw; background: var(--fi-d-bg); box-shadow: -8px 0 30px rgba(0,0,0,.15); transform: translateX(105%); visibility: hidden; transition: transform .3s ease, visibility .3s; }
	.fi-wrap.fi-mob-tablet.fi-side-left .fi-drawer { right: auto; left: 0; transform: translateX(-105%); box-shadow: 8px 0 30px rgba(0,0,0,.15); }
	.fi-wrap.fi-mob-tablet.is-open .fi-drawer { transform: none; visibility: visible; }
	.fi-wrap.fi-mob-tablet.is-open .fi-overlay { opacity: 1; visibility: visible; }
	.fi-wrap.fi-mob-tablet .fi-drawer__head { display: flex; align-items: center; justify-content: center; position: relative; flex: none; padding: 18px 56px; border-bottom: 1px solid var(--fi-d-line); }
	.fi-wrap.fi-mob-tablet .fi-drawer__title { font-size: 17px; font-weight: 700; color: var(--Negro, #1b1b1b); }
	.fi-wrap.fi-mob-tablet .fi-close { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); display: inline-flex; padding: 8px; border: 0; background: none; color: var(--Negro, #1b1b1b); cursor: pointer; }
	.fi-wrap.fi-mob-tablet .fi-close:hover, .fi-wrap.fi-mob-tablet .fi-close:focus { background: none; color: var(--Editorial, #e06218); }
	.fi-wrap.fi-mob-tablet .fi-drawer__body { display: block; flex: 1 1 auto; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
	.fi-wrap.fi-mob-tablet .fi-section-title { display: block; padding: 16px 20px 8px; font-size: 15px; font-weight: 700; color: var(--Negro, #1b1b1b); }
	.fi-wrap.fi-mob-tablet .fi-sort-m { display: block; border-bottom: 1px solid var(--fi-d-line); padding-bottom: 14px; }
	.fi-wrap.fi-mob-tablet .fi-chips { display: flex; gap: 8px; overflow-x: auto; padding: 4px 20px; scrollbar-width: none; }
	.fi-wrap.fi-mob-tablet .fi-chips::-webkit-scrollbar { display: none; }
	.fi-wrap.fi-mob-tablet .fi-chip { flex: none; padding: 6px 12px; border: 1px solid #cfcfcf; border-radius: 6px; background: #fff; color: var(--Negro, #1b1b1b); font-size: 14px; line-height: 1.3; white-space: nowrap; cursor: pointer; }
	.fi-wrap.fi-mob-tablet .fi-chip:hover, .fi-wrap.fi-mob-tablet .fi-chip:focus { background: #fff; color: var(--Negro, #1b1b1b); border-color: var(--Editorial, #e06218); }
	.fi-wrap.fi-mob-tablet .fi-chip.is-active { background: #fdf0e8; border-color: var(--Editorial, #e06218); color: var(--Editorial, #e06218); font-weight: 500; }
	.fi-wrap.fi-mob-tablet .fi-panel { background: transparent; border-radius: 0; padding: 0 20px 20px; box-shadow: none; border: 0; }
	.fi-wrap.fi-mob-tablet .fi-panel > .fi-actions { display: none; }
	.fi-wrap.fi-mob-tablet .fi-drawer__foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex: none; padding: 14px 20px calc(14px + env(safe-area-inset-bottom)); border-top: 1px solid var(--fi-d-line); background: var(--fi-d-bg); }
	.fi-wrap.fi-mob-tablet .fi-drawer__foot .fi-apply { flex: 0 0 auto; min-width: 130px; border-radius: 999px; }
	.fi-wrap.fi-mob-tablet.fi-m-accordion .fi-group + .fi-group { margin-top: 0; padding-top: 0; border-top: 1px solid var(--fi-d-line); }
	.fi-wrap.fi-mob-tablet.fi-m-accordion .fi-group__title { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin: 0; padding: 14px 0; cursor: pointer; user-select: none; font-weight: 500; }
	.fi-wrap.fi-mob-tablet.fi-m-accordion .fi-group__title::after { content: ""; flex: none; width: 7px; height: 7px; margin-right: 4px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); transition: transform .2s; }
	.fi-wrap.fi-mob-tablet.fi-m-accordion .fi-group.is-open .fi-group__title::after { transform: rotate(-135deg); }
	.fi-wrap.fi-mob-tablet.fi-m-accordion .fi-group .fi-group__body { display: none; padding-bottom: 14px; }
	.fi-wrap.fi-mob-tablet.fi-m-accordion .fi-group.is-open .fi-group__body { display: block; }
	.fi-wrap.fi-mob-tablet .fi-list.has-scroll { max-height: none; overflow: visible; padding-right: 0; }
	.fi-wrap.fi-mob-tablet .fi-option { padding: 4px 0; }
}
@media (max-width: 767px) {
	.fi-wrap.fi-mob-mobile .fi-toggle { display: inline-flex; }
	.fi-wrap.fi-mob-mobile .fi-overlay { display: block; position: fixed; inset: 0; z-index: 99998; background: rgba(0,0,0,.45); opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s; }
	.fi-wrap.fi-mob-mobile .fi-overlay[hidden] { display: block; }
	.fi-wrap.fi-mob-mobile .fi-drawer { display: flex; flex-direction: column; position: fixed; top: 0; bottom: 0; right: 0; z-index: 99999; width: var(--fi-d-w); max-width: 100vw; background: var(--fi-d-bg); box-shadow: -8px 0 30px rgba(0,0,0,.15); transform: translateX(105%); visibility: hidden; transition: transform .3s ease, visibility .3s; }
	.fi-wrap.fi-mob-mobile.fi-side-left .fi-drawer { right: auto; left: 0; transform: translateX(-105%); box-shadow: 8px 0 30px rgba(0,0,0,.15); }
	.fi-wrap.fi-mob-mobile.is-open .fi-drawer { transform: none; visibility: visible; }
	.fi-wrap.fi-mob-mobile.is-open .fi-overlay { opacity: 1; visibility: visible; }
	.fi-wrap.fi-mob-mobile .fi-drawer__head { display: flex; align-items: center; justify-content: center; position: relative; flex: none; padding: 18px 56px; border-bottom: 1px solid var(--fi-d-line); }
	.fi-wrap.fi-mob-mobile .fi-drawer__title { font-size: 17px; font-weight: 700; color: var(--Negro, #1b1b1b); }
	.fi-wrap.fi-mob-mobile .fi-close { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); display: inline-flex; padding: 8px; border: 0; background: none; color: var(--Negro, #1b1b1b); cursor: pointer; }
	.fi-wrap.fi-mob-mobile .fi-close:hover, .fi-wrap.fi-mob-mobile .fi-close:focus { background: none; color: var(--Editorial, #e06218); }
	.fi-wrap.fi-mob-mobile .fi-drawer__body { display: block; flex: 1 1 auto; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
	.fi-wrap.fi-mob-mobile .fi-section-title { display: block; padding: 16px 20px 8px; font-size: 15px; font-weight: 700; color: var(--Negro, #1b1b1b); }
	.fi-wrap.fi-mob-mobile .fi-sort-m { display: block; border-bottom: 1px solid var(--fi-d-line); padding-bottom: 14px; }
	.fi-wrap.fi-mob-mobile .fi-chips { display: flex; gap: 8px; overflow-x: auto; padding: 4px 20px; scrollbar-width: none; }
	.fi-wrap.fi-mob-mobile .fi-chips::-webkit-scrollbar { display: none; }
	.fi-wrap.fi-mob-mobile .fi-chip { flex: none; padding: 6px 12px; border: 1px solid #cfcfcf; border-radius: 6px; background: #fff; color: var(--Negro, #1b1b1b); font-size: 14px; line-height: 1.3; white-space: nowrap; cursor: pointer; }
	.fi-wrap.fi-mob-mobile .fi-chip:hover, .fi-wrap.fi-mob-mobile .fi-chip:focus { background: #fff; color: var(--Negro, #1b1b1b); border-color: var(--Editorial, #e06218); }
	.fi-wrap.fi-mob-mobile .fi-chip.is-active { background: #fdf0e8; border-color: var(--Editorial, #e06218); color: var(--Editorial, #e06218); font-weight: 500; }
	.fi-wrap.fi-mob-mobile .fi-panel { background: transparent; border-radius: 0; padding: 0 20px 20px; box-shadow: none; border: 0; }
	.fi-wrap.fi-mob-mobile .fi-panel > .fi-actions { display: none; }
	.fi-wrap.fi-mob-mobile .fi-drawer__foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex: none; padding: 14px 20px calc(14px + env(safe-area-inset-bottom)); border-top: 1px solid var(--fi-d-line); background: var(--fi-d-bg); }
	.fi-wrap.fi-mob-mobile .fi-drawer__foot .fi-apply { flex: 0 0 auto; min-width: 130px; border-radius: 999px; }
	.fi-wrap.fi-mob-mobile.fi-m-accordion .fi-group + .fi-group { margin-top: 0; padding-top: 0; border-top: 1px solid var(--fi-d-line); }
	.fi-wrap.fi-mob-mobile.fi-m-accordion .fi-group__title { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin: 0; padding: 14px 0; cursor: pointer; user-select: none; font-weight: 500; }
	.fi-wrap.fi-mob-mobile.fi-m-accordion .fi-group__title::after { content: ""; flex: none; width: 7px; height: 7px; margin-right: 4px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); transition: transform .2s; }
	.fi-wrap.fi-mob-mobile.fi-m-accordion .fi-group.is-open .fi-group__title::after { transform: rotate(-135deg); }
	.fi-wrap.fi-mob-mobile.fi-m-accordion .fi-group .fi-group__body { display: none; padding-bottom: 14px; }
	.fi-wrap.fi-mob-mobile.fi-m-accordion .fi-group.is-open .fi-group__body { display: block; }
	.fi-wrap.fi-mob-mobile .fi-list.has-scroll { max-height: none; overflow: visible; padding-right: 0; }
	.fi-wrap.fi-mob-mobile .fi-option { padding: 4px 0; }
}
