:root {
    --imr-ink: #342f2b;
    --imr-muted: #756d66;
    --imr-line: #ded8d1;
    --imr-paper: #fbfaf8;
    --imr-accent: #706052;
}

.single-im_memoriam .entry-title:empty,
.single-im_memoriam .wp-block-post-title:empty {
    display: none;
}

.imr-register {
    max-width: 820px;
    margin: 2rem auto;
    padding: clamp(1.25rem, 3vw, 2.75rem);
    color: var(--imr-ink);
    background: var(--imr-paper);
    border: 1px solid var(--imr-line);
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(52, 47, 43, 0.06);
}

.imr-header {
    margin-bottom: 1.75rem;
    text-align: center;
}

.imr-heart {
    margin: 0 auto .5rem;
    color: var(--imr-accent);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 2.2rem;
    line-height: 1;
    text-align: center;
}

.imr-kicker {
    margin: 0 0 .4rem;
    color: var(--imr-muted);
    font-size: .82rem;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.imr-header h2,
.imr-register h3 {
    color: var(--imr-ink);
}

.imr-header h2 {
    margin: 0;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(2rem, 5vw, 3.25rem);
    font-weight: 400;
}

.imr-life-dates {
    margin: .65rem 0 0;
    color: var(--imr-muted);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 1.08rem;
}

.imr-portrait {
    max-width: 360px;
    margin: 0 auto 1.75rem;
}

.imr-portrait img,
.imr-card-image {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 6px;
}

.imr-card-text {
    max-width: 680px;
    margin: 1rem auto 0;
    padding: 1rem 1.1rem;
    color: var(--imr-ink);
    background: #fff;
    border-left: 3px solid var(--imr-accent);
    line-height: 1.7;
}

.imr-card-text > :first-child {
    margin-top: 0;
}

.imr-card-text > :last-child {
    margin-bottom: 0;
}

.imr-biography {
    margin: 0 0 1.75rem;
    padding: 1.25rem;
    background: #fff;
    border: 1px solid var(--imr-line);
    border-radius: 6px;
    line-height: 1.75;
}

.imr-biography > :first-child {
    margin-top: 0;
}

.imr-biography > :last-child {
    margin-bottom: 0;
}

.imr-card,
.imr-condolences {
    margin-top: 2.25rem;
    padding-top: 1.75rem;
    border-top: 1px solid var(--imr-line);
}

.imr-card h3,
.imr-condolences > h3,
.imr-condolences .comment-reply-title {
    margin-top: 0;
    font-family: Georgia, 'Times New Roman', serif;
    font-weight: 400;
}

.imr-card-image {
    max-width: 680px;
    margin: 0 auto;
    border: 1px solid var(--imr-line);
}

.imr-pdf-link,
.imr-submit {
    display: inline-block;
    padding: .72rem 1rem;
    color: #fff;
    background: var(--imr-accent);
    border: 1px solid var(--imr-accent);
    border-radius: 4px;
    text-decoration: none;
}

.imr-condolence-list {
    margin: 1rem 0 2rem;
    padding: 0;
    list-style: none;
}

.imr-condolence {
    padding: 1.1rem 0;
    border-bottom: 1px solid var(--imr-line);
}

.imr-condolence-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: .5rem 1rem;
    color: var(--imr-muted);
    font-size: .92rem;
}

.imr-condolence-text p:last-child {
    margin-bottom: 0;
}

.imr-empty,
.comment-notes,
.imr-private {
    color: var(--imr-muted);
}

.imr-condolences label {
    display: block;
    margin-bottom: .35rem;
    font-weight: 600;
}

.imr-condolences input[type='text'],
.imr-condolences input[type='email'],
.imr-condolences textarea {
    box-sizing: border-box;
    width: 100%;
    padding: .72rem;
    color: var(--imr-ink);
    background: #fff;
    border: 1px solid #b9b1aa;
    border-radius: 4px;
    font: inherit;
}

.imr-condolences textarea {
    resize: vertical;
}

.imr-condolences input:focus,
.imr-condolences textarea:focus {
    outline: 3px solid rgba(112, 96, 82, .22);
    outline-offset: 1px;
    border-color: var(--imr-accent);
}

.imr-submit {
    cursor: pointer;
    font: inherit;
}

.imr-submit:hover,
.imr-submit:focus,
.imr-pdf-link:hover,
.imr-pdf-link:focus {
    color: #fff;
    background: #51463d;
}

.required {
    color: #9b2c2c;
}

@media (max-width: 600px) {
    .imr-register {
        margin: 1rem 0;
        border-radius: 0;
    }

    .imr-condolence-meta {
        display: block;
    }

    .imr-condolence-meta time {
        display: block;
        margin-top: .2rem;
    }
}
