/* Армата — общие служебные стили. Оформление — в style.css дочерней темы, он подключается после этого файла. */

[hidden]{display:none!important}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body.admin-bar .page{min-height:calc(100vh - 32px)}

.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link:focus{position:fixed!important;left:12px;top:12px;z-index:100000;width:auto;height:auto;padding:12px 18px;margin:0;clip:auto;background:#fff;color:#000;font:600 14px/1.2 system-ui,sans-serif;text-decoration:none}

/* Фокус с клавиатуры виден всегда; цвет — акцент темы (--af-focus) */
.page a:focus-visible,.page button:focus-visible,.page input:focus-visible,.page select:focus-visible,.page textarea:focus-visible,.page [tabindex]:focus-visible{outline:2px solid var(--af-focus,currentColor);outline-offset:3px}

/* Поле-ловушка для ботов в формах */
.af-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}

/* Стопка взаимоисключающих панелей (описание точки на карте и т. п.) */
.af-stack{display:grid;min-width:0}
.af-stack>*{min-width:0}

/* Ошибки форм */
.inp[aria-invalid=true]{border-color:#E5484D!important}
.af-err-msg{display:block;margin-top:2px;font-size:13px;line-height:1.4;color:#E5484D;letter-spacing:0;text-transform:none}
.af-form-msg{margin:0;padding:12px 14px;border:1px solid #E5484D;font-size:15px;line-height:1.5;color:#E5484D}
.sent:focus{outline:none}

/* Фото артистов и логотипы организаторов из медиатеки */
.artist-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.logo-img{display:inline-flex;align-items:center;justify-content:center;min-width:120px;height:52px;padding:6px 12px}
.logo-img img{display:block;max-width:160px;max-height:40px;width:auto;height:auto}

/* Появление при прокрутке там, где CSS не поддерживает animation-timeline */
.af-io .rv{opacity:0;transform:translateY(32px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}
.af-io .rv.is-in{opacity:1;transform:none}

/* Текстовые страницы: политика конфиденциальности и другие страницы из редактора */
.af-content{max-width:46em;font-size:17px;line-height:1.7}
.af-content>*{margin:0 0 1.1em}
.af-content h2,.af-content h3{margin:1.6em 0 .6em;line-height:1.2}
.af-content a{text-decoration:underline}
.af-content img{max-width:100%;height:auto}
.af-content ul,.af-content ol{padding-left:1.4em}

/* «Остановить анимацию»: всё движение замирает в текущем кадре; при системной настройке «уменьшить движение» кнопка не нужна */
.af-still *,.af-still *::before,.af-still *::after{animation-play-state:paused!important}
.af-still-btn{padding:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
@media (prefers-reduced-motion:reduce){.af-still-btn{display:none}}

/* Без JavaScript вкладки не переключаются: панели с формами показываем все сразу */
html:not(.af-js) .af-nojs-show[hidden]{display:block!important}
html:not(.af-js) .af-nojs-show+.af-nojs-show{margin-top:32px}
