/*
Theme Name: Uniwersytet Jana Kochanowskiego w Kielcach
Theme URI: https://ujk.edu.pl
Author: Grzegorz Baran Centrum Informatyki
Author URI: https://ujk.edu.pl
Description: Motyw UJK
Version: 1.0.1
License: UJK
License URI: https://ujk.edu.pl
Text Domain: UJK
*/

/* Google Fonts (PT Sans Narrow + Noto Sans) */
:root{
  --bs-body-font-family: "Noto Sans", system-ui, -apple-system, "Segoe UI",
                         Roboto, "Helvetica Neue", Arial, "Noto Sans",
                         "Liberation Sans", sans-serif,
                         "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";

  --ujk-headings-font: "PT Sans Narrow", "Noto Sans", system-ui, -apple-system, "Segoe UI",
                       Roboto, "Helvetica Neue", Arial, sans-serif;
}

:root{
  /* lewe menu */
  --ujk-left-color:   #000; 
  --ujk-left-hover:   #000; 
  --ujk-left-visited: #000;

  /* prawe menu */
  --ujk-right-color:   #000;
  --ujk-right-hover:   #000;
  --ujk-right-visited: #000;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6{
  font-family: var(--ujk-headings-font) !important;
  font-weight: 700;
  letter-spacing: .2px; 
}

.ujk-arc-title a,
.ujk-tiles .ujk-tiles-title,
.ujk-pro-tiles__link,
.events-title,
#mainCarousel .carousel-caption h2 {
  font-family: var(--ujk-headings-font) !important;
  font-weight: 700;
}

p,
.entry-content p {
  font-family: "Lato", "Noto Sans", system-ui, -apple-system, "Segoe UI",
               Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-weight: 400;
}

.lead{
  font-family: "Lato", "Noto Sans", system-ui, -apple-system, "Segoe UI",
               Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-weight: 400;
}



:root{
  --bs-border-radius: 0;
  --bs-border-radius-sm: 0;
  --bs-border-radius-lg: 0;
  --bs-border-radius-xl: 0;
  --bs-border-radius-xxl: 0;
  --bs-border-radius-pill: 0;

  --bs-btn-border-radius: 0;
  --bs-btn-border-radius-sm: 0;
  --bs-btn-border-radius-lg: 0;

  --bs-card-border-radius: 0;
  --bs-alert-border-radius: 0;
  --bs-badge-border-radius: 0;
  --bs-progress-border-radius: 0;
  --bs-pagination-border-radius: 0;
  --bs-dropdown-border-radius: 0;
  --bs-tooltip-border-radius: 0;
  --bs-toast-border-radius: 0;
  --bs-offcanvas-border-radius: 0;
  --bs-nav-pills-border-radius: 0;
  --bs-accordion-border-radius: 0;
  --bs-modal-border-radius: 0;
  --bs-list-group-border-radius: 0;
  --bs-input-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13,110,253,.25); 
}

img,
.rounded,
.rounded-1, .rounded-2, .rounded-3,
.rounded-top, .rounded-end, .rounded-bottom, .rounded-start,
.card, .card-img, .card-img-top, .card-img-bottom,
.btn, .btn-sm, .btn-lg,
.badge, .alert, .progress, .pagination .page-link,
.dropdown-menu, .dropdown-item,
.modal-content, .offcanvas, .toast,
.nav-pills .nav-link, .list-group-item,
.form-control, .form-select, .input-group-text, .input-group .form-control,
.accordion-button, .accordion-item,
.table, .table-responsive,
figure, iframe, video {
  border-radius: 0 !important;
}

.widget.card,
.widget.card .card-header,
.widget li > a,
.ujk-cal-list .list-group-item,
.ujk-badge-date,
.ujk-section-gallery,
.ujk-lightbox .carousel-caption,
.ujk-pro-tiles__figure,
.ujk-arc-card,
.ujk-arc-thumb img,
.ujk-post-hero img,
.ujk-tiles .ujk-tile,
.ujk-tiles .ujk-tile img {
  border-radius: 0 !important;
}

@media (max-width: 576px) {
  header .d-flex {
    flex-direction: column;
    align-items: flex-start;
    gap: .25rem;
  }
}


a.no-lightbox { cursor: pointer; }
a.pracownik { color: var(--ujk-dominant, #e3001b); }
a.pracownik {
  cursor: pointer;
  text-decoration: underline;
}

a.pracownik:hover {
  text-decoration: none;
}

.ujk-post-nav { margin-top: 5.5rem; }

.ujk-post-nav .nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  justify-content: space-between;
  align-items: stretch;
}

.ujk-post-nav .nav-previous,
.ujk-post-nav .nav-next {
  flex: 1 1 280px; 
}

.ujk-post-nav .nav-previous a,
.ujk-post-nav .nav-next a {
  display: block;
  padding: .75rem 1rem;
  border: 1px solid rgba(0,0,0,.09);
  text-decoration: none;
}

.ujk-post-nav .nav-previous a { text-align: left; }
.ujk-post-nav .nav-next a     { text-align: right; }

.ujk-post-nav .nav-subtitle {
  display: block;
  font-size: .8125rem;
  text-transform: uppercase;
  color: var(--bs-secondary-color, #6c757d);
  margin-bottom: .15rem;
}

.ujk-post-nav .nav-title {
  font-weight: 600;
  word-break: break-word;
}

/* lewa header */
.logos-center {
  margin-left: 10px;
  margin-right: 10px;
}

.d-flex.align-items-center.gap-3 {
  flex-wrap: nowrap !important;
  flex-direction: row !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 10px !important;
}

.logos-row img,
.logos-row .custom-logo,
.logos-row .custom-logo-link img,
.logos-row .extra-logo {
  height: 80px !important;
  width: auto !important;
  max-height: none !important;
  vertical-align: middle;
  display: inline-block;
  object-fit: contain;
}

@media (max-width: 768px) {
  .d-flex.align-items-center.gap-3 {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
  }

  .logos-row img,
  .logos-row .custom-logo,
  .logos-row .custom-logo-link img,
  .logos-row .extra-logo {
    height: 96px !important; 
  }
}


/* prawa header */
.header-extra-html {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 15px !important;
  height: auto !important;
}

.header-html-item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 8px;
  flex: 0 0 auto;
}

.header-html-item img {
  height: 70px !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain;
  display: block;
}


@media (max-width: 768px) {
  .header-extra-html {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    margin-left: 10px !important;
    margin-right: 10px !important;
  }

  .header-html-item img {
    height: 55px !important;
  }
}

.entry-content iframe,
.post-content iframe,
.the-content iframe {
  max-width: 100%;
  height: auto;
  display: block;
}

.ratio iframe {
  width: 100% !important;
  height: 100% !important;
  border: 0;
  display: block;
}

.ratio iframe[width],
.ratio iframe[height] {
  width: 100% !important;
  height: 100% !important;
}

.entry-content iframe,
.post-content iframe {
  max-width: 100%;
  height: auto;
  display: block;
}

.entry-content figure.wp-block-image{
  margin: 1.25rem 0;
}
.entry-content figure.wp-block-image img{
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
}
.entry-content figure.wp-block-image figcaption{
  text-align: center;
  font-size: .9rem;
  color: #6c757d;
  margin-top: .5rem;
}

.entry-content figure.wp-block-image.aligncenter{
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 768px){
  .entry-content figure.wp-block-image.alignleft{
    float: left;
    max-width: 45%;
    margin: .25rem 1rem 1rem 0;
  }
  .entry-content figure.wp-block-image.alignright{
    float: right;
    max-width: 45%;
    margin: .25rem 0 1rem 1rem;
  }
}
@media (max-width: 767.98px){
  .entry-content figure.wp-block-image.alignleft,
  .entry-content figure.wp-block-image.alignright{
    float: none;
    max-width: 100%;
    margin: 1rem 0;
  }
}

@media (min-width: 768px){
   .entry-content figure.wp-block-image:not(.alignleft):not(.alignright):has(+ figure.wp-block-image:not(.alignleft):not(.alignright)){
    display: inline-block;
    width: calc(50% - .5rem);
    margin: .75rem 0;
    margin-right: .5rem;
    vertical-align: top;
  }

  .entry-content figure.wp-block-image:not(.alignleft):not(.alignright)
    + figure.wp-block-image:not(.alignleft):not(.alignright){
    display: inline-block;
    width: calc(50% - .5rem);
    margin: .75rem 0;
    margin-left: .5rem;
    vertical-align: top;
  }

  .entry-content figure.wp-block-image + figure.wp-block-image figcaption{
    margin-top: .5rem;
  }
}

@media (min-width: 768px){
  .entry-content figure.wp-block-image.is-style-duo{
    display: inline-block;
    width: calc(50% - .5rem);
    margin: .75rem 0;
    vertical-align: top;
  }
  .entry-content figure.wp-block-image.is-style-duo:not(:last-child){ margin-right: .5rem; }
  .entry-content figure.wp-block-image.is-style-duo + .wp-block-image.is-style-duo{ margin-left: .5rem; }
}

.entry-content figure.wp-block-image img{
  transition: box-shadow .2s ease;
}
.entry-content figure.wp-block-image:hover img{
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
}

/* obrazki w treści mobile */
@media (max-width: 768px) {
  .entry-content img,
  .post-content img,
  .article-content img {
    display: block;
    float: none !important;
    margin: 0 auto 1rem auto !important;
    max-width: 100% !important;
    height: auto !important;
	width: 100%;
  }

  .entry-content a.ujk-lightbox-link,
  .post-content a.ujk-lightbox-link,
  .article-content a.ujk-lightbox-link {
    display: block;
    text-align: center;
  }
}

/* szukaj */
.search-q,
.search-hit {
  background: rgba(227, 0, 27, .14);
  padding: 0 .2em;
}

.ujk-search-tools .search-form {
  display: flex;
  gap: .5rem;
  align-items: center;
}

.ujk-search-results .ujk-result-card {
  position: relative;
  border: 1px solid rgba(0,0,0,.08);
}

.ujk-result-card h2 a { text-decoration: none; }
.ujk-result-card h2 a:hover,
.ujk-result-card h2 a:focus { text-decoration: underline; }

.ujk-search-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem; height: 2.25rem;
  margin: 0 .125rem;
  border: 1px solid rgba(0,0,0,.12);
  text-decoration: none;
}
.ujk-search-pagination .current {
  font-weight: 700;
  background: rgba(0,0,0,.04);
}

@media (min-width: 992px){
  .ujk-result-card {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
  }
  .ujk-result-info {
    flex: 0 0 320px;
    max-width: 320px;
  }
  .ujk-result-excerpt {
    flex: 1 1 auto;
    min-width: 0;
  }
}

@media (max-width: 991.98px){
  .ujk-result-info { margin-bottom: .5rem; }
}

.ujk-search-hero {
  background: var(--bs-light, #f8f9fa);
  border: 1px solid rgba(0,0,0,.08);
  padding: 1.25rem;
}
@media (min-width: 576px){
  .ujk-search-hero { padding: 1.75rem; }
}
.ujk-search-hero-inner {
  max-width: 760px;
}

.ujk-search-hero .search-form.input-group .form-control,
.ujk-search-hero .search-form.input-group .btn {
  padding: .9rem 1rem;
  font-size: 1.125rem;
  line-height: 1.25;
  border-radius: 0; 
}

.widget .search-form.input-group .form-control,
.widget .search-form.input-group .btn {
  padding: .5rem .75rem;
  font-size: 1rem;
  border-radius: 0;
}

.search-form.input-group .form-control {
  border: 1px solid rgba(0,0,0,.15);
  box-shadow: none;
}
.search-form.input-group .btn {
  border: 1px solid rgba(0,0,0,.15);
}

.ujk-autocomplete-wrap { position: relative; }
.search-form.ujk-autocomplete-wrap .ujk-autocomplete {
  top: calc(100% - 1px); 
  left: 0; right: 0;
  background: #fff;
  border: 1px solid rgba(0,0,0,.15);
  border-top: 0;
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
  max-height: 60vh;
  overflow: auto;
  display: none;
}
.ujk-ac-item {
  display: block;
  padding: .625rem .875rem;
  border-bottom: 1px solid rgba(0,0,0,.06);
  color: inherit; text-decoration: none;
}
.ujk-ac-item:last-of-type { border-bottom: 0; }
.ujk-ac-item:hover, .ujk-ac-item.active { background: rgba(0,0,0,.04); }
.ujk-ac-title   { font-weight: 700; line-height: 1.25; display:block; }
.ujk-ac-meta    { font-size: .875rem; color: #6c757d; margin-top:.125rem; display:block; }
.ujk-ac-excerpt { font-size: .95rem; margin-top:.25rem; display:block; }
.ujk-ac-seeall  { display:block; padding:.625rem .875rem; font-weight:600; border-top:1px solid rgba(0,0,0,.12); }
.search-hit { background: rgba(227,0,27,.14); padding: 0 .2em; }

@media (max-width: 575.98px){
  .ujk-search-hero { padding: 1rem; }
  .search-form.input-group .btn .d-none.d-sm-inline { display: none !important; }
}

/* topbar*/
.topbar .container {
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.topbar .navbar { padding: 0; }
.topbar .navbar-collapse { align-items: center; }
.topbar .navbar-nav { align-items: center; }

.topbar a,
.topbar .navbar-nav a,
.topbar .menu a {
  color: var(--topbar-link, #fff) !important;
  background: transparent !important;
  border: 0;
  padding: 0.25rem 0.5rem;
  line-height: 1;
  text-decoration: none;
  display: inline-block;
  transition: border-color .2s, color .2s, text-decoration .2s;
  font-size: 14px;
}

.topbar a:hover,
.topbar a:focus,
.topbar .navbar-nav a:hover,
.topbar .navbar-nav a:focus,
.topbar .menu a:hover,
.topbar .menu a:focus {
  color: var(--topbar-hover, #000) !important;
  text-decoration: underline;
}

.topbar .navbar-toggler { border: none; padding: 0.25rem 0.5rem; line-height: 1; }
.topbar .navbar-toggler:focus { box-shadow: none; }
.topbar .navbar-toggler-icon { filter: invert(100%); }

.topbar .navbar-nav a span[class^="fa-"],
.topbar .navbar-nav a span[class*=" fa-"],
.mainnav .navbar-nav a span[class^="fa-"],
.mainnav .navbar-nav a span[class*=" fa-"] {
  font-size: 16px;
  line-height: 1;
  vertical-align: middle;
  margin-inline-end: .35rem;
}

@media (max-width: 991.98px) {
  .topbar .navbar-nav {
    align-items: flex-start !important; 
  }

  .topbar .navbar-nav li {
    text-align: left;
    width: 100%; 
  }

  .topbar .navbar-nav a {
    display: block; 
    width: 100%; 
  }
}

.dropdown-menu.mega-menu {
  width: 100%;
  max-width: none;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem 1.25rem;
}

.dropdown-menu .mega-col > a.dropdown-item.fw-semibold {
  font-weight: 600;
  pointer-events: none;
  opacity: .9;
}

.dropdown-menu.mega-menu .mega-sub > li > a.dropdown-item {
  padding-left: 0;
}

.dropdown-menu.mega-menu .mega-sub {
  list-style: none;
}

.navbar .dropdown-mega .dropdown-menu {
  margin-top: 0.5rem;
}

.navbar .bnm-icon {
  display: inline-flex;
  line-height: 1;
  vertical-align: middle;
  margin-right: .5rem;
}
.navbar .bnm-icon + .bnm-text { }

.navbar .bnm-text + .bnm-icon {
  margin-left: .5rem;
  margin-right: 0;
}
.navbar .bnm-icon-fa i {
  font-size: 1em;
}

.navbar .bnm-icon-svg svg {
  width: 1em;
  height: 1em;
  fill: currentColor;
}


/* menu główne na pasku */
[class*="-menu-container"] {
  background-color: #f2f2f2; 
  text-align: center;
  padding: 0.5rem 0;
  border-top: 1px solid rgba(0,0,0,.05);
  border-bottom: 1px solid rgba(0,0,0,.05);
}

.menu,
[class*="-menu-container"] > ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1.25rem;
}

.menu > li {
  position: relative;
}

.menu > li > a {
  display: inline-block;
  color: #212529;
  text-decoration: none;
  font-weight: 500;
  padding: 0.5rem 0.75rem;
  transition: all 0.2s ease-in-out;
}

.menu > li > a:hover,
.menu > li > a:focus {
  color: #0d6efd;
  text-decoration: underline;
}

.menu li ul {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  list-style: none;
  padding: 0.5rem 0;
  margin: 0;
  box-shadow: 0 .25rem .75rem rgba(0,0,0,.1);
  border: 1px solid rgba(0,0,0,.05);
  z-index: 1000;
  min-width: 10rem;
}

.menu li:hover > ul,
.menu li:focus-within > ul {
  display: block;
}

.menu li ul li a {
  display: block;
  color: #212529;
  padding: 0.4rem 1rem;
  text-align: left;
  white-space: nowrap;
}

.menu li ul li a:hover {
  background-color: #f8f9fa;
  color: #0d6efd;
}

@media (max-width: 767.98px) {
  [class*="-menu-container"] {
    padding: 0.25rem 0.5rem;
  }

  .menu,
  [class*="-menu-container"] > ul {
    flex-direction: column;
    gap: 0;
  }

  .menu li {
    width: 100%;
  }

  .menu li a {
    display: block;
    width: 100%;
    padding: 0.6rem;
  }

  .menu li ul {
    position: static;
    box-shadow: none;
    border: 0;
  }
}

/* slider */
#mainCarousel .carousel-caption {
  position: absolute;
  left: 0;
  right: auto;
  bottom: 0;
  margin: 0;
  background: rgba(0, 0, 0, 0.45);
  padding: 40px 30px 35px 90px; 
  border-radius: 0;
  text-align: left;
  max-width: 60%;
  min-width: 20%;
  z-index: 30;
  pointer-events: auto;
}
#mainCarousel .carousel-caption h2,
#mainCarousel .carousel-caption p {
  color: #fff;
  text-shadow: 0 2px 4px rgba(0,0,0,.7);
  margin-bottom: 15px;
}
#mainCarousel .carousel-caption h2 {
  font-size: 2.1rem;
  font-weight: 700;
}
#mainCarousel .carousel-caption p {
  font-size: 1.2rem;
  line-height: 1.5;
}
#mainCarousel .carousel-caption a,
#mainCarousel .carousel-caption button {
  position: relative;
  z-index: 40;
  pointer-events: auto;
}

#mainCarousel .carousel-control-prev-icon,
#mainCarousel .carousel-control-next-icon { filter: invert(100%); }
#mainCarousel .carousel-control-prev,
#mainCarousel .carousel-control-next { width: 10%; z-index: 20; }

#mainCarousel .carousel-indicators { bottom: 5px !important; }
#mainCarousel .carousel-indicators [data-bs-target] { background-color: #fff; }
#mainCarousel .carousel-indicators .active { background-color: #e3001b; }

/* Tablet */
@media (max-width: 992px) {
  #mainCarousel .carousel-caption {
    max-width: 80%;
    padding: 10px 10px 25px 60px; 
  }
  #mainCarousel .carousel-caption h2 { font-size: 1.5rem; }
  #mainCarousel .carousel-caption p  { font-size: 1rem; }
}

/* Mobile */
@media (max-width: 576px) {
  #mainCarousel .carousel-caption {
    max-width: 100%;
    padding: 10px 10px 2px 45px; 
  }
  #mainCarousel .carousel-caption h2 { font-size: 1.1rem; }
  #mainCarousel .carousel-caption p  { font-size: 0.9rem; }
}


.ratio-3x2 { --bs-aspect-ratio: calc(2 / 3 * 100%); }
.ujk-news-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.38);
  pointer-events: none;
}

.ujk-news-overlay .ujk-news-title-link {
  position: absolute; 
  left: 0;
  bottom: 0;
  display: block;
  pointer-events: auto;
  max-width: 100%;
  padding: .4rem .4rem; 
  text-align: left;
  font-size: 1.125rem;
  line-height: 1.3;
  box-sizing: border-box;  
  white-space: normal;
  overflow-wrap: anywhere;
 }

.ujk-news-title-link,
.ujk-news-title-link:link    { color: var(--ujk-news-title); }
.ujk-news-title-link:visited { color: var(--ujk-news-title-visited); }
.ujk-news-title-link:hover,
.ujk-news-title-link:focus   { color: var(--ujk-news-title-hover); }

.ujk-news-more-link,
.ujk-news-more-link:link    { color: var(--ujk-news-more); }
.ujk-news-more-link:visited { color: var(--ujk-news-more-visited); }
.ujk-news-more-link:hover,
.ujk-news-more-link:focus   { color: var(--ujk-news-more-hover); }

.ujk-news-title-link:focus-visible,
.ujk-news-more-link:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

@media (max-width: 575.98px){
  .row.g-3 figure.ratio-3x2 { margin-bottom: .25rem; }

  .ujk-news-overlay .ujk-news-title-link{
    font-size: 1rem;
    padding: .35rem .4rem;
  }
}

#art-news h4 {margin-top: 30px;}

/* kalendarz */
.ujk-badge-date{
  background: var(--ujk-dominant);
  color: #fff;
  border-radius: .5rem;
  padding: .35rem .5rem;
  line-height: 1.05;
  min-width: 2.25rem;
}
.ujk-badge-date .ujk-day{ font-weight: 700; font-size: .95rem; }
.ujk-badge-date .ujk-month{ font-size: .75rem; opacity: .95; }

.ujk-cal-list .list-group-item{
  border-radius: .5rem;
  border: 1px solid rgba(0,0,0,.08);
  margin-bottom: .5rem;
}
@media (min-width: 992px){
  .ujk-cal-list .list-group-item{ padding-top: .75rem; padding-bottom: .75rem; }
}

.post-type-ujk_event #ujk_field_date_end[hidden],
.post-type-ujk_event #ujk_field_time_end[hidden] { display:none!important; }


/* GALERIA */
.ujk-section-gallery { background: #f8f9fa; }
.ujk-gallery-strip {
  width: 98%;
  margin: 0 auto;
  position: relative;
  overflow: visible;
  padding: 0 1rem;
}
@media (min-width: 1200px){
  .ujk-gallery-strip { padding: 0 1.25rem; }
}

.ujk-gallery-carousel { position: relative; overflow: visible; }
.ujk-gallery-carousel .ratio > img { object-fit: cover; }
.ujk-gallery-carousel .carousel-control-prev,
.ujk-gallery-carousel .carousel-control-next {
  position: absolute;
  width: auto;
  height: auto;
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
  padding: .125rem;
  background: transparent;
  border: 0;
  opacity: .9;
  z-index: 5;
}
.ujk-gallery-carousel .carousel-control-prev { left: -1.5rem;  right: auto; }
.ujk-gallery-carousel .carousel-control-next { right: -1.5rem; left:  auto; }

@media (min-width: 768px){
  .ujk-gallery-carousel .carousel-control-prev { left: -1.75rem; }
  .ujk-gallery-carousel .carousel-control-next { right: -1.75rem; }
}
@media (min-width: 1200px){
  .ujk-gallery-carousel .carousel-control-prev { left: -2rem; }
  .ujk-gallery-carousel .carousel-control-next { right: -2rem; }
}

/* strzałki */
.ujk-gallery-carousel .carousel-control-prev-icon,
.ujk-gallery-carousel .carousel-control-next-icon {
  width: 1.4rem;
  height: 1.4rem;
  filter: invert(1) grayscale(100%);
}

.ujk-gallery-carousel:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 6px;
}
.ujk-gallery-carousel .carousel-control-prev:focus-visible,
.ujk-gallery-carousel .carousel-control-next:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
  box-shadow: 0 0 0 3px rgba(255,255,255,.85);
}

.ujk-gallery-carousel .carousel-control-prev:hover,
.ujk-gallery-carousel .carousel-control-next:hover { opacity: 1; }

.ujk-lightbox .modal-content { background: #000; }
.ujk-lightbox .carousel-caption { background: rgba(0,0,0,.5); padding: .5rem .75rem; }

/* Archiwum – układ listy */
.ujk-gallery-archive.list .album .ujk-archive-thumb img { display: block; }
@media (max-width: 767.98px){
  .ujk-gallery-archive.list .album .ujk-archive-thumb{
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
  }
  .ujk-gallery-archive.list .album .album-desc { margin-top: .5rem; }
}
.ujk-gallery-archive .navigation.pagination { margin-top: 1rem; }


#galleryCarousel .carousel-control-prev-icon,
#galleryCarousel .carousel-control-next-icon {
  width: 3rem;
  height: 3rem;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 50%;
  background-size: 50%, 50%;
}

#galleryCarousel .carousel-control-prev:hover .carousel-control-prev-icon,
#galleryCarousel .carousel-control-next:hover .carousel-control-next-icon {
  background-color: rgba(0, 0, 0, 0.8);
}

#galleryCarousel .carousel-caption {
  background: rgba(0, 0, 0, 0.5);
  border-radius: .25rem;
  padding: .25rem .75rem;
}

.lightbox-prev,
.lightbox-next {
  background: rgba(0,0,0,0.4);
  border: none;
  border-radius: 50%;
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .2s ease;
}
.lightbox-prev:hover,
.lightbox-next:hover {
  background: rgba(0,0,0,0.7);
}

/* ujk w liczbach */
.ujk-stats-hero{
  position: relative;
  background-color: var(--ujk-stats-bg-color, #111);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  min-height: var(--ujk-stats-min-h, auto);
}
.ujk-stats-hero::before{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,var(--ujk-stats-overlay, .5));
}
.ujk-stats-hero .ujk-stats-content{ position: relative; color: #fff; }
.ujk-stats-hero h3{ color: #fff; margin-bottom: .25rem; }
.ujk-stats-hero .lead,
.ujk-stats-hero p{ color: rgba(255,255,255,.9); }

.ujk-stat{
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
  min-height: 3.25rem; 
  gap: .15rem;
}
.ujk-stat .ujk-stat-value{
  color: var(--ujk-stats-value-color, #fff);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: .3px;
  font-size: calc(
    clamp(1.35rem, 2.1vw + 0.55rem, 3.4rem) * var(--ujk-stats-scale, 1)
  );
}
.ujk-stat .ujk-stat-label{
  color: var(--ujk-stats-label-color, var(--ujk-link-color, rgba(255,255,255,.95)) );
  opacity: .98;
  line-height: 1.2;
  font-weight: 600;
  font-size: calc(
    clamp(0.8rem, 0.6vw + 0.5rem, 1.15rem) * var(--ujk-stats-scale, 1)
  );
}

@media (max-width: 767.98px){
  .ujk-stats-hero{ padding-top: 2rem; padding-bottom: 2rem; }
}

.ujk-stats-hero a{ color: #fff; text-decoration: underline; }
.ujk-stats-hero a:focus{ outline: 2px solid #fff; outline-offset: 2px; }

/* Pasek pod sekcją statystyk */
.ujk-stats-bottom-bar{
  width: 100%;
  margin: 0;
  padding: 0;
  line-height: 0;
  font-size: 0;
}

/* linki na głównej  */
.ujk-linkbar{
  position: relative;
  display: flex;
  align-items: center;
  min-height: var(--linkbar-h, 160px);
  background-color: #6b6b6b;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: auto 80%;
  isolation: isolate;
}
.ujk-linkbar::before{
  content:"";
  position:absolute; inset:0;
  background: rgba(0,0,0,var(--linkbar-overlay, .2));
  z-index: 0;
}
.ujk-linkbar .ujk-linkbar-inner{
  position: relative; z-index: 1;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: var(--bs-gutter-x, .75rem);
  padding-right: var(--bs-gutter-x, .75rem);
}
.ujk-linkbar-content{ width: 100%; }
.ujk-linkbar-columns{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: .4rem;
}
.ujk-linkbar-col{
  flex: 0 1 auto;
  min-width: 100%;
  text-align: left;
}
.ujk-linkbar-col ul{ list-style: none; padding: 0; margin: 0; }
.ujk-linkbar-heading{ margin: 0; }
.ujk-linkbar-col li + li { margin-top: var(--linkbar-gap, 8px); }
.ujk-linkbar-item,
.ujk-linkbar-item:link{
  color: var(--linkbar-link, #0d6efd);
  text-decoration: none;
}
.ujk-linkbar-item:visited{ color: var(--linkbar-link-visited, #6610f2); }
.ujk-linkbar-item:hover,
.ujk-linkbar-item:focus{
  color: var(--linkbar-link-hover, #0a58ca);
  text-decoration: underline;
}
.ujk-linkbar-item:focus-visible{
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

/* HTML */
.ujk-linkbar-htmlwrap{
  height: 80%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: transparent;
  overflow: hidden;
}

/* MOBILE */
@media (max-width: 575.98px){
  .ujk-linkbar{ margin-top: .5rem; margin-bottom: .5rem; }
  .ujk-linkbar .ujk-linkbar-inner{
    padding-top: .75rem;
    padding-bottom: .75rem;
  }
}

@media (min-width: 576px){
  .ujk-linkbar .ujk-linkbar-inner{ padding-left: 0; padding-right: 0; }
  .ujk-linkbar-columns{ gap: clamp(16px, 4vw, 56px); }
  .ujk-linkbar-col{ min-width: clamp(220px, 28vw, 420px); }
}


/* ----- footer ------- */
.site-footer {
  margin-top: 0;
  background-color: #000;
  padding-top: 0rem;
  padding-bottom: 0.5rem; 
}

.btn-icon i {
  font-size: 1.125rem;
  line-height: 1;
  vertical-align: -0.125rem;
}

.site-footer .widget-title {
  color: #fff;
  font-size: 1.05rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.site-footer .widget a {
  color: #d6d6d6;
  text-decoration: none;
}
.site-footer .widget a:hover {
  color: #fff;
  text-decoration: underline;
}

.footer-bottom {
  border-top: 1px solid rgba(255,255,255,.1);
  padding-top: 0.5rem; 
  padding-bottom: 0.25rem;
}

.footer-links li {
  margin-bottom: 0.3rem !important; 
  line-height: 1.1; 
}

.footer-social .widget-title {
  color: #fff;
  font-weight: 600;
  margin-bottom: 0.4rem;
}

.footer-social-widget {
  color: #d6d6d6;
}

.footer-social-widget .social-links {
  margin-bottom: 0.25rem;
}

.footer-social-widget .social-links a {
  color: #fff;
  font-size: 1.3rem;
  transition: color 0.3s ease, transform 0.3s ease;
}

.footer-social-widget .social-links a:hover {
  color: var(--ujk-dominant, #e3001b);
  transform: translateY(-2px);
}


/* single*/

:root{
  --ujk-rail-w: 98px;
}

.ujk-breadcrumbs .breadcrumb{ background: transparent; padding: 0; }
.ujk-post-hero img{ border-radius: 0 !important; object-fit: cover; }
.ujk-meta i{ opacity:.85; margin-right:.35rem; }

#primary .ujk-post-hero{ margin-bottom: 0 !important; }

#primary .ujk-content-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 0 1rem; 
  margin-top: 1rem;
}
@media (min-width: 576px){
  #primary .ujk-content-grid{
    grid-template-columns: var(--ujk-rail-w) 1fr;
  }
}
@media (min-width: 576px){
  #primary .ujk-content-grid.is-full{
    gap: 0 .5rem;
  }
}

#primary .ujk-left-rail{ display: none; position: relative; }
@media (min-width: 576px){
  #primary .ujk-left-rail{ display: block; }
}
#primary .ujk-left-meta{
  display: flex;
  flex-direction: column;
  gap: .5rem;
  padding-top: .25rem;
  line-height: 1.15;
}
#primary .ujk-left-meta .ujk-meta-item{ display:flex; align-items:center; padding-top: 6px; }
#primary .ujk-left-meta .ujk-meta-item i{ margin-right:.45rem; opacity:.85; }
#primary .ujk-left-meta time{ font-weight:700; }

/* udostępnianie i dodaj do kalendarza */ 
#primary .ujk-share-rail{ display:none; }
@media (min-width: 576px){
  #primary .ujk-share-rail{
    display:flex; position:sticky; top:80px;
    flex-direction:column; align-items:flex-end; gap:.5rem; margin-top:.75rem;
  }
  #primary .ujk-share-rail__label{
    font-size:.75rem; line-height:1; letter-spacing:.08em; text-transform:uppercase; color:#6c757d; margin-bottom:.25rem;margin-top:.75rem;
  }
  #primary .ujk-share-rail__icons{ display:flex; flex-direction:column; gap:.5rem; align-items:flex-end; }
  #primary .ujk-share-rail .ujk-iconbtn{ width:36px; height:36px; display:inline-grid; place-items:center; }
}

#primary .ujk-share-inline{ display:flex; gap:.5rem; margin-top:.5rem; margin-bottom:.8rem; }
#primary .ujk-share-inline .ujk-iconbtn{ width:36px; height:36px; display:inline-grid; place-items:center; }

.ujk-sharebar .btn { min-width: 2.25rem; }
.ujk-sharebar .btn i { vertical-align: -2px; }

.ujk-share{ display:flex; align-items:center; gap:.5rem; }
.ujk-share__label{ font-weight:600; margin-right:.25rem; color:var(--topbar-link, #333); }

.ujk-share-event-inline {
  display: flex;
  flex-direction: column;
  align-items: flex-end;  
  gap: .75rem;
  text-align: right;
}

.ujk-share-event-inline .ujk-sei__group {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .35rem;
}

.ujk-share-event-inline .ujk-sei__icons--stack {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .35rem;
}

.ujk-share-event-inline .ujk-iconbtn {
  line-height: 1;
}
#primary .ujk-main-block{
  position: relative; z-index:2; background:#fff; padding:10px;
}

#primary article.has-hero .ujk-main-block{ margin-top:-100px; }

#primary .ujk-main-block.is-full{
  max-width: 80%;
  margin-left: 20px;         
  margin-right: auto;
}

#primary .ujk-breadcrumbs{ margin-bottom:.5rem; }
#primary .ujk-main-block > header h1{ margin-bottom:.25rem; }
#primary .ujk-meta--mobile{ margin-top:.25rem; margin-bottom:1rem; column-gap:.75rem; row-gap:.25rem; }

@media (max-width: 767.98px) {
  .ujk-meta--mobile {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    gap: .5rem;
    white-space: nowrap;
  }

  .ujk-meta--mobile span {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
  }
}


/* buttons */
.btn-ujk{
  --ujk-btn-bg: var(--ujk-dominant, #e3001b);
  background: var(--ujk-btn-bg);
  border-color: var(--ujk-btn-bg);
  color:#fff;
}
.btn-ujk:hover,
.btn-ujk:focus{
  filter: brightness(.92);
  color:#fff;
  border-color: var(--ujk-btn-bg);
}

.btn-ujk-outline{
  --ujk-btn-bg: var(--ujk-dominant, #e3001b);
  background: transparent;
  color: var(--ujk-btn-bg);
  border-color: var(--ujk-btn-bg);
}
.btn-ujk-outline:hover,
.btn-ujk-outline:focus{
  background: var(--ujk-btn-bg);
  color:#fff;
  border-color: var(--ujk-btn-bg);
}

.widget ul { margin: 0; padding-left: 1rem; }
.widget ul li { margin: .25rem 0; }
.widget .tagcloud a { display: inline-block; margin: 0 .25rem .25rem 0; }
.widget .search-form,
.widget .wp-block-search { width: 100%; }
.widget .search-form .search-field,
.widget .wp-block-search__input { width: 100%; }
.widget .card-body:last-child { padding-bottom: 1rem; }

/* sidebar widgets  */
.widget.card { border: 1px solid rgba(0,0,0,.08); border-radius: .75rem; overflow: hidden; }
.widget.card .card-header { background: #f8f9fa; }
.widget.card .widget-title { font-size: 1rem; font-weight: 600; }
.widget ul,
.widget ol { list-style: none; margin: 0; padding-left: 0; }
.widget li { margin: 0; }
.widget li + li { margin-top: .35rem; }

.widget li > a {
  display: block;
  padding: .22rem .22rem;
  border-radius: .5rem;
  text-decoration: none;
}
.widget li > a:hover,
.widget li > a:focus {
  background: rgba(0,0,0,.04);
}

.widget .children,
.widget .sub-menu { padding-left: .75rem; margin-top: .25rem; border-left: 1px solid rgba(0,0,0,.06); }

/* wyszukiwarka */
.widget .search-form {
  display: flex;
  gap: .5rem;
  align-items: center;
}
.widget .search-form .search-field {
  flex: 1 1 auto;
  height: 38px;
  padding: .375rem .5rem;
  border: 1px solid #ced4da;
  border-radius: .5rem;
}
.widget .search-form .search-submit {
  height: 38px;
  padding: .375rem .75rem;
  border: 1px solid var(--ujk-dominant, #0d6efd);
  background: transparent;
  color: var(--ujk-dominant, #0d6efd);
  border-radius: .5rem;
  line-height: 1;
  cursor: pointer;
}
.widget .search-form .search-submit:hover,
.widget .search-form .search-submit:focus {
  background: var(--ujk-dominant, #0d6efd);
  color: #fff;
}

.widget_calendar #wp-calendar { width: 100%; border-collapse: separate; border-spacing: 0; }
.widget_calendar #wp-calendar caption {
  caption-side: top; text-align: left; font-weight: 600; margin-bottom: .5rem;
}
.widget_calendar #wp-calendar th,
.widget_calendar #wp-calendar td {
  text-align: center;
  padding: .35rem .25rem;
  border: 1px solid rgba(0,0,0,.06);
}
.widget_calendar #wp-calendar thead th { background: #f8f9fa; font-weight: 600; }
.widget_calendar #wp-calendar tbody td { background: #fff; }
.widget_calendar #wp-calendar tbody td#today {
  background: var(--ujk-dominant, #0d6efd);
  color: #fff;
  font-weight: 700;
}
.widget_calendar #wp-calendar tfoot td { border: none; padding-top: .5rem; }
.widget_calendar #wp-calendar a { text-decoration: none; }
.widget_recent_comments .recentcomments { padding: .35rem .5rem; border-radius: .5rem; }
.widget_recent_comments .recentcomments:hover { background: rgba(0,0,0,.04); }

.widget_tag_cloud .tagcloud a {
  display: inline-block;
  margin: 0 .25rem .25rem 0;
  padding: .3rem .55rem;
  border-radius: 999px;
  background: #f1f3f5;
  text-decoration: none;
  font-size: .875rem !important;
}
.widget_tag_cloud .tagcloud a:hover { background: #e9ecef; }
.widget img { max-width: 100%; height: auto; border-radius: 0; display: block; }
.widget.card .card-body > :last-child { margin-bottom: 0; }
#secondary,
.widget-area { overflow: visible; }

@media (min-width: 992px){
  #secondary.widget-area,
  .widget-area{
    margin-top: 1.25rem;
	margin-bottom: 1.25rem;
  }
}

.widget.card .card-header{
  padding: .5rem .75rem;
}
.widget.card .widget-title,
.widget.card .card-header .widget-title,
.widget .widget-title,
.widget .widgettitle{
  margin: 0; 
  line-height: 1.2;
}

.widget.card > *:not(.card-header) { padding: .75rem .85rem; }
.widget.card .card-header { padding: .5rem .75rem; }
.widget.card .widget-title { margin: 0; line-height: 1.2; }

/* kafelki */
.ujk-tiles{
  text-align:center;
}

.ujk-tiles{
  --ujk-tiles-link-color: #fff;
  --ujk-tiles-link-hover-color: #ffcc00;
  --ujk-tiles-link-visited-color: #ccc;
}

.ujk-tiles-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
  align-items:stretch;
}

@media (max-width: 991.98px){
  .ujk-tiles-grid{
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  }
}

@media (max-width: 575.98px){
  .ujk-tiles-grid{
    grid-template-columns: 1fr;
    padding-left: 1rem;
    padding-right: 1rem;
    gap: 12px;
  }
  .ujk-tile-wrap{ margin-bottom: .25rem; }
}

.ujk-tile-wrap{ min-width:0; }

.ujk-tile-link{
  display:block;
  height:100%;
  color: inherit;
  text-decoration: none;
}

.ujk-tiles .ujk-tile{
  position: relative;
  box-shadow: 0 1px 2px rgba(0,0,0,.06);
  border-radius: 0 !important;
}

.ujk-tiles .ujk-tile img{
  object-fit:cover;
  border-radius: 0 !important;
}

.ratio-3x2{ --bs-aspect-ratio: calc(2/3*100%); }
.ratio-1x1{ --bs-aspect-ratio: 100%; }

.ujk-tiles-overlay{
  position:absolute; inset:0;
  background: rgba(0,0,0,.45);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center;
  pointer-events:none;
}
.ujk-tiles-overlay.no-bg{ background: none !important; }

.ujk-tiles .ujk-tiles-title{
  display:block;
  width:100%;
  padding:.45rem .6rem;
  overflow-wrap:anywhere;
  hyphens:auto;
  letter-spacing:.02em;
  text-shadow: none !important; /* zero cieni */
  line-height:1.15;
  font-size: clamp(0.9rem, 1.4vw, 1.125rem);
  color: var(--ujk-tiles-link-color);
  text-decoration: none;
}

.ujk-tiles .ujk-tile-link:visited .ujk-tiles-title{
  color: var(--ujk-tiles-link-visited-color);
}
.ujk-tiles .ujk-tile-link:hover .ujk-tiles-title,
.ujk-tiles .ujk-tile-link:focus .ujk-tiles-title{
  color: var(--ujk-tiles-link-hover-color);
  text-decoration: underline;
}

.ujk-tile-caption{
  background:#f6f7f9;
  padding:.75rem 1rem;
  text-align:center;
}

.ujk-tiles .img-base,
.ujk-tiles .img-hover{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; display:block;
  transition: opacity .25s ease;
}
.ujk-tiles .img-base{ opacity:1; }
.ujk-tiles .img-hover{ opacity:0; }

.ujk-tiles .ujk-tile-link.has-hover:hover .img-base,
.ujk-tiles .ujk-tile-link.has-hover:focus .img-base{ opacity:0; }

.ujk-tiles .ujk-tile-link.has-hover:hover .img-hover,
.ujk-tiles .ujk-tile-link.has-hover:focus .img-hover{ opacity:1; }



/* KAFELKI PRO (sekcja nad/pod) */
.ujk-pro-tiles{
  margin: 24px 0;
  --pro-link: #000;
  --pro-link-hover: #111;
  --pro-link-visited: #6b6b6b;
}

.ujk-pro-tiles__grid{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  width: 100%;
  margin-inline: auto;
}

.ujk-pro-tiles__item{
  min-width: 0;
  flex: 1 1 100%;
  max-width: 100%;
}

.ujk-pro-tiles.is-2 .ujk-pro-tiles__item{
  flex: 1 1 clamp(420px, 48%, 720px);
  max-width: 720px;
}

.ujk-pro-tiles__figure{
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #d92a1a;
  aspect-ratio: 3 / 1;
}

.ujk-pro-tiles__img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ujk-pro-tiles__figure::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(0,0,0,.25), rgba(0,0,0,.25));
  z-index: 1;
  pointer-events: none;
}

.ujk-pro-tiles__caption{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 12px;
  z-index: 2;
}

.ujk-pro-tiles__link{
  display: inline-block;
  font-weight: 700;
  text-decoration: none;
  font-size: clamp(18px, 2.6vw, 28px);
  color: var(--pro-link);
}
.ujk-pro-tiles__link:link{
  color: var(--pro-link);
}
.ujk-pro-tiles__link:visited{
  color: var(--pro-link-visited, var(--pro-link));
}
.ujk-pro-tiles__link:hover,
.ujk-pro-tiles__link:focus,
.ujk-pro-tiles__link:visited:hover,
.ujk-pro-tiles__link:visited:focus{
  color: var(--pro-link-hover);
}

@media (max-width: 480px){
  .ujk-pro-tiles__figure{ aspect-ratio: 2.6 / 1; }
}

/* Archiwum wpisów – GRID */
:root{
  --ujk-archive-card-bg: #f6f7f9;
}

.ujk-archive-grid .ujk-arc-card{
  background: var(--ujk-archive-card-bg);
  border: 0;
  border-radius: .75rem;
  overflow: hidden;
  box-shadow: none;
  transition: transform .15s ease, box-shadow .15s ease;
}

.ujk-archive-grid .ujk-arc-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
}

.ujk-archive-grid .ujk-arc-thumb > img{ object-fit: cover; }
.ujk-archive-grid .ujk-arc-body{ padding: .85rem .95rem; }
.ujk-archive-grid .ujk-arc-title{
  margin: 0 0 .25rem 0;
  line-height: 1.01;
}
.ujk-archive-grid .ujk-arc-title a{
  display: inline;
  font-size: 1.0625rem;
  font-weight: 700;
  color: #000;
  text-decoration: none;
}
.ujk-archive-grid .ujk-arc-title a:hover,
.ujk-archive-grid .ujk-arc-title a:focus{
  color: var(--ujk-dominant, #e3001b);
  text-decoration: underline;
}

.ujk-archive-grid .ujk-arc-excerpt{
  color: #6c757d;
  font-size: .9375rem;
  line-height: 1.4;
  margin: .85rem 0 .5rem 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ujk-archive-grid .ujk-arc-meta{
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.ujk-archive-grid .ujk-arc-more{
  color: var(--ujk-dominant, #e3001b);
  font-weight: 600;
  font-size: .9375rem;
  text-decoration: none;
}
.ujk-archive-grid .ujk-arc-more:hover,
.ujk-archive-grid .ujk-arc-more:focus{
  text-decoration: underline;
}
.ujk-archive-grid time{ color: #6c757d; }

@media (max-width: 575.98px){
  .ujk-archive-grid .ujk-arc-body{ padding: .75rem .8rem; }
  .ujk-archive-grid .ujk-arc-title a{ font-size: 1rem; }
  .ujk-archive-grid .ujk-arc-excerpt{ -webkit-line-clamp: 2; }
}

.ujk-archive-grid .card{
  background: var(--ujk-archive-card-bg);
  border: 0;
  box-shadow: none;
}

/* ARCHIWUM WYDARZEŃ (lista) */
.events-archive{max-width:1100px;margin:0 auto;padding:2rem 1rem;}
.events-list{list-style:none;margin:0;padding:0}
.events-item{padding:1rem 0;border-bottom:1px solid #e5e7eb;}

.events-grid{
  display:grid;
  grid-template-columns: 72px 1fr;
  grid-template-rows: auto auto;
  column-gap: 1rem;
  row-gap: .35rem;
  align-items: start;
}
.events-left{
  grid-column: 1;
  grid-row: 1;
  align-self: stretch;
}
.events-square{
  height: 100%;
  background: var(--ujk-dominant, #e3001b); /* spójne z motywem */
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 0;
  line-height: 1.05;
  padding: .35rem .25rem;
  user-select: none;
}
.events-square .d{font-weight:700;font-size:1.15rem;}
.events-square .m{font-size:.8rem;letter-spacing:.05em;}

.events-head{
  grid-column: 2;
  grid-row: 1;
  min-height: 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.events-title{font-size:1.125rem;margin:0;}
.events-title a{text-decoration:none;}
.events-title a:hover,
.events-title a:focus{text-decoration:underline;}

.events-place{
  margin-top: .15rem;
  font-size: .98rem;
  color: #111;
}

.events-date-text{
  grid-column: 2;
  grid-row: 2;
  font-size: .92rem;
  color: #6b7280;
}

.pagination{margin-top:1.5rem}


/* ARCHIWUM WYDARZEŃ */
.events-list{
  list-style:none;
  margin:0;
  padding:0;
}
.events-item{
  padding:.75rem 0;
  border-bottom:1px solid #e5e7eb;
}

.events-grid{
  display:grid;
  grid-template-columns: 62px 1fr;
  grid-template-rows: auto auto;
  column-gap: .75rem;
  row-gap: .25rem;
  align-items:start;
}

.events-left{
  grid-column:1;
  grid-row:1;
  align-self:start;
}
.events-square{
  width:62px;
  height:62px;
  background: var(--ujk-dominant, #e3001b);
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border-radius:0;
  line-height:1.05;
  user-select:none;
}
.events-square .d{ font-weight:700; font-size:1.05rem; }
.events-square .m{ font-size:.75rem; letter-spacing:.05em; }

.events-head{
  grid-column:2;
  grid-row:1;
  min-height:62px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.events-title{
  font-size:1.125rem;
  margin:0;
}
.events-title a{
  color: var(--ujk-dominant, #e3001b);
  text-decoration:none;
}
.events-title a:hover,
.events-title a:focus{ text-decoration:underline; }

.events-place{
  margin-top:.1rem;
  font-size:.95rem;
  color:#111;
}

.events-date-text{
  grid-column:2;
  grid-row:2;
  font-size:.9rem;
  color:#6b7280; 
}

.navigation.pagination,
.pagination{ margin-top:1.25rem; }


/* Pasek udostępniania + nawigacja */
.ujk-footerbar{
  border-top: 1px solid rgba(0,0,0,.08);
  margin-top: 2rem;
  margin-bottom: 1rem;
  padding-top: 1rem;
  display: flex; flex-wrap: wrap;
  align-items: center; justify-content: space-between;
  gap: .75rem;
  font-size: .95rem;
}

.ujk-iconbtn{
  width: 36px; height: 36px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--ujk-dominant, #e3001b);
  background: #fff;
  color: var(--ujk-dominant, #e3001b);
  transition: background .12s ease, color .12s ease, transform .12s ease;
}
.ujk-iconbtn:hover,
.ujk-iconbtn:focus-visible{
  background: var(--ujk-dominant, #e3001b);
  color:#fff;
  transform: translateY(-1px);
}

.ujk-nav{ display:flex; flex-wrap:wrap; gap:.5rem; }
.ujk-pill{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.5rem .9rem;
  border:1px solid var(--ujk-dominant, #e3001b);
  font-weight:600; text-decoration:none;
  background: transparent;
  color: var(--ujk-dominant, #e3001b);
  transition: background .12s ease, color .12s ease, transform .12s ease;
}
.ujk-pill--primary{
  background: var(--ujk-dominant, #e3001b);
  color:#fff;
}
.ujk-pill:hover,
.ujk-pill:focus-visible{ transform: translateY(-1px); }
.ujk-pill--ghost:hover,
.ujk-pill--ghost:focus-visible{ background: rgba(0,0,0,.04); }
.ujk-pill--primary:hover,
.ujk-pill--primary:focus-visible{ filter: brightness(.95); }

.btn.btn-primary.btn-sm {
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.5rem .9rem;
  border:1px solid var(--ujk-dominant, #e3001b);
  font-weight:600;
  text-decoration:none;
  background: transparent;
  color: var(--ujk-dominant, #e3001b);
  transition: background .12s ease, color .12s ease, transform .12s ease;
}

.btn.btn-primary.btn-sm:hover,
.btn.btn-primary.btn-sm:focus-visible {
  transform: translateY(-1px);
  background: rgba(0,0,0,.04);
  color: var(--ujk-dominant, #e3001b);
}

.btn.btn-primary.btn-sm.active,
.btn.btn-primary.btn-sm:active,
.btn.btn-primary.btn-sm.is-primary {
  background: var(--ujk-dominant, #e3001b);
  color:#fff;
}

.btn.btn-primary.btn-sm.active:hover,
.btn.btn-primary.btn-sm:active:hover,
.btn.btn-primary.btn-sm.is-primary:hover,
.btn.btn-primary.btn-sm.is-primary:focus-visible {
  filter: brightness(.95);
}


/* PDF */
a[href$=".pdf"]:not(:has(img)):before {
  content: "\f1c1";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-right: .4em;
  color: #e63946;
}

/* Word / LibreOffice Writer */
a[href$=".doc"]:not(:has(img)):before,
a[href$=".docx"]:not(:has(img)):before,
a[href$=".odt"]:not(:has(img)):before {
  content: "\f1c2";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-right: .4em;
  color: #2b579a;
}

/* Excel / LibreOffice Calc */
a[href$=".xls"]:not(:has(img)):before,
a[href$=".xlsx"]:not(:has(img)):before,
a[href$=".ods"]:not(:has(img)):before {
  content: "\f1c3";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-right: .4em;
  color: #217346;
}

/* PowerPoint / LibreOffice Impress */
a[href$=".ppt"]:not(:has(img)):before,
a[href$=".pptx"]:not(:has(img)):before,
a[href$=".odp"]:not(:has(img)):before {
  content: "\f1c4";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-right: .4em;
  color: #d24726;
}

/* Video */
a[href$=".mp4"]:not(:has(img)):before,
a[href$=".avi"]:not(:has(img)):before,
a[href$=".mov"]:not(:has(img)):before,
a[href$=".mkv"]:not(:has(img)):before {
  content: "\f03d"; /* fa-video */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-right: .4em;
  color: #e67e22;
}

/* Audio */
a[href$=".mp3"]:not(:has(img)):before,
a[href$=".wav"]:not(:has(img)):before,
a[href$=".ogg"]:not(:has(img)):before {
  content: "\f001"; /* fa-music */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-right: .4em;
  color: #9b59b6;
}

/* Archiwa (ZIP/RAR) */
a[href$=".zip"]:not(:has(img)):before,
a[href$=".rar"]:not(:has(img)):before {
  content: "\f1c6"; /* fa-file-archive */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-right: .4em;
  color: #f39c12;
}

/*  Widget: UJK Kalendarz wydarzeń  */
.ujk-ecal { width: 100%; font-size: .9rem; }

.ujk-ecal-nav{
  display:flex; align-items:center; justify-content:space-between;
  gap:.35rem; margin-bottom:.25rem; line-height:1.2;
}
.ujk-ecal-nav .ujk-ecal-current{ font-weight:700; }
.ujk-ecal-nav a,
.ujk-ecal-nav button{
  color: var(--ujk-dominant, #e3001b) !important;
  background:none; border:0; padding:0; text-decoration:none; font:inherit; cursor:pointer;
}
.ujk-ecal-nav a:hover,
.ujk-ecal-nav button:hover{ text-decoration:underline; }

.ujk-ecal-scroller{ width:100%; overflow-x:hidden; }
.ujk-ecal-table{
  width:100%;
  min-width: 0 !important;
  border-collapse:collapse; table-layout:fixed; font-size:.9rem;
}
.ujk-ecal-table th,
.ujk-ecal-table td{
  text-align:center; padding:.22rem 0; 
  border:1px solid rgba(0,0,0,.08); vertical-align:middle;
}
.ujk-ecal-table thead th{ background:#f8f9fa; font-weight:600; }
.ujk-ecal-table td.empty{ background:#fafafa; }

.ujk-ecal-table .num{
  display:inline-block;
  min-width: 1.3rem; 
  line-height: 1.3rem; 
  font-size: .9em;
  text-decoration:none;
  border:0; background:transparent;
}

.ujk-ecal-table td.day.has-event .num{
  background: var(--ujk-dominant, #e3001b);
  color:#fff; border-radius:0;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.05);
}

.ujk-ecal-table .num:focus{
  outline:2px dotted var(--ujk-dominant, #e3001b);
  outline-offset:2px;
}

@media (max-width: 380px){
  .ujk-ecal{ font-size:.88rem; }
  .ujk-ecal-table{ font-size:.88rem; }
  .ujk-ecal-table .num{ min-width:1.2rem; line-height:1.2rem; }
}

/* dziś */
.ujk-ecal-table td.day.today .num {
  background: #D3D3D3;
  color: #000;
  border-radius: 0;
  border: none;
  box-shadow: none;
}
.ujk-ecal-table td.day.has-event.today .num {
  background: var(--ujk-dominant, #e3001b);
  color: #fff;
  border: 2px solid #6d6b6b;

}

/* pracowniki */
#pracModal .modal-dialog {
  max-width: 500px;
}

#pracModal .modal-body {
  text-align: left;
  line-height: 1.5;
}

#pracModal .pracownik-info p {
  margin-bottom: .35rem;
}

#pracModal .pracownik-info h6 {
  font-size: 1.1rem;
}

.emp-list {
  width: 100%;
}

.emp-row {
  border-bottom: 1px solid rgba(0,0,0,.08);
  padding: .4rem 0;
  transition: background .15s ease;
}

.emp-row:last-child {
  border-bottom: none;
}

.emp-row:hover {
  background: rgba(0,0,0,.02);
}

.emp-row i {
  color: var(--ujk-dominant, #e3001b);
}

#ujk-kontakty .text-muted i {
  color: var(--ujk-dominant, #e3001b);
}

.ujk-pill i {
  color: var(--ujk-dominant, #e3001b);
}

.emp-list .emp-row:nth-of-type(odd) {
  background: rgba(0,0,0,.01);
}

.emp-name-link {
  font-weight: 600;
  color: #000;
  transition: color .15s ease;
}

.emp-name-link:hover {
  color: var(--ujk-dominant, #e3001b);
  text-decoration: none;
}

.text-ujk,
.text-ujk i {
  color: var(--ujk-dominant, #e3001b) !important;
}


.ujk-pill {
  text-decoration: none !important;
}

#administracja-uczelni section {
  scroll-margin-top: 6rem;
}
#administracja-uczelni h3.h2 {
  font-weight: 700;
  color: var(--bs-dark);
}
#administracja-uczelni ul li + li {
  margin-top: .25rem;
}
#administracja-uczelni ul strong {
  color: var(--bs-primary);
}
#ujk-kontakty .card h4, .card h5 {
  color: #000;
  font-weight: 700;
}
#ujk-kontakty .card i {
  width: 1.25em;
  text-align: center;
}

#ujk-kontakty .card {
  border: 1px solid rgba(0,0,0,.08);
  border-radius: .75rem;
  box-shadow: 0 .125rem .25rem rgba(0,0,0,.05);
}

#ujk-kontakty a[href^="mailto:"] {
  color: #000 !important;
  text-decoration: none;
}

#ujk-kontakty a[href^="mailto:"]:hover {
  color: var(--ujk-dominant, #e3001b) !important;
  text-decoration: none;
}

/* */
header .d-flex.align-items-center {
  flex-wrap: wrap;
  gap: .75rem 1rem;
}

header .entry-title,
header h1 {
  margin-bottom: 0;
}

.ujk-subpages-top {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem .75rem;
  justify-content: flex-start;
  margin-top: 20px;
  padding: 0;
}

.ujk-subpages-top .ujk-top-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--ujk-dominant, #e3001b);
  color: #fff;
  font-weight: 500;
  border-radius: 4px;
  border: 1px solid var(--ujk-dominant, #e3001b);
  padding: .5rem .95rem;
  font-size: .95rem;
  line-height: 1.3;
  text-decoration: none;
  transition: all .15s ease-in-out;
  white-space: nowrap;
}

.ujk-subpages-top .ujk-top-link:hover,
.ujk-subpages-top .ujk-top-link:focus {
  background: color-mix(in srgb, var(--ujk-dominant, #e3001b) 85%, black);
  border-color: color-mix(in srgb, var(--ujk-dominant, #e3001b) 85%, black);
  color: #fff;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.25);
  text-decoration: none;
  transform: translateY(-1px);
}

.ujk-subpages-top .btn-ujk-active,
.ujk-subpages-top .ujk-top-link.active {
  background: color-mix(in srgb, var(--ujk-dominant, #e3001b) 80%, black);
  border-color: color-mix(in srgb, var(--ujk-dominant, #e3001b) 80%, black);
  color: #fff;
  font-weight: 600;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.25);
}

.ujk-subpages-top .ujk-top-link:visited {
  color: #fff;
}

@media (max-width: 992px) {
  header .d-flex.align-items-center {
    flex-direction: column;
    align-items: flex-start;
    gap: .5rem;
  }

  .ujk-subpages-top {
    justify-content: flex-start;
    gap: .4rem .6rem;
  }

  .ujk-subpages-top .ujk-top-link {
    padding: .45rem .8rem;
    font-size: .9rem;
  }
}

@media (max-width: 767.98px) {
  .ujk-subpages-top {
    flex-wrap: wrap;
    gap: .5rem .6rem;
  }

  .ujk-subpages-top .ujk-top-link {
    flex: 1 1 calc(50% - .6rem);
    min-width: calc(50% - .6rem);
    text-align: center;
    padding: .6rem .9rem;
    font-size: .95rem;
  }
}

@media (max-width: 480px) {
  .ujk-subpages-top .ujk-top-link {
    flex: 1 1 100%;
    min-width: 100%;
    font-size: 1rem;
    padding: .7rem 1rem;
  }
}

.ujk-subpages-local {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem .75rem;
  justify-content: flex-start;
  margin-top: 8px;
  margin-left: 1rem; /
}

.ujk-subpages-local .ujk-top-link--child {
  background: #fff;
  color: var(--ujk-dominant, #e3001b);
  border: 1px solid var(--ujk-dominant, #e3001b);
  opacity: .95;
}

.ujk-subpages-local .ujk-top-link--child:hover,
.ujk-subpages-local .ujk-top-link--child:focus {
  background: var(--ujk-dominant, #e3001b);
  color: #fff;
  opacity: 1;
}

@media (max-width: 767.98px) {
  .ujk-subpages-local {
    margin-left: 0;
  }

  .ujk-subpages-local .ujk-top-link--child {
    flex: 1 1 calc(50% - .6rem);
    min-width: calc(50% - .6rem);
    text-align: center;
  }
}

@media (max-width: 480px) {
  .ujk-subpages-local .ujk-top-link--child {
    flex: 1 1 100%;
    min-width: 100%;
  }
}

.ujk-subpages-local {
  border-left: 2px solid rgba(0,0,0,.08);
  padding-left: .75rem;
}

/* data, godzin lokalizacja na mobile */ 
@media (max-width: 767.98px) {
  .ujk-meta--mobile {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    white-space: nowrap !important;
    gap: 0 !important;
    column-gap: .6rem !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .ujk-meta--mobile > * {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    min-width: max-content !important;
  }

  .ujk-meta--mobile i {
    margin-right: .3rem !important;
    flex-shrink: 0 !important;
  }

  .ujk-meta--mobile[class*="gap-"] {
    row-gap: 0 !important;
    column-gap: .6rem !important;
  }
}

@media (max-width: 767.98px) {
  .ujk-meta .d-flex.flex-wrap.align-items-center.gap-3 {
    display: flex !important;
    flex-wrap: nowrap !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    white-space: nowrap !important;
    gap: 0 !important;
    column-gap: .6rem !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .ujk-meta .d-flex.flex-wrap.align-items-center.gap-3 > * {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    min-width: max-content !important;
  }

  .ujk-meta .d-flex.flex-wrap.align-items-center.gap-3 i {
    flex-shrink: 0 !important;
    margin-right: .3rem !important;
  }

  /* .ujk-meta .d-flex.align-items-center.gap-2.mt-2 {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    white-space: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    gap: .5rem !important;
  } */

 /* .ujk-meta .d-flex.align-items-center.gap-2.mt-2 > * {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    min-width: max-content !important;
  } */
}
@media (max-width: 767.98px) {
  .ujk-meta .d-flex.align-items-center.gap-2.mt-2 {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: .5rem !important;
    flex-wrap: nowrap !important;
    white-space: normal !important;
    overflow: visible !important;
  }

  .ujk-meta .d-flex.align-items-center.gap-2.mt-2 > i {
    flex: 0 0 auto !important;
    margin-top: .25rem !important;
  }

  .ujk-meta .d-flex.align-items-center.gap-2.mt-2 > span:last-of-type {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }
}

/* share i cal na mobile */
@media (max-width: 767.98px) {
  .ujk-cal.d-flex.flex-wrap.align-items-center.gap-2 {
    display: flex !important;
    flex-wrap: nowrap !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    white-space: nowrap !important;
    gap: 0 !important;
    column-gap: .6rem !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .ujk-cal.d-flex.flex-wrap.align-items-center.gap-2 > * {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    min-width: max-content !important;
  }

  .ujk-cal.d-flex.flex-wrap.align-items-center.gap-2 i {
    flex-shrink: 0 !important;
    margin-right: .25rem !important;
  }
}

#ujk-dhc #dhc-list .accordion-button {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 1.5rem;
  flex-wrap: nowrap;
  text-align: left;
  padding: 0.75rem 1rem;
}

#ujk-dhc #dhc-list .accordion-button > * {
  flex-shrink: 0;
}

#ujk-dhc #dhc-list .accordion-button .badge {
  min-width: 120px;
  text-align: center;
  flex-shrink: 0;
}

#ujk-dhc #dhc-list .accordion-button .fw-semibold {
  min-width: 220px;
  flex-shrink: 0;
}

#ujk-dhc #dhc-list .accordion-button small {
  flex: 1;
  min-width: 0;
  white-space: normal;
  overflow: hidden;
  text-overflow: ellipsis;
}

#ujk-dhc #dhc-list .accordion-item {
  border-bottom: 1px solid #dee2e6;
}

#ujk-dhc #dhc-list .accordion-button::after {
  margin-left: auto;
}

#ujk-dhc #dhc-list .accordion-button:not(.collapsed):hover,
#ujk-dhc #dhc-list .accordion-button.collapsed:hover {
  background-color: #f8f9fa;
}

@media (max-width: 767.98px) {
  #ujk-dhc #dhc-list .accordion-button {
    flex-direction: column;
    align-items: flex-start;
    gap: .25rem;
  }
  #ujk-dhc #dhc-list .accordion-button .badge,
  #ujk-dhc #dhc-list .accordion-button .fw-semibold,
  #ujk-dhc #dhc-list .accordion-button small {
    min-width: 100%;
    text-align: left;
  }
  #ujk-dhc #dhc-list .accordion-button small {
    white-space: normal;
  }
}

/* cytaty */
blockquote {
  position: relative;
  margin: 1.75rem 0 1.75rem 10px; 
  padding: 1rem 1.25rem 1rem 1.5rem;
  background-color: #f8f9fa; 
  border-left: 4px solid var(--ujk-dominant, #ccc); 
  font-style: italic;
  color: #333;
  box-shadow: inset 0 0 4px rgba(0,0,0,0.03);
}

blockquote p {
  margin-bottom: 0.75rem;
}
blockquote p:last-child {
  margin-bottom: 0;
}

blockquote footer,
blockquote cite {
  display: block;
  margin-top: .5rem;
  font-size: 0.9em;
  color: #666;
}

blockquote:hover {
  background-color: #f3f4f6;
}