:root{
  --green:#3bbd41; --green-dark:#2a9e2f; --link:#2f6fb0;
  --ink:#222; --muted:#777; --bg:#f7f8fa; --card:#fff; --line:#e6e8ec;
  --radius:14px; --shadow:0 1px 3px rgba(0,0,0,.08);
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
  background:var(--bg);color:var(--ink);line-height:1.55}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}
.container{width:100%;max-width:1160px;margin:0 auto;padding:18px 20px}
.container.narrow{max-width:720px}
/* Убираем подчеркивание у всех ссылок во всех состояниях */
a,
a:link,
a:visited,
a:hover,
a:active,
a:focus {
  text-decoration: none;
}
h1{font-size:30px;margin-bottom:14px}
h2{font-size:23px;margin: 8px 0 5px 0;}
.muted{color: var(--muted);
    border-top: none;
    padding: 0px;}
    .content .muted{color: var(--muted);
    border-top: solid 1px #ccc;
    padding: 20px 0 10px;
    margin-top: 15px !important;}
    #poiLoad{
      margin-top: 30px;
    padding: 13px 18px;
    font-size: 15px;
    }
.block{margin:25px 0}
.section-title{font-size:22px;margin-bottom:16px;text-align: center;}
.content p{margin: 5px 0;}

/* Вертикальное расположение для всех элементов */
#poiAlong .poi-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 15px;
  padding: 10px;
  border-bottom: 1px solid #f0f0f0;
}

/* Показываем картинки только у которых есть src */
#poiAlong .poi-thumb {
  max-width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;
}

/* Скрываем картинки без src или с hidden */
#poiAlong .poi-thumb:not([src]),
#poiAlong .poi-thumb[src=""],
#poiAlong .poi-thumb[hidden] {
  display: none !important;
}

/* Стили для текста */
#poiAlong .poi-item > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

#poiAlong .muted {
  color: #666;
  font-size: 0.9em;
}
/* Header */
.site-header{background:#fff;position:sticky;top:0;z-index:200;border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{display:flex;align-items:center;gap:10px}
.logo-mark{width:38px;height:38px;border-radius:10px;background:var(--green);color:#fff;
  display:grid;place-items:center;font-weight:700;font-size:20px}
.logo-text{font-weight:600;font-size:18px;color:var(--ink)}
.logo-text img{
    width: 40px;
    margin-bottom: -8px;
    margin-right: 10px;
}
.nav-menu{display:flex;gap:26px}
.nav-menu a{color:#555;font-size:15px}
.nav-menu a:hover{color:var(--green);text-decoration:none}
.hamburger{display:none;background:none;border:none;cursor:pointer;padding:6px}
.hamburger span{display:block;width:26px;height:3px;background:#333;margin:5px 0;border-radius:2px;transition:.25s}
.hamburger.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.menu-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:150}

/* Hero + search */
.hero{background:linear-gradient(180deg,#fff,#f3f7f3);border-bottom:1px solid var(--line);
  padding:46px 0 40px;text-align:center}
.hero h1{font-size:34px}
.hero-sub{color:var(--muted);font-size:16px;max-width:620px;margin:8px auto 0}
.search-card{max-width:560px;margin:26px auto 0;background:var(--card);border:1px solid var(--line);
  border-radius:18px;padding:22px;text-align:left;box-shadow:var(--shadow)}
.search-card .field input[type=text]{width:100%;padding:13px 15px;border:1px solid #dcdfe4;
  border-radius:11px;font-size:16px;margin:7px 0}
.search-card input:focus{outline:none;border-color:var(--green)}
.via-list .field{position:relative}
.via-list .via-remove{position:absolute;right:8px;top:14px;border:none;background:none;color:#c00;cursor:pointer;font-size:18px}
.swap-row{text-align:center;margin:2px 0}
.swap-row button{background:#eef6ef;border:1px solid #d7e8d8;color:var(--green-dark);
  width:40px;height:34px;border-radius:9px;cursor:pointer;font-size:16px}
.btn-link{background:none;border:none;color:var(--green-dark);cursor:pointer;font-size:14px;padding:4px 0}
.btn-primary{background:var(--green);color:#fff;border:none;border-radius:11px;padding:13px 22px;
  font-size:16px;font-weight:600;cursor:pointer;display:inline-block}
.btn-primary:hover{background:var(--green-dark);text-decoration:none;color:#fff}
.btn-block{width:100%;margin-top:14px}
.btn-outline{display:inline-block;border:1px solid var(--green);color:var(--green-dark);
  background:#fff;border-radius:10px;padding:9px 16px;font-size:14px;cursor:pointer}
.btn-outline:hover{background:#f1faf1;text-decoration:none}

/* Cards */
.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:18px;box-shadow:var(--shadow)}
.route-card h3{font-size:17px;margin-bottom:6px;color:var(--ink)}
.route-card:hover{text-decoration:none;border-color:var(--green);transform:translateY(-1px);transition:.15s}
.badge{display:inline-block;margin-top:10px;font-size:12px;color:var(--muted);
  background:#f0f2f5;padding:3px 9px;border-radius:20px}

/* Route page */
.breadcrumbs{font-size:13px;color:var(--muted);margin-bottom:10px}
.route-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin:22px 0}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;text-align:center}
.stat-num{font-size:26px;font-weight:700;color:var(--green)}
.stat-label{font-size:13px;color:var(--muted);margin-top:4px}
.route-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}

/* Панель параметров расчёта */
.calc-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:14px 18px;margin:-8px 0 15px}
.calc-head{font-weight:600;color:var(--green-dark);font-size:15px;margin-bottom:4px}
.calc-panel summary{cursor:pointer;font-weight:600;color:var(--green-dark);font-size:15px;list-style:none}
.calc-panel summary::-webkit-details-marker{display:none}
.calc-panel summary::before{content:'▸ ';transition:.2s}
.calc-panel[open] summary::before{content:'▾ '}
.calc-grid{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;margin-top:14px}
.calc-grid label{display:flex;flex-direction:column;font-size:13px;color:var(--muted);gap:5px}
.calc-grid input{width:130px;padding:9px 11px;border:1px solid #d6dae2;border-radius:9px;font-size:15px}
.calc-grid input:focus{outline:none;border-color:var(--green)}
.calc-note{margin-top:10px;font-size:12px}
.rating{display:flex;align-items:center;gap:8px;margin-left:auto}
.rating .vote{background:#f0f2f5;border:none;border-radius:9px;padding:7px 12px;cursor:pointer;font-size:16px}
.rating .vote:hover{background:#e3e6ea}
.rating-score{font-weight:700;min-width:30px;text-align:center}
.route-map{height:460px;border-radius:var(--radius);border:1px solid var(--line);margin:8px 0 0px;z-index:1}
/* Редактор промежуточных точек на странице маршрута */
.via-editor{margin:6px 0 20px;padding:14px 16px;background:var(--bg-soft,#f7f9fc);border:1px solid var(--line);border-radius:12px}
.via-add{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.via-add label{font-weight:600;white-space:nowrap;color:var(--ink,#222)}
.ac-wrap{position:relative;flex:1 1 280px;min-width:220px}
.ac-wrap input{width:100%;padding:11px 14px 11px 38px;border:1px solid var(--line);border-radius:10px;font-size:15px;
  background:#fff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="%238a97a8" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="7"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>') no-repeat 12px center;
  transition:border-color .15s, box-shadow .15s}
.ac-wrap input:focus{outline:none;border-color:#3b82d1;box-shadow:0 0 0 3px rgba(59,130,209,.15)}
.ac-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:20;margin:0;padding:4px;list-style:none;
  background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 28px rgba(0,0,0,.14);max-height:280px;overflow:auto}
.ac-list li{padding:9px 12px;border-radius:7px;cursor:pointer;font-size:14px}
.ac-list li:hover{background:#eef4ff}
.via-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:12px 0 0}
.via-chips:empty{margin:0}
.via-chip{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid #d4e0f2;
  border-radius:999px;padding:6px 8px 6px 12px;font-size:14px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.via-chip .via-del{border:none;background:#e7eef9;color:#33507a;width:20px;height:20px;border-radius:50%;
  cursor:pointer;font-size:15px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .15s}
.via-chip .via-del:hover{background:#d3e0f3}

/* Цветные маркеры в списке городов — как на карте */
.city-list{list-style:none;padding:0;margin:0}
.city-list li{padding:10px 0;display:flex;align-items:center;gap:2px;border-bottom:1px solid var(--line)}
.city-list li:last-child{border-bottom:none}
.pin{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px;flex:0 0 auto;border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.pin-start{background:#3bbd41}
.pin-end{background:#e2493b}
.pin-via{background:#2f6fd1}
.pin-mid{background:#9aa3ad}
.pin-legend{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px;font-size:13px}
.pin-legend .pin{margin-right:2px}
.city-add{background:none;border:none;padding:0;margin:0;color:#2f6fd1;font:inherit;cursor:pointer;
  border-bottom:1px dashed #9bbbe6;text-align: left;}
.city-add:hover{color:#1b4f9e;border-bottom-style:solid}
.city-add.city-added{color:#fff;background:#2f6fd1;border:none;border-radius:999px;padding:2px 10px;
  cursor:default;font-weight:600;box-shadow:0 1px 3px rgba(47,111,209,.4)}
.city-add.city-added::after{content:' ✓'}
.city-mid.city-mid-added .pin-mid{background:#2f6fd1}
.city-mid.city-mid-added{background:#eef4ff;border-radius:8px}
.city-hint{margin-top:6px;font-size:13px}
.seo-text{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px}

/* Таблица фактов + SEO-лонгрид */
.route-facts .facts-table{width:100%;border-collapse:collapse;background:var(--card);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.facts-table th,.facts-table td{padding:11px 14px;border-bottom:1px solid var(--line);
  text-align:left;font-size:14px;vertical-align:top}
.facts-table th{width:46%;color:var(--muted);font-weight:500}
.facts-table tr:last-child th,.facts-table tr:last-child td{border-bottom:none}
/* Таблица участков маршрута (многоколоночная) */
.seg-table th{width:auto;color:var(--muted);font-weight:600;white-space:nowrap}
.seg-table td{white-space:nowrap}
.seg-table td:first-child,.seg-table th:first-child{white-space:normal;min-width:170px}
.seo-longread{max-width:760px;line-height:1.75;margin:30px 0}
.seo-longread h2{font-size:21px;margin:12px 0 8px}
.seo-longread p{margin-bottom:12px;color:#333}
.seo-longread strong {
    color: var(--ink);
    margin-bottom: 7px;
    display: inline-block;
    padding-bottom: 8px;
    padding-top: 8px;
    background: #fff;
    padding: 6px 0px 7px;
}
/* POI */
.poi-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:26px}
.poi-cats{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.poi-chip{display:inline-flex;align-items:center;gap:6px;background:#f3f5f8;border-radius:20px;
  padding:6px 12px;font-size:14px;cursor:pointer}
.poi-list{margin-top:14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.poi-item{font-size:14px;border:1px solid var(--line);border-radius:10px;padding:10px}
.poi-item .cat{font-size:12px;color:var(--green-dark)}

/* Шапка маршрута: заголовок + кнопка нового маршрута */
.map-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:14px 0 10px}
.map-tools .muted{margin:0;    font-size: 14px;
    line-height: 1.3;
    margin-bottom: 15px;}
#saveRouteBtn{flex:0 0 auto;white-space:nowrap}
.route-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:6px}
.route-head h1{margin:0}
.btn-new-route{white-space: nowrap;
    flex: 0 0 auto;
    border: solid 1px #369;
    border-radius: 35px;
    padding: 10px 25px;}

  /* Убираем подчеркивание у логотипа */
  .logo {
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #333; /* Цвет текста */
  }

  /* Убираем подчеркивание при наведении */
  .logo:hover {
    text-decoration: none;
  }

  /* Стили для элементов логотипа (опционально) */
  .logo-mark {
    font-size: 24px;
    font-weight: bold;
    background: #007bff;
    color: white;
    padding: 4px 8px;
    border-radius: 4px;
  }

  .logo-text {
    font-size: 20px;
    font-weight: bold;
  }

/* Posts */
.post-list{display:flex;flex-direction:column;gap:10px}
.post-item{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.post-item h2{font-size:19px;margin-bottom:4px}
.post-item.has-thumb{display:flex;gap:16px;align-items:flex-start}
.post-thumb{flex:0 0 180px;display:block;border-radius:10px;overflow:hidden}
.post-thumb img{width:180px;height:120px;object-fit:cover;display:block}
.post-body{flex:1;min-width:0}
.post-date{margin-bottom:6px}
.cat-chips,.cat-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.chip{background:#eef6ef;color:var(--green-dark);border-radius:20px;padding:5px 12px;font-size:13px}
.article-body .content{margin-top:16px;line-height:1.7}
.article-body .content img{max-width:100%;height:auto;border-radius:10px;margin: 20px 0;}

/* Forms / alerts */
.form label{display:block;margin-bottom:14px}
.form input,.form textarea{width:100%;padding:11px 13px;border:1px solid #d6dae2;border-radius:10px;
  box-sizing:border-box;font-size:15px;margin-top:5px}
.alert{padding:12px 14px;border-radius:10px;margin-bottom:14px}
.alert.success{background:#e8f7e9;color:#1f7a25}
.alert.error{background:#fdecec;color:#b42318}

/* Pagination */
.pagination{display:flex;gap:6px;margin:24px 0;flex-wrap:wrap}
.page{padding:7px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}
.page.active{background:var(--green);color:#fff;border-color:var(--green)}

/* jQuery UI autocomplete */
.ui-autocomplete{position:absolute;z-index:9999;background:#fff;border:1px solid var(--line);
  border-radius:10px;box-shadow:0 6px 24px rgba(0,0,0,.12);list-style:none;padding:6px;max-height:320px;overflow:auto}
.ui-menu-item{padding:0}
.ui-menu-item-wrapper{padding:9px 12px;border-radius:8px;cursor:pointer}
.ui-menu-item-wrapper.ui-state-active,.ui-menu-item-wrapper:hover{background:#eef6ef}

.error-page{text-align:center;padding:70px 0}

/* Переключатель режима города/точки */
.mode-toggle{display:flex;gap:6px;background:#eef0f3;border-radius:11px;padding:4px;margin-bottom:14px}
.mode-btn{flex:1;border:none;background:transparent;padding:9px 10px;border-radius:8px;
  font-size:14px;font-weight:600;color:#666;cursor:pointer}
.mode-btn.active{background:#fff;color:var(--green-dark);box-shadow:0 1px 2px rgba(0,0,0,.12)}

/* Геокод-подсказки */
.geo-field{position:relative}
.geo-suggest{list-style:none;position:absolute;left:0;right:0;top:100%;z-index:50;background:#fff;
  border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 26px rgba(0,0,0,.14);
  margin-top:2px;max-height:280px;overflow:auto;display:none;padding:4px}
.geo-suggest li{padding:9px 12px;border-radius:8px;font-size:14px;cursor:pointer;line-height:1.3}
.geo-suggest li:hover{background:#eef6ef}

/* Карточка точек */
.points-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:18px;max-width:620px;box-shadow:var(--shadow)}
.points-card .geo-input{width:100%;padding:12px 14px;border:1px solid #dcdfe4;border-radius:11px;
  font-size:15px;margin:7px 0}
.points-card .geo-input:focus{outline:none;border-color:var(--green)}
.points-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}

/* Footer */
.site-footer{background:#1f2430;color:#aeb6c4;margin-top:50px}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:26px;padding:34px 20px}
.site-footer h4{color:#fff;margin-bottom:10px;font-size:15px}
.site-footer ul{list-style:none}
.site-footer a{color:#aeb6c4}
.site-footer a:hover{color:#fff}
.footer-bottom{border-top:1px solid #2c3344;padding:14px 0;font-size:13px}

@media(max-width:868px){
  .nav-menu{position:fixed;top:0;right:-100%;height:100vh;width:74%;max-width:320px;background:#fff;
    flex-direction:column;padding:80px 26px;gap:8px;transition:right .3s;z-index:180;box-shadow:-4px 0 24px rgba(0,0,0,.1)}
  .nav-menu.open{right:0}
  .nav-menu a{padding:10px 0;font-size:17px;border-bottom:1px solid var(--line)}
  .hamburger{display:block;z-index:190}
  h1{font-size:25px}
  .hero h1{font-size:27px}
  .hero-sub {
    color: var(--muted);
    font-size: 12px;
    max-width: 620px;
    margin: 8px auto 0;
}
.hero {
    background: linear-gradient(180deg, #fff, #f3f7f3);
    border-bottom: 1px solid var(--line);
    padding: 3px 0 10px;
    text-align: center;
}
.block {
    margin: 0px 0;
}
}

/* Кнопка «карта на весь экран» + полноэкранный режим */
.map-fs-btn{width:36px;height:36px;border:none;background:#fff;border-radius:7px;font-size:18px;
  cursor:pointer;box-shadow:0 1px 5px rgba(0,0,0,.35);line-height:1;color:#333;display:grid;place-items:center}
.map-fs-btn:hover{background:#f1faf1;color:var(--green-dark)}
.route-map.map-fullscreen{position:fixed!important;inset:0;width:100%!important;height:100%!important;
  z-index:10000;border-radius:0;margin:0;border:none}
body.map-fs-open{overflow:hidden}

/* Дополнительная адаптивность */
.facts-table, .post-item, table.admin{max-width:100%}
.route-list, .cards-grid{width:100%}
@media(max-width:868px){
  .container{padding:14px 14px}
  .route-map{height:340px}
  .route-stats{grid-template-columns:repeat(2,1fr);gap:10px}
  .stat{padding:14px}
  .stat-num{font-size:21px}
  .route-actions{gap:8px}
  .rating{margin-left:0;width:100%;justify-content:flex-end}
  .facts-table th{width:52%}
  .seo-longread h2{font-size:19px}
  .search-card{padding:16px;border-radius:14px}
  .points-card{padding:14px}
  .footer-grid{gap:18px;padding:26px 16px}
  /* Миниатюры новостей/статей — в столбик на мобильных */
  .post-item.has-thumb{flex-direction:column}
  .post-thumb,.post-thumb img{width:100%;flex-basis:auto}
  .post-thumb img{height:180px}
  /* Таблицы с горизонтальной прокруткой на узких экранах */
  .table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media(max-width:420px){
  .route-stats{grid-template-columns:1fr 1fr}
  .hero h1{font-size:23px}
  .mode-btn{font-size:13px;padding:8px 6px}
  .stat-num{font-size:19px}
}

/* Пояснение про GPX */
.gpx-note{margin:8px 0 14px;font-size:13px;line-height:1.5}

/* Мои маршруты */
.my-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.btn-outline.danger{color:#b5372c;border-color:#e3b4ad}
.btn-outline.danger:hover{background:#fdeceaff;background:#fdecea}
.warn-note{background:#fff7e6;border:1px solid #f0d9a8;border-radius:10px;padding:10px 14px;font-size:13px;line-height:1.5;margin:0 0 16px}
.my-card{display:flex;flex-direction:column;gap:8px}
.my-card .my-del{align-self:flex-start;margin-top:4px}
#myRouteBtn.is-saved{background:#eef4ff;border-color:#bcd2f2;color:#1b4f9e}

/* Шаг уточнения города (радиокнопки) */
.clarify-panel{margin-top:14px;padding:14px 16px;background:#f7f9fc;border:1px solid var(--line);border-radius:12px}
.clarify-panel h4{margin:0 0 10px}
.clarify-field{margin-bottom:12px}
.clarify-q{font-weight:600;margin-bottom:6px}
.clarify-opt{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:8px;cursor:pointer}
.clarify-opt:hover{background:#eef4ff}
.clarify-opt input{margin:0}
.clarify-panel .btn-primary{margin-top:6px}

/* QR-код маршрута */
.qr-box{display:flex;align-items:center;gap:14px;margin:14px 0;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fafbfd;max-width:420px}
.qr-code{width:132px;height:132px;flex:0 0 auto}
.qr-code svg{width:100%;height:100%;display:block}
.qr-text{display:flex;flex-direction:column;gap:3px;font-size:14px}

/* HTML-карта сайта */
.sitemap-page .sitemap-block{margin:0 0 26px}
.sitemap-list{list-style:none;padding:0;margin:8px 0}
.sitemap-list li{padding:3px 0}
.sitemap-list.cols{columns:2;column-gap:32px}
@media(max-width:700px){.sitemap-list.cols{columns:1}}

/* Картинка маршрута + блок «поделиться» */
.share-box{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start;margin:16px 0}
.route-image-fig{margin:0;max-width:560px;flex:1 1 360px}
.route-image{width:100%;height:auto;border:1px solid var(--line);border-radius:12px;display:block}
.route-image-fig figcaption{margin-top:6px;font-size:13px}
.share-box .qr-box{margin:0;flex:0 0 auto}

/* Что посмотреть по пути + Может быть интересно */
.poi-along .poi-list{list-style:none;padding:0;margin:10px 0 0}

.poi-along .poi-list li{padding:10px}
.related-block h4{margin:0 0 6px;font-size:16px}
.related-block .route-card{display:block}

/* Сколько добираться */
.transport-modes .facts-table th{font-weight:600}
.transport-modes .facts-table td{white-space:nowrap}

/* Правки по запросу + иконки FontAwesome в заголовках */
h3{margin-bottom:10px; margin-top: 20px;}
.btn-outline{margin-top:0px}
h2 > .fa-solid, h3 > .fa-solid{margin-right:10px;color:#2f6fed}
.transport-modes .facts-table th .fa-solid{margin-right:8px;color:#2f6fed;width:20px;text-align:center}
.seo-longread h2 > .fa-solid{color:#2f6fed}
li > .fa-solid{margin-right:8px;color:#2f6fed;width:18px;text-align:center}

/* Оформление facts-table + фикс смещения на мобильных */
.facts-table{margin-top:19px;background:#fff;border-radius:11px;padding:10px 15px}
html,body{overflow-x:hidden}
.route-page{overflow-x:hidden}
@media(max-width:868px){
  .container.route-page{padding-left:14px;padding-right:14px;margin-left:auto;margin-right:auto}
  .transport-modes .facts-table td{white-space:normal}
  .facts-table{width:100%}
  .facts-table th{word-break:normal}
  .facts-table td{word-break:break-word}
  .share-box{flex-direction:column;gap:12px}
  .route-image-fig{max-width:100%;flex:0 0 auto}
  .share-box .qr-box{margin:0}
}

/* Спиннер загрузки */
.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(47,111,237,.35);border-top-color:#2f6fed;border-radius:50%;animation:spin .7s linear infinite;vertical-align:-2px;margin-right:6px}
@keyframes spin{to{transform:rotate(360deg)}}

/* Список мест по маршруту с картинками */
.poi-list{list-style:none;padding:0}
.poi-item{display:flex;gap:12px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--line)}
.poi-thumb{width:84px;height:64px;object-fit:cover;border-radius:8px;flex:0 0 auto}

/* В публикациях и новостях — списки без маркеров */
.article-body .content ul{list-style-type:none;padding-left:0}
.article-body .content ol{list-style-type:none;padding-left:0}
.article-body .content li{padding:4px 0}

/* Блок «поездка по городу» на странице маршрута A→A */
.city-note {
    border-left: 4px solid #369;
}
.city-note p {
    margin: .4em 0 .8em;
}
.city-note .city-note-actions {
    margin: 0;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
a.btn {
    display: inline-block;
    border: 1px solid #369;
    color: #269;
    background: #fff;
    border-radius: 10px;
    padding: 9px 16px;
    font-size: 14px;
    cursor: pointer;
}
.points-hint {
    color: var(--muted);
    max-width: 520px;
    margin-bottom: 12px;
}
/* Блок «поездка по городу» на странице маршрута A→A */
.city-note { border-left: 4px solid #369; }
.city-note p { margin: .4em 0 .8em; }
.city-note .city-note-actions { margin: 0; display: flex; gap: 8px; flex-wrap: wrap; }

/* Режим «По городу» в модуле поиска на главной */
.city-mode-hint { margin: 8px 0 14px; font-size: 14px; }
#ptHint {
    color: var(--muted);
    margin-top: 15px;
}