/* =========================
     OVERLAYS (shared)
  ========================== */

  .overlay{
    position:fixed; inset:0; z-index:100;
    display:flex; align-items:center; justify-content:center;
    padding:16px;
    background:rgba(6,7,9,.72);
    backdrop-filter:blur(6px);
    opacity:0; visibility:hidden;
    transition:opacity .22s var(--ease), visibility .22s var(--ease);
  }
  .overlay.show{ opacity:1; visibility:visible; }

  /* Bottom sheet on mobile, centered card on desktop */
  .sheet{
    width:min(100%,420px);
    background:var(--asphalt-800);
    border:1px solid var(--line-strong);
    border-radius:20px;
    padding:8px 6px 18px;
    box-shadow:0 30px 90px -20px rgba(0,0,0,.65);
    transform:translateY(14px) scale(.98);
    transition:transform .25s var(--ease);
  }
  .overlay.show .sheet{ transform:translateY(0) scale(1); }

  .sheet-handle{
    width:36px; height:4px; border-radius:3px;
    background:var(--line-strong);
    margin:6px auto 14px;
  }

  .sheet-head{
    display:flex; align-items:center; justify-content:space-between;
    padding:0 14px 12px;
    border-bottom:1px solid var(--line);
    margin-bottom:6px;
  }
  .sheet-head h2{ font-size:15px; margin:0; }
  .sheet-close{
    width:28px; height:28px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    background:var(--asphalt-750);
    border:0; color:var(--concrete-300); cursor:pointer;
  }
  .sheet-close:hover{ color:var(--white); }
  .sheet-close svg{ width:14px; height:14px; }

  .sort-option{
    display:flex; align-items:center; gap:12px;
    width:100%;
    background:transparent; border:0; cursor:pointer;
    padding:12px 14px;
    border-radius:12px;
    text-align:left;
    color:var(--concrete-200);
    transition:background .12s var(--ease);
  }
  .sort-option:hover{ background:var(--asphalt-750); }
  .sort-option.active{ background:var(--beacon-dim); color:var(--white); }

  .sort-option .radio{
    width:18px; height:18px; border-radius:50%;
    border:2px solid var(--line-strong);
    flex:none;
    display:flex; align-items:center; justify-content:center;
  }
  .sort-option.active .radio{ border-color:var(--beacon); }
  .sort-option.active .radio::after{
    content:""; width:9px; height:9px; border-radius:50%; background:var(--beacon);
  }

  .sort-option .opt-icon{
    width:32px; height:32px; border-radius:9px;
    background:var(--asphalt-750);
    display:flex; align-items:center; justify-content:center;
    flex:none;
  }
  .sort-option .opt-icon svg{ width:16px; height:16px; color:var(--beacon); }

  .sort-option .opt-text{ flex:1; min-width:0; }
  .sort-option .opt-title{ font-size:13.5px; font-weight:700; }
  .sort-option .opt-sub{ font-size:11px; color:var(--concrete-400); margin-top:1px; }


  /* =========================
     AUTH BANNER & MODAL
  ========================== */
  .auth-banner{
    display:flex; align-items:center; justify-content:space-between; gap:14px;
    background:rgba(255,176,32,0.08); border:1px solid rgba(255,176,32,0.25);
    border-radius:var(--radius-md); padding:12px 16px; margin-top:16px;
    font-size:13px; color:var(--concrete-200);
  }
  .auth-banner .auth-txt{ display:flex; align-items:center; gap:8px; }
  .auth-banner .auth-txt strong{ color:var(--beacon); }
  .auth-banner .auth-btn{
    background:var(--beacon); color:var(--asphalt-950); font-weight:700;
    padding:7px 14px; border-radius:8px; text-decoration:none; white-space:nowrap;
    font-size:12.5px; border:none; cursor:pointer; transition:transform .15s;
    display:inline-flex; align-items:center; gap:5px;
  }
  .auth-banner .auth-btn:hover{ transform:scale(1.02); }
  .auth-banner.logged-in{
    background:rgba(57,217,138,0.08); border-color:rgba(57,217,138,0.25);
  }
  .auth-banner.logged-in strong{ color:var(--success); }
  .auth-banner.logged-in .logout-btn{
    background:transparent; border:1px solid rgba(255,255,255,0.15);
    color:var(--concrete-300); padding:6px 12px; border-radius:8px; cursor:pointer;
    font-size:12px; font-weight:600;
  }
  .auth-banner.logged-in .logout-btn:hover{ color:var(--white); border-color:var(--line-strong); }
