/* Каталог: единый актуальный слой. Остальной сайт использует styles.css. */
.catalog-page { background: #fff !important; color: #171d18; }
.catalog-page #catalog-search,
.catalog-page #catalog-list,
.catalog-page #catalog-footer { scroll-margin-top: 84px; }
.catalog-page .site-header-light { background: #fff !important; box-shadow: none !important; }
.catalog-page .main-nav-light .mobile-nav-only { display: none; }
.catalog-page .header-inner { min-height: 74px !important; }
.catalog-page .header-cta { background: #263e2a !important; border-radius: 12px !important; }
.catalog-page .catalog-main,
.catalog-page .catalog-hero,
.catalog-page .catalog-results-band,
.catalog-page .catalog-layout { background: #fff !important; }
.catalog-page .catalog-hero {
  padding-top: 30px !important;
  padding-bottom: 16px !important;
  isolation: isolate;
  overflow: visible !important;
}
.catalog-page .catalog-hero::before,
.catalog-page .catalog-hero::after { content: none !important; display: none !important; }
.catalog-page .catalog-hero-grid {
  min-height: clamp(150px, 18vw, 192px) !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) 35% !important;
  align-items: center !important;
  gap: 10px !important;
  overflow: visible !important;
}
.catalog-page .catalog-hero-copy {
  position: relative !important;
  z-index: 3 !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  transform: none !important;
}
.catalog-page .catalog-breadcrumbs {
  margin: 0 0 12px !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #777970 !important;
}
.catalog-page .catalog-title {
  max-width: none !important;
  margin: 0 0 12px !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(60px,8vw,106px) !important;
  font-weight: 400 !important;
  line-height: .81 !important;
  letter-spacing: -.06em !important;
  color: #101512 !important;
}
.catalog-page .catalog-intro {
  max-width: 620px !important;
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.38 !important;
  font-weight: 500 !important;
  color: #315358 !important;
}
.catalog-page .catalog-hero-decor {
  display: block !important;
  position: absolute !important;
  z-index: 2 !important;
  left: 62% !important;
  right: auto !important;
  bottom: 70px !important;
  top: auto !important;
  width: min(32%, 420px) !important;
  height: 150px !important;
  min-height: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  grid-column: auto !important;
  grid-row: auto !important;
  align-self: auto !important;
  overflow: visible !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  pointer-events: none;
}
.catalog-page .catalog-contours { display: block !important; position: absolute; inset: 0 auto auto 0; width: 100%; height: auto; opacity: .23 !important; }
.catalog-page .catalog-contours path { fill: none; stroke: #375246; stroke-width: 1.1; stroke-linecap: round; }
.catalog-page .catalog-route-doodle { display: none !important; }
.catalog-page .catalog-compass-mark { display: none !important; }
.catalog-page .catalog-hero-art {
  display: block !important;
  position: absolute !important;
  z-index: 1 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: min(28vw,280px) !important;
  height: auto !important;
  aspect-ratio: 3 / 2;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  overflow: hidden !important;
  pointer-events: none;
}
.catalog-page .catalog-hero-art::before,
.catalog-page .catalog-hero-art::after { content: none !important; display: none !important; }
.catalog-page .catalog-hero-forest-crop {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  background: none !important;
  border: 0 !important;
  clip-path: none !important;
}
.catalog-page .catalog-hero-forest {
  display: block !important;
  position: absolute !important;
  width: 100% !important;
  height: 100% !important;
  top: 0 !important;
  bottom: 0 !important;
  left: auto !important;
  right: 0 !important;
  max-width: none !important;
  object-fit: contain !important;
  transform: none !important;
  opacity: .96 !important;
  filter: none !important;
}
.catalog-page .catalog-title-branch {
  position: absolute !important;
  z-index: 0 !important;
  left: -28px !important;
  right: auto !important;
  top: 0 !important;
  width: clamp(60px, 8vw, 120px) !important;
  height: auto !important;
  object-fit: contain !important;
  opacity: .72 !important;
  pointer-events: none;
}
.catalog-page .catalog-breadcrumbs { padding-left: clamp(48px, 7vw, 105px) !important; }
.catalog-page .catalog-search {
  position: relative !important;
  z-index: 4 !important;
  display: grid !important;
  grid-template-columns: 1.38fr 1fr 1fr 160px 52px 90px !important;
  gap: 0 !important;
  margin: 14px 0 0 !important;
  padding: 5px !important;
  border: 1px solid #e6e9e4 !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: 0 10px 28px rgba(24,39,27,.075) !important;
}
.catalog-page .catalog-search .search-field,
.catalog-page .catalog-search .search-submit,
.catalog-page .catalog-mini-btn,
.catalog-page .catalog-reset { min-height: 48px !important; }
.catalog-page .catalog-search .search-field { padding: 4px 10px !important; }
.catalog-page .catalog-search .search-field svg { color: #25392a !important; }
.catalog-page .catalog-search .search-field small { display: none !important; }
.catalog-page .catalog-search .search-field input { font-size: 12px !important; }
.catalog-page .catalog-search .search-submit {
  margin: 0 !important;
  border-radius: 9px !important;
  background: #263e2a !important;
  font-size: 13px !important;
}
.catalog-page .catalog-mini-btn { margin: 0 5px !important; border: 1px solid #edf0e9 !important; border-radius: 9px !important; }
.catalog-page .catalog-reset { font-size: 12px !important; }
.catalog-page .catalog-results-band { padding: 0 0 28px !important; }
.catalog-page .catalog-layout {
  display: grid !important;
  grid-template-columns: 188px minmax(0,1fr) !important;
  max-width: none !important;
  gap: 22px !important;
  padding-top: 22px !important;
  padding-bottom: 0 !important;
  align-items: start !important;
}
.catalog-page .catalog-sidebar { order: 0 !important; padding: 0 !important; }
.catalog-page .catalog-content { order: 0 !important; min-width: 0; }
.catalog-page .catalog-side-link {
  display: grid !important;
  grid-template-columns: 25px minmax(0,1fr) auto !important;
  align-items: center !important;
  width: 100%;
  min-height: 43px !important;
  gap: 9px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-bottom: 1px solid #eeeeea !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  font-size: 12px !important;
  text-align: left;
  color: #202620 !important;
  transform: none !important;
}
.catalog-page .catalog-side-link:hover { background: #f7f9f5 !important; padding-left: 10px !important; }
.catalog-page .catalog-side-link.active,
.catalog-page .catalog-side-link.active:hover {
  min-height: 47px !important;
  margin-bottom: 4px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #263e2a !important;
  box-shadow: none !important;
  color: #fff !important;
  padding-left: 10px !important;
}
.catalog-page .catalog-side-link .side-icon { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }
.catalog-page .catalog-side-link b { color: inherit !important; font-size: 10px !important; font-weight: 500 !important; opacity: .7 !important; }
.catalog-page .sidebar-promo {
  display: block !important;
  min-height: 350px !important;
  margin-top: 24px !important;
  border: 0 !important;
  border-radius: 10px !important;
  color: #fff !important;
  background: #10241d !important;
  box-shadow: none !important;
}
.catalog-page .sidebar-promo::before,
.catalog-page .sidebar-promo::after { content: none !important; display: none !important; }
.catalog-page .sidebar-promo-bg {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg,transparent 18%,rgba(8,24,21,.14) 43%,rgba(8,24,21,.94) 100%),url('assets/images/catalog-sidebar-promo.png') center 42% / cover no-repeat !important;
  font-size: 0 !important;
}
.catalog-page .sidebar-promo-content {
  min-height: 350px !important;
  padding: 20px 16px !important;
  position: relative !important;
  z-index: 2 !important;
}
.catalog-page .sidebar-promo-content h3 { color: #fff !important; font-size: 28px !important; line-height: .92 !important; }
.catalog-page .sidebar-promo-content p { color: #fff !important; font-size: 11px !important; line-height: 1.45 !important; }
.catalog-page .sidebar-promo .button-outline { width: fit-content !important; min-height: 38px !important; padding: 0 12px !important; border: 1px solid #e2e9de !important; border-radius: 8px !important; background: rgba(27,49,32,.7) !important; color: #fff !important; font-size: 11px !important; }
.catalog-page .catalog-toolbar {
  display: flex !important;
  flex-flow: row wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  border: 0 !important;
}
.catalog-page .catalog-filters { display: flex !important; flex-wrap: wrap !important; gap: 5px !important; }
.catalog-page .catalog-filter { min-height: 30px !important; padding: 0 7px !important; border-radius: 5px !important; border: 1px solid #cad9c1 !important; background: #edf5e7 !important; color: #203e27 !important; font-size: 11px !important; font-weight: 600; }
.catalog-page .catalog-toggle { min-height: 30px !important; padding: 0 2px !important; gap: 4px !important; font-size: 10px !important; }
.catalog-page .catalog-sort { font-size: 10px !important; }
.catalog-page .catalog-found { margin: 6px 0 10px !important; color: #26302a !important; font-size: 11px !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none !important; }
.catalog-page .catalog-content .tour-grid { display: grid !important; grid-template-columns: repeat(auto-fill,minmax(300px,1fr)) !important; gap: 12px !important; }
.catalog-page .real-tour-card {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0;
  width: 100%;
  max-width: 360px;
  overflow: hidden !important;
  border: 1px solid #dce6d6 !important;
  border-radius: 9px !important;
  background: #fff !important;
  box-shadow: 0 7px 20px rgba(19,49,23,.09) !important;
}
.catalog-page .real-tour-card:hover { box-shadow: 0 12px 28px rgba(19,32,23,.12) !important; transform: translateY(-3px) !important; }
.catalog-page .real-tour-card .tour-card-image { padding: 0 !important; }
.catalog-page .real-tour-card .tour-card-image-link { display: block !important; aspect-ratio: 1.55 !important; overflow: hidden !important; }
.catalog-page .real-tour-card .tour-card-image-link img { width: 100%; height: 100%; object-fit: cover; }
.catalog-page .real-tour-card .tour-tag { top: 10px !important; left: 10px !important; height: 24px !important; padding: 0 10px !important; border: 0 !important; border-radius: 6px !important; background: rgba(73,47,37,.89) !important; color: #fff !important; font-size: 10px !important; font-weight: 500 !important; text-transform: none !important; letter-spacing: 0 !important; }
.catalog-page .real-tour-card .tour-heart { top: 7px !important; right: 7px !important; width: 27px !important; height: 27px !important; border: 0 !important; background: transparent !important; color: #fff !important; text-shadow: 0 1px 5px #243326; font-size: 25px !important; }
.catalog-page .real-tour-card .tour-card-body { display: flex !important; flex-direction: column !important; flex: 1; padding: 10px 12px 12px !important; }
.catalog-page .real-tour-card .tour-card-body h3 { margin: 0 0 5px !important; color: #172018 !important; font: 700 23px/1.05 'Cormorant Garamond',Georgia,serif !important; letter-spacing: -.015em !important; }
.catalog-page .real-tour-card .tour-card-body p { min-height: 34px !important; margin: 0 0 10px !important; color: #405346 !important; font-size: 11px !important; line-height: 1.37 !important; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.catalog-page .real-tour-card .tour-card-details { margin-top: auto !important; padding: 0 !important; }
.catalog-page .real-tour-card .tour-meta { display: flex !important; flex-wrap: wrap !important; gap: 6px 12px !important; margin: 0 0 8px !important; padding: 0 !important; border: 0 !important; color: #858c84 !important; font-size: 10px !important; }
.catalog-page .real-tour-card .tour-card-meta-item { display: inline-flex; align-items: center; gap: 4px; background: var(--catalog-lime) !important; color: #17301b !important; }
.catalog-page .real-tour-card .tour-card-meta-item svg { width: 12px; height: 12px; }
.catalog-page .real-tour-card .tour-bottom { margin: 0 !important; }
.catalog-page .real-tour-card .tour-bottom strong { color: #0e1611 !important; font: 700 18px/1 'Manrope',sans-serif !important; letter-spacing: -.06em !important; }
.catalog-page .catalog-more { min-height: 20px; padding: 18px 0 0 !important; }
.catalog-page .catalog-more:has([hidden]) { display: none !important; }
.catalog-page .catalog-pagination { padding-bottom: 0 !important; }
.catalog-page .catalog-bottom-cta {
  min-height: 310px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: #13251f url('assets/images/catalog-footer-lake-camp.png') center 55% / cover no-repeat !important;
  color: #fff !important;
}
.catalog-page .catalog-bottom-bg {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(90deg,rgba(4,18,13,.66),rgba(4,18,13,.31) 55%,rgba(4,18,13,.49)) !important;
  pointer-events: none;
}
.catalog-page .catalog-bottom-copy::before { content: none !important; display: none !important; }
.catalog-page .catalog-bottom-inner {
  min-height: 310px !important;
  grid-template-columns: 36% minmax(0,1fr) !important;
  align-items: end !important;
  gap: 22px !important;
  padding-top: 50px !important;
  padding-bottom: 34px !important;
}
.catalog-page .catalog-bottom-copy h2 { color: #fff !important; font-size: clamp(48px,5.2vw,74px) !important; line-height: .88 !important; text-shadow: 0 2px 12px rgba(0,0,0,.55) !important; }
.catalog-page .catalog-bottom-copy p { color: #fff !important; font-size: 16px !important; line-height: 1.35 !important; text-shadow: 0 2px 10px rgba(0,0,0,.6) !important; }
.catalog-page .catalog-bottom-features { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; gap: 10px !important; }
.catalog-page .feature-box,
.catalog-page .feature-box:nth-child(n) { display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; min-height: 104px !important; gap: 5px !important; padding: 8px !important; border: 1px solid rgba(255,255,255,.36) !important; border-radius: 9px !important; background: rgba(4,17,12,.50) !important; box-shadow: none !important; color: #fff !important; font: 500 11px/1.2 'Manrope',sans-serif !important; text-align: center !important; }
.catalog-page .feature-icon { display: block; font: 34px/1 'Cormorant Garamond',serif; }
.catalog-page #catalog-footer.panorama-footer.site-footer-lite { margin-top: 0 !important; padding: 20px 0 !important; overflow: hidden !important; background: #12251c !important; }
.catalog-page #catalog-footer .footer-panorama,
.catalog-page #catalog-footer .footer-panorama-shade { display: none !important; }
.catalog-page #catalog-footer .footer-grid { position: relative; z-index: 1; padding: 18px 0 0 !important; }

@media (max-width: 1300px) {
  .catalog-page .catalog-title-branch { left: -18px !important; }
}
@media (max-width: 900px) {
  .catalog-page .catalog-search { grid-template-columns: repeat(3,minmax(0,1fr)) !important; row-gap: 5px !important; }
  .catalog-page .catalog-search .search-submit { grid-column: auto !important; }
  .catalog-page .catalog-search .search-field { min-width: 0; }
  .catalog-page .catalog-layout { grid-template-columns: 160px minmax(0,1fr) !important; gap: 14px !important; }
  .catalog-page .catalog-content .tour-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .catalog-page .catalog-bottom-inner { grid-template-columns: 1fr !important; }
}
@media (max-width: 640px) {
  .catalog-page .catalog-title-branch { left: -12px !important; }
}
@media (max-width: 620px) {
  .catalog-page .catalog-hero { padding-top: 18px !important; padding-bottom: 8px !important; }
  .catalog-page .catalog-hero-grid { display: block !important; min-height: 0 !important; }
  .catalog-page .catalog-hero-decor { display: none !important; height: 0 !important; }
  .catalog-page .catalog-breadcrumbs { margin-bottom: 22px !important; }
  .catalog-page .catalog-title { font-size: clamp(58px,14vw,82px) !important; }
  .catalog-page .catalog-hero-art { right: 0 !important; width: 30% !important; height: auto !important; opacity: .72 !important; }
  .catalog-page .catalog-search { grid-template-columns: 1fr 1fr !important; margin-top: 12px !important; }
  .catalog-page .catalog-search .search-field:first-child { grid-column: 1 / -1; }
  .catalog-page .catalog-search .search-submit { grid-column: 1 / -1 !important; }
  .catalog-page .catalog-mini-btn,.catalog-page .catalog-reset { min-height: 38px !important; }
  .catalog-page .catalog-layout { display: flex !important; flex-direction: column !important; gap: 18px !important; padding-top: 14px !important; }
  .catalog-page .catalog-sidebar { display: flex !important; flex-wrap: nowrap !important; gap: 5px !important; width: 100%; overflow-x: auto; padding-bottom: 5px !important; }
  .catalog-page .catalog-side-link,
  .catalog-page .catalog-side-link.active { display: inline-flex !important; flex: 0 0 auto !important; width: auto !important; min-height: 38px !important; gap: 5px !important; padding: 0 9px !important; margin: 0 !important; border: 1px solid #e6eae4 !important; border-radius: 7px !important; }
  .catalog-page .catalog-side-link .side-icon { width: 16px; height: 16px; }
  .catalog-page .catalog-sidebar .sidebar-promo { display: none !important; }
  .catalog-page .catalog-content { width: 100%; }
  .catalog-page .catalog-toolbar { align-items: flex-start !important; }
  .catalog-page .catalog-content .tour-grid { gap: 9px !important; }
  .catalog-page .real-tour-card .tour-card-body { padding: 9px !important; }
  .catalog-page .real-tour-card .tour-card-body h3 { font-size: 21px !important; }
  .catalog-page .real-tour-card .tour-card-body p { font-size: 10px !important; }
  .catalog-page .real-tour-card .tour-meta { font-size: 9px !important; }
  .catalog-page .real-tour-card .tour-bottom strong { font-size: 15px !important; }
  .catalog-page .catalog-bottom-features { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 390px) {
  .catalog-page .catalog-content .tour-grid { grid-template-columns: 1fr !important; }
}

/* Illustration and side foliage stay behind the actual controls. */
.catalog-page .catalog-sketch-pines {
  position: absolute;
  z-index: 1;
  left: -35%;
  bottom: 8px;
  width: clamp(112px, 15vw, 190px);
  height: auto;
  opacity: .78;
  pointer-events: none;
}
.catalog-page .catalog-results-band { isolation: isolate; }
.catalog-page .catalog-results-band::before,
.catalog-page .catalog-results-band::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  top: 24px;
  width: clamp(240px, 39vw, 400px);
  aspect-ratio: 2 / 3;
  background: url('assets/images/catalog-side-spruce.png') center / contain no-repeat;
  opacity: .92;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 16%, #000 74%, transparent);
  mask-image: linear-gradient(to bottom, transparent, #000 16%, #000 74%, transparent);
}
.catalog-page .catalog-results-band::before { left: clamp(-82px, -8vw, -55px); transform: scaleX(-1); }
.catalog-page .catalog-results-band::after { right: clamp(-82px, -8vw, -55px); top: 96px; }
.catalog-page .catalog-layout { position: relative; z-index: 2 !important; }

/* The phone menu uses the same light palette as the catalogue. */
@media (max-width: 820px) {
  .catalog-page .site-header-light { position: sticky !important; top: 0 !important; z-index: 100 !important; }
  .catalog-page .header-inner { height: 70px !important; min-height: 70px !important; }
  .catalog-page .header-actions { margin-left: auto !important; }
  .catalog-page .menu-toggle { display: block !important; position: relative; z-index: 102; color: #1e3629 !important; }
  .catalog-page .menu-toggle span { transition: transform .2s ease; }
  .catalog-page .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .catalog-page .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .catalog-page .main-nav-light {
    position: fixed !important;
    top: 70px !important;
    left: 12px !important;
    right: 12px !important;
    bottom: auto !important;
    z-index: 101 !important;
    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    max-height: calc(100vh - 84px);
    max-height: calc(100dvh - 84px);
    overflow-y: auto;
    padding: 10px !important;
    border: 1px solid #dde6dc !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: #1e3629 !important;
    box-shadow: 0 18px 45px rgba(16,39,22,.16) !important;
    backdrop-filter: none !important;
    white-space: normal !important;
  }
  .catalog-page .main-nav-light.is-open { display: flex !important; }
  .catalog-page .main-nav-light a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 8px 12px;
    border-bottom: 1px solid #edf1ea;
    color: #1e3629 !important;
    opacity: 1 !important;
    font-size: 14px !important;
    font-weight: 600;
    text-shadow: none !important;
  }
  .catalog-page .main-nav-light .mobile-nav-only { display: flex; }
  .catalog-page .main-nav-light a:last-child { border-bottom: 0; }
  .catalog-page .main-nav-light a:hover,
  .catalog-page .main-nav-light a:focus-visible { background: #edf4ea; border-radius: 8px; }
}

@media (max-width: 620px) {
  .catalog-page .catalog-results-band::before,
  .catalog-page .catalog-results-band::after,
  .catalog-page .catalog-sketch-pines { display: none; }
}
@media (max-width: 520px) {
  .catalog-page .catalog-hero-art { display: none !important; }
}

/* V103: catalogue composition based on the supplied reference. */
.catalog-page { --catalog-lime: #91ef59; --catalog-lime-hover: #79df44; }
.catalog-page .site-header-light { position: relative; z-index: 20; }
.catalog-page .site-header-light::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: -42px;
  left: -62px;
  width: 126px;
  height: 110px;
  background: url('assets/images/catalog-title-branch.png') center / contain no-repeat;
  transform: rotate(-18deg);
  pointer-events: none;
}
.catalog-page .header-inner { position: relative; z-index: 1; }
.catalog-page .header-cta {
  background: var(--catalog-lime) !important;
  border-color: var(--catalog-lime) !important;
  color: #132416 !important;
  border-radius: 22px !important;
  font-weight: 700;
}
.catalog-page .header-cta:hover { background: var(--catalog-lime-hover) !important; }
.catalog-page .catalog-hero.shell {
  width: 100% !important;
  max-width: none !important;
  padding: 0 0 4px !important;
}
.catalog-page .catalog-hero-grid {
  position: relative !important;
  z-index: 3 !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
  align-items: center !important;
  min-height: clamp(240px, 18vw, 300px) !important;
  overflow: visible !important;
  background: transparent;
}
.catalog-page .catalog-hero-photo {
  position: relative;
  inset: auto;
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  min-width: 0;
  height: 100%;
  min-height: 240px;
  z-index: 0;
  background: url('assets/images/catalog-header-cutout-v98.png') center bottom / contain no-repeat;
  filter: contrast(1.16) saturate(1.14) brightness(.98);
  pointer-events: none;
}
.catalog-page .catalog-hero-grid::after {
  content: none !important;
  display: none !important;
}
.catalog-page .catalog-title-branch,
.catalog-page .catalog-hero-decor,
.catalog-page .catalog-hero-art { display: none !important; }
.catalog-page .catalog-hero-copy {
  grid-column: 1;
  grid-row: 1;
  width: 100% !important;
  min-width: 0;
  max-width: none !important;
  padding: 26px 18px 24px clamp(98px, 8vw, 150px) !important;
}
.catalog-page .catalog-breadcrumbs {
  margin: 0 0 16px !important;
  padding-left: 0 !important;
  color: #292e2a !important;
  font-size: 12px !important;
}
.catalog-page .catalog-title {
  margin: 0 0 12px !important;
  color: #102d1d !important;
  font-weight: 500 !important;
  font-size: clamp(58px, 6.1vw, 106px) !important;
  line-height: 1.04 !important;
  white-space: normal;
  overflow: visible !important;
}
.catalog-page .catalog-intro {
  max-width: 520px !important;
  color: #252d26 !important;
  font-size: clamp(12px, 1.25vw, 15px) !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
}
.catalog-page .catalog-search {
  grid-template-columns: minmax(0,1.35fr) minmax(0,1fr) minmax(0,.9fr) minmax(138px,160px) 48px 78px !important;
  align-items: center !important;
  gap: 4px !important;
  width: min(calc(100% - 110px), 1500px);
  margin: 8px auto 0 !important;
  z-index: 20 !important;
  padding: 6px !important;
  border: 1px solid #cadbbd !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 28px rgba(20,57,27,.15) !important;
  background: #f0f6e9 !important;
}
.catalog-page .catalog-search .search-field,
.catalog-page .catalog-search .search-submit,
.catalog-page .catalog-mini-btn,
.catalog-page .catalog-reset { min-height: 53px !important; }
.catalog-page .catalog-search .search-field {
  min-width: 0;
  padding: 4px clamp(8px, 1.4vw, 19px) !important;
  border: 0 !important;
  border-right: 1px solid #e4e8e1 !important;
  border-radius: 0 !important;
  background: #f8fbf4 !important;
}
.catalog-page .catalog-search .search-field input { min-width: 0; font-size: 13px !important; font-weight: 500; color: #183623; }
.catalog-page .catalog-search .search-field svg { width: 18px; height: 18px; color: #1e3022 !important; }
.catalog-page .catalog-search .search-submit,
.catalog-page .catalog-search .search-submit:hover {
  margin: 0 !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg,#9af85c,#71e63e) !important;
  box-shadow: 0 4px 12px rgba(77,158,30,.18);
  color: #10230d !important;
  font-weight: 700 !important;
  white-space: nowrap;
}
.catalog-page .catalog-search .search-submit:hover { background: var(--catalog-lime-hover) !important; }
.catalog-page .catalog-mini-btn { margin: 0 2px !important; background: #fff !important; border-color: #e5e9e2 !important; }
.catalog-page .catalog-layout { padding-top: 13px !important; gap: 22px !important; }
.catalog-page .catalog-content .tour-grid { grid-template-columns: repeat(auto-fill,minmax(230px,1fr)) !important; gap: 12px !important; }
.catalog-page .real-tour-card { max-width: 330px; }
.catalog-page .catalog-side-link.active,
.catalog-page .catalog-side-link.active:hover {
  background: linear-gradient(125deg,#145e22,#075017) !important;
}
.catalog-page .catalog-side-link.active b { padding: 4px 7px; border-radius: 20px; background: rgba(132,236,85,.35); opacity: 1 !important; }
.catalog-page .real-tour-card .tour-tag { background: #1d7f2b !important; color: #fff !important; border-radius: 5px !important; }
.catalog-page .real-tour-card .tour-bottom strong { font-size: 17px !important; }
.catalog-page .page-num.current {
  background: var(--catalog-lime) !important;
  border-color: var(--catalog-lime) !important;
  color: #17301b !important;
  border-radius: 50% !important;
}
.catalog-page .sidebar-promo .button-outline,
.catalog-page .sidebar-promo .button-outline:hover {
  background: var(--catalog-lime) !important;
  border-color: var(--catalog-lime) !important;
  color: #142716 !important;
  font-weight: 700 !important;
}
.catalog-page .catalog-bottom-cta {
  min-height: 370px !important;
  overflow: visible !important;
  background: url('assets/images/catalog-footer-cutout-v98.png') center / 100% 100% no-repeat, linear-gradient(to bottom, #fff 55%, #10251c 55%) !important;
}
.catalog-page .catalog-bottom-bg {
  background: linear-gradient(to bottom, transparent 55%, rgba(4,19,13,.30) 75%, rgba(4,19,13,.50)) !important;
  pointer-events: none;
}
.catalog-page .catalog-bottom-cta::before {
  content: none !important;
  display: none !important;
}
.catalog-page .catalog-bottom-inner {
  position: relative;
  z-index: 3 !important;
  min-height: 370px !important;
  padding-top: clamp(220px, 20vw, 380px) !important;
  padding-bottom: 30px !important;
}
.catalog-page .feature-box,
.catalog-page .feature-box:nth-child(n) { background: rgba(6,29,19,.70) !important; border-color: rgba(199,240,192,.32) !important; }
.catalog-page .feature-icon { color: var(--catalog-lime); }

/* Pine border stays behind the white cards and controls. */
.catalog-page .catalog-results-band::before,
.catalog-page .catalog-results-band::after {
  position: fixed !important;
  top: 0 !important;
  width: clamp(96px, 12vw, 170px) !important;
  height: min(100vh, 700px) !important;
  aspect-ratio: auto !important;
  background: url('assets/images/catalog-edge-pine-v99.png') left top / 100% auto no-repeat !important;
  opacity: 1 !important;
  transform: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  pointer-events: none;
}
.catalog-page .catalog-results-band::before { left: 0 !important; right: auto !important; }
.catalog-page .catalog-results-band::after { left: auto !important; right: 0 !important; top: 140px !important; transform: scaleX(-1) !important; width: clamp(78px, 10vw, 140px) !important; }
.catalog-page .site-header-light::before { display: none; }
@media (max-width: 1100px) and (min-width: 901px) {
  .catalog-page .catalog-search { grid-template-columns: minmax(0,1.35fr) minmax(0,1fr) minmax(0,.8fr) 150px 45px 74px !important; }
}
@media (max-width: 900px) {
  .catalog-page .catalog-hero-grid {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    min-height: 0 !important;
  }
  .catalog-page .catalog-hero-copy {
    order: 1;
    width: 100% !important;
    padding: 24px 36px clamp(156px, 44vw, 306px) !important;
  }
  .catalog-page .catalog-breadcrumbs { margin-bottom: 20px !important; }
  .catalog-page .catalog-title { font-size: clamp(52px, 8vw, 78px) !important; line-height: 1.05 !important; }
  .catalog-page .catalog-intro { max-width: 610px !important; font-size: 13px !important; line-height: 1.5 !important; }
  .catalog-page .catalog-hero-photo {
    position: absolute !important;
    inset: auto 0 0 !important;
    width: 100% !important;
    height: clamp(180px, 50vw, 340px) !important;
    min-height: 0 !important;
    max-height: none;
    aspect-ratio: auto;
    margin: 0;
    background-image: url('assets/images/catalog-mobile-landscape-v101.png');
    background-position: center bottom;
    background-size: contain;
    filter: contrast(1.04) saturate(1.04);
  }
  .catalog-page .catalog-search {
    grid-template-columns: minmax(0,1.3fr) minmax(0,1fr) minmax(0,.82fr) 135px 46px 72px !important;
    row-gap: 0 !important;
    width: calc(100% - 40px) !important;
    margin: 8px auto 0 !important;
  }
  .catalog-page .catalog-search .search-field:first-child { grid-column: auto; }
  .catalog-page .catalog-search .search-submit { grid-column: auto !important; }
  .catalog-page .catalog-content .tour-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .catalog-page .catalog-results-band::before,
  .catalog-page .catalog-results-band::after {
    display: block !important;
    width: clamp(42px, 9vw, 76px) !important;
    height: min(78vh, 520px) !important;
    top: 108px !important;
  }
  .catalog-page .catalog-results-band::after {
    top: 220px !important;
    width: clamp(36px, 8vw, 66px) !important;
  }
}
@media (max-width: 720px) {
  .catalog-page .catalog-search { grid-template-columns: repeat(6,minmax(0,1fr)) !important; gap: 4px !important; width: calc(100% - 28px) !important; }
  .catalog-page .catalog-search .search-field { grid-column: span 2 !important; min-height: 46px !important; border-right: 0 !important; border-bottom: 1px solid #e4e8e1 !important; }
  .catalog-page .catalog-search .search-submit { grid-column: span 4 !important; min-height: 44px !important; }
  .catalog-page .catalog-mini-btn { grid-column: span 1; min-height: 44px !important; }
  .catalog-page .catalog-reset { grid-column: span 1; min-height: 44px !important; }
}
@media (max-width: 620px) {
  .catalog-page .catalog-hero-copy { padding: 20px 32px clamp(156px, 44vw, 273px) !important; }
  .catalog-page .catalog-title { font-size: clamp(48px, 11vw, 67px) !important; }
  .catalog-page .catalog-intro { max-width: none !important; font-size: 12px !important; }
  .catalog-page .catalog-search .search-field:first-child { grid-column: span 2 !important; }
  .catalog-page .catalog-search .search-submit { grid-column: span 4 !important; }
  .catalog-page .catalog-bottom-inner { padding-top: 300px !important; min-height: 600px !important; }
}
@media (max-width: 480px) {
  .catalog-page .catalog-title { font-size: clamp(46px, 12vw, 58px) !important; }
  .catalog-page .catalog-search .search-field { grid-column: span 3 !important; }
  .catalog-page .catalog-search .search-field:first-child { grid-column: 1 / -1 !important; }
  .catalog-page .catalog-content .tour-grid { grid-template-columns: 1fr !important; }
}

/* V107: raised and softened landscape in the mobile layout. */
@media (max-width: 900px) {
  .catalog-page .catalog-hero-grid { min-height: max(230px, 44vw) !important; }
  .catalog-page .catalog-hero-copy {
    padding: 20px 32px 42px !important;
    text-shadow: 0 1px 8px #fff, 0 0 3px #fff;
  }
  .catalog-page .catalog-hero-photo {
    position: absolute !important;
    inset: calc(-1 * clamp(36px, 7vw, 64px)) 0 auto !important;
    width: 100% !important;
    height: calc(100% + clamp(36px, 7vw, 64px)) !important;
    min-height: 0 !important;
    max-height: none;
    aspect-ratio: auto;
    margin: 0;
    background-image: url('assets/images/catalog-mobile-landscape-v101.png');
    background-position: center bottom;
    background-size: 100% auto;
    filter: contrast(1.04) saturate(1.04);
    -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,.12) 0%, rgba(0,0,0,.20) 55%, rgba(0,0,0,.85) 95%);
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.12) 0%, rgba(0,0,0,.20) 55%, rgba(0,0,0,.85) 95%);
  }
}
