
:root{
  --dark:#031111;
  --panel:#041819;
  --panel2:#071f20;
  --gold:#d89a2e;
  --gold2:#ffe078;
  --gold3:#a56513;
  --text:#fff8e8;
  --muted:#d8d1c0;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Segoe UI",Arial,sans-serif;
  color:var(--text);
  background:
    linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.18) 44%,rgba(0,0,0,.78)),
    linear-gradient(rgba(2,16,17,.15),rgba(2,16,17,.86)),
    url("../assets/marble-bg.png") center center/cover fixed;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 22% 12%,rgba(255,224,120,.08),transparent 22%),
    radial-gradient(circle at 75% 55%,rgba(216,154,46,.10),transparent 28%);
  z-index:-1;
}
.container{width:min(1440px,94%);margin:auto}
.header{
  position:sticky;top:0;z-index:30;
  background:rgba(3,17,17,.84);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(216,154,46,.28);
}
.nav{display:flex;align-items:center;justify-content:space-between;padding:18px 0}
.brand{display:flex;align-items:center;gap:18px;text-decoration:none;color:var(--text)}
.brand img{width:96px;height:96px;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(0,0,0,.85))}
.brand-title{
  color:var(--gold2);
  font-family:Georgia,serif;
  font-size:24px;
  text-shadow:0 2px 0 #482700,0 6px 10px rgba(0,0,0,.9),0 0 10px rgba(255,224,120,.45);
}
.brand-sub{letter-spacing:10px;font-size:13px;margin-top:8px;color:#f7e9bb}
.menu{display:flex;list-style:none;gap:32px;padding:0;margin:0;align-items:center}
.menu a{
  color:white;text-decoration:none;text-transform:uppercase;font-weight:650;font-size:14px;
  letter-spacing:.04em;position:relative;padding:10px 0;
}
.menu a:hover,.menu a.active{color:var(--gold2)}
.menu a.active::after,.menu a:hover::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold2));
}
.consult{
  border:1px solid var(--gold)!important;padding:14px 22px!important;color:var(--gold2)!important;
}
.consult::after{display:none}

h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400}
.gold{color:var(--gold2);text-shadow:0 2px 0 #482700,0 6px 12px rgba(0,0,0,.85)}
.section-line{height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;min-height:610px;border-bottom:1px solid rgba(216,154,46,.42);position:relative}
.hero-left{padding:72px 48px 58px 0;display:flex;align-items:center;position:relative;z-index:2}
.hero-copy{max-width:640px}
.hero-copy h1{font-size:48px;line-height:1.18;margin:0 0 28px;letter-spacing:.03em;text-transform:uppercase}
.hero-copy h1 span{display:block;color:var(--gold2)}
.underline{width:70px;height:2px;background:linear-gradient(90deg,var(--gold2),var(--gold3));margin:24px 0}
.lead{font-size:18px;line-height:1.78;color:#f4f0e6}
.hero-buttons,.btn-row{display:flex;gap:20px;flex-wrap:wrap;margin-top:34px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:18px;
  min-width:188px;
  padding:15px 28px;
  color:#fff;text-decoration:none;text-transform:uppercase;
  border:1px solid var(--gold);
  background:rgba(0,0,0,.12);
  letter-spacing:.04em;font-weight:800;font-size:14px;
  transition:.25s;
}
.btn.primary{
  color:#170e02;
  background:linear-gradient(90deg,#ffe68b,#c68119 60%,#ffe68b);
  box-shadow:0 5px 0 #4b2b05,0 18px 28px rgba(0,0,0,.35);
}
.btn:hover{transform:translateY(-2px);box-shadow:0 0 22px rgba(216,154,46,.36)}
.side-panel{
  border-left:1px solid rgba(216,154,46,.42);
  padding:48px 34px;
  background:linear-gradient(180deg,rgba(2,17,18,.35),rgba(2,17,18,.75));
}
.breadcrumb{color:var(--gold2);font-size:13px;margin-bottom:36px}
.side-panel h2{font-size:36px;text-transform:uppercase;margin:0}
.side-panel p{line-height:1.75;color:#f0eadb}
.tick-list{list-style:none;padding:0;margin:24px 0;line-height:2}
.tick-list li::before{content:"✓";color:var(--gold2);margin-right:12px}
.side-icon{display:flex;justify-content:flex-end;margin:25px 0}
.hex-big,.hex,.hex-small{background:url("../assets/hex-frame.svg") center/contain no-repeat;display:grid;place-items:center}
.hex-big{width:220px;height:220px}
.hex{width:122px;height:122px;margin:auto}
.hex-small{width:82px;height:82px}
.hex img{width:58px}.hex-big img{width:100px}.hex-small img{width:38px}

.title{text-align:center;font-size:34px;text-transform:uppercase;margin:0 0 12px;letter-spacing:.04em;text-shadow:0 5px 10px rgba(0,0,0,.9)}
.title-deco{width:160px;margin:0 auto 38px;display:flex;align-items:center;gap:10px}
.title-deco::before,.title-deco::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--gold))}
.title-deco::after{background:linear-gradient(90deg,var(--gold),transparent)}
.title-deco span{width:9px;height:9px;border:1px solid var(--gold);border-radius:50%}

.services-section,.form-section,.why-section,.footer{
  border-top:1px solid rgba(216,154,46,.42);
  background:rgba(0,9,10,.45);
}
.services-section{padding:34px 0 44px}
.services-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:22px}
.service-card{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  color:white;text-decoration:none;
  padding:12px 8px 8px;
  min-height:260px;
  transition:.25s;
}
.service-card:hover{transform:translateY(-7px)}
.service-card h3{font-family:"Segoe UI",Arial,sans-serif;text-transform:uppercase;font-size:15px;margin:18px 0 10px;font-weight:800}
.service-card p{font-size:13px;line-height:1.55;color:#e6dfcd;margin:0 0 16px}
.more{
  margin-top:auto;
  border:1px solid var(--gold);
  padding:9px 22px;
  color:var(--gold2);
  text-transform:uppercase;
  font-size:12px;
}
.form-section{padding:32px 0}
.form-grid{display:grid;grid-template-columns:1fr 1.6fr 1fr;gap:34px;align-items:start}
.contact p{line-height:1.9;color:#f0eadb}
.contact h2,.slider-title{font-size:26px;margin:0 0 14px}
.contact-line{display:flex;gap:12px;align-items:center;margin:14px 0}
.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form input,.form textarea{
  width:100%;padding:15px 17px;background:rgba(4,22,23,.74);
  border:1px solid rgba(216,154,46,.62);color:white;
  outline:none;font-size:14px;
}
.form textarea{grid-row:span 3;min-height:154px;resize:vertical}
.consent{grid-column:1/2;font-size:13px;color:#d9d0bc}
.slider-box{display:flex;flex-direction:column;justify-content:center}
.slider-title{color:var(--gold2);text-transform:uppercase;line-height:1.3;text-shadow:0 4px 8px rgba(0,0,0,.8)}
.slider-track{
  display:grid;grid-template-columns:1fr 60px;gap:12px;align-items:center;
  border:1px solid var(--gold);border-radius:999px;padding:9px 12px;margin:24px 0;
  background:rgba(0,0,0,.18);
}
.slider-track img{width:52px;filter:drop-shadow(0 4px 8px #000)}
input[type=range]{width:100%;accent-color:var(--gold)}
.why-section{padding:34px 0 48px}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;text-align:center}
.why-grid h3{font-family:"Segoe UI",Arial,sans-serif;color:var(--gold2);text-transform:uppercase;font-size:15px}
.why-grid p{line-height:1.7;color:#e6dfcd}

.footer{padding:34px 0}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.4fr;gap:34px}
.footer-logo{display:flex;align-items:center;gap:18px}.footer-logo img{width:90px}
.footer h3{font-family:"Segoe UI",Arial,sans-serif;color:var(--gold2);text-transform:uppercase;font-size:14px}
.footer p,.footer a{color:#e5ddca;text-decoration:none;line-height:1.75}
.legal{border-top:1px solid rgba(216,154,46,.28);margin-top:24px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#cfc6b2;font-size:13px}

.page-hero{padding:64px 0;border-bottom:1px solid rgba(216,154,46,.42)}
.page-grid{display:grid;grid-template-columns:1.35fr .75fr;gap:50px;align-items:center}
.panel{
  background:linear-gradient(180deg,rgba(4,22,23,.58),rgba(2,13,14,.72));
  border:1px solid rgba(216,154,46,.42);
  padding:42px;
  box-shadow:0 24px 50px rgba(0,0,0,.35);
}
.panel h1{text-transform:uppercase;font-size:48px;margin:0 0 24px}
.content{font-size:17px;line-height:1.85;color:#f0eadb}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:30px 0}
.mini-card{border:1px solid rgba(216,154,46,.35);padding:22px;background:rgba(0,0,0,.16)}
.mini-card h3{color:var(--gold2);font-family:"Segoe UI",Arial,sans-serif;text-transform:uppercase;font-size:15px}

@media(max-width:1160px){
  .hero-grid,.page-grid{grid-template-columns:1fr}
  .side-panel{border-left:0;border-top:1px solid rgba(216,154,46,.42)}
  .services-grid{grid-template-columns:repeat(3,1fr)}
  .form-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .brand img{width:72px;height:72px}.brand-title{font-size:18px}.brand-sub{letter-spacing:5px}
  .menu{display:none}
  .hero-left{padding:50px 0}.hero-copy h1{font-size:34px}
  .side-panel{padding:34px 0}
  .services-grid,.why-grid,.two-col{grid-template-columns:1fr}
  .form{grid-template-columns:1fr}.form textarea,.consent{grid-column:auto}
  .footer-grid{grid-template-columns:1fr}
}

/* Hero fotografie jako jemný obrys přímo na pozadí, bez rámečku */
.hero-photo{
  min-height:610px;
  position:relative;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  overflow:visible;
}
.hero-photo::before{
  content:"";
  position:absolute;
  inset:4% 0 0 0;
  background:url("../assets/lady-justice-front.png") center bottom/contain no-repeat;
  opacity:.78;
  filter:drop-shadow(0 0 8px rgba(216,154,46,.18));
}
.hero-photo::after{
  content:"";
  position:absolute;
  width:72%;
  height:82%;
  right:8%;
  bottom:0;
  background:radial-gradient(ellipse at center,rgba(216,154,46,.08),transparent 64%);
  pointer-events:none;
}
.side-panel{display:none}
@media(max-width:1160px){
  .hero-grid{grid-template-columns:1fr}
  .hero-photo{min-height:440px}
  .hero-photo::before{opacity:.62}
}
@media(max-width:760px){
  .hero-photo{min-height:300px}
}


.services-grid{
  grid-template-columns:repeat(5,1fr);
}

.reviews-marquee{
  overflow:hidden;
  width:100%;
  position:relative;
  padding:18px 0;
}

.reviews-track{
  display:flex;
  gap:26px;
  width:max-content;
  animation:reviewsMove 38s linear infinite;
}

.review-card{
  width:360px;
  padding:28px;
  border:1px solid rgba(216,154,46,.38);
  background:rgba(0,0,0,.26);
  color:#f7f0df;
  box-shadow:0 12px 24px rgba(0,0,0,.35);
}

.review-card p{
  line-height:1.8;
  font-style:italic;
}

.review-card strong{
  color:#ffe078;
}

@keyframes reviewsMove{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

@media(max-width:1160px){
  .services-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:760px){
  .services-grid{
    grid-template-columns:1fr;
  }

  .review-card{
    width:280px;
  }
}

.reviews-note{
  text-align:center;
  color:#e6dfcd;
  margin:-10px auto 22px;
  font-size:14px;
}
.review-source{
  display:inline-block;
  border:1px solid rgba(216,154,46,.65);
  color:#ffe078;
  padding:5px 10px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:12px;
  background:rgba(0,0,0,.18);
}
.review-card small{
  display:block;
  color:#cfc6b2;
  margin-top:6px;
}











/* =========================================
   RESPONSIVE OPTIMALIZACE
========================================= */

/* lepší škálování */
img{
  max-width:100%;
  height:auto;
}

/* širší desktop */
.container{
  width:min(1440px,94%);
}

/* menu tablet */
@media(max-width:1200px){

  .hero-grid{
    grid-template-columns:1fr;
    gap:30px;
  }

  .hero-left{
    padding:60px 0 20px;
  }

  .hero-photo{
    min-height:480px;
  }

  .services-grid{
    grid-template-columns:repeat(2,1fr) !important;
    gap:28px;
  }

  .form-grid{
    grid-template-columns:1fr;
  }

  .footer-grid{
    grid-template-columns:1fr 1fr;
    gap:30px;
  }

  .why-grid{
    grid-template-columns:1fr;
  }

  .page-grid{
    grid-template-columns:1fr;
  }
}

/* mobil */
@media(max-width:768px){

  body{
    overflow-x:hidden;
  }

  .nav{
    flex-direction:column;
    gap:20px;
    text-align:center;
  }

  .menu{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:18px;
  }

  .menu a{
    font-size:12px;
  }

  .brand{
    flex-direction:column;
    text-align:center;
  }

  .brand img{
    width:74px;
    height:74px;
  }

  .brand-title{
    font-size:18px;
    line-height:1.4;
  }

  .brand-sub{
    letter-spacing:4px;
    font-size:11px;
  }

  .hero-copy h1{
    font-size:30px;
    line-height:1.25;
  }

  .lead{
    font-size:16px;
    line-height:1.8;
  }

  .hero-buttons{
    flex-direction:column;
    width:100%;
  }

  .btn{
    width:100%;
  }

  .hero-photo{
    min-height:320px;
  }

  .services-grid{
    grid-template-columns:1fr !important;
    gap:22px;
  }

  .service-card{
    min-height:auto;
    padding-bottom:26px;
  }

  .reviews-track{
    gap:18px;
  }

  .review-card{
    width:82vw;
    min-width:82vw;
  }

  .form{
    grid-template-columns:1fr;
  }

  .form textarea{
    min-height:140px;
  }

  .footer-grid{
    grid-template-columns:1fr;
    text-align:center;
  }

  .footer-logo{
    justify-content:center;
  }

  .legal{
    flex-direction:column;
    text-align:center;
  }

  .page-hero{
    padding:40px 0;
  }

  .panel{
    padding:24px;
  }

  .panel h1{
    font-size:32px;
    line-height:1.3;
  }

  .content{
    font-size:16px;
    line-height:1.8;
  }

  .two-col{
    grid-template-columns:1fr;
  }

  .hex-big{
    width:170px;
    height:170px;
    margin:auto;
  }

}

/* malé mobily */
@media(max-width:480px){

  .container{
    width:92%;
  }

  .hero-copy h1{
    font-size:25px;
  }

  .title{
    font-size:26px;
    line-height:1.4;
  }

  .review-card{
    padding:22px;
  }

  .slider-track{
    grid-template-columns:1fr;
    text-align:center;
  }

  .slider-track img{
    margin:auto;
  }

  .contact-line{
    align-items:flex-start;
  }

}


/* Menší text ověření */
.slider-title{
  font-size:20px !important;
  transform:scale(0.8);
  transform-origin:left top;
  margin-bottom:-10px;
}

/* Posuvník ve stylu loga */
input[type=range]{
  -webkit-appearance:none;
  appearance:none;
  background:transparent;
  height:56px;
}

input[type=range]::-webkit-slider-runnable-track{
  height:10px;
  border-radius:999px;
  background:linear-gradient(90deg,#6f4308,#d89a2e,#ffe078,#d89a2e);
  border:1px solid rgba(216,154,46,.55);
}

input[type=range]::-moz-range-track{
  height:10px;
  border-radius:999px;
  background:linear-gradient(90deg,#6f4308,#d89a2e,#ffe078,#d89a2e);
  border:1px solid rgba(216,154,46,.55);
}

input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  width:54px;
  height:54px;
  border:0;
  background:url('../assets/logo.png') center/contain no-repeat;
  cursor:pointer;
  margin-top:-22px;
  filter:drop-shadow(0 5px 8px rgba(0,0,0,.6));
}

input[type=range]::-moz-range-thumb{
  width:54px;
  height:54px;
  border:0;
  background:url('../assets/logo.png') center/contain no-repeat;
  cursor:pointer;
  filter:drop-shadow(0 5px 8px rgba(0,0,0,.6));
}

.slider-track{
  grid-template-columns:1fr !important;
}

.slider-track img{
  display:none;
}


/* Úprava textu ověření */
.slider-title{
  white-space:nowrap !important;
  font-size:16px !important;
  transform:none !important;
  line-height:1.2;
  margin-bottom:10px;
}

/* Zmenšení posuvníku o 35 % */
.slider-track{
  transform:scale(0.65);
  transform-origin:left center;
  margin-top:-12px;
}

.slider-box{
  overflow:visible;
}


.review-card{
  width:460px !important;
}

.review-card p{
  font-size:15px;
}

@media(max-width:760px){
  .review-card{
    width:86vw !important;
    min-width:86vw !important;
  }
}


/* Finální sada poskytovaných právních služeb */
.services-grid{
  grid-template-columns:repeat(5,1fr) !important;
}
@media(max-width:1160px){
  .services-grid{grid-template-columns:repeat(2,1fr) !important;}
}
@media(max-width:760px){
  .services-grid{grid-template-columns:1fr !important;}
}


/* Hero Lady Justice */
.hero-photo::before{
  background:url("../assets/lady-justice-front.png") right bottom/contain no-repeat !important;
  opacity:0.96 !important;
  inset:0 0 0 0 !important;
}

@media(max-width:768px){
  .hero-photo::before{
    background-position:center bottom !important;
    background-size:88% auto !important;
  }
}


/* Zvětšení slepé spravedlnosti o 20 % */
.hero-photo::before{
  background-size:120% auto !important;
}

@media(max-width:768px){
  .hero-photo::before{
    background-size:106% auto !important;
  }
}


.map-preview{
  margin-top:28px;
  border:1px solid rgba(216,154,46,.42);
  background:rgba(0,0,0,.24);
  overflow:hidden;
}

.map-preview a{
  display:block;
  text-decoration:none;
}

.map-preview img{
  width:100%;
  display:block;
  transition:transform .35s ease, opacity .35s ease;
  opacity:.94;
}

.map-preview span{
  display:block;
  padding:14px 18px;
  color:#ffe078;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.map-preview:hover img{
  transform:scale(1.03);
  opacity:1;
}


/* COOKIE POPUP */
.cookie-popup{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.72);
  display:flex;
  align-items:flex-end;
  justify-content:center;
  z-index:9999;
  padding:24px;
}

.cookie-popup.hidden{
  display:none;
}

.cookie-box{
  width:min(620px,100%);
  background:linear-gradient(180deg,rgba(4,22,23,.98),rgba(1,10,11,.98));
  border:1px solid rgba(216,154,46,.55);
  padding:28px;
  box-shadow:0 25px 60px rgba(0,0,0,.55);
}

.cookie-box h3{
  margin:0 0 12px;
  color:#ffe078;
  font-size:26px;
}

.cookie-box p{
  color:#f5f0e4;
  line-height:1.8;
  margin-bottom:22px;
}

.cookie-buttons{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

@media(max-width:768px){
  .cookie-box{
    padding:22px;
  }

  .cookie-buttons{
    flex-direction:column;
  }

  .cookie-buttons .btn{
    width:100%;
  }
}


/* Úprava kontaktů */
.map-preview{
  display:none !important;
}

.contact-link{
  color:#ffffff !important;
  text-decoration:none;
  position:relative;
  transition:color .25s ease, text-shadow .25s ease, transform .25s ease;
  display:inline-block;
}

.contact-link::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-3px;
  width:0;
  height:1px;
  background:linear-gradient(90deg,#d89a2e,#ffe078);
  transition:width .25s ease;
}

.contact-link:hover{
  color:#ffe078 !important;
  text-shadow:0 0 10px rgba(255,224,120,.45);
  transform:translateX(3px);
}

.contact-link:hover::after{
  width:100%;
}


}

/* Reference klientů - celé znění */
.references-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
  align-items:start;
}

.reference-card{
  border:1px solid rgba(216,154,46,.42);
  background:rgba(0,0,0,.28);
  padding:28px;
  color:#f7f0df;
  box-shadow:0 14px 28px rgba(0,0,0,.32);
}

.reference-card h3{
  color:#ffe078;
  margin:0 0 8px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:24px;
}

.reference-card small{
  display:block;
  color:#cfc6b2;
  margin-bottom:18px;
}

.reference-card p{
  line-height:1.85;
  font-size:15px;
}

.review-source-link{
  display:inline-block;
  margin-top:14px;
  color:#ffe078;
  text-decoration:none;
  border:1px solid rgba(216,154,46,.55);
  padding:10px 14px;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.06em;
  transition:.25s ease;
}

.review-source-link:hover{
  background:rgba(216,154,46,.16);
  transform:translateY(-2px);
}

@media(max-width:1160px){
  .references-grid{
    grid-template-columns:1fr;
  }
}

/* Reference klientů jako posuvný pás */
.references-marquee{
  width:100%;
  overflow:hidden;
  position:relative;
  padding:18px 0 8px;
}

.references-track{
  display:flex;
  gap:26px;
  width:max-content;
  animation:referencesScroll 85s linear infinite;
}

.references-marquee:hover .references-track{
  animation-play-state:paused;
}

.references-track .reference-card{
  width:460px;
  flex:0 0 460px;
}

@keyframes referencesScroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

@media(max-width:760px){
  .references-track .reference-card{
    width:84vw;
    flex-basis:84vw;
  }

  .references-track{
    animation-duration:110s;
  }
}


/* Finální antibot ověření posuvníkem ve tvaru loga */
.slider-box{
  max-width:320px;
}

.slider-title{
  white-space:nowrap !important;
  font-size:17px !important;
  line-height:1.2 !important;
  transform:none !important;
  margin-bottom:14px !important;
}

.slider-track{
  display:block !important;
  width:100%;
  padding:12px 16px !important;
  border:1px solid rgba(216,154,46,.65);
  border-radius:999px;
  background:rgba(0,0,0,.22);
}

.slider-track img{
  display:none !important;
}

#humanValue{
  color:#ffe078;
  font-weight:700;
  margin-top:10px;
}

#humanCheck{
  -webkit-appearance:none;
  appearance:none;
  width:100%;
  height:44px;
  background:transparent;
  cursor:pointer;
}

#humanCheck::-webkit-slider-runnable-track{
  height:8px;
  border-radius:999px;
  background:linear-gradient(90deg,#6f4308,#d89a2e,#ffe078,#d89a2e,#6f4308);
  border:1px solid rgba(216,154,46,.6);
  box-shadow:inset 0 2px 4px rgba(0,0,0,.55);
}

#humanCheck::-moz-range-track{
  height:8px;
  border-radius:999px;
  background:linear-gradient(90deg,#6f4308,#d89a2e,#ffe078,#d89a2e,#6f4308);
  border:1px solid rgba(216,154,46,.6);
  box-shadow:inset 0 2px 4px rgba(0,0,0,.55);
}

#humanCheck::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  width:48px;
  height:48px;
  margin-top:-21px;
  border:none;
  border-radius:0;
  background:url("../assets/logo.png") center/contain no-repeat;
  filter:drop-shadow(0 5px 8px rgba(0,0,0,.75)) drop-shadow(0 0 8px rgba(255,224,120,.35));
}

#humanCheck::-moz-range-thumb{
  width:48px;
  height:48px;
  border:none;
  border-radius:0;
  background:url("../assets/logo.png") center/contain no-repeat;
  filter:drop-shadow(0 5px 8px rgba(0,0,0,.75)) drop-shadow(0 0 8px rgba(255,224,120,.35));
}

@media(max-width:768px){
  .slider-box{
    max-width:100%;
  }

  .slider-title{
    white-space:normal !important;
    text-align:center;
  }
}


/* OPRAVA: viditelné antibot ověření přímo ve formuláři */
.antibot-box{
  grid-column:1/-1;
  display:block;
  width:100%;
  margin:6px 0 16px;
  padding:18px;
  border:1px solid rgba(216,154,46,.55);
  background:rgba(0,0,0,.20);
}

.antibot-title{
  display:block;
  color:#ffe078;
  font-size:15px;
  font-weight:700;
  margin-bottom:14px;
  white-space:nowrap;
}

.antibot-slider-wrap{
  width:100%;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(216,154,46,.45);
  background:rgba(0,0,0,.24);
}

#humanCheck{
  -webkit-appearance:none !important;
  appearance:none !important;
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:100% !important;
  height:48px !important;
  background:transparent !important;
  cursor:pointer;
}

#humanCheck::-webkit-slider-runnable-track{
  height:9px;
  border-radius:999px;
  background:linear-gradient(90deg,#6f4308,#d89a2e,#ffe078,#d89a2e,#6f4308);
  border:1px solid rgba(216,154,46,.65);
  box-shadow:inset 0 2px 4px rgba(0,0,0,.55);
}

#humanCheck::-moz-range-track{
  height:9px;
  border-radius:999px;
  background:linear-gradient(90deg,#6f4308,#d89a2e,#ffe078,#d89a2e,#6f4308);
  border:1px solid rgba(216,154,46,.65);
  box-shadow:inset 0 2px 4px rgba(0,0,0,.55);
}

#humanCheck::-webkit-slider-thumb{
  -webkit-appearance:none !important;
  appearance:none !important;
  width:52px;
  height:52px;
  margin-top:-22px;
  border:0;
  background:url("../assets/logo.png") center/contain no-repeat;
  filter:drop-shadow(0 5px 8px rgba(0,0,0,.75)) drop-shadow(0 0 8px rgba(255,224,120,.35));
}

#humanCheck::-moz-range-thumb{
  width:52px;
  height:52px;
  border:0;
  background:url("../assets/logo.png") center/contain no-repeat;
  filter:drop-shadow(0 5px 8px rgba(0,0,0,.75)) drop-shadow(0 0 8px rgba(255,224,120,.35));
}

.antibot-value{
  margin-top:10px;
  color:#ffe078;
  font-weight:700;
}

@media(max-width:768px){
  .antibot-title{
    white-space:normal;
    text-align:center;
  }
}


/* Posuvník zmenšený a umístěný vpravo vedle formuláře */
.form-grid{
  grid-template-columns:1fr 1.45fr .75fr !important;
  align-items:start;
}

.slider-box{
  max-width:230px !important;
  width:100%;
  justify-self:end;
}

.slider-box .antibot-box{
  width:100%;
  padding:14px !important;
  margin:0 !important;
}

.slider-box .antibot-title{
  font-size:13px !important;
  line-height:1.35 !important;
  white-space:normal !important;
  margin-bottom:10px !important;
}

.slider-box .antibot-slider-wrap{
  padding:7px 9px !important;
}

.slider-box #humanCheck{
  height:34px !important;
}

.slider-box #humanCheck::-webkit-slider-runnable-track{
  height:6px !important;
}

.slider-box #humanCheck::-moz-range-track{
  height:6px !important;
}

.slider-box #humanCheck::-webkit-slider-thumb{
  width:34px !important;
  height:34px !important;
  margin-top:-15px !important;
}

.slider-box #humanCheck::-moz-range-thumb{
  width:34px !important;
  height:34px !important;
}

.slider-box .antibot-value{
  font-size:13px;
  margin-top:8px;
}

@media(max-width:1160px){
  .form-grid{
    grid-template-columns:1fr !important;
  }

  .slider-box{
    justify-self:stretch;
    max-width:320px !important;
    margin-top:10px;
  }
}

@media(max-width:768px){
  .slider-box{
    max-width:100% !important;
  }
}


/* Popup po odeslání formuláře */
.form-result-popup{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.76);
  z-index:10000;
  padding:24px;
}

.form-result-popup.active{
  display:flex;
}

.form-result-box{
  width:min(560px,94vw);
  text-align:center;
  background:
    linear-gradient(180deg,rgba(4,22,23,.98),rgba(1,10,11,.98));
  border:1px solid rgba(216,154,46,.70);
  box-shadow:
    0 28px 80px rgba(0,0,0,.70),
    0 0 28px rgba(216,154,46,.22);
  padding:40px 32px 34px;
  position:relative;
  color:#f7f0df;
}

.form-result-box::before{
  content:"";
  position:absolute;
  inset:10px;
  border:1px solid rgba(216,154,46,.20);
  pointer-events:none;
}

.form-result-box h3{
  margin:14px 0 12px;
  font-size:30px;
  color:#ffe078;
  text-shadow:0 3px 8px rgba(0,0,0,.8);
}

.form-result-box p{
  line-height:1.8;
  margin:0;
  color:#f5f0e4;
}

.form-result-icon{
  width:76px;
  height:76px;
  border:1px solid rgba(216,154,46,.80);
  border-radius:50%;
  display:grid;
  place-items:center;
  margin:0 auto;
  color:#ffe078;
  font-size:42px;
  box-shadow:0 0 24px rgba(216,154,46,.26);
}

.form-result-popup.error .form-result-icon{
  color:#ffb6b6;
  border-color:rgba(255,110,110,.70);
  box-shadow:0 0 24px rgba(255,80,80,.18);
}

.form-result-popup.error .form-result-box{
  border-color:rgba(255,110,110,.60);
}

.form-result-popup.error .form-result-box h3{
  color:#ffb6b6;
}

.form-result-close{
  position:absolute;
  top:12px;
  right:16px;
  border:0;
  background:transparent;
  color:#ffe078;
  font-size:34px;
  line-height:1;
  cursor:pointer;
  z-index:2;
}

.form-result-close:hover{
  transform:scale(1.08);
}

@media(max-width:768px){
  .form-result-box{
    padding:34px 22px 28px;
  }
}


/* Finální vyskakovací okno AK-SKK po odeslání formuláře */
.form-result-popup{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  background:
    linear-gradient(rgba(0,0,0,.76),rgba(0,0,0,.82)),
    url("../assets/marble-bg.png") center/cover;
  z-index:10000;
  padding:24px;
}

.form-result-popup.active{
  display:flex;
}

.form-result-box{
  width:min(560px,94vw);
  text-align:center;
  background:linear-gradient(180deg,rgba(4,22,23,.98),rgba(1,10,11,.98));
  border:1px solid rgba(216,154,46,.75);
  box-shadow:0 28px 80px rgba(0,0,0,.72),0 0 32px rgba(216,154,46,.24);
  padding:38px 32px 34px;
  position:relative;
  color:#f7f0df;
}

.form-result-box::before{
  content:"";
  position:absolute;
  inset:10px;
  border:1px solid rgba(216,154,46,.22);
  pointer-events:none;
}

.form-result-logo{
  width:92px;
  height:92px;
  object-fit:contain;
  margin:0 auto 12px;
  filter:drop-shadow(0 8px 12px rgba(0,0,0,.75));
}

.form-result-icon{
  width:70px;
  height:70px;
  border:1px solid rgba(216,154,46,.80);
  border-radius:50%;
  display:grid;
  place-items:center;
  margin:0 auto;
  color:#ffe078;
  font-size:40px;
  box-shadow:0 0 24px rgba(216,154,46,.26);
}

.form-result-box h3{
  margin:14px 0 12px;
  font-size:30px;
  color:#ffe078;
  text-shadow:0 3px 8px rgba(0,0,0,.8);
}

.form-result-box p{
  line-height:1.8;
  margin:0;
  color:#f5f0e4;
}

.form-result-popup.error .form-result-icon{
  color:#ffb6b6;
  border-color:rgba(255,100,100,.75);
  box-shadow:0 0 24px rgba(255,80,80,.20);
}

.form-result-popup.error .form-result-box{
  border-color:rgba(255,100,100,.65);
}

.form-result-popup.error .form-result-box h3{
  color:#ffb6b6;
}

.form-result-close{
  position:absolute;
  top:12px;
  right:16px;
  border:0;
  background:transparent;
  color:#ffe078;
  font-size:34px;
  line-height:1;
  cursor:pointer;
  z-index:2;
  transition:transform .25s ease;
}

.form-result-close:hover{
  transform:scale(1.12);
}

@media(max-width:768px){
  .form-result-box{
    padding:32px 22px 28px;
  }
}


/* Samostatná kartička po odeslání formuláře */
.form-card-modal{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.38);
  backdrop-filter:blur(3px);
  z-index:10000;
  padding:24px;
}

.form-card-modal.active{
  display:flex;
}

.form-card{
  width:min(520px,94vw);
  text-align:center;
  background:linear-gradient(180deg,rgba(4,22,23,.98),rgba(1,10,11,.98));
  border:1px solid rgba(216,154,46,.72);
  box-shadow:0 26px 70px rgba(0,0,0,.72),0 0 30px rgba(216,154,46,.22);
  padding:34px 30px 30px;
  position:relative;
  color:#f7f0df;
  animation:formCardIn .28s ease-out;
}

.form-card::before{
  content:"";
  position:absolute;
  inset:10px;
  border:1px solid rgba(216,154,46,.22);
  pointer-events:none;
}

.form-card-logo{
  width:82px;
  height:82px;
  object-fit:contain;
  margin:0 auto 12px;
  filter:drop-shadow(0 8px 12px rgba(0,0,0,.75));
}

.form-card-symbol{
  width:64px;
  height:64px;
  margin:0 auto 14px;
  border-radius:50%;
  border:1px solid rgba(216,154,46,.80);
  color:#ffe078;
  display:grid;
  place-items:center;
  font-size:36px;
  box-shadow:0 0 24px rgba(216,154,46,.26);
}

.form-card h3{
  color:#ffe078;
  font-size:26px;
  margin:0 0 14px;
  text-shadow:0 3px 8px rgba(0,0,0,.75);
}

.form-card p{
  line-height:1.8;
  color:#f5f0e4;
  margin:0 0 24px;
}

.form-card-modal.error .form-card{
  border-color:rgba(255,100,100,.68);
}

.form-card-modal.error .form-card-symbol{
  color:#ffb6b6;
  border-color:rgba(255,100,100,.75);
  box-shadow:0 0 24px rgba(255,80,80,.20);
}

.form-card-modal.error .form-card h3{
  color:#ffb6b6;
}

@keyframes formCardIn{
  from{
    opacity:0;
    transform:translateY(14px) scale(.96);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

@media(max-width:768px){
  .form-card{
    padding:30px 22px 26px;
  }
}


/* OPRAVA cookies lišty pro mobilní Chrome */
.cookie-banner,
.cookie-consent,
#cookieBanner,
#cookieConsent{
  position:fixed !important;
  z-index:2147483647 !important;
  pointer-events:auto !important;
}

.cookie-banner button,
.cookie-consent button,
#cookieBanner button,
#cookieConsent button,
.cookie-banner a,
.cookie-consent a,
#cookieBanner a,
#cookieConsent a{
  pointer-events:auto !important;
  touch-action:manipulation !important;
  cursor:pointer !important;
  position:relative !important;
  z-index:2147483647 !important;
}


/* Cookies modal AK-SKK */
.cookie-modal{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.55);
  backdrop-filter:blur(3px);
  z-index:2147483647;
  padding:20px;
}

.cookie-modal.active{
  display:flex;
}

.cookie-card{
  width:min(520px,95vw);
  background:linear-gradient(180deg,#041617,#010b0c);
  border:1px solid rgba(216,154,46,.75);
  box-shadow:0 20px 60px rgba(0,0,0,.7);
  padding:34px;
  text-align:center;
  color:#fff;
}

.cookie-card h3{
  color:#f0d37a;
  font-size:34px;
  margin-bottom:18px;
}

.cookie-card p{
  line-height:1.8;
  margin-bottom:24px;
}

.cookie-actions{
  display:flex;
  justify-content:center;
}


/* Zvýraznění po ověření */
input[type="range"].verified{
    outline:2px solid #d89a2e;
}


/* Viditelné zobrazení hodnoty antibot posuvníku */
.human-value,
#humanValue{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  margin-top:10px !important;
  color:#ffe078 !important;
  font-size:14px !important;
  font-weight:700 !important;
  text-align:center !important;
  min-height:22px !important;
  position:relative !important;
  z-index:20 !important;
}

#humanCheck.verified + .human-value,
#humanCheck.verified ~ .human-value{
  color:#9cff9c !important;
}


/* OPRAVA POSUVNÍKU */
#humanCheck,
input[type="range"]{
  pointer-events:auto !important;
  touch-action:pan-x !important;
  cursor:pointer !important;
  width:100% !important;
  position:relative !important;
  z-index:9999 !important;
  -webkit-appearance:auto !important;
  appearance:auto !important;
}


/* Spolehlivý vlastní antibot posuvník - místo nativního range */
.antibot-box{
  display:block !important;
  width:100% !important;
  max-width:290px !important;
  padding:18px !important;
  border:1px solid rgba(216,154,46,.62) !important;
  background:rgba(0,0,0,.22) !important;
  position:relative !important;
  z-index:50 !important;
}

.antibot-title{
  color:#ffe078 !important;
  font-weight:800 !important;
  line-height:1.35 !important;
  font-size:14px !important;
  margin-bottom:14px !important;
}

.logo-slider{
  position:relative !important;
  width:100% !important;
  height:58px !important;
  border:1px solid rgba(216,154,46,.65) !important;
  border-radius:999px !important;
  background:rgba(0,0,0,.32) !important;
  box-shadow:inset 0 2px 8px rgba(0,0,0,.55) !important;
  cursor:pointer !important;
  touch-action:none !important;
  user-select:none !important;
  overflow:hidden !important;
}

.logo-slider::before{
  content:"";
  position:absolute;
  left:22px;
  right:22px;
  top:50%;
  height:8px;
  transform:translateY(-50%);
  border-radius:999px;
  background:linear-gradient(90deg,#6f4308,#d89a2e,#ffe078,#d89a2e,#6f4308);
  box-shadow:inset 0 1px 3px rgba(0,0,0,.6);
}

.logo-slider-fill{
  position:absolute;
  left:22px;
  top:50%;
  height:8px;
  width:0%;
  transform:translateY(-50%);
  border-radius:999px;
  background:linear-gradient(90deg,#ffe078,#d89a2e);
  box-shadow:0 0 12px rgba(255,224,120,.45);
  pointer-events:none;
}

.logo-slider-thumb{
  position:absolute;
  top:50%;
  left:0;
  width:42px;
  height:42px;
  transform:translate(8px,-50%);
  background:url("logo.png") center/contain no-repeat;
  background-image:url("../assets/logo.png");
  filter:drop-shadow(0 5px 8px rgba(0,0,0,.75)) drop-shadow(0 0 8px rgba(255,224,120,.35));
  pointer-events:none;
}

.logo-slider.verified{
  border-color:#9cff9c !important;
  box-shadow:0 0 16px rgba(156,255,156,.22), inset 0 2px 8px rgba(0,0,0,.55) !important;
}

.human-value,
#humanValue{
  display:block !important;
  color:#ffe078 !important;
  text-align:center !important;
  font-weight:800 !important;
  margin-top:12px !important;
  min-height:22px !important;
}

.logo-slider.verified ~ .human-value,
.logo-slider.verified ~ #humanValue{
  color:#9cff9c !important;
}

@media(max-width:1160px){
  .antibot-box{
    max-width:320px !important;
  }
}

@media(max-width:760px){
  .antibot-box{
    max-width:100% !important;
  }
}


/* =========================================================
   FINÁLNÍ KALIBRACE ROZLOŽENÍ A PROKLIKŮ
========================================================= */

html{
  scroll-behavior:smooth;
}

#sluzby,
#reference,
#kontakt{
  scroll-margin-top:130px;
}

/* Kontakt/formulář: stabilní 3 sloupce na PC */
.form-section .container{
  width:min(1180px,94%) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.form-grid{
  display:grid !important;
  grid-template-columns:minmax(230px,.85fr) minmax(440px,1.35fr) minmax(220px,.7fr) !important;
  gap:clamp(20px,3vw,36px) !important;
  align-items:start !important;
}

.form-grid .contact,
.contact{
  grid-column:1 !important;
  min-width:0 !important;
}

.form-grid .form,
.form{
  grid-column:2 !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}

.slider-box{
  grid-column:3 !important;
  width:100% !important;
  max-width:260px !important;
  justify-self:start !important;
  margin:0 !important;
  position:relative !important;
  z-index:1 !important;
}

.antibot-box{
  width:100% !important;
  max-width:260px !important;
  position:relative !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  margin:0 !important;
  z-index:2 !important;
}

.form input,
.form textarea{
  min-width:0 !important;
  max-width:100% !important;
}

/* Menu proklik vizuálně bez rozhazování */
.menu a[href="#reference"],
.menu a[href="#kontakt"],
.menu a[href="#sluzby"]{
  cursor:pointer;
}

/* Notebook/tablet: vše pod sebe, nic neuteče mimo obraz */
@media(max-width:1120px){
  #sluzby,
  #reference,
  #kontakt{
    scroll-margin-top:190px;
  }

  .form-grid{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }

  .form-grid .contact,
  .form-grid .form,
  .slider-box,
  .contact,
  .form{
    grid-column:1 !important;
    width:100% !important;
    max-width:100% !important;
    justify-self:stretch !important;
  }

  .antibot-box{
    max-width:360px !important;
    margin:0 auto !important;
  }
}

/* Mobil */
@media(max-width:760px){
  .form-section .container{
    width:92% !important;
  }

  .form{
    display:block !important;
  }

  .form input,
  .form textarea{
    margin-bottom:14px !important;
  }

  .antibot-box{
    max-width:100% !important;
  }
}

/* Plovoucí tlačítko Zavolat */
.floating-call{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:9998;
  display:flex;
  align-items:center;
  gap:10px;
  padding:13px 18px;
  border:1px solid rgba(216,154,46,.75);
  background:linear-gradient(90deg,#ffe68b,#c68119 60%,#ffe68b);
  color:#170e02;
  text-decoration:none;
  font-weight:800;
  box-shadow:0 12px 28px rgba(0,0,0,.42),0 0 18px rgba(216,154,46,.22);
  transition:transform .25s ease, box-shadow .25s ease;
}

.floating-call span{
  font-size:20px;
}

.floating-call:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 36px rgba(0,0,0,.52),0 0 26px rgba(216,154,46,.30);
}

.turnstile-wrap{
  grid-column:1/-1;
  margin:8px 0 16px;
}

.hp-field{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
}

@media(max-width:760px){
  .floating-call{
    right:14px;
    left:14px;
    bottom:14px;
    justify-content:center;
  }
}


/* Finální grafická úprava ověřovacího posuvníku podle návrhu */
.slider-box{
  width:100% !important;
  max-width:390px !important;
  justify-self:center !important;
}

.antibot-box{
  width:100% !important;
  max-width:390px !important;
  padding:28px 28px 24px !important;
  border:1px solid rgba(216,154,46,.82) !important;
  background:rgba(0,0,0,.28) !important;
  box-shadow:0 18px 40px rgba(0,0,0,.30) !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}

.antibot-title{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  color:#ffe078 !important;
  font-size:16px !important;
  line-height:1.35 !important;
  font-weight:800 !important;
  text-align:center !important;
  margin:0 0 18px !important;
  white-space:normal !important;
  overflow-wrap:break-word !important;
}

.logo-slider{
  width:100% !important;
  height:74px !important;
  border-radius:999px !important;
  border:1px solid rgba(216,154,46,.78) !important;
  background:rgba(0,0,0,.34) !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

.logo-slider::before{
  left:58px !important;
  right:22px !important;
  height:9px !important;
  background:linear-gradient(90deg,#6f4308,#d89a2e,#ffe078,#d89a2e,#6f4308) !important;
  box-shadow:0 0 12px rgba(216,154,46,.26), inset 0 1px 3px rgba(0,0,0,.6) !important;
}

.logo-slider-fill{
  left:58px !important;
  height:9px !important;
}

.logo-slider-thumb{
  width:56px !important;
  height:56px !important;
  transform:translate(13px,-50%) !important;
  background-image:url("../assets/logo.png") !important;
}

.human-value,
#humanValue{
  margin-top:16px !important;
  font-size:22px !important;
  font-weight:900 !important;
  color:#ffe078 !important;
  text-align:center !important;
  text-shadow:0 2px 8px rgba(0,0,0,.75) !important;
}

.logo-slider.verified ~ .human-value,
.logo-slider.verified ~ #humanValue{
  color:#9cff9c !important;
}

/* tlačítko formuláře sladěné s návrhem */
.form .btn.primary,
.form button.btn.primary{
  min-height:64px !important;
  font-size:19px !important;
  letter-spacing:.06em !important;
}

/* Rozložení: kontakt vlevo, formulář střed, posuvník vpravo bez přetékání */
.form-section .container{
  width:min(1280px,94%) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.form-grid{
  display:grid !important;
  grid-template-columns:minmax(250px,.85fr) minmax(450px,1.25fr) minmax(320px,.85fr) !important;
  gap:clamp(22px,3vw,42px) !important;
  align-items:start !important;
}

.contact{grid-column:1 !important;}
.form{grid-column:2 !important; width:100% !important; min-width:0 !important;}
.slider-box{grid-column:3 !important;}

@media(max-width:1180px){
  .form-grid{
    grid-template-columns:1fr !important;
  }
  .contact,
  .form,
  .slider-box{
    grid-column:1 !important;
    max-width:100% !important;
    justify-self:stretch !important;
  }
  .antibot-box{
    margin:0 auto !important;
  }
}

@media(max-width:560px){
  .antibot-box{
    padding:22px 18px 20px !important;
    max-width:100% !important;
  }
  .antibot-title{
    font-size:15px !important;
  }
  .logo-slider{
    height:64px !important;
  }
  .logo-slider-thumb{
    width:48px !important;
    height:48px !important;
  }
  .logo-slider::before,
  .logo-slider-fill{
    left:52px !important;
  }
  .human-value,
  #humanValue{
    font-size:18px !important;
  }
}


/* Grafická textová část loga v hlavičce */
.brand{
  align-items:center !important;
}

.brand-graphic-wrap{
  display:flex !important;
  align-items:center !important;
  min-width:0 !important;
}

.brand-graphic{
  display:block !important;
  width:clamp(300px, 34vw, 620px) !important;
  max-height:92px !important;
  object-fit:contain !important;
  object-position:left center !important;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.55));
}

.brand:hover .brand-graphic{
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.55)) drop-shadow(0 0 10px rgba(216,154,46,.22));
}

@media(max-width:1100px){
  .brand-graphic{
    width:clamp(260px, 46vw, 480px) !important;
    max-height:76px !important;
  }
}

@media(max-width:760px){
  .brand-graphic{
    width:min(86vw, 420px) !important;
    max-height:70px !important;
    margin:auto !important;
  }
}

@media(max-width:430px){
  .brand-graphic{
    width:min(88vw, 340px) !important;
    max-height:58px !important;
  }
}


/* Vynucená nová grafická hlavička */
.brand-new-graphic{
  display:flex !important;
  align-items:center !important;
  text-decoration:none !important;
  min-width:0 !important;
}

.brand-new-graphic > img.brand-header-img{
  display:block !important;
  width:clamp(420px, 42vw, 760px) !important;
  max-width:100% !important;
  height:auto !important;
  max-height:104px !important;
  object-fit:contain !important;
  object-position:left center !important;
  filter:drop-shadow(0 5px 10px rgba(0,0,0,.55)) !important;
}

.brand-new-graphic:hover > img.brand-header-img{
  filter:drop-shadow(0 5px 10px rgba(0,0,0,.55)) drop-shadow(0 0 12px rgba(216,154,46,.25)) !important;
}

.brand-new-graphic .brand-title,
.brand-new-graphic .brand-sub,
.brand-new-graphic .brand-text,
.brand-new-graphic > img:not(.brand-header-img){
  display:none !important;
}

@media(max-width:1180px){
  .brand-new-graphic > img.brand-header-img{
    width:clamp(340px, 52vw, 620px) !important;
    max-height:86px !important;
  }
}

@media(max-width:760px){
  .brand-new-graphic{
    justify-content:center !important;
    width:100% !important;
  }

  .brand-new-graphic > img.brand-header-img{
    width:min(92vw, 520px) !important;
    max-height:78px !important;
  }
}

@media(max-width:430px){
  .brand-new-graphic > img.brand-header-img{
    width:min(94vw, 380px) !important;
    max-height:62px !important;
  }
}


/* Sjednocení kontaktních ikon a odkazů do zlaté grafiky AK-SKK */
.contact-line,
.contact-line span,
.footer h3,
.footer-logo,
.brand-sub{
  color:#ffe078 !important;
}

a[href^="tel:"],
a[href^="mailto:"],
a[href*="maps.google"],
.map-link,
.contact-link{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-decoration:none !important;
  transition:color .25s ease, text-shadow .25s ease, transform .25s ease;
}

a[href^="tel:"]:hover,
a[href^="mailto:"]:hover,
a[href*="maps.google"]:hover,
.map-link:hover,
.contact-link:hover{
  color:#ffe078 !important;
  -webkit-text-fill-color:#ffe078 !important;
  text-shadow:0 0 10px rgba(255,224,120,.45);
}

.floating-call{
  background:linear-gradient(90deg,#ffe68b,#c68119 60%,#ffe68b) !important;
  border:1px solid rgba(216,154,46,.78) !important;
  color:#170e02 !important;
}

.floating-call span,
.floating-call strong{
  color:#170e02 !important;
  -webkit-text-fill-color:#170e02 !important;
}

/* Mobil: žádné systémově červené kontaktní ikony */
@media(max-width:760px){
  .contact-line,
  .contact-line *,
  .footer a,
  .footer p{
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
  }

  .contact-line::first-letter,
  .footer h3{
    color:#ffe078 !important;
    -webkit-text-fill-color:#ffe078 !important;
  }

  a[href^="tel:"],
  a[href^="mailto:"],
  a[href*="maps.google"],
  .contact-link,
  .map-link{
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
  }

  a[href^="tel:"]:hover,
  a[href^="mailto:"]:hover,
  a[href*="maps.google"]:hover,
  .contact-link:hover,
  .map-link:hover{
    color:#ffe078 !important;
    -webkit-text-fill-color:#ffe078 !important;
  }
}


/* =========================================================
   Finální vycentrování a rovnoměrné rozložení webu
========================================================= */

html,
body{
  width:100%;
  max-width:100%;
  margin:0;
  overflow-x:hidden;
}

.container{
  width:min(92%, 1440px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Hlavička */
.header .container,
.nav{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:clamp(22px, 3vw, 54px) !important;
}

.brand-new-graphic,
.brand{
  flex:0 1 auto !important;
}

.menu{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:clamp(18px, 2vw, 34px) !important;
  margin-left:auto !important;
}

.menu li{
  white-space:nowrap !important;
}

/* Úvodní hero – rovnoměrně na šířku */
.hero .container,
.hero-grid{
  width:min(92%, 1440px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.hero-grid{
  display:grid !important;
  grid-template-columns:minmax(420px, 1.15fr) minmax(360px, .85fr) !important;
  gap:clamp(36px, 5vw, 96px) !important;
  align-items:center !important;
}

.hero-copy{
  max-width:760px !important;
}

.hero-photo{
  justify-content:center !important;
}

/* Sekce služeb */
.services-grid{
  display:grid !important;
  grid-template-columns:repeat(5, minmax(180px, 1fr)) !important;
  gap:clamp(18px, 2vw, 32px) !important;
  justify-items:stretch !important;
}

.service-card{
  height:100% !important;
}

/* Reference */
.references-marquee,
.references-grid{
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Formulář – kontakt, formulář, posuvník rovnoměrně */
.form-section .container{
  width:min(92%, 1440px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.form-grid{
  display:grid !important;
  grid-template-columns:minmax(280px, .9fr) minmax(520px, 1.35fr) minmax(300px, .75fr) !important;
  gap:clamp(28px, 4vw, 58px) !important;
  align-items:start !important;
  justify-content:center !important;
}

.contact,
.form,
.slider-box{
  min-width:0 !important;
}

.contact{
  grid-column:1 !important;
}

.form{
  grid-column:2 !important;
  width:100% !important;
}

.slider-box{
  grid-column:3 !important;
  width:100% !important;
  max-width:390px !important;
  justify-self:center !important;
}

.antibot-box{
  max-width:390px !important;
}

/* Patička – rovnoměrné sloupce */
.footer-grid{
  display:grid !important;
  grid-template-columns:minmax(300px, 1.2fr) minmax(260px, .9fr) minmax(220px, .8fr) minmax(180px, .7fr) !important;
  gap:clamp(28px, 4vw, 70px) !important;
  align-items:start !important;
}

.footer-brand{
  display:flex !important;
  align-items:center !important;
  gap:22px !important;
}

.footer-brand .footer-name,
.footer-name{
  color:#e6c46d !important;
  font-family:Georgia, "Times New Roman", serif !important;
  font-weight:700 !important;
  font-size:clamp(24px, 2vw, 38px) !important;
  line-height:1.12 !important;
  white-space:normal !important;
}

.footer-title{
  color:#ffffff !important;
  letter-spacing:.55em !important;
  font-size:14px !important;
  margin-top:8px !important;
}

/* Široké monitory */
@media(min-width:1600px){
  .container,
  .hero .container,
  .hero-grid,
  .form-section .container{
    width:min(88%, 1540px) !important;
  }
}

/* Notebook */
@media(max-width:1280px){
  .container,
  .hero .container,
  .hero-grid,
  .form-section .container{
    width:94% !important;
  }

  .services-grid{
    grid-template-columns:repeat(3, minmax(220px, 1fr)) !important;
  }

  .form-grid{
    grid-template-columns:minmax(240px, .8fr) minmax(460px, 1.25fr) minmax(260px, .7fr) !important;
    gap:26px !important;
  }

  .footer-grid{
    grid-template-columns:repeat(2, minmax(260px, 1fr)) !important;
  }
}

/* Tablet a mobil */
@media(max-width:980px){
  .header .container,
  .nav{
    flex-direction:column !important;
    justify-content:center !important;
    text-align:center !important;
  }

  .menu{
    margin-left:0 !important;
    flex-wrap:wrap !important;
  }

  .hero-grid{
    grid-template-columns:1fr !important;
    text-align:left !important;
  }

  .hero-photo{
    justify-content:center !important;
  }

  .services-grid{
    grid-template-columns:repeat(2, minmax(220px, 1fr)) !important;
  }

  .form-grid{
    grid-template-columns:1fr !important;
  }

  .contact,
  .form,
  .slider-box{
    grid-column:1 !important;
    width:100% !important;
    max-width:100% !important;
    justify-self:center !important;
  }

  .antibot-box{
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media(max-width:640px){
  .container,
  .hero .container,
  .hero-grid,
  .form-section .container{
    width:92% !important;
  }

  .services-grid,
  .footer-grid{
    grid-template-columns:1fr !important;
  }

  .footer-brand{
    justify-content:center !important;
    text-align:center !important;
    flex-direction:column !important;
  }

  .footer-grid{
    text-align:center !important;
  }
}
.contact-intro{margin-bottom:24px;padding:18px;border-left:4px solid #c9a44b;background:rgba(255,255,255,.04)}select{width:100%;padding:12px;margin-bottom:16px}.privacy-note{font-size:.9rem;margin:12px 0}

/* =========================================================
   Ověřovací posuvník – kompletně přepsaná verze
========================================================= */
.antibot-box{
  margin-top:24px;
  padding:28px 24px;
  border:1px solid rgba(212,175,55,.45);
  background:rgba(3,8,9,.72);
}

.antibot-title{
  margin:0 0 8px;
  text-align:center;
  color:#d7b65d;
  font-weight:800;
  font-size:18px;
}

.antibot-help{
  margin:0 0 22px;
  text-align:center;
  color:rgba(255,255,255,.72);
  font-size:14px;
}

.verify-slider{
  --thumb-size:58px;
  position:relative;
  width:100%;
  height:72px;
  border:1px solid rgba(93,194,128,.65);
  border-radius:999px;
  background:rgba(0,0,0,.28);
  touch-action:none;
  user-select:none;
  outline:none;
}

.verify-slider:focus-visible{
  box-shadow:0 0 0 3px rgba(212,175,55,.28);
}

.verify-slider__track{
  position:absolute;
  left:36px;
  right:36px;
  top:50%;
  height:10px;
  transform:translateY(-50%);
  border-radius:999px;
  background:rgba(212,175,55,.18);
}

.verify-slider__fill{
  position:absolute;
  left:36px;
  top:50%;
  width:0;
  height:10px;
  transform:translateY(-50%);
  border-radius:999px;
  background:linear-gradient(90deg, rgba(212,175,55,.95), rgba(234,199,104,.75));
  pointer-events:none;
}

.verify-slider__target{
  position:absolute;
  left:70%;
  top:50%;
  width:68px;
  height:68px;
  transform:translate(-50%,-50%);
  border:2px dashed rgba(234,199,104,.9);
  border-radius:50%;
  background:rgba(15,18,16,.72);
  box-shadow:0 0 0 5px rgba(212,175,55,.08);
  pointer-events:none;
  z-index:2;
}

.verify-slider__target-logo{
  position:absolute;
  inset:8px;
  background:url("../assets/logo.png") center/contain no-repeat;
  opacity:.28;
}

.verify-slider__target-label{
  position:absolute;
  left:50%;
  top:calc(100% + 8px);
  transform:translateX(-50%);
  padding:4px 9px;
  border:1px solid rgba(212,175,55,.45);
  border-radius:999px;
  background:rgba(3,8,9,.94);
  color:#d7b65d;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  white-space:nowrap;
}

.verify-slider__thumb{
  position:absolute;
  left:0;
  top:50%;
  width:var(--thumb-size);
  height:var(--thumb-size);
  margin:0;
  padding:0;
  transform:translate(0,-50%);
  border:2px solid rgba(234,199,104,.95);
  border-radius:50%;
  background:
    rgba(6,13,14,.98)
    url("../assets/logo.png")
    center/76% auto
    no-repeat;
  box-shadow:
    0 5px 16px rgba(0,0,0,.5),
    0 0 0 5px rgba(212,175,55,.10);
  cursor:grab;
  z-index:5;
}

.verify-slider.is-dragging .verify-slider__thumb{
  cursor:grabbing;
  box-shadow:
    0 6px 18px rgba(0,0,0,.55),
    0 0 0 7px rgba(212,175,55,.16),
    0 0 24px rgba(212,175,55,.45);
}

.verify-slider.is-near .verify-slider__target{
  border-style:solid;
  box-shadow:
    0 0 0 7px rgba(212,175,55,.12),
    0 0 28px rgba(212,175,55,.42);
}

.verify-slider.is-verified{
  border-color:rgba(93,194,128,.9);
}

.verify-slider.is-verified .verify-slider__target{
  border-style:solid;
  border-color:#78d79a;
  background:rgba(29,62,48,.92);
}

.verify-slider.is-verified .verify-slider__target-logo{
  opacity:0;
}

.verify-slider.is-verified .verify-slider__target::after{
  content:"✓";
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#effff3;
  font-size:36px;
  font-weight:900;
}

.verify-slider.is-verified .verify-slider__thumb{
  border-color:#78d79a;
  background-color:rgba(29,62,48,.96);
}

.verify-status{
  min-height:24px;
  margin-top:24px;
  text-align:center;
  color:rgba(255,255,255,.72);
  font-weight:700;
}

.verify-status.is-ok{
  color:#bdeccc;
}

.verify-status.is-error{
  color:#ffd1d1;
}

@media(max-width:640px){
  .antibot-box{
    padding:24px 16px;
  }

  .verify-slider{
    --thumb-size:52px;
    height:66px;
  }

  .verify-slider__target{
    width:60px;
    height:60px;
  }

  .verify-slider__track,
  .verify-slider__fill{
    left:32px;
  }
}


/* Finální oprava funkce posuvníku */
.verify-slider{
  touch-action:none !important;
}

.verify-slider__thumb{
  left:0;
  top:50%;
  transform:translateY(-50%) !important;
  transition:
    box-shadow .2s ease,
    border-color .2s ease,
    background-color .2s ease !important;
  touch-action:none !important;
}

.verify-slider__fill{
  transform:translateY(-50%) !important;
  pointer-events:none !important;
}


/* ===== Oprava: souhlas GDPR + tlačítko Zavolat na mobilu ===== */
.form .consent{
  display:flex !important;
  align-items:flex-start !important;
  gap:12px !important;
  text-align:left !important;
  line-height:1.5 !important;
  cursor:pointer;
}
.form .consent input[type="checkbox"]{
  flex:none !important;
  width:22px !important;
  height:22px !important;
  margin:1px 0 0 !important;
  padding:0 !important;
  accent-color:#c99a33;
  cursor:pointer;
}
.form .consent a{
  color:#ffe078 !important;
  text-decoration:underline !important;
  position:relative;
  z-index:1;
}

@media (max-width:760px){
  /* kulaté tlačítko vpravo dole místo pruhu přes celou šířku */
  .floating-call{
    left:auto !important;
    right:14px !important;
    bottom:calc(14px + env(safe-area-inset-bottom)) !important;
    width:58px !important;
    height:58px !important;
    padding:0 !important;
    border-radius:50% !important;
    justify-content:center !important;
    gap:0 !important;
  }
  .floating-call strong{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
    clip:rect(0 0 0 0) !important;
    white-space:nowrap !important;
  }
  .floating-call span{font-size:24px !important}

  /* místo na konci stránky, aby tlačítko nezakrylo odkazy v patičce */
  .footer{padding-bottom:calc(90px + env(safe-area-inset-bottom)) !important}
}
