/* PX Deals storefront. Colours come from the settings (--pxd-badge-bg / --pxd-badge-color). */
.pxd-badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: var(--pxd-badge-radius, 4px);
  background: var(--pxd-badge-bg, #ff8873);
  color: var(--pxd-badge-color, #fff);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
  white-space: nowrap;
}
/* inside WoodMart's label stack: keep the theme label shape, only our colours */
.product-labels .pxd-badge.product-label { background: var(--pxd-badge-bg, #ff8873); color: var(--pxd-badge-color, #fff); border-radius: var(--pxd-badge-radius, 4px) !important; }

.pxd-offer {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 10px 0 16px;
  font-size: 14px;
  line-height: 1.4;
  color: #1b1b1b;
}

.pxd-line { color: var(--wd-primary-color, #ff8873); font-weight: 600; }

/* progress (cart page, and the drawer when the theme shows it) */
.pxd-progress {
  margin: 0 0 20px;
  padding: 14px 16px;
  border: 1px solid #ececec;
  border-radius: 8px;
  background: #fff;
}
.pxd-progress__text {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 10px !important;
  font-size: 14px;
  line-height: 1.4;
  color: #1b1b1b;
}
.pxd-progress.is-done .pxd-progress__text { color: #1f7a3d; font-weight: 600; }
.pxd-progress__bar { height: 4px; border-radius: 4px; background: #f0f0f0; overflow: hidden; }
.pxd-progress__bar span { display: block; height: 100%; border-radius: inherit; background: var(--pxd-badge-bg, #ff8873); transition: width .35s ease; }
.pxd-progress.is-done .pxd-progress__bar span { background: #1f7a3d; }
.pxd-progress__next { margin: 8px 0 0 !important; font-size: 13px; color: #6b6b6b; }

/* cart drawer lines under the subtotal (order: themes that sort the footer with flex order, like Keeko) */
.pxd-mini { order: 1; padding: 2px 0 12px; }
.pxd-mini__row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 6px !important;
  font-size: 14px;
  color: #1f7a3d;
}
.pxd-mini__total { color: #1b1b1b; font-weight: 600; }

/* deals that only count some sizes */
.pxd-offer__body { display: flex; flex-direction: column; gap: 2px; }
.pxd-offer__sizes { font-size: 12.5px; color: #6b6b6b; }
.pxd-offer.is-off .pxd-badge { opacity: .45; }
.pxd-offer.is-off .pxd-offer__text { color: #6b6b6b; }

/* cart drawer subtotal after the deal: old amount struck through */
.pxd-subtotal del { margin-inline-end: 6px; font-size: .7em; font-weight: 400; color: #9a9a9a; }
.pxd-subtotal del .amount { font-size: inherit; color: inherit; }
.pxd-mini__row .amount, .pxd-mini__row bdi { color: inherit !important; font-weight: inherit; }

/* discounted line: badge + saving pill (the "pxd" label is hidden) */
.variation dt.variation-pxd, .variation .variation-pxd .item-variation-name { display: none !important; }
.variation li.variation-pxd .item-variation-value p { margin: 0 !important; }
.variation dd.variation-pxd { margin: 0 !important; }
.variation dd.variation-pxd p { margin: 0 !important; }
.pxd-pill { display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; padding: 2px 7px; font-size: 12px !important; border-radius: var(--pxd-badge-radius, 4px); background: var(--pxd-badge-bg, #ff8873); color: var(--pxd-badge-color, #fff); font-size: 12px; font-weight: 600; line-height: 1.4; white-space: nowrap; }
.pxd-pill b { font-weight: 700; }
/* saving banner (drawer total, cart page) */
.pxd-banner { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 12px; border-radius: 8px; background: #e9f6ee; color: #1f7a3d; font-size: 13.5px; line-height: 1.3; }
.pxd-banner > span { display: flex; align-items: center; gap: 7px; min-width: 0; }
.pxd-banner b, .pxd-banner .amount { color: inherit !important; font-weight: 700; white-space: nowrap; }
.pxd-banner + .pxd-banner { margin-top: 6px; }
.pxd-mini--banner { padding: 2px 0 12px; }
.pxd-mini__row--badge { align-items: center; }
.pxd-mini__row--badge > span:last-child { font-weight: 700; }
.pxd-cart-msg { margin: 0 0 20px; }
.pxd-cart-msg .pxd-banner { padding: 12px 16px; font-size: 14.5px; }
.pxd-cart-box { max-width: 560px; }
.pxd-pill, .pxd-pill * { font-size: 12px !important; line-height: 1.4 !important; }

/* cart page positions */
.pxd-cart-slot:empty { display: none; }
.pxd-cart-slot--totals_top { margin-bottom: 18px; }
.pxd-cart-sc .pxd-cart-slot { margin-bottom: 20px; }
.pxd-cart-slot--none .pxd-cart-msg, .pxd-cart-slot--totals_top .pxd-cart-msg, .pxd-cart-slot--totals .pxd-cart-msg { margin: 0; }
.pxd-cart-slot--none .pxd-cart-box, .pxd-cart-slot--totals_top .pxd-cart-box, .pxd-cart-slot--totals .pxd-cart-box { max-width: none; }
.pxd-cart-slot--totals { margin: 4px 0 16px; }
.pxd-cart-slot--none .pxd-progress, .pxd-cart-slot--totals_top .pxd-progress, .pxd-cart-slot--totals .pxd-progress { margin: 0; }

/* every deal badge looks like the product card labels: uppercase, semi-bold */
.pxd-badge, .pxd-pill, .pxd-pill * { text-transform: uppercase; font-weight: 600 !important; letter-spacing: normal; }
.pxd-pill, .pxd-pill * { font-size: 11px !important; }
.pxd-pill { padding: 5px 9px; gap: 7px; }

/* product page, price line (Q2) and cart line (Q6) */
.pxd-offer--price { margin: 4px 0 14px; font-size: 14px; gap: 10px; }
.pxd-offer--price b { color: #d31130; font-weight: 600; }
.pxd-offer.is-cart .pxd-offer__text { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.pxd-bars { display: inline-flex; gap: 3px; }
.pxd-bars i { display: block; width: 16px; height: 3px; border-radius: 2px; background: #e3dfda; }
.pxd-bars i.on { background: #1b1b1b; }
/* cart line on the product page: badge on its own row, bars + text full width under it */
.pxd-offer--price.is-cart { flex-wrap: wrap; row-gap: 8px; }
.pxd-offer--price.is-cart .pxd-offer__body { flex-basis: 100%; }
/* placed with an Elementor Shortcode widget: full width, aligned left like the other blocks (some containers centre narrow widgets) */
.elementor-widget-shortcode:has(.pxd-offer, .pxd-cart-sc) { width: 100%; max-width: 100%; align-self: stretch; }
.pxd-offer { justify-content: flex-start; text-align: start; }

/* countdown */
.pxd-countdown { display: inline-flex; align-items: center; gap: 5px; font-size: 12.5px; font-weight: 500; color: #b4232a; font-variant-numeric: tabular-nums; }
.pxd-countdown svg { flex: none; }
.pxd-offer .pxd-countdown { margin-top: 2px; }

/* returning customers: teaser on the thank-you page */

/* ---------- returning customer invite card (thank-you page) ---------- */
.pxd-card { --pxd-card-red: #d31130; --pxd-card-coral: #ff8873; --pxd-card-blush: #fff3f0; --pxd-card-ink: #1b1b1b; container-type: inline-size; margin: 0 0 24px; filter: drop-shadow(0 10px 26px rgba(27, 27, 27, .10)); color: var(--pxd-card-ink); text-align: left; }
.pxd-card__in { --sx: 168px; --r: 13px; position: relative; display: grid; grid-template-columns: var(--sx) minmax(0, 1fr); min-height: 140px; border-radius: 18px; }
.pxd-card__stub { display: grid; place-items: center; padding: 18px 12px; text-align: center; }
.pxd-card__big { font: 500 52px/0.9 var(--pxd-heading-font, var(--px-sheet-title-font, inherit)); letter-spacing: -.02em; white-space: nowrap; }
.pxd-card__body { display: grid; gap: 5px; align-content: center; min-width: 0; padding: 22px 26px; }
.pxd-card__kicker { font-size: 11.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; line-height: 1.3; }
.pxd-card__title { font: 500 22px/1.2 var(--pxd-heading-font, var(--px-sheet-title-font, inherit)); text-wrap: balance; }
.pxd-card__note { font-size: 14.5px; line-height: 1.4; opacity: .85; }
.pxd-card__gift { position: absolute; top: 16px; right: 18px; width: 24px; height: 24px; }
/* notches top and bottom where the stub meets the body */
.pxd-card--k1 .pxd-card__in, .pxd-card--k2 .pxd-card__in, .pxd-card--k3 .pxd-card__in {
	-webkit-mask: radial-gradient(circle var(--r) at var(--sx) 0, #0000 calc(var(--r) - .5px), #000 var(--r)), radial-gradient(circle var(--r) at var(--sx) 100%, #0000 calc(var(--r) - .5px), #000 var(--r));
	-webkit-mask-composite: source-in;
	mask: radial-gradient(circle var(--r) at var(--sx) 0, #0000 calc(var(--r) - .5px), #000 var(--r)), radial-gradient(circle var(--r) at var(--sx) 100%, #0000 calc(var(--r) - .5px), #000 var(--r));
	mask-composite: intersect;
}
/* k2: Keeko red */
.pxd-card--k2 .pxd-card__in { background: var(--pxd-card-red); color: #fff; }
.pxd-card--k2 .pxd-card__stub { background: color-mix(in srgb, var(--pxd-card-red) 86%, #000); border-radius: 18px 0 0 18px; }
.pxd-card--k2 .pxd-card__kicker { color: #ffd2c9; }
.pxd-card--k2 .pxd-card__note { opacity: .88; }
/* k1: coral stub on blush */
.pxd-card--k1 .pxd-card__in { background: var(--pxd-card-blush); }
.pxd-card--k1 .pxd-card__stub { background: var(--pxd-card-coral); color: #fff; border-radius: 18px 0 0 18px; }
.pxd-card--k1 .pxd-card__kicker { color: var(--pxd-card-red); }
/* k3: white */
.pxd-card--k3 .pxd-card__in { background: #fff; }
.pxd-card--k3 .pxd-card__big, .pxd-card--k3 .pxd-card__kicker { color: var(--pxd-card-red); }
.pxd-card--k3 .pxd-card__body { margin-block: 18px; padding-block: 4px; border-left: 1px solid #ececec; }
/* k4: stamp with scalloped sides */
.pxd-card--k4 .pxd-card__in { background: var(--pxd-card-blush); border-radius: 4px;
	-webkit-mask: radial-gradient(circle 6px at left, #0000 6px, #000 6.5px) left / 51% 18px repeat-y, radial-gradient(circle 6px at right, #0000 6px, #000 6.5px) right / 51% 18px repeat-y;
	mask: radial-gradient(circle 6px at left, #0000 6px, #000 6.5px) left / 51% 18px repeat-y, radial-gradient(circle 6px at right, #0000 6px, #000 6.5px) right / 51% 18px repeat-y; }
.pxd-card--k4 .pxd-card__stub { padding-left: 22px; }
.pxd-card--k4 .pxd-card__big { display: grid; place-items: center; width: 124px; height: 124px; border: 2px solid var(--pxd-card-red); border-radius: 50%; color: var(--pxd-card-red); font-size: 38px; transform: rotate(-8deg); }
.pxd-card--k4 .pxd-card__kicker { color: var(--pxd-card-red); }
.pxd-card--k4 .pxd-card__body { padding-right: 30px; }
/* k5: outline ticket */
.pxd-card--k5 { filter: none; }
.pxd-card--k5 .pxd-card__in { overflow: hidden; background: #fff; border: 1.5px solid var(--pxd-card-ink); }
.pxd-card--k5 .pxd-card__stub { position: relative; border-right: 1.5px solid var(--pxd-card-ink); color: var(--pxd-card-red); }
.pxd-card--k5 .pxd-card__stub::before, .pxd-card--k5 .pxd-card__stub::after { content: ""; position: absolute; right: -13px; z-index: 1; width: 24px; height: 24px; border: 1.5px solid var(--pxd-card-ink); border-radius: 50%; background: #fff; }
.pxd-card--k5 .pxd-card__stub::before { top: -14px; }
.pxd-card--k5 .pxd-card__stub::after { bottom: -14px; }
.pxd-card--k5 .pxd-card__kicker { color: var(--pxd-card-red); }
/* ia: coral card, ic: ink card */
.pxd-card--ia .pxd-card__in, .pxd-card--ic .pxd-card__in { overflow: hidden; }
.pxd-card--ia .pxd-card__in { background: var(--pxd-card-coral); color: #fff; }
.pxd-card--ia .pxd-card__in::after { content: ""; position: absolute; top: -40px; right: -40px; width: 160px; height: 160px; border-radius: 50%; background: rgba(255, 255, 255, .12); }
.pxd-card--ic .pxd-card__in { background: var(--pxd-card-ink); color: #fff; }
.pxd-card--ic .pxd-card__big, .pxd-card--ic .pxd-card__kicker, .pxd-card--ic .pxd-card__gift { color: var(--pxd-card-coral); }
.pxd-card--ic .pxd-card__kicker { padding-right: 34px; }
.pxd-card--ia .pxd-card__stub, .pxd-card--ic .pxd-card__stub { padding-left: 24px; }
.pxd-card--ia .pxd-card__body, .pxd-card--ic .pxd-card__body { padding-left: 8px; }
@container (max-width: 520px) {
	.pxd-card__in { --sx: 108px; min-height: 0; }
	.pxd-card__big { font-size: 34px; }
	.pxd-card__body { padding: 18px 18px 18px 16px; }
	.pxd-card__title { font-size: 18px; }
	.pxd-card__note { font-size: 13.5px; }
	.pxd-card--k4 .pxd-card__stub { padding-left: 16px; }
	.pxd-card--k4 .pxd-card__big { width: 84px; height: 84px; font-size: 26px; }
	.pxd-card--ia .pxd-card__in, .pxd-card--ic .pxd-card__in { --sx: 100px; }
	.pxd-card--ia .pxd-card__stub, .pxd-card--ic .pxd-card__stub { padding-left: 14px; }
}
