
:root{
  --mnmd-bg:#08090b;
  --mnmd-panel:#111318;
  --mnmd-panel-2:#161920;
  --mnmd-border:rgba(255,255,255,.09);
  --mnmd-text:#f7f7f5;
  --mnmd-muted:#a7abb3;
  --mnmd-accent:#d6b36a;
  --mnmd-radius:22px;
  --mnmd-shadow:0 18px 60px rgba(0,0,0,.28);
}

.mnmd-wrap{
  position:relative;
  isolation:isolate;
  width:100%;
  max-width:1480px;
  margin:0 auto;
  color:var(--mnmd-text);
  font-family:inherit;
}

.mnmd-wrap *{box-sizing:border-box}
.mnmd-wrap a{color:inherit;text-decoration:none}
.mnmd-wrap button,.mnmd-wrap input,.mnmd-wrap select{font:inherit}

.mnmd-hero{
  position:relative;
  z-index:2;
  overflow:hidden;
  border:1px solid var(--mnmd-border);
  border-radius:28px;
  background:
    radial-gradient(circle at 15% 20%, rgba(214,179,106,.16), transparent 30%),
    radial-gradient(circle at 80% 30%, rgba(255,255,255,.06), transparent 32%),
    linear-gradient(135deg,#111318 0%,#090a0d 70%);
  box-shadow:var(--mnmd-shadow);
}

.mnmd-hero-inner{
  max-width:950px;
  margin:0 auto;
  padding:70px 30px 54px;
  text-align:center;
}

.mnmd-eyebrow,.mnmd-kicker{
  display:inline-block;
  color:var(--mnmd-accent);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.mnmd-hero h1{
  margin:10px 0 12px;
  font-size:clamp(2.35rem,6vw,5rem);
  line-height:.98;
  letter-spacing:-.045em;
}

.mnmd-hero p{
  max-width:720px;
  margin:0 auto 28px;
  color:var(--mnmd-muted);
  font-size:clamp(1rem,2vw,1.18rem);
}

.mnmd-search-shell{
  position:relative;
  z-index:5;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:10px;
  width:min(840px,100%);
  margin:0 auto;
  padding:8px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 40px rgba(0,0,0,.25);
}

.mnmd-search-icon{
  padding-left:12px;
  color:#444;
  font-size:1.45rem;
  pointer-events:none;
}

.mnmd-search-shell input{
  min-width:0;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:#101114!important;
  box-shadow:none!important;
  padding:13px 6px!important;
}

.mnmd-search-shell button{
  border:0;
  border-radius:12px;
  background:#101114;
  color:#fff;
  padding:13px 20px;
  font-weight:800;
  cursor:pointer;
}

.mnmd-quick-filters,.mnmd-fan-actions{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px;
}

.mnmd-quick-filters button,.mnmd-quick-filters a,.mnmd-fan-actions a{
  border:1px solid rgba(255,255,255,.13);
  border-radius:999px;
  background:rgba(255,255,255,.055);
  color:#e8e9ec;
  padding:8px 13px;
  font-size:.9rem;
  cursor:pointer;
}

.mnmd-quick-filters button.is-active{
  border-color:rgba(214,179,106,.65);
  background:rgba(214,179,106,.14);
  color:#fff;
}

.mnmd-fan-actions{margin-top:10px}
.mnmd-fan-actions a{color:var(--mnmd-accent);background:transparent}

.mnmd-section{
  position:relative;
  margin-top:58px;
}

.mnmd-section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:20px;
}

.mnmd-section-head h2,.mnmd-spotlight h2,.mnmd-nfc-panel h2,.mnmd-artist-cta h2{
  margin:4px 0 0;
  font-size:clamp(1.75rem,3vw,2.7rem);
  line-height:1.05;
  letter-spacing:-.03em;
}

.mnmd-section-head>a,.mnmd-link-button{
  border:0;
  background:transparent;
  color:var(--mnmd-accent);
  font-weight:800;
  cursor:pointer;
}

.mnmd-release-rail,.mnmd-artist-rail,.mnmd-avatar-rail{
  display:grid;
  grid-auto-flow:column;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:inline mandatory;
  scrollbar-width:thin;
  padding-bottom:8px;
}

.mnmd-release-rail{grid-auto-columns:minmax(220px,260px);gap:16px}
.mnmd-artist-rail{grid-auto-columns:minmax(250px,320px);gap:16px}
.mnmd-avatar-rail{grid-auto-columns:minmax(130px,160px);gap:18px}

.mnmd-release-card{
  min-width:0;
  overflow:hidden;
  border:1px solid var(--mnmd-border);
  border-radius:18px;
  background:var(--mnmd-panel);
  transition:transform .2s ease,border-color .2s ease;
}

.mnmd-release-card:hover{transform:translateY(-4px);border-color:rgba(214,179,106,.35)}
.mnmd-release-card-rail{scroll-snap-align:start}

.mnmd-cover-wrap{
  position:relative;
  aspect-ratio:1/1;
  overflow:hidden;
  background:#1a1c22;
}

.mnmd-cover-link,.mnmd-cover-link img{
  display:block;
  width:100%;
  height:100%;
}

.mnmd-cover-link img{object-fit:cover;transition:transform .25s ease}
.mnmd-release-card:hover .mnmd-cover-link img{transform:scale(1.025)}

.mnmd-cover-placeholder{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  font-size:3rem;
  font-weight:900;
  color:rgba(255,255,255,.22);
}

.mnmd-preview-btn{
  position:absolute;
  left:14px;
  bottom:14px;
  z-index:3;
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border:1px solid rgba(255,255,255,.38);
  border-radius:50%;
  background:rgba(8,9,11,.82);
  color:#fff;
  cursor:pointer;
  backdrop-filter:blur(8px);
}

.mnmd-preview-btn.is-playing{background:var(--mnmd-accent);color:#111;border-color:var(--mnmd-accent)}
/* Shape icons avoid iOS displaying the Unicode play glyph as an emoji. */
.mnmd-preview-btn:not(.mnmd-preview-text) .mnmd-play-icon{display:grid;place-items:center;width:18px;height:18px;font-size:0;line-height:0;pointer-events:none}
.mnmd-preview-btn:not(.mnmd-preview-text) .mnmd-play-icon::before{content:"";display:block;width:0;height:0;margin-left:3px;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:11px solid currentColor}
.mnmd-preview-btn.is-playing:not(.mnmd-preview-text) .mnmd-play-icon::before{width:12px;height:14px;margin-left:0;border:0;border-left:4px solid currentColor;border-right:4px solid currentColor;box-sizing:border-box}


.mnmd-genre-chip{
  position:absolute;
  right:12px;
  top:12px;
  max-width:60%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(8,9,11,.76);
  padding:6px 9px;
  font-size:.72rem;
  font-weight:800;
}

.mnmd-release-meta{padding:15px}
.mnmd-release-meta h3{margin:0 0 4px;font-size:1rem;line-height:1.25}
.mnmd-release-artist{display:inline-block;color:var(--mnmd-muted);font-size:.9rem}
.mnmd-release-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px}
.mnmd-release-price{font-weight:800;color:#fff}
.mnmd-view-release{color:var(--mnmd-accent);font-size:.86rem;font-weight:800}

.mnmd-artist-card{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  height:330px;
  min-height:330px;
  overflow:hidden!important;
  border:1px solid var(--mnmd-border);
  border-radius:20px;
  background:#15171c;
  scroll-snap-align:start;
}

.mnmd-artist-photo,.mnmd-artist-photo img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
}
.mnmd-artist-photo img{object-fit:cover}
.mnmd-artist-gradient{position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.88) 100%);pointer-events:none}
.mnmd-artist-info{position:absolute;left:18px;right:18px;bottom:18px;z-index:2;pointer-events:none}
.mnmd-artist-info span{display:block;color:var(--mnmd-accent);font-size:.75rem;font-weight:800;text-transform:uppercase}
.mnmd-artist-info strong{display:block;margin-top:4px;font-size:1.35rem}
.mnmd-artist-info em{display:block;margin-top:6px;color:#fff;font-size:.85rem;font-style:normal}

.mnmd-genre-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}

.mnmd-genre-card{
  position:relative;
  min-height:125px;
  overflow:hidden;
  border:1px solid var(--mnmd-border);
  border-radius:18px;
  background:
    radial-gradient(circle at 85% 20%,rgba(214,179,106,.18),transparent 35%),
    var(--mnmd-panel);
  color:#fff;
  padding:18px;
  text-align:left;
  cursor:pointer;
}

.mnmd-genre-name{display:block;font-size:1.1rem;font-weight:900}
.mnmd-genre-count{display:block;margin-top:7px;color:var(--mnmd-muted);font-size:.82rem}
.mnmd-genre-arrow{position:absolute;right:15px;bottom:12px;color:var(--mnmd-accent);font-size:1.25rem}

.mnmd-spotlight{
  display:grid;
  grid-template-columns:minmax(320px,.9fr) 1.1fr;
  gap:42px;
  align-items:center;
  margin-top:58px;
  padding:30px;
  border:1px solid rgba(214,179,106,.24);
  border-radius:26px;
  background:
    radial-gradient(circle at 80% 20%,rgba(214,179,106,.12),transparent 30%),
    linear-gradient(135deg,#14161b,#0c0d10);
}

.mnmd-spotlight-art img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:20px;box-shadow:var(--mnmd-shadow)}
.mnmd-spotlight-copy h2{font-size:clamp(2.2rem,5vw,4.8rem)}
.mnmd-spotlight-artist{display:inline-block;margin-top:10px;color:var(--mnmd-accent);font-weight:900}
.mnmd-spotlight-copy p{max-width:720px;color:var(--mnmd-muted);font-size:1.02rem;line-height:1.7}
.mnmd-spotlight-actions,.mnmd-nfc-actions,.mnmd-artist-cta-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}

.mnmd-btn{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-height:46px;
  border:1px solid transparent;
  border-radius:12px;
  padding:11px 17px;
  font-weight:900;
  cursor:pointer;
}

.mnmd-btn-primary{background:var(--mnmd-accent);color:#101114!important}
.mnmd-btn-secondary{border-color:rgba(255,255,255,.14);background:#1a1d23;color:#fff!important}
.mnmd-btn-ghost{border-color:transparent;background:transparent;color:var(--mnmd-accent)!important}
.mnmd-preview-text{position:static;width:auto;height:auto}

.mnmd-avatar-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  scroll-snap-align:start;
}
.mnmd-avatar-img{display:block;width:108px;height:108px;border-radius:50%;overflow:hidden;border:2px solid rgba(214,179,106,.38);background:#1a1c22}
.mnmd-avatar-img img{width:100%;height:100%;object-fit:cover}
.mnmd-avatar-card strong{margin-top:10px;font-size:.94rem}
.mnmd-avatar-card small{margin-top:3px;color:var(--mnmd-muted)}

.mnmd-explore-head{align-items:center}
.mnmd-sort{display:flex;align-items:center;gap:8px;color:var(--mnmd-muted);font-size:.86rem}
.mnmd-sort select{border:1px solid var(--mnmd-border);border-radius:10px;background:#15171c;color:#fff;padding:9px 12px}

.mnmd-results-note{min-height:20px;margin-bottom:12px;color:var(--mnmd-muted);font-size:.9rem}
.mnmd-release-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.mnmd-release-grid .mnmd-release-card.is-hidden{display:none!important}
.mnmd-load-more-wrap{text-align:center;margin-top:24px}

.mnmd-nfc-panel,.mnmd-artist-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  margin-top:58px;
  padding:30px;
  border:1px solid var(--mnmd-border);
  border-radius:24px;
  background:var(--mnmd-panel);
}

.mnmd-nfc-panel p,.mnmd-artist-cta p{max-width:760px;margin:10px 0 0;color:var(--mnmd-muted);line-height:1.6}
.mnmd-artist-cta{margin-bottom:10px;background:linear-gradient(135deg,#111318,#181b21)}

@media (max-width:1100px){
  .mnmd-genre-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mnmd-release-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width:800px){
  .mnmd-hero-inner{padding:50px 18px 40px}
  .mnmd-section{margin-top:44px}
  .mnmd-section-head{align-items:flex-start}
  .mnmd-release-rail{grid-auto-columns:minmax(210px,72vw)}
  .mnmd-artist-rail{grid-auto-columns:minmax(240px,78vw)}
  .mnmd-genre-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mnmd-spotlight{grid-template-columns:1fr;gap:24px;padding:20px}
  .mnmd-release-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mnmd-nfc-panel,.mnmd-artist-cta{align-items:flex-start;flex-direction:column;padding:22px}
}

@media (max-width:540px){
  .mnmd-search-shell{grid-template-columns:auto 1fr}
  .mnmd-search-shell button{grid-column:1/-1;width:100%}
  .mnmd-quick-filters{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}
  .mnmd-quick-filters>*{flex:0 0 auto}
  .mnmd-fan-actions{justify-content:flex-start}
  .mnmd-section-head{gap:12px}
  .mnmd-section-head>a,.mnmd-link-button{font-size:.85rem}
  .mnmd-genre-grid{grid-template-columns:1fr 1fr}
  .mnmd-release-grid{grid-template-columns:1fr 1fr;gap:10px}
  .mnmd-release-meta{padding:11px}
  .mnmd-release-meta h3{font-size:.9rem}
  .mnmd-release-artist{font-size:.8rem}
  .mnmd-release-price,.mnmd-view-release{font-size:.78rem}
  .mnmd-avatar-rail{grid-auto-columns:120px}
  .mnmd-avatar-img{width:90px;height:90px}
}


/* v0.2.1 artist-image fallback */
.mnmd-artist-photo-fallback,
.mnmd-avatar-fallback{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  background:linear-gradient(135deg,#242832,#111318);
  color:rgba(255,255,255,.72);
  font-weight:900;
}
.mnmd-artist-photo-fallback{font-size:4rem}
.mnmd-avatar-fallback{font-size:2rem}


/* =========================================================
   v0.2.2 — Full-width / clipping fix
   ========================================================= */
.mnmd-wrap{
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
  overflow-x:clip;
}

.mnmd-wrap > *{
  max-width:100%;
  box-sizing:border-box;
}

.mnmd-hero,
.mnmd-section,
.mnmd-spotlight,
.mnmd-nfc-panel,
.mnmd-artist-cta{
  width:100%;
  max-width:100%;
  margin-left:0;
  margin-right:0;
}

.mnmd-release-rail,
.mnmd-artist-rail,
.mnmd-avatar-rail{
  width:100%;
  max-width:100%;
  min-width:0;
}

.mnmd-release-grid,
.mnmd-genre-grid{
  width:100%;
  max-width:100%;
  min-width:0;
}

.mnmd-release-card,
.mnmd-artist-card,
.mnmd-genre-card{
  min-width:0;
  max-width:100%;
}

@media (min-width:901px){
  .mnmd-hero-inner{
    width:100%;
    max-width:1100px;
    padding-left:24px;
    padding-right:24px;
  }
}

@media (max-width:900px){
  .mnmd-wrap{
    overflow-x:hidden;
  }
}


/* =========================================================
   v0.2.3 — Desktop carousel width / right-edge clipping fix
   ========================================================= */

/* Keep every discovery section inside its Elementor column. */
.mnmd-section,
.mnmd-section-head,
.mnmd-release-rail,
.mnmd-artist-rail,
.mnmd-avatar-rail{
  min-width:0 !important;
  width:100% !important;
  max-width:100% !important;
}

/* Give headings a little breathing room from both viewport edges. */
.mnmd-section-head{
  padding-left:2px;
  padding-right:18px;
  box-sizing:border-box;
}

.mnmd-section-head > *{
  min-width:0;
}

.mnmd-section-head > a,
.mnmd-section-head .mnmd-link-button{
  flex:0 0 auto;
  white-space:nowrap;
  margin-right:0;
}

/*
 * Flex is more predictable here than grid-auto-flow inside Elementor.
 * The rail itself stays exactly 100% wide; only its children scroll.
 */
.mnmd-release-rail{
  display:flex !important;
  grid-auto-flow:unset !important;
  grid-auto-columns:unset !important;
  gap:16px;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  padding:0 20px 12px 0 !important;
  scroll-padding-right:20px;
  box-sizing:border-box !important;
  scrollbar-width:thin;
}

.mnmd-release-rail > .mnmd-release-card{
  flex:0 0 clamp(205px, 15.2vw, 248px) !important;
  width:clamp(205px, 15.2vw, 248px) !important;
  max-width:248px !important;
}

/* Artist rail gets the same safe containment treatment. */
.mnmd-artist-rail{
  display:flex !important;
  grid-auto-flow:unset !important;
  grid-auto-columns:unset !important;
  gap:16px;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  padding:0 20px 10px 0 !important;
  box-sizing:border-box !important;
}

.mnmd-artist-rail > .mnmd-artist-card{
  flex:0 0 clamp(230px, 19vw, 300px) !important;
  width:clamp(230px, 19vw, 300px) !important;
  max-width:300px !important;
}

/* Recently-active artists rail. */
.mnmd-avatar-rail{
  display:flex !important;
  grid-auto-flow:unset !important;
  grid-auto-columns:unset !important;
  gap:18px;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  padding:0 20px 10px 0 !important;
  box-sizing:border-box !important;
}

.mnmd-avatar-rail > .mnmd-avatar-card{
  flex:0 0 140px !important;
  width:140px !important;
}

/* Never allow a rail child to enlarge the shortcode/page itself. */
.mnmd-release-rail > *,
.mnmd-artist-rail > *,
.mnmd-avatar-rail > *{
  min-width:0;
}

/* Hide the heavy Windows horizontal scrollbar while retaining scrolling. */
.mnmd-release-rail,
.mnmd-artist-rail,
.mnmd-avatar-rail{
  scrollbar-width:none;
  -ms-overflow-style:none;
}

.mnmd-release-rail::-webkit-scrollbar,
.mnmd-artist-rail::-webkit-scrollbar,
.mnmd-avatar-rail::-webkit-scrollbar{
  display:none;
}

/* Desktop page-side inset so Elementor edge alignment stays balanced. */
@media (min-width:901px){
  .mnmd-wrap{
    padding-left:0 !important;
    padding-right:14px !important;
  }
}

/* Restore larger swipe cards on tablets/phones. */
@media (max-width:800px){
  .mnmd-wrap{
    padding-right:0 !important;
  }

  .mnmd-release-rail > .mnmd-release-card{
    flex-basis:min(72vw,260px) !important;
    width:min(72vw,260px) !important;
  }

  .mnmd-artist-rail > .mnmd-artist-card{
    flex-basis:min(78vw,300px) !important;
    width:min(78vw,300px) !important;
  }

  .mnmd-section-head{
    padding-right:4px;
  }
}


/* =========================================================
   v0.2.4 — Show exactly 5 Latest Release cards on desktop
   ========================================================= */
@media (min-width:1101px){
  .mnmd-release-rail{
    gap:16px !important;
    padding-right:0 !important;
  }

  .mnmd-release-rail > .mnmd-release-card{
    flex:0 0 calc((100% - 64px) / 5) !important;
    width:calc((100% - 64px) / 5) !important;
    max-width:calc((100% - 64px) / 5) !important;
  }
}

/* Keep tablet layouts comfortably sized rather than forcing five across. */
@media (min-width:801px) and (max-width:1100px){
  .mnmd-release-rail > .mnmd-release-card{
    flex:0 0 calc((100% - 32px) / 3) !important;
    width:calc((100% - 32px) / 3) !important;
    max-width:calc((100% - 32px) / 3) !important;
  }
}
