/* Red Hana Tours V2 - reusable image system */
.media {
    display: block;
    width: 100%;
    overflow: hidden;
    background: var(--color-sand-light, #FAEFE1);
}

.media > img,
img.media {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
}

.rht-v2-home .media > img,
.rht-v2-home img.media {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
}

.media > img {
    object-fit: cover;
    object-position: var(--media-position, center);
}

.media--hero-full {
    height: 100%;
    min-height: 100%;
}

.media--hero-full > img {
    object-fit: cover;
    object-position: var(--media-position, center);
    transform: scale(1.015);
}

.media--page-banner {
    aspect-ratio: 21 / 9;
}

.media--article {
    aspect-ratio: 16 / 9;
}

.media--service-card,
.media--excursion-card,
.media--circuit-card,
.media--blog-card {
    aspect-ratio: 16 / 10;
    min-height: 188px;
}

.media--service-card > img,
.media--excursion-card > img,
.media--circuit-card > img,
.media--blog-card > img,
.media--article > img {
    object-fit: cover;
}

.media--vehicle {
    aspect-ratio: 16 / 10;
    background: #171411;
}

.media--vehicle > img {
    object-fit: cover;
    object-position: var(--media-position, center 58%);
    padding: 0;
}

.media--destination {
    height: 100%;
    min-height: 0;
}

.media--destination > img {
    object-fit: cover;
}

.media--testimonial,
.media--gallery {
    aspect-ratio: 4 / 5;
    background: #171411;
}

.media--testimonial > img,
.media--gallery > img {
    object-fit: cover;
}

.media--thumb {
    aspect-ratio: 1;
}

.media--thumb > img {
    object-fit: cover;
}

.rht-v2-home .hero-slide {
    background-image: none !important;
}

.rht-v2-home .hero-slide .media {
    height: 100%;
}

.rht-v2-home .excursion-card .excursion-img {
    height: auto;
    background-image: none !important;
    background-size: initial;
    background-position: initial;
    border-bottom: 1px solid var(--color-line);
}

.rht-v2-home .fleet-card > .media {
    border-bottom: 1px solid var(--color-line);
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden;
}

.rht-v2-home .fleet-card > .media img {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
}

.rht-v2-home .destination-card > .media {
    position: absolute;
    inset: 0;
}

.rht-v2-home .destination-card > .media img {
    height: 100% !important;
}

.rht-v2-home .destination-card > .media img,
.rht-v2-home .voyageur-card > .media img,
.rht-v2-home .excursion-card .media img {
    transition: transform var(--duration-slow) var(--ease-standard);
}

.rht-v2-home .voyageur-card > .media img {
    transform: scale(1.035);
    height: 100% !important;
    max-height: none !important;
}

.rht-v2-home .destination-card:hover > .media img,
.rht-v2-home .voyageur-card:hover > .media img,
.rht-v2-home .excursion-card:hover .media img {
    transform: scale(1.06);
}

.rht-v2-home .voyageur-card > .media {
    height: 100%;
    min-height: 0 !important;
    overflow: hidden;
}

.media--excursion-hero {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    border-radius: 0;
    aspect-ratio: auto;
}

.media--excursion-hero > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 42%;
}

.media--excursion-gallery {
    aspect-ratio: 4 / 3;
    min-height: 260px;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}

.media--excursion-gallery > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rht-v2-excursion .excursion-gallery {
    display: grid;
    grid-template-columns: 1.35fr 1fr;
    gap: 18px;
}
