/* ==========================================================================
   1. RESET & OSNOVNI STILOVI
   ========================================================================== */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:Arial, sans-serif;
    background:#1a1a1a; 
    color: white;
    overflow-x:hidden;
}

:root {
    --primary-red: #e60000;
    --dark-red: #990000;
    --black: #1a1a1a;
    --white: #ffffff;
    --gray-text: #bbbbbb;
}

/* ==========================================================================
   2. PREMIUM NAVBAR & LOGO
   ========================================================================== */
.topbar {
    position: fixed; 
    top: 0;
    left: 0;
    width: 100%;
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 22px;
    background: rgba(10,10,10,0.92); 
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 2px solid #c1121f;
    z-index: 9999;
}

.logo{
    color:white;
    font-size:22px;
    font-weight:700;
    letter-spacing:2px;
    font-family: 'Oswald', sans-serif;
    text-decoration: none;
}

.logo span{
    color:#e00000;
}

/* ==========================================================================
   3. NAVIGATION (DESKTOP)
   ========================================================================== */
.nav{
    display:flex;
    align-items:center;
    gap:26px;
    height: 100%;
}

.nav a{
    color:#bbb;
    text-decoration:none;
    font-size:14px;
    text-transform:uppercase;
    letter-spacing:1px;
    font-family: 'Oswald', sans-serif;
    transition:0.3s;
    display: flex;
    align-items: center;
    height: 100%;
}

.nav a:hover{
    color:white;
}

.nav a.active{
    color:white;
    position:relative;
}

.nav a.active::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-2px; 
    width:100%;
    height:2px;
    background:#e00000;
}

/* DESNA STRANA NAVBAR-A */
.right{
    display:flex;
    align-items:center;
    gap:14px;
}

.lang{
    display:flex;
    align-items:center;
    background:rgba(255,255,255,0.05);
    border:1px solid rgba(255,255,255,0.08);
    border-radius:20px;
    padding:4px 8px;
    font-family: 'Oswald', sans-serif;
}

.lang a{
    color:#aaa;
    text-decoration:none;
    font-size:12px;
    font-weight:bold;
    padding:5px 8px;
    border-radius:20px;
    transition:0.3s;
}

.lang a.active{
    background:#e00000;
    color:white;
}

.cta{
    background:#e00000;
    color:white;
    text-decoration:none;
    padding:10px 16px;
    border-radius:6px;
    font-size:13px;
    font-weight:bold;
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition:0.3s;
    cursor: pointer;
}

.cta:hover{
    background:#8b0000;
}

.menu-btn{
    display:none;
    flex-direction:column;
    justify-content: space-between;
    width: 24px;
    height: 18px;
    cursor:pointer;
    z-index: 10000;
}

.menu-btn span{
    width:100%;
    height:2px;
    background:white;
    border-radius: 2px;
    transition: all 0.3s ease-in-out;
}

.menu-btn.active span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.menu-btn.active span:nth-child(2) { opacity: 0; }
.menu-btn.active span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }


/* ==========================================================================
   4. HERO SECTION (PREUZETO SA INDEX-A I PROŠIRENO NA SVE STRANICE)
   ========================================================================== */
.hero, .subpage-hero {
    height: 100vh; /* Puna visina ekrana kao na index.html */
    padding-top: 72px; 
    background: linear-gradient(rgba(0,0,0,0.45), rgba(0,0,0,0.45)), 
                url('hero-bus.png') no-repeat; 
    background-size: cover;
    background-position: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 20px;
    position: relative;
    width: 100%;
}

.hero-content{
    max-width:900px;
    margin-top: 72px;
}

.hero-sub{
    color:#ff4d4d;
    font-size:18px;
    text-transform:uppercase;
    letter-spacing:4px;
    margin-bottom:18px;
    font-family: 'Oswald', sans-serif;
    display: block !important; /* Osigurava vidljivost */
}

.hero-title{
    color:white;
    font-size:90px;
    line-height:0.95;
    text-transform:uppercase;
    margin-bottom:22px;
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
}

.hero-title span {
    color: var(--primary-red);
}

.hero-text, .hero-subtitle {
    color:#ddd;
    font-size:18px;
    line-height:1.6;
    margin-bottom:35px;
    font-family: Arial, sans-serif;
    display: block !important;
}

/* HERO DUGMADI */
.hero-buttons{
    display:flex;
    justify-content:center;
    gap:14px;
    flex-wrap:wrap;
}

.btn-main{
    background:#e00000;
    color:white;
    text-decoration:none;
    padding:14px 24px;
    border-radius:6px;
    font-weight:bold;
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition:0.3s;
    cursor: pointer;
    border: none;
    font-size: 16px;
    display: inline-block;
}

.btn-main:hover{
    background:#8b0000;
}

.btn-secondary{
    border:1px solid rgba(255,255,255,0.3);
    color:white;
    text-decoration:none;
    padding:14px 24px;
    border-radius:6px;
    font-weight:bold;
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition:0.3s;
    display: inline-block;
}

.btn-secondary:hover{
    background:white;
    color:black;
}


/* ==========================================================================
   5. GLAVNI SADRŽAJ & SEKCIJE (ÜBER UNS / ABOUT US)
   ========================================================================== */
.about-section {
    padding: 80px 20px 40px 20px;
    background: linear-gradient(to bottom, #1a1a1a 0%, #111 100%);
    display: flex;
    justify-content: center;
    align-items: center;
}

.about-container {
    background: linear-gradient(to bottom, #222 0%, #151515 100%);
    border-left: 4px solid #e60000;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    padding: 40px;
    max-width: 800px;
    width: 100%;
}

.about-header {
    background: linear-gradient(135deg, #e60000, #990000);
    color: white;
    padding: 10px 30px;
    display: inline-block;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 25px;
    margin-left: -40px;
    clip-path: polygon(0 0, 100% 0, 88% 100%, 0 100%);
    box-shadow: 3px 3px 10px rgba(0,0,0,0.3);
    font-family: 'Oswald', sans-serif;
    font-size: 20px;
}

.about-text {
    color: #ddd;
    font-size: 17px;
    line-height: 1.8;
    letter-spacing: 0.3px;
}

.about-text p {
    margin-bottom: 18px;
}

.about-text p:last-child {
    margin-bottom: 0;
    font-weight: 600;
    color: #ff4d4d;
    font-size: 18px;
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Korekcija za stranice koje imaju hero sekciju */
.legal-page.has-hero {
    margin-top: 40px !important;
}


/* ==========================================================================
   6. STRANICE SA PRAVNIM TEKSTOVIMA (IMPRESSUM, DATENSCHUTZ, AGB)
   ========================================================================== */
.legal-page {
    flex: 1;
    margin-top: 120px;
    padding: 0 20px 60px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.legal-tabs {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 30px;
    flex-wrap: wrap;
    max-width: 800px;
    width: 100%;
}

.tab-btn {
    background: #1a1a1a;
    color: #bbb;
    border: none;
    border-bottom: 3px solid #333;
    padding: 12px 20px;
    font-family: 'Oswald', sans-serif;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: 0.3s ease;
    flex: 1;
    min-width: 150px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}

.tab-btn:hover {
    color: white;
    border-bottom-color: var(--dark-red);
}

.tab-btn.active {
    background: #1a1a1a;
    color: white;
    border-bottom: 3px solid var(--primary-red);
}

.main-card {
    background: var(--black);
    color: var(--white);
    border-radius: 0;
    overflow: hidden;
    box-shadow: 0 15px 35px rgba(0,0,0,0.4);
    max-width: 800px;
    width: 100%;
    border-bottom: 5px solid var(--primary-red);
    display: none;
    text-align: left; 
}

.main-card.active {
    display: block;
}

.card-header {
    background: linear-gradient(135deg, var(--primary-red), var(--dark-red));
    padding: 35px 20px;
    text-align: center;
    text-transform: uppercase;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 85%);
}

.card-header h2 {
    margin: 0;
    font-weight: 700;
    letter-spacing: 2px;
    font-size: 22px;
    color: var(--white);
}

.content { 
    padding: 30px 25px; 
}

.info-group {
    margin-bottom: 35px;
    text-align: left;
}

.section-title { 
    font-size: 15px; 
    font-weight: 600; 
    color: var(--primary-red); 
    margin-bottom: 12px; 
    text-transform: uppercase;
    letter-spacing: 2px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    padding-bottom: 5px;
}

.info-text {
    font-size: 14px;
    line-height: 1.6;
    font-weight: 300;
    color: var(--gray-text);
    letter-spacing: 0.5px;
}

.info-text strong {
    font-weight: 600;
    color: var(--white);
    display: inline-block;
    width: 145px;
}

.info-text.paragraph-text strong {
    display: inline;
    width: auto;
}

.highlight { 
    color: var(--white); 
    font-weight: 400; 
}

.link-text {
    color: var(--primary-red);
    text-decoration: none;
    transition: 0.3s;
}

.link-text:hover {
    color: var(--white);
    text-decoration: underline;
}

/* Harmonike / Detalji */
.sr-translation {
    margin-top: 12px;
}

.sr-translation summary {
    font-size: 12px;
    font-weight: 600;
    color: #999;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    padding: 6px 14px;
    cursor: pointer;
    list-style: none;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    user-select: none;
    transition: 0.2s ease;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.sr-translation summary:hover {
    color: var(--white);
    background: rgba(255, 255, 255, 0.07);
    border-color: rgba(255, 255, 255, 0.15);
}

.sr-translation summary::-webkit-details-marker {
    display: none;
}

.sr-translation summary::after {
    content: '+';
    font-size: 14px;
    font-weight: bold;
    color: var(--primary-red);
}

.sr-translation[open] summary {
    background: rgba(230, 0, 0, 0.05);
    border-color: rgba(230, 0, 0, 0.2);
    color: var(--white);
}

.sr-translation[open] summary::after {
    content: '−';
}

.accordion-inner {
    padding: 15px 12px;
    background: rgba(0, 0, 0, 0.2);
    border-left: 2px solid var(--primary-red);
    margin-top: -1px;
}

.lang-badge {
    display: inline-block;
    font-size: 10px;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    padding: 1px 5px;
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
}

.lang-badge.sr-badge {
    background: rgba(230, 0, 0, 0.15);
    color: #ffcccc;
}


/* ==========================================================================
   7. PREDNOSTI FIRME (FEATURES CARD)
   ========================================================================== */
.features-card {
    background: #1a1a1a;
    border-radius: 0;
    max-width: 800px;
    width: 100%;
    margin-bottom: 30px;
    border-top: 4px solid var(--primary-red);
    box-shadow: 0 15px 35px rgba(0,0,0,0.4);
    padding: 30px 25px;
}

.features-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 20px;
}

.feature-item {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05);
    padding: 15px;
    display: flex;
    gap: 15px;
    align-items: flex-start;
    transition: 0.3s ease;
}

.feature-item:hover {
    background: rgba(230, 0, 0, 0.03);
    border-color: rgba(230, 0, 0, 0.2);
}

.feature-icon {
    color: var(--primary-red);
    font-size: 24px;
    margin-top: 3px;
}

.feature-text h4 {
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 5px;
    font-size: 16px;
    letter-spacing: 1px;
}

.feature-text p {
    font-size: 13px;
    color: #bbb;
    line-height: 1.5;
    font-weight: 300;
}


/* ==========================================================================
   8. POPUP (MODAL) & 3D FORMULAR STILOVI
   ========================================================================== */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.85); 
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100000;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    padding: 15px;
}

.modal-overlay.show {
    opacity: 1;
    pointer-events: auto;
}

.form-3d-container {
    background: linear-gradient(to bottom, #222 0%, #111 100%);
    border-bottom: 4px solid var(--primary-red);
    box-shadow: 0 8px 25px rgba(0,0,0,0.5);
    padding: 30px;
    max-width: 600px;
    width: 100%;
    position: relative;
    transform: translateY(-30px);
    transition: transform 0.3s ease;
}

.modal-overlay.show .form-3d-container {
    transform: translateY(0);
}

.modal-close-btn {
    position: absolute;
    top: 15px;
    right: 20px;
    font-size: 32px;
    color: #666;
    cursor: pointer;
    transition: color 0.2s, transform 0.2s;
    font-family: Arial, sans-serif;
    line-height: 1;
}

.modal-close-btn:hover {
    color: var(--white);
    transform: scale(1.1);
}

.form-header {
    background: linear-gradient(135deg, var(--primary-red), var(--dark-red));
    color: white;
    padding: 10px 30px;
    display: inline-block;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 25px;
    margin-left: -30px;
    clip-path: polygon(0 0, 100% 0, 88% 100%, 0 100%);
    box-shadow: 3px 3px 10px rgba(0,0,0,0.3);
    font-family: 'Oswald', sans-serif;
}

.form-3d-container label {
    display: block;
    color: var(--primary-red);
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 1px;
    margin-bottom: 5px;
    font-weight: 600;
    font-family: 'Oswald', sans-serif;
}

.form-3d-container input, 
.form-3d-container select, 
.form-3d-container textarea {
    width: 100%;
    padding: 12px 15px;
    margin-bottom: 20px;
    background: #1a1a1a;
    border: 1px solid #333;
    border-left: 3px solid var(--primary-red);
    color: white;
    font-family: 'Oswald', sans-serif;
    font-size: 15px;
    box-sizing: border-box;
    box-shadow: inset 0 2px 5px rgba(0,0,0,0.5);
    transition: 0.3s;
}

.form-3d-container input:focus, 
.form-3d-container textarea:focus {
    outline: none;
    border-color: var(--white);
    background: #222;
}

.form-3d-container button {
    width: 100%;
    background: linear-gradient(to bottom, #e60000 0%, #990000 100%);
    color: white;
    padding: 18px;
    border: none;
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 16px;
    cursor: pointer;
    box-shadow: 0 5px 0 #660000, 0 8px 15px rgba(0,0,0,0.4);
    transition: all 0.1s ease;
    margin-top: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.form-3d-container button:hover {
    background: linear-gradient(to bottom, #ff1a1a 0%, #e60000 100%);
    transform: translateY(-2px);
    box-shadow: 0 7px 0 #660000, 0 10px 20px rgba(0,0,0,0.5);
}

.form-3d-container button:active {
    transform: translateY(3px);
    box-shadow: 0 2px 0 #660000, 0 4px 10px rgba(0,0,0,0.3);
}

.form-3d-container select option {
    background: #111;
    color: white;
}


/* ==========================================================================
   9. PLUTAJUĆE IKONE & FOOTER
   ========================================================================== */
.floating-social {
    position: fixed;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    z-index: 99999;
}

.floating-social a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 50px;
    color: white;
    text-decoration: none;
    font-size: 22px;
    transition: all 0.3s ease;
    border-radius: 5px 0 0 5px;
    margin-bottom: 4px;
    box-shadow: -2px 2px 8px rgba(0,0,0,0.3);
}

.floating-social .viber { background-color: #7360f2; }
.floating-social .whatsapp { background-color: #25D366; }
.floating-social .facebook { background-color: #1877F2; }
.floating-social .instagram { background-color: #E1306C; }

.floating-social a:hover {
    transform: translateX(-8px);
    width: 58px;
}

.site-footer {
    background-color: #111;
    color: #888;
    padding: 40px 20px;
    border-top: 3px solid #e60000; 
    text-align: center;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.footer-links {
    margin-bottom: 20px;
}

.footer-links a {
    color: white;
    text-decoration: none;
    margin: 0 15px;
    transition: 0.3s;
    font-family: 'Oswald', sans-serif;
}

.footer-links a:hover {
    color: #e60000;
}

.footer-info {
    line-height: 2;
}

.footer-line { 
    text-align: center;
    padding: 15px;
    font-size: 11px;
    color: #444;
    text-transform: uppercase;
    letter-spacing: 2px;
    background: rgba(0,0,0,0.2);
}


/* ==========================================================================
   10. POTPUNA RESPONZIVNOST ZA SVE MOBILNE UREĐAJE
   ========================================================================== */
@media(max-width:900px){
     .hero, .subpage-hero {
        background-position: 35% center; 
        height: 45vh; /* Zadržavamo punu visinu i na mobilnim */
    }

    .nav{
        position: fixed; 
        top:72px;
        left:0;
        width:100%;
        height:auto;
        max-height: 0; 
        background:rgba(15, 15, 15, 0.98);
        flex-direction:column;
        gap: 0; 
        padding: 0;
        overflow: hidden;
        transition: max-height 0.3s ease-in-out;
        border-bottom: 2px solid #c1121f;
        box-shadow: 0 10px 15px rgba(0,0,0,0.5);
    }

    .nav.active{
        max-height: 450px; 
        padding: 15px 0;
    }

    .nav a{
        font-size:16px;
        width: 100%;
        justify-content: center;
        padding: 15px 0;
        height: auto;
        border-bottom: 1px solid rgba(255,255,255,0.05);
    }

    .nav a.active::after {
        display: none;
    }
    
    .nav a.active {
        background: rgba(193, 18, 31, 0.15);
        color: white;
    }

    .menu-btn{
        display:flex;
    }

    .cta{
        display:none;
    }

    .hero-title{
        font-size:58px;
    }

    .hero-text, .hero-subtitle{
        font-size:16px;
    }
    
    .about-container {
        padding: 40px 20px;
    }
    
    .about-header {
        margin-left: -20px; 
    }
    
    .features-grid {
        grid-template-columns: 1fr;
    }
    
    .floating-social {
        top: 60%;
    }
    .floating-social a {
        width: 42px;
        height: 42px;
        font-size: 18px;
    }
    .floating-social a:hover {
        width: 48px;
    }
    
    .footer-links a {
        display: inline-block;
        margin: 5px 10px;
    }
}

@media (max-width: 480px) {
    .form-3d-container button { font-size: 14px; }
    
    .form-header { 
        margin-left: -25px; 
        font-size: 16px; 
    }
    
    .topbar{
        height:64px;
        padding:0 14px;
    }
    
    .nav{
        top: 64px; 
    }

    .logo{
        font-size:18px;
    }

    .hero-content {
        margin-top: 40px;
    }

    .hero-title{
        font-size:38px; 
    }

    .hero-sub{
        font-size:13px;
        letter-spacing:2px;
    }

    .hero-text, .hero-subtitle{
        font-size:14px;
    }

    .btn-main,
    .btn-secondary{
        width:90%;
        text-align:center;
    }

    .right{
        gap:12px;
    }

    .lang{
        padding:3px 6px;
    }

    .lang a{
        font-size:11px;
    }
    
    .about-section {
        padding: 50px 15px;
    }
    
    .about-header {
        margin-left: 0; 
        font-size: 16px;
        clip-path: none; 
    }
    
    .about-text {
        font-size: 15px;
    }
    
    .site-footer {
        font-size: 11px;
    }
    
    .legal-page { margin-top: 100px; }
    .tab-btn { width: 100%; font-size: 13px; padding: 10px; }
    .info-text strong { display: block; width: 100%; margin-bottom: 2px; }
}

/* Prilagođavanje hero sekcije za mobilne uređaje (ekrani do 768px širine) */
@media screen and (max-width: 768px) {
    .hero {
        /* Prikazuje pozadinsku sliku samo u gornjem delu ekrana */
        background-position: top center;
        background-size: 100% 300px; /* Slika će zauzeti punu širinu i biti visoka 300px. Prilagodite po potrebi */
        background-repeat: no-repeat;
        
        /* Gura celokupan tekst i dugmiće ISPOD slike */
        padding-top: 320px; /* Malo veće od visine slike kako bi postojao razmak */
        background-color: #0f0f0f; /* Tamna pozadina iza teksta na mobilnom (uskladite sa dizajnom) */
        min-height: auto;
        padding-bottom: 40px;
    }

    .hero-content {
        /* Centriranje i raspored sadržaja ispod slike */
        text-align: center;
        padding: 0 20px;
    }

    .hero-buttons {
        /* Dugmići idu jedan ispod drugog na mobilnom */
        display: flex;
        flex-direction: column;
        gap: 15px;
        width: 100%;
        margin-top: 25px;
    }

    .hero-buttons .btn-main, 
    .hero-buttons .btn-secondary {
        /* Dugmići zauzimaju punu širinu ekrana za lakši klik prstom */
        width: 100%;
        text-align: center;
        box-sizing: border-box;
    }
}


 //* ==========================================================================
   FIKSIRAN I UREDAN HERO ZA SVE PODSTRANICE
   ========================================================================== */
.subpage-hero {
    height: 400px !important; /* Na desktopu smanjujemo sa 100vh na lepših 400px */
    padding-top: 72px !important;
    background: linear-gradient(rgba(0,0,0,0.55), rgba(0,0,0,0.55)), 
                url('hero-bus.png') no-repeat !important; 
    background-size: cover !important;
    background-position: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
}

/* Prilagođavanje izgleda naslova na podstranicama */
.subpage-hero .hero-title {
    font-size: 52px !important; /* Manji font nego na indeksu jer je i kartica manja */
    margin-bottom: 10px !important;
    line-height: 1.1 !important;
}

.subpage-hero .hero-subtitle {
    font-size: 16px !important;
    color: #ddd !important;
    max-width: 600px !important;
}

/* Kada se otvori na mobilnom telefonu (do 768px) */
@media screen and (max-width: 768px) {
    .subpage-hero {
        height: 300px !important; /* Na mobitelu slika zauzima 300px visine */
    }
    .subpage-hero .hero-title {
        font-size: 34px !important; /* Prilagođena veličina za ekran telefona */
    }
    .subpage-hero .hero-subtitle {
        font-size: 14px !important;
        padding: 0 15px !important;
    }
}


        /* INTERAKTIVNA MAPA I STANICE CARD */
                /* =========================================
   ROUTE / STATIONS PREMIUM SECTION
========================================= */

.route-card{
    background:
        linear-gradient(
            180deg,
            #181818 0%,
            #101010 100%
        );

    border:1px solid rgba(255,255,255,0.06);

    border-bottom:4px solid var(--primary-red);

    box-shadow:
        0 20px 50px rgba(0,0,0,0.45);

    overflow:hidden;

    width:100%;
    max-width:1400px;

    margin:auto;
}

/* HEADER */
.card-header-map{
    background:
        linear-gradient(
            135deg,
            #e00000 0%,
            #7a0000 100%
        );

    padding:34px 20px;

    text-align:center;
}

.card-header-map h2{
    font-size:30px;
    font-family:'Oswald', sans-serif;
    text-transform:uppercase;
    letter-spacing:2px;
    color:white;
}

/* CONTENT */
.content-map{
    padding:40px;
}

.subtitle-map{
    text-align:center;

    color:#9f9f9f;

    margin-bottom:40px;

    font-size:14px;

    letter-spacing:1px;

    text-transform:uppercase;
}

/* MAIN GRID */
.main-layout{
    display:grid;
    grid-template-columns:420px 1fr;
    gap:30px;
}

/* LEFT SIDE */
.stations-container{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;

    height:620px;

    overflow-y:auto;

    padding-right:10px;
}

/* SCROLLBAR */
.stations-container::-webkit-scrollbar{
    width:5px;
}

.stations-container::-webkit-scrollbar-thumb{
    background:var(--primary-red);
    border-radius:20px;
}

/* COLUMN */
.station-column{
    background:
        rgba(255,255,255,0.02);

    border:1px solid rgba(255,255,255,0.05);

    padding:22px;

    backdrop-filter:blur(8px);
}

/* TITLE */
.column-title{
    font-family:'Oswald', sans-serif;

    font-size:28px;

    text-transform:uppercase;

    letter-spacing:2px;

    color:white;

    margin-bottom:25px;

    padding-bottom:12px;

    border-bottom:
        1px solid rgba(255,255,255,0.08);
}

/* LIST */
.station-list{
    list-style:none;
}

.station-list li{
    position:relative;

    padding:18px 18px 18px 34px;

    margin-bottom:12px;

    background:
        rgba(255,255,255,0.03);

    border-left:3px solid var(--primary-red);

    cursor:pointer;

    transition:0.3s ease;

    font-size:15px;

    letter-spacing:1px;

    text-transform:uppercase;

    color:#f1f1f1;
}

.station-list li::before{
    content:"•";

    position:absolute;

    left:14px;
    top:50%;

    transform:translateY(-50%);

    color:var(--primary-red);

    font-size:18px;
}

.station-list li:hover{
    background:
        rgba(230,0,0,0.12);

    transform:translateX(6px);

    border-left-color:white;

    color:white;
}

/* MAP */
.map-container{
    min-height:620px;

    border:
        1px solid rgba(255,255,255,0.08);

    overflow:hidden;

    position:relative;

    box-shadow:
        inset 0 0 40px rgba(0,0,0,0.35);
}

.map-container iframe{
    width:100%;
    height:100%;

    border:0;

    filter:
        grayscale(15%)
        contrast(110%);
}

/* MOBILE */
@media(max-width:1100px){

    .main-layout{
        grid-template-columns:1fr;
    }

    .stations-container{
        height:auto;
    }

    .map-container{
        min-height:420px;
    }
}

@media(max-width:768px){

    .content-map{
        padding:25px;
    }

    .stations-container{
        grid-template-columns:1fr;
    }

    .column-title{
        font-size:22px;
    }

    .station-list li{
        padding:16px 16px 16px 30px;
        font-size:14px;
    }

    .map-container{
        min-height:320px;
    }

    .card-header-map h2{
        font-size:22px;
    }
}
        /* TELEFONI KAO NA KONTAKT STRANICI */
      
/* PHONE CARDS */
.phone-section{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    margin-top:30px;
}

.tel-btn-card{
    display:flex;
    align-items:center;
    gap:18px;

    padding:22px;

    text-decoration:none;
    color:white;

    background:linear-gradient(
        145deg,
        rgba(255,255,255,0.04),
        rgba(255,255,255,0.02)
    );

    border:1px solid rgba(255,255,255,0.08);
    border-left:4px solid var(--primary-red);

    transition:0.35s ease;

    min-height:100px;

    box-shadow:
        0 10px 25px rgba(0,0,0,0.35);
}

.tel-btn-card:hover{
    transform:translateY(-4px);

    background:rgba(230,0,0,0.08);

    border-left-color:white;

    box-shadow:
        0 18px 35px rgba(0,0,0,0.45);
}

.flag-card{
    width:38px;
    height:auto;
    border-radius:4px;
    flex-shrink:0;
}

.phone-info{
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.phone-info .country{
    font-size:15px;
    color:#cfcfcf;
    margin-bottom:6px;
    line-height:1.4;
}

.phone-info strong{
    font-size:30px;
    font-family:'Oswald', sans-serif;
    font-weight:700;
    letter-spacing:1px;
    color:#fff;
    line-height:1.1;
}

/* MOBILE */
@media(max-width:768px){

    .phone-section{
        grid-template-columns:1fr;
    }

    .tel-btn-card{
        padding:18px;
    }

    .phone-info strong{
        font-size:24px;
    }
}

        /* SCHEDULING GRID ZA ABFAHRTSZEITEN */
        .schedule-grid {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            margin-top: 15px;
        }

        .schedule-item {
            background: rgba(255, 255, 255, 0.03);
            border-left: 2px solid var(--primary-red);
            padding: 10px 14px;
            min-width: 150px;
            flex: 1 1 calc(25% - 10px); 
            display: flex;
            flex-direction: column;
            justify-content: center;
            box-sizing: border-box;
        }

        .schedule-item .city {
            font-size: 13px;
            font-weight: 600;
            color: #fff;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            margin-bottom: 4px;
        }

        .schedule-item .time {
            font-family: 'Oswald', sans-serif;
            font-size: 16px;
            color: var(--primary-red);
            font-weight: bold;
            letter-spacing: 1px;
        }

        .footer-info-card { 
            text-align: center; 
            padding: 20px; 
            font-size: 11px; 
            color: #444; 
            text-transform: uppercase; 
            letter-spacing: 2px; 
        }

        .stations-container::-webkit-scrollbar { width: 4px; }
        .stations-container::-webkit-scrollbar-thumb { background: var(--primary-red); }

        /* MODAL POPUP */
        .modal-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.75);
            display: none;
            justify-content: center;
            align-items: center;
            z-index: 2000;
        }
        .modal-overlay.show { display: flex; }

        @media(max-width: 992px) {
            .schedule-item { flex: 1 1 calc(33.33% - 10px); }
        }
        @media(max-width: 768px) {
            .main-layout { flex-direction: column; }
            .stations-container { height: 350px; }
            .map-container { height: 300px; position: relative; top: 0; }
        }
        @media (max-width: 576px) {
            .schedule-item { flex: 1 1 calc(50% - 10px); padding: 8px 10px; }
            .schedule-item .city { font-size: 12px; }
            .schedule-item .time { font-size: 15px; }
        }
        /* ZENTRIERUNG DER CONTENT-CARDS */
.legal-page {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.main-card {
    width: 100%;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

.route-card {
    width: 100%;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}
    
/* ==========================================================================
   Gelegenheitsverkehr PAGE
   ========================================================================== */
        :root {
            --gray-bg: rgba(255, 255, 255, 0.05);
        }

        /* POSEBAN FIX ZA HERO SEKCIJU */
        .subpage-hero {
            display: flex !important;
            flex-direction: column !important; 
            justify-content: center !important;
            align-items: center !important;
            text-align: center !important;
            padding: 30px 20px !important;
        }

        .subpage-hero .hero-content {
            display: flex !important;
            flex-direction: column !important;
            align-items: center !important;
            justify-content: center !important;
        }

        .subpage-hero .hero-title {
            display: block !important;
            margin-bottom: 15px !important;
        }

        .subpage-hero .hero-subtitle {
            display: block !important;
            position: relative !important;
            left: 0 !important;
            transform: none !important;
            margin: 0 auto !important;
            max-width: 650px;
            font-size: 18px !important;
        }

        /* SERVICES GRID */
        .services-grid {
            display: flex;
            flex-wrap: wrap;
            gap: 20px;
            margin-top: 20px;
        }

        .service-card {
            background: rgba(255, 255, 255, 0.03);
            border-left: 4px solid var(--primary-red);
            padding: 25px 20px;
            flex: 1 1 calc(50% - 20px);
            box-sizing: border-box;
            transition: all 0.3s ease;
        }

        .service-card:hover {
            background: rgba(230, 0, 0, 0.05);
            transform: translateY(-3px);
            border-left-color: #fff;
        }

        .service-card i {
            font-size: 30px;
            color: var(--primary-red);
            margin-bottom: 15px;
        }

        .service-card h3 {
            font-family: 'Oswald', sans-serif;
            font-size: 20px;
            color: #fff;
            margin: 0 0 10px 0;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .service-card p {
            font-size: 14px;
            color: var(--gray-text);
            line-height: 1.6;
            margin: 0;
        }

        /* EXCLUSIVE FLYER / HIGHLIGHT BOX */
        .flyer-highlight-box {
            background: linear-gradient(135deg, rgba(230, 0, 0, 0.1), rgba(0, 0, 0, 0.6));
            border: 2px solid var(--primary-red);
            padding: 30px;
            margin-top: 25px;
            position: relative;
            box-shadow: 0 10px 30px rgba(230,0,0,0.15);
        }

        .flyer-badge {
            position: absolute;
            top: -12px;
            right: 20px;
            background: var(--primary-red);
            color: #fff;
            font-family: 'Oswald', sans-serif;
            font-size: 12px;
            text-transform: uppercase;
            padding: 4px 12px;
            letter-spacing: 1px;
            font-weight: 600;
        }

        .flyer-content-layout {
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 20px;
        }

        .flyer-text h3 {
            font-family: 'Oswald', sans-serif;
            font-size: 24px;
            color: #fff;
            margin: 0 0 8px 0;
            letter-spacing: 1px;
        }

        .flyer-text .date {
            font-family: 'Oswald', sans-serif;
            font-size: 16px;
            color: var(--primary-red);
            font-weight: 600;
            margin-bottom: 10px;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .btn-flyer {
            background: #fff;
            color: #000;
            border: none;
            padding: 12px 25px;
            font-family: 'Oswald', sans-serif;
            font-size: 14px;
            text-transform: uppercase;
            font-weight: bold;
            letter-spacing: 1px;
            cursor: pointer;
            transition: all 0.3s ease;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            gap: 10px;
        }

        .btn-flyer:hover {
            background: var(--primary-red);
            color: #fff;
            transform: translateY(-2px);
        }

        /* FLEET PREVIEW QUICK STYLES */
        .fleet-preview {
            display: flex;
            gap: 15px;
            flex-wrap: wrap;
            margin-top: 15px;
        }

        .fleet-item {
            background: rgba(255, 255, 255, 0.02);
            border: 1px solid rgba(255,255,255,0.05);
            padding: 15px;
            flex: 1 1 calc(33.33% - 15px);
            min-width: 220px;
            box-sizing: border-box;
            text-align: center;
        }

        .fleet-item h4 {
            font-family: 'Oswald', sans-serif;
            color: #fff;
            margin: 0 0 10px 0;
            font-size: 16px;
            letter-spacing: 0.5px;
        }

        .fleet-features {
            display: flex;
            justify-content: center;
            gap: 10px;
            color: var(--primary-red);
            font-size: 14px;
        }

        /* TELEFONI - CENTRIRAN JEDAN BROJ */
        .phone-section { 
            display: flex; 
            justify-content: center;
            margin-top: 30px; 
            width: 100%;
        }

        .tel-btn-card {
            max-width: 500px;
            width: 100%;
            display: flex; 
            align-items: center; 
            justify-content: center; 
            text-decoration: none; 
            color: white; 
            padding: 18px 18px; 
            font-size: 16px;
            letter-spacing: 0.5px;
            transition: all 0.3s ease;
            border-left: 4px solid var(--primary-red);
            border-right: 4px solid var(--primary-red);
            font-family: 'Oswald', sans-serif;
            background: rgba(255, 255, 255, 0.03);
            text-align: left;
        }

        .tel-btn-card strong {
            font-family: 'Oswald', sans-serif;
            font-size: 20px;
            color: #fff;
            margin-left: 8px;
            letter-spacing: 1px;
        }

        .tel-btn-card:hover { 
            background: rgba(230, 0, 0, 0.15); 
            border-left-color: #fff;
            border-right-color: #fff;
            transform: translateY(-2px);
        }

        .tel-btn-card:hover strong {
            color: var(--primary-red);
        }

        .flag-card { 
            width: 28px; 
            height: auto;
            margin-right: 10px; 
            border-radius: 3px; 
            box-shadow: 0 2px 4px rgba(0,0,0,0.3);
        }

        /* MODAL POPUP */
        .modal-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.75);
            display: none;
            justify-content: center;
            align-items: center;
            z-index: 2000;
        }
        .modal-overlay.show { display: flex; }

        @media(max-width: 768px) {
            .service-card { flex: 1 1 100%; }
            .fleet-item { flex: 1 1 calc(50% - 15px); }
            .flyer-content-layout { flex-direction: column; text-align: center; }
            .flyer-buttons { width: 100%; justify-content: center; }
            .btn-flyer { width: 100%; justify-content: center; }
        }
        @media(max-width: 480px) {
            .fleet-item { flex: 1 1 100%; }
        }

/* ==========================================================================
   REZERVACIJE PAGE
   ========================================================================== */
        /* GLOBALBOX FIX ZA OVU STRANICU */
        .booking-tabs, .tab-btn, .booking-panel, .form-column, .info-column, .booking-info-card {
            box-sizing: border-box;
        }

        /* TABS STYLING */
        .booking-tabs {
            display: flex;
            justify-content: center;
            gap: 15px;
            margin-bottom: 30px;
            width: 90%;
            padding: 0 15px;
        }

        .tab-btn {
            font-family: 'Oswald', sans-serif;
            background: rgba(255, 255, 255, 0.05);
            color: #fff;
            border: 1px solid rgba(255, 255, 255, 0.1);
            padding: 15px 20px;
            font-size: 16px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 1px;
            cursor: pointer;
            transition: all 0.3s ease;
            flex: 1;
            max-width: 300px;
            text-align: center;
        }

        .tab-btn:hover {
            background: rgba(230, 0, 0, 0.1);
            border-color: var(--primary-red);
        }

        .tab-btn.active {
            background: var(--primary-red);
            border-color: var(--primary-red);
            box-shadow: 0 5px 15px rgba(230, 0, 0, 0.3);
        }

        .booking-panel {
            display: none;
            width: 100%;
        }

        .booking-panel.active {
            display: flex;
            flex-wrap: wrap;
            gap: 30px;
        }

        /* FLEXBOX LAYOUT: FORMULAR NEBEN INFO-CARD */
        .form-column {
            flex: 1 1 
}

@media screen and (max-width: 768px) {
    /* Glavni kontejner za telefone */
    .phone-section {
        display: flex !important;
        flex-direction: column !important;
        gap: 15px !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 20px !important; /* Daje lep razmak od ivica ekrana */
        box-sizing: border-box !important;
        align-items: center !important; /* Centrira kartice */
    }

    /* Pojedinačna kartica telefona */
    .phone-section .tel-btn-card {
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 15px !important;
        padding: 15px 15px !important; /* Smanjen padding da unutrašnji prostor prodiše */
        box-sizing: border-box !important;
        overflow: hidden !important; /* Sprečava bilo kakvo "curenje" sadržaja */
    }

    /* Zastavica */
    .phone-section .flag-card {
        width: 35px !important; /* Blago smanjena zastavica za mobilni */
        height: auto !important;
        flex-shrink: 0 !important; /* Strogo zabranjuje skupljanje slike */
    }

    /* Kontejner za tekst (Država + Broj) */
    .phone-section .phone-info {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        text-align: left !important;
        flex: 1 !important; /* Uzima preostali prostor na najbolji način */
    }

    /* Naziv države */
    .phone-section .phone-info .country {
        font-size: 13px !important;
        color: #aaa !important;
        margin-bottom: 2px !important;
    }

    /* Sam broj telefona */
    .phone-section .phone-info strong {
        font-size: 16px !important; /* Smanjeno na 16px da bi 100% stalo i na najuže ekrane */
        white-space: nowrap !important; /* Sprečava lomljenje broja */
        letter-spacing: 0.5px !important; /* Blago smanjen razmak između cifara radi uštede prostora */
        color: #ffffff !important;
    }
}

/* --- UPRAVLJANJE HERO DUGMIĆIMA NA RAZLIČITIM EKRANIMA --- */

/* Na desktopu sakrivamo mobilna dugmad */
.mobile-hero-buttons {
    display: none;
}

/* Pravila koja se aktiviraju samo na mobilnim telefonima (do 768px širine) */
@media screen and (max-width: 768px) {
    
    /* 1. Sakrivamo originalna dugmad koja se nalaze unutar slike */
    .hero .hero-buttons {
        display: none !important;
    }
    
    /* 2. Prikazujemo i stilizujemo nova dugmad ispod slike */
    .mobile-hero-buttons {
        display: flex;
        flex-direction: column; /* Slažemo ih jedno ispod drugog */
        gap: 12px;              /* Razmak između dva dugmeta */
        padding: 25px 20px;     /* Razmak od slike iznad i teksta ispod */
        background: #0f0f0f;    /* Pozadina ista kao i sekcija ispod (crna) */
        box-sizing: border-box;
        width: 100%;
    }

    /* 3. Širimo dugmad preko cele širine ekrana radi lakšeg klika */
    .mobile-hero-buttons .btn-main,
    .mobile-hero-buttons .btn-secondary {
        display: block;
        width: 100%;
        text-align: center;
        box-sizing: border-box;
        padding: 15px;          /* Komotniji prostor za klik prstom */
        font-family: 'Oswald', sans-serif;
        text-transform: uppercase;
        font-weight: 600;
        letter-spacing: 1px;
        font-size: 16px;
        text-decoration: none;
    }
}

/* FORCE JEDNAKU VISINU HERO SEKCIJE NA MOBILNOM ZA OBE STRANICE */
@media screen and (max-width: 768px) {
    .subpage-hero {
        height: 280px !important;      /* Zaključava visinu slike na tačno 280px */
        min-height: 280px !important;  /* Sprečava skupljanje */
        justify-content: center !important;
        padding-top: 64px !important;  /* Kompenzacija za fiksni navbar */
        padding-bottom: 20px !important;
    }

    .subpage-hero .hero-title {
        font-size: 32px !important;    /* Smanjuje naslov da ne gura sliku */
        margin-bottom: 8px !important;
    }

    .subpage-hero .hero-subtitle {
        font-size: 14px !important;    /* Smanjuje podnaslov */
        line-height: 1.3 !important;
        max-width: 290px !important;   /* Ograničava širinu tekstualnog bloka */
    }
}

