@font-face{font-family:SofiaSans;src:url('../fonts/SofiaSans-VariableFont_wght.woff2') format('woff2'),url('../fonts/SofiaSans-VariableFont_wght.ttf') format('truetype');font-weight:100 900}
@font-face{font-family:Ubuntu;src:url('../fonts/Ubuntu-Bold.woff2') format('woff2'),url('../fonts/Ubuntu-Bold.ttf') format('truetype')}

:root{
	--bg:#f4f7fa;
	--card:#fff;
	--line:#dde3ea;
	--text:#1d2d3d;
	--muted:#5d6b7a;

	/* знамето */
	--bg-white:#fff;
	--bg-green:#00966e;
	--bg-red:#d62612;

	/* статуси на магистралите - същите като в js/motorways.js */
	--mw-operational:#15803d;
	--mw-construction:#fcd62e;
	--mw-permit:#fef08a;
	--mw-design:#ef4444;
	--mw-planned:#fca5a5;
}

*{box-sizing:border-box}
body{margin:0;font-family:SofiaSans,system-ui,sans-serif;font-size:18px;line-height:1.45;color:var(--text);
	background:linear-gradient(180deg,#edf6ff 0%,var(--bg) 100%) var(--bg)}
input,button,select,textarea{font-family:inherit}
a{color:inherit}
.wrapper{width:min(1400px,calc(100% - 32px));margin:auto}

/* Гербът във фона горе вляво - фиксиран, под цялото съдържание (както гербът на София в Smart Sofia) */
.site-coa-bg{position:fixed;top:-10px;left:-40px;width:380px;height:auto;opacity:.08;z-index:-1;pointer-events:none}

/* ---------- шапка (едно към едно с Smart Sofia) ----------
   Остава видима при скрол; scroll-padding-top компенсира височината ѝ при скок до раздел -
   точната стойност я слага js/header.js, 90px е само докато се зареди */
html{scroll-padding-top:90px}
.hero{display:flex;flex-direction:column;padding:12px 0 0;position:sticky;top:0;z-index:9000}
.hero-top{display:flex;align-items:center;justify-content:space-between;gap:14px}
.menu-wrap{position:relative;flex-shrink:0}
.logo a{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
/* знакът на радара вляво от надписа (= favicon.svg) - кръг с пролука горе (359° от 360°) и стрелка */
.logo-mark{width:40px;height:40px;flex:none;display:block}
.logo h1{font-size:1.8em;font-weight:700;font-family:Ubuntu,sans-serif;margin:0;line-height:1.1}
.logo h1 span{color:var(--bg-green)}
/* Подзаглавието под логото - вижда се само на самия връх на страницата */
.hero-quicknav{margin:0;font-size:.95em;font-weight:400;line-height:1.3;color:#1d2d3d}
.hero.hero-scrolled .hero-quicknav{display:none}
/* Докато е скролнато - същият фон като на връх (градиентът и гербът), за да не се вижда съдържанието отдолу */
.hero.hero-scrolled::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#edf6ff 0%,var(--bg) 100%);z-index:-2}
.hero.hero-scrolled::after{content:"";position:absolute;inset:0;background:url('/img/coa/bulgaria.svg') -40px -10px / 380px auto no-repeat;
	-webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,transparent 100%);
	opacity:.08;pointer-events:none;z-index:-1}

/* бързите връзки - на телефон се плъзгат хоризонтално */
.hero-chips{display:flex;gap:8px;margin-top:10px;padding-bottom:10px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.hero-chips::-webkit-scrollbar{display:none}
.hero.hero-scrolled .hero-chips{margin-top:0}
.hero-chips a{flex:none;padding:9px 16px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#1d2d3d;font-size:.9em;font-weight:600;
	line-height:1.2;text-decoration:none;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}
.hero-chips a:hover{border-color:var(--bg-green)}
.hero-chips a.is-active{background:var(--bg-green);border-color:var(--bg-green);color:#fff}

/* хамбургерът и менюто */
.menu-toggle-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:52px;height:52px;border:none;border-radius:12px;background:none;color:#1d2d3d;cursor:pointer;padding:0}
.menu-toggle-btn svg line{transform-box:fill-box;transform-origin:center;transition:transform .2s ease,opacity .2s ease}
.menu-toggle-btn[aria-expanded="true"] svg line:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-toggle-btn[aria-expanded="true"] svg line:nth-child(2){opacity:0}
.menu-toggle-btn[aria-expanded="true"] svg line:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.main-menu{display:none;flex-direction:column;position:absolute;top:calc(100% + 6px);right:0;z-index:10000;min-width:280px;max-width:calc(100vw - 28px);
	max-height:calc(100vh - 90px);max-height:calc(100dvh - 90px);overflow-y:auto;overscroll-behavior:contain;
	background:#fff;border:1px solid var(--line);border-radius:17px;padding:10px;box-shadow:0 8px 30px rgba(23,50,75,.15)}
.main-menu.open{display:flex}
.main-menu a{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:10px;color:#1d2d3d;text-decoration:none;font-size:1.05em;font-weight:600}
.main-menu a:hover{background:var(--bg)}
.main-menu .menu-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;height:34px;font-size:18px;line-height:1}
.main-menu .menu-icon img{width:100%;height:100%;object-fit:contain}
/* "на живо" - пулсиращата точка е след текста */
.main-menu > a:first-child .live-dot{margin-left:2px}
.main-menu > a:first-child{margin-bottom:4px;border-bottom:1px solid var(--line);border-radius:10px 10px 0 0;font-weight:700}
.main-menu .menu-group{display:flex;flex-direction:column}
.main-menu .menu-external{margin-top:6px;border-top:1px solid var(--line);border-radius:0 0 10px 10px;font-weight:700}
.menu-group-title{padding:12px 12px 4px;color:#64748b;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
/* пулсиращата точка на "на живо" */
.live-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 rgba(22,163,74,.6);animation:live-dot-pulse 1.8s infinite}
@keyframes live-dot-pulse{0%{box-shadow:0 0 0 0 rgba(22,163,74,.6)}70%{box-shadow:0 0 0 8px rgba(22,163,74,0)}100%{box-shadow:0 0 0 0 rgba(22,163,74,0)}}
@media (min-width:901px){
	.main-menu.open{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:8px;width:min(1180px,calc(100vw - 28px))}
	.main-menu > a:first-child{grid-column:1 / -1}
	.main-menu .menu-external{grid-column:1 / -1}
}
@media (max-width:900px){
	.hero .logo h1{font-size:1.4em}
	.logo-mark{width:30px;height:30px}
	.hero .hero-quicknav{font-size:.9em}
}

/* ---------- раздели и карти - заглавията като в Smart Sofia ---------- */
.section{padding:32px 0}
/* Отделени раздели (магистрали, ж.п., подвижен състав, времева линия, енергийна система, икономика) - фон на цяла ширина в цвета
   на иконата от хамбургера (--panel), един до друг без разстояние; иконата е горе вдясно, извън wrapper-а */
.section-panel{position:relative;overflow:hidden;padding:36px 0;
	background:linear-gradient(90deg,color-mix(in srgb,var(--panel) 3%,transparent) 0%,color-mix(in srgb,var(--panel) 11%,transparent) 100%)}
.section-panel > .wrapper{position:relative}
/* иконата е голяма и излиза отдясно извън секцията (отрязана от overflow) */
.section-photo{position:absolute;top:140px;right:-200px;width:560px;height:560px;background-size:contain;background-repeat:no-repeat;
	background-position:left top;opacity:.35;pointer-events:none}
@media (max-width:600px){
	.section-photo{width:240px;height:240px;top:80px;right:-90px}
}
.section-head h2{margin:0;font-size:1.76rem;font-weight:800;line-height:1.2;color:#0f172a}
.section-lead{margin:4px 0 20px;color:#64748b;font-size:1.1rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 2px 10px rgba(20,40,60,.04)}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px}
.card-head h3{margin:0;font-size:1.3rem;font-weight:800;line-height:1.25;color:#0f172a}
.empty-state{color:var(--muted)}
/* Бледа картинка в долния десен ъгъл на картата - като .feature-photo в Smart Sofia (картинките са от thiings.co,
   слагат се, когато картата наближи екрана - data-lazy-bg в js/header.js); съдържанието е над нея */
/* без z-index по съдържанието - иначе изскачащото "откъде са данните" остава под следващата карта */
.has-photo{position:relative}
.has-photo > :not(.feature-photo){position:relative}
.feature-photo{position:absolute;right:0;bottom:0;width:170px;height:170px;background-size:contain;background-repeat:no-repeat;background-position:center;
	opacity:.2;z-index:0;pointer-events:none}
/* големите карти (бюджетът, таблицата на банките, здравето) - картинката е по-голяма и по-бледа, като .bd-photo в Smart Sofia */
.feature-photo.bd-photo{right:15px;bottom:15px;width:360px;height:360px;background-position:right bottom;opacity:.15}
/* в "Здраве" - горе вдясно, под иконката "i", и малко по-малки */
.hl-card .feature-photo.bd-photo{top:56px;right:24px;bottom:auto;width:260px;height:260px;background-position:right top}
/* "Ток", "Природен газ" и "Колко са поскъпнали" - също горе вдясно, под иконката "i" (иначе стои зад редовете долу) */
#utilities-index .feature-photo,#utilities-electricity .feature-photo,#utilities-gas .feature-photo{top:56px;right:24px;bottom:auto;background-position:right top}
@media (max-width:560px){
	.feature-photo.bd-photo{width:220px;height:220px}
}
@media (max-width:560px){
	.hl-card .feature-photo.bd-photo{width:160px;height:160px}
}

/* иконка "откъде са данните" */
.data-info{position:relative}
.data-info summary{list-style:none;cursor:pointer;color:var(--muted);display:flex}
.data-info summary::-webkit-details-marker{display:none}
.data-info-pop{position:absolute;right:0;top:28px;width:min(340px,80vw);background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px;font-size:15px;box-shadow:0 8px 24px rgba(20,40,60,.12);z-index:1100}
.data-info-pop p{margin:4px 0}
.data-info-pop a{color:#00694d}
.data-info-note{color:var(--muted)}

/* ---------- карта ---------- */
.map-widget{position:relative;padding:0 18px}
.map{height:min(620px,70vh);border-radius:12px;background:#e9eef3;z-index:1}
/* "Два пръста" върху картата на телефон (twoFingerDrag в map-common.js) */
.map-gesture-hint{position:absolute;inset:0;z-index:1001;display:flex;align-items:center;justify-content:center;padding:24px;
	background:rgba(15,23,42,.55);color:#fff;font-size:17px;font-weight:600;line-height:1.3;text-align:center;pointer-events:none;opacity:0;transition:opacity .2s}
.map-gesture-hint.is-visible{opacity:1}
.map-fullscreen-btn{position:absolute;top:10px;right:28px;z-index:500;border:1px solid var(--line);background:#fff;border-radius:8px;padding:5px 10px;font-size:15px;cursor:pointer}
.map-widget.is-fullscreen{position:fixed;inset:0;z-index:100000;background:#fff;padding:0}
.map-widget.is-fullscreen .map{height:100%;border-radius:0}
.map-widget.is-fullscreen .map-fullscreen-btn{right:10px}
.map-error{position:absolute;inset:auto 0 0;padding:10px;text-align:center;background:#fff3f1;color:#9f1d0f;z-index:600}
.leaflet-container{font-family:inherit}
.leaflet-popup-content{font-size:15px;line-height:1.35;margin:12px 14px}

/* надписи на градовете (js/map-common.js) - центрирани върху точката, с бял ореол за четимост върху линиите */
.rm-place{background:none;border:0}
.rm-place span{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;color:#3d4a57;font-weight:600;font-size:12px;
	text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 2px #fff,0 0 1px #fff}
.rm-place-1 span{font-size:15px;font-weight:800;color:#1b2733}
.rm-place-2 span{font-size:13px;font-weight:700}
.rm-place-4 span{font-size:11px;font-weight:500;color:#5d6b7a}
.rm-place-5 span{font-size:10.5px;font-weight:500;color:#6b7785}

/* ---------- магистрали ---------- */
.mw-operational{--c:var(--mw-operational)}
.mw-construction{--c:var(--mw-construction)}
.mw-permit{--c:var(--mw-permit)}
.mw-design{--c:var(--mw-design)}
.mw-planned{--c:var(--mw-planned)}

.mw-totals{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.mw-totals-5{grid-template-columns:repeat(5,1fr)}
.mw-total{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 16px;display:flex;flex-direction:column}
.mw-total-label{display:flex;align-items:center;gap:8px;font-size:16px;color:var(--muted)}
.mw-total-value{font-size:34px;font-weight:800;line-height:1.15}
.mw-total-value small{font-size:18px;font-weight:600;color:var(--muted)}
.mw-total-share{font-size:15px;color:var(--muted)}
.mw-dot{width:10px;height:10px;border-radius:50%;background:var(--c)}

.mw-bar{display:flex;height:10px;border-radius:99px;overflow:hidden;background:#e5e9ee;margin:14px 0 6px}
.mw-bar-part{background:var(--c)}
.mw-bar-part.mw-permit,.mw-bar-part.mw-design,.mw-bar-part.mw-planned{background:repeating-linear-gradient(90deg,var(--c) 0 8px,transparent 8px 12px)}
.mw-network-note{margin:0 0 20px;font-size:15px;color:var(--muted)}

.mw-map-card{padding-bottom:6px}
.mw-legend{display:flex;flex-wrap:wrap;gap:6px 18px;padding:12px 18px}
.mw-legend-item{display:flex;align-items:center;gap:8px;font-size:16px;cursor:pointer;user-select:none}
.mw-legend-item input{accent-color:#00966e;width:17px;height:17px;margin:0}
.mw-legend-line{width:30px;height:0;border-top:4px solid var(--c)}
.mw-legend-line.mw-permit,.mw-legend-line.mw-design,.mw-legend-line.mw-planned{border-top-style:dashed}
/* бледожълтите - с лек сив контур, като на картата */
.mw-legend-line.mw-construction,.mw-legend-line.mw-permit,.mw-dot.mw-construction,.mw-dot.mw-permit{box-shadow:0 0 0 1px #9aa5b1b3}

.mw-chip.mw-planned{color:#b91c1c}
.mw-chip.mw-construction,.mw-chip.mw-permit{color:#854d0e;background:#fef3c7}

/* списък под картата - по един ред на магистрала: име и маршрут | лента | km | % */
.mw-list{margin-top:20px;overflow:hidden}
.mw-item + .mw-item{border-top:1px solid var(--line)}
.mw-item-head{list-style:none;cursor:pointer;padding:11px 18px;display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,32%) 128px 46px;gap:16px;align-items:center}
.mw-item-head::-webkit-details-marker{display:none}
.mw-item-head:hover{background:#f8fafc}
.mw-item-head .mw-bar{margin:0}
.mw-item-title{display:flex;align-items:center;gap:10px;min-width:0;white-space:nowrap}
.mw-item-title::before{content:'';flex:none;width:7px;height:7px;margin:0 2px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);
	transform:rotate(-45deg);transition:transform .15s}
.mw-item[open] .mw-item-title::before{transform:rotate(45deg)}
.mw-item[open] .mw-item-head{border-bottom:1px solid var(--line);background:#f8fafc}
.mw-shield{flex:none;background:#00703c;color:#fff;font-weight:700;border-radius:5px;padding:0 6px;font-size:14px;line-height:20px;border:2px solid #fff;outline:1px solid #00703c}
.mw-item-name{flex:none;font-size:19px;font-weight:700}
.mw-item-route{color:var(--muted);font-size:15px;overflow:hidden;text-overflow:ellipsis}
.mw-item-head:hover .mw-item-name{color:#00694d}
.mw-item-km{font-size:15px;color:var(--muted);text-align:right;white-space:nowrap}
.mw-item-pct{font-size:18px;font-weight:700;text-align:right}

.mw-lots{width:100%;border-collapse:collapse;font-size:16px}
.mw-lots th{text-align:left;font-weight:600;color:var(--muted);font-size:14px;padding:8px 18px;border-bottom:1px solid var(--line)}
.mw-lots td{padding:9px 18px;border-bottom:1px solid #eef1f4;vertical-align:top}
.mw-lots tr:last-child td{border-bottom:none}
.mw-lots tbody tr{cursor:pointer}
.mw-lots tbody tr:hover,.mw-lots tbody tr:focus{background:#f5f9fc;outline:none}
.mw-lots .num{text-align:right;white-space:nowrap}
.mw-lot-name{display:block;font-weight:600}
.mw-lot-note{display:block;color:var(--muted);font-size:14px}
.mw-chip{display:inline-block;white-space:nowrap;font-size:13px;font-weight:700;padding:2px 9px;border-radius:99px;color:var(--c);background:color-mix(in srgb,var(--c) 12%,#fff)}

.mw-popup-motorway{font-size:13px;color:var(--muted)}
.mw-popup-title{font-weight:700;font-size:16px;margin:2px 0 6px}
.mw-popup-note{margin-top:6px;font-size:13px;color:var(--muted);font-style:italic}

/* ---------- ж.п. мрежа - цветовете са същите като в js/railways.js ---------- */
.rw-electric{--c:#2563eb}
.rw-diesel{--c:#b45309}
.rw-narrow{--c:#db2777}
.rw-disused{--c:#94a3b8}
.rw-p-construction{--c:#eab308}
/* мрежата по статус - модернизирана като "В експлоатация" при магистралите, проектите - като на картата */
.rw-s-modernized{--c:#15803d}
.rw-s-construction{--c:#eab308}
.rw-s-tender{--c:#9333ea}
.rw-s-design{--c:#2563eb}
.rw-s-other{--c:#cbd5e1}
.mw-bar-part.rw-s-tender,.mw-bar-part.rw-s-design{background:repeating-linear-gradient(90deg,var(--c) 0 8px,transparent 8px 12px)}
.rw-p-tender{--c:#9333ea}
.rw-p-design{--c:#2563eb}
.rw-p-completed{--c:#15803d}

.mw-legend-line.rw-disused{border-top-width:2px;border-top-style:dotted}
.mw-legend-line.rw-p-tender{border-top-style:dashed}
.mw-chip.rw-p-construction{color:#854d0e;background:#fef3c7}
/* жълтата лента под линиите в строеж, с линия върху нея - както на картата */
.rw-legend-highlight{width:30px;height:12px;border-radius:6px;background:rgba(250,204,21,.55);position:relative}
.rw-legend-modernized{background:rgba(74,222,128,.35)}
.rw-legend-highlight::after{content:'';position:absolute;left:3px;right:3px;top:5px;border-top:2.5px solid #15803d}
.mw-legend-line.rw-p-design{border-top-style:dotted}
.mw-legend-line.rw-etcs-1{--c:#0891b2}
.mw-legend-line.rw-etcs-2{--c:#7c3aed}
.mw-legend-line.rw-etcs-building{border-top-style:dashed}
.rw-legend-km{color:var(--muted);font-size:13px}
.rw-legend{display:contents}
/* тунел в строеж - тъмна линия с бял пунктир, както на картата */
.rw-legend-tunnel{width:30px;height:8px;border-radius:2px;background:repeating-linear-gradient(90deg,#fff 0 5px,#1d2d3d 5px 10px);box-shadow:inset 0 0 0 2px #1d2d3d}
.rw-legend[hidden]{display:none}


.rw-views{display:flex;gap:6px;padding:0 18px 12px;flex-wrap:wrap}
.rw-views label{cursor:pointer}
.rw-views input{position:absolute;opacity:0;pointer-events:none}
.rw-views label:has(input){padding:5px 14px;border-radius:999px;border:1px solid var(--line);font-size:16px;background:#fff}
.rw-views label:has(input:checked){background:#00694d;border-color:#00694d;color:#fff;font-weight:600}
.rw-views label:has(input:focus-visible){outline:2px solid #00966e;outline-offset:2px}

/* балонче върху линия - скорост, година на завършване (RadarMap.lineLabels в js/map-common.js) */
.rm-line-label{background:none;border:0}
.mw-legend-due{margin-left:auto;color:var(--muted)}
.mw-legend-due .rm-line-label span{position:static;transform:none;display:inline-block;border-color:#94a3b8}
.rm-line-label span{position:absolute;transform:translate(-50%,-50%);background:#fff;border:2px solid;border-radius:9px;
	padding:0 5px;font-size:11px;font-weight:700;line-height:15px;color:#1b2733;white-space:nowrap;text-align:center}

/* източници под бележката на лот/проект (sources_html в src/functions.php) */
.sources{display:block;font-size:13px;color:#8593a1;margin-top:2px}
.sources a{color:#00694d}
.sources a:hover{text-decoration:underline}

/* ---------- икономика (templates/economy.php, js/economy.js) ---------- */
.eco-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
/* Икономика на десктоп - по две графики на ред (с линиите на съседите са по-гъсти); под 900px е като другите */
@media (min-width:901px){
	.eco-grid.eco-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.eco-card{display:flex;flex-direction:column;min-width:0;padding-bottom:10px}
.eco-card .card-head{padding-bottom:0;align-items:flex-start}
.eco-sub{margin:2px 18px 0;font-size:14px;color:var(--muted);line-height:1.3}
.eco-stat{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin:8px 18px 0}
.eco-stat-value{font-size:36px;font-weight:700;line-height:1}
.eco-stat-value small{font-size:20px;font-weight:600;margin-left:2px}
.eco-stat-note{font-size:14px;color:var(--muted)}
.eco-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin:8px 18px 0;font-size:14px;color:var(--muted)}
.eco-legend > span{display:inline-flex;align-items:center;gap:6px}
.eco-key{display:inline-block;width:16px;height:0;border-top:2px solid}
.eco-key-bg{border-color:#00966e}
.eco-key-bar{width:10px;height:10px;border:0;border-radius:2px;background:#00966e}
.eco-key-eu{border-color:#7b8794}
.eco-key-ref{border-top:1px dashed #94a3b8}
.eco-flag{font-size:15px;line-height:1;margin-right:-2px}
.eco-chart{position:relative;margin:6px 8px 0;height:210px;outline:none;border-radius:8px}
.eco-chart:focus-visible{box-shadow:0 0 0 2px #00966e}
.eco-svg{display:block;overflow:visible}
.eco-svg .eco-grid{stroke:#eef1f4;stroke-width:1}
.eco-svg .eco-zero{stroke:#b8c2cc;stroke-width:1}
.eco-svg .eco-ref{stroke:#94a3b8;stroke-width:1;stroke-dasharray:4 4}
.eco-svg .eco-tick{font-size:11px;fill:#8593a1;font-variant-numeric:tabular-nums}
.eco-svg .eco-line{stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.eco-svg .eco-dot{stroke:#fff;stroke-width:2}
.eco-svg .eco-end{font-size:13px;font-weight:700;fill:var(--text)}
.eco-svg .eco-cross{stroke:#94a3b8;stroke-width:1}
.eco-tip{position:absolute;top:4px;pointer-events:none;background:#fff;border:1px solid var(--line);border-radius:10px;padding:6px 10px;
	font-size:13px;line-height:1.35;box-shadow:0 6px 18px rgba(20,40,60,.12);white-space:nowrap;display:flex;flex-direction:column}
.eco-tip[hidden]{display:none}
.eco-tip i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}
.eco-tip b{margin-left:6px}
.eco-table{margin-top:20px}
.eco-table summary{cursor:pointer;padding:12px 18px;font-weight:600;color:#00694d}
.eco-table-scroll{overflow-x:auto;border-top:1px solid var(--line)}
.eco-values{width:100%;border-collapse:collapse;font-size:15px;font-variant-numeric:tabular-nums}
.eco-values th{font-weight:600;color:var(--muted);font-size:13px;line-height:1.25;padding:8px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:bottom}
.eco-values td{padding:6px 14px;border-bottom:1px solid #eef1f4}
.eco-values .num{text-align:right;white-space:nowrap}
.eco-values small{color:#8593a1}

/* ---------- битови сметки (templates/utilities.php) - графиките са .eco-* ---------- */
.utl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.utl-wide{grid-column:1 / -1}
/* битовите сметки: ток и газ - по половин ред; поскъпването, водата и парното - на един ред по три (на 6 колони) */
#utilities .utl-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
#utilities .utl-grid > .eco-card{grid-column:span 2}
#utilities .utl-grid > .eco-card:nth-child(-n+2){grid-column:span 3}
@media (max-width:1100px){
	#utilities .utl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	#utilities .utl-grid > .eco-card,#utilities .utl-grid > .eco-card:nth-child(-n+2){grid-column:auto}
	#utilities .utl-grid > .utl-wide{grid-column:1 / -1}
}
@media (max-width:600px){
	#utilities .utl-grid{grid-template-columns:minmax(0,1fr)}
	#utilities .utl-grid > .utl-wide{grid-column:auto}
}
.eco-svg .eco-line-dash{stroke-dasharray:5 4;stroke-width:1.5}
/* Икономика - графиките са по-високи (data-size="big" в js/economy.js), с по-едър текст и по-дебели линии */
#economy .eco-chart{height:300px}
#economy .eco-svg .eco-tick{font-size:13px}
#economy .eco-svg .eco-end{font-size:15px}
#economy .eco-svg .eco-line{stroke-width:2.5}
.eco-values + .eco-values{border-top:1px solid var(--line);margin-top:12px}
.utl-changes{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin:10px 18px 0;font-size:15px}
.utl-change{display:inline-flex;align-items:center;gap:6px}
.utl-change strong{font-size:22px;font-variant-numeric:tabular-nums}
.utl-change-ref{color:var(--muted)}
.utl-change-ref .eco-key{border-top-style:dashed}
.utl-bars{list-style:none;margin:14px 18px 0;padding:0;display:flex;flex-direction:column;gap:7px}
.utl-bars li{display:grid;grid-template-columns:118px minmax(0,1fr) 64px 46px;align-items:center;gap:10px;font-size:15px}
.utl-bar-city{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.utl-bar-track{height:12px;background:#eef1f4;border-radius:3px;overflow:hidden}
.utl-bar{display:block;height:100%;border-radius:3px}
.utl-bar-water{background:#2563eb}
.utl-bar-heating{background:#d62612}
.utl-bar-value{text-align:right;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.utl-bar-change{text-align:right;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.utl-bars-note{margin:10px 18px 4px;font-size:13px;color:#8593a1}

/* ---------- заплати по области (templates/wages.php, js/wages.js) ---------- */
.wg-totals{margin-bottom:20px}
.wg-totals .mw-total-value small{font-size:16px}
.wg-map-card{margin-bottom:20px}
.wg-legend{margin-top:0}
.wg-swatch{display:inline-block;width:14px;height:14px;border-radius:3px}
.wg-map{position:relative;padding:8px 18px 14px}
.wg-svg{display:block;width:100%;height:auto;max-height:560px}
.wg-area{stroke:#fff;stroke-width:1.5;stroke-linejoin:round;cursor:pointer;outline:none;transition:opacity .15s}
.wg-area:hover,.wg-area:focus-visible{stroke:#1b2733;stroke-width:2}
.wg-area.is-selected{stroke:#1b2733;stroke-width:3}
.wg-label{font-size:19px;font-weight:700;fill:#1b2733;pointer-events:none;font-variant-numeric:tabular-nums;
	paint-order:stroke;stroke:rgba(255,255,255,.7);stroke-width:3px}
.wg-label-dark{fill:#fff;stroke:rgba(0,60,40,.35)}
.wg-tip{top:0}
.wg-tip b{margin-left:8px}
.wg-rank{list-style:none;margin:10px 10px 0;padding:0}
.wg-rank-row{position:relative;display:grid;grid-template-columns:22px 118px minmax(0,1fr) 62px 52px;align-items:center;gap:8px;width:100%;
	padding:3px 8px;border:0;border-radius:8px;background:none;font:inherit;font-size:15px;color:inherit;text-align:left;cursor:pointer}
.wg-rank-row:hover{background:#f3f6f8}
.wg-rank-row[aria-pressed="true"]{background:#e3f2ec;font-weight:700}
.wg-rank-row:focus-visible{outline:2px solid #00966e}
.wg-rank-pos{color:#8593a1;font-size:13px;text-align:right;font-variant-numeric:tabular-nums}
.wg-rank-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wg-rank-track{position:relative;height:12px;background:#eef1f4;border-radius:3px}
.wg-rank-bar{display:block;height:100%;border-radius:3px}
/* средната за страната - вертикална черта на всяка лента */
.wg-rank-track::after{content:"";position:absolute;left:var(--national);top:-3px;bottom:-3px;border-left:2px solid #1b2733}
.wg-rank-value{text-align:right;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.wg-rank-growth{text-align:right;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.wg-national-key{display:inline-block;width:0;height:12px;border-left:2px solid #1b2733;vertical-align:-1px;margin-right:4px}
.wg-key-dash{border-top-style:dashed}
.wg-trend{align-self:start;position:sticky;top:90px}
.wg-trend .eco-chart{height:260px}
.wg-gap{margin:6px 18px 6px;font-size:15px;color:var(--muted)}
.eco-svg .eco-mark{stroke:#1b2733;stroke-width:1;stroke-dasharray:2 3}
.time-slider{padding:0 18px 16px;max-width:760px;margin:0 auto}
.time-slider[hidden]{display:none}
.time-slider-value{display:block;text-align:center;font-weight:700;font-size:17px;margin-bottom:2px}
.time-slider-row{display:flex;align-items:center;gap:12px;font-size:15px;color:var(--muted);font-variant-numeric:tabular-nums}
.time-slider input{flex:1;accent-color:#00966e;height:28px;cursor:pointer}
.time-slider-note{margin:2px 0 0;text-align:center;font-size:14px;color:var(--muted)}
.time-slider-stat{font-weight:700;color:var(--text)}
.deadline-slider{padding-top:4px}
.time-slider-track{flex:1;position:relative;padding-bottom:22px}
.time-slider-track input{display:block;width:100%;margin:0}
/* Точките са под пътя на палеца (16px): от средата му в началото до средата му в края */
.time-slider-ticks{position:absolute;left:8px;right:8px;bottom:0;height:24px}
.time-slider-tick{position:absolute;left:calc(var(--at) * 100%);top:0;transform:translateX(-50%);padding:9px 2px 0;border:0;background:none;
	font:inherit;font-size:12px;line-height:1.2;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer}
.time-slider-tick::before{content:"";position:absolute;left:50%;top:0;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:#c3ccd5}
.time-slider-tick.is-passed::before{background:#00966e}
.time-slider-tick:hover{color:var(--text)}
.deadline-slider.is-off{display:none}
/* Плъзгачът по сроковете - в долната част на картата (и на цял екран), без фон: лента с годините вътре,
   палецът е зелена кръгла дръжка, по-голяма от лентата (изскача над и под нея), с избраната година в нея */
.map-widget > .deadline-slider:not([hidden]):not(.is-off){position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:800;
	width:min(calc(var(--steps) * 90px),calc(100% - 60px));margin:0;padding:0}
.deadline-slider .time-slider-value{display:none}
.deadline-slider .time-slider-row{display:block}
/* изминатата част на лентата е зелена - до средата на дръжката (--p от 0 до 1, js) */
.deadline-slider .time-slider-track{--knob:46px;padding:0;height:20px;border-radius:99px;box-shadow:0 0 0 1px #c9d3dd,0 2px 8px rgba(20,40,60,.12);
	background:linear-gradient(90deg,rgba(21,128,61,.3) calc(var(--knob) / 2 + (100% - var(--knob)) * var(--p,0)),rgba(255,255,255,.88) 0)}
.deadline-slider .time-slider-track input{-webkit-appearance:none;appearance:none;position:relative;z-index:1;height:20px;background:transparent;cursor:pointer}
.deadline-slider input::-webkit-slider-runnable-track{height:20px;background:transparent}
.deadline-slider input::-moz-range-track{height:20px;background:transparent}
.deadline-slider input::-webkit-slider-thumb{-webkit-appearance:none;width:var(--knob);height:var(--knob);margin-top:calc((20px - var(--knob)) / 2);
	border:3px solid #fff;border-radius:50%;background:#15803d;box-shadow:0 0 0 1px rgba(21,128,61,.5),0 2px 6px rgba(20,40,60,.35);cursor:grab;transition:transform .12s}
.deadline-slider input::-moz-range-thumb{width:var(--knob);height:var(--knob);box-sizing:border-box;border:3px solid #fff;border-radius:50%;background:#15803d;
	box-shadow:0 0 0 1px rgba(21,128,61,.5),0 2px 6px rgba(20,40,60,.35);cursor:grab}
.deadline-slider input:hover::-webkit-slider-thumb{transform:scale(1.06)}
.deadline-slider input:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(1.1)}
.deadline-slider input:focus-visible{outline:none}
.deadline-slider input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px rgba(21,128,61,.35),0 2px 6px rgba(20,40,60,.35)}
/* годините - в лентата; избраната - в дръжката. Над дръжката са, но не пречат на влаченето */
.deadline-slider .time-slider-ticks{left:calc(var(--knob) / 2);right:calc(var(--knob) / 2);top:0;bottom:auto;height:20px;z-index:2;pointer-events:none}
/* цифрите на шрифта стоят малко високо в реда - свалени с 1px, за да са по средата на лентата */
.deadline-slider .time-slider-tick{top:0;height:20px;padding:0;display:flex;align-items:center;transform:translate(-50%,1px);font-size:12px;font-weight:700;color:#3d4a57;cursor:default}
.deadline-slider .time-slider-tick::before{display:none}
.deadline-slider .time-slider-tick.is-current{color:#fff;font-size:13px}
/* какво показва избраната година - в горната част на картата */
.deadline-stat{position:absolute;top:10px;left:50%;transform:translateX(-50%);z-index:800;margin:0;padding:4px 14px;border:1px solid var(--line);border-radius:99px;
	background:#fff;box-shadow:0 2px 8px rgba(20,40,60,.12);font-size:16px;white-space:nowrap}
.deadline-stat[hidden],.deadline-slider.is-off + .deadline-stat{display:none}
.deadline-stat .time-slider-stat{color:#15803d;font-weight:700;white-space:nowrap}
.deadline-stat-when{color:var(--muted)}
@media (max-width:600px){
	.map-widget > .deadline-slider:not([hidden]):not(.is-off){width:calc(100% - 36px);bottom:20px}
	.deadline-slider .time-slider-track{--knob:40px}
	.deadline-slider .time-slider-tick{font-size:11px}
	.deadline-slider .time-slider-tick.is-current{font-size:12px}
	.deadline-stat{top:auto;bottom:58px;width:max-content;max-width:calc(100% - 36px);font-size:14px;line-height:1.3;white-space:normal;text-align:center;border-radius:14px}
}

/* очакван по обявения срок участък - в изскачащия прозорец */
.mw-chip.mw-expected{color:#15803d;background:#fff;box-shadow:inset 0 0 0 1.5px #15803d}

/* ---------- какво предстои (templates/timeline.php) ---------- */
.tl-legend{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;margin:12px 0 18px;font-size:16px;color:var(--muted)}
.tl-legend > span{display:inline-flex;align-items:center;gap:6px}
.tl-track{display:flex;overflow-x:auto;padding:0 2px 12px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;
	/* сянка в края, докато има още за превъртане */
	background:linear-gradient(90deg,var(--bg) 30%,transparent) left / 40px 100% no-repeat local,
		linear-gradient(270deg,var(--bg) 30%,transparent) right / 40px 100% no-repeat local,
		radial-gradient(farthest-side at 0 50%,rgba(20,40,60,.14),transparent) left / 14px 100% no-repeat scroll,
		radial-gradient(farthest-side at 100% 50%,rgba(20,40,60,.14),transparent) right / 14px 100% no-repeat scroll}
.tl-col{flex:none;display:flex;flex-direction:column}
/* оста е непрекъсната - всяка година продължава линията до следващата */
.tl-year{position:relative;padding:0 24px 12px 0;margin-bottom:16px;border-bottom:4px solid #15803d;scroll-snap-align:start}
.tl-col-none .tl-year{border-bottom-style:dashed;border-bottom-color:#94a3b8}
/* точка на линията на годините */
.tl-year::after{content:"";position:absolute;left:0;bottom:-11px;width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid #15803d}
.tl-col-none .tl-year::after{border-color:#94a3b8}
.tl-year-label{display:block;font-size:44px;font-weight:800;line-height:1.05;letter-spacing:-.01em}
.tl-col-none .tl-year-label{font-size:30px;color:var(--muted)}
.tl-year-km{display:flex;gap:12px;margin-top:4px;font-size:18px;color:#15803d;font-weight:700;white-space:nowrap}
.tl-col-none .tl-year-km{color:var(--muted);font-weight:400}
.tl-items{list-style:none;margin:0;padding:0 24px 0 0;display:flex;gap:12px;align-items:stretch}
.tl-items li{flex:none;width:320px;display:flex}
.tl-item{display:flex;gap:10px;align-items:flex-start;width:100%;height:100%;padding:12px 14px;border:1px solid var(--line);border-left:6px solid var(--c);
	border-radius:10px;background:#fff;font:inherit;color:inherit;text-align:left;cursor:pointer}
.tl-item:hover{box-shadow:0 3px 12px rgba(20,40,60,.1)}
.tl-item:focus-visible{outline:2px solid #00966e}
.tl-motorway.tl-s-construction{--c:var(--mw-construction)}
.tl-railway.tl-s-construction{--c:#eab308}
.tl-motorway.tl-s-permit{--c:var(--mw-permit)}
.tl-motorway.tl-s-design{--c:#ef4444}
.tl-motorway.tl-s-planned{--c:#fca5a5}
.tl-railway.tl-s-tender{--c:#9333ea}
.tl-s-done{--c:#15803d;background:#f0f9f3}
/* миналото - плътна сива ос; от днес нататък - зелена */
.tl-col-past .tl-year{border-bottom-color:#94a3b8}
.tl-col-past .tl-year::after{border-color:#94a3b8;background:#15803d}
.tl-col-past .tl-year-label{color:var(--muted)}
.tl-now{display:inline-block;vertical-align:middle;margin-left:6px;padding:3px 12px;border-radius:99px;background:#15803d;color:#fff;font-size:17px;letter-spacing:0;font-weight:700}
.tl-col-now .tl-year::after{background:#15803d}
.tl-km-due{color:#15803d}
.tl-col-past .tl-year-km{color:var(--muted)}
.tl-railway.tl-s-design{--c:#2563eb}
.tl-sign{flex:none;width:27px;height:36px}
.tl-sign-railway{width:36px}
.tl-item-text{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.tl-item-group{font-size:15px;color:var(--muted)}
.tl-item-name{font-size:20px;font-weight:700;line-height:1.2;margin:2px 0}
.tl-item-meta{font-size:15px;color:#8593a1;margin-top:2px}
.tl-note{margin:14px 0 0;font-size:16px;color:var(--muted)}
.tl-nav{margin-left:auto;display:flex;gap:6px}
.tl-nav[hidden]{display:none}
.tl-nav-btn{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:22px;line-height:1;color:var(--text);cursor:pointer}
.tl-nav-btn:hover{border-color:#00966e;color:#00694d}
.tl-nav-btn:disabled{opacity:.35;cursor:default}

/* ---------- банки (templates/banks.php, js/banks.js) ---------- */
.bk-totals{margin-bottom:20px}
.bk-totals .mw-total-value small{font-size:16px}
.bk-grid{margin-bottom:20px}
.bk-charts{display:flex;flex-direction:column;gap:20px;min-width:0}
.bk-shares{list-style:none;margin:12px 18px 14px;padding:0;display:flex;flex-direction:column;gap:4px}
.bk-shares li{display:grid;grid-template-columns:22px 170px minmax(0,1fr) 52px 40px;align-items:center;gap:8px;font-size:15px}
.bk-share-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bk-shares .wg-rank-track::after{content:none}
.bk-shares .wg-rank-bar{background:#b3dcc9}
/* първите банки (концентрацията) - по-тъмно */
.bk-shares .bk-top .wg-rank-bar{background:#00966e}
.bk-shares .bk-top + li:not(.bk-top){margin-top:6px;padding-top:6px;border-top:1px dashed var(--line)}
.bk-slider{padding-top:4px}
.bk-table td:first-child{white-space:nowrap}
/* Иконите на банките - еднакъв квадрат и при липсваща */
.bk-logo{display:inline-block;width:20px;height:20px;margin-right:8px;vertical-align:-5px;border-radius:4px;object-fit:contain}
.bk-table th[aria-sort]{padding:0}
.bk-sort{display:block;width:100%;padding:8px 14px;border:0;background:none;font:inherit;color:inherit;text-align:inherit;line-height:inherit;cursor:pointer}
.bk-sort:hover{color:#00694d}
.bk-sort:focus-visible{outline:2px solid #00966e;outline-offset:-2px}
.bk-sort::after{content:"↕";margin-left:4px;color:#c3ccd5}
th[aria-sort="descending"] .bk-sort::after{content:"↓";color:#00694d}
th[aria-sort="ascending"] .bk-sort::after{content:"↑";color:#00694d}
th[aria-sort="descending"],th[aria-sort="ascending"]{color:var(--text)}
.bk-table-note{margin:10px 18px 14px}

/* ---------- здраве (templates/health.php, js/health.js) ---------- */
.hl-card{padding-bottom:12px}
.hl-card + .hl-card{margin-top:20px}
.hl-stat{margin-top:0}
.hl-stat strong{color:var(--text)}
/* класацията в две колони на широк екран - първата колона е горната половина */
.hl-rank{list-style:none;margin:14px 18px 0;padding:0;columns:2;column-gap:40px}
.hl-rank li{display:grid;grid-template-columns:22px 24px 170px minmax(0,1fr) 52px 44px;align-items:center;gap:8px;padding:3px 6px;border-radius:8px;font-size:15px;break-inside:avoid}
.hl-flag{font-size:19px;line-height:1}
.hl-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hl-rank .wg-rank-track::after{content:none}
.hl-rank .wg-rank-bar{background:#9fb3c4}
.hl-rank .is-bg{background:#e3f2ec;font-weight:700}
.hl-rank .is-bg .wg-rank-bar{background:#00966e}
.hl-rank .is-eu{color:var(--muted)}
.hl-rank .is-eu .wg-rank-bar{background:repeating-linear-gradient(90deg,#9fb3c4 0 6px,transparent 6px 9px)}
.hl-view .utl-bars-note{margin-top:8px}
.hl-rank .is-outside .hl-name,.hl-rank .is-outside .wg-rank-value{color:var(--muted)}
.hl-rank .is-outside .wg-rank-bar{background:#d5dde5}
.hl-trend{max-width:760px;margin-top:6px}
.hl-ranks{margin:4px 18px 0;font-size:14px;color:var(--muted)}

/* ---------- футър (като в Smart Sofia) ---------- */
footer{margin-top:20px}
.wrapper.foot{display:flex;align-items:center;padding:22px 0}
.foot-text{text-align:left;font-size:.9rem;font-weight:500;color:#64748b}
.foot-subtext{margin-top:4px;font-size:.8rem;font-weight:400;color:#94a3b8}
.foot-subtext a{color:#64748b;text-decoration:underline}
/* лентата най-долу - знамето */
.site-stripe{display:grid;grid-template-columns:repeat(3,1fr);height:10px}
.site-stripe > span{display:block}
.site-stripe .bg-white{background:#fff}
.site-stripe .bg-green{background:var(--bg-green)}
.site-stripe .bg-red{background:var(--bg-red)}
@media (max-width:560px){
	.wrapper.foot{text-align:center;padding:20px 0}
	.foot-text{text-align:center}
	.section-head h2{font-size:1.49rem}
}

@media (max-width:900px){
	.hl-rank{columns:1}
	.mw-totals{grid-template-columns:repeat(2,1fr)}
	.mw-total-value{font-size:28px}
	.eco-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
	body{font-size:17px}
	/* статусите на мрежата - всеки на един ред: етикет, km, дял */
	.mw-totals-rows{grid-template-columns:1fr;gap:6px}
	.mw-totals-rows .mw-total{display:grid;grid-template-columns:minmax(0,1fr) auto 48px;align-items:baseline;gap:10px;padding:8px 14px}
	.mw-totals-rows .mw-total-value{font-size:20px;text-align:right}
	.mw-totals-rows .mw-total-value small{font-size:14px}
	.mw-totals-rows .mw-total-share{text-align:right}
	.mw-totals-rows .mw-total-share-of{display:none}
	/* бележката към статуса (жп мрежата) - дребно под реда */
	.rw-totals .mw-total{justify-items:end}
	.rw-totals .mw-total-label{justify-self:stretch}
	.rw-totals .mw-total-share{display:contents}
	.rw-totals .mw-total-note{grid-column:1/-1;justify-self:start;font-size:14px;color:var(--muted);margin-top:-4px}
	/* при банките бележката е дълга - на отделен ред под етикета и сумата */
	.bk-totals.mw-totals-rows .mw-total{grid-template-columns:minmax(0,1fr) auto;row-gap:0}
	.bk-totals.mw-totals-rows .mw-total-share{grid-column:1/-1;text-align:left;font-size:14px}
	.map-widget{padding:0 10px}
	.map{height:min(440px,62vh)}
	.map-fullscreen-btn{right:18px}
	.mw-item-head{grid-template-columns:minmax(0,1fr) 28% 40px;gap:10px;padding:10px 12px}
	.mw-item-route,.mw-item-km{display:none}
	.mw-item-name{flex:0 1 auto;font-size:17px;overflow:hidden;text-overflow:ellipsis}
	.mw-lots th:nth-child(4),.mw-lots td:nth-child(4){display:none}
	.mw-lots th,.mw-lots td{padding:8px 10px}
	.eco-grid{grid-template-columns:minmax(0,1fr)}
	.utl-bars li{grid-template-columns:96px minmax(0,1fr) 60px 42px;gap:8px}
	.tl-items li{width:270px}
	.tl-year-label{font-size:36px}
	.tl-item-name{font-size:18px}
	.wg-map{padding:4px 6px 10px}
	.wg-trend{position:static}
	.wg-label{font-size:24px}
	.wg-rank-row{grid-template-columns:18px 92px minmax(0,1fr) 54px 46px;gap:6px;padding:3px 4px}
	.bk-shares{margin:10px 10px 12px}
	.hl-rank{columns:1;margin:12px 10px 0}
	.hl-rank li{grid-template-columns:18px 20px 104px minmax(0,1fr) 54px 46px;gap:5px;padding:3px 4px}
	.hl-rank .wg-rank-growth{font-size:12px;white-space:nowrap}
	.bk-shares li{grid-template-columns:18px 140px minmax(0,1fr) 48px 32px;gap:6px}
	.bk-shares .bk-logo{width:16px;height:16px;margin-right:5px;vertical-align:-3px}
}

/* Подвижен състав (templates/rolling_stock.php) */
.rs-head{display:flex;align-items:center;justify-content:flex-start;gap:12px}
.rs-table tbody tr{cursor:default}
.rs-table tbody tr:hover{background:none}
.rs-series{font-weight:400;color:var(--muted);font-size:14px}
.rs-bar{display:block;width:72px;height:6px;margin:5px 0 0 auto;border-radius:3px;background:#e6ebf0;overflow:hidden}
.rs-bar span{display:block;height:100%;background:#15803d}
.rs-service{display:block;font-size:13px;color:var(--muted)}
.rs-item{display:flex;gap:14px;align-items:flex-start}
.rs-text{min-width:0}
.rs-thumb{flex:0 0 120px;height:80px;border-radius:8px;overflow:hidden;background:#eef1f4}
.rs-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.rs-thumb.rs-logo{background:#fff;border:1px solid var(--line);padding:18px 10px}
.rs-thumb.rs-logo img{object-fit:contain}
.rs-maker{height:16px;width:auto;vertical-align:-3px;margin-right:4px}
.rs-mobile{display:none}
@media (max-width:600px){
	/* Само първата колона - статусът, броят, лентата и сумата са в .rs-mobile под името */
	.rs-table thead,.rs-table td:not(:first-child){display:none}
	.rs-mobile{display:block;margin-top:6px;font-size:14px;color:var(--muted)}
	.rs-mobile-nums{display:block;margin-top:6px;color:var(--text)}
	.rs-mobile-nums .rs-bar{width:100%;max-width:240px;margin:5px 0 0}
	.rs-item{flex-direction:column;gap:8px}
	/* Снимките (480x320) - на цялата ширина; логата - в по-нисък бял правоъгълник */
	.rs-thumb{flex-basis:auto;width:100%;height:auto;aspect-ratio:3/2}
	.rs-thumb.rs-logo{aspect-ratio:auto;height:100px;padding:20px}
}

/* ---------- енергийна система (templates/grid.php, js/grid.js) - графиките са .eco-* ---------- */
.gd-updated{white-space:nowrap}
.gd-updated strong{color:var(--bg-red)}
.gd-grid{margin-top:20px}
.gd-row{display:grid;grid-template-columns:170px minmax(0,1fr) 54px 50px;align-items:center;gap:8px;padding:3px 8px;font-size:16px}
.gd-row-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gd-row-name i,.gd-flow-head i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:7px}
.gd-mix-wrap{display:grid;grid-template-columns:170px minmax(0,1fr);align-items:center;gap:6px;margin:10px 8px 0 18px}
.gd-mix-wrap .gd-mix{margin:0}
.gd-mix-wrap .gd-row{grid-template-columns:142px minmax(0,1fr) 50px 42px}
.gd-donut-svg{display:block;width:100%;height:auto}
.gd-slice{stroke:#fff;stroke-width:2;stroke-linejoin:round;transition:opacity .15s}
.gd-slice.is-dim{opacity:.25}
.gd-donut-value{font-size:24px;font-weight:800;fill:var(--text);font-variant-numeric:tabular-nums}
.gd-donut-sub{font-size:11px;fill:var(--muted)}
.gd-mix-note{margin-top:8px}
.gd-mix-note:empty{display:none}
.gd-flow-head{display:grid;grid-template-columns:170px minmax(0,1fr) minmax(0,1fr) 112px;gap:0 8px;padding:0 8px 4px;font-size:13px;color:var(--muted);white-space:nowrap}
.gd-flow-head span:nth-child(2){text-align:right;padding-right:6px}
.gd-flow-head span:nth-child(3){padding-left:6px}
.gd-flow-head i{margin:0 6px}
.gd-flow-track{position:relative;height:12px;background:#eef1f4;border-radius:3px}
.gd-flow-track::after{content:"";position:absolute;left:50%;top:-3px;bottom:-3px;border-left:1px solid #8593a1}
.gd-flow-bar{position:absolute;top:0;height:100%;border-radius:3px}
.gd-flow-total{margin-top:6px;padding-top:7px;border-top:1px solid var(--line);font-weight:700}
.gd-card{margin-top:20px}
.gd-chart{position:relative;margin:8px 8px 0;outline:none;border-radius:8px;min-height:60px}
.gd-chart:focus-visible{box-shadow:0 0 0 2px #00966e}
.gd-chart-empty{margin:20px 10px;color:var(--muted);font-size:15px}
.eco-svg .gd-area{stroke:#fff;stroke-width:.75;stroke-linejoin:round}
.eco-svg .gd-load{stroke-width:2.5}
.eco-svg .gd-price-area{opacity:.12}
.eco-svg .gd-now{stroke:var(--bg-red);stroke-width:1;stroke-dasharray:3 3}
.eco-svg .gd-now-label{fill:var(--bg-red)}
.eco-svg .gd-tick-day{font-weight:700;fill:var(--muted)}
/* Батериите */
.gd-bat-stats{display:flex;flex-wrap:wrap;gap:6px 22px;margin:8px 18px 6px;font-size:15px;color:var(--muted)}
.gd-bat-stats b{font-size:22px;color:var(--text)}
.gd-bat-note{margin-top:8px}
.gd-bat-note .sources{display:block;margin-top:4px}
.gd-tip-src{color:var(--muted);font-size:13px}
.gd-tip-sum{margin-top:2px;padding-top:2px;border-top:1px solid var(--line)}
@media (max-width:600px){
	.gd-row{grid-template-columns:118px minmax(0,1fr) 50px 44px;gap:6px;padding:3px 4px;font-size:15px}
	.gd-mix-wrap{grid-template-columns:minmax(0,1fr);margin:10px 8px 0}
	.gd-donut{width:180px;margin:0 auto 6px}
	.gd-mix-wrap .gd-row{grid-template-columns:118px minmax(0,1fr) 50px 44px}
	.gd-flow-head{grid-template-columns:118px minmax(0,1fr) minmax(0,1fr) 100px;gap:0 6px;padding:0 4px 4px;font-size:12px}
	.gd-flow-head i{display:none}
}

/* ---------- държавен бюджет (templates/budget.php, js/budget.js) - като бюджета на Smart Sofia ---------- */
.bd{--bd-plan:#00966e;--bd-line:var(--line);--bd-soft:#f6f8fa;--bd-muted:var(--muted);padding-bottom:18px}
.bd > :not(.card-head){margin-left:18px;margin-right:18px}
.bd-head{align-items:flex-start}
.bd-years{padding:0}
.bd-year-tab{padding:5px 14px;border-radius:999px;border:1px solid var(--line);font-size:16px;background:#fff;color:var(--text);cursor:pointer}
.bd-year-tab.active{background:#00694d;border-color:#00694d;color:#fff;font-weight:600}
.bd-year-tab:focus-visible{outline:2px solid #00966e;outline-offset:2px}
.bd-year-status{font-size:13px;font-weight:700;color:#b45309}
.bd-year-tab.active .bd-year-status{color:#fde68a}
/* Докато годината се зарежда, пази място - иначе скокът от менюто не може да сложи раздела най-горе */
.bd-year:not([data-state]),.bd-year[data-state="loading"]{min-height:100vh}
.bd-loading{margin:18px 0 4px;padding:40px 0;text-align:center;font-size:16px;color:var(--muted)}
.bd-note{margin:0;font-size:16px;color:var(--muted);line-height:1.5}
.bd-note a{color:#00694d;font-weight:600;white-space:nowrap}
.bd-status{display:inline-block;margin-right:4px;padding:1px 8px;border-radius:10px;font-size:13px;font-weight:700;background:#dcfce7;color:#15803d}
.bd-status-draft{background:#fef3c7;color:#b45309}
.bd-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:16px}
.bd-kpi{padding:14px 16px;border-radius:12px;background:var(--bd-soft);border:1px solid var(--line)}
.bd-kpi-label{font-size:15px;color:var(--muted);font-weight:600}
.bd-kpi-value{margin-top:2px;font-size:30px;font-weight:800;line-height:1.2;font-variant-numeric:tabular-nums}
.bd-kpi-sub{margin-top:2px;font-size:14px;color:var(--muted);line-height:1.35}
.bd-block{margin-top:24px}
.bd-block-title{margin:0;font-size:22px;font-weight:800}
.bd-hint{margin:4px 0 10px;font-size:15px;color:var(--muted)}
/* Кръгова диаграма на перата: пръстен и легенда | останалите пера | промяна спрямо миналата година */
.bd-pie{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);align-items:center;gap:20px 32px;margin:10px 0 14px}
.bd-pie:not(:has(.bd-yoy)){grid-template-columns:auto minmax(0,480px)}
.bd-pie-main{display:flex;align-items:center;gap:20px}
.bd-pie-main .bd-pie-item span{white-space:nowrap}
.bd-pie-col{align-self:stretch;padding-left:24px;border-left:1px solid var(--line)}
.bd-pie-title{margin:0 0 6px;font-size:17px;font-weight:800}
.bd-yoy-sum{margin:-2px 0 6px;font-size:15px;color:var(--muted)}
.bd-mini{list-style:none;margin:0;padding:0}
.bd-mini-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:3px 6px;border:0;border-radius:6px;background:none;color:var(--text);font-size:16px;text-align:left;cursor:pointer}
.bd-mini-row:hover{background:var(--bd-soft)}
.bd-mini-row:focus-visible{outline:2px solid var(--bd-plan);outline-offset:1px}
.bd-mini-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bd-mini-more{color:var(--muted)}
.bd-mini-row strong{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.bd .bd-yoy .bd-mini-row{grid-template-columns:minmax(0,1fr) auto auto 3.2em;gap:6px}
.bd-yoy-arrow{font-style:normal;font-size:13px}
.bd-yoy-up{color:#0ca30c}
.bd-yoy-down{color:#e34948}
.bd-yoy .bd-mini-row small{font-size:14px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}
.bd-pie-chart{position:relative;flex:0 0 210px;height:210px}
.bd-pie-chart svg{display:block;width:100%;height:100%;transform:rotate(-90deg)}
.bd-pie-arc{fill:none;stroke-width:18;cursor:pointer;transition:stroke-width .15s,opacity .15s}
.bd-pie-active .bd-pie-arc{opacity:.35}
.bd-pie-active .bd-pie-arc.active{opacity:1;stroke-width:20}
.bd-pie-center{position:absolute;inset:26%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;line-height:1.2}
.bd-pie-center-label{font-size:14px;color:var(--muted)}
.bd-pie-center-value{font-size:19px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.bd-pie-center-pct{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
.bd-pie-legend{list-style:none;margin:0;padding:0;flex:1 1 auto;min-width:0}
.bd-pie-item{display:flex;align-items:center;gap:10px;width:100%;padding:5px 8px;border:0;border-radius:8px;background:none;color:var(--text);font-size:16px;text-align:left;cursor:pointer}
.bd-pie-item:hover,.bd-pie-item.active{background:var(--bd-soft)}
.bd-pie-item:focus-visible{outline:2px solid var(--bd-plan);outline-offset:1px}
.bd-pie-item span{flex:1 1 auto}
.bd-pie-item strong{font-variant-numeric:tabular-nums}
.bd-abs{font-size:14px;font-weight:400;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.bd-pie-item .bd-abs{margin-left:-4px}
.bd .bd-rest .bd-mini-row{grid-template-columns:minmax(0,1fr) auto auto;gap:6px}
.bd .bd-rest .bd-mini-more{grid-template-columns:minmax(0,1fr)}
.bd-pie-swatch{flex:0 0 auto;width:12px;height:12px;border-radius:3px}
/* Ред с лента: етикет | лента | сума и дял */
.bd-row{display:grid;grid-template-columns:minmax(150px,290px) 1fr minmax(120px,auto);align-items:center;gap:4px 14px;padding:7px 0}
.bd-row-label{display:flex;flex-direction:column;font-weight:700;font-size:16px;line-height:1.25}
.bd-row-label small{font-weight:400;font-size:14px;color:var(--muted)}
.bd-row-bars{display:flex;flex-direction:column;gap:2px;min-width:0}
.bd-bar{height:14px;border-radius:0 4px 4px 0;background:var(--bd-plan)}
.bd-row-value{display:grid;grid-template-columns:auto minmax(2.6em,auto);justify-content:end;align-items:baseline;column-gap:8px;font-variant-numeric:tabular-nums;white-space:nowrap}
.bd-row-value strong{font-size:16px;text-align:right}
.bd-row-value span{font-size:14px;color:var(--muted);text-align:right}
/* Перата - разгъват се */
.bd-cats{border-top:1px solid var(--line)}
.bd-cat{border-bottom:1px solid var(--line)}
.bd-cat > summary{list-style:none;cursor:pointer;padding:0 28px 0 6px;position:relative;border-radius:8px}
.bd-cat > summary::-webkit-details-marker{display:none}
.bd-cat > summary::after{content:'';position:absolute;right:8px;top:50%;width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:translateY(-70%) rotate(45deg);transition:transform .15s}
.bd-cat[open] > summary::after{transform:translateY(-30%) rotate(-135deg)}
.bd-cat > summary:hover{background:var(--bd-soft)}
.bd-cat > summary:focus-visible{outline:2px solid var(--bd-plan);outline-offset:2px}
.bd-cat-body{padding:4px 6px 16px}
.bd-cat-descr{margin:0 0 10px;font-size:16px;color:var(--muted);line-height:1.45}
.bd-cat-descr strong{color:var(--text)}
.bd-table{width:100%;border-collapse:collapse;font-size:15px}
.bd-table th{text-align:left;padding:6px 8px;font-size:13px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.02em;border-bottom:1px solid var(--line)}
.bd-table td{padding:7px 8px;border-bottom:1px solid #f1f5f9;vertical-align:top;line-height:1.35}
.bd-table .bd-num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.bd-split{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
.bd-split .bd-row{grid-template-columns:minmax(130px,220px) 1fr minmax(110px,auto)}
.bd-more{display:block;margin:12px auto 0;padding:8px 18px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:16px;font-weight:600;color:#00694d;cursor:pointer}
.bd-more:hover{background:var(--bd-soft)}
.bd-foot{margin:18px 0 0;font-size:14px;color:var(--muted);line-height:1.5}
.bd-foot a{color:inherit;text-decoration:underline}
@media (max-width:1180px){
	.bd-pie,.bd-pie:not(:has(.bd-yoy)){grid-template-columns:1fr 1fr}
	.bd-pie-main{grid-column:1 / -1}
	.bd-pie-legend{max-width:440px}
	.bd-pie-main + .bd-pie-col{padding-left:0;border-left:0}
}
@media (max-width:900px){
	.bd-split{grid-template-columns:1fr}
}
@media (max-width:600px){
	.bd > :not(.card-head){margin-left:12px;margin-right:12px}
	.bd-kpi-value{font-size:25px}
	.bd-pie,.bd-pie:not(:has(.bd-yoy)){grid-template-columns:1fr;gap:18px}
	.bd-pie-main{flex-direction:column;align-items:stretch;gap:12px}
	.bd-pie-chart{flex-basis:auto;width:200px;height:200px;margin:0 auto}
	.bd-pie-col{padding-left:0;border-left:0}
	.bd-pie-legend{max-width:none}
	/* Абсолютните суми в скоби не се побират - остава само процентът */
	.bd-abs{display:none}
	.bd .bd-rest .bd-mini-row{grid-template-columns:minmax(0,1fr) auto}
	/* Етикетът е на цял ред, а под него - лентата и вдясно сумата и дялът */
	.bd-row,.bd-split .bd-row{grid-template-columns:minmax(0,1fr) auto;row-gap:6px}
	.bd-row-label{grid-column:1 / -1}
	.bd-row-bars{grid-column:1;grid-row:2}
	.bd-row-value{grid-column:2;grid-row:2;grid-template-columns:minmax(5.6em,auto) 2.6em}
	.bd-hide-mobile{display:none}
}
/* Времевата линия е ниска - иконата е по-горе, за да не стои зад бележката отдолу */
#timeline .section-photo{top:20px}

/* ---------- за автора и за проекта (като най-долния ред на Smart Sofia) ----------
   Четири колони: "За автора", "За проекта", източниците с обратната връзка под тях и гербът */
.about-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0 32px}
.about-coa{padding-top:48px;display:flex;justify-content:center;align-items:flex-start}
.about-col h3{font-size:1.3rem;font-weight:800;margin:48px 0 10px;color:#1d2d3d}
.about-body{font-size:1.05rem;line-height:1.5}
.about-body p{margin:0 0 12px}
.about-body img{display:block;max-width:100%;height:auto;margin:12px 0;border-radius:8px}
.about-body a{color:#2563eb;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.about-body a:hover{color:#1d4ed8}
.about-caption{display:block;font-size:.8rem;color:#94a3b8;margin-top:-6px}
.about-coa img{width:100%;max-width:260px;height:auto;opacity:.9}
@media (max-width:1200px){
	.about-row{grid-template-columns:repeat(2,1fr)}
	.about-coa{display:none}
}
@media (max-width:900px){
	.about-row{grid-template-columns:1fr}
}
