/* --- Ogólne --- */
body {
    margin: 0;
    padding: 0;
    font-family: Arial, sans-serif;
    background-color: #f9f9f9;
    color: #333;
}

main {
    max-width: 1000px;
    margin: 20px auto;
    padding: 20px;
    background-color: #ffffff;
    border-radius: 8px;
}

/* --- Nagłówek --- */
header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
    background-color: #ffffff;
    border-bottom: 2px solid #004080;
}

/* Lewa część nagłówka: wszystkie obrazy */
.header-left {
    display: flex;
    align-items: center;
    gap: 15px;
}

/* Logo WTIE */
#logo-wtie {
    height: 120px;
    width: auto;
}

/* Grafika środkowa dopasowana wysokością do logo WTIE */
#header-img {
    height: 60px;
    width: auto;
}

/* Logo NAWA – 2× mniejsze niż logo WTIE */
#logo-nawa {
    height: 30px;
    width: auto;
}

/* Prawa część nagłówka: przyciski językowe i akcji */
.header-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
}

/* Przełącznik języka */
.lang-switch {
    display: flex;
    gap: 5px;
}

.lang-switch button {
    padding: 5px 10px;
    font-size: 1rem;
    cursor: pointer;
}

/* Przyciski akcji */
.action-buttons {
    display: flex;
    gap: 10px;
}

.action-buttons .button {
    display: inline-block;
    padding: 10px 20px;
    text-align: center;
    background-color: #004080;
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
    font-size: 1rem;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.action-buttons .button:hover {
    background-color: #0066cc;
}

.action-buttons .button[disabled] {
    background-color: #ccc;
    cursor: not-allowed;
    color: #666;
}

/* --- Harmonogram --- */
.schedule-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

.schedule-table th, .schedule-table td {
    border: 1px solid #999;
    padding: 8px;
    text-align: center;
}

.schedule-table th {
    background-color: #f2f2f2;
}

.current-stage {
    font-weight: bold;
    background-color: #ffeb3b66;
}

/* --- Stopka --- */
footer {
    text-align: center;
    padding: 10px 0;
    background-color: #FFF;
    color: #fff;
    width: 100%;
    margin-top: 40px;
    border-top: 2px solid #002050;
}

/* --- Responsywność --- */
@media screen and (max-width: 768px) {
    header {
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }

    .header-left {
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }


    #logo-nawa {
        height: 20px;
    }

    .header-right {
        align-items: center;
        gap: 5px;
    }

    .action-buttons {
        flex-direction: column;
        gap: 10px;
    }
}

.header-right {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-right: 20px;
}

.header-inline {
    flex-direction: row !important;
}

/* Ikony */
.header-button {
    font-size: 22px;
    color: #005bbb;
    text-decoration: none;
}

/* Okrągłe ikonki językowe */
.lang-circle {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #e6e6e6;
    color: #222;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    text-decoration: none;
    border: 1px solid #c0c0c0;
    transition: 0.2s;
}

.lang-circle:hover {
    background: #dcdcdc;
}

.active-lang {
    background: #005bbb;
    color: white;
    border-color: #005bbb;
}

/* Kontrast */
.high-contrast {
    filter: invert(1) hue-rotate(180deg);
}




.action-icon {
    color: #005bbb;           /* Twój kolor */
    font-size: 18px;
    margin-right: 10px;
    text-decoration: none;
}

.action-icon:hover {
    color: #004799;           /* nieco ciemniejszy odcień dla hover */
}

.action-icon i {
    pointer-events: none;     /* klik działa na <a> */
}
.field-error {
    color: #c62828 !important;
    font-weight: 600;
}

.input-error {
    border: 1px solid #c62828 !important;
    background-color: #fdecea;
}

.error-msg {
    color: #c62828;
    font-size: 12px;
    margin-top: 4px;
}

/* Kontener sekcji plakatu */
.poster-wrapper {
    max-width: 100%;
    margin: 40px auto 0 auto;
    text-align: center;
}

/* Linia pozioma nad plakatem */
.section-divider {
    border: none;
    height: 2px;
    background-color: #ccc;
    margin: 0 auto 30px auto;

    width: 100%;
    max-width: 900px;   /* taka sama jak tabela harmonogramu */
}

/* Plakat */
.program-poster {
    display: block;
    width: 100%;
    max-width: 900px;   /* identyczna szerokość jak tabela */
    height: auto;

    margin: 0 auto;

    border: 2px solid #ccc;
    border-radius: 6px;
    padding: 6px;
    background: #fff;

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

.steps {
    display: flex;
    align-items: center;
    margin-bottom: 25px;
}

.step {
    text-align: center;
    min-width: 120px;
}

.step-number {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    margin: 0 auto 5px;
    line-height: 32px;
    background: #ccc;
    color: #fff;
    font-weight: bold;
}

.step-label {
    font-size: 14px;
}

.step.done .step-number {
    background: #28a745;
}

.step.active .step-number {
    background: #0073aa;
}

.step.locked .step-number {
    background: #aaa;
}

.step-arrow {
    margin: 0 10px;
    font-size: 22px;
    color: #999;
}

.step-content {
    border: 1px solid #ccc;
    padding: 20px;
    background: #fff;
}

/* wyższy priorytet dla przycisków z klasą danger */
.button.button-danger {
    background-color: #dc3545 !important; /* czerwone tło ostrzegawcze */
    color: white;
}

.button.button-danger:hover {
    background-color: #c82333 !important;
}


.button.button-success {
    background-color: #28a745 !important; /* zielony */
    color: white !important;
    border-color: #28a745 !important;
}
.button.button-success:hover {
    background-color: #218838 !important;
}
