/******************************

FONTS / COLORS

*******************************/

:root {
  --font-default: "Poppins", sans-serif;
  --font-primary: "Poppins", sans-serif;
  --font-secondary: "Poppins", sans-serif;
}

:root {
  --color-default: #F5F5F5;
  --color-header: #fff;
  --color-footer: #000;
  --color-primary: #EB7B0C;
  --color-primary-rgb: 0, 0, 0;
  --color-primary-dark: #D9720B;
  --color-section-primary: #0F0F0F;
  --color-section-primary-dark: #000;
  --color-secondary: #F2902E;
  --color-background: #fff;
  --color-font: #241D00;
  --color-one: #fff;
  --color-two: #E1DFEB;
  --color-bread: #e7a300;
}

html, body{
  width: 100%;
  height: 100%;
  background-color: var(--color-section-primary);
  color: var(--color-font);
  font-family: var(--font-default);
  line-height: 1.4;
  margin: 0;
  padding: 0;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/******************************

MENU

*******************************/

.top-header {
  background-color: var(--color-section-primary);
  padding: 5px 15px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
  font-size: 12px;
  color: var(--color-two);
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 999;
  border-bottom: 1px solid var(--color-primary);
}

.top-header .address {
  font-weight: 500;
}

.top-header .email a {
  color: var(--color-two);
  text-decoration: none;
  transition: color 0.3s ease;
}

.top-header .email a:hover {
  color: var(--color-primary);
}

@media (max-width: 1024px) {
  .top-header {
    gap: 20px;
    font-size: 11px;
  }
}

@media (max-width: 768px) {
  .top-header {
    flex-direction: column;
    gap: 6px;
    padding: 8px 10px;
    font-size: 11px;
    min-height: 55px;
    align-items: stretch;
  }
  
  .top-header .address,
  .top-header .email {
    text-align: center;
    justify-content: center;
  }

  .navbar {
    top: 60px !important;
  }
}

.navbar {
  background-color: var(--color-header);
  padding: 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: fixed;
  width: 100%;
  z-index: 1000;
  transition: padding 0.5s ease;
  top: 30px; /* Adjust za visinu top-header-a - stavi na kraju da se ne override-uje */
}

.navbar.scrolled {
  padding: 8px;
  top: 30px; /* Zadrži poziciju i na scroll */
}

/* Ostatak CSS ostaje isti, bez duplikata .navbar bloka */

.logo {
  width: 220px;
  height: auto;
  transition: height 0.3s ease;
}

.navbar.scrolled .logo {
  width: 160px;
}

.phone-btn {
  background-color: var(--color-primary);
  color: var(--color-default);
  padding: 10px 20px;
  border-radius: 25px;
  text-decoration: none;
  font-size: 16px;
  font-weight: bold;
  display: inline-block;
  transition: all 0.3s ease;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  margin: 0 20px;
}

.phone-btn:hover {
  background-color: var(--color-primary-dark);
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}

.navbar.scrolled .phone-btn {
  padding: 8px 16px;
  font-size: 14px;
}

@media (max-width: 768px) {
  .phone-btn {
    margin: 0 10px;
    padding: 8px 15px;
    font-size: 14px;
  }
  
  .navbar.scrolled .phone-btn {
    padding: 6px 12px;
    font-size: 13px;
  }
}

.language-selector {
  position: relative;
  display: inline-block;
  padding: 0;
}

.language-selector .main-logo {
  width: 20px;
  cursor: pointer;
}

.language-options {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 5px;
  padding: 10px;
  flex-direction: column;
  gap: 5px;
  z-index: 10;
}

.language-options.show {
  display: flex;
}

.language-options img {
  width: 20px;
  cursor: pointer;
  transition: transform 0.2s;
}

.language-options img:hover {
  transform: scale(1.1);
}

.nav-list {
  margin: 0px 100px 0px 0px;
  list-style: none;
  display: flex;
  align-items: center;
}

.nav-list li {
  margin: 0 20px;
}

a {
  position: relative;
  color: inherit;
  text-decoration: none;
  line-height: 24px;
}

a:before, a:after {
  content: '';
  position: absolute;
  transition: transform .5s ease;
}

.nav-list a {
  color: var(--color-font);
  text-decoration: none;
  font-size: 18px;
  transition: color 0.5s ease, font-size 0.3s ease;
}

.navbar.scrolled .nav-list a {
  font-size: 16px;
}

.nav-list a:hover {
  color: var(--color-primary);
}

.menu-toggle {
  display: none;
  flex-direction: column;
  cursor: pointer;
  width: 25px;
  height: 20px;
  justify-content: space-between;
  transition: width 0.3s ease, height 0.3s ease;
}

.navbar.scrolled .menu-toggle {
  width: 20px;
  height: 16px;
}

.bar {
  width: 25px;
  height: 3px;
  background-color: var(--color-primary-dark);
  transition: all 0.3s ease;
}

.navbar.scrolled .bar {
  width: 20px;
  height: 2px;
}

.menu-toggle.active .bar:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}

.navbar.scrolled .menu-toggle.active .bar:nth-child(1) {
  transform: rotate(45deg) translate(4px, 4px);
}

.menu-toggle.active .bar:nth-child(2) {
  opacity: 0;
}

.menu-toggle.active .bar:nth-child(3) {
  transform: rotate(-45deg) translate(7px, -7px);
}

.navbar.scrolled .menu-toggle.active .bar:nth-child(3) {
  transform: rotate(-45deg) translate(5.5px, -5.5px);
}

.dropdown-wrap {
  position: relative;
}

.toggle-submenu {
  color: var(--color-primary);
  cursor: pointer;
  margin-left: 5px;
}

.custom-submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: -30px;
  background-color: var(--color-primary-dark);
  list-style: none;
  padding: 10px 0;
  min-width: 280px;
  z-index: 1001;
}

.custom-submenu li {
  padding: 8px 20px;
}

.custom-submenu li a {
  color: var(--color-default);
  text-decoration: none;
}

.custom-submenu li a:hover {
  color: var(--color-primary);
}

.dropdown-wrap.open .custom-submenu {
  display: block;
}

.fade-section {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

/******************************

ANIME

*******************************/

.fade-section.visible {
  opacity: 1;
  transform: translateY(0);
}

/******************************

HERO

*******************************/

.hero-section {
  padding: 0;
  margin: 0;
  position: relative;
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
  box-sizing: border-box;
  color: var(--color-default);
  background-size: cover;
  background-position: center;
  animation: fadeBackground 6s infinite;
  /*clip-path: polygon(0 0, 100% 0, 100% 90%, 0 100%); /* zadržano: osnovna kosa linija */
}

/* Dodato: talas na dnu – pseudo-element sa SVG animacijom */
.hero-section::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100px; /* visina talasa – prilagodi ako treba */
  background: linear-gradient(to top, var(--color-primary-dark) 0%, transparent 100%); /* prelaz u pozadinu za integraciju */
  z-index: 0; /* iza sadržaja */
  overflow: hidden;
}

.hero-section::after::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 200%; /* širi za pomicanje */
  height: 100%;
  background: 
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'%3E%3Cpath d='M0,56.5c0,0,298.666,0,399-0S1142.333,0,1140,56.5s-399,56.5-399,56.5S0,56.5,0,56.5z' class='shape-fill' fill='%23fff' opacity='0.1'%3E%3Canimate attributeName='d' values='M0,56.5c0,0,298.666,0,399-0S1142.333,0,1140,56.5s-399,56.5-399,56.5S0,56.5,0,56.5z;M0,48.5c0,0,298.666,16,399,16S1142.333,0,1140,48.5s-399,32-399,32S0,48.5,0,48.5z;M0,56.5c0,0,298.666,0,399-0S1142.333,0,1140,56.5s-399,56.5-399,56.5S0,56.5,0,56.5z' dur='4s' repeatCount='indefinite'/%3E%3C/path%3E%3C/svg%3E") 
    repeat-x; /* SVG talas sa ugrađenom animacijom */
  animation: waveMove 4s linear infinite; /* pomicanje talasa */
}

@keyframes waveMove {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%); /* pomera se levo za beskonačan efekat */
  }
}

/* Ostali hero stilovi ostaju isti... */

/* Default background with gradient */
.hero-section {
  background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)), url('../img/as-13.jpg');
}

@keyframes fadeBackground {
  0% {
    background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)), url('../img/Agri-Zemo.jpg');
  }
  50% {
    background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)), url('../img/Agri-Zemo.jpg');
  }
  100% {
    background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)), url('../img/Agri-Zemo.jpg');
  }
}

/* Ensure smooth fading */
.hero-section {
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}

.hero-content {
  padding: 20px;
  max-width: 800px;
}

.hero-content h1 {
  font-size: 48px;
  margin-bottom: 15px;
}

.hero-content h2 {
  font-size: 32px;
  margin-bottom: 10px;
}

.hero-content h3 {
  font-size: 24px;
  margin-bottom: 15px;
}

.hero-content p {
  font-size: 16px;
  margin-bottom: 25px;
}

.hero-button {
  display: inline-block;
  background-color: var(--color-primary-dark);
  color: var(--color-default);
  text-decoration: none;
  padding: 14px 28px;
  border-radius: 8px;
  font-size: 18px;
  font-weight: 600;
  box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.3);
  transition: background-color 0.7s ease;
}

.hero-button:hover {
  background-color: var(--color-primary);
  color: var(--color-default);
  box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.5);
}

/******************************

HERO - FADE IN ANIMACIJA

*******************************/

/* Početno stanje: nevidljivo i pomaknuto dole za slide-up efekat */
.fade-init {
  opacity: 0;
  transform: translateY(30px) scale(0.95); /* lagani pomak i smanjenje za suptilnost */
  transition: none; /* resetuj bilo kakve druge prelaze */
}

/* Animacija pojavljivanja: fade-in + slide-up + scale */
.fade-in {
  opacity: 1;
  transform: translateY(0) scale(1);
  transition: opacity 1.2s ease-out, transform 1.2s cubic-bezier(0.4, 0, 0.2, 1); /* glatki easing za lebdenje */
}

/* Specifično za hero sadržaj - mali dodatni efekat za h1, h2, h3 */
.hero-content h1.fade-in {
  transition-delay: 0s; /* h1 prvi */
}

.hero-content h2.fade-in {
  transition-delay: 0.3s; /* h2 sa delay-om (JS će ga pokrenuti) */
}

.hero-content h3.fade-in {
  transition-delay: 0.6s;
}

.hero-button.fade-in {
  transition-delay: 0.9s; /* button poslednji, za sekvencu */
  transform: translateY(30px) scale(0.95) !important; /* override za button u početku */
}

/******************************

PAGE HEADER

*******************************/
.page-header {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: 100px auto;
  width: 100%;
  height: 380px;
  overflow: hidden;
  z-index: 1;
  border-bottom: none; /* uklonjen ravni border, zamenjen senkom */
  border-radius: 20px; /* veći radius za mekši izgled */
  box-shadow: 
    inset 0 -20px 40px -20px rgba(0, 0, 0, 0.2), /* suptilniji inset za dubinu */
    0 8px 32px rgba(0, 0, 0, 0.1), /* spoljašnja senka za lebdenje */
    0 2px 8px rgba(0, 0, 0, 0.05); /* finiji layer */
  background-size: 200% 200%; /* za animaciju */
  animation: gradientFlow 10s ease infinite; /* dodato: tekući gradient */
}

.page-header div {
  z-index: 3;
}

.page-header h1 {
  margin: 0px 22px 0px 22px;
  font-size: 32px; /* malo veći za impact */
  color: var(--color-one);
  z-index: 3;
  opacity: 0;
  transform: translateY(20px); /* početni pomak za animaciju */
  animation: slideUpFade 1.5s ease-out forwards 0.5s; /* dodato: ulazak */
}

@keyframes slideUpFade {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.page-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-primary) 50%, var(--color-primary-dark) 100%); /* poboljšan gradient */
  opacity: 0.7; /* malo jači za kontrast */
  z-index: 2;
  border-radius: 20px; /* sinhronizuj sa parent */
}

@keyframes gradientFlow {
  0%, 100% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
}

/* Breadcrumb: glassmorphism efekat */
.breadcrumb {
  position: absolute;
  left: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 50px; /* malo viši za bolji osećaj */
  background: rgba(0, 0, 0, 0.2); /* prozirna pozadina */
  backdrop-filter: blur(10px); /* blur za glass efekat */
  -webkit-backdrop-filter: blur(10px); /* za Safari */
  border-top: 1px solid rgba(255, 255, 255, 0.1); /* suptilan gornji border */
  color: var(--color-one);
  font-size: 14px;
  z-index: 3;
  border-radius: 0 0 20px 20px; /* zaokruži donji deo */
}

.breadcrumb span {
  margin: 0 12px;
  color: var(--color-bread);
}

.breadcrumb i {
  margin: 0 8px 0 0;
  color: var(--color-bread);
}

.header-404 {
  position: relative;
  margin: 90px auto;
  width: 100%;
  height: 340px;
  overflow: hidden;
}

/******************************

SECTION

*******************************/

.section {
  position: relative;
  margin: auto;
  width: 100%;
  height: auto;
  overflow: hidden;
}

.section .nav-menu {
  position: relative;
  margin: 50px auto;
  padding: 50px 8px;
  display: flex;
  justify-content: center;
  width: 100%;
  gap: 20px;
  background: #000;
  overflow-x: auto;
  white-space: nowrap;
}

.section .nav-menu i {
  margin: 0px 6px 0px 0px;
}

.section .nav-menu button {
  display: inline-block;
  background-color: var(--color-default);
  color: var(--color-font);
  text-decoration: none;
  padding: 14px 28px;
  border-radius: 8px;
  font-size: 18px;
  font-weight: 600;
  box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.3);
  transition: background-color 0.7s ease;
  border: none;
  cursor: pointer;
}

.section .nav-menu button:hover {
  background-color: var(--color-primary);
  color: var(--color-default);
  box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.5);
}

.section .nav-menu button.active {
  background-color: var(--color-primary);
  color: var(--color-default);
  box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.5);
}

.section-one {
  padding: 80px 0px 0px 0px;
  background-color: var(--color-one);
}

.section-primary {
  padding: 80px 0px 0px 0px;
  background-color: var(--color-section-primary);
  overflow: hidden;
}

.section-primary-dark {
  padding: 80px 0px 0px 0px;
  background-color: var(--color-section-primary-dark);
  overflow: hidden;
}

.section-primary h2,
.section-primary h3,
.section-primary-dark h2,
.section-primary-dark h3 {
  color: var(--color-two) !important;
}

.section-primary h4,
.section-primary-dark h4 {
  color: var(--color-primary) !important;
}

.section-primary p,
.section-primary-dark p {
  color: var(--color-two) !important;
}

.section-primary li,
.section-primary-dark li {
  color: var(--color-one) !important;
}

.section-primary .box a,
.section-primary-dark a {
  color: var(--color-one) a !important;
}

.section-primary .box label,
.section-primary-dark label {
  color: var(--color-two);
}

.section-two {
  padding: 80px 0px 0px 0px;
  background-color: var(--color-two);
}

.gradient-line {
  width: 220px;
  height: 2px;
  margin: 0px auto 30px auto;
  background: linear-gradient(90deg, var(--color-primary), var(--color-primary-dark), var(--color-primary));
  background-size: 200% auto;
  animation: slideAndPulse 3s ease-in-out infinite; /* ažurirano: nova animacija */
  border-radius: 3px;
}

@keyframes slideAndPulse {
  0% {
    background-position: 0% center;
    transform: scaleX(1);
    opacity: 0.7;
  }
  25% {
    background-position: 100% center;
    transform: scaleX(1.1);
    opacity: 1;
  }
  50% {
    background-position: 200% center;
    transform: scaleX(0.9);
    opacity: 0.8;
  }
  75% {
    background-position: 100% center;
    transform: scaleX(1.05);
    opacity: 1;
  }
  100% {
    background-position: 0% center;
    transform: scaleX(1);
    opacity: 0.7;
  }
}

.section-qta {
  position: relative;
  padding: 120px 0; /* malo više prostora za moderan osećaj */
  background: 
    linear-gradient(135deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)), /* tamni overlay za čitljivost */
    url('../img/Agri-Zemo-2.jpg') center/cover no-repeat, /* slika u pozadini, centrira se i pokriva sekciju */
    linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-primary) 50%, var(--color-primary-dark) 100%); /* originalni gradient iza slike */
  background-size: 200% 200%, cover, 200% 200%; /* prilagodi veličinu za sve slojeve */
  border-top: none; /* uklonjen ravni border, zamenjen pseudo-elementom */
  border-bottom: none;
  border-radius: 0; /* ako trebaš za celu sekciju */
  overflow: hidden;
  animation: gradientFlow 8s ease infinite; /* suptilna animacija tečenja boje (samo za gradient sloj) */
}

/* Animacija za gradient – pomera se lagano (zadržano) */
@keyframes gradientFlow {
  0% {
    background-position: 0% 50%, center, 0% 50%; /* prilagodi za sve slojeve */
  }
  50% {
    background-position: 100% 50%, center, 100% 50%;
  }
  100% {
    background-position: 0% 50%, center, 0% 50%;
  }
}

/* Dekorativni "talas" gore – fade-in animacija (zadržano) */
.section-qta::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, transparent, var(--color-primary), transparent);
  border-radius: 2px; /* mekši "border" */
  animation: waveIn 1.5s ease-out forwards; /* pojavljuje se sa talasom */
  z-index: 1;
}

@keyframes waveIn {
  0% {
    transform: scaleX(0);
    opacity: 0;
  }
  100% {
    transform: scaleX(1);
    opacity: 1;
  }
}

/* Dekorativni "talas" dole – sličan, ali sa delay-om (zadržano) */
.section-qta::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, transparent, var(--color-primary), transparent);
  border-radius: 2px;
  animation: waveIn 1.5s ease-out forwards 0.5s; /* delay za sekvencu */
  z-index: 1;
}

/* Hover efekat za celu sekciju – mali lift i brži flow (zadržano) */
.section-qta:hover {
  transform: translateY(-2px); /* suptilan lift */
  animation-duration: 4s; /* ubrzaj animaciju na hover */
  transition: transform 0.3s ease;
}

.image-tape {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  width: 2400%; /* 12 images + 12 duplicated images = 24 × 100% */
  height: 100%;
  animation: filmstrip 48s infinite linear; /* 12 images × 2s per image */
  z-index: 1;
}

.image-tape img {
  width: 4.1667%; /* Each image takes 1/24 of the tape width (100% / 24) */
  height: 100%;
  object-fit: cover;
}

.section-qta .qta-btn {
  position: relative;
  margin: 30px 0px 0px 0px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.section-qta h2 {
  color: var(--color-one); 
}

.section-qta h3 {
  margin: auto auto 50px auto !important; 
  color: var(--color-default); 
}

.section-qta p {
  padding: 0px 22px 0px 22px;
  font-size: 16px;
  text-align: center;
  color: var(--color-one); 
}

.section-qta .qta-btn a {
  position: relative;
  display: inline-block;
  overflow: hidden;
  margin: 0.5rem auto;
  padding: 6px 16px;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  border: 2px solid var(--color-default);
  border-radius: 6px;
  color: var(--color-default);
  transition: all 0.3s ease-in-out;
  background-color: transparent;
  cursor: pointer;
}

.section-qta .qta-btn a:hover {
  background-color: var(--color-primary);
  border-color: var(--color-default);
  transform: translateY(-3px);
  box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15);
}

.section-qta ul {
  padding: 0px 22px 0px 22px;
  margin: auto;
  display: table;
  text-align: center;
}

.section-qta ul li {
  list-style: none;
  position: relative;
  color: var(--color-one);
}

.wave-top, .wave-bottom {
  position: relative;
  width: 100%;
  height: 100px;
  overflow: visible;
}

.wave-top {
  background-color: var(--color-primary-dark);
  clip-path: polygon(0 50%, 100% 0%, 100% 100%, 0% 100%);
  box-shadow: 0 8px 10px rgba(0, 0, 0, 0.25);
}

.wave-bottom {
  background-color: var(--color-one);
  clip-path: polygon(0 0%, 100% 50%, 100% 100%, 0% 100%);
  box-shadow: 0 -8px 10px rgba(0, 0, 0, 0.25);
}

.section h1,
.section h2 {
  margin: 0px 22px 30px 22px;
  text-align: center;
  font-size: 28px;
}

.section .white {
  color: var(--color-two);
}

.section h3 {
  margin: 0px 22px 30px 22px;
  text-align: center;
  font-size: 20px;
}

.section .white-title {
  margin: 0px 0px 30px 0px;
  text-align: center;
  color: var(--color-default);
}

.section h5 {
  text-align: center;
  width: 90%;
  margin: auto;
  font-size: 18px;
}

.section h6 {
  text-align: left;
  margin: auto;
  font-size: 18px;
  color: var(--color-secondary);
}

.blog {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
  min-height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}

.blog .post {
  padding: 30px;
  text-align: left;
  width: 100%;
  max-width: 800px;
}

.container {
  position: relative;
  margin: 50px auto;
  display: flex;
  flex-wrap: wrap;
  width: 1200px;
  height: auto;
  padding-bottom: 34px;
}

.container .box {
  position: relative;
  float: left;
  width: 550px;
  margin: 34px 0px 0px 34px;
}

.container .box h1,
.container .card h1,
.blog .post h1 {
  font-size: 24px;
  text-align: right;
  color: var(--color-font);
  margin: 20px 0px 20px 0px;
}

.container .box h2,
.blog .post h2 {
  text-align: left;
  margin: 20px 0px 20px 0px;
  color: var(--color-secondary);
  font-size: 28px;
}

.container .card h2 {
  text-align: left;
  margin: 20px 0px 20px 0px;
  color: transparent !important;
  font-size: 28px;
  text-transform: uppercase;
  color: var(--color-font) !important;
}

.container .box h3,
.container .card h3,
.blog .post h3 {
  text-align: left;
  margin: 20px 0px 20px 0px;
  font-size: 24px;
  color: var(--color-primary-dark) !important;
}

.container .box h4,
.container .card h4,
.blog .post h4 {
  text-align: left;
  margin: 20px 0px 20px 0px;
  font-size: 20px;
  font-style: italic;
  color: var(--color-font);
}

.container .box h5,
.container .card h5,
.blog .post h5 {
  text-align: left;
  margin: 20px 0px 20px 0px;
  font-size: 18px;
  color: var(--color-secondary);
}

.container .card p {
  margin: 20px 0px 20px 0px !important;
  color: var(--color-font) !important;
}

.cena {
  font-size: 36px !important;
  text-align: left;
  color: var(--color-primary);
  font-weight: 600 !important;
}

small {
  font-size: 12px !important;
  text-align: left !important;
  color: var(--color-primary);
}

.container .box .accordion {
  background-color: var(--color-default);
  color: var(--color-font);
  cursor: pointer;
  padding: 20px; /* malo više prostora za moderan osećaj */
  margin: 0 0 12px 0; /* malo više razmaka */
  width: 100%;
  border: 1.5px solid var(--color-primary);
  border-radius: 12px; /* veći radius za mekši izgled */
  text-align: left;
  outline: none;
  font-size: 16px; /* malo veći font */
  font-weight: 500; /* semi-bold za čitljivost */
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); /* glatkiji easing */
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1), 0 4px 12px rgba(0, 0, 0, 0.08); /* suptilnija, višeslojna senka */
  position: relative; /* za bolji hover efekat */
  overflow: hidden; /* da se efekti ne prosipaju */
}

.container .box .accordion:hover {
  transform: translateY(-2px) scale(1.01); /* lagani lift i scale za interaktivnost */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15), 0 8px 20px rgba(0, 0, 0, 0.1); /* jača senka na hover */
}

.container .box .active {
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary) 80%, rgba(0, 0, 0, 0.05)); /* suptilan gradient za dubinu */
  transform: translateY(0) scale(1); /* reset scale na active */
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), 0 8px 24px rgba(0, 0, 0, 0.1); /* jača senka za active */
}

.container .accordion:after {
  content: '\002B';
  color: var(--color-primary);
  font-weight: bold;
  font-size: 20px; /* veća ikona */
  float: right;
  margin-left: 10px; /* više razmaka */
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), color 0.3s ease; /* animacija rotacije i boje */
}

.container .box .active:after {
  content: "\2212";
  color: var(--color-primary-dark);
  transform: rotate(180deg); /* rotira minus za efekat otvaranja */
}

/* Dodatno: za panel (sadržaj accordion-a), ako ga imaš – slide-down animacija */
.container .panel {
  padding: 0 20px 20px;
  background-color: rgba(0, 0, 0, 0.02); /* suptilna pozadina */
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), padding 0.4s ease; /* glatko otvaranje */
  border-radius: 0 0 12px 12px; /* zaokružuje donji deo */
}

.container .box .active + .panel {
  max-height: 500px; /* prilagodi po potrebi, ili koristi JS za dinamičko */
  padding: 20px;
}

.container .box .panel {
  padding: 0 18px;
  background-color: var(--color-section-primary-dark);
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
}

.container .box .panel p {
  font-size: 14px;
  color: var(--color-font);
}

.container .box img {
  position: relative;
  width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  z-index: 2;
}

.image-wrapper::after {
  content: "";
  position: absolute;
  top: 10px;    /* pomeraj dole */
  left: 10px;   /* pomeraj desno */
  width: 100%;
  height: 100%;
  background: var(--color-primary); /* boja kartice ili */
  border-radius: 12px; /* isti radius kao slika */
  z-index: 1;
  animation: rotateAndScale 8s ease-in-out infinite; /* usporeno: 8s */
}

@keyframes rotateAndScale {
  0% {
    transform: rotate(0deg) scale(0.90);
  }
  25% {
    transform: rotate(90deg) scale(1.05);
  }
  50% {
    transform: rotate(180deg) scale(1.10);
  }
  75% {
    transform: rotate(270deg) scale(0.95);
  }
  100% {
    transform: rotate(360deg) scale(0.90);
  }
}

.container .box ul,
.container .card ul {
  padding-left: 0;
}

.container .box ul li,
.container .card ul li,
.blog .post ul li {
  list-style: none;
  position: relative;
  padding: 3px 0px 3px 34px;
}

.container .box ul li::before,
.container .card ul li::before,
.blog .post ul li::before {
  content: "\f00c";
  font-family: "FontAwesome";
  position: absolute;
  left: 0;
  top: 2px;
  width: 20px;
  height: 20px;
  background-color: var(--color-primary-dark);
  color: var(--color-one);
  font-size: 12px;
  line-height: 20px;
  text-align: center;
  border-radius: 50%;
}

.container .card:hover ul li::before {
  content: "\f00c";
  font-family: "FontAwesome";
  position: absolute;
  left: 0;
  top: 2px;
  width: 20px;
  height: 20px;
  background-color: var(--color-primary-dark);
  color: var(--color-primary-dark);
  font-size: 12px;
  line-height: 20px;
  text-align: center;
  border-radius: 50%;
}

.container .card {
  position: relative;
  margin: 0 0 24px 28px; /* malo više razmaka za disanje */
  padding: 24px; /* više prostora za moderan osećaj */
  float: left;
  width: 350px;
  height: auto;
  background: var(--color-one); /* osnovna boja */
  border-radius: 16px; /* veći radius za mekši izgled */
  overflow: hidden;
  z-index: 1;
  border: 1px solid rgba(255, 255, 255, 0.1); /* suptilniji border za neumorphism */
  box-shadow: 
    0 4px 6px rgba(0, 0, 0, 0.05), 
    0 2px 4px rgba(0, 0, 0, 0.03), 
    inset 0 1px 0 rgba(255, 255, 255, 0.2); /* višeslojna senka za dubinu i "udubljenost" */
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); /* glatkiji easing */
}

.container .card:hover {
  background: linear-gradient(135deg, var(--color-primary-dark), var(--color-primary)); /* gradient za dubinu na hover */
  transform: translateY(-8px) scale(1.02); /* lift i mali scale za interaktivnost */
  box-shadow: 
    0 12px 24px rgba(0, 0, 0, 0.15), 
    0 8px 16px rgba(0, 0, 0, 0.1), 
    inset 0 1px 0 rgba(255, 255, 255, 0.3); /* jača senka za "lebdenje" */
  border-color: rgba(255, 255, 255, 0.2);
}

/* Dodatni efekat: shine linija koja prelazi na hover */
.container .card::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
  transition: left 0.6s ease;
  z-index: 2;
}

.container .card:hover::before {
  left: 100%; /* prelazi preko kartice za sjaj */
}

.card-particle {
  position: absolute;
  border-radius: 50%;
  background-color: var(--color-primary-dark);
  pointer-events: none;
  animation: particleMove 3s ease-in-out infinite;
}

@keyframes particleMove {
  0% {
    transform: scale(0) translate(0, 0);
    opacity: 0.6;
  }
  50% {
    opacity: 0.3;
  }
  100% {
    transform: scale(1.5) translate(var(--particle-x), var(--particle-y));
    opacity: 0;
  }
}

.container .card:hover .content {
  color: var(--color-default);
}

.container .card:hover p {
  color: var(--color-default) !important;
}

.card:hover .content .contentBx h2 {
  color: var(--color-one) !important;
}

.card:hover .content .contentBx h3,
.card:hover .content .contentBx h4,
.card:hover .content .contentBx .cena,
.card:hover .content .contentBx small {
  color: var(--color-default) !important;
}

.container .card:hover ul li::before {
  color: var(--color-primary) !important;
  background-color: var(--color-default) !important;
}

.card:hover .content .contentBx h5 {
  color: var(--color-two);
}

.container .card:hover .content .imgBlog,
.container .card:hover .content .imgBx {
  opacity: 0.4;
}

.switcher-container {
  position: sticky;
  top: 20px;
  z-index: 10;
  background: transparent;
  padding: 20px 0;
  text-align: center;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
}

.switch {
  position: relative;
  display: inline-block;
  width: 60px;
  height: 34px;
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--color-two);
  transition: 0.4s;
  border-radius: 34px;
}

.slider-knob {
  position: absolute;
  height: 26px;
  width: 26px;
  left: 4px;
  bottom: 4px;
  background-color: var(--color-primary);
  transition: 0.4s;
  border-radius: 50%;
}

input:checked + .slider {
  background-color: #2196F3;
}

input:checked + .slider .slider-knob {
  transform: translateX(26px);
}

.container .card .proporuka {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 30px;
  background-color: var(--color-primary);
  color: var(--color-default);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  font-weight: 600;
  text-transform: uppercase;
  text-align: center;
}

.container .card .content .imgBx img {
  position: relative;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.container .card .content .imgBlog {
  position: relative;
  width: 100%;
  height: 150px;
  overflow: hidden;
}

.container .card .content .icon {
  display: flex;
  align-items: center;
  justify-content: center;
}

.container .card .content .icon img {
  width: 120px;
  height: 100%;
  display: inline-block;
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
  display: block;
  transition: transform 0.5s ease;
}

.container .card:hover .content .icon img {
  filter: drop-shadow(0 4px 8px rgba(3, 57, 84, 0.8));
  transform: translateY(-5px);
}

.container .card .content .imgBlog img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.container .card .content .contentBx p {
  font-size: 16px; 
  text-transform: initial;
}

a.bez {
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  font-size: 18px !important;
  text-transform: none !important;
  color: var(--color-primary-dark) !important;
  border: none !important;
  border-radius: 0 !important;
  display: inline !important;
  vertical-align: middle;
}

a.bez:hover {
  color: var(--color-title) !important;
  background-color: transparent !important;
  border-color: none !important;
  transform: none !important;
  box-shadow: none !important;
}

.container .box a,
.container .card a {
  position: relative;
  display: inline-block;
  overflow: hidden;
  margin: 30px auto;
  padding: 6px 16px;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  border: 2px solid var(--color-primary-dark);
  border-radius: 6px;
  color: var(--color-primary-dark);
  transition: all 0.3s ease-in-out;
  background-color: transparent;
  cursor: pointer;
}

.container .box a:hover {
  color: var(--color-default);
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  transform: translateY(-3px);
  box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15);
}

.container .card a:hover {
  color: var(--color-default) !important;
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  transform: translateY(-3px);
  box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15);
}

.container .card:hover a {
  color: var(--color-font) !important;
  background-color: var(--color-two);
  border-color: var(--color-two);
  transform: translateY(-3px);
  box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15);
}

.swipe:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: var(--color-primary);
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  z-index: -1;
}

.swipe:hover:before {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.dia-swipe:before {
  content: '';
  position: absolute;
  top: 0;
  right: -50px;
  bottom: 0;
  left: 0;
  border-right: 50px solid transparent;
  border-bottom: 80px solid var(--color-primary);
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  z-index: -1;
}

.dia-swipe:hover:before {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.dou-close:before, .dou-close:after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-bottom: 80px solid var(--color-primary);
  z-index: -1;
}

.dou-close:before {
  right: -50px;
  border-right: 50px solid transparent;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}

.dou-close:after {
  left: -50px;
  border-left: 50px solid transparent;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}

.dou-close:hover:before {
  -webkit-transform: translateX(-40%);
          transform: translateX(-40%);
}

.dou-close:hover:after {
  -webkit-transform: translateX(40%);
          transform: translateX(40%);
}

@keyframes animate {
   0% {
       transform:translate(-50%, -75%) rotate(0deg);
   }
   100% {
       transform:translate(-50%, -75%) rotate(360deg);
   }
}

.container .fa-angle-double-right,
.container .fa-question-circle-o {
  cursor: pointer;
  display: inline-block;
  width: 30px;
  height: 30px;
  line-height: 30px;
  background-color: var(--color-background);
  color: var(--color-primary);
  border-radius: 50%;
  text-align: center;
  font-size: 20px;
  margin: 0px 0px 0px 10px;
}

.container .box p,
.container-f .box-f p,
.blog .post p {
  font-size: 18px;
  margin: 6px auto;
}

.container .box .white-font {
  color: var(--color-default);
}

.container-f {
  position: relative;
  margin: 50px auto;
  display: flex;
  flex-wrap: wrap;
  width: 1200px;
  height: auto;
  background-color: transparent;
  color: var(--color-default);
  padding-bottom: 34px;
}

.container-f .box-f {
  position: relative;
  float: left;
  width: 350px;
  height: auto;
  font-size: 18px;
  margin: 34px 0px 0px 34px;
  text-align: center;
}

.container-f .box-f p {
  font-size: 16px;
  text-align: left;
  margin: 0px 0px 12px 0px;
}

.container-f .box-f a {
  color: var(--color-two);
}

.container-f .box-f .f-logo {
  width: 220px;
  margin: 0px 0px 12px 0px;
}

.container .box i,
.container-f .box-f i,
.container .card i {
  margin: 5px 5px 5px 10px;
  display: inline-block;
  color: var(--color-two);
  background-color: var(--color-primary-dark);
  width: 28px;
  text-align: center;
  line-height: 28px;
  font-size: 18px;
  font-weight: 700;
  border-radius: 100px;
  box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); /* glatkiji prelaz za hover */
  animation: iconPulse 2s ease-in-out infinite; /* dodato: suptilni puls */
}

@keyframes iconPulse {
  0%, 100% {
    background-color: var(--color-primary-dark);
    transform: scale(1);
  }
  50% {
    background-color: var(--color-primary);
    transform: scale(1.05);
  }
}

.line {
  width: 100%;
  height: 1px; /* tanko */
  margin: 12px 0; /* razmak iznad i ispod linije */
  background: linear-gradient(90deg, transparent, var(--color-primary, #007bff), transparent); /* gradient za suptilnost */
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); /* blaga senka za dubinu */
  border-radius: 1px; /* mali radius za mekši izgled */
}

.container-f .box-f img {
  position: relative;
  margin: 0px 10px 0px 0px;
  width: 18px;
}

.container-f .box-f h3 {
  margin: 0px 0px 20px 0px;
  color: var(--color-primary);
  font-size: 28px;
  text-align: left;
} 

.container-f .box-f h6 {
  font-size: 18px;
  color: var(--color-primary);
  text-align: left;
  margin: 0px 0px 20px 0px;
}

.carousel-container {
  width: 100%;
  max-width: 1200px;
  position: relative;
  overflow: hidden;
  margin-bottom: 40px;
}

.carousel {
  display: flex;
}

.carousel-track {
  display: flex;
  animation: scroll 20s linear infinite;
}

.carousel-track:hover {
  animation-play-state: paused; 
}

@media (hover: none) {
.carousel-track:active {
  animation-play-state: paused;
}
}

.carousel-slide {
  flex: 0 0 auto;
  width: 200px;
  height: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 10px;
}

.carousel-slide img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  filter: grayscale(100%);
  transition: filter 0.5s ease;
}

.carousel-slide img:hover {;
  filter: grayscale(0%);
}

.carousel-container::before,
.carousel-container::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100px;
  z-index: 2;
  pointer-events: none;
}

.carousel-container::before {
  left: 0;
  background: linear-gradient(to right, #fff, transparent);
}

.carousel-container::after {
  right: 0;
  background: linear-gradient(to left, #fff, transparent);
}

@keyframes scroll {
 0% {
    transform: translateX(0);
 }
 100% {
   transform: translateX(-50%);
  }
}

@media (max-width: 768px) {
  .carousel-slide {
    width: 150px;
    height: 75px;
   }
}



/******************************

GALLERY

*******************************/

.gallery-container {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  padding: 20px 0px 0px 0px;
  margin: 50px auto;
  width: 1200px;
  height: auto;
  border-radius: 8px;
}

.gallery-container h4 {
  position: relative;
  width: 100%;
  padding: 0px 0px 10px 0px;
  text-align: center;
  font-size: 18px;
  color: var(--color-primary);
}

.filter-buttons {
  text-align: center;
  margin: 20px 0px 20px 0px;
}

.filter-btn {
  padding: 10px 15px;
  margin: 5px;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  background-color: var(--color-font);
  color: var(--color-default);
  transition: background-color 0.3s;
}

.filter-btn.active, .filter-btn:hover {
  background-color: var(--color-primary);
  color: var(--color-default);
}

.gallery-container .gallery-item {
  position: relative;
  margin: 0px 0px 20px 20px;
  float: left;
  width: 275px;
  height: 280px;
  transition: 0.5s ease-in-out;
}

.gallery-container .gallery-item:hover {
  transform: translate(0px,-5px);
  box-shadow: -4px -4px 10px #ababab, 4px 4px 10px #ababab;
}

.gallery-container .gallery-item img {
  width: 100%;
  height: 100%;
}

.lightbox {
  position: fixed;
  display: none;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: 100%;
  height: 100vh;              
  overflow: auto;
  top: 0;
  left: 0;
  z-index: 9999999;
}

.lightbox::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 1;
  transition: opacity 0.3s ease;
}

.lightbox-content {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  height: 100vh;
  margin: auto;
}

.lightbox-content img {
  border-radius: 8px;
  box-shadow: 0 0 3px 0 rgba(225, 225, 225, .25);
  border: 2px solid var(--color-font);
  width: 520px;
  height: auto;
  object-fit: cover;
  transition: 0.5s ease-in-out;
}

.lightbox-content img:hover {
  transform: translate(0px,-5px);
  box-shadow: -4px -4px 10px #000, 4px 4px 10px #000;
}

.lightbox-prev,
.lightbox-next {
  position: absolute !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  text-align: center !important;
  background-color: var(--color-primary);
  border-radius: 50% !important;
  width: 50px !important;
  height: 50px !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  margin: 10px !important;
  color: var(--color-default) !important;
  border: 2px solid var(--color-default);
  top: 45% !important;
  cursor: pointer !important;
}

.lightbox-next {
  margin: 0px -120px 0px 0px;
  right: 0;
  opacity: 0.5;
}

.lightbox-prev {
  margin: 0px 0px 0px -120px;
  left: 0;
  opacity: 0.5;
}

.lightbox-prev:hover,
.lightbox-next:hover {
  opacity: 1;
}

.lightbox-close {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  top: 30px;
  right: 30px;
  width: 38px;
  height: 38px;
  cursor: pointer;
  background-color: var(--color-primary);
  color: var(--color-default);
  font-size: 20px;
  border: 2px solid var(--color-default);
  border-radius: 100px;
  z-index: 1000;
}

.show-more-container {
  text-align: center;
  margin: 20px 0;
}

#showMoreButton {
  padding: 10px 20px;
  font-size: 16px;
  background-color: var(--color-primary);
  color: var(--color-one);
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: 0.3s ease;
}

#showMoreButton:hover {
  background-color: var(--color-primary-dark);
}

/******************************

FOOTER

*******************************/

.footer {
  background-color: var(--color-footer);
  padding: 50px 0px 0px 0px;
}

.copyright {
  position: relative;
  width: 100%;
  height: auto;
  float: left;
  text-align: center;
  margin: 0 auto;
  font-size: 18px;
}

.copyright .border-line {
  position: relative;
  display: block;
  margin: auto;
  width: 70%;
  height: 1px;
  background-color: var(--color-default);
}

.copyright p {
  margin: 10px auto;
  color: var(--color-default);
  font-size: 14px;
}

.copyright strong {
  color: var(--color-primary);
}

.slogan {
  font-size: 12px !important;
}

/******************************

FORMS

*******************************/
.form-group {
  margin-bottom: 1.2rem;
}

.form-group label {
  display: block;
  font-weight: bold;
  margin-bottom: 0.5rem;
  color: var(--color-font);
}

.form-group input, .form-group textarea {
  width: 90%;
  padding: 0.8rem;
  border: 1px solid #ddd;
  border-radius: 5px;
  font-size: 1rem;
  transition: border-color 0.3s ease;
}

.form-group input:focus, .form-group textarea:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 5px rgba(52, 152, 219, 0.3);
}

.form-group textarea {
  resize: vertical;
  min-height: 120px;
}

#contactForm button {
  width: 90%;
  padding: 0.8rem;
  background-color: var(--color-primary);
  color: var(--color-one);
  border: none;
  border-radius: 5px;
  font-size: 1.1rem;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

#contactForm button:hover {
  opacity: 0.7;
}

.error {
  color: #e74c3c;
  font-size: 0.9rem;
  margin-top: 0.3rem;
  display: none;
}

/******************************

TESTIMONIALS

*******************************/

.container-2 {
  max-width: 1200px;
  margin: 0 auto 80px auto;
}

#properties-slider-2 {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  gap: 20px;
  padding: 20px;
  scroll-behavior: smooth;
  scrollbar-width: thin;
  scrollbar-color: var(--color-primary) var(--color-default);
}

#properties-slider-2::-webkit-scrollbar {
  height: 6px;
}

#properties-slider-2::-webkit-scrollbar-track {
  background: linear-gradient(to right, #f1f1f1, #e9e9e9);
  border-radius: 10px;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);
}

#properties-slider-2::-webkit-scrollbar-thumb {
  background: linear-gradient(to right, var(--color-primary), color-mix(in srgb, var(--color-primary) 70%, #333));
  border-radius: 10px;
  border: 2px solid #f1f1f1;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

#properties-slider-2::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(to right, color-mix(in srgb, var(--color-primary) 80%, #333), var(--color-primary));
  transform: scale(1.1);
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
}

#properties-slider-2::-webkit-scrollbar-thumb:active {
  background: var(--color-primary);
  transform: scale(0.95);
}

.div-box {
  flex: 0 0 30%;
  min-width: 300px;
  background: var(--color-default);
  border-radius: 10px;
  padding: 20px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  text-align: left;
  scroll-snap-align: start;
}

.div-box img {
  width: 50px;
  height: 50px;
  margin-bottom: 10px;
}

.div-box h4 {
  text-align: center;
  font-size: 1.5em;
  margin: 10px 0;
  color: var(--color-primary);
}

.div-box h5 {
  text-align: center;
  font-size: 1.2em;
  color: var(--color-font);
  margin: 5px 0;
}

.div-box h6 {
  text-align: center;
  font-size: 1em;
  margin: 5px 0;
}

.star {
  color: var(--color-primary);
  font-size: 1.2em;
  margin: 5px 2px;
  display: inline-block;
}

.div-box p {
  font-size: 1em;
  color: var(--color-font) !important;
  margin-top: 10px;
}

@media (max-width: 1100px) {
  .div-box {
    flex: 0 0 80%;
    min-width: 80%;
  }
}

@media (max-width: 767px) {
  .div-box {
    flex: 0 0 90%;
    min-width: 90%;
  }
}

@media (max-width: 530px) {
  .div-box {
    flex: 0 0 100%;
    min-width: 100%;
  }
}

/******************************

RESPONSIVE

*******************************/

@media only screen and (max-width: 1080px) {

  .blog {
    padding: 15px;
  }

  .blog .post {
    padding: 20px;
  }
  
  .container {
    width: 750px;
  }
  
  .container .box {
    margin: 34px 0px 0px 100px;
  }
  
  .container .card {
    width: 320px;
  }

  .container-f {
    width: 750px;
  }
  
  .container-f .box-f {
    width: 320px;
  }
  
  .gallery-container {
    width: 720px;
  }
  
  .gallery-container .gallery-item {
    width: 330px;
  }

}

@media only screen and (max-width: 770px) {

  .hero-content h1 {
    font-size: 36px;
  }

  .hero-content h2 {
    font-size: 26px;
  }

  .hero-content h3 {
    font-size: 20px;
  }

  .hero-button {
    font-size: 16px;
    padding: 10px 22px;
  }

  .menu-toggle {
    display: flex;
  }

  .nav-list {
    margin: 0px 0px 0px 0px;
	display: none;
    flex-direction: column;
    width: 250px;
    height: calc(100vh - 62px);
    position: fixed;
    top: 120px;
    right: 0;
    background-color: var(--color-header);
    transform: translateX(100%);
    transition: transform 0.3s ease-in-out;
  }

  .navbar.scrolled .nav-list {
    top: 110px;
    height: calc(100vh - 43px);
  }

  .nav-list.active {
    display: flex;
    transform: translateX(0);
  }

  .nav-list li {
    margin: 20px 0;
    text-align: center;
  }

  .logo {
    width: 140px;
  }

  .navbar.scrolled .logo {
    width: 100px;
  }

  .page-header {
	margin: 150px auto;
	height: 300px;
  }
  
  .page-header h1 {
    font-size: 22px; /* malo veći za impact */
  }

  .section h1,
  .section h2 {
    font-size: 22px;
    margin: 0px 8px 30px 8px;
  }
  
  .section .stop {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    height: 80px;
    margin: 0 8px !important;
  }

  .section h5,
  .section h3 {
    font-size: 16px;
  }

  .container .box h3,
  .container .card h3,
  .blog .post h3 {
    font-size: 22px;
  }

  .container {
    width: 100%;
  }

  .container .box {
    width: 90%;
    margin: 20px auto;
  }

  .container .card {
    width: 90%;
    margin: 20px auto;
  }

  .container .box h1 {
    font-size: 20px;
  }

  .container .box p,
  .container-f .box-f p,
  .blog .post p {
    font-size: 16px;
  }

  .container-f .box-f h6 {
    font-size: 16px;
  } 

  .container-f .box-f h5 {
    font-size: 16px;
  }

  .container-f {
    width: 98%;
  }

  .container-f .box-f {
    width: 90%;
    margin: 20px auto;
    font-size: 16px;
  }

  .gallery-container {
    width: 100%;
    padding: 2% 0px 0px 0px;
  }

  .gallery-container .gallery-item {
    width: 47%;
    height: 200px;
    margin: 0px 0px 2% 2%;
  }

  .lightbox-content {
    width: 84%;
    margin: 100px auto;
  }

  .gallery-container .gallery-item a.info {
    top: 140px;
    right: 0px;
  }
  
  .lightbox-content img {
    width: 100%;
  }

  .lightbox-prev,
  .lightbox-next {
	top: 75% !important;
  }

  .lightbox-next {
    margin: 0;
    right: 0;
  }

  .lightbox-prev {
    margin: 0;
    left: 0;
  }

  #call-icons {
    bottom: 120px;
  }
  
  .info-plugin {
	padding: 6px;
	font-size: 12px;
  }
  
  .telefon-icon {
	bottom: 90px;
  }

  .copyright {
    font-size: 16px;
  }

  .section-qta p,
  .section-qta ul {
	text-align: left !important; 
  }

  .section .nav-menu {
    justify-content: flex-start;
  }
}

@media (max-width: 480px) {
  .hero-content h1 {
    font-size: 28px;
  }

  .hero-content h2 {
    font-size: 20px;
  }

  .hero-content h3 {
    font-size: 18px;
  }

  .hero-button {
    font-size: 14px;
    padding: 8px 18px;
  }
}