/* Uses Bootstrap 5 variables and classes where possible */
.dp-gallery .dp-months .card { transition: box-shadow .2s ease; }
.dp-gallery .dp-months .card:hover { box-shadow: 0 0.5rem 1rem rgba(0,0,0,.08); }

/* Siatka kolumn sterowana parametrami z menu */
.dp-grid{
  display: grid;
  gap: var(--dp-gutter, 24px);
  grid-template-columns: repeat(var(--dp-cols-desktop, 4), minmax(0, 1fr));
}

.dp-grid .dp-card-meta {
    line-height: 1.35;
}

/* wyzeruj domyślne marginesy figure i ewentualny margines karty */
.dp-grid .dp-card{ margin: 0; }
.dp-grid .card{ margin: 0; } /* na wszelki wypadek, gdyby szablon dawał mb-* */

@media (max-width: 768px){
  .dp-grid{
    grid-template-columns: repeat(var(--dp-cols-mobile, 2), minmax(0, 1fr));
  }
}

/* Miniatura: proporcje i wypełnienie */
.dp-grid .card-img-top{
  width: 100%;
  height: auto;
  aspect-ratio: var(--dp-aspect, 4/3);
  object-fit: cover;
  display: block;
  border-radius: 0 !important;
}

.dp-w-1 { width: 1%; }
.dp-w-2 { width: 2%; }
.dp-w-3 { width: 3%; }
.dp-w-5 { width: 5%; }
.dp-w-10 { width: 10%; }
.dp-w-20 { width: 20%; }
.dp-w-50 { width: 50%; }

/* --- LIGHTBOX --- */
.dp-lb[hidden]{ display:none; }

/* tło i panel centrowany */
.dp-lb .dp-lb-backdrop{ position:fixed; inset:0; background:rgba(0,0,0,.92); z-index:1050; }
.dp-lb .dp-lb-panel{ position:fixed; inset:0; display:grid; place-items:center; z-index:1051; }

/* obrazek + podpis wewnątrz figury (podpis trzyma szerokość obrazka) */
.dp-lb .dp-lb-figure{
  margin:0;
  position:relative;
  max-width:min(96vw,1200px);
  width:auto;
  display:inline-block;
}
.dp-lb .dp-lb-img{
  display:block;
  max-width:96vw;
  max-height:82vh;
}

/* PODPIS – zawsze w obrysie obrazka (dół, rozszerza się gdy tekst długi) */
.dp-lb .dp-lb-caption{
  position:absolute;
  left:0; right:0; bottom:0;
  background:rgba(0,0,0,.55);
  color:#fff;
  padding:.6rem .8rem;
  line-height:1.35;
  font-size:.85rem;
}

.db-text-center {
	text-align: center !important;
}

/* sterowanie – bez ramek, tylko ikony, ciemniejsze normalnie, białe w hover */
.dp-lb .dp-lb-nav,
.dp-lb .dp-lb-close{
  position:fixed;
  width:44px; height:44px;
  border:0; background:transparent;
  color:rgba(255,255,255,.75);
  display:grid; place-items:center;
  font-size:1.6rem; line-height:1;
  z-index:1053;
  cursor:pointer;
  text-shadow:0 2px 4px rgba(0,0,0,.4);
}
.dp-lb .dp-lb-nav:hover,
.dp-lb .dp-lb-nav:focus-visible,
.dp-lb .dp-lb-close:hover,
.dp-lb .dp-lb-close:focus-visible{
  color:#fff;
  outline:none;
}

/* pozycje */
.dp-lb .dp-lb-prev{ left:1rem; top:50%; transform:translateY(-50%); }
.dp-lb .dp-lb-next{ right:1rem; top:50%; transform:translateY(-50%); }
.dp-lb .dp-lb-close{ top:.75rem; right:.75rem; font-size:1.4rem; }

/* Overlay z ikoną na hover/focus */
.dp-thumb{
  position: relative;
  display: block;
  outline: 0; /* zaufaj focus styles ikonie/overlaya */
}

.dp-thumb-overlay{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0);
  display: grid;
  place-items: center;
  opacity: 0;
  transition: background .2s ease, opacity .2s ease;
  pointer-events: none; /* nie blokuj kliknięcia w link */
}

.dp-thumb:hover .dp-thumb-overlay,
.dp-thumb:focus-visible .dp-thumb-overlay{
  opacity: 1;
  background: rgba(0,0,0,.6);
}

.dp-thumb-overlay .fa,
.dp-thumb-overlay .fa-solid,
.dp-thumb-overlay .bi{
  font-size: 1rem;
  line-height: 1;
  color: #fff;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.4));
}

/* Dwie kolumny (desktop) / jedna (mobile) + odstęp poziomy 40px */
.dp-gallery .dp-archive-columns{
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 40px; /* pkt 4 */
}
@media (max-width: 768px){
  .dp-gallery .dp-archive-columns{
    grid-template-columns: 1fr; /* pkt 1 */
    row-gap: 0;
  }
}

/* Pojedynczy element: ramka 1px, padding 20, bez tła */
.dp-gallery .dp-archive-item{
  position: relative;                 /* pkt 1 */
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px;                      /* pkt 1 */
  background: transparent;            /* pkt 2 */
  border: 1px solid #eeeeee;          /* pkt 1 */
}

/* Bazowy odstęp pod KAŻDYM kafelkiem (w tym ostatnim) */
.dp-gallery .dp-archive-col--single .dp-archive-item{
  margin-bottom: 40px;
}

/* Przerywana linia tylko między elementami (has-sep) */
.dp-gallery .dp-archive-item.has-sep::after{
  content: "";
  position: absolute;
  left: 0; right: 0;
  bottom: -20px;
  border-top: 1px dashed #d3d3d3;
}

/* Tytuł */
.dp-gallery .nav-item{
  font-weight: 600;
  color: #222222;
  text-transform: uppercase;
  margin: 0;
}
.dp-gallery .dp-archive-more{
  text-decoration: none;
  font-weight: 600;
  color: var(--link-color, var(--dp-accent, #0d6efd)); /* pkt 2 */
  padding: 0;
  display: inline;
}
.dp-gallery .dp-archive-more:hover,
.dp-gallery .dp-archive-more:focus{
  color: var(--link-hover-color, var(--dp-accent, #0d6efd));
  text-decoration: underline;
}
