/* ============================================================
   Aurora 极光模板 · 全局设计系统
   青绿渐变 · 圆角卡片 · 柔和投影 · 移动端优先
   ============================================================ */

:root {
    --au-primary: #2ec4a5;
    --au-primary-2: #35b8d0;
    --au-gradient: linear-gradient(135deg, #38d6ae 0%, #2bb3c9 100%);
    --au-gradient-soft: linear-gradient(135deg, rgba(56,214,174,.12) 0%, rgba(43,179,201,.12) 100%);
    --au-bg: #f4f7f7;
    --au-card: #ffffff;
    --au-text: #2b3a3d;
    --au-text-2: #8499a0;
    --au-text-3: #b3c2c7;
    --au-line: #eef3f3;
    --au-price: #ff5b6a;
    --au-danger: #ff5b6a;
    --au-warning: #ffa940;
    --au-success: #2ec4a5;
    --au-radius: 16px;
    --au-radius-sm: 12px;
    --au-radius-lg: 22px;
    --au-shadow: 0 6px 24px rgba(43, 140, 130, .08);
    --au-shadow-hover: 0 10px 32px rgba(43, 140, 130, .16);
    --au-nav-h: 58px;
}

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }

html { font-size: 16px; }

body {
    margin: 0 auto;
    padding: 0;
    max-width: 720px;
    min-height: 100vh;
    background: var(--au-bg);
    color: var(--au-text);
    font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
    font-size: .9375rem;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
a:hover, a:focus { color: inherit; text-decoration: none; }
img { max-width: 100%; border: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
p { margin: 0; }
input, select, textarea, button { font-family: inherit; font-size: inherit; outline: none; }

::selection { background: rgba(46,196,165,.25); }

/* 滚动条美化 */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-thumb { background: rgba(46,196,165,.35); border-radius: 3px; }
::-webkit-scrollbar-track { background: transparent; }

.au-body { padding-bottom: calc(var(--au-nav-h) + env(safe-area-inset-bottom) + 16px); }

/* ---------------- 通用卡片 ---------------- */
.au-card {
    background: var(--au-card);
    border-radius: var(--au-radius);
    box-shadow: var(--au-shadow);
    padding: 16px;
    margin: 12px;
    position: relative;
}

.au-card-title {
    display: flex;
    align-items: center;
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 12px;
}

.au-card-title::before {
    content: '';
    width: 4px;
    height: 16px;
    border-radius: 2px;
    background: var(--au-gradient);
    margin-right: 8px;
    flex: none;
}

/* ---------------- 按钮 ---------------- */
.au-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: none;
    cursor: pointer;
    border-radius: 999px;
    padding: 10px 22px;
    font-size: .9375rem;
    font-weight: 500;
    color: var(--au-text);
    background: #eef3f3;
    transition: transform .15s ease, box-shadow .2s ease, opacity .2s ease;
    user-select: none;
}

.au-btn:active { transform: scale(.96); }

.au-btn-primary {
    background: var(--au-gradient);
    color: #fff;
    box-shadow: 0 6px 18px rgba(43, 179, 201, .35);
}

.au-btn-primary:hover { color: #fff; box-shadow: 0 8px 24px rgba(43, 179, 201, .45); }

.au-btn-danger {
    background: linear-gradient(135deg, #ff7b88, #ff5b6a);
    color: #fff;
    box-shadow: 0 6px 18px rgba(255, 91, 106, .3);
}

.au-btn-plain {
    background: var(--au-gradient-soft);
    color: var(--au-primary);
}

.au-btn-block { display: flex; width: 100%; }

.au-btn-sm { padding: 6px 14px; font-size: .8125rem; }

.au-btn[disabled], .au-btn.disabled { opacity: .55; pointer-events: none; }

/* ---------------- 顶部渐变区 ---------------- */
.au-hero {
    background: var(--au-gradient);
    border-radius: 0 0 var(--au-radius-lg) var(--au-radius-lg);
    padding: 18px 14px 34px;
    color: #fff;
    position: relative;
    overflow: hidden;
}

.au-hero::before, .au-hero::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, .12);
    pointer-events: none;
}

.au-hero::before { width: 180px; height: 180px; right: -50px; top: -70px; }
.au-hero::after { width: 110px; height: 110px; left: -30px; bottom: -30px; background: rgba(255,255,255,.09); }

/* ---------------- 搜索栏 ---------------- */
.au-search {
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 999px;
    padding: 4px 4px 4px 16px;
    box-shadow: var(--au-shadow);
    position: relative;
    z-index: 2;
}

.au-search .au-search-icon {
    color: var(--au-text-3);
    flex: none;
    display: flex;
}

.au-search input[type="text"],
.au-search input[type="search"] {
    flex: 1;
    min-width: 0;
    border: none;
    background: transparent;
    padding: 8px 10px;
    font-size: .875rem;
    color: var(--au-text);
}

.au-search input::placeholder { color: var(--au-text-3); }

.au-search .au-search-btn {
    flex: none;
    border: none;
    border-radius: 999px;
    background: var(--au-gradient);
    color: #fff;
    padding: 8px 20px;
    font-size: .875rem;
    cursor: pointer;
    transition: opacity .2s;
}

.au-search .au-search-btn:active { opacity: .85; }

/* ---------------- 公告条 ---------------- */
.au-notice {
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: var(--au-radius-sm);
    box-shadow: var(--au-shadow);
    padding: 10px 14px;
    margin: 12px;
    font-size: .8125rem;
    color: var(--au-text-2);
    gap: 10px;
}

.au-notice-badge {
    flex: none;
    background: var(--au-gradient-soft);
    color: var(--au-primary);
    border-radius: 999px;
    padding: 2px 10px;
    font-size: .75rem;
    font-weight: 600;
}

.au-notice-text { flex: 1; min-width: 0; overflow: hidden; white-space: nowrap; }

/* 公告慢速滚动（跑马灯）：18s 控制速度，数值越大越慢 */
.au-notice-scroll {
    display: inline-block;
    padding-left: 100%;
    animation: au-notice-scroll 18s linear infinite;
}
@keyframes au-notice-scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-100%); }
}

/* ---------------- 轮播 ---------------- */
.au-banner { margin: 12px; border-radius: var(--au-radius); overflow: hidden; box-shadow: var(--au-shadow); }
.au-banner .swiper-slide img { display: block; width: 100%; aspect-ratio: 2.8 / 1; object-fit: cover; border-radius: var(--au-radius); }

.au-banner .swiper-pagination-bullet {
    width: 6px; height: 6px;
    background: rgba(255,255,255,.6);
    opacity: 1;
    border-radius: 3px;
    transition: all .3s;
}
.au-banner .swiper-pagination-bullet-active {
    width: 18px;
    background: #fff;
}

/* ---------------- 分类导航 ---------------- */
.au-cats { margin: 12px; }
.au-cats .swiper-slide { height: auto; }
.au-cat-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 4px 0;
    background: #fff;
    border-radius: var(--au-radius);
    box-shadow: var(--au-shadow);
    padding: 14px 6px;
}

.au-cat-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 6px 0;
    border-radius: var(--au-radius-sm);
    transition: transform .15s ease;
    cursor: pointer;
}

.au-cat-item:active { transform: scale(.94); }

.au-cat-icon {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    overflow: hidden;
    background: var(--au-gradient-soft);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 0 1px rgba(46,196,165,.12);
}

.au-cat-icon img { width: 100%; height: 100%; object-fit: cover; }

.au-cat-name {
    font-size: .75rem;
    color: #ff7a00;
    max-width: 64px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.au-cat-item.active .au-cat-icon {
    background: var(--au-gradient);
    box-shadow: 0 6px 14px rgba(43,179,201,.35);
}

.au-cat-item.active .au-cat-name { color: var(--au-primary); font-weight: 600; }

.au-cats .swiper-pagination { position: static; margin-top: 8px; }
.au-cats .swiper-pagination-bullet { width: 6px; height: 6px; background: #d5e2e0; opacity: 1; border-radius: 3px; transition: all .3s; }
.au-cats .swiper-pagination-bullet-active { width: 16px; background: var(--au-primary); }

/* ---------------- 排序栏 ---------------- */
.au-sort {
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: var(--au-radius-sm);
    box-shadow: var(--au-shadow);
    margin: 12px;
    padding: 6px;
}

.au-sort-item {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    padding: 8px 0;
    font-size: .8125rem;
    color: var(--au-text-2);
    border-radius: 10px;
    cursor: pointer;
    transition: all .2s;
    user-select: none;
}

.au-sort-item.on {
    background: var(--au-gradient-soft);
    color: var(--au-primary);
    font-weight: 600;
}

.au-sort-item .au-sort-arrow { display: inline-flex; flex-direction: column; line-height: 1; }
.au-sort-item .au-sort-arrow svg { width: 8px; height: 5px; }
.au-sort-item .au-sort-arrow .up { margin-bottom: 1px; }
.au-sort-item .au-sort-arrow svg path { fill: #cfdedd; }
.au-sort-item.ASC .au-sort-arrow .up path { fill: var(--au-primary); }
.au-sort-item.DESC .au-sort-arrow .down path { fill: var(--au-primary); }

/* ---------------- 商品列表 ---------------- */
.au-goods-info {
    text-align: center;
    font-size: .8125rem;
    color: var(--au-text-2);
    margin: 4px 12px 0;
}

.au-goods-info em { color: var(--au-primary); font-style: normal; font-weight: 600; }

.au-goods {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    padding: 12px;
}

.au-goods.list-view { grid-template-columns: 1fr; }

.au-goods-item {
    background: #fff;
    border-radius: var(--au-radius);
    overflow: hidden;
    box-shadow: var(--au-shadow);
    transition: transform .18s ease, box-shadow .25s ease;
    display: flex;
    flex-direction: column;
    position: relative;
}

@media (hover: hover) {
    .au-goods-item:hover { transform: translateY(-3px); box-shadow: var(--au-shadow-hover); }
}

.au-goods-img {
    position: relative;
    width: 100%;
    padding-top: 49%;
    background: #eef4f3;
    overflow: hidden;
}

.au-goods-img img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

@media (hover: hover) {
    .au-goods-item:hover .au-goods-img img { transform: scale(1.05); }
}

.au-goods-tag {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
    background: linear-gradient(135deg, #ff9a56, #ff5b6a);
    color: #fff;
    font-size: .6875rem;
    padding: 2px 10px;
    border-radius: 999px;
    box-shadow: 0 4px 10px rgba(255,91,106,.35);
}

.au-goods-soldout {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: rgba(255,255,255,.55);
    display: flex;
    align-items: center;
    justify-content: center;
}

.au-goods-soldout span {
    background: rgba(43,58,61,.75);
    color: #fff;
    font-size: .75rem;
    padding: 4px 14px;
    border-radius: 999px;
    backdrop-filter: blur(2px);
}

.au-goods-sales {
    position: absolute;
    right: 8px;
    bottom: 8px;
    z-index: 2;
    background: rgba(43,58,61,.55);
    color: #fff;
    font-size: .625rem;
    padding: 2px 8px;
    border-radius: 999px;
    backdrop-filter: blur(2px);
}

.au-goods-detail { padding: 10px 12px 12px; display: flex; flex-direction: column; gap: 6px; flex: 1; }

.au-goods-name {
    font-size: .875rem;
    font-weight: 500;
    color: var(--au-text);
    line-height: 1.4;
    height: 1.4em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.au-goods-stock { font-size: .6875rem; color: var(--au-text-3); }

.au-goods-foot { display: flex; align-items: center; justify-content: space-between; margin-top: auto; }

.au-goods-price { color: var(--au-price); font-weight: 700; font-size: 1.05rem; }
.au-goods-price::before { content: '￥'; font-size: .72em; font-weight: 500; }

.au-goods-buy {
    border: none;
    border-radius: 999px;
    padding: 5px 16px;
    font-size: .75rem;
    color: #fff;
    background: var(--au-gradient);
    box-shadow: 0 4px 12px rgba(43,179,201,.3);
    cursor: pointer;
}

.au-goods-buy.free { background: linear-gradient(135deg, #ffc53d, #ffa940); box-shadow: 0 4px 12px rgba(255,169,64,.3); }
.au-goods-buy.off { background: #c4d2d0; box-shadow: none; }

/* 列表视图：上图下文，固定低高度 */
.au-goods.list-view .au-goods-item { flex-direction: column; }
.au-goods.list-view .au-goods-img { width: 100%; padding-top: 0; height: 120px; flex: none; }
.au-goods.list-view .au-goods-detail { flex: 1; }
.au-goods.list-view .au-goods-name { height: auto; -webkit-line-clamp: 1; }

/* 加载更多 */
.au-flow-more {
    text-align: center;
    padding: 14px 0 4px;
    font-size: .8125rem;
    color: var(--au-text-3);
}

.au-flow-more .au-loading {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid rgba(46,196,165,.25);
    border-top-color: var(--au-primary);
    border-radius: 50%;
    vertical-align: -3px;
    margin-right: 6px;
    animation: au-spin .8s linear infinite;
}

@keyframes au-spin { to { transform: rotate(360deg); } }

/* ---------------- 底部导航 ---------------- */
.au-navbar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 900;
    max-width: 720px;
    margin: 0 auto;
    height: calc(var(--au-nav-h) + env(safe-area-inset-bottom));
    padding-bottom: env(safe-area-inset-bottom);
    background: rgba(255, 255, 255, .92);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 -4px 24px rgba(43, 140, 130, .10);
    display: flex;
    border-radius: var(--au-radius-lg) var(--au-radius-lg) 0 0;
}

.au-nav-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    color: var(--au-text-2);
    font-size: .6875rem;
    transition: color .2s;
    position: relative;
}

.au-nav-item svg { width: 22px; height: 22px; }
.au-nav-item svg path, .au-nav-item svg circle, .au-nav-item svg rect { transition: all .2s; }

.au-nav-item.active { color: var(--au-primary); font-weight: 600; }

.au-nav-item.active::before {
    content: '';
    position: absolute;
    top: 0;
    width: 28px;
    height: 3px;
    border-radius: 0 0 3px 3px;
    background: var(--au-gradient);
}

/* ---------------- 顶部标题栏 ---------------- */
.au-topbar {
    position: sticky;
    top: 0;
    z-index: 800;
    display: flex;
    align-items: center;
    height: 52px;
    padding: 0 8px;
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 2px 16px rgba(43,140,130,.08);
}

.au-topbar .au-topbar-btn {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    color: var(--au-text);
    cursor: pointer;
    flex: none;
}

.au-topbar .au-topbar-btn:active { background: var(--au-gradient-soft); }

.au-topbar .au-topbar-title {
    flex: 1;
    text-align: center;
    font-size: 1rem;
    font-weight: 600;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* ---------------- 弹层（公告/状态说明） ---------------- */
.au-mask {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(30, 48, 50, .45);
    backdrop-filter: blur(3px);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 28px;
}

.au-mask.show { display: flex; animation: au-fadein .25s ease; }

@keyframes au-fadein { from { opacity: 0; } to { opacity: 1; } }

.au-dialog {
    background: #fff;
    border-radius: var(--au-radius-lg);
    width: 100%;
    max-width: 420px;
    max-height: 76vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 60px rgba(0,0,0,.18);
    animation: au-pop .3s cubic-bezier(.34,1.56,.64,1);
}

@keyframes au-pop { from { transform: scale(.9) translateY(16px); opacity: 0; } to { transform: scale(1) translateY(0); opacity: 1; } }

.au-dialog-title {
    padding: 18px 18px 10px;
    text-align: center;
    font-size: 1.05rem;
    font-weight: 700;
    position: relative;
}

.au-dialog-title::after {
    content: '';
    display: block;
    width: 36px;
    height: 3px;
    border-radius: 2px;
    background: var(--au-gradient);
    margin: 8px auto 0;
}

.au-dialog-body { padding: 8px 18px 16px; overflow-y: auto; font-size: .875rem; color: var(--au-text-2); }

.au-dialog-body img { max-width: 100%; border-radius: var(--au-radius-sm); }

.au-dialog-btn {
    border: none;
    background: var(--au-gradient);
    color: #fff;
    padding: 13px;
    font-size: .9375rem;
    font-weight: 600;
    cursor: pointer;
}

/* ---------------- 底部弹出层（下单确认） ---------------- */
.au-sheet-mask {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(30,48,50,.45);
    backdrop-filter: blur(3px);
    display: none;
}

.au-sheet-mask.show { display: block; animation: au-fadein .25s ease; }

.au-sheet {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1001;
    max-width: 720px;
    margin: 0 auto;
    background: #fff;
    border-radius: var(--au-radius-lg) var(--au-radius-lg) 0 0;
    padding: 10px 18px calc(16px + env(safe-area-inset-bottom));
    display: none;
    max-height: 82vh;
    flex-direction: column;
    box-shadow: 0 -12px 48px rgba(0,0,0,.16);
}

.au-sheet.show { display: flex; animation: au-slideup .3s cubic-bezier(.32,.72,.35,1); }

@keyframes au-slideup { from { transform: translateY(60px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }

.au-sheet-handle {
    width: 40px;
    height: 4px;
    border-radius: 2px;
    background: #dfe9e8;
    margin: 2px auto 12px;
    flex: none;
}

.au-sheet-title {
    text-align: center;
    font-size: 1.05rem;
    font-weight: 700;
    margin-bottom: 14px;
    position: relative;
    flex: none;
}

.au-sheet-close {
    position: absolute;
    right: 0;
    top: -2px;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f0f5f4;
    color: var(--au-text-2);
    cursor: pointer;
}

.au-sheet-body { overflow-y: auto; flex: 1; min-height: 0; }

.au-sheet-foot { display: flex; gap: 10px; padding-top: 14px; flex: none; }

/* ---------------- 表单 ---------------- */
.au-form-item { margin-bottom: 14px; }

.au-form-label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: .875rem;
    font-weight: 500;
    color: var(--au-text);
    margin-bottom: 6px;
}

.au-form-label .au-form-tip { font-size: .75rem; color: var(--au-text-3); font-weight: 400; }

.au-input, .au-select {
    width: 100%;
    border: 1.5px solid var(--au-line);
    background: #f9fbfb;
    border-radius: var(--au-radius-sm);
    padding: 11px 14px;
    font-size: .9375rem;
    color: var(--au-text);
    transition: border-color .2s, background .2s, box-shadow .2s;
}

.au-input:focus, .au-select:focus {
    border-color: var(--au-primary);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(46,196,165,.14);
}

.au-input:disabled { color: var(--au-text-2); background: #f0f5f4; }

.au-input-wrap { position: relative; display: flex; align-items: center; }

.au-input-wrap .au-input { padding-right: 86px; }

.au-input-side {
    position: absolute;
    right: 6px;
    border: none;
    background: var(--au-gradient-soft);
    color: var(--au-primary);
    font-size: .75rem;
    font-weight: 600;
    border-radius: 999px;
    padding: 6px 12px;
    cursor: pointer;
    white-space: nowrap;
}

/* 数量步进器 */
.au-stepper {
    display: flex;
    align-items: stretch;
    border: 1.5px solid var(--au-line);
    border-radius: var(--au-radius-sm);
    overflow: hidden;
    background: #f9fbfb;
}

.au-stepper .au-step-btn {
    width: 46px;
    border: none;
    background: #f0f5f4;
    font-size: 1.25rem;
    color: var(--au-primary);
    cursor: pointer;
    transition: background .2s;
    flex: none;
}

.au-stepper .au-step-btn:active { background: var(--au-gradient-soft); }

.au-stepper input {
    flex: 1;
    min-width: 0;
    border: none;
    background: transparent;
    text-align: center;
    font-size: 1rem;
    font-weight: 600;
    color: var(--au-text);
    padding: 10px 4px;
}

/* 兼容 main.js 动态生成的 layui/bootstrap 结构 */
.layui-form-item { margin-bottom: 14px; }
.layui-form-label { display: block; font-size: .875rem; font-weight: 500; color: var(--au-text); margin-bottom: 6px; padding: 0; width: auto; text-align: left; line-height: 1.6; }
.layui-input, .layui-input- input, .layui-input- select, #inputsname input[type="text"], #inputsname input[type="number"], #inputsname select {
    width: 100%;
    border: 1.5px solid var(--au-line);
    background: #f9fbfb;
    border-radius: var(--au-radius-sm);
    padding: 11px 14px;
    font-size: .9375rem;
    color: var(--au-text);
    transition: border-color .2s, background .2s, box-shadow .2s;
    height: auto;
}

.layui-input:focus, #inputsname input:focus, #inputsname select:focus {
    border-color: var(--au-primary);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(46,196,165,.14);
}

#inputsname select { appearance: none; -webkit-appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--au-text-2) 50%), linear-gradient(135deg, var(--au-text-2) 50%, transparent 50%); background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%; background-size: 5px 5px; background-repeat: no-repeat; }

.btnee, .btnee_left {
    display: inline-block;
    width: auto;
    float: none;
    margin: 6px 0 0;
    border: none;
    background: var(--au-gradient-soft);
    color: var(--au-primary);
    font-size: .75rem;
    font-weight: 600;
    border-radius: 999px;
    padding: 6px 14px;
    cursor: pointer;
    text-align: center;
}

.input-group { display: flex; align-items: stretch; gap: 6px; }
.input-group .form-control, .input-group select.form-control {
    flex: 1;
    min-width: 0;
    border: 1.5px solid var(--au-line);
    background: #f9fbfb;
    border-radius: var(--au-radius-sm);
    padding: 10px 12px;
    font-size: .875rem;
    height: auto;
}
.input-group-addon {
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: #f0f5f4;
    border-radius: var(--au-radius-sm);
    padding: 8px 14px;
    font-size: .8125rem;
    color: var(--au-text-2);
    cursor: pointer;
    white-space: nowrap;
}
.input-group-addon.onclick:active { background: var(--au-gradient-soft); }

#num_min, #num_add {
    width: 46px;
    font-size: 1.25rem;
    color: var(--au-primary);
    border-radius: 0;
}

/* ---------------- layer 弹窗柔化 ---------------- */
.layui-layer {
    border-radius: var(--au-radius) !important;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0,0,0,.18) !important;
    font-family: inherit !important;
}

.layui-layer-title {
    background: var(--au-gradient) !important;
    color: #fff !important;
    border: none !important;
    font-weight: 600;
}

.layui-layer-title .layui-layer-close { color: #fff !important; }

.layui-layer-btn a {
    border-radius: 999px !important;
    border: none !important;
    padding: 6px 20px !important;
    height: auto !important;
    line-height: 1.6 !important;
}

.layui-layer-btn .layui-layer-btn0 {
    background: var(--au-gradient) !important;
    color: #fff !important;
    border: none !important;
}

.layui-layer-btn .layui-layer-btn1 { background: #eef3f3 !important; color: var(--au-text-2) !important; }

.layui-layer-dialog { border-radius: var(--au-radius) !important; }

.layui-layer-loading .layui-layer-content { margin: auto; }

/* ---------------- 表格 / 订单详情弹窗 shim ---------------- */
#orderItem, .table {
    width: 100%;
    border-collapse: collapse;
    font-size: .8125rem;
    background: #fff;
}

#orderItem td, .table td, .table th {
    padding: 9px 10px;
    border-bottom: 1px solid var(--au-line);
    vertical-align: top;
    word-break: break-all;
}

#orderItem td.info, #orderItem td.warning { color: var(--au-text-2); white-space: nowrap; background: #f8fbfa; }
#orderItem .orderTitle b { color: var(--au-text); }

.label { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: .75rem; font-weight: 500; }
.label-primary { background: rgba(43,179,201,.14); color: #2b9fc9; }
.label-success { background: rgba(46,196,165,.14); color: var(--au-primary); }
.label-warning { background: rgba(255,169,64,.16); color: #e6930a; }
.label-danger { background: rgba(255,91,106,.14); color: var(--au-danger); }

.btn {
    display: inline-block;
    border: none;
    border-radius: 999px;
    padding: 5px 14px;
    font-size: .75rem;
    cursor: pointer;
    background: #eef3f3;
    color: var(--au-text-2);
}
.btn-xs { padding: 4px 12px; font-size: .75rem; }
.btn-sm { padding: 6px 14px; font-size: .8125rem; }
.btn-default { background: #eef3f3; color: var(--au-text-2); }
.btn-danger { background: rgba(255,91,106,.14); color: var(--au-danger); }
.btn-primary { background: var(--au-gradient); color: #fff; }
.btn-primary-o { background: transparent; color: var(--au-primary); border: 1.5px solid var(--au-primary); }
.btn-block { display: block; width: 100%; text-align: center; padding: 12px; font-size: .9375rem; }

/* ---------------- 状态徽标 ---------------- */
.au-badge {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 999px;
    font-size: .6875rem;
    font-weight: 600;
}

.au-badge-teal { background: rgba(46,196,165,.14); color: var(--au-primary); }
.au-badge-orange { background: rgba(255,169,64,.16); color: #e6930a; }
.au-badge-blue { background: rgba(43,179,201,.14); color: #2b9fc9; }
.au-badge-red { background: rgba(255,91,106,.14); color: var(--au-danger); }
.au-badge-grey { background: #eef1f1; color: var(--au-text-2); }

/* ---------------- 订单卡片（查单页） ---------------- */
.au-order-card {
    background: #fff;
    border-radius: var(--au-radius);
    box-shadow: var(--au-shadow);
    margin: 12px;
    overflow: hidden;
}

.au-order-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 14px;
    border-bottom: 1px dashed var(--au-line);
    font-size: .875rem;
    font-weight: 600;
}

.au-order-head .au-order-name { flex: 1; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }

.au-order-body { display: flex; gap: 12px; padding: 12px 14px; }

.au-order-img {
    width: 74px;
    height: 74px;
    flex: none;
    border-radius: var(--au-radius-sm);
    overflow: hidden;
    background: #eef4f3;
}

.au-order-img img { width: 100%; height: 100%; object-fit: cover; }

.au-order-meta { flex: 1; min-width: 0; font-size: .8125rem; color: var(--au-text-2); display: flex; flex-direction: column; gap: 3px; }

.au-order-meta .au-order-money { color: var(--au-price); font-weight: 700; }

.au-order-foot {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 0 14px 12px;
}

/* ---------------- Tabs（查单状态切换） ---------------- */
.au-tabs {
    display: flex;
    gap: 8px;
    padding: 12px 12px 0;
    overflow-x: auto;
    scrollbar-width: none;
}

.au-tabs::-webkit-scrollbar { display: none; }

.au-tab {
    flex: 1;
    white-space: nowrap;
    text-align: center;
    padding: 7px 14px;
    font-size: .8125rem;
    color: var(--au-text-2);
    background: #fff;
    border-radius: 999px;
    box-shadow: var(--au-shadow);
    cursor: pointer;
    transition: all .2s;
}

.au-tab.active {
    background: var(--au-gradient);
    color: #fff;
    font-weight: 600;
    box-shadow: 0 6px 16px rgba(43,179,201,.35);
}

/* ---------------- 空状态 ---------------- */
.au-empty { text-align: center; padding: 60px 20px; color: var(--au-text-3); font-size: .875rem; }
.au-empty img { width: 110px; opacity: .85; margin-bottom: 14px; }
.au-empty .au-btn { margin-top: 18px; }

/* ---------------- 页脚 ---------------- */
.au-footer {
    text-align: center;
    font-size: .75rem;
    color: var(--au-text-3);
    padding: 18px 12px 8px;
    line-height: 1.8;
}

/* ---------------- 支付确认页 ---------------- */
.au-pay-item {
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1.5px solid var(--au-line);
    border-radius: var(--au-radius-sm);
    padding: 13px 14px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: all .2s;
    background: #fbfbfc;
}

.au-pay-item img { width: 22px; height: 22px; object-fit: contain; }

.au-pay-item .au-pay-name { flex: 1; font-size: .9375rem; font-weight: 500; }
.au-pay-item .au-pay-name small { color: var(--au-text-3); font-weight: 400; margin-left: 8px; font-size: .75rem; }

.au-pay-item .au-pay-radio {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 2px solid #cfdedd;
    flex: none;
    position: relative;
    transition: all .2s;
}

.au-pay-item.selected {
    border-color: var(--au-primary);
    background: var(--au-gradient-soft);
    box-shadow: 0 4px 14px rgba(46,196,165,.12);
}

.au-pay-item.selected .au-pay-radio {
    border-color: var(--au-primary);
    background: var(--au-gradient);
    box-shadow: inset 0 0 0 3px #fff;
}

.au-paybar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 800;
    max-width: 720px;
    margin: 0 auto;
    background: rgba(255,255,255,.95);
    backdrop-filter: blur(14px);
    box-shadow: 0 -4px 24px rgba(43,140,130,.12);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
    border-radius: var(--au-radius-lg) var(--au-radius-lg) 0 0;
}

.au-paybar .au-paybar-total { font-size: .8125rem; color: var(--au-text-2); }
.au-paybar .au-paybar-total b { color: var(--au-price); font-size: 1.25rem; font-weight: 700; }

/* ---------------- 商品详情页 ---------------- */
.au-prod-hero {
    background: var(--au-gradient);
    padding: 14px 14px 46px;
    border-radius: 0 0 var(--au-radius-lg) var(--au-radius-lg);
    position: relative;
    overflow: hidden;
}

.au-prod-hero::before {
    content: '';
    position: absolute;
    width: 200px; height: 200px;
    border-radius: 50%;
    background: rgba(255,255,255,.12);
    right: -60px; top: -80px;
}

.au-prod-card {
    background: #fff;
    border-radius: var(--au-radius);
    box-shadow: 0 10px 30px rgba(43,140,130,.14);
    margin: -36px 12px 0;
    padding: 16px;
    position: relative;
    z-index: 2;
    display: flex;
    gap: 14px;
}

.au-prod-img {
    width: 108px;
    height: 108px;
    flex: none;
    border-radius: var(--au-radius-sm);
    overflow: hidden;
    background: #eef4f3;
    box-shadow: var(--au-shadow);
}

.au-prod-img img { width: 100%; height: 100%; object-fit: cover; }

.au-prod-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }

.au-prod-name { font-size: 1rem; font-weight: 700; line-height: 1.4; }

.au-prod-level { font-size: .75rem; color: var(--au-text-2); }

.au-prod-price-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; flex-wrap: wrap; }

.au-prod-price { color: var(--au-price); font-weight: 700; font-size: 1.3rem; }
.au-prod-price::before { content: '￥'; font-size: .68em; font-weight: 500; }

.au-prod-stock { font-size: .75rem; color: var(--au-text-2); background: #f0f5f4; border-radius: 999px; padding: 2px 10px; }

.au-prod-desc { word-break: break-all; font-size: .875rem; color: var(--au-text-2); }
.au-prod-desc img { max-width: 100%; border-radius: var(--au-radius-sm); }

/* 详情页底部操作条 */
.au-buybar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 800;
    max-width: 720px;
    margin: 0 auto;
    background: rgba(255,255,255,.95);
    backdrop-filter: blur(14px);
    box-shadow: 0 -4px 24px rgba(43,140,130,.12);
    display: flex;
    align-items: stretch;
    gap: 10px;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
    border-radius: var(--au-radius-lg) var(--au-radius-lg) 0 0;
}

.au-buybar .au-buybar-side {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    width: 54px;
    flex: none;
    color: var(--au-text-2);
    font-size: .625rem;
    cursor: pointer;
}

.au-buybar .au-buybar-side svg { width: 21px; height: 21px; }

.au-buybar .au-buybar-main {
    flex: 1;
    border: none;
    border-radius: 999px;
    background: var(--au-gradient);
    color: #fff;
    font-size: .9375rem;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1.3;
    box-shadow: 0 6px 18px rgba(43,179,201,.35);
    transition: transform .15s;
}

.au-buybar .au-buybar-main:active { transform: scale(.97); }

.au-buybar .au-buybar-main small { font-size: .6875rem; font-weight: 400; opacity: .9; }

.au-buybar .au-buybar-main.off { background: #c4d2d0; box-shadow: none; }

/* ---------------- 登录 / 注册 ---------------- */
.au-auth-wrap {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--au-gradient);
    position: relative;
    overflow: hidden;
}

.au-auth-wrap::before, .au-auth-wrap::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    background: rgba(255,255,255,.12);
}

.au-auth-wrap::before { width: 240px; height: 240px; right: -70px; top: -90px; }
.au-auth-wrap::after { width: 150px; height: 150px; left: -50px; top: 130px; background: rgba(255,255,255,.08); }

.au-auth-head {
    color: #fff;
    text-align: center;
    padding: 56px 20px 30px;
    position: relative;
    z-index: 1;
}

.au-auth-head .au-auth-logo {
    width: 68px;
    height: 68px;
    margin: 0 auto 14px;
    border-radius: 20px;
    background: rgba(255,255,255,.2);
    backdrop-filter: blur(6px);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 30px rgba(0,0,0,.12);
}

.au-auth-head h1 { font-size: 1.35rem; margin: 0 0 6px; font-weight: 700; }
.au-auth-head p { font-size: .8125rem; opacity: .85; margin: 0; }

.au-auth-card {
    flex: 1;
    background: var(--au-bg);
    border-radius: var(--au-radius-lg) var(--au-radius-lg) 0 0;
    padding: 28px 22px 30px;
    position: relative;
    z-index: 1;
}

.au-auth-item {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #fff;
    border-radius: var(--au-radius-sm);
    box-shadow: var(--au-shadow);
    padding: 4px 6px 4px 16px;
    margin-bottom: 14px;
}

.au-auth-item .au-auth-icon { color: var(--au-primary); display: flex; flex: none; }

.au-auth-item input {
    flex: 1;
    min-width: 0;
    border: none;
    background: transparent;
    padding: 12px 10px 12px 0;
    font-size: .9375rem;
}

.au-auth-item .au-auth-code {
    flex: none;
    border-radius: 8px;
    height: 42px;
    cursor: pointer;
    margin: 4px;
}

.au-auth-links { display: flex; justify-content: space-between; font-size: .8125rem; color: var(--au-text-2); margin: 4px 2px 18px; }
.au-auth-links a { color: var(--au-primary); }

.au-auth-third { text-align: center; margin-top: 24px; }
.au-auth-third .au-auth-third-title {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--au-text-3);
    font-size: .75rem;
    margin-bottom: 14px;
}
.au-auth-third .au-auth-third-title::before, .au-auth-third .au-auth-third-title::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--au-line);
}

.au-auth-third-item {
    display: inline-block;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: #fff;
    box-shadow: var(--au-shadow);
    margin: 0 10px;
    cursor: pointer;
    background-size: 70%;
    background-position: center;
    background-repeat: no-repeat;
    transition: transform .15s;
}

.au-auth-third-item:active { transform: scale(.92); }

/* ---------------- 会员中心 ---------------- */
.au-member-hero {
    background: var(--au-gradient);
    border-radius: 0 0 var(--au-radius-lg) var(--au-radius-lg);
    padding: 20px 18px 54px;
    color: #fff;
    position: relative;
    overflow: hidden;
}

.au-member-hero::before {
    content: '';
    position: absolute;
    width: 220px; height: 220px;
    border-radius: 50%;
    background: rgba(255,255,255,.1);
    right: -70px; top: -90px;
}

.au-member-top { display: flex; align-items: center; gap: 14px; position: relative; z-index: 1; }

.au-member-face {
    width: 62px;
    height: 62px;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid rgba(255,255,255,.55);
    box-shadow: 0 6px 16px rgba(0,0,0,.12);
    flex: none;
    background: #fff;
}

.au-member-face img { width: 100%; height: 100%; object-fit: cover; }

.au-member-name { font-size: 1.1rem; font-weight: 700; }
.au-member-uid { font-size: .75rem; opacity: .85; margin-top: 2px; }
.au-member-level { display: inline-block; margin-top: 6px; font-size: .6875rem; background: rgba(255,255,255,.22); border-radius: 999px; padding: 2px 12px; backdrop-filter: blur(4px); }

.au-member-set {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 2;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: rgba(255,255,255,.2);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}

.au-member-card {
    display: flex;
    background: #fff;
    border-radius: var(--au-radius);
    box-shadow: var(--au-shadow);
    margin: -38px 12px 0;
    padding: 16px 0;
    position: relative;
    z-index: 2;
}

.au-member-cell {
    flex: 1;
    text-align: center;
    position: relative;
}

.au-member-cell + .au-member-cell::before {
    content: '';
    position: absolute;
    left: 0;
    top: 20%;
    height: 60%;
    width: 1px;
    background: var(--au-line);
}

.au-member-cell .au-member-num { font-size: 1.15rem; font-weight: 700; color: var(--au-text); }
.au-member-cell .au-member-cap { font-size: .75rem; color: var(--au-text-2); margin-top: 2px; }
.au-member-cell .au-btn { margin-top: 8px; }

/* cell 列表 */
.au-cells { background: #fff; border-radius: var(--au-radius); box-shadow: var(--au-shadow); margin: 12px; overflow: hidden; }

.au-cell {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    position: relative;
    transition: background .2s;
}

.au-cell:active { background: #f6fafa; }

.au-cell + .au-cell::before {
    content: '';
    position: absolute;
    left: 60px;
    right: 0;
    top: 0;
    height: 1px;
    background: var(--au-line);
}

.au-cell-icon {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: var(--au-gradient-soft);
    color: var(--au-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
}

.au-cell-icon svg { width: 18px; height: 18px; }

.au-cell-text { flex: 1; font-size: .9375rem; }

.au-cell-remark { font-size: .75rem; color: var(--au-text-3); display: flex; align-items: center; gap: 6px; }

.au-cell-remark::after {
    content: '';
    width: 8px;
    height: 8px;
    border-top: 2px solid #cfdedd;
    border-right: 2px solid #cfdedd;
    transform: rotate(45deg);
}

.au-cell .badge, .au-cell .tiaoshu_cont, .au-cell .work_cont {
    background: var(--au-danger);
    color: #fff;
    border-radius: 999px;
    font-size: .625rem;
    min-width: 17px;
    height: 17px;
    line-height: 17px;
    text-align: center;
    padding: 0 5px;
}

/* 图标宫格 */
.au-icon-grid { display: flex; flex-wrap: wrap; padding: 6px 0 10px; }

.au-icon-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    padding: 10px 0;
    flex: 1;
    min-width: 20%;
    cursor: pointer;
}

.au-icon-col .au-ico {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    box-shadow: 0 6px 14px rgba(43,140,130,.16);
}

.au-icon-col .au-ico svg { width: 20px; height: 20px; }

.au-icon-col .au-ico-text { font-size: .75rem; color: var(--au-text-2); }

/* 分组标题 */
.au-group-title {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 16px 10px;
    font-size: .8125rem;
    font-weight: 600;
    color: var(--au-text-2);
}

.au-group-title svg { width: 15px; height: 15px; color: var(--au-primary); }

/* 退出按钮 */
.au-logout {
    display: block;
    text-align: center;
    background: #fff;
    border-radius: var(--au-radius);
    box-shadow: var(--au-shadow);
    margin: 12px;
    padding: 14px;
    color: var(--au-danger);
    font-weight: 600;
    font-size: .9375rem;
}

/* ---------------- 购物车 ---------------- */
.gwc1_1 {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #fff;
    border-radius: var(--au-radius);
    box-shadow: var(--au-shadow);
    margin: 12px;
    padding: 12px 14px;
    font-size: .9375rem;
    font-weight: 600;
}

.gwc1_1 .g2 { flex: 1; }
.gwc1_1 .g2 img { display: none; }
.gwc1_1 .g2 a { display: flex; align-items: center; gap: 6px; }

.gwccheck {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 2px solid #cfdedd;
    flex: none;
    cursor: pointer;
    position: relative;
    transition: all .2s;
}

.gwccheck.on {
    border-color: var(--au-primary);
    background: var(--au-gradient);
    box-shadow: inset 0 0 0 3px #fff;
}

.gwcone {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #fff;
    border-radius: var(--au-radius);
    box-shadow: var(--au-shadow);
    margin: 12px;
    padding: 14px;
}

.gwcone .go1 { flex: none; }

.gwcone .go2 {
    width: 76px;
    height: 76px;
    flex: none;
    border-radius: var(--au-radius-sm);
    overflow: hidden;
    background: #eef4f3;
}

.gwcone .go2 img { width: 100%; height: 100%; object-fit: cover; }

.gwcone .go3 { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }

.gwcone .go3_1 .p1 { font-size: .875rem; font-weight: 600; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.gwcone .go3_1 .p2 { display: none; }

.gwcone .go3_2 { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.gwcone .go3_2 .p3 { font-size: .75rem; color: var(--au-text-3); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.gwcone .go3_2 .p4 { color: var(--au-price); font-weight: 700; font-size: .9375rem; flex: none; }

.gwcone .go3_3 { display: flex; align-items: center; gap: 0; }

.gwcone .num1, .gwcone .num3 {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: #f0f5f4;
    color: var(--au-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    cursor: pointer;
    user-select: none;
}

.gwcone .num2 {
    min-width: 36px;
    text-align: center;
    font-size: .875rem;
    font-weight: 600;
}

.gwcone .del {
    margin-left: auto;
    width: 30px;
    height: 30px;
    border-radius: 8px;
    background: rgba(255,91,106,.1);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.gwcone .del img { width: 15px; height: 15px; opacity: .7; }

.hejiBox .heji {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 800;
    max-width: 720px;
    margin: 0 auto;
    background: rgba(255,255,255,.95);
    backdrop-filter: blur(14px);
    box-shadow: 0 -4px 24px rgba(43,140,130,.12);
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
    border-radius: var(--au-radius-lg) var(--au-radius-lg) 0 0;
}

.hejiBox .heji_1 { flex: none; }
.hejiBox .heji_2 { font-size: .8125rem; color: var(--au-text-2); flex: none; }
.hejiBox .heji_3 { flex: 1; font-size: .8125rem; color: var(--au-text-2); }
.hejiBox .heji_3 #price_all { color: var(--au-price); font-weight: 700; font-size: 1.1rem; }

.hejiBox .heji_5 a {
    display: block;
    background: var(--au-gradient);
    color: #fff;
    border-radius: 999px;
    padding: 10px 26px;
    font-size: .9375rem;
    font-weight: 600;
    box-shadow: 0 6px 18px rgba(43,179,201,.35);
}

/* 猜你喜欢 */
.likebox { margin-top: 8px; }
.likeTit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: .875rem;
    font-weight: 600;
    color: var(--au-text-2);
    padding: 12px;
}
.likeTit img { width: 18px; }

#GoodsRound {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    padding: 0 12px;
}

#GoodsRound li a {
    display: block;
    background: #fff;
    border-radius: var(--au-radius);
    overflow: hidden;
    box-shadow: var(--au-shadow);
}

#GoodsRound .proimg { width: 100%; height: auto !important; aspect-ratio: 4/3; object-fit: cover; display: block; }

#GoodsRound .tit {
    font-size: .8125rem;
    padding: 8px 12px 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#GoodsRound .price {
    color: var(--au-price);
    font-weight: 700;
    padding: 4px 12px 12px;
    font-size: .9375rem;
}

#GoodsRound .price img { display: none; }

/* 购物车空状态 */
#CartContent .paysuccess, .paysuccess { text-align: center; padding: 50px 20px; color: var(--au-text-3); }
.paysuccess .pay30 img { width: 110px; opacity: .85; }
.paysuccess .pay40 a {
    display: inline-block;
    margin-top: 18px;
    background: var(--au-gradient);
    color: #fff;
    border-radius: 999px;
    padding: 10px 30px;
    font-size: .9375rem;
    font-weight: 600;
    box-shadow: 0 6px 18px rgba(43,179,201,.35);
}

/* 购物车结算清单（cartorder） */
.au-settle-item {
    background: #fff;
    border-radius: var(--au-radius);
    box-shadow: var(--au-shadow);
    margin: 12px;
    overflow: hidden;
}

/* ---------------- 虚拟数据小窗 ---------------- */
.au-xn-text {
    position: fixed;
    z-index: 700;
    top: 64px;
    left: 14px;
    color: #fff;
    padding: 4px 12px;
    background: rgba(30,48,50,.55);
    backdrop-filter: blur(4px);
    border-radius: 999px;
    font-size: .6875rem;
    display: none;
    max-width: 70%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* ---------------- 音乐悬浮按钮 ---------------- */
.au-music-btn {
    position: fixed;
    bottom: calc(var(--au-nav-h) + 20px);
    right: 14px;
    z-index: 700;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #fff;
    box-shadow: var(--au-shadow);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--au-primary);
    cursor: pointer;
}

.au-music-btn.playing { animation: au-rotate 3s linear infinite; }

@keyframes au-rotate { to { transform: rotate(360deg); } }

/* ---------------- 响应式 ---------------- */
@media (min-width: 560px) {
    .au-goods { grid-template-columns: repeat(2, 1fr); }
    #GoodsRound { grid-template-columns: repeat(3, 1fr); }
    .au-cat-grid { grid-template-columns: repeat(5, 1fr); }
}

@media (min-width: 721px) {
    body { box-shadow: 0 0 40px rgba(43,140,130,.08); }
}

/* 简易工具类 */
.au-mt { margin-top: 12px; }
.au-text-c { text-align: center; }
.au-muted { color: var(--au-text-2); }
.au-small { font-size: .8125rem; }
.au-hide { display: none !important; }

/* ---------------- 详情页下单面板（配合 main.js 的 show/hide） ---------------- */
.au-paymask {
    position: fixed;
    inset: 0;
    z-index: 900;
    background: rgba(20, 35, 33, .45);
    backdrop-filter: blur(3px);
}

.au-paysheet {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    max-width: 720px;
    margin: 0 auto;
    background: #fff;
    border-radius: var(--au-radius-lg) var(--au-radius-lg) 0 0;
    padding: 10px 16px calc(14px + env(safe-area-inset-bottom));
    max-height: 84vh;
    display: flex;
    flex-direction: column;
    animation: au-slideup .3s cubic-bezier(.32,.72,.35,1);
}

.au-paysheet-body {
    overflow-y: auto;
    flex: 1;
    min-height: 0;
    padding-top: 6px;
}

/* 详情页宣传图等富文本适配 */
.au-prod-desc section, .au-prod-desc p { max-width: 100%; }

/* ---------------- 在线客服聊天页 ---------------- */
.au-chat-wrap { display: flex; flex-direction: column; height: 100vh; height: 100dvh; padding-bottom: var(--au-nav-h); }

.au-chat-header {
    flex: none;
    background: var(--au-gradient);
    color: #fff;
    padding: 14px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    border-radius: 0 0 var(--au-radius-lg) var(--au-radius-lg);
    box-shadow: 0 6px 20px rgba(43,179,201,.25);
    position: relative;
    z-index: 2;
}

.au-chat-avatar {
    width: 42px; height: 42px; flex: none;
    border-radius: 50%;
    background: rgba(255,255,255,.22);
    display: flex; align-items: center; justify-content: center;
}

.au-chat-name { font-weight: 700; font-size: 1rem; }
.au-chat-sub { font-size: .75rem; opacity: .92; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; max-width: 240px; }

#chat-widget-messages {
    flex: 1;
    overflow-y: auto;
    padding: 16px 12px;
    -webkit-overflow-scrolling: touch;
}

.chat-msg-user { text-align: right; margin-bottom: 12px; }
.chat-msg-admin { text-align: left; margin-bottom: 12px; }

.chat-msg-bubble {
    display: inline-block;
    padding: 9px 14px;
    max-width: 76%;
    word-break: break-all;
    font-size: .875rem;
    line-height: 1.6;
    text-align: left;
}

.chat-msg-admin .chat-msg-bubble {
    background: #fff;
    color: var(--au-text);
    border-radius: 4px 16px 16px 16px;
    box-shadow: var(--au-shadow);
}

.chat-msg-user .chat-msg-bubble {
    background: var(--au-gradient);
    color: #fff;
    border-radius: 16px 4px 16px 16px;
    box-shadow: 0 4px 14px rgba(43,179,201,.3);
}

.chat-msg-bubble img { max-width: 140px; max-height: 140px; border-radius: 10px; display: block; }

.chat-msg-time { font-size: .6875rem; color: var(--au-text-3); margin: 0 6px; display: inline-block; vertical-align: middle; }

.chat-quick-questions {
    margin: 4px 0 14px;
    padding: 12px;
    background: #fff;
    border-radius: var(--au-radius);
    box-shadow: var(--au-shadow);
}

.chat-quick-questions h4 { font-size: .75rem; color: var(--au-text-3); margin: 0 0 8px; font-weight: 500; }

.question-list { display: flex; flex-wrap: wrap; gap: 8px; }

.question-item, .action-btn {
    background: var(--au-gradient-soft);
    color: var(--au-primary);
    border: none;
    border-radius: 999px;
    padding: 6px 13px;
    font-size: .75rem;
    cursor: pointer;
    transition: transform .15s;
}

.question-item:active, .action-btn:active { transform: scale(.95); }

.chat-quick-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.chat-quick-actions .action-btn { flex: 1; min-width: 72px; text-align: center; }

#chat-widget-input {
    flex: none;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(14px);
    box-shadow: 0 -4px 24px rgba(43,140,130,.1);
    border-radius: var(--au-radius-lg) var(--au-radius-lg) 0 0;
}

#chat-widget-input input[type=text] {
    flex: 1;
    min-width: 0;
    border: 1.5px solid var(--au-line);
    background: #f9fbfb;
    border-radius: 999px;
    padding: 9px 16px;
    font-size: .875rem;
}

#chat-widget-input input[type=text]:focus { border-color: var(--au-primary); background: #fff; }

#chat-widget-input button, #chat-widget-input label {
    flex: none;
    width: 38px; height: 38px;
    border: none;
    border-radius: 50%;
    background: #f0f5f4;
    color: var(--au-text-2);
    display: flex; align-items: center; justify-content: center;
    cursor: pointer;
    margin: 0;
}

#chat-widget-input button[type=submit] { background: var(--au-gradient); color: #fff; box-shadow: 0 4px 12px rgba(43,179,201,.35); }
#chat-widget-input input[type=file] { display: none; }

/* ---------------- 用户中心内页容器 ---------------- */
.au-user-page { min-height: 55vh; }

.au-user-page .panel, .au-user-page .content-block { margin: 12px; border-radius: var(--au-radius); overflow: hidden; box-shadow: var(--au-shadow); border: none; }

/* 找回密码二维码 */
#qrimg img { max-width: 220px; border-radius: var(--au-radius-sm); box-shadow: var(--au-shadow); }
.au-notice, .au-banner { margin-top: 0; }