/* ============================================================
   app.css —— 全局样式唯一入口
   ------------------------------------------------------------
   引用策略（方案 A）：本文件顶部按顺序 @import 各分层分片，
   浏览器 / 静态服务端（PHP 5.6 仅负责按原样输出本文件）均支持；
   分片相对路径以本文件所在目录（/static/css/）为基准解析。

   @import 顺序设计（必须在任何其他规则之前，且严格按此序）：
     1 base/variables.css    变量最先（后续规则依赖 --cms-* / --front-*）
     2 base/reset.css        重置依赖变量，紧随其后
     3 base/layout.css       通用布局
     4 components/buttons.css
     5 components/header.css
     6 components/cards.css
     7 components/forms.css
     8 pages/home.css
     9 pages/factory.css
    10 pages/product.css
    11 pages/contact.css
    12 pages/shop.css
    13 themes/default.css    前台主题放最后：其对 .cms-layout(60px)、
                             .factory-product-card .price(#c92a2a) 等的
                             覆盖必须晚于 base / pages，优先级才与重构前一致。

   后台专属样式（admin/admin.css）不在此入口引入，由
   header_admin.tpl.htm 额外 <link> 加载，保证「前台不误载后台 css、
   后台正常加载后台 css」。

   本文件 @import 之后仅保留：个人中心、登录页、全局响应式媒体查询等
   无法明确归类 / 极通用的兜底规则（顺序与重构前一致）。
   ============================================================ */

@import "base/variables.css";
@import "base/reset.css";
@import "base/layout.css";
@import "components/buttons.css";
@import "components/header.css";
@import "components/cards.css";
@import "components/forms.css";
@import "pages/home.css";
@import "pages/factory.css";
@import "pages/product.css";
@import "pages/contact.css";
@import "pages/shop.css";
@import "themes/default.css";


/* ==================== 个人中心（前台） ==================== */
.account-center-nav { padding-bottom: 4px; }
.account-center-nav .btn { white-space: nowrap; }

.account-info-list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 9px 0;
    border-bottom: 1px dashed #f0f2f5;
    font-size: 14px;
}
.account-info-list li:last-child { border-bottom: 0; }
.account-info-list li span { flex-shrink: 0; }

.order-stat {
    background: #f7f8fa;
    border: 1px solid #eef1f5;
    border-radius: 10px;
    padding: 12px 6px;
}
.order-stat .num { font-size: 22px; font-weight: 700; color: #1c2536; line-height: 1.2; }
.order-stat .label { font-size: 12px; margin-top: 2px; }
.order-stat-total .num { color: #2f6feb; }

.account-quick {
    color: inherit;
    transition: box-shadow .15s, transform .15s;
}
.account-quick:hover {
    box-shadow: 0 6px 18px rgba(0,0,0,.08);
    transform: translateY(-2px);
    color: inherit;
}
.account-quick .icon {
    width: 42px;
    height: 42px;
    font-size: 20px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
}

/* 登录页 */
.cms-login-body {
    background: linear-gradient(135deg, #2f6feb 0%, #5b8def 100%);
    min-height: 100vh;
}

.cms-card .list-group-item { font-size: 14px; }

/* ===== 前台响应式（跨 header / home / factory / product） ===== */
@media (max-width: 900px) {
    .factory-footer-cols { grid-template-columns: 1fr 1fr; gap: 28px; }
    .home-hero { padding: 48px 32px; }
    .home-hero h1 { font-size: 32px; }
}
@media (max-width: 700px) {
    .cms-topbar .container-fluid { flex-wrap: wrap; min-height: 56px; padding-top: 8px; padding-bottom: 8px; }
    .cms-topbar .navbar-nav { order: 3; width: 100%; justify-content: center; overflow-x: auto; padding-bottom: 2px; }
    .cms-topbar .navbar-brand { margin-right: auto; }
    .cms-topbar .navbar-nav .cms-nav-link { padding: 6px 8px; font-size: 13px; }
    .cms-topbar .site-brand-logo { max-width: 160px; max-height: 34px; }
    .home-hero { padding: 38px 24px; margin-left: 0; margin-right: 0; }
    .home-hero h1 { font-size: 28px; }
    .home-hero p { font-size: 14px; }
    .category-banner { padding: 28px 24px; }
    .category-banner-meta { align-items: flex-start; flex-direction: row; flex-wrap: wrap; }
}
@media (max-width: 560px) {
    .factory-footer-cols { grid-template-columns: 1fr; }
    .factory-main { padding-left: 16px; padding-right: 16px; }
}

/* ==================== 个人中心（前台）视觉优化（覆盖） ==================== */
.account-center-nav {
    display: flex; flex-wrap: wrap; gap: 8px;
    background: #fff; border: 1px solid #eef1f5; border-radius: 12px;
    padding: 8px; box-shadow: 0 1px 3px rgba(16,40,32,.04);
}
.account-center-nav .btn {
    border-radius: 8px; padding: 8px 16px; font-size: 13.5px; border-width: 0;
    display: inline-flex; align-items: center; gap: 7px; white-space: nowrap;
}
.account-center-nav .btn-outline-primary { color: #3c4656; background: transparent; }
.account-center-nav .btn-outline-primary:hover { color: #0c8f5b; background: #f0f6f3; }
.account-center-nav .btn-primary { background: #0fae6f; box-shadow: 0 3px 8px rgba(15,174,111,.2); }
.account-center-nav .btn-ghost-home { color: #7a8798; background: #f7f8fa; }
.account-center-nav .btn-ghost-home:hover { color: #111a2e; background: #eef2f6; }

/* 个人中心统计卡：更清晰的信息层次 */
.order-stat { border-radius: 12px; padding: 14px 6px; }
.order-stat .num { font-size: 23px; font-weight: 700; }
.order-stat .label { font-size: 12px; }

/* 个人中心欢迎卡 */
.account-welcome {
    background: linear-gradient(120deg, #0d2b21, #123a2b);
    border-radius: 14px; color: #fff; box-shadow: 0 10px 26px rgba(13,43,33,.18);
}
.account-welcome .account-avatar {
    width: 52px; height: 52px; border-radius: 50%; flex: 0 0 52px;
    background: rgba(255,255,255,.14); color: #fff; font-size: 24px;
    display: flex; align-items: center; justify-content: center;
    border: 2px solid rgba(255,255,255,.3);
}
.account-welcome .text-muted { color: #c5d8cc !important; }
.account-welcome .btn-outline-primary { color: #fff; border-color: rgba(255,255,255,.5); }
.account-welcome .btn-outline-primary:hover { background: rgba(255,255,255,.12); color: #fff; border-color: #fff; }
.account-welcome .btn-outline-secondary { color: #d7e6dc; border-color: rgba(255,255,255,.35); }
.account-welcome .btn-outline-secondary:hover { background: rgba(255,255,255,.12); color: #fff; }
