/* /hashtags/ — Telegram channel hashtag index. Shared design.css :root tokens;
   component styles are page-local here (do NOT reuse crew.css — its .chip differs). */

/* breadcrumb */
.htbc{max-width:1100px;margin:0 auto;padding:12px 24px 0;font-size:12.5px;font-weight:700;color:var(--text-subtle);}
.htbc a{color:var(--text-muted);text-decoration:none;}
.htbc a:hover{color:var(--brand-coral);}
.htbc i{margin:0 6px;font-size:10px;opacity:.6;}

/* tier chips row */
.ht-tchips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:1100px;margin:14px auto 0;padding:0 24px;}
.ht-tchip{padding:7px 16px;border-radius:var(--pill);border:1.5px solid #e9e3d9;background:#fff;color:var(--text-muted);font-weight:800;font-size:13px;text-decoration:none;}
.ht-tchip:hover{border-color:var(--brand-coral);color:var(--ink);}
.ht-tchip.on{background:var(--ink);color:#fff;border-color:var(--ink);}

/* tier badge (FREE/ENTRY/VIP/PREMIER) */
.ht-chip{display:inline-block;padding:4px 12px;border-radius:var(--pill);font-size:11.5px;font-weight:900;letter-spacing:.4px;color:#fff;white-space:nowrap;}
.ht-chip.free{background:#7a8a99;}
.ht-chip.entry{background:#3aa564;}
.ht-chip.vip{background:#c1782e;}
.ht-chip.premier{background:linear-gradient(135deg,#8a5cf6,#6d3ff0);}

/* top block */
.ht-top{padding-top:14px;}
.ht-howto{background:#fff;border:1px solid #ece7df;border-radius:14px;padding:11px 16px;color:var(--text-muted);font-size:13px;font-weight:700;line-height:1.7;margin:8px 0;}
.ht-legend{color:var(--text-muted);font-size:13.5px;margin:8px 0 0;}
.ht-ctarow{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 4px;}
.ht-bottomcta{padding-top:8px;}

/* single sticky control bar (clones the directory .dir-controls pattern) */
.htbar{position:sticky;top:0;z-index:40;background:rgba(251,248,243,.94);backdrop-filter:blur(10px);border-bottom:1px solid #ece7df;margin-top:10px;}
.htbar-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;max-width:1100px;margin:0 auto;padding:12px 24px 4px;}
.ht-search{flex:1 1 300px;max-width:460px;padding:12px 18px;font:inherit;font-size:15px;border-radius:var(--pill);border:1.5px solid #e9e3d9;background:#fff;color:var(--ink);}
.ht-search:focus{outline:none;border-color:var(--brand-coral);}
.ht-select{padding:11px 14px;border-radius:var(--pill);border:1.5px solid #e9e3d9;background:#fff;color:var(--ink);font:inherit;font-size:14px;font-weight:700;cursor:pointer;}
.ht-count{text-align:center;color:var(--text-subtle);font-size:12.5px;font-weight:700;padding:6px 0 10px;}
.htbar-toggle{display:none;}
@media(max-width:900px){
  /* sit BELOW the sticky nav (66px on mobile); collapse behind a thin bar */
  .htbar{top:66px;}
  .htbar-toggle{display:flex;width:100%;align-items:center;gap:10px;padding:13px 18px;background:none;border:0;font:inherit;font-size:14.5px;font-weight:800;color:var(--ink);cursor:pointer;text-align:left;}
  .htbar-sum{margin-left:auto;font-weight:700;font-size:12px;color:var(--brand-coral);max-width:44%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .htbar-toggle .chev{transition:transform .2s;color:var(--text-subtle);flex:0 0 auto;}
  .htbar.open .htbar-toggle .chev{transform:rotate(180deg);}
  .htbar-body{display:none;}
  .htbar.open .htbar-body{display:block;border-top:1px solid #ece7df;max-height:calc(100dvh - 140px);overflow-y:auto;}
}

/* channel section */
.htsec{max-width:1200px;margin:0 auto;padding:22px 0 8px;scroll-margin-top:130px;}
.htsec-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:0 4px 12px;border-bottom:2px solid #efe9df;margin-bottom:14px;}
.htsec-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0;}
.htsec-title h2{font-family:var(--font-head);font-size:21px;font-weight:800;color:var(--ink);margin:0;}
.htsec-count{color:var(--text-subtle);font-size:12.5px;font-weight:800;background:#f1ece3;padding:3px 10px;border-radius:var(--pill);white-space:nowrap;}
.htsec-blurb{color:var(--text-muted);font-size:13.5px;margin:0;flex:1 1 220px;min-width:0;}
.ht-chcta{margin-left:auto;flex:0 0 auto;font-size:13px;padding:8px 16px;}

/* entry grid — flat, dense, ellipsis-guarded (no horizontal overflow) */
.htgrid{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));}
.ht-hidden{display:contents;}
.ht-hidden>.htc{display:none;}
.htc{display:flex;align-items:center;gap:8px;background:var(--paper);border:1px solid #efece6;border-radius:12px;padding:5px 6px 5px 7px;min-width:0;box-shadow:0 1px 4px rgba(40,30,50,.05);}
.htc-lnk{display:flex;align-items:center;gap:9px;min-width:0;flex:1 1 auto;text-decoration:none;color:inherit;min-height:44px;padding:2px;border-radius:9px;}
.htc-lnk:hover{background:#fbf5ec;}
.htc-av{position:relative;width:40px;height:40px;border-radius:50%;overflow:hidden;background:#ece6dc;flex:0 0 auto;}
.htc-av .htc-ini{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:800;font-size:16px;color:#c1b6a2;}
.htc-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.htc-nm{display:flex;flex-direction:column;min-width:0;line-height:1.2;}
.htc-n{font-family:var(--font-head);font-weight:700;font-size:14px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.htc-kr{font-style:normal;font-weight:600;font-size:11.5px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px;}
.htc-nm.muted{flex:0 0 auto;color:var(--text-subtle);padding-left:6px;}
.htc-id{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border:0;border-radius:10px;background:#f3eee5;color:var(--text-muted);font:inherit;font-size:12px;font-weight:700;cursor:pointer;max-width:50%;}
.htc-id:hover{background:var(--brand-coral);color:#fff;}
.htc-id i{font-size:11px;opacity:.7;}
.htc.noimg{background:#faf7f2;border-style:dashed;}
.htc.noimg .htc-id{flex:1 1 auto;justify-content:space-between;}
.ht-more{margin:14px auto 0;}
.ht-empty,.ht-msg{text-align:center;color:var(--text-muted);padding:22px 0;font-weight:700;}

@media(max-width:600px){
  .htgrid{grid-template-columns:1fr;gap:7px;}
  .htsec-title h2{font-size:18px;}
  .ht-chcta{margin-left:0;width:100%;justify-content:center;}
  .ht-howto{font-size:12.5px;}
}

/* hub: channel-directory bands (clones /vip/ Channel Details intent) */
.ht-band{max-width:1100px;margin:16px auto 0;padding:0 4px;}
.ht-bhead{display:flex;align-items:center;gap:10px;padding:10px 2px;flex-wrap:wrap;}
.ht-bt{font-weight:800;color:var(--ink);font-size:14px;}
.ht-ball{margin-left:auto;color:var(--brand-coral);font-weight:800;font-size:13px;text-decoration:none;white-space:nowrap;}
.ht-chs{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));}
.ht-chitem{display:block;background:var(--paper);border:1px solid #efece6;border-radius:14px;padding:13px 15px;text-decoration:none;color:inherit;transition:transform .14s,box-shadow .14s;box-shadow:0 1px 5px rgba(40,30,50,.05);}
.ht-chitem:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(40,30,50,.12);}
.ht-cn{display:flex;align-items:center;gap:8px;font-family:var(--font-head);font-weight:800;font-size:16px;color:var(--ink);}
.ht-hn{margin-left:auto;font-size:12px;font-weight:800;color:#fff;background:var(--brand-coral);border-radius:var(--pill);padding:2px 9px;}
.ht-cd{color:var(--text-muted);font-size:12.5px;line-height:1.6;margin:6px 0 0;}
