html {
  scroll-behavior: smooth;
}

body {
     margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;   
    align-items: center;      
    font-family: 'Poppins', sans-serif; 
}

.navbar {
   background-color: #fff;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1),
              inset 0 0 20px rgba(255, 255, 255, 0.05);
  width: 80%;
  height: 60px;
  border-radius: 50px;
  display: flex;             
  align-items: center;  
  justify-content: space-between;
  padding: 0 20px;
  margin-top: 10px;    
  z-index: 900;  
  position: fixed;
}

.text a {
  color: #000000;
  text-decoration: none;
  display: inline-block;          
  transition: transform 0.3s ease-in-out;  
  transform: translateY(0);        
}

.text a:hover {
  transform: translateY(-5px);     
}

.volaj{
    border-color: black;
   background: transparent;

    /* jemný tieň a vnútorný odlesk */
    
    height: 40px;
    margin-top: 8px;
    font-family: 'Poppins', sans-serif; 
    transition: all 0.4s ease-out; 
    cursor: pointer;
    border: 1px solid black;
    margin-bottom: 8px ;
    color: #000000;
}

.volaj:hover{
    background-color: black;
    color: #fff;
}

/* container burger */
/* Menší burger */
.burger {
  position: relative;
  width: 25px;
  height: 18px;
  background: transparent;
  cursor: pointer;
  display: inline-block;
  -webkit-tap-highlight-color: transparent;
  margin-right: 10px;
  margin-bottom: 3%;
}

.burger input {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  left: 0;
  top: 0;
  margin: 0;
  cursor: pointer;
}

/* Prúžky */
.burger span {
  display: block;
  position: absolute;
  height: 2.5px; /* tenšie čiary */
  width: 100%;
  background: black;
  border-radius: 9px;
  left: 0;
  transform: rotate(0deg);
  transition: transform .25s ease-in-out, top .25s ease-in-out, left .25s ease-in-out, width .25s ease-in-out, opacity .25s ease-in-out;
}

/* Pozície prúžkov */
.burger span:nth-of-type(1) {
  top: 0px;
  transform-origin: left center;
}

.burger span:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%);
  transform-origin: left center;
}

.burger span:nth-of-type(3) {
  top: 100%;
  transform: translateY(-100%);
  transform-origin: left center;
}

/* Stav keď je zaškrtnuté (X) */
.burger input:checked ~ span:nth-of-type(1) {
  transform: rotate(45deg);
  top: 0px;
  left: 3px;
}

.burger input:checked ~ span:nth-of-type(2) {
  width: 0%;
  opacity: 0;
}

.burger input:checked ~ span:nth-of-type(3) {
  transform: rotate(-45deg);
  top: 17px;
  left: 3px;
}

#nav-links {
  opacity: 0;
  overflow: hidden;
  transform: translateY(-20px);
  transition: all 0.4s ease;
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 70px;
  left: 0;
  width: 100%;
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1),
              inset 0 0 20px rgba(255, 255, 255, 0.05);
  padding: 0; 
  gap: 20px;
  text-align: center;
 pointer-events: none;
 
}

#nav-links.active {
  max-height: 500px; 
  opacity: 1;
  transform: translateY(0);
  padding: 20px 0;
  pointer-events: auto;
}

.logo img {
    width: 60px;
    margin-top: 10px;
}

.pozadie{
    width: 95%;
    height: 350px;
    background-image: url(kuchyna-4.jpg);
    background-position: center;
    background-size: cover;
    margin-top: 50px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.kontajner{
    width: 60%;
    height: 70%;
    background-color: #0000009a;
    backdrop-filter: blur(5px) saturate(180%);
    -webkit-backdrop-filter: blur(5px) saturate(180%);
    

    /* jemný tieň a vnútorný odlesk */
    box-shadow:
        0 4px 20px rgba(0, 0, 0, 0.1),
        inset 0 0 20px rgba(255, 255, 255, 0.05);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
}

.nadpis{
    width: 100%;
    height: 45%;
    align-items: center;
    justify-content: center;
}

.nadpis h1{
    text-align: center;
    color: #fff;
    display: flex;
    font-weight: bold;
}

.nadpis,
.podnadpis,
.zisti-viac,
.onas-nadpis,
.onas-text,
.lava-hore,
.prava-hore,
.lava-dole,
.prava-dole,
.servisy-nadpis,
.obrazky-lava,
.obrazky-prava,
.obrazok-dole,
.servisy-text,
.servisy-btn,
.projekty-nadpis,
.projekty-sekcia,
.projekty-btn,
.item1,
.item2,
.item3,
.item4,
.kontakt-nadpis,
.container,
.ikony,
.linky,
.rychle-linky,
.kopirajt,
.cislo-info,
.email-info,
.adresa-info{
  opacity: 0;
  transform: translateX(0);
  transition: all 0.8s ease-out;
}

.nadpis.show  {
  opacity: 1;
  transform: translateX(0);
  animation: slideFromLeft 0.8s ease-out forwards;
}

@keyframes slideFromLeft {
  from {
    opacity: 0;
    transform: translateX(-50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.podnadpis{
    width: 80%;
    height: 30%;
    align-items: center;
    justify-content: center;
}

.podnadpis h2{
    text-align: center;
    color: #fff;
    display: flex;
    font-size: 13px;
    font-weight: 100;
}

.podnadpis.show  {
  opacity: 1;
  transform: translateX(0);
  animation: slideFromRight 0.8s ease-out forwards;
}

@keyframes slideFromRight {
  from {
    opacity: 0;
    transform: translateX(50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideFromUp {
  from {
    opacity: 0;
    transform: translateY(-50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideFromDown {
  from {
    opacity: 0;
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.zisti-viac{
    display: flex;
    align-items: center;
    justify-content: center;
}

.zisti-viac button{
    border: 1px solid #fff;
    background: none;
    color: #ffffff;
    font-family: 'Poppins', sans-serif; 
    margin-top: -10px;
    transition: all 0.4s ease-out;
    cursor: pointer;
    height: 30px;
}

.zisti-viac button:hover{
    background-color: #fff;
    color: #000000;
}

.zisti-viac.show  {
  opacity: 1;
  animation: fadeIn 0.8s ease-out forwards;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.onas-sekcia{
  width: 100%;
  height: 400px;
  margin-top: 0px;
  gap: 20px;
   justify-content: center;
  align-items: center;
  display: flex;
  flex-direction: column;
}

.onas-nadpis{
  width: 100%;
  height: 20%;
  justify-content: center;
  align-items: center;
  display: flex;
}

.onas-nadpis.show{
  opacity: 1;
  transform: translateX(0);
  animation: slideFromLeft 0.8s ease-out forwards;
}

.onas-nadpis h1{
  font-size: 50px;
  font-weight: bolder;
}

.onas-text{
  width: 90%;
  height: 60%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.onas-text p{
  text-align: center;
  margin-bottom: -50px;
  font-size: 16px;
}

.onas-text.show{
  opacity: 1;
  transform: translateX(0);
  animation: slideFromRight 0.8s ease-out forwards;
}

.onas-dalsie{
  width: 100%;
  height: 200px;
  margin-top: 70px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
}

.hore{
  width: 100%;
  height: 50%;
  display: flex;
  flex-direction: row;
}

.lava-hore{
  width: 50%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.lava-hore.show{
  opacity: 1;
  transform: translateX(0);
  animation: slideFromLeft 0.8s ease-out forwards;
}

.lava-hore-ikona{
  width: 100%;
  height: 70%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lava-hore-ikona i{
  font-size: 60px;
}

.lava-hore-text{
  width: 100%;
  height: 30%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lava-hore-text p{
  font-size: 14px;
  font-weight: bold;
}

.prava-hore{
  width: 50%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.prava-hore.show{
  opacity: 1;
  transform: translateX(0);
  animation: slideFromRight 0.8s ease-out forwards;
}

.prava-hore-ikona{
  width: 100%;
  height: 70%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.prava-hore-ikona i{
  font-size: 60px;
}

.prava-hore-text{
  width: 100%;
  height: 30%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.prava-hore-text p{
  font-weight: bold;
  font-size: 14px;
}

.dole{
  width: 100%;
  height: 50%;
  display: flex;
  flex-direction: row;
}

.lava-dole{
  width: 50%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.lava-dole.show{
  opacity: 1;
  transform: translateX(0);
  animation: slideFromLeft 0.8s ease-out forwards;
}

.lava-dole-ikona{
  width: 100%;
  height: 70%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.lava-dole-ikona i{
  font-size: 60px;
}

.lava-dole-text{
  width: 100%;
  height: 30%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lava-dole-text p{
  font-size: 14px;
  font-weight: bold;
}

.prava-dole{
  width: 50%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}



.prava-dole-ikona{
  width: 100%;
  height: 70%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.prava-dole.show{
  opacity: 1;
  transform: translateX(0);
  animation: slideFromRight 0.8s ease-out forwards;
}

.prava-dole-ikona i{
  font-size: 60px;
}

.prava-dole-text{
  width: 100%;
  height: 30%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.prava-dole-text p{
  font-size: 14px;
  font-weight: bold;
}

.servisy-sekcia{
  height: 800px;
  width: 95%;
  background-color: #14100f;
  margin-top: 60px;
  display: flex;
  align-items: center;
  flex-direction: column;
  border-radius: 20px;
}

.servisy-nadpis{
  width: 100%;
  height: 10%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.servisy-nadpis h1{
  font-size: 40px;
  color: #fff;
}

.servisy-nadpis.show  {
  opacity: 1;
  animation: fadeIn 0.8s ease-out forwards;
}

.obrazky{
  width: 100%;
  height: 88%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.obrazky2{
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
  justify-content: center;
}

.obrazky-hore{
  width: 100%;
  height: 40%;
  gap: 10px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}

.obrazky-lava{
  width: 46%;
  height: 100%;
  background-image: url(obrzk2.jpg);
  background-position: center;
  background-size: cover;
  border-radius: 15px;
}

.obrazky-lava.show  {
  opacity: 1;
  transform: translateX(0);
  animation: slideFromLeft 0.8s ease-out forwards;
}

.obrazky-prava{
  width: 46%;
  height: 100%;
  background-image: url(obrzkkk.jpg);
  background-position: center;
  background-size: cover;
  border-radius: 15px;
}

.obrazky-prava.show  {
  opacity: 1;
  transform: translateX(0);
  animation: slideFromRight 0.8s ease-out forwards;
}

.obrazok-dole{
  width: 95%;
  height: 50%;
  background-image: url(kuchna2.jpg);
  background-position: center;
  background-size: cover;
  border-radius: 15px;
}

.obrazok-dole.show  {
  opacity: 1;
  animation: fadeIn 0.8s ease-out forwards;
}

.servisy-text-sekcia{
  width: 95%;
  height: 70%;
  border-radius: 15px;
  display: flex;
  flex-direction: column;
  align-items: center;

  background-color: #241c1b;
}

.servisy-text{
  width: 100%;
  height: 85%;
  border-radius: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.servisy-text p{
  font-weight: bold;
  color: #fff;
}

.servisy-text.show  {
  opacity: 1;
  transform: translateX(0);
  animation: slideFromLeft 0.8s ease-out forwards;
}

.servisy-btn{
  width: 100%;
  height: 15%;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 15px;
}

.servisy-btn button{
  border: 1px solid #fff;
  background: none;
  color: #fff;
  font-family: 'Poppins', sans-serif; 
  transition: all 0.4s ease-out;
  height: 35px;
  cursor: pointer;
  font-size: 18px;
  margin-bottom: 20px;
}

.servisy-btn button:hover{
  background-color: #fff;
  color: #000000;
}

.servisy-btn.show  {
  opacity: 1;
  transform: translateX(0);
  animation: slideFromRight 0.8s ease-out forwards;
}

.projekty-nadpis{
  width: 95%;
  align-items: center;
  justify-content: center;
  display: flex;
}

.projekty-nadpis h1{
  font-size: 45px;
  text-align: center;
}

.projekty-nadpis.show{
  opacity: 1;
  transform: translateX(0);
  animation: slideFromLeft 0.8s ease-out forwards;
}

.projekty-sekcia {
  width: 95%;
  height: 400px;
  max-width: 720px;
  position: relative;
  overflow: hidden;
  border-radius: 20px;
}


.projekty-sekcia.show{
  opacity: 1;
  animation: fadeIn 0.8s ease-out forwards;
}

.projekty-sekcia .slides {
  position: relative;
  width: 100%;
  height: 100%;
  padding-bottom: 56.25%;
}

.projekty-sekcia .slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: fill; 
  opacity: 0;
  transform: scale(1.03);
  transition: opacity 600ms ease, transform 800ms cubic-bezier(0.2,0.8,0.2,1);
  pointer-events: none;
}

.projekty-sekcia .slide.active {
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
}

.projekty-sekcia .dots {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 12px;
  display: flex;
  gap: 8px;
  z-index: 30;
}

.projekty-sekcia .dot {
  width: 20px;
  height: 2px;
  border: 1px solid rgba(66, 66, 66, 0.445);
  padding: 0;
  cursor: pointer;
  transition: transform 180ms ease, background 180ms ease;
  background: transparent;
}

.projekty-sekcia .dot.active {
  border: 1px solid rgb(0, 0, 0);
  transform: scale(1.15);
  background: rgba(0, 0, 0, 0.12);
}

.carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 35px;
  height: 35px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(0,0,0,0.45);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 40;
  transition: transform 160ms ease, background 160ms ease, box-shadow 160ms ease;
  color: white;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}


.carousel-btn.prev { left: 12px; }
.carousel-btn.next { right: 12px; }


.carousel-btn:hover,
.carousel-btn:focus {
  transform: translateY(-50%) scale(1.06);
  background: rgba(0,0,0,0.6);
  box-shadow: 0 6px 18px rgba(0,0,0,0.35);
  outline: none;
}

.projekty-btn{
  width: 95%;
  margin-top: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.projekty-btn button{
  height: 30px;
  border: solid 1px #000000;
  color: #000000;
  background: none;
  font-family: 'Poppins', sans-serif;
  cursor: pointer;
  transition: all 0.4s ease-out;
}

.projekty-btn button:hover{
  background-color: #000000;
  color: #fff;
}

.projekty-btn.show{
  opacity: 1;
  transform: translateX(0);
  animation: slideFromRight 0.8s ease-out forwards;
}

:root{
  --gap: 20px;
  --container-w: 95vw;
  --radius: 20px;
  --thumb-height: 220px;
  --blur-amount: 6px;
  --overlay-bg: rgba(0,0,0,0.55);
}

/* základ */
.gallery-section{
  width:100%;
  display:none;
  justify-content:center;
  padding:28px 0;
  box-sizing:border-box;
}

/* galéria (4 položky vedľa seba) */
.gallery{
  width:var(--container-w);
  display:flex;
  gap:var(--gap);
  align-items:stretch;
  justify-content:space-between;
  transition:filter .25s ease, transform .15s ease;
  box-sizing:border-box;
}

/* zablurovaná galéria pri otvorenom lightboxe */
.gallery.blurred{
  filter: blur(var(--blur-amount)) brightness(.75);
  pointer-events:none;
  user-select:none;
}

/* položky: rovnaká výška, obrázky rôznych rozmerov budú pekne orezané pomocou object-fit */
.item1 {
  position: relative;
  flex: 1 1 0;
  aspect-ratio: 1 / 1;       /* 📐 každý obrázok bude štvorcový */
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0,0,0,0.35);
  background: linear-gradient(180deg, #222, #111);
  display: flex;
  align-items: center;
  justify-content: center;
}

.item1.show{
  opacity: 1;
  transform: translateX(0);
  animation: slideFromLeft 0.8s ease-out forwards;
}

.item2 {
  position: relative;
  flex: 1 1 0;
  aspect-ratio: 1 / 1;       /* 📐 každý obrázok bude štvorcový */
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0,0,0,0.35);
  background: linear-gradient(180deg, #222, #111);
  display: flex;
  align-items: center;
  justify-content: center;
}

.item2.show{
  opacity: 1;
  transform: translateX(0);
  animation: slideFromUp 0.8s ease-out forwards;
}

.item3 {
  position: relative;
  flex: 1 1 0;
  aspect-ratio: 1 / 1;       /* 📐 každý obrázok bude štvorcový */
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0,0,0,0.35);
  background: linear-gradient(180deg, #222, #111);
  display: flex;
  align-items: center;
  justify-content: center;
}

.item3.show{
  opacity: 1;
  transform: translateX(0);
  animation: slideFromDown 0.8s ease-out forwards;
}

.item4 {
  position: relative;
  flex: 1 1 0;
  aspect-ratio: 1 / 1;       /* 📐 každý obrázok bude štvorcový */
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0,0,0,0.35);
  background: linear-gradient(180deg, #222, #111);
  display: flex;
  align-items: center;
  justify-content: center;
}

.item4.show{
  opacity: 1;
  transform: translateX(0);
  animation: slideFromRight 0.8s ease-out forwards;
}

/* náhľadové obrázky - zachovávajú pomer, ale prekryjú kontajner (bez deformácie) */
.item1 img{
 width: 100%;
  height: 100%;
  object-fit: cover;   /* 📸 automaticky oreže tak, aby vyzeral dobre */
  object-position: center;     /* kľúčové pre rôzne rozlíšenia/pomery */
  display:block;
  cursor:pointer;
  transition:transform .25s ease;
  border-radius:var(--radius);
}

.item2 img{
 width: 100%;
  height: 100%;
  object-fit: cover;   /* 📸 automaticky oreže tak, aby vyzeral dobre */
  object-position: center;     /* kľúčové pre rôzne rozlíšenia/pomery */
  display:block;
  cursor:pointer;
  transition:transform .25s ease;
  border-radius:var(--radius);
}

.item3 img{
 width: 100%;
  height: 100%;
  object-fit: cover;   /* 📸 automaticky oreže tak, aby vyzeral dobre */
  object-position: center;     /* kľúčové pre rôzne rozlíšenia/pomery */
  display:block;
  cursor:pointer;
  transition:transform .25s ease;
  border-radius:var(--radius);
}

.item4 img{
 width: 100%;
  height: 100%;
  object-fit: cover;   /* 📸 automaticky oreže tak, aby vyzeral dobre */
  object-position: center;     /* kľúčové pre rôzne rozlíšenia/pomery */
  display:block;
  cursor:pointer;
  transition:transform .25s ease;
  border-radius:var(--radius);
}

/* hover efekt */
.item1 img:hover{
  transform: scale(1.03);
}

.item2 img:hover{
  transform: scale(1.03);
}

.item3 img:hover{
  transform: scale(1.03);
}

.item4 img:hover{
  transform: scale(1.03);
}

/* LIGHTBOX (modal) */
.lightbox{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  z-index:1200;
}

/* viditeľný stav */
.lightbox.open{
  display:flex;
}

/* polopriehľadné pozadie */
.lb-backdrop{
  position: absolute;
  inset:0;
  background: var(--overlay-bg);
  backdrop-filter: blur(3px);
}

/* obsah modal (stred) */
.lb-content{
  position:relative;
  z-index:2;
  max-width:90vw;
  max-height:90vh;
  display:flex;
  align-items:center;
  gap:16px;
  pointer-events:auto;
  transition: transform .22s ease, opacity .2s ease;
}

/* wrapper pre obrázok */
.lb-image-wrap{
  max-width: calc(100vw - 120px);
  max-height: calc(100vh - 120px);
  width: auto;
  height: auto;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:14px;
  box-shadow: 0 20px 50px rgba(0,0,0,0.6);
  /* čierne pozadie pre kontrast pri portrait/landscape */
  position:relative;
  padding: 16px;                 /* priestor okolo obrázka */
  box-sizing: border-box;
}

/* samotný obrázok v lightboxe */
.lb-image-wrap img{
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit: contain;           /* kľúčové: zobraziť celý obrázok bez orezania */
  transition: transform .18s ease, opacity .18s ease;
  cursor: zoom-in;               /* ukáže používateľovi, že môže zväčšiť */
  border-radius: 8px;
}

/* keď je obrázok v "actual size" režime */
.lb-image-wrap img.actual-size{
  cursor: zoom-out;
  /* pri actual-size nechceme obmedziť scale cez CSS; veľkosť rieši JS */
  transform-origin: center center;
}

/* jemné rozšírenia, ak chceme odlišné správanie pre portrait / landscape */
.lb-image-wrap.portrait{
  padding-left: 28px;
  padding-right: 28px;
}
.lb-image-wrap.landscape{
  padding-top: 28px;
  padding-bottom: 28px;
}

/* keď je obrázok načítaný, JS pridá triedu .loaded (viz nížšie môže byť cez inline style) */
.lb-image-wrap img.loaded{
  opacity:1;
  transform: scale(1);
}

/* jednoduchý spinner počas načítania veľkého obrázka */
.lb-spinner{
  position:absolute;
  width:48px;
  height:48px;
  border-radius:50%;
  border:4px solid rgba(255,255,255,0.12);
  border-top-color: rgba(255,255,255,0.6);
  animation:spin 1s linear infinite;
  z-index:3;
  display:none;
}
.lb-spinner.show{ display:block; }

@keyframes spin{ to { transform: rotate(360deg); } }

/* zatváracie tlačidlo */
.lb-close{
  position:absolute;
  top:-12px;
  right:-12px;
  z-index:3;
  background:#111;
  color:#fff;
  border:0;
  width:44px;
  height:44px;
  border-radius:50%;
  font-size:22px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 6px 18px rgba(0,0,0,0.4);
}

/* navigačné tlačidlá (prev/next) */
.lb-nav{
  background:transparent;
  color:#fff;
  border:0;
  font-size:38px;
  cursor:pointer;
  user-select:none;
  width:56px;
  height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  box-shadow:0 6px 18px rgba(0,0,0,0.5);
}


.kontakt-nadpis h1{
  color: #000000;
  font-size: 45px;
  text-align: center;
}

.kontakt-nadpis.show  {
  opacity: 0;
  animation: fadeIn 0.5s ease-out 0.4s forwards;
}

  .container {
    background: none;
    padding: 20px 30px;
    border-radius: 10px;
    width: 80%;
    max-width: 400px;
    margin-top: -20px;
  }

  .container.show {
  opacity: 0;
  animation: slideFromDown 0.7s ease-out 0.2s forwards;
}

.container {
  opacity: 0;
  transform: translateX(0);
  transition: all 0.8s ease-out;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

  .kontakt-text {
    text-align: center;
    color: #333;
  }

  label {
    display: block;
    margin-top: 10px;
    color: #555;
    font-weight: bold;
    margin-left: -10px;
  }

  input, textarea {
    width: 100%;
    padding: 8px;
    margin-top: 5px;
    border: 1px solid #14100f91;
    border-radius: 10px;
    font-size: 14px;
    margin-left: -10px;
  }

  .kontakt-btn{
    width: 100%;
    margin-top: 15px;
    padding: 10px;
    background: none;
    color: #000000;
    border: 1px solid #000;
    font-size: 18px;
    cursor: pointer;
    transition: all 0.4s ease-out;
    font-family: 'Poppins', sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 45px;
  }
  

  .kontakt-btn:hover {
    background-color: #000;
    color: #fff;
    cursor: pointer;
  }

  footer{
  width: 100%;
  height: 500px;
  background-color: #14100f;
  margin-top: 60px;
  display: flex;
  flex-direction: column;
}

.ikony{
  width: 100%;
  height: 20%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-decoration: none !important;
}

.ikony a {
  color: #ffffff;
  text-decoration: none;
  font-size: 22px;
  outline: none;
  border: none;
  font-weight: 550;
   transition: transform 0.3s ease-in-out;  
  transform: translateY(0);
}

.ikony a:hover{
  transform: translateY(-5px);
}

.ikony.show  {
  opacity: 0;
  animation: slideFromLeft 0.5s ease-out 0.4s forwards;
}

.kopirajt{
  width: 100%;
  height: 20%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffffa8;
  font-size: 15px;
}

.kopirajt.show  {
  opacity: 0;
  animation: fadeIn 0.4s ease-out 0.4s forwards;
}

.linky{
  width: 100%;
  height: 35%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.linky h1{
  font-size: 16px;
  color: #fff;
}

.linky.show  {
  opacity: 0;
  animation: slideFromRight 0.5s ease-out 0.4s forwards;
}

.rychle-linky{
  display: flex;
  flex-direction: column;
  width: 28%;
  align-items: center;
}

.rychle-linky.show{
  opacity: 0;
  animation: slideFromLeft 0.5s ease-out 0.4s forwards;
}

.rychle-linky a{
  font-size: 14px;
  color: #e0e0e0d7;
  text-decoration: none;
  transition: all 0.3s ease;
}

.rychle-linky a:hover{
  color: #ffffff;
}

.info{
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.cislo-info{
  display: flex;
  flex-direction: row;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 5px;
  height: 30px;
}

.cislo-info.show{
   opacity: 0;
  animation: slideFromLeft 0.5s ease-out 0.4s forwards;
}

.cislo-ikona i{
  font-size: 22px;
  color: #fff;
}

.cislo-text{
  color: #fff;
}

.email-info{
  display: flex;
  flex-direction: row;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 5px;
   height: 30px;
}

.email-info.show{
   opacity: 0;
  animation: slideFromRight 0.5s ease-out 0.4s forwards;
}

.email-ikona i{
  font-size: 22px;
  color: #fff;
}

.email-text{
  color: #fff;
}

.adresa-info{
  display: flex;
  flex-direction: row;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 5px;
   height: 30px;
}

.adresa-info.show{
   opacity: 0;
  animation: slideFromLeft 0.5s ease-out 0.4s forwards;
}

.adresa-ikona i{
  font-size: 22px;
  color: #fff;
}

.adresa-text{
  color: #fff;
}

@media (min-width: 330px) and (max-width: 768px){
  .nadpis{
    width: 50%;
    text-align: center;
    display: flex;
    align-items: center;
   margin-bottom: -20px;
   margin-top: 20px;
  }

  .kontajner{
    gap: 10px;
  }

  .podnadpis{
    width: 70%;
    display: flex;
    justify-content: center;
    
  }

  .podnadpis h2{
    font-size: 16px;
}

.burger{
  margin-bottom: 2%;
}
}

@media (min-width: 768px) and (max-width: 1024px){


.nadpis{
    width: 50%;
    text-align: center;
    display: flex;
    align-items: center;
   margin-bottom: -20px;
   margin-top: 20px;
  }

  .podnadpis{
    width: 40%;
    display: flex;
    justify-content: center;
    margin-top: -20px;
  }

  .podnadpis h2{
    font-size: 16px;
}

.burger{
  margin-bottom: 2%;
}

  .onas-sekcia{
      flex-direction: row;
      width: 70%;
    }

    .onas-nadpis h1{
      font-size: 70px;
    }

    .onas-text p{
      font-size: 15px;
    }

    .onas-dalsie{
      width: 70%;
      justify-content: right;
      flex-direction: row;
    }

    .lava-hore{
      gap: 10px;
    }

    .lava-hore-ikona i{
      font-size: 70px;
    }

    .lava-hore-text p{
      font-size: 15px;
    }

    .prava-hore{
      gap: 10px;
    }

    .prava-hore-ikona i{
      font-size: 70px;
    }

    .prava-hore-text p{
      font-size: 15px;
    }

    .prava-hore.show{
       opacity: 1;
  transform: translateX(0);
  animation: slideFromDown 0.8s ease-out forwards;
    }

    .lava-dole{
      gap: 10px;
    }

    .lava-dole-ikona i{
      font-size: 70px;
    }

    .lava-dole-text p{
      font-size: 15px;
    }

    .lava-dole.show{
      opacity: 1;
  transform: translateX(0);
  animation: slideFromUp 0.8s ease-out forwards;
    }

    .prava-dole{
      gap: 10px;
    }

    .prava-dole-ikona i{
      font-size: 70px;
    }

    .prava-dole-text p{
      font-size: 15px;
    }

}
@media (min-width: 1440px) {
   
     #nav-links {
      display: block;
      opacity: 1;
      background: none;
      border-radius: 20px;
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
      border: none;
      box-shadow: none;
      top: 10%;
      text-align: right;
      pointer-events: auto;
      position: relative;
      width: 80%;
      height: 100%;
    }

    #nav-links a{
      margin-top: 2.5%;
      font-size: 18px;
    }

   .navbar{
    width: 75%;
   }

   .logo {
    margin-left: 20px;
   }
   
    .text a{
        margin-right: 20px;
        margin-top: 5%;
    }

    .text button{
        margin-right: 30px;
    }

    .burger{
        display: none;
    }

    .volaj{
        display: none;
    }

    .pozadie{
        height: 800px;
    }

    .nadpis{
        display: flex;
       align-items: center;
       justify-content: center;
    }

    .nadpis h1{
        font-size: 70px;
        margin-bottom: -50px;
    }

    .podnadpis{
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
    }

    .podnadpis h2{
        font-size: 20px;
        margin-top: -15px;
    }

    .kontajner{
        width: 50%;
        height: 50%;
        gap: 0;
        border-radius: 20px;
    }

    .zisti-viac button{
        width: 120px;
        height: 50px;
        font-size: 15px;
    }

    .onas-sekcia{
      flex-direction: row;
      width: 70%;
    }

    .onas-nadpis h1{
      font-size: 70px;
    }

    .onas-text p{
      font-size: 20px;
    }

    .onas-dalsie{
      width: 70%;
      justify-content: right;
      flex-direction: row;
    }

    .lava-hore{
      gap: 10px;
    }

    .lava-hore-ikona i{
      font-size: 90px;
    }

    .lava-hore-text p{
      font-size: 20px;
    }

    .prava-hore{
      gap: 10px;
    }

    .prava-hore-ikona i{
      font-size: 90px;
    }

    .prava-hore-text p{
      font-size: 20px;
    }

    .prava-hore.show{
       opacity: 1;
  transform: translateX(0);
  animation: slideFromDown 0.8s ease-out forwards;
    }

    .lava-dole{
      gap: 10px;
    }

    .lava-dole-ikona i{
      font-size: 90px;
    }

    .lava-dole-text p{
      font-size: 20px;
    }

    .lava-dole.show{
      opacity: 1;
  transform: translateX(0);
  animation: slideFromUp 0.8s ease-out forwards;
    }

    .prava-dole{
      gap: 10px;
    }

    .prava-dole-ikona i{
      font-size: 90px;
    }

    .prava-dole-text p{
      font-size: 20px;
    }

    .servisy-nadpis{
      justify-content: left;
      width: 78%;
      align-items: center;
      margin-top: 20px;
    }

    .servisy-nadpis h1{
      font-size: 70px;
    }

    .obrazky{
      flex-direction: row;
      width: 80%;
    }

    .obrazok-dole{
      width: 93%;
    }

    .servisy-text-sekcia{
      height: 93%;
    }

    .servisy-text{
      height: 80%;
    }

    .servisy-text p{
      font-size: 30px;
    }

    .servisy-btn{
      justify-content: left;
      width: 60%;
    }

    .servisy-btn button{
      width: 200px;
      height: 50px;
    }

    .projekty-sekcia{
      display: none;
    }

    .gallery-section{
      display:flex;
    }

    .projekty-nadpis h1{
      font-size: 50px;
    }

    .projekty-btn button{
      width: 130px;
      height: 40px;
      font-size: 15px;
    }

    .kontakt-nadpis h1{
      font-size: 60px;
    }

    footer{
    flex-direction: row;
    align-items: center;
    height: 200px;
   }

   .linky.show  {
  opacity: 0;
  animation: slideFromDown 0.5s ease-out 0.4s forwards;
}
.linky{
  margin-top: -60px;
  gap: 0;
}
}