.dmp-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 1.25rem
}

.dmp-card {
    border: 1px solid rgba(0, 0, 0, .08);
    overflow: hidden;
    background: #fff
}

.dmp-thumb {
    display: block;
    aspect-ratio: 1/1;
    background: rgba(0, 0, 0, .03)
}

.dmp-avatar {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.dmp-body {
    padding: 14px
}

.dmp-name {
    margin: 0 0 4px;
    font-size: 1.05rem
}

.dmp-role {
    margin: .25rem 0 .5rem;
    color: #666
}

/* Meta list with icons */
.dmp-meta {
    list-style: none;
    margin: 0;
    padding: 0;
}

.dmp-meta-item {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin: .25rem 0 !important;
}

.dmp-figure {
    margin-bottom: 0.5rem;
}

.dmp-figure a {
    display: block;
}

.dmp-meta-item .dmp-icon {
    width: 1em;
    height: 1em;
    display: inline-block;
    vertical-align: -0.125em;
    /* Inherit text color so icons match link/text color */
    color: currentColor;
    flex: 0 0 auto;
    opacity: .9;
}

.dmp-figure-meta {
    text-align: left;
    margin-top: 0.25rem;
}

.dmp-figure-meta a,
.dmp-figure-meta a:visited {
    text-decoration: none !important;
}

.dmp-figure-meta p {
    margin: 0 !important;
}


.dmp-image-caption,
.dmp-image-exhibition {
    font-size: 0.85em;
    color: #666;
    margin-top: 0.25rem;
}

.dmp-image-exhibition a,
.dmp-image-exhibition a:visited {
    color: #000 !important;
}

.dmp-image-exhibition a span,
.dmp-image-exhibition a:visited span {
    color: #000000 !important;
}

.dmp-image-description {
    font-size: 0.85em;
    color: #666;
    margin-top: 0;
}

.dmp-meta a {
    text-decoration: none
}

.dmp-list {
    list-style: disc;
    margin: 0 0 1rem 1.25rem
}

ul.dmp-member-list,
ul.dmp-member-list li {
    list-style: none;
    margin: 0;
    padding: 0;
}

ul.dmp-member-list li a {
    text-decoration: none;
}


body h3.dmp-letter {
    font-weight: 600;
    font-size: 1.2em;
    margin-top: 1em;
    border-bottom: 1px solid rgba(0, 0, 0, 0.25);
    margin-bottom: 0;

}

.dmp-member-list {
    list-style: none;
    padding-left: 0;
}

.dmp-member-list li a {
    text-decoration: none;
}


/* Container for all groups */
.dmp-list-grouped {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 2rem;
}




/* Single details */
.dmp-single-details {
    margin-top: 2rem;
    margin-bottom: 3rem;
    font-size: 0.9em;
    font-weight: bold;
}

.dmp-single-photo img {
    border-radius: 3px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}

.entry-content .dmp-gallery-item img {
    margin-bottom: 0;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 3px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}

.entry-content .dmp-gallery-item .vbox-item {
    position: relative;
}

.entry-content .dmp-gallery-item .vbox-item:after {
    content: " ";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.25);
    opacity: 0;
    transition: all 0.3s ease;
}

.entry-content .dmp-gallery-item .vbox-item:hover:after {
    opacity: 1;
}

/* ✅ Expand icon */
.entry-content .dmp-gallery-item .vbox-item:before {
    content: "⤢";
    /* Unicode Diagonal Double Arrow */
    position: absolute;
    bottom: 50%;
    right: 50%;
    font-size: 22px;
    font-weight: 700;
    color: white;
    opacity: 0;
    transform: translate(50%, 50%) scale(1);
    transition: all 0.3s ease;
    z-index: 3;
    pointer-events: none;
}

.entry-content .dmp-gallery-item .vbox-item:hover:before {
    opacity: 1;
    transform: translate(50%, 50%) scale(2);
}

.dmp-single-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.dmp-avatar-before-title {
    width: 180px;
    height: 180px;
    border-radius: 50%;
    object-fit: cover;
}

.dmp-single-title {
    font-size: 1.6rem;
    margin: 0;
    text-transform: none;
}

.entry-header .dmp-single-header img.wp-post-image {
    margin-bottom: 0;
    border-radius: 999px;
    aspect-ratio: 1 / 1;
}


.deceased .dmp-single-title::after {
    content: " ✝︎";
    font-size: 0.9em;
    color: #999;
    margin-left: 6px;
    vertical-align: baseline;
    display: inline-block;
}


/* Gallery */
.dmp-gallery {
    list-style: none;
    margin: 1rem 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: .75rem
}

.dmp-gallery-item a {
    /* display: block; */
}

.dmp-gallery-item img {
    display: block;
    width: 100%;
    height: auto
}

.dmp-image-artist {
    font-size: 0.85em;
}

.dmp-image-artist a {
    text-decoration: none;
}


.dmp-image-exhibition {
    font-size: 0.85em;
}

.dmp-image-exhibition a {
    text-decoration: none;
    display: inline;
}

.entry-content .dmp-gallery li {
    margin: 0;
    list-style: none;
}

/* Responsive + dark mode */
@media (max-width:640px) {
    .dmp-single-details {
        grid-template-columns: 1fr
    }
}

@media (prefers-color-scheme: dark) {

    .dmp-card,
    .dmp-single-details {
        background: #111;
        border-color: #222
    }

    .dmp-role {
        color: #aaa
    }
}