.dc-pps {
    --dc-pps-max-width: 1280px;
    --dc-pps-special-gap: 16px;
    --dc-pps-sale-gap: 16px;
    --dc-pps-heading-gap: 32px;
    --dc-pps-sections-gap: 72px;
    --dc-pps-card-bg: #f7f7f7;
    --dc-pps-card-border: rgba(0, 0, 0, 0.04);
    --dc-pps-card-radius: 24px;
    --dc-pps-image-radius: 16px;
    --dc-pps-card-inset: 8px;
    --dc-pps-content-pad-x: 8px;
    --dc-pps-more-text: #0059ab;
    --dc-pps-more-bg: #fff;
    --dc-pps-more-border: #0059ab;
    --dc-pps-more-icon-bg: #0059ab;
    --dc-pps-more-icon: #fff;
    --dc-pps-more-hover-text: #ffffff;
    --dc-pps-more-hover-bg: #0059ab;
    --dc-pps-more-hover-border: #0059ab;
    --dc-pps-more-hover-icon-bg: #ffffff;
    --dc-pps-more-hover-icon: #0059ab;
    --dc-pps-more-width: 158px;
    --dc-pps-quick-width: 158px;
    --dc-pps-card-hover-border: #0059ab;
    --dc-pps-card-hover-overlay: rgba(1, 17, 57, 0.34);
    --dc-pps-buy-hover-bg: #0059ab;
    --dc-pps-buy-hover-border: #0059ab;
    --dc-pps-buy-hover-text: #ffffff;
    --dc-pps-buy-hover-icon-bg: #ffffff;
    --dc-pps-buy-hover-icon: #0059ab;
    --dc-pps-title-lines: 2;
    --dc-pps-excerpt-lines: 2;
    --dc-pps-badge-bg: #fe0b21;
    --dc-pps-badge-text: #fff;
    --dc-pps-arrow-bg: #fcfcfc;
    --dc-pps-arrow-color: #838383;
    --dc-pps-arrow-size: 56px;
    --dc-pps-special-height: 651px;
    --dc-pps-sale-height: 543px;
    --dc-pps-banner-fit: cover;
    --dc-pps-product-fit: contain;
    width: min(100%, var(--dc-pps-max-width));
    margin-inline: auto;
    color: #011139;
    box-sizing: border-box;
}

.dc-pps,
.dc-pps * {
    box-sizing: border-box;
}

.dc-pps img {
    max-width: 100%;
}

.dc-pps__section + .dc-pps__section {
    margin-top: var(--dc-pps-sections-gap);
}

.dc-pps__section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: var(--dc-pps-heading-gap);
}

.dc-pps__title {
    min-width: 0;
    margin: 0;
    color: #011139;
    font-size: 40px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -0.025em;
}

.dc-pps__more,
.dc-pps__quick {
    width: var(--dc-pps-more-width);
    min-width: var(--dc-pps-more-width);
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 7px 7px 7px 24px;
    border: 1px solid var(--dc-pps-more-border) !important;
    border-radius: 999px;
    background: var(--dc-pps-more-bg) !important;
    color: var(--dc-pps-more-text) !important;
    text-decoration: none !important;
    box-shadow: none;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 500;
    white-space: nowrap;
    transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, opacity 180ms ease, transform 180ms ease;
}

.dc-pps__quick {
    width: var(--dc-pps-quick-width);
    min-width: var(--dc-pps-quick-width);
}

.dc-pps__more:visited,
.dc-pps__quick:visited,
.dc-pps__more .dc-pps__more-text,
.dc-pps__quick .dc-pps__quick-text {
    color: inherit !important;
}

.dc-pps__more:hover,
.dc-pps__more:focus-visible,
.dc-pps__quick:hover,
.dc-pps__quick:focus-visible {
    color: var(--dc-pps-more-hover-text) !important;
    background: var(--dc-pps-more-hover-bg) !important;
    border-color: var(--dc-pps-more-hover-border) !important;
    text-decoration: none !important;
}

.dc-pps__more:focus-visible,
.dc-pps__buy:focus-visible,
.dc-pps__product-title:focus-visible,
.dc-pps__product-media-link:focus-visible,
.dc-pps__promo-banner:focus-visible,
.dc-pps__carousel-arrow:focus-visible {
    outline: 2px solid rgba(0, 89, 171, 0.3);
    outline-offset: 3px;
}

.dc-pps__more:hover .dc-pps__more-icon,
.dc-pps__more:focus-visible .dc-pps__more-icon,
.dc-pps__quick:hover .dc-pps__quick-icon,
.dc-pps__quick:focus-visible .dc-pps__quick-icon {
    background: var(--dc-pps-more-hover-icon-bg) !important;
    color: var(--dc-pps-more-hover-icon) !important;
}

.dc-pps__more-icon,
.dc-pps__quick-icon {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--dc-pps-more-icon-bg) !important;
    color: var(--dc-pps-more-icon) !important;
    transition: color 180ms ease, background-color 180ms ease;
}

.dc-pps__more-icon svg,
.dc-pps__quick-icon svg {
    width: 14px;
    height: 14px;
    display: block;
}

.dc-pps__more-icon > svg:not([fill]),
.dc-pps__more-icon > svg[fill="none"],
.dc-pps__quick-icon > svg:not([fill]),
.dc-pps__quick-icon > svg[fill="none"] {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.dc-pps__more-icon i,
.dc-pps__quick-icon i {
    color: currentColor;
    font-size: 14px;
}

.dc-pps__special-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--dc-pps-special-gap);
    align-items: stretch;
}

.dc-pps__promo-banner {
    width: 100%;
    min-width: 0;
    height: var(--dc-pps-special-height);
    display: block;
    overflow: hidden;
    border-radius: var(--dc-pps-card-radius);
    background: #f7f7f7;
    text-decoration: none;
}

.dc-pps__promo-banner img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: var(--dc-pps-banner-fit);
    object-position: center;
}

.dc-pps__product-card {
    position: relative;
    min-width: 0;
    display: flex;
    flex-direction: column;
    overflow: visible;
    border: 1px solid var(--dc-pps-card-border);
    border-radius: var(--dc-pps-card-radius);
    background: var(--dc-pps-card-bg);
    color: #181818;
    transition: border-color 180ms ease, box-shadow 180ms ease;
}

.dc-pps__product-card:hover,
.dc-pps__product-card:focus-within {
    border-color: var(--dc-pps-card-hover-border);
}

.dc-pps__product-card--special {
    min-height: var(--dc-pps-special-height);
}

.dc-pps__product-card--sale {
    min-height: var(--dc-pps-sale-height);
    scroll-snap-align: start;
}

.dc-pps__product-media {
    position: relative;
    width: calc(100% - (var(--dc-pps-card-inset) * 2));
    aspect-ratio: 1 / 1;
    flex: 0 0 auto;
    display: block;
    overflow: hidden;
    margin: var(--dc-pps-card-inset) var(--dc-pps-card-inset) 0;
    border-radius: var(--dc-pps-image-radius);
    background: #fff;
}

.dc-pps__product-media-link {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
}

.dc-pps__product-media::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 2;
    background: var(--dc-pps-card-hover-overlay);
    opacity: 0;
    transition: opacity 180ms ease;
    pointer-events: none;
}

.dc-pps__quick-wrap {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    pointer-events: none;
}

.dc-pps__quick {
    opacity: 0;
    transform: translateY(10px);
    pointer-events: auto;
}

.dc-pps__product-card:hover .dc-pps__product-media::after,
.dc-pps__product-card:focus-within .dc-pps__product-media::after {
    opacity: 1;
}

.dc-pps__product-card:hover .dc-pps__quick,
.dc-pps__product-card:focus-within .dc-pps__quick {
    opacity: 1;
    transform: translateY(0);
}

.dc-pps__product-media img,
.dc-pps__product-img {
    width: 100% !important;
    height: 100% !important;
    display: block;
    object-fit: var(--dc-pps-product-fit);
    object-position: center;
}

.dc-pps__product-content {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    padding: 16px calc(var(--dc-pps-card-inset) + var(--dc-pps-content-pad-x)) 18px;
}

.dc-pps__product-card--sale .dc-pps__product-content {
    padding-top: 18px;
}

.dc-pps__product-title {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--dc-pps-title-lines);
    color: #181818;
    text-decoration: none;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 600;
}

.dc-pps__product-title:visited {
    color: #181818;
}

.dc-pps__product-title:hover {
    color: #0059ab;
    text-decoration: none;
}

.dc-pps__excerpt {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--dc-pps-excerpt-lines);
    margin-top: 8px;
    color: #8b8b8b;
    font-size: 14px;
    line-height: 1.45;
    font-weight: 400;
}

.dc-pps__price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 12px;
    margin-top: 14px;
    color: #0059ab;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 700;
}

.dc-pps__price ins,
.dc-pps__price del {
    display: inline-flex;
    text-decoration-thickness: 1px;
}

.dc-pps__price ins {
    order: 1;
    color: #0059ab;
    text-decoration: none;
}

.dc-pps__price del {
    order: 2;
    color: #8b8b8b;
    font-size: 16px;
    font-weight: 500;
    opacity: 1;
}

.dc-pps__price > .woocommerce-Price-amount {
    color: #0059ab;
}

.dc-pps__price .woocommerce-Price-currencySymbol {
    font-size: 0.62em;
    vertical-align: super;
}

.dc-pps__buy {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: auto;
    padding-top: 16px;
    color: #0059ab;
    text-decoration: none;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 500;
}

.dc-pps__buy:visited,
.dc-pps__buy:hover,
.dc-pps__buy:focus-visible {
    color: #0059ab;
    text-decoration: none;
}

.dc-pps__buy > span:first-child {
    color: inherit !important;
}

.dc-pps__buy-icon {
    color: inherit;
    transition: color 180ms ease, background-color 180ms ease;
}

.dc-pps__product-card:hover .dc-pps__buy,
.dc-pps__product-card:focus-within .dc-pps__buy {
    width: 100%;
    min-height: 38px;
    justify-content: space-between;
    gap: 10px;
    margin-top: 16px;
    padding: 4px 6px 4px 16px;
    border: 1px solid var(--dc-pps-buy-hover-border) !important;
    border-radius: 999px;
    background: var(--dc-pps-buy-hover-bg) !important;
    color: var(--dc-pps-buy-hover-text) !important;
}

.dc-pps__product-card:hover .dc-pps__buy:visited,
.dc-pps__product-card:focus-within .dc-pps__buy:visited,
.dc-pps__product-card:hover .dc-pps__buy:hover,
.dc-pps__product-card:focus-within .dc-pps__buy:hover,
.dc-pps__product-card:hover .dc-pps__buy:focus-visible,
.dc-pps__product-card:focus-within .dc-pps__buy:focus-visible {
    color: var(--dc-pps-buy-hover-text) !important;
    text-decoration: none !important;
}

.dc-pps__product-card:hover .dc-pps__buy-icon,
.dc-pps__product-card:focus-within .dc-pps__buy-icon {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--dc-pps-buy-hover-icon-bg) !important;
    color: var(--dc-pps-buy-hover-icon) !important;
}

.dc-pps__product-card:hover .dc-pps__buy-icon svg,
.dc-pps__product-card:focus-within .dc-pps__buy-icon svg {
    width: 16px;
    height: 16px;
}

.dc-pps__buy-icon {
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.dc-pps__buy-icon svg {
    width: 18px;
    height: 18px;
    display: block;
}

.dc-pps__buy-icon > svg:not([fill]),
.dc-pps__buy-icon > svg[fill="none"] {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.dc-pps__buy-icon i {
    color: currentColor;
    font-size: 16px;
}

.dc-pps__badge {
    position: absolute;
    z-index: 3;
    top: 32px;
    right: -9px;
    min-width: 90px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    border-radius: 12px 12px 0 12px;
    background: var(--dc-pps-badge-bg);
    color: var(--dc-pps-badge-text);
    font-size: 16px;
    line-height: 1;
    font-weight: 500;
    pointer-events: none;
}

.dc-pps__badge::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -9px;
    width: 0;
    height: 0;
    border-top: 9px solid #77010b;
    border-right: 9px solid transparent;
}

.dc-pps__carousel-wrap {
    position: relative;
}

.dc-pps__sale-track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - (var(--dc-pps-sale-gap) * 3)) / 4);
    gap: var(--dc-pps-sale-gap);
    overflow-x: auto;
    overflow-y: visible;
    padding: 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}

.dc-pps__sale-track::-webkit-scrollbar {
    display: none;
}

.dc-pps__carousel-arrow {
    position: absolute;
    z-index: 6;
    top: 50%;
    width: var(--dc-pps-arrow-size);
    height: var(--dc-pps-arrow-size);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid rgba(0, 0, 0, 0.05);
    border-radius: 50%;
    background: var(--dc-pps-arrow-bg);
    color: var(--dc-pps-arrow-color);
    box-shadow: 0 2px 21px rgba(0, 0, 0, 0.12);
    transform: translateY(-50%);
    cursor: pointer;
    appearance: none;
}

.dc-pps__carousel-arrow--prev {
    left: calc(var(--dc-pps-arrow-size) * -0.7143);
}

.dc-pps__carousel-arrow--next {
    right: calc(var(--dc-pps-arrow-size) * -0.7143);
}

.dc-pps__carousel-arrow svg {
    width: 18px;
    height: 18px;
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.dc-pps__carousel-arrow:hover {
    color: #0059ab;
}

.dc-pps__carousel-arrow:disabled {
    opacity: 0.35;
    cursor: default;
}

.dc-pps__editor-note,
.dc-pps--missing-wc {
    width: 100%;
    padding: 18px;
    border: 1px dashed #c9ced6;
    border-radius: 12px;
    background: #f7f8fa;
    color: #5f6875;
    font-size: 14px;
    line-height: 1.5;
}

@media (max-width: 1100px) {
    .dc-pps {
        width: min(100%, calc(100vw - 48px));
    }

    .dc-pps__promo-banner,
    .dc-pps__product-card--special {
        height: var(--dc-pps-special-height);
        min-height: var(--dc-pps-special-height);
    }

    .dc-pps__product-card--special .dc-pps__product-media {
        flex: 0 0 auto;
    }

    .dc-pps__product-card--special .dc-pps__product-content {
        min-height: 0;
    }

    .dc-pps__sale-track {
        grid-auto-columns: calc((100% - (var(--dc-pps-sale-gap) * 2)) / 3);
    }

    .dc-pps__carousel-arrow--prev {
        left: calc(var(--dc-pps-arrow-size) * -0.35);
    }

    .dc-pps__carousel-arrow--next {
        right: calc(var(--dc-pps-arrow-size) * -0.35);
    }
}

@media (max-width: 900px) {
    .dc-pps__title {
        font-size: clamp(30px, 4.7vw, 38px);
    }

    .dc-pps__special-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .dc-pps__product-content {
        padding-top: 12px;
        padding-bottom: 14px;
    }

    .dc-pps__product-title {
        font-size: 14px;
    }

    .dc-pps__excerpt {
        font-size: 12px;
    }

    .dc-pps__price {
        gap: 8px;
        font-size: 20px;
    }

    .dc-pps__price del {
        font-size: 14px;
    }

    .dc-pps__sale-track {
        grid-auto-columns: calc((100% - var(--dc-pps-sale-gap)) / 2);
    }
}

@media (max-width: 767px) {
    .dc-pps {
        width: 100%;
        max-width: 100%;
        --dc-pps-heading-gap: 20px;
        --dc-pps-sections-gap: 48px;
        --dc-pps-special-gap: 14px;
        --dc-pps-sale-gap: 14px;
    }

    .dc-pps__section-head {
        gap: 12px;
    }

    .dc-pps__title {
        font-size: clamp(27px, 8.2vw, 34px);
        line-height: 1.18;
    }

    .dc-pps__more {
        width: auto;
        min-width: 116px;
        height: 42px;
        padding: 5px 5px 5px 16px;
        font-size: 12px;
    }

    .dc-pps__more-icon {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
    }

    .dc-pps__special-grid {
        display: flex;
        gap: var(--dc-pps-special-gap);
        overflow-x: auto;
        padding-bottom: 4px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
    }

    .dc-pps__special-grid::-webkit-scrollbar {
        display: none;
    }

    .dc-pps__promo-banner,
    .dc-pps__product-card--special {
        width: min(84vw, 360px);
        min-width: min(84vw, 360px);
        flex: 0 0 min(84vw, 360px);
        height: var(--dc-pps-special-height);
        min-height: var(--dc-pps-special-height);
        scroll-snap-align: start;
    }

    .dc-pps__product-card--special .dc-pps__product-title {
        font-size: 15px;
    }

    .dc-pps__product-card--special .dc-pps__excerpt {
        font-size: 13px;
    }

    .dc-pps__product-card--special .dc-pps__price {
        font-size: 22px;
    }

    .dc-pps__sale-track {
        grid-auto-columns: min(82vw, 330px);
        scroll-padding-left: 0;
    }

    .dc-pps__carousel-arrow {
        display: none;
    }

    .dc-pps__badge {
        right: -6px;
    }
}

@media (max-width: 420px) {
    .dc-pps__section-head {
        align-items: flex-start;
    }

    .dc-pps__more {
        min-width: 104px;
        padding-left: 13px;
    }

    .dc-pps__title {
        font-size: 28px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dc-pps__more,
    .dc-pps__sale-track,
    .dc-pps__special-grid {
        scroll-behavior: auto;
        transition: none;
    }
}

/* Public widget: DC Special Promotion Products */
.dc-spp {
    --dc-spp-max-width: 1280px;
    --dc-spp-gap: 16px;
    --dc-spp-heading-gap: 32px;
    --dc-spp-head-gap: 24px;
    --dc-spp-card-height: 651px;
    --dc-spp-banner-fit: cover;
    --dc-spp-product-fit: contain;
    --dc-spp-product-position: center;
    --dc-spp-media-aspect: 1 / 1;
    --dc-spp-banner-bg: #f7f7f7;
    --dc-spp-banner-radius: 24px;
    --dc-spp-card-bg: #f7f7f7;
    --dc-spp-card-border: rgba(0,0,0,.04);
    --dc-spp-card-hover-border: #0059ab;
    --dc-spp-card-border-width: 1px;
    --dc-spp-card-hover-overlay: rgba(0,0,0,.40);
    --dc-spp-card-radius: 24px;
    --dc-spp-image-radius: 16px;
    --dc-spp-media-bg: #fff;
    --dc-spp-card-inset: 8px;
    --dc-spp-content-pad-x: 8px;
    --dc-spp-content-pt: 16px;
    --dc-spp-content-pb: 18px;
    --dc-spp-title-lines: 2;
    --dc-spp-title-hover: #0059ab;
    --dc-spp-title-mb: 10px;
    --dc-spp-excerpt-lines: 2;
    --dc-spp-excerpt-mb: 12px;
    --dc-spp-price-gap: 22px;
    --dc-spp-price-mb: 12px;
    --dc-spp-transition: 280ms;

    --dc-spp-more-width: 158px;
    --dc-spp-more-height: 48px;
    --dc-spp-more-border-width: 1px;
    --dc-spp-more-radius: 24px;
    --dc-spp-more-gap: 10px;
    --dc-spp-more-pt: 7px;
    --dc-spp-more-pr: 7px;
    --dc-spp-more-pb: 7px;
    --dc-spp-more-pl: 24px;
    --dc-spp-more-text: #0059ab;
    --dc-spp-more-bg: #fff;
    --dc-spp-more-border: #0059ab;
    --dc-spp-more-icon-bg: #0059ab;
    --dc-spp-more-icon: #fff;
    --dc-spp-more-hover-text: #fff;
    --dc-spp-more-hover-bg: #0059ab;
    --dc-spp-more-hover-border: #0059ab;
    --dc-spp-more-hover-icon-bg: #fff;
    --dc-spp-more-hover-icon: #0059ab;
    --dc-spp-more-icon-circle: 32px;
    --dc-spp-more-icon-size: 14px;

    --dc-spp-quick-width: 164px;
    --dc-spp-quick-height: 48px;
    --dc-spp-quick-border-width: 1px;
    --dc-spp-quick-radius: 24px;
    --dc-spp-quick-gap: 14px;
    --dc-spp-quick-pt: 5px;
    --dc-spp-quick-pr: 5px;
    --dc-spp-quick-pb: 5px;
    --dc-spp-quick-pl: 22px;
    --dc-spp-quick-bg: #fff;
    --dc-spp-quick-text: #0059ab;
    --dc-spp-quick-border: #0059ab;
    --dc-spp-quick-icon-bg: #0059ab;
    --dc-spp-quick-icon: #fff;
    --dc-spp-quick-hover-bg: #fff;
    --dc-spp-quick-hover-text: #0059ab;
    --dc-spp-quick-hover-border: #0059ab;
    --dc-spp-quick-hover-icon-bg: #0059ab;
    --dc-spp-quick-hover-icon: #fff;
    --dc-spp-quick-icon-circle: 38px;
    --dc-spp-quick-icon-size: 16px;

    --dc-spp-buy-height: 42px;
    --dc-spp-buy-radius: 24px;
    --dc-spp-buy-border-width: 0px;
    --dc-spp-buy-pad-x: 8px;
    --dc-spp-buy-text-gap: 10px;
    --dc-spp-buy-hover-shift: 16px;
    --dc-spp-buy-color: #0059ab;
    --dc-spp-buy-bg: rgba(255,255,255,0);
    --dc-spp-buy-border: rgba(0,0,0,0);
    --dc-spp-buy-icon-bg: rgba(255,255,255,0);
    --dc-spp-buy-icon: #0059ab;
    --dc-spp-buy-hover-bg: #0068c8;
    --dc-spp-buy-hover-border: #0068c8;
    --dc-spp-buy-hover-text: #fff;
    --dc-spp-buy-hover-icon-bg: #fff;
    --dc-spp-buy-hover-icon: #0068c8;
    --dc-spp-buy-icon-circle: 30px;
    --dc-spp-buy-icon-size: 12px;

    --dc-spp-badge-bg: #fe0b21;
    --dc-spp-badge-text: #fff;
    --dc-spp-badge-fold: #77010b;
    --dc-spp-badge-width: 90px;
    --dc-spp-badge-height: 48px;
    --dc-spp-badge-top: 32px;
    --dc-spp-badge-right: -9px;
    --dc-spp-badge-pad-x: 18px;
    --dc-spp-badge-fold-size: 9px;
    --dc-spp-badge-fold-height: 5px;
    --dc-spp-badge-rtl: 12px;
    --dc-spp-badge-rtr: 12px;
    --dc-spp-badge-rbr: 0px;
    --dc-spp-badge-rbl: 12px;

    width: min(100%, var(--dc-spp-max-width));
    margin-inline: auto;
    color: #011139;
    box-sizing: border-box;
}

.dc-spp,
.dc-spp * { box-sizing: border-box; }
.dc-spp img { max-width: 100%; }

.dc-spp__section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--dc-spp-head-gap);
    margin-bottom: var(--dc-spp-heading-gap);
}

.dc-spp__title {
    min-width: 0;
    margin: 0;
    color: #011139;
    font-size: 40px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -.025em;
}

.dc-spp__more,
.dc-spp a.dc-spp__more,
.dc-spp a.dc-spp__more:visited {
    width: var(--dc-spp-more-width);
    min-width: var(--dc-spp-more-width);
    height: var(--dc-spp-more-height);
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--dc-spp-more-gap);
    padding: var(--dc-spp-more-pt) var(--dc-spp-more-pr) var(--dc-spp-more-pb) var(--dc-spp-more-pl);
    border: var(--dc-spp-more-border-width) solid var(--dc-spp-more-border) !important;
    border-radius: var(--dc-spp-more-radius);
    background: var(--dc-spp-more-bg) !important;
    color: var(--dc-spp-more-text) !important;
    box-shadow: none !important;
    text-decoration: none !important;
    white-space: nowrap;
    transition: color var(--dc-spp-transition) ease, background-color var(--dc-spp-transition) ease, border-color var(--dc-spp-transition) ease;
}
.dc-spp__more-text { color: inherit !important; }
.dc-spp__more:hover,
.dc-spp__more:focus-visible {
    border-color: var(--dc-spp-more-hover-border) !important;
    background: var(--dc-spp-more-hover-bg) !important;
    color: var(--dc-spp-more-hover-text) !important;
}
.dc-spp__more-icon {
    width: var(--dc-spp-more-icon-circle);
    height: var(--dc-spp-more-icon-circle);
    flex: 0 0 var(--dc-spp-more-icon-circle);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--dc-spp-more-icon-bg) !important;
    color: var(--dc-spp-more-icon) !important;
    font-size: var(--dc-spp-more-icon-size);
    transition: color var(--dc-spp-transition) ease, background-color var(--dc-spp-transition) ease;
}
.dc-spp__more:hover .dc-spp__more-icon,
.dc-spp__more:focus-visible .dc-spp__more-icon {
    background: var(--dc-spp-more-hover-icon-bg) !important;
    color: var(--dc-spp-more-hover-icon) !important;
}

.dc-spp__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--dc-spp-gap);
    align-items: stretch;
}
.dc-spp__promo-banner {
    width: 100%;
    min-width: 0;
    height: var(--dc-spp-card-height);
    display: block;
    overflow: hidden;
    border-radius: var(--dc-spp-banner-radius);
    background: var(--dc-spp-banner-bg);
    text-decoration: none;
}
.dc-spp__promo-banner img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: var(--dc-spp-banner-fit);
    object-position: center;
}

.dc-spp__product-card {
    position: relative;
    min-width: 0;
    min-height: var(--dc-spp-card-height);
    display: flex;
    flex-direction: column;
    overflow: visible;
    border: var(--dc-spp-card-border-width) solid var(--dc-spp-card-border);
    border-radius: var(--dc-spp-card-radius);
    background: var(--dc-spp-card-bg);
    color: #181818;
    transition: border-color var(--dc-spp-transition) ease, box-shadow var(--dc-spp-transition) ease;
}
.dc-spp__product-media {
    position: relative;
    width: calc(100% - (var(--dc-spp-card-inset) * 2));
    aspect-ratio: var(--dc-spp-media-aspect);
    flex: 0 0 auto;
    overflow: hidden;
    margin: var(--dc-spp-card-inset) var(--dc-spp-card-inset) 0;
    border-radius: var(--dc-spp-image-radius);
    background: var(--dc-spp-media-bg);
}
.dc-spp__product-media-link {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
}
.dc-spp__product-media::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 2;
    background: var(--dc-spp-card-hover-overlay);
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--dc-spp-transition) ease;
}
.dc-spp__product-media img,
.dc-spp__product-img {
    width: 100% !important;
    height: 100% !important;
    display: block;
    object-fit: var(--dc-spp-product-fit);
    object-position: var(--dc-spp-product-position);
}

.dc-spp__quick-wrap {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    pointer-events: none;
}
.dc-spp__quick,
.dc-spp a.dc-spp__quick,
.dc-spp a.dc-spp__quick:visited {
    width: var(--dc-spp-quick-width);
    min-width: var(--dc-spp-quick-width);
    height: var(--dc-spp-quick-height);
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--dc-spp-quick-gap);
    padding: var(--dc-spp-quick-pt) var(--dc-spp-quick-pr) var(--dc-spp-quick-pb) var(--dc-spp-quick-pl);
    border: var(--dc-spp-quick-border-width) solid var(--dc-spp-quick-border) !important;
    border-radius: var(--dc-spp-quick-radius);
    background: var(--dc-spp-quick-bg) !important;
    color: var(--dc-spp-quick-text) !important;
    box-shadow: none !important;
    text-decoration: none !important;
    white-space: nowrap;
    opacity: 0;
    transform: translateY(10px);
    pointer-events: auto;
    transition: opacity var(--dc-spp-transition) ease, transform var(--dc-spp-transition) cubic-bezier(.22,.61,.36,1), color var(--dc-spp-transition) ease, background-color var(--dc-spp-transition) ease, border-color var(--dc-spp-transition) ease;
}
.dc-spp__quick-text { color: inherit !important; }
.dc-spp__quick:hover,
.dc-spp__quick:focus-visible {
    border-color: var(--dc-spp-quick-hover-border) !important;
    background: var(--dc-spp-quick-hover-bg) !important;
    color: var(--dc-spp-quick-hover-text) !important;
}
.dc-spp__quick-icon {
    width: var(--dc-spp-quick-icon-circle);
    height: var(--dc-spp-quick-icon-circle);
    flex: 0 0 var(--dc-spp-quick-icon-circle);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--dc-spp-quick-icon-bg) !important;
    color: var(--dc-spp-quick-icon) !important;
    font-size: var(--dc-spp-quick-icon-size);
    transition: color var(--dc-spp-transition) ease, background-color var(--dc-spp-transition) ease;
}
.dc-spp__quick:hover .dc-spp__quick-icon,
.dc-spp__quick:focus-visible .dc-spp__quick-icon {
    background: var(--dc-spp-quick-hover-icon-bg) !important;
    color: var(--dc-spp-quick-hover-icon) !important;
}

.dc-spp__product-content {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    padding: var(--dc-spp-content-pt) calc(var(--dc-spp-card-inset) + var(--dc-spp-content-pad-x)) var(--dc-spp-content-pb);
}
.dc-spp__product-title {
    display: -webkit-box;
    margin: 0 0 var(--dc-spp-title-mb);
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--dc-spp-title-lines);
    color: #181818;
    text-decoration: none;
}
.dc-spp__product-title:visited { color: inherit; }
.dc-spp__product-title:hover,
.dc-spp__product-title:focus-visible { color: var(--dc-spp-title-hover); text-decoration: none; }
.dc-spp__excerpt {
    display: -webkit-box;
    margin: 0 0 var(--dc-spp-excerpt-mb);
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--dc-spp-excerpt-lines);
    color: #8b8b8b;
}
.dc-spp__price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: var(--dc-spp-price-gap);
    min-width: 0;
    margin: 0 0 var(--dc-spp-price-mb);
    color: #0059ab;
}
.dc-spp__price ins,
.dc-spp__price del { display: inline-flex; background: transparent; text-decoration-thickness: 1px; }
.dc-spp__price ins { order: 1; color: #0059ab; text-decoration: none; }
.dc-spp__price del { order: 2; color: #8b8b8b; opacity: 1; }
.dc-spp__price > .woocommerce-Price-amount { color: #0059ab; }
.dc-spp__price .woocommerce-Price-currencySymbol { font-size: 62%; vertical-align: super; }

.dc-spp__buy,
.dc-spp a.dc-spp__buy,
.dc-spp a.dc-spp__buy:visited {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: var(--dc-spp-buy-height);
    height: var(--dc-spp-buy-height);
    margin-top: auto;
    padding: 0 var(--dc-spp-buy-pad-x);
    overflow: hidden;
    isolation: isolate;
    border: var(--dc-spp-buy-border-width) solid var(--dc-spp-buy-border) !important;
    border-radius: var(--dc-spp-buy-radius);
    background: var(--dc-spp-buy-bg) !important;
    color: var(--dc-spp-buy-color) !important;
    box-shadow: none !important;
    text-decoration: none !important;
}
.dc-spp__buy::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    background: var(--dc-spp-buy-hover-bg);
    opacity: 0;
    transform: scaleX(.18);
    transform-origin: left center;
    transition: opacity var(--dc-spp-transition) ease, transform var(--dc-spp-transition) cubic-bezier(.22,.61,.36,1);
}
.dc-spp__buy-text {
    position: relative;
    z-index: 1;
    display: inline-block;
    flex: 0 0 auto;
    margin-right: var(--dc-spp-buy-text-gap);
    color: inherit !important;
    transform: translateX(0);
    transition: color var(--dc-spp-transition) ease, transform var(--dc-spp-transition) cubic-bezier(.22,.61,.36,1), flex-grow var(--dc-spp-transition) cubic-bezier(.22,.61,.36,1);
}
.dc-spp__buy-icon {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--dc-spp-buy-icon-circle);
    height: var(--dc-spp-buy-icon-circle);
    flex: 0 0 var(--dc-spp-buy-icon-circle);
    border-radius: 50%;
    background: var(--dc-spp-buy-icon-bg) !important;
    color: var(--dc-spp-buy-icon) !important;
    font-size: var(--dc-spp-buy-icon-size);
    transition: background-color var(--dc-spp-transition) ease, color var(--dc-spp-transition) ease;
}

.dc-spp__badge {
    position: absolute;
    z-index: 4;
    top: var(--dc-spp-badge-top);
    right: var(--dc-spp-badge-right);
    width: var(--dc-spp-badge-width);
    min-width: 0;
    height: var(--dc-spp-badge-height);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 var(--dc-spp-badge-pad-x);
    overflow: visible;
    border-radius: var(--dc-spp-badge-rtl) var(--dc-spp-badge-rtr) var(--dc-spp-badge-rbr) var(--dc-spp-badge-rbl);
    background: var(--dc-spp-badge-bg);
    color: var(--dc-spp-badge-text);
    line-height: 1;
    white-space: nowrap;
}
.dc-spp__badge::after {
    content: '';
    position: absolute;
    right: 0;
    top: 100%;
    width: var(--dc-spp-badge-fold-size);
    height: var(--dc-spp-badge-fold-height);
    background: var(--dc-spp-badge-fold);
    clip-path: polygon(0 0, 100% 0, 0 100%);
    pointer-events: none;
}

.dc-spp__more-icon svg,
.dc-spp__more-icon i,
.dc-spp__quick-icon svg,
.dc-spp__quick-icon i,
.dc-spp__buy-icon svg,
.dc-spp__buy-icon i {
    display: block;
    width: 1em;
    height: 1em;
    color: currentColor;
    font-size: 1em;
}
.dc-spp__more-icon > svg:not([fill]),
.dc-spp__more-icon > svg[fill='none'],
.dc-spp__quick-icon > svg:not([fill]),
.dc-spp__quick-icon > svg[fill='none'],
.dc-spp__buy-icon > svg:not([fill]),
.dc-spp__buy-icon > svg[fill='none'] {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.dc-spp__icon--custom svg { color: currentColor !important; }
.dc-spp__icon--custom svg[fill]:not([fill='none']),
.dc-spp__icon--custom svg [fill]:not([fill='none']) { fill: currentColor !important; }
.dc-spp__icon--custom svg[stroke]:not([stroke='none']),
.dc-spp__icon--custom svg [stroke]:not([stroke='none']) { stroke: currentColor !important; }

.dc-spp__more:focus-visible,
.dc-spp__quick:focus-visible,
.dc-spp__buy:focus-visible,
.dc-spp__product-title:focus-visible,
.dc-spp__product-media-link:focus-visible,
.dc-spp__promo-banner:focus-visible {
    outline: 2px solid var(--dc-spp-card-hover-border);
    outline-offset: 2px;
}

@media (hover:hover) and (pointer:fine) {
    .dc-spp__product-card:hover,
    .dc-spp__product-card:focus-within { border-color: var(--dc-spp-card-hover-border); }
    .dc-spp__product-card:hover .dc-spp__product-media::after,
    .dc-spp__product-card:focus-within .dc-spp__product-media::after { opacity: 1; }
    .dc-spp__product-card:hover .dc-spp__quick,
    .dc-spp__product-card:focus-within .dc-spp__quick { opacity: 1; transform: translateY(0); }
    .dc-spp__product-card:hover .dc-spp__buy,
    .dc-spp__product-card:focus-within .dc-spp__buy {
        color: var(--dc-spp-buy-hover-text) !important;
        border-color: var(--dc-spp-buy-hover-border) !important;
    }
    .dc-spp__product-card:hover .dc-spp__buy::before,
    .dc-spp__product-card:focus-within .dc-spp__buy::before { opacity: 1; transform: scaleX(1); }
    .dc-spp__product-card:hover .dc-spp__buy-text,
    .dc-spp__product-card:focus-within .dc-spp__buy-text { flex-grow: 1; transform: translateX(var(--dc-spp-buy-hover-shift)); }
    .dc-spp__product-card:hover .dc-spp__buy-icon,
    .dc-spp__product-card:focus-within .dc-spp__buy-icon {
        background: var(--dc-spp-buy-hover-icon-bg) !important;
        color: var(--dc-spp-buy-hover-icon) !important;
    }
}

.dc-spp__editor-note,
.dc-spp--missing-wc {
    padding: 20px;
    border: 1px dashed rgba(0,89,171,.25);
    border-radius: 16px;
    background: rgba(194,226,255,.22);
    color: #011139;
}

@media (max-width:1024px) {
    .dc-spp__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .dc-spp__promo-banner { grid-column: 1/-1; }
}
@media (max-width:767px) {
    .dc-spp__section-head { flex-direction: column; align-items: stretch; }
    .dc-spp__more { align-self: flex-start; }
    .dc-spp__grid { grid-template-columns: minmax(0,1fr); }
    .dc-spp__product-card { min-height: 0; }
    .dc-spp__quick-wrap { padding: 16px; }
    .dc-spp__quick { opacity: 1; transform: none; }
    .dc-spp__product-media::after { opacity: .08; }
    .dc-spp__buy,
    .dc-spp a.dc-spp__buy,
    .dc-spp a.dc-spp__buy:visited { color: var(--dc-spp-buy-hover-text) !important; border-color: var(--dc-spp-buy-hover-border) !important; }
    .dc-spp__buy::before { opacity: 1; transform: scaleX(1); }
    .dc-spp__buy-text { flex-grow: 1; transform: translateX(var(--dc-spp-buy-hover-shift)); }
    .dc-spp__buy-icon { background: var(--dc-spp-buy-hover-icon-bg) !important; color: var(--dc-spp-buy-hover-icon) !important; }
}

/* Public widget: DC Sale Products Carousel */
.dc-spc {
    --dc-spc-max-width: 1280px;
    --dc-spc-heading-gap: 32px;
    --dc-spc-head-gap: 24px;
    --dc-spc-gap: 16px;
    --dc-spc-card-width: 308px;
    --dc-spc-card-height: 543px;
    --dc-spc-card-bg: #f7f7f7;
    --dc-spc-card-border: rgba(0,0,0,.04);
    --dc-spc-card-hover-border: #0b78d0;
    --dc-spc-card-border-width: 1px;
    --dc-spc-overlay: rgba(0,0,0,.40);
    --dc-spc-card-radius: 24px;
    --dc-spc-image-radius: 16px;
    --dc-spc-media-bg: #fff;
    --dc-spc-card-inset: 8px;
    --dc-spc-content-pad-x: 8px;
    --dc-spc-content-pt: 16px;
    --dc-spc-content-pb: 18px;
    --dc-spc-product-fit: contain;
    --dc-spc-product-position: center;
    --dc-spc-media-aspect: 1 / 1;
    --dc-spc-title-lines: 2;
    --dc-spc-title-hover: #0059ab;
    --dc-spc-title-mb: 10px;
    --dc-spc-excerpt-lines: 2;
    --dc-spc-excerpt-mb: 12px;
    --dc-spc-price-gap: 22px;
    --dc-spc-price-mb: 12px;
    --dc-spc-transition: 280ms;

    --dc-spc-more-width: 158px;
    --dc-spc-more-height: 48px;
    --dc-spc-more-border-width: 1px;
    --dc-spc-more-radius: 24px;
    --dc-spc-more-gap: 10px;
    --dc-spc-more-pt: 7px;
    --dc-spc-more-pr: 7px;
    --dc-spc-more-pb: 7px;
    --dc-spc-more-pl: 24px;
    --dc-spc-more-text: #0059ab;
    --dc-spc-more-bg: #fff;
    --dc-spc-more-border: #0059ab;
    --dc-spc-more-icon-bg: #0059ab;
    --dc-spc-more-icon: #fff;
    --dc-spc-more-hover-text: #fff;
    --dc-spc-more-hover-bg: #0059ab;
    --dc-spc-more-hover-border: #0059ab;
    --dc-spc-more-hover-icon-bg: #fff;
    --dc-spc-more-hover-icon: #0059ab;
    --dc-spc-more-icon-circle: 32px;
    --dc-spc-more-icon-size: 14px;

    --dc-spc-quick-width: 164px;
    --dc-spc-quick-height: 48px;
    --dc-spc-quick-border-width: 1px;
    --dc-spc-quick-radius: 24px;
    --dc-spc-quick-gap: 14px;
    --dc-spc-quick-pt: 5px;
    --dc-spc-quick-pr: 5px;
    --dc-spc-quick-pb: 5px;
    --dc-spc-quick-pl: 22px;
    --dc-spc-quick-bg: #fff;
    --dc-spc-quick-text: #0059ab;
    --dc-spc-quick-border: #0059ab;
    --dc-spc-quick-icon-bg: #0059ab;
    --dc-spc-quick-icon: #fff;
    --dc-spc-quick-hover-bg: #fff;
    --dc-spc-quick-hover-text: #0059ab;
    --dc-spc-quick-hover-border: #0059ab;
    --dc-spc-quick-hover-icon-bg: #0059ab;
    --dc-spc-quick-hover-icon: #fff;
    --dc-spc-quick-icon-circle: 38px;
    --dc-spc-quick-icon-size: 16px;

    --dc-spc-buy-height: 42px;
    --dc-spc-buy-radius: 24px;
    --dc-spc-buy-border-width: 0px;
    --dc-spc-buy-pad-x: 8px;
    --dc-spc-buy-text-gap: 10px;
    --dc-spc-buy-hover-shift: 16px;
    --dc-spc-buy-color: #0059ab;
    --dc-spc-buy-bg: rgba(255,255,255,0);
    --dc-spc-buy-border: rgba(0,0,0,0);
    --dc-spc-buy-icon-bg: rgba(255,255,255,0);
    --dc-spc-buy-icon: #0059ab;
    --dc-spc-buy-hover-bg: #0068c8;
    --dc-spc-buy-hover-border: #0068c8;
    --dc-spc-buy-hover-text: #fff;
    --dc-spc-buy-hover-icon-bg: #fff;
    --dc-spc-buy-hover-icon: #0068c8;
    --dc-spc-buy-icon-circle: 30px;
    --dc-spc-buy-icon-size: 12px;

    --dc-spc-badge-bg: #fe0b21;
    --dc-spc-badge-text: #fff;
    --dc-spc-badge-fold: #77010b;
    --dc-spc-badge-width: 90px;
    --dc-spc-badge-height: 48px;
    --dc-spc-badge-top: 32px;
    --dc-spc-badge-right: -9px;
    --dc-spc-badge-pad-x: 18px;
    --dc-spc-badge-fold-size: 9px;
    --dc-spc-badge-fold-height: 5px;
    --dc-spc-badge-rtl: 12px;
    --dc-spc-badge-rtr: 12px;
    --dc-spc-badge-rbr: 0px;
    --dc-spc-badge-rbl: 12px;

    --dc-spc-arrow-bg: #fcfcfc;
    --dc-spc-arrow-color: #838383;
    --dc-spc-arrow-border: rgba(0,0,0,0);
    --dc-spc-arrow-hover-bg: #fff;
    --dc-spc-arrow-hover-color: #0059ab;
    --dc-spc-arrow-hover-border: #0059ab;
    --dc-spc-arrow-border-width: 1px;
    --dc-spc-arrow-size: 56px;
    --dc-spc-arrow-radius: 28px;
    --dc-spc-arrow-icon-size: 18px;
    --dc-spc-arrow-offset: -28px;
    --dc-spc-arrow-top: 50%;
    --dc-spc-arrow-disabled-opacity: .35;

    width: min(100%, var(--dc-spc-max-width));
    margin-inline: auto;
    color: #011139;
    box-sizing: border-box;
}
.dc-spc,
.dc-spc * { box-sizing: border-box; }
.dc-spc img { max-width: 100%; }
.dc-spc__section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--dc-spc-head-gap);
    margin-bottom: var(--dc-spc-heading-gap);
}
.dc-spc__title { min-width: 0; margin: 0; color: #011139; font-size: 40px; line-height: 1.2; font-weight: 700; letter-spacing: -.025em; }

.dc-spc__more,
.dc-spc a.dc-spc__more,
.dc-spc a.dc-spc__more:visited {
    width: var(--dc-spc-more-width);
    min-width: var(--dc-spc-more-width);
    height: var(--dc-spc-more-height);
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--dc-spc-more-gap);
    padding: var(--dc-spc-more-pt) var(--dc-spc-more-pr) var(--dc-spc-more-pb) var(--dc-spc-more-pl);
    border: var(--dc-spc-more-border-width) solid var(--dc-spc-more-border) !important;
    border-radius: var(--dc-spc-more-radius);
    background: var(--dc-spc-more-bg) !important;
    color: var(--dc-spc-more-text) !important;
    box-shadow: none !important;
    text-decoration: none !important;
    white-space: nowrap;
    transition: color var(--dc-spc-transition) ease, background-color var(--dc-spc-transition) ease, border-color var(--dc-spc-transition) ease;
}
.dc-spc__more-text { color: inherit !important; }
.dc-spc__more:hover,
.dc-spc__more:focus-visible { border-color: var(--dc-spc-more-hover-border) !important; background: var(--dc-spc-more-hover-bg) !important; color: var(--dc-spc-more-hover-text) !important; }
.dc-spc__more-icon {
    width: var(--dc-spc-more-icon-circle); height: var(--dc-spc-more-icon-circle); flex: 0 0 var(--dc-spc-more-icon-circle);
    display: inline-flex; align-items: center; justify-content: center; border-radius: 50%;
    background: var(--dc-spc-more-icon-bg) !important; color: var(--dc-spc-more-icon) !important; font-size: var(--dc-spc-more-icon-size);
    transition: color var(--dc-spc-transition) ease, background-color var(--dc-spc-transition) ease;
}
.dc-spc__more:hover .dc-spc__more-icon,
.dc-spc__more:focus-visible .dc-spc__more-icon { background: var(--dc-spc-more-hover-icon-bg) !important; color: var(--dc-spc-more-hover-icon) !important; }

.dc-spc__carousel-wrap { position: relative; min-width: 0; }
.dc-spc__track {
    display: flex;
    gap: var(--dc-spc-gap);
    width: 100%; min-width: 0;
    overflow-x: auto; overflow-y: visible;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    padding: 0;
}
.dc-spc__track::-webkit-scrollbar { display: none; }
.dc-spc__product-card {
    position: relative;
    width: var(--dc-spc-card-width);
    min-width: 0;
    min-height: var(--dc-spc-card-height);
    flex: 0 0 var(--dc-spc-card-width);
    display: flex;
    flex-direction: column;
    overflow: visible;
    scroll-snap-align: start;
    border: var(--dc-spc-card-border-width) solid var(--dc-spc-card-border);
    border-radius: var(--dc-spc-card-radius);
    background: var(--dc-spc-card-bg);
    color: #181818;
    transition: border-color var(--dc-spc-transition) ease, box-shadow var(--dc-spc-transition) ease;
}
.dc-spc__product-media {
    position: relative;
    width: calc(100% - (var(--dc-spc-card-inset) * 2));
    aspect-ratio: var(--dc-spc-media-aspect);
    flex: 0 0 auto;
    overflow: hidden;
    margin: var(--dc-spc-card-inset) var(--dc-spc-card-inset) 0;
    border-radius: var(--dc-spc-image-radius);
    background: var(--dc-spc-media-bg);
}
.dc-spc__product-media-link { position: relative; z-index: 1; display: block; width: 100%; height: 100%; text-decoration: none; }
.dc-spc__product-media::after { content:''; position:absolute; inset:0; z-index:2; background:var(--dc-spc-overlay); opacity:0; pointer-events:none; transition:opacity var(--dc-spc-transition) ease; }
.dc-spc__product-media img,
.dc-spc__product-img { width:100% !important; height:100% !important; display:block; object-fit:var(--dc-spc-product-fit); object-position:var(--dc-spc-product-position); }

.dc-spc__quick-wrap { position:absolute; inset:0; z-index:3; display:flex; align-items:center; justify-content:center; padding:20px; pointer-events:none; }
.dc-spc__quick,
.dc-spc a.dc-spc__quick,
.dc-spc a.dc-spc__quick:visited {
    width:var(--dc-spc-quick-width); min-width:var(--dc-spc-quick-width); height:var(--dc-spc-quick-height);
    display:inline-flex; align-items:center; justify-content:space-between; gap:var(--dc-spc-quick-gap);
    padding:var(--dc-spc-quick-pt) var(--dc-spc-quick-pr) var(--dc-spc-quick-pb) var(--dc-spc-quick-pl);
    border:var(--dc-spc-quick-border-width) solid var(--dc-spc-quick-border) !important;
    border-radius:var(--dc-spc-quick-radius); background:var(--dc-spc-quick-bg) !important; color:var(--dc-spc-quick-text) !important;
    box-shadow:none !important; text-decoration:none !important; white-space:nowrap; opacity:0; transform:translateY(10px); pointer-events:auto;
    transition:opacity var(--dc-spc-transition) ease, transform var(--dc-spc-transition) cubic-bezier(.22,.61,.36,1), color var(--dc-spc-transition) ease, background-color var(--dc-spc-transition) ease, border-color var(--dc-spc-transition) ease;
}
.dc-spc__quick-text { color:inherit !important; }
.dc-spc__quick:hover,
.dc-spc__quick:focus-visible { border-color:var(--dc-spc-quick-hover-border) !important; background:var(--dc-spc-quick-hover-bg) !important; color:var(--dc-spc-quick-hover-text) !important; }
.dc-spc__quick-icon { width:var(--dc-spc-quick-icon-circle); height:var(--dc-spc-quick-icon-circle); flex:0 0 var(--dc-spc-quick-icon-circle); display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:var(--dc-spc-quick-icon-bg) !important; color:var(--dc-spc-quick-icon) !important; font-size:var(--dc-spc-quick-icon-size); transition:color var(--dc-spc-transition) ease, background-color var(--dc-spc-transition) ease; }
.dc-spc__quick:hover .dc-spc__quick-icon,
.dc-spc__quick:focus-visible .dc-spc__quick-icon { background:var(--dc-spc-quick-hover-icon-bg) !important; color:var(--dc-spc-quick-hover-icon) !important; }

.dc-spc__product-content { min-width:0; flex:1 1 auto; display:flex; flex-direction:column; padding:var(--dc-spc-content-pt) calc(var(--dc-spc-card-inset) + var(--dc-spc-content-pad-x)) var(--dc-spc-content-pb); }
.dc-spc__product-title { display:-webkit-box; margin:0 0 var(--dc-spc-title-mb); overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:var(--dc-spc-title-lines); color:#181818; text-decoration:none; }
.dc-spc__product-title:visited { color:inherit; }
.dc-spc__product-title:hover,
.dc-spc__product-title:focus-visible { color:var(--dc-spc-title-hover); text-decoration:none; }
.dc-spc__excerpt { display:-webkit-box; margin:0 0 var(--dc-spc-excerpt-mb); overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:var(--dc-spc-excerpt-lines); color:#8b8b8b; }
.dc-spc__price { display:flex; align-items:baseline; flex-wrap:wrap; gap:var(--dc-spc-price-gap); min-width:0; margin:0 0 var(--dc-spc-price-mb); color:#0059ab; }
.dc-spc__price ins,
.dc-spc__price del { display:inline-flex; background:transparent; text-decoration-thickness:1px; }
.dc-spc__price ins { order:1; color:#0059ab; text-decoration:none; }
.dc-spc__price del { order:2; color:#8b8b8b; opacity:1; }
.dc-spc__price > .woocommerce-Price-amount { color:#0059ab; }
.dc-spc__price .woocommerce-Price-currencySymbol { font-size:52%; vertical-align:super; }

.dc-spc__buy,
.dc-spc a.dc-spc__buy,
.dc-spc a.dc-spc__buy:visited {
    position:relative; display:flex; align-items:center; width:100%; min-height:var(--dc-spc-buy-height); height:var(--dc-spc-buy-height); margin-top:auto;
    padding:0 var(--dc-spc-buy-pad-x); overflow:hidden; isolation:isolate;
    border:var(--dc-spc-buy-border-width) solid var(--dc-spc-buy-border) !important; border-radius:var(--dc-spc-buy-radius);
    background:var(--dc-spc-buy-bg) !important; color:var(--dc-spc-buy-color) !important; box-shadow:none !important; text-decoration:none !important;
}
.dc-spc__buy::before { content:''; position:absolute; inset:0; z-index:-1; border-radius:inherit; background:var(--dc-spc-buy-hover-bg); opacity:0; transform:scaleX(.18); transform-origin:left center; transition:opacity var(--dc-spc-transition) ease, transform var(--dc-spc-transition) cubic-bezier(.22,.61,.36,1); }
.dc-spc__buy-text { position:relative; z-index:1; display:inline-block; flex:0 0 auto; margin-right:var(--dc-spc-buy-text-gap); color:inherit !important; transform:translateX(0); transition:color var(--dc-spc-transition) ease, transform var(--dc-spc-transition) cubic-bezier(.22,.61,.36,1), flex-grow var(--dc-spc-transition) cubic-bezier(.22,.61,.36,1); }
.dc-spc__buy-icon { position:relative; z-index:1; display:inline-flex; align-items:center; justify-content:center; width:var(--dc-spc-buy-icon-circle); height:var(--dc-spc-buy-icon-circle); flex:0 0 var(--dc-spc-buy-icon-circle); border-radius:50%; background:var(--dc-spc-buy-icon-bg) !important; color:var(--dc-spc-buy-icon) !important; font-size:var(--dc-spc-buy-icon-size); transition:background-color var(--dc-spc-transition) ease, color var(--dc-spc-transition) ease; }

.dc-spc__badge { position:absolute; z-index:4; top:var(--dc-spc-badge-top); right:var(--dc-spc-badge-right); width:var(--dc-spc-badge-width); min-width:0; height:var(--dc-spc-badge-height); display:inline-flex; align-items:center; justify-content:center; padding:0 var(--dc-spc-badge-pad-x); overflow:visible; border-radius:var(--dc-spc-badge-rtl) var(--dc-spc-badge-rtr) var(--dc-spc-badge-rbr) var(--dc-spc-badge-rbl); background:var(--dc-spc-badge-bg); color:var(--dc-spc-badge-text); line-height:1; white-space:nowrap; }
.dc-spc__badge::after { content:''; position:absolute; right:0; top:100%; width:var(--dc-spc-badge-fold-size); height:var(--dc-spc-badge-fold-height); background:var(--dc-spc-badge-fold); clip-path:polygon(0 0, 100% 0, 0 100%); pointer-events:none; }

.dc-spc__carousel-arrow {
    position:absolute; z-index:7; top:var(--dc-spc-arrow-top);
    width:var(--dc-spc-arrow-size); height:var(--dc-spc-arrow-size);
    display:inline-flex; align-items:center; justify-content:center; padding:0 !important;
    border:var(--dc-spc-arrow-border-width) solid var(--dc-spc-arrow-border) !important;
    border-radius:var(--dc-spc-arrow-radius); background:var(--dc-spc-arrow-bg) !important; color:var(--dc-spc-arrow-color) !important;
    transform:translateY(-50%); cursor:pointer;
    transition:color var(--dc-spc-transition) ease, background-color var(--dc-spc-transition) ease, border-color var(--dc-spc-transition) ease, opacity var(--dc-spc-transition) ease, box-shadow var(--dc-spc-transition) ease;
}
.dc-spc__carousel-arrow--prev { left:var(--dc-spc-arrow-offset); }
.dc-spc__carousel-arrow--next { right:var(--dc-spc-arrow-offset); }
.dc-spc__carousel-arrow:hover,
.dc-spc__carousel-arrow:focus-visible { border-color:var(--dc-spc-arrow-hover-border) !important; background:var(--dc-spc-arrow-hover-bg) !important; color:var(--dc-spc-arrow-hover-color) !important; }
.dc-spc__carousel-arrow:disabled { opacity:var(--dc-spc-arrow-disabled-opacity); cursor:default; }
.dc-spc__carousel-arrow svg,
.dc-spc__carousel-arrow i { display:block; width:var(--dc-spc-arrow-icon-size); height:var(--dc-spc-arrow-icon-size); color:currentColor; font-size:var(--dc-spc-arrow-icon-size); }

.dc-spc__more-icon svg,
.dc-spc__more-icon i,
.dc-spc__quick-icon svg,
.dc-spc__quick-icon i,
.dc-spc__buy-icon svg,
.dc-spc__buy-icon i { display:block; width:1em; height:1em; color:currentColor; font-size:1em; }
.dc-spc__more-icon > svg:not([fill]),
.dc-spc__more-icon > svg[fill='none'],
.dc-spc__quick-icon > svg:not([fill]),
.dc-spc__quick-icon > svg[fill='none'],
.dc-spc__buy-icon > svg:not([fill]),
.dc-spc__buy-icon > svg[fill='none'],
.dc-spc__carousel-arrow > svg:not([fill]),
.dc-spc__carousel-arrow > svg[fill='none'] { fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; }
.dc-spc__icon--custom svg { color:currentColor !important; }
.dc-spc__icon--custom svg[fill]:not([fill='none']),
.dc-spc__icon--custom svg [fill]:not([fill='none']) { fill:currentColor !important; }
.dc-spc__icon--custom svg[stroke]:not([stroke='none']),
.dc-spc__icon--custom svg [stroke]:not([stroke='none']) { stroke:currentColor !important; }

.dc-spc__more:focus-visible,
.dc-spc__quick:focus-visible,
.dc-spc__buy:focus-visible,
.dc-spc__product-title:focus-visible,
.dc-spc__product-media-link:focus-visible,
.dc-spc__carousel-arrow:focus-visible { outline:2px solid var(--dc-spc-card-hover-border); outline-offset:2px; }

@media (hover:hover) and (pointer:fine) {
    .dc-spc__product-card:hover,
    .dc-spc__product-card:focus-within { border-color:var(--dc-spc-card-hover-border); }
    .dc-spc__product-card:hover .dc-spc__product-media::after,
    .dc-spc__product-card:focus-within .dc-spc__product-media::after { opacity:1; }
    .dc-spc__product-card:hover .dc-spc__quick,
    .dc-spc__product-card:focus-within .dc-spc__quick { opacity:1; transform:translateY(0); }
    .dc-spc__product-card:hover .dc-spc__buy,
    .dc-spc__product-card:focus-within .dc-spc__buy { color:var(--dc-spc-buy-hover-text) !important; border-color:var(--dc-spc-buy-hover-border) !important; }
    .dc-spc__product-card:hover .dc-spc__buy::before,
    .dc-spc__product-card:focus-within .dc-spc__buy::before { opacity:1; transform:scaleX(1); }
    .dc-spc__product-card:hover .dc-spc__buy-text,
    .dc-spc__product-card:focus-within .dc-spc__buy-text { flex-grow:1; transform:translateX(var(--dc-spc-buy-hover-shift)); }
    .dc-spc__product-card:hover .dc-spc__buy-icon,
    .dc-spc__product-card:focus-within .dc-spc__buy-icon { background:var(--dc-spc-buy-hover-icon-bg) !important; color:var(--dc-spc-buy-hover-icon) !important; }
}

.dc-spc__editor-note,
.dc-spc--missing-wc { padding:20px; border:1px dashed rgba(0,89,171,.25); border-radius:16px; background:rgba(194,226,255,.22); color:#011139; }
@media (max-width:1024px) { .dc-spc__carousel-arrow { display:none; } }
@media (max-width:767px) {
    .dc-spc__section-head { flex-direction:column; align-items:stretch; }
    .dc-spc__more { align-self:flex-start; }
    .dc-spc__product-card { min-height:var(--dc-spc-card-height); }
    .dc-spc__quick { opacity:1; transform:none; }
    .dc-spc__product-media::after { opacity:.08; }
    .dc-spc__buy,
    .dc-spc a.dc-spc__buy,
    .dc-spc a.dc-spc__buy:visited { color:var(--dc-spc-buy-hover-text) !important; border-color:var(--dc-spc-buy-hover-border) !important; }
    .dc-spc__buy::before { opacity:1; transform:scaleX(1); }
    .dc-spc__buy-text { flex-grow:1; transform:translateX(var(--dc-spc-buy-hover-shift)); }
    .dc-spc__buy-icon { background:var(--dc-spc-buy-hover-icon-bg) !important; color:var(--dc-spc-buy-hover-icon) !important; }
}

@media (prefers-reduced-motion:reduce) {
    .dc-spp__product-card,
    .dc-spp__product-media::after,
    .dc-spp__quick,
    .dc-spp__buy::before,
    .dc-spp__buy-text,
    .dc-spp__buy-icon,
    .dc-spp__more,
    .dc-spp__more-icon,
    .dc-spc__product-card,
    .dc-spc__product-media::after,
    .dc-spc__quick,
    .dc-spc__buy::before,
    .dc-spc__buy-text,
    .dc-spc__buy-icon,
    .dc-spc__more,
    .dc-spc__more-icon,
    .dc-spc__carousel-arrow { transition-duration:0ms !important; }
}

/* Elementor icon-library SVGs inherit each widget's icon color. */
.dc-spp__icon--custom .e-font-icon-svg,
.dc-spc__icon--custom .e-font-icon-svg {
    fill: currentColor !important;
    color: currentColor !important;
}
