button{font-family:inherit}

.vyl-hov-1:hover{border-color:#3FA0DA !important}
.vyl-hov-2:hover{background:#3FA0DA !important;color:#fff !important}
.vyl-hov-3:hover{box-shadow:0 4px 16px rgba(23,26,28,0.08) !important}
.vyl-card-btn:hover{opacity:0.88}
@keyframes vylBlob1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(30px,40px) scale(1.15)}}
@keyframes vylBlob2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-30px,30px) scale(1.12)}}
.vyl-cta-glow .vyl-cta-blob{transition:opacity .4s ease}
.vyl-cta-glow:hover .vyl-cta-blob{opacity:0.32 !important}

/* género tile */
.gn-tile{position:relative;overflow:hidden;border-radius:14px;aspect-ratio:1/1;display:flex;align-items:flex-end;background:radial-gradient(120% 140% at 20% 0%,#1E3A4E 0%,#0E1214 65%),#0E1214;transition:transform .25s ease}
.gn-tile:hover{transform:translateY(-3px)}
.gn-tile-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.gn-tile:hover .gn-tile-img{transform:scale(1.05)}
.gn-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,8,10,0.9) 0%,rgba(6,8,10,0.15) 55%,rgba(6,8,10,0) 100%)}
.gn-tile-name{position:relative;z-index:1;padding:16px;font-weight:800;font-size:15.5px;letter-spacing:-0.01em;color:#fff}

/* plan card */
.mp-plan{background:#fff;border:1px solid #E7E9EB;border-radius:14px;padding:28px 26px;display:flex;flex-direction:column;gap:16px}
.mp-plan.mp-featured{border:2px solid #171A1C;position:relative}
.mp-plan-badge{position:absolute;top:-13px;left:26px;background:#171A1C;color:#fff;font-size:11px;font-weight:800;letter-spacing:0.03em;text-transform:uppercase;padding:5px 12px;border-radius:99px}
.mp-check{display:flex;align-items:flex-start;gap:9px;font-size:14px;color:#3B4247;line-height:1.5}
.mp-check svg{flex-shrink:0;margin-top:2px;color:#3FA0DA}

/* tracklist player */
.mo-tracklist{border:1px solid #E7E9EB;border-radius:14px;overflow:hidden}
.mo-track{display:flex;align-items:center;gap:16px;padding:20px 22px}
.mo-track + .mo-track{border-top:1px solid #E7E9EB}
.mo-track-index{flex-shrink:0;font-family:'IBM Plex Mono',monospace;font-size:12px;color:#8A9095;width:18px}
.mo-play{flex-shrink:0;width:38px;height:38px;border-radius:50%;background:#fff;border:1.5px solid #171A1C;color:#171A1C;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,color .15s ease}
.mo-play:hover{background:#171A1C;color:#fff}
.mo-play .mo-play-icon{fill:currentColor}
.mo-track-info{flex-shrink:0;width:172px}
.mo-track-title{font-weight:700;font-size:14.5px;color:#171A1C}
.mo-track-sub{margin-top:2px;font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:0.03em;text-transform:uppercase;color:#8A9095}
.mo-wave{position:relative;flex:1;height:30px;cursor:pointer}
.mo-wave-row{position:absolute;inset:0;display:flex;align-items:center;gap:2px}
.mo-wave-row span{flex:1;min-width:2px;border-radius:1px;background:#DDE1E4}
.mo-wave-fill{clip-path:inset(0 100% 0 0)}
.mo-wave-fill span{background:#171A1C}
.mo-time{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:#8A9095;flex-shrink:0;min-width:34px;text-align:right}
@media (max-width:640px){ .mo-track-info{width:auto} .mo-track{flex-wrap:wrap} .mo-wave{width:100%;order:5;flex-basis:100%} }

@media (max-width: 860px) {
  .lam-nav, .lam-header-desktop-actions { display:none !important; }
  .lam-hamburger { display:flex !important; }
  header .lam-cta-cotizar { padding:9px 14px !important; font-size:13px !important; }
}
@media (max-width: 780px) {
  .gn-grid { grid-template-columns:1fr 1fr !important; }
  .mp-grid { grid-template-columns:1fr !important; }
  .mo-intro-grid { grid-template-columns:1fr !important; }
  .lam-footer-grid { grid-template-columns:1fr !important; gap:32px !important; }
  .lam-footer-grid > div:first-child { max-width:none !important; }
}
@media (max-width: 560px) {
  .gn-grid { grid-template-columns:1fr !important; }
  .lam-copyright-row { grid-template-columns:1fr !important; justify-items:center !important; row-gap:14px !important; text-align:center !important; padding-bottom:20px !important; }
  .lam-copyright-row > span:last-child { justify-content:center !important; }
}

  