*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    border: 0;
    font-family: "Schibsted Grotesk", sans-serif;
    scroll-behavior: smooth;
}
:root {
    --telova-text-color: #d1b192;
    --seda-text-color: #555;
    --seda-back-color: #F2F2F2;
}

section {
    opacity: 0; /* Hidden by default */
    transform: translateY(5%); /* Start below the screen */
    transition: opacity 0.5s ease-out, transform 0.5s ease-out; /* Smooth transition for opacity and transform */
}

/* When the section is in view, apply the animation */
.section-visible {
    opacity: 1; /* Fade in */
    transform: translateY(0); /* Slide into place */
}

/* container main */
.container-main{
    width: 100%;
    padding-inline: 2rem;
    display: flex;
    flex-direction: column;
}


/* NAVIGACIA */
nav {
    border-top-left-radius: 1.85rem;
    border-top-right-radius: 1.85rem;
    height: 12.5vh;
    position: fixed;
    top: 2rem; /* 2rem margin from the top */
    left: 2rem; /* 2rem margin from the left */
    width: calc(100% - 4rem); /* Full width minus 2rem on each side */
    padding: 2.5rem;
    align-items: center;
    display: flex;
    justify-content: space-between; /* Center space inside nav */
    background-color: var(--seda-back-color);
    box-sizing: border-box; /* Ensure padding and width play nicely */
    z-index: 10; /* Ensure the nav stays above the white box */
    transition: all 0.3s ease; /* Smooth transition of 'transform' instead of 'top' */
}
.link{
    text-decoration: underline !important;
    color: burlywood !important;
}

/* Sticky Navigation */
.sticky {
    top: 0;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    border-bottom: 1px solid gainsboro;
    position: fixed; /* Fixed at the top of the viewport */
    width: 100%;
    left: 0;
    transform: translateY(0); /* Move nav up by 100% of its height */
}

nav img{
    height: 2.5em;
}
.nav-list1{
    display: flex;
    gap: 3rem;
    align-items: center;
    width: 40%;
    justify-content: flex-start;
}
.nav-list2{
    display: flex;
    gap: 3rem;
    align-items: center;
    width: 40%;
    justify-content: flex-end;
}
.socials{
    display: flex;
    gap: 1rem;
}
.socials img{
    width: 2rem;
}
.nav-list1 li, .nav-list2 li{
    list-style: none;
}
.nav-list1 li a, .nav-list2 li a{
    text-decoration: none;
    color: black;
    font-weight: 500;
    font-size: 0.85rem;
    letter-spacing: 0.1em;
    position: relative;
}
.nav-list1 li a::before, .nav-list2 li a::before {
    content: '';
    position: absolute;
    bottom: -4px; /* Position underline at the bottom of the text */
    left: 0;
    width: 100%; /* Full width underline */
    height: 2px; /* Thickness of the underline */
    background-color: var(--telova-text-color); /* Underline color */
    transform: scaleX(0); /* Initially hidden */
    transform-origin: left; /* Animates from left to right */
    transition: transform 0.3s ease; /* Smooth animation */
}

/* On hover, reveal the underline */
.nav-list1 li a:hover::before, .nav-list2 li a:hover::before {
    transform: scaleX(1); /* Fully reveal the underline */
}
/* Hamburger Icon */
.hamburger-menu {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 25px;
  height: 20px;
  cursor: pointer;
}

.hamburger-menu .bar {
  width: 100%;
  height: 4px;
  background-color: black;
  transition: 0.3s ease;
}

/* Mobile Navigation Menu */
.mobile-nav {
  display: none;
  position: fixed;  /* Fixed position */
  top: 12.5vh;      /* Adjust based on your layout */
  left: 0;          /* Align to the left of the screen */
  width: 100%;      /* Full width */
  background-color: var(--seda-back-color);
  list-style: none;
  padding-top: 2rem;
  text-align: center;
  z-index: 9;       /* Ensure it's above other content */
}

.mobile-nav li {
  padding: 1rem 0;
}

.mobile-nav li a {
  text-decoration: none;
  color: black;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
}

/* Media Query for Mobile */
@media (max-width: 835px) {
nav {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
    border-bottom: 1px solid gainsboro !important;
    z-index: 10 !important;
}
.onas-container-page{
  padding: 2rem !important;
}
  .footer {
    flex-direction: column;
    padding: 3rem 1.5rem;
    gap: 5rem !important;
    align-items: center;
}
.slider-overlay-container-mobile{
  width: 100%;
  height: auto;
  margin-bottom: 1.5rem;
  margin-top: 3rem;
  display: block !important;
  
}
  .container-main-sluzby{
    width: 100%;
    margin-top: calc(12.5vh + 2rem);
    display: flex;
    flex-direction: column;
    padding-inline: 1.5rem;
}
.container-main{
    width: 100%;
    padding-inline: 1.5rem;
    display: flex;
    flex-direction: column;
}
.galeria{
  width: 100%;
  margin-top: 1.5rem;
  background-color: var(--seda-back-color);
  border-radius: 1.5rem;
  padding: 1.5rem;
}

.sluzby-sec{
    width: 100%;
    height: auto;
    margin-top: 1.5rem;
    border-radius: 1.85rem;
    margin-bottom: 4rem;
}
  .hamburger-menu {
      display: flex ; /* Show hamburger icon on small screens */
  }

  .nav-list1,
  .nav-list2 {
      display: none; /* Hide regular nav items on mobile */
  }

  /* responsivita pre cennik */
  .sluzba-nazov{
    flex-direction: column;
    gap: 1rem;
  }
  .sluzba-info{
    align-self: center !important;
    margin-bottom: 2rem;
  }
  .nazov{
    text-align: center;
  }
  .sluzba-item{
    align-items: center !important;
  }
  .onas-wrapper{
    font-size: 0.8rem !important;
    gap: 1rem !important;
    line-height: 1.5rem !important;
    width: 80% !important;
  }
  .onas-wrapper h1{
    font-size: 1.0rem !important;
    line-height: 1.5rem !important;
    color: var(--telova-text-color) !important;
  }
  .onas-sec{
    height: auto !important;
    padding: 1.5rem !important;
  }
  .onas-wrapper img{
    width: 30% !important;
  }
  .popis{
    text-align: center;
  }
  .slider-overlay{
    display: none !important;
  }
  .onas-container-page img{
    width: 80% !important;
    margin-top: 2rem !important;
    border-radius: 1rem !important;
}
.gallery-grid {
  grid-template-columns: 1fr !important;
  gap: 1.5rem !important;
  padding: 1rem !important;
}

.gallery-item {
  aspect-ratio: 3/4 !important; /* Maintain portrait aspect ratio on mobile */
}
.gallery-item img {
  height: 100% !important; /* Full height of the item */
  object-fit: cover !important; /* Cover the entire item */
  background-position: center !important;
}
}
/* Open the mobile nav */
.mobile-nav.open {
  display: block;
}

/* Hamburger Animation (when clicked) */
.hamburger-menu.open .bar:nth-child(1) {
  transform: rotate(45deg);
  position: relative;
  top: 7px;
}

.hamburger-menu.open .bar:nth-child(2) {
  opacity: 0;
}

.hamburger-menu.open .bar:nth-child(3) {
  transform: rotate(-45deg);
  position: relative;
  top: -7px;
}

/* NAVIGACI END */

/* HOME SEKCIA */
video{
    border-radius: 1.85rem;
    width: 100%;
    height: calc(100vh - 4rem);
    object-fit: cover;
    background-attachment: fixed;
    margin-top: 4rem;
    background-repeat: no-repeat;
    background-size: cover;
}

/* hOME SEKCIA END */


/* SEKCIA ONAS */
.onas-sec{
    margin-top: 2rem;
    height: 100vh;
    width: 100%;
    background-color: var(--seda-back-color);
    border-radius: 1.85rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.onas-sec img{
    width: 20%;
}

.onas-wrapper{
    width: 70%;
    display: flex;
    flex-direction: column;
    text-align: center;
    justify-content: center;
    gap: 2rem;
    align-items: center;
    line-height: 2rem;
    font-size: 1.0rem;
}
.onas-wrapper h1{
    font-size: 1.25rem;
    color: var(--telova-text-color);
    font-style: italic;
    font-weight: 600;
    line-height: 1rem;
}
/* SEKCIA ONAS END */

/* SEKCIA SLUZBY */
.sluzby-sec{
    width: 100%;
    height: auto;
    margin-top: 2rem;
    border-radius: 1.85rem;
    margin-bottom: 4rem;
}
.underh2{
    font-size: 1.5rem;
    color: var(--telova-text-color);
    text-align: center;
    font-weight: 600;
    font-style: italic;
    margin-block: 2.5rem;
}
.slider {
    width: 100%; /* Full-width container */
    height: 100vh; /* Height of the slider */
    position: relative; /* Make it a positioned element */
    overflow: hidden; /* Hide any overflowing content */
    border-radius: 1.85rem; /* Rounded corners */
    margin: auto;

}

.slider-overlay {
    content: ""; /* Create an empty pseudo-element */
    position: absolute; /* Position it within the slider */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: auto;
    background-color: transparent; /* No overlay initially */
    z-index: 2; /* Place the overlay above the images */
    transition: 0.3s ease-in-out; /* Smooth transition */
    background-color: rgba(0, 0, 0, 0.5); /* Add semi-transparent black overlay on hover */
    opacity: 0;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}
.slider-overlay-container{
  width: 50%;
  height: auto;
}

.slider-overlay-container h1{
  color: var(--telova-text-color);
  text-align: center;
  font-size: 3rem;
}
.slider-overlay-container p{
  
  font-size: 3rem;
  text-align: center;
  margin-top: 3rem;
  
  
  
}


.slider-overlay-container a {
    cursor: pointer;
    background: none;
    padding-inline: 2rem;
    padding-block: 1rem;
    border: 2px solid var(--telova-text-color);
    color: var(--telova-text-color);
    font-size: 2rem;
    font-style: italic;
    font-weight: 700;
    border-radius: 10px;
    transition: ease-in-out 0.2s;
    background-color: none;
    text-decoration: none;
}

.slider-overlay-container a:hover {
    color: white;
    background-color: var(--telova-text-color);
    border: none;
}
.slider-overlay-container-mobile{
  width: 100%;
  height: auto;
  margin-bottom: 1.5rem;
  margin-top: 3rem;
  display: none;
  
}

.slider-overlay-container-mobile h1{
  color: var(--telova-text-color);
  text-align: center;
  font-size: 3rem;
}
.slider-overlay-container-mobile p{
  
  font-size: 2rem;
  text-align: center;
}

.slider-overlay-container-mobile a {
    cursor: pointer;
    background-color: var(--telova-text-color);
    padding-inline: 1rem;
    padding-block: 0.8rem;
    border: none;
    color: white;
    font-size: 1.5rem;
    font-style: italic;
    font-weight: 700;
    border-radius: 10px;
    transition: ease-in-out 0.2s;
    background-color: none;
    text-decoration: none;
}

.slider-overlay:hover {
    opacity: 1;
}
.slider-overlay:hover {
    opacity: 1;
}

.slides {
    display: flex; /* Arrange images in a row */
    transition: transform 0.5s ease-in-out; /* Smooth sliding effect */
    width: 300%; /* Updated dynamically to match the number of slides */
}

.slide {
    width: 100%; /* Full width of the slider */
    height: 100vh; /* Matches the slider height */
    object-fit: cover; /* Maintain aspect ratio */
    position: relative; /* Ensure it's under the overlay */
    z-index: 1; /* Place the image below the overlay */
    background-size: cover;
}
.slide img {
    width: 100%; /* Make the image as wide as its parent */
    height: 100%; /* Match the parent's height */
    object-fit: cover;
}

.sluzby-container{
    margin-top: 2rem;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    padding: 3rem;
    border-radius: 1.85rem;
    background-color: var(--seda-back-color);
    gap: 2rem;
}

@media (max-width : 1400px) {
  .sluzby-container{
    gap: 2rem;
  }
  .sluzby-container .sluzby-bunka:nth-child(-n+3) {
    padding-right: 2rem;
}
.sluzby-bunka h3{
  font-size: 1.25rem !important;
}
.sluzby-bunka p{
  font-size: 1rem !important;
}
}

@media (max-width : 1000px){
  .sluzby-container{
    flex-direction: column;
  }
  .sluzby-container .sluzby-bunka:nth-child(-n+3) {
        border-bottom: 1px solid var(--telova-text-color);
        padding-bottom: 4rem;
        padding-inline: 0;
        border-right: none !important;
        padding-right: 0 !important;
}
}

.sluzby-container .sluzby-bunka:nth-child(-n+3) {
    border-right: 1px solid var(--telova-text-color);
}
.sluzby-bunka {
    display: flex;
    flex-direction: column;
    align-items: center; /* Keeps the content centered horizontally */
    padding-right: 2rem;
}
.sluzby-bunka h3{
    font-size: 1.5rem;
    text-align: center;
    color: var(--telova-text-color);
    font-style: italic;
    font-weight: 500;
}
.sluzby-bunka p{
    margin-top: 1.5rem;
    text-align: left;
    font-size: 1rem;
    font-weight: 300;
    letter-spacing: 0.08rem;
    color: var(--seda-text-color);
    width: 100%;
}
/* Remove the border for the last child */
.sluzby-container .sluzby-bunka:last-child {
    border-right: none;
}
.sluzby-bunka img {
    margin-bottom: 2rem;
    width: 100%;
    background-color:black;
    aspect-ratio: 16/9;
}
.button-con{
    display: flex;
    justify-content: center;
    align-items: center;
    margin-block: 2rem;
}
.button-sluzby{
    text-decoration: none;
    padding-inline: 2rem;
    padding-block: 1rem;
    border: 2px solid var(--telova-text-color);
    color: var(--telova-text-color);
    font-size: 2rem;
    font-style: italic;
    font-weight: 700;
    border-radius: 10px;
    transition: ease-in-out 0.2s;
    box-shadow: inset 0 0 0 0 white;
}
.button-sluzby:hover{
    color: white;
    box-shadow: inset 40rem 0 0 var(--telova-text-color);
    border: 2px solid white;
}


/* PATICKA */
.footer {
  background-color: #f2f2f2;
  padding: 5rem 2rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center; /* Zmenené zo space-between na center */
  gap: 2rem;
  margin-top: 2rem;
  font-family: Arial, sans-serif;
  text-align: center; /* Zarovnanie textu */
}

.footer-section {
  flex: 1;
  min-width: 200px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  align-items: center; /* Zarovnáva obsah horizontálne na stred */
}

.footer-section h3 {
  font-size: 1.5rem;
  font-weight: 500;
  font-style: italic;
  color: var(--telova-text-color);
  border-bottom: 1px solid var(--telova-text-color);
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
}

.footer-section p,
.footer-section ul li {
  font-size: 1rem;
  color: var(--seda-text-color);
  margin: 0.5rem 0;
}

.footer-section a {
  color: var(--seda-text-color);
  text-decoration: none;
  transition: color 0.2s ease-in-out;
}

.footer-section a:hover {
  color: #D4A373;
}

.social-icon img {
  width: 2rem;
  object-fit: cover;
}

.footer-section ul {
  list-style: none;
  padding: 0;
  margin: 0;
}


  /* SLUZBY SITE */
  .heading-underpage{
    width: 100%;
    background-color: var(--seda-back-color);
    border-radius: 1rem / 1rem; 
  }
  .heading-underpage h1{
    font-size: 2rem;
    color: var(--telova-text-color);
    text-align: center;
    font-weight: 600;
    font-style: italic;
    margin-block: 1rem;

  }
  .container-main-sluzby{
    width: 100%;
    margin-top: calc(12.5vh + 2rem);
    display: flex;
    flex-direction: column;
    padding-inline: 2rem;
}
.sluzba{
    width: 100%;
    background-color: var(--seda-back-color);
    margin-top: 2rem;
    border-radius: 1.85rem;
    padding: 3rem;
}
.sluzba h3{
    font-size: larger;
    margin-bottom: 1.5rem;
    color: var(--telova-text-color);
    margin-left: 1rem;

}
.sluzba p{
    font-size: medium;
    line-height: 1.5rem;
    color: var(--seda-text-color);
    padding: 0.25rem 0;
}
.sluzba ul, .sluzba ol{
    margin-left: 3rem;
    margin-block: 1rem;
    font-size: medium;
    line-height: 1.5rem;
    color: var(--seda-text-color);
}

/* CENNIK SITE */
.cennik {
    margin-block: 2rem;
  }
  .cennik-nadpis{
    font-size: 2rem;
    font-style: italic;
    color: var(--telova-text-color);
    text-align: center;
  }
  
  .sluzba-item {
    margin-top: 2rem;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    border-radius: 1.5rem;
    margin-block: 2rem;
  }
  
  .sluzba-item:nth-child(even) {
    background-color: var(--seda-back-color);  /* Light gray background for every second item */
  }
  
  .sluzba-nazov {
    font-style: italic;
    display: flex;
    justify-content: space-between;
  }
  .nazov{
    font-weight: bold;
    font-size: 1.25rem;
    color: var(--telova-text-color);
    margin-left: 0.2rem;
  }
  .sluzba-info {
    width: auto;  /* Set the width of sluzba-info to 30% */
    display: flex;
    justify-content: flex-start;  /* Align the section to the right */
    gap: 3rem;
    align-self: flex-end;
    position: relative;
  }
  .sluzba-info::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 70%;
    top: 1rem;
    border-bottom: 2px solid var(--telova-text-color);/* Thickness of the outline */
    border-radius: 1rem;
}
  
  .cena, .cas {
    text-align: left; /* Align text inside to the left */
    white-space: nowrap;  /* Prevent text wrapping */
    color: black;
  }
  
  .cas {
    min-width: 3rem;  /* Set a minimum width for Cas to avoid misalignment */
  }
  
  .popis {
    font-size: 1rem;
    color: var(--seda-text-color);
    margin-top: 1rem;
    width: 60%;
    line-height: 1.5rem;
  }


/* ONAS-page */
.onas-container-page {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    text-align: left;
    justify-content: center;
    gap: 1.5rem;
    align-items: center;
    line-height: 1.7rem;
    font-size: 1.0rem;
    margin-top: 2rem;
    background-color: var(--seda-back-color);
    border-radius: 2rem;
    padding: 5rem;
}


.onas-container-page h2{
    font-size: 1.25rem;
    color: var(--seda-text-color);
    font-style: italic;
    font-weight: 600;
    line-height: 1.5rem;
    margin-bottom: 1rem;
    width: 100%;
}
.onas-container-page p{
    width: 100%;
}
.onas-container-page img{
    width: 50%;
    margin-top: 4rem;
    margin-bottom: 2rem;
    object-fit: cover;
    background-position: center;
    border-radius: 1.85rem;
    z-index: 5;
    border: #D4A373 2px solid;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 20px 0px;
    transition: 0.1s ease-in-out; /* Smooth transition for the scaling effect */
}
.onas-container-page img:hover{
  box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 30px 0px;
  border: black 2px solid;
}
.imagemich{
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
}
.pasik {
  content: "";
  position: absolute;
  bottom: 20%;
  left: 0;
  width: 100%;
  height: 10%;
  background-color: var(--telova-text-color);
  z-index: 1;
}

.galeria{
  width: 100%;
  margin-top: 2rem;
  background-color: var(--seda-back-color);
  border-radius: 2rem;
  padding: 2rem;
}

.galeria h2{
  font-size: 2rem;
  color: var(--telova-text-color);
  text-align: center;
  font-weight: 600;
  font-style: italic;
  margin-block: 2.5rem;
}
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
}

.gallery-item {
  position: relative;
  overflow: hidden;
  border-radius: 1.85rem;
  border: 2px solid var(--telova-text-color);
  transition: all 0.3s ease;
}

.gallery-item img {
  width: 100%;
  height: 80vh;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}
.gallery-item:hover {
  box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 20px 0px;
}

.gallery-item:hover img {
  transform: scale(1.1);
}