@charset "utf-8";

/* ============================================================
   march11 — 잡지 표지 진열형 아카이브
   mmain12 + mcat10 디자인 언어 — 크림 배경 + 커버 그리드 + 슬라이드 패널
   ============================================================ */

body.page-light-header #header,
body.page-light-header #header.on,
body.page-light-header #header.act {
	background-color: #f9f8f6 !important;
}

body { background: #f9f8f6; }

/* ── 룰라인 공통 ── */
.ma11-rule {
	height: 1px;
	background: var(--color-text-main);
}

/* ============================================================
   S1: 아카이브 헤더
   ============================================================ */
.ma11-head {
	padding-top: 90px;
}

.ma11-head-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 48px 60px 56px;
	text-align: center;
}

.ma11-head-meta {
	display: flex;
	gap: 14px;
	align-items: center;
	justify-content: center;
	font-size: clamp(14px, calc(10px + 0.8vw), 18px);
	font-weight: 500;
	color: var(--color-text-muted);
	text-transform: uppercase;
	margin-bottom: 24px;
}

.ma11-dot { opacity: 0.35; }

.ma11-rule--top {
	margin-bottom: 28px;
	transform-origin: left center;
}

.ma11-head-tit {
	font-family: var(--font-sub-title);
	font-size: clamp(60px, calc(16px + 9vw), 160px);
	font-weight: 900;
	color: var(--color-text-main);
	text-transform: uppercase;
	overflow: hidden;
	margin-bottom: 28px;
}

.ma11-rule--bot {
	margin-bottom: 20px;
	transform-origin: right center;
}

.ma11-head-sub {
	font-size: clamp(14px, calc(10px + 0.8vw), 18px);
	color: var(--color-text-muted);
}

/* ============================================================
   S2: 표지 그리드
   ============================================================ */
.ma11-grid-sec {
	padding-bottom: 100px;
}

.ma11-grid-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 60px;
}

.ma11-grid {
	columns: 4;
	column-gap: 28px;
}

/* ── 표지 카드 ── */
.ma11-cover {
	display: block;
	break-inside: avoid;
	margin-bottom: 28px;
	width: 100%;
	background: none;
	border: none;
	cursor: pointer;
	text-align: left;
	padding: 0;
	transition: transform 0.3s ease;
}

.ma11-cover:hover { transform: translateY(-6px); }

.ma11-cover-img {
	overflow: hidden;
	background: var(--color-bg-sub);
}

.ma11-cover-img img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform 0.5s ease;
}

.ma11-cover:hover .ma11-cover-img img { transform: scale(1.04); }

.ma11-cover-foot {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 16px 0 0;
	border-top: 1px solid var(--color-text-main);
}

.ma11-cover-vol {
	font-size: clamp(14px, calc(10px + 0.8vw), 18px);
	font-weight: 700;
	color: var(--color-primary);
	text-transform: uppercase;
}

.ma11-cover-title {
	font-family: var(--font-sub-title);
	font-size: clamp(18px, calc(10px + 1.2vw), 22px);
	font-weight: 700;
	color: var(--color-text-main);
}

.ma11-cover-date {
	font-size: clamp(14px, calc(10px + 0.8vw), 18px);
	color: var(--color-text-muted);
}

/* 선택된 커버 */
.ma11-cover.is-active .ma11-cover-foot {
	border-top-color: var(--color-primary);
}
.ma11-cover.is-active .ma11-cover-vol {
	color: var(--color-primary);
}

/* ============================================================
   디테일 패널
   ============================================================ */
.ma11-panel {
	position: fixed;
	top: 0;
	right: 0;
	width: 380px;
	height: 100%;
	background: #f9f8f6;
	border-left: 1px solid var(--color-border);
	transform: translateX(100%);
	transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	z-index: 600;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.ma11-panel.is-open {
	transform: translateX(0);
}

.ma11-panel-close {
	position: absolute;
	top: 24px;
	right: 24px;
	width: 40px;
	height: 40px;
	background: none;
	border: 1px solid var(--color-border);
	cursor: pointer;
	font-size: 18px;
	color: var(--color-text-main);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s ease;
}
.ma11-panel-close:hover { background: var(--color-bg-sub); }

.ma11-panel-body {
	padding: 80px 40px 60px;
}

.ma11-panel-mag {
	font-size: clamp(14px, calc(10px + 0.8vw), 18px);
	font-weight: 700;
	color: var(--color-text-muted);
	text-transform: uppercase;
	margin-bottom: 20px;
}

.ma11-rule--panel {
	margin-bottom: 20px;
}

.ma11-panel-meta {
	display: flex;
	gap: 16px;
	align-items: baseline;
	margin-bottom: 12px;
}

.ma11-panel-vol {
	font-family: var(--font-sub-title);
	font-size: clamp(14px, calc(10px + 0.8vw), 18px);
	font-weight: 700;
	color: var(--color-primary);
	text-transform: uppercase;
}

.ma11-panel-date {
	font-size: clamp(14px, calc(10px + 0.8vw), 18px);
	color: var(--color-text-muted);
}

.ma11-panel-tit {
	font-family: var(--font-sub-title);
	font-size: clamp(26px, calc(12px + 2.5vw), 38px);
	font-weight: 900;
	color: var(--color-text-main);
	margin-bottom: 24px;
}

.ma11-panel-toc-label {
	font-size: clamp(14px, calc(10px + 0.8vw), 18px);
	font-weight: 600;
	color: var(--color-text-muted);
	text-transform: uppercase;
	margin-bottom: 16px;
}

.ma11-panel-toc {
	list-style: none;
	margin-bottom: 40px;
}

.ma11-panel-toc li {
	display: flex;
	gap: 16px;
	align-items: start;
	padding: 14px 0;
	border-bottom: 1px solid var(--color-border);
}

.ma11-panel-toc li:first-child {
	border-top: 1px solid var(--color-border);
}

.ma11-toc-num {
	font-size: clamp(14px, calc(10px + 0.8vw), 18px);
	font-weight: 700;
	color: var(--color-text-muted);
	opacity: 0.4;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
	padding-top: 2px;
}

.ma11-toc-body {
	flex: 1;
	min-width: 0;
}

.ma11-toc-cat {
	display: block;
	font-size: clamp(14px, calc(10px + 0.8vw), 18px);
	font-weight: 600;
	color: var(--color-primary);
	text-transform: uppercase;
	margin-bottom: 2px;
}

.ma11-toc-title {
	font-size: clamp(14px, calc(10px + 0.8vw), 18px);
	font-weight: 500;
	color: var(--color-text-main);
}

.ma11-cta-wrap {
	color: var(--color-bg-main);
}

.ma11-panel-cta {
	display: inline-block;
	padding: 16px 32px;
	background: var(--color-text-main);
	color: var(--color-bg-main);
	font-size: clamp(14px, calc(10px + 0.8vw), 18px);
	font-weight: 700;
	text-decoration: none;
	transition: opacity 0.2s ease;
}
.ma11-panel-cta:hover { opacity: 0.75; }

/* ── 백드롭 ── */
.ma11-backdrop {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.35);
	z-index: 590;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.35s ease;
}

.ma11-backdrop.is-active {
	opacity: 1;
	pointer-events: all;
}

/* ============================================================
   반응형 — 999px
   ============================================================ */
@media (max-width: 999px) {
	.ma11-head { padding-top: 70px; }
	.ma11-head-inner { padding: 40px 40px 48px; }
	.ma11-grid-inner { padding: 0 40px; }
	.ma11-grid { columns: 3; column-gap: 24px; }
	.ma11-grid-sec { padding-bottom: 80px; }
}

/* ============================================================
   반응형 — 768px
   ============================================================ */
@media (max-width: 768px) {
	.ma11-head-inner { padding: 28px 24px 32px; }
	.ma11-grid-inner { padding: 0 24px; }
	.ma11-grid { columns: 2; column-gap: 20px; }
	.ma11-cover { margin-bottom: 20px; }
	.ma11-grid-sec { padding-bottom: 32px; }
	.ma11-cover:hover { transform: none; }
	.ma11-cover:hover .ma11-cover-img img { transform: none; }
	.ma11-panel { width: 100%; border-left: none; }
}

/* ============================================================
   반응형 — 499px
   ============================================================ */
@media (max-width: 499px) {
	.ma11-head-inner { padding: 24px 20px 28px; }
	.ma11-grid-inner { padding: 0 20px; }
	.ma11-grid { columns: 2; column-gap: 16px; }
	.ma11-cover { margin-bottom: 16px; }
	.ma11-grid-sec { padding-bottom: 32px; }
	.ma11-panel-body { padding: 72px 24px 32px; }
}

/* ============================================================
   다크모드
   ============================================================ */
body.dark { background: #0d0d0d; }
body.dark .ma11-rule { background: var(--color-border-strong); }
body.dark .ma11-cover-foot { border-top-color: var(--color-border-strong); }
body.dark .ma11-cover.is-active .ma11-cover-foot { border-top-color: var(--color-primary); }
body.dark .ma11-panel { background: #111; border-left-color: var(--color-border); }
body.dark .ma11-rule--panel { background: var(--color-border); }
body.dark .ma11-panel-close { border-color: var(--color-border); color: var(--color-text-main); }
body.dark .ma11-panel-cta { color: var(--color-bg-main); }
body.dark .ma11-panel-toc li { border-bottom-color: var(--color-border); }
body.dark .ma11-panel-toc li:first-child { border-top-color: var(--color-border); }
