.jwd-spc {
    --jwd-spc-gap: 36px;
    --jwd-spc-current-cols: var(--jwd-spc-desktop, 4);
    width: 100% !important;
    max-width: 100% !important;
    position: relative !important;
    margin: 0 auto !important;
    padding: 10px 0 18px !important;
    box-sizing: border-box !important;
    clear: both !important;
    overflow: visible !important;
}
.jwd-spc,
.jwd-spc * { box-sizing: border-box !important; }
.jwd-spc a { text-decoration: none !important; box-shadow: none !important; }
.jwd-spc-title {
    margin: 0 0 24px !important;
    text-align: center !important;
    font-size: 28px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
}
.jwd-spc-shell {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 42px !important;
    overflow: visible !important;
}
.jwd-spc-viewport {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    position: relative !important;
}
.jwd-spc-track {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    flex-wrap: nowrap !important;
    gap: var(--jwd-spc-gap) !important;
    transition: transform .35s ease !important;
    will-change: transform !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    width: auto !important;
    max-width: none !important;
}
.jwd-spc-item {
    flex: 0 0 calc((100% - (var(--jwd-spc-current-cols) - 1) * var(--jwd-spc-gap)) / var(--jwd-spc-current-cols)) !important;
    width: calc((100% - (var(--jwd-spc-current-cols) - 1) * var(--jwd-spc-gap)) / var(--jwd-spc-current-cols)) !important;
    max-width: none !important;
    min-width: 0 !important;
    float: none !important;
    clear: none !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    text-align: center !important;
    padding: 0 0 14px !important;
    margin: 0 !important;
    background: #fff !important;
    overflow: visible !important;
}
.jwd-spc-image-link {
    display: block !important;
    width: 100% !important;
    text-decoration: none !important;
}
.jwd-spc-image-wrap {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 245px !important;
    padding: 0 8px !important;
    margin: 0 !important;
    background: #fff !important;
    overflow: visible !important;
}
.jwd-spc-image-wrap img {
    display: block !important;
    width: 100% !important;
    max-width: 260px !important;
    height: 230px !important;
    max-height: 230px !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    position: static !important;
    transform: none !important;
}
.jwd-spc-badge {
    position: absolute !important;
    top: 0 !important;
    right: 14px !important;
    z-index: 2 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 58px !important;
    min-height: 54px !important;
    padding: 6px 9px 10px !important;
    color: #fff !important;
    background: linear-gradient(90deg, #93bf3f 0%, #6a9f19 100%) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.05 !important;
    white-space: pre-line !important;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 84%, 0 100%) !important;
}
.jwd-spc-product-title,
.jwd-spc .jwd-spc-product-title {
    display: block !important;
    min-height: 52px !important;
    margin: 20px 0 18px !important;
    padding: 0 8px !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
    color: #111 !important;
    text-align: center !important;
    letter-spacing: normal !important;
    clear: both !important;
}
.jwd-spc-product-title a {
    display: inline !important;
    color: inherit !important;
    text-decoration: none !important;
}
.jwd-spc-product-title a:hover { color: #0f7a35 !important; }
.jwd-spc-price,
.jwd-spc .price,
.jwd-spc .jwd-spc-price {
    display: block !important;
    min-height: 34px !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    font-size: 22px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    color: #2f3a4d !important;
    text-align: center !important;
    clear: both !important;
    position: static !important;
    transform: none !important;
}
.jwd-spc-price del { opacity: .55 !important; font-size: .82em !important; }
.jwd-spc-price ins { text-decoration: none !important; background: transparent !important; }
.jwd-spc-buttons,
.jwd-spc .jwd-spc-buttons {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    clear: both !important;
    position: static !important;
    transform: none !important;
    overflow: visible !important;
}
.jwd-spc .jwd-spc-btn,
.jwd-spc a.jwd-spc-btn,
.woocommerce .jwd-spc a.jwd-spc-btn,
.woocommerce-page .jwd-spc a.jwd-spc-btn,
.elementor .jwd-spc a.jwd-spc-btn {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: none !important;
    min-width: 112px !important;
    min-height: 56px !important;
    height: 56px !important;
    padding: 13px 16px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    background: #0b7833 !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: normal !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: static !important;
    float: none !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    box-shadow: none !important;
    overflow: visible !important;
    z-index: auto !important;
    transition: background-color .2s ease, color .2s ease !important;
}
.jwd-spc .jwd-spc-btn:hover,
.jwd-spc .jwd-spc-btn:focus,
.woocommerce .jwd-spc a.jwd-spc-btn:hover,
.woocommerce-page .jwd-spc a.jwd-spc-btn:hover,
.elementor .jwd-spc a.jwd-spc-btn:hover,
.woocommerce .jwd-spc a.jwd-spc-btn:focus,
.woocommerce-page .jwd-spc a.jwd-spc-btn:focus,
.elementor .jwd-spc a.jwd-spc-btn:focus {
    background: #76ad2d !important;
    color: #fff !important;
    transform: none !important;
}
.jwd-spc-arrow,
.jwd-spc button.jwd-spc-arrow {
    position: absolute !important;
    top: 43% !important;
    z-index: 5 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid #e6e9ee !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #333 !important;
    font-size: 32px !important;
    line-height: 1 !important;
    font-weight: 300 !important;
    text-align: center !important;
    cursor: pointer !important;
    opacity: 1 !important;
    visibility: visible !important;
    box-shadow: none !important;
    transform: none !important;
}
.jwd-spc-prev { left: 0 !important; }
.jwd-spc-next { right: 0 !important; }
.jwd-spc-arrow:hover,
.jwd-spc-arrow:focus {
    border-color: #0b7833 !important;
    color: #0b7833 !important;
    background: #fff !important;
}
.jwd-spc-arrow[disabled] {
    opacity: .25 !important;
    cursor: default !important;
}
.jwd-spc-arrow[disabled]:hover {
    border-color: #e6e9ee !important;
    color: #333 !important;
}
@media (max-width: 1024px) {
    .jwd-spc { --jwd-spc-current-cols: var(--jwd-spc-tablet, 2); --jwd-spc-gap: 24px; }
    .jwd-spc-shell { padding: 0 34px !important; }
    .jwd-spc-image-wrap { min-height: 220px !important; }
    .jwd-spc-image-wrap img { height: 205px !important; max-height: 205px !important; }
}
@media (max-width: 640px) {
    .jwd-spc { --jwd-spc-current-cols: var(--jwd-spc-mobile, 1); --jwd-spc-gap: 18px; padding-top: 0 !important; }
    .jwd-spc-shell { padding: 0 26px !important; }
    .jwd-spc-image-wrap { min-height: 210px !important; }
    .jwd-spc-image-wrap img { height: 195px !important; max-height: 195px !important; max-width: 230px !important; }
    .jwd-spc-product-title { font-size: 16px !important; min-height: auto !important; margin-top: 14px !important; }
    .jwd-spc-price { font-size: 20px !important; }
    .jwd-spc-buttons { gap: 8px !important; }
    .jwd-spc .jwd-spc-btn,
    .woocommerce .jwd-spc a.jwd-spc-btn,
    .woocommerce-page .jwd-spc a.jwd-spc-btn,
    .elementor .jwd-spc a.jwd-spc-btn {
        min-width: 104px !important;
        min-height: 50px !important;
        height: 50px !important;
        padding: 12px 12px !important;
        font-size: 16px !important;
    }
    .jwd-spc-arrow { width: 38px !important; height: 38px !important; min-width: 38px !important; min-height: 38px !important; font-size: 28px !important; }
    .jwd-spc-prev { left: -2px !important; }
    .jwd-spc-next { right: -2px !important; }
    .jwd-spc-badge { right: 8px !important; font-size: 15px !important; min-width: 50px !important; min-height: 48px !important; }
}

/* v1.0.3 強制隔離按鈕：避免佈景、Elementor、WooCommerce 樣式覆蓋造成重疊 */
.jwd-spc { --jwd-spc-gap: 28px !important; }
.jwd-spc-track { gap: 28px !important; }
.jwd-spc-item {
    flex-basis: calc((100% - (var(--jwd-spc-current-cols, 4) - 1) * 28px) / var(--jwd-spc-current-cols, 4)) !important;
    width: calc((100% - (var(--jwd-spc-current-cols, 4) - 1) * 28px) / var(--jwd-spc-current-cols, 4)) !important;
}
.jwd-spc .jwd-spc-buttons,
.woocommerce .jwd-spc .jwd-spc-buttons,
.woocommerce-page .jwd-spc .jwd-spc-buttons,
.elementor .jwd-spc .jwd-spc-buttons {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 10px !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    float: none !important;
    clear: both !important;
    overflow: hidden !important;
    z-index: 10 !important;
}
.jwd-spc .jwd-spc-buttons > a.jwd-spc-btn,
.woocommerce .jwd-spc .jwd-spc-buttons > a.jwd-spc-btn,
.woocommerce-page .jwd-spc .jwd-spc-buttons > a.jwd-spc-btn,
.elementor .jwd-spc .jwd-spc-buttons > a.jwd-spc-btn,
body .jwd-spc .jwd-spc-buttons > a.jwd-spc-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    padding: 0 8px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #0b7833 !important;
    color: #fff !important;
    font-size: clamp(15px,1.25vw,18px) !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: normal !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-indent: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    translate: none !important;
    float: none !important;
    box-shadow: none !important;
    vertical-align: top !important;
}
.jwd-spc .jwd-spc-buttons > a.jwd-spc-btn:hover,
.jwd-spc .jwd-spc-buttons > a.jwd-spc-btn:focus {
    background: #76ad2d !important;
    color: #fff !important;
    text-decoration: none !important;
    transform: none !important;
}
.jwd-spc .jwd-spc-buttons > a.jwd-spc-btn::before,
.jwd-spc .jwd-spc-buttons > a.jwd-spc-btn::after {
    display: none !important;
    content: none !important;
}
@media (max-width: 1024px) {
    .jwd-spc { --jwd-spc-current-cols: var(--jwd-spc-tablet, 2) !important; }
    .jwd-spc-track { gap: 22px !important; }
    .jwd-spc-item {
        flex-basis: calc((100% - (var(--jwd-spc-current-cols, 2) - 1) * 22px) / var(--jwd-spc-current-cols, 2)) !important;
        width: calc((100% - (var(--jwd-spc-current-cols, 2) - 1) * 22px) / var(--jwd-spc-current-cols, 2)) !important;
    }
}
@media (max-width: 640px) {
    .jwd-spc { --jwd-spc-current-cols: var(--jwd-spc-mobile, 1) !important; }
    .jwd-spc-buttons { padding: 0 6px !important; gap: 8px !important; }
    .jwd-spc .jwd-spc-buttons > a.jwd-spc-btn,
    .woocommerce .jwd-spc .jwd-spc-buttons > a.jwd-spc-btn,
    .woocommerce-page .jwd-spc .jwd-spc-buttons > a.jwd-spc-btn,
    .elementor .jwd-spc .jwd-spc-buttons > a.jwd-spc-btn {
        height: 50px !important;
        min-height: 50px !important;
        max-height: 50px !important;
        font-size: 16px !important;
    }
}
