/* 保護者の満足度（[freedom_island_satisfaction] / Elementor「保護者の満足度」） */
.fi-sat {
	--fi-sat-accent: #0e7490;
	--fi-sat-bar: #f59e0b;
	--fi-sat-bar-bg: #f3f4f6;
	--fi-sat-muted: #5b6168;
	--fi-sat-line: #e5e7eb;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.fi-sat__heading { margin: 0; }
.fi-sat__question {
	margin: 0;
	font-size: 0.82em;
	color: var(--fi-sat-muted);
	border-left: 3px solid var(--fi-sat-accent);
	padding: 6px 10px;
	background: rgba(14, 116, 144, 0.05);
}
.fi-sat__list { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.fi-sat__item { border-top: 1px solid var(--fi-sat-line); padding-top: 10px; min-width: 0; }
.fi-sat__head { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.fi-sat__label { font-weight: 700; }
.fi-sat__score { font-size: 1.7em; font-weight: 800; color: var(--fi-sat-accent); font-variant-numeric: tabular-nums; line-height: 1.1; }
.fi-sat__score small { font-size: 0.45em; color: var(--fi-sat-muted); font-weight: 600; }
.fi-sat__counts { margin: 4px 0 0; font-size: 0.8em; color: var(--fi-sat-muted); font-variant-numeric: tabular-nums; }
.fi-sat__dist { margin-top: 6px; font-size: 0.8em; }
.fi-sat__dist summary { cursor: pointer; color: var(--fi-sat-accent); }
.fi-sat__bars { display: grid; grid-template-columns: 2.6em 1fr 3em; gap: 3px 6px; align-items: center; margin-top: 6px; color: var(--fi-sat-muted); font-variant-numeric: tabular-nums; }
.fi-sat__bar { height: 8px; background: var(--fi-sat-bar-bg); border-radius: 4px; overflow: hidden; }
.fi-sat__bar i { display: block; height: 100%; background: var(--fi-sat-bar); }
.fi-sat__note { margin: 0; font-size: 0.75em; color: var(--fi-sat-muted); }
.fi-sat--error { padding: 10px; border: 1px dashed #dc2626; color: #b91c1c; font-size: 0.85em; }
