 :root {
     /* zelene nijanse (po uzoru na screenshot) */
     --sp-green: #86d031;
     --sp-green-dark: #58a020;
     --sp-text: #333;
     --sp-muted: #6c757d;
     --sp-light: #f7f9fb;
     --sp-white: #fff;
     --sp-topbar: #ebebeb;
 }



 html, body {
     font-family: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
     color: var(--sp-text);
 }
 /* Top info bar */
 .topbar {
     font-size: .95rem;
     background: var(--sp-topbar);
     border-bottom: 1px solid rgba(0, 0, 0, .06);
 }
 .topbar .bi {
     vertical-align: -.125em;
     margin-right: .35rem;
 }
 .topbar a {
     color: var(--sp-green);
     text-decoration: none;
 }
 .topbar a:hover {
     color: var(--sp-green-dark);
 }

.topbar-text a {
    color: var(--sp-text)!important;
}

.topbar-text a:hover {
     color: var(--sp-green-dark)!important;
 }

 /* Navbar */
 .navbar {
     --bs-navbar-padding-y: .35rem;
     background: rgba(255, 255, 255, .96);
     box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
 }
 .navbar-brand img {
     height: auto;
     width: 100%;
 }

@media (max-width: 451px) {
    .navbar-brand {
     width: 70%;
 }
     .topbar .container {
    display: flex;
    /*flex-direction: column;*/
    align-items: center;
    text-align: center;
    gap: .35rem; /* malo prostora između elemenata */
  }
    
    .topbar-text {
    flex-direction: column !important; /* umesto redom, složi u kolonu */
    align-items: center !important;    /* centriraj linkove */
    gap: .25rem !important;            /* manji razmak */
    text-align: center;
  }

  .topbar-text a {
    justify-content: center; /* ikonica i tekst centrirani */
    font-size: 0.9rem;        /* malo sitnije da lepše stane */
  }
}

@media (max-width: 1199px) and (min-width: 992px) {
    .navbar-brand {
     width: 25%;
    }
}


@media (max-width: 1199px) {
    
 .navbar-nav .nav-link {
    font-size: 0.9rem; /* smanji font, prilagodi po želji */
    padding: 0.5rem 0.5rem!important; 
          letter-spacing: .0em;

  }
    
    
}

@media(max-width: 763px)
{
    .owl-nav {
        display: none!important;
    }
}

 .nav-link {
     position: relative;
     font-weight: 600;
     letter-spacing: .02em;
     padding: 0.85rem 1rem;
     color: #222 !important;
 }
 .nav-link:hover {
     color: var(--sp-green-dark) !important;
 }
 /* “zeleni jezik” za aktivnu stavku (HOME) */
 .nav-link.active {
     color: #fff !important;
     background: linear-gradient(0deg, var(--sp-green-dark), var(--sp-green));
     border-radius: 8px;
     padding: .85rem 1.15rem;
     box-shadow: 0 3px 10px rgba(90, 160, 20, .25);
 }
 

 
 /* Section spacing */
 section {
     padding: 100px 0;
     /*margin: 100px 0px;*/
     text-align: center!important;
     /*scroll-margin-top: 90px;*/
 }



.section-title {
  font-weight: 700;
  text-align: center;
  margin-bottom: 24px;
  position: relative;
  display: inline-block;
  padding-bottom: .5rem;
  margin-bottom: 1.5rem;
    margin: 0 auto 1.5rem; 
}

.section-title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 100px;          /* dužina linije */
  height: 4px;          /* debljina linije */
  border-radius: 2px;
  background: var(--sp-green);
}

.st-green::after {
  background: var(--sp-white)!important;
}



 .section-sub {
     color: var(--sp-muted);
     text-align: center;
     margin-bottom: 36px;
 }
 /* Cards / gallery placeholders */
 .sp-card {
     border: 1px solid rgba(0, 0, 0, .06);
     border-radius: 12px;
     overflow: hidden;
     background: #fff;
     box-shadow: 0 6px 18px rgba(0, 0, 0, .06);
 }
 .sp-card .thumb {
     aspect-ratio: 16/9;
     background: #e9ecef;
 }
 .sp-card .body {
     padding: 16px;
 }
 /* Footer */
 footer {
     background: #0e0f10;
     color: #cfd3d6;
 }
 footer a {
     color: #cfd3d6;
     text-decoration: none;
 }
 footer a:hover {
     color: #fff;
 }
 /* Utilities */
 .btn-sp {
     background: linear-gradient(0deg, var(--sp-green-dark), var(--sp-green));
     border: none;
     color: #fff;
     font-weight: 600;
     border-radius: .5rem;
     padding: .7rem 1.1rem;
     box-shadow: 0 6px 18px rgba(90, 160, 20, .3);
 }
 .btn-sp:hover {
     opacity: .95;
     color: #fff;
 }
 /* Responsive tweaks */
 @media (max-width: 991.98px) {
     .nav-link.active::before {
         display: none;
     }
     .navbar-collapse {
         padding-top: .75rem;
         padding-bottom: .75rem;
         border-top: 1px solid rgba(0, 0, 0, .06);
     }
     .navbar {
         box-shadow: 0 1px 8px rgba(0, 0, 0, .06);
     }
 }


.btn-back-to-top {
  position: fixed;
  bottom: 25px;
  right: 25px;
  width: 48px;
  height: 48px;
  border: none;
  border-radius: 50%;
  background: var(--sp-green);
  color: #fff;
  font-size: 20px;
  display: none; /* sakriven dok se ne skroluje */
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 10px rgba(0,0,0,.25);
  z-index: 1050;
  transition: opacity .3s ease-in-out;
}
.btn-back-to-top:hover {
  background: var(--sp-green-dark);
  color: #fff;
}



/* Hero visina i stacking */
#home { position: relative; }
#home .carousel { position: relative; z-index: 1; }

/* Talas na dnu hero-a */
#home .wave-bottom {
  position: absolute;
  left: 0; right: 0; bottom: -1px;
  width: 100%;
  height: 50px;        /* koliko visok talas želiš */
  display: block;
  z-index: 2;
  pointer-events: none; /* da ne smeta klikovima na strelice karusela */
}





#references {
  position: relative;
  color: #fff; /* tekst bijel da se istakne na zelenoj */
  background: var(--sp-green) url("../images/bg-referenzen.png") center/cover no-repeat;
}

#references .section-title,
#references .section-sub,
#references .sp-card {
  color: #fff;
}

#references .sp-card {
  background: rgba(0,0,0,0.35); /* malo prozirna kutija da tekst bude čitljiv */
  border: none;
}



/* --- Strelice za carousel --- */
.referenzen-carousel .owl-nav button.owl-prev,
.referenzen-carousel .owl-nav button.owl-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: var(--sp-white);
  color: #fff !important;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  font-size: 28px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 10px rgba(0,0,0,.2);
  transition: background .3s;
}

.referenzen-carousel .owl-nav button.owl-prev:hover,
.referenzen-carousel .owl-nav button.owl-next:hover {
  background: var(--sp-green-dark);
}

.referenzen-carousel .owl-nav button.owl-prev {
  left: -100px; /* pomeri strelicu levo */
}
.referenzen-carousel .owl-nav button.owl-next {
  right: -100px; /* pomeri strelicu desno */
}

/* --- Slike crno-bele pa na hover u boji --- */
.referenzen-carousel img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  filter: grayscale(100%);
  transition: filter .4s ease;
    margin: 20px 0px;
}

.referenzen-carousel img:hover {
  filter: grayscale(0%);
}




/* Tiles: malo kompaktnije nego pre, ali “veće” vizuelno od sitnih ikonica */
.contact-tiles .tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: .35rem;
  background: #fff;
  border-radius: 14px;
  padding: 18px 16px;         /* smanjeno sa 22px */
  height: 100%;
  text-decoration: none;
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 8px 22px rgba(0,0,0,.08);
  transition: transform .2s ease, box-shadow .2s ease;
}
.contact-tiles .tile-icon {
  width: 52px;                /* bilo 56px */
  height: 52px;
  border-radius: 50%;
  background: linear-gradient(0deg, var(--sp-green-dark), var(--sp-green));
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 22px;            /* bilo 24px */
  box-shadow: 0 6px 16px rgba(90,160,20,.35);
  margin-bottom: .25rem;
}
.contact-tiles .tile-title {
  font-weight: 700;
  margin: .15rem 0 .1rem;
  color: #111;
  font-size: 1rem;
}
.contact-tiles .tile-text {
  color: var(--sp-text);
  font-weight: 500;
}

/* Forma: sužena dodatno, max širina + malo uži field-ovi na velikim ekranima */
.contact-form-wrap {
  max-width: 720px;           /* dodatna “kočnica” širine */
  margin-inline: auto;
}
@media (min-width: 992px){
  .contact-form-wrap .form-control, 
  .contact-form-wrap textarea {
    font-size: .95rem;
  }
}

/* Blagi razmak između tiles i forme na svim uređajima */
#contact .contact-tiles { margin-bottom: 1.25rem; }


/* Da forma i mapa budu iste visine */
#contact .sp-card.h-100 {
  display: flex;
  flex-direction: column;
}

/* Slika mape ispunjava card */
#contact .sp-card img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}






#overview h3 {
  font-weight: 700;
  color: var(--sp-green-dark);
}

/* Accordion stil */
.accordion-button {
  font-weight: 600;
  color: var(--sp-green-dark);
}
.accordion-button:not(.collapsed) {
  background: var(--sp-green);
  color: #fff;
}




#gallery img {
  transition: transform .3s ease, box-shadow .3s ease;
  cursor: pointer;
}
#gallery img:hover {
  transform: scale(1.03);
  box-shadow: 0 8px 18px rgba(0,0,0,0.25);
}




.table-sm> :not(caption)>*>* { padding: .45rem .6rem; }






/* NAV: neutralni "active" — bez bedža, samo bold */
.navbar-nav .nav-link.active {
  background: transparent !important;
  color: #000 !important;
  font-weight: 999;           /* malo deblji font */
  padding: 0.85rem 1rem;      /* isto kao običan link */
  box-shadow: none !important;
  border-radius: 3px;   
}

/* Ukloni sve trouglove/pseudo-elemente za active */
.navbar-nav .nav-link.active::before,
.navbar-nav .nav-link.active::after {
  display: none !important;
  content: none !important;
}

/* Hover ostaje zelen kao i do sada */
.navbar-nav .nav-link:hover {
  color: #fff !important;
  background: linear-gradient(0deg, var(--sp-green-dark), var(--sp-green));
  border-radius: 8px;
  box-shadow: 0 3px 10px rgba(90, 160, 20, .25);
  transition: all 0.25s ease;
}

/* (opciono) malo gladak prelaz boje */
.navbar-nav .nav-link { 
  transition: color .2s ease;
}




@media (max-width: 768px) {
  #home { --hero-h: 420px; }
  #home .carousel,
  #home .carousel-inner,
  #home .carousel-item { height: var(--hero-h) !important; }

  #home .carousel-item { position: relative; overflow: hidden; }
  #home .carousel-item img {
    position: absolute; inset: 0;     /* top/right/bottom/left: 0 */
    width: 100%; height: 100%;
    object-fit: cover;
  }
}



/* Tabs – full width, ravnomerno raspoređeni */
.nav-pills {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .5rem;
}

.nav-pills .nav-item {
  flex: 1 1 auto; /* svi zauzimaju jednako prostora */
  text-align: center;
}

.nav-pills .nav-link {
  width: 100%;
  border-radius: 10px;
  font-weight: 600;
  padding: .6rem .9rem;
  color: #222;
  background: #f1f3f5;
  transition: all .25s ease;
}

.nav-pills .nav-link:hover {
  background: linear-gradient(0deg, var(--sp-green-dark), var(--sp-green));
  color: #fff!important;
  
}

.nav-pills .nav-link.active {
  color: #fff;
  background: linear-gradient(0deg, var(--sp-green-dark), var(--sp-green));
  box-shadow: 0 3px 10px rgba(90,160,20,.25);
}


.leistungen-list  ul li {
  margin-bottom: .4rem;
  font-weight: 500;
  color: var(--sp-text);
}

.leistungen-list  ul li::before {
  content: "• ";
  color: var(--sp-green-dark);
  font-weight: bold;
}


/* slider */
.carousel-inner {
    box-shadow: 0 8px 10px -4px rgba(0, 0, 0, .52);
}

@media (max-width: 767px) {
  .slider-1 img {
    content: url("./../images/slider-1-mob.png");
  }
  .slider-2 img {
    content: url("./../images/slider-2-mob.png");
  }
}




/* ueber uns */ 
@media (max-width: 991px) {
  #about .col-lg-6.text-start {
    text-align: center !important;
  }

  #about .col-lg-6.text-start .section-title {
    margin-left: auto;
    margin-right: auto;
    text-align: center !important;
  }

  #about .col-lg-6.text-start .btn-sp {
    display: inline-block;
    margin: 0 auto;
  }


  /* Ispod 992px — prikazi uu-image-2, sakrij uu-image-1 */
  .uu-image-1 {
    display: none !important;
  }
  .uu-image-2 {
    display: block !important;
  }
}


/* Po defaultu sakrij mobilnu sliku */
.uu-image-2 {
  display: none;
  margin: 25px 0 25px 0!important;
}




/* ===== Page Loader ===== */
#page-loader{
  position: fixed; inset: 0;
  background: #fff;             /* čista bijela pozadina */
  z-index: 2000;                /* iznad svega */
  display: grid; place-items: center;
  transition: opacity .35s ease, visibility .35s ease;
}
#page-loader.hidden{
  opacity: 0; visibility: hidden; pointer-events: none;
}

#page-loader .pl-inner{
  text-align: center;
}

.pl-logo{
  display: block;
  max-width: 350px;
  width: 65vw; 
  height: auto;
  margin: 0 auto 14px;
  filter: drop-shadow(0 4px 12px rgba(0,0,0,.12));
}


.pl-text{
  margin-top: 10px;
  font-weight: 700;
  letter-spacing: .02em;
  color: var(--sp-text);
}

/* Spinner u zelenom stilu brenda */
.pl-spinner{
  width: 52px; height: 52px;
  margin: 0 auto;
  border-radius: 50%;
  border: 4px solid rgba(134,208,49,.25);          /* #86d031 sa prozirnošću */
  border-top-color: var(--sp-green);               /* aktivni segment */
  animation: sp-rotate 1s linear infinite;
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
}

/* Animacija */
@keyframes sp-rotate{
  to { transform: rotate(360deg); }
}

/* Prefer-reduced-motion: bez animacija */
@media (prefers-reduced-motion: reduce){
  .pl-spinner{ animation: none; border-top-color: var(--sp-green-dark); }
  #page-loader{ transition: none; }
}

/* No-JS fallback: sakrij loader ako je JS isključen */
noscript #page-loader { display: none !important; }





/* --- Toast Notification --- */
.toast {
  position: fixed;
  left: 50%;
  bottom: 30px; /* promeni u top: 30px; ako želiš da iskače gore */
  transform: translateX(-50%) translateY(100px);
  background-color: #333;
  color: #fff;
  padding: 14px 22px;
  border-radius: 8px;
  font-size: 15px;
  opacity: 0;
  pointer-events: none;
  transition: all 0.5s ease;
  z-index: 9999;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}

.toast.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.toast.success {
  background-color: #28a745;
}

.toast.error {
  background-color: #dc3545;
}
