/* Unified styles: Прогулка 02-build */
@import url("https://fonts.googleapis.com/css2?family=Work+Sans:wght@600&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap");

/* ===== 01-block ===== */
.section-cover-01 {
      --cover-max: 1920px;
      --cover-pad-d: 210px;
      --cover-pad-t: 20px;
      --cover-pad-m: 10px;
      --cover-h-d: 354px;
      --cover-title-color: #17172f;
      --cover-breadcrumb-color: #9f9f9f;
      --cover-title-size-d: 100px;
      --cover-breadcrumb-size: 14px;
      overflow-x: hidden;
      color: var(--cover-title-color);
      font-family: "Inter", "SF Pro Text", "SF Pro", system-ui, sans-serif;
    }

    .section-cover-01__container {
      box-sizing: border-box;
      max-width: var(--cover-max);
      margin-inline: auto;
      min-height: var(--cover-h-d);
      padding: 130px var(--cover-pad-d) 40px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      align-items: flex-start;
      gap: 20px;
    }

    .section-cover-01__title {
      margin: 0;
      width: 100%;
      text-align: left;
      text-transform: uppercase;
      font-family: "Work Sans", "Inter", system-ui, sans-serif;
      font-weight: 600;
      font-size: clamp(34px, 3.35vw + 18px, var(--cover-title-size-d));
      line-height: 1.16;
      letter-spacing: 0;
      color: var(--cover-title-color);
    }

    .section-cover-01__breadcrumbs {
      margin: 0;
      width: 100%;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      text-align: left;
      font-size: var(--cover-breadcrumb-size);
      line-height: 1.2;
      font-weight: 500;
      color: var(--cover-breadcrumb-color);
      font-family: "Inter", "SF Pro Text", "SF Pro", system-ui, sans-serif;
    }

    .section-cover-01__crumb-link {
      color: var(--cover-breadcrumb-color);
      text-decoration: none;
      transition: all 0.2s ease;
    }

    .section-cover-01__crumb-link:hover {
      opacity: 0.85;
    }

    .section-cover-01__crumb-sep {
      color: var(--cover-breadcrumb-color);
    }

    /* tablet <= 1200 */
    @media (max-width: 1200px) {
      .section-cover-01__container {
        min-height: 320px;
        padding: 92px var(--cover-pad-t) 30px;
      }
    }

    /* mobile <= 640 */
    @media (max-width: 640px) {
      .section-cover-01__container {
        min-height: 250px;
        padding: 70px var(--cover-pad-m) 22px;
        gap: 14px;
      }
      .section-cover-01__title {
        font-size: clamp(26px, 6.2vw, 46px);
        line-height: 1.12;
      }
      .section-cover-01__breadcrumbs {
        font-size: 13px;
      }
    }

    /* mobileMin <= 390 */
    @media (max-width: 390px) {
      .section-cover-01__container {
        min-height: 210px;
        padding-top: 56px;
        padding-bottom: 18px;
      }
      .section-cover-01__title {
        font-size: 24px;
      }
      .section-cover-01__breadcrumbs {
        font-size: 12px;
      }
    }

/* ===== 02-block ===== */
.block-02-block {
      --bp-tablet: 1200px;
      --bp-mobile: 640px;
      --bp-mobile-min: 390px;
      --max-w: 1920px;
      --pad-d: 210px;
      --pad-t: 20px;
      --pad-m: 10px;
      --card-bg: #eef0f4;
      --text-main: #000000;
      --text-muted: #555555;
      --filter-border: #9f9f9f;
      --filter-active: rgba(44, 105, 141, 1);
      --gap-cards: 20px;
      --content: 1500px;
      background: #ffffff;
      color: var(--text-main);
      overflow-x: hidden;
      font-family: "Inter", system-ui, sans-serif;
    }

    .block-02-block__state {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
    }

    .block-02-block__container {
      box-sizing: border-box;
      max-width: 1920px;
      margin-inline: auto;
      padding: 0 var(--pad-d) 160px;
    }

    .block-02-block__header { margin-bottom: 24px; }
    .block-02-block__title {
      margin: 0;
      font-size: clamp(24px, 1vw + 16px, 36px);
      line-height: 1.2;
      font-weight: 600;
      text-transform: uppercase;
      text-align: left;
    }

    .block-02-block__filters-strip {
      width: 100%;
      margin-bottom: 30px;
    }

    .block-02-block__filters {
      display: flex;
      flex-wrap: wrap;
      align-items: stretch;
      gap: 20px;
    }

    .block-02-block__filter {
      box-sizing: border-box;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 0;
      border: 1px solid var(--filter-border);
      border-radius: 2rem;
      background: transparent;
      cursor: pointer;
      transition: all 0.2s ease;
      user-select: none;
      flex: 1 1 auto;
      min-width: min(100%, 9rem);
      padding: 10px 14px;
    }

    .block-02-block__filter.is-active {
      border-width: 2px;
      border-color: var(--filter-active);
      padding: 9px 13px;
    }

    .block-02-block__filter-text {
      font-weight: 400;
      font-size: clamp(0.6875rem, 0.35vw + 0.48rem, 0.875rem);
      line-height: 1.25;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      color: #6a6a6a;
    }

    .block-02-block__filter.is-active .block-02-block__filter-text {
      font-weight: 500;
      color: #333333;
    }

    .block-02-block__grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: var(--gap-cards);
      max-width: var(--content);
      margin-inline: auto;
    }

    .block-02-block__card {
      display: flex;
      flex-direction: column;
      border-radius: 20px;
      overflow: hidden;
      background: var(--card-bg);
      min-height: 100%;
      transition: all 0.2s ease;
      cursor: pointer;
    }

    .block-02-block__card:hover { transform: translateY(-4px); }

    .block-02-block__media {
      width: 100%;
      aspect-ratio: 360 / 298;
      overflow: hidden;
    }

    .block-02-block__img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .block-02-block__card-body {
      display: flex;
      flex-direction: column;
      gap: 8px;
      padding: 10px 20px 18px;
      flex: 1 1 auto;
    }

    .block-02-block__card-title {
      margin: 0;
      font-size: clamp(15px, 0.35vw + 13px, 24px);
      line-height: 1.2;
      font-weight: 600;
      color: #17172f;
    }

    .block-02-block__card-title a {
      color: inherit;
      text-decoration: none;
    }

    .block-02-block__card-title a:hover,
    .block-02-block__card-title a:visited,
    .block-02-block__card-title a:focus,
    .block-02-block__card-title a:focus-visible,
    .block-02-block__card-title a:active {
      color: inherit;
      text-decoration: none;
    }

    .block-02-block__price {
      margin: auto 0 0;
      font-size: clamp(14px, 0.25vw + 12px, 18px);
      line-height: 1.2;
      font-weight: 500;
    }

    .block-02-block__price-strong { color: rgba(44, 105, 141, 1); }
    .block-02-block__price-muted { color: var(--text-muted); }

    .block-02-block__card.is-hidden { display: none; }

    /* tablet <=1200: 3 columns */
    @media (max-width: 1200px) {
      .block-02-block__container { padding-inline: var(--pad-t); }
      .block-02-block__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    }

    /* mobile <=640: 2 columns */
    @media (max-width: 640px) {
      .block-02-block__container {
        padding-inline: var(--pad-m);
        padding-bottom: 90px;
      }
      .block-02-block__filters { gap: 10px; }
      .block-02-block__filter {
        min-height: 40px;
        padding: 8px 12px;
      }
      .block-02-block__filter.is-active { padding: 7px 11px; }
      .block-02-block__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .block-02-block__card-body { padding: 8px 10px 12px; }
    }

    /* mobileMin <=390 */
    @media (max-width: 390px) {
      .block-02-block__container { padding-inline: 10px; }
      .block-02-block__title { font-size: 20px; }
      .block-02-block__card-title { font-size: 15px; }
      .block-02-block__price { font-size: 14px; }
    }

/* Цена в карточках фильтра (хаб услуги / озеро): синий акцент как у активного фильтра; перебивает кеш и сторонние правила */
#veter-service-hub-root .block-02-block .block-02-block__price-strong,
#veter-lake-hub-root .block-02-block .block-02-block__price-strong,
body.veter-service-hub .block-02-block .block-02-block__price-strong,
body.veter-lake-hub .block-02-block .block-02-block__price-strong {
  color: rgba(44, 105, 141, 1) !important;
}

/*
 * Заголовок карточки — ссылка: без подчёркивания и без цвета «посещённой» ссылки из WP/theme.json.
 * Цена: основная сумма не зелёным акцентом темы.
 */
#veter-service-hub-root .block-02-block .block-02-block__card-title a,
#veter-lake-hub-root .block-02-block .block-02-block__card-title a,
body.veter-service-hub .block-02-block .block-02-block__card-title a,
body.veter-lake-hub .block-02-block .block-02-block__card-title a {
  color: #17172f !important;
  text-decoration: none !important;
}

#veter-service-hub-root .block-02-block .block-02-block__card-title a:hover,
#veter-service-hub-root .block-02-block .block-02-block__card-title a:visited,
#veter-service-hub-root .block-02-block .block-02-block__card-title a:focus,
#veter-service-hub-root .block-02-block .block-02-block__card-title a:focus-visible,
#veter-service-hub-root .block-02-block .block-02-block__card-title a:active,
#veter-lake-hub-root .block-02-block .block-02-block__card-title a:hover,
#veter-lake-hub-root .block-02-block .block-02-block__card-title a:visited,
#veter-lake-hub-root .block-02-block .block-02-block__card-title a:focus,
#veter-lake-hub-root .block-02-block .block-02-block__card-title a:focus-visible,
#veter-lake-hub-root .block-02-block .block-02-block__card-title a:active,
body.veter-service-hub .block-02-block .block-02-block__card-title a:hover,
body.veter-service-hub .block-02-block .block-02-block__card-title a:visited,
body.veter-service-hub .block-02-block .block-02-block__card-title a:focus,
body.veter-service-hub .block-02-block .block-02-block__card-title a:focus-visible,
body.veter-service-hub .block-02-block .block-02-block__card-title a:active,
body.veter-lake-hub .block-02-block .block-02-block__card-title a:hover,
body.veter-lake-hub .block-02-block .block-02-block__card-title a:visited,
body.veter-lake-hub .block-02-block .block-02-block__card-title a:focus,
body.veter-lake-hub .block-02-block .block-02-block__card-title a:focus-visible,
body.veter-lake-hub .block-02-block .block-02-block__card-title a:active {
  color: #17172f !important;
  text-decoration: none !important;
}

#veter-service-hub-root .block-02-block .block-02-block__price-muted,
#veter-lake-hub-root .block-02-block .block-02-block__price-muted,
body.veter-service-hub .block-02-block .block-02-block__price-muted,
body.veter-lake-hub .block-02-block .block-02-block__price-muted {
  color: var(--text-muted, #555555) !important;
}

/* Текст на хабе «Рыбалка» (до/после карточек озёр) */
#veter-service-hub-root .service-hub-copy {
  box-sizing: border-box;
  max-width: 1920px;
  margin-inline: auto;
  padding-inline: 210px;
  font-family: "Inter", system-ui, sans-serif;
  font-size: clamp(15px, 0.35vw + 13px, 18px);
  line-height: 1.58;
  color: #17172f;
}

#veter-service-hub-root .service-hub-copy__p {
  margin: 0 0 1em;
}

#veter-service-hub-root .service-hub-copy__p:last-child {
  margin-bottom: 0;
}

#veter-service-hub-root .service-hub-copy--intro {
  padding-top: 12px;
  padding-bottom: 32px;
}

/* На хабе услуги у lakes-index по умолчанию слишком большой нижний паддинг — сжимаем до текста под карточками */
#veter-service-hub-root .lakes-index.service-hub-lakes .lakes-index__container {
  padding-bottom: 36px;
}

#veter-service-hub-root .service-hub-copy--article {
  padding-top: 20px;
  padding-bottom: 40px;
}

/* Текст под сеткой туров: контейнер уже даёт боковые отступы — не дублируем, ширина как у сетки (1500px) */
#veter-service-hub-root .block-02-block__container > .service-hub-copy.service-hub-copy--article {
  padding-inline: 0;
  max-width: var(--content, 1500px);
  margin-inline: auto;
  width: 100%;
}

#veter-service-hub-root .service-hub-copy__link {
  color: rgba(44, 105, 141, 1);
  font-weight: 600;
  text-underline-offset: 0.12em;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(44, 105, 141, 0.45);
}

#veter-service-hub-root .service-hub-copy__link:hover,
#veter-service-hub-root .service-hub-copy__link:focus-visible {
  text-decoration-color: rgba(44, 105, 141, 0.85);
}

#veter-service-hub-root .lakes-index__item--anchored {
  scroll-margin-top: clamp(4.75rem, 10vw + 2rem, 6.75rem);
}

/* Якоря на карточках туров (напр. Онежское — рыбалка) */
#veter-service-hub-root .block-02-block__card[id] {
  scroll-margin-top: clamp(4.75rem, 10vw + 2rem, 6.75rem);
}

@media (max-width: 1200px) {
  #veter-service-hub-root .service-hub-copy {
    padding-inline: 20px;
  }

  #veter-service-hub-root .block-02-block__container > .service-hub-copy.service-hub-copy--article {
    padding-inline: 0;
  }
}

@media (max-width: 640px) {
  #veter-service-hub-root .service-hub-copy {
    padding-inline: 10px;
  }

  #veter-service-hub-root .block-02-block__container > .service-hub-copy.service-hub-copy--article {
    padding-inline: 0;
  }

  #veter-service-hub-root .service-hub-copy--intro {
    padding-bottom: 26px;
  }

  #veter-service-hub-root .service-hub-copy--article {
    padding-top: 16px;
    padding-bottom: 32px;
  }

  #veter-service-hub-root .lakes-index.service-hub-lakes .lakes-index__container {
    padding-bottom: 28px;
  }
}
