/* =========================================================
   SouthMelody - Clean Fresh Main CSS
   Cleaned version:
   - No circle thumbnail rules
   - No old force patches
   - No duplicate Song Page overrides
   - Keeps current album/song/category layout
   - Main covers remain normal
   ========================================================= */

:root{
  --brand-color:#3a3a3a;
  --brand-color-dark:#588abb;
  --font-size-base:16px;
  --font-size-small:13px;
  --font-size-h1:18px;
  --search-bg:#f4f4f4;
  --text-color:#fff;
  --primary-btn:#dc3545;
  --primary-color:#007bff;
  --primary-dark:#0056b3;
  --danger-color:#dc3545;
  --danger-dark:#c82333;
  --success-color:#28a745;
  --success-dark:#1e7e34;
  --light-bg:#f8f9fa;
  --white:#fff;
  --dark-text:#333;
  --muted-text:#6c757d;
  --border-color:#dee2e6;
  --container-width:1050px;
  --shadow-sm:0 .125rem .25rem #00000013;
  --shadow-md:0 .5rem 1rem #00000026;
  --border-radius:.375rem;
  --spacing-xs:.25rem;
  --spacing-sm:.5rem;
  --spacing-md:1rem;
  --spacing-lg:1.5rem;
  --spacing-xl:2rem;
  --transition:all .3s ease;
}

/* Basic helpers */
.d-flex{display:flex!important}
.d-block{display:block!important}
.justify-content-between{justify-content:space-between!important}
.justify-content-center{justify-content:center!important}
.align-items-center{align-items:center!important}
.text-center{text-align:center!important}
.text-truncate{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.text-uppercase{text-transform:uppercase!important}
.text-decoration-none{text-decoration:none!important}
.w-100{width:100%!important}
.mx-auto{margin-left:auto!important;margin-right:auto!important}
.text-primary{color:var(--primary-color)}
.text-muted{color:var(--muted-text)}
.bg-light{background-color:var(--light-bg)}
.shadow-sm{box-shadow:var(--shadow-sm)}
.rounded{border-radius:var(--border-radius)}
.border{border:1px solid var(--border-color)}
.border-bottom{border-bottom:1px solid var(--border-color)}
.ms-auto{margin-left:auto}
.me-2{margin-right:var(--spacing-sm)}
.mt-2{margin-top:var(--spacing-sm)}
.mt-3{margin-top:var(--spacing-md)}
.mb-3{margin-bottom:var(--spacing-md)}
.my-2{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm)}
.p-2{padding:var(--spacing-sm)}
.p-3{padding:var(--spacing-md)}

*{margin:0;padding:0;box-sizing:border-box}

body{
  font-family:Arial,sans-serif;
  font-size:var(--font-size-base);
  background:var(--search-bg);
}

.container{
  max-width:var(--container-width);
  margin:0 auto;
  padding:0 15px;
}

/* Header */
.top-logo{background:#030303;text-align:center;padding:10px 0}
.top-logo img{max-width:200px;height:auto}

.nav-items{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  width:100%;
  margin:0 auto;
  padding:0;
  list-style:none;
}

.nav-items a{
  flex:0 0 25%;
  max-width:25%;
  display:block;
  padding:10px;
  background:var(--brand-color);
  color:#ececec;
  border:1px solid #686868;
  border-bottom:0;
  border-right:0;
  text-decoration:none;
  text-align:center;
  line-height:25px;
  font-size:var(--font-size-base);
  font-weight:300;
}

.nav-items a:hover{background:var(--brand-color-dark)}

.nav-items a:nth-last-child(3):nth-child(4n+1),
.nav-items a:nth-last-child(2):nth-child(4n+2),
.nav-items a:nth-last-child(1):nth-child(4n+3){
  flex-basis:33.3333%;
  max-width:33.3333%;
}

.nav-items a:nth-last-child(2):nth-child(4n+1),
.nav-items a:nth-last-child(1):nth-child(4n+2){
  flex-basis:50%;
  max-width:50%;
}

.nav-items a:nth-last-child(1):nth-child(4n+1){
  flex-basis:100%;
  max-width:100%;
}

/* Search */
.search-box{background:var(--white);padding:10px 0}

.search-box form{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  max-width:500px;
  margin:0 auto;
}

.search-box input{
  flex:1 1 auto;
  min-width:150px;
  padding:8px;
  border:1px solid #ccc;
  border-radius:4px;
}

.search-box select{
  flex:0 0 90px;
  padding:8px;
  border:1px solid #ccc;
  border-radius:4px;
  background:#fff;
}

.search-box button{
  flex:0 0 90px;
  padding:8px;
  border:0;
  border-radius:4px;
  background:var(--primary-btn);
  color:#fff;
  cursor:pointer;
}

.search-box button:hover{opacity:.9}

/* Breadcrumb and titles */
.home-title{
  font-size:var(--font-size-h1);
  text-align:center;
  padding:var(--spacing-sm);
}

.breadcrumb{
  display:flex;
  flex-wrap:wrap;
  list-style:none;
  padding:var(--spacing-sm);
  background:var(--light-bg);
}

.breadcrumb li{margin-left:0!important;padding:0!important}
.breadcrumb-item{display:flex;align-items:center;color:var(--dark-text)}
.breadcrumb-item + .breadcrumb-item::before{
  content:"/";
  padding:0 var(--spacing-xs);
  color:var(--muted-text);
}

.breadcrumb-item a{
  color:var(--primary-color);
  text-decoration:none;
  padding:var(--spacing-sm);
}

.breadcrumb-item a:hover{
  color:var(--primary-dark);
  text-decoration:underline;
}

.breadcrumb-item.active{color:var(--muted-text)}

.post-title,
.song-title,
.related-title,
.sidebar-title{
  font-size:var(--font-size-h1);
  background:var(--brand-color-dark);
  color:var(--text-color);
  text-align:center;
  padding:var(--spacing-sm);
  font-weight:300;
}

/* Main content */
.main-theme{background:var(--white);min-width:0}
.main-theme img,
.main-theme video{max-width:100%;display:block}
.main-theme audio{width:100%;margin:var(--spacing-sm) 0}

.main-theme p{
  font-size:var(--font-size-base);
  color:var(--dark-text);
  line-height:1.5;
  margin-bottom:var(--spacing-sm);
  padding:var(--spacing-sm);
}

.main-theme li{
  font-size:var(--font-size-base);
  color:var(--dark-text);
  padding:var(--spacing-sm);
  margin-left:var(--spacing-xl);
}

.main-theme a,
.main-theme p,
.main-theme h1,
.main-theme h2,
.song-right{
  min-width:0;
  overflow-wrap:anywhere;
}

.post-meta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:var(--spacing-md);
  margin-bottom:var(--spacing-sm);
  color:var(--muted-text);
  font-size:var(--font-size-small);
}

.author-name a,
.publish-date{color:var(--muted-text)}
.author-name a{text-decoration:none}
.author-name a:hover{text-decoration:underline}

/* Song / Album main area */
.song-section{
  width:100%;
  max-width:var(--container-width);
  margin:0 auto;
}

.song-top{
  display:flex;
  align-items:flex-start;
  gap:16px;
  padding:12px 15px;
}

.song-left{
  flex:0 0 250px;
  width:250px;
  max-width:250px;
}

.song-left img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  border-radius:5px;
}

.song-right{
  flex:1 1 auto;
  margin:0;
}

.song-meta{
  width:100%;
  margin:0;
  padding:0;
  border:1px solid var(--border-color);
  border-radius:5px;
  overflow:hidden;
  background:#fff;
}

.song-meta p{
  margin:0;
  padding:9px 12px;
  border-bottom:1px solid var(--border-color);
  font-size:var(--font-size-base);
  line-height:1.4;
  color:var(--dark-text);
}

.song-meta p:last-child{border-bottom:0}

.song-title{
  line-height:1.35;
  padding:8px 10px;
  margin:8px 0;
  font-weight:400;
}

.post-title{
  line-height:1.35;
  padding:8px 10px;
  margin:0;
  font-weight:400;
}

.post-description{font-size:var(--font-size-base);padding:0 var(--spacing-sm)}

.top-description{
  font-size:var(--font-size-base);
  padding:0 15px;
  margin:0;
}

.top-description p{
  padding:6px 0;
  margin:0 0 4px;
}

/* Audio and actions */
.custom-audio-player{
  display:flex;
  justify-content:center;
  width:100%;
  padding:0 15px;
}

.custom-audio-player audio{
  display:block;
  width:100%;
  max-width:500px;
  margin:5px auto;
  border:1px solid var(--border-color);
  border-radius:var(--border-radius);
}

.song-actions{
  display:flex;
  justify-content:center;
  gap:var(--spacing-sm);
  padding:8px 15px;
}

.song-actions button,
.load-actions button,
.load-actions a{
  padding:var(--spacing-sm) var(--spacing-md);
  border:1px solid var(--border-color);
  border-radius:var(--border-radius);
  font-size:var(--font-size-base);
  color:var(--white);
  cursor:pointer;
}

.load-actions{display:flex;justify-content:center;gap:var(--spacing-sm)}
.load-actions a{text-decoration:none}
.download-btn{background:var(--danger-color)}
.download-btn:hover{background:var(--danger-dark)}

/* Reactions */
.reaction-container{
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px 0 0;
  margin:0;
}

.reaction-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 12px;
  font-size:14px;
  font-weight:500;
  background:var(--light-bg);
  color:var(--dark-text);
  border:1px solid var(--border-color);
  border-radius:var(--border-radius);
  cursor:pointer;
}

.reaction-btn:hover,
.reaction-btn.active{
  background:var(--primary-color);
  color:var(--white);
  border-color:var(--primary-color);
}

.reaction-btn.dislike:hover,
.reaction-btn.dislike.active{
  background:var(--danger-color);
  border-color:var(--danger-color);
}

.reaction-btn:disabled{opacity:.6;cursor:not-allowed}

/* Share */
.share-icons{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:40px;
  margin:6px 0;
}

.share-icons a{
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border:1px solid var(--border-color);
  border-radius:var(--border-radius);
  background:var(--light-bg);
  box-shadow:var(--shadow-sm);
}

.share-icons a img{
  display:block;
  width:40px;
  height:40px;
}

/* Related song cards */
.related-section{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  overflow:hidden;
}

.related-title{margin:12px 0}

.related-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:var(--spacing-sm);
  padding:var(--spacing-md);
  justify-content:center;
  margin:0 auto;
}

.song-card{
  background:var(--white);
  border:1px solid var(--border-color);
  border-radius:var(--border-radius);
  overflow:hidden;
  text-align:center;
  box-shadow:var(--shadow-sm);
  transition:var(--transition);
}

.song-card:hover{
  box-shadow:var(--shadow-md);
  transform:translateY(-3px);
}

.song-card-link{
  display:flex;
  flex-direction:column;
  color:var(--dark-text);
  text-decoration:none;
}

.song-card-img{
  display:block;
  width:100%;
  aspect-ratio:1 / 1;
  height:auto;
  object-fit:cover;
  background:var(--light-bg);
  border-bottom:1px solid var(--border-color);
}

.song-card-body{padding:var(--spacing-xs)}

.song-card-title{
  font-size:var(--font-size-base);
  font-weight:700;
  margin-bottom:var(--spacing-xs);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.song-card-duration,
.category-card-count{
  font-size:var(--font-size-small);
  color:var(--muted-text);
}

/* Similar Picks / sidebar */
.sidebar-section{background:var(--white)}
.sidebar-title{margin:12px 0}

.sidebar-list{
  list-style:none;
  padding:var(--spacing-md);
  margin:0;
}

.sidebar-list-item{
  display:flex;
  align-items:center;
  padding:var(--spacing-sm);
  border-bottom:1px solid var(--border-color);
}

.sidebar-list-item:last-child{border-bottom:0}
.sidebar-list-item:hover{background:var(--light-bg)}

.sidebar-list-link{
  display:flex;
  align-items:center;
  width:100%;
  color:inherit;
  text-decoration:none;
}

.sidebar-list-thumb{
  flex:0 0 75px;
  width:75px;
  height:75px;
  margin-right:var(--spacing-sm);
  border-radius:var(--border-radius);
  object-fit:cover;
}

.sidebar-list-info{
  flex:1;
  min-width:0;
  overflow:hidden;
}

.sidebar-list-title-text{
  font-size:var(--font-size-base);
  font-weight:700;
  color:var(--dark-text);
  margin-bottom:var(--spacing-xs);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.sidebar-list-singer,
.sidebar-list-category{
  font-size:var(--font-size-small);
  color:var(--muted-text);
  margin:0;
  padding:0!important;
  line-height:var(--spacing-md);
}

/* Exact Similar Picks structure */
#youMayAlso.sidebar-section{
  border:1px solid var(--border-color);
  border-radius:var(--border-radius);
  box-shadow:var(--shadow-sm);
  overflow:hidden;
  margin-bottom:var(--spacing-lg);
}

#youMayAlso .sidebar-title{
  margin:0;
  letter-spacing:.3px;
  border-bottom:3px solid rgba(0,0,0,.08);
}

#youMayAlso .sidebar-list{
  padding:0;
  margin:0;
}

#youMayAlso .list-group-item{
  list-style:none;
  border-bottom:1px solid var(--border-color);
  background:var(--white);
}

#youMayAlso .list-group-item:last-child{border-bottom:none}
#youMayAlso .list-group-item:hover{background:var(--light-bg)}

#youMayAlso .list-m{
  display:flex;
  align-items:center;
  gap:var(--spacing-sm);
  padding:var(--spacing-sm) var(--spacing-md);
  color:var(--dark-text);
  text-decoration:none;
}

#youMayAlso .list-m img{
  flex:0 0 54px;
  width:54px;
  height:80px;
  object-fit:cover;
  border-radius:var(--border-radius);
  box-shadow:var(--shadow-sm);
}

#youMayAlso .list-m > div{
  flex:1 1 auto;
  min-width:0;
}

#youMayAlso .list-m h4{
  font-size:var(--font-size-base);
  font-weight:600;
  color:var(--dark-text);
  margin:0 0 var(--spacing-xs);
  line-height:1.25;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

#youMayAlso .list-m h4 span{
  font-size:var(--font-size-small);
  font-weight:400;
  color:var(--muted-text);
  margin-left:4px;
}

#youMayAlso .list-m p{
  font-size:var(--font-size-small);
  color:var(--muted-text);
  margin:0;
  padding:0;
  line-height:1.2;
}

/* Category / album grids */
.category-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(120px,1fr));
  gap:var(--spacing-md);
}

.category-card{
  background:var(--white);
  border:1px solid var(--border-color);
  border-radius:var(--border-radius);
  overflow:hidden;
  text-align:center;
  transition:transform .2s ease,box-shadow .2s ease;
}

.category-card:hover{
  transform:translateY(-3px);
  box-shadow:0 2px 6px #00000026;
}

.category-card-link{
  display:block;
  height:100%;
  color:inherit;
  text-decoration:none;
}

.category-card-img{
  display:block;
  width:100%;
  aspect-ratio:1 / 1;
  height:auto;
  object-fit:cover;
  background:var(--light-bg);
  border-bottom:1px solid var(--border-color);
}

.category-card-body{padding:var(--spacing-sm)}

.category-card-title{
  font-size:var(--font-size-small);
  font-weight:500;
  margin-bottom:var(--spacing-xs);
  line-height:1.2;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.category-card-title span{
  font-size:var(--font-size-small);
  color:var(--muted-text);
}

/* Footer */
.footer-container{
  max-width:var(--container-width);
  margin:0 auto;
  padding:var(--spacing-md);
  background:var(--brand-color-dark);
  color:var(--text-color);
}

.footer-row{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:var(--spacing-lg);
  margin-top:var(--spacing-sm);
}

.footer-col{flex:1 1 200px}

.footer-links{
  list-style:none;
  padding:0;
  margin:0;
}

.footer-links li{margin-bottom:var(--spacing-xs)}
.footer-links a,
.footer-bottom a{
  color:var(--text-color);
  text-decoration:none;
}

.footer-links a:hover,
.footer-bottom a:hover{text-decoration:underline}

.footer-social .social-icons{
  display:flex;
  gap:var(--spacing-sm);
}

.footer-social .social-icons div{
  display:flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  background:var(--brand-color);
  border-radius:50%;
  cursor:pointer;
}

.footer-social .social-icons div:hover{background:#4a4a4a}

.footer-container hr{
  border:0;
  border-top:1px solid var(--border-color);
  margin:var(--spacing-md) 0;
}

.footer-bottom{
  flex:0 0 100%;
  margin-top:var(--spacing-md);
  text-align:center;
  font-size:var(--font-size-small);
}

/* Other social buttons */
.social-icons{display:flex;gap:10px;flex-wrap:wrap}

.share-btn{
  display:inline-block;
  padding:6px 14px;
  font-size:14px;
  font-weight:500;
  color:var(--text-color);
  background:var(--brand-color);
  border-radius:4px;
  text-decoration:none;
}

.pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:var(--spacing-xs);
  margin:var(--spacing-lg) 0;
  padding:0;
  list-style:none;
}

.pagination li{
  margin:0;
  padding-left:0;
  padding-right:0;
}

.page-item{display:inline-flex}

.page-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 12px;
  font-size:var(--font-size-base);
  color:var(--dark-text);
  background:var(--white);
  border:1px solid var(--border-color);
  border-radius:var(--border-radius);
  text-decoration:none;
  box-shadow:var(--shadow-sm);
}

.page-link:hover{
  background:var(--light-bg);
  color:var(--primary-color);
  border-color:var(--primary-color);
}

.page-item.active .page-link{
  background:var(--primary-color);
  color:var(--white);
  border-color:var(--primary-color);
  box-shadow:var(--shadow-md);
  cursor:default;
}

.page-link[tabindex="-1"]{
  pointer-events:none;
  opacity:.6;
}

/* Mobile */
@media (max-width:768px){
  .container{max-width:100%;padding:0}

  .nav-items a{
    flex:0 0 33.3333%;
    max-width:33.3333%;
    padding:var(--spacing-sm);
    font-size:var(--font-size-base);
  }

  .nav-items a:nth-last-child(1):nth-child(3n+1){
    flex-basis:100%;
    max-width:100%;
  }

  .nav-items a:nth-last-child(2):nth-child(3n+1),
  .nav-items a:nth-last-child(1):nth-child(3n+2){
    flex-basis:50%;
    max-width:50%;
  }

  .nav-items a:nth-last-child(3):nth-child(3n+1),
  .nav-items a:nth-last-child(2):nth-child(3n+2),
  .nav-items a:nth-last-child(1):nth-child(3n+3){
    flex-basis:33.3333%;
    max-width:33.3333%;
  }

  .search-box form{max-width:100%;padding:0 10px}
  .search-box input{min-width:100px}
  .search-box select{flex-basis:70px;font-size:13px}
  .search-box button{flex-basis:70px;font-size:13px}

  .post-meta{
    padding:8px 10px;
    margin-bottom:0;
    font-size:12px;
  }

  .song-top{
    flex-direction:column;
    gap:8px;
    padding:10px;
  }

  .song-left{
    flex:0 0 auto;
    width:180px;
    max-width:180px;
    margin:0 auto;
  }

  .song-left img{
    width:180px;
    max-width:180px;
    margin:0 auto;
  }

  .song-right{width:100%}

  .song-meta p{
    padding:8px 10px;
    font-size:14px;
    line-height:1.35;
  }

  .top-description{padding:0 10px}
  .top-description p{
    font-size:14px;
    line-height:1.45;
    padding:5px 0;
  }


  .custom-audio-player{padding:0 10px}
  .custom-audio-player audio{max-width:none}
  .song-actions{padding:7px 10px}

  .related-grid{
    grid-template-columns:repeat(3,1fr);
    gap:var(--spacing-xs);
  }

  .song-card-title,
  .category-card-title{font-size:var(--font-size-small)}

  .category-grid{
    grid-template-columns:repeat(auto-fill,minmax(100px,1fr));
    gap:var(--spacing-sm);
  }

  #youMayAlso .list-m{padding:var(--spacing-sm)}
  #youMayAlso .list-m img{
    flex-basis:48px;
    width:48px;
    height:72px;
  }

  .footer-col{
    flex:none;
    width:100%;
    margin-bottom:var(--spacing-sm);
    text-align:center;
  }

  .footer-social .social-icons{justify-content:center}
  .page-link{padding:6px 10px;font-size:var(--font-size-small)}
}



:root{
 --sm-navy:#0b1a35;--sm-blue:#1d5fa7;--sm-page:#f3f5f9;
 --sm-text:#1e293b;--sm-muted:#64748b;--sm-line:#dfe5ee;
}
/* =========================================================
   SOUTHMELODY ACTIVE TEMPLATE STYLES
   Moved from header.php / File.php / Category.php.
   Kept here so active template files contain no inline <style> blocks.
   ========================================================= */
/* ---- header.php ---- */
            /* SouthMelody logo area only - other header parts unchanged */
            .top-logo{
                display:flex;
                align-items:center;
                justify-content:center;
            }

            .southmelody-logo{
                display:flex;
                flex-direction:column;
                align-items:center;
                justify-content:center;
                width:100%;
                color:#fff;
                text-decoration:none;
                text-align:center;
                padding:10px 0 12px;
            }

            .southmelody-logo-main{
                display:inline-flex;
                align-items:center;
                justify-content:center;
                gap:8px;
                line-height:1;
            }

            .southmelody-logo-note{
                font-family:Georgia,"Times New Roman",serif;
                font-size:54px;
                font-weight:400;
                line-height:1;
                transform:translateY(-1px);
            }

            .southmelody-logo-text{
                font-family:Georgia,"Times New Roman",serif;
                font-size:43px;
                font-weight:700;
                letter-spacing:-1.5px;
                line-height:1;
            }

            .southmelody-tagline{
                display:block;
                margin-top:5px;
                color:rgba(255,255,255,.76);
                font-family:Arial,sans-serif;
                font-size:16px;
                font-weight:400;
                letter-spacing:.3px;
                line-height:1.3;
            }

            .southmelody-tagline b{
                color:#2589d7;
                font-size:20px;
                padding:0 4px;
                vertical-align:-1px;
            }

            .southmelody-equalizer{
                display:flex;
                align-items:flex-end;
                justify-content:center;
                gap:3px;
                width:min(720px,90%);
                height:42px;
                margin-top:10px;
                overflow:hidden;
            }

            .southmelody-equalizer i{
                display:block;
                width:6px;
                min-height:7px;
                border-radius:2px 2px 0 0;
                background:linear-gradient(to top,#1764a6,#39a9e8);
                transform-origin:bottom;
                animation:southmelody-eq 1.15s ease-in-out infinite alternate;
            }

            .southmelody-equalizer i:nth-child(1){height:12px;animation-delay:.10s}
            .southmelody-equalizer i:nth-child(2){height:22px;animation-delay:.45s}
            .southmelody-equalizer i:nth-child(3){height:16px;animation-delay:.20s}
            .southmelody-equalizer i:nth-child(4){height:30px;animation-delay:.65s}
            .southmelody-equalizer i:nth-child(5){height:20px;animation-delay:.30s}
            .southmelody-equalizer i:nth-child(6){height:37px;animation-delay:.75s}
            .southmelody-equalizer i:nth-child(7){height:18px;animation-delay:.15s}
            .southmelody-equalizer i:nth-child(8){height:27px;animation-delay:.55s}
            .southmelody-equalizer i:nth-child(9){height:14px;animation-delay:.25s}
            .southmelody-equalizer i:nth-child(10){height:34px;animation-delay:.70s}
            .southmelody-equalizer i:nth-child(11){height:21px;animation-delay:.40s}
            .southmelody-equalizer i:nth-child(12){height:42px;animation-delay:.05s}
            .southmelody-equalizer i:nth-child(13){height:25px;animation-delay:.60s}
            .southmelody-equalizer i:nth-child(14){height:17px;animation-delay:.35s}
            .southmelody-equalizer i:nth-child(15){height:31px;animation-delay:.80s}
            .southmelody-equalizer i:nth-child(16){height:13px;animation-delay:.18s}
            .southmelody-equalizer i:nth-child(17){height:36px;animation-delay:.50s}
            .southmelody-equalizer i:nth-child(18){height:23px;animation-delay:.28s}
            .southmelody-equalizer i:nth-child(19){height:39px;animation-delay:.72s}
            .southmelody-equalizer i:nth-child(20){height:19px;animation-delay:.12s}
            .southmelody-equalizer i:nth-child(21){height:28px;animation-delay:.48s}
            .southmelody-equalizer i:nth-child(22){height:15px;animation-delay:.32s}
            .southmelody-equalizer i:nth-child(23){height:33px;animation-delay:.68s}
            .southmelody-equalizer i:nth-child(24){height:24px;animation-delay:.22s}
            .southmelody-equalizer i:nth-child(25){height:40px;animation-delay:.58s}
            .southmelody-equalizer i:nth-child(26){height:18px;animation-delay:.38s}
            .southmelody-equalizer i:nth-child(27){height:29px;animation-delay:.78s}
            .southmelody-equalizer i:nth-child(28){height:14px;animation-delay:.08s}
            .southmelody-equalizer i:nth-child(29){height:25px;animation-delay:.52s}
            .southmelody-equalizer i:nth-child(30){height:11px;animation-delay:.26s}

            @keyframes southmelody-eq{
                from{transform:scaleY(.38)}
                to{transform:scaleY(1)}
            }

            @media (max-width:768px){
                .southmelody-logo{
                    padding:9px 0 10px;
                }

                .southmelody-logo-main{
                    gap:5px;
                }

                .southmelody-logo-note{
                    font-size:37px;
                }

                .southmelody-logo-text{
                    font-size:29px;
                    letter-spacing:-1px;
                }

                .southmelody-tagline{
                    margin-top:4px;
                    font-size:12px;
                    letter-spacing:.1px;
                }

                .southmelody-tagline b{
                    font-size:15px;
                    padding:0 2px;
                }

                .southmelody-equalizer{
                    width:86%;
                    height:26px;
                    margin-top:7px;
                    gap:2px;
                }

                .southmelody-equalizer i{
                    width:4px;
                }

                .southmelody-equalizer i:nth-child(12),
                .southmelody-equalizer i:nth-child(25){
                    height:26px;
                }

                .southmelody-equalizer i:nth-child(6),
                .southmelody-equalizer i:nth-child(17),
                .southmelody-equalizer i:nth-child(19){
                    height:23px;
                }
            }

            @media (prefers-reduced-motion:reduce){
                .southmelody-equalizer i{animation:none}
            }
/* ---- File.php ---- */
.comment-section{
    margin:24px 0 28px;
    padding:18px;
    background:#fff;
    border:1px solid #e6e6e6;
    border-radius:12px;
    box-sizing:border-box;
    box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.comment-section *{box-sizing:border-box;}
.comment-title{
    margin:0 0 16px;
    font-size:22px;
    line-height:1.3;
    color:#222;
}
.comment-title span{
    color:#777;
    font-size:16px;
    font-weight:400;
}
.comment-form{
    display:flex;
    flex-direction:column;
    gap:12px;
}
.comment-form input[type="text"],
.comment-form textarea,
.comment-captcha input{
    width:100%;
    border:1px solid #d8d8d8;
    border-radius:8px;
    background:#fff;
    color:#222;
    font:inherit;
    padding:12px 14px;
    outline:none;
}
.comment-form textarea{
    min-height:100px;
    resize:vertical;
}
.comment-form input:focus,
.comment-form textarea:focus{
    border-color:#4d87b0;
    box-shadow:0 0 0 3px rgba(77,135,176,.12);
}
.comment-submit-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}
.comment-captcha{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:16px;
    font-weight:600;
    white-space:nowrap;
}
.comment-captcha input{
    width:90px;
    padding:10px;
}
.comment-submit-row button{
    border:0;
    border-radius:8px;
    padding:11px 18px;
    font:inherit;
    font-weight:600;
    cursor:pointer;
    background:#e91e3f;
    color:#fff;
}
.comment-submit-row button:hover{opacity:.92;}
.comment-alert{
    padding:10px 12px;
    border-radius:8px;
    margin-bottom:12px;
}
.comment-success{background:#eaf8ee;color:#167a36;}
.comment-error{background:#fff0f0;color:#b42318;}
.comment-list{
    margin-top:18px;
    display:flex;
    flex-direction:column;
    gap:12px;
}
.comment-item{
    display:flex;
    gap:12px;
    padding:14px 0;
    border-top:1px solid #eee;
}
.comment-avatar{
    width:40px;
    height:40px;
    min-width:40px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#4d87b0;
    color:#fff;
    font-weight:700;
}
.comment-body{min-width:0;flex:1;}
.comment-head{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:5px;
}
.comment-head strong{color:#222;}
.comment-head time{font-size:13px;color:#888;}
.comment-text{
    color:#444;
    line-height:1.55;
    overflow-wrap:anywhere;
}
.no-comments{
    padding:14px 0;
    color:#777;
}
@media(max-width:600px){
    .comment-section{
        margin:18px 0 22px;
        padding:14px;
        border-radius:10px;
    }
    .comment-title{font-size:21px;}
    .comment-submit-row{
        align-items:stretch;
        flex-direction:column;
    }
    .comment-captcha{
        justify-content:flex-start;
        gap:10px;
    }
    .comment-captcha input{
        width:110px;
        flex:0 0 110px;
    }
    .comment-submit-row button{width:100%;}
}
.comment-item.is-hidden{
    display:none;
}
.comment-load-more{
    width:100%;
    margin-top:14px;
    padding:11px 18px;
    border:1px solid #d8d8d8;
    border-radius:8px;
    background:#fff;
    color:#333;
    font:inherit;
    font-weight:600;
    cursor:pointer;
}
.comment-load-more:hover{
    background:#f7f7f7;
}

/* Only Download Button - Extra Compact Split Style */
.premium-download-btn{
    display:flex !important;
    align-items:center;
    justify-content:center;
    width:100%;
    max-width:540px;
    height:52px;
    min-height:52px !important;
    margin:0 auto;
    padding:0 !important;
    border:0 !important;
    border-radius:12px !important;
    overflow:hidden;
    background:#ef0038 !important;
    color:#fff !important;
    font-size:20px !important;
    font-weight:700 !important;
    box-shadow:0 5px 14px rgba(0,0,0,.18) !important;
}

.premium-download-btn .download-main{
    flex:1;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    background:#ef0038;
}

.premium-download-btn .download-icon{
    width:22px;
    height:22px;
    display:block;
    flex:0 0 22px;
}

.premium-download-btn .download-icon svg{
    width:100%;
    height:100%;
    display:block;
    fill:none;
    stroke:currentColor;
    stroke-width:2.6;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.premium-download-btn .download-quality{
    height:100%;
    min-width:118px;
    padding:0 12px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    background:#b9002c;
    border-left:1px solid rgba(255,255,255,.12);
    font-size:17px;
    font-weight:700;
}

.premium-download-btn .quality-arrow{
    width:17px;
    height:17px;
    display:block;
    flex:0 0 17px;
}

.premium-download-btn .quality-arrow svg{
    width:100%;
    height:100%;
    display:block;
    fill:none;
    stroke:currentColor;
    stroke-width:2.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.premium-download-btn:hover{
    transform:translateY(-1px);
}

@media (max-width:600px){
    .premium-download-btn{
        width:88%;
        max-width:360px;
        height:46px;
        min-height:46px !important;
        border-radius:11px !important;
        font-size:16px !important;
        box-shadow:0 4px 11px rgba(0,0,0,.16) !important;
    }

    .premium-download-btn .download-main{
        gap:7px;
    }

    .premium-download-btn .download-icon{
        width:19px;
        height:19px;
        flex-basis:19px;
    }

    .premium-download-btn .download-quality{
        min-width:96px;
        padding:0 8px;
        gap:6px;
        font-size:14px;
    }

    .premium-download-btn .quality-arrow{
        width:15px;
        height:15px;
        flex-basis:15px;
    }
}


/* Song page heading and information text only */
.main-theme .post-title{
    font-size:28px;
    line-height:1.35;
}
.song-meta p{
    font-size:16px;
    line-height:1.55;
}
.song-meta p strong{
    font-size:16px;
}
.song-meta .small{
    font-size:13px;
}
@media (max-width:600px){
    .main-theme .post-title{
        font-size:25px;
        line-height:1.35;
    }
    .song-meta p,
    .song-meta p strong{
        font-size:16px;
    }
    .song-meta .small{
        font-size:13px;
    }
}


/* About song section */
.about-song{
    margin:18px 0 0;
    padding:16px 18px;
    border:1px solid rgba(0,0,0,.10);
    border-radius:10px;
    background:rgba(255,255,255,.55);
}
.about-song h2{
    margin:0 0 10px;
    font-size:20px;
    line-height:1.35;
}
.about-song p{
    margin:0;
    font-size:16px;
    line-height:1.65;
}
@media (max-width:600px){
    .about-song{
        margin:14px 0 0;
        padding:14px 16px;
    }
    .about-song h2{
        font-size:18px;
    }
    .about-song p{
        font-size:15px;
        line-height:1.6;
    }
}

/* ---- Category.php ---- */
/* =========================================================
   CATEGORY.PHP — MOBILE TEXT & READABILITY FIX
   Only affects this page. Desktop layout remains unchanged.
   ========================================================= */

/* Album / category information */
.category-page .rw-album-about{
    margin: 20px 18px 24px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.category-page .rw-album-about .about-album-title{
    margin: 0 0 12px !important;
    font-size: 20px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
}

.category-page .rw-album-about .about-album-text{
    margin: 0 !important;
    padding: 0 !important;
    font-size: 17px !important;
    line-height: 1.7 !important;
    font-weight: 400 !important;
}

/* Album info rows */
.category-page .song-section .song-meta .meta-row{
    font-size: 16px !important;
    line-height: 1.55 !important;
}

.category-page .song-section .song-meta .meta-row strong{
    font-size: 16px !important;
    font-weight: 700 !important;
}

.category-page .song-section .song-meta .meta-value,
.category-page .song-section .song-meta .meta-colon{
    font-size: 16px !important;
}

.category-page .song-section .song-meta .meta-icon{
    font-size: 15px !important;
}

/* Section headings */
.category-page .related-title{
    font-size: 16px !important;
    line-height: 1.35 !important;
}

.category-page .sidebar-title{
    font-size: 16px !important;
    line-height: 1.35 !important;
}

/* Sidebar */
.category-page + .sidebar,
.sidebar .sidebar-list,
.sidebar .sidebar-list li,
.sidebar .sidebar-list a{
    font-size: 14px !important;
    line-height: 1.45 !important;
}

/* ---------------------------------------------------------
   MOBILE FIX — keeps the existing 3-column design intact
   --------------------------------------------------------- */
@media (max-width: 600px){

    /* Main page heading and breadcrumb */
    .category-page .post-title{
        font-size: 17px !important;
        line-height: 1.35 !important;
    }

    .category-page .breadcrumb,
    .category-page .breadcrumb a,
    .category-page .bread-crumb,
    .category-page .bread-crumb a{
        font-size: 13px !important;
        line-height: 1.45 !important;
    }

    /* Album/category top details */
    .category-page .song-section .song-meta .meta-row,
    .category-page .song-section .song-meta .meta-row strong,
    .category-page .song-section .song-meta .meta-value,
    .category-page .song-section .song-meta .meta-colon{
        font-size: 15px !important;
        line-height: 1.55 !important;
    }

    .category-page .song-section .song-meta .meta-icon{
        font-size: 14px !important;
    }

    /* About section */
    .category-page .rw-album-about{
        margin: 18px 14px 22px !important;
    }

    .category-page .rw-album-about .about-album-title{
        font-size: 18px !important;
        line-height: 1.4 !important;
    }

    .category-page .rw-album-about .about-album-text{
        font-size: 15px !important;
        line-height: 1.65 !important;
    }

    /* All section titles: Songs Charts, Trending, Latest, Related */
    .category-page .related-title{
        font-size: 15px !important;
        line-height: 1.35 !important;
        font-weight: 600 !important;
    }

    .category-page .sidebar-title{
        font-size: 15px !important;
    }

    /*
      Card text fix:
      Applies to the markup generated by _category_list.php
      and _files_list.php without changing the card/grid layout.
    */
    .category-page .related-grid a{
        font-size: 11px !important;
        line-height: 1.35 !important;
    }

    .category-page .related-grid h2,
    .category-page .related-grid h3,
    .category-page .related-grid h4,
    .category-page .related-grid .title,
    .category-page .related-grid .name,
    .category-page .related-grid .item-title,
    .category-page .related-grid .song-title,
    .category-page .related-grid .category-title,
    .category-page .related-grid .album-title{
        font-size: 11.5px !important;
        line-height: 1.35 !important;
        font-weight: 500 !important;
    }

    /* Small metadata under cards: duration, artist, total, year, etc. */
    .category-page .related-grid small,
    .category-page .related-grid .meta,
    .category-page .related-grid .item-meta,
    .category-page .related-grid .song-meta,
    .category-page .related-grid .category-meta,
    .category-page .related-grid .album-meta,
    .category-page .related-grid .duration,
    .category-page .related-grid .time,
    .category-page .related-grid .total,
    .category-page .related-grid .artist,
    .category-page .related-grid .year{
        font-size: 9.5px !important;
        line-height: 1.35 !important;
    }

    /* Direct spans/divs used inside generated cards */
    .category-page .related-grid p{
        font-size: 11px !important;
        line-height: 1.35 !important;
    }

    /* Similar Picks */
    .sidebar .sidebar-list,
    .sidebar .sidebar-list li,
    .sidebar .sidebar-list a{
        font-size: 13px !important;
        line-height: 1.45 !important;
    }
}

/* Very small Android screens */
@media (max-width: 360px){

    .category-page .post-title{
        font-size: 16px !important;
    }

    .category-page .related-title{
        font-size: 14px !important;
    }

    .category-page .related-grid a,
    .category-page .related-grid h2,
    .category-page .related-grid h3,
    .category-page .related-grid h4,
    .category-page .related-grid .title,
    .category-page .related-grid .name,
    .category-page .related-grid .item-title,
    .category-page .related-grid .song-title,
    .category-page .related-grid .category-title,
    .category-page .related-grid .album-title{
        font-size: 10.5px !important;
        line-height: 1.3 !important;
    }

    .category-page .related-grid small,
    .category-page .related-grid .meta,
    .category-page .related-grid .item-meta,
    .category-page .related-grid .duration,
    .category-page .related-grid .time,
    .category-page .related-grid .total,
    .category-page .related-grid .artist,
    .category-page .related-grid .year{
        font-size: 9px !important;
    }

    .category-page .related-grid p{
        font-size: 10.5px !important;
    }
}
/* Utility cleanup for active collection/upload templates */
.pagination-collection{flex-wrap:wrap;gap:4px;row-gap:6px}
.upload-alert{display:none}
.upload-progress{display:none;height:25px}
