:root {
  --dark: #0b1220;
  --dark-2: #111827;
  --light: #f9fafb;
  --primary: #d4af37;
  --muted: #9ca3af;
  --card1: #ffffff;
  --card2: #ffffff;
  --card3: #ffffff;
  --radius: 18px;
}

* { box-sizing:border-box; margin:0; padding:0; }

html {
	font-size: clamp(14px, 2.5vw, 16px);
}

body {
  font-family: Inter, system-ui, sans-serif;
  background: var(--light);
  color: #111827;
  line-height: 1.6;
  font-size: clamp(0.9rem, 2vw, 1rem);
}

a:focus, button:focus {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
  border-radius: 4px;
}

.container {
  max-width: min(90vw, 1200px);
  width: 100%;
  margin: 0 auto;
  padding: 0 clamp(1rem, 3vw, 2rem);
}

/* HEADER */
.site-header {
  position:sticky;
  top:0;
  z-index:999;
  background:rgba(11,18,32,.95);
  backdrop-filter:blur(10px);
  font-size:1.5rem;
}

.header-inner {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:16px 0;
}

.logo img {
  height:75px;
  opacity:0.4;
  border-radius: 10px;
 }

nav a {
  margin-left:28px;
  color:#e5e7eb;
  font-weight:500;
  white-space: nowrap;
}

nav a:hover,
nav a.active { color:var(--primary); }

.menu-toggle {
  display:none;
  font-size:2rem;
  background:none;
  border:none;
  color:white;
}

/* Other page */
.other-page {
  background:
    linear-gradient(to right, rgba(22,36,64,1), rgba(22,36,64,.8)),
    url("Slike/logo1.jpg") right/contain no-repeat;
  color:white;
  opacity:0.7;
  
}

.other-page h2 {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 0;
  margin-left: 0;
  margin-right: 0;  
}

.other-page h4 {
  font-size:2rem;
  margin-left: 100px;
}

.other-page p {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 0;
  margin-left: 0rem;
  margin-right: 0; 
  margin-top:0rem;
}

.other-page {
  white-space: nowrap;
  font-size: 2rem;
}

/* About page */
.about-page {
  background: #f9fafb;
}

.about-hero {
  background:
    linear-gradient(to right, rgba(11,18,32,.85), rgba(11,18,32,.5)),
    url("Slike/logo1.jpg") right/contain no-repeat;
  color:white;
  padding:100px 0;
  text-align: center;
}

.about-hero h1 {
  font-size:3rem;
}

.about-hero p {
  font-size:2rem;
  color:#e5e7eb;
  margin-bottom: 60px;
  margin-top: 60px;
}

.about-intro-section {
  padding: 80px 0;
  background: white;
}

.about-content h2 {
  font-size: 2.2rem;
  color: #111827;
  margin-bottom: 30px;
  text-align: center;
}

.about-intro-text {
  font-size: 1.1rem;
  color: #4b5563;
  line-height: 1.8;
  margin-bottom: 20px;
  font-weight: 500;
}

.about-content p {
  font-size: 1rem;
  color: #4b5563;
  line-height: 1.8;
  margin-bottom: 20px;
}

.about-experience-section {
  padding: 80px 0;
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.05), rgba(59, 130, 246, 0.02));
}

.experience-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
  margin-top: 50px;
}

.experience-card {
  background: white;
  padding: 40px 30px;
  border-radius: var(--radius);
  text-align: center;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s, box-shadow 0.3s;
}

.experience-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.12);
}

.exp-icon {
  font-size: 3rem;
  display: block;
  margin-bottom: 15px;
}

.experience-card h3 {
  font-size: 1.3rem;
  color: #111827;
  margin-bottom: 15px;
}

.experience-card p {
  font-size: 0.95rem;
  color: #4b5563;
  line-height: 1.6;
  margin: 0;
}

.about-benefits-section {
  padding: 80px 0;
  background: white;
}

.about-benefits-section h2 {
  font-size: 2.2rem;
  color: #111827;
  text-align: center;
  margin-bottom: 60px;
}

.benefits-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 40px;
}

.benefit-card {
  padding: 30px 25px;
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.05), rgba(59, 130, 246, 0.02));
  border-radius: var(--radius);
  border-left: 4px solid var(--primary);
  transition: all 0.3s;
}

.benefit-card:hover {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.1), rgba(59, 130, 246, 0.05));
  transform: translateX(5px);
}

.benefit-number {
  display: inline-block;
  font-size: 2.5rem;
  font-weight: bold;
  color: var(--primary);
  margin-bottom: 10px;
  opacity: 0.8;
}

.benefit-card h3 {
  font-size: 1.2rem;
  color: #111827;
  margin: 10px 0 12px 0;
}

.benefit-card p {
  color: #4b5563;
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.6;
}

.about-mission-section {
  padding: 80px 0;
  background: linear-gradient(to right, rgba(11, 18, 32, .85), rgba(11, 18, 32, .5));
  color: var(--primary);
}

.mission-content {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

.mission-content h2 {
  font-size: 2.5rem;
  margin-bottom: 25px;
}

.mission-text {
  font-size: 1.2rem;
  line-height: 1.8;
  margin-bottom: 50px;
  color: rgba(255, 255, 255, 0.95);
}

.mission-values {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 40px;
}

.value {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.value strong {
  font-size: 1.3rem;
  margin-bottom: 10px;
}

.value span {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.85);
}

.about-cta-section {
  padding: 80px 0;
  background: white;
  text-align: center;
}

.about-cta-section h2 {
  font-size: 2.2rem;
  color: #111827;
  margin-bottom: 15px;
}

.about-cta-section p {
  font-size: 1.1rem;
  color: #4b5563;
  margin-bottom: 30px;
}

@media (max-width: 768px) {
  .about-hero h1 {
    font-size: 2rem;
  }
  
  .about-hero p {
    font-size: 1rem;
  }
  
  .about-content h2 {
    font-size: 1.8rem;
  }
  
  .about-benefits-section h2 {
    font-size: 1.8rem;
  }
  
  .mission-content h2 {
    font-size: 2rem;
  }
  
  .benefit-number {
    font-size: 2rem;
  }
}

/* Contact page */
/* Contact page */
.contact-page {
  background:
    linear-gradient(to right, rgba(22,36,64,1), rgba(22,36,64,.8)),
    url("Slike/logo1.jpg") right/contain no-repeat;
  color:white;
  opacity:1;
}

.contact-info {
  padding: 60px 20px;
  max-width: 1200px;
  margin: 0 auto;
}

.contact-info h2 {
  text-align: center;
  font-size: 2.4rem;
  margin-bottom: 40px;
  margin-left: 0;
  margin-right: 0;
  color: white;
  font-weight: 700;
}

.contact-info p {
  text-align: center;
  font-size: 1.2rem;
  margin-bottom: 15px;
  margin-left: 0rem;
  margin-right: 0; 
  margin-top: 0rem;
  line-height: 1.6;
  color: #e5e7eb;
}

.contact-info a {
  color: var(--primary);
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s;
  white-space: nowrap;
}

.contact-info a:hover {
  color: #facc15;
  text-decoration: underline;
}

/* Contact form */
.ime {
  font-size: 1rem;
  height: 5rem;
  line-height: 1rem;
  padding-left: 10rem;
}

.email {
  font-size: 1rem;
  height: 5rem;
  line-height: 1rem;
  padding-left: 10rem;
}

.broj {
  font-size: 1rem;
  height: 5rem;
  line-height: 1rem;
  padding-left: 10rem;
}

.poruka {
  font-size: 1rem;
  height: 10rem;
  line-height: 1rem;
  padding-left: 10rem;
}

.dugme {
  font-size: 1rem;
  height: 5rem;
  line-height: 1rem;
  padding-left: 10rem;
}
.contact-form-section label {
font-size: 1rem;
display: inline-block;
width: 300px;
vertical-align: top;
}

/* Kontakt forma – moderan card stil */
.contact-form-section {
  max-width: 600px;
  margin: 4rem auto 0;
  padding: 2.5rem 2rem;
  background: rgba(11, 18, 32, 0.5);
  border-radius: var(--radius);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55);
}

.contact-form-section h2 {
  text-align: center;
  font-size: 2.2rem;
  margin-bottom: 2rem;
  margin-left: 0;
  margin-right: 0;
}

.contact-form-section .ime,
.contact-form-section .email,
.contact-form-section .broj,
.contact-form-section .poruka,
.contact-form-section .dugme {
  font-size: 1rem;
  height: auto;
  line-height: 1.4;
  padding-left: 0;
  margin-bottom: 1.25rem;
}

.contact-form-section label {
  font-size: 1.2rem;
  display: block;
  width: 100%;
  color: #e5e7eb;
  margin-bottom: 0.5rem;
}

.contact-form-section form {
  display: flex;
  flex-direction: column;
}

.contact-form-section input,
.contact-form-section textarea {
  width: 100%;
  padding: 0.9rem 1rem;
  border-radius: 0.75rem;
  border: 1px solid rgba(148, 163, 184, 0.8);
  background: rgba(15, 23, 42, 0.95);
  color: #f9fafb;
  font-size: 1.2rem;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.contact-form-section textarea {
  min-height: 150px;
  resize: vertical;
}

.contact-form-section input:focus,
.contact-form-section textarea:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 1px var(--primary);
  background: rgba(15, 23, 42, 1);
}

.contact-form-section .dugme {
  margin-top: 0.5rem;
}

.contact-form-section .dugme button {
  width: 100%;
  padding: 1rem 1.5rem;
  border-radius: 999px;
  border: none;
  background: linear-gradient(90deg, var(--primary), #f5f5f5);
  color: #111827;
  font-size: 1.4rem;
  font-weight: 700;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.45);
  transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}

.contact-form-section .dugme button:hover {
  transform: translateY(-2px);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.55);
  filter: brightness(0.95);
}

@media (max-width: 768px) {
  .contact-form-section {
    margin-top: 2rem;
    padding: 2rem 1.5rem;
    width: 90%;
  }

  .contact-form-section h2 {
    font-size: 2rem;
  }

  .contact-form-section input,
  .contact-form-section textarea {
    font-size: 1.1rem;
  }

  .contact-form-section .dugme button {
    font-size: 1.2rem;
  }
}


/* HERO */
.hero {
  background:
    linear-gradient(to right, rgba(11,18,32,.95), rgba(11,18,32,.80)),
    url("Slike/logo1.jpg") right/contain no-repeat;
  color:white;
  padding:100px 0;
}

.hero h1 {
  font-size:3rem;
  max-width:1200px;
}

.hero p {
  font-size:2rem;
  max-width:800px;
  color:#e5e7eb;
  margin-bottom: 60px;
  margin-top: 60px;
}

.btn {
  padding:20px 40px;
  font-size:2rem;
  border-radius:999px;
  font-weight:600;
}

.btn-primary {
  background:var(--primary);
  color:black;
}

.call-now-button {
  position: fixed; /* Keeps the button in the same place even when scrolling */
  bottom: 5vh; /* Distance from the bottom of the screen */
  right: 20px; /* Distance from the right side of the screen */
  z-index: 1000; /* Ensures it stays on top of other elements */
  font-size:2rem;
  /* Styling for the button appearance */
  background-color: #28a745; /* Green background */
  color: white;
  padding: 10px 30px;
  border-radius: 50px;
  text-decoration: none;
  font-weight: bold;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

/* SECTIONS */
section { padding:5vh 0; }

.section-title {
  text-align:center;
  margin-bottom:60px;
}

.section-title h2 { font-size:2.4rem; }
.section-title p { color:var(--muted); }

/* About Page */
.about-page {
  max-width:1200px;
  margin:0 auto;
  padding:0 20px;
}

.about-intro {
  margin-bottom:60px;
}

.about-intro-title {
  font-size:2.2rem;
  color:#1f2937;
  margin-bottom:30px;
  line-height:1.4;
}

.about-intro-text {
  font-size:1.1rem;
  color:#4b5563;
  line-height:1.8;
}

.about-experience {
  background:linear-gradient(135deg,rgba(212,175,55,0.1),rgba(212,175,55,0.05));
  padding:40px;
  border-radius:var(--radius);
  margin-bottom:60px;
  border-left:4px solid var(--primary);
}

.about-experience h3,
.about-goals h3 {
  font-size:1.8rem;
  color:#1f2937;
  margin-bottom:20px;
}

.about-experience p {
  font-size:1.1rem;
  color:#4b5563;
  line-height:1.8;
}

.about-goals h4 {
  font-size:1.2rem;
  color:#1f2937;
  margin:15px 0;
  padding-left:10px;
}

/* SERVICE PAGES */
.service-page {
  background:#f9fafb;
}

.service-hero {
  background:linear-gradient(to right,rgba(11,18,32,.85),rgba(11,18,32,.5)),url("Slike/komarnik1.jpg") center/cover no-repeat;
  color:white;
  padding:150px 0;
  text-align:center;
}

.service-hero h1 {
  font-size:2.8rem;
  margin-bottom:15px;
}

.service-hero p {
  font-size:1.2rem;
  color:#e5e7eb;
}

/* Page-specific hero backgrounds */
.page-komarnici .service-hero {
  background:linear-gradient(to right,rgba(11,18,32,.3),rgba(11,18,32,.1)),url("Slike/komarnik2.jpg") center/cover no-repeat;
}

.page-roletne .service-hero {
  background:linear-gradient(to right,rgba(11,18,32,.3),rgba(11,18,32,.1)),url("Slike/r1.jpg") center/cover no-repeat;
}

.page-solomatici .service-hero {
  background:linear-gradient(to right,rgba(11,18,32,.3),rgba(11,18,32,.1)),url("Slike/solomatik1.jpg") center/cover no-repeat;
}

.service-intro {
  padding:80px 0;
  background:white;
}

.intro-content {
  max-width:800px;
  margin:0 auto;
}

.intro-content h2 {
  font-size:2rem;
  color:#111827;
  margin-bottom:25px;
}

.intro-content p {
  font-size:1.1rem;
  color:#4b5563;
  line-height:1.9;
  margin-bottom:20px;
}

.service-features {
  padding:80px 0;
  background:#f9fafb;
}

.service-features h2 {
  font-size:2.2rem;
  color:#111827;
  text-align:center;
  margin-bottom:60px;
}

.features-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:30px;
  margin-bottom:60px;
}

.feature-card {
  background:white;
  padding:35px 25px;
  border-radius:var(--radius);
  text-align:center;
  box-shadow:0 10px 30px rgba(0,0,0,0.08);
  transition:transform 0.3s,box-shadow 0.3s;
  border-top: 4px solid transparent;
}

.feature-card:hover {
  transform:translateY(-8px);
  box-shadow:0 20px 50px rgba(0,0,0,0.15);
  border-top-color: var(--primary);
}

.feature-icon {
  font-size:3rem;
  margin-bottom:15px;
  display:block;
}

.feature-card h3 {
  font-size:1.3rem;
  color:#111827;
  margin-bottom:12px;
}

.feature-card p {
  font-size:0.95rem;
  color:#4b5563;
  line-height:1.6;
  margin:0;
}

.service-benefits {
  padding:80px 0;
  background:white;
}

.service-benefits h2 {
  font-size:2.2rem;
  color:#111827;
  text-align:center;
  margin-bottom:60px;
}

.benefits-list {
  max-width:900px;
  margin:0 auto;
}

.benefit-item {
  display:flex;
  gap:25px;
  margin-bottom:35px;
  padding:25px;
  background:#f9fafb;
  border-radius:10px;
  border-left:4px solid var(--primary);
  transition:all 0.3s;
  position: relative;
  overflow: hidden;
}

.benefit-item::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(to bottom, var(--primary), #e5e7eb);
  transition: width 0.3s;
}

.benefit-item:hover {
  background:white;
  box-shadow:0 10px 25px rgba(0,0,0,0.08);
  transform: translateX(5px);
}

.benefit-item:hover::before {
  width: 6px;
}

.benefit-check {
  font-size:2rem;
  color:var(--primary);
  font-weight:bold;
  min-width:40px;
  height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.benefit-item h3 {
  font-size:1.2rem;
  color:#111827;
  margin:0 0 8px 0;
}

.benefit-item p {
  color:#4b5563;
  margin:0;
  line-height:1.6;
  font-size:0.95rem;
}

.service-subsection {
  padding:80px 0;
  background:#f9fafb;
}

.service-subsection h2 {
  font-size:2rem;
  color:#111827;
  margin-bottom:30px;
}

.service-subsection p {
  font-size:1.05rem;
  color:#4b5563;
  line-height:1.8;
  margin-bottom:30px;
}

.service-subsection ul {
  background:white;
  padding:30px;
  border-radius:var(--radius);
  border-left:4px solid var(--primary);
}

.service-subsection li {
  margin-bottom:12px;
  color:#4b5563;
}

.service-gallery {
  padding:80px 0;
  background:white;
}

.service-gallery h2 {
  font-size:2rem;
  color:#111827;
  text-align:center;
  margin-bottom:50px;
}

.service-cta {
  background:linear-gradient(135deg,rgba(11,18,32,0.95),rgba(11,18,32,0.85));
  color:white;
  padding:100px 0;
  text-align:center;
}

.service-cta h2 {
  font-size:2.2rem;
  margin-bottom:15px;
}

.service-cta p {
  font-size:1.1rem;
  color:#e5e7eb;
  margin-bottom:40px;
}

.service-cta .btn {
  transition: all 0.3s ease;
  padding: 15px 30px;
  font-size: 1.1rem;
}

.service-cta .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}

@media(max-width:768px) {
  .service-hero {
    padding:100px 0;
  }

  .service-hero h1 {
    font-size:1.8rem;
  }

  .intro-content h2 {
    font-size:1.6rem;
  }

  .feature-card {
    padding:25px 20px;
  }

  .feature-icon {
    font-size:2.5rem;
  }

  .benefit-item {
    flex-direction:column;
    gap:15px;
  }

  .benefit-check {
    margin-bottom:10px;
  }

  .service-features h2,
  .service-benefits h2 {
    font-size:1.8rem;
  }

  .gallery {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 15px;
  }

  .gallery img {
    height: 200px;
  }
}

/* CARDS */
.cards {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:30px;
}

.cards a {
	height: 60vh; 
color: #FFFFFF;
  text-shadow: 
    -1px -1px 0 #000,  
     1px -1px 0 #000,
    -1px  1px 0 #000,
     1px  1px 0 #000;
}

.card1 {
/*background:var(--card);*/
  background:
    linear-gradient(to right, rgba(11,18,32,.85), rgba(11,18,32,.5)),
    url("Slike/komarnik0.jpg") center/cover no-repeat;
  border-radius:var(--radius);
  padding:40px;
  box-shadow:0 30px 60px rgba(0,0,0,.1);
  transition:.3s;
  font-size:2rem;
}

.card1:hover { transform:translateY(-10px); }

.card2 {
/*background:var(--card);*/
  background:
    linear-gradient(to right, rgba(11,18,32,.85), rgba(11,18,32,.5)),
    url("Slike/r1.jpg") center/cover no-repeat;
  border-radius:var(--radius);
  padding:40px;
  box-shadow:0 30px 60px rgba(0,0,0,.1);
  transition:.3s;
  font-size:2rem;
}

.card2:hover { transform:translateY(-10px); }

.card3 {
/*background:var(--card);*/
  background:
    linear-gradient(to right, rgba(11,18,32,.85), rgba(11,18,32,.5)),
    url("Slike/solomatik1.jpg") center/cover no-repeat;
  border-radius:var(--radius);
  padding:40px;
  box-shadow:0 30px 60px rgba(0,0,0,.1);
  transition:.3s;
  font-size:2rem;
}

.card3:hover { transform:translateY(-10px); }

/* CUSTOMER COUNTER */
.customer-counter {
  background: linear-gradient(to right, rgba(11, 18, 32, .85), rgba(11, 18, 32, .5));
  padding: 60px 0;
  color: #111827;
  text-align: center;
}

.counter-content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}

.counter-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.counter-wrapper {
  display: flex;
  align-items: baseline;
  justify-content: center;
  margin-bottom: 10px;
}

.counter-number {
  font-size: 4rem;
  font-weight: bold;
  background: linear-gradient(45deg, #ffffff, #f0f0f0);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: countUp 3s ease-out forwards;
}

.counter-plus-inline {
  display: inline-block;
  margin-left: 8px;
  font-size: 3rem;
  font-weight: bold;
  color: white;
  animation: fadeIn 1s ease-out 0.5s both;
}

.counter-label {
  font-size: 1.2rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
}

@keyframes countUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: scale(0.8);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@media (max-width: 768px) {
  .counter-number {
    font-size: 3rem;
  }

  .counter-plus-inline {
    font-size: 2rem;
    margin-left: 5px;
  }

  .counter-label {
    font-size: 1rem;
  }

  .counter-content {
    flex-direction: column;
    gap: 10px;
  }
}

/* BADGES SECTION */
.badges-section {
  background: white;
  padding: 80px 0;
}

.badges-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 30px;
  margin-top: 40px;
}

.badge-item {
  text-align: center;
  padding: 30px 20px;
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.05), rgba(59, 130, 246, 0.02));
  border-radius: var(--radius);
  border-top: 3px solid var(--primary);
  transition: all 0.3s;
}

.badge-item:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.1), rgba(59, 130, 246, 0.05));
}

.badge-icon {
  font-size: 3rem;
  margin-bottom: 15px;
  display: block;
}

.badge-item h3 {
  font-size: 1.2rem;
  color: #111827;
  margin-bottom: 10px;
}

.badge-item p {
  font-size: 0.95rem;
  color: #4b5563;
  margin: 0;
  line-height: 1.5;
}

/* CHAT SECTION */
.chat-section {
  background: linear-gradient(135deg, #f8f9fa, #e2e8f0);
  color: #111827;
  padding: 80px 0;
  text-align: center;
}

.chat-section h2 {
  font-size: 2.2rem;
  margin-bottom: 15px;
}

.chat-section p {
  font-size: 1.1rem;
  color: #6b7280;
  margin-bottom: 40px;
}

.chat-buttons-home {
  display: flex;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap;
}

.btn-whatsapp,
.btn-viber {
  padding: 15px 35px;
  font-size: 1.1rem;
  border: none;
  border-radius: var(--radius);
  transition: all 0.3s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-decoration: none;
  font-weight: 600;
}

.btn-whatsapp i,
.btn-viber i {
  font-size: 1.4rem;
}

.btn-whatsapp {
  background: #25D366;
  color: white;
}

.btn-whatsapp:hover {
  background: #20BA5A;
  transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(37, 211, 102, 0.3);
}

.btn-viber {
  background: #7360F1;
  color: white;
}

.btn-viber:hover {
  background: #6650D4;
  transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(115, 96, 241, 0.3);
}

@media (max-width: 768px) {
  .badges-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .badge-item {
    padding: 20px 15px;
  }
  
  .chat-section h2 {
    font-size: 1.8rem;
  }
  
  .chat-buttons-home {
    flex-direction: column;
  }
  
  .btn-whatsapp,
  .btn-viber {
    width: 100%;
  }
}

/* GALLERY */

.gallery-grid {
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  padding:10px;
  gap:10px 1px;
}

.gallery-grid img {
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:var(--radius);
  cursor:pointer;
}

.gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  margin-top: 30px;
}

.gallery img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  border-radius: var(--radius);
  cursor: pointer;
  transition: transform 0.3s, box-shadow 0.3s;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.gallery img:hover {
  transform: scale(1.05);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}

video {
	
  width:300px;
  height:300px;
  object-fit:cover;
  border-radius:var(--radius);
  cursor:pointer;	
}

/* TESTIMONIALS */
.testimonials {
  background: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%);
  padding:100px 0;
}

.testimonials-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:30px;
}

.testimonial {
  background: white;
  padding:30px;
  border-radius:var(--radius);
  box-shadow: 0 10px 40px rgba(0,0,0,0.08);
  transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
  border-left: 5px solid var(--primary);
}

.testimonial:hover {
  transform:translateY(-8px);
  box-shadow: 0 20px 60px rgba(0,0,0,0.12);
  border-left-color: #facc15;
}

.testimonial .stars {
  color:var(--primary);
  font-size:1.5rem;
  margin-bottom:15px;
  letter-spacing:2px;
  display: block;
}

.testimonial p {
  font-size:1rem;
  color:#374151;
  font-style:italic;
  margin-bottom:20px;
  line-height:1.8;
}

.testimonial strong {
  color:#111827;
  font-size:1rem;
  display:block;
}

.testimonials .section-title h2 {
  color: #111827;
  font-weight: 700;
}

.testimonials .section-title p {
  color: #6b7280;
  font-size: 1.1rem;
}

/* FILTER */
.filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  text-align:center;
  margin-bottom:10px;
}

.filters button {
  margin:5px;
  padding:10px 22px;
  border:none;
  border-radius:999px;
  background:#e5e7eb;
  cursor:pointer;
}

.filters button.active {
  background:var(--primary);
}

/* LIGHTBOX */
#lightbox {
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.9);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:2000;
}

#lightbox img {
  max-width:90%;
  max-height:90%;
}

#lightbox video {
  max-width:90%;
  max-height:90%;
}

.lb-btn {
  position:absolute;
  font-size:3rem;
  color:white;
  cursor:pointer;
}

.lb-prev { left:30px; }
.lb-next { right:30px; }
.lb-close { top:20px; right:30px; }

/* MAP */
.map iframe {
  display: block;
  margin: 0 auto;
  width:40%;
  height:400px;
  border:0;
}


/* FOOTER */
.footer {
  background: var(--dark);
  color: #e5e7eb;
  padding: 50px 20px;
  text-align: center;
  font-size: 1.4rem;
}

.footer p {
  margin: 10px 0;
  line-height: 1.5;
}

.footer a {
  color: var(--primary);
  font-weight: 600;
  transition: all 0.3s ease;
}

.footer a:hover {
  color: #ffffff;
  text-decoration: underline;
}

.footer p:first-child {
  margin-top: 0;
  font-size: 1rem;
  color: #9ca3af;
}

.footer p:last-child {
  margin-top: 20px;
  padding-top: 15px;
  border-top: 1px solid rgba(212, 175, 55, 0.2);
  font-size: 0.95rem;
  color: #6b7280;
}

@media (max-width: 768px) {
  .footer {
    padding: 40px 15px;
    font-size: 1.1rem;
  }
  
  .footer p {
    margin: 8px 0;
  }
  
  .footer p:first-child {
    font-size: 0.9rem;
  }
  
  .footer a {
    white-space: nowrap;
    display: inline-block;
  }
}

/* Back to Top Button */
#backToTopBtn {
  display:none;
  position:fixed;
  bottom:30px;
  left:30px;
  padding:12px 16px;
  background:var(--primary);
  color:#000;
  border:none;
  border-radius:50%;
  font-size:1.5rem;
  font-weight:bold;
  cursor:pointer;
  z-index:99;
  transition:all 0.3s ease-in-out;
  box-shadow:0 4px 12px rgba(0,0,0,0.3);
  width:48px;
  height:48px;
  align-items:center;
  justify-content:center;
  opacity:0.8;
}

#backToTopBtn.show {
  display:flex;
}

#backToTopBtn:hover {
  background:#e5c158;
  transform:translateY(-3px);
  box-shadow:0 6px 16px rgba(0,0,0,0.4);
  opacity:1;
}

@media (max-width: 768px) {
  #backToTopBtn {
    padding: 10px 14px;
    font-size: 1.3rem;
    bottom: 20px;
    left: 20px;
  }
}

/* FAQ Page */
.hero-faq {
  background:linear-gradient(to right,rgba(11,18,32,.85),rgba(11,18,32,.5)),url("Slike/logo1.jpg") center/cover no-repeat;
  color:white;
  padding:200px 0;
  text-align:center;
}

.hero-faq h1 {
  font-size:3rem;
  margin-bottom:20px;
}

.hero-faq p {
  font-size:1.3rem;
  color:#e5e7eb;
}

.faq-section {
  padding:100px 0;
  background:#f9fafb;
}

.faq-grid {
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  padding:10px;
  gap:40px;
}


.faq-category h2 {
  font-size:1.8rem;
  color:#111827;
  margin-bottom:25px;
  padding-bottom:15px;
  border-bottom:3px solid var(--primary);
}

.faq-item {
  margin-bottom:20px;
}

.faq-question {
  width:100%;
  padding:15px 20px;
  background:white;
  border:2px solid #e5e7eb;
  border-radius:8px;
  font-size:1.05rem;
  font-weight:600;
  color:#111827;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  transition:all 0.3s;
}

.faq-question:hover {
  border-color:var(--primary);
  background:#f0f4f8;
  transform:translateX(5px);
}

.faq-question.active {
  background:var(--primary);
  color:black;
  border-color:var(--primary);
}

.faq-icon {
  font-size:1.4rem;
  font-weight:bold;
}

.faq-answer {
  display:none;
  padding:20px;
  background:#f9fafb;
  border-radius:0 0 8px 8px;
  border:1px solid #e5e7eb;
  border-top:none;
  margin-top:-2px;
  animation:slideDown 0.3s ease;
}

.faq-answer.show {
  display:block;
}

.faq-answer p {
  color:#4b5563;
  font-size:0.95rem;
  line-height:1.7;
  margin:0;
}

@keyframes slideDown {
  from {
    opacity:0;
    transform:translateY(-10px);
  }
  to {
    opacity:1;
    transform:translateY(0);
  }
}

.faq-cta {
  background:linear-gradient(135deg,rgba(11,18,32,0.95),rgba(11,18,32,0.85));
  color:white;
  padding:80px 0;
  text-align:center;
}

.faq-cta h2 {
  font-size:2.2rem;
  margin-bottom:15px;
}

.faq-cta p {
  font-size:1.1rem;
  margin-bottom:40px;
  color:#e5e7eb;
}

@media(max-width:768px) {
  .hero-faq h1 {
    font-size:2rem;
  }
  .faq-grid {
    grid-template-columns:1fr;
  }
  .faq-question {
    font-size:0.95rem;
  }
}

/* MOBILE OPTIMIZATION - Comprehensive */
@media(max-width:768px) {
  /* Navigation */
  nav { 
    display:none; 
    position:absolute; 
    top:70px; 
    right:0; 
    background:var(--dark); 
    width:240px; 
    flex-direction:column;
    z-index:998;
  }
  nav.show { display:flex; }
  nav a { 
    margin:18px; 
    padding: 12px 8px;
    font-size: 1.2rem;
  }
  .menu-toggle { 
    display:block; 
    padding: 8px;
    min-width: 44px;
    min-height: 44px;
  }
  
  /* Hero Section */
  .hero {
    padding: 60px 0;
  }
  
  .hero h1 { 
    font-size: 2rem;
    line-height: 1.3;
    margin-bottom: 30px;
  }
  
  .hero p {
    font-size: 1.2rem;
    margin-bottom: 30px;
    margin-top: 20px;
    line-height: 1.5;
  }
  
  /* CTA Buttons - Touch targets (min 44x44px) */
  .btn {
    padding: 16px 32px;
    font-size: 1.1rem;
    min-height: 48px;
    min-width: 100%;
    display: block;
    margin-bottom: 12px;
  }
  
  .btn-primary {
    width: 100%;
  }
  
  /* Form Inputs - Min 48px height, 16px+ font */
  .contact-form-section input,
  .contact-form-section textarea {
    min-height: 48px;
    font-size: 16px;
    padding: 12px 14px;
  }
  
  .contact-form-section label {
    font-size: 1.1rem;
    margin-bottom: 8px;
    font-weight: 600;
  }
  
  .contact-form-section .dugme button {
    min-height: 48px;
    font-size: 1.1rem;
    padding: 14px 20px;
  }
  
  /* Service Cards - Single column */
  .cards {
    grid-template-columns: 1fr;
  }
  
  .card1, .card2, .card3 {
    height: 40vh;
    padding: 30px 20px;
  }
  
  /* Service Features - Single column */
  .features-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .feature-card {
    padding: 25px 15px;
  }
  
  /* Testimonials - Single column */
  .testimonials-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .testimonial {
    padding: 20px;
  }
  
  /* Badges Section - Larger fonts and icons */
  .badges-section {
    padding: 50px 0;
  }
  
  .badges-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .badge-icon {
    font-size: 2.5rem;
  }
  
  .badge-item h3 {
    font-size: 1.1rem;
  }
  
  .badge-item p {
    font-size: 0.9rem;
  }
  
  /* Chat Section - Full width buttons */
  .chat-section {
    padding: 50px 0;
  }
  
  .chat-section h2 {
    font-size: 1.6rem;
    margin-bottom: 20px;
  }
  
  .chat-section p {
    font-size: 1rem;
    margin-bottom: 30px;
  }
  
  .chat-buttons-home {
    flex-direction: column;
    gap: 12px;
  }
  
  .btn-whatsapp,
  .btn-viber {
    width: 100%;
    min-height: 48px;
    padding: 16px 20px;
    font-size: 1.1rem;
    justify-content: center;
  }
  
  /* Customer Counter Section */
  .customer-counter {
    padding: 40px 0;
  }
  
  .counter-content {
    flex-direction: column;
    gap: 10px;
  }
  
  /* Gallery - Responsive grid */
  /*
  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
  
  .gallery-grid img {
    width: 100%;
    height: 200px;
  }
  */
  .gallery {
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
  }
  
  .gallery img {
    height: 200px;
  }
  
  video {
    width: 100%;
    height: auto;
  }
  
  /* Back to Top Button */
  #backToTopBtn {
    padding: 10px 14px;
    font-size: 1.3rem;
    bottom: 20px;
    left: 20px;
    width: 44px;
    height: 44px;
  }
  
  /* Benefit Items - Better spacing */
  .benefit-item {
    flex-direction: column;
    gap: 12px;
    padding: 20px;
  }
  
  .benefit-check {
    min-width: 35px;
    height: 35px;
    font-size: 1.8rem;
  }
  
  /* Contact Form - Better spacing */
  .contact-form-section {
    margin: 2rem auto;
    padding: 1.5rem;
    width: 95%;
  }
  
  .contact-form-section h2 {
    font-size: 1.6rem;
    margin-bottom: 1.5rem;
  }
  
  /* Section Titles */
  .section-title h2 {
    font-size: 1.8rem;
  }
  
  .section-title p {
    font-size: 1rem;
  }
  
  /* About Page Mobile */
  .about-experience,
  .about-goals {
    padding: 25px;
    margin-bottom: 30px;
  }
  
  .about-experience h3,
  .about-goals h3 {
    font-size: 1.4rem;
  }
  
  .about-intro-title {
    font-size: 1.6rem;
  }
  
  /* Call Now Button */
  .call-now-button {
    font-size: 1.5rem;
    padding: 12px 24px;
    bottom: 70px;
  }
}

/* Styles for screens wider than 768px (tablets and up) */
@media only screen and (min-width: 768px) {
  .container {
    width: 75%;
    margin: 0 auto; /* Center the container on larger screens */
  }
}

/* Styles for screens wider than 1024px (desktops and up) */
@media only screen and (min-width: 1024px) {
  .container {
    width: 100%;
  }
}
