/* Фолбэк: на странице мест показываем блоки даже без JS-анимаций */
.pfb-main--spots .js-reveal {
  opacity: 1;
  transform: none;
}

/* небольшой отступ под фиксированный хедер */
.pfb-main--spots {
  padding-top: var(--pfb-header-height);
}

/* ===== СЕКЦИЯ 1: HERO МЕСТ И ЛЬДА ===== */

.pfb-spots-hero {
  position: relative;
}

.pfb-spots-hero::before {
  content: "";
  position: absolute;
  inset: -80px -140px auto auto;
  background: radial-gradient(
    circle at 100% 0,
    rgba(255, 255, 255, 0.9) 0,
    rgba(223, 241, 255, 0.7) 35%,
    transparent 70%
  );
  pointer-events: none;
}

.pfb-spots-hero-inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1.05fr);
  gap: 32px;
  align-items: center;
}

.pfb-spots-hero-title {
  margin: 0 0 8px;
  font-size: 28px;
  line-height: 1.3;
  color: var(--pfb-ink);
}

.pfb-spots-hero-text {
  margin: 0 0 10px;
  font-size: 15px;
  line-height: 1.7;
  color: var(--pfb-ink-soft);
}

/* теги-фильтры — использует общие .pfb-chip из других страниц */

/* правая «карта» */

.pfb-spots-hero-map {
  position: relative;
  display: grid;
  gap: 10px;
  align-content: flex-start;
}

.pfb-spots-hero-photo {
  padding: 8px;
  border-radius: 24px;
  background: radial-gradient(circle at 0% 0%, #ffffff 0, #e4f3ff 55%, #c7e5ff 100%);
  box-shadow: 0 16px 38px rgba(10, 56, 90, 0.22);
  transition: transform 200ms ease-out, box-shadow 200ms ease-out;
}

.pfb-spots-hero-photo:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 52px rgba(10, 56, 90, 0.32);
}

.pfb-spots-hero-photo--lake {
  max-width: 260px;
}

.pfb-spots-hero-photo--boots {
  max-width: 210px;
  justify-self: flex-end;
  transform: translateY(-6px) rotate(1.5deg);
}

.pfb-spots-hero-photo--textures {
  max-width: 230px;
  justify-self: center;
  transform: translateY(-4px);
}

/* легенда карты */

.pfb-spots-hero-legend {
  margin-top: 2px;
  padding: 6px 8px;
  border-radius: 999px;
  background: rgba(16, 48, 73, 0.96);
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.pfb-spots-hero-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.pfb-spots-legend-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  display: inline-block;
}

.pfb-spots-legend-dot--calm {
  background: #8ed4ff;
}

.pfb-spots-legend-dot--open {
  background: #4ad2ff;
}

.pfb-spots-legend-dot--night {
  background: #2b4c7e;
}

.pfb-spots-legend-text {
  font-size: 11px;
  color: #e7f3ff;
}

/* ===== СЕКЦИЯ 2: ПОЛОСЫ ЛЬДА ===== */

.pfb-ice-bands-inner {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.pfb-ice-bands-header {
  max-width: 680px;
}

.pfb-ice-bands-title {
  margin: 0 0 8px;
  font-size: 26px;
  line-height: 1.3;
  color: var(--pfb-ink);
}

.pfb-ice-bands-text {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--pfb-ink-soft);
}

.pfb-ice-bands-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.1fr);
  gap: 28px;
  align-items: center;
}

/* полосы описаний слева */

.pfb-ice-bands-lines {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}

.pfb-ice-band {
  position: relative;
  border-radius: 20px;
  padding: 10px 12px 10px 16px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 12px 30px rgba(10, 56, 90, 0.18);
  overflow: hidden;
}

.pfb-ice-band::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, #4ad2ff, #2b8cff);
}

.pfb-ice-band-title {
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 600;
  color: var(--pfb-ink);
}

.pfb-ice-band-text {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--pfb-ink-soft);
}

/* блок фотографий справа */

.pfb-ice-bands-photos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.pfb-ice-bands-photo {
  padding: 8px;
  border-radius: 22px;
  background: radial-gradient(circle at 0% 0%, #ffffff 0, #e5f3ff 55%, #c7e5ff 100%);
  box-shadow: 0 16px 38px rgba(10, 56, 90, 0.22);
}

.pfb-ice-bands-photo--early {
  max-width: 260px;
}

.pfb-ice-bands-photo--mid,
.pfb-ice-bands-photo--snow,
.pfb-ice-bands-photo--last {
  max-width: 220px;
}

/* ===== СЕКЦИЯ 3: ТИПЫ ТОЧЕК НА ЛЬДУ ===== */

.pfb-spot-types-inner {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.pfb-spot-types-header {
  max-width: 640px;
}

.pfb-spot-types-title {
  margin: 0 0 8px;
  font-size: 26px;
  line-height: 1.3;
  color: var(--pfb-ink);
}

.pfb-spot-types-text {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--pfb-ink-soft);
}

.pfb-spot-types-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.1fr);
  gap: 28px;
  align-items: center;
}

/* список типов точек слева */

.pfb-spot-types-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}

.pfb-spot-type {
  border-radius: 20px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 12px 30px rgba(10, 56, 90, 0.18);
}

.pfb-spot-type-title {
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 600;
  color: var(--pfb-ink);
}

.pfb-spot-type-text {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--pfb-ink-soft);
}

/* визуал справа */

.pfb-spot-types-visual {
  display: grid;
  gap: 10px;
  align-content: flex-start;
}

.pfb-spot-types-photo {
  padding: 8px;
  border-radius: 22px;
  background: radial-gradient(circle at 0% 0%, #ffffff 0, #e4f3ff 55%, #c8e5ff 100%);
  box-shadow: 0 16px 38px rgba(10, 56, 90, 0.22);
}

.pfb-spot-types-photo--camp {
  max-width: 260px;
}

.pfb-spot-types-photo--line,
.pfb-spot-types-photo--shore,
.pfb-spot-types-photo--solo {
  max-width: 220px;
}

/* ===== АДАПТИВ ДЛЯ 1–3 СЕКЦИЙ SPOTS ===== */

@media (max-width: 1024px) {
  .pfb-spots-hero-inner {
    grid-template-columns: minmax(0, 1fr);
  }

  .pfb-spots-hero-map {
    max-width: 380px;
  }

  .pfb-ice-bands-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .pfb-ice-bands-photos {
    max-width: 360px;
  }

  .pfb-spot-types-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .pfb-spot-types-visual {
    max-width: 360px;
  }
}

@media (max-width: 800px) {
  .pfb-spots-hero-inner,
  .pfb-ice-bands-layout,
  .pfb-spot-types-layout {
    gap: 24px;
  }
}

@media (max-width: 600px) {
  .pfb-spots-hero-title,
  .pfb-ice-bands-title,
  .pfb-spot-types-title {
    font-size: 22px;
  }

  .pfb-spots-hero-map,
  .pfb-ice-bands-photos,
  .pfb-spot-types-visual {
    justify-items: center;
  }

  .pfb-spots-hero-photo--boots,
  .pfb-spots-hero-photo--textures {
    justify-self: center;
    transform: translateY(-2px);
  }

  .pfb-spot-types-photo--line,
  .pfb-spot-types-photo--shore,
  .pfb-spot-types-photo--solo {
    justify-self: center;
  }
}
/* ===== СЕКЦИЯ 4: ПОДХОДЫ К ЛЬДУ ===== */

.pfb-shore-entries-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.1fr);
  gap: 30px;
  align-items: center;
}

.pfb-shore-entries-title {
  margin: 0 0 8px;
  font-size: 26px;
  line-height: 1.3;
  color: var(--pfb-ink);
}

.pfb-shore-entries-text {
  margin: 0 0 8px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--pfb-ink-soft);
}

.pfb-shore-entry-kinds {
  margin-top: 6px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}

.pfb-shore-entry-kind {
  border-radius: 20px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 12px 30px rgba(10, 56, 90, 0.18);
}

.pfb-shore-entry-kind-title {
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 600;
  color: var(--pfb-ink);
}

.pfb-shore-entry-kind-text {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--pfb-ink-soft);
}

/* правая часть с фото */

.pfb-shore-entries-right {
  display: grid;
  gap: 10px;
  align-content: flex-start;
}

.pfb-shore-entry-photo {
  padding: 8px;
  border-radius: 22px;
  background: radial-gradient(circle at 0% 0%, #ffffff 0, #e5f3ff 55%, #c7e5ff 100%);
  box-shadow: 0 16px 38px rgba(10, 56, 90, 0.22);
}

.pfb-shore-entry-photo--slope {
  max-width: 260px;
}

.pfb-shore-entry-photo--reed {
  max-width: 220px;
  justify-self: flex-end;
  transform: translateY(-4px) rotate(1.5deg);
}

.pfb-shore-note {
  margin-top: 4px;
  border-radius: 18px;
  padding: 8px 10px;
  background: rgba(16, 48, 73, 0.96);
  color: #e6f3ff;
  font-size: 12px;
}

.pfb-shore-note-label {
  margin: 0 0 2px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 11px;
  color: rgba(172, 215, 255, 0.96);
}

.pfb-shore-note-text {
  margin: 0;
  line-height: 1.5;
}

/* ===== СЕКЦИЯ 5: РЕЛЬЕФ И ГЛУБИНА ===== */

.pfb-bottom-profiles-inner {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.pfb-bottom-header {
  max-width: 680px;
}

.pfb-bottom-title {
  margin: 0 0 8px;
  font-size: 26px;
  line-height: 1.3;
  color: var(--pfb-ink);
}

.pfb-bottom-text {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--pfb-ink-soft);
}

.pfb-bottom-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.1fr);
  gap: 28px;
  align-items: center;
}

/* диаграммы слева */

.pfb-bottom-diagrams {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}

.pfb-bottom-diagram {
  border-radius: 20px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 12px 30px rgba(10, 56, 90, 0.18);
}

.pfb-bottom-diagram-title {
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 600;
  color: var(--pfb-ink);
}

.pfb-bottom-line {
  margin-bottom: 4px;
  height: 32px;
  border-radius: 999px;
  background: linear-gradient(90deg, #4ad2ff, #2b8cff);
  position: relative;
  overflow: hidden;
}

/* разные формы рельефа через clip-path */

.pfb-bottom-line--plateau::before,
.pfb-bottom-line--edge::before,
.pfb-bottom-line--steps::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.85);
}

.pfb-bottom-line--plateau::before {
  clip-path: polygon(0 55%, 100% 50%, 100% 100%, 0 100%);
}

.pfb-bottom-line--edge::before {
  clip-path: polygon(0 30%, 50% 50%, 100% 90%, 100% 100%, 0 100%);
}

.pfb-bottom-line--steps::before {
  clip-path: polygon(
    0 40%,
    35% 40%,
    35% 55%,
    65% 55%,
    65% 70%,
    100% 70%,
    100% 100%,
    0 100%
  );
}

.pfb-bottom-diagram-text {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--pfb-ink-soft);
}

/* фото справа */

.pfb-bottom-photos {
  display: grid;
  gap: 10px;
  align-content: flex-start;
}

.pfb-bottom-photo {
  padding: 8px;
  border-radius: 22px;
  background: radial-gradient(circle at 0% 0%, #ffffff 0, #e5f3ff 55%, #c7e5ff 100%);
  box-shadow: 0 16px 38px rgba(10, 56, 90, 0.22);
}

.pfb-bottom-photo--sketch {
  max-width: 260px;
}

.pfb-bottom-photo--measure,
.pfb-bottom-photo--markers {
  max-width: 220px;
}

/* ===== СЕКЦИЯ 6: НОЧНОЙ ЛЁД И СВЕТ ===== */

.pfb-night-ice-grid-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.1fr);
  gap: 30px;
  align-items: center;
}

.pfb-night-ice-title {
  margin: 0 0 8px;
  font-size: 26px;
  line-height: 1.3;
  color: var(--pfb-ink);
}

.pfb-night-ice-text {
  margin: 0 0 8px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--pfb-ink-soft);
}

.pfb-night-ice-grid-legend {
  margin-top: 6px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pfb-night-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(16, 48, 73, 0.96);
}

.pfb-night-legend-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  display: inline-block;
}

.pfb-night-legend-dot--camp {
  background: #ffd35c;
}

.pfb-night-legend-dot--path {
  background: #4ad2ff;
}

.pfb-night-legend-dot--dark {
  background: #1a2438;
}

.pfb-night-legend-text {
  font-size: 11px;
  color: #e7f3ff;
}

/* правый блок фото */

.pfb-night-ice-right {
  display: grid;
  gap: 10px;
  align-content: flex-start;
}

.pfb-night-ice-photo {
  padding: 8px;
  border-radius: 24px;
  background: radial-gradient(circle at 0% 0%, #101623 0, #0a0f1a 55%, #050810 100%);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.78);
}

.pfb-night-ice-photo--camp {
  max-width: 260px;
}

.pfb-night-ice-photo--headlamp,
.pfb-night-ice-photo--horizon {
  max-width: 220px;
}

/* ===== АДАПТИВ 4–6 СЕКЦИЙ SPOTS ===== */

@media (max-width: 1024px) {
  .pfb-shore-entries-inner {
    grid-template-columns: minmax(0, 1fr);
  }

  .pfb-shore-entries-right {
    max-width: 360px;
  }

  .pfb-bottom-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .pfb-bottom-photos {
    max-width: 360px;
  }

  .pfb-night-ice-grid-inner {
    grid-template-columns: minmax(0, 1fr);
  }

  .pfb-night-ice-right {
    max-width: 360px;
  }
}

@media (max-width: 800px) {
  .pfb-shore-entries-inner,
  .pfb-bottom-layout,
  .pfb-night-ice-grid-inner {
    gap: 24px;
  }
}

@media (max-width: 600px) {
  .pfb-shore-entries-title,
  .pfb-bottom-title,
  .pfb-night-ice-title {
    font-size: 22px;
  }

  .pfb-shore-entries-right,
  .pfb-bottom-photos,
  .pfb-night-ice-right {
    justify-items: center;
  }

  .pfb-shore-entry-photo--reed {
    justify-self: center;
    transform: translateY(-2px);
  }
}
/* ===== СЕКЦИЯ 7: ВЕТЕР И ОТКРЫТОСТЬ ===== */

.pfb-wind-exposure-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.1fr);
  gap: 30px;
  align-items: center;
}

.pfb-wind-title {
  margin: 0 0 8px;
  font-size: 26px;
  line-height: 1.3;
  color: var(--pfb-ink);
}

.pfb-wind-text {
  margin: 0 0 8px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--pfb-ink-soft);
}

.pfb-wind-modes {
  margin-top: 6px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}

.pfb-wind-mode {
  border-radius: 20px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 12px 30px rgba(10, 56, 90, 0.18);
}

.pfb-wind-mode-title {
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 600;
  color: var(--pfb-ink);
}

.pfb-wind-mode-text {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--pfb-ink-soft);
}

/* правая колонка: компас + фото */

.pfb-wind-right {
  display: grid;
  gap: 10px;
  align-content: flex-start;
}

.pfb-wind-compass {
  display: flex;
  justify-content: center;
}

.pfb-wind-compass-ring {
  position: relative;
  width: 180px;
  height: 180px;
  border-radius: 999px;
  background: radial-gradient(circle at 50% 40%, #f4fbff 0, #d0ecff 40%, #b0ddff 100%);
  box-shadow: 0 16px 38px rgba(10, 56, 90, 0.22);
  overflow: hidden;
}

.pfb-wind-compass-ring::before {
  content: "";
  position: absolute;
  inset: 10%;
  border-radius: 999px;
  background: conic-gradient(
    from 270deg,
    rgba(255, 255, 255, 0.1) 0deg,
    rgba(74, 210, 255, 0.45) 80deg,
    rgba(74, 210, 255, 0.1) 140deg,
    rgba(43, 140, 255, 0.4) 180deg,
    rgba(16, 48, 73, 0.75) 260deg,
    rgba(255, 255, 255, 0.1) 360deg
  );
}

.pfb-wind-compass-label {
  position: absolute;
  font-size: 11px;
  text-align: center;
  color: var(--pfb-ink);
  font-weight: 600;
}

.pfb-wind-compass-label--open {
  top: 6px;
  left: 50%;
  transform: translateX(-50%);
}

.pfb-wind-compass-label--bay {
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
}

.pfb-wind-compass-label--forest {
  bottom: 6px;
  left: 50%;
  transform: translateX(-50%);
}

.pfb-wind-photo {
  padding: 8px;
  border-radius: 22px;
  background: radial-gradient(circle at 0% 0%, #ffffff 0, #e4f3ff 55%, #c7e5ff 100%);
  box-shadow: 0 16px 38px rgba(10, 56, 90, 0.22);
}

.pfb-wind-photo--wide {
  max-width: 260px;
}

.pfb-wind-photo--tent {
  max-width: 220px;
  justify-self: flex-end;
  transform: translateY(-4px) rotate(1.5deg);
}

/* ===== СЕКЦИЯ 8: ЗВУКИ ОКРУЖЕНИЯ ===== */

.pfb-soundscape-inner {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.pfb-sound-header {
  max-width: 680px;
}

.pfb-sound-title {
  margin: 0 0 8px;
  font-size: 26px;
  line-height: 1.3;
  color: var(--pfb-ink);
}

.pfb-sound-text {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--pfb-ink-soft);
}

.pfb-sound-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.1fr);
  gap: 28px;
  align-items: center;
}

/* полосы звука слева */

.pfb-sound-bands {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}

.pfb-sound-band {
  border-radius: 20px;
  padding: 10px 12px;
  background: linear-gradient(90deg, #ffffff, #f0f7ff);
  box-shadow: 0 12px 30px rgba(10, 56, 90, 0.18);
  position: relative;
  overflow: hidden;
}

.pfb-sound-band::before {
  content: "";
  position: absolute;
  inset: auto auto 0 0;
  height: 3px;
  width: 40%;
  background: linear-gradient(90deg, #4ad2ff, #2b8cff);
  opacity: 0.8;
}

.pfb-sound-band-title {
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 600;
  color: var(--pfb-ink);
}

.pfb-sound-band-text {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--pfb-ink-soft);
}

/* фото справа */

.pfb-sound-visual {
  display: grid;
  gap: 10px;
  align-content: flex-start;
}

.pfb-sound-photo {
  padding: 8px;
  border-radius: 22px;
  background: radial-gradient(circle at 0% 0%, #ffffff 0, #e5f3ff 55%, #c7e5ff 100%);
  box-shadow: 0 16px 38px rgba(10, 56, 90, 0.22);
}

.pfb-sound-photo--road {
  max-width: 260px;
}

.pfb-sound-photo--village {
  max-width: 220px;
  justify-self: flex-end;
  transform: translateY(-4px) rotate(1deg);
}

/* ===== СЕКЦИЯ 9: ОКНА ПОГОДЫ ===== */

.pfb-weather-window-inner {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.pfb-weather-header {
  max-width: 680px;
}

.pfb-weather-title {
  margin: 0 0 8px;
  font-size: 26px;
  line-height: 1.3;
  color: var(--pfb-ink);
}

.pfb-weather-text {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--pfb-ink-soft);
}

.pfb-weather-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.1fr);
  gap: 28px;
  align-items: center;
}

/* полосы-периоды слева */

.pfb-weather-bands {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}

.pfb-weather-band {
  border-radius: 20px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 12px 30px rgba(10, 56, 90, 0.18);
}

.pfb-weather-band-title {
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 600;
  color: var(--pfb-ink);
}

.pfb-weather-band-text {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--pfb-ink-soft);
}

/* визуал справа: шкала + фото */

.pfb-weather-visual {
  display: grid;
  gap: 10px;
  align-content: flex-start;
}

.pfb-weather-scale {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-radius: 999px;
  padding: 6px 8px;
  background: linear-gradient(90deg, #0e2740, #275c88);
  box-shadow: 0 14px 34px rgba(3, 9, 18, 0.7);
}

.pfb-weather-scale-label {
  font-size: 11px;
  text-align: center;
  color: #e7f3ff;
}

.pfb-weather-photo {
  padding: 8px;
  border-radius: 22px;
  background: radial-gradient(circle at 0% 0%, #ffffff 0, #e4f3ff 55%, #c7e5ff 100%);
  box-shadow: 0 16px 38px rgba(10, 56, 90, 0.22);
}

.pfb-weather-photo--sky {
  max-width: 260px;
}

.pfb-weather-photo--tracks {
  max-width: 220px;
  justify-self: flex-end;
  transform: translateY(-4px) rotate(1.5deg);
}

/* ===== АДАПТИВ 7–9 СЕКЦИЙ SPOTS ===== */

@media (max-width: 1024px) {
  .pfb-wind-exposure-inner {
    grid-template-columns: minmax(0, 1fr);
  }

  .pfb-wind-right {
    max-width: 360px;
  }

  .pfb-sound-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .pfb-sound-visual {
    max-width: 360px;
  }

  .pfb-weather-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .pfb-weather-visual {
    max-width: 360px;
  }
}

@media (max-width: 800px) {
  .pfb-wind-exposure-inner,
  .pfb-sound-layout,
  .pfb-weather-layout {
    gap: 24px;
  }
}

@media (max-width: 600px) {
  .pfb-wind-title,
  .pfb-sound-title,
  .pfb-weather-title {
    font-size: 22px;
  }

  .pfb-wind-right,
  .pfb-sound-visual,
  .pfb-weather-visual {
    justify-items: center;
  }

  .pfb-wind-photo--tent,
  .pfb-sound-photo--village,
  .pfb-weather-photo--tracks {
    justify-self: center;
    transform: translateY(-2px);
  }

  .pfb-weather-scale {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }
}
/* ===== СЕКЦИЯ 10: ЛАГЕРЬ И ЗАПАСНЫЙ ВЫХОД ===== */

.pfb-camp-layouts-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.1fr);
  gap: 30px;
  align-items: center;
}

.pfb-camp-title {
  margin: 0 0 8px;
  font-size: 26px;
  line-height: 1.3;
  color: var(--pfb-ink);
}

.pfb-camp-text {
  margin: 0 0 8px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--pfb-ink-soft);
}

.pfb-camp-patterns {
  margin-top: 6px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}

.pfb-camp-pattern {
  border-radius: 20px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 12px 30px rgba(10, 56, 90, 0.18);
}

.pfb-camp-pattern-title {
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 600;
  color: var(--pfb-ink);
}

.pfb-camp-pattern-text {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--pfb-ink-soft);
}

/* правая колонка */

.pfb-camp-right {
  display: grid;
  gap: 10px;
  align-content: flex-start;
}

.pfb-camp-photo {
  padding: 8px;
  border-radius: 22px;
  background: radial-gradient(circle at 0% 0%, #ffffff 0, #e4f3ff 55%, #c7e5ff 100%);
  box-shadow: 0 16px 38px rgba(10, 56, 90, 0.22);
}

.pfb-camp-photo--scheme {
  max-width: 260px;
}

.pfb-camp-photo--ring,
.pfb-camp-photo--path {
  max-width: 220px;
}

.pfb-camp-photo--path {
  justify-self: flex-end;
  transform: translateY(-4px) rotate(1deg);
}

/* ===== СЕКЦИЯ 11: ПЕРЕКРЁСТКИ ===== */

.pfb-crossroads-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.1fr);
  gap: 30px;
  align-items: center;
}

.pfb-crossroads-title {
  margin: 0 0 8px;
  font-size: 26px;
  line-height: 1.3;
  color: var(--pfb-ink);
}

.pfb-crossroads-text {
  margin: 0 0 8px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--pfb-ink-soft);
}

/* правая колонка: три фото */

.pfb-crossroads-right {
  display: grid;
  gap: 10px;
  align-content: flex-start;
}

.pfb-cross-photo {
  padding: 8px;
  border-radius: 22px;
  background: radial-gradient(circle at 0% 0%, #ffffff 0, #e5f3ff 55%, #c7e5ff 100%);
  box-shadow: 0 16px 38px rgba(10, 56, 90, 0.22);
}

.pfb-cross-photo--holes {
  max-width: 260px;
}

.pfb-cross-photo--tracks,
.pfb-cross-photo--erased {
  max-width: 220px;
}

.pfb-cross-photo--erased {
  justify-self: flex-end;
  transform: translateY(-4px) rotate(1.5deg);
}

/* ===== СЕКЦИЯ 12: МАЛЕНЬКИЕ ОРИЕНТИРЫ ===== */

.pfb-small-markers-inner {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.pfb-small-header {
  max-width: 680px;
}

.pfb-small-title {
  margin: 0 0 8px;
  font-size: 26px;
  line-height: 1.3;
  color: var(--pfb-ink);
}

.pfb-small-text {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--pfb-ink-soft);
}

.pfb-small-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.1fr);
  gap: 28px;
  align-items: center;
}

/* теги-ориентиры слева */

.pfb-small-tags {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}

.pfb-small-tag {
  border-radius: 20px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 12px 30px rgba(10, 56, 90, 0.18);
}

.pfb-small-tag-title {
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 600;
  color: var(--pfb-ink);
}

.pfb-small-tag-text {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--pfb-ink-soft);
}

/* визуал справа */

.pfb-small-visual {
  display: grid;
  gap: 10px;
  align-content: flex-start;
}

.pfb-small-photo {
  padding: 8px;
  border-radius: 22px;
  background: radial-gradient(circle at 0% 0%, #ffffff 0, #e4f3ff 55%, #c7e5ff 100%);
  box-shadow: 0 16px 38px rgba(10, 56, 90, 0.22);
}

.pfb-small-photo--tree {
  max-width: 260px;
}

.pfb-small-photo--rock,
.pfb-small-photo--island {
  max-width: 220px;
}

.pfb-small-photo--island {
  justify-self: flex-end;
  transform: translateY(-4px) rotate(1.5deg);
}

/* ===== АДАПТИВ 10–12 СЕКЦИЙ SPOTS ===== */

@media (max-width: 1024px) {
  .pfb-camp-layouts-inner {
    grid-template-columns: minmax(0, 1fr);
  }

  .pfb-camp-right {
    max-width: 360px;
  }

  .pfb-crossroads-inner {
    grid-template-columns: minmax(0, 1fr);
  }

  .pfb-crossroads-right {
    max-width: 360px;
  }

  .pfb-small-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .pfb-small-visual {
    max-width: 360px;
  }
}

@media (max-width: 800px) {
  .pfb-camp-layouts-inner,
  .pfb-crossroads-inner,
  .pfb-small-layout {
    gap: 24px;
  }
}

@media (max-width: 600px) {
  .pfb-camp-title,
  .pfb-crossroads-title,
  .pfb-small-title {
    font-size: 22px;
  }

  .pfb-camp-right,
  .pfb-crossroads-right,
  .pfb-small-visual {
    justify-items: center;
  }

  .pfb-camp-photo--path,
  .pfb-cross-photo--erased,
  .pfb-small-photo--island {
    justify-self: center;
    transform: translateY(-2px);
  }
}
/* ===== СЕКЦИЯ 13: СЛЕДЫ СЕЗОНА НА БЕРЕГУ ===== */

.pfb-season-shore-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.1fr);
  gap: 30px;
  align-items: center;
}

.pfb-season-shore-title {
  margin: 0 0 8px;
  font-size: 26px;
  line-height: 1.3;
  color: var(--pfb-ink);
}

.pfb-season-shore-text {
  margin: 0 0 8px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--pfb-ink-soft);
}

.pfb-season-shore-timeline {
  margin-top: 6px;
  border-radius: 20px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 12px 30px rgba(10, 56, 90, 0.18);
  display: grid;
  gap: 8px;
  position: relative;
}

.pfb-season-shore-timeline::before {
  content: "";
  position: absolute;
  left: 6px;
  top: 10px;
  bottom: 10px;
  width: 2px;
  border-radius: 999px;
  background: linear-gradient(180deg, #4ad2ff, #2b8cff);
}

.pfb-season-shore-node {
  padding-left: 16px;
  position: relative;
}

.pfb-season-shore-node::before {
  content: "";
  position: absolute;
  left: 1px;
  top: 4px;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #4ad2ff;
  box-shadow: 0 0 0 4px rgba(74, 210, 255, 0.35);
}

.pfb-season-shore-node-title {
  margin: 0 0 3px;
  font-size: 14px;
  font-weight: 600;
  color: var(--pfb-ink);
}

.pfb-season-shore-node-text {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--pfb-ink-soft);
}

/* правая колонка */

.pfb-season-shore-right {
  display: grid;
  gap: 10px;
  align-content: flex-start;
}

.pfb-season-shore-photo {
  padding: 8px;
  border-radius: 22px;
  background: radial-gradient(circle at 0% 0%, #ffffff 0, #e4f3ff 55%, #c7e5ff 100%);
  box-shadow: 0 16px 38px rgba(10, 56, 90, 0.22);
}

.pfb-season-shore-photo--bank {
  max-width: 260px;
}

.pfb-season-shore-photo--bench {
  max-width: 220px;
  justify-self: flex-end;
  transform: translateY(-4px) rotate(1deg);
}

/* ===== СЕКЦИЯ 14: НЕВИДИМЫЕ ГРАНИЦЫ ===== */

.pfb-invisible-lines-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.1fr);
  gap: 30px;
  align-items: center;
}

.pfb-invisible-title {
  margin: 0 0 8px;
  font-size: 26px;
  line-height: 1.3;
  color: var(--pfb-ink);
}

.pfb-invisible-text {
  margin: 0 0 8px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--pfb-ink-soft);
}

.pfb-invisible-right {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}

.pfb-invisible-hint {
  border-radius: 20px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 12px 30px rgba(10, 56, 90, 0.18);
  position: relative;
  overflow: hidden;
}

.pfb-invisible-hint::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(180deg, #4ad2ff, #2b8cff);
}

.pfb-invisible-hint-title {
  margin: 0 0 3px 4px;
  font-size: 15px;
  font-weight: 600;
  color: var(--pfb-ink);
}

.pfb-invisible-hint-text {
  margin: 0 0 0 4px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--pfb-ink-soft);
}

/* ===== СЕКЦИЯ 15: ТИХИЕ МЕСТА ===== */

.pfb-soft-places-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.1fr);
  gap: 30px;
  align-items: center;
}

.pfb-soft-places-title {
  margin: 0 0 8px;
  font-size: 26px;
  line-height: 1.3;
  color: var(--pfb-ink);
}

.pfb-soft-places-text {
  margin: 0 0 8px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--pfb-ink-soft);
}

.pfb-soft-places-list {
  margin: 4px 0 0;
  padding-left: 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.pfb-soft-places-item {
  font-size: 13px;
  line-height: 1.6;
  color: var(--pfb-ink-soft);
}

/* правая колонка с фото */

.pfb-soft-places-right {
  display: grid;
  gap: 10px;
  align-content: flex-start;
}

.pfb-soft-photo {
  padding: 8px;
  border-radius: 22px;
  background: radial-gradient(circle at 0% 0%, #ffffff 0, #e4f3ff 55%, #c7e5ff 100%);
  box-shadow: 0 16px 38px rgba(10, 56, 90, 0.22);
}

.pfb-soft-photo--bay {
  max-width: 260px;
}

.pfb-soft-photo--far {
  max-width: 220px;
  justify-self: flex-end;
  transform: translateY(-4px) rotate(1.5deg);
}

/* ===== АДАПТИВ 13–15 СЕКЦИЙ SPOTS ===== */

@media (max-width: 1024px) {
  .pfb-season-shore-inner {
    grid-template-columns: minmax(0, 1fr);
  }

  .pfb-season-shore-right {
    max-width: 360px;
  }

  .pfb-invisible-lines-inner {
    grid-template-columns: minmax(0, 1fr);
  }

  .pfb-soft-places-inner {
    grid-template-columns: minmax(0, 1fr);
  }

  .pfb-soft-places-right {
    max-width: 360px;
  }
}

@media (max-width: 800px) {
  .pfb-season-shore-inner,
  .pfb-invisible-lines-inner,
  .pfb-soft-places-inner {
    gap: 24px;
  }
}

@media (max-width: 600px) {
  .pfb-season-shore-title,
  .pfb-invisible-title,
  .pfb-soft-places-title {
    font-size: 22px;
  }

  .pfb-season-shore-right,
  .pfb-soft-places-right {
    justify-items: center;
  }

  .pfb-season-shore-photo--bench,
  .pfb-soft-photo--far {
    justify-self: center;
    transform: translateY(-2px);
  }
}
/* ===== СЕКЦИЯ 16: НАВИГАЦИЯ ПО РАЗДЕЛУ МЕСТ ===== */

.pfb-nav-spots-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(0, 1.1fr);
  gap: 30px;
  align-items: center;
}

.pfb-nav-spots-title {
  margin: 0 0 8px;
  font-size: 26px;
  line-height: 1.3;
  color: var(--pfb-ink);
}

.pfb-nav-spots-text {
  margin: 0 0 10px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--pfb-ink-soft);
}

.pfb-nav-spots-grid {
  margin-top: 4px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}

.pfb-nav-spots-card {
  border-radius: 20px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 12px 30px rgba(10, 56, 90, 0.18);
}

.pfb-nav-spots-card-title {
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 600;
  color: var(--pfb-ink);
}

.pfb-nav-spots-card-text {
  margin: 0 0 4px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--pfb-ink-soft);
}

.pfb-nav-spots-card-meta {
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
  color: rgba(16, 48, 73, 0.75);
}

/* правая колонка */

.pfb-nav-spots-right {
  display: grid;
  gap: 8px;
  align-content: flex-start;
}

.pfb-nav-spots-photo {
  padding: 8px;
  border-radius: 22px;
  background: radial-gradient(circle at 0% 0%, #ffffff 0, #e4f3ff 55%, #c7e5ff 100%);
  box-shadow: 0 16px 38px rgba(10, 56, 90, 0.22);
  max-width: 260px;
}

.pfb-nav-spots-note {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--pfb-ink-soft);
}

/* ===== СЕКЦИЯ 17: РУКОВОДСТВО ПО ЗАМЕТКАМ ===== */

.pfb-notes-guide-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.1fr);
  gap: 30px;
  align-items: center;
}

.pfb-notes-guide-title {
  margin: 0 0 8px;
  font-size: 26px;
  line-height: 1.3;
  color: var(--pfb-ink);
}

.pfb-notes-guide-text {
  margin: 0 0 8px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--pfb-ink-soft);
}

.pfb-notes-steps {
  margin: 4px 0 0;
  padding-left: 20px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.pfb-notes-step {
  font-size: 13px;
  line-height: 1.6;
  color: var(--pfb-ink-soft);
}

/* правая колонка */

.pfb-notes-guide-right {
  display: grid;
  gap: 10px;
  align-content: flex-start;
}

.pfb-notes-photo {
  padding: 8px;
  border-radius: 22px;
  background: radial-gradient(circle at 0% 0%, #ffffff 0, #e4f3ff 55%, #c7e5ff 100%);
  box-shadow: 0 16px 38px rgba(10, 56, 90, 0.22);
  max-width: 260px;
}

.pfb-notes-card {
  border-radius: 18px;
  padding: 8px 10px;
  background: rgba(16, 48, 73, 0.96);
  color: #e6f3ff;
  font-size: 12px;
}

.pfb-notes-card-label {
  margin: 0 0 2px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 11px;
  color: rgba(172, 215, 255, 0.96);
}

.pfb-notes-card-text {
  margin: 0;
  line-height: 1.5;
}

/* ===== СЕКЦИЯ 18: ФИНАЛЬНЫЙ ВЗГЛЯД ===== */

.pfb-spots-closure-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.1fr);
  gap: 30px;
  align-items: center;
}

.pfb-spots-closure-title {
  margin: 0 0 8px;
  font-size: 26px;
  line-height: 1.3;
  color: var(--pfb-ink);
}

.pfb-spots-closure-text {
  margin: 0 0 8px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--pfb-ink-soft);
}

.pfb-spots-closure-actions {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* правая колонка */

.pfb-spots-closure-right {
  display: grid;
  align-content: flex-start;
}

.pfb-spots-closure-photo {
  padding: 8px;
  border-radius: 24px;
  background: radial-gradient(circle at 0% 0%, #ffffff 0, #e4f3ff 55%, #c7e5ff 100%);
  box-shadow: 0 16px 38px rgba(10, 56, 90, 0.22);
  max-width: 260px;
}

/* ===== АДАПТИВ 16–18 СЕКЦИЙ SPOTS ===== */

@media (max-width: 1024px) {
  .pfb-nav-spots-inner {
    grid-template-columns: minmax(0, 1fr);
  }

  .pfb-nav-spots-right {
    max-width: 360px;
  }

  .pfb-notes-guide-inner {
    grid-template-columns: minmax(0, 1fr);
  }

  .pfb-notes-guide-right {
    max-width: 360px;
  }

  .pfb-spots-closure-inner {
    grid-template-columns: minmax(0, 1fr);
  }

  .pfb-spots-closure-right {
    max-width: 360px;
  }
}

@media (max-width: 800px) {
  .pfb-nav-spots-inner,
  .pfb-notes-guide-inner,
  .pfb-spots-closure-inner {
    gap: 24px;
  }
}

@media (max-width: 600px) {
  .pfb-nav-spots-title,
  .pfb-notes-guide-title,
  .pfb-spots-closure-title {
    font-size: 22px;
  }

  .pfb-nav-spots-right,
  .pfb-notes-guide-right,
  .pfb-spots-closure-right {
    justify-items: center;
  }

  .pfb-spots-closure-actions {
    flex-direction: column;
  }

  .pfb-spots-closure-actions .pfb-btn {
    width: 100%;
    justify-content: center;
  }
}
/* ===== HERO TAGS: ТИХИЕ ЗАЛИВЫ / ПЛЁСЫ / НОЧНЫЕ ВЫЕЗДЫ ===== */

.pfb-spots-hero-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.pfb-spots-hero-tags .pfb-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 18px;
  border-radius: 999px;
  border: 1px solid rgba(16, 48, 73, 0.18);
  background: radial-gradient(circle at 0% 0%, #ffffff 0, #e4f3ff 55%, #c7e5ff 100%);
  box-shadow: 0 6px 16px rgba(10, 56, 90, 0.18);
  font-size: 14px;
  line-height: 1.3;
  font-weight: 500;
  color: var(--pfb-ink);
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;

  /* сброс системных стилей кнопки */
  appearance: none;
  -webkit-appearance: none;
  background-clip: padding-box;

  transition:
    background 0.25s ease,
    box-shadow 0.2s ease,
    transform 0.15s ease,
    color 0.2s ease,
    border-color 0.2s ease;
}

.pfb-spots-hero-tags .pfb-chip:hover {
  background: radial-gradient(circle at 0% 0%, #ffffff 0, #d7ecff 55%, #b9ddff 100%);
  box-shadow: 0 10px 24px rgba(10, 56, 90, 0.26);
  transform: translateY(-1px);
}

.pfb-spots-hero-tags .pfb-chip:active {
  transform: translateY(0);
  box-shadow: 0 4px 10px rgba(10, 56, 90, 0.2);
}

.pfb-spots-hero-tags .pfb-chip:focus-visible {
  outline: 2px solid #4ad2ff;
  outline-offset: 2px;
}

/* выбранный фильтр */

.pfb-spots-hero-tags .pfb-chip--active {
  background: linear-gradient(90deg, #2b8cff, #4ad2ff);
  color: #ffffff;
  border-color: transparent;
  box-shadow: 0 10px 24px rgba(10, 56, 90, 0.35);
}

/* адаптив */

@media (max-width: 600px) {
  .pfb-spots-hero-tags {
    gap: 6px;
  }

  .pfb-spots-hero-tags .pfb-chip {
    padding: 6px 12px;
    font-size: 13px;
  }
}
