/* =========================================================
   FIX: zbyt duże nagłówki H3 w treści artykułu na dole list
   (np. /kierunek/ -> "Top 15 kierunków...").
   Dlaczego: globalnie jest h3 { font-size: 48px; } i w CMS wygląda to jak „jebitne” nagłówki.
   Scope: tylko treść artykułu w `.section-main__article-bottom`, żeby nie ruszać reszty serwisu.
   ========================================================= */

.section-main__article-bottom #content h3 {
  font-size: 1.4rem;
  line-height: 1.3;
  margin: 18px 0 12px;
}

/* Ranking popularności kierunków - scoped to SEKCJA 212 markup. */
.ranking-popularnosci-page {
    --ranking-brand: #0E527D;
    --ranking-brand-dark: #0A3F60;
    --ranking-brand-soft: #E7F1F7;
    --ranking-accent: #D14B72;
    --ranking-text: #123047;
    --ranking-muted: #5F7488;
    --ranking-border: #D8E2EA;
    --ranking-card: rgba(255, 255, 255, 0.96);
    color: var(--ranking-text);
}

.ranking-popularnosci-page__hero {
    position: relative;
    overflow: hidden;
    margin: 0 0 30px;
    padding: 42px;
    border-radius: 28px;
    background:
        radial-gradient(circle at 87% 0%, rgba(255, 255, 255, 0.14) 0 150px, transparent 151px),
        radial-gradient(circle at 100% 100%, rgba(255, 255, 255, 0.09) 0 210px, transparent 211px),
        linear-gradient(135deg, var(--ranking-brand-dark) 0%, var(--ranking-brand) 58%, #1E6D99 100%);
    box-shadow: 0 22px 44px rgba(14, 82, 125, 0.24);
    color: #fff;
}

.ranking-popularnosci-page__hero::after {
    content: "";
    position: absolute;
    right: -92px;
    top: -105px;
    width: 340px;
    height: 340px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
}

.ranking-popularnosci-page__eyebrow,
.ranking-popularnosci-page__title,
.ranking-popularnosci-page__lead,
.ranking-popularnosci-page__stats {
    position: relative;
    z-index: 1;
}

.ranking-popularnosci-page__eyebrow {
    margin: 0 0 10px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ranking-popularnosci-page__title {
    max-width: 820px;
    margin: 0 0 14px;
    color: #fff;
    font-size: 40px;
    font-weight: 800;
    line-height: 1.15;
    text-transform: none;
}

.ranking-popularnosci-page__title strong {
    color: inherit;
    font-weight: 800;
}

.ranking-popularnosci-page__lead {
    max-width: 780px;
    margin: 0;
    color: rgba(255, 255, 255, 0.94);
    font-size: 17px;
    line-height: 1.65;
}

.ranking-popularnosci-page__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 30px;
}

.ranking-popularnosci-page__stat {
    padding: 20px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(8px);
}

.ranking-popularnosci-page__stat strong {
    display: block;
    margin-bottom: 8px;
    color: #fff;
    font-size: 28px;
    line-height: 1;
}

.ranking-popularnosci-page__stat span {
    display: block;
    color: rgba(255, 255, 255, 0.86);
    font-size: 14px;
    line-height: 1.4;
}

.ranking-popularnosci-page__ranking.container {
    padding-right: 0;
    padding-left: 0;
}

.ranking-popularnosci-page__filter {
    margin-right: 0;
    margin-left: 0;
    padding: 22px;
    border: 1px solid rgba(14, 82, 125, 0.1);
    border-radius: 22px;
    background: var(--ranking-card);
    box-shadow: 0 14px 30px rgba(14, 82, 125, 0.08);
}

.ranking-popularnosci-page__filter-grid {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
}

.ranking-popularnosci-page__filter-title {
    margin: 0;
    color: var(--ranking-text);
    font-size: 16px;
    font-weight: 800;
    line-height: 1.3;
}

.ranking-popularnosci-page__select {
    min-height: 48px;
    border: 1px solid #BDD0DD;
    border-radius: 14px;
    background-color: #fff;
    color: var(--ranking-text);
    font-size: 15px;
    box-shadow: inset 0 1px 2px rgba(14, 82, 125, 0.04);
}

.ranking-popularnosci-page__filter-hint {
    display: block;
    margin: 8px 0 0 238px;
    color: var(--ranking-muted);
    font-size: 14px;
    line-height: 1.5;
}

.ranking-popularnosci-page__clear-filter {
    border-color: var(--ranking-border);
    border-radius: 999px;
    color: var(--ranking-brand);
    font-weight: 700;
}

.ranking-popularnosci-page__city-nav {
    align-items: center;
    margin-right: 0;
    margin-left: 0;
    padding: 18px 20px;
    border: 1px solid rgba(14, 82, 125, 0.1);
    border-radius: 18px;
    background: #F4F8FB;
}

.ranking-popularnosci-page__city-nav > .col-sm-12:first-child {
    display: flex;
    align-items: center;
}

@media (min-width: 768px) {
    .ranking-popularnosci-page__city-nav > .col-sm-12:first-child {
        align-self: stretch;
    }
}

.ranking-popularnosci-page__city-nav-link {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    border-radius: 999px;
    background: var(--ranking-brand);
    color: #fff !important;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
}

.ranking-popularnosci-page__city-nav-link:hover,
.ranking-popularnosci-page__city-nav-link:focus {
    background: var(--ranking-brand-dark);
    color: #fff !important;
    text-decoration: none;
}

.ranking-popularnosci-page__city-nav-label {
    display: block;
    margin: 0 0 8px;
    color: var(--ranking-text);
    font-size: 13px;
    font-weight: 800;
}

.ranking-popularnosci-page__city-select {
    width: 100%;
}

.ranking-popularnosci-page__section-title {
    margin: 0 0 12px;
    padding: 4px 0 4px 16px;
    border-left: 5px solid var(--ranking-accent);
    color: var(--ranking-text);
    font-size: 26px;
    font-weight: 400;
    line-height: 1.25;
    text-transform: none;
}

.ranking-popularnosci-page__section-title strong {
    font-weight: 800;
}

.ranking-popularnosci-page__section-title span {
    display: block;
    margin-top: 4px;
    color: var(--ranking-muted);
    font-size: 14px;
    font-weight: 400;
    text-transform: none;
}

.ranking-popularnosci-page__section-lead {
    max-width: 760px;
    margin: 0 0 18px;
    color: var(--ranking-muted);
    font-size: 14px;
    line-height: 1.55;
}

.ranking-popularnosci-page__table-card,
.ranking-popularnosci-page .table-ranking-popularnosci {
    border: 1px solid rgba(14, 82, 125, 0.1);
    border-radius: 22px;
    background: var(--ranking-card);
    box-shadow: 0 16px 34px rgba(14, 82, 125, 0.1);
}

.ranking-popularnosci-page__table,
.ranking-popularnosci-page .table-ranking-popularnosci table {
    min-width: 820px;
    border-collapse: collapse;
}

.ranking-popularnosci-page__table thead,
.ranking-popularnosci-page .table-ranking-popularnosci thead {
    background: linear-gradient(180deg, #F8FBFD 0%, #EEF5F9 100%);
}

.ranking-popularnosci-page__table th,
.ranking-popularnosci-page .table-ranking-popularnosci th {
    padding: 16px;
    border-bottom: 1px solid var(--ranking-border);
    color: #475569;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
}

.ranking-popularnosci-page__table td,
.ranking-popularnosci-page .table-ranking-popularnosci td {
    padding: 16px;
    border-bottom: 1px solid #EDF2F7;
    color: var(--ranking-text);
    font-size: 15px;
    vertical-align: middle;
}

.ranking-popularnosci-page__table tbody tr:hover,
.ranking-popularnosci-page .table-ranking-popularnosci tbody tr:hover {
    background: #F8FBFD;
}

.ranking-popularnosci-page__place {
    width: 92px;
}

.ranking-popularnosci-page__place span {
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--ranking-brand-soft);
    color: var(--ranking-brand);
    font-size: 15px;
    font-weight: 800;
}

.ranking-popularnosci-page__score {
    color: var(--ranking-brand) !important;
    font-weight: 800;
    white-space: nowrap;
}

.ranking-popularnosci-page__school {
    min-width: 0;
}

.ranking-popularnosci-page__school-link {
    display: flex;
    width: 100%;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.ranking-popularnosci-page__school-name {
    min-width: 0;
    flex: 1 1 auto;
    overflow-wrap: anywhere;
}

.ranking-popularnosci-page__school-logo {
    flex: 0 0 auto;
    max-width: 104px;
    max-height: 48px;
    object-fit: contain;
}

.ranking-popularnosci-page__mobile-cell {
    display: none;
}

.ranking-popularnosci-page__mobile-list {
    display: none;
}

.ranking-popularnosci-page__direction a,
.ranking-popularnosci-page__school a {
    color: var(--ranking-brand);
    font-weight: 700;
    text-decoration: none;
}

.ranking-popularnosci-page__direction a:hover,
.ranking-popularnosci-page__school a:hover {
    color: var(--ranking-brand-dark);
    text-decoration: underline;
}

.ranking-popularnosci-page__row--top-1 .ranking-popularnosci-page__place span {
    background: #FFF2C6;
    color: #8A6100;
}

.ranking-popularnosci-page__row--top-2 .ranking-popularnosci-page__place span {
    background: #EEF2F7;
    color: #475569;
}

.ranking-popularnosci-page__row--top-3 .ranking-popularnosci-page__place span {
    background: #FFE6D8;
    color: #A44919;
}

.ranking-popularnosci-page__more {
    display: flex;
    justify-content: center;
    padding: 20px;
    border: 1px solid rgba(14, 82, 125, 0.1);
    border-top: 0;
    border-radius: 0 0 22px 22px;
    background: #FBFDFF;
}

.ranking-popularnosci-page__more-button {
    border: 0;
    border-radius: 999px;
    background: var(--ranking-brand) !important;
    box-shadow: 0 8px 18px rgba(15, 92, 131, 0.24);
    font-weight: 800;
    padding: 12px 22px;
}

.ranking-popularnosci-page__more-button:hover,
.ranking-popularnosci-page__more-button:focus {
    background: var(--ranking-brand-dark) !important;
    color: #fff;
}

.ranking-popularnosci-page__pagination-wrap {
    margin-top: 4px;
}

.ranking-popularnosci-page__pagination-summary {
    margin: 0 0 12px;
    color: var(--ranking-muted);
    font-size: 14px;
    font-weight: 700;
    scroll-margin-top: 160px;
}

.ranking-popularnosci-page__table-card[aria-busy="true"] {
    opacity: 0.68;
}

.ranking-popularnosci-page__pagination-status {
    min-height: 22px;
    margin: 10px 0 0;
    color: var(--ranking-muted);
    font-size: 14px;
}

.ranking-popularnosci-page__pagination {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: center;
    padding: 18px 0 0;
}

.ranking-popularnosci-page__pagination-numbers,
.ranking-popularnosci-page__pagination-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    width: 100%;
}

.ranking-popularnosci-page__pagination-nav {
    gap: 12px;
}

.ranking-popularnosci-page__pagination-link,
.ranking-popularnosci-page__pagination-ellipsis {
    display: inline-flex;
    min-width: 40px;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    border: 1px solid var(--ranking-border);
    border-radius: 999px;
    background: #fff;
    color: var(--ranking-brand);
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
}

.ranking-popularnosci-page__pagination-link:hover,
.ranking-popularnosci-page__pagination-link:focus {
    border-color: #BFD5E4;
    background: var(--ranking-brand-soft);
    color: var(--ranking-brand-dark);
    text-decoration: none;
}

.ranking-popularnosci-page__pagination-link.is-active {
    border-color: var(--ranking-brand);
    background: var(--ranking-brand);
    color: #fff;
}

.ranking-popularnosci-page__pagination-link.is-disabled,
.ranking-popularnosci-page__pagination-wrap.is-loading .ranking-popularnosci-page__pagination-link {
    pointer-events: none;
    opacity: 0.48;
}

.ranking-popularnosci-page__pagination-ellipsis {
    border-color: transparent;
    background: transparent;
    color: var(--ranking-muted);
}

.ranking-popularnosci-page__empty {
    padding: 22px !important;
    text-align: center;
    color: var(--ranking-muted) !important;
    font-weight: 700;
}

.ranking-popularnosci-page a:focus,
.ranking-popularnosci-page button:focus,
.ranking-popularnosci-page select:focus {
    outline: 3px solid rgba(209, 75, 114, 0.45);
    outline-offset: 3px;
}

.ranking-popularnosci-page__cities {
    margin: 46px 0 56px;
}

.ranking-popularnosci-page__cities-title {
    margin: 0 0 20px;
    color: var(--ranking-text);
    font-size: 30px;
    font-weight: 800;
    line-height: 1.2;
}

.ranking-popularnosci-page__city-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.ranking-popularnosci-page__city-grid a {
    position: relative;
    display: flex;
    min-height: 54px;
    align-items: center;
    justify-content: space-between;
    padding: 0 18px;
    overflow: hidden;
    border: 1px solid #DBE7EF;
    border-radius: 14px;
    background: #F4F8FB;
    color: var(--ranking-brand);
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease, color 0.2s ease;
}

.ranking-popularnosci-page__city-grid a::after {
    content: "›";
    margin-left: auto;
    font-size: 24px;
    line-height: 1;
    opacity: 0.7;
    transition: transform 0.22s ease, opacity 0.22s ease;
}

.ranking-popularnosci-page__city-grid a:hover,
.ranking-popularnosci-page__city-grid a:focus {
    border-color: #BFD5E4;
    background: #EAF3F9;
    color: var(--ranking-brand-dark);
    text-decoration: none;
    transform: translateY(-1px);
}

.ranking-popularnosci-page__archive-label {
    margin: 0 0 12px;
    color: var(--ranking-accent);
    font-size: 22px;
    font-weight: 800;
}

.ranking-popularnosci-page__latest-cta {
    display: block;
    max-width: 720px;
    min-height: 108px;
    margin: 0 auto 32px;
    padding: 24px 28px;
    border: 1px solid rgba(14, 82, 125, 0.16);
    border-radius: 22px;
    background: linear-gradient(180deg, #F7FBFD 0%, #EEF6FB 100%);
    box-shadow: 0 14px 30px rgba(14, 82, 125, 0.10);
    color: var(--ranking-text);
    text-align: left;
    text-decoration: none;
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.ranking-popularnosci-page__latest-cta:hover,
.ranking-popularnosci-page__latest-cta:focus-visible {
    border-color: rgba(14, 82, 125, 0.28);
    background: linear-gradient(180deg, #FFFFFF 0%, #EAF4FA 100%);
    box-shadow: 0 18px 36px rgba(14, 82, 125, 0.14);
    color: var(--ranking-text);
    text-decoration: none;
    transform: translateY(-1px);
}

.ranking-popularnosci-page__latest-cta-label {
    display: inline-flex;
    margin-bottom: 8px;
    color: var(--ranking-muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.ranking-popularnosci-page__latest-cta-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    color: var(--ranking-brand);
    font-size: 21px;
    font-weight: 800;
    line-height: 1.3;
    text-decoration: none;
}

.ranking-popularnosci-page__latest-cta:hover .ranking-popularnosci-page__latest-cta-link,
.ranking-popularnosci-page__latest-cta:focus-visible .ranking-popularnosci-page__latest-cta-link {
    color: var(--ranking-brand-dark);
}

.ranking-popularnosci-page__latest-cta-arrow {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: var(--ranking-brand);
    color: #FFFFFF;
    font-size: 23px;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 10px 18px rgba(14, 82, 125, 0.18);
    transition: transform 0.2s ease, background 0.2s ease;
}

.ranking-popularnosci-page__latest-cta:hover .ranking-popularnosci-page__latest-cta-arrow,
.ranking-popularnosci-page__latest-cta:focus-visible .ranking-popularnosci-page__latest-cta-arrow {
    background: var(--ranking-brand-dark);
    transform: translateX(4px);
}

@media (max-width: 900px) {
    .ranking-popularnosci-page__hero {
        padding: 32px 24px;
        border-radius: 22px;
    }

    .ranking-popularnosci-page__title {
        font-size: 30px;
    }

    .ranking-popularnosci-page__stats {
        grid-template-columns: 1fr;
    }

    .ranking-popularnosci-page__filter-grid {
        grid-template-columns: 1fr;
    }

    .ranking-popularnosci-page__filter-hint {
        margin-left: 0;
    }

    .ranking-popularnosci-page__city-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991px) {
    .ranking-popularnosci-page__pagination-wrap,
    .ranking-popularnosci-page__ranking .row,
    .ranking-popularnosci-page__ranking [class*="col-"] {
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }

    .ranking-popularnosci-page__desktop-table-wrap {
        display: none !important;
    }

    .ranking-popularnosci-page__mobile-list {
        display: grid;
        width: 100%;
        max-width: 720px;
        margin-inline: auto;
        box-sizing: border-box;
        gap: 10px;
    }

    .ranking-popularnosci-page__table-card--paginated {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        overflow-x: visible;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .ranking-popularnosci-page__table-card--paginated .ranking-popularnosci-page__table {
        display: block;
        width: 100% !important;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        table-layout: fixed;
    }

    .ranking-popularnosci-page__table-card--paginated thead {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        overflow: hidden;
        border: 0;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
    }

    .ranking-popularnosci-page__table-card--paginated tbody,
    .ranking-popularnosci-page__table-card--paginated .ranking-popularnosci-page__row {
        display: block;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .ranking-popularnosci-page__table-card--paginated .ranking-popularnosci-page__row {
        background: transparent;
    }

    .ranking-popularnosci-page__table-card--paginated .ranking-popularnosci-page__row:hover {
        background: transparent;
    }

    .ranking-popularnosci-page__table-card--paginated .ranking-popularnosci-page__desktop-cell {
        display: none;
    }

    .ranking-popularnosci-page__table-card--paginated .ranking-popularnosci-page__mobile-cell {
        display: block;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        padding: 0 0 10px;
        border: 0;
        background: transparent !important;
        color: var(--ranking-text);
    }

    .ranking-popularnosci-page__mobile-rank-card {
        display: grid;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        grid-template-columns: 42px 56px minmax(0, 1fr);
        gap: 10px;
        align-items: center;
        padding: 12px;
        border: 1px solid rgba(14, 82, 125, 0.12);
        border-radius: 16px;
        background: #fff;
        box-shadow: 0 8px 18px rgba(14, 82, 125, 0.08);
    }

    .ranking-popularnosci-page__mobile-rank-card--has-logo {
        grid-template-columns: 42px 56px minmax(0, 1fr) 58px;
    }

    .ranking-popularnosci-page__mobile-main {
        min-width: 0;
    }

    .ranking-popularnosci-page__mobile-place span {
        display: inline-flex;
        width: 34px;
        height: 34px;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: var(--ranking-brand-soft);
        color: var(--ranking-brand);
        font-size: 14px;
        font-weight: 800;
    }

    .ranking-popularnosci-page__row--top-1 .ranking-popularnosci-page__mobile-place span,
    .ranking-popularnosci-page__mobile-rank-card--top-1 .ranking-popularnosci-page__mobile-place span {
        background: #FFF2C6;
        color: #8A6100;
    }

    .ranking-popularnosci-page__row--top-2 .ranking-popularnosci-page__mobile-place span,
    .ranking-popularnosci-page__mobile-rank-card--top-2 .ranking-popularnosci-page__mobile-place span {
        background: #EEF2F7;
        color: #475569;
    }

    .ranking-popularnosci-page__row--top-3 .ranking-popularnosci-page__mobile-place span,
    .ranking-popularnosci-page__mobile-rank-card--top-3 .ranking-popularnosci-page__mobile-place span {
        background: #FFE6D8;
        color: #A44919;
    }

    .ranking-popularnosci-page__mobile-score span {
        display: block;
        color: var(--ranking-muted);
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.04em;
        line-height: 1;
        text-transform: uppercase;
    }

    .ranking-popularnosci-page__mobile-score strong {
        display: block;
        margin-top: 4px;
        color: var(--ranking-brand);
        font-size: 15px;
        line-height: 1.1;
    }

    .ranking-popularnosci-page__mobile-direction a,
    .ranking-popularnosci-page__mobile-school,
    .ranking-popularnosci-page__mobile-school a {
        min-width: 0;
        overflow-wrap: anywhere;
        white-space: normal;
    }

    .ranking-popularnosci-page__mobile-direction a {
        color: var(--ranking-brand);
        font-size: 14px;
        font-weight: 800;
        line-height: 1.25;
        text-decoration: none;
    }

    .ranking-popularnosci-page__mobile-school,
    .ranking-popularnosci-page__mobile-school a {
        margin-top: 4px;
        color: var(--ranking-text);
        font-size: 12px;
        font-weight: 400;
        line-height: 1.3;
        text-decoration: none;
    }

    .ranking-popularnosci-page__mobile-logo {
        justify-self: end;
    }

    .ranking-popularnosci-page__mobile-logo img {
        display: block;
        max-width: 54px;
        max-height: 36px;
        object-fit: contain;
    }

    .ranking-popularnosci-page__mobile-school a {
        color: var(--ranking-brand);
        font-weight: 600;
        text-decoration: underline;
    }

    .ranking-popularnosci-page__mobile-school a:hover,
    .ranking-popularnosci-page__mobile-school a:focus-visible {
        text-decoration: underline;
    }
}

@media (max-width: 520px) {
    .ranking-popularnosci-page__hero {
        margin-bottom: 22px;
        padding: 28px 20px;
    }

    .ranking-popularnosci-page__title {
        font-size: 26px;
    }

    .ranking-popularnosci-page__lead {
        font-size: 15px;
    }

    .ranking-popularnosci-page__filter {
        padding: 18px;
        border-radius: 18px;
    }

    .ranking-popularnosci-page__latest-cta {
        margin-bottom: 22px;
        min-height: 0;
        padding: 18px;
        border-radius: 16px;
    }

    .ranking-popularnosci-page__latest-cta-link {
        gap: 12px;
        font-size: 17px;
    }

    .ranking-popularnosci-page__latest-cta-arrow {
        width: 36px;
        height: 36px;
        font-size: 20px;
    }

    .ranking-popularnosci-page__section-title {
        font-size: 22px;
    }

    .ranking-popularnosci-page__pagination {
        display: grid;
        gap: 10px;
        justify-items: center;
        padding-top: 14px;
    }

    .ranking-popularnosci-page__pagination-numbers,
    .ranking-popularnosci-page__pagination-nav {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        justify-content: center;
        width: 100%;
    }

    .ranking-popularnosci-page__pagination-nav {
        gap: 10px;
    }

    .ranking-popularnosci-page__pagination-link,
    .ranking-popularnosci-page__pagination-ellipsis {
        min-width: 36px;
        min-height: 36px;
        padding: 0 10px;
        font-size: 13px;
    }

    .ranking-popularnosci-page__mobile-rank-card {
        grid-template-columns: 38px 52px minmax(0, 1fr);
        gap: 8px;
        padding: 10px;
    }

    .ranking-popularnosci-page__mobile-rank-card--has-logo {
        grid-template-columns: 38px 52px minmax(0, 1fr) 48px;
    }

    .ranking-popularnosci-page__mobile-logo img {
        max-width: 46px;
        max-height: 32px;
    }

    .ranking-popularnosci-page__cities-title {
        font-size: 24px;
    }

    .ranking-popularnosci-page__city-grid {
        grid-template-columns: 1fr;
    }
}

/* Dni otwarte: lokalny scope dla nagłówków w treści artykułu pod listą,
   aby nie dziedziczyły globalnego h3=48px */
.dni-otwarte-article-content h3 {
  font-size: 1.45rem;
  line-height: 1.35;
  margin: 18px 0 10px;
  font-weight: 600;
}

.dni-otwarte-article-content p {
  text-align: justify;
  text-indent: 2em;
  margin-bottom: 1rem;
  line-height: 1.7;
}

@media (max-width: 768px) {
  .dni-otwarte-article-content h3 {
    font-size: 1.2rem;
    line-height: 1.35;
    margin: 14px 0 8px;
  }

  .dni-otwarte-article-content p {
    text-indent: 1.2em;
    line-height: 1.65;
  }
}

/* Wyrównanie treści do headera:
   niektóre szablony mają inline `margin-left: 20px` na `.title_bg`,
   co „wcina” header w prawo i psuje optyczne wyrównanie z treścią. */
.section-main__article-bottom .article__header .title_bg {
  margin-left: 0 !important;
}

/* Wyśrodkowanie treści (miasto publiczne/prywatne)
   - w CMS trafiają obrazy bez `text-center`, więc trzeba je “zblokować” i dać `margin:auto` */
.section-main__article-bottom #content {
  float: none !important;
  width: 100% !important;
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: block !important;
}

/* Ujednolicenie szerokości i krawędzi headera z treścią */
.section-main__article-bottom .article__header {
  float: none !important;
  width: 100% !important;
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: block !important;
}

.section-main__article-bottom .article__header > .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.section-main__article-bottom .article__header > .row > [class*="col-"] {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.section-main__article-bottom #content img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.section-main__article-bottom #content .row > .col-sm-12 > div[style*="text-align:center"][style*="width:"] {
  margin-left: auto !important;
  margin-right: auto !important;
}

.section-main__article-bottom #content .row > .col-sm-12 > div[style*="text-align: center"][style*="width:"] {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Lekko zaokrąglone rogi dla zdjęć w tym samym centrowanym bloku */
.section-main__article-bottom #content .row > .col-sm-12 > div[style*="text-align:center"][style*="width:"] img {
  border-radius: 12px;
}

.section-main__article-bottom #content .row > .col-sm-12 > div[style*="text-align: center"][style*="width:"] img {
  border-radius: 12px;
}

.section-main__article-bottom #content iframe {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* Google Fonts wyłączone – unikamy błędów "download failed" (gstatic). Stos systemowy jako fallback. */
/* @import url(https://fonts.googleapis.com/css?family=Roboto:400,100,300,500,700,900); */
/* @import url(https://fonts.googleapis.com/css?family=Poppins:300,400,500,700&subset=latin-ext); */

/* Fallback czcionek bez pobierania z zewnątrz */
body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

@-webkit-keyframes Gradient {

    0%,
    to {
        background-position: 0 50%
    }

    50% {
        background-position: 100% 50%
    }
}

@-moz-keyframes Gradient {

    0%,
    to {
        background-position: 0 50%
    }

    50% {
        background-position: 100% 50%
    }
}

@keyframes Gradient {

    0%,
    to {
        background-position: 0 50%
    }

    50% {
        background-position: 100% 50%
    }
}

@font-face {
    font-family: 'icomoon';
    font-display: swap;
    src: url(../fonts/icomoon.eot);
    src: url(../fonts/icomoon.eot#iefix) format("embedded-opentype"), url(../fonts/icomoon.ttf) format("truetype"), url(../fonts/icomoon.woff) format("woff"), url(../fonts/icomoon.svg#icomoon) format("svg");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'BebasNeue';
    font-display: swap;
    src: url(../fonts/BebasNeue_Bold.ttf);
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'BebasNeue_Book';
    font-display: swap;
    src: url(../fonts/BebasNeue_Book.ttf);
}

[class*=" icon-"],
[class^=icon-] {
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.icon-checkmark:before {
    content: "\ea10"
}

.icon-keyboard_arrow_down2:before {
    content: "\e900"
}

.d-kreska:before {
    content: "";
    position: absolute;
    height: 5px;
    left: 0;
    top: 50%;
    border-top: 7px solid #027396;
    width: 100%
}

.d-line-pad-h {
    padding: 2rem;
    position: relative;
    z-index: 999;
    background: #fff
}

.icon-facebook:before {
    content: "\ea90"
}

.icon-instagram:before {
    content: "\ea92"
}

.icon-twitter:before {
    content: "\ea96"
}

.icon-youtube:before {
    content: "\ea9d"
}

.icon-pinterest:before {
    content: "\ead1"
}

.icon-search:before {
    content: "\e901"
}

.artykul,
.prezentacja {
    width: 99%;
    box-sizing: border-box
}

.prezentacja {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
}

/* Dla szkół językowych - prezentacja powinna być w pełnej szerokości kontenera */
.szkoly-jezykowe-container .prezentacja {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0 0 25px;
    padding: 0;
    letter-spacing: 0;
    font-weight: 400
}

h1 {
    font-size: 70px;
    line-height: 70px
}

h2 {
    font-size: 55px;
    line-height: 60px
}

h3 {
    font-size: 48px;
    line-height: 54px
}

h4 {
    font-size: 40px;
    line-height: 46px
}

h5 {
    font-size: 32px;
    line-height: 40px
}

h6 {
    font-size: 25px;
    line-height: 30px
}

/* Domyślna czcionka treści artykułów – wymuszamy Arial,
   żeby nie ładowały się „ich” fonty z podstron źródłowych. */
.article-body,
.article-body--raw {
    font-family: Arial !important;
}

/* Nowy format artykułów – wewnątrz article-body:
   - NIE dotykamy w ogóle font-family (wszystko z HTML / inline),
   - zdejmujemy tylko globalne rozmiary / marginesy nagłówków, żeby nie były 55px itd. */
.article-body h1,
.article-body h2,
.article-body h3,
.article-body h4,
.article-body h5,
.article-body h6,
.article-body--raw h1,
.article-body--raw h2,
.article-body--raw h3,
.article-body--raw h4,
.article-body--raw h5,
.article-body--raw h6 {
    font-size: revert;
    font-weight: revert;
    line-height: revert;
    margin: revert;
}

/* Mobile: treść artykułu od razu z fontem systemowym – krótszy LCP element render delay
   (nadpisujemy inline font-family z edytora/CMS bez pobierania zewnętrznych fontów). */
@media (max-width: 768px) {
    .article-body,
    .article-body--raw,
    .artykul .artykul_tresc {
        font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    }

    .article-body p,
    .article-body li,
    .article-body td,
    .article-body th,
    .article-body blockquote,
    .article-body--raw p,
    .article-body--raw li,
    .article-body--raw td,
    .article-body--raw th,
    .article-body--raw blockquote,
    .article-body--raw div,
    .article-body--raw span:not([class*="icon-"]):not([class^="icon-"]):not(.material-icons),
    .article-body--raw a,
    .artykul .artykul_tresc p,
    .artykul .artykul_tresc li,
    .artykul .artykul_tresc td,
    .artykul .artykul_tresc th,
    .artykul .artykul_tresc blockquote,
    .artykul .artykul_tresc div,
    .artykul .artykul_tresc span:not([class*="icon-"]):not([class^="icon-"]):not(.material-icons),
    .artykul .artykul_tresc a,
    .artykul .artykul_tresc .m-auto {
        font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    }

    .article-body span:not([class*="icon-"]):not([class^="icon-"]):not(.material-icons),
    .article-body a {
        font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    }
}

.open_day__border {
    border-color: #ccc !important;
}

.container {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    clear: both;
    padding: 0 !important;
}

.container-fluid {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    padding-right: 15px;
    padding-left: 15px;
}

.no-margin {
    margin: 0 !important;
}

@media (max-width: 37.5em) {
    .xs-no-padding-right {
        padding-right: 0
    }

    .xs-no-padding-bottom {
        padding-bottom: 0
    }
}

@media (min-width: 37.5em) and (max-width:49.8em) {
    .no-padding-sm-up {
        padding: 0 !important
    }
}

.no-padding {
    padding: 0 !important
}

.container-level-one {
    max-width: 1170px
}

@media (min-width: 1250px) and (max-width:1500px) {
    .container-level-one {
        max-width: 950px
    }
}

.container-level-second {
    max-width: 1200px
}

.container-level-three {
    max-width: 1350px;
    margin-left: auto !important;
    margin-right: auto !important;
}

@media (max-width: 1250px) {
    .container-level-three {
        padding-left: 15px !important;
        padding-right: 15px !important
    }
}

@media (min-width: 1250px) and (max-width:1500px) {
    .container-level-three {
        max-width: 950px
    }
}

.clearfix,
.pagination {
    clear: both
}

.line-height-0 {
    line-height: 0
}

.line-height-54 {
    line-height: 54px
}

.title-small {
    font-size: 36px;
    line-height: 36px
}

@media (max-width: 768px) {
    .title-small {
        font-size: 24px;
        line-height: 28px
    }
}

.text-black,
a.text-link-black,
a.text-link-black i,
ul.social-icon-navbar li a {
    color: #000
}

.bg-dark-blue {
    background-color: #0d537e
}

.bg-dark-blue-important {
    background-color: #0d537e !important
}

.text-extra-dark-gray {
    color: #232323
}

.text-blue-light {
    color: #236289
}

.text-transparent {
    color: transparent
}

.text-borgundy {
    /* color: #b63549
     */
    color: #008000;
}

.text-font-BebasNeue_Boo {
    font-family: 'BebasNeue_Boo'
}

.text-uppercase {
    text-transform: uppercase
}

a.text-extra-dark-gray-hover:hover,
header nav.navbar .navbar-nav>li>a,
header.sticky nav.navbar-fixed-top.header-light-transparent.white-link .header-searchbar a,
header.sticky nav.navbar-fixed-top.header-light-transparent.white-link .header-social-icon a,
header.sticky nav.navbar-fixed-top.header-light-transparent.white-link .navbar-nav>li>a,
header.sticky nav.navbar-fixed-top.header-light.white-link .header-menu-button a,
header.sticky nav.navbar-fixed-top.header-light.white-link .header-searchbar a,
header.sticky nav.navbar-fixed-top.header-light.white-link .header-social-icon a,
header.sticky nav.navbar-fixed-top.header-light.white-link .navbar-nav>li>a,
nav.navbar ul.nav>li>a {
    color: #232323
}

.font-weight-500 {
    font-weight: 500
}

.line-height-normal {
    line-height: normal
}

.line-height-20 {
    line-height: 20px
}

.line-height-30 {
    line-height: 30px
}

.line-height-40 {
    line-height: 40px
}

section {
    /* padding: 130px 0; */
    overflow: visible;
}

.opacity9 {
    opacity: .9
}

.opacity10 {
    opacity: 1 !important
}

.z-index-1111 {
    z-index: 1111
}

.z-index-1000 {
    z-index: 1000
}

.vertical-align-middle {
    vertical-align: middle !important
}

.vertical-align-top {
    vertical-align: top
}

.vertical-align-bottom {
    vertical-align: bottom
}

.header-searchbar *,
.header-social-icon *,
.mfp-container *,
.no-transition *,
.parallax,
.portfolio-grid *,
.rev-slider *,
.skillbar-bar-main *,
.swiper-container * {
    -moz-transition-timing-function: none;
    -webkit-transition-timing-function: none;
    -o-transition-timing-function: none;
    -ms-transition-timing-function: none;
    transition-duration: 0s;
    -moz-transition-duration: 0s;
    -webkit-transition-duration: 0s;
    -o-transition-duration: 0s;
    -ms-transition-duration: 0s
}

/* .btn {
    display: inline-block;
    border: 2px solid transparent;
    letter-spacing: .5px;
    line-height: inherit;
    border-radius: 0;
    text-transform: uppercase;
    width: auto;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    transition-duration: .3s;
    transition-timing-function: ease-in-out
} */

.border-bottom {
    border-bottom: 1px solid
}

.border-left {
    border-left: 1px solid
}

.margin-five-top {
    margin-top: 5%
}

.margin-10px-top {
    margin-top: 10px
}

.margin-five-bottom {
    margin-bottom: 5%
}

.margin-5px-bottom {
    margin-bottom: 5px
}

.margin-20px-bottom {
    margin-bottom: 20px
}

.margin-two-bottom {
    margin-bottom: 2%
}

.margin-two-half-bottom {
    margin-bottom: 2.5%
}

.margin-three-bottom {
    margin-bottom: 3%
}

.no-padding {
    padding: 0 !important
}

.no-padding-tb,
.no-padding-top {
    padding-top: 0 !important
}

.no-padding-right {
    padding-right: 0 !important
}

.padding-15px-lr {
    padding-left: 15px;
    padding-right: 15px;
}

.department__item:hover p,
.padding-15px-all {
    padding: 15px
}

.padding-two-top {
    padding-top: 2%
}

.padding-five-top {
    padding-top: 5%
}

.padding-nine-top {
    padding-top: 9%
}

.padding-seventeen-top {
    padding-top: 17%
}

.padding-ten-top {
    padding-top: 10%
}

.padding-two-bottom {
    padding-bottom: 2%;
    overflow: hidden;
}

.padding-two-half-bottom {
    padding-bottom: 2.5%
}

.padding-three-bottom {
    padding-bottom: 3%
}

#student_life .student-life-item img,
.padding-15px-bottom {
    padding-bottom: 15px
}

.display-block {
    display: block !important
}

.presentation-table-modal .resultList_title img,
#presentation .resultList_title img,
#resultList .resultList_title img,
.width-80px {
    width: 80px
}

.width-100,
body {
    width: 100%
}

.width-auto {
    width: auto
}

body {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif
}

.header-main {
    color: #fff;
    background-color: #0d537e;
    background-size: 400% 400%;
    -webkit-animation: Gradient 15s ease infinite;
    -moz-animation: Gradient 15s ease infinite;
    animation: Gradient 15s ease infinite;
    /* sticky + top:0 — nagłówek w flow (bez CLS jak przy fixed). Nie dodawać padding-top na body pod offset — to daje białą smugę nad paskiem. */
    position: sticky;
    top: 0;
    left: auto;
    width: 100%;
    z-index: 1100;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

@media (max-width: 37.5em) {
    .header-main .navbar {
        padding-right: 0
    }

    .header-main #navbarResponsive {
        display: none
    }
}

header nav.navbar ul.nav.white-link>li>a,
header nav.navbar ul.navbar-nav.white-link>li>a,
header nav.navbar.white-link .header-searchbar a,
header nav.navbar.white-link .header-social-icon a,
header nav.navbar.white-link .navbar-nav>li>a,
nav.navbar.white-link .header-searchbar a,
nav.navbar.white-link .header-social-icon a,
nav.navbar.white-link .heder-menu-button a,
nav.navbar.white-link ul.nav>li>a {
    color: #fff !important
}

header a.logo {
    display: inline-block;
    vertical-align: middle
}

header a.logo img {
    max-width: 200px
}

@media (max-width: 37.5em) {
    header a.logo img {
        max-width: 150px
    }
}

@media (max-width: 37.5em) {
    nav.navbar .dropdown-menu {
        border-radius: 0
    }
}

header.sticky .navbar-scroll-fixed-top {
    position: fixed;
    top: 0;
    width: 100%;
    left: 0;
    transition-duration: .3s;
    -webkit-transition-duration: .3s;
    -moz-transition-duration: .3s;
    -ms-transition-duration: .3s;
    -o-transition-duration: .3s
}

header.sticky .navbar-scroll-top {
    position: fixed;
    top: -120px;
    width: 100%;
    left: 0;
    transition-duration: 0s;
    -webkit-transition-duration: 0s;
    -moz-transition-duration: 0s;
    -ms-transition-duration: 0s;
    -o-transition-duration: 0s
}

.sticky.header-appear .navbar-top,
header.sticky.header-appear .navbar-scroll-top {
    top: 0;
    transition-duration: .3s;
    -webkit-transition-duration: .3s;
    -moz-transition-duration: .3s;
    -ms-transition-duration: .3s;
    -o-transition-duration: .3s
}

ul.social-icon-navbar {
    display: flex;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
    margin-top: 1px
}

ul.social-icon-navbar li {
    height: 24px;
    padding: 6px;
    margin: 5px
}

@media (max-width: 37.5em) {
    ul.social-icon-navbar li {
        padding: 6px 1px
    }
}

#reviews a:hover,
ul.social-icon-navbar li a:hover {
    text-decoration: none
}

ul.social-icon-navbar i,
ul.social-icon-navbar span {
    background: #fff;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-size: 200% 200%
}

.nic-menu {
    padding: 0 1rem .5rem;
    background-color: #fff
}

.nic-menu .nav-item strong {
    font-weight: 400;
    display: block;
    margin: .5rem 0;
    color: #212529;
    border-bottom: 1px solid rgba(0, 0, 0, .75)
}

.nic-menu .nav-item .nav-link {
    padding: .3rem 0;
    color: #212529
}

.nic-menu-xs {
    width: 440px
}

@media (max-width: 37.5em) {
    .nic-menu-xs {
        width: 100%
    }
}

.nic-menu-sm {
    width: 540px
}

.nic-menu-md {
    width: 720px
}

.nic-menu-lg {
    width: 860px
}

.nic-menu-xl {
    width: 1140px
}

.nic-menu-mega {
    width: 1400px
}

@media (max-width: 960px) {

    .nic-menu-lg,
    .nic-menu-md,
    .nic-menu-mega,
    .nic-menu-sm,
    .nic-menu-xl {
        width: 100% !important
    }
}

#home {
    height: 60vh;
    background-position-y: -40vh;
    overflow: visible;
    padding-top: 2% !important
}

@media (max-width: 37.5em) {
    #home {
        height: 600px;
        background-position-y: inherit
    }
}

@media (min-width: 37.5em) and (max-width:49.8em) {
    #home {
        height: 600px;
        background-position-y: inherit
    }
}

@media (min-width: 64em) and (max-width:69em) {
    #home {
        height: 600px;
        background-position-y: inherit
    }
}

@media (min-width: 1200px) and (max-width:1500px) and (min-height:900px) {
    #home {
        background-position-y: -20vh
    }
}

/* #home .btn:hover {
    color: #fff;
    border-color: rgba(13, 83, 126, .85)
} */

#home::before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, .1)
}

@media (max-width: 37.5em) {
    #home .slider-text-middle {
        padding-top: 15%
    }

    #home .slider-text-middle span {
        font-size: 2rem
    }
}

@media (min-width: 37.5em) and (max-width:49.8em) {
    #home .slider-text-middle {
        padding-top: 7%
    }

    #home .slider-text-middle span {
        font-size: 2.5rem
    }
}

@media (min-width: 64em) and (max-width:69em) {
    #home .slider-text-middle {
        padding-top: 7%
    }

    #home .slider-text-middle span {
        font-size: 2.5rem
    }
}

#home .slider-home-search .search-input {
    border-radius: 0;
    background-color: rgba(0, 0, 0, .65);
    border: 0;
    color: #fff;
    display: inline-block;
    width: 300px
}

#home .slider-home-search .search-select-input {
    background-color: rgba(13, 83, 126, .85);
    padding: 0 .3rem;
    cursor: pointer
}

#home .slider-home-search .search-select-input span {
    color: #fff;
    font-size: 2.6rem;
    top: 3px;
    position: relative
}

#home .slider-home-search .search-button {
    background-color: rgba(13, 83, 126, .85);
    font-size: 1.38rem
}

@media (max-width: 37.5em) {
    #home .slider-home-search {
        margin-top: 2%;
        bottom: 12%;
        width: 100%
    }

    #home .slider-home-search .form-group {
        justify-content: center
    }

    #home .slider-home-search .form-inline {
        margin: 0 auto;
        justify-content: center !important
    }

    #home .slider-home-search input.search-input {
        width: 70vw;
        display: inline-block
    }

    #home .slider-home-search .input-group-append {
        display: inline-block
    }

    #home .slider-home-search .search-button {
        width: calc(70vw + 59px)
    }

    #home .slider-home-search .search-input {
        width: 270px
    }
}

@media (min-width: 37.5em) and (max-width:49.8em) {
    #home .slider-home-search {
        margin-top: 2%;
        bottom: 6%;
        width: 100%
    }

    #home .slider-home-search .form-group {
        width: 100%;
        margin-bottom: 15px;
        justify-content: center
    }

    #home .slider-home-search input.search-input {
        width: 75vw;
        display: inline-block
    }

    #home .slider-home-search .input-group-append {
        display: inline-block
    }

    #home .slider-home-search .search-button {
        width: calc(75vw + 59px);
        margin: 0 auto
    }
}

@media (min-width: 50em) and (max-width:63.8em) {
    #home .slider-home-search {
        margin-top: 2%;
        bottom: 6%;
        width: 100%
    }

    #home .slider-home-search .form-group {
        width: 100%;
        margin-bottom: 15px;
        justify-content: center
    }

    #home .slider-home-search input.search-input {
        width: 75vw;
        display: inline-block
    }

    #home .slider-home-search .input-group-append {
        display: inline-block
    }

    #home .slider-home-search .search-button {
        width: calc(75vw + 59px);
        margin: 0 auto
    }
}

@media (min-width: 64em) and (max-width:69em) {
    #home .slider-home-search {
        margin-top: 2%;
        bottom: 6%;
        width: 100%
    }

    #home .slider-home-search .form-group {
        width: 100%;
        margin-bottom: 15px;
        justify-content: center
    }

    #home .slider-home-search input.search-input {
        width: 75vw;
        display: inline-block
    }

    #home .slider-home-search .input-group-append {
        display: inline-block
    }

    #home .slider-home-search .search-button {
        width: calc(75vw + 59px);
        margin: 0 auto
    }
}

.subtitle {
    line-height: 1;
    text-align: center;
    margin-bottom: 2rem
}

@media (max-width: 37.5em) {
    .subtitle {
        margin-top: .2rem;
        font-size: .6rem
    }
}

.subtitle span {
    display: inline-block;
    position: relative;
    font-family: 'BebasNeue_Book';
    color: #676d71;
    font-size: 2.2em
}

.subtitle img {
    width: 50px;
    margin-top: -3px;
    margin-right: 10px
}

@media (max-width: 37.5em) {
    .subtitle img {
        width: 35px
    }
}

.presentation-table-modal .resultList__presentationStudy-title a bold,
.presentation-table-modal .resultList__presentationStudy-title bold,
#presentation .resultList__presentationStudy-title a bold,
#presentation .resultList__presentationStudy-title bold,
#resultList .resultList__presentationStudy-title a bold,
#resultList .resultList__presentationStudy-title bold,
.subtitle bold {
    font-family: 'BebasNeue'
}

.subtitle span:after,
.subtitle span:before {
    content: "";
    position: absolute;
    height: 5px;
    border-top: 7px solid #676d71;
    top: 40%;
    width: 90vw
}

.subtitle span:before {
    right: 100%;
    margin-right: 25px
}

.subtitle span:after {
    left: 100%;
    margin-left: 25px
}

.swiper-last-news-next,
.swiper-last-news-prev {
    /*background-color: rgba(0,0,0,.3);*/
    width: 70px;
    height: 81.1%;
    top: 27px
}

.swiper-last-news-prev {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
    left: 0
}

.swiper-last-news-next {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
    right: 0
}

#last_news .last-news-container .last-news-slider__slide {
    width: 540px;
    height: 300px;
    position: relative;
    transition: .3s;
    margin-top: 35px
}

#last_news .last-news-container .last-news-slider__slide.swiper-slide-active {
    height: 330px;
    width: 560px;
    margin-top: 0
}

#last_news .last-news-container .last-news-slider__slide.swiper-slide-next,
#last_news .last-news-container .last-news-slider__slide.swiper-slide-prev {
    width: 540px;
    height: 300px;
    margin-top: 17.5px
}

#last_news .last-news-container .last-news-slider__slide .slider-news-container {
    background-size: cover;
    height: 100%;
    width: 100%
}

@media (max-width: 540px) {
    #last_news .last-news-container .last-news-slider__slide {
        width: 360px;
        height: 200px;
    }

    #last_news .last-news-container .last-news-slider__slide.swiper-slide-active {
        height: 220px;
        width: 396px;
    }

    #last_news .last-news-container .last-news-slider__slide.swiper-slide-next,
    #last_news .last-news-container .last-news-slider__slide.swiper-slide-prev {
        width: 360px;
        height: 200px;
    }
}

#last_news .last-news-container .last-news-slider__slide .slider-news-container:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(to top, rgba(13, 83, 126, .89), rgba(13, 83, 126, .3), rgba(13, 83, 126, 0), rgba(13, 83, 126, 0));
    z-index: 0
}

#last_news .last-news-container .last-news-slider__slide .slider-news-title {
    z-index: 99;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: left;
    padding: .2rem 1rem;
    text-transform: uppercase;
    font-size: 1.4rem;
    color: #fff
}

.last_news__title span:after,
.last_news__title span:before {
    border-top: 7px solid #676d71
}

.last_news__title span {
    color: #676d71
}

#reviews a:hover {
    color: inherit
}

#reviews .swiper-pagination-review {
    bottom: -5px
}

#reviews .swiper-pagination-review .swiper-pagination-bullet-active {
    background: #25648b
}

.reviews_title span:after,
.reviews_title span:before {
    border-top: 7px solid #25648b
}

.reviews_title span {
    color: #25648b
}

.reviews__border {
    border-color: #0eadc1
}

/* Wyrównanie wysokości slajdów dni otwartych - bez pustej przestrzeni na dole */
.swiper-open_day .swiper-slide {
    display: flex;
    align-items: stretch;
    height: auto !important;
    min-height: 0
}

.swiper-open_day .swiper-slide > div {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: auto !important;
    min-height: 0
}

.swiper-open_day .swiper-slide .reviews__border,
.swiper-open_day .swiper-slide .open_day__border {
    display: flex;
    flex-direction: column;
    height: auto !important;
    min-height: 0
}

/* Odstęp pod sekcją dni otwartych */
#open_day {
    margin-bottom: 40px
}

.reviews__list-schools {
    width: 100%;
    padding-left: 10px
}

.reviews__item-title,
.reviews__item-title a {
    font-family: "BebasNeue";
    font-size: 22px;
    color: #25648b;
    line-height: 25px;
    padding-bottom: 5px;
    margin-bottom: 3px
}

.reviews__show-more {
    font-size: 1.3rem;
    width: 100%;
    padding-left: 10px
}

.reviews__show-more span {
    display: inline-block;
    transform: rotate(270deg);
    font-size: 1.8rem !important
}

.reviews__item-title span.icon {
    font-family: "BebasNeue_Book";
    font-size: 22px;
    color: #25648b;
    position: relative;
    top: 5px
}

.reviews__date {
    font-family: "BebasNeue";
    font-size: 18px;
    color: #676d71
}

.reviews__date.show-more {
    float: right;
    margin-top: 5px
}

.reviews__sea_all a {
    color: #25648b;
    font-size: .9rem
}

.reviews__description {
    font-size: .9rem;
    color: #25648b;
    line-height: 16px;
    margin-bottom: 7px
}

.reviews__rate img {
    width: 16%
}

@media (max-width: 37.5em) {
    .reviews__rate img {
        width: 7%
    }
}

#departments,
#recommended {
    padding: 20px 0 30px !important
}

#recommended .swiper-wrapper {
    display: flex;
    align-items: center
}

.recommended_title span:after,
.recommended_title span:before {
    border-top: 7px solid #1b86c8
}

.recommended_title span {
    color: #1b86c8
}

.recommended_item img {
    margin: 0 auto;
    display: block;
    max-width: 140px;
    max-height: 140px
}

.departments_title span:after,
.departments_title span:before {
    border-top: 7px solid #027396
}

.departments_title span {
    color: #027396
}

.department__item {
    height: 220px;
    background-size: cover;
    position: relative
}

.department__item p {
    transition: .4s padding;
    background: #027396;
    font-family: "BebasNeue_Book";
    font-size: 19px;
    color: #fff;
    position: absolute;
    width: 100%;
    bottom: 0;
    margin-bottom: 0;
    padding: 5px 15px
}

.title-color-red {
    background-color: #c8102e !important; /* czerwony pasek jak na grafice rankingu */
    color: #ffffff !important;
}

/* Ranking pages use the shared department card markup, so these overrides stay scoped to avoid changing older lists. */
.ranking-popularnosci-page .department__item {
    position: relative;
    height: 220px;
    overflow: hidden;
    border: 1px solid rgba(14, 82, 125, 0.12);
    border-radius: 16px;
    background-color: #fff;
    background-position: center;
    background-size: cover;
    box-shadow: 0 10px 24px rgba(14, 82, 125, 0.08);
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.ranking-popularnosci-page a:hover .department__item,
.ranking-popularnosci-page a:focus-visible .department__item {
    border-color: rgba(14, 82, 125, 0.22);
    box-shadow: 0 16px 34px rgba(14, 82, 125, 0.14);
    transform: translateY(-2px);
}

.ranking-popularnosci-page a:focus-visible .department__item {
    outline: 3px solid rgba(14, 82, 125, 0.28);
    outline-offset: 3px;
}

.ranking-popularnosci-page .department__item picture,
.ranking-popularnosci-page .department__item img {
    display: block;
    width: 100%;
    height: 100%;
}

.ranking-popularnosci-page .department__item img {
    object-fit: cover;
    transition: transform 0.28s ease;
}

.ranking-popularnosci-page a:hover .department__item img,
.ranking-popularnosci-page a:focus-visible .department__item img {
    transform: scale(1.03);
}

.ranking-popularnosci-page .department__item .popular-bg {
    z-index: 2;
    padding: 7px 11px !important;
    border-bottom-left-radius: 12px;
    background-color: rgba(209, 75, 114, 0.94) !important;
    box-shadow: 0 8px 16px rgba(18, 48, 71, 0.16);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.15;
}

.ranking-popularnosci-page .department__item p {
    z-index: 2;
    min-height: 54px;
    padding: 13px 15px;
    background: linear-gradient(180deg, rgba(10, 63, 96, 0) 0%, rgba(10, 63, 96, 0.88) 34%, rgba(10, 63, 96, 0.97) 100%);
    font-size: 19px;
    line-height: 1.18;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.30);
}

.ranking-popularnosci-page .department__item:hover p {
    padding: 13px 15px;
}

.ranking-popularnosci-page .department__item .title-color-red {
    background: linear-gradient(180deg, rgba(10, 63, 96, 0) 0%, rgba(10, 63, 96, 0.88) 34%, rgba(10, 63, 96, 0.97) 100%) !important;
}

.department__item bold,
.departments-magister__item bold,
.reviews__sea_all a {
    font-family: "BebasNeue"
}

.departments-magister__item .literature,
.literature {
    background-image: url(../image/departments/literature_bg.jpg)
}

.departments-magister__item .medicine,
.medicine {
    background-image: url(../image/departments/medicine_bg.jpg)
}

.departments-magister__item .economy,
.economy {
    background-image: url(../image/departments/economy_bg.jpg)
}

.departments-magister__item .english,
.english {
    background-image: url(../image/departments/english_bg.jpg)
}

#nabZim,
#rating {
    padding: 20px 0 50px !important
}

#rating .rating__nav-tabs {
    border-bottom: none
}

#rating .rating__nav-tabs .nav-link {
    color: #fff;
    font-family: "BebasNeue_Book";
    font-size: 1.4rem;
    padding: 0;
    margin: 2px 0
}

#rating .rating__nav-tabs .nav-link:hover {
    border: 0;
    border-radius: 0
}

#rating .rating__nav-tabs .nav-link:after {
    content: '|';
    margin: 0 25px
}

#rating .rating__nav-tabs .nav-link.active {
    border-radius: 0;
    background: inherit;
    border: 0;
    font-family: "BebasNeue";
    position: relative;
    top: 2px
}

@media (max-width: 37.5em) {
    #rating .rating__nav-tabs .nav-link:after {
        margin: 0 6px
    }
}

@media (min-width: 64em) and (max-width:69em) {
    #rating .rating__nav-tabs .nav-link:after {
        margin: 0 10px
    }
}

#rating .rating__nav-tabs .nav-item:last-child .nav-link:after {
    content: '';
    margin: 0
}

.rating_title span:after,
.rating_title span:before {
    border-top: 7px solid #676d71
}

.rating_title span {
    color: #676d71
}

.rating__line-years {
    background: #009ee0;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    margin: 15px 0 0
}

.departments-magister__item p,
.rating__line-years span {
    font-family: "BebasNeue_Book";
    color: #fff;
    font-size: 22px
}

.rating__item {
    border-right: 1px solid #50697a;
    padding-left: 10px;
    height: 100%
}

.rating__mark {
    font-family: "BebasNeue";
    color: #174b6c;
    font-size: 26px;
    margin-bottom: 5px
}

.rating__department-title {
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    color: #174b6c;
    margin-bottom: 5px
}

.rating__uni-name {
    font-family: 'Lato', sans-serif;
    color: #174b6c;
    font-size: 13px;
    margin-bottom: 35px
}

.rating__arrows {
    position: absolute;
    bottom: 0;
    right: 25px
}

.vimeo-block {
    margin: 50px 0 20px
}

#news {
    padding: 20px 0 30px !important;
    margin-bottom: 30px;
    background: #276890
}

.news-item__title {
    font-family: "BebasNeue";
    font-size: 35px;
    color: #fff;
    margin-bottom: 5px;
    margin-top: 15px;
    line-height: 35px
}

.news-item__title span {
    font-family: "BebasNeue_Book";
    font-size: 25px;
    white-space: nowrap
}

.news-item__description {
    font-family: 'Lato', sans-serif;
    font-size: 14px;
    color: #fff
}

#student_life {
    padding: 20px 0 10px !important
}

.student_life_title span:after,
.student_life_title span:before {
    border-top: 7px solid #0eadc1
}

.student_life_title span {
    color: #0eadc1
}

#departments-magister {
    padding: 5px 0 40px !important
}

.departments-magister__title span:after,
.departments-magister__title span:before {
    border-top: 7px solid #027396
}

.departments-magister__title span {
    color: #027396
}

.departments-magister__item {
    height: 180px;
    background-size: cover;
    position: relative
}

@media (max-width: 37.5em) {
    .departments-magister__item {
        margin-bottom: 15px
    }
}

.departments-magister__item p {
    transition: .4s;
    background-image: linear-gradient(to top, rgba(2, 115, 150, .95), rgba(2, 115, 150, .9), rgba(2, 115, 150, .85), rgba(2, 115, 150, 0));
    font-size: 19px;
    position: absolute;
    width: 100%;
    bottom: 0;
    margin-bottom: 0;
    padding: 20px 15px 10px
}

.departments-magister__item:hover p {
    padding: 30px 15px 20px
}

@media (max-width: 37.5em) {

    .presentation-table-modal,
    #presentation,
    #resultList {
        padding-bottom: 0
    }
}

@media (min-width: 37.5em) and (max-width:49.8em) {

    .presentation-table-modal,
    #presentation,
    #resultList {
        padding-bottom: 0
    }
}

.presentation-table-modal .resultList_title,
#presentation .resultList_title,
#resultList .resultList_title {
    font-size: 1.3rem
}

.presentation-table-modal .resultList_title span,
#presentation .resultList_title span,
#resultList .resultList_title span {
    color: #0070ab
}

@media (max-width: 37.5em) {

    .presentation-table-modal .resultList_title,
    #presentation .resultList_title,
    #resultList .resultList_title {
        font-size: 1rem
    }

    .presentation-table-modal .resultList_title img,
    #presentation .resultList_title img,
    #resultList .resultList_title img {
        width: 60px
    }
}

.presentation-table-modal .resultList_title span:after,
.presentation-table-modal .resultList_title span:before,
#presentation .kreska_title:before,
#presentation .resultList_title span:after,
#presentation .resultList_title span:before,
#resultList .resultList_title span:after,
#resultList .resultList_title span:before {
    border-top: 7px solid #0070ab
}

.presentation-table-modal .resultList__presentationStudy,
#presentation .resultList__presentationStudy,
#resultList .resultList__presentationStudy {
    margin-top: 10px;
    position: relative;
    overflow: hidden;
    border: 1px solid #e3e8ee;
    border-radius: 8px;
    background-color: #ffffff;
    transition: transform 0.18s ease-out, box-shadow 0.18s ease-out, border-color 0.18s ease-out;
}

.presentation-table-modal .resultList__presentationStudy:hover,
#presentation .resultList__presentationStudy:hover,
#resultList .resultList__presentationStudy:hover {
    transform: translateY(-2px) scale(1.01);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
    border-color: #0070ab33;
}

/* Podstawowe prezentacje – bez obramowania i bez animacji kafla */
.resultList__presentationStudy.basic-vesion {
    border: 1px solid #d9e0e8;
    box-shadow: none;
    background-color: #fff;
    transition: border-color 0.18s ease-out, box-shadow 0.18s ease-out, background-color 0.18s ease-out;
}

.resultList__presentationStudy.basic-vesion:hover {
    transform: none;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    border-color: #c9d6e5;
    background-color: #fcfdff;
}

/* Wyłącz wszelkie mikro‑animacje wewnątrz podstawowych prezentacji (adres, telefon itd.) */
.resultList__presentationStudy.basic-vesion *,
.resultList__presentationStudy.basic-vesion *:hover {
    transition: none !important;
}

/* Nadpisanie globalnego hovera dla basic-vesion (większa specyficzność niż #resultList .resultList__presentationStudy:hover) */
#resultList .resultList__presentationStudy.basic-vesion,
#presentation .resultList__presentationStudy.basic-vesion,
.presentation-table-modal .resultList__presentationStudy.basic-vesion {
    transform: none !important;
    border: 1px solid #d9e0e8 !important;
    box-shadow: none !important;
    border-color: #d9e0e8 !important;
    background-color: #fff !important;
    transition: border-color 0.18s ease-out, box-shadow 0.18s ease-out, background-color 0.18s ease-out !important;
}

#resultList .resultList__presentationStudy.basic-vesion:hover,
#presentation .resultList__presentationStudy.basic-vesion:hover,
.presentation-table-modal .resultList__presentationStudy.basic-vesion:hover {
    transform: none !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05) !important;
    border-color: #c9d6e5 !important;
    background-color: #fcfdff !important;
}

/* Blok adresu w prezentacjach – bez ramki / tła niezależnie od typu prezentacji */
.resultList__presentationStudy.address {
    border: none !important;
    box-shadow: none !important;
    background-color: transparent !important;
}

/* Bloki kontaktowe (adres / telefon / e‑mail) – bez jakichkolwiek animacji */
.resultList__presentationStudy.address,
.resultList__presentationStudy.telephone,
.resultList__presentationStudy.emails,
.resultList__presentationStudy.address *,
.resultList__presentationStudy.telephone *,
.resultList__presentationStudy.emails * {
    transition: none !important;
    transform: none !important;
    box-shadow: none !important;
    border: none !important;
    background-color: transparent !important;
}

.resultList__presentationStudy-reveal {
    position: relative;
    height: 44px;
    max-width: 100%;
}

.resultList__presentationStudy-revealBtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 4px 10px;
    border: 1px solid #0070ab;
    border-radius: 999px;
    background-color: #fff;
    color: #0070ab;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 500;
    cursor: pointer;
}

.resultList__presentationStudy-revealBtn:hover,
.resultList__presentationStudy-revealBtn:focus {
    background-color: #f2f8fc;
}

.resultList__presentationStudy-revealValue {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    overflow: hidden;
}

.resultList__presentationStudy-revealValue p,
.resultList__presentationStudy-revealValue a {
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.resultList__presentationStudy-reveal[data-kind="phone"] {
    height: 64px;
}

.resultList__presentationStudy-reveal[data-kind="email"] {
    height: 64px;
}

.resultList__presentationStudy-reveal[data-kind="phone"] .resultList__presentationStudy-revealValue {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    padding-top: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 4px;
}

.resultList__presentationStudy-reveal[data-kind="phone"] .resultList__presentationStudy-revealValue p {
    display: block !important;
    width: 100%;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    line-height: 1.3;
    margin: 0;
}

.resultList__presentationStudy-reveal[data-kind="email"] .resultList__presentationStudy-revealValue {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 4px;
}

.resultList__presentationStudy-reveal[data-kind="email"] .resultList__presentationStudy-revealValue p,
.resultList__presentationStudy-reveal[data-kind="email"] .resultList__presentationStudy-revealValue a {
    display: block !important;
    width: 100%;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
    line-height: 1.3;
    margin: 0;
}

.resultList__presentationStudy-reveal.is-revealed .resultList__presentationStudy-revealBtn {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.resultList__presentationStudy-reveal.is-revealed .resultList__presentationStudy-revealValue {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

#resultList .resultList__presentationStudy .fix-map,
#presentation .resultList__presentationStudy .fix-map,
.presentation-table-modal .resultList__presentationStudy .fix-map {
    border: 1px solid #d9e0e8;
    border-radius: 8px;
    background-color: #f7f9fc;
    overflow: hidden;
    min-height: 200px;
}

#resultList .resultList__presentationStudy .fix-map iframe,
#presentation .resultList__presentationStudy .fix-map iframe,
.presentation-table-modal .resultList__presentationStudy .fix-map iframe {
    display: block;
    width: 100%;
    min-height: 200px;
    background-color: #f7f9fc;
}

@media (max-width: 575.98px) {
    .resultList__presentationStudy-reveal {
        height: 40px;
    }

    .resultList__presentationStudy-revealBtn {
        min-height: 30px;
        font-size: 13px;
        padding: 4px 9px;
    }
}


.presentation-table-modal .resultList__presentationStudy .swiper-resultList__presentation,
#presentation .resultList__presentationStudy .swiper-resultList__presentation,
#resultList .resultList__presentationStudy .swiper-resultList__presentation {
    max-height: 200px
}

@media (max-width: 767.98px) {
    .city-209-layout img[src*="icon_studies.png"] {
        width: 35px;
        height: 22px;
    }

    .subtitle.resultList_title img[src*="icon_studies.png"] {
        width: 35px;
        height: 22px;
    }

    .city-209-layout #article img {
        width: 100%;
        height: auto;
        aspect-ratio: 3 / 2;
        object-fit: cover;
        display: block;
    }

    .city-209-layout #resultList .swiper-resultList__presentation {
        min-height: 220px;
        aspect-ratio: 3 / 2;
        background: #f7f9fc;
    }

    .city-209-layout #resultList .swiper-resultList__presentation img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }
}

.presentation-table-modal .resultList__presentationStudy.basic-vesion .resultList__presentationStudy-title,
.presentation-table-modal .resultList__presentationStudy.basic-vesion .resultList__presentationStudy-title a,
#presentation .resultList__presentationStudy.basic-vesion .resultList__presentationStudy-title,
#presentation .resultList__presentationStudy.basic-vesion .resultList__presentationStudy-title a,
#resultList .resultList__presentationStudy.basic-vesion .resultList__presentationStudy-title,
#resultList .resultList__presentationStudy.basic-vesion .resultList__presentationStudy-title a {
    line-height: 40px;
    font-size: 1.8rem;
    font-family: 'BebasNeue';
    color: #0070ab;
    background-color: inherit
}

/* Dopasowanie rozmiaru nagłówka kafelków (wariant basic) niezależnie od id wrappera. */
.resultList__presentationStudy.basic-vesion .resultList__presentationStudy-title,
.resultList__presentationStudy.basic-vesion .resultList__presentationStudy-title a {
    line-height: 40px;
    font-size: 1.8rem;
    font-family: 'BebasNeue';
    color: #0070ab;
    background-color: inherit
}

@media (max-width: 37.5em) {

    .presentation-table-modal .resultList__presentationStudy-contact,
    #presentation .resultList__presentationStudy-contact,
    #resultList .resultList__presentationStudy-contact {
        margin-top: 15px
    }
}

.presentation-table-modal .resultList__presentationStudy-title,
#presentation .resultList__presentationStudy-title,
#resultList .resultList__presentationStudy-title {
    padding: 16px;
}

.presentation-table-modal .resultList__presentationStudy-title,
.presentation-table-modal .resultList__presentationStudy-title a,
#presentation .resultList__presentationStudy-title,
#presentation .resultList__presentationStudy-title a,
#resultList .resultList__presentationStudy-title,
#resultList .resultList__presentationStudy-title a {
    font-size: 1em;
    margin-bottom: .2rem;
    clear: both
}

@media (max-width: 37.5em) {

    .presentation-table-modal .resultList__presentationStudy-title,
    .presentation-table-modal .resultList__presentationStudy-title a,
    #presentation .resultList__presentationStudy-title,
    #presentation .resultList__presentationStudy-title a,
    #resultList .resultList__presentationStudy-title,
    #resultList .resultList__presentationStudy-title a {
        font-size: 1.3rem;
        line-height: 20px
    }

    /* Na telefonach dodajemy sensowny vertical padding nagłówka,
       przebijając inline padding: 0 16px na H2. */
    #resultList .resultList__presentationStudy-title {
        padding-top: 6px !important;
        padding-bottom: 6px !important;
    }
}

.presentation-table-modal .resultList__presentationStudy-title a,
#presentation .resultList__presentationStudy-title a,
#resultList .resultList__presentationStudy-title a {
    padding: 0
}

.presentation-table-modal .resultList__presentationStudy-redLine,
#presentation .resultList__presentationStudy-redLine,
#resultList .resultList__presentationStudy-redLine {
    height: 12px;
    width: 100%;
    background-color: #b7364a
}

.presentation-table-modal .resultList__presentationStudy-subTitle,
#presentation .resultList__presentationStudy-subTitle,
#resultList .resultList__presentationStudy-subTitle {
    margin-top: .3rem;
    padding-left: 40px
}

.presentation-table-modal .resultList__presentationStudy-subTitle a,
#presentation .resultList__presentationStudy-subTitle a,
#resultList .resultList__presentationStudy-subTitle a {
    color: #10486a;
    font-weight: 500;
    font-size: 1.1rem
}

/* Marginesy boczne dla opisu uczelni w kaflu prezentacji,
   żeby tekst nie „kleił się” do krawędzi na mniejszych ekranach */
@media (max-width: 768px) {
    #resultList .resultList__presentationStudy-body .text-justify.test {
        margin-left: 16px;
        margin-right: 16px;
    }

    /* Marginesy boczne dla boxa ze statystykami (kierunki / opinie) nad opisem */
    #resultList .resultList__presentationStudy-body > .col-xl-10.col-lg-12.col-sm-12.float-right {
        margin-left: 16px;
        margin-right: 16px;
    }

    /* Wyśrodkowanie tekstów „Kierunki/Specjalizacje / Opinie” na telefonach */
    #resultList .resultList__presentationStudy-body .row.pt-4.pt-sm-0.pb-4.pb-sm-0 p {
        text-align: center !important;
    }
}

.presentation-table-modal .resultList__presentationStudy-body,
#presentation .resultList__presentationStudy-body,
#resultList .resultList__presentationStudy-body {
    margin-top: .5rem;
    padding-right: 1rem;
}

@media (max-width: 768px) {
    .presentation-table-modal .resultList__presentationStudy-body,
    #presentation .resultList__presentationStudy-body,
    #resultList .resultList__presentationStudy-body {
        padding-right: 0;
    }
}

/* Wyrównanie treści wewnątrz kafla prezentacji na listach (#resultList) */
/* Keep long website and email values inside legacy university contact columns. */
.presentation-table-modal .resultList__presentationStudy.emails,
#presentation .resultList__presentationStudy.emails,
#resultList .resultList__presentationStudy.emails,
.presentation-table-modal .resultList__presentationStudy.emails p,
#presentation .resultList__presentationStudy.emails p,
#resultList .resultList__presentationStudy.emails p,
.presentation-table-modal .resultList__presentationStudy.emails a,
#presentation .resultList__presentationStudy.emails a,
#resultList .resultList__presentationStudy.emails a {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

#resultList .resultList__presentationStudy > .row {
    margin-left: 0;
    margin-right: 0;
    padding: 0 16px;
}

/* Padding dla wiersza z przyciskiem „Opinie o uczelni” pod prezentacją na listach */
#resultList .resultList__presentationStudy + .row {
    padding-left: 16px;
}

/* Animacja hover na zewnętrznym divie przycisków „Kierunki uczelni” i „Opinie o uczelni (N)” w listingach */
#resultList .resultList__presentationStudy .row .kafelek-inactive {
    transition: background-color 0.18s ease-out, transform 0.18s ease-out, box-shadow 0.18s ease-out;
}

#resultList .resultList__presentationStudy .row .kafelek-inactive:hover {
    background-color: transparent;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

#resultList .resultList__presentationStudy .row .kafelek-inactive .link {
    display: inline-block;
    padding: 6px 12px;
    transition: color 0.18s ease-out;
}

#resultList .resultList__presentationStudy .row .kafelek-inactive:hover .link {
    color: #0070ab;
    text-decoration: none;
}

.presentation-table-modal .resultList__presentationStudy-body .client-logo,
#presentation .resultList__presentationStudy-body .client-logo,
#resultList .resultList__presentationStudy-body .client-logo {
    display: flex;
    justify-content: center;
    align-items: center
}

.presentation-table-modal .resultList__presentationStudy-body .client-logo img,
#presentation .resultList__presentationStudy-body .client-logo img,
#resultList .resultList__presentationStudy-body .client-logo img {
    max-width: 170px
}

.presentation-table-modal .resultList__presentationStudy-body .swiper-resultList__presentation img,
#presentation .resultList__presentationStudy-body .swiper-resultList__presentation img,
#resultList .resultList__presentationStudy-body .swiper-resultList__presentation img {
    width: 100%
}

.presentation-table-modal .resultList__presentationStudy-opinion,
#presentation .resultList__presentationStudy-opinion,
#resultList .resultList__presentationStudy-opinion {
    margin-top: 10px
}

.presentation-table-modal .resultList__presentationStudy-opinion .button-open-opinion,
#presentation .resultList__presentationStudy-opinion .button-open-opinion,
#resultList .resultList__presentationStudy-opinion .button-open-opinion {
    background-color: #0070ab
}

.presentation-table-modal .resultList__presentationStudy-opinion .button-open-opinion a,
#presentation .resultList__presentationStudy-opinion .button-open-opinion a,
#resultList .resultList__presentationStudy-opinion .button-open-opinion a {
    display: block;
    text-align: center;
    padding: 5px;
    color: #fff
}

.presentation-table-modal .presentation__body-information ul.list-presentation,
.presentation-table-modal .resultList__presentationStudy-table.legend p,
.presentation-table-modal .resultList__presentationStudy.address p,
.presentation-table-modal .resultList__presentationStudy.emails p,
.presentation-table-modal .resultList__presentationStudy.telephone p,
#presentation .presentation__body-information ul.list-presentation,
#presentation .resultList__presentationStudy-table.legend p,
#presentation .resultList__presentationStudy.address p,
#presentation .resultList__presentationStudy.emails p,
#presentation .resultList__presentationStudy.telephone p,
#resultList .resultList__presentationStudy-table.legend p,
#resultList .resultList__presentationStudy.address p,
#resultList .resultList__presentationStudy.emails p,
#resultList .resultList__presentationStudy.telephone p {
    margin: 0;
    padding: 0
}

.presentation-table-modal .resultList__presentationStudy.address a,
.presentation-table-modal .resultList__presentationStudy.emails a,
.presentation-table-modal .resultList__presentationStudy.telephone a,
#presentation .resultList__presentationStudy.address a,
#presentation .resultList__presentationStudy.emails a,
#presentation .resultList__presentationStudy.telephone a,
#resultList .resultList__presentationStudy.address a,
#resultList .resultList__presentationStudy.emails a,
#resultList .resultList__presentationStudy.telephone a {
    color: #10486a;
    font-weight: 500
}

.presentation-table-modal .resultList__presentationStudy-table tbody,
#presentation .resultList__presentationStudy-table tbody,
#resultList .resultList__presentationStudy-table tbody {
    display: table;
    width: 100%;
    border-bottom: 8px solid #0070ab
}

.presentation-table-modal .resultList__presentationStudy-table .type-studies th,
#presentation .resultList__presentationStudy-table .type-studies th,
#resultList .resultList__presentationStudy-table .type-studies th {
    vertical-align: middle;
    padding: 0
}

.presentation-table-modal .resultList__presentationStudy-table .table-legend-direction-row th:nth-child(2),
.presentation-table-modal .resultList__presentationStudy-table .type-studies th:nth-child(n+1),
#presentation .resultList__presentationStudy-table .table-legend-direction-row th:nth-child(2),
#presentation .resultList__presentationStudy-table .type-studies th:nth-child(n+1),
#resultList .resultList__presentationStudy-table .table-legend-direction-row th:nth-child(2),
#resultList .resultList__presentationStudy-table .type-studies th:nth-child(n+1) {
    border-left: 2px solid #0070ab
}

.presentation-table-modal .resultList__presentationStudy-table .table-head-color,
#presentation .resultList__presentationStudy-table .table-head-color,
#resultList .resultList__presentationStudy-table .table-head-color {
    background-color: rgba(0, 112, 171, .1);
    color: #10486a;
    padding: 5px 0
}

@media (max-width: 37.5em) {

    .presentation-table-modal .resultList__presentationStudy-table .table-head-color,
    #presentation .resultList__presentationStudy-table .table-head-color,
    #resultList .resultList__presentationStudy-table .table-head-color {
        padding: 7px
    }
}

.presentation-table-modal .resultList__presentationStudy-table .table-subhead-color,
.presentation-table-modal .resultList__presentationStudy-table.legend span,
#presentation .resultList__presentationStudy-table .table-subhead-color,
#presentation .resultList__presentationStudy-table.legend span,
#resultList .resultList__presentationStudy-table .table-subhead-color,
#resultList .resultList__presentationStudy-table.legend span {
    color: #10486a;
    font-weight: 400
}

.presentation-table-modal .resultList__presentationStudy-table .table-direction-title,
#presentation .resultList__presentationStudy-table .table-direction-title,
#resultList .resultList__presentationStudy-table .table-direction-title {
    background-color: rgba(0, 112, 171, .2);
    font-weight: 700;
    color: #10486a;
    padding: 5px
}

.presentation-table-modal .resultList__presentationStudy-table .table-direction-title a,
#presentation .resultList__presentationStudy-table .table-direction-title a,
#resultList .resultList__presentationStudy-table .table-direction-title a {
    color: #10486a
}

.presentation-table-modal .resultList__presentationStudy-table .direction-label,
#presentation .resultList__presentationStudy-table .direction-label,
#resultList .resultList__presentationStudy-table .direction-label {
    display: block
}

.presentation-table-modal .resultList__presentationStudy-table .direction-label--specialization,
#presentation .resultList__presentationStudy-table .direction-label--specialization,
#resultList .resultList__presentationStudy-table .direction-label--specialization {
    position: relative;
    padding-left: 1rem
}

.presentation-table-modal .resultList__presentationStudy-table .direction-label--specialization:before,
#presentation .resultList__presentationStudy-table .direction-label--specialization:before,
#resultList .resultList__presentationStudy-table .direction-label--specialization:before {
    content: "-";
    position: absolute;
    left: 0
}

.presentation-table-modal .resultList__presentationStudy-table .table-legend-direction-row th,
#presentation .resultList__presentationStudy-table .table-legend-direction-row th,
#resultList .resultList__presentationStudy-table .table-legend-direction-row th {
    width: 40px;
    text-align: center;
    vertical-align: middle;
    margin: 0;
    padding: 2px 0;
    font-weight: 500;
    color: rgba(16, 72, 106, .8)
}

.presentation-table-modal .resultList__presentationStudy-table .table-legend-direction-row th:nth-child(3n+1),
#presentation .resultList__presentationStudy-table .table-legend-direction-row th:nth-child(3n+1),
#resultList .resultList__presentationStudy-table .table-legend-direction-row th:nth-child(3n+1) {
    background-color: rgba(0, 112, 171, .05);
    border-left: 1px solid #fff
}

.presentation-table-modal .resultList__presentationStudy-table .table-legend-direction-row th:nth-child(3n+2),
#presentation .resultList__presentationStudy-table .table-legend-direction-row th:nth-child(3n+2),
#resultList .resultList__presentationStudy-table .table-legend-direction-row th:nth-child(3n+2) {
    background-color: rgba(0, 112, 171, .25);
    border-left: 2px solid #0070ab
}

.presentation-table-modal .resultList__presentationStudy-table .table-legend-direction-row th:nth-child(3n+3),
#presentation .resultList__presentationStudy-table .table-legend-direction-row th:nth-child(3n+3),
#resultList .resultList__presentationStudy-table .table-legend-direction-row th:nth-child(3n+3) {
    background-color: rgba(0, 112, 171, .15);
    border-left: 1px solid #fff
}

.presentation-table-modal .resultList__presentationStudy-table .table-direction-row td:nth-child(1),
.presentation-table-modal .resultList__presentationStudy-table .table-legend-direction-row th:nth-child(1),
#presentation .resultList__presentationStudy-table .table-direction-row td:nth-child(1),
#presentation .resultList__presentationStudy-table .table-legend-direction-row th:nth-child(1),
#resultList .resultList__presentationStudy-table .table-direction-row td:nth-child(1),
#resultList .resultList__presentationStudy-table .table-legend-direction-row th:nth-child(1) {
    background-color: #fff
}

.presentation-table-modal .resultList__presentationStudy-table .table-direction-row td,
#presentation .resultList__presentationStudy-table .table-direction-row td,
#resultList .resultList__presentationStudy-table .table-direction-row td {
    text-align: center;
    vertical-align: middle;
    width: 40px;
    margin: 0;
    padding: 0;
    border: 0
}

.presentation-table-modal .resultList__presentationStudy-table .table-direction-row td:nth-child(2),
#presentation .resultList__presentationStudy-table .table-direction-row td:nth-child(2),
#resultList .resultList__presentationStudy-table .table-direction-row td:nth-child(2) {
    border-left: 2px solid #0070ab
}

.presentation-table-modal .resultList__presentationStudy-table .table-direction-row td:nth-child(3n+1),
#presentation .resultList__presentationStudy-table .table-direction-row td:nth-child(3n+1),
#resultList .resultList__presentationStudy-table .table-direction-row td:nth-child(3n+1) {
    background-color: rgba(0, 112, 171, .1);
    border-left: 1px solid #fff
}

.presentation-table-modal .resultList__presentationStudy-table .table-direction-row td:nth-child(3n+2),
#presentation .resultList__presentationStudy-table .table-direction-row td:nth-child(3n+2),
#resultList .resultList__presentationStudy-table .table-direction-row td:nth-child(3n+2) {
    background-color: rgba(0, 112, 171, .5);
    border-left: 2px solid #0070ab
}

.presentation-table-modal .resultList__presentationStudy-table .table-direction-row td:nth-child(3n+3),
#presentation .resultList__presentationStudy-table .table-direction-row td:nth-child(3n+3),
#resultList .resultList__presentationStudy-table .table-direction-row td:nth-child(3n+3) {
    background-color: rgba(0, 112, 171, .25);
    border-left: 1px solid #fff
}

.presentation-table-modal .resultList__presentationStudy-table .table-price-direction-row,
#presentation .resultList__presentationStudy-table .table-price-direction-row,
#resultList .resultList__presentationStudy-table .table-price-direction-row {
    font-size: 14px
}

.presentation-table-modal .resultList__presentationStudy-table .table-price-direction-row th,
#presentation .resultList__presentationStudy-table .table-price-direction-row th,
#resultList .resultList__presentationStudy-table .table-price-direction-row th {
    padding: 5px;
    font-weight: 400;
    color: #10486a;
    text-align: right
}

.presentation-table-modal .resultList__presentationStudy-table .table-price-direction-row th:nth-child(n+2),
#presentation .resultList__presentationStudy-table .table-price-direction-row th:nth-child(n+2),
#resultList .resultList__presentationStudy-table .table-price-direction-row th:nth-child(n+2) {
    border-left: 2px solid #0070ab;
    text-align: center
}

/* Gap ONLY when there is NO price row:
   direction row followed immediately by another direction row */
.resultList__presentationStudy-table tbody tr.table-direction-row + tr.table-direction-row > th,
.resultList__presentationStudy-table tbody tr.table-direction-row + tr.table-direction-row > td {
    border-top: 18px solid #fff !important;
}

/* Separator between directions when no price row */
.resultList__presentationStudy-table .table-separator-spacer,
.presentation-table-modal .resultList__presentationStudy-table .table-separator-spacer,
#presentation .resultList__presentationStudy-table .table-separator-spacer,
#resultList .resultList__presentationStudy-table .table-separator-spacer {
    height: 18px !important;
    line-height: 18px !important;
    font-size: 12px;
    color: #10486a;
}

/* Debug mode: highlight separators */
.debug-table .resultList__presentationStudy-table .table-separator-row td,
#presentation.debug-table .resultList__presentationStudy-table .table-separator-row td,
#resultList.debug-table .resultList__presentationStudy-table .table-separator-row td {
    background: rgba(255, 0, 0, 0.08) !important;
}

.presentation-table-modal .resultList__presentationStudy-table.legend,
#presentation .resultList__presentationStudy-table.legend,
#resultList .resultList__presentationStudy-table.legend {
    margin-bottom: 1rem;
    font-size: .85rem
}

.presentation-table-modal .resultList__presentationStudy-table.legend bold,
#presentation .resultList__presentationStudy-table.legend bold,
#resultList .resultList__presentationStudy-table.legend bold {
    font-weight: 500;
    color: #10486a
}

/* .presentation-table-modal .resultList__presentationStudy-table.ranking,
#asside-resultList,
#presentation .resultList__presentationStudy-table.ranking,
#resultList .resultList__presentationStudy-table.ranking {
    overflow: hidden
} */

.presentation-table-modal .resultList__presentationStudy-table.ranking .ranking-item,
.presentation-table-modal .resultList__presentationStudy-table.ranking .ranking-item a,
#presentation .resultList__presentationStudy-table.ranking .ranking-item,
#presentation .resultList__presentationStudy-table.ranking .ranking-item a,
#resultList .resultList__presentationStudy-table.ranking .ranking-item,
#resultList .resultList__presentationStudy-table.ranking .ranking-item a {
    background-color: #56aad8;
    text-transform: uppercase;
    color: #fff;
    font-size: 1.75rem;
    font-family: 'BebasNeue_Book'
}

.presentation-table-modal .resultList__presentationStudy-table.ranking .ranking-item a bold,
.presentation-table-modal .resultList__presentationStudy-table.ranking .ranking-item bold,
#presentation .resultList__presentationStudy-table.ranking .ranking-item a bold,
#presentation .resultList__presentationStudy-table.ranking .ranking-item bold,
#resultList .resultList__presentationStudy-table.ranking .ranking-item a bold,
#resultList .resultList__presentationStudy-table.ranking .ranking-item bold {
    font-family: 'BebasNeue';
    padding-right: 10px
}

.presentation-table-modal .resultList__presentationStudy-table.ranking .ranking-item a:nth-child(n+2),
.presentation-table-modal .resultList__presentationStudy-table.ranking .ranking-item:nth-child(n+2),
#presentation .resultList__presentationStudy-table.ranking .ranking-item a:nth-child(n+2),
#presentation .resultList__presentationStudy-table.ranking .ranking-item:nth-child(n+2),
#resultList .resultList__presentationStudy-table.ranking .ranking-item a:nth-child(n+2),
#resultList .resultList__presentationStudy-table.ranking .ranking-item:nth-child(n+2) {
    font-family: 'BebasNeue_Book'
}

@media (max-width: 37.5em) {

    .presentation-table-modal .resultList__presentationStudy-table.ranking .ranking-item a:nth-child(n+2),
    .presentation-table-modal .resultList__presentationStudy-table.ranking .ranking-item:nth-child(n+2),
    #presentation .resultList__presentationStudy-table.ranking .ranking-item a:nth-child(n+2),
    #presentation .resultList__presentationStudy-table.ranking .ranking-item:nth-child(n+2),
    #resultList .resultList__presentationStudy-table.ranking .ranking-item a:nth-child(n+2),
    #resultList .resultList__presentationStudy-table.ranking .ranking-item:nth-child(n+2) {
        margin-left: 15px
    }
}

.presentation-table-modal .resultList__presentationStudy-table.link,
#presentation .resultList__presentationStudy-table.link,
#resultList .resultList__presentationStudy-table.link {
    width: 100%;
    text-align: right;
    margin-top: 1rem
}

.presentation-table-modal .resultList__presentationStudy-table.link a,
#presentation .resultList__presentationStudy-table.link a,
#resultList .resultList__presentationStudy-table.link a {
    font-family: 'BebasNeue';
    color: #b63549;
    font-size: 1.7rem
}

@media (max-width: 37.5em) {

    .presentation-table-modal .resultList__presentationStudy-table.link a,
    #presentation .resultList__presentationStudy-table.link a,
    #resultList .resultList__presentationStudy-table.link a {
        font-size: 1.5rem
    }
}

#presentation .presentation__body .presentation__head-title {
    background-color: #0070ab;
    padding: 15px 40px;
    color: #fff;
    margin-bottom: 3px
}

#presentation .presentation__body .presentation__head-title h2,
#presentation .presentation__body .presentation__head-title h3 {
    font-size: 2rem;
    line-height: 35px;
    margin: 0;
    font-family: 'BebasNeue_Book'
}

#presentation .presentation__body-gallery {
    margin-top: 15px
}

#presentation .presentation__body-gallery a,
#presentation .presentation__body-information .panel.panel-information a {
    color: #fff
}

#presentation .presentation__body-gallery .hidden {
    display: none
}

#presentation .presentation__body-gallery .gallery {
    position: relative;
    height: 220px;
    background-size: cover
}

#presentation .presentation__body-gallery .gallery p {
    font-size: 1.5rem;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 999;
    text-align: center;
    width: 100%;
    font-family: 'BebasNeue_Book';
    margin-bottom: 5px
}

#presentation .presentation__body-gallery .gallery p img {
    max-width: 40px;
    padding-right: 15px
}

#presentation .presentation__body-gallery .gallery:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-image: linear-gradient(to top, rgba(2, 115, 150, .95), rgba(2, 115, 150, .2), rgba(2, 115, 150, 0), rgba(2, 115, 150, 0))
}

#presentation .presentation__body-gallery .maps {
    height: 220px
}

#presentation .presentation__body-gallery .maps img {
    height: 100%
}

#presentation .presentation__body-gallery .maps #map {
    height: 220px;
    width: 100%
}

#presentation .container-presentatnio,
#presentation .container-presentatnio p,
#presentation .container-presentatnio span,
#presentation .container-presentatnio strong,
#presentation .container-presentatnio em,
#presentation .container-presentatnio b,
#presentation .container-presentatnio i,
#presentation .container-presentatnio u,
#presentation .container-presentatnio a,
#presentation .container-presentatnio li,
#presentation .container-presentatnio ul,
#presentation .container-presentatnio ol,
#presentation .container-presentatnio div,
#presentation .container-presentatnio h1,
#presentation .container-presentatnio h2,
#presentation .container-presentatnio h3,
#presentation .container-presentatnio h4,
#presentation .container-presentatnio h5,
#presentation .container-presentatnio h6,
#presentation .presentation__body-information>.container,
#presentation .presentation__body-information>.container p,
#presentation .presentation__body-information>.container span,
#presentation .presentation__body-information>.container strong,
#presentation .presentation__body-information>.container em,
#presentation .presentation__body-information>.container b,
#presentation .presentation__body-information>.container i,
#presentation .presentation__body-information>.container u,
#presentation .presentation__body-information>.container a,
#presentation .presentation__body-information>.container li,
#presentation .presentation__body-information>.container ul,
#presentation .presentation__body-information>.container ol,
#presentation .presentation__body-information>.container div,
#presentation .presentation__body-information>.container h1,
#presentation .presentation__body-information>.container h2,
#presentation .presentation__body-information>.container h3,
#presentation .presentation__body-information>.container h4,
#presentation .presentation__body-information>.container h5,
#presentation .presentation__body-information>.container h6 {
    font-family: inherit;
    font-size: 1.1rem
}

#presentation .presentation__body-information .newspaper-four {
    column-count: 4
}

@media (max-width: 37.5em) {
    #presentation .presentation__body-information .newspaper-four {
        column-count: 1
    }
}

#presentation .presentation__body-information .newspaper-three {
    column-count: 3
}

@media (max-width: 37.5em) {
    #presentation .presentation__body-information .newspaper-three {
        column-count: 1
    }
}

#presentation .presentation__body-information .newspaper-two {
    column-count: 2
}

@media (max-width: 37.5em) {
    #presentation .presentation__body-information .newspaper-two {
        column-count: 1
    }
}

#presentation .presentation__body-information .subTitle {
    font-size: 1.7rem;
    line-height: 1.7rem
}

#presentation .presentation__body-information .panel {
    font-family: 'BebasNeue_Book';
    font-size: 1.8rem
}

#presentation .presentation__body-information .panel.panel-information {
    color: #fff;
    padding: 50px 40px;
    text-align: justify
}

#asside-resultList .subtitle_asside span bold,
#asside-resultList bold,
#presentation .presentation__body-information .panel.panel-information a .bold {
    font-family: 'BebasNeue'
}

#presentation .presentation__body-information .panel.panel-small {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 1rem;
    line-height: 1.2rem;
    padding: 8px 15px
}

#presentation .presentation__body-information .panel.panel-recruitment {
    font-size: 1.4rem;
    background-image: url(../image/icon_calendar.png);
    background-repeat: no-repeat;
    background-position: top 10px right 10px;
    background-size: 30px;
    padding: 10px 20px 30px;
    color: #fff
}

#presentation .presentation__body-information .panel.panel-recruitment h5 {
    font-size: 1.5rem
}

#presentation .presentation__body-information .panel.panel-recruitment p {
    margin: 0
}

#presentation .presentation__body-information ul.list-presentation li {
    list-style: none
}

#presentation .presentation__body-information ul.list-presentation.underline li {
    padding-top: 5px;
    padding-bottom: 10px;
    border-bottom: 1px solid #000
}

#presentation .presentation__body-information ul.list-presentation span.badge {
    font-size: 1rem;
    min-width: 1.5em;
    padding: .25em .4em;
    border-radius: 50%;
    color: #fff
}

#presentation .presentation__body-information ol.list-presentation {
    font-size: 1rem
}

#presentation .presentation__body-information .bold {
    font-weight: 500
}

#presentation .presentation__body-information .line {
    width: 100%;
    background-color: #000
}

#presentation .presentation__body-information .title-div {
    text-align: center
}

#presentation .presentation__body-information .title {
    display: inline-block;
    text-align: center;
    font-family: 'BebasNeue';
    font-size: 2.5rem;
    position: relative;
    margin: 45px 0
}

#presentation .presentation__body-information .title:after,
#presentation .presentation__body-information .title:before {
    content: '';
    position: absolute;
    width: 100vw;
    height: 5px;
    background-color: #000;
    top: 50%;
    margin-top: -5px
}

@media (max-width: 37.5em) {

    #presentation .presentation__body-information .title:after,
    #presentation .presentation__body-information .title:before {
        display: none
    }
}

#presentation .presentation__body-information .title:before {
    left: 100%;
    margin-left: 60px
}

#presentation .presentation__body-information .title:after {
    right: 100%;
    margin-right: 60px
}

#presentation .presentation__body-information .title.color-information-blue:after,
#presentation .presentation__body-information .title.color-information-blue:before {
    background-color: #027396
}

#presentation .presentation__body-information .title.color-information-blue-sea:after,
#presentation .presentation__body-information .title.color-information-blue-sea:before {
    background-color: #0a9d99
}

#presentation .presentation__body-information .title.color-information-purple:after,
#presentation .presentation__body-information .title.color-information-purple:before {
    background-color: #5674b9
}

#presentation .presentation__body-information .color-information-blue {
    color: #027396
}

#article .article_content .author .published,
#presentation .presentation__body-information .color-information-blue-text {
    color: #10486a
}

#presentation .presentation__body-information .color-information-blue-sea {
    color: #0a9d99
}

#presentation .presentation__body-information .color-information-purple {
    color: #5674b9
}

#article .title-block .title.color-information-blue:after,
#article .title-block .title.color-information-blue:before,
#presentation .presentation__body-information .bg-information-blue {
    background-color: #027396
}

#article .title-block .title.color-information-blue-sea:after,
#article .title-block .title.color-information-blue-sea:before,
#presentation .presentation__body-information .bg-information-blue-sea {
    background-color: #0a9d99
}

#article .title-block .title.color-information-purple:after,
#article .title-block .title.color-information-purple:before,
#presentation .presentation__body-information .bg-information-purple {
    background-color: #5674b9
}

#article .title-block.title-div {
    text-align: center
}

#article .title-block .title {
    display: inline-block;
    text-align: center;
    font-family: 'BebasNeue';
    font-size: 2.5rem;
    position: relative;
    margin: 45px 0;
    color: #027396
}

#article .title-block .title:after,
#article .title-block .title:before {
    content: '';
    position: absolute;
    width: 100vw;
    height: 5px;
    background-color: #000;
    top: 50%;
    margin-top: -5px
}

@media (max-width: 37.5em) {

    #article .title-block .title:after,
    #article .title-block .title:before {
        display: none
    }
}

#article .title-block .title:before {
    left: 100%;
    margin-left: 60px
}

#article .title-block .title:after {
    right: 100%;
    margin-right: 60px
}

#article .list-comments {
    padding: 15px;
    margin: 10px 0;
    border: 1px solid #d4d4d4;
    -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, .175);
    box-shadow: 0 1px 6px rgba(0, 0, 0, .175)
}

#article .list-comments .header {
    border-top: 2px solid #027396;
    padding-top: 10px
}

#article .article__header .title_bg {
    color: #fff;
    background-color: #027396;
    padding: 50px 20px;
    display: flex;
    flex-direction: column
}

@media (min-width: 1250px) and (max-width:1500px) {
    #article .article__header .title_bg {
        padding: 15px
    }

    #article .article__header .title_bg h2 {
        font-size: 30px;
        margin: 0;
        line-height: 35px
    }
}

#article .article__header .title_header {
    font-family: 'BebasNeue_Book'
}

#article .article__header .title_content {
    text-align: justify
}

#article .article__header .backgroundImage {
    width: 100%;
    height: 100%;
    background-size: cover;
    position: relative
}

@media (min-width: 1250px) and (max-width:1500px) {
    #article .article__header .backgroundImage {
        height: 300px
    }
}

#article .article__header .signature-image {
    position: absolute;
    bottom: 0;
    padding: 10px;
    width: 100%;
    background-color: rgba(0, 0, 0, .5);
    color: #fff;
    text-align: right
}

#article .article_content .author h5 {
    display: inline-block;
    font-size: 1.2rem;
    line-height: 1.1rem;
    border-bottom: 1px solid #10486a;
    margin: 0 0 7px;
    padding-bottom: 8px;
    color: #10486a;
    font-weight: 500
}

@media (min-width: 37.5em) and (max-width:49.8em) {
    #asside-resultList {
        padding-top: 0
    }
}

#asside-resultList .asside-resultList .reviews__rate img {
    width: 8%
}

#asside-resultList .subtitle_asside {
    line-height: 1
}

#asside-resultList .subtitle_asside span {
    position: relative;
    font-family: 'BebasNeue_Book';
    color: #676d71;
    font-size: 2.5em
}

#asside-resultList .subtitle_asside span.line:before {
    content: '';
    position: absolute;
    top: 40%;
    height: 7px;
    width: 100vw;
    background-color: #989c9e;
    margin-left: 110%
}

#asside-resultList .asside__news-feed.title {
    font-weight: 500;
    font-size: 2rem;
    padding: 0;
    color: #676d71
}

#asside-resultList .asside__news-feed.list-block h3 {
    margin: 0;
    padding-bottom: 10px;
    line-height: 10px;
    border-bottom: 1px solid #676d71
}

#asside-resultList .asside__news-feed.list-block h3 a {
    color: #0070ab;
    line-height: 20px;
    font-size: 1rem;
    display: block
}

#asside-resultList .asside__news-feed.list-block span.date {
    display: block;
    margin-top: 5px;
    color: #646b6f
}

#asside-resultList .asside__news-feed.gallery-block {
    display: block;
    height: 200px;
    position: relative;
    width: 100%;
    margin-bottom: 15px
}

#asside-resultList .asside__news-feed.gallery-block .image {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: 50% 50%
}

#asside-resultList .asside__news-feed.gallery-block h3 {
    font-size: 1rem;
    line-height: 16px;
    position: absolute;
    bottom: 0;
    left: 0;
    background-image: linear-gradient(to top, rgba(0, 0, 0, .9), rgba(0, 0, 0, .8), rgba(0, 0, 0, .5), transparent);
    width: 100%;
    color: #fff;
    padding: 20px 8px 8px;
    text-align: center;
    margin-bottom: 0
}

#footer {
    background: #145782;
    clear: both;
    padding: 15px
}

.footer_links {
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin-bottom: 40px;
    margin-top: 20px
}

@media (max-width: 37.5em) {
    .footer_links {
        flex-direction: column
    }
}

.footer_link {
    font-family: "BebasNeue_Book";
    font-size: 19px;
    text-transform: uppercase;
    color: #fff;
    padding: 5px 15px;
    border-right: 1px solid #fff
}

.footer_link:last-child {
    border-right: 0
}

.footer_link.active {
    font-family: "BebasNeue"
}

.footer_link:hover {
    color: #fff;
    text-decoration: none
}

#my-coockies {
    position: fixed;
    display: none;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 99999999999;
    background: #000000ad;
    overflow: auto
}

.my_coockie_container {
    border: 1px solid #efefef;
    background: #fff
}

.col_logo_coockie {
    background-color: #003454
}

.coockie-logo-img {
    max-height: 100%;
    max-width: 100%;
    margin: 0 auto;
    display: block
}

.my-hide-contianer-coockie {
    height: 60%;
    overflow: auto
}

.overflow-active {
    overflow-y: hidden !important
}

h3.resultList__presentationStudy-departament {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    color: #333;
    font-size: 1.5rem;
    padding: 0 20px;
    margin-bottom: .2rem;
    line-height: 44px;
    clear: both;
    border-left: 4px solid #b7364a
}

.a-list-wyd {
    font-size: 1.4rem !important
}

.input-form-my {
    border-radius: 0 !important;
    background-color: rgba(0, 0, 0, .65) !important;
    border: 0 !important;
    color: #fff !important;
    display: inline-block !important;
    width: 300px !important
}

.h2-naglowek {
    font-family: 'BebasNeue_Book';
    background-color: #0070ab;
    color: #fff;
    font-size: 2rem;
    padding: 0 40px;
    margin-bottom: .2rem;
    clear: both
}

.btn-color-darkblue {
    background-color: #0d537e !important
}

a:hover.btn-color-darkblue {
    background-color: #0070ab !important
}

.f-size-null-7 {
    font-size: .7rem
}

.f-size-null-9 {
    font-size: .9rem
}

.f-size-one-3 {
    font-size: 1.3rem
}

.f-size-one-7 {
    font-size: 1.7rem
}

.f-size-two-5 {
    font-size: 2.5rem
}

.f-size-two {
    font-size: 2rem
}

.color-blue-my {
    color: #0070ab
}

.kreska-div {
    border-top: 7px solid #0070ab;
    width: 100%;
    max-width: 30%
}

.artykul_left_a_miasta {
    display: block;
    height: 200px;
    position: relative;
    width: 100%
}

.artykul_temat_right_a {
    font-size: 1rem;
    line-height: 16px;
    position: absolute;
    bottom: 0;
    left: 0;
    background-image: linear-gradient(to top, rgba(0, 0, 0, .9), rgba(0, 0, 0, .8), rgba(0, 0, 0, .5), transparent);
    width: 100%;
    color: #fff;
    padding: 20px 8px 8px;
    text-align: center;
    margin-bottom: 0
}

.kierunki-menu-gl-li>a,
.kierunki-right-menu-li>a,
a.artykul_temat_right_a:hover {
    color: #fff
}

.f-size-one-4 {
    font-size: 1.4rem !important
}

.ul.ul-list {
    list-style: none
}

.f-size-one-2 {
    font-size: 1.2rem !important
}

.f-size-one-1 {
    font-size: 1.1rem !important
}

.f-size-one,
.select2-container--classic .select2-selection--single .select2-selection__placeholder {
    font-size: 1rem !important
}

.kierunki-menu-gl-li,
.kierunki-right-menu-li {
    line-height: 1.5;
    border-bottom: 2px solid #fff;
    list-style: none
}

.kierunki-menu-gl-li:nth-child(n) {
    background-color: #0592dc
}

/* YouTube lazy embeds w treściach artykułów (np. strony miast)
   50% szerokości na desktopie, proporcje 16:9, wrapper figure/article-video. */
.section-main__article-bottom .article-video {
    margin: 24px auto;
    text-align: center;
    width: 70%;
    min-width: 420px;
    max-width: 900px;
}

.section-main__article-bottom .article-video__wrapper.youtube-lazy-container {
    position: relative;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin: 0 auto;
    padding-bottom: 56.25%; /* 16:9 */
    height: 0;
    overflow: hidden;
    background: #000;
}

.section-main__article-bottom .article-video__wrapper.youtube-lazy-container iframe,
.section-main__article-bottom .article-video__wrapper.youtube-lazy-container .youtube-thumbnail {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Kompatybilność: stare embedy z CMS zapisane jako .yt-embed-wrap/.yt-embed
   Ujednolicamy layout: 50% desktop (wyśrodkowane), 100% mobile, proporcje 16:9. */
.section-main__article-bottom #content .yt-embed-wrap {
    margin: 24px auto;
    width: 70%;
    min-width: 420px;
    max-width: 900px;
}

.section-main__article-bottom #content .yt-embed-wrap .yt-embed {
    position: relative;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin: 0 auto;
    padding-bottom: 56.25%; /* 16:9 */
    height: 0;
    overflow: hidden;
    background: #000;
}

.section-main__article-bottom #content .yt-embed-wrap .yt-embed iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Jeśli iframe został skonwertowany do naszego lazy embed (`.article-video__wrapper`)
   wewnątrz starego wrappera `.yt-embed`, to nie możemy mieć dwóch mechanizmów 16:9 naraz.
   Resetujemy `.yt-embed`, a layout kontroluje `.article-video__wrapper`. */
.section-main__article-bottom #content .yt-embed-wrap .yt-embed:has(.article-video__wrapper.youtube-lazy-container) {
    width: auto;
    max-width: none;
    padding-bottom: 0;
    height: auto;
    overflow: visible;
    background: transparent;
}

@media (max-width: 768px) {
    .section-main__article-bottom .article-video {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .section-main__article-bottom .article-video__wrapper.youtube-lazy-container {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .section-main__article-bottom #content .yt-embed-wrap {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .section-main__article-bottom #content .yt-embed-wrap .yt-embed {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }
}

.kierunki-menu-gl-li:nth-child(3n-1) {
    background-color: #145782
}

.kierunki-menu-gl-li:nth-child(3n+1) {
    background-color: #0070ab
}

.border-kreska-bottom {
    border-bottom: 10px solid #b7364a
}

.border-kreska-left {
    border-left: 5px solid #b7364a
}

.border-kreska-bottom-gray {
    border-bottom: 8px solid #0070ab
}

.kierunki-right-menu-li:nth-child(n+1) {
    background-color: #0592dc
}

.kierunki-right-menu-li:nth-child(even) {
    background-color: #0070ab
}

.select2-selection__rendered {
    line-height: 42px !important
}

.select2-selection--single {
    height: 40px !important
}

.select2-selection__arrow {
    height: 36px !important
}

li.select2-selection__choice {
    max-width: 100%;
    overflow: hidden;
    word-wrap: normal !important;
    white-space: normal
}

ul.select2-selection__rendered {
    padding-right: 12px !important
}

span.select2-selection.select2-selection--single {
    border-radius: 0;
    background-color: rgba(0, 0, 0, .65);
    background-image: none !important;
    color: #fff !important;
    border: 0;
    box-shadow: 0 0 3px 1px #0000002e
}

span.select2-selection__placeholder {
    color: #fff !important
}

#home .select2-container--default .select2-selection--single {
    background-color: #fff;
    border: 1px solid #d8dee9;
    border-radius: 8px;
    min-height: 62px;
    box-shadow: none;
}

#home .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #50617d;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.35;
    padding: 0 46px 0 56px;
}

#home .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #8a96ab;
}

#home .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 60px;
    width: 42px;
    right: 0;
    background-color: transparent;
    border-left: 0;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
}

#home .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #5b6c8b transparent transparent;
    border-width: 7px 6px 0;
    margin-top: -2px;
}

.select2-container--classic .select2-selection--single .select2-selection__arrow b {
    border-color: #fff transparent transparent;
    border-style: solid;
    border-width: 10px 8px 0;
    height: 0;
    left: 50%;
    margin-left: -8px;
    margin-top: -2px;
    position: absolute;
    top: 50%;
    width: 0
}

.select2-container--classic .select2-selection--single .select2-selection__arrow {
    background-color: rgba(0, 0, 0, .65);
    border: 0;
    border-left: 1px solid #1b1b1b;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    height: 26px;
    position: absolute;
    top: 1px;
    right: 1px;
    width: 40px;
    background-image: none
}

.select2-container--classic .select2-dropdown {
    overflow: hidden;
    z-index: 2200;
    margin-top: 8px;
    border: 1px solid #d8e1ec;
    border-radius: 12px;
    background-color: #fff;
    color: #0b2448;
    box-shadow: 0 14px 34px rgba(11, 36, 72, .14)
}

.select2-container--open {
    z-index: 2200
}

.select2-container--classic .select2-search--dropdown {
    padding: 10px 12px;
    background: #fff
}

.select2-container--classic .select2-search--dropdown .select2-search__field {
    height: 38px;
    min-height: 38px;
    border: 1px solid #d8e1ec;
    border-radius: 8px;
    background: #fff;
    color: #0b2448;
    padding: 7px 12px;
    outline: none
}

.select2-container--classic .select2-search--dropdown .select2-search__field:focus {
    border-color: #9db7d1;
    box-shadow: 0 0 0 3px rgba(77, 129, 176, .12)
}

.select2-container--classic .select2-results>.select2-results__options {
    max-height: 240px;
    padding: 6px
}

.select2-container--classic .select2-results__group {
    padding: 8px 12px 6px;
    color: #5f708a !important;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    background: #f6f9fc !important;
    border-radius: 8px
}

.select2-container--classic .select2-results__option {
    margin-top: 2px;
    padding: 9px 12px;
    border-radius: 8px;
    color: #0b2448 !important;
    line-height: 1.25
}

.select2-container--classic .select2-results__option--highlighted[aria-selected],
.select2-container--classic .select2-results__option--highlighted[data-selected],
.select2-container--classic .select2-results__option--highlighted {
    background: #eaf3fb !important;
    color: #0b2448 !important
}

.select2-container--classic .select2-results__option[aria-selected=true],
.select2-container--classic .select2-results__option[data-selected=true],
.select2-container--classic .select2-results__option[aria-selected=true].select2-results__option--highlighted,
.select2-container--classic .select2-results__option[data-selected=true].select2-results__option--highlighted {
    background: #f1f6fb !important;
    color: #0b2448 !important
}

@media (max-width: 767.98px) {
    .select2-container--classic .select2-results>.select2-results__options {
        max-height: 190px
    }

    .select2-container--classic .select2-dropdown {
        box-shadow: 0 12px 28px rgba(11, 36, 72, .16)
    }
}

.artykuly_main_article {
    display: block;
    height: 200px;
    position: relative;
    width: 100%
}

.container-artykul-item {
    height: 300px !important
}

.img-artykul-list {
    opacity: 0;
    position: absolute;
    height: 100%;
    width: 100%
}

.article-text-padding {
    padding-right: 1rem;
    padding-left: 1rem;
    position: absolute;
    bottom: 0;
    left: 0;
    background-image: linear-gradient(to top, rgba(0, 0, 0, .9), rgba(0, 0, 0, .8), rgba(0, 0, 0, .5), transparent);
    width: 100%;
    color: #fff;
    padding: 20px 8px 8px;
    text-align: center;
    margin-bottom: 0
}

.show>button#navbarDropdown {
    background-color: #00385a;
    box-shadow: none
}

.my-p-op {
    padding: .5rem !important
}

.color-white {
    color: #fff !important
}

.backgroundImage-new {
    width: 100%;
    height: 100%;
    position: relative;
    min-height: 250px;
    overflow: hidden
}

.backgroundImage-new__img {
    width: 100%;
    height: 100%;
    min-height: 250px;
    object-fit: cover;
    display: block
}

.title_bg_new {
    color: #fff;
    background-color: #027396;
    padding: 50px 20px;
    display: flex;
    flex-direction: column
}

.title-bg-new-slim {
    color: #fff;
    background-color: #027396;
    min-height: 75px;
}

.title_header_new {
    font-family: 'BebasNeue_Book'
}

.f-s-three {
    font-size: 3rem
}

.f-s-two-5 {
    font-size: 2.5rem
}

.f-s-two-3 {
    font-size: 2.3rem
}

.f-s-two-1 {
    font-size: 2.1rem
}

.f-s-two {
    font-size: 2rem
}

.color-black {
    color: #000 !important
}

.f-s-0-8 {
    font-size: .8rem !important
}

.f-s-one-8 {
    font-size: 1.8rem
}

.f-s-one-7 {
    font-size: 1.7rem
}

.f-s-one-5 {
    font-size: 1.5rem
}

.f-s-one-4 {
    font-size: 1.4rem
}

.f-s-one-3 {
    font-size: 1.3rem
}

.f-s-one-2 {
    font-size: 1.2rem
}

.f-s-one-1 {
    font-size: 1.1rem
}

.f-s-one {
    font-size: 1rem
}

.bg-img-cover {
    background-size: cover;
    position: relative;
    background-position: center
}

.li-opinie {
    line-height: 1.5;
    border-bottom: 2px solid #fff;
    list-style: none
}

.grid-opinie-lista {
    display: grid;
    grid-template-columns: repeat(2, 1fr)
}

.grid-opinie-lista-city {
    display: grid;
    grid-template-columns: repeat(4, 1fr)
}

.grid-book-lista {
    display: grid;
    grid-template-columns: repeat(2, 1fr)
}

@media only screen and (max-width: 992px) {
    .grid-opinie-lista-city {
        display: grid;
        grid-template-columns: repeat(3, 1fr)
    }
}

@media only screen and (max-width: 768px) {
    .grid-opinie-lista-city {
        display: grid;
        grid-template-columns: repeat(2, 1fr)
    }

    .grid-opinie-lista {
        display: grid;
        grid-template-columns: repeat(1, 1fr)
    }
}

.f-w-400 {
    font-weight: 400
}

.f-w-500 {
    font-weight: 500
}

.f-w-600 {
    font-weight: 600
}

.color-dark-blue {
    color: #004e7d
}

.grid-vertical-center {
    align-items: center
}

.c-kreska:before {
    content: "";
    position: absolute;
    height: 5px;
    left: 0;
    top: 40%;
    border-top: 7px solid #027396;
    width: 100%
}

.icon-bookcase-h2 {
    max-height: 50px
}

.icon-bookcase-h2-medal,
.icon-city-h2 {
    max-height: 60px
}

.img-index-book {
    max-height: 300px
}

.bottom-date-zajawka {
    position: absolute;
    bottom: 2rem
}

.bg-red {
    background-color: #dd0035
}

.bg-dark-blue-opacity {
    background-color: #0d537ee6
}

.border-left-book-main {
    border-left: 2px solid #bad9e3
}

.min-height-title-book-index {
    min-height: 60px
}

.book-image-product {
    max-height: 400px
}

#ksiazki_ocena .rateit-selected {
    color: #efc529 !important
}

.div-article-belka-dzielnica-img {
    min-height: 300px
}

.image-city,
.image-index-interview {
    opacity: 0;
    width: 100%;
    height: 100%
}

img.image-city,
img.image-index-interview {
    max-width: 100%;
    max-height: 100%;
    width: 200px;
    height: 120px
}

img.image-index-interview {
    height: 320px
}

.image-index-interview-border-radius {
    border-radius: 5px
}

.border-kreska-left-dark-blue {
    border-left: 1px solid #0d537e
}

.border-kreska-bottom-gray-city {
    border-bottom: 3px solid #b7364a
}

.border-radius-city {
    border-radius: 5px
}

.h-76 {
    height: 76px
}

.max-z-index {
    z-index: 9999999
}

.naglowek-interview-include {
    height: 76px;
    position: relative !important;
    display: inline-flex;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: row !important;
    background-color: #fff;
    padding: 1em;
    margin: 0
}

.interview-image-presentation {
    max-width: 30%;
    max-height: 400px
}

#swiper-pagination-aktualnosci {
    position: relative;
    text-align: center;
    -webkit-transition: 300ms opacity;
    -o-transition: 300ms opacity;
    transition: 300ms opacity;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    z-index: 10
}

#swiper-pagination-aktualnosci .swiper-pagination-bullet {
    height: 15px !important;
    width: 15px !important;
    opacity: 1 !important;
    margin-right: 5px !important;
    margin-left: 5px !important
}

.swipper-interview-border-right {
    border-right: 2px solid #027396
}

#NajlepszeUczelnieNaSciwiecieLeft {
    overflow: hidden
}

.interview-title-font {
    font-size: 1.8rem
}

@media (max-width: 768px) {
    .interview-title-font {
        font-size: 1rem
    }
}

.interview-header-font {
    font-size: 1.3rem
}

@media (max-width: 768px) {
    .interview-header-font {
        font-size: 1rem
    }
}

img {
    max-width: 100%
}

.cursor-pointer {
    cursor: pointer;
}

.cursor-default {
    cursor: default;
}

.special_background_for_img {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.news-feed.gallery-block {
    display: block;
    height: 200px;
    position: relative;
    width: 100%;
    margin-bottom: 15px;
}

.news-feed.gallery-block .image {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: 50% 50%;
}

.news-feed.gallery-block h3 {
    font-size: 1rem;
    line-height: 16px;
    position: absolute;
    bottom: 0;
    left: 0;
    background-image: linear-gradient(to top, rgba(0, 0, 0, .9), rgba(0, 0, 0, .8), rgba(0, 0, 0, .5), transparent);
    width: 100%;
    color: #fff;
    padding: 20px 8px 8px;
    text-align: center;
    margin-bottom: 0;
}

.subtitle_asside {
    line-height: 1;
}

.subtitle_asside span {
    position: relative;
    font-family: 'BebasNeue_Book';
    color: #676d71;
    font-size: 2.5em;
}

.dni-otwarte {
    clear: both;
    border-bottom: 1px dashed #ccc;
    padding: 25px;
    transition-property: background, box-shadow, border-color, border-width;
    transition-duration: .3s;
    cursor: pointer;
    margin-bottom: 20px
}

.dni-otwarte:hover {
    box-shadow: 0 2px 13px rgba(0, 0, 0, .3), 0 4px 13px rgba(0, 0, 0, .03);
    border-bottom: 2px solid #f80124
}

.dni-hover:hover {
    box-shadow: 0 2px 13px rgba(0, 0, 0, .3), 0 4px 13px rgba(0, 0, 0, .03);
    border-bottom: 2px solid #f80124
}

.dni-otwarte-row {
    display: flex;
    align-items: center
}

.dni-otwarte-row-image {
    width: 100%;
    margin-top: 20px
}

.dni-otwarte-row .dni-otwarte-left-section {
    flex-basis: 100%;
    width: 100%;
}

.dni-otwarte-row .dni-otwarte-full-section {
    width: 100%;
}

.dni-otwarte-row .dni-otwarte-right-section {
    min-width: 50px;
    text-align: right;
    margin: 0 auto
}

.dni-otwarte-row .dni-otwarte-right-section h1 {
    font-size: 18px;
    line-height: 18px
}

.dni-otwarte-row .dni-otwarte-data {
    font-size: 17.4px;
    color: #0094d6;
    padding-bottom: 5px
}

.dni-otwarte-data {
    font-size: 17.4px;
    color: #0094d6;
    padding-bottom: 5px
}

.logo-dni-otwarte {
    max-width: 100px;
    max-height: 100px;
    float: right;
}

.dni-otwarte-row .dni-otwarte-uczelnia {
    font-size: 16.4px;
    color: #232323;
    padding-bottom: 10px
}

.dni-otwarte-row .dni-otwarte-uczelnia-description {
    font-size: 14px;
    color: #232323;
    padding-bottom: 10px
}

.dni-otwarte-row .dni-otwarte-miasto {
    font-size: 16px;
    color: #232323
}

.dni-otwarte-row .dni-otwarte-miasto span {
    position: relative;
    top: 3px;
    padding-right: 15px
}

.dni-otwarte-row .dni-otwarte-logo {
    text-align: center;
    margin: 0 auto
}

.dni-otwarte-row .dni-otwarte-logo img {
    width: 100%;
    max-width: 70%;
    max-height: 100px;
    max-width: 100px;
}

.dni-otwarte-bottom-kierunki {
    margin-top: 15px;
    padding: 10px;
    background-color: rgba(139, 204, 252, .2)
}

.dni-otwarte-bottom-kierunki .dni-otwarte-bottom-kierunki-tytul {
    margin: 5px 0
}

.dni-otwarte-bottom-kierunki .dni-otwarte-bottom-kierunki-list {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: space-between;
    list-style: none
}

.dni-otwarte-bottom-kierunki .dni-otwarte-bottom-kierunki-list li {
    background-color: rgba(139, 204, 252, .6);
    padding: 5px
}

.open-day-top-information h3 a {
    font-size: 26px;
    padding-bottom: 10px;
    color: #044c7d
}

.open-day-top-information p {
    border: 1px solid rgba(0, 0, 0, .15);
    padding: 15px;
    color: #044c7d;
    font-size: 1rem;
    font-weight: 500;
    margin-top: 20px
}

.dni-otwarte-belka-break {
    background-color: #0094d6;
    text-align: center;
    padding: 5px;
    color: #fff;
    text-transform: uppercase;
    font-size: 15px;
    margin: 10px 0
}

/* Dni otwarte - poprawki mobilne */
.dni-otwarte-card-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.dni-otwarte-card-link:hover,
.dni-otwarte-card-link:focus,
.dni-otwarte-card-link:active,
.dni-otwarte-card-link:visited {
    text-decoration: none !important;
    color: inherit;
}

.dni-otwarte-card-link .dni-otwarte-data,
.dni-otwarte-card-link .dni-otwarte-time,
.dni-otwarte-card-link .dni-otwarte-card-meta-label,
.dni-otwarte-card-link .dni-otwarte-city-name {
    text-decoration: none !important;
}

.dni-otwarte-card-link:hover .dni-otwarte-data,
.dni-otwarte-card-link:hover .dni-otwarte-time,
.dni-otwarte-card-link:hover .dni-otwarte-card-meta-label,
.dni-otwarte-card-link:hover .dni-otwarte-city-name,
.dni-otwarte-card-link:focus .dni-otwarte-data,
.dni-otwarte-card-link:focus .dni-otwarte-time,
.dni-otwarte-card-link:focus .dni-otwarte-card-meta-label,
.dni-otwarte-card-link:focus .dni-otwarte-city-name,
.dni-otwarte-card-link:active .dni-otwarte-data,
.dni-otwarte-card-link:active .dni-otwarte-time,
.dni-otwarte-card-link:active .dni-otwarte-card-meta-label,
.dni-otwarte-card-link:active .dni-otwarte-city-name {
    text-decoration: none !important;
}

.dni-otwarte-hero-row {
    margin-left: 0;
    margin-right: 0;
}

.dni-otwarte-hero-shell {
    position: relative;
    background: linear-gradient(135deg, #0d537e 0%, #0970a1 100%);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 8px 22px rgba(3, 32, 49, 0.16);
}

.dni-otwarte-hero-content {
    position: absolute;
    inset: 0;
    z-index: 3;
    max-width: 720px;
    padding: clamp(16px, 2.4vw, 30px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.dni-otwarte-hero-content--no-image {
    position: relative;
    max-width: none;
    min-height: 220px;
}

.dni-otwarte-hero-eyebrow {
    margin: 0 0 8px;
    color: rgba(255, 255, 255, 0.88);
    text-transform: uppercase;
    letter-spacing: .22em;
    font-size: .75rem;
    font-weight: 700;
}

.dni-otwarte-hero-main-title {
    margin: 0;
    color: #fff;
    font-size: clamp(1.7rem, 3.2vw, 3.1rem);
    line-height: 1.1;
    font-weight: 800;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.28);
}

.dni-otwarte-hero-lead {
    margin: 10px 0 20px;
    color: rgba(255, 255, 255, 0.92);
    font-size: 1rem;
    max-width: 560px;
    text-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);
}

.dni-otwarte-hero-image-wrapper {
    position: relative;
}

.dni-otwarte-hero-image {
    display: block;
    width: 100%;
    height: clamp(250px, 31vw, 330px);
    object-fit: cover;
    border-radius: 20px;
}

.dni-otwarte-hero-image--main {
    object-fit: contain;
    display: block;
}

.dni-otwarte-hero-image-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(90deg, rgba(8, 67, 105, 0.88) 0%, rgba(9, 95, 141, 0.68) 46%, rgba(9, 95, 141, 0.22) 78%, rgba(9, 95, 141, 0) 100%);
}

.dni-otwarte-uczelnia-name {
    font-size: 1.2rem;
    line-height: 1.25;
    text-align: center;
    margin-bottom: 0 !important;
}

.dni-otwarte-card-shell {
    content-visibility: auto;
    contain-intrinsic-size: 920px;
}

.dni-otwarte-card-shell--modern {
    background: #fff;
    border-radius: 24px;
    border-color: #dde8f1 !important;
    box-shadow: 0 8px 24px rgba(15, 36, 52, 0.08);
    transition: transform .28s ease, box-shadow .28s ease;
}

.dni-otwarte-card-shell--modern:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 34px rgba(15, 36, 52, 0.13);
}

.dni-otwarte-list-section-title {
    padding: 8px 0 8px;
    border-bottom: 2px solid rgba(13, 83, 126, 0.2);
    font-weight: 700;
}

.dni-otwarte-list-section-title--past {
    border-bottom-color: rgba(108, 117, 125, 0.35);
    color: #495057 !important;
}

.dni-otwarte-card-shell--past {
    opacity: 0.96;
}

.dni-otwarte-card-shell--past .dni-otwarte-data {
    color: #495057;
}

.dni-otwarte-card-header-grid {
    display: grid;
    grid-template-columns: minmax(180px, 240px) minmax(0, 1fr) minmax(140px, 210px);
    align-items: center;
    gap: 12px;
    padding: 12px;
    border: 1px solid #d7edf9;
    border-radius: 18px;
    background: linear-gradient(90deg, #edf8ff 0%, #ffffff 48%, #f4f8fb 100%);
}

.dni-otwarte-card-date-wrap,
.dni-otwarte-card-city-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
}

.dni-otwarte-card-city-wrap {
    justify-content: flex-end;
}

.dni-otwarte-card-meta-label {
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
    color: #7a8a9c;
}

.dni-otwarte-card-school-wrap {
    text-align: center;
}

.dni-otwarte-card-school-wrap .dni-otwarte-uczelnia-description {
    margin-top: 12px;
    color: #596b79;
    font-size: .94rem;
    line-height: 1.4;
    text-align: center;
}

.dni-otwarte-card-description-box {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #dbe9f3;
    border-radius: 14px;
    background: linear-gradient(180deg, #f8fcff 0%, #f2f8fd 100%);
    box-shadow: 0 3px 10px rgba(24, 58, 86, 0.06);
}

.dni-otwarte-card-description-box .dni-otwarte-uczelnia-description {
    color: #415d72;
    font-size: .95rem;
    line-height: 1.55;
    padding: 4px 0;
    min-height: 0;
    margin: 0;
}

.dni-otwarte-card-description-text {
    display: block;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.dni-otwarte-card-icon-box {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #dff2ff;
    color: #056d9f;
}

.dni-otwarte-card-icon-box svg {
    width: 20px;
    height: 20px;
}

.dni-otwarte-time {
    display: block;
    margin-top: 2px;
    font-size: .88rem;
    color: #6f7f8d;
}

.dni-otwarte-data {
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.2;
}

.dni-otwarte-city-name {
    display: block;
    margin-top: 0;
    font-size: 1.05rem;
    font-weight: 700;
    color: #2a3440;
}

.dni-otwarte-card-city-text {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 0;
    min-height: 40px;
    text-align: right;
    padding-right: 8px;
}

.dni-otwarte-card-city-text .dni-otwarte-card-meta-label {
    line-height: 1;
    margin-bottom: 1px;
    transform: translateY(-1px);
}

.dni-otwarte-media-image {
    aspect-ratio: 16 / 9;
    object-fit: cover;
    transition: transform .35s ease;
}

.dni-otwarte-media-image-wrapper:hover .dni-otwarte-media-image {
    transform: scale(1.03);
}

.dni-otwarte-article-caption {
    background: rgba(0, 0, 0, 0.68);
}

.dni-otwarte-article-media-link {
    color: inherit;
    text-decoration: none;
}

.dni-otwarte-article-media-link:hover,
.dni-otwarte-article-media-link:focus {
    color: inherit;
    text-decoration: none;
}

.dni-otwarte-row-image-link {
    text-decoration: none;
}

.dni-otwarte-row-image-link:hover,
.dni-otwarte-row-image-link:focus {
    text-decoration: none;
}

.dni-otwarte-row-image-link:hover .dni-otwarte-row-image,
.dni-otwarte-row-image-link:focus .dni-otwarte-row-image {
    opacity: 0.92;
}

.dni-otwarte-row-image {
    max-height: 300px;
    object-fit: contain;
    cursor: pointer;
}

.dni-otwarte-opinion-btn {
    color: #fff;
    background-color: #0094d6;
    border-color: #0094d6;
    border-radius: 14px;
    padding: 10px 18px;
    font-weight: 700;
}

.dni-otwarte-opinion-wrap {
    display: flex;
    justify-content: flex-end;
    border-top: 1px solid #e5edf4;
    padding-top: 14px;
}

.dni-otwarte-opinion-btn:hover,
.dni-otwarte-opinion-btn:focus {
    color: #fff;
    background-color: #007eb6;
    border-color: #007eb6;
}

.dni-otwarte-search-controls {
    display: flex;
    align-items: center;
    gap: 12px;
    max-width: 600px;
}

.dni-otwarte-search-controls .form-control {
    flex: 1 1 auto;
    min-height: 44px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.28);
    background: rgba(255, 255, 255, 0.94);
    color: #183548;
    padding: 0 12px;
    font-size: .96rem;
}

.dni-otwarte-search-controls .form-control:focus {
    border-color: #9ad8ff;
    box-shadow: 0 0 0 3px rgba(120, 195, 241, 0.3);
}

.dni-otwarte-search-controls .dni-otwarte-search-btn {
    margin: 0;
    white-space: nowrap;
    height: 44px;
    min-width: 124px;
    padding: 0 18px;
    border-radius: 12px;
    font-weight: 700;
    line-height: 42px;
    border: 1px solid #0f7ab3;
    background: linear-gradient(135deg, #1592d4 0%, #0f79b0 100%);
    box-shadow: 0 6px 14px rgba(3, 35, 55, 0.2);
    transition: transform .12s ease, box-shadow .2s ease, background-color .2s ease;
}

.dni-otwarte-search-controls .dni-otwarte-search-btn:hover {
    background: linear-gradient(135deg, #108fd2 0%, #0b79af 100%);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.24);
}

.dni-otwarte-search-controls .dni-otwarte-search-btn:active {
    transform: translateY(1px);
}

.dni-otwarte-search-controls .dni-otwarte-search-btn:focus-visible {
    outline: 3px solid rgba(255, 255, 255, 0.55);
    outline-offset: 2px;
}

.dni-otwarte-logo-badge {
    width: 100px;
    height: 100px;
    bottom: 0;
    left: 10px;
    border-radius: 50% 50% 50% 0;
}

.dni-otwarte-logo-badge-img {
    max-width: 100px;
    max-height: 100px;
}

.dni-otwarte-map-iframe {
    border: 0;
    border-radius: 12px;
    min-height: 280px;
}

.dni-otwarte-map-placeholder {
    min-height: 280px;
    border-radius: 12px;
    border: 1px solid #d9e8f3;
    background: linear-gradient(180deg, #f8fbfe 0%, #eef5fb 100%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.dni-otwarte-map-load-btn {
    border-radius: 10px;
    padding: 8px 14px;
    font-weight: 600;
}

.ads-artykuly-slot-wrap {
    position: relative;
    overflow: hidden;
}

.dni-otwarte-main-col .pagination-wrapper .pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    margin-left: 0;
    padding-left: 0;
    gap: 8px;
    list-style: none;
}

.dni-otwarte-main-col .pagination-wrapper .pagination li {
    margin: 0;
}

.dni-otwarte-main-col .pagination-wrapper .pagination li a {
    min-width: 42px;
    height: 42px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    border: 1px solid #d6e6f2;
    background: #fff;
    color: #315066;
    font-weight: 700;
    text-decoration: none !important;
    transition: all .2s ease;
}

.dni-otwarte-main-col .pagination-wrapper .pagination li a:hover,
.dni-otwarte-main-col .pagination-wrapper .pagination li a:focus {
    background: #f2f9ff;
    border-color: #9ecff0;
    color: #0b6da1;
    transform: translateY(-1px);
}

.dni-otwarte-main-col .pagination-wrapper .pagination li.active a,
.dni-otwarte-main-col .pagination-wrapper .pagination li.active a:hover,
.dni-otwarte-main-col .pagination-wrapper .pagination li.active a:focus {
    background: linear-gradient(135deg, #1592d4 0%, #0f79b0 100%);
    border-color: #0f79b0;
    color: #fff;
    box-shadow: 0 8px 18px rgba(6, 74, 111, 0.22);
    transform: none;
}

.dni-otwarte-single-view {
    margin-top: 14px;
}

.dni-otwarte-single-top-card {
    background: linear-gradient(135deg, #f2fbff 0%, #ffffff 58%);
    border: 1px solid #d4ebf8;
    border-radius: 20px;
    padding: 20px;
    box-shadow: 0 8px 22px rgba(2, 49, 77, 0.09);
}

.dni-otwarte-single-invite {
    margin: 0 0 16px;
    font-size: 1.25rem;
    line-height: 1.35;
}

.dni-otwarte-single-invite a {
    color: #045f8f;
    text-decoration: none;
}

.dni-otwarte-single-invite a:hover,
.dni-otwarte-single-invite a:focus {
    text-decoration: underline;
}

.dni-otwarte-single-image-link {
    display: block;
    margin-bottom: 16px;
}

.dni-otwarte-single-image {
    width: 100%;
    max-height: 380px;
    object-fit: cover;
    border-radius: 14px;
    border: 1px solid #e1edf3;
}

.dni-otwarte-single-map-label {
    margin-bottom: 8px;
    font-weight: 600;
}

.dni-otwarte-single-map-link {
    display: block;
    margin-bottom: 14px;
}

.dni-otwarte-single-map-img {
    margin-top: 0;
    width: 100%;
    max-width: 100%;
    border-radius: 12px;
    border: 1px solid #dbe8ef;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
}

.dni-otwarte-single-description {
    margin-bottom: 0;
    line-height: 1.7;
}

.dni-otwarte-single-presentation {
    margin-top: 16px;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(1, 40, 67, 0.12);
}

.dni-otwarte-single-table-wrap {
    margin-top: 14px;
}

.dni-otwarte-single-list-btn {
    width: 100%;
    border-radius: 12px;
    font-weight: 700;
    letter-spacing: .02em;
}

.dni-otwarte-article-wrap {
    margin-top: 14px;
}

.dni-otwarte-article-card {
    background: #fff;
    border: 1px solid #e2edf5;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 8px 22px rgba(2, 44, 69, 0.1);
}

.dni-otwarte-article-head-row {
    align-items: stretch;
}

.dni-otwarte-article-title-bg {
    height: 100%;
    margin: 0;
    display: flex;
    align-items: center;
    border-radius: 0;
}

.dni-otwarte-article-image-box {
    border-radius: 0;
}

.dni-otwarte-article-signature {
    width: 50%;
}

.dni-otwarte-article-content-card {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbfe 100%);
}

@media (max-width: 991.98px) {
    .dni-otwarte-main-col {
        padding-left: 8px;
        padding-right: 8px;
    }

    .dni-otwarte-hero-row {
        margin-top: 10px !important;
        margin-bottom: 10px !important;
    }

    .dni-otwarte-hero-content {
        position: relative;
        max-width: none;
        padding: 14px 12px;
        justify-content: flex-start;
        background: linear-gradient(180deg, rgba(7, 54, 82, 0.9), rgba(10, 88, 129, 0.76));
    }

    .dni-otwarte-hero-image-wrapper {
        border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    }

    .dni-otwarte-hero-image {
        height: 200px;
        border-radius: 0;
    }

    .dni-otwarte-hero-main-title {
        font-size: 1.95rem;
        line-height: 1.15;
    }

    .dni-otwarte-hero-lead {
        font-size: .95rem;
        margin: 8px 0 14px;
    }

    .dni-otwarte-search-controls {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }

    .dni-otwarte-search-controls .dni-otwarte-search-btn {
        width: 100%;
        min-width: 0;
        height: 44px;
        line-height: 42px;
    }

    .dni-otwarte-card-header-row,
    .dni-otwarte-card-body-row {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .dni-otwarte-card-header-row .d-flex {
        flex-direction: column;
        align-items: flex-start !important;
        gap: 4px !important;
    }

    .dni-otwarte-card-header-grid {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 10px;
    }

    .dni-otwarte-card-school-wrap,
    .dni-otwarte-card-city-wrap {
        text-align: left;
        align-items: flex-start;
        justify-content: flex-start;
    }

    .dni-otwarte-uczelnia-name {
        font-size: 1rem !important;
        line-height: 1.3;
        text-align: left;
    }

    .dni-otwarte-card-city-text {
        text-align: left;
    }

    .dni-otwarte-opinion-wrap {
        justify-content: stretch;
    }

    .dni-otwarte-opinion-btn {
        width: 100%;
    }

    .dni-otwarte-data {
        font-size: 0.95rem;
    }

    .dni-otwarte-miasto img {
        width: 16px;
        height: 16px;
    }

    .dni-otwarte-card-media,
    .dni-otwarte-card-map {
        margin-bottom: 10px;
    }

    .dni-otwarte-media-image-wrapper {
        border-radius: 10px;
        overflow: hidden;
    }

    .dni-otwarte-card-map {
        padding-left: 0;
        padding-right: 0;
    }

    .dni-otwarte-map-iframe {
        height: 100%;
        border-radius: 10px;
    }

    .dni-otwarte-logo-badge {
        width: 68px !important;
        height: 68px !important;
        left: 8px !important;
        bottom: 8px !important;
    }

    .dni-otwarte-logo-badge-img {
        max-width: 56px !important;
        max-height: 56px !important;
    }

    .dni-otwarte-single-top-card {
        padding: 14px;
        border-radius: 14px;
    }

    .dni-otwarte-single-invite {
        font-size: 1.1rem;
    }

    .dni-otwarte-single-image {
        max-height: 300px;
    }

    .dni-otwarte-article-card {
        border-radius: 14px;
    }

    .pagination-wrapper .pagination {
        gap: 6px;
        justify-content: center;
        flex-wrap: wrap;
    }

    .pagination-wrapper .pagination li a {
        min-width: 38px;
        min-height: 38px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 8px;
        padding: 6px 10px;
    }
}

.kafelek-active {
    background-color: #0070ab;
    border: 2px solid #0070ab;
    color: #fff;
}

.kafelek-inactive {
    border: 2px solid #0070ab;
    height: 100%;
}

.kafelek-inactive .link {
    color: #0070ab
}

/* Większy wewnętrzny margines (padding) w kafelkach linków, żeby tekst
   „Opinie o uczelni (N)” nie kleił się do krawędzi, zwłaszcza na mobile */
@media (max-width: 768px) {
    #resultList .kafelek-inactive .link {
        display: inline-block;
        padding: 6px 12px;
    }

    /* Wyrównanie kafelka „Opinie o uczelni” w osi poziomej,
       żeby nie „wystawał” w lewo względem ramki kafla uczelni */
    #resultList .resultList__presentationStudy-body .opinion-btn-wrapper {
        margin-left: 16px;
        margin-right: 16px;
    }
}

.kafelek-kierunek {
    margin-right: 10px;
    padding: 5px 10px;
    background-color: #0070ab;
    color: white;
    margin-bottom: 10px;
}
.kafelek-kierunek--disabled {
    cursor: default;
    pointer-events: none;
}

/* Prezentacja podstawowa – lista kierunków po 2 w rzędzie */
.prezentacja_podstawowa_lista {
    margin-top: 10px;
    display: block !important; /* niech układ robi .row w środku */
}

.prezentacja_podstawowa_lista .row {
    display: flex !important;
    flex-wrap: wrap !important;
}

/* Wewnątrz tej listy każdy "kolumnowy" element ma zajmować 50% szerokości */
.prezentacja_podstawowa_lista .row > [class^="col"],
.prezentacja_podstawowa_lista .row > [class*=" col"] {
    display: flex;              /* kolumna staje się flex‑kontenerem */
    flex: 0 0 50% !important;
    max-width: 50% !important;
}

@media (max-width: 575.98px) {
    .prezentacja_podstawowa_lista .row > [class^="col"],
    .prezentacja_podstawowa_lista .row > [class*=" col"] {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}

/* Kafelki w środku – pełna wysokość kolumny, żeby wszystkie były równe w rzędzie */
.prezentacja_podstawowa_lista .kafelek-kierunek {
    width: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex: 1 1 auto;             /* wypełnia wysokość kolumny */
}

.popupstylejeden {
    vertical-align: middle !important;
    position: relative !important;
}

.popupstyledwa {
    background-color: transparent !important;
    width: 100% !important;
    max-width: 100% !important;
    top: 43px !important;
}

.logo-index-page {
    position: absolute;
    border-radius: 100% 100% 100% 0;
    bottom: 0;
    left: 0;
    background-size: 65%;
    background-repeat: no-repeat;
    background-color: white
}

.logo-index-page-big {
    position: absolute;
    border-radius: 100% 100% 100% 0;
    bottom: 0;
    left: 0;
    background-size: 85%;
    background-repeat: no-repeat;
    background-color: white
}

.logo-top {
    border-radius: 0 100% 100% 100%;
    background-size: 65%;
    background-repeat: no-repeat;
    background-color: white
}

.logo-top img {
    width: 125px;
    height: 125px;
}

.logo-index-page img {
    width: 125px;
    height: 125px;
}

.name-index-page {
    height: 3rem;
}

/* Jednolita wysokość zdjęć – sekcje „Ostatnio zaktualizowane” na stronie głównej */
#reviews-lastupdate .img-city-co.border-radius-city,
#reviews-podyplomowe .img-city-co.border-radius-city {
    height: 240px;
    min-height: 240px;
    max-height: 240px;
}

#reviews-lastupdate .img-city-co.border-radius-city picture,
#reviews-podyplomowe .img-city-co.border-radius-city picture {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
}

#reviews-lastupdate .img-city-co.border-radius-city img.image-city,
#reviews-podyplomowe .img-city-co.border-radius-city img.image-city {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: cover;
    object-position: center;
}

.col-kierunki {
    column-count: 4;
    padding-left: 0;
    font-size: 13px;
    column-gap: normal;
}

@media (max-width: 1200px) {
    .col-kierunki {
        column-count: 3;
    }
}

@media (max-width: 768px) {
    .col-kierunki {
        column-count: 2;
    }
}

@media (max-width: 576px) {
    .col-kierunki {
        column-count: 1;
    }
}

.list-subtitle {
    font-size: 16px;
    font-weight: 600;
    color: #0d537e;
    background-color: #f8f9fa;
    padding: 8px 12px;
    margin-bottom: 8px;
}

.col-kierunki .list-group-item {
    padding: 8px 12px;
    border-bottom: 1px solid #f0f0f0;
    transition: background-color 0.2s ease;
}

.col-kierunki .list-group-item:hover {
    background-color: #f8f9fa;
}

.col-kierunki .list-group-item a {
    color: #333;
    text-decoration: none;
    transition: color 0.2s ease;
}

.col-kierunki .list-group-item a:hover {
    color: #0d537e;
    text-decoration: underline;
}

/* Ulepszenia dla strony SEKCJA 201 */
.container-level-three {
    padding-left: 15px;
    padding-right: 15px;
}

@media (min-width: 1200px) {
    .container-level-three {
        padding-left: 30px;
        padding-right: 30px;
    }
}

.border-kreska-bottom {
    border-bottom: 2px solid #0d537e;
}

/* Style dla strony szkół językowych (SEKCJA 19) */
.sj_zajawka_div {
    float: none;
    width: 100%;
    max-width: 100%;
    height: auto;
    min-height: 135px;
    margin-bottom: 20px;
    margin-left: 0;
    border: 1px solid #d1d1d1;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    transition: box-shadow 0.3s ease;
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
}

.sj_zajawka_div:hover {
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}

.sj_zajawka_div_left {
    float: none;
    width: 70%;
    min-width: 300px;
    height: auto;
    min-height: 135px;
    background: #fefefe;
    border-radius: 5px 0 0 5px;
    padding: 15px;
    box-sizing: border-box;
}

.sj_zajawka_div_right {
    float: none;
    width: 30%;
    min-width: 150px;
    height: auto;
    min-height: 135px;
    border-radius: 0 5px 5px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f8f9fa;
}

.sj_zajawka_div_right img {
    max-width: 100%;
    height: auto;
    max-height: 120px;
}

.sj_zajawka_h1 {
    float: none;
    width: 100%;
    margin-left: 0;
    padding-left: 0;
    padding-top: 0;
    padding-bottom: 10px;
    border-bottom: 1px dashed #cccccc;
    margin-bottom: 15px;
}

.sj_zajawka_h1 a {
    color: #0970a1;
    font-size: 16px;
    font-weight: bold;
    text-decoration: none;
    transition: color 0.2s ease;
}

.sj_zajawka_h1 a:hover {
    color: #0d537e;
    text-decoration: underline;
}

.sj_zajawka_h2 {
    float: none;
    width: auto;
    margin: 0;
    margin-left: 0;
    margin-bottom: 8px;
    padding-left: 20px;
    padding-bottom: 5px;
    background: url("/img/blue_arrow_small.gif") no-repeat left center;
    display: inline-block;
    margin-right: 15px;
}

.sj_zajawka_h2 a {
    color: #0970a1;
    font-size: 13px;
    text-decoration: none;
    transition: color 0.2s ease;
}

.sj_zajawka_h2 a:hover {
    color: #0d537e;
    text-decoration: underline;
}

@media (max-width: 768px) {
    .sj_zajawka_div {
        flex-direction: column;
    }
    
    .sj_zajawka_div_left {
        width: 100%;
        border-radius: 5px 5px 0 0;
    }
    
    .sj_zajawka_div_right {
        width: 100%;
        border-radius: 0 0 5px 5px;
        min-height: 100px;
    }
    
    .sj_zajawka_h2 {
        display: block;
        margin-bottom: 10px;
    }
}

/* Style dla bannera językowego (jezykowe_top) */
.jezykowe_top {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    background: #0970a1 !important;
    margin: 0 auto 20px auto !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 8px rgba(0,0,0,0.15) !important;
    overflow: hidden !important;
    display: flex !important;
    flex-wrap: wrap !important;
    position: relative !important;
    clear: both !important;
}

/* Wyśrodkowanie kontenera dla SEKCJA 19 */
body .container-level-three {
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
    clear: both !important;
    position: relative !important;
}

/* Nadpisanie body width dla SEKCJA 19 - tylko jeśli nie ma innych ograniczeń */
body.sekcja-19,
body:has(.jezykowe_top) {
    width: 100% !important;
    max-width: 100% !important;
}

/* Wyśrodkowanie wrappera dla SEKCJA 19 */
body > div[style*="display: block"][style*="text-align: center"] {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    float: none !important;
    clear: both !important;
    text-align: center !important;
}

body > div[style*="display: flex"][style*="justify-content: center"] {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    float: none !important;
    clear: both !important;
}

/* Nadpisanie .left_center dla SEKCJA 19 */
.left_center .container-level-three,
.left_center > div[style*="display: flex"] {
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 1350px !important;
}

.jezykowe_top_left {
    float: none !important;
    width: 60% !important;
    min-width: 300px !important;
    margin: 0 !important;
    padding: 10px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.jezykowe_top_left img {
    max-width: 100%;
    height: auto;
    border-radius: 4px;
}

.jezykowe_top_right {
    float: none !important;
    width: 40% !important;
    min-width: 250px !important;
    padding: 20px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.jezykowe_top_temat {
    float: none !important;
    width: 100% !important;
    padding: 0 !important;
    margin-bottom: 15px !important;
}

.jezykowe_top_temat a {
    font-size: 18px;
    font-weight: bold;
    color: white;
    text-decoration: none;
    line-height: 1.4;
    transition: opacity 0.2s ease;
}

.jezykowe_top_temat a:hover {
    opacity: 0.9;
    text-decoration: underline;
}

.jezykowe_top_zajawka {
    float: none !important;
    font-size: 14px !important;
    color: white !important;
    width: 100% !important;
    margin-bottom: 15px !important;
    line-height: 1.6 !important;
}

.jezykowe_top_wiecej {
    float: none !important;
    width: auto !important;
    margin-top: 10px !important;
}

.jezykowe_top_wiecej a {
    color: white !important;
    float: none !important;
    font-size: 14px !important;
    padding: 8px 16px !important;
    background: rgba(255,255,255,0.2) !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    display: inline-block !important;
    transition: background 0.3s ease !important;
}

.jezykowe_top_wiecej a:hover {
    background: rgba(255,255,255,0.3);
}

.jezykowe_top_shadow {
    float: none !important;
    width: 100% !important;
    background: url("/img/tl_shadow.gif") repeat-x !important;
    height: 12px !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
}

@media (max-width: 768px) {
    .jezykowe_top {
        flex-direction: column;
    }
    
    .jezykowe_top_left {
        width: 100%;
        padding: 15px;
    }
    
    .jezykowe_top_right {
        width: 100%;
        padding: 15px;
    }
    
    .jezykowe_top_shadow {
        position: relative;
    }
}

/* ============================================
   NOWOCZESNE STYLE DLA STRON SZKÓŁ JĘZYKOWYCH (SEKCJA 20)
   ============================================ */

/* Kontener główny dla listy szkół językowych */
.szkoly-jezykowe-lista-seo {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    background: #fff;
}

/* H1 dla szkół językowych */
.szkoly-jezykowe-h1 {
    font-size: 28px;
    font-weight: 700;
    color: #0d537e;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 3px solid #0d537e;
}

/* Informacja o dostępnych językach - ulepszona wersja */
.dostepne-jezyki-info {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-left: 5px solid #0d537e;
    padding: 20px;
    margin-bottom: 30px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.dostepne-jezyki-info p {
    margin: 0 0 15px 0;
    font-size: 18px;
    font-weight: 600;
    color: #0d537e;
}

.dostepne-jezyki-info ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.dostepne-jezyki-info ul li {
    margin: 0;
}

.dostepne-jezyki-info ul li a {
    display: inline-block;
    padding: 10px 18px;
    background: #fff;
    color: #0d537e;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    border: 2px solid #0d537e;
    border-radius: 25px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.dostepne-jezyki-info ul li a:hover {
    background: #0d537e;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(13, 83, 126, 0.3);
}

/* Karty prezentacji - zwarty układ, mało białego miejsca */
.prezentacja_top {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    margin-bottom: 16px;
    padding: 0;
    box-shadow: 0 2px 6px rgba(0,0,0,0.06);
    transition: box-shadow 0.2s ease;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    position: relative;
}

.prezentacja_top:hover {
    box-shadow: 0 4px 14px rgba(0,0,0,0.1);
}

/* Nagłówek karty – zawsze pełna szerokość, clearfix wewnętrznych floatów */
.prezentacja_top > .zajawka_tytul_belka_nazwa_2,
.prezentacja_top > .zajawka_tytul_belka_nazwa_2_pods {
    flex: 0 0 100%;
    width: 100%;
    box-sizing: border-box;
}

.prezentacja_top > .zajawka_tytul_belka_nazwa_2::after,
.prezentacja_top > .zajawka_tytul_belka_nazwa_2_pods::after {
    content: "";
    display: table;
    clear: both;
}

/* Tytuł szkoły / uczelni w belce – zwarty */
.zajawka_tytul_belka_nazwa_2,
.zajawka_tytul_belka_nazwa_2_pods {
    background: linear-gradient(135deg, #0d537e 0%, #0970a1 100%);
    padding: 8px 14px;
    margin: 0;
    border-radius: 10px 10px 0 0;
}

.zajawka_tytul_belka_nazwa_2 p,
.zajawka_tytul_belka_nazwa_2_pods p {
    margin: 0;
}

/* Wiersz: nazwa uczelni + przycisk „więcej” (bez rozjechania) */
.prezentacja_top_belka_row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.prezentacja_top_belka_nazwa {
    flex: 1 1 200px;
    min-width: 0;
}
.prezentacja_top_belka_nazwa a {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.prezentacja_top_belka_more {
    flex-shrink: 0;
}
.prezentacja_top_belka_more img {
    display: block;
    vertical-align: middle;
}

.zajawka_tytul_belka_nazwa_2 a,
.zajawka_tytul_belka_nazwa_2_pods a {
    color: #fff;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    transition: opacity 0.3s ease;
    display: block;
}

.zajawka_tytul_belka_nazwa_2 a:hover,
.zajawka_tytul_belka_nazwa_2_pods a:hover {
    opacity: 0.9;
    text-decoration: underline;
}

/* Lewa kolumna – zdjęcie + logo, zwarty wymiar */
.prezentacja_top_left {
    flex: 0 0 28%;
    width: 28%;
    max-width: 28%;
    padding: 10px 12px;
    box-sizing: border-box;
    display: flex;
    align-items: stretch;
    justify-content: center;
    background: #f5f6f8;
    min-height: 0;
}

.prezentacja_top_left img {
    max-width: 100%;
    height: auto;
    border-radius: 6px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}

/* Blok zdjęcia w lewej kolumnie – proporcje bez zbędnej wysokości */
.prezentacja_top_left_link {
    display: block;
    width: 100%;
    align-self: stretch;
    min-height: 130px;
    text-decoration: none;
    color: inherit;
}
.prezentacja_top_left_img {
    width: 100%;
    height: 100%;
    min-height: 130px;
    max-height: 180px;
    border-radius: 6px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.prezentacja_top_left_img .image-city {
    width: 100%;
    height: 100%;
    min-height: 130px;
    max-height: 180px;
    object-fit: cover;
    object-position: center;
}
.prezentacja_top_left_img .logo-index-page.prezentacja_top_left_logo {
    width: 56px;
    height: 56px;
    background-size: 70%;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #fff;
}
.prezentacja_top_left_img .logo-index-page.prezentacja_top_left_logo img {
    width: 56px;
    height: 56px;
}

/* Prawa kolumna – dane kontaktowe, zwarte */
.prezentacja_top_right {
    flex: 1 1 72%;
    min-width: 0;
    width: 72%;
    max-width: 72%;
    padding: 10px 14px 12px 16px;
    box-sizing: border-box;
    background: #fff;
    overflow: hidden;
}

/* Tabela / inne bloki pod wizytówką – pełna szerokość */
.prezentacja_top > table {
    flex: 0 0 100%;
    width: 100%;
    box-sizing: border-box;
}

/* Sekcje informacji w wizytówce – zwarte */
.prezentacja_top_right1,
.prezentacja_top_right2,
.prezentacja_top_right3 {
    margin-bottom: 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e9ecef;
}

.prezentacja_top_right3:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.prezentacja_icon {
    float: left;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
    background: #f0f4f8;
    border-radius: 50%;
    flex-shrink: 0;
}

.prezentacja_icon img {
    max-width: 18px;
    max-height: 18px;
}

.prezentacja_top_info {
    overflow: hidden;
    word-wrap: break-word;
    max-width: 100%;
}

.prezentacja_top_info p {
    margin: 2px 0;
    font-size: 13px;
    line-height: 1.45;
    color: #333;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.prezentacja_top_info a {
    color: #0d537e;
    text-decoration: none;
    transition: color 0.3s ease;
}

.prezentacja_top_info a:hover {
    color: #0970a1;
    text-decoration: underline;
}

/* Wizytówki bez prezentacji (podstawowe) */
.prezentacja_top_right_np {
    width: 100%;
    padding: 15px 25px;
    box-sizing: border-box;
    border-bottom: 1px solid #e9ecef;
}

.prezentacja_top_right_np:last-child {
    border-bottom: none;
}

.prezentacja_top_right1_np,
.prezentacja_top_right2_np {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.prezentacja_icon_np {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f0f4f8;
    border-radius: 50%;
    flex-shrink: 0;
}

.prezentacja_icon_np img {
    max-width: 20px;
    max-height: 20px;
}

.prezentacja_top_info_np {
    flex: 1;
}

.prezentacja_top_info_np p {
    margin: 3px 0;
    font-size: 14px;
    line-height: 1.5;
    color: #555;
}

/* Belka z kryteriami */
.prezentacja_tytul_belka_sj {
    margin-bottom: 20px;
    background: linear-gradient(135deg, #0d537e 0%, #0970a1 100%);
    border-radius: 8px;
    padding: 12px 20px;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
}

/* Komunikat o braku wyników */
.brak-wynikow {
    background: #f8f9fa;
    border: 2px dashed #dee2e6;
    border-radius: 12px;
    padding: 40px;
    text-align: center;
    margin: 30px 0;
}

.brak-wynikow p {
    margin: 10px 0;
    color: #6c757d;
}

.brak-wynikow a {
    color: #0d537e;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s ease;
}

.brak-wynikow a:hover {
    color: #0970a1;
    text-decoration: underline;
}

/* Alert informacyjny */
.alert {
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 25px;
}

.alert-info {
    background: #e7f3ff;
    border: 1px solid #b3d9ff;
    color: #0066cc;
}

.alert-info p {
    margin: 8px 0;
    line-height: 1.6;
}

.alert-info strong {
    font-weight: 600;
}

/* Responsywność */
@media (max-width: 768px) {
    .szkoly-jezykowe-lista-seo {
        padding: 15px;
    }
    
    .szkoly-jezykowe-h1 {
        font-size: 24px;
        margin-bottom: 20px;
    }
    
    .prezentacja_top {
        margin-bottom: 20px;
    }
    
    .prezentacja_top_left {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
        min-height: 0;
        padding: 10px 12px;
    }
    
    .prezentacja_top_right {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
        padding: 10px 14px 12px;
    }
    
    .zajawka_tytul_belka_nazwa_2,
    .zajawka_tytul_belka_nazwa_2_pods {
        padding: 10px 15px;
    }
    
    .zajawka_tytul_belka_nazwa_2 a,
    .zajawka_tytul_belka_nazwa_2_pods a {
        font-size: 16px;
    }
    
    .dostepne-jezyki-info ul {
        gap: 8px;
    }
    
    .dostepne-jezyki-info ul li a {
        padding: 8px 14px;
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .szkoly-jezykowe-h1 {
        font-size: 20px;
    }
    
    .prezentacja_top_left {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
    }
    
    .prezentacja_top_right {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
    }
    
    .prezentacja_top_left,
    .prezentacja_top_right {
        padding: 10px 12px;
    }
    
    .prezentacja_top_left_link,
    .prezentacja_top_left_img {
        min-height: 120px;
        max-height: 160px;
    }
    
    .prezentacja_icon {
        width: 32px;
        height: 32px;
        margin-right: 10px;
    }
    
    .prezentacja_top_info p {
        font-size: 13px;
    }
}

.navspy {
    z-index: 15;
    position: -webkit-sticky;
    /*Safari */
    position: sticky !important;
    top: 91px;
    background-color: #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    margin-bottom: 30px;
    border-radius: 4px;
    padding: 10px 0;
}

.navspy .list-group-item {
    border: none;
    border-right: 1px solid #e9ecef;
    padding: 10px 15px;
    font-size: 14px;
    transition: all 0.3s ease;
}

.navspy .list-group-item:last-child {
    border-right: none;
}

.navspy .list-group-item:hover {
    background-color: #f8f9fa;
    color: #0d537e;
}

.navspy .list-group-item.active {
    background-color: #0d537e;
    color: #fff;
    font-weight: 600;
}

@media (max-width: 768px) {
    .navspy {
        display: none;
    }
}

.list-group-item.active {
    z-index: 2;
    color: var(--bs-list-group-active-color);
    background-color: #0d537e;
    border-color: #0d537e;
}

.color-of-table {
    background-color: #145782 !important;
}

/* Tabele z bazy zapisane jako <table border="X"> potrafią mieć widoczną
   jedynie ramkę zewnętrzną przez nadpisania globalne. Wymuszamy linie
   wewnątrz (td/th) dla treści artykułów z grubością zgodną z X. */

/* border="1" */
.artykul .artykul_tresc table[border="1"],
.artykul .artykul_tresc table[border='1'],
.text-justify table[border="1"],
.text-justify table[border='1'] {
    border-collapse: collapse !important;
    border: 1px solid #000 !important;
}
.artykul .artykul_tresc table[border="1"] td,
.artykul .artykul_tresc table[border="1"] th,
.artykul .artykul_tresc table[border='1'] td,
.artykul .artykul_tresc table[border='1'] th,
.text-justify table[border="1"] td,
.text-justify table[border="1"] th,
.text-justify table[border='1'] td,
.text-justify table[border='1'] th {
    border: 1px solid #000 !important;
}

/* border="2" */
.artykul .artykul_tresc table[border="2"],
.artykul .artykul_tresc table[border='2'],
.text-justify table[border="2"],
.text-justify table[border='2'] {
    border-collapse: collapse !important;
    border: 2px solid #000 !important;
}
.artykul .artykul_tresc table[border="2"] td,
.artykul .artykul_tresc table[border="2"] th,
.artykul .artykul_tresc table[border='2'] td,
.artykul .artykul_tresc table[border='2'] th,
.text-justify table[border="2"] td,
.text-justify table[border="2"] th,
.text-justify table[border='2'] td,
.text-justify table[border='2'] th {
    border: 2px solid #000 !important;
}

/* .fix_map{
    margin-bottom:-50px;
} */

/* @media (max-width: 768px){
  .fix_map{
   margin-bottom: 0px !important;
  }
}
@media (min-width: 769px){
  .fix_map{
   margin-bottom: -50px !important;
  }
} */
.text-wrap-email {
    -ms-word-break: break-all;
    word-break: break-all;
    white-space: pre-wrap
}

#closesky {
    top: auto;
}

/* Gdy JS doda klasę .position-fixed – trzymaj sky sztywno na środku ekranu */
#closesky.position-fixed {
    top: 50%;
    transform: translateY(-50%);
}

/* Gdy wracamy do relative – reset przekształceń */
#closesky.position-relative {
    top: auto;
    transform: none;
}

.sticky_p {
    position: static;
    top: auto;
}

/* Legacy sky banners should keep their natural creative width, not fill the full Bootstrap column. */
#closesky .sticky_p {
    width: fit-content;
    max-width: 229px;
    margin: 0 auto;
}

#closesky .legacy-sidebar-ad__imageLink,
#closesky .legacy-sidebar-ad__image,
#closesky #photosky {
    display: block;
    width: auto;
    max-width: 100%;
}

#closesky .legacy-sidebar-ad__image,
#closesky #photosky {
    height: auto;
}

.icon-white {
    width: 18px;
    height: 18px;
    filter: invert(100%) sepia(46%) saturate(6167%) hue-rotate(182deg) brightness(127%) contrast(97%);
}

.icon-black {
    width: 18px;
    height: 18px;
    filter: invert(0%) sepia(0%) saturate(0%) hue-rotate(324deg) brightness(96%) contrast(104%);
}

.kafelek-nowy {
    height: auto;
    min-height: 0;
    background-color: rgba(0, 112, 171, .15);
    font-weight: 500;
    font-size: 0.875rem;
    color: #10486a;
    padding: 4px 8px;
}

.lista {
    columns: 2;
    -webkit-columns: 2;
    -moz-columns: 2;
    -webkit-column-gap: 40px;
    /* Chrome, Safari, Opera */
    -moz-column-gap: 40px;
    /* Firefox */
    column-gap: 40px
}

.text-special {
    color: #0070ab;
}


.belka {}

.popular-bg {
    background: linear-gradient(90deg, #b0006f 0%, #e91e63 100%);
}


.stopnie-belka {
    height: 90px;
}

.i-stopien-color {
    background-color: #FFA07A;
}

.ii-stopien-color {
    background-color: #FF7F50;
}

.jednolite-color {
    background-color: #FF6347;
}

.podyplomowe-color {
    background-color: #FF0000;
}

.stacjonarne-color {
    background-color: #00BFFF;
}

.niestacjonarne-color {
    background-color: #1E90FF;
}

.podzial-kierunkow-logo {
    height: 70px;
}

.card-img-top {
    width: 100%;
    height: 10vw;
    object-fit: cover;
}

.filter-blue {
    filter: invert(71%) sepia(48%) saturate(7180%) hue-rotate(182deg) brightness(99%) contrast(107%);
}

.w-300 {
    width: 300px !important;
}

.h-300 {
    height: 200px !important;
}

.no-bold {
    font-weight: normal !important;
}

.dev__image {
    height: 200px;
}

.logo-small {
    height: 30px;
}

.no-before-after::before,
.no-before-after::after {
    content: none !important;
}

html,
body {
    overflow-x: visible !important;
}

.container-lg,
.container,
.row,
.collapse,
.navbar-collapse {
    overflow: visible !important;
}


.scroll-offset {
    scroll-margin-top: 160px;
}

html,
body {
    overflow-x: hidden !important;
}
.fix-padding-top{
    margin-top: -30px;
}
/* Domyślnie: element sky zachowuje się jak normalny blok w kolumnie;
   pozycjonowaniem (fixed) zajmuje się JS poprzez klasy .position-fixed/.position-relative */
.responsive-position {
    position: static;
}

/* Na desktopach nadal można go lekko „przyklejać” w górę przez .sticky_p (position: sticky) */
@media (min-width: 1200px) {
    .responsive-position {
        position: static;
    }
}

/* ============================================
   NOWE KAFELKI DLA WYSZUKIWANIA SZKÓŁ JĘZYKOWYCH
   ============================================ */

/* Kontener główny */
.wyszukaj-szkole-jezykowa-container {
    max-width: 100%;
    margin: 0 auto;
    padding: 20px 15px;
    background: #fff;
}

/* Tytuł sekcji */
.wyszukaj-szkole-title {
    font-size: 28px;
    font-weight: 700;
    color: #0d537e;
    margin: 0 0 25px 0;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Zakładki Miasta / Województwa */
.wyszukaj-szkole-tabs {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 30px;
    border-bottom: 2px solid #e9ecef;
    padding-bottom: 0;
}

.tab-link {
    padding: 12px 30px;
    background: transparent;
    color: #6c757d;
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
    border: none;
    border-bottom: 3px solid transparent;
    transition: all 0.3s ease;
    cursor: pointer;
    font-family: inherit;
    position: relative;
    top: 2px;
}

.tab-link:hover {
    color: #0d537e;
    background: #f8f9fa;
}

.tab-link.active {
    color: #0d537e;
    border-bottom-color: #0d537e;
    font-weight: 600;
}

/* Grid z kafelkami miast */
.miasta-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
    margin-top: 20px;
}

/* Kafelek miasta */
.miasto-tile {
    display: block;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
    text-decoration: none;
    position: relative;
    height: 200px;
}

.miasto-tile:hover {
    transform: translateY(-6px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.2);
}

.miasto-tile.active {
    border: 3px solid #0d537e;
    box-shadow: 0 6px 20px rgba(13, 83, 126, 0.3);
}

.miasto-tile-image {
    position: relative;
    width: 100%;
    height: 130px;
    overflow: hidden;
    background: linear-gradient(135deg, #0d537e 0%, #0970a1 100%);
}

.miasto-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.miasto-tile:hover .miasto-img {
    transform: scale(1.1);
}

.miasto-tile-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.3) 100%);
    transition: background 0.3s ease;
}

.miasto-tile:hover .miasto-tile-overlay {
    background: linear-gradient(to bottom, transparent 0%, rgba(13, 83, 126, 0.5) 100%);
}

.miasto-tile-content {
    padding: 12px 15px;
    background: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 70px;
    box-sizing: border-box;
}

.miasto-tile-title {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: #0d537e;
    flex: 1;
    line-height: 1.3;
}

.miasto-tile-arrow {
    font-size: 20px;
    color: #0d537e;
    transition: transform 0.3s ease;
    margin-left: 10px;
}

.miasto-tile:hover .miasto-tile-arrow {
    transform: translateX(5px);
}

/* Kafelek "Inne miasta" */
.miasto-tile-more {
    border: 2px dashed #dee2e6;
    background: #f8f9fa;
}

.miasto-tile-more:hover {
    border-color: #0d537e;
    background: #fff;
}

.miasto-tile-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}

.placeholder-icon {
    font-size: 64px;
    opacity: 0.5;
}

.miasto-tile-more .miasto-tile-title {
    color: #6c757d;
}

.miasto-tile-more:hover .miasto-tile-title {
    color: #0d537e;
}

/* Grid z kafelkami województw */
.wojewodztwa-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 20px;
}

/* Kafelek województwa */
.wojewodztwo-tile {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 20px;
    background: #fff;
    border: 2px solid #e9ecef;
    border-radius: 12px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.wojewodztwo-tile:hover {
    border-color: #0d537e;
    box-shadow: 0 4px 16px rgba(13, 83, 126, 0.2);
    transform: translateY(-2px);
}

.wojewodztwo-tile.active {
    border-color: #0d537e;
    background: #f0f4f8;
    box-shadow: 0 4px 16px rgba(13, 83, 126, 0.3);
}

.wojewodztwo-tile-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #0d537e 0%, #0970a1 100%);
    border-radius: 50%;
    flex-shrink: 0;
}

.wojewodztwo-icon {
    font-size: 28px;
}

.wojewodztwo-tile-content {
    flex: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.wojewodztwo-tile-title {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: #0d537e;
    line-height: 1.3;
}

.wojewodztwo-tile-arrow {
    font-size: 18px;
    color: #0d537e;
    transition: transform 0.3s ease;
    margin-left: 10px;
}

.wojewodztwo-tile:hover .wojewodztwo-tile-arrow {
    transform: translateX(5px);
}

/* Responsywność */
@media (max-width: 768px) {
    .wyszukaj-szkole-jezykowa-container {
        padding: 15px 10px;
    }
    
    .wyszukaj-szkole-title {
        font-size: 20px;
        margin-bottom: 15px;
    }
    
    .wyszukaj-szkole-tabs {
        margin-bottom: 20px;
    }
    
    .tab-link {
        padding: 8px 16px;
        font-size: 13px;
    }
    
    .miasto-tile {
        height: 180px;
    }
    
    .miasto-tile-image {
        height: 110px;
    }
    
    .miasto-tile-content {
        padding: 10px 12px;
        height: 70px;
    }
    
    .miasto-tile-title {
        font-size: 13px;
    }
    
    .wojewodztwo-tile {
        padding: 12px;
    }
    
    .wojewodztwo-tile-icon {
        width: 35px;
        height: 35px;
    }
    
    .wojewodztwo-icon {
        font-size: 20px;
    }
    
    .wojewodztwo-tile-title {
        font-size: 13px;
    }
}

/* Sekcja "Dostępne języki" w prawym panelu */
.szkoly-jezykowe-languages-section-right {
    margin-top: 30px;
    padding-top: 25px;
    border-top: 2px solid #e9ecef;
}

.languages-title-right {
    font-size: 16px;
    font-weight: 600;
    color: #0d537e;
    margin: 0 0 15px 0;
}

.jezyki-buttons-right {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.jezyk-button-right {
    display: inline-block;
    padding: 8px 16px;
    background: #fff;
    color: #0d537e;
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    border: 2px solid #0d537e;
    border-radius: 20px;
    transition: all 0.3s ease;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.jezyk-button-right:hover {
    background: #0d537e;
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(13, 83, 126, 0.3);
}

.jezyk-button-right.active {
    background: #0d537e;
    color: #fff;
    font-weight: 600;
    box-shadow: 0 2px 6px rgba(13, 83, 126, 0.3);
}

/* Responsywność dla prawego panelu */
@media (max-width: 768px) {
    .wyszukaj-szkole-jezykowa-container {
        padding: 15px 10px;
    }
    
    .szkoly-jezykowe-languages-section-right {
        margin-top: 20px;
        padding-top: 20px;
    }
    
    .languages-title-right {
        font-size: 14px;
    }
    
    .jezyk-button-right {
        padding: 6px 12px;
        font-size: 12px;
    }
}

@media (max-width: 480px) {
    .wyszukaj-szkole-title {
        font-size: 20px;
    }
    
    .miasta-grid {
        grid-template-columns: 1fr;
    }
    
    .wojewodztwa-grid {
        grid-template-columns: 1fr;
    }
    
    .miasto-tile {
        height: 220px;
    }
    
    .miasto-tile-image {
        height: 150px;
    }
}

/* ============================================
   STYLE DLA SZKÓŁ JĘZYKOWYCH - LISTA
   ============================================ */

/* Wrapper dla całej strony szkół językowych - wyśrodkowuje left_center i right */
.szkoly-jezykowe-page-wrapper {
    max-width: 1400px;
    width: 100%;
    margin: 0 auto !important;
    padding: 0 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 0 !important;
    column-gap: 0 !important;
    row-gap: 0 !important;
    justify-content: flex-start !important;
    align-items: flex-start;
    box-sizing: border-box;
    position: relative;
    left: auto !important;
    right: auto !important;
    float: none !important;
}

/* Zwiększona szerokość wrappera dla strony prezentacji szkoły językowej */
body.sekcja-28 .szkoly-jezykowe-page-wrapper,
body:has(.prezentacja_content) .szkoly-jezykowe-page-wrapper {
    max-width: 1600px !important;
}

.szkoly-jezykowe-page-wrapper .left_center {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 350px) !important;
    width: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    float: none !important;
    text-align: left;
    box-sizing: border-box;
    overflow: visible;
    padding: 0 !important;
}

/* Wyśrodkowanie #center wewnątrz szkoly-jezykowe-page-wrapper */
.szkoly-jezykowe-page-wrapper .left_center#center {
    margin-left: 0 !important;
    margin-right: 0 !important;
    float: none !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    padding: 0 !important;
}

.szkoly-jezykowe-page-wrapper .right {
    flex: 0 0 320px !important;
    max-width: 320px !important;
    min-width: 320px !important; /* Zapobiega zmniejszaniu się */
    width: 320px !important;
    box-sizing: border-box;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    float: none !important;
    clear: none !important;
}

/* Usuń wszystkie marginesy między left_center a right */
.szkoly-jezykowe-page-wrapper .left_center + .right,
.szkoly-jezykowe-page-wrapper .right + .left_center {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Nadpisz wszystkie style dla right w szkoly-jezykowe-page-wrapper - MUSI być po innych regułach */
.szkoly-jezykowe-page-wrapper #right,
.szkoly-jezykowe-page-wrapper .right {
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding: 0 !important;
    width: 320px !important;
    max-width: 320px !important;
    min-width: 320px !important;
    float: none !important;
    clear: none !important;
    flex: 0 0 320px !important;
}

/* Nadpisz wszystkie style dla left_center w szkoly-jezykowe-page-wrapper - MUSI być po innych regułach */
.szkoly-jezykowe-page-wrapper #center,
.szkoly-jezykowe-page-wrapper .center,
.szkoly-jezykowe-page-wrapper .left_center {
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding: 0 !important;
    width: auto !important;
    max-width: calc(100% - 350px) !important;
    float: none !important;
    clear: none !important;
    flex: 0 1 auto !important;
}

/* Jeśli nie ma prawego panelu, left_center i center powinien mieć pełną szerokość - MUSI być po powyższej regule */
.szkoly-jezykowe-page-wrapper .left_center:only-child,
.szkoly-jezykowe-page-wrapper .center:only-child,
.szkoly-jezykowe-page-wrapper:not(:has(.right)) .left_center,
.szkoly-jezykowe-page-wrapper:not(:has(.right)) .center,
.szkoly-jezykowe-page-wrapper .left_center:not(:has(+ .right)),
.szkoly-jezykowe-page-wrapper .center:not(:has(+ .right)) {
    max-width: 100% !important;
    flex: 1 1 100% !important;
    width: 100% !important;
}

/* NADPISZ ogólną regułę .left_center, .right { float: left; width: 100%; } - MUSI być na końcu */
.szkoly-jezykowe-page-wrapper .left_center,
.szkoly-jezykowe-page-wrapper .center,
.szkoly-jezykowe-page-wrapper .right,
.szkoly-jezykowe-page-wrapper #center,
.szkoly-jezykowe-page-wrapper #right {
    float: none !important;
    width: auto !important;
}

.szkoly-jezykowe-page-wrapper .right,
.szkoly-jezykowe-page-wrapper #right {
    width: 320px !important;
}

/* Nadpisz wszystkie style dla left_center i center w szkoly-jezykowe-page-wrapper */
.szkoly-jezykowe-page-wrapper #center,
.szkoly-jezykowe-page-wrapper .center,
.szkoly-jezykowe-page-wrapper .left_center {
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

@media (max-width: 1200px) {
    .szkoly-jezykowe-page-wrapper {
        max-width: 100%;
        padding: 0 15px;
    }
    
    .szkoly-jezykowe-page-wrapper .left_center {
        max-width: 100%;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    
    .szkoly-jezykowe-page-wrapper .right {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

@media (max-width: 768px) {
    .szkoly-jezykowe-page-wrapper {
        padding: 0 10px;
        gap: 0 !important;
        column-gap: 0 !important;
        row-gap: 0 !important;
    }
}

/* Kontener główny */
.szkoly-jezykowe-container {
    max-width: 1400px;
    margin: 0 auto !important;
    padding: 30px 20px;
    background: #fff;
    width: 100%;
    box-sizing: border-box;
    display: block;
    clear: both;
    float: none;
}

/* Zwiększona szerokość dla strony prezentacji szkoły językowej (SEKCJA 28) */
body.sekcja-28 .szkoly-jezykowe-container,
body:has(.prezentacja_content) .szkoly-jezykowe-container {
    max-width: 1600px !important;
    padding: 30px 40px !important;
}

/* Zwiększona szerokość #center i .center dla strony prezentacji szkoły językowej */
/* Dla szkoly-jezykowe-page-wrapper z prawym panelem, zwiększ max-width ale respektuj obecność .right */
body.sekcja-28 .szkoly-jezykowe-page-wrapper:has(.right) #center,
body.sekcja-28 .szkoly-jezykowe-page-wrapper:has(.right) .center,
body.sekcja-28 .szkoly-jezykowe-page-wrapper:has(.right) .left_center,
body:has(.prezentacja_content) .szkoly-jezykowe-page-wrapper:has(.right) #center,
body:has(.prezentacja_content) .szkoly-jezykowe-page-wrapper:has(.right) .center,
body:has(.prezentacja_content) .szkoly-jezykowe-page-wrapper:has(.right) .left_center {
    max-width: calc(1600px - 350px) !important;
    flex: 0 1 auto !important;
    width: auto !important;
}

/* Dla szkoly-jezykowe-page-wrapper bez prawego panelu */
body.sekcja-28 .szkoly-jezykowe-page-wrapper:not(:has(.right)) #center,
body.sekcja-28 .szkoly-jezykowe-page-wrapper:not(:has(.right)) .center,
body.sekcja-28 .szkoly-jezykowe-page-wrapper:not(:has(.right)) .left_center,
body:has(.prezentacja_content) .szkoly-jezykowe-page-wrapper:not(:has(.right)) #center,
body:has(.prezentacja_content) .szkoly-jezykowe-page-wrapper:not(:has(.right)) .center,
body:has(.prezentacja_content) .szkoly-jezykowe-page-wrapper:not(:has(.right)) .left_center {
    max-width: 1600px !important;
    flex: 1 1 100% !important;
    width: 100% !important;
}

/* Jeśli nie ma prawego panelu na stronie prezentacji, daj pełną szerokość */
body.sekcja-28 .left_center:only-child,
body.sekcja-28 .center:only-child,
body.sekcja-28:not(:has(.right)) .left_center,
body.sekcja-28:not(:has(.right)) .center,
body:has(.prezentacja_content) .left_center:only-child,
body:has(.prezentacja_content) .center:only-child,
body:has(.prezentacja_content):not(:has(.right)) .left_center,
body:has(.prezentacja_content):not(:has(.right)) .center {
    max-width: 1600px !important;
    flex: 1 1 100% !important;
    width: 100% !important;
}

/* Nagłówek strony */
.szkoly-jezykowe-header {
    margin-bottom: 40px;
    padding-bottom: 25px;
    border-bottom: 3px solid #0d537e;
}

.szkoly-jezykowe-title {
    font-size: 32px;
    font-weight: 700;
    color: #0d537e;
    margin: 0 0 15px 0;
    line-height: 1.2;
}

.szkoly-jezykowe-filters {
    margin-top: 15px;
}

.filter-badge {
    display: inline-block;
    padding: 8px 16px;
    background: linear-gradient(135deg, #0d537e 0%, #0970a1 100%);
    color: #fff;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 500;
}

/* Sekcja z dostępnymi językami */
.szkoly-jezykowe-languages-section {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-left: 5px solid #0d537e;
    padding: 25px;
    margin-bottom: 40px;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.languages-title {
    font-size: 20px;
    font-weight: 600;
    color: #0d537e;
    margin: 0 0 20px 0;
}

.jezyki-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.jezyk-button {
    display: inline-block;
    padding: 12px 24px;
    background: #fff;
    color: #0d537e;
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
    border: 2px solid #0d537e;
    border-radius: 30px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.jezyk-button:hover {
    background: #0d537e;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(13, 83, 126, 0.3);
}

/* Alert informacyjny */
.szkoly-jezykowe-alert {
    background: #e7f3ff;
    border: 2px solid #b3d9ff;
    border-left: 5px solid #0066cc;
    border-radius: 12px;
    padding: 25px;
    margin-bottom: 40px;
    display: flex;
    gap: 20px;
}

.alert-icon {
    font-size: 32px;
    flex-shrink: 0;
}

.alert-content {
    flex: 1;
}

.alert-content h3 {
    font-size: 20px;
    font-weight: 600;
    color: #0066cc;
    margin: 0 0 10px 0;
}

.alert-content p {
    margin: 8px 0;
    color: #333;
    line-height: 1.6;
}

.alert-content strong {
    color: #0066cc;
    font-weight: 600;
}

.alert-subtitle {
    font-weight: 500;
    margin-top: 15px !important;
    color: #555 !important;
}

/* Grid z kartami szkół */
.szkoly-jezykowe-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
    gap: 30px;
    margin-bottom: 40px;
    width: 100%;
    box-sizing: border-box;
}

/* Wymuszenie dwóch kolumn na większych ekranach - zawsze 2 kolumny jeśli jest wystarczająco miejsca */
@media (min-width: 800px) {
    .szkoly-jezykowe-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* Jeśli kontener jest szerszy (bez prawego panelu), nadal 2 kolumny */
@media (min-width: 1200px) {
    .szkoly-jezykowe-page-wrapper .left_center:only-child .szkoly-jezykowe-grid,
    .szkoly-jezykowe-page-wrapper .left_center:not(:has(+ .right)) .szkoly-jezykowe-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* Karta szkoły */
.szkola-card {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.szkola-card:hover {
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
    transform: translateY(-4px);
    border-color: #0d537e;
}

.szkola-card-premium {
    border-top: 4px solid #0d537e;
}

.szkola-card-basic {
    border-top: 4px solid #6c757d;
}

/* Nagłówek karty */
.szkola-card-header {
    padding: 25px 25px 20px 25px;
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
    border-bottom: 1px solid #e9ecef;
}

.szkola-logo {
    margin-bottom: 15px;
    text-align: center;
}

.szkola-logo img {
    max-width: 100%;
    max-height: 120px;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.szkola-name {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
}

.szkola-name a {
    color: #0d537e;
    text-decoration: none;
    transition: color 0.3s ease;
}

.szkola-name a:hover {
    color: #0970a1;
    text-decoration: underline;
}

/* Treść karty */
.szkola-card-body {
    padding: 20px 25px;
    flex: 1;
}

.szkola-info-item {
    display: flex;
    gap: 12px;
    margin-bottom: 18px;
    align-items: flex-start;
}

.szkola-info-item:last-child {
    margin-bottom: 0;
}

.info-icon {
    font-size: 20px;
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f0f4f8;
    border-radius: 50%;
}

.info-content {
    flex: 1;
}

.info-line {
    margin: 4px 0;
    font-size: 14px;
    line-height: 1.5;
    color: #333;
}

.info-line a {
    color: #0d537e;
    text-decoration: none;
    transition: color 0.3s ease;
}

.info-line a:hover {
    color: #0970a1;
    text-decoration: underline;
}

/* Stopka karty */
.szkola-card-footer {
    padding: 20px 25px;
    background: #f8f9fa;
    border-top: 1px solid #e9ecef;
}

.szkola-button {
    display: block;
    width: 100%;
    padding: 12px 20px;
    background: linear-gradient(135deg, #0d537e 0%, #0970a1 100%);
    color: #fff;
    text-align: center;
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    border-radius: 8px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 6px rgba(13, 83, 126, 0.2);
}

.szkola-button:hover {
    background: linear-gradient(135deg, #0970a1 0%, #0d537e 100%);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(13, 83, 126, 0.3);
    color: #fff;
}

.button-arrow {
    margin-left: 8px;
    transition: transform 0.3s ease;
}

.szkola-button:hover .button-arrow {
    transform: translateX(4px);
}

/* Komunikat o braku wyników */
.szkoly-jezykowe-empty {
    text-align: center;
    padding: 60px 20px;
    background: #f8f9fa;
    border: 2px dashed #dee2e6;
    border-radius: 16px;
    margin: 40px 0;
}

.empty-icon {
    font-size: 64px;
    margin-bottom: 20px;
}

.szkoly-jezykowe-empty h2 {
    font-size: 24px;
    font-weight: 600;
    color: #333;
    margin: 0 0 15px 0;
}

.szkoly-jezykowe-empty p {
    font-size: 16px;
    color: #6c757d;
    margin: 0 0 25px 0;
}

.empty-button {
    display: inline-block;
    padding: 14px 28px;
    background: #0d537e;
    color: #fff;
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    border-radius: 8px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 6px rgba(13, 83, 126, 0.2);
}

.empty-button:hover {
    background: #0970a1;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(13, 83, 126, 0.3);
    color: #fff;
}

/* Paginacja */
.szkoly-jezykowe-pagination {
    margin-top: 40px;
    padding-top: 30px;
    border-top: 2px solid #e9ecef;
}

/* Responsywność dla szkół językowych */
@media (max-width: 1200px) {
    .szkoly-jezykowe-grid {
        grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
        gap: 25px;
    }
}

/* Dodatkowe style dla wyśrodkowania - nadpisują inne style */
body .szkoly-jezykowe-page-wrapper {
    margin-left: auto !important;
    margin-right: auto !important;
}

body .szkoly-jezykowe-page-wrapper .left_center .szkoly-jezykowe-container {
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Wyśrodkowanie #content dla SEKCJA 20 */
body.sekcja-20 #content,
body:has(.szkoly-jezykowe-container) #content {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 1400px !important;
    width: 100% !important;
    float: none !important;
    display: block !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
}

/* Wyśrodkowanie #center dla SEKCJA 20 */
body.sekcja-20 #center,
body:has(.szkoly-jezykowe-container) #center,
.szkoly-jezykowe-page-wrapper #center,
.szkoly-jezykowe-page-wrapper .left_center#center {
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    display: block !important;
    width: auto !important;
    max-width: calc(100% - 350px) !important;
}

/* Zwiększona szerokość #center i .center dla strony prezentacji szkoły językowej (SEKCJA 28) */
/* Dla szkoly-jezykowe-page-wrapper z prawym panelem, zwiększ max-width ale respektuj obecność .right */
body.sekcja-28 .szkoly-jezykowe-page-wrapper:has(.right) #center,
body.sekcja-28 .szkoly-jezykowe-page-wrapper:has(.right) .center,
body.sekcja-28 .szkoly-jezykowe-page-wrapper:has(.right) .left_center,
body:has(.prezentacja_content) .szkoly-jezykowe-page-wrapper:has(.right) #center,
body:has(.prezentacja_content) .szkoly-jezykowe-page-wrapper:has(.right) .center,
body:has(.prezentacja_content) .szkoly-jezykowe-page-wrapper:has(.right) .left_center {
    max-width: calc(1600px - 350px) !important;
    flex: 0 1 auto !important;
    width: auto !important;
}

/* Dla szkoly-jezykowe-page-wrapper bez prawego panelu */
body.sekcja-28 .szkoly-jezykowe-page-wrapper:not(:has(.right)) #center,
body.sekcja-28 .szkoly-jezykowe-page-wrapper:not(:has(.right)) .center,
body.sekcja-28 .szkoly-jezykowe-page-wrapper:not(:has(.right)) .left_center,
body:has(.prezentacja_content) .szkoly-jezykowe-page-wrapper:not(:has(.right)) #center,
body:has(.prezentacja_content) .szkoly-jezykowe-page-wrapper:not(:has(.right)) .center,
body:has(.prezentacja_content) .szkoly-jezykowe-page-wrapper:not(:has(.right)) .left_center {
    max-width: 1600px !important;
    flex: 1 1 100% !important;
    width: 100% !important;
}

/* Jeśli nie ma prawego panelu na stronie prezentacji, daj pełną szerokość */
body.sekcja-28 .left_center:only-child,
body.sekcja-28 .center:only-child,
body.sekcja-28:not(:has(.right)) .left_center,
body.sekcja-28:not(:has(.right)) .center,
body:has(.prezentacja_content) .left_center:only-child,
body:has(.prezentacja_content) .center:only-child,
body:has(.prezentacja_content):not(:has(.right)) .left_center,
body:has(.prezentacja_content):not(:has(.right)) .center {
    max-width: 1600px !important;
    flex: 1 1 100% !important;
    width: 100% !important;
}

/* Wyśrodkowanie #content dla SEKCJA 20 - jeśli istnieje */
body.sekcja-20 #content,
body:has(.szkoly-jezykowe-container) #content {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 1400px !important;
    width: 100% !important;
    float: none !important;
    display: block !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
}

/* ============================================
   NOWOCZESNA PREZENTACJA SZKOŁY JĘZYKOWEJ
   ============================================ */

.szkola-jezykowa-prezentacja {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* Breadcrumb */
.szkola-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
    font-size: 14px;
    color: #666;
}

.szkola-breadcrumb a {
    color: #0d537e;
    text-decoration: none;
    transition: color 0.2s;
}

.szkola-breadcrumb a:hover {
    color: #0970a1;
    text-decoration: underline;
}

.breadcrumb-separator {
    color: #999;
}

.breadcrumb-current {
    color: #333;
    font-weight: 500;
}

/* Nagłówek szkoły */
.szkola-header {
    background: linear-gradient(135deg, #0d537e 0%, #0970a1 100%);
    border-radius: 12px;
    padding: 30px;
    margin-bottom: 30px;
    color: white;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

.szkola-header-content {
    display: flex;
    align-items: center;
    gap: 30px;
}

.szkola-logo {
    flex-shrink: 0;
}

.szkola-logo img {
    max-width: 200px;
    max-height: 150px;
    border-radius: 8px;
    background: white;
    padding: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

.szkola-header-info {
    flex: 1;
}

.szkola-title {
    margin: 0 0 12px 0;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.2;
}

.szkola-title a {
    color: white;
    text-decoration: none;
}

.szkola-title a:hover {
    opacity: 0.9;
}

.preview-badge {
    display: inline-block;
    background: rgba(255,255,255,0.2);
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 500;
    margin-left: 10px;
}

.szkola-location {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    opacity: 0.95;
}

.szkola-location svg {
    flex-shrink: 0;
}

/* Karta kontaktowa */
.szkola-contact-card {
    background: white;
    border-radius: 12px;
    padding: 25px;
    margin-bottom: 30px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
}

.contact-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.contact-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f0f7fa;
    border-radius: 8px;
    color: #0d537e;
}

.contact-icon svg {
    width: 20px;
    height: 20px;
}

.contact-info {
    flex: 1;
}

.contact-label {
    font-size: 12px;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
    font-weight: 600;
}

.contact-value {
    font-size: 15px;
    color: #333;
    line-height: 1.5;
}

.contact-value a {
    color: #0d537e;
    text-decoration: none;
    transition: color 0.2s;
}

.contact-value a:hover {
    color: #0970a1;
    text-decoration: underline;
}

.contact-map {
    grid-column: 1 / -1;
}

.map-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    background: #0d537e;
    color: white;
    text-decoration: none;
    border-radius: 8px;
    transition: background 0.2s;
    font-weight: 500;
}

.map-link:hover {
    background: #0970a1;
    color: white;
}

.map-link svg {
    flex-shrink: 0;
}

/* Zakładki */
.szkola-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 30px;
    border-bottom: 2px solid #e0e0e0;
}

.szkola-tab {
    padding: 12px 24px;
    background: transparent;
    color: #666;
    text-decoration: none;
    border-radius: 8px 8px 0 0;
    font-weight: 500;
    transition: all 0.2s;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
}

.szkola-tab:hover {
    background: #f5f5f5;
    color: #0d537e;
}

.szkola-tab.active {
    color: #0d537e;
    border-bottom-color: #0d537e;
    background: #f0f7fa;
}

/* Zawartość */
.szkola-content {
    background: white;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

/* Sekcje języków */
.jezyk-section {
    margin-bottom: 40px;
    padding-bottom: 30px;
    border-bottom: 1px solid #e0e0e0;
}

.jezyk-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.jezyk-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.jezyk-flag {
    width: 48px;
    height: 32px;
    border-radius: 4px;
    object-fit: cover;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.jezyk-title {
    margin: 0;
    font-size: 24px;
    font-weight: 600;
    color: #0d537e;
}

.jezyk-content {
    margin-left: 63px;
}

.section-subtitle {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin: 20px 0 12px 0;
}

.kursy-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 12px;
    margin-bottom: 20px;
}

.kurs-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 15px;
    background: #f8f9fa;
    border-radius: 6px;
    font-size: 14px;
    color: #333;
}

.kurs-item svg {
    flex-shrink: 0;
    color: #0d537e;
}

.egzaminy-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.egzamin-badge {
    display: inline-block;
    padding: 8px 16px;
    background: linear-gradient(135deg, #0d537e 0%, #0970a1 100%);
    color: white;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    box-shadow: 0 2px 4px rgba(13,83,126,0.2);
}

/* Zawartość zakładek */
.zakladka-content {
    line-height: 1.8;
}

.zakladka-title {
    font-size: 28px;
    font-weight: 600;
    color: #0d537e;
    margin: 0 0 20px 0;
}

.zakladka-text {
    font-size: 15px;
    color: #444;
    line-height: 1.8;
}

.no-content {
    padding: 40px;
    text-align: center;
    color: #999;
    font-style: italic;
}

/* Galeria */
.szkola-gallery {
    margin-top: 40px;
    padding-top: 30px;
    border-top: 1px solid #e0e0e0;
}

.gallery-title {
    font-size: 24px;
    font-weight: 600;
    color: #0d537e;
    margin: 0 0 20px 0;
}

.gallery-container {
    display: flex;
    align-items: center;
    gap: 15px;
}

.gallery-nav {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border: 2px solid #0d537e;
    background: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #0d537e;
    transition: all 0.2s;
}

.gallery-nav:hover {
    background: #0d537e;
    color: white;
}

.gallery-images {
    flex: 1;
    display: flex;
    gap: 15px;
    overflow: hidden;
}

.gallery-image-wrapper {
    flex: 1;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    transition: transform 0.2s;
}

.gallery-image-wrapper:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.gallery-image-wrapper img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
}

.gallery-image-wrapper a {
    display: block;
}

/* Responsywność */
@media (max-width: 768px) {
    .szkola-jezykowa-prezentacja {
        padding: 15px;
    }
    
    .szkola-header {
        padding: 20px;
    }
    
    .szkola-header-content {
        flex-direction: column;
        text-align: center;
    }
    
    .szkola-title {
        font-size: 24px;
    }
    
    .szkola-contact-card {
        grid-template-columns: 1fr;
        padding: 20px;
    }
    
    .szkola-tabs {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    
    .szkola-tab {
        white-space: nowrap;
        font-size: 14px;
        padding: 10px 16px;
    }
    
    .szkola-content {
        padding: 20px;
    }
    
    .jezyk-content {
        margin-left: 0;
    }
    
    .kursy-grid {
        grid-template-columns: 1fr;
    }
    
    .gallery-container {
        flex-direction: column;
    }
    
    .gallery-nav {
        width: 100%;
        border-radius: 8px;
    }
    
    .gallery-images {
        flex-direction: column;
    }
    
    .gallery-image-wrapper img {
        height: 150px;
    }
}

/* Upewnij się, że footer jest widoczny dla sekcji 20 i ma pełną szerokość */
body:has(.szkoly-jezykowe-container) #footer,
body.sekcja-20 #footer,
.szkoly-jezykowe-page-wrapper ~ #footer {
    display: block !important;
    visibility: visible !important;
    position: relative !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 40px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Upewnij się, że container wewnątrz footera ma pełną szerokość dla SEKCJA 20 */
body:has(.szkoly-jezykowe-container) #footer .container,
body.sekcja-20 #footer .container {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

@media (max-width: 768px) {
    .szkoly-jezykowe-container {
        padding: 20px 15px;
    }
    
    .szkoly-jezykowe-title {
        font-size: 26px;
    }
    
    .szkoly-jezykowe-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .szkoly-jezykowe-languages-section {
        padding: 20px;
    }
    
    .szkoly-jezykowe-alert {
        flex-direction: column;
        padding: 20px;
    }
    
    .jezyki-buttons {
        gap: 10px;
    }
    
    .jezyk-button {
        padding: 10px 20px;
        font-size: 14px;
    }
    
    .szkola-card-header,
    .szkola-card-body,
    .szkola-card-footer {
        padding: 20px;
    }
}

@media (max-width: 480px) {
    .szkoly-jezykowe-title {
        font-size: 22px;
    }
    
    .szkola-name {
        font-size: 18px;
    }
    
    .szkola-card-header,
    .szkola-card-body,
    .szkola-card-footer {
        padding: 15px;
    }
}

/* ============================================
   NOWOCZESNE ZAKŁADKI DLA PREZENTACJI SZKOŁY JĘZYKOWEJ
   ============================================ */

.prezentacja_sj_zakladki {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 30px 0;
    padding: 20px;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-radius: 12px;
    border: 1px solid #e0e0e0;
    clear: both;
    position: relative;
    z-index: 1;
}

/* Kontener dla treści po zakładkach */
.prezentacja_content {
    clear: both;
    margin-top: 0;
    position: relative;
    z-index: 0;
    width: 100%;
    display: block;
    overflow: visible;
    overflow: visible;
    display: block;
}

/* Spójna budowa prezentacja_top (flex) – bez float, bez rozjechania */
.prezentacja_top {
    display: flex;
    flex-wrap: wrap;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    position: relative;
}

/* Dla szkół językowych - dodatkowe zabezpieczenie */
.szkoly-jezykowe-container .prezentacja_top {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.szkoly-jezykowe-container .prezentacja_top_left,
.szkoly-jezykowe-container .prezentacja_top_right {
    box-sizing: border-box !important;
    max-width: 100% !important;
}

.prezentacja_sj_zakladki a {
    display: inline-block;
    padding: 12px 24px;
    background: #fff;
    color: #0d537e;
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
    border: 2px solid #0d537e;
    border-radius: 30px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    white-space: nowrap;
}

.prezentacja_sj_zakladki a:hover {
    background: #0d537e;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(13, 83, 126, 0.3);
}

.prezentacja_sj_zakladki a[style*="font-weight: bold"] {
    background: linear-gradient(135deg, #0d537e 0%, #0970a1 100%);
    color: #fff;
    border-color: #0d537e;
    font-weight: 600 !important;
    box-shadow: 0 4px 12px rgba(13, 83, 126, 0.3);
}

.prezentacja_zakladka_tytul {
    font-size: 28px;
    font-weight: 700;
    color: #0d537e;
    margin: 30px 0 20px 0;
    padding-bottom: 15px;
    border-bottom: 3px solid #0d537e;
    clear: both;
    display: block;
    width: 100%;
}

.prezentacja_zakladka {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    padding: 30px;
    margin-bottom: 30px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    clear: both;
    display: block;
    width: 100%;
    overflow: visible;
}

/* Style dla sekcji języków - nowe unikalne klasy */
.sj-prezentacja-jezyk-wrapper {
    margin-bottom: 30px;
    clear: both;
    overflow: hidden;
    width: 100%;
    display: block;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    padding: 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.sj-prezentacja-jezyk-wrapper:first-child {
    margin-top: 0;
}

.sj-prezentacja-jezyk-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 20px;
    background: #f8f9fa;
    border-left: 4px solid #0d537e;
    border-radius: 12px 12px 0 0;
    margin: 0;
    min-height: 60px;
    box-sizing: border-box;
}

.sj-prezentacja-jezyk-nazwa {
    font-size: 18px;
    font-weight: 600;
    color: #0d537e;
    display: flex;
    align-items: center;
    line-height: 1.4;
    flex: 1;
}

.sj-prezentacja-jezyk-flag {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-left: 15px;
    padding: 0;
    line-height: 1;
}

.sj-prezentacja-jezyk-flag img {
    width: 40px;
    height: auto;
    max-height: 40px;
    display: block;
    object-fit: contain;
    vertical-align: middle;
}

/* Wrapper dla kursów i egzaminów */
.sj-prezentacja-jezyk-kursy {
    clear: both;
    overflow: hidden;
    margin-top: 0;
    width: 100%;
    display: block;
    padding: 15px 20px;
    box-sizing: border-box;
}

/* Kontener dla układu dwukolumnowego */
.sj-prezentacja-kolumna {
    width: 48%;
    float: left;
    box-sizing: border-box;
    padding-right: 2%;
    margin-bottom: 0;
}

.sj-prezentacja-kolumna:nth-child(2n) {
    padding-right: 0;
    padding-left: 2%;
}

.sj-prezentacja-kolumna:only-child {
    width: 100%;
    padding-right: 0;
    padding-left: 0;
}

/* Pojedyncze elementy w układzie */
.sj-prezentacja-kurs-item {
    margin: 0;
    padding: 12px 0;
    border-bottom: 1px solid #e0e0e0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
    line-height: 1.5;
}

.sj-prezentacja-kurs-item:last-child {
    border-bottom: none;
}

.sj-prezentacja-kurs-nazwa {
    color: #333;
    flex: 1;
    display: flex;
    align-items: center;
    margin-right: 10px;
}

.sj-prezentacja-kurs-check {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
}

.sj-prezentacja-kurs-check img {
    width: 16px;
    height: 16px;
    display: block;
    margin: 0 auto;
    vertical-align: middle;
}

.sj-prezentacja-kurs-cert {
    color: #0d537e;
    font-weight: 600;
    display: flex;
    align-items: center;
    flex-shrink: 0;
    margin-left: 10px;
}

/* Responsywność */
@media (max-width: 768px) {
    .sj-prezentacja-kolumna {
        width: 100% !important;
        float: none !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
        margin-bottom: 20px;
    }
    
    .sj-prezentacja-kolumna:last-child {
        margin-bottom: 0;
    }
    
    .sj-prezentacja-jezyk-kursy {
        padding: 15px;
    }
    
    .sj-prezentacja-jezyk-wrapper {
        margin-bottom: 25px;
    }
    
    .sj-prezentacja-jezyk-header {
        padding: 15px;
        flex-wrap: wrap;
    }
    
    .sj-prezentacja-jezyk-nazwa {
        width: 100%;
        margin-bottom: 10px;
    }
    
    .sj-prezentacja-jezyk-flag {
        margin-left: 0;
    }
}

.prezentacja_opis {
    font-size: 16px;
    line-height: 1.8;
    color: #333;
}

.prezentacja_opis p {
    margin: 15px 0;
}

@media (max-width: 768px) {
    .prezentacja_sj_zakladki {
        padding: 15px;
        gap: 6px;
    }
    
    .prezentacja_sj_zakladki a {
        padding: 10px 18px;
        font-size: 14px;
    }
    
    .prezentacja_zakladka {
        padding: 20px;
    }
    
    .prezentacja_zakladka_tytul {
        font-size: 24px;
    }
}

/* ========== Nabór zimowy (SEKCJA 53) – struktura i layout ========== */

/* Cała treść strony naboru wyśrodkowana */
body.sekcja-53 #content {
    width: 100%;
    max-width: 100%;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
}

/* Wrapper strony naboru zimowego – kontener wyśrodkowany + rząd dwóch kolumn */
body.sekcja-53 .nbz-layout,
.nbz-layout {
    display: block !important;
    box-sizing: border-box;
    width: 100%;
    max-width: 1350px;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 15px;
    padding-right: 15px;
}

.nbz-layout__row {
    display: flex !important;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0 28px;
    width: 100%;
}

/* Główna treść (lista uczelni, filtry) – zajmuje resztę szerokości; nadpisanie globalnych float/width */
body.sekcja-53 .nbz-layout__row > .left_center#center,
.nbz-layout__row > .left_center#center {
    flex: 1 1 0% !important;
    min-width: 0;
    max-width: 100% !important;
    width: auto !important;
    float: none !important;
}

.nbz-layout__row > .left_center .left {
    display: none !important;
}

.nbz-layout__row > .left_center .center {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* Prawa kolumna (Opinie, Z życia studenta) – stała szerokość, zawsze po prawej; nadpisanie globalnych float/width */
body.sekcja-53 .nbz-layout__row > .right.prezentacja_right,
body.sekcja-53 .nbz-layout__row > #right,
.nbz-layout__row > .right.prezentacja_right,
.nbz-layout__row > #right {
    flex: 0 0 320px !important;
    width: 320px !important;
    max-width: 320px !important;
    box-sizing: border-box;
    padding-top: 0;
    float: none !important;
}

.nbz-layout__row > .right .wyszukaj_uczelnie_div {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    padding: 18px;
    margin-bottom: 20px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.nbz-layout__row > .right .ranking_popularnosci_kierunkow_title {
    font-size: 1.05rem;
    font-weight: 600;
    color: #0d537e;
    margin: 0 0 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e8e8e8;
}

.nbz-layout__row > .right .ranking_popularnosci_kierunkow_zajawka {
    padding: 12px 0;
    border-bottom: 1px solid #eee;
    font-size: 14px;
}

.nbz-layout__row > .right .ranking_popularnosci_kierunkow_zajawka:last-child {
    border-bottom: none;
}

.nbz-layout__row > .right .z_ostatniej_chwili_prawa_right {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    padding: 18px;
    margin-top: 20px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.nbz-layout__row > .right .z_ostatniej_chwili_prawa_right_zoc {
    font-size: 1.05rem;
    font-weight: 600;
    color: #0d537e;
    margin: 0 0 14px;
}

@media (max-width: 991px) {
    .nbz-layout__row {
        flex-direction: column;
        gap: 24px;
    }

    .nbz-layout__row > .right.prezentacja_right,
    .nbz-layout__row > #right {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
    }

    /* Prawa kolumna na dole – w stylu sekcji ze strony głównej */
    body.sekcja-53 .nbz-layout__row > .right.prezentacja_right,
    body.sekcja-53 .nbz-layout__row > #right {
        margin-top: 8px;
        padding: 28px 0 32px;
        background: linear-gradient(to bottom, #f8f9fa 0%, #fff 100%);
        border-top: 1px solid #e8e8e8;
        border-radius: 0;
    }

    body.sekcja-53 .nbz-layout__row > .right .wyszukaj_uczelnie_div,
    body.sekcja-53 .nbz-layout__row > .right .z_ostatniej_chwili_prawa_right {
        margin-left: auto;
        margin-right: auto;
        max-width: 540px;
    }

    body.sekcja-53 .nbz-layout__row > .right .z_ostatniej_chwili_prawa_right {
        margin-top: 28px;
    }
}

/* Na szerszych ekranach (gdy prawa kolumna jest obok) – bez zmian. Na wąskich (768–991px) dwie kolumny obok siebie */
@media (min-width: 768px) and (max-width: 991px) {
    body.sekcja-53 .nbz-layout__row > .right.prezentacja_right,
    body.sekcja-53 .nbz-layout__row > #right {
        display: flex;
        flex-wrap: wrap;
        gap: 24px 28px;
        justify-content: center;
        padding-left: 15px;
        padding-right: 15px;
    }

    body.sekcja-53 .nbz-layout__row > .right .wyszukaj_uczelnie_div,
    body.sekcja-53 .nbz-layout__row > .right .z_ostatniej_chwili_prawa_right {
        flex: 1 1 320px;
        min-width: 280px;
        max-width: 480px;
    }

    body.sekcja-53 .nbz-layout__row > .right .z_ostatniej_chwili_prawa_right {
        margin-top: 0;
    }
}

/* Wspólny styl sekcji „na dole” – nagłówki jak na stronie głównej (linie + kolor) */
body.sekcja-53 .nbz-layout__row > .right .ranking_popularnosci_kierunkow_title,
body.sekcja-53 .nbz-layout__row > .right .z_ostatniej_chwili_prawa_right_zoc {
    font-size: 1.15rem;
    font-weight: 600;
    color: #0d537e;
    padding-bottom: 12px;
    margin-bottom: 16px;
    border-bottom: 3px solid #0d537e;
    position: relative;
}

body.sekcja-53 .nbz-layout__row > .right .ranking_popularnosci_kierunkow_title a,
body.sekcja-53 .nbz-layout__row > .right .z_ostatniej_chwili_prawa_right_zoc {
    color: #0d537e;
}

body.sekcja-53 .nbz-layout__row > .right .wyszukaj_uczelnie_div {
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
    border-radius: 12px;
    border-color: #e0e0e0;
}

body.sekcja-53 .nbz-layout__row > .right .z_ostatniej_chwili_prawa_right {
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
    border-radius: 12px;
    border-color: #e0e0e0;
}

/* Wrapper .nbz-page – obecna struktura HTML */
.nbz-page {
    max-width: 100%;
    box-sizing: border-box;
    padding: 0 15px 30px;
}

.nbz-page .naborZimowyDiv {
    margin: 0 -15px 24px;
    text-align: center;
    padding: 0;
}

.nbz-page .nbz-hero-img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    vertical-align: middle;
}

/* Blok filtrów nabór zimowy – nadpisanie .ranking_popularnosci_search (height: 90px, float, tło) */
.nbz-page .ranking_popularnosci_search.nbz-filters,
.nbz-filters {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
    overflow-x: hidden;
    /* Nadpisanie globalnego .ranking_popularnosci_search – responsywna wysokość */
    height: auto !important;
    min-height: 0 !important;
    float: none !important;
    margin-top: 0;
    margin-left: 0;
    background: #fff !important;
    background-image: none !important;
    background-size: auto;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    padding: 14px 16px;
    margin-bottom: 20px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}

.nbz-filters__form {
    margin: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.nbz-filters__title {
    margin: 0 0 10px;
    font-size: 0.95rem;
    font-weight: 600;
    color: #0d537e;
}

.nbz-filters__row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 10px 14px;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.nbz-filters__label {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1 1 140px;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.nbz-filters__label-text {
    font-size: 12px;
    font-weight: 500;
    color: #555;
}

.nbz-filters__select,
.nbz-page .nbz-filters .rp_kierunek,
.nbz-page .nbz-filters .rp_uczelnia {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 8px 10px;
    font-size: 14px;
    border: 1px solid #ccc;
    border-radius: 6px;
    background: #fff;
    color: #333;
    appearance: auto;
    box-sizing: border-box;
}

.nbz-filters__select--rodzaj,
.nbz-page .nbz-filters .rp_uczelnia.nbz-filters__select--rodzaj {
    font-weight: 500;
    color: #0d537e;
}

.nbz-filters__select:focus,
.nbz-page .nbz-filters .rp_kierunek:focus,
.nbz-page .nbz-filters .rp_uczelnia:focus {
    outline: none;
    border-color: #0d537e;
    box-shadow: 0 0 0 2px rgba(13, 83, 126, 0.15);
}

.nbz-filters__submit,
.nbz-page .nbz-filters .nbz-btn-filter {
    flex: 0 0 auto;
    padding: 8px 18px;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(135deg, #0d537e 0%, #0970a1 100%);
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
    align-self: flex-end;
}

.nbz-filters__submit:hover,
.nbz-page .nbz-filters .nbz-btn-filter:hover {
    box-shadow: 0 3px 10px rgba(13, 83, 126, 0.3);
    transform: translateY(-1px);
}

.nbz-page .prezentacja_tytul_belka {
    border-radius: 8px;
    margin-bottom: 20px;
    padding: 12px 20px;
}

.nbz-page .prezentacja_top {
    margin-bottom: 16px;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}

.nbz-page .zajawka_tytul_belka_nazwa_2,
.nbz-page .zajawka_tytul_belka_nazwa_2_pods {
    padding: 8px 14px;
}

.nbz-page .prezentacja_dp a {
    font-weight: inherit;
}

.nbz-page .zajawka_tytul_belka_nazwa_2 > p {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0;
}

.nbz-page .zajawka_tytul_belka_nazwa_2 > p span:first-child {
    flex: 1 1 200px;
    min-width: 0;
}

.nabor-zimowy-page {
    max-width: 100%;
    box-sizing: border-box;
    padding: 0 15px 30px;
}

.nbz-hero {
    margin: 0 -15px 24px;
    text-align: center;
    overflow: hidden;
}

.nbz-hero__img {
    max-width: 100%;
    height: auto;
    display: block;
    vertical-align: middle;
}

.nbz-filters {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 28px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.nbz-filters__title {
    margin: 0 0 16px;
    font-size: 1.1rem;
    font-weight: 600;
    color: #0d537e;
}

.nbz-filters__form {
    margin: 0;
}

.nbz-filters__row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px 20px;
}

.nbz-filters__label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
    flex: 1 1 160px;
}

.nbz-filters__label-text {
    font-size: 13px;
    font-weight: 500;
    color: #555;
}

.nbz-filters__select {
    width: 100%;
    max-width: 260px;
    padding: 10px 12px;
    font-size: 14px;
    border: 1px solid #ccc;
    border-radius: 8px;
    background: #fff;
    color: #333;
    appearance: auto;
}

.nbz-filters__select--rodzaj {
    font-weight: 500;
    color: #0d537e;
}

.nbz-filters__select:focus {
    outline: none;
    border-color: #0d537e;
    box-shadow: 0 0 0 2px rgba(13, 83, 126, 0.2);
}

.nbz-filters__submit {
    flex: 0 0 auto;
    padding: 10px 24px;
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(135deg, #0d537e 0%, #0970a1 100%);
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.nbz-filters__submit:hover {
    box-shadow: 0 4px 12px rgba(13, 83, 126, 0.35);
    transform: translateY(-1px);
}

.nbz-list {
    margin-bottom: 24px;
}

.nbz-list__criteria {
    margin-bottom: 20px;
}

.nbz-list__criteria.prezentacja_tytul_belka {
    border-radius: 8px;
    padding: 12px 20px;
}

.nabor-zimowy-page .nbz-card {
    margin-bottom: 25px;
}

.nbz-card__header .nbz-card__title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0;
}

.nbz-card__title-wrap {
    flex: 1 1 200px;
    min-width: 0;
}

.nbz-card__title-wrap a,
.nbz-card__more-wrap a {
    color: #fff;
    text-decoration: none;
    font-weight: 600;
}

.nbz-card__title-wrap a:hover,
.nbz-card__more-wrap a:hover {
    text-decoration: underline;
    opacity: 0.95;
}

.nbz-card__more-wrap {
    flex-shrink: 0;
}

.nbz-card__more-img {
    max-width: 100%;
    height: auto;
    display: block;
}

.nbz-card__links a {
    font-weight: inherit;
}

.nbz-card__link--active {
    font-weight: 700 !important;
}

.nbz-card__links.prezentacja_dp {
    margin: 6px 0 0;
}

.nbz-empty {
    margin-bottom: 24px;
}

.nbz-empty .zajawka_tytul_belka_nazwa_2 {
    border-radius: 12px;
    padding: 20px;
}

.nbz-pagination {
    margin-top: 28px;
    clear: both;
}

@media (max-width: 768px) {
    .nbz-page {
        padding: 0 12px 24px;
    }

    .nbz-page .naborZimowyDiv {
        margin: 0 -12px 20px;
    }

    .nbz-page .ranking_popularnosci_search.nbz-filters,
    .nbz-filters {
        padding: 12px 14px;
        margin-bottom: 18px;
    }

    .nbz-filters__row {
        gap: 10px;
    }

    .nbz-filters__label {
        flex: 1 1 100%;
        max-width: none;
    }

    .nbz-filters__submit,
    .nbz-page .nbz-filters .nbz-btn-filter {
        width: 100%;
    }

    .nbz-page .prezentacja_top_left {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
        min-height: 0;
        padding: 10px 12px;
    }

    .nbz-page .prezentacja_top_right {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
        padding: 10px 14px 12px;
    }

    .nabor-zimowy-page {
        padding: 0 12px 24px;
    }

    .nbz-hero {
        margin: 0 -12px 20px;
    }

    .nbz-filters__title {
        font-size: 0.9rem;
        margin-bottom: 8px;
    }

    .nbz-filters__label {
        flex: 1 1 100%;
        max-width: none;
    }

    .nbz-filters__select {
        max-width: none;
    }

    .nbz-filters__submit {
        width: 100%;
    }

    .nabor-zimowy-page .prezentacja_top_left {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
        min-height: 150px;
        padding: 20px;
    }

    .nabor-zimowy-page .prezentacja_top_right {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
        padding: 20px;
    }

    .nbz-card__title-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .nbz-card__more-wrap {
        align-self: flex-end;
    }
}

@media (max-width: 480px) {
    .nbz-page .rp_kierunek,
    .nbz-page .rp_uczelnia {
        padding: 10px;
        font-size: 16px;
    }

    .nbz-page .prezentacja_top_left {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
    }

    .nbz-page .prezentacja_top_right {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
    }

    .nbz-page .prezentacja_top_left,
    .nbz-page .prezentacja_top_right {
        padding: 10px 12px;
    }

    .nbz-page .zajawka_tytul_belka_nazwa_2,
    .nbz-page .zajawka_tytul_belka_nazwa_2_pods {
        padding: 8px 12px;
    }

    .nbz-filters__select {
        padding: 10px;
        font-size: 16px;
    }

    .nabor-zimowy-page .prezentacja_top_left,
    .nabor-zimowy-page .prezentacja_top_right {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
        padding: 15px;
    }

    .zajawka_tytul_belka_nazwa_2.nbz-card__header,
    .zajawka_tytul_belka_nazwa_2_pods.nbz-card__header {
        padding: 12px 15px;
    }

    .nbz-card__title-wrap a,
    .nbz-card__more-wrap a {
        font-size: 16px;
    }
}

/* Rating section – responsywność (przeniesione z inline <style> dla walidacji HTML5) */
@media (max-width: 991px) {
    .rating-grid-container {
        grid-template-columns: 1fr !important;
        height: auto !important;
    }
    .rating-small-grid {
        height: 280px !important;
        margin-bottom: 8px;
    }
    .rating-large-item {
        height: 280px !important;
    }
}

/* Strona miasto/kierunek – tylko pionowe odstępy między ikoną studia, H1 a sekcją "Gdzie w..." (paddingi po bokach bez zmian) */
.desktop-city-content .subtitle.resultList_title {
    margin-bottom: 0;
}
.desktop-city-content #resultList.pt-3 {
    padding-top: 0;
}
.desktop-city-content #resultList .container-level-three.mt-3 {
    margin-top: 0;
}
.desktop-city-content #resultList article.row.mt-3 {
    margin-top: 0;
}
.desktop-city-content #resultList .col-sm-12.p-4.f-size-one-5 {
    padding-top: 0;
}
.desktop-city-content #resultList article .p-2.text-justify {
    padding-top: 0;
}

/* Wyśrodkowanie dolnego wiersza kart na stronach miast */
@media (min-width: 992px) {
    .desktop-city-content .row.pb-5 > .col-sm-12 {
        display: flex;
        justify-content: center;
    }

    .desktop-city-content .row.pb-5 > .col-sm-12 > .row.city-toc-row {
        max-width: 1100px;
        width: 100%;
    }
}

/* Wyśrodkowanie całej sekcji desktop-city-content na szerokich ekranach */
@media (min-width: 1200px) {
    .desktop-city-content {
        max-width: 1200px;
        margin-left: auto;
        margin-right: auto;
    }
}

/* Węższa, wyśrodkowana kreska oddzielająca sekcję na stronach miast */
.desktop-city-content .container.container-level-three .border-kreska-bottom {
    width: 70%;
    margin-left: auto;
    margin-right: auto;
}

/* Studia podyplomowe — nagłówek strony (zamiast starego .subtitle.resultList_title + caps) */
.studia-podyplomowe-hero {
    margin: 0 0 1.5rem;
    padding: 1.25rem 1.35rem 1.4rem;
    background: linear-gradient(135deg, #f2f8fc 0%, #ffffff 42%, #e9f3fa 100%);
    border: 1px solid rgba(0, 112, 171, 0.14);
    border-radius: 12px;
    box-shadow: 0 2px 14px rgba(0, 112, 171, 0.07);
}

.studia-podyplomowe-hero--landing {
    margin-top: 0.25rem;
}

.studia-podyplomowe-hero--section-bottom {
    margin-bottom: 1.25rem;
    padding: 1rem 1.15rem 1.1rem;
}

.studia-podyplomowe-hero__inner {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    max-width: 960px;
    margin: 0 auto;
    text-align: left;
}

@media (min-width: 576px) {
    .studia-podyplomowe-hero__inner {
        align-items: center;
    }
}

.studia-podyplomowe-hero__inner--compact {
    gap: 0.75rem;
}

.studia-podyplomowe-hero__icon {
    width: 56px;
    height: auto;
    flex-shrink: 0;
    opacity: 0.92;
    filter: drop-shadow(0 1px 2px rgba(0, 80, 120, 0.12));
}

.studia-podyplomowe-hero__icon--small {
    width: 44px;
}

@media (max-width: 575.98px) {
    .studia-podyplomowe-hero__icon {
        width: 44px;
    }

    .studia-podyplomowe-hero__icon--small {
        width: 38px;
    }
}

.studia-podyplomowe-hero__text {
    min-width: 0;
}

.studia-podyplomowe-hero__title {
    margin: 0 0 0.4rem;
    font-family: 'BebasNeue_Book', 'BebasNeue', sans-serif;
    font-size: clamp(1.7rem, 4.2vw, 2.45rem);
    line-height: 1.18;
    letter-spacing: 0.03em;
    color: #0070ab;
    font-weight: 500;
    text-transform: none;
}

.studia-podyplomowe-hero__title--h2 {
    font-size: clamp(1.35rem, 3.2vw, 1.85rem);
    margin-bottom: 0.3rem;
}

.studia-podyplomowe-hero__lead {
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.5;
    color: #4a5568;
    font-weight: 400;
}

.studia-podyplomowe-hero__lead--tight {
    font-size: 0.98rem;
    line-height: 1.45;
}

/* Rozwijane opisy kierunków (zamiast popupów) – padding pod przyciskiem */
.direction-inline-desc .direction-desc-box {
    margin-top: 0.25rem;
    background-color: #f4f8fc;
    border: 1px solid #dee2e6;
    padding: 0.5rem 0.75rem 1rem;
    font-size: 0.85rem;
    line-height: 1.4;
}

.direction-inline-desc .direction-desc-title {
    font-weight: 600;
    margin-bottom: 0.25rem;
}

table .direction-inline-desc .direction-desc-box p.mt-2.mb-0 {
    margin-bottom: 0.75rem !important;
}

/* Rozwijane opisy kierunków - row-below + profil (aktywny na prezentacjach) */
#presentation .resultList__presentationStudy-table .table-direction-details-row[hidden],
#resultList .resultList__presentationStudy-table .table-direction-details-row[hidden] {
    display: none !important;
}

#presentation .resultList__presentationStudy-table .table-direction-details-row > .table-direction-details-cell,
#resultList .resultList__presentationStudy-table .table-direction-details-row > .table-direction-details-cell {
    padding: 0 !important;
    border-top: 0 !important;
    background: #ffffff !important;
    border: 1px solid #b8d1e2 !important;
}

#presentation .resultList__presentationStudy-table .table-direction-details-inner,
#resultList .resultList__presentationStudy-table .table-direction-details-inner {
    background: #ffffff;
    border: 0;
    padding: 1.1rem 1rem 1rem;
}

#presentation .resultList__presentationStudy-table .table-direction-details-row .direction-inline-desc,
#resultList .resultList__presentationStudy-table .table-direction-details-row .direction-inline-desc {
    display: none;
    margin: 0;
}

#presentation .resultList__presentationStudy-table .table-direction-details-row.is-open .direction-inline-desc,
#resultList .resultList__presentationStudy-table .table-direction-details-row.is-open .direction-inline-desc {
    display: block;
}

#presentation .resultList__presentationStudy-table .direction-profile-box,
#resultList .resultList__presentationStudy-table .direction-profile-box {
    margin-top: 0;
    background-color: #ffffff;
    border: 0;
    border-radius: 0;
    padding: 0 0 0 1rem;
    color: #0f2f4f;
}

#presentation .resultList__presentationStudy-table .direction-profile-type,
#resultList .resultList__presentationStudy-table .direction-profile-type {
    margin-bottom: 0.45rem;
    letter-spacing: 0.26em;
    font-size: 0.72rem;
    font-weight: 600;
    color: #6f8ca3;
}

#presentation .resultList__presentationStudy-table .direction-profile-title,
#resultList .resultList__presentationStudy-table .direction-profile-title {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 1rem;
    color: #183f5b;
}

#presentation .resultList__presentationStudy-table .direction-profile-cards,
#resultList .resultList__presentationStudy-table .direction-profile-cards {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.9rem;
    margin-bottom: 1.2rem;
}

#presentation .resultList__presentationStudy-table .direction-profile-card,
#resultList .resultList__presentationStudy-table .direction-profile-card {
    background: #f2f6fa;
    border: 1px solid #dde7ef;
    border-radius: 12px;
    padding: 0.85rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

#presentation .resultList__presentationStudy-table .direction-profile-card-label,
#resultList .resultList__presentationStudy-table .direction-profile-card-label {
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.66rem;
    color: #6c8ba4;
    font-weight: 600;
}

#presentation .resultList__presentationStudy-table .direction-profile-card-value,
#resultList .resultList__presentationStudy-table .direction-profile-card-value {
    font-size: 0.95rem;
    color: #1f4a69;
    font-weight: 700;
}

#presentation .resultList__presentationStudy-table .direction-profile-section,
#resultList .resultList__presentationStudy-table .direction-profile-section {
    margin-top: 0.7rem;
    padding-left: 0.75rem;
}

#presentation .resultList__presentationStudy-table .direction-profile-section-title,
#resultList .resultList__presentationStudy-table .direction-profile-section-title {
    text-transform: uppercase;
    letter-spacing: 0.15em;
    font-size: 1rem;
    font-weight: 800;
    color: #6c8ba4;
    margin-bottom: 0.35rem;
}

#presentation .resultList__presentationStudy-table .direction-profile-section-content,
#resultList .resultList__presentationStudy-table .direction-profile-section-content {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #244964;
}

#presentation .resultList__presentationStudy-table .direction-profile-section-content ul,
#resultList .resultList__presentationStudy-table .direction-profile-section-content ul {
    margin-bottom: 0;
    padding-left: 1.2rem;
}

#presentation .resultList__presentationStudy-table .direction-profile-cta,
#resultList .resultList__presentationStudy-table .direction-profile-cta {
    margin-top: 1rem !important;
    font-size: 0.95rem;
    color: #6e879b;
}

#presentation .resultList__presentationStudy-table .direction-profile-cta a,
#resultList .resultList__presentationStudy-table .direction-profile-cta a {
    font-weight: 700;
    color: #c62828;
    text-decoration: underline;
}

@media (max-width: 991px) {
    #presentation .resultList__presentationStudy-table .direction-profile-title,
    #resultList .resultList__presentationStudy-table .direction-profile-title {
        font-size: 1.55rem;
    }

    #presentation .resultList__presentationStudy-table .direction-profile-cards,
    #resultList .resultList__presentationStudy-table .direction-profile-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575px) {
    #presentation .resultList__presentationStudy-table .direction-profile-cards,
    #resultList .resultList__presentationStudy-table .direction-profile-cards {
        grid-template-columns: 1fr;
    }

    #presentation .resultList__presentationStudy-table .table-direction-details-inner,
    #resultList .resultList__presentationStudy-table .table-direction-details-inner {
        padding: 0.5rem;
    }
}

/* =========================================================
   Migrated from /developer/assets/css/styletwo.css
   Keep order: originally loaded after /developer/assets/css/swiper/swiper.min.css
   and before /developer/assets/css/opinions.css.
   ========================================================= */
.btn-uczel-grad {
  background: rgb(0, 212, 255);
  background: linear-gradient(180deg, rgba(0, 112, 171, 1) 0%, rgba(0, 212, 255, 1) 100%);
  border: 0;
  opacity: 1;
  color: white;
  transition: .5s;
  margin: 0;
  padding: 5px;
  font-size: 14px;
}

.btn-uczel-grad:hover {
  color: black;
  opacity: .7;
}

.btn-uczel-grad-l-r {
  background: rgb(0, 212, 255);
  background: linear-gradient(90deg, rgba(0, 112, 171, 1) 0%, rgba(0, 212, 255, 1) 100%);
  border: 0;
  opacity: 1;
  color: white;
  transition: .5s;
}

.btn-uczel-grad-l-r:hover {
  color: black;
  opacity: .7;
}

.modal-cookie {
  position: relative;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1055;
  vertical-align: middle;
  display: none;
  width: 90%;
  max-width: 500px;
  overflow-x: hidden;
  overflow-y: auto;
  outline: 0;
}

.fade-cookie {
  transition: opacity .15s linear;
}

.modal-cookie.show .modal-cookie-dialog {
  transform: none;
}

.modal-cookie.fade .modal-cookie-dialog {
  transition: transform .3s ease-out;
  transform: translate(0, -50px);
}

.shadow-cookie {
  box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15) !important;
}

@media (min-width: 992px) {
  .modal-cookie-lg, .modal-cookie-xl {
    max-width: 800px;
  }
}

@media (min-width: 576px) {
  .modal-cookie-dialog {
    max-width: 500px;
    margin: 1.75rem auto;
  }
}

.modal-cookie-dialog {
  position: relative;
  width: auto;
  margin: .5rem;
}

/* =========================================================
   Migrated from /developer/assets/css/opinions.css
   Keep order: originally loaded after /developer/assets/css/styletwo.css
   and before /developer/assets/rating/css/star-rating-svg.css.
   ========================================================= */
 /* The grid: Four equal columns that floats next to each other */
 /* The expanding image container (positioning is needed to position the close button and the text) */
 /* Clear floats after the columns */

 .row:after {
     content: "";
     display: table;
     clear: both;
 }
 /* The expanding image container */

 .containerr {
     padding-bottom: 20px;
 }
 /* Style the images inside the grid */

 img[name="picture"] {
     position: relative;
     opacity: 0.8;
     cursor: pointer;
     border-radius: 5px;
     height: 50px;
     width: 100%;
     float: left;
     margin-bottom: 10px;
     object-fit: cover;
 }

 img[name="picture"]:hover {
     opacity: 1;
     border: 1px darkblue solid;
 }

 #min {
     padding-right: 2px;
     padding-left: 2px;
     width: 100%;
 }

 #expandedImg,
 #expandedImg2,
 #expandedImg3,
 #expandedImg4,
 #expandedImg5 {
     width: 100%;
     border-radius: 25px;
     height: 200px;
     margin-top: 20px;
     object-fit: cover
 }

 .modal-content .modal-body {
     background-color: rgba(255, 255, 255, 0.8);
 }

 .close {
     color: black;
 }
 /*
** reseting
*/

 .opinions>a {
     color: #2ecc71;
     font-family: tahoma;
 }
 /*
** timeline css codes
*/

 .opinions {
     width: 100%;
     /*margin: 100px auto;*/
     padding: 20px 10px 0px 50px;
     border-left: 2px solid #34495e;
 }

 .opinions>p {
     padding: 20px;
     background: #34495e;
     color: #ecf0f1;
     font-family: tahoma;
     line-height: 1.7;
     position: relative;
     border-radius: 0px 25px 25px 25px;
     /* box-shadow: 5px 10px;*/
 }

 .opinions>p>span {
     display: block;
     padding: 5px 5px 10px 5px;
     color: #7f8c8d;
     font-style: italic;
     font-size: 13px;
 }

 .opinions>p>button {
     background: #1BA1FA;
     color: #fff;
     width: 100px;
     height: 35px;
     border-radius: 2px;
     border: 0;
     font-weight: bold;
     cursor: pointer;
     float: right;
     position: absolute;
     right: 15px;
     bottom: 15px;
 }

 .opinions>p:before {
     content: "";
     display: block;
     width: 20px;
     height: 20px;
     border-radius: 50%;
     background: #1BA1FA;
     top: -9px;
     left: -61px;
     position: absolute;
 }

 .opinions>p:after {
     content: "";
     display: block;
     width: 0;
     height: 0;
     border-style: solid;
     border-color: #34495e #34495e transparent transparent;
     border-width: 15px;
     position: absolute;
     top: 0px;
     left: -29px;
 }

 .addinput {
     background: #1BA1FA;
     color: #fff;
     width: 100px;
     border-radius: 2px;
     border: 0;
     font-weight: bold;
     cursor: pointer;
     float: right;
     right: 15px;
     bottom: 15px;
     height: 35px;
 }

 .bgbg {
     content: "";
     display: block;
     width: 0;
     height: 0;
     border-style: solid;
     border-color: #34495e #34495e transparent transparent;
     border-width: 15px;
     position: absolute;
     top: 0px;
     left: -29px;
 }
 /* Komentarze */

 .comments>a {
     color: #2ecc71;
     font-family: tahoma;
 }
 /*
** timeline css codes
*/

 .comments {
     width: 100%;
     /*margin: 100px auto;*/
     padding: 20px 10px 0px 50px;
     border-left: 2px solid #34495e;
 }

 .comments>p {
     padding: 20px;
     background: #4d657d;
     color: #ecf0f1;
     font-family: tahoma;
     line-height: 1.7;
     position: relative;
     border-radius: 0px 25px 25px 25px;
 }

 .comments>p>span {
     display: block;
     padding: 5px 5px 10px 5px;
     color: #7f8c8d;
     font-style: italic;
     font-size: 13px;
 }

 .comments>p>button {
     background: #1BA1FA;
     color: #fff;
     width: 100px;
     height: 35px;
     border-radius: 2px;
     border: 0;
     font-weight: bold;
     cursor: pointer;
     float: right;
     position: absolute;
     right: 15px;
     bottom: 15px;
 }

 .comments>p:before {
     content: "";
     display: block;
     width: 20px;
     height: 20px;
     border-radius: 50%;
     background: #89cdfa;
     top: -9px;
     left: -61px;
     position: absolute;
 }

 .comments>p:after {
     content: "";
     display: block;
     width: 0;
     height: 0;
     border-style: solid;
     border-color: #4d657d #4d657d transparent transparent;
     border-width: 15px;
     position: absolute;
     top: 0px;
     left: -29px;
 }
 /*Error*/

 .error>a {
     color: #2ecc71;
     font-family: tahoma;
 }
 /*
** timeline css codes
*/

 .error {
     width: 100%;
     /*margin: 100px auto;*/
     padding: 20px 10px 0px 50px;
     border-left: 2px solid #34495e;
 }

 .error>p {
     padding: 20px;
     background: linear-gradient(90deg, rgba(121, 9, 9, 1) 0%, rgba(2, 0, 36, 1) 100%, rgba(0, 212, 255, 1) 100%);
     color: #ecf0f1;
     font-family: tahoma;
     line-height: 1.7;
     position: relative;
     border-radius: 0px 25px 25px 25px;
 }

 .error>p>span {
     display: block;
     padding: 5px 5px 10px 5px;
     color: #7f8c8d;
     font-style: italic;
     font-size: 13px;
 }

 .error>p>button {
     background: #1BA1FA;
     color: #fff;
     width: 100px;
     height: 35px;
     border-radius: 2px;
     border: 0;
     font-weight: bold;
     cursor: pointer;
     float: right;
     position: absolute;
     right: 15px;
     bottom: 15px;
 }

 .error>p:before {
     content: "";
     display: block;
     width: 20px;
     height: 20px;
     border-radius: 50%;
     background: #1BA1FA;
     top: -9px;
     left: -61px;
     position: absolute;
 }

 .error>p:after {
     content: "";
     display: block;
     width: 0;
     height: 0;
     border-style: solid;
     border-color: rgba(121, 9, 9, 1) rgba(121, 9, 9, 1) transparent transparent;
     border-width: 15px;
     position: absolute;
     top: 0px;
     left: -29px;
 }
 /*Success*/

 .success>a {
     color: #2ecc71;
     font-family: tahoma;
 }
 /*
** timeline css codes
*/

 .success {
     width: 100%;
     /*margin: 100px auto;*/
     padding: 20px 10px 0px 50px;
     border-left: 2px solid #34495e;
 }

 .success>p {
     padding: 20px;
     background: rgb(216, 232, 232);
     background: linear-gradient(90deg, rgba(216, 232, 232, 1) 0%, rgba(132, 255, 173, 1) 100%, rgba(0, 212, 255, 1) 100%);
     color: #ecf0f1;
     font-family: tahoma;
     line-height: 1.7;
     position: relative;
     border-radius: 0px 25px 25px 25px;
 }

 .success>p>span {
     display: block;
     padding: 5px 5px 10px 5px;
     color: #7f8c8d;
     font-style: italic;
     font-size: 13px;
 }

 .success>p>button {
     background: #1BA1FA;
     color: #fff;
     width: 100px;
     height: 35px;
     border-radius: 2px;
     border: 0;
     font-weight: bold;
     cursor: pointer;
     float: right;
     position: absolute;
     right: 15px;
     bottom: 15px;
 }

 .success>p:before {
     content: "";
     display: block;
     width: 20px;
     height: 20px;
     border-radius: 50%;
     background: #1BA1FA;
     top: -9px;
     left: -61px;
     position: absolute;
 }

 .success>p:after {
     content: "";
     display: block;
     width: 0;
     height: 0;
     border-style: solid;
     border-color: rgba(216, 232, 232, 1) rgba(216, 232, 232, 1) transparent transparent;
     border-width: 15px;
     position: absolute;
     top: 0px;
     left: -29px;
 }

/* =========================================================
   Migrated from /developer/assets/rating/css/star-rating-svg.css
   Keep order: originally loaded after /developer/assets/css/opinions.css
   and before /developer/assets/css/new_style.css.
   ========================================================= */
.jq-stars {
  display: inline-block;
}

.jq-rating-label {
  font-size: 22px;
  display: inline-block;
  position: relative;
  vertical-align: top;
  font-family: helvetica, arial, verdana;
}

.jq-star {
  width: 100px;
  height: 100px;
  display: inline-block;
  cursor: pointer;
}

.jq-star-svg {
  padding-left: 3px;
  width: 100%;
  height: 100% ;
}


.jq-star-svg path {
  /* stroke: #000; */
  stroke-linejoin: round;
}

/* un-used */
.jq-shadow {
  -webkit-filter: drop-shadow( -2px -2px 2px #888 );
  filter: drop-shadow( -2px -2px 2px #888 );
}

/* =========================================================
   Migrated from /developer/assets/css/new_style.css
   Keep order: originally loaded after /developer/assets/rating/css/star-rating-svg.css
   and before /developer/assets/css/legacy-header-override.css.
   ========================================================= */
.breadcrumb {
    padding: 10px;
    border-radius: 5px;
}

.cookie-button-position {
    bottom: 10%;
    z-index: 1049;
}

#cookie_baner_settings {
    right: -93px;
    transition: 1s;
}

#cookie_baner_settings:hover {
    right: 0;
}

.bg-dark-blue-important {
    background-color: #0d537e !important;
}

a {
    text-decoration: none;
}

.navbar .megamenu {
    padding: 1rem;
    background-color: rgba(255, 255, 255, .8);
}

.navbar .dropdown-menu {
    background-color: rgba(255, 255, 255, .8);
}


/* ============ desktop view ============ */

@media all and (min-width: 992px) {
    .navbar .has-megamenu {
        position: static!important;
    }
    .navbar .megamenu {
        left: 0;
        right: 0;
        width: 100%;
        margin-top: 0;
    }
}


/* ============ desktop view .end// ============ */


/* ============ mobile view ============ */

@media(max-width: 991px) {
    .navbar.fixed-top .navbar-collapse,
    .navbar.sticky-top .navbar-collapse {
        overflow-y: auto;
        max-height: 90vh;
        margin-top: 10px;
    }
}


/* ============ mobile view .end// ============ */

.navbar-nav {
    --bs-nav-link-color: white;
    --bs-nav-link-hover-color: gray;
    --bs-nav-link-disabled-color: black;
}

@media (min-width: 768px) {
    .animate {
        animation-duration: 0.2s;
        -webkit-animation-duration: 0.2s;
        animation-fill-mode: both;
        -webkit-animation-fill-mode: both;
    }
}

@keyframes slideIn {
    0% {
        transform: translateY(-0.75rem);
        opacity: 0;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

@-webkit-keyframes slideIn {
    0% {
        -webkit-transform: translateY(-0.75rem);
        opacity: 0;
    }
    100% {
        -webkit-transform: translateY(0);
        opacity: 1;
    }
}

.slideIn {
    -webkit-animation-name: slideIn;
    animation-name: slideIn;
}

.dropdown-menu.megamenu .col-megamenu .title {
    font-weight: 600;
}

@media (min-width: 992px) {
    .dropdown-menu.megamenu .col-megamenu .title {
        margin-bottom: 0.5rem;
        min-height: 1.75rem;
        display: flex;
        align-items: center;
    }

    .dropdown-menu.megamenu .title.empty-title {
        display: block !important;
        visibility: hidden;
        margin-bottom: 0.5rem;
        min-height: 1.75rem;
        display: flex;
        align-items: center;
    }

    /* Druga kolumna miast ma pusty tytuł poza .col-megamenu – wyrównanie paddingu górą */
    .dropdown-menu.megamenu .row > .col-lg-3:nth-child(4) > .title.empty-title {
        display: block !important;
        visibility: hidden;
        margin-bottom: 0.5rem;
        min-height: 1.75rem;
        display: flex;
        align-items: center;
    }

    .dropdown-menu.megamenu .nav-link {
        display: block;
        padding: 0.25rem 0.5rem;
        border-radius: 4px;
        transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
        transform-origin: left center;
        color: inherit;
    }

    .dropdown-menu.megamenu .nav-link:hover,
    .dropdown-menu.megamenu .nav-link:focus-visible {
        background-color: rgba(13, 83, 126, 0.08);
        color: #0d537e;
        transform: translateX(2px) scale(1.02);
    }

    .dropdown-menu.megamenu .nav-link:active {
        transform: translateX(1px) scale(0.99);
    }

    .dropdown-menu.megamenu .megamenu-close-btn {
        position: absolute;
        top: 0.75rem;
        right: 0.75rem;
        width: 32px;
        height: 32px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        margin: 0;
        background: transparent;
        border: none;
        color: #333333;
        cursor: pointer;
        transition: color 0.18s ease, transform 0.18s ease, opacity 0.18s ease;
        opacity: 0.9;
    }

    .dropdown-menu.megamenu .megamenu-close-btn:hover,
    .dropdown-menu.megamenu .megamenu-close-btn:focus-visible {
        color: #0d537e;
        transform: scale(1.05);
        opacity: 1;
    }

    .dropdown-menu.megamenu .megamenu-close-btn:active {
        transform: scale(0.95);
    }

    .dropdown-menu.megamenu .megamenu-close-btn svg {
        width: 20px;
        height: 20px;
    }

/* ===== Dni otwarte – legacy rules disabled (moved to section0style.css) ===== */

/* Specjalny artykuł ALK – zdjęcie główne w całości w okienku */
.article-page-main-24165 .article-banner {
    max-width: 100%;
    margin: 0 auto 1rem auto;
}

.article-page-main-24165 .article-banner img {
    width: 100%;
    height: auto;
    display: block;
}

.dni-otwarte-card-header-row {
    min-height: 72px;
}

.dni-otwarte-uczelnia-description {
    min-height: 48px;
}

.dni-otwarte-card-body-row {
    align-items: stretch;
}

.dni-otwarte-card-media,
.dni-otwarte-card-map {
    margin-bottom: 1rem;
}

.dni-otwarte-media-image-wrapper {
    width: 100%;
    aspect-ratio: 16 / 9;
    max-height: 220px;
    overflow: hidden;
}

.dni-otwarte-media-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.dni-otwarte-map-wrapper {
    width: 100%;
    aspect-ratio: 16 / 9;
    max-height: 220px;
    overflow: hidden;
}

.dni-otwarte-map-iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}
}

.color-facebook{
    color: #3b5998;
}
.color-instagram{
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
  -webkit-background-clip: text;
          /* Also define standard property for compatibility */
          background-clip: text;
  -webkit-text-fill-color: transparent;
}
.color-youtube{
    color: #FF0000;
}
.color-twitter{
    color: #1DA1F2;
}
.color-linkedin{
    color: #0e76a8;
}
.color-tiktok{
    color: #111111;
    filter: drop-shadow(2px 0px 0px #FD3E3E) drop-shadow(-2px -2px 0px #4DE8F4);
}


.article-page-main {
    padding-top: 1.5rem;
    margin-bottom: 2rem;
}

.article-page-main .article-banner {
    max-width: 100%;
    margin: 0 auto 1rem auto;
}

.article-page-main .article-banner img {
    width: 100%;
    height: auto;
    display: block;
}

.article-sidebar {
    margin-top: 1.5rem;
}

.article-thumb-wrapper {
    position: relative;
    overflow: hidden;
    max-width: 100%;
    aspect-ratio: 16/10;
}

.article-thumb-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

@media (max-width: 767.98px) {
    .article-sidebar-lazy-mobile {
        /*
         * Keep sidebar content in HTML for SEO, but skip heavy layout/paint
         * until the block approaches viewport on mobile.
         */
        content-visibility: auto;
        contain-intrinsic-size: auto 2200px;
    }
}

/* ===== Hero zdjęcie artykułu – pełne na desktopie, baner na telefonach ===== */
.article-hero-img {
    width: 100%;
    height: auto;
    display: block;
}

@media (max-width: 768px) {
    .article-hero-wrapper {
        max-height: 260px;
        overflow: hidden;
    }

    .article-hero-img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

/* Tytuł artykułu – wizualnie połączony ze zdjęciem */
.article-hero-title {
    position: relative;
    margin: 0 auto 1.5rem auto;
    padding: 1rem 1.25rem;
    width: 100%;
    background-color: rgba(2, 115, 150, 0.95);
    color: #ffffff;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.28);
    border-radius: 0 0 8px 8px;
}

.article-hero-title h1 {
    margin-top: 0;
}

/* ===== Ogólne utilsy CLS dla obrazów i iframów ===== */
.cls-media-wrapper-16x9 {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.cls-media-wrapper-4x3 {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

.cls-media-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.cls-iframe-wrapper {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.cls-iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

.cls-card-title {
    min-height: 3.2rem;
}

.cls-card-lead {
    min-height: 4.5rem;
}
