/*  
 * WP Audio Reader – CSS
 * Version: 2.48rev0
 *
 * Changelog:
 * - v2.11: TTS tesztgomb és figyelmeztetés stílusai (Firefox / nem támogatott).
 * - v2.10: TTS setup panel szélességkorlát mobilon a hangválasztóhoz.
 * - v20.1: TTS setup panel átalakítva:
 *          - Voice és Pitch egy sorban (.war-tts-line)
 *          - Pitch végpont értékek slider mellett (0.5 és 2.0)
 *          - Language sor eltávolítva (debugba költözött)
 * - v20.0: TTS setup panel és debug stílusok hozzáadva.
 * - v1.28: Asztali nézetben a középre-alul pozíciót csak nyitáskor állítjuk be (JS),
 *          CSS oldalról nem kényszerítjük váltásnál.
 * - v1.27: Asztali elrendezésnél alapból középen alul nyílik meg a lebegő player.
 *          Biztonsági margóval bent marad az ablakban.
 * - v1.26: Mobil elrendezés (max 600px): lebegő középen alul, szupermini jobb alul. Drag nincs mobilon.
 * - v1.24: Lebegő címsor max 40 karakter (CSS ellipsis), szupermini felső sor keskenyebb.
 * - v1.23: Szupermini módban a .war-float méretét csökkentjük (supermini-active class).
 * - v1.22: Szupermini módban a címsor (.war-float strong) elrejtve.
 * - v1.21: Szupermini elrendezés átalakítva (három sor: ⇆/X, rew/fwd, play/mute). Balra zárt, kompakt méret.
 * - v1.20: Szupermini mód stílusok + váltógomb (⇆).
 * - v1.16: Lebegő playerből kivéve a reszponzív logika. Fix szélesség: az ablak legkeskenyebb méretének ~80%-a.
 *          Egérrel továbbra is mozgatható. Fő player változatlan, progress és idő egy sorban.
 * - v1.15: Progress és idő egy sorban. Lebegő player skálázódó méret.
 * - v1.14: Mini playerhez mute gomb, reszponzív javítás.
 * - v1.13: Reszponzív lebegő player, mozgatható egérrel.
 */

.wp-audio-reader {
  --war-accent: #2a7de1;
  font-family: ui-sans-serif, system-ui, "Segoe UI", Arial, sans-serif;
  color: #222;
  margin: 0.5rem 0;
}

/* Gombok */
.wp-audio-reader button {
  cursor: pointer;
  transition: background 0.2s, transform 0.1s;
}
.wp-audio-reader button:active { transform: scale(0.95); }

/* MINI UI */
.wp-audio-reader .war-mini {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0.5rem 0;
}
.wp-audio-reader .war-btn {
  border-radius: 6px;
  border: 1px solid #d0d0d0;
  background: #fff;
  color: #111;
  display: grid;
  place-items: center;
  font-size: 15px;
  line-height: 1;
}
.wp-audio-reader .war-btn-play { width: 40px; height: 32px; }
.wp-audio-reader .war-btn-mute { width: 36px; height: 28px; font-size: 16px; }
.wp-audio-reader .war-btn-more { width: 36px; height: 28px; }
/* v20.0: új setup ikon méret */
.wp-audio-reader .war-btn-setup { width: 36px; height: 28px; }
.wp-audio-reader .war-progress {
  flex: 1;
  accent-color: var(--war-accent);
}
.wp-audio-reader .war-time {
  font: 600 13px/1.2 ui-sans-serif, system-ui, "Segoe UI";
  color: #333;
  white-space: nowrap;
}

/* === Lebegő panel === */
.wp-audio-reader .war-float {
  position: fixed;
  /* v1.28: asztalin JS állítja középre nyitáskor → itt csak alapbeállítás */
  background: #111;
  color: #fff;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0,0,0,.35);
  width: 80vw;
  max-width: 480px;
  min-width: 260px;
  padding: 12px;
  z-index: 2147483000;
  display: none;
}
.wp-audio-reader .war-float header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  margin-bottom: .5rem;
}
.wp-audio-reader .war-float strong {
  font: 600 14px/1 ui-sans-serif, system-ui;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 40ch;       /* v1.24 módosítás: címsor max 40 karakter */
  display: block;
}

.wp-audio-reader .war-float .war-float-title {
  position: relative;
}

.wp-audio-reader .war-float .war-float-title-text {
  display: inline-block;
  white-space: nowrap;
}

.wp-audio-reader .war-float .war-title-hidden {
  display: none !important;
}

.wp-audio-reader .war-float .war-title-behavior-scroll_left,
.wp-audio-reader .war-float .war-title-behavior-scroll_right {
  text-overflow: clip;
}

.wp-audio-reader .war-float .war-title-behavior-scroll_left .war-float-title-text,
.wp-audio-reader .war-float .war-title-behavior-scroll_right .war-float-title-text {
  animation-duration: 12s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-play-state: paused;
}

.wp-audio-reader .war-float .war-title-behavior-scroll_left .war-float-title-text {
  animation-name: war-title-scroll-left;
}

.wp-audio-reader .war-float .war-title-behavior-scroll_right .war-float-title-text {
  animation-name: war-title-scroll-right;
}

.wp-audio-reader .war-float .war-title-scroll-enabled.war-title-behavior-scroll_left .war-float-title-text,
.wp-audio-reader .war-float .war-title-scroll-enabled.war-title-behavior-scroll_right .war-float-title-text {
  animation-play-state: running;
}

.wp-audio-reader .war-float .war-title-behavior-none {
  text-overflow: initial;
  max-width: none;
}

.wp-audio-reader .war-float .war-title-behavior-none .war-float-title-text {
  white-space: normal;
}

@keyframes war-title-scroll-left {
  0% { transform: translateX(0); }
  100% { transform: translateX(-40%); }
}

@keyframes war-title-scroll-right {
  0% { transform: translateX(0); }
  100% { transform: translateX(40%); }
}

.wp-audio-reader .war-float .war-float-close {
  background: #222;
  border: 1px solid #333;
  color: #fff;
  border-radius: 6px;
  width: 28px;
  height: 28px;
  font-size: 16px;
  line-height: 1;
}

/* v1.20 módosítás: váltógomb stílus */
.wp-audio-reader .war-float .war-float-toggle {
  background: #222;
  border: 1px solid #333;
  color: #fff;
  border-radius: 6px;
  width: 28px;
  height: 28px;
  font-size: 14px;
  line-height: 1;
}

/* Lebegő vezérlők */
.wp-audio-reader .war-float .controls {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: .5rem;
}
.wp-audio-reader .war-float .controls .war-btn {
  border: 1px solid #333;
  background: #1e1e1e;
  color: #fff;
  border-radius: 8px;
  height: 36px;
}
.wp-audio-reader .war-float .war-btn-play { width: 40px; }
.wp-audio-reader .war-float .war-btn-rew,
.wp-audio-reader .war-float .war-btn-fwd { width: 44px; }
.wp-audio-reader .war-float .war-btn-speed { width: 50px; margin-left: auto; }
.wp-audio-reader .war-float .war-btn-mute { width: 44px; font-size: 18px; }

/* Lebegő alsó sor */
.wp-audio-reader .war-float .bottom {
  display: flex;
  align-items: center;
  gap: .5rem;
}
.wp-audio-reader .war-float .war-progress {
  flex: 2;
  accent-color: var(--war-accent);
}
.wp-audio-reader .war-float .war-time {
  flex: 1;
  font: 600 14px/1 ui-sans-serif, "Segoe UI";
  color: #eee;
  text-align: center;
}
.wp-audio-reader .war-float .war-volume {
  flex: 1;
  max-width: 90px;
  accent-color: var(--war-accent);
}

/* v1.21 módosítás: Szupermini UI új elrendezés */
.wp-audio-reader .war-float .war-supermini {
  display: none;
  flex-direction: column;
  align-items: flex-start;
  gap: .4rem;
  margin-top: .5rem;
  width: auto;
  min-width: unset;
}
.wp-audio-reader .war-float .war-supermini .sm-top,
.wp-audio-reader .war-float .war-supermini .sm-mid,
.wp-audio-reader .war-float .war-supermini .sm-bottom {
  display: flex;
  gap: .5rem;
}
.wp-audio-reader .war-float .war-supermini .war-btn,
.wp-audio-reader .war-float .war-supermini .war-float-toggle,
.wp-audio-reader .war-float .war-supermini .war-float-close {
  border: 1px solid #333;
  background: #1e1e1e;
  color: #fff;
  border-radius: 8px;
  height: 36px;
  width: 44px;
  font-size: 16px;
}
/* v1.24 módosítás: felső sor keskenyebb */
.wp-audio-reader .war-float .war-supermini .sm-top {
  justify-content: flex-start;
  width: auto;
}
.wp-audio-reader .war-float .war-supermini .sm-top .war-float-toggle,
.wp-audio-reader .war-float .war-supermini .sm-top .war-float-close {
  width: 32px;
  height: 32px;
  font-size: 14px;
}

/* v1.22 módosítás: címsor elrejtése szuperminiben */
.wp-audio-reader .war-float .war-supermini ~ .war-float-title,
.wp-audio-reader .war-float .war-supermini .war-float-title {
  display: none !important;
}

/* v1.23-v1.24 módosítás: szupermini méret kompakt */
.wp-audio-reader .war-float.supermini-active {
  width: auto !important;
  max-width: 220px;
  min-width: 140px;
  padding: 8px;
  display: inline-flex;
  flex-direction: column;
}
.wp-audio-reader .war-float.supermini-active .sm-mid,
.wp-audio-reader .war-float.supermini-active .sm-bottom {
  justify-content: center;
  width: 100%;
}
.wp-audio-reader .war-float.supermini-active .war-btn {
  min-width: 36px;
}

/* v1.26-28 módosítás: Mobil elrendezés */
@media (max-width: 600px) {
  /* Lebegő középen alul */
  .wp-audio-reader .war-float {
    left: 50% !important;
    transform: translateX(-50%);
    bottom: 8px !important;
    right: auto !important;
    top: auto !important;
    max-width: 95vw;
    width: 95vw !important;
  }

  /* Szupermini jobb alsó sarok */
  .wp-audio-reader .war-float.supermini-active {
    left: auto !important;
    right: 8px !important;
    bottom: 8px !important;
    transform: none !important;
    width: auto !important;
    max-width: 200px;
  }
}

/* === v20.1: TTS Setup Panel átalakítva === */
.wp-audio-reader .war-tts-setup {
  margin: 0.5rem 0;
  padding: 0.75rem;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: #fafafa;
  font-size: 14px;
  line-height: 1.4;
}
.wp-audio-reader .war-tts-setup .war-tts-line {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.wp-audio-reader .war-tts-setup label {
  margin: 0;
}
.wp-audio-reader .war-tts-setup .war-tts-line > label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.wp-audio-reader .war-tts-setup .war-tts-voice select,
.wp-audio-reader .war-tts-setup .war-tts-lang select {
  flex: 1 1 auto;
  width: 100%;
  max-width: 260px;
  box-sizing: border-box;
}
.wp-audio-reader .war-tts-setup .war-tts-pitch {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.wp-audio-reader .war-tts-setup .war-tts-rate {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.wp-audio-reader .war-tts-setup .war-tts-pitch span {
  font-size: 12px;
  color: #666;
  min-width: 1.5em;
  text-align: center;
}
.wp-audio-reader .war-tts-setup .war-tts-rate span {
  font-size: 12px;
  color: #666;
  min-width: 1.5em;
  text-align: center;
}
.wp-audio-reader .war-tts-setup .war-tts-rate input[type="range"] {
  min-width: 140px;
}
.wp-audio-reader .war-tts-setup .war-tts-test {
  margin-top: 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.wp-audio-reader .war-tts-setup .war-tts-test-btn {
  background: var(--war-accent);
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 0.4rem 0.75rem;
  font-size: 14px;
  line-height: 1;
}
.wp-audio-reader .war-tts-setup .war-tts-test-btn:disabled {
  background: #ccc;
  color: #666;
  cursor: not-allowed;
}
.wp-audio-reader .war-tts-setup .war-tts-test-sample {
  font-style: italic;
  color: #444;
}
.wp-audio-reader .war-tts-setup .war-tts-warning {
  margin-top: 0.75rem;
  padding: 0.65rem 0.75rem;
  border-radius: 6px;
  border: 1px solid #d33;
  background: #ffeaea;
  color: #b00000;
  font-size: 13px;
}
.wp-audio-reader .war-tts-debug {
  margin-top: 0.75rem;
  padding: 0.5rem;
  background: #eee;
  color: #222;
  font-family: monospace;
  font-size: 12px;
  border-radius: 6px;
  max-height: 150px;
  overflow-y: auto;
}
.wp-audio-reader .war-tts-debug .war-tts-debug-heading {
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.wp-audio-reader .war-tts-debug .war-tts-warnings {
  margin-top: 0.5rem;
  padding: 0.5rem;
  border-radius: 4px;
  background: #ffeaea;
  border: 1px solid #d33;
  color: #b00000;
}
.wp-audio-reader .war-tts-debug .war-tts-warnings ul {
  margin: 0.25rem 0 0;
  padding-left: 1.25rem;
}
.wp-audio-reader .war-tts-debug .war-tts-warnings li {
  margin: 0.25rem 0;
}

@media (max-width: 600px) {
  .wp-audio-reader .war-tts-setup .war-tts-line {
    flex-direction: column;
    align-items: stretch;
  }
  .wp-audio-reader .war-tts-setup .war-tts-line > label {
    width: 100%;
  }
  .wp-audio-reader .war-tts-setup .war-tts-voice select,
  .wp-audio-reader .war-tts-setup .war-tts-lang select {
    max-width: 100%;
  }
  .wp-audio-reader .war-tts-setup .war-tts-test {
    flex-direction: column;
    align-items: flex-start;
  }
}
