/*
  KB — UX Widget: Honored Presence
  File: assets/ux/ux-widget-honored-presence.css

  IMPORTANT:
  - CSS ONLY (no PHP).
  - ux-tokens.css and ux-layout.css are loaded globally by the plugin.
*/

/* =========================
   HERO surface (wide banner)
   ========================= */
.kbmb-widget--honored-presence{
  border-radius: var(--kb-radius-xl);
  padding: clamp(22px, 2.6vw, 42px);
  background: transparent;
  box-shadow: var(--kb-shadow-lg);
  overflow: hidden;

  /* HERO feel */
  min-height: clamp(360px, 44vh, 520px);
}

/* Make inner layout breathe */
.kbmb-widget--honored-presence .kbmb-hp{
  display: grid;
  gap: clamp(16px, 2.0vw, 26px);
}

/* =========================
   TOP ROW — “cinéma” 2 cols
   ========================= */
.kbmb-widget--honored-presence .kbmb-hp__top{
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) auto; /* headline has room */
  align-items: center;
  gap: clamp(18px, 3vw, 46px);
}

/* Right = avatar / Left = phrase */
.kbmb-widget--honored-presence .kbmb-hp__right{ order: 1; }
.kbmb-widget--honored-presence .kbmb-hp__left{ order: 2; }

/* =========================
   AVATAR (bigger, cinematic)
   ========================= */
.kbmb-widget--honored-presence .kbmb-hp__avatar{
  width: clamp(220px, 20vw, 360px);
  height: clamp(220px, 20vw, 360px);
  border-radius: 999px;
  overflow: hidden;
  position: relative;
  box-shadow: var(--kb-shadow-md);
  border: 2px solid rgba(212, 175, 55, 0.35);
}

.kbmb-widget--honored-presence .kbmb-hp__avatar img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.kbmb-widget--honored-presence .kbmb-hp__avatar-placeholder{
  width: 100%;
  height: 100%;
  background: rgba(255,255,255,0.06);
}

/* Photo action button stays clean */
.kbmb-widget--honored-presence .kbmb-hp__photo-actions{
  margin-top: 12px;
  display: flex;
  justify-content: center;
}

.kbmb-widget--honored-presence .kbmb-hp__file-btn{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: var(--kb-radius-md);
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.10);
  color: rgba(255, 255, 255, 0.92);
  cursor: pointer;
}
.kbmb-widget--honored-presence .kbmb-hp__file{ display:none; }

/* =========================
   TRIBUTE — headline, noble
   ========================= */
.kbmb-widget--honored-presence .kbmb-hp__tribute-input,
.kbmb-widget--honored-presence .kbmb-hp__tribute-text{
  display: block;
  width: 100%;
  margin: 0;
  font-size: clamp(30px, 3.35vw, 44px);
  line-height: 1.24;
  letter-spacing: 0.2px;

  background: transparent;
  border: 0;
  box-shadow: none;

  color: rgba(212, 175, 55, 0.95);
  font-family: ui-serif, "Georgia", "Times New Roman", serif;
  font-weight: 550;

  padding: 8px 0 10px;
}
.kbmb-widget--honored-presence[data-tribute-layout="double"] .kbmb-hp__tribute-input,
.kbmb-widget--honored-presence[data-tribute-layout="double"] .kbmb-hp__tribute-text{
  font-size: clamp(26px, 2.85vw, 38px);
  line-height: 1.12;
}

/* Input specifics */
.kbmb-widget--honored-presence .kbmb-hp__tribute-input{
  min-height: calc(1.24em + 18px);
  outline: none;
  resize: none;
  overflow: hidden;
  white-space: pre-wrap;
  overflow-wrap: break-word;
}
.kbmb-widget--honored-presence[data-tribute-layout="double"] .kbmb-hp__tribute-input{
  min-height: calc(1.12em + 8px);
  padding: 4px 0;
}
.kbmb-widget--honored-presence .kbmb-hp__tribute-text{
  white-space: normal;
  overflow-wrap: break-word;
}
.kbmb-widget--honored-presence[data-tribute-layout="double"] .kbmb-hp__tribute-text{
  padding: 4px 0;
}
.kbmb-widget--honored-presence[data-tribute-layout="double"] .kbmb-hp__dedication{
  margin-top: 4px;
}
.kbmb-widget--honored-presence .kbmb-hp__tribute-input::placeholder{
  color: rgba(212, 175, 55, 0.60);
}
.kbmb-widget--honored-presence .kbmb-hp__tribute-input:focus{
  border-bottom: 1px solid rgba(212, 175, 55, 0.28);
}

.kbmb-widget--honored-presence .kbmb-hp__tribute-input,
.kbmb-widget--honored-presence .kbmb-hp__tribute-text{
  text-shadow:
    0 1px 0 rgba(0,0,0,0.35),
    0 10px 30px rgba(212,175,55,0.12);
}

/* =========================
   META — compact + aligned
   ========================= */
.kbmb-widget--honored-presence .kbmb-hp__meta{
  display: grid;
  gap: 14px;
}

/* Keep displayed name/date quiet (the hero is the phrase) */
.kbmb-widget--honored-presence .kbmb-hp__name{
  font-size: clamp(18px, 1.6vw, 22px);
  font-weight: 600;
  color: rgba(255,255,255,0.92);
}

.kbmb-widget--honored-presence .kbmb-hp__dates{
  margin-top: 6px;
  color: rgba(255,255,255,0.70);
  font-size: 14px;
}

/* Form fields — neutral, no bands */
.kbmb-widget--honored-presence .kbmb-hp__fields{
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px 18px;
  max-width: 980px;
}

.kbmb-widget--honored-presence .kbmb-hp__dates-edit{
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px 18px;
  align-items: start;
}

.kbmb-widget--honored-presence .kbmb-hp__input{
  width: 100%;
  padding: 10px 0;

  background: transparent;
  border: 0;
  box-shadow: none;

  color: rgba(255,255,255,0.92);
  outline: none;
}

.kbmb-widget--honored-presence .kbmb-hp__input:focus{
  border-bottom: 1px solid rgba(255,255,255,0.28);
}

.kbmb-widget--honored-presence .kbmb-hp__zodiac-edit{
  margin-top: 8px;
  max-width: 420px;
  overflow: visible;
}

.kbmb-widget--honored-presence .kbmb-hp__zodiac-label{
  display: inline-block;
  margin-bottom: 6px;
  font-size: 12px;
  letter-spacing: 0.2px;
  color: rgba(255,255,255,0.62);
}

.kbmb-widget--honored-presence select.kbmb-hp__input.kbmb-hp__zodiac{
  width: 100%;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--kb-radius-md);
  padding: 8px 10px;
  color: rgba(255,255,255,0.92);
  line-height: 1.2;
  appearance: menulist;
  -webkit-appearance: menulist;
}

.kbmb-widget--honored-presence select.kbmb-hp__input.kbmb-hp__zodiac:focus{
  border-color: rgba(212,175,55,0.45);
}

.kbmb-widget--honored-presence select.kbmb-hp__input.kbmb-hp__zodiac option,
.kbmb-widget--honored-presence select.kbmb-hp__input.kbmb-hp__zodiac optgroup{
  color: #1f2937 !important;
  background: #ffffff !important;
}

.kbmb-widget--honored-presence .kbmb-hp__context-help-edit{
  margin-top: 12px;
  max-width: 420px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.kbmb-widget--honored-presence .kbmb-hp__context-help-label{
  font-size: 12px;
  letter-spacing: 0.2px;
  color: rgba(255,255,255,0.70);
}

.kbmb-widget--honored-presence .kbmb-hp__context-help-switch{
  position: relative;
  width: 48px;
  height: 28px;
  display: inline-block;
  flex: 0 0 auto;
}

.kbmb-widget--honored-presence .kbmb-hp__context-help-toggle{
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}

.kbmb-widget--honored-presence .kbmb-hp__context-help-slider{
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: rgba(255,255,255,0.22);
  border: 1px solid rgba(255,255,255,0.20);
  transition: background .18s ease, border-color .18s ease;
}

.kbmb-widget--honored-presence .kbmb-hp__context-help-slider::before{
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 2px 6px rgba(0,0,0,0.22);
  transition: transform .18s ease;
}

.kbmb-widget--honored-presence .kbmb-hp__context-help-toggle:checked + .kbmb-hp__context-help-slider{
  background: rgba(212,175,55,0.42);
  border-color: rgba(212,175,55,0.58);
}

.kbmb-widget--honored-presence .kbmb-hp__context-help-toggle:checked + .kbmb-hp__context-help-slider::before{
  transform: translateX(20px);
}

.kbmb-widget--honored-presence .kbmb-hp__context-help-toggle:focus-visible + .kbmb-hp__context-help-slider{
  outline: 2px solid rgba(212,175,55,0.75);
  outline-offset: 2px;
}

/* Date labels (CSS-only) */
.kbmb-widget--honored-presence .kbmb-hp__dates-edit .kbmb-hp__birth,
.kbmb-widget--honored-presence .kbmb-hp__dates-edit .kbmb-hp__death{
  position: relative;
  padding-top: 18px;
}

.kbmb-widget--honored-presence .kbmb-hp__dates-edit .kbmb-hp__birth::before{
  content: "Date de naissance";
  position: absolute;
  top: 0;
  left: 0;
  font-size: 12px;
  color: rgba(255,255,255,0.60);
  letter-spacing: 0.2px;
}

.kbmb-widget--honored-presence .kbmb-hp__dates-edit .kbmb-hp__death::before{
  content: "Date de décès (optionnel)";
  position: absolute;
  top: 0;
  left: 0;
  font-size: 12px;
  color: rgba(255,255,255,0.60);
  letter-spacing: 0.2px;
}

/* Save button (kept discreet) */
.kbmb-widget--honored-presence .kbmb-hp__save{
  grid-column: 1 / -1;
  padding: 12px 14px;
  border-radius: var(--kb-radius-md);
  background: rgba(212, 175, 55, 0.16);
  border: 1px solid rgba(212, 175, 55, 0.35);
  color: rgba(255,255,255,0.95);
  cursor: pointer;
}

/* =========================
   Bottom actions — gold pills
   ========================= */
.kbmb-widget--honored-presence .kbmb-hp__actions{
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-start;
  align-items: center;
}

.kbmb-widget--honored-presence .kbmb-hp__actions-row{
  margin-left: auto;
}

.kbmb-widget--honored-presence .kbmb-hp__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 14px;
  border-radius: 999px;

  background: #d4af37;
  border: 1px solid rgba(212,175,55,0.55);
  color: #2c3e50;

  text-decoration:none;
  font-weight: 600;
}

/* =========================
   Responsive
   ========================= */
@media (max-width: 980px){
  .kbmb-widget--honored-presence .kbmb-hp__top{
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }
  .kbmb-widget--honored-presence .kbmb-hp__left,
  .kbmb-widget--honored-presence .kbmb-hp__right{
    order: initial;
  }
  .kbmb-widget--honored-presence .kbmb-hp__photo-actions{
    justify-content: center;
  }
  .kbmb-widget--honored-presence .kbmb-hp__fields{
    grid-template-columns: 1fr;
  }
  .kbmb-widget--honored-presence .kbmb-hp__dates-edit{
    grid-template-columns: 1fr;
  }
  .kbmb-widget--honored-presence .kbmb-hp__actions{
    align-items: center;
  }
  .kbmb-widget--honored-presence .kbmb-hp__actions-row{
    margin-left: 0;
  }
}
/* =========================
   Layout cinématique (2 colonnes) — meta sous la phrase
   ========================= */

/* La grille principale pilote TOUT (phrase + avatar + meta + actions) */
.kbmb-widget--honored-presence .kbmb-hp{
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) auto;
  grid-template-areas:
    "phrase avatar"
    "meta   avatar"
    "actions avatar";
  gap: clamp(14px, 2vw, 22px) clamp(18px, 3vw, 46px);
  align-items: start;
}

/* On “ouvre” le conteneur top pour que ses enfants deviennent des items de grille */
.kbmb-widget--honored-presence .kbmb-hp__top{
  display: contents;
}

/* Placement des zones */
.kbmb-widget--honored-presence .kbmb-hp__right{ grid-area: phrase; }
.kbmb-widget--honored-presence .kbmb-hp__left{  grid-area: avatar; justify-self: end; }
.kbmb-widget--honored-presence .kbmb-hp__meta{  grid-area: meta;  margin-top: -6px; }
.kbmb-widget--honored-presence .kbmb-hp__actions{ grid-area: actions; margin-top: 6px; }

/* Meta plus lisible sous la phrase */
.kbmb-widget--honored-presence .kbmb-hp__fields{
  margin-top: 6px;
  max-width: 980px;
}
/* ===== HERO full-bleed background (sans décaler le widget) ===== */

/* 1) Le widget reste dans le flux normal (centré par le layout existant) */
.kbmb-widget--honored-presence{
  position: relative;
  overflow: hidden; /* garde le rendu propre */
}

/* 2) On étend UNIQUEMENT le fond en pleine largeur via un calque */
.kbmb-widget--honored-presence::before{
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;

  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);

  /* Base HERO color */
  background: #2c3e50;

  /* Subtle premium depth (vignette + soft gold bloom) */
  background-image:
    radial-gradient(900px 420px at 20% 25%, rgba(212,175,55,0.10), transparent 60%),
    radial-gradient(900px 520px at 80% 70%, rgba(255,255,255,0.05), transparent 65%),
    radial-gradient(1200px 700px at 50% 50%, transparent 55%, rgba(0,0,0,0.35) 100%);
}

.kbmb-widget--honored-presence::after{
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;

  inset: -40%;
  background: linear-gradient(115deg, transparent 40%, rgba(255,255,255,0.07) 50%, transparent 60%);
  transform: translateX(-30%) translateY(-10%);
  opacity: .25;
  animation: kbmb_hp_sweep 10s ease-in-out infinite;
}

@keyframes kbmb_hp_sweep{
  0%   { transform: translateX(-35%) translateY(-12%); opacity:.14; }
  50%  { transform: translateX(10%)  translateY(6%);  opacity:.25; }
  100% { transform: translateX(-35%) translateY(-12%); opacity:.14; }
}

/* 3) Le contenu reste au-dessus du calque */
.kbmb-widget--honored-presence > *{
  position: relative;
  z-index: 1;
}

/* ============================================================
   Refined Honored Presence header
   - higher specificity than the inline widget stylesheet
   - keeps the current DOM / hooks intact
   ============================================================ */

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance]{
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  min-height: 100vh;
  padding: clamp(26px, 3vw, 42px) 0;
  background:
    radial-gradient(1200px 700px at 15% 14%, rgba(255,255,255,0.08), transparent 46%),
    radial-gradient(900px 560px at 84% 18%, rgba(212,175,55,0.10), transparent 36%),
    radial-gradient(1000px 620px at 50% 110%, rgba(255,255,255,0.06), transparent 46%),
    linear-gradient(180deg, #243240 0%, #2c3e50 55%, #233244 100%);
  box-shadow: none;
  box-sizing: border-box;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance]::before{
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  pointer-events: none;
  background:
    radial-gradient(900px 460px at 18% 24%, rgba(212,175,55,0.08), transparent 58%),
    radial-gradient(900px 520px at 82% 72%, rgba(255,255,255,0.05), transparent 62%),
    radial-gradient(1200px 700px at 50% 52%, transparent 50%, rgba(0,0,0,0.28) 100%);
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance]::after{
  content: "";
  position: absolute;
  z-index: 0;
  inset: -40%;
  pointer-events: none;
  background:
    linear-gradient(115deg, transparent 42%, rgba(255,255,255,0.06) 50%, transparent 58%),
    radial-gradient(circle at 50% 100%, rgba(255,255,255,0.16), transparent 52%);
  transform: translateX(-28%) translateY(-10%);
  opacity: 0.22;
  animation: none;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp{
  position: relative;
  z-index: 1;
  width: min(100%, 1260px);
  margin: 0 auto;
  padding: clamp(40px, 4vw, 56px);
  border-radius: clamp(24px, 2.8vw, 34px);
  display: grid;
  grid-template-columns: minmax(0, 1.10fr) minmax(300px, 0.90fr);
  grid-template-areas:
    "phrase avatar"
    "meta avatar"
    "actions actions";
  gap: clamp(20px, 3vw, 44px) clamp(24px, 4vw, 60px);
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 20px 60px rgba(0,0,0,0.25);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp::before{
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(115deg, rgba(255,255,255,0.18), rgba(255,255,255,0) 32%, rgba(255,255,255,0.06) 78%, rgba(255,255,255,0) 100%);
  opacity: 0.32;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__top{
  display: contents;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__right{
  grid-area: phrase;
  display: grid;
  gap: clamp(10px, 1.5vw, 16px);
  align-content: center;
  justify-items: start;
  max-width: 760px;
  padding-block: clamp(4px, 0.8vw, 8px);
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__left{
  grid-area: avatar;
  position: relative;
  justify-self: end;
  align-self: center;
  padding-bottom: clamp(14px, 2vw, 24px);
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__avatar-stage{
  position: relative;
  display: grid;
  justify-items: center;
  width: fit-content;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__left::before{
  content: "";
  position: absolute;
  z-index: 0;
  inset: 12% 6% 10% 8%;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 42%, rgba(255,244,214,0.24), rgba(212,175,55,0.14) 34%, rgba(212,175,55,0) 70%);
  filter: blur(12px);
  opacity: 0.95;
  pointer-events: none;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__avatar{
  position: relative;
  z-index: 1;
  width: clamp(250px, 24vw, 400px);
  aspect-ratio: 1;
  border-radius: 999px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.03));
  border: 1px solid rgba(246,216,137,0.58);
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.05),
    0 18px 42px rgba(0,0,0,0.18),
    0 0 72px rgba(212,175,55,0.18);
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__avatar::before{
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08);
  pointer-events: none;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__avatar::after{
  content: "";
  position: absolute;
  z-index: 0;
  inset: -14%;
  border-radius: inherit;
  background:
    radial-gradient(circle at 42% 30%, rgba(255,245,213,0.34), transparent 35%),
    radial-gradient(circle at 60% 62%, rgba(212,175,55,0.16), transparent 52%);
  opacity: 0.55;
  filter: blur(18px);
  pointer-events: none;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__avatar img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(0.95) contrast(0.98);
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__avatar-placeholder{
  position: relative;
  width: 100%;
  height: 100%;
  background:
    radial-gradient(ellipse at 50% 18%, rgba(236,243,250,0.14) 0%, rgba(236,243,250,0.06) 26%, rgba(236,243,250,0.02) 48%, rgba(236,243,250,0) 70%),
    linear-gradient(180deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.015) 100%);
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__avatar-placeholder::before{
  content: "";
  position: absolute;
  left: 50%;
  top: 24%;
  width: 23%;
  aspect-ratio: 1;
  transform: translateX(-50%);
  border-radius: 50%;
  background: rgba(233,240,248,0.17);
  opacity: 0.58;
  pointer-events: none;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__avatar-placeholder::after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: 14%;
  width: 62%;
  height: 37%;
  transform: translateX(-50%);
  border-radius: 58% 58% 48% 48% / 62% 62% 40% 40%;
  background: linear-gradient(180deg, rgba(233,240,248,0.14) 0%, rgba(233,240,248,0.05) 100%);
  opacity: 0.55;
  pointer-events: none;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__photo-actions{
  position: absolute;
  left: 50%;
  bottom: clamp(18px, 2.4vw, 28px);
  transform: translateX(-50%);
  display: grid;
  gap: 8px;
  justify-items: center;
  width: max-content;
  max-width: calc(100% - 24px);
  z-index: 2;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__file-btn{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px 9px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.10);
  color: rgba(255,255,255,0.92);
  cursor: pointer;
  white-space: nowrap;
  box-shadow: 0 16px 30px rgba(0,0,0,0.12);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__file-btn::before{
  content: "+";
  font-size: 1.08em;
  line-height: 1;
  font-weight: 500;
  color: rgba(255,255,255,0.90);
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__file-btn:hover,
.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__file-btn:focus-visible{
  background: rgba(255,255,255,0.14);
  border-color: rgba(255,255,255,0.26);
  color: rgba(255,255,255,0.98);
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__wall-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 11px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.72);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.01em;
  opacity: 0.78;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__wall-btn:hover,
.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__wall-btn:focus-visible{
  background: rgba(255,255,255,0.10);
  border-color: rgba(255,255,255,0.20);
  color: rgba(255,255,255,0.88);
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__tribute-input,
.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__tribute-text{
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  color: #d4af37;
  font-family: ui-serif, "Georgia", "Times New Roman", serif;
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.5;
  letter-spacing: 0.01em;
  text-shadow: 0 0 12px rgba(212,175,55,0.18), 0 1px 0 rgba(0,0,0,0.22);
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__tribute-input{
  min-height: calc(1.5em + 12px);
  resize: none;
  overflow: hidden;
  white-space: pre-wrap;
  overflow-wrap: break-word;
  outline: none;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__tribute-input::placeholder{
  color: rgba(255,255,255,0.44);
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__tribute-input:focus{
  border-bottom: 1px solid rgba(255,255,255,0.18);
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__dedication{
  display: grid;
  gap: 6px;
  max-width: 680px;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__dedication-kicker,
.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__dedication-copy{
  display: none;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__dedication-name-wrap{
  position: relative;
  display: block;
  width: fit-content;
  max-width: 100%;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__dedication-name{
  margin: 0;
  color: #ffffff;
  font-family: ui-serif, "Georgia", "Times New Roman", serif;
  font-size: clamp(40px, 4.7vw, 72px);
  line-height: 1.03;
  letter-spacing: -0.03em;
  font-weight: 650;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__dedication-name-input{
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  outline: none;
  color: inherit;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__dedication-name-input::placeholder{
  color: rgba(255,255,255,0.55);
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-dates{
  margin-top: 6px;
  display: flex;
  flex-wrap: nowrap;
  align-items: baseline;
  gap: 0;
  max-width: 100%;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,0.10);
  white-space: nowrap;
  overflow: hidden;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-date,
.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-date-row{
  margin: 0;
  color: rgba(255,255,255,0.62);
  font-size: 14px;
  line-height: 1.45;
  letter-spacing: 0.01em;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-date{
  display: inline-flex;
  align-items: baseline;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-date + .kbmb-hp__life-date::before{
  content: "•";
  margin: 0 8px;
  color: rgba(255,255,255,0.42);
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-date-row{
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  cursor: text;
  white-space: nowrap;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-date-prefix{
  color: inherit;
  opacity: 0.86;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-date-btn{
  appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  padding: 0;
  cursor: text;
  min-width: 10px;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-date-btn:hover,
.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-date-btn:focus-visible{
  color: rgba(255,255,255,0.90);
  text-decoration: underline;
  text-decoration-color: rgba(255,255,255,0.30);
  text-underline-offset: 2px;
  outline: none;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-date-input{
  display: none;
  width: 150px;
  padding: 0 0 2px;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,0.22);
  background: transparent;
  color: rgba(255,255,255,0.92);
  font: inherit;
  outline: none;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__meta{
  display: none;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__actions{
  grid-area: actions;
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  margin-top: clamp(16px, 2vw, 24px);
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,0.10);
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__actions-row{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-left: 0;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__helper{
  position: relative;
  display: inline-flex;
  align-items: center;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__helper-icon{
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.84);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  padding: 0;
  box-shadow: 0 10px 22px rgba(0,0,0,0.12);
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__helper-icon[aria-pressed="true"]{
  border-color: rgba(212,175,55,0.72);
  background: rgba(212,175,55,0.28);
  color: #1f2e46;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__helper-icon:focus-visible{
  outline: 2px solid rgba(212,175,55,0.82);
  outline-offset: 2px;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__helper-tooltip{
  position: absolute;
  right: calc(100% + 8px);
  left: auto;
  top: 50%;
  transform: translateY(-50%);
  white-space: nowrap;
  font-size: 12px;
  line-height: 1.2;
  color: rgba(255,255,255,0.92);
  background: rgba(13,22,40,0.92);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 999px;
  padding: 5px 9px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .16s ease;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__helper:hover .kbmb-hp__helper-tooltip,
.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__helper:focus-within .kbmb-hp__helper-tooltip{
  opacity: 1;
  visibility: visible;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 7px 11px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.82);
  text-decoration: none;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.1;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__btn:hover,
.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__btn:focus-visible{
  border-color: rgba(255,255,255,0.28);
  background: rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.96);
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence .kbmb-space-guide-entry--deuil-header{
  display: inline-flex !important;
  align-items: center;
  flex: 0 0 auto;
  margin-left: 0;
}

@media (max-width: 980px){
  .kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance]{
    min-height: auto;
    padding: clamp(14px, 3vw, 22px) 0;
  }

  .kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp{
    width: min(100%, 100%);
    grid-template-columns: 1fr;
    grid-template-areas:
      "phrase"
      "avatar"
      "actions";
    gap: clamp(16px, 3vw, 22px);
    padding: clamp(20px, 4vw, 30px);
  }

  .kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__right{
    justify-items: center;
    text-align: center;
  }

  .kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__left{
    justify-self: center;
    padding-bottom: 10px;
  }

  .kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__avatar{
    width: min(100%, 320px);
  }

  .kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__photo-actions{
    bottom: clamp(12px, 2vw, 18px);
  }

  .kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__dedication-name-wrap{
    margin-inline: auto;
  }

  .kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-dates{
    margin-inline: auto;
    text-align: left;
  }

  .kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__actions{
    justify-content: center;
  }

  .kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__actions-row{
    justify-content: center;
  }

  .kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__helper-tooltip{
    right: auto;
    left: 50%;
    top: calc(100% + 8px);
    transform: translateX(-50%);
  }
}

@media (max-width: 640px){
  .kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__tribute-input,
  .kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__tribute-text{
    font-size: clamp(16px, 4.2vw, 19px);
  }

  .kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__dedication-name{
    font-size: clamp(34px, 11vw, 46px);
  }

  .kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__file-btn{
    padding: 8px 12px 8px 10px;
    font-size: 13px;
  }

  .kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__wall-btn{
    font-size: 11px;
    padding: 6px 10px;
  }
}

@media (prefers-reduced-motion: reduce){
  .kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance]::after{
    opacity: 0.10;
  }
}

/* Final strict mockup overrides:
   keep the layout compact, emotional and close to the validated reference. */
.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance]{
  min-height: clamp(520px, 60vh, 680px) !important;
  padding: clamp(14px, 1.8vw, 22px) 0 !important;
  background:
    radial-gradient(1200px 700px at 15% 14%, rgba(255,255,255,0.08), transparent 46%),
    radial-gradient(900px 560px at 84% 18%, rgba(212,175,55,0.10), transparent 36%),
    radial-gradient(1000px 620px at 50% 110%, rgba(255,255,255,0.06), transparent 46%),
    linear-gradient(180deg, #243240 0%, #2c3e50 55%, #233244 100%) !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp{
  width: min(100%, 1200px) !important;
  padding: clamp(28px, 3vw, 42px) !important;
  gap: clamp(14px, 1.8vw, 28px) clamp(20px, 3vw, 44px) !important;
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.25) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__right{
  align-content: start !important;
  gap: clamp(8px, 1vw, 12px) !important;
  padding-block: 0 !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__left{
  align-self: start !important;
  padding-bottom: clamp(8px, 1.2vw, 14px) !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__avatar{
  width: clamp(230px, 22vw, 360px) !important;
  border: 1px solid rgba(212,175,55,0.42) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.05),
    0 16px 38px rgba(0,0,0,0.18),
    0 0 84px rgba(212,175,55,0.22) !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__avatar::after{
  inset: -16% !important;
  opacity: 0.72 !important;
  filter: blur(22px) !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__photo-actions{
  bottom: clamp(14px, 1.8vw, 22px) !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__tribute-input,
.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__tribute-text{
  color: #d4af37 !important;
  font-size: clamp(20px, 1.8vw, 26px) !important;
  line-height: 1.28 !important;
  text-shadow: 0 0 10px rgba(212,175,55,0.16), 0 1px 0 rgba(0,0,0,0.18) !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__dedication{
  margin-top: 8px !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__dedication-name{
  color: #ffffff !important;
  font-size: clamp(38px, 4.4vw, 68px) !important;
  font-weight: 600 !important;
  line-height: 1.04 !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__dedication-name-wrap{
  max-width: 100% !important;
  padding-bottom: 8px !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-dates{
  margin-top: 6px !important;
  padding-top: 8px !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: baseline !important;
  gap: 0 !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-date,
.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-date-row,
.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-date-prefix,
.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-date-btn{
  color: rgba(255,255,255,0.72) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-date{
  display: inline-flex !important;
  align-items: baseline !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-date + .kbmb-hp__life-date::before{
  content: "•" !important;
  margin: 0 8px !important;
  color: rgba(255,255,255,0.45) !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-date-row{
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 4px !important;
  white-space: nowrap !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__actions{
  margin-top: clamp(12px, 1.6vw, 18px) !important;
  padding-top: 12px !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__actions--zone2{
  align-items: center !important;
  justify-content: flex-end !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__actions-row{
  gap: 8px !important;
}

/* Avatar-only refinements:
   stronger halo and photo actions visible on interaction only. */
.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__avatar{
  overflow: visible !important;
  isolation: isolate;
  transition: box-shadow 0.25s ease;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__avatar::before{
  content: "";
  position: absolute;
  inset: -25px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(212,175,55,0.35) 0%,
    rgba(212,175,55,0.20) 30%,
    rgba(212,175,55,0.08) 55%,
    transparent 75%
  );
  filter: blur(18px);
  opacity: 0.88;
  z-index: 0;
  pointer-events: none;
  transition: filter 0.25s ease, opacity 0.25s ease;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__avatar::after{
  content: "";
  position: absolute;
  inset: -10px;
  border-radius: 50%;
  border: 1px solid rgba(212,175,55,0.6);
  box-shadow:
    0 0 12px rgba(212,175,55,0.5),
    0 0 30px rgba(212,175,55,0.25);
  background: transparent;
  z-index: 1;
  pointer-events: none;
  transition: box-shadow 0.25s ease, border-color 0.25s ease;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__avatar img,
.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__avatar .kbmb-hp__avatar-placeholder{
  position: relative;
  z-index: 2;
  border-radius: 50%;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__avatar-stage:hover .kbmb-hp__avatar::before,
.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__avatar-stage:focus-within .kbmb-hp__avatar::before{
  filter: blur(22px);
  opacity: 1;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__avatar-stage:hover .kbmb-hp__avatar::after,
.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__avatar-stage:focus-within .kbmb-hp__avatar::after{
  border-color: rgba(212,175,55,0.72);
  box-shadow:
    0 0 14px rgba(212,175,55,0.58),
    0 0 36px rgba(212,175,55,0.30);
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__avatar-stage:hover .kbmb-hp__avatar,
.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__avatar-stage:focus-within .kbmb-hp__avatar{
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.05),
    0 18px 42px rgba(0,0,0,0.18),
    0 0 96px rgba(212,175,55,0.26) !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__photo-actions{
  opacity: 0;
  transform: translateX(-50%) translateY(10px);
  transition: opacity 0.25s ease, transform 0.25s ease;
  pointer-events: none;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__avatar-stage:hover .kbmb-hp__photo-actions,
.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__avatar-stage:focus-within .kbmb-hp__photo-actions{
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__file-btn{
  padding: 8px 12px 8px 10px !important;
  background: rgba(255,255,255,0.09) !important;
  border-color: rgba(255,255,255,0.16) !important;
  box-shadow: 0 12px 24px rgba(0,0,0,0.10) !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__wall-btn{
  padding: 6px 10px !important;
  background: rgba(255,255,255,0.05) !important;
  border-color: rgba(255,255,255,0.12) !important;
}

/* Targeted UX fixes:
   1. readable dates with proper middle-dot separation
   2. rebalance top/bottom spacing of the header wrapper */
.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance]{
  padding: clamp(30px, 3.2vw, 40px) 0 clamp(6px, 1vw, 12px) !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-dates{
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  white-space: nowrap !important;
  flex-wrap: nowrap !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-date,
.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-date-row{
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-date + .kbmb-hp__life-date::before,
.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-date-row + .kbmb-hp__life-date-row::before{
  content: "·" !important;
  margin: 0 8px !important;
  color: rgba(255,255,255,0.45) !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-date-prefix,
.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-date-btn{
  white-space: nowrap !important;
}

/* Header line structure:
   phrase -> line
   name
   dates -> line
   no line directly under the name */
.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__tribute-input,
.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__tribute-text{
  margin-bottom: 0 !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__dedication{
  position: relative;
  margin-top: 10px !important;
  padding-top: 20px !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__dedication::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 180px;
  height: 1px;
  background: rgba(255,255,255,0.2);
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__dedication-name-wrap{
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__dedication-name{
  margin-bottom: 10px !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-dates{
  position: relative;
  border-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 10px !important;
  margin-bottom: 25px !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-dates::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 220px;
  height: 1px;
  background: rgba(255,255,255,0.15);
}

/* Final emotional alignment with the validated mockup:
   softer atmosphere, lighter card, stronger left-column hierarchy. */
.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance]{
  background:
    radial-gradient(1380px 760px at 16% 12%, rgba(255,255,255,0.06), transparent 48%),
    radial-gradient(940px 560px at 77% 22%, rgba(212,175,55,0.10), transparent 40%),
    radial-gradient(1200px 720px at 52% 104%, rgba(255,255,255,0.08), transparent 44%),
    linear-gradient(180deg, #243344 0%, #2b3c4f 52%, #263648 100%) !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp{
  padding: clamp(34px, 3.2vw, 46px) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.075) 0%, rgba(255,255,255,0.04) 100%),
    radial-gradient(120% 120% at 18% 18%, rgba(255,255,255,0.06), transparent 50%),
    radial-gradient(90% 90% at 78% 18%, rgba(212,175,55,0.07), transparent 52%),
    rgba(255,255,255,0.045) !important;
  border: 1px solid rgba(255,255,255,0.11) !important;
  box-shadow:
    0 26px 68px rgba(8,14,26,0.26),
    inset 0 1px 0 rgba(255,255,255,0.10) !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__right{
  gap: clamp(10px, 1.2vw, 16px) !important;
  max-width: 700px !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__tribute-input,
.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__tribute-text{
  color: #d4af37 !important;
  font-family: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif !important;
  font-size: clamp(22px, 1.95vw, 28px) !important;
  font-weight: 500 !important;
  line-height: 1.34 !important;
  letter-spacing: 0 !important;
  text-shadow: 0 0 8px rgba(212,175,55,0.10), 0 1px 0 rgba(0,0,0,0.12) !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__dedication{
  margin-top: 12px !important;
  padding-top: 24px !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__dedication::before{
  width: clamp(280px, 70%, 420px) !important;
  background: rgba(255,255,255,0.18) !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__dedication-name{
  color: #ffffff !important;
  font-family: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif !important;
  font-size: clamp(42px, 4.7vw, 74px) !important;
  font-weight: 520 !important;
  line-height: 1.02 !important;
  letter-spacing: -0.03em !important;
  text-shadow: 0 1px 0 rgba(255,255,255,0.04) !important;
  margin-bottom: 12px !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-dates{
  margin-top: 2px !important;
  margin-bottom: 28px !important;
  padding-bottom: 12px !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-date,
.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-date-row,
.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-date-prefix,
.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-date-btn{
  color: rgba(255,255,255,0.74) !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-date + .kbmb-hp__life-date::before,
.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-date-row + .kbmb-hp__life-date-row::before{
  margin: 0 10px !important;
  color: rgba(255,255,255,0.50) !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__life-dates::after{
  width: clamp(250px, 58%, 350px) !important;
  background: rgba(255,255,255,0.14) !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__actions{
  border-top-color: rgba(255,255,255,0.08) !important;
}

/* Step 1 only:
   - external header band full width with no visible rounded outer corners
   - upper structural line placed directly under the gold phrase and extended */
.kbmb-widget--honored-presence{
  border-radius: 0 !important;
  box-shadow: none !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance]{
  width: 100vw !important;
  max-width: none !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  border-radius: 0 !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__dedication{
  margin-top: 8px !important;
  padding-top: 16px !important;
}

.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__dedication::before{
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 1px !important;
  background: rgba(255,255,255,0.18) !important;
}

/* Phrase only:
   - softer gold tone
   - editorial serif
   - subtle glow
   - no other header changes */
.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__tribute-input,
.kb-ux-container > .kbmb-widget.kbmb-widget--honored-presence[data-instance] .kbmb-hp__tribute-text{
  color: #d4af37 !important;
  opacity: 0.85 !important;
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: clamp(22px, 1.95vw, 28px) !important;
  letter-spacing: 0.3px !important;
  line-height: 1.6 !important;
  text-shadow:
    0 0 6px rgba(212,175,55,0.25),
    0 0 12px rgba(212,175,55,0.12) !important;
}
