/* Страница /pedagogam/voenno-istoricheskoe-modelirovanie/ (02.11.2026). Файл не трогает выкладка CMS (lib/theme.php). */
.vim-route { list-style: none; counter-reset: vim; display: grid; grid-template-columns: 1fr 1.05fr 1.2fr 1.5fr .9fr; gap: 1.5rem; margin: 1.25rem 0 1.5rem; padding: 0; }
.entry-content .vim-route li { counter-increment: vim; position: relative; margin: 0; padding: .75rem .8rem; list-style: none; background: #f4f7fb; border-radius: 8px; font-size: .95rem; line-height: 1.35; hyphens: auto; }
.entry-content .vim-route li::before { content: counter(vim); display: block; margin-bottom: .35rem; color: var(--color-primary, #005f92); font-size: 1.25rem; font-weight: 700; line-height: 1; }
.entry-content .vim-route li:not(:last-child)::after { content: "→"; position: absolute; top: 50%; right: -1.25rem; transform: translateY(-50%); color: var(--color-primary, #005f92); font-size: 1.1rem; font-weight: 700; }
.vim-case { margin: 1.5rem 0; padding: 1.25rem 1.25rem .5rem; border: 1px solid var(--color-border, #dbe4ec); border-radius: 10px; }
.entry-content .vim-case h3 { margin-top: 0; }
.vim-gallery { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0; }
.vim-gallery a { flex: var(--r) 1 calc(var(--r) * 150px); min-width: 0; display: block; border: 0; background: none; padding: 0; }
.vim-gallery img { display: block; width: 100%; height: auto; margin: 0; border-radius: 6px; }
.vim-gallery .vim-doc img { border: 1px solid var(--color-border, #dbe4ec); box-sizing: border-box; }
.vim-gallery a:focus-visible { outline: 3px solid var(--color-primary, #005f92); outline-offset: 2px; }
.vim-gallery--docs { display: grid; grid-template-columns: repeat(4, 1fr); }
.entry-content ul.vim-files { display: flex; flex-wrap: wrap; gap: .4rem .75rem; list-style: none; margin: 0 0 .75rem; padding: 0; }
.entry-content ul.vim-files li { list-style: none; margin: 0; padding: 0; }
.vim-places { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem 1.5rem; margin: .75rem 0 1rem; }
.vim-places p { margin: 0 0 .25rem; }
.entry-content .vim-places ul { list-style: none; margin: 0; padding: 0; }
.entry-content .vim-places li { list-style: none; margin: 0; padding: 0; }
.vim-final { margin: 1.5rem 0 0; padding: 1rem 1.25rem; background: #f4f7fb; border-left: 4px solid var(--color-primary, #005f92); border-radius: 0 8px 8px 0; font-weight: 600; }
@media (max-width: 899px) {
  .vim-route { grid-template-columns: 1fr; gap: .4rem; }
  .entry-content .vim-route li { display: flex; align-items: center; gap: .75rem; padding: .6rem .8rem; }
  .entry-content .vim-route li::before { margin: 0; flex: none; }
  .entry-content .vim-route li:not(:last-child)::after { content: none; }
}
@media (max-width: 600px) {
  .vim-case { padding: 1rem .85rem .25rem; }
  .vim-places { grid-template-columns: 1fr; }
  .vim-gallery--docs { grid-template-columns: repeat(2, 1fr); }
}

/* Просмотр фото (как на museum.) */
.vim-lightbox { border: 0; padding: 0; background: transparent; max-width: 100vw; max-height: 100vh; width: 100vw; height: 100vh; }
.vim-lightbox::backdrop { background: rgba(0, 0, 0, .88); }
.vim-lightbox__inner { position: relative; width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 3.5rem 4rem 1rem; box-sizing: border-box; }
.vim-lightbox img { max-width: 100%; max-height: calc(100% - 3rem); object-fit: contain; border-radius: 4px; }
.vim-lightbox__cap { color: #fff; margin-top: .6rem; text-align: center; font-size: .95rem; min-height: 1.4em; }
.vim-lightbox button { position: absolute; border: 0; border-radius: 50%; width: 2.75rem; height: 2.75rem; background: rgba(255, 255, 255, .15); color: #fff; font-size: 1.6rem; line-height: 1; cursor: pointer; }
.vim-lightbox button:hover, .vim-lightbox button:focus-visible { background: rgba(255, 255, 255, .3); outline: 2px solid #fff; outline-offset: 2px; }
.vim-lightbox__close { top: .75rem; right: .75rem; }
.vim-lightbox__prev { left: .75rem; top: 50%; transform: translateY(-50%); }
.vim-lightbox__next { right: .75rem; top: 50%; transform: translateY(-50%); }
@media (max-width: 600px) {
  .vim-lightbox__inner { padding: 3.5rem .5rem 4rem; }
  .vim-lightbox__prev, .vim-lightbox__next { top: auto; bottom: .75rem; transform: none; }
}
