/* ALTEM IT - ULTRA STABLE MASTER FILE */

/* 1. GŁÓWNE KOLORY */
:root {
    --deep-green: #052c28 !important;
    --teal-accent: #14b8a6 !important;
}

/* 2. LOGO - FIX WIDOCZNOŚCI (Scalone poprawki) */
.logo { 
    display: flex !important; 
    align-items: center !important; 
    gap: 12px !important; 
    text-decoration: none !important; 
    color: #052c28 !important; /* Ciemna zieleń dla napisu ALTEM */
    font-weight: 800 !important; 
    font-size: 1.6rem !important; 
}

/* Obsługuje obie wersje klas: logo-circle oraz logo-box-circle */
.logo-circle, .logo-box-circle { 
    background-color: #052c28 !important; /* Ciemnozielone tło kółka */
    color: #ffffff !important; /* Biała litera A */
    width: 42px !important; 
    height: 42px !important; 
    border-radius: 12px !important; 
    display: flex !important; 
    align-items: center !important; 
    justify-content: center !important; 
    font-weight: 900 !important;
    font-size: 1.4rem !important;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1) !important;
    flex-shrink: 0; /* Zapobiega spłaszczaniu kółka */
}

.logo span { 
    color: #14b8a6 !important; /* Morskie IT */
}

/* 3. HEADER I MENU DESKTOP */
header {
    background-color: #ffffff !important;
    height: 85px !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    box-shadow: 0 2px 20px rgba(0,0,0,0.1) !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 999999 !important;
}

.nav-menu ul { 
    display: flex !important; 
    list-style: none !important; 
    gap: 30px !important; 
    align-items: center !important; 
}

.nav-menu a { 
    text-decoration: none !important; 
    color: #1e293b !important; 
    font-weight: 600 !important;
    font-size: 1rem !important;
    transition: 0.3s !important;
}

.nav-menu a:hover { 
    color: #14b8a6 !important; 
}

/* PRZYCISK WYCENA */
.btn-wycena-nav {
    background-color: #14b8a6 !important;
    color: #ffffff !important;
    padding: 12px 25px !important;
    border-radius: 10px !important;
    font-weight: 800 !important;
    transition: 0.3s !important;
}

/* 4. SIATKA PARTNERÓW */
.partners-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important; /* 3 kolumny na PC */
    gap: 25px !important;
    padding: 20px 0 !important;
}

@media (max-width: 768px) {
    .partners-grid {
        grid-template-columns: repeat(2, 1fr) !important; /* 2 kolumny na TEL */
    }
}

.partner-card {
    background: #ffffff !important;
    border: 2px solid #052c28 !important;
    border-radius: 20px !important;
    padding: 30px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    min-height: 200px !important;
    text-align: center !important;
    transition: 0.3s !important;
}

.partner-card:hover {
    border-color: #14b8a6 !important;
    transform: translateY(-5px) !important;
}

.partner-card img {
    max-height: 60px !important;
    width: auto !important;
    max-width: 90% !important;
    object-fit: contain !important;
}

.partner-name {
    margin-top: 15px !important;
    font-weight: 700 !important;
    color: #052c28 !important;
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
}

/* 5. MENU MOBILNE */
.menu-toggle { display: none; }

@media (max-width: 992px) {
    .menu-toggle { 
        display: flex !important; 
        flex-direction: column; 
        gap: 5px; 
    }
    .menu-toggle span { width: 25px; height: 3px; background: #052c28; }
    
    .nav-menu {
        display: none;
        position: absolute;
        top: 85px; left: 0; width: 100%;
        background: white !important;
        flex-direction: column;
        padding: 20px;
        box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    }
    .nav-menu.active { display: flex !important; }
    .nav-menu ul { flex-direction: column !important; gap: 15px !important; }
}

/* 6. FIX DLA KONFIGURATORA (Aby nie był ucięty) */
.card-main {
    min-height: 850px !important;
}