/*==========================
TELANGANA DJS
Professional Music Portal
===========================*/

*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{

font-family:'Poppins',sans-serif;

background:#f4f6fb;

color:#222;

}

/* Top Bar */

.topbar{

background:#1c1c1c;

color:#fff;

padding:8px 0;

font-size:14px;

}

.topbar a{

color:#fff;

margin-left:15px;

text-decoration:none;

}

/* Logo */

.logo{

font-size:34px;

font-weight:700;

}

.logo span{

color:#6f42c1;

}

/* Navbar */

.navbar{

background:#6f42c1!important;

}

.nav-link{

color:#fff!important;

font-weight:600;

padding:14px;

}

.nav-link:hover{

background:#5d32ab;

border-radius:5px;

}

/* Hero */

.hero{

position:relative;

overflow:hidden;

border-radius:12px;

}

.hero img{

width:100%;

height:420px;

object-fit:cover;

border-radius:12px;

}

/* Trending */

.card-header{

background:#6f42c1;

color:#fff;

font-weight:600;

}

.list-group-item{

padding:15px;

transition:.3s;

}

.list-group-item:hover{

background:#f2ebff;

cursor:pointer;

}

/* Song Card */

.card{

border:none;

border-radius:10px;

overflow:hidden;

box-shadow:0 10px 30px rgba(0,0,0,.08);

transition:.4s;

}

.card:hover{

transform:translateY(-6px);

}

.card img{

height:220px;

object-fit:cover;

}

.card-body{

padding:18px;

}

.card-body h6{

font-weight:700;

}

/* Buttons */

.btn-primary{

background:#6f42c1;

border:none;

}

.btn-primary:hover{

background:#572ea5;

}

/* Section */

.section-title{

font-size:28px;

font-weight:700;

margin:30px 0;

}

/* Footer */

footer{

background:#161616;

color:#fff;

padding:40px 0;

margin-top:50px;

}

/* Responsive */

@media(max-width:992px){

.hero img{

height:250px;

}

.logo{

text-align:center;

margin-bottom:20px;

}

}
.slider-img {
    height: 360px;
    object-fit: cover;
}

.carousel-caption {
    background: rgba(0, 0, 0, 0.55);
    padding: 20px;
    border-radius: 8px;
}

.carousel-caption h2 {
    font-size: 28px;
    font-weight: 700;
}

.carousel-caption p {
    font-size: 14px;
}

.breaking {
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,.08);
}

.breaking-title {
    background: #6f42c1;
    color: #fff;
    padding: 12px 18px;
    font-weight: 700;
    white-space: nowrap;
}

.breaking-text {
    padding: 10px 15px;
    font-size: 13px;
    white-space: nowrap;
}

.song-card {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 3px 12px rgba(0,0,0,.08);
    height: 100%;
    transition: .2s;
}

.song-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(0,0,0,.12);
}

.song-image {
    height: 180px;
    position: relative;
    overflow: hidden;
    background: #eee;
}

.song-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.song-category {
    position: absolute;
    left: 10px;
    bottom: 10px;
    background: #6f42c1;
    color: #fff;
    padding: 5px 9px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 700;
}

.song-content {
    padding: 15px;
}

.song-content h5 {
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 8px;
}

.song-content p {
    color: #777;
    font-size: 12px;
    line-height: 1.5;
    min-height: 38px;
}

.song-meta {
    display: flex;
    justify-content: space-between;
    color: #777;
    font-size: 10px;
}

.section-title {
    font-size: 22px;
    font-weight: 700;
}
/* =========================================================
   PREMIUM 2026 RESPONSIVE UI OVERRIDES
   Mobile-first, accessibility-friendly and AdSense-safe spacing
========================================================= */
:root{
  --tdj-primary:#6d28d9;
  --tdj-primary-2:#8b5cf6;
  --tdj-dark:#111018;
  --tdj-surface:#ffffff;
  --tdj-bg:#f7f7fb;
  --tdj-border:#e9e7ef;
  --tdj-text:#17141d;
  --tdj-muted:#6f6a78;
  --tdj-radius:16px;
  --tdj-shadow:0 8px 30px rgba(17,16,24,.07);
}

html{scroll-behavior:smooth;}
body{background:var(--tdj-bg);color:var(--tdj-text);overflow-x:hidden;}
img{max-width:100%;height:auto;}
button,input,select,textarea{font:inherit;}
:focus-visible{outline:3px solid rgba(109,40,217,.35);outline-offset:2px;}

.container{width:min(1180px,calc(100% - 28px));}
main{min-height:45vh;}

/* Public content cards */
.card,.song-card,.quick-card,.artist-card,.album-card,.news-card{
  border:1px solid var(--tdj-border);
  box-shadow:var(--tdj-shadow);
}
.card:hover,.song-card:hover{transform:translateY(-3px);}

.section-title{letter-spacing:-.02em;}
.section-subtitle{color:var(--tdj-muted);}

/* Prevent layout jumps from media */
.song-image img,.hero img,.slider-img{display:block;aspect-ratio:16/9;object-fit:cover;}
.song-image{aspect-ratio:16/9;height:auto!important;}

/* Better readable text blocks */
.prose,.article-content,.lyrics-content{max-width:820px;line-height:1.85;}
.prose p,.article-content p{margin-bottom:1rem;}

/* AdSense-friendly ad container: reserved space, no fake buttons */
.adsense-slot{display:block;width:100%;min-height:90px;margin:24px auto;padding:8px 0;text-align:center;overflow:hidden;}
.adsense-label{display:block;color:#aaa;font-size:10px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;}

/* Tables */
.table-responsive{border-radius:12px;box-shadow:0 2px 16px rgba(0,0,0,.04);}
table{background:#fff;}

/* Forms */
.form-control,.form-select{min-height:44px;border-radius:10px;border:1px solid #ddd9e5;}
.form-control:focus,.form-select:focus{border-color:var(--tdj-primary);box-shadow:0 0 0 .2rem rgba(109,40,217,.12);}
.btn-primary{background:var(--tdj-primary);border-color:var(--tdj-primary);border-radius:10px;min-height:42px;}
.btn-primary:hover{background:#5b21b6;border-color:#5b21b6;}

/* Navigation should remain usable on small screens */
.navbar-custom{overflow:hidden;}
.navbar-custom .container{min-height:52px;}
.main-menu{overflow-x:auto;scrollbar-width:none;flex:1;min-width:0;}
.main-menu::-webkit-scrollbar{display:none;}
.main-menu a{padding:10px 3px;}

/* Footer */
.footer a{transition:color .2s ease;}
.footer a:hover{color:#fff!important;}

/* Mobile */
@media (max-width:768px){
  .container{width:min(100% - 20px,1180px);}
  .topbar{font-size:11px;}
  .logo{font-size:25px!important;}
  .hero img,.slider-img{height:auto!important;min-height:190px;max-height:300px;}
  .carousel-caption{left:10px;right:10px;bottom:10px;padding:10px!important;}
  .carousel-caption h2{font-size:18px!important;margin-bottom:4px;}
  .carousel-caption p{font-size:11px!important;margin-bottom:4px;}
  .section-title{font-size:20px!important;}
  .card img{height:auto;aspect-ratio:1/1;}
  .song-content{padding:12px;}
  .song-content h5{font-size:14px;}
  .breaking-title{padding:10px 12px;font-size:12px;}
  .breaking-text{font-size:11px;overflow:hidden;text-overflow:ellipsis;}
  .artist-login{font-size:12px;}
  .footer{padding:32px 0!important;}
  .footer-bottom{font-size:11px!important;line-height:1.8;}
  .adsense-slot{min-height:70px;margin:16px auto;}
}

@media (max-width:420px){
  .main-menu{gap:14px!important;}
  .main-menu a{font-size:12px;}
  .artist-login span{display:none;}
  .artist-login{padding:8px!important;}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important;}
}
