/*
  Мидас — основа и общие элементы: кнопки, фильтры, подписи, логотип.
  Источник: projects/midas/design. В модулях лежат копии: правьте источник и запускайте python3 design/sync.py.
  Подключать после tokens.css и до стилей модуля. Раскладку страниц здесь не описываем.
*/
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 400 15px/1.6 var(--sans); -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; }
svg { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
:focus-visible { outline: 1.5px solid var(--graphite); outline-offset: 3px; }
::selection { background: var(--graphite); color: var(--accent); }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.muted { color: var(--muted); }
.eyebrow { margin: 0; font-size: 11px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--muted); }
.eyebrow:empty { display: none; }
.eyebrow.light { color: rgba(255, 255, 255, .55); }

/* логотип текстом: <span class="logo-name">Соловей <em>и</em> Роза</span><span class="logo-tag">…</span> */
.logo-name { margin: 0; font: 500 27px/1 var(--serif); letter-spacing: .01em; color: var(--ink); white-space: nowrap; }
.logo-name em { font-weight: 400; color: var(--accent-deep); }
.logo-tag { font-size: 10px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: var(--muted); }

/* кнопки */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 0 26px; border: 0; border-radius: 999px; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; white-space: nowrap; transition: background .3s var(--ease), color .3s var(--ease), box-shadow .3s var(--ease), transform .2s var(--ease); }
.btn:active { transform: scale(.98); }
.btn-dark { background: var(--graphite); color: #fff; }
.btn-dark:hover { background: var(--ink); }
.btn-line { background: transparent; color: var(--graphite); box-shadow: inset 0 0 0 1px var(--graphite); }
.btn-line:hover { background: var(--graphite); color: #fff; }
.btn-light { background: #fff; color: var(--graphite); }
.btn-light:hover { background: var(--accent); }
.btn-ghost-light { background: transparent; color: #fff; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .4); }
.btn-ghost-light:hover { background: rgba(255, 255, 255, .08); }
.btn-wide { width: 100%; }
.btn:disabled { opacity: .5; cursor: progress; }
.round { display: grid; place-items: center; width: 42px; height: 42px; border: 0; border-radius: 50%; background: transparent; color: var(--graphite); box-shadow: inset 0 0 0 1px var(--line); cursor: pointer; transition: background .25s, box-shadow .25s, color .25s; }
.round:hover { background: var(--graphite); color: #fff; box-shadow: inset 0 0 0 1px var(--graphite); }

/* фильтры-«таблетки»: выбранная — aria-pressed="true" */
.pill { flex: none; height: 38px; padding: 0 18px; border: 0; border-radius: 999px; background: transparent; box-shadow: inset 0 0 0 1px var(--line); color: var(--soft); font-size: 13px; font-weight: 500; cursor: pointer; white-space: nowrap; transition: all .25s var(--ease); }
.pill:hover { color: var(--graphite); box-shadow: inset 0 0 0 1px var(--graphite); }
.pill[aria-pressed="true"] { background: var(--graphite); color: #fff; box-shadow: none; }
.pill .count { margin-left: 6px; opacity: .6; }

/* подпись поля формы: <label class="field"><span>Имя</span><input></label> */
.field { display: grid; gap: 6px; }
.field > span { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
