/* ===== Фильтры (Badoo-style) ===== */
.filter-btn{display:flex;align-items:center;justify-content:center;gap:8px;margin:10px 12px 0;padding:11px;border-radius:16px;border:1px solid var(--card-b);background:rgba(139,92,246,.12);color:var(--txt);font:700 13.5px 'Manrope','Inter',system-ui,sans-serif;cursor:pointer}
.filter-btn .ic{width:18px;height:18px;stroke:var(--pink)}
.filter-overlay{position:fixed;inset:0;z-index:60;display:none;align-items:flex-end;justify-content:center;background:rgba(6,4,18,.72);backdrop-filter:blur(6px)}
.filter-overlay.show{display:flex}
.filter-sheet{width:100%;max-width:460px;max-height:92%;overflow-y:auto;background:var(--bg2);border:1px solid var(--card-b);border-radius:26px 26px 0 0;padding:20px 18px calc(20px + env(safe-area-inset-bottom))}
.fs-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.fs-head h2{margin:0;font-size:21px}
.fs-close{width:36px;height:36px;border-radius:12px;border:1px solid var(--card-b);background:rgba(255,255,255,.05);color:var(--txt);font-size:15px;cursor:pointer}
.fs-block{margin-bottom:18px}
.fs-lab{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;font:600 13.5px 'Manrope','Inter',system-ui,sans-serif;color:var(--dim)}
.fs-lab b{color:var(--txt);font-weight:800}
.fs-range2{display:grid;gap:6px}
.fs-block input[type=range]{width:100%;accent-color:var(--pink)}
.fs-chips{display:flex;flex-wrap:wrap;gap:8px}
.fchip{padding:9px 14px;border-radius:14px;border:1px solid var(--card-b);background:rgba(255,255,255,.04);color:var(--txt);font:600 13px 'Manrope','Inter',system-ui,sans-serif;cursor:pointer}
.fchip.active{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 8px 22px rgba(255,46,139,.45)}
.fs-row{display:flex;align-items:center;justify-content:space-between}
.switch{position:relative;display:inline-block;width:50px;height:28px}
.switch input{opacity:0;width:0;height:0}
.sl-track{position:absolute;inset:0;border-radius:14px;background:rgba(255,255,255,.12);transition:.2s}
.sl-track::before{content:'';position:absolute;width:22px;height:22px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s}
.switch input:checked + .sl-track{background:var(--pink)}
.switch input:checked + .sl-track::before{transform:translateX(22px)}
.fs-apply{width:100%;margin-top:6px}

/* ===== Nebula — адаптив (подключается ПОСЛЕ style.css) ===== */

/* ---------- планшет / узкий десктоп ---------- */
@media (max-width:900px){
  .map-bottom{max-height:62%}
}

/* ---------- мобильные ---------- */
@media (max-width:560px){
  .brand-logo{width:60px;height:60px;border-radius:20px;font-size:27px;margin-bottom:10px}
  .brand h1{font-size:29px;letter-spacing:-.9px}
  .brand-sub{font-size:12.5px}
  .auth-wrap{padding:18px 14px 26px}
  .auth-card{border-radius:24px;padding:16px}
  .tabs{margin-bottom:14px}
  .tab{padding:10px;font-size:13.5px}
  .auth-form input,.auth-form select,.auth-form textarea{padding:13px 14px;font-size:16px}
  .btn-primary{padding:15px;font-size:15px}

  .topbar{padding:12px 13px;gap:9px}
  .topbar-title{font-size:15.5px}
  .icon-btn{width:37px;height:37px;border-radius:12px;font-size:16px}
  .logo-mini{width:33px;height:33px;border-radius:12px;font-size:16px}

  .tabbar{padding:6px 2px calc(8px + env(safe-area-inset-bottom))}
  .nav{padding:6px 1px;font-size:10px}
  .nav .ic{width:22px;height:22px}
  .badge{right:calc(50% - 19px)}

  #view-swipe{padding:10px 10px 4px}
  .card{border-radius:24px}
  .card-info{padding:16px 15px 18px}
  .card-name{font-size:23px;gap:7px}
  .card-age{font-size:19px}
  .card-city{font-size:12.5px;margin-top:5px}
  .card-bio{font-size:13.5px}
  .card-chips{gap:6px;margin-top:10px}
  .chip{font-size:11px;padding:5px 10px}
  .card-dist,.card-online{top:12px;font-size:11px;padding:6px 10px}
  .card-dist{right:12px}
  .card-online{left:12px}
  .stamp{font-size:24px;padding:6px 14px;border-width:2.5px;top:26px}
  .stamp-super{margin-left:-58px}
  .deck-actions{gap:16px;padding:14px 0 4px}
  .act{width:56px;height:56px}
  .act .ic{width:23px;height:23px}
  .act-like{width:66px;height:66px}
  .act-like .ic{width:29px;height:29px}
  .act-super{width:50px;height:50px}
  .act-super .ic{width:21px;height:21px}

  .map-legend{top:9px;left:9px;font-size:10.5px;padding:7px 9px;gap:6px}
  .map-round{top:9px;right:9px;width:40px;height:40px}
  .map-bottom{max-height:74%;border-radius:22px 22px 0 0;padding:12px 0 14px}
  .map-card{width:96px;padding:10px 7px;border-radius:19px}
  .mc-photo{width:54px;height:54px;font-size:21px;margin-bottom:6px}
  .mk{width:66px}
  .mk-photo{width:44px;height:44px;font-size:18px}
  .mk-name{max-width:66px;font-size:9.5px;padding:3px 7px}
  .mk-badge{right:4px}
  .mk-online{top:31px;right:7px}

  .avatar-lg{width:96px;height:96px;font-size:38px}
  .avatar-md{width:72px;height:72px;font-size:28px}
  .avatar{width:50px;height:50px;font-size:20px}
  .avatar-sm{width:38px;height:38px;font-size:15px}
  .profile-head h2{font-size:22px}
  .p-block p{font-size:14px}
  .set-title{font-size:18px}

  .messages{padding:14px 12px 10px;gap:9px}
  .msg{max-width:84%;padding:11px 14px;font-size:14px;border-radius:19px}
  .composer{padding:10px 11px calc(12px + env(safe-area-inset-bottom));gap:8px}
  .composer input{padding:13px 16px;font-size:16px}
  .send-btn{width:46px;height:46px;font-size:18px}

  .match-box{margin:0 12px;padding:28px 18px 24px;border-radius:28px}
  .match-box h2{font-size:28px}
  .match-avatars{margin:20px 0 6px}
  .match-avatars::after{font-size:26px}
  .match-btns{margin-top:20px}
  .toast{bottom:84px;font-size:13px;padding:12px 18px;max-width:calc(100% - 28px);text-align:center}
}

/* ---------- очень узкие экраны ---------- */
@media (max-width:380px){
  .brand h1{font-size:26px}
  .row2{grid-template-columns:1fr}
  .card-name{font-size:21px}
  .act{width:52px;height:52px}
  .act-like{width:60px;height:60px}
  .deck-actions{gap:12px}
  .map-card{width:88px}
}

/* ---------- низкие экраны (альбомная ориентация) ---------- */
@media (max-height:620px){
  .brand{margin-bottom:14px}
  .brand-logo{width:52px;height:52px;font-size:23px;margin-bottom:8px}
  .brand h1{font-size:25px}
  .card-bio{-webkit-line-clamp:1}
  .deck-actions{padding:10px 0 2px}
}

/* ---------- уважение к настройкам системы ---------- */
@media (prefers-reduced-motion:reduce){
  .aurora{animation:none}
  .match-avatars::after{animation:none}
}

/* ---------- центровка формы ---------- */
.auth-wrap{margin-left:auto;margin-right:auto}

/* ---------- 768px планшет ---------- */
@media (max-width:768px){
  .auth-wrap{padding:22px 18px}
  .auth-card{border-radius:26px;padding:22px}
  .brand-logo{width:66px;height:66px;border-radius:22px;font-size:29px}
  .brand h1{font-size:31px}
  .map-bottom{max-height:68%}
}

/* ---------- 430px телефоны ---------- */
@media (max-width:430px){
  .brand-logo{width:56px;height:56px;border-radius:19px;font-size:25px;margin-bottom:8px}
  .brand h1{font-size:26px;letter-spacing:-.8px}
  .auth-wrap{padding:16px 12px 22px}
  .auth-card{border-radius:22px;padding:14px}
  .tab{padding:9px;font-size:13px}
  .btn-primary{padding:14px;font-size:14.5px}
  .act{width:52px;height:52px}
  .act-like{width:62px;height:62px}
  .map-card{width:90px}
}
