/* # css/style1.css - Soulmate v4 */

/* *************************************** Root / General ****************************** */

:root
{
    --bg:#f7f3ec;
    --bg-soft:#fbf8f2;
    --card:#fffdf8;
    --card-white:#ffffff;
    --ink:#3f3933;
    --ink-soft:#6f665e;
    --muted:#9a9086;
    --line:#e8dfd3;
    --line-strong:#dbcdbb;
    --gold:#d7a329;
    --gold-soft:#f4e4b9;
    --green:#677448;
    --shadow:0 18px 45px rgba(63, 52, 40, .10);
    --shadow-soft:0 8px 24px rgba(63, 52, 40, .08);
    --photo-radius:6px;
}

* { box-sizing:border-box; }

html
{
    scroll-behavior:smooth;
}

body
{
    margin:0;
    padding:0;
    font-family:'Inter', Arial, Helvetica, sans-serif;
    background:
        radial-gradient(circle at top left, rgba(215, 163, 41, .12), transparent 34rem),
        linear-gradient(180deg, #fbf8f2 0%, var(--bg) 42%, #f3eee6 100%);
    color:var(--ink);
}

#wrapper
{
    max-width:1380px;
    margin:0 auto;
    padding:0 28px 22px 28px;
}

a
{
    color:var(--ink);
}

img
{
    max-width:100%;
}

button,
input,
textarea
{
    font:inherit;
}

/* *************************************** Header ****************************** */

#memorial_header
{
    position:sticky;
    top:0;
    z-index:5000;

    display:flex;
    align-items:center;
    gap:18px;

    min-height:86px;
    margin:0 -28px 34px -28px;
    padding:15px 28px;

    background:rgba(251,248,242,.92);
    border-bottom:1px solid rgba(219,205,187,.72);
    backdrop-filter:blur(14px);
    box-shadow:0 8px 30px rgba(68,54,40,.06);
}

#welcome_user
{
    margin-left:auto;

    display:flex;
    align-items:center;

    height:42px;

    color:#7b756d;

    font-size:.95rem;
    font-weight:500;

    white-space:nowrap;
    text-align:right;
}

.memorial-brand
{
    display:flex;
    align-items:center;
    gap:15px;
    min-width:0;
}

.memorial-logo
{
    width:44px;
    height:44px;
    object-fit:contain;
    flex:0 0 auto;
    filter:drop-shadow(0 3px 5px rgba(80, 64, 32, .18));
}

.memorial-kicker
{
    margin-bottom:2px;
    font-size:12px;
    font-weight:700;
    letter-spacing:.23em;
    text-transform:uppercase;
    color:var(--gold);
}

#memorial_title
{
    font-family:'Cormorant Garamond', Georgia, serif;
    font-size:31px;
    font-weight:600;
    line-height:1;
    color:#3b322b;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.memorial-years
{
    margin-top:3px;
    font-size:13px;
    color:var(--ink-soft);
}

.sticky_tribute_button
{
    flex:0 0 auto;

    padding:11px 16px;

    border:1px solid rgba(103,84,60,.22);
    border-radius:999px;

    background:#3f3933;
    color:#fffaf1;

    font-size:13px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;

    cursor:pointer;

    box-shadow:0 2px 6px rgba(0,0,0,.08);

    margin-left:5px;

    transition:
        background .2s ease,
        box-shadow .2s ease,
        transform .15s ease;
}

.sticky_tribute_button:hover
{
    background:#574c42;
    box-shadow:0 4px 10px rgba(0,0,0,.12);
}

.sticky_tribute_button:active
{
    transform:translateY(1px);
    box-shadow:0 1px 4px rgba(0,0,0,.10);
}

/* *************************************** Hero / Slideshow ****************************** */

#hero_panel
{
    display:grid;
    grid-template-columns:minmax(240px, .74fr) minmax(420px, 1.26fr);
    gap:36px;
    align-items:center;

    margin:0 auto 46px auto;
    padding:28px;

    background:linear-gradient(135deg, rgba(255,255,255,.76), rgba(250,244,234,.66));
    border:1px solid rgba(232, 223, 211, .92);
    border-radius:20px;
    box-shadow:var(--shadow-soft);
}

.hero-copy
{
    padding:12px 8px 12px 8px;
}

.hero-mark,
.section-kicker,
.tribute-aside-heading span
{
    display:block;
    margin-bottom:10px;

    color:var(--gold);
    font-size:12px;
    font-weight:800;
    letter-spacing:.24em;
    text-transform:uppercase;
}

.hero-copy h1
{
    margin:0;
    /*font-family:'Cormorant Garamond', Georgia, serif;*/
	font-family:Verdana;
    font-size:clamp(48px, 5vw, 78px);
    font-weight:600;
    line-height:.95;
    color:#a67e5e;
}

.hero-years
{
    margin:18px 0 0 0;
    font-size:17px;
    color:#a67e5e;
    font-weight:600;
}

.hero-subtitle
{
    max-width:420px;
    margin:22px 0 0 0;
    font-family:'Cormorant Garamond', Georgia, serif;
    font-size:25px;
    line-height:1.32;
    color:#896243;
}

#slideshow_section
{
    min-width:0;
}

#slideshow_box
{
    position:relative;

    width:100%;
    aspect-ratio:16/10;

    background:#111111;
    border-radius:15px;
    overflow:hidden;

    box-shadow:var(--shadow);
}

#slideshow_box:before
{
    content:'';
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:58%;
    z-index:2;
    pointer-events:none;
    background:linear-gradient(to top, rgba(0,0,0,.78), rgba(0,0,0,.42) 44%, rgba(0,0,0,0));
}

#slideshow_box:after
{
    content:'';
    position:absolute;
    inset:0;
    z-index:4;
    pointer-events:none;
    border:1px solid rgba(255,255,255,.26);
    border-radius:10px;
}

#slideshow_box .slide
{
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:100%;
    opacity:0;
    transition:opacity 1.1s ease;
    pointer-events:none;
}

#slideshow_box .slide.active
{
    opacity:1;
    pointer-events:auto;
}

#slideshow_box .slide img
{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center center;
    display:block;
    cursor:pointer;
    background:#14110f;
}

.slide-caption
{
    position:absolute;
    left:0;
    right:0;
    bottom:8px;
    z-index:3;

    max-width:85%;
    padding:0 32px;

    color:#ffffff;
    font-family:'Cormorant Garamond', Georgia, serif;
    font-size:22px;
	font-size:clamp(16px, calc(16px + (22 - 16) * ((100vw - 1120px) / (1400 - 1120))), 22px);
    line-height:1.24;

    text-shadow:0 2px 4px rgba(0,0,0,.62);
}

#slideshow_empty
{
    display:flex;
    align-items:center;
    justify-content:center;
    height:100%;
    font-family:'Cormorant Garamond', Georgia, serif;
    font-size:40px;
    color:#dddddd;
}

#slideshow_controls
{
    position:absolute;
    left:50%;
    bottom:36px;
    z-index:3;

    display:flex;
    gap:10px;
    justify-content:center;
    transform:translateX(-50%);

    opacity:.82;
    transition:opacity .2s ease;
}

#slideshow_box:hover #slideshow_controls
{
    opacity:1;
}

.slide-button
{
    width:44px;
    height:44px;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:0;

    border:1px solid rgba(255,255,255,.36);
    border-radius:999px;

    background:rgba(255, 250, 244, .90);
    cursor:pointer;

    box-shadow:0 5px 16px rgba(0,0,0,.22);
}

.slide-button:hover
{
    background:#fffaf4;
}

.slide-button img
{
    width:20px;
    height:20px;
    display:block;
}

/* *************************************** Family Tribute ****************************** */

#family_tribute
{
    max-width:980px;
    margin:0 auto 46px auto;
    padding:30px 34px;

    font-family:'Cormorant Garamond', Georgia, serif;
    font-size:1.35rem;
    line-height:1.68;

    color:#51483f;
    background:rgba(255,255,255,.56);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    border-radius:24px;
}

/* *************************************** Main Content ****************************** */

#main_content
{
    display:grid;
    grid-template-columns:minmax(0, 1fr) 420px;
    gap:30px;
    align-items:start;
}

.section-heading
{
    margin-bottom:20px;
}

.section-heading h2,
.tribute-aside-heading h2
{
    margin:0;
    font-family:'Cormorant Garamond', Georgia, serif;
    font-size:38px;
    font-weight:600;
    color:#39312b;
}

/* *************************************** Photo Albums ****************************** */

#photo_albums
{
    min-width:0;
}

.photo-timeline
{
    display:block;
}

.photo-timeline:after
{
    content:'';
    display:block;
    clear:both;
}

.timeline-year
{
    grid-column:1 / -1;
    display:block;
    margin:18px 0 4px 0;
    padding:0;
    color:var(--muted);
}

.timeline-year span
{
    display:inline-flex;
    align-items:center;
    gap:10px;

    font-size:13px;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.timeline-year span:after
{
    content:'';
    width:34px;
    height:1px;
    background:var(--line-strong);
}

.photo-item
{
    position:relative;
    display:block;
    float:left;

    width:260px;

    margin:0 6px 12px 0;

    overflow:hidden;
    background:#eee8df;
    border-radius:var(--photo-radius);
    box-shadow:0 2px 10px rgba(63, 52, 40, .08);
    transition:transform .22s ease, box-shadow .22s ease;
}

.photo-item.is-landscape
{
    /*grid-column:span 2;*/
}

.timeline-year
{
    grid-column:1 / -1;
}


.photo-item:hover
{
    transform:translateY(-2px);
    box-shadow:0 12px 28px rgba(63, 52, 40, .14);
}

.photo-item img
{
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
    cursor:pointer;
    border-radius:var(--photo-radius);
    transition:transform .35s ease;
}

.photo-item:hover img
{
    transform:scale(1.018);
}

.photo-caption
{
    position:absolute;
    left:0;
    right:0;
    bottom:0;

    padding:34px 10px 9px 10px;

    font-size:12px;
    line-height:1.35;
    color:#ffffff;

    background:linear-gradient(to top, rgba(0,0,0,0.72), rgba(0,0,0,0));
}

/* *************************************** Tribute Aside ****************************** */

#tribute_aside
{
    position:sticky;
    top:108px;

    display:flex;
    flex-direction:column;

    height:calc(100vh - 134px);
    min-height:460px;
    min-width:0;

    padding:20px 18px 18px 18px;

    background:rgba(255, 253, 248, .72);
    border:1px solid rgba(232, 223, 211, .86);
    border-radius:26px;
    box-shadow:var(--shadow-soft);
    overflow:hidden;
}

.tribute-aside-heading
{
    padding-bottom:14px;
    margin-bottom:12px;
    border-bottom:1px solid var(--line);
}

.tribute-aside-heading h2
{
    font-size:30px;
}

/* *************************************** Tribute Cards ****************************** */

.recent-tribute-list
{
    flex:1 1 auto;
    min-height:0;
    display:block;
    overflow-y:auto;
    padding-right:8px;
}

.recent-tribute-card
{
    min-width:0;
    padding:15px 16px;
    margin-bottom:13px;

    background:var(--card-white);
    border:1px solid rgba(232, 223, 211, .78);
    border-radius:18px;
    box-shadow:0 4px 14px rgba(63, 52, 40, .06);

    overflow:hidden;
}

.tribute-avatar
{
    float:right;
    width:38px;
    height:38px;
    margin-left:11px;
    margin-bottom:7px;

    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;

    font-size:15px;
    font-weight:700;
    color:#ffffff;
}

.tribute-body
{
    min-width:0;
    overflow-wrap:break-word;
    word-wrap:break-word;
    word-break:normal;
}

.recent-tribute-name
{
    font-size:15px;
    font-weight:700;
    margin-bottom:2px;
    color:#3f3933;
}

.recent-tribute-date
{
    font-size:11px;
    color:var(--muted);
    margin-bottom:10px;
}

.recent-tribute-message
{
    font-family:'Cormorant Garamond', Georgia, serif;
    font-size:1.08rem;
    line-height:1.38;
    color:#51483f;
    overflow-wrap:break-word;
    word-break:normal;
}

.recent-tribute-message p
{
    margin:0 0 .85em 0;
}

.recent-tribute-message p:last-child
{
    margin-bottom:0;
}


.tribute-placeholder
{
    padding:16px;
    background:#ffffff;
    border:1px solid var(--line);
    border-radius:14px;
    color:var(--ink-soft);
}

/* *************************************** Tribute Scrollbar ****************************** */

.recent-tribute-list::-webkit-scrollbar
{
    width:8px;
}

.recent-tribute-list::-webkit-scrollbar-track
{
    background:#f0e8dd;
    border-radius:4px;
}

.recent-tribute-list::-webkit-scrollbar-thumb
{
    background:#d5c5ad;
    border-radius:4px;
}

.recent-tribute-list::-webkit-scrollbar-thumb:hover
{
    background:#bba98d;
}

/* *************************************** Tribute Avatar Colours ****************************** */

.avatar-colour-0 { background:#7A5C61; }
.avatar-colour-1 { background:#5A7D95; }
.avatar-colour-2 { background:#5F8A64; }
.avatar-colour-3 { background:#AF7E48; }
.avatar-colour-4 { background:#76609A; }
.avatar-colour-5 { background:#5B9EA6; }
.avatar-colour-6 { background:#B66B4A; }
.avatar-colour-7 { background:#6F6F6F; }

/* *************************************** Tribute Slideout ****************************** */

#tribute_slideout_overlay
{
    display:none;
    position:fixed;
    left:0;
    top:0;
    width:100%;
    height:100%;
    background:rgba(29, 25, 22, .48);
    z-index:8000;
}

#tribute_slideout
{
    position:fixed;
    right:-480px;
    top:0;

    width:440px;
    max-width:90%;
    height:100%;

    padding:26px;
    background:#fffdf8;
    box-shadow:-10px 0 35px rgba(0,0,0,0.22);

    z-index:8001;
    transition:right 0.25s ease;
    overflow-y:auto;
}

#tribute_slideout.open
{
    right:0;
}

#tribute_slideout_header
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:20px;
}

#tribute_slideout_header h2
{
    margin:0;
    font-family:'Cormorant Garamond', Georgia, serif;
    font-size:34px;
}

#btn_close_tribute
{
    border:1px solid var(--line);
    border-radius:999px;
    background:#ffffff;
    padding:8px 12px;
    cursor:pointer;
}

.tribute-form .form-row
{
    margin-bottom:15px;
}

.tribute-form label
{
    display:block;
    margin-bottom:6px;
    font-weight:700;
    color:#4d443b;
}

.tribute-form input[type='text'],
.tribute-form textarea
{
    width:100%;
    box-sizing:border-box;
    padding:11px 12px;
    border:1px solid var(--line-strong);
    border-radius:12px;
    background:#ffffff;
    color:var(--ink);
}

.tribute-form textarea
{
    resize:vertical;
}

.checkbox-row label
{
    font-weight:500;
}

.hp-row
{
    display:none;
}

.tribute-form button
{
    padding:12px 22px;
    border:0;
    border-radius:999px;
    background:#3f3933;
    color:#ffffff;
    font-weight:700;
    cursor:pointer;
}

.tribute-form button:hover
{
    background:#574c42;
}

/* *************************************** Lightbox ****************************** */

#lightbox
{
    display:none;
    position:fixed;
    left:0;
    top:0;
    width:100%;
    height:100%;
    background:rgba(14, 12, 10, .94);
    z-index:9999;
}

#lightbox-content
{
    position:absolute;
    left:50%;
    top:50%;
    max-width:94%;
    max-height:94%;
    transform:translate(-50%, -50%);
    text-align:center;
}

#lightbox-image
{
    max-width:100%;
    max-height:82vh;
    cursor:pointer;
    border-radius:12px;
    box-shadow:0 24px 65px rgba(0,0,0,.42);
}

#lightbox-caption
{
    display:none;
    margin-top:12px;
    padding:10px 14px;
    color:#ffffff;
    font-family:'Cormorant Garamond', Georgia, serif;
	font-family: INTER;
    font-size:24px;
    line-height:1.45;
    background:rgba(0,0,0,0.45);
    border-radius:12px;
}

#lightbox-prev
{
    position:absolute;
    left:20px;
    top:50%;
    transform:translateY(-50%);
    z-index:10002;
}

#lightbox-next
{
    position:absolute;
    right:20px;
    top:50%;
    transform:translateY(-50%);
    z-index:10002;
}

#lightbox-close
{
    position:absolute;
    right:0;
    top:-54px;
    z-index:10002;
    color:#ffffff;
    cursor:pointer;
    font-size:18px;
    letter-spacing:.08em;
}

/* *************************************** Admin ****************************** */

#hero
{
    text-align:center;
    padding:35px 15px;
}

.admin-section
{
    max-width:1100px;
    margin:0 auto 35px auto;
    padding:22px;
    background:#ffffff;
    border-radius:8px;
    box-shadow:0 2px 8px rgba(0,0,0,0.10);
}

.admin-section label
{
    display:block;
    margin:14px 0 7px 0;
    font-weight:bold;
}

.admin-section input[type='text'],
.admin-section textarea
{
    width:100%;
    box-sizing:border-box;
    padding:10px;
    font-family:'Inter', Arial, Helvetica, sans-serif;
}

.admin-photo-row
{
    display:grid;
    grid-template-columns:130px 1fr;
    gap:15px;
    margin-bottom:18px;
    padding-bottom:18px;
    border-bottom:1px solid #dddddd;
}

.admin-photo-row img
{
    width:130px;
    height:auto;
    border-radius:5px;
}

.admin-checkbox-label
{
    font-weight:normal !important;
}

.admin-save-bar
{
    position:sticky;
    bottom:0;
    padding:15px;
    background:#f8f7f4;
    text-align:right;
}

.admin-save-bar button,
.admin-inline-form button
{
    margin-right:8px;
    padding:10px 16px;
    cursor:pointer;
}

.admin-notice
{
    max-width:1100px;
    margin:0 auto 20px auto;
    padding:15px;
    background:#ffffff;
    border-left:5px solid #333333;
}

.admin-tribute-card
{
    padding:18px;
    margin-bottom:18px;
    background:#f7f7f7;
    border-radius:6px;
}

.admin-tribute-message
{
    padding:12px;
    margin:12px 0;
    background:#ffffff;
    line-height:1.6;
}

/* *************************************** Footer ****************************** */

#footer
{
    margin-top:70px;
    padding:34px 22px 26px 22px;
    text-align:center;
    color:var(--muted);
    font-size:12px;
    border-top:1px solid rgba(232, 223, 211, .82);
}

.footer-flower img
{
    width:30px;
    height:30px;
    object-fit:contain;
    opacity:.78;
}

.footer-message
{
    margin:9px 0 12px 0;
    font-family:'Cormorant Garamond', Georgia, serif;
    font-size:21px;
    color:#6d6257;
}

#footer a
{
    color:var(--muted);
    text-decoration:none;
}

#footer a:hover
{
    color:var(--ink-soft);
}

#admin_link
{
    color:#9a9086  !important;
    font-size:12px;
}

.footer-separator
{
    margin:0 10px;
    color:#d0c5b6;
}

/* *************************************** Responsive 1120 ****************************** */

@media screen and (max-width:1120px)
{
    #hero_panel
    {
        grid-template-columns:1fr;
    }

    .hero-copy
    {
        text-align:center;
    }

    .hero-subtitle
    {
        margin-left:auto;
        margin-right:auto;
    }

    #main_content
    {
        grid-template-columns:1fr;
    }

    #tribute_aside
    {
        position:static;
        height:auto;
        min-height:0;
        max-width:760px;
        margin:0 auto 12px auto;
        order:-1;
    }

    .recent-tribute-list
    {
        max-height:420px;
    }
}

/* *************************************** Responsive 900 ****************************** */

@media screen and (max-width:900px)
{
    .photo-timeline
    {
        /*grid-template-columns:repeat(3,minmax(0,1fr));*/
    }
}

/* *************************************** Responsive 700 ****************************** */

@media screen and (max-width:700px)
{

	.photo-item.is-landscape
	{
		/*grid-column:span 2;*/
	}


    #wrapper
    {
        padding:0 16px 18px 16px;
    }

    #memorial_header
    {
        margin-left:-16px;
        margin-right:-16px;
        padding:13px 16px;
        min-height:74px;
    }

    .memorial-logo
    {
        width:36px;
        height:36px;
    }

    #memorial_title
    {
        font-size:24px;
    }

    .memorial-years,
    .memorial-kicker
    {
        display:none;
    }

    .sticky_tribute_button
    {
        padding:10px 12px;
        font-size:11px;
    }

    #hero_panel
    {
        padding:20px;
        border-radius:24px;
    }

    #slideshow_box
    {
        aspect-ratio:4/3;
        border-radius:10px;
    }

    #slideshow_box:after
    {
        border-radius:10px;
    }

    .slide-caption
    {
        bottom:72px;
        max-width:none;
        padding:0 22px;
        font-size:18px;
    }

    #slideshow_controls
    {
        bottom:18px;
    }

    .slide-button
    {
        width:40px;
        height:40px;
    }

    .photo-timeline
	{
		/*grid-template-columns:repeat(2,minmax(0,1fr));*/
	}

    .section-heading h2,
    .tribute-aside-heading h2
    {
        font-size:32px;
    }

    #lightbox-prev
    {
        left:10px;
    }

    #lightbox-next
    {
        right:10px;
    }
}

/* *************************************** Responsive 470 ****************************** */

@media screen and (max-width:470px)
{
	.photo-item.is-landscape
	{
		/*grid-column:span 1;*/
	}


    .memorial-brand
    {
        gap:10px;
    }

    .memorial-logo
    {
        width:32px;
        height:32px;
    }

    #memorial_title
    {
        max-width:150px;
        font-size:22px;
    }

    .sticky_tribute_button
    {
        letter-spacing:.04em;
    }

    .hero-copy h1
    {
        font-size:43px;
    }

    .hero-subtitle
    {
        font-size:21px;
    }

   .photo-timeline
	{
		/*grid-template-columns:1fr;*/
	}
	
	

    .admin-photo-row
    {
        grid-template-columns:1fr;
    }

    .admin-photo-row img
    {
        width:100%;
        max-width:260px;
    }
}
















/*************************************************************************/
/* v4.3 Year markers for justified photo rows                            */
/*************************************************************************/






.photo-year-badge
{
    position:absolute;
    left:8px;
    top:8px;
    z-index:3;

    padding:2px 7px;

    background:rgba(255,255,255,.72);
    color:#2f2a25;

    font-size:16px;
    font-weight:800;
    line-height:1;

    border-radius:5px;
    box-shadow:0 2px 8px rgba(0,0,0,.12);
    backdrop-filter:blur(3px);
}

.photo-year-badge:after
{
    content:' ---';
    letter-spacing:1px;
    color:rgba(47,42,37,.7);
}





/* *************************************** Admin Navigation ****************************** */

.admin-nav
{
    max-width:1100px;
    margin:0 auto 24px auto;
    padding:12px 16px;

    display:flex;
    flex-wrap:wrap;
    gap:10px;

    background:#ffffff;
    border:1px solid #e6e0d8;
    border-radius:10px;
    box-shadow:0 2px 8px rgba(0,0,0,0.06);
}

.admin-nav a
{
    display:inline-block;
    padding:8px 12px;

    border-radius:999px;
    background:#f7f4ef;
    color:#3f3933;

    font-size:13px;
    font-weight:700;
    text-decoration:none;
}

.admin-nav a:hover
{
    background:#ebe3d8;
}

/* *************************************** Admin Tribute Moderation ****************************** */

.admin-tribute-section h2
{
    display:flex;
    align-items:center;
    gap:10px;
}

.admin-tribute-card
{
    position:relative;
    padding:18px 18px 18px 22px;
    margin-bottom:18px;

    background:#ffffff;
    border:1px solid #e3ded7;
    border-left:8px solid #999999;
    border-radius:8px;
    box-shadow:0 2px 8px rgba(0,0,0,0.07);
}

.admin-tribute-approved
{
    border-left-color:#4f8f55;
}

.admin-tribute-pending
{
    border-left-color:#d58a24;
}

.admin-tribute-rejected
{
    border-left-color:#b84a45;
}

.admin-tribute-status
{
    display:inline-block;
    margin-bottom:8px;
    padding:4px 9px;

    border-radius:999px;
    background:#f3f0eb;

    font-size:12px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.admin-tribute-approved .admin-tribute-status
{
    background:#e7f2e8;
    color:#356d3b;
}

.admin-tribute-pending .admin-tribute-status
{
    background:#fff0d9;
    color:#9a5d10;
}

.admin-tribute-rejected .admin-tribute-status
{
    background:#f9e1df;
    color:#8e312d;
}

.admin-tribute-card h3
{
    margin:0 0 8px 0;
}

.admin-tribute-meta
{
    display:flex;
    flex-wrap:wrap;
    gap:6px 14px;

    margin-bottom:12px;
    font-size:12px;
    color:#6f665e;
}

.admin-tribute-message p
{
    margin:0 0 .85em 0;
}

.admin-tribute-message p:last-child
{
    margin-bottom:0;
}





#welcome_user
{
    margin-right: 20px;

    font-size: 0.95rem;
    font-weight: 500;
    color: #7a736c;

    white-space: nowrap;
}


.tribute-photo-note
{
    margin-top:24px;
    padding:14px 16px;

    background:rgba(247,243,236,.72);
    border:1px solid var(--line);
    border-radius:14px;

    color:var(--ink-soft);
    font-size:14px;
    line-height:1.5;
}

.tribute-photo-note strong
{
    display:block;
    margin-bottom:5px;

    color:var(--ink);
    font-size:14px;
}


/******* one tribut per person ****************/
.tribute-already-submitted
{
    margin:0 0 18px 0;
    padding:14px 16px;

    background:#f8f4ec;
    border:1px solid var(--line);
    border-radius:14px;

    color:#51483f;
    font-size:14px;
    line-height:1.5;
}

.tribute-form-disabled
{
    opacity:.55;
}

.tribute-form-disabled input,
.tribute-form-disabled textarea,
.tribute-form-disabled button
{
    cursor:not-allowed;
}

.tribute-form button:disabled
{
    background:#b8b0a7;
    color:#fffaf4;
    cursor:not-allowed;
}


/* ***************************************
   v4.6 Family Reflections
**************************************** */

#family_reflections
{
    grid-column: 1 / -1;
    margin: 0 0 40px 0;
    max-width: none;
}

.reflection-book
{
    background:#fffdf8;
    border:1px solid var(--line);
    border-radius:18px;
    overflow:hidden;
    box-shadow:var(--shadow-soft);
}

.reflection-tabs
{
    display:flex;
    gap:2px;
    padding:12px 14px 0 14px;
    background:#f6f1e8;
}

.reflection-tab
{
    border:1px solid var(--line);
    border-bottom:none;

    padding:11px 20px;

    background:#efe8dc;
    color:var(--ink-soft);

    border-radius:12px 12px 0 0;

    cursor:pointer;

    font-weight:600;
}

.reflection-tab.active
{
    background:#fffdf8;
    color:var(--ink);
}

.reflection-page
{
    display:none;

    padding:34px;

    font-family:'Cormorant Garamond', Georgia, serif;
    font-size:1.28rem;
    line-height:1.7;
    color:#51483f;
}

.reflection-page.active
{
    display:block;
}

.reflection-page h3
{
    margin-top:0;
    margin-bottom:18px;

    font-size:2rem;
    font-weight:600;
}




/* *************************************** Registration ****************************** */

.register-section
{
    max-width:620px;
}

.register-section input[type='text']
{
    border:1px solid var(--line-strong);
    border-radius:12px;
    background:#ffffff;
}

/* *************************************** Share Memorial Link ****************************** */

.tribute-share-toggle
{
    margin:18px 0 8px 0;
    text-align:right;
    font-size:13px;
}

.tribute-share-toggle a
{
    color:#8b7d6b;
    text-decoration:none;
}

.tribute-share-toggle a:hover
{
    text-decoration:underline;
}


.tribute-share-note
{
    margin-top:18px;
    padding:14px 16px;

    background:rgba(255,253,248,.85);
    border:1px solid var(--line);
    border-radius:14px;

    color:var(--ink-soft);
    font-size:14px;
    line-height:1.5;
}

.tribute-share-note strong
{
    display:block;
    margin-bottom:6px;

    color:var(--ink);
    font-size:14px;
}

.tribute-share-note p
{
    margin:0 0 10px 0;
}

.tribute-share-link
{
    margin:10px 0;
    padding:9px 10px;

    background:#f7f3ec;
    border:1px solid var(--line);
    border-radius:10px;

    color:#51483f;
    font-size:12px;
    line-height:1.4;

    word-break:break-all;
}

#btn_copy_share_link
{
    padding:8px 14px;

    border:0;
    border-radius:999px;

    background:#3f3933;
    color:#ffffff;

    font-size:13px;
    font-weight:700;

    cursor:pointer;
}

#btn_copy_share_link:hover
{
    background:#574c42;
}

.tribute-share-small
{
    margin-top:12px !important;

    color:#8a8178;
    font-size:12px;
}