/* Autometr additions on top of app.css (same tokens). */

/* Load of a station by weekday × hour ("kdy jet") */
.heat { display: grid; gap: 2px; margin: var(--s-5) 0 var(--s-3); font-size: var(--step--2); }
.heat__row { display: grid; grid-template-columns: 2.4em repeat(var(--cols), minmax(0, 1fr)); gap: 2px; align-items: center; }
.heat__day { color: var(--muted); font-weight: 700; letter-spacing: var(--tracking-caps); text-transform: uppercase; }
.heat__cell { height: 26px; background: color-mix(in srgb, var(--accent) calc(var(--v) * 100%), var(--line)); }
.heat__hour { color: var(--muted); text-align: center; }

/* Horizontal bars: share against the national value */
.bars { display: grid; grid-template-columns: minmax(0, 14em) minmax(0, 1fr) max-content; align-items: center; gap: var(--s-2) var(--s-4); margin: var(--s-5) 0; font-size: var(--step--1); }
.bars__label { color: var(--ink-2); }
.bars__track { position: relative; height: 10px; background: var(--line); }
.bars__fill { display: block; height: 100%; background: var(--ink); }
.bars__mark { position: absolute; top: -4px; width: 2px; height: 18px; background: var(--accent); }
.bars__value { font-weight: 700; text-align: right; white-space: nowrap; }
@media (max-width: 620px) { .bars { grid-template-columns: minmax(0, 7.5em) minmax(0, 1fr) max-content; gap: var(--s-2) var(--s-3); font-size: var(--step--2); } }

/* Strictness scale: 0.5 … 1.5 × expectation, mark = station, band = 95% interval */
.scale { position: relative; height: 12px; margin: var(--s-6) 0 var(--s-2); background: linear-gradient(90deg, var(--good), var(--line) 50%, var(--bad)); }
.scale__band { position: absolute; top: 0; height: 100%; background: rgb(0 0 0 / .18); }
.scale__mark { position: absolute; top: -8px; width: 4px; height: 28px; margin-left: -2px; background: var(--ink); }
.scale__mid { position: absolute; left: 50%; top: -4px; width: 1px; height: 20px; background: var(--muted); }
.scale-legend { display: flex; justify-content: space-between; color: var(--muted); font-size: var(--step--2); }

/* Call to action (affiliate vehicle check) */
.cta { display: grid; gap: var(--s-3); margin: var(--s-6) 0; padding: var(--s-5); border: 3px solid var(--ink); }
.cta__title { margin: 0; font-size: var(--step-1); font-weight: 700; }
.cta p { margin: 0; }
.cta .btn { justify-self: start; }

.warn { padding: var(--s-4) var(--s-5); border-left: 4px solid var(--accent); background: var(--accent-soft); }
.result--1 { color: var(--good); font-weight: 700; }
.result--2 { color: var(--ochre); font-weight: 700; }
.result--3 { color: var(--bad); font-weight: 700; }
.defects { margin: 4px 0 0; padding: 0; list-style: none; color: var(--muted); font-size: var(--step--2); }

/* ==========================================================================
   Charger finder
   ========================================================================== */

.finder { display: grid; gap: var(--s-4); }
.finder__locate { display: inline-flex; align-items: center; gap: 10px; justify-self: start; }
.hero .finder__locate { border-color: var(--on-noir); background: transparent; color: var(--on-noir); }
.hero .finder__locate:hover { border-color: var(--accent); background: var(--accent); }
.finder__status { margin: 0; color: var(--muted); font-size: var(--step--1); }
.hero .finder__status { color: var(--on-noir-muted); }

.charge-hero { padding-block: var(--s-6) var(--s-7); }
.charge-hero .crumbs a, .charge-hero .crumbs span { color: var(--on-noir-muted); }
.charge-hero__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
@media (max-width: 900px) { .charge-hero__inner { grid-template-columns: minmax(0, 1fr); } }
.charge-hero h1 { margin-bottom: var(--s-4); font-size: var(--step-4); }
.charge-hero__big { display: flex; align-items: baseline; gap: 12px; margin: 0; line-height: .9; }
.charge-hero__num { color: var(--accent); font-size: clamp(5rem, 3rem + 9vw, 10rem); font-weight: 700; letter-spacing: -.05em; }
.charge-hero__unit { color: var(--on-noir); font-size: var(--step-3); font-weight: 700; }
.charge-hero .lead { margin: var(--s-4) 0 var(--s-5); }

.grade { display: inline-flex; align-items: center; gap: var(--s-4); padding: var(--s-3) var(--s-5) var(--s-3) var(--s-3); border: 1px solid var(--noir-line); color: var(--on-noir); font-size: var(--step--1); line-height: 1.35; }
.grade__letter { display: grid; place-items: center; width: 56px; height: 56px; background: var(--g); color: #0a0a0a; font-size: 2rem; font-weight: 700; }
.grade__text { color: var(--on-noir-muted); }
.grade__text strong { color: var(--on-noir); }
.grade--a { --g: #3acf6a; } .grade--b { --g: #9bd65a; } .grade--c { --g: #f2c230; } .grade--d { --g: #f08a30; } .grade--e { --g: #ff4438; }
.grade-chip { display: inline-grid; place-items: center; width: 2em; height: 2em; background: var(--g); color: #0a0a0a; font-weight: 700; }

.radar { margin: 0; }
.radar__svg { display: block; width: 100%; max-width: 640px; height: auto; margin-inline: auto; }
.radar__disc { fill: #111111; }
.radar__ring { fill: none; stroke: rgb(245 245 245 / .16); stroke-width: 1.2; }
.radar__axis { stroke: rgb(245 245 245 / .08); stroke-width: 1; }
.radar__label, .radar__compass { fill: #8a8a8a; font: 700 12px var(--sans); letter-spacing: .08em; }
.radar__compass { fill: #bdbdbd; }
.radar__dot { fill: #3b82f6; fill-opacity: .9; animation: radar-in .5s ease-out both; animation-delay: var(--d, 0s); }
.radar__dot--dc { fill: var(--accent); fill-opacity: 1; stroke: #0a0a0a; stroke-width: 1; }
.radar__dot--near { stroke: #ffffff; stroke-width: 2.5; }
.radar__link { stroke: var(--accent); stroke-width: 2; stroke-dasharray: 5 5; }
.radar__home { fill: #ffffff; }
.radar__home-dot { fill: var(--accent); }
.radar__sweep { animation: radar-sweep 6s linear infinite; }
@keyframes radar-sweep { to { transform: rotate(360deg); } }
@keyframes radar-in { from { opacity: 0; transform: scale(.2); transform-box: fill-box; transform-origin: center; } }
@media (prefers-reduced-motion: reduce) { .radar__sweep { display: none; } .radar__dot { animation: none; } }
.radar__legend { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--s-2) var(--s-5); margin-top: var(--s-3); color: var(--on-noir-muted); font-size: var(--step--2); letter-spacing: .06em; text-transform: uppercase; }
.radar__key { display: inline-block; width: 10px; height: 10px; margin-right: 8px; border-radius: 50%; background: #3b82f6; vertical-align: -1px; }
.radar__key--dc { background: var(--accent); }
.radar__key--home { background: #ffffff; box-shadow: 0 0 0 3px var(--accent); }

.charge-figures { padding-top: var(--s-6); }
.share { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2) var(--s-3); margin-top: var(--s-5); }
.share__label { margin-right: var(--s-2); color: var(--muted); font-size: var(--step--2); font-weight: 700; letter-spacing: var(--tracking-caps); text-transform: uppercase; }
.share .btn { padding-block: 10px; }

.tag { display: inline-block; margin: 0 6px 4px 0; padding: 2px 8px; border: 1px solid var(--line-strong); color: var(--ink-2); font-size: var(--step--2); font-weight: 700; letter-spacing: .06em; white-space: nowrap; }
.tag--dc { border-color: var(--accent); background: var(--accent); color: #fff; }

.charge-map { height: 460px; border-top: 4px solid var(--ink); background: var(--line); }
.charge-map--big { height: min(70vh, 640px); }
.charge-map .leaflet-tile-pane { filter: grayscale(1) contrast(1.02) brightness(1.04); }
.leaflet-container { font-family: var(--sans); }
.bars--years { grid-template-columns: 4em minmax(0, 1fr) max-content; }
@media (max-width: 620px) {
    .charge-list th:nth-child(3), .charge-list td:nth-child(3), .charge-list th:nth-child(4), .charge-list td:nth-child(4) { display: none; }
    .charge-hero__radar { margin-inline: -8px; }
}
.radar__out { fill: #ffffff; font: 700 13px var(--sans); letter-spacing: .04em; }
.tag--hpc { border-color: #0a0a0a; background: #0a0a0a; color: #fff; box-shadow: inset 0 -3px 0 var(--accent); }
.tag--dc { background: transparent; color: var(--accent); }
.radar__dot--hpc { stroke: #ffffff; stroke-width: 2; }
.radar__key--hpc { background: var(--accent); box-shadow: 0 0 0 2px #fff; }

/* Autometr report (/report): media-ready claims, downloads, print */
.report__claim { max-width: 72ch; margin: 0 0 var(--s-5); font-size: var(--step-1); line-height: 1.45; }
.report__downloads { margin: 0 0 var(--s-4); padding-left: 1.2em; }
.report__downloads li { margin-bottom: var(--s-2); }
.report__print-note { display: none; }
@media print {
    .crumbs, .share, .more-link, .report .source a, .report__downloads, .report__downloads + .note { display: none !important; }
    .report__print-note { display: block; }
    .report, .page-head { padding-block: 12pt !important; }
    .report .panel, .report .table-wrap, .report .bars, .report .versus { break-inside: avoid; }
    .report .section-head { break-after: avoid; }
    .report .grid { display: block; }
    .report .grid > * { margin-bottom: 12pt; }
    .data-table { font-size: 9pt; }
    a { color: inherit; text-decoration: none; }
}
