/* Profile: avatar photo, contacts form, subscription rows, demo panel. */

/* ---------- avatar photo ---------- */
.avatar-img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%;}
.avatar--button,.avatar--xl{overflow:hidden;}
.photo-actions{display:flex;flex-wrap:wrap;gap:8px;width:100%;}
.photo-actions .btn{flex:1 1 140px;min-height:44px;}
.identity-photo--remove{color:var(--muted);}

/* ---------- contacts ---------- */
.contact-value{color:var(--text);overflow-wrap:anywhere;}
.contact-form{display:flex;flex-direction:column;gap:12px;}
.contact-form label{display:block;margin-bottom:5px;color:var(--text);font-size:12px;font-weight:650;line-height:1.3;}
.input{width:100%;min-width:0;height:46px;padding:0 12px;color:var(--text);font:inherit;font-size:15px;font-weight:650;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;outline:none;transition:border-color .2s ease-out,background-color .2s ease-out;}
.input:focus{border-color:var(--accent-line);background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft);}
.contact-form .measure-field.is-invalid .input{border-color:#FF8A65;background:rgba(255,107,0,.06);box-shadow:none;}
:root[data-theme="light"] .contact-form .measure-field.is-invalid .input{border-color:#C0392B;background:rgba(192,57,43,.05);}
.sheet-actions{display:flex;flex-direction:column;gap:8px;margin-top:4px;}
.sheet-actions .btn{width:100%;}

/* ---------- subscription ---------- */
.subscription-rows{display:flex;flex-direction:column;margin-top:10px;}
.subscription-row{padding:12px 0;border-top:1px solid var(--border);}
.subscription-row:first-child{border-top:0;padding-top:2px;}
.subscription-row:last-child{padding-bottom:2px;}
.subscription-row-head{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.subscription-name{min-width:0;color:var(--text);font-size:14px;font-weight:700;line-height:1.3;letter-spacing:-.01em;}
.subscription-detail{margin-top:5px;color:var(--muted);font-size:11.5px;line-height:1.45;}
.subscription-detail + .subscription-detail{margin-top:3px;}
/* Срок пакета — тонкая полоса на 30 дней, не конкурирует с прогрессом цикла. */
.subscription-row .progress-track{height:4px;margin-top:9px;}

/* ---------- demo panel ---------- */
.demo-card{margin-top:12px;padding:15px 16px;background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:var(--radius);}
.demo-head{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.demo-title{color:var(--muted);font-size:11px;font-weight:700;line-height:1.3;letter-spacing:.07em;text-transform:uppercase;}
.demo-note{margin-top:5px;color:var(--muted-2);font-size:11.5px;line-height:1.5;}
.demo-setting{margin-top:12px;}
.demo-label{display:block;margin-bottom:6px;color:var(--muted);font-size:11.5px;font-weight:600;}
.demo-reset{width:100%;margin-top:12px;color:var(--muted);font-size:12.5px;}

/* ---------- multi-way segmented controls in the demo panel ---------- */
.segmented--wrap{grid-template-columns:repeat(3,minmax(0,1fr));}
.segmented--wrap.segmented--4{grid-template-columns:repeat(2,minmax(0,1fr));}
.segmented--wrap .segment span{min-height:44px;padding:4px 6px;text-align:center;white-space:normal;line-height:1.2;}

/* ---------- questionnaire view («Моя анкета») ---------- */
.questionnaire-grid{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;margin-top:16px;}
.questionnaire-card,.questionnaire-empty{padding:16px;min-width:0;}
.questionnaire-list{display:flex;flex-direction:column;margin-top:8px;}
.questionnaire-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:baseline;gap:4px 12px;padding:8px 0;border-top:1px solid var(--border);}
.questionnaire-row:first-child{border-top:0;padding-top:0;}
.questionnaire-row:last-child{padding-bottom:0;}
.questionnaire-row dt{color:var(--muted);font-size:12.5px;line-height:1.4;}
.questionnaire-value{margin:0;color:var(--text);font-size:13.5px;font-weight:650;line-height:1.45;overflow-wrap:anywhere;text-align:right;}
.questionnaire-hint{display:block;margin-top:2px;color:var(--muted);font-size:11.5px;font-weight:500;line-height:1.4;}
.questionnaire-muted{color:var(--muted);font-weight:500;}
.questionnaire-row--stack{grid-template-columns:minmax(0,1fr);}
.questionnaire-row--stack .questionnaire-value{text-align:left;font-weight:600;}
.questionnaire-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
.questionnaire-note{margin-top:12px;color:var(--muted);font-size:11.5px;line-height:1.5;}
.questionnaire-actions{display:flex;margin-top:12px;}
.questionnaire-actions .btn{width:100%;}
@media (min-width:900px) {
  .questionnaire-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
  .questionnaire-actions .btn{width:auto;min-width:240px;}
}

@media (prefers-reduced-motion:reduce) {
  .input{transition:none;}
}
