/* Container */
.b-widget-container {
    display: flex;
    flex-direction: column;
    gap: 20px; /* Space between posts */
}

/* Post Card */
.b-post-card {
    display: flex;
    align-items: flex-start; /* CRITICAL: Aligns image and text to top */
    gap: 12px;
    position: relative;
}

/* Image Wrapper */
.b-post-thumb-link {
    flex-shrink: 0;
    width: 140px; /* Slightly more compact to match reference site feel */
    line-height: 0;
}

/* Image Object */
.b-post-thumb {
    width: 100%;
    height: auto;
    aspect-ratio: 400 / 250; /* Keeps your requested ratio */
    object-fit: cover;
    display: block;
    background-color: #f0f0f0;
}

/* Content Column */
.b-post-content {
    display: flex;
    flex-direction: column;
    /* No justify-content here ensures it sits at the top */
    padding-top: 0;
}

/* Title Styling */
.b-post-title {
    margin: 0 !important;
    padding: 0 !important;
    /* Exact alignment fix:
       Fonts have invisible space above the letters.
       -4px pulls the letters up to match the image's top edge.
    */
    margin-top: 0px !important;
    margin-bottom: 5px !important;

    line-height: 1.25 !important; /* Tight line-height typical of sidebar widgets */
    font-weight: 600;
    font-family: inherit;
}

.b-post-title a {
    text-decoration: none;
    display: block;
    transition: color 0.2s ease;
}

.b-post-title a:hover {
    opacity: 0.8;
}

/* Date Meta Styling */
.b-post-meta {
    margin: 0;
    line-height: 1;
    font-weight: 500;
    opacity: 0.9;
    font-family: inherit;
}