.dscms-assistant-launcher{
 position:fixed;right:22px;bottom:22px;z-index:2147483000;
 display:flex;align-items:center;gap:9px;border:0;border-radius:999px;
 padding:11px 15px;background:#1769ff;color:#fff;font-weight:850;
 box-shadow:0 14px 34px rgba(23,105,255,.30);cursor:pointer
}
.dscms-assistant-launcher span:first-child{font-size:1.05rem}
.dscms-assistant-panel{
 position:fixed;right:22px;bottom:78px;z-index:2147483000;
 width:min(390px,calc(100vw - 24px));height:min(620px,calc(100vh - 110px));
 display:none;grid-template-rows:auto 1fr auto auto;background:#fff;
 border:1px solid #dfe6ed;border-radius:19px;overflow:hidden;
 box-shadow:0 22px 60px rgba(20,35,55,.22)
}
.dscms-assistant-panel.is-open{display:grid}
.dscms-assistant-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:15px 16px;border-bottom:1px solid #e5eaf0}
.dscms-assistant-head strong,.dscms-assistant-head small{display:block}
.dscms-assistant-head small{color:#6c7780;margin-top:2px}
.dscms-assistant-close{border:0;background:transparent;font-size:1.35rem;color:#68737d;cursor:pointer}
.dscms-assistant-messages{padding:15px;overflow:auto;background:#f7f9fc}
.dscms-assistant-message{max-width:88%;margin-bottom:10px;padding:10px 12px;border-radius:14px;line-height:1.45;white-space:pre-wrap;word-break:break-word;font-size:.92rem}
.dscms-assistant-message.user{margin-left:auto;background:#1769ff;color:#fff}
.dscms-assistant-message.assistant{background:#fff;border:1px solid #dfe6ed;color:#1d2c42}
.dscms-assistant-sources{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.dscms-assistant-sources a{font-size:.78rem;color:#1769ff;text-decoration:none;background:#edf4ff;border-radius:999px;padding:5px 8px}
.dscms-assistant-suggestions{display:flex;gap:6px;overflow:auto;padding:8px 12px;border-top:1px solid #e7ebf0}
.dscms-assistant-suggestions button{flex:0 0 auto;border:1px solid #d6e2f4;background:#edf4ff;color:#245ca9;border-radius:999px;padding:6px 9px;cursor:pointer;font-size:.78rem}
.dscms-assistant-form{display:grid;grid-template-columns:1fr auto;gap:8px;padding:11px;border-top:1px solid #e5eaf0}
.dscms-assistant-form textarea{min-height:44px;max-height:100px;resize:none;border:1px solid #ccd6e0;border-radius:11px;padding:10px}
.dscms-assistant-form button{border:0;background:#1769ff;color:#fff;border-radius:10px;padding:0 13px;font-weight:800;cursor:pointer}
@media(max-width:600px){
 .dscms-assistant-launcher{right:12px;bottom:12px}
 .dscms-assistant-panel{right:12px;bottom:67px;width:calc(100vw - 24px);height:calc(100vh - 92px)}
 .dscms-assistant-launcher .dscms-assistant-label{display:none}
}
.dscms-assistant-message.assistant{
 white-space:pre-wrap;
}
.dscms-assistant-message.assistant::first-line{
 font-weight:700;
}
.dscms-assistant-source-details{
 margin-top:10px;
 border-top:1px solid #e6ebf1;
 padding-top:8px;
}
.dscms-assistant-source-details summary{
 cursor:pointer;
 color:#4f6074;
 font-size:.78rem;
 font-weight:800;
 list-style:none;
}
.dscms-assistant-source-details summary::-webkit-details-marker{
 display:none;
}
.dscms-assistant-source-details summary::before{
 content:'▸';
 display:inline-block;
 margin-right:6px;
 transition:transform .15s ease;
}
.dscms-assistant-source-details[open] summary::before{
 transform:rotate(90deg);
}
.dscms-assistant-sources{
 display:flex;
 gap:6px;
 flex-wrap:wrap;
 margin-top:8px;
 max-height:120px;
 overflow:auto;
}
.dscms-assistant-sources a{
 max-width:100%;
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
}
.dscms-assistant-source-more{
 font-size:.76rem;
 color:#6b7680;
 margin-top:7px;
}


/* DutchSpark CMS 4.3 — Mobile Assistant UX */
.dscms-assistant-message-content{
 white-space:pre-wrap;
 line-height:1.55;
}
.dscms-assistant-message-content p{
 margin:0 0 10px;
}
.dscms-assistant-message-content p:last-child{
 margin-bottom:0;
}
.dscms-assistant-thinking{
 display:flex;
 align-items:center;
 gap:10px;
 min-width:180px;
 color:#526174;
}
.dscms-assistant-thinking-label{
 font-size:.84rem;
}
.dscms-assistant-thinking-dots{
 display:inline-flex;
 align-items:center;
 gap:4px;
}
.dscms-assistant-thinking-dots i{
 width:6px;
 height:6px;
 border-radius:50%;
 background:currentColor;
 opacity:.28;
 animation:dscms-assistant-dot 1.05s infinite ease-in-out;
}
.dscms-assistant-thinking-dots i:nth-child(2){animation-delay:.15s}
.dscms-assistant-thinking-dots i:nth-child(3){animation-delay:.30s}
@keyframes dscms-assistant-dot{
 0%,60%,100%{transform:translateY(0);opacity:.28}
 30%{transform:translateY(-4px);opacity:1}
}
.dscms-assistant-reveal-paragraph{
 margin:0 0 10px;
 opacity:0;
 transform:translateY(5px);
 transition:opacity .22s ease,transform .22s ease;
}
.dscms-assistant-reveal-paragraph:last-child{margin-bottom:0}
.dscms-assistant-reveal-paragraph.is-visible{
 opacity:1;
 transform:translateY(0);
}
.dscms-assistant-source-enter{
 opacity:0;
 transform:translateY(4px);
 transition:opacity .2s ease,transform .2s ease;
}
.dscms-assistant-source-enter.is-visible{
 opacity:1;
 transform:translateY(0);
}
.dscms-assistant-form button:disabled,
.dscms-assistant-form textarea:disabled{
 opacity:.58;
 cursor:not-allowed;
}
.dscms-assistant-close{
 min-width:44px;
 min-height:44px;
 display:grid;
 place-items:center;
 border-radius:10px;
}
.dscms-assistant-close:hover{
 background:#f1f4f7;
}
.dscms-assistant-form textarea{
 font-size:16px;
 line-height:1.4;
}
.dscms-assistant-form button{
 min-width:58px;
 min-height:44px;
}
.dscms-assistant-suggestions button{
 min-height:38px;
}
.dscms-assistant-source-details summary{
 line-height:1.35;
}
html.dscms-assistant-open{
 overscroll-behavior:none;
}

@media(max-width:600px){
 html.dscms-assistant-open,
 html.dscms-assistant-open body{
  overflow:hidden;
  height:100%;
 }
 .dscms-assistant-launcher{
  right:max(12px,env(safe-area-inset-right));
  bottom:max(12px,env(safe-area-inset-bottom));
  min-width:52px;
  min-height:52px;
  padding:0;
  justify-content:center;
 }
 .dscms-assistant-panel{
  inset:0;
  right:0;
  bottom:0;
  width:100vw;
  max-width:none;
  height:100dvh;
  max-height:none;
  border:0;
  border-radius:0;
  grid-template-rows:auto minmax(0,1fr) auto auto;
  padding-top:env(safe-area-inset-top);
  padding-bottom:env(safe-area-inset-bottom);
  box-shadow:none;
 }
 .dscms-assistant-head{
  min-height:64px;
  padding:10px max(14px,env(safe-area-inset-right)) 10px max(14px,env(safe-area-inset-left));
  background:#fff;
 }
 .dscms-assistant-head strong{
  font-size:1rem;
 }
 .dscms-assistant-head small{
  font-size:.76rem;
 }
 .dscms-assistant-messages{
  min-height:0;
  padding:14px max(12px,env(safe-area-inset-right)) 18px max(12px,env(safe-area-inset-left));
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
 }
 .dscms-assistant-message{
  max-width:94%;
  font-size:.94rem;
  padding:11px 12px;
 }
 .dscms-assistant-message.user{
  max-width:88%;
 }
 .dscms-assistant-suggestions{
  padding:8px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));
  background:#fff;
  scroll-snap-type:x proximity;
 }
 .dscms-assistant-suggestions button{
  min-height:42px;
  padding:8px 11px;
  scroll-snap-align:start;
 }
 .dscms-assistant-form{
  position:relative;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  padding:10px max(12px,env(safe-area-inset-right)) 10px max(12px,env(safe-area-inset-left));
  background:#fff;
 }
 .dscms-assistant-form textarea{
  width:100%;
  min-width:0;
  min-height:46px;
  max-height:116px;
  border-radius:13px;
  padding:11px 12px;
 }
 .dscms-assistant-form button{
  align-self:end;
  min-width:64px;
  min-height:46px;
  border-radius:12px;
 }
 .dscms-assistant-launcher .dscms-assistant-label{
  display:none;
 }
}

@media(max-width:380px){
 .dscms-assistant-head small{
  display:none;
 }
 .dscms-assistant-message{
  max-width:96%;
 }
 .dscms-assistant-form button{
  min-width:54px;
  padding:0 10px;
 }
}

@media(prefers-reduced-motion:reduce){
 .dscms-assistant-thinking-dots i,
 .dscms-assistant-reveal-paragraph,
 .dscms-assistant-source-enter{
  animation:none!important;
  transition:none!important;
  opacity:1!important;
  transform:none!important;
 }
}

.dscms-assistant-page-link{margin-top:10px}.dscms-assistant-page-link a{display:inline-flex;padding:8px 11px;border-radius:9px;background:#eef5ff;color:#1559b7;font-size:.8rem;font-weight:800;text-decoration:none}
