/*
 * Thuyarpakirvu / Keepsake
 * Editorial botanical paper, deep evergreen ink, aged brass details.
 * This file is loaded after the legacy and template-specific styles.
 */
:root {
    --paper: #f5eedf;
    --paper-light: #fff9ed;
    --ink: #283c35;
    --evergreen: #203a32;
    --brass: #9b763d;
    --rule: #d9cbb0;
    --muted: #6c7165;
    --font-heading: 'Fraunces', 'Noto Serif Tamil', Georgia, serif;
    --font-body: 'DM Sans', 'Noto Sans Tamil', sans-serif;
}
html { scroll-padding-top: 110px; }
body { background: var(--paper); color: var(--ink); font-family: var(--font-body); font-size: 16px; line-height: 1.75; }
body::before {
    content: ""; position: fixed; inset: 0; z-index: 9998; pointer-events: none; opacity: .12;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");
}
h1,h2,h3,h4 { font-family: var(--font-heading); letter-spacing: -.025em; }
a { color: var(--evergreen); }
a:hover { color: var(--brass); }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible { outline: 2px solid var(--brass); outline-offset: 4px; }
button,input,textarea { font-family: var(--font-body); }
.site-wrapper { min-height: 100dvh; }

/* A quieter masthead: the inherited gold emblem remains the anchor. */
.site-header { background: var(--evergreen) !important; border-bottom: 1px solid #8f794e; box-shadow: 0 5px 24px rgba(26,45,36,.12); }
.header-inner { max-width: 1460px; min-height: 82px; padding: 12px clamp(20px,4vw,66px); gap: clamp(20px,3vw,50px); }
.site-logo { gap: 13px; }
.site-logo .brand-mark { width: 58px; height: 58px; }
.site-logo .brand-wordmark { width: clamp(150px,14vw,205px); max-height: 54px; }
.main-nav { gap: 2px 5px; }
.main-nav a { color: #eee3c9; font-size: .81rem; font-weight: 600; padding: 9px 10px; border-radius: 0; white-space: normal; line-height: 1.35; }
.main-nav a:hover,.main-nav a.active,.main-nav .current-menu-item > a { color: #eacb83; background: transparent; border-bottom: 1px solid #b39862; }
.main-nav .btn-nav-select { background: #e4c889 !important; border: 1px solid #e4c889 !important; color: var(--evergreen) !important; padding: 10px 15px !important; border-radius: 2px !important; }
.main-nav .btn-nav-select:hover { background: #f5e1ad !important; }
.mobile-menu-toggle { color: #f3e6cc; background: none; border: 1px solid #aa9369; border-radius: 2px; padding: 9px 12px; align-items: center; gap: 10px; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.menu-lines { width: 18px; display: inline-flex; flex-direction: column; gap: 5px; vertical-align: middle; }
.menu-lines span { display: block; height: 1px; width: 18px; background: currentColor; transition: transform .3s ease; }
.mobile-menu-toggle.is-open .menu-lines span:first-child { transform: translateY(3px) rotate(45deg); }
.mobile-menu-toggle.is-open .menu-lines span:last-child { transform: translateY(-3px) rotate(-45deg); }

/* Opening spread: typography and the supplied floral wreath, not stock photography. */
.hero-banner-carousel { height: clamp(530px,54vw,690px) !important; background: var(--evergreen) !important; width: 100% !important; max-width: none !important; left: auto !important; right: auto !important; margin: 0 !important; }
.carousel-slide { background-image: none !important; display: none !important; }
.carousel-slide:first-child { display: flex !important; opacity: 1 !important; justify-content: flex-start; background: radial-gradient(circle at 79% 44%, #3e5b4d 0, #203a32 45%, #182e28 100%) !important; }
.carousel-slide:first-child::after { content: ""; position: absolute; inset: 6% 3%; border: 1px solid rgba(218,188,119,.32); pointer-events: none; z-index: 2; }
.carousel-slide:first-child::before { content: ""; position: absolute; right: 0; top: 2%; width: min(48vw,680px); height: 96%; background: url("../img/memorial-floral-wreath.png") center / contain no-repeat; z-index: 1; opacity: .96; transform: rotate(-12deg); }
.carousel-slide .carousel-overlay { display: none; }
.carousel-bg-image { display: none; }
.carousel-slide .hero-content-wrap { animation: keepsake-enter .85s ease both; text-align: left; width: min(58%,780px); max-width: none; margin-left: max(8vw,calc((100vw - 1340px)/2)); padding: 0 32px 0 0; z-index: 3; }
.hero-eyebrow { font-family: 'DM Sans',sans-serif; color: #d3b579; font-size: .72rem; letter-spacing: .21em; font-weight: 700; margin-bottom: 25px; }
.hero-eyebrow span { padding: 0 10px; opacity: .55; }
.carousel-slide:first-child .hero-title { font-family: var(--font-heading) !important; font-size: clamp(2.7rem,4vw,4.7rem); font-weight: 500; line-height: 1.36; letter-spacing: -.045em; font-style: normal; color: #fff5db; text-shadow: none; margin-bottom: 15px; }
.carousel-slide:first-child .hero-title em { font-style: normal; color: #d8ba77; }
.carousel-slide:first-child .hero-subtitle { color: #e3d3ae; font-size: clamp(.95rem,1.25vw,1.22rem); font-weight: 400; letter-spacing: 0; text-transform: none; text-shadow: none; }
.carousel-slide:first-child .hero-divider { width: 65px; height: 1px; margin: 26px 0; background: #bba06a; }
.carousel-slide:first-child .hero-description { color: #d6decd; font-size: 1rem; line-height: 1.9; font-style: normal; letter-spacing: 0; max-width: 540px; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; margin-top: 35px; }
.hero-actions a { font-size: .87rem; font-weight: 700; transition: transform .25s ease,background .25s ease,color .25s ease; }
.hero-primary { display: inline-flex; align-items: center; gap: 24px; padding: 13px 20px; background: #e1c689; color: #193127; }
.hero-primary:hover { background: #f1ddb0; color: #193127; transform: translateY(-2px); }
.hero-secondary { color: #efe2c4; border-bottom: 1px solid #b89d67; padding: 10px 0; }
.hero-secondary:hover { color: #fff4d6; }
.hero-decoration,.carousel-dots,.carousel-nav { display: none !important; }
.hero-banner-carousel::before { height: 1px; background: #c9aa69; }
@keyframes keepsake-enter { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }

/* Category index reads like a contents page in an archival volume. */
.home-categories-section { background: #efe6d5 !important; border: 0 !important; border-bottom: 1px solid var(--rule) !important; padding: clamp(52px,6vw,90px) 24px !important; }
.home-categories-section > div { max-width: 1320px !important; }
.home-categories-section > div > div:first-child { text-align: left !important; margin-bottom: 32px !important; }
.home-categories-section h2 { font-family: var(--font-heading) !important; color: var(--evergreen) !important; font-size: clamp(1.6rem,2.6vw,2.7rem) !important; font-weight: 500; }
.home-categories-section p { margin: 0 !important; max-width: none !important; color: var(--muted) !important; font-size: .95rem !important; }
.home-categories-grid { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 1px !important; background: #cfc09f; border: 1px solid #cfc09f; }
.home-category-card { min-height: 158px; background: #f8f2e7 !important; border: 0 !important; border-radius: 0 !important; padding: 23px 20px !important; justify-content: center; transition: background .28s ease !important; }
.home-category-card:hover { background: #e9ddc8 !important; }
.home-category-card > div { margin-bottom: 6px !important; }
.home-category-card .memorial-symbol-wrap { transform: scale(.82); transform-origin: center; filter: sepia(.35) saturate(.6); }
.home-category-card strong { color: var(--evergreen) !important; font-size: 1.05rem !important; font-weight: 600; }
.home-category-card > span { color: var(--brass) !important; font-size: .68rem !important; letter-spacing: .12em !important; }

/* Entries: more breathing room, intentional rules and an archival sidebar. */
.content-layout { max-width: 1370px; grid-template-columns: minmax(0,1fr) minmax(260px,300px); gap: clamp(30px,5vw,86px); padding: clamp(28px,4vw,60px) clamp(20px,4vw,58px); }
.site-main { min-width: 0; padding: 0; }
.home-category-section { margin-bottom: clamp(60px,8vw,108px); scroll-margin-top: 105px; }
.home-category-header { border-bottom: 1px solid var(--rule) !important; padding-bottom: 20px !important; margin-bottom: 26px !important; align-items: end; }
.home-category-title-wrap { align-items: flex-start !important; }
.home-category-icon { opacity: .8; }
.home-category-title { font-size: clamp(1.35rem,2.15vw,2rem) !important; font-weight: 500; color: var(--evergreen) !important; margin-bottom: 4px; }
.home-category-subtitle { color: #8d7957 !important; font-size: .78rem !important; letter-spacing: .03em; }
.home-category-actions { gap: 10px !important; }
.btn-category-view-all,.btn-category-submit { border-radius: 0 !important; font-size: .75rem !important; font-weight: 700 !important; letter-spacing: .02em; }
.btn-category-view-all { color: var(--evergreen) !important; background: transparent !important; border: 1px solid #c8b78f !important; }
.btn-category-submit { background: var(--evergreen) !important; color: #f6edda !important; border: 1px solid var(--evergreen) !important; }
.home-category-posts-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(315px, 1fr)) !important; gap: clamp(20px, 2.5vw, 32px) !important; align-items: start !important; overflow: visible !important; }
@media (min-width: 1024px) {
    .site-main .home-category-posts-grid { grid-template-columns: repeat(2, minmax(315px, 1fr)) !important; }
}
.obituaries-list-grid { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(315px, 1fr)) !important; gap: clamp(20px, 2.5vw, 32px) !important; align-items: start !important; overflow: visible !important; }
.home-post-frame-item,.obituary-list-frame-item { min-width: 0; width: 100%; display: flex; justify-content: center; }
/*
 * THE FOUR PORTRAIT KEEPSAKES
 * The old frame used a fixed 896:1200 canvas and placed every element by
 * percentages. At narrow widths that left the name, details and CTA clipped.
 * These cards are now content-sized: category / full photograph / inscription.
 */
.im-frame-card.frame-palette-navy {
    --frame-head: #263e4b;
    --frame-paper: #f5f0e5;
    --frame-mat: #e9e0d1;
    --frame-ink: #203c48;
    --frame-accent: #ae8a56;
    --frame-line: #c9b797;
    --frame-button: #294856;
    --frame-label: #f7e9ca;
}
.im-frame-card.frame-palette-sage {
    --frame-head: #3f5c4d;
    --frame-paper: #edf0e5;
    --frame-mat: #d9dfce;
    --frame-ink: #29483b;
    --frame-accent: #738968;
    --frame-line: #b6c2a7;
    --frame-button: #3f5c4d;
    --frame-label: #f4f0db;
}
.im-frame-card.frame-palette-slate {
    --frame-head: #495663;
    --frame-paper: #eef0ed;
    --frame-mat: #dce0dc;
    --frame-ink: #364855;
    --frame-accent: #778d96;
    --frame-line: #bdc9c8;
    --frame-button: #495663;
    --frame-label: #f1eee5;
}
.im-frame-card.frame-palette-plum {
    --frame-head: #604657;
    --frame-paper: #f5ece8;
    --frame-mat: #eadbd5;
    --frame-ink: #563e50;
    --frame-accent: #a87c84;
    --frame-line: #d7bab9;
    --frame-button: #604657;
    --frame-label: #f8ede2;
}
/* Four material treatments, not one dark rectangle recolored four times. */
.im-frame-card.frame-palette-navy .im-frame-top-tag {
    background: linear-gradient(110deg, #203743, #304d59);
}
.im-frame-card.frame-palette-sage .im-frame-top-tag {
    background: linear-gradient(110deg, #3d594b, #56705a);
}
.im-frame-card.frame-palette-slate .im-frame-top-tag {
    background: linear-gradient(110deg, #434f5b, #5a6972);
}
.im-frame-card.frame-palette-plum .im-frame-top-tag {
    background: linear-gradient(110deg, #573d4e, #745969);
}
.im-frame-card {
    width: 100%;
    max-width: 400px;
    min-width: 0;
    background: var(--frame-paper, #f5f0e5) !important;
    border: 1px solid var(--frame-line, #c9b797);
    border-radius: 2px !important;
    box-shadow: 0 12px 30px rgba(36, 46, 42, .13) !important;
    overflow: hidden;
    transition: transform .28s ease, box-shadow .28s ease;
}
.im-frame-card.context-hero {
    width: 100%;
    max-width: 440px;
    box-shadow: 0 15px 38px rgba(36, 46, 42, .13) !important;
}
.im-frame-card.context-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 17px 36px rgba(36, 46, 42, .19) !important;
}
.im-frame-card.context-hero:hover { transform: none; }
.im-frame-card .im-frame-stage,
.im-frame-card.frame-layout-896-1200 .im-frame-stage,
.im-frame-card.frame-layout-870-1024 .im-frame-stage {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: auto !important;
    padding: 0 !important;
}
/* The double paper keyline stays behind content, never across a face or name. */
.im-frame-card .im-frame-stage::before {
    inset: 7px !important;
    border: 1px solid var(--frame-line);
    opacity: .58;
    z-index: 0;
}
.im-frame-card .im-frame-stage::after {
    inset: auto 17px 7px !important;
    height: 1px;
    border: 0 !important;
    background: var(--frame-line);
    opacity: .7;
    z-index: 0;
}
.im-frame-card .im-frame-top-tag,
.im-frame-card.context-hero .im-frame-top-tag {
    position: relative !important;
    inset: auto !important;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 76px;
    padding: 18px 72px 17px 25px !important;
    background: var(--frame-head);
    border-bottom: 3px solid var(--frame-accent);
    color: var(--frame-label) !important;
    font-family: 'Noto Serif Tamil', var(--font-heading), serif;
    font-size: clamp(.95rem, 1.5vw, 1.15rem) !important;
    font-weight: 600;
    line-height: 1.55;
    text-align: left;
    letter-spacing: 0 !important;
    text-transform: none;
    text-shadow: none !important;
    white-space: normal;
    overflow-wrap: anywhere;
    z-index: 2;
}
.im-frame-card .im-frame-botanical {
    position: absolute !important;
    top: 22px !important;
    right: 20px !important;
    left: auto !important;
    width: 43px !important;
    height: 32px !important;
    max-width: none;
    object-fit: contain;
    opacity: .7;
    filter: sepia(1) saturate(.55) brightness(1.65);
    z-index: 3;
    pointer-events: none;
}
.im-frame-card.frame-palette-sage .im-frame-botanical { filter: sepia(.35) saturate(.35) brightness(2); }
.im-frame-card.frame-palette-slate .im-frame-botanical { filter: grayscale(1) brightness(2); }
.im-frame-card.frame-palette-plum .im-frame-botanical { filter: sepia(.5) hue-rotate(305deg) brightness(1.8); }
.im-frame-card .im-frame-aperture,
.im-frame-card.is-maaveerar .im-frame-aperture {
    position: relative !important;
    inset: auto !important;
    flex: none;
    width: calc(100% - 36px) !important;
    height: auto !important;
    aspect-ratio: 1 / 1.04;
    margin: 18px 18px 0;
    padding: 7px;
    border: 1px solid var(--frame-line) !important;
    border-radius: 1px !important;
    box-shadow: 0 0 0 5px var(--frame-paper) !important;
    background: var(--frame-mat) !important;
    overflow: hidden;
    z-index: 1;
}
.im-frame-card .im-frame-photo,
.im-frame-card:hover .im-frame-photo {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    background: var(--frame-mat) !important;
    border-radius: 0 !important;
    transform: none !important;
}
.im-frame-card .im-frame-placeholder {
    border-radius: 0 !important;
    background: var(--frame-mat) !important;
    color: var(--frame-accent) !important;
}
.im-frame-card .im-frame-placeholder .ph-icon {
    font-size: clamp(2.4rem, 5vw, 3.6rem);
    filter: none !important;
}
.im-frame-card .im-frame-plaque,
.im-frame-card.is-maaveerar .im-frame-plaque {
    position: relative !important;
    inset: auto !important;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    width: 100% !important;
    height: auto !important;
    min-height: 188px;
    padding: 19px 24px 23px !important;
    margin: 0;
    border: 0 !important;
    background: var(--frame-paper) !important;
    overflow: visible !important;
    text-align: left;
    z-index: 2;
}
.im-frame-card.frame-palette-navy .im-frame-plaque { box-shadow: inset 0 4px 0 #e7dbbf; }
.im-frame-card.frame-palette-sage .im-frame-plaque { box-shadow: inset 4px 0 0 #a9b89e; }
.im-frame-card.frame-palette-slate .im-frame-plaque { box-shadow: inset 0 4px 0 #c6d1d1; }
.im-frame-card.frame-palette-plum .im-frame-plaque { box-shadow: inset 4px 0 0 #c59fa4; }
.im-frame-card .im-frame-plaque > *,
.im-frame-card .im-frame-plaque .im-plaque-name,
.im-frame-card .im-frame-plaque .im-plaque-dates,
.im-frame-card .im-frame-plaque .im-plaque-loc,
.im-frame-card .im-frame-plaque .im-plaque-realname {
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    text-shadow: none !important;
}
.im-frame-card .im-frame-plaque .im-plaque-name {
    display: block !important;
    -webkit-line-clamp: unset !important;
    margin: 0 0 10px !important;
    color: var(--frame-ink) !important;
    font-family: 'Noto Serif Tamil', var(--font-heading), serif !important;
    font-size: clamp(1.12rem, 1.6vw, 1.37rem) !important;
    font-weight: 600 !important;
    line-height: 1.55 !important;
    letter-spacing: -.015em;
    overflow-wrap: anywhere;
}
.im-frame-card .im-frame-plaque .im-plaque-realname {
    color: var(--frame-ink) !important;
    font-size: .84rem !important;
    font-weight: 500;
    line-height: 1.6 !important;
    margin: -3px 0 8px !important;
}
.im-frame-card .im-frame-plaque .im-plaque-dates {
    display: flex !important;
    justify-content: flex-start !important;
    gap: 4px 7px;
    margin: 0 0 6px !important;
    color: var(--frame-ink) !important;
    font-size: .84rem !important;
    font-weight: 600;
    line-height: 1.55 !important;
}
.im-frame-card .im-frame-plaque .im-plaque-loc {
    color: var(--frame-ink) !important;
    font-size: .81rem !important;
    line-height: 1.6 !important;
    opacity: .8;
    margin: 0 0 14px !important;
    overflow-wrap: anywhere;
}
.im-frame-card .im-frame-plaque .im-plaque-action {
    margin-top: auto !important;
    padding-top: 15px;
    border-top: 1px solid var(--frame-line);
    z-index: 7;
}
.im-frame-card .im-frame-plaque .im-plaque-btn {
    display: inline-flex;
    gap: 12px;
    min-height: 40px;
    margin: 0;
    padding: 8px 14px !important;
    border: 1px solid var(--frame-button) !important;
    border-radius: 2px !important;
    background: var(--frame-button) !important;
    color: #fff9ec !important;
    box-shadow: none !important;
    font-size: .82rem !important;
    font-weight: 700;
    line-height: 1.45;
    text-align: center;
    transform: none !important;
    filter: none !important;
    transition: background .25s ease, color .25s ease;
}
.im-frame-card .im-frame-plaque .im-plaque-btn:hover,
.im-frame-card .im-frame-plaque .im-plaque-btn:focus-visible {
    background: var(--frame-paper) !important;
    color: var(--frame-button) !important;
}
.im-frame-card .im-frame-click-overlay { z-index: 6; }
.im-frame-card.context-hero .im-frame-top-tag { min-height: 84px; font-size: 1.2rem !important; }
.im-frame-card.context-hero .im-frame-aperture { width: calc(100% - 48px) !important; margin: 24px 24px 0; aspect-ratio: 1 / 1.08; }
.im-frame-card.context-hero .im-frame-plaque { min-height: 0; padding: 24px 30px 30px !important; }
.im-frame-card.context-hero .im-frame-plaque .im-plaque-name { font-size: clamp(1.4rem, 2.2vw, 1.9rem) !important; }
.im-frame-card.context-hero .im-frame-plaque .im-plaque-dates { font-size: 1rem !important; }
.im-frame-card.context-hero .im-frame-plaque .im-plaque-loc { font-size: .94rem !important; margin-bottom: 0 !important; }
@media (max-width: 360px) {
    .im-frame-card .im-frame-top-tag { min-height: 66px; padding: 14px 60px 14px 18px !important; font-size: .9rem !important; }
    .im-frame-card .im-frame-botanical { width: 34px !important; right: 16px !important; top: 18px !important; }
    .im-frame-card .im-frame-aperture { width: calc(100% - 28px) !important; margin: 14px 14px 0; }
    .im-frame-card .im-frame-plaque { padding: 17px 18px 21px !important; }
    .im-frame-card.context-hero .im-frame-aperture { width: calc(100% - 32px) !important; margin: 16px 16px 0; }
}
.home-category-empty { border: 1px solid var(--rule) !important; background: #f9f3e8 !important; padding: 38px !important; }
.card { background: var(--paper-light); border: 1px solid var(--rule); box-shadow: none; border-radius: 1px; }
.sidebar { min-width: 0; }
.sidebar .card,.sidebar .widget-submit { margin-bottom: 20px; }
.sidebar .card a { color: var(--evergreen); }
.sidebar .card a:hover { color: var(--brass); }
.sidebar .card li img { object-fit: contain !important; background: #e9ddc8; }
.widget-search { border: 1px solid var(--rule); }
.widget-search input { min-width: 0; background: var(--paper-light); border: 0; border-radius: 0; padding: 14px; }
.widget-search button { background: var(--evergreen); border-radius: 0; }
.widget-search button:hover { background: #456451; }
.widget-submit { background: var(--evergreen) !important; border: 1px solid #8f805d; border-radius: 1px; padding: 30px; color: #f6ecda; }
.widget-submit-title { color: #f8eacb !important; font-size: 1.25rem; line-height: 1.5; border-color: #777b63; }
.widget-submit p { color: #dbdbc9 !important; }
.widget-submit-buttons { display: flex; flex-wrap: wrap; gap: 10px; }
.btn-submit-obituary,.btn-contact { flex: 1; min-width: 115px; border-radius: 1px; padding: 11px 13px; font-size: .78rem; }
.btn-submit-obituary { background: #dfc58a !important; color: var(--evergreen) !important; }
.btn-contact { border-color: #adad91 !important; color: #f7eaca !important; background: transparent !important; }
.btn-submit-obituary:hover { background: #f0dba9 !important; }
.btn-contact:hover { background: #45604d !important; }
.tribute-section { background: #e9e0ce !important; border: 1px solid var(--rule) !important; border-radius: 1px !important; box-shadow: none; padding: clamp(24px,4vw,46px) !important; }
.tribute-section h2,.section-heading { color: var(--evergreen) !important; font-weight: 500 !important; }
.tribute-section h2 { line-height: 1.6; }
.tribute-section .tribute-message-card { background: #faf4e9 !important; border: 1px solid var(--rule) !important; border-radius: 1px; box-shadow: none; }
.tribute-photo { object-fit: contain !important; background: #eadfca; }
.tribute-photo-placeholder { background: #d9c9aa !important; color: var(--evergreen); }
.btn-condolence,.btn-candle,.btn-primary { background: var(--evergreen) !important; color: #fff2d8 !important; border-radius: 1px !important; box-shadow: none !important; }
.btn-condolence:hover,.btn-candle:hover,.btn-primary:hover { background: #48644f !important; }
.form-control { background: #fffaf0; border-color: var(--rule); border-radius: 1px; color: var(--ink); }
.form-control:focus { border-color: var(--brass); box-shadow: 0 0 0 2px #d9cbb0; }

/* Listings: retain query, filters, pagination and the supplied framed cards. */
.notice-category-hero { background: var(--evergreen) !important; min-height: 270px !important; padding: 48px 20px !important; }
.notice-category-hero .hero-title { font-family: var(--font-heading) !important; font-style: normal !important; color: #f8efd9; text-shadow: none; font-weight: 500 !important; font-size: clamp(1.8rem,3vw,3rem) !important; }
.notice-category-hero .hero-subtitle { text-transform: none; letter-spacing: 0; color: #e8d5ab; }
.notice-category-nav-bar { position: relative !important; top: auto !important; background: #ebe2d0 !important; border-bottom: 1px solid var(--rule) !important; box-shadow: none !important; padding: 15px 22px !important; }
.notice-category-nav-bar > div { max-width: 1320px !important; gap: 7px !important; }
.notice-category-nav-bar a { border-radius: 1px !important; padding: 9px 13px !important; font-size: .77rem !important; }
.notice-category-nav-bar .memorial-symbol-wrap { transform: scale(.75); }
.page-template-page-notice-category .content-layout { max-width: 1370px !important; margin: 0 auto !important; padding: 45px clamp(20px,4vw,58px) !important; }
.page-template-page-notice-category .site-main > .card:first-child { background: #e9dfca; padding: 24px !important; }
.page-template-page-notice-category .site-main > div[style*="flex-wrap:wrap"] a { border-radius: 1px !important; }
.page-template-page-notice-category .sidebar .card { background: #f9f3e8; }
.pagination a,.pagination span,.page-numbers { border-radius: 1px !important; }
.page-template-page-obituaries .hero-banner { background: var(--evergreen) !important; min-height: 250px !important; padding: 55px 20px !important; }
.page-template-page-obituaries .hero-banner::before { display: none; }
.page-template-page-obituaries .hero-title { font-size: clamp(2rem,3.3vw,3.5rem) !important; font-style: normal; font-weight: 500; text-shadow: none; color: #f8edcf; }
.page-template-page-obituaries .hero-subtitle { letter-spacing: .02em; text-transform: none; color: #e1cd9f; }
.page-template-page-obituaries .site-main > .card:first-child { background: #e9dfca; padding: 24px !important; }
.page-template-page-obituaries .site-main > div[style*="flex-wrap:wrap"] a { border-radius: 1px !important; }
.empty-ornament { color: var(--brass); font: 2rem var(--font-heading); margin-bottom: 12px; }

/* Individual life: a framed portrait displayed on warm paper, not a dark poster. */
.single-obituary .content-layout { grid-template-columns: minmax(0,1fr) 260px; align-items: start; }
.single-obituary .obituary-single { max-width: none !important; background: #f9f2e6 !important; border: 1px solid #d3c2a2 !important; border-radius: 1px !important; padding: clamp(12px,2vw,24px) !important; box-shadow: 0 18px 45px rgba(52,55,38,.08) !important; }
.single-obituary .obituary-hero { background: #e9dfca !important; background-image: none !important; border: 1px solid #d1bc96 !important; padding: clamp(24px,4vw,44px) !important; margin: 0 0 20px !important; border-radius: 1px !important; flex-direction: column !important; gap: 18px; }
.single-obituary .obituary-hero::before { content: "நினைவில் என்றும்  /  IN LOVING MEMORY" !important; color: #6e633f !important; font: 700 .73rem var(--font-body) !important; letter-spacing: .13em !important; text-shadow: none !important; margin: 0 0 12px !important; }
.single-obituary .obituary-hero::after { background: #c5b18d !important; }
.single-obituary .obituary-hero-framed-stage { max-width: 420px; margin: 0 auto; }
.single-obituary .obituary-hero .tribute-actions { max-width: 320px; width: 100%; gap: 10px !important; }
.single-obituary .obituary-hero .tribute-actions button { border: 1px solid var(--evergreen) !important; background: var(--evergreen) !important; color: #f7e9c9 !important; box-shadow: none !important; border-radius: 1px !important; padding: 12px 16px !important; font-size: .87rem !important; }
.single-obituary .obituary-hero .tribute-actions button:hover { background: #44614d !important; transform: translateY(-2px); }
.single-obituary .obituary-single .card { background: #fff9ed !important; border: 1px solid #e1d3b9 !important; border-radius: 1px !important; margin: 14px 0 !important; padding: clamp(20px,3vw,34px) !important; }
.single-obituary .obituary-body { color: var(--ink) !important; font-size: 1.03rem !important; line-height: 2 !important; overflow-wrap: anywhere; }
.single-obituary .section-heading { color: var(--evergreen) !important; font-family: var(--font-heading) !important; }
.single-obituary .poster-schedule,.single-obituary .candles-section { background: #f4ead8 !important; border: 1px solid #d7c5a5 !important; border-radius: 1px !important; padding: 24px; }
.single-obituary .poster-schedule-card { border-color: #d8c9ad; background: #fff8e9; border-radius: 1px; box-shadow: none; }
.single-obituary .event-direction-link,.single-obituary .event-location-title { color: var(--evergreen); }
.single-obituary .visitor-connect-card { background: var(--evergreen) !important; border: 1px solid #bba474 !important; border-radius: 1px !important; box-shadow: none !important; }
.single-obituary .visitor-connect-card h3 { color: #f9eccc !important; }
.single-obituary .visitor-connect-card p { color: #e2dfce !important; }
.single-obituary .visitor-connect-card .btn-connect-action { background: #ddc388 !important; color: var(--evergreen) !important; border-radius: 1px !important; box-shadow: none !important; }
.single-obituary .obituary-nandri-navil-section { background: #f3e6cc !important; border-color: #c4aa77 !important; box-shadow: none !important; border-radius: 1px !important; }
.single-obituary .condolence-avatar { background: var(--evergreen); }
.single-obituary .sidebar .widget-submit { background: var(--evergreen) !important; }
.single-obituary .sidebar .card { background: #f9f2e6; border: 1px solid var(--rule); box-shadow: none; }
.single-obituary .sidebar .card h3,.single-obituary .sidebar .card a { color: var(--evergreen); font-family: var(--font-heading); }
.single-obituary .obituary-hero-photo,.obituary-card-photo,.obituary-list-photo,.card-photo,.upload-preview img { object-fit: contain !important; }

/* Last page of the keepsake. */
.site-footer { background: #203a32; border-top: 1px solid #b49a62; padding: 54px 0 30px; color: #d4cfb8; }
.footer-inner { max-width: 1370px; padding: 0 clamp(20px,4vw,58px); gap: 24px; }
.footer-nav { flex-wrap: wrap; gap: 10px 20px; }
.footer-nav a { color: #ddd5bd; font-size: .8rem; }
.footer-copy { width: 100%; border-top: 1px solid #536757; padding-top: 19px; color: #c4c9b5; }
.footer-logo .brand-mark { width: 48px; height: 48px; }

@media (max-width: 1100px) {
    .header-inner { flex-wrap: wrap; }
    .main-nav { flex: 1; }
    .main-nav a { padding: 7px 8px; font-size: .76rem; }
    .content-layout { grid-template-columns: minmax(0,1fr) 250px; gap: 28px; }
    .home-category-posts-grid,.obituaries-list-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 1320px) {
    .header-inner { min-height: 75px; flex-wrap: nowrap; }
    .mobile-menu-toggle { display: inline-flex !important; margin-left: auto; cursor: pointer; }
    .main-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; background: #203a32; border-top: 1px solid #66745f; padding: 16px 22px 24px; max-height: calc(100dvh - 75px); overflow-y: auto; flex-direction: column; align-items: stretch; gap: 0; box-shadow: 0 14px 22px rgba(23,45,34,.25); }
    .main-nav.open { display: flex; }
    .main-nav a { display: block; width: 100%; padding: 12px 8px; font-size: .94rem; border-bottom: 1px solid #4d6656; }
    .main-nav .btn-nav-select { margin-top: 12px; text-align: center; }
}
@media (max-width: 992px) {
    .hero-banner-carousel { height: 590px !important; }
    .carousel-slide:first-child::before { right: -20%; top: 23%; width: 75%; opacity: .26; }
    .carousel-slide .hero-content-wrap { width: 90%; margin-left: 8%; padding: 60px 0 70px; }
    .content-layout,.single-obituary .content-layout { display: block; }
    .sidebar { margin-top: 50px; }
    .home-categories-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    .single-obituary .obituary-hero { flex-direction: column; }
}
@media (max-width: 560px) {
    .header-inner { padding: 9px 17px; }
    .site-logo .brand-mark { width: 45px; height: 45px; }
    .site-logo .brand-wordmark { width: 145px; max-height: 43px; }
    .hero-banner-carousel { height: 635px !important; }
    .carousel-slide:first-child::before { width: 95%; height: 60%; right: -36%; top: 36%; opacity: .2; }
    .carousel-slide:first-child::after { inset: 15px; }
    .carousel-slide .hero-content-wrap { width: 88%; margin-left: 8%; padding: 55px 0 65px; }
    .carousel-slide:first-child .hero-title { font-size: clamp(2.1rem,8vw,3rem); line-height: 1.48; }
    .hero-eyebrow { font-size: .58rem; line-height: 1.6; }
    .hero-actions { align-items: flex-start; flex-direction: column; gap: 12px; }
    .home-categories-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    .home-category-card { min-height: 145px; padding: 16px 9px !important; }
    .home-category-card strong { font-size: .83rem !important; }
    .home-category-card > span { font-size: .58rem !important; }
    .home-category-posts-grid,.obituaries-list-grid { grid-template-columns: 1fr !important; }
    .home-post-frame-item .im-frame-card,.obituary-list-frame-item .im-frame-card { max-width: 370px; }
    .home-category-header { flex-direction: column; align-items: flex-start !important; gap: 14px; }
    .home-category-actions { flex-wrap: wrap; }
    .single-obituary .obituary-hero::before { font-size: .62rem !important; line-height: 1.6 !important; }
    .single-obituary .obituary-hero .tribute-actions { flex-direction: column; }
    .single-obituary .obituary-hero .tribute-actions button { width: 100%; }
    .form-row { display: block !important; }
    .footer-inner { display: flex; flex-direction: column; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
    *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* ==========================================================================
   AUTHENTIC MEMORIAL PLAQUE ARCHITECTURE (MAAVEERAR, MARANA, NINAIVU, NANDRI)
   Pixel-perfect alignment with commemorative plaques and posters
   ========================================================================== */

/* Outer Plaque Card Board */
.memorial-frame-card,
.im-frame-card.plaque-style-maaveerar,
.im-frame-card.plaque-style-marana,
.im-frame-card.plaque-style-ninaivu,
.im-frame-card.plaque-style-nandri,
.im-frame-card.plaque-style-hindu,
.im-frame-card.plaque-style-christian,
.im-frame-card.plaque-style-ninaivu_hindu,
.im-frame-card.plaque-style-ninaivu_christian,
.im-plaque-board {
    position: relative !important;
    width: 100% !important;
    max-width: 410px !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    border-radius: 16px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.memorial-frame-card:hover,
.im-plaque-board:hover {
    transform: translateY(-5px) !important;
}

.memorial-frame-card.context-hero,
.im-plaque-board.context-hero {
    max-width: 460px !important;
}

.memorial-frame-card.context-hero:hover,
.im-plaque-board.context-hero:hover {
    transform: none !important;
}

/* Inner Plaque Surface */
.plaque-card-inner,
.im-plaque-surface {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    padding: 24px 16px 20px !important;
    border-radius: 16px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

/* 1. Maaveerar Plaque Theme (Exact Tamil Eelam Memorial Poster: Solid Pure Black, 18px Rounded Border) */
.plaque-style-maaveerar .plaque-card-inner,
.plaque-theme-maaveerar .plaque-card-inner,
.plaque-theme-maaveerar.im-plaque-surface {
    background: #000000 !important;
    border: 1.5px solid rgba(255, 255, 255, 0.22) !important;
    border-radius: 18px !important;
    box-shadow: 
        0 18px 45px rgba(0, 0, 0, 0.98),
        0 4px 14px rgba(0, 0, 0, 0.85) !important;
}

/* Hide distracting action button on Maaveerar card to match reference poster */
.plaque-style-maaveerar .plaque-action-bar,
.plaque-theme-maaveerar .plaque-action-bar {
    display: none !important;
}

.plaque-style-maaveerar .im-frame-click-overlay,
.plaque-theme-maaveerar .im-frame-click-overlay {
    z-index: 15 !important;
    cursor: pointer !important;
}

/* 2. Marana Arivithal Plaque Theme (Deep Black-Emerald, 24k Gold Rim, 18px Rounded) */
.plaque-style-marana .plaque-card-inner,
.plaque-theme-marana .plaque-card-inner,
.plaque-theme-marana.im-plaque-surface {
    background: radial-gradient(circle at 50% 32%, #0a1711 0%, #040806 70%, #010202 100%) !important;
    border: 2px solid #b89345 !important;
    border-radius: 18px !important;
    box-shadow: 
        0 0 0 1px rgba(216, 186, 119, 0.25),
        0 18px 45px rgba(0, 0, 0, 0.98), 
        0 4px 12px rgba(0, 0, 0, 0.8), 
        inset 0 0 30px rgba(184, 147, 69, 0.1) !important;
}

/* 3. Kanneer Anjali Plaque Theme (Midnight Sapphire-Onyx, Platinum Silver Fillet, 18px Rounded) */
.plaque-style-kanneer .plaque-card-inner,
.plaque-theme-kanneer .plaque-card-inner,
.plaque-theme-kanneer.im-plaque-surface {
    background: radial-gradient(circle at 50% 32%, #0a111c 0%, #04070d 70%, #010204 100%) !important;
    border: 2px solid #94a3b8 !important;
    border-radius: 18px !important;
    box-shadow: 
        0 0 0 1px rgba(203, 213, 225, 0.25),
        0 18px 45px rgba(0, 0, 0, 0.98), 
        0 4px 12px rgba(0, 0, 0, 0.8), 
        inset 0 0 30px rgba(148, 163, 184, 0.12) !important;
}

/* 4. Ninaivu Naal Plaque Theme (Deep Bronze-Amber Obsidian, 18px Rounded) */
.plaque-style-ninaivu .plaque-card-inner,
.plaque-theme-ninaivu .plaque-card-inner,
.plaque-theme-ninaivu.im-plaque-surface {
    background: radial-gradient(circle at 50% 32%, #1a1207 0%, #070502 70%, #010101 100%) !important;
    border: 2px solid #d97706 !important;
    border-radius: 18px !important;
    box-shadow: 
        0 0 0 1px rgba(251, 191, 36, 0.3),
        0 18px 45px rgba(0, 0, 0, 0.98), 
        0 4px 12px rgba(0, 0, 0, 0.8), 
        inset 0 0 30px rgba(217, 119, 6, 0.12) !important;
}

/* 5. Nandri Navil Plaque Theme (Imperial Teak & Warm Gold, 18px Rounded) */
.plaque-style-nandri .plaque-card-inner,
.plaque-theme-nandri .plaque-card-inner,
.plaque-theme-nandri.im-plaque-surface {
    background: radial-gradient(circle at 50% 32%, #1a160a 0%, #070603 70%, #010101 100%) !important;
    border: 2px solid #c5a059 !important;
    border-radius: 18px !important;
    box-shadow: 
        0 0 0 1px rgba(245, 158, 11, 0.25),
        0 18px 45px rgba(0, 0, 0, 0.98), 
        0 4px 12px rgba(0, 0, 0, 0.8), 
        inset 0 0 30px rgba(197, 160, 89, 0.12) !important;
}

/* 6. Sacred Hindu Memorial Plaque Theme (Deep Sacred Bronze-Ebony Obsidian & Temple Gold, 18px Rounded) */
.plaque-style-hindu .plaque-card-inner,
.plaque-theme-hindu .plaque-card-inner,
.plaque-theme-hindu.im-plaque-surface,
.plaque-style-ninaivu_hindu .plaque-card-inner,
.plaque-theme-ninaivu_hindu .plaque-card-inner,
.plaque-theme-ninaivu_hindu.im-plaque-surface {
    background: radial-gradient(circle at 50% 32%, #140d05 0%, #090501 70%, #020100 100%) !important;
    border: 2px solid #d4af37 !important;
    border-radius: 18px !important;
    box-shadow: 
        0 0 0 1px rgba(212, 175, 55, 0.3),
        0 18px 45px rgba(0, 0, 0, 0.98), 
        0 4px 12px rgba(0, 0, 0, 0.8), 
        inset 0 0 30px rgba(212, 175, 55, 0.12) !important;
}

/* 7. Sacred Christian Memorial Plaque Theme (Deep Celestial Midnight-Navy & Majestic Gold, 18px Rounded) */
.plaque-style-christian .plaque-card-inner,
.plaque-theme-christian .plaque-card-inner,
.plaque-theme-christian.im-plaque-surface,
.plaque-style-ninaivu_christian .plaque-card-inner,
.plaque-theme-ninaivu_christian .plaque-card-inner,
.plaque-theme-ninaivu_christian.im-plaque-surface {
    background: radial-gradient(circle at 50% 32%, #0a1424 0%, #050b14 70%, #010206 100%) !important;
    border: 2px solid #c9a84c !important;
    border-radius: 18px !important;
    box-shadow: 
        0 0 0 1px rgba(201, 168, 76, 0.3),
        0 18px 45px rgba(0, 0, 0, 0.98), 
        0 4px 12px rgba(0, 0, 0, 0.8), 
        inset 0 0 30px rgba(201, 168, 76, 0.12) !important;
}

/* Plaque Top Header - Fixed Uniform Height for Absolute Horizontal Frame Alignment */
.plaque-top-header {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 66px !important;
    min-height: 66px !important;
    max-height: 66px !important;
    gap: 10px !important;
    padding: 0 8px !important;
    margin: 0 0 16px !important;
    text-align: center !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

.context-hero .plaque-top-header {
    height: 74px !important;
    min-height: 74px !important;
    max-height: 74px !important;
    margin: 0 0 18px !important;
}

.plaque-header-icon {
    font-size: 1.35rem !important;
    filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.7)) !important;
    user-select: none !important;
    display: inline-block !important;
    flex-shrink: 0 !important;
}

/* Sacred Karthigaipoo (Flame Lily) Header Emblems */
.header-flame-flower {
    width: 32px !important;
    height: 32px !important;
    object-fit: contain !important;
    filter: drop-shadow(0 0 8px rgba(255, 120, 0, 0.9)) !important;
    user-select: none !important;
    pointer-events: none !important;
    display: inline-block !important;
    flex-shrink: 0 !important;
}

.header-flame-flower.flower-left {
    transform: scaleX(-1);
}

.plaque-header-title {
    margin: 0 !important;
    padding: 0 4px !important;
    font-family: var(--font-heading), 'Noto Serif Tamil', Georgia, serif !important;
    line-height: 1.25 !important;
    overflow: visible !important;
    text-align: center !important;
}

.plaque-header-title.text-maaveerar {
    font-size: clamp(1.5rem, 2.4vw, 1.95rem) !important;
    font-weight: 800 !important;
    letter-spacing: 1.5px !important;
    background: linear-gradient(180deg, #fff7a1 0%, #ffc000 35%, #ff8c00 70%, #d4380d 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    filter: drop-shadow(0 3px 12px rgba(255, 140, 0, 0.85)) drop-shadow(0 1px 2px #000) !important;
}

.plaque-header-title.text-kanneer {
    font-size: clamp(1.2rem, 1.8vw, 1.55rem) !important;
    font-weight: 800 !important;
    letter-spacing: 0.6px !important;
    background: linear-gradient(180deg, #ffffff 0%, #e2e8f0 35%, #94a3b8 75%, #64748b 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    filter: drop-shadow(0 3px 10px rgba(148, 163, 184, 0.55)) !important;
}

.plaque-header-title.text-marana {
    font-size: clamp(1.2rem, 1.8vw, 1.55rem) !important;
    font-weight: 800 !important;
    letter-spacing: 0.6px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f4ebdc 35%, #d8ba77 75%, #a0793e 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    filter: drop-shadow(0 3px 10px rgba(216, 186, 119, 0.5)) !important;
}

.plaque-header-title.text-ninaivu {
    font-size: clamp(1.15rem, 1.7vw, 1.45rem) !important;
    font-weight: 800 !important;
    letter-spacing: 0.6px !important;
    background: linear-gradient(180deg, #fff380 0%, #ffc000 40%, #e0a743 75%, #a66a1a 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    filter: drop-shadow(0 3px 10px rgba(224, 167, 67, 0.55)) !important;
}

.plaque-header-title.text-nandri {
    font-size: clamp(1.2rem, 1.8vw, 1.55rem) !important;
    font-weight: 800 !important;
    letter-spacing: 0.6px !important;
    background: linear-gradient(180deg, #fff5d6 0%, #f2cf7e 40%, #d49f37 75%, #946914 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    filter: drop-shadow(0 3px 10px rgba(212, 159, 55, 0.5)) !important;
}

.plaque-header-title.text-hindu,
.plaque-header-title.text-christian,
.plaque-header-title.text-ninaivu_hindu,
.plaque-header-title.text-ninaivu_christian {
    font-size: clamp(1.2rem, 1.8vw, 1.55rem) !important;
    font-weight: 800 !important;
    letter-spacing: 0.6px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f4ebdc 35%, #d8ba77 75%, #a0793e 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    filter: drop-shadow(0 3px 10px rgba(216, 186, 119, 0.5)) !important;
}

/* Central Photo Frame Stage with Flanking Emblems */
.plaque-frame-container {
    position: relative !important;
    width: 100% !important;
    max-width: 310px !important;
    margin: 0 auto 18px !important;
    display: block !important;
}

.plaque-frame-container.frame-hindu,
.plaque-frame-container.frame-christian,
.plaque-frame-container.frame-maaveerar {
    max-width: 335px !important;
}

.context-hero .plaque-frame-container,
.context-hero .plaque-frame-container.frame-hindu,
.context-hero .plaque-frame-container.frame-christian,
.context-hero .plaque-frame-container.frame-maaveerar {
    max-width: 390px !important;
}

/* Sacred Golden Altar Shrine Frame for Maaveerar */
.frame-wood-maaveerar {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 870 / 1024 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.frame-wood-maaveerar::before {
    display: none !important;
}

.frame-wood-maaveerar .plaque-photo-aperture {
    position: absolute !important;
    top: 28.8% !important;
    left: 26.5% !important;
    width: 46.8% !important;
    height: 40.3% !important;
    border-radius: 50% !important;
    background: #0d140e !important;
    overflow: hidden !important;
    z-index: 1 !important;
    box-shadow: inset 0 0 16px rgba(0, 0, 0, 0.95) !important;
}

.frame-wood-maaveerar .plaque-photo-aperture img.plaque-photo {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 20% !important;
    border-radius: 50% !important;
}

.frame-wood-maaveerar .plaque-photo-aperture .plaque-placeholder {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px !important;
    text-align: center !important;
    background: radial-gradient(circle, #1a2920 0%, #0d140e 100%) !important;
}

.frame-wood-maaveerar .plaque-photo-aperture .plaque-placeholder img.placeholder-karthigaipoo {
    width: 48px !important;
    height: 48px !important;
    margin-bottom: 6px !important;
    filter: drop-shadow(0 2px 6px rgba(255, 180, 0, 0.6)) !important;
}

.frame-wood-maaveerar .plaque-photo-aperture .plaque-ph-text {
    font-size: 0.72rem !important;
    color: #ffd875 !important;
    line-height: 1.2 !important;
}

.maaveerar-wood-frame-overlay,
.frame-overlay-maaveerar {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: fill !important;
    pointer-events: none !important;
    user-select: none !important;
    z-index: 3 !important;
    filter: drop-shadow(0 8px 24px rgba(0, 0, 0, 0.9)) !important;
}

.memorial-frame-card.plaque-style-maaveerar .plaque-flank-emblem,
.memorial-frame-card.is-maaveerar .plaque-flank-emblem,
.plaque-frame-container.frame-maaveerar .plaque-flank-emblem {
    display: none !important;
}

/* Sacred Hindu Traditional Temple & Floral Garland Frame */
.frame-wood-hindu {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 682 / 1024 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.frame-wood-hindu::before {
    display: none !important;
}

.frame-wood-hindu .plaque-photo-aperture {
    position: absolute !important;
    top: 15% !important;
    bottom: 33% !important;
    left: 18% !important;
    right: 18% !important;
    width: auto !important;
    height: auto !important;
    aspect-ratio: auto !important;
    border-radius: 0 !important;
    background: transparent !important;
    overflow: hidden !important;
    z-index: 1 !important;
    box-shadow: none !important;
}

.frame-wood-hindu .plaque-photo-aperture img.plaque-photo {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 20% !important;
    border-radius: 0 !important;
    transform: none !important;
}

.frame-wood-hindu .plaque-photo-aperture .plaque-placeholder {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px !important;
    text-align: center !important;
    background: radial-gradient(circle, #2d1804 0%, #150a00 100%) !important;
}

/* Sacred Christian Traditional Holy Cross, Doves & Lilies Frame */
.frame-wood-christian {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 682 / 1024 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.frame-wood-christian::before {
    display: none !important;
}

.frame-wood-christian .plaque-photo-aperture {
    position: absolute !important;
    top: 17% !important;
    bottom: 27% !important;
    left: 18% !important;
    right: 18% !important;
    width: auto !important;
    height: auto !important;
    aspect-ratio: auto !important;
    border-radius: 0 !important;
    background: transparent !important;
    overflow: hidden !important;
    z-index: 1 !important;
    box-shadow: none !important;
}

.frame-wood-christian .plaque-photo-aperture img.plaque-photo {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 18% !important;
    border-radius: 0 !important;
    transform: none !important;
}

.frame-wood-christian .plaque-photo-aperture .plaque-placeholder {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px !important;
    text-align: center !important;
    background: radial-gradient(circle, #1e293b 0%, #090d16 100%) !important;
}

/* Sacred Hindu Ninaivu Naal Shrine Frame (Lotus Crown, Hibiscus & Hanging Lamps) */
.frame-wood-ninaivu_hindu,
.frame-wood-ninaivu {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 682 / 1024 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.frame-wood-ninaivu_hindu::before,
.frame-wood-ninaivu::before {
    display: none !important;
}

.frame-wood-ninaivu_hindu .plaque-photo-aperture,
.frame-wood-ninaivu .plaque-photo-aperture {
    position: absolute !important;
    top: 15% !important;
    bottom: 31% !important;
    left: 14% !important;
    right: 14% !important;
    width: auto !important;
    height: auto !important;
    aspect-ratio: auto !important;
    border-radius: 0 !important;
    background: transparent !important;
    overflow: hidden !important;
    z-index: 1 !important;
    box-shadow: none !important;
}

.frame-wood-ninaivu_hindu .plaque-photo-aperture img.plaque-photo,
.frame-wood-ninaivu .plaque-photo-aperture img.plaque-photo {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 20% !important;
    border-radius: 0 !important;
    transform: none !important;
}

.frame-wood-ninaivu_hindu .plaque-photo-aperture .plaque-placeholder,
.frame-wood-ninaivu .plaque-photo-aperture .plaque-placeholder {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px !important;
    text-align: center !important;
    background: radial-gradient(circle, #2d1804 0%, #150a00 100%) !important;
}

/* Sacred Christian Ninaivu Naal Shrine Frame (Holy Cross, Lilies & Lantern Candles) */
.frame-wood-ninaivu_christian {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 682 / 1024 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.frame-wood-ninaivu_christian::before {
    display: none !important;
}

.frame-wood-ninaivu_christian .plaque-photo-aperture {
    position: absolute !important;
    top: 18% !important;
    bottom: 27% !important;
    left: 13% !important;
    right: 13% !important;
    width: auto !important;
    height: auto !important;
    aspect-ratio: auto !important;
    border-radius: 0 !important;
    background: transparent !important;
    overflow: hidden !important;
    z-index: 1 !important;
    box-shadow: none !important;
}

.frame-wood-ninaivu_christian .plaque-photo-aperture img.plaque-photo {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 20% !important;
    border-radius: 0 !important;
    transform: none !important;
}

.frame-wood-ninaivu_christian .plaque-photo-aperture .plaque-placeholder {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px !important;
    text-align: center !important;
    background: radial-gradient(circle, #1e293b 0%, #090d16 100%) !important;
}

.frame-overlay-hindu,
.frame-overlay-christian,
.frame-overlay-ninaivu_hindu,
.frame-overlay-ninaivu_christian,
.frame-overlay-ninaivu {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: fill !important;
    pointer-events: none !important;
    user-select: none !important;
    z-index: 3 !important;
    filter: drop-shadow(0 4px 14px rgba(0, 0, 0, 0.5)) !important;
}

.memorial-frame-card.plaque-style-hindu .plaque-flank-medallion,
.memorial-frame-card.plaque-style-christian .plaque-flank-medallion,
.memorial-frame-card.plaque-style-ninaivu_hindu .plaque-flank-medallion,
.memorial-frame-card.plaque-style-ninaivu_christian .plaque-flank-medallion,
.memorial-frame-card.plaque-style-ninaivu .plaque-flank-medallion,
.memorial-frame-card.plaque-style-hindu .plaque-flank-emblem,
.memorial-frame-card.plaque-style-christian .plaque-flank-emblem,
.memorial-frame-card.plaque-style-ninaivu_hindu .plaque-flank-emblem,
.memorial-frame-card.plaque-style-ninaivu_christian .plaque-flank-emblem,
.memorial-frame-card.plaque-style-ninaivu .plaque-flank-emblem {
    display: none !important;
}

/* Woodgrain Handcrafted Frame Base (Unified for All Categories) */
.plaque-wood-frame {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 442 / 540 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: #000000 !important;
    border: none !important;
    border-radius: 2px !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.98), 0 4px 10px rgba(0, 0, 0, 0.85) !important;
    overflow: visible !important;
}

.plaque-wood-frame::before {
    display: none !important;
}

.plaque-wood-frame .plaque-photo-aperture {
    position: absolute !important;
    top: 8% !important;
    bottom: 8% !important;
    left: 9.8% !important;
    right: 9.8% !important;
    width: auto !important;
    height: auto !important;
    aspect-ratio: auto !important;
    background: #000000 !important;
    overflow: hidden !important;
    z-index: 1 !important;
    box-shadow: inset 0 0 14px rgba(0, 0, 0, 0.98) !important;
}

/* Aperture & Photo */
.plaque-photo-aperture {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 4 / 5 !important;
    background: #000000 !important;
    overflow: hidden !important;
    box-shadow: inset 0 0 18px rgba(0, 0, 0, 0.98) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 1 !important;
}

.plaque-photo {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
    display: block !important;
    border-radius: 0 !important;
    transform: none !important;
}

/* Sacred Karthigaipoo Maaveerar Placeholder */
.placeholder-maaveerar-art {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    background: radial-gradient(circle at 50% 45%, #2a1104 0%, #0d0502 65%, #000000 100%) !important;
    padding: 12px !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

.placeholder-karthigaipoo {
    width: 68px !important;
    height: 68px !important;
    object-fit: contain !important;
    filter: drop-shadow(0 0 14px rgba(255, 140, 0, 0.9)) !important;
    animation: karthigaiGlow 3s ease-in-out infinite alternate !important;
}

@keyframes karthigaiGlow {
    0% { filter: drop-shadow(0 0 10px rgba(255, 100, 0, 0.7)); transform: scale(0.98); }
    100% { filter: drop-shadow(0 0 18px rgba(255, 180, 0, 0.95)); transform: scale(1.02); }
}

.placeholder-maaveerar-art .plaque-ph-text {
    font-size: 0.8rem !important;
    color: #ffc425 !important;
    margin-top: 8px !important;
    font-family: var(--font-heading), 'Noto Serif Tamil', Georgia, serif !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.9) !important;
}

/* Dignified Placeholder Silhouette for other styles */
.plaque-placeholder {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    background: radial-gradient(circle at 50% 40%, #1e1710 0%, #060403 100%) !important;
    color: #d4af37 !important;
    padding: 14px !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

.plaque-silhouette-icon {
    width: 62px !important;
    height: 72px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.silhouette-svg {
    width: 100% !important;
    height: 100% !important;
    color: #b89345 !important;
    filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.85)) !important;
}

.plaque-ph-text {
    font-size: 0.78rem !important;
    color: #bba06a !important;
    margin-top: 6px !important;
    font-family: 'Noto Serif Tamil', Georgia, serif !important;
    font-weight: 600 !important;
    letter-spacing: 0.3px !important;
}

/* Flanking Memorial Emblems for Maaveerar (Absolute Left & Right of Frame) */
.plaque-flank-emblem {
    position: absolute !important;
    bottom: -6px !important;
    width: 82px !important;
    height: auto !important;
    z-index: 10 !important;
    filter: drop-shadow(0 4px 16px rgba(255, 120, 0, 0.85)) drop-shadow(0 2px 6px rgba(0, 0, 0, 0.95)) !important;
    pointer-events: none !important;
    user-select: none !important;
    display: block !important;
}

.plaque-flank-emblem.emblem-left {
    left: -22px !important;
    right: auto !important;
}

.plaque-flank-emblem.emblem-right {
    right: -22px !important;
    left: auto !important;
}

.context-hero .plaque-flank-emblem {
    width: 98px !important;
    bottom: -8px !important;
}

.context-hero .plaque-flank-emblem.emblem-left {
    left: -28px !important;
}

.context-hero .plaque-flank-emblem.emblem-right {
    right: -28px !important;
}

/* Authentic Culturally-Distinct Picture Frame Moulding Overlay (All Categories) */
.plaque-wood-frame-overlay,
.maaveerar-wood-frame-overlay {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: fill !important;
    pointer-events: none !important;
    user-select: none !important;
    z-index: 3 !important;
    filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.9)) !important;
}

/* Photorealistic Museum-Grade Cameo Medallions (No Cartoons/Emojis) */
.plaque-flank-medallion {
    position: absolute !important;
    bottom: -10px !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    z-index: 10 !important;
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.9)) !important;
    pointer-events: none !important;
    user-select: none !important;
    display: block !important;
    transition: transform 0.3s ease, filter 0.3s ease !important;
}

.plaque-flank-medallion.medallion-left {
    left: -12px !important;
    right: auto !important;
}

.plaque-flank-medallion.medallion-right {
    right: -12px !important;
    left: auto !important;
}

.context-hero .plaque-flank-medallion {
    width: 54px !important;
    height: 54px !important;
    bottom: -12px !important;
}

.context-hero .plaque-flank-medallion.medallion-left {
    left: -16px !important;
}

.context-hero .plaque-flank-medallion.medallion-right {
    right: -16px !important;
}

.memorial-frame-card:hover .plaque-flank-medallion {
    transform: scale(1.08) !important;
    filter: drop-shadow(0 6px 16px rgba(255, 215, 0, 0.65)) drop-shadow(0 2px 6px rgba(0, 0, 0, 0.95)) !important;
}

.btn-action-kanneer {
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%) !important;
    color: #f1f5f9 !important;
    border: 1px solid #94a3b8 !important;
}

.btn-action-kanneer:hover {
    background: linear-gradient(135deg, #334155 0%, #1e293b 100%) !important;
    box-shadow: 0 6px 18px rgba(148, 163, 184, 0.4) !important;
    transform: translateY(-2px) !important;
}

/* Mannil & Vinnil Lifespan Row (Pill Badges on Dark Plaque) */
.marana-lifespan-row {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 8px 0 6px !important;
    flex-wrap: wrap !important;
}

.lifespan-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 4px 12px !important;
    border-radius: 999px !important;
    font-size: 0.8rem !important;
    line-height: 1.25 !important;
}

.badge-mannil {
    background: rgba(16, 185, 129, 0.16) !important;
    color: #6ee7b7 !important;
    border: 1px solid rgba(16, 185, 129, 0.45) !important;
}

.badge-vinnil {
    background: rgba(239, 68, 68, 0.16) !important;
    color: #fca5a5 !important;
    border: 1px solid rgba(239, 68, 68, 0.45) !important;
}

.lifespan-label {
    font-weight: 800 !important;
    opacity: 0.9 !important;
    font-size: 0.76rem !important;
}

.lifespan-val {
    font-weight: 700 !important;
}

/* Structured Details Table (3-Column Aligned Grid) */
.plaque-details-table {
    display: grid !important;
    grid-template-columns: 105px 16px 1fr !important;
    column-gap: 6px !important;
    row-gap: 9px !important;
    align-items: baseline !important;
    margin-top: 14px !important;
    padding: 14px 16px !important;
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 215, 0, 0.16) !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
}

.table-maaveerar {
    border: none !important;
    background: transparent !important;
    padding: 8px 12px 4px !important;
    box-shadow: none !important;
}

.table-maaveerar .plaque-detail-label {
    color: #ffc425 !important;
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    letter-spacing: 0.3px !important;
}

.table-maaveerar .plaque-detail-sep {
    color: #ffd700 !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
}

.table-maaveerar .plaque-detail-val {
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 0.98rem !important;
    line-height: 1.5 !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
}

.table-marana {
    border-color: rgba(216, 186, 119, 0.3) !important;
    background: rgba(216, 186, 119, 0.04) !important;
}

.table-ninaivu {
    border-color: rgba(224, 167, 67, 0.3) !important;
    background: rgba(224, 167, 67, 0.04) !important;
}

.table-nandri {
    border-color: rgba(216, 186, 119, 0.3) !important;
    background: rgba(216, 186, 119, 0.04) !important;
}

.table-hindu,
.table-ninaivu_hindu {
    border-color: rgba(212, 175, 55, 0.3) !important;
    background: rgba(212, 175, 55, 0.04) !important;
}

.table-christian,
.table-ninaivu_christian {
    border-color: rgba(201, 168, 76, 0.3) !important;
    background: rgba(201, 168, 76, 0.04) !important;
}

.plaque-detail-row {
    display: contents !important;
}

.plaque-detail-label {
    color: #e5c07b !important;
    font-weight: 700 !important;
    font-size: 0.92rem !important;
    font-family: var(--font-heading), 'Noto Serif Tamil', Georgia, serif !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    line-height: 1.4 !important;
}

.plaque-detail-sep {
    color: #ffd700 !important;
    font-weight: 700 !important;
    text-align: center !important;
    line-height: 1.4 !important;
    user-select: none !important;
}

.plaque-detail-val {
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    line-height: 1.45 !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
}

/* Action Button Bar */
.plaque-action-bar {
    margin-top: 16px !important;
    display: flex !important;
    justify-content: center !important;
    position: relative !important;
    z-index: 4 !important;
}

.btn-plaque-action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 10px 24px !important;
    border-radius: 24px !important;
    font-size: 0.92rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: all 0.25s ease !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.5) !important;
}

.btn-action-maaveerar {
    background: linear-gradient(135deg, #b91c1c 0%, #991b1b 50%, #7f1d1d 100%) !important;
    color: #fff7a1 !important;
    border: 1px solid #f59e0b !important;
    box-shadow: 0 4px 14px rgba(185, 28, 28, 0.45) !important;
}

.btn-action-maaveerar:hover {
    background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%) !important;
    box-shadow: 0 6px 18px rgba(220, 38, 38, 0.6) !important;
    transform: translateY(-2px) !important;
}

.btn-action-marana {
    background: linear-gradient(135deg, #1e3a2f 0%, #142a22 100%) !important;
    color: #e2c079 !important;
    border: 1px solid #c5a059 !important;
}

.btn-action-marana:hover {
    background: linear-gradient(135deg, #284c3e 0%, #1e3a2f 100%) !important;
    box-shadow: 0 6px 18px rgba(197, 160, 89, 0.3) !important;
    transform: translateY(-2px) !important;
}

.btn-action-ninaivu {
    background: linear-gradient(135deg, #452a12 0%, #2e1b09 100%) !important;
    color: #ffc000 !important;
    border: 1px solid #d97706 !important;
}

.btn-action-ninaivu:hover {
    background: linear-gradient(135deg, #5c3818 0%, #452a12 100%) !important;
    box-shadow: 0 6px 18px rgba(217, 119, 6, 0.4) !important;
    transform: translateY(-2px) !important;
}

.btn-action-nandri {
    background: linear-gradient(135deg, #3d2f16 0%, #261d0c 100%) !important;
    color: #f7d486 !important;
    border: 1px solid #b89345 !important;
}

.btn-action-nandri:hover {
    background: linear-gradient(135deg, #523f1e 0%, #3d2f16 100%) !important;
    box-shadow: 0 6px 18px rgba(184, 147, 69, 0.4) !important;
    transform: translateY(-2px) !important;
}

/* Entire Card Click Overlay Link */
.im-frame-click-overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    border-radius: 12px !important;
}

/* Full Details Card on Single Obituary View */
.marana-full-details-card {
    background: linear-gradient(180deg, #fffdfa 0%, #faf6f0 100%);
    border: 2px solid #d4af37 !important;
    border-radius: 12px;
    padding: 32px 30px;
    margin-top: 28px;
    box-shadow: 0 10px 30px rgba(180, 140, 60, 0.12);
    position: relative;
    overflow: hidden;
}
.marana-full-details-card::before {
    content: "";
    position: absolute;
    top: 4px;
    left: 4px;
    right: 4px;
    bottom: 4px;
    border: 1px solid rgba(212, 175, 55, 0.35);
    border-radius: 8px;
    pointer-events: none;
}

/* Header & Title */
.marana-poster-header {
    text-align: center;
    margin-bottom: 24px;
    padding-bottom: 20px;
    border-bottom: 1.5px solid rgba(212, 175, 55, 0.4);
    position: relative;
}
.marana-poster-title {
    display: inline-block;
    font-family: var(--font-heading, "Mukta Malar", serif);
    font-size: 1.85rem;
    font-weight: 900;
    color: #fff;
    background: linear-gradient(135deg, #881337 0%, #9f1239 50%, #be123c 100%);
    padding: 8px 32px;
    border-radius: 30px;
    letter-spacing: 1.5px;
    margin: 0 0 14px;
    box-shadow: 0 4px 14px rgba(136, 19, 55, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.3);
    border: 1px solid #fda4af;
}
.marana-poster-name {
    font-family: var(--font-heading, "Mukta Malar", serif);
    font-size: 1.6rem;
    font-weight: 800;
    color: #1e293b;
    margin-bottom: 12px;
    line-height: 1.35;
}
.marana-origin-bar {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    font-size: 0.95rem;
    color: #475569;
    margin-top: 6px;
}
.origin-item strong {
    color: #881337;
    font-weight: 700;
}
.origin-sep {
    color: #d4af37;
    font-weight: 900;
}
.marana-addresses-bar {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    font-size: 0.9rem;
    color: #334155;
    background: rgba(254, 243, 199, 0.45);
    padding: 8px 16px;
    border-radius: 6px;
    margin-top: 10px;
    border: 1px dashed rgba(212, 175, 55, 0.5);
}
.addr-item strong {
    color: #78350f;
    font-weight: 700;
}

/* Relatives Section */
.marana-relatives-section {
    margin-bottom: 26px;
}
.marana-subheading {
    font-family: var(--font-heading, serif);
    font-size: 1.25rem;
    font-weight: 800;
    color: #1e3a8a;
    border-bottom: 2px solid #93c5fd;
    padding-bottom: 8px;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.marana-subheading::before {
    content: "👨‍👩‍👧‍👦";
    font-size: 1.2rem;
}
.marana-relatives-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.rel-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 9px 14px;
    background: #ffffff;
    border-radius: 6px;
    border-left: 4px solid #c9a84c;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.rel-tag {
    flex: 0 0 160px;
    font-weight: 800;
    font-size: 0.92rem;
    color: #1e293b;
    line-height: 1.4;
}
.rel-desc {
    flex: 1;
    font-size: 0.95rem;
    color: #334155;
    line-height: 1.6;
}

/* Funeral & Rites Callout Box */
.marana-funeral-callout-box {
    background: linear-gradient(135deg, #fefce8 0%, #fffbeb 100%);
    border: 2px solid #f59e0b;
    border-radius: 10px;
    padding: 20px 22px;
    margin-bottom: 22px;
    box-shadow: 0 4px 14px rgba(245, 158, 11, 0.12);
}
.funeral-box-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}
.funeral-box-icon {
    font-size: 1.4rem;
}
.funeral-box-title {
    font-family: var(--font-heading, serif);
    font-size: 1.15rem;
    font-weight: 800;
    color: #92400e;
}
.funeral-statement {
    font-size: 1.02rem;
    line-height: 1.75;
    color: #451a03;
    margin: 0 0 8px;
}
.funeral-statement strong {
    color: #78350f;
    text-decoration: underline;
    text-decoration-color: #f59e0b;
}
.funeral-note {
    font-size: 0.88rem;
    color: #b45309;
    font-style: italic;
    margin: 0;
    padding-top: 6px;
    border-top: 1px dashed rgba(245, 158, 11, 0.4);
}

/* Contacts & Informant Bar */
.marana-contacts-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    padding: 14px 18px;
    background: #f1f5f9;
    border-radius: 8px;
    font-size: 0.92rem;
    border: 1px solid #cbd5e1;
}
.contact-item strong {
    color: #0f172a;
    font-weight: 700;
}
.contact-numbers {
    color: #1e40af;
    font-weight: 700;
    letter-spacing: 0.5px;
}

@media (max-width: 640px) {
    .rel-item {
        flex-direction: column;
        gap: 4px;
    }
    .rel-tag {
        flex: auto;
    }
    .marana-poster-title {
        font-size: 1.4rem;
        padding: 6px 20px;
    }
    .marana-poster-name {
        font-size: 1.3rem;
    }
}

/* ============================================
   MAAVEERAR HEROIC MEMORIAL DOSSIER & SINGLE PAGE
   ============================================ */
.single-obituary .obituary-single-maaveerar {
    background: #06080d !important;
    border: 1.5px solid rgba(212, 175, 55, 0.4) !important;
    border-radius: 16px !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.9) !important;
    color: #f1f5f9 !important;
}

.single-obituary .obituary-single-maaveerar .obituary-hero {
    background: #000000 !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 14px !important;
}

.single-obituary .obituary-single-maaveerar .obituary-hero::before {
    content: "மாவீரர் வீரவணக்கம்  /  HEROIC MARTYR MEMORIAL ARCHIVE" !important;
    color: #ffd700 !important;
}

.single-obituary .obituary-single-maaveerar .obituary-hero::after {
    background: #b91c1c !important;
}

/* Heroic Dossier Container */
.maaveerar-heroic-dossier {
    background: linear-gradient(145deg, #0e121a 0%, #080b10 100%) !important;
    border: 2px solid rgba(212, 175, 55, 0.6) !important;
    border-radius: 16px !important;
    box-shadow: 
        0 14px 40px rgba(0, 0, 0, 0.7),
        inset 0 1px 0 rgba(255, 215, 0, 0.25) !important;
    padding: 32px 28px !important;
    margin-top: 28px !important;
    position: relative !important;
    overflow: hidden !important;
}

.maaveerar-heroic-dossier::before {
    content: "" !important;
    position: absolute !important;
    top: 4px !important;
    left: 4px !important;
    right: 4px !important;
    bottom: 4px !important;
    border: 1px solid rgba(212, 175, 55, 0.25) !important;
    border-radius: 12px !important;
    pointer-events: none !important;
}

.maaveerar-dossier-header {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    text-align: center !important;
    margin-bottom: 24px !important;
    padding-bottom: 18px !important;
    border-bottom: 1.5px solid rgba(212, 175, 55, 0.35) !important;
    position: relative !important;
    flex-wrap: wrap !important;
}

.dossier-crest-flower {
    width: 52px !important;
    height: 52px !important;
    object-fit: contain !important;
    filter: drop-shadow(0 0 12px rgba(255, 140, 0, 0.9)) !important;
    animation: karthigaiGlow 3s ease-in-out infinite alternate !important;
}

.dossier-title-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 6px !important;
}

.dossier-badge {
    display: inline-block !important;
    font-size: 0.74rem !important;
    font-weight: 800 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #ffd700 !important;
    background: rgba(255, 215, 0, 0.12) !important;
    padding: 4px 14px !important;
    border-radius: 20px !important;
    border: 1px solid rgba(255, 215, 0, 0.35) !important;
}

.maaveerar-details-title {
    font-family: var(--font-heading), 'Noto Serif Tamil', Georgia, serif !important;
    font-size: clamp(1.4rem, 2.4vw, 1.85rem) !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    margin: 0 !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.8) !important;
    letter-spacing: 0.5px !important;
}

/* Dossier Grid: 2 Columns on desktop, 1 on mobile */
.maaveerar-dossier-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px 16px !important;
    margin-bottom: 20px !important;
}

.dossier-card-item {
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 215, 0, 0.18) !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    transition: all 0.2s ease !important;
}

.dossier-card-item:hover {
    background: rgba(255, 255, 255, 0.07) !important;
    border-color: rgba(255, 215, 0, 0.4) !important;
}

.dossier-item-label {
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    color: #ffc425 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.dossier-item-val {
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    line-height: 1.45 !important;
    word-break: break-word !important;
}

/* Dedicated Field of Battle Card */
.dossier-battle-card {
    background: rgba(0, 0, 0, 0.45) !important;
    border: 1.5px solid rgba(245, 158, 11, 0.45) !important;
    border-radius: 10px !important;
    padding: 20px 22px !important;
    margin-top: 14px !important;
}

.battle-card-header {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 12px !important;
    padding-bottom: 8px !important;
    border-bottom: 1px solid rgba(245, 158, 11, 0.25) !important;
}

.battle-card-icon {
    font-size: 1.35rem !important;
}

.battle-card-title {
    font-family: var(--font-heading), 'Noto Serif Tamil', Georgia, serif !important;
    font-size: 1.15rem !important;
    font-weight: 800 !important;
    color: #f59e0b !important;
    margin: 0 !important;
}

.battle-card-body {
    font-size: 1.02rem !important;
    line-height: 1.85 !important;
    color: #f1f5f9 !important;
}

/* Heroic History & Tribute Card */
.maaveerar-history-card {
    background: linear-gradient(145deg, #0e121a 0%, #080b10 100%) !important;
    border: 1.5px solid rgba(212, 175, 55, 0.45) !important;
    border-radius: 14px !important;
    padding: 32px 28px !important;
    margin-top: 24px !important;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.5) !important;
}

.maaveerar-history-header {
    margin-bottom: 18px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid rgba(212, 175, 55, 0.25) !important;
}

.history-badge {
    display: inline-block !important;
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    color: #ffd700 !important;
    background: rgba(255, 215, 0, 0.12) !important;
    padding: 3px 12px !important;
    border-radius: 16px !important;
    margin-bottom: 6px !important;
}

.maaveerar-history-title {
    font-family: var(--font-heading), 'Noto Serif Tamil', Georgia, serif !important;
    font-size: 1.45rem !important;
    font-weight: 800 !important;
    color: #ffd700 !important;
    margin: 0 !important;
}

.maaveerar-history-body {
    color: #e2e8f0 !important;
    font-size: 1.05rem !important;
    line-height: 2 !important;
}

.single-obituary .obituary-single-maaveerar .candles-section,
.single-obituary .obituary-single-maaveerar .candles-section-maaveerar {
    background: #0a0d14 !important;
    border: 1px solid rgba(212, 175, 55, 0.3) !important;
    border-radius: 10px !important;
    color: #f1f5f9 !important;
}

.single-obituary .obituary-single-maaveerar .candles-title {
    color: #ffd700 !important;
}

.single-obituary .obituary-single-maaveerar .candle-item {
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(212, 175, 55, 0.25) !important;
    color: #ffffff !important;
}

.single-obituary .obituary-single-maaveerar #condolenceSection {
    background: #0a0d14 !important;
    border: 1px solid rgba(212, 175, 55, 0.3) !important;
    border-radius: 10px !important;
    color: #f1f5f9 !important;
}

.single-obituary .obituary-single-maaveerar #condolenceSection .section-heading,
.single-obituary .obituary-single-maaveerar #condolenceSection h3 {
    color: #ffd700 !important;
}

.single-obituary .obituary-single-maaveerar .condolence-item {
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(212, 175, 55, 0.2) !important;
}

.single-obituary .obituary-single-maaveerar .condolence-author {
    color: #ffd700 !important;
}

.single-obituary .obituary-single-maaveerar .condolence-text {
    color: #e2e8f0 !important;
}

@media (max-width: 768px) {
    .maaveerar-dossier-grid {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   NANDRI NAVIL (POST-FUNERAL VOTE OF THANKS / ACKNOWLEDGEMENT)
   Appears below the deceased person's obituary notice
   once the funeral rituals conclude and the family publishes thanks
   ========================================================= */
.obituary-nandri-navil-section {
    position: relative !important;
    background: radial-gradient(circle at 50% 0%, #fffdfa 0%, #fbf6ec 55%, #f4ede0 100%) !important;
    border: 2px solid #c9a84c !important;
    border-radius: 16px !important;
    padding: 36px 32px 30px !important;
    margin-top: 32px !important;
    margin-bottom: 24px !important;
    box-shadow: 
        0 0 0 1px rgba(201, 168, 76, 0.3),
        0 14px 38px rgba(180, 83, 9, 0.08), 
        0 4px 12px rgba(0, 0, 0, 0.04) !important;
    overflow: hidden !important;
}

.nandri-navil-ambient-glow {
    position: absolute !important;
    top: -60px !important;
    right: -60px !important;
    width: 200px !important;
    height: 200px !important;
    background: radial-gradient(circle, rgba(201, 168, 76, 0.15) 0%, transparent 70%) !important;
    pointer-events: none !important;
}

.nandri-navil-inner {
    position: relative !important;
    z-index: 2 !important;
}

.nandri-navil-badge-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin-bottom: 18px !important;
}

.nandri-navil-chip {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: rgba(180, 83, 9, 0.09) !important;
    border: 1px solid rgba(180, 83, 9, 0.25) !important;
    border-radius: 999px !important;
    padding: 5px 14px !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    color: #92400e !important;
    letter-spacing: 0.5px !important;
}

.nandri-date-chip {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    color: #78350f !important;
    background: rgba(255, 255, 255, 0.8) !important;
    border: 1px solid rgba(201, 168, 76, 0.3) !important;
    padding: 4px 12px !important;
    border-radius: 6px !important;
}

.nandri-navil-header-wrap {
    margin-bottom: 20px !important;
}

.nandri-navil-title {
    font-family: var(--font-heading), 'Noto Serif Tamil', Georgia, serif !important;
    font-size: clamp(1.5rem, 2.2vw, 1.95rem) !important;
    font-weight: 800 !important;
    color: #78350f !important;
    margin: 0 0 6px !important;
    display: flex !important;
    align-items: baseline !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

.nandri-title-en {
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: #b45309 !important;
    opacity: 0.85 !important;
}

.nandri-navil-subtitle {
    font-size: 0.94rem !important;
    color: #92400e !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

.nandri-navil-body-wrap {
    position: relative !important;
    background: #ffffff !important;
    border-left: 4px solid #c9a84c !important;
    border-radius: 0 10px 10px 0 !important;
    padding: 22px 26px !important;
    margin-bottom: 22px !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.03) !important;
}

.nandri-navil-body-text {
    font-family: 'Noto Serif Tamil', Georgia, serif !important;
    font-size: 1.05rem !important;
    line-height: 2 !important;
    color: #291b07 !important;
    letter-spacing: 0.2px !important;
}

.nandri-navil-footer-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    padding-top: 14px !important;
    border-top: 1px dashed rgba(201, 168, 76, 0.4) !important;
}

.nandri-footer-left {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    color: #78350f !important;
}

.nandri-footer-check {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    border-radius: 50% !important;
    background: #10b981 !important;
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
}

.nandri-footer-signoff {
    font-family: 'Noto Serif Tamil', Georgia, serif !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    font-style: italic !important;
    color: #92400e !important;
}

/* Card Indicator for Active Nandri Navil */
.plaque-nandri-badge-wrap {
    display: flex !important;
    justify-content: center !important;
    margin: 8px 0 12px !important;
    position: relative !important;
    z-index: 5 !important;
}

.plaque-nandri-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: linear-gradient(135deg, rgba(201, 168, 76, 0.2) 0%, rgba(201, 168, 76, 0.08) 100%) !important;
    border: 1px solid rgba(201, 168, 76, 0.45) !important;
    color: #f6d88c !important;
    padding: 4px 12px !important;
    border-radius: 999px !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.4px !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4) !important;
}
