:root {
    --nubia-black: #08090b;
    --nubia-surface: #111319;
    --nubia-surface-2: #171a21;
    --nubia-gold: #d8aa4e;
    --nubia-gold-soft: #f2d38f;
    --nubia-plum: #642b68;
    --nubia-border: rgba(216, 170, 78, .22);
}

body {
    min-height: 100vh;
    background: radial-gradient(circle at top right, rgba(100, 43, 104, .18), transparent 35rem), var(--nubia-black);
    color: #f3f0e8;
    font-family: "DM Sans", sans-serif;
}

h1, h2, h3, h4, .display-font { font-family: "Playfair Display", serif; }

.navbar-premium {
    background: rgba(8, 9, 11, .9);
    border-bottom: 1px solid rgba(216, 170, 78, .12);
    backdrop-filter: blur(18px);
}

.navbar-brand { display: flex; align-items: center; gap: .65rem; letter-spacing: .02em; }
.brand-mark {
    display: inline-grid; place-items: center; width: 2.25rem; height: 2.25rem;
    border: 1px solid var(--nubia-gold); border-radius: 50%; color: var(--nubia-gold-soft);
    font-family: "Playfair Display", serif; background: rgba(216, 170, 78, .08);
}
.brand-mark-sm { width: 1.75rem; height: 1.75rem; font-size: .85rem; }
.text-gold { color: var(--nubia-gold-soft) !important; }

.btn-gold {
    --bs-btn-color: #15100a; --bs-btn-bg: var(--nubia-gold); --bs-btn-border-color: var(--nubia-gold);
    --bs-btn-hover-color: #0b0906; --bs-btn-hover-bg: #efc871; --bs-btn-hover-border-color: #efc871;
    --bs-btn-active-bg: #c6973b; --bs-btn-active-border-color: #c6973b;
    font-weight: 700;
}
.btn-outline-gold { color: var(--nubia-gold-soft); border-color: rgba(216, 170, 78, .55); }
.btn-outline-gold:hover { color: #15100a; background: var(--nubia-gold); border-color: var(--nubia-gold); }

.hero { padding: 7rem 0 5rem; position: relative; overflow: hidden; }
.hero::after {
    content: ""; position: absolute; inset: 10% -10% auto auto; width: 26rem; height: 26rem;
    background: radial-gradient(circle, rgba(216, 170, 78, .12), transparent 70%); pointer-events: none;
}
.hero-kicker, .eyebrow { color: var(--nubia-gold-soft); letter-spacing: .16em; text-transform: uppercase; font-size: .78rem; font-weight: 700; }
.hero h1 { font-size: clamp(3.2rem, 7vw, 6.4rem); line-height: .98; }
.hero-copy { color: #c4c0bb; max-width: 44rem; font-size: 1.15rem; }

.premium-card, .filter-panel, .stat-card {
    background: linear-gradient(145deg, rgba(25, 27, 34, .96), rgba(14, 16, 20, .96));
    border: 1px solid var(--nubia-border); border-radius: 1.1rem;
    box-shadow: 0 18px 60px rgba(0, 0, 0, .22);
}
.premium-card { transition: transform .2s ease, border-color .2s ease; }
.premium-card:hover { transform: translateY(-4px); border-color: rgba(216, 170, 78, .5); }

.search-panel { background: rgba(17, 19, 25, .92); border: 1px solid var(--nubia-border); border-radius: 1rem; padding: 1rem; }
.form-control, .form-select {
    background-color: rgba(255, 255, 255, .04); border-color: rgba(255, 255, 255, .14); color: #f5f2ea;
}
.form-control:focus, .form-select:focus { background-color: rgba(255, 255, 255, .06); border-color: var(--nubia-gold); box-shadow: 0 0 0 .2rem rgba(216, 170, 78, .12); color: white; }
.form-select option { background: #171a21; }

.badge-soft-gold { background: rgba(216, 170, 78, .13); color: var(--nubia-gold-soft); border: 1px solid rgba(216, 170, 78, .2); }
.badge-soft-plum { background: rgba(148, 74, 151, .16); color: #edbeef; border: 1px solid rgba(148, 74, 151, .24); }
.icon-orb { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 50%; background: rgba(216, 170, 78, .12); color: var(--nubia-gold-soft); }
.section-pad { padding: 5rem 0; }
.listing-card .card-body { min-height: 17rem; }
.listing-title a { color: #fff; text-decoration: none; }
.listing-title a:hover { color: var(--nubia-gold-soft); }
.empty-state { border: 1px dashed rgba(216, 170, 78, .35); border-radius: 1rem; padding: 3rem; text-align: center; }
.footer { border-top: 1px solid rgba(216, 170, 78, .12); background: rgba(7, 8, 10, .7); }
.footer-link { color: #d8d3c8; text-decoration: none; }
.footer-link:hover { color: var(--nubia-gold-soft); }
.admin-shell { min-height: 100vh; background: #0a0b0e; }
.table-premium { --bs-table-bg: transparent; --bs-table-color: #e9e6df; --bs-table-border-color: rgba(255,255,255,.09); }
.detail-section dt { color: var(--nubia-gold-soft); font-size: .82rem; text-transform: uppercase; letter-spacing: .08em; }
.detail-section dd { color: #ebe7df; }
