/* ===================================================================
   피터캣클럽 — 일반 페이지·글·목록·검색·404 (시안 없음, 규칙표 DL)
   =================================================================== */

/* ===================
   5. Sections — 글 단독
   =================== */

.pc-single {
	max-width: calc(760px + 2 * var(--pc-space-8));
}

.pc-article__head {
	padding-bottom: var(--pc-space-5);
	border-bottom: var(--pc-line-width) solid var(--pc-black);
	text-align: center;
}

.pc-article__cats {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--pc-space-2);
	margin: 0 0 var(--pc-space-4);
}

.pc-article__title {
	margin: 0;
	font-size: 28px; /* 2026-09-16 80%: 34 → 28 */
	font-weight: 700;
	line-height: var(--pc-lh-tight);
	color: var(--pc-black);
	word-break: keep-all;
}

.pc-article__meta {
	margin: var(--pc-space-3) 0 0;
	font-size: var(--pc-fs-14);
	font-variant-numeric: tabular-nums;
	color: var(--pc-ink-muted);
}

.pc-article__content {
	padding-top: var(--pc-space-7);
}

.pc-entry__content img {
	display: block;
	max-width: 100%;
	height: auto;
}

.pc-entry__content h2,
.pc-entry__content h3 {
	margin-top: var(--pc-space-7);
	font-weight: 700;
	line-height: var(--pc-lh-tight);
	color: var(--pc-black);
}

.pc-entry__content h2 {
	font-size: var(--pc-fs-24);
}

.pc-entry__content h3 {
	font-size: var(--pc-fs-20);
}

.pc-article__nav {
	margin-top: var(--pc-space-8);
	border-top: var(--pc-line-width) solid var(--pc-black);
}

.pc-article__nav .nav-links {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--pc-space-5);
	padding-top: var(--pc-space-5);
}

.pc-article__nav .nav-next {
	text-align: right;
}

.pc-article__nav a {
	display: flex;
	flex-direction: column;
	gap: var(--pc-space-1);
	min-height: 44px;
	color: var(--pc-black);
	text-decoration: none;
}

.pc-article__nav a:hover .pc-article__nav-title {
	text-decoration: underline;
}

.pc-article__nav-label {
	font-size: var(--pc-fs-14);
	color: var(--pc-ink-muted);
}

.pc-article__nav-title {
	font-weight: 700;
}

.pc-article__nav a:focus-visible {
	outline: 2px solid var(--pc-ink);
	outline-offset: 2px;
}

.pc-article__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--pc-space-2) var(--pc-space-4);
}

.pc-article__author {
	display: inline-flex;
	align-items: center;
	gap: var(--pc-space-2);
	color: var(--pc-ink);
}

.pc-article__avatar {
	width: 28px;
	height: 28px;
	border-radius: 50%;
}

.pc-article__manage {
	display: inline-flex;
	gap: var(--pc-space-2);
}

.pc-article__manage a,
.pc-article__manage button {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 var(--pc-space-3);
	border: var(--pc-line-width) solid var(--pc-black);
	border-radius: var(--pc-radius-pill);
	background: var(--pc-white);
	font-size: var(--pc-fs-14);
	font-weight: 700;
	color: var(--pc-black);
	text-decoration: none;
	cursor: pointer;
}

/* 첨부파일 — DL-33 구획 상자 */
.pc-article__files {
	margin-top: var(--pc-space-7);
	padding: var(--pc-space-4) var(--pc-space-5);
	border: var(--pc-line-width) solid var(--pc-black);
}

.pc-article__files-title {
	margin: 0 0 var(--pc-space-2);
	font-size: var(--pc-fs-16);
	font-weight: 700;
}

.pc-article__files ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.pc-article__files a {
	display: inline-flex;
	align-items: center;
	gap: var(--pc-space-1);
	min-height: 44px;
	color: var(--pc-ink);
	text-decoration: underline;
}

.pc-article__files a span {
	color: var(--pc-ink-muted);
	text-decoration: none;
}

/* 좋아요 · 공유 */
.pc-article__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--pc-space-3);
	margin-top: var(--pc-space-7);
}

.pc-like {
	display: inline-flex;
	align-items: center;
	gap: var(--pc-space-2);
	min-height: 44px;
	padding: 0 var(--pc-space-5);
	border: var(--pc-line-width) solid var(--pc-black);
	border-radius: var(--pc-radius-pill);
	background: var(--pc-white);
	font-weight: 700;
	color: var(--pc-black);
	cursor: pointer;
	transition: transform var(--pc-dur-fast) ease;
}

.pc-like:hover {
	transform: translateY(-2px);
}

.pc-like.liked,
.pc-like[aria-pressed="true"] {
	color: var(--pc-pink-sub-text);
	border-color: var(--pc-pink-sub-text);
}

.pc-like .like-count {
	font-variant-numeric: tabular-nums;
}

/* 공유([social_share], 옛 page_share.php) — 35×35 → 44×44 원형(검수 F6) */
.pc-article__actions .social-share-trigger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	min-width: 44px;
	padding: 0;
	border: var(--pc-line-width) solid var(--pc-black);
	border-radius: 50%;
	background: var(--pc-white);
	color: var(--pc-black);
}

.pc-article__back {
	margin: var(--pc-space-6) 0 0;
	text-align: center;
}

/* 비회원 잠금([shortcode_restricted_content], 옛 functions.php 인라인 스타일) — 새 버튼·안내 상자 규칙.
   옛 보라 #532B83 버튼에 새 전역 링크색(검정)이 덮여 대비 1.74:1 이었다(검수 F4). */
.fade-restricted-content .login-popup,
.restricted-content .login-popup {
	padding: var(--pc-space-6) var(--pc-space-5) !important;
	border: var(--pc-line-width) solid var(--pc-black);
	border-radius: 0 !important;
	background: var(--pc-white) !important;
}

.fade-restricted-content .login-popup p,
.restricted-content .login-popup p {
	color: var(--pc-ink) !important;
}

.fade-restricted-content .fc-highlight {
	color: var(--pc-pink-sub-text) !important;
}

.fade-restricted-content .login-btn,
.restricted-content .login-btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 var(--pc-space-6) !important;
	border: 0;
	border-radius: var(--pc-radius-pill) !important;
	background: var(--pc-purple-deep) !important;
	color: var(--pc-on-dark) !important;
	font-size: var(--pc-fs-15) !important;
	font-weight: 700;
	text-decoration: none !important;
}

.fade-restricted-content .login-btn:hover,
.restricted-content .login-btn:hover {
	color: var(--pc-on-dark) !important;
	transform: translateY(-2px);
}

/* 댓글 — 입력 DL-30, 목록 구분선 */
.pc-comments {
	margin-top: var(--pc-space-8);
	padding-top: var(--pc-space-5);
	border-top: var(--pc-line-width) solid var(--pc-black);
}

.pc-comments__title {
	margin: 0 0 var(--pc-space-4);
	font-size: var(--pc-fs-20);
	font-weight: 700;
	color: var(--pc-black);
}

.pc-comments__form {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: var(--pc-space-2);
}

.pc-comments__form textarea {
	width: 100%;
	min-height: 96px;
	padding: var(--pc-space-3);
	border: var(--pc-line-width) solid var(--pc-black);
	border-radius: 0;
	font-size: var(--pc-fs-16);
	line-height: 1.6;
	resize: vertical;
}

.pc-comments__form textarea:focus {
	outline: 2px solid var(--pc-ink);
	outline-offset: 2px;
}

.pc-comments__login {
	padding: var(--pc-space-4) var(--pc-space-5);
	border: var(--pc-line-width) solid var(--pc-black);
	text-align: center;
}

.pc-comments__login p {
	margin: 0;
}

.pc-comments__login a {
	color: var(--pc-ink);
	font-weight: 700;
	text-decoration: underline;
}

.pc-comments__list {
	margin-top: var(--pc-space-5);
}

.pc-comments__list .comment-item,
.pc-comments__list li {
	padding: var(--pc-space-4) 0;
	border-bottom: var(--pc-line-width) solid var(--pc-gray-line);
}

/* 커밍업·오프너 알림 영역 — 9.png 언어(DL-40) */
.pc-ocd {
	--pc-ocd-bg: var(--pc-black);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--pc-space-3);
	margin-top: var(--pc-space-6);
	padding: var(--pc-space-7) var(--pc-space-5);
	background: var(--pc-ocd-bg);
	color: var(--pc-on-dark);
	text-align: center;
}

.pc-ocd--opener {
	--pc-ocd-bg: var(--pc-green-deep);
}

.pc-ocd p {
	margin: 0;
}

.pc-ocd__badge {
	display: inline-block;
	padding: 2px var(--pc-space-2);
	background: var(--pc-coral);
	font-size: var(--pc-fs-12);
	font-weight: 700;
	line-height: 1.6;
	color: var(--pc-black);
}

.pc-ocd__label {
	font-size: var(--pc-fs-14);
	font-weight: 700;
	color: var(--pc-coral);
}

.pc-ocd__countdown {
	font-family: var(--pc-font-en);
	font-size: 52px; /* 2026-09-16 80%: 64 → 52 */
	font-weight: 500;
	line-height: 1.1;
	font-variant-numeric: tabular-nums;
	color: var(--pc-coral);
	white-space: nowrap;
}

.pc-ocd__when,
.pc-ocd__goal {
	font-size: var(--pc-fs-14);
	color: var(--pc-on-dark);
	font-variant-numeric: tabular-nums;
}

.pc-ocd__count {
	font-size: var(--pc-fs-15);
	color: var(--pc-yellow-sub);
}

.pc-ocd__num {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.pc-ocd__progress {
	width: 100%;
	max-width: 420px;
	height: 8px;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.2);
}

.pc-ocd__bar {
	display: block;
	height: 100%;
	background: var(--pc-yellow-sub);
}

.pc-ocd__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 420px;
	min-height: 56px;
	margin-top: var(--pc-space-2);
	padding: 0 var(--pc-space-5);
	border: 0;
	border-radius: var(--pc-radius-pill);
	background: var(--pc-yellow-sub);
	font-size: var(--pc-fs-18);
	font-weight: 700;
	color: var(--pc-purple-deep);
	cursor: pointer;
	transition: transform var(--pc-dur-fast) ease, box-shadow var(--pc-dur-fast) ease;
}

.pc-ocd--opener .pc-ocd__toggle {
	color: var(--pc-ocd-bg);
}

.pc-ocd__toggle:hover {
	transform: translateY(-2px);
	box-shadow: var(--pc-shadow-btn-hover);
}

.pc-ocd__toggle.is-on {
	background: transparent;
	box-shadow: inset 0 0 0 2px var(--pc-yellow-sub);
	color: var(--pc-yellow-sub);
}

.pc-ocd__toggle:focus-visible {
	outline: 2px solid var(--pc-white);
	outline-offset: 3px;
}

.pc-ocd__status {
	min-height: 1.5em;
	font-size: var(--pc-fs-14);
	font-weight: 700;
	color: var(--pc-yellow-sub);
}

.pc-ocd__status:empty {
	min-height: 0;
}

.pc-ocd__status a {
	color: var(--pc-yellow-sub);
	text-decoration: underline;
}

@media (max-width: 767px) {
	.pc-ocd__countdown {
		font-size: var(--pc-fs-42);
	}
}

/* Elementor 로 만든 페이지(본문이 자기 레이아웃을 가짐) */
.pc-builder-page {
	display: block;
	width: 100%;
}

/* ===================
   5. Sections — 404
   =================== */

.pc-404 {
	text-align: center;
}

.pc-404__code {
	margin: 0;
	font-family: var(--pc-font-en);
	font-size: 76px; /* 2026-09-16 80%: 96 → 76 */
	font-style: italic;
	font-weight: 700;
	line-height: 1;
	color: var(--pc-pink-sub);
}

.pc-404__title {
	margin: var(--pc-space-5) 0 0;
	font-size: var(--pc-fs-30);
	font-weight: 700;
	line-height: var(--pc-lh-tight);
	color: var(--pc-black);
}

.pc-404__desc {
	margin: var(--pc-space-3) 0 0;
	font-size: var(--pc-fs-16);
	line-height: var(--pc-lh-body);
	color: var(--pc-ink-body);
}

.pc-404__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--pc-space-3);
	margin-top: var(--pc-space-7);
}

/* ===================
   6. Responsive
   =================== */

@media (max-width: 767px) {
	.pc-article__title {
		font-size: var(--pc-fs-24);
	}

	.pc-article__nav .nav-links {
		grid-template-columns: 1fr;
	}

	.pc-article__nav .nav-next {
		text-align: left;
	}

	.pc-404__code {
		font-size: 72px;
	}

	.pc-404__title {
		font-size: var(--pc-fs-24);
	}
}
