/**
 * mylost.test - Global Styles
 *
 * 失物找回前台（PC + 响应式 H5）的全局基础样式。
 * 应用 tokens.css 里的 design tokens，覆写 Yii2 + Bootstrap 5 默认。
 * 依赖 tokens.css 在前加载。
 */

/* ============ 全局 body ============ */
html, body {
    font-family: var(--font-family-base);
    font-size: var(--font-size-base);
    line-height: var(--line-height-base);
    color: var(--text-dark);
    background-color: var(--bg-page);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* main 兜底:富文本资讯偶尔有超宽 figure/table,防止把整页推出 viewport
   选 main 而不是 body/html,是因为 sticky 头部的滚动容器是 body,这里不能动它 */
main { overflow-x: hidden; }

/* ============ 标题 ============ */
h1, h2, h3, h4, h5, h6 {
    color: var(--text-dark);
    font-weight: 600;
    line-height: var(--line-height-tight);
}

/* ============ 链接 ============ */
a {
    color: var(--primary);
    text-decoration: none;
    transition: color var(--transition-base);
}
a:hover {
    color: var(--primary-hover);
}

/* ============ 主按钮 (.btn-primary) ============ */
.btn-primary {
    --bs-btn-bg: var(--primary);
    --bs-btn-border-color: var(--primary);
    --bs-btn-hover-bg: var(--primary-hover);
    --bs-btn-hover-border-color: var(--primary-hover);
    --bs-btn-active-bg: var(--primary-hover);
    --bs-btn-active-border-color: var(--primary-hover);
    --bs-btn-focus-shadow-rgb: 0, 113, 227;
    font-weight: var(--btn-font-weight);
    border-radius: var(--btn-radius);
    padding: var(--btn-padding-y) var(--btn-padding-x);
    transition: all var(--transition-base);
}
.btn-primary:hover {
    box-shadow: var(--shadow-btn);
}
.btn-primary.btn-lg,
.btn-lg.btn-primary {
    min-height: var(--btn-height);
    padding: var(--btn-padding-y-lg) var(--btn-padding-x-lg);
    font-size: var(--btn-font-size);
}

/* ============ 卡片 (.card) ============ */
.card {
    border: 1px solid var(--border-color);
    border-radius: var(--radius-2xl);
    box-shadow: var(--shadow);
    background-color: var(--bg-card);
}
.card-header {
    background-color: transparent;
    border-bottom: 1px solid var(--border-color);
    font-weight: 600;
    padding: var(--space-6) var(--space-8);
}
.card-body {
    padding: var(--space-8);
}

/* ============ 表单输入 (.form-control / .form-select) ============ */
.form-control,
.form-select {
    background-color: var(--bg-input);
    border: 1px solid var(--border-input);
    border-radius: var(--radius-md);
    color: var(--text-dark);
    transition: all var(--transition-base);
    padding: var(--space-4) var(--space-6);
}
.form-control:focus,
.form-select:focus {
    background-color: var(--bg-input-focus);
    border-color: var(--primary);
    box-shadow: 0 0 0 4px var(--primary-tint);
}
.form-control::placeholder {
    color: var(--text-pale);
}
.form-label {
    color: var(--text-normal);
    font-weight: 500;
    margin-bottom: var(--space-2);
}

/* ============ 顶部导航 (毛玻璃) ============ */
.navbar.mylost-header {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--border-default);
    padding: var(--space-3) 0;
    position: sticky;
    top: 0;
    z-index: 1030;
}
.navbar.mylost-header .navbar-brand {
    color: var(--text-dark);
    font-weight: 700;
}
.navbar.mylost-header .nav-link {
    color: var(--text-normal);
    font-weight: 500;
    transition: color var(--transition-base);
}
.navbar.mylost-header .nav-link:hover,
.navbar.mylost-header .nav-link.active {
    color: var(--primary);
}

/* ============ Footer ============ */
.footer {
    background-color: var(--bg-page);
    border-top: 1px solid var(--border-default);
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    padding: var(--space-8) 0;
}

/* ============ 错误提示 / 表单校验 ============ */
.error-summary,
.invalid-feedback {
    color: var(--danger);
}

/* ============ 工具类 ============ */
.text-muted { color: var(--text-muted) !important; }
.text-light { color: var(--text-light) !important; }
.bg-page   { background-color: var(--bg-page) !important; }
.bg-card   { background-color: var(--bg-card) !important; }

.shadow-soft   { box-shadow: var(--shadow) !important; }
.shadow-lift   { box-shadow: var(--shadow-lg) !important; }

.rounded-mylost { border-radius: var(--radius-2xl) !important; }
