/* Masaüstünde görünür alanı boşluksuz dört eşit villa kartına böler. */
.hvs-showcase {
    padding: 58px 0 54px !important;
}

.hvs-shell {
    width: min(1600px, calc(100% - 40px)) !important;
}

.hvs-showcase-head {
    margin-bottom: 18px !important;
}

.hvs-tabs {
    padding-bottom: 14px !important;
}

.hvs-rail {
    gap: 16px !important;
    padding: 4px 1px 20px !important;
    touch-action: pan-y !important;
    user-select: none !important;
    -webkit-user-select: none !important;
}

.hvs-rail.dragging,
.hvs-rail.dragging * {
    cursor: grabbing !important;
}

.hvs-photo,
.hvs-photo img {
    -webkit-user-drag: none !important;
}

.hvs-card {
    flex: 0 0 calc((100% - 48px) / 4) !important;
    min-width: 0 !important;
    border-radius: 20px !important;
}

.hvs-photo {
    height: clamp(205px, 15vw, 245px) !important;
}

.hvs-photo-copy h3 {
    font-size: 18px !important;
}

.hvs-body {
    padding: 14px !important;
}

.hvs-specs span {
    padding: 8px 6px !important;
}

.hvs-price {
    padding: 13px 1px !important;
}

.hvs-price strong {
    font-size: 20px !important;
}

.hvs-arrow.prev {
    left: -17px !important;
}

.hvs-arrow.next {
    right: -17px !important;
}

@media (max-width: 1100px) {
    .hvs-card {
        flex-basis: calc((100% - 32px) / 3) !important;
    }
}

@media (max-width: 800px) {
    .hvs-shell {
        width: calc(100% - 28px) !important;
    }

    .hvs-card {
        flex-basis: calc((100% - 16px) / 2) !important;
    }
}

@media (max-width: 560px) {
    .hvs-showcase {
        padding: 42px 0 !important;
    }

    .hvs-shell {
        width: calc(100% - 22px) !important;
    }

    .hvs-card {
        flex-basis: 88vw !important;
    }

    .hvs-photo {
        height: 235px !important;
    }
}
