/* ============================================================
   V5 — kratší, hustší social proof, formulář v hero, bez cen
   ============================================================ */

/* Hero s formulářem vpravo */
.hero--v5{ padding-top:130px; min-height:auto; padding-bottom:90px; }
.hero--v5 .container{ grid-template-columns:1.08fr .92fr; gap:60px; align-items:center; }
.hero--v5 .hero__title{ font-size:clamp(2.1rem,4.2vw,3.6rem); }

/* Proof-cluster form card v hero */
.hform{
  background:#fff; color:var(--ink); border-radius:var(--radius-lg);
  box-shadow:0 34px 90px rgba(0,0,0,.45); padding:clamp(24px,2.6vw,36px);
  position:relative;
}
.hform::before{
  content:""; position:absolute; top:-1px; left:36px; right:36px; height:4px;
  border-radius:0 0 6px 6px; background:linear-gradient(90deg,var(--gold-500),var(--gold-600));
}
.hform h3{ font-size:1.3rem; font-weight:800; margin-bottom:4px; }
.hform__sub{ color:var(--muted); font-size:.92rem; margin-bottom:18px; }
.hform__stars{
  display:flex; align-items:center; gap:9px; margin-bottom:20px;
  font-size:.86rem; color:var(--muted); font-weight:600;
}
.hform__stars b{ color:var(--gold-600); letter-spacing:1.5px; font-size:1rem; }
.hform__chips{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.chip{
  border:1.5px solid var(--line); background:#fff; border-radius:999px;
  padding:9px 16px; cursor:pointer; font-family:var(--font-head); font-weight:700;
  font-size:.85rem; color:var(--navy-800); transition:all .2s ease;
}
.chip:hover{ border-color:var(--blue-400); }
.chip.is-on{ border-color:var(--gold-500); background:#FFF9EC; box-shadow:0 0 0 3px rgba(249,178,51,.18); }
.hform .field{ margin-bottom:12px; }
.hform .btn{ width:100%; margin-top:6px; }
.hform__note{
  margin-top:12px; font-size:.82rem; color:var(--muted); text-align:center;
  display:flex; align-items:center; justify-content:center; gap:6px;
}
.hform__note svg{ width:14px; height:14px; flex:0 0 14px; color:var(--blue-500); }
.hform__quote{
  margin-top:18px; padding-top:16px; border-top:1px solid var(--line);
  font-size:.85rem; color:var(--muted); font-style:italic;
}
.hform__quote b{ font-style:normal; color:var(--navy-900); font-family:var(--font-head); font-size:.8rem; }
@media(max-width:1024px){
  .hero--v5 .container{ grid-template-columns:1fr; gap:40px; }
  .hero--v5{ padding-top:118px; }
}

/* Review marquee — běžící pás recenzí */
.marquee{ background:var(--navy-900); padding-block:30px; overflow:hidden; position:relative; }
.marquee::before,.marquee::after{
  content:""; position:absolute; top:0; bottom:0; width:110px; z-index:2; pointer-events:none;
}
.marquee::before{ left:0; background:linear-gradient(90deg,var(--navy-900),transparent); }
.marquee::after{ right:0; background:linear-gradient(-90deg,var(--navy-900),transparent); }
.marquee__track{ display:flex; gap:18px; width:max-content; animation:marq 44s linear infinite; }
.marquee:hover .marquee__track{ animation-play-state:paused; }
@keyframes marq{ to{ transform:translateX(-50%); } }
.mq{
  flex:0 0 auto; max-width:380px; background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12); border-radius:14px; padding:14px 18px;
  display:flex; flex-direction:column; gap:6px;
}
.mq b{ color:var(--gold-500); font-size:.8rem; letter-spacing:1.5px; }
.mq p{ color:rgba(255,255,255,.88); font-size:.86rem; line-height:1.45; white-space:normal; }
.mq span{ color:rgba(255,255,255,.55); font-size:.76rem; font-family:var(--font-head); font-weight:700; }
@media(prefers-reduced-motion:reduce){ .marquee__track{ animation:none; } }

/* Kompaktní trust-počty pod marquee */
.tstats{ background:var(--navy-900); padding-bottom:44px; }
.tstats .container{
  display:flex; flex-wrap:wrap; gap:14px 44px; justify-content:center; align-items:center;
  color:rgba(255,255,255,.8); font-size:.92rem;
}
.tstats b{ color:#fff; font-family:var(--font-head); font-size:1.06rem; }
.tstats svg{ width:17px; height:17px; color:var(--gold-500); vertical-align:-3px; margin-right:7px; }

/* Služby kompakt — foto karty s overlay */
.svc5{
  position:relative; border-radius:var(--radius-lg); overflow:hidden; aspect-ratio:4/4.6;
  display:flex; align-items:flex-end; box-shadow:var(--shadow-md); text-decoration:none;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease); isolation:isolate;
}
.svc5:hover{ transform:translateY(-7px); box-shadow:var(--shadow-lg); }
.svc5 img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform .5s var(--ease); }
.svc5:hover img{ transform:scale(1.05); }
.svc5::after{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(185deg,rgba(10,24,48,0) 30%,rgba(10,24,48,.88) 82%);
}
.svc5__body{ padding:26px 24px; color:#fff; width:100%; }
.svc5__body h3{ color:#fff; font-size:1.3rem; font-weight:800; margin-bottom:6px; }
.svc5__body p{ color:rgba(255,255,255,.82); font-size:.92rem; margin-bottom:14px; }
.svc5__go{
  display:inline-flex; align-items:center; gap:8px; font-family:var(--font-head);
  font-weight:800; font-size:.88rem; color:var(--gold-500);
}
.svc5__go svg{ width:16px; height:16px; transition:transform .25s ease; }
.svc5:hover .svc5__go svg{ transform:translateX(5px); }

/* Proces slim — horizontální lišta */
.pslim{ background:#fff; border-block:1px solid var(--line); padding-block:38px; }
.pslim .container{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px; }
.pslim__item{ display:flex; gap:14px; align-items:flex-start; }
.pslim__num{
  flex:0 0 40px; width:40px; height:40px; border-radius:12px; display:grid; place-items:center;
  background:var(--blue-100); color:var(--blue-600); font-family:var(--font-head); font-weight:800;
}
.pslim__item strong{ font-family:var(--font-head); font-size:.94rem; color:var(--navy-900); display:block; }
.pslim__item span{ font-size:.84rem; color:var(--muted); }
@media(max-width:920px){ .pslim .container{ grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ .pslim .container{ grid-template-columns:1fr; gap:16px; } }

/* Recenze grid místo carouselu */
.rgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.rgrid .review{ flex:none; }
.rgrid .review p{ font-size:.94rem; }
@media(max-width:980px){ .rgrid{ grid-template-columns:1fr 1fr; } }
@media(max-width:620px){ .rgrid{ grid-template-columns:1fr; } }
.gbadge{
  display:inline-flex; align-items:center; gap:10px; background:#fff; border:1px solid var(--line);
  border-radius:999px; padding:10px 20px; box-shadow:var(--shadow-sm);
  font-family:var(--font-head); font-weight:700; font-size:.9rem; color:var(--navy-900);
}
.gbadge b{ color:var(--gold-600); letter-spacing:1px; }

/* Záruky slim řádek */
.gslim{ background:linear-gradient(160deg,var(--navy-900),var(--navy-800)); color:#fff; }
.gslim .container{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.gslim__item{ text-align:center; padding:8px 10px; }
.gslim__item svg{ width:34px; height:34px; color:var(--gold-500); margin-bottom:12px; }
.gslim__item strong{ display:block; font-family:var(--font-head); font-size:1rem; color:#fff; margin-bottom:5px; }
.gslim__item span{ font-size:.86rem; color:rgba(255,255,255,.7); }
@media(max-width:820px){ .gslim .container{ grid-template-columns:1fr 1fr; gap:28px 16px; } }

/* V6: cena na kartě služby */
.svc5__price{
  display:block; font-family:var(--font-head); font-weight:800; font-size:1.05rem;
  color:#fff; margin-bottom:10px;
}
.svc5__price::after{
  content:" orientačně"; font-family:var(--font-body); font-weight:400;
  font-size:.78rem; color:rgba(255,255,255,.6);
}

/* ===== V6.1 — redesign procesního pásu (stepper karta) ===== */
.pslim{ background:transparent; border:0; padding-block:0; position:relative; z-index:5; }
.pslim .container{
  display:grid; grid-template-columns:repeat(4,1fr); gap:0;
  background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg); padding:34px 26px;
  transform:translateY(50%); margin-top:calc(-1 * clamp(30px,4vw,52px));
}
.pslim__item{ display:block; text-align:center; padding:0 18px; position:relative; }
.pslim__item::after{
  content:""; position:absolute; top:21px; left:calc(50% + 34px); right:calc(-50% + 34px); height:2px;
  background:repeating-linear-gradient(90deg,rgba(19,42,77,.18) 0 7px,transparent 7px 14px);
}
.pslim__item:last-child::after{ display:none; }
.pslim__num{
  width:42px; height:42px; margin:0 auto 12px; border-radius:50%;
  display:grid; place-items:center;
  background:linear-gradient(135deg,#FFC44D,var(--gold-600)); color:var(--navy-900);
  font-family:var(--font-head); font-weight:800; font-size:1.05rem;
  box-shadow:0 6px 16px rgba(245,168,28,.35); position:relative; z-index:2;
}
.pslim__item strong{ font-family:var(--font-head); font-size:.95rem; color:var(--navy-900); display:block; margin-bottom:3px; }
.pslim__item span{ font-size:.84rem; color:var(--muted); }
@media(max-width:920px){
  .pslim .container{ grid-template-columns:1fr 1fr; gap:24px 8px; transform:none; margin-block:8px 40px; }
  .pslim__item::after{ display:none; }
}
/* tmavá sekce po stepperu potřebuje prostor pro překryv */
.pslim + .gallery{ padding-top:calc(var(--sec-pad) + clamp(50px,6vw,86px)); }

/* ===== V6.1 — formulář ve stylu cena-app ===== */
.hform__trust{
  display:grid; grid-template-columns:1fr 1fr 1fr; gap:6px;
  background:var(--blue-50); border:1px solid var(--line); border-radius:14px;
  padding:12px 8px; margin-bottom:16px; text-align:center;
}
.hform__trust svg{ width:17px; height:17px; color:var(--blue-500); margin-bottom:4px; }
.hform__trust b{ display:block; font-family:var(--font-head); font-size:.92rem; color:var(--navy-900); line-height:1.2; }
.hform__trust small{ font-size:.7rem; color:var(--muted); line-height:1.25; display:block; }

.hform__opts{ display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-bottom:14px; }
.opt{
  display:flex; align-items:center; gap:10px; padding:11px 12px;
  border:1.5px solid var(--line); border-radius:13px; background:#fff; cursor:pointer;
  transition:border-color .2s ease, background .2s ease, box-shadow .2s ease;
  font-family:var(--font-head); font-weight:700; font-size:.86rem; color:var(--navy-900);
  text-align:left;
}
.opt__ico{
  flex:0 0 34px; width:34px; height:34px; border-radius:9px;
  background:var(--blue-50); color:var(--blue-600); display:grid; place-items:center;
  transition:background .2s ease, color .2s ease;
}
.opt__ico svg{ width:18px; height:18px; }
.opt__check{
  margin-left:auto; flex:0 0 18px; width:18px; height:18px; border-radius:50%;
  border:2px solid rgba(19,42,77,.22); display:grid; place-items:center;
  transition:all .2s ease; color:transparent;
}
.opt__check svg{ width:10px; height:10px; }
.opt:hover{ border-color:var(--blue-400); }
.opt.is-on{ border-color:var(--gold-500); background:#FFF9EC; box-shadow:0 0 0 3px rgba(249,178,51,.16); }
.opt.is-on .opt__ico{ background:var(--gold-500); color:var(--navy-900); }
.opt.is-on .opt__check{ border-color:var(--gold-600); background:var(--gold-500); color:var(--navy-900); }

.hform .field input{
  padding:14px 16px !important; border-radius:13px !important; font-size:1.02rem;
}
.hform .btn--lg{ padding:18px 30px; font-size:1.05rem; }
.hform .btn svg{ width:20px; height:20px; }

/* ===== V6.1 — spodní formulář ve final sekci ===== */
.final--form{ text-align:left; }
.final--form .container{
  display:grid; grid-template-columns:1fr .95fr; gap:clamp(36px,5vw,72px); align-items:center;
  position:relative; z-index:2;
}
.final--form h2{ margin:0 0 18px; max-width:none; }
.final--form p{ margin:0 0 26px; max-width:56ch; }
.final__points{ list-style:none; display:grid; gap:14px; }
.final__points li{ display:flex; gap:12px; align-items:flex-start; color:rgba(255,255,255,.88); font-size:.98rem; }
.final__points svg{ width:20px; height:20px; color:var(--gold-500); flex:0 0 20px; margin-top:2px; }
.final__phone{
  margin-top:26px; display:inline-flex; align-items:center; gap:12px;
  color:#fff; text-decoration:none; font-family:var(--font-head); font-weight:800; font-size:1.15rem;
}
.final__phone svg{ width:20px; height:20px; color:var(--gold-500); }
.final__phone small{ display:block; font-family:var(--font-body); font-weight:600; font-size:.78rem; color:rgba(255,255,255,.65); }
@media(max-width:980px){ .final--form .container{ grid-template-columns:1fr; } }

/* V6.1: stepper 3 kroky + CTA vpravo */
.pslim .container{ grid-template-columns:1fr 1fr 1fr auto; align-items:center; gap:0 10px; }
.pslim__cta{ padding-left:14px; }
.pslim__cta .btn{ white-space:nowrap; padding:14px 24px; font-size:.92rem; }
.pslim__item:nth-child(3)::after{ display:none; }
@media(max-width:1080px){
  .pslim .container{ grid-template-columns:1fr 1fr 1fr; }
  .pslim__cta{ grid-column:1/-1; text-align:center; padding:18px 0 0; }
}
@media(max-width:920px){
  .pslim .container{ grid-template-columns:1fr; gap:18px; }
  .pslim__item{ display:flex; text-align:left; gap:14px; align-items:flex-start; padding:0; }
  .pslim__num{ margin:0; flex:0 0 42px; }
}

/* ===== Stepper — vstupní animace (JS přidá .anim-ready hned, .anim-go v viewportu) ===== */
.pslim.anim-ready .pslim__num{
  transform:scale(0); opacity:0;
  transition:transform .55s cubic-bezier(.34,1.56,.64,1), opacity .25s ease;
}
.pslim.anim-ready .pslim__item strong,
.pslim.anim-ready .pslim__item span{
  opacity:0; transform:translateY(10px);
  transition:opacity .45s ease, transform .45s var(--ease);
}
.pslim.anim-ready .pslim__item::after{
  transform:scaleX(0); transform-origin:left center;
  transition:transform .5s var(--ease);
}
.pslim.anim-ready .pslim__cta{
  opacity:0; transform:translateX(16px);
  transition:opacity .5s ease, transform .5s var(--ease);
}
.pslim.anim-go .pslim__num{ transform:scale(1); opacity:1; }
.pslim.anim-go .pslim__item strong,
.pslim.anim-go .pslim__item span{ opacity:1; transform:none; }
.pslim.anim-go .pslim__item::after{ transform:scaleX(1); }
.pslim.anim-go .pslim__cta{ opacity:1; transform:none; }

/* sekvence: číslo → text → linka → další krok → CTA */
.pslim.anim-go .pslim__item:nth-child(1) .pslim__num{ transition-delay:.1s; }
.pslim.anim-go .pslim__item:nth-child(1) strong{ transition-delay:.25s; }
.pslim.anim-go .pslim__item:nth-child(1) span{ transition-delay:.32s; }
.pslim.anim-go .pslim__item:nth-child(1)::after{ transition-delay:.45s; }
.pslim.anim-go .pslim__item:nth-child(2) .pslim__num{ transition-delay:.7s; }
.pslim.anim-go .pslim__item:nth-child(2) strong{ transition-delay:.85s; }
.pslim.anim-go .pslim__item:nth-child(2) span{ transition-delay:.92s; }
.pslim.anim-go .pslim__item:nth-child(2)::after{ transition-delay:1.05s; }
.pslim.anim-go .pslim__item:nth-child(3) .pslim__num{ transition-delay:1.3s; }
.pslim.anim-go .pslim__item:nth-child(3) strong{ transition-delay:1.45s; }
.pslim.anim-go .pslim__item:nth-child(3) span{ transition-delay:1.52s; }
.pslim.anim-go .pslim__cta{ transition-delay:1.75s; }

/* po najetí: jemný tok čárek na linkách */
@keyframes pslimDash{ to{ background-position-x:-28px; } }
.pslim.anim-go .pslim__item::after{
  animation:pslimDash 1.8s linear 2.4s infinite;
}
/* a jemné pulznutí čísel po dokončení sekvence */
@keyframes pslimPulse{
  0%,100%{ box-shadow:0 6px 16px rgba(245,168,28,.35); }
  50%{ box-shadow:0 6px 22px rgba(245,168,28,.6); }
}
.pslim.anim-go .pslim__num{ animation:pslimPulse 3.2s ease-in-out 2.6s infinite; }

@media(prefers-reduced-motion:reduce){
  .pslim.anim-ready .pslim__num,
  .pslim.anim-ready .pslim__item strong,
  .pslim.anim-ready .pslim__item span,
  .pslim.anim-ready .pslim__item::after,
  .pslim.anim-ready .pslim__cta{ opacity:1; transform:none; transition:none; animation:none; }
}

/* ===== Dvoukrokový hero formulář ===== */
.hform--steps{ padding:clamp(20px,2.2vw,30px) clamp(20px,2.2vw,30px) 22px; }
.hform__head{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:12px; }
.hform__head h3{ margin:0; font-size:1.18rem; }
.hform--steps .hform__stars{ margin:0; font-size:.78rem; }
.hform__prog{ display:flex; gap:6px; margin-bottom:16px; }
.hform__prog i{ flex:1; height:4px; border-radius:3px; background:var(--blue-100); transition:background .3s ease; }
.hform__prog i.is-on{ background:linear-gradient(90deg,var(--gold-500),var(--gold-600)); }
.hstep{ display:none; border:0; padding:0; margin:0; min-width:0; }
.hstep.is-active{ display:block; animation:stepIn .32s var(--ease); }
.hform__opts--mini{ gap:7px; margin-bottom:12px; }
.hform__opts--mini .opt{ padding:8px 10px; font-size:.82rem; border-radius:11px; gap:8px; }
.hform__opts--mini .opt__ico{ flex:0 0 28px; width:28px; height:28px; border-radius:8px; }
.hform__opts--mini .opt__ico svg{ width:15px; height:15px; }
.hform__opts--mini .opt__check{ flex:0 0 15px; width:15px; height:15px; }
.hform--steps .field{ margin-bottom:12px; }
.hform--steps .field input{ padding:12px 14px !important; font-size:.98rem; }
.hform--steps .btn--lg{ padding:15px 26px; font-size:1rem; width:100%; }
.hform--steps .hform__note{ margin-top:10px; font-size:.78rem; }
.hform__nav{ display:flex; gap:10px; align-items:stretch; }
.hform__nav .btn--back{ flex:0 0 auto; width:auto; min-width:56px; padding:0 18px; border-radius:13px; margin-top:6px; }
.hform__nav .btn--lg{ flex:1 1 0; width:auto; min-width:0; }
.hstep .calc-done{ padding:16px 6px; }
.hstep .calc-done__icon{ width:56px; height:56px; margin-bottom:12px; }
.hstep .calc-done__icon svg{ width:26px; height:26px; }
.hstep .calc-done h3{ font-size:1.2rem; }

/* Našeptávač adres (Mapy.cz / OSM jako v cena-app) */
.field--sugg{ position:relative; }
.sugg{
  position:absolute; z-index:50; left:0; right:0; top:100%; margin-top:4px;
  background:#fff; border:1px solid var(--line); border-radius:12px;
  box-shadow:var(--shadow-lg); list-style:none; overflow:hidden; padding:4px;
}
.sugg li{
  padding:10px 12px; border-radius:8px; cursor:pointer; font-size:.9rem; color:var(--ink);
  display:flex; gap:9px; align-items:flex-start;
}
.sugg li svg{ width:15px; height:15px; flex:0 0 15px; margin-top:2px; color:var(--blue-500); }
.sugg li:hover,.sugg li.is-active{ background:var(--blue-50); }
.sugg__src{ font-size:.68rem; color:var(--muted); text-align:right; padding:4px 10px 2px; }


/* ===== Google badge na recenzích ===== */
.review{ position:relative; }
.review__g{
  position:absolute; top:22px; right:22px; width:26px; height:26px;
  display:grid; place-items:center; border-radius:50%;
  background:#fff; border:1px solid var(--line); box-shadow:var(--shadow-sm);
}
.review__g img{ width:15px; height:15px; display:block; }
.review__g b{ display:none; font-family:var(--font-head); font-weight:800; font-size:.85rem; color:var(--blue-600); }
.review__g.is-fallback img{ display:none; }
.review__g.is-fallback b{ display:block; }
.mq{ position:relative; }
.mq .review__g{ top:12px; right:12px; width:20px; height:20px; }
.mq .review__g img{ width:11px; height:11px; }

/* ===== Rozbalení dalších recenzí ===== */
.rgrid-more{ display:none; margin-top:20px; }
.rgrid-more.is-open{ display:grid; animation:stepIn .4s var(--ease); }
.review--cta{
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
  background:linear-gradient(160deg,var(--blue-50),#fff); text-decoration:none;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease);
}
.review--cta:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); }
.review--cta .review__g{ position:static; width:38px; height:38px; margin-bottom:12px; }
.review--cta .review__g img{ width:20px; height:20px; }
.review--cta strong{ font-family:var(--font-head); color:var(--navy-900); font-size:1rem; display:block; margin-bottom:4px; }
.review--cta span{ color:var(--muted); font-size:.85rem; }

/* ===== Pulz spodního formuláře (dýchající zlatá záře) ===== */
.hform{ isolation:isolate; }
.hform::after{
  content:""; position:absolute; inset:-3px; border-radius:inherit; z-index:-1;
  box-shadow:0 0 0 6px rgba(249,178,51,.35), 0 0 44px 10px rgba(249,178,51,.4);
  opacity:0; pointer-events:none;
}
/* Žádná scale-animace na .hform — transform:scale rozmazává text uvnitř
   (fasáda/střecha/dlažba/jiné + adresa). Pozornost dělá jen glow za formulářem. */
.hform--pulse::after{ animation:formGlow 2.6s ease-in-out infinite; }
@keyframes formGlow{ 0%,100%{ opacity:0; } 50%{ opacity:1; } }
@media(prefers-reduced-motion:reduce){
  .hform--pulse, .hform--pulse::after{ animation:none; }
}

/* ============================================================
   V7 THEME — brand tyrkysová (#00B8F0) + logo navy (#002850)
   Oranžová = pouze CTA a zvýraznění.
   ============================================================ */
:root{
  --navy-950:#04182B;
  --navy-900:#062138;
  --navy-800:#002850;
  --navy-700:#00396B;
  --blue-600:#0090C2;
  --blue-500:#00B8F0;
  --blue-400:#3ECDF8;
  --blue-100:#D7F3FC;
  --blue-50:#EDFAFE;
  --shadow-sm:0 4px 16px rgba(0,40,80,.08);
  --shadow-md:0 12px 36px rgba(0,40,80,.13);
  --shadow-lg:0 24px 64px rgba(0,40,80,.20);
}

/* Hero: petrol overlay + tyrkysový glow */
.hero__bg::after{
  background:
    radial-gradient(ellipse 46% 62% at 76% 28%, rgba(0,184,240,.16), transparent 66%),
    linear-gradient(100deg, rgba(2,20,38,.93) 0%, rgba(2,28,52,.78) 42%, rgba(0,40,80,.34) 75%, rgba(2,20,38,.55) 100%);
}

/* Kicker linka: tyrkysový gradient (zlatá zůstává na CTA) */
.kicker::before{ background:linear-gradient(90deg,var(--blue-500),var(--blue-400)); }

/* Ikony záruk: tyrkysový gradient místo zlaté (nejsou to CTA) */
.why-card__icon{ background:linear-gradient(135deg,var(--blue-400),var(--blue-600)); color:#fff; }
.gslim__item svg{ color:var(--blue-400); }

/* Výběr služeb ve formuláři: tyrkysová selekce, zlatá zůstává tlačítku */
.opt.is-on{ border-color:var(--blue-500); background:var(--blue-50); box-shadow:0 0 0 3px rgba(0,184,240,.18); }
.opt.is-on .opt__ico{ background:var(--blue-500); color:#fff; }
.opt.is-on .opt__check{ border-color:var(--blue-600); background:var(--blue-500); color:#fff; }

/* Progres formuláře: tyrkys (cesta), CTA zlaté (akce) */
.hform__prog i.is-on{ background:linear-gradient(90deg,var(--blue-500),var(--blue-400)); }

/* Marquee karty: jemný tyrkysový nádech okrajů */
.mq{ border-color:rgba(62,205,248,.22); }
.mq b{ color:var(--gold-500); }

/* Sekce services gradient — světlejší tyrkysový vzduch */
#sluzby{ background:linear-gradient(180deg,var(--blue-50),#fff) !important; }

/* Stepper: čísla nechávám zlatá (zvýraznění), linky tyrkysově */
.pslim.anim-go .pslim__item::after{
  background:repeating-linear-gradient(90deg,rgba(0,144,194,.35) 0 7px,transparent 7px 14px);
}
.pslim__item::after{
  background:repeating-linear-gradient(90deg,rgba(0,144,194,.28) 0 7px,transparent 7px 14px);
}

/* Galerie (tmavá sekce): tyrkysový glow */
.gallery{ background:radial-gradient(ellipse 60% 50% at 20% 0%, rgba(0,184,240,.10), transparent 60%), var(--navy-950); }

/* Final sekce: petrol → tyrkysový gradient */
.final{ background:linear-gradient(135deg,var(--navy-950) 0%,var(--navy-800) 55%,#007FB0 140%); }

/* Záruky pás */
.gslim{ background:linear-gradient(160deg,var(--navy-900),var(--navy-800) 70%,#00457A); }

/* Selection */
::selection{ background:var(--blue-400); color:var(--navy-950); }


/* ===== Avatar s Google profilovkou (fallback = iniciály pod fotkou) ===== */
.review__avatar{ position:relative; overflow:hidden; flex:0 0 auto; }
.review__avatar img{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; border-radius:50%;
}

/* ===== Kompaktní pás služeb ===== */
.sstrip-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.sstrip{
  display:flex; align-items:center; gap:14px; padding:18px 20px;
  background:#fff; border:1px solid var(--line); border-radius:16px;
  box-shadow:var(--shadow-sm); text-decoration:none;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s ease;
}
.sstrip:hover{ transform:translateY(-3px); box-shadow:var(--shadow-md); border-color:var(--blue-400); }
.sstrip__ico{
  flex:0 0 46px; width:46px; height:46px; border-radius:13px;
  background:var(--blue-50); color:var(--blue-600); display:grid; place-items:center;
  transition:background .25s ease, color .25s ease;
}
.sstrip:hover .sstrip__ico{ background:var(--blue-500); color:#fff; }
.sstrip__ico svg{ width:24px; height:24px; }
.sstrip__txt{ flex:1; min-width:0; }
.sstrip__txt strong{ display:block; font-family:var(--font-head); font-size:.98rem; color:var(--navy-900); }
.sstrip__txt span{ font-size:.82rem; color:var(--muted); }
.sstrip__go{ flex:0 0 18px; color:var(--gold-600); }
.sstrip__go svg{ width:18px; height:18px; transition:transform .25s ease; }
.sstrip:hover .sstrip__go svg{ transform:translateX(4px); }
@media(max-width:880px){ .sstrip-grid{ grid-template-columns:1fr; gap:10px; } }

/* ===== Karty služeb s před/po sliderem ===== */
.svcba-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.svcba{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg);
  overflow:hidden; box-shadow:var(--shadow-sm);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.svcba:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.svcba .ba{ aspect-ratio:16/11; border-radius:0; box-shadow:none; }
.svcba .ba__tag{ top:12px; padding:5px 12px; font-size:.7rem; }
.svcba .ba__handle::after{ width:38px; height:38px; font-size:.7rem; }
.svcba__body{
  padding:20px 24px 22px; display:flex; align-items:center; justify-content:space-between; gap:12px;
}
.svcba__body h3{ font-size:1.05rem; font-weight:800; margin:0 0 2px; }
.svcba__body h3 a{ color:var(--navy-900); text-decoration:none; }
.svcba__body h3 a:hover{ color:var(--blue-600); }
.svcba__price{ font-size:.82rem; color:var(--muted); }
.svcba .svc5__go{ white-space:nowrap; flex:0 0 auto; font-size:.85rem; }
@media(max-width:920px){ .svcba-grid{ grid-template-columns:1fr; max-width:480px; margin-inline:auto; } }

/* Fix: text poznámky uvnitř formuláře ve final sekci (nesmí zdědit bílou) */
.final .hform__note{ color:var(--muted); }
.final .hform label{ color:var(--ink); }

/* Google-style výchozí avatar (lidé bez profilovky): plná barva + 1 iniciála */
.review__avatar--g{
  background:#5C6BC0; color:#fff; font-family:var(--font-body);
  font-weight:600; font-size:1.15rem; letter-spacing:0;
}

/* Breadcrumb (sdílený se šablonou blogu) */
.crumbs{
  display:flex; flex-wrap:wrap; gap:6px; align-items:center;
  font-size:.82rem; color:rgba(255,255,255,.6); margin-bottom:16px;
  font-family:var(--font-head); font-weight:600;
}
.crumbs a{ color:rgba(255,255,255,.78); text-decoration:none; }
.crumbs a:hover{ color:#fff; }
.crumbs span[aria-hidden]{ opacity:.5; }

/* interní CTA karta v recenzích */
.review--cta .review__cta-stars{ display:block; color:var(--gold-500); font-size:1.15rem; letter-spacing:3px; margin-bottom:10px; }

/* Hero region řádek (JMK + JČK) */
.hero__region{
  display:flex; align-items:flex-start; gap:9px; margin-top:20px;
  font-size:.92rem; line-height:1.5; color:rgba(255,255,255,.78); max-width:52ch;
}
.hero__region svg{ width:17px; height:17px; color:var(--blue-400); flex:0 0 17px; margin-top:2px; }
.hero__region strong{ color:#fff; font-weight:700; }

/* Homepage teaser zakladatelů — face avatary */
.owner-face{ width:64px; height:64px; overflow:hidden; border:3px solid #fff; box-shadow:0 3px 10px rgba(0,0,0,.18); flex:0 0 64px; }
.owner-face img{ width:100%; height:100%; object-fit:cover; border-radius:50%; display:block; }
