/* Матч&мяч v54 — mobile players controls, viewport filter portal, verified coach booking, social links */

/* ===================== Players: controls like rating page ===================== */
.page-players .players-sort-control{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  gap:12px!important;
  padding:9px 10px!important;
  overflow:visible!important;
}
.page-players .players-sort-control .rating-control-group{display:grid;gap:6px;min-width:0}
.page-players .players-sort-control .rating-control-label{
  color:var(--text-faint);font:700 8px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase
}
.page-players .players-sort-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;min-width:0}
.page-players .players-sort-actions .btn,.page-players .players-rating-discipline-group .btn{
  min-height:34px!important;padding:0 11px!important;border-radius:10px!important;justify-content:center!important;gap:6px!important;white-space:nowrap!important
}
.page-players .players-sort-actions .btn>i{width:6px;height:6px;border-radius:50%;border:1px solid var(--text-faint);flex:0 0 6px}
.page-players .players-sort-actions .btn.is-selected,.page-players .players-rating-discipline-group .btn.is-selected{
  color:var(--accent-ink)!important;background:var(--accent)!important;border-color:var(--accent)!important
}
.page-players .players-sort-actions .btn.is-selected>i{background:var(--accent-ink);border-color:var(--accent-ink)}
.page-players .players-rating-discipline-group{transition:opacity .18s var(--ease)}
.page-players .players-rating-discipline-group.is-muted{opacity:.38;pointer-events:none}
.page-players .players-rating-discipline-group .rating-elo-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}

@media(max-width:900px){
  body.page-players.filters-open{overflow:hidden!important;overscroll-behavior:none!important}
  .page-players .players-catalog-toolbar{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
  .page-players .players-filter-mobile{width:max-content!important;min-width:112px!important}
  .page-players .players-sort-control{grid-template-columns:minmax(0,1fr) auto!important;width:100%!important;margin:0!important;overflow:visible!important}
  .page-players .players-sort-actions{width:100%!important}

  /* Portal lives directly under body, so it never opens lower in the document. */
  body.page-players>.pf-overlay{
    position:fixed!important;inset:0!important;z-index:620!important;display:block!important;
    background:rgba(3,5,3,.72)!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;
    opacity:0!important;pointer-events:none!important;transition:opacity .18s ease!important
  }
  body.page-players>.pf-overlay.is-open{opacity:1!important;pointer-events:auto!important}
  body.page-players>.pf-card{
    position:fixed!important;z-index:630!important;
    left:10px!important;right:10px!important;top:max(76px,calc(env(safe-area-inset-top) + 66px))!important;
    bottom:max(82px,calc(env(safe-area-inset-bottom) + 72px))!important;
    width:auto!important;height:auto!important;max-width:none!important;max-height:none!important;margin:0!important;
    padding:18px 17px 18px!important;overflow:auto!important;overscroll-behavior:contain!important;
    border:1px solid var(--border-strong)!important;border-radius:24px!important;background:#171c16!important;
    box-shadow:0 28px 90px rgba(0,0,0,.58)!important;
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;
    transform:translateY(14px) scale(.985)!important;transition:opacity .2s ease,transform .22s var(--ease),visibility 0s linear .22s!important
  }
  body.page-players>.pf-card.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;transition-delay:0s!important}
  body.page-players>.pf-card .pf-drawer-head{top:-18px!important;margin:-18px -17px 14px!important;padding:17px 17px 13px!important}
  body.page-players>.pf-card .pf-apply-mobile{bottom:-18px!important;margin:14px -17px -18px!important;width:calc(100% + 34px)!important}
}
@media(max-width:620px){
  .page-players .players-sort-control{grid-template-columns:1fr!important;gap:9px!important;padding:10px!important;border-radius:18px!important}
  .page-players .players-sort-actions .btn,.page-players .players-rating-discipline-group .btn{min-height:39px!important;padding:0 8px!important;font-size:10px!important}
  .page-players .players-sort-control .rating-control-label{font-size:7.5px}
  body.page-players>.pf-card{left:8px!important;right:8px!important;top:max(72px,calc(env(safe-area-inset-top) + 64px))!important;bottom:max(78px,calc(env(safe-area-inset-bottom) + 68px))!important}
}

/* ===================== Social links / direct contact ===================== */
.profile-social-links{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:13px}
.profile-social-link{min-height:34px;padding:0 11px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.025);color:var(--text-dim);font-size:10px;font-weight:750;transition:.18s var(--ease)}
.profile-social-link:hover{color:var(--text);border-color:rgba(200,255,61,.28);background:rgba(200,255,61,.055);transform:translateY(-1px)}
.profile-social-link svg{color:var(--accent)}
.page-club .club-social-links{margin-top:10px}
.page-coach .profile-social-links{max-width:620px}
.club-coach-live-state{display:inline-flex;align-items:center;gap:4px;margin-top:5px;color:var(--text-faint);font-size:9px;font-weight:700}
.club-coach-live-state.is-live{color:var(--accent)}

.page-studio .coach-social-editor,.page-studio .club-social-pro-editor{margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}
.page-studio .crm-section-head.compact{margin-bottom:10px}
.page-studio .club-social-pro-teaser{width:100%;margin:16px 0;padding:13px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;border:1px dashed rgba(200,255,61,.24);border-radius:14px;background:rgba(200,255,61,.025);color:var(--text);cursor:pointer}
.page-studio .club-social-pro-teaser>span:first-child{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:rgba(200,255,61,.08);color:var(--accent)}
.page-studio .club-social-pro-teaser b,.page-studio .club-social-pro-teaser small{display:block}.page-studio .club-social-pro-teaser b{font-size:11px}.page-studio .club-social-pro-teaser small{margin-top:3px;color:var(--text-faint);font-size:9px;line-height:1.4}
