/**
 * JobSure Card Equalizer
 * Ensures all job cards have the same size in the public panel
 */

/* Equal height for all cards */
.offer-card,
.card.h-100,
.card.hover-card,
.job-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 350px !important;
}

/* Equal image height - STRICT */
.offer-card .card-img-top,
.card.h-100 .card-img-top,
.card.hover-card .card-img-top,
.card .position-relative img,
.offer-image,
.job-card .card-img-top {
    height: 180px !important;
    object-fit: cover !important;
    width: 100% !important;
}

/* Force image container to fixed height */
.offer-card .position-relative,
.card.h-100 .position-relative,
.card.hover-card .position-relative,
.card .position-relative {
    height: 180px !important;
    overflow: hidden !important;
}

/* Equal card body height */
.offer-card .card-body,
.card.h-100 .card-body,
.card.hover-card .card-body,
.job-card .card-body {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 1.5rem !important;
}

/* Equal card title height - ENSURE VISIBILITY */
.offer-card .card-title,
.card.h-100 .card-title,
.card.hover-card .card-title,
h5.card-title,
.job-card .card-title {
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    height: 3.1rem !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    line-clamp: 2 !important;
    margin-bottom: 0.75rem !important;
}

/* Equal card text height */
.offer-card .card-text,
.card.h-100 .card-text,
.card.hover-card .card-text,
p.card-text,
.job-card .card-text {
    margin-bottom: 1rem !important;
    height: 4.5rem !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    line-clamp: 3 !important;
}

/* Force buttons to bottom */
.offer-card .btn,
.card.h-100 .btn,
.card.hover-card .btn,
.job-card .btn {
    margin-top: auto !important;
}

/* Ensure consistent card spacing */
.row > div {
    margin-bottom: 30px !important;
}

/* Ensure badges are positioned correctly */
.featured-badge,
.recommended-badge,
.top-view-badge {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    z-index: 10 !important;
    padding: 0.25rem 0.75rem !important;
    border-radius: 50px !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
}

/* Responsive adjustments */
@media (max-width: 767.98px) {
    .offer-card,
    .card.h-100,
    .card.hover-card,
    .job-card {
        min-height: 320px !important;
    }
    
    .offer-card .card-img-top,
    .card.h-100 .card-img-top,
    .card.hover-card .card-img-top,
    .card .position-relative img,
    .offer-image,
    .job-card .card-img-top {
        height: 160px !important;
    }
    
    .offer-card .card-body,
    .card.h-100 .card-body,
    .card.hover-card .card-body,
    .job-card .card-body {
        padding: 1rem !important;
    }
}
