/**
 * Custom Tour Card Styles
 * Ensures all tour cards have equal height regardless of content
 */

/* Make all tour items in a row have the same height */
.tours-one .row {
    display: flex;
    flex-wrap: wrap;
}

.tours-one .row > [class*="col-"] {
    display: flex;
    flex-direction: column;
}

/* Ensure the tour item fills the column height */
.tours-one__item {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 500px; /* Consistent minimum height */
}

/* Fix image height to be consistent */
.tours-one__item img {
    width: 100%;
    height: 500px !important; /* Fixed height for all images */
    min-height: 500px !important;
    max-height: 500px !important;
    object-fit: cover;
    flex-shrink: 0; /* Prevent image from shrinking */
}

/* Content area adjustments */
.tours-one__item__content {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

/* Title height control - prevent overflow */
.tours-one__item__title {
    display: -webkit-box;
    -webkit-line-clamp: 2; /* Limit to 2 lines */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 64px; /* 2 lines * 32px line-height */
    max-height: 64px;
}

/* Meta info consistent spacing */
.tours-one__item__meta {
    min-height: 24px; /* Ensures consistent spacing */
}

/* Responsive adjustments */
@media (max-width: 1199px) {
    .tours-one__item {
        min-height: 450px;
    }

    .tours-one__item img {
        height: 350px !important;
        min-height: 350px !important;
        max-height: 350px !important;
    }
}

@media (max-width: 767px) {
    .tours-one__item {
        min-height: 400px;
    }

    .tours-one__item img {
        height: 300px !important;
        min-height: 300px !important;
        max-height: 300px !important;
    }

    .tours-one__item__title {
        font-size: 20px;
        line-height: 28px;
        min-height: 56px;
        max-height: 56px;
    }
}

.tours-one--page .tours-one__item__btn {
    position: relative;
    right: auto;
    bottom: auto;
    margin-top: 20px;
    padding: 0 30px 30px;
    opacity: 1;
    visibility: visible;
}

.tours-one--page .tours-one__item__btn .travhub-btn {
    width: 100%;
    opacity: 1;
    visibility: visible;
    transform: none;
}

/* Grid gap consistency */
.gutter-y-24 {
    margin-top: -24px;
}

.gutter-y-24 > [class*="col-"] {
    margin-top: 24px;
}

.gutter-x-24 {
    margin-left: -12px;
    margin-right: -12px;
}

.gutter-x-24 > [class*="col-"] {
    padding-left: 12px;
    padding-right: 12px;
}
