 *{ margin:0;padding:0;box-sizing:border-box;}:root{ --card-img-ratio:5/4;--card-info-pad:10px;}body{ font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;background:#fafafa;color:#333;min-height:100vh;overflow-x:hidden;max-width:100vw;}.top-bar{ background:linear-gradient(135deg, #006400, #228B22);color:#fff;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 8px rgba(0,0,0,0.1);position:sticky;top:0;z-index:100;}.top-bar .logo{ font-size:20px;font-weight:700;}.top-bar .logo small{ font-size:12px;font-weight:400;opacity:0.85;margin-left:14px;}.top-bar .nav a{ color:#fff;text-decoration:none;margin-left:20px;font-size:14px;opacity:0.9;transition:opacity 0.2s;}.top-bar .nav a:hover{ opacity:1;}.top-bar .nav .cart-link{ background:rgba(255,255,255,0.15);padding:6px 14px;border-radius:20px;margin-left:20px;}.top-bar .nav .cart-count{ background:#ff4444;color:#fff;border-radius:10px;padding:0 6px;font-size:12px;margin-left:4px;}.shop-container{ display:flex;max-width:1280px;margin:0 auto;padding:20px;gap:20px;align-items:flex-start;width:100%;overflow-x:hidden;}.sidebar{ width:220px;flex-shrink:0;background:#fff;border-radius:8px;box-shadow:0 1px 4px rgba(0,0,0,0.06);position:sticky;top:80px;overflow:hidden;}.sidebar-title{ padding:16px;font-size:14px;font-weight:700;color:#006400;border-bottom:1px solid #f0f0f0;background:#f8fdf8;}.category-list{ list-style:none;}.category-list li{ border-bottom:1px solid #f5f5f5;}.category-list a{ display:flex;align-items:center;padding:14px 16px;color:#333;text-decoration:none;transition:all 0.2s;position:relative;}.category-list a:hover{ background:#f8fdf8;color:#006400;}.category-list a.active{ background:linear-gradient(90deg, #e8f5e8 0%, transparent 100%);color:#006400;font-weight:600;border-left:3px solid #006400;padding-left:13px;}.category-list .cat-price{ font-size:16px;font-weight:700;flex:1;}.category-list .cat-count{ font-size:12px;color:#999;margin-left:6px;}.category-list .cat-badge{ font-size:10px;padding:1px 6px;border-radius:8px;margin-left:6px;font-weight:600;}.cat-badge.cold{ background:#e3f2fd;color:#1976d2;}.cat-badge.minqty{ background:#fff3cd;color:#856404;}.main{ flex:1;min-width:0;}.section-header{ display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #006400;}.section-header h2{ font-size:22px;color:#006400;}.section-header .meta{ color:#999;font-size:13px;}.product-grid{ display:grid;grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));gap:16px;margin-bottom:32px;}.product-card{ background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,0.06);transition:all 0.2s;cursor:pointer;position:relative;}.product-card:hover{ transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,0.1);}.product-image{ width:100%;aspect-ratio:var(--card-img-ratio);background:linear-gradient(135deg, #f0f7f2 0%, #e6f0ea 100%);background-size:cover !important;background-repeat:no-repeat;background-position:center;position:relative;display:block;overflow:hidden;}.product-badges{ position:absolute;top:8px;left:8px;display:flex;flex-direction:column;gap:4px;z-index:2;}.product-badge{ font-size:11px;padding:2px 8px;border-radius:10px;font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,0.1);}.product-badge.cold{ background:#1976d2;color:#fff;}.product-badge.minqty{ background:#ffc107;color:#333;}.product-info{ padding:12px 14px;}.product-name{ font-size:14px;font-weight:600;color:#333;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.product-price{ color:#d32f2f;font-size:18px;font-weight:700;}.product-price small{ font-size:12px;font-weight:400;}.product-shipping{ font-size:11px;color:#1976d2;margin-top:4px;}.contact-section{ background:#fff;border-radius:8px;padding:24px;margin-top:32px;box-shadow:0 1px 4px rgba(0,0,0,0.06);}.contact-section h3{ color:#006400;margin-bottom:16px;font-size:18px;}.contact-info{ color:#555;line-height:2;font-size:14px;}.contact-info .label{ color:#888;margin-right:8px;}.contact-intro{ margin-top:16px;padding-top:16px;border-top:1px dashed #eee;color:#777;font-size:13px;line-height:1.7;}.product-detail{ background:#fff;border-radius:8px;padding:24px;margin-bottom:20px;box-shadow:0 1px 4px rgba(0,0,0,0.06);display:flex;gap:30px;}.product-detail .image{ width:380px;flex-shrink:0;min-height:380px;max-height:600px;background:#f0f7f2;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:0;}.product-detail .info{ flex:1;}.product-detail h1{ color:#333;font-size:24px;margin-bottom:12px;}.detail-badges{ display:flex;gap:6px;margin-bottom:16px;}.detail-price{ color:#d32f2f;font-size:32px;font-weight:700;margin:16px 0;}.detail-shipping{ background:#e3f2fd;color:#1976d2;padding:8px 12px;border-radius:4px;font-size:13px;margin:12px 0;}.detail-minqty{ background:#fff3cd;color:#856404;padding:8px 12px;border-radius:4px;font-size:13px;margin:12px 0;}.qty-selector{ display:flex;align-items:center;gap:12px;margin:20px 0;}.qty-input{ width:80px;padding:8px;border:1px solid #ddd;border-radius:4px;text-align:center;font-size:16px;}.btn-primary{ background:linear-gradient(135deg, #006400, #228B22);color:#fff;border:none;padding:12px 30px;border-radius:4px;font-size:16px;cursor:pointer;transition:all 0.2s;}.btn-primary:hover{ opacity:0.9;}.btn-primary:disabled{ background:#ccc;cursor:not-allowed;}.btn-secondary{ background:#fff;color:#006400;border:1px solid #006400;padding:10px 24px;border-radius:4px;font-size:14px;cursor:pointer;text-decoration:none;display:inline-block;}@media (max-width:768px){ .shop-container{ flex-direction:column;padding:8px 6px;gap:8px;max-width:100vw;align-items:stretch;}.sidebar{ width:100%;position:static;}.category-list{ display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;}.category-list li{ border-bottom:none;border-right:1px solid #f5f5f5;flex-shrink:0;}.category-list a{ white-space:nowrap;padding:12px 14px;font-size:13px;}.product-detail{ flex-direction:column;}.product-detail .image{ width:100%;}.product-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)) !important;gap:8px;}.product-card{ min-width:0;}.main{ width:100%;min-width:0;}}.floating-cart{ position:fixed;top:80px;right:20px;z-index:99;display:flex;align-items:center;gap:6px;background:linear-gradient(135deg, #006400, #228B22);color:#fff;padding:10px 16px;border-radius:24px;text-decoration:none;font-size:14px;font-weight:600;box-shadow:0 4px 12px rgba(0, 100, 0, 0.3);transition:all 0.2s;}.floating-cart:hover{ transform:translateY(-2px);box-shadow:0 6px 16px rgba(0, 100, 0, 0.4);}.floating-cart .badge{ background:#ff4444;color:#fff;border-radius:12px;padding:2px 8px;font-size:12px;font-weight:700;min-width:20px;text-align:center;}@media (max-width:768px){ .floating-cart{ top:70px;right:10px;padding:8px 12px;font-size:13px;}}@media (max-width:768px){ body{ font-size:14px;}.top-bar{ padding:10px 12px;flex-wrap:nowrap;gap:8px;}.top-bar .logo{ flex:1;min-width:0;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.top-bar .logo small{ display:none;}.top-bar .nav{ flex-shrink:0;margin-left:auto;}.top-bar .nav a{ margin-left:10px;font-size:12px;padding:4px 0;}.top-bar .nav .cart-link{ padding:5px 10px;margin-left:8px;font-size:12px;}.top-bar .nav .cart-badge{ font-size:10px;padding:0 5px;min-width:16px;}.shop-container{ flex-direction:column;padding:8px;gap:8px;}.sidebar{ width:100%;position:static;border-radius:8px;}.sidebar-title{ padding:10px 12px;font-size:13px;text-align:left;}.category-list{ display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:0 4px;}.category-list li{ border-bottom:none;border-right:1px solid #f5f5f5;flex-shrink:0;}.category-list li:last-child{ border-right:none;}.category-list a{ white-space:nowrap;padding:10px 14px;font-size:13px;}.category-list a.active{ padding-left:12px;}.category-list .cat-price{ font-size:14px;}.category-list .cat-count{ font-size:11px;}.main{ min-width:0;}.section-header{ margin-bottom:12px;padding-bottom:8px;}.section-header h2{ font-size:18px;}.section-header .meta{ font-size:12px;}.product-grid{ grid-template-columns:repeat(2, 1fr);gap:10px;margin-bottom:20px;}.product-image{ aspect-ratio:var(--card-img-ratio);}.product-info{ padding:6px;}.product-name{ font-size:13px;}.product-price{ font-size:15px;}.product-info{ padding:8px 10px;}.product-name{ font-size:13px;}.product-price{ font-size:16px;}.product-shipping{ font-size:10px;}.product-badge{ font-size:10px;padding:1px 6px;}.product-detail{ flex-direction:column;padding:12px;gap:16px;}.product-detail .image{ width:100%;max-width:100%;min-height:auto;max-height:500px;aspect-ratio:auto;}.product-detail .info{ width:100%;}.product-detail h1{ font-size:18px;}.detail-price{ font-size:24px;margin:8px 0;}.detail-shipping, .detail-minqty{ padding:6px 8px;font-size:12px;}.qty-selector{ flex-wrap:wrap;gap:8px;margin:12px 0;}.qty-input{ width:70px;padding:6px;font-size:14px;}.btn-primary{ padding:10px 16px;font-size:14px;}.contact-section{ padding:12px;margin-top:16px;}.contact-section h3{ font-size:15px;margin-bottom:12px;}.contact-info{ font-size:13px;line-height:1.8;}.contact-info .label{ display:block;margin-bottom:2px;}.contact-intro{ font-size:12px;margin-top:10px;padding-top:10px;}.cart-page{ padding:0 8px;}.cart-page h2{ font-size:18px;margin:10px 0;}.cart-list .cart-item{ padding:10px;gap:8px;flex-wrap:wrap;}.cart-item .img{ width:70px;height:70px;}.cart-item .info{ flex:1 1 100px;min-width:100px;}.cart-item .name{ font-size:13px;}.cart-item .qty-ctrl input{ width:50px;padding:4px;font-size:13px;}.cart-summary{ flex-direction:column;gap:12px;align-items:stretch;padding:14px;}.cart-summary .total{ font-size:22px;text-align:center;}.cart-alert{ padding:10px;font-size:13px;}.checkout-page{ padding:0 8px;}.checkout-page h2{ font-size:18px;}.checkout-section{ padding:14px;margin-bottom:12px;}.checkout-section h3{ font-size:15px;}.form-group label{ font-size:12px;}.form-group input, .form-group textarea{ padding:8px 10px;font-size:14px;}.payment-options{ flex-direction:column;}.payment-option{ padding:12px;}.order-item{ flex-wrap:wrap;padding:10px 0;}.order-item .img{ width:50px;height:50px;}.order-item .info{ margin-left:14px;flex:1 1 150px;}.order-item .name{ font-size:13px;}.order-item .meta{ font-size:11px;}.summary .total{ font-size:22px;}.order-page{ padding:0 8px;}.order-page > div{ flex-wrap:wrap;gap:8px;}.order-page h2{ font-size:18px;}.order-card{ padding:14px;margin-bottom:12px;}.order-header h3{ font-size:14px;}.order-header .order-no{ font-size:12px;}.order-status{ font-size:11px;padding:3px 8px;}.info-row{ font-size:13px;}.info-row .label{ width:70px;}.product-row{ padding:8px 0;}.product-row .img{ width:50px;height:50px;}.qr-section{ padding:16px;}.qr-section img{ max-width:200px;}.qr-section .amount{ font-size:24px;}.qr-section .tip{ font-size:12px;}.steps{ padding:8px;font-size:11px;}.step-num{ width:22px;height:22px;line-height:22px;font-size:12px;}.btn-screenshot{ padding:6px 12px;font-size:12px;}.login-page{ padding:0 16px;margin:30px auto;}.login-box{ padding:20px;}.login-box h2{ font-size:18px;margin-bottom:16px;}.floating-cart{ top:70px;right:10px;padding:6px 12px;font-size:12px;}.floating-cart .badge{ font-size:10px;padding:1px 6px;}}@media (max-width:380px){ .product-grid{ grid-template-columns:repeat(2, 1fr);gap:6px;}.product-info{ padding:6px;}.product-name{ font-size:12px;}.product-price{ font-size:14px;}.top-bar .nav a{ font-size:12px;margin-left:6px;}.cart-item .img{ width:60px;height:60px;}}.notice-bar{ background:linear-gradient(135deg, #d4f4dd, #a7e8b8);color:#166534;padding:10px 16px;text-align:center;font-size:14px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:8px;border-bottom:1px solid #86efac;}.notice-bar .notice-icon{ font-size:18px;}.notice-bar .notice-text{ letter-spacing:0.5px;}@media (max-width:768px){ .notice-bar{ font-size:12px;padding:8px 12px;}}.category-list .cat-count.cat-pill{ background:rgba(255, 255, 255, 0.5);color:#166534;padding:1px 8px;border-radius:10px;font-size:12px;font-weight:700;margin-left:4px;}.category-list a.active .cat-count.cat-pill{ background:rgba(255, 255, 255, 0.25);color:#fff;}.category-list .cat-price{ font-weight:600;}.section-header{ position:relative;padding-left:12px;}.section-header::before{ content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:20px;background:#006400;border-radius:2px;}.section-header h2{ color:#1e293b !important;font-size:20px;font-weight:700;}@media (max-width:768px){ .section-header::before{ height:16px;}.section-header h2{ font-size:17px !important;}}.detail-description{ margin:20px 0;background:linear-gradient(135deg, #f0fdf4 0%, #f7fee7 100%);border-radius:12px;padding:20px;border:1px solid #bbf7d0;box-shadow:0 2px 8px rgba(34, 197, 94, 0.06);}.detail-description .desc-header{ font-size:16px;font-weight:700;color:#166534;margin-bottom:14px;padding-bottom:10px;border-bottom:2px dashed #86efac;letter-spacing:0.5px;}.detail-description .desc-list{ display:flex;flex-direction:column;gap:8px;}.detail-description .desc-item{ font-size:14px;color:#15803d;line-height:1.6;padding:4px 0;font-weight:500;}.detail-description .desc-item::before{ content:'';display:inline-block;width:6px;height:6px;background:#22c55e;border-radius:50%;margin-right:8px;vertical-align:middle;}@media (max-width:768px){ .detail-description{ padding:16px;}.detail-description .desc-header{ font-size:15px;}.detail-description .desc-item{ font-size:13px;}}.qty-control{ display:inline-flex;align-items:stretch;border:1.5px solid #d1d5db;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,0.04);transition:border-color .25s, box-shadow .25s;}.qty-control:hover{ border-color:#4ade80;}.qty-control:focus-within{ border-color:#16a34a;box-shadow:0 0 0 4px rgba(74, 222, 128, 0.12);}.qty-btn{ width:40px;height:44px;background:#f8fafc;border:none;font-size:20px;font-weight:600;color:#475569;cursor:pointer;transition:all .2s ease;user-select:none;display:flex;align-items:center;justify-content:center;}.qty-btn:hover{ background:#dcfce7;color:#16a34a;}.qty-btn:active{ background:#bbf7d0;transform:scale(0.92);}.qty-minus{ border-right:1.5px solid #e5e7eb;}.qty-plus{ border-left:1.5px solid #e5e7eb;}.qty-input{ width:70px !important;height:44px;border:none !important;text-align:center;font-size:16px;font-weight:600;color:#1e293b;background:transparent !important;box-shadow:none !important;padding:0 !important;-moz-appearance:textfield;}.qty-input::-webkit-outer-spin-button, .qty-input::-webkit-inner-spin-button{ -webkit-appearance:none;margin:0;}.qty-input:focus{ outline:none;background:transparent !important;}.qty-unit{ margin-left:14px;margin-right:14px;color:#64748b;font-size:14px;align-self:center;}.qty-min-tip{ margin-left:12px;color:#d32f2f;font-size:13px;align-self:center;}@media (max-width:480px){ .qty-btn{ width:38px;height:42px;font-size:18px;}.qty-input{ width:60px !important;height:42px;font-size:15px;}}.product-detail .image[data-bg]{ background:#f5f7fa;}.product-detail .image .product-img{ width:100%;height:auto;max-height:600px;object-fit:contain;display:block;}/* === 7-01：美化 footer（网点信息） - 电脑端白色背景 === */
.shop-footer {
    background:#ffffff;
    color:#374151;
    margin-top:40px;
    position:relative;
    overflow:hidden;
    border-top:1px solid #e5e7eb;
    box-shadow:0 -2px 12px rgba(0,0,0,0.04);
}
.shop-footer::before {
    content:"";
    position:absolute;top:0;left:0;right:0;height:2px;
    background:linear-gradient(90deg,transparent 0%,#10b981 30%,#006400 70%,transparent 100%);
}
.footer-container {
    max-width:1100px;
    margin:0 auto;
    padding:24px 24px 16px;
    position:relative;
    z-index:1;
}
/* 7-01 v2: 先简略一行（地址/电话/营业时间/简介） */
.footer-compact {
    display:flex;
    flex-wrap:wrap;
    gap:8px 22px;
    justify-content:center;
    align-items:center;
    padding:8px 14px;
    margin:0 0 16px;
    background:#f9fafb;
    border:1px solid #e5e7eb;
    border-radius:8px;
    font-size:13px;
    color:#4b5563;
}
.footer-compact .fc-item {
    display:inline-flex;
    align-items:center;
    gap:5px;
    white-space:nowrap;
}
.footer-compact .fc-item a {
    color:#006400;
    text-decoration:none;
    font-weight:600;
    border-bottom:1px dashed rgba(0,100,0,0.3);
}
.footer-compact .fc-item a:hover { color:#10b981; }

/* 7-01 v2: 品牌区移到下方，居中显示 */
.footer-header {
    display:flex;
    justify-content:center;
    align-items:center;
    margin-bottom:14px;
    gap:12px;
    flex-wrap:wrap;
}
.footer-brand {
    display:flex;
    align-items:center;
    gap:12px;
}
.footer-logo {
    font-size:30px;
    line-height:1;
}
.footer-title {
    margin:0;
    font-size:18px;
    color:#006400;
    font-weight:700;
    letter-spacing:0.3px;
}
.footer-subtitle {
    margin:3px 0 0;
    font-size:12px;
    color:#6b7280;
    letter-spacing:0.2px;
}

.footer-grid {
    display:none;
    margin-bottom:0;
}
.footer-card {
    padding:18px 20px;
    background:#f9fafb;
    border:1px solid #e5e7eb;
    border-radius:12px;
    transition:all 0.3s ease;
    position:relative;
    overflow:hidden;
}
.footer-card::before {
    content:"";
    position:absolute;top:0;left:0;width:3px;height:100%;
    background:linear-gradient(180deg,#10b981,#006400);
    opacity:0;transition:opacity 0.3s;
}
.footer-card:hover {
    background:#f3f4f6;
    border-color:#10b981;
    transform:translateY(-2px);
    box-shadow:0 6px 16px rgba(0,0,0,0.06);
}
.footer-card:hover::before { opacity:1; }
.card-icon {
    font-size:26px;
    margin-bottom:8px;
    display:inline-block;
}
.card-label {
    font-size:12px;
    color:#6b7280;
    margin-bottom:6px;
    letter-spacing:0.5px;
}
.card-value {
    font-size:15px;
    color:#111827;
    font-weight:500;
    line-height:1.5;
    word-break:break-word;
}
.card-value a {
    color:#006400;
    text-decoration:none;
    font-weight:600;
    border-bottom:1px dashed rgba(0,100,0,0.3);
    transition:all 0.2s;
}
.card-value a:hover {
    color:#10b981;
    border-bottom-color:#10b981;
}
.card-value.empty {
    color:#9ca3af;
    font-style:italic;
    font-size:13px;
}
.footer-bottom {
    text-align:center;
    color:#6b7280;
    font-size:12px;
    padding-top:14px;
    margin-top:8px;
    border-top:1px solid #e5e7eb;
    line-height:1.6;
}
.footer-bottom p { margin:4px 0; }
.footer-bottom .footer-emoji { color:#10b981; }

/* 7-01 footer 移动端: < 768px 切换成卡片 */
@media (max-width:768px) {
    .footer-container { padding:20px 14px 12px; }
    .footer-container { padding:20px 14px 12px; }
    .footer-compact { padding:10px 12px;gap:6px 14px;font-size:12px; }
    .footer-compact .fc-brand { font-size:13px; }
    .footer-compact .fc-subtitle { font-size:11px; }
    .footer-grid { display:none; } /* 7-01 v3: 手机端也用一行简略，不显示卡片 */
    .footer-bottom { padding-top:12px;margin-top:6px; }
    .footer-bottom p { font-size:11px; }
}
@media (max-width:480px) {
    .footer-compact { padding:8px 10px;gap:5px 10px;font-size:11px; }
    .footer-compact .fc-brand { font-size:12px; }
}
.footer-compact .fc-brand{font-weight:700;color:#006400;font-size:14px}
.footer-compact .fc-subtitle{color:#9ca3af;font-size:12px;margin-left:auto;padding-left:14px}
