#ekp-tts-root{
  position:fixed;
  /* στοίχιση πάνω από το κουμπί UserWay (44px, left 4px, bottom 54px) με κενό 12px */
  left:4px;
  bottom:110px;
  z-index:2147483000;
  font-family:'Open Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  font-size:15px;
  line-height:1.4;
  color:#0b0c0c;
}

#ekp-tts-root *{box-sizing:border-box;}

/* ---- Launcher ---- */
.ekp-tts-launcher{
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  padding:0;
  border:2px solid #fff;
  border-radius:50%;
  background:#004a8f;
  color:#fff;
  cursor:pointer;
  box-shadow:0 3px 10px rgba(0,0,0,.25);
}

.ekp-tts-launcher:hover{background:#003468;}

.ekp-tts-launcher:focus-visible,
.ekp-tts-panel button:focus-visible,
.ekp-tts-panel select:focus-visible,
.ekp-tts-panel input:focus-visible{
  outline:3px solid #ffd200;
  outline-offset:2px;
}

.ekp-tts-launcher svg{width:22px;height:22px;fill:currentColor;}

.ekp-tts-launcher.is-active{
  background:#00703c;
  animation:ekp-tts-pulse 1.6s ease-in-out infinite;
}

@keyframes ekp-tts-pulse{
  0%,100%{box-shadow:0 3px 10px rgba(0,0,0,.25);}
  50%{box-shadow:0 3px 10px rgba(0,0,0,.25),0 0 0 8px rgba(0,112,60,.25);}
}

@media (prefers-reduced-motion: reduce){
  .ekp-tts-launcher.is-active{animation:none;}
}

/* ---- Panel ---- */
.ekp-tts-panel{
  position:absolute;
  left:0;
  bottom:56px;
  width:320px;
  max-width:calc(100vw - 32px);
  max-height:calc(100vh - 190px);
  overflow-y:auto;
  padding:16px;
  border:2px solid #004a8f;
  border-radius:12px;
  background:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,.3);
}

.ekp-tts-panel[hidden]{display:none;}

.ekp-tts-panel h2{
  margin:0 0 4px;
  font-size:17px;
  font-weight:700;
  color:#004a8f;
}

.ekp-tts-hint{
  margin:0 0 12px;
  font-size:13px;
  color:#40484f;
}

.ekp-tts-group{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:12px;
}

.ekp-tts-btn{
  flex:1 1 auto;
  min-height:44px;
  padding:8px 12px;
  border:2px solid #004a8f;
  border-radius:8px;
  background:#fff;
  color:#004a8f;
  font:inherit;
  font-weight:600;
  cursor:pointer;
}

.ekp-tts-btn:hover{background:#eaf2fb;}

.ekp-tts-btn--primary{background:#004a8f;color:#fff;}
.ekp-tts-btn--primary:hover{background:#003468;}

.ekp-tts-btn[disabled]{opacity:.45;cursor:not-allowed;}

.ekp-tts-btn--sm{flex:1 1 0;min-width:0;font-size:14px;}

.ekp-tts-row{margin-bottom:12px;}

.ekp-tts-row label{
  display:block;
  margin-bottom:4px;
  font-size:13px;
  font-weight:600;
}

.ekp-tts-row select{
  width:100%;
  min-height:40px;
  padding:6px 8px;
  border:2px solid #b1b4b6;
  border-radius:8px;
  background:#fff;
  font:inherit;
  color:inherit;
}

.ekp-tts-row label.ekp-tts-check{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin-bottom:0;
  font-size:14px;
  font-weight:400;
  cursor:pointer;
}

.ekp-tts-check input{
  width:20px;
  height:20px;
  margin:2px 0 0;
  flex:0 0 auto;
}

.ekp-tts-note{
  margin:12px 0 0;
  padding:8px 10px;
  border-left:4px solid #d4351c;
  background:#fdf2f0;
  font-size:13px;
  color:#5b1a11;
}

.ekp-tts-note[hidden]{display:none;}

.ekp-tts-kbd{
  margin:12px 0 0;
  font-size:12px;
  color:#40484f;
}

.ekp-tts-kbd kbd{
  padding:1px 5px;
  border:1px solid #b1b4b6;
  border-bottom-width:2px;
  border-radius:4px;
  background:#f3f2f1;
  font-family:inherit;
  font-size:11px;
}

.ekp-tts-close{
  position:absolute;
  top:8px;
  right:8px;
  width:32px;
  height:32px;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#40484f;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}

.ekp-tts-close:hover{background:#f3f2f1;}

.ekp-tts-sr{
  position:absolute!important;
  width:1px;height:1px;
  margin:-1px;padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
  border:0;
}

@media (max-width:480px){
  .ekp-tts-panel{
    position:fixed;
    left:8px;
    right:8px;
    bottom:172px;
    width:auto;
    max-width:none;
  }
}

/* ---- Highlight ---- */
.ekp-tts-reading{
  background:#fff3a3!important;
  box-shadow:0 0 0 3px #fff3a3,0 0 0 5px #b58900!important;
  border-radius:3px;
  scroll-margin:120px;
}

@media print{
  #ekp-tts-root{display:none!important;}
}
