/* Extracted from includes/profile_modal.php */

.pm-overlay {
    display:none; position:fixed; inset:0;
    background:rgba(0,0,0,.88); backdrop-filter:blur(6px);
    z-index:20000; align-items:center; justify-content:center;
}
.pm-overlay.open { display:flex; }
.pm-box {
    background:var(--bg-color); border:1px solid #3a3a3a;
    border-radius:24px; padding:36px; width:90%; max-width:460px;
    max-height:90vh; overflow-y:auto; position:relative;
}
.pm-box h3 { color:#fff; margin:0 0 22px; font-size:18px; }
.pm-close {
    position:absolute; top:14px; right:14px; width:34px; height:34px;
    border-radius:50%; border:none; background:transparent;
    display:flex; align-items:center; justify-content:center;
    cursor:pointer; color:#888; transition:color .2s,background .2s;
}
.pm-close:hover { color:#fff; background:rgba(255,255,255,.08); }
.pm-field {
    background:rgba(255,255,255,.05); border:1px solid #3a3a3a;
    border-radius:12px; padding:13px 16px; color:#fff; font-size:15px;
    width:100%; margin-bottom:14px; box-sizing:border-box; transition:border-color .2s;
}
.pm-field:focus { outline:none; border-color:var(--color-blue); }
.pm-field option { background:#1a1a2e; }
.pm-save {
    background:var(--color-blue); color:#fff; border:none; border-radius:12px;
    padding:13px 32px; font-size:15px; cursor:pointer; width:100%; transition:background .2s;
}
.pm-save:hover { background:#1a6bc7; }
.pm-label { color:var(--text-grey); font-size:11px; text-transform:uppercase; letter-spacing:.5px; display:block; margin-bottom:7px; }
.pm-av-circle {
    width:88px; height:88px; border-radius:50%;
    border:2px dashed #4A4A4A; display:flex; align-items:center; justify-content:center;
    cursor:pointer; margin:0 auto 6px; overflow:hidden;
    transition:border-color .2s; background-size:cover; background-position:center;
}
.pm-av-circle:hover { border-color:var(--color-blue); }
.pm-av-label { text-align:center; color:var(--text-grey); font-size:12px; margin-bottom:14px; }
.pm-spec-wrap { display:flex; flex-wrap:wrap; gap:7px; padding:10px; background:rgba(255,255,255,.04); border:1px solid #3a3a3a; border-radius:12px; margin-bottom:18px; }
.pm-spec-chip {
    padding:5px 12px; border-radius:20px; border:1px solid #4A4A4A;
    color:var(--text-grey); cursor:pointer; font-size:13px; transition:all .2s; user-select:none;
}
.pm-spec-chip:hover { border-color:var(--color-blue); color:#fff; }
.pm-spec-chip.active { background:rgba(57,154,255,.18); border-color:var(--color-blue); color:var(--color-blue); }
