.newsletter-latest-listings {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5em;
    padding: 0;
}

@media (min-width: 600px) {
    .newsletter-latest-listings {
        grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    }
}

.newsletter-entry {
    background: #fff;
    border-radius: 0.75em;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: transform .15s ease, box-shadow .15s ease;
}

.newsletter-entry:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, .12);
}

.newsletter-header {
    padding-top: 1.25em;
    padding-right: 1.5em;
    padding-bottom: 0.5em;
    padding-left: 1.5em;
}

.newsletter-title {
    font-size: 1.67em !important;
    line-height: 1.4;
    font-weight: 600;
}

.newsletter-meta {
    margin-top: .25em;
    padding-bottom: 0.5em;
    font-size: .875em;
    color: #6b7280;
    border-bottom: 1px solid #f3f4f6;
}

.newsletter-meta::before {
    content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="1.4em" viewBox="0 -960 960 960" width="1.4em" fill="currentColor"><path d=\"M200-80q-33 0-56.5-23.5T120-160v-560q0-33 23.5-56.5T200-800h40v-80h80v80h320v-80h80v80h40q33 0 56.5 23.5T840-720v560q0 33-23.5 56.5T760-80zm0-80h560v-400H200zm0-480h560v-80H200zm280 240q-17 0-28.5-11.5T440-440t11.5-28.5T480-480t28.5 11.5T520-440t-11.5 28.5T480-400m-160 0q-17 0-28.5-11.5T280-440t11.5-28.5T320-480t28.5 11.5T360-440t-11.5 28.5T320-400m320 0q-17 0-28.5-11.5T600-440t11.5-28.5T640-480t28.5 11.5T680-440t-11.5 28.5T640-400M480-240q-17 0-28.5-11.5T440-280t11.5-28.5T480-320t28.5 11.5T520-280t-11.5 28.5T480-240m-160 0q-17 0-28.5-11.5T280-280t11.5-28.5T320-320t28.5 11.5T360-280t-11.5 28.5T320-240m320 0q-17 0-28.5-11.5T600-280t11.5-28.5T640-320t28.5 11.5T680-280t-11.5 28.5T640-240\"/></svg>');
    display: inline-block;
    vertical-align: middle;
}

.newsletter-excerpt {
    padding-top: 0;
    padding-right: 1.5em;
    padding-bottom: 1.5em;
    padding-left: 1.5em;
    margin-top: .75em;
    flex-grow: 1;
    line-height: 1.6;
    color: #374151;
}

.newsletter-read-more {
    padding-top: 1em;
    padding-right: 1.5em;
    padding-bottom: 1em;
    padding-left: 1.5em;
    border-top: 1px solid #f3f4f6;
    display: block;
    text-align: right;
    font-size: 0.8em;
}

.newsletter-read-more a {
    text-decoration: none;
}

.archive-accordion summary {
    padding: .75em 1em;
    margin-top: .5em;
    background: #e9eef4;
    color: #111;
    font-weight: 700;
    border-radius: .25em;
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 1.67em;
    gap: 0.25em;
}

.archive-accordion details summary::-webkit-details-marker,
.archive-accordion details summary::marker {
    display: none;
    content: '';
}

.archive-accordion details summary::before {
    content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960" fill="currentColor"><path d="M440-800v487L216-537l-56 57 320 320 320-320-56-57-224 224v-487h-80Z"/></svg>');
    display: inline-block;
    flex-shrink: 0;
    height: 1em;
    width: 1em;
    transition: transform 0.2s ease;
}

.archive-accordion details[open] summary {
    background: #d7dee6;
}

.archive-accordion details[open] summary::before {
    transform: rotate(180deg);
}

.archive-accordion .archive-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(8em, 8em));
    gap: 1em;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: .75em 0 0;
}

.archive-card {
    aspect-ratio: 1;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .5em;
    border-radius: .5em;
    background: #f7f7f7;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .05);
    font-weight: 600;
    text-decoration: none;
    text-align: center;
    color: #111;
    transition: transform .2s ease, box-shadow .2s ease;
}

.archive-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, .12);
}