/* Purchase199: isolated controls prevent broad theme footer button rules from
   turning +/- into full-size CTAs. Store palette and native cart model are retained. */
html body:is(.store-page,.product-page)[class][class] [data-product-card] .product-purchase-control199 {
  --purchase-paper:var(--paper,#fffaf4);
  --purchase-ink:var(--on-paper,#252720);
  --purchase-accent:var(--primary,#334e40);
  --purchase-on-accent:var(--on-primary,#fff);
  display:grid;
  align-items:center;
  width:176px;
  max-width:100%;
  min-width:0;
  min-height:50px;
  margin:0;
  padding:0;
  flex:0 0 auto;
  font-family:inherit;
  isolation:isolate;
}
html body:is(.store-page,.product-page)[class][class] [data-product-card] .product-purchase-control199 [hidden] {display:none!important}
html body:is(.store-page,.product-page)[class][class] [data-product-card] .product-purchase-control199 > [data-add] {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  width:100%;
  min-width:0;
  min-height:50px;
  height:50px;
  margin:0;
  padding:10px 16px;
  border:1px solid color-mix(in srgb,var(--purchase-accent) 75%,transparent);
  border-radius:14px;
  background:var(--purchase-accent);
  color:var(--purchase-on-accent);
  box-shadow:0 3px 12px color-mix(in srgb,var(--purchase-accent) 12%,transparent);
  font:inherit;
  font-size:14px;
  font-weight:600;
  line-height:1.4;
  white-space:nowrap;
  cursor:pointer;
  transition:background .18s,box-shadow .18s;
}
html body:is(.store-page,.product-page)[class][class] [data-product-card] .product-purchase-control199 > [data-add]::before,
html body:is(.store-page,.product-page)[class][class] [data-product-card] .product-purchase-control199 > [data-add]::after {display:none}
html body:is(.store-page,.product-page)[class][class] [data-product-card] .product-purchase-control199 > [data-add]:hover:not(:disabled) {
  background:color-mix(in srgb,var(--purchase-accent) 90%,var(--purchase-ink));
  box-shadow:0 5px 18px color-mix(in srgb,var(--purchase-accent) 18%,transparent);
  transform:none;
}
html body:is(.store-page,.product-page)[class][class] [data-product-card] .product-purchase-control199 > .purchase-stepper199 {
  display:grid;
  grid-template-columns:48px minmax(0,1fr) 48px;
  align-items:center;
  gap:0;
  width:100%;
  min-height:50px;
  height:50px;
  margin:0;
  padding:0;
  border:1px solid color-mix(in srgb,var(--purchase-accent) 70%,transparent);
  border-radius:14px;
  background:color-mix(in srgb,var(--purchase-accent) 8%,var(--purchase-paper));
  color:var(--purchase-ink);
  box-shadow:0 2px 10px #00000008;
  overflow:hidden;
}
html body:is(.store-page,.product-page)[class][class] [data-product-card] .product-purchase-control199 .purchase-stepper199 > button:is([data-product-minus],[data-product-plus]) {
  position:static;
  inset:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  min-width:48px;
  max-width:48px;
  height:48px;
  min-height:48px;
  max-height:48px;
  flex:none;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--purchase-accent);
  box-shadow:none;
  font-family:inherit;
  font-size:24px;
  font-weight:400;
  line-height:1;
  cursor:pointer;
  transform:none;
  transition:background .15s;
}
html body:is(.store-page,.product-page)[class][class] [data-product-card] .product-purchase-control199 .purchase-stepper199 > button::before,
html body:is(.store-page,.product-page)[class][class] [data-product-card] .product-purchase-control199 .purchase-stepper199 > button::after {display:none}
html body:is(.store-page,.product-page)[class][class] [data-product-card] .product-purchase-control199 .purchase-stepper199 > button:hover:not(:disabled) {
  background:color-mix(in srgb,var(--purchase-accent) 13%,transparent);
  transform:none;
}
html body:is(.store-page,.product-page)[class][class] [data-product-card] .product-purchase-control199 [data-product-quantity-value] {
  display:grid;
  place-content:center;
  gap:0;
  min-width:0;
  height:48px;
  margin:0;
  padding:0 2px;
  text-align:center;
  color:var(--purchase-ink);
  font-size:16px;
  font-weight:700;
  line-height:1.25;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
html body:is(.store-page,.product-page)[class][class] [data-product-card] .product-purchase-control199 .purchase-custom199 {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-width:0;
  min-height:36px;
  margin:7px 0 0;
  padding:7px 10px;
  border:0;
  border-radius:10px;
  background:color-mix(in srgb,var(--purchase-accent) 9%,var(--purchase-paper));
  color:var(--purchase-ink);
  font:inherit;
  font-size:12px;
  line-height:1.5;
  cursor:pointer;
  transform:none;
}
html body:is(.store-page,.product-page)[class][class] [data-product-card] .product-purchase-control199 button:disabled {
  opacity:.45;
  cursor:not-allowed;
  box-shadow:none;
  transform:none;
}
html body:is(.store-page,.product-page)[class][class] [data-product-card] .product-purchase-control199 button:focus-visible {
  outline:2px solid var(--purchase-ink);
  outline-offset:-4px;
}
html body.store-page[class][class] [data-product-card] footer:has(>.product-purchase-control199) {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
}
html body.store-page[class][class] [data-product-card] footer:has(>.product-purchase-control199) > [data-product-price] {
  min-width:0;
  margin:0;
  font-variant-numeric:tabular-nums;
}
html body.product-page[class][class] [data-product-card] .product-purchase-control199 {width:min(100%,320px)}

/* Nonmodal, actionable confirmation. It never covers the bottom shop navigation. */
html body:is(.store-page,.product-page) .cart-added-notice.purchase-notice199 {
  --purchase-paper:var(--paper,#fffaf4);
  --purchase-ink:var(--on-paper,#252720);
  --purchase-accent:var(--primary,#334e40);
  --purchase-on-accent:var(--on-primary,#fff);
  position:fixed;
  z-index:110;
  inset:auto;
  inset-inline-start:24px;
  inset-block-end:calc(24px + env(safe-area-inset-bottom));
  display:grid;
  grid-template-columns:60px minmax(0,1fr);
  align-items:center;
  gap:10px 14px;
  width:min(460px,calc(100% - 48px));
  max-width:calc(100% - 48px);
  margin:0;
  padding:18px;
  border:1px solid color-mix(in srgb,var(--purchase-ink) 18%,var(--purchase-paper));
  border-radius:20px;
  background:var(--purchase-paper);
  color:var(--purchase-ink);
  box-shadow:0 16px 60px #0004,0 2px 8px #0002;
  text-align:start;
  font-family:inherit;
  font-size:13px;
  line-height:1.5;
  pointer-events:auto;
  animation:purchase199-feedback .22s cubic-bezier(.2,.8,.2,1) both;
}
html body:is(.store-page,.product-page) .purchase-notice199[hidden],
html body:is(.store-page,.product-page) .purchase-notice199 [hidden] {display:none!important}
html body:is(.store-page,.product-page) .purchase-notice199 .purchase-notice199__image {
  display:block;
  width:60px;
  height:76px;
  min-width:0;
  margin:0;
  border:1px solid color-mix(in srgb,var(--purchase-ink) 12%,transparent);
  border-radius:11px;
  object-fit:cover;
  background:color-mix(in srgb,var(--purchase-ink) 5%,var(--purchase-paper));
}
html body:is(.store-page,.product-page) .purchase-notice199 .purchase-notice199__copy {display:grid;gap:4px;min-width:0;padding-inline-end:22px}
html body:is(.store-page,.product-page) .purchase-notice199 .purchase-notice199__eyebrow {display:block;color:var(--purchase-accent);font-size:12px;font-weight:600}
html body:is(.store-page,.product-page) .purchase-notice199 .purchase-notice199__name {display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--purchase-ink);font-size:14px;font-weight:600;line-height:1.6;overflow-wrap:anywhere}
html body:is(.store-page,.product-page) .purchase-notice199 .purchase-notice199__detail {display:block;color:color-mix(in srgb,var(--purchase-ink) 68%,var(--purchase-paper));font-size:12px;line-height:1.6}
html body:is(.store-page,.product-page) .purchase-notice199 .purchase-notice199__actions {grid-column:1/-1;display:flex;align-items:center;gap:10px;min-width:0;padding-top:3px}
html body:is(.store-page,.product-page) .purchase-notice199 :is([data-notice-bag],[data-notice-retry]) {
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;min-width:112px;width:auto;margin:0;padding:10px 18px;border:0;border-radius:11px;background:var(--purchase-accent);color:var(--purchase-on-accent);font:inherit;font-size:13px;font-weight:600;line-height:1.4;text-decoration:none;cursor:pointer;
}
html body:is(.store-page,.product-page) .purchase-notice199 [data-notice-dismiss] {
  position:absolute;inset-block-start:9px;inset-inline-end:9px;display:flex;align-items:center;justify-content:center;width:32px;min-width:32px;height:32px;min-height:32px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--purchase-ink);font:inherit;font-size:23px;line-height:1;cursor:pointer;
}
html body:is(.store-page,.product-page) .purchase-notice199 [data-notice-dismiss]:hover {background:color-mix(in srgb,var(--purchase-ink) 9%,transparent)}
html body:is(.store-page,.product-page) .purchase-notice199 button:focus-visible {outline:2px solid var(--purchase-ink);outline-offset:3px}
html body:is(.store-page,.product-page) .purchase-notice199 button:disabled {opacity:.5;cursor:wait}
html body:is(.store-page,.product-page) .purchase-notice199:not([data-notice-kind="added"]) {grid-template-columns:minmax(0,1fr)}
html body:is(.store-page,.product-page) .purchase-notice199[data-notice-kind="error"] {border-color:color-mix(in srgb,#bf5c43 60%,var(--purchase-paper))}
html body:is(.store-page,.product-page) .purchase-notice199[data-notice-kind="error"] .purchase-notice199__eyebrow {color:color-mix(in srgb,#bf5c43 75%,var(--purchase-ink))}
@keyframes purchase199-feedback {from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px) {
  html body.store-page[class][class] [data-product-card] footer:has(>.product-purchase-control199) {display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:stretch}
  html body:is(.store-page,.product-page)[class][class] [data-product-card] .product-purchase-control199 {width:100%;min-height:48px}
  html body:is(.store-page,.product-page)[class][class] [data-product-card] .product-purchase-control199 > [data-add] {font-size:13px}
  html body:is(.store-page,.product-page) .cart-added-notice.purchase-notice199 {inset-inline-start:12px;inset-block-end:calc(108px + env(safe-area-inset-bottom));width:calc(100% - 24px);max-width:calc(100% - 24px);padding:14px;border-radius:18px;gap:8px 12px}
}
@media(prefers-reduced-motion:reduce) {
  html body:is(.store-page,.product-page) .purchase-notice199,
  html body:is(.store-page,.product-page)[class][class] [data-product-card] .product-purchase-control199 button {animation:none;transition:none}
}


/* Cart210: card, confirmation and personalization follow merchant styling. */
html body:is(.store-page,.product-page)[class][class] [data-product-card] .product-purchase-control199 {--purchase-radius:var(--studio-radius,12px);width:180px}
html body:is(.store-page,.product-page)[class][class].radius-sharp [data-product-card] .product-purchase-control199 {--purchase-radius:0px}
html body:is(.store-page,.product-page)[class][class].radius-soft [data-product-card] .product-purchase-control199 {--purchase-radius:12px}
html body:is(.store-page,.product-page)[class][class].radius-round [data-product-card] .product-purchase-control199 {--purchase-radius:24px}
html body:is(.store-page,.product-page)[class][class].buttons-pill [data-product-card] .product-purchase-control199 {--purchase-radius:999px}
html body:is(.store-page,.product-page)[class][class] [data-product-card] .product-purchase-control199 > [data-add] {height:auto;min-height:50px;padding:11px 14px;border-radius:var(--purchase-radius);white-space:normal;text-wrap:balance;overflow-wrap:anywhere;box-shadow:none;line-height:1.5}
html body:is(.store-page,.product-page)[class][class].buttons-outline [data-product-card] .product-purchase-control199 > [data-add] {border-color:var(--purchase-accent);background:transparent;color:var(--purchase-ink)}
html body:is(.store-page,.product-page)[class][class].buttons-outline [data-product-card] .product-purchase-control199 > [data-add]:hover:not(:disabled) {background:color-mix(in srgb,var(--purchase-accent) 10%,var(--purchase-paper));box-shadow:none}
html body:is(.store-page,.product-page)[class][class] [data-product-card] .product-purchase-control199 > .purchase-stepper199 {border-radius:var(--purchase-radius);box-shadow:none}
html body:is(.store-page,.product-page)[class][class] [data-product-card] .product-purchase-control199 .purchase-stepper199 > button:is([data-product-minus],[data-product-plus]) {color:var(--purchase-ink)}
html body:is(.store-page,.product-page)[class][class] [data-product-card] .product-purchase-control199 .purchase-custom199 {border:1px solid color-mix(in srgb,var(--purchase-ink) 15%,var(--purchase-paper));border-radius:var(--purchase-radius)}
html body:is(.store-page,.product-page) .cart-added-notice.purchase-notice199 {--purchase-radius:var(--studio-radius,14px);inset-inline-start:24px;inset-block-end:calc(104px + env(safe-area-inset-bottom));grid-template-columns:64px minmax(0,1fr);gap:12px 16px;padding:20px;border-radius:var(--purchase-radius);box-shadow:0 18px 64px #0003;border-color:color-mix(in srgb,var(--purchase-ink) 20%,var(--purchase-paper))}
html body:is(.store-page,.product-page) .purchase-notice199 .purchase-notice199__image {width:64px;height:80px;object-fit:contain;border-radius:calc(var(--purchase-radius) * .65)}
html body:is(.store-page,.product-page) .purchase-notice199 .purchase-notice199__eyebrow {color:var(--purchase-ink)}
html body:is(.store-page,.product-page) .purchase-notice199 .purchase-notice199__actions {gap:12px}
html body:is(.store-page,.product-page) .purchase-notice199 :is([data-notice-bag],[data-notice-retry]) {min-height:44px;flex:1;min-width:0;border-radius:var(--purchase-radius);white-space:normal}
html body:is(.store-page,.product-page) .purchase-notice199 [data-notice-dismiss] {width:40px;min-width:40px;height:40px;min-height:40px;inset-block-start:6px;inset-inline-end:6px}
html body:is(.store-page,.product-page) .product-customize-dialog {width:min(520px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:28px;border:1px solid color-mix(in srgb,var(--on-paper) 18%,var(--paper));border-radius:var(--studio-radius,14px);background:var(--paper);color:var(--on-paper);font-family:inherit;overflow:auto;overscroll-behavior:contain;scroll-padding-block:24px}
html body:is(.store-page,.product-page) .product-customize-dialog::backdrop {background:#070b0a80;backdrop-filter:blur(7px)}
html body:is(.store-page,.product-page) .product-customize-dialog :is(h2,p,label,small,header > small) {color:var(--on-paper)}
html body:is(.store-page,.product-page) .product-customize-dialog .cart-x {width:44px;height:44px;border:1px solid color-mix(in srgb,var(--on-paper) 16%,var(--paper));border-radius:50%;background:var(--paper);color:var(--on-paper)}
html body:is(.store-page,.product-page) .product-customize-dialog :is(input,textarea) {box-sizing:border-box;width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid color-mix(in srgb,var(--on-paper) 22%,var(--paper));border-radius:calc(var(--studio-radius,14px) * .65);background:var(--paper);color:var(--on-paper);font:inherit;font-size:16px}
html body:is(.store-page,.product-page) .product-customize-dialog input::file-selector-button {padding:10px 12px;border:1px solid color-mix(in srgb,var(--on-paper) 20%,var(--paper));border-radius:calc(var(--studio-radius,14px) * .5);background:var(--paper);color:var(--on-paper);font:inherit}
html body:is(.store-page,.product-page) .product-customize-dialog :is(input,textarea)::placeholder {color:color-mix(in srgb,var(--on-paper) 70%,var(--paper));opacity:1}
html body:is(.store-page,.product-page) .product-customize-dialog button.cta {min-height:50px;width:100%;border:1px solid var(--primary);border-radius:var(--studio-radius,14px);background:var(--primary);color:var(--on-primary);font:inherit;font-weight:600;white-space:normal}
html body:is(.store-page,.product-page) .product-customize-dialog :is(button,input,textarea):focus-visible {outline:2px solid var(--on-paper);outline-offset:3px}
@media(max-width:600px) {
  html body:is(.store-page,.product-page)[class][class] [data-product-card] .product-purchase-control199 {width:100%}
  html body:is(.store-page,.product-page) .cart-added-notice.purchase-notice199 {inset-inline-start:12px;inset-block-end:calc(108px + env(safe-area-inset-bottom));width:calc(100% - 24px);max-width:calc(100% - 24px);padding:16px}
  html body:is(.store-page,.product-page) .product-customize-dialog {padding:20px}
}
 /* Reviewed edge cases: text-only feedback and merchant shape outside Studio. */
html body:is(.store-page,.product-page) :is(.cart-added-notice.purchase-notice199,.product-customize-dialog) {--purchase-radius:var(--studio-radius,14px);--purchase-button-radius:var(--purchase-radius)}
html body:is(.store-page,.product-page).radius-sharp :is(.cart-added-notice.purchase-notice199,.product-customize-dialog) {--purchase-radius:0px}
html body:is(.store-page,.product-page).radius-soft :is(.cart-added-notice.purchase-notice199,.product-customize-dialog) {--purchase-radius:12px}
html body:is(.store-page,.product-page).radius-round :is(.cart-added-notice.purchase-notice199,.product-customize-dialog) {--purchase-radius:24px}
html body:is(.store-page,.product-page).buttons-pill :is(.cart-added-notice.purchase-notice199,.product-customize-dialog) {--purchase-button-radius:999px}
html body:is(.store-page,.product-page) .cart-added-notice.purchase-notice199:not([data-notice-kind="added"]) {grid-template-columns:minmax(0,1fr)}
html body:is(.store-page,.product-page) .cart-added-notice.purchase-notice199[data-notice-kind="error"] .purchase-notice199__eyebrow {color:var(--purchase-ink)}
html body:is(.store-page,.product-page) .purchase-notice199 :is([data-notice-bag],[data-notice-retry]),html body:is(.store-page,.product-page) .product-customize-dialog button.cta {border-radius:var(--purchase-button-radius)}
html body:is(.store-page,.product-page) .product-customize-dialog {border-radius:var(--purchase-radius)}
html body:is(.store-page,.product-page) .product-customize-dialog :is(input,textarea) {border-radius:calc(var(--purchase-radius) * .65)}
/* Usability211: retain the merchant shape on the native file picker too. */
html body:is(.store-page,.product-page) .product-customize-dialog input::file-selector-button {border-radius:calc(var(--purchase-radius) * .5)}
