/* Страница организатора — макет B «Компакт», docs/design/organizer-card-layouts.html (issue #425).
   Атомы (.crumb, .tg, .btn, .k, .tabs, .tpanel, .cv) — из css/event-page.css, подключается рядом. */
.ep .dchip { display: inline-flex; align-items: center; min-height: 32px; padding: 0 10px; border: 1px solid var(--line-hi); font: 700 14px/1 var(--cond); letter-spacing: .08em; text-transform: uppercase; }
.ep .tabs button { min-height: 48px; }

.ep .o-ph { display: grid; place-items: center; min-height: 40vh; color: var(--muted); }

/* шапка-карточка */
.ep .v2-head { display: grid; gap: 16px; padding: 16px; background: var(--surface); border-block: 1px solid var(--line); }
.ep .v2-id { display: grid; grid-template-columns: auto 1fr; grid-template-areas: "av h1" "chips chips"; gap: 10px 16px; align-items: center; min-width: 0; }
.ep .v2-id .av { grid-area: av; width: 72px; height: 72px; display: grid; place-items: center; font: 700 22px/1 var(--cond); color: var(--muted); background: var(--surface2) center / cover; border: 1px solid var(--line-hi); }
.ep .v2-id h1 { grid-area: h1; font: 700 clamp(30px, 8cqw, 48px)/1 var(--cond); letter-spacing: .02em; text-transform: uppercase; overflow-wrap: anywhere; min-width: 0; }
.ep .v2-chips { grid-area: chips; display: flex; gap: 6px; flex-wrap: wrap; }
.ep .v2-chips .tg { padding: 0 8px; letter-spacing: .08em; white-space: nowrap; }
.ep .v2-cover { aspect-ratio: var(--ar, 2.5); max-width: 420px; border: 1px solid var(--line-hi); }
.ep[data-shape=small] .v2-cover { max-width: 240px; }
.ep .v2-act { display: flex; gap: 8px; flex-wrap: wrap; }

.ep .v2-body { display: grid; gap: 24px; padding: 20px 16px 28px; }
.ep .v2-main { display: grid; gap: 14px; min-width: 0; align-content: start; }
.ep .v2-side { display: grid; gap: 12px; align-content: start; }
.ep .v2-card { padding: 16px; background: var(--surface); border: 1px solid var(--line); display: grid; gap: 14px; }
.ep .v2-card h3 { font: 700 15px/1 var(--cond); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.ep .v2-card p { font-size: 15px; overflow-wrap: anywhere; }
.ep .v2-days { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }

/* список игр */
.ep .grow { display: grid; gap: 8px; }
.ep .grow a { display: grid; grid-template-columns: 84px 1fr auto; gap: 12px; align-items: center; min-height: 64px; padding: 8px 12px; background: var(--surface); border: 1px solid var(--line); text-decoration: none; }
.ep .grow a:hover { border-color: var(--accent); }
.ep .grow .d { font: 700 22px/1 var(--cond); }
.ep .grow .d small { display: block; white-space: nowrap; font: 500 12px/1.2 var(--mono); color: var(--muted); margin-top: 3px; }
.ep .grow .m { display: grid; gap: 3px; min-width: 0; }
.ep .grow .m b { font: 700 18px/1.1 var(--cond); letter-spacing: .03em; text-transform: uppercase; overflow-wrap: anywhere; }
.ep .grow .m span { font-size: 13px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ep .grow .p { max-width: 110px; overflow: hidden; font: 600 15px/1 var(--mono); color: var(--sand); text-align: right; }
.ep .grow .p i { display: block; font: 700 11px/1 var(--cond); letter-spacing: .1em; text-transform: uppercase; font-style: normal; color: var(--accent); margin-top: 6px; }
.ep .grow.past a { opacity: .72; }
.ep .more { justify-self: start; min-height: 44px; font: 700 14px/1 var(--cond); letter-spacing: .1em; text-transform: uppercase; color: var(--accent); }

/* галерея */
.ep .o-photos { display: flex; flex-wrap: wrap; gap: 8px; }
.ep .o-photos img { height: 120px; width: auto; max-width: 100%; object-fit: cover; cursor: pointer; border: 1px solid var(--line); }
.ep .o-photos img:hover { border-color: var(--accent); }
.orgd-lightbox { position: fixed; inset: 0; background: rgba(0,0,0,.9); z-index: 1000; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.orgd-lightbox img { max-width: 90vw; max-height: 90vh; object-fit: contain; }

/* блок «Полигон» (бейджи .pb — в event-page.css) */
.ep .pb-card { gap: 12px; }
.ep .pb-name { font: 700 22px/1.05 var(--cond); letter-spacing: .03em; text-transform: uppercase; color: var(--accent); text-decoration: none; overflow-wrap: anywhere; min-height: 44px; display: inline-flex; align-items: center; }
.ep .pb-name:hover { text-decoration: underline; text-underline-offset: 4px; }

/* липкая нижняя плашка (телефон) */
.ep .o-bottom { position: sticky; bottom: 0; z-index: 5; display: flex; gap: 8px; align-items: center; padding: 10px 16px; background: var(--surface); border-top: 1px solid var(--line-hi); }
.ep .o-bottom .btn.pri { flex: 1; }

@container (max-width: 380px) { .ep .grow a { grid-template-columns: 72px 1fr auto; gap: 8px; } }
@container (min-width: 760px) {
  .ep .crumb { padding-inline: 32px; }
  .ep .v2-head { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "id cov" "act cov"; align-items: center; padding: 24px 32px; gap: 16px 32px; }
  .ep .v2-head .v2-id { grid-area: id; grid-template-areas: "av chips" "av h1"; }
  .ep .v2-head .v2-cover { grid-area: cov; width: 380px; }
  .ep .v2-head .v2-act { grid-area: act; }
  .ep .v2-body { grid-template-columns: minmax(0, 1fr) 320px; gap: 32px; padding: 28px 32px 40px; align-items: start; }
  .ep .v2-side { position: sticky; top: 76px; }
  .ep .o-bottom { display: none; }
}

/* страница полигона (#493): допуски в карточке «Условия», липкость — только если колонка помещается */
.ep .pb-card .lims { margin-top: 8px; }
.ep .pb-card .lim { grid-template-columns: 1fr; gap: 4px; }
@container (min-width: 760px) { .ep .v2-side.no-stick { position: static; } }
