/* Reset a základ */
body, h1, h3, p {margin:0; padding:0;}
body {font-family: Arial,sans-serif; line-height:1.5;}
header {
  position: sticky; top:0; z-index:1000;
  background:#f5f5f5; padding:15px 20px; border-bottom:1px solid #ddd;
}
.header-container {
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap;
}
.logo h1 {font-size:1.8rem; color:#333;}
.contact-info {text-align:right;}
.contact-info a {color:#0077cc; text-decoration:none;}
.contact-info a:hover{text-decoration:underline;}
@media(max-width:768px) {
  .header-container {flex-direction:column; align-items:flex-start;}
  .contact-info {margin-top:10px; text-align:left;}
}

main {padding:20px;}
.service {margin-bottom:40px;}
.service h3 {margin-bottom:10px; color:#007B9E;}

/* Galerie grid */
.gallery {
  display:grid; gap:10px; justify-items:center; align-items:center;
  margin-top:10px;
}
.gallery-stavby { grid-template-columns: repeat(auto-fit, minmax(180px,1fr)); }
.gallery-koupelny { grid-template-columns: repeat(auto-fit, minmax(150px,1fr)); }
.gallery-chodby { grid-template-columns: repeat(auto-fit, minmax(160px,1fr)); }
.gallery img {
  width:100%; height:auto; cursor:pointer; border-radius:4px;
  box-shadow:0 2px 6px rgba(0,0,0,0.1); transition:transform .2s;
}
.gallery img:hover {transform:scale(1.05);}

/* Lightbox */
.lightbox {
  display:none; position:fixed; top:0; left:0;
  width:100%; height:100%; background:rgba(0,0,0,0.9);
  z-index:9999; justify-content:center; align-items:center; flex-direction:column;
}
.lightbox-img {max-width:90%; max-height:80%; border-radius:4px;}
.lightbox-caption {color:white; margin-top:10px; font-size:1.1rem;}
.lightbox-close, .lightbox-prev, .lightbox-next {
  position:absolute;color:#fff;font-size:2rem;cursor:pointer;user-select:none;padding:10px;
}
.lightbox-close {top:10px; right:20px;}
.lightbox-prev {top:50%; left:20px; transform:translateY(-50%);}
.lightbox-next {top:50%; right:20px; transform:translateY(-50%);}

/* Footer */
footer {
  background:#f0f0f0; padding:5px 1cap;
  font-size:.85rem; text-align:center; color:#555;
  border-top:1px solid #ddd;
}
footer a {color:#0077cc; text-decoration:none;}
footer a:hover{text-decoration:underline;}

.about {
  margin: 40px 0 30px;
  padding: 0 20px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.about h2 {
  font-size: 1.6rem;
  color: #007B9E;
  margin-bottom: 15px;
}

.about p {
  font-size: 1rem;
  color: #333;
  line-height: 1.6;
}
