/* ==========================================================
   SHAHIDABAD RENEW
   9A-4D3 - FROZEN MEMORIAL PROTOTYPE IMPLEMENTATION
   ========================================================== */

:root {
    --m3-green-950: #073b2f;
    --m3-green-900: #084a3a;
    --m3-green-800: #0b5a46;
    --m3-green-700: #0f7258;
    --m3-green-100: #eaf4ef;
    --m3-green-050: #f4f8f5;
    --m3-gold: #d5a13a;
    --m3-gold-soft: #f1dfb5;
    --m3-red: #d9403a;
    --m3-ink: #173e32;
    --m3-text: #334b43;
    --m3-muted: #7b8c85;
    --m3-border: #dfe8e3;
    --m3-surface: #ffffff;
    --m3-bg: #f6f7f3;
    --m3-shadow: 0 14px 38px rgba(17, 72, 55, .08);
    --m3-radius-xl: 24px;
    --m3-radius-lg: 18px;
    --m3-radius-md: 13px;
}

html[dir="rtl"] body.shahidabad-memorial-v3,
body.shahidabad-memorial-v3 {
    background: var(--m3-bg) !important;
    color: var(--m3-text);
}

body.shahidabad-memorial-v3 .memorial-v3 {
    direction: rtl;
    background:
        radial-gradient(circle at 12% 28%, rgba(209, 222, 214, .34), transparent 28%),
        var(--m3-bg);
    color: var(--m3-text);
    font-family: inherit;
}

.memorial-v3 *,
.memorial-v3 *::before,
.memorial-v3 *::after {
    box-sizing: border-box;
}

.memorial-v3 button,
.memorial-v3 input,
.memorial-v3 textarea {
    font-family: inherit;
}

.memorial-v3-shell {
    width: min(1260px, calc(100% - 44px));
    margin-inline: auto;
}

/* HERO */
.memorial-v3-hero {
    position: relative;
    overflow: hidden;
    min-height: 410px;
    color: #fff;
    background:
        radial-gradient(circle at 16% 12%, rgba(255, 222, 147, .18), transparent 30%),
        linear-gradient(120deg, #0c4d3d 0%, #07513f 48%, #053a2f 100%);
}

.memorial-v3-hero::before,
.memorial-v3-hero::after {
    content: "";
    position: absolute;
    inset: auto;
    pointer-events: none;
}

.memorial-v3-hero::before {
    width: 680px;
    height: 680px;
    left: -210px;
    bottom: -470px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(221, 176, 79, .28), rgba(221, 176, 79, 0) 66%);
}

.memorial-v3-hero::after {
    width: 500px;
    height: 500px;
    right: -210px;
    top: -300px;
    border-radius: 50%;
    border: 1px solid rgba(237, 206, 136, .14);
    box-shadow:
        0 0 0 34px rgba(237, 206, 136, .035),
        0 0 0 68px rgba(237, 206, 136, .025);
}

.memorial-v3-hero-grid {
    position: relative;
    z-index: 2;
    min-height: 410px;
    padding-block: 34px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 270px;
    gap: 54px;
    align-items: center;
}

.memorial-v3-hero-copy {
    max-width: 780px;
}

.memorial-v3-badges {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.memorial-v3-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 35px;
    padding: 7px 14px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
}

.memorial-v3-badge-red {
    color: #fff;
    background: var(--m3-red);
    box-shadow: 0 8px 20px rgba(217, 64, 58, .22);
}

.memorial-v3-badge-soft {
    color: #fff;
    border: 1px solid rgba(255,255,255,.24);
    background: rgba(255,255,255,.10);
    backdrop-filter: blur(6px);
}

.memorial-v3-hero h1 {
    margin: 18px 0 0;
    color: #fff;
    font-size: clamp(39px, 5vw, 66px);
    line-height: 1.25;
    letter-spacing: -.7px;
    font-weight: 950;
}

.memorial-v3-hero-lead {
    margin: 12px 0 0;
    color: rgba(255,255,255,.77);
    font-size: 16px;
    line-height: 2;
}

.memorial-v3-hero-facts {
    margin-top: 26px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.memorial-v3-hero-facts > div {
    min-height: 82px;
    padding: 13px 16px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 15px;
    background: rgba(0,0,0,.09);
    backdrop-filter: blur(7px);
}

.memorial-v3-hero-facts span,
.memorial-v3-hero-facts strong {
    display: block;
}

.memorial-v3-hero-facts span {
    color: rgba(255,255,255,.60);
    font-size: 11px;
}

.memorial-v3-hero-facts strong {
    margin-top: 7px;
    color: #fff;
    font-size: 14px;
    line-height: 1.7;
}

.memorial-v3-burial-line {
    margin-top: 15px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: rgba(255,255,255,.78);
    font-size: 12px;
}

.memorial-v3-portrait-column {
    width: 270px;
    justify-self: end;
}

.memorial-v3-portrait {
    width: 100%;
    margin: 0;
    overflow: hidden;
    aspect-ratio: 3 / 4;
    border: 4px solid rgba(234, 201, 127, .84);
    border-radius: 24px 24px 18px 18px;
    background: #fff8e7;
    box-shadow: 0 22px 48px rgba(0,0,0,.26);
}

.memorial-v3-portrait img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
}

.memorial-v3-portrait-empty {
    height: 100%;
    display: grid;
    place-items: center;
    color: var(--m3-muted);
}

.memorial-v3-download-portrait {
    width: 100%;
    min-height: 43px;
    margin-top: 8px;
    padding: 8px 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    color: #fff;
    background: rgba(6, 57, 44, .92);
    border: 1px solid rgba(255,255,255,.20);
    border-radius: 10px;
    text-decoration: none;
    font-size: 12px;
    box-shadow: 0 10px 20px rgba(0,0,0,.12);
}

.memorial-v3-download-portrait:hover {
    color: #fff;
    transform: translateY(-1px);
}

.memorial-v3-download-portrait > span {
    font-size: 20px;
}

/* TOPBAR */
.memorial-v3-topbar {
    position: relative;
    z-index: 4;
    margin-top: -22px;
}

.memorial-v3-topbar-grid {
    display: grid;
    grid-template-columns: minmax(310px, .88fr) minmax(460px, 1.3fr) minmax(260px, .72fr);
    gap: 10px;
    align-items: stretch;
}

.memorial-v3-spiritual-compact,
.memorial-v3-tool-buttons,
.memorial-v3-permalink {
    border: 1px solid var(--m3-border);
    border-radius: 18px;
    background: rgba(255,255,255,.97);
    box-shadow: var(--m3-shadow);
}

.memorial-v3-spiritual-compact {
    padding: 12px 14px;
    display: grid;
    grid-template-columns: minmax(120px, .8fr) 1.2fr;
    gap: 12px;
    align-items: center;
}

.memorial-v3-spiritual-heading span {
    color: var(--m3-gold);
    font-size: 9px;
    font-weight: 900;
}

.memorial-v3-spiritual-heading h2 {
    margin: 4px 0 0;
    color: var(--m3-ink);
    font-size: 15px;
    line-height: 1.6;
}

.memorial-v3-spiritual-actions {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
}

.memorial-v3-spiritual-action {
    min-height: 64px;
    padding: 7px 8px;
    position: relative;
    border: 1px solid #dfeae4;
    border-radius: 12px;
    cursor: pointer;
    color: var(--m3-ink);
    background: #f8fbf9;
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    gap: 2px 6px;
    align-items: center;
    text-align: right;
}

.memorial-v3-spiritual-action > span:first-child {
    grid-column: 1;
    grid-row: 1;
    font-size: 10px;
    font-weight: 850;
}

.memorial-v3-spiritual-action > strong {
    grid-column: 1;
    grid-row: 2;
    font-size: 19px;
    color: var(--m3-green-700);
}

.memorial-v3-spiritual-action .mx-spiritual-plus {
    grid-column: 2;
    grid-row: 1 / span 2;
    width: 27px;
    height: 27px;
    display: grid;
    place-items: center;
    border: 1px solid #9bd7c1;
    border-radius: 50%;
    color: var(--m3-green-700);
    background: #fff;
    font-size: 17px;
    font-weight: 500;
}

.memorial-v3-tool-buttons {
    padding: 10px;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 6px;
    align-items: center;
}

.memorial-v3-tool {
    min-height: 46px;
    padding: 8px 7px;
    border: 1px solid #dfe7e3;
    border-radius: 10px;
    cursor: pointer;
    display: grid;
    place-items: center;
    color: #35584d;
    background: #fff;
    text-decoration: none;
    font-size: 11px;
    font-weight: 800;
}

.memorial-v3-tool:hover {
    color: var(--m3-green-800);
    border-color: #a7cbbd;
}

.memorial-v3-tool-dark {
    color: #fff;
    border-color: var(--m3-green-950);
    background: var(--m3-green-950);
}

.memorial-v3-tool-dark:hover {
    color: #fff;
    background: var(--m3-green-800);
}

.memorial-v3-permalink {
    padding: 10px 12px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 116px;
    gap: 10px;
    align-items: center;
}

.memorial-v3-permalink-copy strong,
.memorial-v3-permalink-copy small {
    display: block;
}

.memorial-v3-permalink-copy strong {
    color: var(--m3-green-900);
    font-size: 14px;
}

.memorial-v3-permalink-copy small {
    margin-top: 4px;
    color: var(--m3-muted);
    font-size: 9px;
    line-height: 1.7;
}

.memorial-v3-qr {
    width: 116px;
    height: 116px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid #dce6e1;
    border-radius: 11px;
    background: #fff;
}

.memorial-v3-qr canvas,
.memorial-v3-qr img {
    width: 112px !important;
    height: 112px !important;
}

/* MAIN */
.memorial-v3-main {
    padding-block: 34px 42px;
}

.memorial-v3-section-title > span,
.memorial-v3-lower-kicker {
    color: var(--m3-gold);
    font-size: 10px;
    font-weight: 900;
}

.memorial-v3-section-title h2,
.memorial-v3-lower-card h2 {
    margin: 5px 0 0;
    color: var(--m3-ink);
    font-size: 28px;
    line-height: 1.45;
}

.memorial-v3-overview {
    margin-top: 4px;
}

.memorial-v3-overview-grid {
    margin-top: 15px;
    display: grid;
    gap: 12px;
}

.memorial-v3-overview-grid.has-veteran {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.memorial-v3-overview-grid.no-veteran {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 900px;
}

.memorial-v3-card {
    min-height: 250px;
    padding: 17px;
    border: 1px solid var(--m3-border);
    border-radius: var(--m3-radius-lg);
    background: #fff;
    box-shadow: 0 10px 28px rgba(16, 70, 53, .045);
}

.memorial-v3-card-head {
    display: flex;
    align-items: center;
    gap: 9px;
    padding-bottom: 12px;
    border-bottom: 1px solid #edf2ef;
}

.memorial-v3-card-head h3 {
    margin: 0;
    color: var(--m3-green-900);
    font-size: 18px;
}

.memorial-v3-icon {
    width: 35px;
    height: 35px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: var(--m3-green-800);
    background: var(--m3-green-100);
    font-size: 15px;
}

.memorial-v3-veteran-card {
    color: #fff;
    border-color: #0b5a46;
    background:
        linear-gradient(150deg, #0f6a51 0%, #07503e 58%, #073c30 100%);
}

.memorial-v3-veteran-card .memorial-v3-card-head {
    border-bottom-color: rgba(255,255,255,.13);
}

.memorial-v3-veteran-card .memorial-v3-card-head h3,
.memorial-v3-veteran-card .memorial-v3-icon {
    color: #fff;
}

.memorial-v3-veteran-card .memorial-v3-icon {
    background: rgba(255,255,255,.11);
}

.memorial-v3-dl {
    margin: 9px 0 0;
}

.memorial-v3-dl > div {
    min-height: 36px;
    padding: 7px 0;
    display: grid;
    grid-template-columns: minmax(92px, .75fr) 1.25fr;
    gap: 12px;
    align-items: center;
    border-bottom: 1px solid #edf2ef;
}

.memorial-v3-dl > div:last-child {
    border-bottom: 0;
}

.memorial-v3-dl dt {
    color: #8a9892;
    font-size: 10px;
}

.memorial-v3-dl dd {
    margin: 0;
    color: #304b42;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.75;
}

.memorial-v3-dl-on-dark > div {
    border-bottom-color: rgba(255,255,255,.11);
}

.memorial-v3-dl-on-dark dt {
    color: rgba(255,255,255,.58);
}

.memorial-v3-dl-on-dark dd {
    color: #fff;
}

.memorial-v3-percent-row dd strong {
    display: inline-flex;
    min-width: 54px;
    min-height: 28px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #083e31;
    background: #d9f0e5;
}

/* TIMELINE + BOOKLET */
.memorial-v3-timeline-wrap {
    margin-top: 20px;
    display: grid;
    gap: 12px;
}

.memorial-v3-timeline-wrap.has-booklet {
    grid-template-columns: minmax(0, 1fr) 250px;
}

.memorial-v3-timeline-wrap.no-booklet {
    grid-template-columns: 1fr;
}

.memorial-v3-timeline-card,
.memorial-v3-booklet-card,
.memorial-v3-reading-section,
.memorial-v3-media-section,
.memorial-v3-lower-card,
.memorial-v3-documents {
    border: 1px solid var(--m3-border);
    border-radius: var(--m3-radius-xl);
    background: #fff;
    box-shadow: 0 12px 30px rgba(17, 72, 55, .05);
}

.memorial-v3-timeline-card {
    padding: 20px;
}

.memorial-v3-section-title-inline {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 12px;
}

.memorial-v3-timeline {
    margin: 26px 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    position: relative;
}

.memorial-v3-timeline::before {
    content: "";
    position: absolute;
    top: 18px;
    right: 8%;
    left: 8%;
    height: 2px;
    background: linear-gradient(90deg, transparent, #d6aa50 8%, #d6aa50 92%, transparent);
}

.memorial-v3-timeline li {
    position: relative;
    z-index: 1;
    min-height: 145px;
    padding: 0 12px 12px;
    text-align: center;
}

.memorial-v3-timeline-node {
    width: 38px;
    height: 38px;
    margin: 0 auto 8px;
    display: grid;
    place-items: center;
    border: 2px solid #d5a13a;
    border-radius: 50%;
    color: var(--m3-green-800);
    background: #fff;
    box-shadow: 0 0 0 5px #fff;
}

.memorial-v3-timeline li > b {
    color: var(--m3-gold);
    font-size: 11px;
}

.memorial-v3-timeline h3 {
    margin: 4px 0 0;
    color: var(--m3-green-900);
    font-size: 17px;
}

.memorial-v3-timeline p {
    margin: 5px 0 0;
    color: var(--m3-muted);
    font-size: 10px;
    line-height: 1.85;
}

.memorial-v3-booklet-card {
    padding: 18px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    background:
        linear-gradient(145deg, #fffdf8 0%, #fff 64%),
        #fff;
}

.memorial-v3-booklet-icon {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: #fff;
    background: var(--m3-green-900);
    font-size: 24px;
}

.memorial-v3-booklet-card small {
    display: block;
    margin-top: 13px;
    color: var(--m3-gold);
    font-weight: 900;
}

.memorial-v3-booklet-card h3 {
    margin: 4px 0 0;
    color: var(--m3-ink);
    font-size: 19px;
}

.memorial-v3-booklet-card p {
    margin: 7px 0 0;
    color: var(--m3-muted);
    font-size: 10px;
    line-height: 1.9;
}

.memorial-v3-booklet-card a {
    margin-top: 14px;
    padding: 9px 14px;
    border-radius: 10px;
    color: #fff;
    background: var(--m3-green-900);
    text-decoration: none;
    font-size: 11px;
    font-weight: 850;
}

/* READING */
.memorial-v3-reading-section {
    margin-top: 20px;
    padding: 24px;
}

.memorial-v3-prose {
    margin-top: 15px;
    max-width: 940px;
    color: #40564f;
    font-size: 14px;
    line-height: 2.25;
}

/* MEDIA */
.memorial-v3-media-section {
    margin-top: 20px;
    padding: 21px;
}

.memorial-v3-media-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 14px;
}

.memorial-v3-media-filters {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: wrap;
}

.memorial-v3-media-filters button {
    min-height: 32px;
    padding: 6px 13px;
    border: 1px solid #dfe7e3;
    border-radius: 8px;
    cursor: pointer;
    color: #5e736b;
    background: #fff;
    font-size: 10px;
}

.memorial-v3-media-filters button.is-active {
    color: #fff;
    border-color: var(--m3-green-800);
    background: var(--m3-green-800);
}

.memorial-v3-gallery-grid {
    margin-top: 15px;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
}

.memorial-v3-media-item {
    min-height: 150px;
    overflow: hidden;
    position: relative;
    border: 1px solid var(--m3-border);
    border-radius: 12px;
    color: var(--m3-ink);
    background: #f4f7f5;
    text-decoration: none;
}

.memorial-v3-media-item[hidden] {
    display: none !important;
}

.memorial-v3-media-item img {
    width: 100% !important;
    height: 122px !important;
    display: block;
    object-fit: cover !important;
    object-position: center center !important;
}

.memorial-v3-media-item > span:last-child,
.memorial-v3-media-item > strong {
    min-height: 28px;
    padding: 6px 8px;
    display: block;
    font-size: 9px;
    line-height: 1.65;
}

.memorial-v3-video-item,
.memorial-v3-audio-item {
    min-height: 150px;
    padding: 18px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-align: center;
}

.memorial-v3-play {
    width: 48px;
    height: 48px;
    display: grid !important;
    place-items: center;
    padding: 0 !important;
    border-radius: 50%;
    color: #fff;
    background: var(--m3-green-800);
    font-size: 19px !important;
}

/* LOWER */
.memorial-v3-lower-grid {
    margin-top: 20px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    align-items: start;
}

.memorial-v3-lower-card {
    min-height: 245px;
    padding: 19px;
}

.memorial-v3-lower-card h2 {
    font-size: 22px;
}

.memorial-v3-lower-card p,
.memorial-v3-lower-card strong {
    color: #556b63;
    font-size: 11px;
    line-height: 1.95;
}

.memorial-v3-will-preview {
    margin-top: 10px;
    max-height: 98px;
    overflow: hidden;
    color: #52675f;
    font-size: 11px;
    line-height: 2;
}

.memorial-v3-primary {
    min-height: 37px;
    padding: 8px 14px;
    border: 0;
    border-radius: 9px;
    cursor: pointer;
    color: #fff;
    background: var(--m3-green-800);
    font-weight: 850;
}

.memorial-v3-will-full {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #e5ece8;
    color: #465e56;
    font-size: 11px;
    line-height: 2;
}

.memorial-v3-memory-details {
    margin-top: 12px;
}

.memorial-v3-memory-details summary {
    cursor: pointer;
    color: #fff;
    background: var(--m3-green-800);
    border-radius: 9px;
    padding: 9px 12px;
    font-size: 11px;
    font-weight: 850;
    list-style: none;
}

.memorial-v3-memory-details summary::-webkit-details-marker {
    display: none;
}

.memorial-v3-memory-form {
    margin-top: 11px;
    display: grid;
    gap: 9px;
}

.memorial-v3-memory-form label span {
    display: block;
    margin-bottom: 4px;
    color: #557067;
    font-size: 10px;
}

.memorial-v3-memory-form input,
.memorial-v3-memory-form textarea {
    width: 100%;
    padding: 9px 10px;
    border: 1px solid #dbe6e1;
    border-radius: 8px;
    outline: 0;
    color: #314b42;
    background: #fff;
}

.memorial-v3-memory-list {
    margin-top: 13px;
}

.memorial-v3-memory-list > h3 {
    color: var(--m3-green-900);
    font-size: 13px;
}

.memorial-v3-memory-item {
    margin-top: 8px;
    padding: 9px 0;
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 9px;
    border-top: 1px solid #edf2ef;
}

.memorial-v3-memory-avatar {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: var(--m3-green-800);
}

.memorial-v3-memory-item header {
    display: flex;
    justify-content: space-between;
    gap: 8px;
}

.memorial-v3-memory-item header strong {
    color: #294b40;
}

.memorial-v3-memory-item time {
    color: #9ba8a3;
    font-size: 8px;
}

.memorial-v3-memory-item p {
    margin: 4px 0 0;
    color: #697a74;
}

.memorial-v3-no-memory {
    color: #8a9892;
    font-size: 10px;
}

.memorial-v3-documents {
    margin-top: 12px;
    padding: 12px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.memorial-v3-documents a {
    min-width: 180px;
    padding: 9px 11px;
    border: 1px solid #e0e9e4;
    border-radius: 9px;
    color: #3e5c52;
    text-decoration: none;
    background: #fafcfb;
}

.memorial-v3-documents a strong,
.memorial-v3-documents a span {
    display: block;
}

.memorial-v3-documents a strong {
    font-size: 10px;
}

.memorial-v3-documents a span {
    margin-top: 2px;
    color: #8a9892;
    font-size: 8px;
}

/* FOOTER */
.memorial-v3-footer {
    padding: 26px 0;
    color: #fff;
    background:
        radial-gradient(circle at 70% -50%, rgba(216, 170, 73, .16), transparent 45%),
        var(--m3-green-950);
}

.memorial-v3-footer-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.memorial-v3-footer strong,
.memorial-v3-footer span,
.memorial-v3-footer small {
    display: block;
}

.memorial-v3-footer strong {
    font-size: 16px;
}

.memorial-v3-footer span,
.memorial-v3-footer small {
    margin-top: 3px;
    color: rgba(255,255,255,.66);
    font-size: 10px;
}

body.shahidabad-memorial-v3 footer:not(.memorial-v3-footer),
body.shahidabad-memorial-v3 .footer-widgets,
body.shahidabad-memorial-v3 .site-footer,
body.shahidabad-memorial-v3 #colophon {
    display: none !important;
}

/* RESPONSIVE */
@media (max-width: 1080px) {
    .memorial-v3-topbar-grid {
        grid-template-columns: 1fr 1fr;
    }

    .memorial-v3-spiritual-compact {
        grid-column: 1 / -1;
        grid-template-columns: 240px 1fr;
    }

    .memorial-v3-overview-grid.has-veteran {
        grid-template-columns: 1fr 1fr;
    }

    .memorial-v3-overview-grid.has-veteran .memorial-v3-veteran-card {
        grid-column: 1 / -1;
    }

    .memorial-v3-gallery-grid {
        grid-template-columns: repeat(4, 1fr);
    }

    .memorial-v3-lower-grid {
        grid-template-columns: 1fr 1fr;
    }

    .memorial-v3-memories {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    .memorial-v3-shell {
        width: min(100% - 24px, 1260px);
    }

    .memorial-v3-hero-grid {
        min-height: 0;
        padding-block: 22px 34px;
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .memorial-v3-portrait-column {
        width: min(235px, 76vw);
        justify-self: center;
        grid-row: 1;
    }

    .memorial-v3-hero-copy {
        text-align: center;
    }

    .memorial-v3-badges,
    .memorial-v3-burial-line {
        justify-content: center;
    }

    .memorial-v3-hero h1 {
        font-size: 34px;
    }

    .memorial-v3-hero-facts {
        grid-template-columns: 1fr;
    }

    .memorial-v3-topbar {
        margin-top: -14px;
    }

    .memorial-v3-topbar-grid {
        grid-template-columns: 1fr;
    }

    .memorial-v3-spiritual-compact {
        grid-column: auto;
        grid-template-columns: 1fr;
    }

    .memorial-v3-tool-buttons {
        grid-template-columns: repeat(3, 1fr);
    }

    .memorial-v3-permalink {
        grid-template-columns: 1fr 116px;
    }

    .memorial-v3-overview-grid.has-veteran,
    .memorial-v3-overview-grid.no-veteran {
        grid-template-columns: 1fr;
        max-width: none;
    }

    .memorial-v3-overview-grid.has-veteran .memorial-v3-veteran-card {
        grid-column: auto;
    }

    .memorial-v3-timeline-wrap.has-booklet {
        grid-template-columns: 1fr;
    }

    .memorial-v3-timeline {
        grid-template-columns: 1fr;
    }

    .memorial-v3-timeline::before {
        display: none;
    }

    .memorial-v3-timeline li {
        min-height: 0;
        padding: 10px 0;
        display: grid;
        grid-template-columns: 44px 1fr;
        grid-template-rows: auto auto auto;
        gap: 2px 8px;
        text-align: right;
    }

    .memorial-v3-timeline-node {
        grid-row: 1 / span 3;
        margin: 0;
    }

    .memorial-v3-timeline li > b,
    .memorial-v3-timeline h3,
    .memorial-v3-timeline p {
        grid-column: 2;
    }

    .memorial-v3-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .memorial-v3-media-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .memorial-v3-lower-grid {
        grid-template-columns: 1fr;
    }

    .memorial-v3-memories {
        grid-column: auto;
    }

    .memorial-v3-footer-inner {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media print {
    .memorial-v3-topbar,
    .memorial-v3-download-portrait,
    .memorial-v3-media-filters,
    .memorial-v3-memory-details,
    .memorial-v3-footer {
        display: none !important;
    }

    .memorial-v3 {
        background: #fff !important;
    }

    .memorial-v3-hero {
        min-height: 0;
        color: #111;
        background: #fff !important;
        border-bottom: 2px solid #0b5a46;
    }

    .memorial-v3-hero h1,
    .memorial-v3-hero-lead,
    .memorial-v3-badge-soft,
    .memorial-v3-hero-facts strong,
    .memorial-v3-hero-facts span,
    .memorial-v3-burial-line {
        color: #111 !important;
    }

    .memorial-v3-hero-facts > div {
        border-color: #ccc;
        background: #fff;
    }

    .memorial-v3-card,
    .memorial-v3-timeline-card,
    .memorial-v3-reading-section,
    .memorial-v3-media-section,
    .memorial-v3-lower-card {
        box-shadow: none;
        break-inside: avoid;
        page-break-inside: avoid;
    }
}

/* ==========================================================
   BEGIN LOCK 9A-4D3R-1 HERO
   Frozen prototype fidelity:
   - portrait physically RIGHT on desktop
   - copy physically LEFT/CENTER
   - RTL text preserved inside the copy
   - download button remains directly below portrait
   ========================================================== */

@media (min-width: 761px) {

    .memorial-v3-hero-grid {
        direction: ltr !important;
        grid-template-columns: minmax(0, 1fr) 270px !important;
        gap: 54px !important;
        align-items: center !important;
    }

    .memorial-v3-hero-copy {
        grid-column: 1 !important;
        grid-row: 1 !important;
        direction: rtl !important;
        justify-self: stretch !important;
        align-self: center !important;
        text-align: right !important;
        max-width: 780px !important;
        margin-inline-start: auto !important;
        margin-inline-end: 0 !important;
    }

    .memorial-v3-portrait-column {
        grid-column: 2 !important;
        grid-row: 1 !important;
        direction: rtl !important;
        width: 270px !important;
        justify-self: end !important;
        align-self: center !important;
    }

    .memorial-v3-badges {
        justify-content: flex-start !important;
    }

    .memorial-v3-hero h1 {
        text-align: right !important;
    }

    .memorial-v3-hero-lead {
        text-align: right !important;
    }

    .memorial-v3-hero-facts {
        direction: rtl !important;
    }

    .memorial-v3-burial-line {
        justify-content: flex-start !important;
    }

    .memorial-v3-download-portrait {
        min-height: 42px !important;
        margin-top: 8px !important;
        border-radius: 10px !important;
        white-space: nowrap !important;
    }
}

@media (max-width: 760px) {

    .memorial-v3-hero-grid {
        direction: rtl !important;
        grid-template-columns: 1fr !important;
    }

    .memorial-v3-portrait-column {
        grid-column: 1 !important;
        grid-row: 1 !important;
        justify-self: center !important;
    }

    .memorial-v3-hero-copy {
        grid-column: 1 !important;
        grid-row: 2 !important;
        direction: rtl !important;
        text-align: center !important;
        margin-inline: auto !important;
    }

    .memorial-v3-badges,
    .memorial-v3-burial-line {
        justify-content: center !important;
    }

    .memorial-v3-hero h1,
    .memorial-v3-hero-lead {
        text-align: center !important;
    }
}

/* END LOCK 9A-4D3R-1 HERO */

/* ==========================================================
   BEGIN LOCK 9A-4D3R-2 TOPBAR
   Frozen prototype fidelity:
   - LEFT: spiritual gifts
   - CENTER: sharing tools
   - RIGHT: large permanent QR
   - RTL preserved inside each component
   ========================================================== */

@media (min-width: 981px) {

    .memorial-v3-topbar {
        margin-top: -28px !important;
    }

    .memorial-v3-topbar-grid {
        direction: ltr !important;
        grid-template-columns:
            minmax(330px, .95fr)
            minmax(520px, 1.55fr)
            minmax(300px, .85fr) !important;
        gap: 12px !important;
        align-items: stretch !important;
    }

    .memorial-v3-spiritual-compact {
        grid-column: 1 !important;
        direction: rtl !important;
        min-height: 142px !important;
        padding: 14px 16px !important;
        grid-template-columns: minmax(132px, .9fr) minmax(0, 1.3fr) !important;
        gap: 14px !important;
    }

    .memorial-v3-tool-buttons {
        grid-column: 2 !important;
        direction: rtl !important;
        min-height: 142px !important;
        padding: 13px !important;
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
        gap: 7px !important;
    }

    .memorial-v3-permalink {
        grid-column: 3 !important;
        direction: rtl !important;
        min-height: 142px !important;
        padding: 10px 12px !important;
        grid-template-columns: minmax(0, 1fr) 138px !important;
        gap: 12px !important;
    }

    .memorial-v3-qr {
        width: 138px !important;
        height: 138px !important;
        border-radius: 13px !important;
    }

    .memorial-v3-qr canvas,
    .memorial-v3-qr img {
        width: 134px !important;
        height: 134px !important;
    }

    .memorial-v3-permalink-copy {
        text-align: right !important;
    }

    .memorial-v3-permalink-copy strong {
        font-size: 16px !important;
    }

    .memorial-v3-permalink-copy small {
        font-size: 10px !important;
        line-height: 1.85 !important;
    }

    .memorial-v3-spiritual-heading h2 {
        font-size: 17px !important;
        line-height: 1.55 !important;
    }

    .memorial-v3-spiritual-action {
        min-height: 70px !important;
    }

    .memorial-v3-tool {
        min-height: 52px !important;
        font-size: 11px !important;
    }
}

@media (max-width: 980px) {

    .memorial-v3-topbar-grid {
        direction: rtl !important;
        grid-template-columns: 1fr !important;
    }

    .memorial-v3-spiritual-compact,
    .memorial-v3-tool-buttons,
    .memorial-v3-permalink {
        grid-column: 1 !important;
        direction: rtl !important;
    }

    .memorial-v3-permalink {
        grid-template-columns: minmax(0, 1fr) 128px !important;
    }

    .memorial-v3-qr {
        width: 128px !important;
        height: 128px !important;
    }

    .memorial-v3-qr canvas,
    .memorial-v3-qr img {
        width: 124px !important;
        height: 124px !important;
    }
}

@media (max-width: 640px) {

    .memorial-v3-tool-buttons {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .memorial-v3-spiritual-compact {
        grid-template-columns: 1fr !important;
    }

    .memorial-v3-permalink {
        grid-template-columns: 1fr !important;
        justify-items: center !important;
        text-align: center !important;
    }

    .memorial-v3-permalink-copy {
        text-align: center !important;
    }
}

/* END LOCK 9A-4D3R-2 TOPBAR */

/* ==========================================================
   BEGIN REPAIR 9A-4D3R-2A TOPBAR FIT
   Repair only:
   - remove fixed minimum column widths that overflow at 1024px
   - keep LEFT spiritual / CENTER share / RIGHT QR
   - keep QR large
   - spiritual actions stay inside their own card
   ========================================================== */

@media (min-width: 981px) {

    .memorial-v3-topbar-grid {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1.42fr)
            minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .memorial-v3-spiritual-compact,
    .memorial-v3-tool-buttons,
    .memorial-v3-permalink {
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .memorial-v3-spiritual-compact {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto auto !important;
        align-content: center !important;
        gap: 8px !important;
        padding: 11px 12px !important;
        overflow: hidden !important;
    }

    .memorial-v3-spiritual-heading {
        min-width: 0 !important;
    }

    .memorial-v3-spiritual-heading h2 {
        margin-top: 2px !important;
        font-size: 15px !important;
        line-height: 1.45 !important;
        white-space: normal !important;
    }

    .memorial-v3-spiritual-actions {
        min-width: 0 !important;
        width: 100% !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 5px !important;
    }

    .memorial-v3-spiritual-action {
        min-width: 0 !important;
        min-height: 55px !important;
        padding: 5px 6px !important;
        grid-template-columns: minmax(0, 1fr) 24px !important;
        gap: 1px 4px !important;
    }

    .memorial-v3-spiritual-action > span:first-child {
        font-size: 9px !important;
    }

    .memorial-v3-spiritual-action > strong {
        font-size: 16px !important;
    }

    .memorial-v3-spiritual-action .mx-spiritual-plus {
        width: 23px !important;
        height: 23px !important;
        font-size: 14px !important;
    }

    .memorial-v3-tool-buttons {
        padding: 11px !important;
        gap: 5px !important;
    }

    .memorial-v3-tool {
        min-width: 0 !important;
        min-height: 48px !important;
        padding-inline: 5px !important;
        font-size: 10px !important;
        white-space: nowrap !important;
    }

    .memorial-v3-permalink {
        grid-template-columns: minmax(0, 1fr) 124px !important;
        padding: 10px !important;
        gap: 9px !important;
    }

    .memorial-v3-qr {
        width: 124px !important;
        height: 124px !important;
    }

    .memorial-v3-qr canvas,
    .memorial-v3-qr img {
        width: 120px !important;
        height: 120px !important;
    }
}

@media (min-width: 1180px) {

    .memorial-v3-topbar-grid {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1.55fr)
            minmax(0, .95fr) !important;
        gap: 12px !important;
    }

    .memorial-v3-permalink {
        grid-template-columns: minmax(0, 1fr) 138px !important;
    }

    .memorial-v3-qr {
        width: 138px !important;
        height: 138px !important;
    }

    .memorial-v3-qr canvas,
    .memorial-v3-qr img {
        width: 134px !important;
        height: 134px !important;
    }
}

/* END REPAIR 9A-4D3R-2A TOPBAR FIT */

/* ==========================================================
   BEGIN LOCK 9A-4D3R-3 OVERVIEW
   Frozen prototype fidelity:
   - RTL order: personal / sacrifice record / martyr information
   - veteran card sits BETWEEN personal and martyr information
   - veteran card disappears entirely when no veteran data exists
   - no progress bar for disability percentage
   - compact row-based memorial cards, not dashboard blocks
   ========================================================== */

.memorial-v3-overview {
    margin-top: 8px !important;
}

.memorial-v3-overview .memorial-v3-section-title {
    margin-bottom: 12px !important;
}

.memorial-v3-overview-grid {
    width: 100% !important;
    margin-top: 0 !important;
    gap: 12px !important;
    align-items: stretch !important;
    direction: rtl !important;
}

.memorial-v3-overview-grid.has-veteran {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.memorial-v3-overview-grid.no-veteran {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: min(100%, 880px) !important;
    max-width: 880px !important;
    margin-inline: auto !important;
}

.memorial-v3-overview .memorial-v3-card {
    min-height: 0 !important;
    height: 100% !important;
    padding: 14px !important;
    border: 1px solid #e2eae6 !important;
    border-radius: 15px !important;
    background: #ffffff !important;
    box-shadow: 0 9px 24px rgba(21, 70, 55, .04) !important;
    color: #264a3e !important;
}

.memorial-v3-overview .memorial-v3-card-head {
    min-height: 34px !important;
    padding-bottom: 9px !important;
    gap: 8px !important;
    border-bottom: 0 !important;
}

.memorial-v3-overview .memorial-v3-card-head h3 {
    margin: 0 !important;
    color: #0d5b46 !important;
    font-size: 17px !important;
    line-height: 1.5 !important;
}

.memorial-v3-overview .memorial-v3-icon {
    width: 30px !important;
    height: 30px !important;
    flex: 0 0 30px !important;
    border-radius: 9px !important;
    color: #0c6a51 !important;
    background: #e9f4ef !important;
    font-size: 14px !important;
}

.memorial-v3-overview .memorial-v3-dl,
.memorial-v3-overview .memorial-v3-dl-on-dark {
    margin: 2px 0 0 !important;
    display: grid !important;
    gap: 5px !important;
}

.memorial-v3-overview .memorial-v3-dl > div,
.memorial-v3-overview .memorial-v3-dl-on-dark > div {
    min-height: 35px !important;
    margin: 0 !important;
    padding: 6px 10px !important;
    display: grid !important;
    grid-template-columns: minmax(105px, .8fr) minmax(0, 1.2fr) !important;
    gap: 10px !important;
    align-items: center !important;
    border: 1px solid #edf2ef !important;
    border-radius: 7px !important;
    background: #f8faf9 !important;
}

.memorial-v3-overview .memorial-v3-dl dt,
.memorial-v3-overview .memorial-v3-dl-on-dark dt {
    color: #899791 !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1.6 !important;
}

.memorial-v3-overview .memorial-v3-dl dd,
.memorial-v3-overview .memorial-v3-dl-on-dark dd {
    margin: 0 !important;
    color: #29483e !important;
    font-size: 11.5px !important;
    font-weight: 850 !important;
    line-height: 1.75 !important;
}

.memorial-v3-overview .memorial-v3-veteran-card {
    border-color: #dce9e3 !important;
    background: #ffffff !important;
    color: #264a3e !important;
}

.memorial-v3-overview .memorial-v3-veteran-card .memorial-v3-card-head {
    border-bottom-color: transparent !important;
}

.memorial-v3-overview .memorial-v3-veteran-card .memorial-v3-card-head h3 {
    color: #0d5b46 !important;
}

.memorial-v3-overview .memorial-v3-veteran-card .memorial-v3-icon {
    color: #0c6a51 !important;
    background: #e9f4ef !important;
}

.memorial-v3-overview .memorial-v3-percent-row dd strong {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 46px !important;
    min-height: 26px !important;
    padding: 2px 10px !important;
    border-radius: 999px !important;
    color: #0b5a46 !important;
    background: #dcefe7 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.memorial-v3-overview .memorial-v3-veteran-status-row dd {
    color: #0b5a46 !important;
    font-weight: 900 !important;
}

@media (max-width: 1080px) and (min-width: 901px) {

    .memorial-v3-overview-grid.has-veteran {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .memorial-v3-overview-grid.has-veteran .memorial-v3-veteran-card {
        grid-column: auto !important;
    }

    .memorial-v3-overview .memorial-v3-dl > div,
    .memorial-v3-overview .memorial-v3-dl-on-dark > div {
        grid-template-columns: minmax(92px, .82fr) minmax(0, 1.18fr) !important;
        gap: 7px !important;
        padding-inline: 8px !important;
    }
}

@media (max-width: 900px) {

    .memorial-v3-overview-grid.has-veteran,
    .memorial-v3-overview-grid.no-veteran {
        grid-template-columns: 1fr !important;
        width: 100% !important;
        max-width: none !important;
    }

    .memorial-v3-overview-grid.has-veteran .memorial-v3-veteran-card {
        grid-column: auto !important;
    }
}

/* END LOCK 9A-4D3R-3 OVERVIEW */

/* ==========================================================
   BEGIN LOCK 9A-4D3R-4 TIMELINE
   Frozen prototype fidelity:
   - timeline remains a calm, editorial life path
   - event count adapts without fixed three-column assumptions
   - RTL order is preserved
   - memorial booklet sits BESIDE timeline only when a real file exists
   - no empty booklet placeholder is rendered
   ========================================================== */

.memorial-v3-timeline-wrap {
    margin-top: 18px !important;
    gap: 12px !important;
    align-items: stretch !important;
}

.memorial-v3-timeline-wrap.no-booklet {
    grid-template-columns: minmax(0, 1fr) !important;
}

.memorial-v3-timeline-wrap.has-booklet {
    grid-template-columns: minmax(0, 1fr) 286px !important;
}

.memorial-v3-timeline-card {
    min-width: 0 !important;
    padding: 22px 24px 20px !important;
    overflow: hidden !important;
}

.memorial-v3-timeline-card .memorial-v3-section-title-inline {
    align-items: center !important;
    margin-bottom: 4px !important;
}

.memorial-v3-timeline {
    direction: rtl !important;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
    gap: 14px !important;
    margin-top: 26px !important;
}

.memorial-v3-timeline::before {
    top: 20px !important;
    right: 7% !important;
    left: 7% !important;
    height: 1px !important;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(209, 158, 55, .34) 6%,
            #d19e37 18%,
            #d19e37 82%,
            rgba(209, 158, 55, .34) 94%,
            transparent
        ) !important;
}

.memorial-v3-timeline li {
    min-width: 0 !important;
    min-height: 138px !important;
    padding: 0 14px 12px !important;
}

.memorial-v3-timeline-node {
    width: 40px !important;
    height: 40px !important;
    margin-bottom: 10px !important;
    border-color: #d6a13b !important;
    color: #0a5b46 !important;
    background: #fffdf8 !important;
    box-shadow:
        0 0 0 5px #fff,
        0 4px 13px rgba(19, 72, 55, .08) !important;
    font-size: 14px !important;
}

.memorial-v3-timeline li > b {
    display: block !important;
    color: #c38b27 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
}

.memorial-v3-timeline h3 {
    margin-top: 5px !important;
    color: #083e31 !important;
    font-size: 18px !important;
    line-height: 1.55 !important;
}

.memorial-v3-timeline p {
    max-width: 250px !important;
    margin: 5px auto 0 !important;
    color: #728079 !important;
    font-size: 10.5px !important;
    line-height: 1.9 !important;
}

/* Real booklet only. The PHP template already suppresses this card when empty. */
.memorial-v3-booklet-card {
    min-width: 0 !important;
    padding: 20px !important;
    border-color: rgba(209, 158, 55, .24) !important;
    background:
        radial-gradient(
            circle at 100% 0,
            rgba(225, 178, 78, .12),
            transparent 38%
        ),
        linear-gradient(145deg, #fffdf8 0%, #ffffff 72%) !important;
}

.memorial-v3-booklet-icon {
    width: 48px !important;
    height: 48px !important;
    border-radius: 14px !important;
    background: #0a5b46 !important;
    box-shadow: 0 8px 18px rgba(10, 91, 70, .14) !important;
}

.memorial-v3-booklet-card small {
    color: #c38b27 !important;
    font-size: 10px !important;
}

.memorial-v3-booklet-card h3 {
    color: #143f35 !important;
    font-size: 19px !important;
    line-height: 1.55 !important;
}

.memorial-v3-booklet-card p {
    color: #76827d !important;
    font-size: 10.5px !important;
    line-height: 1.9 !important;
}

.memorial-v3-booklet-card a {
    width: 100% !important;
    min-height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #0a5b46 !important;
    border-radius: 10px !important;
    background: #0a5b46 !important;
    color: #fff !important;
    text-align: center !important;
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        background .18s ease !important;
}

.memorial-v3-booklet-card a:hover,
.memorial-v3-booklet-card a:focus-visible {
    background: #084936 !important;
    box-shadow: 0 7px 18px rgba(10, 91, 70, .15) !important;
    transform: translateY(-1px) !important;
}

@media (max-width: 980px) {

    .memorial-v3-timeline-wrap.has-booklet {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .memorial-v3-booklet-card {
        display: grid !important;
        grid-template-columns: 48px minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 12px !important;
    }

    .memorial-v3-booklet-card small,
    .memorial-v3-booklet-card h3,
    .memorial-v3-booklet-card p {
        grid-column: 2 !important;
    }

    .memorial-v3-booklet-card a {
        grid-column: 3 !important;
        grid-row: 1 / span 3 !important;
        width: auto !important;
        min-width: 128px !important;
        margin-top: 0 !important;
    }
}

@media (max-width: 760px) {

    .memorial-v3-timeline-card {
        padding: 18px 16px !important;
    }

    .memorial-v3-timeline {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        margin-top: 18px !important;
    }

    .memorial-v3-timeline::before {
        display: none !important;
    }

    .memorial-v3-timeline li {
        min-height: 0 !important;
        padding: 10px 0 !important;
        grid-template-columns: 44px minmax(0, 1fr) !important;
        text-align: right !important;
    }

    .memorial-v3-timeline p {
        max-width: none !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    .memorial-v3-booklet-card {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
    }

    .memorial-v3-booklet-card a {
        width: 100% !important;
        min-width: 0 !important;
        margin-top: 14px !important;
    }
}

/* END LOCK 9A-4D3R-4 TIMELINE */

/* ==========================================================
   BEGIN LOCK 9A-4D3R-5 LIFE STORY
   Frozen prototype fidelity:
   - full-width editorial reading surface
   - rendered only when real biography content exists
   - comfortable Persian reading measure and line height
   - supports headings, lists, quotes, links and inline images
   - no empty biography placeholder
   ========================================================== */

.memorial-v3-reading-section {
    position: relative !important;
    margin-top: 20px !important;
    padding: 28px 30px 30px !important;
    overflow: hidden !important;
    border-color: rgba(15, 91, 69, .11) !important;
    background:
        radial-gradient(
            circle at 100% 0,
            rgba(209, 158, 55, .07),
            transparent 32%
        ),
        #fff !important;
}

.memorial-v3-reading-section::before {
    content: "" !important;
    position: absolute !important;
    top: 24px !important;
    right: 0 !important;
    width: 4px !important;
    height: 62px !important;
    border-radius: 4px 0 0 4px !important;
    background: linear-gradient(
        180deg,
        #d5a33d 0%,
        #0a5b46 100%
    ) !important;
}

.memorial-v3-reading-section .memorial-v3-section-title {
    max-width: 880px !important;
    margin-inline: auto !important;
}

.memorial-v3-reading-section .memorial-v3-section-title > span {
    color: #c38b27 !important;
    letter-spacing: 0 !important;
}

.memorial-v3-reading-section .memorial-v3-section-title h2 {
    margin-top: 4px !important;
    color: #0b4536 !important;
    font-size: clamp(25px, 2.5vw, 32px) !important;
    line-height: 1.5 !important;
}

.memorial-v3-prose {
    max-width: 880px !important;
    margin: 18px auto 0 !important;
    color: #334d44 !important;
    font-size: 15px !important;
    line-height: 2.35 !important;
    text-align: justify !important;
    text-justify: inter-word !important;
}

.memorial-v3-prose > *:first-child {
    margin-top: 0 !important;
}

.memorial-v3-prose > *:last-child {
    margin-bottom: 0 !important;
}

.memorial-v3-prose p {
    margin: 0 0 16px !important;
}

.memorial-v3-prose p:first-of-type {
    color: #29483e !important;
    font-size: 15.5px !important;
    line-height: 2.4 !important;
}

.memorial-v3-prose h2,
.memorial-v3-prose h3,
.memorial-v3-prose h4 {
    color: #0b4d3b !important;
    line-height: 1.65 !important;
}

.memorial-v3-prose h2 {
    margin: 30px 0 12px !important;
    font-size: 22px !important;
}

.memorial-v3-prose h3 {
    margin: 26px 0 10px !important;
    font-size: 19px !important;
}

.memorial-v3-prose h4 {
    margin: 22px 0 9px !important;
    font-size: 17px !important;
}

.memorial-v3-prose ul,
.memorial-v3-prose ol {
    margin: 12px 0 18px !important;
    padding-right: 24px !important;
    padding-left: 0 !important;
}

.memorial-v3-prose li {
    margin: 5px 0 !important;
}

.memorial-v3-prose blockquote {
    margin: 24px 0 !important;
    padding: 15px 18px 15px 16px !important;
    border: 0 !important;
    border-right: 3px solid #d3a13f !important;
    border-radius: 10px !important;
    color: #315148 !important;
    background: #fbfaf5 !important;
    font-size: 14.5px !important;
    line-height: 2.2 !important;
}

.memorial-v3-prose blockquote p:last-child {
    margin-bottom: 0 !important;
}

.memorial-v3-prose a {
    color: #0a6950 !important;
    text-decoration-color: rgba(10, 105, 80, .35) !important;
    text-underline-offset: 3px !important;
}

.memorial-v3-prose strong,
.memorial-v3-prose b {
    color: #173f34 !important;
    font-weight: 900 !important;
}

.memorial-v3-prose img {
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 22px auto 8px !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 28px rgba(20, 67, 52, .08) !important;
}

.memorial-v3-prose figure {
    max-width: 100% !important;
    margin: 24px auto !important;
}

.memorial-v3-prose figcaption,
.memorial-v3-prose .wp-caption-text {
    margin-top: 7px !important;
    color: #87928d !important;
    font-size: 10px !important;
    line-height: 1.8 !important;
    text-align: center !important;
}

.memorial-v3-prose hr {
    width: 90px !important;
    margin: 28px auto !important;
    border: 0 !important;
    border-top: 1px solid rgba(209, 158, 55, .35) !important;
}

@media (max-width: 760px) {

    .memorial-v3-reading-section {
        padding: 21px 18px 23px !important;
    }

    .memorial-v3-reading-section::before {
        top: 20px !important;
        height: 52px !important;
    }

    .memorial-v3-prose {
        margin-top: 14px !important;
        font-size: 13.5px !important;
        line-height: 2.25 !important;
        text-align: right !important;
    }

    .memorial-v3-prose p:first-of-type {
        font-size: 14px !important;
        line-height: 2.3 !important;
    }

    .memorial-v3-prose blockquote {
        padding: 13px 14px !important;
        font-size: 13px !important;
    }
}

@media print {

    .memorial-v3-reading-section {
        border: 0 !important;
        box-shadow: none !important;
        background: #fff !important;
    }

    .memorial-v3-reading-section::before {
        display: none !important;
    }

    .memorial-v3-prose {
        max-width: none !important;
        color: #111 !important;
        font-size: 12pt !important;
        line-height: 2 !important;
    }
}

/* END LOCK 9A-4D3R-5 LIFE STORY */

/* ==========================================================
   BEGIN LOCK 9A-4D3R-6 MEDIA
   Frozen prototype fidelity:
   - one coherent archive for images, video, audio and documents
   - primary portrait is excluded by the template query
   - no public media section when no real media exists
   - images never stretch; gallery crop uses object-fit only
   - first video may act as the featured family/interview story
   - local video/audio are playable in place
   - memorial booklet stays beside the timeline and is not duplicated here
   ========================================================== */

.memorial-v3-media-section {
    position: relative !important;
    margin-top: 20px !important;
    padding: 24px !important;
    overflow: hidden !important;
    border-color: rgba(15, 91, 69, .11) !important;
    background:
        radial-gradient(
            circle at 100% 0,
            rgba(209, 158, 55, .065),
            transparent 30%
        ),
        #fff !important;
}

.memorial-v3-media-head {
    align-items: flex-end !important;
    gap: 20px !important;
}

.memorial-v3-media-head .memorial-v3-section-title {
    min-width: 0 !important;
}

.memorial-v3-media-head .memorial-v3-section-title > span {
    color: #c38b27 !important;
}

.memorial-v3-media-head .memorial-v3-section-title h2 {
    margin-top: 3px !important;
    color: #0b4536 !important;
    font-size: clamp(24px, 2.4vw, 31px) !important;
    line-height: 1.5 !important;
}

.memorial-v3-media-head .memorial-v3-section-title p {
    max-width: 660px !important;
    margin: 5px 0 0 !important;
    color: #7b8983 !important;
    font-size: 10.5px !important;
    line-height: 1.9 !important;
}

.memorial-v3-media-filters {
    flex: 0 0 auto !important;
    gap: 6px !important;
    padding: 4px !important;
    border: 1px solid rgba(13, 83, 63, .09) !important;
    border-radius: 11px !important;
    background: #f7faf8 !important;
}

.memorial-v3-media-filters button {
    min-height: 34px !important;
    padding: 6px 14px !important;
    border: 0 !important;
    border-radius: 8px !important;
    color: #64766f !important;
    background: transparent !important;
    font-size: 10px !important;
    transition:
        color .16s ease,
        background .16s ease,
        box-shadow .16s ease !important;
}

.memorial-v3-media-filters button:hover,
.memorial-v3-media-filters button:focus-visible {
    color: #0a5b46 !important;
    background: #edf5f1 !important;
}

.memorial-v3-media-filters button.is-active {
    color: #fff !important;
    background: #0a5b46 !important;
    box-shadow: 0 5px 13px rgba(10, 91, 70, .13) !important;
}

.memorial-v3-gallery-grid {
    margin-top: 18px !important;
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 12px !important;
    align-items: stretch !important;
}

.memorial-v3-media-item {
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    position: relative !important;
    border: 1px solid #e1e9e5 !important;
    border-radius: 14px !important;
    color: #163f34 !important;
    background: #fff !important;
    box-shadow: 0 8px 22px rgba(19, 70, 54, .045) !important;
    text-decoration: none !important;
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease !important;
}

.memorial-v3-media-item:hover,
.memorial-v3-media-item:focus-within {
    border-color: rgba(10, 91, 70, .22) !important;
    box-shadow: 0 12px 28px rgba(19, 70, 54, .085) !important;
    transform: translateY(-2px) !important;
}

.memorial-v3-media-item[hidden] {
    display: none !important;
}

/* Images: no deformation. The card may crop, the original opens untouched. */
.memorial-v3-image-item {
    grid-column: span 4 !important;
    display: flex !important;
    flex-direction: column !important;
}

.memorial-v3-image-frame {
    width: 100% !important;
    aspect-ratio: 4 / 3 !important;
    display: block !important;
    overflow: hidden !important;
    background: #eef3f0 !important;
}

.memorial-v3-image-frame img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center top !important;
}

/* Video: real inline player; first video becomes the visual anchor. */
.memorial-v3-video-item {
    grid-column: span 6 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    text-align: right !important;
    background: #f8faf9 !important;
}

.memorial-v3-video-item.is-featured {
    grid-column: span 8 !important;
}

.memorial-v3-video-frame {
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    overflow: hidden !important;
    background: #10241e !important;
}

.memorial-v3-video-frame video {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: contain !important;
    background: #10241e !important;
}

/* Audio: compact but fully usable. */
.memorial-v3-audio-item {
    grid-column: span 4 !important;
    padding: 18px !important;
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    align-content: center !important;
    align-items: center !important;
    gap: 8px 12px !important;
    text-align: right !important;
    background:
        linear-gradient(145deg, #f6faf8 0%, #fff 70%) !important;
}

.memorial-v3-audio-symbol {
    width: 44px !important;
    height: 44px !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 13px !important;
    color: #fff !important;
    background: #0a5b46 !important;
    font-size: 20px !important;
    box-shadow: 0 7px 16px rgba(10, 91, 70, .13) !important;
}

.memorial-v3-audio-item .memorial-v3-media-meta {
    grid-column: 2 !important;
    grid-row: 1 !important;
}

.memorial-v3-audio-item audio {
    width: 100% !important;
    height: 36px !important;
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
}

/* Documents live in the archive; memorial booklet is excluded in PHP. */
.memorial-v3-document-item {
    grid-column: span 4 !important;
    min-height: 112px !important;
    padding: 16px !important;
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    background: #fffdf8 !important;
}

.memorial-v3-document-icon {
    width: 48px !important;
    height: 48px !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid rgba(194, 139, 39, .22) !important;
    border-radius: 13px !important;
    color: #9a6819 !important;
    background: rgba(224, 178, 76, .10) !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: .03em !important;
}

.memorial-v3-media-meta {
    min-width: 0 !important;
    padding: 11px 13px !important;
    display: block !important;
}

.memorial-v3-image-item .memorial-v3-media-meta,
.memorial-v3-video-item .memorial-v3-media-meta {
    border-top: 1px solid #edf1ef !important;
}

.memorial-v3-audio-item .memorial-v3-media-meta,
.memorial-v3-document-item .memorial-v3-media-meta {
    padding: 0 !important;
    border: 0 !important;
}

.memorial-v3-media-meta strong {
    display: block !important;
    overflow: hidden !important;
    color: #173f34 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1.75 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.memorial-v3-media-meta small {
    display: block !important;
    margin-top: 2px !important;
    color: #8a9691 !important;
    font-size: 9px !important;
    line-height: 1.7 !important;
}

@media (max-width: 980px) {

    .memorial-v3-image-item,
    .memorial-v3-audio-item,
    .memorial-v3-document-item {
        grid-column: span 6 !important;
    }

    .memorial-v3-video-item,
    .memorial-v3-video-item.is-featured {
        grid-column: span 12 !important;
    }
}

@media (max-width: 760px) {

    .memorial-v3-media-section {
        padding: 19px 16px !important;
    }

    .memorial-v3-media-head {
        align-items: stretch !important;
    }

    .memorial-v3-media-filters {
        width: 100% !important;
        overflow-x: auto !important;
        flex-wrap: nowrap !important;
        scrollbar-width: thin !important;
    }

    .memorial-v3-media-filters button {
        flex: 0 0 auto !important;
    }

    .memorial-v3-gallery-grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .memorial-v3-image-item,
    .memorial-v3-video-item,
    .memorial-v3-video-item.is-featured,
    .memorial-v3-audio-item,
    .memorial-v3-document-item {
        grid-column: 1 !important;
    }

    .memorial-v3-image-frame {
        aspect-ratio: 4 / 3 !important;
    }
}

@media print {

    .memorial-v3-media-filters,
    .memorial-v3-video-item video,
    .memorial-v3-audio-item audio {
        display: none !important;
    }

    .memorial-v3-media-item {
        box-shadow: none !important;
        break-inside: avoid !important;
    }
}

/* END LOCK 9A-4D3R-6 MEDIA */

/* ==========================================================
   BEGIN LOCK 9A-4D3R-7 WILL
   Frozen prototype fidelity:
   - dedicated full-width testament section
   - hidden completely when no real text/document exists
   - typed text + original scanned document can coexist
   - long text expands on demand through the existing JS hook
   - no generated/fabricated testament content
   ========================================================== */

.memorial-v3-will {
    grid-column: 1 / -1 !important;
    position: relative !important;
    padding: 24px 26px 26px !important;
    overflow: hidden !important;
    border-color: rgba(196, 142, 38, .18) !important;
    background:
        radial-gradient(
            circle at 100% 0,
            rgba(218, 166, 63, .10),
            transparent 34%
        ),
        linear-gradient(
            145deg,
            #fffdf8 0%,
            #ffffff 68%
        ) !important;
}

.memorial-v3-will::before {
    content: "❞" !important;
    position: absolute !important;
    top: 10px !important;
    left: 22px !important;
    color: rgba(203, 150, 44, .10) !important;
    font-size: 92px !important;
    line-height: 1 !important;
    pointer-events: none !important;
}

.memorial-v3-will-head {
    position: relative !important;
    z-index: 1 !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 18px !important;
}

.memorial-v3-will-head h2 {
    margin-top: 3px !important;
    color: #0a4636 !important;
    font-size: clamp(24px, 2.4vw, 31px) !important;
    line-height: 1.5 !important;
}

.memorial-v3-will-badge {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    min-height: 32px !important;
    padding: 5px 11px !important;
    border: 1px solid rgba(10, 91, 70, .12) !important;
    border-radius: 999px !important;
    color: #0a5b46 !important;
    background: #eef7f3 !important;
    font-size: 9.5px !important;
    font-weight: 900 !important;
}

.memorial-v3-will-layout {
    position: relative !important;
    z-index: 1 !important;
    margin-top: 16px !important;
    display: grid !important;
    gap: 18px !important;
    align-items: start !important;
}

.memorial-v3-will-layout.text-only {
    grid-template-columns: minmax(0, 1fr) !important;
}

.memorial-v3-will-layout.has-document {
    grid-template-columns: minmax(0, 1fr) 270px !important;
}

.memorial-v3-will-text {
    min-width: 0 !important;
    max-width: 880px !important;
}

.memorial-v3-will-preview,
.memorial-v3-will-full {
    color: #3d514a !important;
    font-size: 13.5px !important;
    line-height: 2.25 !important;
    text-align: justify !important;
    text-justify: inter-word !important;
}

.memorial-v3-will-preview p,
.memorial-v3-will-full p {
    margin: 0 0 12px !important;
}

.memorial-v3-will-full.is-visible {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.memorial-v3-will-full:not([hidden]):not(.is-visible) {
    margin-top: 15px !important;
    padding-top: 15px !important;
    border-top: 1px solid rgba(194, 139, 39, .17) !important;
}

.memorial-v3-will .memorial-v3-primary {
    min-height: 38px !important;
    margin-top: 8px !important;
    padding: 7px 15px !important;
    border: 1px solid #0a5b46 !important;
    border-radius: 10px !important;
    color: #fff !important;
    background: #0a5b46 !important;
    font-size: 10px !important;
}

.memorial-v3-will .memorial-v3-primary:hover,
.memorial-v3-will .memorial-v3-primary:focus-visible {
    background: #084937 !important;
}

.memorial-v3-will-document {
    min-width: 0 !important;
    padding: 15px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 7px !important;
    border: 1px solid rgba(198, 147, 45, .18) !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, .80) !important;
}

.memorial-v3-will-document-preview {
    width: 100% !important;
    aspect-ratio: 4 / 3 !important;
    display: block !important;
    overflow: hidden !important;
    border-radius: 10px !important;
    background: #f1f4f2 !important;
}

.memorial-v3-will-document-preview img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: contain !important;
    object-position: center !important;
}

.memorial-v3-will-document-icon {
    width: 54px !important;
    height: 54px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 14px !important;
    color: #94651a !important;
    background: rgba(216, 166, 64, .13) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
}

.memorial-v3-will-document strong {
    margin-top: 3px !important;
    overflow: hidden !important;
    color: #173f34 !important;
    font-size: 11px !important;
    line-height: 1.75 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.memorial-v3-will-document small {
    color: #8b9692 !important;
    font-size: 9px !important;
    line-height: 1.7 !important;
}

.memorial-v3-will-document-link {
    min-height: 38px !important;
    margin-top: 5px !important;
    padding: 7px 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(10, 91, 70, .18) !important;
    border-radius: 9px !important;
    color: #0a5b46 !important;
    background: #f4faf7 !important;
    font-size: 9.5px !important;
    font-weight: 900 !important;
    text-align: center !important;
    text-decoration: none !important;
}

.memorial-v3-will-document-link:hover,
.memorial-v3-will-document-link:focus-visible {
    border-color: rgba(10, 91, 70, .32) !important;
    background: #eaf6f0 !important;
}

@media (max-width: 820px) {

    .memorial-v3-will-layout.has-document {
        grid-template-columns: 1fr !important;
    }

    .memorial-v3-will-document {
        display: grid !important;
        grid-template-columns: 64px minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 6px 12px !important;
    }

    .memorial-v3-will-document-preview,
    .memorial-v3-will-document-icon {
        grid-column: 1 !important;
        grid-row: 1 / span 3 !important;
    }

    .memorial-v3-will-document-preview {
        width: 64px !important;
        height: 64px !important;
        aspect-ratio: 1 !important;
    }

    .memorial-v3-will-document strong,
    .memorial-v3-will-document small {
        grid-column: 2 !important;
    }

    .memorial-v3-will-document-link {
        grid-column: 3 !important;
        grid-row: 1 / span 3 !important;
        min-width: 148px !important;
        margin-top: 0 !important;
    }
}

@media (max-width: 600px) {

    .memorial-v3-will {
        padding: 20px 17px 22px !important;
    }

    .memorial-v3-will-head {
        flex-direction: column !important;
        gap: 8px !important;
    }

    .memorial-v3-will-preview,
    .memorial-v3-will-full {
        font-size: 13px !important;
        line-height: 2.2 !important;
        text-align: right !important;
    }

    .memorial-v3-will-document {
        display: flex !important;
    }

    .memorial-v3-will-document-preview {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 4 / 3 !important;
    }

    .memorial-v3-will-document-link {
        width: 100% !important;
        min-width: 0 !important;
    }
}

@media print {

    .memorial-v3-will {
        grid-column: 1 / -1 !important;
        box-shadow: none !important;
        background: #fff !important;
    }

    .memorial-v3-will::before,
    .memorial-v3-will .memorial-v3-primary,
    .memorial-v3-will-document-link {
        display: none !important;
    }

    .memorial-v3-will-full[hidden] {
        display: block !important;
    }
}

/* END LOCK 9A-4D3R-7 WILL */

/* ==========================================================
   BEGIN LOCK 9A-4D3R-8 GRAVE + MEMORIES
   Frozen prototype fidelity:
   - grave stays compact on the RIGHT in RTL layout
   - memories form the larger editorial surface on the LEFT
   - grave map action renders only when a real URL/coordinates exist
   - no "missing map" placeholder or negative empty state
   - existing memory submission hooks are preserved
   - approved memories remain the only public memories
   ========================================================== */

.memorial-v3-grave-memory-grid {
    grid-column: 1 / -1 !important;
    display: grid !important;
    direction: rtl !important;
    gap: 14px !important;
    align-items: start !important;
}

.memorial-v3-grave-memory-grid.has-grave {
    grid-template-columns: minmax(260px, .72fr) minmax(0, 1.55fr) !important;
}

.memorial-v3-grave-memory-grid.no-grave {
    grid-template-columns: minmax(0, 1fr) !important;
}

.memorial-v3-grave,
.memorial-v3-memories {
    min-width: 0 !important;
    border-color: rgba(15, 91, 69, .11) !important;
    background: #fff !important;
}

/* Grave */
.memorial-v3-grave {
    padding: 22px !important;
    overflow: hidden !important;
    background:
        radial-gradient(
            circle at 100% 0,
            rgba(35, 122, 92, .08),
            transparent 38%
        ),
        #fff !important;
}

.memorial-v3-grave-head {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.memorial-v3-grave-icon {
    width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid rgba(10, 91, 70, .14) !important;
    border-radius: 13px !important;
    color: #fff !important;
    background: #0a5b46 !important;
    box-shadow: 0 7px 18px rgba(10, 91, 70, .13) !important;
    font-size: 19px !important;
}

.memorial-v3-grave-head h2 {
    margin-top: 2px !important;
    color: #0b4536 !important;
    font-size: 22px !important;
    line-height: 1.5 !important;
}

.memorial-v3-grave-place {
    margin-top: 18px !important;
    padding: 14px 15px !important;
    border: 1px solid #e4ebe8 !important;
    border-radius: 12px !important;
    background: #f8fbf9 !important;
}

.memorial-v3-grave-place small {
    display: block !important;
    color: #89958f !important;
    font-size: 9px !important;
    line-height: 1.7 !important;
}

.memorial-v3-grave-place strong {
    display: block !important;
    margin-top: 5px !important;
    color: #153f34 !important;
    font-size: 13px !important;
    line-height: 1.8 !important;
}

.memorial-v3-grave-map {
    width: 100% !important;
    min-height: 40px !important;
    margin-top: 12px !important;
    padding: 8px 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    border: 1px solid rgba(10, 91, 70, .19) !important;
    border-radius: 10px !important;
    color: #0a5b46 !important;
    background: #f1f8f5 !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    text-align: center !important;
    text-decoration: none !important;
}

.memorial-v3-grave-map:hover,
.memorial-v3-grave-map:focus-visible {
    border-color: rgba(10, 91, 70, .34) !important;
    background: #e8f5ef !important;
}

/* Memories */
.memorial-v3-memories {
    padding: 22px 24px 24px !important;
}

.memorial-v3-memories-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 18px !important;
}

.memorial-v3-memories-head h2 {
    margin-top: 2px !important;
    color: #0b4536 !important;
    font-size: 24px !important;
    line-height: 1.5 !important;
}

.memorial-v3-memories-head p {
    max-width: 620px !important;
    margin: 5px 0 0 !important;
    color: #7c8984 !important;
    font-size: 10.5px !important;
    line-height: 1.9 !important;
}

.memorial-v3-memory-count {
    flex: 0 0 auto !important;
    min-height: 30px !important;
    padding: 5px 11px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    border: 1px solid rgba(10, 91, 70, .12) !important;
    border-radius: 999px !important;
    color: #0a5b46 !important;
    background: #eef7f3 !important;
    font-size: 9.5px !important;
    font-weight: 900 !important;
}

.memorial-v3-memory-details {
    margin-top: 15px !important;
    border: 1px solid #dfe9e4 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #f8fbf9 !important;
}

.memorial-v3-memory-details > summary {
    min-height: 48px !important;
    padding: 10px 13px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    cursor: pointer !important;
    color: #0a5b46 !important;
    list-style: none !important;
    font-size: 10.5px !important;
    font-weight: 900 !important;
}

.memorial-v3-memory-details > summary::-webkit-details-marker {
    display: none !important;
}

.memorial-v3-memory-details > summary::after {
    content: "+" !important;
    width: 28px !important;
    height: 28px !important;
    flex: 0 0 28px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 9px !important;
    color: #fff !important;
    background: #0a5b46 !important;
    font-size: 16px !important;
    line-height: 1 !important;
}

.memorial-v3-memory-details[open] > summary::after {
    content: "−" !important;
}

.memorial-v3-memory-details > summary span {
    margin-left: auto !important;
}

.memorial-v3-memory-details > summary small {
    color: #8a9691 !important;
    font-size: 8.5px !important;
    font-weight: 500 !important;
}

.memorial-v3-memory-form {
    padding: 14px !important;
    display: grid !important;
    gap: 11px !important;
    border-top: 1px solid #e1e9e5 !important;
    background: #fff !important;
}

.memorial-v3-memory-form label {
    display: grid !important;
    gap: 5px !important;
}

.memorial-v3-memory-form label > span {
    color: #405a51 !important;
    font-size: 9px !important;
    font-weight: 900 !important;
}

.memorial-v3-memory-form input[type="text"],
.memorial-v3-memory-form textarea {
    width: 100% !important;
    box-sizing: border-box !important;
    border: 1px solid #dce6e1 !important;
    border-radius: 10px !important;
    color: #233f36 !important;
    background: #fff !important;
    font: inherit !important;
    font-size: 11px !important;
    line-height: 1.9 !important;
    outline: 0 !important;
}

.memorial-v3-memory-form input[type="text"] {
    min-height: 40px !important;
    padding: 7px 10px !important;
}

.memorial-v3-memory-form textarea {
    min-height: 126px !important;
    padding: 10px !important;
    resize: vertical !important;
}

.memorial-v3-memory-form input[type="text"]:focus,
.memorial-v3-memory-form textarea:focus {
    border-color: rgba(10, 91, 70, .42) !important;
    box-shadow: 0 0 0 3px rgba(10, 91, 70, .07) !important;
}

.memorial-v3-logged-user {
    padding: 9px 11px !important;
    border: 1px solid #deebe5 !important;
    border-radius: 9px !important;
    color: #667770 !important;
    background: #f5faf7 !important;
    font-size: 9.5px !important;
}

.memorial-v3-logged-user strong {
    color: #0a5b46 !important;
}

.memorial-v3-memory-form-actions {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.memorial-v3-memory-form-actions .memorial-v3-primary {
    min-width: 142px !important;
    min-height: 38px !important;
    padding: 7px 15px !important;
    border: 0 !important;
    border-radius: 9px !important;
    color: #fff !important;
    background: #0a5b46 !important;
    font-size: 10px !important;
    font-weight: 900 !important;
}

.memorial-v3-memory-form-actions .memorial-v3-primary:hover,
.memorial-v3-memory-form-actions .memorial-v3-primary:focus-visible {
    background: #084936 !important;
}

.memorial-v3-memory-form-actions .mx-form-status {
    min-width: 0 !important;
    color: #667770 !important;
    font-size: 9px !important;
    line-height: 1.8 !important;
}

.memorial-v3-memory-list {
    margin-top: 18px !important;
    border-top: 1px solid #edf1ef !important;
    padding-top: 15px !important;
}

.memorial-v3-memory-list > h3 {
    margin: 0 0 10px !important;
    color: #18463a !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}

.memorial-v3-memory-cards {
    display: grid !important;
    gap: 9px !important;
}

.memorial-v3-memory-item {
    padding: 13px !important;
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 11px !important;
    border: 1px solid #e7edeb !important;
    border-radius: 11px !important;
    background: #fbfcfb !important;
}

.memorial-v3-memory-avatar {
    width: 38px !important;
    height: 38px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 50% !important;
    color: #fff !important;
    background: #0a5b46 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
}

.memorial-v3-memory-body {
    min-width: 0 !important;
}

.memorial-v3-memory-body header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
}

.memorial-v3-memory-body header strong {
    color: #173f34 !important;
    font-size: 10.5px !important;
}

.memorial-v3-memory-body header time {
    flex: 0 0 auto !important;
    color: #9aa49f !important;
    font-size: 8.5px !important;
}

.memorial-v3-memory-body p {
    margin: 6px 0 0 !important;
    color: #52675f !important;
    font-size: 10.5px !important;
    line-height: 2 !important;
}

.memorial-v3-no-memory {
    padding: 14px !important;
    border: 1px dashed rgba(10, 91, 70, .16) !important;
    border-radius: 10px !important;
    color: #71817b !important;
    background: #fafcfb !important;
    font-size: 10px !important;
    line-height: 1.9 !important;
    text-align: center !important;
}

@media (max-width: 860px) {

    .memorial-v3-grave-memory-grid.has-grave {
        grid-template-columns: 1fr !important;
    }

    .memorial-v3-grave {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 12px !important;
    }

    .memorial-v3-grave-head {
        grid-column: 1 !important;
    }

    .memorial-v3-grave-place {
        grid-column: 2 !important;
        margin-top: 0 !important;
    }

    .memorial-v3-grave-map {
        grid-column: 3 !important;
        width: auto !important;
        min-width: 155px !important;
        margin-top: 0 !important;
    }
}

@media (max-width: 600px) {

    .memorial-v3-grave,
    .memorial-v3-memories {
        padding: 18px 16px !important;
    }

    .memorial-v3-grave {
        display: block !important;
    }

    .memorial-v3-grave-place {
        margin-top: 14px !important;
    }

    .memorial-v3-grave-map {
        width: 100% !important;
        min-width: 0 !important;
        margin-top: 10px !important;
    }

    .memorial-v3-memories-head {
        flex-direction: column !important;
        gap: 8px !important;
    }

    .memorial-v3-memory-details > summary {
        align-items: flex-start !important;
    }

    .memorial-v3-memory-details > summary small {
        display: none !important;
    }

    .memorial-v3-memory-form-actions {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .memorial-v3-memory-form-actions .memorial-v3-primary {
        width: 100% !important;
    }

    .memorial-v3-memory-body header {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 2px !important;
    }
}

@media print {

    .memorial-v3-memory-details {
        display: none !important;
    }

    .memorial-v3-grave,
    .memorial-v3-memories,
    .memorial-v3-memory-item {
        box-shadow: none !important;
        break-inside: avoid !important;
    }

    .memorial-v3-grave-map {
        display: none !important;
    }
}

/* END LOCK 9A-4D3R-8 GRAVE + MEMORIES */

/* ==========================================================
   BEGIN LOCK 9A-4D3R-9 CASPIAN UI POLISH + RESPONSIVE
   - Caspian-style icon sharing with tooltip + brand hover
   - adaptive media grid for 1 / 2 / 3+ items
   - restrained footer polish
   - mobile/responsive refinement without changing frozen architecture
   ========================================================== */

/* ---------- Caspian-style share tools ---------- */
.memorial-v3-caspian-share {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    direction: rtl !important;
}

.memorial-v3-caspian-share .memorial-v3-social-tool {
    position: relative !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    display: inline-grid !important;
    place-items: center !important;
    overflow: visible !important;
    border: 1px solid #e0e7e4 !important;
    border-radius: 12px !important;
    color: #65736e !important;
    background: #f8faf9 !important;
    box-shadow: none !important;
    transform: translateY(0) !important;
    transition:
        color .18s ease,
        background .18s ease,
        border-color .18s ease,
        transform .18s ease,
        box-shadow .18s ease !important;
}

.memorial-v3-caspian-share .memorial-v3-social-tool svg {
    width: 20px !important;
    height: 20px !important;
    display: block !important;
    fill: currentColor !important;
    pointer-events: none !important;
}

.memorial-v3-caspian-share .memorial-v3-social-tool::before {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    bottom: calc(100% + 4px) !important;
    z-index: 13 !important;
    width: 8px !important;
    height: 8px !important;
    opacity: 0 !important;
    background: #263038 !important;
    transform: translate(-50%, 5px) rotate(45deg) !important;
    transition: opacity .15s ease, transform .15s ease !important;
    pointer-events: none !important;
}

.memorial-v3-caspian-share .memorial-v3-social-tool::after {
    content: attr(data-label) !important;
    position: absolute !important;
    left: 50% !important;
    bottom: calc(100% + 8px) !important;
    z-index: 14 !important;
    min-width: max-content !important;
    padding: 7px 10px !important;
    opacity: 0 !important;
    border-radius: 8px !important;
    color: #fff !important;
    background: #263038 !important;
    box-shadow: 0 7px 18px rgba(0, 0, 0, .14) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    transform: translate(-50%, 5px) !important;
    transition: opacity .15s ease, transform .15s ease !important;
    pointer-events: none !important;
}

.memorial-v3-caspian-share .memorial-v3-social-tool:hover,
.memorial-v3-caspian-share .memorial-v3-social-tool:focus-visible {
    color: #fff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 18px rgba(22, 60, 48, .14) !important;
    outline: none !important;
}

.memorial-v3-caspian-share .memorial-v3-social-tool:hover::before,
.memorial-v3-caspian-share .memorial-v3-social-tool:hover::after,
.memorial-v3-caspian-share .memorial-v3-social-tool:focus-visible::before,
.memorial-v3-caspian-share .memorial-v3-social-tool:focus-visible::after {
    opacity: 1 !important;
    transform: translate(-50%, 0) rotate(45deg) !important;
}

.memorial-v3-caspian-share .memorial-v3-social-tool:hover::after,
.memorial-v3-caspian-share .memorial-v3-social-tool:focus-visible::after {
    transform: translate(-50%, 0) !important;
}

.memorial-v3-caspian-share .is-telegram:hover,
.memorial-v3-caspian-share .is-telegram:focus-visible {
    border-color: #229ed9 !important;
    background: #229ed9 !important;
}

.memorial-v3-caspian-share .is-whatsapp:hover,
.memorial-v3-caspian-share .is-whatsapp:focus-visible {
    border-color: #25d366 !important;
    background: #25d366 !important;
}

.memorial-v3-caspian-share .is-eitaa:hover,
.memorial-v3-caspian-share .is-eitaa:focus-visible {
    border-color: #ef7d24 !important;
    background: #ef7d24 !important;
}

.memorial-v3-caspian-share .is-native:hover,
.memorial-v3-caspian-share .is-native:focus-visible {
    border-color: #437d6b !important;
    background: #437d6b !important;
}

.memorial-v3-caspian-share .is-copy:hover,
.memorial-v3-caspian-share .is-copy:focus-visible {
    border-color: #0a5b46 !important;
    background: #0a5b46 !important;
}

.memorial-v3-caspian-share .is-print {
    color: #fff !important;
    border-color: #173d32 !important;
    background: #173d32 !important;
}

.memorial-v3-caspian-share .is-print:hover,
.memorial-v3-caspian-share .is-print:focus-visible {
    border-color: #0a5b46 !important;
    background: #0a5b46 !important;
}

/* ---------- Adaptive media rhythm ---------- */
.memorial-v3-gallery-grid > .memorial-v3-media-item:only-child {
    grid-column: 4 / span 6 !important;
    width: 100% !important;
    max-width: 620px !important;
    justify-self: center !important;
}

.memorial-v3-gallery-grid > .memorial-v3-media-item:first-child:nth-last-child(2),
.memorial-v3-gallery-grid > .memorial-v3-media-item:first-child:nth-last-child(2) ~ .memorial-v3-media-item {
    grid-column: span 6 !important;
}

.memorial-v3-gallery-grid > .memorial-v3-media-item:first-child:nth-last-child(3),
.memorial-v3-gallery-grid > .memorial-v3-media-item:first-child:nth-last-child(3) ~ .memorial-v3-media-item {
    grid-column: span 4 !important;
}

.memorial-v3-gallery-grid > .memorial-v3-image-item:only-child .memorial-v3-image-frame {
    aspect-ratio: 16 / 10 !important;
}

/* ---------- Footer polish ---------- */
.memorial-v3-footer {
    margin-top: 34px !important;
    background:
        linear-gradient(105deg, #083f32 0%, #0a5a45 54%, #174c3d 100%) !important;
}

.memorial-v3-footer-inner {
    min-height: 84px !important;
    padding-top: 18px !important;
    padding-bottom: 18px !important;
    align-items: center !important;
}

.memorial-v3-footer-inner strong {
    font-size: 15px !important;
    line-height: 1.5 !important;
}

.memorial-v3-footer-inner span,
.memorial-v3-footer-inner small {
    opacity: .78 !important;
}

/* ---------- Desktop spacing polish ---------- */
.memorial-v3-main {
    padding-bottom: 20px !important;
}

.memorial-v3-story,
.memorial-v3-media-section,
.memorial-v3-will,
.memorial-v3-grave-memory-grid {
    scroll-margin-top: 24px !important;
}

/* ---------- Tablet ---------- */
@media (max-width: 980px) {

    .memorial-v3-caspian-share {
        gap: 6px !important;
        flex-wrap: wrap !important;
    }

    .memorial-v3-caspian-share .memorial-v3-social-tool {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
    }

    .memorial-v3-gallery-grid > .memorial-v3-media-item:only-child {
        grid-column: 2 / span 10 !important;
    }
}

/* ---------- Mobile ---------- */
@media (max-width: 760px) {

    .memorial-v3-caspian-share {
        width: 100% !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        overflow-x: auto !important;
        padding: 3px 2px 10px !important;
        scrollbar-width: thin !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .memorial-v3-caspian-share .memorial-v3-social-tool {
        flex: 0 0 44px !important;
    }

    /* Touch devices have no reliable hover: keep tooltip out of the way. */
    .memorial-v3-caspian-share .memorial-v3-social-tool::before,
    .memorial-v3-caspian-share .memorial-v3-social-tool::after {
        display: none !important;
    }

    .memorial-v3-gallery-grid > .memorial-v3-media-item:only-child,
    .memorial-v3-gallery-grid > .memorial-v3-media-item:first-child:nth-last-child(2),
    .memorial-v3-gallery-grid > .memorial-v3-media-item:first-child:nth-last-child(2) ~ .memorial-v3-media-item,
    .memorial-v3-gallery-grid > .memorial-v3-media-item:first-child:nth-last-child(3),
    .memorial-v3-gallery-grid > .memorial-v3-media-item:first-child:nth-last-child(3) ~ .memorial-v3-media-item {
        grid-column: 1 !important;
        max-width: none !important;
    }

    .memorial-v3-gallery-grid > .memorial-v3-image-item:only-child .memorial-v3-image-frame {
        aspect-ratio: 4 / 3 !important;
    }

    .memorial-v3-footer {
        margin-top: 24px !important;
    }

    .memorial-v3-footer-inner {
        min-height: 0 !important;
        padding-top: 16px !important;
        padding-bottom: 16px !important;
        gap: 8px !important;
    }
}

/* ---------- Small mobile ---------- */
@media (max-width: 480px) {

    .memorial-v3-caspian-share .memorial-v3-social-tool {
        flex-basis: 42px !important;
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
        border-radius: 11px !important;
    }

    .memorial-v3-caspian-share .memorial-v3-social-tool svg {
        width: 19px !important;
        height: 19px !important;
    }
}

/* ---------- Motion accessibility ---------- */
@media (prefers-reduced-motion: reduce) {

    .memorial-v3-caspian-share .memorial-v3-social-tool,
    .memorial-v3-caspian-share .memorial-v3-social-tool::before,
    .memorial-v3-caspian-share .memorial-v3-social-tool::after {
        transition: none !important;
    }
}

/* END LOCK 9A-4D3R-9 CASPIAN UI POLISH + RESPONSIVE */

/* ==========================================================
   BEGIN LOCK 9A-4D3R-9M-R4 MEDIA LAST-ROW BALANCE
   Balance incomplete desktop gallery rows without changing
   media order, image crop, captions, or mobile layout.
   ========================================================== */

@media (min-width: 981px) {

    /* 3-column / 12-track grid:
       If the final row contains only one item, center it. */
    .memorial-v3-gallery-grid >
    .memorial-v3-media-item:last-child:nth-child(3n + 1):not(:only-child) {
        grid-column: 5 / span 4 !important;
    }

    /* If the final row contains two items, center the pair. */
    .memorial-v3-gallery-grid >
    .memorial-v3-media-item:nth-last-child(2):nth-child(3n + 1) {
        grid-column: 3 / span 4 !important;
    }

    .memorial-v3-gallery-grid >
    .memorial-v3-media-item:last-child:nth-child(3n + 2) {
        grid-column: 7 / span 4 !important;
    }
}

/* END LOCK 9A-4D3R-9M-R4 MEDIA LAST-ROW BALANCE */

/* ==========================================================
   BEGIN LOCK 9A-4D3R-9P1 SPIRITUAL ACTION SEPARATION + EITAA
   ========================================================== */

/* Each spiritual action is a distinct clickable mini-card. */
.memorial-v3-spiritual-actions {
    gap: 10px !important;
}

.memorial-v3-spiritual-action {
    border: 1px solid #b7dacb !important;
    background: #ffffff !important;
    box-shadow: 0 1px 0 rgba(9, 82, 62, .025) !important;
    transition:
        border-color .16s ease,
        background .16s ease,
        box-shadow .16s ease,
        transform .16s ease !important;
}

.memorial-v3-spiritual-action:hover,
.memorial-v3-spiritual-action:focus-visible {
    border-color: #5dbb98 !important;
    background: #f4fbf8 !important;
    box-shadow: 0 5px 14px rgba(9, 82, 62, .07) !important;
    transform: translateY(-1px) !important;
    outline: none !important;
}

.memorial-v3-spiritual-action:active {
    transform: translateY(0) !important;
    box-shadow: none !important;
}

.memorial-v3-spiritual-action .mx-spiritual-plus {
    border-color: #7fcab0 !important;
    background: #fff !important;
}

/* Official Eitaa artwork supplied for the project. */
.memorial-v3-caspian-share .memorial-v3-social-tool.is-eitaa {
    overflow: visible !important;
}

.memorial-v3-caspian-share .memorial-v3-eitaa-logo {
    width: 24px !important;
    height: 24px !important;
    display: block !important;
    object-fit: contain !important;
    transform: scale(1) !important;
    transition: transform .16s ease !important;
    pointer-events: none !important;
}

.memorial-v3-caspian-share .is-eitaa:hover,
.memorial-v3-caspian-share .is-eitaa:focus-visible {
    border-color: #f58220 !important;
    background: #fff7ef !important;
}

.memorial-v3-caspian-share .is-eitaa:hover .memorial-v3-eitaa-logo,
.memorial-v3-caspian-share .is-eitaa:focus-visible .memorial-v3-eitaa-logo {
    transform: scale(1.08) !important;
}

@media (max-width: 760px) {
    .memorial-v3-spiritual-actions {
        gap: 7px !important;
    }

    .memorial-v3-spiritual-action {
        min-width: 0 !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .memorial-v3-spiritual-action,
    .memorial-v3-eitaa-logo {
        transition: none !important;
    }
}

/* END LOCK 9A-4D3R-9P1 SPIRITUAL ACTION SEPARATION + EITAA */

/* ==========================================================
   BEGIN LOCK 9A-4D3R-9P2 BALE + EITAA MONOCHROME BRAND HOVER
   ========================================================== */

/* Brand marks are intentionally quiet in the resting state. */
.memorial-v3-caspian-share .memorial-v3-eitaa-logo,
.memorial-v3-caspian-share .memorial-v3-bale-logo {
    width: 24px !important;
    height: 24px !important;
    display: block !important;
    object-fit: contain !important;
    opacity: .66 !important;
    filter: grayscale(1) saturate(0) contrast(.92) !important;
    transform: scale(1) !important;
    transition:
        filter .16s ease,
        opacity .16s ease,
        transform .16s ease !important;
    pointer-events: none !important;
}

/* Reveal the authentic brand artwork only on hover/focus. */
.memorial-v3-caspian-share .is-eitaa:hover .memorial-v3-eitaa-logo,
.memorial-v3-caspian-share .is-eitaa:focus-visible .memorial-v3-eitaa-logo,
.memorial-v3-caspian-share .is-bale:hover .memorial-v3-bale-logo,
.memorial-v3-caspian-share .is-bale:focus-visible .memorial-v3-bale-logo {
    opacity: 1 !important;
    filter: none !important;
    transform: scale(1.08) !important;
}

/* Keep the button shell restrained; the logo itself provides brand color. */
.memorial-v3-caspian-share .is-bale:hover,
.memorial-v3-caspian-share .is-bale:focus-visible {
    color: inherit !important;
    border-color: #9bcfc4 !important;
    background: #f5fbf9 !important;
}

/* Eitaa keeps the approved light brand-tinted hover shell from 9P1. */
.memorial-v3-caspian-share .is-eitaa:hover,
.memorial-v3-caspian-share .is-eitaa:focus-visible {
    color: inherit !important;
}

@media (prefers-reduced-motion: reduce) {
    .memorial-v3-caspian-share .memorial-v3-eitaa-logo,
    .memorial-v3-caspian-share .memorial-v3-bale-logo {
        transition: none !important;
    }
}

/* END LOCK 9A-4D3R-9P2 BALE + EITAA MONOCHROME BRAND HOVER */

/* ==========================================================
   BEGIN LOCK 9A-4D3R-9P3R SHARE + QR + OVERVIEW REPAIR
   Source state: FULL 9P2
   ========================================================== */

/* ----------------------------------------------------------
   1) WhatsApp joins Eitaa/Bale visual family:
      neutral grey at rest, authentic brand green on hover.
   ---------------------------------------------------------- */
.memorial-v3-caspian-share .is-whatsapp {
    color: #98a4aa !important;
    border-color: #dce5e1 !important;
    background: #ffffff !important;
    transition:
        color .16s ease,
        border-color .16s ease,
        background-color .16s ease,
        transform .16s ease !important;
}

.memorial-v3-caspian-share .is-whatsapp svg {
    opacity: .72 !important;
    filter: grayscale(1) saturate(0) !important;
    transition:
        filter .16s ease,
        opacity .16s ease,
        transform .16s ease !important;
}

.memorial-v3-caspian-share .is-whatsapp:hover,
.memorial-v3-caspian-share .is-whatsapp:focus-visible {
    color: #25d366 !important;
    border-color: rgba(37, 211, 102, .34) !important;
    background: #f4fff7 !important;
    transform: translateY(-1px) !important;
}

.memorial-v3-caspian-share .is-whatsapp:hover svg,
.memorial-v3-caspian-share .is-whatsapp:focus-visible svg {
    opacity: 1 !important;
    filter: none !important;
    transform: scale(1.08) !important;
}

/* ----------------------------------------------------------
   2) Memorial QR treatment:
      inspired by the "Scan me" concept, adapted to Shahidabad
      instead of importing an unrelated blue visual language.
   ---------------------------------------------------------- */
.memorial-v3-permalink {
    position: relative !important;
    overflow: hidden !important;
    border-color: #c8ddd5 !important;
    background:
        radial-gradient(circle at 105% -20%, rgba(206, 164, 74, .12), transparent 42%),
        linear-gradient(135deg, #ffffff 0%, #fbfdfc 62%, #f1f8f5 100%) !important;
    box-shadow: 0 12px 30px rgba(15, 76, 58, .075) !important;
}

.memorial-v3-permalink::after {
    content: "" !important;
    position: absolute !important;
    inset-block: 0 !important;
    inset-inline-start: 0 !important;
    width: 4px !important;
    background: linear-gradient(
        180deg,
        #d8ad4d 0%,
        #0e6a53 52%,
        #0b5845 100%
    ) !important;
    pointer-events: none !important;
}

.memorial-v3-permalink-copy {
    position: relative !important;
    z-index: 1 !important;
}

.memorial-v3-permalink-copy::after {
    content: "اسکن برای مشاهده صفحه شهید" !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 29px !important;
    margin-top: 9px !important;
    padding-inline: 11px !important;
    border: 1px solid rgba(13, 91, 70, .13) !important;
    border-radius: 999px !important;
    color: #0d5b46 !important;
    background: #eef8f4 !important;
    font-size: 9px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

.memorial-v3-qr {
    position: relative !important;
    z-index: 1 !important;
    border: 2px solid #0e6a53 !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    box-shadow:
        0 0 0 4px rgba(14, 106, 83, .055),
        0 10px 22px rgba(13, 75, 57, .10) !important;
}

.memorial-v3-qr canvas,
.memorial-v3-qr img {
    border-radius: 12px !important;
}

/* ----------------------------------------------------------
   3) "در یک نگاه" vertical rhythm:
      the previous top gap was visually too generous.
      Only the start of main/overview is compacted.
   ---------------------------------------------------------- */
.memorial-v3-main {
    padding-top: 16px !important;
}

.memorial-v3-overview {
    margin-top: 0 !important;
}

.memorial-v3-overview .memorial-v3-section-title {
    margin-bottom: 10px !important;
}

.memorial-v3-overview-grid {
    margin-top: 0 !important;
}

/* Keep the QR callout usable on narrower layouts. */
@media (max-width: 640px) {
    .memorial-v3-permalink-copy::after {
        white-space: normal !important;
        text-align: center !important;
    }

    .memorial-v3-main {
        padding-top: 20px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .memorial-v3-caspian-share .is-whatsapp,
    .memorial-v3-caspian-share .is-whatsapp svg {
        transition: none !important;
    }
}

/* END LOCK 9A-4D3R-9P3R SHARE + QR + OVERVIEW REPAIR */

/* ==========================================================
   BEGIN LOCK 9A-4D3R-9P4 TELEGRAM BRAND HOVER REFINEMENT
   Source state: LOCKED 9P3R
   ========================================================== */

/* Telegram should visually match Bale / Eitaa / WhatsApp:
   neutral grey at rest, authentic brand blue on hover/focus. */
.memorial-v3-caspian-share .is-telegram {
    color: #98a4aa !important;
    border-color: #dce5e1 !important;
    background: #ffffff !important;
    transition:
        color .16s ease,
        border-color .16s ease,
        background-color .16s ease,
        transform .16s ease !important;
}

.memorial-v3-caspian-share .is-telegram img,
.memorial-v3-caspian-share .is-telegram svg,
.memorial-v3-caspian-share .is-telegram i {
    opacity: .72 !important;
    filter: grayscale(1) saturate(0) !important;
    transition:
        filter .16s ease,
        opacity .16s ease,
        transform .16s ease !important;
}

.memorial-v3-caspian-share .is-telegram:hover,
.memorial-v3-caspian-share .is-telegram:focus-visible {
    color: #2aabee !important;
    border-color: rgba(42, 171, 238, .35) !important;
    background: #f3fbff !important;
    transform: translateY(-1px) !important;
}

.memorial-v3-caspian-share .is-telegram:hover img,
.memorial-v3-caspian-share .is-telegram:hover svg,
.memorial-v3-caspian-share .is-telegram:hover i,
.memorial-v3-caspian-share .is-telegram:focus-visible img,
.memorial-v3-caspian-share .is-telegram:focus-visible svg,
.memorial-v3-caspian-share .is-telegram:focus-visible i {
    opacity: 1 !important;
    filter: none !important;
    transform: scale(1.08) !important;
}

@media (prefers-reduced-motion: reduce) {
    .memorial-v3-caspian-share .is-telegram,
    .memorial-v3-caspian-share .is-telegram img,
    .memorial-v3-caspian-share .is-telegram svg,
    .memorial-v3-caspian-share .is-telegram i {
        transition: none !important;
    }
}

/* END LOCK 9A-4D3R-9P4 TELEGRAM BRAND HOVER REFINEMENT */

/* ==========================================================
   BEGIN LOCK 9A-4D3R-9P5 OVERVIEW HEADING VISIBILITY REPAIR
   Source state: LOCKED 9P4
   ========================================================== */

/* Restore the frozen prototype's explicit "در یک نگاه" heading
   without bringing back the previous excessive blank space. */
.memorial-v3-overview .memorial-v3-section-title {
    display: block !important;
    position: relative !important;
    z-index: 2 !important;
    min-height: 58px !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    overflow: visible !important;
}

.memorial-v3-overview .memorial-v3-section-title > span {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0 0 4px !important;
}

.memorial-v3-overview .memorial-v3-section-title h2,
.memorial-v3-overview #overview-title {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 2 !important;
    margin: 0 !important;
    color: #173f34 !important;
    font-size: clamp(24px, 2.4vw, 31px) !important;
    font-weight: 900 !important;
    line-height: 1.35 !important;
}

.memorial-v3-overview-grid {
    margin-top: 0 !important;
}

@media (max-width: 640px) {
    .memorial-v3-overview .memorial-v3-section-title {
        min-height: 50px !important;
        margin-bottom: 10px !important;
    }

    .memorial-v3-overview .memorial-v3-section-title h2,
    .memorial-v3-overview #overview-title {
        font-size: 23px !important;
    }
}

/* END LOCK 9A-4D3R-9P5 OVERVIEW HEADING VISIBILITY REPAIR */

/* ==========================================================
   BEGIN LOCK 9A-4D4B HERO / TOP CONFORMANCE PATCH
   D2-informed CSS-only patch.
   Goals:
   - keep frozen desktop character
   - tighten hero rhythm
   - improve tablet top-utility composition
   - compact mobile hero/top stack
   - keep QR, share tools, spiritual logic, and template structure
   ========================================================== */

/* ---------- Large desktop / desktop refinement ---------- */
@media (min-width: 981px) {

    .memorial-v3-hero-grid {
        grid-template-columns: minmax(0, 1fr) 258px !important;
        gap: 42px !important;
        min-height: 390px !important;
        padding-block: 30px !important;
    }

    .memorial-v3-hero-copy {
        max-width: 720px !important;
    }

    .memorial-v3-hero h1 {
        margin-top: 14px !important;
        font-size: clamp(36px, 4.4vw, 58px) !important;
        line-height: 1.22 !important;
    }

    .memorial-v3-hero-lead {
        margin-top: 10px !important;
        line-height: 1.9 !important;
    }

    .memorial-v3-hero-facts {
        margin-top: 22px !important;
        gap: 8px !important;
    }

    .memorial-v3-hero-facts > div {
        min-height: 76px !important;
        padding: 12px 14px !important;
    }

    .memorial-v3-portrait-column {
        width: 258px !important;
    }

    .memorial-v3-download-portrait {
        min-height: 40px !important;
        padding-block: 7px !important;
    }

    .memorial-v3-topbar {
        margin-top: -20px !important;
    }

    .memorial-v3-topbar-grid {
        grid-template-columns:
            minmax(0, .96fr)
            minmax(0, 1.40fr)
            minmax(0, .92fr) !important;
        gap: 12px !important;
        align-items: stretch !important;
    }

    .memorial-v3-spiritual-compact,
    .memorial-v3-tool-buttons,
    .memorial-v3-permalink {
        min-height: 134px !important;
        box-sizing: border-box !important;
    }

    .memorial-v3-spiritual-compact {
        padding: 11px 13px !important;
    }

    .memorial-v3-tool-buttons {
        padding: 9px 10px !important;
    }

    .memorial-v3-permalink {
        padding: 9px 11px !important;
    }
}

@media (min-width: 1180px) {

    .memorial-v3-hero-grid {
        grid-template-columns: minmax(0, 1fr) 270px !important;
        gap: 50px !important;
    }

    .memorial-v3-portrait-column {
        width: 270px !important;
    }

    .memorial-v3-topbar-grid {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1.48fr)
            minmax(0, .96fr) !important;
    }
}

/* ---------- Tablet conformance ---------- */
@media (min-width: 761px) and (max-width: 980px) {

    .memorial-v3-hero-grid {
        grid-template-columns: minmax(0, 1fr) 228px !important;
        gap: 26px !important;
        min-height: 0 !important;
        padding-block: 24px 30px !important;
    }

    .memorial-v3-portrait-column {
        width: 228px !important;
    }

    .memorial-v3-hero-copy {
        max-width: none !important;
    }

    .memorial-v3-hero h1 {
        margin-top: 12px !important;
        font-size: clamp(31px, 4.2vw, 40px) !important;
        line-height: 1.25 !important;
    }

    .memorial-v3-hero-lead {
        font-size: 15px !important;
        line-height: 1.85 !important;
    }

    .memorial-v3-hero-facts {
        margin-top: 18px !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    .memorial-v3-hero-facts > div {
        min-height: 74px !important;
        padding: 11px 12px !important;
    }

    .memorial-v3-topbar {
        margin-top: -10px !important;
    }

    .memorial-v3-topbar-grid {
        direction: rtl !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: 10px !important;
        align-items: stretch !important;
    }

    .memorial-v3-spiritual-compact {
        grid-column: 1 / -1 !important;
        min-height: 0 !important;
        padding: 12px 14px !important;
        grid-template-columns: 220px 1fr !important;
        gap: 12px !important;
    }

    .memorial-v3-tool-buttons {
        grid-column: 1 !important;
        min-height: 122px !important;
        padding: 10px !important;
    }

    .memorial-v3-permalink {
        grid-column: 2 !important;
        min-height: 122px !important;
        padding: 10px !important;
        grid-template-columns: minmax(0, 1fr) 120px !important;
        gap: 10px !important;
    }

    .memorial-v3-qr {
        width: 120px !important;
        height: 120px !important;
    }

    .memorial-v3-qr canvas,
    .memorial-v3-qr img {
        width: 116px !important;
        height: 116px !important;
    }

    .memorial-v3-caspian-share {
        gap: 6px !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
    }
}

/* ---------- Mobile conformance ---------- */
@media (max-width: 760px) {

    .memorial-v3-shell {
        width: min(100% - 18px, 1260px) !important;
    }

    .memorial-v3-hero-grid {
        gap: 16px !important;
        padding-block: 18px 26px !important;
    }

    .memorial-v3-portrait-column {
        width: min(210px, 72vw) !important;
    }

    .memorial-v3-download-portrait {
        min-height: 39px !important;
        margin-top: 7px !important;
        font-size: 11px !important;
    }

    .memorial-v3-hero h1 {
        margin-top: 12px !important;
        font-size: clamp(28px, 8.2vw, 34px) !important;
        line-height: 1.32 !important;
    }

    .memorial-v3-hero-lead {
        margin-top: 8px !important;
        font-size: 14px !important;
        line-height: 1.9 !important;
    }

    .memorial-v3-hero-facts {
        margin-top: 16px !important;
        gap: 8px !important;
    }

    .memorial-v3-hero-facts > div {
        min-height: 68px !important;
        padding: 10px 12px !important;
    }

    .memorial-v3-burial-line {
        margin-top: 12px !important;
    }

    .memorial-v3-topbar {
        margin-top: -8px !important;
    }

    .memorial-v3-topbar-grid {
        gap: 9px !important;
    }

    .memorial-v3-spiritual-compact,
    .memorial-v3-tool-buttons,
    .memorial-v3-permalink {
        border-radius: 16px !important;
    }

    .memorial-v3-spiritual-compact {
        padding: 10px 12px !important;
        gap: 9px !important;
    }

    .memorial-v3-spiritual-heading h2 {
        font-size: 14px !important;
        line-height: 1.55 !important;
    }

    .memorial-v3-spiritual-actions {
        gap: 7px !important;
    }

    .memorial-v3-spiritual-action {
        min-height: 58px !important;
        padding: 6px 7px !important;
    }

    .memorial-v3-spiritual-action > span:first-child {
        font-size: 9px !important;
    }

    .memorial-v3-spiritual-action > strong {
        font-size: 17px !important;
    }

    .memorial-v3-tool-buttons {
        padding: 8px 10px !important;
    }

    .memorial-v3-caspian-share {
        width: 100% !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        overflow: visible !important;
        padding: 2px 0 !important;
        gap: 6px !important;
    }

    .memorial-v3-caspian-share .memorial-v3-social-tool {
        flex: 0 0 42px !important;
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
    }

    .memorial-v3-permalink {
        grid-template-columns: 1fr !important;
        justify-items: center !important;
        text-align: center !important;
        padding: 10px 12px !important;
        gap: 10px !important;
    }

    .memorial-v3-permalink-copy,
    .memorial-v3-permalink-copy strong,
    .memorial-v3-permalink-copy small {
        text-align: center !important;
    }

    .memorial-v3-qr {
        width: 130px !important;
        height: 130px !important;
        margin-inline: auto !important;
    }

    .memorial-v3-qr canvas,
    .memorial-v3-qr img {
        width: 126px !important;
        height: 126px !important;
    }
}

/* ---------- Small mobile ---------- */
@media (max-width: 480px) {

    .memorial-v3-shell {
        width: min(100% - 14px, 1260px) !important;
    }

    .memorial-v3-portrait-column {
        width: min(196px, 74vw) !important;
    }

    .memorial-v3-hero-grid {
        gap: 14px !important;
        padding-block: 16px 22px !important;
    }

    .memorial-v3-hero h1 {
        font-size: clamp(26px, 8.8vw, 31px) !important;
    }

    .memorial-v3-tool-buttons {
        padding: 8px !important;
    }

    .memorial-v3-caspian-share {
        gap: 5px !important;
    }

    .memorial-v3-caspian-share .memorial-v3-social-tool {
        flex-basis: 40px !important;
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        min-height: 40px !important;
        border-radius: 11px !important;
    }

    .memorial-v3-caspian-share .memorial-v3-social-tool svg,
    .memorial-v3-caspian-share .memorial-v3-eitaa-logo,
    .memorial-v3-caspian-share .memorial-v3-bale-logo {
        width: 18px !important;
        height: 18px !important;
    }

    .memorial-v3-qr {
        width: 122px !important;
        height: 122px !important;
    }

    .memorial-v3-qr canvas,
    .memorial-v3-qr img {
        width: 118px !important;
        height: 118px !important;
    }
}

/* ---------- Motion accessibility ---------- */
@media (prefers-reduced-motion: reduce) {
    .memorial-v3-caspian-share,
    .memorial-v3-caspian-share .memorial-v3-social-tool,
    .memorial-v3-spiritual-action {
        scroll-behavior: auto !important;
        transition: none !important;
    }
}

/* END LOCK 9A-4D4B HERO / TOP CONFORMANCE PATCH */

/* ==========================================================
   BEGIN LOCK 9A-4D4C-1 HERO SCENE PARITY
   Prototype-parity pass:
   - richer memorial scene without fictional content
   - stronger hierarchy for name / badges / key facts
   - portrait becomes a premium memorial card
   - mobile hero is substantially more compact
   ========================================================== */

.memorial-v3-hero {
    isolation: isolate !important;
    border-bottom: 1px solid rgba(213, 174, 87, .38) !important;
    background:
        radial-gradient(circle at 15% 24%, rgba(255, 204, 99, .34) 0 2%, rgba(255, 204, 99, .12) 10%, transparent 28%),
        radial-gradient(circle at 78% 18%, rgba(231, 202, 137, .11), transparent 31%),
        linear-gradient(108deg, #123f35 0%, #0a5a45 45%, #05382e 100%) !important;
}

.memorial-v3-hero::before {
    width: 58% !important;
    height: 100% !important;
    left: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    border-radius: 0 !important;
    opacity: .52 !important;
    background:
        linear-gradient(165deg, transparent 0 40%, rgba(15, 63, 52, .58) 41% 58%, transparent 59%),
        linear-gradient(172deg, transparent 0 55%, rgba(8, 48, 40, .80) 56% 72%, transparent 73%),
        radial-gradient(ellipse at 25% 88%, rgba(180, 124, 46, .20), transparent 48%) !important;
    box-shadow: none !important;
    z-index: 0 !important;
}

.memorial-v3-hero::after {
    width: 42% !important;
    height: 100% !important;
    right: 0 !important;
    top: 0 !important;
    border-radius: 0 !important;
    border: 0 !important;
    opacity: .28 !important;
    background:
        repeating-radial-gradient(circle at 74% 34%, rgba(226, 197, 127, .16) 0 1px, transparent 1px 10px),
        linear-gradient(90deg, transparent 0%, rgba(4, 42, 34, .52) 100%) !important;
    box-shadow: none !important;
    z-index: 0 !important;
}

.memorial-v3-hero-glow {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
    background:
        linear-gradient(90deg, rgba(0,0,0,.10) 0%, transparent 28%, transparent 66%, rgba(0,0,0,.08) 100%),
        radial-gradient(circle at 17% 26%, rgba(255, 226, 151, .16), transparent 21%) !important;
}

.memorial-v3-hero-grid {
    position: relative !important;
    z-index: 2 !important;
}

.memorial-v3-badge {
    border: 1px solid rgba(255,255,255,.13) !important;
    box-shadow: 0 6px 18px rgba(0,0,0,.09) !important;
}

.memorial-v3-badge-soft {
    color: #edf7f2 !important;
    background: rgba(34, 104, 82, .55) !important;
    border-color: rgba(218, 239, 231, .18) !important;
}

.memorial-v3-hero h1 {
    text-shadow: 0 2px 18px rgba(0,0,0,.18) !important;
}

.memorial-v3-hero-lead {
    max-width: 680px !important;
    color: rgba(255,255,255,.80) !important;
}

.memorial-v3-hero-facts > div {
    border-color: rgba(255,255,255,.20) !important;
    background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(0,0,0,.075)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035) !important;
}

.memorial-v3-hero-facts span {
    color: rgba(255,255,255,.62) !important;
}

.memorial-v3-burial-line {
    color: rgba(255,255,255,.82) !important;
}

.memorial-v3-portrait {
    border: 4px solid rgba(233, 193, 100, .92) !important;
    border-radius: 22px 22px 16px 16px !important;
    background: #fff9e9 !important;
    box-shadow:
        0 24px 52px rgba(0,0,0,.30),
        0 0 0 1px rgba(255,255,255,.12) !important;
}

.memorial-v3-download-portrait {
    color: #fff !important;
    background:
        linear-gradient(180deg, rgba(13, 86, 66, .98), rgba(7, 61, 48, .98)) !important;
    border-color: rgba(235, 205, 135, .34) !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.18) !important;
}

.memorial-v3-download-portrait:hover,
.memorial-v3-download-portrait:focus-visible {
    color: #fff !important;
    border-color: rgba(235, 205, 135, .62) !important;
    background:
        linear-gradient(180deg, rgba(18, 105, 80, 1), rgba(8, 69, 53, 1)) !important;
}

@media (min-width: 981px) {
    .memorial-v3-hero {
        min-height: 372px !important;
    }

    .memorial-v3-hero-grid {
        min-height: 372px !important;
        padding-block: 24px 28px !important;
        grid-template-columns: minmax(0, 1fr) 258px !important;
        gap: 44px !important;
    }

    .memorial-v3-hero-copy {
        max-width: 710px !important;
    }

    .memorial-v3-badges {
        gap: 8px !important;
    }

    .memorial-v3-badge {
        min-height: 32px !important;
        padding: 6px 13px !important;
        font-size: 12px !important;
    }

    .memorial-v3-hero h1 {
        margin-top: 12px !important;
        font-size: clamp(38px, 4.25vw, 58px) !important;
        line-height: 1.18 !important;
    }

    .memorial-v3-hero-lead {
        margin-top: 8px !important;
        font-size: 15px !important;
        line-height: 1.85 !important;
    }

    .memorial-v3-hero-facts {
        margin-top: 18px !important;
        gap: 8px !important;
    }

    .memorial-v3-hero-facts > div {
        min-height: 70px !important;
        padding: 10px 13px !important;
        border-radius: 13px !important;
    }

    .memorial-v3-hero-facts strong {
        margin-top: 5px !important;
        font-size: 13px !important;
    }

    .memorial-v3-burial-line {
        margin-top: 11px !important;
    }

    .memorial-v3-portrait-column {
        width: 258px !important;
    }

    .memorial-v3-download-portrait {
        min-height: 39px !important;
        margin-top: 7px !important;
    }
}

@media (min-width: 1180px) {
    .memorial-v3-hero-grid {
        grid-template-columns: minmax(0, 1fr) 270px !important;
        gap: 50px !important;
    }

    .memorial-v3-portrait-column {
        width: 270px !important;
    }
}

@media (min-width: 761px) and (max-width: 980px) {
    .memorial-v3-hero {
        min-height: 0 !important;
    }

    .memorial-v3-hero-grid {
        min-height: 0 !important;
        padding-block: 22px 26px !important;
        grid-template-columns: minmax(0, 1fr) 218px !important;
        gap: 24px !important;
    }

    .memorial-v3-portrait-column {
        width: 218px !important;
    }

    .memorial-v3-hero h1 {
        margin-top: 10px !important;
        font-size: clamp(30px, 4.1vw, 39px) !important;
    }

    .memorial-v3-hero-lead {
        margin-top: 7px !important;
        font-size: 14px !important;
    }

    .memorial-v3-hero-facts {
        margin-top: 15px !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 7px !important;
    }

    .memorial-v3-hero-facts > div {
        min-height: 66px !important;
        padding: 9px 10px !important;
    }

    .memorial-v3-hero-facts span {
        font-size: 10px !important;
    }

    .memorial-v3-hero-facts strong {
        margin-top: 4px !important;
        font-size: 12px !important;
    }
}

@media (max-width: 760px) {
    .memorial-v3-hero::before {
        width: 100% !important;
        opacity: .30 !important;
    }

    .memorial-v3-hero::after {
        width: 100% !important;
        opacity: .12 !important;
    }

    .memorial-v3-hero-grid {
        gap: 12px !important;
        padding-block: 14px 20px !important;
    }

    .memorial-v3-portrait-column {
        width: min(184px, 60vw) !important;
    }

    .memorial-v3-download-portrait {
        min-height: 36px !important;
        margin-top: 6px !important;
        padding: 6px 8px !important;
        font-size: 10px !important;
    }

    .memorial-v3-download-portrait > span {
        font-size: 16px !important;
    }

    .memorial-v3-badges {
        gap: 6px !important;
    }

    .memorial-v3-badge {
        min-height: 29px !important;
        padding: 5px 10px !important;
        font-size: 10px !important;
    }

    .memorial-v3-hero h1 {
        margin-top: 9px !important;
        font-size: clamp(25px, 8vw, 30px) !important;
        line-height: 1.30 !important;
    }

    .memorial-v3-hero-lead {
        margin-top: 6px !important;
        font-size: 12px !important;
        line-height: 1.75 !important;
    }

    .memorial-v3-hero-facts {
        margin-top: 12px !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 5px !important;
    }

    .memorial-v3-hero-facts > div {
        min-height: 58px !important;
        padding: 7px 5px !important;
        border-radius: 11px !important;
        text-align: center !important;
    }

    .memorial-v3-hero-facts span {
        font-size: 8px !important;
        line-height: 1.35 !important;
    }

    .memorial-v3-hero-facts strong {
        margin-top: 4px !important;
        font-size: 10px !important;
        line-height: 1.45 !important;
    }

    .memorial-v3-burial-line {
        margin-top: 9px !important;
        font-size: 10px !important;
    }
}

@media (max-width: 480px) {
    .memorial-v3-portrait-column {
        width: min(174px, 62vw) !important;
    }

    .memorial-v3-hero h1 {
        font-size: clamp(24px, 8.3vw, 29px) !important;
    }

    .memorial-v3-hero-facts {
        gap: 4px !important;
    }

    .memorial-v3-hero-facts > div {
        min-height: 56px !important;
        padding-inline: 4px !important;
    }

    .memorial-v3-hero-facts strong {
        font-size: 9px !important;
    }
}

/* END LOCK 9A-4D4C-1 HERO SCENE PARITY */

/* ==========================================================
   BEGIN REPAIR 9A-4D4C-1R1 HERO PROPORTION + MOBILE OVERFLOW
   Visual-capture repair:
   - desktop/tablet hero was still too tall vs prototype
   - portrait was visually dominant
   - mobile 3-column facts contradicted the frozen one-column rule
   - constrain hero internals to viewport width
   ========================================================== */

.memorial-v3-hero-grid,
.memorial-v3-hero-copy,
.memorial-v3-hero-facts,
.memorial-v3-portrait-column {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.memorial-v3-hero-copy {
    width: 100% !important;
}

/* Desktop: reduce hero height and portrait dominance. */
@media (min-width: 1180px) {

    .memorial-v3-hero {
        min-height: 330px !important;
    }

    .memorial-v3-hero-grid {
        min-height: 330px !important;
        padding-block: 20px 22px !important;
        grid-template-columns: minmax(0, 1fr) 226px !important;
        gap: 42px !important;
    }

    .memorial-v3-portrait-column {
        width: 226px !important;
    }

    .memorial-v3-hero-copy {
        max-width: 690px !important;
    }

    .memorial-v3-hero h1 {
        margin-top: 10px !important;
        font-size: clamp(36px, 3.9vw, 52px) !important;
    }

    .memorial-v3-hero-facts {
        margin-top: 16px !important;
    }

    .memorial-v3-hero-facts > div {
        min-height: 64px !important;
        padding: 9px 12px !important;
    }

    .memorial-v3-download-portrait {
        min-height: 37px !important;
        font-size: 11px !important;
    }
}

/* Standard desktop / large tablet. */
@media (min-width: 981px) and (max-width: 1179px) {

    .memorial-v3-hero {
        min-height: 318px !important;
    }

    .memorial-v3-hero-grid {
        min-height: 318px !important;
        padding-block: 20px 22px !important;
        grid-template-columns: minmax(0, 1fr) 214px !important;
        gap: 32px !important;
    }

    .memorial-v3-portrait-column {
        width: 214px !important;
    }

    .memorial-v3-hero h1 {
        font-size: clamp(33px, 4vw, 46px) !important;
    }
}

/* Tablet keeps desktop composition, but tighter. */
@media (min-width: 761px) and (max-width: 980px) {

    .memorial-v3-hero-grid {
        padding-block: 18px 22px !important;
        grid-template-columns: minmax(0, 1fr) 196px !important;
        gap: 20px !important;
    }

    .memorial-v3-portrait-column {
        width: 196px !important;
    }

    .memorial-v3-hero h1 {
        margin-top: 8px !important;
        font-size: clamp(28px, 3.9vw, 36px) !important;
    }

    .memorial-v3-hero-lead {
        font-size: 13px !important;
    }

    .memorial-v3-hero-facts {
        margin-top: 13px !important;
    }

    .memorial-v3-hero-facts > div {
        min-height: 60px !important;
        padding: 8px 9px !important;
    }
}

/* Mobile: frozen prototype rule = one column, no horizontal overflow. */
@media (max-width: 760px) {

    .memorial-v3-hero,
    .memorial-v3-hero-grid {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }

    .memorial-v3-hero-grid {
        padding-block: 12px 18px !important;
        gap: 11px !important;
    }

    .memorial-v3-portrait-column {
        width: min(166px, 56vw) !important;
        max-width: 166px !important;
    }

    .memorial-v3-hero-copy {
        width: 100% !important;
        max-width: 100% !important;
        padding-inline: 0 !important;
        overflow: hidden !important;
    }

    .memorial-v3-badges {
        max-width: 100% !important;
    }

    .memorial-v3-hero h1 {
        max-width: 100% !important;
        margin-top: 8px !important;
        font-size: clamp(23px, 7.6vw, 28px) !important;
        overflow-wrap: anywhere !important;
    }

    .memorial-v3-hero-lead {
        max-width: 100% !important;
        font-size: 11px !important;
        line-height: 1.7 !important;
    }

    .memorial-v3-hero-facts {
        width: 100% !important;
        max-width: 100% !important;
        grid-template-columns: 1fr !important;
        gap: 6px !important;
        margin-top: 10px !important;
    }

    .memorial-v3-hero-facts > div {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 50px !important;
        padding: 7px 10px !important;
        text-align: center !important;
    }

    .memorial-v3-hero-facts span {
        font-size: 8px !important;
    }

    .memorial-v3-hero-facts strong {
        font-size: 10px !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    .memorial-v3-burial-line {
        max-width: 100% !important;
        justify-content: center !important;
        text-align: center !important;
        overflow-wrap: anywhere !important;
    }
}

@media (max-width: 480px) {

    .memorial-v3-portrait-column {
        width: min(158px, 56vw) !important;
        max-width: 158px !important;
    }

    .memorial-v3-download-portrait {
        min-height: 34px !important;
        font-size: 9px !important;
    }

    .memorial-v3-hero h1 {
        font-size: clamp(22px, 7.8vw, 27px) !important;
    }
}

/* END REPAIR 9A-4D4C-1R1 HERO PROPORTION + MOBILE OVERFLOW */

/* ==========================================================
   BEGIN LOCK 9A-4D4C-2 TOP UTILITY PARITY
   Scope:
   - spiritual card polish
   - share toolbar balance
   - QR memorial card inspired by approved "SCAN ME" reference
   - desktop/tablet/mobile responsive behavior
   - QR quiet zone preserved; decoration stays outside QR modules
   ========================================================== */

/* ---------- Shared card shell ---------- */
.memorial-v3-topbar {
    position: relative !important;
    z-index: 5 !important;
}

.memorial-v3-topbar-grid {
    align-items: stretch !important;
}

.memorial-v3-spiritual-compact,
.memorial-v3-tool-buttons,
.memorial-v3-permalink {
    overflow: hidden !important;
    border: 1px solid rgba(10, 91, 70, .12) !important;
    background: rgba(255,255,255,.985) !important;
    box-shadow:
        0 12px 30px rgba(18, 61, 49, .08),
        0 1px 0 rgba(255,255,255,.9) inset !important;
}

/* ---------- Spiritual card ---------- */
.memorial-v3-spiritual-compact {
    position: relative !important;
    background:
        radial-gradient(circle at 12% 14%, rgba(205, 168, 79, .10), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #fbfdfc 100%) !important;
}

.memorial-v3-spiritual-compact::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 auto 0 0 !important;
    width: 4px !important;
    background: linear-gradient(180deg, #d8b35b, #0b6a54) !important;
}

.memorial-v3-spiritual-heading span {
    color: #b88824 !important;
    letter-spacing: 0 !important;
}

.memorial-v3-spiritual-heading h2 {
    color: #0b4f3e !important;
}

.memorial-v3-spiritual-actions {
    align-items: stretch !important;
}

.memorial-v3-spiritual-action {
    border-color: #b8ddcf !important;
    background: linear-gradient(180deg, #ffffff, #f8fcfa) !important;
}

.memorial-v3-spiritual-action:hover,
.memorial-v3-spiritual-action:focus-visible {
    border-color: #67b99a !important;
    background: #f2faf7 !important;
}

/* ---------- Share toolbar ---------- */
.memorial-v3-caspian-share {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    gap: 9px !important;
    padding: 14px 16px !important;
}

.memorial-v3-caspian-share::before {
    content: "" !important;
    position: absolute !important;
    inset-inline: 18px !important;
    top: 10px !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent, rgba(10, 91, 70, .11), transparent) !important;
}

.memorial-v3-caspian-share .memorial-v3-social-tool,
.memorial-v3-caspian-share .memorial-v3-tool {
    flex: 0 0 46px !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    border-radius: 12px !important;
    background: #fbfcfc !important;
    border-color: #dfe8e4 !important;
}

.memorial-v3-caspian-share .memorial-v3-social-tool:hover,
.memorial-v3-caspian-share .memorial-v3-social-tool:focus-visible,
.memorial-v3-caspian-share .memorial-v3-tool:hover,
.memorial-v3-caspian-share .memorial-v3-tool:focus-visible {
    transform: translateY(-2px) !important;
}

/* Keep the approved dark utility button prominent. */
.memorial-v3-caspian-share .memorial-v3-tool-dark,
.memorial-v3-caspian-share .is-print {
    color: #fff !important;
    border-color: #164b3d !important;
    background: #164b3d !important;
}

/* ---------- QR permanent-page card ---------- */
.memorial-v3-permalink {
    position: relative !important;
    align-items: center !important;
    background:
        radial-gradient(circle at 88% 12%, rgba(11, 106, 84, .07), transparent 32%),
        #ffffff !important;
}

.memorial-v3-permalink::before {
    content: "" !important;
    position: absolute !important;
    inset-block: 0 !important;
    inset-inline-end: 0 !important;
    width: 4px !important;
    background: linear-gradient(180deg, #0b6a54, #18b7aa) !important;
}

.memorial-v3-permalink-copy strong {
    color: #0a523f !important;
    font-weight: 900 !important;
}

.memorial-v3-permalink-copy small {
    color: #6d7f78 !important;
}

/* SCAN-ME inspired shell.
   Important: the generated QR remains black/white with a clean quiet zone. */
.memorial-v3-qr {
    position: relative !important;
    width: 150px !important;
    height: 184px !important;
    padding: 11px 11px 48px !important;
    display: grid !important;
    place-items: start center !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    border: 8px solid #10a995 !important;
    border-radius: 24px !important;
    background: #ffffff !important;
    box-shadow:
        0 9px 0 rgba(12, 91, 72, .10),
        0 12px 24px rgba(22, 77, 63, .12) !important;
}

.memorial-v3-qr::after {
    content: "اسکن برای مشاهده صفحه شهید" !important;
    position: absolute !important;
    inset-inline: -1px !important;
    bottom: -1px !important;
    min-height: 44px !important;
    padding: 7px 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    color: #076b61 !important;
    background: #bfeee8 !important;
    border-top: 1px solid rgba(7, 107, 97, .10) !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    line-height: 1.45 !important;
    text-align: center !important;
    white-space: normal !important;
}

.memorial-v3-qr canvas,
.memorial-v3-qr img {
    width: 112px !important;
    height: 112px !important;
    max-width: 112px !important;
    max-height: 112px !important;
    padding: 4px !important;
    box-sizing: content-box !important;
    border-radius: 6px !important;
    background: #fff !important;
}

/* ---------- Desktop ---------- */
@media (min-width: 981px) {

    .memorial-v3-topbar {
        margin-top: -18px !important;
    }

    .memorial-v3-topbar-grid {
        direction: ltr !important;
        grid-template-columns:
            minmax(0, .94fr)
            minmax(0, 1.38fr)
            minmax(0, .92fr) !important;
        gap: 12px !important;
    }

    .memorial-v3-spiritual-compact {
        grid-column: 1 !important;
        direction: rtl !important;
        min-height: 158px !important;
        padding: 14px 16px !important;
        align-content: center !important;
    }

    .memorial-v3-tool-buttons {
        grid-column: 2 !important;
        direction: rtl !important;
        min-height: 158px !important;
    }

    .memorial-v3-permalink {
        grid-column: 3 !important;
        direction: rtl !important;
        min-height: 158px !important;
        padding: 10px 12px !important;
        grid-template-columns: minmax(0, 1fr) 150px !important;
        gap: 12px !important;
    }
}

@media (min-width: 1180px) {

    .memorial-v3-topbar-grid {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1.46fr)
            minmax(0, .96fr) !important;
    }
}

/* ---------- Tablet ---------- */
@media (min-width: 761px) and (max-width: 980px) {

    .memorial-v3-topbar {
        margin-top: -10px !important;
    }

    .memorial-v3-topbar-grid {
        direction: rtl !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .memorial-v3-spiritual-compact {
        grid-column: 1 / -1 !important;
        min-height: 0 !important;
        padding: 12px 14px !important;
        grid-template-columns: 210px minmax(0, 1fr) !important;
        gap: 12px !important;
    }

    .memorial-v3-tool-buttons {
        grid-column: 1 !important;
        min-height: 150px !important;
    }

    .memorial-v3-permalink {
        grid-column: 2 !important;
        min-height: 150px !important;
        grid-template-columns: minmax(0, 1fr) 142px !important;
        padding: 10px !important;
    }

    .memorial-v3-qr {
        width: 142px !important;
        height: 176px !important;
    }

    .memorial-v3-qr canvas,
    .memorial-v3-qr img {
        width: 104px !important;
        height: 104px !important;
        max-width: 104px !important;
        max-height: 104px !important;
    }
}

/* ---------- Mobile ---------- */
@media (max-width: 760px) {

    .memorial-v3-topbar {
        margin-top: -6px !important;
    }

    .memorial-v3-topbar-grid {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .memorial-v3-spiritual-compact,
    .memorial-v3-tool-buttons,
    .memorial-v3-permalink {
        grid-column: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        border-radius: 15px !important;
    }

    .memorial-v3-spiritual-compact {
        padding: 10px !important;
        grid-template-columns: 1fr !important;
    }

    .memorial-v3-spiritual-actions {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }

    .memorial-v3-caspian-share {
        min-height: 66px !important;
        padding: 10px 8px !important;
        flex-wrap: wrap !important;
        overflow: visible !important;
        gap: 6px !important;
    }

    .memorial-v3-caspian-share .memorial-v3-social-tool,
    .memorial-v3-caspian-share .memorial-v3-tool {
        flex-basis: 40px !important;
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        min-height: 40px !important;
    }

    .memorial-v3-permalink {
        padding: 12px 10px 14px !important;
        grid-template-columns: 1fr !important;
        justify-items: center !important;
        gap: 10px !important;
        text-align: center !important;
    }

    .memorial-v3-permalink-copy {
        text-align: center !important;
    }

    .memorial-v3-qr {
        width: 146px !important;
        height: 180px !important;
        margin-inline: auto !important;
    }

    .memorial-v3-qr canvas,
    .memorial-v3-qr img {
        width: 108px !important;
        height: 108px !important;
        max-width: 108px !important;
        max-height: 108px !important;
    }
}

@media (max-width: 480px) {

    .memorial-v3-spiritual-action {
        min-height: 56px !important;
        padding: 6px !important;
    }

    .memorial-v3-caspian-share {
        gap: 5px !important;
    }

    .memorial-v3-caspian-share .memorial-v3-social-tool,
    .memorial-v3-caspian-share .memorial-v3-tool {
        flex-basis: 38px !important;
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        min-height: 38px !important;
    }

    .memorial-v3-qr {
        width: 140px !important;
        height: 174px !important;
        border-width: 7px !important;
        border-radius: 22px !important;
    }

    .memorial-v3-qr canvas,
    .memorial-v3-qr img {
        width: 104px !important;
        height: 104px !important;
        max-width: 104px !important;
        max-height: 104px !important;
    }

    .memorial-v3-qr::after {
        min-height: 42px !important;
        font-size: 8px !important;
    }
}

/* END LOCK 9A-4D4C-2 TOP UTILITY PARITY */

/* ==========================================================
   BEGIN LOCK 9A-4D4X-MP2A STRUCTURAL PROTOTYPE REBUILD
   Real structural parity pass:
   - prototype-derived hero asset
   - template structural hooks
   - stronger section composition
   - no fabricated biography or factual data
   ========================================================== */

.memorial-v4-structural {
    background:
        radial-gradient(circle at 8% 18%, rgba(205,169,83,.07), transparent 25%),
        #f5f8f6 !important;
}

/* =========================
   HERO: prototype-first
   ========================= */
.memorial-v4-hero-rebuild {
    position: relative !important;
    isolation: isolate !important;
    min-height: 330px !important;
    overflow: visible !important;
    background:
        linear-gradient(90deg, rgba(2,31,25,.10), rgba(2,38,30,.38) 43%, rgba(1,28,23,.15)),
        url("../images/shahidabad-memorial-hero-prototype-v2.jpg") center / cover no-repeat !important;
    border-bottom: 0 !important;
    box-shadow: inset 0 -1px 0 rgba(255,255,255,.13) !important;
}

.memorial-v4-hero-rebuild::before,
.memorial-v4-hero-rebuild::after {
    content: none !important;
}

.memorial-v4-hero-rebuild .memorial-v4-hero-scene {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    pointer-events: none !important;
    background:
        linear-gradient(90deg,
            rgba(2,34,27,.02) 0%,
            rgba(2,39,31,.12) 22%,
            rgba(2,40,32,.64) 42%,
            rgba(2,40,32,.72) 58%,
            rgba(2,34,27,.08) 100%) !important;
}

.memorial-v4-hero-rebuild .memorial-v3-hero-glow {
    display: none !important;
}

.memorial-v4-hero-rebuild .memorial-v3-hero-grid {
    position: relative !important;
    z-index: 2 !important;
    min-height: 330px !important;
    padding-block: 20px 22px !important;
    grid-template-columns: minmax(0,1fr) 224px !important;
    gap: 38px !important;
    align-items: center !important;
}

.memorial-v4-hero-rebuild .memorial-v3-hero-copy {
    max-width: 650px !important;
    margin-inline: auto !important;
    text-align: center !important;
}

.memorial-v4-hero-rebuild .memorial-v3-badges {
    justify-content: center !important;
}

.memorial-v4-hero-rebuild h1 {
    margin-top: 10px !important;
    font-size: clamp(38px, 4vw, 55px) !important;
    line-height: 1.18 !important;
    letter-spacing: -.8px !important;
    text-shadow: 0 3px 22px rgba(0,0,0,.30) !important;
}

.memorial-v4-hero-rebuild .memorial-v3-hero-lead {
    max-width: 600px !important;
    margin: 8px auto 0 !important;
    color: rgba(255,255,255,.86) !important;
    font-size: 15px !important;
}

.memorial-v4-hero-rebuild .memorial-v3-hero-facts {
    max-width: 640px !important;
    margin: 16px auto 0 !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 9px !important;
}

.memorial-v4-hero-rebuild .memorial-v3-hero-facts > div {
    min-height: 66px !important;
    padding: 9px 12px !important;
    border: 1px solid rgba(255,255,255,.25) !important;
    border-radius: 12px !important;
    background: rgba(5,65,51,.42) !important;
    backdrop-filter: blur(8px) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.06),
        0 7px 20px rgba(0,0,0,.09) !important;
}

.memorial-v4-hero-rebuild .memorial-v3-hero-facts span {
    color: rgba(255,255,255,.66) !important;
}

.memorial-v4-hero-rebuild .memorial-v3-hero-facts strong {
    color: #fff !important;
}

.memorial-v4-hero-rebuild .memorial-v3-burial-line {
    justify-content: center !important;
    color: rgba(255,255,255,.88) !important;
}

.memorial-v4-hero-rebuild .memorial-v3-portrait-column {
    width: 224px !important;
}

.memorial-v4-hero-rebuild .memorial-v3-portrait {
    border: 3px solid rgba(233,193,100,.96) !important;
    border-radius: 17px !important;
    background: #fff8e7 !important;
    box-shadow:
        0 20px 44px rgba(0,0,0,.32),
        0 0 0 1px rgba(255,255,255,.10) !important;
}

.memorial-v4-hero-rebuild .memorial-v3-download-portrait {
    min-height: 38px !important;
    margin-top: 7px !important;
    border-color: rgba(232,195,112,.50) !important;
    background: rgba(4,72,56,.90) !important;
    backdrop-filter: blur(8px) !important;
}

/* =========================
   TOP UTILITY
   ========================= */
.memorial-v4-topbar-rebuild {
    position: relative !important;
    z-index: 5 !important;
    margin-top: -18px !important;
}

.memorial-v4-topbar-rebuild .memorial-v3-topbar-grid {
    grid-template-columns: minmax(0,.98fr) minmax(0,1.48fr) minmax(0,1fr) !important;
    gap: 12px !important;
    align-items: stretch !important;
}

.memorial-v4-topbar-rebuild .memorial-v3-spiritual-compact,
.memorial-v4-topbar-rebuild .memorial-v3-tool-buttons,
.memorial-v4-topbar-rebuild .memorial-v3-permalink {
    min-height: 150px !important;
    border-radius: 15px !important;
    border: 1px solid rgba(7,80,63,.11) !important;
    background: rgba(255,255,255,.985) !important;
    box-shadow: 0 14px 34px rgba(14,62,49,.10) !important;
}

.memorial-v4-topbar-rebuild .memorial-v3-spiritual-compact {
    border-inline-start: 3px solid #d2a03e !important;
}

.memorial-v4-topbar-rebuild .memorial-v3-permalink {
    border-inline-end: 3px solid #0ea28e !important;
}

.memorial-v4-topbar-rebuild .memorial-v3-caspian-share {
    align-content: center !important;
    justify-content: center !important;
}

/* QR approved memorial style */
.memorial-v4-topbar-rebuild .memorial-v3-qr {
    width: 144px !important;
    height: 176px !important;
    padding: 10px 10px 45px !important;
    border: 7px solid #10aa96 !important;
    border-radius: 22px !important;
    background: #fff !important;
}

.memorial-v4-topbar-rebuild .memorial-v3-qr canvas,
.memorial-v4-topbar-rebuild .memorial-v3-qr img {
    width: 108px !important;
    height: 108px !important;
    max-width: 108px !important;
    max-height: 108px !important;
}

/* =========================
   OVERVIEW
   ========================= */
.memorial-v4-overview-rebuild {
    margin-top: 4px !important;
}

.memorial-v4-overview-rebuild .memorial-v3-section-title {
    min-height: 52px !important;
    margin-bottom: 10px !important;
}

.memorial-v4-overview-rebuild .memorial-v3-section-title h2 {
    font-size: 29px !important;
    color: #123f34 !important;
}

.memorial-v4-overview-rebuild .memorial-v3-overview-grid {
    gap: 12px !important;
    align-items: stretch !important;
}

.memorial-v4-overview-rebuild .memorial-v3-card {
    min-width: 0 !important;
    padding: 15px !important;
    border: 1px solid rgba(7,80,63,.10) !important;
    border-radius: 15px !important;
    background: #fff !important;
    box-shadow: 0 9px 24px rgba(18,65,52,.07) !important;
}

.memorial-v4-overview-rebuild .memorial-v3-card h3 {
    margin-bottom: 9px !important;
    padding-bottom: 7px !important;
    color: #07513f !important;
    border-bottom: 1px solid #e9efec !important;
}

/* =========================
   TIMELINE
   ========================= */
.memorial-v4-timeline-rebuild {
    border: 1px solid rgba(7,80,63,.10) !important;
    border-radius: 17px !important;
    background: #fff !important;
    box-shadow: 0 10px 28px rgba(18,65,52,.075) !important;
}

.memorial-v4-timeline-rebuild .memorial-v3-timeline::before {
    height: 2px !important;
    background: linear-gradient(90deg,#ec8b14,#d5a33f,#ec8b14) !important;
}

.memorial-v4-timeline-rebuild .memorial-v3-timeline-node {
    box-shadow:
        0 0 0 5px #fff,
        0 0 0 6px rgba(224,146,34,.62) !important;
}

/* =========================
   MEDIA
   ========================= */
.memorial-v4-media-rebuild {
    padding: 16px !important;
    border: 1px solid rgba(7,80,63,.10) !important;
    border-radius: 17px !important;
    background: #fff !important;
    box-shadow: 0 10px 28px rgba(18,65,52,.075) !important;
}

@media (min-width: 981px) {
    .memorial-v4-media-rebuild .memorial-v3-gallery-grid {
        display: grid !important;
        grid-template-columns: repeat(5,minmax(0,1fr)) !important;
        gap: 9px !important;
        overflow: visible !important;
    }

    .memorial-v4-media-rebuild .memorial-v3-gallery-grid > .memorial-v3-media-item {
        width: auto !important;
        max-width: none !important;
        grid-column: auto !important;
    }

    .memorial-v4-media-rebuild .memorial-v3-gallery-grid > .memorial-v3-media-item:first-child {
        grid-column: span 2 !important;
        grid-row: span 2 !important;
    }
}

.memorial-v4-media-rebuild .memorial-v3-media-item {
    overflow: hidden !important;
    border: 1px solid #e0e9e5 !important;
    border-radius: 11px !important;
    background: #fff !important;
    box-shadow: 0 4px 13px rgba(18,65,52,.055) !important;
}

.memorial-v4-media-rebuild .memorial-v3-media-item img {
    transition: transform .22s ease !important;
}

.memorial-v4-media-rebuild .memorial-v3-media-item:hover img {
    transform: scale(1.02) !important;
}

/* =========================
   WILL + LOWER MODULES
   ========================= */
.memorial-v4-structural .memorial-v3-will,
.memorial-v4-structural .memorial-v3-will-card {
    position: relative !important;
    overflow: hidden !important;
    border: 1px solid rgba(207,164,73,.22) !important;
    border-radius: 17px !important;
    background:
        radial-gradient(circle at 3% 5%,rgba(225,188,108,.13),transparent 22%),
        #fffdf9 !important;
    box-shadow: 0 9px 24px rgba(18,65,52,.06) !important;
}

.memorial-v4-structural .memorial-v3-will::before,
.memorial-v4-structural .memorial-v3-will-card::before {
    content: "“" !important;
    position: absolute !important;
    left: 18px !important;
    top: 0 !important;
    color: rgba(213,172,83,.24) !important;
    font: 76px/1 Georgia,serif !important;
}

.memorial-v4-lower-rebuild {
    gap: 12px !important;
}

.memorial-v4-lower-rebuild .memorial-v3-lower-card,
.memorial-v4-lower-rebuild .memorial-v3-grave,
.memorial-v4-lower-rebuild .memorial-v3-memories {
    border: 1px solid rgba(7,80,63,.10) !important;
    border-radius: 15px !important;
    background: #fff !important;
    box-shadow: 0 8px 22px rgba(18,65,52,.065) !important;
}

/* =========================
   RESPONSIVE
   ========================= */
@media (max-width: 980px) {
    .memorial-v4-hero-rebuild {
        background-position: 42% center !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-hero-grid {
        grid-template-columns: minmax(0,1fr) 194px !important;
        gap: 22px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-portrait-column {
        width: 194px !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-topbar-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-spiritual-compact {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 760px) {
    .memorial-v4-hero-rebuild {
        min-height: 0 !important;
        background-position: 34% center !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-hero-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        padding-block: 15px 20px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-portrait-column {
        width: min(170px,58vw) !important;
        justify-self: center !important;
        grid-row: 1 !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-hero-copy {
        max-width: 100% !important;
    }

    .memorial-v4-hero-rebuild h1 {
        font-size: clamp(24px,8vw,29px) !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-hero-facts {
        grid-template-columns: 1fr !important;
        gap: 6px !important;
    }

    .memorial-v4-topbar-rebuild {
        margin-top: -8px !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-topbar-grid {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-spiritual-compact,
    .memorial-v4-topbar-rebuild .memorial-v3-tool-buttons,
    .memorial-v4-topbar-rebuild .memorial-v3-permalink {
        min-height: 0 !important;
        grid-column: 1 !important;
    }

    .memorial-v4-overview-rebuild .memorial-v3-overview-grid {
        grid-template-columns: 1fr !important;
    }

    .memorial-v4-media-rebuild {
        padding: 10px !important;
    }

    .memorial-v4-media-rebuild .memorial-v3-gallery-grid {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }
}

/* END LOCK 9A-4D4X-MP2A STRUCTURAL PROTOTYPE REBUILD */

/* ==========================================================
   BEGIN LOCK 9A-4D4X-MP2A-P1 SHARED LAYERED PORTRAIT SYSTEM

   Architecture:
   - one transparent PNG memorial frame shared by ALL martyr pages
   - one transparent cutout PNG per martyr, named exactly by post slug
   - frame stays above the portrait
   - hero background remains visible through PNG transparency
   - safe fallback to the existing featured image until a cutout is supplied

   Current pilot:
   mohammadjafar-mostafaee.png
   ========================================================== */

.memorial-v4-layered-portrait {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 1176 / 1337 !important;
    margin: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.memorial-v4-layered-portrait .memorial-v4-portrait-stage {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1176 / 1337 !important;
    overflow: visible !important;
    isolation: isolate !important;
}

/*
 * Inner transparent opening measured from the supplied master frame:
 * x: 404..840 of 1176
 * y: 252..1088 of 1337
 */
.memorial-v4-layered-portrait .memorial-v4-portrait-window {
    position: absolute !important;
    z-index: 1 !important;
    left: 34.3537415% !important;
    top: 18.8481675% !important;
    width: 37.0748299% !important;
    height: 62.5280479% !important;
    overflow: hidden !important;
    background: transparent !important;
}

.memorial-v4-layered-portrait .memorial-v4-portrait-person {
    position: absolute !important;
    z-index: 1 !important;
    left: 50% !important;
    bottom: 0 !important;
    width: auto !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    object-fit: contain !important;
    transform: translateX(-50%) !important;
    transform-origin: 50% 100% !important;
    filter: none !important;
}

.memorial-v4-layered-portrait .memorial-v4-portrait-frame {
    position: absolute !important;
    z-index: 2 !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    object-fit: contain !important;
    pointer-events: none !important;
    user-select: none !important;
    filter: drop-shadow(0 16px 24px rgba(0,0,0,.20)) !important;
}

/* Neutralize previous single-image portrait chrome only when layered system is active. */
.memorial-v4-hero-rebuild .memorial-v4-layered-portrait {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Give the new taller ornamental frame enough visual room. */
@media (min-width: 1180px) {
    .memorial-v4-hero-rebuild .memorial-v3-hero-grid {
        grid-template-columns: minmax(0, 1fr) 245px !important;
        gap: 34px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-portrait-column {
        width: 245px !important;
    }
}

@media (min-width: 981px) and (max-width: 1179px) {
    .memorial-v4-hero-rebuild .memorial-v3-hero-grid {
        grid-template-columns: minmax(0, 1fr) 220px !important;
        gap: 26px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-portrait-column {
        width: 220px !important;
    }
}

@media (min-width: 761px) and (max-width: 980px) {
    .memorial-v4-hero-rebuild .memorial-v3-hero-grid {
        grid-template-columns: minmax(0, 1fr) 190px !important;
        gap: 18px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-portrait-column {
        width: 190px !important;
    }
}

@media (max-width: 760px) {
    .memorial-v4-hero-rebuild .memorial-v3-portrait-column {
        width: min(184px, 61vw) !important;
    }

    .memorial-v4-layered-portrait .memorial-v4-portrait-frame {
        filter: drop-shadow(0 10px 16px rgba(0,0,0,.18)) !important;
    }
}

@media print {
    .memorial-v4-layered-portrait .memorial-v4-portrait-frame {
        filter: none !important;
    }
}

/* END LOCK 9A-4D4X-MP2A-P1 SHARED LAYERED PORTRAIT SYSTEM */

/* ==========================================================
   BEGIN LOCK 9A-4D4X-MP2A-P1R1 PORTRAIT ALIGNMENT + SCALE

   Scope:
   - layered portrait visual scale
   - portrait-column balance
   - download-button alignment
   - desktop / tablet / mobile spacing
   - NO template/data/JS/IIS mutation
   ========================================================== */

/* Shared visual tuning */
.memorial-v4-layered-portrait .memorial-v4-portrait-person {
    height: 106% !important;
    bottom: -1.5% !important;
}

.memorial-v4-layered-portrait .memorial-v4-portrait-frame {
    filter:
        drop-shadow(0 18px 28px rgba(0,0,0,.22))
        drop-shadow(0 2px 2px rgba(255,255,255,.08)) !important;
}

.memorial-v4-hero-rebuild .memorial-v3-download-portrait {
    width: 100% !important;
    margin-top: 5px !important;
    min-height: 40px !important;
    box-sizing: border-box !important;
}

/* Desktop */
@media (min-width: 1180px) {
    .memorial-v4-hero-rebuild .memorial-v3-hero-grid {
        grid-template-columns: minmax(0, 1fr) 300px !important;
        gap: 30px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-portrait-column {
        width: 300px !important;
        justify-self: end !important;
        align-self: center !important;
        transform: translateY(6px) !important;
    }

    .memorial-v4-hero-rebuild .memorial-v4-layered-portrait {
        width: 100% !important;
    }
}

/* Large tablet / small desktop */
@media (min-width: 981px) and (max-width: 1179px) {
    .memorial-v4-hero-rebuild .memorial-v3-hero-grid {
        grid-template-columns: minmax(0, 1fr) 258px !important;
        gap: 24px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-portrait-column {
        width: 258px !important;
        justify-self: end !important;
        transform: translateY(4px) !important;
    }
}

/* Tablet */
@media (min-width: 761px) and (max-width: 980px) {
    .memorial-v4-hero-rebuild .memorial-v3-hero-grid {
        grid-template-columns: minmax(0, 1fr) 224px !important;
        gap: 18px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-portrait-column {
        width: 224px !important;
        justify-self: end !important;
        transform: translateY(2px) !important;
    }
}

/* Mobile */
@media (max-width: 760px) {
    .memorial-v4-hero-rebuild .memorial-v3-portrait-column {
        width: min(202px, 66vw) !important;
        justify-self: center !important;
        margin-bottom: 2px !important;
        transform: none !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-download-portrait {
        margin-top: 4px !important;
        min-height: 38px !important;
    }

    .memorial-v4-layered-portrait .memorial-v4-portrait-frame {
        filter:
            drop-shadow(0 12px 18px rgba(0,0,0,.20))
            drop-shadow(0 1px 1px rgba(255,255,255,.07)) !important;
    }
}

/* Very small mobile */
@media (max-width: 420px) {
    .memorial-v4-hero-rebuild .memorial-v3-portrait-column {
        width: min(194px, 68vw) !important;
    }
}

@media print {
    .memorial-v4-layered-portrait .memorial-v4-portrait-person {
        height: 100% !important;
        bottom: 0 !important;
    }

    .memorial-v4-layered-portrait .memorial-v4-portrait-frame {
        filter: none !important;
    }
}

/* END LOCK 9A-4D4X-MP2A-P1R1 PORTRAIT ALIGNMENT + SCALE */

/* ==========================================================
   BEGIN FINAL ATTEMPT 9A-4D4X-MP2A-P1R2 DESKTOP HERO PARITY

   Reference goal:
   - large, dominant memorial portrait on physical RIGHT
   - stronger sunrise / village scene on LEFT
   - centered editorial title hierarchy
   - 3 larger translucent fact cards
   - utility row visually attached to hero
   - balanced Spiritual / Share / QR cards

   IMPORTANT:
   - DESKTOP ONLY (>=1180px)
   - portrait architecture remains frozen
   - no lower-page redesign
   ========================================================== */

@media (min-width: 1180px) {

    /* ------------------------------------------------------
       HERO SCENE
       ------------------------------------------------------ */
    .memorial-v4-hero-rebuild {
        min-height: 438px !important;
        overflow: visible !important;
        background-position: center center !important;
        background-size: cover !important;
        box-shadow:
            inset 0 -1px 0 rgba(255,255,255,.16),
            0 12px 34px rgba(2,45,35,.10) !important;
    }

    .memorial-v4-hero-rebuild .memorial-v4-hero-scene {
        display: block !important;
        z-index: 0 !important;
        background:
            radial-gradient(
                circle at 10% 44%,
                rgba(255,211,108,.30) 0%,
                rgba(255,196,74,.13) 17%,
                transparent 36%
            ),
            linear-gradient(
                90deg,
                rgba(0,31,24,.00) 0%,
                rgba(0,44,34,.04) 24%,
                rgba(1,47,37,.42) 45%,
                rgba(1,43,34,.50) 61%,
                rgba(0,31,25,.07) 100%
            ) !important;
    }

    /* right-side prototype calligraphy */
    .memorial-v4-hero-rebuild::after {
        content: "راه\A شهیدان\A ادامه دارد" !important;
        white-space: pre !important;
        position: absolute !important;
        z-index: 1 !important;
        top: 66px !important;
        right: 28px !important;
        width: 118px !important;
        color: rgba(255,255,255,.90) !important;
        font-size: 25px !important;
        font-weight: 800 !important;
        line-height: 1.72 !important;
        text-align: center !important;
        text-shadow: 0 3px 14px rgba(0,0,0,.22) !important;
        pointer-events: none !important;
    }

    /* ------------------------------------------------------
       HERO GRID / COPY
       ------------------------------------------------------ */
    .memorial-v4-hero-rebuild .memorial-v3-hero-grid {
        min-height: 438px !important;
        padding-block: 28px 22px !important;
        grid-template-columns: minmax(0, 1fr) 390px !important;
        gap: 18px !important;
        align-items: center !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-hero-copy {
        max-width: 760px !important;
        justify-self: center !important;
        margin-inline: auto !important;
        padding-inline: 10px !important;
        text-align: center !important;
        transform: translateX(14px) !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-badges {
        justify-content: center !important;
        gap: 10px !important;
        margin-bottom: 8px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-badge {
        min-height: 37px !important;
        padding: 7px 15px !important;
        border-radius: 999px !important;
        font-size: 13px !important;
        font-weight: 900 !important;
    }

    .memorial-v4-hero-rebuild h1 {
        margin: 4px 0 0 !important;
        font-size: clamp(48px, 4.0vw, 61px) !important;
        line-height: 1.10 !important;
        font-weight: 950 !important;
        letter-spacing: -1.1px !important;
        text-align: center !important;
        text-shadow: 0 4px 24px rgba(0,0,0,.33) !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-hero-lead {
        max-width: 650px !important;
        margin: 13px auto 0 !important;
        font-size: 17px !important;
        line-height: 1.8 !important;
        text-align: center !important;
        color: rgba(255,255,255,.91) !important;
        text-shadow: 0 2px 10px rgba(0,0,0,.25) !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-hero-facts {
        width: min(100%, 720px) !important;
        max-width: 720px !important;
        margin: 20px auto 0 !important;
        grid-template-columns: repeat(3, minmax(0,1fr)) !important;
        gap: 13px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-hero-facts > div {
        min-height: 95px !important;
        padding: 12px 15px !important;
        align-content: center !important;
        border: 1px solid rgba(255,255,255,.29) !important;
        border-radius: 15px !important;
        background:
            linear-gradient(180deg, rgba(8,88,68,.42), rgba(4,66,51,.47)) !important;
        backdrop-filter: blur(9px) !important;
        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.07),
            0 9px 24px rgba(0,0,0,.11) !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-hero-facts span {
        margin-bottom: 3px !important;
        color: rgba(255,255,255,.72) !important;
        font-size: 12px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-hero-facts strong {
        color: #fff !important;
        font-size: 15px !important;
        line-height: 1.75 !important;
        font-weight: 900 !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-burial-line {
        justify-content: center !important;
        margin-top: 13px !important;
        font-size: 13px !important;
        color: rgba(255,255,255,.91) !important;
    }

    /* ------------------------------------------------------
       PORTRAIT: one last desktop composition attempt
       ------------------------------------------------------ */
    .memorial-v4-hero-rebuild .memorial-v3-portrait-column {
        position: relative !important;
        z-index: 3 !important;
        width: 390px !important;
        justify-self: end !important;
        align-self: end !important;
        margin: 0 !important;
        transform: translate(-6px, 28px) !important;
    }

    .memorial-v4-hero-rebuild .memorial-v4-layered-portrait {
        width: 100% !important;
        margin: 0 !important;
    }

    .memorial-v4-layered-portrait .memorial-v4-portrait-person {
        height: 109% !important;
        bottom: -2.2% !important;
    }

    .memorial-v4-layered-portrait .memorial-v4-portrait-frame {
        filter:
            drop-shadow(0 22px 34px rgba(0,0,0,.25))
            drop-shadow(0 2px 2px rgba(255,255,255,.08)) !important;
    }

    /* Keep functionality, but make the download action visually secondary. */
    .memorial-v4-hero-rebuild .memorial-v3-download-portrait {
        position: absolute !important;
        z-index: 4 !important;
        left: 50% !important;
        bottom: 4px !important;
        width: 66% !important;
        min-height: 34px !important;
        margin: 0 !important;
        padding: 5px 12px !important;
        transform: translateX(-50%) !important;
        border-color: rgba(238,205,132,.38) !important;
        border-radius: 9px !important;
        background: rgba(4,68,53,.73) !important;
        backdrop-filter: blur(7px) !important;
        box-shadow: 0 6px 18px rgba(0,0,0,.13) !important;
        font-size: 10px !important;
        opacity: .90 !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-download-portrait > span {
        font-size: 15px !important;
    }

    /* ------------------------------------------------------
       TOP UTILITY: wider / taller / closer to reference
       ------------------------------------------------------ */
    .memorial-v4-topbar-rebuild {
        z-index: 6 !important;
        margin-top: -27px !important;
        margin-bottom: 29px !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-shell {
        width: min(100% - 44px, 1300px) !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-topbar-grid {
        direction: ltr !important;
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1.22fr)
            minmax(0, 1fr) !important;
        gap: 12px !important;
        align-items: stretch !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-spiritual-compact,
    .memorial-v4-topbar-rebuild .memorial-v3-tool-buttons,
    .memorial-v4-topbar-rebuild .memorial-v3-permalink {
        min-height: 184px !important;
        border-radius: 16px !important;
        background: rgba(255,255,255,.985) !important;
        box-shadow: 0 16px 38px rgba(16,62,49,.12) !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-spiritual-compact {
        grid-column: 1 !important;
        direction: rtl !important;
        padding: 18px 20px !important;
        border-inline-start: 4px solid #d2a03c !important;
        align-content: center !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-tool-buttons {
        grid-column: 2 !important;
        direction: rtl !important;
        padding: 16px 20px !important;
        display: grid !important;
        place-items: center !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-permalink {
        grid-column: 3 !important;
        direction: rtl !important;
        padding: 14px 16px !important;
        grid-template-columns: minmax(0,1fr) 158px !important;
        gap: 16px !important;
        align-items: center !important;
        border-inline-end: 4px solid #0fa58f !important;
    }

    /* Spiritual card */
    .memorial-v4-topbar-rebuild .memorial-v3-spiritual-heading {
        margin-bottom: 12px !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-spiritual-heading h2 {
        font-size: 19px !important;
        line-height: 1.65 !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-spiritual-actions {
        gap: 9px !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-spiritual-action {
        min-height: 71px !important;
        border-radius: 11px !important;
        background: linear-gradient(180deg,#fff,#f8fcfa) !important;
    }

    /* Share toolbar */
    .memorial-v4-topbar-rebuild .memorial-v3-caspian-share {
        width: 100% !important;
        padding: 0 !important;
        gap: 10px !important;
        justify-content: center !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-caspian-share .memorial-v3-social-tool,
    .memorial-v4-topbar-rebuild .memorial-v3-caspian-share .memorial-v3-tool {
        flex: 0 0 52px !important;
        width: 52px !important;
        height: 52px !important;
        min-width: 52px !important;
        min-height: 52px !important;
        border-radius: 12px !important;
        border-color: #dce7e2 !important;
        background: #fff !important;
        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.95),
            0 3px 8px rgba(15,65,52,.045) !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-caspian-share .memorial-v3-tool-dark,
    .memorial-v4-topbar-rebuild .memorial-v3-caspian-share .is-print {
        color: #fff !important;
        border-color: #075744 !important;
        background: #075744 !important;
    }

    /* QR card */
    .memorial-v4-topbar-rebuild .memorial-v3-permalink-copy {
        text-align: right !important;
        align-self: center !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-permalink-copy strong {
        display: block !important;
        margin-bottom: 6px !important;
        color: #0a503e !important;
        font-size: 19px !important;
        font-weight: 950 !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-permalink-copy small {
        color: #6b7b75 !important;
        font-size: 11px !important;
        line-height: 1.75 !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-qr {
        width: 158px !important;
        height: 184px !important;
        padding: 9px 9px 43px !important;
        border: 7px solid #0aa38f !important;
        border-radius: 21px !important;
        box-shadow:
            0 7px 0 rgba(6,89,70,.09),
            0 13px 24px rgba(15,74,59,.12) !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-qr canvas,
    .memorial-v4-topbar-rebuild .memorial-v3-qr img {
        width: 120px !important;
        height: 120px !important;
        max-width: 120px !important;
        max-height: 120px !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-qr::after {
        min-height: 39px !important;
        padding: 6px !important;
        font-size: 8px !important;
        line-height: 1.45 !important;
    }

    /* Keep the next section close to the reference rhythm. */
    .memorial-v4-overview-rebuild {
        margin-top: 0 !important;
    }
}

/* END FINAL ATTEMPT 9A-4D4X-MP2A-P1R2 DESKTOP HERO PARITY */

/* ==========================================================
   BEGIN TEST 9A-4D4X-MP2A-HEAD-ESCAPE-R2 CSS-ONLY

   CSS-only "break the frame" test.
   No duplicate IMG tag is inserted into PHP.

   The ::after layer reuses the exact transparent portrait PNG
   for the pilot martyr and aligns it pixel-for-pixel with the
   existing base portrait. Only the head / beard region is
   revealed above the memorial frame.
   ========================================================== */

@media (min-width: 1180px) {

    .memorial-v4-portrait-stage[data-martyr-portrait-slug="mohammadjafar-mostafaee"] {
        position: relative !important;
        overflow: visible !important;
        isolation: isolate !important;
    }

    .memorial-v4-portrait-stage[data-martyr-portrait-slug="mohammadjafar-mostafaee"]::after {
        content: "" !important;

        position: absolute !important;
        z-index: 4 !important;

        /*
         * Exact alignment with the current base portrait:
         *
         * portrait source: 1122 x 1402
         * frame source:    1176 x 1337
         *
         * Existing window:
         * left 34.3537415%
         * top 18.8481675%
         * width 37.0748299%
         * height 62.5280479%
         *
         * Existing person:
         * height 109%
         * bottom -2.2%
         *
         * Resulting full-person box relative to stage:
         */
        left: 21.880% !important;
        bottom: 17.248% !important;
        width: 62.062% !important;
        height: 68.156% !important;

        background-image: url("../images/martyr-portraits/mohammadjafar-mostafaee.png") !important;
        background-repeat: no-repeat !important;
        background-position: center center !important;
        background-size: 100% 100% !important;

        /*
         * Reveal head/hair/face/beard only.
         * Shoulders and torso remain behind the frame.
         */
        clip-path: polygon(
            23% 0%,
            77% 0%,
            88% 8%,
            94% 22%,
            95% 40%,
            91% 56%,
            82% 69%,
            68% 79%,
            50% 84%,
            32% 79%,
            18% 69%,
            9% 56%,
            5% 40%,
            6% 22%,
            12% 8%
        ) !important;

        -webkit-clip-path: polygon(
            23% 0%,
            77% 0%,
            88% 8%,
            94% 22%,
            95% 40%,
            91% 56%,
            82% 69%,
            68% 79%,
            50% 84%,
            32% 79%,
            18% 69%,
            9% 56%,
            5% 40%,
            6% 22%,
            12% 8%
        ) !important;

        pointer-events: none !important;
        user-select: none !important;
    }
}

/* No overlay outside desktop during this experiment. */
@media (max-width: 1179px) {
    .memorial-v4-portrait-stage[data-martyr-portrait-slug="mohammadjafar-mostafaee"]::after {
        content: none !important;
        display: none !important;
    }
}

/* END TEST 9A-4D4X-MP2A-HEAD-ESCAPE-R2 CSS-ONLY */

/* ==========================================================
   BEGIN FINAL 9A-4D4X-MP2A-PORTRAIT-R3 PLACEMENT LOCK

   Desktop-only final portrait placement:
   - larger memorial composition
   - slightly higher
   - slightly further left
   - head remains above frame
   - body remains behind frame/flowers
   - tighter head mask (less shoulder spill)
   - no typography / utility / lower-page changes
   ========================================================== */

@media (min-width: 1180px) {

    /*
     * Reserve a little more real estate for the portrait without
     * touching typography or the lower sections.
     */
    .memorial-v4-hero-rebuild .memorial-v3-hero-grid {
        grid-template-columns: minmax(0, 1fr) 430px !important;
        gap: 6px !important;
    }

    /*
     * Final visual placement:
     * previous effective width ~390px
     * new width 430px  => ~10.3% larger
     *
     * previous transform was visually low/right.
     * This moves the composition left and up.
     */
    .memorial-v4-hero-rebuild .memorial-v3-portrait-column {
        width: 430px !important;
        max-width: 430px !important;
        justify-self: end !important;
        align-self: end !important;

        margin: 0 !important;
        transform: translate(-24px, -8px) !important;
        transform-origin: 100% 100% !important;
    }

    .memorial-v4-hero-rebuild .memorial-v4-layered-portrait,
    .memorial-v4-hero-rebuild .memorial-v4-portrait-stage {
        width: 100% !important;
        max-width: none !important;
        overflow: visible !important;
    }

    /*
     * Small internal scale increase so the face has the same visual
     * authority as the approved prototype while the outer frame also grows.
     */
    .memorial-v4-layered-portrait .memorial-v4-portrait-person {
        height: 112% !important;
        bottom: -2.8% !important;
    }

    /*
     * R2 head-escape refinement.
     * Same source image, aligned to the base portrait.
     * The mask is deliberately tightened at the bottom so shoulders do
     * NOT come above the decorative frame.
     */
    .memorial-v4-portrait-stage[data-martyr-portrait-slug="mohammadjafar-mostafaee"]::after {
        left: 21.02% !important;
        bottom: 15.72% !important;
        width: 63.78% !important;
        height: 70.03% !important;

        clip-path: polygon(
            24% 0%,
            76% 0%,
            87% 8%,
            93% 21%,
            94% 38%,
            90% 52%,
            81% 64%,
            67% 72%,
            50% 76%,
            33% 72%,
            19% 64%,
            10% 52%,
            6% 38%,
            7% 21%,
            13% 8%
        ) !important;

        -webkit-clip-path: polygon(
            24% 0%,
            76% 0%,
            87% 8%,
            93% 21%,
            94% 38%,
            90% 52%,
            81% 64%,
            67% 72%,
            50% 76%,
            33% 72%,
            19% 64%,
            10% 52%,
            6% 38%,
            7% 21%,
            13% 8%
        ) !important;
    }

    /*
     * Keep the download action visually attached to the enlarged portrait
     * if the current layout exposes it.
     */
    .memorial-v4-hero-rebuild .memorial-v3-download-portrait {
        left: 50% !important;
        width: 64% !important;
        transform: translateX(-50%) !important;
    }
}

/* Do not change tablet/mobile in this final desktop placement lock. */

/* END FINAL 9A-4D4X-MP2A-PORTRAIT-R3 PLACEMENT LOCK */

/* ==========================================================
   BEGIN FINAL ASSET MODE 9A-4D4X-MP2A-HERO-ASSET-R1

   New simplified desktop architecture:
   1) shared header background image
   2) one precomposed transparent martyr image per martyr
   3) no frame/person/head-escape layering on desktop

   IMPORTANT:
   - uses the user's exact supplied images
   - no image generation / no retouching
   - desktop only for this approval pass
   ========================================================== */

@media (min-width: 1180px) {

    .memorial-v4-hero-rebuild {
        position: relative !important;
        isolation: isolate !important;
        min-height: 455px !important;
        overflow: hidden !important;

        background-image:
            linear-gradient(
                90deg,
                rgba(2,39,30,.02) 0%,
                rgba(3,53,41,.03) 31%,
                rgba(3,63,49,.18) 53%,
                rgba(2,55,43,.22) 100%
            ),
            url("../images/martyr-hero-bg-shahidabad-v1.png") !important;

        background-repeat: no-repeat, no-repeat !important;
        background-position: center center, center 52% !important;
        background-size: cover, cover !important;
    }

    /*
     * Disable old generated/prototype hero scene.
     * The new user-supplied BG is now the source of truth.
     */
    .memorial-v4-hero-rebuild .memorial-v4-hero-scene {
        display: none !important;
    }

    /*
     * The exact supplied precomposed martyr image is rendered as
     * a single transparent layer.  No separate frame/person/head mask.
     */
    .memorial-v4-hero-rebuild::before {
        content: "" !important;
        position: absolute !important;
        z-index: 2 !important;

        top: 0 !important;
        right: -12px !important;
        bottom: 0 !important;

        width: min(860px, 60vw) !important;

        background-image: url("../images/martyr-hero/mohammadjafar-mostafaee.png") !important;
        background-repeat: no-repeat !important;
        background-position: right bottom !important;
        background-size: auto 100% !important;

        pointer-events: none !important;
        user-select: none !important;
    }

    /*
     * Remove the old calligraphy pseudo element from the previous
     * prototype patch. The supplied visual assets now define the scene.
     */
    .memorial-v4-hero-rebuild::after {
        content: none !important;
        display: none !important;
    }

    /*
     * Do not render the former layered portrait column on desktop.
     * It remains in the DOM as a safe fallback for later tablet/mobile work.
     */
    .memorial-v4-hero-rebuild .memorial-v3-portrait-column {
        display: none !important;
    }

    /*
     * The content layer sits above both visual assets.
     * Keep it in the center-left portion, clear of the portrait.
     */
    .memorial-v4-hero-rebuild .memorial-v3-hero-grid {
        position: relative !important;
        z-index: 4 !important;

        display: block !important;
        min-height: 455px !important;
        padding: 55px 0 34px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-hero-copy {
        width: min(690px, 53vw) !important;
        max-width: 690px !important;

        margin-right: auto !important;
        margin-left: 2.2vw !important;

        padding: 0 6px !important;
        transform: none !important;

        text-align: center !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-badges {
        justify-content: center !important;
        margin-bottom: 8px !important;
    }

    .memorial-v4-hero-rebuild h1 {
        margin: 5px 0 0 !important;
        font-size: clamp(48px, 4.05vw, 60px) !important;
        line-height: 1.12 !important;
        font-weight: 950 !important;
        text-align: center !important;
        letter-spacing: -.9px !important;
        text-shadow: 0 4px 20px rgba(0,0,0,.30) !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-hero-lead {
        max-width: 610px !important;
        margin: 11px auto 0 !important;

        color: rgba(255,255,255,.91) !important;
        font-size: 16px !important;
        line-height: 1.8 !important;
        text-align: center !important;
        text-shadow: 0 2px 10px rgba(0,0,0,.24) !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-hero-facts {
        width: min(100%, 670px) !important;
        max-width: 670px !important;

        margin: 18px auto 0 !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 11px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-hero-facts > div {
        min-height: 84px !important;
        padding: 10px 12px !important;

        border: 1px solid rgba(255,255,255,.28) !important;
        border-radius: 14px !important;

        background: rgba(4,68,53,.46) !important;
        backdrop-filter: blur(7px) !important;
        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.07),
            0 8px 20px rgba(0,0,0,.10) !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-burial-line {
        justify-content: center !important;
        margin-top: 11px !important;
    }
}

/* Tablet/mobile intentionally unchanged in this desktop-first approval pass. */

/* END FINAL ASSET MODE 9A-4D4X-MP2A-HERO-ASSET-R1 */

/* ==========================================================
   BEGIN 9A-4D4X-MP2A-HERO-ASSET-R2 PORTRAIT VISIBILITY + SCALE

   Purpose:
   - keep the new two-image hero architecture
   - keep the exact user-supplied martyr PNG
   - remove inherited dimming/tint from older ::before rules
   - make the visible portrait composition much larger
   - align the *visible* bottom of the martyr artwork to hero bottom
   - desktop only
   ========================================================== */

@media (min-width: 1180px) {

    .memorial-v4-hero-rebuild::before {
        /* hard reset any legacy pseudo-element effects */
        opacity: 1 !important;
        filter: none !important;
        mix-blend-mode: normal !important;
        background-blend-mode: normal !important;
        transform: none !important;

        /* give the transparent source canvas enough room */
        width: min(980px, 68vw) !important;

        /*
         * Source PNG is 1672×941.
         * The actual visible memorial composition occupies roughly:
         * x=751..1668, y=150..805.
         *
         * At 135% hero-height:
         * - the visible artwork becomes ~600px wide
         * - moving the source canvas ~89px below the hero bottom
         *   compensates for the transparent bottom margin
         * - the visible portrait itself then sits almost exactly
         *   on the bottom edge of the hero.
         */
        background-size: auto 135% !important;
        background-position: right -8px bottom -89px !important;
        background-repeat: no-repeat !important;
    }
}

/* END 9A-4D4X-MP2A-HERO-ASSET-R2 PORTRAIT VISIBILITY + SCALE */

/* ==========================================================
   BEGIN 9A-4D4X-MP2A-HERO-COPY-LOCK-R1
   DESKTOP HERO TEXT / FACTS POSITION LOCK

   Frozen visual assets:
   - martyr-hero-bg-shahidabad-v1.png
   - martyr-hero/mohammadjafar-mostafaee.png

   This block ONLY fixes the position/hierarchy of:
   - badges
   - martyr name
   - subtitle
   - birth / injury / martyrdom cards
   - burial place

   Reference: approved desktop prototype.
   ========================================================== */

@media (min-width: 1180px) {

    .memorial-v4-hero-rebuild {
        min-height: 455px !important;
    }

    /*
     * Treat the hero like a fixed composition canvas on desktop.
     * The BG and martyr artwork are already frozen and are not
     * touched in this phase.
     */
    .memorial-v4-hero-rebuild .memorial-v3-hero-grid {
        position: relative !important;
        z-index: 4 !important;

        display: block !important;
        min-height: 455px !important;
        height: 455px !important;

        padding: 0 !important;
        margin: 0 auto !important;

        direction: rtl !important;
    }

    /*
     * Prototype placement:
     * centered in the visual middle-left zone,
     * with enough clearance from the frozen portrait.
     */
    .memorial-v4-hero-rebuild .memorial-v3-hero-copy {
        position: absolute !important;
        z-index: 6 !important;

        top: 74px !important;
        left: clamp(290px, 23.5vw, 405px) !important;

        width: min(650px, 45vw) !important;
        max-width: 650px !important;

        margin: 0 !important;
        padding: 0 !important;

        transform: none !important;
        text-align: center !important;
        direction: rtl !important;
    }

    /* BADGES */
    .memorial-v4-hero-rebuild .memorial-v3-badges {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 10px !important;

        width: 100% !important;
        margin: 0 0 12px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-badge {
        min-height: 38px !important;
        padding: 7px 16px !important;

        border-radius: 999px !important;

        font-size: 13px !important;
        line-height: 1.25 !important;
        font-weight: 900 !important;

        box-shadow: 0 5px 14px rgba(0,0,0,.10) !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-badge-red {
        background: #f43d3d !important;
        border-color: rgba(255,255,255,.15) !important;
        color: #fff !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-badge-soft {
        background: rgba(20,103,82,.73) !important;
        border: 1px solid rgba(255,255,255,.27) !important;
        color: #fff !important;
        backdrop-filter: blur(6px) !important;
    }

    /* NAME */
    .memorial-v4-hero-rebuild h1 {
        width: 100% !important;
        margin: 0 !important;

        color: #fff !important;
        font-size: clamp(49px, 4.15vw, 60px) !important;
        line-height: 1.14 !important;
        font-weight: 950 !important;
        letter-spacing: -1px !important;

        text-align: center !important;
        white-space: nowrap !important;

        text-shadow:
            0 3px 16px rgba(0,0,0,.25),
            0 1px 0 rgba(0,0,0,.12) !important;
    }

    /* SUBTITLE */
    .memorial-v4-hero-rebuild .memorial-v3-hero-lead {
        width: 100% !important;
        max-width: 610px !important;

        margin: 13px auto 0 !important;

        color: rgba(255,255,255,.92) !important;
        font-size: 16px !important;
        line-height: 1.8 !important;
        font-weight: 500 !important;

        text-align: center !important;

        text-shadow: 0 2px 9px rgba(0,0,0,.25) !important;
    }

    /* FACT CARDS */
    .memorial-v4-hero-rebuild .memorial-v3-hero-facts {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

        width: 100% !important;
        max-width: 650px !important;

        margin: 20px auto 0 !important;
        gap: 12px !important;

        direction: rtl !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-hero-facts > div {
        min-height: 102px !important;

        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;

        padding: 12px 13px !important;

        border: 1px solid rgba(255,255,255,.30) !important;
        border-radius: 15px !important;

        background:
            linear-gradient(
                180deg,
                rgba(10,87,68,.46),
                rgba(4,62,49,.48)
            ) !important;

        backdrop-filter: blur(7px) !important;

        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.07),
            0 10px 22px rgba(0,0,0,.11) !important;

        text-align: center !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-hero-facts span {
        display: block !important;

        margin: 0 0 4px !important;

        color: rgba(255,255,255,.76) !important;
        font-size: 12px !important;
        line-height: 1.45 !important;
        font-weight: 600 !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-hero-facts strong {
        display: block !important;

        color: #fff !important;
        font-size: 15px !important;
        line-height: 1.75 !important;
        font-weight: 900 !important;

        text-align: center !important;
    }

    /* BURIAL */
    .memorial-v4-hero-rebuild .memorial-v3-burial-line {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 8px !important;

        width: 100% !important;

        margin: 14px auto 0 !important;

        color: rgba(255,255,255,.94) !important;
        font-size: 14px !important;
        line-height: 1.55 !important;
        font-weight: 700 !important;

        text-align: center !important;

        text-shadow: 0 2px 8px rgba(0,0,0,.25) !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-burial-line > span {
        color: #e8b443 !important;
        font-size: 13px !important;
    }
}

/* Tablet/mobile intentionally unchanged in this desktop lock. */

/* END 9A-4D4X-MP2A-HERO-COPY-LOCK-R1 */

/* =====================================================================
   BEGIN 9A-4D4X-MP2A-HERO-COPY-R2-MICRO-ALIGN
   Desktop-only micro alignment for hero copy.
   Frozen items remain unchanged:
   - martyr-hero-bg-shahidabad-v1.png
   - martyr-hero/mohammadjafar-mostafaee.png
   Purpose: bring copy placement one step closer to approved prototype.
   ===================================================================== */

@media (min-width: 1180px) {

    .memorial-v4-hero-rebuild {
        min-height: 458px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-hero-grid {
        min-height: 458px !important;
        height: 458px !important;
    }

    /* Main copy block: slightly higher and slightly more left,
       preserving clearance from the frozen portrait zone. */
    .memorial-v4-hero-rebuild .memorial-v3-hero-copy {
        top: 66px !important;
        left: clamp(270px, 21.8vw, 372px) !important;
        width: min(640px, 45.5vw) !important;
        max-width: 640px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-badges {
        margin: 0 0 14px !important;
        gap: 11px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-badge {
        min-height: 39px !important;
        padding: 8px 17px !important;
        font-size: 13px !important;
    }

    .memorial-v4-hero-rebuild h1 {
        font-size: clamp(50px, 4.05vw, 60px) !important;
        line-height: 1.13 !important;
        white-space: nowrap !important;
        margin: 0 !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-hero-lead {
        max-width: 595px !important;
        margin: 12px auto 0 !important;
        font-size: 16px !important;
        line-height: 1.8 !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-hero-facts {
        max-width: 640px !important;
        margin: 21px auto 0 !important;
        gap: 12px !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-hero-facts > div {
        min-height: 104px !important;
        padding: 13px 14px !important;
        border-radius: 16px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-hero-facts span {
        margin: 0 0 5px !important;
        font-size: 12px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-hero-facts strong {
        font-size: 15px !important;
        line-height: 1.76 !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-burial-line {
        margin: 14px auto 0 !important;
        font-size: 14px !important;
        gap: 8px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-burial-line > span {
        font-size: 13px !important;
    }
}

/* END 9A-4D4X-MP2A-HERO-COPY-R2-MICRO-ALIGN */

/* ==========================================================
   BEGIN 9A-4D4X-MP2A-HERO-COPY-R3-PROTOTYPE-ALIGN

   Reference correction at 1440px:
   - current title/copy block is visually too far right
   - fact row is much too far right compared with prototype
   - frozen BG and martyr art are NOT changed
   ========================================================== */

@media (min-width: 1180px) {

    /* Move primary name/subtitle group left ~95px at 1440. */
    .memorial-v4-hero-rebuild .memorial-v3-hero-copy {
        left: clamp(175px, 15.2vw, 285px) !important;
        width: min(640px, 45.5vw) !important;
        max-width: 640px !important;
    }

    /* Prototype badges sit less far left than the title/cards. */
    .memorial-v4-hero-rebuild .memorial-v3-badges {
        transform: translateX(48px) !important;
    }

    /* Name/subtitle align with the prototype's center-left axis. */
    .memorial-v4-hero-rebuild h1,
    .memorial-v4-hero-rebuild .memorial-v3-hero-lead {
        transform: translateX(0) !important;
    }

    /* Fact row in the prototype is narrower and clearly left of portrait. */
    .memorial-v4-hero-rebuild .memorial-v3-hero-facts {
        width: 590px !important;
        max-width: 590px !important;
        transform: translateX(-34px) !important;
        gap: 12px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-hero-facts > div {
        min-height: 101px !important;
        padding: 12px 12px !important;
    }

    /* Burial line follows the fact-row axis. */
    .memorial-v4-hero-rebuild .memorial-v3-burial-line {
        transform: translateX(-30px) !important;
        width: 590px !important;
        max-width: 590px !important;
        margin-top: 13px !important;
    }
}

/* END 9A-4D4X-MP2A-HERO-COPY-R3-PROTOTYPE-ALIGN */

/* ==========================================================
   BEGIN 9A-4D4X-MP2A-HERO-COPY-R4-MEASURED-PARITY

   Coordinate comparison:
   prototype hero was normalized to current 1440×431 canvas.

   This is NOT a visual guess:
   each child is moved independently to preserve the
   prototype's intentionally non-uniform composition.
   ========================================================== */

@media (min-width: 1180px) {

    /* Global vertical correction:
       current content sits ~22–30px above prototype. */
    .memorial-v4-hero-rebuild .memorial-v3-hero-copy {
        top: 88px !important;
    }

    /* Prototype badge group is ~8px to the right of R3.
       Parent moved down 22px; add 8px extra vertical correction. */
    .memorial-v4-hero-rebuild .memorial-v3-badges {
        transform: translate(56px, 8px) !important;
    }

    /* Title target:
       center ~13px left of R3, while reference is ~10% narrower.
       Scale X only so the vertical authority of the title is preserved. */
    .memorial-v4-hero-rebuild h1 {
        transform: translateX(-13px) scaleX(.90) !important;
        transform-origin: center center !important;
    }

    /* Prototype subtitle is visually stronger than R3.
       Keep its horizontal center independent of the title compression. */
    .memorial-v4-hero-rebuild .memorial-v3-hero-lead {
        transform: translateX(0) !important;
        font-size: 18px !important;
        max-width: 620px !important;
        margin-top: 13px !important;
    }

    /* Prototype facts are intentionally much farther LEFT than title.
       R3 was at -34px; measured target requires about -60px more. */
    .memorial-v4-hero-rebuild .memorial-v3-hero-facts {
        width: 602px !important;
        max-width: 602px !important;
        transform: translateX(-94px) !important;
        margin-top: 20px !important;
        gap: 12px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-hero-facts > div {
        min-height: 108px !important;
        padding: 12px 13px !important;
    }

    /* Prototype burial line is NOT on the same axis as the facts.
       It sits distinctly to their right. */
    .memorial-v4-hero-rebuild .memorial-v3-burial-line {
        width: 590px !important;
        max-width: 590px !important;
        transform: translateX(103px) !important;
        margin-top: 14px !important;
    }
}

/* END 9A-4D4X-MP2A-HERO-COPY-R4-MEASURED-PARITY */

/* ==========================================================
   BEGIN 9A-4D4X-MP2A-TOP-UTILITY-R1-PROTOTYPE-PARITY

   Desktop-only.
   Approved prototype target:
   - utility row overlaps bottom of Hero
   - three visually balanced white cards
   - spiritual card ~= 31.5%
   - toolbar card  ~= 34.8%
   - QR card       ~= 32.1%
   - all toolbar buttons remain in ONE row
   - QR remains black/white with turquoise memorial shell
   ========================================================== */

@media (min-width: 1180px) {

    /* -------- Whole utility strip -------- */
    .memorial-v4-topbar-rebuild,
    .memorial-v3-topbar {
        position: relative !important;
        z-index: 12 !important;
        margin-top: -27px !important;
        margin-bottom: 30px !important;
        overflow: visible !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-shell,
    .memorial-v3-topbar .memorial-v3-shell {
        width: min(calc(100% - 80px), 1285px) !important;
        max-width: 1285px !important;
        margin-inline: auto !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-topbar-grid,
    .memorial-v3-topbar .memorial-v3-topbar-grid {
        display: grid !important;
        direction: ltr !important;
        grid-template-columns:
            minmax(0, 31.55fr)
            minmax(0, 34.80fr)
            minmax(0, 32.15fr) !important;
        gap: 11px !important;
        align-items: stretch !important;
    }

    /* -------- Shared card geometry -------- */
    .memorial-v4-topbar-rebuild .memorial-v3-spiritual-compact,
    .memorial-v4-topbar-rebuild .memorial-v3-tool-buttons,
    .memorial-v4-topbar-rebuild .memorial-v3-permalink,
    .memorial-v3-topbar .memorial-v3-spiritual-compact,
    .memorial-v3-topbar .memorial-v3-tool-buttons,
    .memorial-v3-topbar .memorial-v3-permalink {
        min-height: 188px !important;
        height: 188px !important;
        box-sizing: border-box !important;
        border-radius: 16px !important;
        border: 1px solid rgba(8,84,64,.08) !important;
        background: rgba(255,255,255,.988) !important;
        box-shadow:
            0 15px 34px rgba(20,66,53,.10),
            0 1px 0 rgba(255,255,255,.98) inset !important;
        overflow: hidden !important;
    }

    /* ======================================================
       1. SPIRITUAL CARD — physical LEFT
       ====================================================== */
    .memorial-v4-topbar-rebuild .memorial-v3-spiritual-compact,
    .memorial-v3-topbar .memorial-v3-spiritual-compact {
        grid-column: 1 !important;
        direction: rtl !important;
        position: relative !important;

        padding: 18px 24px 16px !important;

        border-inline-start: 4px solid #08795f !important;
        border-inline-end: 3px solid #d7ab43 !important;

        background:
            radial-gradient(circle at 9% 18%, rgba(211,173,82,.08), transparent 27%),
            rgba(255,255,255,.99) !important;

        align-content: center !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-spiritual-compact::after,
    .memorial-v3-topbar .memorial-v3-spiritual-compact::after {
        content: "" !important;
        position: absolute !important;
        inset-inline-start: 22px !important;
        top: 18px !important;
        width: 92px !important;
        height: 66px !important;
        opacity: .09 !important;
        pointer-events: none !important;
        background:
            radial-gradient(circle at 30% 40%, #c69a39 0 1px, transparent 2px),
            radial-gradient(circle at 70% 45%, #c69a39 0 1px, transparent 2px),
            radial-gradient(circle at 50% 70%, #c69a39 0 1px, transparent 2px) !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-spiritual-heading,
    .memorial-v3-topbar .memorial-v3-spiritual-heading {
        position: relative !important;
        z-index: 2 !important;
        margin: 0 0 13px !important;
        text-align: right !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-spiritual-heading span,
    .memorial-v3-topbar .memorial-v3-spiritual-heading span {
        color: #bc8621 !important;
        font-size: 11px !important;
        line-height: 1.4 !important;
        font-weight: 800 !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-spiritual-heading h2,
    .memorial-v3-topbar .memorial-v3-spiritual-heading h2 {
        margin: 4px 0 0 !important;
        color: #07503d !important;
        font-size: 19px !important;
        line-height: 1.55 !important;
        font-weight: 950 !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-spiritual-actions,
    .memorial-v3-topbar .memorial-v3-spiritual-actions {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0,1fr)) !important;
        gap: 9px !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-spiritual-action,
    .memorial-v3-topbar .memorial-v3-spiritual-action {
        min-height: 72px !important;
        padding: 9px 7px !important;
        border: 1px solid #b6ddd0 !important;
        border-radius: 11px !important;
        background: linear-gradient(180deg,#ffffff,#f8fcfa) !important;
        box-shadow: none !important;
    }

    /* ======================================================
       2. SHARE TOOLBAR — physical CENTER
       ====================================================== */
    .memorial-v4-topbar-rebuild .memorial-v3-tool-buttons,
    .memorial-v3-topbar .memorial-v3-tool-buttons {
        grid-column: 2 !important;
        direction: rtl !important;
        padding: 18px 20px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-caspian-share,
    .memorial-v3-topbar .memorial-v3-caspian-share {
        width: 100% !important;
        display: flex !important;
        direction: rtl !important;
        flex-flow: row nowrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-caspian-share::before,
    .memorial-v3-topbar .memorial-v3-caspian-share::before {
        display: none !important;
        content: none !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-caspian-share .memorial-v3-social-tool,
    .memorial-v4-topbar-rebuild .memorial-v3-caspian-share .memorial-v3-tool,
    .memorial-v3-topbar .memorial-v3-caspian-share .memorial-v3-social-tool,
    .memorial-v3-topbar .memorial-v3-caspian-share .memorial-v3-tool {
        flex: 0 0 50px !important;
        width: 50px !important;
        height: 50px !important;
        min-width: 50px !important;
        min-height: 50px !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        margin: 0 !important;
        border: 1px solid #dbe5e1 !important;
        border-radius: 12px !important;
        background: #fff !important;

        box-shadow:
            0 2px 6px rgba(17,69,55,.035),
            0 1px 0 rgba(255,255,255,.95) inset !important;

        transform: none !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-caspian-share .memorial-v3-tool-dark,
    .memorial-v4-topbar-rebuild .memorial-v3-caspian-share .is-print,
    .memorial-v3-topbar .memorial-v3-caspian-share .memorial-v3-tool-dark,
    .memorial-v3-topbar .memorial-v3-caspian-share .is-print {
        color: #fff !important;
        border-color: #075944 !important;
        background: #075944 !important;
    }

    /* ======================================================
       3. PERMALINK / QR — physical RIGHT
       ====================================================== */
    .memorial-v4-topbar-rebuild .memorial-v3-permalink,
    .memorial-v3-topbar .memorial-v3-permalink {
        grid-column: 3 !important;
        direction: rtl !important;
        position: relative !important;

        display: grid !important;
        grid-template-columns: minmax(0,1fr) 150px !important;
        gap: 16px !important;
        align-items: center !important;

        padding: 10px 18px 10px 16px !important;

        border-inline-end: 4px solid #0a987f !important;

        background:
            radial-gradient(circle at 90% 15%, rgba(14,150,124,.06), transparent 27%),
            rgba(255,255,255,.99) !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-permalink-copy,
    .memorial-v3-topbar .memorial-v3-permalink-copy {
        text-align: right !important;
        align-self: center !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-permalink-copy strong,
    .memorial-v3-topbar .memorial-v3-permalink-copy strong {
        display: block !important;
        margin: 0 0 7px !important;
        color: #07503d !important;
        font-size: 19px !important;
        line-height: 1.5 !important;
        font-weight: 950 !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-permalink-copy small,
    .memorial-v3-topbar .memorial-v3-permalink-copy small {
        display: block !important;
        margin: 0 0 9px !important;
        color: #6e7e78 !important;
        font-size: 11px !important;
        line-height: 1.65 !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-qr,
    .memorial-v3-topbar .memorial-v3-qr {
        justify-self: end !important;

        width: 150px !important;
        height: 180px !important;
        box-sizing: border-box !important;

        padding: 10px 10px 45px !important;
        overflow: hidden !important;

        border: 7px solid #0ca58f !important;
        border-radius: 21px !important;
        background: #fff !important;

        box-shadow:
            0 7px 0 rgba(7,87,69,.08),
            0 11px 22px rgba(19,75,60,.11) !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-qr canvas,
    .memorial-v4-topbar-rebuild .memorial-v3-qr img,
    .memorial-v3-topbar .memorial-v3-qr canvas,
    .memorial-v3-topbar .memorial-v3-qr img {
        width: 112px !important;
        height: 112px !important;
        max-width: 112px !important;
        max-height: 112px !important;
        padding: 3px !important;
        box-sizing: content-box !important;
        border-radius: 5px !important;
        background: #fff !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-qr::after,
    .memorial-v3-topbar .memorial-v3-qr::after {
        min-height: 42px !important;
        padding: 6px 7px !important;
        color: #066c60 !important;
        background: #bfeee8 !important;
        border-top: 1px solid rgba(7,107,97,.10) !important;
        font-size: 8.5px !important;
        line-height: 1.35 !important;
        font-weight: 900 !important;
        text-align: center !important;
    }
}

/* Tablet / mobile are intentionally untouched in this desktop pass. */

/* END 9A-4D4X-MP2A-TOP-UTILITY-R1-PROTOTYPE-PARITY */

/* ==========================================================
   BEGIN 9A-4D4X-MP2A-TOP-UTILITY-R2-MICRO-PARITY-FINAL

   R1 preserved:
   - shell width
   - three-column balance
   - all toolbar actions in one row

   R2 finalizes:
   - real overlap with Hero
   - prototype-like shorter card height
   - spiritual-card internal spacing
   - toolbar geometric center
   - QR shell proportion
   ========================================================== */

@media (min-width: 1180px) {

    /* Stronger prototype-style overlap:
       R1 visually landed almost flush with Hero.
       Pull the whole strip ~24px further upward. */
    .memorial-v4-topbar-rebuild,
    .memorial-v3-topbar {
        margin-top: -51px !important;
        margin-bottom: 28px !important;
    }

    /* Keep R1 width balance; only tighten vertical geometry. */
    .memorial-v4-topbar-rebuild .memorial-v3-spiritual-compact,
    .memorial-v4-topbar-rebuild .memorial-v3-tool-buttons,
    .memorial-v4-topbar-rebuild .memorial-v3-permalink,
    .memorial-v3-topbar .memorial-v3-spiritual-compact,
    .memorial-v3-topbar .memorial-v3-tool-buttons,
    .memorial-v3-topbar .memorial-v3-permalink {
        min-height: 170px !important;
        height: 170px !important;
        border-radius: 15px !important;
    }

    /* ---------- Spiritual card ---------- */
    .memorial-v4-topbar-rebuild .memorial-v3-spiritual-compact,
    .memorial-v3-topbar .memorial-v3-spiritual-compact {
        padding: 12px 22px 12px !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-spiritual-heading,
    .memorial-v3-topbar .memorial-v3-spiritual-heading {
        margin: 0 0 9px !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-spiritual-heading span,
    .memorial-v3-topbar .memorial-v3-spiritual-heading span {
        font-size: 10.5px !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-spiritual-heading h2,
    .memorial-v3-topbar .memorial-v3-spiritual-heading h2 {
        margin-top: 3px !important;
        font-size: 18px !important;
        line-height: 1.45 !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-spiritual-actions,
    .memorial-v3-topbar .memorial-v3-spiritual-actions {
        gap: 8px !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-spiritual-action,
    .memorial-v3-topbar .memorial-v3-spiritual-action {
        min-height: 64px !important;
        padding: 7px 6px !important;
        border-radius: 10px !important;
    }

    /* ---------- Center toolbar ---------- */
    .memorial-v4-topbar-rebuild .memorial-v3-tool-buttons,
    .memorial-v3-topbar .memorial-v3-tool-buttons {
        padding: 0 18px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-caspian-share,
    .memorial-v3-topbar .memorial-v3-caspian-share {
        width: auto !important;
        max-width: 100% !important;
        flex: 0 0 auto !important;
        gap: 8px !important;
        justify-content: center !important;
        align-items: center !important;
        margin-inline: auto !important;
        transform: none !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-caspian-share .memorial-v3-social-tool,
    .memorial-v4-topbar-rebuild .memorial-v3-caspian-share .memorial-v3-tool,
    .memorial-v3-topbar .memorial-v3-caspian-share .memorial-v3-social-tool,
    .memorial-v3-topbar .memorial-v3-caspian-share .memorial-v3-tool {
        flex-basis: 48px !important;
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        min-height: 48px !important;
        border-radius: 11px !important;
    }

    /* ---------- Permanent page / QR ---------- */
    .memorial-v4-topbar-rebuild .memorial-v3-permalink,
    .memorial-v3-topbar .memorial-v3-permalink {
        grid-template-columns: minmax(0,1fr) 140px !important;
        gap: 14px !important;
        padding: 8px 17px 8px 15px !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-permalink-copy strong,
    .memorial-v3-topbar .memorial-v3-permalink-copy strong {
        margin-bottom: 5px !important;
        font-size: 18px !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-permalink-copy small,
    .memorial-v3-topbar .memorial-v3-permalink-copy small {
        margin-bottom: 7px !important;
        font-size: 10.5px !important;
        line-height: 1.55 !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-qr,
    .memorial-v3-topbar .memorial-v3-qr {
        width: 140px !important;
        height: 160px !important;
        padding: 8px 8px 39px !important;
        border-width: 6px !important;
        border-radius: 19px !important;
        box-shadow:
            0 6px 0 rgba(7,87,69,.075),
            0 9px 18px rgba(19,75,60,.09) !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-qr canvas,
    .memorial-v4-topbar-rebuild .memorial-v3-qr img,
    .memorial-v3-topbar .memorial-v3-qr canvas,
    .memorial-v3-topbar .memorial-v3-qr img {
        width: 104px !important;
        height: 104px !important;
        max-width: 104px !important;
        max-height: 104px !important;
        padding: 2px !important;
    }

    .memorial-v4-topbar-rebuild .memorial-v3-qr::after,
    .memorial-v3-topbar .memorial-v3-qr::after {
        min-height: 36px !important;
        padding: 5px 6px !important;
        font-size: 8px !important;
        line-height: 1.3 !important;
    }
}

/* Tablet/mobile intentionally unchanged. */

/* END 9A-4D4X-MP2A-TOP-UTILITY-R2-MICRO-PARITY-FINAL */

/* ==========================================================
   BEGIN 9A-4D4X-MARTYR-IMAGE-R1R2-CACHE-BUST
   Image URL only. Existing size/position/geometry remain frozen.
   ========================================================== */

.memorial-v4-hero-rebuild::before {
    background-image:
        url("../images/martyr-hero/mohammadjafar-mostafaee-test1-r2.png?rev=9A4D4X-R1R2") !important;
}

/* END 9A-4D4X-MARTYR-IMAGE-R1R2-CACHE-BUST */

/* ==========================================================
   BEGIN 9A-4D4X-MARTYR-PLACEMENT-R1

   Approved geometry:
   visual width = 422px
   right inset  = 24px
   top inset    = 22px

   Asset itself is frozen.
   ========================================================== */

@media (min-width: 1200px) {
    .memorial-v4-hero-rebuild::before {
        background-size: 422px auto !important;
        background-position: calc(100% - 24px) 22px !important;
        background-repeat: no-repeat !important;
    }
}

/* END 9A-4D4X-MARTYR-PLACEMENT-R1 */

/* ==========================================================
   BEGIN 9A-4D4X-MARTYR-RESPONSIVE-UNIFY-R1

   ONE IMAGE SOURCE across desktop/tablet/mobile:
   ../images/martyr-hero/mohammadjafar-mostafaee-test1-r2.png

   Legacy layered frame/person visuals are suppressed so no
   breakpoint can fall back to another martyr portrait.
   ========================================================== */

/* Kill the legacy visual layers, but keep portrait-column layout space
   and its download control intact. */
.memorial-v4-layered-portrait,
.memorial-v4-portrait-stage,
.memorial-v4-portrait-window,
.memorial-v4-portrait-person,
.memorial-v4-portrait-frame {
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Same composite source at ALL viewport widths. */
.memorial-v4-hero-rebuild::before {
    content: "" !important;
    display: block !important;
    background-image:
        url("../images/martyr-hero/mohammadjafar-mostafaee-test1-r2.png?rev=responsive-unify-r1") !important;
    background-repeat: no-repeat !important;
    pointer-events: none !important;
    z-index: 3 !important;
}

/* DESKTOP — preserve approved precise placement. */
@media (min-width: 1200px) {
    .memorial-v4-hero-rebuild::before {
        background-size: 422px auto !important;
        background-position: calc(100% - 24px) 22px !important;
    }
}

/* LARGE TABLET / SMALL DESKTOP */
@media (min-width: 981px) and (max-width: 1199px) {
    .memorial-v4-hero-rebuild::before {
        background-size: 330px auto !important;
        background-position: calc(100% - 18px) 18px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-portrait-column {
        min-height: 300px !important;
    }
}

/* TABLET */
@media (min-width: 761px) and (max-width: 980px) {
    .memorial-v4-hero-rebuild::before {
        background-size: 278px auto !important;
        background-position: calc(100% - 14px) 18px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-portrait-column {
        min-height: 250px !important;
    }
}

/* MOBILE — same composite, centered above the copy. */
@media (max-width: 760px) {
    .memorial-v4-hero-rebuild::before {
        background-size: min(232px, 62vw) auto !important;
        background-position: 50% 16px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-portrait-column {
        width: 100% !important;
        max-width: 100% !important;
        min-height: min(242px, 66vw) !important;
        justify-self: stretch !important;
        position: relative !important;
    }

    /* Legacy figure must consume no visible space beyond the reserved column. */
    .memorial-v4-hero-rebuild .memorial-v4-layered-portrait {
        width: 1px !important;
        height: 1px !important;
        min-height: 0 !important;
        margin: 0 auto !important;
        overflow: hidden !important;
    }
}

/* END 9A-4D4X-MARTYR-RESPONSIVE-UNIFY-R1 */

/* ==========================================================
   BEGIN 9A-4D4X-MARTYR-RESPONSIVE-UNIFY-R1R1

   Repair only for viewport widths below 1200px.

   - reset inherited legacy pseudo-element geometry
   - place unified martyr composite below content layer
   - reserve real portrait space before the download button
   - keep desktop >=1200px completely unchanged
   ========================================================== */

@media (max-width: 1199px) {

    .memorial-v4-hero-rebuild {
        position: relative !important;
        isolation: isolate !important;
    }

    /*
     * Hard geometry reset.
     * This cancels old .memorial-v3-hero::before values such as
     * left:-210px / bottom:-470px / width:680px / height:680px.
     */
    .memorial-v4-hero-rebuild::before {
        content: "" !important;
        display: block !important;
        position: absolute !important;

        inset: 0 !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;

        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;

        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;

        opacity: 1 !important;
        filter: none !important;
        mix-blend-mode: normal !important;
        background-blend-mode: normal !important;
        transform: none !important;

        background-color: transparent !important;
        background-image:
            url("../images/martyr-hero/mohammadjafar-mostafaee-test1-r2.png?rev=responsive-unify-r1r1") !important;
        background-repeat: no-repeat !important;

        /*
         * Responsive hero content is z-index:2 in the inherited system.
         * Keep portrait below copy, not over the martyr name/facts.
         */
        z-index: 1 !important;
        pointer-events: none !important;
        user-select: none !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-hero-grid {
        position: relative !important;
        z-index: 2 !important;
    }

    /*
     * Hide ONLY the obsolete visual layers.
     * The outer layered figure remains as a transparent spacer so the
     * download button stays below the visible composite.
     */
    .memorial-v4-portrait-stage,
    .memorial-v4-portrait-window,
    .memorial-v4-portrait-person,
    .memorial-v4-portrait-frame {
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    .memorial-v4-layered-portrait {
        visibility: hidden !important;
        opacity: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        overflow: hidden !important;
    }
}

/* 981–1199 : large tablet / small desktop */
@media (min-width: 981px) and (max-width: 1199px) {

    .memorial-v4-hero-rebuild::before {
        background-size: 286px auto !important;
        background-position: calc(100% - 18px) 20px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-portrait-column {
        width: 258px !important;
        min-height: 276px !important;
        justify-self: end !important;
        transform: none !important;
    }

    .memorial-v4-hero-rebuild .memorial-v4-layered-portrait {
        width: 100% !important;
        height: 220px !important;
        min-height: 220px !important;
        aspect-ratio: auto !important;
        margin: 0 !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-download-portrait {
        width: 100% !important;
        margin: 4px 0 0 !important;
    }
}

/* 761–980 : tablet */
@media (min-width: 761px) and (max-width: 980px) {

    .memorial-v4-hero-rebuild::before {
        background-size: 248px auto !important;
        background-position: calc(100% - 14px) 18px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-portrait-column {
        width: 224px !important;
        min-height: 244px !important;
        justify-self: end !important;
        transform: none !important;
    }

    .memorial-v4-hero-rebuild .memorial-v4-layered-portrait {
        width: 100% !important;
        height: 188px !important;
        min-height: 188px !important;
        aspect-ratio: auto !important;
        margin: 0 !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-download-portrait {
        width: 100% !important;
        margin: 4px 0 0 !important;
    }
}

/* <=760 : mobile */
@media (max-width: 760px) {

    .memorial-v4-hero-rebuild::before {
        background-size: min(232px, 62vw) auto !important;
        background-position: 50% 16px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-portrait-column {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 230px !important;
        justify-self: stretch !important;
        margin: 0 !important;
        transform: none !important;
    }

    .memorial-v4-hero-rebuild .memorial-v4-layered-portrait {
        width: 100% !important;
        height: 190px !important;
        min-height: 190px !important;
        aspect-ratio: auto !important;
        margin: 0 !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-download-portrait {
        width: min(270px, 78vw) !important;
        max-width: 270px !important;
        min-height: 38px !important;
        margin: 4px auto 4px !important;
        position: relative !important;
        inset: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        transform: none !important;
    }
}

/* END 9A-4D4X-MARTYR-RESPONSIVE-UNIFY-R1R1 */

/* ==========================================================
   BEGIN 9A-4D4X-HEADER-AND-MARTYR-UNIFY-R1

   Goals:
   - unify top utility/header color treatment across breakpoints
   - enlarge logo consistently
   - keep same martyr composite on all breakpoints
   - refine martyr placement so it sits correctly in hero
   ========================================================== */

/* ---------- Brand header unify ---------- */
:is(
    .topbar,
    .top-bar,
    .top-header,
    .header-top,
    .site-topbar,
    .site-top-bar,
    .top-utility,
    .top-utility-bar,
    .shb-topbar,
    .shb-top-bar,
    .memorial-topbar,
    .memorial-top-bar,
    .renew-topbar,
    .renew-top-bar,
    .site-header__top,
    .masthead__top,
    header .top-row,
    header .utility-row
) {
    background: #0b6a52 !important;
    color: #ffffff !important;
}

:is(
    .topbar,
    .top-bar,
    .top-header,
    .header-top,
    .site-topbar,
    .site-top-bar,
    .top-utility,
    .top-utility-bar,
    .shb-topbar,
    .shb-top-bar,
    .memorial-topbar,
    .memorial-top-bar,
    .renew-topbar,
    .renew-top-bar,
    .site-header__top,
    .masthead__top,
    header .top-row,
    header .utility-row
) :is(a, span, p, div, li, strong, b, small, time) {
    color: #ffffff !important;
}

:is(
    .site-branding img,
    .site-logo img,
    .header-logo img,
    .custom-logo,
    .custom-logo-link img,
    .branding-logo img,
    .navbar-brand img,
    .logo img,
    a[rel="home"] img
) {
    width: auto !important;
    height: auto !important;
    max-height: 84px !important;
}

/* ---------- Martyr visual stacking ---------- */
.memorial-v4-hero-rebuild {
    position: relative !important;
    isolation: isolate !important;
}

.memorial-v4-hero-rebuild .memorial-v3-hero-grid {
    position: relative !important;
    z-index: 2 !important;
}

.memorial-v4-hero-rebuild::before {
    z-index: 1 !important;
    pointer-events: none !important;
    user-select: none !important;
    background-repeat: no-repeat !important;
    background-image: url("../images/martyr-hero/mohammadjafar-mostafaee-test1-r2.png?rev=header-martyr-r1") !important;
}

.memorial-v4-portrait-stage,
.memorial-v4-portrait-window,
.memorial-v4-portrait-person,
.memorial-v4-portrait-frame {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.memorial-v4-layered-portrait {
    visibility: hidden !important;
    opacity: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

/* ---------- Desktop ---------- */
@media (min-width: 1200px) {

    :is(
        .site-branding img,
        .site-logo img,
        .header-logo img,
        .custom-logo,
        .custom-logo-link img,
        .branding-logo img,
        .navbar-brand img,
        .logo img,
        a[rel="home"] img
    ) {
        max-height: 92px !important;
    }

    .memorial-v4-hero-rebuild::before {
        background-size: 392px auto !important;
        background-position: calc(100% - 6px) 18px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-portrait-column {
        width: 350px !important;
        min-height: 352px !important;
        justify-self: end !important;
        transform: none !important;
    }

    .memorial-v4-hero-rebuild .memorial-v4-layered-portrait {
        width: 100% !important;
        height: 300px !important;
        min-height: 300px !important;
        margin: 0 !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-download-portrait {
        width: 100% !important;
        margin: 8px 0 0 !important;
        transform: none !important;
    }
}

/* ---------- Large tablet / small desktop ---------- */
@media (min-width: 981px) and (max-width: 1199px) {

    :is(
        .site-branding img,
        .site-logo img,
        .header-logo img,
        .custom-logo,
        .custom-logo-link img,
        .branding-logo img,
        .navbar-brand img,
        .logo img,
        a[rel="home"] img
    ) {
        max-height: 78px !important;
    }

    .memorial-v4-hero-rebuild::before {
        background-size: 300px auto !important;
        background-position: calc(100% - 14px) 18px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-portrait-column {
        width: 268px !important;
        min-height: 288px !important;
        justify-self: end !important;
        transform: none !important;
        margin: 0 !important;
    }

    .memorial-v4-hero-rebuild .memorial-v4-layered-portrait {
        width: 100% !important;
        height: 228px !important;
        min-height: 228px !important;
        margin: 0 !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-download-portrait {
        width: 100% !important;
        margin: 6px 0 0 !important;
        transform: none !important;
    }
}

/* ---------- Tablet ---------- */
@media (min-width: 761px) and (max-width: 980px) {

    :is(
        .site-branding img,
        .site-logo img,
        .header-logo img,
        .custom-logo,
        .custom-logo-link img,
        .branding-logo img,
        .navbar-brand img,
        .logo img,
        a[rel="home"] img
    ) {
        max-height: 72px !important;
    }

    .memorial-v4-hero-rebuild::before {
        background-size: 270px auto !important;
        background-position: calc(100% - 10px) 14px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-portrait-column {
        width: 242px !important;
        min-height: 258px !important;
        justify-self: end !important;
        transform: none !important;
        margin: 0 !important;
    }

    .memorial-v4-hero-rebuild .memorial-v4-layered-portrait {
        width: 100% !important;
        height: 202px !important;
        min-height: 202px !important;
        margin: 0 !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-download-portrait {
        width: 100% !important;
        margin: 6px 0 0 !important;
        transform: none !important;
    }
}

/* ---------- Mobile ---------- */
@media (max-width: 760px) {

    :is(
        .site-branding img,
        .site-logo img,
        .header-logo img,
        .custom-logo,
        .custom-logo-link img,
        .branding-logo img,
        .navbar-brand img,
        .logo img,
        a[rel="home"] img
    ) {
        max-height: 64px !important;
    }

    .memorial-v4-hero-rebuild::before {
        background-size: min(236px, 62vw) auto !important;
        background-position: 50% 12px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-portrait-column {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 214px !important;
        justify-self: stretch !important;
        margin: 0 !important;
        transform: none !important;
    }

    .memorial-v4-hero-rebuild .memorial-v4-layered-portrait {
        width: 100% !important;
        height: 172px !important;
        min-height: 172px !important;
        margin: 0 !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-download-portrait {
        width: min(270px, 78vw) !important;
        max-width: 270px !important;
        min-height: 38px !important;
        margin: 6px auto 6px !important;
        position: relative !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        inset: auto !important;
        transform: none !important;
    }
}

/* END 9A-4D4X-HEADER-AND-MARTYR-UNIFY-R1 */

/* ==========================================================
   BEGIN 9A-4D4X-HERO-PROTOTYPE-PARITY-R2

   Reference-driven geometry:
   Desktop hero ~430px.
   Desktop martyr visual ~610px wide.
   Tablet 1024 martyr visual ~410px.
   Tablet <=980 martyr visual ~330px.
   Mobile martyr visual ~260px, centered.

   Same BG asset and same martyr asset across ALL breakpoints.
   Hero copy / badges / fact cards are intentionally untouched.
   ========================================================== */

/* ----------------------------------------------------------
   GLOBAL TOP STRIP / BRAND
   ---------------------------------------------------------- */

:is(
    .topbar,
    .top-bar,
    .top-header,
    .header-top,
    .site-topbar,
    .site-top-bar,
    .top-utility,
    .top-utility-bar,
    .shb-topbar,
    .shb-top-bar,
    .memorial-topbar,
    .memorial-top-bar,
    .renew-topbar,
    .renew-top-bar,
    .site-header__top,
    .masthead__top,
    header .top-row,
    header .utility-row
) {
    background: #0b6a52 !important;
    color: #fff !important;
    position: relative !important;
    box-shadow: 0 0 0 100vmax #0b6a52 !important;
    clip-path: inset(0 -100vmax) !important;
}

:is(
    .topbar,
    .top-bar,
    .top-header,
    .header-top,
    .site-topbar,
    .site-top-bar,
    .top-utility,
    .top-utility-bar,
    .shb-topbar,
    .shb-top-bar,
    .memorial-topbar,
    .memorial-top-bar,
    .renew-topbar,
    .renew-top-bar,
    .site-header__top,
    .masthead__top,
    header .top-row,
    header .utility-row
) :is(a, span, p, div, li, strong, b, small, time) {
    color: #fff !important;
}

:is(
    .site-branding img,
    .site-logo img,
    .header-logo img,
    .custom-logo,
    .custom-logo-link img,
    .branding-logo img,
    .navbar-brand img,
    .logo img,
    a[rel="home"] img
) {
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

/* ----------------------------------------------------------
   HERO — SAME BG ASSET EVERYWHERE
   ---------------------------------------------------------- */

.memorial-v4-hero-rebuild {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    background-image:
        linear-gradient(
            90deg,
            rgba(2,39,30,.02) 0%,
            rgba(3,53,41,.03) 31%,
            rgba(3,63,49,.18) 53%,
            rgba(2,55,43,.22) 100%
        ),
        url("../images/martyr-hero-bg-shahidabad-v1.png") !important;

    background-repeat: no-repeat, no-repeat !important;
    background-size: cover, cover !important;
}

.memorial-v4-hero-rebuild .memorial-v4-hero-scene {
    display: none !important;
}

/* Unified martyr composite source */
.memorial-v4-hero-rebuild::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;

    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;

    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    mix-blend-mode: normal !important;
    background-color: transparent !important;

    background-image:
        url("../images/martyr-hero/mohammadjafar-mostafaee-test1-r2.png?rev=prototype-parity-r2") !important;
    background-repeat: no-repeat !important;

    z-index: 1 !important;
    pointer-events: none !important;
    user-select: none !important;
}

/* Hero content remains above portrait. */
.memorial-v4-hero-rebuild .memorial-v3-hero-grid {
    position: relative !important;
    z-index: 2 !important;
}

/* Remove obsolete layered visual pieces everywhere. */
.memorial-v4-portrait-stage,
.memorial-v4-portrait-window,
.memorial-v4-portrait-person,
.memorial-v4-portrait-frame {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.memorial-v4-layered-portrait {
    visibility: hidden !important;
    opacity: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

/* ----------------------------------------------------------
   DESKTOP >= 1200
   Prototype target:
   hero ~430px
   martyr 610px
   right 2px
   top -2px
   ---------------------------------------------------------- */

@media (min-width: 1200px) {

    :is(
        .site-branding img,
        .site-logo img,
        .header-logo img,
        .custom-logo,
        .custom-logo-link img,
        .branding-logo img,
        .navbar-brand img,
        .logo img,
        a[rel="home"] img
    ) {
        max-height: 88px !important;
    }

    .memorial-v4-hero-rebuild {
        min-height: 430px !important;
        background-position: center center, center 52% !important;
    }

    .memorial-v4-hero-rebuild::before {
        background-size: 610px auto !important;
        background-position: calc(100% - 2px) -2px !important;
    }

    /* Desktop simplified visual mode: no physical portrait column. */
    .memorial-v4-hero-rebuild .memorial-v3-portrait-column {
        display: none !important;
    }
}

/* ----------------------------------------------------------
   LARGE TABLET / SMALL DESKTOP 981–1199
   ---------------------------------------------------------- */

@media (min-width: 981px) and (max-width: 1199px) {

    :is(
        .site-branding img,
        .site-logo img,
        .header-logo img,
        .custom-logo,
        .custom-logo-link img,
        .branding-logo img,
        .navbar-brand img,
        .logo img,
        a[rel="home"] img
    ) {
        max-height: 74px !important;
    }

    .memorial-v4-hero-rebuild {
        background-position: center center, center center !important;
    }

    .memorial-v4-hero-rebuild::before {
        background-size: 410px auto !important;
        background-position: calc(100% - 0px) 4px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-portrait-column {
        width: 360px !important;
        min-height: 340px !important;
        justify-self: end !important;
        margin: 0 !important;
        transform: none !important;
    }

    .memorial-v4-hero-rebuild .memorial-v4-layered-portrait {
        width: 100% !important;
        height: 282px !important;
        min-height: 282px !important;
        margin: 0 !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-download-portrait {
        width: 100% !important;
        margin: 6px 0 0 !important;
        transform: none !important;
    }
}

/* ----------------------------------------------------------
   TABLET 761–980
   ---------------------------------------------------------- */

@media (min-width: 761px) and (max-width: 980px) {

    :is(
        .site-branding img,
        .site-logo img,
        .header-logo img,
        .custom-logo,
        .custom-logo-link img,
        .branding-logo img,
        .navbar-brand img,
        .logo img,
        a[rel="home"] img
    ) {
        max-height: 70px !important;
    }

    .memorial-v4-hero-rebuild {
        background-position: center center, center center !important;
    }

    .memorial-v4-hero-rebuild::before {
        background-size: 330px auto !important;
        background-position: calc(100% - 0px) 8px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-portrait-column {
        width: 290px !important;
        min-height: 292px !important;
        justify-self: end !important;
        margin: 0 !important;
        transform: none !important;
    }

    .memorial-v4-hero-rebuild .memorial-v4-layered-portrait {
        width: 100% !important;
        height: 232px !important;
        min-height: 232px !important;
        margin: 0 !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-download-portrait {
        width: 100% !important;
        margin: 6px 0 0 !important;
        transform: none !important;
    }
}

/* ----------------------------------------------------------
   MOBILE <= 760
   Same BG file, crop adapted for narrow viewport.
   Portrait centered above download/badges/copy.
   ---------------------------------------------------------- */

@media (max-width: 760px) {

    :is(
        .site-branding img,
        .site-logo img,
        .header-logo img,
        .custom-logo,
        .custom-logo-link img,
        .branding-logo img,
        .navbar-brand img,
        .logo img,
        a[rel="home"] img
    ) {
        max-height: 64px !important;
    }

    .memorial-v4-hero-rebuild {
        background-position: center center, 38% center !important;
    }

    .memorial-v4-hero-rebuild::before {
        background-size: min(260px, 70vw) auto !important;
        background-position: 50% 8px !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-portrait-column {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 236px !important;
        justify-self: stretch !important;
        margin: 0 !important;
        transform: none !important;
    }

    .memorial-v4-hero-rebuild .memorial-v4-layered-portrait {
        width: 100% !important;
        height: 196px !important;
        min-height: 196px !important;
        margin: 0 !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-download-portrait {
        width: min(270px, 78vw) !important;
        max-width: 270px !important;
        min-height: 38px !important;
        margin: 6px auto 8px !important;

        position: relative !important;
        inset: auto !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        transform: none !important;
    }
}

/* END 9A-4D4X-HERO-PROTOTYPE-PARITY-R2 */

/* ==========================================================
   BEGIN 9A-4D4X-HERO-PORTRAIT-BOTTOM-ALIGN-R2R1

   Desktop-only micro alignment.
   Preserve portrait width = 610px.
   Preserve horizontal inset = 2px.
   Change ONLY vertical anchor:
       top-based -2px  ->  bottom-aligned 0px
   ========================================================== */

@media (min-width: 1200px) {
    .memorial-v4-hero-rebuild::before {
        background-size: 610px auto !important;
        background-position: calc(100% - 2px) bottom !important;
    }
}

/* END 9A-4D4X-HERO-PORTRAIT-BOTTOM-ALIGN-R2R1 */

/* ==========================================================
   BEGIN 9A-4D4X-HERO-DESKTOP-NUDGE-R3

   Desktop-only micro nudge:
   - preserve current approved size
   - move 56px LEFT
   - move 2px DOWN
   ========================================================== */

@media (min-width: 1200px) {
    .memorial-v4-hero-rebuild::before {
        background-size: 610px auto !important;
        background-position: calc(100% - 56px) calc(100% + 2px) !important;
    }
}

/* END 9A-4D4X-HERO-DESKTOP-NUDGE-R3 */


/* =========================================
   SHB / HERO PROTOTYPE PARITY - DESKTOP NUDGE
   ========================================= */
@media (min-width: 1200px) {

  .martyr-hero,
  .martyr-hero__wrap,
  .martyr-hero__inner,
  .martyr-hero__visual-wrap,
  .shb-martyr-hero,
  .hero-section,
  .hero-banner {
    overflow: visible !important;
  }

  .martyr-hero__meta-cards,
  .martyr-hero__info-cards,
  .hero-stat-boxes,
  .hero-stats,
  .martyr-hero__cards {
    position: relative !important;
    z-index: 2 !important;
  }

  .martyr-hero__martyr,
  .martyr-hero__visual,
  .shb-martyr-visual,
  .hero-martyr-asset,
  .martyr-hero__figure,
  .martyr-hero__portrait {
    position: absolute !important;
    right: 0 !important;
    bottom: -10px !important;
    transform: translateX(-90px) !important;
    z-index: 3 !important;
    pointer-events: none !important;
  }
}

/* ==========================================================
   BEGIN 9A-4D4X-HERO-DESKTOP-NUDGE-R3R1

   Correct active selector:
       .memorial-v4-hero-rebuild::before

   Keep:
       width = 610px
       vertical = +2px down

   Change:
       x = 56px inset -> 150px inset from physical right

   Result:
       approx 94px further LEFT than R3, so the flag/flowers
       enter the info-card zone slightly like the prototype.
   ========================================================== */

@media (min-width: 1200px) {
    .memorial-v4-hero-rebuild::before {
        background-size: 610px auto !important;
        background-position: calc(100% - 150px) calc(100% + 2px) !important;
    }
}

/* END 9A-4D4X-HERO-DESKTOP-NUDGE-R3R1 */

/* ==========================================================
   BEGIN 9A-4D4X-HERO-DESKTOP-NUDGE-R3R2R1

   Source-reconciled desktop-only override.

   Preserve:
     size = 610px auto
     y    = +2px below hero bottom

   Set:
     x    = 235px inward from physical right

   Purpose:
     move flag/flowers farther left so their extension sits
     under the lower box zone closer to the approved prototype.
   ========================================================== */

@media (min-width: 1200px) {
    .memorial-v4-hero-rebuild::before {
        background-size: 610px auto !important;
        background-position: calc(100% - 235px) calc(100% + 2px) !important;
    }
}

/* END 9A-4D4X-HERO-DESKTOP-NUDGE-R3R2R1 */

/* ==========================================================
   BEGIN 9A-4D4X-HERO-DESKTOP-NUDGE-R3R3

   Final desktop micro-tune:
   - X remains exactly 235px inward from physical right
   - size remains exactly 610px
   - Y moves exactly 10px UP:
       +2px  ->  -8px
   ========================================================== */

@media (min-width: 1200px) {
    .memorial-v4-hero-rebuild::before {
        background-size: 610px auto !important;
        background-position: calc(100% - 235px) calc(100% - 8px) !important;
    }
}

/* END 9A-4D4X-HERO-DESKTOP-NUDGE-R3R3 */


/* ==========================================================
   BEGIN 9A-4D4X-MEMORIAL-SINGLE-REFINEMENT-R1
   ========================================================== */

/* ---------- Hero copy alignment ---------- */
body.shahidabad-memorial-v3 .memorial-v3-hero-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
}

body.shahidabad-memorial-v3 .memorial-v3-hero-copy > * {
    width: 100%;
}

body.shahidabad-memorial-v3 .memorial-v3-hero h1 {
    text-align: right;
}

body.shahidabad-memorial-v3 .memorial-v3-hero-lead {
    max-width: 760px;
    margin-top: 10px;
    margin-inline-start: auto;
    text-align: right;
    color: rgba(255,255,255,.86);
}

/* ---------- Hero fact cards ---------- */
body.shahidabad-memorial-v3 .memorial-v3-hero-facts {
    margin-top: 22px;
    gap: 8px;
}

body.shahidabad-memorial-v3 .memorial-v3-hero-facts > div {
    min-height: 76px;
    padding: 11px 14px;
    border-radius: 14px;
    backdrop-filter: blur(8px);
}

body.shahidabad-memorial-v3 .memorial-v3-hero-facts span {
    font-size: 11px;
    color: rgba(255,255,255,.66);
}

body.shahidabad-memorial-v3 .memorial-v3-hero-facts strong {
    margin-top: 6px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 13px;
    line-height: 1.55;
}

body.shahidabad-memorial-v3 .memorial-v3-hero-facts strong .m3-fact-line-main {
    font-size: 15px;
    font-weight: 900;
    color: #fff;
}

body.shahidabad-memorial-v3 .memorial-v3-hero-facts strong .m3-fact-line-sub {
    font-size: 13px;
    font-weight: 800;
    color: rgba(255,255,255,.92);
}

body.shahidabad-memorial-v3 .memorial-v3-burial-line {
    margin-top: 8px;
}

/* ---------- Top utility row slimmer ---------- */
body.shahidabad-memorial-v3 .memorial-v3-topbar {
    margin-top: -14px;
}

body.shahidabad-memorial-v3 .memorial-v3-spiritual-compact,
body.shahidabad-memorial-v3 .memorial-v3-tool-buttons,
body.shahidabad-memorial-v3 .memorial-v3-permalink {
    border-radius: 20px;
}

body.shahidabad-memorial-v3 .memorial-v3-spiritual-compact {
    padding: 10px 12px;
    gap: 10px;
    align-items: center;
}

body.shahidabad-memorial-v3 .memorial-v3-spiritual-heading h2 {
    font-size: 14px;
}

body.shahidabad-memorial-v3 .memorial-v3-spiritual-actions {
    gap: 7px;
}

/* workspace-like glass hover */
body.shahidabad-memorial-v3 .memorial-v3-spiritual-action {
    min-height: 58px;
    padding: 8px 9px;
    border: 1px solid rgba(115, 175, 154, .42);
    background:
        linear-gradient(180deg, rgba(255,255,255,.56), rgba(239,248,244,.72));
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.72),
        0 8px 18px rgba(9, 86, 67, .06);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease,
        background .22s ease;
    overflow: hidden;
    isolation: isolate;
}

body.shahidabad-memorial-v3 .memorial-v3-spiritual-action::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255,255,255,.56), transparent 46%);
    opacity: .8;
    pointer-events: none;
}

body.shahidabad-memorial-v3 .memorial-v3-spiritual-action:hover {
    transform: translateY(-2px);
    border-color: rgba(20,122,94,.45);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.8),
        0 14px 26px rgba(10, 90, 69, .12);
    background:
        linear-gradient(180deg, rgba(255,255,255,.72), rgba(232,245,239,.92));
}

body.shahidabad-memorial-v3 .memorial-v3-spiritual-action > span:first-child {
    font-size: 10px;
}

body.shahidabad-memorial-v3 .memorial-v3-spiritual-action > strong {
    font-size: 18px;
}

body.shahidabad-memorial-v3 .memorial-v3-spiritual-action .mx-spiritual-plus {
    width: 26px;
    height: 26px;
}

body.shahidabad-memorial-v3 .memorial-v3-tool-buttons {
    padding: 8px;
}

body.shahidabad-memorial-v3 .memorial-v3-permalink {
    min-height: 120px;
    padding: 9px 12px;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) 118px;
}

body.shahidabad-memorial-v3 .memorial-v3-permalink-copy strong {
    font-size: 15px;
    color: var(--m3-green-900);
}

body.shahidabad-memorial-v3 .memorial-v3-permalink-copy small {
    margin-top: 5px;
    font-size: 10px;
    line-height: 1.9;
}

body.shahidabad-memorial-v3 .memorial-v3-qr {
    width: 118px;
    height: 118px;
    border-width: 2px;
    border-color: #18a18d;
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff, #ebfffb);
    box-shadow: 0 8px 22px rgba(9, 90, 69, .10);
}

body.shahidabad-memorial-v3 .memorial-v3-qr canvas,
body.shahidabad-memorial-v3 .memorial-v3-qr img {
    width: 110px !important;
    height: 110px !important;
}

/* ---------- Overview pulled up and restyled ---------- */
body.shahidabad-memorial-v3 .memorial-v3-main {
    padding-top: 16px;
}

body.shahidabad-memorial-v3 .memorial-v3-overview {
    margin-top: -2px;
}

body.shahidabad-memorial-v3 .memorial-v3-section-title {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
    gap: 2px;
}

body.shahidabad-memorial-v3 .memorial-v3-section-title > span {
    font-size: 11px;
}

body.shahidabad-memorial-v3 .memorial-v3-section-title h2 {
    margin-top: 0;
    font-size: 26px;
}

body.shahidabad-memorial-v3 .memorial-v3-overview-grid {
    margin-top: 10px;
    gap: 14px;
}

body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-card {
    min-height: 218px;
    padding: 14px 15px;
    border-radius: 22px;
    transition: transform .18s ease, box-shadow .18s ease;
    transform-style: preserve-3d;
    will-change: transform;
}

body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-card-head {
    padding-bottom: 10px;
}

body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-card-head h3 {
    font-size: 17px;
}

body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-icon {
    width: 34px;
    height: 34px;
}

body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-dl > div,
body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-dl-on-dark > div {
    min-height: 32px;
    padding: 6px 0;
}

body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-dl dt,
body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-dl-on-dark dt {
    font-size: 10px;
}

body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-dl dd,
body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-dl-on-dark dd {
    font-size: 13px;
    line-height: 1.65;
}

/* ---------- Compact timeline ---------- */
body.shahidabad-memorial-v3 .memorial-v3-timeline-wrap {
    margin-top: 14px;
    gap: 10px;
}

body.shahidabad-memorial-v3 .memorial-v3-timeline-card {
    padding: 14px 16px;
    border-radius: 22px;
}

body.shahidabad-memorial-v3 .memorial-v3-timeline {
    margin-top: 14px;
}

body.shahidabad-memorial-v3 .memorial-v3-timeline li {
    min-height: 110px;
    padding-inline: 10px;
}

body.shahidabad-memorial-v3 .memorial-v3-timeline-node {
    width: 30px;
    height: 30px;
    margin-bottom: 6px;
    box-shadow: 0 0 0 4px #fff;
}

body.shahidabad-memorial-v3 .memorial-v3-timeline h3 {
    font-size: 15px;
}

body.shahidabad-memorial-v3 .memorial-v3-timeline p,
body.shahidabad-memorial-v3 .memorial-v3-timeline li > b {
    font-size: 10px;
}

/* ---------- Responsive guard ---------- */
@media (max-width: 767px) {
    body.shahidabad-memorial-v3 .memorial-v3-main {
        padding-top: 12px;
    }

    body.shahidabad-memorial-v3 .memorial-v3-overview {
        margin-top: 0;
    }

    body.shahidabad-memorial-v3 .memorial-v3-topbar {
        margin-top: -10px;
    }

    body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-card {
        transform: none !important;
    }
}

/* ==========================================================
   END 9A-4D4X-MEMORIAL-SINGLE-REFINEMENT-R1
   ========================================================== */


/* ==========================================================
   BEGIN 9A-4D4X-MEMORIAL-SINGLE-REFINEMENT-R1R1
   ========================================================== */

/* ----------------------------------------------------------
   HERO COPY: right edges of title and subtitle must match.
   ---------------------------------------------------------- */

body.shahidabad-memorial-v3 .memorial-v3-hero-copy {
    align-items: flex-end !important;
    text-align: right !important;
}

body.shahidabad-memorial-v3 .memorial-v3-hero h1,
body.shahidabad-memorial-v3 .memorial-v3-hero-lead {
    width: max-content !important;
    max-width: 100% !important;
    align-self: flex-end !important;
    margin-inline-start: auto !important;
    margin-inline-end: 0 !important;
    text-align: right !important;
}

body.shahidabad-memorial-v3 .memorial-v3-hero-lead {
    margin-top: 8px !important;
    color: rgba(255,255,255,.88) !important;
}

/* ----------------------------------------------------------
   HERO FACTS: exactly compact stacked value lines.
   ---------------------------------------------------------- */

body.shahidabad-memorial-v3 .memorial-v3-hero-facts {
    margin-top: 18px !important;
    gap: 8px !important;
}

body.shahidabad-memorial-v3 .memorial-v3-hero-facts > div {
    min-height: 66px !important;
    padding: 8px 12px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    border-radius: 14px !important;
}

body.shahidabad-memorial-v3 .memorial-v3-hero-facts span {
    line-height: 1.35 !important;
}

body.shahidabad-memorial-v3 .memorial-v3-hero-facts strong {
    margin-top: 4px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 1px !important;
    line-height: 1.45 !important;
}

body.shahidabad-memorial-v3 .m3-fact-line-main {
    display: block !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    color: #fff !important;
}

body.shahidabad-memorial-v3 .m3-fact-line-sub {
    display: block !important;
    margin-top: 1px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    color: rgba(255,255,255,.94) !important;
}

body.shahidabad-memorial-v3 .memorial-v3-burial-line {
    margin-top: 5px !important;
    position: relative !important;
    z-index: 4 !important;
}

/* ----------------------------------------------------------
   TOP UTILITY: preserve overlap but do not bury burial line.
   ---------------------------------------------------------- */

body.shahidabad-memorial-v3 .memorial-v3-topbar {
    margin-top: -8px !important;
}

body.shahidabad-memorial-v3 .memorial-v3-spiritual-compact,
body.shahidabad-memorial-v3 .memorial-v3-tool-buttons,
body.shahidabad-memorial-v3 .memorial-v3-permalink {
    min-height: 112px !important;
}

/* Stronger Workspace-like glass tiles */
body.shahidabad-memorial-v3 .memorial-v3-spiritual-action {
    min-height: 54px !important;
    position: relative !important;
    overflow: hidden !important;
    border: 1px solid rgba(89,170,142,.40) !important;
    background:
        linear-gradient(145deg, rgba(255,255,255,.76), rgba(229,245,238,.62)) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.90),
        inset 0 -1px 0 rgba(48,142,110,.06),
        0 7px 18px rgba(4,81,61,.06) !important;
    backdrop-filter: blur(16px) saturate(1.15) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.15) !important;
    transition:
        transform .20s ease,
        border-color .20s ease,
        box-shadow .20s ease,
        background .20s ease !important;
}

body.shahidabad-memorial-v3 .memorial-v3-spiritual-action::after {
    content: "" !important;
    position: absolute !important;
    top: -35% !important;
    right: -35% !important;
    width: 70% !important;
    height: 150% !important;
    transform: rotate(28deg) !important;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.72),
        transparent
    ) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: right .38s ease, opacity .18s ease !important;
}

body.shahidabad-memorial-v3 .memorial-v3-spiritual-action:hover {
    transform: translateY(-4px) scale(1.025) !important;
    border-color: rgba(11,112,83,.58) !important;
    background:
        linear-gradient(145deg, rgba(255,255,255,.90), rgba(218,241,231,.80)) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.95),
        0 16px 30px rgba(6,91,68,.16) !important;
}

body.shahidabad-memorial-v3 .memorial-v3-spiritual-action:hover::after {
    right: 75% !important;
    opacity: .72 !important;
}

/* ----------------------------------------------------------
   PERMANENT PAGE: closer to the approved prototype.
   ---------------------------------------------------------- */

body.shahidabad-memorial-v3 .memorial-v3-permalink {
    padding: 9px 12px !important;
    grid-template-columns: minmax(0,1fr) 122px !important;
    gap: 14px !important;
    align-items: center !important;
}

body.shahidabad-memorial-v3 .memorial-v3-permalink-copy strong {
    font-size: 16px !important;
    font-weight: 950 !important;
}

body.shahidabad-memorial-v3 .memorial-v3-permalink-copy small {
    margin-top: 6px !important;
    font-size: 10px !important;
    line-height: 1.9 !important;
}

body.shahidabad-memorial-v3 .memorial-v3-qr {
    width: 122px !important;
    height: 122px !important;
    padding: 7px !important;
    overflow: hidden !important;
    border: 4px solid #08755b !important;
    border-radius: 17px !important;
    background: #fff !important;
    box-shadow: 0 7px 18px rgba(7,88,66,.10) !important;
}

body.shahidabad-memorial-v3 .memorial-v3-qr::before,
body.shahidabad-memorial-v3 .memorial-v3-qr::after {
    display: none !important;
    content: none !important;
}

body.shahidabad-memorial-v3 .memorial-v3-qr canvas,
body.shahidabad-memorial-v3 .memorial-v3-qr img {
    width: 100px !important;
    height: 100px !important;
    max-width: 100px !important;
    max-height: 100px !important;
}

/* ----------------------------------------------------------
   OVERVIEW: close to permalink row, but title must remain visible.
   ---------------------------------------------------------- */

body.shahidabad-memorial-v3 .memorial-v3-main {
    padding-top: 22px !important;
}

body.shahidabad-memorial-v3 .memorial-v3-overview {
    margin-top: 0 !important;
}

body.shahidabad-memorial-v3 .memorial-v3-overview > .memorial-v3-section-title {
    position: relative !important;
    z-index: 3 !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    transform: none !important;
}

body.shahidabad-memorial-v3 .memorial-v3-overview > .memorial-v3-section-title > span {
    display: block !important;
    margin-bottom: 1px !important;
}

body.shahidabad-memorial-v3 .memorial-v3-overview > .memorial-v3-section-title h2 {
    margin: 0 !important;
    font-size: 27px !important;
    line-height: 1.25 !important;
}

body.shahidabad-memorial-v3 .memorial-v3-overview-grid {
    margin-top: 0 !important;
    gap: 12px !important;
    perspective: 1100px !important;
}

body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-card {
    min-height: 210px !important;
    padding: 13px 14px !important;
    border-radius: 18px !important;
    transform-style: preserve-3d !important;
    will-change: transform !important;
    transition:
        transform .13s ease-out,
        box-shadow .13s ease-out !important;
}

body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-card-head,
body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-dl,
body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-dl-on-dark {
    transform: translateZ(20px);
    transform-style: preserve-3d;
}

body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-dl > div,
body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-dl-on-dark > div {
    min-height: 29px !important;
    padding: 4px 0 !important;
}

/* ----------------------------------------------------------
   MINI TIMELINE INSIDE PERSONAL INFO CARD.
   ---------------------------------------------------------- */

body.shahidabad-memorial-v3 .memorial-v3-card .m3-embedded-timeline {
    margin: 10px -2px 0 !important;
    padding: 10px 2px 0 !important;
    border: 0 !important;
    border-top: 1px solid #e8efeb !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.shahidabad-memorial-v3 .memorial-v3-card .m3-embedded-timeline .memorial-v3-section-title-inline {
    display: block !important;
    margin: 0 0 7px !important;
}

body.shahidabad-memorial-v3 .memorial-v3-card .m3-embedded-timeline .memorial-v3-section-title-inline > span {
    font-size: 8px !important;
}

body.shahidabad-memorial-v3 .memorial-v3-card .m3-embedded-timeline .memorial-v3-section-title-inline h2 {
    margin: 2px 0 0 !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
}

body.shahidabad-memorial-v3 .memorial-v3-card .m3-embedded-timeline .memorial-v3-timeline {
    margin: 7px 0 0 !important;
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    gap: 3px !important;
}

body.shahidabad-memorial-v3 .memorial-v3-card .m3-embedded-timeline .memorial-v3-timeline::before {
    top: 12px !important;
    right: 9% !important;
    left: 9% !important;
    height: 1px !important;
}

body.shahidabad-memorial-v3 .memorial-v3-card .m3-embedded-timeline .memorial-v3-timeline li {
    min-height: 70px !important;
    padding: 0 2px 3px !important;
}

body.shahidabad-memorial-v3 .memorial-v3-card .m3-embedded-timeline .memorial-v3-timeline-node {
    width: 24px !important;
    height: 24px !important;
    margin-bottom: 4px !important;
    border-width: 1px !important;
    box-shadow: 0 0 0 2px #fff !important;
}

body.shahidabad-memorial-v3 .memorial-v3-card .m3-embedded-timeline .memorial-v3-timeline li > b {
    font-size: 8px !important;
}

body.shahidabad-memorial-v3 .memorial-v3-card .m3-embedded-timeline .memorial-v3-timeline h3 {
    margin-top: 2px !important;
    font-size: 11px !important;
}

body.shahidabad-memorial-v3 .memorial-v3-card .m3-embedded-timeline .memorial-v3-timeline p {
    margin-top: 2px !important;
    font-size: 8px !important;
    line-height: 1.45 !important;
}

/* Old standalone timeline wrapper disappears after JS move. */
body.shahidabad-memorial-v3 .memorial-v3-timeline-wrap.m3-timeline-empty {
    display: none !important;
}

/* ----------------------------------------------------------
   Mobile guard.
   ---------------------------------------------------------- */

@media (max-width: 767px) {
    body.shahidabad-memorial-v3 .memorial-v3-main {
        padding-top: 14px !important;
    }

    body.shahidabad-memorial-v3 .memorial-v3-topbar {
        margin-top: -5px !important;
    }

    body.shahidabad-memorial-v3 .memorial-v3-permalink {
        min-height: 0 !important;
    }

    body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-card {
        min-height: 0 !important;
        transform: none !important;
    }

    body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-card-head,
    body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-dl,
    body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-dl-on-dark {
        transform: none !important;
    }
}

/* ==========================================================
   END 9A-4D4X-MEMORIAL-SINGLE-REFINEMENT-R1R1
   ========================================================== */


/* ==========================================================
   BEGIN 9A-4D4X-OVERVIEW-GLASSMORPHIC-BORDERS-R1
   Full glowing gradient glassmorphic borders for overview cards.
   ========================================================== */

body.shahidabad-memorial-v3 .memorial-v3-overview-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    align-items: stretch !important;
}

body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-card {
    --m3-card-bg: rgba(8, 38, 34, .56);
    --m3-card-bg-2: rgba(5, 24, 21, .48);
    --m3-card-border: rgba(255,255,255,.12);
    --m3-card-text: #f4fbf7;
    --m3-card-muted: rgba(228, 241, 235, .78);
    --m3-card-sep: rgba(255,255,255,.10);
    --m3-glow-1: #22d3ee;
    --m3-glow-2: #34d399;
    --m3-glow-3: #60a5fa;
    --m3-glow-4: #f59e0b;

    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    min-height: 312px !important;
    padding: 20px 18px 16px !important;

    border-radius: 28px !important;
    border: 1px solid transparent !important;

    background:
        linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.03)) padding-box,
        linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.05)) border-box !important;

    box-shadow:
        0 24px 46px rgba(3, 24, 21, .18),
        inset 0 1px 0 rgba(255,255,255,.12),
        inset 0 -1px 0 rgba(255,255,255,.03) !important;

    -webkit-backdrop-filter: blur(16px) saturate(135%) !important;
    backdrop-filter: blur(16px) saturate(135%) !important;

    transform: translateY(0) !important;
    transition:
        transform .28s ease,
        box-shadow .28s ease,
        border-color .28s ease !important;
}

body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-card::before {
    content: "" !important;
    position: absolute !important;
    inset: -1px !important;
    border-radius: inherit !important;
    padding: 1px !important;
    z-index: 0 !important;
    pointer-events: none !important;

    background: linear-gradient(
        130deg,
        rgba(255,255,255,.18) 0%,
        var(--m3-glow-1) 16%,
        var(--m3-glow-2) 38%,
        var(--m3-glow-3) 61%,
        var(--m3-glow-4) 83%,
        rgba(255,255,255,.22) 100%
    ) !important;
    background-size: 240% 240% !important;
    animation: m3GlassBorderFlow 8s linear infinite !important;

    -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0) !important;
    -webkit-mask-composite: xor !important;

    mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0) !important;
    mask-composite: exclude !important;

    opacity: .96 !important;
}

body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-card::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    border-radius: inherit !important;
    z-index: 0 !important;
    pointer-events: none !important;

    background:
        radial-gradient(circle at 12% 10%, rgba(255,255,255,.16), transparent 32%),
        radial-gradient(circle at 88% 84%, rgba(96,165,250,.16), transparent 28%),
        linear-gradient(180deg, var(--m3-card-bg), var(--m3-card-bg-2)) !important;

    filter: saturate(112%) !important;
}

body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-card:hover {
    transform: translateY(-4px) !important;
    box-shadow:
        0 30px 58px rgba(3, 24, 21, .24),
        0 0 0 1px rgba(255,255,255,.06),
        0 0 22px rgba(52, 211, 153, .16),
        inset 0 1px 0 rgba(255,255,255,.12) !important;
}

body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-card > * {
    position: relative !important;
    z-index: 2 !important;
}

/* Header */
body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-card-head {
    position: relative !important;
    display: block !important;
    margin: 0 0 12px !important;
    padding: 0 44px 12px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.10) !important;
    background: transparent !important;
}

body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-card-head::before {
    content: "" !important;
    position: absolute !important;
    right: 0 !important;
    top: 100% !important;
    margin-top: 10px !important;
    width: 84px !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, var(--m3-glow-2), var(--m3-glow-1), transparent) !important;
    box-shadow: 0 0 12px rgba(34, 211, 238, .22) !important;
}

body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-card-head::after {
    content: none !important;
    display: none !important;
}

body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-card-head h3 {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 17px !important;
    font-weight: 850 !important;
    line-height: 1.55 !important;
    color: var(--m3-card-text) !important;
    text-shadow: 0 1px 10px rgba(0,0,0,.14) !important;
}

/* Small top-right icon */
body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-icon {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    color: #f5fffb !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 12px !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.06)) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.20),
        0 6px 18px rgba(2, 16, 14, .14) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    backdrop-filter: blur(10px) !important;
}

body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-icon > * {
    max-width: 17px !important;
    max-height: 17px !important;
    font-size: 15px !important;
}

/* Data rows */
body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-dl,
body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-dl-on-dark {
    display: grid !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-dl > div,
body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-dl-on-dark > div {
    min-height: 36px !important;
    display: grid !important;
    grid-template-columns: 86px minmax(0,1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    padding: 7px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--m3-card-sep) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-dl > div:last-child,
body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-dl-on-dark > div:last-child {
    border-bottom: 0 !important;
}

body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-dl dt,
body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-dl-on-dark dt {
    font-size: 10px !important;
    font-weight: 500 !important;
    line-height: 1.7 !important;
    color: var(--m3-card-muted) !important;
}

body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-dl dd,
body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-dl-on-dark dd {
    font-size: 12px !important;
    font-weight: 780 !important;
    line-height: 1.7 !important;
    color: var(--m3-card-text) !important;
}

/* Embedded timeline inside personal card */
body.shahidabad-memorial-v3 .memorial-v3-card .m3-embedded-timeline {
    margin: 12px 0 0 !important;
    padding: 12px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid rgba(255,255,255,.10) !important;
    background: transparent !important;
}

body.shahidabad-memorial-v3 .memorial-v3-card .m3-embedded-timeline .m3-mini-timeline-line {
    background: linear-gradient(90deg, rgba(34,211,238,.72), rgba(52,211,153,.92), rgba(245,158,11,.78)) !important;
    box-shadow: 0 0 10px rgba(52,211,153,.16) !important;
}

body.shahidabad-memorial-v3 .memorial-v3-card .m3-embedded-timeline .m3-mini-timeline-dot {
    border-color: rgba(255,255,255,.26) !important;
    background: rgba(255,255,255,.92) !important;
    box-shadow: 0 0 0 3px rgba(34,211,238,.13) !important;
}

body.shahidabad-memorial-v3 .memorial-v3-card .m3-embedded-timeline,
body.shahidabad-memorial-v3 .memorial-v3-card .m3-embedded-timeline * {
    color: var(--m3-card-text) !important;
}

/* Respect original card order with slightly distinct glass tints */
body.shahidabad-memorial-v3 .memorial-v3-overview-grid > .memorial-v3-card:nth-child(1) {
    --m3-card-bg: rgba(9, 53, 42, .60);
    --m3-card-bg-2: rgba(4, 27, 21, .52);
    --m3-glow-1: #2dd4bf;
    --m3-glow-2: #22c55e;
    --m3-glow-3: #60a5fa;
    --m3-glow-4: #fbbf24;
}

body.shahidabad-memorial-v3 .memorial-v3-overview-grid > .memorial-v3-card:nth-child(2) {
    --m3-card-bg: rgba(7, 43, 46, .60);
    --m3-card-bg-2: rgba(3, 24, 25, .52);
    --m3-glow-1: #22d3ee;
    --m3-glow-2: #38bdf8;
    --m3-glow-3: #6366f1;
    --m3-glow-4: #34d399;
}

body.shahidabad-memorial-v3 .memorial-v3-overview-grid > .memorial-v3-card:nth-child(3) {
    --m3-card-bg: rgba(17, 42, 34, .60);
    --m3-card-bg-2: rgba(8, 24, 19, .54);
    --m3-glow-1: #22c55e;
    --m3-glow-2: #2dd4bf;
    --m3-glow-3: #f59e0b;
    --m3-glow-4: #60a5fa;
}

@keyframes m3GlassBorderFlow {
    0%   { background-position: 0% 50%; }
    50%  { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

@media (max-width: 767px) {
    body.shahidabad-memorial-v3 .memorial-v3-overview-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-card {
        min-height: 0 !important;
        padding: 18px 14px 14px !important;
        border-radius: 22px !important;
    }

    body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-card-head {
        padding-right: 42px !important;
    }

    body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-icon {
        top: 14px !important;
        right: 14px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-card,
    body.shahidabad-memorial-v3 .memorial-v3-overview .memorial-v3-card::before {
        transition: none !important;
        animation: none !important;
    }
}

/* ==========================================================
   END 9A-4D4X-OVERVIEW-GLASSMORPHIC-BORDERS-R1
   ========================================================== */

/* ==========================================================
   BEGIN 9A-4D4X-A4-1R1-HERO-DOWNLOAD-VISIBILITY
   A4-1 limited fix:
   - stabilize single memorial hero CTA visibility
   - keep desktop / tablet / mobile portrait composition
   - do not change QR / share / overview / timeline / gallery
   ========================================================== */

.shahidabad-memorial-v3 .memorial-v3-hero,
.shahidabad-memorial-v3 .memorial-v3-hero-inner,
.shahidabad-memorial-v3 .memorial-v3-hero-grid,
.shahidabad-memorial-v3 .memorial-v3-hero-content,
.shahidabad-memorial-v3 .memorial-v3-hero-portrait {
    position: relative !important;
    overflow: visible !important;
}

.shahidabad-memorial-v3 .memorial-v3-download-portrait {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    z-index: 8 !important;
    min-height: 52px !important;
    padding: 0 24px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(206, 230, 220, .34) !important;
    box-shadow: 0 14px 34px rgba(6, 28, 23, .16) !important;
}

@media (min-width: 1101px) {
    .shahidabad-memorial-v3 .memorial-v3-download-portrait {
        position: absolute !important;
        inset-inline-end: 34px !important;
        inset-block-end: 28px !important;
        min-width: 300px !important;
        max-width: min(34vw, 360px) !important;
    }
}

@media (min-width: 761px) and (max-width: 1100px) {
    .shahidabad-memorial-v3 .memorial-v3-download-portrait {
        position: absolute !important;
        inset-inline-end: 24px !important;
        inset-block-end: 20px !important;
        min-width: 270px !important;
        max-width: min(44vw, 340px) !important;
    }
}

@media (max-width: 760px) {
    .shahidabad-memorial-v3 .memorial-v3-download-portrait {
        position: relative !important;
        inset: auto !important;
        display: flex !important;
        width: calc(100% - 20px) !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 14px 10px 0 !important;
        order: 2 !important;
    }
}

/* ==========================================================
   END 9A-4D4X-A4-1R1-HERO-DOWNLOAD-VISIBILITY
   ========================================================== */

/* ==========================================================
   BEGIN 9A-4D4X-A4-1R2-DESKTOP-DOWNLOAD-STACKING

   Desktop-only corrective layer.
   The download CTA lives in the portrait column. Ensure that
   the column/CTA stack above the pseudo portrait composition.
   Tablet/mobile remain untouched.
   ========================================================== */

@media (min-width: 1180px) {

    .memorial-v4-hero-rebuild .memorial-v3-portrait-column {
        position: relative !important;
        z-index: 12 !important;

        visibility: visible !important;
        opacity: 1 !important;

        overflow: visible !important;
        isolation: isolate !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-download-portrait {
        position: absolute !important;
        z-index: 20 !important;

        left: 50% !important;
        right: auto !important;
        top: auto !important;
        bottom: 10px !important;
        inset-inline-start: auto !important;
        inset-inline-end: auto !important;
        inset-block-start: auto !important;
        inset-block-end: auto !important;

        width: 300px !important;
        max-width: calc(100% - 28px) !important;
        min-width: 0 !important;
        min-height: 44px !important;

        margin: 0 !important;
        padding: 8px 18px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 9px !important;

        transform: translateX(-50%) !important;

        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;

        color: #ffffff !important;
        background:
            linear-gradient(
                180deg,
                rgba(9, 91, 69, .98),
                rgba(5, 65, 51, .98)
            ) !important;

        border: 1px solid rgba(231, 198, 120, .58) !important;
        border-radius: 11px !important;

        box-shadow:
            0 10px 24px rgba(0,0,0,.20),
            inset 0 1px 0 rgba(255,255,255,.08) !important;

        backdrop-filter: blur(8px) !important;
        -webkit-backdrop-filter: blur(8px) !important;

        text-decoration: none !important;
        white-space: nowrap !important;
        font-size: 11px !important;
        line-height: 1.5 !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-download-portrait:hover,
    .memorial-v4-hero-rebuild .memorial-v3-download-portrait:focus-visible {
        color: #ffffff !important;
        background:
            linear-gradient(
                180deg,
                rgba(15, 111, 84, 1),
                rgba(7, 76, 58, 1)
            ) !important;
        border-color: rgba(235, 205, 135, .84) !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-download-portrait > span {
        font-size: 16px !important;
    }
}

/* ==========================================================
   END 9A-4D4X-A4-1R2-DESKTOP-DOWNLOAD-STACKING
   ========================================================== */

/* ==========================================================
   BEGIN 9A-4D4X-A4-1R3R1-DESKTOP-DOWNLOAD-DIRECT

   Root-cause fix:
   the legacy desktop portrait-column is intentionally hidden
   with display:none. Do NOT reactivate it.

   Instead, expose a dedicated desktop-only download CTA as a
   direct child of the hero, independent from the hidden legacy
   portrait column.

   Tablet/mobile keep their existing original CTA.
   ========================================================== */

.memorial-v3-download-hero-desktop {
    display: none !important;
}

@media (min-width: 1200px) {

    .memorial-v4-hero-rebuild {
        position: relative !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-download-hero-desktop {
        position: absolute !important;
        z-index: 24 !important;

        /* Composite portrait:
           width 610px, right edge 235px from physical right.
           300px CTA centered under that composition:
           235 + (610 - 300)/2 = 390px.
        */
        right: 390px !important;
        left: auto !important;
        bottom: 16px !important;
        top: auto !important;

        width: 300px !important;
        min-height: 42px !important;

        margin: 0 !important;
        padding: 7px 16px !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 9px !important;

        box-sizing: border-box !important;

        color: #ffffff !important;
        background:
            linear-gradient(
                180deg,
                rgba(10, 92, 70, .96),
                rgba(5, 64, 50, .96)
            ) !important;

        border: 1px solid rgba(232, 196, 112, .62) !important;
        border-radius: 10px !important;

        box-shadow:
            0 8px 22px rgba(0,0,0,.18),
            inset 0 1px 0 rgba(255,255,255,.08) !important;

        backdrop-filter: blur(8px) !important;
        -webkit-backdrop-filter: blur(8px) !important;

        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;

        text-decoration: none !important;
        white-space: nowrap !important;
        font-size: 11px !important;
        line-height: 1.5 !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-download-hero-desktop:hover,
    .memorial-v4-hero-rebuild .memorial-v3-download-hero-desktop:focus-visible {
        color: #ffffff !important;
        background:
            linear-gradient(
                180deg,
                rgba(16, 112, 85, 1),
                rgba(7, 75, 58, 1)
            ) !important;
        border-color: rgba(236, 204, 130, .90) !important;
        transform: translateY(-1px) !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-download-hero-desktop > span {
        font-size: 16px !important;
        line-height: 1 !important;
    }

    .memorial-v4-hero-rebuild .memorial-v3-download-hero-desktop > strong {
        font-weight: 800 !important;
    }
}

/* ==========================================================
   END 9A-4D4X-A4-1R3R1-DESKTOP-DOWNLOAD-DIRECT
   ========================================================== */

/* ==========================================================
   BEGIN 9A-4D4X-A4-2R1-MOBILE-TOPBAR-RESPONSIVE

   Mobile-only layout correction for:
   - spiritual utility
   - share tools
   - permanent QR card

   Desktop/tablet behavior remains unchanged.
   ========================================================== */

@media (max-width: 760px) {

    body.single-shahid
    .shahidabad-memorial-v3
    .memorial-v3-topbar {
        overflow-x: clip !important;
    }

    body.single-shahid
    .shahidabad-memorial-v3
    .memorial-v3-topbar
    .memorial-v3-topbar-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px !important;

        width: 100% !important;
        max-width: 100% !important;

        box-sizing: border-box !important;
    }

    body.single-shahid
    .shahidabad-memorial-v3
    .memorial-v3-topbar
    .memorial-v3-spiritual-compact,

    body.single-shahid
    .shahidabad-memorial-v3
    .memorial-v3-topbar
    .memorial-v3-tool-buttons,

    body.single-shahid
    .shahidabad-memorial-v3
    .memorial-v3-topbar
    .memorial-v3-permalink {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;

        margin-inline: 0 !important;

        box-sizing: border-box !important;
    }

    body.single-shahid
    .shahidabad-memorial-v3
    .memorial-v3-spiritual-actions {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 8px !important;

        width: 100% !important;
        min-width: 0 !important;
    }

    body.single-shahid
    .shahidabad-memorial-v3
    .memorial-v3-spiritual-action {
        min-width: 0 !important;
        width: 100% !important;

        box-sizing: border-box !important;
    }

    body.single-shahid
    .shahidabad-memorial-v3
    .memorial-v3-tool-buttons.memorial-v3-caspian-share {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: center !important;

        gap: 6px !important;

        overflow: visible !important;
        padding-inline: 10px !important;
    }

    body.single-shahid
    .shahidabad-memorial-v3
    .memorial-v3-caspian-share
    .memorial-v3-tool {
        flex: 0 0 44px !important;

        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;

        height: 44px !important;
        min-height: 44px !important;

        margin: 0 !important;
        box-sizing: border-box !important;
    }

    body.single-shahid
    .shahidabad-memorial-v3
    .memorial-v3-permalink {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;

        gap: 12px !important;

        overflow: hidden !important;
    }

    body.single-shahid
    .shahidabad-memorial-v3
    .memorial-v3-permalink-copy {
        min-width: 0 !important;
    }

    body.single-shahid
    .shahidabad-memorial-v3
    .memorial-v3-permalink-copy strong,

    body.single-shahid
    .shahidabad-memorial-v3
    .memorial-v3-permalink-copy small {
        overflow-wrap: anywhere !important;
    }

    body.single-shahid
    .shahidabad-memorial-v3
    .memorial-v3-qr {
        width: 112px !important;
        height: 112px !important;
        max-width: 34vw !important;
        max-height: 34vw !important;

        flex: 0 0 auto !important;
    }
}

/* ==========================================================
   END 9A-4D4X-A4-2R1-MOBILE-TOPBAR-RESPONSIVE
   ========================================================== */

/* ==========================================================
   BEGIN 9A-4D4X-A4-3R1-MOBILE-OVERVIEW-CONTAINMENT

   A4-3 mobile-only correction:
   - keep Overview fully inside the viewport
   - keep every glass card inside the single mobile column
   - prevent data rows from creating horizontal overflow
   - convert the embedded mini timeline to a readable vertical flow
   - desktop/tablet A4-3 presentation remains unchanged
   ========================================================== */

@media (max-width: 767px) {

    body.shahidabad-memorial-v3 .memorial-v3-main {
        width: min(calc(100% - 24px), 1260px) !important;
        max-width: calc(100% - 24px) !important;
        min-width: 0 !important;
        margin-inline: auto !important;
        padding-inline: 0 !important;
        box-sizing: border-box !important;
    }

    body.shahidabad-memorial-v3 .memorial-v3-overview,
    body.shahidabad-memorial-v3 .memorial-v3-overview > .memorial-v3-section-title,
    body.shahidabad-memorial-v3 .memorial-v3-overview-grid {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-inline: 0 !important;
        box-sizing: border-box !important;
    }

    body.shahidabad-memorial-v3
    .memorial-v3-overview > .memorial-v3-section-title {
        align-items: flex-end !important;
        overflow: hidden !important;
    }

    body.shahidabad-memorial-v3 .memorial-v3-overview-grid,
    body.shahidabad-memorial-v3 .memorial-v3-overview-grid.has-veteran,
    body.shahidabad-memorial-v3 .memorial-v3-overview-grid.no-veteran {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px !important;
    }

    body.shahidabad-memorial-v3
    .memorial-v3-overview .memorial-v3-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-inline: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    body.shahidabad-memorial-v3
    .memorial-v3-overview .memorial-v3-card > * {
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    body.shahidabad-memorial-v3
    .memorial-v3-overview .memorial-v3-dl,
    body.shahidabad-memorial-v3
    .memorial-v3-overview .memorial-v3-dl-on-dark {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.shahidabad-memorial-v3
    .memorial-v3-overview .memorial-v3-dl > div,
    body.shahidabad-memorial-v3
    .memorial-v3-overview .memorial-v3-dl-on-dark > div {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        grid-template-columns: minmax(76px, .72fr) minmax(0, 1.28fr) !important;
        gap: 8px !important;
        box-sizing: border-box !important;
    }

    body.shahidabad-memorial-v3
    .memorial-v3-overview .memorial-v3-dl dt,
    body.shahidabad-memorial-v3
    .memorial-v3-overview .memorial-v3-dl dd,
    body.shahidabad-memorial-v3
    .memorial-v3-overview .memorial-v3-dl-on-dark dt,
    body.shahidabad-memorial-v3
    .memorial-v3-overview .memorial-v3-dl-on-dark dd {
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    body.shahidabad-memorial-v3
    .memorial-v3-card .m3-embedded-timeline {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-inline: 0 !important;
        padding-inline: 0 !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    body.shahidabad-memorial-v3
    .memorial-v3-card .m3-embedded-timeline
    .memorial-v3-section-title-inline {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    body.shahidabad-memorial-v3
    .memorial-v3-card .m3-embedded-timeline
    .memorial-v3-timeline {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 0 !important;
        margin-top: 8px !important;
        box-sizing: border-box !important;
    }

    body.shahidabad-memorial-v3
    .memorial-v3-card .m3-embedded-timeline
    .memorial-v3-timeline::before {
        display: none !important;
    }

    body.shahidabad-memorial-v3
    .memorial-v3-card .m3-embedded-timeline
    .memorial-v3-timeline li {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        padding: 8px 0 !important;
        display: grid !important;
        grid-template-columns: 36px minmax(0, 1fr) !important;
        grid-template-rows: auto auto auto !important;
        gap: 1px 8px !important;
        text-align: right !important;
        box-sizing: border-box !important;
    }

    body.shahidabad-memorial-v3
    .memorial-v3-card .m3-embedded-timeline
    .memorial-v3-timeline-node {
        width: 30px !important;
        height: 30px !important;
        margin: 2px 0 0 !important;
        grid-column: 1 !important;
        grid-row: 1 / span 3 !important;
        align-self: start !important;
    }

    body.shahidabad-memorial-v3
    .memorial-v3-card .m3-embedded-timeline
    .memorial-v3-timeline li > b,
    body.shahidabad-memorial-v3
    .memorial-v3-card .m3-embedded-timeline
    .memorial-v3-timeline h3,
    body.shahidabad-memorial-v3
    .memorial-v3-card .m3-embedded-timeline
    .memorial-v3-timeline p {
        grid-column: 2 !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        overflow-wrap: anywhere !important;
        text-align: right !important;
    }
}

/* ==========================================================
   END 9A-4D4X-A4-3R1-MOBILE-OVERVIEW-CONTAINMENT
   ========================================================== */

/* ==========================================================
   BEGIN 9A-4D4X-A4-2R2-MOBILE-SELECTOR-CORRECTION

   Limited unlock of A4-2 MOBILE RESPONSIVE CSS only.

   Root cause:
   - shahidabad-memorial-v3 is a BODY class
   - A4-2R1 incorrectly treated it as a descendant element
   - therefore the intended mobile containment rules did not match

   Scope:
   - correct BODY selector
   - contain Spiritual / Share / QR row on mobile
   - remove page-level horizontal overflow caused by this row
   - do NOT alter QR logic, share logic, spiritual counters, Hero,
     template, JS, images, desktop or tablet presentation
   ========================================================== */

@media (max-width: 760px) {

    html {
        max-width: 100% !important;
        overflow-x: clip !important;
    }

    body.single-shahid.shahidabad-memorial-v3 {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: clip !important;
    }

    body.single-shahid.shahidabad-memorial-v3
    .memorial-v3-topbar {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: clip !important;
    }

    body.single-shahid.shahidabad-memorial-v3
    .memorial-v3-topbar
    .memorial-v3-shell {
        width: min(calc(100% - 24px), 1260px) !important;
        max-width: calc(100% - 24px) !important;
        min-width: 0 !important;
        margin-inline: auto !important;
        box-sizing: border-box !important;
    }

    body.single-shahid.shahidabad-memorial-v3
    .memorial-v3-topbar
    .memorial-v3-topbar-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        margin-inline: 0 !important;
        box-sizing: border-box !important;
    }

    body.single-shahid.shahidabad-memorial-v3
    .memorial-v3-topbar
    .memorial-v3-spiritual-compact,

    body.single-shahid.shahidabad-memorial-v3
    .memorial-v3-topbar
    .memorial-v3-tool-buttons,

    body.single-shahid.shahidabad-memorial-v3
    .memorial-v3-topbar
    .memorial-v3-permalink {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        margin-inline: 0 !important;
        box-sizing: border-box !important;
    }

    body.single-shahid.shahidabad-memorial-v3
    .memorial-v3-spiritual-compact {
        grid-template-columns: minmax(0, 1fr) !important;
        overflow: hidden !important;
    }

    body.single-shahid.shahidabad-memorial-v3
    .memorial-v3-spiritual-actions {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 8px !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.single-shahid.shahidabad-memorial-v3
    .memorial-v3-spiritual-action {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    body.single-shahid.shahidabad-memorial-v3
    .memorial-v3-tool-buttons.memorial-v3-caspian-share {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        gap: 6px !important;
        padding-inline: 10px !important;

        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    body.single-shahid.shahidabad-memorial-v3
    .memorial-v3-caspian-share
    .memorial-v3-tool {
        flex: 0 0 44px !important;

        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;

        height: 44px !important;
        min-height: 44px !important;

        margin: 0 !important;
        padding: 6px !important;
        box-sizing: border-box !important;
    }

    body.single-shahid.shahidabad-memorial-v3
    .memorial-v3-permalink {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;

        gap: 12px !important;
        overflow: hidden !important;
    }

    body.single-shahid.shahidabad-memorial-v3
    .memorial-v3-permalink-copy {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    body.single-shahid.shahidabad-memorial-v3
    .memorial-v3-permalink-copy strong,

    body.single-shahid.shahidabad-memorial-v3
    .memorial-v3-permalink-copy small {
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
    }

    body.single-shahid.shahidabad-memorial-v3
    .memorial-v3-qr {
        width: 112px !important;
        height: 112px !important;

        max-width: 34vw !important;
        max-height: 34vw !important;

        min-width: 0 !important;
        flex: 0 0 auto !important;
    }
}

/* ==========================================================
   END 9A-4D4X-A4-2R2-MOBILE-SELECTOR-CORRECTION
   ========================================================== */

/* ==========================================================
   BEGIN A4-2R3-A4-3R2-MOBILE-ROOT-REPAIR
   Actual root: #shahidabad-martyr.memorial-v3
   ========================================================== */

@media (max-width: 767px) {

    #shahidabad-martyr.memorial-v3 {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: clip !important;
    }

    #shahidabad-martyr.memorial-v3 .memorial-v3-topbar,
    #shahidabad-martyr.memorial-v3 .memorial-v3-topbar-grid,
    #shahidabad-martyr.memorial-v3 .memorial-v3-spiritual-compact,
    #shahidabad-martyr.memorial-v3 .memorial-v3-tool-buttons,
    #shahidabad-martyr.memorial-v3 .memorial-v3-permalink {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    #shahidabad-martyr.memorial-v3
    .memorial-v3-topbar
    .memorial-v3-shell,

    #shahidabad-martyr.memorial-v3
    .memorial-v3-main {
        width: calc(100% - 24px) !important;
        max-width: calc(100% - 24px) !important;
        min-width: 0 !important;
        margin-inline: auto !important;
        padding-inline: 0 !important;
        box-sizing: border-box !important;
    }

    #shahidabad-martyr.memorial-v3
    .memorial-v3-topbar-grid {
        display: grid !important;
        grid-template-columns: minmax(0,1fr) !important;
        gap: 12px !important;
    }

    #shahidabad-martyr.memorial-v3
    .memorial-v3-spiritual-compact {
        grid-template-columns: minmax(0,1fr) !important;
        overflow: hidden !important;
    }

    #shahidabad-martyr.memorial-v3
    .memorial-v3-spiritual-actions {
        width: 100% !important;
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns: repeat(3,minmax(0,1fr)) !important;
        gap: 8px !important;
    }

    #shahidabad-martyr.memorial-v3
    .memorial-v3-tool-buttons.memorial-v3-caspian-share {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 6px !important;
        overflow: hidden !important;
    }

    #shahidabad-martyr.memorial-v3
    .memorial-v3-caspian-share
    .memorial-v3-tool {
        flex: 0 0 44px !important;
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        height: 44px !important;
        margin: 0 !important;
    }

    #shahidabad-martyr.memorial-v3
    .memorial-v3-permalink {
        display: grid !important;
        grid-template-columns: minmax(0,1fr) auto !important;
        gap: 12px !important;
        overflow: hidden !important;
    }

    #shahidabad-martyr.memorial-v3
    .memorial-v3-permalink-copy {
        min-width: 0 !important;
    }

    #shahidabad-martyr.memorial-v3
    .memorial-v3-qr {
        width: 112px !important;
        height: 112px !important;
        max-width: 34vw !important;
        max-height: 34vw !important;
        min-width: 0 !important;
    }

    #shahidabad-martyr.memorial-v3
    .memorial-v3-overview,

    #shahidabad-martyr.memorial-v3
    .memorial-v3-overview > .memorial-v3-section-title,

    #shahidabad-martyr.memorial-v3
    .memorial-v3-overview-grid {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-inline: 0 !important;
        box-sizing: border-box !important;
    }

    #shahidabad-martyr.memorial-v3
    .memorial-v3-overview-grid,

    #shahidabad-martyr.memorial-v3
    .memorial-v3-overview-grid.has-veteran,

    #shahidabad-martyr.memorial-v3
    .memorial-v3-overview-grid.no-veteran {
        display: grid !important;
        grid-template-columns: minmax(0,1fr) !important;
        gap: 12px !important;
        max-width: 100% !important;
    }

    #shahidabad-martyr.memorial-v3
    .memorial-v3-overview-grid.has-veteran
    .memorial-v3-veteran-card {
        grid-column: auto !important;
    }

    #shahidabad-martyr.memorial-v3
    .memorial-v3-overview
    .memorial-v3-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        margin-inline: 0 !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    #shahidabad-martyr.memorial-v3
    .memorial-v3-overview
    .memorial-v3-dl > div,

    #shahidabad-martyr.memorial-v3
    .memorial-v3-overview
    .memorial-v3-dl-on-dark > div {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        grid-template-columns:
            minmax(78px,.72fr)
            minmax(0,1.28fr) !important;
        gap: 8px !important;
        box-sizing: border-box !important;
    }

    #shahidabad-martyr.memorial-v3
    .memorial-v3-overview dt,

    #shahidabad-martyr.memorial-v3
    .memorial-v3-overview dd {
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
    }

    #shahidabad-martyr.memorial-v3
    .m3-embedded-timeline {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }

    #shahidabad-martyr.memorial-v3
    .m3-embedded-timeline
    .memorial-v3-timeline {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns: minmax(0,1fr) !important;
        gap: 0 !important;
    }

    #shahidabad-martyr.memorial-v3
    .m3-embedded-timeline
    .memorial-v3-timeline::before {
        display: none !important;
    }

    #shahidabad-martyr.memorial-v3
    .m3-embedded-timeline
    .memorial-v3-timeline li {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        padding: 8px 0 !important;
        display: grid !important;
        grid-template-columns: 36px minmax(0,1fr) !important;
        grid-template-rows: auto auto auto !important;
        gap: 1px 8px !important;
        text-align: right !important;
    }

    #shahidabad-martyr.memorial-v3
    .m3-embedded-timeline
    .memorial-v3-timeline-node {
        width: 30px !important;
        height: 30px !important;
        margin: 2px 0 0 !important;
        grid-column: 1 !important;
        grid-row: 1 / span 3 !important;
    }

    #shahidabad-martyr.memorial-v3
    .m3-embedded-timeline
    .memorial-v3-timeline li > b,

    #shahidabad-martyr.memorial-v3
    .m3-embedded-timeline
    .memorial-v3-timeline h3,

    #shahidabad-martyr.memorial-v3
    .m3-embedded-timeline
    .memorial-v3-timeline p {
        grid-column: 2 !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin-inline: 0 !important;
        overflow-wrap: anywhere !important;
        text-align: right !important;
    }
}

/* END A4-2R3-A4-3R2-MOBILE-ROOT-REPAIR */

/* ==========================================================
   BEGIN A4-6R1-MOBILE-LOWER-MODULE-CONTAINMENT

   Scope:
   - A4-6 Grave + Memories only
   - mobile containment only
   - no changes to Hero / A4-2 / A4-3 / A4-4 / A4-5
   - no template / JS / QR / data changes
   ========================================================== */

@media (max-width: 760px) {

    #shahidabad-martyr.memorial-v3
    .memorial-v3-grave-memory-grid,
    #shahidabad-martyr.memorial-v3
    .memorial-v3-grave-memory-grid.has-grave,
    #shahidabad-martyr.memorial-v3
    .memorial-v3-grave-memory-grid.no-grave {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        grid-template-columns: minmax(0, 1fr) !important;

        margin-inline: 0 !important;
        padding-inline: 0 !important;

        box-sizing: border-box !important;
        overflow-x: clip !important;
    }

    #shahidabad-martyr.memorial-v3
    .memorial-v3-grave-memory-grid > * {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        margin-inline: 0 !important;
        box-sizing: border-box !important;
    }

    #shahidabad-martyr.memorial-v3
    .memorial-v3-grave,
    #shahidabad-martyr.memorial-v3
    .memorial-v3-memories {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    #shahidabad-martyr.memorial-v3
    .memorial-v3-grave-head,
    #shahidabad-martyr.memorial-v3
    .memorial-v3-grave-place,
    #shahidabad-martyr.memorial-v3
    .memorial-v3-memories-head,
    #shahidabad-martyr.memorial-v3
    .memorial-v3-memory-details,
    #shahidabad-martyr.memorial-v3
    .memorial-v3-memory-details > summary,
    #shahidabad-martyr.memorial-v3
    .memorial-v3-memory-form,
    #shahidabad-martyr.memorial-v3
    .memorial-v3-memory-form-actions,
    #shahidabad-martyr.memorial-v3
    .memorial-v3-memory-list,
    #shahidabad-martyr.memorial-v3
    .memorial-v3-memory-cards,
    #shahidabad-martyr.memorial-v3
    .memorial-v3-no-memory {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        box-sizing: border-box !important;
    }

    #shahidabad-martyr.memorial-v3
    .memorial-v3-memories-head > *,
    #shahidabad-martyr.memorial-v3
    .memorial-v3-memory-details > summary > *,
    #shahidabad-martyr.memorial-v3
    .memorial-v3-memory-form > *,
    #shahidabad-martyr.memorial-v3
    .memorial-v3-memory-form label,
    #shahidabad-martyr.memorial-v3
    .memorial-v3-memory-form label > span,
    #shahidabad-martyr.memorial-v3
    .memorial-v3-memory-form-actions > * {
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    #shahidabad-martyr.memorial-v3
    .memorial-v3-memory-details > summary span,
    #shahidabad-martyr.memorial-v3
    .memorial-v3-memory-details > summary small,
    #shahidabad-martyr.memorial-v3
    .memorial-v3-memories-head h2,
    #shahidabad-martyr.memorial-v3
    .memorial-v3-memories-head p,
    #shahidabad-martyr.memorial-v3
    .memorial-v3-grave-head h2,
    #shahidabad-martyr.memorial-v3
    .memorial-v3-grave-place strong {
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    #shahidabad-martyr.memorial-v3
    .memorial-v3-memory-form input,
    #shahidabad-martyr.memorial-v3
    .memorial-v3-memory-form textarea {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    #shahidabad-martyr.memorial-v3
    .memorial-v3-memory-form-actions {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    #shahidabad-martyr.memorial-v3
    .memorial-v3-memory-form-actions
    .memorial-v3-primary {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
}

/* END A4-6R1-MOBILE-LOWER-MODULE-CONTAINMENT */

/* ==========================================================
   BEGIN A5-7R10 GENERIC PORTRAIT ROUTING OVERRIDE

   Root cause:
   an older responsive-unify experiment painted the approved
   MohammadJafar composite on EVERY .memorial-v4-hero-rebuild
   via ::before and hid the real per-martyr portrait layers.

   Final routing:
   - MohammadJafar keeps the frozen approved composite.
   - Every other martyr uses the actual template output:
       cutout / featured image / approved no-image frame.
   ========================================================== */

/* For every martyr EXCEPT the locked MohammadJafar layered pilot,
   remove the old global composite pseudo-image. */
.memorial-v4-hero-rebuild:not(
    :has(.memorial-v4-portrait-stage[data-martyr-portrait-slug="mohammadjafar-mostafaee"])
)::before {
    content: none !important;
    display: none !important;
    background-image: none !important;
}

/* The old responsive-unify block globally hid these elements.
   Restore the real portrait output for every non-MohammadJafar page. */
.memorial-v4-hero-rebuild:not(
    :has(.memorial-v4-portrait-stage[data-martyr-portrait-slug="mohammadjafar-mostafaee"])
) .memorial-v4-layered-portrait,
.memorial-v4-hero-rebuild:not(
    :has(.memorial-v4-portrait-stage[data-martyr-portrait-slug="mohammadjafar-mostafaee"])
) .memorial-v4-portrait-stage,
.memorial-v4-hero-rebuild:not(
    :has(.memorial-v4-portrait-stage[data-martyr-portrait-slug="mohammadjafar-mostafaee"])
) .memorial-v4-portrait-window,
.memorial-v4-hero-rebuild:not(
    :has(.memorial-v4-portrait-stage[data-martyr-portrait-slug="mohammadjafar-mostafaee"])
) .memorial-v4-portrait-person,
.memorial-v4-hero-rebuild:not(
    :has(.memorial-v4-portrait-stage[data-martyr-portrait-slug="mohammadjafar-mostafaee"])
) .memorial-v4-portrait-frame,
.memorial-v4-hero-rebuild:not(
    :has(.memorial-v4-portrait-stage[data-martyr-portrait-slug="mohammadjafar-mostafaee"])
) .memorial-v4-fallback-frame {
    visibility: visible !important;
    opacity: 1 !important;
}

/* Keep the approved no-image memorial frame clean and proportional. */
.memorial-v4-fallback-frame {
    width: 100%;
    height: 100%;
    display: flex !important;
    align-items: flex-end;
    justify-content: center;
    overflow: visible;
}

.memorial-v4-fallback-frame > img {
    display: block !important;
    width: auto !important;
    height: min(100%, 520px) !important;
    max-width: 100% !important;
    object-fit: contain !important;
    object-position: center bottom !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* END A5-7R10 GENERIC PORTRAIT ROUTING OVERRIDE */
/* ==========================================================
   BEGIN A5-7R11 NO-IMAGE DEFAULT FRAME HERO

   Only martyr pages that already render .memorial-v4-fallback-frame
   receive the approved default memorial frame in the hero.
   Father and real-image pages are untouched.
   ========================================================== */

.memorial-v4-hero-rebuild:has(.memorial-v4-fallback-frame)::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;

    top: 8px !important;
    right: 18px !important;
    bottom: 0 !important;

    width: clamp(300px, 25vw, 430px) !important;
    height: calc(100% - 8px) !important;

    background-image: url("../images/shahid-frame-placeholder.png") !important;
    background-repeat: no-repeat !important;
    background-position: center bottom !important;
    background-size: contain !important;

    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: none !important;
    z-index: 3 !important;
}

/* The actual fallback IMG remains semantic in the HTML, but its visual
   copy is hidden so the hero has exactly one default-frame rendering. */
.memorial-v4-hero-rebuild:has(.memorial-v4-fallback-frame)
.memorial-v4-fallback-frame {
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Tablet */
@media (min-width: 700px) and (max-width: 1199px) {
    .memorial-v4-hero-rebuild:has(.memorial-v4-fallback-frame)::before {
        right: 12px !important;
        top: 10px !important;
        width: clamp(250px, 31vw, 340px) !important;
        height: calc(100% - 10px) !important;
    }
}

/* Mobile: keep the frame compact and away from hero text. */
@media (max-width: 699px) {
    .memorial-v4-hero-rebuild:has(.memorial-v4-fallback-frame)::before {
        right: 50% !important;
        transform: translateX(50%) !important;
        top: auto !important;
        bottom: 0 !important;
        width: min(68vw, 285px) !important;
        height: 46% !important;
        background-position: center bottom !important;
    }
}

/* END A5-7R11 NO-IMAGE DEFAULT FRAME HERO */
/* ==========================================================
   BEGIN A5-7R12 RESTORE REAL PORTRAIT COLUMN

   Confirmed root cause:
   the old responsive-unify desktop experiment still contains:
       .memorial-v4-hero-rebuild .memorial-v3-portrait-column {
           display: none !important;
       }

   R10 removed the global MohammadJafar composite for other martyrs,
   but that old display:none still hid their real template portrait.

   Final behavior:
   - MohammadJafar: frozen approved composite remains untouched.
   - Other martyr with real image: real template portrait is visible.
   - Martyr with no image: approved shahid-frame-placeholder.png is visible.
   - R11 pseudo-image route is neutralized; the real template IMG is used.
   ========================================================== */

/* Do not use the R11 pseudo-image. The template already contains the
   correct fallback IMG and is the single source of truth. */
body.shahidabad-memorial-v3
.memorial-v4-hero-rebuild.memorial-v4-hero-rebuild:has(.memorial-v4-fallback-frame)::before {
    content: none !important;
    display: none !important;
    background-image: none !important;
}

/* R11 hid the real fallback element. Restore it with stronger specificity. */
body.shahidabad-memorial-v3
.memorial-v4-hero-rebuild:has(.memorial-v4-fallback-frame)
.memorial-v4-fallback-frame {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    height: 100% !important;
    align-items: flex-end !important;
    justify-content: center !important;
    overflow: visible !important;
}

body.shahidabad-memorial-v3
.memorial-v4-hero-rebuild:has(.memorial-v4-fallback-frame)
.memorial-v4-fallback-frame > img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center bottom !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* DESKTOP:
   The old father-only composite system had hidden the actual portrait column.
   Re-open that column ONLY for pages that are not the locked father pilot. */
@media (min-width: 1180px) {
    body.shahidabad-memorial-v3
    .memorial-v4-hero-rebuild:not(
        :has(.memorial-v4-portrait-stage[data-martyr-portrait-slug="mohammadjafar-mostafaee"])
    )
    .memorial-v3-portrait-column {
        display: block !important;
        position: absolute !important;
        z-index: 3 !important;
        right: 0 !important;
        bottom: -8px !important;

        width: 430px !important;
        max-width: 430px !important;
        height: calc(100% - 8px) !important;
        min-height: 0 !important;

        margin: 0 !important;
        transform: none !important;
        justify-self: auto !important;
        align-self: auto !important;
    }

    body.shahidabad-memorial-v3
    .memorial-v4-hero-rebuild:not(
        :has(.memorial-v4-portrait-stage[data-martyr-portrait-slug="mohammadjafar-mostafaee"])
    )
    .memorial-v4-layered-portrait {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;

        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        aspect-ratio: auto !important;

        margin: 0 !important;
        overflow: visible !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    /* Real featured-image route. */
    body.shahidabad-memorial-v3
    .memorial-v4-hero-rebuild:not(
        :has(.memorial-v4-portrait-stage[data-martyr-portrait-slug="mohammadjafar-mostafaee"])
    )
    .memorial-v4-layered-portrait > img.wp-post-image {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
        object-position: center bottom !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}

/* TABLET:
   Keep the existing responsive column geometry, but force the real portrait
   element to remain visible after the old responsive-unify experiment. */
@media (min-width: 761px) and (max-width: 1179px) {
    body.shahidabad-memorial-v3
    .memorial-v4-hero-rebuild:not(
        :has(.memorial-v4-portrait-stage[data-martyr-portrait-slug="mohammadjafar-mostafaee"])
    )
    .memorial-v3-portrait-column {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    body.shahidabad-memorial-v3
    .memorial-v4-hero-rebuild:not(
        :has(.memorial-v4-portrait-stage[data-martyr-portrait-slug="mohammadjafar-mostafaee"])
    )
    .memorial-v4-layered-portrait {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}

/* MOBILE:
   Undo the old 1px hidden-figure fallback for non-father pages. */
@media (max-width: 760px) {
    body.shahidabad-memorial-v3
    .memorial-v4-hero-rebuild:not(
        :has(.memorial-v4-portrait-stage[data-martyr-portrait-slug="mohammadjafar-mostafaee"])
    )
    .memorial-v3-portrait-column {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: min(232px, 62vw) !important;
        max-width: 232px !important;
        min-height: 0 !important;
        justify-self: center !important;
        position: relative !important;
        transform: none !important;
    }

    body.shahidabad-memorial-v3
    .memorial-v4-hero-rebuild:not(
        :has(.memorial-v4-portrait-stage[data-martyr-portrait-slug="mohammadjafar-mostafaee"])
    )
    .memorial-v4-layered-portrait {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 1176 / 1337 !important;
        margin: 0 !important;
        overflow: visible !important;
    }
}

/* END A5-7R12 RESTORE REAL PORTRAIT COLUMN */
/* ==========================================================
   BEGIN A5-7F3R1 CURRENT-LIVE RESPONSIVE MOHAMMADJAFAR HERO FIT

   IMPORTANT:
   - Father page only.
   - Exact A5-7F2 image bytes remain unchanged.
   - New ?rev value forces a fresh image request in Chrome.
   - This block is intentionally appended last and uses higher
     specificity so legacy Hero geometry cannot win.
   ========================================================== */

#shahidabad-martyr.memorial-v3
.memorial-v4-hero-rebuild:has(
    .memorial-v4-portrait-stage[data-martyr-portrait-slug="mohammadjafar-mostafaee"]
)::before {
    background-image:
        url("../images/martyr-hero/mohammadjafar-mostafaee-test1-r2.png?rev=A5-7F3R1-84A62393") !important;
    background-repeat: no-repeat !important;
}

/* DESKTOP */
@media (min-width: 1200px) {
    #shahidabad-martyr.memorial-v3
    .memorial-v4-hero-rebuild:has(
        .memorial-v4-portrait-stage[data-martyr-portrait-slug="mohammadjafar-mostafaee"]
    )::before {
        background-size: 322px auto !important;
        background-position: calc(100% - 235px) calc(100% - 8px) !important;
    }
}

/* LARGE TABLET / SMALL DESKTOP */
@media (min-width: 981px) and (max-width: 1199px) {
    #shahidabad-martyr.memorial-v3
    .memorial-v4-hero-rebuild:has(
        .memorial-v4-portrait-stage[data-martyr-portrait-slug="mohammadjafar-mostafaee"]
    )::before {
        background-size: 255px auto !important;
        background-position: 100% 4px !important;
    }
}

/* TABLET */
@media (min-width: 761px) and (max-width: 980px) {
    #shahidabad-martyr.memorial-v3
    .memorial-v4-hero-rebuild:has(
        .memorial-v4-portrait-stage[data-martyr-portrait-slug="mohammadjafar-mostafaee"]
    )::before {
        background-size: 219px auto !important;
        background-position: 100% 8px !important;
    }
}

/* MOBILE */
@media (max-width: 760px) {
    #shahidabad-martyr.memorial-v3
    .memorial-v4-hero-rebuild:has(
        .memorial-v4-portrait-stage[data-martyr-portrait-slug="mohammadjafar-mostafaee"]
    )::before {
        background-size: min(177px, 46vw) auto !important;
        background-position: 50% 8px !important;
    }
}

/* END A5-7F3R1 CURRENT-LIVE RESPONSIVE MOHAMMADJAFAR HERO FIT */
/* ==========================================================
   BEGIN A5-7F4R1 GLOBAL SINGLE-MARTYR GRID ALIGNMENT

   Measurement source: A5-7F4D1.
   Desktop master shell: 90..1350 / 1260px
   Tablet master shell:  22..1002 / 980px
   Mobile master shell:  17..373 / 356px

   Rules:
   1) keep the existing outer shell as the master axis;
   2) align the hero portrait column to that same right axis;
   3) align hero copy children to one column;
   4) align the desktop/tablet download CTA under the portrait;
   5) use one card-inner rhythm: 24px desktop/tablet, 16px mobile;
   6) keep mobile Hero content on the same 17..373 shell.
   ========================================================== */

/* ---------- Shared card-inner alignment ---------- */
#shahidabad-martyr.memorial-v3 .memorial-v3-media-section,
#shahidabad-martyr.memorial-v3 .memorial-v3-will,
#shahidabad-martyr.memorial-v3 .memorial-v3-grave,
#shahidabad-martyr.memorial-v3 .memorial-v3-memories {
    padding-inline: 24px !important;
}

/* ---------- Desktop >= 1200 ---------- */
@media (min-width: 1200px) {

    /* Top utility uses the same 1260px master shell as Hero/Main/Footer. */
    #shahidabad-martyr.memorial-v3 .memorial-v3-topbar-grid {
        width: min(1260px, calc(100% - 48px)) !important;
        max-width: 1260px !important;
        margin-inline: auto !important;
    }

    /* Father composite: right edge = master shell right edge (1350 @ 1440). */
    #shahidabad-martyr.memorial-v3
    .memorial-v4-hero-rebuild:has(
        .memorial-v4-portrait-stage[data-martyr-portrait-slug="mohammadjafar-mostafaee"]
    )::before {
        background-size: 322px auto !important;
        background-position: calc(100% - 90px) calc(100% - 8px) !important;
    }

    /* Remove legacy compensation created for the old 610px composite. */
    #shahidabad-martyr.memorial-v3
    .memorial-v4-hero-rebuild .memorial-v3-hero-copy > h1,
    #shahidabad-martyr.memorial-v3
    .memorial-v4-hero-rebuild .memorial-v3-hero-lead,
    #shahidabad-martyr.memorial-v3
    .memorial-v4-hero-rebuild .memorial-v3-hero-facts {
        width: 100% !important;
        max-width: none !important;
        margin-inline: 0 !important;
        padding-inline: 0 !important;
        box-sizing: border-box !important;
    }

    /* Dedicated desktop CTA: same width/right edge as the 322px portrait. */
    #shahidabad-martyr.memorial-v3
    .memorial-v4-hero-rebuild .memorial-v3-download-hero-desktop {
        right: 90px !important;
        left: auto !important;
        width: 322px !important;
        max-width: 322px !important;
        bottom: 16px !important;
        margin: 0 !important;
        transform: none !important;
    }
}

/* ---------- Large tablet / small desktop 981..1199 ---------- */
@media (min-width: 981px) and (max-width: 1199px) {

    /* Right edge = measured master shell right edge (1002 @ 1024). */
    #shahidabad-martyr.memorial-v3
    .memorial-v4-hero-rebuild:has(
        .memorial-v4-portrait-stage[data-martyr-portrait-slug="mohammadjafar-mostafaee"]
    )::before {
        background-size: 255px auto !important;
        background-position: calc(100% - 22px) 4px !important;
    }

    #shahidabad-martyr.memorial-v3
    .memorial-v4-hero-rebuild .memorial-v3-hero-copy > h1,
    #shahidabad-martyr.memorial-v3
    .memorial-v4-hero-rebuild .memorial-v3-hero-lead,
    #shahidabad-martyr.memorial-v3
    .memorial-v4-hero-rebuild .memorial-v3-hero-facts {
        width: 100% !important;
        max-width: none !important;
        margin-inline: 0 !important;
        padding-inline: 0 !important;
        box-sizing: border-box !important;
    }

    /* Original tablet CTA belongs under the portrait column, not under copy. */
    #shahidabad-martyr.memorial-v3
    .memorial-v4-hero-rebuild .memorial-v3-download-portrait {
        position: absolute !important;
        right: 0 !important;
        left: auto !important;
        top: auto !important;
        bottom: 20px !important;
        width: 258px !important;
        max-width: 258px !important;
        margin: 0 !important;
        transform: none !important;
    }
}

/* ---------- Tablet 761..980 ---------- */
@media (min-width: 761px) and (max-width: 980px) {

    #shahidabad-martyr.memorial-v3
    .memorial-v4-hero-rebuild:has(
        .memorial-v4-portrait-stage[data-martyr-portrait-slug="mohammadjafar-mostafaee"]
    )::before {
        background-size: 219px auto !important;
        background-position: calc(100% - 22px) 8px !important;
    }

    #shahidabad-martyr.memorial-v3
    .memorial-v4-hero-rebuild .memorial-v3-hero-copy > h1,
    #shahidabad-martyr.memorial-v3
    .memorial-v4-hero-rebuild .memorial-v3-hero-lead,
    #shahidabad-martyr.memorial-v3
    .memorial-v4-hero-rebuild .memorial-v3-hero-facts {
        width: 100% !important;
        max-width: none !important;
        margin-inline: 0 !important;
        padding-inline: 0 !important;
        box-sizing: border-box !important;
    }

    #shahidabad-martyr.memorial-v3
    .memorial-v4-hero-rebuild .memorial-v3-download-portrait {
        position: absolute !important;
        right: 0 !important;
        left: auto !important;
        top: auto !important;
        bottom: 16px !important;
        width: 224px !important;
        max-width: 224px !important;
        margin: 0 !important;
        transform: none !important;
    }
}

/* ---------- Mobile <= 760 ---------- */
@media (max-width: 760px) {

    /* One mobile master shell: Hero Copy / Main / Topbar = 17..373 @ 390. */
    #shahidabad-martyr.memorial-v3 .memorial-v3-hero-grid {
        width: calc(100% - 24px) !important;
        max-width: none !important;
        margin-inline: auto !important;
    }

    #shahidabad-martyr.memorial-v3
    .memorial-v4-hero-rebuild .memorial-v3-download-portrait {
        width: 100% !important;
        max-width: none !important;
        margin-inline: 0 !important;
        box-sizing: border-box !important;
    }

    #shahidabad-martyr.memorial-v3 .memorial-v3-media-section,
    #shahidabad-martyr.memorial-v3 .memorial-v3-will,
    #shahidabad-martyr.memorial-v3 .memorial-v3-grave,
    #shahidabad-martyr.memorial-v3 .memorial-v3-memories {
        padding-inline: 16px !important;
    }

    #shahidabad-martyr.memorial-v3 .memorial-v3-footer-inner {
        width: calc(100% - 34px) !important;
        max-width: none !important;
        margin-inline: auto !important;
    }
}

/* END A5-7F4R1 GLOBAL SINGLE-MARTYR GRID ALIGNMENT */
/* ==========================================================
   BEGIN A5-7F4R2 FLUID SHELL ALIGNMENT MICROTUNE
   ========================================================== */

@media (min-width: 1200px) {
    #shahidabad-martyr.memorial-v3
    .memorial-v4-hero-rebuild:has(
        .memorial-v4-portrait-stage[data-martyr-portrait-slug="mohammadjafar-mostafaee"]
    )::before {
        background-size: 322px auto !important;
        background-position:
            calc(100% - max(24px, calc((100vw - 1260px) / 2)))
            calc(100% - 8px) !important;
    }

    #shahidabad-martyr.memorial-v3
    .memorial-v4-hero-rebuild .memorial-v3-download-hero-desktop {
        right: max(24px, calc((100vw - 1260px) / 2)) !important;
        left: auto !important;
        width: 322px !important;
        max-width: 322px !important;
    }
}

@media (min-width: 981px) and (max-width: 1199px) {
    #shahidabad-martyr.memorial-v3
    .memorial-v4-hero-rebuild:has(
        .memorial-v4-portrait-stage[data-martyr-portrait-slug="mohammadjafar-mostafaee"]
    )::before {
        background-size: 255px auto !important;
        background-position:
            calc(100% - max(22px, calc((100vw - 980px) / 2)))
            4px !important;
    }

    #shahidabad-martyr.memorial-v3
    .memorial-v4-hero-rebuild .memorial-v3-download-portrait {
        right: max(22px, calc((100vw - 980px) / 2)) !important;
        left: auto !important;
    }
}

@media (max-width: 760px) {
    #shahidabad-martyr.memorial-v3 .memorial-v3-hero-grid {
        width: calc(100% - 34px) !important;
        max-width: none !important;
        margin-inline: auto !important;
    }
}

/* END A5-7F4R2 FLUID SHELL ALIGNMENT MICROTUNE */
/* ==========================================================
   BEGIN A5-7F4R3 HERO VISUAL BALANCE

   Visual review source:
   - Desktop 1440x1200 after A5-7F4R2
   - Large tablet 1024x1366 after A5-7F4R2

   Frozen:
   - fluid shell alignment
   - all content-section alignment
   - mobile geometry
   - image bytes / PHP / JS / DB

   Adjustments:
   - desktop portrait: 322 -> 340px (+5.6%)
   - desktop Hero copy: +24px physical right
   - large tablet portrait: 255 -> 270px (+5.9%)
   - large tablet Hero copy: +12px physical right
   - CTA width follows portrait width
   ========================================================== */

@media (min-width: 1200px) {

    #shahidabad-martyr.memorial-v3
    .memorial-v4-hero-rebuild:has(
        .memorial-v4-portrait-stage[data-martyr-portrait-slug="mohammadjafar-mostafaee"]
    )::before {
        background-size: 340px auto !important;
        background-position:
            calc(100% - max(24px, calc((100vw - 1260px) / 2)))
            calc(100% - 4px) !important;
    }

    #shahidabad-martyr.memorial-v3
    .memorial-v4-hero-rebuild .memorial-v3-download-hero-desktop {
        width: 340px !important;
        max-width: 340px !important;
    }

    #shahidabad-martyr.memorial-v3
    .memorial-v4-hero-rebuild .memorial-v3-hero-copy {
        transform: translateX(24px) !important;
    }
}

@media (min-width: 981px) and (max-width: 1199px) {

    #shahidabad-martyr.memorial-v3
    .memorial-v4-hero-rebuild:has(
        .memorial-v4-portrait-stage[data-martyr-portrait-slug="mohammadjafar-mostafaee"]
    )::before {
        background-size: 270px auto !important;
        background-position:
            calc(100% - max(22px, calc((100vw - 980px) / 2)))
            2px !important;
    }

    #shahidabad-martyr.memorial-v3
    .memorial-v4-hero-rebuild .memorial-v3-download-portrait {
        width: 270px !important;
        max-width: 270px !important;
    }

    #shahidabad-martyr.memorial-v3
    .memorial-v4-hero-rebuild .memorial-v3-hero-copy {
        transform: translateX(12px) !important;
    }
}

/* END A5-7F4R3 HERO VISUAL BALANCE */

/* BEGIN A5-8R1 OVERVIEW HEADER AND CARD RHYTHM */
.memorial-v3-overview.memorial-v4-overview-rebuild{
  margin-top:22px;
}

.memorial-v3-overview.memorial-v4-overview-rebuild .memorial-v3-section-title{
  width:100%;
  max-width:460px;
  margin-inline-start:auto;
  margin-inline-end:0;
  margin-bottom:18px;
  display:grid;
  gap:6px;
  justify-items:end;
  text-align:right;
}

.memorial-v3-overview.memorial-v4-overview-rebuild .memorial-v3-overview-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  align-items:stretch;
}

.memorial-v3-overview.memorial-v4-overview-rebuild .memorial-v3-card{
  padding:22px 20px 18px;
  border-radius:28px;
}

.memorial-v3-overview.memorial-v4-overview-rebuild .memorial-v3-card > h2,
.memorial-v3-overview.memorial-v4-overview-rebuild .memorial-v3-card > h3,
.memorial-v3-overview.memorial-v4-overview-rebuild .memorial-v3-card > h4,
.memorial-v3-overview.memorial-v4-overview-rebuild .memorial-v3-card .memorial-v3-card-title{
  margin-bottom:14px;
}

.memorial-v3-overview.memorial-v4-overview-rebuild .memorial-v3-card table,
.memorial-v3-overview.memorial-v4-overview-rebuild .memorial-v3-card ul,
.memorial-v3-overview.memorial-v4-overview-rebuild .memorial-v3-card dl{
  margin-top:10px;
}

@media (max-width:1200px) and (min-width:981px){
  .memorial-v3-overview.memorial-v4-overview-rebuild .memorial-v3-section-title{
    max-width:430px;
    margin-bottom:16px;
  }

  .memorial-v3-overview.memorial-v4-overview-rebuild .memorial-v3-overview-grid{
    gap:18px;
  }

  .memorial-v3-overview.memorial-v4-overview-rebuild .memorial-v3-card{
    padding:20px 18px 16px;
  }
}

@media (max-width:980px) and (min-width:768px){
  .memorial-v3-overview.memorial-v4-overview-rebuild{
    margin-top:20px;
  }

  .memorial-v3-overview.memorial-v4-overview-rebuild .memorial-v3-section-title{
    max-width:100%;
    margin-bottom:16px;
  }

  .memorial-v3-overview.memorial-v4-overview-rebuild .memorial-v3-overview-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
  }

  .memorial-v3-overview.memorial-v4-overview-rebuild .memorial-v3-card{
    padding:20px 18px 16px;
    border-radius:26px;
  }
}

@media (max-width:767px){
  .memorial-v3-overview.memorial-v4-overview-rebuild{
    margin-top:18px;
  }

  .memorial-v3-overview.memorial-v4-overview-rebuild .memorial-v3-section-title{
    max-width:100%;
    margin-bottom:14px;
    gap:4px;
  }

  .memorial-v3-overview.memorial-v4-overview-rebuild .memorial-v3-overview-grid{
    grid-template-columns:minmax(0,1fr);
    gap:12px;
  }

  .memorial-v3-overview.memorial-v4-overview-rebuild .memorial-v3-card{
    padding:18px 14px 14px;
    border-radius:22px;
  }
}
/* END A5-8R1 OVERVIEW HEADER AND CARD RHYTHM */

/* ==========================================================
   BEGIN A5-8R1R2 OVERVIEW RTL TITLE ALIGNMENT

   A5-8R1 used logical auto margins in the wrong RTL direction.
   Keep A5-8R1 card/grid rhythm; correct only title placement.
   ========================================================== */

#shahidabad-martyr.memorial-v3
.memorial-v3-overview.memorial-v4-overview-rebuild
.memorial-v3-section-title {
    direction: rtl !important;
    text-align: right !important;
    margin-inline-start: 0 !important;
    margin-inline-end: auto !important;
    justify-items: end !important;
}

@media (min-width: 1201px) {
    #shahidabad-martyr.memorial-v3
    .memorial-v3-overview.memorial-v4-overview-rebuild
    .memorial-v3-section-title {
        width: 100% !important;
        max-width: 460px !important;
    }
}

@media (min-width: 981px) and (max-width: 1200px) {
    #shahidabad-martyr.memorial-v3
    .memorial-v3-overview.memorial-v4-overview-rebuild
    .memorial-v3-section-title {
        width: 100% !important;
        max-width: 430px !important;
    }
}

@media (max-width: 980px) {
    #shahidabad-martyr.memorial-v3
    .memorial-v3-overview.memorial-v4-overview-rebuild
    .memorial-v3-section-title {
        width: 100% !important;
        max-width: 100% !important;
        margin-inline: 0 !important;
    }
}

/* END A5-8R1R2 OVERVIEW RTL TITLE ALIGNMENT */
/* ==========================================================
   BEGIN V6-FOUC-CLS-STABILIZATION-R1
   Server-rendered timeline is already in its final card.
   The old wrapper now exists only when a real booklet exists.
   ========================================================== */
body.shahidabad-memorial-v3 .memorial-v3-timeline-wrap.m3-booklet-only {
    grid-template-columns: minmax(0, 360px) !important;
    justify-content: start !important;
}

body.shahidabad-memorial-v3 .memorial-v3-timeline-wrap.m3-booklet-only .memorial-v3-booklet-card {
    width: 100% !important;
    min-width: 0 !important;
}
/* ==========================================================
   END V6-FOUC-CLS-STABILIZATION-R1
   ========================================================== */