/* Root palette - Updated to black, gold, and white */
:root {
  --bg: #0b0b0b;              /* Deep black */
  --ink: #ffffff;             /* Pure white text */
  --muted: #cccccc;           /* Light gray */
  --gold: #d4af37;            /* Classic gold */
  --gold-light: #e5c76d;      /* Lighter gold for accents */
  --gold-dark: #a28525;       /* Darker gold */
  --charcoal: #151515;        /* Card & section bg */
  --charcoal-light: #1e1e1e;  /* Lighter card bg */
}

/* Global */
html, body {
  background: var(--bg);
  color: var(--ink);
  font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, 'Helvetica Neue', Arial, sans-serif;
  line-height: 1.7;
}

h1, h2, h3, h4, h5, h6, .display-1, .display-2, .display-3 {
  font-family: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  letter-spacing: 0.5px;
  font-weight: 600;
  color: var(--gold-light);
}

/* Gold accents */
.text-gold { color: var(--gold) !important; }
.text-gold-light { color: var(--gold-light) !important; }
.bg-charcoal { background: var(--charcoal); }
.bg-charcoal-light { background: var(--charcoal-light); }
.border-gold { border-color: var(--gold) !important; }
.link-gold { color: var(--gold); text-decoration: none; }
.link-gold:hover { color: var(--gold-light); text-decoration: underline; }

/* Nav */
.navbar {
  background: rgba(10,10,10,0.95) !important;
  backdrop-filter: blur(6px);
  padding: 15px 0;
  transition: all 0.3s ease;
}
.navbar-brand { 
  font-weight: 700; 
  letter-spacing: 1px;
  font-size: 1.4rem;
}
.navbar .nav-link { 
  color: var(--ink) !important; 
  opacity: 0.85;
  font-size: 0.95rem;
  letter-spacing: 0.5px;
  margin: 0 10px;
  position: relative;
  padding: 5px 0 !important;
}
.navbar .nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background: var(--gold);
  transition: width 0.3s ease;
}
.navbar .nav-link:hover { 
  opacity: 1;
  color: var(--gold-light) !important; 
}
.navbar .nav-link:hover::after {
  width: 100%;
}
.navbar .btn { 
  border-radius: 999px;
  padding: 8px 20px;
  font-weight: 500;
}

/* Hero / Slider */
.hero {
  position: relative;
  min-height: 85vh;
  display: grid;
  place-items: center;
  overflow: hidden;
}
/* Gold texture overlay */
.hero::before {
  content: '';
  position: absolute; 
  inset: 0;
  background: 
    radial-gradient(1200px 400px at 10% 10%, rgba(212, 175, 55, 0.05), transparent 60%),
    radial-gradient(1000px 300px at 90% 0%, rgba(212, 175, 55, 0.07), transparent 50%),
    linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0));
  mix-blend-mode: overlay;
  pointer-events: none;
}

/* Gold shimmer on key text */
.shimmer {
  background: linear-gradient(90deg, var(--gold) 0%, #fff 20%, var(--gold) 40%, var(--gold-light) 60%, var(--gold) 80%, #fff 100%);
  -webkit-background-clip: text; 
  background-clip: text; 
  color: transparent;
  background-size: 300% 100%;
  animation: shimmer 8s linear infinite;
}
@keyframes shimmer { 
  0% { background-position: 0% 50%; } 
  100% { background-position: 100% 50%; } 
}

/* Section spacing */
.section { padding: 100px 0; }
.section-tight { padding: 60px 0; }

/* Cards */
.card-luxe {
  background: linear-gradient(180deg, var(--charcoal-light), var(--charcoal));
  border: 1px solid rgba(212,175,55,0.2);
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.3);
  transition: all 0.3s ease;
  overflow: hidden;
}
.card-luxe:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 40px rgba(0,0,0,0.4);
  border-color: rgba(212,175,55,0.4);
}
.card-luxe .card-title { 
  color: var(--ink); 
  font-weight: 600;
}
.card-luxe .icon { 
  font-size: 2rem; 
  color: var(--gold);
  margin-bottom: 15px;
}

.card-luxe img {
  border-bottom: 1px solid rgba(212,175,55,0.2);
  transition: transform 0.3s ease;
  height:15rem;
  width:100%;
  object-fit: cover;
}   

/* Diamonds list */
.check-gold {
  list-style: none;
  padding-left: 0;
}
.check-gold li {
  position: relative;
  padding-left: 30px;
  margin-bottom: 10px;
}
.check-gold li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: var(--gold);
  font-weight: bold;
}

/* Footer */
.footer { 
  background: #0a0a0a; 
  border-top: 1px solid rgba(212,175,55,0.2);
  padding: 80px 0 40px !important;
}
.footer h5, .footer h6 {
  color: var(--gold);
  margin-bottom: 20px;
}
.footer a { 
  color: var(--muted); 
  text-decoration: none;
  transition: all 0.2s ease;
}
.footer a:hover { 
  color: var(--gold); 
}
.footer .bi {
  margin-right: 8px;
  color: var(--gold);
}

/* Parallax banners */
.banner {
  min-height: 85vh; 
  display: grid; 
  place-items: center; 
  position: relative; 
  overflow: hidden;
  background-attachment: fixed; 
  background-size: cover; 
  background-position: center;
}
.banner::after {
  content: ''; 
  position: absolute; 
  inset: 0; 
  background: linear-gradient(180deg, rgba(11,11,11,0.3), rgba(11,11,11,0.9));
}
.banner .content { 
  position: relative; 
  z-index: 2; 
  padding: 40px 0;
}
.banner h1 {
  font-size: 3.5rem;
  margin-bottom: 15px;
}
.banner p {
  font-size: 1.2rem;
  max-width: 600px;
  margin: 0 auto;
}

/* Reveal on scroll */
.reveal { 
  opacity: 0; 
  transform: translateY(30px); 
  transition: opacity 0.8s ease, transform 0.8s ease; 
}
.reveal.active { 
  opacity: 1; 
  transform: translateY(0); 
}

/* Tables */
.table-luxe { 
  color: var(--ink); 
  border-color: rgba(212,175,55,0.2);
  width: 100%;
}
.table-luxe thead th { 
  border-bottom: 2px solid rgba(212,175,55,0.4); 
  color: var(--gold);
  font-weight: 600;
  padding: 15px;
}
.table-luxe tbody tr { 
  border-color: rgba(212,175,55,0.15); 
  transition: background 0.2s ease;
}
.table-luxe tbody tr:hover {
  background: rgba(212,175,55,0.05);
}
.table-luxe td {
  padding: 15px;
  vertical-align: middle;
}

/* Buttons */
.btn-gold { 
  background: var(--gold); 
  color: #111 !important; 
  border: none; 
  border-radius: 4px;
  padding: 12px 28px;
  font-weight: 500;
  letter-spacing: 0.5px;
  transition: all 0.3s ease;
}
.btn-gold:hover { 
  background: var(--gold-light); 
  color: #111;
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(212, 175, 55, 0.3);
}
.btn-outline-gold { 
  border: 1px solid var(--gold); 
  color: var(--gold); 
  background: transparent;
  border-radius: 4px;
  padding: 12px 28px;
  font-weight: 500;
  letter-spacing: 0.5px;
  transition: all 0.3s ease;
}
.btn-outline-gold:hover { 
  background: var(--gold); 
  color: #111;
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(212, 175, 55, 0.3);
}

/* Utilities */
.badge-gold { 
  background: var(--gold); 
  color: #111; 
  padding: 8px 16px;
  font-weight: 500;
  letter-spacing: 0.5px;
  border-radius: 4px;
}
.hr-gold { 
  border: 0; 
  height: 1px; 
  background: linear-gradient(90deg, transparent, rgba(212,175,55,0.6), transparent);
  margin: 30px 0;
}

/* Form elements */
.form-control {
  background: rgba(20, 20, 20, 0.8) !important;
  border: 1px solid rgba(212,175,55,0.3);
  color: var(--ink);
  padding: 12px 16px;
  border-radius: 4px;
  transition: all 0.3s ease;
}
.form-control:focus {
  background: rgba(30, 30, 30, 0.8) !important;
  border-color: var(--gold);
  box-shadow: 0 0 0 0.2rem rgba(212, 175, 55, 0.15);
  color: var(--ink);
}
.form-label {
  color: var(--muted);
  margin-bottom: 8px;
  font-size: 0.9rem;
}

/* Carousel */
.carousel-indicators button {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: rgba(255,255,255,0.5);
  border: none;
  margin: 0 5px;
}
.carousel-indicators .active {
  background-color: var(--gold);
}

/* Responsive tweaks */
@media (max-width: 991px) {
  .hero { min-height: 70vh; }
  .banner h1 { font-size: 2.8rem; }
  .section { padding: 80px 0; }
  .navbar .nav-link { margin: 5px 0; }
}
@media (max-width: 767px) {
  .banner h1 { font-size: 2.2rem; }
  .banner p { font-size: 1rem; }
}


.diamond-sparkle {
           position: absolute;
            width: 8px;
            height: 8px;
            background: #fff;
            border-radius: 50%;
            box-shadow: 0 0 10px 2px rgba(255, 255, 255, 0.8);
            animation: sparkle 3s infinite;
            pointer-events: none;
            z-index: 1;
   }
      
    @keyframes sparkle {
            0% { opacity: 0; transform: scale(0.8); }
            50% { opacity: 1; transform: scale(1.2); }
            100% { opacity: 0; transform: scale(0.8); }
        }

        :root{
text-decoration: none;
box-shadow: var(--shadow);
transition: transform .15s ease, background .2s ease, box-shadow .2s ease;
}

    /* Floating Social Media Buttons */
        .floating-social {
            position: fixed;
            left: 20px;
            top: 50%;
            transform: translateY(-50%);
            z-index: 1000;
            display: flex;
            flex-direction: column;
            gap: 12px;
        }
        
        .social-btn {
            width: 45px;
            height: 45px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #1e1e1e;
            background: #c89b3c;
            border: 1px solid #c89b3c;
            transition: all 0.3s ease;
            box-shadow: 0 4px 12px rgba(0,0,0,0.15);
            position: relative;
            overflow: hidden;
        }
        
        .social-btn:before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(255,255,255,0.1);
            transform: translateY(100%);
            transition: all 0.3s cubic-bezier(0.33, 0.66, 0.66, 1);
        }
        
        .social-btn:hover {
            transform: translateY(-3px);
            box-shadow: 0 6px 16px rgba(0,0,0,0.2);
            color: #c89b3c;
            background: transparent;
        }
        
        .social-btn:hover:before {
            transform: translateY(0);
        }
        
        .social-btn i {
            position: relative;
            z-index: 1;
            font-size: 1.2rem;
        }
        
        .social-tooltip {
            position: absolute;
            left: 60px;
            background: #1e1e1e;
            color: #fff;
            padding: 6px 12px;
            border-radius: 4px;
            font-size: 0.85rem;
            white-space: nowrap;
            opacity: 0;
            visibility: hidden;
            transition: all 0.3s ease;
            pointer-events: none;
        }
        
        .social-btn:hover .social-tooltip {
            opacity: 1;
            visibility: visible;
            left: 50px;
        }
        
        /* Responsive adjustments */
        @media (max-width: 992px) {
            .floating-social {
                left: 10px;
            }
            
            .social-btn {
                width: 40px;
                height: 40px;
            }
        }
        
        @media (max-width: 768px) {
            .floating-social {
                bottom: 20px;
                top: auto;
                left: 50%;
                transform: translateX(-50%);
                flex-direction: row;
            }
            
            .social-tooltip {
                display: none;
            }
        }

           .language-switcher {
            margin-left: 15px;
        }
        .lang-btn {
            background: transparent;
            border: 1px solid #D4AF37;
            color: #D4AF37;
            padding: 5px 15px;
            border-radius: 20px;
            cursor: pointer;
            transition: all 0.3s;
            font-size: 0.9rem;
        }
        .lang-btn:hover {
            background: rgba(212, 175, 55, 0.2);
        }