/* === Раздел «Сёла» === */
.v-hero h2 { font-size: 34px; }
.v-page { max-width: 900px; }
.v-back { margin: 0 0 18px; font-size: 15px; }
.v-back a { color: var(--green); text-decoration: none; font-weight: 600; }
.v-back a:hover { text-decoration: underline; }

.v-gallery { position: relative; margin: 0 0 28px; }
.v-stage { position: relative; border-radius: 14px; overflow: hidden; background: var(--paper); border: 1px solid var(--line); touch-action: pan-y; -webkit-tap-highlight-color: transparent; }
.v-slide { display: none; margin: 0; }
.v-slide.is-active { display: block; }
.v-slide img { display: block; width: 100%; height: auto; }
.v-slide figcaption { font-size: 13px; color: var(--muted); padding: 8px 12px; background: var(--paper); }
.v-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; border-radius: 50%;
  border: 1px solid var(--line); background: rgba(255,255,255,.92); color: var(--ink); font-size: 26px; line-height: 1;
  cursor: pointer; z-index: 2; }
.v-nav:hover, .v-nav:active { background: var(--green); color: #fff; border-color: var(--green); }
.v-nav { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.v-prev { left: 10px; }
.v-next { right: 10px; }
.v-thumbs { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.v-thumb { border: 2px solid transparent; padding: 0; background: none; cursor: pointer; border-radius: 8px; overflow: hidden; width: 84px; -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
.v-thumb img { display: block; width: 100%; height: 56px; object-fit: cover; }
.v-thumb.is-active { border-color: var(--green); }
.v-no-photos { padding: 26px; text-align: center; border: 1px dashed var(--line); border-radius: 12px; background: var(--paper); color: var(--muted); }

.v-lead { font-size: 17px; }
.v-facts { width: 100%; border-collapse: collapse; margin: 0 0 18px; font-size: 15px; }
.v-facts th, .v-facts td { text-align: left; padding: 9px 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
.v-facts th { width: 200px; color: var(--green); font-weight: 600; }
.v-src { font-size: 13px; color: var(--muted); margin-top: 22px; }

.v-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 16px; margin: 24px 0; }
.v-card { display: block; background: #fff; border: 1px solid var(--line); border-radius: 12px; overflow: hidden;
  text-decoration: none; color: inherit; transition: all .2s; }
.v-card:hover { border-color: var(--green); transform: translateY(-2px); box-shadow: var(--shadow); }
.v-card-img { height: 140px; background: var(--paper); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.v-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.v-noimg { font-size: 34px; opacity: .35; }
.v-card-body { padding: 12px 14px 16px; }
.v-card-body h3 { margin: 0 0 6px; font-family: Georgia, serif; font-size: 20px; color: var(--ink); }
.v-card-pop { margin: 0 0 4px; font-size: 14px; color: var(--green); font-weight: 600; }
.v-card-sub { margin: 0; font-size: 13px; color: var(--muted); }

@media (max-width: 760px) {
  .v-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
  .v-card-img { height: 110px; }
  .v-facts th { width: 40%; font-size: 14px; }
  .v-facts td { font-size: 14px; }
  .v-nav { width: 42px; height: 42px; font-size: 26px; }
  .v-thumb { width: 30%; }
  .v-thumb img { height: 70px; }
}

.v-card-desc { margin: 8px 0 0; font-size: 13px; line-height: 1.5; color: var(--muted); }
