/* Trayma Filtro por Rango — widget de rango. Sin dependencias. */
.widget_tfe .tfe{
	--tfe-accent:var(--primary-color,#0a4d8c);
	--tfe-track:#e2e6ea;
	--tfe-bar:#cfd6dd;
	--tfe-text:#333;
	--tfe-muted:#777;
	--tfe-thumb:26px;
	margin:0;padding:0;
}
.widget_tfe .tfe *{box-sizing:border-box}

/* Cabecera: rango seleccionado + selector de unidad */
.tfe-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.tfe-label{font-weight:600;font-size:.95em;color:var(--tfe-text);white-space:nowrap}
.tfe-units{display:inline-flex;border:1px solid var(--tfe-track);border-radius:999px;overflow:hidden;flex:none}
.tfe-unit{
	appearance:none;-webkit-appearance:none;border:0;background:transparent;margin:0;
	padding:3px 10px;min-height:28px;font-size:.8em;line-height:1;color:var(--tfe-muted);cursor:pointer;
	border-radius:0;box-shadow:none;text-transform:none;letter-spacing:0;font-weight:500;
}
.tfe-unit[aria-pressed="true"]{background:var(--tfe-accent);color:#fff}
.tfe-unit:focus-visible{outline:2px solid var(--tfe-accent);outline-offset:-2px}

/* Toggle de modo (corto / largo plazo) */
.tfe-modes{display:flex;border:1px solid var(--tfe-track);border-radius:999px;overflow:hidden;margin:0 0 10px}
.tfe-mode{
	appearance:none;-webkit-appearance:none;flex:1 1 0;border:0;margin:0;padding:0 10px;min-height:30px;background:transparent;
	color:var(--tfe-muted);font-size:.8em;line-height:1;cursor:pointer;box-shadow:none;text-transform:none;letter-spacing:0;font-weight:500;border-radius:0;
}
.tfe-mode[aria-pressed="true"]{background:var(--tfe-accent);color:#fff}
.tfe-mode:focus-visible{outline:2px solid var(--tfe-accent);outline-offset:-2px}

/* Atajos "≥ X" */
.tfe-presets{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 10px}
.tfe-preset{
	appearance:none;-webkit-appearance:none;margin:0;padding:0 10px;min-height:28px;border:1px solid var(--tfe-track);border-radius:999px;
	background:#fff;color:var(--tfe-text);font-size:.78em;line-height:1;cursor:pointer;box-shadow:none;text-transform:none;letter-spacing:0;font-weight:500;
}
.tfe-preset:hover{border-color:var(--tfe-accent);color:var(--tfe-accent)}
.tfe-preset[aria-pressed="true"]{background:var(--tfe-accent);border-color:var(--tfe-accent);color:#fff}
.tfe-help{margin:8px 0 0;font-size:.75em;line-height:1.35;color:var(--tfe-muted)}

/* Histograma: solo CSS, las barras fuera del rango se atenúan */
.tfe-hist{display:flex;align-items:flex-end;gap:2px;height:34px;padding:0 calc(var(--tfe-thumb)/2);margin-bottom:-2px}
.tfe-bar{flex:1 1 0;min-width:0;background:var(--tfe-accent);opacity:.55;border-radius:2px 2px 0 0;transition:opacity .15s}
.tfe-bar.is-out{background:var(--tfe-bar);opacity:1}

/* Slider doble con dos inputs range superpuestos */
.tfe-slider{position:relative;height:var(--tfe-thumb);margin:0}
.tfe-track{position:absolute;left:calc(var(--tfe-thumb)/2);right:calc(var(--tfe-thumb)/2);top:50%;height:4px;margin-top:-2px;background:var(--tfe-track);border-radius:2px}
.tfe-fill{position:absolute;top:0;bottom:0;background:var(--tfe-accent);border-radius:2px}
.tfe-range{
	-webkit-appearance:none;appearance:none;position:absolute;left:0;top:0;width:100%;height:var(--tfe-thumb);
	margin:0;padding:0;background:transparent;pointer-events:none;outline:none;
}
.tfe-range::-webkit-slider-runnable-track{height:var(--tfe-thumb);background:transparent;border:0}
.tfe-range::-moz-range-track{height:var(--tfe-thumb);background:transparent;border:0}
.tfe-range::-webkit-slider-thumb{
	-webkit-appearance:none;appearance:none;pointer-events:auto;cursor:grab;
	width:var(--tfe-thumb);height:var(--tfe-thumb);border-radius:50%;
	background:#fff;border:2px solid var(--tfe-accent);box-shadow:0 1px 3px rgba(0,0,0,.25);
}
.tfe-range::-moz-range-thumb{
	pointer-events:auto;cursor:grab;width:var(--tfe-thumb);height:var(--tfe-thumb);border-radius:50%;
	background:#fff;border:2px solid var(--tfe-accent);box-shadow:0 1px 3px rgba(0,0,0,.25);
}
.tfe-range:active::-webkit-slider-thumb{cursor:grabbing;background:var(--tfe-accent)}
.tfe-range:active::-moz-range-thumb{cursor:grabbing;background:var(--tfe-accent)}
.tfe-range:focus-visible::-webkit-slider-thumb{outline:3px solid rgba(10,77,140,.35)}
.tfe-range:focus-visible::-moz-range-thumb{outline:3px solid rgba(10,77,140,.35)}
.tfe-hi{z-index:2}
.tfe-lo.is-top{z-index:3}

/* Campos numéricos */
.tfe-inputs{display:flex;align-items:flex-end;gap:6px;margin-top:10px}
.tfe-field{flex:1 1 0;display:block;margin:0;font-weight:400;min-width:0;position:relative}
.tfe-field-label{display:block;font-size:.72em;color:var(--tfe-muted);margin-bottom:2px;text-transform:uppercase;letter-spacing:.03em}
.tfe-in{
	width:100%;height:38px;margin:0;padding:0 34px 0 8px;font-size:15px;
	border:1px solid #d0d5da;border-radius:4px;box-shadow:none;background:#fff;color:var(--tfe-text);
}
.tfe-in:focus{border-color:var(--tfe-accent);outline:none;box-shadow:0 0 0 2px rgba(10,77,140,.15)}
.tfe-field-unit{position:absolute;right:8px;bottom:0;height:38px;line-height:38px;font-size:.78em;color:var(--tfe-muted);pointer-events:none}
.tfe-sep{color:var(--tfe-muted);padding-bottom:10px;flex:none}

/* Acciones */
.tfe-actions{display:flex;align-items:center;gap:12px;margin-top:10px}
.tfe-actions .button.tfe-apply{margin:0;flex:none}
.tfe-reset{font-size:.85em;color:var(--tfe-muted);text-decoration:underline}
.tfe-reset:hover{color:var(--tfe-accent)}
.tfe-noscript{font-size:.85em}
.tfe-noscript input{width:70px}

/* Barra superior del listado con el rango activo */
.tfe-notice{
	display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;
	width:100%;margin:0 0 18px;padding:12px 16px;border:1px solid #e2e6ea;
	border-radius:4px;background:#f8f9fa;box-sizing:border-box;
}
.tfe-notice p{margin:0}
.tfe-notice-title{display:flex;align-items:center;gap:10px;font-size:1em;color:#333}
.tfe-notice-icons{display:inline-flex;gap:6px;flex:none}
.tfe-notice-icon{flex:none;color:var(--primary-color,#0a4d8c)}
.tfe-notice-icon-bg{fill:#fff;stroke:currentColor;stroke-width:1.2}
.tfe-notice-range{white-space:nowrap}
.tfe-notice-item{display:inline}
.tfe-notice-x{display:inline-block;margin-left:4px;width:20px;height:20px;line-height:18px;text-align:center;border:1px solid #c9d0d6;border-radius:50%;color:#777;font-size:14px;text-decoration:none;vertical-align:1px}
.tfe-notice-x:hover{border-color:#333;color:#333}
.tfe-notice-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tfe-notice-btn{
	display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px;border:1px solid #c9d0d6;border-radius:999px;
	font-size:.82em;line-height:1.2;box-sizing:border-box;color:#333;background:#fff;text-decoration:none;white-space:nowrap;
}
.tfe-notice-btn:hover{border-color:var(--primary-color,#0a4d8c);color:var(--primary-color,#0a4d8c)}
.tfe-notice-btn--all{background:var(--primary-color,#0a4d8c);border-color:var(--primary-color,#0a4d8c);color:#fff}
.tfe-notice-btn--all:hover{color:#fff;opacity:.9}
/* Botones de compartir (mismo dibujo que en /recursos/) */
.tfe-share{display:inline-flex;gap:6px;margin-right:6px}
.tfe-notice .tfe-share-btn{
	width:36px;height:36px;margin:0;padding:0;border:1px solid #c9d0d6;border-radius:50%;background:#fff;color:#333;
	display:inline-flex;align-items:center;justify-content:center;cursor:pointer;position:relative;line-height:0;
	box-shadow:none;text-decoration:none;min-height:0;
}
.tfe-notice .tfe-share-btn:hover,.tfe-notice .tfe-share-btn:focus-visible{border-color:#333;color:#333;background:#fff}
.tfe-share-btn svg{width:16px;height:16px}
.tfe-share-btn[data-tip]::after{
	content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);
	background:#333;color:#fff;font-size:12px;line-height:1;padding:5px 8px;border-radius:4px;white-space:nowrap;
	pointer-events:none;opacity:0;transition:opacity .12s;
}
.tfe-share-btn:hover::after,.tfe-share-btn:focus-visible::after,.tfe-share-btn.is-done::after{opacity:1}
.tfe-share-btn.is-done{border-color:#2e7d32;color:#2e7d32}
.tfe-only{margin:0}
@media (max-width:549px){.tfe-notice{padding:10px 12px}.tfe-notice-actions{width:100%}.tfe-notice-btn{flex:1 1 auto;text-align:center}}

/* Móvil / sidebar off-canvas: todo táctil */
@media (max-width:549px){
	.widget_tfe .tfe{--tfe-thumb:30px}
	.tfe-actions .button.tfe-apply{flex:1 1 auto}
}
@media (prefers-reduced-motion:reduce){.tfe-bar{transition:none}}

/* El atributo hidden debe ganar a los display del widget */
.widget_tfe [hidden]{display:none !important}
