/* JUX FM RADIO • Favorite, pagină separată. NU schimbă derularea mobilă. */
.jux-fav-heart{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;border:1px solid rgba(250,91,156,.7);border-radius:12px;background:linear-gradient(140deg,rgba(103,31,68,.77),rgba(38,13,35,.82));color:#ffc4dc;cursor:pointer;transition:background .18s,transform .15s,border-color .15s;vertical-align:middle;box-shadow:0 3px 13px rgba(0,0,0,.18)}
.jux-fav-heart svg{display:block;width:23px;height:23px;stroke:currentColor;fill:none}
.jux-fav-heart[aria-pressed="true"]{background:linear-gradient(130deg,#fc1d78,#9e124b);color:#fff;border-color:#ff85b3;box-shadow:0 0 15px rgba(255,27,106,.26)}
.jux-fav-heart[aria-pressed="true"] svg{fill:currentColor}
.jux-fav-heart:hover{transform:scale(1.06);border-color:#ff98c5}
.jux-fav-heart:focus-visible{outline:2px solid #ff96c0;outline-offset:3px}
.jux-fav-heart[hidden]{display:none!important}
/* Inimioara lângă piesa de pe prima pagină. Fără buton „Vezi piesele favorite”. */
body.jux-home .player .playing_now{display:flex!important;align-items:center!important;gap:8px!important;padding-right:9px!important;min-width:0!important}
body.jux-home .player .playing_now .info{min-width:0!important;flex:1 1 auto!important}
body.jux-home .player .playing_now>.jux-fav-heart{margin-left:auto!important}
/* ISTORIC: coloană de acțiuni fixă; YouTube și inimioara nu se deplasează după titlu. */
#jux-history-list>li>.song{grid-template-columns:100px minmax(0,1fr) 118px!important}
#jux-history-list>li>.song>.action{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:7px!important;min-width:0!important}
#jux-history-list>li>.song>.action .jux-fav-heart{width:40px;height:40px;flex:0 0 40px}
/* Pagină FAVORITE: carduri pe fundalul și structura existente. */
body.jux-favorites-page .jux-favorites-section{padding:145px 12px 50px;width:min(100%,760px);margin:0 auto;color:#fff;box-sizing:border-box}
.jux-favorites-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:4px 0 8px}
.jux-favorites-eyebrow{display:inline-block;font:800 11px Montserrat,Arial,sans-serif;letter-spacing:.13em;color:#ff86b8}
.jux-favorites-heading h1{margin:8px 0;font:900 clamp(21px,4vw,29px)/1.2 Montserrat,Arial,sans-serif;color:#fff}
.jux-favorites-heading h1 span{display:inline-grid;min-width:26px;height:26px;place-items:center;margin-left:8px;vertical-align:middle;background:#ea1d69;border-radius:50%;font:800 12px Montserrat,Arial,sans-serif;color:#fff}
.jux-favorites-hint{font:600 12px/1.7 Montserrat,Arial,sans-serif;color:#f1c9df;margin:0 0 20px}
.jux-favorites-list{display:grid;grid-template-columns:1fr;gap:10px;min-width:0}
.jux-favorites-item{min-width:0;display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 14px;border:1px solid rgba(240,121,180,.43);border-radius:16px;background:linear-gradient(115deg,rgba(30,15,35,.92),rgba(19,10,28,.85));box-shadow:0 9px 22px rgba(0,0,0,.17)}
.jux-favorites-item img{display:block;width:70px;height:70px;object-fit:cover;border-radius:10px;border:1px solid #ffffff3f}
.jux-favorites-item .jux-favorite-track{min-width:0;overflow:hidden}
.jux-favorites-item h3{font:800 clamp(14px,2.4vw,17px)/1.3 Montserrat,Arial,sans-serif;color:#fff;margin:0 0 7px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.jux-favorites-item .jux-favorite-artist{font:700 12px/1.3 Montserrat,Arial,sans-serif;color:#f7bbd8;margin:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.jux-favorites-item .jux-favorite-actions{display:flex;gap:8px;align-items:center}
.jux-favorites-youtube{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;border:1px solid rgba(250,100,154,.65);background:rgba(74,25,53,.85);color:#fc286f;text-decoration:none!important}
.jux-favorites-youtube svg{width:23px;height:23px;display:block}
.jux-favorites-delete{width:40px;height:40px;border:1px solid rgba(255,120,165,.6);border-radius:12px;background:#391a30c9;color:#ffbfda;display:grid;place-items:center;cursor:pointer}
.jux-favorites-delete svg{width:20px;height:20px}
.jux-favorites-empty{margin:0;padding:35px 18px;text-align:center;border:1px dashed #e47ca075;border-radius:17px;background:rgba(19,11,28,.76);color:#f9d4e7;font:650 13px/1.8 Montserrat,Arial,sans-serif}
body.jux-favorites-page .jux-v3-desktop-links a[href="favorite.html"],body.jux-favorites-page .jux-v3-menu-list a[href="favorite.html"]{color:#ff8ab9!important}
@media(max-width:600px){#jux-history-list>li>.song{grid-template-columns:62px minmax(0,1fr) 92px!important}#jux-history-list>li>.song>.action{gap:4px!important;padding-left:0!important;padding-right:6px!important}#jux-history-list>li>.song>.artwork{width:62px!important;height:62px!important}#jux-history-list>li>.song>.info{padding:0 3px 0 7px!important}#jux-history-list>li>.song>.action .jux-fav-heart{width:38px!important;height:38px!important;flex-basis:38px!important}#jux-history-list>li>.song>.action a.jux-youtube-link{width:38px!important;height:38px!important}.jux-favorites-section{padding:115px 5px 35px!important}.jux-favorites-item{grid-template-columns:54px minmax(0,1fr) auto;gap:9px;padding:9px 8px}.jux-favorites-item img{width:54px;height:54px}.jux-favorites-item .jux-favorite-actions{gap:5px}.jux-favorites-youtube,.jux-favorites-delete{width:35px;height:37px}.jux-favorites-item h3{font-size:13px}.jux-favorites-item .jux-favorite-artist{font-size:11px}body.jux-home .player .playing_now>.jux-fav-heart{width:39px;height:39px;flex-basis:39px}}
@media(max-width:350px){#jux-history-list>li>.song{grid-template-columns:54px minmax(0,1fr) 86px!important}#jux-history-list>li>.song>.artwork{width:54px!important;height:54px!important}#jux-history-list>li>.song>.info{padding:0 2px 0 4px!important}.jux-favorites-item{grid-template-columns:48px minmax(0,1fr) 72px;gap:6px}.jux-favorites-item img{width:48px;height:48px}.jux-favorites-item .jux-favorite-actions{gap:3px}.jux-favorites-youtube,.jux-favorites-delete{width:34px;height:35px}}

.jux-favorite-feedback {
  position: fixed;
  z-index: 1000;
  pointer-events: none;
  padding: 6px 11px;
  border: 1px solid #ff85b3;
  border-radius: 999px;
  background: #47152f;
  color: #fff;
  font: 700 13px/1.4 Montserrat, Arial, sans-serif;
  white-space: nowrap;
  animation: jux-favorite-rise 1.7s ease-out both;
}
@keyframes jux-favorite-rise {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(.85); }
  18% { opacity: 1; transform: translate(-50%, -115%); }
  70% { opacity: 1; }
  100% { opacity: 0; transform: translate(-50%, calc(-115% - 30px)); }
}
@media (prefers-reduced-motion: reduce) {
  .jux-favorite-feedback { animation: none; transform: translate(-50%, -135%); }
}
