/* ============================================================
   四谷ローズクリニック 症例ページ — case.css
   クラスプレフィックス: .rose-case-
   SWELL 子テーマ専用。症例ページ以外には適用しない。
   ============================================================ */

/* ── CSS カスタムプロパティ ──────────────────────────────── */
.rose-case-main,
.rose-case-main--detail {
	/* 進行度カラー */
	--rc-c-mild:            #ecffe9;
	--rc-c-mild-border:     #86dd7b;
	--rc-c-mild-label:      #3d8a2a;
	--rc-c-moderate:        #fdf9ee;
	--rc-c-moderate-border: #f4e03a;
	--rc-c-moderate-label:  #c47a00;
	--rc-c-severe:          #ffddbc;
	--rc-c-severe-border:   #ffa537;
	--rc-c-severe-label:    #c04b00;

	/* ニュートラル */
	--rc-c-primary:       #ffa537;
	--rc-c-primary-dark:  #e08820;
	--rc-c-primary-light: #fff5eb;
	--rc-c-bg:            #f0f0f0;
	--rc-c-white:         #fdfdfd;
	--rc-c-text:          #333333;
	--rc-c-muted:         #7a7a7a;
	--rc-c-border:        #dcdcdc;
	--rc-c-ph-before:     #d4e8f5;
	--rc-c-ph-after:      #bdf9c3;

	/* ユーティリティ */
	--rc-radius:      6px;
	--rc-shadow:      0 1px 4px rgba(0,0,0,.08);
	--rc-shadow-card: 0 2px 8px rgba(0,0,0,.10);
	--rc-max-width:   1200px;
}

/* ── メインレイアウト ─────────────────────────────────────── */
.rose-case-main {
	max-width: var(--rc-max-width);
	margin: 0 auto;
	padding: 24px 16px 56px;
}

/* ── アイキャッチ（一覧ページ左カラム上部）──────────────── */
.rose-case-eyecatch {
	display: block;
	width: 100%;
	max-height: 340px;
	object-fit: cover;
	object-position: center 20%;
	border-radius: var(--rc-radius);
	margin-bottom: 20px;
	box-shadow: var(--rc-shadow-card);
}

/* 女性ページ：カードの治療前/後を 4:3 の箱で高さを揃える。
   実画像の大半は 1200x900＝4:3 でそのまま全体表示になるが、一部 4:3 でない画像
   （横長寄り等）が混じり、contain だと上下に余白が出て左右で高さがズレる。
   cover にして箱の高さを埋め（必要なら左右をトリミング）、前後の高さを必ず揃える。 */
.rose-case-main--woman .rose-case-card__img-wrap img,
.rose-case-main--woman .rose-case-card__placeholder {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	background: #f7f7f7;
}

/* 男性ページ：カード画像を全体表示（横長 4:3 を丸ごと見せる）。
   治療前/後は従来どおり左右の横並び（.rose-case-card__images の 1fr 1fr を維持）。 */
.rose-case-main--man .rose-case-card__img-wrap img,
.rose-case-main--man .rose-case-card__placeholder {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: contain;
	background: #f7f7f7;
}

.rose-case-page-h1 {
	font-size: clamp(18px, 2.5vw, 24px);
	font-weight: 700;
	padding-bottom: 16px;
	margin-bottom: 4px;
}

/* PC: 左（フィルター+一覧） / 右（進行度ガイド） */
.rose-case-content-grid {
	display: grid;
	grid-template-columns: 1fr 380px;
	gap: 24px;
	align-items: start;
}

@media (max-width: 900px) {
	.rose-case-content-grid {
		grid-template-columns: 1fr;
	}
}

/* ── 絞り込みセクション ──────────────────────────────────── */
.rose-case-filter {
	background: var(--rc-c-white);
	border: 1px solid var(--rc-c-border);
	border-radius: var(--rc-radius);
	padding: 18px 20px;
	margin-bottom: 20px;
	box-shadow: var(--rc-shadow);
}

.rose-case-filter__title {
	font-size: 14px;
	font-weight: 700;
	color: var(--rc-c-primary-dark);
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 14px;
}

.rose-case-filter__title::before {
	content: '';
	display: inline-block;
	width: 4px;
	height: 16px;
	background: var(--rc-c-primary);
	border-radius: 2px;
	flex-shrink: 0;
}

.rose-case-filter__result {
	display: inline-block;
	font-size: 13px;
	font-weight: 700;
	color: var(--rc-c-primary-dark);
	background: var(--rc-c-primary-light);
	border: 1px solid #aed6ea;
	padding: 4px 16px;
	border-radius: 20px;
	margin-bottom: 16px;
}

.rose-case-filter__group {
	margin-bottom: 12px;
}

.rose-case-filter__label {
	display: block;
	font-size: 12px;
	font-weight: 700;
	color: var(--rc-c-muted);
	letter-spacing: .06em;
	margin-bottom: 8px;
}

.rose-case-filter__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.rose-case-filter__btn {
	padding: 5px 16px;
	border: 1.5px solid var(--rc-c-border);
	border-radius: 20px;
	background: var(--rc-c-white);
	color: var(--rc-c-text);
	font-size: 13px;
	line-height: 1;
	transition: all .18s ease;
	cursor: pointer;
}

.rose-case-filter__btn:hover:not(.is-active) {
	border-color: var(--rc-c-primary);
	color: var(--rc-c-primary);
}

.rose-case-filter__btn.is-active {
	background: var(--rc-c-primary);
	border-color: var(--rc-c-primary);
	color: #fff;
	font-weight: 700;
}

.rose-case-filter__divider {
	border: none;
	border-top: 1px solid var(--rc-c-border);
	margin: 14px 0;
}

.rose-case-filter__reset {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 5px 16px;
	border: 1.5px solid var(--rc-c-border);
	border-radius: 20px;
	background: var(--rc-c-white);
	color: var(--rc-c-muted);
	font-size: 13px;
	margin-top: 6px;
	transition: all .18s ease;
	cursor: pointer;
}

.rose-case-filter__reset:hover {
	border-color: #999;
	color: var(--rc-c-text);
}

/* ── 空状態メッセージ ─────────────────────────────────────── */
.rose-case-empty-message {
	text-align: center;
	padding: 52px 20px;
	font-size: 15px;
	color: var(--rc-c-muted);
	background: var(--rc-c-white);
	border-radius: var(--rc-radius);
	border: 1px dashed var(--rc-c-border);
	margin-bottom: 20px;
}

.rose-case-empty-message[hidden] {
	display: none;
}

.rose-case-empty-message p {
	margin-top: 6px;
	font-size: 13px;
}

/* ── 症例グリッド ─────────────────────────────────────────── */
.rose-case-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
}

@media (max-width: 640px) {
	.rose-case-grid {
		grid-template-columns: 1fr;
	}
}

/* ── 症例カード ───────────────────────────────────────────── */
.rose-case-card {
	border-radius: var(--rc-radius);
	overflow: hidden;
	box-shadow: var(--rc-shadow-card);
	border: 1px solid var(--rc-c-border);
	position: relative;
	transition: transform .2s ease, box-shadow .2s ease;
}

.rose-case-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 20px rgba(0,0,0,.13);
}

.rose-case-card[data-severity="軽症"]   { background: var(--rc-c-mild); }
.rose-case-card[data-severity="中等症"] { background: var(--rc-c-moderate); }
.rose-case-card[data-severity="重症"]   { background: var(--rc-c-severe); }

.rose-case-card__sev-badge {
	position: absolute;
	top: 8px;
	right: 8px;
	font-size: 11px;
	font-weight: 700;
	padding: 2px 9px;
	border-radius: 12px;
	z-index: 2;
	line-height: 1.6;
}

.rose-case-card[data-severity="軽症"]   .rose-case-card__sev-badge { background: var(--rc-c-mild-label);     color: #fff; }
.rose-case-card[data-severity="中等症"] .rose-case-card__sev-badge { background: var(--rc-c-moderate-label); color: #fff; }
.rose-case-card[data-severity="重症"]   .rose-case-card__sev-badge { background: var(--rc-c-severe-label);   color: #fff; }

/* Before / After 画像 */
.rose-case-card__images {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2px;
	background: rgba(0,0,0,.15);
}

.rose-case-card__img-wrap {
	margin: 0; /* figure 既定の左右余白をリセット（テーマ非依存で全幅に） */
	background: var(--rc-c-white);
}

.rose-case-card__img-wrap img {
	width: 100%;
	height: 110px;
	object-fit: cover;
	display: block;
}

.rose-case-card__placeholder {
	height: 110px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.rose-case-card__placeholder--before { background: var(--rc-c-ph-before); }
.rose-case-card__placeholder--after  { background: var(--rc-c-ph-after); }

.rose-case-card__img-wrap figcaption {
	text-align: center;
	font-size: 11px;
	padding: 4px 2px;
	color: var(--rc-c-muted);
	font-weight: 700;
	background: rgba(255,255,255,.55);
}

/* カード本体 */
.rose-case-card__body {
	padding: 12px 14px 14px;
}

.rose-case-card__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin-bottom: 10px;
}

.rose-case-card__tag {
	font-size: 11px;
	padding: 2px 8px;
	border-radius: 12px;
	background: rgba(255,255,255,.65);
	color: var(--rc-c-muted);
	border: 1px solid rgba(0,0,0,.10);
}

.rose-case-card__table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 8px;
}

.rose-case-card__table th,
.rose-case-card__table td {
	padding: 5px 6px;
	border-bottom: 1px solid rgba(0,0,0,.07);
	vertical-align: top;
}

.rose-case-card__table th {
	width: 40%;
	font-size: 12px;
	font-weight: 700;
	color: var(--rc-c-muted);
	white-space: nowrap;
}

.rose-case-card__table td {
	font-size: 13px;
}

.rose-case-card__note {
	font-size: 12px;
	color: var(--rc-c-muted);
	line-height: 1.55;
	padding-top: 8px;
	border-top: 1px dashed rgba(0,0,0,.10);
}

/* カード全体クリック（stretched link） */
.rose-case-card__stretch {
	position: absolute;
	inset: 0;
	z-index: 1;
	text-indent: -9999px;
	overflow: hidden;
	background: transparent;
}

.rose-case-card__stretch:focus-visible {
	outline: 3px solid var(--rc-c-primary);
	outline-offset: -3px;
}

/* 「この症例をみる」テキストリンク（一覧・関連症例 共通／中央寄せ） */
.rose-case-card__textlink {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 8px;
	font-size: 13px;
	font-weight: 700;
	color: var(--rc-c-primary-dark);
	text-decoration: none;
}

/* ── ページネーション ─────────────────────────────────────── */
.rose-case-pagination {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 28px;
}

.rose-case-pagination__btn {
	min-width: 38px;
	height: 38px;
	padding: 0 10px;
	border: 1.5px solid var(--rc-c-border);
	border-radius: 6px;
	background: var(--rc-c-white);
	color: var(--rc-c-text);
	font-size: 14px;
	cursor: pointer;
	transition: all .18s ease;
}

.rose-case-pagination__btn:hover:not(:disabled):not(.is-active) {
	border-color: var(--rc-c-primary);
	color: var(--rc-c-primary);
}

.rose-case-pagination__btn.is-active {
	background: var(--rc-c-primary);
	border-color: var(--rc-c-primary);
	color: #fff;
	font-weight: 700;
}

.rose-case-pagination__btn:disabled {
	opacity: .35;
	cursor: default;
}

/* ── 進行度ガイド（右サイドバー）────────────────────────── */
.rose-case-severity-guide {
	position: static;
}

@media (max-width: 900px) {
	.rose-case-severity-guide {
		margin-top: 8px;
	}
}

.rose-case-severity-guide__chart-wrap {
	background: var(--rc-c-white);
	border: none;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
	margin-bottom: 14px;
}

.rose-case-severity-guide__chart-wrap h3 {
	font-size: 13px;
	font-weight: 700;
	color: var(--rc-c-primary-dark);
	margin-bottom: 10px;
	text-align: left;
	padding: 0 0 8px;
}

.rose-case-norwood-chart-img {
	display: block;
	width: 100%;
	border: none;
	border-radius: 0;
}

.rose-case-norwood-chart-placeholder {
	width: 100%;
	aspect-ratio: 4 / 3;
	background: linear-gradient(135deg, #e4f3f9 0%, #e6f4ed 100%);
	border: 2px dashed var(--rc-c-border);
	border-radius: var(--rc-radius);
}

.rose-case-norwood-legend {
	display: flex;
	justify-content: flex-start;
	gap: 10px;
	padding: 6px 0 0;
	font-size: 11px;
	flex-wrap: wrap;
}

.rose-case-norwood-legend__item {
	display: flex;
	align-items: center;
	gap: 4px;
}

.rose-case-norwood-legend__swatch {
	width: 12px;
	height: 12px;
	border-radius: 3px;
}

.rose-case-norwood-legend__swatch--mild     { background: #81c784; }
.rose-case-norwood-legend__swatch--moderate { background: #ffd54f; }
.rose-case-norwood-legend__swatch--severe   { background: #ffb74d; }

/* 進行度ブロック（スクロール連動の浮き上がり/色枠ハイライトは廃止） */
.rose-case-severity-block {
	border-radius: var(--rc-radius);
	overflow: hidden;
	margin-bottom: 12px;
	box-shadow: var(--rc-shadow);
}

.rose-case-severity-block__head {
	padding: 10px 14px;
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 700;
}

.rose-case-severity-block[data-sev="軽症"]   .rose-case-severity-block__head { background: var(--rc-c-mild);     color: var(--rc-c-mild-label); }
.rose-case-severity-block[data-sev="中等症"] .rose-case-severity-block__head { background: var(--rc-c-moderate); color: var(--rc-c-moderate-label); }
.rose-case-severity-block[data-sev="重症"]   .rose-case-severity-block__head { background: var(--rc-c-severe);   color: var(--rc-c-severe-label); }

.rose-case-severity-block__badge {
	font-size: 11px;
	padding: 1px 8px;
	border-radius: 10px;
	font-weight: 700;
	line-height: 1.6;
}

.rose-case-severity-block[data-sev="軽症"]   .rose-case-severity-block__badge { background: var(--rc-c-mild-label);     color: #fff; }
.rose-case-severity-block[data-sev="中等症"] .rose-case-severity-block__badge { background: var(--rc-c-moderate-label); color: #fff; }
.rose-case-severity-block[data-sev="重症"]   .rose-case-severity-block__badge { background: var(--rc-c-severe-label);   color: #fff; }

.rose-case-severity-block__body {
	background: var(--rc-c-white);
	padding: 12px 14px;
	font-size: 12.5px;
	line-height: 1.75;
	color: var(--rc-c-text);
	border: 1px solid var(--rc-c-border);
	border-top: none;
	border-radius: 0 0 var(--rc-radius) var(--rc-radius);
}

.rose-case-severity-block__body ul {
	list-style: disc;
	padding-left: 16px;
	margin-top: 6px;
}

.rose-case-severity-block__body li {
	margin-bottom: 3px;
}

/* ── 医療広告ガイドライン注意書き ──────────────────────── */
.rose-case-disclaimer {
	margin-top: 32px;
	padding: 16px 20px;
	border-top: 1px solid var(--rc-c-border);
	font-size: 12px;
	color: var(--rc-c-muted);
	line-height: 1.75;
}

.rose-case-disclaimer p {
	margin-bottom: 4px;
}

/* ── 詳細ページ ───────────────────────────────────────────── */
.rose-case-main--detail {
	max-width: 960px;
}

.rose-case-breadcrumb {
	font-size: 12px;
	color: var(--rc-c-muted);
	padding: 10px 0 4px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px;
}

.rose-case-breadcrumb a {
	color: var(--rc-c-muted);
}

.rose-case-breadcrumb a:hover {
	color: var(--rc-c-primary);
}

.rose-case-breadcrumb__sep {
	opacity: .5;
}

/* 症例ヘッダーバー */
.rose-case-detail-header {
	border-radius: var(--rc-radius);
	padding: 20px 24px;
	margin-bottom: 24px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px;
}

.rose-case-detail-header[data-severity="軽症"]   { background: var(--rc-c-mild); }
.rose-case-detail-header[data-severity="中等症"] { background: var(--rc-c-moderate); }
.rose-case-detail-header[data-severity="重症"]   { background: var(--rc-c-severe); }

.rose-case-detail-header__title {
	font-size: clamp(17px, 3vw, 22px);
	font-weight: 700;
	line-height: 1.4;
}

.rose-case-detail-header__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 6px;
}

.rose-case-detail-header__tag {
	font-size: 12px;
	padding: 3px 12px;
	border-radius: 14px;
	background: rgba(255,255,255,.7);
	border: 1px solid rgba(0,0,0,.10);
	color: var(--rc-c-text);
}

.rose-case-detail-header__sev-badge {
	font-size: 13px;
	font-weight: 700;
	padding: 4px 16px;
	border-radius: 20px;
	color: #fff;
	white-space: nowrap;
	margin-left: auto;
}

.rose-case-detail-header[data-severity="軽症"]   .rose-case-detail-header__sev-badge { background: var(--rc-c-mild-label); }
.rose-case-detail-header[data-severity="中等症"] .rose-case-detail-header__sev-badge { background: var(--rc-c-moderate-label); }
.rose-case-detail-header[data-severity="重症"]   .rose-case-detail-header__sev-badge { background: var(--rc-c-severe-label); }

/* 治療前後写真：箇所ごとのブロックを縦積み */
.rose-case-photo-grid {
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin-bottom: 28px;
}

.rose-case-photo-spot {
	/* 枠なし：囲みのボーダー・影・背景は撤廃し、見出しと写真のみを表示 */
	background: transparent;
}

/* 撮影箇所の見出し */
.rose-case-photo-spot__title {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	color: var(--rc-c-primary-dark);
	padding: 11px 16px;
	background: var(--rc-c-primary-light);
	border-bottom: 1px solid var(--rc-c-border);
}

.rose-case-photo-spot__num {
	flex: none;
	width: 22px;
	height: 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--rc-c-primary);
	color: #fff;
	border-radius: 50%;
	font-size: 12px;
	line-height: 1;
}

/* 治療前 ▶ 治療後（PC：3カラム） */
.rose-case-photo-spot__viewport {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	padding: 14px;
}

.rose-case-photo-pane {
	margin: 0;
	min-width: 0;
}

.rose-case-photo-pane img,
.rose-case-photo-pane__placeholder {
	width: 100%;
	height: auto;
	display: block;
}

.rose-case-photo-pane__placeholder--before { background: var(--rc-c-ph-before); }
.rose-case-photo-pane__placeholder--after  { background: var(--rc-c-ph-after); }

.rose-case-photo-pane__cap {
	text-align: center;
	font-size: 12px;
	font-weight: 700;
	color: var(--rc-c-muted);
	padding: 7px 4px 0;
}

.rose-case-photo-pane__cap--after { color: var(--rc-c-primary); }

.rose-case-photo-spot__arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--rc-c-primary);
	padding: 0 10px;
	align-self: center;
}

/* カルーセル操作（JSが生成・モバイルのみ表示） */
.rose-case-photo-spot__nav { display: none; }

/* スマホ：前後を横スワイプのカルーセルに */
@media (max-width: 640px) {
	.rose-case-photo-spot__viewport {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		gap: 10px;
		scrollbar-width: none;
		scroll-padding: 14px;
	}
	.rose-case-photo-spot__viewport::-webkit-scrollbar { display: none; }

	/* 100% だと隣が見えずカルーセルだと気づきにくいので、幅を少し縮めて
	   隣の写真（治療前⇄治療後）を端にのぞかせる（peek）。中央スナップ。 */
	.rose-case-photo-pane {
		min-width: 85%;
		scroll-snap-align: center;
	}

	.rose-case-photo-spot__arrow { display: none; }

	.rose-case-photo-spot__nav {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 14px;
		padding: 0 14px 14px;
	}
	.rose-case-photo-spot__navbtn {
		flex: none;
		width: 34px;
		height: 34px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border-radius: 50%;
		border: 1.5px solid var(--rc-c-border);
		background: var(--rc-c-white);
		color: var(--rc-c-primary);
		cursor: pointer;
		padding: 0;
	}
	.rose-case-photo-spot__navbtn:disabled { opacity: .3; cursor: default; }
	.rose-case-photo-spot__dots { display: flex; gap: 7px; }
	.rose-case-photo-spot__dot {
		width: 8px;
		height: 8px;
		border-radius: 50%;
		background: rgba(0,0,0,.18);
		transition: background .15s;
	}
	.rose-case-photo-spot__dot.is-active { background: var(--rc-c-primary); }
}

/* 症例データテーブル */
.rose-case-detail-table-wrap {
	background: var(--rc-c-white);
	border: 1px solid var(--rc-c-border);
	border-radius: var(--rc-radius);
	overflow: hidden;
	margin-bottom: 24px;
	box-shadow: var(--rc-shadow);
}

.rose-case-detail-table-wrap h3 {
	font-size: 14px;
	font-weight: 700;
	color: var(--rc-c-primary-dark);
	padding: 12px 16px;
	background: var(--rc-c-primary-light);
	border-bottom: 1px solid var(--rc-c-border);
	display: flex;
	align-items: center;
	gap: 8px;
}

.rose-case-detail-table-wrap h3::before {
	content: '';
	display: inline-block;
	width: 4px;
	height: 16px;
	background: var(--rc-c-primary);
	border-radius: 2px;
}

.rose-case-detail-table {
	width: 100%;
	border-collapse: collapse;
}

.rose-case-detail-table th,
.rose-case-detail-table td {
	padding: 11px 16px;
	border-bottom: 1px solid var(--rc-c-border);
	font-size: 14px;
	text-align: left;
}

.rose-case-detail-table th {
	width: 35%;
	background: #fafbfc;
	font-weight: 700;
	color: var(--rc-c-muted);
	font-size: 13px;
}

.rose-case-detail-table tr:last-child th,
.rose-case-detail-table tr:last-child td {
	border-bottom: none;
}

/* 担当医コメント・文章セクション */
.rose-case-detail-section {
	background: var(--rc-c-white);
	border: 1px solid var(--rc-c-border);
	border-radius: var(--rc-radius);
	padding: 20px 24px;
	margin-bottom: 20px;
	box-shadow: var(--rc-shadow);
}

.rose-case-detail-section h3 {
	font-size: 15px;
	font-weight: 700;
	color: var(--rc-c-primary-dark);
	margin-bottom: 12px;
	padding-bottom: 8px;
	border-bottom: 2px solid var(--rc-c-primary-light);
	display: flex;
	align-items: center;
	gap: 8px;
}

.rose-case-detail-section p {
	font-size: 14px;
	line-height: 1.85;
	margin-bottom: 10px;
}

.rose-case-detail-section p:last-child {
	margin-bottom: 0;
}

/* ページナビゲーション */
.rose-case-detail-nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin: 28px 0;
	flex-wrap: wrap;
}

.rose-case-detail-nav__btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 20px;
	border: 1.5px solid var(--rc-c-border);
	border-radius: 24px;
	background: var(--rc-c-white);
	color: var(--rc-c-text);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	transition: all .18s;
}

.rose-case-detail-nav__btn:hover {
	border-color: var(--rc-c-primary);
	color: var(--rc-c-primary);
	text-decoration: none;
}

.rose-case-detail-nav__btn--back {
	background: var(--rc-c-primary);
	border-color: var(--rc-c-primary);
	color: #fff;
}

.rose-case-detail-nav__btn--back:hover {
	background: var(--rc-c-primary-dark);
	color: #fff;
}

.rose-case-detail-nav__btn--disabled {
	opacity: .35;
	pointer-events: none;
}

/* 関連症例 */
.rose-case-related {
	margin-top: 36px;
}

.rose-case-related h2 {
	font-size: 17px;
	font-weight: 700;
	color: var(--rc-c-primary-dark);
	margin-bottom: 16px;
	padding-bottom: 8px;
	border-bottom: 2px solid var(--rc-c-primary-light);
}

.rose-case-related__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

@media (max-width: 640px) {
	.rose-case-related__grid {
		grid-template-columns: 1fr;
	}

	/* 本文コンテナの余白を 0 にして写真を画面端まで（フルブリード）表示 */
	.rose-case-main {
		padding: 0;
	}

	/* 一覧ページ：見出し・本文は 12px 内側に戻す（端に貼り付かないよう） */
	.rose-case-main--man > .rose-case-page-h1,
	.rose-case-main--man > .rose-case-content-grid,
	.rose-case-main--woman > .rose-case-page-h1,
	.rose-case-main--woman > .rose-case-content-grid {
		margin-left: 12px;
		margin-right: 12px;
	}

	/* 詳細ページ：写真グリッドは全幅のまま、テキスト系ブロックは 12px 内側に */
	.rose-case-main--detail > .rose-case-breadcrumb,
	.rose-case-main--detail > .rose-case-detail-header,
	.rose-case-main--detail > .rose-case-detail-table-wrap,
	.rose-case-main--detail > .rose-case-detail-section,
	.rose-case-main--detail > .rose-case-detail-nav,
	.rose-case-main--detail > .rose-case-related,
	.rose-case-main--detail > .rose-case-disclaimer {
		margin-left: 12px;
		margin-right: 12px;
	}

	/* 写真を完全に端まで出す（ビューポート内側余白を撤廃） */
	.rose-case-photo-spot__viewport {
		padding: 0;
	}

	/* 前の症例 / 一覧へ戻る / 次の症例 を 1 行に等幅で収める */
	.rose-case-detail-nav {
		flex-wrap: nowrap;
		gap: 8px;
	}
	.rose-case-detail-nav__btn {
		flex: 1 1 0;
		min-width: 0;
		padding: 9px 6px;
		font-size: 12px;
		justify-content: center;
		white-space: nowrap;
	}
}

/* ── 症例詳細ページ：サイドバー非表示・本文全幅・SWELL重複パンくず抑止 ──
   single-case.php は自前パンくず＋全幅レイアウト。SWELL側の重複表示を消す。
   body.single-case は WordPress が単一 case 投稿に付与するクラス。 */
body.single-case .p-breadcrumb {
	display: none;
}

body.single-case #sidebar.l-sidebar,
body.single-case .l-sidebar {
	display: none !important;
}

body.single-case #content.l-content,
body.single-case .l-content {
	width: 100% !important;
	max-width: 100% !important;
	flex-basis: 100% !important;
}
