/* category page styles */
/* ── Travel category page (wireframe layout) ─── */
.cat-hero-banner{max-width:100%;margin-bottom:16px;line-height:0}
.cat-hero-banner-inner{
  width:100%;min-height:120px;border-radius:var(--sh-r-lg);overflow:hidden;
  background:linear-gradient(135deg,#0c2e45 0%,#155e7e 50%,#1e6b8a 100%);
  border:1px solid var(--sh-border);
  display:flex;align-items:center;justify-content:center;padding:28px 20px;
  color:#fff;font-size:1.05rem;font-weight:700;text-align:center;
}
.travel-layout{
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(260px,1.15fr) minmax(280px,1.05fr);
  grid-template-rows:auto auto auto;
  gap:12px;align-items:stretch;margin-bottom:12px;
}
@media(max-width:960px){
  .travel-layout{grid-template-columns:1fr}
  .feat-video,.feat-article,.travel-sidebar,.travel-opinion,.travel-contributors{grid-column:1!important;grid-row:auto!important}
  .travel-promo-grid{grid-template-columns:1fr 1fr;max-width:520px;margin:0 auto;width:100%}
}
.feat-video{
  grid-column:1;grid-row:1;border-radius:var(--sh-r-lg);overflow:hidden;
  border:1px solid var(--sh-border);position:relative;background:#0f172a;
  cursor:pointer;min-height:260px;display:flex;align-items:center;justify-content:center;
  transition:border-color .2s,transform .2s;
}
.feat-video:hover{border-color:#cbd5e1;transform:translateY(-1px)}
.feat-video-bg{
  position:absolute;inset:0;
  background:linear-gradient(135deg,#0c2e45,#1e3a5f 40%,#0f172a);
  display:flex;align-items:center;justify-content:center;font-size:3.5rem;opacity:.35;
}
.feat-badge{
  position:absolute;top:12px;left:12px;z-index:2;
  background:var(--sh-red);color:#fff;font-size:.65rem;font-weight:800;
  padding:3px 10px;border-radius:4px;letter-spacing:.5px;
}
.feat-ai-badge{
  position:absolute;top:12px;right:12px;z-index:2;
  background:rgba(0,0,0,.65);border:1px solid rgba(56,189,248,.45);
  color:#38bdf8;font-size:.65rem;font-weight:700;padding:3px 10px;border-radius:4px;
}
.feat-article{
  grid-column:2;grid-row:1;background:#fff;border:1px solid var(--sh-border);
  border-radius:var(--sh-r-lg);padding:20px 22px;display:flex;flex-direction:column;
  justify-content:space-between;min-height:260px;
}
.feat-article-cat{font-size:.68rem;font-weight:700;letter-spacing:1px;color:var(--sh-orange);text-transform:uppercase;margin-bottom:10px}
.feat-article-cat span{color:var(--sh-muted);font-weight:600}
.feat-article-title{font-size:1.05rem;font-weight:800;color:var(--sh-text);line-height:1.38;margin-bottom:10px}
.feat-article-desc{font-size:.82rem;color:var(--sh-muted);line-height:1.65;margin-bottom:14px}
.feat-article-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:.75rem;color:var(--sh-muted)}
.feat-article-meta .dot{width:4px;height:4px;border-radius:50%;background:var(--sh-muted)}
.travel-sidebar{
  grid-column:3;grid-row:1/4;display:flex;flex-direction:column;gap:10px;align-self:stretch;
}
.travel-promo-grid{
  display:grid;grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;gap:10px;flex:1;min-height:0;
}
.travel-promo{
  border-radius:var(--sh-r);overflow:hidden;border:1px solid var(--sh-border);
  background:#f8fafc;display:flex;flex-direction:column;align-items:center;
  justify-content:center;text-decoration:none;min-height:120px;padding:10px;
  text-align:center;transition:border-color .2s,transform .2s;
}
.travel-promo:hover{border-color:#cbd5e1;transform:translateY(-1px)}
.travel-promo-icon{font-size:1.8rem;margin-bottom:6px}
.travel-promo-label{font-size:.68rem;font-weight:700;color:var(--sh-text);line-height:1.3}
.travel-promo-luggage{background:#faf6f0}
.travel-opinion{
  grid-column:1/3;grid-row:2;
}
@media(max-width:640px){.travel-opinion{flex-direction:column;align-items:stretch}}
.travel-contributors{
  grid-column:1/3;grid-row:3;background:#fff;border:1px solid var(--sh-border);
  border-radius:var(--sh-r-lg);padding:14px 18px 18px;
}
.travel-contributors-title{
  font-size:.68rem;font-weight:700;letter-spacing:1.2px;color:var(--sh-muted);
  text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;gap:6px;
}
.contrib-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 16px}
@media(max-width:768px){.contrib-grid{grid-template-columns:repeat(2,1fr)}}
.contrib-card{display:flex;align-items:center;gap:10px;min-width:0}
.contrib-avatar{
  width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#e2e8f0,#cbd5e1);
  display:flex;align-items:center;justify-content:center;font-size:1.05rem;flex-shrink:0;
  border:2px solid var(--sh-border);
}
.contrib-body{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:6px}
.contrib-name{font-size:.78rem;font-weight:700;color:var(--sh-text);line-height:1.2}
.contrib-meta{font-size:.68rem;color:var(--sh-muted);margin-top:2px}
.contrib-medal{font-size:.9rem;flex-shrink:0;line-height:1}
.travel-bottom{
  display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.15fr) minmax(280px,1.05fr);
  gap:12px;align-items:start;
}
@media(max-width:960px){
  .travel-bottom{grid-template-columns:1fr}
  .travel-stories-grid,.travel-ads-col{grid-column:1!important}
  .travel-stories-grid{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:560px){.travel-stories-grid{grid-template-columns:1fr!important}}
.travel-stories-grid{
  grid-column:1/3;display:grid;grid-template-columns:repeat(3,1fr);
  gap:10px;align-content:start;
}
.travel-story-card{
  position:relative;border-radius:var(--sh-r);overflow:hidden;border:1px solid var(--sh-border);
  aspect-ratio:1.42/1;min-height:130px;display:flex;align-items:flex-end;
  text-decoration:none;transition:border-color .2s,transform .2s;
  box-shadow:var(--sh-shadow-sm);
}
.travel-story-card:hover{border-color:#cbd5e1;transform:translateY(-2px)}
.travel-story-card span{
  display:block;width:100%;padding:10px 12px;font-size:.72rem;font-weight:700;
  color:#fff;line-height:1.3;background:linear-gradient(transparent,rgba(0,0,0,.82));
}
.travel-ads-col{grid-column:3;display:flex;flex-direction:column;gap:12px}
.travel-ad{
  position:relative;border-radius:var(--sh-r-lg);overflow:hidden;border:1px solid var(--sh-border);
  text-decoration:none;display:flex;align-items:stretch;min-height:140px;
  transition:border-color .2s,transform .2s;box-shadow:var(--sh-shadow-sm);
}
.travel-ad:hover{border-color:#cbd5e1;transform:translateY(-2px)}
.travel-ad-art{width:80px;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:12px;font-size:2rem}
.travel-ad-body{flex:1;padding:14px 14px 14px 0;display:flex;flex-direction:column;justify-content:center;min-width:0}
.travel-ad-tag{font-size:.62rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:4px}
.travel-ad-title{font-size:1rem;font-weight:900;color:#fff;line-height:1.15;margin-bottom:4px}
.travel-ad-sub{font-size:.72rem;color:rgba(255,255,255,.78);line-height:1.45;margin-bottom:8px}
.travel-ad-cta{align-self:flex-start;font-size:.7rem;font-weight:800;padding:6px 12px;border-radius:20px}
.travel-ad-airline{background:linear-gradient(135deg,#0c1929,#143a5c 42%,#1a5f7a 72%,#0d3d4a)}
.travel-ad-airline .travel-ad-cta{color:#0a1628;background:linear-gradient(180deg,#7ee8ff,#38bdf8)}
.travel-ad-hotel{background:linear-gradient(135deg,#1a1028,#3d1f5c 40%,#6b2d4a 75%,#8f3a28)}
.travel-ad-hotel .travel-ad-cta{color:#1a0a0a;background:linear-gradient(180deg,#fcd34d,#f59e0b)}
