/* Главная, пока клубы и карты «скоро» (плагин, includes/coming-soon.php).
   Карту и карточки клубов не прячем - они часть облика страницы. Кладём поверх
   размытие и подпись, а кнопки ведут туда, что работает уже сейчас. */

.idwrap.is-soon .idcard,
.idwrap.is-soon .id-float { filter: blur(7px) saturate(.85); }
.idwrap.is-soon:hover .idcard { transform: none; }

.tus-soon {
    position: absolute; inset: 0; z-index: 6;
    display: flex; align-items: center; justify-content: center;
    pointer-events: none;
}
.tus-soon-badge {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(255, 255, 255, .94); color: var(--ink, #1e2a32);
    font-family: var(--display, inherit); font-weight: 800; font-size: 20px; letter-spacing: .02em;
    padding: 10px 22px; border-radius: 999px;
    box-shadow: 0 10px 30px rgba(24, 60, 90, .18);
}
.tus-soon-badge::before {
    content: ""; width: 10px; height: 10px; border-radius: 50%;
    background: var(--orange, #f5820a); box-shadow: 0 0 0 4px rgba(245, 130, 10, .2);
}
.tus-soon-note { margin: 12px 0 0; font-size: 14px; color: var(--muted, #5b7385); }

/* Клубы и выдуманные встречи: карусель видна, но размыта и не кликается (inert), поверх - панель. */
.tus-vp.is-soon { position: relative; }
.tus-vp.is-soon .clubs,
.tus-vp.is-soon .events { filter: blur(6px) saturate(.85); user-select: none; }
.tus-vp.is-soon .tus-cnav-btn { display: none; }
.tus-soon--clubs { pointer-events: auto; padding: 16px; }
.tus-soon-panel {
    max-width: 460px; text-align: center;
    background: rgba(255, 255, 255, .96); border-radius: 24px;
    padding: 28px 28px 30px; box-shadow: 0 18px 50px rgba(24, 60, 90, .2);
}
.tus-soon-panel h3 {
    font-family: var(--display, inherit); font-weight: 800; font-size: 26px; line-height: 1.15;
    color: var(--ink, #1e2a32); margin: 14px 0 8px;
}
.tus-soon-panel p { margin: 0 0 18px; color: var(--ink-soft, #39505e); font-size: 16px; line-height: 1.55; }
/* Глобальный a:hover темы перекрашивает текст кнопки-ссылки - держим цвет. */
.tus-soon-panel .btn-primary:hover, .tus-soon-panel .btn-primary:focus-visible { color: #fff; }
/* «Как попасть в клуб»: шаги как есть, рядом пометка «Скоро» и путь к заявке. */
.tus-soon-line {
    display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px;
    margin: 14px 0 0; font-size: 16px; font-weight: 700; color: var(--ink-soft, #39505e);
}
/* текст ссылки тёмный: оранжевый на кремовом не набирает контраста 4.5:1, оранжевым - только подчёркивание */
.tus-soon-line a { color: var(--ink, #1e2a32); text-decoration: underline; text-decoration-color: var(--orange, #f5820a); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.tus-soon-line a:hover, .tus-soon-line a:focus-visible { color: var(--orange-deep, #dc7000); }
.tus-soon-badge--sm { font-size: 14px; padding: 6px 14px; box-shadow: 0 6px 16px rgba(24, 60, 90, .12); }
.tus-soon-badge--sm::before { width: 8px; height: 8px; box-shadow: 0 0 0 3px rgba(245, 130, 10, .2); }

/* Заготовки карточек (inc/sunday-cards.php): форма без текста - полосы вместо названий,
   дат, мест и чисел. Размеры полос повторяют строки настоящей карточки, чтобы высота
   карусели не менялась. */
.tus-skel { display: block; height: 12px; border-radius: 99px; background: rgba(30, 42, 50, .13); }
/* колонки без схлопывания отступов - полоса занимает ровно высоту своей строки текста */
.tus-ph .tus-ph-title,
.tus-ph .seats,
.club.tus-ph .who > span { display: flex; flex-direction: column; }
.tus-ph .tus-ph-title { gap: 10px; padding: 3px 0; }
.tus-ph .datechip { min-width: 48px; }
.tus-ph .datechip .tus-skel--day { width: 26px; height: 24px; margin: 0 auto 8px; border-radius: 7px; background: rgba(220, 112, 0, .32); }
.tus-ph .datechip .tus-skel--wd { width: 22px; height: 8px; margin: 0 auto; }
.tus-ph .ecard-club .tus-skel--pill { width: 112px; height: 9px; margin: 5px 0 6px; background: rgba(46, 134, 193, .3); }
.ecard.tus-ph .tus-ph-title { margin: 14px 0 12px; }
.ecard.tus-ph .tus-skel--h { width: 88%; height: 19px; }
.ecard.tus-ph .tus-skel--short { width: 56%; }
.tus-ph .ecard-place { min-height: 23px; }
.tus-ph .ecard-place .tus-skel--place { flex: 1 1 auto; max-width: 70%; height: 11px; }
.tus-ph .seats .tus-skel--seats { width: 86px; height: 11px; margin: 5px 0 6px; }
.club.tus-ph .tus-skel { background: rgba(255, 255, 255, .5); }
.club.tus-ph .club-city .tus-skel--city { width: 70px; height: 9px; margin: 5px 0; background: rgba(255, 255, 255, .85); }
.club.tus-ph .tus-ph-title { margin: 14px 0 16px; }
.club.tus-ph .tus-skel--h { width: 78%; height: 24px; }
.club.tus-ph .tus-skel--ava { flex: none; width: 40px; height: 40px; border-radius: 50%; border: 2.5px solid rgba(255, 255, 255, .9); background: rgba(255, 255, 255, .35); }
.club.tus-ph .tus-skel--name { width: 96px; height: 12px; margin: 5px 0; }
.club.tus-ph .tus-skel--role { width: 68px; height: 9px; margin: 7px 0; background: rgba(207, 227, 241, .55); }

@media (max-width: 640px) {
    .tus-soon-badge { font-size: 17px; padding: 8px 18px; }
    .tus-soon-panel { padding: 22px 18px 24px; border-radius: 20px; }
    .tus-soon-panel h3 { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
    .idwrap.is-soon .idcard { transition: none; }
}
