/* ============================================================================
   Обсуждение под материалом — TASK-008. Разметку даёт mu-plugin
   photographer-core (обсуждения.php, шорткод ph_discussion), форму для
   вошедших на легаси достраивает discussion.js.

   Язык подписки и ленты: конструкция держится линейками, без карточек, теней
   и цвета. Имя и дата набраны аппаратом, текст сообщения — текстовой
   гарнитурой на ступень мельче статьи: обсуждение подчинено материалу.
   Ответы смещаются линейкой слева; глубже четвёртого уровня не смещаются,
   чтобы на телефоне текст не сжимался в столбик.
   ============================================================================ */

.discussion{
  margin-block-start:var(--space-7); padding-block-start:var(--space-5);
  border-block-start:1px solid var(--rule-strong);
  color:var(--ink);
}
.discussion__title{
  margin:0 0 var(--space-4);
  font-family:var(--font-text); font-size:var(--step-4); font-weight:var(--wght-head3);
  font-variation-settings:"opsz" var(--opsz-head3); line-height:var(--lh-tight);
  letter-spacing:-0.01em;
}
.discussion__count{
  font-family:var(--font-apparatus); font-size:var(--step-2); font-weight:var(--wght-meta);
  color:var(--ink-mute); letter-spacing:0; vertical-align:.2em; margin-inline-start:.3em;
}
.discussion__empty,
.discussion__foot,
.discussion__invite{
  margin:var(--space-4) 0 0;
  font-family:var(--font-apparatus); font-size:var(--step-2); line-height:var(--lh-meta);
  color:var(--ink-soft);
}
.discussion__empty{ margin-block-start:0; }
.discussion__foot a,
.discussion__invite a{
  color:var(--ink); text-decoration-line:underline; text-decoration-color:var(--accent);
  text-decoration-thickness:.07em; text-underline-offset:.2em;
}
.discussion__foot a:hover,
.discussion__invite a:hover{ text-decoration-thickness:.12em; }

/* --- Ветка ------------------------------------------------------------------ */
.discussion__list{ list-style:none; margin:0; padding:0; }
.discussion__item{ margin:0; padding:0; }
.discussion__list > .discussion__item + .discussion__item{ border-block-start:1px solid var(--rule-soft); }
.discussion__list--replies{
  margin-inline-start:var(--space-3); padding-inline-start:var(--space-3);
  border-inline-start:1px solid var(--rule);
}
.discussion__list--flat{ margin-inline-start:0; padding-inline-start:0; border-inline-start:0; }
@media (min-width:48rem){
  .discussion__list--replies{ margin-inline-start:var(--space-4); padding-inline-start:var(--space-4); }
  .discussion__list--flat{ margin-inline-start:0; padding-inline-start:0; }
}

.discussion__msg{ padding-block:var(--space-3); scroll-margin-block-start:var(--space-6); }
.discussion__msg:target{ background:var(--accent-wash); box-shadow:0 0 0 var(--space-2) var(--accent-wash); }

.discussion__head{
  display:flex; flex-wrap:wrap; align-items:baseline; gap:0 var(--space-2);
  margin-block-end:var(--space-1);
  font-family:var(--font-apparatus); font-size:var(--step-1); line-height:var(--lh-meta);
  color:var(--ink-mute);
}
.discussion__author{ color:var(--ink); font-weight:var(--wght-strong); text-decoration:none; }
a.discussion__author:hover{ text-decoration:underline; text-underline-offset:.2em; }
.discussion__anchor{ color:var(--ink-mute); text-decoration:none; }
.discussion__anchor:hover{ color:var(--ink); }

.discussion__body{
  font-family:var(--font-text); font-size:var(--step-2); line-height:var(--lh-body);
  font-variation-settings:"opsz" var(--opsz-body);
  overflow-wrap:anywhere;
}
.discussion__body > :first-child{ margin-block-start:0; }
.discussion__body > :last-child{ margin-block-end:0; }
.discussion__body p{ margin:0 0 var(--space-2); }
.discussion__body a{
  color:var(--ink); text-decoration-line:underline; text-decoration-color:var(--accent);
  text-decoration-thickness:.07em; text-underline-offset:.2em;
}
.discussion__body a:hover{ text-decoration-thickness:.12em; }
.discussion__body img{ max-inline-size:100%; block-size:auto; }
.discussion__body blockquote{
  margin:0 0 var(--space-2); padding-inline-start:var(--space-3);
  border-inline-start:2px solid var(--rule-strong); color:var(--ink-soft);
}
.discussion__body pre{ overflow-x:auto; white-space:pre-wrap; }

.discussion__offtopic > summary{
  cursor:pointer; font-family:var(--font-apparatus); font-size:var(--step-1); color:var(--ink-mute);
}
.discussion__offtopic[open] > summary{ margin-block-end:var(--space-2); }

/* --- Ответить ---------------------------------------------------------------- */
.discussion__reply-to{
  margin-block-start:var(--space-1); padding:0;
  font-family:var(--font-apparatus); font-size:var(--step-1); line-height:var(--lh-meta);
  min-block-size:var(--tap-min);
  border:0; background:none; color:var(--ink-mute); cursor:pointer;
  text-decoration-line:underline; text-decoration-color:var(--rule-strong); text-underline-offset:.2em;
}
.discussion__reply-to:hover{ color:var(--ink); text-decoration-color:var(--ink); }

.discussion__form{ margin-block-start:var(--space-5); }
.discussion__form .discussion__invite{ margin-block-start:0; }
.discussion__as,
.discussion__to{
  margin:0 0 var(--space-2);
  font-family:var(--font-apparatus); font-size:var(--step-1); line-height:var(--lh-meta); color:var(--ink-soft);
}
.discussion__as b{ color:var(--ink); font-weight:var(--wght-strong); }
.discussion__to button{
  padding:0; border:0; background:none; font:inherit; color:var(--ink); cursor:pointer;
  text-decoration:underline; text-underline-offset:.2em; margin-inline-start:var(--space-1);
}
.discussion__label{
  display:block; margin-block-end:var(--space-1);
  font-family:var(--font-apparatus); font-size:var(--step-1); font-weight:var(--wght-meta); color:var(--ink-mute);
}
.discussion__text{
  box-sizing:border-box; display:block; inline-size:100%; min-block-size:8rem; resize:vertical;
  font-family:var(--font-text); font-size:var(--step-2); line-height:var(--lh-body); color:var(--ink);
  background:var(--bg); border:1px solid var(--rule-strong); border-radius:0;
  padding:var(--space-2) var(--space-3);
}
.discussion__text:hover{ border-color:var(--ink-mute); }
.discussion__text:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; border-color:var(--ink); }
.discussion__text[aria-invalid="true"]{ border:2px solid var(--ink); }

.discussion__error{ margin:var(--space-2) 0 0; font-family:var(--font-apparatus); font-size:var(--step-2); font-weight:var(--wght-strong); }
.discussion__error:empty{ display:none; }

.discussion__send{
  margin-block-start:var(--space-3);
  font-family:var(--font-apparatus); font-size:var(--step-1); font-weight:var(--wght-meta);
  line-height:var(--lh-meta);
  min-block-size:2.5rem; padding:var(--space-2) var(--space-4);
  border:1px solid var(--ink); background:var(--ink); color:var(--bg); cursor:pointer;
}
.discussion__send:hover{ background:var(--ink-soft); border-color:var(--ink-soft); }
.discussion__send:active{ background:var(--ink); }
.discussion__send[disabled]{ background:var(--bg-sunk); border-color:var(--rule-strong); color:var(--ink-mute); cursor:progress; }
.discussion__send:focus-visible,
.discussion__reply-to:focus-visible,
.discussion__to button:focus-visible,
.discussion a:focus-visible,
.discussion__offtopic > summary:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; }

@media (max-width:35rem){
  .discussion__send{ inline-size:100%; }
}
