/* Tribalys – /whats-on community calendar. Builds on tb-home.css + tb-pages.css tokens. */
.hub-filter{position:sticky;top:80px;z-index:5;background:linear-gradient(var(--esp) 70%,rgba(23,18,14,0));padding:14px 0 18px;margin-bottom:8px}
.hub-filter .chips{overflow-x:auto;scrollbar-width:none}
.hub-filter .chips::-webkit-scrollbar{display:none}
.hub-day{margin-top:clamp(28px,4vw,44px)}
.hub-day-h{font-size:clamp(30px,3.2vw,42px);font-weight:500;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:6px}
.hub-day-h span{font-style:italic;color:var(--gold)}
.hub-cards{list-style:none;margin:0;padding:0}
.hub-card{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:clamp(16px,3vw,36px);align-items:start;padding:22px 0;border-bottom:1px solid var(--line)}
.hub-when{display:flex;flex-direction:column;gap:4px;padding-top:4px}
.hub-time{font-weight:700;font-size:15px;color:var(--cream)}
.hub-place{font-size:14px;color:var(--muted)}
.hub-body h3{font-size:clamp(24px,2.2vw,30px);font-weight:600;line-height:1.12}
.hub-body h3 a{color:var(--cream);text-decoration:none}
.hub-body h3 a:hover{color:var(--gold)}
.hub-org{font-size:14px;color:var(--muted);margin:4px 0 0}
.hub-desc{font-size:15px;color:var(--cream2);margin:10px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:760px}
.hub-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.hub-tags span{background:var(--tagbg);color:var(--tagfg);border-radius:999px;padding:4px 11px;font-size:12px;font-weight:600}
.hub-own{display:inline-block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--esp);background:var(--gold);border-radius:999px;padding:4px 10px;margin-bottom:8px}
.hub-card.is-own{background:linear-gradient(90deg,rgba(217,178,124,.07),transparent 60%)}
.hub-out{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-size:14px;font-weight:700;color:var(--sage);text-decoration:none;border:1px solid var(--line2);border-radius:999px;padding:10px 16px;margin-top:2px}
.hub-out:hover{border-color:var(--sage);color:var(--sage2)}
.hub-out svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hub-none{color:var(--muted);font-style:italic;margin-top:32px}
.hub-note{color:var(--muted);font-size:13px;margin-top:36px;max-width:760px}
@media (max-width:760px){
  .hub-card{grid-template-columns:minmax(0,1fr);gap:10px}
  .hub-when{flex-direction:row;gap:12px;padding-top:0}
  .hub-out{justify-self:start}
}

.hub-divider{margin-top:clamp(44px,6vw,72px);padding-top:clamp(24px,3vw,34px);border-top:1px solid var(--line2)}
.hub-divider h2{font-size:clamp(28px,3vw,40px);font-weight:500}
.hub-divider h2 em{color:var(--gold)}
.hub-divider p{color:var(--muted);font-size:15px;margin:8px 0 0;max-width:720px}
.hub-divider p strong{color:var(--cream)}
.is-own-day .hub-day-h{border-bottom-color:var(--gold)}

.hub-card[hidden],.hub-day[hidden],.hub-none[hidden]{display:none!important}
