/* ============================================================
   Журнал — reading view (article / event stub)
   ============================================================ */

.read { padding-bottom: 3rem; }
.read__back { padding: clamp(1.2rem, 2.4vw, 2rem) 0 0; white-space: nowrap; }
.read__col { max-width: 720px; margin: 0 auto; padding-top: clamp(1.4rem, 3vw, 2.6rem); }
.read__kick { display: flex; align-items: center; gap: 0.8rem; margin-bottom: 1.2rem; }
.read__title { font-family: var(--serif); font-weight: 500; font-size: var(--t-hero); line-height: 1.02; letter-spacing: -0.014em; margin-bottom: 1rem; text-wrap: balance; }
.read__dek { font-size: 1.25rem; line-height: 1.5; color: var(--ink-soft); margin-bottom: 1.4rem; text-wrap: pretty; }
.read__by {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.45rem;
  padding-bottom: 1.6rem;
  border-bottom: var(--rule) solid var(--line);
  margin-bottom: 1.6rem;
}
.read__by-main {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem 1rem;
  flex-wrap: wrap;
  min-width: 0;
  width: 100%;
}
.read__by-main .byline--stack {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
}
.read__by-meta { display: block; }
.pub-city b { font-weight: 600; color: var(--ink); }
.pub-city--edit .city-select { min-width: 9rem; font-weight: 600; }
.pub-city--edit .city-select:invalid,
.pub-city--edit .city-select.is-invalid { border-color: var(--accent-deep); background: var(--accent-wash); outline: 2px solid var(--accent); outline-offset: 1px; }
.read__media { aspect-ratio: 16 / 9; margin-bottom: 1.6rem; }
.read__media--v { aspect-ratio: 3 / 4; }
.read__media--s { aspect-ratio: 1 / 1; }
.read__media--v, .read__media--s { max-width: 460px; margin-inline: auto; }
.read__buy { display: flex; align-items: center; gap: 1.2rem; padding: 1.2rem 0; border-top: var(--rule) solid var(--line); border-bottom: var(--rule) solid var(--line); }
.read__buy .ticket__price { font-size: 1.05rem; }
.read__note { color: var(--ink-faint); padding-top: 1.4rem; }
.read__note::first-letter { color: var(--accent); }

/* ticket block inside event view */
.read__ticket {
  display: flex; align-items: center; justify-content: space-between;
  gap: 1.2rem; flex-wrap: wrap;
  padding: 1.2rem 1.3rem; margin-bottom: 0.4rem;
  background: var(--paper-sink); border: 2px solid var(--ink);
}
.read__tk-left { display: flex; align-items: center; gap: 0.9rem; flex-wrap: wrap; }
.read__tk-left .ticket__price { font-size: 1.15rem; }
.btn-primary {
  font-family: var(--mono); font-size: var(--t-small);
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--paper-raise); background: var(--accent); border: 1px solid var(--accent);
  padding: 0.7rem 1.4rem; cursor: pointer; transition: background 0.2s var(--ease);
}
.btn-primary:hover { background: var(--accent-deep); }

/* jump-to-page block */
.read__jump { display: flex; align-items: center; gap: 1rem 1.4rem; flex-wrap: wrap; padding-top: 1.4rem; }
