/* About – grafikon desno (Analitika + AI + Tehnologija → Savršen rezultat) */
.tp-about-chart-wrap {
   max-width: 340px;
   margin-left: auto;
   margin-right: auto;
}
.tp-about-chart {
   width: 100%;
   height: auto;
   max-height: 320px;
}
.tp-about-chart .tp-chart-node-label,
.tp-about-chart .tp-chart-center-label {
   font-family: var(--tp-ff-inter, inherit);
   pointer-events: none;
}

/* Tech stack / Tehnologije – Devicon grid, grayscale → color on hover */
.tp-tech-stack-item {
   background: rgba(0, 0, 0, 0.02);
   border-radius: 12px;
   transition: background 0.2s ease, transform 0.2s ease;
}
.tp-tech-stack-item:hover {
   background: rgba(0, 0, 0, 0.06);
   transform: translateY(-2px);
}
.tp-tech-stack-item .devicon {
   font-size: 48px;
   line-height: 1;
   display: inline-block;
   filter: grayscale(100%);
   transition: filter 0.25s ease;
}
.tp-tech-stack-item:hover .devicon {
   filter: grayscale(0);
}
@media (min-width: 768px) {
   .tp-tech-stack-item .devicon {
      font-size: 56px;
   }
}
@media (min-width: 992px) {
   .tp-tech-stack-item .devicon {
      font-size: 64px;
   }
}

/* GymApp / PlayApp / VetApp – svetlo zeleni overlay (posvetli sliku), kao na featured */
.tp-hero-page-overlay {
   position: absolute;
   left: 0;
   top: 0;
   right: 0;
   bottom: 0;
   background: rgba(196, 238, 24, 0.22);
   pointer-events: none;
   z-index: 0;
}

/* Snap slider (istaknuti radovi na home v2) – zeleni overlay da se beli tekst lepše vidi */
.tp-snap-slider-holder .tp-snap-slider-images {
   position: relative;
}
.tp-snap-slider-holder .tp-snap-slider-images::after {
   content: '';
   position: absolute;
   inset: 0;
   background: rgba(196, 238, 24, 0.28);
   pointer-events: none;
   z-index: 1;
}
.tp-hero-gymapp .container,
.tp-hero-playapp .container,
.tp-hero-vetapp .container {
   position: relative;
   z-index: 1;
}

/* GymApp – bela slova u hero/headeru */
.tp-hero-gymapp .tp-hero-it-title,
.tp-hero-gymapp .tp-hero-it-title a,
.tp-hero-gymapp p {
   color: #fff !important;
   text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

/* PlayApp – bela slova u hero/headeru */
.tp-hero-playapp .tp-hero-it-title,
.tp-hero-playapp .tp-hero-it-title a,
.tp-hero-playapp p {
   color: #fff !important;
   text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

/* VetApp – bela slova u hero/headeru (slika img/pages/vetapp.jpg) */
.tp-hero-vetapp .tp-hero-it-title,
.tp-hero-vetapp .tp-hero-it-title a,
.tp-hero-vetapp p {
   color: #fff !important;
   text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

/* Manji razmaci u glavnom meniju da stavke ne prelaze u drugi red */
.tp-header-area .tp-main-menu nav > ul > li {
   margin-left: 12px;
   margin-right: 12px;
}
.tp-header-area .tp-main-menu nav > ul > li > a {
   padding-left: 2px;
   padding-right: 2px;
   padding-top: 22px;
   padding-bottom: 22px;
}
.header-sticky .tp-header-area .tp-main-menu nav > ul > li > a {
   padding-top: 18px;
   padding-bottom: 18px;
}

/* Podmeni Softver – kratak opis ispod naslova stavke */
.tp-submenu-desc {
   display: block;
   font-size: 0.75rem;
   line-height: 1.3;
   color: var(--tp-common-black-3, #666);
   margin-top: 2px;
   font-weight: 400;
}
.tp-main-menu .tp-submenu li a .tp-submenu-desc,
.dropdown-white-bg .tp-submenu li a .tp-submenu-desc {
   color: rgba(0, 0, 0, 0.6);
}
.tp-offcanvas-menu .tp-submenu li a .tp-submenu-desc {
   color: rgba(255, 255, 255, 0.75);
}

/* Language switcher: dropdown directly under SR/EN, right-aligned */
.tp-header-lang {
   position: relative;
}
.tp-lang-dropdown nav > ul > li {
   position: relative;
   width: fit-content;
}
.tp-lang-dropdown .tp-submenu {
   left: auto;
   right: 0;
}

/* Istaknuti radovi – crni overlay i vertikalno centriranje */
.tp-portfolio-revealing-slider .tp-portfolio-revealing-slide-inner::after {
   content: '';
   position: absolute;
   left: 0;
   top: 0;
   right: 0;
   bottom: 0;
   background: rgba(0, 0, 0, 0.45);
   pointer-events: none;
   z-index: 1;
}
.tp-portfolio-revealing-slider .tp-portfolio-revealing-slide-inner {
   display: flex;
   align-items: center;
}
.tp-portfolio-revealing-slider .tp-portfolio-revealing-slide-inner .container {
   width: 100%;
}
.tp-portfolio-revealing-slider .tp-portfolio-revealing-slide-content {
   position: relative;
   z-index: 2;
}
.tp-portfolio-revealing-slider .tp-portfolio-revealing-slide-content .tp-portfolio-revealing-slide-text,
.tp-portfolio-revealing-slider .tp-portfolio-revealing-slide-content .tp-portfolio-revealing-slide-heading a {
   color: #fff !important;
   text-shadow: 0 1px 3px rgba(0,0,0,0.3);
}

/* Klijenti – kartice sa logotipima */
.tp-client-logo-wrap {
   transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.tp-client-logo-wrap:hover {
   box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08) !important;
   transform: translateY(-2px);
}
.tp-client-logo {
   filter: grayscale(1);
   transition: filter 0.25s ease, opacity 0.25s ease;
}
.tp-client-logo-wrap:hover .tp-client-logo {
   filter: grayscale(0);
}

/* GymApp – device mockups (laptop + phone) */
.tp-gymapp-devices .tp-device-mockup {
   max-width: 100%;
}
.tp-device-laptop {
   width: 100%;
   max-width: 720px;
}
.tp-laptop-screen {
   background: #1a1a1a;
   border: 12px solid #2d2d2d;
   border-bottom: 0;
   border-radius: 10px 10px 0 0;
   overflow: hidden;
   box-shadow: 0 10px 40px rgba(0,0,0,0.2);
}
.tp-laptop-screen img {
   width: 100%;
   height: auto;
   display: block;
   vertical-align: middle;
}
.tp-laptop-base {
   height: 18px;
   background: linear-gradient(180deg, #3a3a3a 0%, #2d2d2d 100%);
   border: 12px solid #2d2d2d;
   border-top: 4px solid #252525;
   border-radius: 0 0 12px 12px;
   margin-top: -2px;
   max-width: calc(100% + 24px);
   margin-left: -12px;
   box-shadow: 0 6px 20px rgba(0,0,0,0.25);
}
/* Telefon uspravno (portrait), mali okvir, sadržaj tačno stane */
.tp-device-phone {
   width: 100%;
   max-width: 88px;
}
.tp-phone-screen {
   background: #0d0d0d;
   border: 6px solid #1f1f1f;
   border-radius: 22px;
   overflow: hidden;
   box-shadow: 0 10px 28px rgba(0,0,0,0.35), 0 0 0 2px rgba(255,255,255,0.04);
   aspect-ratio: 9 / 19;
   display: flex;
   align-items: stretch;
}
.tp-phone-screen img {
   width: 100%;
   height: 100%;
   object-fit: contain;
   object-position: top center;
   display: block;
}
@media (max-width: 991px) {
   .tp-gymapp-devices .tp-device-phone {
      max-width: 72px;
   }
   .tp-phone-screen {
      border-width: 5px;
      border-radius: 18px;
   }
   .tp-device-laptop .tp-laptop-screen {
      border-width: 8px;
   }
   .tp-laptop-base {
      border-width: 8px;
      height: 14px;
   }
}

/* Cenovnik / Pricing – kartice sa animacijom i hover */
.tp-pricing-area .tp-section-title {
   letter-spacing: -0.02em;
}
.tp-pricing-grid {
   counter-reset: pricing-num;
}
.tp-pricing-card {
   position: relative;
   display: flex;
   flex-direction: column;
   background: #fff;
   border-radius: 16px;
   padding: 28px 24px;
   border-left: 4px solid var(--tp-theme-primary, #C4EE18);
   box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
   transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.35s ease, border-left-color 0.25s ease;
   height: 100%;
   overflow: hidden;
}
.tp-pricing-card::before {
   content: '';
   position: absolute;
   left: 0;
   top: 0;
   bottom: 0;
   width: 4px;
   background: linear-gradient(180deg, var(--tp-theme-primary, #C4EE18) 0%, #0d0d0d 100%);
   opacity: 0;
   transition: opacity 0.3s ease;
}
.tp-pricing-card:hover {
   transform: translateY(-8px) scale(1.02);
   box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
   border-left-color: #0d0d0d;
}
.tp-pricing-card:hover::before {
   opacity: 1;
}
.tp-pricing-card-num {
   position: absolute;
   top: 16px;
   right: 18px;
   width: 32px;
   height: 32px;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 13px;
   font-weight: 700;
   color: rgba(0, 0, 0, 0.35);
   background: rgba(0, 0, 0, 0.06);
   border-radius: 50%;
   transition: color 0.25s ease, background 0.25s ease;
}
.tp-pricing-card:hover .tp-pricing-card-num {
   color: #fff;
   background: var(--tp-theme-primary, #C4EE18);
}
.tp-pricing-card-title {
   line-height: 1.4;
   padding-right: 40px;
   min-height: 2.8em;
}
.tp-pricing-card-price {
   margin-top: auto;
   padding-top: 12px;
   border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.tp-pricing-from {
   font-size: 14px;
   font-weight: 500;
   color: var(--tp-common-black-3, #666);
   text-transform: lowercase;
}
.tp-pricing-amount {
   font-size: 28px;
   font-weight: 700;
   letter-spacing: -0.02em;
   color: var(--tp-common-black-1, #030303);
}
.tp-pricing-unit {
   font-size: 15px;
   font-weight: 600;
   color: var(--tp-common-black-3, #666);
   margin-left: 2px;
}
/* Alternating accent za “smešan” izgled – svaka druga kartica malo drugačija */
.tp-pricing-grid .col-12:nth-child(4n+2) .tp-pricing-card {
   border-left-color: #0d0d0d;
}
.tp-pricing-grid .col-12:nth-child(4n+2) .tp-pricing-card:hover {
   border-left-color: var(--tp-theme-primary, #C4EE18);
}
.tp-pricing-grid .col-12:nth-child(4n+3) .tp-pricing-card {
   background: linear-gradient(145deg, #fafafa 0%, #fff 100%);
}
.tp-pricing-grid .col-12:nth-child(4n+4) .tp-pricing-card {
   border-left-width: 6px;
}
@media (min-width: 768px) {
   .tp-pricing-card {
      padding: 32px 28px;
   }
   .tp-pricing-amount {
      font-size: 32px;
   }
}

/* Tim / Team – omotac za sliku člana (placeholder ili prava slika) */
.tp-team-thumb-wrap {
   overflow: hidden;
   background: #eee;
   aspect-ratio: 4 / 5;
}
.tp-team-photo {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
   transition: transform 0.4s ease;
}
.tp-team-sa-item:hover .tp-team-photo {
   transform: scale(1.05);
}
/* Tim – stabilan grid, bez parallax/letećih elemenata */
.tp-team-grid .tp-team-card {
   margin-bottom: 0;
}
.tp-team-grid .tp-team-sa-item {
   height: 100%;
}
