/* Search and showcase shared shortlist / comparison components. */
#vukx-global-shortlist{--ink:#1c3540;--teal:#376e72;--line:#dbe5e5;--sub:#678088;font-family:inherit;line-height:1.55;color:#1c3540}
#vukx-global-shortlist,#vukx-global-shortlist *{box-sizing:border-box}
/* v0.14 — shortlist preview and always-on review form */
.vukx .vukx-shortlist{background:#f6faf9!important;border-color:#cddfdb!important}
.vukx .vukx-shortlist-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.vukx .vukx-shortlist-top .vukx-section-title{margin:0!important}
.vukx .vukx-shortlist-count{font-size:11px;font-weight:700;color:#44797a;white-space:nowrap}
.vukx .vukx-shortlist-intro{font-size:13px!important;line-height:1.6;margin:14px 0!important;color:#536c70!important}
.vukx .vukx-shortlist-add{display:flex!important;align-items:center;justify-content:center;gap:9px;width:100%;border:1px solid #2e7378!important;border-radius:9px!important;background:#2e7378!important;color:white!important;min-height:47px;padding:11px 14px!important;font-size:13px!important;font-weight:700!important;cursor:pointer}
.vukx .vukx-shortlist-add[aria-pressed="true"]{background:#fff!important;color:#2e7378!important}
.vukx .vukx-shortlist-add-icon{font-size:19px;line-height:1}
.vukx .vukx-shortlist-details{margin-top:16px;border-top:1px solid #dbe7e3;padding-top:13px}
.vukx .vukx-shortlist-details>summary{display:flex;justify-content:space-between;align-items:center;font-size:12px!important;color:#2e7378!important;font-weight:700!important;cursor:pointer;list-style:none}
.vukx .vukx-shortlist-details>summary::-webkit-details-marker{display:none}
.vukx .vukx-shortlist-details[open] .vukx-shortlist-chevron{transform:rotate(180deg)}
.vukx .vukx-shortlist-items{display:grid;gap:9px;padding:15px 0 9px}
.vukx .vukx-shortlist-item{display:flex;align-items:center;gap:9px;padding:8px;border-radius:8px;background:#fff;border:1px solid #e0eae6}
.vukx .vukx-shortlist-thumb{width:35px;height:35px;object-fit:cover;border-radius:6px;background:#e9f1ee;flex:none}
.vukx .vukx-shortlist-item-name{flex:1;min-width:0;overflow-wrap:anywhere;font-size:12px!important;font-weight:650!important;line-height:1.3;color:#2e7378!important;text-decoration:none!important}
.vukx .vukx-shortlist-remove{flex:none;width:28px;height:28px;display:grid;place-items:center;background:transparent!important;border:0!important;padding:0!important;color:#6a8285!important;cursor:pointer;font-size:21px!important}
.vukx .vukx-shortlist-empty{font-size:12px!important;color:#657f81!important;margin:0!important}
.vukx .vukx-shortlist-clear{background:none!important;border:none!important;color:#657b7d!important;text-decoration:underline;font-size:11px!important;padding:4px 0!important;cursor:pointer}
.vukx .vukx-shortlist-note{font-size:11px!important;color:#829a98!important;line-height:1.5;margin:12px 0 0!important}
/* v0.15 — responsive shortlist placement, mini audio and desktop save tray */
.vukx .vukx-mini-player[hidden],.vukx .vukx-shortlist-float[hidden],.vukx .vukx-shortlist-popover[hidden]{display:none!important}
.vukx .vukx-shortlist-float{position:fixed;right:23px;bottom:24px;z-index:9991;font-size:13px}
.vukx .vukx-shortlist-float-toggle{display:flex!important;gap:10px;align-items:center;border:1px solid #cbdedb!important;border-radius:50px!important;background:#fff!important;color:#294b50!important;box-shadow:0 8px 28px rgba(26,69,75,.17)!important;padding:11px 17px!important;min-height:48px!important;font-weight:700!important;cursor:pointer}
.vukx .vukx-shortlist-float-count{display:grid;place-items:center;min-width:25px;height:25px;padding:0 5px;color:#fff;background:#2e7378;border-radius:50%;font-size:12px}
.vukx .vukx-shortlist-popover{position:absolute;bottom:calc(100% + 12px);right:0;width:min(330px,calc(100vw - 30px));max-height:min(440px,65vh);overflow:auto;background:#fff;border:1px solid #d9e6e3;border-radius:13px;padding:18px;box-shadow:0 15px 45px rgba(26,69,75,.17)}
.vukx .vukx-float-heading{font-size:12px;letter-spacing:.1em;color:#2e7378;font-weight:800;margin-bottom:10px;text-transform:uppercase}
.vukx .vukx-shortlist-float-items{display:grid;gap:6px}
.vukx .vukx-float-item{display:flex;align-items:center;gap:8px;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e9efed}
.vukx .vukx-float-item a{color:#2e7378!important;font-size:13px!important;text-decoration:none!important;min-width:0;overflow-wrap:anywhere}
.vukx .vukx-float-item button{border:0!important;background:none!important;color:#607d7e!important;padding:3px 7px!important;font-size:22px!important;cursor:pointer}
.vukx .vukx-float-footnote{font-size:11px!important;color:#7b9192!important;margin:12px 0 0!important}
@media(max-width:640px){.vukx .vukx-shortlist-float{display:none!important}
.vukx .vukx-main>.vukx-shortlist{margin:0 0 16px!important;padding:20px!important}}
/* v0.16 badge optical-centering, independent of inherited theme line-height */
.vukx .vukx-shortlist-float-count{display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;vertical-align:middle!important;box-sizing:border-box!important;transform:translateY(-1px);}
/* v0.17 — dedicated shortlist comparison */
.vukx .vukx-compare-overlay[hidden]{display:none!important}
.vukx .vukx-compare-launch{display:block!important;width:100%;margin:12px 0 0!important;border:1px solid #2e7378!important;border-radius:8px!important;background:#fff!important;color:#2e7378!important;padding:11px 13px!important;font-size:12px!important;font-weight:750!important;cursor:pointer}
body.vukx-compare-open{overflow:hidden!important}
.vukx .vukx-compare-overlay{position:fixed;inset:0;z-index:100050;background:rgba(16,34,38,.64);display:flex;align-items:center;justify-content:center;padding:18px}
.vukx .vukx-compare-dialog{width:min(1040px,100%);max-height:min(92vh,960px);overflow:auto;overscroll-behavior:contain;background:#f6faf9;color:#263c41;border-radius:16px;box-shadow:0 20px 65px rgba(0,0,0,.24);padding:clamp(16px,3vw,32px)}
.vukx .vukx-compare-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid #d5e2df;padding-bottom:18px;margin-bottom:20px}
.vukx .vukx-compare-kicker{font-size:10px!important;letter-spacing:.14em;font-weight:750;color:#2e7378!important;margin:0 0 6px!important}
.vukx .vukx-compare-head h2{font-size:clamp(20px,3vw,29px)!important;line-height:1.2!important;margin:0 0 7px!important;color:#243e42!important}
.vukx .vukx-compare-head p{font-size:13px!important;line-height:1.5!important;margin:0!important;color:#607c7f!important}
.vukx .vukx-compare-close{flex:none;border:0!important;background:#e4eeeb!important;color:#2e7378!important;border-radius:50%!important;width:38px;height:38px;padding:0!important;font-size:26px!important;cursor:pointer}
.vukx .vukx-compare-feedback{font-size:13px;color:#5b7276;margin-bottom:8px}
.vukx .vukx-compare-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.vukx .vukx-compare-card{min-width:0;background:#fff;border:1px solid #dbe7e4;border-radius:12px;padding:15px;display:flex;flex-direction:column;gap:13px}
.vukx .vukx-compare-artist{display:flex;gap:12px;align-items:center;min-width:0}
.vukx .vukx-compare-artist img{width:64px;height:64px;border-radius:9px;object-fit:cover;filter:saturate(.4) contrast(1.045) brightness(1.035)}
.vukx .vukx-compare-artist-text{min-width:0;display:flex;flex-direction:column;gap:4px}
.vukx .vukx-compare-name{font-size:14px!important;line-height:1.35;font-weight:800!important;color:#263e43!important;overflow-wrap:anywhere}
.vukx .vukx-compare-visit{font-size:11px!important;color:#2e7378!important}
.vukx .vukx-compare-qualities{display:flex;gap:6px;flex-wrap:wrap}
.vukx .vukx-compare-quality{padding:5px 9px;background:#edf4f1;border-radius:20px;font-size:10px;line-height:1.4;color:#37696c}
.vukx .vukx-compare-demo{margin-top:auto;border-top:1px solid #e0eae7;padding-top:12px;display:grid;gap:8px}
.vukx .vukx-compare-demo-label{font-size:10px!important;font-weight:750!important;letter-spacing:.1em;color:#597a7d!important;margin:0!important}
.vukx .vukx-compare-demo-title{font-size:12px!important;line-height:1.4;color:#294348}
.vukx .vukx-compare-demo audio{display:block;width:100%;height:38px}
.vukx .vukx-compare-remove{align-self:start;background:none!important;border:0!important;text-decoration:underline;color:#688084!important;font-size:11px!important;padding:0!important;cursor:pointer}
.vukx .vukx-compare-footer{border-top:1px solid #d5e2df;margin-top:20px;padding-top:16px;display:flex;justify-content:space-between;align-items:center;gap:18px}
.vukx .vukx-compare-footer p{font-size:11px!important;color:#688084!important;margin:0!important;line-height:1.5!important}
.vukx .vukx-compare-request:disabled{border-radius:8px!important;padding:12px 14px!important;font-size:12px!important;opacity:.6;cursor:not-allowed;background:#2e7378!important;color:#fff!important}
@media(max-width:800px){.vukx .vukx-compare-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.vukx .vukx-compare-overlay{padding:0}
.vukx .vukx-compare-dialog{width:100%;height:100dvh;max-height:100dvh;border-radius:0;padding:18px}
.vukx .vukx-compare-grid{grid-template-columns:1fr}
.vukx .vukx-compare-footer{align-items:stretch;flex-direction:column}}
@media(min-width:641px){.vukx .vukx-shortlist-float{bottom:120px;right:22px}}
/* v0.19: waveform playback in shortlist comparison, matching the showcase player */
.vukx .vukx-compare-wave-player{display:flex;gap:11px;align-items:center;min-width:0;padding:11px;border:1px solid #d7e8e3;border-radius:10px;background:linear-gradient(125deg,#eaf4f1,#e5efee)}
.vukx .vukx-compare-wave-play{display:flex!important;align-items:center!important;justify-content:center!important;flex:none!important;width:42px!important;height:42px!important;border-radius:50%!important;border:0!important;background:#2e7378!important;color:white!important;font-size:19px!important;line-height:1!important;padding:0 0 0 2px!important;cursor:pointer!important}
.vukx .vukx-compare-wave-play:disabled{opacity:.55!important;cursor:not-allowed!important}
.vukx .vukx-compare-wave-details{flex:1;min-width:0}
.vukx .vukx-compare-wave{display:block;width:100%;height:46px;cursor:pointer;touch-action:pan-y}
.vukx .vukx-compare-wave:focus-visible{outline:2px solid #2e7378;outline-offset:3px}
.vukx .vukx-compare-wave-times{display:flex;justify-content:space-between;color:#5d7779;font-size:10px;line-height:1.4;font-variant-numeric:tabular-nums}
.vukx .vukx-compare-audio{display:none!important}
.vukx .vukx-compare-wave-error{font-size:11px!important;color:#9c4942!important;line-height:1.4;margin:4px 0 0!important}
@media(max-width:580px){.vukx .vukx-compare-wave-player{padding:10px}
.vukx .vukx-compare-wave-play{width:40px!important;height:40px!important}}
/* v0.20 — persistent, centred playback and simplified shortlist */
.vukx .vukx-shortlist-details{display:block!important;margin-top:16px;border-top:1px solid #dbe7e3;padding-top:13px}
.vukx .vukx-shortlist-add[aria-pressed="true"]{background:#e6f2ee!important;color:#2e7378!important;border-color:#b6d4cd!important;cursor:default!important}
.vukx .vukx-shortlist-add:disabled{opacity:1!important}
.vukx .vukx-compare-top-action[hidden]{display:none!important}
.vukx .vukx-compare-top-action{display:flex;justify-content:flex-end;margin:-5px 0 16px}
.vukx .vukx-compare-top-action .vukx-compare-request{max-width:100%}
/* v0.21 — unified shortcode shortlist rows, consistent audio iconography. */
.vukx .vukx-shortlist-add{min-height:42px!important;white-space:nowrap!important;padding:10px 12px!important}
.vukx .vukx-shortlist-add-text{font-size:12px!important;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;min-width:0}
.vukx .vukx-shortlist-add.vukx-shortlist-success{animation:vukx-added-fade 1.8s ease forwards}
@keyframes vukx-added-fade{0%,60%{opacity:1}100%{opacity:.7}}
.vukx .vukx-shortlist-add.vukx-shortlist-saved{display:none!important}
.vukx .vukx-shortlist-add.vukx-shortlist-full{opacity:.6!important;cursor:not-allowed!important}
.vukx .vukx-shortlist-share,.vukx .vukx-float-share{background:none!important;border:0!important;padding:4px 6px!important;color:#2e7378!important;font-size:11px!important;cursor:pointer!important;text-decoration:underline!important}
.vukx .vukx-shortlist-float-items .vukx-shortlist-item{display:flex!important;align-items:center!important;gap:9px!important;border:1px solid #e0eae6!important;border-radius:8px!important;padding:8px!important;background:#fff!important}
.vukx .vukx-shortlist-float-items .vukx-shortlist-item-name{flex:1!important;font-size:12px!important;font-weight:650!important;line-height:1.3!important;overflow-wrap:anywhere}
.vukx .vukx-shortlist-float-items .vukx-shortlist-thumb{width:35px!important;height:35px!important;flex:none!important;object-fit:cover!important}
.vukx .vukx-shortlist-float-items .vukx-shortlist-remove{flex:none!important;width:28px!important;height:28px!important;padding:0!important;display:grid!important;place-items:center!important}
.vukx .vukx-list-check-icon{vertical-align:middle;display:inline-block;flex:none;margin-right:5px}
.vukx .vukx-play,.vukx .vukx-alt-play,.vukx .vukx-mini-toggle,.vukx .vukx-compare-wave-play{position:relative!important;display:inline-flex!important;justify-content:center!important;align-items:center!important;line-height:1!important}
.vukx .vukx-play.is-playing:after,.vukx .vukx-alt-play.is-playing:after,.vukx .vukx-mini-toggle.is-playing:after,.vukx .vukx-compare-wave-play.is-playing:after{content:'';display:block;width:12px;height:16px;border-left:4px solid currentColor;border-right:4px solid currentColor;box-sizing:border-box;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.vukx .vukx-shortlist-float-toggle .vukx-list-check-icon{margin-right:0!important}
.vukx .vukx-shortlist-clear,.vukx .vukx-shortlist-share{display:inline-flex!important;align-items:center!important;vertical-align:middle!important}
/* v0.23 — inline clear confirmation, smoothly collapsing feedback, viewing status. */
.vukx .vukx-shortlist-details{position:relative}
.vukx .vukx-clear-confirm[hidden]{display:none!important}
.vukx .vukx-clear-confirm{position:relative;margin:8px 0 10px;padding:13px 14px;background:#f3f8f6;border:1px solid #bed7d0;border-radius:10px;box-shadow:0 5px 16px rgba(25,64,65,.08);color:#2a5156;font-size:12px!important;animation:vukx-confirm-appear .18s ease-out both}
.vukx .vukx-clear-confirm strong{display:block;font-size:12px!important;line-height:1.4!important}
.vukx .vukx-clear-confirm p{font-size:11px!important;margin:4px 0 10px!important;color:#647c7d!important}
.vukx .vukx-clear-confirm-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.vukx .vukx-clear-confirm-actions button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:34px!important;padding:6px 12px!important;border-radius:7px!important;font-size:11px!important;font-weight:700!important;cursor:pointer!important;line-height:1.2!important}
.vukx .vukx-clear-yes{background:#2e7378!important;color:white!important;border:1px solid #2e7378!important}
.vukx .vukx-clear-cancel{background:#fff!important;color:#36575a!important;border:1px solid #c8dbd7!important}
@keyframes vukx-confirm-appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.vukx .vukx-shortlist-add{overflow:hidden!important;max-height:65px;transition:max-height .5s cubic-bezier(.2,.75,.25,1),min-height .5s ease,padding .5s ease,border-width .5s ease,opacity .5s ease,margin .5s ease!important}
.vukx .vukx-shortlist-add.vukx-shortlist-success{animation:vukx-added-fade-smooth 2.1s ease-out forwards!important}
@keyframes vukx-added-fade-smooth{0%,48%{opacity:1}75%{opacity:.9}100%{opacity:0}}
.vukx .vukx-shortlist-add.vukx-shortlist-saved{display:flex!important;max-height:0!important;min-height:0!important;height:0!important;opacity:0!important;padding-top:0!important;padding-bottom:0!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;pointer-events:none!important}
.vukx .vukx-shortlist-item{min-width:0!important}
.vukx .vukx-shortlist-item-name{flex:1 1 auto!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;overflow-wrap:normal!important}
@media(max-width:390px){.vukx .vukx-shortlist-item{gap:5px!important}}
@media(prefers-reduced-motion:reduce){.vukx .vukx-shortlist-add,.vukx .vukx-clear-confirm{animation:none!important;transition:none!important}}
/* v0.24 — show the upper casting CTA whenever the comparison scrolls. */
.vukx .vukx-compare-top-action .vukx-compare-request{ box-sizing:border-box; }
@media (max-width:580px){.vukx .vukx-compare-top-action{ width:100%; justify-content:stretch; }
.vukx .vukx-compare-top-action .vukx-compare-request,
  .vukx .vukx-compare-footer .vukx-compare-request{ display:block!important;width:100%!important;max-width:none!important;box-sizing:border-box!important;text-align:center!important;white-space:normal!important; }}
/* v0.25: preference order, shared across sidebar, floating shortlist and comparison. */
.vukx .vukx-shortlist-item[data-shortlist-id]{gap:7px!important;cursor:grab;transition:background .16s ease,box-shadow .16s ease}
.vukx .vukx-shortlist-item.is-dragging{opacity:.52;cursor:grabbing}
.vukx .vukx-shortlist-item.is-drop-target{box-shadow:inset 0 0 0 2px #2e7378;background:#eaf4f1!important}
.vukx .vukx-shortlist-position{display:inline-flex;align-items:center;justify-content:center;flex:none;width:23px;height:23px;border-radius:50%;background:#e9f1ef;color:#2e7378;font:700 11px/1 Arial,sans-serif}
.vukx .vukx-shortlist-grip{font-size:19px;line-height:1;color:#8aaba8;cursor:grab;flex:none;order:20}
.vukx .vukx-order-controls{display:inline-flex;flex-direction:column;gap:1px;flex:none;order:19}
.vukx .vukx-order-controls button{display:flex!important;align-items:center!important;justify-content:center!important;width:22px!important;height:18px!important;min-height:18px!important;padding:0!important;border:1px solid #d7e5e1!important;border-radius:4px!important;background:#fff!important;color:#426b6d!important;font:700 14px/1 Arial,sans-serif!important;cursor:pointer}
.vukx .vukx-order-controls button:disabled{opacity:.24;cursor:default}
.vukx .vukx-shortlist-remove{order:21}
.vukx .vukx-shortlist-item-name{min-width:0!important}
.vukx .vukx-compare-card{position:relative;padding-top:28px}
.vukx .vukx-compare-rank-number{position:absolute;top:8px;left:13px;font:750 11px/1 Arial,sans-serif;color:#678387;letter-spacing:.02em}
.vukx .vukx-rank-rosette{position:absolute;right:13px;top:8px;z-index:2;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-sizing:border-box;filter:drop-shadow(0 2px 3px rgba(0,0,0,.12));font:700 12px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.02em}
.vukx .vukx-rank-rosette:before,.vukx .vukx-rank-rosette:after{content:"";position:absolute;bottom:-8px;width:17px;height:17px;z-index:-1;clip-path:polygon(0 0,100% 0,72% 100%,50% 68%,28% 100%)}
.vukx .vukx-rank-rosette:before{left:8px}
.vukx .vukx-rank-rosette:after{right:8px}
.vukx .vukx-rank-rosette span{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;border:2px solid rgba(255,255,255,.85);box-sizing:border-box;background:inherit;color:inherit}
.vukx .vukx-rank-rosette.vukx-ai-rank-1{background:#c9a84b;color:#fff}
.vukx .vukx-rank-rosette.vukx-ai-rank-1:before,.vukx .vukx-rank-rosette.vukx-ai-rank-1:after{background:#a98935}
.vukx .vukx-rank-rosette.vukx-ai-rank-2{background:#9da3a8;color:#fff}
.vukx .vukx-rank-rosette.vukx-ai-rank-2:before,.vukx .vukx-rank-rosette.vukx-ai-rank-2:after{background:#7e858b}
.vukx .vukx-rank-rosette.vukx-ai-rank-3{background:#b27b55;color:#fff}
.vukx .vukx-rank-rosette.vukx-ai-rank-3:before,.vukx .vukx-rank-rosette.vukx-ai-rank-3:after{background:#8e6042}
.vukx .vukx-compare-rank-1 .vukx-compare-artist,.vukx .vukx-compare-rank-2 .vukx-compare-artist,.vukx .vukx-compare-rank-3 .vukx-compare-artist{padding-right:48px}
@media(max-width:700px){.vukx .vukx-rank-rosette{width:46px;height:46px;font-size:11px}
.vukx .vukx-rank-rosette span{width:37px;height:37px}
.vukx .vukx-rank-rosette:before,.vukx .vukx-rank-rosette:after{width:15px;height:15px;bottom:-7px}
.vukx .vukx-shortlist-grip{display:inline-flex;touch-action:none}}
/* v0.28 — compact chevrons and inline ranking controls in comparison */
.vukx .vukx-order-controls button,.vukx .vukx-compare-sort button{font-family:Arial,sans-serif!important;font-size:17px!important;font-weight:700!important;line-height:1!important}
.vukx .vukx-compare-sort{position:absolute;top:8px;left:13px;display:flex;gap:3px;align-items:center;z-index:4}
.vukx .vukx-compare-sort button{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:23px!important;height:24px!important;min-height:24px!important;padding:0!important;background:#f0f6f4!important;color:#386d70!important;border:1px solid #d3e4df!important;border-radius:6px!important;cursor:pointer}
.vukx .vukx-compare-sort button:disabled{opacity:.25;cursor:default}
.vukx .vukx-compare-grip{display:inline-flex;align-items:center;justify-content:center;touch-action:none;user-select:none;cursor:grab;width:22px;height:24px;color:#6a8b8d;font-size:19px;line-height:1}
.vukx .vukx-compare-rank-number{left:auto;right:13px;top:16px}
.vukx .vukx-compare-rank-1 .vukx-compare-sort,.vukx .vukx-compare-rank-2 .vukx-compare-sort,.vukx .vukx-compare-rank-3 .vukx-compare-sort{left:13px}
.vukx .vukx-compare-card.is-dragging{opacity:.55}
.vukx .vukx-compare-card.is-drop-target{outline:2px dashed #2e7378;outline-offset:2px}
/* v0.29: keep artist names visible alongside compact current-profile marker. */
.vukx .vukx-shortlist-item-name{flex:1 1 0!important;min-width:0!important;display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
/* v0.30: unobstructed portraits, right-aligned comparison sorting and centred SVG chevrons. */
.vukx .vukx-order-controls button .vukx-chevron-icon,
.vukx .vukx-compare-sort button .vukx-chevron-icon{display:block!important;flex:none;width:15px!important;height:15px!important;margin:0!important;vertical-align:middle;position:static!important;transform:none!important}
.vukx .vukx-compare-card{position:relative;padding-top:15px!important}
.vukx .vukx-compare-sort,
.vukx .vukx-compare-rank-1 .vukx-compare-sort,
.vukx .vukx-compare-rank-2 .vukx-compare-sort,
.vukx .vukx-compare-rank-3 .vukx-compare-sort{position:absolute!important;top:12px!important;right:12px!important;left:auto!important;display:flex!important;flex-direction:column!important;gap:4px!important;align-items:center!important;z-index:4}
.vukx .vukx-compare-sort button{display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;line-height:1!important;padding:0!important}
.vukx .vukx-compare-grip{width:28px!important;height:23px!important;display:flex!important;align-items:center!important;justify-content:center!important}
.vukx .vukx-compare-artist,
.vukx .vukx-compare-rank-1 .vukx-compare-artist,
.vukx .vukx-compare-rank-2 .vukx-compare-artist,
.vukx .vukx-compare-rank-3 .vukx-compare-artist{padding-right:42px!important;min-height:68px}
.vukx .vukx-rank-rosette{right:13px!important;left:auto!important;top:108px!important;z-index:2}
.vukx .vukx-compare-rank-number{right:21px!important;left:auto!important;top:108px!important}
/* Reserve space beneath the control rail for a rosette without crowding the image. */
.vukx .vukx-compare-rank-1 .vukx-compare-artist,
.vukx .vukx-compare-rank-2 .vukx-compare-artist,
.vukx .vukx-compare-rank-3 .vukx-compare-artist{margin-bottom:44px!important}
@media(max-width:700px){.vukx .vukx-compare-artist img{flex-shrink:0}
.vukx .vukx-rank-rosette{top:106px!important}}
/* v0.31 — comparison preferences: badge at portrait's upper-left,
   controls in one compact horizontal row at upper-right. */
.vukx .vukx-compare-card{padding-top:43px!important;overflow:visible!important}
.vukx .vukx-compare-sort,
.vukx .vukx-compare-rank-1 .vukx-compare-sort,
.vukx .vukx-compare-rank-2 .vukx-compare-sort,
.vukx .vukx-compare-rank-3 .vukx-compare-sort{
 position:absolute!important;top:9px!important;right:12px!important;left:auto!important;
 display:flex!important;flex-direction:row!important;align-items:center!important;
 justify-content:flex-end!important;gap:5px!important;z-index:4
}
.vukx .vukx-compare-sort button{width:27px!important;height:27px!important;min-width:27px!important;min-height:27px!important}
.vukx .vukx-compare-grip{width:26px!important;height:27px!important;min-width:26px!important;line-height:1!important}
.vukx .vukx-compare-artist,
.vukx .vukx-compare-rank-1 .vukx-compare-artist,
.vukx .vukx-compare-rank-2 .vukx-compare-artist,
.vukx .vukx-compare-rank-3 .vukx-compare-artist{
 padding-right:0!important;min-height:0!important;margin-bottom:0!important
}
.vukx .vukx-rank-rosette{top:32px!important;left:-10px!important;right:auto!important;z-index:5}
.vukx .vukx-compare-rank-number{
 top:45px!important;left:6px!important;right:auto!important;z-index:5;
 display:flex;align-items:center;justify-content:center;min-width:24px;height:24px;
 padding:0 5px;box-sizing:border-box;border-radius:7px;
 background:#fff;color:#45696c;border:1px solid #dce8e5;
 box-shadow:0 1px 3px rgba(0,0,0,.08)
}
@media(max-width:700px){.vukx .vukx-rank-rosette{top:34px!important;left:-8px!important;right:auto!important}
.vukx .vukx-compare-rank-number{top:44px!important;left:6px!important;right:auto!important}}
/* v0.33 — comparison rank indicators share the top toolbar baseline. */
.vukx .vukx-rank-rosette{
  top:8px!important;
  left:12px!important;
  right:auto!important;
}
.vukx .vukx-compare-rank-number{
  top:11px!important;
  left:15px!important;
  right:auto!important;
}
@media(max-width:700px){.vukx .vukx-rank-rosette{top:8px!important;left:12px!important;right:auto!important;}
.vukx .vukx-compare-rank-number{top:11px!important;left:15px!important;right:auto!important;}}
/* Global admin-only shortlist across non-showcase frontend pages. */
.vukx-global-shortlist{position:relative;z-index:9990;font-family:inherit}
.vukx-global-shortlist .vukx-shortlist-float{display:block!important;bottom:120px;right:22px}
.vukx-global-shortlist .vukx-shortlist-float[hidden]{display:none!important}
.vukx-global-shortlist .vukx-shortlist-popover[hidden]{display:none!important}
@media(max-width:640px){.vukx-global-shortlist .vukx-shortlist-float{display:block!important;bottom:calc(24px + env(safe-area-inset-bottom,0px));right:14px}
.vukx-global-shortlist .vukx-shortlist-float-toggle{padding:9px 12px!important;font-size:12px!important}
.vukx-global-shortlist .vukx-shortlist-popover{max-height:60dvh}}
/* v0.37: Site-wide shortlist is a zero-footprint fixed overlay, not a full-width
   page section. The original .vukx rule must not paint/pad the theme's footer. */
html body .vukx.vukx-global-shortlist{
 position:fixed!important;inset:0 auto auto 0!important;width:0!important;height:0!important;
 max-width:0!important;max-height:0!important;padding:0!important;margin:0!important;
 background:transparent!important;border:0!important;box-shadow:none!important;
 overflow:visible!important;line-height:normal!important;pointer-events:none!important;z-index:9990!important;
}
html body .vukx-global-shortlist .vukx-shortlist-float,
html body .vukx-global-shortlist .vukx-compare-overlay{pointer-events:auto!important;}
html body .vukx-global-shortlist .vukx-shortlist-float{width:auto!important;max-width:calc(100vw - 24px)!important;}
html body .vukx-global-shortlist .vukx-shortlist-popover{box-sizing:border-box!important;width:min(340px,calc(100vw - 28px))!important;max-width:calc(100vw - 28px)!important;}
html body .vukx-global-shortlist .vukx-compare-overlay{width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;}
html body .vukx-global-shortlist .vukx-compare-dialog{max-width:min(1100px,100vw)!important;box-sizing:border-box!important;}
/* v0.41 — site-wide shortlist controls must not inherit unrelated theme button styles */
html body .vukx-global-shortlist button.vukx-shortlist-float-toggle{display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;width:auto!important;min-width:0!important;max-width:calc(100vw - 25px)!important;min-height:46px!important;height:auto!important;border-radius:999px!important;padding:10px 15px!important;white-space:nowrap!important;line-height:1.3!important;font-size:12px!important;letter-spacing:normal!important;transform:none!important}
html body .vukx-global-shortlist button.vukx-compare-launch{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:43px!important;border-radius:9px!important;padding:10px 12px!important;line-height:1.35!important;font-size:12px!important;white-space:normal!important;box-shadow:none!important}
html body .vukx-global-shortlist button.vukx-compare-close{display:grid!important;place-items:center!important;flex:0 0 38px!important;width:38px!important;min-width:38px!important;max-width:38px!important;height:38px!important;min-height:38px!important;max-height:38px!important;aspect-ratio:1!important;padding:0!important;margin:0!important;border-radius:50%!important;line-height:1!important;box-shadow:none!important}
html body .vukx-global-shortlist button.vukx-compare-request{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;max-width:100%!important;min-height:43px!important;height:auto!important;padding:11px 15px!important;border-radius:9px!important;font-size:12px!important;line-height:1.4!important;text-align:center!important;white-space:normal!important;box-shadow:none!important}
html body .vukx-global-shortlist .vukx-compare-footer{min-width:0!important}
@media(max-width:640px){html body .vukx-global-shortlist button.vukx-compare-request{width:100%!important}
html body .vukx-global-shortlist button.vukx-shortlist-float-toggle{font-size:12px!important}}
/* v0.122 shortlist Clear action / approved tooltip dismiss */
.vukx .vukx-float-tools{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:12px}
.vukx .vukx-float-tools button{width:auto!important;min-height:34px!important;margin:0!important;font-size:11px!important;padding:7px 9px!important;line-height:1.3!important}
.vukx .vukx-float-clear{color:#8a4943!important;background:transparent!important;border:1px solid transparent!important;text-decoration:underline!important;cursor:pointer}
.vukx .vukx-float-clear-confirm[hidden]{display:none!important}
.vukx .vukx-float-clear-confirm{border:1px solid #d4e2dd;border-radius:10px;padding:12px;margin-top:9px;background:#f5faf8;font-size:12px;color:#355c55}
.vukx .vukx-float-clear-confirm p{margin:5px 0 12px;font-size:11px}
.vukx .vukx-float-clear-actions{display:flex;gap:7px}
.vukx .vukx-float-clear-actions button{padding:8px 10px!important;border-radius:7px!important;font-size:11px!important;cursor:pointer}
.vukx .vukx-float-yes{background:#397f7a!important;color:white!important;border:1px solid #397f7a!important}
html body .vukx button.vukx-compare-request{display:inline-flex!important;justify-content:center!important;align-items:center!important;background:#397f7a!important;color:#fff!important;border:1px solid #397f7a!important;border-radius:10px!important;font-size:13px!important;font-weight:700!important;line-height:1.35!important;min-height:44px!important;height:auto!important;padding:12px 18px!important;white-space:normal!important;text-align:center!important;box-shadow:none!important}
/* v0.123 — hide empty shortlist tools until the first artist is saved. */
.vukx .vukx-shortlist-details[hidden]{display:none!important}
/* v0.127: explicit similar-voice search and immediate navigation feedback. */
.vukx .vukx-float-similar,html body #vukx-global-shortlist button.vukx-float-similar{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:37px!important;margin:9px 0 0!important;padding:8px 11px!important;border:1px solid #b8d7cf!important;border-radius:8px!important;background:#eef7f4!important;color:#27665d!important;font:700 12px/1.35 Arial,sans-serif!important;cursor:pointer}
.vukx a.vukx-nav-pending{position:relative;opacity:.78!important;cursor:progress!important}
.vukx a.vukx-nav-pending:after{content:"";display:inline-block;width:12px;height:12px;margin-left:8px;border:2px solid #b4d7cd;border-top-color:#216f63;border-radius:50%;vertical-align:-2px;animation:vukx-nav-spin .65s linear infinite}
.vukx button.vukx-nav-pending,html body #vukx-global-shortlist button.vukx-nav-pending{cursor:progress!important;opacity:.8!important}
.vukx button.vukx-nav-pending:after,html body #vukx-global-shortlist button.vukx-nav-pending:after{content:"";display:inline-block;width:12px;height:12px;margin-left:7px;border:2px solid #b4d7cd;border-top-color:#216f63;border-radius:50%;animation:vukx-nav-spin .65s linear infinite}
@keyframes vukx-nav-spin{to{transform:rotate(360deg)}}
/* v0.134: navigation response shared by shortlist comparison and related links. */
#vukx-global-opening-toast[hidden]{display:none!important}
#vukx-global-opening-toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:2147483000;display:flex;align-items:center;gap:10px;padding:12px 17px;border-radius:11px;background:#234f49;color:white;white-space:nowrap;pointer-events:none;box-shadow:0 12px 35px #0003;font:600 12px/1.3 'Open Sans',Arial,sans-serif}
.vukx-global-opening-spin{width:15px;height:15px;border:2px solid #ffffff66;border-top-color:white;border-radius:50%;animation:vukx-global-spin .65s linear infinite}
@keyframes vukx-global-spin{to{transform:rotate(360deg)}}
a.vukx-opening-showcase-link{opacity:.72!important;cursor:progress!important}
/* v0.351: unobtrusive in-card shortlist removal confirmation. */
.vukx .vukx-compare-remove-area{margin-top:auto;min-width:0}
.vukx .vukx-compare-remove-confirm:not([hidden]){display:flex;flex-direction:column;gap:9px;padding:11px 12px;border:1px solid #dbe7e4;border-radius:10px;background:#f5f8f6}
.vukx .vukx-compare-remove-question{margin:0;color:#325d5b;font-size:12px;line-height:1.4;font-weight:600}
.vukx .vukx-compare-remove-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.vukx .vukx-compare-remove-actions button{font:inherit;font-size:12px!important;line-height:1.35!important;border-radius:7px!important;padding:7px 11px!important;cursor:pointer}
.vukx .vukx-compare-remove-keep{color:#315d5b!important;background:#fff!important;border:1px solid #b6d3cc!important}
.vukx .vukx-compare-remove-proceed{color:#fff!important;background:#8a4343!important;border:1px solid #8a4343!important}
.vukx .vukx-compare-remove-confirm[hidden]{display:none!important}
/* 0.357.164 - shortlist removal is a full-width, standalone confirmation,
   never compressed inside the sortable artist row. */
html body .vukx .vukx-float-item-confirm,
html body #vukx-global-shortlist .vukx-float-item-confirm,
html body .vukx .vukx-inline-remove-confirm{
 display:block!important;position:relative!important;clear:both!important;
 width:100%!important;min-width:0!important;max-width:100%!important;
 height:auto!important;box-sizing:border-box!important;flex:none!important;
 margin:5px 0 10px!important;padding:12px!important;border:1px solid #c9ded8!important;
 border-radius:9px!important;background:#f2f8f6!important;color:#28564e!important;
 font:normal 12px/1.45 Arial,sans-serif!important;text-align:left!important;
}
html body .vukx .vukx-float-item-confirm strong,
html body #vukx-global-shortlist .vukx-float-item-confirm strong,
html body .vukx .vukx-inline-remove-confirm strong{
 display:block!important;width:100%!important;margin:0 0 11px!important;
 font:600 12px/1.4 Arial,sans-serif!important;color:#28564e!important;
}
html body .vukx .vukx-float-item-confirm-actions,
html body #vukx-global-shortlist .vukx-float-item-confirm-actions,
html body .vukx .vukx-inline-remove-actions{
 display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
 gap:8px!important;width:100%!important;min-width:0!important;align-items:stretch!important;
}
html body .vukx .vukx-float-item-confirm-actions button,
html body #vukx-global-shortlist .vukx-float-item-confirm-actions button,
html body .vukx .vukx-inline-remove-actions button{
 appearance:none!important;display:flex!important;justify-content:center!important;align-items:center!important;
 width:100%!important;min-width:0!important;max-width:none!important;min-height:36px!important;
 height:auto!important;margin:0!important;padding:8px 5px!important;border:1px solid #bad3cc!important;
 border-radius:7px!important;background:#fff!important;color:#285c55!important;
 font:600 11px/1.25 Arial,sans-serif!important;text-align:center!important;
 white-space:normal!important;text-transform:none!important;letter-spacing:normal!important;
 text-decoration:none!important;box-shadow:none!important;transform:none!important;cursor:pointer!important;
}
html body .vukx .vukx-float-item-confirm-actions button.vukx-float-remove-yes,
html body #vukx-global-shortlist .vukx-float-item-confirm-actions button.vukx-float-remove-yes,
html body .vukx .vukx-inline-remove-actions button.vukx-inline-confirm{
 background:#28776f!important;border-color:#28776f!important;color:#fff!important;
}
/* v0.357.240: spacing between badges and numbered ordinal is now inserted in the HTML,
   ensuring it remains even when other mobile flex or grid rules override margins. */

/* 0.357.249: Audition Room-style buffering spinner for showcase player controls. */
.vukx button.vukx-audio-loading:is(.vukx-play,.vukx-alt-play,.vukx-mini-toggle,.vukx-compare-wave-play){position:relative!important;cursor:progress!important}
.vukx button.vukx-audio-loading:is(.vukx-play,.vukx-alt-play,.vukx-mini-toggle,.vukx-compare-wave-play)::after{content:''!important;display:block!important;position:absolute!important;left:50%!important;top:50%!important;width:18px!important;height:18px!important;margin:0!important;border:2px solid currentColor!important;border-right-color:transparent!important;border-radius:50%!important;box-sizing:border-box!important;transform:translate(-50%,-50%);animation:vukx-showcase-audio-spin .7s linear infinite!important;visibility:visible!important}
.vukx button.vukx-audio-loading:is(.vukx-play,.vukx-alt-play,.vukx-mini-toggle,.vukx-compare-wave-play) .vukx-play-symbol,
.vukx button.vukx-audio-loading:is(.vukx-play,.vukx-alt-play,.vukx-mini-toggle,.vukx-compare-wave-play) .vukx-mini-symbol,
.vukx button.vukx-audio-loading.vukx-alt-play span{visibility:hidden!important}
.vukx button.vukx-audio-loading.vukx-compare-wave-play{font-size:0!important}
@keyframes vukx-showcase-audio-spin{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.vukx button.vukx-audio-loading:is(.vukx-play,.vukx-alt-play,.vukx-mini-toggle,.vukx-compare-wave-play)::after{animation-duration:1.5s!important}}
.vukx button.vukx-track.is-playing:not(.vukx-audio-loading) .vukx-track-icon{font-size:0!important}
.vukx button.vukx-track.is-playing:not(.vukx-audio-loading) .vukx-track-icon::after{content:'';display:block;width:11px;height:14px;border-left:3px solid currentColor;border-right:3px solid currentColor;box-sizing:border-box}
.vukx button.vukx-track.vukx-audio-loading .vukx-track-icon{font-size:0!important;cursor:progress!important}
.vukx button.vukx-track.vukx-audio-loading .vukx-track-icon::after{content:''!important;display:block!important;width:16px!important;height:16px!important;box-sizing:border-box!important;border:2px solid #9bbfba!important;border-top-color:#245d5d!important;border-radius:50%!important;animation:vukx-showcase-audio-spin-row .7s linear infinite!important}
@keyframes vukx-showcase-audio-spin-row{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.vukx button.vukx-track.vukx-audio-loading .vukx-track-icon::after{animation-duration:1.5s!important}}
