/* One shared card geometry for Shanghai's Local stories and editorial blogs. */
#planning-guides[data-city-blogs="Shanghai"] [data-city-blog-list] {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}
#planning-guides[data-city-blogs="Shanghai"] [data-city-blog-list] > .guide-card {
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  grid-column:auto;
  min-width:0;
  height:360px;
  min-height:360px;
  max-height:360px;
  padding:22px;
  overflow:hidden;
  border:1px solid rgba(42,50,98,.1);
  border-radius:24px;
}
#planning-guides[data-city-blogs="Shanghai"] .city-local-blog-cover,
#planning-guides[data-city-blogs="Shanghai"] .guide-card::before {
  display:block;
  flex:0 0 120px;
  width:calc(100% + 44px);
  max-width:none;
  height:120px;
  min-height:120px;
  margin:-22px -22px 14px;
  border-radius:0;
  object-fit:cover;
  background-position:center;
  background-size:cover;
}
#planning-guides[data-city-blogs="Shanghai"] a[href^="/guides/shanghai/english-communication/"]::before {
  content:"";
  background-image:url('/assets/blog/shanghai-first-day/shanghai-wukang.webp');
}
#planning-guides[data-city-blogs="Shanghai"] a[href^="/guides/shanghai/first-24-hours/"]::before,
#planning-guides[data-city-blogs="Shanghai"] .city-local-blog:not(:has(.city-local-blog-cover))::before {
  content:"";
  background-image:url('/assets/blog/shanghai-first-day/shanghai-bund.webp');
}
#planning-guides[data-city-blogs="Shanghai"] .guide-card .guide-card-label {
  flex:0 0 auto;
  max-width:100%;
  min-height:24px;
  margin:0 0 8px;
  padding:5px 8px;
  overflow:hidden;
  font-size:10px;
  line-height:14px;
  white-space:nowrap;
  text-overflow:ellipsis;
}
#planning-guides[data-city-blogs="Shanghai"] .guide-card h3 {
  flex:0 0 auto;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  min-height:52px;
  max-height:52px;
  margin:0 0 10px;
  overflow:hidden;
  font-size:20px;
  line-height:26px;
  letter-spacing:-.025em;
  overflow-wrap:anywhere;
}
#planning-guides[data-city-blogs="Shanghai"] .guide-card p {
  flex:0 0 auto;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  min-height:41.6px;
  max-height:41.6px;
  margin:0;
  overflow:hidden;
  font-size:13px;
  line-height:20.8px;
}
#planning-guides[data-city-blogs="Shanghai"] .guide-card .guide-card-meta {
  flex:0 0 auto;
  margin-top:auto;
  font-size:11px;
  line-height:16px;
}
#planning-guides[data-city-blogs="Shanghai"] .guide-card:not(.city-local-blog) .guide-card-meta {
  display:flex;
  align-items:flex-end;
  height:44px;
  min-height:44px;
  padding:0;
}
#planning-guides[data-city-blogs="Shanghai"] .city-local-blog .guide-card-meta {
  height:18px;
  min-height:18px;
  max-width:100%;
  padding:0;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
#planning-guides[data-city-blogs="Shanghai"] .city-local-blog-read {
  flex:0 0 auto;
  height:18px;
  margin-top:8px;
  font-size:12px;
  line-height:18px;
}
@media(max-width:1100px) {
  #planning-guides[data-city-blogs="Shanghai"] [data-city-blog-list] { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  #planning-guides[data-city-blogs="Shanghai"] [data-city-blog-list] { grid-template-columns:minmax(0,1fr); gap:16px; }
}
