/* ============================================= */
/* DISPLAY POSTS — WANDERLIGHT GUIDES STYLES     */
/* Applies to both [display-posts] and           */
/* [display-posts-grouped]                       */
/* ============================================= */

/* ── SHARED WRAPPER ── */
.dpg-grouped-wrapper {
    width: 100%;
}

.dpg-section {
    margin-bottom: 2.5em;
}

/* Section heading — plain, centered, Raleway */
.dpg-section-title {
    font-family: "raleway", sans-serif !important;
    font-weight: 500 !important;
    font-size: 1.6rem !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: black !important;
    text-align: center !important;
    margin-bottom: 0.8em !important;
    margin-top: 0 !important;
    padding: 0 !important;
    border: none !important;
}

/* ── BASE LIST RESET
   Kills all inherited theme list styles from both
   .display-posts-listing and .dpg-listing
   ──────────────────────────────────────────── */
.display-posts-listing,
.dpg-listing {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    box-shadow: none !important;
    border: none !important;
}

.display-posts-listing .listing-item::before,
.dpg-listing .listing-item::before {
    display: none !important;
    content: none !important;
}

/* ── BLOCKS LAYOUT — DESKTOP
   2-column float grid. Image on top centered,
   title below, category below title in red,
   excerpt below category. No borders/dividers.
   ──────────────────────────────────────────── */
.display-posts-listing.layout-blocks,
.dpg-listing.layout-blocks {
    overflow: hidden;
}

.display-posts-listing.layout-blocks .listing-item,
.dpg-listing.layout-blocks .listing-item {
    float: left !important;
    width: 47% !important;
    margin-right: 3% !important;
    margin-bottom: 2em !important;
    padding: 0 !important;
    list-style: none !important;
    text-align: center !important;
    border: none !important;
    background: none !important;
    /* No border-bottom — ever */
    border-bottom: none !important;
    box-shadow: none !important;
}

.display-posts-listing.layout-blocks .listing-item:nth-child(2n),
.dpg-listing.layout-blocks .listing-item:nth-child(2n) {
    margin-right: 0 !important;
}

/* Clearfix */
.display-posts-listing.layout-blocks::after,
.dpg-listing.layout-blocks::after {
    content: "";
    display: table;
    clear: both;
}

/* ── IMAGE: fixed 225×300 portrait, centered ── */
.display-posts-listing.layout-blocks .listing-item .image,
.dpg-listing.layout-blocks .listing-item .image {
    display: block !important;
    width: 100% !important;
    margin-bottom: 10px !important;
    position: static !important; /* override any absolute from theme */
    float: none !important;
}

.display-posts-listing.layout-blocks .listing-item .image a,
.dpg-listing.layout-blocks .listing-item .image a {
    display: block !important;
    border-bottom: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

.display-posts-listing.layout-blocks .listing-item .image img,
.dpg-listing.layout-blocks .listing-item .image img {
    width: 225px !important;
    height: 300px !important;
    object-fit: cover !important;
    display: block !important;
    margin: 0 auto !important;
    max-width: 100% !important;
}

/* ── TITLE: centered, ivypresto ── */
.display-posts-listing.layout-blocks .listing-item .title,
.dpg-listing.layout-blocks .listing-item .title {
    display: block !important;
    text-align: center !important;
    font-family: ivypresto-display, serif !important;
    font-weight: 400 !important;
    font-size: 1.2rem !important;
    letter-spacing: 0.5px !important;
    line-height: 1.3 !important;
    margin-top: 6px !important;
    margin-bottom: 4px !important;
    color: black !important;
    text-decoration: none !important;
    text-shadow: none !important;
    box-shadow: none !important;
    border-bottom: none !important;
}

.display-posts-listing.layout-blocks .listing-item .title:hover,
.dpg-listing.layout-blocks .listing-item .title:hover {
    color: #425c99 !important;
    text-decoration: none !important;
}

/* ── CATEGORY: UNDER TITLE, red uppercase Nunito Sans
   Matches .alm-listing .alm-item .almcat exactly
   ──────────────────────────────────────────── */
.display-posts-listing.layout-blocks .listing-item .dps-category,
.dpg-listing.layout-blocks .listing-item .dps-category {
    display: block !important;
    text-align: center !important;
    margin-top: 5px !important;
    margin-bottom: 4px !important;
}

.display-posts-listing.layout-blocks .listing-item .dps-category a,
.dpg-listing.layout-blocks .listing-item .dps-category a,
.display-posts-listing.layout-blocks .listing-item .dps-category,
.dpg-listing.layout-blocks .listing-item .dps-category {
    color: red !important;
    font-size: 0.7rem !important;
    font-family: "Nunito Sans", sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    text-decoration: none !important;
    text-shadow: none !important;
    box-shadow: none !important;
    border-bottom: none !important;
}

/* ── EXCERPT: full, never truncated, centered ── */
.display-posts-listing.layout-blocks .listing-item .excerpt,
.dpg-listing.layout-blocks .listing-item .excerpt {
    display: block !important;
    text-align: center !important;
    font-family: "Montserrat", sans-serif !important;
    font-weight: 100 !important;
    font-size: 0.85rem !important;
    line-height: 1.5em !important;
    color: black !important;
    margin-top: 4px !important;
    padding: 0 !important;
    /* Explicitly kill any truncation */
    overflow: visible !important;
    max-height: none !important;
    height: auto !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: unset !important;
    white-space: normal !important;
    text-overflow: unset !important;
}

/* ── MOBILE: ALM LIST STYLE
   At ≤782px switches to thumbnail-left list,
   matching ALM filter page mobile display.
   ──────────────────────────────────────────── */
@media (max-width: 782px) {

    .display-posts-listing.layout-blocks .listing-item,
    .dpg-listing.layout-blocks .listing-item {
        float: none !important;
        width: 100% !important;
        margin-right: 0 !important;
        margin-bottom: 14px !important;
        padding: 0 0 0 115px !important;
        position: relative !important;
        min-height: 100px !important;
        text-align: left !important;
        border-bottom: none !important;
    }

    /* Thumbnail: absolute left, ALM style */
    .display-posts-listing.layout-blocks .listing-item .image,
    .dpg-listing.layout-blocks .listing-item .image {
        position: absolute !important;
        left: 0 !important;
        top: 0 !important;
        width: auto !important;
        margin-bottom: 0 !important;
    }

    .display-posts-listing.layout-blocks .listing-item .image img,
    .dpg-listing.layout-blocks .listing-item .image img {
        width: 100px !important;
        height: 100px !important;
        object-fit: cover !important;
        display: block !important;
        margin: 0 !important;
    }

    .display-posts-listing.layout-blocks .listing-item .title,
    .dpg-listing.layout-blocks .listing-item .title {
        text-align: left !important;
        font-size: 1.05rem !important;
        margin-top: 2px !important;
    }

    .display-posts-listing.layout-blocks .listing-item .dps-category,
    .dpg-listing.layout-blocks .listing-item .dps-category {
        text-align: left !important;
    }

    .display-posts-listing.layout-blocks .listing-item .excerpt,
    .dpg-listing.layout-blocks .listing-item .excerpt {
        text-align: left !important;
        font-size: 0.8rem !important;
    }
}

/* ── INHERITED LINK STYLE KILL
   Stops .entry-content a rules bleeding in
   ──────────────────────────────────────────── */
.entry-content .display-posts-listing .listing-item a:not([class*="button"]),
.entry-content .dpg-listing .listing-item a:not([class*="button"]) {
    border-bottom: none !important;
    text-shadow: none !important;
    box-shadow: none !important;
    text-decoration: none !important;
    font-size: 1em !important;
}

.entry-content .display-posts-listing .listing-item a:hover,
.entry-content .dpg-listing .listing-item a:hover {
    color: #425c99 !important;
    text-shadow: none !important;
}

/* ── NO IMAGE: hidden ── */
.display-posts-listing .listing-item.no-img,
.dpg-listing .listing-item.no-img {
    display: none !important;
}

/* ── TAGS ── */
.display-posts-listing .listing-item .dps-tags,
.dpg-listing .listing-item .dps-tags {
    font-size: 0.75rem !important;
    margin-top: 5px !important;
    display: block;
    text-align: center;
}

.display-posts-listing .listing-item .dps-tags a,
.dpg-listing .listing-item .dps-tags a {
    color: #666 !important;
    text-decoration: none !important;
    margin-right: 4px !important;
    font-size: 0.75rem !important;
    text-shadow: none !important;
    box-shadow: none !important;
    border-bottom: none !important;
}

.display-posts-listing .listing-item .dps-tags a::before {
    content: "#";
}

.display-posts-listing .listing-item .dps-tags a:hover,
.dpg-listing .listing-item .dps-tags a:hover {
    color: #425c99 !important;
}

/* ── DATE / AUTHOR ── */
.display-posts-listing .listing-item .date,
.display-posts-listing .listing-item .author,
.dpg-listing .listing-item .date,
.dpg-listing .listing-item .author {
    font-size: 0.75rem !important;
    color: #999 !important;
    font-family: "Nunito Sans", sans-serif !important;
    display: block !important;
    text-align: center !important;
}
