.kcm-campaign-banner{box-sizing:border-box;width:100%;margin:0 0 24px;background:#c8102e;color:#fff;border-radius:3px;overflow:hidden}
.kcm-campaign-banner__inner{box-sizing:border-box;max-width:1180px;margin:0 auto;padding:15px 22px;color:inherit;display:flex;align-items:center;justify-content:center;gap:18px}
.kcm-campaign-banner__copy{min-width:0;color:inherit;font-size:18px;line-height:1.4;font-weight:700;text-align:center;overflow-wrap:anywhere;word-break:normal}
.kcm-campaign-banner__copy p{margin:.25em 0;color:inherit}.kcm-campaign-banner__copy a{color:inherit;text-decoration:underline}
.kcm-campaign-banner__media{display:block;max-width:min(220px,28vw);max-height:110px;width:auto;height:auto;object-fit:contain;flex:0 0 auto}

/* Archive/product-card sale mark: a real fixed circle with flex centering. */
.kcm-sale-badge.onsale{box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:72px!important;height:72px!important;min-width:72px!important;min-height:72px!important;padding:0!important;margin:0!important;border:0!important;border-radius:50%!important;background:#e30613!important;color:#fff!important;font-size:17px!important;font-weight:800!important;line-height:1!important;letter-spacing:.01em!important;text-align:center!important;text-transform:uppercase;white-space:nowrap;box-shadow:0 2px 10px rgba(0,0,0,.12);z-index:8}

/* Campaign price presentation: make the saving explicit for variable parents, simple products and selected variations. */
.kcm-price-html{box-sizing:border-box;display:inline-flex;align-items:baseline;gap:8px;flex-wrap:wrap;max-width:100%;font-variant-numeric:tabular-nums}
.kcm-price-html .kcm-price-from{font-size:.78em;font-weight:700;color:#555;text-transform:none}
.kcm-price-html .kcm-price-pair{display:inline-flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.kcm-price-html del{opacity:.72;color:#444;text-decoration-thickness:2px;text-decoration-color:#555}
.kcm-price-html del .amount{color:inherit!important}
.kcm-price-html ins{text-decoration:none!important;color:#e30613!important;font-weight:800!important}
.kcm-price-html ins .amount{color:inherit!important;font-weight:inherit!important}
.kcm-price-html .kcm-price-discount{display:inline-flex;align-items:center;min-height:24px;padding:2px 7px;border-radius:999px;background:#e30613;color:#fff;font-size:.72em;font-weight:800;line-height:1.15;white-space:nowrap}
.products .kcm-price-html{width:100%;justify-content:center;text-align:center}
.products .kcm-price-html .kcm-price-pair{justify-content:center}

/* Main product page uses a price-adjacent campaign highlight instead of an
 * image-overlay sale flash, so gallery zoom/lightbox controls remain free. */
.kcm-single-campaign-highlight{box-sizing:border-box;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"eyebrow title" "eyebrow copy";align-items:center;column-gap:12px;row-gap:2px;margin:10px 0 18px;padding:12px 14px;border-left:5px solid #e30613;background:#fff2f2;border-radius:3px;color:#171717;max-width:100%}
.kcm-single-campaign-highlight__eyebrow{grid-area:eyebrow;display:inline-flex;align-items:center;justify-content:center;min-width:78px;min-height:42px;padding:6px 9px;border-radius:999px;background:#e30613;color:#fff;font-size:12px;font-weight:800;line-height:1.15;text-align:center;text-transform:uppercase}
.kcm-single-campaign-highlight__title{grid-area:title;display:block;color:#111;font-size:18px;line-height:1.25;font-weight:800}
.kcm-single-campaign-highlight__copy{grid-area:copy;display:block;color:#444;font-size:14px;line-height:1.4}

body.kcm-preview-active:before{content:"KCM PREVIEW ONLY";position:fixed;z-index:999999;right:10px;bottom:10px;background:#111;color:#fff;padding:6px 9px;font:700 11px/1.2 sans-serif;border-radius:3px;opacity:.86;pointer-events:none}
@media(max-width:767px){
  .kcm-campaign-banner{margin-bottom:18px}.kcm-campaign-banner__inner{padding:13px 14px;gap:10px;align-items:flex-start}.kcm-campaign-banner__copy{font-size:16px;line-height:1.45;text-align:left;flex:1 1 auto}.kcm-campaign-banner__media{max-width:92px;max-height:82px}
  .kcm-sale-badge.onsale{width:60px!important;height:60px!important;min-width:60px!important;min-height:60px!important;font-size:14px!important}
  .kcm-price-html{gap:6px}.kcm-price-html .kcm-price-pair{gap:6px}.kcm-price-html .kcm-price-discount{min-height:22px;padding:2px 6px}
  .kcm-single-campaign-highlight{grid-template-columns:1fr;grid-template-areas:"eyebrow" "title" "copy";row-gap:6px;padding:12px;margin:10px 0 16px}
  .kcm-single-campaign-highlight__eyebrow{justify-self:start;min-width:0;min-height:0;padding:5px 9px}
  .kcm-single-campaign-highlight__title{font-size:17px}
}
@media(max-width:430px){.kcm-campaign-banner__inner{flex-direction:column}.kcm-campaign-banner__media{max-width:140px;max-height:90px}.kcm-price-html{font-size:.96em}}

/* RC8 cart + classic checkout: retain the reference price beside the campaign
 * subtotal so the saving remains visible through the purchase path. */
.kcm-line-price-pair{display:inline-flex;max-width:100%;flex-wrap:wrap;align-items:baseline;justify-content:flex-end;gap:3px 7px;font-variant-numeric:tabular-nums}
.kcm-line-price-pair .kcm-line-price-regular{opacity:.68;color:#555;text-decoration-thickness:2px}
.kcm-line-price-pair .kcm-line-price-campaign{text-decoration:none!important;color:#e30613!important;font-weight:800}
.kcm-line-price-pair .kcm-line-price-saving{flex-basis:100%;font-size:11px;line-height:1.2;font-weight:800;color:#e30613;text-align:right;white-space:normal}
@media(max-width:767px){.kcm-line-price-pair{justify-content:flex-start}.kcm-line-price-pair .kcm-line-price-saving{text-align:left}}

