
:root{
--brand:#1a5ca8;--brand-2:#2f74c0;--brand-3:#4d8cd0;--brand-l:#e9f2fb;--brand-l2:#f4f9fe;
--gold:#a67c2e;--gold-l:#faf5ea;--gold-b:#e8d9b8;
--ink:#1b2634;--ink-2:#49596b;--ink-3:#8b98a7;
--bg:#f3f6fa;--card:#fff;--line:#e4eaf1;--line-2:#d4deea;
--r:14px;--r-s:10px;--sh:0 1px 2px rgba(16,50,100,.05);--sh2:0 4px 18px rgba(16,50,100,.10);
--nav:56px;--tab:58px;--maxw:1000px;   /* 第 21 轮：改成 PC 版，内容宽度 1000px */
--sd:"Songti SC","STSong","Source Han Serif SC","Noto Serif SC",serif;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.75;
font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
padding-bottom:calc(var(--tab) + env(safe-area-inset-bottom))}
a{color:var(--brand);text-decoration:none}
img{max-width:100%}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 14px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- 顶部 ---------- */
.appbar{position:sticky;top:0;z-index:70;color:#16407c;
background:linear-gradient(135deg,#d9e9f9 0,#ecf5fe 52%,#fdfeff 100%);
border-bottom:1px solid #c9dcf1}
.appbar .in{max-width:var(--maxw);margin:0 auto;height:var(--nav);display:flex;align-items:center;gap:10px;padding:0 12px}
.appbar::after{content:"";display:block;height:3px;
background:linear-gradient(90deg,var(--brand) 0,#6aa3dd 26%,rgba(106,163,221,0) 78%)}
.logoimg{width:36px;height:36px;flex:0 0 auto;object-fit:contain;border-radius:8px;
background:#fff;border:1px solid #d8e5f3;box-shadow:var(--sh);display:block;
padding:0;overflow:hidden;text-decoration:none;line-height:0;transition:transform .15s}
.logoimg img{width:100%;height:100%;object-fit:contain;display:block}
a.logoimg:active{transform:scale(.94)}
.brandtxt{min-width:0;flex:1}
.brandtxt b{display:block;font-size:16.5px;font-weight:700;letter-spacing:.4px;color:#16407c;
white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--sd)}
.brandtxt span{display:block;font-size:10px;opacity:.62;letter-spacing:1.1px;color:#3c6296;
white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.appbar .acts{display:flex;gap:6px;flex:0 0 auto}
.iconbtn{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;
background:rgba(255,255,255,.8);border:1px solid #c6d9ef;color:var(--brand);cursor:pointer;padding:0}
.iconbtn:active{background:#fff}
.navdesk{display:none}

/* ---------- 抽屉 ---------- */
.mask{position:fixed;inset:0;background:rgba(12,32,64,.45);z-index:90;opacity:0;visibility:hidden;
transition:.22s;backdrop-filter:blur(2px)}
.mask.on{opacity:1;visibility:visible}
.drawer{position:fixed;top:0;bottom:0;right:0;width:min(84vw,330px);background:#fff;z-index:100;
transform:translateX(102%);transition:transform .26s cubic-bezier(.22,.7,.25,1);
overflow-y:auto;padding:16px 16px calc(28px + env(safe-area-inset-bottom))}
.drawer.on{transform:none}
.drawer h4{margin:20px 0 10px;font-size:12.5px;color:var(--ink-3);font-weight:600;letter-spacing:1.2px}
.drawer h4:first-of-type{margin-top:8px}
.drawer .dgrp{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.drawer .dgrp a{padding:11px 12px;border:1px solid var(--line);border-radius:var(--r-s);
font-size:14px;color:var(--ink);background:#fff;display:flex;justify-content:space-between;align-items:center}
.drawer .dgrp a em{font-style:normal;font-size:11.5px;color:var(--ink-3)}
.drawer .dhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.drawer .dhead b{font-size:16px;font-family:var(--sd)}

/* ---------- 底部导航 ---------- */
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:80;background:rgba(255,255,255,.97);
backdrop-filter:blur(12px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
.tabbar .in{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr)}
.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
height:var(--tab);font-size:11px;color:var(--ink-3);letter-spacing:.3px}
.tabbar a svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.7;
stroke-linecap:round;stroke-linejoin:round}
.tabbar a.on{color:var(--brand);font-weight:600}

/* ---------- 首页 hero ---------- */
.hero{position:relative;overflow:hidden;color:#143c74;
background:linear-gradient(160deg,#cfe3f7 0,#e4f0fb 46%,#f7fbff 100%);padding:24px 0 74px}
.hero .hlogo{display:block;width:64px;height:64px;object-fit:contain;background:#fff;
border:1px solid #cfe0f2;border-radius:14px;box-shadow:var(--sh);margin:0 0 12px;padding:5px}
.hero .wrap{position:relative;z-index:2}
.hero h1{margin:0 0 8px;font-size:22px;font-family:var(--sd);font-weight:700;letter-spacing:1px;color:#123c74}
.hero .sub{font-size:12px;letter-spacing:1.6px;opacity:.6;margin:0 0 12px;color:#2c5c9e}
.hero p{margin:0;font-size:13.5px;line-height:1.85;opacity:.88;max-width:640px;color:#28528c}
.hero svg.hills{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:64px;z-index:1;opacity:.9}

/* ---------- 通用区块 ---------- */
.sec{margin:20px 0 0}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 11px}
.sec-h h2{margin:0;font-size:17.5px;font-family:var(--sd);font-weight:700;letter-spacing:.6px;position:relative;padding-left:11px}
.sec-h h2::before{content:"";position:absolute;left:0;top:.32em;bottom:.22em;width:3.5px;border-radius:2px;
background:linear-gradient(180deg,var(--brand-2),var(--gold))}
.sec-h a{font-size:12.5px;color:var(--ink-3)}
.sec-h em{font-style:normal;font-size:12.5px;color:var(--ink-3)}

.notice{background:var(--brand-l);border:1px solid #d0e0f2;border-radius:var(--r);padding:12px 14px;
font-size:13px;line-height:1.8;color:#2b4a6f}
.notice b{color:var(--brand)}
.notice.gold{background:var(--gold-l);border-color:var(--gold-b);color:#5c4a20}
.notice.gold b{color:var(--gold)}

/* ---------- 卡片列表 ---------- */
.list{display:grid;gap:10px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);
padding:13px 14px;content-visibility:auto;contain-intrinsic-size:auto 170px}
.card h3{margin:0 0 6px;font-size:16px;font-weight:600;line-height:1.45}
.card h3 a{color:var(--ink);display:flex;align-items:center;gap:6px}
.card .meta{font-size:12px;color:var(--ink-3);margin:0 0 7px;display:flex;flex-wrap:wrap;gap:6px}
.card p{margin:0;font-size:13.5px;color:var(--ink-2);line-height:1.75;
display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.badge{flex:0 0 auto;font-size:10.5px;font-weight:700;padding:1.5px 6px;border-radius:5px;
background:var(--gold-l);color:var(--gold);border:1px solid var(--gold-b);font-family:var(--sd)}
.tagline{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.tag{font-size:11.5px;padding:2px 8px;border-radius:999px;background:var(--brand-l);
color:#1a5ca8;border:1px solid #d3e3f4;white-space:nowrap}
.tag.gold{background:var(--gold-l);color:var(--gold);border-color:var(--gold-b)}

.morebtn{display:block;width:100%;margin:14px 0 0;padding:12px;border-radius:var(--r-s);
border:1px solid var(--line-2);background:#fff;color:var(--brand);font-size:14px;font-weight:600;cursor:pointer}
.morebtn:active{background:var(--brand-l)}

/* ---------- 筛选栏 ---------- */
.filterbar{position:sticky;top:var(--nav);z-index:60;background:rgba(243,246,250,.97);
backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:9px 0 7px}
.searchrow{display:flex;gap:8px;align-items:center}
.searchbox{flex:1;position:relative}
.searchbox svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);
width:16px;height:16px;stroke:var(--ink-3);fill:none;stroke-width:1.9}
.searchbox input{width:100%;padding:10px 12px 10px 34px;font-size:14.5px;border-radius:999px;
border:1px solid var(--line-2);background:#fff;color:var(--ink);outline:none;
-webkit-appearance:none;appearance:none}
.searchbox input:focus{border-color:var(--brand-2)}
.chips{display:flex;gap:7px;overflow-x:auto;padding:9px 0 2px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{flex:0 0 auto;padding:5.5px 12px;border-radius:999px;border:1px solid var(--line-2);
background:#fff;font-size:13px;color:var(--ink-2);cursor:pointer;white-space:nowrap}
.chip.on{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}
.chip em{font-style:normal;opacity:.6;font-size:11px;margin-left:2px}
.chip.on em{opacity:.85}
.listinfo{font-size:12px;color:var(--ink-3);padding:7px 0 3px}

/* ---------- 详情页 ---------- */
.crumb{font-size:12.5px;color:var(--ink-3);padding:12px 0 0}
.crumb a{color:var(--ink-2)}
.entry-h{padding:6px 0 0}
.entry-h h1{margin:8px 0 8px;font-size:22px;line-height:1.4;font-family:var(--sd);font-weight:700}
.entry-h .meta{font-size:12.5px;color:var(--ink-3);display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.summary-box{background:var(--gold-l);border-left:3.5px solid var(--gold);
border-radius:0 var(--r-s) var(--r-s) 0;padding:12px 14px;margin:13px 0 4px;
font-size:14.5px;line-height:1.85;color:#5b4a1f}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);
padding:4px 14px 6px;margin:14px 0 0}
.panel>h2{margin:0;padding:13px 0 11px;font-size:16px;font-family:var(--sd);font-weight:700;
letter-spacing:.5px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px}
.panel>h2::before{content:"";width:3.5px;height:15px;border-radius:2px;
background:linear-gradient(180deg,var(--brand-2),var(--gold))}
.panel h3{margin:15px 0 5px;font-size:14.5px;font-weight:600;color:var(--brand);
display:flex;align-items:center;gap:7px}
.panel h3::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--brand-3);
box-shadow:0 0 0 3px var(--brand-l)}
.panel p{margin:9px 0;font-size:14.5px;line-height:1.9;color:var(--ink-2)}
dl.kv{margin:0}
dl.kv dt{float:left;clear:left;width:96px;padding:9px 8px 9px 0;font-size:13px;color:var(--ink-3);line-height:1.7}
dl.kv dd{margin:0 0 0 96px;padding:9px 0;font-size:14px;color:var(--ink);line-height:1.8;
border-bottom:1px dashed var(--line)}
dl.kv dd:last-of-type{border-bottom:0}
dl.kv::after{content:"";display:block;clear:both}

.faq{margin:6px 0 10px}
.faq details{border:1px solid var(--line);border-radius:var(--r-s);margin-bottom:8px;background:#fcfdfe;overflow:hidden}
.faq details[open]{border-color:#ccdef2;background:#fff}
.faq summary{padding:11px 13px;font-size:14.5px;font-weight:600;color:var(--ink);cursor:pointer;
list-style:none;display:flex;gap:9px;align-items:flex-start;line-height:1.65}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"问";flex:0 0 auto;width:20px;height:20px;margin-top:2px;border-radius:5px;
background:var(--brand-l);color:var(--brand);font-size:11.5px;font-weight:700;
display:grid;place-items:center;font-family:var(--sd)}
.faq .ans{padding:0 13px 13px 42px;font-size:14px;line-height:1.9;color:var(--ink-2)}
.faq .ans::before{content:"答";display:inline-block;width:20px;height:20px;margin:0 6px 0 -29px;
border-radius:5px;background:var(--gold-l);color:var(--gold);font-size:11.5px;font-weight:700;
text-align:center;line-height:20px;vertical-align:top;font-family:var(--sd)}

.srcbox{margin:16px 0 0;padding:12px 14px;border-radius:var(--r);background:#edf2f8;
font-size:12px;color:var(--ink-3);line-height:1.85}
.srcbox b{color:var(--ink-2)}
.relate{display:grid;gap:8px;grid-template-columns:1fr}
.relate a{display:block;padding:11px 13px;border:1px solid var(--line);border-radius:var(--r-s);
background:#fff;font-size:14px;color:var(--ink);box-shadow:var(--sh)}
.relate a em{font-style:normal;display:block;font-size:11.5px;color:var(--ink-3);margin-top:2px}
.relate a i{font-style:normal;font-size:10.5px;color:var(--brand);background:var(--brand-l);
border:1px solid #d6e5f6;border-radius:6px;padding:1px 6px;margin-right:6px}

/* ---------- 表格 ---------- */
.tbl{width:100%;border-collapse:collapse;font-size:13.5px;background:#fff;
border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);margin:10px 0 0}
.tbl th,.tbl td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.tbl th{background:var(--brand-l);color:var(--brand);font-weight:600;white-space:nowrap;font-size:13px}
.tbl tr:last-child td{border-bottom:0}

/* ---------- 页脚 ---------- */
footer{margin-top:30px;padding:22px 0 28px;background:#edf2f8;color:var(--ink-3);font-size:12.5px;line-height:1.9}
footer b{color:var(--ink-2)}
footer .fl{display:flex;flex-wrap:wrap;gap:8px 16px;margin:10px 0 12px;font-size:13px}
footer .fl a{color:var(--ink-2)}
.copyright{font-size:11.5px;color:#9aa7b6;margin-top:12px;padding-top:11px;border-top:1px solid #dce3ed}

/* ---------- 桌面 ---------- */
@media(min-width:760px){
body{padding-bottom:0;font-size:15.5px}
.brandtxt b{font-size:18px}
.hero{padding:34px 0 74px}
.hero h1{font-size:27px}
.sec-h h2{font-size:19.5px}
.entry-h h1{font-size:27px}
.list{grid-template-columns:repeat(2,1fr);gap:12px}
.relate{grid-template-columns:repeat(3,1fr)}
.tabbar{display:none}
.navdesk{display:flex;gap:2px;flex:1;justify-content:center;background:var(--brand);
border-radius:999px;padding:3px;max-width:640px;margin:0 auto}
.navdesk a{padding:6px 13px;border-radius:999px;font-size:14px;color:rgba(255,255,255,.88)}
.navdesk a.on{background:#fff;color:var(--brand);font-weight:600}
.drawer{width:340px}
}
@media(min-width:1000px){
/* PC 版主视区：内容固定 1000px 居中，字号与留白按桌面阅读习惯放大 */
.list{grid-template-columns:repeat(3,1fr)}
.wrap{padding:0 24px}
body{font-size:16px}
.hero{padding:42px 0 86px}
.hero h1{font-size:31px}
.hero p{font-size:15px;max-width:760px}
.hero .hlogo{width:78px;height:78px;border-radius:16px}
.sec-h h2{font-size:21px}
.entry-h h1{font-size:31px}
.card h3{font-size:17px}
.brandtxt b{font-size:19px}
.navdesk{max-width:700px}
}
@media print{.appbar,.tabbar,.filterbar,.drawer,.mask{display:none!important}}

.wine-img{display:block;width:auto;max-width:min(430px,88%);height:min(440px,110vw);
border-radius:var(--r);margin:14px auto 4px;box-shadow:var(--sh2)}
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0 4px}
.gallery figure{margin:0;border-radius:var(--r-s);overflow:hidden;background:#f3f6fa}
.gallery figure:first-child{grid-column:1/-1}
.gallery img{width:100%;height:132px;object-fit:cover;display:block}
.gallery figure:first-child img{height:210px}
.gallery.g1{grid-template-columns:1fr}
.gallery.g2{grid-template-columns:repeat(2,1fr)}
@media(min-width:760px){.gallery{grid-template-columns:repeat(3,1fr)}.gallery figure:first-child img{height:300px}}
.card .cthumb{display:block;margin:-13px -14px 10px;border-radius:var(--r) var(--r) 0 0;overflow:hidden;background:#f3f6fa}
.card .cthumb img{width:100%;height:158px;object-fit:cover;display:block}
.card:has(.cthumb){padding-top:0}
.card:has(.cthumb){content-visibility:auto;contain-intrinsic-size:auto 330px}
.flabel{flex:0 0 auto;font-size:12px;color:var(--ink-3);align-self:center}
.wgrid{display:grid;gap:11px;margin-top:14px}
.wcard{display:flex;background:#fff;border:1px solid var(--line);border-radius:var(--r);
box-shadow:var(--sh);overflow:hidden}
.wcard .wimg{flex:0 0 140px;height:232px;display:flex;align-items:center;justify-content:center;
padding:9px 6px;background:linear-gradient(180deg,#fbfdff,#f1f6fc);border-right:1px solid var(--line)}
.wcard .wimg img{height:100%;width:auto;max-width:100%;object-fit:contain;display:block}
.wcard .wimg.noimg{background:linear-gradient(160deg,#e9f2fb,#f7f2e6)}
.wcard .winfo{flex:1;min-width:0;padding:13px;display:flex;flex-direction:column;justify-content:center}
.wcard h3{margin:0 0 5px;font-size:15.5px;line-height:1.45;font-weight:600}
.wcard h3 a{color:var(--ink);display:block}
.wcard .wmeta{font-size:12px;color:var(--ink-3);margin:0 0 7px;line-height:1.6}
.wcard .wrow{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.score{font-size:13px;font-weight:700;color:var(--gold);font-family:var(--sd)}
.wcard .waward{margin-top:7px;font-size:12px;color:#8a5a12;font-weight:600}
/* 进口红酒出现在通用列表页（板块/区域/类别/组合）时的两栏卡片：去掉卡片内边距，让酒瓶图贴边铺满 */
.card.wcard{padding:0;content-visibility:auto;contain-intrinsic-size:auto 250px;overflow:hidden}
.card.wcard .winfo{padding:12px 13px}
.card.wcard .winfo .meta{margin:0 0 7px}
.card.wcard h3 a{display:block}
@media(min-width:760px){
.card.wcard .wimg{flex:0 0 152px;height:250px}
.card.wcard .wimg img{max-height:236px;width:auto}
}
.sec-h-tip{font-size:12.5px;color:var(--ink-3)}
.plate-grid{display:grid;grid-template-columns:1fr;gap:9px}
/* 首页「内容分类」：移动端一行 3 列、不显示条数（第 20 轮） */
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.cat-grid a{display:flex;align-items:center;justify-content:center;min-height:54px;padding:9px 6px;
background:#fff;border:1px solid var(--line);border-radius:var(--r-s);box-shadow:var(--sh);
color:var(--brand);font-family:var(--sd);font-size:13.5px;font-weight:600;line-height:1.35;text-align:center}
.platecard{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--r);
padding:13px 14px;box-shadow:var(--sh);color:var(--ink)}
.platecard b{display:block;font-size:15.5px;font-family:var(--sd);color:var(--brand);margin-bottom:3px}
.platecard span{display:block;font-size:12.5px;color:var(--ink-2);line-height:1.65}
.platecard em{display:block;font-style:normal;font-size:11.5px;color:var(--ink-3);margin-top:7px}
.rgn{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.rchip{display:flex;flex-direction:column;align-items:center;gap:1px;background:#fff;
border:1px solid var(--line);border-radius:var(--r-s);padding:10px 4px;box-shadow:var(--sh);color:var(--ink)}
.rchip b{font-size:13.5px;font-weight:600}
.rchip em{font-style:normal;font-size:11px;color:var(--ink-3)}
.ritem{display:block;padding:11px 13px;border:1px solid var(--line);border-radius:var(--r-s);
background:#fff;margin-bottom:8px}
.ritem b{display:block;font-size:14.5px;color:var(--ink);font-weight:600}
.ritem em{font-style:normal;display:block;font-size:11.5px;color:var(--ink-3);margin-top:2px}
.idxwrap{display:block}
.prose p{margin:0 0 12px;line-height:1.95;text-align:justify}
.prose p:last-child{margin-bottom:0}
h3.sub{font-size:14px;font-family:var(--sd);color:var(--brand);margin:14px 0 8px;
padding-left:9px;border-left:3px solid var(--gold)}
h3.sub:first-child{margin-top:0}
.srcbox .ldnote,.ldnote{font-size:12.5px;color:var(--ink-2);line-height:1.75;margin:0 0 10px}
.ldbox summary{font-size:13px;color:var(--brand);cursor:pointer;padding:6px 0}
pre.schema{margin:8px 0 0;padding:11px 12px;background:#f3f6fa;border:1px solid var(--line);
border-radius:8px;font-size:11.5px;line-height:1.65;color:#2a4a70;overflow-x:auto;
white-space:pre;font-family:ui-monospace,Menlo,Consolas,monospace;max-height:340px;overflow-y:auto}
.kv dd{line-height:1.85}
.sbtn{position:absolute;right:5px;top:50%;transform:translateY(-50%);border:0;border-radius:16px;
background:var(--brand);color:#fff;font-size:13px;padding:6px 13px;font-family:inherit;cursor:pointer}
.searchbox{position:relative}
.searchbox input{padding-right:74px}
.pin{display:inline-block;font-style:normal;font-size:10.5px;background:var(--gold-l);color:#8a5a12;
border-radius:4px;padding:1px 5px;margin-right:5px;vertical-align:1px}
.idxwrap .panel{margin-top:14px}
a.tag{color:#1a5ca8}
a.tag.gold{color:var(--gold)}
.tagline a.tag{margin-bottom:2px}
@media(min-width:760px){
.plate-grid{grid-template-columns:repeat(3,1fr)}
.cat-grid{grid-template-columns:repeat(5,1fr);gap:10px}
.cat-grid a{min-height:62px;font-size:15px}
.rgn{grid-template-columns:repeat(5,1fr)}
#hres{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.wgrid{grid-template-columns:repeat(2,1fr)}
.wcard .wimg{flex:0 0 152px;height:250px}
}
@media(min-width:1000px){
.wgrid{grid-template-columns:repeat(3,1fr)}
}
