/* ABe Auto – Samochody */
:root {
	--abe-red: #e94849;
	--abe-box: #111111;
	--abe-line: #000000;
	--abe-text: #ffffff;
	--abe-muted: #bdbdbd;
}

.abe-cars, .abe-single { color: var(--abe-text); }
.abe-cars img, .abe-single img { max-width: 100%; height: auto; display: block; }

/* ---------- Filtry ---------- */
.abe-filters {
	display: flex; flex-wrap: wrap; gap: 14px 32px;
	margin: 0 0 40px; padding: 18px 22px;
	background: var(--abe-box); border-radius: 16px;
}
.abe-filter-group { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.abe-filter-label { font-family: Poppins, sans-serif; font-weight: 600; font-size: 14px; margin-right: 4px; }
.abe-filter-group button {
	font: 500 13px/1 Poppins, sans-serif; color: var(--abe-text);
	background: transparent; border: 1px solid #3a3a3a; border-radius: 50px;
	padding: 9px 16px; cursor: pointer; transition: background .2s, border-color .2s;
}
.abe-filter-group button:hover { border-color: var(--abe-red); }
.abe-filter-group button.is-active { background: var(--abe-red); border-color: var(--abe-red); }

/* ---------- Karta na liście ---------- */
.abe-list { display: flex; flex-direction: column; }
.abe-card {
	display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: center;
	padding: 40px 0; border-bottom: 1px solid var(--abe-red);
}
.abe-card:first-child { padding-top: 0; }
.abe-card:last-child { border-bottom: 0; }
.abe-card[hidden] { display: none; }
.abe-card-img { position: relative; display: block; border-radius: 30px; overflow: hidden; aspect-ratio: 16 / 10; background: var(--abe-box); }
.abe-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.abe-card-img:hover img { transform: scale(1.04); }
.abe-card-body .mt-btn { margin-top: 14px; }

.abe-naped-badge, .abe-sold-badge {
	position: absolute; top: 16px; font: 600 12px/1 Poppins, sans-serif;
	letter-spacing: .04em; text-transform: uppercase; padding: 8px 12px; border-radius: 50px;
}
.abe-naped-badge { left: 16px; background: rgba(0, 0, 0, .7); color: #fff; }
.abe-sold-badge { right: 16px; background: var(--abe-red); color: #fff; z-index: 2; }
.abe-card.is-sold .abe-card-img img, .abe-single-img.is-sold img { filter: grayscale(.85) brightness(.75); }

/* ---------- Kafelki parametrów ---------- */
.abe-params { display: grid; grid-template-columns: 1fr 1fr; }
.abe-param {
	display: flex; align-items: center; gap: 12px;
	background: var(--abe-box); border: 1px solid var(--abe-line); padding: 10px 12px; min-height: 56px;
}
.abe-param i { font-size: 30px; line-height: 1; width: 32px; text-align: center; flex: 0 0 32px; color: #fff; }
.abe-param-label { display: block; font: 700 14px/1.25 Poppins, sans-serif; }
.abe-param-value { display: block; font-size: 13px; line-height: 1.35; color: #fff; }
.abe-p-name .abe-param-label { font-size: 15px; }
.abe-p-price .abe-param-value { color: #fff; font-weight: 600; }

/* ---------- Strona auta ---------- */
.abe-single { padding: 80px 0 40px; }
.abe-single-top { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: center; }
.abe-single-img { position: relative; border-radius: 30px; overflow: hidden; }
.abe-single-img a { display: block; }
.abe-single-img img { width: 100%; aspect-ratio: 8 / 7; object-fit: cover; }
.abe-naped-tag {
	display: inline-block; font: 600 12px/1 Poppins, sans-serif; letter-spacing: .05em;
	padding: 7px 12px; border: 1px solid var(--abe-red); border-radius: 50px; margin-bottom: 14px;
}
.abe-single-title { font: 600 42px/1.15 Poppins, sans-serif; color: #fff; margin: 0; }
.abe-divider { display: block; width: 70px; height: 1px; background: var(--abe-red); margin: 22px 0 24px; }
.abe-divider-center { margin-left: auto; margin-right: auto; }
.abe-single-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; align-items: center; }
.abe-btn-outline.mt-btn { background: transparent !important; border: 1px solid var(--abe-red); }
.abe-btn-outline.mt-btn:hover { background: var(--abe-red) !important; }
.abe-sold-note { width: 100%; margin: 0; color: var(--abe-muted); font-size: 14px; }

.abe-single-desc { margin-top: 50px; font-size: 15px; line-height: 1.7; }
.abe-single-desc p { margin: 0 0 14px; }

.abe-gallery-grid {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 40px;
}
.abe-gallery-grid a { display: block; border-radius: 14px; overflow: hidden; aspect-ratio: 3 / 2; background: var(--abe-box); }
.abe-gallery-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease, opacity .35s; }
.abe-gallery-grid a:hover img { transform: scale(1.05); opacity: .9; }

.abe-cta { text-align: center; margin: 70px auto 0; max-width: 720px; }
.abe-cta h3 { font: 600 36px/1.2 Poppins, sans-serif; color: #fff; margin: 0; }
.abe-cta .abe-divider { margin-top: 18px; margin-bottom: 18px; }
.abe-cta p { margin: 0 0 22px; }

.abe-empty, .abe-no-results { text-align: center; padding: 30px 0; color: var(--abe-muted); }

/* ---------- Lightbox ---------- */
.abe-lightbox {
	position: fixed; inset: 0; z-index: 999999; background: rgba(0, 0, 0, .94);
	display: flex; align-items: center; justify-content: center; touch-action: pan-y;
}
.abe-lightbox[hidden] { display: none; }
.abe-lightbox img { max-width: 92vw; max-height: 86vh; object-fit: contain; border-radius: 8px; user-select: none; }
.abe-lightbox button {
	position: absolute; background: rgba(255, 255, 255, .08); color: #fff; border: 0;
	width: 52px; height: 52px; border-radius: 50%; font-size: 26px; line-height: 52px;
	cursor: pointer; display: flex; align-items: center; justify-content: center;
}
.abe-lightbox button:hover { background: var(--abe-red); }
.abe-lb-close { top: 20px; right: 20px; }
.abe-lb-prev { left: 20px; top: 50%; transform: translateY(-50%); }
.abe-lb-next { right: 20px; top: 50%; transform: translateY(-50%); }
.abe-lb-count { position: absolute; bottom: 22px; left: 0; right: 0; text-align: center; font: 500 14px Poppins, sans-serif; color: #ccc; }

/* ---------- Responsywność ---------- */
@media (max-width: 991px) {
	.abe-card, .abe-single-top { grid-template-columns: 1fr; }
	.abe-single-title { font-size: 32px; }
	.abe-gallery-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 575px) {
	.abe-filters { padding: 14px; gap: 12px; }
	.abe-params { grid-template-columns: 1fr 1fr; }
	.abe-param { padding: 8px; gap: 8px; }
	.abe-param i { font-size: 24px; width: 26px; flex-basis: 26px; }
	.abe-param-label { font-size: 13px; }
	.abe-param-value { font-size: 12px; }
	.abe-single { padding-top: 50px; }
	.abe-single-title { font-size: 28px; }
	.abe-gallery-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.abe-cta h3 { font-size: 28px; }
	.abe-lightbox button.abe-lb-prev, .abe-lightbox button.abe-lb-next { width: 42px; height: 42px; top: auto; bottom: 14px; transform: none; }
}
