/* У Raleway кавычки-ёлочки похожи на «<<» — подменяем только их системным гротеском (без загрузки файлов). */
@font-face { font-family: 'cm-quotes'; src: local('Helvetica Neue'), local('HelveticaNeue'), local('Arial'), local('ArialMT'), local('Roboto'), local('DejaVu Sans'); font-weight: 100 600; unicode-range: U+00AB, U+00BB, U+201E, U+201C; }
@font-face { font-family: 'cm-quotes'; src: local('Helvetica Neue Bold'), local('HelveticaNeue-Bold'), local('Arial Bold'), local('Arial-BoldMT'), local('Roboto Bold'), local('Roboto-Bold'), local('DejaVu Sans Bold'); font-weight: 700 900; unicode-range: U+00AB, U+00BB, U+201E, U+201C; }

/* =====================================================================
   «Чемодан» — «Открытки и посадочные талоны»
   Тёплое солнечное тревел-издание: песок, тёмно-синий, морской, коралл, небо.
   Raleway (очень жирные заголовки) · Golos (текст, интерфейс) · Caveat (рукописные пометки).
   Все селекторы внутри .theme-chemodan, свои классы — с префиксом cm-.
   ===================================================================== */

.theme-chemodan {
  --cm-sand: #F6F1E9;
  --cm-sand-2: #EDE3D3;
  --cm-sand-3: #E2D4BE;
  --cm-paper: #FFFDF9;
  --cm-ink: #1C2430;
  --cm-ink-2: #283342;
  --cm-body: #2C3540;
  --cm-muted: #5D6573;
  --cm-line: rgba(28, 36, 48, .12);
  --cm-dash: rgba(28, 36, 48, .2);
  --cm-sea: #0E6BA8;
  --cm-sea-ink: #0B5A8E;
  --cm-coral: #F2704E;
  --cm-coral-ink: #BC4528;
  --cm-sky: #9FD3E6;
  --cm-sky-soft: #DCEEF5;
  --cm-display: 'cm-quotes', var(--f-raleway), 'Raleway', system-ui, sans-serif;
  --cm-sans: var(--f-golos), 'Golos Text', system-ui, sans-serif;
  --cm-hand: var(--f-caveat), 'Caveat', 'Segoe Print', cursive;
  --cm-shadow: 0 1px 0 rgba(28, 36, 48, .05), 0 22px 44px -30px rgba(28, 36, 48, .42);
  --cm-shadow-up: 0 1px 0 rgba(28, 36, 48, .05), 0 30px 56px -30px rgba(28, 36, 48, .5);
  --hole: var(--cm-sand);
  background:
    radial-gradient(1100px 560px at 92% -180px, rgba(242, 112, 78, .13), transparent 70%),
    radial-gradient(900px 520px at -8% 120px, rgba(159, 211, 230, .22), transparent 70%),
    var(--cm-sand);
  color: var(--cm-ink);
  font-family: var(--cm-sans);
  overflow-x: clip;
}
/* базовые стили берут шрифты из --font-*: Caveat из токена оставляем только для рукописных пометок */
.theme-chemodan > * { --font-ui: var(--cm-sans); --font-body: var(--cm-sans); --font-display: var(--cm-display); }
.theme-chemodan ::selection { background: var(--cm-sky); color: var(--cm-ink); }
.theme-chemodan h1, .theme-chemodan h2, .theme-chemodan h3 {
  font-family: var(--cm-display); font-weight: 800; letter-spacing: -.018em; font-variant-numeric: lining-nums; color: inherit;
}
.theme-chemodan a:focus-visible, .theme-chemodan button:focus-visible, .theme-chemodan input:focus-visible,
.theme-chemodan textarea:focus-visible, .theme-chemodan [tabindex]:focus-visible {
  outline: 2.5px solid var(--cm-sea); outline-offset: 3px; border-radius: 8px;
}
.theme-chemodan .cm-hand { font-family: var(--cm-hand); font-weight: 600; letter-spacing: 0; text-transform: none; }
.theme-chemodan .cover { background: var(--cm-sand-2); }

/* ---------- тона рубрик (гейтов) ---------- */
.theme-chemodan .cm-tone-sea { --tone: var(--cm-sea); --tone-on: #fff; --tone-soft: #E4EFF6; --tone-text: var(--cm-sea-ink); }
.theme-chemodan .cm-tone-coral { --tone: var(--cm-coral); --tone-on: var(--cm-ink); --tone-soft: #FCE8DF; --tone-text: var(--cm-coral-ink); }
.theme-chemodan .cm-tone-sky { --tone: var(--cm-sky); --tone-on: var(--cm-ink); --tone-soft: #E3F2F7; --tone-text: var(--cm-sea-ink); }
.theme-chemodan .cm-tone-ink { --tone: var(--cm-ink); --tone-on: var(--cm-sand); --tone-soft: #ECE7DF; --tone-text: var(--cm-ink); }

/* ---------- мелкие детали: метки, чипсы, кнопки ---------- */
.theme-chemodan .cm-label {
  font: 700 11px/1.25 var(--cm-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--cm-muted);
}
.theme-chemodan .cm-chip {
  display: inline-flex; align-items: center; gap: 7px; height: 32px; padding: 0 14px 0 11px; border-radius: 999px;
  background: var(--tone, var(--cm-sea)); color: var(--tone-on, #fff);
  font: 700 12.5px/1 var(--cm-sans); letter-spacing: .03em; white-space: nowrap; transition: background-color .2s, color .2s;
}
.theme-chemodan a.cm-chip:hover { background: var(--cm-ink); color: var(--cm-sand); }

.theme-chemodan .cm-btn, .theme-chemodan .btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 50px; padding: 0 24px;
  border: 0; border-radius: 999px; cursor: pointer; background: var(--cm-coral); color: var(--cm-ink);
  font: 700 15px/1 var(--cm-sans); letter-spacing: .005em; white-space: nowrap; opacity: 1;
  box-shadow: 0 14px 24px -16px rgba(188, 69, 40, .9);
  transition: background-color .2s, color .2s, transform .2s, box-shadow .2s;
}
.theme-chemodan .btn { height: 46px; padding: 0 22px; font-size: 14.5px; }
.theme-chemodan .cm-btn:hover, .theme-chemodan .btn:hover { background: var(--cm-ink); color: var(--cm-sand); transform: translateY(-2px); opacity: 1; box-shadow: 0 16px 26px -16px rgba(28, 36, 48, .8); }
.theme-chemodan .cm-btn svg { transition: transform .2s; }
.theme-chemodan .cm-btn:hover svg { transform: translateX(3px); }
.theme-chemodan .cm-btn--line, .theme-chemodan .btn.ghost { background: transparent; color: var(--cm-ink); box-shadow: inset 0 0 0 1.5px var(--cm-ink); }
.theme-chemodan .cm-btn--line:hover, .theme-chemodan .btn.ghost:hover { background: var(--cm-ink); color: var(--cm-sand); box-shadow: none; }
.theme-chemodan .btn:disabled { opacity: .6; cursor: progress; transform: none; }

/* ---------- штрихкод, штемпель, марка ---------- */
.theme-chemodan .cm-barcode { display: block; color: var(--cm-ink); }
.theme-chemodan .cm-postmark { display: block; overflow: visible; mix-blend-mode: multiply; pointer-events: none; }
.theme-chemodan .cm-pm-text { font-family: var(--cm-sans); font-weight: 700; }
.theme-chemodan .cm-pm-big { font-family: var(--cm-display); font-weight: 900; font-variant-numeric: lining-nums; }

.theme-chemodan .cm-stamp { display: inline-block; width: 96px; filter: drop-shadow(0 8px 10px rgba(28, 36, 48, .16)); flex: none; }
.theme-chemodan .cm-stamp-paper {
  display: block; padding: 6px; background: var(--cm-paper);
  -webkit-mask: radial-gradient(circle at 5px 5px, #0000 3px, #000 3.5px) -5px -5px / 10px 10px round, linear-gradient(#000 0 0) content-box;
  mask: radial-gradient(circle at 5px 5px, #0000 3px, #000 3.5px) -5px -5px / 10px 10px round, linear-gradient(#000 0 0) content-box;
}
.theme-chemodan .cm-stamp-face {
  position: relative; display: grid; justify-items: center; align-content: space-between; aspect-ratio: 4 / 5;
  padding: 8px 6px 8px; background: var(--tone, var(--cm-sea)); color: var(--tone-on, #fff); overflow: hidden;
}
.theme-chemodan .cm-stamp-face::after { content: ''; position: absolute; inset: 3px; border: 1px solid currentColor; opacity: .35; }
.theme-chemodan .cm-stamp-face::before {
  content: ''; position: absolute; width: 70%; aspect-ratio: 1; border-radius: 50%; right: -24%; bottom: -18%;
  background: currentColor; opacity: .12;
}
.theme-chemodan .cm-stamp-code { justify-self: start; font: 900 13px/1 var(--cm-display); font-variant-numeric: lining-nums; }
.theme-chemodan .cm-stamp-name {
  max-width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
  font: 700 8.5px/1.1 var(--cm-sans); letter-spacing: .1em; text-transform: uppercase;
}

/* =====================================================================
   ШАПКА
   ===================================================================== */
.theme-chemodan .cm-header { position: relative; z-index: 20; padding-top: 16px; }
.theme-chemodan .cm-mast { display: flex; align-items: center; gap: 22px; min-height: 76px; }
.theme-chemodan .cm-logo { display: inline-flex; align-items: center; gap: 12px; color: var(--cm-ink); flex: none; }
.theme-chemodan .cm-logo-mark { flex: none; transform: rotate(-8deg); transition: transform .45s cubic-bezier(.2, .7, .2, 1.4); }
.theme-chemodan .cm-logo:hover .cm-logo-mark { transform: rotate(5deg) translateY(-3px); }
.theme-chemodan .cm-logo-word { font: 900 42px/1 var(--cm-display); letter-spacing: -.04em; }
.theme-chemodan .cm-mast-tag {
  margin: 0; padding-left: 22px; border-left: 1.5px solid var(--cm-line); max-width: 230px;
  font-size: 13.5px; line-height: 1.35; color: var(--cm-muted);
}
.theme-chemodan .cm-mast-date { margin: 0 4px 0 auto; font-size: 25px; line-height: 1; color: var(--cm-sea-ink); transform: rotate(-2.5deg); white-space: nowrap; }
.theme-chemodan .cm-mast-tools { display: flex; align-items: center; gap: 8px; flex: none; }
.theme-chemodan .cm-search {
  display: inline-flex; align-items: center; gap: 10px; height: 46px; padding: 0 20px 0 16px; border-radius: 999px;
  background: var(--cm-paper); box-shadow: inset 0 0 0 1.5px var(--cm-ink); font-weight: 600; font-size: 15px; color: var(--cm-ink);
  transition: background-color .2s, color .2s;
}
.theme-chemodan .cm-search:hover, .theme-chemodan .cm-search.is-on { background: var(--cm-ink); color: var(--cm-sand); }
.theme-chemodan .cm-round {
  width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; color: var(--cm-ink);
  box-shadow: inset 0 0 0 1.5px var(--cm-line); transition: background-color .2s, color .2s;
}
.theme-chemodan .cm-round:hover { background: var(--cm-ink); color: var(--cm-sand); }

/* навигационное табло рубрик */
.theme-chemodan .cm-nav-wrap { margin-top: 12px; }
.theme-chemodan .cm-nav {
  display: flex; gap: 2px; padding: 6px; border-radius: 14px; background: var(--cm-ink);
  box-shadow: 0 18px 36px -28px rgba(28, 36, 48, .9);
  overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity;
}
.theme-chemodan .cm-nav::-webkit-scrollbar { display: none; }
.theme-chemodan .cm-nav a {
  position: relative; flex: 1 1 auto; display: flex; align-items: center; justify-content: center; gap: 9px;
  padding: 11px 14px; border-radius: 10px; color: var(--cm-sand); white-space: nowrap; scroll-snap-align: start;
  font: 600 15px/1.1 var(--cm-sans); transition: background-color .2s, color .2s;
}
.theme-chemodan .cm-nav a + a::before {
  content: ''; position: absolute; left: -1px; top: 13px; bottom: 13px; width: 1px; background: rgba(246, 241, 233, .14);
}
.theme-chemodan .cm-nav-code {
  display: inline-grid; place-items: center; min-width: 26px; height: 22px; padding: 0 4px; border-radius: 5px;
  background: var(--cm-sky); color: var(--cm-ink); font: 800 11px/1 var(--cm-sans); letter-spacing: .04em;
}
.theme-chemodan .cm-nav-ico { color: var(--cm-sky); flex: none; }
.theme-chemodan .cm-nav a:hover { background: rgba(246, 241, 233, .09); }
.theme-chemodan .cm-nav a.is-on { background: var(--cm-coral); color: var(--cm-ink); }
.theme-chemodan .cm-nav a.is-on::before, .theme-chemodan .cm-nav a.is-on + a::before { opacity: 0; }
.theme-chemodan .cm-nav a.is-on .cm-nav-code { background: var(--cm-ink); color: var(--cm-coral); }
.theme-chemodan .cm-nav a.is-on .cm-nav-ico { color: var(--cm-ink); }

/* =====================================================================
   ГЛАВНАЯ: заголовки разделов
   ===================================================================== */
.theme-chemodan .cm-section { padding-top: clamp(56px, 6.4vw, 96px); }
.theme-chemodan .cm-sec-head { display: flex; align-items: flex-end; gap: 24px; margin-bottom: clamp(22px, 2.6vw, 34px); }
.theme-chemodan .cm-sec-head > div:first-child { flex: none; max-width: 100%; }
.theme-chemodan .cm-sec-head::after {
  content: ''; flex: 1; order: 1; height: 2px; margin-bottom: 12px; min-width: 40px;
  background: repeating-linear-gradient(90deg, var(--cm-ink) 0 7px, transparent 7px 15px); opacity: .22;
}
.theme-chemodan .cm-sec-head > :not(div:first-child) { order: 2; }
.theme-chemodan .cm-sec-hand { margin: 0 0 4px 2px; font-size: 25px; line-height: 1; color: var(--cm-coral-ink); transform: rotate(-1.5deg); transform-origin: left; }
.theme-chemodan .cm-sec-head h2 { font-size: clamp(32px, 3.5vw, 48px); font-weight: 900; letter-spacing: -.035em; line-height: 1; }

/* =====================================================================
   ГЛАВНЫЙ МАТЕРИАЛ — большая открытка
   ===================================================================== */
.theme-chemodan .cm-hero { position: relative; isolation: isolate; padding-top: clamp(30px, 4vw, 56px); }
.theme-chemodan .cm-hero-sun {
  position: absolute; z-index: -2; width: clamp(200px, 22vw, 330px); aspect-ratio: 1; border-radius: 50%;
  right: max(0px, calc(var(--gap) - 70px)); top: clamp(-30px, -1vw, 0px); background: var(--cm-coral); opacity: .92;
}
.theme-chemodan .cm-hero-path {
  position: absolute; z-index: 2; width: clamp(260px, 34vw, 470px); left: 41%; top: clamp(-6px, .4vw, 10px);
  color: var(--cm-sea); opacity: .55; pointer-events: none;
}
.theme-chemodan .cm-pc {
  position: relative; display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(0, 1fr);
  background: var(--cm-paper); border-radius: 10px;
  box-shadow: 0 2px 0 rgba(28, 36, 48, .04), 0 50px 90px -50px rgba(28, 36, 48, .55), 0 14px 30px -20px rgba(28, 36, 48, .3);
}
.theme-chemodan .cm-pc::before {
  content: ''; position: absolute; inset: 0; z-index: -1; border-radius: 10px; background: var(--cm-sky);
  transform: rotate(-2deg) translate(-12px, 16px);
}
.theme-chemodan .cm-pc-front { position: relative; display: block; padding: 14px; }
.theme-chemodan .cm-pc-front .cover { height: 100%; min-height: 460px; border-radius: 4px; }
.theme-chemodan .cm-pc-front::after {
  content: ''; position: absolute; inset: 14px; border-radius: 4px; pointer-events: none;
  background: linear-gradient(180deg, transparent 42%, rgba(14, 107, 168, .38));
}
.theme-chemodan .cm-pc-greet {
  position: absolute; z-index: 1; left: 36px; right: 36px; bottom: 32px; display: grid; justify-items: start; pointer-events: none;
}
.theme-chemodan .cm-pc-greet .cm-hand {
  font-size: 30px; line-height: 1; color: var(--cm-paper); margin: 0 0 4px 4px; transform: rotate(-3deg); transform-origin: left bottom;
  text-shadow: 0 1px 10px rgba(28, 36, 48, .45);
}
.theme-chemodan .cm-pc-greet b {
  font: 900 clamp(36px, 4.4vw, 64px)/.94 var(--cm-display); letter-spacing: -.02em; text-transform: uppercase; color: var(--cm-paper);
  text-shadow: 3px 3px 0 var(--cm-coral), 6px 6px 0 var(--cm-ink);
  overflow-wrap: anywhere;
}
.theme-chemodan .cm-pc-back {
  position: relative; display: flex; flex-direction: column; gap: 18px; min-width: 0;
  padding: clamp(26px, 3vw, 40px) clamp(24px, 3.2vw, 46px) clamp(26px, 3vw, 38px) clamp(24px, 3vw, 40px);
}
.theme-chemodan .cm-pc-back::before {
  content: ''; position: absolute; left: 0; top: 30px; bottom: 30px; border-left: 1.5px dashed var(--cm-dash);
}
.theme-chemodan .cm-pc-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; min-height: 124px; }
.theme-chemodan .cm-pc-kicker { display: grid; justify-items: start; gap: 12px; margin: 4px 0 0; }
.theme-chemodan .cm-pc-post { position: relative; flex: none; width: 96px; margin: -6px 2px 0 0; transform: rotate(3deg); }
.theme-chemodan .cm-pc-mark {
  position: absolute; width: 172px; left: -112px; top: 50px; color: rgba(14, 107, 168, .78); transform: rotate(-14deg);
}
.theme-chemodan .cm-pc-title { font-size: clamp(30px, 3.1vw, 44px); line-height: 1.04; font-weight: 900; letter-spacing: -.032em; }
.theme-chemodan .cm-pc-title.is-mid { font-size: clamp(28px, 2.8vw, 39px); }
.theme-chemodan .cm-pc-title.is-long { font-size: clamp(26px, 2.45vw, 34px); line-height: 1.07; }
.theme-chemodan .cm-pc-title a { transition: color .2s; }
.theme-chemodan .cm-pc-title a:hover { color: var(--cm-sea); }
.theme-chemodan .cm-pc-lead {
  margin: 0; font-size: 17px; line-height: 1.55; color: var(--cm-body);
  display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;
}
.theme-chemodan .cm-pc-lines { margin: auto 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
.theme-chemodan .cm-pc-lines div { display: flex; align-items: baseline; gap: 10px; min-width: 0; padding: 9px 0 5px; border-bottom: 1.5px solid rgba(28, 36, 48, .13); }
.theme-chemodan .cm-pc-lines dt { flex: none; font: 700 10px/1 var(--cm-sans); letter-spacing: .15em; text-transform: uppercase; color: var(--cm-muted); }
.theme-chemodan .cm-pc-lines dd {
  margin: 0; min-width: 0; font: 600 22px/1.1 var(--cm-hand); color: var(--cm-sea-ink);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.theme-chemodan .cm-pc-cta { align-self: flex-start; margin-top: 6px; }

/* =====================================================================
   ВЕРТИКАЛЬНЫЕ ПОСАДОЧНЫЕ ТАЛОНЫ
   ===================================================================== */
.theme-chemodan .cm-pass-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(16px, 2vw, 26px); }
.theme-chemodan .cm-pass {
  position: relative; display: flex; flex-direction: column; min-width: 0; overflow: hidden;
  background: var(--cm-paper); border-radius: 18px; box-shadow: var(--cm-shadow);
  transition: transform .25s cubic-bezier(.2, .7, .2, 1), box-shadow .25s;
}
.theme-chemodan .cm-pass:hover { transform: translateY(-5px); box-shadow: var(--cm-shadow-up); }
.theme-chemodan .cm-pass-head {
  display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px 16px;
  background: var(--tone); color: var(--tone-on); font: 700 11.5px/1.2 var(--cm-sans); letter-spacing: .12em; text-transform: uppercase;
}
.theme-chemodan .cm-pass-cat { display: inline-flex; align-items: center; gap: 8px; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.theme-chemodan .cm-pass-cat svg { flex: none; }
.theme-chemodan .cm-pass-gate { flex: none; opacity: .85; }
.theme-chemodan .cm-pass-media { display: block; padding: 12px 12px 0; }
.theme-chemodan .cm-pass-media .cover { border-radius: 10px; }
.theme-chemodan .cm-pass-title { flex: 1; padding: 16px 18px 20px; font-size: 20px; line-height: 1.18; font-weight: 800; transition: color .2s; }
.theme-chemodan .cm-pass-title.is-mid { font-size: 18.5px; }
.theme-chemodan .cm-pass-title.is-long { font-size: 17.5px; line-height: 1.22; }
.theme-chemodan .cm-pass:hover .cm-pass-title { color: var(--cm-sea); }

/* перфорация с полукруглыми вырезами по краям */
.theme-chemodan .cm-perf { position: relative; display: block; height: 0; margin: 0 18px; border-top: 2px dashed var(--cm-dash); }
.theme-chemodan .cm-perf::before, .theme-chemodan .cm-perf::after {
  content: ''; position: absolute; top: -12px; width: 22px; height: 22px; border-radius: 50%;
  background: var(--hole); box-shadow: inset 0 2px 3px rgba(28, 36, 48, .1);
}
.theme-chemodan .cm-perf::before { left: -30px; }
.theme-chemodan .cm-perf::after { right: -30px; }

.theme-chemodan .cm-fields { display: grid; grid-template-columns: repeat(3, auto); justify-content: space-between; gap: 10px; padding: 16px 18px 4px; }
.theme-chemodan .cm-fields small,
.theme-chemodan .cm-ticket-stub small,
.theme-chemodan .cm-ah-fields dt {
  display: block; font: 700 10px/1 var(--cm-sans); letter-spacing: .15em; text-transform: uppercase; color: var(--cm-muted);
}
.theme-chemodan .cm-fields small { margin-bottom: 7px; }
.theme-chemodan .cm-fields b { font: 800 16.5px/1 var(--cm-display); font-variant-numeric: lining-nums tabular-nums; white-space: nowrap; }
.theme-chemodan .cm-pass .cm-barcode { height: 30px; width: calc(100% - 36px); margin: 12px 18px 18px; opacity: .88; }

/* =====================================================================
   ЛЕНТА «НАПРАВЛЕНИЯ НЕДЕЛИ»
   ===================================================================== */
.theme-chemodan .cm-lane {
  position: relative; margin-top: clamp(64px, 7vw, 104px); padding: clamp(46px, 5vw, 70px) 0 clamp(24px, 3vw, 40px);
  background:
    radial-gradient(circle, rgba(14, 107, 168, .17) 1.5px, transparent 2.1px) 0 0 / 22px 22px,
    linear-gradient(180deg, #D3EAF3 0%, #E4F1F4 100%);
}
.theme-chemodan .cm-lane::before {
  content: ''; position: absolute; left: 0; right: 0; top: -1px; height: 14px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 14'%3E%3Cpath d='M0 0h40v4q-10 9-20 0T0 4z' fill='%23F6F1E9'/%3E%3C/svg%3E") repeat-x 0 0 / 40px 14px;
}
.theme-chemodan .cm-lane .cm-sec-head::after { background: repeating-linear-gradient(90deg, var(--cm-sea) 0 7px, transparent 7px 15px); opacity: .4; }
.theme-chemodan .cm-lane .cm-sec-hand { color: var(--cm-sea-ink); }
.theme-chemodan .cm-lane-nav { display: flex; gap: 8px; }
.theme-chemodan .cm-lane-nav button {
  width: 48px; height: 48px; border-radius: 50%; border: 0; cursor: pointer; display: grid; place-items: center;
  background: var(--cm-paper); color: var(--cm-ink); box-shadow: inset 0 0 0 1.5px var(--cm-ink); transition: background-color .2s, color .2s;
}
.theme-chemodan .cm-lane-nav button:hover { background: var(--cm-ink); color: var(--cm-sand); }
.theme-chemodan .cm-lane-track {
  --lane-pad: max(var(--gap), calc((100% - var(--wrap)) / 2 + var(--gap)));
  list-style: none; margin: 0; display: flex; gap: clamp(20px, 2.4vw, 34px);
  overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--lane-pad);
  padding: 14px var(--lane-pad) 34px; scrollbar-width: thin; scrollbar-color: rgba(14, 107, 168, .45) transparent;
}
.theme-chemodan .cm-lane-track:focus-visible { outline-offset: -4px; border-radius: 0; }
.theme-chemodan .cm-lane-item { flex: 0 0 clamp(262px, 25vw, 330px); scroll-snap-align: start; }
.theme-chemodan .cm-card {
  --rot: -1.4deg;
  position: relative; display: block; height: 100%; padding: 12px 12px 20px; border-radius: 6px; background: var(--cm-paper);
  box-shadow: 0 1px 0 rgba(28, 36, 48, .06), 0 24px 40px -26px rgba(11, 70, 110, .6);
  transform: rotate(var(--rot)); transition: transform .3s cubic-bezier(.2, .7, .2, 1), box-shadow .3s;
}
.theme-chemodan .cm-lane-item:nth-child(2n) .cm-card { --rot: 1.1deg; }
.theme-chemodan .cm-lane-item:nth-child(3n) .cm-card { --rot: -.5deg; }
.theme-chemodan .cm-card:hover { transform: rotate(0deg) translateY(-6px); box-shadow: 0 1px 0 rgba(28, 36, 48, .06), 0 34px 50px -28px rgba(11, 70, 110, .65); }
.theme-chemodan .cm-card-photo { display: block; }
.theme-chemodan .cm-card-photo .cover { border-radius: 3px; }
.theme-chemodan .cm-card-stamp { position: absolute; right: 12px; top: 2px; width: 70px; transform: rotate(7deg); }
.theme-chemodan .cm-card-stamp .cm-stamp-paper { padding: 5px; }
.theme-chemodan .cm-card-stamp .cm-stamp-face { padding: 6px 4px; }
.theme-chemodan .cm-card-stamp .cm-stamp-ico { width: 22px; height: 22px; }
.theme-chemodan .cm-card-stamp .cm-stamp-name { display: none; }
.theme-chemodan .cm-card-stamp .cm-stamp-face { align-content: start; gap: 8px; }
.theme-chemodan .cm-card-stamp .cm-stamp-code { font-size: 11px; }
.theme-chemodan .cm-card-note { display: block; margin: 14px 4px 4px; font-size: 22px; line-height: 1; color: var(--cm-coral-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.theme-chemodan .cm-card-title { margin: 0 4px; font-size: 19px; line-height: 1.2; transition: color .2s; }
.theme-chemodan .cm-card-title.is-long { font-size: 17.5px; }
.theme-chemodan .cm-card:hover .cm-card-title { color: var(--cm-sea); }
.theme-chemodan .cm-card-meta { display: flex; flex-wrap: wrap; gap: 0 8px; margin: 12px 4px 0; font-size: 13px; color: var(--cm-muted); }
.theme-chemodan .cm-card-meta i { font-style: normal; opacity: .6; }

/* =====================================================================
   ЛЕНТА ТАЛОНОВ + ТАБЛО
   ===================================================================== */
.theme-chemodan .cm-split { display: grid; grid-template-columns: minmax(0, 1fr) 372px; gap: clamp(28px, 3.4vw, 52px); align-items: start; }
.theme-chemodan .cm-split.is-solo { grid-template-columns: minmax(0, 560px); justify-content: center; }
.theme-chemodan .cm-feed-list { display: grid; gap: 20px; }

.theme-chemodan .cm-ticket {
  position: relative; display: grid; grid-template-columns: 176px minmax(0, 1fr) 148px; min-height: 204px; overflow: hidden;
  background: var(--cm-paper); border-radius: 16px; box-shadow: var(--cm-shadow);
  transition: transform .25s cubic-bezier(.2, .7, .2, 1), box-shadow .25s;
}
.theme-chemodan .cm-ticket:hover { transform: translateY(-3px); box-shadow: var(--cm-shadow-up); }
.theme-chemodan .cm-ticket-media { display: block; padding: 12px 0 12px 12px; }
.theme-chemodan .cm-ticket-media .cover { height: 100%; min-height: 150px; border-radius: 10px; }
.theme-chemodan .cm-ticket-main { display: flex; flex-direction: column; gap: 9px; min-width: 0; padding: 18px 24px 16px; }
.theme-chemodan .cm-ticket-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.theme-chemodan .cm-ticket-cat {
  display: inline-flex; align-items: center; gap: 7px; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  font: 700 11.5px/1.2 var(--cm-sans); letter-spacing: .13em; text-transform: uppercase; color: var(--tone-text);
}
.theme-chemodan .cm-ticket-cat svg { flex: none; }
.theme-chemodan .cm-ticket-top .cm-label { flex: none; }
.theme-chemodan .cm-ticket-title { font-size: 22px; line-height: 1.16; transition: color .2s; }
.theme-chemodan .cm-ticket-title.is-mid { font-size: 21px; }
.theme-chemodan .cm-ticket-title.is-long { font-size: 19.5px; line-height: 1.2; }
.theme-chemodan .cm-ticket:hover .cm-ticket-title { color: var(--cm-sea); }
.theme-chemodan .cm-ticket-lead {
  font-size: 15px; line-height: 1.5; color: var(--cm-muted);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.theme-chemodan .cm-ticket-meta { margin-top: auto; padding-top: 4px; display: flex; flex-wrap: wrap; font-size: 13px; color: var(--cm-muted); }
.theme-chemodan .cm-ticket-meta span + span::before { content: '·'; padding: 0 8px; opacity: .7; }
.theme-chemodan .cm-ticket-stub {
  position: relative; display: flex; flex-direction: column; align-items: flex-start; min-width: 0;
  padding: 20px 18px 16px 22px; background: var(--tone-soft); border-left: 2px dashed var(--cm-dash);
}
.theme-chemodan .cm-ticket-stub::before, .theme-chemodan .cm-ticket-stub::after {
  content: ''; position: absolute; left: -12px; width: 22px; height: 22px; border-radius: 50%; background: var(--hole);
}
.theme-chemodan .cm-ticket-stub::before { top: -11px; box-shadow: inset 0 -2px 3px rgba(28, 36, 48, .08); }
.theme-chemodan .cm-ticket-stub::after { bottom: -11px; box-shadow: inset 0 2px 3px rgba(28, 36, 48, .08); }
.theme-chemodan .cm-stub-date { display: grid; margin-top: 8px; }
.theme-chemodan .cm-stub-date b { font: 900 46px/.9 var(--cm-display); letter-spacing: -.04em; font-variant-numeric: lining-nums; color: var(--tone-text); }
.theme-chemodan .cm-stub-date span { margin-top: 4px; font: 700 11.5px/1.2 var(--cm-sans); letter-spacing: .1em; text-transform: uppercase; }
.theme-chemodan .cm-stub-time { display: flex; align-items: baseline; gap: 5px; margin-top: 10px; font: 800 19px/1 var(--cm-display); font-variant-numeric: lining-nums tabular-nums; }
.theme-chemodan .cm-stub-time small { margin: 0; letter-spacing: .1em; }
.theme-chemodan .cm-ticket-stub .cm-barcode { width: 100%; height: 26px; margin-top: auto; opacity: .85; }

/* табло вылетов: самое читаемое */
.theme-chemodan .cm-board {
  position: sticky; top: 24px; padding: 26px 24px 20px; border-radius: 20px; color: #E9EDF1;
  background: linear-gradient(180deg, #1F2835, var(--cm-ink)); box-shadow: 0 36px 60px -36px rgba(28, 36, 48, .75);
}
.theme-chemodan .cm-board-kicker {
  display: inline-flex; align-items: center; gap: 8px; font: 700 11px/1 var(--cm-sans); letter-spacing: .18em; text-transform: uppercase; color: var(--cm-sky);
}
.theme-chemodan .cm-board-kicker svg { transform: rotate(45deg); }
.theme-chemodan .cm-board h2 { margin-top: 10px; font-size: 30px; font-weight: 900; letter-spacing: -.03em; color: #fff; }
.theme-chemodan .cm-board-cols {
  display: grid; grid-template-columns: 96px 1fr; gap: 14px; margin-top: 20px; padding-bottom: 9px; border-bottom: 1px solid rgba(255, 255, 255, .16);
  font: 700 10px/1 var(--cm-sans); letter-spacing: .16em; text-transform: uppercase; color: rgba(233, 237, 241, .55);
}
.theme-chemodan .cm-board-list { list-style: none; margin: 0; padding: 0; }
.theme-chemodan .cm-board-row { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 14px; padding: 14px 0; border-bottom: 1px solid rgba(255, 255, 255, .08); }
.theme-chemodan .cm-board-list li:last-child .cm-board-row { border-bottom: 0; }
.theme-chemodan .cm-board-when { display: grid; justify-items: start; align-content: start; gap: 7px; }
.theme-chemodan .cm-board-when time { font-size: 12px; color: rgba(233, 237, 241, .6); }
.theme-chemodan .cm-flap { display: inline-flex; gap: 2px; }
.theme-chemodan .cm-flap span {
  position: relative; display: inline-grid; place-items: center; width: 17px; height: 25px; border-radius: 3px;
  background: #0E141C; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
  font: 800 15px/1 var(--cm-display); font-variant-numeric: lining-nums; color: var(--cm-sand);
}
.theme-chemodan .cm-flap span::after { content: ''; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: rgba(0, 0, 0, .7); }
.theme-chemodan .cm-flap span.is-sep { width: 7px; background: none; box-shadow: none; color: var(--cm-coral); }
.theme-chemodan .cm-flap span.is-sep::after { display: none; }
.theme-chemodan .cm-board-title {
  font-size: 15px; line-height: 1.38; font-weight: 600; color: #fff; transition: color .2s;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.theme-chemodan .cm-board-row:hover .cm-board-title { color: var(--cm-sky); }
.theme-chemodan .cm-board-sub { display: flex; flex-wrap: wrap; gap: 3px 10px; margin-top: 7px; font-size: 12px; color: rgba(233, 237, 241, .62); }
.theme-chemodan .cm-board-gate { color: var(--cm-coral); font-weight: 800; letter-spacing: .04em; }
.theme-chemodan .cm-board-foot { margin: 12px 0 0; padding-top: 12px; border-top: 1px dashed rgba(255, 255, 255, .16); font-size: 11.5px; color: rgba(233, 237, 241, .5); }

/* =====================================================================
   ГЕЙТЫ РУБРИК
   ===================================================================== */
.theme-chemodan .cm-gate-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(18px, 2.2vw, 28px); align-items: stretch; }
.theme-chemodan .cm-gate { display: flex; flex-direction: column; overflow: hidden; background: var(--cm-paper); border-radius: 20px; box-shadow: var(--cm-shadow); }
.theme-chemodan .cm-gate-head { display: flex; align-items: center; gap: 12px; padding: 12px 14px 12px 12px; background: var(--cm-ink); color: #fff; }
.theme-chemodan .cm-gate-code {
  display: grid; place-items: center; min-width: 48px; height: 48px; padding: 0 8px; border-radius: 11px;
  background: var(--tone); color: var(--tone-on); font: 900 21px/1 var(--cm-display); font-variant-numeric: lining-nums;
}
.theme-chemodan .cm-tone-ink .cm-gate-code { background: var(--cm-sand); color: var(--cm-ink); }
.theme-chemodan .cm-gate-ico { display: grid; color: var(--cm-sky); }
.theme-chemodan .cm-gate-head h2 { flex: 1; min-width: 0; font-size: 23px; letter-spacing: -.015em; color: #fff; }
.theme-chemodan .cm-gate-all {
  display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 15px; border-radius: 999px; flex: none;
  box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .32); font-size: 14px; font-weight: 600; transition: background-color .2s, color .2s;
}
.theme-chemodan .cm-gate-all:hover { background: var(--cm-sand); color: var(--cm-ink); }
.theme-chemodan .cm-gate-lead { display: grid; grid-template-columns: minmax(0, 43%) minmax(0, 1fr); gap: 20px; padding: 18px; }
.theme-chemodan .cm-gate-photo .cover { border-radius: 10px; }
.theme-chemodan .cm-gate-lead-body { display: flex; flex-direction: column; min-width: 0; }
.theme-chemodan .cm-gate-when { font-size: 12.5px; font-weight: 600; color: var(--tone-text); letter-spacing: .02em; }
.theme-chemodan .cm-gate-lead h3 { margin: 8px 0; font-size: 20px; line-height: 1.2; transition: color .2s; }
.theme-chemodan .cm-gate-lead:hover h3 { color: var(--cm-sea); }
.theme-chemodan .cm-gate-lead-text {
  font-size: 14.5px; line-height: 1.5; color: var(--cm-muted);
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.theme-chemodan .cm-gate-list { list-style: none; margin: 0; padding: 0 18px 8px; }
.theme-chemodan .cm-gate-list li { border-top: 1.5px dashed var(--cm-line); }
.theme-chemodan .cm-gate-row { display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 12px 0; }
.theme-chemodan .cm-gate-date {
  display: grid; justify-items: center; padding: 7px 0 6px; border-radius: 9px; background: var(--tone-soft);
  font: 700 10.5px/1 var(--cm-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--cm-muted);
}
.theme-chemodan .cm-gate-date b { margin-bottom: 3px; font: 900 20px/1 var(--cm-display); letter-spacing: -.02em; font-variant-numeric: lining-nums; color: var(--tone-text); }
.theme-chemodan .cm-gate-row h3 { font-size: 16px; line-height: 1.3; font-weight: 700; letter-spacing: -.005em; transition: color .2s; }
.theme-chemodan .cm-gate-row:hover h3 { color: var(--cm-sea); }
.theme-chemodan .cm-gate-min { font-size: 12.5px; color: var(--cm-muted); white-space: nowrap; }

/* =====================================================================
   ПОЧТА ЧИТАТЕЛЕЙ
   ===================================================================== */
.theme-chemodan .cm-mail-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 22px; }
.theme-chemodan .cm-letter {
  position: relative; display: flex; flex-direction: column; gap: 10px; padding: 30px 22px 20px; overflow: hidden;
  background: var(--cm-paper); border-radius: 8px; box-shadow: var(--cm-shadow); transition: transform .25s;
}
.theme-chemodan .cm-letter::before {
  content: ''; position: absolute; left: 0; right: 0; top: 0; height: 8px;
  background: repeating-linear-gradient(-45deg, var(--cm-coral) 0 10px, var(--cm-paper) 10px 16px, var(--cm-sea) 16px 26px, var(--cm-paper) 26px 32px);
}
.theme-chemodan .cm-letter:hover { transform: translateY(-4px) rotate(-.6deg); }
.theme-chemodan .cm-letter-count { display: flex; align-items: baseline; gap: 8px; color: var(--cm-sea-ink); }
.theme-chemodan .cm-letter-count b { font: 900 40px/1 var(--cm-display); font-variant-numeric: lining-nums; letter-spacing: -.03em; }
.theme-chemodan .cm-letter-count span { font: 600 22px/1 var(--cm-hand); }
.theme-chemodan .cm-letter h3 { font-size: 18px; line-height: 1.25; }
.theme-chemodan .cm-letter-go { margin-top: auto; font-size: 21px; color: var(--cm-coral-ink); }

.theme-chemodan .cm-empty { padding: 120px var(--gap); text-align: center; }
.theme-chemodan .cm-empty .cm-hand { font-size: 30px; color: var(--cm-coral-ink); margin: 0 0 8px; }
.theme-chemodan .cm-empty h2 { font-size: clamp(30px, 4vw, 48px); font-weight: 900; }

/* =====================================================================
   ПОДВАЛ: конверт «Авиапочта» + ночное табло
   ===================================================================== */
.theme-chemodan .cm-footer { margin-top: clamp(72px, 8vw, 128px); }
.theme-chemodan .cm-envelope {
  position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 32px; align-items: center;
  margin-bottom: -84px; padding: clamp(34px, 4.4vw, 60px) clamp(26px, 4.4vw, 64px);
  background: var(--cm-paper); border-radius: 10px; box-shadow: 0 40px 70px -40px rgba(28, 36, 48, .6);
}
.theme-chemodan .cm-envelope::before {
  content: ''; position: absolute; inset: 0; padding: 11px; border-radius: 10px; pointer-events: none;
  background: repeating-linear-gradient(-45deg, var(--cm-coral) 0 16px, transparent 16px 26px, var(--cm-sea) 26px 42px, transparent 42px 52px);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
}
.theme-chemodan .cm-env-label { margin: 0 0 14px; font: 800 12px/1 var(--cm-sans); letter-spacing: .22em; text-transform: uppercase; color: var(--cm-coral-ink); }
.theme-chemodan .cm-envelope h2 { max-width: 17ch; font-size: clamp(28px, 3.2vw, 44px); font-weight: 900; letter-spacing: -.035em; line-height: 1.04; }
.theme-chemodan .cm-env-text > p:not(.cm-env-label) { max-width: 54ch; margin: 16px 0 0; color: var(--cm-muted); font-size: 16.5px; }
.theme-chemodan .cm-env-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.theme-chemodan .cm-env-post { position: relative; height: 210px; }
.theme-chemodan .cm-env-stamp { position: absolute; right: 8px; top: -4px; width: 112px; transform: rotate(5deg); }
.theme-chemodan .cm-env-mark { position: absolute; width: 220px; right: 70px; top: 64px; color: rgba(14, 107, 168, .72); transform: rotate(-11deg); }
.theme-chemodan .cm-env-hand { position: absolute; right: 6px; bottom: -6px; margin: 0; font-size: 31px; color: var(--cm-coral-ink); transform: rotate(-5deg); }

.theme-chemodan .cm-foot {
  padding: 140px 0 34px; color: rgba(246, 241, 233, .76);
  background: radial-gradient(circle, rgba(159, 211, 230, .11) 1.4px, transparent 2px) 0 0 / 24px 24px, var(--cm-ink);
}
.theme-chemodan .cm-foot-grid { display: grid; grid-template-columns: 1.35fr 1fr .8fr 1.25fr; gap: clamp(28px, 3.4vw, 48px); }
.theme-chemodan .cm-foot h3 { margin: 4px 0 18px; font: 700 11px/1 var(--cm-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--cm-sky); }
.theme-chemodan .cm-foot ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 11px; font-size: 15px; }
.theme-chemodan .cm-foot a { transition: color .2s; }
.theme-chemodan .cm-foot a:hover { color: #fff; }
.theme-chemodan .cm-logo--foot { color: #fff; }
.theme-chemodan .cm-logo--foot .cm-logo-word { font-size: 34px; }
.theme-chemodan .cm-foot-brand p { max-width: 38ch; margin: 18px 0 0; font-size: 14.5px; line-height: 1.6; }
.theme-chemodan .cm-foot-cats a { display: inline-flex; align-items: center; gap: 10px; }
.theme-chemodan .cm-foot-cats svg { color: var(--cm-sky); }
.theme-chemodan .cm-foot-code {
  display: inline-grid; place-items: center; min-width: 26px; height: 20px; padding: 0 4px; border-radius: 5px;
  background: rgba(159, 211, 230, .16); color: var(--cm-sky); font: 800 10.5px/1 var(--cm-sans);
}
.theme-chemodan .cm-foot-net ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 18px; font-size: 14px; }
.theme-chemodan .cm-foot-bottom {
  display: flex; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; margin-top: 52px; padding-top: 20px;
  border-top: 1px dashed rgba(246, 241, 233, .2); font-size: 13px; color: rgba(246, 241, 233, .56);
}
.theme-chemodan .cm-foot-links { display: flex; gap: 20px; }

/* =====================================================================
   ШАПКА СТАТЬИ — посадочный талон + открытка
   ===================================================================== */
.theme-chemodan .article > .breadcrumbs { max-width: var(--wrap); }
.theme-chemodan .breadcrumbs { gap: 10px; padding-top: 22px; font-size: 13px; font-weight: 500; color: var(--cm-muted); }
.theme-chemodan .breadcrumbs span { opacity: .5; }
.theme-chemodan .breadcrumbs a:hover { color: var(--cm-sea); }

.theme-chemodan .cm-ah { padding-top: 16px; }
.theme-chemodan .cm-ah-pass {
  position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 272px; overflow: hidden;
  background: var(--cm-paper); border-radius: 22px; box-shadow: var(--cm-shadow);
}
.theme-chemodan .cm-ah-pass::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 8px; background: var(--tone); }
.theme-chemodan .cm-ah-main { min-width: 0; padding: clamp(30px, 4vw, 54px) clamp(22px, 4.4vw, 60px) clamp(26px, 3.4vw, 44px); }
.theme-chemodan .cm-ah-top { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 0 0 24px; }
.theme-chemodan .cm-ah-title { font-size: clamp(34px, 4.4vw, 62px); line-height: 1.02; font-weight: 900; letter-spacing: -.038em; }
.theme-chemodan .cm-ah-title.is-mid { font-size: clamp(32px, 3.8vw, 52px); }
.theme-chemodan .cm-ah-title.is-long { font-size: clamp(29px, 3.3vw, 45px); line-height: 1.05; }
.theme-chemodan .cm-ah-lead { max-width: 62ch; margin: 22px 0 0; font-size: clamp(18px, 1.5vw, 21px); line-height: 1.5; color: var(--cm-body); }
.theme-chemodan .cm-ah-by { display: flex; align-items: center; gap: 14px; margin-top: 30px; padding-top: 22px; border-top: 1.5px dashed var(--cm-line); }
.theme-chemodan .cm-ah-by small { display: block; margin-bottom: 4px; font: 700 10px/1 var(--cm-sans); letter-spacing: .15em; text-transform: uppercase; color: var(--cm-muted); }
.theme-chemodan .cm-ah-by b { display: block; font-size: 16px; line-height: 1.3; }
.theme-chemodan .cm-ah-by span span { display: block; font-size: 13.5px; color: var(--cm-muted); }
.theme-chemodan .cm-ah-stub {
  position: relative; display: flex; flex-direction: column; gap: 20px; padding: 44px 28px 26px 30px;
  background: var(--tone-soft); border-left: 2px dashed var(--cm-dash);
}
.theme-chemodan .cm-ah-stub::before, .theme-chemodan .cm-ah-stub::after {
  content: ''; position: absolute; left: -13px; width: 24px; height: 24px; border-radius: 50%; background: var(--hole);
}
.theme-chemodan .cm-ah-stub::before { top: -12px; }
.theme-chemodan .cm-ah-stub::after { bottom: -12px; }
.theme-chemodan .cm-ah-gate {
  display: grid; grid-template-columns: auto 1fr; grid-template-areas: "s s" "b i"; align-items: end; column-gap: 12px;
  margin: -8px 0 0; padding-bottom: 18px; border-bottom: 1.5px dashed var(--cm-dash);
}
.theme-chemodan .cm-ah-gate small { grid-area: s; margin-bottom: 6px; font: 700 10px/1 var(--cm-sans); letter-spacing: .15em; text-transform: uppercase; color: var(--cm-muted); }
.theme-chemodan .cm-ah-gate b { grid-area: b; font: 900 64px/.82 var(--cm-display); letter-spacing: -.04em; font-variant-numeric: lining-nums; color: var(--tone-text); }
.theme-chemodan .cm-ah-gate svg { grid-area: i; justify-self: end; color: var(--tone-text); opacity: .9; }
.theme-chemodan .cm-ah-fields { display: grid; gap: 18px; margin: 0; }
.theme-chemodan .cm-ah-fields dd { margin: 6px 0 0; font: 800 20px/1.15 var(--cm-display); font-variant-numeric: lining-nums; color: var(--cm-ink); }
.theme-chemodan .cm-ah-fields dd small { font: 700 11px/1 var(--cm-sans); letter-spacing: .1em; color: var(--cm-muted); }
.theme-chemodan .cm-ah-stub .cm-barcode { width: 100%; height: 46px; margin-top: auto; }

.theme-chemodan .cm-ah-media { position: relative; max-width: 1120px; margin: clamp(34px, 4.4vw, 58px) auto 0; }
.theme-chemodan .cm-ah-photo {
  padding: clamp(10px, 1.2vw, 16px) clamp(10px, 1.2vw, 16px) clamp(46px, 4.4vw, 62px); border-radius: 6px;
  background: var(--cm-paper); box-shadow: 0 2px 0 rgba(28, 36, 48, .04), 0 50px 90px -50px rgba(28, 36, 48, .55);
  transform: rotate(-.5deg);
}
.theme-chemodan .cm-ah-photo .cover { border-radius: 3px; }
.theme-chemodan .cm-ah-stamp { position: absolute; right: clamp(16px, 3vw, 40px); top: -30px; width: 104px; transform: rotate(6deg); }
.theme-chemodan .cm-ah-mark { position: absolute; width: clamp(150px, 18vw, 230px); right: clamp(70px, 10vw, 150px); top: clamp(10px, 2vw, 30px); color: rgba(14, 107, 168, .8); transform: rotate(-10deg); }
.theme-chemodan .cm-ah-note {
  position: absolute; left: clamp(20px, 2.4vw, 32px); bottom: clamp(8px, 1vw, 14px); margin: 0;
  font-size: clamp(22px, 2.2vw, 30px); line-height: 1; color: var(--cm-sea-ink); transform: rotate(-1.5deg);
}

/* =====================================================================
   ТЕКСТ СТАТЬИ И ОБЩИЕ БЛОКИ
   ===================================================================== */
.theme-chemodan .progress { height: 4px; background: linear-gradient(90deg, var(--cm-sea), var(--cm-sky), var(--cm-coral)); }
.theme-chemodan .article-body { padding-top: clamp(40px, 5vw, 68px); }
.theme-chemodan .prose { font-size: clamp(17.5px, 1.22vw, 19px); line-height: 1.76; color: var(--cm-body); }
.theme-chemodan .prose > * + * { margin-top: 1.2em; }
.site.theme-chemodan .prose:not(.prose-cont) > p:first-child::first-letter {
  float: left; margin: .07em .12em 0 0; font: 900 4.2em/.8 var(--cm-display); color: var(--cm-coral);
}
.theme-chemodan .prose > h2 {
  position: relative; margin-top: 2em; text-wrap: pretty; padding-top: 24px; font-size: clamp(26px, 2.4vw, 34px); font-weight: 900; letter-spacing: -.03em; color: var(--cm-ink);
}
.theme-chemodan .prose > h2::before {
  content: ''; position: absolute; left: 0; top: 0; width: 84px; height: 3px;
  background: repeating-linear-gradient(90deg, var(--cm-coral) 0 9px, transparent 9px 15px);
}
.theme-chemodan .prose > h3 { margin-top: 1.6em; font-size: clamp(21px, 1.8vw, 24px); color: var(--cm-ink); }
.theme-chemodan .prose strong { font-weight: 700; color: var(--cm-ink); }
.theme-chemodan .prose a { color: var(--cm-sea-ink); text-decoration-color: rgba(14, 107, 168, .4); text-decoration-thickness: 1.5px; }
.theme-chemodan .prose a:hover { text-decoration-color: currentColor; }
.theme-chemodan .prose ul { list-style: none; padding-left: 0; }
.theme-chemodan .prose ul > li { position: relative; padding-left: 32px; }
.theme-chemodan .prose ul > li::before {
  content: ''; position: absolute; left: 6px; top: .6em; width: 11px; height: 11px; border-radius: 50%;
  border: 2.5px solid var(--cm-coral); background: var(--cm-paper);
}
.theme-chemodan .prose ul > li::after {
  content: ''; position: absolute; left: 11px; top: calc(.6em + 13px); bottom: calc(-.6em - 4px); border-left: 2px dotted rgba(242, 112, 78, .45);
}
.theme-chemodan .prose ul > li:last-child::after { display: none; }
.theme-chemodan .prose ol { list-style: none; padding-left: 0; counter-reset: cm-li; }
.theme-chemodan .prose ol > li { position: relative; padding-left: 44px; counter-increment: cm-li; }
.theme-chemodan .prose ol > li::before {
  content: counter(cm-li); position: absolute; left: 0; top: .12em; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px;
  background: var(--cm-ink); color: var(--cm-sand); font: 900 15px/1 var(--cm-display); font-variant-numeric: lining-nums;
}
.theme-chemodan .prose li + li { margin-top: .6em; }
.theme-chemodan .prose > blockquote {
  position: relative; margin: 2em 0; padding: 30px 32px 28px 84px; border: 0; border-radius: 14px;
  background: var(--cm-paper); box-shadow: var(--cm-shadow);
  font-family: var(--cm-display); font-weight: 700; font-size: 1.16em; line-height: 1.45; color: var(--cm-ink);
}
.theme-chemodan .prose > blockquote::before {
  content: '«'; position: absolute; left: 22px; top: 18px; font: 900 64px/1 var(--cm-display); color: var(--cm-coral);
}
.theme-chemodan .prose blockquote p + p { margin-top: .6em; }
.theme-chemodan .prose hr { height: 2px; margin: 2.4em 0; border: 0; background: repeating-linear-gradient(90deg, var(--cm-dash) 0 7px, transparent 7px 15px); }
.theme-chemodan .prose table { font-size: .9em; border-radius: 12px; overflow: hidden; background: var(--cm-paper); box-shadow: var(--cm-shadow); }
.theme-chemodan .prose th { padding: 12px 14px; background: var(--cm-ink); color: var(--cm-sand); font-weight: 700; border: 0; }
.theme-chemodan .prose td { padding: 11px 14px; border-bottom: 1px dashed var(--cm-line); }
.theme-chemodan .prose img { border-radius: 8px; }

/* «Читайте также» внутри текста — как пересадка */
.theme-chemodan .inline-read {
  position: relative; margin: 2.2em 0; padding: 20px 26px 20px 96px; border: 0; border-radius: 14px; overflow: hidden;
  background: var(--cm-paper); box-shadow: var(--cm-shadow); gap: 8px;
}
.theme-chemodan .inline-read::before {
  content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 70px; border-right: 2px dashed var(--cm-dash);
  background: var(--cm-sky) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath transform='rotate(90 12 12)' fill='%231C2430' d='M12 1.8c.9 0 1.45.8 1.45 1.9v5.1l7.55 4.6v2.3l-7.55-2.25v4.95l2.05 1.55v1.75L12 20.8l-3.5.9v-1.75l2.05-1.55V13.5L3 15.75V13.4l7.55-4.6V3.7c0-1.1.55-1.9 1.45-1.9z'/%3E%3C/svg%3E") center / 28px no-repeat;
}
.theme-chemodan .inline-read-label { font: 700 11px/1.2 var(--cm-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--cm-sea-ink); }
.theme-chemodan .inline-read-label::before { content: 'Пересадка · '; }
.theme-chemodan .inline-read a { font: 800 1.1em/1.3 var(--cm-display); color: var(--cm-ink); }
.theme-chemodan .inline-read a:hover { color: var(--cm-sea); }

.theme-chemodan .source-note { font-size: 13.5px; color: var(--cm-muted); }
.theme-chemodan .tags { gap: 10px; margin-top: 36px; }
.theme-chemodan .tag {
  position: relative; padding: 7px 15px 7px 26px; border-radius: 0 7px 7px 0; background: var(--cm-sand-2); color: var(--cm-ink);
  font-size: 13.5px; font-weight: 600; clip-path: polygon(12px 0, 100% 0, 100% 100%, 12px 100%, 0 50%);
  transition: background-color .2s;
}
.theme-chemodan .tag::before { content: ''; position: absolute; left: 10px; top: 50%; width: 6px; height: 6px; margin-top: -3px; border-radius: 50%; background: var(--cm-sand); }
.theme-chemodan .tag:hover { background: var(--cm-coral); color: var(--cm-ink); }
.theme-chemodan .share { gap: 10px; font-size: 13px; font-weight: 600; color: var(--cm-muted); }
.theme-chemodan .share a, .theme-chemodan .share button {
  width: 40px; height: 40px; background: var(--cm-paper); color: var(--cm-ink); box-shadow: inset 0 0 0 1.5px var(--cm-line); transition: background-color .2s, color .2s;
}
.theme-chemodan .share a:hover, .theme-chemodan .share button:hover { background: var(--cm-ink); color: var(--cm-sand); }
.theme-chemodan .inline-cta {
  position: relative; margin-top: 44px; padding: 28px 30px; border-radius: 10px; background: var(--cm-paper); box-shadow: var(--cm-shadow);
}
.theme-chemodan .inline-cta::before {
  content: ''; position: absolute; inset: 0; padding: 7px; border-radius: 10px; pointer-events: none;
  background: repeating-linear-gradient(-45deg, var(--cm-coral) 0 11px, transparent 11px 18px, var(--cm-sea) 18px 29px, transparent 29px 36px);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
}
.theme-chemodan .inline-cta b { font: 800 19px/1.25 var(--cm-display); }
.theme-chemodan .inline-cta .muted { color: var(--cm-muted); font-size: 15px; margin-top: 2px; }
.theme-chemodan .jump .btn { height: 42px; }

/* рецепт (на случай кулинарных материалов о поездках) */
.theme-chemodan .recipe-card { background: var(--cm-paper); border-radius: 18px; box-shadow: var(--cm-shadow); }
.theme-chemodan .recipe-card h2 { font-weight: 900; letter-spacing: -.03em; }
.theme-chemodan .steps li::before { background: var(--cm-ink); color: var(--cm-sand); border-radius: 8px; }
.theme-chemodan .ingredients input { accent-color: var(--cm-coral); }

/* комментарии — открытки читателей */
.theme-chemodan .comments { margin-top: clamp(56px, 6vw, 84px); padding-top: 0; border-top: 0; }
.theme-chemodan .comments h2 { font-size: clamp(30px, 3vw, 38px); font-weight: 900; letter-spacing: -.03em; align-items: center; }
.theme-chemodan .comments h2 small {
  display: inline-grid; place-items: center; min-width: 34px; height: 34px; padding: 0 10px; border-radius: 999px;
  background: var(--cm-coral); color: var(--cm-ink); font: 800 14px/1 var(--cm-sans);
}
.theme-chemodan .comments h2 small:empty { display: none; }
.theme-chemodan .c-form { margin: 24px 0 40px; padding: 22px; gap: 12px; border-radius: 16px; background: var(--cm-paper); box-shadow: var(--cm-shadow); }
.theme-chemodan .c-form input, .theme-chemodan .c-form textarea { border-radius: 12px; border: 1.5px solid var(--cm-line); background: var(--cm-sand); color: var(--cm-ink); }
.theme-chemodan .c-form input:focus, .theme-chemodan .c-form textarea:focus { border-color: var(--cm-sea); outline: none; }
.theme-chemodan .c-item { gap: 16px; }
.theme-chemodan .c-item .c-head b { font-weight: 700; }
.theme-chemodan .c-badge { background: var(--cm-sea); color: #fff; }
.theme-chemodan .c-actions button:hover, .theme-chemodan .c-actions button.liked { color: var(--cm-coral-ink); }
.theme-chemodan .c-replies { border-left: 2px dashed var(--cm-dash); }

/* «Читайте также» после статьи — открытки */
.theme-chemodan .related { padding-top: clamp(56px, 6vw, 90px); }
.theme-chemodan .section-head { align-items: flex-end; margin-bottom: 28px; }
.theme-chemodan .section-head h2 { font-size: clamp(30px, 3.2vw, 44px); font-weight: 900; letter-spacing: -.035em; }
.theme-chemodan .section-head a { color: var(--cm-sea-ink); font-size: 14.5px; font-weight: 600; }
.theme-chemodan .section-head a:hover { color: var(--cm-coral-ink); }
.theme-chemodan .related-grid { gap: clamp(18px, 2.2vw, 28px); }
.theme-chemodan .related-card {
  gap: 8px; padding: 10px 10px 18px; border-radius: 6px; background: var(--cm-paper);
  box-shadow: 0 1px 0 rgba(28, 36, 48, .05), 0 20px 36px -26px rgba(28, 36, 48, .5); transition: transform .3s cubic-bezier(.2, .7, .2, 1);
}
.theme-chemodan .related-card:nth-child(odd) { transform: rotate(-.8deg); }
.theme-chemodan .related-card:nth-child(even) { transform: rotate(.7deg); }
.theme-chemodan .related-card:hover { transform: rotate(0) translateY(-4px); }
.theme-chemodan .related-card .cover { border-radius: 3px; }
.theme-chemodan .related-card .kicker { margin: 6px 4px 0; font: 600 20px/1 var(--cm-hand); letter-spacing: 0; text-transform: none; color: var(--cm-coral-ink); }
.theme-chemodan .related-card h3 { margin: 0 4px; font-size: 17.5px; line-height: 1.22; }
.theme-chemodan .related-card:hover h3 { color: var(--cm-sea); }

/* =====================================================================
   РУБРИКА, ПОИСК, «О ПРОЕКТЕ»
   ===================================================================== */
.theme-chemodan .page-head { position: relative; padding: clamp(30px, 4vw, 56px) 0 clamp(26px, 3vw, 40px); border-bottom: 0; margin-bottom: clamp(16px, 2vw, 28px); }
.theme-chemodan .page-head .kicker {
  display: inline-flex; align-items: center; height: 28px; padding: 0 12px; border-radius: 999px; margin-bottom: 16px;
  background: var(--cm-ink); color: var(--cm-sand); font: 700 11px/1 var(--cm-sans); letter-spacing: .16em;
}
.theme-chemodan .page-head h1 { font-size: clamp(42px, 6.4vw, 88px); font-weight: 900; letter-spacing: -.045em; line-height: .98; }
.theme-chemodan .page-head p { margin-top: 14px; color: var(--cm-muted); font-size: 16px; }
.theme-chemodan .listing[data-cat] .page-head { padding-right: 150px; }
.theme-chemodan .listing[data-cat] .page-head p { font: 600 27px/1 var(--cm-hand); color: var(--cm-sea-ink); transform: rotate(-1.5deg); transform-origin: left; }
.theme-chemodan .listing[data-cat] .page-head::after {
  content: ''; position: absolute; right: 0; top: 50%; width: 112px; height: 136px; margin-top: -64px;
  background-color: var(--cm-sky); background-repeat: no-repeat; background-position: 50% 50%; background-size: 52px;
  border: 7px solid var(--cm-paper); background-clip: padding-box; transform: rotate(5deg);
  -webkit-mask: radial-gradient(circle at 5px 5px, #0000 3px, #000 3.5px) -5px -5px / 10px 10px round, linear-gradient(#000 0 0) padding-box;
  mask: radial-gradient(circle at 5px 5px, #0000 3px, #000 3.5px) -5px -5px / 10px 10px round, linear-gradient(#000 0 0) padding-box;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231C2430' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='18' height='13.2' rx='2.6'/%3E%3Cpath d='M9 7V5.1c0-.9.7-1.6 1.6-1.6h2.8c.9 0 1.6.7 1.6 1.6V7M8 7v13.2M16 7v13.2'/%3E%3C/svg%3E");
}
.theme-chemodan .listing[data-cat="avia"] .page-head::after {
  background-color: var(--cm-sea);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M12 1.8c.9 0 1.45.8 1.45 1.9v5.1l7.55 4.6v2.3l-7.55-2.25v4.95l2.05 1.55v1.75L12 20.8l-3.5.9v-1.75l2.05-1.55V13.5L3 15.75V13.4l7.55-4.6V3.7c0-1.1.55-1.9 1.45-1.9z'/%3E%3C/svg%3E");
}
.theme-chemodan .listing[data-cat="visa"] .page-head::after {
  background-color: var(--cm-coral);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231C2430' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='2.8' width='14' height='18.4' rx='2.2'/%3E%3Ccircle cx='12' cy='10.4' r='3.4'/%3E%3Cpath d='M8.6 10.4h6.8M12 7c1.1 1.1 1.1 5.7 0 6.8M12 7c-1.1 1.1-1.1 5.7 0 6.8M9.2 17.2h5.6'/%3E%3C/svg%3E");
}
.theme-chemodan .listing[data-cat="destinations"] .page-head::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231C2430' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9.2'/%3E%3Cpath d='m15.6 8.4-2.1 5.1-5.1 2.1 2.1-5.1zM12 2.8v1.6M12 19.6v1.6M2.8 12h1.6M19.6 12h1.6'/%3E%3C/svg%3E");
}
.theme-chemodan .listing[data-cat="hotels"] .page-head::after {
  background-color: var(--cm-ink);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239FD3E6' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 19.5V5M3 15.5h18v4M21 15.5v-3.2A3.3 3.3 0 0 0 17.7 9H11v6.5'/%3E%3Ccircle cx='7' cy='11.8' r='2.1'/%3E%3C/svg%3E");
}
.theme-chemodan .listing[data-cat="russia"] .page-head::after {
  background-color: var(--cm-sea);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5.5' y='2.8' width='13' height='14.4' rx='3.2'/%3E%3Cpath d='M5.5 10.4h13M9 21.2l1.6-4M15 21.2l-1.6-4M10 5.8h4'/%3E%3C/svg%3E");
}
.theme-chemodan .listing[data-cat="tips"] .page-head::after {
  background-color: var(--cm-coral);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231C2430' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.2 18h5.6M10.2 21.2h3.6M12 2.8a6.2 6.2 0 0 0-3.7 11.2c.6.5 1 1.2 1 2v.2h5.4V16c0-.8.4-1.5 1-2A6.2 6.2 0 0 0 12 2.8z'/%3E%3C/svg%3E");
}

/* строки списка — посадочные талоны */
.theme-chemodan .list { display: grid; gap: 18px; }
.theme-chemodan .listing > .list-row + .list-row { margin-top: 18px; }
.theme-chemodan .list-row {
  position: relative; grid-template-columns: 270px minmax(0, 1fr); gap: 0; align-items: stretch; padding: 12px; overflow: hidden;
  background: var(--cm-paper); border-bottom: 0; border-radius: 16px; box-shadow: var(--cm-shadow);
  transition: transform .25s cubic-bezier(.2, .7, .2, 1), box-shadow .25s;
}
.theme-chemodan .list-row:hover { transform: translateY(-3px); box-shadow: var(--cm-shadow-up); }
.theme-chemodan .list-row::before, .theme-chemodan .list-row::after {
  content: ''; position: absolute; left: 271px; width: 22px; height: 22px; border-radius: 50%; background: var(--hole);
}
.theme-chemodan .list-row::before { top: -11px; }
.theme-chemodan .list-row::after { bottom: -11px; }
.theme-chemodan .list-row .cover { border-radius: 10px; }
.theme-chemodan .list-row > div { display: flex; flex-direction: column; margin-left: 12px; padding: 10px 14px 8px 26px; border-left: 2px dashed var(--cm-dash); }
.theme-chemodan .list-row .meta { order: 3; margin-top: auto; padding-top: 10px; gap: 8px; font-size: 13px; color: var(--cm-muted); }
.theme-chemodan .list-row .meta time { font-weight: 700; color: var(--cm-sea-ink); letter-spacing: .02em; }
.theme-chemodan .list-row h2 { margin: 2px 0 10px; font-size: clamp(20px, 1.9vw, 25px); line-height: 1.16; transition: color .2s; }
.theme-chemodan .list-row:hover h2 { color: var(--cm-sea); }
.theme-chemodan .list-row p { margin: 0; font-size: 15.5px; line-height: 1.55; color: var(--cm-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.theme-chemodan .pager { align-items: center; gap: 14px; margin-top: 40px; font-size: 14px; }
.theme-chemodan .search-form { gap: 10px; max-width: 640px; margin-top: 24px; }
.theme-chemodan .search-form input {
  height: 54px; padding: 0 22px; border-radius: 999px; border: 1.5px solid var(--cm-ink); background: var(--cm-paper); color: var(--cm-ink); font-size: 16px;
}
.theme-chemodan .search-form input:focus { outline: none; box-shadow: 0 0 0 4px rgba(14, 107, 168, .2); }
.theme-chemodan .search-form .btn { height: 54px; }
.theme-chemodan main.narrow > .prose { margin-top: 8px; }
.theme-chemodan .about-authors .author b { font-family: var(--cm-display); font-weight: 800; }

/* =====================================================================
   АДАПТИВ
   ===================================================================== */
@media (max-width: 1180px) {
  .theme-chemodan .cm-mast-date { display: none; }
  .theme-chemodan .cm-mast-tools { margin-left: auto; }
  .theme-chemodan .cm-nav-code { display: none; }
  .theme-chemodan .cm-split { grid-template-columns: minmax(0, 1fr) 330px; }
  .theme-chemodan .cm-ticket { grid-template-columns: 150px minmax(0, 1fr) 132px; }
}
@media (max-width: 1024px) {
  .theme-chemodan .cm-pass-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .theme-chemodan .cm-split { grid-template-columns: minmax(0, 1fr); }
  .theme-chemodan .cm-board { position: relative; top: 0; }
  .theme-chemodan .cm-gate-grid { grid-template-columns: minmax(0, 1fr); }
  .theme-chemodan .cm-foot-grid { grid-template-columns: 1fr 1fr; }
  .theme-chemodan .cm-envelope { grid-template-columns: minmax(0, 1fr) 240px; }
  .theme-chemodan .cm-env-mark { right: 40px; width: 180px; }
}
@media (max-width: 860px) {
  .theme-chemodan .cm-mast-tag { display: none; }
  .theme-chemodan .cm-pc { grid-template-columns: minmax(0, 1fr); }
  .theme-chemodan .cm-pc-front .cover { height: auto; min-height: 0; aspect-ratio: 16 / 10; }
  .theme-chemodan .cm-pc-back::before { left: 30px; right: 30px; top: 0; bottom: auto; border-left: 0; border-top: 1.5px dashed var(--cm-dash); }
  .theme-chemodan .cm-hero-path { display: none; }
  .theme-chemodan .cm-ah-pass { grid-template-columns: minmax(0, 1fr); }
  .theme-chemodan .cm-ah-stub { padding: 26px 22px 20px; border-left: 0; border-top: 2px dashed var(--cm-dash); }
  .theme-chemodan .cm-ah-stub::before { left: -12px; top: -13px; }
  .theme-chemodan .cm-ah-stub::after { left: auto; right: -12px; top: -13px; bottom: auto; }
  .theme-chemodan .cm-ah-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; }
  .theme-chemodan .cm-ah-gate { margin: 0; padding-bottom: 14px; }
  .theme-chemodan .cm-ah-gate b { font-size: 48px; }
  .theme-chemodan .cm-ah-stub .cm-barcode { height: 36px; }
}
@media (max-width: 700px) {
  .theme-chemodan .cm-header { padding-top: 10px; }
  .theme-chemodan .cm-mast { min-height: 60px; gap: 12px; }
  .theme-chemodan .cm-logo { gap: 9px; }
  .theme-chemodan .cm-logo-mark { width: 36px; height: 36px; }
  .theme-chemodan .cm-logo-word { font-size: 32px; }
  .theme-chemodan .cm-search { width: 44px; height: 44px; padding: 0; justify-content: center; }
  .theme-chemodan .cm-search-text { display: none; }
  .theme-chemodan .cm-round { width: 44px; height: 44px; }
  .theme-chemodan .cm-hide-m { display: none; }
  .theme-chemodan .cm-nav-wrap { margin-top: 8px; padding: 0; }
  .theme-chemodan .cm-nav { border-radius: 0; padding: 6px var(--gap); scroll-padding-inline: var(--gap); }
  .theme-chemodan .cm-nav a { flex: none; padding: 10px 13px; font-size: 14.5px; }

  .theme-chemodan .cm-sec-head { flex-wrap: wrap; gap: 14px; }
  .theme-chemodan .cm-sec-head::after { display: none; }
  .theme-chemodan .cm-sec-head > div:first-child { flex: 1 1 auto; }
  .theme-chemodan .cm-sec-hand { font-size: 22px; }

  .theme-chemodan .cm-hero { padding-top: 22px; }
  .theme-chemodan .cm-hero-sun { width: 150px; right: -40px; top: 0; }
  .theme-chemodan .cm-pc::before { transform: rotate(-1.4deg) translate(-4px, 10px); }
  .theme-chemodan .cm-pc-front { padding: 10px; }
  .theme-chemodan .cm-pc-front::after { inset: 10px; }
  .theme-chemodan .cm-pc-front .cover { aspect-ratio: 4 / 3; }
  .theme-chemodan .cm-pc-greet { left: 22px; right: 22px; bottom: 20px; }
  .theme-chemodan .cm-pc-greet .cm-hand { font-size: 23px; }
  .theme-chemodan .cm-pc-greet b { font-size: clamp(26px, 8.4vw, 38px); text-shadow: 2px 2px 0 var(--cm-coral), 4px 4px 0 var(--cm-ink); }
  .theme-chemodan .cm-pc-back { gap: 16px; padding: 22px 20px 24px; }
  .theme-chemodan .cm-pc-head { min-height: 0; }
  .theme-chemodan .cm-pc-post { width: 74px; margin-top: -40px; }
  .theme-chemodan .cm-pc-post .cm-stamp { width: 74px; }
  .theme-chemodan .cm-pc-mark { width: 132px; left: -96px; top: 44px; }
  .theme-chemodan .cm-pc-title, .theme-chemodan .cm-pc-title.is-mid { font-size: 28px; }
  .theme-chemodan .cm-pc-title.is-long { font-size: 25px; }
  .theme-chemodan .cm-pc-lead { font-size: 16px; -webkit-line-clamp: 5; }
  .theme-chemodan .cm-pc-lines { grid-template-columns: minmax(0, 1fr); }
  .theme-chemodan .cm-pc-cta { align-self: stretch; }

  /* талоны — карусель со scroll-snap */
  .theme-chemodan .cm-pass-grid {
    display: flex; gap: 14px; margin: 0 calc(-1 * var(--gap)); padding: 6px var(--gap) 22px;
    overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gap); scrollbar-width: none;
  }
  .theme-chemodan .cm-pass-grid::-webkit-scrollbar { display: none; }
  .theme-chemodan .cm-pass { flex: 0 0 80%; scroll-snap-align: start; }
  .theme-chemodan .cm-pass:hover { transform: none; }

  .theme-chemodan .cm-lane-item { flex-basis: 76%; }
  .theme-chemodan .cm-lane-nav { display: none; }

  .theme-chemodan .cm-ticket { grid-template-columns: 104px minmax(0, 1fr); grid-template-areas: "media main" "stub stub"; min-height: 0; }
  .theme-chemodan .cm-ticket-media { grid-area: media; padding: 12px 0 0 12px; }
  .theme-chemodan .cm-ticket-media .cover { height: auto; min-height: 0; aspect-ratio: 1; }
  .theme-chemodan .cm-ticket-main { grid-area: main; gap: 7px; padding: 14px 16px 14px 14px; }
  .theme-chemodan .cm-ticket-top .cm-label { display: none; }
  .theme-chemodan .cm-ticket-title, .theme-chemodan .cm-ticket-title.is-mid, .theme-chemodan .cm-ticket-title.is-long { font-size: 17.5px; line-height: 1.22; }
  .theme-chemodan .cm-ticket-lead { display: none; }
  .theme-chemodan .cm-ticket-meta { gap: 2px 12px; font-size: 12.5px; }
  .theme-chemodan .cm-ticket-meta span:first-child { display: none; }
  .theme-chemodan .cm-ticket-meta span::before { display: none; }
  .theme-chemodan .cm-board-list li:nth-child(n+7) { display: none; }
  .theme-chemodan .cm-ticket-stub {
    grid-area: stub; flex-direction: row; align-items: center; gap: 14px; padding: 12px 16px;
    border-left: 0; border-top: 2px dashed var(--cm-dash); margin-top: 12px;
  }
  .theme-chemodan .cm-ticket-stub::before { left: -11px; top: -12px; }
  .theme-chemodan .cm-ticket-stub::after { left: auto; right: -11px; top: -12px; bottom: auto; box-shadow: inset 0 -2px 3px rgba(28, 36, 48, .08); }
  .theme-chemodan .cm-stub-date { display: flex; align-items: baseline; gap: 6px; margin: 0; }
  .theme-chemodan .cm-stub-date b { font-size: 26px; }
  .theme-chemodan .cm-stub-date span { margin: 0; }
  .theme-chemodan .cm-stub-time { margin: 0; font-size: 16px; }
  .theme-chemodan .cm-ticket-stub .cm-barcode { width: 84px; height: 24px; margin: 0 0 0 auto; }

  .theme-chemodan .cm-board { padding: 22px 18px 16px; }
  .theme-chemodan .cm-board-cols, .theme-chemodan .cm-board-row { grid-template-columns: 88px minmax(0, 1fr); gap: 12px; }

  .theme-chemodan .cm-gate-head { padding: 10px 10px 10px 10px; gap: 10px; }
  .theme-chemodan .cm-gate-code { min-width: 40px; height: 40px; font-size: 18px; }
  .theme-chemodan .cm-gate-head h2 { font-size: 19px; }
  .theme-chemodan .cm-gate-all { height: 34px; padding: 0 12px; }
  .theme-chemodan .cm-gate-lead { grid-template-columns: 112px minmax(0, 1fr); gap: 14px; padding: 14px; align-items: start; }
  .theme-chemodan .cm-gate-photo .cover { aspect-ratio: 1 / 1 !important; }
  .theme-chemodan .cm-gate-lead h3 { margin: 6px 0 0; font-size: 17px; line-height: 1.22; }
  .theme-chemodan .cm-gate-lead-text { display: none; }
  .theme-chemodan .cm-gate-when { font-size: 12px; }
  .theme-chemodan .cm-gate-list { padding: 0 14px 6px; }
  .theme-chemodan .cm-gate-row { grid-template-columns: 48px minmax(0, 1fr); gap: 12px; }
  .theme-chemodan .cm-gate-min { display: none; }
  .theme-chemodan .cm-gate-row h3 { font-size: 15.5px; }

  .theme-chemodan .cm-envelope { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 34px 24px 30px; margin-bottom: -60px; }
  .theme-chemodan .cm-env-post { position: absolute; right: 18px; top: -28px; width: 84px; height: auto; }
  .theme-chemodan .cm-env-stamp { position: static; width: 78px; }
  .theme-chemodan .cm-env-mark, .theme-chemodan .cm-env-hand { display: none; }
  .theme-chemodan .cm-envelope h2 { padding-right: 70px; font-size: 28px; }
  .theme-chemodan .cm-env-actions .cm-btn { flex: 1 1 100%; }
  .theme-chemodan .cm-foot { padding-top: 104px; }
  .theme-chemodan .cm-foot-grid { grid-template-columns: minmax(0, 1fr); gap: 34px; }
  .theme-chemodan .cm-foot-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .theme-chemodan .cm-ah { padding-top: 10px; }
  .theme-chemodan .cm-ah-pass { border-radius: 18px; }
  .theme-chemodan .cm-ah-main { padding: 26px 20px 22px; }
  .theme-chemodan .cm-ah-title, .theme-chemodan .cm-ah-title.is-mid { font-size: 31px; }
  .theme-chemodan .cm-ah-title.is-long { font-size: 27px; }
  .theme-chemodan .cm-ah-lead { font-size: 17.5px; }
  .theme-chemodan .cm-ah-fields dd { font-size: 17px; }
  .theme-chemodan .cm-ah-stamp { width: 72px; top: -22px; right: 10px; }
  .theme-chemodan .cm-ah-mark { width: 120px; right: 66px; top: 8px; }
  .theme-chemodan .cm-ah-photo { transform: none; }

  .theme-chemodan .prose > blockquote { padding: 54px 20px 22px; }
  .theme-chemodan .prose > blockquote::before { left: 18px; top: 8px; font-size: 54px; }
  .theme-chemodan .inline-read { padding: 18px 18px 18px 76px; }
  .theme-chemodan .inline-read::before { width: 56px; background-size: 22px; }
  .theme-chemodan .related-card:nth-child(n) { transform: none; }

  .theme-chemodan .listing[data-cat] .page-head { padding-right: 86px; }
  .theme-chemodan .listing[data-cat] .page-head::after { width: 70px; height: 86px; margin-top: -40px; background-size: 34px; border-width: 4px; }
  .theme-chemodan .listing[data-cat] .page-head p { font-size: 23px; }
  .theme-chemodan .list-row { grid-template-columns: 104px minmax(0, 1fr); padding: 10px; }
  .theme-chemodan .list-row::before, .theme-chemodan .list-row::after { left: 103px; }
  .theme-chemodan .list-row > div { margin-left: 10px; padding: 4px 4px 2px 14px; }
  .theme-chemodan .list-row h2 { font-size: 17px; margin-bottom: 4px; }
  .theme-chemodan .list-row p { display: none; }
  .theme-chemodan .list-row .meta { font-size: 12px; padding-top: 6px; }
  .theme-chemodan .search-form .btn { padding: 0 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .theme-chemodan *, .theme-chemodan *::before, .theme-chemodan *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
  .theme-chemodan .cm-pass:hover, .theme-chemodan .cm-ticket:hover, .theme-chemodan .list-row:hover,
  .theme-chemodan .cm-letter:hover, .theme-chemodan .cm-btn:hover, .theme-chemodan .btn:hover { transform: none; }
  .theme-chemodan .cm-card:hover { transform: rotate(var(--rot)); }
  .theme-chemodan .related-card:hover { transform: none; }
  .theme-chemodan a:hover .cover img { transform: none; }
}
