
/* v51k RESCUE
   Oprava rozpadlého layoutu po odstranění potřebných CSS vrstev.
   Zachovává původní layout, pouze dorovnává logo, telefon, zelené bloky a čitelnost.
*/

:root{
  --zp-ink:#1d221c;
  --zp-text:#2f372f;
  --zp-muted:#667064;
  --zp-cream:#f7f0df;
  --zp-cream2:#fbf7ec;
  --zp-card:#fffdf6;
  --zp-sage:#e3ead8;
  --zp-sage2:#f1f5ea;
  --zp-gold:#d7b85a;
  --zp-gold2:#f1dc8e;
  --zp-line:rgba(45,50,40,.13);
}

html body{
  background:var(--zp-cream)!important;
  color:var(--zp-text)!important;
}
html body main{
  background:linear-gradient(180deg,#f7f0df 0%,#fbf7ec 48%,#f4edda 100%)!important;
}
html body h1,
html body h2,
html body h3,
html body h4{color:var(--zp-ink)!important}
html body p,
html body li{color:var(--zp-muted)!important}

/* Hlavička: logo menší než v51i, pruh bez zvětšení */
html body .site-header,
html body .site-header--overlay,
html body .site-header.is-scrolled,
html body.is-home .site-header,
html body.is-inner .site-header{
  background:rgba(255,253,246,.97)!important;
  background-image:linear-gradient(180deg,#fffdf7,#f3ead5)!important;
  color:var(--zp-ink)!important;
  border-bottom:1px solid rgba(45,50,40,.13)!important;
  box-shadow:0 12px 30px rgba(31,34,25,.10)!important;
}
html body .nav-wrap,
html body .nav-wrap--portal{
  height:82px!important;
  min-height:82px!important;
  display:flex!important;
  align-items:center!important;
  overflow:visible!important;
}
html body .brand{
  height:82px!important;
  min-width:235px!important;
  display:flex!important;
  align-items:center!important;
  overflow:visible!important;
  flex-shrink:0!important;
}
html body .brand img{
  height:76px!important;
  max-height:76px!important;
  max-width:310px!important;
  width:auto!important;
  object-fit:contain!important;
  margin:0!important;
  filter:drop-shadow(0 7px 12px rgba(0,0,0,.08))!important;
}
html body .main-nav,
html body .main-nav--portal{
  min-height:82px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:3px!important;
  margin-left:auto!important;
}
html body .main-nav > a,
html body .nav-dropdown > a{
  color:var(--zp-ink)!important;
  height:40px!important;
  min-height:40px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  font-size:13.5px!important;
  line-height:1!important;
  font-weight:850!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-shadow:none!important;
  opacity:1!important;
  background:transparent!important;
  transition:transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease!important;
}
html body .main-nav > a:hover,
html body .nav-dropdown > a:hover,
html body .main-nav .is-active{
  background:var(--zp-sage)!important;
  color:#20271f!important;
  transform:translateY(-1px)!important;
  box-shadow:0 9px 20px rgba(40,45,35,.08)!important;
}
html body .nav-cta,
html body .site-header .nav-cta,
html body .main-nav > .nav-cta{
  height:44px!important;
  min-height:44px!important;
  padding:0 20px!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,var(--zp-gold2),var(--zp-gold))!important;
  color:#19160f!important;
  border:1px solid rgba(120,86,20,.16)!important;
  font-weight:950!important;
  box-shadow:0 12px 26px rgba(178,132,36,.25)!important;
}

/* Vrátit hlavní layout hero do rozumného středu a ne úzký sloupec */
html body .hero-grid,
html body .hero-grid--single{
  display:grid!important;
  justify-items:center!important;
}
html body .hero-copy{
  max-width:760px!important;
  width:min(760px, calc(100vw - 36px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
  background:rgba(255,253,246,.22)!important;
  border:1px solid rgba(255,255,255,.30)!important;
  box-shadow:0 28px 90px rgba(0,0,0,.28)!important;
  backdrop-filter:blur(18px) saturate(1.05)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.05)!important;
}
html body .hero h1,
html body .hero-copy h1{
  color:#fffaf0!important;
  text-shadow:0 4px 20px rgba(0,0,0,.72),0 1px 2px rgba(0,0,0,.90)!important;
}
html body .hero p,
html body .hero-copy p{
  color:#fff5dd!important;
  text-shadow:0 2px 12px rgba(0,0,0,.62)!important;
  font-weight:650!important;
}

/* Služby: nesmí se zlomit do hnusného jednoho sloupce na desktopu */
html body .cards--services-new,
html body .cards--services,
html body .services-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
}
html body .service-card-new,
html body .service-card{
  min-width:0!important;
  text-align:center!important;
  background:var(--zp-card)!important;
  border:1px solid var(--zp-line)!important;
  border-radius:26px!important;
  box-shadow:0 16px 42px rgba(35,38,30,.08)!important;
}
html body .service-card-new:hover,
html body .service-card:hover{
  transform:translateY(-4px)!important;
  box-shadow:0 26px 62px rgba(35,38,30,.15)!important;
  border-color:rgba(215,184,90,.55)!important;
}

/* Plovoucí telefon vpravo dole – výrazný */
html body .float-call{
  position:fixed!important;
  right:22px!important;
  bottom:82px!important;
  z-index:9999!important;
  width:66px!important;
  height:66px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(180deg,#fff0a8,#d7b85a)!important;
  color:#18150d!important;
  font-size:31px!important;
  line-height:1!important;
  border:2px solid rgba(255,255,255,.95)!important;
  box-shadow:0 20px 44px rgba(40,34,18,.28)!important;
  opacity:1!important;
  visibility:visible!important;
  text-decoration:none!important;
}
html body .float-call:hover{
  transform:translateY(-3px) scale(1.04)!important;
}

/* Pryč malé žluté nadpisy */
html body .eyebrow,
html body .section-kicker,
html body .kicker,
html body .overline{
  display:none!important;
}

/* Působnost / města – žádná hnusná tmavá zelená */
html body .location-section,
html body .region-section,
html body .service-area,
html body .coverage-section,
html body .locations-section,
html body .area-section,
html body section[class*="location"],
html body section[class*="region"],
html body section[class*="pusob"],
html body section[class*="area"]{
  background:linear-gradient(135deg,#fff8e6 0%,#f2ebd7 100%)!important;
  color:var(--zp-ink)!important;
}
html body .location-card,
html body .region-card,
html body .service-area-card,
html body .coverage-card,
html body [class*="location-card"],
html body [class*="region-card"],
html body [class*="area-card"]{
  background:linear-gradient(135deg,#fffdf6 0%,#f0e7cf 100%)!important;
  color:var(--zp-ink)!important;
  border:1px solid rgba(45,50,40,.13)!important;
  box-shadow:0 24px 65px rgba(35,38,30,.12)!important;
}
html body .location-card *,
html body .region-card *,
html body .service-area-card *,
html body .coverage-card *,
html body [class*="location-card"] *,
html body [class*="region-card"] *,
html body [class*="area-card"] *{
  color:var(--zp-ink)!important;
}
html body .locations span,
html body .locations--large span,
html body .city-pill,
html body .region-pill,
html body .location-card .locations span,
html body .location-card a{
  background:#fffdf6!important;
  color:#2f352d!important;
  border:1px solid rgba(215,184,90,.42)!important;
  box-shadow:0 9px 20px rgba(35,38,30,.08)!important;
}

/* Footer čitelně */
html body .site-footer,
html body footer{
  background:#1e241d!important;
  background-image:linear-gradient(180deg,#252b22,#171d17)!important;
  color:#fff6df!important;
}
html body .site-footer *,
html body footer *{
  color:#fff6df!important;
  opacity:1!important;
}
html body .site-footer p,
html body footer p,
html body .site-footer li,
html body footer li{
  color:rgba(255,246,223,.82)!important;
}
html body .site-footer a,
html body footer a{
  color:#fff6df!important;
}
html body .site-footer a:hover,
html body footer a:hover{
  color:#f1dc8e!important;
}
html body .site-footer .footer-logo,
html body footer .footer-logo{
  background:rgba(255,253,246,.96)!important;
  border-radius:16px!important;
  padding:9px!important;
  max-width:170px!important;
  height:auto!important;
}

/* Klikací prvky – hover */
html body a,
html body button,
html body .btn,
html body .card,
html body .service-card,
html body .service-card-new,
html body .ref-card{
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease,border-color .18s ease!important;
}
html body a:hover{
  color:#8c6d19!important;
}

/* honeypot web pryč z očí */
html body input[name="web"],
html body label:has(input[name="web"]),
html body .honeypot,
html body .hp-field{
  position:absolute!important;
  left:-9999px!important;
  top:auto!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
}

@media(max-width:1180px){
  html body .cards--services-new,
  html body .cards--services,
  html body .services-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:900px){
  html body .cards--services-new,
  html body .cards--services,
  html body .services-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  html body .brand img{
    height:58px!important;
    max-height:58px!important;
  }
}
@media(max-width:640px){
  html body .cards--services-new,
  html body .cards--services,
  html body .services-grid{
    grid-template-columns:1fr!important;
  }
  html body .float-call{
    width:58px!important;
    height:58px!important;
    font-size:27px!important;
    right:16px!important;
    bottom:74px!important;
  }
}
