/* Доп. стили: профиль, снаряжение, поиск. Только переменные из app.css, классы .pf-… */

/* ---------- общее ---------- */
.pf-ico{display:inline-flex!important;align-items:center;justify-content:center;width:40px!important;height:40px;border-radius:50%;background:var(--surface-2);color:var(--primary)}
.pf-ico svg{width:22px;height:22px}
.pf-res-title{font-weight:600;line-height:1.3}
.pf-note{margin-top:2px;white-space:pre-wrap}
.pf-pad{padding:0 4px}
.row .chev svg{width:20px;height:20px}
.pf-gear button.row{appearance:none;border:0;border-bottom:1px solid var(--line);color:inherit}
.pf-gear button.row:last-child{border-bottom:0}
.section-title .pf-hint{font-weight:400}

/* ---------- профиль ---------- */
.pf-head .card-body{padding:18px 16px}
.pf-head-top{display:flex;align-items:center;gap:16px}
.pf-head .avatar.xl{border:3px solid var(--primary-soft)}
.pf-name{margin:0 0 4px;font-size:1.45rem;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pf-city{display:flex;align-items:center;gap:6px;color:var(--muted);margin-top:4px}
.pf-tags{margin-top:14px}
.pf-tags .badge{font-size:.85rem;padding:5px 12px}
.pf-tags .badge svg{width:1.1em;height:1.1em}
.pf-about{margin:14px 0 0;white-space:pre-wrap}
.pf-private{margin:12px 0}
.pf-private-title{display:flex;align-items:center;gap:8px;font-weight:600;margin-bottom:8px}
.pf-private .kv dd{font-weight:500}
.pf-row-badges{margin-top:6px}
.pf-actions{margin:4px 0 8px}
.pf-report{margin:24px 0 8px}
.pf-profile>.btn.block{margin-top:12px}
.pf-profile .card .seg label{font-size:.9rem}

/* приглашение в поход */
.pf-invite-row{gap:10px}
.pf-invite-slot{flex-shrink:0}

/* ---------- редактирование профиля ---------- */
.pf-ava-box{display:flex;align-items:center;gap:16px;margin:0}
.pf-ava-prev .avatar.xl{border:3px solid var(--primary-soft)}
.pf-ava-btns{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}
.pf-pick{cursor:pointer;position:relative}
.pf-edit .input:disabled{opacity:.7}
.pf-danger{margin-top:32px;padding-top:4px;border-top:1px solid var(--line)}

/* ---------- снаряжение ---------- */
.pf-gear .note{margin-top:0}
.pf-empty-row{align-items:flex-start}
.pf-add{color:var(--primary);font-weight:600}
.pf-add .pf-ico{background:var(--primary-soft)}
.pf-seg4 .seg{flex-wrap:wrap}
.pf-seg4 .seg label{flex:1 1 40%}
.pf-sheet-del{margin-top:12px}

/* ---------- поиск ---------- */
.pf-search .chips{margin-bottom:10px}
.pf-scen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 12px}
.pf-scen button{appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--radius-sm);padding:10px 6px;font:inherit;font-size:.85rem;font-weight:600;line-height:1.2;min-height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;cursor:pointer;box-shadow:var(--shadow)}
.pf-scen button.on{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}
.pf-scen-ico{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--surface-2);color:var(--primary)}
.pf-scen button.on .pf-scen-ico{background:var(--primary);color:var(--primary-ink)}
.pf-scen-ico svg{width:22px;height:22px}

.pf-q{display:flex;align-items:center;gap:10px;min-height:52px;padding:0 16px;border-radius:999px;background:var(--surface);border:1px solid var(--line);margin-bottom:10px;color:var(--muted)}
.pf-q:focus-within{border-color:var(--primary)}
.pf-q svg{width:22px;height:22px;flex-shrink:0}
.pf-q .pf-q-input{border:0;background:transparent;padding:0;min-height:48px;outline:none;color:var(--ink)}
.pf-q .pf-q-input:focus{outline:none}

details.pf-filters{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:8px}
details.pf-filters>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:12px 16px;min-height:52px;font-weight:600}
details.pf-filters>summary::-webkit-details-marker{display:none}
details.pf-filters>summary svg{width:22px;height:22px}
details.pf-filters[open] .pf-caret{transform:rotate(180deg)}
.pf-fcount:empty{display:none}
.pf-filters-body{padding:4px 16px 16px;display:flex;flex-direction:column;gap:14px}
.pf-row-end{align-items:flex-end}
.pf-row-end>.check{flex:1;min-height:48px}

.pf-results .section-title{margin-top:18px}
.pf-near{margin-bottom:4px}

/* карточка похода в результатах */
.pf-trip{display:block;color:inherit;text-decoration:none}
.pf-trip .pf-cover{aspect-ratio:2/1}
.pf-res-line{display:flex;flex-wrap:wrap;gap:6px}
.pf-res-line .res svg{width:1.05em;height:1.05em;color:var(--primary)}
.pf-owner{display:flex;align-items:center;gap:8px;font-size:.92rem}

/* «почему подходит» */
.pf-why{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.pf-why>span{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:.85rem;font-weight:600}
.pf-why svg{width:1em;height:1em;stroke-width:3}

/* карточка человека */
.pf-person .card-body{display:flex;flex-direction:column;gap:10px}
.pf-person-top{display:flex;align-items:center;gap:14px}
.pf-notify-toggle{width:22px;height:22px;accent-color:var(--primary);flex-shrink:0}
.dm-page{display:grid;gap:10px;min-width:0}
.dm-head{display:flex;align-items:center;gap:10px;padding:10px 12px}
.dm-person{display:flex;align-items:center;gap:10px;min-width:0;flex:1;color:var(--ink);font-weight:650;text-decoration:none}
.dm-person>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dm-inbox-row{min-width:0}
.dm-inbox-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.dm-inbox-head time{white-space:nowrap}
.dm-scroll{display:flex;flex-direction:column;gap:8px;min-height:28vh;max-height:calc(100dvh - 260px);overflow:auto;padding:4px 2px;overscroll-behavior:contain}
.dm-bubble{align-self:flex-start;max-width:min(86%,560px);padding:10px 12px;border-radius:16px 16px 16px 5px;background:var(--surface-2);color:var(--ink);overflow-wrap:anywhere}
.dm-bubble.mine{align-self:flex-end;border-radius:16px 16px 5px 16px;background:var(--primary);color:var(--primary-ink)}
.dm-text{white-space:pre-wrap}
.dm-time{display:block;margin-top:4px;text-align:right;font-size:.72rem;opacity:.68}
.dm-privacy{margin:0;text-align:center}
.dm-composer{display:flex;align-items:flex-end;gap:8px;position:sticky;bottom:calc(var(--safe-b) + 66px);padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:16px}
.dm-composer textarea{resize:none;min-height:44px;max-height:130px;flex:1}
.tr-inbox-link{margin:0 0 10px;border-radius:14px}
