/* "치료사례" 게시판 공통(치료전후사진 hyoo_review_photo + 치료법/자필후기
   hyoo_review_method) — 로그인 게이트 관련 요소(안내 캡션/게이트 블록), 상세 페이지
   부제목, 사진 갤러리 등 두 CPT가 똑같이 쓰는 마크업/스타일만 모아둔다.
   CPT별 차이(썸네일 비율, 목록 카드 크기 등)는 각자 review-photo.css / review-method.css에. */

/* ── 상세 페이지 부제목(요약) — 제목 바로 아래, 메타(카테고리/날짜) 위에 배치 */
.notice-single__subtitle {
	font-size: 15px;
	color: var(--hyoo-text-muted);
	line-height: 1.6;
	margin: 0 0 12px;
	word-break: keep-all;
}

/* ── 로그인 필요 안내 캡션(목록 상단 배너 또는 항목별 캡션) ── */
.review-gate-notice {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--hyoo-text-soft);
	font-size: 12px;
}

.review-gate-notice svg {
	width: 14px;
	height: 14px;
	flex-shrink: 0;
	color: var(--hyoo-accent-muted);
}

.review-gate-notice--list {
	display: flex;
	gap: 10px;
	margin: 20px 0;
	padding: 12px 16px;
	background: var(--hyoo-bg-soft);
	border: 1px solid var(--hyoo-border);
	border-radius: 8px;
}

/* ── 상세 페이지 로그인 게이트 ────────────────────────────────── */
.review-gate {
	max-width: 480px;
	margin: 40px auto 60px;
	padding: 48px 32px;
	text-align: center;
	background: var(--hyoo-bg-soft);
	border: 1px solid var(--hyoo-border);
	border-radius: 16px;
}

.review-gate__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin-bottom: 20px;
	border-radius: 50%;
	background: #fff;
	color: var(--hyoo-accent-dark);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
}

.review-gate__icon svg {
	width: 26px;
	height: 26px;
}

.review-gate__title {
	font-size: 18px;
	font-weight: 700;
	color: var(--hyoo-text);
	margin: 0 0 10px;
}

.review-gate__desc {
	font-size: 14px;
	color: var(--hyoo-text-muted);
	line-height: 1.7;
	margin: 0 0 28px;
	word-break: keep-all;
}

.review-gate__actions {
	display: flex;
	justify-content: center;
	gap: 10px;
}

.review-gate__btn {
	padding: 11px 24px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	border: 1px solid var(--hyoo-border);
	color: var(--hyoo-text);
	background: #fff;
	transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.review-gate__btn--primary {
	background: var(--hyoo-accent-dark);
	border-color: var(--hyoo-accent-dark);
	color: #fff;
}

.review-gate__btn:hover {
	border-color: var(--hyoo-accent-dark);
}

.review-gate__btn--primary:hover {
	background: var(--hyoo-accent);
	border-color: var(--hyoo-accent);
}

.review-gate__divider {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 20px 0 0;
	color: var(--hyoo-text-soft);
	font-size: 12px;
}

.review-gate__divider::before,
.review-gate__divider::after {
	content: '';
	flex: 1;
	height: 1px;
	background: var(--hyoo-border);
}

.review-gate__naver {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 16px;
	padding: 13px;
	background: #03c75a;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	border-radius: 8px;
	text-decoration: none;
	transition: background 0.2s;
}

.review-gate__naver:hover {
	background: #02b350;
	color: #fff;
}

.review-gate__naver svg {
	width: 16px;
	height: 16px;
	fill: #fff;
}

.review-gate__kakao {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 10px;
	padding: 13px;
	background: #fee500;
	color: #191600;
	font-size: 15px;
	font-weight: 700;
	border-radius: 8px;
	text-decoration: none;
	transition: background 0.2s;
}

.review-gate__kakao:hover {
	background: #fada0a;
	color: #191600;
}

.review-gate__kakao svg {
	width: 16px;
	height: 16px;
	fill: #191600;
}

/* ── 사진 갤러리(게이트를 통과했을 때만 렌더링됨) ─────────────── */
.review-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 16px;
	margin-bottom: 32px;
}

.review-gallery__item {
	margin: 0;
	border-radius: 10px;
	overflow: hidden;
	background: var(--hyoo-bg-soft);
}

.review-gallery__item img {
	display: block;
	width: 100%;
	height: auto;
}

@media (max-width: 480px) {
	.review-gate {
		padding: 36px 20px;
		margin: 24px auto 40px;
	}

	.review-gate__actions {
		flex-direction: column;
	}

	.review-gallery {
		grid-template-columns: 1fr 1fr;
		gap: 10px;
	}
}

@media (max-width: 360px) {
	.review-gallery {
		grid-template-columns: 1fr;
	}
}
