/* Cart Promotions — --kcp-accent and --kcp-dark come from the settings or the theme. */
ul.products li.product{position:relative}
.kcp-box{--kcp-tint:color-mix(in srgb,var(--kcp-accent) calc(9% * var(--kcp-mix,1)),#fff);background:var(--kcp-tint);border:1px solid color-mix(in srgb,var(--kcp-accent) calc(40% * var(--kcp-mix,1)),#fff);border-radius:var(--kcp-r,6px);padding:12px 14px;margin:0 0 18px;font-size:14px;line-height:1.45;color:#111}
.kcp-box__head{font-weight:600;font-size:12px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px;color:var(--kcp-dark)}
.kcp-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.kcp-list+.kcp-list{margin-top:8px;padding-top:8px;border-top:1px dashed color-mix(in srgb,var(--kcp-accent) calc(45% * var(--kcp-mix,1)),#fff)}
.kcp-item{display:flex;gap:8px;align-items:flex-start;margin:0}
.kcp-item__text{flex:1 1 auto;min-width:0}
.kcp-item__amount{font-weight:600;white-space:nowrap;color:var(--kcp-dark)}
.kcp-item__link{color:var(--kcp-dark);font-weight:600;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.kcp-ico{flex:0 0 18px;width:18px;height:18px;margin-top:1px;border-radius:50%;padding:2px;background:var(--kcp-accent);color:#fff}
.kcp-item--nudge .kcp-ico{background:var(--kcp-dark)}
.kcp-box__total{margin-top:8px;text-align:right}
.kcp-box--checkout{margin:0}
.kcp-review-row td{padding:10px 0!important;border:0!important}
.kcp-mini{list-style:none;padding:0 0 10px!important;margin:0!important;border:0!important}
.kcp-mini .kcp-box{margin:0;font-size:13px;padding:10px 12px}
.kcp-line-tag{display:block;width:max-content;max-width:100%;margin-top:5px;padding:2px 8px;border-radius:calc(var(--kcp-r,6px) / 2);background:color-mix(in srgb,var(--kcp-accent) calc(16% * var(--kcp-mix,1)),#fff);color:#111;font-size:12px;line-height:1.5;font-weight:400;white-space:normal}
.kcp-line-tag__label{font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:10.5px;color:var(--kcp-dark)}
.kcp-line-tag__off{font-weight:600}
.kcp-line-tag--gift{background:var(--kcp-dark);color:#fff}.kcp-line-tag--gift .kcp-line-tag__label{color:#fff}
del.kcp-old{opacity:.55;font-weight:400}ins.kcp-new{text-decoration:none;font-weight:600}
.kcp-gift-qty{display:inline-block;min-width:2em;text-align:center}
.kcp-badges{position:absolute;top:10px;right:10px;z-index:3;display:flex;flex-direction:column;align-items:flex-end;gap:4px;pointer-events:none}
.kcp-badge{display:inline-block;background:var(--kcp-accent);color:#fff;font-size:12px;font-weight:600;line-height:1;padding:6px 9px;border-radius:999px;letter-spacing:.02em}
.kcp-badge--inline{font-size:11px;padding:4px 8px;vertical-align:1px}
.kcp-product-promos{margin:14px 0 18px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--kcp-accent) calc(40% * var(--kcp-mix,1)),#fff);background:color-mix(in srgb,var(--kcp-accent) calc(7% * var(--kcp-mix,1)),#fff);border-radius:var(--kcp-r,6px);font-size:14px}
.kcp-product-promos__head{font-weight:600;font-size:12px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}
.kcp-product-promos ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.kcp-product-promos li{margin:0}
.kcp-product-promos__desc{display:block;color:#444;font-size:13px;margin-top:2px}
.kcp-toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);opacity:0;z-index:999999;display:flex;gap:12px;align-items:flex-start;width:min(420px,calc(100vw - 32px));background:var(--kcp-dark);color:#fff;border-radius:var(--kcp-r,8px);padding:14px 16px;box-shadow:0 10px 30px rgba(0,0,0,.25);transition:opacity .25s ease,transform .25s ease;font-size:14px;line-height:1.4}
.kcp-toast.is-on{opacity:1;transform:translate(-50%,0)}
.kcp-toast .kcp-ico{background:var(--kcp-accent)}
.kcp-toast__body{flex:1;min-width:0}.kcp-toast__head{font-weight:600;margin-bottom:2px}
.kcp-toast__close{background:none;border:0;color:#fff;font-size:20px;line-height:1;cursor:pointer;padding:0 2px;opacity:.8}
.kcp-toast__close:focus-visible{outline:2px solid var(--kcp-accent);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.kcp-toast{transition:none}}
/* Theme list styles inside the side cart. */
.widget_shopping_cart .kcp-box ul.kcp-list li.kcp-item,.kcp-mini .kcp-box li.kcp-item{padding:0!important;margin:0!important;border:0!important;min-height:0!important;display:flex!important;position:static!important}
.widget_shopping_cart .kcp-box ul.kcp-list,.kcp-mini .kcp-box ul.kcp-list{padding:0!important;margin:0!important}
.widget_shopping_cart .kcp-box ul.kcp-list+ul.kcp-list{margin-top:8px!important;padding-top:8px!important}
.kcp-mini-total{border-top:0!important;padding-top:0!important;margin-top:-6px!important}
.kcp-mini-total .amount{color:var(--kcp-dark)}
ins.kcp-new{margin-left:.35em;white-space:nowrap}del.kcp-old{white-space:nowrap}

/* Mini-cart promotional price */
.kcp-mini-price{display:inline-flex!important;flex-wrap:wrap;align-items:baseline;gap:0 .35em}
.kcp-mini-price del.kcp-old{opacity:.5;font-weight:400}
.kcp-mini-price ins.kcp-new{margin:0;padding:1px 7px;border-radius:calc(var(--kcp-r,6px) / 2);background:var(--kcp-accent);color:#fff;font-weight:700;text-decoration:none}
.kcp-mini-price ins.kcp-new .amount,.kcp-mini-price ins.kcp-new bdi{color:#fff!important;font-weight:700}
.kcp-mini-price__sum{white-space:nowrap}
.kcp-line-tag__off{white-space:nowrap}
.widget_shopping_cart .kcp-line-tag{font-size:11.5px}
.widget_shopping_cart .kcp-mini-price{font-size:13px}.kcp-mini-price ins.kcp-new{font-size:14px;line-height:1.5}

/* Block cart / checkout */
.kcp-block-box .kcp-box{margin:12px 0 0}
.wc-block-components-order-meta .kcp-box--checkout{margin:12px 0}
.kcp-badge-wrap{position:relative}.wc-block-product,.wc-block-grid__product{position:relative}
del.kcp-was{opacity:.55;font-weight:400;margin-right:.25em}ins.kcp-now{text-decoration:none;font-weight:600}

/* Progress bars ("Add 300 more for free delivery") — logical properties, so RTL works. */
.kcp-progress{display:grid;gap:10px;margin:0 0 16px;font-size:14px;line-height:1.45;color:inherit}
.kcp-goal{display:grid;gap:6px}
.kcp-goal__text{display:flex;gap:8px;align-items:flex-start;margin:0;color:inherit}
.kcp-goal__text>span{flex:1 1 auto;min-width:0}
.kcp-goal__text strong{color:var(--kcp-dark);font-weight:700;white-space:nowrap}
.kcp-goal .kcp-ico{background:var(--kcp-dark)}
.kcp-goal.is-done .kcp-ico{background:var(--kcp-accent)}
.kcp-goal__link{color:var(--kcp-dark);font-weight:600;text-decoration:underline;text-underline-offset:2px;white-space:nowrap;margin-inline-start:.25em}
.kcp-goal__link::after{content:" →"}
[dir=rtl] .kcp-goal__link::after{content:" ←"}
.kcp-goal__track{position:relative;block-size:8px;border-radius:999px;background:color-mix(in srgb,var(--kcp-accent) calc(16% * var(--kcp-mix,1)),#fff);overflow:hidden}
.kcp-goal__fill{display:block;block-size:100%;inline-size:0;max-inline-size:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--kcp-accent) 75%,#fff),var(--kcp-accent));transition:inline-size .7s cubic-bezier(.22,.8,.3,1)}
[dir=rtl] .kcp-goal__fill{background:linear-gradient(270deg,color-mix(in srgb,var(--kcp-accent) 75%,#fff),var(--kcp-accent))}
.kcp-goal.is-done .kcp-goal__fill{background:var(--kcp-accent)}
.kcp-progress--cart,.kcp-progress--widget{padding:12px 14px;border:1px solid color-mix(in srgb,var(--kcp-accent) calc(40% * var(--kcp-mix,1)),#fff);border-radius:var(--kcp-r,6px);background:color-mix(in srgb,var(--kcp-accent) calc(6% * var(--kcp-mix,1)),#fff)}
.kcp-progress--checkout{margin:0}
.kcp-review-row--progress td{padding-block-end:0!important}
.kcp-progress--mini{margin:0;font-size:13px;padding:10px 12px;border-radius:var(--kcp-r,6px);background:color-mix(in srgb,var(--kcp-accent) calc(6% * var(--kcp-mix,1)),#fff)}
.kcp-mini--progress{padding-block-end:8px!important}
.widget_shopping_cart li.kcp-mini--progress{display:block!important;min-height:0!important}
.kcp-mini-block{padding:12px 16px 0}.kcp-mini-block .kcp-progress{margin:0}
.kcp-block-box .kcp-progress{margin:12px 0 0}
.kcp-topbar{position:relative;z-index:50;background:color-mix(in srgb,var(--kcp-accent) calc(10% * var(--kcp-mix,1)),#fff);border-block-end:1px solid color-mix(in srgb,var(--kcp-accent) calc(30% * var(--kcp-mix,1)),#fff);font-size:13px}
.kcp-topbar[hidden]{display:none}
.kcp-topbar .kcp-progress{margin:0 auto;max-inline-size:760px;padding:7px 16px;gap:4px}
.kcp-topbar .kcp-goal{grid-template-columns:minmax(0,1fr) minmax(90px,200px);align-items:center;gap:4px 14px}
.kcp-topbar .kcp-goal__track{block-size:6px}
.kcp-topbar .kcp-ico{flex-basis:16px;inline-size:16px;block-size:16px}
@media (max-width:600px){.kcp-topbar .kcp-goal{grid-template-columns:1fr}.kcp-topbar .kcp-ico{display:none}}
@media (prefers-reduced-motion:reduce){.kcp-goal__fill{transition:none}}

/* Campaign banner */
.kcp-banner{container-type:inline-size;display:flex;align-items:stretch;margin:0 0 24px;border-radius:calc(var(--kcp-r,6px) * 1.5);overflow:hidden;background:color-mix(in srgb,var(--kcp-accent) calc(12% * var(--kcp-mix,1)),#fff);color:#111;border:1px solid color-mix(in srgb,var(--kcp-accent) calc(30% * var(--kcp-mix,1)),#fff)}
.kcp-banner[hidden]{display:none}
.kcp-banner.has-bg{background:var(--kcp-banner-bg);color:var(--kcp-banner-fg,#fff);border-color:transparent}
.kcp-banner__media{flex:0 0 42%;min-block-size:180px;position:relative}
.kcp-banner__img{position:absolute;inset:0;inline-size:100%!important;block-size:100%!important;object-fit:cover;margin:0!important;max-inline-size:none}
.kcp-banner__body{flex:1 1 auto;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;padding:clamp(18px,4cqi,36px)}
.kcp-banner__badge{display:inline-block;background:var(--kcp-accent);color:#fff;font-size:12px;font-weight:700;line-height:1;padding:6px 10px;border-radius:999px;letter-spacing:.02em}
.kcp-banner__heading{margin:0!important;font-size:clamp(20px,4.2cqi,34px);line-height:1.15;font-weight:700;color:var(--kcp-dark);letter-spacing:-.01em}
.kcp-banner.has-bg .kcp-banner__heading{color:inherit}
.kcp-banner__text{margin:0!important;font-size:15px;line-height:1.5;max-inline-size:60ch;opacity:.9}
.kcp-banner__button{display:inline-flex;align-items:center;min-block-size:42px;padding:0 20px;border-radius:var(--kcp-r,6px);background:var(--kcp-dark);color:#fff!important;font-weight:600;text-decoration:none!important;margin-block-start:4px;transition:filter .15s}
.kcp-banner__button:hover,.kcp-banner__button:focus-visible{filter:brightness(1.12)}
.kcp-banner__button:focus-visible{outline:2px solid var(--kcp-accent);outline-offset:2px}
.kcp-banner.has-bg .kcp-banner__button{background:var(--kcp-banner-fg,#fff);color:var(--kcp-banner-bg)!important}
@container (max-width:560px){.kcp-banner__body{padding:18px}}
@media (max-width:640px){.kcp-banner{flex-direction:column}.kcp-banner__media{flex-basis:auto;min-block-size:150px}}
.kcp-banner--preview{flex-direction:column;margin:0}.kcp-banner--preview .kcp-banner__media{min-block-size:120px}.kcp-banner--preview .kcp-banner__heading{font-size:20px}.kcp-banner--preview .kcp-banner__text{font-size:13px}

/* Countdown */
.kcp-countdown{display:flex;gap:6px;flex-wrap:wrap;font-variant-numeric:tabular-nums}
.kcp-countdown[hidden]{display:none}
.kcp-countdown__part{display:grid;justify-items:center;min-inline-size:48px;padding:6px 6px 4px;border-radius:var(--kcp-r,6px);background:rgba(255,255,255,.75);color:#111;line-height:1}
.kcp-banner.has-bg .kcp-countdown__part{background:rgba(255,255,255,.14);color:inherit}
.kcp-countdown__part b{font-size:20px;font-weight:700}
.kcp-countdown__part small{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;opacity:.7;margin-block-start:3px}

/* Active promotions list */
.kcp-promo-list{display:grid;grid-template-columns:repeat(var(--kcp-cols,3),minmax(0,1fr));gap:16px;margin:0 0 24px}
@media (max-width:900px){.kcp-promo-list{grid-template-columns:repeat(min(2,var(--kcp-cols,3)),minmax(0,1fr))}}
@media (max-width:560px){.kcp-promo-list{grid-template-columns:1fr}}
.kcp-promo-card{display:flex;flex-direction:column;border:1px solid color-mix(in srgb,var(--kcp-accent) calc(30% * var(--kcp-mix,1)),#fff);border-radius:var(--kcp-r,6px);overflow:hidden;background:#fff}
.kcp-promo-card[hidden]{display:none}
.kcp-promo-card__media{aspect-ratio:16/9;overflow:hidden;background:color-mix(in srgb,var(--kcp-accent) 8%,#fff)}
.kcp-promo-card__media img{inline-size:100%!important;block-size:100%!important;object-fit:cover;margin:0!important}
.kcp-promo-card__body{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;flex:1}
.kcp-promo-card__title{margin:0!important;font-size:17px;line-height:1.3;color:var(--kcp-dark)}
.kcp-promo-card__desc{margin:0!important;font-size:14px;color:#444;line-height:1.5}
.kcp-promo-card .kcp-countdown__part{background:color-mix(in srgb,var(--kcp-accent) calc(10% * var(--kcp-mix,1)),#fff);min-inline-size:42px}
.kcp-promo-card .kcp-countdown__part b{font-size:16px}
.kcp-promo-card__link{margin-block-start:auto;padding-block-start:4px;color:var(--kcp-dark);font-weight:600;text-decoration:underline;text-underline-offset:2px}

/* Placed badges (block, widget, shortcode) and editor placeholders */
.kcp-badges--static{position:static;flex-direction:row;flex-wrap:wrap;align-items:center;pointer-events:auto}
.kcp-widget{margin:0 0 16px}.kcp-widget--badges{margin:0 0 10px}
.kcp-progress-host[hidden]{display:none}
.kcp-widget .kcp-progress{margin:0}
.kcp-placeholder{padding:16px;border:1px dashed #b5b5b5;border-radius:6px;color:#555;font-size:13px;text-align:center;background:#fafafa}
.kcp-topbar .kcp-progress--widget{border:0;background:none;border-radius:0}
.kcp-progress--mini{border:1px solid color-mix(in srgb,var(--kcp-accent) calc(40% * var(--kcp-mix,1)),#fff)}
