
:root{
  --cart-orange:#ff4b16;
  --cart-ink:#11151a;
  --cart-muted:#737b84;
  --cart-line:#e2e6ea;
  --cart-soft:#f6f7f8;
}
body.pm-cart-open{overflow:hidden}
.cart{position:relative}
.cart:hover{color:var(--cart-orange)}
.pm-cart-backdrop{
  position:fixed;inset:0;z-index:300;background:rgba(14,18,24,.42);
  backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:.24s ease;
}
.pm-cart-backdrop.open{opacity:1;pointer-events:auto}
.pm-cart-drawer{
  position:fixed;right:0;top:0;bottom:0;z-index:310;width:min(490px,96vw);
  background:#fff;box-shadow:-25px 0 70px rgba(7,11,17,.22);
  transform:translateX(104%);transition:.28s ease;
  display:grid;grid-template-rows:auto minmax(0,1fr) auto;
}
.pm-cart-drawer.open{transform:none}
.pm-cart-header{
  min-height:102px;padding:22px 24px;border-bottom:1px solid var(--cart-line);
  display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.pm-cart-header small{display:block;color:var(--cart-orange);font-size:13px;font-weight:800;letter-spacing:1.2px}
.pm-cart-header h2{margin:7px 0 0;font-size:27px;letter-spacing:-.8px}
.pm-cart-close{
  width:42px;height:42px;border:0;border-radius:50%;background:#f1f3f4;
  color:#20262d;font-size:23px;display:grid;place-items:center;
}
.pm-cart-body{overflow-y:auto;padding:18px 22px}
.pm-cart-empty{
  min-height:440px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
}
.pm-cart-empty-icon{
  width:92px;height:92px;border-radius:50%;background:#fff3ed;color:var(--cart-orange);display:grid;place-items:center;
}
.pm-cart-empty-icon svg{width:43px;height:43px;fill:none;stroke:currentColor;stroke-width:1.5}
.pm-cart-empty h3{margin:22px 0 0;font-size:22px}
.pm-cart-empty p{max-width:310px;margin:10px 0 0;color:var(--cart-muted);font-size:16px;line-height:1.55}
.pm-cart-empty button{height:45px;margin-top:20px;padding:0 18px;border:0;border-radius:9px;background:var(--cart-orange);color:#fff;font-size:14px;font-weight:750}
.pm-cart-list{display:grid;gap:13px}
.pm-cart-item{
  min-height:124px;padding:12px;border:1px solid var(--cart-line);border-radius:14px;background:#fff;
  display:grid;grid-template-columns:94px minmax(0,1fr);gap:13px;position:relative;
}
.pm-cart-item-image{width:94px;height:98px;border-radius:10px;background:#f7f8f9;display:flex;align-items:center;justify-content:center}
.pm-cart-item-image img{width:82%;height:82%;object-fit:contain;filter:drop-shadow(0 8px 9px rgba(17,20,25,.1))}
.pm-cart-item-copy{min-width:0;padding-right:27px}
.pm-cart-item-type{color:#6e7278;font-size:13px;font-weight:750;text-transform:uppercase;letter-spacing:.5px}
.pm-cart-item h3{margin:5px 0 0;font-size:13px;line-height:1.35}
.pm-cart-item-subtitle{margin-top:4px;color:#6d727a;font-size:14px}
.pm-cart-item-price{margin-top:9px;font-size:14px;font-weight:800}
.pm-cart-remove{
  position:absolute;right:9px;top:9px;width:29px;height:29px;border:0;border-radius:50%;background:#f3f4f5;
  color:#6b737b;font-size:16px;
}
.pm-cart-item-bottom{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.pm-cart-qty{
  height:37px;border:1px solid #dfe3e7;border-radius:9px;display:grid;grid-template-columns:34px 38px 34px;overflow:hidden;
}
.pm-cart-qty button{border:0;background:#fff;font-size:17px}
.pm-cart-qty button:hover{background:#fff4ef;color:var(--cart-orange)}
.pm-cart-qty output{display:grid;place-items:center;font-size:16px;font-weight:750;border-left:1px solid #e5e8eb;border-right:1px solid #e5e8eb}
.pm-cart-line-total{font-size:13px;font-weight:800}
.pm-cart-summary{
  padding:17px 22px 22px;border-top:1px solid var(--cart-line);background:#fff;
}
.pm-cart-progress-copy{display:flex;justify-content:space-between;gap:15px;color:#646c75;font-size:16px}
.pm-cart-progress{height:6px;margin-top:8px;border-radius:99px;background:#edf0f2;overflow:hidden}
.pm-cart-progress span{display:block;height:100%;width:0;background:var(--cart-orange);border-radius:99px;transition:.25s ease}
.pm-cart-totals{margin-top:16px;display:grid;gap:9px}
.pm-cart-total-row{display:flex;justify-content:space-between;gap:20px;color:#69717a;font-size:16px}
.pm-cart-total-row strong{color:var(--cart-ink)}
.pm-cart-total-row.grand{padding-top:12px;border-top:1px solid #e4e7ea;color:var(--cart-ink);font-size:15px}
.pm-cart-total-row.grand strong{font-size:20px}
.pm-cart-checkout{
  width:100%;height:52px;margin-top:16px;border:0;border-radius:10px;background:var(--cart-orange);
  color:#fff;font-size:16px;font-weight:800;box-shadow:0 13px 25px rgba(255,75,22,.2);
}
.pm-cart-checkout:hover{background:#e83f0d}
.pm-cart-continue{
  width:100%;height:42px;margin-top:8px;border:0;background:none;color:#4f5760;font-size:15px;font-weight:700;
}
.pm-cart-security{
  margin-top:8px;display:flex;justify-content:center;gap:18px;color:#6d727a;font-size:13px;
}
.pm-cart-security span{display:flex;align-items:center;gap:5px}
.pm-cart-security svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.6}
@media(max-width:560px){
  .pm-cart-drawer{width:100%}
  .pm-cart-header{min-height:88px;padding:18px}
  .pm-cart-body{padding:14px}
  .pm-cart-summary{padding:14px 16px 18px}
}


/* ---------------------------------------------------------------
   Stage 9 — empty cart action
   --------------------------------------------------------------- */

.pm-cart-secondary-actions{
  margin-top:8px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
}

.pm-cart-continue,
.pm-cart-empty-button{
  height:42px;
  border-radius:9px;
  font-size:14px;
  font-weight:700;
}

.pm-cart-continue{
  width:100%;
  margin-top:0;
  border:0;
  background:none;
  color:#4f5760;
}

.pm-cart-empty-button{
  min-width:105px;
  padding:0 14px;
  border:1px solid #e1e4e8;
  background:#fff;
  color:#a63c1c;
}

.pm-cart-empty-button:hover{
  border-color:#e7b7a7;
  background:#fff5f1;
}

.pm-cart-empty-button:disabled{
  opacity:.4;
  cursor:not-allowed;
}

@media(max-width:560px){
  .pm-cart-secondary-actions{
    grid-template-columns:1fr;
  }

  .pm-cart-empty-button{
    width:100%;
  }
}


/* ---------------------------------------------------------------
   Stage 33 — smart add-to-cart confirmation
   --------------------------------------------------------------- */

@keyframes pm-cart-bump{
  0%{transform:scale(1)}
  35%{transform:scale(1.14)}
  62%{transform:scale(.96)}
  100%{transform:scale(1)}
}

.cart.cart-bump{
  animation:pm-cart-bump .58s ease;
}

.cart.cart-bump b{
  background:#1d8b50;
  box-shadow:0 0 0 5px rgba(29,139,80,.12);
}

.pm-cart-header{
  transition:background .22s ease,border-color .22s ease;
}

.pm-cart-header.added{
  background:linear-gradient(180deg,#f4fbf7,#fff);
  border-bottom-color:#cfe7d9;
}

.pm-cart-header-title{
  min-width:0;
}

.pm-cart-header-title p{
  margin:5px 0 0;
  color:#68727b;
  font-size:16px;
}

.pm-cart-added{
  margin-bottom:13px;
  padding:15px;
  border:1px solid #bfe1cd;
  border-radius:14px;
  background:#f2faf5;
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  gap:12px;
  box-shadow:0 10px 24px rgba(25,124,70,.06);
}

.pm-cart-added-check{
  width:40px;
  height:40px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#1c8a4b;
  color:#fff;
}

.pm-cart-added-check svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.1;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.pm-cart-added-copy{
  min-width:0;
}

.pm-cart-added-copy small{
  display:block;
  color:#27784a;
  font-size:16px;
  font-weight:850;
  letter-spacing:.7px;
}

.pm-cart-added-copy strong{
  display:block;
  margin-top:5px;
  color:#183d29;
  font-size:16px;
}

.pm-cart-added-copy span{
  display:block;
  margin-top:5px;
  color:#52665a;
  font-size:16px;
  line-height:1.4;
}

.pm-cart-added-copy em{
  display:block;
  margin-top:4px;
  color:#66766b;
  font-size:16px;
  font-style:normal;
}

.pm-cart-added-copy b{
  display:block;
  margin-top:7px;
  color:#1c7042;
  font-size:16px;
}

.pm-cart-bulk-message{
  grid-column:1/-1;
  margin-top:2px;
  padding-top:11px;
  border-top:1px solid #d2e9dc;
  display:flex;
  justify-content:space-between;
  gap:12px;
  color:#587064;
  font-size:16px;
}

.pm-cart-bulk-message a{
  color:#1b7543;
  font-weight:800;
}

.pm-cart-item{
  transition:border-color .22s ease,box-shadow .22s ease,background .22s ease;
}

.pm-cart-item.recent{
  border-color:#ff9d7b;
  background:#fffaf7;
  box-shadow:0 0 0 2px rgba(255,75,22,.07);
}

.pm-cart-item-updated{
  position:absolute;
  right:43px;
  top:10px;
  padding:4px 7px;
  border-radius:99px;
  background:#fff0ea;
  color:#a84421;
  font-size:13px;
  font-weight:850;
}

.pm-cart-volume-note{
  margin-top:9px;
  padding-top:8px;
  border-top:1px solid #edf0f2;
  color:#6c737a;
  font-size:14px;
}

.pm-cart-volume-note a{
  margin-left:4px;
  color:#a84421;
  font-weight:800;
}

@media(max-width:560px){
  .pm-cart-added{
    grid-template-columns:36px minmax(0,1fr);
    padding:13px;
  }

  .pm-cart-added-check{
    width:36px;
    height:36px;
  }

  .pm-cart-bulk-message{
    flex-direction:column;
    gap:5px;
  }
}


/* ---------------------------------------------------------------
   Stage 34 — continue-shopping cart confirmation
   --------------------------------------------------------------- */

.pm-cart-mini{
  position:fixed;
  z-index:260;
  width:min(400px,calc(100vw - 32px));
  padding:17px;
  border:1px solid #dfe4e7;
  border-radius:17px;
  background:#fff;
  box-shadow:0 24px 60px rgba(17,21,26,.18);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-8px) scale(.985);
  transform-origin:top right;
  transition:
    opacity .2s ease,
    transform .2s ease,
    visibility .2s ease;
}

.pm-cart-mini.open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}

.pm-cart-mini-close{
  position:absolute;
  right:10px;
  top:10px;
  width:31px;
  height:31px;
  border:0;
  border-radius:50%;
  background:#f2f4f5;
  color:#69727b;
  font-size:18px;
  display:grid;
  place-items:center;
}

.pm-cart-mini-close:hover{
  background:#e9edef;
  color:#1f252b;
}

.pm-cart-mini-content{
  padding-right:27px;
}

.pm-cart-mini-success{
  display:grid;
  grid-template-columns:37px minmax(0,1fr);
  gap:10px;
  align-items:center;
}

.pm-cart-mini-check{
  width:37px;
  height:37px;
  border-radius:50%;
  background:#1b8a4b;
  color:#fff;
  display:grid;
  place-items:center;
}

.pm-cart-mini-check svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.1;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.pm-cart-mini-success small{
  display:block;
  color:#25804b;
  font-size:13px;
  font-weight:850;
  letter-spacing:.65px;
}

.pm-cart-mini-success strong{
  display:block;
  margin-top:4px;
  color:#163d28;
  font-size:15px;
}

.pm-cart-mini-product{
  display:grid;
  grid-template-columns:68px minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  margin-top:14px;
  padding:12px 0;
  border-top:1px solid #edf0f2;
  border-bottom:1px solid #edf0f2;
}

.pm-cart-mini-image{
  width:68px;
  height:68px;
  border-radius:11px;
  background:#f5f7f8;
  display:flex;
  align-items:center;
  justify-content:center;
}

.pm-cart-mini-image img{
  width:82%;
  height:82%;
  object-fit:contain;
  filter:drop-shadow(0 7px 8px rgba(17,21,26,.09));
}

.pm-cart-mini-product-copy{
  min-width:0;
}

.pm-cart-mini-name{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  color:#1e242a;
  font-size:16px;
  font-weight:800;
  line-height:1.35;
}

.pm-cart-mini-product-copy span{
  display:block;
  margin-top:5px;
  color:#6b737b;
  font-size:16px;
  line-height:1.4;
}

.pm-cart-mini-product-copy b{
  display:block;
  margin-top:6px;
  color:#1d7745;
  font-size:16px;
}

.pm-cart-mini-line-total{
  color:#20262c;
  font-size:16px;
  white-space:nowrap;
}

.pm-cart-mini-subtotal{
  display:flex;
  justify-content:space-between;
  gap:18px;
  margin-top:12px;
  color:#68717a;
  font-size:15px;
}

.pm-cart-mini-subtotal strong{
  color:#171c21;
  font-size:15px;
}

.pm-cart-mini-business{
  margin-top:11px;
  padding:10px 11px;
  border-radius:10px;
  background:#fff5f0;
  display:flex;
  justify-content:space-between;
  gap:10px;
  color:#795a4e;
  font-size:13px;
}

.pm-cart-mini-business a{
  color:#a84522;
  font-weight:800;
}

.pm-cart-mini-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:14px;
}

.pm-cart-mini-actions button{
  height:42px;
  border-radius:9px;
  font-size:14px;
  font-weight:800;
}

.pm-cart-mini-view{
  border:1px solid #dce1e4;
  background:#fff;
  color:#31383f;
}

.pm-cart-mini-view:hover{
  border-color:#bec6cc;
  background:#f7f8f9;
}

.pm-cart-mini-checkout{
  border:0;
  background:var(--cart-orange);
  color:#fff;
  box-shadow:0 8px 17px rgba(255,75,22,.16);
}

.pm-cart-mini-checkout:hover{
  background:#e84210;
}

@media(max-width:720px){
  .pm-cart-mini{
    left:12px;
    right:12px;
    top:auto !important;
    bottom:12px;
    width:auto;
    border-radius:16px;
    transform:translateY(18px);
    transform-origin:bottom center;
    box-shadow:0 20px 55px rgba(17,21,26,.24);
  }

  .pm-cart-mini.open{
    transform:translateY(0);
  }

  .pm-cart-mini-product{
    grid-template-columns:58px minmax(0,1fr) auto;
  }

  .pm-cart-mini-image{
    width:58px;
    height:58px;
  }

  .pm-cart-mini-business{
    flex-direction:column;
    gap:4px;
  }
}

@media(max-width:420px){
  .pm-cart-mini{
    padding:14px;
  }

  .pm-cart-mini-content{
    padding-right:21px;
  }

  .pm-cart-mini-product{
    grid-template-columns:52px minmax(0,1fr);
  }

  .pm-cart-mini-image{
    width:52px;
    height:52px;
  }

  .pm-cart-mini-line-total{
    grid-column:2;
  }
}
