/* ═══════════════════════════════════════════════════════════════════════
   Публичные страницы мероприятий в виде админки: афиша (index.php) и
   страница мероприятия (event.php). Подключается после admin.css и
   organizer-kit.css (страница — .org-page.ev-page). Всё — под .ev-page.
   1) карточки афиши (.ev-card) и сетка;
   2) пустое состояние и загрузка;
   3) страница мероприятия: шапка с фактами, блоки, документы.
   ═══════════════════════════════════════════════════════════════════════ */

.ev-page .ev-search{max-width:420px;}

/* ── Афиша: карточки ── */
.ev-page .ev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;}
.ev-page .ev-card{background:#fff;border-radius:16px;box-shadow:0 1.5px 7px rgba(0,0,0,.06);overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:transform .15s,box-shadow .15s;}
.ev-page .ev-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.10);}
.ev-page .ev-card__cover{position:relative;display:block;height:160px;background:#FFF2EC;overflow:hidden;text-decoration:none;}
.ev-page .ev-card__cover img{width:100%;height:100%;object-fit:cover;display:block;}
.ev-page .ev-card__ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:44px;color:#FF7538;opacity:.4;}
.ev-page .ev-card__date{position:absolute;top:12px;left:12px;background:#fff;border-radius:12px;padding:8px 11px 6px;text-align:center;line-height:1;box-shadow:0 2px 8px rgba(0,0,0,.08);}
.ev-page .ev-card__date .d{display:block;font-size:20px;font-weight:700;color:var(--ad-primary);}
.ev-page .ev-card__date .m{display:block;margin-top:3px;font-size:11px;font-weight:600;color:var(--ad-ink2);text-transform:lowercase;}
.ev-page .ev-card__tag{position:absolute;left:12px;bottom:12px;max-width:calc(100% - 24px);display:inline-flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:rgba(33,33,33,.82);color:#fff;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;}
.ev-page .ev-card__tag i{font-size:11px;}
.ev-page .ev-card__tag .rci{width:15px;height:15px;--rci-fill:rgba(255,255,255,.25);}
.ev-page .ev-card__state{position:absolute;top:12px;right:12px;max-width:calc(100% - 90px);overflow:hidden;text-overflow:ellipsis;}
.ev-page .ev-card__date--lg{top:16px;left:16px;padding:10px 14px 8px;border-radius:14px;}
.ev-page .ev-card__date--lg .d{font-size:28px;}
.ev-page .ev-card__date--lg .m{font-size:12px;}
.ev-page .ev-grid__head{grid-column:1/-1;}
.ev-page .ev-grid__head:not(:first-child){margin-top:12px;}
.ev-page .ev-card .sx-deadline{margin-top:-2px;}
.ev-page .ev-card__cover{height:170px;}
.ev-page .ev-card--past .ev-card__cover img,.ev-page .ev-card--past .ev-card__ph,.ev-page .ev-card--past .sx-art{filter:grayscale(.9);}
.ev-page .ev-card--past .ev-card__cover{background:#f1f2f4;}
.ev-page .ev-card--past .ev-card__date .d{color:var(--ad-ink2);}
.ev-page .ev-card__body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:12px;flex:1;}
.ev-page .ev-card__title{margin:0;font-size:16px;font-weight:700;line-height:1.3;overflow-wrap:anywhere;}
.ev-page .ev-card__title a{color:var(--ad-ink);text-decoration:none;}
.ev-page .ev-card__title a:hover{color:var(--ad-primary-hover);}
.ev-page .ev-card__meta{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--ad-ink2);}
.ev-page .ev-card__meta .row{display:flex;align-items:flex-start;gap:8px;min-width:0;overflow-wrap:anywhere;}
.ev-page .ev-card__meta .row i{flex:0 0 14px;margin-top:2px;text-align:center;color:#8a9099;}
.ev-page .ev-card__meta .row .rci{margin-top:0;}
.ev-page .ev-card__meta .row.is-deadline{color:var(--ad-primary-hover);font-weight:600;}
.ev-page .ev-card__meta .row.is-deadline i{color:var(--ad-primary-hover);}
.ev-page .ev-card__actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px;}
.ev-page .ev-card__actions .ad-btn{flex:1 1 auto;}

/* загрузка: серые полосы вместо карточек */
.ev-page .ev-card--skeleton{box-shadow:0 1.5px 7px rgba(0,0,0,.04);}
.ev-page .ev-card--skeleton:hover{transform:none;box-shadow:0 1.5px 7px rgba(0,0,0,.04);}
.ev-page .ev-card--skeleton .ev-card__cover,.ev-page .ev-skel{background:linear-gradient(90deg,#f1f2f4 25%,#f8f9fa 50%,#f1f2f4 75%);background-size:200% 100%;animation:ev-shimmer 1.4s infinite linear;}
.ev-page .ev-skel{display:block;height:12px;border-radius:6px;width:80%;}
.ev-page .ev-skel--title{height:18px;width:65%;}
.ev-page .ev-skel--short{width:45%;}
@keyframes ev-shimmer{from{background-position:200% 0;}to{background-position:-200% 0;}}
@media (prefers-reduced-motion:reduce){.ev-page .ev-card--skeleton .ev-card__cover,.ev-page .ev-skel{animation:none;}}

/* ── Пусто / ошибка / загрузка ── */
.ev-page .ev-empty{background:#fff;border-radius:16px;box-shadow:0 1.5px 7px rgba(0,0,0,.06);padding:20px 24px;display:flex;align-items:center;gap:16px;}
.ev-page .ev-empty b{display:block;font-size:15px;font-weight:700;color:var(--ad-ink);}
.ev-page .ev-empty p{margin:2px 0 0;font-size:14px;color:var(--ad-ink2);}
.ev-page .ev-empty .ad-btn{margin:6px 0 0 -12px;}
.ev-page .ev-empty__ic{flex:0 0 44px;width:44px;height:44px;border-radius:12px;background:var(--ad-brand-light);color:var(--ad-primary-hover);display:flex;align-items:center;justify-content:center;font-size:18px;}
.ev-page .ev-empty__ic--err{background:#fdecea;color:#a12b1f;}
.ev-page .ev-empty__ic .rci{width:24px;height:24px;--rci-fill:#FFD6BF;}
.ev-page .ev-state{background:#fff;border-radius:16px;box-shadow:0 1.5px 7px rgba(0,0,0,.06);padding:18px 22px;font-size:14px;color:var(--ad-ink2);}

/* ── Страница мероприятия ── */
.ev-page .ev-hero{background:#fff;border-radius:16px;box-shadow:0 1.5px 7px rgba(0,0,0,.06);padding:20px;display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:28px;align-items:start;}
.ev-page .ev-hero__image{border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:#FFF2EC;display:flex;align-items:center;justify-content:center;}
.ev-page .ev-hero__image img{width:100%;height:100%;object-fit:cover;display:block;}
.ev-page .ev-hero__image--ph i{font-size:64px;color:#FF7538;opacity:.4;}
.ev-page .ev-hero__image{position:relative;}
.ev-page .ev-hero__info{display:flex;flex-direction:column;gap:20px;min-width:0;padding:4px 4px 4px 0;}
.ev-page .ev-hero__title{margin:0;font-size:28px;font-weight:700;line-height:1.2;color:var(--ad-ink);overflow-wrap:anywhere;}
.ev-page .ev-facts{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;}
.ev-page .ev-fact{min-width:0;}
.ev-page .ev-fact dt{display:flex;align-items:center;gap:8px;margin:0 0 3px;font-size:12px;font-weight:600;color:#8a9099;text-transform:uppercase;letter-spacing:.04em;}
.ev-page .ev-fact dt i{width:14px;text-align:center;color:var(--ad-primary);font-size:13px;}
.ev-page .ev-fact dt .rci{width:18px;height:18px;color:var(--ad-primary);--rci-fill:#FFE2CC;}
.ev-page .ev-fact dd{margin-left:26px;}
.ev-page .ev-fact dd{margin:0 0 0 22px;font-size:15px;font-weight:600;color:var(--ad-ink);line-height:1.35;overflow-wrap:anywhere;}
.ev-page .ev-hero__actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.ev-page .ev-hero .sx-deadline{max-width:520px;}
.ev-page .ev-hero__actions .ad-badge{min-height:44px;padding:0 16px;font-size:13px;align-self:auto;}

.ev-page .ev-block{background:#fff;border-radius:16px;box-shadow:0 1.5px 7px rgba(0,0,0,.06);padding:20px 24px 24px;}
.ev-page .ev-block__title{margin:0 0 14px;font-size:20px;font-weight:700;line-height:1.25;color:var(--ad-ink);}

/* описание мероприятия — текст из редактора */
.ev-page .ev-richtext{max-width:80ch;font-size:15px;line-height:1.6;color:#2b2b2b;overflow-wrap:anywhere;}
.ev-page .ev-richtext > :first-child{margin-top:0;}
.ev-page .ev-richtext > :last-child{margin-bottom:0;}
.ev-page .ev-richtext p,.ev-page .ev-richtext li{font-size:inherit;line-height:inherit;}
.ev-page .ev-richtext p{margin:0 0 12px;}
.ev-page .ev-richtext h1,.ev-page .ev-richtext h2,.ev-page .ev-richtext h3,.ev-page .ev-richtext h4{margin:20px 0 8px;font-family:inherit;font-weight:700;line-height:1.25;color:var(--ad-ink);}
.ev-page .ev-richtext h1,.ev-page .ev-richtext h2{font-size:19px;}
.ev-page .ev-richtext h3,.ev-page .ev-richtext h4{font-size:16px;}
.ev-page .ev-richtext ul,.ev-page .ev-richtext ol{margin:0 0 12px;padding-left:22px;}
.ev-page .ev-richtext li{margin:4px 0;}
.ev-page .ev-richtext a{color:var(--ad-primary-hover);font-weight:600;}
.ev-page .ev-richtext img,.ev-page .ev-richtext video,.ev-page .ev-richtext iframe{max-width:100%;height:auto;border-radius:12px;}
.ev-page .ev-richtext table{max-width:100%;border-collapse:collapse;display:block;overflow-x:auto;}
.ev-page .ev-richtext td,.ev-page .ev-richtext th{border:1px solid var(--ad-line);padding:6px 10px;}

/* документы и протоколы */
.ev-page .ev-docs-group + .ev-docs-group{margin-top:18px;}
.ev-page .ev-docs-group__title{margin:0 0 6px;font-size:14px;font-weight:700;color:var(--ad-ink2);overflow-wrap:anywhere;}
.ev-page .ev-docs{list-style:none;margin:0;padding:0;}
.ev-page .ev-doc{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--ad-line2);}
.ev-page .ev-doc:first-child{border-top:0;}
.ev-page .ev-doc__ic{flex:0 0 36px;width:36px;height:36px;border-radius:10px;background:var(--ad-brand-light);color:var(--ad-primary-hover);display:flex;align-items:center;justify-content:center;font-size:15px;}
.ev-page .ev-doc__ic .rci{width:20px;height:20px;--rci-fill:#FFD6BF;}
.ev-page .ev-doc__name{flex:1 1 auto;min-width:0;font-size:14px;font-weight:600;color:var(--ad-ink);overflow-wrap:anywhere;}
.ev-page .ev-doc__sub{display:block;margin-top:2px;font-size:12px;font-weight:400;color:var(--ad-muted);}
.ev-page .ev-doc__links{display:flex;flex-wrap:wrap;gap:4px 8px;justify-content:flex-end;}

@media (max-width:991px){
  .ev-page .ev-hero{grid-template-columns:minmax(0,1fr);gap:18px;}
  .ev-page .ev-hero__image{aspect-ratio:16/9;max-height:320px;}
  .ev-page .ev-hero__info{padding:0;}
}
@media (max-width:767px){
  .ev-page .ev-search{max-width:none;flex:1 1 100%;}
  .ev-page .ev-hero{padding:16px;}
  .ev-page .ev-hero__title{font-size:22px;}
  .ev-page .ev-facts{grid-template-columns:minmax(0,1fr);gap:12px;}
  .ev-page .ev-hero__actions > *{flex:1 1 auto;justify-content:center;}
  .ev-page .ev-block{padding:16px;}
  .ev-page .ev-empty{padding:16px;align-items:flex-start;}
  .ev-page .ev-hero__image--ph{display:none;}
  .ev-page .ev-doc--protocol{flex-wrap:wrap;}
  .ev-page .ev-doc--protocol .ev-doc__name{flex:1 1 calc(100% - 48px);}
  .ev-page .ev-doc__links{flex:1 1 100%;justify-content:flex-start;margin-left:36px;}
}
