/* =========================================================
   AIVO PLAYER (Cards) — v1
   Path: /public/css/player.css
   Used by: <link rel="stylesheet" href="/css/player.css?v=1">
   ========================================================= */

:root{
  --ap-bg: rgba(14, 18, 28, .52);
  --ap-border: rgba(255,255,255,.08);
  --ap-border2: rgba(255,255,255,.10);
  --ap-text: rgba(255,255,255,.92);
  --ap-muted: rgba(255,255,255,.62);
  --ap-muted2: rgba(255,255,255,.45);
  --ap-chip: rgba(255,255,255,.10);
  --ap-chip2: rgba(255,255,255,.12);
  --ap-shadow: 0 18px 40px rgba(0,0,0,.35);
  --ap-radius: 18px;
}

/* List container */
.aivo-player-list{
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 14px;
}

/* Card base */
.aivo-player-card{
  display: grid;
  grid-template-columns: 64px 1fr auto;
  gap: 14px;
  align-items: center;

  padding: 14px 14px;
  border-radius: var(--ap-radius);
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border: 1px solid var(--ap-border);
  box-shadow: var(--ap-shadow);

  color: var(--ap-text);
  backdrop-filter: blur(10px);
}

.aivo-player-card:hover{
  border-color: var(--ap-border2);
  transform: translateY(-1px);
}

/* Left: play area */
.aivo-player-left{
  width: 64px;
  height: 64px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.aivo-player-btn{
  width: 56px;
  height: 56px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(140, 98, 255, .95), rgba(98, 68, 255, .90));
  color: white;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition: transform .12s ease, filter .12s ease;
}

.aivo-player-btn:hover{ transform: scale(1.03); filter: brightness(1.05); }
.aivo-player-btn:active{ transform: scale(.98); }

.aivo-player-btn svg{
  width: 22px;
  height: 22px;
}

/* Spinner (loading) */
.aivo-player-spinner{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  border: 3px solid rgba(255,255,255,.15);
  border-top-color: rgba(255,255,255,.75);
  animation: apSpin .9s linear infinite;
  background: rgba(255,255,255,.05);
}

@keyframes apSpin{ to{ transform: rotate(360deg);} }

/* Mid */
.aivo-player-mid{
  min-width: 0;
  display:flex;
  flex-direction: column;
  gap: 6px;
}

.aivo-player-titleRow{
  display:flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
}

.aivo-player-title{
  font-size: 18px;
  font-weight: 700;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}

.aivo-player-tags{
  display:flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content:flex-end;
}

.aivo-player-sub{
  font-size: 13px;
  color: var(--ap-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.aivo-player-meta{
  display:flex;
  align-items:center;
  gap: 8px;
  font-size: 12px;
  color: var(--ap-muted2);
}

.aivo-player-dot{
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: rgba(255,255,255,.35);
}

/* Optional controls row */
.aivo-player-controls{
  margin-top: 4px;
  display:flex;
  align-items:center;
  gap: 10px;
}

.aivo-progress{
  flex: 1;
  height: 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.08);
  overflow: hidden;
  position: relative;
}

.aivo-progress i{
  display:block;
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, rgba(120,220,255,.9), rgba(140,98,255,.9));
}

/* Tags */
.aivo-tag{
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.85);
  white-space: nowrap;
}

.aivo-tag.is-ready{
  background: rgba(34,197,94,.14);
  border-color: rgba(34,197,94,.26);
  color: rgba(204,255,222,.95);
}

.aivo-tag.is-loading{
  background: rgba(245,158,11,.14);
  border-color: rgba(245,158,11,.26);
  color: rgba(255,236,200,.95);
}

.aivo-tag.is-bonus{
  background: rgba(168,85,247,.14);
  border-color: rgba(168,85,247,.26);
}

.aivo-tag.is-v{
  background: rgba(59,130,246,.14);
  border-color: rgba(59,130,246,.26);
}

/* Right actions */
.aivo-player-actions{
  display:flex;
  align-items:center;
  gap: 10px;
  padding-left: 6px;
}

.aivo-action{
  width: 38px;
  height: 38px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.85);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor: pointer;
  transition: transform .12s ease, background .12s ease, border-color .12s ease;
}

.aivo-action:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.14);
}

.aivo-action:active{
  transform: translateY(0px) scale(.98);
}

.aivo-action svg{
  width: 20px;
  height: 20px;
}

.aivo-action.is-danger{
  background: rgba(239,68,68,.10);
  border-color: rgba(239,68,68,.18);
  color: rgba(255,210,210,.95);
}

.aivo-action.is-blue{
  background: rgba(59,130,246,.12);
  border-color: rgba(59,130,246,.20);
  color: rgba(210,230,255,.98);
}

.aivo-action.is-accent{
  background: rgba(168,85,247,.12);
  border-color: rgba(168,85,247,.20);
  color: rgba(240,222,255,.98);
}

/* Card state tweaks */
.aivo-player-card.is-loadingState{
  opacity: .92;
}

.aivo-player-card.is-loadingState .aivo-player-controls{
  display: none;
}

/* Responsive */
@media (max-width: 1100px){
  .aivo-player-card{
    grid-template-columns: 60px 1fr;
    grid-template-rows: auto auto;
  }
  .aivo-player-actions{
    grid-column: 1 / -1;
    justify-content: flex-end;
    padding-top: 4px;
  }
}
/* =========================================================
   AIVO PLAYER — SLIM PATCH (v1.1)
   Amaç: Kartı inceltmek / daha premium ve fit görünüm
   ========================================================= */

/* List daha sıkı */
.aivo-player-list{
  padding: 10px;
  gap: 10px;
}

/* Kart daha ince */
.aivo-player-card{
  grid-template-columns: 56px 1fr auto;
  padding: 12px;
  gap: 12px;
  border-radius: 16px;
}

/* Sol alan küçült */
.aivo-player-left{
  width: 56px;
  height: 56px;
}

/* Play butonu daha kompakt */
.aivo-player-btn{
  width: 48px;
  height: 48px;
  border-radius: 14px;
}

.aivo-player-btn svg{
  width: 20px;
  height: 20px;
}

/* Başlık bir tık küçülsün */
.aivo-player-title{
  font-size: 16px;
}

/* Meta satırı daha sıkı */
.aivo-player-meta{
  gap: 6px;
  font-size: 11.5px;
}

/* Progress bar inceltilmiş */
.aivo-progress{
  height: 6px;
}

/* Action ikonları biraz daha minik */
.aivo-action{
  width: 34px;
  height: 34px;
  border-radius: 10px;
}

.aivo-action svg{
  width: 18px;
  height: 18px;
}
/* Force grid columns to be fluid (fix: middle column should be 1fr) */
#rightPanelHost .aivo-player-card{
  grid-template-columns: 56px 1fr auto !important;
}
#rightPanelHost .aivo-player-list{
  width: 100%;
  align-items: stretch;
}

#rightPanelHost .aivo-player-card{
  width: 100%;
  max-width: none;
}
/* css/player.override.css */
/* Sağ paneldeki player kartını EITA gibi DAHA kompakt yap */

#rightPanelHost .aivo-player-card{
  padding: 6px !important;
  border-radius: 12px !important;
  min-height: 0 !important;
  grid-template-columns: 40px 1fr auto !important;
  column-gap: 6px !important;
}

#rightPanelHost .aivo-player-card *{
  line-height: 1.10 !important;
}

#rightPanelHost .aivo-player-card .aivo-player-title{
  font-size: 11.5px !important;
  margin: 0 !important;
}

#rightPanelHost .aivo-player-card .aivo-player-meta,
#rightPanelHost .aivo-player-card .aivo-player-sub{
  font-size: 10.5px !important;
  margin: 0 !important;
  opacity: .9;
}

/* Tag/chip'ler kartı şişirir — biraz daha kısıyoruz */
#rightPanelHost .aivo-player-card .aivo-player-tags{
  gap: 3px !important;
  margin-top: 3px !important;
}

#rightPanelHost .aivo-player-card .aivo-tag{
  padding: 1px 5px !important;
  font-size: 9.5px !important;
  border-radius: 999px !important;
}

/* Action row’u daha tight */
#rightPanelHost .aivo-player-card .aivo-player-actions{
  gap: 4px !important;
}

#rightPanelHost .aivo-player-card .aivo-action{
  width: 28px !important;
  height: 28px !important;
  padding: 0 !important;
  border-radius: 9px !important;
}
/* FIX: Player root clickable */
#aivoPlayerRoot {
  pointer-events: auto !important;
}

/* Eğer içerideki tüm elemanlar da pasifse bunu da ekle */
#aivoPlayerRoot * {
  pointer-events: auto !important;
}
/* /css/player.override.css */
/* RIGHT PANEL — ultra compact + element alignment */

#rightPanelHost .aivo-player-card{
  padding: 6px !important;
  border-radius: 12px !important;
  min-height: 0 !important;

  /* Left(play) | mid(text+bar) | actions */
  display: grid !important;
  grid-template-columns: 40px 1fr auto !important;
  column-gap: 6px !important;

  align-items: center !important;
}

#rightPanelHost .aivo-player-card *{
  line-height: 1.10 !important;
}

/* LEFT (play area) varsa küçük kalıp ortalansın */
#rightPanelHost .aivo-player-left{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* MID: title/meta üstte, progress altta */
#rightPanelHost .aivo-player-mid{
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 3px !important;
  min-width: 0 !important;
}

/* Title / Meta */
#rightPanelHost .aivo-player-title{
  font-size: 11.5px !important;
  margin: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#rightPanelHost .aivo-player-meta,
#rightPanelHost .aivo-player-sub{
  font-size: 10.5px !important;
  margin: 0 !important;
  opacity: .9;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Tags (chip) */
#rightPanelHost .aivo-player-tags{
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  margin-top: 2px !important;
  flex-wrap: nowrap !important;
  min-width: 0 !important;
}

#rightPanelHost .aivo-tag{
  padding: 1px 5px !important;
  font-size: 9.5px !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
}

/* Progress bar varsa düzgün otursun */
#rightPanelHost .aivo-player-progress,
#rightPanelHost .aivo-player-bar,
#rightPanelHost progress,
#rightPanelHost input[type="range"]{
  width: 100% !important;
  margin: 0 !important;
}

/* ACTIONS: sağda tek sıra, ortalı */
#rightPanelHost .aivo-player-actions{
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;

  gap: 4px !important;
  padding-left: 4px !important;

  height: 28px !important;
  flex-wrap: nowrap !important;
}

/* Icon button kutuları */
#rightPanelHost .aivo-action{
  width: 28px !important;
  height: 28px !important;
  padding: 0 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 9px !important;
}

/* SVG icon ölçüsü */
#rightPanelHost .aivo-action svg{
  width: 16px !important;
  height: 16px !important;
}

/* === FIX-1: Mid text play alanının altına girmesin === */
#rightPanelHost .aivo-player-card{
  grid-template-columns: 56px 1fr auto !important;
}

/* Play alanı gerçekten 56px kalsın */
#rightPanelHost .aivo-player-left{
  width: 56px !important;
  min-width: 56px !important;
}

/* === FIX-2: Controls/progress bar grid içinde kalsın (absolute ise iptal) === */
#rightPanelHost .aivo-player-controls{
  position: static !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  margin-top: 3px !important;
}

/* Bar/seek/progress hangi element olursa olsun mid içine otursun */
#rightPanelHost .aivo-player-controls *,
#rightPanelHost .aivo-player-progress,
#rightPanelHost .aivo-player-bar,
#rightPanelHost progress,
#rightPanelHost input[type="range"]{
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
}

/* Loading tag pulse */
.aivo-tag.is-loading{
  animation:aivoPulse 1.05s ease-in-out infinite;
}
@keyframes aivoPulse{
  0%,100%{ opacity:1 }
  50%{ opacity:.45 }
}
/* MUSIC CARD — final right panel override */

#rightPanelHost .aivo-player-card{
  display:grid !important;
  grid-template-columns:56px minmax(0,1fr) auto !important;
  column-gap:12px !important;
  align-items:center !important;
  padding:10px 12px !important;
  border-radius:18px !important;
}

#rightPanelHost .aivo-player-left{
  width:56px !important;
  min-width:56px !important;
  height:56px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

#rightPanelHost .aivo-player-btn{
  width:48px !important;
  height:48px !important;
  border-radius:14px !important;
}

#rightPanelHost .aivo-player-mid{
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
}

#rightPanelHost .aivo-player-titleRow{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
  min-width:0 !important;
}

#rightPanelHost .aivo-player-title{
  font-size:16px !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  margin:0 !important;
}

#rightPanelHost .aivo-player-tags{
  display:flex !important;
  gap:6px !important;
  flex-wrap:nowrap !important;
  justify-content:flex-end !important;
}

#rightPanelHost .aivo-tag{
  padding:4px 10px !important;
  font-size:11px !important;
  border-radius:999px !important;
  white-space:nowrap !important;
}

#rightPanelHost .aivo-player-meta{
  font-size:12px !important;
  gap:8px !important;
  opacity:.9 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

#rightPanelHost .aivo-player-controls{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  width:100% !important;
  margin-top:2px !important;
}

#rightPanelHost .aivo-progress{
  flex:1 !important;
  width:auto !important;
  height:8px !important;
  margin:0 !important;
}

#rightPanelHost .aivo-player-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
  padding-left:0 !important;
}

#rightPanelHost .aivo-action{
  width:38px !important;
  height:38px !important;
  border-radius:12px !important;
}

#rightPanelHost .aivo-action svg{
  width:18px !important;
  height:18px !important;
}

#rightPanelHost .aivo-player-card .aivo-player-sub{
  display:none !important;
}
/* PREMIUM PROGRESS BAR */

#rightPanelHost .aivo-progress{
  background: rgba(255,255,255,.08) !important;
  border: none !important;
  height: 8px !important;
  border-radius: 999px !important;
  overflow: hidden;
}

#rightPanelHost .aivo-progress i{
  background: linear-gradient(90deg, #6EE7F9, #8B5CF6, #C084FC) !important;
  box-shadow: 0 0 8px rgba(140,98,255,.6);
  transition: width .15s linear;
}
