/* ================================================================
   KEMILAU — Luxury Bullion Marketplace
   Full Dark Luxury Edition · Gold · Silver · Copper · Rose Gold
   Inspired by PAMP Suisse · Antam · Luxury Watch Aesthetics
   ================================================================ */

/* ===== FONT IMPORTS ===== */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,900;1,400&family=Lato:wght@300;400;700;900&family=Oswald:wght@400;500;600;700&display=swap');

/* ===== LUXURY VARIABLES ===== */
:root {
    /* Gold */
    --km-gold: #D4AF37;
    --km-gold-light: #F0D060;
    --km-gold-dark: #AA8C28;
    --km-gold-muted: #C9A84C;
    --km-gold-gradient: linear-gradient(135deg, #C9A230 0%, #F5D160 40%, #D4AF37 60%, #AA8C28 100%);
    --km-gold-gradient-h: linear-gradient(90deg, #C9A230 0%, #F5D160 50%, #C9A230 100%);

    /* Silver */
    --km-silver: #C0C0C0;
    --km-silver-light: #EFEFEF;
    --km-silver-dark: #909090;
    --km-silver-gradient: linear-gradient(135deg, #8C8C8C 0%, #D8D8D8 40%, #EFEFEF 60%, #A0A0A0 100%);

    /* Copper */
    --km-copper: #B87333;
    --km-copper-light: #D4955A;
    --km-copper-dark: #8B5E3C;
    --km-copper-gradient: linear-gradient(135deg, #8B5E3C 0%, #D4955A 40%, #B87333 60%, #8B4513 100%);

    /* Rose Gold — NEW */
    --km-rose-gold: #C08478;
    --km-rose-gold-light: #D4A090;
    --km-rose-gold-dark: #8B5A52;
    --km-rose-gold-gradient: linear-gradient(135deg, #8B5A52 0%, #C08478 40%, #D4A090 60%, #8B5A52 100%);

    /* Dark palette */
    --km-black: #030305;
    --km-section-alt: #07070F;
    --km-dark: #0D0D1A;
    --km-charcoal: #1C1C2E;
    --km-charcoal-light: #252540;
    --km-charcoal-mid: #2F2F4A;
    --km-cream: #F5F0E8;
    --km-cream-dark: #E8E0D0;

    /* Glass system */
    --km-glass-bg: rgba(18, 18, 34, 0.88);
    --km-glass-bg-hover: rgba(24, 24, 42, 0.95);
    --km-glass-border: rgba(212, 175, 55, 0.12);
    --km-glass-border-hover: rgba(212, 175, 55, 0.32);
    --km-glass-shadow: 0 20px 60px rgba(0, 0, 0, 0.55);
    --km-glass-shadow-hover: 0 28px 72px rgba(0, 0, 0, 0.65), 0 0 32px rgba(212, 175, 55, 0.08);

    /* Text */
    --km-text-primary: rgba(255, 255, 255, 0.9);
    --km-text-secondary: rgba(255, 255, 255, 0.78);
    --km-text-muted: rgba(255, 255, 255, 0.52);
    --km-text-label: #B0B0B0;
    --km-text-value: #FFFFFF;
    --km-text-hint: rgba(255, 255, 255, 0.50);

    /* Bootstrap overrides */
    --bs-primary: #1C1C2E;
    --bs-secondary: #D4AF37;
    --bs-primary-rgb: 28, 28, 46;
    --bs-secondary-rgb: 212, 175, 55;
    --bs-light: #F5F0E8;
    --bs-dark: #030305;
    --bs-dark-rgb: 3, 3, 5;
}

/* ===== GLOBAL ===== */
body {
    font-family: 'Lato', sans-serif;
    color: var(--km-text-secondary);
    background: var(--km-black);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Playfair Display', serif;
    color: var(--km-text-primary);
}

.km-price {
    font-family: 'Oswald', sans-serif;
}

a {
    color: inherit;
}

/* ===== GLOBAL DARK OVERRIDES ===== */
.bg-light {
    background-color: var(--km-glass-bg) !important;
}

.bg-white {
    background-color: rgba(14, 14, 26, 0.92) !important;
}

.text-dark {
    color: var(--km-text-primary) !important;
}

.text-muted {
    color: var(--km-text-muted) !important;
}

.text-white-50 {
    color: rgba(255, 255, 255, 0.58) !important;
}

.text-black-50 {
    color: rgba(255, 255, 255, 0.58) !important;
}

/* ===== BOOTSTRAP CLASS OVERRIDES ===== */
.bg-primary {
    background-color: var(--km-charcoal) !important;
}

.bg-secondary {
    background-color: var(--km-gold) !important;
}

.text-primary {
    color: var(--km-charcoal) !important;
}

.text-secondary {
    color: var(--km-gold) !important;
}

.border-primary {
    border-color: var(--km-charcoal) !important;
}

.border-secondary {
    border-color: var(--km-gold) !important;
}

.btn-primary {
    background: var(--km-charcoal);
    border-color: var(--km-gold);
    color: #fff;
    font-family: 'Oswald', sans-serif;
    letter-spacing: 1px;
}

.btn-primary:hover {
    background: var(--km-gold);
    border-color: var(--km-gold-dark);
    color: var(--km-dark);
}

.btn-secondary {
    background: var(--km-gold-gradient);
    border-color: var(--km-gold-dark);
    color: var(--km-dark);
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    letter-spacing: 1px;
}

.btn-secondary:hover {
    background: var(--km-gold-dark);
    color: #fff;
}

/* ===== SPINNER ===== */
#spinner {
    background: var(--km-black) !important;
}

.spinner-grow.text-primary {
    color: var(--km-gold) !important;
}

/* ===== FULL-WIDTH FIXED HEADER ===== */
/* style.css sets .fixed-top { background: white } — kill it */
.fixed-top {
    background: var(--km-black) !important;
    padding: 0 !important;
}

/* Expand the constrained Bootstrap .container children of the fixed-top wrapper
   so topbar gradient and navbar glass fill edge-to-edge, not just max-width center */
.container-fluid.fixed-top>.container {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* ===== TOPBAR ===== */
.topbar {
    background: linear-gradient(90deg, var(--km-black) 0%, #0A0A14 100%) !important;
    border-radius: 0 !important;
    padding: 10px 1.5rem !important;
    border-bottom: 1px solid rgba(212, 175, 55, 0.08);
}

.topbar .top-info a,
.topbar .top-link a small {
    color: rgba(255, 255, 255, 0.6) !important;
}

.topbar .top-info i,
.topbar .top-info .fab {
    color: var(--km-gold) !important;
}

/* ===== SPOT TICKER ===== */
.spot-ticker {
    font-family: 'Oswald', sans-serif;
    font-size: 12px;
    letter-spacing: 0.5px;
    color: rgba(255, 255, 255, 0.65);
    display: flex;
    gap: 20px;
    align-items: center;
}

.spot-ticker .st-label {
    color: rgba(255, 255, 255, 0.55);
    font-size: 10px;
    letter-spacing: 1.5px;
}

.spot-gold {
    color: #F5D160;
}

.spot-silver {
    color: #D8D8D8;
}

.spot-copper {
    color: #D4955A;
}

.spot-up {
    color: #4CAF50;
    font-size: 10px;
}

.spot-down {
    color: #F44336;
    font-size: 10px;
}

/* ===== NAVBAR — DARK GLASS ===== */
.navbar {
    background: rgba(3, 3, 7, 0.94) !important;
    border-bottom: 1px solid rgba(212, 175, 55, 0.14) !important;
    backdrop-filter: blur(24px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(180%) !important;
    height: auto !important;
    min-height: 80px;
    padding: 10px 1.5rem;
    transition: background 0.3s ease, box-shadow 0.3s ease;
}

.navbar-brand h1 {
    font-family: 'Playfair Display', serif;
    font-weight: 900;
    background: var(--km-gold-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-size: 2rem !important;
    letter-spacing: 3px;
    margin: 0;
    line-height: 1;
}

/* Mobile collapse — keep dark */
.navbar-collapse,
.collapse.navbar-collapse {
    background: rgba(3, 3, 7, 0.98) !important;
}

.navbar-collapse.show,
.navbar-collapse.collapsing {
    padding: 16px;
    border: 1px solid rgba(212, 175, 55, 0.12);
    border-top: none;
    border-radius: 0 0 8px 8px;
}

.navbar .navbar-nav .nav-link {
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.68) !important;
    padding: 8px 14px;
    transition: color 0.25s;
    position: relative;
}

.navbar .navbar-nav .nav-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 14px;
    right: 14px;
    height: 1px;
    background: var(--km-gold-gradient);
    transform: scaleX(0);
    transition: transform 0.3s ease;
}

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

.navbar .navbar-nav .nav-link:hover::after,
.navbar .navbar-nav .nav-link.active::after {
    transform: scaleX(1);
}

.navbar-toggler {
    border-color: rgba(212, 175, 55, 0.25) !important;
}

.navbar-toggler .fa-bars {
    color: rgba(255, 255, 255, 0.75) !important;
}

.dropdown-menu {
    background: rgba(5, 5, 14, 0.98) !important;
    border: 1px solid rgba(212, 175, 55, 0.18) !important;
    border-radius: 4px !important;
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.7);
}

.dropdown-item {
    color: rgba(255, 255, 255, 0.65) !important;
    font-family: 'Lato', sans-serif;
    font-size: 13px;
}

.dropdown-item:hover {
    background: rgba(212, 175, 55, 0.08) !important;
    color: var(--km-gold) !important;
}

/* Navbar icons */
.fa-shopping-bag {
    color: rgba(255, 255, 255, 0.65) !important;
}

.fa-user {
    color: rgba(255, 255, 255, 0.65) !important;
}

.position-absolute.bg-secondary {
    background: var(--km-gold) !important;
    color: var(--km-dark) !important;
}

/* Search button in navbar */
.btn.border.border-secondary.btn-md-square.rounded-circle.bg-white {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: rgba(212, 175, 55, 0.25) !important;
}

.btn.border.border-secondary.btn-md-square.rounded-circle.bg-white .fa-search {
    color: var(--km-gold) !important;
}

/* ===== SEARCH MODAL ===== */
#searchModal .modal-content {
    background: rgba(5, 5, 14, 0.97);
    border: 1px solid rgba(212, 175, 55, 0.2);
    backdrop-filter: blur(30px);
}

#searchModal .modal-title {
    color: white;
    font-family: 'Playfair Display', serif;
}

#searchModal .form-control {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(212, 175, 55, 0.3);
    color: white;
}

#searchModal .form-control:focus {
    border-color: var(--km-gold);
    box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.1);
    background: rgba(255, 255, 255, 0.08);
}

#searchModal .input-group-text {
    background: var(--km-gold);
    border-color: var(--km-gold);
    color: var(--km-dark);
}

.btn-close {
    filter: invert(1) brightness(2);
}

/* ===== HERO — CINEMATIC ===== */
.hero-luxury {
    background:
        radial-gradient(ellipse 70% 90% at 15% 55%, rgba(212, 175, 55, 0.055) 0%, transparent 62%),
        radial-gradient(ellipse 45% 65% at 82% 75%, rgba(192, 132, 120, 0.045) 0%, transparent 58%),
        linear-gradient(160deg, #020204 0%, #07071A 40%, #0D0D22 65%, #050510 100%);
    min-height: 640px;
    position: relative;
    overflow: hidden;
    padding: 80px 0;
}

/* Subtle bullion-pattern overlay */
.hero-luxury::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23D4AF37' stroke-opacity='0.04' stroke-width='0.5'%3E%3Crect x='10' y='10' width='60' height='60'/%3E%3Crect x='20' y='20' width='40' height='40'/%3E%3Cline x1='40' y1='0' x2='40' y2='80'/%3E%3Cline x1='0' y1='40' x2='80' y2='40'/%3E%3C/g%3E%3C/svg%3E");
    pointer-events: none;
}

.hero-eyebrow {
    font-family: 'Oswald', sans-serif;
    font-size: 11px;
    letter-spacing: 7px;
    text-transform: uppercase;
    color: var(--km-gold);
    margin-bottom: 14px;
    display: block;
    opacity: 0.85;
}

.hero-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2rem, 5vw, 3.9rem);
    font-weight: 900;
    color: white;
    line-height: 1.06;
    margin-bottom: 22px;
    letter-spacing: -0.3px;
}

.hero-title .gold-text {
    background: var(--km-gold-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    display: block;
}

.hero-subtitle {
    color: rgba(255, 255, 255, 0.72);
    font-size: 1rem;
    line-height: 1.9;
    margin-bottom: 34px;
    font-weight: 300;
    max-width: 480px;
    letter-spacing: 0.25px;
}

.gold-divider {
    width: 64px;
    height: 1px;
    background: var(--km-gold-gradient);
    margin-bottom: 28px;
    opacity: 0.75;
}

/* Spot price glass panel */
.hero-spot-prices {
    background: rgba(255, 255, 255, 0.022);
    border: 1px solid rgba(212, 175, 55, 0.18);
    border-radius: 5px;
    padding: 18px 22px;
    margin-bottom: 34px;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    position: relative;
    z-index: 2;
}

.hero-spot-prices .sp-label {
    font-family: 'Oswald', sans-serif;
    font-size: 10px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.58);
    display: block;
    margin-bottom: 4px;
}

.hero-spot-prices .sp-val {
    font-family: 'Oswald', sans-serif;
    font-size: 1.1rem;
    font-weight: 600;
}

.hero-spot-prices .sp-change {
    font-size: 11px;
    margin-left: 6px;
}

.hero-btn-primary {
    background: var(--km-gold-gradient);
    color: var(--km-dark);
    border: none;
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    padding: 15px 42px;
    border-radius: 2px;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-block;
    position: relative;
    z-index: 2;
}

.hero-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 40px rgba(212, 175, 55, 0.5);
    color: var(--km-dark);
}

.hero-btn-outline {
    background: transparent;
    color: rgba(255, 255, 255, 0.68);
    border: 1px solid rgba(255, 255, 255, 0.18);
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    padding: 14px 42px;
    border-radius: 2px;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-block;
    position: relative;
    z-index: 2;
}

.hero-btn-outline:hover {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.35);
    color: white;
    transform: translateY(-2px);
}

/* Hero carousel */
.hero-carousel {
    position: relative;
    z-index: 2;
}

.hero-carousel .carousel-item {
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid rgba(212, 175, 55, 0.22);
    box-shadow: 0 32px 90px rgba(0, 0, 0, 0.7), 0 0 0 1px rgba(212, 175, 55, 0.05);
}

.hero-carousel .carousel-item a {
    position: absolute;
    //bottom: 20px; 
    right: 20px;
    font-size: 12px;
    background: var(--km-gold-gradient);
    color: var(--km-dark);
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 8px 20px;
    border-radius: 2px;
    text-decoration: none;
}

.carousel-control-prev,
.carousel-control-next {
    background: rgba(212, 175, 55, 0.75) !important;
    border: 1px solid var(--km-gold-dark) !important;
    opacity: 0.85;
    width: 38px !important;
    height: 38px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    border-radius: 3px !important;
}

.carousel-control-prev {
    left: 12px !important;
}

.carousel-control-next {
    right: 12px !important;
}

.carousel-control-prev:hover,
.carousel-control-next:hover {
    opacity: 1;
    background: var(--km-gold) !important;
}

/* ===== PAGE HEADER ===== */
.page-header {
    background: linear-gradient(160deg, var(--km-black) 0%, #07071A 55%, #0D0D22 100%);
    position: relative;
    overflow: hidden;
}

.page-header::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23D4AF37' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4z'/%3E%3C/g%3E%3C/svg%3E");
    pointer-events: none;
}

.page-header::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1.5px;
    background: var(--km-gold-gradient);
}

.page-header h1 {
    font-family: 'Playfair Display', serif;
    font-size: 2.5rem;
    letter-spacing: 3px;
    color: white;
}

.page-header .breadcrumb-item a {
    color: var(--km-gold);
    text-decoration: none;
}

.page-header .breadcrumb-item.active {
    color: rgba(255, 255, 255, 0.72);
}

.page-header .breadcrumb-item+.breadcrumb-item::before {
    color: rgba(212, 175, 55, 0.65);
}

/* ===== SECTION BACKGROUNDS ===== */
.fruite {
    background: var(--km-section-alt);
}

.vesitable {
    background: var(--km-black);
}

.featurs {
    background: var(--km-section-alt) !important;
}

.testimonial {
    background: var(--km-black) !important;
}

.km-bestsellers {
    background: var(--km-section-alt) !important;
}

/* ===== SECTION HEADINGS ===== */
.km-section-label {
    font-family: 'Oswald', sans-serif;
    font-size: 10px;
    letter-spacing: 6px;
    text-transform: uppercase;
    color: var(--km-gold);
    margin-bottom: 10px;
    display: block;
    opacity: 0.8;
}

.km-section-title {
    font-family: 'Playfair Display', serif;
    color: rgba(255, 255, 255, 0.92) !important;
    margin-bottom: 15px;
}

.km-gold-bar {
    width: 56px;
    height: 1px;
    background: var(--km-gold-gradient);
    margin-bottom: 40px;
    opacity: 0.65;
}

/* ===== NAV TABS / PILLS ===== */
.nav-pills .nav-link {
    border-radius: 2px !important;
    font-family: 'Oswald', sans-serif;
    font-weight: 500;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.55) !important;
    border: 1px solid rgba(212, 175, 55, 0.12) !important;
    background: rgba(255, 255, 255, 0.025) !important;
    padding: 9px 24px;
    transition: all 0.3s;
}

.nav-pills .nav-link:hover {
    border-color: rgba(212, 175, 55, 0.3) !important;
    color: var(--km-gold) !important;
    background: rgba(212, 175, 55, 0.05) !important;
}

.nav-pills .nav-link.active,
.fruite .tab-class .nav-item a.active {
    background: var(--km-gold-gradient) !important;
    color: var(--km-dark) !important;
    border-color: var(--km-gold-dark) !important;
}

.fruite .tab-class .nav-item a.active span {
    color: var(--km-dark) !important;
}

.fruite .tab-class .nav-item a {
    background: rgba(255, 255, 255, 0.025) !important;
}

.fruite .tab-class .nav-item a span {
    color: rgba(255, 255, 255, 0.55) !important;
}

/* ===== METAL BADGES ===== */
.badge-emas {
    background: var(--km-gold-gradient);
    color: var(--km-dark);
    font-family: 'Oswald', sans-serif;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-size: 11px;
}

.badge-perak {
    background: var(--km-silver-gradient);
    color: #222;
    font-family: 'Oswald', sans-serif;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-size: 11px;
}

.badge-tembaga {
    background: var(--km-copper-gradient);
    color: white;
    font-family: 'Oswald', sans-serif;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-size: 11px;
}

.badge-rose {
    background: var(--km-rose-gold-gradient);
    color: white;
    font-family: 'Oswald', sans-serif;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-size: 11px;
}

.badge-promo {
    background: #c0392b;
    color: white;
    font-family: 'Oswald', sans-serif;
    letter-spacing: 1px;
    font-size: 11px;
}

/* ===== GLASSMORPHIC PRODUCT CARDS ===== */
.bullion-item,
.fruite-item {
    background: var(--km-glass-bg) !important;
    border: 1px solid var(--km-glass-border) !important;
    border-radius: 6px !important;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    height: 100%;
    box-shadow: var(--km-glass-shadow);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    /* Equal-height flex column layout */
    display: flex;
    flex-direction: column;
    cursor: pointer;
}

.bullion-item:hover,
.fruite-item:hover {
    transform: translateY(-7px);
    border-color: var(--km-glass-border-hover) !important;
    box-shadow: var(--km-glass-shadow-hover);
}

/* Card image area — enforced 1:1 square, never crop precious metals */
.bullion-img,
.fruite-img {
    overflow: hidden;
    aspect-ratio: 1 / 1;
    flex-shrink: 0;
    background: linear-gradient(160deg, #080818 0%, #131330 100%);
}

.bullion-img img,
.fruite-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.6s ease, opacity 0.4s ease;
    opacity: 0.9;
}

.bullion-item:hover .bullion-img img,
.fruite-item:hover .fruite-img img {
    transform: scale(1.06);
    opacity: 1;
}

/* Card body — grows to fill remaining height, pins price row to bottom */
.fruite-item .p-4.border.border-secondary.border-top-0.rounded-bottom {
    background: transparent !important;
    border-color: rgba(212, 175, 55, 0.1) !important;
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* Push price + buy button to bottom of card body */
.fruite-item .p-4.border.border-secondary.border-top-0.rounded-bottom > .d-flex {
    margin-top: auto;
    padding-top: 12px;
}

/* Card text */
.bullion-item h4,
.fruite-item h4 {
    font-family: 'Playfair Display', serif;
    font-size: 1.05rem;
    color: rgba(255, 255, 255, 0.9) !important;
    margin-bottom: 6px;
    line-height: 1.3;
}

.bullion-item p,
.fruite-item p {
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.65) !important;
    line-height: 1.65;
    margin-bottom: 0;
}

/* Price */
.bullion-price,
.fruite-item .fw-bold,
.fruite-item .km-price {
    font-family: 'Oswald', sans-serif !important;
    font-size: 1.15rem !important;
    color: rgba(255, 255, 255, 0.88) !important;
}

/* Cart button */
.btn-cart {
    background: transparent;
    border: 1px solid rgba(212, 175, 55, 0.3);
    color: var(--km-gold);
    font-family: 'Lato', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 8px 16px;
    border-radius: 2px;
    transition: all 0.3s;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.btn-cart:hover {
    background: var(--km-gold);
    color: var(--km-dark);
    border-color: var(--km-gold);
    box-shadow: 0 4px 18px rgba(212, 175, 55, 0.35);
}

/* Bootstrap-class cart button overrides */
.fruite-item .btn.border-secondary {
    border-color: rgba(212, 175, 55, 0.28) !important;
    color: var(--km-gold) !important;
    background: transparent !important;
    font-family: 'Lato', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    border-radius: 2px !important;
}

.fruite-item .btn.border-secondary:hover {
    background: var(--km-gold) !important;
    color: var(--km-dark) !important;
}

.fruite-item i.text-primary {
    color: var(--km-gold) !important;
}

/* ===== BEST SELLERS CARDS ===== */
.km-bestsellers .p-4.rounded.bg-light,
.bestseller-card {
    background: var(--km-glass-bg) !important;
    border: 1px solid var(--km-glass-border) !important;
    border-radius: 8px !important;
    transition: all 0.35s ease;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.km-bestsellers .p-4.rounded.bg-light:hover,
.bestseller-card:hover {
    border-color: rgba(212, 175, 55, 0.28) !important;
    box-shadow: 0 16px 50px rgba(0, 0, 0, 0.55), 0 0 24px rgba(212, 175, 55, 0.07) !important;
}

/* Bestseller product name */
.km-bestsellers .p-4.rounded.bg-light a.h5,
.km-bestsellers .p-4.rounded.bg-light .h5,
.bestseller-card a.h5,
.bestseller-card .h5 {
    font-family: 'Playfair Display', serif !important;
    color: rgba(255, 255, 255, 0.85) !important;
    text-decoration: none;
}

.km-bestsellers .p-4.rounded.bg-light a.h5:hover {
    color: var(--km-gold) !important;
}

/* Star ratings */
.fa-star.text-primary {
    color: var(--km-gold) !important;
}

/* ===== NEW ARRIVALS CAROUSEL ===== */
.vesitable-item {
    border: 1px solid var(--km-glass-border) !important;
    border-radius: 6px !important;
    overflow: hidden;
    background: var(--km-glass-bg) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transition: all 0.4s ease;
    cursor: pointer;
}

.vesitable-item:hover {
    border-color: rgba(212, 175, 55, 0.28) !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6), 0 0 24px rgba(212, 175, 55, 0.07) !important;
}

.vesitable-item .vesitable-img {
    background: linear-gradient(160deg, #080818 0%, #131330 100%);
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

.vesitable-item .vesitable-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.6s ease, opacity 0.4s ease;
    opacity: 0.9;
}

.vesitable-item:hover .vesitable-img img {
    transform: scale(1.05);
    opacity: 1;
}

.vesitable-item h4 {
    color: rgba(255, 255, 255, 0.9) !important;
}

.vesitable-item p {
    color: rgba(255, 255, 255, 0.65) !important;
}

.vesitable-item .text-white.bg-primary {
    background: var(--km-gold-gradient) !important;
    color: var(--km-dark) !important;
    font-family: 'Oswald', sans-serif !important;
    letter-spacing: 1px !important;
    font-size: 11px !important;
    text-transform: uppercase;
}

.vesitable .owl-nav .owl-prev,
.vesitable .owl-nav .owl-next {
    border-color: rgba(212, 175, 55, 0.25) !important;
    color: var(--km-gold) !important;
    background: var(--km-glass-bg) !important;
    font-weight: 700;
}

.vesitable .owl-nav .owl-prev:hover,
.vesitable .owl-nav .owl-next:hover {
    background: var(--km-gold) !important;
    color: var(--km-dark) !important;
}

/* ===== FEATURES SECTION ===== */
.featurs-item {
    background: var(--km-glass-bg) !important;
    border: 1px solid var(--km-glass-border) !important;
    border-top: 2px solid var(--km-gold) !important;
    border-radius: 6px !important;
    transition: all 0.35s ease;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.featurs-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 55px rgba(0, 0, 0, 0.6), 0 0 24px rgba(212, 175, 55, 0.07) !important;
    border-color: rgba(212, 175, 55, 0.25) !important;
}

.featurs-icon {
    background: var(--km-gold-gradient) !important;
    width: 80px !important;
    height: 80px !important;
    border-radius: 50% !important;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px auto;
    box-shadow: 0 8px 30px rgba(212, 175, 55, 0.28);
}

.featurs-icon i {
    color: var(--km-dark) !important;
}

.featurs-content h5 {
    font-family: 'Playfair Display', serif;
    color: rgba(255, 255, 255, 0.88) !important;
    font-size: 1.05rem;
}

.featurs-content p {
    color: rgba(255, 255, 255, 0.65) !important;
}

/* ===== STATS COUNTERS ===== */
.bg-light.p-5.rounded {
    background: rgba(255, 255, 255, 0.018) !important;
    border: 1px solid rgba(212, 175, 55, 0.08) !important;
    backdrop-filter: blur(12px);
}

.counter {
    height: 100%;
    text-align: center;
    border: 1px solid var(--km-glass-border) !important;
    border-top: 2px solid var(--km-gold) !important;
    border-radius: 6px;
    padding: 35px 20px;
    background: rgba(255, 255, 255, 0.018) !important;
    transition: all 0.35s ease;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.counter:hover {
    border-color: rgba(212, 175, 55, 0.28) !important;
    box-shadow: 0 14px 45px rgba(0, 0, 0, 0.55), 0 0 24px rgba(212, 175, 55, 0.06) !important;
}

.counter i {
    color: var(--km-gold) !important;
    font-size: 42px;
    margin-bottom: 18px;
    opacity: 0.82;
}

.counter h4 {
    font-family: 'Oswald', sans-serif;
    color: rgba(255, 255, 255, 0.68) !important;
    font-size: 10.5px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
}

.counter h1 {
    font-family: 'Oswald', sans-serif;
    font-size: 2.8rem;
    background: var(--km-gold-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ===== TESTIMONIALS ===== */
.testimonial-item {
    background: var(--km-glass-bg) !important;
    border: 1px solid var(--km-glass-border) !important;
    border-top: 2px solid var(--km-gold) !important;
    border-radius: 8px !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.testimonial-item p {
    color: rgba(255, 255, 255, 0.78) !important;
}

.testimonial-item h4 {
    color: rgba(255, 255, 255, 0.9) !important;
}

.testimonial-item .text-muted {
    color: rgba(255, 255, 255, 0.58) !important;
}

.testimonial-item .fa-quote-right {
    color: var(--km-gold) !important;
    opacity: 0.2;
}

.testimonial-item .border-secondary {
    border-color: rgba(212, 175, 55, 0.12) !important;
}

.testimonial-item .bg-secondary {
    background: var(--km-gold-gradient) !important;
}

.testimonial .owl-nav .owl-prev,
.testimonial .owl-nav .owl-next {
    border-color: rgba(212, 175, 55, 0.25) !important;
    color: var(--km-gold) !important;
    background: var(--km-glass-bg) !important;
}

.testimonial .owl-nav .owl-prev:hover,
.testimonial .owl-nav .owl-next:hover {
    background: var(--km-gold) !important;
    color: var(--km-dark) !important;
}

/* ===== FOOTER ===== */
.footer {
    background: linear-gradient(180deg, #060610 0%, var(--km-black) 100%) !important;
    border-top: 1px solid rgba(212, 175, 55, 0.08);
}

.footer-brand {
    font-family: 'Playfair Display', serif;
    font-weight: 900;
    background: var(--km-gold-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-size: 2rem;
    letter-spacing: 3px;
    text-decoration: none;
}

.footer h4 {
    font-family: 'Playfair Display', serif;
    color: rgba(255, 255, 255, 0.8) !important;
}

.footer .footer-item .btn-link {
    color: rgba(255, 255, 255, 0.42);
    font-size: 0.9rem;
    line-height: 2.4;
    text-decoration: none;
}

.footer .footer-item .btn-link:hover {
    color: var(--km-gold) !important;
}

.footer .text-white-50 {
    color: rgba(255, 255, 255, 0.38) !important;
}

.footer .btn-outline-secondary {
    border-color: rgba(212, 175, 55, 0.28) !important;
    color: rgba(212, 175, 55, 0.7) !important;
    background: transparent;
    transition: all 0.25s;
}

.footer .btn-outline-secondary:hover {
    background: rgba(212, 175, 55, 0.09) !important;
    color: var(--km-gold) !important;
    border-color: rgba(212, 175, 55, 0.5) !important;
}

/* ===== COPYRIGHT ===== */
.copyright {
    background: var(--km-black) !important;
    border-top: 1px solid rgba(212, 175, 55, 0.06);
}

/* ===== BACK TO TOP ===== */
.back-to-top {
    background: var(--km-gold-gradient) !important;
    border-color: var(--km-gold-dark) !important;
    color: var(--km-dark) !important;
    box-shadow: 0 4px 20px rgba(212, 175, 55, 0.32);
}

.back-to-top:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 32px rgba(212, 175, 55, 0.5);
}

/* ===== SHOP SIDEBAR ===== */
.shop-sidebar {
    background: var(--km-glass-bg);
    border: 1px solid var(--km-glass-border);
    border-radius: 8px;
    padding: 28px;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.shop-sidebar h4 {
    font-family: 'Playfair Display', serif;
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 1.1rem;
    border-bottom: 1px solid rgba(212, 175, 55, 0.15);
    padding-bottom: 10px;
    margin-bottom: 18px;
}

.fruite-categorie .fruite-name a {
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.92rem;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s;
}

.fruite-categorie .fruite-name a:hover {
    color: var(--km-gold);
}

.fruite-categorie .fruite-name {
    padding: 10px 0;
    border-bottom: 1px solid rgba(212, 175, 55, 0.06);
    color: rgba(255, 255, 255, 0.58);
}

/* Range slider */
.form-range::-webkit-slider-thumb {
    background: var(--km-gold);
}

.form-range::-moz-range-thumb {
    background: var(--km-gold);
}

.form-range::-webkit-slider-runnable-track {
    background: rgba(212, 175, 55, 0.12);
}

/* Sort bar */
.bg-light.ps-3.py-3.rounded {
    background: var(--km-glass-bg) !important;
    border: 1px solid var(--km-glass-border) !important;
}

.form-select-sm {
    background-color: transparent;
    color: rgba(255, 255, 255, 0.65);
    border-color: rgba(212, 175, 55, 0.15);
}

/* Sidebar featured items */
.sidebar-featured-name {
    font-family: 'Playfair Display', serif;
    font-size: 0.92rem;
    color: rgba(255, 255, 255, 0.78) !important;
}

.sidebar-featured-price {
    font-family: 'Oswald', sans-serif;
    font-size: 1rem;
    color: var(--km-gold);
}

/* ===== CART PAGE ===== */
.cart-table thead th {
    font-family: 'Oswald', sans-serif;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    font-size: 11.5px;
    color: rgba(255, 255, 255, 0.72) !important;
    border-bottom: 1px solid rgba(212, 175, 55, 0.18) !important;
    padding: 14px 10px;
    background: rgba(255, 255, 255, 0.02) !important;
}

.cart-table tbody td,
.cart-table tbody th {
    padding: 18px 10px;
    vertical-align: middle;
    color: rgba(255, 255, 255, 0.88) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
}

.cart-table tbody tr:hover>* {
    background: rgba(212, 175, 55, 0.025) !important;
}

.btn-minus,
.btn-plus {
    background: var(--km-glass-bg) !important;
    border-color: rgba(212, 175, 55, 0.18) !important;
    color: rgba(255, 255, 255, 0.65) !important;
}

.btn-minus:hover,
.btn-plus:hover {
    background: var(--km-gold) !important;
    color: var(--km-dark) !important;
}

.cart-total-box {
    background: linear-gradient(160deg, #060610 0%, #0D0D1A 100%);
    border: 1px solid rgba(212, 175, 55, 0.18);
    border-radius: 8px;
    overflow: hidden;
}

.cart-total-box .cart-total-header {
    padding: 22px 28px;
    border-bottom: 1px solid rgba(212, 175, 55, 0.1);
}

.cart-total-box h5 {
    font-family: 'Oswald', sans-serif;
    color: rgba(255, 255, 255, 0.45);
    letter-spacing: 1.5px;
    font-size: 11px;
    text-transform: uppercase;
}

.cart-total-box .total-label {
    color: rgba(255, 255, 255, 0.55);
    font-family: 'Lato', sans-serif;
    font-size: 0.95rem;
}

.cart-total-box .total-val {
    font-family: 'Oswald', sans-serif;
    color: rgba(255, 255, 255, 0.82);
    font-size: 1rem;
}

.cart-total-box .grand-total {
    font-family: 'Oswald', sans-serif;
    font-size: 1.8rem;
    color: var(--km-gold);
}

.btn-checkout {
    background: var(--km-gold-gradient);
    color: var(--km-dark) !important;
    border: none;
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    padding: 15px 28px;
    border-radius: 2px;
    font-size: 14px;
    width: 100%;
    transition: all 0.3s;
    text-decoration: none;
    display: block;
    text-align: center;
}

.btn-checkout:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 32px rgba(212, 175, 55, 0.42);
    color: var(--km-dark) !important;
}

input[placeholder="Coupon Code"] {
    border-color: rgba(212, 175, 55, 0.18) !important;
    background: var(--km-glass-bg) !important;
    color: rgba(255, 255, 255, 0.7) !important;
    padding: 10px 15px !important;
}

.btn.border-secondary {
    border-color: var(--km-gold) !important;
    color: var(--km-gold) !important;
}

.btn.border-secondary:hover {
    background: var(--km-gold) !important;
    color: var(--km-dark) !important;
}

/* ===== CHECKOUT PAGE ===== */
.checkout-form .form-label {
    font-family: 'Oswald', sans-serif;
    font-size: 10.5px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--km-text-label);
    font-weight: 600;
    margin-bottom: 7px;
}

.checkout-form .form-control,
.checkout-form .form-select {
    border: 1px solid rgba(212, 175, 55, 0.18);
    background: var(--km-glass-bg);
    color: rgba(255, 255, 255, 0.78);
    border-radius: 3px;
    padding: 11px 15px;
    font-family: 'Lato', sans-serif;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.checkout-form .form-control:focus,
.checkout-form .form-select:focus {
    border-color: var(--km-gold);
    box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.09);
    background: rgba(18, 18, 34, 0.97);
    color: white;
}

.checkout-form .form-control::placeholder {
    color: rgba(255, 255, 255, 0.22);
}

.order-summary-box {
    background: linear-gradient(160deg, #060610 0%, #0D0D1A 100%);
    border: 1px solid rgba(212, 175, 55, 0.18);
    border-radius: 8px;
    padding: 30px;
    color: white;
}

.order-summary-box h4 {
    font-family: 'Playfair Display', serif;
    color: var(--km-gold);
    margin-bottom: 20px;
}

.order-summary-box .os-item {
    border-bottom: 1px solid rgba(212, 175, 55, 0.09);
    padding: 12px 0;
}

.order-summary-box .os-name {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.65);
}

.order-summary-box .os-price {
    font-family: 'Oswald', sans-serif;
    color: var(--km-gold);
}

.order-summary-box .os-total {
    font-family: 'Oswald', sans-serif;
    font-size: 1.6rem;
    color: var(--km-gold);
}

.payment-method {
    border: 1px solid rgba(212, 175, 55, 0.1);
    background: var(--km-glass-bg);
    border-radius: 6px;
    padding: 15px 18px;
    cursor: pointer;
    transition: all 0.25s;
    margin-bottom: 10px;
    backdrop-filter: blur(8px);
}

.payment-method:hover {
    border-color: rgba(212, 175, 55, 0.28);
    background: rgba(212, 175, 55, 0.03);
}

.payment-method.active {
    border-color: var(--km-gold);
    background: rgba(212, 175, 55, 0.05);
}

.payment-method label {
    cursor: pointer;
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.72);
}

/* ===== AUTH PAGES ===== */
.auth-wrapper {
    min-height: 100vh;
    background: linear-gradient(160deg, var(--km-black) 0%, #070718 50%, #0D0D22 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 16px;
    position: relative;
}

.auth-wrapper::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23D4AF37' fill-opacity='0.035'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4z'/%3E%3C/g%3E%3C/svg%3E");
    pointer-events: none;
}

.auth-wrapper::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 60% 70% at 50% 50%, rgba(212, 175, 55, 0.04) 0%, transparent 65%);
    pointer-events: none;
}

.auth-card {
    background: rgba(12, 12, 24, 0.93);
    border: 1px solid rgba(212, 175, 55, 0.18);
    border-radius: 10px;
    padding: 50px 44px;
    width: 100%;
    max-width: 480px;
    position: relative;
    z-index: 1;
    backdrop-filter: blur(28px);
    -webkit-backdrop-filter: blur(28px);
    box-shadow: 0 40px 100px rgba(0, 0, 0, 0.85);
}

.auth-logo {
    display: block;
    font-family: 'Playfair Display', serif;
    font-weight: 900;
    background: var(--km-gold-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-size: 2.4rem;
    letter-spacing: 4px;
    text-align: center;
    text-decoration: none;
    line-height: 1;
}

.auth-logo-sub {
    display: block;
    text-align: center;
    font-family: 'Oswald', sans-serif;
    font-size: 11px;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.22);
    margin-top: 4px;
    margin-bottom: 30px;
}

.auth-divider {
    width: 50px;
    height: 1px;
    background: rgba(212, 175, 55, 0.25);
    margin: 0 auto 30px;
}

.auth-heading {
    font-family: 'Playfair Display', serif;
    color: white;
    font-size: 1.4rem;
    text-align: center;
    margin-bottom: 28px;
    font-weight: 700;
}

.auth-card .form-label {
    font-family: 'Oswald', sans-serif;
    font-size: 10.5px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--km-text-label);
    margin-bottom: 8px;
    display: block;
}

.auth-card .form-control {
    background: rgba(255, 255, 255, 0.038);
    border: 1px solid rgba(212, 175, 55, 0.16);
    border-radius: 4px;
    color: white;
    padding: 13px 16px;
    font-family: 'Lato', sans-serif;
    transition: all 0.25s;
    font-size: 0.95rem;
}

.auth-card .form-control:focus {
    background: rgba(255, 255, 255, 0.06);
    border-color: var(--km-gold);
    box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.1);
    color: white;
}

.auth-card .form-control::placeholder {
    color: rgba(255, 255, 255, 0.18);
}

.btn-auth {
    background: var(--km-gold-gradient);
    color: var(--km-dark);
    border: none;
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    padding: 15px;
    border-radius: 4px;
    width: 100%;
    font-size: 15px;
    transition: all 0.3s;
    cursor: pointer;
}

.btn-auth:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 36px rgba(212, 175, 55, 0.45);
}

.auth-link {
    color: var(--km-gold);
    text-decoration: none;
    font-weight: 700;
    font-size: 0.9rem;
}

.auth-link:hover {
    color: var(--km-gold-light);
    text-decoration: underline;
}

.auth-footer-text {
    color: rgba(255, 255, 255, 0.60);
    font-size: 0.9rem;
    text-align: center;
    margin-top: 24px;
}

.auth-social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: rgba(255, 255, 255, 0.035);
    border: 1px solid rgba(212, 175, 55, 0.14);
    border-radius: 4px;
    color: rgba(255, 255, 255, 0.65);
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    font-size: 14px;
    padding: 12px;
    width: 100%;
    cursor: pointer;
    transition: all 0.25s;
    text-decoration: none;
}

.auth-social-btn:hover {
    border-color: rgba(212, 175, 55, 0.28);
    background: rgba(212, 175, 55, 0.04);
    color: white;
}

.auth-or {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 24px 0;
}

.auth-or span {
    color: rgba(255, 255, 255, 0.22);
    font-size: 12px;
    font-family: 'Oswald', sans-serif;
    letter-spacing: 2px;
    white-space: nowrap;
}

.auth-or::before,
.auth-or::after {
    content: '';
    flex: 1;
    height: 1px;
    background: rgba(212, 175, 55, 0.1);
}

/* ===== PRODUCT DETAIL ===== */
.product-detail-img {
    border: 1px solid rgba(212, 175, 55, 0.14);
    border-radius: 8px;
    overflow: hidden;
    background: linear-gradient(160deg, #080818 0%, #131330 100%);
}

.product-detail-img img {
    width: 100%;
    opacity: 0.93;
}

.product-detail .product-title {
    font-family: 'Playfair Display', serif;
    font-size: 2rem;
    color: rgba(255, 255, 255, 0.92) !important;
    line-height: 1.2;
    margin-bottom: 10px;
}

.product-detail .product-price {
    font-family: 'Oswald', sans-serif;
    font-size: 2.2rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.9) !important;
}

.product-detail .spec-row {
    border-bottom: 1px solid rgba(212, 175, 55, 0.07);
    padding: 10px 0;
}

.product-detail .spec-key {
    font-weight: 700;
    color: var(--km-text-label);
    font-family: 'Oswald', sans-serif;
    letter-spacing: 0.5px;
    font-size: 13px;
    text-transform: uppercase;
}

.product-detail .spec-val {
    color: var(--km-text-value);
    font-family: 'Lato', sans-serif;
    font-weight: 500;
}

.btn-add-cart {
    background: var(--km-gold-gradient);
    color: var(--km-dark);
    border: none;
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    padding: 15px 40px;
    border-radius: 2px;
    font-size: 14px;
    transition: all 0.3s;
}

.btn-add-cart:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 32px rgba(212, 175, 55, 0.42);
    color: var(--km-dark);
}

.quantity-control {
    display: flex;
    align-items: center;
    border: 1px solid rgba(212, 175, 55, 0.18);
    border-radius: 3px;
    overflow: hidden;
    width: fit-content;
}

.quantity-control button {
    background: var(--km-glass-bg);
    border: none;
    padding: 10px 16px;
    font-size: 16px;
    cursor: pointer;
    transition: background 0.2s;
    color: rgba(255, 255, 255, 0.65);
    font-weight: 700;
}

.quantity-control button:hover {
    background: var(--km-gold);
    color: var(--km-dark);
}

.quantity-control input {
    border: none;
    background: transparent;
    width: 60px;
    text-align: center;
    font-family: 'Oswald', sans-serif;
    font-size: 1.1rem;
    padding: 8px 0;
    color: rgba(255, 255, 255, 0.85);
}

.quantity-control input:focus {
    outline: none;
}

/* Product detail tabs */
.nav.nav-tabs .nav-link {
    font-family: 'Oswald', sans-serif;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.68) !important;
    border-color: rgba(212, 175, 55, 0.1) !important;
    background: transparent;
}

.nav.nav-tabs .nav-link.active {
    border-bottom: 2px solid var(--km-gold) !important;
    color: rgba(255, 255, 255, 0.88) !important;
    background: rgba(212, 175, 55, 0.03) !important;
    border-color: rgba(212, 175, 55, 0.1) !important;
}

/* ===== PAGINATION ===== */
.pagination a {
    color: rgba(255, 255, 255, 0.55);
    border-color: rgba(212, 175, 55, 0.15) !important;
    background: var(--km-glass-bg);
    font-family: 'Oswald', sans-serif;
    transition: all 0.2s;
}

.pagination a.active {
    background: var(--km-gold-gradient) !important;
    color: var(--km-dark);
    border-color: var(--km-gold) !important;
}

.pagination a:hover:not(.active) {
    background: rgba(212, 175, 55, 0.07);
    color: var(--km-gold);
}

/* ===== GENERAL FORMS ===== */
.form-control {
    background: var(--km-glass-bg);
    border-color: rgba(212, 175, 55, 0.14);
    color: rgba(255, 255, 255, 0.92);
    transition: border-color 0.2s, box-shadow 0.2s;
}

.form-control:focus {
    background: rgba(18, 18, 34, 0.97);
    border-color: var(--km-gold);
    color: white;
    box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.09);
}

.form-control::placeholder {
    color: rgba(255, 255, 255, 0.2);
}

.form-select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--km-glass-bg);
    border-color: rgba(212, 175, 55, 0.18);
    color: rgba(255, 255, 255, 0.92);
    /* Gold chevron — explicit background sub-properties prevent double-arrow when cascading */
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23D4AF37' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
}

.form-select:focus {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: rgba(18, 18, 34, 0.97);
    border-color: var(--km-gold);
    color: white;
    box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.09);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23F5D160' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
}

.form-select:disabled,
.form-select[disabled] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: rgba(18, 18, 34, 0.4);
    border-color: rgba(212, 175, 55, 0.08);
    color: rgba(255, 255, 255, 0.25);
    cursor: not-allowed;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23555555' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
}

/* Prevent browser from injecting its own white background on option elements */
.form-select option {
    background-color: #0D0D1A;
    color: rgba(255, 255, 255, 0.82);
}

.input-group-text {
    background: rgba(212, 175, 55, 0.08);
    border-color: rgba(212, 175, 55, 0.18);
    color: var(--km-gold);
}

/* ===== TABLE OVERRIDES ===== */
.table {
    color: rgba(255, 255, 255, 0.87) !important;
}

.table> :not(caption)>*>* {
    background-color: transparent !important;
    border-bottom-color: rgba(255, 255, 255, 0.04) !important;
    color: inherit;
}

/* ===== PURITY BADGE ===== */
.purity-badge {
    font-family: 'Oswald', sans-serif;
    font-size: 10px;
    letter-spacing: 1.5px;
    border: 1px solid rgba(212, 175, 55, 0.22);
    border-radius: 2px;
    padding: 2px 8px;
    color: var(--km-gold);
    background: rgba(212, 175, 55, 0.05);
}

/* ===== METAL DOTS ===== */
.metal-dot {
    display: inline-block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    margin-right: 6px;
}

.dot-gold {
    background: var(--km-gold);
}

.dot-silver {
    background: var(--km-silver);
}

.dot-copper {
    background: var(--km-copper);
}

.dot-rose {
    background: var(--km-rose-gold);
}

/* ===== CONTACT / MISC PAGES ===== */
/* Make contact form and info sections dark */
.contact-form .form-control,
.contact-form .form-select {
    background: var(--km-glass-bg);
    color: rgba(255, 255, 255, 0.92);
    border-color: rgba(212, 175, 55, 0.15);
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1199px) {

    .navbar-collapse.show,
    .navbar-collapse.collapsing {
        background: rgba(3, 3, 7, 0.98) !important;
        padding: 16px;
    }
}

@media (max-width: 991px) {
    .hero-luxury {
        padding: 60px 0;
        min-height: auto;
    }

    .hero-title {
        font-size: 2.2rem !important;
    }
}

@media (max-width: 767px) {
    .hero-title {
        font-size: 1.9rem !important;
    }

    .auth-card {
        padding: 35px 24px;
    }

    .hero-spot-prices {
        flex-direction: column;
        gap: 12px;
    }
}

@media (max-width: 575px) {
    .navbar-brand h1 {
        font-size: 1.6rem !important;
        letter-spacing: 2px;
    }

    .hero-title {
        font-size: 1.7rem !important;
    }

    .auth-card {
        padding: 30px 18px;
    }
}