/* ODI — elegancki status wygaszający oferty (miniatura + treść) */

.odi-listing-status-media {
	position: relative;
}

.odi-listing-status-media > img,
.odi-listing-status-media .odi-card-thumb-img,
.odi-listing-status-media .odi-card-img,
.odi-listing-status-media .odi-main-photo {
	filter: grayscale(100%) brightness(0.72);
	opacity: 0.88;
	transition: filter 0.25s ease, opacity 0.25s ease;
}

.odi-listing-status-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 12px;
	background: rgba(43, 47, 51, 0.42);
	z-index: 26;
	pointer-events: none;
}

.odi-status-age {
	position: absolute;
	left: 8px;
	bottom: 8px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 1px;
	max-width: calc(50% - 10px);
	padding: 5px 8px 4px;
	background: rgba(43, 47, 51, 0.94);
	color: #fff;
	border: 1px solid var(--odi-status-color, #6FBE73);
	border-radius: 3px;
	z-index: 30;
	line-height: 1.15;
}

.odi-status-age__word {
	font-size: 7px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	opacity: 0.88;
	white-space: nowrap;
}

.odi-status-age__when {
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	white-space: nowrap;
}

.odi-status-age__left {
	font-size: 8px;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--odi-status-color, #6FBE73);
	text-transform: none;
}

.odi-listing-status--sprzedane .odi-status-age,
.odi-listing-status--wynajete .odi-status-age {
	border-color: var(--odi-status-color);
}

.odi-listing-status-label {
	display: inline-block;
	max-width: 100%;
	padding: 10px 16px;
	background: rgba(43, 47, 51, 0.94);
	color: #fff;
	font-size: 15px;
	font-weight: 900;
	line-height: 1.15;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-align: center;
	border-radius: 4px;
	border: 2px solid var(--odi-status-color, rgba(255, 255, 255, 0.14));
}

.odi-main-photo-wrap .odi-listing-status-label {
	font-size: 22px;
	padding: 14px 22px;
}

/* Kolory obramowania wg statusu */
.odi-listing-status--sprzedane { --odi-status-color: #6FBE73; }
.odi-listing-status--wynajete { --odi-status-color: #3A6B8C; }
.odi-listing-status--wycofane { --odi-status-color: #8A9196; }
.odi-listing-status--umowa_przedwstepna { --odi-status-color: #1E6B34; }
.odi-listing-status--rezerwacja { --odi-status-color: #D3212B; }
.odi-listing-status--oferta_zawieszona { --odi-status-color: #8A9196; }

.odi-listing-has-status.odi-card,
.odi-listing-has-status.odi-archive-card {
	box-shadow: inset 0 0 0 2px var(--odi-status-color, #555D61);
}

.odi-listing-has-status .odi-listing-status-label {
	border-width: 2px;
	border-style: solid;
}

.odi-listing-status--sprzedane .odi-listing-status-label { border-color: #6FBE73; }
.odi-listing-status--wynajete .odi-listing-status-label { border-color: #3A6B8C; }
.odi-listing-status--wycofane .odi-listing-status-label { border-color: #8A9196; }
.odi-listing-status--umowa_przedwstepna .odi-listing-status-label { border-color: #1E6B34; }
.odi-listing-status--rezerwacja .odi-listing-status-label { border-color: #D3212B; }
.odi-listing-status--oferta_zawieszona .odi-listing-status-label { border-color: #8A9196; }

.odi-listing-has-status .odi-listing-status-media {
	box-shadow: inset 0 0 0 3px var(--odi-status-color, #555D61);
}

.odi-listing-has-status .odi-main-photo-wrap.odi-listing-status-media {
	border-radius: 6px;
}

/* Miniatury galerii — ten sam efekt */
.odi-listing-has-status .odi-thumb-item img {
	filter: grayscale(100%) brightness(0.78);
	opacity: 0.82;
}

/* Treść oferty — odcienie szarości */
.odi-listing-has-status .odi-listing-muted {
	filter: grayscale(1);
	opacity: 0.78;
}

.odi-listing-has-status .odi-listing-muted .odi-card-price,
.odi-listing-has-status .odi-listing-muted .odi-property-price,
.odi-listing-has-status .odi-listing-muted .odi-property-title {
	opacity: 0.9;
}

/* Katalog archiwum */
.odi-archive-card.odi-listing-has-status .odi-card-content-wrap,
.odi-archive-card.odi-listing-has-status .odi-card-action-wrap {
	filter: grayscale(1);
	opacity: 0.78;
}

/* Panel agenta */
.odi-card.odi-listing-has-status .odi-card-body,
.odi-card.odi-listing-has-status .odi-card-footer {
	filter: grayscale(1);
	opacity: 0.78;
}

.odi-card.odi-listing-has-status .odi-card-media:has(.odi-listing-status-overlay) .odi-badge-readonly,
.odi-card.odi-listing-has-status .odi-card-media:has(.odi-listing-status-overlay) .odi-card-new {
	opacity: 0.65;
}

/* Hover — lekko ożyw miniaturę, treść zostaje stonowana */
.odi-archive-card.odi-listing-has-status:hover .odi-card-thumb-img,
.odi-card.odi-listing-has-status:hover .odi-card-img,
.odi-listing-has-status .odi-main-photo-wrap:hover .odi-main-photo {
	filter: grayscale(70%) brightness(0.82);
	opacity: 0.94;
}

/* Etykiety: czarny środek, białe napisy, kolorowa ramka */
.odi-chip {
	display: inline-flex;
	align-items: center;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 3px 7px;
	border-radius: 3px;
	line-height: 1.2;
	white-space: nowrap;
	background: #2B2F33;
	color: #fff;
	border: 1px solid #555D61;
}
.odi-chip--outline {
	background: #2B2F33;
	color: #fff;
}
.odi-chip--nowosc { border-color: #C9A227; }
.odi-chip--okazja { border-color: #D3212B; }
.odi-chip--wylacznosc { border-color: #3A6B8C; }
.odi-chip--0_prowizji { border-color: #1E6B34; }
.odi-chip--przyjazna_zwierzetam { border-color: #4F7A57; }
.odi-chip--przyjazna_dzieciom { border-color: #C45C26; }
.odi-chip--przyjazne_mlodym { border-color: #6B4C9A; }

/* Nakładka miniatury: warstwy ID / status / etykiety */
.odi-photo-chrome,
.odi-photo-chrome-flags,
.odi-photo-chrome-top {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.odi-photo-chrome {
	z-index: 28;
}

.odi-photo-chrome-flags {
	z-index: 20;
}

.odi-photo-chrome-top {
	z-index: 30;
}

.odi-photo-chrome-top .odi-status-age {
	position: absolute;
	left: 8px;
	bottom: 8px;
	z-index: 1;
}
.odi-photo-id {
	position: absolute;
	top: 8px;
	left: 8px;
	background: rgba(43, 47, 51, 0.94);
	color: #fff;
	font-size: 10px;
	font-weight: 800;
	padding: 3px 7px;
	border-radius: 3px;
	border-left: 3px solid #D3212B;
}
.odi-photo-cat {
	position: absolute;
	top: 8px;
	right: 8px;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	background: rgba(43, 47, 51, 0.92);
	color: #fff;
	font-size: 10px;
	font-weight: 800;
	padding: 4px 8px;
	border-radius: 3px;
	letter-spacing: 0.02em;
	max-width: calc(100% - 88px);
}
.odi-photo-cat-label {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.odi-photo-flags {
	position: absolute;
	top: auto;
	right: 6px;
	bottom: 6px;
	left: auto;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: flex-end;
	gap: 3px;
	max-width: none;
	width: auto;
}
.odi-photo-flag {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	padding: 2px 5px;
	border-radius: 3px;
	background: #2B2F33;
	color: #fff;
	font-size: 8px;
	font-weight: 800;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	border: 1px solid #555D61;
	white-space: nowrap;
}
.odi-photo-flag .odi-mono-svg {
	width: 10px;
	height: 10px;
	color: #fff;
	fill: currentColor;
}
.odi-photo-flag--nowosc { border-color: #C9A227; color: #fff; background: #2B2F33; }
.odi-photo-flag--okazja { border-color: #D3212B; color: #fff; background: #2B2F33; }
.odi-photo-flag--wylacznosc { border-color: #3A6B8C; color: #fff; background: #2B2F33; }

.odi-photo-chrome--slider .odi-photo-id { font-size: 8px; padding: 2px 5px; }
.odi-photo-chrome--slider .odi-photo-cat {
	padding: 4px;
	max-width: none;
}
.odi-photo-chrome--slider .odi-photo-flag {
	padding: 4px;
}
.odi-photo-chrome--slider .odi-photo-flags { top: auto; bottom: 6px; right: 6px; }

.odi-main-photo-wrap .odi-photo-flags { top: auto; bottom: 42px; }
.odi-card-thumb-wrap .odi-card-id-badge,
.odi-main-photo-wrap .odi-main-photo-badge { display: none; }

@media (prefers-reduced-motion: reduce) {
	.odi-listing-status-media > img,
	.odi-listing-status-media .odi-card-thumb-img,
	.odi-listing-status-media .odi-card-img,
	.odi-listing-status-media .odi-main-photo,
	.odi-archive-card:hover .odi-card-thumb-img,
	.odi-listing-has-status .odi-main-photo-wrap:hover .odi-main-photo {
		transition: none;
		transform: none;
	}
}

