/* PicPanels cart page. The cart uses the standard storefront header. */
body.woocommerce-cart { background:#f8f7f3; }

/* On the cart, reserve the storefront header's actual height in normal flow.
   WooCommerce notices, including the removal Undo link, start below navigation. */
body.woocommerce-cart .pp-site-header {
  position:relative;
  inset:auto;
  background:#11191e;
}

.ppc-page { background:#f8f7f3; color:#0a1424; }
.ppc-shell { width:min(calc(100% - 176px),1360px); margin-inline:auto; }
.ppc-cart-section { padding:38px 0 10px; }
.ppc-cart-grid { display:block; }
.ppc-cart-main { position:relative; min-height:670px; }
.ppc-eyebrow { display:block; margin-bottom:10px; font-size:12px; line-height:1; font-weight:500; letter-spacing:.34em; text-transform:uppercase; }
.ppc-cart-main > h1 { margin:0; max-width:720px; font-size:clamp(64px,5.7vw,88px); line-height:.9; letter-spacing:-4.8px; text-transform:uppercase; font-weight:900; }
.ppc-subtitle { margin:15px 0 36px; font-size:18px; line-height:1.4; color:#212a36; }
.ppc-cart-form { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 486px; column-gap:58px; }
.ppc-cart-items-form { grid-column:1; margin:0; min-width:0; }
.ppc-cart-items { grid-column:1; }
.ppc-cart-item { display:grid; grid-template-columns:264px minmax(0,1fr) 128px; gap:36px; align-items:center; min-height:204px; padding:16px 0 27px; border-bottom:1px solid #d7d7d2; }
.ppc-cart-item:first-child { padding-top:4px; }
.ppc-cart-item__image { width:264px; height:158px; overflow:hidden; border-radius:4px; background:#e7e5df; }
.ppc-cart-item__image a,
.ppc-cart-item__image img { display:block; width:100%; height:100%; }
.ppc-cart-item__image img { object-fit:cover; }
.ppc-cart-item__details { align-self:start; padding-top:12px; }
.ppc-cart-item__details h2 { margin:0; font-size:20px; line-height:1.14; font-weight:800; letter-spacing:-.45px; }
.ppc-cart-item__details h2 a:hover { text-decoration:underline; text-underline-offset:3px; }
.ppc-byline { margin-top:3px; font-size:14px; color:#3e4650; }
.ppc-item-meta { margin-top:16px; }
.ppc-item-meta dl.variation { margin:0; display:grid; grid-template-columns:100px minmax(0,1fr); column-gap:18px; row-gap:7px; font-size:14px; }
.ppc-item-meta dl.variation dt,
.ppc-item-meta dl.variation dd { margin:0; padding:0; float:none; clear:none; }
.ppc-item-meta dl.variation dt { font-size:12px; font-weight:500; letter-spacing:.13em; text-transform:uppercase; color:#4a5058; }
.ppc-item-meta dl.variation dd p { margin:0; }
.ppc-cart-item__purchase { align-self:start; display:flex; flex-direction:column; align-items:flex-end; padding-top:16px; }
.ppc-item-price { font-size:19px; font-weight:800; white-space:nowrap; }
.ppc-item-price .woocommerce-Price-amount { font-weight:800; }
.ppc-quantity { display:grid; grid-template-columns:33px 42px 33px; height:36px; margin-top:29px; border:1px solid #d5d4cf; border-radius:3px; overflow:hidden; background:#fff; }
.ppc-qty-btn,
.ppc-qty-input { border:0; border-right:1px solid #e3e2dd; background:#fff; color:#121b29; text-align:center; }
.ppc-qty-btn { cursor:pointer; font-size:19px; line-height:1; }
.ppc-qty-btn:last-child { border-right:0; }
.ppc-qty-input { width:42px; appearance:textfield; -moz-appearance:textfield; font-size:15px; }
.ppc-qty-input::-webkit-outer-spin-button,
.ppc-qty-input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.ppc-remove { margin-top:14px; font-size:12px; text-decoration:underline; text-underline-offset:2px; color:#39414c; }
.ppc-continue { grid-column:1; display:inline-flex; align-items:center; gap:12px; width:max-content; margin-top:20px; font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.ppc-continue span { font-size:21px; font-weight:400; transform:translateY(-1px); }
.ppc-summary { grid-column:2; grid-row:1 / span 3; align-self:start; position:sticky; top:24px; padding:31px 29px 27px; background:#fff; border-radius:8px; box-shadow:0 8px 25px rgba(20,24,29,.035); }
.ppc-summary__eyebrow { display:block; margin-bottom:20px; font-size:12px; letter-spacing:.31em; text-transform:uppercase; }
.ppc-summary__row { display:flex; justify-content:space-between; align-items:center; gap:24px; margin:0 0 15px; font-size:14px; }
.ppc-summary__row strong { font-size:15px; white-space:nowrap; }
.ppc-summary__discount { color:#28734a; }
.ppc-summary__discount strong { color:#28734a; }
.ppc-summary__shipping { padding-bottom:21px; border-bottom:1px solid #deded9; }
.ppc-summary__shipping strong { font-weight:400; color:#343b45; }
.ppc-help { display:inline-grid; place-items:center; vertical-align:middle; width:24px; height:24px; margin:0 0 0 4px; padding:0; border:1px solid #3e4650; border-radius:50%; background:transparent; color:inherit; font-size:13px; font-weight:800; line-height:1; cursor:pointer; }
.ppc-help:hover { background:#edf1f5; }
.ppc-help:focus-visible { outline:3px solid #0868f7; outline-offset:3px; }

/* Cart shipping details follow the native product-dialog layout and focus behavior. */
.ppc-shipping-dialog {
  box-sizing:border-box;
  width:min(540px,calc(100vw - 28px));
  max-width:none;
  max-height:min(88vh,740px);
  margin:auto;
  padding:0;
  border:0;
  border-radius:15px;
  background:#fff;
  color:#101b33;
  box-shadow:0 22px 80px rgba(10,26,57,.3);
  overflow:auto;
}
.ppc-shipping-dialog::backdrop { background:rgba(13,26,48,.62); }
.ppc-shipping-dialog__header {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  padding:25px 26px 16px;
}
.ppc-shipping-dialog__header h2 { margin:0; font-size:26px; line-height:1.2; letter-spacing:-.5px; }
.ppc-shipping-dialog__header p { margin:7px 0 0; color:#5e6a7e; font-size:14px; line-height:1.5; }
.ppc-shipping-dialog__close {
  display:grid;
  flex:0 0 42px;
  place-items:center;
  width:42px;
  height:42px;
  margin:-8px -10px 0 0;
  padding:0;
  border:0;
  border-radius:50%;
  background:#f1f4f8;
  color:#1b2942;
  font:inherit;
  font-size:27px;
  line-height:1;
  cursor:pointer;
}
.ppc-shipping-dialog__close:hover { background:#e3ebf9; }
.ppc-shipping-dialog__close:focus-visible { outline:3px solid #0868f7; outline-offset:2px; }
.ppc-shipping-dialog__body { padding:0 26px 26px; }
.ppc-shipping-dialog__benefit { padding:20px; border:1px solid #dbe6f5; border-radius:10px; background:#f1f6ff; }
.ppc-shipping-dialog__eyebrow { display:block; margin-bottom:8px; color:#176343; font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.ppc-shipping-dialog__benefit strong { display:block; color:#101b33; font-size:21px; line-height:1.2; }
.ppc-shipping-dialog__benefit p,
.ppc-shipping-dialog__rates p { margin:9px 0 0; color:#495871; font-size:14px; line-height:1.55; }
.ppc-shipping-dialog__rates { padding:21px 0 0; }
.ppc-shipping-dialog__rates h3 { margin:0; color:#101b33; font-size:17px; line-height:1.3; }
.ppc-shipping-dialog__note { margin:22px 0 0; padding-top:14px; border-top:1px solid #e5eaf1; color:#5e6a7e; font-size:12px; line-height:1.5; }
@media(max-width:640px) {
  .ppc-shipping-dialog__header { padding:20px 16px 12px; }
  .ppc-shipping-dialog__header h2 { font-size:22px; }
  .ppc-shipping-dialog__body { padding:0 16px 20px; }
  .ppc-shipping-dialog__benefit { padding:16px; }
  .ppc-shipping-dialog__benefit strong { font-size:18px; }
}


/* Shipping methods are sourced from WooCommerce's calculated cart packages. */
.ppc-shipping-dialog__estimate { margin-top:22px; padding-top:18px; border-top:1px solid #e5eaf1; }
.ppc-shipping-dialog__estimate h3 { margin:0 0 12px; color:#101b33; font-size:17px; line-height:1.3; }
.ppc-shipping-dialog__method-list { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.ppc-shipping-dialog__method-list li {
  display:block; padding:12px 14px; border:1px solid #e0e7f1;
  border-radius:8px; background:#f8fafc; color:#101b33; font-size:14px;
}
.ppc-shipping-dialog__method-list .woocommerce-Price-amount { font-weight:750; }
.ppc-shipping-dialog__calculator { margin-top:18px; }
.ppc-shipping-dialog__calculator .shipping-calculator-button { display:none; }
.ppc-shipping-dialog__calculator .shipping-calculator-form { margin:0; }
.ppc-shipping-dialog__calculator .shipping-calculator-form p { display:block; margin:0 0 12px; }
.ppc-shipping-dialog__calculator .shipping-calculator-form label {
  display:block; margin-bottom:5px; color:#495871; font-size:13px; font-weight:600;
}
.ppc-shipping-dialog__calculator .shipping-calculator-form input,
.ppc-shipping-dialog__calculator .shipping-calculator-form select {
  box-sizing:border-box; display:block; width:100%; max-width:100%; min-height:40px;
  padding:8px 10px; border:1px solid #cdd5df; border-radius:6px;
  background:#fff; color:#101b33; font-size:14px;
}
.ppc-shipping-dialog__calculator .shipping-calculator-form .button {
  padding:10px 17px; border:0; border-radius:6px; background:#101b33;
  color:#fff; font-size:14px; font-weight:750; cursor:pointer;
}
.ppc-shipping-dialog__calculator .shipping-calculator-form .button:hover { background:#273a59; }
.ppc-shipping-dialog__calculator .shipping-calculator-form :focus-visible {
  outline:3px solid #0868f7; outline-offset:2px;
}
.ppc-shipping-dialog__calculator .select2-container { max-width:100%; }


/* Dynamic free Ground milestone from WooCommerce's configured minimum. */
.ppc-free-ground { padding:12px 14px; margin:-3px 0 16px; border:1px solid #e6e3d8; border-radius:6px; background:#fcfbf7; }
.ppc-free-ground > strong { display:block; color:#1e734b; font-size:13px; line-height:1.4; font-weight:750; }
.ppc-free-ground__track { display:block; width:100%; height:6px; margin:9px 0 8px; overflow:hidden; border-radius:12px; background:#e3e6db; }
.ppc-free-ground__track > span { display:block; height:100%; border-radius:12px; background:#208653; }
.ppc-free-ground small { display:block; color:#58636c; font-size:11px; line-height:1.45; }

.ppc-coupon { display:grid; grid-template-columns:minmax(0,1fr) 114px; gap:10px; padding:20px 0 21px; border-bottom:1px solid #deded9; }
.ppc-coupon input { min-width:0; height:48px; padding:0 14px; border:1px solid #d4d4cf; border-radius:3px; background:#fff; outline:0; font-size:14px; }
.ppc-coupon input:focus { border-color:#0a1424; }
.ppc-coupon button { height:48px; border:1px solid #bfc0bc; border-radius:3px; background:#faf9f6; color:#101722; font-size:12px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; cursor:pointer; }
.ppc-summary__total { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:16px 0 16px; font-size:21px; font-weight:800; }
.ppc-summary__total strong { font-size:23px; }
.ppc-native-checkout .checkout-button { display:flex!important; align-items:center; justify-content:center; gap:18px; min-height:64px; width:100%; margin:0!important; padding:0 24px!important; background:#050505!important; color:#fff!important; border:0!important; border-radius:3px!important; box-shadow:none!important; font-size:15px!important; font-weight:800!important; letter-spacing:.15em; line-height:1!important; text-transform:uppercase; transition:transform .16s ease, opacity .16s ease; }
.ppc-native-checkout .checkout-button:hover { transform:translateY(-1px); opacity:.92; background:#050505!important; color:#fff!important; }
.ppc-express { margin-top:16px; text-align:center; }
.ppc-express > span { display:block; margin-bottom:10px; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:#4a5059; }
.ppc-express__content > * { margin-top:8px; }
.ppc-trust-list { display:grid; gap:19px; margin-top:24px; }
.ppc-trust-item { display:grid; grid-template-columns:34px minmax(0,1fr); gap:14px; align-items:center; }
.ppc-trust-item svg { width:30px; height:30px; fill:none; stroke:#0a1424; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.ppc-trust-item strong { display:block; font-size:13px; line-height:1.2; }
.ppc-trust-item span { display:block; margin-top:3px; font-size:12px; color:#3f4752; line-height:1.25; }
.ppc-update-cart { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.ppc-empty-cart { max-width:760px; margin-top:40px; padding:50px 0 90px; border-top:1px solid #d7d7d2; }
.ppc-empty-cart h2 { margin:0; font-size:34px; }
.ppc-empty-cart p { max-width:580px; margin:10px 0 24px; color:#4a515a; }
.ppc-primary-button { display:inline-flex; min-height:54px; padding:0 28px; align-items:center; gap:16px; background:#050505; color:#fff; text-transform:uppercase; font-weight:800; font-size:13px; letter-spacing:.12em; }

.ppc-recommendations { margin-top:0; padding:29px 0 42px; background:#f2f0e9; border-top:1px solid #eeece5; }
.ppc-recommendations__header { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; }
.ppc-recommendations__header .ppc-eyebrow { margin-bottom:8px; }
.ppc-recommendations__header h2 { margin:0; font-size:34px; line-height:1; letter-spacing:-1.8px; text-transform:uppercase; font-weight:900; }
.ppc-recommendations__arrows { display:flex; gap:10px; }
.ppc-recommendations__arrows button { display:grid; place-items:center; width:45px; height:45px; border-radius:50%; border:1px solid #c9c9c4; background:transparent; color:#0a1424; font-size:19px; cursor:pointer; }
.ppc-recommendations__arrows button:last-child { border-color:#8a8c8c; }
.ppc-rec-track { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(310px,1fr); grid-template-rows:1fr; gap:26px; margin-top:18px; overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:none; scroll-snap-type:x mandatory; }
.ppc-rec-track::-webkit-scrollbar { display:none; }
.ppc-rec-card { scroll-snap-align:start; }
.ppc-rec-card__image { display:block; aspect-ratio:2.15/1; overflow:hidden; border-radius:3px; background:#ddd; }
.ppc-rec-card__image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.ppc-rec-card:hover .ppc-rec-card__image img { transform:scale(1.025); }
.ppc-rec-card__meta { display:flex; justify-content:space-between; gap:16px; padding-top:9px; font-size:13px; }
.ppc-rec-card__name { font-weight:700; }
.ppc-rec-card__price { white-space:nowrap; font-weight:700; }

body.woocommerce-cart .woocommerce-notices-wrapper { margin-bottom:18px; }
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error {
  margin:0 0 18px;
  padding:14px 18px;
  border:1px solid #d9d9d4;
  border-radius:4px;
  background:#fff;
  color:#0a1424;
  list-style:none;
}

/* Reserve dedicated space for WooCommerce notice icons so quantities such as
   "2 ×" can never sit underneath the success checkmark. */
body.woocommerce-cart .woocommerce-message {
  position:relative;
  min-height:54px;
  padding:14px 18px 14px 54px !important;
  line-height:24px;
}
body.woocommerce-cart .woocommerce-message::before {
  content:"✓" !important;
  position:absolute !important;
  left:18px !important;
  top:50% !important;
  width:22px !important;
  height:22px !important;
  margin:0 !important;
  transform:translateY(-50%) !important;
  display:grid !important;
  place-items:center !important;
  border-radius:50% !important;
  background:#78a915 !important;
  color:#fff !important;
  font-family:Arial,sans-serif !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1 !important;
}
body.woocommerce-cart .woocommerce-message .button.wc-forward {
  float:right;
  margin:0 0 0 20px;
  color:#0a1424;
  font-weight:700;
  line-height:24px;
}
@media (max-width:640px) {
  body.woocommerce-cart .woocommerce-message {
    padding:13px 14px 13px 48px !important;
    line-height:1.45;
  }
  body.woocommerce-cart .woocommerce-message::before {
    left:14px !important;
    width:20px !important;
    height:20px !important;
    font-size:12px !important;
  }
  body.woocommerce-cart .woocommerce-message .button.wc-forward {
    float:none;
    display:block;
    width:max-content;
    margin:8px 0 0;
  }
}

@media (max-width:1180px) {
  .ppc-shell { width:min(calc(100% - 64px),1360px); }
  .ppc-cart-form { grid-template-columns:minmax(0,1fr) 390px; gap:36px; }
  .ppc-cart-item { grid-template-columns:220px minmax(0,1fr) 110px; gap:24px; }
  .ppc-cart-item__image { width:220px; height:142px; }
  body.woocommerce-cart .pp-nav__list { gap:24px; }
}

@media (max-width:900px) {
  .ppc-shell { width:min(calc(100% - 36px),1360px); }
  .ppc-cart-section { padding-top:30px; }
  .ppc-cart-main > h1 { font-size:64px; letter-spacing:-3.8px; }
  .ppc-subtitle { margin-bottom:28px; }
  .ppc-cart-form { grid-template-columns:1fr; gap:28px; }
  .ppc-summary { grid-column:1; grid-row:auto; position:relative; top:auto; margin-top:4px; }
  .ppc-continue { grid-row:auto; margin-top:-8px; }
  .ppc-cart-main { min-height:0; }
  .ppc-recommendations { margin-top:36px; }
}

@media (max-width:640px) {
  .ppc-shell { width:min(calc(100% - 28px),1360px); }
  .ppc-eyebrow { font-size:10px; }
  .ppc-cart-main > h1 { font-size:52px; letter-spacing:-3px; }
  .ppc-subtitle { margin-top:12px; font-size:15px; }
  .ppc-cart-item { grid-template-columns:112px minmax(0,1fr); gap:16px; min-height:0; padding:18px 0; align-items:start; }
  .ppc-cart-item__image { width:112px; height:92px; }
  .ppc-cart-item__details { padding-top:1px; }
  .ppc-cart-item__details h2 { font-size:16px; }
  .ppc-byline { font-size:12px; }
  .ppc-item-meta { margin-top:8px; }
  .ppc-item-meta dl.variation { grid-template-columns:74px 1fr; gap:4px 8px; font-size:11px; }
  .ppc-item-meta dl.variation dt { font-size:9px; }
  .ppc-cart-item__purchase { grid-column:1 / -1; display:grid; grid-template-columns:112px 1fr auto; align-items:center; gap:16px; padding:0; }
  .ppc-item-price { font-size:17px; }
  .ppc-quantity { margin:0; justify-self:start; }
  .ppc-remove { margin:0; justify-self:end; }
  .ppc-summary { padding:25px 20px; }
  .ppc-summary__row { font-size:13px; }
  .ppc-summary__total { font-size:19px; }
  .ppc-summary__total strong { font-size:21px; }
  .ppc-checkout { min-height:58px; }
  .ppc-coupon { grid-template-columns:1fr 92px; }
  .ppc-recommendations__header h2 { font-size:28px; }
  .ppc-recommendations__arrows { display:none; }
  .ppc-rec-track { grid-auto-columns:82%; gap:14px; }
}

/* Configurable cart upsell offer */
.ppc-cart-offer{
  grid-column:1;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.75fr);
  gap:28px;
  min-height:248px;
  margin-top:20px;
  padding:28px 24px 24px;
  overflow:hidden;
  border:1px solid #ddcfbd;
  border-radius:8px;
  background:
    radial-gradient(circle at 84% 28%,rgba(205,151,75,.10),transparent 28%),
    linear-gradient(135deg,#fbfaf6 0%,#f7f2e9 100%);
  box-shadow:0 10px 28px rgba(36,31,23,.035);
}
.ppc-cart-offer__copy{min-width:0}
.ppc-cart-offer__eyebrow{
  display:block;
  margin-bottom:12px;
  color:#bd7625;
  font-size:11px;
  font-weight:800;
  line-height:1;
  letter-spacing:.28em;
  text-transform:uppercase
}
.ppc-cart-offer h2{
  margin:0;
  max-width:640px;
  color:#0a1424;
  font-size:clamp(27px,2.55vw,39px);
  line-height:1.02;
  letter-spacing:-1.65px;
  font-weight:900
}
.ppc-cart-offer p{
  max-width:650px;
  margin:8px 0 17px;
  color:#4a5260;
  font-size:14px;
  line-height:1.45
}
.ppc-cart-offer__meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  max-width:520px
}
.ppc-cart-offer__meta-card{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:12px;
  align-items:center;
  min-height:62px;
  padding:10px 13px;
  border:1px solid #dfdcd5;
  border-radius:6px;
  background:rgba(255,255,255,.58)
}
.ppc-cart-offer__meta-card svg{
  width:29px;
  height:29px;
  fill:none;
  stroke:#0a1424;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round
}
.ppc-cart-offer__meta-card span{display:grid}
.ppc-cart-offer__meta-card small{
  color:#6b7079;
  font-size:11px;
  line-height:1.1
}
.ppc-cart-offer__meta-card strong{
  margin-top:2px;
  color:#0a1424;
  font-size:13px;
  line-height:1.15
}
.ppc-cart-offer__discount-list{
  display:grid;
  gap:7px;
  max-width:520px;
  margin-top:14px
}
.ppc-cart-offer__discount-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:7px 14px;
  padding:9px 12px;
  border:1px solid #cbdccc;
  border-radius:6px;
  background:rgba(255,255,255,.68);
  color:#153e2d;
  font-size:13px
}
.ppc-cart-offer__discount-item span{min-width:0;overflow-wrap:anywhere}
.ppc-cart-offer__discount-item small{margin-left:5px;color:#537361;font-size:11px}
.ppc-cart-offer__discount-item>strong{white-space:nowrap}
.ppc-cart-offer__progress{
  width:min(100%,520px);
  height:10px;
  margin-top:17px;
  overflow:hidden;
  border-radius:999px;
  background:#dfddd7
}
.ppc-cart-offer__progress span{
  display:block;
  height:100%;
  min-width:8px;
  border-radius:inherit;
  background:linear-gradient(90deg,#c7842f,#dda35b)
}
.ppc-cart-offer--unlocked .ppc-cart-offer__progress span{
  background:linear-gradient(90deg,#2b7048,#4a9568)
}
.ppc-cart-offer__progress-label{
  margin-top:6px;
  color:#616875;
  font-size:12px
}
.ppc-cart-offer__action{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:stretch;
  position:relative;
  min-width:0;
  padding-top:108px
}
.ppc-cart-offer__art{
  position:absolute;
  top:1px;
  left:50%;
  width:190px;
  height:128px;
  transform:translateX(-50%)
}
.ppc-cart-offer__art-card{
  position:absolute;
  display:block;
  width:105px;
  height:118px;
  padding:5px 5px 12px;
  background:#fff;
  border:1px solid rgba(12,20,34,.08);
  box-shadow:0 8px 16px rgba(20,21,22,.17)
}
.ppc-cart-offer__art-card img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover
}
.ppc-cart-offer__art-card--1{
  left:18px;
  top:2px;
  transform:rotate(-5deg)
}
.ppc-cart-offer__art-card--2{
  right:10px;
  top:14px;
  transform:rotate(7deg)
}
.ppc-cart-offer__art i{
  position:absolute;
  z-index:3;
  width:15px;
  height:3px;
  border-radius:999px;
  background:#c8842f
}
.ppc-cart-offer__art i:nth-of-type(1){right:-4px;top:8px;transform:rotate(-71deg)}
.ppc-cart-offer__art i:nth-of-type(2){right:-14px;top:25px;transform:rotate(-42deg)}
.ppc-cart-offer__art i:nth-of-type(3){right:-18px;top:45px;transform:rotate(-5deg)}
.ppc-cart-offer__button{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:15px;
  min-height:52px;
  width:100%;
  border-radius:3px;
  background:#071326;
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.17em;
  text-transform:uppercase;
  transition:transform .16s ease,opacity .16s ease
}
.ppc-cart-offer__button:hover{transform:translateY(-1px);opacity:.93}
.ppc-cart-offer__button span{
  font-size:23px;
  font-weight:300;
  line-height:1
}
.ppc-cart-offer__action>small{
  display:block;
  margin-top:8px;
  color:#606875;
  font-size:10px;
  line-height:1.35;
  text-align:center
}
.ppc-cart-offer--unlocked{
  border-color:#cbdccc;
  background:
    radial-gradient(circle at 84% 28%,rgba(63,137,87,.10),transparent 28%),
    linear-gradient(135deg,#fafcf9 0%,#f0f7f2 100%)
}
.ppc-cart-offer--unlocked .ppc-cart-offer__eyebrow{color:#387651}
.ppc-cart-offer--unlocked .ppc-cart-offer__button{background:#173c2b}

@media(max-width:1180px){
  .ppc-cart-offer{grid-template-columns:minmax(0,1fr) 240px;gap:18px}
  .ppc-cart-offer h2{font-size:31px}
  .ppc-cart-offer__meta{grid-template-columns:1fr}
  .ppc-cart-offer__action{padding-top:114px}
}
@media(max-width:900px){
  .ppc-cart-offer{grid-column:1;grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr)}
  .ppc-summary{grid-row:auto}
}
@media(max-width:640px){
  .ppc-cart-offer{
    grid-template-columns:1fr;
    gap:20px;
    padding:22px 18px 20px;
    min-height:0
  }
  .ppc-cart-offer h2{font-size:29px;letter-spacing:-1.2px}
  .ppc-cart-offer p{font-size:13px}
  .ppc-cart-offer__meta{grid-template-columns:1fr 1fr}
  .ppc-cart-offer__meta-card{grid-template-columns:29px 1fr;padding:9px}
  .ppc-cart-offer__meta-card svg{width:23px;height:23px}
  .ppc-cart-offer__meta-card strong{font-size:11px}
  .ppc-cart-offer__action{padding-top:112px}
  .ppc-cart-offer__art{width:175px}
  .ppc-cart-offer__button{min-height:50px}
}

/* Mobile cart hardening */
@media (max-width:900px){
  body.woocommerce-cart,
  .ppc-page{overflow-x:clip}
  .ppc-cart-form{
    display:flex;
    flex-direction:column;
    gap:22px;
    min-width:0
  }
  .ppc-cart-items-form{order:1;min-width:0;width:100%}
  .ppc-cart-items{min-width:0}
  .ppc-cart-offer{order:2;min-width:0}
  .ppc-summary{
    order:3;
    width:100%;
    min-width:0;
    box-sizing:border-box;
    margin-top:0
  }
  .ppc-continue{
    order:4;
    margin-top:0;
    min-height:44px;
    align-items:center
  }
  .ppc-update-cart{order:5}
  .ppc-coupon input,
  .ppc-coupon button,
  .ppc-native-checkout .checkout-button,
  .ppc-cart-offer__button{min-height:48px}
  .ppc-express,
  .ppc-express__content,
  .ppc-express__content>*{max-width:100%;min-width:0}
  .ppc-express__content iframe{max-width:100%!important}
}

@media (max-width:640px){
  .ppc-cart-section{padding-top:24px}
  .ppc-cart-main>h1{
    font-size:clamp(44px,14vw,54px);
    line-height:.92;
    letter-spacing:-2.7px
  }
  .ppc-subtitle{
    margin-bottom:20px;
    max-width:34ch;
    line-height:1.45
  }
  .ppc-cart-item{
    grid-template-columns:104px minmax(0,1fr);
    gap:14px;
    padding:17px 0 18px
  }
  .ppc-cart-item__image{
    width:104px;
    height:104px;
    border-radius:4px
  }
  .ppc-cart-item__details{min-width:0}
  .ppc-cart-item__details h2{
    overflow-wrap:anywhere;
    font-size:16px;
    line-height:1.16
  }
  .ppc-item-meta dl.variation{
    grid-template-columns:68px minmax(0,1fr);
    gap:5px 8px;
    min-width:0
  }
  .ppc-item-meta dl.variation dd,
  .ppc-item-meta dl.variation dd p{
    min-width:0;
    overflow-wrap:anywhere
  }
  .ppc-cart-item__purchase{
    grid-column:1/-1;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:10px 12px;
    width:100%;
    min-width:0;
    padding-top:1px
  }
  .ppc-item-price{font-size:17px}
  .ppc-quantity{
    grid-template-columns:38px 42px 38px;
    height:44px;
    margin:0;
    flex:0 0 auto
  }
  .ppc-qty-btn{
    min-width:38px;
    min-height:44px;
    touch-action:manipulation
  }
  .ppc-qty-input{
    width:42px;
    min-height:44px;
    font-size:16px
  }
  .ppc-remove{
    display:inline-flex;
    align-items:center;
    min-height:44px;
    margin:0;
    padding-inline:2px;
    font-size:12px
  }
  .ppc-cart-offer{
    gap:16px;
    margin-top:4px;
    padding:20px 16px 18px
  }
  .ppc-cart-offer__eyebrow{margin-bottom:10px}
  .ppc-cart-offer h2{
    font-size:clamp(27px,8.6vw,34px);
    line-height:1.02;
    letter-spacing:-1.35px
  }
  .ppc-cart-offer p{
    margin-bottom:14px;
    font-size:13px
  }
  .ppc-cart-offer__meta{
    grid-template-columns:1fr;
    gap:8px;
    max-width:none
  }
  .ppc-cart-offer__meta-card{
    grid-template-columns:30px minmax(0,1fr);
    min-height:56px;
    gap:10px;
    padding:9px 11px
  }
  .ppc-cart-offer__meta-card svg{width:24px;height:24px}
  .ppc-cart-offer__meta-card small{font-size:10px}
  .ppc-cart-offer__meta-card strong{font-size:12px}
  .ppc-cart-offer__progress{
    width:100%;
    margin-top:14px
  }
  .ppc-cart-offer__action{
    min-height:176px;
    padding-top:116px
  }
  .ppc-cart-offer__art{
    top:0;
    width:164px;
    height:118px
  }
  .ppc-cart-offer__art-card{
    width:92px;
    height:108px
  }
  .ppc-cart-offer__button{
    min-height:52px;
    font-size:11px
  }
  .ppc-summary{
    padding:22px 18px 20px;
    border-radius:7px
  }
  .ppc-summary__eyebrow{margin-bottom:18px}
  .ppc-summary__row{
    align-items:flex-start;
    gap:12px;
    font-size:13px
  }
  .ppc-summary__row>span{min-width:0}
  .ppc-summary__row strong{
    max-width:56%;
    text-align:right;
    white-space:normal
  }
  .ppc-coupon{
    grid-template-columns:minmax(0,1fr) 88px;
    gap:8px;
    padding:17px 0 18px
  }
  .ppc-coupon input{
    width:100%;
    min-width:0;
    padding-inline:12px;
    font-size:16px
  }
  .ppc-coupon button{
    width:88px;
    padding:0 8px;
    font-size:11px
  }
  .ppc-summary__total{
    padding:15px 0;
    font-size:19px
  }
  .ppc-summary__total strong{font-size:21px}
  .ppc-native-checkout .checkout-button{
    min-height:56px!important;
    font-size:13px!important
  }
  .ppc-express>span{margin-top:2px}
  .ppc-trust-list{
    gap:16px;
    margin-top:21px
  }
  .ppc-trust-item{
    grid-template-columns:30px minmax(0,1fr);
    gap:12px
  }
  .ppc-trust-item svg{width:27px;height:27px}
  .ppc-continue{
    width:100%;
    justify-content:flex-start;
    margin-bottom:6px
  }
  .ppc-recommendations{
    margin-top:24px;
    padding:25px 0 34px
  }
  .ppc-recommendations__header h2{
    max-width:290px;
    font-size:26px;
    line-height:1.02
  }
  .ppc-rec-track{
    grid-auto-columns:min(82vw,310px);
    gap:13px;
    margin-top:15px
  }
  .ppc-rec-card__meta{
    align-items:flex-start;
    font-size:12px
  }
  .ppc-rec-card__name{
    min-width:0;
    overflow-wrap:anywhere
  }
}

@media (max-width:360px){
  .ppc-shell{width:calc(100% - 22px)}
  .ppc-cart-main>h1{font-size:43px}
  .ppc-cart-item{
    grid-template-columns:92px minmax(0,1fr);
    gap:12px
  }
  .ppc-cart-item__image{width:92px;height:92px}
  .ppc-cart-item__purchase{gap:8px}
  .ppc-quantity{grid-template-columns:36px 40px 36px}
  .ppc-qty-btn{min-width:36px}
  .ppc-qty-input{width:40px}
  .ppc-coupon{grid-template-columns:1fr}
  .ppc-coupon button{width:100%}
  .ppc-summary__row strong{max-width:52%}
  .ppc-cart-offer{padding-inline:14px}
  .ppc-rec-track{grid-auto-columns:84vw}
}

@media (hover:none) and (pointer:coarse){
  .ppc-native-checkout .checkout-button:hover,
  .ppc-cart-offer__button:hover,
  .ppc-rec-card:hover .ppc-rec-card__image img{transform:none}
}


/* Keep the cart footer identical to the homepage footer. */
body.woocommerce-cart .pp-footer{
  color:var(--pp-text);
  background:#0d1316;
  border-top:1px solid rgba(255,255,255,.08)
}
body.woocommerce-cart .pp-footer .pp-wordmark{
  color:#fff;
  font-size:28px;
  font-weight:900;
  letter-spacing:-1.2px
}
body.woocommerce-cart .pp-footer__brand p{color:#d4d9dc}
body.woocommerce-cart .pp-footer__brand small,
body.woocommerce-cart .pp-footer__signup span{color:#aeb7bc}
body.woocommerce-cart .pp-footer__col strong,
body.woocommerce-cart .pp-footer__signup strong{color:#fff}
body.woocommerce-cart .pp-footer__col a{color:#cbd1d5}
body.woocommerce-cart .pp-footer__col a:hover{color:#fff}
body.woocommerce-cart .pp-footer__signup input{color:#111}
body.woocommerce-cart .pp-footer__signup button{color:#111}
@media(max-width:640px){
  body.woocommerce-cart .pp-footer .pp-wordmark{font-size:23px}
}


/* Native WooCommerce express checkout integrations */
.ppc-native-checkout{width:100%}
.ppc-express__content{
  position:relative;
  z-index:2;
  pointer-events:auto;
}
.ppc-express__content button,
.ppc-express__content a,
.ppc-express__content iframe,
.ppc-express__content [role="button"]{
  pointer-events:auto;
}

.ppc-summary.cart_totals{float:none!important;width:auto!important}
.ppc-native-checkout.wc-proceed-to-checkout{width:100%;margin:0!important;padding:0!important}
.ppc-native-checkout .checkout-button::after{
  content:"→";
  display:inline-block;
  margin-left:18px;
  font-size:28px;
  font-weight:300;
  line-height:1;
  transform:translateY(-1px)
}
