/* gallery-wall · 画廊墙 —— 深绿展墙、带卡纸的画框与博物馆说明牌贯穿全站 */
:root {
    --gw-wall: #1f3b33;
    --gw-wall-dark: #162b25;
    --gw-brass: #c9a24a;
    --gw-brass-dark: #8a6a24;
    --gw-label: #f7f6f2;
    --gw-ink: #1d1d1b;
    --gw-label-soft: #4f4f4a;
    --gw-wall-ink: #eef2ee;
    --gw-wall-soft: #b9c9c2;
    --gw-line: #35574d;
    --gw-display: "Cormorant Garamond", Garamond, "Times New Roman", serif;
    --gw-body: Jost, system-ui, -apple-system, "Segoe UI", sans-serif;
    --pagination-accent: #c9a24a;
    --pagination-accent-contrast: #1d1d1b;
}

body.theme-gallery { margin: 0; background: var(--gw-wall); color: var(--gw-wall-ink); font-family: var(--gw-body); font-size: 16px; }
:where(.theme-gallery) a { color: inherit; text-decoration: none; }
.theme-gallery :focus-visible { outline: 3px solid var(--gw-brass); outline-offset: 3px; }
.gw-skip { position: absolute; left: -9999px; }
.gw-skip:focus { left: 12px; top: 12px; z-index: 50; padding: 10px 14px; background: var(--gw-label); color: var(--gw-ink); font-weight: 600; }
.gw-main:focus { outline: none; }

/* ---------- 页眉 ---------- */
.gw-header { background: var(--gw-wall-dark); border-bottom: 2px solid var(--gw-brass-dark); }
.gw-header-inner { display: flex; align-items: center; gap: 24px; max-width: 1320px; margin: 0 auto; padding: 12px 24px; }
.gw-brand { margin-right: auto; min-width: 0; font-family: var(--gw-display); font-weight: 700; font-size: 1.7rem; letter-spacing: .14em; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gw-nav { display: flex; gap: 6px; }
.gw-nav a { padding: 10px 14px; font-weight: 500; font-size: .92rem; letter-spacing: .12em; text-transform: uppercase; color: var(--gw-wall-soft); }
.gw-nav a:hover { color: var(--gw-wall-ink); }
.gw-nav a.is-on { color: var(--gw-brass); box-shadow: inset 0 -2px 0 var(--gw-brass); }
.gw-menu-toggle { display: none; color: inherit; }

/* ---------- 展墙版心 ---------- */
.gw-main { min-height: 60vh; padding-bottom: 48px; }
.gw-wall { background: radial-gradient(ellipse at 50% -10%, rgba(255, 244, 214, .12), transparent 60%); }
.gw-wrap { max-width: 1320px; margin: 0 auto; padding: 32px 24px 0; }
.gw-crumb { display: flex; flex-wrap: wrap; gap: 10px; padding: 0 0 20px; font-size: .9rem; color: var(--gw-wall-soft); }
.gw-crumb a { color: var(--gw-wall-ink); text-decoration: underline; text-underline-offset: 4px; }
.gw-wall-title { margin: 48px 0 24px; font-family: var(--gw-display); font-weight: 700; font-size: 2rem; text-align: center; }
.gw-wall-title::after { content: ""; display: block; width: 64px; height: 2px; margin: 12px auto 0; background: var(--gw-brass); }
.gw-empty { padding: 40px 0; color: var(--gw-wall-soft); }
.gw-pager { margin-top: 40px; }
.gw-skirting { height: 18px; background: linear-gradient(var(--gw-wall-dark), #0f1f1a); border-top: 2px solid var(--gw-brass-dark); }

/* ---------- 画框与卡纸（全站母题） ---------- */
.gw-frame { display: block; padding: 12px; box-shadow: 0 14px 24px rgba(0, 0, 0, .35); }
.gw-frame-brass { background: linear-gradient(135deg, #e3c477, var(--gw-brass) 35%, var(--gw-brass-dark) 70%, #d8b562); }
.gw-frame-black { background: linear-gradient(135deg, #3a3a38, #111 50%, #2a2a28); }
.gw-frame-white { background: linear-gradient(135deg, #ffffff, #dcdcd6); padding: 8px; }
.gw-frame-lg { padding: 18px; }
.gw-mat { display: block; padding: 7%; background: #fbfbf8; box-shadow: inset 2px 2px 6px rgba(0, 0, 0, .25); }
.gw-frame-lg .gw-mat { padding: 5%; }
.gw-mat img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; box-shadow: 0 0 0 1px rgba(0, 0, 0, .15); }
.gw-frame-lg .gw-mat img { aspect-ratio: 16 / 9; }

/* 说明牌 */
.gw-label { display: grid; gap: 6px; padding: 14px 16px; background: var(--gw-label); color: var(--gw-ink); box-shadow: 0 4px 10px rgba(0, 0, 0, .25); }
.gw-label-title { margin: 0; font-family: var(--gw-display); font-weight: 700; font-size: 1.3rem; line-height: 1.2; }
.gw-label-meta { font-size: .84rem; font-style: italic; color: var(--gw-label-soft); }
.gw-label-text { margin: 0; color: var(--gw-label-soft); line-height: 1.6; }
.gw-label-kicker { font-size: .78rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--gw-brass-dark); }
.gw-label-lg { gap: 14px; padding: 28px 30px; }
.gw-label-lg .gw-label-title { font-size: clamp(1.8rem, 2.8vw, 2.6rem); line-height: 1.1; }
.gw-label-lg .gw-label-text { font-size: 1.04rem; }
.gw-label-title a:hover, .gw-work-link:hover .gw-label-title { color: var(--gw-brass-dark); }

/* 首页：中心展品 + 一排挂画 */
.gw-centerpiece { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 40px; align-items: center; }
.gw-hang { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 48px 36px; align-items: start; }
.gw-hang-row { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 48px; }
.gw-work-link { display: grid; gap: 18px; }
.gw-work .gw-label { justify-self: center; width: min(100%, 300px); }

/* ---------- 分类页：展厅铜牌 + 长廊 ---------- */
.gw-plaque { display: grid; justify-items: center; gap: 8px; max-width: 760px; margin: 0 auto 24px; padding: 28px 32px; text-align: center; background: linear-gradient(135deg, #e3c477, var(--gw-brass) 40%, #a8822f 75%, #d8b562); color: #1f1a0d; box-shadow: 0 10px 20px rgba(0, 0, 0, .35), inset 0 0 0 4px rgba(255, 255, 255, .25); }
.gw-plaque-kicker { font-size: .78rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
.gw-plaque h1 { margin: 0; font-family: var(--gw-display); font-weight: 700; font-size: clamp(2.2rem, 5vw, 3.6rem); line-height: 1; }
.gw-plaque p { margin: 0; max-width: 52ch; line-height: 1.55; }
.gw-plaque-count { font-family: var(--gw-display); font-weight: 700; font-size: 1.15rem; }
.gw-rooms { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 20px; margin-bottom: 8px; }
.gw-rooms-label { font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: var(--gw-wall-soft); }
.gw-rooms a { font-family: var(--gw-display); font-weight: 700; font-size: 1.1rem; }
.gw-rooms a:hover, .gw-rooms a.is-on { color: var(--gw-brass); }
.gw-corridor { display: grid; gap: 40px; max-width: 1100px; margin: 0 auto; }
.gw-exhibit { display: grid; grid-template-columns: minmax(0, 380px) minmax(0, 1fr); gap: 36px; align-items: center; }
.gw-label-wide { gap: 10px; padding: 22px 24px; }
.gw-label-wide .gw-label-title { font-size: 1.5rem; }

/* ---------- 话题索引：馆内导览牌 ---------- */
.gw-directory { max-width: 860px; margin: 0 auto; padding: 32px; background: linear-gradient(180deg, #3b2a1a, #2b1e12); border: 10px solid #5a4126; box-shadow: 0 14px 28px rgba(0, 0, 0, .4); }
.gw-directory-head { display: grid; justify-items: center; gap: 8px; padding-bottom: 20px; border-bottom: 1px solid #6b5234; text-align: center; color: var(--gw-brass); }
.gw-directory-head h1 { margin: 0; font-family: var(--gw-display); font-weight: 700; font-size: clamp(2rem, 4vw, 3rem); color: #f3e3b8; }
.gw-directory-list { margin: 0; padding: 0; list-style: none; }
.gw-directory-list a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 16px; padding: 18px 4px; border-bottom: 1px dotted #6b5234; color: #f3e3b8; }
.gw-directory-name { font-family: var(--gw-display); font-weight: 700; font-size: 1.55rem; }
.gw-directory-desc { grid-column: 1; color: #d6c7a4; font-size: .95rem; line-height: 1.5; }
.gw-directory-arrow { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--gw-brass); font-size: 1.4rem; }
.gw-directory-list a:hover .gw-directory-name { color: var(--gw-brass); }

/* ---------- 广告壳：展墙上的留白面板，无广告时塌陷 ---------- */
.gw-ad:has(.ad) { margin: 32px 0; padding: 8px; background: var(--gw-wall-dark); border: 1px solid var(--gw-line); }
.gw-ad:has(.ad) .ad { min-height: 250px; margin: 0 !important; }
.gw-corridor > .gw-ad:not(:has(.ad)) { display: none; }

/* ---------- 页脚 ---------- */
.gw-footer { background: #0f1f1a; }
.gw-footer-inner { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 24px 40px; max-width: 1320px; margin: 0 auto; padding: 36px 24px 24px; }
.gw-footer-plaque { display: grid; gap: 6px; align-content: start; }
.gw-footer-plaque b { font-family: var(--gw-display); font-size: 1.6rem; letter-spacing: .1em; text-transform: uppercase; color: var(--gw-brass); }
.gw-footer-plaque span { color: var(--gw-wall-soft); }
.gw-footer-col { display: grid; align-content: start; }
.gw-footer-col h2 { margin: 0 0 6px; font-size: .8rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--gw-brass); }
.gw-footer-col a { display: inline-flex; align-items: center; min-height: 44px; }
.gw-footer-col a:hover { color: var(--gw-brass); }
.gw-footer-copy { max-width: 1320px; margin: 0 auto; padding: 16px 24px 80px; border-top: 1px solid var(--gw-line); color: var(--gw-wall-soft); font-size: .88rem; }

/* ---------- 共享页面调色 ---------- */
.theme-gallery .site-menu { --menu-accent: var(--gw-brass); --menu-line: var(--gw-line); }
.theme-gallery .site-search { --search-line: #4f7468; }

/* ---------- 断点 ---------- */
@media (min-width: 1600px) {
    .gw-wrap, .gw-header-inner, .gw-footer-inner { max-width: 1520px; }
    .gw-hang { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 1023px) {
    .gw-centerpiece { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .gw-hang-row { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
    .gw-exhibit { grid-template-columns: minmax(0, 260px) minmax(0, 1fr); gap: 24px; }
    .gw-footer-inner { grid-template-columns: 1fr 1fr; }
    .gw-footer-plaque { grid-column: 1 / -1; }
}

@media (max-width: 767px) {
    .gw-header-inner { min-height: 52px; padding: 4px 12px; gap: 12px; }
    .gw-brand { font-size: 1.3rem; letter-spacing: .1em; }
    .gw-menu-toggle { display: inline-grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--gw-brass-dark); color: var(--gw-brass); }
    .gw-wrap { padding: 16px 12px 0; }
    .gw-frame { padding: 8px; }
    .gw-frame-lg { padding: 10px; }
    .gw-label-lg { padding: 16px; gap: 10px; }
    .gw-label-lg .gw-label-title { font-size: 1.6rem; }
    .gw-label-lg .gw-label-text { font-size: 1rem; }
    .gw-hang, .gw-hang-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 14px; }
    .gw-hang-row .gw-work:first-child { grid-column: 1 / -1; }
    .gw-work-link { gap: 12px; }
    .gw-label { padding: 10px 12px; }
    .gw-label-title { font-size: 1.1rem; overflow-wrap: anywhere; }
    .gw-plaque { padding: 20px 16px; }
    .gw-corridor { gap: 24px; }
    .gw-exhibit { grid-template-columns: 112px minmax(0, 1fr); gap: 14px; align-items: start; }
    .gw-exhibit .gw-frame { padding: 5px; }
    .gw-exhibit .gw-mat { padding: 5%; }
    .gw-label-wide { padding: 12px; }
    .gw-label-wide .gw-label-title { font-size: 1.15rem; }
    .gw-label-wide .gw-label-text { display: none; }
    .gw-directory { padding: 16px; border-width: 6px; }
    .gw-directory-name { font-size: 1.3rem; }
}

/* 移动端：展厅列表只在 /menu 出现，隐藏规则放在全局规则之后 */
@media (max-width: 767px) {
    .gw-nav, .gw-rooms { display: none; }
}
