/* ============================================================
   GLOBAL — базовый слой: сброс, типографика, ссылки, фокус,
   утилиты. Ничего «секционного» — только глобальное.
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--fs-md);
  line-height: var(--lh-base);
  color: var(--text);
  background: var(--bg);
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  line-height: var(--lh-tight);
  font-weight: var(--fw-bold);
  color: var(--text);
}
h1 { font-size: var(--fs-2xl); }
h2 { font-size: var(--fs-xl); }
h3 { font-size: var(--fs-lg); }
p  { margin: 0 0 var(--sp-4); }

a { color: var(--accent); text-decoration: none; transition: color var(--t-fast); }
a:hover { color: var(--accent-hover); }

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-radius: var(--r-sm);
}
::selection { background: var(--brand-100); color: var(--text); }

img, svg, video { max-width: 100%; height: auto; vertical-align: middle; }

ul, ol { margin: 0 0 var(--sp-4); padding-left: 1.35em; }
li { margin-bottom: var(--sp-1); }

hr { border: 0; border-top: var(--border); margin: var(--sp-6) 0; }

button, input, select, textarea {
  font: inherit;
  color: inherit;
}

/* --- утилиты --- */
.wrap {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 var(--gutter);
}
.meta { color: var(--text-muted); font-size: var(--fs-sm); }
.empty {
  color: var(--text-muted);
  font-style: italic;
  padding: var(--sp-3) 0;
}
.visually-hidden {
  position: absolute; width: 1px; height: 1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}
.muted { color: var(--text-muted); }

/* --- изображения/превью --- */
.thumbnail { border-radius: var(--r-md); object-fit: cover; }

/* --- dev-баннер --- */
.devbar {
  background: #111;
  color: #ffd7d7;
  font-size: var(--fs-xs);
  text-align: center;
  padding: var(--sp-1) var(--sp-2);
  letter-spacing: .02em;
}
.devbar b { color: #fff; }
