/* Spør BCiB – chat widget.
   Everything is scoped under .bcibchat and the visual properties carry !important:
   the bcib.no theme styles bare <button> and <input> elements aggressively, and a
   widget that inherits those rules looks broken (amber chips, restyled close
   button). Keeping the widget self-contained is worth the !important here. */
.bcibchat,
.bcibchat *{box-sizing:border-box;}
.bcibchat{
 --bc-primary:#285044;
 --bc-primary-hover:#1e4035;
 --bc-primary-active:#18362d;
 --bc-bg:#ffffff;
 --bc-bg-soft:#f7f7f2;
 --bc-text:#243b31;
 --bc-muted:#5c6f66;
 --bc-border:#dce4dc;
 --bc-radius:18px;
 font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
 font-size:15px;
 line-height:1.5;
 color:var(--bc-text);
}

/* Neutralise theme button/input styling before applying our own. */
.bcibchat button,
.bcibchat input,
.bcibchat textarea{
 appearance:none;-webkit-appearance:none;
 font-family:inherit;font-size:inherit;line-height:inherit;
 text-transform:none;letter-spacing:normal;text-decoration:none;
 text-shadow:none;box-shadow:none;outline:none;
 min-width:0;min-height:0;margin:0;float:none;
}
.bcibchat button::before,.bcibchat button::after{content:none!important;}
.bcibchat button{cursor:pointer;}

/* ---------------------------------------------------------------- launcher */
.bcibchat .bcibchat-launcher{
 position:fixed!important;right:20px!important;bottom:20px!important;left:auto!important;top:auto!important;
 z-index:2147483000!important;
 width:60px!important;height:60px!important;padding:0!important;margin:0!important;
 border:0!important;border-radius:50%!important;
 background:var(--bc-primary)!important;background-image:none!important;
 color:#fff!important;cursor:pointer!important;
 display:flex!important;align-items:center!important;justify-content:center!important;
 box-shadow:0 6px 20px rgba(0,0,0,.22)!important;
 transition:background .15s ease,transform .15s ease;
}
.bcibchat .bcibchat-launcher:hover{background:var(--bc-primary-hover)!important;}
.bcibchat .bcibchat-launcher:active{background:var(--bc-primary-active)!important;transform:scale(.97);}
.bcibchat .bcibchat-launcher:focus-visible{outline:3px solid #8fb3a2!important;outline-offset:2px!important;}
.bcibchat .bcibchat-launcher svg{width:28px!important;height:28px!important;display:block!important;fill:none!important;stroke:#fff!important;}

/* ------------------------------------------------------------------- panel */
.bcibchat .bcibchat-panel{
 position:fixed!important;right:20px!important;bottom:92px!important;left:auto!important;top:auto!important;
 z-index:2147483000!important;
 display:flex!important;flex-direction:column!important;
 width:400px!important;max-width:calc(100vw - 40px)!important;
 height:min(640px,calc(100vh - 130px))!important;
 margin:0!important;padding:0!important;
 background:var(--bc-bg)!important;
 border:1px solid var(--bc-border)!important;border-radius:var(--bc-radius)!important;
 box-shadow:0 12px 40px rgba(0,0,0,.18)!important;
 overflow:hidden!important;text-align:left!important;
}
.bcibchat .bcibchat-panel[hidden]{display:none!important;}

/* Inline placement via [bcib_chat] */
.bcibchat[data-bcibchat="inline"] .bcibchat-panel{
 position:static!important;width:100%!important;max-width:none!important;
 height:min(640px,80vh)!important;
 box-shadow:0 4px 18px rgba(0,0,0,.10)!important;
}
.bcibchat[data-bcibchat="inline"] .bcibchat-launcher{display:none!important;}

.bcibchat .bcibchat-header{
 display:flex!important;align-items:flex-start!important;gap:12px!important;
 padding:14px 16px!important;
 background:var(--bc-primary)!important;background-image:none!important;
 color:#fff!important;border:0!important;border-radius:0!important;
}
.bcibchat .bcibchat-header__text{flex:1 1 auto!important;min-width:0!important;}
.bcibchat .bcibchat-header__title{margin:0!important;padding:0!important;font-size:16px!important;font-weight:700!important;color:#fff!important;line-height:1.3!important;}
.bcibchat .bcibchat-header__sub{margin:2px 0 0!important;padding:0!important;font-size:12.5px!important;font-weight:400!important;color:rgba(255,255,255,.9)!important;line-height:1.3!important;}
.bcibchat .bcibchat-close{
 flex:0 0 auto!important;width:30px!important;height:30px!important;padding:0!important;
 border:0!important;border-radius:8px!important;
 background:transparent!important;background-image:none!important;
 color:#fff!important;font-size:20px!important;line-height:1!important;
 display:flex!important;align-items:center!important;justify-content:center!important;
 box-shadow:none!important;
}
.bcibchat .bcibchat-close:hover{background:rgba(255,255,255,.16)!important;color:#fff!important;}
.bcibchat .bcibchat-close:focus-visible{outline:2px solid #fff!important;outline-offset:2px!important;}

/* ---------------------------------------------------------------- messages */
.bcibchat .bcibchat-log{
 flex:1 1 auto!important;overflow-y:auto!important;padding:16px!important;margin:0!important;
 background:var(--bc-bg-soft)!important;
 display:flex!important;flex-direction:column!important;gap:10px!important;
 -webkit-overflow-scrolling:touch;
}
.bcibchat .bcibchat-msg{
 max-width:86%!important;padding:10px 13px!important;margin:0!important;
 border-radius:14px!important;overflow-wrap:anywhere!important;
 font-size:15px!important;line-height:1.5!important;
}
.bcibchat .bcibchat-msg--bot{
 align-self:flex-start!important;
 background:var(--bc-bg)!important;color:var(--bc-text)!important;
 border:1px solid var(--bc-border)!important;border-bottom-left-radius:6px!important;
}
.bcibchat .bcibchat-msg--user{
 align-self:flex-end!important;
 background:var(--bc-primary)!important;color:#fff!important;
 border:1px solid var(--bc-primary)!important;border-bottom-right-radius:6px!important;
}
.bcibchat .bcibchat-msg a{color:var(--bc-primary)!important;text-decoration:underline!important;}
.bcibchat .bcibchat-msg--user a{color:#fff!important;}
.bcibchat .bcibchat-msg p{margin:0 0 8px!important;}
.bcibchat .bcibchat-msg p:last-child{margin-bottom:0!important;}
.bcibchat .bcibchat-msg ul,.bcibchat .bcibchat-msg ol{margin:6px 0!important;padding-left:20px!important;}
.bcibchat .bcibchat-msg--error{background:#fff5f5!important;border-color:#f0c2c2!important;color:#7a2020!important;}
.bcibchat .bcibchat-working{display:flex!important;gap:4px!important;align-items:center!important;color:var(--bc-muted)!important;font-size:14px!important;}
.bcibchat .bcibchat-dots span{animation:bcibchat-blink 1.2s infinite;display:inline-block;}
.bcibchat .bcibchat-dots span:nth-child(2){animation-delay:.2s;}
.bcibchat .bcibchat-dots span:nth-child(3){animation-delay:.4s;}
@keyframes bcibchat-blink{0%,80%,100%{opacity:.25;}40%{opacity:1;}}

/* ------------------------------------------------------------------- chips */
.bcibchat .bcibchat-chips{
 display:flex!important;flex-wrap:wrap!important;gap:8px!important;
 padding:0 16px 12px!important;margin:0!important;background:var(--bc-bg-soft)!important;
}
.bcibchat .bcibchat-chip{
 padding:7px 12px!important;margin:0!important;
 border:1px solid #91a99a!important;border-radius:999px!important;
 background:var(--bc-bg)!important;background-image:none!important;
 color:var(--bc-primary)!important;
 font-size:13.5px!important;font-weight:500!important;line-height:1.3!important;
 cursor:pointer!important;box-shadow:none!important;width:auto!important;height:auto!important;
}
.bcibchat .bcibchat-chip:hover{background:#eef3ef!important;color:var(--bc-primary)!important;border-color:var(--bc-primary)!important;}
.bcibchat .bcibchat-chip:focus-visible{outline:2px solid var(--bc-primary)!important;outline-offset:2px!important;}

/* ------------------------------------------------------------ input + notice */
.bcibchat .bcibchat-notice{
 margin:0!important;padding:8px 16px!important;
 background:var(--bc-bg)!important;border-top:1px solid var(--bc-border)!important;
 color:var(--bc-muted)!important;font-size:11.5px!important;line-height:1.4!important;
}
.bcibchat .bcibchat-form{
 display:flex!important;gap:8px!important;align-items:flex-end!important;
 padding:10px 12px 12px!important;margin:0!important;background:var(--bc-bg)!important;
}
.bcibchat .bcibchat-input{
 flex:1 1 auto!important;min-height:42px!important;max-height:120px!important;resize:none!important;
 padding:10px 12px!important;margin:0!important;
 border:1px solid var(--bc-border)!important;border-radius:12px!important;
 font:inherit!important;font-size:15px!important;color:var(--bc-text)!important;
 background:var(--bc-bg)!important;box-shadow:none!important;
}
.bcibchat .bcibchat-input:focus{outline:2px solid var(--bc-primary)!important;outline-offset:0!important;border-color:var(--bc-primary)!important;}
.bcibchat .bcibchat-input::placeholder{color:#8a9a92!important;}
.bcibchat .bcibchat-send{
 flex:0 0 auto!important;width:42px!important;height:42px!important;padding:0!important;
 border:0!important;border-radius:50%!important;
 background:var(--bc-primary)!important;background-image:none!important;
 color:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;
 box-shadow:none!important;
}
.bcibchat .bcibchat-send:hover:not(:disabled){background:var(--bc-primary-hover)!important;}
.bcibchat .bcibchat-send:disabled{opacity:.5!important;cursor:default!important;}
.bcibchat .bcibchat-send:focus-visible{outline:3px solid #8fb3a2!important;outline-offset:2px!important;}
.bcibchat .bcibchat-send svg{width:20px!important;height:20px!important;display:block!important;fill:none!important;stroke:#fff!important;}
.bcibchat .bcibchat-powered{
 margin:0!important;padding:6px 12px 10px!important;background:var(--bc-bg)!important;
 color:var(--bc-muted)!important;font-size:11px!important;text-align:right!important;
}

/* ------------------------------------------------------------------ mobile */
@media (max-width:600px){
 .bcibchat .bcibchat-panel{
  right:0!important;left:0!important;bottom:0!important;
  width:100%!important;max-width:none!important;
  height:min(88vh,100%)!important;
  border-radius:16px 16px 0 0!important;
 }
 .bcibchat .bcibchat-msg{max-width:92%!important;}
 .bcibchat .bcibchat-launcher{right:14px!important;bottom:14px!important;}
}
@media (prefers-reduced-motion:reduce){
 .bcibchat *{transition:none!important;animation:none!important;}
 .bcibchat .bcibchat-dots span{opacity:1;}
}

/* ------------------------------------------------- structured answer blocks */
/* The model may use these four blocks, nothing else. They keep answers short and
   scannable: a fact card, numbered steps, a button and inline reply choices. */

.bcibchat .bcibchat-kicker{
 margin:0 0 4px!important;font-size:11px!important;font-weight:700!important;
 letter-spacing:.06em!important;text-transform:uppercase!important;color:var(--bc-muted)!important;
}

.bcibchat .bcibchat-card{
 display:block!important;margin:8px 0!important;padding:12px 14px!important;
 background:var(--bc-bg-soft)!important;
 border:1px solid var(--bc-border)!important;border-left:4px solid var(--bc-primary)!important;
 border-radius:12px!important;text-align:left!important;
}
.bcibchat .bcibchat-card__label{
 display:block!important;margin:0!important;font-size:13px!important;font-weight:700!important;
 color:var(--bc-primary)!important;line-height:1.3!important;
}
.bcibchat .bcibchat-card__value{
 display:block!important;margin:2px 0 0!important;font-size:26px!important;font-weight:700!important;
 color:var(--bc-text)!important;line-height:1.15!important;
}
.bcibchat .bcibchat-card__meta{
 display:block!important;margin:4px 0 0!important;font-size:12.5px!important;font-weight:400!important;
 color:var(--bc-muted)!important;line-height:1.4!important;
}

.bcibchat .bcibchat-steps{
 margin:8px 0!important;padding-left:22px!important;
}
.bcibchat .bcibchat-steps li{
 margin:0 0 6px!important;padding-left:2px!important;line-height:1.45!important;
}
.bcibchat .bcibchat-steps li:last-child{margin-bottom:0!important;}
.bcibchat .bcibchat-steps li::marker{color:var(--bc-primary)!important;font-weight:700!important;}

.bcibchat .bcibchat-btn{
 display:inline-block!important;margin:8px 6px 0 0!important;padding:10px 16px!important;
 background:var(--bc-primary)!important;background-image:none!important;
 color:#fff!important;border:0!important;border-radius:999px!important;
 font-size:14px!important;font-weight:600!important;line-height:1.2!important;
 text-decoration:none!important;box-shadow:none!important;
}
.bcibchat .bcibchat-btn:hover{background:var(--bc-primary-hover)!important;color:#fff!important;}
.bcibchat .bcibchat-btn--secondary{
 background:var(--bc-bg)!important;color:var(--bc-primary)!important;
 border:1px solid var(--bc-primary)!important;
}
.bcibchat .bcibchat-btn--secondary:hover{background:#eef3ef!important;color:var(--bc-primary)!important;}

/* A button is a link inside a message, and ".bcibchat-msg a" is more specific than
   ".bcibchat-btn" — without these rules the label ends up green on green. */
.bcibchat .bcibchat-msg a.bcibchat-btn,
.bcibchat .bcibchat-msg a.bcibchat-btn:hover{
 color:#fff!important;text-decoration:none!important;
}
.bcibchat .bcibchat-msg a.bcibchat-btn--secondary,
.bcibchat .bcibchat-msg a.bcibchat-btn--secondary:hover{
 background:var(--bc-bg)!important;color:var(--bc-primary)!important;text-decoration:none!important;
}

/* Inline reply choices rendered from [[valg:A|B]] in the model's answer. */
.bcibchat .bcibchat-choices{
 display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin:8px 0 0!important;
}
.bcibchat .bcibchat-choices .bcibchat-chip{margin:0!important;}
.bcibchat .bcibchat-chip[disabled]{opacity:.45!important;cursor:default!important;}

.bcibchat .bcibchat-meta{
 display:block!important;margin:6px 0 0!important;font-size:12.5px!important;color:var(--bc-muted)!important;
}

/* One event, compact: when on top, what and where below, link last. */
.bcibchat .bcibchat-event{
 display:block!important;margin:8px 0!important;padding:10px 12px!important;
 background:var(--bc-bg)!important;border:1px solid var(--bc-border)!important;
 border-left:3px solid var(--bc-primary)!important;border-radius:10px!important;text-align:left!important;
}
.bcibchat .bcibchat-event__when{
 display:block!important;margin:0!important;font-size:13px!important;font-weight:700!important;
 color:var(--bc-primary)!important;line-height:1.3!important;
}
.bcibchat .bcibchat-event__what{
 display:block!important;margin:2px 0 0!important;font-size:15px!important;font-weight:600!important;
 color:var(--bc-text)!important;line-height:1.35!important;
}
.bcibchat .bcibchat-event__where{
 display:block!important;margin:2px 0 0!important;font-size:12.5px!important;font-weight:400!important;
 color:var(--bc-muted)!important;line-height:1.4!important;
}
.bcibchat .bcibchat-event__link{
 display:inline-block!important;margin:6px 0 0!important;font-size:13px!important;font-weight:600!important;
 color:var(--bc-primary)!important;text-decoration:underline!important;
}

/* Plain bullets, for short lists that are not steps. */
.bcibchat .bcibchat-list{
 margin:8px 0!important;padding-left:20px!important;
}
.bcibchat .bcibchat-list li{
 margin:0 0 4px!important;line-height:1.4!important;
}
.bcibchat .bcibchat-list li:last-child{margin-bottom:0!important;}
.bcibchat .bcibchat-list li::marker{color:var(--bc-primary)!important;}

/* The member's own QR card. The markup comes from bcib-membership-qr, so only the
   things needed to fit it inside a chat bubble are overridden here. */
.bcibchat .bcibchat-qr{
 display:block!important;margin:8px 0 0!important;font-size:13px!important;color:var(--bc-muted)!important;
}
.bcibchat .bcibchat-qr--error{color:var(--bc-text)!important;}
.bcibchat .bcib-qr-card{
 max-width:100%!important;margin:6px 0 0!important;padding:16px!important;
 box-sizing:border-box!important;text-align:center!important;box-shadow:none!important;
}
.bcibchat .bcib-qr-image img{max-width:100%!important;height:auto!important;}
/* The QR is drawn locally as SVG: no external request, and it scales cleanly. */
.bcibchat .bcib-qr-image svg{
 display:block!important;margin:8px auto 0!important;
 width:190px!important;height:190px!important;max-width:100%!important;
}
.bcibchat .bcib-no-membership{
 margin:6px 0 0!important;padding:12px!important;box-sizing:border-box!important;text-align:left!important;
}

/* Keep cards, events and buttons comfortable on a phone. */
@media (max-width:600px){
 .bcibchat .bcibchat-card__value{font-size:24px!important;}
 .bcibchat .bcibchat-btn{display:block!important;text-align:center!important;margin-right:0!important;}
}

