/*
Theme Name: VakeoMusic 5.8.4 — Flow Layout
Theme URI: https://vakeomusic.net/
Author: VakeoMusic
Description: Theme musical de producción con compatibilidad legacy y arquitectura SEO Recovery: Rank Math controla title, description, canonical, robots públicos y Schema; el theme se concentra en contenido, relaciones y experiencia.
Version: 5.8.4
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: vakeomusic
*/
:root{
 --vm-bg:#070510;--vm-bg2:#0e0820;--vm-panel:#151026;--vm-panel2:#1d1237;
 --vm-purple:#8b23ff;--vm-purple2:#ba2cff;--vm-gold:#ffc52d;--vm-gold2:#ff9d00;
 --vm-text:#fff;--vm-muted:#aaa2ba;--vm-line:rgba(160,82,255,.25);--vm-radius:18px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:
 radial-gradient(circle at 20% 0%,rgba(103,24,183,.22),transparent 35%),
 linear-gradient(180deg,#090612,#070510 55%,#06040c);
 color:var(--vm-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.45}
a{color:inherit}.vm-container{width:min(1240px,calc(100% - 30px));margin:auto}.screen-reader-text{position:absolute;left:-9999px}
.vm-top{background:rgba(7,5,16,.96);border-bottom:1px solid rgba(255,255,255,.06);position:sticky;top:0;z-index:90;backdrop-filter:blur(16px)}
.vm-top-row{height:62px;display:grid;grid-template-columns:250px minmax(260px,1fr) auto;gap:28px;align-items:center}
.vm-brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:950;font-size:1.55rem}.vm-brand-mark{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,#d73cff,#5015a3 48%,#1b0b33 70%);border:2px solid var(--vm-gold);box-shadow:0 0 28px rgba(173,42,255,.38);font-family:Georgia,serif;font-size:2rem;color:var(--vm-gold)}.vm-brand b{color:var(--vm-gold)}
.vm-search{height:42px;border:1px solid rgba(255,255,255,.09);background:#120b20;border-radius:14px;display:flex;align-items:center;padding:0 14px;gap:10px}.vm-search input{width:100%;background:none;border:0;outline:0;color:#fff;font-size:.95rem}.vm-tools{display:flex;gap:11px;align-items:center}.vm-tool{width:38px;height:38px;border:1px solid rgba(255,255,255,.09);border-radius:50%;display:grid;place-items:center;background:#0f0a1a}
.vm-menu-bar{border-top:1px solid rgba(255,255,255,.03);background:rgba(10,6,20,.95)}.vm-nav{height:48px;display:flex;justify-content:center;align-items:stretch;gap:6px}.vm-nav a{display:flex;align-items:center;gap:8px;padding:0 20px;text-decoration:none;font-weight:800;font-size:.92rem;border-radius:10px 10px 0 0}.vm-nav a:hover,.vm-nav .current-menu-item>a{background:linear-gradient(180deg,rgba(155,33,255,.65),rgba(122,22,227,.4));box-shadow:inset 0 -2px 0 var(--vm-purple2)}
.vm-mobile-btn{display:none}
.vm-hero{padding:14px 0}.vm-hero-slider{position:relative;min-height:310px;border-radius:22px;overflow:hidden;border:1px solid rgba(151,60,255,.3);background:
 radial-gradient(circle at 80% 35%,rgba(255,197,45,.22),transparent 18%),
 radial-gradient(circle at 60% 40%,rgba(152,23,255,.5),transparent 33%),
 linear-gradient(115deg,#18062f,#3a0b57 48%,#15051f);isolation:isolate}
.vm-hero-slider:after{content:"V";position:absolute;right:7%;top:7%;font-family:Georgia,serif;font-weight:900;font-size:14rem;line-height:1;color:transparent;-webkit-text-stroke:6px var(--vm-gold);filter:drop-shadow(0 0 20px rgba(255,187,24,.34));opacity:.9;z-index:-1}
.vm-hero-copy{padding:38px 52px;max-width:590px}.vm-hero-copy .big{font-size:clamp(2.9rem,5vw,5.5rem);font-weight:950;line-height:.91;letter-spacing:-.05em;margin:0}.vm-hero-copy .gold{color:var(--vm-gold)}.vm-hero-copy p{max-width:430px;color:#ded7e7;font-size:1.06rem}.vm-hero-actions{display:flex;gap:12px;flex-wrap:wrap}.vm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 15px;border-radius:12px;text-decoration:none;border:1px solid rgba(255,255,255,.16);font-weight:850;background:rgba(255,255,255,.025);cursor:pointer;color:#fff}.vm-btn.gold{background:linear-gradient(180deg,#ffd63c,#f6a900);color:#251300;border:0}.vm-btn.purple{background:linear-gradient(180deg,#b429ff,#7017d4);border:0}.vm-btn.small{padding:8px 11px;font-size:.82rem}
.vm-section{padding:9px 0 17px}.vm-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.vm-section-title{font-size:1.08rem;margin:0;font-weight:900}.vm-see{font-size:.78rem;color:#d55bff;text-decoration:none}
.vm-artists-wrap{display:flex;gap:16px;overflow-x:auto;padding:3px 4px 10px;scrollbar-width:none}.vm-artists-wrap::-webkit-scrollbar{display:none}.vm-artist-card{min-width:90px;text-align:center;text-decoration:none}.vm-artist-card img,.vm-artist-placeholder{width:78px;height:78px;border-radius:50%;object-fit:cover;border:2px solid var(--vm-gold);box-shadow:0 0 0 2px #7f18df,0 0 18px rgba(133,25,222,.25)}.vm-artist-card strong{display:block;font-size:.82rem;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vm-dashboard{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:12px}.vm-panel{background:linear-gradient(180deg,rgba(26,17,48,.97),rgba(17,12,32,.97));border:1px solid var(--vm-line);border-radius:var(--vm-radius);padding:12px}.vm-panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.vm-panel-title h3{font-size:1rem;margin:0}
.vm-list{display:grid;gap:4px}.vm-list-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:9px;align-items:center;padding:7px 5px;border-bottom:1px solid rgba(255,255,255,.055)}.vm-list-row:last-child{border-bottom:0}.vm-list-cover{width:44px;height:44px;border-radius:8px;object-fit:cover}.vm-list-title{font-size:.84rem;font-weight:850;text-decoration:none;display:block}.vm-list-sub{font-size:.72rem;color:var(--vm-muted);margin-top:2px}.vm-list-actions{display:flex;align-items:center;gap:7px}.vm-circle{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,197,45,.7);display:grid;place-items:center;background:none;color:var(--vm-gold);cursor:pointer;text-decoration:none}.vm-rank{width:28px;height:28px;border-radius:6px;display:grid;place-items:center;background:rgba(255,197,45,.12);color:var(--vm-gold);font-weight:900;font-size:.78rem}
.vm-bottom-grid{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:14px}.vm-album-row{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none}.vm-album-card{min-width:140px;text-decoration:none}.vm-album-card img{width:140px;height:140px;object-fit:cover;border-radius:12px;border:1px solid rgba(159,50,255,.4)}.vm-album-card strong{display:block;font-size:.82rem;margin-top:5px}.vm-album-card span{font-size:.72rem;color:var(--vm-muted)}
.vm-genres{display:grid;gap:8px}.vm-genre{display:grid;grid-template-columns:1fr 80px 18px;align-items:center;gap:8px;font-size:.82rem}.vm-genre-bar{height:4px;border-radius:999px;background:linear-gradient(90deg,var(--vm-gold),var(--vm-purple));}
.vm-playerbar{position:fixed;left:0;right:0;bottom:0;z-index:100;background:rgba(15,9,29,.97);backdrop-filter:blur(18px);border-top:1px solid rgba(142,37,236,.4);box-shadow:0 -10px 36px rgba(0,0,0,.32);padding:9px 0}.vm-player-inner{display:grid;grid-template-columns:260px 1fr 260px;gap:18px;align-items:center}.vm-now{display:flex;gap:10px;align-items:center}.vm-now img{width:48px;height:48px;border-radius:9px;object-fit:cover}.vm-now strong{font-size:.85rem;display:block}.vm-now span{font-size:.72rem;color:var(--vm-muted)}.vm-player-main{display:flex;flex-direction:column;align-items:center;gap:5px}.vm-player-controls{display:flex;align-items:center;gap:18px}.vm-play-main{width:44px;height:44px;border-radius:50%;background:linear-gradient(180deg,#ffd438,#f7a900);color:#1d0e00;display:grid;place-items:center;border:0;font-size:1.1rem}.vm-progress{height:4px;width:100%;background:#2a1c43;border-radius:999px;overflow:hidden}.vm-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--vm-gold),var(--vm-purple2))}.vm-player-extra{display:flex;justify-content:flex-end;gap:10px;align-items:center}.vm-volume{width:120px;height:4px;background:linear-gradient(90deg,var(--vm-gold),var(--vm-purple))}
.vm-single-hero{padding:24px 0 8px}.vm-single-card{display:grid;grid-template-columns:180px 1fr;gap:24px;align-items:center;background:linear-gradient(135deg,rgba(89,19,154,.27),rgba(255,197,45,.06));border:1px solid var(--vm-line);border-radius:24px;padding:20px}.vm-single-cover{width:180px;height:180px;border-radius:50%;object-fit:cover;border:3px solid var(--vm-gold)}.vm-kicker{font-size:.72rem;color:var(--vm-gold);letter-spacing:.16em;text-transform:uppercase;font-weight:900}.vm-single-title{font-size:clamp(2rem,4.2vw,4.2rem);line-height:.96;margin:.15em 0 .23em}.vm-meta,.vm-tags,.vm-stats,.vm-share,.vm-actions{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}.vm-meta{color:var(--vm-muted);font-size:.86rem}.vm-tag,.vm-stat{font-size:.8rem;border:1px solid var(--vm-line);border-radius:999px;padding:7px 9px}.vm-tag b{color:var(--vm-gold);margin-right:4px}.vm-share a{width:34px;height:34px;border-radius:50%;border:1px solid var(--vm-line);display:grid;place-items:center;text-decoration:none;font-size:.75rem}
.vm-tracklist{display:grid;gap:8px}.vm-track{display:grid;grid-template-columns:34px 48px minmax(0,1fr) auto;gap:10px;align-items:center;background:linear-gradient(180deg,rgba(26,17,48,.95),rgba(15,10,30,.95));border:1px solid rgba(143,41,236,.2);border-radius:14px;padding:8px}.vm-track-no{color:var(--vm-gold);font-weight:900;text-align:center}.vm-track-cover{width:44px;height:44px;border-radius:50%;object-fit:cover;border:1px solid var(--vm-gold)}.vm-track-title{font-size:.88rem;font-weight:850;text-decoration:none}.vm-track-sub{font-size:.72rem;color:var(--vm-muted);margin:2px 0 4px}.vm-track audio{width:100%;height:30px}.vm-track-actions{display:flex;gap:6px}
.vm-content{background:rgba(20,13,39,.9);border:1px solid var(--vm-line);border-radius:18px;padding:16px}.vm-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.vm-grid-card{background:rgba(20,13,39,.9);border:1px solid var(--vm-line);border-radius:15px;padding:9px;text-decoration:none}.vm-grid-card img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:50%}.vm-grid-card h3{font-size:.88rem;margin:6px 0 1px}.vm-grid-card p{margin:0;color:var(--vm-muted);font-size:.7rem}.vm-footer{padding:34px 0 100px;color:var(--vm-muted);border-top:1px solid rgba(255,255,255,.05);margin-top:24px}
@media(max-width:980px){.vm-top-row{grid-template-columns:200px 1fr auto}.vm-dashboard{grid-template-columns:1fr}.vm-bottom-grid{grid-template-columns:1fr}.vm-player-inner{grid-template-columns:200px 1fr 150px}.vm-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vm-nav a{padding:0 12px}.vm-hero-slider:after{font-size:10rem}}
@media(max-width:760px){.vm-top-row{grid-template-columns:1fr auto}.vm-search{grid-column:1/-1;grid-row:2;margin-bottom:10px}.vm-top{position:relative}.vm-menu-bar{position:relative}.vm-nav{display:none;height:auto;padding:10px;flex-direction:column;align-items:stretch}.vm-nav.open{display:flex}.vm-mobile-btn{display:block;position:absolute;right:15px;top:7px}.vm-hero-copy{padding:28px 24px}.vm-hero-slider{min-height:330px}.vm-hero-slider:after{font-size:8rem;right:-1%;top:23%}.vm-playerbar{display:none}.vm-footer{padding-bottom:30px}.vm-single-card{grid-template-columns:120px 1fr}.vm-single-cover{width:120px;height:120px}.vm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.vm-tools{display:none}.vm-top-row{grid-template-columns:1fr}.vm-brand{justify-content:center}.vm-search{grid-row:auto}.vm-single-card{grid-template-columns:1fr;text-align:center}.vm-single-cover{margin:auto}.vm-meta,.vm-tags,.vm-stats,.vm-share,.vm-actions{justify-content:center}.vm-track{grid-template-columns:28px 40px minmax(0,1fr)}.vm-track-cover{width:38px;height:38px}.vm-track-actions{grid-column:3}.vm-album-card,.vm-album-card img{min-width:120px;width:120px;height:120px}}

/* Evita duplicar la lista del plugin Album Uploader: el theme ya renderiza sus propias pistas. */
body.single-album #vmau-album-block,
body.single-albums #vmau-album-block,
body.single-albumes #vmau-album-block{display:none!important;}


/* VakeoMusic 4.1.2 - reproductor individual siempre visible */
.vm-song-player-box{
  margin-top:12px;
  padding:10px 12px;
  border:1px solid rgba(160,82,255,.28);
  border-radius:14px;
  background:rgba(255,255,255,.035);
}
.vm-song-player-box audio{
  display:block!important;
  width:100%!important;
  min-height:38px!important;
  opacity:1!important;
  visibility:visible!important;
}
.vm-audio-warning{
  margin-top:10px;
  padding:9px 11px;
  border:1px solid rgba(255,197,45,.35);
  border-radius:12px;
  color:#ffc52d;
  font-size:.82rem;
}


/* VakeoMusic 4.1.3 - página individual de artista */
.vm-artist-hero{padding:24px 0 10px}
.vm-artist-card-hero{display:grid;grid-template-columns:180px 1fr;gap:24px;align-items:center;
background:linear-gradient(135deg,rgba(89,19,154,.27),rgba(255,197,45,.06));
border:1px solid var(--vm-line);border-radius:24px;padding:20px}
.vm-artist-photo{width:180px;height:180px;border-radius:50%;object-fit:cover;border:3px solid var(--vm-gold)}
.vm-artist-bio{color:var(--vm-muted);max-width:760px}
.vm-artist-socials{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.vm-artist-socials a{display:inline-flex;align-items:center;justify-content:center;padding:8px 11px;border:1px solid var(--vm-line);border-radius:999px;text-decoration:none;font-size:.8rem;font-weight:800}
@media(max-width:760px){.vm-artist-card-hero{grid-template-columns:120px 1fr}.vm-artist-photo{width:120px;height:120px}}
@media(max-width:520px){.vm-artist-card-hero{grid-template-columns:1fr;text-align:center}.vm-artist-photo{margin:auto}.vm-artist-socials{justify-content:center}}


/* VakeoMusic 4.1.4 - archivos y géneros */
.vm-genre-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.vm-genre-card{display:block;text-decoration:none;padding:18px;border-radius:16px;
background:linear-gradient(135deg,rgba(120,24,215,.28),rgba(255,197,45,.06));
border:1px solid var(--vm-line)}
.vm-genre-card strong{display:block;font-size:1.02rem;margin-bottom:5px}
.vm-genre-card span{color:var(--vm-muted);font-size:.78rem}
.vm-genre-card:hover{transform:translateY(-2px);border-color:rgba(255,197,45,.55)}
@media(max-width:820px){.vm-genre-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.vm-genre-grid{grid-template-columns:1fr}}


/* =========================================================
   VakeoMusic 4.1.7 - buscador responsive + paginación
   ========================================================= */
.vm-archive-info{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:0 0 14px;color:var(--vm-muted);font-size:.82rem}
.vm-pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:24px 0 8px}
.vm-pagination .page-numbers{min-width:38px;height:38px;padding:0 12px;border-radius:10px;border:1px solid var(--vm-line);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:800;color:#fff;background:rgba(255,255,255,.035)}
.vm-pagination .page-numbers.current{background:linear-gradient(180deg,#b429ff,#7017d4);border-color:transparent}
.vm-pagination .page-numbers:hover{border-color:rgba(255,197,45,.6);color:var(--vm-gold)}

@media(max-width:760px){
  .vm-top-row{display:grid!important;grid-template-columns:1fr auto!important;grid-template-rows:auto auto!important;gap:10px 12px!important;height:auto!important;padding:12px 0 10px!important}
  .vm-brand{grid-column:1!important;grid-row:1!important;justify-content:flex-start!important}
  .vm-tools{grid-column:2!important;grid-row:1!important}
  .vm-search{grid-column:1/-1!important;grid-row:2!important;width:100%!important;margin:0!important;position:relative!important;z-index:1!important}
  .vm-menu-bar{position:relative!important;z-index:2!important}
  .vm-mobile-btn{display:inline-flex!important;position:relative!important;top:auto!important;right:auto!important;margin:8px 0!important}
  .vm-nav{position:relative!important;z-index:3!important;background:rgba(10,6,20,.98)!important}
}
@media(max-width:520px){
  .vm-top-row{grid-template-columns:1fr!important}
  .vm-brand{grid-column:1!important;grid-row:1!important;justify-content:center!important}
  .vm-tools{display:none!important}
  .vm-search{grid-column:1!important;grid-row:2!important}
  .vm-search input{font-size:.92rem!important}
}


/* =========================================================
   VakeoMusic 4.1.8 - Menú móvil + Top 100
   ========================================================= */

.vm-mobile-btn{
  cursor:pointer;
  user-select:none;
}

@media(max-width:760px){
  .vm-menu-bar .vm-container{
    position:relative;
  }

  .vm-mobile-btn{
    width:auto!important;
    min-width:110px;
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    gap:7px;
  }

  .vm-nav{
    display:none!important;
    width:100%!important;
    height:auto!important;
    padding:10px!important;
    margin:0 0 10px!important;
    border:1px solid var(--vm-line);
    border-radius:14px;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:4px!important;
  }

  .vm-nav.open{
    display:flex!important;
  }

  .vm-nav a{
    min-height:44px;
    padding:10px 14px!important;
    border-radius:10px!important;
    width:100%;
  }
}

.vm-top100-list{
  display:grid;
  gap:9px;
}

.vm-top100-row{
  display:grid;
  grid-template-columns:44px 54px minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  padding:10px;
  border:1px solid var(--vm-line);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(26,17,48,.96),rgba(15,10,30,.96));
}

.vm-top100-number{
  width:34px;
  height:34px;
  border-radius:9px;
  display:grid;
  place-items:center;
  background:rgba(255,197,45,.12);
  color:var(--vm-gold);
  font-weight:950;
}

.vm-top100-cover{
  width:50px;
  height:50px;
  border-radius:9px;
  object-fit:cover;
}

.vm-top100-title{
  font-weight:900;
  text-decoration:none;
}

.vm-top100-meta{
  color:var(--vm-muted);
  font-size:.76rem;
  margin-top:3px;
}

@media(max-width:520px){
  .vm-top100-row{
    grid-template-columns:36px 46px minmax(0,1fr);
  }
  .vm-top100-row .vm-list-actions{
    grid-column:3;
  }
}

.vm-ad-slot{width:100%;margin:14px auto;text-align:center;overflow:hidden}
.vm-ad-slot-inner{display:flex;justify-content:center;align-items:center}
.vm-ad-label{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--vm-muted);margin-bottom:5px}
.vm-ad-header{margin-top:10px}.vm-ad-home{margin:10px 0 16px}.vm-ad-inline{margin:12px 0}
.vm-ad-before-player{margin:10px 0}.vm-ad-after-player{margin:12px 0}.vm-ad-footer{margin-top:18px}


/* =========================================================
   VakeoMusic 4.1.10 - Corrección de centrado en móvil
   ========================================================= */
.vm-container{
  width:min(1180px, calc(100% - 32px));
  margin-left:auto!important;
  margin-right:auto!important;
}
.vm-section-head{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.vm-album-row{
  width:100%;
  display:flex;
  gap:14px;
  overflow-x:auto;
  padding:4px 2px 10px;
  margin:0 auto;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.vm-album-row::-webkit-scrollbar{display:none}
.vm-album-card{
  flex:0 0 150px;
  min-width:150px;
  max-width:150px;
  text-align:center;
  scroll-snap-align:start;
}
.vm-album-card img{
  width:150px;
  height:150px;
  aspect-ratio:1/1;
  object-fit:cover;
  display:block;
  margin:0 auto 8px;
  border-radius:14px;
}
.vm-album-card strong,
.vm-album-card span{
  display:block;
  width:100%;
  text-align:center;
}
.vm-section .vm-album-row,
.vm-section .vm-grid,
.vm-section .vm-tracklist{
  margin-left:0!important;
  margin-right:0!important;
  transform:none!important;
}
@media(max-width:760px){
  .vm-container{
    width:calc(100% - 24px)!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .vm-section{overflow:hidden}
  .vm-section-head{
    padding-left:0!important;
    padding-right:0!important;
  }
  .vm-album-row{
    width:100%!important;
    padding-left:0!important;
    padding-right:0!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .vm-album-card{
    flex-basis:138px;
    min-width:138px;
    max-width:138px;
  }
  .vm-album-card img{
    width:138px;
    height:138px;
  }
  .vm-album-card:first-child{margin-left:0!important}
}
@media(max-width:520px){
  .vm-container{width:calc(100% - 20px)!important}
  .vm-album-row{gap:12px}
  .vm-album-card{
    flex-basis:132px;
    min-width:132px;
    max-width:132px;
  }
  .vm-album-card img{
    width:132px;
    height:132px;
  }
}


/* =========================================================
   VakeoMusic 4.1.12 - Production audit
   ========================================================= */
.vm-genre-link{display:flex!important;text-decoration:none;color:inherit}
.vm-player-volume{display:flex;align-items:center;gap:8px}
.vm-player-volume input{width:90px;accent-color:var(--vm-gold)}
.vm-error-card{max-width:760px;margin:40px auto;padding:28px;border:1px solid var(--vm-line);border-radius:22px;text-align:center;background:rgba(255,255,255,.03)}
.vm-error-card h1{font-size:clamp(2rem,7vw,4rem);margin:0 0 10px}
.vm-error-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px}
@media(max-width:760px){.vm-player-volume input{width:72px}}


/* =========================================================
   VakeoMusic 4.1.13 - Playlists de usuarios
   ========================================================= */
.vm-playlist-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.vm-playlist-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 13px;border:1px solid var(--vm-line);border-radius:999px;background:rgba(255,255,255,.035);color:#fff;font-weight:800;cursor:pointer}
.vm-playlist-btn:hover{border-color:rgba(255,197,45,.6);color:var(--vm-gold)}
.vm-playlist-modal{position:fixed;inset:0;background:rgba(0,0,0,.7);display:none;align-items:center;justify-content:center;z-index:99999;padding:18px}
.vm-playlist-modal.open{display:flex}
.vm-playlist-dialog{width:min(520px,100%);max-height:82vh;overflow:auto;background:#120a22;border:1px solid var(--vm-line);border-radius:22px;padding:20px;box-shadow:0 20px 80px rgba(0,0,0,.45)}
.vm-playlist-dialog h3{margin:0 0 12px}
.vm-playlist-list{display:grid;gap:8px}
.vm-playlist-choice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--vm-line);border-radius:12px;background:rgba(255,255,255,.03)}
.vm-playlist-create{display:flex;gap:8px;margin-top:14px}
.vm-playlist-create input{flex:1;min-width:0;background:#0e081a;border:1px solid var(--vm-line);color:#fff;border-radius:10px;padding:11px 12px}
.vm-playlist-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.vm-playlist-card{display:block;text-decoration:none;padding:16px;border:1px solid var(--vm-line);border-radius:16px;background:linear-gradient(135deg,rgba(114,20,196,.25),rgba(255,197,45,.05))}
.vm-playlist-card strong{display:block;font-size:1.04rem;margin-bottom:5px}
.vm-playlist-card span{color:var(--vm-muted);font-size:.8rem}
.vm-playlist-empty{padding:22px;border:1px dashed var(--vm-line);border-radius:16px;color:var(--vm-muted);text-align:center}
@media(max-width:760px){.vm-playlist-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.vm-playlist-grid{grid-template-columns:1fr}.vm-playlist-create{flex-direction:column}}

/* =========================================================
   VakeoMusic 4.1.14 Pro — UI de producción
   Referencia aprobada: controles compactos, álbum completo,
   compartir grande, footer web y reproductor global responsive.
   ========================================================= */

/* Menú e iconos */
.vm-menu-icon{display:inline-flex;min-width:18px;justify-content:center}

/* Compartir: grande y cómodo para táctil */
.vm-share-label{margin-top:15px;color:var(--vm-muted);font-size:.78rem;font-weight:800}
.vm-share-large{gap:10px;margin-top:8px}
.vm-share-large a{width:48px!important;height:48px!important;font-size:.82rem!important;font-weight:900;border:1px solid rgba(160,82,255,.5)!important;background:rgba(255,255,255,.035);transition:.18s ease}
.vm-share-large a:hover{transform:translateY(-2px);border-color:var(--vm-gold)!important;color:var(--vm-gold);box-shadow:0 8px 24px rgba(0,0,0,.25)}

/* Botones de like y playlist */
.vm-like-btn,.vm-playlist-btn{min-height:44px;border:1px solid var(--vm-line);border-radius:999px;background:rgba(255,255,255,.035);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;font-weight:850;cursor:pointer;text-decoration:none}
.vm-like-btn span{font-size:1.25rem;line-height:1}.vm-like-btn.liked{border-color:rgba(255,62,140,.65);color:#ff5b9e;background:rgba(255,62,140,.09)}
.vm-playlist-btn:hover,.vm-like-btn:hover{border-color:rgba(255,197,45,.65)}

/* Hero de álbum */
.vm-album-card-hero{grid-template-columns:220px minmax(0,1fr);padding:26px;gap:30px;align-items:center}
.vm-album-cover{width:220px;height:220px;border-color:var(--vm-purple2);box-shadow:0 0 34px rgba(139,35,255,.3)}
.vm-album-meta{margin-bottom:14px}
.vm-album-stats{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin:14px 0}
.vm-album-stat{min-height:82px;border:1px solid var(--vm-line);border-radius:12px;background:rgba(255,255,255,.035);padding:12px 14px;display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}
.vm-album-stat .vm-stat-icon{grid-row:1/3;font-size:1.25rem;color:var(--vm-purple2)}
.vm-album-stat strong{font-size:1.05rem}.vm-album-stat small{color:var(--vm-muted);font-size:.7rem}
.vm-album-actions{margin:14px 0 8px}.vm-btn.purple{background:linear-gradient(180deg,#9f3dff,#6f1dd2);border-color:transparent;color:#fff}
.vm-album-download{font-weight:950}

/* Listas: ya no usamos reproductores HTML grandes dentro de cada fila */
.vm-tracklist{gap:9px}.vm-track{grid-template-columns:36px 56px minmax(0,1fr) auto;padding:11px 13px;min-height:76px;border-radius:15px}
.vm-track-cover{width:52px;height:52px}.vm-track-cover-empty{display:grid;place-items:center;background:rgba(255,255,255,.04);color:var(--vm-gold);font-size:1.15rem}
.vm-track-copy{min-width:0}.vm-track-title{font-size:.94rem;display:block;white-space:normal}.vm-track-sub{font-size:.72rem;margin-top:4px;line-height:1.35}
.vm-track audio{display:none!important}.vm-track-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap}
.vm-track-actions .vm-circle{width:43px;height:43px;min-width:43px;border-color:rgba(255,197,45,.55);color:var(--vm-gold);font-size:.95rem;background:rgba(255,255,255,.025)}
.vm-track-actions .vm-playlist-btn{width:43px;height:43px;min-width:43px;padding:0;font-size:0;overflow:hidden}
.vm-track-actions .vm-playlist-btn:before{content:'+';font-size:1.35rem;line-height:1}
.vm-track-actions .vm-playlist-btn:hover:after{content:''}

/* Canción individual: botón de play en vez del control audio grande */
.vm-song-actions{margin-top:15px}.vm-song-player-box{display:none!important}

/* Footer grande de portal web: no contiene badges de aplicaciones */
.vm-footer-large{margin-top:38px;padding:42px 0 118px;background:linear-gradient(180deg,rgba(22,12,43,.72),rgba(8,5,16,.98));border-top:2px solid rgba(154,51,255,.55)}
.vm-footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr 1fr;gap:30px;padding-bottom:30px}
.vm-footer-grid h3{margin:4px 0 15px;color:#b55cff;font-size:.9rem;text-transform:uppercase;letter-spacing:.04em}
.vm-footer-brand p,.vm-footer-note{color:var(--vm-muted);font-size:.8rem;line-height:1.75;max-width:370px}
.vm-footer-logo{font-size:1.2rem;margin-bottom:14px}.vm-footer-logo .vm-brand-mark{width:42px;height:42px;font-size:1.6rem}
.vm-footer-links{display:grid;gap:10px}.vm-footer-links a{text-decoration:none;color:#d8d3e2;font-size:.8rem}.vm-footer-links a:hover{color:var(--vm-gold)}
.vm-footer-social{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.vm-footer-social a{width:38px;height:38px;border:1px solid var(--vm-line);border-radius:50%;display:grid;place-items:center;text-decoration:none;font-weight:900}
.vm-footer-bottom{border-top:1px solid rgba(255,255,255,.06);padding-top:20px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:#827b91;font-size:.7rem}

/* Reproductor global: visible también en móvil, pero compacto */
body{padding-bottom:76px}.vm-player-logo{width:44px!important;height:44px!important;font-size:1.35rem!important}
.vm-playerbar{display:block!important}.vm-player-inner{min-height:58px}

/* Modal playlist */
#vm-playlist-close{float:right}

@media(max-width:980px){
 .vm-album-stats{grid-template-columns:repeat(2,minmax(120px,1fr))}
 .vm-footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
 body{padding-bottom:74px}
 .vm-album-card-hero{grid-template-columns:130px minmax(0,1fr);gap:16px;padding:18px}.vm-album-cover{width:130px;height:130px}
 .vm-single-title{font-size:clamp(1.65rem,7vw,2.5rem)}
 .vm-track{grid-template-columns:30px 46px minmax(0,1fr) auto;gap:8px;padding:10px}.vm-track-cover{width:44px;height:44px}
 .vm-track-actions{gap:6px}.vm-track-actions .vm-circle,.vm-track-actions .vm-playlist-btn{width:40px;height:40px;min-width:40px}
 .vm-playerbar{padding:7px 0}.vm-player-inner{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important}.vm-now{min-width:0}.vm-now .vm-brand-mark{display:none}.vm-now strong,.vm-now span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46vw}.vm-player-main{flex-direction:row;gap:8px}.vm-player-controls{gap:7px}.vm-player-main .vm-progress{position:absolute;left:0;right:0;bottom:0;width:100%}.vm-player-extra{display:none!important}.vm-play-main{width:42px;height:42px}.vm-player-controls .vm-circle{width:38px;height:38px}
 .vm-footer-large{padding-bottom:94px}
}
@media(max-width:600px){
 .vm-album-card-hero{grid-template-columns:1fr;text-align:center}.vm-album-cover{margin:auto}.vm-album-meta,.vm-album-actions,.vm-share-large,.vm-tags{justify-content:center}
 .vm-album-stats{grid-template-columns:1fr 1fr}.vm-album-stat{text-align:left}
 .vm-track{grid-template-columns:28px 44px minmax(0,1fr);align-items:center}.vm-track-actions{grid-column:2/4;justify-content:flex-start;padding-left:0}.vm-track-actions .vm-playlist-btn{font-size:.72rem;width:auto;min-width:44px;padding:0 11px}.vm-track-actions .vm-playlist-btn:before{content:''}.vm-track-actions .vm-playlist-btn{overflow:visible}
 .vm-footer-grid{grid-template-columns:1fr}.vm-footer-brand p{max-width:none}.vm-footer-bottom{display:grid}
 .vm-share-large a{width:50px!important;height:50px!important}
}
@media(max-width:390px){
 .vm-album-stats{grid-template-columns:1fr}.vm-album-stat{min-height:70px}
 .vm-track-actions{gap:5px}.vm-track-actions .vm-playlist-btn{padding:0 8px;font-size:.68rem}
}


/* =========================================================
   VakeoMusic 4.1.15 - compartir + footer limpio
   ========================================================= */
.vm-share-large{gap:12px!important;margin-top:10px}
.vm-share-large a{width:52px!important;height:52px!important;padding:0!important;border-radius:50%!important;display:grid!important;place-items:center!important;color:#fff!important;box-shadow:0 8px 22px rgba(0,0,0,.22);transition:transform .18s ease,filter .18s ease}
.vm-share-large a svg{width:23px;height:23px;display:block;fill:currentColor}
.vm-share-large a:hover{transform:translateY(-2px) scale(1.03);filter:brightness(1.08)}
.vm-share-whatsapp{background:#25D366!important;border-color:#25D366!important}
.vm-share-facebook{background:#1877F2!important;border-color:#1877F2!important}
.vm-share-x{background:#050505!important;border-color:#383838!important}
.vm-share-telegram{background:#229ED9!important;border-color:#229ED9!important}
.vm-footer-grid.vm-footer-simple{grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);max-width:980px;margin:0 auto;gap:46px}
.vm-footer-simple .vm-footer-brand p{max-width:520px}
@media(max-width:760px){.vm-footer-grid.vm-footer-simple{grid-template-columns:1fr;gap:30px}.vm-share-large a{width:54px!important;height:54px!important}.vm-share-large a svg{width:24px;height:24px}}

/* VakeoMusic 4.1.16 - footer compacto en dos columnas */
.vm-footer-grid.vm-footer-simple{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);max-width:1040px;gap:42px;padding-bottom:20px}
.vm-footer-navgroups{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.vm-footer-large{padding-top:30px}
.vm-footer-bottom{padding-top:16px}
@media(max-width:760px){
 .vm-footer-grid.vm-footer-simple{grid-template-columns:1fr;gap:22px}
 .vm-footer-navgroups{grid-template-columns:1fr 1fr;gap:18px}
 .vm-footer-grid h3{margin-bottom:10px}
 .vm-footer-links{gap:8px}
 .vm-footer-large{padding-top:26px}
}
@media(max-width:390px){.vm-footer-navgroups{gap:12px}.vm-footer-links a{font-size:.75rem}}

/* =========================================================
   VakeoMusic 4.1.17 Pro - footer compacto + contadores visibles
   ========================================================= */
/* Footer: marca a la izquierda y dos columnas reales de enlaces a la derecha */
.vm-footer-large{padding-top:24px;padding-bottom:96px}
.vm-footer-grid.vm-footer-simple{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(430px,1.1fr);align-items:start;gap:34px;max-width:1040px;padding-bottom:16px}
.vm-footer-navgroups{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:42px;align-items:start}
.vm-footer-grid h3{margin:2px 0 9px}
.vm-footer-links{gap:7px}
.vm-footer-brand p{margin:6px 0 0;line-height:1.55}
.vm-footer-logo{margin-bottom:8px}
.vm-footer-social{margin-top:10px}
.vm-footer-bottom{padding-top:14px}

/* Contadores de canción: número más grande y en negrita */
.vm-stats .vm-stat{font-size:.84rem}
.vm-stats .vm-stat .vm-play-count,
.vm-stats .vm-stat .vm-like-count{font-size:1rem;font-weight:900;color:#fff}
/* El contador de descargas no tenía span propio: resalta todo el chip sin alterar su función */
.vm-stats .vm-stat{font-weight:700}

/* Contadores de álbum */
.vm-album-stat strong{font-size:1.18rem;font-weight:900;color:#fff;line-height:1}
.vm-album-stat small{font-weight:600}

@media(max-width:760px){
 .vm-footer-large{padding-top:20px;padding-bottom:28px}
 .vm-footer-grid.vm-footer-simple{grid-template-columns:1fr;gap:18px;padding-bottom:14px}
 .vm-footer-navgroups{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:22px}
 .vm-footer-links{gap:6px}
 .vm-footer-bottom{padding-top:12px;gap:7px}
}
@media(max-width:390px){
 .vm-footer-navgroups{column-gap:14px}
 .vm-footer-links a{font-size:.73rem}
}


/* =========================================================
   VakeoMusic 4.1.21 Pro - Inicio uniforme de 3 columnas
   12 últimas · 12 más escuchadas · 15 más descargadas
   ========================================================= */
@media (min-width:981px){
  .vm-dashboard{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:12px!important;
    align-items:stretch!important;
  }
  .vm-dashboard>.vm-panel{
    width:100%!important;
    min-width:0!important;
    height:100%!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  .vm-dashboard .vm-list{
    align-content:start!important;
  }
  .vm-dashboard .vm-list-row{
    min-width:0!important;
  }
  .vm-dashboard .vm-list-title{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
}


/* =========================================================
   VakeoMusic 4.1.24 - relaciones, tags y carruseles
   ========================================================= */
/* El reproductor flotante nace oculto. Solo JS lo abre tras reproducir contenido,
   y nunca se superpone al inicio. */
body{padding-bottom:0!important}
.vm-playerbar{display:none!important}
.vm-playerbar.is-active{display:block!important}
body.vm-player-active{padding-bottom:76px!important}
body:not(.vm-player-active) .vm-footer-large{padding-bottom:38px!important}
@media(max-width:760px){
 body{padding-bottom:0!important}
 body.vm-player-active{padding-bottom:74px!important}
 body:not(.vm-player-active) .vm-footer-large{padding-bottom:34px!important}
}

/* Carruseles controlados: el contenido se desplaza dentro de su sección,
   nunca ensancha ni mueve la página completa. */
.vm-scroll-shell{position:relative;width:100%;min-width:0;overflow:hidden}
.vm-horizontal-scroll{max-width:100%;overscroll-behavior-x:contain;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;cursor:grab;user-select:none}
.vm-horizontal-scroll.is-dragging{cursor:grabbing;scroll-snap-type:none!important}
.vm-horizontal-scroll img{-webkit-user-drag:none;user-drag:none}
.vm-scroll-arrow{position:absolute;top:50%;z-index:8;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,197,45,.72);background:rgba(13,7,25,.9);color:var(--vm-gold);font-size:1.7rem;line-height:1;display:grid;place-items:center;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease,background .18s ease;box-shadow:0 8px 22px rgba(0,0,0,.34)}
.vm-scroll-prev{left:7px}.vm-scroll-next{right:7px}
.vm-scroll-shell:hover .vm-scroll-arrow,.vm-scroll-shell:focus-within .vm-scroll-arrow{opacity:1;pointer-events:auto}
.vm-scroll-arrow:hover{background:#24103c;transform:translateY(-50%) scale(1.06)}
@media(max-width:760px){.vm-scroll-arrow{opacity:.82;pointer-events:auto;width:36px;height:36px}.vm-scroll-prev{left:3px}.vm-scroll-next{right:3px}}

/* Cuenta frontal */
.vm-account-page{padding:36px 0 56px}.vm-account-card{width:min(620px,100%);margin:auto;background:linear-gradient(180deg,rgba(28,15,51,.97),rgba(14,9,29,.98));border:1px solid var(--vm-line);border-radius:24px;padding:clamp(20px,4vw,34px)}
.vm-account-card h1{margin:.25rem 0 1rem}.vm-account-card p{color:var(--vm-muted)}
.vm-account-form{display:grid;gap:14px}.vm-account-form label{display:grid;gap:6px;font-weight:800;font-size:.82rem}.vm-account-form input[type=text],.vm-account-form input[type=email],.vm-account-form input[type=password]{width:100%;border:1px solid var(--vm-line);border-radius:12px;background:#0d0818;color:#fff;padding:12px 13px;font:inherit;outline:0}.vm-account-form input:focus{border-color:var(--vm-gold)}
.vm-account-form .vm-check{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--vm-muted)}.vm-account-sep{display:flex;align-items:center;gap:12px;color:var(--vm-muted);font-size:.78rem;margin:22px 0}.vm-account-sep:before,.vm-account-sep:after{content:'';height:1px;background:var(--vm-line);flex:1}.vm-account-error{padding:10px 12px;border-radius:10px;background:rgba(215,48,70,.12);border:1px solid rgba(255,83,105,.35);margin-bottom:14px;color:#ffd4da}


/* =========================================================
   VakeoMusic 4.1.24 - navegación explícita de carruseles
   ========================================================= */
.vm-carousel-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.vm-carousel-nav{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,197,45,.72);background:rgba(13,7,25,.92);color:var(--vm-gold);display:grid;place-items:center;font-size:1.35rem;line-height:1;cursor:pointer;box-shadow:0 5px 16px rgba(0,0,0,.22)}
.vm-carousel-nav:hover{background:#24103c}
.vm-carousel-actions .vm-see{padding:7px 2px 7px 6px;white-space:nowrap}
#vm-home-albums{scroll-padding-inline:4px}
.vm-home-albums-shell>.vm-scroll-arrow{display:none!important}
@media(max-width:760px){
 .vm-section-head{align-items:center}
 .vm-carousel-actions{gap:6px}
 .vm-carousel-nav{width:32px;height:32px;font-size:1.2rem}
 .vm-carousel-actions .vm-see{font-size:.76rem}
 /* Las flechas de cabecera son el control principal en móvil y nunca quedan fuera de pantalla. */
 .vm-home-albums-shell>.vm-scroll-arrow{display:none!important}
}


/* =========================================================
   VakeoMusic 4.1.24 - carrusel de álbumes estable
   ========================================================= */
.vm-home-albums-shell{position:relative;overflow:hidden!important}
.vm-home-albums-shell .vm-horizontal-scroll{overflow-x:auto!important;overflow-y:hidden!important;scroll-behavior:smooth;scroll-snap-type:x proximity;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}
.vm-home-albums-shell .vm-album-card{scroll-snap-align:start;flex:0 0 auto;position:relative;z-index:1}
.vm-home-albums-shell>.vm-scroll-arrow{display:grid!important;z-index:8}
.vm-scroll-arrow:disabled,.vm-scroll-arrow.is-disabled{opacity:0!important;pointer-events:none!important}
.vm-home-albums-shell .vm-scroll-prev{left:8px}.vm-home-albums-shell .vm-scroll-next{right:8px}
.vm-home-albums-shell .vm-album-card a,.vm-home-albums-shell a.vm-album-card{pointer-events:auto}
@media (hover:hover) and (min-width:761px){
 .vm-home-albums-shell>.vm-scroll-arrow{opacity:0;pointer-events:none}
 .vm-home-albums-shell:hover>.vm-scroll-arrow:not(:disabled),.vm-home-albums-shell:focus-within>.vm-scroll-arrow:not(:disabled){opacity:1;pointer-events:auto}
}
@media(max-width:760px){
 .vm-home-albums-shell>.vm-scroll-arrow:not(:disabled){opacity:.94!important;pointer-events:auto!important;width:38px;height:38px}
 .vm-home-albums-shell .vm-scroll-prev{left:5px}.vm-home-albums-shell .vm-scroll-next{right:5px}
 .vm-section-head .vm-see{display:inline-flex!important;align-items:center;white-space:nowrap}
}

/* 4.1.30 - páginas estándar (DMC y entradas normales) */
.vm-standard-page{padding-top:22px}
.vm-page-content{max-width:980px;margin:0 auto}
.vm-standard-header{margin-bottom:18px}
.vm-standard-title{margin:0;font-size:clamp(2rem,5vw,3.4rem);line-height:1.05}
.vm-standard-featured{margin:18px 0}.vm-standard-featured img{display:block;max-width:100%;height:auto;border-radius:18px}
.vm-entry-content{font-size:1rem;overflow-wrap:anywhere}.vm-entry-content>*:first-child{margin-top:0}.vm-entry-content>*:last-child{margin-bottom:0}
.vm-entry-content img{max-width:100%;height:auto}.vm-entry-content a{text-decoration:underline;text-decoration-color:rgba(255,197,45,.65);text-underline-offset:3px}
.vm-page-links{margin-top:18px}


/* =========================================================
   VakeoMusic 5.3 — archivos de género consistentes
   ========================================================= */
.vm-genre-entry{display:grid;grid-template-columns:56px minmax(0,1fr);gap:11px;align-items:center;padding:8px;background:linear-gradient(180deg,rgba(26,17,48,.95),rgba(15,10,30,.95));border:1px solid rgba(143,41,236,.2);border-radius:14px;min-width:0;overflow:hidden}
.vm-genre-entry-cover{width:56px!important;height:56px!important;max-width:56px!important;max-height:56px!important;aspect-ratio:1/1!important;object-fit:cover!important;border-radius:50%!important;border:1px solid var(--vm-gold);display:block}
.vm-genre-entry-copy{min-width:0;display:flex;flex-direction:column;gap:3px}
.vm-genre-entry-copy a{font-size:.9rem;font-weight:850;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vm-genre-entry-copy span{font-size:.72rem;color:var(--vm-muted)}
/* Cinturón de seguridad para contenido legado dentro del tracklist: ninguna imagen genérica puede ocupar el ancho del archivo. */
.vm-tracklist>.vm-grid-card{display:grid!important;grid-template-columns:56px minmax(0,1fr)!important;gap:10px!important;align-items:center!important}
.vm-tracklist>.vm-grid-card img{width:56px!important;height:56px!important;max-width:56px!important;max-height:56px!important;aspect-ratio:1/1!important;object-fit:cover!important;border-radius:50%!important}
@media(max-width:520px){.vm-genre-entry{grid-template-columns:48px minmax(0,1fr)}.vm-genre-entry-cover{width:48px!important;height:48px!important;max-width:48px!important;max-height:48px!important}}


/* =========================================================
   VakeoMusic 5.4 - Géneros consistentes + SEO interno
   ========================================================= */
.vm-breadcrumbs{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 14px;color:var(--vm-muted);font-size:.78rem}
.vm-breadcrumbs a{color:var(--vm-muted);text-decoration:none}
.vm-breadcrumbs a:hover{color:var(--vm-gold)}
.vm-genre-heading{align-items:flex-end}
.vm-genre-summary{margin:5px 0 0;color:var(--vm-muted);font-size:.84rem}
.vm-genre-description{margin-top:12px}
.vm-meta-link{color:inherit;text-decoration:none;border-bottom:1px dotted rgba(255,197,45,.45)}
.vm-meta-link:hover{color:var(--vm-gold)}
.vm-genre-tag{display:inline-flex!important;align-items:center;gap:4px}
.vm-pagination{display:flex;gap:7px;flex-wrap:wrap;justify-content:center;margin-top:18px}
.vm-pagination .page-numbers{display:inline-flex;min-width:38px;height:38px;padding:0 11px;align-items:center;justify-content:center;border:1px solid var(--vm-line);border-radius:10px;text-decoration:none;background:rgba(20,13,39,.9)}
.vm-pagination .page-numbers.current{border-color:var(--vm-gold);color:var(--vm-gold)}
.vm-genre-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.vm-genre-card{display:flex;flex-direction:column;gap:4px;min-height:82px;justify-content:center;background:linear-gradient(180deg,rgba(26,17,48,.96),rgba(15,10,30,.96));border:1px solid var(--vm-line);border-radius:15px;padding:14px;text-decoration:none}
.vm-genre-card strong{font-size:1rem}
.vm-genre-card span{font-size:.76rem;color:var(--vm-muted)}
.vm-genre-card:hover{border-color:rgba(255,197,45,.65)}
/* Protección adicional: ninguna imagen del archivo de género puede expandirse fuera de su tarjeta. */
.tax-genero .vm-track img,.tax-generos .vm-track img,.tax-genre .vm-track img,.tax-music_genre .vm-track img{max-width:56px!important;max-height:56px!important;object-fit:cover!important}
@media(max-width:900px){.vm-genre-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.vm-genre-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vm-genre-card{min-height:74px;padding:12px}}

/* 5.6 SEO context links */
.vm-context-links{margin-top:12px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.vm-context-links>a{overflow-wrap:anywhere}


/* 5.6.3 — Breadcrumbs visibles (sin Schema; Rank Math controla el SEO técnico) */
.vm-breadcrumbs-public{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin:18px 0 12px;
  font-size:14px;
  line-height:1.5;
  color:var(--vm-muted,#8c8794);
}
.vm-breadcrumbs-public a{
  color:inherit;
  text-decoration:none;
  transition:color .18s ease;
}
.vm-breadcrumbs-public a:hover,
.vm-breadcrumbs-public a:focus{
  color:var(--vm-gold,#f6c344);
  text-decoration:underline;
  text-underline-offset:3px;
}
.vm-breadcrumb-sep{
  opacity:.7;
}
.vm-breadcrumb-current{
  color:var(--vm-text,#f6f3fb);
  font-weight:600;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media (max-width:640px){
  .vm-breadcrumbs-public{
    margin:14px 0 10px;
    padding:0 2px;
    font-size:13px;
    gap:6px;
  }
  .vm-breadcrumb-current{
    white-space:normal;
  }
}

/* 5.7: portada compacta y reproductor pequeño. */
.vm57-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:24px;margin-top:22px}
.vm57-sidebar{display:grid;gap:24px;align-content:start}.vm57-rank-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #352048}.vm57-rank-row small{display:block;color:var(--vm-muted);margin-top:4px}.vm57-rank-row>span:last-child{font-size:.75rem;color:var(--vm-gold)}.vm57-artist-image{border-radius:50%;vertical-align:middle;margin-right:8px;object-fit:cover}.vm57-albums{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.vm57-albums .vm-album-card{width:auto;min-width:0}.vm57-albums img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}.vm57-inline-player{margin:18px 0}.vm57-inline-player audio{width:100%;max-width:380px;height:40px}.single .vm-single-cover:not(.vm-album-cover){width:100px;height:100px;border-radius:50%}.vm57-home .vm-tracklist{margin-bottom:20px}
@media(max-width:960px){.vm57-layout{grid-template-columns:1fr}.vm57-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.vm57-albums{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.vm57-sidebar{grid-template-columns:1fr}.vm57-albums{grid-template-columns:repeat(2,minmax(0,1fr))}.vm57-home .vm-track{grid-template-columns:24px 42px minmax(0,1fr)}.vm57-home .vm-track-actions{grid-column:3;justify-content:flex-start}.vm57-home .vm-track-cover{width:42px;height:42px}}
