/* Места без фото (заполнение фото 10.10.2026): карточка карты этапа, сезон текстом, связанное место без рамки. Вариант утверждён в v/no-photo. */
.stage-map-card { position: relative; aspect-ratio: 3 / 2; overflow: hidden; border: 1px solid var(--line); background: var(--paper-2); box-shadow: var(--shadow); }
.stage-map-card .stage-vmap { width: 100%; height: 100%; border-radius: 0; box-shadow: none; }
.stage-map-card .stage-vmap svg { display: block; width: 100%; height: 100%; }
.stage-map-card figcaption { position: absolute; left: 12px; right: 12px; bottom: 10px; display: flex; justify-content: space-between; gap: 10px; color: var(--ink); font-size: 12px; }
.stage-map-card figcaption span { padding: 4px 8px; border-radius: 999px; background: rgba(246,243,236,.9); }

.no-photo-seasons { align-items: stretch; }
.no-photo-seasons .sp { display: flex; flex-direction: column; min-height: 100%; padding: 14px; border: 1px solid var(--line); border-radius: var(--r); background: #fff; }
.no-photo-seasons .sp figure { box-shadow: none; }
.no-photo-seasons .sp-text-only .sp-h { margin-top: 0; }
.no-photo-seasons .sp-text-only::after { content: ""; flex: 1; min-height: 72px; margin-top: 12px; border-top: 1px solid var(--paper-2); }
.rel-text-only .rel-body { min-height: 100%; }

@container page (max-width: 800px) { .no-photo-seasons { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container page (max-width: 520px) { .no-photo-seasons { grid-template-columns: 1fr; } .no-photo-seasons .sp-text-only::after { min-height: 0; } }
