
:root{
  --btn-base:#2f86f6;
  --btn-base2:#2a7ff2;
  --btn-lite:#4aa8ff;
}

.btn-primary,
.cta{
  background:linear-gradient(180deg,var(--btn-base2) 0%,var(--btn-base) 100%);
  color:#fff;
  position:relative;
  overflow:hidden;
  transition:background .25s ease, filter .25s ease, transform .2s ease;
}

.btn-primary:hover,
.cta:hover{ background:linear-gradient(135deg,var(--btn-lite) 0%,var(--btn-base) 100%); filter:brightness(1.03); }

.btn-primary::after,
.cta::after{
  content:"";
  position:absolute;
  inset:-1px;
  background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);
  transform:translateX(-140%);
  opacity:0;
  pointer-events:none;
}

@keyframes btn-sweep{
  0%{ transform:translateX(-140%); opacity:0; }
  20%{ opacity:.8; }
  100%{ transform:translateX(140%); opacity:0; }
}

.btn-primary:hover::after,
.cta:hover::after{ animation:btn-sweep .85s ease forwards; }

.btn-ghost{
  background:#fff;
  color:#0f172a;
  border:1px solid rgba(15,23,42,.12);
  transition:background .25s ease, border-color .25s ease;
  position:relative; overflow:hidden;
}
.btn-ghost:hover{ background:linear-gradient(180deg,#fff 0%,#f6fbff 100%); border-color:rgba(15,23,42,.2); }
.btn-ghost::after{ content:""; position:absolute; inset:-1px;
  background:linear-gradient(110deg,transparent 30%,rgba(0,0,0,.10) 50%,transparent 70%);
  transform:translateX(-140%); opacity:0; pointer-events:none;
}
.btn-ghost:hover::after{ animation:btn-sweep .85s ease forwards; }

.btn-ghost{
  background:#fff;
  color:#0f172a;
  border:2px solid #2f86f6;
  box-shadow:0 1px 0 rgba(47,134,246,.06), 0 8px 24px rgba(47,134,246,.08);
  border-radius:18px;
}

.btn-ghost:hover{
  background:linear-gradient(180deg,#ffffff 0%,#f4f9ff 100%);
  border-color:#2a7ff2;
  box-shadow:0 2px 0 rgba(47,134,246,.08), 0 10px 28px rgba(47,134,246,.12);
}

#sluzby .card{ position: relative; padding-right: 28px; }
#sluzby .cta-mini{
  position:absolute; top:14px; right:14px;
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 14px; border-radius:12px; font-weight:800; font-size:14px;
  color:#fff; text-decoration:none; white-space:nowrap;
  background:linear-gradient(180deg,#2a7ff2 0%, #2f86f6 100%);
  box-shadow:0 10px 22px rgba(47,134,246,.20), 0 3px 8px rgba(15,30,60,.10);
  transition:background .25s ease, filter .25s ease, transform .18s ease;
  overflow:hidden;
}
#sluzby .cta-mini::after{
  content:""; position:absolute; inset:-1px; pointer-events:none; opacity:0;
  background:linear-gradient(110deg, transparent 30%, rgba(255,255,255,.45) 50%, transparent 70%);
  transform:translateX(-140%);
}
@keyframes btn-sweep-mini{0%{transform:translateX(-140%);opacity:0}20%{opacity:.8}100%{transform:translateX(140%);opacity:0}}
#sluzby .cta-mini:hover{ background:linear-gradient(135deg,#4aa8ff 0%, #2f86f6 100%); filter:brightness(1.03); transform:translateY(-1px)}
#sluzby .cta-mini:hover::after{ animation:btn-sweep-mini .85s ease forwards }
@media(max-width:640px){ #sluzby .card{padding-right:20px} #sluzby .cta-mini{top:12px; right:12px; padding:8px 12px; font-size:13px} }

  #sluzby .about{position:relative;}

  #sluzby .about .grid, #sluzby .about .card{ position:relative; z-index:1; }
