/* Last cascade lock for the light routed demos. */
html body[data-demo="kaffa"] .kf-widget.is-open .kf-panel{
  opacity:1!important;
  visibility:visible!important;
  transition:transform .18s cubic-bezier(.16,1,.3,1)!important;
}
/* The invitation is the first thing a customer reads; 11 px was below the
   readable floor used everywhere else in the widget. */
html body[data-demo] .teaser span,
html body[data-demo] .launcher__teaser span,
html body[data-demo] .launcher-teaser span,
html body[data-demo] .pz-preview span,
html body[data-demo] .kf-teaser span{font-size:13.5px!important;line-height:1.35!important}

/* Diamonds and Concept: no black CTA strip in chat. */
html body[data-demo="diamonds"] #chatScreen #openAdvisor,
html body[data-demo="concept"] #chatScreen #openAdvisor{
  color:var(--nb-ink)!important;
  background:var(--nb-soft)!important;
  border:1px solid var(--nb-line)!important;
  box-shadow:none!important;
}
html body[data-demo="diamonds"] #chatScreen #openAdvisor b,
html body[data-demo="diamonds"] #chatScreen #openAdvisor em,
html body[data-demo="concept"] #chatScreen #openAdvisor b,
html body[data-demo="concept"] #chatScreen #openAdvisor span{color:var(--nb-ink)!important}
html body[data-demo="diamonds"] #chatScreen #openAdvisor:hover,
html body[data-demo="concept"] #chatScreen #openAdvisor:hover{background:color-mix(in srgb,var(--nb-accent) 25%,white)!important}

/* Concept teaser belongs above the launcher, not at the viewport floor. */
html body[data-demo="concept"] #launcher{position:fixed!important}
html body[data-demo="concept"] #launcherTeaser{
  position:absolute!important;
  right:0!important;
  bottom:88px!important;
  top:auto!important;
  margin:0!important;
  transform:none!important;
}

/* Brand marks must remain visible on light headers. Diamonds hid its real mark
   and printed a text stand-in, which was there only because the mark used to be
   inverted to white for a dark header that no longer exists. */
html body[data-demo="diamonds"] .widget-head .brand-lockup img{
  display:block!important;
  width:96px!important;
  height:34px!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:none!important;
}
html body[data-demo="diamonds"] .widget-head .brand-lockup__fallback{display:none!important}
html body[data-demo="diamonds"] .widget-head .brand-lockup{width:auto!important;min-width:0!important;overflow:visible!important}
html body[data-demo="concept"] .concept-widget-logo{filter:none!important;opacity:1!important}
html body[data-demo="vitazov"] .widget-brand__mark,
html body[data-demo="vitazov"] .widget-brand__mark .advisor-logo,
html body[data-demo="vitazov"] .widget-brand__copy,
html body[data-demo="vitazov"] .widget-brand__copy strong{color:var(--nb-ink)!important;opacity:1!important;visibility:visible!important}

/* Kaffa: guarantee a visible text lockup instead of an empty pale header. */
html body[data-demo="kaffa"] .kf-widget-brand{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  opacity:1!important;
  visibility:visible!important;
  color:var(--nb-ink)!important;
}
/* This layer used to hide Kaffa's own wordmark and print "Kaffa Roastery" and
   "Online" as pseudo-elements instead. coffee-accessibility-preserve.css forces
   the real wordmark back, so both rendered at once: three lines of text stacked
   inside a 66 px header, the top one clipped above the panel. The roastery's own
   lockup wins; the substitutes are gone. */
html body[data-demo="kaffa"] .kf-widget-brand__copy{display:none!important}
html body[data-demo="kaffa"] .kf-widget-brand>.kf-wordmark{display:grid!important}
html body[data-demo="kaffa"] .kf-widget-brand>.kf-wordmark small{white-space:nowrap!important}

/* Pražiarnička: white logo plate with black mark, never the inverted black rectangle. */
html body[data-demo="praziarnicka"] .pz-widget-brand{background:transparent!important}
html body[data-demo="praziarnicka"] .pz-widget-logo{
  filter:none!important;
  background:#fff!important;
  border-radius:8px!important;
}
html body[data-demo="praziarnicka"] .pz-assistant-avatar{background:#fff!important;border:1px solid var(--nb-line)!important}
html body[data-demo="praziarnicka"] .pz-assistant-avatar img{filter:invert(1)!important}
html body[data-demo="praziarnicka"] .pz-advisor-cta>svg{color:#fff!important;background:var(--nb-strong)!important}

/* Concept generic chatbot mark should be light, not a black tile. */
html body[data-demo="concept"] .advisor-entry__mark{color:var(--nb-strong)!important;background:#fff!important;border:1px solid var(--nb-line)!important}

@media(max-width:760px){
  html body[data-demo="concept"] #launcherTeaser{bottom:78px!important;right:0!important}
}
