.contentBox .rightBox {
    -webkit-transition: all 0.5s 0s ease;
    transition: all 0.5s 0s ease;
}
.contentBox .rightBox.ajaxDisabled {
    opacity: 0.15;
    pointer-events: none;
}
.filterFuncList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 20px;
}
@media (max-width: 1024px) {
    .filterFuncList:not(.pop) {
        display: none;
    }
}
.moduleBoxFilter .moduleTitle {
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: 0.5px;
    text-align: center;
}
.moduleBoxFilter .filterBox {
    margin: 30px 0 40px;
    position: relative;
}
@media (max-width: 640px) {
    .moduleBoxFilter .filterBox {
        margin: 15px 0 20px;
    }
}
.moduleBoxFilter .filterBox .filterTitle {
    width: 100%;
    border-bottom: 1px solid #e1e1e1;
    line-height: 1.2;
    letter-spacing: 0.5px;
    margin: 15px 0;
    padding-bottom: 15px;
}
@media (max-width: 640px) {
    .moduleBoxFilter .filterBox .filterTitle {
        margin: 10px 0;
        padding-bottom: 10px;
    }
}
.moduleBoxFilter .filterBox .filterList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
@media (max-width: 640px) {
    .moduleBoxFilter .filterBox .filterList {
        padding: 0;
    }
}
.moduleBoxFilter .filterBox .filterList .filterItem {
    width: 25%;
    line-height: 1.2;
    letter-spacing: 0.5px;
}
@media (max-width: 1024px) {
    .moduleBoxFilter .filterBox .filterList .filterItem {
        width: 33.3333333333%;
    }
}
@media (max-width: 640px) {
    .moduleBoxFilter .filterBox .filterList .filterItem {
        width: 50%;
    }
}
@media (max-width: 480px) {
    .moduleBoxFilter .filterBox .filterList .filterItem {
        width: 100%;
    }
}
.moduleBoxFilter .filterBox .filterList .filterItem a {
    display: block;
    position: relative;
    padding: 10px 10px 10px 35px;
}
.moduleBoxFilter .filterBox .filterList .filterItem a:after,
.moduleBoxFilter .filterBox .filterList .filterItem a:before {
    content: "";
    width: 14px;
    height: 14px;
    border: 1px solid #626262;
    border-radius: 3px;
    display: block;
    position: absolute;
    top: 12px;
    left: 10px;
    z-index: 1;
    -webkit-transition: all 0.5s 0s ease;
    transition: all 0.5s 0s ease;
}
.moduleBoxFilter .filterBox .filterList .filterItem a.selected {
    color: #f6c311;
}
.moduleBoxFilter .filterBox .filterList .filterItem a.selected:before {
    border-color: #f6c311;
}
.moduleBoxFilter .filterBox .filterList .filterItem a.selected:after {
    background-color: #f6c311;
    border-color: #f6c311;
}
.moduleBoxFilter .filterBox .filterList .filterItem a.forbidden {
    background-color: rgba(248, 248, 248, 0.5);
    color: rgba(47, 47, 47, 0.3);
    pointer-events: none;
}
.moduleBoxFilter .filterBox .filterList .filterItem a.forbidden:after,
.moduleBoxFilter .filterBox .filterList .filterItem a.forbidden:before {
    border-color: rgba(98, 98, 98, 0.1);
}
@media (max-width: 480px) {
    .moduleBoxFilter .filterBox .filterList .filterItem a {
        padding-left: 30px;
    }
    .moduleBoxFilter .filterBox .filterList .filterItem a:after,
    .moduleBoxFilter .filterBox .filterList .filterItem a:before {
        left: 5px;
    }
}
.moduleBoxFilter .filterFuncList {
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
}
.sideClassList {
    width: 100%;
}
.sideClassList .rangeBox {
    background-color: #fff;
}
@media (min-width: 1201px) {
    .sideClassList .rangeBox:hover {
        background-color: #fff;
    }
}
.rangeBox {
    background-color: #f1f1f1;
    -webkit-transition: all 0.5s 0s ease;
    transition: all 0.5s 0s ease;
    -webkit-animation: aniSlideLeft 0.5s 0.3s ease-out both;
    animation: aniSlideLeft 0.5s 0.3s ease-out both;
}
@media (min-width: 1201px) {
    .rangeBox:hover {
        background-color: #e8e8e8;
    }
}
.rangeBox label {
    cursor: pointer;
    position: relative;
    padding: 15px 15px 15px;
    padding-left: 45px;
    display: block;
    line-height: 1.2;
    letter-spacing: 0.5px;
}
.rangeBox label input {
    display: none;
}
.rangeBox label.selected {
    color: #f6c311;
}
.rangeBox label.selected:before {
    background-color: #f6c311;
}
.rangeBox label.selected:after {
    background-color: #f6c311;
    border-color: #f6c311;
}
.rangeBox label:before {
    content: "";
    width: 14px;
    height: 14px;
    border: 1px solid #626262;
    background-color: #fff;
    border-radius: 3px;
    display: block;
    position: absolute;
    top: 50%;
    left: 16px;
    z-index: 1;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
.rangeBox label:after {
    content: "";
    width: 14px;
    height: 14px;
    border: 1px solid #626262;
    background-color: #fff;
    border-radius: 3px;
    display: block;
    position: absolute;
    top: 50%;
    left: 16px;
    z-index: 1;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
.rangeBox .rangeBar {
    padding: 10px 22px;
    height: 100%;
}
.rangeBox .rangeBar.selected .noUi-connects {
    background-color: #f6c311;
}
.rangeBox .rangeBar.selected .noUi-connect {
    cursor: pointer;
    background-color: #fff;
}
.rangeBox .noUi-vertical {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 4px;
}
.rangeBox .noUi-vertical .noUi-handle {
    cursor: pointer;
    width: 12px;
    height: 12px;
    top: -6px;
    right: -4px;
    background-color: #f6c311;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-radius: 50%;
    border: 1px solid #fff;
}
.rangeBox .noUi-vertical .noUi-handle:after,
.rangeBox .noUi-vertical .noUi-handle:before {
    display: none;
}
.rangeBox .noUi-horizontal {
    height: 4px;
}
.rangeBox .noUi-horizontal .noUi-handle {
    cursor: pointer;
    width: 12px;
    height: 12px;
    top: -4px;
    right: -6px;
    background-color: #f6c311;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-radius: 50%;
    border: 1px solid #fff;
}
.rangeBox .noUi-horizontal .noUi-handle:after,
.rangeBox .noUi-horizontal .noUi-handle:before {
    display: none;
}
.rangeBox .noUi-target {
    border-radius: 0;
    border: none;
}
.rangeBox .noUi-tooltip {
    right: auto;
    left: 120%;
    font-size: 12px;
    padding: 2px 3px;
    border: none;
    display: none;
}
.rangeBox .noUi-active .noUi-tooltip {
    display: block;
}
.rangeBox.noUi-target {
    background-color: #d2d2d2;
    border: none;
}
.rangeBox .noUi-connects {
    cursor: pointer;
}
.rangeBox .noUi-connect {
    background-color: #f6c311;
}
.rangeBox .rangeInput {
    padding: 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.rangeBox .rangeInput input {
    padding: 5px;
    width: calc(50% - 10px);
    border: 1px solid #bbb;
}
.classBoxColumn.filter {
    z-index: 3;
}
@media (max-width: 1024px) {
    .classBoxColumn.filter {
        margin-bottom: 20px;
    }
    .classBoxColumn.filter:not(.pop) {
        display: none;
    }
}
.classBoxColumn.filter .classLink .linkHasItems.open + ul > li a {
    padding-left: 45px;
}
.classBoxColumn.filter .classLink .linkHasItems.open + ul > li a:after,
.classBoxColumn.filter .classLink .linkHasItems.open + ul > li a:before {
    content: "";
    width: 14px;
    height: 14px;
    border: 1px solid #626262;
    background-color: #fff;
    border-radius: 3px;
    display: block;
    position: absolute;
    top: 50%;
    left: 16px;
    z-index: 1;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
.classBoxColumn.filter .classLink .linkHasItems.open + ul > li a.selected {
    color: #f6c311;
}
.classBoxColumn.filter .classLink .linkHasItems.open + ul > li a.selected:before {
    border-color: #f6c311;
}
.classBoxColumn.filter .classLink .linkHasItems.open + ul > li a.selected:after {
    background-color: #f6c311;
    border-color: #f6c311;
}
.classBoxColumn.filter .classLink .linkHasItems.open + ul > li a.forbidden {
    background-color: rgba(248, 248, 248, 0.5);
    color: rgba(47, 47, 47, 0.3);
    pointer-events: none;
}
.classBoxColumn.filter .classLink .linkHasItems.open + ul > li a.forbidden:after,
.classBoxColumn.filter .classLink .linkHasItems.open + ul > li a.forbidden:before {
    border-color: rgba(98, 98, 98, 0.1);
}
.noData {
    color: #2f2f2f;
    font-size: 16px;
    letter-spacing: 0.05rem;
    line-height: 1.5;
}
.catalogBox {
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
}
.catalogBox.hide {
    pointer-events: none;
    opacity: 0;
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
}
.catalogList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -15px;
}
@media (max-width: 640px) {
    .catalogList {
        margin: 0;
    }
}
.catalogList .catalogItem {
    width: 33.3333333333%;
    padding: 0 15px 35px;
}
@media (max-width: 1024px) {
    .catalogList .catalogItem {
        width: 50%;
    }
}
@media (max-width: 640px) {
    .catalogList .catalogItem {
        width: 100%;
        padding: 0 0 30px;
    }
}
.catalogList .item {
    height: 100%;
    -webkit-box-shadow: 3px 3px 15px rgba(0, 0, 0, 0.1);
    box-shadow: 3px 3px 15px rgba(0, 0, 0, 0.1);
    border-radius: 6px;
    overflow: hidden;
}
.catalogList .Img {
    position: relative;
    z-index: 1;
}
.catalogList .Img .coverLink {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: rgba(21, 58, 51, 0.9);
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.03rem;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    opacity: 0;
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
    width: 100%;
    height: 100%;
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    -webkit-transition: all 0.5s 0s ease;
    transition: all 0.5s 0s ease;
}
.catalogList .Img:before {
    -webkit-box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15);
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15);
    color: #fff;
    display: block;
    line-height: 1;
    letter-spacing: 0.5px;
    padding: 8px 25px;
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
    text-align: center;
    -webkit-transform-origin: top left;
    transform-origin: top left;
}
.catalogList .Img.statusNew:before {
    content: "NEW";
    background-color: #f6c311;
    border: 1px solid #f6c311;
}
.catalogList .Img.statusHot:before {
    content: "HOT";
    background-color: #f6c311;
    border: 1px solid #f6c311;
}
.catalogList .Img a {
    display: block;
    overflow: hidden;
}
.catalogList .Img img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: auto;
    display: block;
    -webkit-transition: all 0.5s 0s ease;
    transition: all 0.5s 0s ease;
    object-fit: cover;
    height: 300px;
}
@media (min-width: 1201px) {
    .catalogList .Img:hover .coverLink {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}
.catalogList .Txt {
    padding: 20px 18px;
    position: relative;
    z-index: 1;
}
.catalogList .Txt .textBox {
    margin-top: 10px;
}
.catalogList .Txt .textBox .no {
    color: #333;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.05rem;
    padding-bottom: 11px;
    position: relative;
}
.catalogList .Txt .textBox .no:after {
    content: "";
    pointer-events: none;
    position: absolute;
    width: 30px;
    height: 1px;
    background-color: #f6c311;
    bottom: 0;
    left: 0;
    z-index: 2;
}
.catalogList .Txt .textBox .title {
    color: #0f0f0f;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.05rem;
    text-align: left;
    margin-top: 11px;
}
.catalogList .Txt .textBox .title a {
    color: #0f0f0f;
    display: block;
}
@media (min-width: 1201px) {
    .catalogList .Txt .textBox .title:hover a {
        color: #f6c311;
    }
}
@media (max-width: 1200px) {
    .catalogList .Txt .textBox .title {
        font-size: 18px;
    }
}
.catalogList .Txt .textBox .text {
    height: 60px;
    margin-top: 10px;
    color: #8c8c8c;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.05rem;
    text-align: left;
}
@media (max-width: 1200px) {
    .catalogList .Txt .textBox .text {
        font-size: 14px;
    }
}
.catalogList .Txt .btnBox {
    margin-top: 15px;
}
.catalogList .price {
    margin-top: 10px;
}
.catalogList .price strong {
    display: inline-block;
    margin: 0 5px;
}
.catalogList .price .discount b {
    font-style: italic;
    font-size: 18px;
    color: #0f0f0f;
}
.insIntroBox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
@media (max-width: 768px) {
    .insIntroBox {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
}
.insIntroBox .introBox {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}
@media (max-width: 768px) {
    .insIntroBox .introBox {
        -webkit-box-flex: 1;
        -ms-flex: auto;
        flex: auto;
    }
}
.insIntroBox .introBox .articleTitle {
    margin-bottom: 15px;
    padding: 0 0 15px 0;
}
.insIntroBox .introBox .code {
    color: #333;
    display: block;
    font-size: 16px;
    font-weight: 400;
}
.insIntroBox .introBox .tagBox {
    padding: 15px 0 0;
}
.insIntroBox .introBox .tagBox ul {
    margin: 0 -3px;
}
.insIntroBox .introBox .tagBox ul li {
    padding: 0 3px;
    position: relative;
}
.insIntroBox .introBox .tagBox ul li:before {
    content: "#";
    display: inline-block;
    font-style: italic;
    padding-right: 3px;
}
.insIntroBox .introBox .Txt {
    margin-top: 20px;
    line-height: 1.6;
    font-size: 15px;
    color: #6c6c6c;
}
.insIntroBox .introBox .btnBox {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin-top: 30px;
}
.insIntroBox .introBox .btnBox .btn {
    max-width: 180px;
}
.specTableBox .specTable {
    width: 100%;
    border: 1px solid #bbbcbc;
}
.specTableBox .specTable .specTableRow {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.specTableBox .specTable .specTableRowHead {
    background-color: #f6c311;
}
.specTableBox .specTable .specTableRowHead .specTableColumn {
    color: #fff;
    font-size: 15px;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding: 10px 15px;
}
@media (max-width: 1024px) {
    .specTableBox .specTable .specTableRowHead .specTableColumn {
        padding: 10px 12px;
    }
}
.specTableBox .specTable .specTableRowContent:nth-child(odd) {
    background-color: #f8f8f8;
}
.specTableBox .specTable .specTableRowContent:last-child .specTableColumn {
    border-bottom: none;
}
.specTableBox .specTable .specTableRowContent .specTableColumn {
    font-size: 14px;
    padding: 15px;
}
.specTableBox .specTable .specTableRowContent .specTableColumn:first-child {
    color: #000;
    font-weight: 500;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 200px;
    flex: 0 0 200px;
}
.specTableBox .specTable .specTableRowContent .specTableColumn:not(:first-child) {
    color: #4a4a4a;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}
@media (max-width: 1024px) {
    .specTableBox .specTable .specTableRowContent .specTableColumn {
        padding: 10px 12px;
    }
    .specTableBox .specTable .specTableRowContent .specTableColumn:first-child {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 160px;
        flex: 0 0 160px;
    }
}
@media (max-width: 640px) {
    .specTableBox .specTable .specTableRowContent .specTableColumn:first-child {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 120px;
        flex: 0 0 120px;
    }
}
.specTableBox .btnBox {
    margin-top: 30px;
}
.compareBox {
    width: 100%;
    position: relative;
}
.compareBox .note {
    text-align: center;
    padding: 20px 0;
}
.compareBox .tableWrap {
    width: 100%;
    overflow: auto;
}
.compareBox .tableWrap.dragscroll {
    cursor: move;
}
.compareBox .tableWrap.dragscroll::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.15);
    box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.15);
    background-color: #f1f1f1;
}
.compareBox .tableWrap.dragscroll::-webkit-scrollbar {
    width: 5px;
    height: 5px;
    background-color: #f1f1f1;
}
.compareBox .tableWrap.dragscroll::-webkit-scrollbar-thumb {
    background: #f6c311;
}
.compareBox .compareTable {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.5px;
    line-height: 20px;
    text-align: center;
    position: relative;
}
.compareBox [scope="row"] {
    width: 200px;
    min-width: 120px;
    background-color: #f1f1f1;
    vertical-align: middle;
    font-weight: 400;
}
.compareBox .stickyField {
    position: sticky;
    z-index: 2;
    left: 0;
    top: auto;
}
.compareBox td,
.compareBox th {
    padding: 5px 10px;
}
.compareBox td:not(:last-child),
.compareBox th:not(:last-child) {
    border-right: 1px solid #ccc;
}
.compareBox tbody tr {
    border-top: 1px solid #ccc;
}
.compareBox tbody tr:nth-child(odd) {
    background-color: #f8f8f8;
}
.compareBox tbody .tdContent {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    min-height: 60px;
}
.compareBox .tableHeadWrap {
    counter-reset: index;
    position: sticky;
    top: 0;
    background-color: #fff;
    z-index: 3;
}
.compareBox .tableHeadItem {
    min-width: 200px;
    counter-increment: index;
    position: relative;
    padding: 10px 20px;
}
.compareBox .tableHeadItem:before {
    content: counter(index, decimal-leading-zero);
    display: block;
    padding: 10px 0;
}
.compareBox .tableHeadItem .ImgWrap {
    width: 100%;
    max-width: 200px;
    display: block;
    margin: 0 auto;
    overflow: hidden;
}
.compareBox .tableHeadItem .ImgWrap img {
    width: 100%;
    height: auto;
    display: block;
    -webkit-transition: all 0.5s 0s ease;
    transition: all 0.5s 0s ease;
}
@media (min-width: 1201px) {
    .compareBox .tableHeadItem .ImgWrap:hover img {
        opacity: 0.8;
        -webkit-transform: scale(1.05);
        transform: scale(1.05);
    }
}
.compareBox .tableHeadItem .title {
    width: 100%;
    color: #333;
    display: block;
    line-height: 1.5;
    letter-spacing: 1px;
    margin: 10px 0;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.compareBox .tableHeadItem .title a {
    display: block;
}
.compareBox .tableHeadItem .deleteBtn {
    width: 40px;
    height: 40px;
    background-color: transparent;
    border: none;
    cursor: pointer;
    color: #333;
    font-size: 18px;
    outline: none;
    padding: 0;
    position: absolute;
    top: 5px;
    right: 0;
    z-index: 1;
    -webkit-transition: all 0.5s 0s ease;
    transition: all 0.5s 0s ease;
}
@media (min-width: 1201px) {
    .compareBox .tableHeadItem .deleteBtn:hover {
        color: #f6c311;
    }
}
.compareBox .btnBox {
    padding-top: 30px;
}

ul.pp {
  list-style: none; /* 移除預設項目符號 */
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap; /* 自動換行 */
  margin-top: 10px;
}

ul.pp li {
  width: 50%; /* 一行兩個 */
  box-sizing: border-box;
  /*padding: 8px 15px;*/
  padding: 8px 0;
  border-bottom: 1px dashed #ccc; /* 淡灰色虛線 */
  position: relative;
}

ul.pp li::before {
  content: ""; /* 前置符號 */
  position: absolute;
  left: 0;
  color: #333;
  font-weight: bold;
}

ul.pp.ppp li {
  width: 100%; /* 一行兩個 */
}

/* 如果最後一行有 2 個項目，這兩個都拿掉底線 */
ul.pp li:nth-last-child(-n+2):nth-child(odd),
ul.pp li:nth-last-child(-n+2):nth-child(even) {
  border-bottom: none;
}

/* 如果切換到一行 1 個（像 .ppp）就只移除最後一個 */
ul.pp.ppp li:nth-last-child(-n+2):nth-child(odd),
ul.pp.ppp li:nth-last-child(-n+2):nth-child(even) {
  border-bottom: 1px dashed #ccc;
}

ul.pp.ppp li:last-child {
  border-bottom: none !important;
}

.ptpt {
    background: #f6c311;
    padding: 1px 6px;
    color: #fff;
    border-radius: 3px;
}

.textEditor .contentBuilder .shelfWrap .Img img {
    width: 100%;
    height: 300px;
    object-fit: cover;
}

.textEditor .subtitle {
    /*color: #0f0f0f;*/
}

.paragraph {
    line-height: 1.5;
}

.textEditor .title {
    padding-top:0;
}

.textEditor .title2 {
    font-size: 21px;
    text-align: center;
}

.textEditor h2.title3 {
    font-size: 32px;
    text-align: center;
}

.textEditor ul:not(.df) {
    padding-left: 0;
    list-style: none;
}


/* 容器比例可改；預設 16:9，可依需求換 56.25%→(高/寬*100%) */
.compare{
  position:relative; width:100%; max-width:900px; margin:auto;
  aspect-ratio: 4/3; /* 若需舊瀏覽器：可用 padding-top:56.25% 並加內層絕對定位 */
  user-select:none; touch-action:none; overflow:hidden; background:#fff;
}
.compare-img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
/* 上層圖片透過 clip-path 控制可視寬度（效能佳） */
.compare-before{clip-path:polygon(0 0, var(--cut,50%) 0, var(--cut,50%) 100%, 0 100%);}
.compare-after{z-index:1;}
.compare-before{z-index:2;}

.compare-handle{
  position:absolute; top:0; bottom:0; left:var(--cut,50%); width:2px;
  background:rgba(255,255,255,.9); transform:translateX(-1px); z-index:3;
  box-shadow:0 0 0 1px rgba(0,0,0,.25);
}
.compare-dot{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:38px; height:38px; border-radius:50%;
  background:rgba(255,255,255,.95); box-shadow:0 2px 8px rgba(0,0,0,.3);
}
.compare-dot:before, .compare-dot:after{
  content:""; position:absolute; top:50%; width:10px; height:10px; border-top:2px solid #333; border-left:2px solid #333;
}
.compare-dot:before{left:9px; transform:translateY(-50%) rotate(-45deg);}   /* ← */
.compare-dot:after {right:9px; transform:translateY(-50%) rotate(135deg);} /* → */

.compare-badge{
  position:absolute; bottom:10px; padding:.35rem .6rem; font-size:.85rem; color:#fff;
  background:rgba(0,0,0,.6); border-radius:.5rem; z-index:4;
  transition:opacity .25s ease;
}
.compare-badge-left{left:10px;}
.compare-badge-right{right:10px;}


.textEditor .contentBuilder .shelfWrap .Img .compare img {
    height: auto;
}