/* Матч&мяч v53 — players mobile hardening, rating controls, courts filters, richer coach profile */

/* ===================== Players: reliable mobile filter drawer ===================== */
@media (max-width: 900px) {
  .page-players #players-filters {
    position: relative !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    z-index: 370 !important;
  }
  .page-players .pf-overlay {
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 370 !important;
    background: rgba(5,8,5,.76) !important;
    backdrop-filter: blur(5px) !important;
    -webkit-backdrop-filter: blur(5px) !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
  .page-players .pf-overlay.is-open {
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  .page-players .pf-card {
    position: fixed !important;
    left: 8px !important;
    right: 8px !important;
    bottom: 8px !important;
    top: auto !important;
    z-index: 380 !important;
    width: auto !important;
    max-width: none !important;
    max-height: calc(100dvh - 76px) !important;
    margin: 0 !important;
    padding: 20px 18px calc(20px + env(safe-area-inset-bottom)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    border: 1px solid var(--border-strong) !important;
    border-radius: 26px !important;
    background: #171c16 !important;
    box-shadow: 0 30px 90px rgba(0,0,0,.58) !important;
    transform: translateY(calc(100% + 20px)) !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: transform .28s var(--ease), visibility 0s linear .28s !important;
  }
  .page-players .pf-card.is-open {
    transform: translateY(0) !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transition-delay: 0s !important;
  }
  .page-players .players-filter-mobile {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    min-height: 44px !important;
    padding: 0 14px !important;
    border-color: var(--border-strong) !important;
    background: var(--card) !important;
    color: var(--text) !important;
    position: relative !important;
    z-index: 2 !important;
    pointer-events: auto !important;
  }
  .page-players .pf-drawer-head {
    position: sticky !important;
    top: -20px !important;
    z-index: 3 !important;
    margin: -20px -18px 14px !important;
    padding: 19px 18px 14px !important;
    background: #171c16 !important;
  }
  .page-players .pf-apply-mobile {
    position: sticky !important;
    bottom: calc(-20px - env(safe-area-inset-bottom)) !important;
    z-index: 3 !important;
    min-height: 48px !important;
    margin: 14px -18px calc(-20px - env(safe-area-inset-bottom)) !important;
    width: calc(100% + 36px) !important;
    border-radius: 0 0 22px 22px !important;
  }
  .page-players .players-catalog-toolbar {
    display: grid !important;
    grid-template-columns: auto minmax(0,1fr) !important;
    gap: 8px !important;
    align-items: stretch !important;
  }
  .page-players .players-sortbar {
    min-width: 0 !important;
    min-height: 44px !important;
    padding: 4px !important;
    overflow-x: auto !important;
    border-radius: 14px !important;
  }
  .page-players .pf-seg-sort {
    width: max-content !important;
    min-width: max-content !important;
    gap: 3px !important;
  }
  .page-players .pf-seg-sort button {
    min-height: 34px !important;
    padding: 0 11px !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 620px) {
  .page-players .content-wrap-wide { gap: 10px !important; }
  .page-players .players-page-head { min-height: 150px !important; margin-bottom: 4px !important; }
  .page-players #players-results { width: 100% !important; min-width: 0 !important; }
  .page-players .players-grid { gap: 10px !important; }
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
}

/* ===================== Rating: explicit metric picker ===================== */
.page-rating .rating-control-group { display:grid; gap:6px; min-width:0; }
.page-rating .rating-control-label {
  color:var(--text-faint);
  font:700 8px/1 var(--font-mono);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.page-rating .rating-discipline-group.is-hidden { display:none !important; }
.page-rating .rating-controls-panel .visual-sort-actions .btn {
  position:relative;
  gap:7px;
}
.page-rating .rating-controls-panel .visual-sort-actions .btn > i {
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  border:1px solid var(--text-faint);
  background:transparent;
}
.page-rating .rating-controls-panel .visual-sort-actions .btn.is-selected > i {
  border-color:var(--accent);
  background:var(--accent);
  box-shadow:0 0 0 3px rgba(200,255,61,.09);
}
.page-rating .rating-controls-panel .visual-sort-actions .btn.is-selected {
  color:var(--accent-ink) !important;
  background:var(--accent) !important;
  border-color:var(--accent) !important;
}
.page-rating .rating-controls-panel .visual-sort-actions .btn.is-selected > i {
  border-color:var(--accent-ink);
  background:var(--accent-ink);
  box-shadow:none;
}
.page-rating .rating-controls-panel .rating-hero-controls {
  align-items:end !important;
}
.page-rating .rating-elo-mode { min-height:34px; }

@media(max-width:620px){
  .page-rating .rating-controls-panel .rating-hero-controls { gap:11px !important; }
  .page-rating .rating-controls-panel .visual-sort-actions {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .page-rating .rating-controls-panel .visual-sort-actions .btn {
    justify-content:flex-start !important;
    min-height:40px !important;
    padding:0 11px !important;
    font-size:10px !important;
  }
  .page-rating .rating-control-label { font-size:7.5px; }
}

/* ===================== Clubs: stable price control + dark native selects ===================== */
.page-clubs .filter-field select {
  color-scheme: dark !important;
  color: var(--text) !important;
  background-color: rgba(255,255,255,.02) !important;
  outline: none !important;
  box-shadow: none !important;
}
.page-clubs .filter-field select option,
.page-clubs .filter-field select optgroup {
  background: #171c16 !important;
  color: #eef1ea !important;
}
.page-clubs .filter-field select:focus {
  border-color: rgba(200,255,61,.28) !important;
  box-shadow: 0 0 0 3px rgba(200,255,61,.055) !important;
}
.page-clubs .filter-price {
  justify-content:center !important;
  gap:7px !important;
  padding:8px 13px !important;
  overflow:hidden !important;
}
.page-clubs .filter-price-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
}
.page-clubs .filter-price-head > label {
  color:var(--text-faint);
  font-size:9.5px;
  line-height:1;
  white-space:nowrap;
}
.page-clubs .filter-price-values {
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
}
.page-clubs .filter-price-values > span {
  display:inline-flex;
  align-items:baseline;
  gap:3px;
  color:var(--text-faint);
  font-size:8.5px;
  white-space:nowrap;
}
.page-clubs .filter-price-values b {
  color:var(--text);
  font-size:10px;
  font-variant-numeric:tabular-nums;
}
.page-clubs .filter-price .rangewrap {
  position:relative !important;
  width:100% !important;
  height:20px !important;
  min-height:20px !important;
  padding:0 7px !important;
  overflow:visible !important;
}
.page-clubs .filter-price .range-track {
  position:absolute !important;
  left:7px !important;
  right:7px !important;
  top:8px !important;
  height:4px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.08) !important;
}
.page-clubs .filter-price .rangewrap input[type="range"] {
  -webkit-appearance:none !important;
  appearance:none !important;
  position:absolute !important;
  inset:0 7px auto 7px !important;
  width:calc(100% - 14px) !important;
  height:20px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  outline:none !important;
  pointer-events:none !important;
}
.page-clubs .filter-price .rangewrap input[type="range"]::-webkit-slider-runnable-track {
  height:4px !important;
  background:transparent !important;
  border:0 !important;
}
.page-clubs .filter-price .rangewrap input[type="range"]::-moz-range-track {
  height:4px !important;
  background:transparent !important;
  border:0 !important;
}
.page-clubs .filter-price .rangewrap input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance:none !important;
  appearance:none !important;
  width:16px !important;
  height:16px !important;
  margin-top:-6px !important;
  padding:0 !important;
  border:3px solid #11150f !important;
  border-radius:50% !important;
  background:var(--accent) !important;
  box-shadow:0 0 0 1px rgba(200,255,61,.22),0 3px 9px rgba(0,0,0,.48) !important;
  pointer-events:auto !important;
  cursor:pointer !important;
}
.page-clubs .filter-price .rangewrap input[type="range"]::-moz-range-thumb {
  width:16px !important;
  height:16px !important;
  padding:0 !important;
  border:3px solid #11150f !important;
  border-radius:50% !important;
  background:var(--accent) !important;
  box-shadow:0 0 0 1px rgba(200,255,61,.22),0 3px 9px rgba(0,0,0,.48) !important;
  pointer-events:auto !important;
  cursor:pointer !important;
}
.page-clubs .range-labels { display:none !important; }
.page-clubs .club-fav,
.page-clubs #clubs-features,
.page-clubs .club-features { display:none !important; }

@media(max-width:720px){
  .page-clubs .filter-price { min-height:58px !important; }
  .page-clubs .filter-price-head { align-items:baseline; }
}

/* ===================== Coach public profile ===================== */
.page-coach .content-wrap { max-width:1180px; gap:18px; }
.page-coach .coach-profile-hero {
  display:grid;
  grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);
  gap:0;
  min-height:510px;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:30px;
  background:var(--card);
}
.page-coach .coach-profile-visual {
  position:relative;
  min-height:510px;
  overflow:hidden;
  background:linear-gradient(145deg,#151b15,#0d100e);
}
.page-coach .coach-profile-visual > img { width:100%;height:100%;object-fit:cover;display:block; }
.page-coach .coach-profile-visual-empty { width:100%;height:100%;display:grid;place-items:center;color:rgba(200,255,61,.35); }
.page-coach .coach-profile-visual-shade { position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,10,7,.03),rgba(7,10,7,.12) 55%,rgba(7,10,7,.62));pointer-events:none; }
.page-coach .coach-profile-visual-badge { position:absolute;left:18px;top:18px;z-index:2; }
.page-coach .coach-profile-visual-badge .coach-card-status { margin:0;backdrop-filter:blur(10px); }
.page-coach .coach-gallery-count { position:absolute;right:18px;bottom:18px;z-index:2;min-height:36px;padding:0 12px;display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(12,16,12,.78);color:#fff;font:700 10px/1 var(--font-body);cursor:pointer;backdrop-filter:blur(12px); }
.page-coach .coach-profile-intro { display:flex;flex-direction:column;justify-content:center;padding:42px clamp(28px,4vw,56px);min-width:0; }
.page-coach .coach-profile-intro h1 { margin:10px 0 12px;font-size:clamp(42px,5vw,68px);line-height:.94;letter-spacing:-.065em; }
.page-coach .coach-profile-headline { max-width:620px;margin:0;color:var(--text);font-size:clamp(18px,2vw,25px);font-weight:650;line-height:1.25;letter-spacing:-.025em; }
.page-coach .coach-profile-specialization { margin-top:10px;color:var(--text-dim);font-size:12px;line-height:1.45; }
.page-coach .coach-profile-facts { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:26px; }
.page-coach .coach-profile-facts > span { min-width:0;padding:13px 14px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.02); }
.page-coach .coach-profile-facts b,.page-coach .coach-profile-facts small { display:block; }
.page-coach .coach-profile-facts b { font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.page-coach .coach-profile-facts small { margin-top:3px;color:var(--text-faint);font-size:9px; }
.page-coach .coach-profile-actions { display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:24px; }
.page-coach .coach-profile-primary { min-width:240px;min-height:48px;padding:4px 5px 4px 17px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:0;border-radius:999px;background:var(--accent);color:var(--accent-ink);font:800 12px/1 var(--font-body);cursor:pointer; }
.page-coach .coach-profile-primary b { width:39px;height:39px;display:grid;place-items:center;border-radius:50%;background:#11150f;color:var(--accent); }
.page-coach .coach-profile-club { margin-top:18px;max-width:520px;padding:12px 13px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--border);border-radius:14px;color:var(--text);background:rgba(255,255,255,.018); }
.page-coach .coach-profile-club > svg { color:var(--accent); }
.page-coach .coach-profile-club span b,.page-coach .coach-profile-club span small { display:block; }
.page-coach .coach-profile-club span b { font-size:11.5px; }
.page-coach .coach-profile-club span small { margin-top:2px;color:var(--text-faint);font-size:9.5px; }
.page-coach .coach-gallery-section,.page-coach .coach-details-section { margin-top:6px; }
.page-coach .coach-profile-gallery { display:grid;grid-template-columns:1.6fr repeat(2,1fr);grid-template-rows:repeat(2,180px);gap:9px; }
.page-coach .coach-profile-gallery.is-single { grid-template-columns:1fr;grid-template-rows:360px; }
.page-coach .coach-profile-gallery-item { position:relative;min-width:0;overflow:hidden;padding:0;border:1px solid var(--border);border-radius:18px;background:var(--card);cursor:zoom-in; }
.page-coach .coach-profile-gallery-item.is-lead { grid-row:1 / 3; }
.page-coach .coach-profile-gallery-item img { width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s var(--ease); }
.page-coach .coach-profile-gallery-item:hover img { transform:scale(1.025); }
.page-coach .coach-details-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px; }
.page-coach .coach-detail-card { display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;min-height:160px;padding:19px;border:1px solid var(--border);border-radius:18px;background:var(--card); }
.page-coach .coach-detail-icon { width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:rgba(200,255,61,.07);color:var(--accent); }
.page-coach .coach-detail-kicker { color:var(--text-faint);font:700 8.5px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase; }
.page-coach .coach-detail-card p { margin:9px 0 0;color:var(--text-dim);font-size:12px;line-height:1.65; }
.page-coach .coach-lightbox { position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:24px;background:rgba(3,5,3,.9);backdrop-filter:blur(14px); }
.page-coach .coach-lightbox img { max-width:min(1080px,94vw);max-height:88vh;border-radius:20px;box-shadow:0 28px 80px rgba(0,0,0,.5); }
.page-coach .coach-lightbox .btn-icon { position:absolute;right:20px;top:20px;background:var(--card); }

@media(max-width:860px){
  .page-coach .coach-profile-hero { grid-template-columns:1fr;min-height:0; }
  .page-coach .coach-profile-visual { min-height:360px;max-height:58vh; }
  .page-coach .coach-profile-intro { padding:26px 22px 28px; }
  .page-coach .coach-profile-intro h1 { font-size:clamp(38px,11vw,54px); }
  .page-coach .coach-details-grid { grid-template-columns:1fr; }
}
@media(max-width:560px){
  .page-coach .coach-profile-hero { border-radius:24px; }
  .page-coach .coach-profile-visual { min-height:310px; }
  .page-coach .coach-profile-intro { padding:22px 17px 23px; }
  .page-coach .coach-profile-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .page-coach .coach-profile-facts > span:last-child:nth-child(odd) { grid-column:1/-1; }
  .page-coach .coach-profile-actions { display:grid;grid-template-columns:1fr; }
  .page-coach .coach-profile-primary,.page-coach .coach-profile-actions .btn { width:100%;min-width:0;justify-content:center; }
  .page-coach .coach-profile-primary { justify-content:space-between; }
  .page-coach .coach-profile-gallery { grid-template-columns:1fr 1fr;grid-template-rows:220px 130px 130px; }
  .page-coach .coach-profile-gallery-item.is-lead { grid-column:1/-1;grid-row:1; }
  .page-coach .coach-profile-gallery.is-single { grid-template-columns:1fr;grid-template-rows:260px; }
  .page-coach .coach-detail-card { min-height:0;padding:16px; }
}

/* ===================== Studio: coach profile editor / gallery ===================== */
.page-studio .coach-profile-editor { display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:12px;align-items:start; }
.page-studio .coach-profile-editor-main { min-width:0; }
.page-studio .coach-profile-editor .form-grid-3 { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px; }
.page-studio .coach-profile-savebar { display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border); }
.page-studio .coach-profile-savebar > span { display:inline-flex;align-items:center;gap:7px;max-width:520px;color:var(--text-faint);font-size:10px;line-height:1.4; }
.page-studio .coach-gallery-editor { position:sticky;top:88px; }
.page-studio .coach-gallery-upload { min-height:76px;padding:12px;display:flex;align-items:center;gap:11px;border:1px dashed rgba(200,255,61,.28);border-radius:14px;background:rgba(200,255,61,.025);color:var(--accent);cursor:pointer; }
.page-studio .coach-gallery-upload input { display:none; }
.page-studio .coach-gallery-upload span b,.page-studio .coach-gallery-upload span small { display:block; }
.page-studio .coach-gallery-upload span b { color:var(--text);font-size:11px; }
.page-studio .coach-gallery-upload span small { margin-top:3px;color:var(--text-faint);font-size:9px; }
.page-studio .coach-gallery-upload.is-disabled { opacity:.45;cursor:not-allowed; }
.page-studio .coach-gallery-upload.is-loading { opacity:.6;pointer-events:none; }
.page-studio .coach-gallery-editor-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:9px; }
.page-studio .coach-gallery-editor-item { position:relative;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--bg-secondary); }
.page-studio .coach-gallery-editor-item img { width:100%;height:100%;object-fit:cover;display:block; }
.page-studio .coach-gallery-editor-item .btn-icon { position:absolute;right:5px;top:5px;width:28px;height:28px;background:rgba(12,16,12,.85); }
.page-studio .coach-gallery-empty { grid-column:1/-1;min-height:130px;padding:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;color:var(--text-faint);font-size:10px;border:1px solid var(--border);border-radius:12px; }

@media(max-width:920px){
  .page-studio .coach-profile-editor { grid-template-columns:1fr; }
  .page-studio .coach-gallery-editor { position:static; }
}
@media(max-width:620px){
  .page-studio .coach-profile-editor .form-grid-3 { grid-template-columns:1fr; }
  .page-studio .coach-profile-savebar { align-items:stretch;flex-direction:column; }
  .page-studio .coach-profile-savebar .btn { width:100%; }
}

/* Players ELO wrapper: transparent to desktop grid, real 2-column block on mobile. */

@media(max-width:620px){
  
  
}
.page-coach .coach-avatar-fallback { gap:14px; align-content:center; }
.page-coach .coach-avatar-fallback .avatar-lg { width:132px !important; height:132px !important; border:1px solid var(--border-strong); box-shadow:0 24px 60px rgba(0,0,0,.28); }
.page-coach .coach-avatar-fallback > span { display:inline-flex;align-items:center;gap:7px;color:var(--text-faint);font-size:10px; }
.page-coach .coach-avatar-fallback > span svg { color:var(--accent); }
