
/* KrpaHaus — Ako sa k nám dostanete / pixel-tuned */
:root{--kh-green:#0b4034;--kh-deep:#082f28;--kh-ink:#123b34;--kh-cream:#f7f4ed;--kh-card:#fffdf9;--kh-muted:#66736e;--kh-line:#e4e0d7}
.route-page{background:var(--kh-cream);color:var(--kh-ink);font-family:var(--krp-font);}
.route-page *{box-sizing:border-box}
.route-page .container{width:min(1100px,calc(100% - 64px));margin:0 auto}
.eyebrow{font-size:12px;line-height:1;letter-spacing:.30em;font-weight:700;color:#fff}.eyebrow.dark{color:var(--kh-ink)}

.route-hero{position:relative;height:360px;display:flex;align-items:center;overflow:hidden;color:#fff;background:url('/assets/header-universal.webp') center 54%/cover no-repeat}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,30,24,.72) 0%,rgba(4,30,24,.38) 38%,rgba(4,30,24,.08) 70%,rgba(4,30,24,.18) 100%)}
.hero-in{position:relative;z-index:2;padding-top:60px;display:flex;align-items:center;justify-content:space-between}
.hero-in h1{margin:17px 0 13px;font-family:var(--krp-font);font-size:58px;line-height:.99;font-weight:400;letter-spacing:-2px}
.hero-in p{margin:0;font-size:15px;line-height:1.52;color:rgba(255,255,255,.97)}
.hero-note{width:310px;margin:0 70px 0 0;text-align:center;font-family:var(--krp-font);font-size:27px;line-height:1.15;transform:rotate(-7deg);text-shadow:0 2px 8px #0005}
.mountains{margin-top:8px;font-size:30px}

.transport{background:#fffdf8;border-bottom:1px solid var(--kh-line)}
.transport-in{height:100px;display:grid;grid-template-columns:repeat(4,1fr) 190px;align-items:center}
.transport-in>div{height:50px;display:flex;align-items:center;gap:14px;padding:0 25px;border-right:1px solid #dedbd2;font-size:30px}
.transport-in>div:first-child{padding-left:22px}.transport span b,.transport span small{display:block}.transport span b{font:16px var(--krp-font)}.transport span small{margin-top:5px;color:#68736e;font-size:11px}.transport em{text-align:center;color:#aaa;font:22px/1.05 var(--krp-font);transform:rotate(-6deg)}

.content{padding:38px 0 30px}
.location-card{display:grid;grid-template-columns:43% 57%;height:386px;background:var(--kh-card);border-radius:13px;overflow:hidden;box-shadow:0 8px 28px rgba(28,50,42,.06)}
.location-copy{padding:27px 28px 25px}.location-copy h2{margin:13px 0 5px;font:400 38px/1 var(--krp-font);letter-spacing:-1px}.subtitle{margin:0;color:#40534c;font:17px var(--krp-font)}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:30px 0 23px}.fact{display:flex;gap:12px;align-items:flex-start}.fact i{font-style:normal;font-size:29px;line-height:1}.fact b,.fact small{display:block}.fact b{font-size:12px}.fact small{margin-top:5px;color:#52615b;font-size:12px;line-height:1.4}.fact button{margin-top:6px;padding:4px 9px;border:1px solid #89968f;border-radius:4px;background:#fff;color:var(--kh-ink);font-size:10px;cursor:pointer}
.primary{height:54px;padding:0 22px;display:flex;align-items:center;border-radius:6px;background:linear-gradient(90deg,#0a4537,#0d4b3c);color:#fff!important;text-decoration:none!important;font-size:14px}.primary b{margin-left:auto;font-size:21px;font-weight:400}.secondary{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:13px}.secondary a{height:51px;display:grid;place-items:center;padding:8px;border-radius:6px;background:#f0eee8;color:#34463f!important;text-decoration:none!important;font-size:11px}

.map-box{position:relative;height:386px;background:#dce5dc;overflow:hidden}#routeMap{position:absolute;inset:0;z-index:1}
.map-distance-legend{position:absolute;z-index:500;right:12px;bottom:12px;padding:8px 11px;border:1px solid #ffffff99;border-radius:5px;background:#123d34dc;color:#fff;font-size:10px;line-height:1.75;backdrop-filter:blur(5px)}
.map-distance-legend span{display:block}.map-distance-legend i{display:inline-block;width:10px;height:10px;margin-right:7px;border:2px solid;border-radius:50%;vertical-align:-1px}.r1{border-color:#b8e0c7!important}.r2{border-color:#c9a46b!important}.r3{border-color:#77a8dc!important}
.leaflet-control-zoom a{color:var(--kh-ink)!important}.leaflet-control-attribution{font-size:8px!important}
.kh-marker{width:42px;height:42px;border:4px solid #fff;border-radius:50% 50% 50% 0;background:var(--kh-deep);transform:rotate(-45deg);box-shadow:0 4px 12px #0005}.kh-marker:after{content:"⌂";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:18px;transform:rotate(45deg)}
.kh-poi{width:29px;height:29px;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;background:#17644f;color:#fff;box-shadow:0 2px 8px #0004;font-size:13px}.kh-poi.blue{background:#1768a8}.kh-poi.brown{background:#987047}

.last-mile{padding:28px 4px 20px}.last-mile .lead{margin:10px 0 16px;color:#596762;font-size:17px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.steps article{overflow:hidden;background:#fffdf9;border-radius:9px;box-shadow:0 6px 20px rgba(28,50,42,.05)}.photo{position:relative;height:162px;overflow:hidden;background:#ddd}.photo img{display:block;width:100%;height:100%;object-fit:cover}.photo b{position:absolute;top:9px;left:9px;width:34px;height:34px;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;background:#124c3d;color:#fff;font:16px var(--krp-font)}.steps h3{margin:12px 13px 4px;font:17px var(--krp-font)}.steps article p{margin:0 13px 15px;color:#596762;font-size:12px;line-height:1.48}

.notices{display:grid;grid-template-columns:1.18fr .92fr;gap:20px;margin:3px 4px 0}.notices article{min-height:166px;display:flex;gap:18px;padding:24px 25px;border-radius:9px;background:#f3f0e9;box-shadow:0 5px 18px rgba(28,50,42,.035)}.notices .winter{background:linear-gradient(120deg,#edf5f7,#f9fbfa)}.notices i{font-style:normal;font-size:40px;line-height:1}.notices h3{margin:0 0 12px;font:20px var(--krp-font)}.notices p,.notices ul{color:#53625c;font-size:12px;line-height:1.6}.notices p{margin:0}.notices ul{list-style:none;margin:0;padding:0}.notices li:before{content:"✓";margin-right:8px;color:#174a3b;font-weight:700}

.bottom{position:relative;height:165px;margin-top:2px;background:url('/assets/images/doprava/footer.webp') center 55%/cover no-repeat;color:#fff}.bottom-shade{position:absolute;inset:0;background:linear-gradient(90deg,#061c15c9,#061c156e)}.bottom-in{position:relative;z-index:1;height:165px;display:flex;align-items:center;justify-content:space-between}.bottom blockquote{margin:0 0 0 55px;font:italic 23px/1.3 var(--krp-font)}.bottom-in>div{text-align:center;margin-right:48px;font-size:29px}.bottom-in span{font:16px var(--krp-font)}

@media(max-width:991.98px){.route-page .container{width:min(100% - 40px,1100px)}.hero-in h1{font-size:48px}.hero-note{margin-right:0}.transport-in{grid-template-columns:repeat(4,1fr);height:auto;padding:12px 0}.transport em{display:none}.transport-in>div{padding:8px 12px}.location-card{height:auto;grid-template-columns:1fr}.map-box{height:390px}.steps{grid-template-columns:1fr 1fr}.photo{height:200px}}
@media(max-width:767.98px){.route-page .container{width:calc(100% - 28px)}.route-hero{height:470px;background-position:60% center}.hero-in{padding-top:88px}.hero-in h1{font-size:42px}.hero-in p br{display:none}.hero-note{display:none}.transport-in{grid-template-columns:1fr 1fr}.transport-in>div{font-size:22px;border-bottom:1px solid var(--kh-line)}.location-copy{padding:27px 20px}.location-copy h2{font-size:32px}.facts,.secondary{grid-template-columns:1fr}.map-box{height:360px}.steps{grid-template-columns:1fr}.photo{height:220px}.notices{grid-template-columns:1fr}.bottom-in{justify-content:center;text-align:center}.bottom blockquote{margin:0}.bottom-in>div{display:none}}


/* === V3: KDE NÁS NÁJDETE — pixel match podľa schváleného návrhu === */
.location-card{
  display:grid!important;
  grid-template-columns:43.5% 56.5%!important;
  height:438px!important;
  min-height:438px!important;
  border-radius:12px!important;
  overflow:hidden!important;
  background:#fffdf9!important;
  box-shadow:0 8px 26px rgba(22,48,39,.055)!important;
}
.location-copy{
  padding:30px 28px 27px 30px!important;
}
.location-copy .eyebrow{
  font-size:11px!important;
  letter-spacing:.28em!important;
}
.location-copy h2{
  margin:16px 0 7px!important;
  font:400 36px/1.03 var(--krp-font)!important;
  letter-spacing:-1.15px!important;
  color:#113c33!important;
}
.location-copy .subtitle{
  margin:0!important;
  font:17px/1.3 var(--krp-font)!important;
  color:#26483f!important;
}
.location-copy .facts{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:24px!important;
  margin:37px 0 28px!important;
}
.location-copy .fact{
  display:flex!important;
  gap:12px!important;
  align-items:flex-start!important;
}
.location-copy .fact-pin{
  width:30px!important;
  flex:0 0 30px!important;
  margin-top:-2px!important;
  font-style:normal!important;
  font-size:31px!important;
  line-height:1!important;
  color:#123f35!important;
}
.location-copy .fact b{
  display:block!important;
  margin:0!important;
  font:700 12px/1.25 var(--krp-font)!important;
  color:#173d35!important;
}
.location-copy .fact small{
  display:block!important;
  margin-top:5px!important;
  font:12px/1.35 var(--krp-font)!important;
  color:#40544d!important;
}
.location-copy .fact button{
  display:block!important;
  margin-top:7px!important;
  padding:5px 9px!important;
  border:1px solid #87968f!important;
  border-radius:5px!important;
  background:#fff!important;
  color:#173d35!important;
  font:10px/1 var(--krp-font)!important;
}
.location-copy .primary{
  width:100%!important;
  height:58px!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:0 19px!important;
  border-radius:6px!important;
  background:#0a493a!important;
  color:#fff!important;
  text-decoration:none!important;
  font:14px/1 var(--krp-font)!important;
}
.location-copy .primary-pin{font-size:14px!important}
.location-copy .primary b{
  margin-left:auto!important;
  font-size:23px!important;
  font-weight:300!important;
}
.location-copy .secondary{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:14px!important;
  margin-top:14px!important;
}
.location-copy .secondary a{
  height:55px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  padding:0 8px!important;
  border-radius:6px!important;
  background:#f0eee8!important;
  color:#2c4840!important;
  text-decoration:none!important;
  font:11px/1 var(--krp-font)!important;
}

.location-card .map-box{
  position:relative!important;
  height:438px!important;
  min-height:438px!important;
  overflow:hidden!important;
  background:#cbd9c9!important;
}
.location-card #routeMap{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  filter:saturate(.72) contrast(.92) brightness(1.04)!important;
}
.location-card .map-top-card{
  position:absolute!important;
  z-index:500!important;
  top:24px!important;
  left:28px!important;
  display:flex!important;
  align-items:flex-start!important;
  gap:9px!important;
  min-width:168px!important;
  padding:10px 14px!important;
  border-radius:19px!important;
  background:rgba(248,248,240,.91)!important;
  box-shadow:0 2px 8px rgba(0,0,0,.07)!important;
  color:#173d35!important;
}
.map-top-card>span{font-size:14px!important;color:#164b3c!important}
.map-top-card b,.map-top-card small{display:block!important}
.map-top-card b{font:700 12px/1.2 var(--krp-font)!important}
.map-top-card small{margin-top:3px!important;font:10px/1 var(--krp-font)!important}
.location-card .map-times{
  position:absolute!important;
  z-index:500!important;
  left:25px!important;
  bottom:24px!important;
  width:230px!important;
  padding:10px 12px!important;
  border-radius:6px!important;
  background:rgba(247,247,239,.91)!important;
  color:#263f38!important;
  box-shadow:0 2px 7px rgba(0,0,0,.05)!important;
}
.map-times div{
  display:grid!important;
  grid-template-columns:20px 1fr auto!important;
  gap:5px!important;
  align-items:center!important;
  min-height:25px!important;
  border-bottom:1px solid rgba(45,70,61,.08)!important;
  font:9px/1.1 var(--krp-font)!important;
}
.map-times div:last-child{border-bottom:0!important}
.map-times b{font-weight:400!important;white-space:nowrap!important}
.location-card .map-home-label{
  position:absolute!important;
  z-index:500!important;
  right:19px!important;
  bottom:54px!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  color:#fff!important;
  text-shadow:0 1px 4px rgba(0,0,0,.55)!important;
}
.map-home-label span{
  width:39px!important;height:39px!important;
  display:grid!important;place-items:center!important;
  border:3px solid #fff!important;border-radius:50%!important;
  background:#143e35!important;
  font-size:17px!important;
  box-shadow:0 2px 8px rgba(0,0,0,.22)!important;
}
.map-home-label b{font:700 15px/1 var(--krp-font)!important}

@media(max-width:991.98px){
 .location-card{grid-template-columns:1fr!important;height:auto!important}
 .location-card .map-box{height:400px!important;min-height:400px!important}
}
@media(max-width:767.98px){
 .location-copy{padding:27px 20px!important}
 .location-copy h2{font-size:31px!important}
 .location-copy .facts,.location-copy .secondary{grid-template-columns:1fr!important}
 .location-card .map-box{height:360px!important;min-height:360px!important}
 .location-card .map-times{left:12px!important;bottom:12px!important;width:215px!important}
 .location-card .map-top-card{left:12px!important;top:12px!important}
 .location-card .map-home-label{right:12px!important;bottom:74px!important}
}


/* === V4 transport strip — podľa grafického návrhu === */
.transport{background:#fffdf8!important;border-bottom:1px solid #e6e1d8!important}
.transport-in{
  height:100px!important;
  min-height:100px!important;
  display:grid!important;
  grid-template-columns:repeat(4,1fr) 185px!important;
  align-items:center!important;
}
.transport-in .transport-item{
  height:52px!important;
  display:flex!important;
  align-items:center!important;
  gap:15px!important;
  padding:0 26px!important;
  border-right:1px solid #ddd9cf!important;
  font-size:initial!important;
}
.transport-in .transport-item:first-child{padding-left:20px!important}
.transport-item svg{
  width:39px!important;
  height:39px!important;
  flex:0 0 39px!important;
  fill:none!important;
  stroke:#0d4438!important;
  stroke-width:2.4!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.transport-item span{display:block!important}
.transport-item span b{
  display:block!important;
  color:#173d35!important;
  font:400 16px/1.05 var(--krp-font)!important;
}
.transport-item span small{
  display:block!important;
  margin-top:5px!important;
  color:#66736e!important;
  font:11px/1.15 var(--krp-font)!important;
  white-space:nowrap!important;
}
.transport-in em{
  display:block!important;
  padding-left:8px!important;
  text-align:center!important;
  color:#a9aaa5!important;
  font:22px/1.05 var(--krp-font)!important;
  transform:rotate(-6deg)!important;
}
@media(max-width:991.98px){
 .transport-in{height:auto!important;grid-template-columns:repeat(4,1fr)!important;padding:12px 0!important}
 .transport-in em{display:none!important}
 .transport-in .transport-item{padding:7px 12px!important}
}
@media(max-width:767.98px){
 .transport-in{grid-template-columns:1fr 1fr!important;padding:0!important}
 .transport-in .transport-item{height:74px!important;padding:10px!important;border-bottom:1px solid #e6e1d8!important}
 .transport-item svg{width:32px!important;height:32px!important;flex-basis:32px!important}
 .transport-item span b{font-size:14px!important}
 .transport-item span small{font-size:9px!important;white-space:normal!important}
}


/* === V8 MAP ONLY — bez API kľúča === */
#routeMap .leaflet-control-zoom{
  margin:14px 0 0 14px!important;
  border:0!important;
  border-radius:7px!important;
  overflow:hidden!important;
  box-shadow:0 4px 14px rgba(16,53,43,.18)!important;
}
#routeMap .leaflet-control-zoom a{
  width:34px!important;
  height:34px!important;
  line-height:33px!important;
  border:0!important;
  border-bottom:1px solid #e1e3dd!important;
  background:rgba(255,255,250,.97)!important;
  color:#123f35!important;
  font-size:20px!important;
}
#routeMap .leaflet-control-zoom a:last-child{border-bottom:0!important}
#routeMap .leaflet-control-attribution{
  background:rgba(255,255,255,.76)!important;
  color:#66736e!important;
  font-size:8px!important;
}
.kh-free-marker{
  position:relative;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:4px solid #fff;
  border-radius:50% 50% 50% 0;
  background:#123f35;
  box-shadow:0 4px 12px rgba(0,0,0,.28);
  transform:rotate(-45deg);
}
.kh-free-marker span{
  color:#fff;
  font-size:18px;
  line-height:1;
  transform:rotate(45deg);
}
#routeMap .leaflet-popup-content-wrapper{
  border-radius:7px!important;
  color:#173d35!important;
  box-shadow:0 5px 18px rgba(18,55,45,.18)!important;
}


/* === V9 PERFECT PIXEL — ľavá karta KDE NÁS NÁJDETE === */
.location-copy{
  padding:27px 30px 29px 30px!important;
  background:#fffdf9!important;
}
.location-copy .eyebrow{
  margin:0!important;
  color:#173f37!important;
  font:700 11px/1 var(--krp-font)!important;
  letter-spacing:.24em!important;
}
.location-copy h2{
  margin:18px 0 5px!important;
  color:#0c3931!important;
  font:400 37px/1.03 var(--krp-font)!important;
  letter-spacing:-1.35px!important;
}
.location-copy .subtitle{
  margin:0!important;
  color:#29483f!important;
  font:17px/1.25 var(--krp-font)!important;
}
.location-copy .facts{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:28px!important;
  margin:34px 0 25px!important;
}
.location-copy .fact{
  display:grid!important;
  grid-template-columns:38px 1fr!important;
  gap:12px!important;
  align-items:start!important;
}
.location-copy .fact-pin{
  width:36px!important;
  height:42px!important;
  margin:0!important;
  display:block!important;
  overflow:hidden!important;
  color:transparent!important;
  font-size:0!important;
  position:relative!important;
}
.location-copy .fact-pin:before{
  content:""!important;
  position:absolute!important;
  left:5px!important;
  top:1px!important;
  width:23px!important;
  height:30px!important;
  border:3px solid #0d4439!important;
  border-radius:50% 50% 50% 0!important;
  transform:rotate(-45deg)!important;
  box-sizing:border-box!important;
}
.location-copy .fact-pin:after{
  content:""!important;
  position:absolute!important;
  left:13px!important;
  top:9px!important;
  width:7px!important;
  height:7px!important;
  border:3px solid #0d4439!important;
  border-radius:50%!important;
  box-sizing:border-box!important;
}
.location-copy .fact b{
  display:block!important;
  margin:2px 0 0!important;
  color:#173f37!important;
  font:700 12px/1.15 var(--krp-font)!important;
}
.location-copy .fact small{
  display:block!important;
  margin-top:5px!important;
  color:#40564f!important;
  font:12px/1.35 var(--krp-font)!important;
}
.location-copy .fact button{
  display:inline-flex!important;
  align-items:center!important;
  width:auto!important;
  margin-top:8px!important;
  padding:6px 10px!important;
  border:1px solid #69857c!important;
  border-radius:6px!important;
  background:#fff!important;
  color:#173f37!important;
  font:10px/1 var(--krp-font)!important;
}
.location-copy .primary{
  height:57px!important;
  padding:0 19px!important;
  border-radius:6px!important;
  background:#074838!important;
  box-shadow:none!important;
  color:#fff!important;
  font:14px/1 var(--krp-font)!important;
}
.location-copy .primary-pin{
  width:20px!important;
  height:25px!important;
  position:relative!important;
  color:transparent!important;
  font-size:0!important;
}
.location-copy .primary-pin:before{
  content:""!important;
  position:absolute!important;
  left:3px!important;
  top:1px!important;
  width:15px!important;
  height:20px!important;
  border:3px solid #fff!important;
  border-radius:50% 50% 50% 0!important;
  transform:rotate(-45deg)!important;
  box-sizing:border-box!important;
}
.location-copy .primary-pin:after{
  content:""!important;
  position:absolute!important;
  left:8px!important;
  top:6px!important;
  width:5px!important;
  height:5px!important;
  background:#fff!important;
  border-radius:50%!important;
}
.location-copy .primary b{
  font:300 23px/1 var(--krp-font)!important;
}
.location-copy .secondary{
  grid-template-columns:1fr 1fr!important;
  gap:14px!important;
  margin-top:14px!important;
}
.location-copy .secondary a{
  height:55px!important;
  border-radius:6px!important;
  background:#f1efe9!important;
  color:#284940!important;
  font:11px/1 var(--krp-font)!important;
}
.location-card{
  border-radius:12px!important;
  background:#fffdf9!important;
}

@media(max-width:767.98px){
 .location-copy{padding:27px 22px 28px!important}
 .location-copy h2{font-size:34px!important}
 .location-copy .subtitle{font-size:16px!important}
 .location-copy .facts{grid-template-columns:1fr!important;gap:18px!important;margin:29px 0 24px!important}
}


/* === V10 EXACT — fotografia referencie 529 × 509 px === */
.location-card .exact-location{
  box-sizing:border-box!important;
  padding:27px 28px 29px 29px!important;
  background:#fffdf9!important;
  color:#123e36!important;
}
.exact-location .eyebrow{
  margin:0!important;
  padding:0!important;
  font-family:var(--krp-font);
  font-size:11px!important;
  line-height:13px!important;
  font-weight:700!important;
  letter-spacing:2.45px!important;
  color:#21473f!important;
}
.exact-location h2{
  margin:18px 0 7px!important;
  padding:0!important;
  font-family:var(--krp-font);
  font-size:37px!important;
  line-height:39px!important;
  font-weight:400!important;
  letter-spacing:-1.35px!important;
  color:#08382f!important;
}
.exact-location .subtitle{
  margin:0!important;
  padding:0!important;
  font-family:var(--krp-font);
  font-size:17px!important;
  line-height:21px!important;
  font-weight:400!important;
  letter-spacing:-.25px!important;
  color:#294b43!important;
}
.exact-location .facts{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  column-gap:27px!important;
  margin:36px 0 25px!important;
  padding:0!important;
}
.exact-location .fact{
  display:grid!important;
  grid-template-columns:39px minmax(0,1fr)!important;
  column-gap:12px!important;
  align-items:start!important;
  margin:0!important;
  padding:0!important;
}
.exact-location .pin-icon{
  width:31px!important;
  height:41px!important;
  margin:0!important;
  fill:none!important;
  stroke:#0b4439!important;
  stroke-width:2.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.exact-location .fact b{
  display:block!important;
  margin:3px 0 0!important;
  font-family:var(--krp-font);
  font-size:12px!important;
  line-height:14px!important;
  font-weight:700!important;
  color:#24473f!important;
}
.exact-location .fact small{
  display:block!important;
  margin:4px 0 0!important;
  font-family:var(--krp-font);
  font-size:11.5px!important;
  line-height:15px!important;
  font-weight:400!important;
  color:#455d56!important;
}
.exact-location .fact .gps-value{
  font-size:12px!important;
  line-height:14px!important;
  font-weight:700!important;
  letter-spacing:-.1px!important;
  color:#35534b!important;
}
.exact-location #copyGps{
  box-sizing:border-box!important;
  width:111px!important;
  height:32px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  margin:9px 0 0!important;
  padding:0!important;
  border:1.5px solid #6c8a82!important;
  border-radius:7px!important;
  background:#fff!important;
  box-shadow:none!important;
  color:#294c43!important;
  font-family:var(--krp-font);
  font-size:10.5px!important;
  line-height:1!important;
  font-weight:600!important;
}
.exact-location #copyGps svg{
  width:15px!important;height:15px!important;
  fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;
  stroke-linecap:round!important;stroke-linejoin:round!important
}
.exact-location .primary{
  box-sizing:border-box!important;
  width:100%!important;
  height:58px!important;
  display:grid!important;
  grid-template-columns:31px 1fr 29px!important;
  align-items:center!important;
  column-gap:10px!important;
  margin:0!important;
  padding:0 20px!important;
  border:0!important;
  border-radius:6px!important;
  background:#06483a!important;
  box-shadow:none!important;
  text-decoration:none!important;
  color:#fff!important;
  font-family:var(--krp-font);
  font-size:14px!important;
  line-height:1!important;
  font-weight:400!important;
}
.exact-location .primary>span{text-align:center!important}
.exact-location .button-pin{
  width:22px!important;height:29px!important;
  fill:#fff!important;stroke:#fff!important;stroke-width:2.6!important
}
.exact-location .button-pin circle{fill:#06483a!important}
.exact-location .arrow-icon{
  width:25px!important;height:18px!important;
  fill:none!important;stroke:#fff!important;stroke-width:1.5!important;
  stroke-linecap:round!important;stroke-linejoin:round!important
}
.exact-location .secondary{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:14px!important;
  margin:14px 0 0!important;
  padding:0!important;
}
.exact-location .secondary a{
  box-sizing:border-box!important;
  height:55px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:11px!important;
  margin:0!important;
  padding:0 10px!important;
  border:0!important;
  border-radius:6px!important;
  background:#f0eee8!important;
  color:#294b43!important;
  text-decoration:none!important;
  font-family:var(--krp-font);
  font-size:11px!important;
  line-height:1!important;
  font-weight:400!important;
}
.exact-location .apple-icon{width:20px!important;height:24px!important;color:#06483a!important}
.exact-location .route-icon{
  width:24px!important;height:24px!important;
  fill:none!important;stroke:#0a493d!important;stroke-width:1.8!important;
  stroke-linecap:round!important;stroke-linejoin:round!important
}
@media(max-width:767.98px){
 .location-card .exact-location{padding:27px 22px 28px!important}
 .exact-location h2{font-size:34px!important;line-height:37px!important}
 .exact-location .facts{grid-template-columns:1fr!important;row-gap:19px!important;margin-top:30px!important}
}


/* V11 — iba presun zoomu doprava, nič iné */
#routeMap .leaflet-top.leaflet-right .leaflet-control-zoom{
  margin-top:14px!important;
  margin-right:14px!important;
  margin-left:0!important;
}


/* V12 — tlačidlo Skopírovať GPS */
.exact-location #copyGps{
  width:auto!important;
  min-width:124px!important;
  height:30px!important;
  padding:0 11px!important;
  gap:6px!important;
  border:1px solid rgba(13,68,57,.28)!important;
  border-radius:15px!important;
  background:#f3f2ec!important;
  color:#17483d!important;
  box-shadow:none!important;
  font-size:10px!important;
  font-weight:600!important;
  letter-spacing:.01em!important;
  transition:background .16s ease,border-color .16s ease!important;
}
.exact-location #copyGps:hover{
  background:#e9eee9!important;
  border-color:rgba(13,68,57,.45)!important;
}
.exact-location #copyGps svg{
  width:14px!important;
  height:14px!important;
  stroke-width:1.7!important;
}
.exact-location #copyGps.copied{
  background:#e8efe9!important;
  border-color:rgba(13,68,57,.24)!important;
}

/* V16 — copy GPS presunuté na miesto pôvodného tlačidla Zobraziť trasu */
.exact-location .secondary .secondary-copy-gps{
  box-sizing:border-box!important;height:55px!important;display:flex!important;
  align-items:center!important;justify-content:center!important;gap:11px!important;
  margin:0!important;padding:0 10px!important;border:0!important;border-radius:6px!important;
  background:#f0eee8!important;color:#294b43!important;
  font-family:var(--krp-font);font-size:11px!important;
  line-height:1!important;font-weight:400!important;cursor:pointer!important;
}
.exact-location .secondary .copy-gps-icon{
  width:21px!important;height:21px!important;fill:none!important;stroke:#0a493d!important;
  stroke-width:1.7!important;stroke-linecap:round!important;stroke-linejoin:round!important;
}


/* V17 — Skopírovať GPS má identický vizuál ako Otvoriť v Apple Maps */
.exact-location .secondary .secondary-copy-gps{
  box-sizing:border-box!important;
  width:100%!important;
  height:55px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:11px!important;
  margin:0!important;
  padding:0 10px!important;
  border:0!important;
  border-radius:6px!important;
  background:#f0eee8!important;
  color:#294b43!important;
  box-shadow:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  font-family:var(--krp-font);
  font-size:11px!important;
  line-height:1!important;
  font-weight:400!important;
  letter-spacing:normal!important;
  cursor:pointer!important;
}
.exact-location .secondary .secondary-copy-gps:hover{
  background:#f0eee8!important;
  color:#294b43!important;
}
.exact-location .secondary .copy-gps-icon{
  width:20px!important;
  height:24px!important;
  flex:0 0 20px!important;
  fill:none!important;
  stroke:#06483a!important;
  stroke-width:1.7!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}


/* V18 — obe spodné tlačidlá sú rozmerovo aj vizuálne identické */
.exact-location .secondary{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:14px!important;
  align-items:stretch!important;
}
.exact-location .secondary > a,
.exact-location .secondary > button{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  height:55px!important;
  min-height:55px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:11px!important;
  margin:0!important;
  padding:0 10px!important;
  border:0!important;
  border-radius:6px!important;
  background:#f0eee8!important;
  color:#294b43!important;
  box-shadow:none!important;
  outline:0!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  text-decoration:none!important;
  font-family:var(--krp-font);
  font-size:11px!important;
  line-height:1!important;
  font-weight:400!important;
  letter-spacing:normal!important;
}
.exact-location .secondary > button{cursor:pointer!important}
.exact-location .secondary > a:hover,
.exact-location .secondary > button:hover{
  background:#f0eee8!important;
  color:#294b43!important;
}
.exact-location .secondary .copy-gps-icon{
  width:20px!important;
  height:24px!important;
  flex:0 0 20px!important;
  stroke:#06483a!important;
}


/* V19 — obe tlačidlá majú jeden spoločný komponent: 100 % identický box */
.exact-location .exact-actions{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:14px!important;
  margin:14px 0 0!important;
  padding:0!important;
  align-items:stretch!important;
}
.exact-location .exact-actions .exact-action-btn{
  all:unset!important;
  box-sizing:border-box!important;
  width:100%!important;
  height:55px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:11px!important;
  padding:0 12px!important;
  border:0!important;
  border-radius:6px!important;
  background:#f0eee8!important;
  color:#294b43!important;
  box-shadow:none!important;
  font-family:var(--krp-font);
  font-size:11px!important;
  line-height:1!important;
  font-weight:400!important;
  letter-spacing:0!important;
  text-decoration:none!important;
  cursor:pointer!important;
}
.exact-location .exact-actions .exact-action-btn:hover,
.exact-location .exact-actions .exact-action-btn:focus{
  background:#f0eee8!important;
  color:#294b43!important;
}
.exact-location .exact-actions .exact-action-btn svg{
  width:22px!important;
  height:24px!important;
  flex:0 0 22px!important;
  color:#06483a!important;
}
.exact-location .exact-actions .copy-icon{
  fill:none!important;
  stroke:#06483a!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.exact-location .exact-actions .apple-icon{
  fill:#06483a!important;
  stroke:none!important;
}


/* V20 — presne podľa schváleného vizuálneho návrhu tlačidiel */
.exact-location .exact-actions{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  margin:14px 0 0!important;
  padding:0!important;
}
.exact-location .exact-actions .exact-action-btn{
  all:unset!important;
  box-sizing:border-box!important;
  width:100%!important;
  height:55px!important;
  min-height:55px!important;
  display:grid!important;
  grid-template-columns:30px auto!important;
  justify-content:center!important;
  align-items:center!important;
  column-gap:13px!important;
  margin:0!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:7px!important;
  background:#f0eee8!important;
  color:#075043!important;
  box-shadow:none!important;
  outline:none!important;
  font-family:var(--krp-font);
  font-size:12px!important;
  line-height:1!important;
  font-weight:400!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  text-decoration:none!important;
  cursor:pointer!important;
}
.exact-location .exact-actions .exact-action-btn span{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:#075043!important;
  font:400 12px/1 var(--krp-font)!important;
}
.exact-location .exact-actions .exact-action-btn svg{
  display:block!important;
  margin:0 auto!important;
  color:#075043!important;
}
.exact-location .exact-actions .apple-icon{
  width:27px!important;
  height:31px!important;
  fill:#075043!important;
  stroke:none!important;
}
.exact-location .exact-actions .copy-icon{
  width:27px!important;
  height:27px!important;
  fill:none!important;
  stroke:#075043!important;
  stroke-width:2.1!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.exact-location .exact-actions .exact-action-btn:hover,
.exact-location .exact-actions .exact-action-btn:focus,
.exact-location .exact-actions .exact-action-btn:active{
  border:0!important;
  background:#f0eee8!important;
  color:#075043!important;
  box-shadow:none!important;
  outline:none!important;
}


/* === V21 — spodná sekcia podľa návrhu === */
.notices{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:18px!important;
  margin:22px 4px 0!important;
}
.notices article{
  position:relative!important;
  min-height:166px!important;
  overflow:hidden!important;
  padding:0!important;
  border-radius:9px!important;
  background-position:center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  box-shadow:0 5px 18px rgba(28,50,42,.035)!important;
}
.notices article:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
}
.notices .winter{
  background-image:url('/assets/images/doprava/winter-bg.webp')!important;
}
.notices .winter:after{
  background:linear-gradient(90deg,rgba(241,248,251,.96) 0%,rgba(241,248,251,.88) 48%,rgba(241,248,251,.12) 100%)!important;
}
.notices .important{
  background-image:url('/assets/images/doprava/info-bg.webp')!important;
}
.notices .important:after{
  background:linear-gradient(90deg,rgba(251,249,243,.97) 0%,rgba(251,249,243,.91) 58%,rgba(251,249,243,.20) 100%)!important;
}
.notices .notice-content{
  position:relative!important;
  z-index:2!important;
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr)!important;
  gap:17px!important;
  align-items:start!important;
  padding:22px 24px!important;
}
.notices .notice-icon{
  width:42px!important;
  height:42px!important;
  fill:none!important;
  stroke:#0b493d!important;
  stroke-width:2.2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.notices h3{
  margin:1px 0 11px!important;
  color:#173f37!important;
  font:700 17px/1.15 var(--krp-font)!important;
}
.notices p,
.notices ul{
  max-width:430px!important;
  margin:0!important;
  color:#455b54!important;
  font:12px/1.55 var(--krp-font)!important;
}
.notices ul{
  list-style:none!important;
  padding:0!important;
}
.notices li{
  position:relative!important;
  padding-left:19px!important;
  margin:2px 0!important;
}
.notices li:before{
  content:"✓"!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  margin:0!important;
  color:#0b493d!important;
  font-weight:800!important;
}

/* Panoramatický obrázok pod informačnými kartami */
.bottom{
  position:relative!important;
  height:176px!important;
  margin-top:18px!important;
  overflow:hidden!important;
  background-image:url('/assets/images/doprava/footer.webp')!important;
  background-position:center 53%!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  color:#fff!important;
}
.bottom-shade{
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(90deg,rgba(4,24,18,.55),rgba(4,24,18,.10) 52%,rgba(4,24,18,.34))!important;
}
.bottom-in{
  position:relative!important;
  z-index:2!important;
  height:176px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
}
.bottom blockquote{
  margin:0 0 0 55px!important;
  color:#fff!important;
  text-shadow:0 2px 10px rgba(0,0,0,.28)!important;
  font:italic 20px/1.35 var(--krp-font)!important;
}
.bottom-in>div{
  margin-right:48px!important;
  color:#fff!important;
  text-align:center!important;
  text-shadow:0 2px 10px rgba(0,0,0,.28)!important;
}
.bottom-in span{
  font:15px var(--krp-font)!important;
}

@media(max-width:767.98px){
  .notices{grid-template-columns:1fr!important;gap:14px!important}
  .notices article{min-height:190px!important}
  .notices .notice-content{grid-template-columns:38px minmax(0,1fr)!important;padding:21px 18px!important}
  .notices .notice-icon{width:35px!important;height:35px!important}
  .bottom{height:185px!important}
  .bottom-in{height:185px!important;justify-content:center!important}
  .bottom blockquote{margin:0!important;text-align:center!important}
  .bottom-in>div{display:none!important}
}


/* V22 — elegantnejšie transportné ikonky */
.transport-item .transport-svg{
  width:36px!important;
  height:36px!important;
  flex:0 0 36px!important;
  display:block!important;
  fill:none!important;
  stroke:#0a493d!important;
  stroke-width:1.75!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.transport-item .transport-svg circle{
  vector-effect:non-scaling-stroke!important;
}
.transport-item{
  align-items:center!important;
}


/* V23 — premium plné piktogramy, vizuálne odlišné od pôvodných line ikon */
.transport-item .premium-icon{
  width:42px!important;
  height:42px!important;
  flex:0 0 42px!important;
  overflow:visible!important;
  stroke:none!important;
}
.transport-item .premium-icon .solid{fill:#084b3e!important;stroke:none!important}
.transport-item .premium-icon .cut{fill:#f7f5ef!important;stroke:none!important}
.transport-item .premium-icon .detail{
  fill:none!important;stroke:#f7f5ef!important;stroke-width:1.7!important;
  stroke-linecap:round!important
}
.transport-item .premium-icon .ring,
.transport-item .premium-icon .line{
  fill:none!important;stroke:#084b3e!important;stroke-width:3!important;
  stroke-linecap:round!important;stroke-linejoin:round!important
}
.transport-item .premium-icon .bold{stroke-width:4.2!important}
.transport-item .premium-icon.bike,
.transport-item .premium-icon.walker{width:44px!important;height:44px!important;flex-basis:44px!important}


/* V24 — úplne nová transportná ikonografia */
.transport-v24 .transport-item{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
}
.transport-v24 .transport-icon-badge{
  width:46px!important;
  height:46px!important;
  flex:0 0 46px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:#eef1e9!important;
}
.transport-v24 .v24-icon{
  width:34px!important;
  height:34px!important;
  display:block!important;
  fill:#084b3e!important;
  stroke:#084b3e!important;
  stroke-width:2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.transport-v24 .v24-icon .negative{
  fill:#eef1e9!important;
  stroke:none!important;
}
.transport-v24 .v24-icon .negative-line{
  fill:none!important;
  stroke:#eef1e9!important;
  stroke-width:2!important;
}
.transport-v24 .v24-icon .outline{
  fill:none!important;
  stroke:#084b3e!important;
  stroke-width:3.2!important;
}
.transport-v24 .v24-icon .heavy{
  stroke-width:5!important;
}
.transport-v24 .bicycle,
.transport-v24 .walk{
  width:35px!important;
  height:35px!important;
}


/* === V25 — responzívna transportná sekcia === */

/* Desktop: čistý jeden riadok bez vzhľadu tabuľky */
.transport .transport-in.transport-v24{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr)) minmax(125px,.72fr)!important;
  gap:0!important;
  align-items:center!important;
  padding:18px 0!important;
}
.transport-v24 .transport-item{
  min-width:0!important;
  padding:5px 22px!important;
  border-right:1px solid rgba(8,75,62,.10)!important;
}
.transport-v24 .transport-item:first-child{
  padding-left:0!important;
}
.transport-v24 .transport-item span{
  min-width:0!important;
}
.transport-v24 .transport-item b{
  display:block!important;
  margin:0 0 4px!important;
  white-space:nowrap!important;
}
.transport-v24 .transport-item small{
  display:block!important;
  white-space:nowrap!important;
}
.transport-v24 > em{
  display:block!important;
  margin:0!important;
  padding:0 8px 0 25px!important;
  text-align:center!important;
  white-space:nowrap!important;
}

/* Tablet: 2 × 2 karty + slogan cez celú šírku */
@media (max-width:1050px){
  .transport .transport-in.transport-v24{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    padding:16px 20px 14px!important;
  }
  .transport-v24 .transport-item{
    min-height:76px!important;
    padding:14px 17px!important;
    border:0!important;
    border-radius:10px!important;
    background:#f7f5ef!important;
  }
  .transport-v24 .transport-item:first-child{
    padding-left:17px!important;
  }
  .transport-v24 > em{
    grid-column:1/-1!important;
    padding:4px 0 0!important;
    text-align:center!important;
    white-space:normal!important;
  }
  .transport-v24 > em br{
    display:none!important;
  }
}

/* Mobil: žiadna nedokončená tabuľka — kompaktný vertikálny zoznam */
@media (max-width:620px){
  .transport{
    padding:0!important;
  }
  .transport .transport-in.transport-v24{
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
    padding:8px 18px 14px!important;
  }
  .transport-v24 .transport-item{
    width:100%!important;
    min-height:68px!important;
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr)!important;
    gap:13px!important;
    align-items:center!important;
    padding:11px 3px!important;
    border:0!important;
    border-bottom:1px solid rgba(8,75,62,.10)!important;
    border-radius:0!important;
    background:transparent!important;
  }
  .transport-v24 .transport-item:first-child{
    padding-left:3px!important;
  }
  .transport-v24 .transport-item:nth-child(4){
    border-bottom:0!important;
  }
  .transport-v24 .transport-icon-badge{
    width:42px!important;
    height:42px!important;
    flex-basis:42px!important;
  }
  .transport-v24 .v24-icon{
    width:31px!important;
    height:31px!important;
  }
  .transport-v24 .transport-item b{
    margin-bottom:3px!important;
    font-size:13px!important;
    line-height:1.15!important;
  }
  .transport-v24 .transport-item small{
    font-size:10px!important;
    line-height:1.3!important;
    white-space:normal!important;
  }
  .transport-v24 > em{
    width:100%!important;
    margin-top:5px!important;
    padding:13px 0 0!important;
    border-top:1px solid rgba(8,75,62,.08)!important;
    text-align:center!important;
    white-space:normal!important;
  }
  .transport-v24 > em br{
    display:none!important;
  }
}

/* === V26: HERO TYPOGRAFIA ZJEDNOTENÁ S OSTATNÝMI HEADRAMI WEBU === */
.route-hero .eyebrow,
.route-hero h1,
.route-hero p{
  font-family:var(--krp-font);
}
.route-hero h1{
  font-weight:700!important;
  letter-spacing:-1.4px!important;
}


/* V – zväčšenie fotografií krokov 1–4 po kliknutí */
.route-step-zoom{cursor:zoom-in}
.route-photo-lightbox{
  position:fixed;
  inset:0;
  z-index:5000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:28px;
  background:rgba(7,18,14,.92);
}
.route-photo-lightbox.open{display:flex}
.route-photo-lightbox img{
  display:block;
  max-width:min(1200px,92vw);
  max-height:88vh;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:10px;
  box-shadow:0 18px 60px rgba(0,0,0,.35);
}
.route-photo-lightbox-close{
  position:absolute;
  top:20px;
  right:24px;
  width:46px;
  height:46px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.14);
  color:#fff;
  font-size:30px;
  line-height:1;
  cursor:pointer;
}
@media(max-width:600px){
  .route-photo-lightbox{padding:14px}
  .route-photo-lightbox img{max-width:96vw;max-height:84vh}
  .route-photo-lightbox-close{top:12px;right:12px}
}

/* Responsive HERO – tablet + mobil */
@media (max-width: 991.98px){
  .route-hero{height:330px!important;min-height:330px!important;background-position:center center!important}
  .hero-in{height:100%!important;padding:64px 28px 0!important;align-items:center!important}
  .hero-in h1{font-size:46px!important;line-height:1.02!important;letter-spacing:normal!important}
  .hero-note{display:none!important}
}
@media (max-width: 767.98px){
  .route-hero{height:300px!important;min-height:300px!important;background-position:center center!important}
  .hero-in{padding:68px 18px 0!important;justify-content:center!important}
  .hero-in h1{font-size:clamp(34px,9vw,42px)!important;line-height:1.03!important;margin:12px 0 10px!important}
  .hero-in p{font-size:14px!important;line-height:1.45!important;max-width:560px!important}
  .route-hero .eyebrow{font-size:11px!important;letter-spacing:2.2px!important}
}

/* V3 – Kontakt/Doprava: kompaktnejší responzívny hero */
@media (max-width:991.98px){
  .route-hero{height:310px!important;min-height:310px!important}
  .hero-in{padding-top:60px!important}
}
@media (max-width:767.98px){
  .route-hero{height:280px!important;min-height:280px!important}
  .hero-in{padding-top:64px!important}
}

/* === V4: KONTAKT / DOPRAVA – ZNÍŽENÁ VÝŠKA HEADERA DESKTOP + RESPONZÍVA === */
.route-hero{height:330px!important;min-height:330px!important}
@media (max-width:991.98px){
  .route-hero{height:310px!important;min-height:310px!important}
  .hero-in{padding-top:60px!important}
}
@media (max-width:767.98px){
  .route-hero{height:280px!important;min-height:280px!important}
  .hero-in{padding-top:64px!important}
}


/* === V5: KONTAKT/DOPRAVA – HERO ZJEDNOTENÝ 1:1 S HEADEROM OKOLIE === */
.route-page .route-hero.subpage-hero-unified{
  height:360px!important;
  min-height:360px!important;
  position:relative!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
  overflow:hidden!important;
  color:#fff!important;
  background-image:url('/assets/header-universal.webp')!important;
  background-position:center center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}
.route-page .route-hero.subpage-hero-unified:before,
.route-page .route-hero.subpage-hero-unified:after{background:none!important}
.route-page .route-hero-content.subpage-hero-unified-inner{
  box-sizing:border-box!important;
  position:relative!important;
  z-index:2!important;
  width:100%!important;
  max-width:1100px!important;
  height:100%!important;
  margin:0 auto!important;
  padding:60px 12px 0!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
}
.route-page .route-hero-main{min-width:0}
.route-page .route-hero-eyebrow{
  margin:0 0 17px!important;
  color:#fff!important;
  font-family:var(--krp-font);
  font-size:13px!important;
  font-weight:700!important;
  letter-spacing:3px!important;
  text-transform:uppercase!important;
}
.route-page .route-hero h1{
  margin:0 0 13px!important;
  font-family:var(--krp-font);
  font-size:58px!important;
  line-height:.99!important;
  font-weight:700!important;
  letter-spacing:normal!important;
}
.route-page .route-hero p{
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  font-family:var(--krp-font);
  font-size:15px!important;
  line-height:1.52!important;
  font-weight:400!important;
}
.route-page .route-hero-note{
  width:310px!important;
  flex:0 0 310px!important;
  margin:0 70px 0 40px!important;
  color:#fff!important;
  text-align:center!important;
  font-family:var(--krp-font);
  font-size:27px!important;
  line-height:1.15!important;
  transform:rotate(-7deg)!important;
  text-shadow:0 2px 8px #0005!important;
}
.route-page .route-hero-mountains{margin-top:8px!important;font-size:30px!important}
@media(max-width:991.98px){
  .route-page .route-hero.subpage-hero-unified{height:330px!important;min-height:330px!important;background-position:center center!important}
  .route-page .route-hero-content.subpage-hero-unified-inner{height:100%!important;padding:64px 28px 0!important;align-items:center!important}
  .route-page .route-hero h1{font-size:46px!important;line-height:1.02!important}
  .route-page .route-hero-note{display:none!important}
}
@media(max-width:767.98px){
  .route-page .route-hero.subpage-hero-unified{height:300px!important;min-height:300px!important}
  .route-page .route-hero-content.subpage-hero-unified-inner{padding:68px 18px 0!important;align-items:flex-start!important;justify-content:center!important}
  .route-page .route-hero h1{font-size:clamp(34px,9vw,42px)!important;line-height:1.03!important;margin-bottom:10px!important}
  .route-page .route-hero p{font-size:14px!important;line-height:1.45!important}
  .route-page .route-hero p br{display:none!important}
  .route-page .route-hero-eyebrow{font-size:11px!important;letter-spacing:2.2px!important;margin-bottom:12px!important}
}

/* === V6: KONTAKT – finálna korekcia hero pod overlay menu ===
   Iba Kontakt/Doprava. Rozmery a typografia ostávajú zjednotené s Okolie. */
.route-page .route-hero.subpage-hero-unified{
  height:360px!important;
  min-height:360px!important;
}
.route-page .route-hero-content.subpage-hero-unified-inner{
  padding-top:115px!important;
}
@media(max-width:991.98px) and (min-width:768px){
  .route-page .route-hero.subpage-hero-unified{
    height:330px!important;
    min-height:330px!important;
  }
  .route-page .route-hero-content.subpage-hero-unified-inner{
    padding-top:105px!important;
  }
}
@media(max-width:767.98px){
  .route-page .route-hero.subpage-hero-unified{
    height:300px!important;
    min-height:300px!important;
  }
  .route-page .route-hero-content.subpage-hero-unified-inner{
    padding:92px 18px 0!important;
    align-items:flex-start!important;
    justify-content:center!important;
  }
}

/* === V7: KONTAKT – stabilný hero bez kolízie s overlay menu ===
   Desktop zachováva 360 px ako Okolie, obsah však začína bezpečne pod menu.
   Tablet/mobil používajú rovnaké rozmery ako ostatné subpage headre. */
@media (min-width:992px){
  .route-page .route-hero.subpage-hero-unified{
    height:360px!important;
    min-height:360px!important;
  }
  .route-page .route-hero-content.subpage-hero-unified-inner{
    height:100%!important;
    padding:148px 12px 22px!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
  }
  .route-page .route-hero-main{min-width:0!important;}
  .route-page .route-hero-eyebrow{margin:0 0 12px!important;}
  .route-page .route-hero h1{
    margin:0 0 10px!important;
    font-size:48px!important;
    line-height:1!important;
  }
  .route-page .route-hero p{font-size:14px!important;line-height:1.42!important;}
  .route-page .route-hero-note{margin-top:34px!important;}
}
@media (max-width:991.98px) and (min-width:768px){
  .route-page .route-hero.subpage-hero-unified{height:330px!important;min-height:330px!important;}
  .route-page .route-hero-content.subpage-hero-unified-inner{
    height:100%!important;
    padding:118px 28px 22px!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
  }
  .route-page .route-hero h1{font-size:42px!important;line-height:1.02!important;margin-bottom:10px!important;}
  .route-page .route-hero p{font-size:14px!important;line-height:1.4!important;}
  .route-page .route-hero-note{display:none!important;}
}
@media (max-width:767.98px){
  .route-page .route-hero.subpage-hero-unified{height:300px!important;min-height:300px!important;}
  .route-page .route-hero-content.subpage-hero-unified-inner{
    height:100%!important;
    padding:96px 18px 18px!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
  }
  .route-page .route-hero-eyebrow{margin-bottom:10px!important;}
  .route-page .route-hero h1{font-size:clamp(32px,8.5vw,39px)!important;line-height:1.02!important;margin-bottom:9px!important;}
  .route-page .route-hero p{font-size:13px!important;line-height:1.38!important;}
  .route-page .route-hero-note{display:none!important;}
}

/* === V8: KONTAKT – HERO presne zjednotený s OKOLIE ===
   Tento blok je posledný a prepisuje staršie pokusy o samostatné pozicovanie Kontaktu. */
.route-page .route-hero.subpage-hero-unified{
    height:400px!important;
    min-height:400px!important;
    position:relative!important;
    margin:0!important;
    padding:0!important;
    display:block!important;
    overflow:hidden!important;
    color:#fff!important;
    background-image:url('/assets/header-universal.webp')!important;
    background-position:center center!important;
    background-size:cover!important;
    background-repeat:no-repeat!important;
}
.route-page .route-hero.subpage-hero-unified:before,
.route-page .route-hero.subpage-hero-unified:after{background:none!important;}
.route-page .route-hero-content.subpage-hero-unified-inner{
    box-sizing:border-box!important;
    position:relative!important;
    z-index:2!important;
    width:100%!important;
    max-width:1100px!important;
    height:100%!important;
    margin:0 auto!important;
    padding:60px 12px 0!important;
    display:flex!important;
    flex-direction:row!important;
    justify-content:space-between!important;
    align-items:center!important;
}
.route-page .route-hero-main{min-width:0!important;}
.route-page .route-hero-eyebrow{
    margin:0 0 17px!important;
    color:#fff!important;
    font-size:13px!important;
    font-weight:700!important;
    letter-spacing:3px!important;
    text-transform:uppercase!important;
}
.route-page .route-hero h1{
    margin:0 0 13px!important;
    padding:0!important;
    color:#fff!important;
    font-family:var(--krp-font);
    font-size:58px!important;
    line-height:.99!important;
    font-weight:700!important;
    letter-spacing:normal!important;
}
.route-page .route-hero p{
    margin:0!important;
    padding:0!important;
    color:#fff!important;
    font-family:inherit!important;
    font-size:15px!important;
    line-height:normal!important;
    font-weight:400!important;
    letter-spacing:normal!important;
}
.route-page .route-hero-note{
    width:310px!important;
    flex:0 0 310px!important;
    margin:0 70px 0 40px!important;
    color:#fff!important;
    text-align:center!important;
    font-family:var(--krp-font);
    font-size:27px!important;
    line-height:1.15!important;
    transform:rotate(-7deg)!important;
    text-shadow:0 2px 8px #0005!important;
}
.route-page .route-hero-mountains{margin-top:8px!important;font-size:30px!important;}
@media(min-width:768px){
    .route-page .route-hero.subpage-hero-unified{height:360px!important;min-height:360px!important;}
}
@media(max-width:991.98px) and (min-width:768px){
    .route-page .route-hero-note{margin-right:0!important;}
}
@media(max-width:991.98px){
    .route-page .route-hero.subpage-hero-unified{height:330px!important;min-height:330px!important;background-position:center center!important;}
    .route-page .route-hero-content.subpage-hero-unified-inner{height:100%!important;padding:64px 28px 0!important;align-items:center!important;}
    .route-page .route-hero h1{font-size:46px!important;line-height:1.02!important;}
    .route-page .route-hero-note{display:none!important;}
}
@media(max-width:767.98px){
    .route-page .route-hero.subpage-hero-unified{height:300px!important;min-height:300px!important;}
    .route-page .route-hero-content.subpage-hero-unified-inner{padding:68px 18px 0!important;align-items:flex-start!important;justify-content:center!important;}
    .route-page .route-hero h1{font-size:clamp(34px,9vw,42px)!important;line-height:1.03!important;margin-bottom:10px!important;}
    .route-page .route-hero p{font-size:14px!important;line-height:1.45!important;}
    .route-page .route-hero p br{display:none!important;}
    .route-page .route-hero-eyebrow{font-size:11px!important;letter-spacing:2.2px!important;margin-bottom:12px!important;}
    .route-page .route-hero-note{display:none!important;}
}

/* =========================================================
   KONTAKT / DOPRAVA — HERO 1:1 PODĽA FINÁLNEHO OKOLIE HERO
   Iba header. Ostatné časti stránky zostávajú bez zmeny.
   ========================================================= */
.route-page .okolie-hero.subpage-hero-unified{
    box-sizing:border-box!important;
    width:100%!important;
    height:360px!important;
    min-height:360px!important;
    position:relative!important;
    margin:0!important;
    padding:0!important;
    display:block!important;
    overflow:hidden!important;
    color:#fff!important;
    background-image:url('/assets/header-universal.webp')!important;
    background-position:center center!important;
    background-size:cover!important;
    background-repeat:no-repeat!important;
}
.route-page .okolie-hero.subpage-hero-unified:before,
.route-page .okolie-hero.subpage-hero-unified:after{
    content:none!important;
    display:none!important;
    background:none!important;
}
.route-page .okolie-hero-content.subpage-hero-unified-inner{
    box-sizing:border-box!important;
    position:relative!important;
    z-index:2!important;
    width:100%!important;
    max-width:1100px!important;
    height:100%!important;
    margin:0 auto!important;
    padding:60px 12px 0!important;
    display:flex!important;
    flex-direction:row!important;
    justify-content:space-between!important;
    align-items:center!important;
}
.route-page .okolie-hero-main{min-width:0!important;}
.route-page .okolie-hero-eyebrow{
    margin:0 0 17px!important;
    color:#fff!important;
    font-size:13px!important;
    font-weight:700!important;
    letter-spacing:3px!important;
    text-transform:uppercase!important;
}
.route-page .okolie-hero h1{
    margin:0 0 13px!important;
    padding:0!important;
    max-width:none!important;
    color:#fff!important;
    font-family:var(--krp-font);
    font-size:58px!important;
    line-height:.99!important;
    font-weight:700!important;
    font-style:normal!important;
    letter-spacing:normal!important;
    text-transform:none!important;
    text-shadow:none!important;
}
.route-page .okolie-hero p{
    margin:0!important;
    padding:0!important;
    max-width:none!important;
    color:#fff!important;
    font-family:inherit!important;
    font-size:15px!important;
    line-height:normal!important;
    font-weight:400!important;
    font-style:normal!important;
    letter-spacing:normal!important;
    text-transform:none!important;
    text-shadow:none!important;
}
.route-page .okolie-hero-note{
    width:310px!important;
    flex:0 0 310px!important;
    margin:0 70px 0 40px!important;
    color:#fff!important;
    text-align:center!important;
    font-family:var(--krp-font);
    font-size:27px!important;
    line-height:1.15!important;
    transform:rotate(-7deg)!important;
    text-shadow:0 2px 8px #0005!important;
}
.route-page .okolie-hero-mountains{
    margin-top:8px!important;
    font-size:30px!important;
}
@media (max-width:991.98px){
    .route-page .okolie-hero.subpage-hero-unified{
        height:330px!important;
        min-height:330px!important;
        background-position:center center!important;
    }
    .route-page .okolie-hero-content.subpage-hero-unified-inner{
        height:100%!important;
        padding:64px 28px 0!important;
        align-items:center!important;
    }
    .route-page .okolie-hero h1{
        font-size:46px!important;
        line-height:1.02!important;
    }
    .route-page .okolie-hero-note{display:none!important;}
}
@media (max-width:767.98px){
    .route-page .okolie-hero.subpage-hero-unified{
        height:300px!important;
        min-height:300px!important;
    }
    .route-page .okolie-hero-content.subpage-hero-unified-inner{
        padding:68px 18px 0!important;
        align-items:flex-start!important;
        justify-content:center!important;
        flex-direction:column!important;
    }
    .route-page .okolie-hero h1{
        font-size:clamp(34px,9vw,42px)!important;
        line-height:1.03!important;
        margin-bottom:10px!important;
    }
    .route-page .okolie-hero p{
        font-size:14px!important;
        line-height:1.45!important;
    }
    .route-page .okolie-hero-eyebrow{
        font-size:11px!important;
        letter-spacing:2.2px!important;
        margin-bottom:12px!important;
    }
    .route-page .okolie-hero-note{display:none!important;}
}

/* Phase 8 – presunuté z inline štýlov stránky */
.map-times .map-car-icon{width:18px;height:15px;display:block;flex:0 0 18px;overflow:visible}
.map-times .map-car-icon .car-body{fill:#0b493d;stroke:#0b493d;stroke-width:1.1;stroke-linejoin:round}
.map-times .map-car-icon .car-window,.map-times .map-car-icon .car-light{fill:#f4f3ec;stroke:none}
.map-times .map-car-icon .car-grille,.map-times .map-car-icon .car-wheel{fill:none;stroke:#f4f3ec;stroke-width:1.3;stroke-linecap:round}
.copy-icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
