:root{--bg:#08080d;--panel:#111119;--panel2:#15151f;--text:#f6f6f8;--muted:#a5a5b2;--accent:#ff3158;--accent2:#ff7a18;--line:rgba(255,255,255,.09);--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;line-height:1.6}a{text-decoration:none;color:inherit}.container{width:min(var(--max),92%);margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(8,8,13,.82);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav-wrap{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.5px}.brand b{color:var(--accent)}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:white}.main-nav{display:flex;gap:25px;color:#ddd;font-size:14px}.main-nav a:hover{color:#fff}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:25px}.hero{min-height:690px;display:flex;align-items:center;position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:800;color:#ff5b78}.hero h1{font-size:clamp(44px,6vw,76px);line-height:1.03;margin:18px 0}.hero h1 span,h2 span{background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;color:transparent}.hero p{font-size:18px;color:var(--muted);max-width:650px}.hero-actions{display:flex;gap:14px;margin:30px 0}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:13px 22px;font-weight:800;border:1px solid transparent;cursor:pointer}.btn-primary{background:linear-gradient(90deg,var(--accent),var(--accent2));color:white}.btn-outline{border-color:var(--line);background:#111119}.hero-stats{display:flex;gap:35px;margin-top:40px}.hero-stats strong{display:block;font-size:23px}.hero-stats small{color:var(--muted)}.hero-visual{display:grid;place-items:center}.visual-card{width:min(420px,100%);aspect-ratio:1;border:1px solid var(--line);border-radius:30px;background:radial-gradient(circle at 50% 40%,#252534,#0d0d14 60%);box-shadow:0 30px 100px rgba(255,49,88,.12);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px}.turntable{width:245px;height:245px;border-radius:50%;background:#191923;display:grid;place-items:center;box-shadow:0 0 0 14px #101018,0 0 0 15px #292936}.disc{width:205px;height:205px;border-radius:50%;background:repeating-radial-gradient(circle,#111 0 3px,#292934 4px 5px);animation:spin 7s linear infinite}.center-dot{position:absolute;width:20px;height:20px;border-radius:50%;background:var(--accent)}@keyframes spin{to{transform:rotate(360deg)}}.equalizer{display:flex;gap:5px;align-items:end;height:38px}.equalizer i{width:5px;border-radius:5px;background:linear-gradient(var(--accent),var(--accent2));animation:beat 1s infinite alternate}.equalizer i:nth-child(1){height:18px}.equalizer i:nth-child(2){height:30px;animation-delay:.1s}.equalizer i:nth-child(3){height:22px;animation-delay:.2s}.equalizer i:nth-child(4){height:37px;animation-delay:.3s}.equalizer i:nth-child(5){height:25px}.equalizer i:nth-child(6){height:34px}.equalizer i:nth-child(7){height:20px}.equalizer i:nth-child(8){height:31px}.equalizer i:nth-child(9){height:16px}@keyframes beat{to{transform:scaleY(.45)}}.hero-glow{position:absolute;width:450px;height:450px;border-radius:50%;filter:blur(100px);opacity:.12}.glow-one{background:var(--accent);right:-150px;top:80px}.glow-two{background:var(--accent2);left:-200px;bottom:-200px}.section{padding:100px 0}.section-alt{background:#0d0d14}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.section-head.centered{justify-content:center;text-align:center}.section h2{font-size:42px;line-height:1.1;margin:8px 0}.section-head p{color:var(--muted)}.text-link{color:#ff6680;font-weight:700}.song-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.song-card,.service-card,.package-card,.contact-card{border:1px solid var(--line);background:var(--panel);border-radius:18px;overflow:hidden}.cover{height:210px;display:grid;place-items:center;background:linear-gradient(135deg,#1e1e2b,#331722);font-size:55px;position:relative}.play-btn{position:absolute;right:14px;bottom:14px;width:46px;height:46px;border-radius:50%;border:0;background:var(--accent);color:#fff}.song-info{padding:15px}.song-info h3{font-size:16px;margin:0}.song-info p{color:var(--muted);margin:4px 0 0;font-size:13px}.player{margin-top:25px;padding:15px 18px;border:1px solid var(--line);background:#101018;border-radius:16px;display:flex;align-items:center;gap:18px}.player-info{display:flex;align-items:center;gap:10px;min-width:230px}.player-info small{display:block;color:var(--muted)}.mini-cover{width:46px;height:46px;border-radius:10px;background:linear-gradient(135deg,var(--accent),var(--accent2));display:grid;place-items:center}.player-play{border:0;background:#fff;color:#111;width:42px;height:42px;border-radius:50%}.progress{height:5px;background:#292936;border-radius:10px;flex:1}.progress span{display:block;width:25%;height:100%;background:var(--accent);border-radius:10px}.time,.volume{color:var(--muted);font-size:12px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{padding:28px}.icon{font-size:30px}.service-card h3{margin-bottom:8px}.service-card p,.package-card p,.package-card li{color:var(--muted)}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.package-card{padding:30px}.package-card.featured{border-color:rgba(255,49,88,.55);box-shadow:0 20px 70px rgba(255,49,88,.08)}.package-label{font-size:11px;letter-spacing:2px;color:#ff6680}.price{font-size:30px;font-weight:900;margin:12px 0}.package-card ul{padding-left:18px;min-height:95px}.gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:180px;gap:14px}.gallery-item{display:grid;place-items:center;border-radius:18px;border:1px solid var(--line);background:linear-gradient(135deg,#191923,#301720);color:#aaa;font-weight:800;letter-spacing:2px}.gallery-item.large{grid-row:span 2}.booking-section{background:linear-gradient(120deg,#120b10,#0b0b11)}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.booking-grid h2{font-size:50px}.booking-grid p{color:var(--muted)}.contact-highlight{margin-top:30px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--panel);display:grid;gap:3px}.contact-highlight small{color:var(--muted)}.booking-form{background:var(--panel);border:1px solid var(--line);padding:25px;border-radius:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}input,select,textarea{width:100%;background:#0c0c12;color:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:12px;outline:none}textarea{min-height:120px;resize:vertical}.booking-form .btn{width:100%}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.contact-card{padding:25px;display:grid;gap:5px}.contact-card span{color:var(--muted)}.footer{padding:55px 0 0;background:#06060a;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding-bottom:45px}.footer-grid p,.footer-grid span,.footer-grid a{color:var(--muted);display:block;margin:6px 0}.footer h4{margin-top:0}.copyright{padding:20px;text-align:center;border-top:1px solid var(--line);color:#777;font-size:13px}@media(max-width:850px){.main-nav{display:none;position:absolute;top:76px;left:0;right:0;padding:20px;background:#0b0b10;border-bottom:1px solid var(--line);flex-direction:column}.main-nav.open{display:flex}.menu-toggle{display:block}.hero{padding:70px 0}.hero-grid,.booking-grid{grid-template-columns:1fr}.hero-visual{order:-1}.visual-card{max-width:330px}.song-grid,.service-grid{grid-template-columns:repeat(2,1fr)}.package-grid,.contact-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-item.large{grid-row:span 1}.player{flex-wrap:wrap}.player-info{min-width:0;flex:1}.section{padding:75px 0}}@media(max-width:520px){.hero h1{font-size:43px}.section h2,.booking-grid h2{font-size:35px}.song-grid,.service-grid,.gallery-grid{grid-template-columns:1fr}.hero-stats{gap:20px}.form-row{grid-template-columns:1fr}.gallery-item{min-height:150px}.section-head{align-items:start;flex-direction:column;gap:10px}.footer-grid{grid-template-columns:1fr}}
.card-actions-inline{display:flex;gap:8px;margin-top:12px}.btn-small{padding:8px 12px;font-size:12px;border-radius:8px}.btn-dark{background:#0b1b2c;border-color:#29445e}.song-card .cover img{display:block;width:100%;height:100%;object-fit:cover}.song-card .cover{overflow:hidden}.home-empty{grid-column:1/-1;padding:60px;text-align:center;border:1px dashed #29435c;border-radius:18px;color:#91a0b5}.is-loading main{opacity:.72;transition:opacity .12s ease}

.booking-success-message{margin-bottom:12px;padding:12px 14px;border:1px solid #285d32;background:#142719;color:#b9f5c2;border-radius:10px}

/* =========================================================
   DJ CHHOTU SOUND - HOMEPAGE PROFESSIONAL HERO
   ========================================================= */

.hero-contact-strip{
    position:relative;
    z-index:45;
    background:linear-gradient(90deg,#070b14 0%,#101522 50%,#070b14 100%);
    border-bottom:1px solid rgba(255,255,255,.10);
    color:#fff;
}

.hero-contact-inner{
    min-height:54px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}

.hero-address{
    display:flex;
    align-items:center;
    gap:9px;
    min-width:0;
    color:#dfe5ef;
    font-size:13px;
}

.hero-address strong{
    color:#fff;
    margin-right:7px;
}

.hero-contact-icon{font-size:17px;flex:0 0 auto}

.hero-phone{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:7px 13px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:999px;
    background:rgba(255,255,255,.05);
    color:#fff;
}

.hero-phone:hover{
    background:rgba(255,49,88,.18);
    border-color:rgba(255,49,88,.55);
}

/* Responsive hero: full image, no crop, smaller on desktop */
.photo-hero{
    width:100%;
    background:#05070d;
    padding:0;
}

.photo-hero-frame{
    width:min(1280px,100%);
    margin:0 auto;
    position:relative;
    overflow:hidden;
    background:#05070d;
    display:block;
}

.photo-hero-image{
    position:relative;
    inset:auto;
    width:100%;
    height:auto;
    aspect-ratio:1672 / 941;
    object-fit:contain;
    object-position:center;
    display:block;
}

.photo-hero-shade{
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(180deg,rgba(0,0,0,.02) 45%,rgba(0,0,0,.18) 100%);
}

.photo-hero-actions{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    z-index:3;
    width:100%;
    margin:0 auto;
    padding:0 0 22px 24px;
    display:flex;
    gap:12px;
}

.photo-hero-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:0 18px;
    border-radius:11px;
    font-weight:900;
    font-size:13px;
    transition:transform .2s ease,background .2s ease;
}

.photo-hero-btn:hover{transform:translateY(-2px)}

.photo-hero-btn-primary{
    color:#fff;
    background:linear-gradient(90deg,#ff174f,#ff6b18);
    box-shadow:0 10px 30px rgba(255,49,88,.28);
}

.photo-hero-btn-secondary{
    color:#fff;
    background:rgba(5,8,15,.72);
    border:1px solid rgba(255,255,255,.28);
    backdrop-filter:blur(8px);
}

.quick-contact-section{
    position:relative;
    z-index:5;
    margin-top:-1px;
    padding:18px 0;
    background:#08080d;
}

.quick-contact-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
}

.quick-contact-card{
    min-height:82px;
    display:flex;
    align-items:center;
    gap:13px;
    padding:15px 17px;
    border:1px solid var(--line);
    border-radius:15px;
    background:linear-gradient(145deg,#111119,#0c0d14);
    color:inherit;
}

.quick-contact-card:hover{border-color:rgba(255,49,88,.45)}

.quick-contact-icon{
    width:43px;
    height:43px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    border-radius:12px;
    background:rgba(255,49,88,.10);
    font-size:20px;
}

.quick-contact-card small{
    display:block;
    margin-bottom:2px;
    color:#ff6680;
    font-size:10px;
    font-weight:900;
    letter-spacing:1.1px;
}

.quick-contact-card strong{display:block;color:#fff;font-size:14px}
.quick-contact-card span:not(.quick-contact-icon){display:block;color:var(--muted);font-size:12px}

.address-highlight{
    margin-top:14px;
    padding:14px 16px;
    border:1px solid var(--line);
    border-radius:12px;
    background:rgba(255,255,255,.025);
}
.address-highlight b{display:block;color:#ff6680;font-size:12px;margin-bottom:3px}
.address-highlight span{color:#d5d5de;font-size:13px}

.contact-card{display:flex;flex-direction:column;gap:4px;padding:24px;color:inherit}
.contact-card b{color:#fff}
.contact-card span{color:var(--muted)}

@media(max-width:900px){
    .quick-contact-grid{grid-template-columns:1fr}
}

@media(max-width:700px){
    .hero-contact-inner{
        min-height:0;
        padding:9px 0;
        align-items:flex-start;
        flex-direction:column;
        gap:7px;
    }
    .hero-address{align-items:flex-start;font-size:11px;line-height:1.45}
    .hero-address strong{display:block;margin-right:0}
    .hero-phone{font-size:12px;padding:5px 11px}

    .photo-hero-frame{width:100%}
    .photo-hero-image{width:100%;height:auto;aspect-ratio:1672 / 941;object-fit:contain}
    .photo-hero-actions{padding:0 0 12px 12px;gap:8px}
    .photo-hero-btn{min-height:40px;padding:0 13px;font-size:12px}
}

@media(max-width:520px){
    .photo-hero-actions{padding:0 0 10px 10px}
    .photo-hero-btn{min-height:38px;padding:0 11px;font-size:11px}
    .quick-contact-card{min-height:74px;padding:12px 13px}
}



/* ===== Final site polish ===== */
.footer-muted{color:#737c8d!important;font-size:12px}.footer-legal{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;padding:16px;border-top:1px solid var(--line);color:#777}.footer-legal a{color:#9aa5b5;font-size:12px}.search-form{display:flex;gap:10px;margin:0 0 28px;max-width:800px}.search-form input{margin:0;flex:1}.search-form .btn{white-space:nowrap}.people-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.person-card{display:block;text-align:center;padding:20px;border:1px solid var(--line);background:var(--panel);border-radius:18px;color:inherit}.person-card img,.person-placeholder{width:120px;height:120px;border-radius:50%;object-fit:cover;margin:0 auto 14px;display:grid;place-items:center;background:linear-gradient(135deg,#171827,#341725);font-size:42px}.person-card h3{margin:0 0 5px}.person-card p{margin:0;color:var(--muted)}.profile-avatar{width:90px;height:90px;border-radius:50%;object-fit:cover;margin-bottom:12px;border:2px solid #ff3158}.song-detail{display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:45px;align-items:center;padding:25px;border:1px solid var(--line);background:var(--panel);border-radius:24px}.song-detail-cover{aspect-ratio:1;overflow:hidden;border-radius:18px;background:linear-gradient(135deg,#1a1b2a,#381825);display:grid;place-items:center;font-size:90px;color:#ff3158}.song-detail-cover img{width:100%;height:100%;object-fit:cover}.song-detail-info h1{font-size:clamp(32px,5vw,58px);line-height:1.05;margin:10px 0}.song-meta{color:#aeb9c8;font-size:15px}.detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.narrow-page{max-width:820px}.gallery-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-page-item{position:relative;min-height:220px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#111119;color:#fff;display:flex;align-items:flex-end}.gallery-page-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.gallery-page-item span{position:relative;z-index:2;width:100%;padding:15px;background:linear-gradient(transparent,rgba(0,0,0,.85));font-weight:700}.gallery-page-item.video{align-items:center;justify-content:center;font-size:24px}.gallery-page-item.video span{position:absolute;bottom:0}.gallery-grid .gallery-item{position:relative;overflow:hidden}.gallery-grid .gallery-item img{width:100%;height:100%;object-fit:cover}.gallery-grid .gallery-item span{position:absolute;left:0;right:0;bottom:0;padding:12px;background:linear-gradient(transparent,rgba(0,0,0,.85));color:#fff}.package-card .btn{margin-top:8px}.section-head h1{font-size:clamp(34px,5vw,56px);margin:5px 0}.song-info h3 a{color:inherit}.song-info h3 a:hover{color:#ff6680}.quick-contact-card strong{word-break:break-word}@media(max-width:900px){.people-grid{grid-template-columns:repeat(2,1fr)}.gallery-page-grid{grid-template-columns:repeat(2,1fr)}.song-detail{grid-template-columns:1fr;gap:25px}}@media(max-width:520px){.people-grid,.gallery-page-grid{grid-template-columns:1fr}.search-form{flex-direction:column}.song-detail{padding:15px}.song-detail-cover{max-width:360px;width:100%;margin:auto}}

/* =========================================================
   DJ CHHOTU SOUND - FINAL MOBILE MENU
   One menu implementation only. No duplicate touch handlers.
   ========================================================= */
.site-header{position:sticky;top:0;z-index:10000}
.site-header .nav-wrap{position:relative;z-index:10001}
.site-header .menu-toggle{position:relative;z-index:10003;display:none;border:0;background:transparent;color:#fff;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;padding:10px 12px;font-size:25px;line-height:1}
.site-header .main-nav{z-index:10002}
@media(max-width:850px){
  .site-header .menu-toggle{display:block;min-width:46px;min-height:46px}
  .site-header .main-nav{
    display:flex;
    position:absolute;
    top:76px;
    left:0;
    right:0;
    z-index:10002;
    flex-direction:column;
    gap:0;
    padding:8px 12px 14px;
    background:rgba(11,11,16,.98);
    border:1px solid var(--line);
    border-top:0;
    border-radius:0 0 16px 16px;
    box-shadow:0 18px 45px rgba(0,0,0,.55);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px);
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
  }
  .site-header .main-nav.open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }
  .site-header .main-nav a{
    display:flex;
    align-items:center;
    min-height:48px;
    padding:0 14px;
    border-bottom:1px solid rgba(255,255,255,.06);
    color:#f4f4f7;
    font-size:15px;
    font-weight:700;
    touch-action:manipulation;
    -webkit-tap-highlight-color:rgba(255,49,88,.16);
  }
  .site-header .main-nav a:last-child{border-bottom:0}
  .site-header .main-nav a:active{background:rgba(255,49,88,.12)}
  body.menu-open{overflow:hidden}
}
@media(min-width:851px){
  .site-header .main-nav{display:flex!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}
}


/* ARTISTS MOBILE IMAGE FIX */
.artists-page .people-grid .person-card > img,
.artists-page .people-grid .person-card > .person-placeholder{
  width:96px;
  height:96px;
  max-width:96px;
  max-height:96px;
  min-width:96px;
  min-height:96px;
  object-fit:cover;
  margin-left:auto;
  margin-right:auto;
}
@media(max-width:520px){
  .artists-page .people-grid .person-card > img,
  .artists-page .people-grid .person-card > .person-placeholder{
    width:82px;
    height:82px;
    max-width:82px;
    max-height:82px;
    min-width:82px;
    min-height:82px;
    margin-bottom:10px;
  }
  .artists-page .people-grid .person-card{
    padding:15px 12px;
  }
}


/* Final artist image sizing fix */
.artists-page .artist-list-avatar{
  display:block!important;
  width:96px!important;
  height:96px!important;
  min-width:96px!important;
  max-width:96px!important;
  min-height:96px!important;
  max-height:96px!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:50%!important;
  margin:0 auto 14px!important;
}
@media(max-width:520px){
  .artists-page .artist-list-avatar{
    width:72px!important;
    height:72px!important;
    min-width:72px!important;
    max-width:72px!important;
    min-height:72px!important;
    max-height:72px!important;
    margin-bottom:10px!important;
  }
  .artists-page .person-card{padding:15px 12px}
}
