/* ===================================================================
   丰华律所前台 · 新版设计系统 v1
   深藏青 + 金铜配色 · 零依赖·零图片·纯 CSS · 高性能 · 电脑/手机自适应
   =================================================================== */
:root{
  --nv:#8e1b21;        /* 主色 绛红 */
  --nv2:#a3252b;       /* 主色浅 */
  --nv3:#5e1215;       /* 主色深 */
  --gd:#c0a068;        /* 金铜 */
  --gd2:#e3cd9e;       /* 金铜浅 */
  --txt:#2a2422;
  --txt2:#6e605a;
  --line:#ece5e1;
  --bg:#faf8f6;
  --card:#ffffff;
  --red:#b4232a;
  --radius:10px;
  --shadow:0 2px 12px rgba(94,18,21,.055);
  --shadow2:0 6px 26px rgba(94,18,21,.10);
  --maxw:1280px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--txt);
  font:15px/1.75 -apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
}
img{max-width:100%;height:auto;border:0;display:block}
a{color:inherit;text-decoration:none;transition:color .18s}
a:hover{color:var(--gd)}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4{margin:0;font-weight:700;line-height:1.35}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}

/* ============ 顶部 ============ */
.site-top{background:var(--nv3);color:#d8c2b8;font-size:13px;line-height:34px}
.site-top .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px}
.site-top a{color:#d8c2b8}
.site-top a:hover{color:var(--gd2)}

.site-head{background:linear-gradient(135deg,var(--nv) 0%,var(--nv2) 100%);color:#fff;position:relative;overflow:hidden;border-bottom:1px solid rgba(192,160,104,.42)}
.site-head::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;
  background:radial-gradient(circle,rgba(184,148,95,.22),transparent 68%);pointer-events:none}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:22px;padding-bottom:22px;position:relative;z-index:1}
.brand{display:flex;align-items:center;gap:14px;min-width:0}
.brand-logo{width:54px;height:54px;flex:0 0 auto;display:block;
  filter:drop-shadow(0 3px 10px rgba(0,0,0,.38));transition:transform .3s}
.brand:hover .brand-logo{transform:rotate(-6deg) scale(1.04)}
.brand-tx{min-width:0}
.brand-tx b{display:block;font-size:26px;letter-spacing:1px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-tx span{display:block;font-size:12px;color:var(--gd2);letter-spacing:2.4px;text-transform:uppercase}
.head-tel{display:flex;align-items:center;gap:10px;font-size:14px;color:#eaddd6;white-space:nowrap}
.head-tel svg{width:26px;height:26px;fill:var(--gd2);flex:0 0 auto}
.head-tel b{display:block;font-size:21px;color:#fff;letter-spacing:.5px;line-height:1.2}

/* 导航 */
.site-nav{background:#7a171c;position:relative;z-index:60}
.site-nav .wrap{display:flex;align-items:stretch}
.site-nav a.nv{flex:1;text-align:center;color:#f6eeea;padding:15px 6px;font-size:16px;position:relative}
.site-nav a.nv::after{content:"";position:absolute;left:50%;bottom:8px;width:0;height:2px;background:var(--gd);transition:width .22s,left .22s}
.site-nav a.nv:hover,.site-nav a.nv.on{background:rgba(255,255,255,.07);color:#fff}
.site-nav a.nv:hover::after,.site-nav a.nv.on::after{width:44%;left:28%}
.nav-toggle{display:none}

/* 手机端汉堡菜单 */
@media (max-width:860px){
  .site-nav .wrap{display:block;padding:0}
  .nav-toggle{display:flex;align-items:center;justify-content:space-between;color:#fff;padding:13px 20px;font-size:16px;cursor:pointer}
  .nav-toggle span{display:flex;align-items:center;gap:8px}
  .nav-toggle i{display:block;width:20px;height:2px;background:#fff;position:relative}
  .nav-toggle i::before,.nav-toggle i::after{content:"";position:absolute;left:0;width:20px;height:2px;background:#fff}
  .nav-toggle i::before{top:-6px} .nav-toggle i::after{top:6px}
  .site-nav .nav-list{display:none;background:var(--nv2)}
  .site-nav.open .nav-list{display:block}
  .site-nav a.nv{display:block;flex:none;text-align:left;padding:13px 22px;border-top:1px solid rgba(255,255,255,.08);font-size:15px}
  .site-nav a.nv::after{display:none}
}

/* ============ 主体栅格 ============ */
.main{padding:26px 0 10px}
.grid{display:grid;grid-template-columns:300px minmax(0,1fr) 320px;gap:22px;align-items:start}
@media (max-width:1100px){ .grid{grid-template-columns:minmax(0,1fr) 300px} .col-l{order:-1;grid-column:1/-1} }
@media (max-width:860px){ .grid{grid-template-columns:1fr;gap:16px} }

/* 卡片 */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;margin-bottom:20px}
.card-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:0 16px;height:50px;border-bottom:1px solid var(--line);background:#fdfbf9}
.card-hd h2{font-size:17px;color:var(--nv);display:flex;align-items:center;gap:9px;min-width:0}
.card-hd h2::before{content:"";width:3px;height:17px;background:linear-gradient(var(--gd2),var(--gd));border-radius:2px;flex:0 0 auto}
.card-hd h2 span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card-hd .more{font-size:13px;color:var(--txt2);white-space:nowrap;display:flex;align-items:center;gap:3px}
.card-hd .more:hover{color:var(--gd)}
.card-bd{padding:16px}

/* 新闻列表 */
.nlist li{display:flex;gap:11px;padding:11px 0;border-bottom:1px dashed var(--line);align-items:flex-start}
.nlist li:last-child{border-bottom:0;padding-bottom:2px}
.nlist .dot{width:6px;height:6px;border-radius:50%;background:var(--gd);flex:0 0 auto;margin-top:10px}
.nlist a{flex:1;min-width:0;font-size:15px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nlist time{color:#9c8e86;font-size:13px;white-space:nowrap;flex:0 0 auto}
@media (max-width:520px){ .nlist time{display:none} }

/* 图文新闻（带缩略图） */
.piclist{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.piclist a{display:block;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.piclist img{width:100%;height:140px;object-fit:cover;transition:transform .4s}
.piclist a:hover img{transform:scale(1.06)}
.piclist b{display:block;height:calc(2 * 1.45em + 9px);overflow:hidden;margin-bottom:10px;
  padding:9px 11px 0;font-size:14px;font-weight:500;line-height:1.45}
@media (max-width:520px){ .piclist{grid-template-columns:repeat(2,1fr);gap:10px} .piclist img{height:104px} .piclist b{font-size:13px;padding:8px 10px 0;margin-bottom:9px;height:calc(2 * 1.45em + 8px)} }

/* 律师卡片 */
.laws{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px}
.law{text-align:center;padding:12px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;transition:.22s}
.law:hover{border-color:var(--gd);box-shadow:var(--shadow2);transform:translateY(-2px)}
.law img{width:100%;height:auto;object-fit:contain;border-radius:5px;margin:0 auto 9px;border:1px solid var(--line);background:#fff}
.law b{display:block;font-size:15px;color:var(--nv);margin-bottom:2px}
.law span{font-size:12.5px;color:var(--txt2)}
@media (max-width:520px){ .laws{grid-template-columns:repeat(2,1fr);gap:10px} }

/* 登录框 */
.login-box{padding:16px}
.login-box .row{display:flex;align-items:center;margin-bottom:11px}
.login-box label{width:48px;color:var(--txt2);font-size:14px;flex:0 0 auto}
.login-box input{flex:1;min-width:0;padding:10px 12px;border:1px solid #e6d8d0;border-radius:6px;font-size:15px;outline:0}
.login-box input:focus{border-color:var(--gd);box-shadow:0 0 0 3px rgba(192,160,104,.17)}
.login-box .btn{width:100%;padding:11px;background:var(--nv);color:#fff;border:0;border-radius:6px;font-size:16px;cursor:pointer;letter-spacing:3px}
.login-box .btn:hover{background:var(--nv2)}

/* 联系方式 */
.contact-list li{display:flex;gap:10px;padding:8px 0;font-size:15px;border-bottom:1px dashed var(--line)}
.contact-list li:last-child{border-bottom:0}
.contact-list em{font-style:normal;color:var(--txt2);flex:0 0 auto;min-width:44px}
.contact-list b{font-weight:500;color:var(--txt);word-break:break-all}

/* 富文本正文 */
.article{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:30px}
.article h1{font-size:26px;color:var(--nv);text-align:center;line-height:1.45;margin-bottom:12px}
.article .meta{text-align:center;color:#9c8e86;font-size:13.5px;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:22px}
.article-body{font-size:16.5px;line-height:2;color:#000;word-break:break-word}
.article-body img{max-width:100%;height:auto;margin:14px auto;border-radius:6px}
.article-body p{margin:0 0 16px}
.article-body table{max-width:100%;border-collapse:collapse}
.article-body td,.article-body th{border:1px solid var(--line);padding:8px 10px;font-size:15px}
.article-body h2,.article-body h3{color:var(--nv);margin:22px 0 12px}
@media (max-width:860px){ .article{padding:18px 15px} .article h1{font-size:20px} .article-body{font-size:16px;line-height:1.9} }

/* 面包屑 */
.crumb{font-size:13.5px;color:var(--txt2);padding:0 0 14px}
.crumb a{color:var(--txt2)} .crumb a:hover{color:var(--gd)}
.crumb span{margin:0 6px;color:#d6c8c0}

/* 分页 */
.pages{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-start;padding:20px 0 6px}
.pages a,.pages span{min-width:38px;height:38px;line-height:36px;text-align:center;padding:0 11px;
  border:1px solid var(--line);border-radius:7px;background:#fff;font-size:15px;color:var(--txt)}
.pages a:hover{border-color:var(--gd);color:var(--gd)}
.pages .on{background:var(--nv);border-color:var(--nv);color:#fff;font-weight:600}
.pages .dis{color:#d6c8c0;background:#fdf9f6}

/* 列表页条目 */
.plist li{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);align-items:flex-start}
.plist li:last-child{border-bottom:0}
.plist .thumb{width:172px;height:118px;flex:0 0 auto;border-radius:8px;overflow:hidden;background:#f8f1ed}
.plist .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.plist li:hover .thumb img{transform:scale(1.05)}
.plist .info{flex:1;min-width:0}
.plist .info h3{font-size:17px;font-weight:600;line-height:1.55;margin-bottom:6px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.plist .info p{color:var(--txt2);font-size:14px;margin:0 0 8px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.plist .info time{color:#9c8e86;font-size:13px}
@media (max-width:860px){
  .plist li{gap:12px;padding:14px 0}
  .plist .thumb{width:116px;height:84px}
  .plist .info h3{font-size:15.5px}
  .plist .info p{display:none}
}

/* 律师详情 */
.lawyer-detail{display:flex;gap:26px;align-items:flex-start}
.lawyer-detail .photo{width:190px;flex:0 0 auto;border-radius:8px;overflow:hidden;border:1px solid var(--line)}
.lawyer-detail .photo img{width:100%;height:auto}
.lawyer-detail .base{flex:1;min-width:0}
.lawyer-detail .base dl{margin:0 0 16px;font-size:15px}
.lawyer-detail .base dt{display:inline-block;min-width:56px;color:var(--txt2)}
.lawyer-detail .base dd{display:inline;margin:0 18px 0 0;color:var(--nv);font-weight:500}
@media (max-width:860px){
  .lawyer-detail{flex-direction:column;gap:16px}
  .lawyer-detail .photo{width:150px;margin:0 auto}
}

/* 页脚 */
.site-foot{background:var(--nv3);color:#d2bcb2;margin-top:34px;padding:30px 0 22px;font-size:13.5px}
.site-foot .wrap{display:flex;flex-wrap:wrap;gap:22px;justify-content:space-between;align-items:flex-start}
.site-foot .fnav{display:flex;flex-wrap:wrap;gap:6px 18px;margin-bottom:12px}
.site-foot .fnav a{color:#d8c2b8}
.site-foot .fnav a:hover{color:var(--gd2)}
.site-foot .cp{line-height:1.9}
.site-foot .cp a{color:#d2bcb2}
.site-foot .tips{max-width:420px;line-height:1.9}
@media (max-width:860px){ .site-foot{padding:22px 0 16px;font-size:13px} .site-foot .wrap{flex-direction:column;gap:14px} }

/* 回到顶部 */
.gotop{position:fixed;right:18px;bottom:24px;width:44px;height:44px;border-radius:50%;
  background:var(--nv);color:#fff;border:0;cursor:pointer;box-shadow:var(--shadow2);
  display:none;align-items:center;justify-content:center;font-size:20px;z-index:80;opacity:.92}
.gotop:hover{background:var(--gd)}
.gotop.show{display:flex}

/* 空状态 */
.empty{text-align:center;color:#9c8e86;padding:50px 0;font-size:15px}

/* 辅助 */
.mt-0{margin-top:0} .mb-0{margin-bottom:0} .hide{display:none!important}

/* 手机端品牌区优化 ✓（避免名称被截断 ✗）*/
@media (max-width:860px){
  .site-head .wrap{padding-top:14px;padding-bottom:14px;gap:10px}
  .brand{gap:10px}
  .brand-logo{width:42px;height:42px}
  .brand-tx b{font-size:19px;letter-spacing:0;white-space:normal}
  .brand-tx span{font-size:9.5px;letter-spacing:.8px}
  .head-tel span{font-size:12px}
  .head-tel b{font-size:17px}
  .head-tel svg{width:22px;height:22px}
}
@media (max-width:420px){
  .brand-tx span{display:none}
  .site-top{font-size:12px;line-height:30px}
}

/* 列表/文章页两栏布局 ✓ */
.grid2{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}
.grid2 > aside{position:sticky;top:16px}
@media (max-width:1000px){ .grid2{grid-template-columns:1fr;gap:16px} .grid2 > aside{position:static} }
/* 列表条目无图时不错位 ✓ */
.plist li.no-pic .info h3{font-size:17.5px}

/* 手机端菜单：横向一排 · 可左右滑动 ✓（不用汉堡折叠 ✓） */
@media (max-width:860px){
  .site-nav .wrap{display:block;padding:0}
  .nav-toggle{display:none!important}
  .site-nav .nav-list{
    display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;
    background:var(--nv);
  }
  .site-nav .nav-list::-webkit-scrollbar{display:none}
  .site-nav a.nv{
    flex:0 0 auto;display:block;white-space:nowrap;
    padding:14px 17px;font-size:15.5px;border-top:0;
  }
  .site-nav a.nv::after{display:none}
  .site-nav a.nv.on{color:var(--gd2)}
}



/* ── 导航横向一排（桌面与手机一致 ✓ 之前桌面是竖排 ✗ 已修 ✓）── */
@media (min-width:861px){
  .site-nav .wrap{display:block;padding:0}
  .site-nav .nav-list{display:flex;flex-wrap:nowrap;width:100%;align-items:stretch}
  .site-nav .nav-list li{flex:1 1 0;min-width:0;display:flex}
  .site-nav a.nv{flex:1;display:flex;align-items:center;justify-content:center;
    white-space:nowrap;padding:15px 10px;font-size:16px}
}

/* ── 手机端品牌名与热线一行显示 ✓ ── */
@media (max-width:860px){
  .site-head .wrap{gap:8px}
  .brand-tx b{font-size:17px;white-space:nowrap}
  .head-tel{gap:7px}
  .head-tel svg{width:20px;height:20px}
  .head-tel span{font-size:11px}
  .head-tel b{font-size:16px}
}
@media (max-width:430px){
  .brand-tx b{font-size:15.5px}
  .brand-tx span{display:none}
  .head-tel span{display:none}
  .head-tel b{font-size:15px}
  .site-top{font-size:11.5px}
}

/* 热线文字分层（小屏只隐藏文字、保留号码 ✓）*/
.tel-lab{font-style:normal;display:block}
@media (max-width:430px){ .tel-lab{display:none} .head-tel span{display:block!important} }
/* 图文标题严格两行 ✓（补标准属性，兼容性更好 ✓）*/


/* ── 首页三栏：等高分栏 · 卡片撑满 · 上下左右对齐 ✓ ── */
.main .grid{display:grid;grid-template-columns:300px minmax(0,1fr) 320px;gap:20px;align-items:stretch}
.main .grid > [class^="col-"]{display:flex;flex-direction:column;gap:20px;min-width:0}
.main .grid > [class^="col-"] > .card{margin-bottom:0;display:flex;flex-direction:column;flex:1 1 auto;min-height:0}
.main .grid > [class^="col-"] > .card > .card-bd{flex:1 1 auto}
/* 卡片内部：律师网格在多余空间里均匀铺开 ✓ */
.main .grid .laws{align-content:start}   /* 上下两排紧贴 ✓ 不再被摊开 ✗ */
.main .grid .nlist{display:flex;flex-direction:column;justify-content:space-between;height:100%}
@media (max-width:1100px){
  .main .grid{grid-template-columns:minmax(0,1fr) 300px}
  .main .grid > .col-l{grid-column:1/-1}
}
@media (max-width:860px){
  .main .grid{grid-template-columns:1fr;gap:16px}
  .main .grid > [class^="col-"]{gap:16px}
}


/* ── 首页细节：律师卡两列 · 登录框居中 · 联系列表均分 ✓ ── */
.main .grid .laws{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}
.main .grid .law img{width:100%;height:152px;object-fit:contain;background:#fff}   /* 四张照片统一高度 ✓ 等比缩放不裁头 ✓ */
.main .grid .login-box{display:block}
.main .grid .contact-list{display:block}
.main .grid .contact-list li:last-child{border-bottom:0}

/* ── 搜索结果列表 ✓ ── */
.srlist li{padding:16px 0;border-bottom:1px dashed var(--line)}
.srlist li:last-child{border-bottom:0}
.srlist .srt{font-size:16.5px;font-weight:600;color:var(--nv);line-height:1.6}
.srlist .srt:hover{color:var(--gd)}
.srlist .srs{margin:6px 0 8px;color:var(--txt2);font-size:14px;line-height:1.75;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.srlist .srm{margin:0;font-size:13px;color:#9c8e86;display:flex;gap:14px}
.srlist .srm a{color:var(--txt2)} .srlist .srm a:hover{color:var(--gd)}

/* ── 页脚（照律协 · 简洁居中 ✓）── */
.site-foot{margin-top:34px;padding:30px 0 26px;background:var(--nv3);color:#cbb6b6;font-size:13px;text-align:center}
.site-foot .foot-inner{max-width:720px;margin:0 auto;padding:0 20px;line-height:1.9}
.site-foot .foot-emblem{width:84px;height:84px;display:block;margin:0 auto 14px;opacity:.96}
.site-foot .f-name{font-size:15.5px;color:#e9dcc9;letter-spacing:2px;margin-bottom:8px}
.site-foot .f-icp,.site-foot .f-copy,.site-foot .f-police{font-size:12.5px;color:#bda9a9;line-height:1.95}
.site-foot .f-icp a,.site-foot .f-police a{color:#bda9a9}
.site-foot .f-icp a:hover,.site-foot .f-police a:hover{color:var(--gd2)}
@media (max-width:520px){
  .site-foot{padding:24px 0 20px}
  .site-foot .foot-emblem{width:68px;height:68px;margin-bottom:11px}
  .site-foot .f-name{font-size:14.5px}
  .site-foot .f-icp,.site-foot .f-copy,.site-foot .f-police{font-size:12px}
}

/* 页脚版权行：小屏防溢出 ✓ */
.site-foot .f-copy{white-space:normal;word-break:break-word}
@media (max-width:560px){
  .site-foot .f-copy{font-size:11px;letter-spacing:0;padding:0 6px}
  .site-foot .f-icp,.site-foot .f-police{font-size:11.5px;padding:0 6px}
  .site-foot .foot-inner{padding:0 12px}
}

/* 页脚在小屏：强制块级 + 再小一档，彻底不溢出 ✓ */
.site-foot .foot-inner{display:block}
@media (max-width:560px){
  .site-foot .f-copy{font-size:10.5px}
  .site-foot .f-name{font-size:14px}
}

/* 手机端隐藏指定区块（首页「丰华荣誉」✓ 电脑端保留 ✓）*/
@media (max-width:860px){
  .hide-m{display:none!important}
}

/* ── 律师头像：等比缩放，不裁剪（头部完整 ✓）── */
.laws{align-items:start}
.law{display:flex;flex-direction:column;align-items:center}
.law img{max-width:100%;object-fit:contain}
/* 团队列表页：竖版人像按比例显示 ✓ */
.plist.law-list{align-items:start}
.plist.law-list .thumb{width:124px;height:auto;flex:0 0 auto;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.plist.law-list .thumb img{width:100%;height:auto;object-fit:contain;transform:none}
.plist.law-list li:hover .thumb img{transform:none}
.plist.law-list .info h3{font-size:17.5px}
@media (max-width:860px){
  .plist.law-list .thumb{width:100px}
  .plist.law-list .info h3{font-size:16px}
}

/* 管理登陆卡不拉伸（空白匀给下面两块 ✓ 首页右栏 ✓）*/
.main .grid > .col-r > .card:nth-child(1){flex:0 0 auto}

/* ===== 电脑版首页微调（用户指定 ✓）===== */

/* ① 律所简介：加大行距 ✓ */
.main .grid > .col-l > .card:nth-child(1) .card-bd{line-height:1.98}

/* ② 法律法规 / 业界资讯 卡片取自然高度
      （否则列表被拉伸撑开，行距再小也会被 space-between 摊开 ✗）*/
.main .grid > .col-m > .card,
.main .grid > .col-r > .card:nth-child(2){flex:0 0 auto}

/* ③ 列表：行距收紧 ✓ 标题只显示一行 ✓ */
.main .grid .nlist{justify-content:flex-start}
.main .grid .nlist li{padding:6px 0;gap:9px}
.main .grid .nlist a{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:1}
.main .grid .nlist .dot{margin-top:9px}

/* ④ 律所简介与律师团队两卡贴近 ✓ */
.main .grid > .col-l{gap:4px}

/* 左栏（简介+团队）按内容自然高度为准 ✓ 不被中栏撑高 ✗ */
.main .grid > .col-l > .card{flex:0 0 auto}

/* ===== 联系我们 · 来所路线地图（炫版 ✓）===== */
.map-card .card-hd{border-bottom:0}
.map-stage{position:relative;overflow:hidden;border-radius:0 0 var(--radius) var(--radius);background:#efe6d8;isolation:isolate}
.map-img{display:block;width:100%;aspect-ratio:914/440;object-fit:cover;transform:scale(1.015);
  transition:transform 1.3s cubic-bezier(.19,.7,.28,1);filter:saturate(.94) contrast(1.03) brightness(1.01)}
.map-stage:hover .map-img{transform:scale(1.075)}
.map-tint{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(125% 95% at 59% 77%, rgba(192,160,104,.12), rgba(255,255,255,0) 58%),
             linear-gradient(180deg, rgba(255,252,246,.22), rgba(255,252,246,0) 26%),
             linear-gradient(0deg, rgba(26,18,16,.42), rgba(26,18,16,0) 40%)}
.map-sweep{position:absolute;top:-40%;left:-62%;width:34%;height:180%;pointer-events:none;
  background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.40),rgba(255,255,255,0));
  transform:skewX(-18deg);animation:mapSweep 8s ease-in-out infinite}
@keyframes mapSweep{0%{left:-62%}52%{left:126%}100%{left:126%}}
.map-marker{position:absolute;transform:translate(-50%,-50%);width:19px;height:19px;z-index:3}
.mk-dot{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 35% 32%,#c02a33,var(--nv) 68%);
  border:3px solid #fff;box-shadow:0 3px 11px rgba(70,8,12,.6), 0 0 0 3px rgba(142,27,33,.16), inset 0 -2px 3px rgba(0,0,0,.28)}
.mk-ring{position:absolute;inset:0;border-radius:50%;border:2px solid var(--nv);opacity:.85;
  animation:mkPulse 2.6s ease-out infinite}
.mk-ring2{animation-delay:1.3s}
@keyframes mkPulse{0%{transform:scale(.7);opacity:.8}70%{opacity:0}100%{transform:scale(4.2);opacity:0}}
.mk-label{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);white-space:nowrap;z-index:4;
  font-size:12.5px;letter-spacing:.02em;color:#fff;padding:5px 11px;border-radius:999px;
  background:linear-gradient(180deg,#a02128,#7c151b);border:1px solid rgba(255,255,255,.38);
  box-shadow:0 8px 20px rgba(142,27,33,.42)}
.mk-label::after{content:'';position:absolute;left:50%;bottom:-4.5px;width:9px;height:9px;transform:translateX(-50%) rotate(45deg);
  background:#7c151b;border-right:1px solid rgba(255,255,255,.38);border-bottom:1px solid rgba(255,255,255,.38)}
.map-bar{position:absolute;left:0;right:0;bottom:0;z-index:5;display:flex;align-items:center;gap:16px;
  justify-content:space-between;padding:16px 18px 14px;
  background:linear-gradient(0deg,rgba(19,12,11,.95),rgba(19,12,11,.80) 40%,rgba(19,12,11,.34) 72%,rgba(19,12,11,0));
  backdrop-filter:blur(7px) saturate(1.08);-webkit-backdrop-filter:blur(7px) saturate(1.08);
  border-top:1px solid rgba(192,160,104,.38)}
.mb-addr em{display:block;font-style:normal;font-size:11px;letter-spacing:.16em;color:#eccfa1;
  text-shadow:0 1px 6px rgba(0,0,0,.45)}
.mb-addr b{display:block;margin-top:3px;font-size:15.5px;font-weight:600;color:#fff;letter-spacing:.01em;
  text-shadow:0 1px 7px rgba(0,0,0,.55)}
.mb-addr span{display:block;margin-top:4px;font-size:12px;color:rgba(255,255,255,.82);
  text-shadow:0 1px 6px rgba(0,0,0,.5)}
.mb-btn{position:relative;overflow:hidden;flex:0 0 auto;padding:11px 20px;border-radius:999px;font-size:13.5px;
  font-weight:700;color:#3a2a12;background:linear-gradient(180deg,#edd7a6,#c0a068);
  border:1px solid rgba(255,255,255,.55);box-shadow:0 10px 22px rgba(192,160,104,.38);
  transition:transform .25s ease, filter .25s ease}
.mb-btn:hover{transform:translateY(-1.5px);filter:brightness(1.07)}
.mb-btn::after{content:'';position:absolute;top:0;left:-45%;width:28%;height:100%;
  background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.8),rgba(255,255,255,0));
  animation:btnShine 4s ease-in-out infinite}
@keyframes btnShine{0%{left:-45%}42%{left:135%}100%{left:135%}}
@media (max-width:760px){
  .map-bar{padding:10px 12px;gap:10px}
  .mb-addr b{font-size:13.5px} .mb-addr span{display:none}
  .mb-btn{padding:9px 15px;font-size:12.5px}
  .mk-label{font-size:11.5px;padding:4px 9px;bottom:17px}
}
@media (prefers-reduced-motion:reduce){
  .map-img,.map-sweep,.mk-ring,.mb-btn::after{animation:none!important;transition:none!important}
}
