/* FTS Editable Hover Effects */
.fts_editable_trigger:hover {
  background: linear-gradient(
    135deg,
    rgba(255, 140, 0, 0.08) 0%,
    rgba(255, 165, 0, 0.12) 100%
  );
  box-shadow: 0 0 0 3px rgba(255, 140, 0, 0.2),
    0 2px 8px rgba(255, 140, 0, 0.15);
  border-radius: 4px;
  padding: 2px 4px;
  margin: -2px -4px;
}

.fts_editable_trigger:active {
  transform: translateY(1px);
  box-shadow: 0 0 0 3px rgba(255, 140, 0, 0.3), 0 1px 4px rgba(255, 140, 0, 0.2);
}

.fts_editable {
  position: relative;
  display: inline-block;
}

.test {}

.fts_editable:hover {
  background: linear-gradient(
    135deg,
    rgba(255, 140, 0, 0.08) 0%,
    rgba(255, 165, 0, 0.12) 100%
  );
  box-shadow: 0 0 0 3px rgba(255, 140, 0, 0.2);
  border-radius: 4px;
}

/* Prevent link behavior for editable links */
a.fts_editable {
  pointer-events: none;
}

a.fts_editable .fts_editable_trigger {
  pointer-events: auto;
}

.language_switcher button {
  margin-top: 10px;
  color: white;
  border: none;
}

.de-marquee-list,
.de-marquee-list-2 {
    overflow: hidden;
    white-space: nowrap;
    width: 100%;
    max-width: 100%;
}

.js-marquee-wrapper,
.js-marquee {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.glightbox img {
    cursor: zoom-in;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.glightbox:hover img {
    transform: scale(1.05);
    opacity: 0.9;
}





* {
    --bg-dark-1: #1A78BC;
    --primary-color: #1A78BC;
    --secondary-color: #86C7E3;
    --title-font-color: #1A78BC;
    --bg-light: #0d71ba40;
}

h2 {
  font-size: 36px;
}

.menu-item .fi {
  width: 21px !important;
}

.no_padding {
  padding: 0px;
}


#topbar {
  background: rgba(255, 255, 255, .15);
  -webkit-backdrop-filter: blur(10px);
  -o-backdrop-filter: blur(10px);
  -moz-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

#topbar span {
  color: white;
  font-weight: normal;
}

header div#logo {
  max-width: 210px;
}

#mainmenu li a span {
  font-size: inherit !important;
}

#mainmenu a span:not(.badge) {
    width: 100%;
}

header #mainmenu a.menu-item span {
  border: none;
}

header.header-mobile #mainmenu a.menu-item,
header.header-mobile #mainmenu a.menu-item span {
    display: block;
}

.menu-item-has-children ul li a span {
  color: var(--primary-color) !important;
}

.menu-item-has-children ul li a:hover span {
  color: white !important;
}

#mainmenu li ul {
    width: 200px;
}

.language_switcher ul {
  width: 50px !important;
}

#mainmenu a span:not(.badge) {
  border-bottom: 0px;
}

#section-intro .intro-content .v-center, #section-intro .intro-content .abs {
  background-color: #0000004a;
}

#section-intro {
    position: relative;
    overflow: hidden;
}

.intro-content .abs-centered {
  background-color: initial !important;
}

.hero_inner {
  width: 60%;
  margin: 0 auto;
  text-align: center;
}

/* Video pozadina */
.video-bg-container {
    position: absolute;
    inset: 0;            /* top:0; right:0; bottom:0; left:0; */
    z-index: 1;          /* video ispod sadržaja */
    overflow: hidden;
}

.video-bg-iframe-wrapper {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 120%;
    height: 120%;
    transform: translate(-50%, -50%);
    pointer-events: none; /* da ne blokira klikove na dugmad */
}

.video-bg-iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

/* Sadržaj (tekst, logo, box) iznad videa */
#section-intro .intro-content {
    position: relative;
    z-index: 5;
}

/* Ako z-1000 klase prave haos, ovo ih nadjačava */
#section-intro .intro-content .v-center,
#section-intro .intro-content .abs {
    position: relative;
    padding-top: 18%;
    z-index: 6;
}

/* Sekcija treba position: relative ali BEZ visokog z-index */
#section-intro {
    position: relative;
    /* ukloni z-1000 klasu iz HTML-a */
}

/* Video pozadina */
.video-bg-container {
    position: absolute;
    inset: 0;
    z-index: 0;          /* ili -1 */
    overflow: hidden;
}

.video-bg-iframe-wrapper {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 120%;
    height: 120%;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.video-bg-iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

/* Sadržaj MORA biti position: relative sa z-index većim od 0 */
#section-intro .intro-content {
    position: relative;
    z-index: 10;
}

/* Swiper u desnoj koloni – ne širi se preko row-a */
/* Owl wrapper u desnoj koloni */
.jarallax .about-owl-wrapper {
    position: relative;
    width: 100%;
    max-width: 100%;
}

/* Neka carousel poštuje širinu kolone */
.jarallax .about-owl-wrapper .owl-two-col {
    width: 100%;
}

/* Slike unutar slajdova */
.jarallax .about-owl-wrapper .item .row > [class*="col-"] img {
    width: 100%;
    height: auto;
    display: block;
}

.owl_one_col_height img {
    max-height: 500px;
    object-fit: contain;
}

.service_card {
    text-align: center;
}

/* Service Card */
.service_card {
    border-radius: 8px;
    transition: all 0.3s ease;
}

.service_card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

/* Icon Circle Background */
.service_card img {
    position: relative;
    border-radius: 50%;
    background: #f0f0f0; /* Svetlo siva boja */
    padding: 20px;
    transition: background 0.3s ease;
}

.service_card:hover img {
    background: var(--primary-color);
}

/* Title Hover */
.service_card:hover h3 {
    color: var(--primary-color) !important;
}

.home_business_customers {
    background-image: url(/storage/assets/business-customers-background.webp);
}

.owl-nav {
  font-size: 2em;
  color: var(--bg-dark-1);
}

footer {
    background-image: url(/storage/assets/footer-background.webp);
    background-size: cover;
}

footer .logo-main {
  width: 100%;
  margin-top: 18%;
}

footer .row {
    max-width: 97%;
}

footer .widget,
footer a,
footer span {
    color: black;
}

.footer_contact span {
    display: inline-block;
}

.subfooter {
    margin-top: 60px;
    color: black;
}

.subfooter a {
  color: var(--primary-color);
  text-decoration: none !important;
}

.internal_page_hero {
  height: 600px;
}

.crumb {
    display: none;
}

.iternal_page_hero h1,
#subheader h1,
.contact_hero h1 {
  font-size: 46px;
}

.internal_page_hero .intro-content .v-center, #section-intro .intro-content .abs {
  padding-top: 0px !important;
}

.internal_page_hero .video-bg-iframe-wrapper {
    position: absolute;
    top: 50%;
    left: 50%;

    width: 180%;       /* OVO rešava crne linije */
    height: 180%;

    transform: translate(-50%, -50%);
    pointer-events: none;
    overflow: hidden;
}

/* ABOUT SECTION - FULL WIDTH LAYOUT */
.about_section_fullwidth {
    position: relative;
    overflow: hidden;
}

.about_section_fullwidth .row {
    min-height: 600px;
}

/* TEXT COLUMN - VERTIKALNO CENTRIRANJE */
.about_text_column {
    display: flex;
    align-items: center;
    padding: 60px;
    background: #fff;
}

.about_text_wrapper {
    max-width: 600px;
    margin: 0 auto;
}

/* CAROUSEL COLUMN - FULL HEIGHT */
.about_carousel_column {
    position: relative;
    min-height: 600px;
}

.about_carousel_fullheight {
    height: 100%;
}

.about_carousel_fullheight .item {
    height: 100%;
    position: relative;
}

.about_carousel_fullheight .item a {
    display: block;
    height: 100%;
    width: 100%;
}

/* FOTOGRAFIJE - 100% WIDTH I HEIGHT */
.carousel_fullheight_img {
    width: 100%;
    height: 100%;
    height: 600px;
    object-fit: cover;
    object-position: center;
    cursor: zoom-in;
    transition: transform 0.4s ease;
}

.carousel_fullheight_img:hover {
    transform: scale(1.05);
}

/* OWL CAROUSEL CUSTOM STYLING ZA FULL HEIGHT */
.about_carousel_fullheight .owl-stage-outer,
.about_carousel_fullheight .owl-stage,
.about_carousel_fullheight .owl-item {
    height: 100%;
}

/* NAVIGATION ARROWS */
.about_carousel_fullheight .owl-nav button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.9) !important;
    color: #333 !important;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    font-size: 20px;
    transition: all 0.3s ease;
    z-index: 10;
}

.about_carousel_fullheight .owl-nav button:hover {
    background: rgba(255, 255, 255, 1) !important;
    transform: translateY(-50%) scale(1.1);
}

.about_carousel_fullheight .owl-nav .owl-prev {
    left: 20px;
}

.about_carousel_fullheight .owl-nav .owl-next {
    right: 20px;
}

/* DOTS NAVIGATION */
.about_carousel_fullheight .owl-dots {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
}

.about_carousel_fullheight .owl-dot span {
    background: rgba(255, 255, 255, 0.7);
    width: 12px;
    height: 12px;
    margin: 5px;
    transition: all 0.3s ease;
}

.about_carousel_fullheight .owl-dot.active span,
.about_carousel_fullheight .owl-dot:hover span {
    background: #fff;
    transform: scale(1.2);
}

/* RESPONSIVE - MOBILE */
@media (max-width: 991px) {
    .about_section_fullwidth .row {
        min-height: auto;
    }
    
    .about_text_column {
        padding: 40px 20px;
        min-height: auto;
    }
    
    .about_carousel_column {
        min-height: 400px;
    }
    
    .carousel_fullheight_img {
        min-height: 400px;
    }
    
    .about_text_wrapper {
        max-width: 100%;
    }
}

@media (max-width: 767px) {
    .about_carousel_column {
        min-height: 300px;
    }
    
    .carousel_fullheight_img {
        min-height: 300px;
    }
}

/* BACKGROUND VARIATIONS (OPTIONAL) */
.about_section_1 .about_text_column {
    background: #f8f9fa;
}

.about_section_2 .about_text_column {
    background: #fff;
}

.cropped_carousel img {
  height: 400px;
  object-fit: cover;
}

.contact_details {
  padding: 30px 0px;
}

.single_service_cta {
  margin: 0px auto 30px;
}

.single_service_cta a {
  display: inline-block;
  width: auto;
}

.single_service_content_section {
  background-image: url(/storage/assets/service-content-section-background.webp);
  background-size: cover;
}

.single_service_content_reversed {
  background-image: url(/storage/assets/service-content-section-background1.webp);
}

.single_service_photo_carousel img {
  max-height: 400px;
  object-fit: contain;
}

/* Single Service Parallax Section */
.single_service_parallax_section {
    position: relative;
    min-height: 500px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
}

.single_service_parallax_overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3); /* Tamni overlay */
    z-index: 1;
}

.single_service_parallax_section .container {
    position: relative;
    z-index: 2;
}

.single_service_parallax_section h2 {
    font-size: 2.5rem;
    font-weight: 700;
    margin: 0;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

/* Responsive */
@media (max-width: 767px) {
    .single_service_parallax_section {
        min-height: 300px;
    }
    
    .single_service_parallax_section h2 {
        font-size: 1.8rem;
    }
}

.masonry_gallery_grid {
    column-count: 4;
    column-gap: 10px;
}

.masonry_gallery_item {
    break-inside: avoid;
    margin-bottom: 10px;
    position: relative;
    overflow: hidden;
    border-radius: 4px;
    cursor: pointer;
}

/* Responsive */
@media (max-width: 1199px) {
    .masonry_gallery_grid {
        column-count: 3;
    }
}

@media (max-width: 767px) {
    .masonry_gallery_grid {
        column-count: 2;
        column-gap: 8px;
    }
}

@media (max-width: 575px) {
    .masonry_gallery_grid {
        column-count: 1;
    }
}

.post_meta span {
  color: var(--primary-color);
}



/* Sakrij submenu po defaultu */
.menu-item-has-children ul {
    display: none;
}

.menu-item-has-children.active ul {
    display: block;
}

/* Sakrij onaj prazan span */
.menu-item-has-children > span {
    display: none;
}

/* Mobilni stilovi */
@media (max-width: 991px) {
    .menu-item-has-children > a.menu-item {
        cursor: pointer;
        position: relative;
        padding-right: 30px; /* Prostor za ikonicu */
    }
    
    /* Dodaj strelicu na kraju linka */
    .menu-item-has-children > a.menu-item:after {
        content: '\25BC'; /* Down arrow ▼ */
        position: absolute;
        right: 10px;
        top: 50%;
        transform: translateY(-50%);
        font-size: 12px;
        transition: transform 0.3s ease;
    }
    
    .menu-item-has-children.active > a.menu-item:after {
        transform: translateY(-50%) rotate(180deg);
    }
    
    /* Submenu indent */
    .menu-item-has-children ul li a {
        padding-left: 30px !important;
    }
}


@media (min-width: 1100px) {

    /* parent mora biti relative */
    li.menu-item-has-children {
        position: relative;
    }

    /* dropdown – hard reset postojećeg CSS-a */
    li.menu-item-has-children > ul {
        display: block !important;          /* najčešći problem */
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        position: absolute;
        top: 100%;
        left: 0;
        transform: translateY(10px);
        transition: opacity .25s ease, transform .25s ease;
        z-index: 9999;
    }

    /* hover aktivacija */
    li.menu-item-has-children:hover > ul {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
    }
}

@media (min-width: 1400px) {
    footer {
        padding: 160px 0 0 0;
        background-size: cover;
    }
}

@media (min-width: 1900px) {
    footer {
        padding: 160px 0 0 0;
        background-size: cover;
    }
}

@media (max-width: 900px) {

    h1 {
        font-size: 29px;
        letter-spacing: 3px;
    }

    h2 {
        font-size: 24px;
        letter-spacing: 3px;

    }

    /* Sakrij submenu po defaultu na mobilnom */
    header.header-mobile #mainmenu li ul {
        display: none;
        height: 0;
        overflow: hidden;
        opacity: 0;
        transition: all 0.3s ease;
    }

    /* Prikaži submenu kada je parent active */
    header.header-mobile #mainmenu li.menu-item-has-children.active > ul {
        display: block;
        height: auto;
        opacity: 1;
        padding-top: 10px;
        padding-bottom: 10px;
    }

    /* Opciono: dodaj indent za submenu linkove */
    header.header-mobile #mainmenu li.menu-item-has-children ul li a {
        padding-left: 40px;
    }

    #mainmenu li li a span {
        color: white !important;
    }

    #mainmenu li li {
        border-color: #ffffff3b !important;
    }

    /* Language switcher dropdown na mobilnom */
    header.header-mobile #mainmenu li.language_switcher.active > ul {
        display: block !important;
        height: auto !important;
        opacity: 1 !important;
        visibility: visible !important;
        position: relative !important;
    }

    /* Zastavice - osiguraj da su vidljive */
    header.header-mobile #mainmenu li.language_switcher ul li {
        display: block !important;
        padding-left: 0px;
        opacity: 1 !important;
        visibility: visible !important;
        border: none;
    }

    header.header-mobile #mainmenu li.language_switcher ul li a {
        display: block !important;
        align-items: center;
        padding: 10px 20px;
    }

    /* Flag ikone */
    header.header-mobile #mainmenu li.language_switcher .fi {
        display: inline-block !important;
        width: 24px;
        height: 18px;
        font-size: 18px;
    }

    /* Stavi after na span umesto na a */
    #mainmenu li.menu-item-has-children > a.menu-item > span {
        position: relative !important;
        padding-right: 25px !important;
        display: inline-block !important;
    }

    #mainmenu li.menu-item-has-children > a.menu-item > span::after {
        content: '▼';
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        font-size: 12px;
        margin-left: 8px;
        transition: transform 0.3s ease;
    }

    #mainmenu .language_switcher a.menu-item > span::after {
        margin-right: -30px;
    }

    #mainmenu li.menu-item-has-children.active > a.menu-item > span::after {
        transform: translateY(-50%) rotate(180deg);
    }

    #section-intro {
        height: 400px;
        margin-top: 69px;
    }

    .video-bg-iframe-wrapper {
        width: 208%;
    }

    .hero_inner {
        width: 100%;
    }

    #section-intro .intro-content .v-center, #section-intro .intro-content .abs {
        padding-top: 60% !important;
    }

    .internal_page_hero .intro-content .v-center, #section-intro .intro-content .abs {
        padding-top: 77% !important;
        padding-bottom: 15% !important;
    }

    #section-intro .v-center {
        min-height: initial;
    }

    .home_categories .col-md-3 {
        margin-top: 0px;
    }

    .service_card {
        padding-bottom: 0px !important;
    }

    .internal_page_hero {
        height: 400px;
    }

    .internal_page_hero .intro-content .v-center, #section-intro .intro-content .abs {
        padding-top: 0% !important;
        padding-bottom: 6%;
    }

    .about_section_2 .about_text_column,
    .about_section_4 .about_text_column {
        order: 1;
    }

    .about_section_2 .about_carousel_column,
    .about_section_4 .about_carousel_column {
        order: 2;
    }

    .carousel_fullheight_img {
        height: 300px;
    }

    .about_carousel_fullheight .owl-nav button {
        width: 36px;
        height: 36px;
    }

    .owl-naw {
        font-size: 1.3em;
    }

    .single_service_cta a {
        padding: 3px 13px;
    }



}


