/* Voorlezen – Browser TTS (Modern + Theme-proof) */
.vtts, .vtts * { box-sizing: border-box !important; font-family: inherit !important; }

.vtts{
  position: fixed;
  left: 18px;
  bottom: 18px;
  z-index: 999999;
}

/* Theme-proof inputs/buttons */
.vtts__fab, .vtts__btn, .vtts__close, .vtts__select, .vtts__range{
  font: inherit !important;
}

/* Main button */
.vtts__fab{
  all: unset !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;

  padding: 11px 14px !important;
  border-radius: 999px !important;

  border: 1px solid var(--vtts-primary, #1e66ff) !important;
  background: var(--vtts-primary, #1e66ff) !important;
  color: #fff !important;

  box-shadow: 0 10px 24px rgba(0,0,0,.14) !important;

  cursor: pointer !important;
  font-weight: 650 !important;
  line-height: 1 !important;

  transition: background .12s ease, color .12s ease, transform .12s ease, box-shadow .12s ease !important;
}

.vtts__fab:hover,
.vtts__fab:focus,
.vtts__fab:focus-visible,
.vtts__fab:active{
  background:#fff !important;
  color: var(--vtts-primary, #1e66ff) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.16) !important;
  transform: translateY(-1px) !important;
  outline: none !important;
}

/* Icon */
.vtts__icon{
  display: inline-flex !important;
  width: 28px !important;
  height: 28px !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.18) !important;
  color: currentColor !important;
  transition: background .12s ease !important;
}

.vtts__fab:hover .vtts__icon,
.vtts__fab:focus .vtts__icon,
.vtts__fab:focus-visible .vtts__icon,
.vtts__fab:active .vtts__icon{
  background: color-mix(in srgb, var(--vtts-primary, #1e66ff) 12%, transparent) !important;
}

/* Label */
.vtts__label{ color: currentColor !important; font-size: 14px !important; }

/* Panel */
.vtts__panel{
  margin-top: 10px !important;
  width: 320px !important;

  border-radius: 14px !important;
  border: 1px solid rgba(0,0,0,.12) !important;

  background: rgba(255,255,255,.96) !important;
  backdrop-filter: blur(12px) !important;

  box-shadow: 0 18px 40px rgba(0,0,0,.18) !important;

  padding: 12px !important;
  color: #111 !important;
}

/* Header + close */
.vtts__panelhead{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
}
.vtts__title{
  font-weight: 750 !important;
  margin: 2px 0 6px 0 !important;
  color: #111 !important;
}
.vtts__close{
  all: unset !important;
  cursor: pointer !important;
  font-size: 18px !important;
  line-height: 1 !important;
  padding: 6px 8px !important;
  border-radius: 10px !important;
  color: rgba(0,0,0,.65) !important;
}
.vtts__close:hover{
  background: rgba(0,0,0,.06) !important;
  color: rgba(0,0,0,.85) !important;
}

.vtts__help{
  margin: 0 0 10px 0 !important;
  color: rgba(0,0,0,.78) !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  white-space: pre-line !important;
}

.vtts__row{ display: flex !important; gap: 8px !important; margin-bottom: 10px !important; }

.vtts__btn{
  all: unset !important;
  flex: 1 !important;
  padding: 9px 10px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(0,0,0,.12) !important;
  background: rgba(0,0,0,.05) !important;
  color: #111 !important;
  cursor: pointer !important;
  font-weight: 650 !important;
  font-size: 13px !important;
  line-height: 1.1 !important;
  text-align: center !important;
  transition: background .12s ease, transform .12s ease !important;
}
.vtts__btn:hover{ background: rgba(0,0,0,.07) !important; transform: translateY(-1px) !important; }
.vtts__btn:active{ transform: translateY(0) !important; }
.vtts__btn:disabled{ opacity: .55 !important; cursor: not-allowed !important; transform: none !important; }

.vtts__status{
  min-height: 18px !important;
  font-size: 13px !important;
  color: rgba(0,0,0,.78) !important;
}

/* Controls (voice + rate) */
.vtts__controls{
  display: grid !important;
  gap: 10px !important;
  margin: 0 0 10px 0 !important;
}

.vtts__field{
  display: grid !important;
  gap: 6px !important;
}

.vtts__fieldlabel{
  font-size: 12px !important;
  color: rgba(0,0,0,.70) !important;
  font-weight: 650 !important;
}

.vtts__select{
  width: 100% !important;
  padding: 9px 10px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(0,0,0,.12) !important;
  background: rgba(0,0,0,.03) !important;
  color: #111 !important;
}

.vtts__speedrow{
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.vtts__range{ width: 100% !important; }
.vtts__rateval{
  min-width: 52px !important;
  text-align: right !important;
  font-size: 12px !important;
  color: rgba(0,0,0,.75) !important;
  font-weight: 650 !important;
}

/* Mobile */
@media (max-width: 520px){
  .vtts{ left: 12px !important; bottom: 12px !important; right: auto !important; }
  .vtts__panel{
    width: calc(100vw - 24px) !important;
    max-width: 360px !important;
    max-height: 65vh !important;
    overflow: auto !important;
  }
  .vtts__label{ display: none !important; }
}