/* cart page style for 'lw' on 2025-03-07 */
h1,h2,h3,h4,h5,h6{}
input[type='checkbox']:checked:after{border-right:0 !important;border-bottom:0 !important;}
input[type='checkbox']:checked:before {background-color: transparent !important;}
/*
.btn-check:checked+.btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check)+.btn:active{background-color: var(--themefive);border-color: var(--themefive);}
*/
.form-check-input{border: 1px solid #333;cursor: pointer;}
/* Scale 蓝：购物车复选框（覆盖全局粉色 checked） */
.cart .form-check-input:checked{
    background-color:#0d6efd !important;
    border-color:#0d6efd !important;
}
.cart .form-check-input:focus{
    border-color:#0d6efd;
    box-shadow:0 0 0 .2rem rgba(13,110,253,.25);
}
.btn-outline-primary{color: #e94560;border-color: #e94560;}
.btn-outline-primary:hover{background: #FFFFFF;color: #e94560;border-color: #e94560;opacity: 0.8;}
.btn{font-weight: bold;font-size: 15px;}
.text-primary{color: #e94560 !important;}

.qpage_m{float: left;width: 100%;margin: 140px 0 100px;text-align: center;line-height: 30px;display: none;}
.qpage_m i{color: var(--themethree);font-size: 30px;}
.qpage_m .showmdiv{padding: 0 10px;}
.qpage_m b{font-size: 25px;font-weight: 700;letter-spacing: 0px;line-height: 50px;color: rgba(37, 40, 60, 1);text-align: center;vertical-align: top;}
.cart{margin: 150px 0 60px 0;min-height: 450px;}
/* 页面内容区 95% 宽 */
@media (min-width: 992px) {
    .cart > .cart-page-container,
    .cart > .container.cart-page-container{
        width:95% !important;
        max-width:95% !important;
        margin-left:auto !important;
        margin-right:auto !important;
        padding-left:0;
        padding-right:0;
    }
    .cart .cart-page-box,
    .cart .cart-page-container > .box{
        width:100%;
        max-width:100%;
        float:none;
    }
}
/* 桌面：左列表 + 右上 Order Summary（与列表顶部对齐） */
@media (min-width: 992px) {
    .cart .cart-layout{
        display:flex !important;
        flex-direction:row !important;
        flex-wrap:nowrap !important;
        align-items:flex-start !important;
        justify-content:space-between;
        gap:1.75rem;
        width:100%;
    }
    .cart .cart-layout__main,
    .cart .cart-layout > .model-list{
        order:1;
        flex:1 1 0;
        min-width:0;
        width:auto !important;
        max-width:none !important;
        float:none !important;
    }
    .cart .cart-layout__aside,
    .cart .cart-layout > .order-summary{
        order:2;
        flex:0 0 320px;
        width:320px !important;
        max-width:320px !important;
        min-width:320px !important;
        float:none !important;
        align-self:flex-start;
    }
    .cart .cart-layout__aside .sticky-top,
    .cart .cart-layout > .order-summary .sticky-top{
        position:sticky;
        top:calc(110px + var(--site-top-banner-offset, 0px));
    }
}
.cart .cart-layout > .model-list{min-width:0;}
.cart .model-list .model-box,
.cart .model-list .supplier-group-list,
.cart .model-list .list-group{min-width:0;}
.qpage_m{display: none !important;}
.cart .cart-title{font-size: 30px;font-weight: bold;margin-bottom: 20px;font-family: MB;}
.cart .cart-title__heading{gap: 10px;}
.cart .cart-title .sub-name{font-size: 18px;font-weight: bold;}
.cart .model-list .model-box{min-height: 268px;background: #FFFFFF;overflow-x:auto;}
.cart .model-list .no-model .content{font-size: 18px;margin-bottom: 10px;font-weight: bold;}
.cart .model-list .model-head{
    display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap;margin-bottom:10px;
}
.cart .model-list .model-head .form-check{display:flex;align-items:center;margin:0;gap:6px;flex:0 1 auto;min-width:0;}
.cart .model-list .model-head .form-check .form-check-input{position:relative;cursor:pointer;margin:0;float:none;}
.cart .model-list .model-head .form-check *{cursor:pointer;}
.cart .model-list .model-head .form-check-label{white-space:nowrap;font-size:14px;}
.cart .model-list .model-head .btn-group{
    display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-end;
    gap:8px;margin-left:auto;flex:0 0 auto;
}
.cart .model-list .model-head .btn-group .btn-item{
    display:inline-flex;align-items:center;gap:5px;font-weight:700;line-height:1.2;
    padding:6px 8px;border-radius:8px;white-space:nowrap;color:#1a1a2e;
}
.cart .model-list .model-head .btn-group .btn-item:not(.hidden):hover{background:#f3f4f6 !important;color:#e94560;}
.model-head .btn-group .btn-item.hidden{cursor:not-allowed;color:#888;}
.cart .model-list .model-head .btn-group .bi{font-size:18px;line-height:1;}
.cart .cart-mobile-sticky{display:none;}
.cart .list-group-item.active{color: #000;background-color: rgba(211, 211, 211, 1);border-color: rgba(211, 211, 211, 1);}
.cart .supplier-group-list{display: grid;gap:30px;}
.cart .supplier-group-list .supplier-order-summary.cart-supplier-totals-row{
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 28px;
    padding: 12px 16px;
    flex-wrap: wrap;
}
.cart .cart-total-cell{
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    min-width: 100px;
}
.cart .cart-total-cell .name{
    font-size: 13px;
    color: #555;
    white-space: nowrap;
}
.cart .cart-total-cell .price{
    font-weight: bold;
    font-size: 15px;
    white-space: nowrap;
}
.cart .cart-total-cell--total .name,
.cart .cart-total-cell--total .price{
    font-weight: bold;
}
@media (max-width: 576px) {
    .cart .supplier-group-list .cart-supplier-totals-row{
        gap: 16px;
    }
    .cart .cart-total-cell{
        min-width: 80px;
    }
}
.cart .list-group .list-group-item.active{display: flex;justify-content: space-between;padding: 10px;align-items: center;}
.cart .list-group .list-group-item.active span{margin-right: 6px;;}
.cart .list-group .list-group-item.active b{font-weight: bold;}
.cart .supplier-group-list .list-group{
    border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 1px 6px rgba(26,26,46,.04);
}
.cart .list-group .list-group-item-model{padding:0;border:0;border-top:1px solid #eceff3;border-radius:0;margin:0;background:#fff;}
.cart .list-group .list-group-item .top.cart-item-card{
    display:grid;
    grid-template-columns:auto minmax(0,2.2fr) minmax(0,1fr) minmax(0,1.2fr) minmax(110px,0.9fr);
    grid-template-areas:
        "head head head head head"
        "main main material addons ."
        ". toolbar material addons .";
    gap:10px 14px;
    align-items:start;
    min-width:0;
    padding:14px 16px;
    box-sizing:border-box;
}
.cart .list-group .list-group-item .cart-item-card__head{
    display:flex;
    align-items:flex-start;
    gap:8px;
    grid-area:head;
    min-width:0;
}
.cart .list-group .list-group-item .cart-item-card__head .left-box{position:relative;padding-top:2px;flex:0 0 auto;}
.cart .list-group .list-group-item .cart-item-card__head .left-box .model-sort{position:static;left:auto;font-size:12px;}
.cart .list-group .list-group-item .cart-item-card__head .form-check{padding-left:10px;padding-top:0;margin:0;}
.cart .list-group .list-group-item .cart-item-card__main{
    grid-area:main;display:flex;align-items:flex-start;gap:12px;width:auto;min-width:0;
}
.cart .list-group .list-group-item .cart-item-card__material{grid-area:material;width:auto;min-width:0;}
.cart .list-group .list-group-item .cart-item-card__addons{grid-area:addons;width:auto;min-width:0;}
.cart .list-group .list-group-item .cart-item-card__price{
    display:grid;gap:6px;justify-items:end;width:auto;margin-left:auto;flex:0 0 auto;
}
.cart .list-group .list-group-item .cart-item-card__toolbar{
    grid-area:toolbar;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
}
.cart .list-group .list-group-item .column-one .image{padding:0;flex-shrink:0;}
.cart .list-group .list-group-item .column-one .image img{width:96px;height:96px;object-fit:cover;border-radius:8px;cursor:pointer;min-width:96px;border:1px solid #e8e8e8;}
.cart .list-group .list-group-item .column-one .file-name{font-size:15px;font-weight:bold;word-break:break-word;}
.cart .list-group .list-group-item .column-one .info{display:grid;gap:4px;min-width:0;}
.cart .list-group .list-group-item .file-size{font-size:13px;color:#5b6472;}
.cart .list-group .list-group-item .file-metrics{font-size:12px;line-height:1.35;color:#6b7280;}
.cart .cart-download-offline{
    display:inline-flex;align-items:center;gap:6px;
    color:#0d6efd;font-size:14px;font-weight:600;text-decoration:none;
    background:none;border:0;padding:0;box-shadow:none;border-radius:0;
}
.cart .cart-download-offline:hover{color:#0a58ca;text-decoration:underline;}
.cart .cart-download-offline .bi{font-size:16px;line-height:1;}
.cart .cart-add-more-link{
    display:inline-flex;align-items:center;justify-content:center;gap:6px;
    color:#0d6efd;font-size:14px;font-weight:600;text-decoration:none;
    padding:8px 14px;border:1px solid #0d6efd;border-radius:8px;background:#fff;
    box-shadow:none;
}
.cart .cart-add-more-link:hover{color:#0a58ca;border-color:#0a58ca;background:#f0f7ff;text-decoration:none;}
.cart .cart-add-more-link .bi{font-size:14px;line-height:1;}
.cart .list-group .list-group-item .material-info{text-align:left;padding:0;margin:0;list-style:none;}
.cart .list-group .list-group-item .material-info .name{font-weight:bold;}
.cart .list-group .list-group-item .buttons{display:flex;align-items:center;gap:8px;margin:0;}
.cart .list-group .list-group-item .cart-item-action{
    display:inline-flex;align-items:center;justify-content:center;
    width:36px;height:36px;padding:0;margin:0;border:0;border-radius:8px;
    background:transparent;color:#1a1a2e;cursor:pointer;line-height:1;
}
.cart .list-group .list-group-item .cart-item-action:hover{background:#f3f4f6;color:#e94560;}
.cart .list-group .list-group-item .cart-item-action .bi{font-size:18px;line-height:1;}
.cart .list-group .list-group-item .column-four .price{text-align:right;font-weight:bold;}
.cart .list-group .list-group-item .bottom{background:#eee;border-radius:5px;display:flex;justify-content:center;padding:5px 15px;margin-top:10px;gap:40px;}
.cart .list-group .list-group-item .bottom .name{margin-right:5px;}
.cart .list-group .list-group-item .quantity-control{width:auto;margin:0;flex-wrap:nowrap;}
.cart .list-group .list-group-item .quantity-control .btn{
    width:28px !important;max-width:28px !important;height:28px;padding:0;border-color:#ccc;
    display:flex;align-items:center;justify-content:center;font-weight:700;box-shadow:none;transform:none;
    flex:0 0 28px;
}
/* 外侧圆角、内侧直角（贴输入框一侧） */
.cart .list-group .list-group-item .quantity-control .decrease-btn{
    border-radius:8px 0 0 8px !important;
}
.cart .list-group .list-group-item .quantity-control .increase-btn{
    border-radius:0 8px 8px 0 !important;
}
.cart .list-group .list-group-item .quantity-control .form-control{
    width:48px;height:28px;min-height:28px;text-align:center;border-color:#ccc;padding:0;font-weight:600;
    border-radius:0 !important;
}
.cart .list-group .list-group-item .quantity-control .form-control:focus{border-color:#ccc;box-shadow:none;}
.cart .list-group .list-group-item .price .total-price{font-weight:bold;font-size:20px;padding-right:0;}
.cart .list-group .list-group-item .price .total-ori-price{text-decoration:line-through;font-size:12px;color:#888;}
.cart .list-group .list-group-item .unit-price{text-align:right;font-size:12px;color:#666;}
.cart .order-note{margin-top:15px;}
.cart .order-note textarea{width:500px;height:50px;}
.cart .order-summary{z-index:1;margin:0;}
.cart .order-summary__panel{top:calc(110px + var(--site-top-banner-offset, 0px));}
.cart .order-summary__list{border:0;}
.cart .order-summary__list .list-group-item{border-left:0;border-right:0;}
.cart .order-summary__row--total{order:-1;font-weight:700;border-bottom:1px solid #eceff3 !important;margin-bottom:4px;}
.cart .order-summary__row--total .total-order-price{font-size:1.25rem;font-weight:700;}
.cart .cart-trust{margin-top:18px;padding-top:16px;border-top:1px solid #eceff3;}
.cart .cart-trust__title{font-size:15px;font-weight:700;color:#1a1a2e;margin-bottom:4px;}
.cart .cart-trust__lead{font-size:13px;color:#6b7280;margin:0 0 10px;}
.cart .cart-trust__list{list-style:none;padding:0;margin:0;display:grid;gap:8px;}
.cart .cart-trust__list li{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.4;color:#374151;}
.cart .cart-trust__list .bi{color:#16a34a;font-size:16px;margin-top:1px;flex-shrink:0;}
@media (min-width: 992px) {
    .cart .order-summary,
    .cart .cart-layout__aside{display:block !important;}
}
/* 购物车页弹窗层级：须高于全局 .modal-backdrop，否则遮罩压在弹窗上、背景按钮仍高亮可点 */
body.modal-open .modal-backdrop {
    z-index: 1000090 !important;
}

#checkoutReminderModal.modal,
#checkoutReminderModal.modal.fade,
#loginModal.modal,
#loginModal.modal.fade,
#cartConfirmModal.modal,
#cartConfirmModal.modal.fade,
#shareCartModal.modal,
#shareCartModal.modal.fade,
#cartDestinationModal.modal,
#cartDestinationModal.modal.fade,
#editNoteModal.modal,
#editNoteModal.modal.fade,
#myModal.cart-preview-modal.modal,
#myModal.cart-preview-modal.modal.fade,
#aihfabsThumbLightbox.modal,
#aihfabsThumbLightbox.modal.fade {
    z-index: 1000100 !important;
}

#checkoutReminderModal .modal-dialog,
#loginModal .modal-dialog,
#cartConfirmModal .modal-dialog,
#shareCartModal .modal-dialog,
#cartDestinationModal .modal-dialog,
#myModal.cart-preview-modal .modal-dialog,
#aihfabsThumbLightbox .modal-dialog {
    position: relative;
    z-index: 1;
    pointer-events: auto;
}

#checkoutReminderModal .modal-content,
#loginModal .modal-content,
#cartConfirmModal .modal-content,
#shareCartModal .modal-content,
#cartDestinationModal .modal-content,
#myModal.cart-preview-modal .modal-content,
#aihfabsThumbLightbox .modal-content {
    pointer-events: auto;
}

#checkoutReminderModal .modal-content *,
#loginModal .modal-content *,
#cartConfirmModal .modal-content *,
#shareCartModal .modal-content *,
#cartDestinationModal .modal-content *,
#myModal.cart-preview-modal .modal-content *,
#aihfabsThumbLightbox .modal-content * {
    pointer-events: auto;
}

body.modal-open #checkoutReminderModal,
body.modal-open #loginModal,
body.modal-open #cartConfirmModal,
body.modal-open #shareCartModal,
body.modal-open #cartDestinationModal,
body.modal-open #myModal.cart-preview-modal,
body.modal-open #aihfabsThumbLightbox {
    z-index: 1000100 !important;
}

/* 购物车确认 / Share 弹窗：flex 居中（覆盖 modal 默认 display:block） */
#cartConfirmModal.modal.show,
#shareCartModal.modal.show,
#checkoutReminderModal.modal.show,
#cartDestinationModal.modal.show {
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    overflow-x: hidden;
    overflow-y: auto;
}
#cartConfirmModal .modal-dialog,
#shareCartModal .modal-dialog,
#checkoutReminderModal .modal-dialog,
#cartDestinationModal .modal-dialog {
    margin: 0 auto !important;
    pointer-events: auto;
}
#cartConfirmModal .modal-dialog.modal-dialog-centered,
#shareCartModal .modal-dialog.modal-dialog-centered,
#checkoutReminderModal .modal-dialog.modal-dialog-centered,
#cartDestinationModal .modal-dialog.modal-dialog-centered {
    min-height: 0 !important;
    align-items: stretch;
}
#cartConfirmModal .modal-dialog.modal-dialog-centered::before,
#shareCartModal .modal-dialog.modal-dialog-centered::before,
#checkoutReminderModal .modal-dialog.modal-dialog-centered::before,
#cartDestinationModal .modal-dialog.modal-dialog-centered::before {
    display: none !important;
    content: none !important;
}

/* 购物车确认弹窗 */
#cartConfirmModal .cart-confirm-modal__dialog {
    width: min(420px, calc(100vw - 2rem)) !important;
    max-width: calc(100vw - 2rem) !important;
}
#cartConfirmModal .cart-confirm-modal__content {
    border-radius: 12px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
    width: 100%;
}

/* Share 弹窗：去掉 min-width:580px，手机端完整可见 */
#shareCartModal .share-cart-modal__dialog {
    width: min(580px, calc(100vw - 2rem)) !important;
    max-width: calc(100vw - 2rem) !important;
}
#shareCartModal .share-cart-modal__body {
    padding: 24px 30px;
}
#shareCartModal .share-cart-modal__icons {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    align-items: center;
}
#shareCartModal .modal-content {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
#shareCartModal .share-cart-modal__body .form-control {
    max-width: 100%;
    box-sizing: border-box;
}
@media (max-width: 576px) {
    #cartConfirmModal.modal.show,
    #shareCartModal.modal.show,
    #checkoutReminderModal.modal.show,
    #cartDestinationModal.modal.show {
        padding: 12px;
        align-items: center;
    }
    #cartConfirmModal .cart-confirm-modal__dialog,
    #shareCartModal .share-cart-modal__dialog {
        width: calc(100vw - 24px) !important;
        max-width: calc(100vw - 24px) !important;
    }
    #shareCartModal .share-cart-modal__body {
        padding: 16px 18px;
    }
    #shareCartModal .modal-footer {
        flex-wrap: wrap;
        justify-content: stretch;
    }
    #shareCartModal .modal-footer .btn {
        width: 100%;
    }
    #cartConfirmModal .modal-footer {
        flex-wrap: wrap;
        gap: 8px;
    }
    #cartConfirmModal .modal-footer .btn {
        flex: 1 1 auto;
        min-width: 120px;
    }
}
.cart .shipping-name{display: inline-flex;gap:6px;align-items: center;}
.cart .shipping-name .cart-shipping-dest-btn{line-height: 1;vertical-align: middle;}
.cart .shipping-name .bi{color: #e94560;font-size: 16px;}
.cart .total-shipping-price:focus{outline: 2px solid rgba(233, 69, 96, 0.35);outline-offset: 2px;border-radius: 2px;}
#cartDestinationModal .form-control.is-invalid,
#cartDestinationModal .form-select.is-invalid{
    border-color: #e94560;
}
#cartDestinationModal .cart-dest-field-error{
    color: #e94560;
    font-size: 13px;
    margin-top: 4px;
}
#checkoutReminderModal .modal-body{
    font-family: MR, "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
#checkoutReminderModal .modal-body .top{font-size: 14px;font-weight: bold;margin-bottom: 10px;line-height: 25px;}
#checkoutReminderModal .modal-body ul.list{padding: 0;display: grid;gap: 5px;}
#checkoutReminderModal .modal-body ul.list li{font-size: 14px;display: flex;gap: 5px;align-items: center;}
#checkoutReminderModal .modal-body ul.list .bi{font-size: 22px;color: #e94560;}
#checkoutReminderModal .modal-body .buttons{text-align: center;/* margin-bottom: 30px; */}
#checkoutReminderModal .modal-body .sub-line {
    display: flex;
    align-items: center;
    text-align: center;
}

#checkoutReminderModal .modal-body .sub-line .line {
    flex: 1;
    height: 1px;
    background-color: #aaa;
    margin: 0 10px;
}

#checkoutReminderModal .modal-body .sub-line .text {
    white-space: nowrap;
}
/* 问号等标点与正文同字体，避免 Futura 缺字回退成衬线体 */
#checkoutReminderModal .modal-body .text-center{
    font-family: MR, "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-synthesis: none;
}

/* Shared cart offer page (/offer?no=…) */
.cart-page--share-offer .form-check-input,
.cart-page--share-offer .form-check,
.cart-page--share-offer .btn-remark,
.cart-page--share-offer .cart-shipping-dest-btn {
    display: none !important;
}
.cart-page--share-offer .share-offer-qty {
    font-size: 14px;
    font-weight: 600;
    margin-top: 8px;
}
.cart-share-offer-banner {
    font-size: 15px;
    line-height: 1.5;
}

#myModal.cart-preview-modal .modal-dialog,
#aihfabsThumbLightbox .aihfabs-thumb-preview-dialog {
    max-width: min(96vw, 1100px);
    width: min(96vw, 1100px);
    margin: 0 auto !important;
}
#myModal.cart-preview-modal.modal.show,
#aihfabsThumbLightbox.modal.show {
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}
#myModal.cart-preview-modal .modal-dialog,
#aihfabsThumbLightbox .modal-dialog {
    margin: 0 auto !important;
    max-height: calc(100vh - 2rem);
}
.cart .file_thumb.image {
    cursor: pointer;
}
.cart .file_thumb.image:focus-visible {
    outline: 2px solid rgba(233, 69, 96, 0.45);
    outline-offset: 2px;
}
#aihfabsThumbLightbox .aihfabs-thumb-preview-dialog {
    max-width: min(1240px, 96vw);
    width: min(1240px, 96vw);
}
#aihfabsThumbLightbox .modal-content {
    border-radius: 12px;
    overflow: hidden;
    min-height: 280px;
    box-shadow: 0 24px 70px rgba(26, 26, 46, 0.22);
}
#aihfabsThumbLightbox .aihfabs-thumb-preview-close {
    margin-left: auto;
    padding: 0.35rem 0.55rem;
    font-size: 2rem;
    line-height: 1;
    color: #212529;
    background: transparent;
    border: 0;
    opacity: 0.6;
    cursor: pointer;
}
#aihfabsThumbLightbox .aihfabs-thumb-preview-body {
    padding: 20px 24px 28px;
}
#aihfabsThumbLightbox .aihfabs-thumb-preview-img-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: min(55vh, 520px);
    max-height: min(72vh, 680px);
    padding: 16px;
    background: #f4f4f6;
    border-radius: 12px;
    border: 1px solid rgba(0, 0, 0, 0.06);
}
#aihfabsThumbLightbox .js-aihfabs-thumb-preview-img {
    max-width: 100%;
    max-height: min(68vh, 640px);
    object-fit: contain;
}
#myModal.cart-preview-modal .modal-body {
    min-height: 60vh;
    padding: 0;
    overflow: hidden;
}
#myModal.cart-preview-modal .modal-body iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 60vh;
    border: 0;
}
#myModal.cart-preview-modal .modal-body img {
    max-width: 100%;
    max-height: 75vh;
}
@media (max-width: 768px) {
    #myModal.cart-preview-modal.modal.show {
        padding: 0 !important;
        align-items: stretch !important;
    }
    #myModal.cart-preview-modal .modal-dialog {
        width: 100vw !important;
        max-width: 100vw !important;
        max-height: 100dvh !important;
        height: 100dvh !important;
        margin: 0 !important;
    }
    #myModal.cart-preview-modal .modal-content {
        height: 100dvh !important;
        max-height: 100dvh !important;
        border-radius: 0;
    }
    #myModal.cart-preview-modal .modal-body {
        min-height: 0 !important;
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
    }
    #myModal.cart-preview-modal .modal-body iframe {
        flex: 1 1 auto;
        min-height: 0 !important;
        height: 100% !important;
    }
}

/* —— Cart 手机端 —— */
@media (max-width: 991.98px) {
    .qpage_m{display:none !important;}
    .cart{
        display:block !important;
        float:none !important;
        width:100% !important;
        margin:calc(72px + var(--site-top-banner-offset, 0px)) 0 0 !important;
        min-height:0 !important;
        padding:0;
        box-sizing:border-box;
    }
    .cart > .cart-page-container,
    .cart > .container.cart-page-container{
        width:100% !important;
        max-width:100% !important;
        padding-left:14px !important;
        padding-right:14px !important;
        box-sizing:border-box;
    }
    .cart .cart-page-box,
    .cart .cart-page-container > .box{
        width:100%;
        float:none;
    }
    .cart .cart-title{
        margin-bottom:12px;
        gap:8px;
    }
    .cart .cart-title .name,
    .cart .cart-title h1.name{
        font-size:1.35rem !important;
        line-height:1.25;
    }
    .cart .cart-title .sub-name{font-size:14px;}
    .cart .cart-download-offline{
        width:auto !important;
        font-size:13px !important;
        padding:0 !important;
        border:0 !important;
        border-radius:0 !important;
        background:none !important;
        box-shadow:none !important;
        color:#0d6efd !important;
    }

    .cart .cart-layout{
        display:flex !important;
        flex-direction:column !important;
        gap:16px !important;
        width:100%;
    }
    .cart .cart-layout__main,
    .cart .cart-layout > .model-list{
        order:1;
        width:100% !important;
        float:none !important;
    }
    .cart .cart-layout__aside,
    .cart .cart-layout > .order-summary{
        order:2;
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        float:none !important;
        flex:none !important;
        visibility:visible !important;
        opacity:1 !important;
        margin:0 0 8px !important;
    }
    /* sticky 预留改到 footer 底部（深色区），避免 Guarantee/Checkout 下方出现大块浅灰空白 */
    body:has(.cart) .footers.site-footer,
    body:has(.cart) .site-footer.footers{
        margin-top:0 !important;
        padding-bottom:calc(72px + env(safe-area-inset-bottom, 0px));
    }

    .cart .model-list .model-box{
        min-height:0;
        padding:12px !important;
        border-radius:10px !important;
        box-shadow:0 1px 6px rgba(26,26,46,.05) !important;
        overflow:visible;
    }
    .cart .model-list .model-head{
        flex-direction:row;
        align-items:center;
        justify-content:space-between;
        flex-wrap:nowrap;
        gap:8px;
        margin:0 0 12px;
        padding:0; /* 与下方 list-group 左边缘对齐 */
    }
    .cart .model-list .model-head .form-check{
        display:flex !important;
        align-items:center;
        gap:8px;
        margin:0 !important;
        padding:0 !important; /* 去掉 Bootstrap padding-left，避免比下面蓝条更缩进 */
        flex:1 1 auto;
        min-width:0;
    }
    .cart .model-list .model-head .form-check .form-check-input{
        position:relative !important;
        float:none !important;
        margin:0 !important;
        flex:0 0 auto;
        width:1.15em;
        height:1.15em;
    }
    .cart .model-list .model-head .form-check-label{
        overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;
        padding:0;margin:0;
    }
    .cart .model-list .model-head .btn-group{
        display:flex;
        flex-direction:row;
        flex-wrap:nowrap;
        align-items:center;
        gap:2px;
        margin-left:auto;
    }
    .cart .model-list .model-head .btn-group .btn-item{
        justify-content:center;
        width:40px !important;
        height:40px;
        padding:0 !important;
        font-size:0;
        background:transparent !important;
        border-radius:10px !important;
    }
    .cart .model-list .model-head .btn-group .btn-item .btn-item__label{display:none;}
    .cart .model-list .model-head .btn-group .bi{font-size:20px;width:auto;color:#0d6efd;}
    .cart .model-list .model-head .btn-group .delete-selected .bi{color:#e94560;}
    .cart .model-list .model-head .btn-group .btn-item.hidden .bi{color:#bbb;}

    .cart .supplier-group-list{gap:16px;}
    .cart .supplier-group-list .list-group{
        overflow:visible;
    }
    .cart .list-group .list-group-item-model{
        overflow:visible;
    }
    .cart .list-group .list-group-item.active{
        flex-direction:row;
        align-items:center;
        justify-content:space-between;
        flex-wrap:nowrap;
        gap:8px;
        padding:10px 12px;
        background:#eef2f7;
        border:0;
        font-size:13px;
        border-radius:10px 10px 0 0;
    }
    .cart .list-group .list-group-item.active > div{
        width:auto;
        display:flex;
        align-items:center;
        gap:4px;
        min-width:0;
    }
    .cart .list-group .list-group-item.active > div:first-child{
        flex:1 1 auto;
        min-width:0;
    }
    .cart .list-group .list-group-item.active > div:last-child{
        flex:0 0 auto;
        justify-content:flex-end;
        white-space:nowrap;
        color:#475569;
    }
    .cart .list-group .list-group-item.active > div:last-child span{margin-right:4px;}

    .cart .list-group .list-group-item .top.cart-item-card{
        grid-template-columns:minmax(0,1fr) minmax(0,1fr);
        grid-template-areas:
            "head head"
            "main main"
            "material addons"
            "toolbar toolbar";
        column-gap:8px;
        row-gap:8px;
        align-items:start;
        padding:10px;
        overflow:visible;
    }
    .cart .list-group .list-group-item .cart-item-card__head{
        display:flex;
        align-items:flex-start;
        justify-content:space-between;
        gap:8px;
        grid-area:head;
        width:100%;
        min-width:0;
    }
    .cart .list-group .list-group-item .cart-item-card__head .left-box{
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:flex-start;
        gap:2px;
        width:28px;
        min-width:28px;
        padding:0;
        margin:0;
        position:relative;
        z-index:2;
    }
    .cart .list-group .list-group-item .cart-item-card__head .left-box .model-sort{
        position:static;left:auto;margin:0;font-size:11px;color:#64748b;line-height:1.2;
    }
    .cart .list-group .list-group-item .cart-item-card__head .form-check{
        display:flex !important;
        align-items:center;
        justify-content:center;
        padding:0 !important;
        margin:0 !important;
        width:22px;
        min-height:22px;
    }
    .cart .list-group .list-group-item .cart-item-card__head .form-check-input{
        position:relative !important;
        float:none !important;
        margin:0 !important;
        width:1.15em;
        height:1.15em;
        flex:0 0 auto;
    }
    .cart .list-group .list-group-item .cart-item-card__main{
        gap:8px;
        align-items:flex-start;
        min-width:0;
        width:100%;
    }
    .cart .list-group .list-group-item .column-one .image img{
        width:52px;height:52px;min-width:52px;border-radius:8px;
    }
    .cart .list-group .list-group-item .column-one .info{
        flex:1 1 auto;
        min-width:0;
    }
    .cart .list-group .list-group-item .column-one .file-name{font-size:13px;}
    .cart .list-group .list-group-item .file-size{
        font-size:12px;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
    }
    .cart .list-group .list-group-item .file-metrics{
        font-size:11px;
        line-height:1.3;
    }
    .cart .list-group .list-group-item .cart-item-card__price{
        justify-items:end;align-content:start;padding-top:0;
        min-width:max-content;
    }
    .cart .list-group .list-group-item .price .total-price{font-size:1.05rem;white-space:nowrap;}
    .cart .list-group .list-group-item .unit-price{font-size:11px;white-space:nowrap;}
    /* 材料 | Add-ons 左右两栏，压缩高度 */
    .cart .list-group .list-group-item .cart-item-card__material,
    .cart .list-group .list-group-item .cart-item-card__addons{
        min-width:0;
    }
    .cart .list-group .list-group-item .cart-item-card__material .material-info,
    .cart .list-group .list-group-item .cart-item-card__addons .material-info{
        font-size:12px;line-height:1.35;color:#4b5563;
    }
    .cart .list-group .list-group-item .cart-item-card__material .material-info .name,
    .cart .list-group .list-group-item .cart-item-card__addons .material-info b{
        font-weight:700;color:#1a1a2e;
    }
    .cart .list-group .list-group-item .cart-item-card__material .mt-2{margin-top:4px !important;}
    .cart .list-group .list-group-item .cart-item-card__addons .proplus-list{
        gap:2px !important;
    }
    .cart .list-group .list-group-item .cart-item-card__toolbar{
        width:100%;
        padding-top:4px;
        border-top:1px solid #f0f1f3;
        margin-top:2px;
    }
    .cart .list-group .list-group-item .quantity-control{width:auto !important;}
    .cart .list-group .list-group-item .quantity-control .btn{
        width:32px !important;height:32px !important;min-width:32px !important;
        padding:0 !important;font-size:16px;font-weight:700;
        box-shadow:none !important;transform:none !important;
    }
    .cart .list-group .list-group-item .quantity-control .decrease-btn{
        border-radius:8px 0 0 8px !important;
    }
    .cart .list-group .list-group-item .quantity-control .increase-btn{
        border-radius:0 8px 8px 0 !important;
    }
    .cart .list-group .list-group-item .quantity-control .form-control{
        width:44px !important;height:32px;min-height:32px;font-size:14px;font-weight:700;
        border-radius:0 !important;
    }
    .cart .list-group .list-group-item .buttons{gap:6px;}
    .cart .list-group .list-group-item .cart-item-action{
        width:40px;height:40px;border-radius:10px;color:#0d6efd;
    }
    .cart .list-group .list-group-item .cart-item-action .bi{font-size:20px;}
    .cart .list-group .list-group-item .cart-item-action--del{color:#e94560;}

    .cart .supplier-group-list .supplier-order-summary.cart-supplier-totals-row{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:10px 12px;
        justify-content:stretch;
        padding:12px 14px 14px;
        border-top:1px solid #eceff3;
    }
    .cart .cart-total-cell{
        align-items:flex-start;
        min-width:0;
    }
    .cart .cart-total-cell--total{
        grid-column:1 / -1;
        flex-direction:row;
        justify-content:space-between;
        align-items:center;
        padding-top:8px;
        border-top:1px dashed #e5e7eb;
        margin-top:2px;
    }
    .cart .cart-total-cell--total .price{font-size:1.1rem;}

    .cart .add-more{
        margin-top:10px !important;
        margin-bottom:4px;
    }
    .cart .add-more .cart-add-more-link{
        width:auto !important;
        max-width:100%;
        padding:7px 14px !important;
        font-size:13px !important;
        border-radius:8px !important;
        background:#fff !important;
        color:#0d6efd !important;
        border:1px solid #0d6efd !important;
        box-shadow:none !important;
        transform:none !important;
    }

    .cart .order-summary__panel{
        position:relative !important;
        top:auto !important;
        padding:14px 16px 16px !important;
        border-radius:12px !important;
        border:1px solid #eceff3;
        background:#fff !important;
        box-shadow:0 4px 18px rgba(26,26,46,.06) !important;
        display:flex;
        flex-direction:column;
    }
    .cart .order-summary__title{
        order:0;
        font-size:1.1rem;font-weight:700;margin-bottom:12px !important;color:#1a1a2e;
    }
    .cart .order-summary__list{
        order:1;
        display:flex;flex-direction:column;gap:0;margin-bottom:0 !important;
    }
    .cart .order-summary__panel > input[type="hidden"]{order:1;}
    .cart .order-summary__list .list-group-item{
        border:0 !important;padding:8px 0;background:transparent;font-size:14px;color:#334155;
    }
    .cart .order-summary__row--total{
        padding-bottom:12px !important;margin-bottom:6px !important;
        border-bottom:1px solid #eceff3 !important;
    }
    .cart .order-summary__row--total span:first-child{font-size:16px;font-weight:700;color:#1a1a2e;}
    .cart .order-summary__row--total .total-order-price{font-size:1.45rem !important;color:#e94560 !important;}
    .cart .cart-trust{
        order:2;
        margin-top:12px;padding-top:12px;border-top:1px solid #eceff3;
    }
    .cart .cart-trust__title{font-size:15px;color:#1a1a2e;}
    .cart .cart-trust__list{margin-bottom:0;}
    .cart .cart-trust__list li{font-size:13px;}
    .cart .cart-trust__list .bi{color:#16a34a;}
    /* Guarantee 下方放大号 Checkout，填满原先空白间距 */
    .cart .order-summary .btn-checkout,
    .cart .order-summary .btn-share-import-cart{
        order:3;
        display:block !important;
        width:100% !important;
        margin-top:16px !important;
        padding:16px 18px !important;
        font-size:17px !important;
        font-weight:700 !important;
        border-radius:12px !important;
        box-shadow:0 8px 22px rgba(233,69,96,.28) !important;
        background:linear-gradient(135deg,#e94560 0%,#ff6b6b 100%) !important;
        border-color:transparent !important;
        color:#fff !important;
        transform:none !important;
    }
    .cart .order-summary .btn-checkout:hover,
    .cart .order-summary .btn-share-import-cart:hover{
        background:linear-gradient(135deg,#c73650 0%,#e94560 100%) !important;
        border-color:transparent !important;
    }

    /* 底部固定结算条：与 Upload 同款粉红 */
    .cart .cart-mobile-sticky{
        display:flex !important;
        position:fixed;
        left:0;right:0;bottom:0;
        z-index:740;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        padding:10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
        background:#fff;
        border-top:1px solid #eceff3;
        box-shadow:0 -6px 24px rgba(26,26,46,.1);
    }
    .cart .cart-mobile-sticky__total{display:flex;flex-direction:column;min-width:0;}
    .cart .cart-mobile-sticky__label{font-size:12px;color:#64748b;font-weight:600;}
    .cart .cart-mobile-sticky__price{font-size:1.2rem;font-weight:800;color:#e94560;line-height:1.2;}
    .cart .cart-mobile-sticky__btn{
        width:auto !important;
        flex:0 0 auto;
        min-width:132px;
        padding:11px 16px !important;
        font-size:15px !important;
        font-weight:700 !important;
        border-radius:10px !important;
        background:linear-gradient(135deg,#e94560 0%,#ff6b6b 100%) !important;
        border-color:transparent !important;
        color:#fff !important;
        box-shadow:0 8px 18px rgba(233,69,96,.28) !important;
        transform:none !important;
    }
    .cart .cart-mobile-sticky__btn:hover{
        background:linear-gradient(135deg,#c73650 0%,#e94560 100%) !important;
    }
    .cart:not(:has(.list-group-item-model)) .cart-mobile-sticky{
        display:none !important;
    }

    /* 覆盖 common.css 手机端 .btn{width:100%} */
    .cart .list-group .list-group-item .btn,
    .cart .model-head .btn-item,
    .cart .cart-shipping-dest-btn.btn{
        width:auto !important;
    }
}

/* Production details 弹窗：白底抬升 + 蓝色主操作（cart 页不依赖 comparisonProcess.css） */
#editNoteModal.aihfabs-production-modal,
#editNoteModal{
    z-index:1000100 !important;
}
body.modal-open #editNoteModal{
    z-index:1000100 !important;
}
#editNoteModal .modal-dialog{
    max-width:min(560px, calc(100vw - 24px));
    margin:1.25rem auto;
}
#editNoteModal .aihfabs-production-modal__content,
#editNoteModal .modal-content{
    background:#fff !important;
    border:1px solid #e2e8f0 !important;
    border-radius:14px !important;
    box-shadow:0 18px 50px rgba(11,44,74,.22) !important;
}
#editNoteModal .modal-header{
    background:#fff;
    border-bottom:1px solid #eef2f7 !important;
    padding:16px 18px 10px;
}
#editNoteModal .modal-title{
    font-size:1.15rem;
    font-weight:800;
    color:#0b2c4a;
}
#editNoteModal .modal-body{
    background:#fff;
    padding:12px 18px 18px;
}
#editNoteModal .fw-bold.text-dark,
#editNoteModal .text-dark{
    color:#0b2c4a !important;
}
#editNoteModal .text-primary,
#editNoteModal .js-aihfabs-support-model-name{
    color:#004a8d !important;
}
#editNoteModal .btn-light{
    background:#f8fafc !important;
    border:1px solid #cbd5e1 !important;
    border-radius:999px !important;
    color:#0b2c4a !important;
    font-weight:600;
}
#editNoteModal textarea.form-control{
    background:#fff;
    border:1px solid #cbd5e1;
    border-radius:10px;
    min-height:140px;
    box-shadow:none;
}
#editNoteModal textarea.form-control:focus{
    border-color:#004a8d;
    box-shadow:0 0 0 .2rem rgba(0,74,141,.15);
}
#editNoteModal .aihfabs-production-modal__save,
#editNoteModal .btn-primary{
    background:#004a8d !important;
    border-color:#004a8d !important;
    color:#fff !important;
    border-radius:10px !important;
    min-width:96px;
}
#editNoteModal .aihfabs-production-modal__save:hover,
#editNoteModal .btn-primary:hover{
    background:#003d75 !important;
    border-color:#003d75 !important;
}
@media (max-width: 991.98px) {
    #editNoteModal .modal-dialog{
        max-width:calc(100vw - 20px);
        margin:12px auto;
    }
    #editNoteModal .modal-body{padding:10px 14px 16px;}
    #editNoteModal .modal-header{padding:14px 14px 8px;}
    #editNoteModal textarea.form-control{min-height:120px;font-size:16px;}
    #editNoteModal .modal-footer{
        display:flex;
        justify-content:flex-end;
        gap:8px;
        flex-wrap:wrap;
    }
    #editNoteModal .aihfabs-production-modal__save{
        flex:1 1 auto;
        min-width:120px;
        padding:11px 16px !important;
    }
}