/* Grid Layout Styles for all content types */
.card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Target all media/image fields in cards */
.card [class*="field--name-field-media-image"],
.card [class*="field--name-field-featured-image"],
.card [class*="field--name-field-image"] {
    order: -1; /* Force image to always be at the top */
    height: 220px;
    margin: 0 !important;
    overflow: hidden;
}

/* Ensure all image containers maintain full height */
.card [class*="field--name-field"] .field__item,
.card [class*="field--name-field"] picture,
.card [class*="field--name-field"] .media {
    height: 100%;
    display: block;
}

/* Consistent image styling across all content types */
.card [class*="field--name-field"] img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Card body layout */
.card-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 1.5rem;
}

/* Description fields in all content types */
.card [class*="field--name-field-description"],
.card [class*="field--name-body"],
.card .field--name-field-summary {
    flex: 1;
    margin-bottom: 1rem;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .card [class*="field--name-field-media-image"],
    .card [class*="field--name-field-featured-image"],
    .card [class*="field--name-field-image"] {
        height: 180px;
    }
}