@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&family=Raleway:wght@300;400;600&display=swap");
/* Nagłówek i listy */
.is-classes-page .com-content-categories,.is-programs-page .com-content-categories{display:none!important}
.container-header{display:flex!important;align-items:center!important;flex-wrap:nowrap!important;height:90px!important;min-height:90px!important;padding:0 6%!important}
.container-header>.grid-child:first-of-type{flex:0 0 260px!important;padding:0!important;margin:0!important}
.container-header .navbar-brand{margin:0!important;padding:0!important}
.container-header .brand-logo,.container-header .brand-logo img{display:block!important;width:260px!important;height:90px!important}
.container-header .brand-logo img{object-fit:contain!important}
.container-header .container-nav{display:flex!important;align-items:center!important;justify-content:flex-end!important;flex:1 1 auto!important;padding:0!important;margin:0!important}
.container-header .mod-menu{display:flex!important;flex-direction:row!important;align-items:center!important;gap:32px!important;margin:0!important}
.container-header .mod-menu>li>a{display:flex!important;align-items:center!important;min-height:90px!important;padding:0!important}
@media(max-width:700px){.container-header{height:auto!important;min-height:76px!important;flex-wrap:wrap!important;padding:0 18px!important}.container-header>.grid-child:first-of-type{flex:1 1 220px!important}.container-header .brand-logo,.container-header .brand-logo img{width:220px!important;height:76px!important}.container-header .container-nav{flex:1 0 100%!important;justify-content:center!important}.container-header .mod-menu{gap:22px!important}.container-header .mod-menu>li>a{min-height:48px!important}}
/* Lista lekcji w kategoriach programów */
.view-category #mod-custom113,.view-article #mod-custom113{display:none!important}
.view-category .com-content-category-blog{max-width:1120px;margin:0 auto;padding:38px 20px 56px}
.view-category .blog-items{display:block!important}
.view-category .blog-item{display:grid!important;grid-template-columns:minmax(260px,380px) 1fr;gap:34px;align-items:center;padding:30px 0;border-bottom:1px solid #e2e7ef}
.view-category .blog-item .item-image{float:none!important;width:100%!important;margin:0!important}
.view-category .blog-item .item-image img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;box-shadow:0 6px 18px rgba(13,27,62,.18)}
.view-category .blog-item .item-content{min-width:0}
.view-category .blog-item .page-header h2{font-size:26px;line-height:1.25;margin:0 0 12px}
.view-category .blog-item .page-header h2 a{text-decoration:none;color:#10224f}
.view-category .blog-item .article-info{display:none!important}
.view-category .blog-item .item-content>p:not(.readmore){font-size:17px;line-height:1.65;color:#34415e;margin:0 0 12px}
.view-category .blog-item .readmore{margin:16px 0 0}
.view-category .blog-item .readmore a{font-size:0;border:0;background:#1267d6;color:#fff;border-radius:7px;padding:9px 16px;text-decoration:none}
.view-category .blog-item .readmore a:after{content:"Więcej →";font-size:16px;font-weight:700}
@media(max-width:760px){.view-category .com-content-category-blog{padding:24px 16px 40px}.view-category .blog-item{grid-template-columns:1fr;gap:18px;padding:24px 0}.view-category .blog-item .page-header h2{font-size:22px}}
/* Typografia artykułów zgodna z INMI */
.view-article .com-content-article{font-family:"Open Sans",Arial,sans-serif;color:#363636;font-size:18px;line-height:1.9}
.view-article .com-content-article p{font-family:"Open Sans",Arial,sans-serif;font-size:18px;font-weight:400;line-height:34.2px;margin:0 0 20px;color:#363636}
.view-article .com-content-article li{font-family:"Open Sans",Arial,sans-serif;font-size:18px;line-height:34.2px;color:#363636}
.view-article .com-content-article h1{font-family:Raleway,Arial,sans-serif;font-size:40px;font-weight:300;line-height:48px;margin:0 0 25px;color:#363636}
.view-article .com-content-article h2{font-family:Raleway,Arial,sans-serif;font-size:30px;font-weight:300;line-height:38px;margin:30px 0 18px;color:#363636}
.view-article .com-content-article h3{font-family:Raleway,Arial,sans-serif;font-size:25px;font-weight:400;line-height:32px;margin:26px 0 16px;color:#363636}
.view-article .com-content-article ul,.view-article .com-content-article ol{margin:0 0 20px;padding-left:32px}
@media(max-width:700px){.view-article .com-content-article{font-size:17px}.view-article .com-content-article p,.view-article .com-content-article li{font-size:17px;line-height:30px}.view-article .com-content-article h1{font-size:34px;line-height:41px}}
/* Wyrównanie górnego menu do prawej */
@media(min-width:701px){.container-header .container-nav{justify-content:flex-end!important}.container-header .mod-menu{width:auto!important;flex:0 0 auto!important;margin-left:auto!important;margin-right:0!important}}


/* Sekcja 4 ostatnich lekcji */
.is-home-page .latest-lessons{width:100%!important;max-width:none!important;justify-self:stretch!important;border:0!important;background:transparent!important;box-shadow:none!important;margin:42px 0 30px!important}
.is-home-page .latest-lessons .card-header{border:0!important;background:transparent!important;color:#0b183b!important;text-align:center!important;text-transform:uppercase;font-family:Raleway,Arial,sans-serif;font-size:34px;font-weight:700;line-height:1.2;padding:0 0 24px!important}
.is-home-page .latest-lessons .card-body{width:100%!important;padding:0!important}
.is-home-page .latest-lessons .mod-articles-grid{display:grid!important;width:100%!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:22px!important;margin:0!important;padding:0!important}
.is-home-page .latest-lessons .mod-articles-grid>li{list-style:none;background:#fff;border:1px solid #e1e6ee;border-radius:12px;overflow:hidden;box-shadow:0 7px 20px rgba(13,31,70,.12);transition:transform .2s ease,box-shadow .2s ease}
.is-home-page .latest-lessons .mod-articles-grid>li:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(13,31,70,.18)}
.is-home-page .latest-lessons .mod-articles-item-content{display:flex;flex-direction:column;height:100%}
.is-home-page .latest-lessons .mod-articles-image{order:1;margin:0!important;width:100%;overflow:hidden;background:#e9edf3;aspect-ratio:16/9}
.is-home-page .latest-lessons .mod-articles-image img{display:block;width:100%!important;height:100%!important;object-fit:cover}
.is-home-page .latest-lessons .list-unstyled{order:2;margin:11px 13px 4px!important}
.is-home-page .latest-lessons .article-info-term{display:none!important}
.is-home-page .latest-lessons .mod-articles-category{display:inline-flex!important;width:auto;align-items:center;gap:4px;margin:0!important;padding:3px 8px;border-radius:4px;background:#6f35bd;color:#fff;font-size:12px;font-weight:700;line-height:1.2;text-transform:uppercase}
.is-home-page .latest-lessons .mod-articles-title{order:3;margin:0!important;padding:4px 13px 16px!important;font-family:"Open Sans",Arial,sans-serif;font-size:17px;font-weight:700;line-height:1.32}
.is-home-page .latest-lessons .mod-articles-title a{color:#111a2f;text-decoration:none}
.is-home-page .latest-lessons .mod-articles-title a:hover{color:#155ec7}
@media(max-width:900px){.is-home-page .latest-lessons .mod-articles-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:520px){.is-home-page .latest-lessons{margin-top:30px!important}.is-home-page .latest-lessons .card-header{font-size:27px}.is-home-page .latest-lessons .mod-articles-grid{grid-template-columns:1fr!important}}


/* Lista lekcji według klas — zgodna z listami programów */
.view-tag .com-tags-tag{max-width:1120px;margin:0 auto;padding:38px 20px 56px}
.view-tag .com-tags__items>form{display:none!important}
.view-tag .com-tags-tag__category{display:block!important;margin:0!important;padding:0!important;border:0!important;list-style:none!important}
.view-tag .com-tags-tag__category>li{position:relative;display:grid!important;grid-template-columns:minmax(260px,380px) 1fr;grid-template-rows:auto auto 1fr;column-gap:34px;align-items:start;padding:30px 0 92px!important;border:0!important;border-bottom:1px solid #e2e7ef!important;border-radius:0!important;background:transparent!important}
.view-tag .com-tags-tag__category>li>h3{grid-column:2;grid-row:1;margin:0 0 12px;font-size:26px;line-height:1.25;font-weight:700}
.view-tag .com-tags-tag__category>li>h3>a{color:#10224f;text-decoration:none}
.view-tag .com-tags-tag__category>li>h3+a{grid-column:1;grid-row:1/4;display:block;width:100%}
.view-tag .com-tags-tag__category>li>h3+a img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;box-shadow:0 6px 18px rgba(13,27,62,.18)}
.view-tag .com-tags-tag__category>li>.tag-body{grid-column:2;grid-row:2;display:block;min-width:0;font-size:17px;line-height:1.65;color:#34415e}
.view-tag .com-tags-tag__category>li>.tag-body p{margin:0 0 12px}
.view-tag .com-tags-tag__category>li>h3>a:after{content:"Więcej →";position:absolute;left:414px;bottom:30px;display:inline-flex;align-items:center;padding:9px 16px;border-radius:7px;background:#1267d6;color:#fff;font-size:16px;font-weight:700;line-height:1.5;text-decoration:none}
.view-tag .com-tags-tag__category>li>h3>a:hover{color:#155ec7}
.view-tag .com-tags-tag__category>li>h3>a:hover:after{background:#0e57b8;color:#fff}
@media(max-width:760px){.view-tag .com-tags-tag{padding:24px 16px 40px}.view-tag .com-tags-tag__category>li{grid-template-columns:1fr;grid-template-rows:auto auto auto;row-gap:18px;padding:24px 0 86px!important}.view-tag .com-tags-tag__category>li>h3{grid-column:1;grid-row:2;margin:0;font-size:22px}.view-tag .com-tags-tag__category>li>h3+a{grid-column:1;grid-row:1}.view-tag .com-tags-tag__category>li>.tag-body{grid-column:1;grid-row:3}.view-tag .com-tags-tag__category>li>h3>a:after{left:0;bottom:24px}}


/* Olimpiada: pełna szerokość artykułów i lista samych tytułów */
.view-article.itemid-103 .container-component,
.view-article.itemid-103 main,
.view-article.itemid-103 .com-content-article,
.view-article.itemid-103 .com-content-article__body,
.view-article.itemid-103 .oi-task {
  width: 100% !important;
  max-width: none !important;
}
.view-category.itemid-103 .category-list .filter-search,
.view-category.itemid-103 .category-list .pagination__wrapper,
.view-category.itemid-103 .category-list table th:nth-child(n+2),
.view-category.itemid-103 .category-list table td:nth-child(n+2) {
  display: none !important;
}
.view-category.itemid-103 .category-list table th:first-child,
.view-category.itemid-103 .category-list table td:first-child {
  width: 100% !important;
}
.oi-task-back { margin: 0 0 1.5rem; }
.oi-task > .oi-task-back:last-of-type { margin: 2rem 0 0; }

/* Olimpiada: kategoria pokazuje wyłącznie tytuły */
.view-category.itemid-103 .com-content-category__pagination,
.view-category.itemid-103 .com-content-category__table th:nth-child(n+2),
.view-category.itemid-103 .com-content-category__table td:nth-child(n+2) { display:none!important; }
.view-category.itemid-103 .com-content-category__table th:first-child,
.view-category.itemid-103 .com-content-category__table td:first-child { width:100%!important; }


/* Olimpiada: druga kolumna listy pokazuje tag rocznika */
.view-category.itemid-103 .com-content-category__table th:nth-child(2),
.view-category.itemid-103 .com-content-category__table td:nth-child(2) {
  display: table-cell !important;
  width: 150px !important;
  text-align: center;
  vertical-align: middle;
}
.view-category.itemid-103 .com-content-category__table th:first-child,
.view-category.itemid-103 .com-content-category__table td:first-child {
  width: auto !important;
}
.view-category.itemid-103 #categorylist_header_author > a { font-size: 0; }
.view-category.itemid-103 #categorylist_header_author > a::after {
  content: "Tag";
  font-size: 1rem;
}
.view-category.itemid-103 td.list-author { font-size: 0; }
.view-category.itemid-103 tr:has(.list-title a[href*="olimpiada-2025-"]) td.list-author::after {
  content: "2025";
  display: inline-block;
  padding: .28rem .7rem;
  border-radius: 999px;
  background: #315fbd;
  color: #fff;
  font-size: .92rem;
  font-weight: 700;
}


/* Olimpiada: lista ma wyłącznie kolumny Tytuł i Tag */
.view-category.itemid-103 .com-content-category__pagination { display: none !important; }
.view-category.itemid-103 .com-content-category__table th:nth-child(n+3),
.view-category.itemid-103 .com-content-category__table td:nth-child(n+3) { display: none !important; }


/* Olimpiada: przycisk powrotu pod listą pytań */
.view-category.itemid-103 .com-content-category.category-list > .content-category { display: flex; flex-direction: column; }
.view-category.itemid-103 .com-content-category.category-list > .content-category > .com-content-category__articles { order: 1; }
.view-category.itemid-103 .com-content-category.category-list > .content-category > .category-desc { order: 2; margin-top: 1.5rem; margin-bottom: 0; }


/* Widoczna paginacja list pytań Olimpiady */
.view-category.itemid-103 .category-list .pagination__wrapper,
.view-category.itemid-103 .com-content-category__pagination {
  display: block !important;
}


/* Kolumna Rok w tabelach Olimpiady */
.view-category.itemid-103 .com-content-category__table th:nth-child(2),
.view-category.itemid-103 .com-content-category__table td:nth-child(2),
.view-category.itemid-103 .category-list table th:nth-child(2),
.view-category.itemid-103 .category-list table td:nth-child(2) {
  display: table-cell !important;
  width: 7rem;
  text-align: center;
  vertical-align: middle;
}
.view-category.itemid-103 #categorylist_header_year {
  font-size: 1rem !important;
  font-weight: 700;
  color: #10234f;
}
.view-category.itemid-103 td.olimpiada-year-cell {
  font-size: 1rem !important;
  white-space: nowrap;
}
.view-category.itemid-103 td.olimpiada-year-cell::after {
  content: none !important;
  display: none !important;
}
.view-category.itemid-103 .olimpiada-year {
  display: inline-block;
  min-width: 4.5rem;
  padding: .3rem .7rem;
  border-radius: 999px;
  background: #315fbd;
  color: #fff;
  font-size: .92rem;
  font-weight: 700;
  line-height: 1.2;
}
@media (max-width: 575.98px) {
  .view-category.itemid-103 .com-content-category__table th:nth-child(2),
  .view-category.itemid-103 .com-content-category__table td:nth-child(2) {
    width: 5rem;
    padding-left: .35rem;
    padding-right: .35rem;
  }
  .view-category.itemid-103 .olimpiada-year {
    min-width: 3.8rem;
    padding: .25rem .45rem;
    font-size: .82rem;
  }
}

/* Olimpiada: bez licznika dla kafelków Testy i Wiedza */
.com-content-categories__item-title:has(> a[href="/index.php/testy"]) > .badge,
.com-content-categories__item-title:has(> a[href$="/olimpiada-informatyczna/wiedza"]) > .badge { display: none !important; }

/* Olimpiada: siatka graficznych kafelków */
.view-categories.itemid-103 .com-content-categories__items{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;align-items:start}
.view-categories.itemid-103 .com-content-categories__item{display:flex;flex-direction:column;border:0!important;padding:0!important;margin:0!important}
.view-categories.itemid-103 .com-content-categories__description{order:1;margin:0!important}
.view-categories.itemid-103 .com-content-categories__item-title-wrapper{order:2;justify-content:center;margin-top:10px}
.view-categories.itemid-103 .com-content-categories__item-title{display:flex;justify-content:center;width:100%}
.view-categories.itemid-103 .com-content-categories__item-title>a{display:none}
.view-categories.itemid-103 .oi-category-tile{margin:0}
.view-categories.itemid-103 .oi-category-tile a{display:block}
.view-categories.itemid-103 .oi-category-tile img{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 8px 18px rgba(18,35,75,.16);transition:transform .2s ease,box-shadow .2s ease}
.view-categories.itemid-103 .oi-category-tile a:hover img,.view-categories.itemid-103 .oi-category-tile a:focus img{transform:translateY(-3px);box-shadow:0 12px 24px rgba(18,35,75,.22)}
.view-categories.itemid-103 .oi-category-back{display:none}
.view-categories.itemid-103 .com-content-categories__item-title .badge{font-size:.9rem;padding:.45rem .7rem;border-radius:999px}
@media(max-width:575.98px){.view-categories.itemid-103 .com-content-categories__items{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.view-categories.itemid-103 .com-content-categories__item-title .badge{font-size:.75rem}}

/* Kafelek widoczny tylko na stronie zbiorczej; podstrony zachowują listę artykułów */
.view-category .oi-category-tile{display:none!important}


/* Olimpiada: 8 kafelków w dwóch rzędach po 4 */
.view-categories.itemid-103 .com-content-categories__items {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 2rem 1.5rem !important;
  max-width: 1240px;
  margin: 0 auto !important;
  align-items: stretch;
}
.view-categories.itemid-103 .com-content-categories__item {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
}
.view-categories.itemid-103 .oi-category-tile,
.view-categories.itemid-103 .oi-category-tile a {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
}
.view-categories.itemid-103 .oi-category-tile img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
}
@media (max-width: 900px) {
  .view-categories.itemid-103 .com-content-categories__items {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 520px) {
  .view-categories.itemid-103 .com-content-categories__items {
    grid-template-columns: 1fr !important;
  }
}

/* Polskie nazwy interfejsu testów */
.com-devartexams > h1.mb-4,
.devart-exams-start-card h2.mb-2,
.devart-exams-start-card label[for="package_id"],
.devart-exams-start-card .devart-exams-meta-item:first-child .text-muted.small,
.devart-exams-start-actions button[type="submit"],
#devart-exams-summary-mode { font-size: 0 !important; }
.com-devartexams > h1.mb-4::after { content: "Testy"; font-size: 2.5rem; }
.devart-exams-start-card h2.mb-2::after { content: "Rozpocznij test"; font-size: 2rem; }
.devart-exams-start-card label[for="package_id"]::after,
.devart-exams-start-card .devart-exams-meta-item:first-child .text-muted.small::after { content: "Zestaw"; font-size: .875rem; }
.devart-exams-start-card label[for="package_id"]::after { font-size: 1rem; }
.devart-exams-start-actions button[type="submit"]::after { content: "Rozpocznij test"; font-size: 1.25rem; }
#devart-exams-summary-mode::after { content: "Test właściwy"; font-size: 1rem; }

/* Zachowanie wierszy i wcięć w kodzie pytań testowych */
.com-devartexams .devart-exams-question h3.mb-3 {
  white-space: pre-wrap;
}


/* Olimpiada: liczniki tematów i pytań pod kafelkami */
.itemid-103 .olimpiada-topic-count,
.itemid-103 .olimpiada-question-count {
  display: block;
  width: max-content;
  margin: .45rem auto 0;
  text-decoration: none;
}
.itemid-103 .olimpiada-topic-count,
.itemid-103 .olimpiada-question-count {
  cursor: pointer;
}
.itemid-103 .olimpiada-topic-count:hover,
.itemid-103 .olimpiada-topic-count:focus,
.itemid-103 .olimpiada-question-count:hover,
.itemid-103 .olimpiada-question-count:focus {
  filter: brightness(.9);
  color: #fff;
}


/* Olimpiada: dwa przyciski nawigacyjne pod kafelkiem */
.itemid-103 .olimpiada-tile-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: min(92%, 360px);
  margin: 0 auto 1.6rem;
  border-radius: 0 0 16px 16px;
  overflow: hidden;
  box-shadow: 0 10px 22px rgba(18, 57, 103, .18);
}
.itemid-103 .olimpiada-tile-action {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: .7rem 1rem;
  color: #fff;
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.1;
  text-align: center;
  text-decoration: none;
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}
.itemid-103 .olimpiada-tile-action--topics {
  background: linear-gradient(135deg, color-mix(in srgb, var(--olimpiada-tile-color) 86%, white), var(--olimpiada-tile-color));
}
.itemid-103 .olimpiada-tile-action--questions {
  background: linear-gradient(135deg, var(--olimpiada-tile-color), color-mix(in srgb, var(--olimpiada-tile-color) 82%, black));
  border-left: 1px solid rgba(255,255,255,.28);
}
.itemid-103 .olimpiada-tile-action:hover,
.itemid-103 .olimpiada-tile-action:focus-visible {
  color: #fff;
  filter: brightness(1.12);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.3);
}
.itemid-103 .olimpiada-tile-action:active {
  transform: translateY(1px);
}
@media (max-width: 575.98px) {
  .itemid-103 .olimpiada-tile-actions {
    width: min(94%, 340px);
  }
  .itemid-103 .olimpiada-tile-action {
    min-height: 50px;
    font-size: 1rem;
  }
}


.itemid-103 .olimpiada-tile-image-disabled {
  cursor: default;
  pointer-events: none;
}


/* Olimpiada: listy tematów w układzie takim jak listy pytań */
.itemid-103 .olimpiada-topic-list {
  width: 100%;
  margin: 1.25rem 0 1.75rem;
  border: 1px solid #d8dee8;
  border-collapse: collapse;
  background: #fff;
}
.itemid-103 .olimpiada-topic-list th,
.itemid-103 .olimpiada-topic-list td {
  padding: 1rem 1.15rem;
  border-bottom: 1px solid #d8dee8;
  text-align: left;
}
.itemid-103 .olimpiada-topic-list th {
  background: #fff;
  color: #234fa3;
  font-size: 1.25rem;
  font-weight: 700;
  text-decoration: underline;
}
.itemid-103 .olimpiada-topic-list tbody tr:nth-child(odd) {
  background: #f1f2f4;
}
.itemid-103 .olimpiada-topic-list tbody tr:nth-child(even) {
  background: #fff;
}
.itemid-103 .olimpiada-topic-list td a {
  color: #2554aa;
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  font-weight: 600;
  line-height: 1.3;
  text-decoration: underline;
}
.itemid-103 .olimpiada-topic-list tbody tr:hover {
  background: #e7eefb;
}
.itemid-103 .olimpiada-topic-list td a:focus-visible {
  outline: 3px solid #f2b134;
  outline-offset: 3px;
}
@media (max-width: 575.98px) {
  .itemid-103 .olimpiada-topic-list th,
  .itemid-103 .olimpiada-topic-list td {
    padding: .8rem .75rem;
  }
}


/* Olimpiada: nawigacja między pytaniami w dziale Algorytmy */
.itemid-103 .olimpiada-return-to-list,
.itemid-103 main p:has(> a[href="/index.php/olimpiada-informatyczna/algorytmy"]) {
  margin-top: 2rem;
}
.itemid-103 .olimpiada-question-navigation {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 78px minmax(0, 1fr);
  gap: 1rem;
  width: 100%;
  margin: 2rem 0 2rem;
}
.itemid-103 .olimpiada-question-nav-button {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: .85rem 1.2rem;
  border: 2px solid #1e58ae;
  border-radius: 12px;
  background: linear-gradient(135deg, #13adba, #087c98);
  box-shadow: 0 6px 15px rgba(8, 87, 120, .18);
  color: #fff;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}
.itemid-103 .olimpiada-question-nav-button.is-next {
  background: linear-gradient(135deg, #087c98, #075f7b);
}
.itemid-103 .olimpiada-question-nav-button:hover,
.itemid-103 .olimpiada-question-nav-button:focus-visible {
  color: #fff;
  filter: brightness(1.12);
  box-shadow: 0 8px 20px rgba(8, 87, 120, .3);
}
.itemid-103 .olimpiada-question-nav-button:active {
  transform: translateY(1px);
}
.itemid-103 .olimpiada-question-nav-button.is-disabled {
  border-color: #cbd3df;
  background: #e9edf2;
  box-shadow: none;
  color: #7a8594;
}
@media (max-width: 575.98px) {
  .itemid-103 .olimpiada-question-navigation {
    grid-template-columns: 1fr;
  }
  .itemid-103 .olimpiada-question-nav-button {
    min-height: 50px;
  }
}


.itemid-103 .olimpiada-question-nav-button.is-list {
  width: 78px;
  min-height: 58px;
  padding: .65rem;
  border-color: #116d8b;
  border-radius: 16px;
  background: linear-gradient(145deg, #16b7c1, #08728e);
}
.itemid-103 .olimpiada-list-icon {
  display: grid;
  grid-template-columns: repeat(2, 13px);
  grid-template-rows: repeat(3, 8px);
  gap: 6px;
  align-items: center;
  justify-content: center;
}
.itemid-103 .olimpiada-list-icon span {
  display: block;
  width: 13px;
  height: 8px;
  border-radius: 3px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0,0,0,.22);
}
@media (max-width: 575.98px) {
  .itemid-103 .olimpiada-question-navigation {
    grid-template-columns: minmax(0, 1fr) 58px minmax(0, 1fr);
    gap: .5rem;
  }
  .itemid-103 .olimpiada-question-nav-button {
    min-height: 50px;
    padding: .65rem .5rem;
    font-size: .88rem;
  }
  .itemid-103 .olimpiada-question-nav-button.is-list {
    width: 58px;
    min-height: 50px;
  }
  .itemid-103 .olimpiada-list-icon {
    grid-template-columns: repeat(2, 10px);
    grid-template-rows: repeat(3, 7px);
    gap: 4px;
  }
  .itemid-103 .olimpiada-list-icon span {
    width: 10px;
    height: 7px;
  }
}


/* Olimpiada: niebieska nawigacja działu Sprzęt komputerowy */
.itemid-103 .olimpiada-question-navigation[data-category="sprzet"] .olimpiada-question-nav-button {
  border-color: #0c55ad;
  background: linear-gradient(135deg, #1675dc, #084caa);
  box-shadow: 0 6px 15px rgba(11, 77, 164, .22);
}
.itemid-103 .olimpiada-question-navigation[data-category="sprzet"] .olimpiada-question-nav-button.is-list {
  border-color: #0a4d9f;
  background: linear-gradient(145deg, #2284e6, #0a54b7);
}


/* Olimpiada: fioletowa nawigacja działu Python */
.itemid-103 .olimpiada-question-navigation[data-category="python"] .olimpiada-question-nav-button {
  border-color: #5424aa;
  background: linear-gradient(135deg, #7b49dc, #4c22aa);
  box-shadow: 0 6px 15px rgba(82, 38, 170, .23);
}
.itemid-103 .olimpiada-question-navigation[data-category="python"] .olimpiada-question-nav-button.is-list {
  border-color: #4b1f9d;
  background: linear-gradient(145deg, #8554e5, #5526b5);
}


/* Olimpiada: nawigacja pozostałych działów */
.itemid-103 .olimpiada-question-navigation[data-category="internet"] .olimpiada-question-nav-button {
  border-color: #d9541d;
  background: linear-gradient(135deg, #ff853c, #df4d20);
  box-shadow: 0 6px 15px rgba(210, 76, 28, .23);
}
.itemid-103 .olimpiada-question-navigation[data-category="internet"] .olimpiada-question-nav-button.is-list {
  border-color: #c94918;
  background: linear-gradient(145deg, #ff934a, #e55321);
}
.itemid-103 .olimpiada-question-navigation[data-category="cpp"] .olimpiada-question-nav-button {
  border-color: #087640;
  background: linear-gradient(135deg, #12ad66, #06723e);
  box-shadow: 0 6px 15px rgba(5, 117, 63, .23);
}
.itemid-103 .olimpiada-question-navigation[data-category="cpp"] .olimpiada-question-nav-button.is-list {
  border-color: #056838;
  background: linear-gradient(145deg, #19b96f, #077b43);
}
.itemid-103 .olimpiada-question-navigation[data-category="oprogramowanie"] .olimpiada-question-nav-button {
  border-color: #c47a08;
  background: linear-gradient(135deg, #f2b72f, #dc850d);
  box-shadow: 0 6px 15px rgba(196, 122, 8, .24);
  color: #172548;
}
.itemid-103 .olimpiada-question-navigation[data-category="oprogramowanie"] .olimpiada-question-nav-button.is-list {
  border-color: #b76d05;
  background: linear-gradient(145deg, #fac746, #df8b13);
}
.itemid-103 .olimpiada-question-navigation[data-category="oprogramowanie"] .olimpiada-list-icon span {
  background: #172548;
}

/* Wiedza / Algorytmy: tabela tematów jak lista pytań */
.itemid-103 .blog-item:has(.knowledge-topic-list a[href*="/wiedza/algorytmy/"]){display:block!important;grid-template-columns:1fr!important;gap:0!important;align-items:stretch!important;width:100%!important}
.itemid-103 .blog-item:has(.knowledge-topic-list a[href*="/wiedza/algorytmy/"]) .item-content,.itemid-103 .knowledge-topic-list:has(a[href*="/wiedza/algorytmy/"]){width:100%!important;max-width:none!important}
.itemid-103 .knowledge-topic-list:has(a[href*="/wiedza/algorytmy/"]) .olimpiada-topic-list{width:100%!important;margin:1rem 0!important;border:1px solid #dfe3e7!important;border-collapse:collapse!important;background:#fff;font-size:1rem}
.itemid-103 .knowledge-topic-list:has(a[href*="/wiedza/algorytmy/"]) .olimpiada-topic-list thead th{padding:.5rem!important;border:1px solid #dfe3e7!important;background:#fff!important;color:#1f4fa3!important;font-size:1rem!important;font-weight:500!important;line-height:1.5!important;text-decoration:underline!important}
.itemid-103 .knowledge-topic-list:has(a[href*="/wiedza/algorytmy/"]) .olimpiada-topic-list tbody th{padding:.5rem!important;border:1px solid #dfe3e7!important;background:transparent!important;color:inherit!important;font-size:1rem!important;font-weight:500!important;line-height:1.5!important;text-decoration:none!important}
.itemid-103 .knowledge-topic-list:has(a[href*="/wiedza/algorytmy/"]) .olimpiada-topic-list tbody th a{color:#174ea6!important;font-size:1rem!important;font-weight:600!important;line-height:1.5!important;text-decoration:underline!important}
.itemid-103 .knowledge-topic-list:has(a[href*="/wiedza/algorytmy/"]) .olimpiada-topic-list tbody tr:nth-child(odd){background:#f1f1f1!important}
.itemid-103 .knowledge-topic-list:has(a[href*="/wiedza/algorytmy/"]) .olimpiada-topic-list tbody tr:nth-child(even){background:#fff!important}
.itemid-103 .knowledge-topic-list:has(a[href*="/wiedza/algorytmy/"]) .olimpiada-topic-list tbody tr:hover{background:#e9ecef!important}


/* Wiedza / Sprzęt komputerowy: tabela tematów jak lista pytań */
.itemid-103 .com-content-category-blog:has(> .category-desc .hardware-topic-list) > .blog-items{display:none!important}
.itemid-103 .com-content-category-blog:has(> .category-desc .hardware-topic-list) > .category-desc{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.itemid-103 .knowledge-topic-list.hardware-topic-list{width:100%!important;max-width:none!important}
.itemid-103 .knowledge-topic-list.hardware-topic-list .olimpiada-topic-list{width:100%!important;margin:1rem 0!important;border:1px solid #dfe3e7!important;border-collapse:collapse!important;background:#fff;font-size:1rem}
.itemid-103 .knowledge-topic-list.hardware-topic-list .olimpiada-topic-list thead th{padding:.5rem!important;border:1px solid #dfe3e7!important;background:#fff!important;color:#1f4fa3!important;font-size:1rem!important;font-weight:500!important;line-height:1.5!important;text-decoration:underline!important}
.itemid-103 .knowledge-topic-list.hardware-topic-list .olimpiada-topic-list tbody th{padding:.5rem!important;border:1px solid #dfe3e7!important;background:transparent!important;color:inherit!important;font-size:1rem!important;font-weight:500!important;line-height:1.5!important;text-decoration:none!important}
.itemid-103 .knowledge-topic-list.hardware-topic-list .olimpiada-topic-list tbody th a{color:#174ea6!important;font-size:1rem!important;font-weight:600!important;line-height:1.5!important;text-decoration:underline!important}
.itemid-103 .knowledge-topic-list.hardware-topic-list .olimpiada-topic-list tbody tr:nth-child(odd){background:#f1f1f1!important}
.itemid-103 .knowledge-topic-list.hardware-topic-list .olimpiada-topic-list tbody tr:nth-child(even){background:#fff!important}
.itemid-103 .knowledge-topic-list.hardware-topic-list .olimpiada-topic-list tbody tr:hover{background:#e9ecef!important}
