.cm-container {
    max-width: 400px;
    background: red;
    display: flex;
    flex-direction: column;
    gap: 15px; /* Adds space between tiles */
}

.cm-full-width {
    width: 100%;
}

.cm-tile {
    height: 450px; /* Enforces a uniform height for all tiles */
    width: 100%;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    background: #fff;
    border: 1px solid #ddd;
    box-sizing: border-box;
    overflow: hidden; /* Prevents content from spilling out */
}

.cm-tile .cm-image-container {
    flex-grow: 1; /* Allows the image container to fill available space */
    position: relative;
    min-height: 0; /* A flexbox fix to ensure proper scaling */
}

.cm-tile .cm-image-container img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Ensures image covers the area without distortion */
    display: block;
}

.cm-wrapper {
    padding: 10px;
    background: #f0f0f0;
    flex-shrink: 0; /* Prevents the text wrapper from shrinking */
}

.cm-title,
.cm-price {
    margin: 0;
}

.cm-title {
    margin-bottom: 5px;
}