/* Shisetsu Search Filters — DADS トークン準拠（子テーマ未導入時はフォールバック値） */
/* 「よく見られている施設」と同じ幅・同じカード表現にそろえる */
.entry-content .shisetsu-search-form.shisetsu-sf {
	max-width: none !important;
	width: 100%;
	background: var(--color-neutral-white, #fff) !important;
	border: 1px solid var(--color-neutral-solid-gray-200, #ccc);
	border-radius: var(--border-radius-12, 12px) !important;
	padding: 1.5rem !important;
}

.shisetsu-sf__hint {
	margin: -0.5rem 0 0.5rem;
	font-size: var(--font-size-14, 0.875rem);
	color: var(--color-neutral-solid-gray-600, #666);
}

.shisetsu-sf__details {
	margin-top: 1.25rem;
	border-top: 1px solid var(--color-neutral-solid-gray-200, #ccc);
	padding-top: 1rem;
}
.shisetsu-sf__details > summary {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-height: 2.75rem;
	font-weight: 700;
	color: var(--color-key-1000, #00118f);
	text-decoration: underline;
	text-underline-offset: 0.1875rem;
	cursor: pointer;
	list-style: none;
}
.shisetsu-sf__details > summary::-webkit-details-marker { display: none; }
.shisetsu-sf__details > summary::before {
	content: "";
	width: 0.5rem;
	height: 0.5rem;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(-45deg);
	transition: transform 0.1s;
}
.shisetsu-sf__details[open] > summary::before { transform: rotate(45deg); }
.shisetsu-sf__details > summary:focus-visible {
	outline: 4px solid var(--color-neutral-black, #000);
	outline-offset: 2px;
	background: var(--color-primitive-yellow-300, #ffd43d);
}

.shisetsu-sf__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem 2rem;
	margin-top: 1rem;
}
@media (max-width: 640px) {
	.shisetsu-sf__grid { grid-template-columns: 1fr; }
}

.shisetsu-sf__field { margin: 0; padding: 0; border: 0; min-width: 0; }
.shisetsu-sf__field > label,
.shisetsu-sf__field > legend {
	display: block;
	margin-bottom: 0.5rem;
	padding: 0;
	font-size: var(--font-size-16, 1rem);
	font-weight: 700;
	color: var(--color-neutral-solid-gray-800, #333);
}
.shisetsu-sf__field select,
.shisetsu-sf__field input[type="number"] {
	width: 100%;
	min-height: 3rem;
}

.shisetsu-sf__check {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	min-height: 2.75rem;
}
.shisetsu-sf__check input[type="checkbox"] { flex: none; width: 1.5rem; height: 1.5rem; margin: 0; }
.shisetsu-sf__check label { font-weight: 400; cursor: pointer; }

.shisetsu-sf__range-row { display: flex; align-items: center; gap: 0.5rem; }
.shisetsu-sf__range-row select,
.shisetsu-sf__range-row input { flex: 1; min-width: 0; }

.shisetsu-sf__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem 1.5rem;
	margin-top: 1.5rem;
}
.shisetsu-sf__clear { font-weight: 700; }

/* 検索結果上部 */
.shisetsu-sf-results {
	margin-bottom: 2rem;
	padding: 1.5rem;
	background: var(--color-neutral-white, #fff);
	border: 1px solid var(--color-neutral-solid-gray-200, #ccc);
	border-radius: var(--border-radius-8, 8px);
}
.shisetsu-sf-results__count { margin: 0 0 0.5rem; font-size: var(--font-size-18, 1.125rem); }
.shisetsu-sf-results__conds {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 1rem;
	padding: 0;
	list-style: none;
}
.shisetsu-sf-results__conds li {
	padding: 0.25rem 0.75rem;
	font-size: var(--font-size-14, 0.875rem);
	background: var(--color-key-50, #e8f1fe);
	border: 1px solid var(--color-key-200, #c5d7fb);
	border-radius: var(--border-radius-full, 9999px);
	color: var(--color-key-1100, #000071);
}
.shisetsu-sf-results .shisetsu-search-form {
	max-width: none;
	padding: 0 !important;
	border: 0;
	background: transparent !important;
}

/* 一覧カード */
.ast-article-post.type-shisetsu .entry-meta { display: none; }
.shisetsu-card__badges { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0.5rem 0 0; }
.shisetsu-card__badge {
	display: inline-block;
	padding: 0.125rem 0.625rem;
	font-size: var(--font-size-14, 0.875rem);
	font-weight: 700;
	line-height: 1.7;
	border-radius: var(--border-radius-4, 4px);
}
.shisetsu-card__badge--type {
	color: var(--color-neutral-white, #fff);
	background: var(--shisetsu-type, var(--color-key-900, #0017c1));
}

/* 類型の色分け（DADS プリミティブカラー／白文字とのコントラスト比 7:1 以上） */
.shisetsu-type-0 { --shisetsu-type: var(--color-primitive-blue-900, #0017c1); }    /* サ高住 */
.shisetsu-type-1 { --shisetsu-type: var(--color-primitive-green-900, #115a36); }   /* シニア分譲 */
.shisetsu-type-2 { --shisetsu-type: var(--color-primitive-orange-1000, #8b3200); } /* 有老ホーム */
.shisetsu-type-3 { --shisetsu-type: var(--color-primitive-magenta-900, #8b008b); }
.shisetsu-type-4 { --shisetsu-type: var(--color-primitive-cyan-1000, #006173); }
.shisetsu-type-5 { --shisetsu-type: var(--color-primitive-purple-900, #5109ad); }
.shisetsu-type-dot {
	display: inline-block;
	width: 0.75rem;
	height: 0.75rem;
	margin-right: 0.375rem;
	border-radius: 2px;
	background: var(--shisetsu-type);
	vertical-align: -0.05em;
}
.shisetsu-card__badge--note {
	color: var(--color-neutral-solid-gray-800, #333);
	background: var(--color-neutral-solid-gray-50, #f2f2f2);
	border: 1px solid var(--color-neutral-solid-gray-420, #949494);
}
.shisetsu-card__meta {
	margin: 0.75rem 0 0;
	padding-top: 0.75rem;
	border-top: 1px solid var(--color-neutral-solid-gray-200, #ccc);
	font-size: var(--font-size-14, 0.875rem);
	line-height: 1.6;
}
.shisetsu-card__row {
	display: grid;
	grid-template-columns: 5.5em 1fr;
	gap: 0.5rem;
	padding: 0.25rem 0;
}
.shisetsu-card__row dt {
	margin: 0;
	font-weight: 700;
	color: var(--color-neutral-solid-gray-600, #666);
}
.shisetsu-card__row dd { margin: 0; color: var(--color-neutral-solid-gray-800, #333); }

/* 選択肢ごとの施設数 */
.shisetsu-sf__count { margin-left: 0.125rem; color: var(--color-neutral-solid-gray-600, #666); }

/* ===== 絞り込み条件のレイアウト（幅広フォーム用） ===== */
.shisetsu-sf__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem 2.5rem;
	margin-top: 1.25rem;
}
@media (max-width: 960px) {
	.shisetsu-sf__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 2rem; }
}
@media (max-width: 640px) {
	.shisetsu-sf__grid { grid-template-columns: 1fr; }
}
/* チェック項目は横並びで折り返し、縦に長くならないように */
.shisetsu-sf__checks { display: flex; flex-wrap: wrap; align-content: flex-start; column-gap: 1.25rem; row-gap: 0; }
.shisetsu-sf__checks > legend { width: 100%; float: left; }
.shisetsu-sf__checks .shisetsu-sf__check { flex: 0 0 auto; max-width: 100%; }
.shisetsu-sf__check label { line-height: 1.5; }
/* 各項目の上端をそろえる */
.shisetsu-sf__field { align-self: start; }
/* 検索ボタン行: 区切り線の下に配置 */
.shisetsu-sf__actions {
	margin-top: 1.75rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--color-neutral-solid-gray-200, #ccc);
}
.shisetsu-sf__actions button { min-width: 12rem; }
@media (max-width: 640px) {
	.shisetsu-sf__actions button { width: 100%; }
	.shisetsu-sf__actions { justify-content: center; }
}
/* 見出し（label と legend）の高さをそろえて入力欄の位置を一致させる */
.shisetsu-sf__field > label,
.shisetsu-sf__field > legend { line-height: 1.7; margin: 0 0 0.5rem; }
.shisetsu-sf__range > legend { float: left; width: 100%; }
.shisetsu-sf__range > legend + * { clear: both; }

/* ---------- キーワードのみのフォーム ---------- */
.shisetsu-sf__to-filters { margin: 0.75rem 0 0; font-weight: 700; }

/* ---------- 最新の施設（カード横並び） ---------- */
.shisetsu-latest { margin: 3rem 0 0; }
.shisetsu-latest__title { margin: 0 0 1rem; font-size: var(--font-size-28, 1.75rem); }
.shisetsu-latest__list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.5rem;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
.shisetsu-latest__item { display: flex; margin: 0 !important; }
.shisetsu-latest__card {
	display: flex;
	flex-direction: column;
	width: 100%;
	padding: 1.25rem;
	background: var(--color-neutral-white, #fff);
	border: 1px solid var(--color-neutral-solid-gray-200, #ccc);
	border-radius: var(--border-radius-12, 12px);
}
.shisetsu-latest__name { margin: 0 0 0.75rem; font-size: var(--font-size-18, 1.125rem); line-height: 1.5; }
.shisetsu-latest__card .shisetsu-card__meta { margin-bottom: 0; }
.shisetsu-latest__more { margin: 1rem 0 0; text-align: right; font-weight: 700; }
@media (max-width: 1024px) { .shisetsu-latest__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px)  { .shisetsu-latest__list { grid-template-columns: 1fr; } }

.entry-content .shisetsu-latest__title { margin: 0 0 1rem; font-size: var(--font-size-28, 1.75rem); }
.entry-content .shisetsu-latest__name { margin: 0 0 0.25rem; font-size: var(--font-size-18, 1.125rem) !important; line-height: 1.5; }

/* 類型ラベル下の余白（段落の既定余白を打ち消す） */
.entry-content .shisetsu-card__badges,
.shisetsu-card__badges { margin-bottom: 0 !important; }
.shisetsu-latest__card .shisetsu-card__meta { margin-top: 1rem; }

/* 「この条件で検索」ボタンを中央に配置（クリアはその下） */
.shisetsu-sf__actions { flex-direction: column; justify-content: center; align-items: center; gap: 0.75rem; }
