/* Added Upload page style for 'lw' on 2025-02-25 */
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: #e94560;border-color: #e94560;}
/* 上传 / 材料页单位与开关：与 Scale / All options 同色（#0d6efd） */
.upload .upload-box .file-unit label.btn:has(> .btn-check:checked){background-color:#0d6efd!important;border-color:#0d6efd!important;color:#fff!important;}
.upload .model-box .form-check-input[role="switch"]:checked,
.materials .left-box .sidebar .model-list .model-item .form-check-input[role="switch"]:checked{
  background-color:#0d6efd!important;border-color:#0d6efd!important;
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}
.upload .model-box .form-check-input[role="switch"]:focus,
.materials .left-box .sidebar .model-list .model-item .form-check-input[role="switch"]:focus{
  border-color:#0d6efd;
  box-shadow:0 0 0 0.25rem rgba(13,110,253,.25);
}
.form-check{display: flex;}
/* 只针对复选框，排除切换开关 */
.form-check-input:not([role="switch"]){
    border: 2px solid #ddd;
    width: 18px;
    height: 18px;
    background-color: #fff;
    border-radius: 4px;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    position: relative;
    display: inline-block;
    vertical-align: top;
    flex-shrink: 0;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
.form-check-input:not([role="switch"]):checked {
    background-color: #e94560;
    border-color: #e94560;
}

/* Safari浏览器兼容性修复 */
.form-check-input::-webkit-appearance {
    -webkit-appearance: none;
    appearance: none;
}

.form-check-input::-moz-appearance {
    -moz-appearance: none;
    appearance: none;
}

/* 确保复选框在所有浏览器中都有正确的尺寸和位置 */
.form-check {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    position: relative;
}

/* Safari浏览器中特别处理 */
@supports (-webkit-appearance: none) {
    .form-check:not(.form-switch) {
        display: block !important;
        position: relative !important;
        padding-left: 0 !important;
        margin: 0 !important;
    }
    
    .form-check-input:not([role="switch"]) {
        float: left !important;
        margin-top: 2px !important;
        margin-right: 8px !important;
        margin-left: 0 !important;
        position: static !important;
        display: block !important;
    }
    
    .form-check-label {
        display: block !important;
        overflow: hidden !important;
        padding-left: 0 !important;
        margin: 0 !important;
    }
}

.form-check-input {
    margin-top: 2px;
    flex-shrink: 0;
}

.form-check-label {
    line-height: 1.4;
    margin: 0;
    padding: 0;
}

/* 强制重置Safari中的复选框样式 */
.form-check-input[type="checkbox"]:not([role="switch"]) {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-color: #fff !important;
    border: 2px solid #ddd !important;
    border-radius: 4px !important;
    width: 18px !important;
    height: 18px !important;
    position: relative !important;
    display: inline-block !important;
    vertical-align: top !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* Safari专用修复 - 完全覆盖Bootstrap样式 */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
    .form-check:not(.form-switch) {
        display: block !important;
        position: relative !important;
        padding-left: 0 !important;
        margin: 0 !important;
    }
    
    .form-check-input:not([role="switch"]) {
        position: static !important;
        float: left !important;
        margin: 2px 8px 0 0 !important;
        display: block !important;
    }
    
    .form-check-label {
        display: block !important;
        overflow: hidden !important;
        padding-left: 0 !important;
        margin: 0 !important;
    }
}

.form-check-input[type="checkbox"]:not([role="switch"]):checked {
    background-color: #e94560 !important;
    border-color: #e94560 !important;
}

/* 为Safari添加选中状态的勾选标记 */
.form-check-input[type="checkbox"]:not([role="switch"]):checked::after {
    content: '';
    position: absolute;
    left: 5px;
    top: 2px;
    width: 6px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

/* 修复没有使用form-check类的复选框 */
input[type="checkbox"]:not(.form-check-input):not([role="switch"]) {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    width: 18px !important;
    height: 18px !important;
    border: 2px solid #ddd !important;
    border-radius: 4px !important;
    background-color: #fff !important;
    position: relative !important;
    display: block !important;
    vertical-align: top !important;
    margin: 0 8px 0 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    float: left !important;
}

input[type="checkbox"]:not(.form-check-input):not([role="switch"]):checked {
    background-color: #e94560 !important;
    border-color: #e94560 !important;
}

input[type="checkbox"]:not(.form-check-input):not([role="switch"]):checked::after {
    content: '';
    position: absolute;
    left: 5px;
    top: 2px;
    width: 6px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

/* 最后的Safari修复 - 使用更具体的选择器 */
.lr_user .form-check:not(.form-switch),
.lr_modal .form-check:not(.form-switch) {
    display: block !important;
    position: relative !important;
    padding-left: 0 !important;
    margin: 0 !important;
}

.lr_user .form-check-input:not([role="switch"]),
.lr_modal .form-check-input:not([role="switch"]) {
    position: static !important;
    float: left !important;
    margin: 2px 8px 0 0 !important;
    display: block !important;
}

.lr_user .form-check-label,
.lr_modal .form-check-label {
    display: block !important;
    overflow: hidden !important;
    padding-left: 0 !important;
    margin: 0 !important;
}

/* 终极Safari修复 - 针对所有可能的复选框 */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
    /* 强制所有form-check容器使用block布局 */
    .form-check,
    #reg .form-check,
    #login .form-check,
    .lr_user .form-check,
    .lr_modal .form-check {
        display: block !important;
        position: relative !important;
        padding-left: 0 !important;
        margin: 0 !important;
        text-align: left !important;
        float: none !important;
    }
    
    /* 强制所有复选框使用float left */
    .form-check-input,
    #reg .form-check-input,
    #login .form-check-input,
    .lr_user .form-check-input,
    .lr_modal .form-check-input {
        position: static !important;
        float: left !important;
        margin: 2px 8px 0 0 !important;
        display: block !important;
        clear: left !important;
        vertical-align: top !important;
    }
    
    /* 强制所有标签使用block布局 */
    .form-check-label,
    #reg .form-check-label,
    #login .form-check-label,
    .lr_user .form-check-label,
    .lr_modal .form-check-label {
        display: block !important;
        overflow: hidden !important;
        padding-left: 0 !important;
        margin: 0 !important;
        float: none !important;
    }
}

/* 移动端Safari专用修复 */
@media screen and (-webkit-min-device-pixel-ratio: 0) and (max-width: 768px) {
    .form-check,
    #reg .form-check,
    #login .form-check {
        display: block !important;
        position: relative !important;
        padding-left: 0 !important;
        margin: 0 !important;
        text-align: left !important;
        float: none !important;
        clear: both !important;
    }
    
    .form-check-input,
    #reg .form-check-input,
    #login .form-check-input {
        position: static !important;
        float: left !important;
        margin: 2px 8px 0 0 !important;
        display: block !important;
        clear: left !important;
        vertical-align: top !important;
    }
    
    .form-check-label,
    #reg .form-check-label,
    #login .form-check-label {
        display: block !important;
        overflow: hidden !important;
        padding-left: 0 !important;
        margin: 0 !important;
        clear: both !important;
        float: none !important;
    }
}

.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;}
.qli .q_upload{display: flex;justify-content: center;border-radius:5px;border: 2px dashed #e94560;cursor: pointer;}
.qli .q_upload:hover{border: 2px dashed #e94560;}
.qli .q_upload .up_file{cursor: pointer;}
.qli .q_upload .r{width: 100%;}
.qli .q_upload .r p em{height: auto;display: flex;margin: 20px 0;}
.qli .q_upload .r p em i{height: auto;width: auto;margin: 0 auto;padding: 5px 30px;font-style: normal;color: #FFF;font-weight: bold;background: #e94560;font-size: 22px;border: 1px solid #e94560;}
.qli .q_upload:hover .r p em i{border:1px solid #e94560;background: #e94560;color:#FFFFFF;}
.upload .name{font-size: 16px;font-weight: bold;padding-top: 2px;}
/* Upload 页窄屏不显示「请用电脑访问」占位（保留实际上传区） */
body.page-upload .qpage_m {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}
/* 手机端：底部 See Materials 以下营销区全部隐藏，仅保留站点 footer */
@media (max-width: 992px) {
  body.page-upload .upload .trust-assurance,
  body.page-upload .upload .trust-assurance--embedded {
    display: none !important;
  }
  /* 防止子元素撑出横向滚动，右侧出现白边 */
  body.page-upload,
  body.page-upload .upload,
  body.page-upload .upload .container,
  body.page-upload .upload .box {
    max-width: 100%;
    overflow-x: hidden;
  }
  /* 去掉 container 顶部多余 padding，内容紧贴顶栏下 */
  body.page-upload .upload .container {
    padding-top: 0 !important;
    padding-bottom: 0;
  }
  body.page-upload .upload .qli .q_upload .r,
  body.page-upload .upload .qli .q_upload .r .p {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
  }
}
/* 上传区：避开 fixed 顶栏 .had(60) + .ht(90+padding≈10)，原 60px 会导致单位切换被菜单遮挡 */
/* upload-box(2) > model-box(1)，且均低于 fixed .headers(1000) */
.upload .upload-box{margin-top:calc(116px + var(--site-top-banner-offset, 0px));margin-bottom:8px;width:100%;float:left;position:relative;z-index:2;}
.upload .upload-box .file-unit{display: flex;gap:10px;margin-bottom:4px;}
.upload .upload-box .file-unit .btn{border-radius: 0;width: 180px;}
.upload .upload-box .file-unit .btn-mm{border-top-left-radius: 5px;border-bottom-left-radius: 5px;}
.upload .upload-box .file-unit .btn-in{border-top-right-radius: 5px;border-bottom-right-radius: 5px;}
.upload-hero-row{
  float:left;width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:12px;align-items:stretch;margin-bottom:4px;
}
.upload-hero-row__drop{
  min-width:0;display:flex;flex-direction:column;min-height:0;
}
.upload-hero-row__drop .qli{
  float:none;width:100%;margin-bottom:0;height:100%;flex:1;
  display:flex;flex-direction:column;min-height:0;
}
.upload-hero-row__drop .qli .q_upload{
  float:none;flex:1;width:100%;min-height:100%;height:100%;
  display:flex;align-items:center;justify-content:center;padding:20px 16px;box-sizing:border-box;
}
.upload-hero-row__drop .qli .q_upload .r{width:100%;max-width:100%;}
.upload-trust-panel{
  float:none;width:auto;height:100%;margin:0;padding:12px 14px;
  background:#fff;border:1px solid rgba(26,26,46,.08);border-radius:12px;
  box-shadow:0 8px 24px rgba(26,26,46,.06);box-sizing:border-box;
  display:flex;flex-direction:column;min-height:0;
}
.upload-trust-panel--compact{align-self:stretch;}
.upload-trust-panel__title{
  margin:0 0 10px;font-size:14px;font-weight:700;color:var(--themeone,#1a1a2e);letter-spacing:-.01em;
}
.upload-trust-panel__grid{
  list-style:none;margin:0;padding:0;
  display:flex;flex-direction:column;gap:12px;
}
.upload-trust-panel__grid--2col{
  display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;
  flex:1;align-content:stretch;
}
.upload-trust-panel__cell{
  display:flex;gap:8px;align-items:flex-start;min-width:0;height:100%;
  background:#f8f9fb;border-radius:8px;padding:8px 9px;box-sizing:border-box;
}
.upload-trust-panel__cell-body{min-width:0;flex:1;}
.upload-trust-panel__item{
  display:flex;gap:10px;align-items:flex-start;min-width:0;
}
.upload-trust-panel__icon{
  flex-shrink:0;width:28px;height:28px;border-radius:7px;
  background:rgba(13,110,253,.10);color:#0d6efd;
  display:flex;align-items:center;justify-content:center;font-size:14px;
}
.upload-trust-panel__cell strong,
.upload-trust-panel__item strong{
  display:block;font-size:12px;font-weight:600;color:var(--themeone,#1a1a2e);line-height:1.3;margin-bottom:2px;
}
.upload-trust-panel__cell p,
.upload-trust-panel__item p{
  margin:0;font-size:11px;line-height:1.4;color:#5b6472;
}
.upload-trust-panel__foot{
  display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:auto;
  padding-top:8px;border-top:1px solid rgba(26,26,46,.06);
  font-size:11px;line-height:1.4;flex-shrink:0;
}
.upload-trust-panel__foot a{color:#0d6efd;font-weight:600;text-decoration:none;}
.upload-trust-panel__foot a:hover{text-decoration:underline;color:#0a58ca;}
.upload-trust-panel__foot span{color:#cbd5e1;}
.upload-trust-panel__item p a{color:#0d6efd;font-weight:600;text-decoration:none;}
.upload-trust-panel__item p a:hover{text-decoration:underline;color:#0a58ca;}
@media (max-width:992px){
  .upload-hero-row{grid-template-columns:1fr;align-items:start;}
  .upload-hero-row__drop .qli{height:auto;}
  .upload-hero-row__drop .qli .q_upload{min-height:0;height:auto;flex:none;padding:16px 12px;}
  /* 手机端隐藏「Good to know」信任面板 */
  .upload-trust-panel{display:none!important;}
}
@media (max-width:480px){
  .upload-trust-panel__grid--2col{grid-template-columns:1fr;}
}
.upload .qli .q_upload.is-dragover{background: rgba(233, 69, 96, 0.08);border-color: #e94560;box-shadow: inset 0 0 0 1px rgba(233, 69, 96, 0.25);}
.upload .qli .q_upload .upload-drag-hint{display: block;width: 100%;font-size: 13px;color: #777;font-weight: normal;margin-top: 8px;line-height: 1.4;}
.upload .qli .q_upload .upload-dropzone__tips-check{
  position:absolute;opacity:0;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip:rect(0,0,0,0);
}
.upload .qli .q_upload .upload-dropzone__tips-toggle{
  display:none;align-items:center;justify-content:center;gap:4px;width:auto;margin:4px auto 0;padding:2px 8px;
  font-size:12px;font-weight:500;color:#0d6efd;cursor:pointer;user-select:none;line-height:1.3;
  position:relative;z-index:500;pointer-events:auto;
}
.upload .qli .q_upload .upload-dropzone__tips-toggle .bi{font-size:13px;}
.upload .qli .q_upload .upload-dropzone__tips-body{
  display:block;width:100%;position:relative;z-index:500;pointer-events:auto;
}
.upload .model-box{margin-top:0;margin-bottom: 48px;padding-bottom: 12px;width: 100%;float: left;position:relative;z-index:1;scroll-margin-top:calc(116px + var(--site-top-banner-offset, 0px));}
.upload .model-box .model-box-head{scroll-margin-top:calc(116px + var(--site-top-banner-offset, 0px));}
/* 文件列表区与 footer 留白；float 子元素需 clearfix 撑开父级高度 */
.upload > .container > .box::after{content:'';display:block;clear:both;}
/* Total 行：默认文档流无底色；吸顶时由 .is-stuck 显示背景并紧贴导航栏底（top 由 JS 写入 --upload-nav-sticky-top） */
.upload .model-box .model-box-head-sticky-sentinel{
  height:0;margin:0;padding:0;border:0;overflow:hidden;pointer-events:none;visibility:hidden;
}
.upload .model-box .model-box-head{
  position:sticky;
  top:var(--upload-nav-sticky-top, calc(98px + var(--site-top-banner-offset, 0px)));
  z-index:999;
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  margin-bottom:10px;
  min-width:0;
  background:transparent;
  box-shadow:none;
  transition:background-color .15s ease,box-shadow .15s ease;
}
.upload .model-box .model-box-head.is-stuck{
  background:#f8f9fa;
  box-shadow:0 1px 0 rgba(0,0,0,.06);
  padding:6px 0 8px;
}
.upload .model-box .upload-file-stats{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:12px 20px;width:100%;min-width:0;}
body.upload-entry-model-space .upload .upload-file-stats__total:focus{
    outline:none;
}
.upload .model-box .upload-file-stats__left{display:flex;flex-wrap:nowrap;align-items:center;gap:12px 14px;min-width:0;flex-shrink:1;}
.upload .model-box .upload-file-stats__right{display:flex;flex-wrap:nowrap;align-items:center;gap:12px 16px;flex-shrink:0;margin-left:16px;}
.upload .model-box .upload-file-stats__materials{flex-shrink:0;margin-left:6px;font-weight:600;padding:10px 22px;font-size:16px;line-height:1.35;border-radius:8px;}
/* 顶部 See Materials 入口：PC / 手机均不显示，仅保留列表下方按钮 */
.upload .model-box .upload-file-stats__materials:not(.upload-file-stats__materials--footer){
  display:none!important;
}
.upload .qli .q_upload .r .p .js-upload-cta-upload-btn{
  font-size:28px;font-weight:700;padding:14px 52px;min-width:240px;line-height:1.2;border-radius:10px;
}
.upload .model-box .upload-materials-footer-cta{
  display:flex;justify-content:center;align-items:center;width:100%;margin:28px 0 8px;clear:both;
}
.upload .model-box .upload-materials-footer-cta.is-hidden{display:none!important;}
.upload .model-box .upload-file-stats__materials.is-hidden{display:none!important;}
.upload .model-box .upload-file-stats__materials.is-disabled,
.upload .model-box .upload-file-stats__materials.is-disabled:hover{
  background:#b0b0b0!important;border-color:#b0b0b0!important;color:#fff!important;
  pointer-events:none;cursor:not-allowed;box-shadow:none!important;transform:none!important;opacity:.9;
}
.upload .model-box .upload-file-stats__materials--footer{
  margin:0;padding:14px 36px;font-size:18px;line-height:1.3;border-radius:10px;min-width:260px;text-align:center;
}
body.page-upload .upload .model-box{display:block!important;}
.upload .model-box .upload-file-stats__materials-hint{
  display:inline-block;
  margin-left:10px;
  padding:5px 12px;
  font-size:13px;
  font-weight:500;
  color:#b42318;
  background:#fff4f4;
  border:1px solid #f5c2c7;
  border-radius:6px;
  line-height:1.35;
  max-width:min(320px,55vw);
  vertical-align:middle;
  align-self:center;
}
.upload .model-box .upload-file-stats__total,
.upload .model-box .upload-file-stats__item{font-size:14px;font-family:inherit;font-weight:400;color:#333;line-height:1.45;white-space:nowrap;flex-shrink:0;}
.upload .model-box .upload-file-stats__item strong{font-size:inherit;font-weight:400;color:inherit;}
.upload .model-box .upload-select-all-switch{position:relative;display:inline-flex;align-items:center;margin:0;cursor:pointer;flex-shrink:0;}
.upload .model-box .upload-select-all-switch__input{position:absolute;opacity:0;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.upload .model-box .upload-select-all-switch__track{display:block;position:relative;width:46px;height:26px;box-sizing:border-box;border-radius:999px;background:#fff;border:1px solid #d4d4d4;transition:background-color .2s ease,border-color .2s ease;}
.upload .model-box .upload-select-all-switch__track::after{content:'';position:absolute;left:4px;top:50%;width:18px;height:18px;margin-top:-9px;border-radius:50%;background:#9a9a9a;transition:left .2s ease,background-color .2s ease;}
.upload .model-box .upload-select-all-switch__input:checked + .upload-select-all-switch__track{border-color:#0d6efd;background:rgba(13,110,253,.12);}
.upload .model-box .upload-select-all-switch__input:checked + .upload-select-all-switch__track::after{left:calc(100% - 22px);background:#0d6efd;}
.upload .model-box .upload-select-all-switch__input:focus + .upload-select-all-switch__track{box-shadow:0 0 0 2px rgba(13,110,253,0.25);}
.upload .model-box .upload-select-all-switch__input:disabled + .upload-select-all-switch__track{opacity:0.45;}
.upload .model-box .upload-select-all-switch:has(.upload-select-all-switch__input:disabled){cursor:not-allowed;}
/* 上传队列占位：与正式 model-item 同 padding/背景，避免比刷新后卡片“偏高” */
.upload .model-item.model-item-uploading{
  position:relative;
  background:#e9e8e1;
  border-radius:5px;
  padding:15px;
  min-height:110px;
  overflow:hidden;
  flex:0 0 calc((100% - 90px) / 4);
  max-width:calc((100% - 90px) / 4);
  box-sizing:border-box;
  box-shadow:none!important;
}
.upload .model-item-uploading > .upload-queue-sheet{position:absolute;left:0;top:0;bottom:0;width:0;margin:0;border-radius:inherit;pointer-events:none;transition:width .12s ease-out;}
/* 与顶栏 site-top-notice 一致 #e94560 */
.upload .model-item-uploading > .upload-queue-sheet--upload{z-index:0;background:linear-gradient(90deg,rgba(233,69,96,.38),rgba(233,69,96,.22));}
.upload .model-item-uploading > .upload-queue-sheet--parse{z-index:1;background:linear-gradient(90deg,rgba(233,69,96,.32),rgba(233,69,96,.14));}
.upload .model-item-uploading.is-upload-done > .upload-queue-sheet--parse{
  background:linear-gradient(90deg,rgba(233,69,96,.42),rgba(22,33,62,.08));
}
/* 正式卡片解析中：与上传占位相同的背景进度条 */
.upload .model-box .model-list .model-item.upload-model-card.is-parse-pending{
  position:relative;
  overflow:hidden!important;
}
.upload .model-item.upload-model-card.is-parse-pending > .upload-model-parse-sheet,
.upload .model-item.upload-model-card.is-parse-pending > .upload-queue-sheet--parse{
  position:absolute;left:0;top:0;bottom:0;width:0;margin:0;border-radius:inherit;pointer-events:none;transition:width .12s ease-out;
  z-index:1;
  background:linear-gradient(90deg,rgba(233,69,96,.32),rgba(233,69,96,.14));
}
.upload .model-item.upload-model-card.is-parse-pending > .upload-model-card__header,
.upload .model-item.upload-model-card.is-parse-pending > .upload-model-card__body,
.upload .model-item.upload-model-card.is-parse-pending > .upload-model-card__footer{
  position:relative;
  z-index:2;
}
.upload .model-item-uploading .upload-queue-parse-activity{display:none!important;align-items:center;gap:6px;margin-top:0;min-height:0;}
/* 解析阶段仅保留 upload-queue-sheet 双层进度背景，不显示三点动画 */
.upload .model-item-uploading.is-upload-done .upload-queue-parse-activity{display:none!important;}
.upload .model-item-uploading .upload-queue-parse-activity span{
  width:6px;height:6px;border-radius:50%;
  background:linear-gradient(135deg,#16213e,#e94560);
  opacity:.45;
  animation:aihfabsUploadParseDot 1s ease-in-out infinite;
}
.upload .model-item-uploading .upload-queue-parse-activity span:nth-child(2){animation-delay:.18s;}
.upload .model-item-uploading .upload-queue-parse-activity span:nth-child(3){animation-delay:.36s;}
@keyframes aihfabsUploadParseDot{
  0%,80%,100%{transform:translateY(0);opacity:.35;}
  40%{transform:translateY(-5px);opacity:1;}
}
/* 解析中队列卡片：与成功态 upload-model-card 同紧凑骨架 */
.upload .model-list .model-item.model-item-uploading.upload-model-card{
  background:#fff!important;
  border:1px solid rgba(0,0,0,.12);
  border-radius:8px;
  padding:0!important;
  min-height:0!important;
  box-shadow:none!important;
  flex:0 0 calc((100% - 90px) / 4);
  max-width:calc((100% - 90px) / 4);
  min-width:0;
  box-sizing:border-box;
  overflow:hidden;
  position:relative;
  display:flex;
  flex-direction:column;
}
.upload .model-list .model-item.model-item-uploading.upload-model-card .upload-model-card__header,
.upload .model-list .model-item.model-item-uploading.upload-model-card .upload-model-card__body,
.upload .model-list .model-item.model-item-uploading.upload-model-card .upload-model-card__footer,
.upload .model-list .model-item.model-item-uploading.upload-model-card .upload-model-card__meta{
  position:relative;
  z-index:2;
}
.upload .model-list .model-item.model-item-uploading.upload-model-card button[disabled],
.upload .model-list .model-item.model-item-uploading.upload-model-card .btn[disabled]{opacity:.45;cursor:not-allowed;}
.upload .model-list .model-item.model-item-uploading.upload-model-card.is-upload-interactive button:not([disabled]),
.upload .model-list .model-item.model-item-uploading.upload-model-card.is-upload-interactive .btn:not([disabled]){opacity:1;cursor:pointer;}
.upload .model-list .model-item.model-item-uploading.upload-model-card.is-upload-interactive .form-check-input:not(:disabled){cursor:pointer;}
#aihfabs-upload-parse-flyout.aihfabs-upload-parse-flyout{
  position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(120%);
  z-index:1000200;max-width:min(520px,calc(100vw - 32px));pointer-events:none;
  opacity:0;transition:opacity .35s ease, transform .4s cubic-bezier(.22,1,.36,1);
}
#aihfabs-upload-parse-flyout.aihfabs-upload-parse-flyout.is-show{
  opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto;
}
#aihfabs-upload-parse-flyout.aihfabs-upload-parse-flyout.is-out{
  opacity:0;transform:translateX(-50%) translateY(18px);
}
#aihfabs-upload-parse-flyout.aihfabs-upload-parse-flyout.is-hide{
  visibility:hidden;opacity:0;transform:translateX(-50%) translateY(120%);
}
#aihfabs-upload-parse-flyout .aihfabs-upload-parse-flyout__inner{
  background:#1a1a2e;color:#fff;padding:14px 20px;border-radius:10px;
  font-size:14px;line-height:1.45;
  border:1px solid rgba(255,255,255,.12);
}
#aihfabs-upload-parse-fail-dock.aihfabs-upload-parse-fail-dock{
  display:none;
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:1000199;
  width:44px;
  height:44px;
  border-radius:50%;
  align-items:center;
  justify-content:center;
  padding:0;
  border:none;
  cursor:pointer;
  background:#1a1a2e;
  color:#ff6b6b;
  box-shadow:0 4px 16px rgba(0,0,0,.28);
  font-size:20px;
  line-height:1;
}
#aihfabs-upload-parse-fail-dock.aihfabs-upload-parse-fail-dock:focus{
  outline:2px solid rgba(233,69,96,.45);
  outline-offset:2px;
}

/* 缩略图预览灯箱：更大弹窗、大图、点击遮罩关闭（Bootstrap 默认 backdrop） */
#aihfabsThumbLightbox.aihfabs-thumb-preview-modal{
  z-index:1000210;
}
#aihfabsThumbLightbox .aihfabs-thumb-preview-dialog{
  max-width:min(1240px,96vw);
  width:min(1240px,96vw);
  margin:1rem auto;
}
#aihfabsThumbLightbox .modal-content{
  border-radius:12px;
  overflow:hidden;
  min-height:280px;
}
#aihfabsThumbLightbox .aihfabs-thumb-preview-close{
  box-sizing:border-box;
  flex-shrink:0;
  margin-left:auto;
  padding:0.35rem 0.55rem;
  font-size:2rem;
  font-weight:300;
  line-height:1;
  color:#212529;
  background:transparent;
  border:0;
  opacity:.6;
  cursor:pointer;
}
#aihfabsThumbLightbox .aihfabs-thumb-preview-close:hover,
#aihfabsThumbLightbox .aihfabs-thumb-preview-close:focus{
  opacity:1;
  outline:none;
}
#aihfabsThumbLightbox .aihfabs-thumb-preview-close:focus-visible{
  outline:2px solid rgba(233,69,96,.45);
  outline-offset:2px;
}
#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,.06);
}
#aihfabsThumbLightbox .js-aihfabs-thumb-preview-img{
  max-width:100%;
  max-height:min(68vh,640px);
  width:auto;
  height:auto;
  object-fit:contain;
}
.upload .model-item .image.aihfabs-thumb-preview-trigger:focus,
.materials .model-item .image.aihfabs-thumb-preview-trigger:focus{
  outline:2px solid rgba(233,69,96,.35);
  outline-offset:2px;
  border-radius:4px;
}

.upload .model-box .model-list .model-item .upload-parse-fail-icon--pending-reveal{
  opacity:0!important;
  transform:scale(.6);
  pointer-events:none!important;
  transition:opacity .4s ease, transform .4s ease;
}
.upload .model-box .model-list .model-item.parse-failed{
  position:relative;
  border-color:rgba(201,42,42,.35)!important;
  background:#fff8f8!important;
}
.upload .model-box .model-list .model-item.parse-failed > .upload-model-parse-sheet,
.upload .model-box .model-list .model-item.parse-failed > .upload-queue-sheet--parse{
  display:none!important;
}
.upload .model-box .model-list .model-item.parse-failed .upload-parse-fail-label{
  color:#c92a2a;
  font-weight:600;
  font-size:13px;
}
.upload .model-box .model-list .model-item.parse-failed .upload-parse-fail-detail{
  display:block;
  margin-top:2px;
  color:#c92a2a;
  font-size:12px;
  line-height:1.35;
  word-break:break-word;
}
.upload .model-box .model-list .model-item .upload-parse-fail-icon{
  flex-shrink:0;
  margin-left:4px;
  color:#c92a2a;
  font-size:18px;
  line-height:1;
  cursor:help;
  pointer-events:auto;
  position:relative;
  z-index:5;
}
.upload .model-box .model-list .model-item.upload-model-card .upload-model-card__header .upload-parse-fail-icon{
  position:static;
  right:auto;
  bottom:auto;
}
/* 解析中也允许点删除 */
.upload .model-box .model-list .model-item.upload-model-card .upload-model-card__del,
.upload .model-box .model-list .model-item.model-item-uploading .upload-model-card__del{
  position:relative;
  z-index:5;
  pointer-events:auto!important;
  cursor:pointer;
  opacity:1!important;
}
.upload .model-box .model-list .model-item .upload-parse-fail-icon:focus{outline:2px solid rgba(233,69,96,.45);outline-offset:2px;border-radius:2px;}
.upload #fileList:empty{
  display:none!important;min-height:0!important;height:0!important;opacity:0!important;
  position:static!important;pointer-events:none;
}
.upload .model-box .upload-file-stats .btn{flex-shrink:0;font-size:14px;}
.upload .model-box .upload-file-stats .js-upload-batch-delete:disabled{opacity:0.55;}
.upload .model-box .upload-file-stats .upload-batch-delete__short{display:none;}
@media (max-width: 767px) {
  /* 上传区：仅标题+Upload；点 Learn more 展开提示（需盖过隐藏 file input） */
  .upload-hero-row__drop .qli .q_upload{padding:10px 10px!important;}
  .upload .qli .q_upload .r .p{gap:8px;}
  .upload .qli .q_upload .upload-dropzone__title{font-size:15px!important;margin:0 0 2px!important;line-height:1.25;}
  .upload .qli .q_upload .upload-dropzone__tips-toggle{
    display:inline-flex;width:100%;position:relative;z-index:500;pointer-events:auto;
  }
  .upload .qli .q_upload .upload-dropzone__tips-body{
    display:none;width:100%;margin-top:4px;float:none;position:relative;z-index:500;pointer-events:auto;
  }
  .upload .qli .q_upload .upload-dropzone__tips-check:checked ~ .upload-dropzone__tips-body{display:block;}
  .upload .qli .q_upload .upload-dropzone__tips-check:checked + .upload-dropzone__tips-toggle{opacity:.75;}
  .upload .qli .q_upload .upload-dropzone__tips-body > span{float:none!important;display:block;width:100%;font-size:11px;line-height:1.4;color:#666;}
  .upload .qli .q_upload .upload-drag-hint{margin-top:4px;font-size:11px;}

  .upload .model-box .model-box-head{margin-bottom:6px;}
  /* 恢复 Total / Selected，与全选、Delete 同区展示 */
  .upload .model-box .upload-file-stats{
    position:static;display:flex;flex-direction:row;flex-wrap:wrap;
    align-items:center;justify-content:space-between;gap:6px 8px;width:100%;min-width:0;
  }
  .upload .model-box .upload-file-stats__left{
    display:flex;flex-wrap:wrap;align-items:center;width:auto;min-width:0;flex:1 1 auto;padding-right:0;margin:0;gap:8px;
  }
  .upload .model-box .upload-file-stats__total{
    display:inline!important;font-size:12px;white-space:nowrap;
  }
  .upload .model-box .upload-file-stats__right{
    display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;
    margin-left:auto;width:auto;min-width:0;gap:6px 8px;justify-content:flex-end;
  }
  .upload .model-box .upload-file-stats__item{
    display:inline!important;font-size:11px;white-space:nowrap;
  }
  .upload .model-box .upload-file-stats .js-upload-batch-delete{
    position:static!important;top:auto;right:auto;
    margin:0!important;flex:0 0 auto;
    padding:1px 7px!important;font-size:11px!important;line-height:1.2!important;
    border-radius:4px!important;white-space:nowrap;
    min-height:22px!important;height:22px!important;width:auto!important;
    max-width:none;display:inline-flex!important;align-items:center;justify-content:center;
  }
  .upload .model-box .upload-file-stats .upload-batch-delete__full{display:none;}
  .upload .model-box .upload-file-stats .upload-batch-delete__short{display:inline;}
  .upload .model-box .upload-file-stats__materials{margin-left:0;}
  .upload .qli .q_upload .r .p .js-upload-cta-upload-btn{
    font-size:20px;padding:10px 28px;min-width:160px;width:auto;max-width:240px;
  }
  .upload .model-box .upload-file-stats__materials--footer{
    width:100%;max-width:340px;padding:14px 24px;font-size:17px;
  }
  .upload .upload-box .file-unit{flex-wrap:wrap;margin-bottom:2px;min-width:0;}
  .upload .upload-box .file-unit .btn{width:auto!important;min-width:0!important;flex:1 1 0;max-width:none;font-size:12px;padding-left:8px;padding-right:8px;}
}
/* 3D 预览 #myModal / 缩略图灯箱：遮罩 1000090、弹窗 1000100（须高于 .modal-backdrop 裸规则，否则遮罩压在弹窗上） */
body.modal-open .modal-backdrop {
  z-index: 1000090 !important;
}
body.modal-open #myModal,
body.modal-open #aihfabsThumbLightbox {
  z-index: 1000100 !important;
}
body.modal-open .aihfabs-message-hub {
  z-index: 1000080 !important;
}
#myModal.modal,
#myModal.modal.fade,
.modal-preview#myModal.modal,
.modal-preview#myModal.modal.fade,
#aihfabsThumbLightbox.modal,
#aihfabsThumbLightbox.modal.fade {
  z-index: 1000100 !important;
}
#myModal .modal-dialog,
#aihfabsThumbLightbox .modal-dialog {
  position: relative;
  z-index: 1;
  pointer-events: auto;
}
#myModal .modal-content,
#aihfabsThumbLightbox .modal-content {
  pointer-events: auto;
}
#myModal .modal-content *,
#aihfabsThumbLightbox .modal-content * {
  pointer-events: auto;
}
#myModal.modal.show,
#aihfabsThumbLightbox.modal.show {
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
@media (max-width: 768px) {
  #myModal.modal.show {
    align-items: stretch !important;
    justify-content: stretch !important;
    padding: 0 !important;
  }
  #myModal .modal-dialog {
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
  }
  #myModal .modal-content {
    height: 100dvh !important;
    max-height: 100dvh !important;
    border-radius: 0;
  }
  #myModal .modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
    display: flex;
    flex-direction: column;
  }
  #myModal .preview-3d-iframe,
  #myModal iframe {
    flex: 1 1 auto;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
  }
}

/* 换模加载层：盖住旧模型，避免误以为仍是上一个零件 */
#myModal .modal-body {
  position: relative;
}
#myModal .aihfabs-preview-loading {
  position: absolute;
  inset: 0;
  z-index: 6;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.94);
  color: #374151;
  font-size: 14px;
  line-height: 1.4;
  pointer-events: none;
}
#myModal .aihfabs-preview-loading.is-hidden {
  display: none !important;
}
#myModal .aihfabs-preview-loading__inner {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
/* 上传页批量删除确认等：须高于遮罩 1000090 与 #myModal 1000100 */
#aihfabsDialogModal.modal,
#aihfabsDialogModal.modal.fade,
#uploadBatchDeleteConfirmModal.modal,
#uploadBatchDeleteConfirmModal.modal.fade,
#loginModal.modal,
#loginModal.modal.fade,
#saveProgressModal.modal,
#saveProgressModal.modal.fade,
#checkoutReminderModal.modal,
#checkoutReminderModal.modal.fade,
#giftModal.modal,
#giftModal.modal.fade {
  z-index: 1000100 !important;
}
#aihfabsDialogModal .modal-dialog,
#uploadBatchDeleteConfirmModal .modal-dialog,
#loginModal .modal-dialog,
#saveProgressModal .modal-dialog,
#checkoutReminderModal .modal-dialog,
#giftModal .modal-dialog {
  position: relative;
  z-index: 1;
  pointer-events: auto;
}
#loginModal .modal-content,
#saveProgressModal .modal-content,
#checkoutReminderModal .modal-content,
#giftModal .modal-content {
  pointer-events: auto;
}
#loginModal .modal-content *,
#saveProgressModal .modal-content *,
#checkoutReminderModal .modal-content *,
#giftModal .modal-content * {
  pointer-events: auto;
}
#aihfabsDialogModal .modal-content.aihfabs-dialog-modal__content,
#aihfabsDialogModal .aihfabs-dialog-modal__content,
#uploadBatchDeleteConfirmModal .modal-content.upload-batch-delete-modal__content,
#uploadBatchDeleteConfirmModal .upload-batch-delete-modal__content {
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06), 0 8px 24px rgba(0, 0, 0, 0.06) !important;
  background-color: #ffffff !important;
}
#aihfabsDialogModal .modal-header,
#aihfabsDialogModal .modal-body,
#aihfabsDialogModal .modal-footer,
#uploadBatchDeleteConfirmModal .modal-header,
#uploadBatchDeleteConfirmModal .modal-body,
#uploadBatchDeleteConfirmModal .modal-footer {
  background-color: #ffffff !important;
}
#aihfabsDialogModal .modal-title {
  font-size: 1.1rem;
  font-weight: 600;
}
#aihfabsDialogModal .js-aihfabs-dialog-ok.btn-danger {
  background-color: #d92d20;
  border-color: #d92d20;
}
#aihfabsDialogModal .js-aihfabs-dialog-ok.btn-danger:hover {
  background-color: #b42318;
  border-color: #b42318;
}
.upload .model-box .model-list{display: flex;flex-wrap: wrap;justify-content: left;gap: 30px 30px;margin-top: 15px;min-width:0;}
.upload .model-box .model-list .model-item{flex: 0 0 calc((100% - 90px) / 4);max-width:calc((100% - 90px) / 4);min-width:0;box-sizing: border-box;background: #e9e8e1;border-radius: 5px;padding: 15px;min-height: 110px;position: relative;box-shadow:none;overflow:hidden;}
.upload .model-box .model-list .model-item.upload-model-card{flex:0 0 calc((100% - 90px) / 4);max-width:calc((100% - 90px) / 4);}
.upload .model-box .model-list::after {content: '';flex: auto;}
.upload .model-box .model-list .model-item.failed .load-text,.upload .model-box .model-list .model-item.failed .buttons-right .bi{color: rgb(217, 45, 32);}
.upload .model-box .model-list .model-item .quantity-control {width: auto;margin: 0;}
.upload .model-box .model-list .model-item.upload-model-card .upload-model-card__footer .upload-model-card__qty{margin:0;}
.upload .model-box .model-list .model-item .quantity-control .btn {width: 22px;height: 22px;padding: 0;border-color: #ccc;display: flex;align-items: center;justify-content: center;}
.upload .model-box .model-list .model-item .quantity-control .form-control {width: 60px;height: 22px;text-align: center;border-color: #ccc;}
.upload .model-box .model-list .model-item .quantity-control .form-control:focus {border-color: #ccc;box-shadow: none;}
.upload .model-box .model-list .model-item .buttons{display: flex;justify-content: space-between;align-items: center;}
.upload .model-box .model-list .model-item .buttons .buttons-left{display: flex;/* align-items: center; */gap:15px;}
.upload .model-box .model-list .model-item .buttons .buttons-right{display: flex;align-items: center;gap: 8px;}
.upload .model-box .model-list .model-item .buttons .buttons-right .bi{cursor: pointer;font-size: 18px;}
.upload .model-box .model-list .model-item .buttons.loading{justify-content: end;}
.upload .model-box .model-list .model-item .buttons.loading .buttons-left{display: none;}
.upload .model-box .model-list .model-item:not(.upload-model-card) .model-content{display: flex;gap: 15px;margin-top: 10px;}
.upload .model-box .model-list .model-item.upload-model-card > .model-content{gap:10px;margin-top:6px;}
.upload .model-box .model-list .model-item .model-content .image{cursor: pointer;}
.upload .model-box .model-list .model-item .model-content .image img{border-radius: 5px;cursor: pointer;}
.upload .model-box .model-list .model-item.upload-model-card{
  background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:8px;min-height:0;
  padding:0;overflow:visible;display:flex;flex-direction:column;
}
/* 顶栏 grid：开关 | 文件名 | 失败图标 | 删除 —— 中间 minmax(0,1fr) 保证手机顶栏出字 */
.upload .model-box .model-list .model-item.upload-model-card .upload-model-card__header{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  align-items:center;column-gap:6px;min-width:0;
  padding:10px 10px 10px 12px;margin:0;border-bottom:1px solid #eceff3;
}
.upload .model-box .model-list .model-item.upload-model-card .upload-model-card__header .form-check.form-switch{
  grid-column:1;display:flex!important;align-items:center;width:auto!important;max-width:3rem;
  margin:0!important;padding:0!important;float:none!important;position:relative!important;overflow:visible!important;
}
.upload .model-box .model-list .model-item.upload-model-card .upload-model-card__header .form-check.form-switch .form-check-input{
  float:none!important;clear:none!important;display:block!important;position:relative!important;margin:0!important;
}
.upload .model-box .model-list .model-item.upload-model-card .upload-model-card__header-left{display:contents;}
.upload .model-box .model-list .model-item.upload-model-card .upload-model-card__file-title{
  grid-column:2;display:block!important;visibility:visible!important;opacity:1!important;
  min-width:0;max-width:100%;width:auto;
  font-size:13px;font-weight:600;line-height:1.3;color:#1a1a2e!important;text-align:left;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  position:relative;z-index:3;
}
.upload .model-box .model-list .model-item.upload-model-card .upload-model-card__fname{
  display:none!important;
}
.upload .model-box .model-list .model-item.upload-model-card .upload-model-card__header .name-input{
  display:none!important;position:absolute!important;width:1px!important;height:1px!important;
  margin:0!important;padding:0!important;border:0!important;overflow:hidden!important;
}
.upload .model-box .model-list .model-item.upload-model-card .upload-model-card__header .upload-parse-fail-icon{
  grid-column:3;
}
.upload .model-box .model-list .model-item.upload-model-card .upload-model-card__del{
  grid-column:4;justify-self:end;border:none;line-height:1;padding:0;margin:0;order:unset;
}
/* 中区：左缩略图 + 右文字（尺寸/体积/备注） */
.upload .model-box .model-list .model-item.upload-model-card .upload-model-card__body{
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  column-gap:12px;
  align-items:start;
  padding:12px;
  margin:0;
  border-bottom:1px solid #eceff3;
  min-width:0;
}
.upload .model-box .model-list .model-item.upload-model-card .upload-model-card__body > .upload-model-thumb{
  grid-column:1;grid-row:1;align-self:start;margin-top:0;
}
.upload .model-box .model-list .model-item.upload-model-card .upload-model-card__meta{
  grid-column:2;grid-row:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px;
}
.upload .model-box .model-list .model-item.upload-model-card .upload-model-card__qty{
  flex-shrink:0;width:auto;margin:0;
}
.upload .model-box .model-list .model-item.upload-model-card .upload-card-options-wrap{
  flex-shrink:0;margin-left:auto;
}
/* 底区：数量左 + All options 右 */
.upload .model-box .model-list .model-item.upload-model-card .upload-model-card__footer{
  display:flex!important;align-items:center;justify-content:space-between;gap:8px;
  padding:10px 12px;margin:0;min-width:0;
}
.upload .model-box .model-list .model-item.upload-model-card .upload-model-card__qty .btn{
  width:22px !important;max-width:22px !important;height:22px;padding:0;font-size:12px;line-height:1;
  display:flex;align-items:center;justify-content:center;flex:0 0 22px;
}
.upload .model-box .model-list .model-item.upload-model-card .upload-model-card__qty .form-control{
  width:38px;height:22px;min-height:22px;font-size:12px;padding:0 4px;text-align:center;
}
.upload .model-box .model-list .model-item.upload-model-card .upload-model-thumb{
  position:relative;
  flex-shrink:0;width:64px;height:64px;border-radius:8px;overflow:hidden;
  background:linear-gradient(160deg,#f7f8fa 0%,#eceff3 100%);
  border:1px solid #e3e7ec;display:flex;align-items:center;justify-content:center;
}
.upload .model-box .model-list .model-item.upload-model-card .upload-model-thumb::before{
  content:"";
  position:absolute;inset:0;margin:auto;width:26px;height:26px;pointer-events:none;
  background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b0bac7' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 4 7.5v9L12 21l8-4.5v-9L12 3z'/%3E%3Cpath d='M4 7.5 12 12l8-4.5M12 12v9'/%3E%3C/svg%3E");
  opacity:.85;
}
.upload .model-box .model-list .model-item.upload-model-card .upload-model-thumb:has(.upload-model-thumb__img[src]:not([src=""]):not([src*="loading.gif"]))::before,
.upload .model-box .model-list .model-item.upload-model-card .upload-model-thumb.is-thumb-loading::before{
  display:none;
}
.upload .model-box .model-list .model-item.upload-model-card .upload-model-thumb.is-thumb-loading,
.upload .model-box .model-list .model-item.upload-model-card .upload-model-thumb:has(.upload-model-thumb__img[src*="loading.gif"]){
  background:linear-gradient(160deg,#f7f8fa 0%,#eceff3 100%);
  border-color:#e3e7ec;
  padding:0;
}
.upload .model-box .model-list .model-item.upload-model-card .upload-model-thumb__img{
  position:relative;z-index:1;
  width:64px;height:64px;object-fit:cover;background:transparent;display:block;
}
.upload .model-box .model-list .model-item.upload-model-card .upload-model-thumb__img[src=""]{
  visibility:hidden;opacity:0;
}
.upload .model-box .model-list .model-item.upload-model-card .upload-model-thumb.is-thumb-loading .upload-model-thumb__img,
.upload .model-box .model-list .model-item.upload-model-card .upload-model-thumb__img[src*="loading.gif"]{
  visibility:visible;opacity:1;background:transparent;
  position:absolute;inset:0;
  width:100%!important;height:100%!important;
  min-width:0;min-height:0;max-width:none;max-height:none;
  object-fit:cover;border-radius:5px;display:block;
}
/* 尺寸行用普通文档流，避免 flex 把长宽高文本压成 0 宽 */
.upload .model-box .model-list .model-item.upload-model-card .upload-model-card__dims{
  display:block!important;min-width:0;max-width:100%;
  font-size:13px;margin:0;line-height:1.35;color:#1a1a2e!important;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.upload .model-box .model-list .model-item.upload-model-card .upload-model-card__dims-text{
  display:inline!important;visibility:visible!important;opacity:1!important;color:inherit!important;
  float:none!important;width:auto!important;max-width:none!important;flex:none!important;
  white-space:nowrap;
}
.upload .model-box .model-list .model-item.upload-model-card .upload-model-card__dims .js-upload-scale-link{
  display:inline!important;float:none!important;margin:0 0 0 4px;white-space:nowrap;font-size:13px;padding:0;line-height:1.35;
  vertical-align:baseline;
}
.upload .model-box .model-list .model-item.upload-model-card .upload-model-card__metrics{
  margin:0;line-height:1.35;font-size:12px;color:#5b6472;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;
}
.upload .model-box .model-list .model-item.upload-model-card .upload-model-card__attach{
  display:inline-flex;align-items:center;max-width:100%;margin:2px 0 0;padding:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;font-size:12px;
}
.upload .model-box .model-list .model-item.upload-model-card .upload-model-card__allopts{
  text-decoration:none;font-weight:600;font-size:13px;white-space:nowrap;position:relative;z-index:1;
  display:inline-flex;align-items:center;max-width:none;padding:0;margin:0;line-height:1.2;
}
.upload .model-box .model-list .model-item.upload-model-card .upload-model-card__textlink,
.upload .model-box .model-list .model-item.upload-model-card .upload-model-card__attach{font-weight:600;color:#0d6efd;text-decoration:none;vertical-align:baseline;}
.upload .model-box .model-list .model-item.upload-model-card .upload-model-card__textlink:hover,
.upload .model-box .model-list .model-item.upload-model-card .upload-model-card__attach:hover{text-decoration:underline;color:#0a58ca;}
.upload .model-box .model-list .model-item.upload-model-card{position:relative;z-index:1;}
.upload .model-box .model-list .model-item.upload-model-card.has-options-open{
  z-index:120;overflow:visible;
}
.upload .model-box .model-list .model-item.upload-model-card .upload-card-options-wrap{
  position:relative;z-index:1;
}
.upload .model-box .model-list .model-item.upload-model-card .upload-card-options-wrap.is-open{
  z-index:2;
}
.upload .model-box .model-list .model-item.upload-model-card .upload-card-options-menu{
  display:none;position:absolute;right:0;top:100%;bottom:auto;margin-top:4px;min-width:220px;padding:6px 0;
  background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.12);
  z-index:30;
}
.upload .model-box .model-list .model-item.upload-model-card .upload-card-options-menu.is-open{
  display:block;z-index:30;
}
.upload .model-box .model-list .model-item.upload-model-card .upload-card-options-menu .dropdown-item{width:100%;text-align:left;border:0;background:transparent;padding:8px 16px;font-size:14px;}
.upload .model-box .model-list .model-item.upload-model-card .upload-card-options-menu .dropdown-item:hover{background:#f3f4f6;}
.aihfabs-production-modal .aihfabs-production-modal__save{background-color:#004a8d;border-color:#004a8d;}
.aihfabs-production-modal .aihfabs-production-modal__save:hover{background-color:#003d75;border-color:#003d75;}
.aihfabs-scale-modal .modal-title{font-size:1.25rem;}
.upload .model-list .upload-model-list-skeleton{width:100%;flex:1 0 100%;}
.upload .model-box .model-list .model-item .model-content .name-box{min-width:0;flex:1;}
.upload .model-box .model-list .model-item .model-content .name-box .file-name{font-weight: bold;display:flex;align-items:center;justify-content:flex-start;gap:0;min-width:0;max-width:100%;text-align:left;}
.upload .model-box .model-list .model-item .model-content .name-box .file-name .name-display{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:0 1 auto;max-width:100%;}
.upload .model-box .model-list .model-item .model-content .name-box .file-name .file-ext,
.upload .model-box .model-list .model-item .model-content .name-box .file-name > span:last-of-type:not(.name-display){flex:0 0 auto;}
.upload .model-box .model-list .model-item .model-content .name-box .file-size{}
.upload .model-box .model-list .model-item .model-content .load-text{display: none;}
.upload .model-box .model-list .model-item .model-content.loading{justify-content: center;margin-top: 0;}
.upload .model-box .model-list .model-item .model-content.loading .image{display: none;}
.upload .model-box .model-list .model-item .model-content.loading .name-box .file-name{font-weight: normal;}
.upload .model-box .model-list .model-item .model-content.loading .name-box .file-size{display: none;}
.upload .model-box .model-list .model-item .model-content.loading .load-text{text-align: center;font-weight: bold;display: flex;justify-content: center;gap: 5px;align-items: center;}
@keyframes spin {
    from {transform: rotate(0deg);}
    to {transform: rotate(360deg);}
}
.upload .model-box .model-list .model-item .model-content.loading .load-text .bi.spin {animation: spin 1s linear infinite;}
.upload .model-box .model-list .model-item .model-content.loading .progress-bar {position: absolute;top: 0;left: 0;height: 100%;background-color: rgba(233, 69, 96, 0.28);width: 0;transition: width 0.3s ease;border-radius: 5px;}
.upload .configure-box{padding: 50px;text-align: center;width: 100%;float: left;}
.configure-box .btn{font-weight: bold;padding: 10px 30px;}
.configure-container {display: flex;width: 100%;float: left;}
.upload .configure-container{margin-top:50px;}
.questionnaire-box{width: 650px;background: #FFF;justify-content: center;display: grid;margin: 0 auto;border-radius: 5px;}
.upload .questionnaire-box{background: #e9e8e1;}

.questionnaire-box .questionnaire-title{font-weight: bold;font-size: 18px;}
.upload .questionnaire-box .questionnaire-title{margin-top: 50px;text-align: center;}
.questionnaire-box .question{/* width: 100%; */margin: 0 auto;background: #FFF;border-radius: 5px;padding: 30px 100px;}
.upload .questionnaire-box .question{background: #e9e8e1;}
.questionnaire-box .question .title{font-size: 20px;margin-bottom:15px;}
.questionnaire-box .answers{width: auto;/* margin: 0 auto; *//* background: #FFF; */border-radius: 5px;padding: 30px 0px;line-height: 30px;}
.questionnaire-box .answers .title{font-size: 20px;margin-bottom:15px;}
.questionnaire-box .answers .user-selection{font-weight: bold;padding-left:10px;color: #e94560;}
#questionnaireModal .questionnaire-box{margin:0;}
@media (max-width: 1400px) {
    .upload .model-box .model-list .model-item,
    .upload .model-box .model-list .model-item.upload-model-card,
    .upload .model-list .model-item.model-item-uploading.upload-model-card{
        flex:0 0 calc((100% - 60px) / 3);
        max-width:calc((100% - 60px) / 3);
    }
}
@media (max-width: 1100px) {
    .upload .model-box .model-list .model-item,
    .upload .model-box .model-list .model-item.upload-model-card,
    .upload .model-list .model-item.model-item-uploading.upload-model-card{
        flex:0 0 calc((100% - 30px) / 2);
        max-width:calc((100% - 30px) / 2);
    }
}
@media (max-width: 768px) {
    /* 手机端：上传区与文件块左右留白一致（对齐材料页） */
    .upload .upload-box,
    .upload .model-box{
      padding-left:10px;padding-right:10px;box-sizing:border-box;
    }
    .upload .upload-box .upload-hero-row,
    .upload .upload-box .qli,
    .upload .upload-box .qli .q_upload{
      width:100%;max-width:100%;box-sizing:border-box;
    }
    .upload .model-box .model-list{
      display:grid!important;grid-template-columns:minmax(0,1fr);
      gap:10px;margin-top:8px;width:100%;max-width:100%;box-sizing:border-box;
      padding-left:0;padding-right:0;
    }
    .upload .model-box .model-list .model-item,
    .upload .model-box .model-list .model-item.upload-model-card,
    .upload .model-list .model-item.model-item-uploading.upload-model-card{
      flex:none!important;max-width:none!important;width:100%!important;min-width:0;
    }
    .upload .model-box .model-list .model-item.upload-model-card{
      border-radius:10px;border-color:rgba(26,26,46,.10);
      box-shadow:0 1px 6px rgba(26,26,46,.05);overflow:visible;box-sizing:border-box;
    }
    .upload .model-box .model-list .model-item.upload-model-card .upload-model-card__header{
      display:grid!important;grid-template-columns:auto minmax(0,1fr) auto auto;
      padding:10px 10px 10px 12px;column-gap:6px;
    }
    .upload .model-box .model-list .model-item.upload-model-card .upload-model-card__header .form-check.form-switch{
      grid-column:1;display:flex!important;width:auto!important;max-width:3rem;
    }
    .upload .model-box .model-list .model-item.upload-model-card .upload-model-card__header .form-check.form-switch .form-check-input{
      float:none!important;clear:none!important;margin:0!important;
    }
    .upload .model-box .model-list .model-item.upload-model-card .upload-model-card__file-title{
      grid-column:2;display:block!important;visibility:visible!important;opacity:1!important;
      font-size:13px!important;font-weight:600;line-height:1.3;color:#1a1a2e!important;
      min-width:0!important;max-width:100%!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
    }
    .upload .model-box .model-list .model-item.upload-model-card .upload-model-card__fname{
      display:none!important;
    }
    .upload .model-box .model-list .model-item.upload-model-card .upload-model-card__del{
      grid-column:4;justify-self:end;margin:0!important;order:unset;
    }
    .upload .model-box .model-list .model-item.upload-model-card .upload-model-card__body{
      grid-template-columns:64px minmax(0,1fr);column-gap:12px;padding:12px;
    }
    .upload .model-box .model-list .model-item.upload-model-card .upload-model-card__meta{gap:4px;min-width:0;}
    .upload .model-box .model-list .model-item.upload-model-card .upload-model-card__dims{
      display:block!important;font-size:13px;color:#1a1a2e!important;
      overflow:hidden!important;text-overflow:ellipsis;white-space:nowrap!important;
    }
    .upload .model-box .model-list .model-item.upload-model-card .upload-model-card__dims-text{
      display:inline!important;visibility:visible!important;opacity:1!important;color:inherit!important;
      float:none!important;width:auto!important;flex:none!important;font-size:13px;
    }
    .upload .model-box .model-list .model-item.upload-model-card .upload-model-card__dims .js-upload-scale-link{
      display:inline!important;visibility:visible!important;float:none!important;
      font-size:13px;opacity:1!important;margin-left:4px;
    }
    .upload .model-box .model-list .model-item.upload-model-card .upload-model-card__metrics{font-size:12px;}
    .upload .model-box .model-list .model-item.upload-model-card .upload-model-card__attach{font-size:13px;margin-top:2px;}
    .upload .model-box .model-list .model-item.upload-model-card .upload-model-card__footer{padding:10px 12px;}
    .upload .model-box .model-list .model-item.upload-model-card .upload-model-card__allopts{font-size:13px;}
    .upload .model-box .model-list .model-item.upload-model-card .upload-model-thumb,
    .upload .model-box .model-list .model-item.upload-model-card .upload-model-thumb__img{
      width:64px;height:64px;border-radius:8px;
    }
    .upload .model-box .model-list .model-item.upload-model-card .upload-model-card__qty .btn{
      width:22px;height:22px;font-size:12px;
    }
    .upload .model-box .model-list .model-item.upload-model-card .upload-model-card__qty .form-control{
      width:40px;height:22px;min-height:22px;font-size:13px;padding:0 4px;
    }
    .upload .questionnaire-box .question{padding: 15px;}
}
@media (max-width: 992px) {
            .materials{margin-top:100px;}
    .materials .container{max-width: 100%;padding-right: 10px;padding-left: 10px;}
    .materials .container .box{flex-direction: column;align-items: stretch;}
    .materials .left-box{width: 100%;margin-right: 0;flex:0 0 auto;order:1;}
    .materials .right-box{width:100%;min-width:0;flex:1 1 auto;order:2;padding:12px 10px 24px !important;}
    .materials .left-box .sidebar{position: relative;width: 100%;max-height:none;overflow:visible;}
    .materials .left-box .sidebar .sidebar-main .title{width: 100%;}
    .materials .left-box .sidebar .sidebar-bottom{width: 100%;position: relative;}

    /* —— compare-materials 手机：步骤横条 + 材料优先 —— */
    .materials:not(.compare):not(.add-ons){
      margin-top:calc(64px + var(--site-top-banner-offset, 0px)) !important;
      min-height:0 !important;
      padding-top:0 !important;
      clear:both;
      overflow:visible !important;
      float:none !important;
      position:relative;
      z-index:1;
    }
    .materials:not(.compare):not(.add-ons) > .container{
      padding-top:0 !important;
      padding-bottom:12px !important;
      margin-top:0 !important;
      overflow:visible !important;
    }
    .materials:not(.compare):not(.add-ons) .container .box{
      display:flex !important;
      flex-direction:column !important;
      align-items:stretch !important;
      gap:0;
      overflow:visible !important;
    }
    .materials:not(.compare):not(.add-ons) .left-box{
      order:1 !important;
      position:relative !important;
      z-index:2 !important;
      height:auto !important;
      float:none !important;
      overflow:visible !important;
    }
    .materials:not(.compare):not(.add-ons) .right-box{
      order:2 !important;
      position:relative !important;
      z-index:1 !important;
      float:none !important;
      clear:both !important;
      overflow:visible !important;
    }
    .materials:not(.compare):not(.add-ons) .left-box .sidebar{
      position:relative !important;
      top:auto !important;
      z-index:auto !important;
      height:auto !important;
      max-height:none !important;
      overflow:visible !important;
      float:none !important;
    }
    .materials:not(.compare):not(.add-ons) .left-box .sidebar .sidebar-top{
      padding:8px 14px 10px;background:#fff;border-bottom:1px solid #e8e8e8;
      position:relative;z-index:2;box-sizing:border-box;
    }
    .materials:not(.compare):not(.add-ons) .left-box .sidebar .sidebar-top > .h5,
    .materials:not(.compare):not(.add-ons) .left-box .sidebar .sidebar-top > h1{
      display:none !important;height:0 !important;margin:0 !important;padding:0 !important;overflow:hidden !important;
    }
    .materials:not(.compare):not(.add-ons) .left-box .sidebar .sidebar-top .process{
      display:flex;align-items:stretch;gap:0;margin:0;border:1px solid #ddd;border-radius:8px;overflow:hidden;background:#f3f3f3;
    }
    .materials:not(.compare):not(.add-ons) .left-box .sidebar .sidebar-top .step{
      flex:1 1 0;display:flex;align-items:center;justify-content:center;gap:4px;
      height:auto;min-height:40px;padding:8px 6px;grid-template-columns:none;font-size:12px;font-weight:600;color:#666;background:transparent;border-radius:0;
    }
    .materials:not(.compare):not(.add-ons) .left-box .sidebar .sidebar-top .step::before,
    .materials:not(.compare):not(.add-ons) .left-box .sidebar .sidebar-top .step::after{display:none !important;}
    .materials:not(.compare):not(.add-ons) .left-box .sidebar .sidebar-top .step .step-icon{display:none;}
    .materials:not(.compare):not(.add-ons) .left-box .sidebar .sidebar-top .step-active{
      background:#fff;color:#1a1a2e;box-shadow:inset 0 -2px 0 #e94560;
    }
    .materials:not(.compare):not(.add-ons) .left-box .sidebar .sidebar-top .step-name{overflow:visible;text-overflow:clip;white-space:nowrap;}
    .materials:not(.compare):not(.add-ons) .left-box .sidebar .sidebar-main{
      display:none;padding:10px 8px 16px;background:#fff;border-bottom:1px solid #e8e8e8;
      max-height:min(70vh,560px);overflow:auto;-webkit-overflow-scrolling:touch;
    }
    .materials:not(.compare):not(.add-ons).is-models-open .left-box .sidebar .sidebar-main{display:flex;}
    .materials:not(.compare):not(.add-ons) .left-box .sidebar .sidebar-main .model-list{max-height:none;overflow:visible;}
    .materials:not(.compare):not(.add-ons) .left-box .sidebar .sidebar-main .sidebar-buttons{
      display:flex;gap:8px;flex-wrap:wrap;
    }
    .materials:not(.compare):not(.add-ons) .left-box .sidebar .sidebar-main .sidebar-buttons .btn{width:auto;flex:1 1 calc(50% - 4px);min-width:0;font-size:13px;}
    .materials:not(.compare):not(.add-ons) .left-box .sidebar .btn{width:auto;}

    .materials:not(.compare):not(.add-ons) .right-box{padding:10px 14px 24px !important;box-sizing:border-box;}
    .materials:not(.compare):not(.add-ons) .material-header{
      padding:10px 2px 12px !important;margin:0;overflow:visible !important;
      position:relative;z-index:1;background:#fff;
      box-sizing:border-box;
    }
    .materials:not(.compare):not(.add-ons) .material-main{
      padding-left:2px;padding-right:2px;box-sizing:border-box;
    }
    .materials:not(.compare):not(.add-ons) .material-header .material-header__title-row{
      display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-bottom:10px;
      overflow:visible !important;height:auto !important;max-height:none !important;
    }
    .materials:not(.compare):not(.add-ons) .material-header .material-header__title-text{
      display:block;width:100%;min-width:0;font-size:1.05rem;line-height:1.4;color:#1a1a2e;
      overflow:visible !important;overflow-wrap:anywhere;word-break:break-word;
      white-space:normal;
    }
    .materials:not(.compare):not(.add-ons) .material-header .material-header__actions{
      display:flex !important;align-items:center;justify-content:space-between;gap:10px;width:100%;
      margin:0;flex-wrap:nowrap;
    }
    .materials:not(.compare):not(.add-ons) .material-header .material-header__see-models{
      display:inline-flex !important;align-items:center;margin:0;padding:0;border:0;background:none;
      color:#0d6efd;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap;
    }
    .materials:not(.compare):not(.add-ons) .material-header .material-header__back-quote{
      display:inline-flex !important;align-items:center;gap:2px;margin:0;margin-left:auto;
      font-size:13px;font-weight:600;color:#e94560;text-decoration:none;white-space:nowrap;
    }
    .materials:not(.compare):not(.add-ons) .material-header .material-mobile-toolbar{
      display:flex !important;flex-direction:column;align-items:stretch;gap:10px;margin-bottom:10px;
    }
    /* 覆盖 common.css 手机端 .btn{width:100%}，保证输入框占主宽、按钮紧凑 */
    .materials:not(.compare):not(.add-ons) .material-header .material-mobile-search-wrap{
      display:flex !important;flex-direction:row !important;align-items:stretch;gap:8px;width:100%;
      padding:0;border:0;background:transparent;box-sizing:border-box;
    }
    .materials:not(.compare):not(.add-ons) .material-header .material-mobile-search-wrap .js-material-search-input,
    .materials:not(.compare):not(.add-ons) .material-header .material-mobile-search-wrap .form-control{
      flex:1 1 auto !important;min-width:0 !important;width:auto !important;max-width:none !important;
      height:40px;font-size:14px;padding:8px 12px;
      border:1px solid #d8d8d8;border-radius:8px;background:#fff;box-shadow:none;
    }
    .materials:not(.compare):not(.add-ons) .material-header .material-mobile-search-wrap .material-search-btn.btn,
    .materials:not(.compare):not(.add-ons) .material-header .material-mobile-search-wrap .material-search-btn{
      flex:0 0 auto !important;width:auto !important;max-width:none !important;
      display:inline-flex !important;align-items:center;justify-content:center;gap:4px;
      height:40px;min-width:0;padding:0 12px !important;border-radius:8px !important;
      font-size:13px;font-weight:600;line-height:1;white-space:nowrap;
      box-shadow:none !important;transform:none !important;
    }
    .materials:not(.compare):not(.add-ons) .material-header .material-mobile-search-wrap .material-search-btn .bi{
      font-size:15px;line-height:1;
    }
    @media (max-width: 380px) {
      .materials:not(.compare):not(.add-ons) .material-header .material-mobile-search-wrap .material-search-btn.btn,
      .materials:not(.compare):not(.add-ons) .material-header .material-mobile-search-wrap .material-search-btn{
        width:40px !important;padding:0 !important;
      }
      .materials:not(.compare):not(.add-ons) .material-header .material-mobile-search-wrap .material-search-btn .material-search-btn__label{
        display:none;
      }
    }
    .materials:not(.compare):not(.add-ons) .material-header .material-mobile-toolbar__row{
      display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
    }
    .materials:not(.compare):not(.add-ons) .material-header .material-mobile-toolbar__filters{
      display:inline-flex;align-items:center;gap:8px;padding:0;border:0;background:none;
      color:#0d6efd;font-size:14px;font-weight:600;cursor:pointer;
    }
    .materials:not(.compare):not(.add-ons) .material-header .material-mobile-toolbar__filters .bi{font-size:16px;}
    .materials:not(.compare):not(.add-ons) .material-header .material-mobile-toolbar__sort{
      display:flex;align-items:center;gap:8px;color:#555;
    }
    .materials:not(.compare):not(.add-ons) .material-header .material-mobile-toolbar__sort .bi{font-size:16px;color:#666;}
    .materials:not(.compare):not(.add-ons) .material-header .material-mobile-toolbar__sort .form-select{
      border:0;padding:0 1.5rem 0 0;font-size:14px;font-weight:600;color:#333;background-position:right 0.1rem center;box-shadow:none;min-width:0;width:auto;max-width:100%;
    }
    .materials:not(.compare):not(.add-ons) .material-header .select-box{
      display:none;flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:8px;overflow:visible;padding:10px;margin-bottom:8px;
      border:1px solid #e0e0e0;border-radius:8px;background:#fafafa;
    }
    .materials:not(.compare):not(.add-ons).is-filters-open .material-header .select-box{display:flex;}
    .materials:not(.compare):not(.add-ons) .material-header .select-material-search-wrap--desktop{display:none !important;}
    .materials:not(.compare):not(.add-ons) .material-header .select-box .dropdown,
    .materials:not(.compare):not(.add-ons) .material-header .select-box .dropdown > .btn{
      width:100%;font-size:13px;padding:8px 12px;white-space:nowrap;
    }
    .materials:not(.compare):not(.add-ons) .material-header .select-material-hierarchy{
      display:flex;flex-direction:column;width:100%;gap:8px;
    }
    .materials:not(.compare):not(.add-ons) .material-header .select-material-hierarchy .form-select{width:100%;max-width:none;}
    .materials:not(.compare):not(.add-ons) .material-header .action-bar{margin-top:8px;}

    .materials:not(.compare):not(.add-ons) .material-main .recommend{display:none;}
    .materials:not(.compare):not(.add-ons) .material-main .material-lists .item-group{margin-bottom:12px;border-radius:8px;overflow:visible;}
    .materials:not(.compare):not(.add-ons) .material-main .material-lists .item-group .group-name{
      line-height:1.3;padding:12px 14px;font-size:16px;
    }
    /* 手机材料卡：缩略图+标题 → 完整描述 → 星级评分 → 价格/操作 */
    .materials:not(.compare):not(.add-ons) .material-main .material-lists .item-group .item{
      flex-direction:column;align-items:stretch;gap:12px;padding:14px 12px;border-bottom:1px solid #e8e8e8;
      overflow:visible;min-width:0;
    }
    .materials:not(.compare):not(.add-ons) .material-main .material-lists .item-group .item .info{
      width:100%;display:grid;grid-template-columns:80px minmax(0,1fr);
      column-gap:12px;row-gap:8px;align-items:start;min-width:0;
    }
    .materials:not(.compare):not(.add-ons) .material-main .material-lists .item-group .item .info .image{
      grid-column:1;grid-row:1 / span 2;width:80px;max-width:80px;justify-self:start;align-self:start;
    }
    .materials:not(.compare):not(.add-ons) .material-main .material-lists .item-group .item .info .image img{
      width:80px;height:80px;max-width:80px;object-fit:cover;border-radius:8px;display:block;
    }
    /* content 子项参与 info 网格：标题在右，描述通栏 */
    .materials:not(.compare):not(.add-ons) .material-main .material-lists .item-group .item .info .content{
      display:contents;
    }
    .materials:not(.compare):not(.add-ons) .material-main .material-lists .item-group .item .info .content .tech-tag{
      grid-column:2;grid-row:1;justify-self:start;align-self:start;
      display:inline-flex;align-items:center;padding:1px 8px;border-radius:999px;background:#ececec;
      color:#222;font-size:11px;font-weight:600;line-height:1.35;
    }
    .materials:not(.compare):not(.add-ons) .material-main .material-lists .item-group .item .info .content .name{
      grid-column:2;grid-row:2;justify-self:start;align-self:start;
      font-size:1.05rem;line-height:1.35;font-weight:700;color:#1a1a2e;
      overflow-wrap:anywhere;word-break:break-word;max-width:100%;
    }
    .materials:not(.compare):not(.add-ons) .material-main .material-lists .item-group .item .info .content .introduce{
      grid-column:1 / -1;grid-row:3;margin:2px 0 0;
      display:block!important;font-size:13px;line-height:1.55;color:#444;max-width:100%;
      overflow:visible!important;overflow-wrap:anywhere;word-break:break-word;white-space:normal;
      -webkit-line-clamp:unset;-webkit-box-orient:initial;
    }
    .materials:not(.compare):not(.add-ons) .material-main .material-lists .item-group .item .properties{
      display:grid!important;gap:8px;width:100%;min-width:0;
      padding:10px 12px;border:1px solid #eceff3;border-radius:8px;background:#fafbfc;box-sizing:border-box;
    }
    .materials:not(.compare):not(.add-ons) .material-main .material-lists .item-group .item .properties .star-box,
    .materials:not(.compare):not(.add-ons) .material-main .material-lists .item-group .item .properties .strong,
    .materials:not(.compare):not(.add-ons) .material-main .material-lists .item-group .item .properties .functional,
    .materials:not(.compare):not(.add-ons) .material-main .material-lists .item-group .item .properties .visual{
      display:flex;align-items:center;justify-content:space-between;gap:12px;line-height:1.4;min-width:0;
    }
    .materials:not(.compare):not(.add-ons) .material-main .material-lists .item-group .item .properties .name{
      width:auto;flex:1 1 auto;min-width:0;max-width:48%;padding:0;
      font-size:13px;font-weight:600;color:#1a1a2e;overflow-wrap:anywhere;
    }
    .materials:not(.compare):not(.add-ons) .material-main .material-lists .item-group .item .properties .star-rating{
      flex:0 0 auto;font-size:16px;letter-spacing:0.04em;
    }
    .materials:not(.compare):not(.add-ons) .material-main .material-lists .item-group .item .action{
      width:100%;display:flex;flex-direction:column;align-items:stretch;gap:8px;text-align:left;min-width:0;
    }
    .materials:not(.compare):not(.add-ons) .material-main .material-lists .item-group .item .action .price{
      margin:0;font-size:1.25rem;font-weight:700;color:#111;line-height:1.2;
      overflow-wrap:anywhere;
    }
    .materials:not(.compare):not(.add-ons) .material-main .material-lists .item-group .item .action .price .price-label{
      display:block;font-size:12px;font-weight:500;color:#666;margin-bottom:2px;
    }
    .materials:not(.compare):not(.add-ons) .material-main .material-lists .item-group .item .action .material-fill-rate{
      width:100%;margin:0;display:flex;align-items:center;justify-content:space-between;gap:10px;
      padding:8px 10px;border:1px solid #e0e0e0;border-radius:8px;background:#fafafa;box-sizing:border-box;
    }
    .materials:not(.compare):not(.add-ons) .material-main .material-lists .item-group .item .action .material-fill-rate__label{
      margin:0;font-size:13px;font-weight:600;color:#333;white-space:nowrap;
    }
    .materials:not(.compare):not(.add-ons) .material-main .material-lists .item-group .item .action .material-fill-rate__select{
      width:auto;min-width:88px;max-width:40%;flex:0 0 auto;font-size:13px;padding:4px 28px 4px 8px;
    }
    .materials:not(.compare):not(.add-ons) .material-main .material-lists .item-group .item .action .btn-select{
      width:100%;padding:11px 14px;font-size:15px;font-weight:600;border-radius:8px;
      white-space:nowrap;line-height:1.2;
    }
    /* 描述与评分已常显，隐藏 Material details */
    .materials:not(.compare):not(.add-ons) .material-main .material-lists .item-group .item .action .btn-material-details{
      display:none!important;
    }

    /* 手机顶栏约 52–56px，再收紧顶部空档 */
    .upload .upload-box{margin-top:calc(56px + var(--site-top-banner-offset, 0px));}
    body.page-upload .upload .upload-box{margin-top:calc(52px + var(--site-top-banner-offset, 0px));}
    .upload .model-box,
    .upload .model-box .model-box-head{
        scroll-margin-top:calc(56px + var(--site-top-banner-offset, 0px));
    }
    body.page-upload .upload .model-box,
    body.page-upload .upload .model-box .model-box-head{
        scroll-margin-top:calc(52px + var(--site-top-banner-offset, 0px));
    }
    .upload .model-box .model-box-head{
        top:var(--upload-nav-sticky-top, calc(60px + var(--site-top-banner-offset, 0px)));
    }
    body.page-upload .upload .model-box .model-box-head{
        top:var(--upload-nav-sticky-top, calc(52px + var(--site-top-banner-offset, 0px)));
    }
    .upload .configure-box{padding: 20px;}
    .questionnaire-box{width: 100%;}
    .questionnaire-box .question{padding: 20px;}
}

/* Save Progress Modal 响应式 */
@media (max-width: 768px) {
    #saveProgressModal .modal-dialog {
        width: 95vw !important;
        max-width: 380px !important;
        position: fixed !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
    }
    
    #saveProgressModal .modal-body {
        padding: 15px 20px;
    }
}

@media (max-width: 480px) {
    #saveProgressModal .modal-dialog {
        width: 95vw !important;
        max-width: 350px !important;
    }
    
    #saveProgressModal .modal-body {
        padding: 12px 15px;
    }
}

/* 确保在所有浏览器中正确显示 */
@supports (-webkit-appearance: none) {
    /* Safari 专用样式 */
    #saveProgressModal .modal-content {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }
}

@supports (-moz-appearance: none) {
    /* Firefox 专用样式 */
    #saveProgressModal .modal-content {
        -moz-transform: translateZ(0);
        transform: translateZ(0);
    }
}



/* Save Progress Modal Styles */
#saveProgressModal {
    z-index: 999999 !important;
}

#saveProgressModal .modal-dialog {
    position: fixed !important;
    margin: 0 !important;
    width: 420px !important;
    max-width: 90vw;
    z-index: 999999 !important;
    box-sizing: border-box;
    transform: none !important;
}

#saveProgressModal .modal-content {
    border-radius: 8px !important;
    -webkit-border-radius: 8px !important;
    -moz-border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    background: #fff;
    width: 100%;
    min-height: auto;
    max-height: none;
    height: auto !important;
    box-sizing: border-box;
    position: relative;
    z-index: 999999;
    overflow: visible;
    display: flex;
    flex-direction: column;
}

/* 确保弹窗背景层级正确（低于弹窗本体 1000100） */
body.modal-open .modal-backdrop {
    z-index: 1000090 !important;
}

#saveProgressModal .modal-header {
    border: none;
    padding: 10px 20px 5px 20px;
    background: transparent;
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 40px;
    width: 100%;
    box-sizing: border-box;
    position: relative;
    flex-shrink: 0;
}

#saveProgressModal .close {
    font-size: 24px;
    color: #666;
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    line-height: 1;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
}

#saveProgressModal .close:hover {
    color: #333;
}

#saveProgressModal .modal-body {
    padding: 15px 25px 20px 25px;
    background: #fff;
    overflow: visible;
    box-sizing: border-box;
    width: 100%;
    min-height: auto;
    max-height: none;
    flex: 1;
}
#saveProgressModal .aihfabs-howdid-field {
    position: relative;
    z-index: 1;
    overflow: visible;
    clear: both;
    display: flow-root;
}
#saveProgressModal .questionnaire-box .li.li-code {
    position: relative;
    z-index: 5;
}
#saveProgressModal .questionnaire-box .li.li-code .btn-get-code {
    position: relative;
    z-index: 6;
    pointer-events: auto;
}
#saveProgressModal .aihfabs-howdid-field .title,
#saveProgressModal .aihfabs-howdid-field .aihfabs-howdid-toggle {
    float: none !important;
    width: 100%;
}
#saveProgressModal .aihfabs-howdid-toggle {
    width: 100%;
    min-height: 40px;
    padding: 8px 36px 8px 10px;
    background-color: #fff;
    color: #1a1a2e;
    border: 1px solid #ddd;
    border-radius: 4px;
    text-align: left;
    cursor: pointer;
    position: relative;
    display: block;
    box-sizing: border-box;
    float: none !important;
}
#saveProgressModal .aihfabs-howdid-caret {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid #666;
    pointer-events: none;
}
#saveProgressModal .aihfabs-howdid-menu {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    margin: 4px 0 0;
    padding: 4px 0;
    list-style: none;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    max-height: 220px;
    overflow-y: auto;
    z-index: 100;
}
#saveProgressModal .aihfabs-howdid-field.is-open {
    z-index: 50;
}
#saveProgressModal .aihfabs-howdid-menu[hidden] {
    display: none !important;
    pointer-events: none !important;
}
#saveProgressModal .aihfabs-howdid-menu li {
    padding: 10px 12px;
    cursor: pointer;
    color: #1a1a2e;
    font-size: 14px;
}
#saveProgressModal .aihfabs-howdid-menu li:hover,
#saveProgressModal .aihfabs-howdid-menu li.is-selected {
    background: #f5f5f5;
}

#saveProgressModal .questionnaire-box {
    /* margin: 0; */
    width: 100%;
    box-sizing: border-box;
    max-width: 100%;
    overflow: visible;
    max-height: 100%;
    padding: 0 2px;
}

#saveProgressModal .questionnaire-box form {
    text-align: left;
    width: 100% !important;
    box-sizing: border-box;
    overflow: visible;
    padding: 0;
}

#saveProgressModal .questionnaire-box .li {
    margin: 15px 0 0 0 !important;
    width: 100% !important;
    box-sizing: border-box;
}

#saveProgressModal .questionnaire-box .li + .li {
    margin-top: 25px !important;
}

/* 特别针对验证码输入框 */
#saveProgressModal .questionnaire-box .li:nth-child(2) {
    margin-top: 25px !important;
    padding-top: 10px !important;
}

#saveProgressModal .questionnaire-box .li:first-child {
    margin-top: 0 !important;
}

#saveProgressModal .questionnaire-box .li.li-code {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 2% !important;
    width: 100% !important;
    margin-top: 25px !important;
    padding-top: 15px !important;
    border-top: 1px solid transparent !important;
}

#saveProgressModal .questionnaire-box .li.li-code .input {
    width: 50% !important;
    flex-shrink: 0 !important;
    max-width: 50% !important;
}

#saveProgressModal .questionnaire-box .li.li-code .btn-get-code {
    width: 48% !important;
    flex-shrink: 0 !important;
    display: block !important;
    background: #e94560 !important;
    color: white !important;
    border: 1px solid #e94560 !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    font-size: 14px !important;
    max-width: 48% !important;
}

#saveProgressModal .questionnaire-box .li .input {
    width: 100% !important;
    line-height: 30px;
    border: 1px solid #ddd;
    margin: 0;
    padding: 0 10px;
    height: 40px;
    border-radius: 4px;
    box-sizing: border-box;
}

#saveProgressModal .questionnaire-box .li .input:focus {
    border-color: #e94560;
    outline: none;
}

#saveProgressModal .questionnaire-box .li .submit {
    padding: 0 20px;
    line-height: 40px;
    background: #e94560;
    color: #fff;
    border: none;
    font-size: 14px;
    height: 40px;
    font-family: futura;
    margin-top: 15px;
    width: 100% !important;
    border-radius: 4px;
    box-sizing: border-box;
}

#saveProgressModal .questionnaire-box .li .submit:hover {
    background: #e55a00;
}

/* 弹窗内容样式 */
#saveProgressModal .modal-content-text {
    text-align: center;
    margin-bottom: 15px;
    padding-top: 0px;
    width: 100%;
}

#saveProgressModal .modal-content-text .title {
    font-size: 18px;
    font-weight: bold;
    color: #000;
    margin-bottom: 8px;
    line-height: 1.3;
}

#saveProgressModal .modal-body .benefit {
    font-size: 14px;
    font-weight: bold;
    color: #000;
    margin-bottom: 15px;
    line-height: 1.3;
    width: 100%;
    box-sizing: border-box;
}

/* OAuth 样式 */
#saveProgressModal .oauth_sign {
    text-align: center;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #eee;
    padding-bottom: 10px;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
}

#saveProgressModal .oauth_sign .text {
    font-size: 14px;
    color: #666;
    display: inline-block;
    margin: 0;
    white-space: nowrap;
}

#saveProgressModal .oauth_sign .icons {
    display: flex;
    justify-content: center;
    gap: 15px;
}

#saveProgressModal .oauth_sign .oauth-btn {
    display: inline-block;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
    transition: all 0.3s ease;
}

#saveProgressModal .oauth_sign .oauth-btn:hover {
    border-color: #e94560;
    transform: translateY(-2px);
    box-shadow: 0 2px 8px rgba(255, 102, 0, 0.2);
}

#saveProgressModal .oauth_sign .oauth-btn img {
    width: 20px;
    height: 20px;
}

/* User Agreement and Subscribe checkbox styles - 优先级最高的规则 */
#saveProgressModal .li_agreement {
    margin: 30px 0 0 0 !important;
    width: 100%;
    padding: 0;
    box-sizing: border-box;
}

/* 强制覆盖所有冲突的CSS规则 */
#saveProgressModal .li_agreement .form-check {
    display: flex !important;
    gap: 8px !important;
    align-items: flex-start !important;
    margin: 0 !important;
    padding-left: 0 !important;
    position: relative !important;
    text-align: left !important;
    float: none !important;
    overflow: visible !important;
    clear: none !important;
}

#saveProgressModal .li_agreement .form-check-input {
    min-width: 18px !important;
    width: 18px !important;
    height: 18px !important;
    position: static !important;
    float: none !important;
    margin: 0 !important;
    display: inline-block !important;
    vertical-align: top !important;
    flex-shrink: 0 !important;
    clear: none !important;
}

#saveProgressModal .li_agreement .form-check-input:focus {
    box-shadow: 0 0 0 0.2rem rgba(255, 102, 0, 0.25);
    border-color: #e94560;
}

#saveProgressModal .li_agreement .form-check-label {
    cursor: pointer !important;
    line-height: 1.4 !important;
    font-size: 14px !important;
    margin-bottom: 0 !important;
    flex: 1 !important;
    text-align: left !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: inherit !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    clear: none !important;
    float: none !important;
}

#saveProgressModal .li_agreement .form-check-label span {
    font-size: 14px !important;
    color: #666 !important;
    display: inline !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
}

#saveProgressModal .li_agreement a {
    color: #e94560;
}

#saveProgressModal .li_agreement a:hover {
    font-weight: bold;
    color: #0a0a0a;
}

/* 强制覆盖lr.css中隐藏span的规则 */
#saveProgressModal .li .span,
#saveProgressModal .li_agreement .span,
#saveProgressModal .orther .span,
#saveProgressModal .form-check-label .span {
    display: inline !important;
    width: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* 专门针对User Agreement的强制显示规则 - 最高优先级 */
#saveProgressModal .questionnaire-box .li.li_agreement,
#saveProgressModal .questionnaire-box .li.li_agreement * {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* 强制设置第一个复选框与下拉列表的间距 */
#saveProgressModal .questionnaire-box .li.li_agreement {
    margin-top: 40px !important;
    padding-top: 10px !important;
}

/* 最高优先级 - 确保第一个复选框有足够的上边距 */
#saveProgressModal .questionnaire-box form .li.li_agreement {
    margin-top: 50px !important;
    margin-bottom: 0 !important;
    padding-top: 15px !important;
    border-top: 1px solid transparent !important;
}

#saveProgressModal .questionnaire-box .li.li_agreement .form-check {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

#saveProgressModal .questionnaire-box .li.li_agreement .form-check-input {
    display: inline-block !important;
    position: static !important;
    float: none !important;
    margin: 0 !important;
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0 !important;
    order: 1 !important;
}

#saveProgressModal .questionnaire-box .li.li_agreement .form-check-label {
    display: block !important;
    flex: 1 !important;
    order: 2 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
    font-size: 14px !important;
    color: #333 !important;
}

#saveProgressModal .questionnaire-box .li.li_agreement .form-check-label span {
    display: inline !important;
    width: auto !important;
    color: #666 !important;
}

#saveProgressModal .questionnaire-box .li.li_agreement a {
    display: inline !important;
    color: #e94560 !important;
    text-decoration: underline !important;
    visibility: visible !important;
}

#saveProgressModal .orther {
    float: left;
    width: 100%;
    line-height: 16px;
    margin: 2px 0 0 0 !important;
    display: flex;
    padding: 0;
    box-sizing: border-box;
}

/* 强制覆盖所有冲突的CSS规则 */
#saveProgressModal .orther .form-check {
    display: flex !important;
    gap: 8px !important;
    align-items: flex-start !important;
    margin: 0 !important;
    padding-left: 0 !important;
    position: relative !important;
    text-align: left !important;
    float: none !important;
    overflow: visible !important;
    clear: none !important;
}

#saveProgressModal .orther .form-check-input {
    min-width: 18px !important;
    width: 18px !important;
    height: 18px !important;
    position: static !important;
    float: none !important;
    margin: 0 !important;
    display: inline-block !important;
    vertical-align: top !important;
    flex-shrink: 0 !important;
    clear: none !important;
}

#saveProgressModal .orther .form-check-label {
    cursor: pointer !important;
    flex: 1 !important;
    text-align: left !important;
    line-height: 1.4 !important;
    font-size: 14px !important;
    margin-bottom: 0 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: inherit !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    clear: none !important;
    float: none !important;
}

#saveProgressModal .orther .form-check-label span {
    font-size: 14px !important;
    color: #666 !important;
    display: inline !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
}

/* Back button styles - matching login page */
#saveProgressModal .back-login {
    float: left;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #000;
    background: transparent;
    color: #000;
    transition: all 0.3s ease;
    order: 1;
}

#saveProgressModal .back-login:hover {
    background: #000;
    color: #fff;
}

#saveProgressModal .back-login i {
    font-size: 16px;
}

/* Send Code button styles */
#saveProgressModal .btn-get-code {
    height: 40px;
    width: 50%;
    padding: 0 20px;
    line-height: 40px;
    background: #e94560;
    color: #fff;
    border: none;
    font-size: 14px;
    font-family: 'MB';
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    box-sizing: border-box;
}

#saveProgressModal .btn-get-code:hover {
    background: #e55a00;
}

/*Material page style*/
.materials{margin-top:80px;min-height: 750px;}
.materials .container .box{display: flex;}
.materials .left-box {width: 350px;flex-shrink: 0;margin-right: 2px;align-self: stretch;}
.materials .left-box .sidebar{position: sticky;top: calc(80px + var(--site-top-banner-offset, 0px));width: 350px;display: flex;flex-direction: column;max-height: calc(100vh - 80px - var(--site-top-banner-offset, 0px));overflow: hidden;z-index: 4;}
.materials .left-box .sidebar .sidebar-top{background: #FFFFFF;padding: 25px 15px 15px 15px;flex-shrink: 0;}
.materials .left-box .sidebar .sidebar-top .compare-prices-page__title{font-size: 1.1rem;font-weight: 700;line-height: 1.35;margin-bottom: 1rem;font-family: 'MB', sans-serif;overflow-wrap:break-word;word-wrap:break-word;}
.materials .left-box .sidebar .sidebar-top .step{position: relative;display: grid;height: 30px;padding: 0 15px;gap: 10px;grid-template-columns: 1em 1fr 18px;-webkit-box-align: center;-ms-flex-align: center;align-items: center;font-size: 14px;color: inherit;text-decoration: none;font-weight: bold;}
.materials .left-box .sidebar .sidebar-top .step-name{white-space: nowrap;overflow: hidden;text-overflow: ellipsis}
.materials .left-box .sidebar .sidebar-top .step-name .material-name,
.materials .left-box .sidebar .sidebar-top .step-name .step-value{color: #e94560;font-weight:700;}
.materials .left-box .sidebar .sidebar-top .step-name .material-name:hover{text-decoration:underline;}
.materials .left-box .sidebar .sidebar-top .step::after,.materials .left-box .sidebar .sidebar-top .step::before{content: "";display: none;position: absolute;right: 24px;margin-right: -1px;width: 2px;background: rgba(211, 211, 211, 1);z-index: 10}
.materials .left-box .sidebar .sidebar-top .step::before{top: 0;bottom: 50%}
.materials .left-box .sidebar .sidebar-top .step::after{top: 50%;bottom: 0}
.materials .left-box .sidebar .sidebar-top .step-icon{position: relative;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;width: 18px;height: 18px;line-height: 1;border-radius: 100%;background: rgba(211, 211, 211, 1);font-size: 15px;z-index: 20;}
.materials .left-box .sidebar .sidebar-top .step-active{background: rgba(211, 211, 211, 1);border-radius: 5px}
.materials .left-box .sidebar .sidebar-top .step-active .step-icon{font-size: 28px;}
.materials .left-box .sidebar .sidebar-top .step-not-first::before{display: block}
.materials .left-box .sidebar .sidebar-top .step-not-last::after{display: block}
.materials .left-box .sidebar .sidebar-main{display: flex;flex-direction: column;flex: 1 1 auto;min-height: 0;height: auto;overflow: hidden;padding: 0;}
.materials .left-box .sidebar .sidebar-main .title{font-size: 16px;font-weight: bold;position: static;flex-shrink: 0;background: #e3e3e3;width: auto;padding: 12px 15px;border-radius: 5px;margin: 0;}
.materials .right-box .material-header .material-header__title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;width:100%;}
.materials .right-box .material-header .material-header__actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-left:auto;}
.materials .right-box .material-header .material-header__back-quote{display:inline-flex;align-items:center;gap:2px;font-size:14px;font-weight:600;color:#e94560;text-decoration:none;white-space:nowrap;}
.materials .right-box .material-header .material-header__back-quote:hover{text-decoration:underline;color:#c73a52;}
.materials .right-box .material-header .material-header__see-models{display:none;}
.materials .left-box .sidebar .sidebar-main .model-info{margin: 8px 0 0;padding: 0 4px;font-size: 13px;line-height: 1.45;color: #333;flex-shrink: 0;}
.materials .left-box .sidebar .sidebar-main .sidebar-buttons{flex-shrink: 0;margin-top: 10px;}
.materials .left-box .sidebar .sidebar-main .model-list{display: flex;flex-direction: column;flex-wrap: nowrap;justify-content: flex-start;gap: 8px;margin-top: 10px;flex: 1 1 auto;min-height: 0;overflow-y: auto;overflow-x: hidden;-webkit-overflow-scrolling: touch;padding-bottom: 16px;box-sizing: border-box;}
.materials .left-box .sidebar .sidebar-main .model-list::after {content: none;}
/* 材料页左侧：与 upload 页 upload-model-card 同视觉结构 */
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card{
  flex:0 0 auto;width:100%;box-sizing:border-box;min-height:0;height:auto;position:relative;
  background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:8px;padding:0;overflow:visible;
  display:flex;flex-direction:column;box-shadow:0 1px 6px rgba(26,26,46,.05);
}
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-model-card__header{
  display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:6px;min-width:0;
  padding:10px 10px 10px 12px;margin:0;border-bottom:1px solid #eceff3;
}
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-model-card__header .form-check.form-switch{
  grid-column:1;display:flex!important;align-items:center;width:auto!important;max-width:3rem;
  margin:0!important;padding:0!important;float:none!important;
}
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-model-card__header .form-check.form-switch .form-check-input{
  float:none!important;margin:0!important;
}
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-model-card__file-title{
  grid-column:2;display:block!important;min-width:0;font-size:13px;font-weight:600;line-height:1.3;color:#1a1a2e!important;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-model-card__del{
  grid-column:3;justify-self:end;border:none;line-height:1;padding:0;margin:0;text-decoration:none;
}
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-model-card__header .name-input{display:none!important;}
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-model-card__body{
  display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:12px;align-items:start;padding:12px;
  border-bottom:1px solid #eceff3;min-width:0;
}
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-model-thumb{
  position:relative;flex-shrink:0;width:64px;height:64px;border-radius:8px;overflow:hidden;
  background:linear-gradient(160deg,#f7f8fa 0%,#eceff3 100%);border:1px solid #e3e7ec;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
}
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-model-thumb__img{
  width:64px;height:64px;object-fit:cover;display:block;border-radius:8px;
}
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-model-thumb__img[src=""]{visibility:hidden;opacity:0;}
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-model-card__meta{
  min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px;
}
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-model-card__fname{display:none!important;}
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-model-card__dims{
  display:flex!important;flex-direction:row;align-items:baseline;flex-wrap:nowrap;gap:6px;
  min-width:0;max-width:100%;width:100%;font-size:13px;line-height:1.35;color:#1a1a2e;
  overflow:hidden;
}
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-model-card__dims-text{
  display:block;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
/* 覆盖侧栏 .sidebar .btn{width:50%}，Scale 固定在尺寸右侧 */
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-model-card__dims .js-upload-scale-link.btn,
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-model-card__dims .js-upload-scale-link{
  flex:0 0 auto;display:inline!important;width:auto!important;max-width:none!important;height:auto!important;
  margin:0!important;padding:0!important;border:0!important;line-height:1.35;z-index:auto!important;
  font-size:13px;font-weight:600;color:#0d6efd;text-decoration:none;white-space:nowrap;vertical-align:baseline;
  justify-content:flex-start;gap:0;background:transparent;box-shadow:none;
}
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-model-card__metrics{
  font-size:12px;line-height:1.4;color:#5b6472;margin:0;max-width:100%;
  white-space:normal;overflow:visible;word-break:break-word;
}
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-model-card__textlink,
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-model-card__attach{
  font-weight:600;color:#0d6efd;text-decoration:none;vertical-align:baseline;
}
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-model-card__textlink:hover,
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-model-card__attach:hover{
  text-decoration:underline;color:#0a58ca;
}
/* 覆盖侧栏 .sidebar .btn{width:50%;white-space:nowrap}，完整展示 attachments & notes */
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-model-card__attach.btn,
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-model-card__attach{
  display:inline!important;width:auto!important;max-width:100%!important;height:auto!important;
  margin:2px 0 0!important;padding:0!important;border:0!important;z-index:auto!important;
  font-size:12px;line-height:1.4;white-space:normal!important;overflow:visible!important;text-overflow:unset!important;
  justify-content:flex-start;gap:0;background:transparent;box-shadow:none;text-align:left;
}
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-model-card__footer{
  display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;margin:0;
}
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-model-card__qty{
  width:auto;margin:0;flex-shrink:0;
}
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-model-card__qty .btn{
  width:22px;height:22px;padding:0;border-color:#ccc;display:flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:700;line-height:1;
}
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-model-card__qty .form-control{
  width:38px;height:22px;min-height:22px;font-size:13px;font-weight:600;padding:0 4px;text-align:center;border-color:#ccc;
}
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-model-card__qty .form-control:focus{
  border-color:#ccc;box-shadow:none;
}
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-card-options-wrap{
  position:relative;z-index:1;flex-shrink:0;margin-left:auto;
}
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-card-options-wrap.is-open{z-index:2;}
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card.has-options-open{
  z-index:120;overflow:visible;
}
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-model-card__allopts{
  text-decoration:none;font-weight:600;font-size:13px;white-space:nowrap;color:#0d6efd;
  display:inline-flex;align-items:center;padding:0;margin:0;line-height:1.2;
}
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-model-card__allopts:hover{
  text-decoration:underline;color:#0a58ca;
}
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-card-options-menu{
  display:none;position:absolute;right:0;top:100%;margin-top:4px;min-width:220px;padding:6px 0;
  background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.12);z-index:30;
}
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-card-options-menu.is-open{display:block;}
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-card-options-menu .dropdown-item{
  width:100%;text-align:left;border:0;background:transparent;padding:8px 16px;font-size:14px;
}
.materials .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-card-options-menu .dropdown-item:hover{background:#f3f4f6;}
.materials .left-box .sidebar .sidebar-bottom{text-align: center;margin: 25px 0;position: fixed;bottom: 0;display: flex;width: 350px;padding: 20px 10px 0 10px;gap: 8px;}
/* 仅底部 Continue / Save 等主按钮；勿作用于卡片内 Scale / notes / qty */
.materials .left-box .sidebar .sidebar-bottom .btn,
.materials .left-box .sidebar .sidebar-buttons .btn{
  padding: 8px 15px;display: flex;justify-content: center;gap: 5px;align-items: center;width: 50%;font-size: 14px;white-space: nowrap;z-index: 200;
}

/* 手机端：覆盖上方桌面 350px，左右栏拉满屏宽 */
@media (max-width: 992px) {
  .materials{
    margin-top:calc(64px + var(--site-top-banner-offset, 0px)) !important;
    min-height:0 !important;
  }
  .materials:not(.compare):not(.add-ons) .left-box .sidebar{
    position:relative !important;
    top:auto !important;
    z-index:auto !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
  .materials:not(.compare):not(.add-ons) .material-header,
  .materials:not(.compare):not(.add-ons) .material-header .material-header__title-row,
  .materials:not(.compare):not(.add-ons) .material-header .material-header__actions{
    overflow:visible !important;
    max-height:none !important;
  }
  .materials:not(.compare):not(.add-ons) .material-header .material-header__see-models,
  .materials:not(.compare):not(.add-ons) .material-header .material-header__back-quote,
  .materials:not(.compare):not(.add-ons) .material-header .material-mobile-toolbar{
    display:flex !important;
  }
  .materials:not(.compare):not(.add-ons) .material-header .material-header__see-models{
    display:inline-flex !important;
  }
  .materials:not(.compare):not(.add-ons) .material-header .material-mobile-search-wrap{
    display:flex !important;
  }
  .materials .container{
    width:100% !important;
    max-width:100% !important;
    padding-left:12px !important;
    padding-right:12px !important;
    padding-top:0 !important;
    box-sizing:border-box;
  }
  .materials:not(.compare):not(.add-ons) .right-box{
    padding-left:14px !important;
    padding-right:14px !important;
  }
  .materials .container .box{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    width:100% !important;
  }
  .materials .left-box,
  .materials .left-box .sidebar,
  .materials .right-box{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-right:0 !important;
  }
  .materials .left-box .sidebar{
    position:relative !important;
    max-height:none !important;
    overflow:visible !important;
  }
  .materials .left-box .sidebar .sidebar-bottom{
    width:100% !important;
    position:relative !important;
  }
  .materials .left-box .sidebar .sidebar-main,
  .materials .left-box .sidebar .sidebar-main .title,
  .materials .left-box .sidebar .sidebar-main .model-list,
  .materials .left-box .sidebar .sidebar-main .model-list .model-item{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box;
  }
  .materials .sidebar-buttons{
    width:100%;
    padding:0;
    box-sizing:border-box;
  }
  .materials .sidebar-buttons .btn-white-orange{
    width:auto !important;
    flex:1 1 calc(50% - 5px);
    min-width:0;
  }
}

/* White background orange text button styles */
.btn-white-orange {
    background-color: #ffffff !important;
    color: #e94560 !important;
    border: 1px solid #e94560 !important;
    padding: 8px 15px !important;
    display: flex !important;
    justify-content: center !important;
    gap: 5px !important;
    align-items: center !important;
    width: 50% !important;
    font-size: 14px !important;
    white-space: nowrap !important;
    z-index: 200 !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.btn-white-orange:hover {
    background-color: #e94560 !important;
    color: #ffffff !important;
    border-color: #e94560 !important;
    text-decoration: none !important;
}

.btn-white-orange:focus {
    background-color: #e94560 !important;
    color: #ffffff !important;
    border-color: #e94560 !important;
    box-shadow: 0 0 0 0.2rem rgba(255, 102, 0, 0.25) !important;
}

/* Sidebar buttons container */
.sidebar-buttons {
    display: flex;
    gap: 10px;
    margin: 15px 0;
    padding: 0 10px;
}

/* Gift icon will be positioned dynamically via JavaScript */
.materials .right-box{flex:1 1 0;min-width:0;width:auto;}
.materials .material-header{margin-top: 10px;padding: 16px;background: #FFFFFF;}
.materials .material-header .title{margin-bottom: 15px;font-size: 18px;}
.materials .material-header .select-box {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  align-items: center;
  min-width: 0;
}
.materials .material-header .select-box .dropdown-menu{width: 200px;padding: 15px;}
.materials .material-header .select-box .form-check-input{border: 1px solid #333;}
.materials .material-header .select-box .dropdown-menu ul.lists{max-height: 300px;overflow: auto;padding-left: 5px;}
.materials .material-header .select-box .select-item-sort .form-select{}
.materials .material-header .select-material-hierarchy {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 6px;
  align-items: center;
  flex-shrink: 0;
}
.materials .material-header .select-material-hierarchy .form-select {
  max-width: 160px;
  min-width: 96px;
}
.materials .material-header .select-material-search-wrap {
  flex: 1 1 180px;
  min-width: 160px;
  max-width: 420px;
  display: flex;
  align-items: stretch;
  gap: 8px;
}
.materials .material-header .select-material-search-wrap .form-control {
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
}
.materials .material-header .select-material-search-wrap .material-search-btn{
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  white-space: nowrap;
  padding: 0.25rem 0.75rem;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  border-radius: 6px;
}
.materials .material-header .select-material-search-wrap .material-search-btn .bi{
  font-size: 14px;
  line-height: 1;
}
.materials .material-header .select-box:not(:has(.question)) .select-material-search-wrap {
  max-width: none;
  flex: 1 1 240px;
}
.materials .material-header .question {
  flex-shrink: 0;
  margin-left: auto;
}
.materials .material-header .question .bi{cursor: pointer;font-size: 22px;color: #e94560;}
@media (max-width: 1199.98px) {
  .materials .material-header .select-box {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
  }
  .materials .material-header .select-material-search-wrap {
    max-width: 280px;
  }
}
.materials .material-header .action-bar{margin-top: 15px;display: flex;flex-wrap: wrap;gap: 8px;}
.materials .material-header .action-bar .item{display: inline-flex;padding: 1px 15px;border-radius: 5px;gap: 8px;align-items: center;border: 1px solid #dee2e6;}
.materials .material-header .action-bar .item button{background: none;border: 0;font-size: 14px;}
.materials .material-header .action-bar .item.item-clear-all{font-weight: bold;cursor: pointer;}
.materials .material-main{}
.materials .material-main .recommend{padding: 15px;background: #FFFFFF;}
.materials .material-main .recommend .top{display: flex;justify-content: space-between;margin-bottom: 10px;}
.materials .material-main .recommend .top .title{font-weight: bold;font-size: 16px;}
.materials .material-main .recommend .top .bi{font-size: 20px;cursor: pointer;}
.materials .material-main .recommend ul.list{display: flex;flex-flow: wrap;gap: 15px;padding: 0;margin: 0;}
.materials .material-main .recommend ul.list li{flex: 0 0 calc(33.333% - 10px);border:1px solid #ccc;border-radius: 5px;padding: 20px;display: grid;gap: 3px;}
.materials .material-main .recommend ul.list li .image{text-align: center;}
.materials .material-main .recommend ul.list li .image img{width: 150px;}
.materials .material-main .recommend ul.list li .title{font-weight: bold;text-align: center;padding-top: 5px;}
.materials .material-main .recommend ul.list li .strong,.materials .material-main .recommend ul.list li .functional,.materials .material-main .recommend ul.list li .visual{display: flex;align-items: center;gap: 5px;line-height: 25px;}
.materials .material-main .recommend ul.list li .name{font-weight: bold;padding-right: 5px;width: 80px !important;}
.materials .material-main .recommend ul.list li .functional{}
.materials .material-main .recommend ul.list li .visual{}
.materials .material-main .recommend ul.list li .btn-price{padding: 5px 10px;width: auto;}
.materials .material-main .material-lists{}
.materials .material-main .material-lists .item-group{background: #FFF;}
.materials .material-main .material-lists .item-group .group-name{line-height: 44px;color: #000;font-size: 18px;background: #e3e3e3;padding: 0 15px;display: flex;justify-content: space-between;border-bottom: 2px solid #FFF;cursor: pointer;}
.materials .material-main .material-lists .item-group .group-name .bi{cursor: pointer;}
.materials .material-main .material-lists .item-group .item{display: flex;gap: 20px;justify-content: space-between;padding: 15px;align-items: center;border-bottom: 1px solid #ccc;}
.materials .material-main .material-lists .item-group .item .info{width: 50%;display: flex;gap: 15px;}
.materials .material-main .material-lists .item-group .item .info .image{order:0;flex-shrink:0;}
.materials .material-main .material-lists .item-group .item .info .image img{width: 150px;border-radius: 5px;border: 1px solid #ccc;}
.materials .material-main .material-lists .item-group .item .info .content{order:1;display: grid;align-items: center;min-width:0;}
.materials .material-main .material-lists .item-group .item .info .content .name{font-size: 18px;font-weight: bold;}
.materials .material-main .material-lists .item-group .item .info .introduce{}
.materials .material-main .material-lists .item-group .item .properties{display: grid;gap: 5px;}
.materials .material-main .material-lists .item-group .item .properties .name{font-weight: bold;padding-right: 5px;width: 80px;}
.materials .material-main .material-lists .item-group .item .properties .strong,
.materials .material-main .material-lists .item-group .item .properties .functional,
.materials .material-main .material-lists .item-group .item .properties .visual{display: flex;align-items: center;gap: 5px;line-height: 25px;}
.materials .material-main .material-lists .item-group .item .action{width:200px;max-width:100%;flex-shrink:0;text-align:left;}
.materials .material-main .material-lists .item-group .item .action .price{font-weight: bold;margin-bottom: 10px;}
.materials .material-main .material-lists .item-group .item .action .btn{padding:8px 12px;}
.materials .material-main .material-lists .item-group .item .action .btn-select{
  width:100%;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;
}
.materials .material-main .material-lists .item-group .item .info .tech-tag{display:none;}
.materials .material-main .material-lists .item-group .item .action .btn-material-details{display:none;}
.materials .material-main .material-lists .item-group .item .action .material-fill-rate{margin-bottom:8px;}
.materials .material-main .material-lists .item-group .item .action .material-fill-rate__label{display:inline;margin-right:8px;font-size:14px;}
.materials .material-main .material-lists .item-group .item .action .material-fill-rate__select{width:auto;display:inline-block;}
.materials .material-header .material-mobile-toolbar{display:none;}
.materials .material-header .material-mobile-search-wrap{display:none;}

.materials .right-box {background: #FFF;padding: 30px 15px;}
/* compare-materials：右侧标题行与左侧步骤条顶部对齐（sidebar-top padding-top: 25px） */
.materials:not(.compare):not(.add-ons) .right-box{padding:25px 15px 16px 15px;}
.materials:not(.compare):not(.add-ons) .material-header{margin-top:0;padding:0 12px 8px;}
.materials:not(.compare):not(.add-ons) .material-header .title{margin-bottom:8px;}
.materials:not(.compare):not(.add-ons) .material-header .action-bar{margin-top:8px;}
.materials .right-box .addons-info {display: flex;gap: 10px;border: 1px solid #ccc;padding: 10px;border-radius: 5px;background-color: #f9f9f9;box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); }
.materials .right-box .addons-info .material-info {width: 30%;border-right: 1px solid #ccc;padding-right: 10px;}
.materials .right-box .addons-info .material-info *{margin-bottom: 10px;}
.materials .right-box .addons-info .material-info .title{font-weight: bold;text-align: center;}
.materials .right-box .addons-info .material-info .image{text-align: center;}
.materials .right-box .addons-info .material-info .image img{width: 150px;border-radius: 5px;}
.materials .right-box .addons-info .material-info .star-box{display: flex;align-items: center;justify-content: space-between;max-width: 210px;}
.materials .right-box .addons-info .material-info .name{font-weight: bold;padding-right: 5px;}
.materials .right-box .addons-info .material-info .strong{/* display: inline-flex; *//* align-items: center; *//* gap: 5px; *//* height: 20px; */}
.materials .right-box .addons-info .threed-plus {width: 70%;}
.materials .right-box .addons-info .threed-plus{}
.materials .right-box .addons-info .threed-plus .plus-top{display: flex;margin-bottom: 15px;}
.materials .right-box .addons-info .threed-plus .plus-top .plus-image img{width: 150px;border-radius: 5px;}
.materials .right-box .addons-info .threed-plus .plus-top .plus-content {padding: 0 15px;max-height: 150px;overflow: auto;}
.materials .right-box .addons-info .threed-plus .plus-top .plus-content .name{font-weight: bold;margin-bottom: 5px;}
.materials .right-box .addons-info .threed-plus .plus-option{margin-bottom:10px;}
.materials .right-box .addons-info .threed-plus .plus-option .head{display: flex;justify-content: space-between;font-weight: bold;}
/* 选项在上、Note 在下（PC / 手机统一） */
.materials .right-box .addons-info .threed-plus .plus-option .option-list{
  display:flex;flex-direction:column;gap:8px;background:#eceff3;border-radius:8px;padding:8px 10px;
}
.materials .right-box .addons-info .threed-plus .plus-option .option-list .option-item{width:100%;}
.materials .right-box .addons-info .threed-plus .plus-option .option-list .option-note{width:100%;}
.materials .right-box .addons-info .threed-plus .plus-option .option-list .option-note textarea{
  font-size:13px;height:auto;min-height:72px;resize:vertical;
}
.materials .right-box .addons-info .threed-plus .plus-price-box{display: flex;justify-content: space-between;align-items:center;}
.materials .right-box .addons-info .threed-plus .plus-price{text-align: right;font-weight: bold;margin-top: 15px;}
.materials .right-box .addons-info .threed-plus .plus-bottom{text-align: right;margin-top:15px;}
.materials .right-box .addons-info .threed-plus .plus-bottom .back{font-weight: bold;margin-right: 15px;color: #e94560;}
/* Let's compare：主 CTA，与站头 Upload 同系实心红 */
.materials .right-box .addons-info .threed-plus .plus-bottom .btn-next,
.materials .right-box .addons-info .threed-plus .plus-bottom .js-aihfabs-lets-compare,
.add-ons .right-box .addons-info .threed-plus .plus-bottom .btn-next,
.add-ons .right-box .addons-info .threed-plus .plus-bottom .js-aihfabs-lets-compare{
  --bs-btn-color:#fff;
  --bs-btn-bg:#e94560;
  --bs-btn-border-color:#e94560;
  --bs-btn-hover-color:#fff;
  --bs-btn-hover-bg:#c73650;
  --bs-btn-hover-border-color:#c73650;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:180px;
  padding:12px 28px;
  font-size:16px;
  font-weight:700;
  line-height:1.2;
  color:#fff !important;
  background-color:#e94560 !important;
  border:1.5px solid #e94560 !important;
  border-radius:999px;
  box-shadow:0 10px 24px rgba(233,69,96,.28);
}
.materials .right-box .addons-info .threed-plus .plus-bottom .btn-next:hover,
.materials .right-box .addons-info .threed-plus .plus-bottom .js-aihfabs-lets-compare:hover,
.add-ons .right-box .addons-info .threed-plus .plus-bottom .btn-next:hover,
.add-ons .right-box .addons-info .threed-plus .plus-bottom .js-aihfabs-lets-compare:hover{
  background-color:#c73650 !important;
  border-color:#c73650 !important;
  color:#fff !important;
  box-shadow:0 14px 30px rgba(233,69,96,.34);
  transform:translateY(-1px);
}
.materials .right-box .addons-info .threed-plus .plus-bottom .btn-next.btn-secondary,
.materials .right-box .addons-info .threed-plus .plus-bottom .js-aihfabs-lets-compare.btn-secondary,
.add-ons .right-box .addons-info .threed-plus .plus-bottom .btn-next.btn-secondary,
.add-ons .right-box .addons-info .threed-plus .plus-bottom .js-aihfabs-lets-compare.btn-secondary,
.materials .right-box .addons-info .threed-plus .plus-bottom .btn-next:disabled,
.add-ons .right-box .addons-info .threed-plus .plus-bottom .btn-next:disabled{
  background-color:#c5c9d1 !important;
  border-color:#c5c9d1 !important;
  color:#fff !important;
  box-shadow:none;
  transform:none;
  opacity:.55;
  pointer-events:none;
}

.materials .right-box .top{position: sticky;background: #FFF;z-index: 8;padding:5px 0 5px 0;}

.materials-footer .footers{display: none;position: fixed;bottom: 0;width: 100%;}
.tip3{float: left;line-height: 34px;margin-right: 5px;color: #666;}
/*five stars*/
.star-rating {font-size: 18px;color: #aaa;position: relative;display: inline-block;letter-spacing: 0.05em;}
.star-rating::before {content: "\2605\2605\2605\2605\2605";}
.star-rating::after {content: "\2605\2605\2605\2605\2605";position: absolute;left: 0;top: 0;width: 0;overflow: hidden;color: #e94560;}
.star-rating[data-rating="0.5"]::after{width: 10%;}
.star-rating[data-rating="1"]::after{width: 20%;}
.star-rating[data-rating="1.0"]::after{width: 20%;}
.star-rating[data-rating="1.5"]::after{width: 30%;}
.star-rating[data-rating="2"]::after{width: 40%;}
.star-rating[data-rating="2.0"]::after{width: 40%;}
.star-rating[data-rating="2.5"]::after{width: 50%;}
.star-rating[data-rating="3"]::after{width: 60%;}
.star-rating[data-rating="3.0"]::after{width: 60%;}
.star-rating[data-rating="3.1"]::after{width: 62%;}
.star-rating[data-rating="3.2"]::after{width: 64%;}
.star-rating[data-rating="3.3"]::after{width: 66%;}
.star-rating[data-rating="3.4"]::after{width: 68%;}
.star-rating[data-rating="3.5"]::after{width: 70%;}
.star-rating[data-rating="3.6"]::after{width: 72%;}
.star-rating[data-rating="3.7"]::after{width: 74%;}
.star-rating[data-rating="3.8"]::after{width: 76%;}
.star-rating[data-rating="3.9"]::after{width: 78%;}
.star-rating[data-rating="4"]::after{width: 80%;}
.star-rating[data-rating="4.0"]::after{width: 80%;}
.star-rating[data-rating="4.1"]::after{width: 82%;}
.star-rating[data-rating="4.2"]::after{width: 84%;}
.star-rating[data-rating="4.3"]::after{width: 86%;}
.star-rating[data-rating="4.4"]::after{width: 88%;}
.star-rating[data-rating="4.5"]::after{width: 90%;}
.star-rating[data-rating="4.6"]::after{width: 92%;}
.star-rating[data-rating="4.7"]::after{width: 94%;}
.star-rating[data-rating="4.8"]::after{width: 96%;}
.star-rating[data-rating="4.9"]::after{width: 98%;}
.star-rating[data-rating="5"]::after{width: 100%;}
.star-rating[data-rating="5.0"]::after{width: 100%;}

/*Add ons*/
.add-ons .right-box {background: #FFF;padding: 30px 15px;}
.add-ons .right-box .addons-info {display: flex;gap: 10px; border: 1px solid #ccc;}
.add-ons .right-box .addons-info .material-info {width: 30%;border-right: 1px solid #ccc;padding-right: 10px;}
.add-ons .right-box .addons-info .material-info *{margin-bottom: 10px;}
.add-ons .right-box .addons-info .material-info .title{font-weight: bold;text-align: center;}
.add-ons .right-box .addons-info .material-info .image{text-align: center;}
.add-ons .right-box .addons-info .material-info .image img{width: 150px;border-radius: 5px;}
.add-ons .right-box .addons-info .material-info .name{font-weight: bold;padding-right: 5px;}
.add-ons .right-box .addons-info .material-info .strong{display: inline-flex;align-items: center;gap: 5px;height: 20px;}
.add-ons .right-box .addons-info .threed-plus {width: 70%;}
.add-ons .right-box .addons-info .threed-plus{}
.add-ons .right-box .addons-info .threed-plus .plus-top{display: flex;margin-bottom: 15px;}
.add-ons .right-box .addons-info .threed-plus .plus-top .plus-image img{width: 150px;border-radius: 5px;}
.add-ons .right-box .addons-info .threed-plus .plus-top .plus-content {padding: 0 15px;max-height: 150px;overflow: auto;}
.add-ons .right-box .addons-info .threed-plus .plus-top .plus-content .name{font-weight: bold;margin-bottom: 5px;}
.add-ons .right-box .addons-info .threed-plus .plus-option{margin-bottom:10px;}
.add-ons .right-box .addons-info .threed-plus .plus-option .head{display: flex;justify-content: space-between;font-weight: bold;}
.add-ons .right-box .addons-info .threed-plus .plus-option .option-list{
  display:flex;flex-direction:column;gap:8px;background:#eceff3;border-radius:8px;padding:8px 10px;
}
.add-ons .right-box .addons-info .threed-plus .plus-option .option-list .option-item{width:100%;}
.add-ons .right-box .addons-info .threed-plus .plus-option .option-list .option-note{width:100%;}
.add-ons .right-box .addons-info .threed-plus .plus-option .option-list .option-note textarea{
  font-size:13px;height:auto;min-height:72px;resize:vertical;
}
.add-ons .right-box .addons-info .threed-plus .plus-price{text-align: right;font-weight: bold;margin-top: 15px;}
.add-ons .right-box .addons-info .threed-plus .plus-bottom{text-align: right;margin-top:15px;}
.add-ons .right-box .addons-info .threed-plus .plus-bottom .back{font-weight: bold;margin-right: 15px;color: #e94560;}
.add-ons .right-box .addons-info .threed-plus .plus-bottom .btn-next,
.add-ons .right-box .addons-info .threed-plus .plus-bottom .js-aihfabs-lets-compare{
  --bs-btn-color:#fff;
  --bs-btn-bg:#e94560;
  --bs-btn-border-color:#e94560;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:180px;
  padding:12px 28px;
  font-size:16px;
  font-weight:700;
  color:#fff !important;
  background-color:#e94560 !important;
  border:1.5px solid #e94560 !important;
  border-radius:999px;
  box-shadow:0 10px 24px rgba(233,69,96,.28);
}

/*compare — fixed sidebar + width:auto collapses left-box to 0; right-box then spans full width under the sidebar */
.materials.compare .container .box{
  display:flex !important;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:flex-start;
  width:100%;
}
.materials.compare .left-box{
  width:350px !important;
  min-width:350px !important;
  max-width:350px !important;
  flex:0 0 350px !important;
  margin-right:2px;
}
.materials.compare .left-box .sidebar{
  position:sticky !important;
  top:calc(80px + var(--site-top-banner-offset, 0px));
  width:100% !important;
  max-width:350px;
  left:auto !important;
}
.materials.compare .right-box{
  flex:1 1 0 !important;
  min-width:0 !important;
  width:auto !important;
  max-width:none;
  float:none !important;
}
@media (min-width: 993px) {
    .materials.compare > .container{width:95%;max-width:95%;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;}
}
.compare .right-box{background: #FFF;padding: 10px 15px 20px 15px;}
.compare .right-box .top{position: sticky;top: 80px;background: #FFF;z-index: 8;display: flex;align-items: center;justify-content: space-between;gap: 16px;padding: 8px 0 10px 0;border-bottom: 1px solid #ccc;}
.compare .right-box .compare-mobile-toolbar{display:none;}
.compare .right-box .material{display: flex;gap: 30px;justify-content: flex-start;flex: 1;min-width: 0;border-bottom: none;padding-bottom: 0;}
.compare .right-box .back{text-align: right;justify-content: flex-end;display: flex;align-items: center;margin: 0;font-weight: bold;flex-shrink: 0;}
.compare .right-box .back a{color: #e94560;white-space: nowrap;text-decoration: none;}
.compare .right-box .back a:hover{text-decoration: underline;color: #c73a52;}
.compare .right-box .supplier-recommend{display: flex;flex-wrap: wrap;gap:12px;margin-top: 10px;}
.compare .right-box .supplier-recommend .list{flex:0 0 calc(33.333% - 8px);min-width:0;border:1px solid #CCCCCC;border-radius: 5px;}
@media (max-width: 1200px) {
    .compare .right-box .supplier-recommend .list{flex:0 0 calc(50% - 6px);}
}
.compare .right-box .supplier-recommend .list .offer-header{font-size:16px;border-top-left-radius: 5px;border-top-right-radius: 5px;text-align: center;padding: 6px 0;color: #FFFFFF;font-weight: bold;}
.compare .right-box .supplier-recommend .list .offer-header-1{background: #0F9932;}
.compare .right-box .supplier-recommend .list .offer-header-2{background: #e94560;}
.compare .right-box .supplier-recommend .list .offer-header-3{background: #e0811a;}
.compare .right-box .supplier-recommend .list .offer-body{padding: 10px;display: grid;gap: 10px;}
.compare .right-box .supplier-recommend .list .offer-body .total-price{font-weight: bold;display: flex;justify-content: space-between;}
.compare .right-box .supplier-recommend .list .offer-body .total-price .name{font-size: 18px;}
.compare .right-box .supplier-recommend .list .offer-body .total-price .price{font-size: 22px;}
.compare .right-box .supplier-recommend .list .offer-body .delivery{display: flex;justify-content: space-between;}
.compare .right-box .supplier-recommend .list .offer-body .delivery .date{font-size: 18px;}
.compare .right-box .supplier-recommend .list .offer-body .supplier-info{display: flex;justify-content: space-between;}
.compare .right-box .supplier-recommend .list .offer-body .supplier-info .company-info{display: grid;gap:5px;text-align: end;}
.compare .right-box .supplier-recommend .list .offer-body .supplier-info .star{display: flex;gap: 5px;margin-top:-8px;color: #0a0a0a;align-items: center;}
.compare .right-box .supplier-recommend .list .offer-body .technology{display: flex;justify-content: space-between;}
.compare .right-box .supplier-recommend .list .offer-body .features{background: #CCCCCC;text-align: center;border-radius:5px;display: flex;justify-content: center;align-items: center;gap: 5px;}
.compare .right-box .supplier-recommend .list .offer-body .features .bi{font-size: 22px;color: #e94560;}
.compare .right-box .supplier-recommend .list .offer-body .buttons{display: flex;justify-content: space-between;}
.compare .right-box .supplier-recommend .list .offer-body .buttons .btn{padding: 5px 20px;}

.compare .right-box .supplier-list{margin-top: 20px;}
.compare .right-box .supplier-list__mobile-title{display:none;}
.compare .right-box .supplier-list .offer-header .offer-header__mobile{display:none;}
.compare .right-box .supplier-list i{cursor: pointer;}
.compare .right-box .supplier-list .cell-1{width: 25%;}
.compare .right-box .supplier-list .cell-2{width: 35%;}
.compare .right-box .supplier-list .cell-3{width: 20%;}
.compare .right-box .supplier-list .cell-4{width: 20%;}
.compare .right-box .supplier-list .offer-header{background: #ccc;border-top-left-radius: 5px;border-top-right-radius: 5px;display: flex;flex-wrap: wrap;font-weight: bold;padding: 10px;justify-content: space-between;}
.compare .right-box .supplier-list .offer-body .list{display: flex;justify-content: space-between;border: 1px solid #ccc;padding: 10px;border-top: 0;}
.compare .right-box .supplier-list .offer-body .list .cell .content{font-weight: bold;margin-bottom: 5px;}
.compare .right-box .supplier-list .star{display: flex;gap: 5px;margin-top:-5px;color: #0a0a0a;}
.compare .right-box .supplier-list .buttons{display: grid;gap: 10px;justify-content: end;}
.compare .right-box .supplier-list .buttons .btn{width: 120px;}
.no-data{padding: 30px 16px 100px;background: #FFFFFF;box-sizing: border-box;overflow-x: hidden;}
.no-data .content{text-align: center;width: 100%;max-width: 500px;margin: 0 auto;box-sizing: border-box;padding: 0 4px;}
.no-data .content img{display: block;width: min(300px, 72vw);height: auto;max-width: 100%;margin: 0 auto;border-radius: 5px;border: 1px solid #e9ecef;}
.no-data .content .head-label{font-weight: bold;font-size: 30px;line-height: 1.35;margin: 15px 0;overflow-wrap: anywhere;word-wrap: break-word;word-break: break-word;}
.no-data .content .sub-label{font-size: 15px;line-height: 1.55;color: #555;overflow-wrap: anywhere;word-wrap: break-word;word-break: break-word;}
.no-data .content .buttons{display: flex;flex-wrap: wrap;gap: 12px 20px;justify-content: center;margin-top: 20px;}
.no-data .content .buttons .btn{width: 120px;max-width: 100%;box-sizing: border-box;}

@media (max-width: 768px) {
  .materials .no-data,
  .materials.add-ons .no-data,
  .materials.compare .no-data{
    padding: 20px 16px calc(120px + env(safe-area-inset-bottom, 0px));
  }
  .materials .no-data .content,
  .materials.add-ons .no-data .content,
  .materials.compare .no-data .content{
    width: 100%;
    max-width: 100%;
    padding: 0;
    box-sizing: border-box;
  }
  .materials .no-data .content img,
  .materials.add-ons .no-data .content img,
  .materials.compare .no-data .content img{
    width: min(220px, 58vw);
  }
  .materials .no-data .content .head-label,
  .materials.add-ons .no-data .content .head-label,
  .materials.compare .no-data .content .head-label{
    font-size: 1.2rem;
    margin: 12px 0 8px;
  }
  .materials .no-data .content .sub-label,
  .materials.add-ons .no-data .content .sub-label,
  .materials.compare .no-data .content .sub-label{
    font-size: 14px;
    padding: 0 2px;
  }
  .materials .no-data .content .buttons,
  .materials.add-ons .no-data .content .buttons,
  .materials.compare .no-data .content .buttons{
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    margin-top: 18px;
  }
  .materials .no-data .content .buttons .btn,
  .materials.add-ons .no-data .content .buttons .btn,
  .materials.compare .no-data .content .buttons .btn{
    width: 100% !important;
    min-height: 44px;
    border-radius: 8px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}

/* —— compare-prices 手机端：报价优先、模型折叠、列表改卡片 —— */
@media (max-width: 992px) {
  .materials.compare{
    margin-top:calc(64px + var(--site-top-banner-offset, 0px)) !important;
    min-height:0 !important;
  }
  .materials.compare > .container{
    width:100% !important;max-width:100% !important;
    padding-left:0 !important;padding-right:0 !important;box-sizing:border-box;
  }
  .materials.compare .container .box{
    display:flex !important;flex-direction:column !important;align-items:stretch !important;
  }
  .materials.compare .left-box{
    order:1 !important;width:100% !important;min-width:0 !important;max-width:none !important;
    flex:0 0 auto !important;margin-right:0 !important;float:none !important;
  }
  .materials.compare .right-box{
    order:2 !important;width:100% !important;max-width:100% !important;float:none !important;
    padding:10px 14px 24px !important;box-sizing:border-box;
  }
  .materials.compare .left-box .sidebar{
    position:relative !important;top:auto !important;width:100% !important;max-width:none;
    height:auto !important;overflow:visible !important;
  }
  .materials.compare .left-box .sidebar .sidebar-top{
    padding:8px 14px 10px;background:#fff;border-bottom:1px solid #e8e8e8;
    box-sizing:border-box;
  }
  .materials.compare .compare-prices-page__title{display:none !important;}
  .materials.compare .left-box .sidebar .sidebar-top .process{
    display:flex;align-items:stretch;gap:0;margin:0;border:1px solid #ddd;border-radius:8px;overflow:hidden;background:#f3f3f3;
  }
  .materials.compare .left-box .sidebar .sidebar-top .step{
    flex:1 1 0;display:flex;align-items:center;justify-content:center;gap:4px;
    height:auto;min-height:40px;padding:8px 6px;grid-template-columns:none;
    font-size:12px;font-weight:600;color:#666;background:transparent;border-radius:0;
  }
  .materials.compare .left-box .sidebar .sidebar-top .step::before,
  .materials.compare .left-box .sidebar .sidebar-top .step::after{display:none !important;}
  .materials.compare .left-box .sidebar .sidebar-top .step .step-icon{display:none;}
  .materials.compare .left-box .sidebar .sidebar-top .step-active{
    background:#fff;color:#1a1a2e;box-shadow:inset 0 -2px 0 #e94560;
  }
  .materials.compare .left-box .sidebar .sidebar-top .step-name{
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;
    font-weight:600;color:#666;
  }
  .materials.compare .left-box .sidebar .sidebar-top .step-name .material-name,
  .materials.compare .left-box .sidebar .sidebar-top .step-name .step-value{
    color:#e94560 !important;
    font-weight:700;
    text-decoration:none;
  }
  .materials.compare .left-box .sidebar .sidebar-main{
    display:none;padding:10px 14px 14px;background:#fff;border-bottom:1px solid #e8e8e8;
    max-height:min(70vh,560px);overflow:auto;-webkit-overflow-scrolling:touch;
    box-sizing:border-box;
  }
  .materials.compare.is-models-open .left-box .sidebar .sidebar-main{display:block;}
  .materials.compare .left-box .sidebar .sidebar-main .model-info{
    font-size:12px;line-height:1.4;margin:0 0 8px;color:#555;
  }
  .materials.compare .left-box .sidebar .sidebar-buttons{
    display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px;
  }
  .materials.compare .left-box .sidebar .sidebar-buttons .btn{
    width:auto !important;flex:1 1 calc(50% - 4px);min-width:0;font-size:13px;
    padding:8px 10px;border-radius:8px !important;
  }
  /* 覆盖 common.css 手机端 .btn{width:100%}，数量加减保持横排小按钮 */
  .materials.compare .left-box .sidebar .sidebar-main .model-list .model-item .btn{
    width:auto !important;
  }
  .materials.compare .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-model-card__qty{
    width:auto;flex-wrap:nowrap;
  }
  .materials.compare .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-model-card__qty .btn{
    width:22px !important;height:22px !important;min-width:22px !important;padding:0 !important;
    border-radius:4px !important;font-size:14px;font-weight:700;line-height:1;
    box-shadow:none !important;transform:none !important;
  }
  .materials.compare .left-box .sidebar .sidebar-main .model-list .model-item.upload-model-card .upload-model-card__qty .form-control{
    width:38px !important;height:22px;min-height:22px;font-size:13px;font-weight:600;
    padding:0 4px;text-align:center;flex:0 0 auto;
  }

  .compare .right-box .top{
    position:relative;top:auto;z-index:1;
    display:flex;flex-direction:column;align-items:stretch;gap:8px;
    padding:10px 0 12px;margin:0;border-bottom:1px solid #e8e8e8;
  }
  .compare .right-box .compare-mobile-toolbar{
    display:flex !important;align-items:center;justify-content:space-between;gap:10px;width:100%;
  }
  .compare .right-box .compare-mobile-toolbar__models{
    display:inline-flex;align-items:center;margin:0;padding:0;border:0;background:none;
    color:#0d6efd;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap;
  }
  .compare .right-box .compare-mobile-toolbar__back{
    display:inline-flex;align-items:center;gap:2px;margin:0;margin-left:auto;
    font-size:13px;font-weight:600;color:#e94560;text-decoration:none;white-space:nowrap;
  }
  .compare .right-box .back{display:none !important;}
  /* 手机端：Material / Add-ons 摘要与步骤条重复，隐藏 */
  .compare .right-box .material{display:none !important;}

  /* 推荐卡：左标签 / 右数值，紧凑一屏 */
  .compare .right-box .supplier-recommend{
    display:flex;flex-direction:column;flex-wrap:nowrap;gap:12px;margin-top:10px;
  }
  .compare .right-box .supplier-recommend .list{
    flex:0 0 auto !important;width:100%;border:1px solid #e3e7ec;border-radius:10px;overflow:hidden;
    box-shadow:0 1px 4px rgba(26,26,46,.04);
  }
  .compare .right-box .supplier-recommend .list .offer-header{
    font-size:13px;letter-spacing:.02em;text-transform:uppercase;padding:8px 12px;text-align:left;
  }
  .compare .right-box .supplier-recommend .list .offer-body{
    padding:10px 12px 12px;gap:6px;
  }
  .compare .right-box .supplier-recommend .list .offer-body .total-price,
  .compare .right-box .supplier-recommend .list .offer-body .delivery,
  .compare .right-box .supplier-recommend .list .offer-body .supplier-info,
  .compare .right-box .supplier-recommend .list .offer-body .technology{
    display:flex;align-items:flex-start;justify-content:space-between;gap:10px;
    font-size:13px;line-height:1.35;color:#5b6472;
  }
  .compare .right-box .supplier-recommend .list .offer-body .total-price .name,
  .compare .right-box .supplier-recommend .list .offer-body .delivery > span:first-child,
  .compare .right-box .supplier-recommend .list .offer-body .supplier-info > span:first-child,
  .compare .right-box .supplier-recommend .list .offer-body .technology > span:first-child{
    flex:0 1 auto;min-width:0;font-size:13px;font-weight:500;color:#5b6472;
  }
  .compare .right-box .supplier-recommend .list .offer-body .total-price .price{
    font-size:1.45rem;font-weight:700;color:#1a1a2e;line-height:1.15;
  }
  .compare .right-box .supplier-recommend .list .offer-body .delivery .date,
  .compare .right-box .supplier-recommend .list .offer-body .technology > b{
    font-size:14px;font-weight:700;color:#1a1a2e;text-align:right;
  }
  .compare .right-box .supplier-recommend .list .offer-body .supplier-info .company-info{
    display:grid;gap:2px;text-align:right;justify-items:end;
  }
  .compare .right-box .supplier-recommend .list .offer-body .supplier-info .company-info > div:first-child b{
    font-size:14px;color:#1a1a2e;
  }
  .compare .right-box .supplier-recommend .list .offer-body .supplier-info .company-info > div:nth-child(2){
    font-size:12px;color:#0d6efd;
  }
  .compare .right-box .supplier-recommend .list .offer-body .supplier-info .star{
    margin-top:0;justify-content:flex-end;gap:4px;font-size:11px;color:#888;
  }
  .compare .right-box .supplier-recommend .list .offer-body .supplier-info .star > span:first-child{
    display:none; /* 隐藏冗长 “Rating by…” 文案，只留星级 */
  }
  .compare .right-box .supplier-recommend .list .offer-body .features{
    margin-top:2px;font-size:12px;padding:7px 10px;color:#555;background:#f0f2f5;
    justify-content:flex-start;gap:6px;
  }
  .compare .right-box .supplier-recommend .list .offer-body .features .bi{
    font-size:16px;color:#0F9932;
  }
  .compare .right-box .supplier-recommend .list .offer-body .buttons{
    display:flex;flex-direction:column;gap:6px;margin-top:2px;
  }
  /* Check Out 为主 CTA（实心红），Add to Cart 为次级描边 */
  .compare .right-box .supplier-recommend .list .offer-body .buttons .btn-checkout{
    width:100% !important;padding:11px 14px !important;font-size:15px;font-weight:600;
    border-radius:8px !important;box-shadow:none !important;transform:none !important;
  }
  .compare .right-box .supplier-recommend .list .offer-body .buttons .btn-cart{
    width:100% !important;padding:9px 14px !important;font-size:13px;font-weight:600;
    border-radius:8px !important;box-shadow:none !important;transform:none !important;
  }

  /* All Offers：价格+交期 | 产地 | 加购 —— 横排紧凑行 */
  .compare .right-box .supplier-list{margin-top:16px;}
  .compare .right-box .supplier-list__mobile-title{
    display:block;font-size:1.15rem;font-weight:700;color:#1a1a2e;margin:0 0 8px;line-height:1.3;
  }
  .compare .right-box .supplier-list .offer-header{
    display:flex !important;align-items:center;justify-content:space-between;
    background:#f3f4f6;border-radius:8px 8px 0 0;padding:8px 10px;font-size:12px;font-weight:600;color:#555;
  }
  .compare .right-box .supplier-list .offer-header .cell-2,
  .compare .right-box .supplier-list .offer-header .cell-4{display:none !important;}
  .compare .right-box .supplier-list .offer-header .cell-1,
  .compare .right-box .supplier-list .offer-header .cell-3{
    width:auto !important;flex:1 1 0;
  }
  .compare .right-box .supplier-list .offer-header .offer-header__desktop,
  .compare .right-box .supplier-list .offer-header .offer-header__desktop-icon{display:none;}
  .compare .right-box .supplier-list .offer-header .offer-header__mobile{display:inline;}
  .compare .right-box .supplier-list .offer-body{
    border:1px solid #e5e7eb;border-top:0;border-radius:0 0 8px 8px;overflow:hidden;background:#fff;
  }
  .compare .right-box .supplier-list .offer-body .list{
    display:grid !important;
    grid-template-columns:minmax(0,1.05fr) minmax(0,1.15fr) auto;
    grid-template-areas:
      "price origin action"
      "delivery origin action";
    column-gap:8px;row-gap:1px;align-items:center;
    border:0;border-bottom:1px solid #eceff3;border-radius:0;
    padding:10px 10px;margin:0;background:#fff;box-sizing:border-box;
  }
  .compare .right-box .supplier-list .offer-body .list:last-child{border-bottom:0;}
  .compare .right-box .supplier-list .cell-1{grid-area:price;width:auto !important;min-width:0;}
  .compare .right-box .supplier-list .cell-2{grid-area:delivery;width:auto !important;min-width:0;}
  .compare .right-box .supplier-list .cell-3{grid-area:origin;width:auto !important;min-width:0;}
  .compare .right-box .supplier-list .cell-4{grid-area:action;width:auto !important;align-self:center;}
  .compare .right-box .supplier-list .offer-body .list .cell-1 .content{
    font-size:1.15rem;font-weight:700;margin:0;color:#1a1a2e;line-height:1.2;
  }
  .compare .right-box .supplier-list .offer-body .list .cell-1 .subline{display:none !important;}
  .compare .right-box .supplier-list .offer-body .list .cell-2 .content{
    font-size:12px;font-weight:500;margin:0;color:#6b7280;line-height:1.25;
  }
  .compare .right-box .supplier-list .offer-body .list .cell-2 .subline{display:none !important;}
  .compare .right-box .supplier-list .offer-body .list .cell-3 .content{
    font-size:13px;font-weight:600;margin:0 0 1px;color:#1a1a2e;line-height:1.25;
  }
  .compare .right-box .supplier-list .offer-body .list .cell-3 .subline{
    font-size:11px;line-height:1.3;color:#6b7280;
  }
  .compare .right-box .supplier-list .offer-body .list .cell-3 .subline p{margin:0;}
  .compare .right-box .supplier-list .offer-body .list .cell-3 .subline p:first-child{color:#0d6efd;}
  .compare .right-box .supplier-list .star{margin-top:1px;gap:2px;}
  .compare .right-box .supplier-list .star .star-rating{font-size:12px;}
  .compare .right-box .supplier-list .buttons{
    display:flex;flex-direction:column;gap:0;justify-content:center;align-items:stretch;
  }
  .compare .right-box .supplier-list .buttons .btn-cart{
    width:auto !important;min-width:72px;max-width:86px;padding:8px 8px !important;
    font-size:11px;font-weight:600;line-height:1.2;white-space:normal;text-align:center;
    border-radius:6px !important;background:#fff !important;color:#222 !important;
    border:1px solid #c9ced6 !important;box-shadow:none !important;transform:none !important;
  }
  .compare .right-box .supplier-list .buttons .btn-checkout{display:none !important;}

  .materials.compare .no-data{padding:24px 16px calc(120px + env(safe-area-inset-bottom, 0px));}
  .materials.compare .no-data .content{width:100%;max-width:100%;padding:0;box-sizing:border-box;}
  .materials.compare .no-data .content .head-label{font-size:1.2rem;margin:12px 0 8px;line-height:1.35;overflow-wrap:anywhere;word-break:break-word;}
  .materials.compare .no-data .content .sub-label{font-size:14px;line-height:1.55;overflow-wrap:anywhere;word-break:break-word;}
  .materials.compare .no-data .content .buttons{
    flex-direction:column;gap:10px;align-items:stretch;
  }
  .materials.compare .no-data .content .buttons .btn{
    width:100% !important;min-height:44px;border-radius:8px !important;
    display:inline-flex;align-items:center;justify-content:center;
  }
  /* 右下角礼品 / 消息：同尺寸竖排，避免重叠 */
  .materials.compare #floating-gift-icon.floating-gift-icon,
  .materials.compare #floating-gift-icon{
    position:fixed !important;
    top:auto !important;
    left:auto !important;
    right:16px !important;
    bottom:88px !important;
    width:48px !important;
    height:48px !important;
    padding:0 !important;
    margin:0 !important;
    display:flex !important;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    z-index:760 !important;
    box-shadow:0 4px 15px rgba(0,0,0,.15) !important;
  }
  .materials.compare #floating-gift-icon svg{
    width:26px !important;height:26px !important;display:block;
  }
  body.page-compare-prices .aihfabs-message-hub{
    right:16px !important;
    bottom:28px !important;
    /* 保持高于顶栏公告，勿降回 750 */
    z-index:10080 !important;
  }
  body.page-compare-prices .aihfabs-message-hub-fab{
    width:48px !important;
    height:48px !important;
    font-size:20px !important;
  }
}
.displaynone {display: none !important;}
.showprice img{width: 20px; height: 20px;}

.option-item .num_box{/*float: left;width: 60%;*/display: flex;border: 1px solid #666;margin-left: 10px;}
.option-item .num_box .sub{flex: 1;/*height: 100%;*/text-align: center;font-size: 12px;line-height: 18px;background: #eee;cursor: pointer;}
.option-item .num_box .num{flex: 1;/*height: 100%;*/border: none;width: 47px;text-align: center;border-right: 1px solid #666;border-left: 1px solid #666;font-size: 12px;}
.option-item .num_box .add{flex: 1;/*height: 100%;*/text-align: center;font-size: 12px;line-height: 18px;background: #eee;cursor: pointer;}
.option-item .fielbox{/*float: left;width: 20%;*/display: flex;position: relative;margin-left: 10px;}
.option-item .fielbox .file{flex: 1;/*height: 15px;*/border: none;background: #ddd;line-height: 15px;margin-right: 5px;margin:0;z-index: 5;opacity: 0;}
.option-item .fielbox .input{/*height: 15px;*/border: none;background: #ddd;line-height: 15px;margin-right: 5px;/*width: 153px;*/}
.option-item .fielbox .button{/*width: 44px;height: 15px;*/line-height: 15px;padding: 0;margin: 0;border: none;background: #000;color: #fff;z-index: 0;position: relative;font-size: 12px;}

/* Select material：PC / 手机自适应宽度，避免固定 93px 截断文案 */
.materials .material-main .material-lists .item-group .item .action{
  width:200px;max-width:100%;flex-shrink:0;
  display:flex;flex-direction:column;align-items:stretch;gap:8px;text-align:left;
}
.materials .material-main .material-lists .item-group .item .action .price{
  min-height:20px;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;
  width:100%;gap:0.35em;text-align:left;
}
.materials .material-main .material-lists .item-group .item .action .btn-select{
  width:100%;max-width:100%;min-width:0;margin:0;padding:8px 12px;
  text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  box-sizing:border-box;align-self:stretch;
}
.materials .material-main .material-lists .item-group .item .action .material-fill-rate{
  width:100%;box-sizing:border-box;
}
.materials .material-main .material-lists .item-group .item .action .material-fill-rate__select,
.materials .material-main .material-lists .item-group .item .action .form-select{
  width:auto;max-width:100%;
}
@media (max-width: 992px) {
  .materials .material-main .material-lists .item-group .item .action{
    width:100% !important;max-width:100% !important;align-items:stretch !important;
  }
  .materials .material-main .material-lists .item-group .item .action .btn-select{
    width:100% !important;max-width:100% !important;white-space:nowrap;
    padding:11px 14px;font-size:15px;
  }
  .materials .material-main .material-lists .item-group .item .action .price{
    justify-content:flex-start !important;text-align:left !important;
  }
}

/* Gift Modal Styles - Same as Save Progress Modal */
#giftModal {
    z-index: 999999 !important;
}

#giftModal .modal-dialog {
    position: fixed !important;
    margin: 0 !important;
    width: 580px !important;
    max-width: 90vw;
    z-index: 999999 !important;
    box-sizing: border-box;
    transform: none !important;
}

#giftModal .modal-content {
    border-radius: 8px !important;
    -webkit-border-radius: 8px !important;
    -moz-border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    background: #fff;
    width: 100%;
    min-height: 500px;
    box-sizing: border-box;
    position: relative;
    z-index: 999999;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* 确保弹窗背景层级正确（低于弹窗本体 1000100） */
body.modal-open .modal-backdrop {
    z-index: 1000090 !important;
}

#giftModal .modal-header {
    border: none;
    padding: 10px 20px 5px 20px;
    background: transparent;
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 40px;
    width: 100%;
    box-sizing: border-box;
    position: relative;
    flex-shrink: 0;
}

#giftModal .close {
    font-size: 24px;
    color: #666;
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    line-height: 1;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
}

#giftModal .close:hover {
    color: #333;
}

#giftModal .modal-body {
    padding: 10px 20px;
    background: #fff;
    overflow-y: auto;
    box-sizing: border-box;
    width: 100%;
    min-height: 380px;
    max-height: calc(100% - 80px);
    flex: 1;
}

#giftModal .questionnaire-box {
    /* margin: 0; */
    width: 100%;
    box-sizing: border-box;
    max-width: 100%;
}

#giftModal .questionnaire-box form {
    text-align: left;
    overflow: visible;
    padding: 0;
    width: 100%;
    box-sizing: border-box;
}

#giftModal .questionnaire-box .li {
    margin: 20px 0 0 0 !important;
    width: 100%;
}

#giftModal .questionnaire-box .li + .li {
    margin-top: 15px !important;
}

#giftModal .questionnaire-box .li:first-child {
    margin-top: 0 !important;
}

#giftModal .questionnaire-box .li-code {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 5px !important;
    width: 100% !important;
    margin-top: 25px !important;
}

#giftModal .questionnaire-box .li-code .input {
    width: 50% !important;
    flex-shrink: 0 !important;
}

#giftModal .questionnaire-box .li-code .btn-get-code {
    width: 45% !important;
    flex-shrink: 0 !important;
}

#giftModal .questionnaire-box .li .input {
    width: 100%;
    line-height: 30px;
    border: 1px solid #ddd;
    margin: 0;
    padding: 0 10px;
    height: 40px;
    border-radius: 4px;
    box-sizing: border-box;
}

#giftModal .questionnaire-box .li .input:focus {
    border-color: #e94560;
    outline: none;
}

#giftModal .questionnaire-box .li .submit {
    padding: 0 20px;
    line-height: 40px;
    background: #e94560;
    color: #fff;
    border: none;
    font-size: 14px;
    height: 40px;
    font-family: 'MB';
    margin-top: 15px;
    width: 100%;
    border-radius: 4px;
    box-sizing: border-box;
}

#giftModal .questionnaire-box .li .submit:hover {
    background: #e55a00;
}

/* 弹窗内容样式 */
#giftModal .modal-content-text {
    text-align: center;
    margin-bottom: 15px;
    padding-top: 0px;
    width: 100%;
}

#giftModal .modal-content-text .title {
    font-size: 18px;
    font-weight: bold;
    color: #000;
    margin-bottom: 8px;
    line-height: 1.3;
}

#giftModal .modal-body .benefit {
    font-size: 14px;
    font-weight: bold;
    color: #000;
    margin-bottom: 15px;
    line-height: 1.3;
}

/* OAuth 样式 */
#giftModal .oauth_sign {
    text-align: center;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #eee;
    padding-bottom: 10px;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
}

#giftModal .oauth_sign .text {
    font-size: 14px;
    color: #666;
    display: inline-block;
    margin: 0;
    white-space: nowrap;
}

#giftModal .oauth_sign .icons {
    display: flex;
    justify-content: center;
    gap: 15px;
}

#giftModal .oauth_sign .oauth-btn {
    display: inline-block;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
    transition: all 0.3s ease;
}

#giftModal .oauth_sign .oauth-btn:hover {
    border-color: #e94560;
    transform: translateY(-2px);
    box-shadow: 0 2px 8px rgba(255, 102, 0, 0.2);
}

#giftModal .oauth_sign .oauth-btn img {
    width: 20px;
    height: 20px;
}

/* User Agreement and Subscribe checkbox styles */
#giftModal .li_agreement {
    margin: 30px 0 0 0 !important;
    width: 100%;
    padding: 0;
    box-sizing: border-box;
}

#giftModal .li_agreement .form-check {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    margin: 0;
}

#giftModal .li_agreement .form-check-input {
    min-width: 18px;
    float: none !important;
    margin-left: 0 !important;
    position: static !important;
}

#giftModal .li_agreement .form-check-input:focus {
    box-shadow: 0 0 0 0.2rem rgba(255, 102, 0, 0.25);
    border-color: #e94560;
}

#giftModal .li_agreement .form-check-label {
    cursor: pointer;
    line-height: 1.4;
    font-size: 14px;
    margin-bottom: 0;
    flex: 1;
    text-align: left;
    line-height: 16px;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: inherit !important;
}

#giftModal .li_agreement .form-check-label span {
    font-size: 14px;
    color: #666 !important;
    display: inline !important;
    visibility: visible !important;
    opacity: 1 !important;
}

#giftModal .li_agreement a {
    color: #e94560;
}

#giftModal .li_agreement a:hover {
    font-weight: bold;
    color: #0a0a0a;
}

/* 专门针对Gift Modal的强制显示规则 - 最高优先级 */
#giftModal .questionnaire-box .li.li_agreement,
#giftModal .questionnaire-box .li.li_agreement * {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* 强制设置Gift Modal第一个复选框与下拉列表的间距 */
#giftModal .questionnaire-box .li.li_agreement {
    margin-top: 40px !important;
    padding-top: 10px !important;
}

/* 最高优先级 - 确保Gift Modal第一个复选框有足够的上边距 */
#giftModal .questionnaire-box form .li.li_agreement {
    margin-top: 50px !important;
    margin-bottom: 0 !important;
    padding-top: 15px !important;
    border-top: 1px solid transparent !important;
}

#giftModal .questionnaire-box .li.li_agreement .form-check {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

#giftModal .questionnaire-box .li.li_agreement .form-check-input {
    display: inline-block !important;
    position: static !important;
    float: none !important;
    margin: 0 !important;
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0 !important;
    order: 1 !important;
}

#giftModal .questionnaire-box .li.li_agreement .form-check-label {
    display: block !important;
    flex: 1 !important;
    order: 2 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
    font-size: 14px !important;
    color: #333 !important;
}

#giftModal .questionnaire-box .li.li_agreement .form-check-label span {
    display: inline !important;
    width: auto !important;
    color: #666 !important;
}

#giftModal .questionnaire-box .li.li_agreement a {
    display: inline !important;
    color: #e94560 !important;
    text-decoration: underline !important;
    visibility: visible !important;
}

/* 强制覆盖lr.css中隐藏span的规则 - Gift Modal */
#giftModal .li .span,
#giftModal .li_agreement .span,
#giftModal .orther .span,
#giftModal .form-check-label .span {
    display: inline !important;
    width: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
}

#giftModal .orther {
    float: left;
    width: 100%;
    line-height: 16px;
    margin: 2px 0 0 0 !important;
    display: flex;
    padding: 0;
    box-sizing: border-box;
}

#giftModal .orther .form-check {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    margin: 0;
}

#giftModal .orther .form-check-input {
    min-width: 18px;
    float: none !important;
    margin-left: 0 !important;
    position: static !important;
}

#giftModal .orther .form-check-label {
    cursor: pointer;
    flex: 1;
    text-align: left;
    line-height: 1.4;
    font-size: 14px;
    margin-bottom: 0;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: inherit !important;
}

#giftModal .orther .form-check-label span {
    font-size: 14px;
    color: #666 !important;
    display: inline !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Back button styles - matching login page */
#giftModal .back-login {
    float: left;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #000;
    background: transparent;
    color: #000;
    transition: all 0.3s ease;
    order: 1;
}

#giftModal .back-login:hover {
    background: #000;
    color: #fff;
}

#giftModal .back-login i {
    font-size: 16px;
}

/* Send Code button styles */
#giftModal .btn-get-code {
    height: 40px;
    width: 50%;
    padding: 0 20px;
    line-height: 40px;
    background: #e94560;
    color: #fff;
    border: none;
    font-size: 14px;
    font-family: 'MB';
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    box-sizing: border-box;
}

#giftModal .btn-get-code:hover {
    background: #e55a00;
}

/* Checkout Reminder Modal Highlight Styles */
#checkoutReminderModal .modal-content {
    border: 3px solid #e94560 !important;
    box-shadow: 0 10px 30px rgba(255, 102, 0, 0.3) !important;
    animation: checkoutHighlight 1.5s ease-in-out;
}

@keyframes checkoutHighlight {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 102, 0, 0.7);
        border-color: #e94560;
    }
    50% {
        box-shadow: 0 0 20px 10px rgba(255, 102, 0, 0.4);
        border-color: #ff8800;
    }
    100% {
        box-shadow: 0 10px 30px rgba(255, 102, 0, 0.3);
        border-color: #e94560;
    }
}

#checkoutReminderModal .modal-header {
    background: linear-gradient(135deg, #e94560, #ff8800) !important;
    color: white !important;
    border-bottom: 2px solid #e94560 !important;
}

#checkoutReminderModal .modal-title {
    color: white !important;
    font-weight: bold !important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3) !important;
}

#checkoutReminderModal .modal-header .close {
    color: white !important;
    opacity: 0.8 !important;
    text-shadow: none !important;
}

#checkoutReminderModal .modal-header .close:hover {
    opacity: 1 !important;
}

#checkoutReminderModal .modal-body{
    font-family: MR, "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
#checkoutReminderModal .modal-body .text-center{
    font-family: MR, "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-synthesis: none;
}

/* Safari专用修复：只动普通 checkbox，勿动 form-switch（否则 upload 卡片顶栏文件名会被 float 挤没） */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
    .form-check:not(.form-switch) {
        display: block !important;
        position: relative !important;
        padding-left: 0 !important;
        margin: 0 !important;
    }
    
    .form-check:not(.form-switch) .form-check-input,
    .form-check-input:not([role="switch"]) {
        position: static !important;
        float: left !important;
        margin: 2px 8px 0 0 !important;
        display: block !important;
    }
    
    .form-check:not(.form-switch) .form-check-label {
        display: block !important;
        overflow: hidden !important;
        padding-left: 0 !important;
        margin: 0 !important;
    }
}

/* 移动端Safari：同样排除 form-switch */
@media screen and (-webkit-min-device-pixel-ratio: 0) and (max-width: 768px) {
    .form-check:not(.form-switch) {
        display: block !important;
        position: relative !important;
        padding-left: 0 !important;
        margin: 0 !important;
        text-align: left !important;
    }
    
    .form-check:not(.form-switch) .form-check-input,
    .form-check-input:not([role="switch"]) {
        position: static !important;
        float: left !important;
        margin: 2px 8px 0 0 !important;
        display: block !important;
        clear: left !important;
    }
    
    .form-check:not(.form-switch) .form-check-label {
        display: block !important;
        overflow: hidden !important;
        padding-left: 0 !important;
        margin: 0 !important;
        clear: both !important;
    }
}

/* 最后的Safari修复 - 使用更具体的选择器 */
.lr_user .form-check,
.lr_modal .form-check,
#reg .form-check,
#login .form-check {
    display: block !important;
    position: relative !important;
    padding-left: 0 !important;
    margin: 0 !important;
    text-align: left !important;
}

.lr_user .form-check-input,
.lr_modal .form-check-input,
#reg .form-check-input,
#login .form-check-input {
    position: static !important;
    float: left !important;
    margin: 2px 8px 0 0 !important;
    display: block !important;
    clear: left !important;
}

.lr_user .form-check-label,
.lr_modal .form-check-label,
#reg .form-check-label,
#login .form-check-label {
    display: block !important;
    overflow: hidden !important;
    padding-left: 0 !important;
    margin: 0 !important;
}

/* 问卷调查区域 - 单选按钮和文本左右对齐展示 */
.questionnaire-box .form-check input[type="radio"] {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    width: 16px !important;
    height: 16px !important;
    border: 2px solid #ddd !important;
    border-radius: 50% !important;
    background-color: #fff !important;
    position: relative !important;
    display: inline-block !important;
    vertical-align: middle !important;
    margin: 0 8px 0 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
}

.questionnaire-box .form-check input[type="radio"]:checked {
    background-color: #e94560 !important;
    border-color: #e94560 !important;
}

.questionnaire-box .form-check input[type="radio"]:checked::after {
    content: '';
    position: absolute;
    left: 4px;
    top: 4px;
    width: 6px;
    height: 6px;
    background: white;
    border-radius: 50%;
}

.questionnaire-box .form-check {
    display: flex !important;
    align-items: center !important;
    padding: 8px 0 !important;
    margin: 0 !important;
}

.questionnaire-box .form-check-label {
    cursor: pointer !important;
    margin: 0 !important;
    font-size: 14px !important;
    color: #333 !important;
    display: flex !important;
    align-items: center !important;
}

/* 配置页面单选按钮和文本并列展示 - 两列布局 */
.option-item .form-check {
    display: flex !important;
    align-items: center !important;
    margin-bottom: 8px !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding: 6px 0 !important;
}

/* 直接为option-item内的所有form-check创建两列布局 */
.option-item {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    width: 100% !important;
    margin-top: 8px !important;
}

.option-item .form-check {
    margin-bottom: 0 !important;
    background: transparent !important;
    padding: 8px 12px !important;
    border-radius: 6px !important;
    border: none !important;
    transition: all 0.2s ease !important;
    min-height: 40px !important;
    display: flex !important;
    align-items: center !important;
}

.option-item .form-check:hover {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

/* 两列布局容器 - 备用方案 */
.option-item .form-check-container {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 15px !important;
    width: 100% !important;
    margin-top: 8px !important;
}

.option-item .form-check-container .form-check {
    margin-bottom: 0 !important;
    background: transparent !important;
    padding: 8px 12px !important;
    border-radius: 6px !important;
    border: none !important;
    transition: all 0.2s ease !important;
    min-height: 40px !important;
    display: flex !important;
    align-items: center !important;
}

.option-item .form-check-container .form-check:hover {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

.option-item .form-check input[type="radio"] {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    width: 18px !important;
    height: 18px !important;
    border: 2px solid #ddd !important;
    border-radius: 50% !important;
    background-color: #fff !important;
    position: relative !important;
    display: inline-block !important;
    vertical-align: middle !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    transition: all 0.2s ease !important;
}

.option-item .form-check input[type="radio"]:hover {
    border-color: #e94560 !important;
    transform: scale(1.05) !important;
}

.option-item .form-check input[type="radio"]:checked {
    background-color: #e94560 !important;
    border-color: #e94560 !important;
    transform: scale(1.1) !important;
}

.option-item .form-check input[type="radio"]:checked::after {
    content: '';
    position: absolute;
    left: 5px;
    top: 5px;
    width: 6px;
    height: 6px;
    background: white;
    border-radius: 50%;
    animation: radioCheck 0.2s ease-in-out;
}

@keyframes radioCheck {
    0% {
        transform: scale(0);
        opacity: 0;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

.option-item .form-check-label {
    cursor: pointer !important;
    margin: 0 !important;
    font-size: 14px !important;
    color: #333 !important;
    display: flex !important;
    align-items: center !important;
    flex: 1 !important;
    min-width: 0 !important;
    line-height: 1.4 !important;
    font-weight: 500 !important;
    transition: color 0.2s ease !important;
}

.option-item .form-check-label:hover {
    color: #e94560 !important;
}

/* 优化两列布局容器 */
.option-item .radio-group {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
    margin-top: 8px !important;
}

.option-item .radio-group .form-check {
    margin-bottom: 0 !important;
    background: transparent !important;
    padding: 8px 12px !important;
    border-radius: 6px !important;
    border: none !important;
    transition: all 0.2s ease !important;
}

.option-item .radio-group .form-check:hover {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

/* 手机端：材料 | Add-ons 同排，下方选项；尽量一屏看完 */
@media (max-width: 992px) {
    .materials .right-box .addons-info,
    .add-ons .right-box .addons-info{
        display:grid !important;
        grid-template-columns:minmax(0,1fr) minmax(0,1fr);
        column-gap:8px;row-gap:8px;padding:8px;align-items:stretch;
    }
    /* threed-plus 子项提升为网格子元素，便于 plus-top 上到第一排右侧 */
    .materials .right-box .addons-info .threed-plus,
    .add-ons .right-box .addons-info .threed-plus{
        display:contents;width:auto;
    }
    .materials .right-box .addons-info .material-info,
    .add-ons .right-box .addons-info .material-info{
        grid-column:1;grid-row:1;width:auto;border:1px solid #e5e7eb;border-radius:8px;
        padding:6px;margin:0;background:#fff;
        display:flex;flex-direction:row;align-items:center;gap:6px;min-width:0;min-height:0;
    }
    .materials .right-box .addons-info .material-info > *,
    .add-ons .right-box .addons-info .material-info > *{margin-bottom:0;}
    .materials .right-box .addons-info .material-info .image,
    .add-ons .right-box .addons-info .material-info .image{
        flex:0 0 48px;text-align:left;margin:0;
    }
    .materials .right-box .addons-info .material-info .image img,
    .add-ons .right-box .addons-info .material-info .image img{
        width:48px;height:48px;object-fit:cover;border-radius:6px;display:block;margin:0;
    }
    .materials .right-box .addons-info .material-info .title,
    .add-ons .right-box .addons-info .material-info .title{
        flex:1 1 auto;min-width:0;text-align:left;font-size:12px;line-height:1.25;margin:0;font-weight:700;
        overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
    }
    .materials .right-box .addons-info .material-info .content,
    .materials .right-box .addons-info .material-info .star-box,
    .materials .right-box .addons-info .material-info .strong,
    .materials .right-box .addons-info .material-info .functional,
    .materials .right-box .addons-info .material-info .visual,
    .add-ons .right-box .addons-info .material-info .content,
    .add-ons .right-box .addons-info .material-info .star-box,
    .add-ons .right-box .addons-info .material-info .strong,
    .add-ons .right-box .addons-info .material-info .functional,
    .add-ons .right-box .addons-info .material-info .visual{
        display:none !important;
    }
    .materials .right-box .addons-info .threed-plus .plus-top,
    .add-ons .right-box .addons-info .threed-plus .plus-top{
        grid-column:2;grid-row:1;display:flex;flex-direction:row;align-items:center;gap:6px;
        margin:0;padding:6px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;min-width:0;
    }
    .materials .right-box .addons-info .threed-plus .plus-top .plus-image,
    .add-ons .right-box .addons-info .threed-plus .plus-top .plus-image{
        flex:0 0 48px;text-align:left;
    }
    .materials .right-box .addons-info .threed-plus .plus-top .plus-image img,
    .add-ons .right-box .addons-info .threed-plus .plus-top .plus-image img{
        width:48px;height:48px;object-fit:cover;border-radius:6px;display:block;margin:0;
    }
    .materials .right-box .addons-info .threed-plus .plus-top .plus-content,
    .add-ons .right-box .addons-info .threed-plus .plus-top .plus-content{
        padding:0;max-height:48px;overflow:hidden;flex:1 1 auto;min-width:0;
    }
    .materials .right-box .addons-info .threed-plus .plus-top .plus-content .name,
    .add-ons .right-box .addons-info .threed-plus .plus-top .plus-content .name{
        font-size:12px;line-height:1.2;margin:0 0 1px;text-align:left;font-weight:700;
    }
    .materials .right-box .addons-info .threed-plus .plus-top .plus-content .content,
    .add-ons .right-box .addons-info .threed-plus .plus-top .plus-content .content,
    .materials .right-box .addons-info .threed-plus .plus-top .plus-content p,
    .add-ons .right-box .addons-info .threed-plus .plus-top .plus-content p{
        font-size:10px;line-height:1.25;margin:0;text-align:left;color:#555;
        display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
    }
    .materials .right-box .addons-info .threed-plus .plus-option,
    .materials .right-box .addons-info .threed-plus form,
    .materials .right-box .addons-info .threed-plus .plus-price-box,
    .add-ons .right-box .addons-info .threed-plus .plus-option,
    .add-ons .right-box .addons-info .threed-plus form,
    .add-ons .right-box .addons-info .threed-plus .plus-price-box{
        grid-column:1 / -1;
    }
    .materials .right-box .addons-info .threed-plus .plus-option,
    .add-ons .right-box .addons-info .threed-plus .plus-option{margin-bottom:6px;}
    .materials .right-box .addons-info .threed-plus .plus-option .head,
    .add-ons .right-box .addons-info .threed-plus .plus-option .head{
        font-size:13px;margin-bottom:2px;
    }
    .materials .right-box .addons-info .threed-plus .plus-option .option-list,
    .add-ons .right-box .addons-info .threed-plus .plus-option .option-list{
        gap:4px;padding:6px 8px;
    }
    .materials .right-box .addons-info .threed-plus .plus-option .option-list .option-note textarea,
    .add-ons .right-box .addons-info .threed-plus .plus-option .option-list .option-note textarea{
        min-height:48px;font-size:12px;padding:6px 8px;
    }
    .materials .right-box .addons-info .threed-plus .plus-price-box,
    .add-ons .right-box .addons-info .threed-plus .plus-price-box{
        flex-direction:column;align-items:stretch;gap:6px;margin-top:4px;
    }
    .materials .right-box .addons-info .threed-plus .plus-price,
    .add-ons .right-box .addons-info .threed-plus .plus-price{
        text-align:left;margin-top:0;font-size:13px;
    }
    .materials .right-box .addons-info .threed-plus .plus-bottom,
    .add-ons .right-box .addons-info .threed-plus .plus-bottom{
        text-align:left;margin-top:0;
    }
    .materials .right-box .addons-info .threed-plus .plus-bottom .btn-next,
    .add-ons .right-box .addons-info .threed-plus .plus-bottom .btn-next,
    .materials .right-box .addons-info .threed-plus .plus-bottom .js-aihfabs-lets-compare,
    .add-ons .right-box .addons-info .threed-plus .plus-bottom .js-aihfabs-lets-compare{
        width:100%;min-width:0;display:inline-flex;justify-content:center;padding:12px 16px;font-size:15px;
    }

    /* 单选：radio + 文案左右排列，两列紧凑 */
    .option-item {
        grid-template-columns: 1fr 1fr !important;
        gap: 2px 6px !important;
        margin-top: 0 !important;
    }
    .option-item .radio-group,
    .option-item .form-check-container {
        grid-template-columns: 1fr 1fr !important;
        gap: 2px 6px !important;
        margin-top: 0 !important;
    }
    .option-item .form-check {
        margin-bottom: 0 !important;
        padding: 2px 4px !important;
        min-height: 0 !important;
        gap: 5px !important;
        flex-wrap: nowrap !important;
    }
    .option-item .form-check-label {
        font-size: 12px !important;
        line-height: 1.2 !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .option-item .form-check input[type="radio"] {
        width: 15px !important;
        height: 15px !important;
    }
    .option-item .form-check input[type="radio"]:checked::after {
        left: 3px !important;
        top: 3px !important;
        width: 5px !important;
        height: 5px !important;
    }
    .option-item .form-check input[type="radio"]:hover,
    .option-item .form-check input[type="radio"]:checked {
        transform: none !important;
    }
}

/* 登录弹窗视觉样式已统一到 /User/Css/lr.css；此处仅保留 z-index 规则（见上方 1000100） */

/* Scale / production note modals above cookie bar & upload UI */
#scaleModal,
#editNoteModal {
    z-index: 999999 !important;
}
