/* ==========================================================================
   GreatSea · HTML Sitemap 页面（/sitemap/）
   设计语言与全站一致：GS Display 衬线标题 + 深青主色 + 细发丝线。
   框架与全局页脚相同（1240px），保证左右缘与页脚严格平齐。
   ========================================================================== */
@font-face{
  font-family:"GS Display";
  src:url("../uploads/gs-inspiration/fonts/cormorant-normal.woff2") format("woff2");
  font-style:normal;font-weight:400 700;font-display:swap;
}
@font-face{
  font-family:"GS Display";
  src:url("../uploads/gs-inspiration/fonts/cormorant-italic.woff2") format("woff2");
  font-style:italic;font-weight:400 700;font-display:swap;
}
@font-face{
  font-family:"GS Hand";
  src:url("../uploads/gs-inspiration/fonts/caveat-500.ttf") format("truetype");
  font-weight:500;font-display:swap;
}

#gs-sitemap{
  --deep:#0A5F66; --primary:#0E8A8E; --accent:#3CB87E;
  --bg:#F5FBFA; --bg-alt:#EAF6F3; --ink:#163A40; --muted:#5B7A7E;
  --hairline:#DCEDE9; --paper:#FFFFFF;
  --body:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  --display:"GS Display",Georgia,"Times New Roman",serif;
  --hand:"GS Hand","Caveat","Segoe Script",cursive;
  width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  box-sizing:border-box;font-family:var(--body);font-size:15px;font-weight:400;line-height:1.7;
  color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:clip;
}
@supports (overflow:clip){ html:has(#gs-sitemap), body:has(#gs-sitemap){overflow-x:clip;} }
#gs-sitemap :where(*){box-sizing:border-box;}
#gs-sitemap :where(h1,h2,h3,h4,p,span,b,small,em,i,strong,div,img,a,figure,figcaption,header,section,article,ul,li){margin:0;padding:0;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;}
#gs-sitemap a{color:inherit;text-decoration:none;}
#gs-sitemap :focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px;}
#gs-sitemap img{display:block;max-width:100%;}

/* 框架与全局页脚 .gsf-inner 完全一致 */
#gs-sitemap .gsm-wrap{width:min(1240px,calc(100% - 64px));margin:0 auto;padding:64px 0 72px;}

/* 隐藏主题自带页面标题（与 /tours/ 同一手法） */
body:has(#gs-sitemap) .entry-title{display:none;}

/* ---------- 页头 ---------- */
#gs-sitemap .gsm-head{text-align:center;margin-bottom:52px;}
#gs-sitemap .gsm-kicker{font-size:12px;font-weight:700;letter-spacing:.28em;color:var(--primary);text-transform:uppercase;}
#gs-sitemap .gsm-title{
  font-family:var(--display);font-weight:600;font-size:clamp(40px,5vw,60px);
  line-height:1.04;color:var(--deep);margin-top:.3em;
}
#gs-sitemap .gsm-rule{display:block;width:46px;height:2px;background:var(--accent);margin:20px auto 0;}
#gs-sitemap .gsm-sub{max-width:620px;margin:16px auto 0;font-size:15px;line-height:1.8;color:var(--muted);}

/* ---------- 分区 ---------- */
#gs-sitemap .gsm-sec{margin-top:46px;}
#gs-sitemap .gsm-h2{
  display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;
  font-family:var(--display);font-weight:600;font-size:30px;line-height:1.1;color:var(--deep);
  padding-bottom:14px;border-bottom:1px solid var(--hairline);
}
#gs-sitemap .gsm-h2 em{
  font-family:var(--body);font-style:normal;font-size:11px;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;color:var(--primary);
}

/* ---------- 主页面四卡 ---------- */
#gs-sitemap .gsm-pages{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:22px;
}
#gs-sitemap .gsm-page{
  position:relative;display:flex;flex-direction:column;gap:8px;
  background:var(--paper);border:1px solid var(--hairline);border-radius:14px;
  padding:24px 22px 22px;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}
#gs-sitemap .gsm-page:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 12px 28px rgba(16,58,64,.10);}
#gs-sitemap .gsm-page b{font-family:var(--display);font-weight:600;font-size:23px;color:var(--deep);line-height:1.15;}
#gs-sitemap .gsm-page small{font-size:12.5px;line-height:1.7;color:var(--muted);}
#gs-sitemap .gsm-page-go{
  margin-top:auto;padding-top:12px;font-size:17px;color:var(--accent);
  transition:transform .2s ease;
}
#gs-sitemap .gsm-page:hover .gsm-page-go{transform:translateX(5px);}

/* ---------- 链接列表（线路 / 城市 / Blogger） ---------- */
#gs-sitemap .gsm-list{
  list-style:none;margin-top:6px;
  display:grid;grid-template-columns:1fr 1fr;column-gap:40px;
}
#gs-sitemap .gsm-list li{
  display:flex;align-items:baseline;gap:12px;
  padding:11px 0;border-bottom:1px solid var(--hairline);
}
#gs-sitemap .gsm-list a{
  flex:1 1 auto;min-width:0;font-size:14.5px;line-height:1.55;color:var(--ink);
  transition:color .18s ease;
}
#gs-sitemap .gsm-list a:hover{color:var(--primary);}
#gs-sitemap .gsm-days{
  flex:none;font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--primary);background:var(--bg-alt);border:1px solid var(--hairline);
  border-radius:999px;padding:3px 10px;
}

/* ---------- 月份攻略：按月分组 ---------- */
#gs-sitemap .gsm-months{
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px 22px;margin-top:22px;
}
#gs-sitemap .gsm-month{
  background:var(--paper);border:1px solid var(--hairline);border-radius:12px;
  padding:18px 18px 8px;
}
#gs-sitemap .gsm-month h3{
  font-family:var(--display);font-weight:600;font-size:19px;color:var(--deep);
  padding-bottom:10px;border-bottom:1px solid var(--hairline);margin-bottom:4px;
}
#gs-sitemap .gsm-month ul{list-style:none;}
#gs-sitemap .gsm-month li{padding:7px 0;border-bottom:1px dashed var(--hairline);}
#gs-sitemap .gsm-month li:last-child{border-bottom:0;}
#gs-sitemap .gsm-month a{font-size:12.5px;line-height:1.6;color:var(--muted);transition:color .18s ease;}
#gs-sitemap .gsm-month a:hover{color:var(--primary);}

/* ---------- 城市攻略 + Blogger 双栏 ---------- */
#gs-sitemap .gsm-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 56px;}
#gs-sitemap .gsm-cols .gsm-sec{margin-top:46px;}

/* ---------- 底部提示 ---------- */
#gs-sitemap .gsm-note{
  margin-top:52px;padding-top:22px;border-top:1px solid var(--hairline);
  text-align:center;font-size:13.5px;color:var(--muted);
}
#gs-sitemap .gsm-note a{color:var(--primary);font-weight:600;text-decoration:underline;text-underline-offset:3px;}

/* ---------- 响应式 ---------- */
@media (max-width:1199px){
  #gs-sitemap .gsm-wrap{padding:52px 0 60px;}
  #gs-sitemap .gsm-pages{grid-template-columns:1fr 1fr;}
  #gs-sitemap .gsm-months{grid-template-columns:repeat(3,1fr);}
  #gs-sitemap .gsm-cols{grid-template-columns:1fr;gap:0;}
  #gs-sitemap .gsm-h2{font-size:26px;}
}
@media (max-width:767px){
  #gs-sitemap .gsm-wrap{padding:44px 0 48px;}
  #gs-sitemap .gsm-head{margin-bottom:38px;}
  #gs-sitemap .gsm-pages{grid-template-columns:1fr;}
  #gs-sitemap .gsm-months{grid-template-columns:1fr 1fr;gap:14px;}
  #gs-sitemap .gsm-list{grid-template-columns:1fr;}
  #gs-sitemap .gsm-h2{font-size:23px;}
  #gs-sitemap .gsm-page b{font-size:20px;}
}
@media (prefers-reduced-motion:reduce){
  #gs-sitemap *{animation-duration:.01ms!important;transition-duration:.01ms!important;}
}
