:root {
	--ssc-accent: #003b93;
	--ssc-accent-dark: #00337F;
	--ssc-accent-text: #ffffff;
	--ssc-sub: #ffffff;
	--ssc-border: #d3def0;
	--ssc-bg-soft: #f5f9ff;
	--ssc-text-muted: #666;
	--ssc-radius: 8px;
}

.ssc-court-info { margin: 0 0 1.5em; }

.ssc-info-table { width: 100%; border-collapse: collapse; margin: 0 0 1em; }
.ssc-info-table th,
.ssc-info-table td { border: 1px solid var(--ssc-border); padding: .6em .8em; text-align: left; vertical-align: top; word-break: break-word; }
.ssc-info-table th { width: 8em; background: var(--ssc-bg-soft); font-weight: bold; white-space: nowrap; }

.ssc-buttons { display: flex; flex-wrap: wrap; gap: .6em; margin: 0 0 1em; }
.ssc-btn { display: inline-block; padding: .7em 1.4em; border-radius: var(--ssc-radius); background: var(--ssc-accent); color: var(--ssc-accent-text) !important; border: 2px solid var(--ssc-accent); text-decoration: none; font-weight: bold; }
.ssc-btn--sub { background: var(--ssc-sub); color: var(--ssc-accent) !important; }
.ssc-btn:hover,
.ssc-btn:focus { background: var(--ssc-accent-dark); border-color: var(--ssc-accent-dark); color: var(--ssc-accent-text) !important; }
.ssc-btn:focus-visible { outline: 3px solid var(--ssc-accent-dark); outline-offset: 2px; }

.ssc-map { margin: 0 0 .6em; }
.ssc-map a,
.ssc-card__title a,
.ssc-region__list a { color: var(--ssc-accent); }
.ssc-map a:hover,
.ssc-card__title a:hover,
.ssc-region__list a:hover { color: var(--ssc-accent-dark); }
.ssc-checked { font-size: .85em; color: var(--ssc-text-muted); margin: 0; }

.ssc-notice { margin: 1.5em 0; padding: 1em 1.2em; background: var(--ssc-bg-soft); border: 1px solid var(--ssc-border); border-left: 4px solid var(--ssc-accent); border-radius: var(--ssc-radius); }
.ssc-notice p { margin: 0; }

/* ショートコード：エリア一覧 */
.ssc-region { margin: 0 0 1.2em; }
.ssc-region__title { margin: 0 0 .5em; font-size: 1.05em; border-left: 4px solid var(--ssc-accent); padding-left: .6em; }
.ssc-region__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5em; }
.ssc-region__list li { margin: 0; }
.ssc-region__list a { display: inline-block; padding: .4em .9em; border: 1px solid var(--ssc-border); border-radius: 999px; text-decoration: none; background: var(--ssc-bg-soft); }
.ssc-count { color: var(--ssc-text-muted); font-size: .85em; }

/* ショートコード：コートカード */
.ssc-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1em; margin: 0 0 1.5em; }
.ssc-card { border: 1px solid var(--ssc-border); border-radius: var(--ssc-radius); padding: 1em; background: var(--ssc-bg-soft); }
.ssc-card__title { margin: 0 0 .5em; font-size: 1.05em; }
.ssc-card__meta { list-style: none; margin: 0 0 .6em; padding: 0; font-size: .9em; }
.ssc-card__meta li { margin: 0 0 .2em; }
.ssc-tags { margin: 0; display: flex; flex-wrap: wrap; gap: .3em; }
.ssc-tag { font-size: .75em; padding: .15em .7em; border-radius: 999px; background: var(--ssc-accent); color: var(--ssc-accent-text); }
.ssc-empty { color: var(--ssc-text-muted); }

/* テーマ（Affinger）の見出し装飾（帯・アイコン）を打ち消す */
.ssc-card .ssc-card__title,
.ssc-areas .ssc-region__title {
	background: none !important;
	box-shadow: none !important;
	margin: 0 0 .5em !important;
	padding: 0 !important;
	color: inherit !important;
	line-height: 1.5 !important;
	text-shadow: none !important;
}
.ssc-card .ssc-card__title { border: 0 !important; font-size: 1.05em !important; font-weight: bold; }
.ssc-areas .ssc-region__title { border: 0 !important; border-left: 4px solid var(--ssc-accent) !important; padding-left: .6em !important; font-size: 1.05em !important; }
.ssc-card .ssc-card__title::before,
.ssc-card .ssc-card__title::after,
.ssc-areas .ssc-region__title::before,
.ssc-areas .ssc-region__title::after { content: none !important; display: none !important; }
.ssc-card .ssc-card__title a { color: var(--ssc-accent) !important; text-decoration: none; font-weight: bold; }
.ssc-card .ssc-card__title a:hover { color: var(--ssc-accent-dark) !important; text-decoration: underline; }
.ssc-card__meta { padding-left: 1.2em; }

/* エリア・特徴アーカイブ：アイキャッチ未設定（テーマの no-img.png）の画像枠を非表示にする。
   アイキャッチを設定したコートは通常どおり画像が表示される。 */
body.tax-court_area #contentInner .kanren dl:has(dt img[src*="/images/no-img.png"]) dt,
body.tax-court_feature #contentInner .kanren dl:has(dt img[src*="/images/no-img.png"]) dt { display: none !important; }
body.tax-court_area #contentInner .kanren dl:has(dt img[src*="/images/no-img.png"]) dd,
body.tax-court_feature #contentInner .kanren dl:has(dt img[src*="/images/no-img.png"]) dd { margin-left: 0 !important; padding-left: 0 !important; }

/* エリア一覧：テーマの見出し余白・リストの黒丸を打ち消し、見出しの線と文字の間隔・ピルの並びをそろえる */
/* 地方見出しは h3 ではなく div（role="heading"）にして、テーマの h3 装飾（帯・左余白）の影響を受けないようにしている */
body .ssc-areas .ssc-region .ssc-region__title {
	margin: 0 0 .6em;
	padding: .15em 0 .15em .6em;
	border-left: 4px solid var(--ssc-accent);
	font-weight: bold;
	font-size: 1.05em;
	line-height: 1.5;
	text-align: left;
}
body .ssc-areas ul.ssc-region__list,
body .ssc-areas ul.ssc-region__list li {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
body .ssc-areas ul.ssc-region__list li::marker { content: none; }
body .ssc-areas ul.ssc-region__list li::before,
body .ssc-areas ul.ssc-region__list li::after { content: none !important; display: none !important; }
body .ssc-areas ul.ssc-region__list { gap: .5em; }

@media (max-width: 600px) {
	.ssc-info-table, .ssc-info-table tbody, .ssc-info-table tr, .ssc-info-table th, .ssc-info-table td { display: block; width: 100%; box-sizing: border-box; }
	.ssc-info-table th { border-bottom: 0; padding-bottom: .3em; }
	.ssc-info-table tr { margin-bottom: .6em; }
	.ssc-btn { flex: 1 1 100%; text-align: center; }
}
