/* Portrait treatment covers single-listing media and archive list cards.
   Homepage sliders and grid cards keep their existing presentation. */
:root {
    --iso-portrait-ratio: 9 / 16;
    --iso-portrait-radius: 12px;
    --iso-portrait-fallback: linear-gradient(145deg, #ffdc39 0%, #f4f5f7 54%, #FF2800 130%);
}

/* The public single-listing slider uses the dedicated 1080x1920 derivative. */
.single-at_biz_dir .directorist-single-listing-slider-wrap {
    width: min(100%, 540px) !important;
    margin-inline: auto !important;
    aspect-ratio: auto !important;
    overflow: visible;
}

.single-at_biz_dir .directorist-single-listing-slider {
    height: auto !important;
    max-height: none !important;
    aspect-ratio: var(--iso-portrait-ratio) !important;
    overflow: hidden;
    border-radius: var(--iso-portrait-radius);
    background: var(--iso-portrait-fallback);
}

.single-at_biz_dir .directorist-single-listing-slider .swiper-wrapper,
.single-at_biz_dir .directorist-single-listing-slider .swiper-slide {
    height: 100% !important;
}

.single-at_biz_dir .directorist-single-listing-slider .swiper-slide img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center !important;
}

/* Directorist's list-view flex row otherwise stretches the media column to
   the shorter content column at desktop widths. Let the existing media width
   resolve its own 9:16 height instead. */
@media (min-width: 576.99px) {
    .directorist-content-active .directorist-archive-contents .directorist-listing-single.directorist-listing-list .directorist-listing-single__thumb {
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: var(--iso-portrait-ratio);
        align-self: flex-start;
    }
}

/* Upload previews retain the same ratio as the final single-listing gallery,
   but the original uploaded source remains untouched for homepage cards. */
.directorist-form-image-upload-field .ez-media-uploader.ezmu--show {
    margin-bottom: clamp(230px, 54vw, 340px);
}

.directorist-form-image-upload-field .ezmu__thumbnail-list-item,
.directorist-form-image-upload-field .ezmu__thumbnail-list-item_back {
    width: 135px !important;
    min-width: 135px !important;
    height: auto !important;
    aspect-ratio: var(--iso-portrait-ratio) !important;
    overflow: hidden;
    border-radius: 8px;
    background: var(--iso-portrait-fallback);
}

.directorist-form-image-upload-field .ezmu__thumbnail-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}

.plupload-thumbs .thumb {
    width: 135px !important;
    height: auto !important;
    aspect-ratio: var(--iso-portrait-ratio) !important;
    overflow: hidden;
}

.plupload-thumbs .thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.dd-lcv-form-preview {
    width: min(100%, 260px);
    max-width: 260px;
    aspect-ratio: var(--iso-portrait-ratio);
}

.dd-lcv-form-preview video {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
}

/* The redeemable deal overlay exists only on a single listing. */
.single-at_biz_dir .iso-deal-card__image {
    width: min(100%, 270px);
    margin-inline: auto;
    padding: 0 !important;
    aspect-ratio: var(--iso-portrait-ratio);
    overflow: hidden;
    background: var(--iso-portrait-fallback);
}

.single-at_biz_dir .iso-deal-card__image img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center !important;
}

@media (max-width: 767px) {
    .single-at_biz_dir .directorist-single-listing-slider-wrap {
        width: min(100%, 430px) !important;
    }
}

@media (max-width: 575px) {
    .directorist-form-image-upload-field .ez-media-uploader .ezmu__preview-section.ezmu--show {
        align-items: flex-start;
    }
}
