/* ============================================================================
   townsquare - PLACES: the live Townsquares list (partials/sections/ts_place_list,
   in the location window, the home window and on Explore Communities), the
   home window's extras and the home card's "Home community" state.
   Loaded on every Townsquare page (theme.json vendors.global) and with the top
   banner on the master's inner pages (tq_topban_inner_assets). js/places.js.
   Light on purpose: it sits on the white modal and the light pages, so it
   opts out of the theme's color-scheme:dark. Minimum text size 14px.
   ============================================================================ */
.tq-tsl,.tq-tsl *{box-sizing:border-box}
.tq-tsl{display:grid;gap:12px;color:#080F54;color-scheme:light;min-width:0}

/* search */
.tq-tsl-q{position:relative;display:block;margin:0}
.tq-tsl-q svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#6D74A6;pointer-events:none}
.tq-tsl-q input{display:block;width:100%;margin:0;padding:12px 14px 12px 42px;border-radius:12px;border:1.5px solid rgba(8,15,84,.12);background:#F5F6FF;color:#080F54;font:500 15px/1.4 var(--tq-body,system-ui);-webkit-appearance:none;appearance:none;transition:border-color .2s,box-shadow .2s,background .2s}
.tq-tsl-q input::placeholder{color:#6D74A6;opacity:1}
.tq-tsl-q input:focus,.tq-tsl-q input:focus-visible{outline:none;border-color:#1326F3;background:#fff;box-shadow:0 0 0 4px rgba(19,38,243,.12)}
.tq-tsl-q input::-webkit-search-cancel-button{cursor:pointer}

/* the list: scrolls inside the window */
.tq-tsl--modal .tq-tsl-list{max-height:min(300px,36vh);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(8,15,84,.22) transparent;margin:0 -6px;padding:2px 6px}
.tq-tsl--modal .tq-tsl-list::-webkit-scrollbar{width:6px}
.tq-tsl--modal .tq-tsl-list::-webkit-scrollbar-thumb{background:rgba(8,15,84,.22);border-radius:6px}
.tq-tsl-group+.tq-tsl-group{margin-top:12px}
.tq-tsl-state{display:flex;align-items:center;gap:8px;margin:0 0 8px;font:600 14px var(--tq-mono,ui-monospace,monospace);letter-spacing:.08em;text-transform:uppercase;color:#1326F3}
.tq-tsl-state span{font:700 14px var(--tq-body,system-ui);letter-spacing:0;color:#3A4178;background:#EEF0FF;border-radius:999px;padding:1px 9px}
.tq-tsl-items{display:grid;gap:8px}

/* one Townsquare: a row in a window */
.tq-tsl-item{display:flex;align-items:center;gap:12px;width:100%;margin:0;text-align:left;padding:8px 10px;border-radius:14px;border:1.5px solid rgba(8,15,84,.08);background:#fff;color:#080F54;font:inherit;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s}
button.tq-tsl-item:hover,button.tq-tsl-item:focus-visible{border-color:#1326F3;box-shadow:0 12px 26px -16px rgba(19,38,243,.55);outline:none;transform:translateY(-1px)}
button.tq-tsl-item:hover .tq-tsl-go,button.tq-tsl-item:focus-visible .tq-tsl-go{background:#1326F3;color:#fff}
.tq-tsl-th{flex:0 0 48px;width:48px;height:48px;border-radius:12px;background:#E8EBFF center/cover no-repeat}
.tq-tsl-ini{display:grid;place-items:center;color:#fff;font:800 16px var(--tq-display,system-ui)}
.tq-tsl-ini.tq-pal-0{background:linear-gradient(135deg,#1326F3,#6A5CFF)}
.tq-tsl-ini.tq-pal-1{background:linear-gradient(135deg,#080F54,#1326F3)}
.tq-tsl-ini.tq-pal-2{background:linear-gradient(135deg,#0E8F9C,#3BE3F2)}
.tq-tsl-ini.tq-pal-3{background:linear-gradient(135deg,#6A2BD9,#B06BFF)}
.tq-tsl-ini.tq-pal-4{background:linear-gradient(135deg,#C2410C,#F59E0B)}
.tq-tsl-ini.tq-pal-5{background:linear-gradient(135deg,#0F766E,#22C55E)}
.tq-tsl-tx{flex:1 1 auto;min-width:0;display:grid;gap:2px}
.tq-tsl-tx b{font:700 15px/1.3 var(--tq-body,system-ui);color:#080F54;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tq-tsl-tx small{font:500 14px/1.3 var(--tq-body,system-ui);color:#6D74A6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tq-tsl-badge{flex:0 0 auto;font:700 14px/1.4 var(--tq-body,system-ui);color:#080F54;background:#FAE621;border-radius:999px;padding:2px 10px}
.tq-tsl-go{flex:0 0 32px;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#EEF0FF;color:#1326F3;transition:background .2s,color .2s}
.tq-tsl-none{margin:4px 0 0;padding:16px;border-radius:12px;background:#F5F6FF;color:#6D74A6;font-size:14px;text-align:center}
.tq-tsl-all{justify-self:start;display:inline-flex;align-items:center;gap:6px;font:700 14px var(--tq-body,system-ui);color:#1326F3;text-decoration:none}
.tq-tsl-all:hover{text-decoration:underline}
.tq-tsl-or{display:flex;align-items:center;gap:12px;margin:4px 0 0;font:600 14px var(--tq-mono,ui-monospace,monospace);letter-spacing:.06em;text-transform:uppercase;color:#6D74A6}
.tq-tsl-or::before,.tq-tsl-or::after{content:"";flex:1;height:1px;background:rgba(8,15,84,.12)}
.tq-tsl-or span{flex:0 1 auto;text-align:center}

/* the windows' extras */
.tq-tsl-lead{margin:0;font:700 14px var(--tq-body,system-ui);color:#080F54}
.tq-tsl-home{display:flex;align-items:center;gap:10px;margin:0;font:600 14px var(--tq-body,system-ui);color:#080F54;cursor:pointer}
.tq-tsl-home input{width:18px;height:18px;margin:0;accent-color:#1326F3}
.tq-tsl-sub{display:block;text-align:center;font:700 14px var(--tq-body,system-ui);color:#1326F3;text-decoration:none}
.tq-tsl-sub:hover{text-decoration:underline}
.tq-home-card .tq-home-is{cursor:default}

/* Explore Communities: a card per Townsquare or portal */
.tq-tsl--page{gap:18px}
.tq-tsl--page .tq-tsl-q{max-width:560px}
.tq-tsl--page .tq-tsl-state{margin-bottom:12px}
.tq-tsl--page .tq-tsl-group+.tq-tsl-group{margin-top:24px}
.tq-tsl--page .tq-tsl-items{grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:18px}
.tq-tsl-card{position:relative;flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden;border-radius:20px;cursor:default;box-shadow:0 1px 2px rgba(8,15,84,.06),0 10px 30px -12px rgba(8,15,84,.14)}
.tq-tsl-card:hover{border-color:rgba(19,38,243,.35);box-shadow:0 30px 60px -24px rgba(19,38,243,.35)}
.tq-tsl-card .tq-tsl-th{flex:none;width:100%;height:150px;border-radius:0}
.tq-tsl-card .tq-tsl-ini{font-size:36px}
.tq-tsl-card .tq-tsl-tx{padding:16px 18px 0}
.tq-tsl-card .tq-tsl-tx b{font-size:18px;white-space:normal}
.tq-tsl-card .tq-tsl-badge{position:absolute;top:12px;left:12px}
.tq-tsl-acts{display:flex;flex-wrap:wrap;gap:8px;padding:16px 18px 18px;margin-top:auto}
.tq-tsl-acts a{text-decoration:none}
.tq-tsl-acts .tq-btn-line{background:#fff}
/* the Communities page's cards also carry portals: category tag and description */
.tq-tsl--page .tq-tsl-items{align-items:stretch}
.tq-tsl-card .tq-tsl-tx{flex:none}
.tq-tsl-more{display:grid;gap:8px;padding:10px 18px 0}
.tq-tsl-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.tq-tsl-tag{font:700 14px/1.4 var(--tq-body,system-ui);color:#3A4178;background:#EEF0FF;border-radius:999px;padding:2px 10px}
.tq-tsl-desc{margin:0;font:500 14px/1.5 var(--tq-body,system-ui);color:#4A5185;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
/* a page without the Townsquare's body.tq (the Communities page) still hides what is hidden */
.tq-tsl [hidden],.tq-scrim[hidden]{display:none!important}
.tsc-ts{padding:56px 0 8px}
.tsc-ts__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:22px}
.tsc-ts__head h2{margin:6px 0 0}
