/* Модуль 2 — общий фундамент: контейнер (мобильный паддинг), карточка события (hover/press/focus/motion).
   Грузится только на страницах Модуля 2 (event/community/activate-card), поэтому правила .ibd-container
   здесь не влияют на страницы бизнес-справочника. */

/* У плагинного .ibd-container нет мобильного оверрайда — выравниваем с темой (16px) на страницах Модуля 2 */
@media (max-width: 768px) {
    .ibd-event-wrapper .ibd-container,
    .ibd-feed-wrapper .ibd-container,
    .ibd-community-wrapper .ibd-container,
    .ibd-activation-wrapper .ibd-container {
        padding-left: 16px;
        padding-right: 16px;
    }
}

/* ── EventCard: hover-lift, нажатие CTA, фокус ── */
.ec-lift { will-change: transform; }
.ec-lift:hover {
    transform: translateY(-7px) !important;
    box-shadow: 0 26px 48px -22px rgba(17, 24, 39, .4) !important;
    transition: transform .28s cubic-bezier(.4, 0, .2, 1), box-shadow .28s cubic-bezier(.4, 0, .2, 1);
}
.ec-cta { transition: transform .16s ease, box-shadow .28s ease, filter .2s ease; }
.ec-cta:hover { transform: translateY(-2px); filter: brightness(1.03); }
.ec-cta:active { transform: translateY(0) scale(.99); }
/* Текст на оранжевом. Белый на #F5820A - 2.6:1, цвет фирменный и не меняется, поэтому
   кнопка записи на карточке держит WCAG «крупный текст» (от 18.66px при 700+; вес 800 уже
   inline) и лёгкую тёмную тень. Размер inline (14.5px в module2-render.php) - перебить
   можно только !important. Размер один на все состояния, чтобы кнопка не прыгала при записи.
   Тень - только когда текст белый, то есть фон оранжевый («Пойду», «Подать заявку»,
   «В лист ожидания»): у «Вы идёте» и «Заявка на одобрении» фон светлый. Белый текст
   ловим по inline-стилю: сервер пишет «color:#fff», module2-card.js - «color: rgb(255, 255, 255)». */
.ec-cta[data-ec-rsvp] { font-size: 19px !important; }
.ec-cta[data-ec-rsvp][style*="color:#fff;" i],
.ec-cta[data-ec-rsvp][style*="color: rgb(255, 255, 255)"] { text-shadow: 0 1px 1px rgba(120, 50, 0, .35); }
.ec-cta:focus-visible,
.ec-lift a:focus-visible {
    outline: 2px solid #f5820a;
    outline-offset: 2px;
    border-radius: 8px;
}

@media (prefers-reduced-motion: reduce) {
    .ec-lift,
    .ec-cta,
    [data-ec-meter] { transition: none !important; }
    .ec-lift { opacity: 1 !important; transform: none !important; }
}

/* ── Модалка «Позвать друзей» (общая: страница встречи и страница клуба) ──
   Рендерится в wp_footer, вне .evpage/.cmpx, поэтому классы глобальные.
   Живёт в base, а не в module2-event.css: на странице клуба тот не подключается. */
.ev-invite-modal { position: fixed; inset: 0; z-index: 100150; display: flex; padding: 18px; }
.ev-invite-modal[hidden] { display: none; }
.ev-invite-ov { position: fixed; inset: 0; background: rgba(17, 24, 39, .62); }
.ev-invite-card { position: relative; width: 100%; max-width: 440px; margin: auto; background: #fff; border-radius: 18px; padding: 20px; box-shadow: 0 30px 70px -20px rgba(0, 0, 0, .45); display: flex; flex-direction: column; max-height: 82vh; }
.ev-invite-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.ev-invite-head b { font-size: 16px; color: #1e2a32; }
.ev-invite-x { border: 0; background: #f3f4f6; width: 30px; height: 30px; border-radius: 50%; cursor: pointer; font-size: 17px; line-height: 1; color: #4b5563; }
.ev-invite-x:hover { background: #e5e7eb; }
.ev-invite-hint { font-size: 12.5px; color: #6b7280; line-height: 1.45; margin-bottom: 12px; }
.ev-invite-msg { min-height: 16px; margin-top: 8px; font-size: 13px; font-weight: 700; color: #b32d2e; text-align: center; }
.ev-invite-foot { display: flex; gap: 10px; justify-content: flex-end; margin-top: 12px; padding-top: 12px; border-top: 1px solid #eef0f6; }
.ev-invite-cancel { border: 1.5px solid #e5e7eb; background: #fff; color: #4b5563; font-family: inherit; font-weight: 700; font-size: 14px; padding: 9px 16px; border-radius: 11px; cursor: pointer; }
.ev-invite-cancel:hover { background: #f4f5fb; }
.ev-invite-send { border: 0; background: #f5820a; color: #fff; font-family: inherit; font-weight: 800; font-size: 14px; padding: 9px 20px; border-radius: 11px; cursor: pointer; transition: background .16s ease; }
.ev-invite-send:hover { background: #dc7000; }
.ev-invite-send:disabled { opacity: .5; cursor: default; }
.ev-invite-empty { text-align: center; padding: 18px 10px 8px; }
.ev-invite-empty p { color: #6b7280; font-size: 14px; line-height: 1.5; margin: 0 0 14px; }
.ev-invite-empty a { display: inline-block; background: #f5820a; color: #fff; font-weight: 800; font-size: 14px; padding: 10px 18px; border-radius: 11px; text-decoration: none; }
.ev-invite-empty a:hover { background: #dc7000; color: #fff; }
/* Текст на оранжевом: вес 800 уже есть, добавляем тень у букв. «Отправить» - размер
   прежний: стоит парой с «Отмена» в тесном подвале модалки. «Найти людей» в пустом
   состоянии стоит одна по центру - крупная, 19px (WCAG «крупный текст»). */
.ev-invite-send,
.ev-invite-empty a { text-shadow: 0 1px 1px rgba(120, 50, 0, .35); }
.ev-invite-empty a { font-size: 19px; }

/* Переключатель «В клуб / На встречу» в модалке приглашения со страницы клуба */
.cinv-seg { display: flex; gap: 6px; background: #f4f5fb; padding: 4px; border-radius: 12px; margin-bottom: 12px; }
.cinv-seg button { flex: 1; border: 0; background: transparent; font-family: inherit; font-weight: 700; font-size: 13.5px; color: #6b7280; padding: 8px 10px; border-radius: 9px; cursor: pointer; transition: background .15s ease, color .15s ease; }
.cinv-seg button[aria-pressed="true"] { background: #fff; color: #1e2a32; box-shadow: 0 2px 6px -2px rgba(17, 24, 39, .25); }
.cinv-seg button:disabled { opacity: .45; cursor: default; }
.cinv-event { margin-bottom: 12px; }
.cinv-event select { width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1.5px solid #e5e7eb; border-radius: 11px; font-size: 14px; font-family: inherit; color: #1f2937; background: #fff; }
.cinv-event[hidden] { display: none; }
