/* Shared detail-card structure for Šumava locality pages. */
.locality-reference-panel{display:grid;grid-template-columns:minmax(290px,1.08fr) minmax(240px,.92fr) minmax(260px,.9fr);gap:28px;align-items:stretch;background:#fff;border:1px solid #d5e4fb;border-top:5px solid #3764f5;border-radius:24px;padding:28px;box-shadow:0 14px 32px rgba(38,67,112,.07);scroll-margin-top:110px}
.locality-reference-panel>section{min-width:0}.locality-reference-panel>section+section{border-left:1px solid #d6e3f8;padding-left:28px}
.locality-ref-kicker{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:#3764f5}.locality-reference-panel h3{font-size:22px;margin:8px 0 14px;color:#253550}.locality-ref-state{display:flex;align-items:center;gap:9px;font-weight:700;margin-bottom:16px}.locality-ref-state i{width:12px;height:12px;border-radius:50%;background:#9ba9ba;box-shadow:0 0 0 5px #eff3f8}
.locality-ref-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.locality-ref-metrics>div{min-height:100px;background:#eff5ff;border-radius:15px;padding:13px 9px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;color:#263853;font-weight:700;font-size:13px}.locality-ref-metrics img{width:27px;height:27px;object-fit:contain}.locality-ref-season{margin-top:14px;padding:15px 16px;border:1px solid #d9e6f9;border-radius:16px;background:#f8fbff;color:#697f9f;font-size:13px}.locality-ref-season strong{color:#344e73}.locality-ref-season-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.locality-ref-season-top>span:last-child{color:#3764f5;font-weight:800;text-align:right}.locality-ref-elevation-pair{display:grid;gap:4px;min-width:0}.locality-ref-elevation-pair>span{display:flex;flex-wrap:wrap;gap:4px}.locality-ref-elevation-pair strong{color:#344e73}.locality-ref-month-labels,.locality-ref-months{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;text-align:center}.locality-ref-month-labels{margin-top:12px;font-size:11px}.locality-ref-months{margin-top:5px}.locality-ref-months span{height:10px;border-radius:5px;background:#e6edf7}.locality-ref-months .level-1{background:#8bb9fa}.locality-ref-months .level-2{background:#2859da}.locality-ref-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.locality-ref-legend span{display:flex;align-items:center;gap:6px}.locality-ref-legend i{width:12px;height:10px;border-radius:4px;background:#8bb9fa}.locality-ref-legend i.usual{background:#2859da}.locality-ref-season .locality-ref-note{margin-top:8px}.locality-ref-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px}.locality-ref-actions a{min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center;padding:8px 10px;border:1px solid #ccdcf5;border-radius:13px;color:#3764f5;font-size:12px;font-weight:800;text-decoration:none}.locality-ref-actions a:hover,.locality-ref-actions a:focus-visible{background:#edf3ff;outline:2px solid #3764f5;outline-offset:2px}
.locality-start-tabs{margin:0 0 0;max-width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}.locality-start-tabs button{flex:0 0 auto}.locality-ref-access{display:grid;grid-template-columns:1fr auto;gap:3px 12px;margin:-5px 0 15px;padding:12px 14px;border:1px solid #d9e6f9;border-radius:13px;background:#f8fbff;color:#526987;font-size:12px}.locality-ref-access strong{color:#344e73}.locality-ref-access>span{color:#7184a1;font-weight:800}.locality-ref-access small{grid-column:1/-1;color:#7b8ba4;font-size:11px}
.locality-ref-report{min-height:100%;display:flex;flex-direction:column}.locality-ref-report blockquote{margin:14px 0;color:#354967;font-size:18px;line-height:1.55}.locality-ref-report time{font-size:12px;color:#8192aa}.locality-groomer-stops{margin:22px 0 4px}.locality-groomer-stops h4{margin:0 0 10px;color:#263853;font-size:16px;line-height:1.4}.locality-groomer-stops-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.locality-groomer-stop{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:62px;padding:8px 10px;border:1px solid #dbe6f5;border-radius:13px;background:#fff}.locality-groomer-stop>.dot{width:9px;height:9px;margin-left:2px}.locality-groomer-stop>.dot.yellow{background:#e4a524}.locality-groomer-stop-name{display:grid;gap:4px;min-width:0}.locality-groomer-stop-name strong{overflow-wrap:anywhere;color:#263853;font-size:12px;line-height:1.3}.locality-groomer-stop-name time{color:#7185a1;font-size:10px;white-space:nowrap}.locality-groomer-stop-actions{display:flex;gap:6px}.locality-groomer-stop-actions .icon-action{width:40px;height:40px;min-height:40px;padding:8px;border:1px solid #c8d9ff;border-radius:10px;background:#fff;color:#3565f4}.locality-groomer-stop-actions .icon-action svg,.locality-groomer-stop-actions .icon-action img{width:23px;height:23px;object-fit:contain}.locality-groomer-stop-actions .icon-action:disabled{opacity:1;cursor:not-allowed}.locality-groomer-stop-actions .icon-action:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%,4px);opacity:0;pointer-events:none;background:#24334c;color:#fff;padding:4px 7px;border-radius:5px;font-size:10px;white-space:nowrap}.locality-groomer-stop-actions .icon-action:hover:after,.locality-groomer-stop-actions .icon-action:focus-visible:after{opacity:1}.locality-groomer-report-link{margin-top:16px!important;align-self:flex-start}.locality-ref-photo{min-height:190px;display:grid;place-items:center;background:#f0f5fc;border-radius:18px;color:#7588a4;text-align:center;padding:20px}.locality-ref-photo img{max-width:100%;max-height:260px;object-fit:cover;border-radius:14px}.locality-ref-camera{width:100%;display:flex;flex-direction:column;gap:8px;overflow:hidden;padding:10px;border:1px solid #dbe6f5;color:#526987;text-align:left;text-decoration:none;font:inherit;font-size:12px;font-weight:700;cursor:zoom-in}.locality-ref-camera img{display:block;width:100%;height:190px;max-height:none;object-fit:cover;border-radius:12px}.locality-ref-camera-link{min-height:190px;align-items:center;justify-content:center;text-align:center;gap:10px;background:linear-gradient(145deg,#edf4ff,#f8fbff);cursor:pointer}.locality-ref-camera-link>span{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#fff;color:#4169f5}.locality-ref-camera-link svg{width:26px;height:26px}.locality-ref-camera-link strong{font-size:16px;color:#243553}.locality-ref-camera-link small{font-size:13px;color:#607895}.locality-ref-camera span{align-self:flex-start}.locality-ref-camera:hover span,.locality-ref-camera:focus-visible span{text-decoration:underline}.locality-camera-dialog{box-sizing:border-box;width:min(1200px,calc(100vw - 32px));height:min(92dvh,920px);max-width:none;max-height:none;margin:auto;padding:14px;border:1px solid #d5e4fb;border-radius:18px;background:#fff;color:#263853}.locality-camera-dialog::backdrop{background:rgba(15,27,47,.82);backdrop-filter:blur(3px)}.locality-camera-dialog-inner{position:relative;display:flex;flex-direction:column;gap:10px;width:100%;height:100%;min-height:0}.locality-camera-dialog h2{margin:2px 52px 0 4px;font-size:clamp(18px,3vw,24px);line-height:1.25}.locality-camera-dialog img{display:block;flex:1 1 auto;min-height:0;width:100%;height:100%;object-fit:contain;background:#f2f5fa;border-radius:12px}.locality-camera-dialog img[hidden]{display:none}.locality-camera-time{margin:0 4px;color:#7185a1;font-size:13px}.locality-camera-close{position:absolute;z-index:2;top:-4px;right:0;width:42px;height:42px;border:1px solid #d5e4fb;border-radius:50%;background:#f2f6ff;color:#3565f4;font-size:28px;line-height:1;cursor:pointer}.locality-camera-open:focus-visible,.locality-camera-close:focus-visible{outline:3px solid #3565f4;outline-offset:3px}.locality-ref-weather{margin-top:14px;padding:16px;border-radius:18px;background:#eff4ff}.locality-ref-weather h3{font-size:18px}.locality-ref-days{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;text-align:center}.locality-ref-days>div{display:grid;gap:8px;font-size:12px;color:#4d617f}.locality-ref-days b{font-size:11px}.locality-ref-days strong{font-size:15px;color:#30415e}.locality-ref-note{font-size:12px;color:#7b8ba4;margin:12px 0 0}
@media(max-width:900px){.locality-reference-panel{grid-template-columns:1fr;gap:18px;padding:20px}.locality-reference-panel>section+section{border-left:0;border-top:1px solid #d6e3f8;padding:18px 0 0}.locality-ref-photo{min-height:160px}}
@media(max-width:480px){.locality-ref-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.locality-ref-actions{grid-template-columns:1fr 1fr}.locality-reference-panel{border-radius:18px;padding:15px}}
@media(max-width:480px){.locality-groomer-stop{grid-template-columns:12px minmax(0,1fr) auto;gap:8px;padding:8px}.locality-groomer-stop-actions{gap:5px}.locality-groomer-stop-actions .icon-action{width:38px;height:38px;min-height:38px;padding:7px}}
.locality-parking-action{display:flex;align-items:center;gap:7px;min-width:0}.locality-parking-action .parking-availability-inline{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:11px;line-height:1.2}.locality-parking-action .parking-availability-inline i{flex:0 0 8px;width:8px;height:8px}
@media(max-width:480px){.locality-parking-action{gap:5px}.locality-parking-action .parking-availability-inline{gap:4px;font-size:10px}.locality-parking-action .parking-availability-inline i{flex-basis:7px;width:7px;height:7px}}

.locality-more-reports{display:block;margin:18px auto}.locality-report-dialog{width:min(720px,calc(100vw - 32px));max-height:90vh;overflow:auto;border:1px solid #d5e4fb;border-radius:22px;padding:28px;color:#293954}.locality-report-dialog::backdrop{background:rgba(20,36,61,.62)}.locality-report-dialog .close{float:right;border:0;background:#eff4ff;border-radius:50%;width:40px;height:40px;font-size:25px;color:#3764f5;cursor:pointer}.locality-report-dialog-content>img{width:100%;max-height:360px;object-fit:cover;border-radius:15px;margin:14px 0}.locality-report-dialog-content h2{margin:12px 0 5px}.locality-report-dialog-content p{line-height:1.65;color:#526987}
.locality-reports [hidden]{display:none!important}
.locality-route-filters{margin:18px 0 14px}.locality-route-switch{margin:0 0 16px}.locality-route-count{color:#7184a1;font-size:14px;margin:0 0 12px}.locality-route-list[hidden]{display:none!important}.locality-route-map{border:1px solid #d6e4f9;border-radius:20px;background:#fff;overflow:hidden;scroll-margin-top:105px}.locality-route-map[hidden]{display:none!important}.locality-route-map-head{display:flex;justify-content:space-between;gap:12px;padding:16px 20px;background:#eff4fd;color:#344b6d}.locality-route-map-head span{color:#778aa6}.locality-route-map-body{min-height:290px;padding:34px 22px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#7184a1;background:linear-gradient(145deg,#f8fbff,#eef5f4)}.locality-route-map-body>img{width:48px;height:48px}.locality-route-map-body h3{margin:14px 0 4px;color:#283953}.locality-route-map-body p{margin:6px}.locality-route-map-body small{margin-top:4px}.locality-route-map-links{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:20px}.locality-route-map-links a{border:1px solid #ccdcf5;border-radius:999px;padding:9px 14px;color:#3764f5;background:#fff;text-decoration:none;font-size:13px;font-weight:700}.locality-route-map-links a:hover,.locality-route-map-links a:focus-visible{background:#edf3ff;outline:2px solid #3764f5}
@media(max-width:650px){.locality-route-map-head{flex-direction:column}.locality-route-map-body{min-height:240px;padding:26px 16px}}
.locality-ref-state i.reported{background:#32a16c;box-shadow:0 0 0 5px #eaf6ef}
.locality-ref-access>span:where(:not(:empty)){white-space:nowrap}
/* Match the Železná Ruda mobile panel: four aligned, blue metric icons and compact season card. */
.locality-ref-metrics .track-icon{display:flex;align-items:center;justify-content:center;width:42px;height:30px;flex:0 0 auto;color:#365fff}
.locality-ref-metrics .track-icon img,.locality-ref-metrics>div>img{width:28px;height:28px;object-fit:contain;filter:brightness(0) saturate(100%) invert(34%) sepia(89%) saturate(3125%) hue-rotate(222deg) brightness(100%)}
.locality-ref-metrics .track-icon img+img{margin-left:-5px}
.locality-ref-metrics .track-icon svg{width:24px;height:24px}
.locality-ref-metrics .track-icon-both{width:62px;gap:4px}
.locality-ref-metrics .track-icon-both i{display:block;width:1px;height:21px;flex:0 0 1px;background:#c9d8f0}
@media(max-width:900px){
  .locality-detail-page .locality-section>.wrap{min-width:0}
  .locality-detail-page .locality-section .section-head{min-width:0;flex-wrap:wrap;align-items:start}
  .locality-detail-page .locality-section .section-head>div{min-width:0;max-width:100%}
  .locality-detail-page .locality-section .section-head h2{max-width:100%;font-size:clamp(24px,6vw,32px);line-height:1.15;overflow-wrap:anywhere}
  .locality-reference-panel.locality-area-panel{width:100%;min-width:0;grid-template-columns:minmax(0,1fr);gap:18px;padding:20px}
  .locality-reference-panel>section{min-width:0}
  .locality-ref-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
  .locality-ref-metrics>div{min-width:0;min-height:104px;padding:10px 3px;border-radius:9px;gap:9px;font-size:10px}
  .locality-ref-metrics>div>span{max-width:100%;overflow-wrap:anywhere}
  .locality-ref-season{padding:12px 15px;border-radius:13px}
  .locality-ref-month-labels{font-size:10px}
  .locality-ref-months{gap:3px}
  .locality-ref-legend{gap:7px 10px;font-size:11px}
}
@media(max-width:480px){
  .locality-reference-panel.locality-area-panel{padding:15px;border-radius:18px}
  .locality-ref-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
  .locality-ref-metrics>div{min-height:88px;padding:8px 2px;font-size:9px}
  .locality-ref-metrics>div>img,.locality-ref-metrics .track-icon img{width:25px;height:25px}
  .locality-ref-state{font-size:15px}
  .locality-ref-season-top{font-size:11px}
  .locality-ref-month-labels{font-size:9px}
  .locality-ref-legend{font-size:10px}
}
.locality-ref-season .locality-ref-note{line-height:1.5}
.locality-ref-months{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:3px;height:11px;min-height:11px;margin-top:7px;border-radius:0;background:none;overflow:visible}
.locality-ref-months i{display:block;height:10px;border-radius:4px;background:#e6edf7}
.locality-ref-months i.level-1{background:#8bb9fa}
.locality-ref-months i.level-2{background:#2859da}
.locality-ref-months i:nth-child(2n){margin-right:2px}
.locality-ref-legend{display:flex;align-items:center;flex-wrap:wrap;gap:5px 13px;margin-top:8px;color:#697f9f;font-size:11px;line-height:1.4}
.locality-ref-legend span{display:inline-flex;align-items:center;gap:6px}
.locality-ref-legend i{display:inline-block;width:13px;height:9px;flex:none;border-radius:3px;background:#8bb9fa}
.locality-ref-legend i.usual{background:#2859da}
.locality-ref-season-title{display:inline-flex;align-items:center;gap:7px;color:#697f9f;font-weight:500;text-align:left}
.locality-ref-season-title svg{width:19px;height:19px;flex:none;color:#3764f5}
.locality-ref-season-title svg.snow-timeline-icon{width:21px;height:26px;overflow:visible}
.locality-ref-probability-axis{position:relative;height:18px;margin:2px 4px 0;color:#7185a1;font-size:10px;line-height:1}
.locality-ref-probability-axis:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:3px;background:linear-gradient(90deg,#e6edf7 0 9%,#8bb9fa 10% 49%,#2859da 50% 100%)}
.locality-ref-probability-axis span{position:absolute;top:6px;transform:translateX(-50%);white-space:nowrap}
.locality-ref-probability-axis span:nth-of-type(1){left:0;transform:none}
.locality-ref-probability-axis span:nth-of-type(2){left:10%}
.locality-ref-probability-axis span:nth-of-type(3){left:50%}
.locality-ref-probability-axis span:nth-of-type(4){left:100%;transform:translateX(-100%)}
.locality-ref-season-source{display:block;width:max-content;max-width:100%;margin:7px 0 0 auto;color:#526c90;font-size:10px;text-decoration:underline;text-underline-offset:2px}
.locality-ref-actions{gap:9px 10px}
.locality-ref-actions a{justify-content:flex-start;gap:10px;min-height:54px;padding:9px 12px;border:1.5px solid #c9dcf7;border-radius:16px;font-size:clamp(10px,3.1vw,14px);line-height:1.25}
.locality-ref-actions a img{width:25px;height:25px;flex:0 0 25px;object-fit:contain}
.locality-ref-actions a svg{width:31px;height:28px;flex:0 0 31px}
.locality-groomer-stop{grid-template-columns:12px minmax(0,1fr) auto}.locality-groomer-stop-update{display:inline-flex;align-items:center;gap:5px;color:#7185a1;font-size:10px;line-height:1.2}.locality-groomer-stop-update img{width:13px;height:13px;object-fit:contain}.locality-groomer-stop-actions{justify-self:end}
@media(max-width:760px){.locality-detail-page .locality-groomer-stop{display:flex!important;flex-flow:row nowrap!important;align-items:center!important;gap:9px!important;min-width:0;box-sizing:border-box}.locality-detail-page .locality-groomer-stop>.dot{flex:0 0 9px;margin:0}.locality-detail-page .locality-groomer-stop-name{flex:1 1 auto;min-width:0}.locality-detail-page .locality-groomer-stop-name strong{overflow-wrap:anywhere}.locality-detail-page .locality-groomer-stop-actions{display:flex;flex:0 0 auto;align-items:center;gap:6px;margin-left:auto;justify-self:auto}.locality-detail-page .locality-groomer-stop-actions .icon-action{box-sizing:border-box;width:40px;height:40px;min-height:40px;padding:7px}}
@media(max-width:380px){.locality-detail-page .locality-groomer-stop{gap:7px!important;padding:7px}.locality-detail-page .locality-groomer-stop-actions{gap:4px}.locality-detail-page .locality-groomer-stop-actions .icon-action{width:36px;height:36px;min-height:36px;padding:6px}}

@media(max-width:600px){.locality-camera-dialog{box-sizing:border-box;width:100vw;height:100dvh;margin:0;padding:calc(env(safe-area-inset-top) + 12px) 10px calc(env(safe-area-inset-bottom) + 12px);border:0;border-radius:0}.locality-camera-dialog-inner{gap:8px}.locality-camera-dialog img{border-radius:8px}.locality-camera-time{font-size:12px}}

/* Shared locality route explorer, visually aligned with Železnorudsko route tools. */
.sumava-route-intro{margin:12px 0 22px;color:#657b98}.sumava-route-explorer{border:1px solid #d5e3f7;border-radius:26px;background:#fff;padding:22px;box-shadow:0 16px 40px #243b5d0c}.sumava-route-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.sumava-route-controls label{display:grid;gap:7px;min-width:190px;color:#536a88;font-weight:750;font-size:13px}.sumava-route-controls select{min-height:46px;border:1px solid #ccdbf1;border-radius:13px;background:#f8fbff;padding:0 14px;color:#263955;font:inherit}.sumava-route-reset,.sumava-route-switch button{min-height:46px;border:1px solid #ccdbf1;border-radius:13px;background:#fff;color:#365eff;font:inherit;font-weight:800;padding:0 16px;cursor:pointer}.sumava-route-reset:hover,.sumava-route-switch button:hover{background:#eef4ff}.sumava-route-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0 14px;color:#7184a1;font-size:14px}.sumava-route-switch{display:flex;gap:8px;flex-wrap:wrap}.sumava-route-switch button[aria-pressed=true]{background:#365eff;color:#fff;border-color:#365eff}.sumava-route-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sumava-route-list[hidden],.sumava-route-map[hidden]{display:none!important}.sumava-route-card{border:1px solid #dbe6f5;border-radius:18px;padding:17px;background:linear-gradient(145deg,#fff,#f8fbff)}.sumava-route-card.is-selected{border-color:#365eff;box-shadow:0 0 0 2px #365eff20}.sumava-route-card-top{display:flex;justify-content:space-between;gap:12px;color:#657b98;font-size:12px;font-weight:750}.sumava-route-card-top b{color:#365eff}.sumava-route-card h3{margin:10px 0 6px;color:#263955;font-size:18px}.sumava-route-card p{margin:0;color:#657b98;line-height:1.5}.sumava-route-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.sumava-route-actions button,.sumava-route-actions a,.sumava-route-map-links a{display:inline-flex;align-items:center;min-height:38px;padding:0 12px;border:1px solid #ccdbf1;border-radius:11px;background:#fff;color:#365eff;font:inherit;font-size:12px;font-weight:800;text-decoration:none;cursor:pointer}.sumava-route-actions button:hover,.sumava-route-actions a:hover,.sumava-route-map-links a:hover{background:#eef4ff}.sumava-route-map{margin-top:14px;border:1px solid #dbe6f5;border-radius:20px;overflow:hidden;background:#f3f7f3;scroll-margin-top:120px}.sumava-route-map-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;background:#fff}.sumava-route-map-heading .eyebrow{font-size:11px;color:#55729a;letter-spacing:.12em;text-transform:uppercase;font-weight:900}.sumava-route-map-heading h3{margin:3px 0 0;color:#263955;font-size:20px}.sumava-route-leaflet{display:block;width:100%;height:560px;background:#edf2ee}.sumava-route-map-status{margin:0;padding:9px 14px;background:#fff1dc;color:#7a4c12;font-size:12px;line-height:1.4}.sumava-route-map-status[hidden]{display:none}.sumava-map-line{fill:none;stroke:#416fe2;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;opacity:.76;vector-effect:non-scaling-stroke}.sumava-map-line.is-selected{stroke:#2458f5;stroke-width:6;opacity:1;filter:drop-shadow(0 0 2px #fff)}.sumava-map-node circle{fill:#365eff;stroke:#fff;stroke-width:3}.sumava-map-node text{font:700 11px system-ui,sans-serif;fill:#334963;paint-order:stroke;stroke:#f4f8f4;stroke-width:4px;stroke-linejoin:round}.sumava-route-legend{display:flex;align-items:center;gap:8px;padding:12px 18px 0;color:#405676;font-size:12px;font-weight:750}.sumava-route-legend i{display:inline-block;width:24px;height:4px;border-radius:3px;background:#416fe2}.sumava-route-legend span{margin-left:auto;color:#7789a2;font-weight:500}.sumava-route-note{margin:8px 18px 14px;color:#6e8098;font-size:12px;line-height:1.5}.sumava-route-map-links{padding:0 18px 16px}.sumava-route-source{margin:13px 0 0;color:#798aa1;font-size:11px}.sumava-route-source a{color:#416fe2;font-weight:750}
.sumava-route-explorer.is-loading-geometries .sumava-route-svg{position:relative;min-height:560px;background:#f4f7fb}
.sumava-route-explorer.is-loading-geometries .sumava-route-svg>*{visibility:hidden}
.sumava-route-explorer.is-loading-geometries .sumava-route-svg::after{content:"Načítám přesné GPS trasy…";position:absolute;inset:0;display:grid;place-items:center;color:#607694;font-size:14px;font-weight:700}
.sumava-route-explorer.geometries-load-failed .sumava-route-svg{display:grid;min-height:560px;place-items:center;background:#f4f7fb}
.sumava-route-load-error{max-width:440px;padding:24px;text-align:center;color:#607694;font-size:14px;font-weight:700;line-height:1.6}
.sumava-map-line.is-hovered{stroke:#2458f5;stroke-width:6;opacity:1;filter:drop-shadow(0 0 2px #fff)}
@media(max-width:650px){.sumava-route-explorer{padding:14px;border-radius:19px}.sumava-route-controls{display:grid;grid-template-columns:1fr 1fr}.sumava-route-controls label{min-width:0}.sumava-route-reset{grid-column:1/-1}.sumava-route-list{grid-template-columns:1fr}.sumava-route-toolbar{align-items:flex-start;flex-direction:column}.sumava-route-map-heading{align-items:flex-start;flex-direction:column}.sumava-route-leaflet{height:430px}.sumava-route-explorer.is-loading-geometries .sumava-route-svg{min-height:430px}.sumava-route-legend{align-items:flex-start;flex-wrap:wrap}.sumava-route-legend span{width:100%;margin-left:32px}}
/* Match the Železná Ruda route explorer: both panes on desktop, switchable panes on mobile. */
@media(min-width:761px){
 .sumava-route-explorer{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.3fr);gap:0 20px;align-items:start}
 .sumava-route-controls,.sumava-route-toolbar,.sumava-route-source{grid-column:1/-1}
 .sumava-route-switch{display:none}
 .sumava-route-list{grid-column:1;grid-template-columns:1fr;max-height:820px;overflow:auto;padding:2px 8px 12px 2px;scrollbar-width:thin}
 .sumava-route-map{grid-column:2;grid-row:3;position:sticky;top:105px;margin:0}
 .sumava-route-leaflet{height:520px}
 .sumava-route-source{margin-top:13px}
}
@media(max-width:760px){
 .sumava-route-switch{display:flex}
 .sumava-route-list[hidden],.sumava-route-map[hidden]{display:none!important}
 .sumava-route-map{margin-top:0}
}
.sumava-route-card{cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.sumava-route-card.is-hovered,.sumava-route-card.is-selected,.sumava-route-card:focus-visible{border-color:#2348df;background:linear-gradient(145deg,#edf3ff,#fff);box-shadow:0 0 0 3px #365eff55,0 12px 28px #243b5d20;transform:translateY(-2px);outline:none}



.sumava-geometric-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 18px;border-bottom:1px solid #e3ebf6;background:#fff}.sumava-geometric-controls>span{font-size:13px;font-weight:800;color:#526b8e;margin-right:4px}.sumava-geometric-controls button{border:1px solid #cbdcf5;background:#fff;border-radius:999px;padding:8px 13px;color:#416fe2;font:inherit;font-size:12px;font-weight:750;cursor:pointer}.sumava-geometric-controls button[aria-pressed=true]{background:#4165ef;color:#fff;border-color:#4165ef}.sumava-geo-age-legend{display:flex;align-items:center;gap:6px 8px;color:#70829c;font-size:11px;margin-left:auto}.sumava-geo-age-legend i{width:9px;height:9px;border-radius:50%;background:#a3004f}.sumava-geo-age-legend i:nth-of-type(2){background:#e9358a}.sumava-geo-age-legend i:nth-of-type(3){background:#cf90ad}.sumava-geo-route,.sumava-geo-groomed,.sumava-geo-highlight{fill:none;stroke-linecap:round;stroke-linejoin:round}.sumava-geo-route{stroke:#416fe2;stroke-width:3;opacity:.62}.sumava-geo-groomed{stroke-width:5;opacity:.96}.sumava-geo-highlight{stroke:#2458f5;stroke-width:3;opacity:.98;pointer-events:none}.sumava-route-card.is-selected{border-color:#4165ef;box-shadow:0 0 0 2px #4165ef22}@media(max-width:650px){.sumava-geometric-controls{padding:10px;gap:6px}.sumava-geometric-controls>span{width:100%}.sumava-geo-age-legend{width:100%;margin:2px 0 0}.sumava-route-leaflet{height:430px}}

/* Route finder shared layout: match the locality filter and route-card reference. */
.sumava-route-controls{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));align-items:end;gap:14px 16px}
.sumava-route-controls label{min-width:0;font-size:15px}
.sumava-route-controls select{min-height:58px;background:#fff;font-size:16px}
.sumava-route-reset{grid-column:1/-1;justify-self:end;min-height:40px;padding:0 8px;border:0;background:transparent;text-decoration:underline;color:#526987}
.sumava-route-reset:hover{background:transparent;color:#365eff}
.sumava-route-card{padding:24px 26px;border-radius:22px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.sumava-route-card.is-hovered{border-color:#365eff;box-shadow:0 0 0 2px #365eff18}
.sumava-route-map-button{display:block;width:100%;margin:14px 0 0;padding:11px 16px;border:0;border-radius:12px;background:#4165ef;color:#fff;font:inherit;font-size:14px;font-weight:800;cursor:pointer;transition:background .15s ease,transform .15s ease}
.sumava-route-map-button:hover{background:#294bd2;transform:translateY(-1px)}
.sumava-route-map-button:focus-visible,.sumava-route-map-link:focus-visible{outline:3px solid #9bb3ff;outline-offset:3px}
.sumava-route-map-link,.sumava-route-gpx-link{display:block;width:max-content;max-width:100%;margin:9px auto 0;color:#4165ef;font-size:13px;font-weight:750;text-align:center;text-decoration:underline;text-underline-offset:3px}
.sumava-route-map-button:disabled{background:#eaf0f8;color:#62748d;cursor:not-allowed;transform:none}
.sumava-route-metric-source{margin:6px 0 0!important;color:#778aa6!important;font-size:12px;line-height:1.4!important}
@media(max-width:760px){.sumava-route-map-button{margin-top:11px;padding:10px 14px}.sumava-route-map-link{font-size:12px}}
.sumava-route-card-top{align-items:center;font-size:14px;text-transform:uppercase;letter-spacing:.04em}
.sumava-route-card-top b{padding:9px 16px;border-radius:999px;background:#eaf1ff;color:#3158a8;font-size:15px;letter-spacing:0;text-transform:none}
.sumava-route-card-top b.medium{background:#fff0e8;color:#ad4b20}
.sumava-route-card-top b.hard{background:#eef0f4;color:#334155}
.sumava-route-card h3{margin:14px 0 8px;font-size:clamp(21px,2vw,28px)}
.sumava-route-metrics{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px 18px;margin:8px 0 13px;color:#60748e;font-weight:750}
.sumava-route-metrics strong{color:#3158a8;font-size:clamp(27px,3vw,38px);line-height:1.1}
.sumava-route-access{font-size:16px!important}
.sumava-route-tech{margin-top:14px;color:#365eff;font-size:15px;font-weight:800}
.sumava-route-pending{margin:8px 0 0;color:#71839b;font-size:13px;font-weight:700}
.sumava-route-explorer.is-loading-geometries [data-canvas]{min-height:520px}
.sumava-route-load-error{min-height:520px;display:grid;place-items:center;padding:28px;color:#526987;text-align:center;background:#f8fbff}
@media(max-width:760px){.sumava-route-controls{grid-template-columns:minmax(0,1fr);gap:10px}.sumava-route-controls label{box-sizing:border-box;width:100%;min-width:0}.sumava-route-controls select{box-sizing:border-box;display:block;width:100%;min-width:0;max-width:100%;min-height:50px}.sumava-route-reset{grid-column:auto;justify-self:end}.sumava-route-card{padding:19px}.sumava-route-metrics{gap:7px 12px}.sumava-route-metrics strong{font-size:29px}.sumava-route-explorer.is-loading-geometries [data-canvas],.sumava-route-load-error{min-height:430px}}

/* On wide screens, keep the route list beside its map; mobile uses the view switch. */
@media(min-width:761px){
  .sumava-route-explorer{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.3fr);align-items:start;gap:16px 22px}
  .sumava-route-controls,.sumava-route-toolbar{grid-column:1/-1}
  .sumava-route-list{grid-column:1;grid-template-columns:minmax(0,1fr)}
  .sumava-route-map{grid-column:2;grid-row:3;position:sticky;top:110px;margin-top:0}
  .sumava-route-map .sumava-route-leaflet{height:clamp(500px,70vh,760px)}
}
@media(max-width:760px){.sumava-route-explorer{display:block}.sumava-route-map{margin-top:14px}}

.sumava-geo-age-legend{gap:8px 14px;flex-wrap:wrap}
.sumava-geo-age-legend span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.sumava-geo-age-legend span:nth-child(1)>i{background:#a3004f}
.sumava-geo-age-legend span:nth-child(2)>i{background:#e9358a}
.sumava-geo-age-legend span:nth-child(3)>i{background:#cf90ad}
.sumava-geo-age-legend span:nth-child(4)>i{background:#10aa61}
.sumava-geo-age-legend span:nth-child(5)>i{background:#65c982}
.sumava-geo-age-legend span:nth-child(6)>i{background:#ffc629}
.sumava-geo-age-legend span:nth-child(7)>i{background:#f68b25}
.sumava-geo-age-legend span:nth-child(8)>i{background:#ed4045}
.sumava-geo-age-legend span:nth-child(9)>i{background:#8996a8}

/* Compact route cards keep difficulty, route stats and current grooming note readable. */
.sumava-route-card{padding:17px 20px;border-radius:18px}
.sumava-route-card-top{font-size:12px}
.sumava-route-card-top b{padding:6px 12px;font-size:13px}
.sumava-route-card h3{margin:8px 0 5px;font-size:clamp(19px,1.55vw,23px);line-height:1.2}
.sumava-route-metrics{gap:7px 13px;margin:5px 0 8px}
.sumava-route-metrics strong{font-size:clamp(25px,2.1vw,31px)}
.sumava-route-metrics span{font-size:13px}
.sumava-route-access{font-size:14px!important}
.sumava-route-tech{margin-top:8px;font-size:13px}
.sumava-route-load-error{min-height:210px;padding:22px}
@media(max-width:760px){.sumava-route-card{padding:15px 16px}.sumava-route-card h3{font-size:20px}.sumava-route-metrics strong{font-size:26px}.sumava-route-metrics span{font-size:12px}}
.weather-snow-key{display:flex;align-items:center;gap:7px;margin:-8px 0 12px;color:#617895;font-size:12px;font-weight:700}.weather-snow-key img{width:17px;height:17px;object-fit:contain;filter:brightness(0) saturate(100%) invert(39%) sepia(97%) saturate(2250%) hue-rotate(217deg) brightness(101%) contrast(96%)}.weather-snowfall{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:2px;color:#3565f4;font-size:11px;font-weight:750;line-height:1.2;white-space:nowrap}.weather-snowfall img{width:16px;height:16px;object-fit:contain;filter:brightness(0) saturate(100%) invert(39%) sepia(97%) saturate(2250%) hue-rotate(217deg) brightness(101%) contrast(96%)}.locality-ref-days .weather-condition-icon{font-size:23px;color:#91a5bf}.locality-ref-days .weather-snowfall{font-size:11px}.area-weather .weather-days .weather-snowfall{grid-column:1/-1}.area-weather .weather-days .weather-snowfall img{width:16px;height:16px}@media(max-width:760px){.locality-ref-weather{padding:14px}.weather-snow-key{margin:-7px 0 10px;font-size:11px}.locality-ref-days{gap:6px}.locality-ref-days>div{gap:6px;padding:12px 5px}.locality-ref-days .weather-snowfall{font-size:10px;gap:3px}.locality-ref-days .weather-snowfall img{width:14px;height:14px}}
.locality-ref-weather .weather-snow-depth{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;margin:10px 0 14px;padding:12px 14px;border:1px solid #d8e5fb;border-radius:15px;background:rgba(255,255,255,.78)}.locality-ref-weather .weather-snow-depth>img{width:34px;height:34px;object-fit:contain;filter:brightness(0) saturate(100%) invert(39%) sepia(97%) saturate(2250%) hue-rotate(217deg) brightness(101%) contrast(96%)}.locality-ref-weather .weather-snow-depth>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:2px 10px}.locality-ref-weather .weather-snow-depth>div>span{color:#617895;font-size:12px;font-weight:700}.locality-ref-weather .weather-snow-depth-value{grid-column:2;grid-row:1/3;color:#2f59ba;font-size:clamp(23px,2vw,30px);font-weight:850;line-height:1;white-space:nowrap}.locality-ref-weather .weather-snow-depth-source{grid-column:1;color:#7b8ba4;font-size:10px;line-height:1.35}.locality-ref-weather .weather-snow-key{margin:0 0 8px}.locality-ref-weather .locality-ref-note{margin-top:10px;font-size:11px;line-height:1.35}.locality-ref-weather .locality-ref-note a{color:#647b99}.locality-ref-weather .locality-ref-days>div{padding:7px 2px}.locality-ref-weather .locality-ref-days>div>b{font-size:10px}.locality-ref-weather .locality-ref-days>div>strong{font-size:14px}.locality-ref-weather .locality-ref-days>div>small{font-size:11px}
@media(max-width:760px){.locality-ref-weather .weather-snow-depth{grid-template-columns:34px minmax(0,1fr);gap:8px;margin:8px 0 12px;padding:10px 11px}.locality-ref-weather .weather-snow-depth>img{width:30px;height:30px}.locality-ref-weather .weather-snow-depth>div>span{font-size:11px}.locality-ref-weather .weather-snow-depth-value{font-size:24px}.locality-ref-weather .weather-snow-depth-source{font-size:9px}.locality-ref-weather .locality-ref-days>div{padding:8px 2px}}
.locality-ref-weather .weather-snow-depth{grid-template-columns:32px minmax(0,1fr);gap:10px;padding:11px 13px}.locality-ref-weather .weather-snow-depth>img{width:29px;height:29px}.locality-ref-weather .weather-snow-depth>div{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 10px}.locality-ref-weather .weather-snow-depth>div>span{grid-column:1;grid-row:1;white-space:nowrap;font-size:12px}.locality-ref-weather .weather-snow-depth-value{grid-column:2;grid-row:1/3;align-self:center;font-size:27px}.locality-ref-weather .weather-snow-depth-source{grid-column:1;grid-row:2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.locality-ref-weather .locality-ref-note{font-size:11px}
@media(max-width:760px){.locality-ref-weather .weather-snow-depth{grid-template-columns:30px minmax(0,1fr);gap:8px;margin:8px 0 12px;padding:10px 11px}.locality-ref-weather .weather-snow-depth>img{width:27px;height:27px}.locality-ref-weather .weather-snow-depth>div{grid-template-columns:minmax(0,1fr) auto;gap:3px 8px}.locality-ref-weather .weather-snow-depth>div>span{font-size:11px}.locality-ref-weather .weather-snow-depth-value{font-size:24px}.locality-ref-weather .weather-snow-depth-source{max-width:100%;font-size:9px}.locality-ref-weather .weather-snow-key{margin:0 0 6px}.locality-ref-weather .locality-ref-note{margin-top:8px}}

/* Optional official operator notes. */
.locality-operator-info{margin-top:22px;padding:16px;border:1px solid #d9e6f9;border-radius:16px;background:#f8fbff;color:#526987}
.locality-operator-info h4{margin:0 0 8px;color:#263853;font-size:16px;line-height:1.35}
.locality-operator-info p{margin:0;font-size:13px;line-height:1.55}
.locality-operator-links{display:grid;gap:7px;margin-top:12px}
.locality-operator-links a{color:#3764f5;font-size:12px;font-weight:800;text-decoration:none}
.locality-operator-links a:hover,.locality-operator-links a:focus-visible{text-decoration:underline}
.sumava-route-map-link.is-unavailable,.zr-route-map-link.is-unavailable{color:#72839c;text-decoration:none;cursor:default}

.locality-ref-camera-video{align-items:center;justify-content:center;min-height:190px;background:linear-gradient(145deg,#eaf2ff,#f7faff);text-align:center;cursor:pointer}.locality-ref-camera-video .locality-ref-camera-video-icon{display:grid;place-items:center;align-self:center;width:54px;height:54px;border-radius:50%;background:#3764f5;color:#fff;font-size:21px;padding-left:3px}.locality-ref-camera-video strong{color:#263853;font-size:15px}.locality-camera-frame{display:block;flex:1 1 auto;min-height:0;width:100%;height:100%;border:0;border-radius:12px;background:#111}.locality-camera-frame[hidden]{display:none}
@media(max-width:600px){.locality-camera-frame{border-radius:8px}}

/* Live camera preview for iframe-based feeds. The preview itself stays muted; clicking opens the full camera player. */
.locality-ref-camera-preview{position:relative;display:block;min-height:220px;height:clamp(190px,22vw,290px);padding:0;border:1px solid #dbe6f5;background:#101a2a;cursor:default}.locality-ref-camera-preview-frame{position:absolute;inset:0;width:100%;height:100%;border:0;background:#101a2a;pointer-events:none}.locality-ref-camera-trigger{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;height:100%;padding:14px;border:0;border-radius:inherit;background:linear-gradient(180deg,rgba(16,32,56,.06) 35%,rgba(16,32,56,.62));text-align:center;cursor:pointer}.locality-ref-camera-trigger .locality-ref-camera-video-icon{display:grid;place-items:center;align-self:center;width:54px;height:54px;border-radius:50%;background:#3764f5;color:#fff;font-size:21px;padding-left:3px;box-shadow:0 4px 16px rgba(16,32,56,.22)}.locality-ref-camera-trigger strong{align-self:center;color:#fff;font-size:15px;text-shadow:0 1px 4px rgba(0,0,0,.55)}.locality-ref-camera-trigger>span:last-child{position:absolute;right:14px;bottom:12px;left:14px;color:#fff;font-size:12px;text-align:left;text-shadow:0 1px 4px rgba(0,0,0,.8)}.locality-ref-camera-trigger:hover .locality-ref-camera-video-icon,.locality-ref-camera-trigger:focus-visible .locality-ref-camera-video-icon{transform:scale(1.06)}.locality-ref-camera-trigger:focus-visible{outline:3px solid #3764f5;outline-offset:-4px}
.locality-ref-camera-panoramic img{height:auto;aspect-ratio:4.92/1;object-fit:contain;background:#101a2a}
@media(max-width:600px){.locality-ref-camera-preview{height:220px;min-height:220px}.locality-ref-camera-trigger .locality-ref-camera-video-icon{width:48px;height:48px}}

/* Keep parking availability immediately left of a consistently right-aligned parking icon. */
.locality-groomer-stop-actions{justify-self:end}.locality-parking-action{justify-content:flex-end}.locality-parking-action .parking-availability-inline{flex:0 0 auto}
.locality-ref-history{margin-top:12px}.locality-ref-history>strong{display:block;margin-bottom:8px;color:#344e73;font-size:12px}.locality-ref-history-row{display:grid;grid-template-columns:82px minmax(0,1fr);gap:3px 8px;padding:9px 0;border-top:1px solid #d9e6f9}.locality-ref-history-row>b{grid-row:1/3;color:#344e73;font-size:12px}.locality-ref-history-row>span{color:#263853;font-size:12px;font-weight:700}.locality-ref-history-row>small{grid-column:2;color:#697f9f;font-size:11px;line-height:1.45}.locality-ref-history-row>a{grid-column:2;width:max-content;max-width:100%;color:#3764f5;font-size:11px;font-weight:700;text-decoration:underline;text-underline-offset:2px}.locality-ref-history+.locality-ref-note{margin-top:9px;font-size:11px;line-height:1.5}

.locality-groomer-stop-description{color:#7185a1;font-size:11px;line-height:1.45}.locality-transit-action svg{width:23px;height:23px}

/* Compact elevation profiles sit beside route details without covering text. */
.sumava-route-card{display:grid;grid-template-columns:minmax(0,1fr) 132px;align-items:start;gap:14px}
.sumava-route-card-copy{min-width:0}
.sumava-route-profile{box-sizing:border-box;grid-column:2;grid-row:1;align-self:center;width:100%;margin:13px 0 0;padding:9px;border:1px solid #dbe6f5;border-radius:13px;background:#f6f9ff;color:#7184a1}
.sumava-route-profile figcaption{margin:0 0 7px;color:#526b8e;font-size:11px;font-weight:800}
.sumava-route-profile svg{display:block;width:100%;height:auto;overflow:visible}
.sumava-route-profile-area{fill:#dce8ff}
.sumava-route-profile-line{fill:none;stroke:#4165ef;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.sumava-route-profile-range{display:flex;justify-content:space-between;gap:4px;margin-top:4px;font-size:9px;line-height:1.25;white-space:nowrap}
.sumava-route-profile-empty{display:grid;place-items:center;min-height:46px;border:1px dashed #cbd9eb;border-radius:8px;color:#8594a9;font-size:9px;line-height:1.35;text-align:center}
.sumava-route-metric-source{margin:8px 0 0!important;color:#7184a1!important;font-size:11px!important;line-height:1.4!important}
@media(max-width:600px){.sumava-route-card{grid-template-columns:minmax(0,1fr) 92px;gap:9px}.sumava-route-profile{padding:7px}.sumava-route-profile figcaption{font-size:10px}.sumava-route-profile-range{font-size:8px}}

/* Route card hierarchy: route identity and compact profile share the first row. */
.sumava-route-card{display:block;min-width:0}
.sumava-route-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,210px);align-items:center;gap:14px}
.sumava-route-feature .sumava-route-card-copy{min-width:0}
.sumava-route-profile{grid-column:auto;grid-row:auto;align-self:center;margin:0;padding:8px 10px;border-radius:12px}
.sumava-route-profile figcaption{display:flex;align-items:center;justify-content:space-between;gap:5px;margin:0 0 3px;font-size:10px}
.sumava-route-profile svg{height:38px}
.sumava-route-profile-grade{display:inline-flex;align-items:center;min-height:20px;padding:0 8px;border-radius:999px;background:#94a3b8;color:#fff;font-size:9px;font-weight:900;white-space:nowrap}
.sumava-route-profile-grade.easy{background:#16803c}.sumava-route-profile-grade.medium{background:#1769d2}.sumava-route-profile-grade.hard{background:#cf2929}.sumava-route-profile-grade.very-hard{background:#20242b}.sumava-route-profile-grade.unknown{background:#78889d}
.sumava-route-profile-area{fill:#d9e7ff}.sumava-route-profile-line{stroke:#315efb;stroke-width:2.7}
.sumava-route-profile-range{margin-top:2px;font-size:9px}
.sumava-route-profile-ascent{display:block;margin-top:3px;color:#334b6b;font-size:11px;line-height:1.25}
.sumava-route-profile-empty{min-height:38px;font-size:9px}
.sumava-route-metric-source,.sumava-route-pending{display:none!important}
.sumava-route-card-top b.easy{background:#16803c;color:#fff}.sumava-route-card-top b.medium{background:#1769d2;color:#fff}.sumava-route-card-top b.hard{background:#cf2929;color:#fff}.sumava-route-card-top b.very-hard{background:#20242b;color:#fff}.sumava-route-card-top b.unknown{background:#78889d;color:#fff}
.sumava-route-access{margin-top:9px!important}
@media(max-width:600px){.sumava-route-feature{grid-template-columns:minmax(0,1fr) minmax(116px,140px);gap:9px}.sumava-route-profile{padding:7px}.sumava-route-profile svg{height:34px}.sumava-route-profile figcaption{font-size:9px}.sumava-route-profile-grade{min-height:18px;padding:0 6px;font-size:8px}.sumava-route-profile-ascent{font-size:10px}}
@media(max-width:370px){.sumava-route-feature{grid-template-columns:minmax(0,1fr) 106px;gap:6px}.sumava-route-profile-range{font-size:8px}}

/* Route name spans the card; distance and profile share the following row. */
.sumava-route-feature{display:block}
.sumava-route-feature>.sumava-route-card-top{display:flex;align-items:center;justify-content:space-between}
.sumava-route-feature>h3{margin:8px 0 12px;line-height:1.2}
.sumava-route-feature-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,42%);align-items:center;gap:14px}
.sumava-route-feature-bottom .sumava-route-card-copy{min-width:0}
.sumava-route-feature-bottom .sumava-route-metrics{display:grid;gap:5px}
.sumava-route-feature-bottom .sumava-route-metrics strong{white-space:nowrap}
.sumava-route-profile-range{margin:0 0 3px;color:#344e73;font-size:10px;font-weight:800}
.sumava-route-profile svg{display:block;width:100%;height:45px;overflow:hidden}
.sumava-route-profile-ascent{position:static;display:block;clear:both;margin:7px 0 0;line-height:1.3}
.sumava-route-profile-source{display:block;margin-top:3px;color:#8594a9;font-size:8px;line-height:1.2}
@media(max-width:600px){.sumava-route-feature-bottom{grid-template-columns:minmax(0,1fr) minmax(126px,42%);gap:8px}.sumava-route-feature>h3{margin:7px 0 10px}.sumava-route-profile{padding:7px}.sumava-route-profile-range{font-size:8px}.sumava-route-profile svg{height:38px}.sumava-route-feature-bottom .sumava-route-metrics strong{font-size:clamp(20px,5vw,26px)}}
@media(max-width:370px){.sumava-route-feature-bottom{grid-template-columns:minmax(0,1fr) 106px;gap:6px}}

/* Compact route metadata: start label, technique pictograms and a truthful grooming signal. */
.sumava-route-profile-origin{margin:0 0 3px;color:#405a7c;font-size:10px;font-weight:800;line-height:1.2}
.sumava-route-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;min-height:22px}
.sumava-route-style-icons{display:inline-flex;align-items:center;gap:7px;min-height:22px}
.sumava-route-style-icons img{display:block;width:21px;height:21px;object-fit:contain}
.sumava-route-grooming{display:inline-flex;align-items:center;gap:7px;color:#7184a1;font-size:11px;line-height:1.25}
.sumava-route-signal{display:inline-block;flex:0 0 11px;width:11px;height:11px;border-radius:50%;background:#94a3b8;box-shadow:0 0 0 3px #eef2f7}
.sumava-route-signal.is-fresh{background:#20a274;box-shadow:0 0 0 3px #e4f5ee}
.sumava-route-signal.is-partial{background:#e99a1a;box-shadow:0 0 0 3px #fff4df}
@media(max-width:600px){.sumava-route-meta{margin-top:8px;gap:8px}.sumava-route-grooming{font-size:10px}.sumava-route-style-icons img{width:19px;height:19px}}

/* Keep all route actions in the left column, aligned to the profile's lower edge. */
.sumava-route-feature-bottom{align-items:stretch}
.sumava-route-feature-bottom .sumava-route-card-copy{display:flex;flex-direction:column;align-items:flex-start;min-height:100%}
.sumava-route-feature-bottom .sumava-route-meta{width:100%;margin-top:12px;justify-content:flex-start;flex-wrap:wrap}
.sumava-route-feature-bottom .sumava-route-map-button{margin-top:auto;padding-top:12px}
.sumava-route-feature-bottom .sumava-route-map-link{display:inline-flex;margin-top:10px;align-self:flex-start}
@media(max-width:600px){.sumava-route-feature-bottom .sumava-route-meta{margin-top:9px}.sumava-route-feature-bottom .sumava-route-map-button{margin-top:auto}}


/* Mobile keeps metrics and route profile side by side; scale the whole SVG into its column. */
@media(max-width:600px){
  .sumava-route-feature-bottom{grid-template-columns:minmax(0,1fr) minmax(155px,46%);align-items:stretch;gap:8px}
  .sumava-route-feature-bottom .sumava-route-card-copy{min-width:0;min-height:0}
  .sumava-route-profile{width:100%;min-width:0;box-sizing:border-box;overflow:visible}
  .sumava-route-profile figcaption{display:flex;align-items:center;justify-content:space-between;gap:3px;font-size:clamp(8px,2.2vw,10px);white-space:nowrap}
  .sumava-route-profile-grade{flex:0 0 auto}
  .sumava-route-profile-range{display:flex;justify-content:space-between;gap:3px;white-space:nowrap;font-size:clamp(7px,1.9vw,9px);letter-spacing:-.02em}
  .sumava-route-profile svg{display:block;width:100%!important;max-width:100%;min-width:0;height:auto!important;aspect-ratio:144 / 58;overflow:visible}
}
@media(max-width:380px){
  .sumava-route-feature-bottom{grid-template-columns:minmax(0,1fr) minmax(140px,48%);gap:6px}
  .sumava-route-profile{padding:6px}
  .sumava-route-profile-range{font-size:7px}
}

/* Mobile refinement: metrics share a full-width row; the profile stays beside the compact actions. */
@media(max-width:600px){
  .sumava-route-feature-bottom{grid-template-columns:minmax(0,1fr) minmax(155px,46%);grid-template-rows:auto auto auto auto;align-items:start;column-gap:8px;row-gap:6px}
  .sumava-route-feature-bottom .sumava-route-card-copy{display:contents}
  .sumava-route-feature-bottom .sumava-route-metrics{grid-column:1 / -1;grid-row:1;display:flex;align-items:baseline;gap:14px;min-width:0;white-space:nowrap}
  .sumava-route-feature-bottom .sumava-route-metrics strong{font-size:clamp(25px,7vw,38px)}
  .sumava-route-feature-bottom .sumava-route-metrics span{font-size:clamp(13px,3.6vw,17px);white-space:nowrap}
  .sumava-route-feature-bottom .sumava-route-meta{grid-column:1;grid-row:2;align-self:start;width:auto;margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:9px}
  .sumava-route-feature-bottom .sumava-route-profile{grid-column:2;grid-row:2 / span 3;align-self:start;width:100%;min-width:0;max-width:100%;box-sizing:border-box;overflow:hidden}
  .sumava-route-profile figcaption{font-size:clamp(8px,2.2vw,10px)}
  .sumava-route-profile-range{gap:2px;font-size:clamp(7px,1.8vw,9px)}
  .sumava-route-profile svg{display:block;width:100%!important;max-width:100%;height:58px!important;aspect-ratio:auto;box-sizing:border-box;overflow:hidden!important}
  .sumava-route-feature-bottom .sumava-route-map-button{grid-column:1;grid-row:3;margin:0;padding-top:4px}
  .sumava-route-feature-bottom .sumava-route-map-link{grid-column:1;grid-row:4;margin:0;align-self:start}
}
@media(max-width:380px){
  .sumava-route-feature-bottom{grid-template-columns:minmax(0,1fr) minmax(140px,48%);column-gap:6px}
  .sumava-route-feature-bottom .sumava-route-metrics{gap:8px}
  .sumava-route-profile{padding:6px}
  .sumava-route-profile-range{font-size:7px}
}

/* Route highlighting is an in-card mobile action only; desktop map remains available in the map view. */
@media(min-width:761px){.sumava-route-map-button{display:none!important}}

.locality-ref-elevation-pair .locality-ref-altitude{display:flex;align-items:center;gap:7px}.locality-ref-altitude svg{width:19px;height:19px;flex:none;color:#3764f5}
