
.dscb,.dscb *,.dscb *:before,.dscb *:after{box-sizing:border-box;font-family:"Oswald",Arial,sans-serif}
.dscb{position:relative;z-index:999970;color:var(--dscb-chat-text)}
.dscb-launcher{position:fixed;right:20px;bottom:20px;z-index:999971;display:flex;align-items:center;gap:9px;min-height:52px;padding:0 18px;border:0;border-radius:0;background:var(--dscb-primary);color:var(--dscb-primary-text);cursor:pointer;box-shadow:0 12px 30px rgba(0,0,0,.2)}
.dscb-launcher-icon{font-size:18px}.dscb-launcher-label{font-size:13px;letter-spacing:.05em;text-transform:uppercase}
.dscb-panel{position:fixed;right:20px;bottom:84px;z-index:999972;width:min(390px,calc(100vw - 24px));height:min(650px,calc(100vh - 110px));display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;background:var(--dscb-chat-bg);border:1px solid var(--dscb-border);box-shadow:0 18px 60px rgba(0,0,0,.25);overflow:hidden}
.dscb-panel[hidden]{display:none!important}
.dscb-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 17px;background:var(--dscb-header-bg);color:var(--dscb-header-text)}
.dscb-brand{display:flex;align-items:center;gap:12px;min-width:0}.dscb-brand>img{max-width:105px;max-height:40px;object-fit:contain}.dscb-brand>strong{font-size:17px;letter-spacing:.08em}.dscb-brand div{display:flex;flex-direction:column;gap:2px}.dscb-brand b{font-size:15px;font-weight:500;color:inherit}.dscb-brand small{font-size:12px;color:inherit;opacity:.75}
.dscb-close{width:38px;height:38px;padding:0;border:0;background:transparent;color:var(--dscb-header-text);font-size:27px;cursor:pointer}
.dscb-messages{overflow-y:auto;padding:18px 16px;background:var(--dscb-chat-bg)}
.dscb-message{display:flex;gap:8px;margin-bottom:12px}.dscb-message>div{max-width:82%;padding:11px 13px;font-family:"Oswald",Arial,sans-serif;font-size:15px;line-height:1.55}
.dscb-bot{justify-content:flex-start}.dscb-bot>div{background:var(--dscb-bot-bg);color:var(--dscb-bot-text)}
.dscb-user{justify-content:flex-end}.dscb-user>div{background:var(--dscb-user-bg);color:var(--dscb-user-text)}
.dscb-avatar{width:32px;height:32px;object-fit:cover;border-radius:50%}
.dscb-action{display:inline-block;margin-top:9px;padding:8px 11px;background:var(--dscb-primary);color:var(--dscb-primary-text)!important;text-decoration:none;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.dscb-quick{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 5px}.dscb-quick button{padding:10px 12px;border:1px solid var(--dscb-border);background:transparent;color:var(--dscb-chat-text);font-size:12px;cursor:pointer}.dscb-quick button:hover{border-color:var(--dscb-primary);color:var(--dscb-primary)}
.dscb-input-row{display:grid;grid-template-columns:minmax(0,1fr) 52px;border-top:1px solid var(--dscb-border);background:var(--dscb-chat-bg)}.dscb-input-row input{height:58px;padding:0 15px;border:0;outline:0;background:transparent;color:var(--dscb-chat-text);font-size:14px}.dscb-input-row button{border:0;background:var(--dscb-primary);color:var(--dscb-primary-text);font-size:22px;cursor:pointer}
.dscb-typing{opacity:.65}
.dscb-lead-form{position:absolute;inset:70px 0 0;z-index:3;overflow:auto;padding:20px;background:var(--dscb-chat-bg);color:var(--dscb-chat-text)}.dscb-lead-form[hidden]{display:none!important}.dscb-lead-form>b{font-size:20px}.dscb-lead-form p{font-size:14px;line-height:1.55;color:var(--dscb-chat-text)!important}.dscb-lead-form input,.dscb-lead-form textarea{width:100%;margin:0 0 9px;padding:11px;border:1px solid var(--dscb-border);border-radius:0;background:transparent;color:var(--dscb-chat-text);font:14px "Oswald",Arial,sans-serif}.dscb-lead-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:8px;margin-top:4px}.dscb-lead-actions button{min-height:42px;border-radius:0;cursor:pointer;font-size:12px;text-transform:uppercase}.dscb-primary{border:1px solid var(--dscb-primary);background:var(--dscb-primary);color:var(--dscb-primary-text)}.dscb-secondary{border:1px solid var(--dscb-border);background:transparent;color:var(--dscb-chat-text)}.dscb-lead-form>small{display:block;margin-top:10px;font-size:11px;line-height:1.45;opacity:.7}
@media(max-width:600px){.dscb-launcher{right:12px;bottom:12px}.dscb-panel{right:6px;bottom:72px;width:calc(100vw - 12px);height:calc(100dvh - 86px)}}

.dscb-contactbar{
  display:flex;
  align-items:stretch;
  overflow-x:auto;
  border-bottom:1px solid var(--dscb-border);
  background:var(--dscb-chat-bg);
  scrollbar-width:none;
}
.dscb-contactbar::-webkit-scrollbar{display:none}
.dscb-contactitem{
  flex:1 0 62px;
  min-width:62px;
  padding:9px 6px 8px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  border-right:1px solid var(--dscb-border);
  color:var(--dscb-chat-text)!important;
  text-decoration:none!important;
  transition:.2s ease;
}
.dscb-contactitem:last-child{border-right:0}
.dscb-contactitem:hover{
  background:var(--dscb-primary);
  color:var(--dscb-primary-text)!important;
}
.dscb-contactitem>span{
  display:flex;
  width:25px;
  height:25px;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:500;
}
.dscb-contactitem>small{
  font-size:9px;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.03em;
}


/* 0.1.3 – Lesbarkeit / CI / Button-Zustände */
.dscb-lead-form,
.dscb-lead-form b,
.dscb-lead-form p,
.dscb-lead-form small,
.dscb-lead-form label{
  color:var(--dscb-chat-text)!important;
}

.dscb-lead-form input,
.dscb-lead-form textarea{
  color:var(--dscb-chat-text)!important;
  background:var(--dscb-chat-bg)!important;
  -webkit-text-fill-color:var(--dscb-chat-text)!important;
  opacity:1!important;
}

.dscb-lead-form input::placeholder,
.dscb-lead-form textarea::placeholder,
.dscb-input-row input::placeholder{
  color:var(--dscb-chat-text)!important;
  opacity:.58!important;
}

.dscb-lead-form input:focus,
.dscb-lead-form textarea:focus{
  outline:none!important;
  border-color:var(--dscb-primary)!important;
  box-shadow:0 0 0 1px var(--dscb-primary)!important;
}

.dscb-quick button,
.dscb-secondary{
  color:var(--dscb-chat-text)!important;
  background:var(--dscb-chat-bg)!important;
  border-color:var(--dscb-border)!important;
}

.dscb-quick button:hover,
.dscb-quick button:focus,
.dscb-quick button:focus-visible,
.dscb-quick button:active,
.dscb-quick button.is-active{
  color:var(--dscb-primary-text)!important;
  background:var(--dscb-primary)!important;
  border-color:var(--dscb-primary)!important;
  outline:none!important;
}

.dscb-secondary:hover,
.dscb-secondary:focus,
.dscb-secondary:active{
  color:var(--dscb-primary-text)!important;
  background:var(--dscb-primary)!important;
  border-color:var(--dscb-primary)!important;
}

.dscb-primary:hover,
.dscb-primary:focus,
.dscb-primary:active,
.dscb-input-row button:hover,
.dscb-input-row button:focus{
  filter:brightness(.9);
  outline:none!important;
}

.dscb-message>div{
  font-size:15px!important;
  line-height:1.58!important;
}

.dscb-action{
  font-size:12px!important;
  padding:9px 12px!important;
}

.dscb-quick{
  gap:8px;
}

.dscb-quick button{
  min-height:38px;
  line-height:1.25;
}

.dscb-header{
  min-height:70px;
}

.dscb-brand b{
  line-height:1.2;
}

.dscb-brand small{
  line-height:1.25;
}

.dscb-lead-form{
  padding:24px 20px;
}

.dscb-lead-form textarea{
  min-height:120px;
  resize:vertical;
}

@media(max-width:600px){
  .dscb-message>div{font-size:14px!important}
  .dscb-quick button{font-size:11px}
  .dscb-lead-form p{font-size:13px}
}


/* 0.1.4 – Texteingabe immer schwarz */
.dscb-input-row input,
.dscb-input-row input:focus,
.dscb-input-row input:active,
.dscb-input-row input:hover,
.dscb-input-row input:not(:placeholder-shown){
  color:#000000!important;
  -webkit-text-fill-color:#000000!important;
  caret-color:#000000!important;
  background:#ffffff!important;
  opacity:1!important;
}

.dscb-input-row input::placeholder{
  color:#666666!important;
  -webkit-text-fill-color:#666666!important;
  opacity:1!important;
}

/* Browser-Autofill ebenfalls lesbar halten */
.dscb-input-row input:-webkit-autofill,
.dscb-input-row input:-webkit-autofill:hover,
.dscb-input-row input:-webkit-autofill:focus{
  -webkit-text-fill-color:#000000!important;
  caret-color:#000000!important;
  -webkit-box-shadow:0 0 0 1000px #ffffff inset!important;
  box-shadow:0 0 0 1000px #ffffff inset!important;
}


/* 0.1.5 – kompakter DriveStyle Chat-Icon-Button */
.dscb-launcher{
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  min-height:52px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  border-radius:0!important;
}

.dscb-launcher-label{
  display:none!important;
}

.dscb-launcher-icon{
  width:24px!important;
  height:24px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:0!important;
  line-height:1!important;
  color:var(--dscb-primary-text)!important;
}

.dscb-launcher-icon svg{
  display:block!important;
  width:24px!important;
  height:24px!important;
  fill:currentColor!important;
}

@media(max-width:600px){
  .dscb-launcher{
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    min-height:52px!important;
  }
}


/* 0.1.6 – Eigene Nachrichten: Textfarbe zuverlässig anwenden */
.dscb .dscb-message.dscb-user > div,
.dscb .dscb-message.dscb-user > div *,
.dscb .dscb-user > div,
.dscb .dscb-user > div *{
  color:var(--dscb-user-text)!important;
  -webkit-text-fill-color:var(--dscb-user-text)!important;
}

.dscb .dscb-message.dscb-user > div{
  background:var(--dscb-user-bg)!important;
}

/* Links innerhalb einer eigenen Nachricht ebenfalls kontrastreich */
.dscb .dscb-message.dscb-user a{
  color:var(--dscb-user-text)!important;
  -webkit-text-fill-color:var(--dscb-user-text)!important;
  text-decoration:underline;
}


/* 0.1.7 – Formularlinien und frei einstellbarer Chat-Button */

/* Persönliche Anfrage: klare Eingabefelder */
.dscb-lead-form input[type="text"],
.dscb-lead-form input[type="email"],
.dscb-lead-form input[type="tel"]{
  display:block!important;
  width:100%!important;
  min-height:46px!important;
  padding:10px 12px!important;
  margin:0 0 10px!important;
  border:1px solid var(--dscb-border)!important;
  border-radius:0!important;
  background:#ffffff!important;
  color:#000000!important;
  -webkit-text-fill-color:#000000!important;
  box-shadow:none!important;
  outline:none!important;
}

.dscb-lead-form textarea{
  border:1px solid var(--dscb-border)!important;
  background:#ffffff!important;
  color:#000000!important;
  -webkit-text-fill-color:#000000!important;
}

.dscb-lead-form input[type="text"]:focus,
.dscb-lead-form input[type="email"]:focus,
.dscb-lead-form input[type="tel"]:focus,
.dscb-lead-form textarea:focus{
  border-color:var(--dscb-primary)!important;
  box-shadow:0 0 0 1px var(--dscb-primary)!important;
}

/* Launcher – Desktop */
.dscb-launcher{
  width:var(--dscb-launcher-size-desktop)!important;
  height:var(--dscb-launcher-size-desktop)!important;
  min-width:var(--dscb-launcher-size-desktop)!important;
  min-height:var(--dscb-launcher-size-desktop)!important;
  bottom:var(--dscb-launcher-bottom-desktop)!important;
  transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease!important;
}

.dscb-launcher.dscb-desktop-right{
  right:var(--dscb-launcher-side-desktop)!important;
  left:auto!important;
}

.dscb-launcher.dscb-desktop-left{
  left:var(--dscb-launcher-side-desktop)!important;
  right:auto!important;
}

.dscb-launcher:hover,
.dscb-launcher:focus,
.dscb-launcher:focus-visible{
  background:var(--dscb-launcher-hover-bg)!important;
  color:var(--dscb-launcher-hover-text)!important;
  transform:translateY(-2px);
  box-shadow:0 14px 32px rgba(0,0,0,.24)!important;
  outline:none!important;
}

.dscb-launcher:hover .dscb-launcher-icon,
.dscb-launcher:focus .dscb-launcher-icon{
  color:var(--dscb-launcher-hover-text)!important;
}

/* Icon skaliert mit der Button-Größe */
.dscb-launcher-icon{
  width:46%!important;
  height:46%!important;
}

.dscb-launcher-icon svg{
  width:100%!important;
  height:100%!important;
}

/* Launcher – Mobil getrennt einstellbar */
@media(max-width:600px){
  .dscb-launcher{
    width:var(--dscb-launcher-size-mobile)!important;
    height:var(--dscb-launcher-size-mobile)!important;
    min-width:var(--dscb-launcher-size-mobile)!important;
    min-height:var(--dscb-launcher-size-mobile)!important;
    bottom:var(--dscb-launcher-bottom-mobile)!important;
  }

  .dscb-launcher.dscb-mobile-right{
    right:var(--dscb-launcher-side-mobile)!important;
    left:auto!important;
  }

  .dscb-launcher.dscb-mobile-left{
    left:var(--dscb-launcher-side-mobile)!important;
    right:auto!important;
  }
}


/* 0.1.8 – Nutzer-Nachrichten zwingend weiß auf rotem Feld.
   Diese Regeln stehen bewusst ganz am Ende, damit Theme/Elementor
   und frühere allgemeine .dscb-message-Regeln sie nicht überschreiben. */
html body .dscb .dscb-messages .dscb-message.dscb-user > div,
html body .dscb .dscb-messages .dscb-message.dscb-user > div *,
html body .dscb .dscb-messages div.dscb-user > div,
html body .dscb .dscb-messages div.dscb-user > div *{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}

html body .dscb .dscb-messages .dscb-message.dscb-user > div,
html body .dscb .dscb-messages div.dscb-user > div{
  background:var(--dscb-user-bg, #c00000)!important;
}

/* Auch markierter Text innerhalb einer Nutzer-Nachricht */
html body .dscb .dscb-message.dscb-user > div::selection,
html body .dscb .dscb-message.dscb-user > div *::selection{
  color:#ffffff!important;
}


/* 0.1.9 – Schriftgrößen aus Backend */
.dscb-brand b{font-size:var(--dscb-font-header-title,15px)!important}
.dscb-brand small{font-size:var(--dscb-font-header-subtitle,12px)!important}
.dscb-message.dscb-bot>div{font-size:var(--dscb-font-bot-message,15px)!important}
.dscb-message.dscb-user>div{font-size:var(--dscb-font-user-message,15px)!important}
.dscb-quick button{font-size:var(--dscb-font-quick-button,12px)!important}
.dscb-input-row input{font-size:var(--dscb-font-input,14px)!important}
.dscb-lead-form>b{font-size:var(--dscb-font-form-title,20px)!important}
.dscb-lead-form p,
.dscb-lead-form input,
.dscb-lead-form textarea{font-size:var(--dscb-font-form-text,14px)!important}
.dscb-contactitem>small{font-size:var(--dscb-font-contact-bar,9px)!important}

.dscb-direct-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:9px 10px;border-bottom:1px solid var(--dscb-border);background:var(--dscb-chat-bg)}
.dscb-direct-action{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:9px 8px;text-decoration:none!important;border:1px solid var(--dscb-border);background:var(--dscb-chat-bg);color:var(--dscb-chat-text)!important;transition:.18s ease}
.dscb-direct-action:hover{background:var(--dscb-primary);border-color:var(--dscb-primary);color:var(--dscb-primary-text)!important}
.dscb-direct-action strong{font-size:11px;line-height:1.2;text-transform:uppercase}
.dscb-direct-action small{margin-top:3px;font-size:9px;line-height:1.2;opacity:.75}
@media(max-width:480px){.dscb-direct-actions{grid-template-columns:1fr 1fr}.dscb-direct-action:last-child:nth-child(3){grid-column:1/-1}}

.dscb-vehicle-results{display:grid;gap:8px;margin:4px 0 10px}
.dscb-vehicle-card{display:grid;grid-template-columns:92px 1fr;min-height:72px;border:1px solid var(--dscb-border);background:var(--dscb-chat-bg);color:var(--dscb-chat-text)!important;text-decoration:none!important;overflow:hidden}
.dscb-vehicle-card img{width:92px;height:100%;min-height:72px;object-fit:cover;display:block}
.dscb-vehicle-card span{display:flex;flex-direction:column;justify-content:center;padding:9px 11px;min-width:0}
.dscb-vehicle-card strong{font-size:12px;line-height:1.3}
.dscb-vehicle-card small{font-size:11px;margin-top:5px;font-weight:600}
.dscb-vehicle-card:hover{border-color:var(--dscb-primary)}
@media(max-width:420px){.dscb-vehicle-card{grid-template-columns:78px 1fr}.dscb-vehicle-card img{width:78px}}

.dscb-wish-action{display:flex;margin:4px 0 12px;padding-left:48px}
.dscb-wish-lead-button{appearance:none;background:var(--dscb-chat-bg);color:var(--dscb-chat-text);border:1px solid var(--dscb-border);padding:10px 12px;font:inherit;font-size:11px;font-weight:600;line-height:1.2;text-transform:uppercase;cursor:pointer;box-shadow:none}
.dscb-wish-lead-button:hover{background:var(--dscb-primary);border-color:var(--dscb-primary);color:var(--dscb-primary-text)}
