/* 商城页面 - 与站点主色 #4ab344 / #2ca501 一致 */
/* PC 全宽 1600px（与全站一致；商城无侧栏） */
@media screen and (min-width: 993px) {
    .content.goods-page > .container,
    .content.goods-detail-page > .container {
        width: 1600px;
        max-width: 1600px;
        flex-wrap: wrap;
        justify-content: flex-start;
        padding-left: 0;
        padding-right: 0;
        box-sizing: border-box;
    }
    .content.goods-page .common-con {
        flex: 0 0 100%;
        width: 100%;
        max-width: none;
        min-width: 0;
    }
}
.content.goods-page{
    padding-top:20px;
    padding-bottom:36px;
    background:#f0f2f0;
}
.content.goods-page .location,
.content.goods-detail-page .location{
    max-width:1600px;
}
.goods-page .common-con{
    max-width:100%;
    padding:0;
    background:transparent;
    box-shadow:none;
}
.goods-banner{
    width:100%;
    margin-bottom:0;
    background:#eef5eb;
    border-bottom:1px solid #dce8d8;
}
.goods-banner .goods-hero{
    margin-bottom:0;
    border-radius:0;
    padding:44px 24px 38px;
    background:
        radial-gradient(ellipse 80% 120% at 100% 0%, rgba(74,179,68,.14) 0%, transparent 55%),
        radial-gradient(ellipse 60% 80% at 0% 100%, rgba(44,165,1,.08) 0%, transparent 50%),
        linear-gradient(180deg, #f8fbf7 0%, #eef5eb 100%);
    color:#1f4d1e;
    position:relative;
    overflow:hidden;
    box-shadow:inset 0 -3px 0 #4ab344;
    text-align:center;
}
.goods-banner .goods-hero::before{
    content:'';
    position:absolute;
    inset:0;
    background-image:repeating-linear-gradient(
        -45deg,
        transparent,
        transparent 12px,
        rgba(74,179,68,.03) 12px,
        rgba(74,179,68,.03) 24px
    );
    pointer-events:none;
}
.goods-banner .goods-hero-inner{
    max-width:1600px;
    margin:0 auto;
    position:relative;
    z-index:1;
    display:block;
    text-align:center;
}
.goods-banner .goods-hero h1{
    color:#1a3f18;
    text-shadow:0 1px 0 rgba(255,255,255,.6);
    font-size:30px;
    font-weight:600;
    margin:0 0 14px;
    line-height:1.45;
    letter-spacing:0.5px;
}
.goods-banner .goods-hero-desc{
    color:#3d6b3a;
    opacity:1;
    font-size:16px;
    line-height:1.7;
    margin:0 0 22px;
}
.goods-banner .goods-hero-tags{
    margin-top:0;
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:12px;
}
.goods-banner .goods-hero-tags span{
    display:inline-block;
    padding:7px 18px;
    border:1px solid rgba(74,179,68,.45);
    background:rgba(255,255,255,.82);
    color:#2ca501;
    border-radius:20px;
    font-size:13px;
    line-height:1.4;
}
.goods-hero{
    background:linear-gradient(135deg,#4ab344 0%,#2ca501 100%);
    color:#fff;
    padding:36px 28px;
    border-radius:8px;
    margin-bottom:24px;
    text-align:center;
}
.goods-hero h1{
    font-size:24px;
    font-weight:600;
    margin:0 0 8px;
    letter-spacing:1px;
}
.goods-hero p{
    margin:0;
    opacity:.92;
    font-size:14px;
}
.goods-hero-tags{
    margin-top:14px;
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:8px;
}
.goods-hero-tags span{
    display:inline-block;
    padding:3px 12px;
    border:1px solid rgba(255,255,255,.55);
    border-radius:20px;
    font-size:12px;
}

/* 列表 */
.goods-filter{
    display:-webkit-flex;
    display:flex;
    -webkit-align-items:flex-start;
    align-items:flex-start;
    gap:12px;
    margin-bottom:18px;
    padding:14px 16px;
    background:#fff;
    border-radius:8px;
    box-shadow:0 2px 10px rgba(0,0,0,.05);
}
.goods-filter-label{
    -webkit-flex:0 0 auto;
    flex:0 0 auto;
    padding-top:6px;
    font-size:14px;
    font-weight:600;
    color:#2a5c20;
    line-height:1.4;
}
.goods-filter-tags{
    -webkit-flex:1;
    flex:1;
    display:-webkit-flex;
    display:flex;
    -webkit-flex-wrap:wrap;
    flex-wrap:wrap;
    gap:8px;
}
.goods-filter-tag{
    display:inline-block;
    padding:6px 16px;
    font-size:13px;
    line-height:1.4;
    color:#3d6b3a;
    background:#f4faf3;
    border:1px solid #dce8d8;
    border-radius:20px;
    transition:background .2s,color .2s,border-color .2s;
}
.goods-filter-tag:hover{
    color:#2ca501;
    border-color:#4ab344;
    background:#eef8ec;
}
.goods-filter-tag.active{
    color:#fff;
    background:#4ab344;
    border-color:#4ab344;
    font-weight:600;
}
.goods-filter--mobile{
    margin:0 12px 14px;
    padding:12px;
    -webkit-flex-wrap:wrap;
    flex-wrap:wrap;
}
.goods-filter--mobile .goods-filter-label{
    width:100%;
    padding-top:0;
    margin-bottom:4px;
}
.goods-filter--mobile .goods-filter-tags{
    -webkit-flex-wrap:nowrap;
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    padding-bottom:2px;
}
.goods-filter--mobile .goods-filter-tag{
    -webkit-flex:0 0 auto;
    flex:0 0 auto;
    white-space:nowrap;
}
.goods-grid{
    display:grid;
    grid-template-columns:repeat(1,1fr);
    gap:16px;
}
@media screen and (min-width: 768px) {
    .goods-grid{
        grid-template-columns:repeat(2,1fr);
        gap:18px;
    }
}
@media screen and (min-width: 993px) {
    .goods-grid{
        grid-template-columns:repeat(4,1fr);
        gap:20px;
    }
}
.goods-card{
    background:#fff;
    border-radius:8px;
    overflow:hidden;
    box-shadow:0 2px 10px rgba(0,0,0,.05);
    transition:transform .25s ease,box-shadow .25s ease;
    display:flex;
    flex-direction:column;
}
.goods-card:hover{
    transform:translateY(-3px);
    box-shadow:0 6px 18px rgba(74,179,68,.15);
}
.goods-thumb{
    display:block;
    position:relative;
    height:170px;
    overflow:hidden;
    background:#f5f5f5;
}
.goods-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .35s ease;
}
.goods-card:hover .goods-thumb img{
    transform:scale(1.05);
}
.goods-badge{
    position:absolute;
    top:10px;
    left:10px;
    background:#4ab344;
    color:#fff;
    font-size:11px;
    padding:2px 8px;
    border-radius:3px;
}
.goods-info{
    padding:14px 16px 16px;
    flex:1;
    display:flex;
    flex-direction:column;
}
.goods-info h3{
    font-size:15px;
    font-weight:600;
    margin:0 0 6px;
    line-height:1.45;
}
.goods-info h3 a{
    color:#222;
}
.goods-info h3 a:hover{
    color:#4ab344;
}
.goods-sub{
    color:#888;
    font-size:12px;
    margin:0 0 8px;
    line-height:1.45;
}
.goods-meta{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-bottom:10px;
}
.goods-meta span{
    font-size:11px;
    color:#666;
    background:#f4f9f3;
    padding:2px 8px;
    border-radius:3px;
}
.goods-price-row{
    display:flex;
    align-items:baseline;
    gap:8px;
    margin-bottom:12px;
    margin-top:auto;
}
.goods-price em{
    font-style:normal;
    color:#e4393c;
    font-size:22px;
    font-weight:700;
}
.goods-price s{
    color:#bbb;
    font-size:12px;
}
.goods-buy-btn{
    display:block;
    text-align:center;
    padding:9px 0;
    background:linear-gradient(90deg,#4ab344,#2ca501);
    color:#fff !important;
    border-radius:6px;
    font-size:14px;
    letter-spacing:1px;
    transition:opacity .2s;
}
.goods-buy-btn:hover{
    opacity:.9;
    color:#fff;
}
.goods-empty{
    text-align:center;
    padding:60px 20px;
    color:#999;
    background:#fff;
    border-radius:8px;
}
.goods-page-nav{
    margin-top:24px;
    text-align:center;
}
.goods-page-nav .pagination{
    display:inline-block;
}

/* 详情页 */
.content.goods-detail-page{
    padding-top:20px;
    padding-bottom:40px;
    background:#f0f2f0;
}
.content.goods-detail-page > .container{
    width:100%;
    max-width:1600px;
}
.goods-detail{
    display:flex;
    flex-direction:column;
    gap:20px;
}
.goods-detail-panel{
    background:#fff;
    border-radius:10px;
    box-shadow:0 2px 16px rgba(0,0,0,.06);
    border:1px solid #e8eee7;
}
.goods-detail .goods-detail-top{
    display:flex;
    gap:36px;
    padding:28px 32px;
    border-bottom:none;
    align-items:flex-start;
}
.goods-detail .goods-content{
    padding:24px 32px 32px;
    margin-top:0;
    padding-top:24px;
}
.goods-detail .goods-content > h3{
    margin-top:0;
}
.goods-detail .common-con{
    padding:24px;
    background:#fff;
    border-radius:8px;
    box-shadow:0 2px 12px rgba(0,0,0,.05);
}
@media screen and (min-width: 993px) {
    .goods-detail.common-con,
    .content.goods-page .goods-detail.common-con {
        width: 100%;
        max-width: none;
    }
}
.goods-detail-top{
    display:flex;
    gap:36px;
    align-items:flex-start;
}
.goods-detail-visual{
    flex:0 0 480px;
    width:480px;
    max-width:100%;
    align-self:flex-start;
}
.goods-detail-img{
    width:100%;
    border-radius:8px;
    overflow:hidden;
    background:#f9f9f9;
    border:1px solid #eee;
    box-shadow:0 4px 16px rgba(0,0,0,.08);
    line-height:0;
}
.goods-fresh-note{
    margin-top:12px;
    padding:12px 14px;
    text-align:center;
    background:-webkit-linear-gradient(135deg, #f4faf3 0%, #eef8ec 100%);
    background:linear-gradient(135deg, #f4faf3 0%, #eef8ec 100%);
    border:1px solid #dce8d8;
    border-radius:8px;
}
.goods-fresh-note-title{
    margin:0 0 6px;
    font-size:14px;
    font-weight:600;
    color:#2ca501;
    letter-spacing:.5px;
}
.goods-fresh-note-desc{
    margin:0;
    font-size:13px;
    line-height:1.65;
    color:#4a6b48;
}
.goods-fresh-note-desc strong{
    color:#1e6b1a;
    font-weight:700;
}
.goods-detail-img img{
    width:100%;
    height:auto;
    max-height:380px;
    object-fit:contain;
    object-position:center;
    display:block;
    vertical-align:top;
}
.goods-detail-meta{
    flex:1;
    min-width:0;
    padding-top:8px;
}
.goods-detail-meta h1{
    font-size:26px;
    font-weight:600;
    color:#222;
    margin:0 0 12px;
    line-height:1.35;
}
.goods-detail-meta .goods-sub{
    font-size:15px;
    margin-bottom:16px;
}
.goods-price-from{
    font-size:16px;
    color:#888;
    font-weight:normal;
    margin-left:2px;
}
.goods-tier-box{
    margin:0 0 20px;
    padding:14px 16px;
    background:#f8fbf7;
    border:1px solid #e5f0e3;
    border-radius:8px;
}
.goods-tier-title{
    margin:0 0 10px;
    font-size:14px;
    color:#2ca501;
    font-weight:600;
}
.goods-tier-table{
    width:100%;
    border-collapse:collapse;
    font-size:13px;
}
.goods-tier-table th,
.goods-tier-table td{
    padding:8px 10px;
    border:1px solid #e8eee7;
    text-align:center;
}
.goods-tier-table th{
    background:#fff;
    color:#555;
    font-weight:600;
}
.goods-tier-table .goods-tier-price{
    color:#e4393c;
    font-weight:700;
}
.goods-tier-login-tip{
    margin:0 0 20px;
    padding:12px 14px;
    font-size:13px;
    color:#666;
    background:#f8fbf7;
    border:1px dashed #cfe5cc;
    border-radius:8px;
    line-height:1.7;
}
.goods-tier-login-tip a{
    color:#2ca501;
    font-weight:600;
}
.goods-spec-list{
    list-style:none;
    margin:0 0 20px;
    padding:16px 18px;
    background:#f8fbf7;
    border-radius:6px;
    border-left:4px solid #4ab344;
}
.goods-spec-list li{
    font-size:14px;
    color:#555;
    line-height:2;
}
.goods-spec-list li strong{
    color:#333;
    margin-right:6px;
}
.goods-price-lg{
    margin:0 0 8px;
}
.goods-price-lg em{
    font-style:normal;
    color:#e4393c;
    font-size:34px;
    font-weight:700;
}
.goods-price-lg s{
    color:#bbb;
    font-size:16px;
    margin-left:10px;
}
.goods-sales{
    color:#999;
    font-size:13px;
    margin:0 0 22px;
}
.goods-buy-btn-lg{
    display:inline-block;
    padding:14px 48px;
    font-size:17px;
    border-radius:6px;
    box-shadow:0 4px 12px rgba(74,179,68,.35);
}
.goods-content{
    padding-top:28px;
}
.goods-content > h3{
    font-size:18px;
    font-weight:600;
    color:#333;
    margin:0 0 18px;
    padding-left:12px;
    border-left:4px solid #4ab344;
}
.goods-content .page-con{
    text-indent:0;
    line-height:1.85;
    color:#555;
    font-size:14px;
}
.goods-rich-wrap .goods-rich-content .goods-lead{
    font-size:15px;
    color:#444;
    line-height:1.9;
    margin:0 0 18px;
    padding:14px 16px;
    background:linear-gradient(135deg,#f8fbf7,#f3f9f2);
    border-left:4px solid #4ab344;
    border-radius:0 6px 6px 0;
}
.goods-rich-wrap .goods-rich-content h4{
    font-size:15px;
    color:#2ca501;
    margin:18px 0 10px;
    font-weight:600;
}
.goods-rich-wrap .goods-rich-content ul{
    margin:0 0 12px;
    padding-left:20px;
}
.goods-rich-wrap .goods-rich-content li{
    margin-bottom:8px;
    line-height:1.75;
}
.goods-rich-wrap .goods-rich-content p{
    margin:0 0 12px;
}

/* 下单页 */
.goods-buy-page .container{background:transparent;}
.goods-buy-form.common-con,
.goods-buy-form .common-con{
    padding:0;
    background:#fff;
    border-radius:12px;
    box-shadow:0 4px 24px rgba(0,0,0,.08);
    overflow:hidden;
    border:1px solid #eef2ee;
}
.goods-buy-head{
    padding:24px 28px 0;
    border-bottom:1px solid #f0f0f0;
    margin-bottom:0;
}
.goods-buy-head h1{
    margin:0 0 6px;
    font-size:22px;
    font-weight:600;
    color:#222;
}
.goods-buy-head p{
    margin:0 0 20px;
    font-size:13px;
    color:#888;
}
.goods-buy-summary{
    display:flex;
    gap:18px;
    padding:20px 28px;
    background:linear-gradient(135deg,#f8fbf7,#f0f7ef);
    align-items:center;
    border-bottom:1px solid #e5f0e4;
    margin-bottom:0;
    border-radius:0;
}
.goods-buy-summary img{
    width:88px;
    height:88px;
    object-fit:cover;
    border-radius:8px;
    box-shadow:0 2px 8px rgba(0,0,0,.1);
}
.goods-buy-summary strong{font-size:16px;color:#333;}
.goods-buy-summary p{margin:6px 0 0;color:#666;font-size:14px;}

.goods-buy-fields{padding:8px 0 0;}
.goods-buy-section{
    padding:20px 28px;
    border-bottom:1px solid #f3f3f3;
    background:#fff;
}
.goods-section-title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:14px;
    font-size:15px;
    font-weight:600;
    color:#333;
}
.goods-link-btn{
    border:none;
    background:none;
    color:#4ab344;
    font-size:13px;
    cursor:pointer;
    padding:0;
}
.goods-link-btn:hover{color:#2ca501;text-decoration:underline;}

.goods-field{margin-bottom:16px;}
.goods-field:last-child{margin-bottom:0;}
.goods-field--inline .goods-field-body{display:flex;align-items:center;gap:10px;}
.goods-field-label{
    display:block;
    margin-bottom:8px;
    font-size:14px;
    font-weight:500;
    color:#444;
    text-align:left;
}
.goods-field-body{text-align:left;}
.goods-field-unit{color:#888;font-size:14px;}
.goods-field-hint{margin:6px 0 0;font-size:12px;color:#999;text-align:left;}

.goods-input,.goods-textarea{
    width:100%;
    box-sizing:border-box;
    padding:11px 14px;
    border:1px solid #ddd;
    border-radius:8px;
    font-size:14px;
    font-family:inherit;
    color:#333;
    background:#fff;
    transition:border-color .15s,box-shadow .15s;
}
.goods-input:focus,.goods-textarea:focus{
    outline:none;
    border-color:#4ab344;
    box-shadow:0 0 0 3px rgba(74,179,68,.12);
}
.goods-input--sm{width:100px;}
.goods-textarea{min-height:88px;resize:vertical;}

.goods-freight-box{
    padding:14px 16px;
    background:#f8fbf8;
    border:1px solid #e8f0e8;
    border-radius:8px;
}
.goods-freight-main{margin:0 0 6px;font-size:15px;color:#333;}
.goods-freight-main strong{color:#4ab344;}
.goods-freight-detail{margin:0 0 6px;font-size:13px;color:#666;line-height:1.6;}
.goods-freight-hint{margin:0;font-size:12px;color:#999;}

.goods-buy-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:20px 28px 28px;
    background:#fafcfa;
}
.goods-total{font-size:18px;color:#333;margin:0;}
.goods-total strong{color:#e4393c;font-size:26px;font-weight:700;}

.goods-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:11px 24px;
    border-radius:8px;
    font-size:14px;
    border:none;
    cursor:pointer;
    transition:opacity .2s,transform .1s;
    text-align:center;
}
.goods-btn:active{transform:scale(.98);}
.goods-btn--primary{
    background:linear-gradient(90deg,#4ab344,#2ca501);
    color:#fff;
}
.goods-btn--primary:hover{opacity:.92;color:#fff;}
.goods-btn--outline{
    background:#fff;
    border:1px solid #4ab344;
    color:#4ab344;
}
.goods-btn--lg{padding:14px 36px;font-size:16px;}
.goods-btn--block{width:100%;display:flex;}

/* 收货地址选择 */
.goods-address-list{display:flex;flex-direction:column;gap:10px;}
.goods-address-item{
    display:flex;align-items:flex-start;gap:12px;padding:14px 16px;
    border:1px solid #e5f0e4;border-radius:10px;background:#fafcfa;cursor:pointer;
    transition:border-color .15s,background .15s;
}
.goods-address-item:hover{border-color:#4ab344;background:#f5fbf4;}
.goods-address-item input{margin-top:4px;flex-shrink:0;}
.goods-address-item-text{line-height:1.65;color:#555;font-size:14px;text-align:left;}
.goods-addr-tag{
    display:inline-block;padding:0 6px;margin-left:6px;font-size:12px;font-style:normal;
    color:#4ab344;background:#e8f5e6;border-radius:4px;
}
.goods-address-empty{
    padding:28px 20px;text-align:center;background:#fafcfa;border:1px dashed #cfe5cc;
    border-radius:10px;color:#666;
}
.goods-address-empty p{margin:0 0 14px;font-size:14px;}

.goods-pay-types{display:flex;gap:24px;align-items:center;flex-wrap:wrap;}
.goods-pay-type{
    display:inline-flex;align-items:center;gap:8px;cursor:pointer;
    padding:10px 16px;border:1px solid #e5f0e4;border-radius:8px;background:#fff;
    font-size:14px;color:#444;
}
.goods-pay-type:has(input:checked){border-color:#4ab344;background:#f5fbf4;color:#2ca501;}
.goods-pay-disabled{color:#e4393c;font-size:14px;margin:0;text-align:left;}

/* 弹层通用 */
.goods-modal,.m-pay-modal{
    position:fixed;inset:0;z-index:9999;display:none;
}
.goods-modal[aria-hidden="false"],.m-pay-modal[aria-hidden="false"]{display:block;}
.goods-modal-mask,.m-pay-mask{
    position:absolute;inset:0;background:rgba(0,0,0,.5);
    backdrop-filter:blur(2px);
}
.goods-modal-dialog{
    position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
    width:92%;background:#fff;border-radius:14px;
    box-shadow:0 12px 40px rgba(0,0,0,.18);
    text-align:left;
}
.goods-modal-dialog--pay{
    max-width:380px;padding:28px 24px 32px;text-align:center;
}
.goods-modal-dialog--addr{
    max-width:480px;padding:0;overflow:hidden;
}
.goods-modal-head{
    display:flex;align-items:center;justify-content:space-between;
    padding:18px 22px;border-bottom:1px solid #f0f0f0;background:#fafcfa;
}
.goods-modal-head h3{margin:0;font-size:17px;font-weight:600;color:#222;}
.goods-modal-close{
    position:static;
    border:none;background:none;font-size:26px;color:#999;cursor:pointer;line-height:1;
    padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;
    border-radius:50%;
}
.goods-modal-close:hover{background:#f0f0f0;color:#666;}
.goods-modal-dialog--pay .goods-modal-close{
    position:absolute;right:12px;top:10px;
}
.goods-pay-amount{margin:0 0 12px;color:#666;font-size:14px;}
.goods-pay-amount strong,.goods-modal-dialog--pay strong{color:#e4393c;font-size:22px;}
.goods-pay-qrcode img{
    width:220px;height:220px;margin:0 auto;display:block;
    border:1px solid #eee;border-radius:10px;padding:6px;background:#fff;
}
.goods-modal-tip,.goods-modal-status{font-size:13px;color:#888;margin:10px 0 0;}

/* 地址弹层表单 */
.goods-addr-form{padding:20px 22px 24px;}
.goods-addr-field{margin-bottom:16px;}
.goods-addr-field label{
    display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#444;text-align:left;
}
.goods-addr-row{
    display:grid;grid-template-columns:repeat(3,1fr);gap:10px;
}
.goods-addr-default{
    display:flex;align-items:center;gap:8px;
    font-size:14px;color:#555;margin:4px 0 18px;cursor:pointer;text-align:left;
}
.goods-addr-default input{margin:0;}

@media screen and (max-width:992px){
    .goods-detail-top{flex-direction:column;}
    .goods-detail-img{
        flex:none;
        width:100%;
        max-width:420px;
        margin:0 auto;
    }
    .goods-detail-img img{max-height:320px;}
}
@media screen and (max-width:767px){
    .goods-grid{grid-template-columns:1fr;}
}
@media screen and (max-width:600px){
    .goods-banner .goods-hero{padding:28px 16px 24px;}
    .goods-banner .goods-hero h1{font-size:22px;margin-bottom:10px;}
    .goods-banner .goods-hero-desc{font-size:14px;margin-bottom:16px;}
    .goods-banner .goods-hero-tags{gap:8px;}
    .goods-banner .goods-hero-tags span{padding:5px 14px;font-size:12px;}
    .goods-hero{padding:24px 16px;}
    .goods-hero h1{font-size:22px;}
    .goods-thumb{height:200px;}
    .goods-detail .common-con{padding:16px;}
    .goods-buy-btn-lg{display:block;text-align:center;}
    .goods-buy-head,.goods-buy-section,.goods-buy-footer{padding-left:16px;padding-right:16px;}
    .goods-buy-summary{padding:16px;}
    .goods-buy-footer{flex-direction:column;align-items:stretch;}
    .goods-btn--lg{width:100%;}
    .goods-addr-row{grid-template-columns:1fr;}
}
