/* =========================================================
   DIDASKO – MODUŁ AKTUALNOŚCI
   Układ: data + zdjęcie + treść + przycisk
   ========================================================= */

.didasko-news-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
    width: 100%;
    margin: 0;
    padding: 0;
}

.didasko-news-card {
    position: relative;
    display: grid;
    grid-template-columns: 82px 190px minmax(0, 1fr);
    min-height: 142px;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(47, 78, 115, 0.10);
    border-radius: 8px;
    box-shadow: 0 7px 22px rgba(47, 78, 115, 0.10);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.didasko-news-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 11px 28px rgba(47, 78, 115, 0.16);
}


/* =========================================================
   DATA
   ========================================================= */

.didasko-news-date {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 142px;
    padding: 12px 8px;
    color: #ffffff;
    text-align: center;
    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.14) 0%,
            rgba(255, 255, 255, 0.05) 35%,
            rgba(255, 255, 255, 0) 70%
        ),
        #2f4e73;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.didasko-news-date-day {
    display: block;
    margin: 0;
    font-size: 31px;
    font-weight: 700;
    line-height: 1;
}

.didasko-news-date-month {
    display: block;
    margin-top: 7px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.8px;
}

.didasko-news-date-year {
    display: block;
    margin-top: 7px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1;
}


/* =========================================================
   ZDJĘCIE
   ========================================================= */

.didasko-news-image {
    position: relative;
    min-width: 0;
    min-height: 142px;
    overflow: hidden;
    background: #e9eef4;
}

.didasko-news-image a {
    display: block;
    width: 100%;
    height: 100%;
}

.didasko-news-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 142px;
    object-fit: cover;
    object-position: center;
    transition: transform 0.35s ease;
}

.didasko-news-card:hover .didasko-news-image img {
    transform: scale(1.035);
}

.didasko-news-image-placeholder {
    width: 100%;
    height: 100%;
    min-height: 142px;
    background:
        linear-gradient(
            135deg,
            rgba(47, 78, 115, 0.10),
            rgba(47, 78, 115, 0.03)
        );
}


/* =========================================================
   TREŚĆ
   ========================================================= */

.didasko-news-content {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 15px 16px 13px 20px;
}

.didasko-news-title {
    margin: 0 0 7px;
    padding: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.25;
}

.didasko-news-title-link {
    color: #2f4e73 !important;
    text-decoration: none;
}

.didasko-news-title-link:hover,
.didasko-news-title-link:focus {
    color: #f26a3d !important;
    text-decoration: none;
}

.didasko-news-intro {
    margin: 0 0 12px;
    color: #4f5d6d;
    font-size: 13px;
    line-height: 1.5;
}

.didasko-news-intro p {
    margin: 0;
}

.didasko-news-footer {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-top: auto;
}


/* =========================================================
   PRZYCISK „CZYTAJ WIĘCEJ”
   ========================================================= */

.didasko-news-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 34px;
    padding: 8px 14px;
    color: #ffffff !important;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none !important;
    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.15) 0%,
            rgba(255, 255, 255, 0.04) 45%,
            rgba(255, 255, 255, 0) 100%
        ),
        #2f4e73;
    border: 0;
    border-radius: 4px;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.18),
        0 3px 8px rgba(47, 78, 115, 0.20);
    transition:
        background-color 0.25s ease,
        transform 0.25s ease;
}

.didasko-news-button:hover,
.didasko-news-button:focus {
    color: #ffffff !important;
    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.18) 0%,
            rgba(255, 255, 255, 0.04) 50%,
            rgba(255, 255, 255, 0) 100%
        ),
        #f26a3d;
    transform: translateX(2px);
}

.didasko-news-button span {
    color: #ff8c42;
    font-size: 17px;
    line-height: 1;
}

.didasko-news-button:hover span,
.didasko-news-button:focus span {
    color: #ffffff;
}


/* =========================================================
   TYTUŁ SEKCJI „NAJBLIŻSZE TERMINY”
   ========================================================= */

.didasko-section-title {
    margin-top: 30px;
    margin-bottom: 18px;
    color: #f26a3d;
    font-size: 42px;
    font-weight: 700;
}


/* =========================================================
   WYRÓWNANIE PRAWEJ KOLUMNY Z PIERWSZYM KAFELKIEM
   Uwzględnia tytuł „Najbliższe terminy”
   ========================================================= */

#sp-main-body .didasko-article-sidebar {
    margin-top: 61px !important;
}


/* =========================================================
   NAGŁÓWEK SEKCJI
   Tytuł po lewej, link „Zobacz poprzednie” po prawej
   ========================================================= */

.didasko-terms-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin: 0 0 12px;
}

.didasko-terms-header .didasko-section-title {
    margin: 0;
}


/* =========================================================
   DIDASKO – CSS-012
   LINK „ZOBACZ POPRZEDNIE”
   Wersja 2.2
   ========================================================= */

.didasko-terms-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-shrink: 0;

    margin: 0;
    padding: 2px 0;

    border: 0;
    outline: 0;
    background: transparent;
    box-shadow: none;

    color: #2f4e73;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.1px;
    text-decoration: none;

    cursor: pointer;

    transition:
        color 180ms ease,
        transform 180ms ease;
}

.didasko-terms-more span {
    display: inline-block;

    color: #f26a3d;

    font-family: Arial, sans-serif;
    font-size: 21px;
    font-weight: 900;
    line-height: 0.82;

    transform: scaleX(1.04);
    transform-origin: left center;

    text-shadow:
        0.35px 0 0 currentColor;

    transition:
        color 180ms ease,
        transform 180ms ease;
}

.didasko-terms-more:hover,
.didasko-terms-more:focus {
    color: #f26a3d;

    border: 0;
    outline: 0;
    background: transparent;
    box-shadow: none;
    text-decoration: none;
}

.didasko-terms-more:hover span,
.didasko-terms-more:focus span {
    color: #f26a3d;
    transform: translateX(4px) scaleX(1.04);
}

.didasko-terms-more:focus-visible {
    outline: 2px solid #f26a3d;
    outline-offset: 4px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .didasko-news-card {
        grid-template-columns: 72px 160px minmax(0, 1fr);
    }

    .didasko-news-content {
        padding-left: 16px;
    }

    .didasko-news-title {
        font-size: 17px;
    }
}


/* =========================================================
   TELEFON
   ========================================================= */

@media (max-width: 767.98px) {

    .didasko-terms-header {
        align-items: flex-start;
        gap: 12px;
    }

    .didasko-terms-more {
        flex-shrink: 0;
        padding-top: 6px;
        font-size: 14px;
    }

    .didasko-terms-more span {
        font-size: 17px;
    }

    .didasko-news-card {
        grid-template-columns: 70px minmax(0, 1fr);
        grid-template-areas:
            "date image"
            "content content";
    }

    .didasko-news-date {
        grid-area: date;
        min-height: 150px;
    }

    .didasko-news-image {
        grid-area: image;
        min-height: 150px;
    }

    .didasko-news-image img,
    .didasko-news-image-placeholder {
        min-height: 150px;
    }

    .didasko-news-content {
        grid-area: content;
        padding: 16px;
    }
}


/* =========================================================
   BARDZO WĄSKI TELEFON
   ========================================================= */

@media (max-width: 479.98px) {

    .didasko-terms-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .didasko-terms-more {
        padding-top: 0;
    }

    .didasko-news-card {
        grid-template-columns: 64px minmax(0, 1fr);
    }

    .didasko-news-date-day {
        font-size: 27px;
    }

    .didasko-news-date-month {
        font-size: 13px;
    }

    .didasko-news-title {
        font-size: 16px;
    }

    .didasko-news-footer {
        justify-content: flex-start;
    }
}

/* =========================================================
   DIDASKO – CSS-013
   DOLNY PRZYCISK „POKAŻ KOLEJNE TERMINY”
   ========================================================= */

.didasko-terms-bottom {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 22px 0 0;
}

.didasko-terms-more-bottom {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    min-height: 42px;
    margin: 0;
    padding: 10px 20px;

    border: 1px solid rgba(47, 78, 115, 0.35);
    border-radius: 6px;

    color: #2f4e73;
    background: #ffffff;
    box-shadow:
        0 4px 14px rgba(47, 78, 115, 0.10),
        inset 0 1px 0 rgba(255, 255, 255, 0.85);

    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;

    cursor: pointer;

    transition:
        color 180ms ease,
        border-color 180ms ease,
        background-color 180ms ease,
        box-shadow 180ms ease,
        transform 180ms ease;
}

.didasko-terms-more-bottom-text {
    display: inline-block;
}

.didasko-terms-more-bottom-arrow {
    display: inline-block;

    color: #f26a3d;

    font-family: Arial, sans-serif;
    font-size: 20px;
    font-weight: 900;
    line-height: 0.8;

    transition:
        color 180ms ease,
        transform 180ms ease;
}

.didasko-terms-more-bottom:hover,
.didasko-terms-more-bottom:focus {
    color: #ffffff;
    border-color: #f26a3d;
    background: #f26a3d;
    box-shadow:
        0 7px 18px rgba(242, 106, 61, 0.22);

    outline: none;
    transform: translateY(-1px);
}

.didasko-terms-more-bottom:hover .didasko-terms-more-bottom-arrow,
.didasko-terms-more-bottom:focus .didasko-terms-more-bottom-arrow {
    color: #ffffff;
    transform: translateY(3px);
}

.didasko-terms-more-bottom:focus-visible {
    outline: 2px solid #f26a3d;
    outline-offset: 4px;
}

@media (max-width: 767.98px) {
    .didasko-terms-bottom {
        margin-top: 18px;
    }

    .didasko-terms-more-bottom {
        width: 100%;
        max-width: 320px;
        min-height: 44px;
        padding: 11px 16px;
        font-size: 14px;
    }

    .didasko-terms-more-bottom-arrow {
        font-size: 19px;
    }
}

/* =========================================================
   DIDASKO – STOPKA – WERSJA FINALNA

   Układ:
   - lewa kolumna: Media DIDASKO + logo DIDASKO + Facebook,
   - środkowa kolumna: Menu logowania,
   - prawa kolumna: Kontakt z DIDASKO,
   - dolny pasek: copyright i wykonawca.
   ========================================================= */


/* =========================================================
   GŁÓWNY WIERSZ STOPKI
   ========================================================= */

#sp-footer {
    position: relative;
    margin: 0;
    padding: 0;
    color: #ffffff;

    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.035) 0%,
            rgba(255, 255, 255, 0) 100%
        ),
        #2f4e73;

    border-top: 4px solid #f26a3d;
}

#sp-footer > .container {
    padding-top: 56px;
    padding-bottom: 54px;
}

#sp-footer .row {
    align-items: stretch;
}

#sp-footer .sp-module {
    margin: 0;
}

#sp-footer a {
    text-decoration: none;
}


/* =========================================================
   TRZY KOLUMNY STOPKI
   ========================================================= */

#sp-footer1,
#sp-footer2,
#sp-bottom2 {
    display: flex;
    align-items: stretch;
    min-width: 0;
}

#sp-footer1 > .sp-column,
#sp-footer2 > .sp-column,
#sp-bottom2 > .sp-column {
    display: flex;
    align-items: stretch;
    width: 100%;
    min-width: 0;
}


/* =========================================================
   LEWA KOLUMNA – MEDIA DIDASKO
   ========================================================= */

#sp-footer1 > .sp-column {
    align-items: flex-start;
    justify-content: center;
}

#sp-footer1 .sp-module {
    display: block;

    width: 100%;
    max-width: 315px;
    height: auto;

    margin: 0 auto;
    padding: 0;
}

/* Główny blok lewej kolumny */

#sp-footer1 .didasko-footer-media {
    width: 100%;
    max-width: 315px;

    margin: 0 auto;
    padding: 0;
}

/* Nagłówek – spójny z pozostałymi nagłówkami stopki */

#sp-footer1 .didasko-footer-media-title {
    position: relative;

    margin: 0 0 20px;
    padding: 0 0 13px;

    color: #ffffff;

    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;

    text-align: left;
    text-transform: none !important;
    letter-spacing: 0.2px;
}

/* Oryginalna osobna kreska z HTML jest ukryta.
   Kreskę tworzy pseudo-element nagłówka, jak w pozostałych kolumnach. */

#sp-footer1 .didasko-footer-media-line {
    display: none;
}

#sp-footer1 .didasko-footer-media-title::after {
    position: absolute;
    bottom: 0;
    left: 0;

    width: 78px;
    height: 3px;

    background: #f26a3d;

    content: "";
}

/* Obszar logotypów */

#sp-footer1 .didasko-footer-media-logos {
    display: flex;
    flex-direction: column;
    align-items: center;

    width: 100%;

    margin: 0;
    padding: 0;
}

/* Linki logotypów */

#sp-footer1 .didasko-footer-media-logos a {
    display: block;

    margin: 0;
    padding: 0;

    line-height: 0;
    text-decoration: none;
}

/* Logo DIDASKO */

#sp-footer1 .didasko-footer-media-didasko {
    display: block;

    width: 205px;
    max-width: 100%;
    height: auto;

    margin: 0 auto;

    object-fit: contain;

    opacity: 0.95;
}

/* Logo Facebook */

#sp-footer1 .didasko-footer-media-facebook {
    display: block;

    width: 175px;
    max-width: 100%;
    height: auto;

    margin: 28px auto 0;

    object-fit: contain;

    opacity: 0.95;
}


/* =========================================================
   ŚRODKOWA KOLUMNA – MENU LOGOWANIA
   ========================================================= */

#sp-footer2 > .sp-column {
    justify-content: center;
}

#sp-footer2 .sp-module {
    width: 100%;
    max-width: 470px;

    margin: 0 auto;
}


/* ---------------------------------------------------------
   Nagłówek modułu poza ramką formularza
   --------------------------------------------------------- */

#sp-footer .didasko-footer-login {
    width: 100%;
    max-width: 470px;

    margin: 0 auto;
    padding: 0;

    color: #ffffff;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

#sp-footer .didasko-footer-login .sp-module-title,
#sp-footer .didasko-footer-login .module-title {
    position: relative;

    margin: 0 0 20px;
    padding: 0 0 13px;

    color: #ffffff;

    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;

    text-align: left;
    text-transform: none !important;
    letter-spacing: 0.2px;
}

#sp-footer .didasko-footer-login .sp-module-title::after,
#sp-footer .didasko-footer-login .module-title::after {
    position: absolute;
    bottom: 0;
    left: 0;

    width: 78px;
    height: 3px;

    background: #f26a3d;

    content: "";
}


/* ---------------------------------------------------------
   Ramka wyłącznie wokół formularza
   --------------------------------------------------------- */

#sp-footer .didasko-footer-login form {
    margin: 0;
    padding: 27px 28px 25px;

    background: rgba(15, 49, 93, 0.30);

    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 9px;

    box-shadow:
        0 12px 28px rgba(9, 30, 56, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

#sp-footer .didasko-footer-login .mod-login,
#sp-footer .didasko-footer-login .login {
    margin: 0;
}


/* ---------------------------------------------------------
   Pola formularza
   --------------------------------------------------------- */

#sp-footer .didasko-footer-login .control-group,
#sp-footer .didasko-footer-login .mod-login__username,
#sp-footer .didasko-footer-login .mod-login__password,
#sp-footer .didasko-footer-login .mod-login__remember,
#sp-footer .didasko-footer-login .mod-login__submit {
    margin-bottom: 15px;
}

#sp-footer .didasko-footer-login label {
    display: block;

    margin: 0 0 7px;

    color: rgba(255, 255, 255, 0.92);

    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;

    text-align: left;
}

#sp-footer .didasko-footer-login .input-group {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;

    width: 100%;
}

#sp-footer .didasko-footer-login input[type="text"],
#sp-footer .didasko-footer-login input[type="email"],
#sp-footer .didasko-footer-login input[type="password"],
#sp-footer .didasko-footer-login .form-control {
    flex: 1 1 auto;

    width: 100%;
    min-width: 0;
    min-height: 42px;

    padding: 9px 12px;

    color: #24384f;

    font-family: inherit;
    font-size: 16px;
    line-height: 1.3;

    background: #ffffff;

    border: 1px solid rgba(255, 255, 255, 0.30);
    border-radius: 5px;

    box-shadow: none;

    transition:
        border-color 180ms ease,
        box-shadow 180ms ease;
}

#sp-footer .didasko-footer-login input[type="text"]:focus,
#sp-footer .didasko-footer-login input[type="email"]:focus,
#sp-footer .didasko-footer-login input[type="password"]:focus,
#sp-footer .didasko-footer-login .form-control:focus {
    color: #24384f;

    background: #ffffff;

    border-color: #ff8c42;

    box-shadow: 0 0 0 3px rgba(242, 106, 61, 0.17);

    outline: none;
}


/* ---------------------------------------------------------
   Przycisk pokaż/ukryj hasło
   --------------------------------------------------------- */

#sp-footer .didasko-footer-login
.input-group .input-password-toggle {
    flex: 0 0 46px;

    width: 46px;
    min-width: 46px;
    min-height: 42px;

    margin: 0;
    padding: 0;

    color: #ffffff;

    background: #f26a3d;

    border: 1px solid #f26a3d;
    border-left: 0;
    border-radius: 0 5px 5px 0;

    box-shadow: none;

    text-transform: none;

    transform: none;
}

#sp-footer .didasko-footer-login
.input-group .form-control {
    border-radius: 5px 0 0 5px;
}

#sp-footer .didasko-footer-login
.input-group .input-password-toggle:hover,
#sp-footer .didasko-footer-login
.input-group .input-password-toggle:focus {
    color: #ffffff;

    background: #ff8c42;
    border-color: #ff8c42;

    box-shadow: none;

    outline: none;
    transform: none;
}


/* ---------------------------------------------------------
   Zapamiętaj
   --------------------------------------------------------- */

#sp-footer .didasko-footer-login .form-check,
#sp-footer .didasko-footer-login .mod-login__remember {
    display: flex;
    align-items: center;

    gap: 8px;
}

#sp-footer .didasko-footer-login input[type="checkbox"] {
    width: 16px;
    height: 16px;

    margin: 0;

    accent-color: #f26a3d;
}

#sp-footer .didasko-footer-login .form-check-label {
    margin: 0;

    color: rgba(255, 255, 255, 0.88);

    font-size: 15px;
    font-weight: 400;

    text-align: left;
}


/* ---------------------------------------------------------
   Przycisk ZALOGUJ
   --------------------------------------------------------- */

#sp-footer .didasko-footer-login
.mod-login__submit .btn-primary,
#sp-footer .didasko-footer-login
.mod-login__submit button[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-height: 42px;

    margin: 0;
    padding: 10px 18px;

    color: #ffffff;

    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;

    text-transform: uppercase;
    letter-spacing: 0.25px;

    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.14) 0%,
            rgba(255, 255, 255, 0) 100%
        ),
        #f26a3d;

    border: 1px solid #f26a3d;
    border-radius: 5px;

    box-shadow: 0 5px 14px rgba(242, 106, 61, 0.20);

    transition:
        background-color 180ms ease,
        border-color 180ms ease,
        box-shadow 180ms ease,
        transform 180ms ease;
}

#sp-footer .didasko-footer-login
.mod-login__submit .btn-primary:hover,
#sp-footer .didasko-footer-login
.mod-login__submit .btn-primary:focus,
#sp-footer .didasko-footer-login
.mod-login__submit button[type="submit"]:hover,
#sp-footer .didasko-footer-login
.mod-login__submit button[type="submit"]:focus {
    color: #ffffff;

    background: #ff8c42;
    border-color: #ff8c42;

    box-shadow: 0 7px 18px rgba(242, 106, 61, 0.28);

    outline: none;

    transform: translateY(-1px);
}


/* ---------------------------------------------------------
   Ukrycie uwierzytelniania sieciowego
   --------------------------------------------------------- */

#sp-footer .didasko-footer-login
.plg_system_webauthn_login_button {
    display: none !important;
}

#sp-footer .didasko-footer-login
.mod-login__submit:has(.plg_system_webauthn_login_button) {
    display: none !important;
}


/* ---------------------------------------------------------
   Nie pamiętasz hasła / nazwy
   Bez białego tła, biały tekst, wyrównanie do lewej
   --------------------------------------------------------- */

#sp-footer .didasko-footer-login .mod-login__options,
#sp-footer .didasko-footer-login .mod-login__options.list-group {
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    gap: 9px;

    margin: 19px 0 0;
    padding: 0;

    background: transparent;
    border: 0;

    list-style: none;
}

#sp-footer .didasko-footer-login .mod-login__options li,
#sp-footer .didasko-footer-login .mod-login__options .list-group-item {
    display: block;

    width: auto;
    min-height: 0;

    margin: 0;
    padding: 0;

    color: rgba(255, 255, 255, 0.90);

    background: transparent !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;
}

#sp-footer .didasko-footer-login .mod-login__options li a,
#sp-footer .didasko-footer-login .mod-login__options .list-group-item a,
#sp-footer .didasko-footer-login .mod-login__options a.list-group-item,
#sp-footer .didasko-footer-login .mod-login__options a.list-group-item-action {
    display: inline-block;

    width: auto;
    min-height: 0;

    margin: 0;
    padding: 0;

    color: rgba(255, 255, 255, 0.90);

    font-size: 15px;
    font-weight: 400;
    line-height: 1.45;

    text-align: left;
    text-decoration: none;

    background: transparent !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;
}

#sp-footer .didasko-footer-login .mod-login__options li a:hover,
#sp-footer .didasko-footer-login .mod-login__options li a:focus,
#sp-footer .didasko-footer-login .mod-login__options a.list-group-item:hover,
#sp-footer .didasko-footer-login .mod-login__options a.list-group-item:focus,
#sp-footer .didasko-footer-login .mod-login__options a.list-group-item-action:hover,
#sp-footer .didasko-footer-login .mod-login__options a.list-group-item-action:focus {
    color: #ff8c42;

    background: transparent !important;

    outline: none;
    box-shadow: none !important;
}


/* =========================================================
   PRAWA KOLUMNA – KONTAKT Z DIDASKO
   ========================================================= */

#sp-bottom2 > .sp-column {
    align-items: flex-start;
    justify-content: center;
}

#sp-bottom2 .sp-module {
    display: flex;
    align-items: flex-start;
    justify-content: center;

    width: 100%;
    height: 100%;

    margin: 0;
}

#sp-bottom2 .didasko-footer-contact-only {
    display: flex;
    align-items: flex-start;
    justify-content: center;

    width: 100%;
    height: 100%;

    margin: 0;
}

#sp-bottom2 .didasko-footer-contact {
    width: 100%;
    max-width: 335px;

    margin: 0;
    padding: 0;

    transform: translateY(-8px);
}

#sp-bottom2 .didasko-footer-heading {
    position: relative;

    margin: 0 0 25px;
    padding: 0 0 13px;

    color: #ffffff;

    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;

    text-align: left;
    text-transform: none !important;
    letter-spacing: 0.2px;
}

#sp-bottom2 .didasko-footer-heading::after {
    position: absolute;
    bottom: 0;
    left: 0;

    width: 110px;
    height: 3px;

    background: #f26a3d;

    content: "";

    transform: none;
}

#sp-bottom2 .didasko-footer-contact-list {
    display: flex;
    flex-direction: column;

    gap: 16px;

    margin: 0;
    padding: 0;

    list-style: none;
}

#sp-bottom2 .didasko-footer-contact-list li {
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr);
    align-items: start;

    gap: 11px;

    margin: 0;
    padding: 0;

    color: rgba(255, 255, 255, 0.88);

    font-size: 16px;
    line-height: 1.55;
}

#sp-bottom2 .didasko-footer-contact-list
li > span:first-child {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 26px;
    min-height: 22px;

    color: #ff8c42;

    font-size: 15px;
}

#sp-bottom2 .didasko-footer-contact-list a {
    color: rgba(255, 255, 255, 0.90);

    transition: color 180ms ease;
}

#sp-bottom2 .didasko-footer-contact-list a:hover,
#sp-bottom2 .didasko-footer-contact-list a:focus {
    color: #ff8c42;
}

#sp-bottom2 .didasko-footer-contact-company strong,
#sp-bottom2 .didasko-footer-contact-hours strong {
    color: #ffffff;
    font-weight: 700;
}

#sp-bottom2 .didasko-footer-contact-company {
    margin-bottom: 5px;
}

#sp-bottom2 .didasko-footer-contact-hours {
    margin-top: 5px;

    font-size: 15px;
    line-height: 1.5;
}


/* =========================================================
   DOLNY PASEK COPYRIGHT
   ========================================================= */

#sp-bottom {
    margin: 0;
    padding: 0;

    color: rgba(255, 255, 255, 0.72);

    background: #203b5c;

    border-top: 1px solid rgba(255, 255, 255, 0.10);
}

#sp-bottom > .container {
    padding-top: 18px;
    padding-bottom: 18px;
}

#sp-bottom .sp-module {
    margin: 0;
}

.didasko-footer-copyright {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;

    gap: 0;

    width: 100%;

    margin: 0 auto;

    color: rgba(255, 255, 255, 0.72);

    font-size: 14px;
    line-height: 1.5;

    text-align: center;
}

.didasko-footer-copyright-left,
.didasko-footer-copyright-right {
    display: inline;

    width: auto;
    min-width: 0;

    margin: 0;

    text-align: center;
}

.didasko-footer-copyright-left::after {
    margin: 0 8px;
    content: "|";
}

.didasko-footer-author {
    color: #ffffff;
    font-weight: 600;

    text-decoration: none;

    transition: color 180ms ease;
}

.didasko-footer-author:hover,
.didasko-footer-author:focus {
    color: #ff8c42;
    text-decoration: none;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    #sp-footer > .container {
        padding-top: 44px;
        padding-bottom: 42px;
    }

    #sp-footer1,
    #sp-footer2,
    #sp-bottom2 {
        margin-bottom: 38px;
    }

    #sp-bottom2 {
        margin-bottom: 0;
    }

    #sp-footer1 .didasko-footer-media {
        max-width: 300px;
    }

    #sp-footer1 .didasko-footer-media-didasko {
        width: 195px;
    }

    #sp-footer1 .didasko-footer-media-facebook {
        width: 170px;
    }

    #sp-footer2 .sp-module,
    #sp-footer .didasko-footer-login {
        max-width: 460px;
    }

    #sp-bottom2 .didasko-footer-contact {
        max-width: 360px;
    }
}


/* =========================================================
   TELEFON
   ========================================================= */

@media (max-width: 767.98px) {

    #sp-footer > .container {
        padding-top: 38px;
        padding-bottom: 34px;
    }

    #sp-footer1 .didasko-footer-media {
        max-width: 280px;
    }

    #sp-footer1 .didasko-footer-media-title {
        text-align: center;
    }

    #sp-footer1 .didasko-footer-media-title::after {
        left: 50%;
        transform: translateX(-50%);
    }

    #sp-footer1 .didasko-footer-media-didasko {
        width: 190px;
    }

    #sp-footer1 .didasko-footer-media-facebook {
        width: 165px;
        margin-top: 24px;
    }

    #sp-footer .didasko-footer-login {
        max-width: 360px;
    }

    #sp-footer .didasko-footer-login .sp-module-title,
    #sp-footer .didasko-footer-login .module-title,
    #sp-bottom2 .didasko-footer-heading {
        text-align: center;
    }

    #sp-footer .didasko-footer-login .sp-module-title::after,
    #sp-footer .didasko-footer-login .module-title::after,
    #sp-bottom2 .didasko-footer-heading::after {
        left: 50%;
        transform: translateX(-50%);
    }

    #sp-footer .didasko-footer-login form {
        padding: 24px 20px 23px;
    }

    #sp-bottom2 .didasko-footer-contact {
        max-width: 320px;

        padding-right: 15px;
        padding-left: 15px;

        transform: none;
    }

    .didasko-footer-copyright {
        font-size: 12.5px;
    }
}

/* =========================================================
   DIDASKO – CSS-025
   Subtelne fale w tle stopki
   ========================================================= */

#sp-footer {
    background-image:
        url("../images/backgrounds/footer-waves.svg"),
        linear-gradient(
            180deg,
            rgba(255,255,255,.035) 0%,
            rgba(255,255,255,0) 100%
        );

    background-repeat:
        no-repeat,
        no-repeat;

    background-position:
        center center,
        center center;

    background-size:
        cover,
        cover;

    background-color: #2f4e73;
}

/* =========================================================
   DIDASKO – CSS-026
   Delikatna struktura białego tła
   ========================================================= */

body {

    background-color: #ffffff;

    background-image:
        url("../images/backgrounds/page-background-waves-light.svg");

    background-repeat:
        repeat-y;

    background-position:
        center top;

    background-size:
        100% auto;

    background-attachment:
        scroll;

}


/* =========================================================
   DIDASKO – CSS-027
   NAGŁÓWEK – FALE + STICKY HEADER + PODMENU
   ========================================================= */


/* =========================================================
   ZWYKŁY NAGŁÓWEK
   ========================================================= */

#sp-header {
    position: relative !important;

    /*
       Podmenu musi móc wychodzić poza wysokość nagłówka.
    */
    overflow: visible !important;

    background-color: #ffffff !important;
    background-image:
        url("../images/backgrounds/page-background-waves-header-coherent-v3.svg") !important;

    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: 100% 100% !important;
}


/* =========================================================
   NAGŁÓWEK PRZYKLEJONY PODCZAS PRZEWIJANIA
   ========================================================= */

#sp-header.header-sticky,
#sp-header.menu-fixed {
    position: fixed !important;

    top: 0 !important;
    right: 0 !important;
    left: 0 !important;

    width: 100% !important;

    margin: 0 !important;

    overflow: visible !important;

    background-color: #ffffff !important;
    background-image:
        url("../images/backgrounds/page-background-waves-header-coherent-v3.svg") !important;

    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: 100% 100% !important;

    z-index: 9999 !important;

    box-shadow:
        0 5px 18px rgba(47, 78, 115, 0.14) !important;
}


/* =========================================================
   WEWNĘTRZNE ELEMENTY HELIXA
   ========================================================= */

#sp-header > .container,
#sp-header > .container-fluid,
#sp-header .container-inner,
#sp-header .row,
#sp-header .sp-column,
#sp-header .logo,
#sp-header .logo-image,
#sp-header .sp-megamenu-wrapper,
#sp-header .sp-megamenu-parent,
#sp-header .offcanvas-toggler {
    background-color: transparent !important;
    background-image: none !important;
}


/* =========================================================
   WARSTWY NAGŁÓWKA
   ========================================================= */

#sp-header > .container,
#sp-header > .container-fluid,
#sp-header .container-inner {
    position: relative !important;
    z-index: 2 !important;
}


/* =========================================================
   MENU GŁÓWNE
   ========================================================= */

#sp-header .sp-megamenu-parent > li {
    position: relative;
}


/* =========================================================
   ROZWIJANE PODMENU
   ========================================================= */

#sp-header .sp-megamenu-parent .sp-dropdown {
    z-index: 10000 !important;
}

#sp-header .sp-megamenu-parent .sp-dropdown-inner {
    position: relative;
    z-index: 10000 !important;
}


/* =========================================================
   DIDASKO – CSS-028
   Mniejsze czcionki w całej stopce – bez tytułów
   ========================================================= */


/* Etykiety: Użytkownik, Hasło, Zapamiętaj */

#sp-footer .didasko-footer-login label,
#sp-footer .didasko-footer-login .form-check-label {
    font-size: 13px !important;
}


/* Tekst wpisywany w polach logowania */

#sp-footer .didasko-footer-login input[type="text"],
#sp-footer .didasko-footer-login input[type="email"],
#sp-footer .didasko-footer-login input[type="password"],
#sp-footer .didasko-footer-login .form-control {
    font-size: 13px !important;
}


/* Przycisk ZALOGUJ */

#sp-footer .didasko-footer-login
.mod-login__submit .btn-primary,
#sp-footer .didasko-footer-login
.mod-login__submit button[type="submit"] {
    font-size: 13px !important;
}


/* Nie pamiętasz hasła? / Nie pamiętasz nazwy? */

#sp-footer .didasko-footer-login
.mod-login__options li a,
#sp-footer .didasko-footer-login
.mod-login__options .list-group-item a,
#sp-footer .didasko-footer-login
.mod-login__options a.list-group-item,
#sp-footer .didasko-footer-login
.mod-login__options a.list-group-item-action {
    font-size: 13px !important;
}


/* Wszystkie dane kontaktowe */

#sp-bottom2 .didasko-footer-contact-list li,
#sp-bottom2 .didasko-footer-contact-list li a,
#sp-bottom2 .didasko-footer-contact-list li span {
    font-size: 14px !important;
    line-height: 1.5 !important;
}


/* Sekretariat czynny */

#sp-bottom2 .didasko-footer-contact-hours,
#sp-bottom2 .didasko-footer-contact-hours span,
#sp-bottom2 .didasko-footer-contact-hours strong {
    font-size: 13px !important;
    line-height: 1.45 !important;
}


/* Najniższa stopka – copyright i autor */

.didasko-footer-copyright,
.didasko-footer-copyright-left,
.didasko-footer-copyright-right,
.didasko-footer-author {
    font-size: 13px !important;
}

/* =========================================================
   DIDASKO – CSS-029
   Treść artykułów
   ========================================================= */

.article-details [itemprop="articleBody"] {
    font-size: 15px;
    line-height: 1.8;
    color: #555555;
}

.article-details [itemprop="articleBody"] p,
.article-details [itemprop="articleBody"] li {
    font-size: inherit;
    line-height: inherit;
    color: inherit;
}

/* =========================================================
   DIDASKO – CSS-030
   PODSTRONA „KONTAKT”

   Lewa kolumna: dane kontaktowe
   Prawa kolumna: mapa Google
   ========================================================= */

.didasko-contact-page {
    display: grid;
    grid-template-columns:
        minmax(280px, 0.85fr)
        minmax(420px, 1.35fr);
    align-items: stretch;
    gap: 42px;

    width: 100%;
    margin: 10px 0 20px;
}


/* =========================================================
   LEWA KOLUMNA – DANE KONTAKTOWE
   ========================================================= */

.didasko-contact-details {
    padding: 32px 30px;

    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.75) 0%,
            rgba(255, 255, 255, 0.96) 100%
        );

    border: 1px solid rgba(47, 78, 115, 0.12);
    border-radius: 10px;

    box-shadow:
        0 10px 28px rgba(47, 78, 115, 0.10);
}

.didasko-contact-heading {
    position: relative;

    margin: 0 0 28px;
    padding: 0 0 14px;

    color: #2f4e73;

    font-size: 25px;
    font-weight: 700;
    line-height: 1.25;

    text-transform: none;
}

.didasko-contact-heading::after {
    position: absolute;
    bottom: 0;
    left: 0;

    width: 88px;
    height: 3px;

    background: #f26a3d;

    content: "";
}

.didasko-contact-list {
    display: flex;
    flex-direction: column;
    gap: 19px;

    margin: 0;
    padding: 0;

    list-style: none;
}

.didasko-contact-list li {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    align-items: start;
    gap: 13px;

    margin: 0;
    padding: 0;

    color: #566270;

    font-size: 15px;
    line-height: 1.6;
}

.didasko-contact-list li > span:first-child {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 30px;
    min-height: 24px;

    color: #f26a3d;

    font-size: 18px;
}

.didasko-contact-list strong {
    color: #2f4e73;
    font-weight: 700;
}

.didasko-contact-list a {
    color: #566270;
    text-decoration: none;

    transition: color 180ms ease;
}

.didasko-contact-list a:hover,
.didasko-contact-list a:focus {
    color: #f26a3d;
    text-decoration: none;
}

.didasko-contact-company {
    margin-bottom: 3px !important;
}

.didasko-contact-hours {
    margin-top: 3px !important;
}


/* =========================================================
   PRAWA KOLUMNA – MAPA GOOGLE
   ========================================================= */

.didasko-contact-map {
    position: relative;

    min-height: 430px;
    overflow: hidden;

    background: #e9eef4;

    border: 1px solid rgba(47, 78, 115, 0.12);
    border-radius: 10px;

    box-shadow:
        0 10px 28px rgba(47, 78, 115, 0.12);
}

.didasko-contact-map iframe {
    display: block;

    width: 100%;
    height: 100%;
    min-height: 430px;

    margin: 0;

    border: 0;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .didasko-contact-page {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .didasko-contact-map,
    .didasko-contact-map iframe {
        min-height: 400px;
    }
}


/* =========================================================
   TELEFON
   ========================================================= */

@media (max-width: 767.98px) {

    .didasko-contact-page {
        gap: 22px;
        margin-top: 0;
    }

    .didasko-contact-details {
        padding: 26px 22px;
    }

    .didasko-contact-heading {
        font-size: 22px;
    }

    .didasko-contact-list li {
        grid-template-columns: 27px minmax(0, 1fr);
        gap: 11px;

        font-size: 14px;
    }

    .didasko-contact-list li > span:first-child {
        width: 27px;
        font-size: 16px;
    }

    .didasko-contact-map,
    .didasko-contact-map iframe {
        min-height: 340px;
    }
}

/* =========================================================
   DIDASKO – CSS-031
   LEWA KOLUMNA STOPKI – MEDIA DIDASKO
   ========================================================= */

.didasko-footer-media {
    width: 270px;
    margin: 0 auto;
}


/* =========================================================
   TYTUŁ
   ========================================================= */

.didasko-footer-media-heading {
    margin-bottom: 28px;
    text-align: left;
}

.didasko-footer-media-title {
    color: #ffffff;

    font-size: 18px;
    font-weight: 700;
    line-height: 1.25;

    text-transform: none;
}

.didasko-footer-media-line {
    width: 58px;
    height: 2px;

    margin-top: 8px;

    background-color: #f26a3d;
}


/* =========================================================
   ZAWARTOŚĆ – LOGOTYPY
   ========================================================= */

.didasko-footer-media-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    width: 100%;

    /*
       Środek grupy logotypów ustawiony
       na wysokości środka panelu logowania.
    */
    padding-top: 72px;
}


/* =========================================================
   LOGO DIDASKO
   ========================================================= */

.didasko-footer-media-didasko {
    display: block;

    width: 250px;
    margin: 0 auto 30px;

    text-decoration: none;
}

.didasko-footer-media-didasko img {
    display: block;

    width: 100%;
    height: auto;

    margin: 0 auto;

    opacity: 0.92;

    transition:
        opacity 180ms ease,
        transform 180ms ease;
}

.didasko-footer-media-didasko:hover img {
    opacity: 1;
    transform: scale(1.025);
}


/* =========================================================
   FACEBOOK
   ========================================================= */

.didasko-footer-media-facebook {
    display: block;

    width: 250px;
    margin: 0 auto;

    text-decoration: none;
}

.didasko-footer-media-facebook img {
    display: block;

    width: 100%;
    height: auto;

    margin: 0 auto;

    opacity: 0.92;

    transition:
        opacity 180ms ease,
        transform 180ms ease;
}

.didasko-footer-media-facebook:hover img {
    opacity: 1;
    transform: scale(1.025);
}


/* =========================================================
   TELEFON
   ========================================================= */

@media (max-width: 767.98px) {

    .didasko-footer-media {
        width: 230px;
    }

    .didasko-footer-media-content {
        padding-top: 12px;
    }

    .didasko-footer-media-didasko,
    .didasko-footer-media-facebook {
        width: 215px;
    }

    .didasko-footer-media-didasko {
        margin-bottom: 24px;
    }
}

/* =========================================================
   DIDASKO – CSS-032
   Usunięcie szarej linii nad modułami stopki
   ========================================================= */

#sp-footer > .container > .container-inner {
    border-top: 0 !important;
    border-top-width: 0 !important;
    border-top-style: none !important;
    box-shadow: none !important;
}


/* =========================================================
   KONIEC – CSS-032
   ========================================================= */
   
 /* =========================================================
   DIDASKO – CSS-033
   GALERIA W PRAWEJ KOLUMNIE
   Wygląd + płynne przejście zdjęć
   ========================================================= */

.didasko-sidebar-gallery {
    position: relative;
    overflow: hidden;
}


/* =========================================================
   WSZYSTKIE ZDJĘCIA
   ========================================================= */

.didasko-sidebar-gallery .didasko-gallery-image {
    position: absolute;

    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    display: block !important;

    width: 100%;
    height: 100%;

    margin: 0;

    object-fit: cover;
    object-position: center;

    opacity: 0;

    transition:
        opacity 900ms ease-in-out;

    pointer-events: none;
}


/* =========================================================
   PIERWSZE ZDJĘCIE USTALA WYSOKOŚĆ GALERII
   ========================================================= */

.didasko-sidebar-gallery .didasko-gallery-image:first-child {
    position: relative;
}


/* =========================================================
   AKTYWNE ZDJĘCIE
   ========================================================= */

.didasko-sidebar-gallery .didasko-gallery-image.active {
    opacity: 1;

    z-index: 2;
}


/* =========================================================
   KONIEC – CSS-033
   ========================================================= */
   
   /* =========================================================
   DIDASKO – CSS-034
   NAJBLIŻSZE TERMINY – TYTUŁ PEŁNEGO ARTYKUŁU
   Pole "Termin rozpoczęcia" jako nagłówek artykułu
   ========================================================= */


/* Kontener pól – usunięcie wyglądu listy */

.didasko-article-main .fields-container {
    list-style: none !important;

    margin: 0 0 22px 0 !important;
    padding: 0 !important;
}


/* Termin rozpoczęcia jako główny tytuł */

.didasko-article-main .fields-container
.field-entry.termin-rozpoczecia {
    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;

    font-size: 30px !important;
    line-height: 1.2 !important;

    font-weight: 600 !important;

    color: #78aee8 !important;
}


/* Usunięcie znacznika listy */

.didasko-article-main .fields-container
.field-entry.termin-rozpoczecia::marker {
    content: "" !important;
}


/* =========================================================
   KONIEC – CSS-034
   ========================================================= */