.product-detail__price.payment-seasonal-price {
    --seasonal-background: #fff7ef;
    --seasonal-accent: #b63d08;
    position: relative;
    isolation: isolate;
    padding: 10px 16px;
    gap: 5px;
    border: 1px solid #ffe1cc;
    border-color: color-mix(in srgb, var(--seasonal-accent) 18%, transparent);
    border-radius: 12px 12px 0 0;
    background: var(--seasonal-background);
    color: #512b1a;
    font-family: var(--sort-body3-font, var(--sort-body-font, sans-serif));
}
.product-detail__price.payment-seasonal-price[data-seasonal-style="christmas"] { --seasonal-background: #f1f8f2; --seasonal-accent: #266647; }
.product-detail__price.payment-seasonal-price[data-seasonal-style="newyear"] { --seasonal-background: #fff9e9; --seasonal-accent: #946018; }
.product-detail__price.payment-seasonal-price[data-seasonal-style="blackfriday"] { --seasonal-background: #f5f1fa; --seasonal-accent: #65418b; }
.payment-grid > .product-detail__price.payment-seasonal-price { grid-column: 1 / -1; grid-row: var(--payment-heading-row); min-width: 0; }
.product-detail[data-section-type="main-product"] .product-detail__info.payment-grid .product-detail__price.payment-seasonal-price {
    padding: 10px calc(16px + var(--payment-edge));
    padding-block-end: calc(10px + var(--info-row-gap, 10px));
    margin-inline: 0;
    margin-block-end: calc(-1 * var(--info-row-gap, 10px));
    gap: 5px;
}
.payment-seasonal-price > :not(.payment-seasonal-art) { position: relative; z-index: 1; }
.payment-seasonal-art { position: absolute; inset: 0; z-index: 0; border-radius: inherit; overflow: hidden; pointer-events: none; }
.payment-seasonal-background-image { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: right center; opacity: var(--seasonal-image-opacity, 1); }
.payment-seasonal-background-image > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: right center; }
.payment-seasonal-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; }
.payment-seasonal-top:empty { display: none; }
.payment-seasonal-heading { display: flex; align-items: center; gap: 8px; min-width: 0; }
.payment-seasonal-badge { display: inline-flex; align-items: center; gap: 7px; min-width: 0; padding: 2px 10px 2px 6px; border: 1px solid #ffd8b9; border-color: color-mix(in srgb, var(--seasonal-accent) 20%, transparent); border-radius: 999px; background: #ffe8d5; background: color-mix(in srgb, var(--seasonal-accent) 7%, var(--seasonal-background)); color: var(--seasonal-accent); font: 600 15px/1.35 Georgia, serif; }
.payment-seasonal-icon { display: block; flex: 0 0 var(--seasonal-icon-size, 24px); width: var(--seasonal-icon-size, 24px); height: var(--seasonal-icon-size, 24px); font: var(--seasonal-icon-size, 24px)/1 sans-serif; }
.payment-seasonal-icon svg, .payment-seasonal-note-icon svg, .payment-seasonal-heading-accent svg { display: block; width: 100%; height: 100%; }
.payment-seasonal-icon img, .payment-seasonal-heading-accent img, .payment-seasonal-note-icon img, .payment-seasonal-clock img { display: block; width: 100%; height: 100%; object-fit: contain; }
.payment-seasonal-heading-accent { display: inline-flex; align-items: end; flex-shrink: 0; width: 32px; height: 28px; font: 24px/1 sans-serif; color: var(--seasonal-accent); }
.payment-seasonal-heading-accent small { font-size: 12px; margin-inline-start: -2px; }
.product-detail[data-section-type="main-product"] .product-detail__info .payment-seasonal-price .product-price { gap: 4px 10px; }
.product-detail[data-section-type="main-product"] .payment-seasonal-price .product-price::before { content: none; display: none; }
.product-detail[data-section-type="main-product"] .product-detail__info .payment-seasonal-price .product-price__save { margin-inline-end: 6px; border: 1px solid #ffa867; border-color: color-mix(in srgb, var(--seasonal-accent) 45%, transparent); border-radius: 999px; background: #fff0dd; background: color-mix(in srgb, var(--seasonal-accent) 6%, var(--seasonal-background)); color: var(--seasonal-accent); box-shadow: 0 3px 10px #e86a1720; }
.payment-seasonal-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px 10px; min-width: 0; }
.payment-seasonal-footer:has(.payment-seasonal-note) { border-block-start: 1px solid color-mix(in srgb, var(--seasonal-accent) 14%, transparent); margin-block-start: 2px; padding-block: 8px; }
.payment-seasonal-footer:empty { display: none; }
.payment-seasonal-note { display: flex; align-items: center; gap: 5px; flex: 1 1 180px; min-width: 0; margin: 0; font: 400 11px/1.4 var(--sort-body3-font, var(--sort-body-font, sans-serif)); }
.payment-seasonal-note-icon { flex: 0 0 17px; width: 17px; height: 17px; font: 17px/1 sans-serif; }
theme-seasonal-countdown { box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; gap: 5px; flex-shrink: 0; min-height: 28px; padding: 4px 9px; border-radius: 999px; background: #ffe8d5; background: color-mix(in srgb, var(--seasonal-accent) 8%, var(--seasonal-background)); color: #512b1a; font: 400 10px/1 var(--sort-body3-font, var(--sort-body-font, sans-serif)); }
theme-seasonal-countdown[hidden] { display: none; }
theme-seasonal-countdown .payment-seasonal-countdown-label, theme-seasonal-countdown time { display: inline-flex; align-items: center; justify-content: center; height: 16px; line-height: 1; }
theme-seasonal-countdown time { font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; color: var(--seasonal-accent); }
.payment-seasonal-clock { display: block; width: 14px; height: 14px; color: var(--seasonal-accent); }
.payment-seasonal-clock svg { display: block; width: 100%; height: 100%; }
@media (max-width: 959px) {
    .product-detail__price.payment-seasonal-price { padding: 8px 10px; }
    .product-detail[data-section-type="main-product"] .product-detail__info.payment-grid .product-detail__price.payment-seasonal-price { padding: 8px 11px; padding-block-end: calc(8px + var(--info-row-gap, 10px)); gap: 5px; margin-inline: -8px; }
    .payment-seasonal-badge { font-size: 13px; }
    .payment-seasonal-top { gap: 5px; }
    .payment-seasonal-heading { gap: 5px; }
    .payment-seasonal-top:has(theme-seasonal-countdown:not([hidden])) .payment-seasonal-heading-accent { width: 20px; height: 22px; }
    .product-detail[data-section-type="main-product"] .product-detail__info .payment-seasonal-price .product-price { display: grid; grid-template-columns: max-content minmax(0, 1fr) max-content; gap: 4px clamp(4px, 1.2vw, 8px); }
    .product-detail[data-section-type="main-product"] .product-detail__info .payment-seasonal-price .product-price__sale { font-size: clamp(16px, 4.5vw, 21px); }
    .product-detail[data-section-type="main-product"] .product-detail__info .payment-seasonal-price .product-price__origin { font-size: clamp(10px, 3vw, 12px); }
    .product-detail[data-section-type="main-product"] .product-detail__info .payment-seasonal-price .product-price__save { justify-self: end; margin-inline-start: 0; margin-inline-end: 4px; padding: 5px 6px; font-size: clamp(9px, 2.5vw, 10px); }
    .payment-seasonal-note { flex-basis: 150px; font-size: 10px; }
    .payment-seasonal-footer { gap: 5px; }
    theme-seasonal-countdown { margin-inline-start: auto; padding: 4px 6px; gap: 4px; font-size: 9px; }
    theme-seasonal-countdown time { font-size: 11px; }
}

/* Share the right column so the timer and savings keep the same center. */
.product-detail[data-section-type="main-product"] .product-detail__info .product-detail__price.payment-seasonal-price:has(theme-seasonal-countdown:not([hidden])) {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr) max-content;
}
.payment-seasonal-price:has(theme-seasonal-countdown:not([hidden])) > .payment-seasonal-top {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: subgrid;
}
.payment-seasonal-price:has(theme-seasonal-countdown:not([hidden])) .payment-seasonal-heading { grid-column: 1 / 3; }
.payment-seasonal-price:has(theme-seasonal-countdown:not([hidden])) theme-seasonal-countdown { grid-column: 3; justify-self: center; margin-inline: 0; }
.product-detail[data-section-type="main-product"] .product-detail__info .payment-seasonal-price:has(theme-seasonal-countdown:not([hidden])) > .product-price {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: subgrid;
}
.product-detail[data-section-type="main-product"] .product-detail__info .payment-seasonal-price:has(theme-seasonal-countdown:not([hidden])) .product-price__save {
    grid-column: 3;
    justify-self: center;
    margin-inline: 0;
}
.payment-seasonal-price:has(theme-seasonal-countdown:not([hidden])) > .payment-seasonal-footer { grid-column: 1 / -1; }

/* Let the note's equal padding define the space above and below its text. */
.product-detail[data-section-type="main-product"] .product-detail__info .product-detail__price.payment-seasonal-price:has(.payment-seasonal-note) {
    padding-block-end: 0;
    margin-block-end: 0;
}

theme-seasonal-countdown .payment-seasonal-countdown-label { flex-shrink: 0; white-space: nowrap; }
theme-seasonal-countdown time { display: inline-grid; flex: 0 0 auto; }
theme-seasonal-countdown time > span,
theme-seasonal-countdown .payment-seasonal-time-reserve > span { grid-area: 1 / 1; }
theme-seasonal-countdown .payment-seasonal-time-reserve { display: grid; visibility: hidden; pointer-events: none; }

@media (max-width: 959px) {
    .payment-seasonal-price { container: seasonal-price / inline-size; }
    .payment-seasonal-badge {
        padding-inline: 5px;
        gap: 4px;
        font-size: clamp(10px, 2.8vw, 11px);
        white-space: nowrap;
    }
    .payment-seasonal-icon {
        flex-basis: min(20px, var(--seasonal-icon-size, 24px));
        width: min(20px, var(--seasonal-icon-size, 24px));
        height: min(20px, var(--seasonal-icon-size, 24px));
        font-size: min(20px, var(--seasonal-icon-size, 24px));
    }
    @container seasonal-price (max-width: 360px) {
        .payment-seasonal-heading-accent { display: none; }
    }
}

/* The seasonal price also stands alone when the original payment style is selected. */
.product-detail[data-payment-installment-style="original"] .payment-seasonal-price .product-price {
    width: 100%; flex-wrap: wrap; justify-content: flex-start; align-items: center; gap: 6px 10px;
}
.product-detail[data-payment-installment-style="original"] .payment-seasonal-price .product-price__item { white-space: nowrap; }
.product-detail[data-payment-installment-style="original"] .payment-seasonal-price .product-price__sale { font-size: 26px; font-weight: 700; line-height: 1.25; }
.product-detail[data-payment-installment-style="original"] .payment-seasonal-price .product-price__origin { color: #777; font-size: 14px; font-weight: 400; }
.product-detail[data-payment-installment-style="original"] .payment-seasonal-price .product-price__save { padding: 6px 10px; font: 700 12px/1.3 var(--sort-body3-font, var(--sort-body-font, sans-serif)); }
@media (max-width: 959px) {
    .product-detail[data-payment-installment-style="original"] .payment-seasonal-price .product-price__sale { font-size: clamp(16px, 4.5vw, 21px); }
    .product-detail[data-payment-installment-style="original"] .payment-seasonal-price .product-price__origin { font-size: clamp(10px, 3vw, 12px); }
    .product-detail[data-payment-installment-style="original"] .payment-seasonal-price .product-price__save { padding: 5px 6px; font-size: clamp(9px, 2.5vw, 10px); }
}
