:root{
  --ink:#201b18;--soft:#62584f;--cream:#f7f0e7;--paper:#fffaf3;
  --gold:#d8b36a;--gold-dark:#8a6534;--charcoal:#171514;
  --line:rgba(32,27,24,.13);--shadow:0 24px 70px rgba(30,20,12,.15);--sage:#5b6d5a;
}
*{box-sizing:border-box} body{margin:0;font-family:Georgia,"Times New Roman",serif;color:var(--ink);background:
radial-gradient(circle at 14% 12%,rgba(216,179,106,.25),transparent 26rem),
linear-gradient(135deg,#fffaf3 0%,#f7f0e7 54%,#e8dac9 100%);min-height:100vh}
button,textarea,select,input{font:inherit}
button{border:1px solid var(--line);background:#fffaf3;color:var(--ink);border-radius:999px;min-height:42px;padding:10px 15px;cursor:pointer;font-family:Arial,sans-serif;font-weight:800}
button.primary{background:var(--charcoal);color:#fffaf3;border-color:var(--charcoal)}
.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px clamp(16px,4vw,54px);background:rgba(23,21,20,.97);color:#fffaf3;position:sticky;top:0;z-index:5;box-shadow:0 10px 32px rgba(0,0,0,.16)}
.brand{display:flex;align-items:center;gap:12px}.brand strong{display:block;font-size:23px}.brand small{display:block;color:#ecd9ae;font-style:italic}
.sd-mark,.mini-mark{width:38px;height:38px;border-radius:9px;background:linear-gradient(145deg,var(--gold),var(--gold-dark));position:relative;border:1px solid rgba(255,250,243,.65)}
.sd-mark:before,.mini-mark:before{content:"";position:absolute;left:8px;top:7px;width:15px;height:2px;background:#fffaf3;box-shadow:0 5px 0 #fffaf3,0 10px 0 #fffaf3,0 15px 0 #fffaf3}
.sd-mark span{position:absolute;right:6px;bottom:2px;font-size:18px}.controls{display:flex;gap:9px;align-items:center;flex-wrap:wrap;justify-content:flex-end;font-family:Arial,sans-serif;font-weight:800;font-size:13px}
select,.controls label{border:1px solid rgba(216,179,106,.35);border-radius:999px;background:rgba(255,250,243,.95);color:#241d19;padding:8px 11px}
.layout{display:grid;grid-template-columns:minmax(320px,1.05fr) minmax(330px,.95fr) minmax(310px,390px);gap:18px;padding:clamp(18px,4vw,44px);align-items:start}
.card{background:rgba(255,250,243,.9);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);backdrop-filter:blur(8px)}
.guide-card{padding:22px}.guide-photo{border-radius:24px;overflow:hidden;border:1px solid var(--line);background:#eadac8;max-height:430px;margin-bottom:18px}.guide-photo img{display:block;width:100%;height:430px;object-fit:cover;object-position:center top}
.kicker{margin:0 0 8px;color:var(--gold-dark);font:900 12px Arial,sans-serif;text-transform:uppercase;letter-spacing:.18em}
h1{font-size:clamp(38px,5vw,64px);line-height:.95;margin:0 0 12px;letter-spacing:-.045em} h2{font-size:30px;line-height:1.05;margin:0 0 8px} h3{margin:0 0 8px;font-size:20px}.lead,.chat-head p,.micro{color:var(--soft);line-height:1.5}
.chat{padding:18px}.messages{min-height:440px;max-height:520px;overflow:auto;border:1px solid var(--line);background:#fffdf8;border-radius:20px;padding:14px;display:flex;flex-direction:column;gap:10px}
.msg{max-width:86%;border-radius:18px;padding:12px 14px;line-height:1.45}.msg.bella{background:#f3e6d4;align-self:flex-start}.msg.user{background:#e8eddc;align-self:flex-end}.msg strong{display:block;font:900 11px Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em;margin-bottom:4px;color:#765438}
.input-row{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:12px}textarea{width:100%;border:1px solid var(--line);border-radius:18px;padding:13px;background:#fffdf8;color:var(--ink);line-height:1.45}.button-stack{display:grid;gap:8px;align-content:start}.quick-row,.row{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px}.micro{font-size:13px;margin:10px 0 0}
.side{display:grid;gap:18px}.tribute-card{padding:18px}.card-title{display:flex;align-items:center;gap:11px;margin-bottom:14px}.card-title h2{margin:0;font-size:24px}.card-title p{margin:2px 0 0;font:800 11px Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em;color:var(--soft)}
dl{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0}dl div{background:#fff7ea;border:1px solid var(--line);border-radius:14px;padding:10px}dt{font:900 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em;color:#7c6b60;margin-bottom:4px}dd{margin:0;line-height:1.32;word-break:break-word}
.verse-box{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.verse-box p{white-space:pre-line;font-style:italic;color:#544a44;line-height:1.5}
.mapping,.summary{margin:0 clamp(18px,4vw,44px) 28px;padding:clamp(18px,4vw,32px)}.zones{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.zones article{background:#fff7ea;border:1px solid var(--line);border-radius:18px;padding:15px}.zones span{display:block;margin-bottom:9px;font:900 11px Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em;color:var(--gold-dark)}.zones textarea{min-height:130px}
.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.summary-item{background:#fff7ea;border:1px solid var(--line);border-radius:18px;padding:15px}.summary-item.full{grid-column:1/-1}.summary-item strong{display:block;font:900 11px Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em;color:#76675f;margin-bottom:6px}.summary-item p{margin:0;white-space:pre-line;line-height:1.5}
@media(max-width:1180px){.layout{grid-template-columns:1fr 1fr}.side{grid-column:1/-1}.zones{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.topbar{align-items:flex-start;flex-direction:column}.layout{grid-template-columns:1fr}.input-row{grid-template-columns:1fr}.button-stack{display:flex;flex-wrap:wrap}.zones,.summary-grid,dl{grid-template-columns:1fr}.guide-photo img{height:360px}.messages{max-height:none}}


/* Bella speech / typing bubble */
.bella-status-bubble{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  max-width:100%;
  margin:0 0 12px;
  padding:10px 14px;
  border-radius:999px;
  background:#f3e6d4;
  border:1px solid rgba(32,27,24,.13);
  color:#3b2c24;
  box-shadow:0 10px 26px rgba(30,20,12,.10);
  font-family:Arial,sans-serif;
  font-size:13px;
  font-weight:800;
}
.bella-status-bubble[hidden]{
  display:none;
}
.bella-bubble-label{
  color:#8a6534;
  text-transform:uppercase;
  letter-spacing:.10em;
  font-size:11px;
}
.typing-dots{
  display:inline-flex;
  gap:3px;
  align-items:center;
}
.typing-dots i{
  width:5px;
  height:5px;
  border-radius:999px;
  background:#8a6534;
  opacity:.35;
  animation:bellaTypingDot 1.1s infinite ease-in-out;
}
.typing-dots i:nth-child(2){animation-delay:.16s}
.typing-dots i:nth-child(3){animation-delay:.32s}
@keyframes bellaTypingDot{
  0%,80%,100%{transform:translateY(0);opacity:.3}
  40%{transform:translateY(-4px);opacity:1}
}
.bella-status-bubble.speaking{
  background:#e8eddc;
}
.bella-status-bubble.listening{
  background:#eef2df;
}
.bella-status-bubble.typing{
  background:#f3e6d4;
}



/* Bella compact listening / speaking indicator */
.bella-live-indicator{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 14px;
  padding:12px 14px;
  border-radius:22px;
  border:1px solid rgba(216,179,106,.28);
  background:linear-gradient(135deg,rgba(255,250,243,.92),rgba(243,230,212,.82));
  box-shadow:0 12px 28px rgba(30,20,12,.10);
}
.bella-live-button{
  width:58px;
  height:58px;
  flex:0 0 58px;
  border-radius:999px;
  border:8px solid rgba(236,224,199,.95);
  background:#8f9a78;
  display:grid;
  place-items:center;
  padding:0;
  box-shadow:0 10px 24px rgba(32,27,24,.16);
  cursor:pointer;
  transition:background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.bella-live-button:hover{
  transform:translateY(-1px);
}
.bella-live-icon{
  position:relative;
  width:18px;
  height:28px;
  border-radius:12px;
  background:#fff8ed;
  display:block;
}
.bella-live-icon:before{
  content:"";
  position:absolute;
  left:-7px;
  top:10px;
  width:32px;
  height:22px;
  border:4px solid #fff8ed;
  border-top:0;
  border-radius:0 0 18px 18px;
}
.bella-live-icon:after{
  content:"";
  position:absolute;
  left:7px;
  top:34px;
  width:4px;
  height:10px;
  background:#fff8ed;
  box-shadow:-8px 10px 0 0 #fff8ed, 8px 10px 0 0 #fff8ed;
}
.bella-live-copy{
  display:grid;
  gap:3px;
}
.bella-live-copy strong{
  font-family:Georgia,"Times New Roman",serif;
  color:#201b18;
  font-size:18px;
  line-height:1.1;
}
.bella-live-copy span{
  color:#62584f;
  font-family:Arial,sans-serif;
  font-size:13px;
  line-height:1.35;
  font-weight:700;
}
.bella-live-indicator.is-listening .bella-live-button,
.bella-live-indicator.is-speaking .bella-live-button{
  background:#d86152;
  animation:bellaRedPulse 1.05s ease-in-out infinite;
  box-shadow:0 0 0 0 rgba(216,97,82,.46),0 12px 28px rgba(216,97,82,.22);
}
.bella-live-indicator.is-speaking .bella-live-icon{
  width:28px;
  height:22px;
  border-radius:0;
  background:transparent;
}
.bella-live-indicator.is-speaking .bella-live-icon:before{
  content:"";
  position:absolute;
  left:0;
  top:3px;
  width:11px;
  height:16px;
  border:0;
  border-radius:2px;
  background:#fff8ed;
  box-shadow:10px -5px 0 0 #fff8ed;
  clip-path:polygon(0 25%,45% 25%,100% 0,100% 100%,45% 75%,0 75%);
}
.bella-live-indicator.is-speaking .bella-live-icon:after{
  content:"";
  position:absolute;
  left:22px;
  top:0;
  width:12px;
  height:22px;
  border:3px solid #fff8ed;
  border-left:0;
  border-radius:0 16px 16px 0;
  background:transparent;
  box-shadow:none;
}
@keyframes bellaRedPulse{
  0%{transform:scale(1);box-shadow:0 0 0 0 rgba(216,97,82,.42),0 12px 28px rgba(216,97,82,.22)}
  70%{transform:scale(1.035);box-shadow:0 0 0 12px rgba(216,97,82,0),0 12px 28px rgba(216,97,82,.18)}
  100%{transform:scale(1);box-shadow:0 0 0 0 rgba(216,97,82,0),0 12px 28px rgba(216,97,82,.22)}
}
.bella-status-bubble.speaking,
.bella-status-bubble.listening{
  border-color:rgba(216,97,82,.22);
}
@media(max-width:720px){
  .bella-live-indicator{
    align-items:flex-start;
  }
  .bella-live-button{
    width:52px;
    height:52px;
    flex-basis:52px;
  }
}



/* Bella live indicator movement refinement */
.bella-live-indicator.is-ready .bella-live-button{
  background:#8f9a78;
  animation:bellaReadyBreathe 1.9s ease-in-out infinite;
}
@keyframes bellaReadyBreathe{
  0%,100%{transform:scale(1);box-shadow:0 10px 24px rgba(32,27,24,.16)}
  50%{transform:scale(1.045);box-shadow:0 12px 30px rgba(143,154,120,.28)}
}
.bella-live-indicator.is-listening .bella-live-button{
  background:#d86152 !important;
  animation:bellaRedPulse 1.05s ease-in-out infinite;
}
.bella-live-indicator.is-listening .bella-live-copy strong::after{
  content:"";
  display:inline-block;
  width:6px;
  height:6px;
  margin-left:8px;
  border-radius:999px;
  background:#d86152;
  box-shadow:10px 0 0 rgba(216,97,82,.55),20px 0 0 rgba(216,97,82,.28);
  animation:bellaListeningDots 1s ease-in-out infinite;
}
@keyframes bellaListeningDots{
  0%,100%{opacity:.35;transform:translateY(0)}
  50%{opacity:1;transform:translateY(-2px)}
}



/* Bella new listening guide image */
.guide-photo{
  position:relative;
  background:#f5ead7;
}
.guide-photo img{
  object-fit:cover;
  object-position:center center;
}
.bella-image-listen-button{
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  z-index:3;
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:44px;
  padding:10px 15px;
  border-radius:999px;
  border:1px solid rgba(216,179,106,.55);
  background:rgba(255,250,243,.88);
  color:#201b18;
  font-family:Arial,sans-serif;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 12px 30px rgba(30,20,12,.18);
  backdrop-filter:blur(8px);
}
.bella-image-listen-button:hover{
  background:linear-gradient(135deg,#e5c77e,#c89a45);
}
.bella-image-mic{
  width:14px;
  height:20px;
  border-radius:9px;
  background:#8f9a78;
  display:inline-block;
  position:relative;
}
.bella-image-mic:before{
  content:"";
  position:absolute;
  left:-5px;
  top:7px;
  width:20px;
  height:16px;
  border:3px solid #8f9a78;
  border-top:0;
  border-radius:0 0 15px 15px;
}
.bella-image-mic:after{
  content:"";
  position:absolute;
  left:5px;
  top:25px;
  width:4px;
  height:8px;
  background:#8f9a78;
}
.bella-image-listen-button.is-listening .bella-image-mic{
  background:#d86152;
  animation:bellaImageMicPulse 1.05s ease-in-out infinite;
}
.bella-image-listen-button.is-listening .bella-image-mic:before{
  border-color:#d86152;
}
.bella-image-listen-button.is-listening .bella-image-mic:after{
  background:#d86152;
}
@keyframes bellaImageMicPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.12)}
}
@media(max-width:760px){
  .guide-photo img{
    min-height:360px;
    object-position:42% center;
  }
  .bella-image-listen-button{
    bottom:12px;
    min-height:40px;
    padding:9px 13px;
  }
}



/* Bella mic toggle + cleaner controls */
.primary-send-stack{
  min-width:130px;
}
.bella-secondary-controls{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
  justify-content:flex-end;
}
.bella-secondary-controls button{
  min-height:34px;
  padding:7px 11px;
  border-radius:999px;
  border:1px solid rgba(32,27,24,.12);
  background:rgba(255,250,243,.74);
  color:#5f554f;
  font-family:Arial,sans-serif;
  font-size:12px;
  font-weight:800;
}
.bella-secondary-controls button:hover{
  background:#fffaf3;
  color:#201b18;
}
.bella-live-indicator.is-listening .bella-live-copy strong{
  color:#9e3127;
}
.bella-live-indicator.is-listening .bella-live-button{
  cursor:pointer;
}
.bella-live-indicator.is-ready .bella-live-button{
  cursor:pointer;
}
.bella-image-listen-button.is-listening span:last-child,
.bella-image-listen-button[data-listening="true"] span:last-child{
  color:#9e3127;
}
@media(max-width:760px){
  .input-row{
    grid-template-columns:1fr !important;
  }
  .primary-send-stack{
    display:flex;
    justify-content:flex-end;
  }
  .bella-secondary-controls{
    justify-content:flex-start;
  }
}



/* Mobile-friendly Bella conversation sizing */
#messages.messages,
.messages{
  min-height:320px;
  max-height:460px;
  overflow-y:auto;
  scroll-behavior:smooth;
}
.chat.card{
  display:flex;
  flex-direction:column;
}
.chat .input-row{
  flex-shrink:0;
}
@media(max-width:900px){
  #messages.messages,
  .messages{
    min-height:260px !important;
    max-height:360px !important;
  }
}
@media(max-width:620px){
  #messages.messages,
  .messages{
    min-height:220px !important;
    max-height:285px !important;
  }
  .chat-head h2{
    margin-bottom:4px !important;
  }
  .chat-head p{
    margin-top:0 !important;
    font-size:.92rem !important;
  }
}



.bella-scroll-note{
  margin:7px 2px 10px;
  color:#7a6b60;
  font-family:Arial,sans-serif;
  font-size:11px;
  font-weight:800;
  letter-spacing:.02em;
}
@media(min-width:901px){
  .bella-scroll-note{
    display:none;
  }
}



/* Make the Start Tribute button feel active */
#startBtn{
  position:relative;
}
#startBtn::after{
  content:" →";
  font-weight:900;
}
#startBtn:hover{
  transform:translateY(-1px);
}



/* Bella parchment hover treatment for Send to Bella */
#sendBtn.primary{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  color:#2c211b !important;
  border:1px solid rgba(184,139,65,.46) !important;
  background:
    radial-gradient(circle at 22% 18%,rgba(255,255,255,.82),transparent 34%),
    linear-gradient(135deg,#fff8ea 0%,#f1dfbe 48%,#d9b978 100%) !important;
  box-shadow:
    0 12px 28px rgba(80,49,20,.13),
    inset 0 0 0 1px rgba(255,255,255,.42) !important;
  text-shadow:0 1px 0 rgba(255,255,255,.55);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
#sendBtn.primary::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.28;
  background:
    linear-gradient(120deg,transparent 0 34%,rgba(255,255,255,.48) 44%,transparent 56%),
    repeating-linear-gradient(22deg,rgba(116,82,44,.08) 0 1px,transparent 1px 9px);
  transform:translateX(-120%);
  transition:transform .45s ease, opacity .18s ease;
}
#sendBtn.primary:hover,
#sendBtn.primary:focus-visible{
  color:#201b18 !important;
  border-color:rgba(216,179,106,.82) !important;
  background:
    radial-gradient(circle at 26% 18%,rgba(255,255,255,.92),transparent 36%),
    linear-gradient(135deg,#fffaf2 0%,#ead2a1 44%,#c99a45 100%) !important;
  box-shadow:
    0 16px 34px rgba(184,139,65,.24),
    inset 0 0 0 1px rgba(255,255,255,.58) !important;
  transform:translateY(-1px);
}
#sendBtn.primary:hover::before,
#sendBtn.primary:focus-visible::before{
  transform:translateX(120%);
  opacity:.38;
}
#sendBtn.primary:active{
  transform:translateY(0);
  box-shadow:
    0 8px 18px rgba(80,49,20,.15),
    inset 0 0 0 1px rgba(255,255,255,.42) !important;
}

/* Keep the Send area visually connected to Bella's soft parchment look */
.primary-send-stack{
  border-radius:999px;
}



/* Bella microphone mobile visibility and working toggle */
.bella-live-indicator{
  display:flex !important;
  align-items:center;
  gap:12px;
  margin:0 0 14px;
  padding:12px 14px;
  border-radius:22px;
  border:1px solid rgba(216,179,106,.28);
  background:linear-gradient(135deg,rgba(255,250,243,.94),rgba(243,230,212,.86));
  box-shadow:0 12px 28px rgba(30,20,12,.10);
  min-height:78px;
}
.bella-live-button{
  width:62px !important;
  height:62px !important;
  min-width:62px !important;
  flex:0 0 62px !important;
  border-radius:999px !important;
  border:8px solid rgba(236,224,199,.95) !important;
  background:#8f9a78 !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
  box-shadow:0 10px 24px rgba(32,27,24,.16);
  cursor:pointer;
  position:relative;
  overflow:visible;
}
.bella-live-icon{
  position:relative !important;
  display:block !important;
  width:18px !important;
  height:28px !important;
  border-radius:12px !important;
  background:#fff8ed !important;
}
.bella-live-icon:before{
  content:"" !important;
  position:absolute !important;
  left:-7px !important;
  top:10px !important;
  width:32px !important;
  height:22px !important;
  border:4px solid #fff8ed !important;
  border-top:0 !important;
  border-radius:0 0 18px 18px !important;
  background:transparent !important;
  box-shadow:none !important;
}
.bella-live-icon:after{
  content:"" !important;
  position:absolute !important;
  left:7px !important;
  top:34px !important;
  width:4px !important;
  height:10px !important;
  background:#fff8ed !important;
  box-shadow:-8px 10px 0 0 #fff8ed, 8px 10px 0 0 #fff8ed !important;
}
.bella-live-copy strong{
  display:block;
  font-family:Georgia,"Times New Roman",serif;
  color:#201b18;
  font-size:18px;
  line-height:1.15;
}
.bella-live-copy span{
  display:block;
  color:#62584f;
  font-family:Arial,sans-serif;
  font-size:13px;
  line-height:1.35;
  font-weight:700;
}
.bella-live-indicator.is-ready .bella-live-button{
  animation:bellaReadyBreathe 1.9s ease-in-out infinite;
}
.bella-live-indicator.is-listening .bella-live-button,
.bella-live-indicator.is-speaking .bella-live-button{
  background:#d86152 !important;
  animation:bellaRedPulse 1.05s ease-in-out infinite;
}
@keyframes bellaReadyBreathe{
  0%,100%{transform:scale(1);box-shadow:0 10px 24px rgba(32,27,24,.16)}
  50%{transform:scale(1.045);box-shadow:0 12px 30px rgba(143,154,120,.28)}
}
@keyframes bellaRedPulse{
  0%{transform:scale(1);box-shadow:0 0 0 0 rgba(216,97,82,.42),0 12px 28px rgba(216,97,82,.22)}
  70%{transform:scale(1.035);box-shadow:0 0 0 12px rgba(216,97,82,0),0 12px 28px rgba(216,97,82,.18)}
  100%{transform:scale(1);box-shadow:0 0 0 0 rgba(216,97,82,0),0 12px 28px rgba(216,97,82,.22)}
}
.bella-mic-help{
  margin:7px 2px 12px;
  color:#7a6b60;
  font-family:Arial,sans-serif;
  font-size:11px;
  font-weight:800;
  line-height:1.35;
}
.bella-secondary-controls{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
  justify-content:flex-end;
}
.bella-secondary-controls button{
  min-height:34px;
  padding:7px 11px;
  border-radius:999px;
  border:1px solid rgba(32,27,24,.12);
  background:rgba(255,250,243,.74);
  color:#5f554f;
  font-family:Arial,sans-serif;
  font-size:12px;
  font-weight:800;
}
@media(max-width:760px){
  .bella-live-indicator{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    min-height:74px !important;
    margin:0 0 12px !important;
    padding:10px 11px !important;
  }
  .bella-live-button{
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    flex-basis:58px !important;
  }
  .bella-live-copy strong{font-size:16px !important;}
  .bella-live-copy span{font-size:12px !important;}
  .input-row{grid-template-columns:1fr !important;}
  .primary-send-stack{display:flex !important; justify-content:flex-end !important;}
  .bella-secondary-controls{justify-content:flex-start !important;}
}



/* Etched In My Heart / vendor product output labels */
.product-mapping-label{
  border:1px solid rgba(216,179,106,.32);
  border-radius:18px;
  padding:14px;
  margin:12px 0 14px;
  background:linear-gradient(135deg,rgba(255,250,243,.92),rgba(243,230,212,.72));
}
.product-mapping-label .mapping-kicker,
.mapping-kicker{
  margin:0 0 5px;
  font-family:Arial,sans-serif;
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#8a6534;
}
.product-mapping-label h2{
  margin:0 0 6px;
  font-size:24px;
  line-height:1.08;
}
.product-mapping-label p{
  margin:0;
  color:#5f554f;
  font-size:14px;
}
.vendor-output-card{
  margin-top:18px;
}
.vendor-note{
  color:#5f554f;
  line-height:1.45;
  margin:8px 0 14px;
}
.vendor-lines{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.vendor-lines label{
  display:grid;
  gap:5px;
  color:#8a6534;
  font-family:Arial,sans-serif;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.vendor-lines input{
  width:100%;
  border:1px solid rgba(32,27,24,.14);
  border-radius:12px;
  background:#fffaf3;
  color:#201b18;
  padding:10px 11px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:15px;
}
@media(max-width:620px){
  .vendor-lines{
    grid-template-columns:1fr;
  }
}



/* Bella voice controls moved higher and quieter */
.bella-secondary-controls-wrap{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin:2px 0 12px;
  padding:8px 10px;
  border-radius:18px;
  background:rgba(255,250,243,.54);
  border:1px solid rgba(216,179,106,.18);
}
.bella-secondary-label{
  font-family:Arial,sans-serif;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#8a6534;
  white-space:nowrap;
}
.bella-secondary-controls{
  display:flex !important;
  flex-wrap:wrap;
  gap:7px;
  justify-content:flex-start !important;
  margin:0 !important;
}
.bella-secondary-controls button{
  min-height:32px !important;
  padding:6px 10px !important;
  border-radius:999px !important;
  border:1px solid rgba(32,27,24,.12) !important;
  background:rgba(255,250,243,.82) !important;
  color:#5f554f !important;
  font-family:Arial,sans-serif !important;
  font-size:11px !important;
  font-weight:900 !important;
}
.bella-secondary-controls button:hover{
  background:linear-gradient(135deg,#fff8ea,#e8d3a5) !important;
  color:#201b18 !important;
}
@media(max-width:620px){
  .bella-secondary-controls-wrap{
    align-items:flex-start;
    gap:7px;
    padding:7px 8px;
  }
  .bella-secondary-label{
    width:100%;
  }
  .bella-secondary-controls button{
    font-size:10.5px !important;
    min-height:30px !important;
    padding:5px 9px !important;
  }
}



/* Funeral home demo start note */
.demo-start-note{
  margin:9px 0 0;
  color:#6f6259;
  font-family:Arial,sans-serif;
  font-size:12px;
  font-weight:800;
  line-height:1.35;
}



/* Bella friend mode: shorter text box */
#userInput{
  min-height:74px !important;
  max-height:118px !important;
  resize:vertical;
}
@media(max-width:620px){
  #userInput{
    min-height:64px !important;
    max-height:96px !important;
  }
}



/* Bella extra-short scrollable input box */
#userInput{
  min-height:46px !important;
  height:52px !important;
  max-height:78px !important;
  overflow-y:auto !important;
  resize:vertical;
  line-height:1.32 !important;
  padding-top:10px !important;
  padding-bottom:10px !important;
}
#userInput::-webkit-scrollbar{
  width:8px;
}
#userInput::-webkit-scrollbar-track{
  background:rgba(255,250,243,.65);
  border-radius:999px;
}
#userInput::-webkit-scrollbar-thumb{
  background:rgba(184,139,65,.45);
  border-radius:999px;
}
#userInput::-webkit-scrollbar-thumb:hover{
  background:rgba(184,139,65,.68);
}
@media(max-width:620px){
  #userInput{
    min-height:42px !important;
    height:48px !important;
    max-height:66px !important;
    font-size:14px !important;
  }
}



/* Bella three-bubble conversation scroll area */
#messages.messages,
.messages{
  height:240px !important;
  min-height:180px !important;
  max-height:240px !important;
  overflow-y:auto !important;
  overscroll-behavior:contain;
  scroll-behavior:smooth;
  padding-right:8px !important;
}
#messages.messages::-webkit-scrollbar,
.messages::-webkit-scrollbar{
  width:9px;
}
#messages.messages::-webkit-scrollbar-track,
.messages::-webkit-scrollbar-track{
  background:rgba(255,250,243,.68);
  border-radius:999px;
}
#messages.messages::-webkit-scrollbar-thumb,
.messages::-webkit-scrollbar-thumb{
  background:rgba(184,139,65,.48);
  border-radius:999px;
}
#messages.messages::-webkit-scrollbar-thumb:hover,
.messages::-webkit-scrollbar-thumb:hover{
  background:rgba(184,139,65,.72);
}
@media(max-width:760px){
  #messages.messages,
  .messages{
    height:200px !important;
    min-height:160px !important;
    max-height:200px !important;
  }
}
@media(max-width:480px){
  #messages.messages,
  .messages{
    height:175px !important;
    min-height:145px !important;
    max-height:175px !important;
  }
}



/* Bella demo polish: top start button and send command note */
.bella-start-top{
  min-height:38px;
  padding:9px 14px;
  border-radius:999px;
  border:1px solid rgba(184,139,65,.46);
  background:
    radial-gradient(circle at 22% 18%,rgba(255,255,255,.82),transparent 34%),
    linear-gradient(135deg,#fff8ea 0%,#f1dfbe 48%,#d9b978 100%);
  color:#2c211b;
  font-family:Arial,sans-serif;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(80,49,20,.12), inset 0 0 0 1px rgba(255,255,255,.42);
}
.bella-start-top:hover,
.bella-start-top:focus-visible{
  transform:translateY(-1px);
  background:
    radial-gradient(circle at 26% 18%,rgba(255,255,255,.92),transparent 36%),
    linear-gradient(135deg,#fffaf2 0%,#ead2a1 44%,#c99a45 100%);
}
.bella-send-command-note{
  flex-basis:100%;
  margin:0;
  color:#6f6259;
  font-family:Arial,sans-serif;
  font-size:11px;
  font-weight:800;
  line-height:1.35;
}
.bella-send-command-note strong{
  color:#8a6534;
}
@media(max-width:620px){
  .bella-start-top{
    width:100%;
    justify-content:center;
  }
  .bella-send-command-note{
    font-size:10.5px;
  }
}


/* Bella Demo Polish V2 */
.bella-send-command-note{max-width:680px;}

/* Bella interactive prompt variety */
.bella-send-command-note{max-width:720px;}


/* Bella pause listening button */
#pauseListenBtn{
  border-color:rgba(184,139,65,.34) !important;
  background:rgba(255,250,243,.90) !important;
  color:#8a6534 !important;
}
#pauseListenBtn:hover{
  background:linear-gradient(135deg,#fff8ea,#ead2a1) !important;
  color:#201b18 !important;
}


/* Bella Personal Conversation Layer V1 */
.bella-send-command-note{max-width:740px;}


/* Bella poem library layer */
.poem-library-note{
  margin:6px 0 10px;
  color:#6f6259;
  font-family:Arial,sans-serif;
  font-size:12px;
  font-weight:800;
  line-height:1.35;
}
.poem-source-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:8px;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(255,250,243,.82);
  border:1px solid rgba(184,139,65,.28);
  color:#8a6534;
  font-family:Arial,sans-serif;
  font-size:11px;
  font-weight:900;
}



/* Bella support/save-for-later note */
.bella-support-note{
  flex-basis:100%;
  margin:0;
  color:#5f554f;
  font-family:Georgia,"Times New Roman",serif;
  font-size:13px;
  line-height:1.4;
  background:rgba(255,250,243,.66);
  border:1px solid rgba(184,139,65,.22);
  border-radius:14px;
  padding:8px 10px;
}



/* Legacy / Imprint Card preview */
.legacy-card-section{
  margin-top:18px;
}
.legacy-imprint-card{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  padding:18px;
  border:1px solid rgba(216,179,106,.46);
  background:
    radial-gradient(circle at 12% 10%,rgba(255,255,255,.95),transparent 30%),
    linear-gradient(145deg,#fffaf3 0%,#ead8b8 52%,#d8b36a 100%);
  box-shadow:0 20px 55px rgba(30,20,12,.16), inset 0 0 0 1px rgba(255,255,255,.45);
}
.legacy-imprint-card:after{
  content:"";
  position:absolute;
  right:-18px;
  top:-18px;
  width:74px;
  height:74px;
  background:rgba(32,27,24,.08);
  transform:rotate(45deg);
}
.legacy-card-topline{
  display:flex;
  justify-content:space-between;
  gap:12px;
  color:#6d522f;
  font-family:Arial,sans-serif;
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-bottom:12px;
}
.legacy-card-chip-row{
  display:flex;
  gap:5px;
  margin-bottom:14px;
}
.legacy-card-chip-row i{
  width:22px;
  height:7px;
  border-radius:999px;
  background:rgba(32,27,24,.20);
  display:block;
}
.legacy-card-main{
  display:grid;
  grid-template-columns:96px 1fr;
  gap:16px;
  align-items:center;
}
.legacy-card-photo{
  height:108px;
  border-radius:22px;
  border:1px dashed rgba(32,27,24,.28);
  background:rgba(255,250,243,.56);
  display:grid;
  place-items:center;
  color:#8a6534;
  font-family:Arial,sans-serif;
  font-weight:900;
  text-align:center;
}
.legacy-card-photo small{
  display:block;
  font-size:10px;
  color:#7a6b60;
  margin-top:-28px;
}
.legacy-label{
  margin:0 0 4px;
  color:#8a6534;
  font-family:Arial,sans-serif;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.legacy-card-copy h3{
  margin:0;
  color:#201b18;
  font-family:Georgia,"Times New Roman",serif;
  font-size:30px;
  line-height:1.05;
}
.legacy-relationship{
  margin:6px 0 0;
  color:#5f554f;
  font-weight:800;
}
.legacy-phrase{
  margin:8px 0 0;
  color:#2c211b;
  font-family:Georgia,"Times New Roman",serif;
  font-size:17px;
  font-style:italic;
}
.legacy-card-details{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:16px;
}
.legacy-card-details div,
.legacy-card-verse{
  border-radius:16px;
  background:rgba(255,250,243,.62);
  border:1px solid rgba(32,27,24,.10);
  padding:10px;
}
.legacy-card-details strong,
.legacy-card-verse strong{
  display:block;
  color:#8a6534;
  font-family:Arial,sans-serif;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:4px;
}
.legacy-card-details span{
  color:#201b18;
  font-family:Georgia,"Times New Roman",serif;
  font-size:14px;
}
.legacy-memory{
  grid-column:1 / -1;
}
.legacy-card-verse{
  margin-top:10px;
}
.legacy-card-verse p{
  margin:0;
  color:#201b18;
  font-family:Georgia,"Times New Roman",serif;
  font-size:14px;
  line-height:1.42;
  white-space:pre-line;
}
.legacy-card-footer{
  display:flex;
  justify-content:flex-end;
  margin-top:12px;
  color:#6d522f;
  font-family:Arial,sans-serif;
  font-size:10px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
}
@media(max-width:620px){
  .legacy-card-main{
    grid-template-columns:1fr;
  }
  .legacy-card-photo{
    max-width:160px;
  }
  .legacy-card-copy h3{
    font-size:26px;
  }
  .legacy-card-details{
    grid-template-columns:1fr;
  }
}



/* Bella compact voice instruction */
.bella-send-command-note{
  flex-basis:100%;
  margin:0;
  color:#6f6259;
  font-family:Arial,sans-serif;
  font-size:11px;
  font-weight:800;
  line-height:1.35;
}
.bella-send-command-note strong{
  color:#8a6534;
}



/* Bella crisp conversation cleanup */
.bella-support-note,
.bella-send-command-note,
.demo-start-note,
.bella-scroll-note,
.bella-mic-help,
.poem-library-note{
  display:none !important;
}
.bella-secondary-controls-wrap{
  margin-top:8px !important;
  margin-bottom:10px !important;
  padding:8px 10px !important;
}
.bella-secondary-label{
  font-size:10px !important;
}
.quick-row{
  display:none !important;
}



/* Bella compact microphone hint */
.bella-compact-mic-hint{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  align-items:center;
  margin:0 0 10px;
  font-family:Arial,sans-serif;
  font-size:11px;
  font-weight:900;
  color:#6f6259;
}
.bella-compact-mic-hint span{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(255,250,243,.78);
  border:1px solid rgba(184,139,65,.22);
}
.bella-compact-mic-hint span:nth-child(2){
  color:#8a6534;
}
@media(max-width:620px){
  .bella-compact-mic-hint{
    font-size:10.5px;
    gap:5px;
  }
  .bella-compact-mic-hint span{
    padding:5px 8px;
  }
}



/* Tribute Imprint Card SD-inspired refinement */
.legacy-imprint-card{
  clip-path:polygon(0 0,84% 0,100% 16%,100% 100%,0 100%);
}
.legacy-imprint-card:before{
  content:"";
  position:absolute;
  right:0;
  top:0;
  width:86px;
  height:86px;
  background:rgba(74,45,32,.14);
  clip-path:polygon(0 0,100% 100%,100% 0);
  pointer-events:none;
}
.legacy-card-topline span:last-child{
  color:#4a2d20;
}
.legacy-card-photo{
  position:relative;
  overflow:hidden;
}
.legacy-card-photo:before{
  content:"";
  position:absolute;
  width:58px;
  height:58px;
  border-radius:50%;
  background:rgba(74,45,32,.18);
  left:50%;
  top:44%;
  transform:translate(-50%,-50%);
}
.legacy-card-photo:after{
  content:"";
  position:absolute;
  width:48px;
  height:36px;
  border-radius:50% 50% 45% 45%;
  background:#4a2d20;
  left:50%;
  top:45%;
  transform:translate(-50%,-50%);
  box-shadow:-22px -18px 0 -12px #4a2d20, 22px -18px 0 -12px #4a2d20;
  opacity:.82;
}
.legacy-card-photo span,
.legacy-card-photo small{
  position:relative;
  z-index:1;
  transform:translateY(44px);
}



/* Bella v6: quieter voice controls */
.controls label{ white-space:nowrap; }
.controls input[type="checkbox"]{ accent-color:#7a5a40; }
#stopBtn{ border-color:#b88a6a; }


/* Bella v7: correction/add/regenerate controls */
.bella-secondary-controls button#addMoreBtn,
.bella-secondary-controls button#correctInfoBtn,
.bella-secondary-controls button#regenerateBtn{
  border-color:rgba(138,101,52,.30);
  background:rgba(255,250,243,.92);
}
@media(max-width:620px){
  .bella-secondary-controls button#addMoreBtn,
  .bella-secondary-controls button#correctInfoBtn,
  .bella-secondary-controls button#regenerateBtn{
    flex:1 1 118px;
  }
}

/* Pam 03: card-first Tribute Imprint Card refinement.
   This only changes the live card preview and does not touch product panel click areas. */
.legacy-imprint-card{
  clip-path:polygon(0 0, calc(100% - 42px) 0, 100% 42px, 100% 100%, 0 100%);
  border-radius:24px 34px 28px 28px !important;
  background:
    radial-gradient(circle at 15% 8%, rgba(255,255,255,.98), transparent 28%),
    linear-gradient(155deg, #fffdf8 0%, #f7ead2 54%, #d8b36a 100%) !important;
}
.legacy-imprint-card:after{
  right:-10px !important;
  top:-10px !important;
  width:76px !important;
  height:76px !important;
  background:rgba(32,27,24,.10) !important;
}
.legacy-card-chip-row{
  align-items:flex-start;
  gap:6px !important;
  min-height:34px;
}
.legacy-card-chip-row i{
  width:6px !important;
  height:30px !important;
  border-radius:6px !important;
  background:rgba(32,27,24,.62) !important;
}
.legacy-card-main{
  align-items:stretch !important;
}
.legacy-card-copy{
  min-width:0;
}
.legacy-card-photo{
  background:linear-gradient(145deg, rgba(255,250,243,.86), rgba(244,224,188,.72)) !important;
}
.legacy-card-details div,
.legacy-card-verse,
.legacy-transfer-grid div{
  backdrop-filter:blur(4px);
}
.legacy-card-details span,
.legacy-transfer-grid span{
  word-break:normal;
  overflow-wrap:anywhere;
}
.legacy-card-verse p{
  font-size:15px !important;
  line-height:1.55 !important;
}
.legacy-transfer-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:10px;
}
.legacy-transfer-grid div{
  border-radius:16px;
  background:rgba(255,250,243,.70);
  border:1px solid rgba(32,27,24,.10);
  padding:10px;
}
.legacy-transfer-grid strong{
  display:block;
  color:#8a6534;
  font-family:Arial,sans-serif;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:4px;
}
.legacy-transfer-grid span{
  color:#201b18;
  font-family:Georgia,"Times New Roman",serif;
  font-size:13px;
  line-height:1.35;
  white-space:pre-line;
}
@media(max-width:620px){
  .legacy-imprint-card{
    clip-path:polygon(0 0, calc(100% - 32px) 0, 100% 32px, 100% 100%, 0 100%);
  }
  .legacy-transfer-grid{
    grid-template-columns:1fr;
  }
}


/* Pam 04: live Imprint Card + compact voice-control accordion.
   This styles the card data carrier and Bella controls only; product panels and click areas are untouched. */
.bella-main-input-row{
  margin-top:12px !important;
}
.bella-control-accordion{
  margin:9px 0 8px;
  border:1px solid rgba(184,139,65,.22);
  border-radius:16px;
  background:rgba(255,250,243,.66);
  overflow:hidden;
}
.bella-control-accordion > summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:40px;
  padding:9px 12px;
  color:#6d522f;
  font-family:Arial,sans-serif;
  font-size:11px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.bella-control-accordion > summary::-webkit-details-marker{display:none;}
.bella-control-accordion > summary:after{
  content:"+";
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:999px;
  background:rgba(216,179,106,.28);
  color:#201b18;
  font-size:18px;
  line-height:1;
}
.bella-control-accordion[open] > summary:after{content:"−";}
.bella-control-accordion > summary small{
  flex:1;
  color:#7a6b60;
  font-size:10px;
  font-weight:800;
  letter-spacing:0;
  text-transform:none;
  text-align:right;
}
.bella-control-accordion .bella-secondary-controls-wrap{
  border:0 !important;
  border-top:1px solid rgba(184,139,65,.18) !important;
  border-radius:0 !important;
  background:rgba(255,255,255,.25) !important;
  margin:0 !important;
  padding:10px 12px !important;
}
#stopBtn{
  background:rgba(164,55,43,.12) !important;
  border-color:rgba(164,55,43,.50) !important;
  color:#9e3127 !important;
}
#stopBtn:hover{
  background:#9e3127 !important;
  border-color:#9e3127 !important;
  color:#fffaf3 !important;
}
.legacy-card-status-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin:-3px 0 14px;
}
.legacy-card-status-row span{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(255,250,243,.72);
  border:1px solid rgba(184,139,65,.20);
  color:#6d522f;
  font-family:Arial,sans-serif;
  font-size:10px;
  font-weight:900;
}
.legacy-card-captured{
  margin-top:14px;
  padding:10px;
  border-radius:16px;
  background:rgba(255,250,243,.62);
  border:1px solid rgba(32,27,24,.10);
}
.legacy-card-captured > strong,
.legacy-transfer-title strong{
  display:block;
  color:#8a6534;
  font-family:Arial,sans-serif;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:7px;
}
.legacy-gathered-chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.legacy-gathered-chips span{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:4px 8px;
  border-radius:999px;
  border:1px solid rgba(32,27,24,.12);
  background:rgba(255,255,255,.42);
  color:#7a6b60;
  font-family:Arial,sans-serif;
  font-size:10px;
  font-weight:900;
}
.legacy-gathered-chips span.is-filled{
  background:rgba(143,154,120,.16);
  border-color:rgba(143,154,120,.38);
  color:#4f5b3b;
}
.legacy-gathered-chips span.is-empty{
  border-radius:12px;
  padding:7px 9px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:13px;
  font-weight:400;
  color:#5f554f;
}
.legacy-transfer-title{
  margin:12px 0 6px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
}
.legacy-transfer-title span{
  color:#7a6b60;
  font-family:Arial,sans-serif;
  font-size:11px;
  font-weight:800;
  text-align:right;
}
@media(max-width:620px){
  .bella-control-accordion > summary{
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
    padding:10px 12px;
  }
  .bella-control-accordion > summary:after{
    position:absolute;
    right:12px;
    top:10px;
  }
  .bella-control-accordion > summary small{
    width:calc(100% - 36px);
    text-align:left;
  }
  .legacy-card-status-row,
  .legacy-transfer-title{
    align-items:flex-start;
    flex-direction:column;
  }
  .legacy-transfer-title span{text-align:left;}
}


/* Pam 06: real Tribute Imprint Card + mapping process view.
   This is a Bella card/process update only; product panel click areas are untouched. */
.bella-imprint-process{
  padding:18px;
}
.imprint-process-board{
  display:grid;
  grid-template-columns:minmax(300px, 1.05fr) minmax(260px, .95fr);
  gap:16px;
  align-items:stretch;
}
.imprint-card-actual{
  min-height:100%;
}
.legacy-card-status-row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin:0 0 12px;
  font:900 10px Arial,sans-serif;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:#7a5c35;
}
.legacy-card-captured{
  margin-top:12px;
  border-radius:16px;
  background:rgba(255,250,243,.68);
  border:1px solid rgba(32,27,24,.10);
  padding:10px;
}
.legacy-card-captured strong{
  display:block;
  color:#8a6534;
  font:900 10px Arial,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:7px;
}
.legacy-gathered-chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.legacy-gathered-chips span{
  display:inline-flex;
  min-height:26px;
  align-items:center;
  border-radius:999px;
  padding:5px 9px;
  background:#fffaf3;
  border:1px solid rgba(138,101,52,.20);
  font:800 11px Arial,sans-serif;
  color:#4a2d20;
}
.legacy-gathered-chips span.is-empty{
  border-radius:14px;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:600;
  line-height:1.35;
}
.imprint-map-preview{
  border-radius:28px;
  background:linear-gradient(145deg, rgba(255,253,248,.92), rgba(236,220,192,.92));
  border:1px solid rgba(138,101,52,.22);
  padding:18px;
  box-shadow:0 16px 38px rgba(60,38,24,.10);
}
.imprint-map-preview h3{
  font-size:26px;
  line-height:1.05;
  margin:0 0 8px;
}
.imprint-map-note{
  margin:0 0 14px;
  color:#62584f;
  line-height:1.45;
}
.imprint-map-list{
  display:grid;
  gap:10px;
}
.imprint-map-list div{
  position:relative;
  border-radius:18px;
  background:rgba(255,250,243,.78);
  border:1px solid rgba(32,27,24,.10);
  padding:12px 12px 12px 44px;
}
.imprint-map-list div:before{
  content:"";
  position:absolute;
  left:15px;
  top:17px;
  width:12px;
  height:12px;
  border-radius:999px;
  background:#8a6534;
  box-shadow:0 0 0 5px rgba(216,179,106,.22);
}
.imprint-map-list strong{
  display:block;
  color:#8a6534;
  font:900 10px Arial,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:4px;
}
.imprint-map-list span{
  display:block;
  font:15px/1.38 Georgia,"Times New Roman",serif;
  color:#201b18;
  white-space:pre-line;
}
.imprint-process-steps{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:14px;
}
.imprint-process-steps span{
  display:inline-flex;
  min-height:28px;
  align-items:center;
  border-radius:999px;
  padding:6px 10px;
  background:#4a2d20;
  color:#fffaf3;
  font:900 10px Arial,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}
@media(max-width:900px){
  .imprint-process-board{
    grid-template-columns:1fr;
  }
}


/* Pam 09: make Voice controls easier to see without changing product panels. */
.bella-control-accordion{
  border-color:rgba(63,126,99,.44) !important;
  background:linear-gradient(135deg,rgba(239,251,246,.94),rgba(255,250,243,.78)) !important;
  box-shadow:0 10px 24px rgba(63,126,99,.10) !important;
}
.bella-control-accordion > summary{
  color:#24664f !important;
  background:linear-gradient(135deg,rgba(222,246,236,.95),rgba(255,250,243,.70)) !important;
  border-radius:15px !important;
  outline:none !important;
}
.bella-control-accordion > summary span{
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.bella-control-accordion > summary span:before{
  content:"🎙";
  display:inline-grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:999px;
  background:rgba(63,126,99,.14);
  border:1px solid rgba(63,126,99,.28);
  font-size:13px;
}
.bella-control-accordion > summary:after{
  background:#2f7e63 !important;
  color:#fffaf3 !important;
  box-shadow:0 2px 10px rgba(47,126,99,.24) !important;
}
.bella-control-accordion > summary:hover,
.bella-control-accordion > summary:focus,
.bella-control-accordion > summary:focus-visible{
  background:linear-gradient(135deg,#d6f4e6,#fff8ea) !important;
  color:#1f5c47 !important;
  box-shadow:inset 0 0 0 2px rgba(47,126,99,.22),0 8px 20px rgba(47,126,99,.14) !important;
}
.bella-control-accordion[open] > summary{
  border-bottom-left-radius:0 !important;
  border-bottom-right-radius:0 !important;
}
.bella-control-accordion .bella-secondary-controls button:hover,
.bella-control-accordion .bella-secondary-controls button:focus-visible{
  background:linear-gradient(135deg,#e3f6ed,#fff7e6) !important;
  border-color:rgba(47,126,99,.38) !important;
  color:#1f5c47 !important;
  box-shadow:0 4px 12px rgba(47,126,99,.14) !important;
}
#stopBtn,
#stopBtn:hover,
#stopBtn:focus-visible{
  border-color:#9e3127 !important;
}


/* Pam 14: true Tribute Imprint Card data/output map */
.pam14-imprint-board{
  align-items:start;
}
.pam14-actual-imprint-card{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  clip-path:polygon(0 0,88% 0,100% 13%,100% 100%,0 100%);
  background:
    linear-gradient(135deg,rgba(255,255,255,.74),rgba(255,255,255,0) 32%),
    linear-gradient(180deg,#fffaf0,#f4e7d0 58%,#ead6b8);
  border:1px solid rgba(138,95,56,.34);
  box-shadow:0 22px 48px rgba(69,42,24,.16);
  padding:24px;
}
.pam14-actual-imprint-card::before{
  content:"";
  position:absolute;
  inset:12px;
  border:1px solid rgba(138,95,56,.20);
  border-radius:22px;
  clip-path:polygon(0 0,88% 0,100% 13%,100% 100%,0 100%);
  pointer-events:none;
}
.pam14-card-notch{
  position:absolute;
  right:0;
  top:0;
  width:72px;
  height:72px;
  background:linear-gradient(135deg,rgba(126,82,45,.18),rgba(255,255,255,.45));
  border-left:1px solid rgba(138,95,56,.20);
  border-bottom:1px solid rgba(138,95,56,.20);
  border-bottom-left-radius:22px;
  pointer-events:none;
}
.pam14-card-header{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  padding-right:74px;
  margin-bottom:14px;
}
.pam14-card-brand{
  margin:0 0 4px;
  color:#8b612e;
  text-transform:uppercase;
  letter-spacing:.20em;
  font-size:.72rem;
  font-weight:800;
}
.pam14-card-header h3{
  margin:0;
  font-family:Georgia,serif;
  font-size:clamp(1.55rem,3vw,2.35rem);
  line-height:1.03;
  color:#2d2119;
}
.pam14-card-header span{
  display:block;
  margin-top:6px;
  font-style:italic;
  color:#73573d;
}
.pam14-chip-lines{
  min-width:94px;
  margin:0;
  justify-content:flex-end;
}
.pam14-chip-lines i{
  height:42px;
  width:13px;
  border-radius:4px;
  background:linear-gradient(180deg,#f1d17c,#9f7329);
  border:1px solid rgba(70,48,22,.45);
}
.pam14-status-row{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:8px;
  border-top:1px solid rgba(141,98,57,.22);
  border-bottom:1px solid rgba(141,98,57,.18);
  padding:9px 0;
  margin-bottom:16px;
}
.pam14-status-row span{
  font-size:.82rem;
  color:#69482e;
}
.pam14-card-top-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:150px 1fr;
  gap:18px;
  align-items:center;
  margin-bottom:16px;
}
.pam14-photo-cell{
  min-height:150px;
  border-radius:18px;
  background:linear-gradient(145deg,#2b261f,#5e5142);
  color:#fff6e6;
  border:3px solid rgba(196,151,69,.62);
}
.pam14-photo-cell span{
  font-size:1.1rem;
  letter-spacing:.06em;
}
.pam14-identity-cell{
  min-width:0;
}
.pam14-identity-cell h3{
  margin:.1rem 0 .2rem;
  font-family:Georgia,serif;
  font-size:clamp(1.9rem,4vw,3rem);
  color:#211813;
}
.pam14-type-date{
  margin:.25rem 0;
  color:#7b6048;
  font-size:.95rem;
}
.pam14-card-info-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}
.pam14-card-info-grid div{
  border-radius:16px;
  background:rgba(255,255,255,.58);
  border:1px solid rgba(141,98,57,.20);
  padding:11px 13px;
}
.pam14-card-info-grid strong,
.pam14-four-tribute-list strong,
.pam14-verse-cell strong{
  display:block;
  font-size:.74rem;
  text-transform:uppercase;
  letter-spacing:.11em;
  color:#8a612f;
  margin-bottom:4px;
}
.pam14-card-info-grid span{
  display:block;
  white-space:pre-line;
  color:#453225;
  line-height:1.35;
  font-size:.93rem;
}
.pam14-verse-cell{
  position:relative;
  z-index:1;
  border-radius:18px;
  background:rgba(255,251,244,.72);
  border:1px solid rgba(141,98,57,.23);
  padding:15px 16px;
  margin:0 0 14px;
}
.pam14-verse-cell p{
  margin:.2rem 0 0;
  white-space:pre-line;
  font-family:Georgia,serif;
  font-size:1.08rem;
  line-height:1.42;
  color:#2d2018;
}
.pam14-four-tribute-list{
  position:relative;
  z-index:1;
  display:grid;
  gap:9px;
  margin:14px 0;
}
.pam14-list-title{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:end;
  padding-bottom:5px;
  border-bottom:1px solid rgba(141,98,57,.20);
}
.pam14-list-title span{
  color:#775e48;
  font-size:.83rem;
}
.pam14-four-tribute-list article{
  display:grid;
  grid-template-columns:32px 1fr;
  gap:10px;
  align-items:start;
  padding:10px;
  border-radius:15px;
  background:rgba(255,255,255,.50);
  border:1px solid rgba(141,98,57,.18);
}
.pam14-four-tribute-list b{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:#6b4a2e;
  color:#fff6e6;
  font-size:.85rem;
}
.pam14-four-tribute-list span{
  display:block;
  white-space:pre-line;
  color:#4c3728;
  font-size:.92rem;
  line-height:1.33;
}
.pam14-card-captured{
  position:relative;
  z-index:1;
  margin-top:13px;
}
.pam14-card-footer{
  position:relative;
  z-index:1;
  margin-top:12px;
  border-top:1px solid rgba(141,98,57,.22);
  padding-top:10px;
}
.pam14-output-panel{
  align-self:stretch;
}
.pam14-output-list span{
  white-space:pre-line;
}
.pam14-output-json{
  margin:14px 0;
  border-radius:16px;
  border:1px solid rgba(141,98,57,.23);
  background:#fffaf2;
  overflow:hidden;
}
.pam14-output-json summary{
  cursor:pointer;
  padding:12px 14px;
  font-weight:800;
  color:#4b2f1e;
}
.pam14-output-json pre{
  margin:0;
  max-height:260px;
  overflow:auto;
  padding:14px;
  font-size:.78rem;
  line-height:1.38;
  background:#2b2119;
  color:#fff0d4;
  white-space:pre-wrap;
}
@media(max-width:880px){
  .pam14-card-header{padding-right:58px;}
  .pam14-card-top-grid{grid-template-columns:1fr;}
  .pam14-photo-cell{max-width:190px;}
  .pam14-card-info-grid{grid-template-columns:1fr;}
  .pam14-list-title{display:block;}
}


/* Pam 15: poem composer + clearer visual card / production data separation */
.pam15-poem-composer{
  margin-top:14px;
  border-radius:18px;
  background:linear-gradient(135deg,rgba(244,255,249,.95),rgba(255,248,232,.95));
  border:1px solid rgba(47,126,99,.28);
  padding:13px;
}
.pam15-poem-composer h3{
  margin:0 0 4px;
  font-family:Georgia,serif;
  color:#1f5c47;
}
.pam15-poem-composer p{
  margin:0 0 10px;
  color:#5d5148;
  font-size:.9rem;
  line-height:1.35;
}
.poem-style-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.poem-style-buttons button{
  border:1px solid rgba(47,126,99,.34);
  background:#f5fff9;
  color:#1f5c47;
  border-radius:999px;
  padding:8px 10px;
  font-weight:800;
  cursor:pointer;
}
.poem-style-buttons button:hover,
.poem-style-buttons button:focus-visible{
  background:#dff4e9;
  border-color:#2f7e63;
  box-shadow:0 5px 14px rgba(47,126,99,.16);
}
.pam14-output-json summary::after{
  content:" · technical view";
  font-weight:600;
  color:#8a6b4b;
}
.pam14-output-panel .imprint-map-note{
  border-left:4px solid #2f7e63;
  padding-left:10px;
}
.pam14-verse-cell{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);
}
.pam14-actual-imprint-card{
  min-height:720px;
}

/* Pam 20: make poem style buttons show they actually changed the verse */
.poem-style-buttons button.is-active-poem-style{
  box-shadow: 0 0 0 3px rgba(52, 168, 112, 0.28);
  transform: translateY(-1px);
  font-weight: 800;
}
.poem-style-buttons button[aria-pressed="true"]::after{
  content: " ✓";
}


/* Pam 22 - Bella panel placement engine and poem library */
.pam22-placement-engine,
.pam22-poem-library{
  margin-top:14px;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(91,109,90,.22);
  background:linear-gradient(135deg,rgba(232,237,220,.78),rgba(255,250,243,.94));
}
.pam22-placement-engine h3,
.pam22-poem-library h3{margin:0 0 6px;font-size:18px;color:#3b4b38;}
.pam22-placement-engine p,
.pam22-poem-library p{margin:0 0 10px;color:#62584f;line-height:1.45;font-size:13px;}
.pam22-size-picker{display:grid;gap:6px;margin:10px 0 11px;font:800 12px Arial,sans-serif;color:#5b6d5a;}
.pam22-size-picker select{width:100%;border-radius:14px;border-color:rgba(91,109,90,.28);}
.pam22-fit-row{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0;}
.pam22-fit-row span{display:inline-flex;align-items:center;min-height:32px;border-radius:999px;padding:6px 10px;background:#fffaf3;border:1px solid rgba(32,27,24,.12);font:800 12px Arial,sans-serif;color:#3b2c24;}
.pam22-fit-row .is-warning{background:#fff1eb;border-color:rgba(166,67,42,.28);color:#9a3d28;}
.pam22-placement-note{border-left:4px solid #5b6d5a;padding:8px 10px;background:rgba(255,250,243,.72);border-radius:10px;}
.pam22-placement-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0;}
.pam22-placement-grid article{background:#fffaf3;border:1px solid rgba(32,27,24,.12);border-radius:14px;padding:10px;}
.pam22-placement-grid strong{display:block;font:900 10px Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#8a6534;margin-bottom:5px;}
.pam22-placement-grid span{display:block;white-space:pre-line;line-height:1.35;color:#3b2c24;font-size:13px;}
.pam22-placement-actions,
.pam22-library-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.pam22-placement-actions button,
.pam22-library-buttons button{background:#fffaf3;border-color:rgba(91,109,90,.34);color:#3b4b38;}
.pam22-placement-actions button:hover,
.pam22-placement-actions button:focus-visible,
.pam22-library-buttons button:hover,
.pam22-library-buttons button:focus-visible{background:#e8eddc;box-shadow:0 0 0 3px rgba(91,109,90,.16);}
@media(max-width:760px){.pam22-placement-grid{grid-template-columns:1fr;}}


/* Pam 24: standalone Bella header + mobile-friendly visual Imprint Card.
   These rules only change the Bella walkthrough header and the visual card preview.
   Product panels, product click areas, and the locked box structure are untouched. */
.bella-standalone-topbar{
  background:linear-gradient(90deg,#171412,#241b16);
  border-bottom:1px solid rgba(240,213,117,.22);
  box-shadow:0 12px 36px rgba(0,0,0,.18);
}
.bella-home-wordmark{
  min-width:max-content;
  color:#f0d575;
}
.bella-home-wordmark:hover,
.bella-home-wordmark:focus-visible{
  color:#ffe7a0;
}
.bella-home-logo{
  width:44px;
  height:36px;
  border-radius:8px 8px 13px 8px;
  background:transparent;
  border:2px solid currentColor;
  color:#f0d575;
  box-shadow:none;
}
.bella-home-logo:before{
  content:"||||";
  position:absolute;
  top:2px;
  left:6px;
  width:auto;
  height:auto;
  background:transparent;
  box-shadow:none;
  font-size:9px;
  letter-spacing:1px;
  color:currentColor;
  font-family:Arial,sans-serif;
  font-weight:900;
}
.bella-home-logo span{
  right:7px;
  bottom:4px;
  color:currentColor;
}
.bella-home-wording{
  display:grid;
  gap:2px;
}
.bella-home-title{
  display:block;
  font-family:Georgia,"Times New Roman",serif;
  color:#f0d575;
  font-size:26px;
  line-height:1;
  letter-spacing:.015em;
}
.bella-home-tagline{
  display:block;
  color:#e7d6bc;
  font-style:italic;
  font-size:14px;
  line-height:1.15;
  font-weight:600;
  letter-spacing:.02em;
}
.brand-home-link:hover .bella-home-title,
.brand-home-link:focus-visible .bella-home-title{
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:4px;
}

/* Make the live Tribute Imprint Card feel more like the original SD-card object and less oversized. */
.bella-imprint-process{
  max-width:1180px;
  margin:22px auto 28px;
}
.bella-imprint-process > .card-title{
  max-width:1040px;
  margin-left:auto;
  margin-right:auto;
}
.imprint-process-board.pam14-imprint-board{
  grid-template-columns:minmax(300px, 760px) minmax(250px, 360px);
  justify-content:center;
  align-items:start;
}
.pam14-actual-imprint-card{
  width:100%;
  max-width:760px;
  min-height:auto !important;
  padding:18px !important;
  border-radius:22px 34px 24px 24px !important;
  clip-path:polygon(0 0, calc(100% - 66px) 0, 100% 66px, 100% 100%, 0 100%) !important;
  background:
    radial-gradient(circle at 13% 7%,rgba(255,255,255,.94),transparent 27%),
    linear-gradient(145deg,#fff8eb 0%,#ead5ad 48%,#c99a4a 100%) !important;
  box-shadow:0 18px 42px rgba(57,37,20,.18), inset 0 0 0 1px rgba(255,255,255,.38) !important;
}
.pam14-actual-imprint-card::before{
  inset:10px;
  border-radius:18px 28px 20px 20px;
  clip-path:polygon(0 0, calc(100% - 58px) 0, 100% 58px, 100% 100%, 0 100%) !important;
}
.pam14-card-notch{
  width:66px;
  height:66px;
}
.pam14-card-header{
  padding-right:60px;
  margin-bottom:10px;
}
.pam14-card-brand{
  color:#5f3e25;
  letter-spacing:.16em;
}
.pam14-card-header h3{
  font-size:clamp(1.35rem,2.5vw,2rem);
}
.pam14-card-header span{
  font-size:.9rem;
}
.pam14-chip-lines{
  min-width:72px;
  gap:5px !important;
}
.pam14-chip-lines i{
  width:10px !important;
  height:34px !important;
  background:#38261c !important;
  border-color:rgba(56,38,28,.65) !important;
}
.pam14-status-row{
  padding:7px 0;
  margin-bottom:10px;
  font-size:.68rem;
}
.pam14-card-top-grid{
  grid-template-columns:112px 1fr;
  gap:14px;
  margin-bottom:10px;
}
.pam14-photo-cell{
  min-height:112px;
  max-width:112px;
  aspect-ratio:1/1;
  border-radius:22px;
  border:2px solid rgba(72,45,30,.55);
  background:radial-gradient(circle,#fff7eb 0 58%,#2a211d 59% 100%) !important;
  color:#fff7eb;
}
.pam14-photo-cell span,
.pam14-photo-cell small{
  position:relative;
  z-index:2;
  color:#fff7eb;
  text-shadow:0 1px 2px rgba(0,0,0,.55);
}
.pam14-photo-cell:before{
  background:#4b382d;
  opacity:.92;
}
.pam14-photo-cell:after{
  background:#4b382d;
  opacity:.96;
}
.pam14-identity-cell h3{
  font-size:clamp(1.55rem,3vw,2.45rem);
}
.pam14-type-date,
.legacy-relationship,
.legacy-phrase{
  font-size:.92rem;
}
.pam14-card-info-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-bottom:10px;
}
.pam14-card-info-grid div{
  padding:8px 10px;
  border-radius:13px;
}
.pam14-card-info-grid span,
.pam14-four-tribute-list span{
  font-size:.84rem;
  line-height:1.28;
}
.pam14-verse-cell{
  padding:10px 12px;
  margin-bottom:10px;
  border-radius:15px;
}
.pam14-verse-cell p{
  font-size:.96rem !important;
  line-height:1.35 !important;
  max-height:190px;
  overflow:auto;
}
.pam14-four-tribute-list{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin:10px 0;
}
.pam14-four-tribute-list .pam14-list-title{
  grid-column:1/-1;
}
.pam14-four-tribute-list article{
  padding:8px;
  grid-template-columns:26px 1fr;
  gap:8px;
  border-radius:13px;
}
.pam14-four-tribute-list b{
  width:24px;
  height:24px;
  font-size:.75rem;
}
.pam14-card-captured{
  padding:8px;
  margin-top:8px;
}
.legacy-gathered-chips span{
  min-height:24px;
  font-size:10px;
  padding:4px 8px;
}
.pam14-card-footer{
  margin-top:8px;
  padding-top:8px;
  font-size:.62rem;
}
.pam14-output-panel{
  max-width:360px;
}

@media(max-width:900px){
  .imprint-process-board.pam14-imprint-board{
    grid-template-columns:1fr;
  }
  .pam14-actual-imprint-card,
  .pam14-output-panel{
    max-width:760px;
    margin-left:auto;
    margin-right:auto;
  }
}
@media(max-width:620px){
  .topbar.bella-standalone-topbar{
    gap:12px;
  }
  .bella-home-title{
    font-size:24px;
  }
  .bella-home-tagline{
    font-size:13px;
  }
  .pam14-actual-imprint-card{
    padding:14px !important;
    clip-path:polygon(0 0, calc(100% - 44px) 0, 100% 44px, 100% 100%, 0 100%) !important;
  }
  .pam14-actual-imprint-card::before{
    display:none;
  }
  .pam14-card-notch{
    width:44px;
    height:44px;
  }
  .pam14-card-header{
    display:grid;
    grid-template-columns:1fr auto;
    padding-right:36px;
    gap:8px;
  }
  .pam14-card-header h3{
    font-size:1.26rem;
  }
  .pam14-card-header span,
  .pam14-status-row span{
    font-size:.75rem;
  }
  .pam14-chip-lines{
    min-width:48px;
  }
  .pam14-chip-lines i{
    width:7px !important;
    height:25px !important;
  }
  .pam14-card-top-grid{
    grid-template-columns:84px 1fr !important;
    gap:10px;
  }
  .pam14-photo-cell{
    min-height:84px;
    max-width:84px;
    border-radius:18px;
  }
  .pam14-photo-cell span{
    font-size:.82rem;
  }
  .pam14-photo-cell small{
    display:none;
  }
  .pam14-identity-cell h3{
    font-size:1.42rem;
  }
  .pam14-card-info-grid,
  .pam14-four-tribute-list{
    grid-template-columns:1fr;
  }
  .pam14-verse-cell p{
    max-height:170px;
    font-size:.9rem !important;
  }
  .pam14-list-title{
    display:block;
  }
}


/* Pam 27: keep the live Tribute Imprint Card higher, smaller, and closer to the original cat-card reference. */
.bella-imprint-process{
  margin:14px auto 22px !important;
  padding:16px !important;
}
.bella-imprint-process > .card-title h2{
  font-size:clamp(1.35rem,2.2vw,2rem);
}
.bella-imprint-process > .card-title p{
  text-transform:none;
  letter-spacing:.01em;
  font-family:Georgia,"Times New Roman",serif;
  color:#6b5a4a;
}
.imprint-process-board.pam14-imprint-board{
  grid-template-columns:minmax(285px, 500px) minmax(245px, 330px) !important;
  gap:18px !important;
  justify-content:center;
}
.pam14-actual-imprint-card{
  max-width:500px !important;
  padding:16px !important;
  border-radius:24px 42px 24px 24px !important;
  background:
    radial-gradient(circle at 12% 9%,rgba(255,255,255,.92),transparent 25%),
    linear-gradient(155deg,#fffbf2 0%,#f4e8d5 45%,#e2c38d 100%) !important;
}
.pam14-card-header h3{
  font-size:clamp(1.15rem,2.1vw,1.55rem) !important;
}
.pam14-card-header span{
  font-size:.78rem !important;
}
.pam14-card-brand{
  font-size:.68rem !important;
}
.pam14-chip-lines i{
  height:28px !important;
  width:8px !important;
}
.pam14-status-row{
  font-size:.62rem !important;
  gap:6px !important;
}
.pam14-card-top-grid{
  grid-template-columns:96px 1fr !important;
  gap:12px !important;
}
.pam14-photo-cell{
  min-height:96px !important;
  max-width:96px !important;
  border-radius:18px !important;
}
.pam14-identity-cell h3{
  font-size:clamp(1.35rem,2.5vw,1.9rem) !important;
}
.pam14-type-date,
.legacy-relationship,
.legacy-phrase{
  font-size:.82rem !important;
  line-height:1.25 !important;
}
.pam14-card-info-grid{
  grid-template-columns:1fr !important;
  gap:6px !important;
}
.pam14-card-info-grid div{
  padding:7px 9px !important;
}
.pam14-card-info-grid span,
.pam14-four-tribute-list span{
  font-size:.78rem !important;
}
.pam14-verse-cell{
  padding:9px 10px !important;
}
.pam14-verse-cell p{
  font-size:.86rem !important;
  line-height:1.32 !important;
  max-height:145px !important;
}
.pam14-four-tribute-list{
  grid-template-columns:1fr !important;
  gap:6px !important;
}
.pam14-four-tribute-list article{
  padding:7px !important;
}
.pam14-card-captured{
  display:none;
}
.pam14-output-panel{
  max-width:330px !important;
}
.pam14-output-list span{
  font-size:.78rem !important;
}
@media(max-width:900px){
  .imprint-process-board.pam14-imprint-board{
    grid-template-columns:1fr !important;
  }
  .pam14-actual-imprint-card,
  .pam14-output-panel{
    max-width:560px !important;
    width:100% !important;
  }
}
@media(max-width:560px){
  .bella-imprint-process{
    padding:12px !important;
  }
  .pam14-actual-imprint-card{
    max-width:100% !important;
    padding:12px !important;
  }
  .pam14-card-top-grid{
    grid-template-columns:78px 1fr !important;
  }
  .pam14-photo-cell{
    min-height:78px !important;
    max-width:78px !important;
  }
  .pam14-card-info-grid div:nth-child(4){
    display:none;
  }
}

/* Pam 28: soften Bella layout, keep the Imprint Card from crowding the conversation, and add a resume path. */
.bella-return-tribute{
  background:linear-gradient(145deg,#d8b36a,#8a6534);
  color:#fffaf3;
  border-color:rgba(255,250,243,.45);
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  white-space:nowrap;
}
.bella-return-tribute[hidden]{display:none !important;}
.bella-return-tribute:hover,
.bella-return-tribute:focus-visible{
  filter:brightness(1.06);
  transform:translateY(-1px);
  outline:2px solid rgba(255,250,243,.55);
  outline-offset:2px;
}

@media(min-width:1000px){
  .layout{
    grid-template-columns:minmax(300px,.9fr) minmax(420px,1.1fr) !important;
    gap:22px !important;
    align-items:start;
  }
  .guide-card{
    grid-column:1 !important;
    grid-row:1 !important;
  }
  .chat.card{
    grid-column:2 !important;
    grid-row:1 !important;
  }
  .legacy-card-section.bella-imprint-process{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    max-width:1120px !important;
    width:100%;
    margin:0 auto 28px !important;
  }
  .imprint-process-board.pam14-imprint-board{
    grid-template-columns:minmax(280px,430px) minmax(360px,1fr) !important;
    gap:22px !important;
    align-items:start;
  }
  .pam14-actual-imprint-card{
    max-width:430px !important;
  }
  .pam14-output-panel{
    max-width:none !important;
  }
}

@media(max-width:999px){
  .layout{
    grid-template-columns:1fr !important;
  }
  .guide-card,
  .chat.card,
  .legacy-card-section.bella-imprint-process{
    grid-column:1 !important;
  }
  .guide-card{grid-row:auto !important;}
  .chat.card{grid-row:auto !important;}
  .legacy-card-section.bella-imprint-process{grid-row:auto !important;}
}

@media(max-width:760px){
  .topbar .bella-return-tribute{
    width:100%;
    justify-content:center;
  }
  .controls{
    width:100%;
    justify-content:flex-start;
  }
  .imprint-process-board.pam14-imprint-board{
    grid-template-columns:1fr !important;
  }
}


/* Pam 41: saved tribute actions. Keep this in Bella only; product panels untouched. */
.bella-start-new-tribute{
  background:rgba(255,250,243,.96);
  color:#fffaf3;
  background:rgba(255,250,243,.12);
  border-color:rgba(255,250,243,.36);
  box-shadow:0 8px 20px rgba(0,0,0,.12);
  white-space:nowrap;
}
.bella-start-new-tribute[hidden]{display:none !important;}
.bella-start-new-tribute:hover,
.bella-start-new-tribute:focus-visible{
  background:rgba(255,250,243,.20);
  transform:translateY(-1px);
  outline:2px solid rgba(255,250,243,.45);
  outline-offset:2px;
}
@media(max-width:760px){
  .topbar .bella-start-new-tribute{
    width:100%;
    justify-content:center;
  }
}

/* Pam 32: Bella walkthrough declutter.
   Moves verse styling and panel placement guidance higher in the flow,
   reduces the proof-path explanation, and keeps protected product panels untouched. */
.pam32-proof-path{
  padding:14px !important;
  border-radius:18px !important;
  background:rgba(255,250,243,.82) !important;
}
.pam32-proof-path h3{
  font-size:1.05rem !important;
  margin-bottom:6px !important;
}
.pam32-proof-path .imprint-map-note{
  font-size:.84rem !important;
  line-height:1.35 !important;
  margin-bottom:10px !important;
}
.pam32-map-details{
  border:1px solid rgba(141,98,57,.20);
  border-radius:14px;
  background:#fffaf3;
  margin:10px 0;
  overflow:hidden;
}
.pam32-map-details summary{
  cursor:pointer;
  padding:10px 12px;
  font:800 12px Arial,sans-serif;
  color:#4b2f1e;
}
.pam32-map-details .imprint-map-list{
  padding:0 10px 10px;
}
.pam32-map-details .imprint-process-steps{
  padding:0 10px 10px;
}
.pam32-verse-guide-card{
  padding:16px !important;
}
.pam32-guide-title p{
  text-transform:none !important;
  letter-spacing:.01em !important;
  font:italic 14px Georgia,"Times New Roman",serif !important;
  color:#6b5a4a !important;
}
.pam32-current-verse{
  margin-top:0 !important;
  padding:14px !important;
  border:1px solid rgba(216,179,106,.28);
  border-radius:18px;
  background:#fffaf3;
}
.pam32-current-verse h3,
.pam32-style-guide h3,
.pam32-placement-guide h3{
  font-size:1.15rem !important;
}
.pam32-card-details{
  border:1px solid rgba(32,27,24,.12);
  border-radius:16px;
  background:rgba(255,250,243,.72);
  padding:0;
  overflow:hidden;
}
.pam32-card-details summary{
  padding:10px 12px;
  cursor:pointer;
  font:800 12px Arial,sans-serif;
  color:#6b4a28;
}
.pam32-card-details dl{
  padding:0 12px 12px;
}
@media(min-width:1000px){
  .layout{
    grid-template-columns:minmax(300px, .92fr) minmax(380px, 1.08fr) !important;
    max-width:1180px;
    margin:0 auto;
  }
  .guide-card{
    grid-column:1 !important;
    grid-row:1 !important;
  }
  .chat.card{
    grid-column:2 !important;
    grid-row:1 !important;
  }
  .pam32-verse-guide-wrap{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
  }
  .legacy-card-section.bella-imprint-process{
    grid-column:1 / -1 !important;
    grid-row:3 !important;
  }
  .pam32-verse-guide-card{
    display:grid;
    grid-template-columns:minmax(250px,.9fr) minmax(290px,1fr) minmax(310px,1.1fr);
    gap:14px;
    align-items:start;
  }
  .pam32-guide-title{
    grid-column:1 / -1;
    margin-bottom:0 !important;
  }
  .pam32-current-verse{
    grid-column:1;
    grid-row:2;
  }
  .pam32-style-guide{
    grid-column:2;
    grid-row:2;
    margin-top:0 !important;
  }
  .pam32-placement-guide{
    grid-column:3;
    grid-row:2 / span 2;
    margin-top:0 !important;
  }
  .pam32-card-details{
    grid-column:1 / 3;
    grid-row:3;
  }
  .pam22-poem-library{
    grid-column:1 / -1;
    grid-row:4;
  }
}
@media(max-width:999px){
  .pam32-verse-guide-card{
    display:grid;
    gap:12px;
  }
  .pam32-current-verse,
  .pam32-style-guide,
  .pam32-placement-guide,
  .pam32-card-details,
  .pam22-poem-library{
    margin-top:0 !important;
  }
}


/* Pam 33: Bella photo upload / engraving preparation step */
.bella-photo-prep-step{
  border:1px solid rgba(193,154,86,.28);
  background:linear-gradient(135deg, rgba(255,249,237,.96), rgba(255,255,255,.92));
}
.bella-photo-title .kicker{margin:0 0 .25rem;}
.bella-photo-prep-grid{
  display:grid;
  grid-template-columns:minmax(220px,.85fr) minmax(260px,1.15fr);
  gap:1rem;
  align-items:stretch;
}
.bella-photo-drop{
  min-height:180px;
  border:1.5px dashed rgba(168,126,54,.55);
  border-radius:22px;
  padding:1.2rem;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  cursor:pointer;
  background:#fffdf8;
  background-size:cover;
  background-position:center;
  color:#3d2d1d;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.bella-photo-drop:hover,
.bella-photo-drop:focus-within{
  transform:translateY(-1px);
  border-color:rgba(71,128,94,.8);
  box-shadow:0 14px 36px rgba(71,128,94,.16);
}
.bella-photo-drop input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none;}
.bella-photo-drop.has-photo{border-style:solid;}
.bella-photo-icon{
  width:44px;
  height:44px;
  border-radius:50%;
  display:grid;
  place-items:center;
  margin-bottom:.65rem;
  background:rgba(71,128,94,.14);
  color:#2f6c4b;
  font-size:1.6rem;
  font-weight:800;
}
.bella-photo-drop strong{font-size:1.02rem;}
.bella-photo-drop small{max-width:20rem;line-height:1.35;margin-top:.35rem;color:#6e5d49;}
.bella-photo-route{
  border-radius:22px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(193,154,86,.22);
  padding:1rem;
}
.bella-photo-route h3{margin:.1rem 0 .65rem;}
.bella-photo-route ol{counter-reset:photoRoute;list-style:none;padding:0;margin:0;display:grid;gap:.55rem;}
.bella-photo-route li{display:grid;grid-template-columns:auto 1fr;gap:.55rem .75rem;align-items:start;}
.bella-photo-route li::before{
  counter-increment:photoRoute;
  content:counter(photoRoute);
  width:1.55rem;height:1.55rem;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(193,154,86,.18);color:#7d5d20;font-weight:800;font-size:.78rem;
  grid-row:1/3;
}
.bella-photo-route strong{color:#3d2d1d;}
.bella-photo-route span{display:block;color:#6e5d49;font-size:.9rem;line-height:1.35;}
.bella-photo-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.9rem;}
.bella-photo-actions button{
  border:1px solid rgba(193,154,86,.35);
  background:#fff;
  border-radius:999px;
  padding:.65rem .9rem;
  font-weight:700;
  color:#4b3927;
  cursor:pointer;
}
.bella-photo-actions button:hover{border-color:rgba(71,128,94,.6);box-shadow:0 8px 20px rgba(71,128,94,.12);}
.bella-photo-status{margin-top:.7rem;}
.legacy-card-photo.has-photo{
  background-size:cover !important;
  background-position:center !important;
  color:#fff;
  text-shadow:0 1px 8px rgba(0,0,0,.55);
}
.legacy-card-photo.has-photo small{color:#fff;opacity:.92;}
@media (max-width: 760px){
  .bella-photo-prep-grid{grid-template-columns:1fr;}
  .bella-photo-drop{min-height:150px;}
}


/* Pam 40: clean Bella into a step-by-step customer flow without changing protected product panels. */
.bella-step-strip{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  padding:12px 14px !important;
  border-color:rgba(193,154,86,.28) !important;
  background:linear-gradient(135deg,rgba(255,250,243,.96),rgba(247,237,221,.92)) !important;
}
.bella-step-strip span{
  font:900 11px Arial,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#7c5d2e;
  margin-right:4px;
}
.bella-step-strip button,
.bella-memorial-choice-row button,
.bella-quick-voice-row button{
  min-height:40px;
  border-radius:999px;
  border:1px solid rgba(193,154,86,.34);
  background:#fffaf3;
  color:#4b2f1e;
  font:800 12px Arial,sans-serif;
  padding:10px 13px;
  cursor:pointer;
}
.bella-step-strip button:hover,
.bella-step-strip button:focus-visible,
.bella-memorial-choice-row button:hover,
.bella-memorial-choice-row button:focus-visible,
.bella-quick-voice-row button:hover,
.bella-quick-voice-row button:focus-visible{
  background:#f5e6c8;
  outline:2px solid rgba(193,154,86,.34);
  outline-offset:2px;
}
.bella-memorial-direction{
  margin-top:14px;
  padding:13px;
  border:1px solid rgba(193,154,86,.25);
  border-radius:18px;
  background:rgba(255,250,243,.75);
}
.bella-memorial-direction p{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:8px;
  margin:0 0 10px;
}
.bella-memorial-direction p span{
  color:#7b6755;
  font-size:.88rem;
}
.bella-memorial-choice-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.bella-quick-voice-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:10px 0 8px;
  padding:10px;
  border:1px solid rgba(69,121,93,.25);
  border-radius:18px;
  background:rgba(239,250,243,.78);
}
.bella-quick-voice-row button{
  border-color:rgba(69,121,93,.36);
}
.bella-quick-voice-row #quickStopVoiceBtn{
  background:#fff0ec;
  border-color:#d68a79;
  color:#8b2d1d;
}
.bella-control-accordion{
  margin-top:8px !important;
}
.pam32-card-details[hidden],
.mapping[hidden],
.vendor-output-card[hidden]{
  display:none !important;
}
.bella-photo-prep-step{
  grid-column:1/-1;
  max-width:1180px;
  width:100%;
  margin:0 auto;
}
.legacy-card-section.bella-imprint-process{
  scroll-margin-top:110px;
}
#bellaConversationArea,
#bellaPhotoPrepStep,
#bellaVersePlacementGuide{
  scroll-margin-top:110px;
}
@media(min-width:1000px){
  .layout{
    grid-template-columns:minmax(300px,.9fr) minmax(430px,1.1fr) !important;
    max-width:1180px;
    margin:0 auto;
  }
  .guide-card{grid-column:1 !important;grid-row:1 !important;}
  .chat.card{grid-column:2 !important;grid-row:1 !important;}
  .bella-step-strip{grid-column:1/-1 !important;grid-row:2 !important;}
  .pam32-verse-guide-wrap{grid-column:1/-1 !important;grid-row:3 !important;}
  .bella-photo-prep-step{grid-column:1/-1 !important;grid-row:4 !important;}
  .legacy-card-section.bella-imprint-process{grid-column:1/-1 !important;grid-row:5 !important;}
  .pam32-verse-guide-card{
    grid-template-columns:minmax(270px,1fr) minmax(310px,1fr) !important;
  }
  .pam32-current-verse{grid-column:1 !important;grid-row:2 !important;}
  .pam32-style-guide{grid-column:2 !important;grid-row:2 !important;}
  .pam32-placement-guide{grid-column:1 / -1 !important;grid-row:3 !important;}
  .pam22-poem-library{grid-column:1 / -1 !important;grid-row:4 !important;}
}
@media(max-width:760px){
  .bella-step-strip{
    overflow-x:auto;
    flex-wrap:nowrap;
    -webkit-overflow-scrolling:touch;
  }
  .bella-step-strip button{flex:0 0 auto;}
  .bella-quick-voice-row button{flex:1 1 130px;}
  .bella-memorial-choice-row button{flex:1 1 140px;}
}


/* Pam 42: cleaner mobile-friendly Bella steps and back-to-top support. */
.bella-step-panel{
  grid-column:1 / -1;
  border:1px solid rgba(180,140,70,.28);
  border-radius:22px;
  background:rgba(255,252,246,.82);
  box-shadow:0 14px 40px rgba(64,39,15,.08);
  overflow:hidden;
}
.bella-step-panel > summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  padding:14px 18px;
  font-weight:900;
  color:#6d4b20;
  background:linear-gradient(135deg, rgba(246,232,198,.92), rgba(255,250,239,.96));
}
.bella-step-panel > summary::-webkit-details-marker{display:none}
.bella-step-panel > summary span{font-family:Georgia,serif;font-size:18px}
.bella-step-panel > summary small{font:800 11px/1.3 Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:#9b7741;text-align:right}
.bella-step-panel > summary:after{content:'−';font-size:22px;line-height:1;color:#b47b2c}
.bella-step-panel:not([open]) > summary:after{content:'+'}
.bella-step-panel > section.card{box-shadow:none;border:0;border-radius:0;margin:0;background:transparent}
.bella-imprint-step-panel .legacy-card-section{padding-top:16px}
.bella-imprint-step-panel .imprint-process-board{gap:16px}
.bella-imprint-step-panel .pam32-proof-path{font-size:13px;max-width:360px}
.bella-imprint-step-panel .pam32-map-details:not([open]){margin-top:4px}
.bella-back-to-top{
  position:fixed;right:16px;bottom:84px;z-index:50;
  width:44px;height:44px;border-radius:999px;border:1px solid rgba(173,124,46,.4);
  background:#fff7e8;color:#7b4c12;font-size:22px;font-weight:900;
  box-shadow:0 10px 30px rgba(59,38,14,.18);cursor:pointer;
}
.bella-back-to-top:hover,.bella-back-to-top:focus{background:#f2d89c;outline:3px solid rgba(133,183,137,.25)}
@media (max-width:760px){
  .bella-step-strip{position:sticky;top:0;z-index:20;overflow-x:auto;display:flex;gap:8px;white-space:nowrap}
  .bella-step-panel > summary{align-items:flex-start;flex-direction:column}
  .bella-step-panel > summary small{text-align:left}
  .bella-imprint-step-panel .imprint-process-board{display:block}
  .bella-imprint-step-panel .pam32-proof-path{max-width:none;margin-top:14px}
  .bella-back-to-top{right:12px;bottom:72px;width:42px;height:42px}
}


/* Pam 44: memorial weight / capacity sizing step */
.bella-size-intake{margin-top:12px;padding:12px;border:1px solid rgba(185,139,71,.28);border-radius:18px;background:rgba(255,250,242,.78)}
.bella-size-intake p{display:grid;gap:3px;margin:0 0 9px}.bella-size-intake p strong{color:#6f4b20}.bella-size-intake p span,.bella-size-intake small{color:#6e6258;line-height:1.35}
.bella-size-input-row{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.bella-size-input-row label{display:grid;gap:4px;min-width:150px;color:#5d5048;font-size:12px;font-weight:800}.bella-size-input-row input{min-height:40px;border:1px solid rgba(185,139,71,.35);border-radius:14px;padding:8px 10px;background:#fff;font:inherit}.bella-size-input-row button{background:#f5ead8;border-color:rgba(185,139,71,.45)}
@media(max-width:760px){.bella-size-input-row{display:grid;grid-template-columns:1fr}.bella-size-input-row label{min-width:0}}

/* Pam 45: Bella Help search + collapsed walkthrough menus visibility.
   Uses the same green as the homepage Start Tribute with Bella button (#5b7f4b). */
:root{
  --bella-start-green:#5b7f4b;
}
.bella-control-accordion,
.bella-step-panel,
.pam32-map-details,
.pam14-output-json,
.pam32-card-details{
  border-color:rgba(91,127,75,.42) !important;
}
.bella-control-accordion > summary,
.bella-step-panel > summary,
.pam32-map-details > summary,
.pam14-output-json > summary,
.pam32-card-details > summary{
  border-bottom:3px solid rgba(91,127,75,.55) !important;
}
.bella-control-accordion:not([open]) > summary,
.bella-step-panel:not([open]) > summary,
.pam32-map-details:not([open]) > summary,
.pam14-output-json:not([open]) > summary,
.pam32-card-details:not([open]) > summary{
  border-bottom-color:var(--bella-start-green) !important;
}
.bella-control-accordion .bella-secondary-controls-wrap,
.bella-step-panel > section.card{
  border-top-color:rgba(91,127,75,.42) !important;
}
.bella-step-panel > summary:after,
.pam32-map-details > summary:after,
.pam14-output-json > summary:after,
.pam32-card-details > summary:after{
  color:var(--bella-start-green) !important;
}
.bella-step-panel[open] > summary:after{
  color:#fffaf3 !important;
  background:var(--bella-start-green);
  border-radius:999px;
  width:26px;
  height:26px;
  display:inline-grid;
  place-items:center;
}


/* Pam 47: visible approval + photo-processing checkpoints inside the live Bella walkthrough. */
.bella-live-approval-panel,
.bella-photo-processing-panel{
  margin-top:1rem;
  padding:1rem;
  border:1px solid rgba(91,127,75,.38);
  border-left:6px solid #5b7f4b;
  border-radius:20px;
  background:linear-gradient(145deg,#fffdf8,#eef6e9);
  box-shadow:0 12px 24px rgba(56,37,22,.08);
}
.bella-live-approval-panel h3,
.bella-photo-processing-panel h3{
  margin:.05rem 0 .35rem;
  color:#2f4e28;
  font-size:1.12rem;
}
.bella-live-approval-panel p,
.bella-photo-processing-panel p{
  margin:.25rem 0 .65rem;
}
#approvedVerseEditor,
#photoProcessingNotes{
  width:100%;
  min-height:110px;
  border:1px solid rgba(91,127,75,.35);
  border-radius:16px;
  padding:.85rem;
  background:#fffef8;
  color:#33261d;
  font:inherit;
  line-height:1.45;
  resize:vertical;
  box-sizing:border-box;
}
#photoProcessingNotes{min-height:86px;}
.bella-live-approval-actions,
.bella-photo-processing-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin:.75rem 0 .45rem;
}
.bella-live-approval-actions button,
.bella-photo-processing-actions button{
  border:0;
  border-radius:999px;
  padding:.72rem .9rem;
  background:#5b7f4b;
  color:#fffaf2;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 8px 16px rgba(91,127,75,.16);
}
.bella-live-approval-actions button:nth-child(1),
.bella-live-approval-actions button:nth-child(4){
  background:#fff8ee;
  color:#3b2a20;
  border:1px solid rgba(91,127,75,.35);
  box-shadow:none;
}
.bella-live-approval-actions button:nth-child(3),
.bella-photo-processing-actions button:nth-child(2){
  background:#7a4d24;
}
.bella-live-status{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  border-radius:999px;
  padding:.45rem .7rem;
  background:#fff8ec;
  color:#5b412f;
  font-weight:800;
  font-size:.92rem;
}
.bella-live-status.is-approved,
.bella-live-status.is-submitted{
  background:#edf5e8;
  color:#2f4e28;
  border:1px solid rgba(91,127,75,.35);
}
.bella-live-approval-panel.is-approved,
.bella-photo-processing-panel.is-submitted{
  border-left-color:#5b7f4b;
  background:linear-gradient(145deg,#fffdf8,#e8f4e2);
}
@media (max-width:720px){
  .bella-live-approval-actions button,
  .bella-photo-processing-actions button{width:100%;}
}


/* Demo-only Bella Tribute Imprint Card output. This is local visual output only. */
.demo-imprint-draft-card{
  margin-top:18px;
  padding:16px;
  border:1px solid rgba(112,75,42,.18);
  border-radius:22px;
  background:linear-gradient(145deg,#fffaf1,#f6e3c5);
  box-shadow:0 14px 28px rgba(60,38,20,.08);
}
.demo-imprint-draft-card h3{
  margin:.15rem 0 .45rem;
  color:#3f2818;
}
.demo-imprint-draft-card p{
  color:#6b4a33;
}
.demo-imprint-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin:12px 0;
}
.demo-imprint-actions button{
  border:0;
  border-radius:999px;
  padding:10px 14px;
  background:#4b2f1f;
  color:#fff8eb;
  font-weight:800;
  cursor:pointer;
}
.demo-imprint-actions span{
  font-size:.9rem;
  color:#6d4a33;
}
.demo-imprint-fields,
.demo-imprint-panel-suggestions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:12px 0;
}
.demo-imprint-fields div,
.demo-imprint-panel-suggestions div,
.demo-imprint-summary{
  border:1px solid rgba(112,75,42,.15);
  border-radius:16px;
  background:rgba(255,255,255,.58);
  padding:11px 12px;
}
.demo-imprint-fields strong,
.demo-imprint-panel-suggestions strong,
.demo-imprint-summary strong{
  display:block;
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#8a663f;
  margin-bottom:4px;
}
.demo-imprint-fields span,
.demo-imprint-panel-suggestions span,
.demo-imprint-summary p{
  display:block;
  margin:0;
  white-space:pre-wrap;
  color:#2f2118;
}
.demo-imprint-json summary{
  cursor:pointer;
  font-weight:800;
  color:#4b2f1f;
}
.demo-imprint-json pre{
  max-height:260px;
  overflow:auto;
  white-space:pre-wrap;
  border-radius:16px;
  padding:12px;
  background:#22170f;
  color:#fff8eb;
}
@media(max-width:720px){
  .demo-imprint-fields,
  .demo-imprint-panel-suggestions{grid-template-columns:1fr;}
}


/* Pam 50: Bella pet/person doorway and quiet/fast start options.
   Walkthrough-only styling; protected boxes and four-panel layout are untouched. */
.bella-start-choice-panel{
  margin:10px 0 12px;
  padding:12px;
  border:1px solid rgba(193,154,86,.28);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(255,250,243,.96),rgba(247,237,221,.78));
}
.bella-start-choice-panel p{
  margin:0 0 9px;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:8px;
  color:#5e4f45;
  font-size:.9rem;
}
.bella-start-choice-panel p strong{
  color:#4b2f1e;
}
.bella-start-choice-panel p span{
  color:#7b6755;
}
.bella-start-choice-row,
.bella-tribute-type-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.bella-tribute-type-row{
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid rgba(193,154,86,.20);
}
.bella-start-choice-row button,
.bella-tribute-type-row button{
  min-height:40px;
  border-radius:999px;
  border:1px solid rgba(193,154,86,.36);
  background:#fffaf3;
  color:#4b2f1e;
  font:800 12px Arial,sans-serif;
  padding:10px 13px;
  cursor:pointer;
}
.bella-tribute-type-row button{
  background:#f7e8ca;
  border-color:rgba(138,101,52,.42);
}
.bella-start-choice-row button:hover,
.bella-start-choice-row button:focus-visible,
.bella-tribute-type-row button:hover,
.bella-tribute-type-row button:focus-visible{
  background:#ead5ad;
  outline:2px solid rgba(193,154,86,.34);
  outline-offset:2px;
}
@media(max-width:760px){
  .bella-start-choice-row button,
  .bella-tribute-type-row button{flex:1 1 160px;}
}

/* V56 Bella mobile send/tap repair only: keeps the walkthrough usable on phones without changing product boxes or panel alignment. */
#sendBtn{
  touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(216,179,106,.24);
}
#userInput{
  font-size:16px;
}
@media(max-width:760px){
  .bella-main-input-row{
    position:sticky;
    bottom:0;
    z-index:6;
    margin-left:-6px;
    margin-right:-6px;
    padding:10px 6px 8px;
    border-top:1px solid rgba(32,27,24,.12);
    background:linear-gradient(180deg,rgba(255,250,243,.92),rgba(255,250,243,.98));
    backdrop-filter:blur(8px);
  }
  #userInput{
    min-height:54px;
    border-radius:18px;
  }
  #sendBtn{
    width:100%;
    min-height:54px;
    font-size:16px;
    padding:13px 16px;
  }
  .messages{
    max-height:58vh;
    scroll-padding-bottom:90px;
  }
  .bella-start-choice-row button,
  .bella-tribute-type-row button,
  .bella-quick-voice-row button,
  .bella-secondary-controls-wrap button{
    min-height:48px;
  }
}


/* V59 Bella opening/quiet/multiple-name intake only. Keeps product panels and boxes untouched. */
.bella-tribute-type-row{
  display:none;
}
.bella-tribute-type-row.is-visible{
  display:flex;
}
.bella-start-choice-panel.is-quiet-ready{
  box-shadow:0 10px 28px rgba(74,47,30,.08);
}
@media(max-width:720px){
  .bella-start-choice-panel{
    position:relative;
  }
  .bella-start-choice-row button,
  .bella-tribute-type-row button{
    min-height:48px;
    font-size:13px;
  }
}

/* V60 Bella intake correction only: soften opening and remove the crowded voice-command hint. */
.bella-compact-mic-hint{
  display:none !important;
}
.bella-start-choice-panel{
  padding:10px 12px !important;
}
.bella-start-choice-panel p{
  align-items:flex-start;
  margin-bottom:8px !important;
}
.bella-start-choice-panel p strong{
  font-size:.92rem;
}
.bella-start-choice-panel p span{
  font-size:.82rem;
  line-height:1.25;
}
.bella-start-choice-row{
  gap:7px !important;
}
.bella-start-choice-row button{
  min-height:38px;
}
@media(max-width:720px){
  .bella-start-choice-panel{
    margin-top:6px !important;
  }
  .bella-start-choice-row button{
    flex:1 1 100%;
  }
}
