/* ============================================================================
   profile-card - THE DIRECTORY'S PROFILE CARD (.tq-pcard2 in a .tq-pgrid):
   application/views/enduser/themes/townsquare/partials/search/profile_card.php,
   fed by tq_sm_profile_card() (townsquare_search_helper.php). Drawn by the
   business directory (/main_search, theme.json vendors.search, after
   search.css) and by the profile's person lists - Followers, Following,
   Suggestions, Discover, "Suggested for you" (theme_includes/profile,
   pp2_card_assets()). Moved here from themes/townsquare/css/search.css, rules
   unchanged, so both pages read the one copy.

   Needs the Townsquare tokens (--tq-*: base.css on body.tq / body.tq-chrome /
   .tq-tokens), townsquare.css's buttons (.tq-btn-line, .tq-sm) and
   profile_window.css (the avatar, badges, organization and place lines).
   ============================================================================ */

/* ---------- the profile cards ---------- */
.tq-pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--tq-gap-s)}
.tq-pgrid>.tq-none{grid-column:1/-1}
@media (max-width:1240px){.tq-pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.tq-pgrid{grid-template-columns:minmax(0,1fr)}}
.tq-pcard2{display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:#fff;border:1px solid rgba(8,15,84,.08);box-shadow:0 14px 34px -26px rgba(8,15,84,.5);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .3s;min-width:0}
.tq-pcard2:hover{transform:translateY(-6px);border-color:transparent;background:linear-gradient(#fff,#fff) padding-box,var(--tq-grad-edge) border-box;box-shadow:0 36px 60px -28px rgba(19,38,243,.55)}
.tq-pc-cover{position:relative;height:104px;overflow:hidden;background:#E8EBFF}
.tq-pc-cover img{width:100%;height:100%;object-fit:cover;transition:transform 1s}
.tq-pcard2:hover .tq-pc-cover img{transform:scale(1.08)}
.tq-ind{position:absolute;right:10px;top:10px;max-width:calc(100% - 20px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.92);color:#1B2A8C;font:700 14px var(--tq-body)}
.tq-pc-body{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 16px 16px;flex:1;min-width:0}
/* the avatar, badges and profile window: css/profile_window.css (every Townsquare page) */
.tq-pcard2 h3{font:800 18px/1.25 var(--tq-body);margin:2px 0;max-width:100%;overflow-wrap:anywhere}
.tq-pcard2 h3 button{all:unset;cursor:pointer;color:#0B1A4A}
.tq-pcard2 h3 button:hover{color:var(--tq-blue)}
/* a portal owner's avatar and name are links to its portal */
a.tq-pav{text-decoration:none}
.tq-pcard2 h3 a{color:#0B1A4A;text-decoration:none}
.tq-pcard2 h3 a:hover{color:var(--tq-blue)}
.tq-pcard2 h3 a:focus-visible{outline:2px solid var(--tq-blue);outline-offset:2px;border-radius:4px}
.tq-pcard2 h3 button:focus-visible{outline:2px solid var(--tq-blue);outline-offset:2px;border-radius:4px}
.tq-psv{margin:10px 0 0;font-size:14px;color:var(--tq-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:3em}
.tq-pstat{margin:10px 0 0;font-size:14px;color:var(--tq-muted)}
/* phones: one card a row, so nothing to line up - no two-line hold for services, none at all when there are none (owner 2026-10-10) */
@media (max-width:600px){.tq-psv{min-height:0}.tq-psv:empty{display:none}}
.tq-pstat b{color:var(--tq-navy)}
.tq-pstat span{margin:0 6px}
.tq-pc-act{margin-top:auto;padding-top:14px;display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.tq-fol{border:0;border-radius:10px;background:var(--tq-blue);color:#fff;font:700 14px var(--tq-body);cursor:pointer;transition:.2s;box-shadow:0 10px 20px -12px rgba(19,38,243,.9)}
.tq-fol:hover{background:#2638FF;transform:translateY(-1px)}
.tq-fol[aria-pressed="true"]{background:#EEF0FF;color:var(--tq-blue);box-shadow:none}
.tq-fol.tq-fol-y{background:var(--tq-yellow);color:var(--tq-navy)}
.tq-fol.tq-fol-y[aria-pressed="true"]{background:rgba(255,255,255,.9);color:var(--tq-blue)}
/* a profile still in progress: the same card, with a small muted tag */
.tq-pwip{display:inline-block;margin:6px 0 0;padding:3px 10px;border-radius:999px;background:#F1F3FF;color:var(--tq-muted);font:600 14px var(--tq-body)}
.tq-pgrid.tq-list .tq-pwip{display:none}
/* the list view: one line per profile */
.tq-li{display:none;min-width:0}
.tq-li b{display:block;font:800 17px/1.25 var(--tq-body);color:#0B1A4A}
.tq-li span{display:block;font:700 14px var(--tq-body);color:var(--tq-blue)}
.tq-li small{display:block;font-size:14px;color:var(--tq-muted);margin-top:2px}
.tq-pgrid.tq-list{grid-template-columns:minmax(0,1fr)}
.tq-pgrid.tq-list .tq-pcard2{flex-direction:row;align-items:stretch}
.tq-pgrid.tq-list .tq-pc-cover{height:auto;width:170px;flex:0 0 170px}
.tq-pgrid.tq-list .tq-pc-body{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"av info act" "av badges act";align-items:center;text-align:left;padding:16px;gap:4px 16px}
.tq-pgrid.tq-list .tq-pav{grid-area:av;margin:0;width:72px;height:72px;font-size:22px;border-width:3px}
.tq-pgrid.tq-list .tq-li{grid-area:info;display:block}
.tq-pgrid.tq-list .tq-badges{grid-area:badges;margin:0;justify-content:flex-start}
.tq-pgrid.tq-list .tq-pc-act{grid-area:act;margin:0;padding:0}
.tq-pgrid.tq-list .tq-pc-body>h3,.tq-pgrid.tq-list .tq-porg,.tq-pgrid.tq-list .tq-ploc2,.tq-pgrid.tq-list .tq-psv,.tq-pgrid.tq-list .tq-pstat{display:none}
@media (max-width:700px){.tq-pgrid.tq-list .tq-pcard2{flex-direction:column}.tq-pgrid.tq-list .tq-pc-cover{width:auto;height:90px;flex-basis:auto}.tq-pgrid.tq-list .tq-pc-body{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"av info" "badges badges" "act act"}.tq-pgrid.tq-list .tq-pc-act{justify-content:flex-start}}

/* ---------- the profile's person lists only (never set by the directory) ---------- */
/* why this person is suggested: one muted line; the mutual follows' names in its tooltip */
.tq-preason{display:block;max-width:100%;margin:8px 0 0;text-align:center;font-size:14px;line-height:1.4;color:var(--tq-muted)}
.tq-preason svg{display:inline-block;vertical-align:-2px;margin-right:6px;color:var(--tq-blue)} /* inline: beside the first word even when the line wraps */
.tq-preason span{overflow-wrap:anywhere}
.tq-preason[data-pv2-tip]{cursor:help}
/* a suggestion's dismiss x, on the cover's top-right corner (the industry tag moves left of it) */
.tq-pcard2{position:relative}
.tq-pc-x{position:absolute;right:8px;top:8px;z-index:3;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:var(--tq-navy);display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 14px -8px rgba(8,15,84,.5)}
.tq-pc-x:hover{background:#fff;color:var(--tq-blue)}
.tq-pc-x:focus-visible{outline:2px solid var(--tq-blue);outline-offset:2px}
.tq-pc-x ~ .tq-pc-cover .tq-ind{right:48px;max-width:calc(100% - 58px)}
.tq-pcard2 > .tq-hide-p ~ .tq-pc-x ~ .tq-pc-cover .tq-ind{max-width:calc(100% - 140px) !important} /* and the master admin's Hide on the left (css/text_edit.css) */
.tq-pcard2[hidden]{display:none}
