:root{--ml-blue:#12345b;--ml-blue-dark:#0b2645;--ml-gold:#d8a52a;--ml-bg:#f5f6f8;--ml-text:#17202a;--ml-muted:#687586;--ml-border:#dfe4ea}.ml-library{max-width:1240px;margin:auto;padding:1.25rem;color:var(--ml-text)}.ml-library *{box-sizing:border-box}.ml-heading{text-align:center;padding:2rem 1rem}.ml-heading h1{color:var(--ml-blue);font-size:clamp(2rem,5vw,3.5rem);font-weight:800;margin:.2rem 0 .55rem}.ml-heading p{color:var(--ml-muted);font-size:1.05rem;line-height:1.8;margin:.2rem auto 1.25rem;max-width:760px}.ml-eyebrow{color:var(--ml-gold);font-weight:800;letter-spacing:.04em}.ml-button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:var(--ml-blue);border:1px solid var(--ml-blue);border-radius:999px;color:#fff!important;cursor:pointer;font-weight:700;line-height:1.2;padding:.72rem 1.1rem;text-decoration:none!important}.ml-button:hover{background:var(--ml-blue-dark)}.ml-button-secondary{background:#fff;color:var(--ml-blue)!important}.ml-button-secondary:hover{background:#eef3f8}.ml-button-danger{background:#fff;border-color:#b42318;color:#b42318!important}.ml-playlist-count{display:inline-grid;place-items:center;min-width:1.65rem;height:1.65rem;padding:0 .35rem;border-radius:999px;background:var(--ml-gold);color:#17202a;font-size:.8rem}.ml-search{display:flex;align-items:center;gap:.55rem;max-width:760px;margin:0 auto 2rem}.ml-search input,.ml-track-tools input{width:100%;padding:.82rem 1rem;border:1px solid #cbd3dc;border-radius:999px;background:#fff}.ml-search button{border:0;border-radius:999px;background:var(--ml-blue);color:#fff;padding:.82rem 1.15rem}.ml-search a{color:var(--ml-blue);font-weight:700}.ml-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:1.25rem}.ml-album{overflow:hidden;border:1px solid var(--ml-border);border-radius:16px;background:#fff;box-shadow:0 4px 14px #10203812;transition:transform .2s,box-shadow .2s}.ml-album:hover{transform:translateY(-4px);box-shadow:0 10px 26px #10203822}.ml-album a{color:inherit;text-decoration:none}.ml-album img{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:#e2e6eb}.ml-album-info{padding:1rem}.ml-album h2{font-size:1.08rem;margin:0 0 .35rem}.ml-album p,.ml-album span{margin:0;color:var(--ml-muted);font-size:.9rem}.ml-album-meta{display:flex;justify-content:space-between;gap:.5rem;margin-top:.65rem}.ml-pagination{display:flex;justify-content:center;margin:2rem 0}.ml-pagination ul{display:flex;gap:.3rem;list-style:none;padding:0}.ml-pagination a,.ml-pagination span{display:grid;place-items:center;min-width:2.3rem;height:2.3rem;border:1px solid var(--ml-border);border-radius:8px;text-decoration:none}.ml-breadcrumb{display:flex;gap:.55rem;align-items:center;color:var(--ml-muted);font-size:.92rem;margin:.4rem 0 1rem}.ml-breadcrumb a{color:var(--ml-blue);text-decoration:none}.ml-album-head{display:flex;gap:2rem;align-items:center;padding:1rem 0 2rem}.ml-album-head>img{width:min(320px,40vw);aspect-ratio:1;object-fit:cover;border-radius:18px;box-shadow:0 12px 30px #12345b33}.ml-album-head h1{color:var(--ml-blue);font-size:clamp(2rem,5vw,3.4rem);margin:.25rem 0}.ml-album-head p{color:var(--ml-muted);font-size:1.05rem}.ml-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.ml-description{padding:1.1rem 1.25rem;border-radius:14px;background:var(--ml-bg);line-height:1.8}.ml-track-tools{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:2rem 0 .5rem}.ml-track-tools h2{color:var(--ml-blue);margin:0}.ml-track-tools input{max-width:360px}.ml-tracks{margin:.5rem 0 7rem}.ml-track{display:grid;grid-template-columns:44px 34px minmax(0,1fr) 42px 42px;align-items:center;gap:.5rem;border-bottom:1px solid var(--ml-border);padding:.8rem .35rem}.ml-track:hover{background:#f8fafc}.ml-track button,.ml-track a{border:0;background:transparent;cursor:pointer;font-size:1.25rem;text-align:center;color:var(--ml-blue);text-decoration:none}.ml-track-main h3{font-size:1rem;margin:0}.ml-track-main p{display:flex;flex-wrap:wrap;gap:.2rem 1rem;font-size:.84rem;color:var(--ml-muted);margin:.25rem 0 0}.ml-track-no{color:var(--ml-muted);font-variant-numeric:tabular-nums}.ml-lyrics{grid-column:3/-1;font-size:.92rem}.ml-lyrics summary{color:var(--ml-blue);cursor:pointer;font-weight:700}.ml-lyrics div{margin-top:.5rem;padding:1rem;border-radius:8px;background:var(--ml-bg);line-height:1.9;white-space:normal}.ml-empty{text-align:center;margin:2rem 0;padding:3rem 1rem;border-radius:16px;background:var(--ml-bg);color:var(--ml-muted)}.ml-empty h2{color:var(--ml-blue)}.ml-player{position:fixed;z-index:10000;left:0;right:0;bottom:0;display:grid;align-items:center;gap:.5rem;color:#fff;box-shadow:0 -4px 18px #0004}.ml-player[hidden],.ml-toast[hidden]{display:none}.ml-now{display:flex;flex-direction:column;min-width:0}.ml-now>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ml-now span{color:#d4deea;font-size:.82rem}.ml-player button,.ml-player a{border:0;background:transparent;color:#fff;cursor:pointer;text-decoration:none;font-size:1.15rem}.ml-player input{width:100%}.ml-toast{position:fixed;z-index:10001;right:1rem;bottom:5.2rem;max-width:min(360px,calc(100vw - 2rem));padding:.85rem 1rem;border-radius:10px;background:#182230;color:#fff;box-shadow:0 8px 26px #0004}@media(max-width:700px){.ml-library{padding:.8rem}.ml-heading{padding:1.4rem .25rem}.ml-search{flex-wrap:wrap}.ml-search input{flex:1 0 100%}.ml-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.ml-album-info{padding:.8rem}.ml-album-head{align-items:center;gap:1rem}.ml-album-head>img{width:42vw;border-radius:12px}.ml-album-head h1{font-size:1.7rem}.ml-actions{align-items:stretch}.ml-actions .ml-button{flex:1 1 100%}.ml-track-tools{align-items:stretch;flex-direction:column}.ml-track-tools input{max-width:none}.ml-track{grid-template-columns:38px 26px minmax(0,1fr) 36px 36px;padding:.75rem 0}.ml-track-main p{display:block}.ml-track-main p span{display:block}.ml-lyrics{grid-column:1/-1}}@media(max-width:430px){.ml-grid{grid-template-columns:1fr 1fr}.ml-album-info h2{font-size:.95rem}.ml-album-info p,.ml-album-info span{font-size:.78rem}}

/* Match Maaveerar's site breadcrumb to the active page preset.  When that
   breadcrumb module is present, the component breadcrumb is only a duplicate. */
body.com_musiclibrary .mv-breadcrumb{
 background:var(--mv-page-bg,var(--ml-bg))!important;
 border-bottom-color:var(--ml-border)!important;
}
body.com_musiclibrary:has(.mv-breadcrumb) .ml-library .ml-breadcrumb{display:none}

.ml-playlist-help{
 max-width:720px;
 margin:.9rem 0 0;
 color:var(--ml-muted);
 font-size:.92rem;
 line-height:1.75;
}
.ml-heading .ml-playlist-help{margin:.9rem auto 0}

/* Theme bridge: these fallbacks work in every Joomla template. Maaveerar's
   active preset variables take precedence automatically when that template is used. */
:root{
  --ml-blue:var(--mv-primary,#12345b);
  --ml-blue-dark:var(--mv-secondary,#0b2645);
  --ml-gold:var(--mv-accent,#d8a52a);
  --ml-bg:var(--mv-page-bg,#f5f6f8);
  --ml-surface:var(--mv-surface,#fff);
  --ml-text:var(--mv-text,#17202a);
  --ml-muted:var(--mv-muted,#687586);
  --ml-border:#dfe4ea;
  --ml-border:color-mix(in srgb,var(--ml-blue) 18%,var(--ml-surface));
  --ml-soft:#f3f6fa;
  --ml-soft:color-mix(in srgb,var(--ml-blue) 7%,var(--ml-surface));
  --ml-soft-alt:#fff8ed;
  --ml-soft-alt:color-mix(in srgb,var(--ml-gold) 11%,var(--ml-surface));
}
.ml-library{font-family:var(--mv-body-font,inherit)}
.ml-library h1,.ml-library h2,.ml-library h3{font-family:var(--mv-heading-font,inherit)}
.ml-album,.ml-search input,.ml-track-tools input,.ml-button-secondary,.ml-button-danger{background:var(--ml-surface)}
.ml-button-secondary:hover,.ml-track:hover{background:var(--ml-soft)}
.ml-description,.ml-lyrics div,.ml-empty{background:var(--ml-soft)}
.ml-search input,.ml-track-tools input{border-color:var(--ml-border);color:var(--ml-text)}
.ml-album-head>img{box-shadow:0 12px 30px color-mix(in srgb,var(--ml-blue) 24%,transparent)}
.ml-now strong,#mlNowTitle{color:#f8fafc!important}
.ml-now span,#mlNowArtist{color:#dce5ef!important}
