/* Atlas prototype styles adapted for WordPress. */
@font-face { font-family: 'Cormorant Garamond'; src: url('../fonts/cormorant-garamond-latin-600.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Cormorant Garamond'; src: url('../fonts/cormorant-garamond-latin-ext-600.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Cormorant Garamond'; src: url('../fonts/cormorant-garamond-latin-500-italic.woff2') format('woff2'); font-weight: 500; font-style: italic; font-display: swap; }
@font-face { font-family: 'Cormorant Garamond'; src: url('../fonts/cormorant-garamond-latin-ext-500-italic.woff2') format('woff2'); font-weight: 500; font-style: italic; font-display: swap; }
@font-face { font-family: 'Onest'; src: url('../fonts/onest-latin-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Onest'; src: url('../fonts/onest-latin-ext-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Onest'; src: url('../fonts/onest-latin-600.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Onest'; src: url('../fonts/onest-latin-ext-600.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
:root {
  --sea: #0C2536;        /* обложка атласа: шапка, карта, подвал */
  --sea-2: #0F3349;      /* сфера карты, панели */
  --sea-3: #163F57;
  --land: #2B5067;       /* суша, где мы не были */
  --grat: #2A5873;
  --on-sea: #EAF1F2;     /* текст на море */
  --glass: #A9C9D3;      /* вторичный текст на море, 8.8:1 */
  --paper: #F1F4F4;      /* холодная бумага */
  --card: #FFFFFF;
  --sea-light: #D6E5EA;  /* море на светлых картах */
  --ink: #13242F;
  --muted: #4D606C;      /* 6.1:1 на бумаге */
  --rule: #D3DCDF;
  --orange: #F5821F;     /* бренд: заливки, кнопки, метки */
  --orange-ink: #A6500A; /* оранжевый для текста: 5.1:1 на бумаге */
  --orange-tint: #FDF0E4;
  --link: #0B5C83;       /* ссылки в тексте, 6.6:1 */
  --serif: 'Cormorant Garamond', 'Times New Roman', serif;
  --sans: 'Onest', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --pad: 48px;
  --neat: repeating-linear-gradient(90deg, var(--ink) 0 22px, var(--card) 22px 44px);
}
*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: clip; -webkit-text-size-adjust: 100%; scroll-padding-top: 16px; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 400 17px/1.6 var(--sans); -webkit-font-smoothing: antialiased; }
img { max-width: 100%; }
a { color: inherit; }
button { font: inherit; color: inherit; }
h1, h2, h3, p, ul, ol, dl, dd, figure { margin: 0; }
ul, ol { padding: 0; list-style: none; }
.vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
:focus-visible { outline: 3px solid var(--link); outline-offset: 2px; }
.hd :focus-visible, .atlas :focus-visible, .near :focus-visible, .org :focus-visible, .ft :focus-visible, .tpx :focus-visible { outline-color: var(--orange); }
summary { cursor: pointer; list-style: none; }
summary::-webkit-details-marker { display: none; }

/* ---------------------------------------------------------------- кнопки */
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 20px; border-radius: 4px; font: 600 15px/1.2 var(--sans); text-decoration: none; border: 1px solid transparent; cursor: pointer; }
.btn--o { background: var(--orange); color: var(--ink); }
.btn--o:hover { background: #FF9535; }
.btn--ink { background: var(--ink); color: #fff; }
.more { display: block; margin: 20px auto 0; min-height: 44px; padding: 0 22px; border-radius: 4px; border: 1px solid var(--ink); background: transparent; font: 600 15px var(--sans); cursor: pointer; }
.more--dark { border-color: var(--glass); color: var(--on-sea); }

/* ---------------------------------------------------------------- шапка */
.hd { position: relative; z-index: 60; background: var(--sea); color: var(--on-sea); }
.hd__in { max-width: 1440px; margin: 0 auto; height: 64px; padding: 0 var(--pad); display: flex; align-items: center; gap: 28px; }
.hd__logo { display: block; flex: none; }
.hd__logo img { display: block; width: 152px; height: auto; }
.hd__nav > ul { display: flex; gap: 26px; align-items: center; }
.hd__nav a, .hd__nav summary { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; font: 400 15px var(--sans); color: var(--on-sea); text-decoration: none; }
.hd__nav a:hover, .hd__nav summary:hover { text-decoration: underline; text-decoration-color: var(--orange); text-underline-offset: 6px; text-decoration-thickness: 2px; }
.caret { width: 10px; height: 10px; transition: transform .2s; }
details[open] > summary .caret { transform: rotate(180deg); }
.dd { position: relative; }
.dd__p { position: absolute; top: calc(100% + 12px); left: -24px; width: min(640px, calc(100vw - 48px)); background: var(--sea-2); border: 1px solid var(--grat); border-radius: 6px; padding: 18px 22px 20px; box-shadow: 0 24px 60px rgba(3, 14, 22, .5); }
.dd__h { font: 400 13px var(--sans); color: var(--glass); margin-bottom: 10px; }
.wp { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 28px; }
.wp a { display: grid; grid-template-columns: 1fr auto; padding: 8px 0; border-bottom: 1px solid rgba(169, 201, 211, .16); text-decoration: none; color: var(--on-sea); }
.wp__c { font: 500 italic 20px/1.2 var(--serif); }
.wp__k { font: 600 13px var(--sans); color: var(--orange); align-self: center; }
.wp__s { grid-column: 1 / -1; font-size: 13px; color: var(--glass); }
.wp a:hover .wp__c { text-decoration: underline; text-underline-offset: 3px; }
.hd__search { margin-left: auto; position: relative; display: flex; align-items: center; width: 250px; height: 40px; border-radius: 999px; border: 1px solid rgba(169, 201, 211, .35); background: rgba(255, 255, 255, .06); color: var(--glass); }
.hd__search svg { width: 18px; height: 18px; margin-left: 14px; flex: none; }
.hd__search input { flex: 1; min-width: 0; height: 100%; padding: 0 14px 0 9px; border: 0; background: transparent; color: var(--on-sea); font: 400 14px var(--sans); }
.hd__search input::placeholder { color: var(--glass); }
.hd__search input:focus { outline: none; }
.hd__search:focus-within { border-color: var(--orange); }
/* переключатель языков */
.lg { position: relative; flex: none; }
.lg__b { display: inline-flex; align-items: center; gap: 7px; height: 40px; padding: 0 13px 0 11px; border-radius: 999px; border: 1px solid rgba(169, 201, 211, .35); font: 600 14px var(--sans); color: var(--on-sea); }
.lg__b svg { width: 18px; height: 18px; color: var(--glass); }
.lg[open] .lg__b, .lg__b:hover { border-color: var(--orange); }
.lg__p { position: absolute; right: 0; top: calc(100% + 12px); width: 300px; background: var(--card); color: var(--ink); border-radius: 6px; padding: 16px 8px 8px; box-shadow: 0 24px 60px rgba(3, 14, 22, .4); z-index: 70; }
.is-art .lg__p { width: 380px; }
.lg__h { font: 400 13px var(--sans); color: var(--muted); padding: 0 12px 8px; }
.lg__i { display: flex; flex-direction: column; gap: 1px; padding: 9px 12px; border-radius: 4px; text-decoration: none; }
a.lg__i:hover { background: var(--paper); }
a.lg__i:hover .lg__n { text-decoration: underline; text-underline-offset: 3px; }
.lg__n { font: 600 15px/1.3 var(--sans); }
.lg__t { font: 400 13px/1.4 var(--sans); color: var(--muted); }
.lg__c { font-size: 13px; color: var(--orange-ink); }
.is-home .lg__l { display: grid; grid-template-columns: 1fr 1fr; }
.is-home .lg__l li:first-child { grid-column: 1 / -1; }
.lg__i.is-cur { flex-direction: row; justify-content: space-between; align-items: baseline; background: var(--paper); }
.hd__m { display: none; }

/* ================================================================ ГЛАВНАЯ: атлас */
.atlas { background: var(--sea); color: var(--on-sea); }
.atlas__in { position: relative; max-width: 1440px; margin: 0 auto; padding: 4px var(--pad) 28px; }
.atlas__w { position: relative; }
svg.world { display: block; width: 100%; height: auto; }
.world .sph { fill: var(--sea-2); }
.world .gr, .rmap .gr { fill: none; stroke: var(--grat); stroke-width: .7; stroke-opacity: .55; vector-effect: non-scaling-stroke; }
.world .ln, .rmap .ln { fill: var(--land); }
.world .bd, .rmap .bd { fill: none; stroke: var(--sea-2); stroke-width: .6; vector-effect: non-scaling-stroke; }
.v { fill: var(--orange); stroke: #FFB878; stroke-width: .4; vector-effect: non-scaling-stroke; transition: fill .2s; }
.ld { stroke: rgba(234, 241, 242, .5); stroke-width: 1; vector-effect: non-scaling-stroke; transition: stroke .2s; }
.ad { fill: var(--orange); stroke: var(--sea); stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.rmap .sph { fill: var(--sea-2); }

/* картуш с заголовком — в пустом океане слева внизу */
.cart { position: relative; }
.cart h1 { font: 600 52px/1 var(--serif); letter-spacing: -.01em; color: #fff; }
.cart__p { margin-top: 14px; font: 400 17px/1.5 var(--sans); color: var(--on-sea); }
.cart__s { margin-top: 8px; font: 400 14px/1.5 var(--sans); color: var(--glass); }
.cart__a { display: flex; align-items: center; gap: 22px; margin-top: 18px; }
.cart__l { font: 600 15px var(--sans); color: var(--on-sea); text-underline-offset: 4px; text-decoration-color: var(--orange); }

/* условные знаки */
.legend { position: absolute; right: 0; bottom: 4px; display: flex; gap: 22px; font: 400 12px/1.3 var(--sans); color: var(--glass); }
.legend p { display: flex; align-items: center; gap: 9px; }
.legend__h { font: 500 italic 16px var(--serif); color: var(--on-sea); }
.legend__sw { width: 18px; height: 11px; background: var(--orange); border-radius: 1px; }
.legend__md { width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--on-sea); background: var(--land); }
.legend__k { min-width: 18px; font: 600 12px var(--sans); color: var(--orange); }

/* медальоны-выноски */
.pins { position: absolute; inset: 0; pointer-events: none; }
.pin { --md: clamp(60px, 6.8vw, 96px); position: absolute; left: var(--x); top: var(--y); width: 0; height: 0; pointer-events: none; z-index: 2; }
.pin:hover, .pin:focus-within, .pin.is-open { z-index: 30; }
.pin__m { position: absolute; left: 0; top: 0; transform: translate(-50%, calc(var(--md) / -2)); display: flex; flex-direction: column; align-items: center; gap: 6px; width: 120px; text-decoration: none; pointer-events: auto; color: var(--on-sea); }
.pin__ph { display: block; width: var(--md); height: var(--md); border-radius: 50%; overflow: hidden; box-shadow: 0 0 0 2px var(--on-sea), 0 8px 22px rgba(0, 0, 0, .4); transition: box-shadow .2s, transform .25s; background: var(--land); }
.pin__ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pin__ph img.wm-s { transform: scale(1.14); transform-origin: 50% 25%; }
.pin__ph img.wm-l { transform: scale(1.32); transform-origin: 50% 12%; }
.pin__t { display: flex; align-items: baseline; gap: 6px; white-space: nowrap; }
.pin__n { font: 500 italic 19px/1 var(--serif); color: #fff; }
.pin__k { font: 600 12px/1 var(--sans); color: var(--orange); }
.pin:hover .pin__ph, .pin__m:focus-visible .pin__ph, .pin.is-open .pin__ph { box-shadow: 0 0 0 3px var(--orange), 0 10px 26px rgba(0, 0, 0, .45); transform: scale(1.05); }
.pin__m:focus-visible { outline: none; }
.pin__m:focus-visible .pin__n { text-decoration: underline; text-decoration-color: var(--orange); text-underline-offset: 4px; }

/* карточка страны (наведение / фокус / тап) */
.card { position: absolute; display: none; width: 330px; background: var(--card); color: var(--ink); border-radius: 6px; overflow: visible; box-shadow: 0 24px 64px rgba(3, 14, 22, .55); pointer-events: auto; z-index: 40; text-align: left; }
.card::before { content: ''; position: absolute; left: 0; right: 0; height: 18px; }
.pin--dn .card { top: calc(var(--md) / 2 + 38px); }
.pin--dn .card::before { top: -18px; }
.pin--up .card { right: calc(var(--md) / 2 + 14px); bottom: calc(var(--md) / -2 - 34px); }
.pin--up .card::before { top: 0; bottom: 0; right: -18px; width: 18px; height: auto; left: auto; }
.pin--dn.pin--c .card { left: -165px; }
.pin--dn.pin--l .card { left: -60px; }
.pin--dn.pin--r .card { right: -60px; }
.pin:hover .card, .pin:focus-within .card, .pin.is-open .card { display: block; }
.card__ph { aspect-ratio: 2 / 1; overflow: hidden; border-radius: 6px 6px 0 0; background: var(--sea-light); }
.card__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.card__b { padding: 14px 18px 16px; }
.card__h { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.card__h a { font: 600 28px/1.05 var(--serif); text-decoration: none; }
.card__h a:hover { text-decoration: underline; text-underline-offset: 4px; }
.card__h span { font: 600 13px var(--sans); color: var(--orange-ink); white-space: nowrap; }
.card__c { display: flex; flex-wrap: wrap; gap: 2px 14px; margin-top: 6px; font-size: 13px; color: var(--muted); }
.card__c span { color: var(--orange-ink); font-weight: 600; }
.card__k { margin-top: 12px; font: 600 13px var(--sans); color: var(--muted); }
.card__l li { border-top: 1px solid var(--rule); }
.card__l li:first-child { border-top: 0; }
.card__l a { display: block; padding: 7px 0; font: 400 14px/1.35 var(--sans); color: var(--link); text-decoration: underline; text-decoration-color: rgba(11, 92, 131, .35); text-underline-offset: 3px; }
.card__l a:hover { text-decoration-color: currentColor; }
.card__all { display: inline-block; margin-top: 8px; font: 600 14px var(--sans); color: var(--ink); text-decoration-color: var(--orange); text-underline-offset: 4px; text-decoration-thickness: 2px; }

/* единственная заметная анимация: страны «проявляются» на карте, медальоны встают по очереди */
@media (prefers-reduced-motion: no-preference) {
  .v { animation: v-in 1s ease-out both; animation-delay: calc(var(--i, 0) * 70ms + .15s); }
  .pin__m { animation: pin-in .7s cubic-bezier(.2, .7, .2, 1) both; animation-delay: calc(var(--i, 0) * 70ms + .45s); }
  @keyframes v-in { from { fill: var(--land); stroke-opacity: 0; } }
  @keyframes pin-in { from { opacity: 0; transform: translate(-50%, calc(var(--md) / -2 + 10px)); } }
}

/* ---- герой: слева заголовок и обзорная карта мира, справа — листы регионов с крупными медальонами */
.atlas__in { padding-top: 16px; padding-bottom: 14px; }
.atlas__top { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 14px 32px; margin-bottom: 14px; }
.cart { display: flex; align-items: flex-end; gap: 14px 30px; }
.cart h1 { font-size: 50px; white-space: nowrap; }
.cart__b { max-width: 370px; padding-bottom: 4px; }
.cart__b .cart__p { margin: 0; font-size: 15px; line-height: 1.45; }
.cart__b .cart__s { margin: 4px 0 0; font-size: 13px; }
.rg__tabs { margin-bottom: 0; }
.rmap .sph { fill: var(--sea-2); }
.pins--d.pins--w .pin { --md: clamp(60px, 6.8vw, 96px); }
.pins--d.pins--w .pin__m { width: 120px; gap: 6px; }
.pins--d.pins--w .pin__n { font-size: 19px; }
.pins--d.pins--w .pin__k { font-size: 12px; }
.atlas__side { display: flex; flex-direction: column; gap: 26px; padding-top: 52px; }
.ov svg { display: block; width: 100%; height: auto; }
.ov .sph { fill: var(--sea-2); }
.ov .gr { fill: none; stroke: var(--grat); stroke-width: .6; stroke-opacity: .55; }
.ov .ln { fill: var(--land); }
.ov .v { stroke: none; animation: none; }
.ov__f path { fill: rgba(245, 130, 31, .06); stroke: var(--glass); stroke-width: 1.2; stroke-dasharray: 3 3; transition: stroke .2s, fill .2s; }
.ov__f:hover path, .ov__f:focus-visible path { stroke: var(--orange); }
.ov__f.is-on path { fill: rgba(245, 130, 31, .16); stroke: var(--orange); stroke-dasharray: none; stroke-width: 1.6; }
.ov__f:focus-visible { outline: none; }
.ov figcaption { margin-top: 8px; font-size: 12px; line-height: 1.45; color: var(--glass); }
.cart__s a { color: var(--on-sea); text-underline-offset: 3px; text-decoration-color: var(--orange); }
.regions { min-width: 0; }
.rg__tabs { display: flex; gap: 8px; margin-bottom: 10px; overflow-x: auto; scrollbar-width: none; }
.rg__tabs a { flex: 0 0 auto; display: flex; flex-direction: column; justify-content: center; min-height: 46px; padding: 4px 13px; border: 1px solid rgba(169, 201, 211, .32); border-radius: 4px; font: 600 15px/1.2 var(--sans); color: var(--on-sea); text-decoration: none; }
.rg__tabs a span { font-weight: 400; font-size: 12px; color: var(--glass); }
.rg__tabs a:hover { border-color: var(--glass); }
.rg__tabs a[aria-current] { border-color: var(--orange); box-shadow: inset 0 -3px 0 var(--orange); }
.rg__row { position: relative; display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.rg__row::-webkit-scrollbar { display: none; }
.rg { flex: 0 0 100%; min-width: 0; scroll-snap-align: start; scroll-snap-stop: always; }
.rg__map { position: relative; }
.rg__map--m { display: none; }
svg.rmap { display: block; width: 100%; height: auto; border-radius: 4px; }
.pins--d .pin { --md: clamp(88px, 10.2vw, 144px); }
.pins--d .pin__m { width: calc(var(--md) + 44px); gap: 8px; }
.pins--d .pin__n { font-size: 22px; }
.pins--d .pin__k { font-size: 13px; }
.pins--d .pin--sr .card { left: calc(var(--md) / 2 + 16px); bottom: calc(var(--md) / -2 - 44px); top: auto; right: auto; }
.pins--d .pin--sl .card { right: calc(var(--md) / 2 + 16px); bottom: calc(var(--md) / -2 - 44px); top: auto; left: auto; }
.pins--d .card::before { top: 0; bottom: 0; height: auto; width: 20px; }
.pins--d .pin--sr .card::before { left: -20px; right: auto; }
.pins--d .pin--sl .card::before { right: -20px; left: auto; }
.pins--d .card__ph { aspect-ratio: 5 / 2; }

/* полоса кадров: по стране, подпись сверху кадра (знак — внизу) */
.mosaic { max-width: 1440px; margin: 0 auto; padding: 0 var(--pad) 30px; display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 10px; }
.mo a { position: relative; display: block; border-radius: 3px; overflow: hidden; text-decoration: none; }
.mo__ph { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--sea-3); }
.mo__ph img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.mo__ph img.wm-s, .mo__ph img.wm-l { height: 134%; object-position: 50% 0; }
.mo a::before { content: ''; position: absolute; inset: 0 0 55% 0; z-index: 1; background: linear-gradient(rgba(6, 18, 27, .62), rgba(6, 18, 27, 0)); }
.mo__t { position: absolute; z-index: 2; top: 9px; left: 10px; right: 8px; font: 600 13px/1.25 var(--sans); color: #fff; }
.mo a:hover img { transform: scale(1.04); }
.mo a:hover .mo__t { text-decoration: underline; text-decoration-color: var(--orange); text-underline-offset: 3px; }

/* ---------------------------------------------------------------- заголовки секций */
.sec__h { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 22px; margin-bottom: 26px; }
.sec__h h2 { font: 600 44px/1.05 var(--serif); letter-spacing: -.005em; }
.sec__h p { font-size: 15px; color: var(--muted); }
.sec__h--nav .car__nav { margin-left: auto; display: flex; gap: 8px; }
.sec__h--s h3 { font: 600 30px/1.1 var(--serif); }
.sec__h--s > a { font: 600 14px var(--sans); text-underline-offset: 4px; text-decoration-color: var(--orange); }
.car__b { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--ink); background: transparent; cursor: pointer; }
.car__b svg { width: 20px; height: 20px; }
.car__b:disabled { opacity: .3; cursor: default; }

/* ---------------------------------------------------------------- листы стран */
.sheets, .fresh, .duo { max-width: 1440px; margin: 0 auto; padding: 0 var(--pad); }
.sheets { padding-top: 84px; }
.sh { display: grid; grid-template-columns: 360px 1fr; gap: 36px; padding: 26px 0 28px; border-top: 1px solid var(--rule); }
.sh:last-child { border-bottom: 1px solid var(--rule); }
.sh__id { display: grid; grid-template-columns: 96px 1fr; column-gap: 20px; align-content: start; }
.sil { grid-row: 1 / span 3; width: 96px; height: 72px; }
.sil path { fill: var(--orange); }
.sil circle { fill: var(--ink); stroke: #fff; stroke-width: 1.4; }
.sh__h a { font: 600 38px/1 var(--serif); text-decoration: none; }
.sh__h a:hover { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; text-decoration-color: var(--orange); }
.sh__n { margin-top: 4px; font-size: 15px; color: var(--muted); }
.sh__n b { font-weight: 600; color: var(--orange-ink); }
.sh__c { display: flex; flex-wrap: wrap; gap: 3px 14px; margin-top: 12px; font-size: 14px; line-height: 1.45; }
.sh__c a { text-decoration: none; border-bottom: 1px solid var(--rule); }
.sh__c a:hover { border-color: var(--orange); }
.sh__c span { color: var(--muted); font-size: 13px; }
.sh__more a { color: var(--orange-ink); font-weight: 600; border: 0; text-decoration: underline; text-underline-offset: 3px; }
.sh__fs { display: grid; grid-template-columns: 1.45fr 1fr 1fr 1fr; gap: 14px; align-items: start; }
.sh__f a { display: block; text-decoration: none; }
.sh__ph { display: block; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 3px; background: var(--sea-light); }
.sh__f--0 .sh__ph { aspect-ratio: 16 / 10.4; }
.sh__ph img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.sh__ph img.wm-l, .tm__ph img.wm-l { height: 122%; }
.sh__f a:hover img { transform: scale(1.03); }
.sh__ft { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-top: 8px; font: 400 13px/1.4 var(--sans); color: var(--muted); }
.sh__f a:hover .sh__ft { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }

/* ---------------------------------------------------------------- новое: лента со шкалой */
.fresh { padding-top: 96px; }
.fr-wrap { position: relative; }
.fr-l { position: relative; display: flex; gap: 22px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 34px 2px 8px; scrollbar-width: thin; }
.fr { position: relative; flex: 0 0 300px; scroll-snap-align: start; }
.fr::before { content: ''; position: absolute; top: -12px; left: 0; right: -22px; height: 5px; background: var(--card); border: 1px solid var(--ink); border-width: 1px 0; }
.fr:nth-child(odd)::before { background: var(--ink); }
.fr__d { position: absolute; top: -36px; left: 0; font: 600 13px var(--sans); color: var(--ink); }
.fr a { display: block; text-decoration: none; }
.fr__ph { display: block; aspect-ratio: 620 / 330; overflow: hidden; border-radius: 3px; background: var(--sea-light); }
.fr__ph img { display: block; width: 100%; height: 100%; object-fit: cover; }
.fr__pl { display: flex; align-items: center; gap: 4px; margin-top: 12px; font-size: 13px; color: var(--muted); }
.fr__pl svg { width: 14px; height: 14px; color: var(--orange); flex: none; }
.fr__t { display: block; margin-top: 4px; font: 600 23px/1.15 var(--serif); }
.fr a:hover .fr__t { text-decoration: underline; text-decoration-color: var(--orange); text-underline-offset: 4px; }
.fresh .more { display: none; }

/* ---------------------------------------------------------------- читают чаще + темы */
.duo { display: grid; grid-template-columns: minmax(0, 1fr); gap: 88px; padding-top: 96px; padding-bottom: 96px; }
.pp-l { columns: 2; column-gap: 64px; }
.pp { break-inside: avoid; }
.pp-l { counter-reset: pp; }
.pp { counter-increment: pp; border-top: 1px solid var(--rule); }
.pp a { display: grid; grid-template-columns: 44px 1fr; padding: 11px 0; text-decoration: none; }
.pp a::before { content: counter(pp); grid-row: 1 / span 2; font: 600 28px/1 var(--serif); color: var(--orange-ink); }
.pp__t { font: 600 16px/1.35 var(--sans); }
.pp--ph a { grid-template-columns: 44px 1fr 128px; column-gap: 0; }
.pp__ph { grid-column: 3; grid-row: 1 / span 2; margin-left: 16px; aspect-ratio: 3 / 2; border-radius: 3px; overflow: hidden; background: var(--sea-light); }
.pp__ph img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pp--ph .pp__t, .pp--ph .pp__m { grid-column: 2; }
.pp-more { display: none; }
.pp a:hover .pp__t { text-decoration: underline; text-underline-offset: 3px; }
.pp__m { display: flex; flex-wrap: wrap; gap: 0 14px; margin-top: 3px; font-size: 13px; color: var(--muted); }
.tm-l { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 16px; }
.tm a { display: block; text-decoration: none; }
.tm__ph { display: block; aspect-ratio: 3 / 4; overflow: hidden; border-radius: 3px; background: var(--sea-light); }
.tm__ph img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; transition: transform .5s; }
.tm a:hover img { transform: scale(1.03); }
.tm__b { display: flex; align-items: center; gap: 9px; margin-top: 9px; }
.tm__s { width: 26px; height: 26px; padding: 3px; border: 1px solid var(--ink); border-radius: 3px; background: var(--card); flex: none; }
.tm__n { font: 600 15px/1.2 var(--sans); }
.tm__k { margin-left: auto; font: 600 13px var(--sans); color: var(--orange-ink); }
.tm a:hover .tm__n { text-decoration: underline; text-underline-offset: 3px; }

/* ---------------------------------------------------------------- организуйте (#text-12) */
.org { background: var(--sea); color: var(--on-sea); }
.org__in { max-width: 1440px; margin: 0 auto; padding: 72px var(--pad) 80px; }
.org__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 22px; margin-bottom: 34px; }
.org__head h2 { font: 600 44px/1.05 var(--serif); color: #fff; }
.org__head p { color: var(--glass); font-size: 15px; }
.org .org__list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px 48px; }
.org__s { display: flex; align-items: baseline; gap: 12px; font: 600 17px/1.3 var(--sans); }
.org__s a { color: #fff; text-underline-offset: 4px; text-decoration-color: var(--orange); }
.org__k { font: 600 34px/1 var(--serif); color: var(--orange); min-width: 22px; }
.org__l { margin: 10px 0 0 34px; display: grid; gap: 8px; }
.org__l a { font-size: 15px; color: var(--on-sea); text-decoration-color: rgba(169, 201, 211, .5); text-underline-offset: 3px; }
.org__l a:hover { text-decoration-color: var(--orange); }
.org__d { color: var(--glass); }
.org .more { display: none; }

/* ---------------------------------------------------------------- подвал */
.ft { background: #081C29; color: var(--glass); }
.ft__in { max-width: 1440px; margin: 0 auto; padding: 56px var(--pad) 28px; display: grid; grid-template-columns: 1.1fr 1.2fr 1.3fr .9fr; gap: 44px; }
.ft h2 { font: 600 24px/1.1 var(--serif); color: #fff; margin-bottom: 14px; }
.ft__brand p { margin-top: 14px; font-size: 14px; max-width: 260px; }
.ft__where ul { columns: 2; column-gap: 24px; font-size: 14px; }
.ft__where li { padding: 3px 0; break-inside: avoid; }
.ft__where span { color: var(--orange); font-weight: 600; font-size: 12px; }
.ft a { color: var(--on-sea); text-decoration-color: rgba(169, 201, 211, .4); text-underline-offset: 3px; }
.ft a:hover { text-decoration-color: var(--orange); }
.ft__links { display: grid; gap: 6px; font-size: 14px; }
.ft__disc { margin-top: 14px; font-size: 13px; line-height: 1.5; }
.ft__lang ul { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 16px; font-size: 14px; }
.ft__lang span { color: var(--orange); }
.ft__copy { max-width: 1440px; margin: 0 auto; padding: 18px var(--pad) 28px; border-top: 1px solid rgba(169, 201, 211, .14); font-size: 12px; }

/* WordPress footer markup. */
.ft__brand img { display: block; }
.ft__col h2 { font: 600 24px/1.1 var(--serif); color: #fff; margin-bottom: 14px; }
.ft__col ul { display: grid; gap: 5px; font-size: 14px; }
.ft__base { max-width: 1440px; margin: 0 auto; padding: 18px var(--pad) 28px; border-top: 1px solid rgba(169, 201, 211, .14); font-size: 12px; }

/* ================================================================ СТАТЬЯ */
/* «лист атласа»: продолжение шапки с местом и координатами, низ — картографическая рамка-шашка */
.lst { position: relative; background: var(--sea-2); color: var(--on-sea); }
.lst::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 5px; background: repeating-linear-gradient(90deg, var(--on-sea) 0 22px, var(--sea) 22px 44px); }
.lst__in { max-width: 1136px; margin: 0 auto; padding: 9px 32px 14px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 2px 24px; }
.lst p { display: flex; align-items: center; gap: 8px; }
.lst__pl { font: 500 italic 21px/1.2 var(--serif); }
.lst__pl svg { width: 16px; height: 16px; color: var(--orange); }
.lst__pl a { color: #fff; text-decoration: none; }
.lst__pl a:hover { text-decoration: underline; text-decoration-color: var(--orange); text-underline-offset: 4px; }
.lst__pl span { color: var(--glass); font-style: normal; font-size: 15px; }
.lst__xy { font: 400 13px var(--sans); color: var(--glass); font-variant-numeric: tabular-nums; }
.lst__xy svg { width: 15px; height: 15px; color: var(--orange); }
.ap__grid { max-width: 1136px; margin: 0 auto; padding: 0 32px; display: grid; grid-template-columns: minmax(0, 680px) 320px; column-gap: 72px; justify-content: center; }
.ap__art { min-width: 0; padding-top: 24px; }
.crumbs ol { display: flex; flex-wrap: wrap; gap: 2px 8px; font-size: 13px; color: var(--muted); }
.crumbs li:not(:last-child)::after { content: '/'; margin-left: 8px; color: #93A4AE; }
.crumbs a { color: var(--muted); text-underline-offset: 3px; text-decoration-color: rgba(77, 96, 108, .4); }
.crumbs li[aria-current] { display: none; }
.ah h1 { margin-top: 14px; font: 600 54px/1.03 var(--serif); letter-spacing: -.012em; color: var(--ink); text-wrap: balance; }
.ah__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-top: 16px; font-size: 15px; color: var(--muted); }
.ah__av { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; object-position: 50% 20%; }
.ah__by a { color: var(--ink); font-weight: 600; text-decoration: none; }
.ah__by a:hover { text-decoration: underline; }
.ah__date { color: var(--ink); }
.ah__cats { display: flex; gap: 6px; }
.ah__cats a { padding: 3px 10px; border: 1px solid var(--rule); border-radius: 999px; font-size: 13px; color: var(--ink); text-decoration: none; background: var(--card); }
.ah__cats a:hover { border-color: var(--orange); }
.brief-icon { display: inline-block; width: 18px; height: 18px; border: 2px solid var(--orange); border-radius: 50%; }
.city-dot { fill: var(--orange); stroke: #fff; stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.city-dot.is-current { fill: var(--ink); stroke: var(--orange); stroke-width: 2.5; }
.city-label { fill: var(--ink); font: 600 12px var(--sans); paint-order: stroke; stroke: var(--paper); stroke-width: 3px; stroke-linejoin: round; }
.loc__map.sil { width: 100%; max-height: 220px; }
.loc-m { display: none; }

/* Archives, search, pages and errors reuse the atlas card language. */
.archive-page, .plain, .error-page { max-width: 1240px; margin: 0 auto; padding: 64px var(--pad) 96px; }
.archive-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .8fr); align-items: center; gap: 64px; padding-bottom: 48px; border-bottom: 1px solid var(--rule); }
.archive-hero h1, .archive-title h1, .plain h1, .error-page h1 { margin-top: 12px; font: 600 clamp(46px, 6vw, 76px)/.98 var(--serif); }
.archive-hero__copy > p { margin-top: 16px; color: var(--muted); }
.archive-hero__copy > :last-child:not(h1) { margin-bottom: 0; }
.archive-hero__map svg { display: block; width: 100%; max-height: 360px; }
.archive-title { margin-bottom: 42px; }
.archive-title .hd__search, .error-page .hd__search { margin: 24px 0 0; background: #fff; color: var(--ink); border-color: var(--rule); }
.archive-title .hd__search input, .error-page .hd__search input { color: var(--ink); }
.archive-title .hd__search span, .error-page .hd__search span { margin-left: 14px; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0; }
.chips a { display: inline-flex; gap: 8px; padding: 8px 13px; border: 1px solid var(--rule); border-radius: 999px; background: #fff; text-decoration: none; }
.chips a:hover { border-color: var(--orange); }
.chips span { color: var(--orange-ink); font-weight: 600; }
.archive-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 42px 24px; margin-top: 42px; }
.archive-card { min-width: 0; }
.archive-card .fr__d { position: static; display: block; margin-bottom: 8px; }
.archive-card::before { display: none; }
.navigation.pagination { margin-top: 52px; }
.nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.page-numbers { padding: 8px 13px; border: 1px solid var(--rule); border-radius: 3px; background: #fff; text-decoration: none; }
.page-numbers.current { border-color: var(--orange); box-shadow: inset 0 -3px 0 var(--orange); }
.plain { max-width: 820px; }
.plain__article .entry { margin-top: 36px; }
.empty { padding: 80px 0; text-align: center; }
.empty h2 { font: 600 44px/1 var(--serif); }
.empty p { margin-top: 12px; color: var(--muted); }
.error-page { min-height: 70vh; text-align: center; }
.error-page__code { font: 600 120px/.8 var(--serif); color: var(--orange); }
.error-page > p:not(.error-page__code) { margin-top: 18px; color: var(--muted); }
.error-page .hd__search { margin-inline: auto; }
.error-countries { display: flex; justify-content: center; flex-wrap: wrap; gap: 9px 18px; margin-top: 30px; }

@media (max-width: 899px) {
  .archive-hero { grid-template-columns: 1fr; gap: 30px; }
  .archive-hero__map { order: -1; }
  .archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 599px) {
  .archive-page, .plain, .error-page { padding: 36px 16px 64px; }
  .archive-grid { grid-template-columns: 1fr; }
  .ft__in { grid-template-columns: 1fr 1fr; }
}
.acp-tb-title .loc-m { flex: none; width: 40px; height: auto; }

/* плашка .acp-travel-bar: «билет» с картографической рамкой */
.acp-travel-bar { position: relative; display: flex; align-items: center; gap: 16px; margin-top: 20px; padding: 13px 14px 12px 16px; background: var(--card); border: 1px solid var(--ink); border-radius: 2px; }
.acp-travel-bar::before { content: ''; position: absolute; left: -1px; right: -1px; top: -6px; height: 5px; background: var(--neat); border: 1px solid var(--ink); }
.acp-tb-title { display: flex; align-items: center; gap: 8px; font: 400 14px/1.25 var(--sans); color: var(--muted); }
.acp-tb-title svg { width: 18px; height: 18px; color: var(--orange); flex: none; }
.acp-tb-dot { display: none; }
.acp-tb-place { display: block; font: 600 22px/1 var(--serif); color: var(--ink); }
.acp-tb-perf { align-self: stretch; width: 0; border-left: 2px dashed var(--rule); margin: -4px 2px; }
.acp-tb-btns { display: flex; gap: 8px; margin-left: auto; }
.acp-tb-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 16px; border: 1px solid var(--ink); border-radius: 3px; font: 600 15px/1.1 var(--sans); color: var(--ink); text-decoration: none; white-space: nowrap; }
.acp-tb-btn:hover { background: var(--paper); }
.acp-tb-main { background: var(--orange); border-color: var(--orange); padding: 0 22px; }
.acp-tb-main:hover { background: #FF9535; }

/* текст */
.entry { margin-top: 30px; font-size: 18px; line-height: 1.7; }
.entry > p, .entry .sp p, .entry .sp__lead p, .entry .sp__after p, .entry .spread > p { margin: 0 0 1.05em; }
.entry a { color: var(--link); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.entry a:hover { text-decoration-thickness: 2px; }
.entry strong { font-weight: 600; }
.entry h2 { margin: 2.1em 0 .55em; font: 600 38px/1.08 var(--serif); letter-spacing: -.005em; scroll-margin-top: 16px; }
.entry h3 { margin: 1.7em 0 .5em; font: 600 21px/1.3 var(--sans); scroll-margin-top: 16px; }
.entry > ul { margin: 0 0 1.2em; }
.entry > ul li { position: relative; padding-left: 26px; margin-bottom: .45em; }
.entry > ul li::before { content: ''; position: absolute; left: 4px; top: .62em; width: 8px; height: 8px; background: var(--orange); border: 1px solid var(--ink); }
.entry blockquote { margin: 1.6em 0; padding: 18px 22px; background: var(--card); border-left: 4px solid var(--orange); }
.entry blockquote p { margin: 0; }

/* фото: пары, тройки, вертикальные; лайтбокс */
.spread { margin: 1.4em 0 1.8em; }
.ph { position: relative; display: block; padding: 7px; background: var(--card); border: 1px solid var(--rule); border-radius: 1px; }
.ph img { background: var(--sea-light); }
.ph:hover { border-color: var(--ink); }
.ph img { display: block; width: 100%; height: auto; transition: transform .5s; }
.ph { overflow: hidden; }
.ph:hover img { transform: none; }
.ph__n { position: absolute; left: 7px; top: 7px; display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px 5px 8px; background: var(--card); color: var(--ink); font: 600 italic 15px/1 var(--serif); }
.ph__n svg { width: 12px; height: 12px; color: var(--orange-ink); }
.entry .ph { text-decoration: none; }
.spread--pair { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.spread--pair .sp, .spread--triple .sp { display: flex; flex-direction: column; justify-content: flex-end; }
.spread--pair .ph img { aspect-ratio: 4 / 3; object-fit: cover; }
.spread--triple { display: grid; grid-template-columns: 1.85fr 1fr; grid-template-rows: auto auto; gap: 18px 20px; }
.spread--triple .sp--big { grid-row: 1 / span 2; justify-content: flex-start; }
.spread--triple .sp--s p { font-size: 16px; line-height: 1.5; }
.spread--tall-l, .spread--tall-r { display: grid; grid-template-columns: 1fr 290px; gap: 0 28px; align-items: start; }
.spread--tall-r { grid-template-columns: 290px 1fr; }
.spread--tall-l .ph, .spread--tall-r .ph { grid-row: 1 / span 2; }
.spread--tall-l .ph { grid-column: 2; }
.spread--tall-r .ph { grid-column: 1; }
.spread--tall-r .sp__lead, .spread--tall-r .sp__after { grid-column: 2; }
.sp__lead { align-self: end; }
.strip { position: relative; margin: 1.6em 0 2.2em; padding: 18px 18px 18px; background: var(--sea); border-radius: 2px; }
.strip::before { content: ''; position: absolute; left: 0; right: 0; top: -5px; height: 5px; background: repeating-linear-gradient(90deg, var(--on-sea) 0 22px, var(--sea) 22px 44px); border: 1px solid var(--sea); }
.strip__t { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 12px; margin-bottom: 14px; font-size: 13px; color: var(--glass); }
.strip__h { font: 600 24px/1 var(--serif); color: #fff; }
.strip__l { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
.strip__l a { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 1px; outline-offset: 2px; }
.strip__l img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s, opacity .2s; }
.strip__l a:hover img { transform: scale(1.05); }
.strip__n { position: absolute; left: 0; top: 0; min-width: 22px; padding: 3px 5px; background: var(--sea); color: var(--on-sea); font: 600 italic 14px/1 var(--serif); text-align: center; }

/* «Коротко» = легенда карты */
.lgd { position: relative; margin-top: 6px; background: var(--card); border: 1px solid var(--ink); border-radius: 2px; padding: 20px 20px 16px; }
.lgd::before { content: ''; position: absolute; left: -1px; right: -1px; top: -6px; height: 5px; background: var(--neat); border: 1px solid var(--ink); }
.lgd__t { font: 600 30px/1 var(--serif); }
.lgd__dl { margin-top: 12px; }
.lgd__dl > div { padding: 10px 0; border-top: 1px solid var(--rule); }
.lgd dt { display: flex; align-items: center; gap: 9px; font: 600 13px/1.2 var(--sans); color: var(--muted); }
.lgd dd { margin: 5px 0 0 33px; font-size: 15px; line-height: 1.5; }
.lgd dd a { color: var(--link); text-underline-offset: 3px; }
.lgd__s { width: 24px; height: 24px; padding: 2px; border: 1px solid var(--ink); border-radius: 2px; flex: none; color: var(--ink); }
.lgd__w { display: flex; gap: 9px; align-items: flex-start; margin-top: 8px; padding: 11px 12px; background: var(--orange-tint); border-radius: 2px; font-size: 14px; line-height: 1.5; }
.lgd__w .lgd__s { color: var(--orange-ink); border-color: var(--orange-ink); background: #fff; }
.lgd__src { margin-top: 10px; font-size: 12px; color: var(--muted); }
.lgd--flow, .toc-m { display: none; }

/* партнёрские блоки и виджеты */
.tpx { display: grid; grid-template-columns: 250px 1fr; margin: 2em 0; background: var(--sea); color: var(--on-sea); border-radius: 3px; overflow: hidden; }
.tpx__ph img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tpx__b { padding: 22px 26px 24px; }
.tpx__k { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--glass); }
.tpx__k svg { width: 15px; height: 15px; color: var(--orange); }
.entry .tp-title { margin: 6px 0 0; font: 600 30px/1.1 var(--serif); color: #fff; }
.tp-text { margin-top: 6px; font-size: 16px; line-height: 1.5; color: var(--on-sea); }
.tpx__a { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-top: 16px; }
.entry .tpx .btn { color: var(--ink); text-decoration: none; }
.tpx__by { font-size: 13px; color: var(--glass); }
.pw { margin: 1.8em 0; padding: 14px; background: var(--card); border: 1px solid var(--rule); border-radius: 3px; }
.pw__h, .pw__t { font: 600 16px/1.3 var(--sans); }
.pw__body { margin-top: 10px; border-radius: 2px; overflow: hidden; }
.pw__body img { display: block; width: 100%; height: auto; }
.pw__cap { margin-top: 8px; font-size: 12px; color: var(--muted); }
.pw--fold summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 32px; }
.pw__tg { font: 600 14px var(--sans); color: var(--link); text-decoration: underline; text-underline-offset: 3px; }
.pw--fold .c, .pw--fold[open] .o { display: none; }
.pw--fold[open] .c { display: inline; }
.pw--map { position: relative; padding-top: 18px; border-color: var(--ink); }
.pw--map::before { content: ''; position: absolute; left: -1px; right: -1px; top: -6px; height: 5px; background: var(--neat); border: 1px solid var(--ink); }

.acp-share { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin: 2.2em 0 0; padding: 18px 0; border-top: 1px solid var(--rule); }
.acp-share__t { font: 600 26px/1 var(--serif); }
.acp-share__b { display: flex; flex-wrap: wrap; gap: 8px; }
.sh-b { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 16px 0 12px; border: 1px solid var(--rule); border-radius: 999px; background: var(--card); font: 600 14px var(--sans); color: var(--ink); text-decoration: none; cursor: pointer; }
.entry .sh-b { color: var(--ink); text-decoration: none; }
.sh-b svg { width: 20px; height: 20px; }
.sh-b:hover { border-color: var(--ink); }
.ah__sign { margin-top: 18px; font-size: 14px; color: var(--muted); }
.ah__sign a { color: var(--link); text-underline-offset: 3px; }

/* правая колонка */
.ap__rail { padding-top: 24px; min-width: 0; }
.loc { margin-bottom: 22px; }
.loc__map { position: relative; display: block; border: 1px solid var(--ink); border-radius: 2px; }
.loc__map::before { content: ''; position: absolute; left: -1px; right: -1px; top: -6px; height: 5px; background: var(--neat); border: 1px solid var(--ink); }
.loc svg { display: block; width: 100%; height: auto; }
.loc .sea, .tmap .sea { fill: var(--sea-light); }
.loc .gr { fill: none; stroke: #B7CDD5; stroke-width: .6; }
.loc .ln { fill: #F4F7F7; }
.loc .bd { fill: none; stroke: #B9C8CE; stroke-width: .6; }
.loc .tr { fill: #F9C08D; stroke: var(--orange-ink); stroke-width: 1; }
.loc .ring { fill: none; stroke: var(--ink); stroke-width: 1.4; }
.loc .dot { fill: var(--ink); stroke: #fff; stroke-width: 1.4; }
.loc text { font: 500 italic 17px var(--serif); fill: var(--ink); paint-order: stroke; stroke: #fff; stroke-width: 3px; }
.loc figcaption { display: grid; grid-template-columns: auto 1fr; gap: 2px 10px; margin-top: 10px; font-size: 14px; align-items: baseline; }
.loc figcaption a { font: 600 21px/1.1 var(--serif); color: var(--ink); text-underline-offset: 3px; text-decoration-color: var(--orange); }
.loc figcaption span { color: var(--muted); font-size: 13px; }
.loc__xy { grid-column: 1 / -1; margin-top: 4px; font-size: 12px; color: var(--muted); font-variant-numeric: tabular-nums; }
.lgd--rail { margin-top: 24px; }
.rail__stick { position: sticky; top: 16px; max-height: calc(100vh - 32px); overflow: auto; margin-top: 26px; padding: 4px 4px 4px 0; scrollbar-width: thin; }
.toc__t { font: 600 22px/1.1 var(--serif); margin-bottom: 8px; }
.toc__l { font-size: 14px; line-height: 1.35; border-left: 1px solid var(--rule); }
.toc__l a { display: block; padding: 5px 0 5px 14px; margin-left: -1px; border-left: 2px solid transparent; color: var(--ink); text-decoration: none; }
.toc__l a:hover { text-decoration: underline; text-underline-offset: 3px; }
.toc__l a.is-here { border-left-color: var(--orange); color: var(--orange-ink); font-weight: 600; }
.toc__sub { display: none; }
.toc__l li.is-open .toc__sub { display: block; }
.toc__sub a { padding-left: 26px; font-size: 13px; }
.org--rail { margin-top: 24px; padding: 18px 18px 16px; background: var(--sea); color: var(--on-sea); border-radius: 3px; }
.org__t { font: 600 22px/1.1 var(--serif); color: #fff; margin-bottom: 10px; }
.org--rail .org__list { display: block; }
.org--rail .org__list > li { padding: 9px 0; border-top: 1px solid rgba(169, 201, 211, .18); }
.org--rail .org__s { font-size: 14px; gap: 8px; }
.org--rail .org__k { font-size: 20px; min-width: 14px; }
.org--rail .org__l { margin: 4px 0 0 22px; gap: 4px; }
.org--rail .org__l a { font-size: 13px; line-height: 1.4; }
.org--rail .org__d { display: none; }

/* «Рядом на карте» */
.near { margin-top: 80px; background: var(--sea); color: var(--on-sea); }
.near__in { max-width: 1240px; margin: 0 auto; padding: 64px 32px 72px; }
.near .sec__h h2 { color: #fff; }
.near .sec__h p { color: var(--glass); }
.tmap__fr { position: relative; }
.tmap svg { display: block; width: 100%; height: auto; border-radius: 3px; }
.tmap .sea { fill: var(--sea-2); }
.tmap .gr { fill: none; stroke: var(--grat); stroke-width: .7; stroke-opacity: .6; }
.tmap .ln { fill: var(--land); }
.tmap .bd { fill: none; stroke: var(--sea-2); stroke-width: .8; }
.tmap .tr { fill: #3F6E89; stroke: var(--orange); stroke-width: 1.6; }
.tmap .cd { fill: var(--on-sea); stroke: var(--sea); stroke-width: 1.5; }
.tmap .cd.is-here { fill: var(--orange); }
.tp-l { position: absolute; inset: 0; pointer-events: none; }
.tp { --md: clamp(46px, 6.4vw, 76px); position: absolute; left: var(--x); top: var(--y); width: 0; height: 0; }
.tp a { position: absolute; transform: translate(-50%, calc(var(--md) / -2)); display: flex; flex-direction: column; align-items: center; gap: 5px; width: 130px; text-decoration: none; pointer-events: auto; color: #fff; }
.tp__ph { width: var(--md); height: var(--md); border-radius: 50%; overflow: hidden; box-shadow: 0 0 0 2px var(--on-sea), 0 8px 20px rgba(0, 0, 0, .4); transition: box-shadow .2s; }
.tp__ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tp__ph img.wm-s { transform: scale(1.14); transform-origin: 50% 25%; }
.tp__t { white-space: nowrap; }
.tp__n { font: 500 italic 18px/1 var(--serif); }
.tp__k { font: 600 12px var(--sans); color: var(--orange); }
.tp.is-here .tp__ph { box-shadow: 0 0 0 3px var(--orange), 0 8px 20px rgba(0, 0, 0, .4); }
.tp.is-here .tp__t::after { content: '\2022'; display: block; margin-top: 3px; font: 600 11px var(--sans); color: var(--ink); background: var(--orange); border-radius: 2px; padding: 2px 6px; text-align: center; }
.tp a:hover .tp__ph, .tp a:focus-visible .tp__ph { box-shadow: 0 0 0 3px var(--orange); }
.chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.chips a { display: inline-flex; gap: 6px; align-items: baseline; padding: 6px 13px; border: 1px solid rgba(169, 201, 211, .35); border-radius: 999px; font-size: 14px; color: var(--on-sea); text-decoration: none; }
.chips a:hover { border-color: var(--orange); }
.chips span { font-weight: 600; font-size: 12px; color: var(--orange); }
.shelf { margin-top: 56px; }
.near .sec__h--s h3 { color: #fff; }
.near .sec__h--s > a { color: var(--on-sea); }
.near .car__b { border-color: var(--glass); color: var(--on-sea); }
.car { position: relative; }
.vc-l, .oc-l { position: relative; display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 10px; scrollbar-width: thin; scrollbar-color: var(--grat) transparent; }
.vc { flex: 0 0 250px; scroll-snap-align: start; }
.vc a, .ra a, .oc a { display: block; text-decoration: none; color: var(--on-sea); }
.vc__ph, .ra__ph, .oc__ph { display: block; overflow: hidden; border-radius: 3px; background: var(--sea-3); }
.vc__ph { aspect-ratio: 3 / 2; }
.vc__ph img, .ra__ph img, .oc__ph img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.vc a:hover img, .ra a:hover img, .oc a:hover img { transform: scale(1.03); }
.oc__ph img.wm-s, .oc__ph img.wm-l { object-position: 50% 0; height: 118%; }
.vc__t { display: block; margin-top: 10px; font: 400 15px/1.4 var(--sans); }
.vc a:hover .vc__t, .oc a:hover .oc__n { text-decoration: underline; text-decoration-color: var(--orange); text-underline-offset: 3px; }
.ra-l { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.ra__ph { aspect-ratio: 620 / 330; }
.ra__t { display: block; margin-top: 12px; font: 600 25px/1.15 var(--serif); color: #fff; }
.ra a:hover .ra__t { text-decoration: underline; text-decoration-color: var(--orange); text-underline-offset: 4px; }
.oc { flex: 0 0 180px; scroll-snap-align: start; }
.oc__ph { aspect-ratio: 4 / 5; }
.oc__n { display: block; margin-top: 9px; font: 500 italic 22px/1 var(--serif); color: #fff; }
.oc__k { display: block; margin-top: 3px; font: 600 12px var(--sans); color: var(--orange); }

/* комментарии */
.talk { max-width: 1136px; margin: 0 auto; padding: 72px 32px 96px; }
.talk > * { max-width: 680px; }
.talk h2 { font: 600 40px/1.1 var(--serif); margin-bottom: 22px; }
.cm-l > li { border-top: 1px solid var(--rule); }
.cm { display: grid; grid-template-columns: 42px 1fr; gap: 14px; padding: 18px 0; font-size: 16px; line-height: 1.6; }
.cm__av { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: var(--sea-light); font: 600 17px var(--sans); }
.cm__av--a { background: var(--orange); }
.cm__h { margin-bottom: 4px; font-size: 15px; }
.cm__d { color: var(--muted); font-size: 13px; margin-left: 6px; }
.cm__badge { margin-left: 4px; padding: 1px 7px; border-radius: 999px; background: var(--orange-tint); color: var(--orange-ink); font: 600 12px var(--sans); }
.cm__r { display: inline-block; margin-top: 4px; font: 600 13px var(--sans); color: var(--link); text-underline-offset: 3px; }
.cm__rep { margin-left: 56px; border-top: 1px solid var(--rule); }
.cm-more { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; margin-top: 10px; border: 1px solid var(--ink); border-radius: 4px; font: 600 15px var(--sans); text-decoration: none; }
.comment-respond { margin-top: 44px; padding: 26px; background: var(--card); border: 1px solid var(--rule); border-radius: 3px; }
.comment-respond h3 { font: 600 28px/1.1 var(--serif); }
.note, .f-consent { font-size: 13px; color: var(--muted); margin: 6px 0 14px; }
.f-consent a { color: var(--link); }
.comment-respond label { display: block; font: 600 14px var(--sans); margin: 12px 0 5px; }
.comment-respond textarea, .comment-respond input[type=text], .comment-respond input[type=email] { width: 100%; padding: 11px 12px; border: 1px solid #A9B8C0; border-radius: 3px; font: 400 16px var(--sans); background: #fff; color: var(--ink); }
.f-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.comment-respond .f-ck { display: flex; gap: 9px; align-items: flex-start; font-weight: 400; font-size: 14px; }
.f-ck input { margin-top: 4px; width: 18px; height: 18px; }

/* лайтбокс */
.lb { border: 0; padding: 0; background: rgba(6, 18, 27, .96); color: #fff; inset: 0; margin: 0; width: 100%; height: 100%; max-width: none; max-height: none; }
.lb::backdrop { background: rgba(6, 18, 27, .9); }
.lb__fig { display: grid; place-items: center; height: 100%; padding: 56px 72px 64px; }
.lb__fig img { max-width: min(100%, 900px); max-height: calc(100vh - 140px); width: auto; height: auto; }
.lb__cap { margin-top: 12px; font-size: 14px; color: var(--glass); }
.lb__b, .lb__x { position: absolute; width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .35); background: rgba(12, 37, 54, .6); color: #fff; cursor: pointer; }
.lb__b svg, .lb__x svg { width: 22px; height: 22px; }
.lb__prev { left: 16px; top: 50%; transform: translateY(-50%); }
.lb__next { right: 16px; top: 50%; transform: translateY(-50%); }
.lb__x { right: 16px; top: 12px; }

/* ================================================================ адаптивность */
@media (max-width: 1279px) {
  :root { --pad: 32px; }
  .hd__nav > ul { gap: 20px; }
  .hd__search { width: 200px; }
  .cart h1 { font-size: 44px; }
  .sh { grid-template-columns: 300px 1fr; gap: 28px; }
  .ap__grid { column-gap: 48px; grid-template-columns: minmax(0, 660px) 300px; }
}
@media (min-width: 1200px) {
  .atlas__top { flex-wrap: nowrap; gap: 20px; }
  .cart { flex: 1 1 auto; min-width: 0; gap: 20px; }
  .cart__b { max-width: 330px; }
  .rg__tabs { flex: none; gap: 6px; }
  .rg__tabs a { padding-inline: 10px; }
}
@media (max-width: 1079px) {
  .hd__search { display: none; }
  .legend { display: none; }
  .sh { grid-template-columns: 230px 1fr; gap: 20px; }
  .sh__id { grid-template-columns: 1fr; }
  .sil { grid-row: auto; width: 64px; height: 48px; margin-bottom: 6px; }
  .sh__h a { font-size: 32px; }
  .sh__c li:nth-child(n+6) { display: none; }
  .sh__fs { grid-template-columns: 1.3fr 1fr 1fr; }
  .sh__f--3 { display: none; }
  .ap__grid { grid-template-columns: minmax(0, 680px); }
  .ap__rail { display: contents; }
  .loc, .lgd--rail, .toc { display: none; }
  .rail__stick { position: static; max-height: none; overflow: visible; margin: 0; padding: 0; }
  .lgd--flow { display: block; margin: 1.6em 0 1.4em; }
  .toc-m { display: block; margin: 0 0 1.6em; border: 1px solid var(--rule); border-radius: 3px; background: var(--card); }
  .toc-m summary { display: flex; align-items: center; min-height: 48px; padding: 0 16px; font: 600 16px var(--sans); }
  .toc-m summary::after { content: '+'; margin-left: auto; font-size: 22px; font-weight: 400; color: var(--orange-ink); }
  .toc-m[open] summary::after { content: '−'; }
  .toc-m ol { padding: 0 16px 14px; font-size: 15px; line-height: 1.4; }
  .toc-m li { margin: 6px 0; }
  .toc-m a { color: var(--link); text-underline-offset: 3px; }
  .tocm__sub { padding-left: 16px; font-size: 14px; }
  .org--rail { margin: 40px 0 0; }
  .ap__grid > .ap__rail .org--rail { grid-column: 1; }
}
@media (max-width: 899px) {
  :root { --pad: 20px; }
  body { font-size: 16px; }
  .hd__in { height: 56px; gap: 8px; }
  .hd__logo img { width: 136px; }
  .hd__nav { display: none; }
  .lg { position: static; margin-left: auto; }
  .lg__b { height: 40px; padding: 0 10px; }
  .lg__p, .is-art .lg__p { position: absolute; left: 10px; right: 10px; top: 54px; width: auto; max-height: calc(100vh - 70px); overflow: auto; }
  .hd__m { display: flex; gap: 2px; }
  .mp summary { width: 44px; height: 44px; display: grid; place-items: center; color: var(--on-sea); }
  .mp summary svg { width: 24px; height: 24px; }
  .mp__p { position: absolute; left: 0; right: 0; top: 56px; max-height: calc(100vh - 56px); overflow: auto; background: var(--sea-2); padding: 14px 20px 22px; border-top: 1px solid var(--grat); box-shadow: 0 24px 50px rgba(3, 14, 22, .5); }
  .mp__p form { display: flex; gap: 8px; }
  .mp__p input { flex: 1; min-width: 0; height: 46px; padding: 0 14px; border-radius: 4px; border: 1px solid var(--grat); background: var(--sea); color: var(--on-sea); font: 400 16px var(--sans); }
  .mp__p input::placeholder { color: var(--glass); }
  .mp__p button { height: 46px; padding: 0 18px; border: 0; border-radius: 4px; background: var(--orange); color: var(--ink); font-weight: 600; }
  .mnav > li > a { display: flex; align-items: center; min-height: 48px; font: 600 17px var(--sans); color: var(--on-sea); text-decoration: none; border-bottom: 1px solid rgba(169, 201, 211, .16); }
  .mnav__h { display: block; padding: 14px 0 4px; font: 600 17px var(--sans); color: var(--on-sea); }
  .mnav .wp { grid-template-columns: 1fr; padding-bottom: 6px; }

  /* главная: лист региона крупно + страны лентой */
  .atlas__in { padding: 0 0 12px; }
  .atlas__in, .atlas__top, .cart, .cart__b, .regions, .rg__row { min-width: 0; max-width: 100%; }
  .cart { display: block; width: 100%; padding: 18px 20px 12px; }
  .cart h1 { font-size: 34px; }
  .cart__p, .cart__b .cart__p { width: 100%; max-width: 100%; margin-top: 8px; font-size: 15px; line-height: 1.45; white-space: normal; overflow-wrap: anywhere; }
  .cart__s, .cart__a { display: none; }
  .atlas__top { display: block; margin: 0; }
  .cart { display: block; }
  .cart h1 { white-space: normal; }
  .cart__b { max-width: none; padding: 0; }
  .rg--world, .rg__tabs .is-world { display: none; }
  .ov, .mosaic { display: none; }
  .rg__tabs { gap: 6px; padding: 0 20px 10px; margin: 0; }
  .rg__tabs a { flex: 1 1 0; padding: 4px 12px; font-size: 14px; }
  .rg__map--d { display: none; }
  .rg__map--m { display: block; max-width: 560px; margin: 0 auto; }
  svg.rmap { border-radius: 0; }
  .js .pp-l:not(.is-open) > li:nth-child(n+6) { display: none; }
  .js .pp-more { display: block; margin-left: 0; }
  .pp--ph a { grid-template-columns: 34px 1fr 96px; }
  .pins--r .pin { --md: clamp(44px, 13vw, 64px); }
  .pins--r .pin__m { width: 84px; gap: 4px; }
  .pins--r .pin__t { flex-direction: column; align-items: center; gap: 2px; }
  .pins--r .pin__n { font-size: 15px; }
  .pins--r .pin__k { font-size: 11px; }
  .pins--r .card { position: fixed; left: 10px; right: 10px; bottom: 10px; top: auto; width: auto; max-width: 420px; margin: 0 auto; max-height: 72vh; overflow: auto; }
  .pins--r .card::before { display: none; }

  .sheets { padding-top: 26px; }
  .sheets .sec__h { margin-bottom: 14px; }
  .sec__h h2 { font-size: 32px; }
  .sec__h p { font-size: 14px; }
  .sheets .sec__h p { display: none; }
  .sh-list { position: relative; display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 calc(var(--pad) * -1); padding: 0 var(--pad) 8px; scroll-padding: 0 var(--pad); scrollbar-width: none; }
  .sh-list::-webkit-scrollbar { display: none; }
  .sh { flex: 0 0 min(64vw, 260px); display: flex; flex-direction: column; gap: 0; padding: 0; border: 0; scroll-snap-align: start; }
  .sh:last-child { border: 0; }
  .sh__fs { order: -1; display: block; }
  .sh__f:not(.sh__f--0) { display: none; }
  .sh__ft { display: none; }
  .sh__ph, .sh__f--0 .sh__ph { aspect-ratio: 4 / 3; }
  .sh__id { grid-template-columns: 1fr auto; margin-top: 8px; }
  .sil { grid-row: 1; grid-column: 2; width: 44px; height: 33px; }
  .sh__h a { font-size: 26px; }
  .sh__n { font-size: 13px; margin-top: 2px; }
  .sh__c { grid-column: 1 / -1; margin-top: 6px; font-size: 13px; gap: 2px 10px; }
  .sh__c li:nth-child(n+4) { display: none; }

  .fresh { padding-top: 56px; }
  .fresh .car__nav { display: none; }
  .fr { flex-basis: 74vw; max-width: 300px; }
  .fr__t { font-size: 21px; }
  .duo { padding-top: 56px; padding-bottom: 56px; gap: 48px; }
  .pp-l { columns: 1; }
  .tm-l { position: relative; display: flex; overflow-x: auto; gap: 12px; margin: 0 calc(var(--pad) * -1); padding: 0 var(--pad) 8px; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .tm { flex: 0 0 42vw; max-width: 200px; scroll-snap-align: start; }
  .tm__ph { aspect-ratio: 1; }
  .org__in { padding: 48px var(--pad) 52px; }
  .org__head h2 { font-size: 32px; }
  .org .org__list { grid-template-columns: 1fr; gap: 22px; }
  .js .org__in .org__list:not(.is-open) > li:nth-child(n+4) { display: none; }
  .js .org .more { display: block; margin-left: 0; }
  .ft__in { grid-template-columns: 1fr 1fr; gap: 32px 24px; padding-top: 40px; }
  .ft__brand { grid-column: 1 / -1; }
  .ft__where { grid-column: 1 / -1; }
}
/* планшет: первым — «Весь мир» (карта мира, кадр от Европы до Филиппин), дальше листы регионов */
@media (min-width: 700px) and (max-width: 899px) {
  .rg--world, .rg__tabs .is-world { display: block; }
  .rg__tabs .is-world { display: flex; }
  .rg__row { align-items: center; }
  .rg--world { overflow: hidden; }
  .rg--world .rg__map--d { display: block; width: 146%; margin-left: -43%; }
  .rg__map--m { max-width: 600px; }
  .pins--d .card { position: fixed; left: 20px; right: 20px; bottom: 16px; top: auto !important; width: auto; max-width: 440px; margin: 0 auto; max-height: 70vh; overflow: auto; }
  .pins--d .card::before { display: none; }
}
@media (max-width: 719px) {
  .lst__in { padding: 6px 16px 11px; gap: 0 14px; }
  .lst__pl { font-size: 18px; }
  .lst__xy { font-size: 12px; }
  .ap__grid { padding: 0 16px; }
  .ap__art { padding-top: 12px; }
  .crumbs ol { flex-wrap: nowrap; overflow: hidden; white-space: nowrap; font-size: 12px; }
  .crumbs li:last-of-type { overflow: hidden; text-overflow: ellipsis; }
  .ah h1 { margin-top: 8px; font-size: 32px; line-height: 1.06; }
  .ah__meta { gap: 4px 10px; margin-top: 10px; font-size: 14px; }
  .acp-tb-title .loc-m { display: block; }
  .acp-tb-title > svg:first-child { display: none; }
  .loc-m path { fill: var(--orange); }
  .loc-m circle { fill: var(--ink); }
  .loc-m .ring { fill: none; stroke: var(--ink); stroke-width: 1.2; }
  .ah__av { width: 26px; height: 26px; }
  .ah__cats a { padding: 1px 8px; font-size: 12px; }
  .acp-travel-bar { display: grid; grid-template-columns: 1fr; gap: 9px; margin-top: 14px; padding: 10px 10px 10px; }
  .acp-tb-title { font-size: 13px; }
  .acp-tb-title svg { width: 16px; height: 16px; }
  .acp-tb-title > span { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
  .acp-tb-place { display: inline; font-size: 20px; }
  .acp-tb-perf { display: none; }
  .acp-tb-btns { display: grid; grid-template-columns: 1.7fr 1fr 1fr; gap: 6px; margin: 0; }
  .acp-tb-btn { min-height: 44px; padding: 0 6px; font-size: 14px; white-space: normal; text-align: center; line-height: 1.15; }
  .acp-tb-main { padding: 0 8px; }
  .entry { margin-top: 20px; font-size: 17px; line-height: 1.65; }
  .entry h2 { font-size: 30px; }
  .entry h3 { font-size: 19px; }
  .spread--pair, .spread--triple, .spread--tall-l, .spread--tall-r { display: block; }
  .spread--pair .sp + .sp, .spread--triple .sp + .sp { margin-top: 1.2em; }
  .spread--triple .sp--s p { font-size: 17px; line-height: 1.65; }
  .spread--tall-l .ph, .spread--tall-r .ph { width: 72%; margin: 0 auto 1.2em; }
  .tpx { grid-template-columns: 1fr; }
  .tpx__ph { aspect-ratio: 16 / 9; overflow: hidden; }
  .tpx__b { padding: 18px 18px 20px; }
  .pw { padding: 12px; }
  .near { margin-top: 48px; }
  .near__in { padding: 44px 16px 52px; }
  .tp:not(.is-here) a .tp__t { display: none; }
  .tp { --md: 34px; }
  .tp.is-here { --md: 46px; }
  .tp__n { font-size: 15px; }
  .chips { margin-top: 40px; }
  .chips a { font-size: 13px; padding: 5px 11px; }
  .shelf { margin-top: 40px; }
  .sec__h--s h3 { font-size: 26px; }
  .near .car__nav { display: none; }
  .vc { flex-basis: 68vw; }
  .ra-l { grid-template-columns: 1fr; gap: 22px; }
  .ra__t { font-size: 22px; }
  .oc { flex-basis: 40vw; }
  .talk { padding: 52px 16px 72px; }
  .talk h2 { font-size: 32px; }
  .comment-respond { padding: 18px; }
  .f-row { grid-template-columns: 1fr; }
  .cm__rep { margin-left: 28px; }
  .lb__fig { padding: 56px 8px 72px; }
  .strip { padding: 14px 12px; }
  .strip__l { gap: 4px; }
  .strip__n { font-size: 12px; min-width: 18px; padding: 2px 4px; }
  .ph { padding: 5px; }
  .ph__n { left: 5px; top: 5px; }
  .lb__prev, .lb__next { top: auto; bottom: 14px; transform: none; }
  .lb__prev { left: calc(50% - 60px); }
  .lb__next { right: calc(50% - 60px); }
  .ft__in { grid-template-columns: 1fr; }
}
@media (max-width: 379px) {
  .acp-tb-title { font-size: 12px; gap: 6px; }
  .acp-tb-title .loc-m { width: 32px; }
  .acp-tb-place { font-size: 18px; }
}
@media (max-width: 359px) {
  .hd__logo img { width: 118px; }
  .cart h1 { font-size: 30px; }
  .ah h1 { font-size: 29px; }
  .acp-tb-btn { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* ритм листов: у чётных стран крупный кадр справа (только ПК) */
@media (min-width: 1080px) {
  .sh:nth-child(even) .sh__fs { grid-template-columns: 1fr 1fr 1fr 1.45fr; }
  .sh:nth-child(even) .sh__f--0 { order: 4; }
}
@media (max-width: 1279px) {
  .pins--d.pins--w .pin { --md: 64px; }
  .pins--d.pins--w .pin__m { width: 84px; gap: 3px; }
  .pins--d.pins--w .pin__t { flex-direction: column; align-items: center; gap: 1px; }
  .pins--d.pins--w .pin__n { font-size: 16px; }
  .pins--d.pins--w .pin__k { font-size: 11px; }
}

/* Final WordPress integration overrides. */
@media (min-width: 900px) {
  .ft__in { grid-template-columns: 1.3fr 1fr 1fr; }
}
.hd__search > span { margin-left: 14px; flex: none; color: var(--glass); }
.archive-page .chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0; }
.archive-page .chips a { display: inline-flex; gap: 8px; padding: 8px 13px; border: 1px solid var(--rule); border-radius: 999px; background: #fff; color: var(--ink); text-decoration: none; }
.archive-page .chips a:hover { border-color: var(--orange); }
.archive-page .chips span { color: var(--orange-ink); font-weight: 600; }
.archive-title .hd__search, .error-page .hd__search { display: flex; }
.comment-list .comment-body, .cm-l .comment-body { padding: 18px 0; border-top: 1px solid var(--rule); }
.comment-list .children, .cm-l .children { margin-left: 48px; }
.comment-meta { font-size: 13px; color: var(--muted); }
.comment-content { margin-top: 8px; }
.reply { margin-top: 6px; font-size: 13px; font-weight: 600; }
@media (max-width: 1079px) {
  .ap__rail .loc, .ap__rail .lgd--rail, .ap__rail .toc { display: block; grid-column: 1; margin-top: 36px; }
  .ap__rail .rail__stick { grid-column: 1; }
}

.ft__legal { display: flex; flex-wrap: wrap; gap: 6px 22px; list-style: none; margin: 8px 0 0; padding: 0; }
.ft__legal a { color: inherit; font-size: 14px; text-underline-offset: 3px; }
