/* =====================================================
   Rebel Sound Lab - Premium Theme v4.0
   ===================================================== */

/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');

/* Reset */

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

html{
    scroll-behavior:smooth;
}

:root{
    --bg:#000;
    --bg2:#111;
    --card:rgba(255,255,255,.06);
    --gold:#D4AF37;
    --gold-light:#F5E6A9;
    --white:#fff;
    --text:#d8d8d8;
    --border:rgba(255,255,255,.08);
    --shadow:0 10px 30px rgba(0,0,0,.45);
}

body{
    font-family:'Poppins',sans-serif;
    background:var(--bg);
    color:var(--white);
    line-height:1.7;
    overflow-x:hidden;
}

/* Scrollbar */

::-webkit-scrollbar{
    width:10px;
}

::-webkit-scrollbar-track{
    background:#111;
}

::-webkit-scrollbar-thumb{
    background:var(--gold);
    border-radius:20px;
}

/* Links */

a{
    text-decoration:none;
    color:inherit;
    transition:.3s;
}

a:hover{
    color:var(--gold);
}

/* Images */

img{
    max-width:100%;
    display:block;
}

/* Container */

.container{
    max-width:1200px;
    margin:0 auto;
    padding-left:15px;
    padding-right:15px;
}

/* Sections */

section{
    padding: 70px 0;
}

/* ==========================
   Premium Navbar
========================== */

.navbar{
    background:rgba(0,0,0,.78);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(212,175,55,.15);
    transition:.35s;
}

.navbar-brand{
    font-weight:700;
    color:#fff !important;
}

.navbar-brand span{
    font-family:'Playfair Display',serif;
    color:var(--gold);
    font-size:1.6rem;
}

.nav-link{
    color:#fff !important;
    margin-left:15px;
    font-weight:500;
}

.nav-link:hover,
.nav-link.active{
    color:var(--gold) !important;
}

/* ==========================
   Hero
========================== */

.hero{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;

    background-image:
        linear-gradient(rgba(0,0,0,.78),rgba(0,0,0,.82)),
        url("../hero-banner.webp");

    background-size:cover;
    background-repeat:no-repeat;
    background-position:center center;
}

.hero h1{
    font-family:'Playfair Display',serif;
    font-size:4rem;
    font-weight:700;
    color:var(--gold);
    margin-bottom:20px;
    line-height:1.2;
}

.hero p{
    color:#e6e6e6;
    font-size:1.2rem;
    max-width:760px;
    margin:0 auto 35px;
}

/* Hero Buttons */

.hero-buttons{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
}

/* ==========================
   Section Titles
========================== */

.section-title{
    font-family:'Playfair Display',serif;
    font-size:2.7rem;
    color:var(--gold);
    text-align:center;
    margin-bottom:15px;
}

.section-subtitle{
    text-align:center;
    color:var(--text);
    max-width:700px;
    margin:0 auto 55px;
}

/* ==========================
   Buttons
========================== */

.btn-gold{
    display:inline-block;
    padding:15px 38px;
    background:var(--gold);
    color:#000;
    border-radius:50px;
    font-weight:600;
    transition:.35s;
}

.btn-gold:hover{
    background:var(--gold-light);
    color:#000;
    transform:translateY(-4px);
}

.btn-outline{
    display:inline-block;
    padding:15px 38px;
    border:2px solid var(--gold);
    color:var(--gold);
    border-radius:50px;
    transition:.35s;
}

.btn-outline:hover{
    background:var(--gold);
    color:#000;
    transform:translateY(-4px);
}

/* ==========================
   Cards
========================== */

.card{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:22px;
    padding:32px;
    backdrop-filter:blur(12px);
    box-shadow:var(--shadow);
    transition:.35s;
    height:100%;
}

.card:hover{
    transform:translateY(-10px);
    border-color:var(--gold);
    box-shadow:0 20px 45px rgba(212,175,55,.18);
}

.card h3,
.card h4{
    color:var(--gold-light);
    margin-bottom:15px;
}

.card p{
    color:var(--text);
}

.card h2{
    color: var(--gold-light);
    margin-bottom: 15px;
}

.card .price{
    color: var(--gold);
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 20px;
}

.card ul{
    color: var(--white);
    padding-left: 20px;
}

.card li{
    color: var(--white);
    margin-bottom: 10px;
}

.popular{
    color: var(--gold);
    font-weight: 700;
    margin-bottom: 10px;
}

/* ==========================
   Footer
========================== */

footer{
    background:#0b0b0b;
    border-top:1px solid rgba(212,175,55,.15);
}

footer a{
    color:var(--gold);
}

footer a:hover{
    color:var(--gold-light);
}

/* ==========================
   Music Page
========================== */

.music-container{
    max-width:900px;
    margin:0 auto;
    padding:140px 20px 80px;
}

.music-container h1{
    text-align:center;
    color:var(--gold);
    font-size:3rem;
    margin-bottom:50px;
    font-family:'Playfair Display',serif;
}

.music-card{
    background:var(--card);
    border:1px solid rgba(212,175,55,.20);
    border-radius:20px;
    padding:28px;
    margin-bottom:30px;
    backdrop-filter:blur(10px);
    box-shadow:var(--shadow);
    transition:.35s;
}

.music-card:hover{
    transform:translateY(-8px);
    border-color:var(--gold);
    box-shadow:0 20px 40px rgba(212,175,55,.20);
}

.music-card h2{
    color:var(--gold-light);
    margin-bottom:20px;
}

.music-card audio{
    width:100%;
}

/* ==========================
   Responsive
========================== */

@media (max-width:768px){

section{
    padding:70px 0;
}

.container{
    padding-left:15px;
    padding-right:15px;
}
   
.hero{
    background-position: 10% center;
}
   
.hero h1{
    font-size:2.5rem;
}

.hero p{
    font-size:1.05rem;
}

.hero-buttons{
    flex-direction:column;
    gap:15px;
}

.btn-gold,
.btn-outline{
    width:100%;
    max-width:300px;
    text-align:center;
}

.section-title{
    font-size:2rem;
}

.card{
    padding:25px;
}

.music-container{
    padding:110px 15px 60px;
}

.music-container h1{
    font-size:2rem;
}

.music-card{
    padding:20px;
}

.navbar-brand span{
    font-size:1.3rem;
}

.nav-link{
    margin-left:0;
    padding:12px 0;
    text-align:center;
}

}

/* ==========================
   Smooth Animation
========================== */

.card,
.btn-gold,
.btn-outline,
.music-card{
    transition:all .35s ease;
}

html{
    scroll-behavior:smooth;
}

/* ===========================
   Welcome Section
=========================== */

.welcome-section{
    background:#0b0b0b;
}

.welcome-box{
    max-width:850px;
    margin:auto;
}

.welcome-text{
    color:#d7d7d7;
    font-size:1.1rem;
    line-height:1.9;
    margin-top:20px;
}

.page-header{
    padding-top:90px;
    margin-bottom:30px;
}

.page-header h1{
    margin-bottom:15px;
}

.page-header p{
    margin-bottom:0;
}

/* CONTACT PAGE FIX */

.contact-page {
    padding-top: 120px;
    padding-bottom: 60px;
}

.contact-page h1 {
    color: #f5b942;
    text-align: center;
    font-size: 48px;
    line-height: 1.2;
    margin-bottom: 20px;
}

.contact-page .subtitle {
    text-align: center;
    color: #ccc;
    margin: 0 auto 50px;
    max-width: 1100px;
}

.contact-page .card {
    background: #1c1c1c;
    border: 2px solid #f5b942;
    border-radius: 15px;
    padding: 25px;
    margin-bottom: 25px;
    height: auto;
}

.contact-page .btn {
    display: block;
    width: 100%;
    margin-top: 25px;
    background: #f5b942;
    color: #111;
    padding: 15px 20px;
    border-radius: 10px;
    text-align: center;
    font-weight: bold;
}

@media (max-width: 768px) {
    .contact-page {
        padding-top: 160px;
    }

    .contact-page h1 {
        font-size: 48px;
    }
}

/* =====================================================
   CONTACT PAGE - NAVBAR HEIGHT FIX
   ===================================================== */

.contact-page {
    padding-top: 40px;
}

.contact-page h1 {
    position: relative;
    z-index: 2;
}

/* Keep navbar compact */
.navbar {
    min-height: 90px;
    padding-top: 12px;
    padding-bottom: 12px;
}

.navbar .container {
    min-height: 60px;
}


/* MOBILE */
@media (max-width: 768px) {

    .navbar {
        min-height: 110px;
        padding-top: 15px;
        padding-bottom: 15px;
    }

    .navbar .container {
        min-height: 70px;
    }

    .contact-page {
        padding-top: 35px;
    }

    .contact-page h1 {
        font-size: 48px;
    }
}

/* =====================================================
   FIX OVERSIZED NAVBAR
   ===================================================== */

nav.navbar {
    height: auto !important;
    min-height: 0 !important;
    padding: 12px 0 !important;
}

nav.navbar .container {
    height: auto !important;
    min-height: 60px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

nav.navbar .navbar-brand {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

nav.navbar .navbar-collapse {
    height: auto !important;
}

nav.navbar .navbar-nav {
    height: auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}


/* CONTACT CONTENT */
.contact-page {
    padding-top: 40px !important;
    padding-bottom: 60px !important;
}

.contact-page h1 {
    display: block !important;
    visibility: visible !important;
    position: relative !important;
    z-index: 10 !important;
}

@media (max-width: 768px) {

    nav.navbar {
        min-height: 80px !important;
        padding: 10px 0 !important;
    }

    nav.navbar .container {
        min-height: 60px !important;
    }

    .contact-page {
        padding-top: 35px !important;
    }
}

/* =====================================================
   CONTACT PAGE - FINAL HEADER FIX
   ===================================================== */

.contact-body .navbar {
    padding: 10px 0 !important;
    min-height: 0 !important;
}

.contact-body .navbar .container {
    min-height: 60px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.contact-body .contact-page {
    padding-top: 35px !important;
}

.contact-body .contact-page h1 {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #f5b942 !important;
    text-align: center !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
}

@media (max-width: 768px) {

    .contact-body .contact-page {
        padding-top: 55px !important;
    }

  .contact-body .contact-page {
    padding-top: 80px !important;
}

/* FINAL CONTACT HEADING POSITION */

.contact-body .contact-page h1 {
    margin-top: 55px !important;
}

@media (max-width: 768px) {
    .contact-body .contact-page h1 {
        margin-top: 30px !important;
    }
}

   @media (max-width: 768px) {
    .contact-page {
        padding-top: 70px !important;
    }
}
