:root {
    --rt-gold: #d4a24c;
    --rt-gold-2: #f0c877;
    --rt-dark: #0c1118;
    --rt-dark-2: #131a24;
    --rt-line: #26303d;
    color-scheme: dark;
}

/* 深色背景下的灰阶文字统一提亮，保证清晰可读 */
.text-muted,
.text-body-secondary,
.text-secondary-color,
.text-black-50 { color: #b9c5d4 !important; }

.text-secondary { color: #c6d0dd !important; }

.form-text { color: #aeb9c7 !important; }

.form-control::placeholder { color: #8e9aa9; opacity: 1; }

::selection { background: var(--rt-gold); color: #1b1408; }

code, kbd, pre, samp { color: var(--rt-gold-2); }

.text-bg-secondary {
    background: #3a4655 !important;
    color: #e8eef6 !important;
}

body {
    background: #0c1118;
    color: #d7dee8;
    font-family: "Noto Sans TC", "Microsoft JhengHei", system-ui, -apple-system, "Segoe UI", sans-serif;
    padding-top: 68px;
}

a { color: var(--rt-gold-2); text-decoration: none; }
a:hover { color: #fff; }

.site-nav {
    background: rgba(12, 17, 24, .92);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--rt-line);
    box-shadow: 0 2px 12px rgba(0, 0, 0, .4);
}

.site-nav .nav-link {
    color: #c3ccd8;
    font-weight: 500;
    padding: .5rem .85rem;
}

.site-nav .nav-link:hover,
.site-nav .nav-link:focus { color: var(--rt-gold); }

.brand-text {
    color: var(--rt-gold);
    font-weight: 700;
    letter-spacing: 1px;
}

.btn-gold {
    background: linear-gradient(135deg, var(--rt-gold), #b3813a);
    border: none;
    color: #1b1408;
    font-weight: 600;
}

.btn-gold:hover { color: #000; filter: brightness(1.08); }

.btn-outline-gold {
    border: 1px solid var(--rt-gold);
    color: var(--rt-gold-2);
}

.btn-outline-gold:hover { background: var(--rt-gold); color: #1b1408; }

.link-gold { color: var(--rt-gold-2); }

.text-gold { color: var(--rt-gold-2) !important; }

/* Hero */
.hero {
    position: relative;
    min-height: 78vh;
    display: flex;
    align-items: center;
    background-size: cover;
    background-position: center;
    border-bottom: 1px solid var(--rt-line);
}

.hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(8, 11, 16, .93) 0%, rgba(8, 11, 16, .72) 45%, rgba(8, 11, 16, .35) 100%);
}

.hero > .container { position: relative; z-index: 2; }

.hero-title {
    font-size: clamp(2.2rem, 5vw, 4rem);
    font-weight: 800;
    color: #fff;
    letter-spacing: 2px;
    text-shadow: 0 4px 24px rgba(0, 0, 0, .7);
}

.section { padding: 4.5rem 0; }

.section-alt { background: var(--rt-dark-2); border-block: 1px solid var(--rt-line); }

.section-title {
    font-weight: 800;
    color: #fff;
    letter-spacing: 1px;
}

.section-sub { color: #b3bfcd; }

.card-dark {
    background: #141c27;
    border: 1px solid var(--rt-line);
    border-radius: 12px;
    transition: transform .18s ease, border-color .18s ease;
}

.card-dark:hover { transform: translateY(-4px); border-color: var(--rt-gold); }

.feature-icon {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: rgba(212, 162, 76, .12);
    color: var(--rt-gold);
    font-size: 1.35rem;
}

.stat-box {
    background: rgba(255, 255, 255, .04);
    border: 1px solid var(--rt-line);
    border-radius: 12px;
    padding: 1.25rem;
    text-align: center;
}

.stat-box .num {
    font-size: 1.9rem;
    font-weight: 800;
    color: var(--rt-gold-2);
}

/* Packages */
.pkg-card {
    background: linear-gradient(180deg, #17202c, #111823);
    border: 1px solid var(--rt-line);
    border-radius: 14px;
    overflow: hidden;
}

.pkg-card .pkg-thumb {
    height: 150px;
    background-size: cover;
    background-position: center;
    position: relative;
}

.pkg-price {
    color: var(--rt-gold-2);
    font-size: 1.5rem;
    font-weight: 800;
}

.pkg-old { text-decoration: line-through; color: #9aa6b5; font-size: .9rem; }

.badge-gold { background: var(--rt-gold); color: #1b1408; font-weight: 700; }

/* Footer */
.site-footer {
    background: #080b10;
    border-top: 1px solid var(--rt-line);
}

.site-footer h6 { color: #fff; letter-spacing: 1px; }

.footer-links li { margin-bottom: .4rem; }

.social-links .btn { width: 34px; height: 34px; padding: 0; display: inline-grid; place-items: center; }

/* Gallery */
.gallery-item {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    border: 1px solid var(--rt-line);
    cursor: zoom-in;
}

.gallery-item img { transition: transform .35s ease; width: 100%; display: block; }
.gallery-item:hover img { transform: scale(1.06); }

/* Auth card */
.auth-card {
    background: var(--rt-dark-2);
    border: 1px solid var(--rt-line);
    border-radius: 14px;
}

.form-control, .form-select {
    background: #0e141d;
    border: 1px solid var(--rt-line);
    color: #d7dee8;
}

.form-control:focus, .form-select:focus {
    background: #0e141d;
    border-color: var(--rt-gold);
    color: #fff;
    box-shadow: 0 0 0 .2rem rgba(212, 162, 76, .18);
}

.form-label { color: #a9b4c2; font-weight: 500; }

/* Admin (AdminLTE-like) */
.admin-wrapper { display: flex; min-height: calc(100vh - 68px); }

.admin-sidebar {
    width: 240px;
    flex: 0 0 240px;
    background: #101722;
    border-right: 1px solid var(--rt-line);
}

.admin-sidebar .nav-link {
    color: #b6c1cf;
    border-radius: 8px;
    padding: .6rem .9rem;
    margin-bottom: .15rem;
}

.admin-sidebar .nav-link:hover,
.admin-sidebar .nav-link.active { background: rgba(212, 162, 76, .14); color: var(--rt-gold-2); }

.admin-content { flex: 1; padding: 1.5rem; background: #0d131b; min-width: 0; }

.small-box {
    border-radius: 12px;
    padding: 1.1rem 1.25rem;
    color: #fff;
    position: relative;
    overflow: hidden;
    border: 1px solid var(--rt-line);
}

.small-box .inner h3 { font-weight: 800; margin: 0; font-size: 1.85rem; }
.small-box .icon { position: absolute; right: 12px; top: 12px; font-size: 2.6rem; opacity: .22; }

.bg-info-box { background: #173a52; }
.bg-success-box { background: #175236; }
.bg-warning-box { background: #5a4416; }
.bg-danger-box { background: #5c2230; }

/* Table tweaks */
.table-darkish { --bs-table-bg: transparent; color: #e1e8f1; }
.table-darkish th { color: #dbe3ec; font-weight: 600; border-color: var(--rt-line); }
.table-darkish td { border-color: var(--rt-line); vertical-align: middle; color: #e1e8f1; }

.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_empty,
.dataTables_wrapper .dataTables_processing { color: #c6d0dd; }
.dataTables_wrapper .dataTables_length select {
    background: #0e141d;
    border: 1px solid var(--rt-line);
    color: #fff;
}
.dataTables_wrapper .dataTables_filter input { background: #0e141d; border: 1px solid var(--rt-line); color: #fff; }
.dataTables_wrapper .page-link { background: #131a24; border-color: var(--rt-line); color: var(--rt-gold-2); }
.dataTables_wrapper .active > .page-link { background: var(--rt-gold); border-color: var(--rt-gold); color: #1b1408; }
.dataTables_wrapper .page-item.disabled .page-link { background: #131a24; color: #9aa6b5; }
.dataTables_wrapper .dataTables_paginate .ellipsis { color: #9aa6b5; }

@media (max-width: 991.98px) {
    .admin-wrapper { flex-direction: column; }
    .admin-sidebar { width: 100%; flex: none; border-right: none; border-bottom: 1px solid var(--rt-line); }
}
