/* ============================================================
   文档页公共样式 · 方向 A (Éditorial Noir)
   用于 Dossiers（CV / Portfolio PDF / 画册文字等）
   与作品详情页(detail.css)区分：单列阅读 / PDF 内嵌，非画廊分屏
   依赖 fonts.css
   ============================================================ */

:root {
    --bg: #0c0c0d;
    --fg: #ECE8E1;
    --muted: #b8b3aa;
    --line: rgba(236, 232, 225, 0.22);
    --font-serif: 'Fraunces', Georgia, 'Times New Roman', serif;
    --font-sans: 'Inter', 'Helvetica Neue', Arial, sans-serif;
    --edge: 56px;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

img { -webkit-user-drag: none; user-select: none; }

html {
    scroll-behavior: smooth;
}

body {
    min-height: 100vh;
    font-family: var(--font-sans);
    background: var(--bg);
    color: var(--fg);
    -webkit-font-smoothing: antialiased;
}

/* ---------- 返回链接 ---------- */
.back-link {
    position: fixed;
    top: 40px;
    right: 44px;
    color: #fff;
    text-decoration: none;
    font-size: 12px;
    letter-spacing: 3px;
    text-transform: uppercase;
    opacity: 0.85;
    transition: opacity 0.3s ease;
    z-index: 100;
    mix-blend-mode: difference;
}

.back-link::before { content: '← '; }
.back-link:hover { opacity: 1; }

/* ---------- 文字文档（如画册节选）---------- */
.doc-article {
    max-width: 720px;
    margin: 0 auto;
    padding: 18vh var(--edge) 14vh;
}

.doc-kicker {
    font-size: 12px;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 22px;
}

.doc-title {
    font-family: var(--font-serif);
    font-weight: 300;
    font-size: clamp(2.4rem, 4.2vw, 3.6rem);
    line-height: 1.08;
    letter-spacing: -0.5px;
    color: #fff;
    margin-bottom: 18px;
}

.doc-subtitle {
    font-family: var(--font-serif);
    font-weight: 300;
    font-style: italic;
    font-size: clamp(1.4rem, 2.4vw, 1.9rem);
    line-height: 1.3;
    color: var(--muted);
    margin-bottom: 48px;
}

.doc-body {
    font-family: var(--font-serif);
    font-weight: 300;
    font-size: 1.18rem;
    line-height: 1.9;
    color: rgba(236, 232, 225, 0.92);
    user-select: text;
}

.doc-body p + p { margin-top: 1.4em; }

/* ---------- PDF 文档 ---------- */
.doc-pdf {
    height: 100vh;
    display: flex;
    flex-direction: column;
}

.doc-pdf-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding: 26px var(--edge);
    border-bottom: 1px solid var(--line);
    text-align: center;
}

.doc-pdf-header h1 {
    font-family: var(--font-serif);
    font-weight: 300;
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    letter-spacing: -0.5px;
    color: #fff;
}

.doc-download {
    font-family: var(--font-sans);
    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #fff;
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 2px;
    padding: 11px 22px;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.doc-download:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.85);
}

.doc-frame {
    flex: 1;
    width: 100%;
    border: 0;
    background: #1a1a1a;
}

/* 移动端 PDF 内嵌不可靠 → 改为提示下载 */
.doc-pdf-mobile {
    display: none;
    flex: 1;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: var(--edge);
    gap: 22px;
}

.doc-pdf-mobile p {
    font-size: 1rem;
    color: var(--muted);
    line-height: 1.7;
    max-width: 32ch;
}

/* ---------- CV（结构化简历）---------- */
.cv {
    max-width: 760px;
    margin: 0 auto;
    padding: 15vh var(--edge) 12vh;
}

.cv-header {
    margin-bottom: 60px;
}

.cv-name {
    font-family: var(--font-serif);
    font-style: italic;
    font-size: 1.4rem;
    color: var(--fg);
    margin-top: 14px;
}

.cv-bio {
    color: var(--muted);
    font-size: 0.95rem;
    line-height: 1.6;
    margin-top: 12px;
    user-select: text;
}

.cv-group {
    margin-bottom: 52px;
}

.cv-group-title {
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: 12px;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 18px;
}

.cv-item {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 24px;
    padding: 16px 0;
    border-top: 1px solid var(--line);
}

.cv-group .cv-item:last-child {
    border-bottom: 1px solid var(--line);
}

.cv-date {
    font-size: 13px;
    letter-spacing: 0.5px;
    color: var(--muted);
    padding-top: 2px;
    user-select: text;
}

.cv-entry {
    font-size: 1.02rem;
    line-height: 1.55;
    color: rgba(236, 232, 225, 0.95);
    user-select: text;
}

.cv-place {
    display: block;
    color: var(--muted);
    font-size: 0.92rem;
    margin-top: 3px;
}

.cv-entry a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: opacity 0.3s ease;
}

.cv-entry a:hover {
    opacity: 0.7;
}

@media (max-width: 768px) {
    .cv { padding: 12vh var(--edge) 10vh; }
    .cv-item {
        grid-template-columns: 1fr;
        gap: 6px;
    }
}

/* ---------- Presse（外部报道 / 链接列表）---------- */
.presse {
    max-width: 760px;
    margin: 0 auto;
    padding: 15vh var(--edge) 12vh;
}

.presse-header {
    margin-bottom: 48px;
}

.presse-item {
    display: block;
    padding: 28px 0;
    border-top: 1px solid var(--line);
    text-decoration: none;
    color: inherit;
    transition: padding-left 0.3s ease;
}

.presse-list .presse-item:last-child {
    border-bottom: 1px solid var(--line);
}

.presse-item:hover {
    padding-left: 12px;
}

.presse-source {
    font-size: 12px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 10px;
}

.presse-title {
    font-family: var(--font-serif);
    font-weight: 300;
    font-size: clamp(1.5rem, 2.6vw, 2rem);
    line-height: 1.2;
    color: #fff;
    display: flex;
    align-items: baseline;
    gap: 12px;
}

.presse-title::after {
    content: '↗';
    font-family: var(--font-sans);
    font-size: 0.7em;
    color: var(--muted);
    transition: color 0.3s ease;
}

.presse-item:hover .presse-title::after {
    color: var(--fg);
}

@media (max-width: 768px) {
    .presse { padding: 12vh var(--edge) 10vh; }
}

/* ---------- 占位（如 CV 待重做）---------- */
.doc-placeholder {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: var(--edge);
    gap: 20px;
}

.doc-placeholder .doc-title { margin-bottom: 0; }
.doc-placeholder .doc-kicker { margin-bottom: 0; }

.doc-placeholder p {
    font-size: 1.05rem;
    color: var(--muted);
    line-height: 1.7;
    max-width: 38ch;
}

.doc-placeholder .coming-date {
    font-size: 13px;
    letter-spacing: 3px;
    margin-top: 4px;
}

/* ---------- 响应式 ---------- */
@media (max-width: 768px) {
    :root { --edge: 28px; }

    .doc-article { padding: 14vh var(--edge) 10vh; }
    .doc-body { font-size: 1.08rem; line-height: 1.8; }

    .doc-frame { display: none; }
    .doc-pdf-mobile { display: flex; }
    .doc-pdf { height: auto; min-height: 100vh; }
}
