/**
 * Traumhaus centered Swiper — mechanics + image crop only.
 * Card typography, spacing, and layout use Tailwind on the markup (Pinegrow SST).
 * Re-export tailwind_theme/tailwind.css from Pinegrow when you add new utility classes.
 */

.listings-centered-slider {
    --listing-image-h: 17rem;
    position: relative;
    width: 100%;
}

.listings-centered-slider .swiper {
    position: relative;
    overflow: hidden;
    width: 100%;
    padding: 0.5rem 0 2rem;
}

.listings-centered-slider .swiper-wrapper {
    align-items: stretch;
}

.listings-centered-slider .swiper-slide {
    width: 88%;
    height: auto;
    box-sizing: border-box;
}

.listings-centered-slider .swiper-slide .listing-centered-card {
    height: 100%;
    width: 100%;
    opacity: 1;
    transform: none;
}

.listings-centered-slider .swiper-slide-active .listing-centered-card {
    box-shadow: 0 20px 48px rgba(26, 39, 68, 0.18);
}

.listings-centered-slider .listing-centered-card__media {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    max-height: var(--listing-image-h);
    overflow: hidden;
    background: #0f1a2e;
}

.listings-centered-slider .listing-centered-card__media img {
    position: absolute;
    inset: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.listings-centered-slider .traumhaus-price {
    white-space: nowrap;
}

@media (min-width: 768px) {
    .listings-centered-slider {
        --listing-image-h: 19rem;
    }

    .listings-centered-slider .swiper-slide {
        width: 32%;
    }
}

@media (min-width: 1280px) {
    .listings-centered-slider {
        --listing-image-h: 21rem;
    }
}

.listings-centered-slider__nav {
    position: absolute;
    top: 0.5rem;
    left: 0;
    z-index: 60;
    pointer-events: none;
}

.listings-centered-slider .swiper-nav-btn {
    position: absolute;
    top: 50%;
    z-index: 61;
    display: flex;
    height: 2.75rem;
    width: 2.75rem;
    align-items: center;
    justify-content: center;
    border: 0;
    margin: 0;
    padding: 0;
    background: #fff;
    color: #1a2744;
    box-shadow: 0 2px 14px rgba(26, 39, 68, 0.16);
    cursor: pointer;
    pointer-events: auto;
    -webkit-tap-highlight-color: transparent;
}

.listings-centered-slider .swiper-nav-btn--prev {
    left: 0;
    transform: translate(-50%, -50%);
}

.listings-centered-slider .swiper-nav-btn--next {
    right: 0;
    left: auto;
    transform: translate(50%, -50%);
}

.listings-centered-slider .swiper-nav-btn:hover {
    background: #f7f2e8;
}

.listings-centered-slider .swiper-nav-btn:disabled,
.listings-centered-slider .swiper-nav-btn[aria-disabled='true'] {
    opacity: 0.35;
    cursor: not-allowed;
    pointer-events: none;
}
