 .footer-link {
     color: rgba(255, 255, 255, 0.55);
     transition: all 0.3s ease;
     font-size: 0.95rem;
 }

 .footer-link:hover {
     color: var(--gold);
     padding-left: 4px;
 }

 .social-icon {
     width: 46px;
     height: 46px;
     display: flex;
     align-items: center;
     justify-content: center;
     border-radius: 999px;
     border: 1px solid rgba(212, 175, 55, 0.25);
     color: rgba(212, 175, 55, 0.7);
     font-size: 1rem;
     transition: all 0.35s ease;
 }

 .social-icon:hover {
     background: var(--gold);
     color: var(--charcoal);
     transform: translateY(-4px);
     border-color: var(--gold);
 }

 :root {
     --gold: #D4AF37;
     --gold-light: #F5E6C8;
     --gold-bright: #f0c847;
     --burgundy: #710328;
     --burgundy-dark: #4d0219;
     --ivory: #FAF7F2;
     --charcoal: #1A1A1A;
 }

 * {
     scroll-behavior: smooth;
 }

 body {
     background-color: var(--ivory);
     font-family: 'Poppins', sans-serif;
     color: var(--charcoal);
     overflow-x: hidden;
 }

 /* ── Scrollbar ── */
 ::-webkit-scrollbar {
     width: 6px;
 }

 ::-webkit-scrollbar-track {
     background: var(--charcoal);
 }

 ::-webkit-scrollbar-thumb {
     background: var(--gold);
     border-radius: 3px;
 }

 /* ── Gold text gradient ── */
 .text-gold-gradient {
     background: linear-gradient(135deg, #D4AF37 0%, #f0c847 40%, #b8921a 70%, #D4AF37 100%);
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     background-clip: text;
 }

 /* ── Luxury divider ── */
 .divider-gold {
     display: flex;
     align-items: center;
     gap: 12px;
 }

 .divider-gold::before,
 .divider-gold::after {
     content: '';
     flex: 1;
     height: 1px;
     background: linear-gradient(90deg, transparent, var(--gold), transparent);
 }

 /* ── Floating orb animation (hero) ── */
 @keyframes floatOrb {

     0%,
     100% {
         transform: translateY(0px) scale(1);
         opacity: 0.15;
     }

     50% {
         transform: translateY(-30px) scale(1.05);
         opacity: 0.25;
     }
 }

 @keyframes floatOrb2 {

     0%,
     100% {
         transform: translateY(0px) scale(1);
         opacity: 0.1;
     }

     50% {
         transform: translateY(20px) scale(0.95);
         opacity: 0.2;
     }
 }

 @keyframes shimmer {
     0% {
         background-position: -200% center;
     }

     100% {
         background-position: 200% center;
     }
 }

 @keyframes fadeUp {
     from {
         opacity: 0;
         transform: translateY(40px);
     }

     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 @keyframes fadeIn {
     from {
         opacity: 0;
     }

     to {
         opacity: 1;
     }
 }

 @keyframes rotateGem {

     0%,
     100% {
         transform: rotate(-3deg) scale(1);
     }

     50% {
         transform: rotate(3deg) scale(1.02);
     }
 }

 @keyframes sparkle {

     0%,
     100% {
         opacity: 0;
         transform: scale(0) rotate(0deg);
     }

     50% {
         opacity: 1;
         transform: scale(1) rotate(180deg);
     }
 }

 @keyframes slideInLeft {
     from {
         opacity: 0;
         transform: translateX(-60px);
     }

     to {
         opacity: 1;
         transform: translateX(0);
     }
 }

 @keyframes slideInRight {
     from {
         opacity: 0;
         transform: translateX(60px);
     }

     to {
         opacity: 1;
         transform: translateX(0);
     }
 }

 @keyframes pulse-gold {

     0%,
     100% {
         box-shadow: 0 0 0 0 rgba(212, 175, 55, 0.4);
     }

     50% {
         box-shadow: 0 0 0 12px rgba(212, 175, 55, 0);
     }
 }

 @keyframes borderDraw {
     from {
         stroke-dashoffset: 1000;
     }

     to {
         stroke-dashoffset: 0;
     }
 }

 @keyframes ticker {
     0% {
         transform: translateX(0);
     }

     100% {
         transform: translateX(-50%);
     }
 }

 .hero-orb-1 {
     animation: floatOrb 7s ease-in-out infinite;
 }

 .hero-orb-2 {
     animation: floatOrb2 9s ease-in-out infinite 2s;
 }

 .hero-orb-3 {
     animation: floatOrb 11s ease-in-out infinite 4s;
 }

 .animate-fade-up {
     animation: fadeUp 0.9s ease forwards;
 }

 .animate-fade-up-delay-1 {
     animation: fadeUp 0.9s ease 0.2s forwards;
     opacity: 0;
 }

 .animate-fade-up-delay-2 {
     animation: fadeUp 0.9s ease 0.4s forwards;
     opacity: 0;
 }

 .animate-fade-up-delay-3 {
     animation: fadeUp 0.9s ease 0.6s forwards;
     opacity: 0;
 }

 .animate-shimmer {
     background: linear-gradient(90deg, var(--gold) 0%, #fff8e0 40%, var(--gold-bright) 60%, var(--gold) 100%);
     background-size: 200% auto;
     animation: shimmer 3s linear infinite;
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     background-clip: text;
 }

 /* ── Nav ── */
 .nav-blur {
     background: #710328;
     border-bottom: 1px solid rgba(212, 175, 55, 0.25);
 }

 .nav-link {
     font-family: 'Cinzel', serif;
     font-size: 0.7rem;
     letter-spacing: 0.15em;
     color: var(--gold-light);
     transition: color 0.3s, letter-spacing 0.3s;
 }

 .nav-link:hover {
     color: var(--gold);
     letter-spacing: 0.2em;
 }

 /* ── Hero ── */
 .hero-bg {
    background:
        linear-gradient(
            160deg,
            rgba(10, 10, 10, 0.92) 0%,
            rgba(20, 8, 12, 0.90) 45%,
            rgba(0, 0, 0, 0.96) 100%
        ),
        url('https://images.unsplash.com/photo-1611591437281-460bfbe1220a?w=1600&auto=format&fit=crop')
        center/cover no-repeat;
}

 .hero-title {
     font-family: 'Cinzel Decorative', serif;
     font-weight: 700;
     line-height: 1.1;
 }

 /* ── Buttons ── */
 .btn-gold {
     background: linear-gradient(135deg, #D4AF37, #f0c847, #b8921a);
     color: var(--burgundy-dark);
     font-family: 'Cinzel', serif;
     font-size: 0.72rem;
     letter-spacing: 0.18em;
     font-weight: 700;
     padding: 14px 32px;
     border-radius: 1px;
     position: relative;
     overflow: hidden;
     transition: all 0.4s;
     box-shadow: 0 4px 20px rgba(212, 175, 55, 0.35);
 }

 .btn-gold::before {
     content: '';
     position: absolute;
     inset: 0;
     background: linear-gradient(135deg, #f0c847, #D4AF37);
     opacity: 0;
     transition: opacity 0.4s;
 }

 .btn-gold:hover {
     transform: translateY(-2px);
     box-shadow: 0 8px 30px rgba(212, 175, 55, 0.5);
 }

 .btn-gold:hover::before {
     opacity: 1;
 }

 .btn-gold span {
     position: relative;
     z-index: 1;
 }

 .btn-outline-gold {
     border: 1px solid var(--gold);
     color: var(--gold);
     font-family: 'Cinzel', serif;
     font-size: 0.72rem;
     letter-spacing: 0.18em;
     font-weight: 600;
     padding: 13px 32px;
     border-radius: 1px;
     transition: all 0.4s;
 }

 .btn-outline-gold:hover {
     background: rgba(212, 175, 55, 0.1);
     box-shadow: 0 0 20px rgba(212, 175, 55, 0.3);
     transform: translateY(-2px);
 }

 /* ── Section label ── */
 .section-label {
     font-family: 'Cinzel', serif;
     font-size: 0.65rem;
     letter-spacing: 0.35em;
     color: var(--gold);
     text-transform: uppercase;
 }

 .section-title {
     font-family: 'Cinzel', serif;
     color: var(--charcoal);
     line-height: 1.2;
 }

 .section-title-light {
     font-family: 'Cinzel', serif;
     color: var(--gold-light);
     line-height: 1.2;
 }

 /* ── Ticker ── */
 .ticker-inner {
     animation: ticker 25s linear infinite;
     white-space: nowrap;
 }

 /* ── Category Cards ── */
 .cat-card {
     position: relative;
     overflow: hidden;
     cursor: pointer;
     border: 1px solid rgba(212, 175, 55, 0.15);
     transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
 }

 .cat-card::after {
     content: '';
     position: absolute;
     inset: 0;
     background: linear-gradient(135deg, rgba(113, 3, 40, 0) 0%, rgba(113, 3, 40, 0.85) 100%);
     transition: opacity 0.4s;
 }

 .cat-card:hover {
     transform: translateY(-8px);
     box-shadow: 0 20px 50px rgba(212, 175, 55, 0.2), 0 0 0 1px rgba(212, 175, 55, 0.4);
 }

 .cat-card:hover::after {
     opacity: 1.1;
 }

 .cat-card img {
     transition: transform 0.7s ease;
 }

 .cat-card:hover img {
     transform: scale(1.1);
 }

 .cat-card-content {
     position: absolute;
     bottom: 0;
     left: 0;
     right: 0;
     padding: 24px 20px;
     z-index: 10;
     background: linear-gradient(0deg, rgba(26, 26, 26, 0.95) 0%, transparent 100%);
     transition: padding 0.3s;
 }

 .cat-card:hover .cat-card-content {
     padding-bottom: 30px;
 }

 /* ── Product Cards ── */
 .product-card {
     background: white;
     border: 1px solid rgba(212, 175, 55, 0.12);
     transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
     overflow: hidden;
 }

 .product-card:hover {
     transform: translateY(-6px);
     box-shadow: 0 16px 40px rgba(212, 175, 55, 0.18), 0 0 0 1px rgba(212, 175, 55, 0.3);
 }

 .product-img-wrap {
     overflow: hidden;
     position: relative;
 }

 .product-img-wrap img {
     transition: transform 0.6s ease;
 }

 .product-card:hover .product-img-wrap img {
     transform: scale(1.08);
 }

 .product-overlay {
     position: absolute;
     inset: 0;
     background: rgba(113, 3, 40, 0.6);
     display: flex;
     align-items: center;
     justify-content: center;
     opacity: 0;
     transition: opacity 0.3s;
 }

 .product-card:hover .product-overlay {
     opacity: 1;
 }

 .wishlist-btn {
     position: absolute;
     top: 12px;
     right: 12px;
     width: 36px;
     height: 36px;
     background: rgba(255, 255, 255, 0.9);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     transition: all 0.3s;
     z-index: 10;
 }

 .wishlist-btn:hover {
     background: var(--burgundy);
     color: white;
     transform: scale(1.15);
 }

 /* ── Stat boxes ── */
 .stat-box {
     border: 1px solid rgba(212, 175, 55, 0.25);
     background: rgba(255, 255, 255, 0.04);
     backdrop-filter: blur(10px);
     transition: all 0.3s;
 }

 .stat-box:hover {
     border-color: rgba(212, 175, 55, 0.6);
     background: rgba(212, 175, 55, 0.06);
     transform: translateY(-3px);
 }

 /* ── Feature cards ── */
 .feature-card {
     background: white;
     border: 1px solid rgba(212, 175, 55, 0.15);
     transition: all 0.4s;
 }

 .feature-card:hover {
     transform: translateY(-6px);
     border-color: rgba(212, 175, 55, 0.5);
     box-shadow: 0 12px 40px rgba(212, 175, 55, 0.12);
 }

 .feature-icon-wrap {
     width: 72px;
     height: 72px;
     background: linear-gradient(135deg, rgba(113, 3, 40, 0.08), rgba(212, 175, 55, 0.12));
     border: 1px solid rgba(212, 175, 55, 0.3);
     display: flex;
     align-items: center;
     justify-content: center;
     margin: 0 auto 20px;
     transition: all 0.4s;
 }

 .feature-card:hover .feature-icon-wrap {
     background: linear-gradient(135deg, var(--burgundy), var(--burgundy-dark));
     border-color: var(--gold);
     box-shadow: 0 0 20px rgba(212, 175, 55, 0.3);
 }

 .feature-card:hover .feature-icon-wrap svg {
     color: var(--gold);
 }

 /* ── Testimonial cards ── */
 .testi-card {
     background: white;
     border: 1px solid rgba(212, 175, 55, 0.15);
     transition: all 0.4s;
     position: relative;
 }

 .testi-card::before {
     content: '"';
     position: absolute;
     top: 16px;
     left: 20px;
     font-family: 'Cinzel', serif;
     font-size: 5rem;
     color: rgba(212, 175, 55, 0.12);
     line-height: 1;
     pointer-events: none;
 }

 .testi-card:hover {
     transform: translateY(-5px);
     box-shadow: 0 12px 35px rgba(212, 175, 55, 0.14);
 }

 /* ── Bridal Slider ── */
 .slider-wrap {
     overflow: hidden;
     position: relative;
 }

 .slider-track {
     display: flex;
     transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
 }

 .slide {
     min-width: 100%;
     position: relative;
 }

 .slide-inner {
     position: relative;
     overflow: hidden;
 }

 .slide-inner img {
     transition: transform 8s ease;
 }

 .slide.active .slide-inner img {
     transform: scale(1.06);
 }

 /* ── Instagram grid ── */
 .insta-item {
     overflow: hidden;
     position: relative;
     aspect-ratio: 1;
     cursor: pointer;
 }

 .insta-item img {
     transition: transform 0.5s ease;
     width: 100%;
     height: 100%;
     object-fit: cover;
 }

 .insta-item:hover img {
     transform: scale(1.1);
 }

 .insta-overlay {
     position: absolute;
     inset: 0;
     background: rgba(113, 3, 40, 0.7);
     display: flex;
     align-items: center;
     justify-content: center;
     opacity: 0;
     transition: opacity 0.3s;
 }

 .insta-item:hover .insta-overlay {
     opacity: 1;
 }

 /* ── Newsletter ── */
 .newsletter-bg {
     background: linear-gradient(135deg, #710328 0%, #4d0219 50%, #710328 100%);
 }

 .newsletter-input {
     background: rgba(255, 255, 255, 0.07);
     border: 1px solid rgba(212, 175, 55, 0.4);
     color: white;
     font-family: 'Poppins', sans-serif;
     transition: border-color 0.3s, box-shadow 0.3s;
 }

 .newsletter-input::placeholder {
     color: rgba(245, 230, 200, 0.5);
 }

 .newsletter-input:focus {
     outline: none;
     border-color: var(--gold);
     box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.15);
 }

 /* ── Footer ── */
 .footer-bg {
     background: linear-gradient(180deg, #0f0508 0%, #1a0a10 60%, #0a0205 100%);
 }

 /* ── Scroll reveal ── */
 .reveal {
     opacity: 0;
     transform: translateY(30px);
     transition: opacity 0.8s ease, transform 0.8s ease;
 }

 .reveal.visible {
     opacity: 1;
     transform: translateY(0);
 }

 .reveal-left {
     opacity: 0;
     transform: translateX(-40px);
     transition: opacity 0.8s ease, transform 0.8s ease;
 }

 .reveal-left.visible {
     opacity: 1;
     transform: translateX(0);
 }

 .reveal-right {
     opacity: 0;
     transform: translateX(40px);
     transition: opacity 0.8s ease, transform 0.8s ease;
 }

 .reveal-right.visible {
     opacity: 1;
     transform: translateX(0);
 }

 /* ── Gold ornament ── */
 .ornament {
     color: var(--gold);
     font-size: 1.2rem;
 }

 /* ── Glass panel ── */
 .glass {
     background: rgba(255, 255, 255, 0.05);
     backdrop-filter: blur(12px);
     border: 1px solid rgba(212, 175, 55, 0.2);
 }

 /* ── Burger ── */
 #mobile-menu {
     display: none;
 }

 #mobile-menu.open {
     display: block;
 }

 /* ── Sparkle dots ── */
 .sparkle {
     position: absolute;
     width: 4px;
     height: 4px;
     background: var(--gold);
     clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
 }

 .sparkle:nth-child(1) {
     animation: sparkle 3s ease-in-out infinite;
 }

 .sparkle:nth-child(2) {
     animation: sparkle 3s ease-in-out infinite 1s;
 }

 .sparkle:nth-child(3) {
     animation: sparkle 3s ease-in-out infinite 2s;
 }

 .pulse-gold {
     animation: pulse-gold 2s ease-in-out infinite;
 }