@charset 'UTF-8';

/**
 * @file
 * Unified and overridden Slick Slider & Theme styles.
 */

/* ==========================================================================
   1. Core Slick Styles & Box Sizing
   ========================================================================== */
.slick-wrapper,
.slick,
.slick * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.slick img {
  height: auto;
}

.slick img,
.slick iframe {
  max-width: 100%;
  min-height: 1px;
  border: 0;
}

.slick,
.slick-wrapper {
  position: relative;
  max-width: 100%;
}

.slick-initialized {
  overflow: visible;
}

.slick__slider::before,
.slick__slider::after {
  display: table;
  content: "";
}

.slick__slider::after {
  clear: both;
}

/* ==========================================================================
   2. Draggable & Interaction
   ========================================================================== */
.draggable {
  cursor: -webkit-grab;
  cursor: grab;
}

.draggable:active {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

.draggable:active a,
.draggable:active .slide__caption {
  cursor: -webkit-grabbing;
  cursor: grabbing;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}

/* ==========================================================================
   3. Visibility & Initialization Fixes
   ========================================================================== */
.slick__slide {
  position: absolute;
  visibility: hidden;
  max-width: 100%;
}

.slick__slide.slide--0 {
  position: relative;
}

.unslick .slick__slide,
.slick-initialized .slick__slide {
  position: relative;
  visibility: visible;
}

.slick__slide:focus {
  outline: 0;
}

.unslick .slick__slide {
  width: 100%;
}

.slick-current {
  z-index: 4;
}

/* ==========================================================================
   4. Slide Layouts & Captions
   ========================================================================== */
.slide__content,
.grid__content {
  position: relative;
}

.slide__content::after {
  display: table;
  clear: both;
  content: "";
}

.slide__title {
  margin: 10px 0 5px;
  line-height: 1.2;
}

.slide__link {
  margin: 30px auto;
}

.slide__caption {
  width: 100%;
  cursor: text;
  -moz-user-select: text;
  -ms-user-select: text;
  -o-user-select: text;
  -webkit-user-select: text;
  user-select: text;
}

.slick__arrow,
.is-loading .slide__caption {
  visibility: hidden;
}

.slick--initialized .slick__arrow {
  visibility: visible;
}

.slick--main .slide__caption {
  z-index: 3;
  min-height: 32%;
  padding: 20px 0;
}

.slick--thumbnail .slide__caption {
  padding: 5px 6px;
}

/* ==========================================================================
   5. Custom Overrides: Arrows (Orange Circle & Inside Positioning)
   ========================================================================== */
.slick-prev,
.slick-next,
.slick-arrow {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
  border: none;
  outline: none;
  background: #ff6d2c !important; /* Nadpisanie domyślnego transparentu */
  border-radius: 50%;
  transition: background-color 0.2s, opacity 0.2s;
  pointer-events: auto;
}

/* Hover efekty dla przycisków */
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus,
.slick-arrow:hover,
.slick-arrow:focus {
  outline: none;
  background: #e0561b !important;
  box-shadow: none;
}

/* Rysowanie nowoczesnych, białych strzałek z borderów */
.slick-prev:before,
.slick-next:before {
  content: "" !important; /* Blokada starych czcionek */
  display: block;
  width: 10px;
  height: 10px;
  border-top: 3px solid #ffffff;
  border-left: 3px solid #ffffff;
  opacity: 1;
}

/* Obracanie i pozycjonowanie optyczne grotów */
.slick-prev:before {
  transform: rotate(-45deg);
  margin-left: 4px;
}

.slick-next:before {
  transform: rotate(135deg);
  margin-right: 4px;
}

/* Stan nieaktywny przycisków */
.slick-prev.slick-disabled,
.slick-next.slick-disabled {
  opacity: .35;
  background: #ff6d2c !important;
  cursor: default;
}

/* Przesunięcie przycisków DO WEWNĄTRZ slidera, by nie wychodziły poza ekran */
.slick-prev {
  left: 15px !important;
}
[dir='rtl'] .slick-prev {
  right: 15px !important;
  left: auto !important;
}

.slick-next {
  right: 15px !important;
}
[dir='rtl'] .slick-next {
  right: auto !important;
  left: 15px !important;
}

.slick__arrow {
  position: absolute;
  z-index: 2;
  top: 50%;
  bottom: auto;
  left: 0;
  width: 100%;
  height: 2px;
  margin-top: -1px;
  transform: translateY(-50%);
  pointer-events: none;
}

/* ==========================================================================
   6. Custom Overrides: Dots (Bullets)
   ========================================================================== */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
  vertical-align: top;
}

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 20px;
  height: 20px;
  padding: 5px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
  pointer-events: auto;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1;
}

/* Kropki jako uniwersalny znak dysku (•) bez potrzeby posiadania fontu slick */
.slick-dots li button:before {
  font-size: 24px; /* Zwiększony rozmiar dla lepszej widoczności */
  line-height: 20px;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  content: '•' !important;
  text-align: center;
  opacity: .25;
  color: #333333; /* Ciemnoszary uniwersalny kolor kropek */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
  opacity: .75;
  color: #ff6d2c; /* Aktywna kropka dopasowana do koloru strzałek */
}

/* ==========================================================================
   7. Media & Edge Cases
   ========================================================================== */
img[data-lazy] {
  display: none;
}

.slide__media {
  position: relative;
  overflow: hidden;
}

.slick img.media__element {
  margin: 0 auto;
}

.slick--less .slick-track {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.slick.slick--less .slick-slide {
  display: inline-block;
  float: none;
  vertical-align: top;
}

.slick--less .draggable {
  cursor: default;
}

/* Loader CSS zastąpiony nowoczesnym, samowystarczalnym SVG */
.slick-loading .slick-list {
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='38' height='38' viewBox='0 0 38 38' stroke='%23ff6d2c'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(1 1)' stroke-width='2'%3E%3Ccircle stroke-opacity='.5' cx='18' cy='18' r='18'/%3E%3Cpath d='M36 18c0-9.94-8.06-18-18-18'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 18 18' to='360 18 18' dur='1s' repeatCount='indefinite'/%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/svg%3E") center center no-repeat;
}
.slick--view--cytaty .slide__caption {
    background: rgb(244, 244, 244)!important;
    padding: 0 !important;
}