/* ============================================================
   全球粥会 · 前台门户样式（典雅文化风）
   基调：宣纸米 + 墨褐 + 金铜；导航/块标题为无衬线加粗
   ============================================================ */
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { min-height: 100%; }
body {
    font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif;
    background: #f7f2e7;
    color: #43392c;
    font-size: 14px;
    line-height: 1.7;
}
a { color: #5d5038; text-decoration: none; transition: color .2s; }
a:hover { color: #b34a3a; }
img { border: 0; }
ul { list-style: none; }

.wrap { width: 1200px; max-width: 96%; margin: 0 auto; }

/* ---------- 顶部饰条 ---------- */
.topbar { background: #463a28; color: #d9c9a8; font-size: 12px; letter-spacing: 1px; }
.topbar .wrap { display: flex; justify-content: space-between; height: 32px; line-height: 32px; }
.topbar a { color: #e0d4ba; }
.topbar a:hover { color: #fff; }
.topbar .sep { margin: 0 6px; color: #7a6a4c; }

/* ---------- 顶部横幅（沿用原站 banner） ---------- */
.banner-wrap { margin-top: 6px; }
.banner { position: relative; overflow: hidden; background: #e7dcc4; }
.banner > img { width: 100%; display: block; }

/* ---------- 主导航 ---------- */
.navbar { border-top: 2px solid #463a28; border-bottom: 1px solid #d8cbb0;
    background: #3f3627; position: sticky; top: 0; z-index: 900; box-shadow: 0 2px 6px rgba(0,0,0,.12); }
.navbar ul { display: flex; justify-content: center; }
.navbar li { position: relative; }
.navbar a.mi { display: block; padding: 13px 24px; color: #efe6d2;
    font-size: 15px; font-weight: 700; letter-spacing: 1px;
    font-family: "Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif; }
.navbar li:hover > a.mi, .navbar a.mi.on { color: #fff; background: #55493a; }
.navbar .sub { display: none; position: absolute; left: 0; top: 100%; min-width: 150px;
    background: #fffdf7; border: 1px solid #e3d8c3; box-shadow: 0 6px 18px rgba(60,50,30,.16); z-index: 950; }
.navbar li:hover .sub { display: block; }
.navbar .sub a { display: block; padding: 9px 18px; color: #554a38; font-size: 13px;
    border-bottom: 1px dashed #eee4cf; white-space: nowrap; }
.navbar .sub a:hover { background: #f4ead6; color: #b34a3a; }

/* ---------- 首页：统一三列，首行轮播占两列 + 近期活动，次行三栏目同宽 ---------- */
.home-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; margin-top: 26px; align-items: stretch; }
.hero-box { grid-column: span 2; min-width: 0; }
.hero-full { grid-column: 1 / -1; }
.hero-box .slider, .hero-box .hero-fallback { height: 460px; }
.side-news { display: flex; flex-direction: column; min-width: 0; padding: 18px 20px; }
.home-grid .card, .side-news { min-width: 0; }
.side-news ul { flex: 1; min-height: 0; }
.side-news ul li a .tt { max-width: none; }
.news-blocks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.news-blocks .tt { min-width: 0; }

/* ---------- 通用面板 ---------- */
.panel { margin: 28px 0; }
.panel-hd { display: flex; align-items: baseline; border-bottom: 2px solid #463a28; padding-bottom: 8px; margin-bottom: 16px; }
.panel-hd .t { font-family: "Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif;
    font-size: 20px; font-weight: 700; letter-spacing: 2px; color: #3f3527; }
.panel-hd .t em { font-style: normal; color: #b34a3a; margin-right: 4px; }
.panel-hd .more { margin-left: auto; font-size: 12px; color: #8a7b60; }
.panel-hd .more:hover { color: #b34a3a; }

/* ---------- 首页轮播 ---------- */
.hero { margin: 26px auto 0; }
.slider { position: relative; height: 420px; overflow: hidden; background: #e7ddc8; }
.slider .slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1s; }
.slider .slide.on { opacity: 1; z-index: 2; }
.slider .slide a { display: block; height: 100%; }
.slider .slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.slider .cap {
    position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; height: auto;
    padding: 46px 26px 20px;
    background: linear-gradient(180deg, transparent, rgba(40, 30, 15, .72));
    color: #fff; font-family: "KaiTi","STKaiti",serif; font-size: 20px; letter-spacing: 2px;
    line-height: 1.6; text-shadow: 0 1px 3px rgba(0,0,0,.55); text-align: center;
}
.slider .dots { position: absolute; bottom: 12px; left: 0; right: 0; z-index: 6; text-align: center; }
.slider .dots i { display: inline-block; width: 9px; height: 9px; border-radius: 50%;
    background: rgba(255,255,255,.5); margin: 0 5px; cursor: pointer; }
.slider .dots i.on { background: #fff; transform: scale(1.25); }
/* 无焦点图时的水墨占位 */
.hero-fallback { height: 420px; display: flex; align-items: center; justify-content: center;
    flex-direction: column; color: #8a7a58; letter-spacing: 6px; font-family: "KaiTi","STKaiti",serif; }

/* ---------- 首页卡片区 ---------- */
.news-blocks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.card { background: #fffdf7; border: 1px solid #e7dbc2; padding: 18px 20px; }
.card h3 { font-family: "Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif;
    font-size: 17px; font-weight: 700; color: #463a28;
    border-left: 4px solid #b34a3a; padding-left: 10px; margin-bottom: 14px; letter-spacing: 1px; }
.card h3 small { float: right; font-family: inherit; font-size: 12px; color: #9b8b6c; }
.card ul li { border-bottom: 1px dashed #eee3cb; }
.card ul li:last-child { border-bottom: 0; }
.card ul li a { display: flex; padding: 9px 0; font-size: 14px; }
.card ul li a .tt { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.card ul li a .dt { color: #a08f6d; font-size: 12px; margin-left: 10px; flex: none; }
.lead-news { display: flex; gap: 20px; margin-bottom: 18px; padding-bottom: 14px;
    border-bottom: 1px dashed #e8dcc2; }
.lead-news .pic { width: 168px; flex: none; }
.lead-news .pic img, .pic img { width: 100%; height: 108px; object-fit: cover; }
.lead-news h4 a { font-family: "Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif;
    font-size: 16px; font-weight: 700; color: #3a2f21; line-height: 1.5; }
.lead-news p { color: #8a7b60; font-size: 12px; margin-top: 6px; display: -webkit-box;
    -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* 图片墙 */
.gallery-tabs { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-bottom: 16px; }
.gallery-tabs a { font-size: 13px; color: #7a6c50; padding: 4px 10px; border: 1px solid transparent; }
.gallery-tabs a.on, .gallery-tabs a:hover { border-color: #b34a3a; }
.gallery-tabs a.on { background: #463a28; color: #fff; }
.pgrid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.pcell { position: relative; background: #eee5d0; overflow: hidden; }
.pcell .ph { aspect-ratio: 3 / 4; }
.pcell img { width: 100%; height: 100%; object-fit: cover; display: block;
    transition: transform .4s; }
.pcell:hover img { transform: scale(1.06); }
.pcell .tt { position: absolute; left: 0; right: 0; bottom: 0; padding: 22px 8px 6px;
    background: linear-gradient(180deg, transparent, rgba(35,28,16,.72));
    color: #f4ecd8; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }
/* 文字卡片（单页入口） */
.page-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.pcard { background: #fffdf7; border: 1px solid #e7dbc2; padding: 22px 24px; position: relative;
    overflow: hidden; }
.pcard::before { content: "粥"; position: absolute; right: -12px; top: -26px; font-size: 110px;
    color: rgba(179,74,58,.07); font-family: "Songti SC","SimSun",serif; }
.pcard h3 a { font-family: "Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif;
    font-size: 18px; font-weight: 700; letter-spacing: 1px; color: #3a2f21; }
.pcard p { margin-top: 10px; color: #7c6f55; font-size: 13px; height: 60px; overflow: hidden; }
.pcard .go { display: inline-block; margin-top: 12px; font-size: 12px; color: #a4864f; letter-spacing: 1px; }
.pcard .go:hover { color: #b34a3a; }

/* ---------- 面包屑 / 内页通用 ---------- */
.page-body { min-height: 60vh; padding: 26px 0 40px; }
.crumb { color: #8a7b60; font-size: 13px; margin-bottom: 18px; }
.crumb a:hover { color: #b34a3a; }
.inner { background: #fffdf7; border: 1px solid #e7dbc2; padding: 26px 30px; }
.layout-2col { display: grid; grid-template-columns: 1fr 300px; gap: 24px; align-items: start; }
.side .card { margin-bottom: 18px; }

/* 列表 */
.list-news li { border-bottom: 1px dashed #e7dbc2; }
.list-news li:last-child { border: 0; }
.list-news a { display: flex; padding: 15px 4px; align-items: center; }
.list-news a .pic { width: 130px; flex: none; margin-right: 16px; }
.list-news a .pic img { height: 82px; }
.list-news .txt { flex: 1; min-width: 0; }
.list-news .txt h4 { font-family: "Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif;
    font-size: 16px; font-weight: 400; color: #3f3527;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.list-news .txt p { color: #9a8b6d; font-size: 12px; margin-top: 6px;
    display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.list-news .date { flex: none; margin-left: 18px; text-align: center; color: #a08f6d; }
.list-news .date b { display: block; font-size: 22px; font-family: Georgia, serif; }
.list-news .date span { font-size: 12px; }
.list-news a:hover h4 { color: #b34a3a; }
.empty { text-align: center; color: #9a8b6d; padding: 60px 0; }

/* 图集网格（图片列表） */
.photogrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.pg-item { display: flex; flex-direction: column; background: #fffdf7; border: 1px solid #e7dbc2; overflow: hidden; }
.pg-item .ph { position: relative; display: block; width: 100%; aspect-ratio: 3 / 2; overflow: hidden; background: #e7dcc4; }
.pg-item .ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.pg-item:hover .ph img { transform: scale(1.05); }
.pg-item .ti { display: block; flex: 0 0 auto; padding: 8px 10px; font-size: 13px; color: #5d5038;
    text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }

/* ---------- 分页 ---------- */
.pager { margin: 24px 0 4px; text-align: center; }
.pager a, .pager span { display: inline-block; min-width: 34px; height: 34px; line-height: 34px;
    margin: 0 3px; padding: 0 10px; border: 1px solid #ddd0b6; background: #fffdf7; color: #5d5038; }
.pager a:hover { border-color: #b34a3a; color: #b34a3a; }
.pager .cur { background: #463a28; color: #fff; border-color: #463a28; }
.pager .off { color: #c3b597; }
.pager .total { border: 0; color: #9a8b6d; }

/* ---------- 文章详情 ---------- */
.detail-hd { text-align: center; border-bottom: 1px dashed #e3d6bc; padding-bottom: 18px; margin-bottom: 22px; }
.detail-hd h1 { font-family: "Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif;
    font-size: 24px; font-weight: 700; color: #372c1e; letter-spacing: 1px; }
.detail-hd .meta { margin-top: 10px; color: #9a8b6d; font-size: 12px; }
.detail-hd .meta span { margin: 0 10px; }
.article-body { font-size: 15.5px; line-height: 2.05; color: #3d3528; }
.article-body p { margin: 10px 0; text-indent: 2em; }
.article-body img { max-width: 100%; }
.article-body table { max-width: 100%; }
.article-body .aligncenter { text-align: center; }
.page-tabs { margin: 14px 0 4px; text-align: center; }
.page-tabs a, .page-tabs span { display: inline-block; min-width: 32px; padding: 3px 10px; margin: 0 3px;
    border: 1px solid #d8cbb0; color: #5d5038; background: #fffdf7; }
.page-tabs a:hover, .page-tabs .on { background: #463a28; color: #fff; border-color: #463a28; }
.neighbor { margin-top: 26px; padding-top: 14px; border-top: 1px dashed #e3d6bc; color: #8a7b60; font-size: 13px; }
.neighbor div { margin: 6px 0; }
.neighbor .r { text-align: right; }

/* 图片详情 */
.photo-view { text-align: center; }
.photo-view .ph { max-width: 900px; margin: 0 auto; background: #eee5d0; }
.photo-view .ph img { max-width: 100%; }
.photo-view .caption { color: #6e6150; margin: 14px 0 4px; }

/* ---------- 友情链接/页脚 ---------- */
.wrap.linkline { margin: 30px auto 6px; padding: 16px 20px; border-top: 1px solid #e3d6bc;
    border-bottom: 1px solid #e3d6bc; }
.linkline b { color: #6e6150; font-weight: normal; font-family: "Songti SC","SimSun",serif; margin-right: 14px; }
.linkline a { margin: 0 10px; color: #7c6f55; }
.linkline a:hover { color: #b34a3a; }
.footer { background: #35301f; color: #b5a888; padding: 30px 0 40px; margin-top: 36px; font-size: 12px; }
.footer .wrap { text-align: center; line-height: 2.2; }
.footer a { color: #d3c5a6; }
.footer a:hover { color: #fff; }
.footer .brand { font-family: "Songti SC","SimSun",serif; font-size: 16px; letter-spacing: 4px; color: #e0d4ba; }

/* ---------- 404 ---------- */
.error404 { text-align: center; padding: 90px 0; }
.error404 .code { font-family: Georgia, serif; font-size: 110px; color: #d8cbb0; line-height: 1; }
.error404 p { color: #8a7b60; margin: 18px 0 26px; }

@media (max-width: 1000px) {
    .home-grid { grid-template-columns: 1fr; }
    .hero-box { grid-column: auto; }
    .news-blocks, .page-cards { grid-template-columns: 1fr; }
    .pgrid { grid-template-columns: repeat(3, 1fr); }
    .photogrid { grid-template-columns: repeat(2, 1fr); }
    .layout-2col { grid-template-columns: 1fr; }
    .slider, .hero-fallback { height: 300px; }
}
