/* ========================================
   独角数卡 - 通用组件样式
   导航栏、Header、Footer
   ======================================== */

/* 图标字体 */
@font-face {
    font-family: 'iconfont';
    src: url('../fonts/iconfont.woff2?t=1631608872177') format('woff2'),
        url('../fonts/iconfont.woff?t=1631608872177') format('woff'),
        url('../fonts/iconfont.ttf?t=1631608872177') format('truetype');
}

.ali-icon {
    font-family: "iconfont" !important;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ========================================
   导航栏
   ======================================== */
.header {
    position: sticky;
    top: 0;
    z-index: 100;
    padding: 0;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    border-bottom: 1px solid var(--border);
}

.header .container {
    padding-top: 12px;
    padding-bottom: 12px;
}

.logo img {
    height: 40px;
    transition: opacity var(--transition-fast);
}

.logo img:hover {
    opacity: 0.8;
}

/* 导航链接 */
.navbar {
    padding: 0;
}

.navbar-brand {
    font-size: 18px;
    font-weight: 600;
    color: var(--text-primary) !important;
    letter-spacing: -0.3px;
}

.navbar-nav .nav-link {
    font-size: 14px;
    font-weight: 500;
    color: var(--text-secondary) !important;
    padding: 8px 16px !important;
    border-radius: var(--radius-md);
    transition: all var(--transition-fast);
}

.navbar-nav .nav-link:hover {
    color: var(--text-primary) !important;
    background: var(--bg-tertiary);
}

.navbar-nav .nav-link.active {
    color: var(--accent) !important;
    background: var(--accent-subtle);
}

/* 搜索框 */
.header .form-control {
    font-size: 14px;
    padding: 8px 14px;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background: var(--bg-tertiary);
    width: 200px;
    transition: all var(--transition-fast);
}

.header .form-control:focus {
    background: var(--bg-secondary);
    border-color: var(--accent);
    box-shadow: 0 0 0 3px var(--accent-subtle);
    width: 240px;
}

.header .form-control::placeholder {
    color: var(--text-tertiary);
}

/* 搜索按钮 */
.header .btn-secondary {
    background: var(--bg-tertiary);
    border: 1px solid var(--border);
    color: var(--text-secondary);
    padding: 8px 14px;
    border-radius: var(--radius-md);
    transition: all var(--transition-fast);
}

.header .btn-secondary:hover {
    background: var(--bg-secondary);
    border-color: var(--border-hover);
    color: var(--text-primary);
}

/* ========================================
   页脚
   ======================================== */
.footer {
    padding: 40px 0;
    margin-top: 60px;
    background: var(--bg-tertiary);
    border-top: 1px solid var(--border);
}

.footer .author,
.footer .custom {
    font-size: 13px;
    color: var(--text-tertiary);
}

.footer a {
    color: var(--text-secondary);
    transition: color var(--transition-fast);
}

.footer a:hover {
    color: var(--accent);
}

/* ========================================
   通用按钮样式
   ======================================== */
.btn {
    font-size: 14px;
    font-weight: 500;
    padding: 10px 18px;
    border-radius: var(--radius-md);
    transition: all var(--transition-fast);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.btn-primary {
    background: var(--accent);
    color: #fff !important;
    border: none;
    box-shadow: var(--shadow-sm);
}

.btn-primary:hover {
    background: var(--accent-hover);
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
}

.btn-primary:active {
    transform: translateY(0);
}

.btn-outline-secondary {
    background: transparent;
    color: var(--text-secondary) !important;
    border: 1px solid var(--border);
}

.btn-outline-secondary:hover,
.btn-outline-secondary.active {
    background: var(--bg-secondary);
    color: var(--text-primary) !important;
    border-color: var(--border-hover);
    box-shadow: var(--shadow-sm);
}

.btn-outline-success {
    background: var(--success-bg);
    color: var(--success) !important;
    border: 1px solid transparent;
    font-weight: 600;
}

.btn-outline-warning {
    background: var(--warning-bg);
    color: var(--warning) !important;
    border: 1px solid transparent;
    font-size: 12px;
    padding: 4px 10px;
}

/* ========================================
   卡片通用样式
   ======================================== */
.card {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-xs);
    transition: all var(--transition-base);
    overflow: hidden;
}

.card:hover {
    border-color: var(--border-hover);
    box-shadow: var(--shadow-lg);
    transform: translateY(-2px);
}

.card-body {
    padding: 16px;
}

.card-img-top {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    background: var(--bg-tertiary);
}

/* ========================================
   徽章样式
   ======================================== */
.badge {
    font-size: 11px;
    font-weight: 500;
    padding: 4px 8px;
    border-radius: var(--radius-sm);
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.badge.bg-success {
    background: var(--success-bg) !important;
    color: var(--success);
}

.badge.bg-warning {
    background: var(--warning-bg) !important;
    color: var(--warning);
}

/* ========================================
   表单增强
   ======================================== */
.form-control {
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    padding: 10px 14px;
    font-size: 14px;
    transition: all var(--transition-fast);
}

.form-control:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px var(--accent-subtle);
}

/* 响应式导航 */
@media (max-width: 991px) {
    .navbar-collapse {
        padding: 16px 0;
    }

    .navbar-nav .nav-link {
        padding: 12px 16px !important;
    }

    .header .form-control {
        width: 100%;
        margin-top: 12px;
    }

    .header .form-control:focus {
        width: 100%;
    }
}