/* Approved 01/07 portrait proposal. No-photo artboards and other themes unchanged.
   Composition is outside the transformed scene artboard to avoid double scaling. */
.memorial-portrait-composition { display:none; }
.has-memorial-portrait .redwood-tablet-text { visibility:hidden; }
.has-memorial-portrait .memorial-portrait-composition {
  display:block; position:absolute; inset:0; z-index:6; pointer-events:none;
  --frame-w:142px; --frame-h:184px; --frame-top:154px;
  --info-w:184px; --info-h:88px; --info-top:348px;
}
.has-memorial-portrait.scene-6 .memorial-portrait-composition {
  --frame-w:136px; --frame-h:180px; --frame-top:136px;
  --info-w:144px; --info-h:116px; --info-top:328px;
}
.memorial-photo-frame {
  position:absolute; left:50%; top:var(--frame-top); transform:translateX(-50%);
  box-sizing:border-box; width:var(--frame-w); height:var(--frame-h); padding:11px 10px;
  border:1px solid #1e0e09; border-radius:0;
  background:linear-gradient(90deg,#26110b,#593121 6%,#30170f 12%,#462619 88%,#1b0c08);
  box-shadow:inset 0 0 0 2px #73492d,inset 0 0 0 4px #26120c,2px 4px 6px #0c050ab3;
}
.memorial-photo-frame .memorial-photo {
  display:block; width:100%; height:100%; aspect-ratio:3/4; object-fit:cover; object-position:50% 38%;
  border:1px solid #9f8753; border-radius:0; background:#383630;
  filter:saturate(.85); box-sizing:border-box; outline:1px solid #170d08;
}
.memorial-photo-frame .memorial-photo.portrait-wide { object-fit:contain; }
/* A shallow wooden lip shades only the photo edge; faces retain their colour. */
.memorial-photo-frame::after {
  content:''; position:absolute; inset:11px 10px; pointer-events:none;
  box-shadow:inset 0 0 3px 1px #17130d38;
  border:1px solid #6f583c70;
}
.tpl-0 .memorial-photo-frame {
  box-shadow:inset 0 0 0 1px #65442e,inset 0 0 0 3px #301b12,
    inset 0 0 5px 4px #1c0e0980,1px 3px 5px #170c0990;
}
.tpl-0 .memorial-photo {border-color:#81704b;}
.scene-6 .memorial-photo-frame::after {inset:9px 7px;}
.memorial-photo-inscription {
  position:absolute; left:50%; top:var(--info-top); transform:translateX(-50%);
  width:var(--info-w); min-height:var(--info-h); padding:4px 6px; box-sizing:border-box;
  display:flex; flex-direction:column; align-items:center; gap:3px; text-align:center;
  background:linear-gradient(90deg,#301b11,#18130f 8%,#18130f 92%,#301b11);
  border:1px solid #644d2c; box-shadow:0 3px 4px #0d060890; color:#eadfc9;
}
.tpl-0 .memorial-photo-inscription::before {
  content:''; position:absolute; height:11px; bottom:100%; width:calc(var(--frame-w) - 8px);
  background:#2a160e; box-shadow:inset 0 1px #765337;
}
.memorial-photo-inscription h1 {
  font-family:'Memorial Serif',serif; font-size:24px; font-weight:400; line-height:32px;
  letter-spacing:.04em; color:#f5e8cd; margin:0; overflow-wrap:anywhere;
}
.memorial-photo-inscription .portrait-dates {
  display:flex; flex-wrap:wrap; justify-content:center; gap:0 6px; margin:0;
  font-size:14px; line-height:20px; font-variant-numeric:tabular-nums; color:#e1d1b0;
}
.portrait-dates span { white-space:nowrap; }
.memorial-photo-inscription .portrait-epitaph {
  margin:0; font-size:14px; line-height:20px; color:#d9c6a5;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; text-wrap:balance;
}
.scene-6 .memorial-photo-frame {
  padding:9px 7px; border-color:#090908;
  background:linear-gradient(90deg,#12120f,#343027 7%,#1b1a16 13%,#29261e 90%,#090a09);
  box-shadow:inset 0 0 0 2px #484033,inset 0 0 0 4px #11110f,2px 4px 6px #000a;
}
.scene-6 .memorial-photo-inscription {
  background:linear-gradient(90deg,#29251c,#151611 6%,#151611 94%,#29251c);
  border-color:#615337; border-bottom:6px ridge #40382b; border-radius:4px 4px 0 0;
}
.scene-6 .memorial-photo-inscription h1 { font-size:22px; line-height:30px; }
.scene-6 .memorial-photo-inscription :is(.portrait-dates,.portrait-epitaph) { line-height:19px; }
.has-memorial-portrait .incense-smoke { overflow:hidden; opacity:.35; }
@media(min-width:700px) {
  .tpl-0.has-memorial-portrait .censer {left:46%;width:8%;}
  .has-memorial-portrait.scene-6 .memorial-portrait-composition {
    --frame-w:154px;--frame-h:204px;--frame-top:124px;
    --info-w:148px;--info-h:108px;--info-top:336px;
  }
  .scene-6 .memorial-photo-inscription {padding-block:2px;gap:1px;}
}
@media(max-width:699px) {
  .has-memorial-portrait .memorial-portrait-composition {
    --frame-w:92px; --frame-h:120px; --frame-top:125px;
    --info-w:124px; --info-h:104px; --info-top:253px;
  }
  .has-memorial-portrait.scene-6 .memorial-portrait-composition {
    --frame-w:88px; --frame-h:116px; --frame-top:114px;
    --info-w:128px; --info-h:112px; --info-top:242px;
  }
  .memorial-photo-frame { padding:7px 6px; }
  .scene-6 .memorial-photo-frame { padding:7px 5.5px; }
  .memorial-photo-inscription { padding:3px 4px; gap:2px; }
  .memorial-photo-inscription h1,.scene-6 .memorial-photo-inscription h1 {font-size:18px;line-height:25px;}
  .memorial-photo-inscription .portrait-dates,.scene-6 .memorial-photo-inscription .portrait-dates {font-size:12px;line-height:16px;flex-direction:column;gap:0;}
  .memorial-photo-inscription .portrait-epitaph,.scene-6 .memorial-photo-inscription .portrait-epitaph {font-size:12px;line-height:17px;}
  .tpl-0 .memorial-photo-inscription::before {height:9px;}
  .memorial-photo-frame::after {inset:7px 6px;}
  .scene-6 .memorial-photo-frame::after {inset:7px 5.5px;}
  .tpl-0.has-memorial-portrait .flower-gift {left:3.5%;width:21.4%;bottom:15%;}
  .tpl-0.has-memorial-portrait .wreath-gift {left:71%;width:19.5%;}
}
/* Only the visitation header. Keep its existing height and mobile two-row layout. */
body:has(.visit) .top #identity:empty {display:none;}
body:has(.visit) .top #nav a[href="/family"] {margin-left:auto;}
body:has(.visit) .top #nav a[href="/family"]:hover {color:var(--gold);}
body:has(.visit) .top #nav a[href="/family"]:active {opacity:.8;}
body:has(.visit) .top #nav a[href="/family"]:focus-visible {outline:1px solid var(--gold);outline-offset:4px;}

/* Final polish: only existing portrait information, never the no-photo tablet. */
.tpl-0.has-memorial-portrait .memorial-photo-inscription {gap:4px;}
.tpl-0.has-memorial-portrait .memorial-photo-inscription h1 {letter-spacing:.06em;}
@media(max-width:699px) {
  .tpl-0.has-memorial-portrait .memorial-photo-inscription {gap:3px;}
  .tpl-0.has-memorial-portrait .memorial-photo-inscription h1 {line-height:26px;}
  .tpl-0.has-memorial-portrait .memorial-photo-inscription .portrait-dates {line-height:17px;}
}

/* Visitation navigation: brand only above, low-weight management below. */
body:has(.visit) .top #nav:empty {display:none;}
body:has(.visit) .top .brand {display:flex;align-items:baseline;gap:8px;}
body:has(.visit) .top .brand span {display:inline;margin:0;font-size:14px;letter-spacing:2px;}
body:has(.visit) .top .brand span::before {content:'·';margin-right:8px;}
body:has(.visit) .top {min-height:106px;}
.visit .visit-bottom-nav {display:flex;overflow:visible;gap:0;}
.visit-content-tabs {display:flex;flex:1;min-width:0;overflow-x:auto;scrollbar-width:thin;}
.visit-family-entry {display:flex;flex:0 0 82px;align-items:center;justify-content:center;font:400 11px/1.4 var(--font-ui,system-ui);color:#b3a58e;border-left:1px solid #69543c;padding:8px 6px;white-space:nowrap;}
.visit-family-entry:hover {color:#f2dfb8;background:#3c3024;}
.visit-family-entry:active {background:#493a2c;}
.visit-family-entry:focus-visible {outline:2px solid #bc9a61;outline-offset:-3px;}
@media(max-width:699px) {
 body:has(.visit) .top {height:72px;min-height:72px;padding:12px 16px;flex-wrap:nowrap;}
 body:has(.visit) .top .brand span {font-size:12px;letter-spacing:1px;}
 .visit .visit-bottom-nav {padding:5px 3px;}
 .visit-family-entry {flex-basis:68px;}
}
