/* Прототип раздела «Туризм» — только то, чего нет в m74-site.css */

.m74-proto{background:#fff6d6;border-bottom:1px solid #efdca4;color:#6b5410;font-size:12px;padding:8px 0;text-align:center}
.m74-proto b{color:#4a3a08}

/* ---------- хаб ---------- */
.tr-head{max-width:860px}
.tr-head h1{margin-bottom:10px}
.tr-deck{font-size:18px;line-height:1.55;color:#365273;margin:0 0 22px;max-width:760px}

.tr-map-wrap{position:relative;border:1px solid var(--m74-line);border-radius:12px;overflow:hidden;background:var(--m74-bg)}
#tr-map{height:540px;width:100%}
.tr-map-hint{position:absolute;left:12px;bottom:12px;z-index:500;background:#ffffffeb;border:1px solid var(--m74-line);border-radius:8px;font-size:12px;padding:6px 10px;color:#41608a}
.tr-map-legend{position:absolute;right:12px;top:12px;z-index:500;background:#ffffffeb;border:1px solid var(--m74-line);border-radius:8px;padding:10px 12px;font-size:11px;line-height:1.7;color:#41608a}
.tr-map-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:1px}

.tr-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:18px 0 6px}
.tr-filters .tr-flabel{font-size:12px;color:var(--m74-muted);margin-right:2px}
.tr-chip{border:1px solid var(--m74-line);background:#fff;border-radius:20px;padding:6px 13px;font-size:13px;color:#21324b;cursor:pointer;min-height:0}
.tr-chip:hover{border-color:#b9cbe4}
.tr-chip[aria-pressed="true"]{background:var(--m74-blue);border-color:var(--m74-blue);color:#fff}
.tr-count{font-size:12px;color:var(--m74-muted);margin:10px 0 0}

.tr-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:26px;margin:22px 0 10px}
.tr-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tr-item{border:1px solid var(--m74-line);border-radius:10px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.tr-item:hover{border-color:#b9cbe4}
.tr-thumb{aspect-ratio:16/10;background:var(--m74-bg);position:relative;display:block;overflow:hidden}
.tr-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.tr-thumb.is-empty{display:grid;place-items:center}
.tr-thumb.is-empty span{font-size:11px;color:#8ba2be;letter-spacing:.5px;text-transform:uppercase}
.tr-thumb.is-empty.nature{background:#e8f2e9}.tr-thumb.is-empty.archeo{background:#efe6e2}
.tr-thumb.is-empty.industry{background:#e7ecef}.tr-thumb.is-empty.arch{background:#eee6f2}
.tr-thumb.is-empty.museum{background:#e2efec}.tr-thumb.is-empty.urban{background:#e6eefc}
.tr-thumb.is-empty.family{background:#fceee2}.tr-thumb.is-empty.active{background:#f8e6e6}
.tr-item-body{padding:11px 13px 13px;display:flex;flex-direction:column;gap:5px;flex:1}
.tr-item-meta{font-size:11px;color:var(--m74-muted);display:flex;justify-content:space-between;gap:8px}
.tr-item h3{font-size:15px;line-height:1.32;margin:0}
.tr-item p{font-size:13px;line-height:1.45;margin:0;color:#4a648a}
.tr-item-foot{margin-top:auto;padding-top:8px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.tr-item-foot a,.tr-item-foot span{font-size:12px;font-weight:700;color:var(--m74-blue)}
.tr-item-foot span.is-soon{color:#93a6bd;font-weight:400}
.tr-badge{font-size:10px;font-weight:700;letter-spacing:.4px;border-radius:4px;padding:2px 6px;background:#eef4ff;color:#2a5ea8}
.tr-badge.s{background:#e6f4ea;color:#1e6b35}
.tr-aside{display:grid;gap:16px;align-content:start}
.tr-aside .m74-panel{margin:0;padding:16px;font-size:13px}
.tr-aside h3{font-size:14px;margin:0 0 10px}
.tr-aside ul{list-style:none;padding:0;margin:0}
.tr-aside li{padding:6px 0;border-bottom:1px solid #eef3f9;font-size:12px;display:flex;align-items:center;gap:8px}
.tr-aside li:last-child{border-bottom:0}
.tr-aside li i{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.tr-aside a{color:#2a5ea8}

.tr-zones{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:26px 0}
.tr-zone{border:1px solid var(--m74-line);border-radius:10px;padding:14px;background:#fff}
.tr-zone b{display:block;font-size:14px;line-height:1.3;margin-bottom:6px}
.tr-zone span{font-size:12px;color:var(--m74-muted)}
.tr-zone:hover{border-color:#b9cbe4;background:#f8fbff}

/* ---------- маркеры ---------- */
/* В Leaflet 1.8+ в атрибуции по умолчанию стоит SVG-флаг; в РФ это недопустимо — гасим принудительно */
.leaflet-attribution-flag{display:none!important}
.tr-pin{width:20px;height:20px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 4px #0b234033;background:#2e7d32}
.tr-pin--child{width:13px;height:13px;border-width:2px;box-shadow:0 1px 3px #0b234033}
.tr-pin--nature{background:#2e7d32}.tr-pin--archeo{background:#8d6e63}
.tr-pin--industry{background:#546e7a}.tr-pin--arch{background:#6a1b9a}
.tr-pin--museum{background:#00695c}.tr-pin--urban{background:#0864ff}
.tr-pin--family{background:#ef6c00}.tr-pin--active{background:#c62828}
.tr-pin--soon{opacity:.72;border-style:dashed}
.tr-cluster{background:#0864ff;color:#fff;border:2px solid #fff;border-radius:50%;display:grid;place-items:center;font:700 12px/1 Arial,sans-serif;box-shadow:0 2px 8px #06224a44}
.tr-cluster--sm{width:30px;height:30px}.tr-cluster--md{width:38px;height:38px;font-size:13px}
.tr-cluster--lg{width:46px;height:46px;font-size:14px}

/* ---------- балун ---------- */
.leaflet-popup-content-wrapper{border-radius:10px;padding:0;overflow:hidden}
.leaflet-popup-content{margin:0;width:272px!important;line-height:1.4}
.tr-pop-img{display:block;height:132px;background:var(--m74-bg);overflow:hidden}
.tr-pop-img img{width:100%;height:100%;object-fit:cover;display:block}
.tr-pop-body{padding:11px 13px 13px}
.tr-pop-type{font-size:11px;color:var(--m74-muted)}
.tr-pop-body h3{font-size:15px;margin:3px 0 5px;line-height:1.3}
.tr-pop-body p{font-size:12.5px;color:#4a648a;margin:0 0 9px}
.tr-pop-link{display:inline-block;font-size:12.5px;font-weight:700;color:var(--m74-blue)}
.tr-pop-soon{font-size:12px;color:#93a6bd}
.tr-pop-osm{float:right;font-size:11px;color:#5b7391;text-decoration:underline}
.leaflet-popup-close-button{font-size:20px;color:#5b7391!important;padding:6px 8px 0 0!important}

/* ---------- карточка объекта ---------- */
.tr-article{max-width:860px}
.tr-article h1{font-size:36px;line-height:1.15;letter-spacing:-.7px;margin:10px 0 14px}
.tr-lead{font-size:19px;line-height:1.55;color:#365273;margin:0 0 20px}
.tr-figure{margin:0 0 10px}
.tr-figure img{width:100%;border-radius:10px;display:block}
.tr-credit{font-size:11px;color:var(--m74-muted);margin:7px 0 22px;line-height:1.5}
.tr-credit a{color:#5b7391;text-decoration:underline}

.tr-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--m74-line);border:1px solid var(--m74-line);border-radius:10px;overflow:hidden;margin:22px 0}
.tr-fact{background:#fff;padding:12px 15px}
.tr-fact span{display:block;font-size:11px;color:var(--m74-muted);margin-bottom:3px}
.tr-fact b{font-size:14px;font-weight:700;color:#17293b}

.tr-sec{margin:30px 0}
.tr-sec h2{font-size:24px;margin:0 0 14px;line-height:1.25}
.tr-routes{display:grid;gap:12px}
.tr-route{border:1px solid var(--m74-line);border-left:3px solid var(--m74-blue);border-radius:8px;padding:13px 16px;background:#fbfdff}
.tr-route b{display:block;font-size:14px;margin-bottom:4px}
.tr-route span{font-size:13px;color:#4a648a}
.tr-route small{display:block;font-size:12px;color:var(--m74-muted);margin-top:6px}

.tr-minimap{height:300px;border-radius:10px;border:1px solid var(--m74-line);margin:14px 0 6px}
.tr-nearby{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tr-nearby a{border:1px solid var(--m74-line);border-radius:9px;padding:12px 14px;font-size:14px;line-height:1.35;display:block}
.tr-nearby a:hover{background:#f7faff;border-color:#b9cbe4}
.tr-nearby span{display:block;font-size:11px;color:var(--m74-muted);margin-top:4px}
.tr-faq details{border-bottom:1px solid var(--m74-line);padding:12px 0}
.tr-faq summary{cursor:pointer;font-weight:700;font-size:15px}
.tr-faq p{font-size:14px;color:#4a648a;margin:8px 0 0}
.tr-note{background:#f6f9fe;border:1px solid var(--m74-line);border-radius:9px;padding:13px 16px;font-size:13px;color:#41597a;margin:20px 0}
.tr-note b{color:#17293b}
.tr-verified{font-size:12px;color:var(--m74-muted);border-top:1px solid var(--m74-line);padding-top:14px;margin-top:26px}

/* ---------- точки внутри статьи ---------- */
.tr-points-map{height:380px;border-radius:10px;border:1px solid var(--m74-line);margin:14px 0 6px}
.tr-anchor-nav{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 4px}
.tr-anchor-nav a{border:1px solid var(--m74-line);border-radius:20px;padding:7px 14px;font-size:13px;color:#21324b;background:#fff}
.tr-anchor-nav a:hover{background:#f2f7ff;border-color:#b9cbe4;color:var(--m74-blue)}
.tr-point{padding-top:6px;border-top:1px solid var(--m74-line);margin-top:34px;scroll-margin-top:16px}
.tr-point h2{scroll-margin-top:24px;margin-bottom:10px}
.tr-point-facts{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:13px;color:#4a648a;margin:0 0 14px}
.tr-point-facts b{color:#17293b;font-weight:700}
.tr-point-facts span{white-space:nowrap}

@media(max-width:1000px){
  .tr-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tr-layout{grid-template-columns:minmax(0,1fr)}
  .tr-zones{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tr-map-legend{display:none}
}
@media(max-width:700px){
  #tr-map{height:62vh;min-height:360px}
  .tr-list{grid-template-columns:minmax(0,1fr)}
  .tr-zones{grid-template-columns:1fr 1fr}
  .tr-facts{grid-template-columns:1fr}
  .tr-nearby{grid-template-columns:1fr}
  .tr-article h1{font-size:27px}
  .tr-lead{font-size:16px}
  .leaflet-popup-content{width:230px!important}
  .tr-pop-img{height:108px}
}

/* Статичная карта: видна, если JS не выполнился. Leaflet, инициализировавшись, её прячет. */
.tr-minimap,.tr-points-map,#tr-map{position:relative}
.tr-map-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#eef2f6}

/* --- статья в DLE --- */
.tr-art-photo{margin:0 0 8px}
.tr-art-photo img{width:100%;border-radius:10px;display:block}
.tr-art-photo figcaption{font-size:11px;color:var(--m74-muted);margin-top:6px;line-height:1.5}
.tr-art-head .tr-art-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px 18px;list-style:none;margin:16px 0 22px;padding:0;font-size:13px;color:#39506e}
.tr-art-facts li b{display:block;font-size:11px;color:var(--m74-muted);font-weight:600;margin-bottom:2px;letter-spacing:.02em}
.tr-points-nav{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 16px;font-size:13px}
.tr-points-nav b{color:var(--m74-muted);font-weight:600}
.tr-points-nav a{border:1px solid var(--m74-line);border-radius:999px;padding:5px 12px;text-decoration:none;color:#1b4b8f;background:#fff}
.tr-points-nav a:hover{background:#eef4ff;border-color:#c9ddfb}
.tr-map-article{height:380px}
.tr-list-plain{margin:0;padding:0 0 0 20px;font-size:15px;line-height:1.7;color:#365273}
.tr-list-plain li{margin-bottom:6px}
.tr-faq-item{border:1px solid var(--m74-line);border-radius:8px;padding:12px 16px;margin-bottom:8px;background:#fbfdff}
.tr-faq-item summary{font-weight:600;cursor:pointer;font-size:15px;color:#17293b}
.tr-faq-item p{margin:10px 0 0;font-size:14px;line-height:1.6;color:#3b5578}
@media (max-width:720px){.tr-map-article{height:300px}.tr-art-head .tr-art-facts{grid-template-columns:1fr}}
/* карточка и балун */
.tr-item{cursor:pointer}
.tr-item.is-active{border-color:#2f6fd0;box-shadow:0 0 0 2px rgba(47,111,208,.16)}
.tr-show{white-space:nowrap}
.tr-pop-img--none{background:linear-gradient(135deg,#e8f0fb,#d5e4f7);display:flex;align-items:center;justify-content:center}
.tr-pop-img--none span{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#5b7ba3;font-weight:600}
/* фото в статье: высота из пропорций файла, а не из атрибута width/height */
.tr-art-photo img,.tr-figure img{width:100%;height:auto;aspect-ratio:auto}
