/**
 * Phoca Cart Drawer v1.2.1
 * Every rule prefixed #pcd-root. No @layer. No all:revert.
 * No hard-coded design values: use var(--pcd-…, default) from PARAMETERS.md / tokens.json.
 * !important only for Helix input focus box-shadow/outline and a colour.
 * Font Awesome 6 Free Solid icons — CC BY 4.0 (see README).
 */

#pcd-root {
  --pcd-accent: #0F766E;
  --pcd-accent-hover: #115E59;
  --pcd-on-accent: #FFFFFF;
  --pcd-accent-soft: #E6F2F1;
  --pcd-bg: #FFFFFF;
  --pcd-surface: #F6F7F8;
  --pcd-text: #1F2937;
  --pcd-muted: #5B6472;
  --pcd-border: #E3E6EA;
  --pcd-overlay: #2B3138;
  --pcd-overlay-opacity: 0.6;
  --pcd-danger: #B42318;
  --pcd-danger-soft: #FDECEA;
  --pcd-success: #067647;
  --pcd-success-soft: #E7F5EE;
  --pcd-skeleton: #ECEEF1;
  --pcd-skeleton-hi: #F5F6F8;
  --pcd-focus: #0F766E;
  --pcd-badge-bg: #B42318;
  --pcd-badge-text: #FFFFFF;
  --pcd-font-family: inherit;
  --pcd-font-size: 15px;
  --pcd-line-height: 1.45;
  --pcd-fw-regular: 400;
  --pcd-fw-strong: 600;
  --pcd-title-size: 18px;
  --pcd-title-weight: 600;
  --pcd-title-lh: 1.3;
  --pcd-line-title-size: 15px;
  --pcd-line-title-weight: 600;
  --pcd-meta-size: 13px;
  --pcd-totals-size: 14px;
  --pcd-total-size: 17px;
  --pcd-total-weight: 600;
  --pcd-cta-size: 16px;
  --pcd-btn-size: 14px;
  --pcd-note-size: 12px;
  --pcd-badge-size: 12px;
  --pcd-numeric: tabular-nums;
  --pcd-letter-spacing: normal;
  --pcd-text-transform: none;
  --pcd-space-1: 4px;
  --pcd-space-2: 8px;
  --pcd-space-3: 12px;
  --pcd-space-4: 16px;
  --pcd-space-5: 24px;
  --pcd-space-6: 32px;
  --pcd-gutter: 24px;
  --pcd-gutter-m: 16px;
  --pcd-line-pad: 16px;
  --pcd-radius: 10px;
  --pcd-radius-sm: 6px;
  --pcd-radius-btn: 8px;
  --pcd-sheet-radius: 16px;
  --pcd-radius-round: 50%;
  --pcd-radius-badge: 11px;
  --pcd-border-w: 1px;
  --pcd-divider-w: 1px;
  --pcd-badge-ring: 2px;
  --pcd-shadow: none;
  --pcd-width: 420px;
  --pcd-sheet-h: 88vh;
  --pcd-thumb: 64px;
  --pcd-icon: 18px;
  --pcd-icon-sm: 12px;
  --pcd-icon-btn: 40px;
  --pcd-hit: 44px;
  --pcd-remove-size: 32px;
  --pcd-remove-icon: 14px;
  --pcd-badge: 22px;
  --pcd-qty-h: 34px;
  --pcd-qty-w: 34px;
  --pcd-input-h: 40px;
  --pcd-btn-h: 40px;
  --pcd-cta-h: 48px;
  --pcd-bar-h: 6px;
  --pcd-empty-icon: 72px;
  --pcd-empty-min-h: 240px;
  --pcd-empty-max-w: 260px;
  --pcd-qty-val-min: 28px;
  --pcd-btn-min-w: 84px;
  --pcd-skel-bar-h: 14px;
  --pcd-chip-h: 30px;
  --pcd-scroll-up: 56px;
  --pcd-focus-w: 2px;
  --pcd-focus-offset: 2px;
  --pcd-focus-offset-input: 1px;
  --pcd-z: 2147483000;
  --pcd-z-overlay: 2147482999;
  --pcd-z-launcher: 2147482000;
  --pcd-launcher-x: 24px;
  --pcd-launcher-y: 24px;
  --pcd-launcher-size: 56px;
  --pcd-slide-right-open-dur: 320ms;
  --pcd-slide-right-open-ease: cubic-bezier(.32,.72,0,1);
  --pcd-slide-right-close-dur: 240ms;
  --pcd-slide-right-close-ease: cubic-bezier(.4,0,1,1);
  --pcd-slide-left-open-dur: 320ms;
  --pcd-slide-left-open-ease: cubic-bezier(.32,.72,0,1);
  --pcd-slide-left-close-dur: 240ms;
  --pcd-slide-left-close-ease: cubic-bezier(.4,0,1,1);
  --pcd-slide-up-open-dur: 360ms;
  --pcd-slide-up-open-ease: cubic-bezier(.32,.72,0,1);
  --pcd-slide-up-close-dur: 260ms;
  --pcd-slide-up-close-ease: cubic-bezier(.4,0,1,1);
  --pcd-fade-open-dur: 200ms;
  --pcd-fade-open-ease: cubic-bezier(0,0,.2,1);
  --pcd-fade-close-dur: 160ms;
  --pcd-fade-close-ease: linear;
  --pcd-scale-open-dur: 240ms;
  --pcd-scale-open-ease: cubic-bezier(.2,.9,.3,1);
  --pcd-scale-close-dur: 180ms;
  --pcd-scale-close-ease: cubic-bezier(.4,0,1,1);
  --pcd-slide-dist: 100%;
  --pcd-sheet-dist: 100%;
  --pcd-scale-from: 0.96;
  --pcd-scale-to: 0.98;
  --pcd-overlay-factor: 0.8;
  --pcd-overlay-ease: linear;
  --pcd-rm-dur: 120ms;
  --pcd-rm-ease: linear;
  --pcd-hover-dur: 120ms;
  --pcd-bump-dur: 180ms;
  --pcd-bump-scale: 1.15;
  --pcd-spin-dur: 700ms;
  --pcd-skel-dur: 1200ms;
  --pcd-dur-open: 320ms;
  --pcd-dur-close: 240ms;
  --pcd-ease-open: cubic-bezier(.32,.72,0,1);
  --pcd-ease-close: cubic-bezier(.4,0,1,1);
  --pcd-bar-scale: 0;
  --pcd-sbw: 0px;
  --pcd-grab: none;
  font-family: var(--pcd-font-family, inherit);
  font-size: var(--pcd-font-size, 15px);
  line-height: var(--pcd-line-height, 1.45);
  font-weight: var(--pcd-fw-regular, 400);
  letter-spacing: var(--pcd-letter-spacing, normal);
  text-transform: var(--pcd-text-transform, none);
  color: var(--pcd-text, #1F2937);
  isolation: isolate;
}

#pcd-root[data-theme="dark"] {
  --pcd-accent: #2DD4BF;
  --pcd-accent-hover: #5EEAD4;
  --pcd-on-accent: #042F2E;
  --pcd-accent-soft: #123B38;
  --pcd-bg: #16191D;
  --pcd-surface: #1F2329;
  --pcd-text: #EEF0F2;
  --pcd-muted: #A3ABB6;
  --pcd-border: #2E343C;
  --pcd-overlay: #0B0D10;
  --pcd-danger: #F97066;
  --pcd-danger-soft: #3A1D1B;
  --pcd-success: #47CD89;
  --pcd-success-soft: #14301F;
  --pcd-skeleton: #262B32;
  --pcd-skeleton-hi: #2E343C;
  --pcd-focus: #2DD4BF;
  --pcd-badge-bg: #F97066;
  --pcd-badge-text: #16191D;
}

@media (prefers-color-scheme: dark) {
  #pcd-root[data-theme="auto"] {
    --pcd-accent: #2DD4BF;
    --pcd-accent-hover: #5EEAD4;
    --pcd-on-accent: #042F2E;
    --pcd-accent-soft: #123B38;
    --pcd-bg: #16191D;
    --pcd-surface: #1F2329;
    --pcd-text: #EEF0F2;
    --pcd-muted: #A3ABB6;
    --pcd-border: #2E343C;
    --pcd-overlay: #0B0D10;
    --pcd-danger: #F97066;
    --pcd-danger-soft: #3A1D1B;
    --pcd-success: #47CD89;
    --pcd-success-soft: #14301F;
    --pcd-skeleton: #262B32;
    --pcd-skeleton-hi: #2E343C;
    --pcd-focus: #2DD4BF;
    --pcd-badge-bg: #F97066;
    --pcd-badge-text: #16191D;
  }
}

#pcd-root[data-density="compact"] {
  --pcd-space-1: calc(var(--pcd-space-1, 4px) * 0.75);
  --pcd-space-2: calc(var(--pcd-space-2, 8px) * 0.75);
  --pcd-space-3: calc(var(--pcd-space-3, 12px) * 0.75);
  --pcd-space-4: calc(var(--pcd-space-4, 16px) * 0.75);
  --pcd-space-5: calc(var(--pcd-space-5, 24px) * 0.75);
  --pcd-space-6: calc(var(--pcd-space-6, 32px) * 0.75);
}
#pcd-root[data-density="roomy"] {
  --pcd-space-1: calc(var(--pcd-space-1, 4px) * 1.25);
  --pcd-space-2: calc(var(--pcd-space-2, 8px) * 1.25);
  --pcd-space-3: calc(var(--pcd-space-3, 12px) * 1.25);
  --pcd-space-4: calc(var(--pcd-space-4, 16px) * 1.25);
  --pcd-space-5: calc(var(--pcd-space-5, 24px) * 1.25);
  --pcd-space-6: calc(var(--pcd-space-6, 32px) * 1.25);
}

/* Id-scoped explicit reset — never touches SVG path */
#pcd-root :where(div,section,header,footer,h2,h3,p,a,span,b,s,ul,li,form,label,input,button,img,dialog,details,summary,article){
  margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;
  line-height:inherit;letter-spacing:var(--pcd-letter-spacing, normal);text-transform:var(--pcd-text-transform, none);
  text-decoration:none;box-shadow:none;text-shadow:none;float:none;min-width:0;max-width:none;
  width:auto;height:auto;transition:none;box-sizing:border-box;list-style:none;
}
#pcd-root svg{display:block;width:1em;height:1em;fill:currentColor;flex:none;font-size:var(--pcd-icon, 18px);}
#pcd-root .pcd-rm svg, #pcd-root .pcd-remove svg{
  width:var(--pcd-remove-icon, 14px);height:var(--pcd-remove-icon, 14px);font-size:var(--pcd-remove-icon, 14px);
}
#pcd-root .pcd-qty svg{
  width:var(--pcd-icon-sm, 12px);height:var(--pcd-icon-sm, 12px);font-size:var(--pcd-icon-sm, 12px);
}
#pcd-root .pcd-cta__arrow, #pcd-root .pcd-empty .pcd-btn svg{
  width:var(--pcd-remove-icon, 14px);height:var(--pcd-remove-icon, 14px);font-size:var(--pcd-remove-icon, 14px);
}
#pcd-root button{cursor:pointer;font:inherit;color:inherit;background:none;border:0;}
#pcd-root .pcd-visually-hidden,#pcd-root .pcd-live{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;border:0!important;}

#pcd-root dialog.pcd-drawer,
#pcd-root .pcd-drawer {
  position:fixed;inset:0 0 0 auto;top:0;right:0;bottom:0;left:auto;
  width:var(--pcd-width, 420px);max-width:100%;max-height:100%;height:100%;margin:0;padding:0;border:0;
  border-left:var(--pcd-border-w, 1px) solid var(--pcd-border, #E3E6EA);
  background:var(--pcd-bg, #FFFFFF);color:var(--pcd-text, #1F2937);box-shadow:var(--pcd-shadow, none);
  display:flex;flex-direction:column;overflow:hidden;z-index:var(--pcd-z, 2147483000);
  /* visibility restores immediately on open so fade/scale can animate in. */
  transition:
    transform var(--pcd-dur-open, 320ms) var(--pcd-ease-open, cubic-bezier(.32,.72,0,1)),
    opacity var(--pcd-dur-open, 320ms) var(--pcd-ease-open, cubic-bezier(.32,.72,0,1)),
    visibility 0s linear 0s;
}
/* Closed: never intercept clicks/focus (fade/scale stay in-place at opacity 0).
   visibility waits until the close transition finishes, then hides. */
#pcd-root:not(.is-open) dialog.pcd-drawer,
#pcd-root:not(.is-open) .pcd-drawer {
  pointer-events:none;
  visibility:hidden;
  transition:
    transform var(--pcd-dur-close, 240ms) var(--pcd-ease-close, cubic-bezier(.4,0,1,1)),
    opacity var(--pcd-dur-close, 240ms) var(--pcd-ease-close, cubic-bezier(.4,0,1,1)),
    visibility 0s linear var(--pcd-dur-close, 240ms);
}
#pcd-root.is-open dialog.pcd-drawer,
#pcd-root.is-open .pcd-drawer {
  pointer-events:auto;
  visibility:visible;
}
#pcd-root dialog.pcd-drawer::backdrop {
  background:var(--pcd-overlay, #2B3138);opacity:0;
  transition:opacity calc(var(--pcd-dur-close, 240ms) * var(--pcd-overlay-factor, 0.8)) var(--pcd-overlay-ease, linear);
}
#pcd-root.is-open dialog.pcd-drawer::backdrop {
  opacity:var(--pcd-overlay-opacity, 0.6);
  transition:opacity calc(var(--pcd-dur-open, 320ms) * var(--pcd-overlay-factor, 0.8)) var(--pcd-overlay-ease, linear);
}
#pcd-root .pcd-backdrop {
  position:fixed;inset:0;background:var(--pcd-overlay, #2B3138);opacity:0;z-index:var(--pcd-z-overlay, 2147482999);
  pointer-events:none;
  transition:opacity calc(var(--pcd-dur-close, 240ms) * var(--pcd-overlay-factor, 0.8)) var(--pcd-overlay-ease, linear);
}
#pcd-root.is-open .pcd-backdrop {
  opacity:var(--pcd-overlay-opacity, 0.6); pointer-events:auto;
  transition:opacity calc(var(--pcd-dur-open, 320ms) * var(--pcd-overlay-factor, 0.8)) var(--pcd-overlay-ease, linear);
}
#pcd-root[data-side="right"] .pcd-drawer,
#pcd-root[data-side="auto"] .pcd-drawer {
  top:0;right:0;bottom:0;left:auto;transform-origin:right center;
  border-left:var(--pcd-border-w, 1px) solid var(--pcd-border, #E3E6EA);border-right:0;
}
#pcd-root[data-side="left"] .pcd-drawer {
  top:0;left:0;right:auto;bottom:0;transform-origin:left center;
  border-right:var(--pcd-border-w, 1px) solid var(--pcd-border, #E3E6EA);border-left:0;
}

/* slide-right / slide (desktop default docks right) */
#pcd-root[data-effect="slide"]:not(.is-open) .pcd-drawer,
#pcd-root[data-effect="slide-right"]:not(.is-open) .pcd-drawer {
  --pcd-dur-open: var(--pcd-slide-right-open-dur, 320ms); --pcd-dur-close: var(--pcd-slide-right-close-dur, 240ms);
  --pcd-ease-open: var(--pcd-slide-right-open-ease, cubic-bezier(.32,.72,0,1)); --pcd-ease-close: var(--pcd-slide-right-close-ease, cubic-bezier(.4,0,1,1));
  transform: translateX(var(--pcd-slide-dist, 100%)); opacity:1;
}
#pcd-root[data-effect="slide"].is-open .pcd-drawer,
#pcd-root[data-effect="slide-right"].is-open .pcd-drawer {
  --pcd-dur-open: var(--pcd-slide-right-open-dur, 320ms); --pcd-dur-close: var(--pcd-slide-right-close-dur, 240ms);
  --pcd-ease-open: var(--pcd-slide-right-open-ease, cubic-bezier(.32,.72,0,1)); --pcd-ease-close: var(--pcd-slide-right-close-ease, cubic-bezier(.4,0,1,1));
  transform: translateX(0); opacity:1;
}
#pcd-root[data-effect="slide-left"]:not(.is-open) .pcd-drawer,
#pcd-root[data-side="left"][data-effect="slide"]:not(.is-open) .pcd-drawer {
  --pcd-dur-open: var(--pcd-slide-left-open-dur, 320ms); --pcd-dur-close: var(--pcd-slide-left-close-dur, 240ms);
  --pcd-ease-open: var(--pcd-slide-left-open-ease, cubic-bezier(.32,.72,0,1)); --pcd-ease-close: var(--pcd-slide-left-close-ease, cubic-bezier(.4,0,1,1));
  transform: translateX(calc(-1 * var(--pcd-slide-dist, 100%)));
}
#pcd-root[data-effect="slide-left"].is-open .pcd-drawer,
#pcd-root[data-side="left"][data-effect="slide"].is-open .pcd-drawer {
  --pcd-dur-open: var(--pcd-slide-left-open-dur, 320ms); --pcd-dur-close: var(--pcd-slide-left-close-dur, 240ms);
  --pcd-ease-open: var(--pcd-slide-left-open-ease, cubic-bezier(.32,.72,0,1)); --pcd-ease-close: var(--pcd-slide-left-close-ease, cubic-bezier(.4,0,1,1));
  transform: translateX(0);
}
#pcd-root[data-effect="slide-up"]:not(.is-open) .pcd-drawer {
  --pcd-dur-open: var(--pcd-slide-up-open-dur, 360ms); --pcd-dur-close: var(--pcd-slide-up-close-dur, 260ms);
  --pcd-ease-open: var(--pcd-slide-up-open-ease, cubic-bezier(.32,.72,0,1)); --pcd-ease-close: var(--pcd-slide-up-close-ease, cubic-bezier(.4,0,1,1));
  transform: translateY(var(--pcd-sheet-dist, 100%));
}
#pcd-root[data-effect="slide-up"].is-open .pcd-drawer {
  --pcd-dur-open: var(--pcd-slide-up-open-dur, 360ms); --pcd-dur-close: var(--pcd-slide-up-close-dur, 260ms);
  --pcd-ease-open: var(--pcd-slide-up-open-ease, cubic-bezier(.32,.72,0,1)); --pcd-ease-close: var(--pcd-slide-up-close-ease, cubic-bezier(.4,0,1,1));
  transform: translateY(0);
}
#pcd-root[data-effect="fade"]:not(.is-open) .pcd-drawer {
  --pcd-dur-open: var(--pcd-fade-open-dur, 200ms); --pcd-dur-close: var(--pcd-fade-close-dur, 160ms);
  --pcd-ease-open: var(--pcd-fade-open-ease, cubic-bezier(0,0,.2,1)); --pcd-ease-close: var(--pcd-fade-close-ease, linear);
  transform:none; opacity:0;
}
#pcd-root[data-effect="fade"].is-open .pcd-drawer {
  --pcd-dur-open: var(--pcd-fade-open-dur, 200ms); --pcd-dur-close: var(--pcd-fade-close-dur, 160ms);
  --pcd-ease-open: var(--pcd-fade-open-ease, cubic-bezier(0,0,.2,1)); --pcd-ease-close: var(--pcd-fade-close-ease, linear);
  transform:none; opacity:1;
}
#pcd-root[data-effect="scale"]:not(.is-open) .pcd-drawer,
#pcd-root[data-side="auto"][data-effect="scale"]:not(.is-open) .pcd-drawer,
#pcd-root[data-side="right"][data-effect="scale"]:not(.is-open) .pcd-drawer,
#pcd-root[data-side="left"][data-effect="scale"]:not(.is-open) .pcd-drawer {
  --pcd-dur-open: var(--pcd-scale-open-dur, 240ms); --pcd-dur-close: var(--pcd-scale-close-dur, 180ms);
  --pcd-ease-open: var(--pcd-scale-open-ease, cubic-bezier(.2,.9,.3,1)); --pcd-ease-close: var(--pcd-scale-close-ease, cubic-bezier(.4,0,1,1));
  /* Open starts from scale_from; closed/close-end uses scale_close_to (--pcd-scale-to). */
  transform: scale(var(--pcd-scale-to, var(--pcd-scale-from, 0.96))); opacity:0;
}
#pcd-root[data-effect="scale"].is-open .pcd-drawer,
#pcd-root[data-side="auto"][data-effect="scale"].is-open .pcd-drawer,
#pcd-root[data-side="right"][data-effect="scale"].is-open .pcd-drawer,
#pcd-root[data-side="left"][data-effect="scale"].is-open .pcd-drawer {
  --pcd-dur-open: var(--pcd-scale-open-dur, 240ms); --pcd-dur-close: var(--pcd-scale-close-dur, 180ms);
  --pcd-ease-open: var(--pcd-scale-open-ease, cubic-bezier(.2,.9,.3,1)); --pcd-ease-close: var(--pcd-scale-close-ease, cubic-bezier(.4,0,1,1));
  transform: scale(1); opacity:1;
}
#pcd-root[data-effect="none"] .pcd-drawer { transition:none; transform:none; opacity:1; }
#pcd-root[data-effect="none"]:not(.is-open) .pcd-drawer {
  visibility:hidden; pointer-events:none;
  transition:none; /* hide immediately — no close animation */
}

@media (prefers-reduced-motion: reduce) {
  #pcd-root[data-rm="respect"]:not(.is-open) .pcd-drawer,
  #pcd-root[data-rm="respect"].is-open .pcd-drawer {
    --pcd-dur-open: var(--pcd-rm-dur, 120ms); --pcd-dur-close: var(--pcd-rm-dur, 120ms);
    --pcd-ease-open: var(--pcd-rm-ease, linear); --pcd-ease-close: var(--pcd-rm-ease, linear);
    transition: opacity var(--pcd-rm-dur, 120ms) var(--pcd-rm-ease, linear) !important;
    transform: none !important;
  }
  #pcd-root[data-rm="respect"]:not(.is-open) .pcd-drawer { opacity:0; }
  #pcd-root[data-rm="respect"].is-open .pcd-drawer { opacity:1; }
  #pcd-root[data-rm="respect"] dialog.pcd-drawer::backdrop,
  #pcd-root[data-rm="respect"].is-open dialog.pcd-drawer::backdrop,
  #pcd-root[data-rm="respect"] .pcd-backdrop,
  #pcd-root[data-rm="respect"].is-open .pcd-backdrop {
    transition: opacity var(--pcd-rm-dur, 120ms) var(--pcd-rm-ease, linear) !important;
  }
  #pcd-root[data-rm="respect"] .pcd-skel::after,
  #pcd-root[data-rm="respect"] .pcd-skeleton__block::after { animation:none; }
  #pcd-root[data-rm="respect"] .pcd-badge.is-bump { animation:none; }
}
#pcd-root[data-rm="force_none"] .pcd-drawer { transition:none !important; }

#pcd-root .pcd-drawer__inner { display:flex; flex-direction:column; min-height:0; height:100%; }
#pcd-root .pcd-head,
#pcd-root .pcd-drawer__header {
  display:flex; align-items:center; gap:var(--pcd-space-2, 8px);
  padding:var(--pcd-space-4, 16px) var(--pcd-gutter, 24px);
  border-bottom:var(--pcd-divider-w, 1px) solid var(--pcd-border, #E3E6EA); flex:none;
}
#pcd-root .pcd-title,
#pcd-root .pcd-drawer__title {
  font-size:var(--pcd-title-size, 18px); font-weight:var(--pcd-title-weight, 600);
  line-height:var(--pcd-title-lh, 1.3); letter-spacing:var(--pcd-letter-spacing, normal);
  text-transform:var(--pcd-text-transform, none);
}
#pcd-root .pcd-count, #pcd-root .pcd-count-chip { color:var(--pcd-muted, #5B6472); font-weight:var(--pcd-fw-regular, 400); }
#pcd-root .pcd-icon-btn {
  margin-left:auto; width:var(--pcd-icon-btn, 40px); height:var(--pcd-icon-btn, 40px);
  min-width:var(--pcd-hit, 44px); min-height:var(--pcd-hit, 44px);
  border-radius:var(--pcd-radius-round, 50%); display:grid; place-items:center;
  font-size:var(--pcd-icon, 18px); color:var(--pcd-text, #1F2937);
  transition: background var(--pcd-hover-dur, 120ms) linear;
}
#pcd-root .pcd-icon-btn:hover { background:var(--pcd-accent-soft, #E6F2F1); }
#pcd-root .pcd-icon-btn:focus-visible {
  outline:var(--pcd-focus-w, 2px) solid var(--pcd-focus, #0F766E); outline-offset:var(--pcd-focus-offset, 2px);
}
/* Grab handle: desktop never; mobile sheet only (see media query + PHP breakpoint). */
#pcd-root .pcd-grab {
  display:none; width:var(--pcd-space-6, 32px); height:var(--pcd-space-1, 4px);
  border-radius:var(--pcd-space-1, 4px);
  background:var(--pcd-border, #E3E6EA); margin:var(--pcd-space-2, 8px) auto 0;
}
#pcd-root[data-grab="0"] .pcd-grab { display:none !important; }
#pcd-root .pcd-ship, #pcd-root .pcd-freeship {
  margin:var(--pcd-space-4, 16px) var(--pcd-gutter, 24px) 0;
  padding:var(--pcd-space-3, 12px) var(--pcd-space-4, 16px);
  background:var(--pcd-surface, #F6F7F8); border-radius:var(--pcd-radius, 10px); font-size:var(--pcd-totals-size, 14px);
}
#pcd-root .pcd-ship p, #pcd-root .pcd-freeship > div:first-child {
  display:flex; gap:var(--pcd-space-2, 8px); align-items:center;
}
#pcd-root .pcd-ship svg, #pcd-root .pcd-freeship__icon { font-size:var(--pcd-icon, 18px); color:var(--pcd-accent, #0F766E); }
#pcd-root .pcd-ship.done, #pcd-root .pcd-freeship.is-unlocked { background:var(--pcd-success-soft, #E7F5EE); }
#pcd-root .pcd-ship.done svg, #pcd-root .pcd-freeship.is-unlocked .pcd-freeship__icon { color:var(--pcd-success, #067647); }
#pcd-root .pcd-bar, #pcd-root .pcd-freeship__bar {
  height:var(--pcd-bar-h, 6px); background:var(--pcd-border, #E3E6EA); border-radius:calc(var(--pcd-bar-h, 6px) / 2);
  margin-top:var(--pcd-space-2, 8px); overflow:hidden;
}
#pcd-root .pcd-bar i, #pcd-root .pcd-freeship__bar > span {
  display:block; height:100%; width:100%; background:var(--pcd-accent, #0F766E);
  transform:scaleX(var(--pcd-bar-scale, 0)); transform-origin:left center;
  transition: transform var(--pcd-hover-dur, 120ms) linear;
}
#pcd-root .pcd-ship.done .pcd-bar i, #pcd-root .pcd-freeship.is-unlocked .pcd-freeship__bar > span { background:var(--pcd-success, #067647); }
#pcd-root .pcd-body, #pcd-root .pcd-drawer__body {
  flex:1; overflow:auto; padding:0 var(--pcd-gutter, 24px); min-height:0;
  display:flex; flex-direction:column;
}
#pcd-root .pcd-line {
  display:grid; grid-template-columns:var(--pcd-thumb, 64px) 1fr auto;
  grid-template-areas:"img title rm" "img meta meta" "img qty price";
  column-gap:var(--pcd-space-3, 12px); padding:var(--pcd-line-pad, 16px) 0;
  border-bottom:var(--pcd-divider-w, 1px) solid var(--pcd-border, #E3E6EA);
}
#pcd-root .pcd-line:last-child { border-bottom:0; }
#pcd-root .pcd-img, #pcd-root .pcd-line__img, #pcd-root .pcd-img-wrap {
  grid-area:img; width:var(--pcd-thumb, 64px); height:var(--pcd-thumb, 64px);
  border-radius:var(--pcd-radius-sm, 6px); object-fit:cover; background:var(--pcd-skeleton, #ECEEF1);
  position:relative; overflow:hidden;
}
#pcd-root .pcd-img-wrap { display:grid; place-items:center; }
#pcd-root .pcd-img-wrap img { width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity var(--pcd-hover-dur, 120ms) linear; border-radius:var(--pcd-radius-sm, 6px); }
#pcd-root .pcd-img-wrap img.is-loaded { opacity:1; }
#pcd-root .pcd-img-wrap .pcd-skel { position:absolute; inset:0; }
#pcd-root .pcd-img-wrap.is-loaded .pcd-skel { display:none; }
#pcd-root .pcd-img-fallback { display:none; place-items:center; width:100%; height:100%; color:var(--pcd-muted, #5B6472); font-weight:var(--pcd-fw-strong, 600); font-size:var(--pcd-title-size, 18px); background:var(--pcd-skeleton, #ECEEF1); }
#pcd-root .pcd-img-wrap.is-error .pcd-img-fallback { display:grid; }
#pcd-root .pcd-lt, #pcd-root .pcd-line__title, #pcd-root .pcd-line__title a {
  grid-area:title; font-size:var(--pcd-line-title-size, 15px); font-weight:var(--pcd-line-title-weight, 600);
  line-height:var(--pcd-title-lh, 1.3); color:var(--pcd-text, #1F2937) !important; text-decoration:none !important; align-self:start;
}
#pcd-root a:focus-visible, #pcd-root .pcd-lt:focus-visible, #pcd-root .pcd-link:focus-visible, #pcd-root .pcd-view-cart:focus-visible {
  outline:var(--pcd-focus-w, 2px) solid var(--pcd-focus, #0F766E); outline-offset:var(--pcd-focus-offset, 2px);
}
#pcd-root .pcd-meta, #pcd-root .pcd-line__attrs { grid-area:meta; font-size:var(--pcd-meta-size, 13px); color:var(--pcd-muted, #5B6472); margin-top:var(--pcd-space-1, 4px); }
#pcd-root .pcd-rm, #pcd-root .pcd-remove {
  grid-area:rm; position:relative; width:var(--pcd-remove-size, 32px); height:var(--pcd-remove-size, 32px);
  margin:calc(-1 * var(--pcd-space-1, 4px)) calc(-1 * var(--pcd-space-1, 4px)) 0 0;
  border-radius:var(--pcd-radius-round, 50%); display:grid; place-items:center;
  font-size:var(--pcd-remove-icon, 14px); color:var(--pcd-muted, #5B6472) !important;
  transition: color var(--pcd-hover-dur, 120ms) linear, background var(--pcd-hover-dur, 120ms) linear;
}
#pcd-root .pcd-rm::before, #pcd-root .pcd-remove::before {
  content:""; position:absolute; inset:50% auto auto 50%;
  width:var(--pcd-hit, 44px); height:var(--pcd-hit, 44px); transform:translate(-50%,-50%);
}
#pcd-root .pcd-rm:hover, #pcd-root .pcd-rm:focus-visible,
#pcd-root .pcd-remove:hover, #pcd-root .pcd-remove:focus-visible {
  color:var(--pcd-danger, #B42318) !important; background:var(--pcd-danger-soft, #FDECEA) !important;
}
#pcd-root .pcd-rm:focus-visible, #pcd-root .pcd-remove:focus-visible {
  outline:var(--pcd-focus-w, 2px) solid var(--pcd-focus, #0F766E); outline-offset:var(--pcd-focus-offset, 2px);
}
#pcd-root .pcd-qty {
  grid-area:qty; display:inline-flex; align-items:center;
  border:var(--pcd-border-w, 1px) solid var(--pcd-border, #E3E6EA); border-radius:var(--pcd-radius-btn, 8px);
  height:var(--pcd-qty-h, 34px); margin-top:var(--pcd-space-2, 8px); justify-self:start;
}
#pcd-root .pcd-qty button {
  width:var(--pcd-qty-w, 34px); height:calc(var(--pcd-qty-h, 34px) - var(--pcd-border-w, 1px) * 2); display:grid; place-items:center;
  font-size:var(--pcd-icon-sm, 12px); color:var(--pcd-text, #1F2937);
}
#pcd-root .pcd-qty button:focus-visible { outline:var(--pcd-focus-w, 2px) solid var(--pcd-focus, #0F766E); outline-offset:var(--pcd-focus-offset-input, 1px); }
#pcd-root .pcd-qty button[disabled] { color:var(--pcd-border, #E3E6EA); cursor:default; }
#pcd-root .pcd-qty span { min-width:var(--pcd-qty-val-min, 28px); text-align:center; font-variant-numeric:var(--pcd-numeric, tabular-nums); font-size:var(--pcd-btn-size, 14px); }
#pcd-root .pcd-price, #pcd-root .pcd-line__price {
  grid-area:price; align-self:end; font-weight:var(--pcd-fw-strong, 600); font-variant-numeric:var(--pcd-numeric, tabular-nums);
}
#pcd-root .pcd-line__meta { display:contents; }
#pcd-root .pcd-foot, #pcd-root .pcd-drawer__footer {
  border-top:var(--pcd-divider-w, 1px) solid var(--pcd-border, #E3E6EA);
  padding:var(--pcd-space-4, 16px) var(--pcd-gutter, 24px) var(--pcd-space-5, 24px);
  background:var(--pcd-bg, #FFFFFF); flex:none;
}
#pcd-root .pcd-coupon { display:flex; flex-direction:column; gap:var(--pcd-space-2, 8px); }
#pcd-root .pcd-coupon__summary, #pcd-root .pcd-coupon-toggle {
  color:var(--pcd-accent, #0F766E) !important; font-size:var(--pcd-btn-size, 14px); font-weight:var(--pcd-fw-strong, 600); cursor:pointer; list-style:none;
}
#pcd-root .pcd-coupon__summary::-webkit-details-marker { display:none; }
#pcd-root .pcd-coupon__fields { display:flex; gap:var(--pcd-space-2, 8px); }
#pcd-root .pcd-input {
  flex:1; min-width:0; height:var(--pcd-input-h, 40px);
  border:var(--pcd-border-w, 1px) solid var(--pcd-border, #E3E6EA); border-radius:var(--pcd-radius-btn, 8px);
  padding:0 var(--pcd-space-3, 12px); font:inherit; font-size:var(--pcd-btn-size, 14px);
  color:var(--pcd-text, #1F2937); background:var(--pcd-bg, #FFFFFF); outline:none; box-shadow:none !important;
}
#pcd-root .pcd-input:focus, #pcd-root .pcd-input:focus-visible {
  border-color:var(--pcd-focus, #0F766E) !important;
  outline:var(--pcd-focus-w, 2px) solid var(--pcd-focus, #0F766E) !important;
  outline-offset:var(--pcd-focus-offset-input, 1px) !important; box-shadow:none !important;
}
#pcd-root .pcd-input.err, #pcd-root .pcd-input[aria-invalid="true"] { border-color:var(--pcd-danger, #B42318); }
#pcd-root .pcd-btn2, #pcd-root .pcd-btn--ghost {
  height:var(--pcd-btn-h, 40px); padding:0 var(--pcd-space-4, 16px);
  border:var(--pcd-border-w, 1px) solid var(--pcd-text, #1F2937) !important; border-radius:var(--pcd-radius-btn, 8px);
  font-weight:var(--pcd-fw-strong, 600); font-size:var(--pcd-btn-size, 14px);
  display:inline-flex; align-items:center; gap:var(--pcd-space-2, 8px); min-width:var(--pcd-btn-min-w, 84px); justify-content:center;
  background:transparent; color:var(--pcd-text, #1F2937) !important;
}
#pcd-root .pcd-btn2:focus-visible, #pcd-root .pcd-btn--ghost:focus-visible {
  outline:var(--pcd-focus-w, 2px) solid var(--pcd-focus, #0F766E); outline-offset:var(--pcd-focus-offset, 2px);
}
#pcd-root .pcd-spinner { animation: pcd-spin var(--pcd-spin-dur, 700ms) linear infinite; }
#pcd-root .pcd-msg { display:flex; gap:var(--pcd-space-2, 8px); align-items:center; font-size:var(--pcd-meta-size, 13px); margin-top:var(--pcd-space-2, 8px); }
#pcd-root .pcd-msg.err { color:var(--pcd-danger, #B42318); }
#pcd-root .pcd-msg svg { width:var(--pcd-icon-sm, 12px); height:var(--pcd-icon-sm, 12px); font-size:var(--pcd-icon-sm, 12px); flex:none; }
#pcd-root .pcd-btn--ghost[aria-busy="true"] { pointer-events:none; opacity:0.85; }
#pcd-root .pcd-btn--ghost .pcd-spinner { width:var(--pcd-remove-icon, 14px); height:var(--pcd-remove-icon, 14px); }
#pcd-root .pcd-chip {
  display:inline-flex; align-items:center; gap:var(--pcd-space-2, 8px); height:var(--pcd-chip-h, 30px);
  padding:0 var(--pcd-space-2, 8px) 0 var(--pcd-space-3, 12px);
  background:var(--pcd-success-soft, #E7F5EE); color:var(--pcd-success, #067647);
  border-radius:var(--pcd-radius-sm, 6px); font-size:var(--pcd-meta-size, 13px); font-weight:var(--pcd-fw-strong, 600);
}
#pcd-root .pcd-chip > svg,
#pcd-root .pcd-chip .pcd-chip__check { width:var(--pcd-icon-sm, 12px); height:var(--pcd-icon-sm, 12px); flex:0 0 auto; color:var(--pcd-success, #067647); }
#pcd-root .pcd-chip button { width:var(--pcd-badge, 22px); height:var(--pcd-badge, 22px); display:grid; place-items:center; color:var(--pcd-success, #067647) !important; }
#pcd-root .pcd-chip button svg { width:var(--pcd-icon-sm, 12px); height:var(--pcd-icon-sm, 12px); font-size:var(--pcd-icon-sm, 12px); }
#pcd-root .pcd-rows, #pcd-root .pcd-totals { margin-top:var(--pcd-space-4, 16px); display:grid; gap:var(--pcd-space-2, 8px); font-size:var(--pcd-totals-size, 14px); }
#pcd-root .pcd-row, #pcd-root .pcd-totals__row { display:flex; justify-content:space-between; font-variant-numeric:var(--pcd-numeric, tabular-nums); }
#pcd-root .pcd-row .m, #pcd-root .pcd-totals__row span:first-child { color:var(--pcd-muted, #5B6472); }
#pcd-root .pcd-row.disc span:last-child, #pcd-root .pcd-totals__row--discount span:last-child { color:var(--pcd-success, #067647); }
#pcd-root .pcd-row.total, #pcd-root .pcd-totals__row--total {
  font-size:var(--pcd-total-size, 17px); font-weight:var(--pcd-total-weight, 600);
  padding-top:var(--pcd-space-2, 8px); margin-top:var(--pcd-space-1, 4px);
  border-top:var(--pcd-divider-w, 1px) solid var(--pcd-border, #E3E6EA); color:var(--pcd-text, #1F2937);
}
#pcd-root .pcd-row.total span:first-child, #pcd-root .pcd-totals__row--total span:first-child { color:var(--pcd-text, #1F2937); }
#pcd-root .pcd-note, #pcd-root .pcd-trust { font-size:var(--pcd-note-size, 12px); color:var(--pcd-muted, #5B6472); margin-top:var(--pcd-space-1, 4px); }
#pcd-root .pcd-cta, #pcd-root a.pcd-btn, #pcd-root .pcd-btn:not(.pcd-btn--ghost) {
  margin-top:var(--pcd-space-4, 16px); display:flex; align-items:center; justify-content:center; gap:var(--pcd-space-2, 8px);
  height:var(--pcd-cta-h, 48px); width:100%;
  background:var(--pcd-accent, #0F766E) !important; color:var(--pcd-on-accent, #FFFFFF) !important;
  border-radius:var(--pcd-radius-btn, 8px); font-weight:var(--pcd-fw-strong, 600); font-size:var(--pcd-cta-size, 16px);
  text-decoration:none !important; box-sizing:border-box;
}
#pcd-root .pcd-cta:hover, #pcd-root a.pcd-btn:hover, #pcd-root .pcd-btn:not(.pcd-btn--ghost):hover {
  background:var(--pcd-accent-hover, #115E59) !important;
}
#pcd-root .pcd-cta:focus-visible, #pcd-root a.pcd-btn:focus-visible, #pcd-root .pcd-btn:focus-visible {
  outline:var(--pcd-focus-w, 2px) solid var(--pcd-focus, #0F766E); outline-offset:var(--pcd-focus-offset, 2px);
}
#pcd-root .pcd-link, #pcd-root .pcd-view-cart {
  display:block; text-align:center; margin-top:var(--pcd-space-3, 12px); font-size:var(--pcd-btn-size, 14px);
  color:var(--pcd-text, #1F2937) !important; text-decoration:underline !important; text-underline-offset:var(--pcd-space-1, 4px);
}
#pcd-root .pcd-skel { background:var(--pcd-skeleton, #ECEEF1); border-radius:var(--pcd-radius-sm, 6px); position:relative; overflow:hidden; }
#pcd-root .pcd-skel::after {
  content:""; position:absolute; inset:0; width:40%; background:var(--pcd-skeleton-hi, #F5F6F8);
  transform:translateX(-100%); animation:pcd-skel var(--pcd-skel-dur, 1200ms) linear infinite;
}
#pcd-root[data-skeleton="static"] .pcd-skel::after { animation:none; display:none; }
#pcd-root .pcd-skeleton { padding:var(--pcd-space-4, 16px) 0; }
#pcd-root .pcd-skeleton-line { display:flex; gap:var(--pcd-space-3, 12px); margin-bottom:var(--pcd-space-4, 16px); }
#pcd-root .pcd-skeleton__block {
  background:var(--pcd-skeleton, #ECEEF1); border-radius:var(--pcd-radius-sm, 6px); height:var(--pcd-skel-bar-h, 14px); position:relative; overflow:hidden;
}
#pcd-root .pcd-skeleton__block::after {
  content:""; position:absolute; inset:0; width:40%; background:var(--pcd-skeleton-hi, #F5F6F8);
  animation:pcd-skel var(--pcd-skel-dur, 1200ms) linear infinite;
}
#pcd-root .pcd-skeleton__lines { flex:1; display:grid; gap:var(--pcd-space-2, 8px); align-content:center; }
#pcd-root .pcd-empty {
  flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:var(--pcd-space-6, 32px) var(--pcd-gutter, 24px); min-height:var(--pcd-empty-min-h, 240px);
  margin-block:auto; width:100%;
}
#pcd-root .pcd-empty .ic, #pcd-root .pcd-empty__icon {
  width:var(--pcd-empty-icon, 72px); height:var(--pcd-empty-icon, 72px); border-radius:var(--pcd-radius-round, 50%);
  background:var(--pcd-surface, #F6F7F8); display:grid; place-items:center; font-size:var(--pcd-title-size, 18px); color:var(--pcd-muted, #5B6472); margin:0 auto;
}
#pcd-root .pcd-empty h3, #pcd-root .pcd-empty__title {
  font-size:var(--pcd-title-size, 18px); font-weight:var(--pcd-title-weight, 600); margin-top:var(--pcd-space-4, 16px);
}
#pcd-root .pcd-empty p, #pcd-root .pcd-empty__text {
  color:var(--pcd-muted, #5B6472); font-size:var(--pcd-btn-size, 14px); margin-top:var(--pcd-space-1, 4px); max-width:var(--pcd-empty-max-w, 260px);
}
#pcd-root .pcd-empty .pcd-cta, #pcd-root .pcd-empty .pcd-btn {
  width:auto; padding:0 var(--pcd-space-5, 24px); margin-top:var(--pcd-space-5, 24px);
}
#pcd-root .pcd-launch, #pcd-root .pcd-launcher {
  position:fixed; right:var(--pcd-launcher-x, 24px); bottom:var(--pcd-launcher-y, 24px);
  width:var(--pcd-launcher-size, 56px); height:var(--pcd-launcher-size, 56px); border-radius:var(--pcd-radius-round, 50%);
  background:var(--pcd-accent, #0F766E) !important; color:var(--pcd-on-accent, #FFFFFF) !important;
  display:grid; place-items:center; font-size:var(--pcd-title-size, 18px); z-index:var(--pcd-z-launcher, 2147482000); box-shadow:var(--pcd-shadow, none);
}
#pcd-root[data-launcher="bottom-left"] .pcd-launch,
#pcd-root[data-launcher="bottom-left"] .pcd-launcher { right:auto; left:var(--pcd-launcher-x, 24px); }
#pcd-root .pcd-launcher[hidden] { display:none !important; }
#pcd-root .pcd-launcher.is-empty .pcd-badge,
#pcd-root .pcd-launcher.is-empty .pcd-launcher__count { display:none; }
#pcd-root .pcd-badge, #pcd-root .pcd-launcher__count {
  position:absolute; top:calc(-1 * var(--pcd-space-1, 4px)); right:calc(-1 * var(--pcd-space-1, 4px));
  min-width:var(--pcd-badge, 22px); height:var(--pcd-badge, 22px);
  padding:0 var(--pcd-space-2, 8px); border-radius:var(--pcd-radius-badge, 11px);
  background:var(--pcd-badge-bg, #B42318); color:var(--pcd-badge-text, #FFFFFF);
  font-size:var(--pcd-badge-size, 12px); font-weight:var(--pcd-fw-strong, 600); display:grid; place-items:center;
  border:var(--pcd-badge-ring, 2px) solid var(--pcd-bg, #FFFFFF); font-family:var(--pcd-font-family, inherit); line-height:1;
}
#pcd-root .pcd-badge.is-bump { animation:pcd-bump var(--pcd-bump-dur, 180ms) var(--pcd-ease-open, cubic-bezier(.32,.72,0,1)); }
#pcd-root .pcd-hbtn {
  position:relative; display:inline-flex; align-items:center; gap:var(--pcd-space-2, 8px); height:var(--pcd-btn-h, 40px); padding:0 var(--pcd-space-3, 12px);
  border:var(--pcd-border-w, 1px) solid var(--pcd-border, #E3E6EA) !important; border-radius:var(--pcd-radius-btn, 8px);
  background:var(--pcd-bg, #FFFFFF) !important; color:var(--pcd-text, #1F2937) !important;
  font-weight:var(--pcd-fw-strong, 600); font-size:var(--pcd-btn-size, 14px);
}
#pcd-root .pcd-hbtn:focus-visible { outline:var(--pcd-focus-w, 2px) solid var(--pcd-focus, #0F766E); outline-offset:var(--pcd-focus-offset, 2px); }
#pcd-root .pcd-loading { padding:var(--pcd-space-4, 16px) 0; color:var(--pcd-muted, #5B6472); font-size:var(--pcd-btn-size, 14px); }
#pcd-root .pcd-error { padding:var(--pcd-space-4, 16px) 0; color:var(--pcd-danger, #B42318); font-size:var(--pcd-btn-size, 14px); }
#pcd-root .pcd-upsells { margin:var(--pcd-space-4, 16px) 0; padding-top:var(--pcd-space-4, 16px); border-top:var(--pcd-divider-w, 1px) solid var(--pcd-border, #E3E6EA); }
#pcd-root .pcd-upsells h3 { font-size:var(--pcd-btn-size, 14px); font-weight:var(--pcd-fw-strong, 600); margin-bottom:var(--pcd-space-3, 12px); }
#pcd-root .pcd-upsell { display:grid; grid-template-columns:var(--pcd-thumb, 64px) 1fr auto; gap:var(--pcd-space-3, 12px); align-items:center; margin-bottom:var(--pcd-space-3, 12px); }
#pcd-root .pcd-upsell img { width:var(--pcd-thumb, 64px); height:var(--pcd-thumb, 64px); border-radius:var(--pcd-radius-sm, 6px); object-fit:cover; background:var(--pcd-skeleton, #ECEEF1); }
#pcd-root .pcd-toast {
  display:flex; justify-content:space-between; gap:var(--pcd-space-3, 12px); padding:var(--pcd-space-3, 12px);
  background:var(--pcd-surface, #F6F7F8); border-radius:var(--pcd-radius, 10px); margin:var(--pcd-space-3, 12px) 0; font-size:var(--pcd-btn-size, 14px);
}
body:has(.sp-scroll-up) #pcd-root .pcd-launcher,
body:has(.sp-scroll-up) #pcd-root .pcd-launch { bottom: calc(var(--pcd-launcher-y, 24px) + var(--pcd-scroll-up, 56px)); }
html.pcd-noscroll { overflow:hidden; }
@keyframes pcd-spin { to { transform: rotate(360deg); } }
@keyframes pcd-skel { 0% { transform: translateX(-100%); } 100% { transform: translateX(250%); } }
@keyframes pcd-bump {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(var(--pcd-bump-scale, 1.15)); }
}

@media (max-width: 640px) { /* default mobile_breakpoint; PHP also emits matching rule */
  #pcd-root[data-mobile="sheet"] .pcd-drawer,
  #pcd-root[data-side="auto"][data-mobile="sheet"] .pcd-drawer,
  #pcd-root:not([data-mobile])[data-side="auto"] .pcd-drawer,
  #pcd-root .pcd-drawer.sheet {
    top:auto; left:0; right:0; width:100%; height:var(--pcd-sheet-h, 88vh); max-height:var(--pcd-sheet-h, 88vh);
    border-left:0; border-top:var(--pcd-border-w, 1px) solid var(--pcd-border, #E3E6EA);
    border-radius:var(--pcd-sheet-radius, 16px) var(--pcd-sheet-radius, 16px) 0 0; transform-origin:center bottom;
  }
  /* Grab handle only in mobile sheet mode (not docked desktop / not mobile dock). */
  #pcd-root[data-mobile="sheet"][data-grab="1"] .pcd-grab,
  #pcd-root[data-side="auto"][data-mobile="sheet"][data-grab="1"] .pcd-grab,
  #pcd-root:not([data-mobile])[data-side="auto"][data-grab="1"] .pcd-grab {
    display:block;
  }
  #pcd-root[data-side="auto"][data-effect="slide"]:not(.is-open) .pcd-drawer,
  #pcd-root[data-effect-m="slide-up"]:not(.is-open) .pcd-drawer,
  #pcd-root[data-side="auto"]:not([data-effect-m]):not([data-effect="fade"]):not([data-effect="scale"]):not([data-effect="none"]):not(.is-open) .pcd-drawer {
    --pcd-dur-open: var(--pcd-slide-up-open-dur, 360ms); --pcd-dur-close: var(--pcd-slide-up-close-dur, 260ms);
    --pcd-ease-open: var(--pcd-slide-up-open-ease, cubic-bezier(.32,.72,0,1)); --pcd-ease-close: var(--pcd-slide-up-close-ease, cubic-bezier(.4,0,1,1));
    transform: translateY(var(--pcd-sheet-dist, 100%));
  }
  #pcd-root[data-side="auto"][data-effect="slide"].is-open .pcd-drawer,
  #pcd-root[data-effect-m="slide-up"].is-open .pcd-drawer,
  #pcd-root[data-side="auto"]:not([data-effect-m]):not([data-effect="fade"]):not([data-effect="scale"]):not([data-effect="none"]).is-open .pcd-drawer {
    --pcd-dur-open: var(--pcd-slide-up-open-dur, 360ms); --pcd-dur-close: var(--pcd-slide-up-close-dur, 260ms);
    --pcd-ease-open: var(--pcd-slide-up-open-ease, cubic-bezier(.32,.72,0,1)); --pcd-ease-close: var(--pcd-slide-up-close-ease, cubic-bezier(.4,0,1,1));
    transform: translateY(0);
  }
  #pcd-root[data-side="auto"][data-effect="fade"]:not(.is-open) .pcd-drawer,
  #pcd-root[data-effect-m="fade"]:not(.is-open) .pcd-drawer {
    --pcd-dur-open: var(--pcd-fade-open-dur, 200ms); --pcd-dur-close: var(--pcd-fade-close-dur, 160ms);
    --pcd-ease-open: var(--pcd-fade-open-ease, cubic-bezier(0,0,.2,1)); --pcd-ease-close: var(--pcd-fade-close-ease, linear);
    transform:none; opacity:0;
  }
  #pcd-root[data-side="auto"][data-effect="fade"].is-open .pcd-drawer,
  #pcd-root[data-effect-m="fade"].is-open .pcd-drawer {
    --pcd-dur-open: var(--pcd-fade-open-dur, 200ms); --pcd-dur-close: var(--pcd-fade-close-dur, 160ms);
    --pcd-ease-open: var(--pcd-fade-open-ease, cubic-bezier(0,0,.2,1)); --pcd-ease-close: var(--pcd-fade-close-ease, linear);
    transform:none; opacity:1;
  }
  #pcd-root[data-side="auto"][data-effect="scale"]:not(.is-open) .pcd-drawer,
  #pcd-root[data-effect-m="scale"]:not(.is-open) .pcd-drawer {
    --pcd-dur-open: var(--pcd-scale-open-dur, 240ms); --pcd-dur-close: var(--pcd-scale-close-dur, 180ms);
    --pcd-ease-open: var(--pcd-scale-open-ease, cubic-bezier(.2,.9,.3,1)); --pcd-ease-close: var(--pcd-scale-close-ease, cubic-bezier(.4,0,1,1));
    transform: scale(var(--pcd-scale-to, var(--pcd-scale-from, 0.96))); opacity:0;
  }
  #pcd-root[data-side="auto"][data-effect="scale"].is-open .pcd-drawer,
  #pcd-root[data-effect-m="scale"].is-open .pcd-drawer {
    --pcd-dur-open: var(--pcd-scale-open-dur, 240ms); --pcd-dur-close: var(--pcd-scale-close-dur, 180ms);
    --pcd-ease-open: var(--pcd-scale-open-ease, cubic-bezier(.2,.9,.3,1)); --pcd-ease-close: var(--pcd-scale-close-ease, cubic-bezier(.4,0,1,1));
    transform: scale(1); opacity:1;
  }
  #pcd-root .pcd-head, #pcd-root .pcd-drawer__header,
  #pcd-root .pcd-foot, #pcd-root .pcd-drawer__footer { padding-left:var(--pcd-gutter-m, 16px); padding-right:var(--pcd-gutter-m, 16px); }
  #pcd-root .pcd-body, #pcd-root .pcd-drawer__body { padding:0 var(--pcd-gutter-m, 16px); }
  #pcd-root .pcd-ship, #pcd-root .pcd-freeship { margin-left:var(--pcd-gutter-m, 16px); margin-right:var(--pcd-gutter-m, 16px); }
  #pcd-root .pcd-launch, #pcd-root .pcd-launcher {
    right:var(--pcd-launcher-x, 24px); bottom:var(--pcd-launcher-y, 24px);
  }
  #pcd-root[data-launcher="bottom-left"] .pcd-launch,
  #pcd-root[data-launcher="bottom-left"] .pcd-launcher {
    left:var(--pcd-launcher-x, 24px); right:auto;
  }
  #pcd-root[data-launcher-hide-mobile="1"] .pcd-launcher { display:none !important; }
}
