/* Kyrgyz Seasons — знак в шапке и цвета сезонов. Предложение 06.10.2026, подключается после site.css.
   Цвета сезонов — из знака (четыре вершины): зима, весна, лето, осень. Они живут только в тонких
   элементах — линейка в 3 px, точка, черта под месяцем; площади, текст и карточки цветом не заливаются. */
:root {
  --winter: #4f507b;
  --spring: #397949;
  --summer: #00929f;
  --autumn: #c0851f;
  --season-strip: linear-gradient(90deg, var(--winter) 0 25%, var(--spring) 25% 50%, var(--summer) 50% 75%, var(--autumn) 75% 100%);
}

/* Знак в шапке: горизонтальный логотип вместо треугольника и слова */
.brand .logo { display: block; height: 34px; width: auto; }

/* Сезонная линейка: низ шапки и верх подвала */
.hd { border-bottom: 0; }
.hd::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--season-strip); }
.ft { border-top: 0; position: relative; }
.ft::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--season-strip); }

/* Блок «Четыре сезона»: черта под заголовком и точка — цветом своего сезона */
.sp[data-season="winter"] { --s: var(--winter); }
.sp[data-season="spring"] { --s: var(--spring); }
.sp[data-season="summer"] { --s: var(--summer); }
.sp[data-season="autumn"] { --s: var(--autumn); }
.sp-h { border-bottom: 3px solid var(--s, var(--ink)); }
.sp-h h3::before { content: ""; display: inline-block; width: .32em; height: .32em; border-radius: 50%; background: var(--s, var(--ink)); margin-right: .32em; vertical-align: .14em; }

/* Месяцы в таблице температур и в выборе месяца: короткая черта цвета сезона */
[data-mc="12"], [data-mc="1"], [data-mc="2"] { --m: var(--winter); }
[data-mc="3"], [data-mc="4"], [data-mc="5"] { --m: var(--spring); }
[data-mc="6"], [data-mc="7"], [data-mc="8"] { --m: var(--summer); }
[data-mc="9"], [data-mc="10"], [data-mc="11"] { --m: var(--autumn); }
.tbl thead th[data-mc] { box-shadow: inset 0 -3px 0 var(--m); }
.months button:nth-child(12), .months button:nth-child(1), .months button:nth-child(2) { --m: var(--winter); }
.months button:nth-child(n+3):nth-child(-n+5) { --m: var(--spring); }
.months button:nth-child(n+6):nth-child(-n+8) { --m: var(--summer); }
.months button:nth-child(n+9):nth-child(-n+11) { --m: var(--autumn); }
.months button { box-shadow: inset 0 -3px 0 var(--m, transparent); }

/* Подвал сайта (07.10.2026): знак и строка о сайте, области, города, сводные по Караколу, разделы; внизу — авторы фото страницы.
   Одинаков на всех страницах, включая главную и карту (у них свой home.css), поэтому значения — с запасными */
.sf { padding: 40px 0 28px; font-size: 14px; color: var(--ink-2, #46505c); }
.sf-in { display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(4, minmax(0, 1fr)); gap: 32px 28px; }
.sf-brand img { display: block; height: 34px; width: auto; }
.sf-brand p { margin: 14px 0 0; max-width: 30ch; font: 400 18px/1.4 var(--serif, var(--display, Georgia, serif)); color: var(--ink, #1b2430); }
.sf-social { margin-top: 22px; }
.sf-social .sf-h { margin-bottom: 10px; }
.sf-social-links { display: flex; flex-wrap: wrap; gap: 10px 16px; }
.sf-social-link { display: inline-flex; align-items: center; gap: 7px; min-width: 0; }
.sf-social-link svg { width: 17px; height: 17px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; }
.sf-social-link svg path, .sf-social-link svg rect, .sf-social-link svg circle { vector-effect: non-scaling-stroke; }
.sf-social-link .sf-social-fill { fill: currentColor; stroke: none; }
.sf-social-link .sf-social-dot { fill: currentColor; stroke: none; }
.sf-h { margin: 0 0 12px; font: 500 11px/1 var(--sans, system-ui, sans-serif); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3, #6b7480); }
.sf-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.sf a { color: var(--ink-2, #46505c); text-decoration: none; }
.sf a:hover { color: var(--ink, #1b2430); text-decoration: underline; text-underline-offset: 3px; }
.sf-base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; margin-top: 36px; padding-top: 18px; border-top: 1px solid var(--line, #ddd6c8); font-size: 13px; color: var(--ink-3, #6b7480); }
@media (max-width: 1000px) { .sf-in { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sf-brand { grid-column: 1 / -1; } }
@media (max-width: 420px) { .sf-in { gap: 28px 16px; } .sf-col a { display: inline-block; padding: 2px 0; } }

/* Страница 404 */
.nf { padding: clamp(56px, 10vw, 120px) 0 24px; }
.nf-k { margin: 0 0 8px; font: 500 12px/1 var(--sans); letter-spacing: .16em; color: var(--ink-3); }
.nf h1 { margin: 0; font: 400 clamp(36px, 6vw, 64px)/1.05 var(--serif); }
.nf-t { margin: 16px 0 0; max-width: 46ch; font-size: 18px; color: var(--ink-2); }
.nf-go { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin: 28px 0 0; }
.nf-go a { color: var(--ink); }
.nf-btn { display: inline-block; padding: 12px 22px; border-radius: 999px; background: var(--ink); color: var(--paper) !important; text-decoration: none; }
.nf-list { list-style: none; margin: 40px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); border-top: 1px solid var(--line); }
.nf-list { column-gap: 24px; }
.nf-list li { border-bottom: 1px solid var(--line); }
.nf-list a { display: block; padding: 14px 0; color: var(--ink); text-decoration: none; font: 400 20px/1.3 var(--serif); }
.nf-list a:hover { color: var(--ink-2); }

/* Заявка на поездку: один компонент в первом экране, в конце «В дорогу» и в мобильной плашке. */
.inquiry { display: flex; align-items: center; justify-content: space-between; gap: 18px 28px; margin-top: 24px; padding: 18px 20px; border: 1px solid var(--line, #d8d1c3); border-radius: 10px; background: var(--card, #fffdf9); box-shadow: 0 12px 32px -24px rgba(27, 36, 48, .35); }
.inquiry::before { content: ""; align-self: stretch; width: 3px; min-height: 42px; border-radius: 3px; background: linear-gradient(180deg, var(--winter) 0 25%, var(--spring) 25% 50%, var(--summer) 50% 75%, var(--autumn) 75%); flex: none; }
.inquiry-prompt { display: grid; gap: 4px; margin-right: auto; }
.inquiry-prompt small { color: var(--ink-3, #66707c); font: 500 11px/1 var(--sans, system-ui, sans-serif); letter-spacing: .12em; text-transform: uppercase; }
.inquiry-prompt strong { color: var(--ink, #1b2430); font: 500 17px/1.25 var(--sans, system-ui, sans-serif); }
.inquiry-actions { display: inline-flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 10px 16px; }
.inquiry-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; padding: 11px 18px; border: 1px solid var(--ink, #1b2430); border-radius: 999px; background: var(--ink, #1b2430); color: var(--paper, #f6f3ec); font: 500 14px/1.2 var(--sans, system-ui, sans-serif); text-decoration: none; }
.inquiry-button:hover { background: var(--ink-2, #49535f); border-color: var(--ink-2, #49535f); color: var(--white, #fff); }
.inquiry-email, .inquiry-sticky-email { color: var(--ink-2, #49535f); font: 500 13px/1.2 var(--sans, system-ui, sans-serif); text-underline-offset: 3px; }
.inquiry-wrap { margin-top: 32px; }
.inquiry-end { margin-top: 0; }

/* Контекст страницы: сводки, программы и список мест из сводной. Компонент «Высотомера», только его токены. */
.context-intro { color: var(--ink-2, #46505c); max-width: 58ch; }
.context-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.context-group { min-width: 0; padding: 24px; border: 1px solid var(--line, #d8d1c3); border-radius: 10px; background: var(--white, #fff); }
.context-group h3 { margin: 0 0 16px; color: var(--ink, #1b2430); font: 400 24px/1.2 var(--serif, Georgia, serif); }
.context-links { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.context-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 40px; padding: 9px 13px; border: 1px solid var(--line-2, #c8c0b2); border-radius: 999px; background: var(--paper, #f6f3ec); color: var(--ink-2, #46505c); font: 500 14px/1.25 var(--sans, system-ui, sans-serif); text-decoration: none; }
.context-link:hover { border-color: var(--ink, #1b2430); color: var(--ink, #1b2430); }
.context-link span { color: var(--ink-3, #6b7480); }
@media (max-width: 680px) { .context-grid { grid-template-columns: 1fr; } .context-group { padding: 18px; } .context-link { width: 100%; } }
.inquiry-sticky { display: none; }

@media (max-width: 700px) {
  .inquiry { align-items: stretch; flex-direction: column; padding: 16px; }
  .inquiry::before { width: 100%; min-height: 3px; height: 3px; }
  .inquiry-actions { align-items: stretch; flex-direction: column; }
  .inquiry-button { width: 100%; }
  .inquiry-email { align-self: center; padding: 5px; }
  .has-inquiry-sticky body { padding-bottom: calc(82px + env(safe-area-inset-bottom)); }
  .inquiry-sticky { position: fixed; z-index: 29; left: max(10px, env(safe-area-inset-left)); right: max(10px, env(safe-area-inset-right)); bottom: max(10px, env(safe-area-inset-bottom)); display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 4px 12px; padding: 10px 10px 10px 14px; border: 1px solid var(--line, #d8d1c3); border-radius: 14px; background: color-mix(in oklab, var(--paper, #f6f3ec) 94%, transparent); box-shadow: 0 12px 36px rgba(27, 36, 48, .2); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); visibility: hidden; opacity: 0; transform: translateY(calc(100% + 20px)); transition: opacity 180ms ease, transform 220ms ease, visibility 220ms; }
  .inquiry-sticky.is-visible { visibility: visible; opacity: 1; transform: translateY(0); }
  .inquiry-sticky-name { overflow: hidden; color: var(--ink-2, #49535f); font: 500 12px/1.25 var(--sans, system-ui, sans-serif); text-overflow: ellipsis; white-space: nowrap; }
  .inquiry-sticky-actions { display: inline-flex; align-items: center; gap: 10px; }
  .inquiry-sticky .inquiry-button { width: auto; min-height: 42px; max-width: 58vw; padding: 10px 14px; overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
  .inquiry-sticky-email { padding: 8px 2px; }
}

@media (prefers-reduced-motion: reduce) {
  .inquiry-sticky { transition: none; }
}
