        :root {
            /* Light Mode Defaults */
            --primary-color: #014D4E;
            --primary-color-darker: #012F30;
            --secondary-bg-color: #D5EEF5;
            --background-color: #FFFFFF;
            --card-background-color: #FFFFFF;
            --text-color: #333333;
            --heading-color: #014D4E; 
            --text-color-light: #CCCCCC;
            --border-color: #ddd;
            --shadow-color: rgba(0,0,0,0.08);
            --button-text-color: #FFFFFF;
            --icon-bg-color: var(--secondary-bg-color);
            --icon-color: var(--primary-color);
            --accent-color: #66D9C4; 
            --white-color: #FFFFFF;

            /* Fontovi */
            --font-family-headings: 'Paytone One', sans-serif;
            --font-family-body: 'Lato', sans-serif;
            
            /* Dodatne varijable za konzistentnost */
            --line-height-normal: 1.6;
            --line-height-tight: 1.3;
            --line-height-loose: 1.8;
            --transition-speed: 0.3s;
            --transition-speed-fast: 0.2s;
            --transition-speed-slow: 0.5s;
            --border-radius-main: 10px;
            --pulse-animation-duration: 2s;
        }

        body.dark-mode {
            --primary-color: #02A8AB;
            --primary-color-darker: #0B0F14;
            --secondary-bg-color: #2C3E50;
            --background-color: #1A1A1A;
            --card-background-color: #252525;
            --text-color: #E0E0E0;
            --heading-color: #02A8AB; 
            --text-color-light: #A0A0A0;
            --border-color: #444;
            --shadow-color: rgba(255,255,255,0.05);
            --button-text-color: #FFFFFF; 
            --icon-bg-color: #34495E;
            --icon-color: var(--primary-color);
        }

        * { margin: 0; padding: 0; box-sizing: border-box; }
        html { scroll-behavior: smooth; }

        body {
            font-family: var(--font-family-body);
            font-size: 16px;
            line-height: var(--line-height-normal);
            background-color: var(--background-color);
            color: var(--text-color);
            transition: background-color var(--transition-speed) ease, color var(--transition-speed) ease;
        }

        /* NOVO: Accessibility - Skip to content */
        .skip-to-content {
            position: absolute;
            top: -40px;
            left: 20px;
            background-color: var(--primary-color);
            color: var(--button-text-color);
            padding: 8px 16px;
            text-decoration: none;
            font-weight: 500;
            border-radius: 4px;
            z-index: 10000;
            transition: top var(--transition-speed-fast) ease;
        }
        .skip-to-content:focus {
            top: 20px;
        }

        /* NOVO: Focus states za bolju accessibility */
        *:focus {
            outline: 2px solid var(--accent-color);
            outline-offset: 2px;
        }
        
        button:focus,
        a:focus,
        input:focus,
        textarea:focus,
        select:focus {
            outline: 2px solid var(--accent-color);
            outline-offset: 2px;
        }
        
        /* NOVO: Preloader */
        #preloader {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: var(--background-color);
            z-index: 9999;
            display: flex;
            justify-content: center;
            align-items: center;
            transition: opacity 0.5s ease-out, visibility 0.5s ease-out;
        }
        #preloader.loaded {
            opacity: 0;
            visibility: hidden;
        }
        .loader-spinner {
            border: 4px solid var(--secondary-bg-color);
            border-top: 4px solid var(--primary-color);
            border-radius: 50%;
            width: 40px;
            height: 40px;
            animation: spin 1s linear infinite;
        }
        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }

        /* NOVO: Dodatne animacije */
        @keyframes pulse {
            0%, 100% { transform: scale(1); }
            50% { transform: scale(1.05); }
        }

        @keyframes slideInUp {
            from { 
                opacity: 0; 
                transform: translateY(30px); 
            }
            to { 
                opacity: 1; 
                transform: translateY(0); 
            }
        }

        @keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }

        @keyframes bounce {
            0%, 20%, 53%, 80%, 100% {
                animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
                transform: translate3d(0,0,0);
            }
            40%, 43% {
                animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
                transform: translate3d(0, -6px, 0);
            }
            70% {
                animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
                transform: translate3d(0, -3px, 0);
            }
        }

        .container {
            width: 90%;
            max-width: 1200px;
            margin: 0 auto;
            padding-left: 15px;
            padding-right: 15px;
            position: relative; 
            z-index: 2; 
        }

        /* Header */
        #header {
            background-color: var(--card-background-color);
            padding: 10px 0;
            position: sticky;
            top: 0;
            z-index: 1000;
            transition: box-shadow var(--transition-speed) ease, background-color var(--transition-speed) ease;
            border-bottom: 1px solid var(--border-color);
        }
        #header.scrolled { box-shadow: 0 2px 10px var(--shadow-color); }
        #header .container { display: flex; justify-content: space-between; align-items: center; padding-left: 0; padding-right: 0; }
        main .container, footer .container { padding-left: 15px; padding-right: 15px; }

        .logo-link { display: inline-block; text-decoration: none; padding-left: 15px; flex-shrink: 0; }
        .logo-svg { height: 45px; width: auto; vertical-align: middle; }
        .logo-text-fallback { font-family: var(--font-family-headings); font-size: 20px; font-weight: normal; color: var(--heading-color); text-decoration: none; vertical-align: middle; }
        
        .header-right-group { display: flex; align-items: center; margin-left: auto; padding-right: 15px; }
        .main-nav { display: flex; align-items: center; }
        .main-nav ul { list-style: none; display: flex; margin: 0; }
        .main-nav ul li { margin-left: 25px; }
        .main-nav ul li:first-child { margin-left: 0; }
        .main-nav ul li a { text-decoration: none; color: var(--text-color); font-weight: 500; font-family: var(--font-family-body); position: relative; padding: 8px 0; transition: color var(--transition-speed) ease; }
        .main-nav ul li a::after { content: ''; position: absolute; width: 0; height: 2px; bottom: 0; left: 50%; transform: translateX(-50%); background-color: var(--primary-color); transition: width var(--transition-speed) ease-in-out; }
        .main-nav ul li a:hover { color: var(--primary-color); }
        .main-nav ul li a:hover::after, .main-nav ul li a.active-link::after { width: 100%; }
        .main-nav ul li a.active-link { color: var(--accent-color); }
        .main-nav ul li a.active-link::after { background-color: var(--accent-color); }
        
        .menu-toggle { display: none; font-size: 24px; background: none; border: none; color: var(--primary-color); cursor: pointer; margin-left: 15px; padding: 5px; }

        .theme-toggle-button { 
            background: none; 
            border: 1px solid var(--border-color); 
            color: var(--text-color); 
            padding: 8px 10px; 
            border-radius: 50%; 
            cursor: pointer; 
            font-size: 16px; 
            margin-left: 25px; 
            transition: all var(--transition-speed) ease; 
            display: flex; 
            align-items: center; 
            justify-content: center; 
            width: 38px; 
            height: 38px; 
            flex-shrink: 0;
            opacity: 0.8;
        }
        
        .theme-toggle-button:hover { 
            opacity: 1;
            border-color: var(--primary-color);
            transform: translateY(-1px);
        }
        
        .theme-toggle-button .fa-sun { 
            display: none; 
        } 
        
        .theme-toggle-button .fa-moon { 
            display: inline-block; 
        } 
        
        body.dark-mode .theme-toggle-button .fa-moon { 
            display: none; 
        } 
        
        body.dark-mode .theme-toggle-button .fa-sun { 
            display: inline-block; 
        } 

        /* Hero Section */
        .hero-section { position: relative; padding-top: 120px; padding-bottom: 120px; min-height: 70vh; display: flex; align-items: center; overflow: hidden; }
        #hero-video { position: absolute; top: 0; left: 0; width: 100%; height: 120%; object-fit: cover; z-index: 0; opacity: 0.55; transform: translateY(0px); transition: transform 0.1s ease-out; }
        .hero-section::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(45deg, rgba(213, 238, 245, 0.3), rgba(255, 255, 255, 0.05)); z-index: 1; transition: background var(--transition-speed) ease; }
        body.dark-mode .hero-section::before { background: linear-gradient(45deg, rgba(44, 62, 80, 0.4), rgba(26, 26, 26, 0.1)); }
        .hero-section .container { display: flex; align-items: center; gap: 40px; }
        .hero-content { flex: 1.2; padding-right: 20px; }
        
        /* IZMENJENO: Glavni naslov */
        .hero-content h1 { font-family: var(--font-family-headings); font-weight: normal; color: #014344; margin-bottom: 25px; line-height: 1.1; text-shadow: 1px 1px 2px rgba(0,0,0,0.15); }
        
        /* NOVO: Stilovi za višelinijski naslov */
        .hero-content h1 span { display: block; text-transform: uppercase; }
        .hero-content h1 .h1-line-1 { font-size: 38px; letter-spacing: 1.5px; margin-bottom: 5px; }
        .hero-content h1 .h1-line-2 { font-size: 72px; letter-spacing: 2.5px; margin-bottom: 8px; }
        .hero-content h1 .h1-line-3 { font-size: 29px; letter-spacing: 1px; font-family: var(--font-family-body); font-weight: 500; text-transform: none; }

        body.dark-mode .hero-content h1 { color: var(--white-color); text-shadow: 1px 1px 4px rgba(0,0,0,0.5); }
        .hero-content .subtitle { font-family: var(--font-family-body); font-size: 19px; font-weight: 400; color: #014344; margin-bottom: 35px; line-height: 1.7; max-width: 650px; text-shadow: 0.5px 0.5px 1.5px rgba(0,0,0,0.1); }
        body.dark-mode .hero-content .subtitle { color: #e0e0e0; text-shadow: 1px 1px 4px rgba(0,0,0,0.6); }

        .cta-button { display: inline-block; background-color: var(--primary-color); color: var(--button-text-color); padding: 14px 35px; text-decoration: none; font-family: var(--font-family-body); font-weight: 500; border-radius: 30px; transition: background-color var(--transition-speed) ease, transform var(--transition-speed) ease, box-shadow var(--transition-speed) ease, color var(--transition-speed) ease; position: relative; border: none; box-shadow: 0 4px 10px rgba(0,0,0,0.2); overflow: hidden; }
        .cta-button::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent); transition: left 0.6s; }
        .cta-button:hover::before { left: 100%; }
        .cta-button span { position: relative; display: inline-block; }
        .cta-button:hover { background-color: var(--primary-color-darker); transform: translateY(-3px); box-shadow: 0 6px 15px rgba(0,0,0,0.3); animation: pulse var(--pulse-animation-duration) infinite; }
        .cta-button:active { transform: translateY(-1px); }
        
        /* Hero Actions Container */
        .hero-actions { display: flex; align-items: center; gap: 25px; flex-wrap: wrap; }
        
        /* Hero Social Links */
        .social-links-hero { display: flex; gap: 12px; }
        .social-links-hero .social-link { 
            width: 40px; 
            height: 40px; 
            border-radius: 50%; 
            background-color: rgba(255,255,255,0.1); 
            backdrop-filter: blur(10px);
            border: 1px solid rgba(255,255,255,0.2);
            color: var(--white-color); 
            display: flex; 
            align-items: center; 
            justify-content: center; 
            font-size: 16px; 
            text-decoration: none; 
            transition: all var(--transition-speed) ease;
            opacity: 0.8;
        }
        .social-links-hero .social-link:hover { 
            opacity: 1;
            transform: translateY(-2px);
            background-color: rgba(255,255,255,0.15);
            border-color: rgba(255,255,255,0.3);
        }
        
        .hero-image-container { flex: 0.8; display: flex; justify-content: center; align-items: center; }
        .hero-image-container img { max-width: 100%; max-height: 500px; height: auto; border-radius: var(--border-radius-main); object-fit: contain; box-shadow: 0 5px 20px rgba(0,0,0,0.25); transition: transform var(--transition-speed-slow) ease, box-shadow var(--transition-speed-slow) ease; }
        .hero-image-container img:hover { transform: scale(1.02); box-shadow: 0 8px 25px rgba(0,0,0,0.35); }

        /* Section Titles & Sections */
        .section-title { font-family: var(--font-family-headings); font-size: 34px; font-weight: normal; color: var(--heading-color); margin-top: 0; margin-bottom: 50px; text-align: center; line-height: var(--line-height-tight); letter-spacing: 1.2px; }
        section:not(.hero-section) { padding-top: 70px; padding-bottom: 70px; }

        /* About Section */
        .about-section { background-color: var(--background-color); }
        .about-section .section-title { text-align: left; margin-bottom: 30px; }
        .about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: flex-start; }
        .about-text p { font-family: var(--font-family-body); font-size: 17px; line-height: var(--line-height-loose); color: var(--text-color); margin-bottom: 20px; }
        .about-text p:last-child { margin-bottom: 0; }

        .info-card { background-color: var(--card-background-color); padding: 35px; border-radius: var(--border-radius-main); box-shadow: 0 4px 15px var(--shadow-color); transition: background-color var(--transition-speed) ease, box-shadow var(--transition-speed) ease; }
        .info-card h3 { font-family: var(--font-family-headings); font-size: 22px; font-weight: normal; color: var(--heading-color); margin-bottom: 25px; letter-spacing: 0.8px; }
        .info-card ul { list-style: none; padding: 0; }
        .info-card ul li { margin-bottom: 18px; font-family: var(--font-family-body); font-size: 16px; display: flex; align-items: center; color: var(--text-color); }
        .info-card ul li:last-child { margin-bottom: 0; }
        .info-card ul li i { color: var(--primary-color); margin-right: 12px; width: 20px; text-align: center; transition: color var(--transition-speed) ease; }
        .info-card ul li a { color: var(--text-color); text-decoration: none; position: relative; transition: color var(--transition-speed) ease; }
        .info-card ul li a::after { content: ''; position: absolute; width: 0; height: 1px; bottom: -3px; left: 0; background-color: var(--accent-color); transition: width var(--transition-speed) ease-in-out; }
        .info-card ul li a:hover { color: var(--primary-color); }
        .info-card ul li a:hover::after { width: 100%; }
        .info-card ul li:hover i { color: var(--accent-color); }

        /* Services Section */
        .services-section { background-color: var(--secondary-bg-color); transition: background-color var(--transition-speed) ease; }
        .services-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 35px; }
        .service-card { background-color: var(--card-background-color); padding: 30px; border-radius: var(--border-radius-main); box-shadow: 0 5px 20px var(--shadow-color); text-align: center; transition: transform var(--transition-speed) ease, box-shadow var(--transition-speed) ease, background-color var(--transition-speed) ease; display: flex; flex-direction: column; justify-content: space-between; }
        .service-card:hover { transform: translateY(-5px) scale(1.02); box-shadow: 0 10px 25px var(--shadow-color); }
        .service-card .icon-container { width: 65px; height: 65px; background-color: var(--icon-bg-color); border-radius: 50%; display: flex; justify-content: center; align-items: center; margin: 0 auto 20px auto; transition: background-color var(--transition-speed) ease; }
        .service-card .icon-container i { font-size: 30px; color: var(--icon-color); transition: transform 0.4s ease; }
        .service-card:hover .icon-container i { transform: scale(1.15) rotate(-10deg); }
        .service-card h3 { font-family: var(--font-family-headings); font-size: 20px; font-weight: normal; color: var(--heading-color); margin-bottom: 10px; line-height: var(--line-height-tight); letter-spacing: 0.6px; }
        .service-card p { font-family: var(--font-family-body); font-size: 15px; color: var(--text-color); line-height: var(--line-height-normal); flex-grow: 1; margin-bottom: 0; }
        
        .services-subsection-title { font-family: var(--font-family-headings); font-size: 32px; font-weight: normal; color: var(--heading-color); text-align: center; margin: 50px 0 40px 0; letter-spacing: 1.2px; }

        /* Video Section */
        .video-section { background-color: var(--background-color); padding: 60px 0; transition: background-color var(--transition-speed) ease; }
        .video-section-title { font-family: var(--font-family-headings); font-size: 32px; font-weight: normal; color: var(--heading-color); text-align: center; margin-bottom: 40px; letter-spacing: 1.2px; }
        .video-container { max-width: 800px; margin: 0 auto; position: relative; padding-bottom: 45%; height: 0; overflow: hidden; border-radius: var(--border-radius-main); box-shadow: 0 10px 30px var(--shadow-color); }
        .video-container iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: var(--border-radius-main); }
        
        /* Team Section */
        .team-section { background-color: var(--background-color); transition: background-color var(--transition-speed) ease; }
        .team-section .section-title { margin-bottom: 30px; }
        .team-intro-text { font-family: var(--font-family-body); font-size: 17px; line-height: var(--line-height-loose); color: var(--text-color); text-align: center; max-width: 800px; margin: 0 auto 50px auto; }
        .team-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; }
        .team-member-card { background-color: var(--card-background-color); padding: 25px; border-radius: var(--border-radius-main); box-shadow: 0 5px 15px var(--shadow-color); transition: transform var(--transition-speed) ease, box-shadow var(--transition-speed) ease, background-color var(--transition-speed) ease; display: flex; flex-direction: column; text-align: left; }
        .team-member-card:hover { transform: translateY(-5px) scale(1.02); box-shadow: 0 8px 20px var(--shadow-color); }
        .team-member-name { font-family: var(--font-family-headings); font-size: 22px; font-weight: normal; color: var(--heading-color); margin-bottom: 8px; line-height: var(--line-height-tight); letter-spacing: 0.8px; }
        .team-member-specialization { font-family: var(--font-family-body); font-size: 15px; font-weight: 500; color: var(--primary-color); margin-bottom: 15px; line-height: var(--line-height-normal); }
        body.dark-mode .team-member-specialization { color: var(--accent-color); }
        .team-member-description { font-family: var(--font-family-body); font-size: 14px; color: var(--text-color); line-height: var(--line-height-normal); flex-grow: 1; }
        
        /* Gallery Section */
        .gallery-section { background-color: var(--background-color); transition: background-color var(--transition-speed) ease; }
        .gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
        .gallery-item img { width: 100%; height: 100%; object-fit: cover; border-radius: 8px; transition: transform var(--transition-speed) ease, box-shadow var(--transition-speed) ease, filter var(--transition-speed) ease; display: block; filter: grayscale(20%); }
        .gallery-item img:hover { transform: scale(1.05); box-shadow: 0 8px 20px var(--shadow-color); filter: grayscale(0%); }

        /* NOVO: Lazy loading placeholder */
        .lazy-loading {
            opacity: 0;
            transition: opacity 0.6s ease-in-out;
        }
        .lazy-loading.loaded {
            opacity: 1;
        }
        
        .lazy-placeholder {
            background: linear-gradient(90deg, var(--secondary-bg-color) 0%, var(--card-background-color) 50%, var(--secondary-bg-color) 100%);
            background-size: 200% 100%;
            animation: loading 1.5s infinite;
        }
        
        @keyframes loading {
            0% { background-position: 200% 0; }
            100% { background-position: -200% 0; }
        }

        /* Testimonials Section - Carousel */
        .testimonials-section { background-color: var(--secondary-bg-color); transition: background-color var(--transition-speed) ease; }
        .testimonials-carousel { position: relative; max-width: 800px; margin: 0 auto; }
        .testimonials-container { overflow: hidden; border-radius: var(--border-radius-main); }
        .testimonial-slide { display: none; animation: fadeIn 0.5s ease-in-out; }
        .testimonial-slide.active { display: block; }
        
        .testimonial-card { background-color: var(--card-background-color); padding: 40px; border-radius: var(--border-radius-main); box-shadow: 0 5px 20px var(--shadow-color); transition: transform var(--transition-speed) ease, box-shadow var(--transition-speed) ease, background-color var(--transition-speed) ease; position: relative; min-height: 200px; }
        .testimonial-card::before { content: "\f10d"; font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 28px; color: var(--primary-color); opacity: 0.1; position: absolute; top: 15px; left: 15px; z-index: 0; transition: color var(--transition-speed) ease, opacity var(--transition-speed) ease; }
        body.dark-mode .testimonial-card::before { opacity: 0.15; }
        .testimonial-text { font-family: var(--font-family-body); font-size: 17px; line-height: var(--line-height-loose); color: var(--text-color); margin-bottom: 25px; font-style: italic; position: relative; z-index: 1; }
        .testimonial-author { font-family: var(--font-family-body); font-size: 16px; font-weight: 700; color: var(--heading-color); text-align: right; }

        /* Carousel Controls */
        .carousel-controls { display: flex; align-items: center; justify-content: center; gap: 20px; margin-top: 30px; }
        .carousel-btn { background-color: var(--card-background-color); border: 2px solid var(--primary-color); color: var(--primary-color); width: 50px; height: 50px; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all var(--transition-speed) ease; font-size: 18px; }
        .carousel-btn:hover { background-color: var(--primary-color); color: var(--button-text-color); transform: scale(1.1); }
        .carousel-btn:disabled { opacity: 0.5; cursor: not-allowed; }
        .carousel-btn:disabled:hover { background-color: var(--card-background-color); color: var(--primary-color); transform: none; }

        .carousel-dots { display: flex; gap: 10px; align-items: center; }
        .carousel-dot { width: 12px; height: 12px; border-radius: 50%; background-color: rgba(1, 77, 78, 0.3); cursor: pointer; transition: all var(--transition-speed) ease; }
        .carousel-dot.active { background-color: var(--primary-color); transform: scale(1.3); }
        .carousel-dot:hover { background-color: var(--accent-color); }

        /* FAQ Section */
        .faq-section { background-color: var(--background-color); transition: background-color var(--transition-speed) ease; }
        .faq-container { max-width: 800px; margin: 0 auto; }
        .faq-item { background-color: var(--card-background-color); margin-bottom: 15px; border-radius: var(--border-radius-main); box-shadow: 0 2px 10px var(--shadow-color); transition: all var(--transition-speed) ease; }
        .faq-item:hover { box-shadow: 0 4px 15px var(--shadow-color); }
        .faq-question { padding: 25px 30px; cursor: pointer; display: flex; justify-content: space-between; align-items: center; user-select: none; }
        .faq-question h3 { font-family: var(--font-family-headings); font-size: 18px; font-weight: normal; color: var(--heading-color); margin: 0; flex: 1; letter-spacing: 0.5px; }
        .faq-question i { color: var(--primary-color); font-size: 16px; transition: transform var(--transition-speed) ease; }
        .faq-item.active .faq-question i { transform: rotate(45deg); }
        .faq-answer { max-height: 0; overflow: hidden; transition: max-height var(--transition-speed) ease, padding var(--transition-speed) ease; }
        .faq-item.active .faq-answer { max-height: 200px; padding: 0 30px 25px 30px; }
        .faq-answer p { font-family: var(--font-family-body); font-size: 16px; line-height: var(--line-height-normal); color: var(--text-color); margin: 0; }

        /* Contact Section - Form and Maps */
        .contact-section { background-color: var(--primary-color); color: var(--button-text-color); transition: background-color var(--transition-speed) ease, color var(--transition-speed) ease; }
        .contact-section .section-title { color: var(--button-text-color); font-size: 30px; margin-bottom: 40px; text-align: center; letter-spacing: 1px; }
        .contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
        
        .contact-form-container h3,
        .map-container h3 { color: var(--button-text-color); font-family: var(--font-family-headings); font-size: 24px; margin-bottom: 25px; letter-spacing: 0.8px; }
        
        /* Contact Form Styles */
        .contact-form { background-color: rgba(255,255,255,0.1); padding: 25px; border-radius: var(--border-radius-main); backdrop-filter: blur(10px); }
        .form-group { margin-bottom: 15px; }
        .form-group label { display: block; color: var(--button-text-color); font-weight: 500; margin-bottom: 8px; }
        
        .form-group input,
        .form-group select,
        .form-group textarea {
            width: 100%;
            padding: 12px 15px;
            border: 2px solid rgba(255,255,255,0.2);
            border-radius: 8px;
            background-color: rgba(255,255,255,0.1);
            color: var(--button-text-color);
            font-family: var(--font-family-body);
            font-size: 16px;
            transition: border-color var(--transition-speed) ease, background-color var(--transition-speed) ease;
        }
        
        .form-group input::placeholder,
        .form-group textarea::placeholder { color: rgba(255,255,255,0.6); }
        
        .form-group input:focus,
        .form-group select:focus,
        .form-group textarea:focus {
            border-color: var(--accent-color);
            background-color: rgba(255,255,255,0.15);
            outline: none;
        }
        
        /* Checkbox Styles */
        .checkbox-group { margin-bottom: 25px; }
        .checkbox-label { display: flex; align-items: flex-start; cursor: pointer; font-size: 14px; line-height: 1.4; }
        .checkbox-label input[type="checkbox"] { display: none; }
        .checkmark {
            width: 18px;
            height: 18px;
            border: 2px solid rgba(255,255,255,0.4);
            border-radius: 3px;
            margin-right: 10px;
            margin-top: 2px;
            flex-shrink: 0;
            position: relative;
            transition: all var(--transition-speed) ease;
        }
        .checkbox-label input[type="checkbox"]:checked + .checkmark {
            background-color: var(--accent-color);
            border-color: var(--accent-color);
        }
        .checkbox-label input[type="checkbox"]:checked + .checkmark::after {
            content: '✓';
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            color: white;
            font-size: 12px;
            font-weight: bold;
        }
        
        /* Submit Button */
        .submit-button {
            width: 100%;
            background-color: var(--accent-color);
            color: var(--primary-color);
            border: none;
            padding: 15px 25px;
            border-radius: 8px;
            font-family: var(--font-family-body);
            font-size: 16px;
            font-weight: 600;
            cursor: pointer;
            transition: all var(--transition-speed) ease;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
        }
        .submit-button:hover {
            background-color: var(--white-color);
            transform: translateY(-2px);
            box-shadow: 0 5px 15px rgba(0,0,0,0.2);
        }
        .submit-button:active { transform: translateY(0); }
        
        /* Error Messages */
        .error-message {
            color: #ff6b6b;
            font-size: 13px;
            margin-top: 5px;
            display: block;
            min-height: 18px;
        }
        .form-group.error input,
        .form-group.error select,
        .form-group.error textarea { border-color: #ff6b6b; }
        
        /* Success State */
        .form-success { background-color: rgba(102, 217, 196, 0.1); border: 2px solid var(--accent-color); padding: 20px; border-radius: 8px; text-align: center; }
        .form-success h4 { color: var(--accent-color); margin-bottom: 10px; }
        
        .map-container { border-radius: var(--border-radius-main); overflow: hidden; box-shadow: 0 5px 20px rgba(0,0,0,0.1); }
        .map-container iframe { width: 100%; height: 400px; border: 0; filter: grayscale(0.3); transition: filter var(--transition-speed) ease; }
        body.dark-mode .map-container iframe { filter: invert(0.9) hue-rotate(180deg) grayscale(0.4); }
        
        /* Contact Info ispod mape */
        .contact-info { background-color: rgba(255,255,255,0.1); padding: 25px; border-radius: var(--border-radius-main); backdrop-filter: blur(10px); margin-top: 20px; }
        .contact-info h3 { color: var(--button-text-color); font-family: var(--font-family-headings); font-size: 22px; margin-bottom: 20px; text-align: center; letter-spacing: 0.8px; }
        .contact-details { display: flex; flex-direction: column; gap: 15px; }
        .contact-item { display: flex; align-items: center; gap: 12px; color: var(--button-text-color); font-family: var(--font-family-body); font-size: 16px; }
        .contact-item i { color: var(--accent-color); font-size: 18px; width: 24px; text-align: center; }
        .contact-item a { color: var(--button-text-color); text-decoration: none; transition: color var(--transition-speed) ease; }
        .contact-item a:hover { color: var(--accent-color); }

        /* Footer */
        .footer-section { background-color: var(--primary-color-darker); color: var(--text-color-light); padding: 50px 0 30px 0; font-family: var(--font-family-body); font-size: 14px; transition: background-color var(--transition-speed) ease, color var(--transition-speed) ease; }
        .footer-section .container { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px; }
        .footer-top-row { display: flex; justify-content: space-between; align-items: center; width: 100%; flex-wrap: wrap; }
        .footer-left p { font-weight: 300; margin: 0; }
        .footer-right ul { list-style: none; display: flex; flex-wrap: wrap; margin: 0; padding: 0; }
        .footer-right ul li { margin-left: 25px; }
        .footer-right ul li:first-child { margin-left: 0; }
        .footer-right ul li a { color: var(--text-color-light); text-decoration: none; font-weight: 300; position: relative; padding-bottom: 3px; transition: color var(--transition-speed) ease; }
        .footer-right ul li a::after { content: ''; position: absolute; width: 0; height: 1px; bottom: 0; left: 0; background-color: var(--accent-color); transition: width var(--transition-speed) ease-in-out; }
        .footer-right ul li a:hover { color: var(--white-color); }
        .footer-right ul li a:hover::after { width: 100%; }
        .footer-right ul li i { margin-right: 6px; }
        
        .footer-phones { width: 100%; text-align: center; margin-top: 20px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,0.1); font-size: 15px; color: var(--text-color-light); }
        .footer-phones span { margin: 0 10px; }
        .footer-phones a { color: var(--text-color-light); text-decoration: none; transition: color var(--transition-speed) ease; }
        .footer-phones a:hover { color: var(--white-color); }
        .footer-phones i { margin-right: 5px; }

        /* Back to Top Button */
        #back-to-top { position: fixed; bottom: 30px; right: 30px; background-color: var(--primary-color); color: var(--button-text-color); border: none; border-radius: 50%; width: 50px; height: 50px; font-size: 20px; display: flex; align-items: center; justify-content: center; cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(20px); transition: opacity var(--transition-speed) ease, visibility var(--transition-speed) ease, transform var(--transition-speed) ease, background-color var(--transition-speed) ease; z-index: 990; }
        #back-to-top.visible { opacity: 1; visibility: visible; transform: translateY(0); }
        #back-to-top:hover { background-color: var(--primary-color-darker); }

        /* Responsive Design */
        @media (max-width: 992px) {
            .hero-section { padding-top: 100px; padding-bottom: 100px; min-height: 60vh; }
            .hero-section .container { flex-direction: column; text-align: center; }
            .hero-content { text-align: center; padding-right: 0; margin-bottom: 30px; }
            /* IZMENJENO: Responzivni naslov */
            .hero-content h1 .h1-line-1 { font-size: 34px; }
            .hero-content h1 .h1-line-2 { font-size: 62px; }
            .hero-content h1 .h1-line-3 { font-size: 26px; }
            .hero-content .subtitle { font-size: 17px; max-width: 90%; line-height: 1.65; margin-left: auto; margin-right: auto; }
            .hero-image-container { display: block; flex: 1; width: 60%; margin: 0 auto; }
            .about-grid { grid-template-columns: 1fr; gap: 30px; }
            .info-card { margin-top: 30px; }
            .gallery-grid { grid-template-columns: repeat(2, 1fr); gap: 15px; }
            .footer-section .container, .footer-top-row { flex-direction: column; text-align: center; }
            .footer-right { margin-top: 20px; width: 100%; justify-content: center; }
            .footer-right ul { justify-content: center; }
            .footer-right ul li { margin: 8px 10px; }
            .contact-grid { grid-template-columns: 1fr; gap: 30px; }
        }

        @media (max-width: 768px) {
            .main-nav { display: none; position: absolute; top: calc(100% - 1px); left: 0; width: 100%; background-color: var(--card-background-color); box-shadow: 0 2px 5px var(--shadow-color); padding: 15px 0; border-top: 1px solid var(--border-color); z-index: 999; }
            .main-nav.active { display: block; }
            .main-nav ul { flex-direction: column; align-items: center; }
            .main-nav ul li { margin: 12px 0; margin-left: 0; }
            
            .menu-toggle { display: block; order: 2; }
            .theme-toggle-button { margin-left: 0; margin-right: 15px; order: 1; }

            .hero-section { min-height: auto; padding-top: 80px; padding-bottom: 80px; }
            .hero-image-container { display: none; }
            /* IZMENJENO: Responzivni naslov */
            .hero-content h1 .h1-line-1 { font-size: 29px; }
            .hero-content h1 .h1-line-2 { font-size: 48px; letter-spacing: 1.5px; }
            .hero-content h1 .h1-line-3 { font-size: 22px; }
            .hero-content .subtitle { font-size: 16px; line-height: 1.6; }
            .section-title { font-size: 30px; margin-bottom: 40px; }
            .contact-section .section-title { font-size: 26px; }
            .logo-svg { height: 40px; }
            .logo-text-fallback { font-size: 18px; }
            .gallery-grid { grid-template-columns: repeat(2, 1fr); }

            .sticky-cta-mobile { position: fixed; bottom: 0; left: 0; width: 100%; background-color: var(--primary-color); text-align: center; padding: 12px 0; z-index: 998; transition: background-color var(--transition-speed) ease; box-shadow: 0 -2px 10px rgba(0,0,0,0.15); }
            .sticky-cta-mobile a { color: var(--button-text-color); font-weight: 600; text-decoration: none; font-size: 16px; text-transform: uppercase; letter-spacing: 1px; }
        }

        @media (max-width: 480px) {
            body { padding-bottom: 50px; }
            .hero-section { padding-top: 60px; padding-bottom: 60px; }
            /* IZMENJENO: Responzivni naslov */
            .hero-content h1 .h1-line-1 { font-size: 24px; }
            .hero-content h1 .h1-line-2 { font-size: 41px; letter-spacing: 1px; }
            .hero-content h1 .h1-line-3 { font-size: 19px; }
            .hero-content .subtitle { font-size: 15px; line-height: 1.55; }
            .cta-button { padding: 12px 30px; font-size: 15px; }
            .footer-phones span { display: block; margin: 5px 0; }
            .map-container iframe { height: 350px; }
            .gallery-grid { grid-template-columns: 1fr; gap: 10px; }
            #back-to-top { width: 45px; height: 45px; font-size: 18px; bottom: 70px; right: 20px; }
            .sticky-cta-mobile { padding: 10px 0; }
            .sticky-cta-mobile a { font-size: 15px; }
        }

        /* NOVO: Cookie Banner Styles */
        .cookie-banner {
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            background-color: var(--card-background-color);
            border-top: 1px solid var(--border-color);
            box-shadow: 0 -2px 10px var(--shadow-color);
            z-index: 1001;
            transform: translateY(100%);
            transition: transform var(--transition-speed) ease;
        }
        .cookie-banner.visible {
            transform: translateY(0);
        }
        .cookie-content {
            display: flex;
            align-items: center;
            justify-content: space-between;
            max-width: 1200px;
            margin: 0 auto;
            padding: 20px;
            gap: 20px;
        }
        .cookie-text h4 {
            font-family: var(--font-family-headings);
            color: var(--heading-color);
            font-size: 18px;
            margin-bottom: 8px;
            letter-spacing: 0.5px;
        }
        .cookie-text p {
            font-family: var(--font-family-body);
            color: var(--text-color);
            font-size: 14px;
            line-height: 1.4;
            margin: 0;
        }
        .cookie-actions {
            display: flex;
            gap: 10px;
            flex-shrink: 0;
        }
        .cookie-btn {
            padding: 10px 20px;
            border: none;
            border-radius: 6px;
            font-family: var(--font-family-body);
            font-size: 14px;
            font-weight: 500;
            cursor: pointer;
            transition: all var(--transition-speed) ease;
        }
        .cookie-btn.accept {
            background-color: var(--primary-color);
            color: var(--button-text-color);
        }
        .cookie-btn.accept:hover {
            background-color: var(--primary-color-darker);
        }
        .cookie-btn.decline {
            background-color: transparent;
            color: var(--text-color);
            border: 1px solid var(--border-color);
        }
        .cookie-btn.decline:hover {
            background-color: var(--secondary-bg-color);
        }

        /* Social Share Floating */
        .social-share-floating {
            position: fixed;
            right: 30px;
            top: 50%;
            transform: translateY(-50%);
            z-index: 1000;
        }
        .share-toggle {
            width: 50px;
            height: 50px;
            background-color: var(--accent-color);
            color: var(--primary-color);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            box-shadow: 0 4px 15px rgba(102, 217, 196, 0.3);
            transition: all var(--transition-speed) ease;
            margin-bottom: 10px;
        }
        .share-toggle:hover {
            transform: scale(1.1);
            box-shadow: 0 6px 20px rgba(102, 217, 196, 0.4);
        }
        .share-buttons {
            display: flex;
            flex-direction: column;
            gap: 8px;
            opacity: 0;
            visibility: hidden;
            transform: translateY(-10px);
            transition: all var(--transition-speed) ease;
        }
        .social-share-floating.active .share-buttons {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
        }
        .share-btn {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            text-decoration: none;
            color: white;
            transition: all var(--transition-speed) ease;
            font-size: 16px;
        }
        .share-btn.facebook { background-color: #1877f2; }
        .share-btn.twitter { background-color: #1da1f2; }
        .share-btn.whatsapp { background-color: #25d366; }
        .share-btn.copy { background-color: var(--primary-color); }
        .share-btn:hover {
            transform: scale(1.1);
            box-shadow: 0 4px 15px rgba(0,0,0,0.2);
        }

        /* Mobile Responsiveness za cookie banner */
        @media (max-width: 768px) {
            .cookie-content {
                flex-direction: column;
                text-align: center;
                padding: 15px;
            }
            .cookie-actions {
                width: 100%;
                justify-content: center;
            }
            .cookie-btn {
                flex: 1;
                max-width: 120px;
            }
            .social-share-floating {
                right: 15px;
                bottom: 120px;
                top: auto;
                transform: none;
            }
            .share-toggle {
                width: 45px;
                height: 45px;
            }
            .share-btn {
                width: 35px;
                height: 35px;
                font-size: 14px;
            }
        }