@charset "utf-8";
/* ============================================================
   购物车页（Cart）主流电商重构
   覆盖 mycart.css / m_mycart.css / gb.css（旧规则保留、可回退）
   数据与逻辑不变：步骤条、购物车行、数量加减、促销赠品、结算、推荐
   ============================================================ */

body{ background: #f4f5f7; }

/* ---------- 购物车精简顶栏：取消固定、回到文档流（结算页常见静态 logo 条） ---------- */
body .yx_head{
    position: static !important;
    top: auto !important;
    height: auto !important;
    min-height: 84px;
    padding: 10px 0 !important;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-bottom: 1px solid #eceef1;
}
body .yx_head .logo{ height: 74px; }

/* ---------- 步骤条 ---------- */
#container .flow_cart .flow_step{
    background: #ffffff;
    border: 1px solid #e6e8eb;
    border-radius: 10px;
    -webkit-box-shadow: 0 1px 5px rgba(20, 30, 50, .06);
    box-shadow: 0 1px 5px rgba(20, 30, 50, .06);
    height: auto;
    padding: 18px 30px;
    margin: 0 0 16px;
}
#container .flow_step ol.cols3{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
#container .flow_step li{
    float: none;
    width: auto !important;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    background: none;
    font: 600 15px/1.5 "Microsoft YaHei", Arial, sans-serif;
    color: #9aa0a8;
    position: relative;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
#container .flow_step li::before{
    content: attr(data-num);
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    border-radius: 50%;
    background: #e4e7eb;
    color: #ffffff;
    font-size: 15px;
    margin-right: 10px;
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
}
#container .flow_step .step_1::before{ content: "1"; }
#container .flow_step .step_2::before{ content: "2"; }
#container .flow_step .step_3::before{ content: "3"; }
/* 当前步骤 */
#container .flow_step_no1 .step_1{ color: #E01121; }
#container .flow_step_no1 .step_1::before{ background: #E01121; -webkit-box-shadow: 0 3px 8px rgba(224,17,33,.35); box-shadow: 0 3px 8px rgba(224,17,33,.35); }
/* 连接线 */
#container .flow_step li:not(:last-child)::after{
    content: "";
    position: absolute;
    top: 50%;
    left: 60%;
    width: 60%;
    height: 2px;
    background: #e4e7eb;
    z-index: 0;
}

/* ---------- 购物车表格卡片 ---------- */
.table_cart{
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: #ffffff;
    border: 1px solid #e6e8eb;
    border-radius: 10px;
    -webkit-box-shadow: 0 1px 5px rgba(20, 30, 50, .06);
    box-shadow: 0 1px 5px rgba(20, 30, 50, .06);
    overflow: hidden;
}
.table_cart thead th{
    background: #f7f8fa;
    color: #5b626b;
    font-size: 13px;
    font-weight: 600;
    padding: 13px 12px;
    text-align: left;
    border-bottom: 1px solid #eceef1;
}
.table_cart tbody tr.new td{
    padding: 16px 12px;
    border-bottom: 1px solid #f0f1f3;
    vertical-align: middle;
    font-size: 13px;
}
.table_cart tbody tr.new:hover td{ background: #fdf6f7; }
.table_cart tbody tr.new:last-child td{ border-bottom: 0; }

/* 商品图 + 名称 */
.table_cart .wrap_goods{ display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.table_cart .wrap_goods .img{
    width: 72px;
    height: 72px;
    -ms-flex-negative: 0;
    -webkit-box-flex: 0;
    flex: none;
    background: #f7f8fa;
    border-radius: 8px;
    overflow: hidden;
    line-height: 72px;
    text-align: center;
}
.table_cart .wrap_goods .img img{ width: 64px !important; max-width: 64px; max-height: 64px; vertical-align: middle; }
.table_cart .wrap_goods .goods_info{ margin-left: 14px; min-width: 0; }
.table_cart .wrap_goods .goods_info .name{ margin: 0; }
.table_cart .wrap_goods .goods_info .name a{
    color: #2b3138;
    font-size: 13px;
    line-height: 1.5;
    text-decoration: none;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.table_cart .wrap_goods .goods_info .name a:hover{ color: #E01121; }

/* 单价 / 小计 */
.table_cart td .strong{ color: #E01121; font-size: 16px; font-weight: bold; margin: 0; }
.table_cart td .strong .i_yuan{ font-size: 12px; margin-right: 1px; }

/* 数量选择器 */
.table_cart .wrap_input{
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border: 1px solid #d9dce1;
    border-radius: 6px;
    overflow: hidden;
}
.table_cart .wrap_input .jian,
.table_cart .wrap_input .jia{
    width: 30px;
    height: 30px;
    line-height: 28px;
    text-align: center;
    background: #f5f6f8;
    color: #5b626b;
    font-size: 16px;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
    -webkit-transition: background .15s, color .15s;
    transition: background .15s, color .15s;
}
.table_cart .wrap_input .jian:hover,
.table_cart .wrap_input .jia:hover{ background: #E01121; color: #ffffff; }
.table_cart .wrap_input .input{ display: block; }
.table_cart .wrap_input .input input{
    width: 52px;
    height: 30px;
    border: 0;
    border-left: 1px solid #e4e7eb;
    border-right: 1px solid #e4e7eb;
    text-align: center;
    font-size: 14px;
    color: #2b3138;
    margin: 0;
    padding: 0;
}

/* 库存状态 */
.table_cart tbody td:nth-child(5){ color: #13a878; font-size: 12px; }

/* 操作 */
.table_cart td.todo_link a{
    display: inline-block;
    color: #8a9099;
    font-size: 13px;
    margin-right: 12px;
    text-decoration: none;
}
.table_cart td.todo_link a:hover{ color: #E01121; }

/* ---------- 促销 / 赠品区 ---------- */
.table_cart tfoot #promotion_row th{
    background: #fff8f0;
    border-bottom: 1px solid #fceee0;
    padding: 12px 18px;
}
.table_cart .promotion .promotion_list .hd{
    color: #c8651b;
    font-size: 13px;
    font-weight: 600;
}
.table_cart .promotion .promotion_list .hd span{ color: #b0825a; font-weight: normal; }

/* ---------- 结算汇总区 ---------- */
.table_cart tfoot #cartemptyth{
    background: #ffffff;
    padding: 18px;
}
.price_check_box{ display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; gap: 24px; }
.price_check_box .clear{ -webkit-box-ordinal-group: 0; -ms-flex-order: -1; order: -1; -ms-flex-item-align: center; align-self: center; }
.price_check_box .clear a{ color: #8a9099; font-size: 13px; text-decoration: none; }
.price_check_box .clear a:hover{ color: #E01121; }
.price_check{
    border: 1px solid #e6e8eb;
    border-radius: 10px;
    -webkit-box-shadow: 0 2px 8px rgba(20,30,50,.08);
    box-shadow: 0 2px 8px rgba(20,30,50,.08);
    padding: 16px 20px;
    min-width: 320px;
}
.price_list .total{ display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin-bottom: 8px; }
.price_list .total .t{ color: #5b626b; font-size: 13px; }
.price_list .total .txt{ color: #2b3138; font-size: 14px; }
.price_list .item{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 6px 0;
}
.price_list .item .t{ color: #8a9099; font-size: 13px; }
.price_list .item .jian{ color: #5b626b; font-size: 13px; float: none; }
.price_list .item.all{
    border-top: 1px solid #f0f1f3;
    margin-top: 10px;
    padding-top: 12px;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
}
.price_list .item.all .t{ color: #2b3138; font-size: 14px; font-weight: 600; }
.price_list .item.all .num{ color: #E01121; font-size: 26px; font-weight: bold; }
.price_check .wrap_btn{ margin-top: 14px; text-align: center; }
.price_check .wrap_btn .todo_link{
    display: inline-block;
    color: #8a9099;
    font-size: 13px;
    margin-right: 14px;
    text-decoration: none;
}
.price_check .wrap_btn .todo_link:hover{ color: #E01121; }
.price_check .wrap_btn .btn_order{
    display: inline-block;
    width: auto;
    height: auto;
    overflow: visible;
    background: #E01121;
    color: #ffffff !important;
    border-radius: 8px;
    padding: 12px 34px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    -webkit-box-shadow: 0 4px 12px rgba(224,17,33,.32);
    box-shadow: 0 4px 12px rgba(224,17,33,.32);
    -webkit-transition: background .18s;
    transition: background .18s;
}
.price_check .wrap_btn .btn_order b{
    display: none;
    position: static;
    width: auto;
    height: auto;
    background: none;
}
.price_check .wrap_btn .btn_order:hover{ background: #c00d1b; text-decoration: none; }

/* ---------- 空购物车 ---------- */
#cartemptytd{
    background: #ffffff;
    padding: 60px 20px !important;
    text-align: center;
    color: #5b626b;
    font-size: 14px;
}
#cartemptytd a{ color: #E01121; text-decoration: none; margin: 0 6px; }
#cartemptytd a:hover{ text-decoration: underline; }

/* ---------- 推荐商品模块 ---------- */
#cmd_product, #always_buy_list{
    background: #ffffff;
    border: 1px solid #e6e8eb;
    border-radius: 10px;
    -webkit-box-shadow: 0 1px 5px rgba(20,30,50,.06);
    box-shadow: 0 1px 5px rgba(20,30,50,.06);
    margin-top: 16px;
    padding: 16px 18px;
}
#cmd_product .hd, #always_buy_list .mod_hui .hd{
    border-bottom: 1px solid #f0f1f3;
    padding: 4px 2px 12px;
    margin-bottom: 14px;
}
#cmd_product .hd h3, #always_buy_list .mod_hui .hd h3{
    font-size: 18px;
    color: #2b3138;
    font-weight: bold;
    padding-left: 12px;
    border-left: 4px solid #E01121;
}
#cmd_product .goods_list, #always_buy_list .goods_list{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}
#cmd_product .goods_list .item, #always_buy_list .goods_list .item{
    list-style: none;
    width: 180px;
    margin: 0 6px 14px;
    border: 1px solid #edf0f2;
    border-radius: 10px;
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: border-color .2s, -webkit-box-shadow .2s;
    transition: border-color .2s, box-shadow .2s;
}
#cmd_product .goods_list .item:hover, #always_buy_list .goods_list .item:hover{
    border-color: #E01121;
    -webkit-box-shadow: 0 8px 22px rgba(224,17,33,.15);
    box-shadow: 0 8px 22px rgba(224,17,33,.15);
}
#cmd_product .item .img_wrap, #always_buy_list .item .img_wrap{
    display: block;
    height: 140px;
    line-height: 140px;
    text-align: center;
    background: #f7f8fa;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 8px;
}
#cmd_product .item .img_wrap img, #always_buy_list .item .img_wrap img{ max-width: 100%; max-height: 130px; vertical-align: middle; }
#cmd_product .item .name, #always_buy_list .item .name{ height: 40px; overflow: hidden; margin: 0 0 6px; }
#cmd_product .item .name a, #always_buy_list .item .name a{
    color: #333;
    font-size: 13px;
    line-height: 1.5;
    text-decoration: none;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
#cmd_product .item .name a:hover, #always_buy_list .item .name a:hover{ color: #E01121; }
#cmd_product .item .price_wrap, #always_buy_list .item .price_wrap{ margin: 0 0 8px; }
#cmd_product .item .price_now, #always_buy_list .item .price_now{ color: #E01121; font-size: 18px; font-weight: bold; }
#cmd_product .item .wrap_btn, #always_buy_list .item .wrap_btn{ text-align: center; }
#cmd_product .item .btn_strong, #always_buy_list .item .btn_strong{
    display: inline-block;
    background: #E01121;
    color: #ffffff !important;
    border-radius: 6px;
    padding: 7px 16px;
    font-size: 13px;
    text-decoration: none;
    -webkit-transition: background .18s;
    transition: background .18s;
}
#cmd_product .item .btn_strong:hover, #always_buy_list .item .btn_strong:hover{ background: #c00d1b; text-decoration: none; }
#always_buy_list{ background: transparent; border: 0; -webkit-box-shadow: none; box-shadow: none; padding: 0; }
#always_buy_list .mod_hui{ background: #ffffff; border: 1px solid #e6e8eb; border-radius: 10px; -webkit-box-shadow: 0 1px 5px rgba(20,30,50,.06); box-shadow: 0 1px 5px rgba(20,30,50,.06); padding: 16px 18px; }

/* ---------- 推荐模块选项卡（热卖/推荐/猜你喜欢/收藏夹） ---------- */
.rec_tabs_wrap{
    background: #ffffff;
    border: 1px solid #e6e8eb;
    border-radius: 10px;
    -webkit-box-shadow: 0 1px 5px rgba(20,30,50,.06);
    box-shadow: 0 1px 5px rgba(20,30,50,.06);
    margin: 16px 0;
    overflow: hidden;
}
.rec_tab_nav{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-bottom: 1px solid #f0f1f3;
    padding: 0 10px;
}
.rec_tab_btn{
    background: none;
    border: 0;
    padding: 14px 20px;
    font-size: 14px;
    font-weight: 600;
    color: #5b626b;
    cursor: pointer;
    position: relative;
    -webkit-transition: color .15s;
    transition: color .15s;
}
.rec_tab_btn:hover{ color: #E01121; }
.rec_tab_btn.active{ color: #E01121; }
.rec_tab_btn.active::after{
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: -1px;
    height: 3px;
    background: #E01121;
    border-radius: 2px 2px 0 0;
}
.rec_tab_panel{
    background: transparent !important;
    border: 0 !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
.rec_tab_panel > .bd{ padding: 16px 34px; }
#always_buy_list.rec_tab_panel .mod_hui{
    background: transparent;
    border: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    padding: 0;
}
#always_buy_list.rec_tab_panel .bd{ padding: 16px 34px; }

/* 视口 + 左右箭头 */
.rec_viewport{ position: relative; }
.rec_arrow{
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 26px;
    height: 56px;
    background: rgba(255,255,255,.94);
    border: 1px solid #e2e5e9;
    border-radius: 6px;
    color: #E01121;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
    z-index: 6;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-shadow: 0 2px 8px rgba(20,30,50,.14);
    box-shadow: 0 2px 8px rgba(20,30,50,.14);
    -webkit-transition: background .15s, color .15s, border-color .15s;
    transition: background .15s, color .15s, border-color .15s;
}
.rec_arrow_left{ left: 2px; }
.rec_arrow_right{ right: 2px; }
.rec_arrow:hover{ background: #E01121; color: #ffffff; border-color: #E01121; }
.rec_arrow.disabled{
    color: #c6cad0;
    background: #f6f7f9;
    border-color: #eceef1;
    -webkit-box-shadow: none;
    box-shadow: none;
    cursor: default;
}
.rec_arrow.disabled:hover{ background: #f6f7f9; color: #c6cad0; border-color: #eceef1; }

/* Tab 数量徽标 */
.rec_tab_count{
    display: inline-block;
    min-width: 18px;
    height: 18px;
    line-height: 18px;
    padding: 0 5px;
    margin-left: 3px;
    background: #f0f1f4;
    color: #8a9099;
    font-size: 12px;
    font-weight: 600;
    border-radius: 9px;
    vertical-align: 1px;
}
.rec_tab_btn.active .rec_tab_count{ background: #fde8ea; color: #E01121; }
.rec_tabs_wrap .goods_list{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    gap: 12px;
    margin: 0;
}
.rec_tabs_wrap .goods_list li.item{
    list-style: none;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0;
    flex: 1 1 0;
    min-width: 0;
    width: auto;
    margin: 0;
    border: 1px solid #eceef1;
    border-radius: 8px;
    padding: 12px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: border-color .18s, -webkit-box-shadow .18s;
    transition: border-color .18s, box-shadow .18s;
}
.rec_tabs_wrap .goods_list li.item:hover{
    border-color: #E01121;
    -webkit-box-shadow: 0 6px 16px rgba(224,17,33,.12);
    box-shadow: 0 6px 16px rgba(224,17,33,.12);
}
.rec_tabs_wrap .item .img_wrap{ height: 118px; line-height: 118px; }
.rec_tabs_wrap .item .img_wrap img{ max-height: 108px; }
.rec_tabs_wrap .item .name{ height: 40px; overflow: hidden; margin: 0 0 6px; }
.rec_tabs_wrap .item .name a{
    color: #333; font-size: 13px; line-height: 1.5; text-decoration: none;
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
}
.rec_tabs_wrap .item .name a:hover{ color: #E01121; }
.rec_tabs_wrap .item .price_wrap{ margin: 0 0 8px; }
.rec_tabs_wrap .item .price_now{ color: #E01121; font-size: 17px; font-weight: bold; }
.rec_tabs_wrap .item .wrap_btn{ text-align: center; }
.rec_tabs_wrap .item .btn_strong{
    display: block;
    background: #E01121;
    color: #ffffff !important;
    border-radius: 6px;
    padding: 8px 0;
    font-size: 13px;
    text-decoration: none;
    -webkit-transition: background .18s;
    transition: background .18s;
}
.rec_tabs_wrap .item .btn_strong:hover{ background: #c00d1b; text-decoration: none; }
