*{margin:0;padding:0;box-sizing:border-box;font-family:'Inter',sans-serif;}

body{
background:linear-gradient(135deg,#f3f4f7,#e6e9f0);
line-height: 1.6;
}

/* TOP BAR */
.top-bar{
position:sticky;
top:0;
z-index:999;
display:flex;
justify-content:center;
}

.top-bar-inner{
  max-width: 1200px;
  width: 100%;

  background: linear-gradient(135deg,#8e2de2,#6a0dad);
  color: #fff;

  padding: 0.6rem;
  text-align: center;

  border-radius: 0 0 14px 14px;
}


/* WRAPPER */
.page-bg{
  padding:1rem 0;
}

.page-wrapper{
max-width:1200px;
margin:0 auto;

background: #fff;
border-radius: 20px;

box-shadow: 0 30px 80px rgba(0,0,0,0.12);
padding-bottom: 0rem;
overflow: hidden;

}

/* CONTAINER */
.container{
max-width:1100px;
margin:0 auto;
padding:0 2rem;
}

/* NAVBAR */
.site-header{
margin: 1rem auto;
background:#fff;
border-radius:20px;
max-width: 1200px;
box-shadow:0 10px 25px rgba(0,0,0,0.08);
}

.header-content{
display:flex;
justify-content:space-between;
align-items:center;
padding:1.8rem 0;
}

.logo img{height:90px;}

.main-nav{
display:flex;
align-items:center;
}

.main-nav a {
  color:#222;
  position: relative;
  display: inline-block;

margin-left:2rem;
font-weight:600;

color:#222;
text-decoration: none;
border-bottom: none;
transition: 0.3s ease;
}

.main-nav a:not(.btn-primary):hover{
  color:#6a0dad;
}

.main-nav a::after{
content:'';
position: absolute;
left: 50%;
bottom: 0%;
width: 0px;
height: 2px;
 background: #6a0dad;
 transition: 0.3s ease;
 transform: translateX(-50%);
}

.main-nav a:hover::after{
  width: 100%;
}

.main-nav .btn-primary{
  color:#fff;
  background: #6a0dad;

  padding:0,7rem 1.5rem;
  border-radius: 8px;
  transition: all 0.3s ease;
}

.main-nav .btn-primary{
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(106, 13, 173, 0.3);
}

.main-nav .btn-primary::after{
  display:none;
}

/* BUTTON */
.btn-primary{
background:#6a0dad;
color:#fff;
padding:0.7rem 1.5rem;
border-radius:8px;
text-decoration: none
}

/* HERO */
.hero{
  text-align:center;
  padding:3rem 2rem;
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  margin-top: 0;
  padding-top: 1.5rem;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
  margin-bottom: 2rem;
}

.hero::before{
  content:"";
  position: absolute;
  inset: 0;
  background:url("images/pozadi.jpg") center/cover no-repeat;
  opacity: 0.35;
  z-index: 0;
}

.hero-content{
  position: relative;
  z-index: 1;
}

.hero-content .btn-primary{
  display:inline-block;
  margin-top: 1rem;
}

.hero::after{
  content: "";
  position: absolute;
  inset:0;
  background: rgba(255, 255, 255, 0.6);
  z-index: 0;
}

.hero-banner{
  width: 100%;
  max-width: 1200px;

  margin: 1.5rem auto 0.5rem;

  border-radius: 20px;
  overflow: hidden;

  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
}

.hero-banner img{
  width:100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


.hero h1{
  font-size: 2.8rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

.btn-primary{
  transition: all 0.3s ease;
}

.btn-primary{
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}

.icon-wrap{
  width: 80px;
  height: 80px;

position: relative;

  display:flex;
  align-items: center;
  justify-content: center;
margin: 0 auto 1.2rem;
  border-radius: 50%;
  box-shadow: 0 10px 25px rgba(106, 13, 173, 0.15),
  0 0 20px rgba(142, 45, 226, 0,2);
  margin-bottom: 1.2rem;
  transition: 0.3s ease;
}

.icon-wrap::before{
  content:"";
  position: absolute;

  width: 90px;
  height: 90px;

  border-radius: 50%;
  background: rgba(142, 45, 226, 0.08);
  transition: all 0.3s ease;
}

p{
  font-size: 1rem;
  line-height: 1.7;
  color: #555;
}

h2{
  font-size: 1.8rem;
  margin-bottom:1rem;
}


.icon-wrap svg{
  width: 60px;
  height: 60px ;
  transition: transform 0.3s ease;
  display: block;
  transform: translateY(7px);
}

.card:hover .icon-wrap:before{
  transform: scale(1.1);
  background: rgba(142, 45, 226, 0.15);
}

.card:hover .icon-wrap img{
  transform: scale(1.15);

}


.card h3{
  font-weight: 600;
margin-bottom: 0.4rem;
font-size: 1.3rem;
}


.card:hover .icon-wrap{
  transform: translateY(-6px);
  box-shadow: 0 15px 30px rgba(106, 13, 173, 0.2)
  0 0 25px rgba(142, 45, 226, 0.25);
}


/* TITLES */
.section-title{
text-align:center;
margin-bottom:2rem;
}

.contact-title{
  display: block;
  border-radius: 12px;
  width: 100%;
  text-align: center;
  margin-bottom:2rem;
  padding: 0.6rem 1.2rem;
  background: linear-gradient(135deg,#f3e8ff,#e9d5ff);
  color: #4c1d95;
  box-shadow: 0 5px 10px rgba(0,0,0,0.02);
  backdrop-filter: blur(10px);
}

.contact-wrapper{
  max-width: 620px;
  margin: 0 auto;
  text-align: center;

}

/* SLUŽBY */
.cards{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:2rem;
align-items: stretch;
}

.card{
background:#fff;
padding:2rem;
min-height: 200px;
border-radius:16px;
box-shadow:0 10px 25px rgba(0,0,0,0.08);
text-align:center;
transition: all 0.25s ease;

display:flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
}

.card:hover{
  transform: translateY(-8px) scale(1.02);
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
}

.card svg{
  transition: 0.3s;
  margin-bottom: 1rem;
  width: 60px;
  height: 60px;

}

.contact-section{
padding: 4rem 0;
background: #f5f6fa;
}

.contact-section .section-title{
margin-bottom: 2rem;
}

.contact-card{
max-width: 620px;
margin: 0 auto;
margin-top: -1.5rem;
background: #fff;
padding: 2.5rem;
border-radius: 18px;
box-shadow: 0 15px 40px rgba(0,0,0,0.08);
text-align: center;
}

.contact-subtitle{
color: #666;
margin-bottom: 2rem;
line-height: 1.6;
}

#contactForm{
display: flex;
flex-direction: column;
gap: 1rem;
text-align: left;
}

.contact-field{
display: flex;
flex-direction: column;
gap: .45rem;
}

.contact-field label{
font-weight: 600;
color: #333;
}

.contact-field input,
.contact-field textarea{
width: 100%;
box-sizing: border-box;
padding: 1rem;
border-radius: 12px;
border: 1px solid #ddd;
background: #fff;
font: inherit;
outline: none;
transition: 0.2s ease;
}

.contact-field textarea{
min-height: 150px;
resize: vertical;
}

.contact-field input:focus,
.contact-field textarea:focus{
border-color: #8e2de2;
box-shadow: 0 0 0 3px rgba(142,45,226,0.12);
}

.contact-card .btn-primary{
align-self: center;
margin-top: .5rem;
}

.contact-success{
display: none;
margin-top: 1rem;
padding: 1rem 1.1rem;
border-radius: 12px;
background: #f3ecff;
color: #5a2dbd;
text-align: left;
line-height: 1.5;
align-items: flex-start;
gap: .8rem;
}

.success-icon{
width: 28px;
height: 28px;
border-radius: 50%;
background: #8e2de2;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
flex: 0 0 28px;
font-weight: 700;
}




.card p{
  max-width: 200px;
  margin: 0 auto;
  line-height: 1.6;
  min-height: 4.5rem;
  font-size: 0.95rem;
  color:#666;
  margin-top: 0;
}


/* PROČ TY */
.procty{
margin-top:3rem;
margin-bottom:3rem;
background:#f5f6fa;
border-radius:16px;
padding:3rem 0;
text-align:center;
}

.procty ul{
display:flex;
justify-content:center;
gap:2rem;
flex-wrap:wrap;
}

/* O MNĚ */
.about-content{
display:flex;
flex-direction:column;
align-items:center;
text-align:center;
gap:0.5rem;
margin-bottom: 2rem;
}

.about-content p{
  max-width: 680px;
  width: 100%;
  line-height: 1.8;
  font-size: 1.05rem;
  color: #444;
  margin: 0 auto 1rem;
  text-align: left;
}

.about img{
width:280px;
height:280px;
border-radius:70%;
margin-bottom: 1rem;
}

/* FOOTER (STEJNÁ ŠÍŘKA!) */
.site-footer{
  max-width: 1200px;
margin:1rem auto 0;
}

.footer-inner{
  background: #222;
  color:#fff;
  text-align: center;
  padding: 1.5rem 1rem;
  border-radius: 20px;
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
}

/* MOBILE */
.menu-toggle{
display:none;
}

@media(max-width:768px){

.header-content{
  display: flex;
  justify-content: center;
  align-items: center;
}

.menu-toggle,
.main-nav{
display:none;
}

.main-nav{
display:none;
flex-direction:column;
background:#fff;
position:absolute;
width:100%;
top:100%;
left:0;
}

.hero-banner{
  width: 100%;
  max-width: 1200px;
  height: 260px;
  margin: 2rem auto 0.5rem;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.12);
}

.page-wrapper:hover{
  box-shadow:0 40px 100px rgba(0, 0, 0, 0.15);
}
.site-header,
.procty,
.cta{
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.20);
}

.main-nav.active{
display:flex;
}

.main-nav a{
padding:1rem;
margin:0;
border-top:1px solid #eee;
font-weight: 500;
}
