/* 镇江·扬州旅行助手 —— 共享样式 */
:root{
  --ink:#2b2b2b; --sub:#6b7280; --bg:#faf6f0; --card:#ffffff;
  --brand:#c2543a; --brand-soft:#fdeee8; --blue:#1a73e8; --green:#0f9d58;
  --line:#ece5da;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"Microsoft YaHei","PingFang SC",sans-serif;background:var(--bg);color:var(--ink);line-height:1.65}
header{background:linear-gradient(135deg,#c2543a,#e07b39);color:#fff;padding:26px 20px 20px}
header h1{font-size:23px;letter-spacing:1px}
header p{margin-top:6px;font-size:13.5px;opacity:.92}
.wrap{max-width:960px;margin:0 auto;padding:0 16px 60px}
nav{position:sticky;top:0;z-index:30;background:rgba(250,246,240,.96);backdrop-filter:blur(6px);
    display:flex;gap:8px;overflow-x:auto;padding:12px 16px;border-bottom:1px solid var(--line)}
nav a{flex:0 0 auto;border:1px solid var(--line);background:#fff;border-radius:999px;
    padding:6px 14px;font-size:14px;color:var(--ink);text-decoration:none;white-space:nowrap}
nav a.on{background:var(--brand);color:#fff;border-color:var(--brand)}
section{margin-top:26px}
h2.daytitle{font-size:20px;border-left:5px solid var(--brand);padding-left:10px;margin-bottom:12px}

/* 总览 */
.ovtable{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;
    box-shadow:0 0 0 1px var(--line);font-size:13.5px}
.ovtable th{background:var(--brand-soft);color:#8a3a26;padding:9px 10px;text-align:left;font-size:13px}
.ovtable td{padding:9px 10px;border-top:1px solid var(--line);vertical-align:top}
.ovtable tr td:first-child{white-space:nowrap;font-weight:700;color:var(--brand)}
.hotelcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.hotelcard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.hotelcard .hn{font-size:16px;font-weight:700}
.hotelcard .hn .nights{font-size:12px;color:#fff;background:var(--brand);border-radius:999px;padding:2px 10px;margin-left:8px;vertical-align:2px}
.hotelcard .ha{font-size:13px;color:var(--sub);margin-top:6px}
.hotelcard .hm{font-size:12.5px;color:var(--green);margin-top:5px}
.daylinks{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.daylink{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;
    text-decoration:none;color:var(--ink)}
.daylink:hover{border-color:var(--brand)}
.daylink b{color:var(--brand);font-size:14px}
.daylink p{font-size:12.5px;color:var(--sub);margin-top:3px}

/* 交互地图 */
#mapsection{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;margin-top:22px}
#maptitle{font-size:17px;font-weight:700;margin-bottom:10px}
#mapdiv{width:100%;height:480px;border-radius:10px;overflow:hidden;background:#eef1f4}
.mapfail{padding:30px;text-align:center;color:var(--sub);font-size:14px}
.maplegend{display:flex;flex-wrap:wrap;gap:14px;font-size:12.5px;color:var(--sub);margin-top:10px}
.maplegend i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:4px;vertical-align:-1px}
#legsummary{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.legchip{background:var(--brand-soft);border:1px solid #f3cfc0;color:#8a3a26;border-radius:999px;
    padding:3px 12px;font-size:12.5px}
.mknum{width:30px;height:30px;border-radius:50%;color:#fff;font-weight:700;font-size:14px;
    display:flex;align-items:center;justify-content:center;border:2.5px solid #fff;
    box-shadow:0 1px 5px rgba(0,0,0,.35)}
.mkpoi{width:32px;height:32px;border-radius:50%;background:#fff;font-size:17px;
    display:flex;align-items:center;justify-content:center;border:2.5px solid #0f9d58;
    box-shadow:0 1px 5px rgba(0,0,0,.35)}
.mkov{width:26px;height:26px;border-radius:50%;color:#fff;font-weight:700;font-size:11px;
    display:flex;align-items:center;justify-content:center;border:2px solid #fff;
    box-shadow:0 1px 4px rgba(0,0,0,.3)}
.iw{max-width:260px;font-size:13px;line-height:1.55}
.iwtime{color:#6b7280;font-size:12px;margin-top:3px}
.iwdesc{margin-top:5px;color:#374151}

/* 时间轴 */
.tl{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:6px 16px}
.tl .row{display:flex;gap:14px;padding:12px 0;border-bottom:1px dashed var(--line)}
.tl .row:last-child{border-bottom:none}
.tl .time{flex:0 0 108px;font-weight:700;color:var(--brand);font-size:14px;padding-top:1px}
.tl .body{flex:1}
.tl .body b{font-size:15px}
.tl .body p{font-size:13.5px;color:var(--sub);margin-top:2px}
.tag{display:inline-block;font-size:11px;border-radius:4px;padding:0 6px;margin-left:6px;vertical-align:1px}
.tag.spot{background:#e8f0fe;color:var(--blue)}
.tag.food{background:#e6f4ea;color:var(--green)}
.tag.move{background:#fef3e2;color:#b06000}
.tag.hotel{background:#f3e8fd;color:#9334e6}

/* 餐厅卡 */
.meal{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-top:14px}
.meal h3{font-size:15px;margin-bottom:10px}
.meal h3 span{font-size:12px;color:var(--sub);font-weight:400;margin-left:6px}
.opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.opt{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fffdf9}
.opt .nm{font-weight:700;font-size:14px}
.opt .nm .star{color:#e07b39;font-size:12px;margin-left:4px}
.rating{display:inline-block;background:#fff3e2;color:#b06000;border:1px solid #f3d9a8;border-radius:6px;
    font-size:11.5px;padding:0 6px;margin-left:6px;vertical-align:1px}
.locbtn{margin-left:8px;border:1px solid #bcd3f7;background:#eaf2ff;color:var(--blue);
    border-radius:6px;padding:1px 8px;font-size:12px;cursor:pointer}
.opt .addr{font-size:12.5px;color:var(--sub);margin-top:3px}
.opt .meta{font-size:12.5px;margin-top:4px;color:#444}
.opt .must{font-size:12.5px;color:var(--green);margin-top:3px}

/* 其它 */
.staticmap{margin-top:14px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px 14px}
.staticmap summary{cursor:pointer;font-size:13.5px;color:var(--sub)}
.staticmap img{width:100%;border-radius:8px;margin-top:8px}
.note{background:var(--brand-soft);border:1px solid #f3cfc0;border-radius:10px;padding:10px 14px;font-size:13.5px;margin-top:14px}
.check{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.check label{display:flex;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line);cursor:pointer;font-size:14px}
.check label:last-child{border-bottom:none}
.check input{margin-top:4px;transform:scale(1.2);accent-color:var(--brand)}
.check .when{flex:0 0 130px;font-weight:700;color:var(--brand);font-size:13px;padding-top:2px}
ul.tips{padding-left:20px;font-size:14px}
ul.tips li{margin:6px 0}
.daypager{display:flex;justify-content:space-between;gap:10px;margin-top:30px}
.daypager a{flex:1;text-align:center;background:#fff;border:1px solid var(--line);border-radius:12px;
    padding:12px;text-decoration:none;color:var(--ink);font-size:14px}
.daypager a:hover{border-color:var(--brand);color:var(--brand)}
.daypager a.home{flex:0 0 110px;background:var(--brand);color:#fff;border-color:var(--brand)}
footer{text-align:center;color:var(--sub);font-size:12px;margin-top:40px}
@media (max-width:640px){ #mapdiv{height:380px} .tl .time{flex-basis:88px} }
