.dtp-page{background:#f8f8f6;color:#111;min-height:70vh}.dtp-hero{display:flex;justify-content:space-between;gap:3rem;align-items:end;padding-top:clamp(4rem,9vw,8rem);padding-bottom:3rem;border-bottom:1px solid #dededb}.dtp-hero h1,.dtp-detail h1{font-size:clamp(3.2rem,8vw,7rem);letter-spacing:-.07em;line-height:1.02;margin:.5rem 0 1rem}.dtp-hero h1 span,.dtp-detail h1 span{color:#b6a28b}.dtp-hero p:not(.eyebrow){max-width:530px;line-height:1.7}.dtp-stats{min-width:135px;border-left:1px solid #ccc;padding-left:1.4rem;display:grid;gap:.2rem}.dtp-stats strong{font-size:2rem;line-height:1.2}.dtp-stats span{font-size:.7rem;letter-spacing:.12em;margin-bottom:1rem}.dtp-list{padding-top:1.7rem;padding-bottom:6rem}.dtp-filters{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:1.5rem}.dtp-filter{cursor:pointer;border:1px solid #d6d6d3;background:transparent;color:#111;padding:.65rem 1.05rem;border-radius:100px;font:inherit;font-size:.8rem}.dtp-filter.is-active,.dtp-filter:hover{background:#111;color:white}.dtp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}.dtp-card{min-width:0}.dtp-card--featured{grid-column:span 2}.dtp-card[hidden]{display:none!important}.dtp-card a{display:block;color:inherit;text-decoration:none}.dtp-card__image{aspect-ratio:4/3;overflow:hidden;background:#e9e7e3}.dtp-card--featured .dtp-card__image{aspect-ratio:8/3}.dtp-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.dtp-card a:hover img{transform:scale(1.035)}.dtp-card__info{display:grid;gap:.2rem;padding:1rem .2rem 1.4rem}.dtp-card__meta{font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;color:#666}.dtp-card h2{font-size:clamp(1.1rem,1.6vw,1.5rem);letter-spacing:-.035em;margin:0}.dtp-card__count{font-size:.75rem;color:#666}.dtp-card__count span{float:right;color:#111}.dtp-more{display:block;margin:2rem auto 0;border:1px solid #111;background:#111;color:white;padding:1rem 1.5rem;cursor:pointer;font:inherit}.dtp-more[hidden]{display:none}.dtp-detail{padding-top:4rem;padding-bottom:6rem}.dtp-back,.dtp-detail__footer a{color:inherit;text-decoration:none;font-size:.9rem}.dtp-detail__head{padding:3rem 0}.dtp-detail__head p:last-child{color:#666}.dtp-detail__gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.dtp-detail__photo{border:0;padding:0;background:#e8e7e5;cursor:zoom-in;min-width:0}.dtp-detail__photo img{width:100%;height:auto;display:block}.dtp-detail__footer{padding-top:3rem}@media(max-width:800px){.dtp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dtp-card--featured{grid-column:span 2}}@media(max-width:580px){.dtp-hero{display:block;padding-top:3rem}.dtp-stats{display:flex;align-items:center;gap:.8rem;border-left:0;border-top:1px solid #ddd;padding:1rem 0 0;margin-top:1.5rem}.dtp-stats strong{font-size:1.4rem}.dtp-stats span{margin:0}.dtp-grid{grid-template-columns:1fr}.dtp-card--featured{grid-column:auto}.dtp-card--featured .dtp-card__image{aspect-ratio:4/3}.dtp-detail__gallery{grid-template-columns:1fr}.dtp-detail{padding-top:2rem}}@media(prefers-reduced-motion:reduce){.dtp-card img{transition:none}}


/* --- AndrewDesign DTP 0.9.3 refinements --- */
.dtp-card img,
.dtp-detail__lead-media img,
.dtp-detail__photo img {
	object-position: center center;
}

.dtp-card--featured .dtp-card__image {
	aspect-ratio: 16 / 10;
}

.dtp-detail__head {
	padding: 2.5rem 0 1.25rem;
}

.dtp-detail__heading {
	max-width: 62rem;
}

.dtp-detail__lead-text {
	font-size: 1.02rem;
	color: #5b6670;
}

.dtp-detail__description {
	max-width: 70ch;
	color: #394652;
	line-height: 1.8;
	margin-bottom: 2rem;
}

.dtp-detail__description > * + * {
	margin-top: .9rem;
}

.dtp-detail__lead-media {
	margin: 0 0 2rem;
	aspect-ratio: 16 / 10;
	border-radius: 1.25rem;
	overflow: hidden;
	background: #e8e7e5;
	border: 1px solid #dfddd8;
}

.dtp-detail__lead-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.dtp-detail__gallery-wrap {
	margin-top: 1rem;
}

.dtp-detail__section-head {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 1rem;
	margin-bottom: 1rem;
}

.dtp-detail__section-head h2 {
	margin: 0;
	font-size: clamp(1.35rem, 2.4vw, 2rem);
	letter-spacing: -.03em;
}

.dtp-detail__section-head p {
	margin: 0;
	max-width: 42rem;
	color: #60707d;
}

.dtp-detail__gallery {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.dtp-detail__photo {
	aspect-ratio: 4 / 3;
	border-radius: 1rem;
	overflow: hidden;
	border: 1px solid #dfddd8;
	position: relative;
	transition: transform .25s ease, box-shadow .25s ease;
}

.dtp-detail__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.dtp-detail__photo:hover {
	transform: translateY(-2px);
	box-shadow: 0 18px 30px -24px rgba(0,0,0,.45);
}

.dtp-detail__lightbox-entry {
	padding-top: 1.25rem;
}

.dtp-detail__open-first {
	border: 1px solid #111;
	background: #111;
	color: #fff;
	padding: .95rem 1.25rem;
	border-radius: 999px;
	font: inherit;
	cursor: pointer;
}

@media (max-width: 920px) {
	.dtp-detail__gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.dtp-detail__section-head {
		display: block;
	}
	.dtp-detail__section-head p {
		margin-top: .45rem;
	}
}

@media (max-width: 580px) {
	.dtp-card--featured .dtp-card__image,
	.dtp-detail__lead-media,
	.dtp-detail__photo {
		aspect-ratio: 4 / 3;
	}
	.dtp-detail__gallery {
		grid-template-columns: 1fr;
	}
	.dtp-detail__description {
		font-size: .98rem;
	}
}

/* Podgląd DTP mieści obraz, opis i kontrolki także w niskim viewporcie. */
.dtp-detail__open-lead {
  display: block; width: 100%; height: 100%; padding: 0; border: 0;
  background: transparent; cursor: zoom-in;
}
.dtp-detail__lead-media img { object-fit: contain; }
.dtp-detail h1, .dtp-hero h1 { overflow-wrap: anywhere; }
.dtp-lightbox[hidden], .dtp-lightbox [hidden] { display: none !important; }
.dtp-lightbox {
  position: fixed; inset: 0; z-index: 99999; box-sizing: border-box;
  height: 100vh; height: 100dvh; display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  grid-template-rows: 44px minmax(0, 1fr);
  gap: 12px; color: white; background: rgba(10, 12, 16, .96);
  padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
}
.dtp-lightbox button {
  width: 44px; height: 44px; border: 1px solid #ffffff55;
  border-radius: 100px; background: #ffffff1a; color: white;
  cursor: pointer; font-size: 1.4rem;
}
.dtp-lightbox__close { grid-column: 3; grid-row: 1; }
.dtp-lightbox__counter { grid-column: 1 / 3; grid-row: 1; align-self: center; }
.dtp-lightbox__prev { grid-column: 1; grid-row: 2; align-self: center; }
.dtp-lightbox__next { grid-column: 3; grid-row: 2; align-self: center; }
.dtp-lightbox__figure {
  grid-column: 2; grid-row: 2; min-width: 0; min-height: 0;
  margin: 0; display: flex; flex-direction: column; align-items: center; gap: 12px;
}
.dtp-lightbox__image { display: block; width: 100%; height: 100%; min-height: 0; flex: 1; object-fit: contain; }
.dtp-lightbox__caption { flex: 0 1 auto; max-height: 25%; overflow: auto; overflow-wrap: anywhere; text-align: center; }
.dtp-lightbox :focus-visible, .dtp-detail button:focus-visible { outline: 3px solid #c99862; outline-offset: -3px; }
@media (max-width: 580px) {
  .dtp-lightbox { grid-template-columns: 44px minmax(0, 1fr) 44px; grid-template-rows: 44px minmax(0, 1fr) 44px; }
  .dtp-lightbox__figure { grid-column: 1 / -1; }
  .dtp-lightbox__prev, .dtp-lightbox__next { grid-row: 3; }
}
@media (prefers-reduced-motion: reduce) {
  .dtp-detail__photo, .dtp-card img { transition: none; transform: none; }
  .dtp-detail__photo:hover, .dtp-card a:hover img { transform: none; }
}
