/* Offline export: native hidden states, no generated page content. */
[hidden] { display: none !important; }
.news-detail-header, .event-card, .document-card { min-width: 0; }
html:not(.local-ui) .lk-page .view { display: block; }
html:not(.local-ui) .lk-page .view + .view { margin-top: 32px; }

/* Original site account header states; markup is stored in HTML. */
html:not(.auth-member) [data-auth="member"], html.auth-member [data-auth="guest"] { display:none !important; }

/* Постраничная навигация списков (новости, архив). Добавлено при переносе на PHP: в макете пагинации не было — утвердить дизайн. */
.pager { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 36px 0 0; }
.pager__item { min-width: 42px; height: 42px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 12px; background: var(--card); color: var(--ink); font-weight: 700; text-decoration: none; }
a.pager__item:hover { border-color: var(--orange); color: var(--orange); }
.pager__item.is-current { background: var(--orange); border-color: var(--orange); color: #fff; }
.pager__gap { align-self: center; color: var(--muted); }
/* Блоки страницы мероприятия, которых нет в макете (добавлено при переносе на PHP, утвердить дизайн): галерея, схемы, таблицы в тексте. */
.event-photos { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; margin: 16px 0; }
.event-photos a { display: block; border-radius: 12px; overflow: hidden; background: var(--line); aspect-ratio: 4 / 3; }
.event-photos img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .25s; }
.event-photos a:hover img { transform: scale(1.04); }
.event-figure { margin: 0 0 20px; }
.event-figure img { max-width: 100%; height: auto; border-radius: 12px; display: block; }
.event-figure figcaption { margin-top: 6px; color: var(--muted); font-size: 14px; }
.content-block img { max-width: 100%; height: auto; }
/* карточка вида спорта без мероприятий: не кликабельна */
.sport-card[data-empty] { cursor: default; }

/* переключатель статуса из ссылок: текст по центру кнопки */
.status-btn { display: flex; align-items: center; justify-content: center; text-align: center; text-decoration: none; }

/* Список участников: свёрнут до 10 строк с затемнением и кнопкой «Раскрыть список» (collapse.js) */
.participants-list.is-collapsible { position: relative; overflow: hidden; }
.participants-list.is-collapsed::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 120px; background: linear-gradient(180deg, rgba(250, 252, 253, 0), #fafcfd 85%); pointer-events: none; }
.collapse-more { display: flex; justify-content: center; margin-top: 14px; }
.collapse-more .ui-button { min-height: 44px; }

/* Отзывы: компактные карточки (в версии верстки они слишком крупные) */
.reviews-grid { gap: 12px; margin: 20px 0 16px; align-items: start; }
.reviews-grid blockquote { padding: 16px 18px; border-radius: 16px; box-shadow: 0 6px 18px rgba(15, 23, 42, .05); }
.reviews-grid blockquote p { min-height: 0; margin: 0 0 10px; font-size: 14px; line-height: 1.5; }
.reviews-grid blockquote p em { color: var(--muted); }
.reviews-grid blockquote footer { font-size: 12px; }
.reviews-grid blockquote[hidden] { display: none; }
.review-form { margin-top: 20px; }

/* Отзывы в колонках: карточки разной высоты укладываются без пустых мест */
.reviews-grid { display: block; column-count: 3; column-gap: 12px; }
.reviews-grid blockquote { break-inside: avoid; margin: 0 0 12px; }
@media (max-width: 980px) { .reviews-grid { column-count: 2; } }
@media (max-width: 640px) { .reviews-grid { column-count: 1; } }

/* Плавающий список якорей справа (anchors.js, только на широких экранах) */
.content-block[id], #registration { scroll-margin-top: 110px; }
.anchor-nav { position: fixed; top: 50%; right: 18px; z-index: 40; transform: translateY(-50%); display: none; max-width: 210px; padding: 10px 6px; border-radius: 18px; background: rgba(255, 255, 255, .92); box-shadow: 0 10px 30px rgba(15, 23, 42, .12); backdrop-filter: blur(6px); }
.anchor-nav { opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s; }
.anchor-nav.is-shown { opacity: 1; visibility: visible; }
.anchor-nav a { display: flex; align-items: center; gap: 10px; padding: 7px 12px 7px 10px; border-radius: 12px; color: var(--muted); font-size: 13px; font-weight: 600; line-height: 1.25; text-decoration: none; }
.anchor-nav a::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: #cbd5e1; transition: background .2s, transform .2s; }
.anchor-nav a:hover { color: var(--ink); background: #f1f5f9; }
.anchor-nav a.is-active { color: var(--ink); }
.anchor-nav a.is-active::before { background: var(--orange); transform: scale(1.35); }
@media (min-width: 1900px) { .anchor-nav { display: block; } }
/* на экранах поуже (1480–1899 px) — только точки, подпись появляется при наведении */
@media (min-width: 1480px) and (max-width: 1899px) {
  .anchor-nav { display: block; right: 8px; max-width: none; padding: 8px 4px; }
  .anchor-nav a { padding: 7px; }
  .anchor-nav a span { display: none; }
  .anchor-nav:hover a span { display: inline; }
  .anchor-nav:hover { max-width: 230px; }
}

/* Таблицы из старых текстов: единый вид (html_tidy_tables() убирает размеры и шрифты, таблица оборачивается в .table-wrap) */
.content-block .table-wrap { overflow-x: auto; margin: 18px 0; border: 1px solid var(--line); border-radius: 14px; background: #fff; -webkit-overflow-scrolling: touch; }
.content-block table { width: 100%; min-width: 520px; margin: 0; border-collapse: collapse; font-size: 14px; line-height: 1.45; }
.content-block th, .content-block td { padding: 10px 14px; border: 0; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.content-block th { background: #f1f5f9; color: var(--ink); font-weight: 700; white-space: nowrap; }
.content-block tr:last-child > td, .content-block tr:last-child > th { border-bottom: 0; }
.content-block tbody tr:nth-child(even) > td { background: #fafcfd; }
.content-block td p, .content-block th p { margin: 0; }
.content-block td p + p { margin-top: 6px; }
.content-block td img { max-width: 100%; height: auto; }

/* Кнопки-ссылки из старых текстов (фотоальбом, протоколы, видео): как кнопки сайта */
.content-block .event-order-btn-box { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 12px; margin: 18px 0; }
.content-block a.event-order-btn { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; padding: 0 24px; border-radius: 999px; background: var(--orange); color: #fff; font-weight: 800; font-size: 15px; line-height: 1.2; text-align: center; text-decoration: none; transition: transform .2s, box-shadow .2s; }
.content-block a.event-order-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(234, 84, 36, .24); color: #fff; }
/* Заголовки внутри текстов (h1–h4 из старых описаний и регламентов) заметно меньше заголовка раздела (первый h2 блока), чтобы не сливались */
.content-block :is(h1, h2, h3, h4):not(.content-block > h2:first-child) { margin: 28px 0 10px; font-size: 24px !important; line-height: 1.25; font-weight: 800; text-transform: none; letter-spacing: 0; }
.content-block :is(h3):not(.content-block > h2:first-child) { font-size: 20px !important; }
.content-block :is(h4):not(.content-block > h2:first-child) { font-size: 17px !important; }
.content-block > h2:first-child + :is(h1, h2, h3, h4) { margin-top: 18px; }
@media (max-width: 719px) {
  .content-block :is(h1, h2):not(.content-block > h2:first-child) { font-size: 21px !important; }
  .content-block :is(h3):not(.content-block > h2:first-child) { font-size: 18px !important; }
}

/* Вход и регистрация участников: сообщение об ошибке, подсказка, кнопки входа через соцсети (на согласовании) */
.form-error{margin:10px 0 0;padding:10px 14px;border-radius:12px;background:#fdecec;color:#a02121;font-size:14px;line-height:1.4}
.auth-hint{margin:0 0 14px;padding:10px 14px;border-radius:12px;background:#eef3fb;font-size:14px;line-height:1.4}
.auth-social{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px}
.auth-social .ghost-btn{flex:1 1 140px;text-align:center;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;border:0;border-radius:10px;color:#fff;font-size:14px;font-weight:600;line-height:1.2;white-space:nowrap}
.auth-social .auth-social-vk{background:#0077ff}
.auth-social .auth-social-vk:hover{background:#0062d1}
.auth-social .auth-social-yandex{background:#fc3f1d}
.auth-social .auth-social-yandex:hover{background:#d93216}
.form-ok{margin:10px 0 0;padding:10px 14px;border-radius:12px;background:#e9f7ee;color:#1b6b3a;font-size:14px;line-height:1.4}

/* Форма регистрации на мероприятие (/register/{id}): те же правила, что у формы регистрации в кабинете (.lk-page .registration-form) */
.contacts-page .registration-form { display:grid; gap:14px; max-width:640px; margin:0 auto; padding:28px; border:1px solid var(--line,#e2e8f0); border-radius:var(--radius,18px); background:#fff; }
.contacts-page .registration-form label { display:grid; gap:8px; color:var(--muted,#64748b); font-size:13px; font-weight:900; }
.contacts-page .registration-form input:not([type=checkbox]), .contacts-page .registration-form select, .contacts-page .registration-form textarea { width:100%; min-height:46px; border:1px solid var(--line,#e2e8f0); border-radius:14px; padding:0 12px; background:#fff; color:var(--ink,#111827); font:inherit; }
.contacts-page .registration-form textarea { padding:10px 12px; }
.contacts-page .registration-form .agree { display:flex; align-items:center; gap:10px; font-weight:700; }
.contacts-page .registration-form .agree input { width:auto; min-height:0; }
.contacts-page .registration-form h3 { margin:6px 0 0; font-size:18px; }
.contacts-page .registration-form .helper-text { margin:0; color:var(--muted,#64748b); font-size:13px; }
.contacts-page .price-box { display:grid; gap:9px; border:1px solid var(--line,#e2e8f0); border-radius:var(--radius,18px); padding:14px; background:#f8fafc; }
.contacts-page .price-row { display:flex; justify-content:space-between; gap:14px; }
.contacts-page .price-total { border-top:1px solid var(--line,#e2e8f0); padding-top:10px; font-size:22px; font-weight:900; }
.contacts-page .registration-form .reg-fields { display:grid; gap:14px; }

/* Фото профиля: круглая картинка в аватаре и мини-редактор в панели кабинета (на согласовании) */
.lk-page .avatar{overflow:hidden}
.lk-page .avatar .avatar-img{width:100%;height:100%;object-fit:cover;display:block}
.avatar-stage{display:flex;justify-content:center}
.avatar-stage canvas{width:100%;max-width:320px;aspect-ratio:1;border-radius:50%;background:#f1f5f9;cursor:grab;touch-action:none;box-shadow:0 0 0 3px #fff,0 0 0 4px #cbd5e1}
.avatar-stage canvas.is-drag{cursor:grabbing}
.avatar-tools{display:grid;gap:12px}
.avatar-buttons{display:flex;gap:8px;flex-wrap:wrap}
button.avatar{border:0;padding:0;cursor:pointer;font:inherit}

/* Кабинет: оболочка не ниже экрана, иначе боковая панель (sticky, высота экрана) заходит на подвал на коротких разделах */
@media (min-width:720px){.lk-page .account-shell{min-height:100vh;align-items:start}}

/* Аватар участника в шапке сайта вместо значка кабинета (на согласовании) */
.account-icon.has-avatar::before,.account-icon.has-avatar::after{display:none}
.account-icon.has-avatar{overflow:visible;padding:0}
.account-icon .account-avatar{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.account-icon.has-avatar span{z-index:1}

/* Несколько участников в одной регистрации */
.contacts-page .registration-form .reg-row{display:grid;gap:14px;margin:0;padding:18px;border:1px solid var(--line,#e2e8f0);border-radius:16px;background:#f8fafc}
.contacts-page .registration-form .reg-row legend{padding:0 8px;font-weight:900}
.contacts-page .registration-form .reg-row-remove{justify-self:start}
#regRows{display:grid;gap:16px}

/* Страница услуги: сворачиваемые списки «Подробнее», блок заказа, другие предложения (на согласовании) */
.rollup-text-js.is-collapsed{position:relative;overflow:hidden}
.rollup-text-js.is-collapsed::after{content:"";position:absolute;left:0;right:0;bottom:0;height:32px;background:linear-gradient(rgba(255,255,255,0),#fff)}
.rollup-more{margin:6px 0 0}
.rollup-toggle{border:0;background:none;padding:0;color:var(--orange,#f05a28);font:inherit;font-weight:700;cursor:pointer}
.service-order p{margin:10px 0}
.service-others ul{margin:10px 0 0;padding-left:20px;display:grid;gap:6px}

/* Фотоальбомы услуги */
.service-album{margin:0 0 28px}
.service-album h3{margin:0 0 12px}
.service-album h3 .muted{font-weight:400;font-size:.8em}

/* Фотоальбомы услуги: ровные плитки — 4 в ряд в списке альбомов, 3 в ряд внутри альбома */
.service-album .event-photos{grid-template-columns:repeat(4,1fr)}
.service-album + .service-album{padding-top:24px;border-top:1px solid var(--line)}
.service-album-page .event-photos{grid-template-columns:repeat(3,1fr)}
@media(max-width:720px){.service-album .event-photos,.service-album-page .event-photos{grid-template-columns:repeat(2,1fr)}}

/* Услуги: перечень «ol.col-2» карточками в две колонки, как на старом сайте */
.content-block ol.col-2{list-style:none;margin:18px 0;padding:0;column-count:2;column-gap:16px;line-height:1.3}
.content-block ol.col-2 > li{display:flex;align-items:center;gap:16px;box-sizing:border-box;width:100%;margin:0 0 16px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--card);break-inside:avoid;overflow:hidden}
.content-block ol.col-2 > li > img{flex:0 0 44px;width:44px;height:44px;object-fit:contain;opacity:.6;margin:0}
.content-block ol.col-2 > li > span{flex:1 1 auto;min-width:0}
.content-block ol.col-2 > li > ul{flex:1 1 100%;margin:10px 0 0;padding-left:22px}
.content-block ol.col-2 > li:has(> ul){flex-wrap:wrap;align-items:flex-start}
.content-block ol.col-2 > li:has(> ul) > span{flex:1 1 calc(100% - 64px)}
@media(max-width:720px){.content-block ol.col-2{column-count:1}}

/* Страницы услуг: видео по центру, телефон, блок расчёта стоимости и оранжевая плашка «с 2002 года» (как на старом сайте) */
.content-block iframe{display:block;max-width:100%;margin:24px auto}
.content-block p.txt-phone{text-align:center;margin:1em 0;font-size:1.4em}
.content-block p.txt-phone .phone{color:var(--orange);font-size:1.4em;font-weight:800;white-space:nowrap}
.content-block .serv-form{margin:2em 0;padding:32px;border-radius:14px;background:#dee7f2;border:1px solid #dbe3ee;text-align:center}
.content-block .serv-form .title-h2{margin:0 0 16px;color:var(--ink);font-size:24px;font-weight:700}
.content-block .serv-form p{margin:0}
.content-block .plus-block-after{margin:2em 0 1.2em;padding:18px 20px 22px;border-radius:14px;background:var(--orange);color:#fff;text-align:center;font-size:20px;line-height:1.4}

/* Услуги: нумерованные карточки «ol.num-col-2» в две колонки с оранжевой рамкой и номером, кнопка «Подробнее» (как на старом сайте) */
.content-block ol.num-col-2{list-style:none;counter-reset:point 0;margin:18px 0;padding:0;column-count:2;column-gap:16px;line-height:1.3}
.content-block ol.num-col-2 > li{position:relative;display:block;box-sizing:border-box;width:100%;margin:0 0 16px;padding:16px 18px;border:1px solid var(--orange);border-radius:12px;background:var(--card);break-inside:avoid}
.content-block ol.num-col-2 > li::before{content:counter(point);counter-increment:point 1;display:inline-block;vertical-align:middle;width:30px;height:30px;margin-right:14px;border-radius:6px;background:var(--orange);color:#fff;font-size:18px;line-height:30px;text-align:center}
.content-block ol.num-col-2 > li > span{display:inline-block;vertical-align:middle;max-width:calc(100% - 50px)}
.content-block ol.num-col-2 > li > ul{margin:10px 0 0;padding-left:20px;font-size:.92em}
.content-block ol.num-col-2 .rollup-more{margin:10px 0 0}
.content-block ol.num-col-2 .rollup-toggle{display:block;width:100%;padding:8px;border-radius:8px;background:#f1f5f9;color:var(--ink);text-align:center}
.content-block ol.col-2 .rollup-more{margin:10px 0 0;flex:1 1 100%}
@media(max-width:720px){.content-block ol.num-col-2{column-count:1}}

/* Просмотрщик фотографий (assets/js/photo-viewer.js) */
.event-photos a[hidden]{display:none}
html.pv-open{overflow:hidden}
.pv{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:rgba(10,16,28,.92)}
.pv[hidden]{display:none}
.pv__fig{margin:0;max-width:calc(100vw - 150px);max-height:100vh;display:flex;flex-direction:column;align-items:center;gap:10px}
.pv__fig img{max-width:100%;max-height:calc(100vh - 90px);object-fit:contain;border-radius:8px;background:#000}
.pv__fig figcaption{max-width:80vw;color:#e2e8f0;font-size:14px;text-align:center}
.pv__close,.pv__nav{position:absolute;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;cursor:pointer;line-height:1;transition:background .2s}
.pv__close:hover,.pv__nav:hover{background:var(--orange)}
.pv__close{top:18px;right:18px;width:44px;height:44px;font-size:30px}
.pv__nav{top:50%;width:52px;height:52px;margin-top:-26px;font-size:38px;padding-bottom:4px}
.pv__prev{left:18px}.pv__next{right:18px}
.pv--single .pv__nav,.pv--single .pv__count{display:none}
.pv__count{position:absolute;left:0;right:0;bottom:14px;text-align:center;color:#cbd5e1;font-size:13px}
@media(max-width:720px){.pv__fig{max-width:100vw}.pv__nav{top:auto;bottom:18px;margin:0}.pv__prev{left:18px}.pv__next{right:18px}}

/* Услуга: «Другие предложения» карточками с фото в две колонки */
.service-others-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:16px}
.service-other{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);color:var(--ink);text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s}
.service-other:hover{border-color:var(--orange);box-shadow:var(--shadow);transform:translateY(-2px)}
.service-other__pic{display:block;aspect-ratio:16/7;background:#cbd5e1 center/cover no-repeat}
.service-other__title{display:block;padding:16px 18px;font-size:18px;font-weight:700;line-height:1.3}
.service-other:hover .service-other__title{color:var(--orange)}
@media(max-width:720px){.service-others-grid{grid-template-columns:1fr}}

/* Услуга: блок «Заказ услуги» — тёмный баннер с кнопкой и телефоном */
.content-block.service-order{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px;margin:48px 0;padding:40px 44px;border-radius:24px;background:linear-gradient(120deg,#1e2a44 0%,#2c384e 55%,#3a2f3a 100%);color:#fff;box-shadow:var(--shadow);position:relative;overflow:hidden}
.service-order::after{content:"";position:absolute;right:-80px;top:-80px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(234,84,36,.55),rgba(234,84,36,0) 70%);pointer-events:none}
.service-order__text{flex:1 1 420px;max-width:720px;position:relative;z-index:1}
.content-block .service-order__label{margin:0 0 8px;color:#ff7a4d;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.content-block.service-order h2{margin:0 0 12px;color:#fff;font-size:clamp(24px,3vw,34px);line-height:1.2}
.service-order__text p:last-child{margin:0;color:#cbd5e1;font-size:16px;line-height:1.5}
.service-order__actions{display:flex;flex-direction:column;align-items:stretch;gap:16px;flex:0 0 auto;min-width:260px;position:relative;z-index:1}
.service-order__actions .ui-button{justify-content:center;text-align:center;min-height:54px;font-size:17px}
.service-order__phone{display:flex;flex-direction:column;gap:2px;padding:12px 18px;border:1px solid rgba(255,255,255,.25);border-radius:14px;color:#fff;font-size:22px;font-weight:800;text-align:center;text-decoration:none;transition:border-color .2s,background .2s}
.service-order__phone span{color:#94a3b8;font-size:12px;font-weight:600;letter-spacing:.04em}
.service-order__phone:hover{border-color:var(--orange);background:rgba(255,255,255,.06)}
@media(max-width:720px){.content-block.service-order{padding:28px 22px;border-radius:18px}.service-order__actions{flex:1 1 100%}}

/* ===== Личный кабинет: оформление по новому макету (тёмное меню, карточка профиля, панель данных, карточка e-mail) ===== */
.lk-page{--lk-soft:#f3f6fb;--lk-line:#e6ebf3;--lk-or:#ff6a2b}
.lk-page .ico{width:22px;height:22px;flex:0 0 auto;display:block}
.lk-page .sidebar{background:radial-gradient(120% 60% at 100% 100%,rgba(70,100,160,.22),transparent 60%),linear-gradient(180deg,#101d38 0%,#0a1427 100%);color:#fff;padding:26px 18px;border:0;box-shadow:0 18px 40px rgba(10,20,39,.28)}
.lk-page .side-logo{gap:6px;margin:0 8px 26px}
.lk-page .side-logo .logo-img{height:34px;width:auto}
.lk-page .side-logo span{color:#7d93bd;font-size:13px;letter-spacing:.06em}
.lk-page .side-nav,.lk-page .side-footer{gap:8px}
.lk-page .side-footer{margin-top:22px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12)}
.lk-page .side-link{display:flex;align-items:center;gap:16px;width:100%;min-height:50px;padding:0 16px;border:0;border-radius:14px;background:transparent;color:#e7edf8;font:inherit;font-size:16px;font-weight:600;text-align:left;text-transform:none;cursor:pointer;transition:background .2s,color .2s}
.lk-page .side-link:hover{background:rgba(255,255,255,.07);color:#fff}
.lk-page .side-link.is-active{background:var(--lk-or);color:#fff;box-shadow:0 10px 22px rgba(255,106,43,.35)}
.lk-page .side-link.muted{color:#e7edf8}
.lk-page .nav-ico{display:grid;place-items:center;width:26px;height:26px;border-radius:0;background:none!important;color:inherit;font-size:0}
.lk-page .side-link.is-active .nav-ico{background:none!important;color:#fff}
.lk-page .side-link .side-chev{margin-left:auto;font-size:22px;line-height:1;opacity:.75}
.lk-page .account-card{padding:28px 32px 40px;border:0;border-radius:26px;background:#fff;box-shadow:0 18px 50px rgba(30,45,80,.08)}
.lk-page .back-home{display:inline-flex;align-items:center;gap:12px;margin:0 0 18px;padding:0;border:0;background:none;box-shadow:none;color:#5b78a8;font-size:15px;font-weight:700;text-decoration:none}
.lk-page .back-home .ico{width:20px;height:20px}
.lk-page .back-home:hover{color:var(--lk-or)}
.lk-page .section-head h2{margin:0 0 20px;color:#0c1730;font-size:clamp(30px,3.6vw,46px);font-weight:900;line-height:1.1}
.lk-page .profile-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px 26px;padding:24px;border:1px solid var(--lk-line);border-radius:22px;background:#fff;box-shadow:0 8px 28px rgba(30,45,80,.06)}
.lk-page .avatar-wrap{position:relative;width:128px;height:128px;border-radius:50%;padding:5px;background:#fff;box-shadow:0 0 0 1px #dfe6f1,0 6px 18px rgba(30,45,80,.12)}
.lk-page .avatar-wrap .avatar{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;background:var(--lk-or);color:#fff;font-size:34px;font-weight:900;overflow:hidden}
.lk-page .avatar-edit{position:absolute;right:-2px;bottom:6px;display:grid;place-items:center;width:38px;height:38px;border:3px solid #fff;border-radius:50%;background:var(--lk-or);color:#fff;cursor:pointer;padding:0;box-shadow:0 4px 10px rgba(255,106,43,.4)}
.lk-page .avatar-edit .ico{width:17px;height:17px}
.lk-page .profile-text h2{margin:0 0 6px;color:#0c1730;font-size:clamp(22px,2.4vw,30px);line-height:1.15}
.lk-page .profile-text p{margin:0 0 4px;color:#7b8aa6}
.lk-page .profile-mail{font-size:16px}
.lk-page .photo-link{display:inline-flex;align-items:center;gap:12px;margin-top:10px;padding:0;border:0;background:none;color:#2f5fb3;font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.lk-page .photo-link__ico{display:grid;place-items:center;width:38px;height:36px;border-radius:10px;background:#eaf0fa;color:#4a6fa8}
.lk-page .photo-link__ico .ico{width:19px;height:19px}
.lk-page .photo-link:hover{color:var(--lk-or)}
.lk-page .profile-summary-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;align-self:start}
.lk-page .profile-summary-actions .ghost-btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 24px;border:1px solid #d9e0ec;border-radius:999px;background:#fff;color:#14213f;font-size:15px;font-weight:700;box-shadow:0 3px 10px rgba(30,45,80,.06)}
.lk-page .profile-summary-actions .ghost-btn .ico{width:20px;height:20px}
.lk-page .profile-summary-actions .ghost-btn:hover{border-color:var(--lk-or);color:var(--lk-or)}
.lk-page .profile-summary > .profile-details{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:6px 0 0;padding:6px 8px;border-radius:18px;background:var(--lk-soft)}
.lk-page .profile-details div{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"i t" "i v";column-gap:14px;align-content:center;padding:20px;min-height:84px}
.lk-page .profile-details div::before{content:"";grid-area:i;width:24px;height:24px;margin-top:2px;background:#7b8aa6;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.lk-page .profile-details dt{grid-area:t;margin:0;color:#7b8aa6;font-size:14px}
.lk-page .profile-details dd{grid-area:v;margin:4px 0 0;color:#0c1730;font-size:17px;font-weight:700}
.lk-page .profile-details div:not(:nth-child(4n+1))::after{content:"";position:absolute;left:0;top:22%;bottom:22%;width:1px;background:#dde4ef}
.lk-page .profile-details div:nth-child(n+5){border-top:1px solid #dde4ef}
.lk-page .profile-details [data-ico="phone"]{--ic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A15 15 0 0 1 3 6a2 2 0 0 1 2-2z%22/%3E%3C/svg%3E")}
.lk-page .profile-details [data-ico="city"]{--ic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 21s7-6.2 7-11.5a7 7 0 0 0-14 0C5 14.8 12 21 12 21z%22/%3E%3Ccircle cx=%2212%22 cy=%229.5%22 r=%222.5%22/%3E%3C/svg%3E")}
.lk-page .profile-details [data-ico="birth"]{--ic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%224%22 y=%225%22 width=%2216%22 height=%2216%22 rx=%223%22/%3E%3Cpath d=%22M8 3v4M16 3v4M4 10h16%22/%3E%3C/svg%3E")}
.lk-page .profile-details [data-ico="club"]{--ic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%229%22 cy=%228%22 r=%223.2%22/%3E%3Cpath d=%22M3 20c0-3.4 2.7-5.6 6-5.6s6 2.2 6 5.6%22/%3E%3Ccircle cx=%2217%22 cy=%229%22 r=%222.5%22/%3E%3Cpath d=%22M17 14.4c2.5 0 4.2 1.6 4.2 4.1%22/%3E%3C/svg%3E")}
.lk-page .profile-details [data-ico="sos"]{--ic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%228%22 r=%224%22/%3E%3Cpath d=%22M4 21c0-4.4 3.6-7 8-7s8 2.6 8 7%22/%3E%3C/svg%3E")}
.lk-page .profile-details [data-ico="mail"]{--ic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%225%22 width=%2218%22 height=%2214%22 rx=%223%22/%3E%3Cpath d=%22M4 8l8 6 8-6%22/%3E%3C/svg%3E")}
.lk-page .verify-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;margin-top:22px;padding:22px 26px;border:1px solid var(--lk-line);border-radius:20px;background:#fff;box-shadow:0 8px 28px rgba(30,45,80,.05)}
.lk-page .verify-card__ico{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#fff0e8;color:var(--lk-or)}
.lk-page .verify-card__ico .ico{width:28px;height:28px}
.lk-page .verify-card h3{margin:0 0 4px;color:#0c1730;font-size:19px}
.lk-page .verify-card p{margin:0;color:#7b8aa6}
.lk-page .verify-card__btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 28px;border:0;border-radius:999px;background:var(--lk-or);color:#fff;font-weight:800;box-shadow:0 10px 22px rgba(255,106,43,.3);cursor:pointer}
.lk-page .verify-card__btn .ico{width:20px;height:20px}
@media(max-width:1180px){.lk-page .profile-summary > .profile-details{grid-template-columns:repeat(2,minmax(0,1fr))}.lk-page .profile-details div:nth-child(n+3){border-top:1px solid #dde4ef}.lk-page .profile-details div::after{display:none}}
@media(max-width:719px){
.lk-page .account-card{padding:20px 16px 28px;border-radius:20px}
.lk-page .profile-summary{grid-template-columns:auto minmax(0,1fr);padding:18px}
.lk-page .avatar-wrap{width:96px;height:96px}
.lk-page .profile-summary-actions{grid-column:1 / -1;grid-row:auto;justify-content:flex-start}
.lk-page .profile-summary > .profile-details{grid-row:auto;grid-template-columns:1fr}
.lk-page .profile-details div:nth-child(n+2){border-top:1px solid #dde4ef}
.lk-page .verify-card{grid-template-columns:auto minmax(0,1fr)}
.lk-page .verify-card__btn{grid-column:1 / -1;justify-content:center}}
.lk-page .profile-text,.lk-page .profile-text h2,.lk-page .profile-text p,.lk-page .profile-details dd,.lk-page .profile-details dt{overflow-wrap:normal;word-break:normal;hyphens:none}
.lk-page .profile-text h2{overflow-wrap:break-word}
.lk-page .profile-details dd{overflow-wrap:break-word}
.lk-page .profile-summary > .profile-details{grid-template-columns:repeat(4,minmax(0,auto))}
@media(max-width:1180px){.lk-page .profile-summary > .profile-details{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:720px) and (max-width:1400px){.lk-page .profile-summary-actions{flex-direction:column;align-items:stretch}.lk-page .profile-summary-actions .ghost-btn{justify-content:center;min-height:46px;padding:0 20px}.lk-page .avatar-wrap{width:116px;height:116px}}
/* узкая рабочая область (меню + карточка): кнопки профиля уходят во вторую строку, данные — в 2 колонки */
@media(min-width:720px) and (max-width:1270px){
.lk-page .profile-summary{grid-template-columns:auto minmax(0,1fr)}
.lk-page .profile-summary-actions{grid-column:1 / -1;grid-row:auto;flex-direction:row;justify-content:flex-start;align-items:center}
.lk-page .profile-summary-actions .ghost-btn{justify-content:flex-start;min-height:48px;padding:0 22px}
.lk-page .profile-summary > .profile-details{grid-row:auto;grid-template-columns:repeat(2,minmax(0,1fr))}
.lk-page .profile-details div:nth-child(n+3){border-top:1px solid #dde4ef}
.lk-page .profile-details div:nth-child(n+5){border-top:1px solid #dde4ef}
.lk-page .profile-details div::after{display:none}
.lk-page .profile-details div:nth-child(even)::after{display:block}
.lk-page .verify-card{grid-template-columns:auto minmax(0,1fr)}
.lk-page .verify-card__btn{grid-column:1 / -1;justify-self:start}
}

/* Картинки-ссылки в тексте страниц: открываются в просмотрщике */
.content-block p > a[href$=".jpg"] > img,.content-block p > a[href$=".jpeg"] > img,.content-block p > a[href$=".png"] > img,.content-block p > a[href$=".webp"] > img{max-width:100%;height:auto;border-radius:14px;cursor:zoom-in;transition:transform .2s,box-shadow .2s}
.content-block p > a[href$=".jpg"] > img:hover,.content-block p > a[href$=".png"] > img:hover{transform:scale(1.02);box-shadow:var(--shadow)}

/* Блоки контактов (иконка слева, текст справа): таблицы с картинками в ячейках */
.content-block .table-wrap:has(td img){margin:24px 0;border:0;border-radius:0;background:none;overflow:visible}
.content-block .table-wrap:has(td img) table{display:grid;gap:14px;width:100%;border:0}
.content-block .table-wrap:has(td img) tbody{display:grid;gap:14px}
.content-block .table-wrap:has(td img) tr{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:18px;padding:16px 20px;border:1px solid var(--line);border-radius:16px;background:var(--card)}
.content-block .table-wrap:has(td img) td{display:block;padding:0;border:0}
.content-block .table-wrap:has(td img) td:first-child p{margin:0;display:grid;place-items:center;width:56px;height:56px;border-radius:14px;background:#f1f5f9;overflow:hidden}
.content-block .table-wrap:has(td img) td img{width:34px;height:34px;object-fit:contain;display:block}
.content-block .table-wrap:has(td img) td:last-child p{margin:0 0 4px;font-size:17px;line-height:1.4}
.content-block .table-wrap:has(td img) td:last-child p:last-child{margin:0;color:var(--muted)}
@media(max-width:720px){.content-block .table-wrap:has(td img) tr{grid-template-columns:52px minmax(0,1fr);gap:14px;padding:14px}}

/* ===== ЛК: более мелкий шрифт и единый вид списков (старты, заказы, семья, команда) ===== */
.lk-page{font-size:15px}
.lk-page .side-link{min-height:46px;font-size:15px;gap:14px}
.lk-page .side-logo span{font-size:12px}
.lk-page .back-home{font-size:14px}
.lk-page .section-head h2{font-size:clamp(26px,2.6vw,34px);margin-bottom:16px}
.lk-page .profile-text h2{font-size:clamp(19px,1.8vw,24px);overflow-wrap:normal;word-break:normal;hyphens:none}
.lk-page .profile-text p,.lk-page .profile-mail{font-size:14px}
.lk-page .photo-link{font-size:13px}
.lk-page .profile-summary-actions .ghost-btn{min-height:44px;padding:0 18px;font-size:14px}
.lk-page .profile-details dt{font-size:12.5px}
.lk-page .profile-details dd{font-size:15px;overflow-wrap:normal;word-break:normal;hyphens:none}
.lk-page .profile-details div{padding:16px 16px;min-height:72px}
.lk-page .profile-details div::before{width:22px;height:22px}
.lk-page .verify-card h3{font-size:17px}
.lk-page .verify-card p{font-size:14px}
.lk-page .verify-card__btn{min-height:46px;padding:0 22px;font-size:14px}
.lk-page .profile-summary > .profile-details{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(min-width:720px) and (max-width:1270px){.lk-page .profile-summary > .profile-details{grid-template-columns:repeat(2,minmax(0,1fr))}}
.lk-page .primary-btn,.lk-page .ghost-btn{min-height:42px;padding:0 20px;font-size:14px;border-radius:999px}
.lk-page .helper-text{font-size:14px}

/* единая карточка списка */
.lk-page .event-row,.lk-page #orders .order-item,.lk-page #family .family-item,.lk-page #team .family-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px 20px;width:100%;box-sizing:border-box;margin:0;padding:16px 20px;border:1px solid var(--lk-line);border-radius:18px;background:#fff;box-shadow:0 6px 20px rgba(30,45,80,.05)}
.lk-page .calendar-list,.lk-page .order-list,.lk-page #dependentList,.lk-page .order-month-list{display:grid;gap:12px}
.lk-page .month-group,.lk-page .order-month{display:grid;gap:12px;margin:0 0 22px}
.lk-page .month-title,.lk-page .order-month-title{margin:6px 0 0;color:#7b8aa6;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.lk-page .event-main,.lk-page .order-main{display:flex;align-items:center;gap:16px;min-width:0}
.lk-page .sport-icon{display:grid;place-items:center;flex:0 0 auto;min-width:48px;height:48px;padding:0 6px;border-radius:14px;background:#fff0e8;color:var(--lk-or);font-size:12px;font-weight:800;line-height:1}
.lk-page .sport-icon .ico{width:22px;height:22px}
.lk-page .event-title,.lk-page .order-main h3,.lk-page .family-person h3{margin:0 0 3px;color:#0c1730;font-size:16px;font-weight:800;line-height:1.3}
.lk-page .event-title a{color:inherit;text-decoration:none}
.lk-page .event-title a:hover{color:var(--lk-or)}
.lk-page .event-subtitle,.lk-page .family-person p,.lk-page .order-main .event-subtitle{margin:0;color:#7b8aa6;font-size:13px;line-height:1.4}
.lk-page .meta-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.lk-page .pill{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--lk-soft);color:#4b5d80;font-size:12px;font-weight:700}
.lk-page .order-kind{display:block;margin-bottom:2px;color:var(--lk-or);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.lk-page .order-item--refund .order-kind{color:#16a34a}
.lk-page .order-item--refund .order-ico{background:#e8f8ee;color:#16a34a}
.lk-page .order-details{text-align:right}
.lk-page .order-amount{color:#0c1730;font-size:18px;font-weight:800;white-space:nowrap}
.lk-page .order-item--refund .order-amount{color:#16a34a}
.lk-page .event-actions,.lk-page .family-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}
.lk-page .event-actions .timer{text-align:right;color:#4b5d80}
.lk-page .event-actions .timer small{display:block;font-size:11px;color:#7b8aa6}
.lk-page .event-actions .timer strong{font-size:14px}
.lk-page .empty-state{padding:22px;border:1px dashed #cfd8e6;border-radius:18px;background:var(--lk-soft);color:#7b8aa6;font-size:14px;box-shadow:none}
.lk-page .filters{display:flex;margin:0 0 16px;padding:0;border:0;background:none;box-shadow:none}
.lk-page .filters label{display:flex;align-items:center;gap:10px;color:#7b8aa6;font-size:13px;font-weight:700}
@media(max-width:719px){
.lk-page .event-row,.lk-page #orders .order-item,.lk-page #family .family-item,.lk-page #team .family-item{grid-template-columns:1fr;padding:14px 16px}
.lk-page .event-actions,.lk-page .family-actions,.lk-page .order-details{justify-content:flex-start;text-align:left}}
.lk-page .month-group .month-title,.lk-page #orders .order-month-title{width:auto;margin:6px 0 0;padding:0;border-radius:0;background:none;color:#7b8aa6;font-size:13px;font-weight:800;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}
.lk-page #orders .order-item{border-color:var(--lk-line);background:#fff}
.lk-page #orders .order-month + .order-month{margin-top:0}
.lk-page .event-main{gap:16px}
.lk-page .event-main > div,.lk-page .order-main > div{min-width:0}
.lk-page .filters{display:flex;align-items:center;gap:12px;grid-template-columns:none;width:auto;max-width:none}
.lk-page .filters label{display:flex;flex-direction:row;align-items:center;gap:10px;margin:0;color:#7b8aa6;font-size:13px;font-weight:700;text-transform:none;letter-spacing:0}
.lk-page .filters select{width:auto;min-width:170px;min-height:40px;padding:0 14px;border:1px solid #d9e0ec;border-radius:999px;background:#fff;color:#14213f;font:inherit;font-size:14px;font-weight:600}
.lk-page .event-row,.lk-page #orders .order-item{align-items:center}
.lk-page .event-main > div,.lk-page .order-main > div{flex:1 1 auto;max-width:none}
.lk-page .order-main .order-kind{display:block;width:auto;padding:0;border-radius:0;background:none}

/* Контакты: более мелкие заголовки карточек и блока документов */
.contacts-page .contacts-person-card h2{margin:6px 0 24px;font-size:clamp(22px,2.2vw,28px);line-height:1.2}
.contacts-page .requisite-card h2{margin:0 0 14px;font-size:clamp(18px,1.8vw,22px);line-height:1.25}
.contacts-page .contacts-phone{font-size:clamp(18px,1.8vw,22px)}
.contacts-page .contacts-documents-heading h2{font-size:clamp(20px,2.2vw,26px)}
.contacts-page .contacts-hero .page-title{font-size:clamp(34px,4.6vw,56px)}
.contacts-page .requisite-card h2{min-height:54px}

/* ===== Заголовки мельче на 2–3 кегля, отступы текста и списков ===== */
h1 { font-size: clamp(34px, 6.4vw, 52px); }
h2 { font-size: clamp(26px, 4.4vw, 40px); }
h3 { font-size: 19px; }
.page-title { font-size: clamp(32px, 4.4vw, 52px); letter-spacing: -.03em; }
.inner-page .page-title { font-size: clamp(32px, 4.2vw, 50px); letter-spacing: -.03em; }
.page-section h2, .inner-page .page-section h2, .inner-page .events-results-head h2 { font-size: clamp(25px, 3vw, 36px); line-height: 1.15; letter-spacing: -.02em; }
.section-head h2 { font-size: clamp(26px, 3.2vw, 40px); line-height: 1.12; letter-spacing: -.025em; }
.contacts-page .contacts-hero .page-title { font-size: clamp(32px, 4.2vw, 50px); }
@media (max-width: 720px) { .inner-page .page-title { font-size: clamp(28px, 9vw, 38px); } }

/* Текстовые страницы (документы, «О нас»): размер подзаголовков и отступы */
.about-text-page .about-text-block h2, .inner-page .about-text-page .about-text-block h2 { margin: 34px 0 12px; font-size: clamp(20px, 2.2vw, 24px); line-height: 1.25; letter-spacing: 0; }
.about-text-page .about-text-block h2:first-child { margin-top: 0; }
.about-text-block { font-size: 17px; line-height: 1.7; }
.about-text-block p { margin: 0 0 14px; }
.about-text-block ul, .about-text-block ol { margin: 0 0 18px; padding-left: 22px; }
.about-text-block ul { gap: 10px; }
.about-text-block ol { padding-left: 44px; }
.about-text-block ol li { margin-bottom: 8px; }

/* Маркированные и нумерованные списки в тексте страниц: отступ слева от края */
.content-block ul:not([class]), .content-block ol:not([class]) { margin: 0 0 16px; padding-left: 28px; }
.content-block ul:not([class]) li, .content-block ol:not([class]) li { margin: 0 0 6px; padding-left: 4px; }
.content-block ul:not([class]) ul:not([class]), .content-block ol:not([class]) ol:not([class]) { margin: 6px 0 4px; }
.content-block h2 { font-size: clamp(22px, 2.6vw, 28px) !important; }
.content-block :is(h1, h2, h3, h4):not(.content-block > h2:first-child) { margin: 24px 0 8px; font-size: 21px !important; }
.content-block :is(h3):not(.content-block > h2:first-child) { font-size: 18px !important; }
.content-block :is(h4):not(.content-block > h2:first-child) { font-size: 16px !important; }
.about-text-page .page-title, .inner-page .about-text-page .page-title { margin: 18px 0 28px; }

/* Поиск по сайту (/search/) */
.search-page-form { display: flex; flex-wrap: wrap; gap: 12px; max-width: 720px; margin: 22px 0 26px; }
.search-page-form input[type="search"] { flex: 1 1 280px; min-height: 52px; padding: 0 20px; border: 1.5px solid var(--line); border-radius: 999px; background: #fff; color: var(--ink); font: inherit; font-size: 16px; }
.search-page-form input[type="search"]:focus { outline: none; border-color: var(--orange); box-shadow: 0 0 0 4px rgba(234, 84, 36, .12); }
.search-note { margin: 0 0 16px; padding: 10px 14px; border-radius: 12px; background: #fff7ed; color: #9a3412; font-size: 14px; }
.search-count { margin: 0 0 14px; }
.search-results { display: grid; gap: 14px; margin: 0 0 24px; padding: 0; list-style: none; }
.search-result { padding: 18px 22px; border: 1px solid var(--line); border-radius: 16px; background: var(--card); transition: border-color .2s, box-shadow .2s; }
.search-result:hover { border-color: var(--orange); box-shadow: 0 10px 26px rgba(15, 23, 42, .08); }
.search-result__title { display: block; color: var(--ink); font-size: 19px; font-weight: 800; line-height: 1.3; text-decoration: none; }
.search-result__title:hover { color: var(--orange); }
.search-result__url { display: block; margin: 4px 0 8px; color: #16a34a; font-size: 13px; overflow-wrap: anywhere; }
.search-result__url b { color: var(--orange); font-weight: 800; }
.search-result__text { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.55; }
.search-results mark, .search-result mark { padding: 0 2px; border-radius: 3px; background: #fde9d9; color: inherit; }
.search-empty { padding: 22px; border: 1px dashed #cbd5e1; border-radius: 16px; background: #f8fafc; color: var(--muted); }

/* Иконка личного кабинета в шапке: линейный силуэт без аватарки, зелёная точка «вы вошли» по центру правого края */
.account-icon:not(.has-avatar)::after{display:none}
.account-icon:not(.has-avatar)::before{width:24px;height:24px;border:0;border-radius:0;margin:0;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%228%22 r=%224%22/%3E%3Cpath d=%22M4.5 21c0-4.2 3.4-7 7.5-7s7.5 2.8 7.5 7%22/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%228%22 r=%224%22/%3E%3Cpath d=%22M4.5 21c0-4.2 3.4-7 7.5-7s7.5 2.8 7.5 7%22/%3E%3C/svg%3E") center/contain no-repeat}
.account-icon span{right:-6px;top:50%;bottom:auto;width:12px;height:12px;transform:translateY(-50%);background:#22c55e;border:2px solid #2c384e;box-sizing:border-box;z-index:2}
.account-icon.has-avatar{overflow:visible}

/* Виджет GoProtect на странице «Онлайн-страхование»: фон как у страницы (серый), карточки выбора остаются белыми */
.insurance-widget { margin: 8px 0 32px; }
.insurance-widget .GoProtectWidget_wrap { background: transparent !important; padding-left: 0 !important; padding-right: 0 !important; box-shadow: none !important; }
.insurance-widget .OrderTypeOption__button, .insurance-widget .AwardOption { box-shadow: 0 6px 18px rgba(15, 23, 42, .06); }
.insurance-widget .Logo img, .insurance-widget .Logo svg { mix-blend-mode: multiply; }

/* Отступ под заголовком раздела (О мероприятии, Регламент и др.) увеличен в 3 раза: 14 → 42 px */
.content-block > h2:first-child { margin-bottom: 42px; }

/* Мобильная версия: одноколоночные сетки не растягиваются шире экрана из-за широких таблиц и длинных слов */
@media (max-width: 980px) {
  .content-layout, .about-hero-grid, .timing-banner, .contact-panel, .auth-layout, .service-consultation, .service-order-layout, .experience-layout, .contacts-layout { grid-template-columns: minmax(0, 1fr); }
}
.content-layout > *, .about-hero-grid > *, .contact-panel > *, .service-order-layout > *, .experience-layout > *, .contacts-layout > * { min-width: 0; }
.content-block, .about-text-block { min-width: 0; overflow-wrap: anywhere; }
.content-block img, .about-text-block img { max-width: 100%; height: auto; }
@media (max-width: 719px) {
  /* таймер «До старта» лежит внизу блока: оставляем под него место, чтобы он не перекрывал данные мероприятия */
  .image-hero.event-image-hero { padding-bottom: 190px; }
}
.review-login-note { margin: 18px 0 0; padding: 16px 20px; border: 1px solid var(--line); border-radius: 14px; background: #fff; color: var(--muted); }
.review-login-note a { font-weight: 800; }

.draft-banner { padding: 12px 18px; background: #fff3cd; color: #5b4500; border-bottom: 1px solid #f0d78a; font-weight: 700; text-align: center; }

/* Шапки с фото светлее: градиент слабее, текст читается за счёт тени; таймер «До старта» не чёрный */
.image-hero::before { background: linear-gradient(90deg, rgba(10,24,48,.68) 0%, rgba(10,24,48,.38) 50%, rgba(10,24,48,.04) 100%); }
.image-hero .page-title, .image-hero .page-lead, .image-hero .breadcrumbs, .image-hero .event-meta { text-shadow: 0 2px 10px rgba(6,17,33,.45); }
.image-hero .event-meta span { text-shadow: none; background: rgba(10,24,48,.38); }
.countdown-card { background: rgba(22,40,72,.74); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border-radius: 14px; }
/* под таймер в шапке оставляем место на любой ширине, чтобы он не налезал на дату, время и место */
.image-hero.event-image-hero:has(.countdown-card) { padding-bottom: 168px; }
@media (max-width: 719px) { .image-hero.event-image-hero:has(.countdown-card) { padding-bottom: 196px; } }

/* карточка предложения: картинка и заголовок тоже ссылки */
.offer-card-link { display: contents; }
.offer-card .offer-card-title { color: inherit; text-decoration: none; }
.service-others .offers-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin-top: 16px; }
@media (max-width: 980px) { .service-others .offers-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 719px) { .service-others .offers-grid { grid-template-columns: 1fr; } }

/* шапка мероприятия ниже: меньше пустого места над заголовком */
.image-hero.event-image-hero { min-height: 440px; }
@media (max-width: 719px) { .image-hero.event-image-hero { min-height: 400px; } }
/* сворачиваемый текст */
.text-collapse.is-collapsed { overflow: hidden; position: relative; -webkit-mask-image: linear-gradient(#000 70%, transparent); mask-image: linear-gradient(#000 70%, transparent); }
.text-collapse__btn { margin-top: 10px; }
/* видео: карточки с превью */
.video-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 18px; margin-top: 14px; }
.video-card { display: block; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: var(--card); color: var(--ink); text-decoration: none; transition: border-color .2s, box-shadow .2s, transform .2s; }
.video-card:hover { border-color: var(--orange); box-shadow: var(--shadow); transform: translateY(-2px); }
.video-card__pic { position: relative; display: block; aspect-ratio: 16 / 9; background: #1c2a44 center / cover no-repeat; }
.video-card__pic i { position: absolute; inset: 0; margin: auto; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: rgba(234, 84, 36, .92); color: #fff; font-style: normal; font-size: 20px; padding-left: 4px; }
.video-card__title { display: block; padding: 12px 16px; font-weight: 700; }

.review-reply { margin: 10px 0 0; padding: 10px 14px; border-left: 3px solid var(--orange); background: rgba(234, 84, 36, .06); border-radius: 0 10px 10px 0; font-style: normal; }

.content-layout--single { grid-template-columns: minmax(0, 1fr); }
.image-hero .event-meta span { color: #fff; }

/* Личный кабинет, профиль на телефоне: сведения в один столбец (раньше поздние правила возвращали 4 колонки и значки наезжали на текст) */
@media (max-width: 719px) {
  .lk-page .profile-summary > .profile-details { grid-template-columns: minmax(0, 1fr); grid-row: auto; padding: 4px 6px; }
  .lk-page .profile-details div { padding: 14px 12px; min-height: 0; border-top: 0; }
  .lk-page .profile-details div + div { border-top: 1px solid #dde4ef; }
  .lk-page .profile-details div::after { display: none !important; }
  .lk-page .profile-details dt { font-size: 12.5px; }
  .lk-page .profile-details dd { font-size: 15px; overflow-wrap: anywhere; word-break: normal; }
}

/* Личный кабинет: вкладки заявок, цветовые метки, подсказка в «Команде» */
.lk-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
.lk-tab { min-height: 40px; padding: 0 16px; border: 1px solid #d9e0ec; border-radius: 999px; background: #fff; color: #14213f; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.lk-tab span { margin-left: 4px; color: #7b8aa6; font-weight: 600; }
.lk-tab.is-active { border-color: var(--orange, #ea5424); background: var(--orange, #ea5424); color: #fff; }
.lk-tab.is-active span { color: rgba(255, 255, 255, .85); }
.lk-legend { margin: 0 0 14px; color: #7b8aa6; font-size: 13px; }
.lk-dot { display: inline-block; width: 10px; height: 10px; margin: 0 4px 0 12px; border-radius: 50%; vertical-align: baseline; }
.lk-dot:first-child { margin-left: 0; }
.lk-dot--self { background: #2faa66; }
.lk-dot--family { background: #3b82f6; }
.lk-page .event-row { border-left: 5px solid #d9e0ec; }
.lk-page .event-row--registered { border-left-color: #2faa66; background: #f6fcf8; }
.lk-page .event-row--awaiting_payment { border-left-color: #f0a020; background: #fffaf0; }
.lk-page .event-row--past { border-left-color: #9aa7bd; background: #f4f6fa; }
.lk-page .event-row--cancelled, .lk-page .event-row--refunded { border-left-color: #e5534b; background: #fff4f3; }
.lk-page .event-row--transferred { border-left-color: #8b6fd6; background: #f8f5ff; }
.lk-page .event-row--family { box-shadow: inset 0 0 0 1px rgba(59, 130, 246, .35); }
.lk-page .pill--family { background: #e4eeff; color: #1d4ed8; }
.lk-page .event-row--cancelled .event-title a, .lk-page .event-row--refunded .event-title a { color: #9b2d28; }
.lk-note { position: relative; margin: 0 0 18px; padding: 18px 48px 16px 20px; border: 1px solid #cfe0ff; border-radius: 16px; background: #f1f6ff; color: #243452; font-size: 14px; line-height: 1.5; }
.lk-note h3 { margin: 0 0 8px; font-size: 16px; }
.lk-note ol { margin: 0 0 8px; padding-left: 20px; display: grid; gap: 6px; }
.lk-note p { margin: 0; }
.lk-note__close { position: absolute; top: 10px; right: 12px; width: 32px; height: 32px; border: 0; border-radius: 50%; background: transparent; color: #4b5d80; font-size: 24px; line-height: 1; cursor: pointer; }
.lk-note__close:hover { background: rgba(75, 93, 128, .12); }
.lk-note-open { margin: 0 0 14px; padding: 0; border: 0; background: none; color: #1d4ed8; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; text-decoration: underline; }

/* заказы: цветовые метки по состоянию */
.lk-page .order-item { border-left: 5px solid #d9e0ec; }
.lk-page .order-item--current { border-left-color: #2faa66; background: #f6fcf8; }
.lk-page .order-item--past { border-left-color: #9aa7bd; background: #f4f6fa; }
.lk-page .order-item--cancelled { border-left-color: #e5534b; background: #fff4f3; }
.lk-page .order-item--transferred { border-left-color: #8b6fd6; background: #f8f5ff; }
.lk-page .order-item--family { box-shadow: inset 0 0 0 1px rgba(59, 130, 246, .35); }

/* подтверждение в форме передачи слота: маленькая галочка слева от текста */
.drawer-form .consent-check { display: flex; align-items: flex-start; gap: 10px; margin: 6px 0 14px; font-size: 14px; line-height: 1.4; font-weight: 600; color: #243452; cursor: pointer; }
.drawer-form .consent-check input[type="checkbox"] { flex: 0 0 18px; width: 18px; height: 18px; min-height: 0; margin: 2px 0 0; padding: 0; accent-color: var(--orange, #ea5424); }
.drawer-form .primary-btn:disabled { opacity: .45; cursor: not-allowed; box-shadow: none; }

/* Сообщение под формой отзыва: яркая плашка (раньше светлый текст сливался с тёмным фоном) */
.review-form .feedback-status:not(:empty) { display: block; margin-top: 14px; padding: 12px 16px; border-radius: 12px; background: #fff; color: #14213f; font-size: 16px; font-weight: 700; line-height: 1.4; }
.review-form .feedback-status.is-ok { background: #2faa66; color: #fff; }
.review-form .feedback-status.is-err { background: #e5534b; color: #fff; }
