/* ========================================================================== 
   Need Kala — Cart System
   One coherent classic/block cart layout. Desktop uses a two-column purchase
   workspace; mobile converts every line item to an intentional product card.
   ========================================================================== */

body.papillon-cart-screen{
  --cart-line:#d9e4e6;
  --cart-line-soft:#e9eff0;
  --cart-surface:#fff;
  --cart-surface-soft:#f7fbfb;
  --cart-ink:#102f38;
  --cart-text:#3d5960;
  /* #77898d measured 3.10:1 on the cart's tinted row surface (#eff0eb) and 3.65:1
     on white; the cart's table headers and shipping note are 11.5px text. */
  --cart-muted:#55686c;
  --cart-accent:#0e6266;
  --cart-accent-strong:#09526a;
  --cart-gold:#ae8f5c;
  --cart-radius:20px;
  --cart-shadow:0 16px 44px rgba(9,82,106,.07);
}

body.papillon-cart-screen .cart-page-shell{
  width:min(1180px,calc(100% - 40px));
  padding-block-start:clamp(24px,3vw,40px)!important;
  padding-block-end:clamp(72px,7vw,104px)!important;
}

/* ---------- compact premium page hero ---------- */
body.papillon-cart-screen .papillon-cart-hero{
  position:relative;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:28px!important;
  min-height:0!important;
  margin:0 0 22px!important;
  padding:24px 28px!important;
  overflow:hidden;
  border:1px solid var(--cart-line)!important;
  border-radius:24px!important;
  background:
    radial-gradient(circle at 92% 18%,rgba(174,143,92,.11),transparent 28%),
    linear-gradient(135deg,#fbfdfd 0%,#fff 58%,#f7fbfa 100%)!important;
  box-shadow:0 10px 32px rgba(9,82,106,.045)!important;
}
body.papillon-cart-screen .papillon-cart-hero::after{
  position:absolute;
  inset-block-start:-76px;
  inset-inline-start:-58px;
  width:190px;
  height:190px;
  border:28px solid rgba(14,98,102,.035);
  border-radius:50%;
  content:"";
  pointer-events:none;
}
body.papillon-cart-screen .papillon-cart-hero>div{position:relative;z-index:1;min-width:0;}
body.papillon-cart-screen .papillon-cart-hero .eyebrow{
  margin:0 0 4px!important;
  color:var(--cart-accent)!important;
  font-size:11.5px!important;
  font-weight:850!important;
}
body.papillon-cart-screen .papillon-cart-hero h1{
  margin:0!important;
  color:var(--cart-ink)!important;
  font-size:clamp(25px,2.6vw,34px)!important;
  font-weight:950!important;
  line-height:1.45!important;
}
body.papillon-cart-screen .papillon-cart-hero>div>p:last-child{
  max-width:610px;
  margin:5px 0 0!important;
  color:var(--cart-muted)!important;
  font-size:11.5px!important;
  line-height:1.95!important;
}

body.papillon-cart-screen .papillon-cart-hero .checkout-progress{
  position:relative;
  z-index:1;
  display:flex!important;
  width:auto!important;
  min-width:360px;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  list-style:none!important;
}
body.papillon-cart-screen .papillon-cart-hero .checkout-progress li{
  display:inline-flex!important;
  min-width:0!important;
  min-height:40px!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  margin:0!important;
  padding:7px 10px!important;
  border:1px solid var(--cart-line)!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.72)!important;
  color:var(--cart-muted)!important;
  font-size:11.5px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
body.papillon-cart-screen .papillon-cart-hero .checkout-progress li::before,
body.papillon-cart-screen .papillon-cart-hero .checkout-progress li::after{display:none!important;content:none!important;}
body.papillon-cart-screen .papillon-cart-hero .checkout-progress li>span{
  display:grid!important;
  width:22px!important;
  height:22px!important;
  flex:0 0 22px!important;
  place-items:center!important;
  margin:0!important;
  border-radius:7px!important;
  background:#edf4f4!important;
  color:var(--cart-accent)!important;
  font-size:11.5px!important;
  font-weight:900!important;
}
body.papillon-cart-screen .papillon-cart-hero .checkout-progress li.is-current{
  border-color:rgba(14,98,102,.22)!important;
  background:#edf7f6!important;
  color:var(--cart-accent-strong)!important;
}
body.papillon-cart-screen .papillon-cart-hero .checkout-progress li.is-current>span{
  background:var(--cart-accent)!important;
  color:#fff!important;
}

/* ---------- overall purchase workspace ---------- */
body.papillon-cart-screen .papillon-cart-content,
body.papillon-cart-screen .papillon-cart-content>.woocommerce{min-width:0;}

@media(min-width:1025px){
  body.papillon-cart-screen .papillon-cart-content>.woocommerce{
    display:grid;
    grid-template-columns:minmax(320px,360px) minmax(0,1fr);
    grid-template-areas:
      "notices notices"
      "totals cart"
      "cross cross";
    align-items:start;
    gap:22px 24px;
    direction:ltr;
  }
  body.papillon-cart-screen .papillon-cart-content>.woocommerce>.woocommerce-notices-wrapper,
  body.papillon-cart-screen .papillon-cart-content>.woocommerce>.woocommerce-message,
  body.papillon-cart-screen .papillon-cart-content>.woocommerce>.woocommerce-info,
  body.papillon-cart-screen .papillon-cart-content>.woocommerce>ul.woocommerce-error{grid-area:notices;direction:rtl;}
  body.papillon-cart-screen .woocommerce-cart-form{grid-area:cart;direction:rtl;}
  body.papillon-cart-screen .cart-collaterals{display:contents!important;}
  body.papillon-cart-screen .cart-collaterals::before,
  body.papillon-cart-screen .cart-collaterals::after{display:none!important;content:none!important;}
  body.papillon-cart-screen .cart_totals{grid-area:totals;direction:rtl;}
  body.papillon-cart-screen .cross-sells{grid-area:cross;direction:rtl;}
}

/* ---------- classic cart table ---------- */
body.papillon-cart-screen .woocommerce-cart-form{
  min-width:0;
  overflow:hidden;
  border:1px solid var(--cart-line)!important;
  border-radius:var(--cart-radius)!important;
  background:var(--cart-surface)!important;
  box-shadow:var(--cart-shadow)!important;
}
body.papillon-cart-screen .shop_table.cart{
  width:100%!important;
  margin:0!important;
  border:0!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  table-layout:fixed!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.papillon-cart-screen .shop_table.cart thead th{
  padding:15px 12px!important;
  border:0!important;
  border-bottom:1px solid var(--cart-line)!important;
  background:#f8fbfb!important;
  color:#667b80!important;
  font-size:11.5px!important;
  font-weight:850!important;
  line-height:1.6!important;
  white-space:nowrap!important;
}
body.papillon-cart-screen .shop_table.cart thead .product-remove{width:50px;}
body.papillon-cart-screen .shop_table.cart thead .product-thumbnail{width:88px;}
body.papillon-cart-screen .shop_table.cart thead .product-price{width:132px;}
body.papillon-cart-screen .shop_table.cart thead .product-quantity{width:138px;}
body.papillon-cart-screen .shop_table.cart thead .product-subtotal{width:142px;}
body.papillon-cart-screen .shop_table.cart tbody tr.cart_item{position:relative;}
body.papillon-cart-screen .shop_table.cart tbody tr.cart_item td{
  padding:17px 12px!important;
  border:0!important;
  border-bottom:1px solid var(--cart-line-soft)!important;
  background:transparent!important;
  color:var(--cart-text)!important;
  vertical-align:middle!important;
}
body.papillon-cart-screen .shop_table.cart tbody tr.cart_item:last-of-type td{border-bottom-color:var(--cart-line)!important;}

body.papillon-cart-screen .shop_table.cart .product-remove{text-align:center!important;}
body.papillon-cart-screen .shop_table.cart .product-remove a{
  display:inline-grid!important;
  width:34px!important;
  height:34px!important;
  place-items:center!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #efdce2!important;
  border-radius:10px!important;
  background:var(--pap-panel)!important;
  color:#cf3f61!important;
  font-size:16px!important;
  line-height:1!important;
  text-decoration:none!important;
  box-shadow:none!important;
  transition:background-color var(--pap-motion-fast) var(--pap-ease),border-color var(--pap-motion-fast) var(--pap-ease),transform var(--pap-motion-fast) var(--pap-ease)!important;
}
@media(hover:hover){
  body.papillon-cart-screen .shop_table.cart .product-remove a:hover{border-color:#e9bdc9!important;background:#fff4f7!important;transform:translateY(-1px);}
}

body.papillon-cart-screen .shop_table.cart .product-thumbnail a{
  display:block!important;
  width:70px!important;
  height:70px!important;
  margin-inline:auto!important;
  overflow:hidden!important;
  border:1px solid var(--cart-line-soft)!important;
  border-radius:15px!important;
  background:var(--pap-panel)!important;
}
body.papillon-cart-screen .shop_table.cart .product-thumbnail img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  object-fit:contain!important;
}
body.papillon-cart-screen .shop_table.cart .product-name{min-width:0!important;font-weight:800!important;}
body.papillon-cart-screen .shop_table.cart .product-name>a{
  display:block;
  color:var(--cart-ink)!important;
  font-size:11.5px!important;
  font-weight:900!important;
  line-height:1.8!important;
  text-decoration:none!important;
  overflow-wrap:anywhere;
}
body.papillon-cart-screen .shop_table.cart .variation{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  gap:2px 7px!important;
  margin:6px 0 0!important;
  color:var(--cart-muted)!important;
  font-size:11.5px!important;
  font-weight:600!important;
  line-height:1.7!important;
}
body.papillon-cart-screen .shop_table.cart .variation :where(dt,dd,p){margin:0!important;padding:0!important;}
body.papillon-cart-screen .shop_table.cart :where(.product-price,.product-subtotal){
  color:var(--cart-text)!important;
  font-size:11.5px!important;
  font-weight:800!important;
  line-height:1.7!important;
  white-space:nowrap!important;
}
body.papillon-cart-screen .shop_table.cart .product-subtotal{color:var(--cart-accent-strong)!important;font-weight:900!important;}
body.papillon-cart-screen .shop_table.cart :where(.product-price,.product-subtotal) .amount{white-space:nowrap!important;}

/* quantity */
body.papillon-cart-screen .shop_table.cart .quantity.pap-cart-quantity{
  display:grid!important;
  grid-template-columns:36px 48px 36px!important;
  grid-template-areas:"minus input plus"!important;
  width:120px!important;
  min-width:120px!important;
  max-width:120px!important;
  height:42px!important;
  margin:0 auto!important;
  overflow:hidden!important;
  border:1px solid #ccd9db!important;
  border-radius:12px!important;
  background:var(--pap-panel)!important;
  direction:ltr!important;
  box-shadow:none!important;
}
body.papillon-cart-screen .shop_table.cart .quantity.pap-cart-quantity .qty{
  grid-area:input!important;
  width:100%!important;
  min-width:0!important;
  height:40px!important;
  min-height:40px!important;
  margin:0!important;
  padding:0 3px!important;
  border:0!important;
  border-inline:1px solid #e5ebec!important;
  border-radius:0!important;
  background:var(--pap-panel)!important;
  color:var(--cart-ink)!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:40px!important;
  text-align:center!important;
  box-shadow:none!important;
  -moz-appearance:textfield;
}
body.papillon-cart-screen .shop_table.cart .quantity .qty::-webkit-outer-spin-button,
body.papillon-cart-screen .shop_table.cart .quantity .qty::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;}
body.papillon-cart-screen .pap-cart-quantity-button{
  position:static!important;
  display:grid!important;
  width:100%!important;
  min-width:0!important;
  height:40px!important;
  min-height:40px!important;
  place-items:center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#f6fafa!important;
  color:var(--cart-accent)!important;
  font-size:16px!important;
  font-weight:900!important;
  line-height:1!important;
  box-shadow:none!important;
}
body.papillon-cart-screen .pap-cart-quantity-button.is-minus{grid-area:minus!important;}
body.papillon-cart-screen .pap-cart-quantity-button.is-plus{grid-area:plus!important;}
body.papillon-cart-screen .pap-cart-quantity-button:disabled{color:#adbbbe!important;cursor:not-allowed!important;}
@media(hover:hover){body.papillon-cart-screen .pap-cart-quantity-button:hover:not(:disabled){background:#eaf4f3!important;color:var(--cart-accent-strong)!important;}}

/* ---------- action row ---------- */
body.papillon-cart-screen .shop_table.cart tbody>tr:not(.cart_item){display:table-row!important;}
body.papillon-cart-screen .shop_table.cart td.actions{
  display:table-cell!important;
  width:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:17px 18px!important;
  border:0!important;
  background:#fbfdfd!important;
  text-align:initial!important;
  vertical-align:middle!important;
  white-space:normal!important;
}
body.papillon-cart-screen .shop_table.cart td.actions::before,
body.papillon-cart-screen .shop_table.cart td.actions::after{display:none!important;content:none!important;}
body.papillon-cart-screen .shop_table.cart .coupon{
  display:inline-flex!important;
  width:min(440px,52%)!important;
  min-width:320px!important;
  align-items:stretch!important;
  gap:8px!important;
  margin:0!important;
  float:right!important;
  direction:rtl!important;
}
body.papillon-cart-screen .shop_table.cart .coupon label{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;}
body.papillon-cart-screen .shop_table.cart .coupon .input-text{
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  min-height:44px!important;
  margin:0!important;
  padding:9px 12px!important;
  border:1px solid #cfdadd!important;
  border-radius:11px!important;
  background:var(--pap-panel)!important;
  color:var(--cart-ink)!important;
  font-size:11.5px!important;
  box-shadow:none!important;
}
body.papillon-cart-screen .shop_table.cart .actions :is(.button,.pap-cart-continue-shopping){
  display:inline-flex!important;
  min-width:118px!important;
  min-height:44px!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:9px 13px!important;
  border:1px solid var(--cart-line)!important;
  border-radius:11px!important;
  background:var(--pap-panel)!important;
  color:var(--cart-accent-strong)!important;
  font-size:11.5px!important;
  font-weight:850!important;
  line-height:1.45!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}
body.papillon-cart-screen .shop_table.cart .coupon .button{
  flex:0 0 108px!important;
  min-width:108px!important;
  border-color:transparent!important;
  background:var(--cart-accent)!important;
  color:#fff!important;
}
body.papillon-cart-screen .shop_table.cart .pap-cart-continue-shopping,
body.papillon-cart-screen .shop_table.cart button[name="update_cart"]{float:left!important;margin-inline-start:8px!important;}
body.papillon-cart-screen .shop_table.cart button[name="update_cart"]{background:#eff5f5!important;color:var(--cart-accent-strong)!important;}
body.papillon-cart-screen .shop_table.cart button[name="update_cart"]:disabled{opacity:.55!important;cursor:not-allowed!important;}

/* ---------- order summary ---------- */
body.papillon-cart-screen .cart_totals,
body.papillon-cart-screen .cross-sells{
  min-width:0!important;
  border:1px solid var(--cart-line)!important;
  border-radius:var(--cart-radius)!important;
  background:var(--cart-surface)!important;
  box-shadow:var(--cart-shadow)!important;
}
body.papillon-cart-screen .cart_totals{
  position:sticky!important;
  inset-block-start:132px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:20px!important;
  float:none!important;
  background:linear-gradient(180deg,#fff 0%,#f8fbfa 100%)!important;
}
body.papillon-cart-screen .cart_totals h2{
  margin:0 0 12px!important;
  padding:0 0 13px!important;
  border-bottom:1px solid var(--cart-line)!important;
  color:var(--cart-ink)!important;
  font-size:17px!important;
  font-weight:950!important;
  line-height:1.6!important;
}
body.papillon-cart-screen .cart_totals table{
  width:100%!important;
  margin:0!important;
  border:0!important;
  border-collapse:collapse!important;
  background:transparent!important;
}
body.papillon-cart-screen .cart_totals table :where(th,td){
  padding:11px 0!important;
  border:0!important;
  border-bottom:1px solid var(--cart-line-soft)!important;
  background:transparent!important;
  font-size:11.5px!important;
  line-height:1.8!important;
  vertical-align:top!important;
}
body.papillon-cart-screen .cart_totals table th{width:38%!important;color:var(--cart-muted)!important;font-weight:750!important;text-align:right!important;}
body.papillon-cart-screen .cart_totals table td{color:var(--cart-text)!important;font-weight:800!important;text-align:left!important;overflow-wrap:anywhere!important;}
body.papillon-cart-screen .cart_totals .order-total :where(th,td){padding-top:15px!important;border-bottom:0!important;color:var(--cart-ink)!important;font-size:12px!important;font-weight:950!important;}
body.papillon-cart-screen .cart_totals .order-total td{color:var(--cart-accent-strong)!important;}
body.papillon-cart-screen .cart_totals :where(.woocommerce-shipping-destination,.woocommerce-shipping-calculator){margin:7px 0 0!important;color:var(--cart-muted)!important;font-size:11.5px!important;line-height:1.85!important;}
body.papillon-cart-screen .cart_totals .shipping-calculator-form{margin-top:10px!important;}
body.papillon-cart-screen .cart_totals .shipping-calculator-form :is(input,select){width:100%!important;min-height:42px!important;margin-bottom:7px!important;border:1px solid var(--cart-line)!important;border-radius:10px!important;background:var(--pap-panel)!important;}
body.papillon-cart-screen .wc-proceed-to-checkout{padding:15px 0 0!important;}
body.papillon-cart-screen .cart_totals .checkout-button{
  display:flex!important;
  width:100%!important;
  min-height:50px!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:10px 14px!important;
  border:0!important;
  border-radius:12px!important;
  background:linear-gradient(135deg,var(--cart-accent),var(--cart-accent-strong))!important;
  color:#fff!important;
  font-size:11.5px!important;
  font-weight:900!important;
  line-height:1.5!important;
  box-shadow:0 10px 24px rgba(9,82,106,.16)!important;
}

body.papillon-cart-screen .cross-sells{padding:20px!important;}
body.papillon-cart-screen .cross-sells>h2{margin:0 0 16px!important;color:var(--cart-ink)!important;font-size:17px!important;font-weight:900!important;}
body.papillon-cart-screen .cross-sells ul.products{margin-bottom:0!important;}

/* ---------- notices ---------- */
body.papillon-cart-screen .papillon-cart-content .woocommerce :where(.woocommerce-message,.woocommerce-info,ul.woocommerce-error){margin:0 0 14px!important;}

/* ---------- block cart compatibility ---------- */
body.papillon-cart-screen .wc-block-components-sidebar-layout{gap:22px!important;}
body.papillon-cart-screen .wc-block-cart__main,
body.papillon-cart-screen .wc-block-cart__sidebar{
  border:1px solid var(--cart-line)!important;
  border-radius:var(--cart-radius)!important;
  background:var(--pap-panel)!important;
  box-shadow:var(--cart-shadow)!important;
}
body.papillon-cart-screen .wc-block-cart__main{padding:0 18px!important;}
body.papillon-cart-screen .wc-block-cart__sidebar{padding:20px!important;}
body.papillon-cart-screen .wc-block-cart-items td{border-bottom-color:var(--cart-line-soft)!important;}
body.papillon-cart-screen .wc-block-components-quantity-selector{border-color:#ccd9db!important;border-radius:12px!important;}
body.papillon-cart-screen .wc-block-cart__submit-button{min-height:50px!important;border-radius:12px!important;background:var(--cart-accent)!important;color:#fff!important;font-weight:900!important;}

/* ---------- empty cart ---------- */
body.papillon-cart-screen .cart-page-shell.is-empty-cart{padding-top:clamp(34px,5vw,68px)!important;padding-bottom:clamp(80px,8vw,116px)!important;}
body.papillon-cart-screen .cart-page-shell.is-empty-cart>.woocommerce,
body.papillon-cart-screen .cart-page-shell.is-empty-cart .papillon-cart-content>.woocommerce{display:block!important;margin:0!important;}
body.papillon-cart-screen .pap-empty-cart{
  position:relative;
  display:flex;
  max-width:780px;
  min-height:430px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  margin:0 auto;
  padding:42px 34px;
  overflow:hidden;
  border:1px solid var(--cart-line);
  border-radius:26px;
  background:linear-gradient(145deg,#fff,#f8fbfb);
  box-shadow:var(--cart-shadow);
  text-align:center;
}
body.papillon-cart-screen .pap-empty-cart::before{position:absolute;inset-inline-start:-90px;inset-block-end:-120px;width:250px;height:250px;border:40px solid rgba(174,143,92,.05);border-radius:50%;content:"";pointer-events:none;}
body.papillon-cart-screen .pap-empty-cart-visual{position:relative;display:grid;width:112px;height:112px;place-items:center;margin-bottom:18px;}
body.papillon-cart-screen .pap-empty-cart-ring{position:absolute;inset:0;border:1px dashed rgba(14,98,102,.18);border-radius:50%;}
body.papillon-cart-screen .pap-empty-cart-icon{position:relative;z-index:1;display:grid;width:78px;height:78px;place-items:center;border:1px solid #d8e5e6;border-radius:24px;background:linear-gradient(145deg,#f9fcfc,#eaf4f4);color:var(--cart-accent);box-shadow:0 12px 28px rgba(9,82,106,.08);}
body.papillon-cart-screen .pap-empty-cart-icon svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
body.papillon-cart-screen .pap-empty-cart-zero{position:absolute;inset-block-start:3px;inset-inline-end:2px;z-index:2;display:grid;width:29px;height:29px;place-items:center;border:3px solid #fff;border-radius:9px;background:var(--cart-gold);color:#fff;font-size:11.5px;font-weight:900;}
body.papillon-cart-screen .pap-empty-cart-copy .eyebrow{margin:0 0 5px!important;color:var(--cart-accent)!important;font-size:11.5px!important;font-weight:850!important;}
body.papillon-cart-screen .pap-empty-cart-copy h2{margin:0!important;color:var(--cart-ink)!important;font-size:23px!important;font-weight:950!important;line-height:1.6!important;}
body.papillon-cart-screen .pap-empty-cart-copy>p:last-child{max-width:560px;margin:7px auto 0!important;color:var(--cart-muted)!important;font-size:11.5px!important;line-height:2!important;}
body.papillon-cart-screen .pap-empty-cart-benefits{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:20px;}
body.papillon-cart-screen .pap-empty-cart-benefits>span{display:inline-flex;min-height:34px;align-items:center;gap:6px;padding:6px 10px;border:1px solid #e0e9ea;border-radius:999px;background:var(--pap-panel);color:#456067;font-size:11.5px;font-weight:700;}
body.papillon-cart-screen .pap-empty-cart-benefits i{display:grid;width:18px;height:18px;place-items:center;border-radius:6px;background:#eaf5f1;color:#14845f;font-size:11.5px;font-style:normal;font-weight:900;}
body.papillon-cart-screen .pap-empty-cart-actions{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:20px;}
body.papillon-cart-screen .woocommerce .pap-empty-cart-primary,
body.papillon-cart-screen .pap-empty-cart-secondary{display:inline-flex;min-height:46px;align-items:center;justify-content:center;margin:0!important;padding:9px 15px;border-radius:11px;font-size:11.5px;font-weight:850;text-decoration:none!important;}
body.papillon-cart-screen .woocommerce .pap-empty-cart-primary{min-width:180px;border:0!important;background:var(--cart-accent)!important;color:#fff!important;box-shadow:0 9px 22px rgba(14,98,102,.15)!important;}
body.papillon-cart-screen .pap-empty-cart-secondary{border:1px solid var(--cart-line);background:var(--pap-panel);color:var(--cart-accent-strong);}

/* ---------- responsive ---------- */
@media(max-width:1024px){
  body.papillon-cart-screen .cart-page-shell{width:min(100% - 28px,880px);}
  body.papillon-cart-screen .papillon-cart-content>.woocommerce{display:block!important;direction:rtl!important;}
  body.papillon-cart-screen .cart-collaterals{display:block!important;margin-top:18px!important;}
  body.papillon-cart-screen .cart_totals{position:static!important;width:100%!important;max-width:none!important;}
  body.papillon-cart-screen .cross-sells{margin-top:18px!important;}
}

@media(max-width:820px){
  body.papillon-cart-screen .papillon-cart-hero{grid-template-columns:1fr!important;gap:16px!important;padding:21px 22px!important;}
  body.papillon-cart-screen .papillon-cart-hero .checkout-progress{width:100%!important;min-width:0!important;justify-content:stretch!important;}
  body.papillon-cart-screen .papillon-cart-hero .checkout-progress li{flex:1 1 0!important;}
  body.papillon-cart-screen .shop_table.cart thead .product-price{width:110px;}
  body.papillon-cart-screen .shop_table.cart thead .product-quantity{width:124px;}
  body.papillon-cart-screen .shop_table.cart thead .product-subtotal{width:120px;}
  body.papillon-cart-screen .shop_table.cart .coupon{width:100%!important;min-width:0!important;margin-bottom:10px!important;float:none!important;}
  body.papillon-cart-screen .shop_table.cart .pap-cart-continue-shopping,
  body.papillon-cart-screen .shop_table.cart button[name="update_cart"]{float:none!important;margin-inline-start:0!important;margin-inline-end:7px!important;}
}

@media(max-width:700px){
  body.papillon-cart-screen .cart-page-shell{width:calc(100% - 20px)!important;padding-top:18px!important;padding-bottom:88px!important;}
  body.papillon-cart-screen .papillon-cart-hero{margin-bottom:13px!important;padding:18px 15px!important;border-radius:18px!important;}
  body.papillon-cart-screen .papillon-cart-hero h1{font-size:24px!important;}
  body.papillon-cart-screen .papillon-cart-hero>div>p:last-child{font-size:11.5px!important;}
  body.papillon-cart-screen .papillon-cart-hero .checkout-progress{gap:5px!important;overflow-x:auto!important;scrollbar-width:none;}
  body.papillon-cart-screen .papillon-cart-hero .checkout-progress::-webkit-scrollbar{display:none;}
  body.papillon-cart-screen .papillon-cart-hero .checkout-progress li{min-width:max-content!important;min-height:36px!important;padding:6px 8px!important;font-size:11.5px!important;}
  body.papillon-cart-screen .papillon-cart-hero .checkout-progress li>span{width:20px!important;height:20px!important;flex-basis:20px!important;}

  body.papillon-cart-screen .woocommerce-cart-form{overflow:visible!important;border:0!important;background:transparent!important;box-shadow:none!important;}
  body.papillon-cart-screen .shop_table.cart,
  body.papillon-cart-screen .shop_table.cart tbody{display:block!important;width:100%!important;}
  body.papillon-cart-screen .shop_table.cart thead{display:none!important;}
  body.papillon-cart-screen .shop_table.cart tbody{display:grid!important;gap:10px!important;}
  body.papillon-cart-screen .shop_table.cart tbody>tr.cart_item{
    display:grid!important;
    width:100%!important;
    grid-template-columns:74px minmax(0,1fr) 34px!important;
    /* The value lines take the full card width. Earlier the subtotal shared the
       last row with the quantity and landed in the 34px remove column, so
       "تومان ۹۹۰,۰۰۰" spilled left out of the card on every phone width. */
    grid-template-areas:
      "thumb name remove"
      "price price price"
      "qty qty qty"
      "subtotal subtotal subtotal"!important;
    gap:0 11px!important;
    margin:0!important;
    padding:12px!important;
    border:1px solid var(--cart-line)!important;
    border-radius:16px!important;
    background:var(--pap-panel)!important;
    box-shadow:0 8px 22px rgba(9,82,106,.045)!important;
  }
  body.papillon-cart-screen .shop_table.cart tbody>tr.cart_item>td{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    text-align:right!important;
  }
  body.papillon-cart-screen .shop_table.cart tbody>tr.cart_item>td::before{float:none!important;margin:0!important;}
  body.papillon-cart-screen .shop_table.cart td.product-thumbnail{grid-area:thumb!important;align-self:start!important;line-height:0!important;font-size:0!important;}
  body.papillon-cart-screen .shop_table.cart td.product-name{grid-area:name!important;padding-inline-end:2px!important;}
  body.papillon-cart-screen .shop_table.cart td.product-name::before{display:none!important;}
  body.papillon-cart-screen .shop_table.cart td.product-remove{grid-area:remove!important;align-self:start!important;text-align:left!important;}
  /* Specificity has to beat the `tbody>tr.cart_item>td` reset above, otherwise
     these cells stay display:block and the label/value pairs stack instead of
     sitting on one line. */
  body.papillon-cart-screen .shop_table.cart tbody>tr.cart_item>td.product-price,
  body.papillon-cart-screen .shop_table.cart tbody>tr.cart_item>td.product-quantity,
  body.papillon-cart-screen .shop_table.cart tbody>tr.cart_item>td.product-subtotal{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    align-items:center!important;
    gap:8px!important;
    min-height:36px!important;
    margin-top:8px!important;
    padding-top:8px!important;
    border-top:1px dashed var(--cart-line)!important;
  }
  body.papillon-cart-screen .shop_table.cart td.product-price{grid-area:price!important;}
  body.papillon-cart-screen .shop_table.cart td.product-quantity{grid-area:qty!important;}
  body.papillon-cart-screen .shop_table.cart td.product-subtotal{grid-area:subtotal!important;}
  body.papillon-cart-screen .shop_table.cart td.product-price>*,
  body.papillon-cart-screen .shop_table.cart td.product-subtotal>*{justify-self:end!important;max-width:100%!important;text-align:left!important;}
  body.papillon-cart-screen .shop_table.cart td.product-quantity .quantity{justify-self:end!important;margin:0!important;}
  body.papillon-cart-screen .shop_table.cart td.product-subtotal .woocommerce-Price-amount{font-weight:800!important;}
  body.papillon-cart-screen .shop_table.cart .product-thumbnail a{width:74px!important;height:74px!important;margin:0!important;border-radius:13px!important;}
  body.papillon-cart-screen .shop_table.cart .product-name>a{padding-inline-end:3px;font-size:11.5px!important;line-height:1.75!important;}
  body.papillon-cart-screen .shop_table.cart .variation{font-size:11.5px!important;}
  body.papillon-cart-screen .shop_table.cart td.product-price::before{content:"قیمت"!important;}
  body.papillon-cart-screen .shop_table.cart td.product-quantity::before{content:"تعداد"!important;}
  body.papillon-cart-screen .shop_table.cart td.product-subtotal::before{content:"جمع"!important;}
  body.papillon-cart-screen .shop_table.cart .product-price::before,
  body.papillon-cart-screen .shop_table.cart .product-quantity::before,
  body.papillon-cart-screen .shop_table.cart .product-subtotal::before{display:block!important;float:none!important;margin:0!important;color:var(--cart-muted)!important;font-size:11.5px!important;font-weight:700!important;text-align:right!important;}
  body.papillon-cart-screen .shop_table.cart .product-price{font-size:11.5px!important;}
  body.papillon-cart-screen .shop_table.cart .product-subtotal{font-size:11.5px!important;}
  body.papillon-cart-screen .shop_table.cart .quantity.pap-cart-quantity{width:106px!important;min-width:106px!important;grid-template-columns:32px 42px 32px!important;height:38px!important;margin:0!important;}
  body.papillon-cart-screen .shop_table.cart .quantity.pap-cart-quantity .qty,
  body.papillon-cart-screen .pap-cart-quantity-button{height:36px!important;min-height:36px!important;line-height:36px!important;}

  body.papillon-cart-screen .shop_table.cart tbody>tr:not(.cart_item){display:block!important;width:100%!important;margin:0!important;padding:0!important;}
  body.papillon-cart-screen .shop_table.cart td.actions{
    display:grid!important;
    width:100%!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    margin:0!important;
    padding:12px!important;
    border:1px solid var(--cart-line)!important;
    border-radius:16px!important;
    background:#f9fcfc!important;
    box-shadow:none!important;
  }
  /* موبایل: کد تخفیف یک ردیف می‌ماند (فیلد + دکمهٔ کوچک) و دو دکمهٔ کمکی
     کنار هم می‌نشینند؛ قبلاً هر چهار عنصر تمام‌عرض روی هم می‌افتادند و
     جعبه بی‌نظم و بلند می‌شد. */
  body.papillon-cart-screen .shop_table.cart .coupon{
    display:grid!important;
    width:100%!important;
    min-width:0!important;
    grid-area:1/1/2/3!important;
    grid-template-columns:minmax(0,1fr) 92px!important;
    gap:7px!important;
    margin:0!important;
    padding:0!important;
    float:none!important;
  }
  /* جای فیلد و دکمهٔ کد تخفیف صریح داده می‌شود: با جای‌گذاری خودکار، لیبل
     پنهان یک خانه می‌گرفت و فیلد کد در ستون باریک می‌افتاد (فیلد ۷۸px و
     دکمه تمام‌عرض). */
  body.papillon-cart-screen .shop_table.cart .coupon .input-text{grid-area:1/1/2/2!important;min-height:44px!important;min-width:0!important;font-size:16px!important;}
  body.papillon-cart-screen .shop_table.cart .coupon .button{grid-area:1/2/2/3!important;width:100%!important;min-width:0!important;flex:none!important;padding-inline:8px!important;}
  body.papillon-cart-screen .shop_table.cart .actions :is(.button,.pap-cart-continue-shopping){width:100%!important;min-width:0!important;min-height:44px!important;margin:0!important;padding-inline:9px!important;float:none!important;white-space:normal!important;}
  /* دو کنش روی یک ردیف: با جای‌گذاری خودکار، خانهٔ خالی ردیف قبل نادیده
     گرفته می‌شود و هر دکمه یک ردیف می‌گرفت (جعبه بلند و به‌هم‌ریخته). */
  body.papillon-cart-screen .shop_table.cart .pap-cart-continue-shopping{grid-area:2/1/3/2!important;}
  body.papillon-cart-screen .shop_table.cart button[name="update_cart"]{grid-area:2/2/3/3!important;}

  body.papillon-cart-screen .cart-collaterals{margin-top:10px!important;}
  body.papillon-cart-screen .cart_totals,
  body.papillon-cart-screen .cross-sells{padding:15px!important;border-radius:16px!important;box-shadow:0 8px 24px rgba(9,82,106,.045)!important;}
  body.papillon-cart-screen .cart_totals h2{font-size:15px!important;}
  body.papillon-cart-screen .cart_totals table :where(th,td){font-size:11.5px!important;}
  body.papillon-cart-screen .cart_totals .checkout-button{min-height:48px!important;font-size:11.5px!important;}

  body.papillon-cart-screen .pap-empty-cart{min-height:0;padding:30px 16px;border-radius:20px;}
  body.papillon-cart-screen .pap-empty-cart-visual{width:94px;height:94px;margin-bottom:14px;}
  body.papillon-cart-screen .pap-empty-cart-icon{width:66px;height:66px;border-radius:20px;}
  body.papillon-cart-screen .pap-empty-cart-icon svg{width:31px;height:31px;}
  body.papillon-cart-screen .pap-empty-cart-copy h2{font-size:19px!important;}
  body.papillon-cart-screen .pap-empty-cart-copy>p:last-child{font-size:11.5px!important;}
  body.papillon-cart-screen .pap-empty-cart-benefits{display:grid;width:100%;grid-template-columns:1fr;gap:6px;}
  body.papillon-cart-screen .pap-empty-cart-benefits>span{width:100%;justify-content:flex-start;border-radius:10px;}
  body.papillon-cart-screen .pap-empty-cart-actions{display:grid;width:100%;grid-template-columns:1fr;gap:7px;}
  body.papillon-cart-screen .woocommerce .pap-empty-cart-primary,
  body.papillon-cart-screen .pap-empty-cart-secondary{width:100%!important;min-width:0!important;}
}

@media(max-width:420px){
  body.papillon-cart-screen .shop_table.cart tbody>tr.cart_item{grid-template-columns:66px minmax(0,1fr) 32px!important;gap:0 9px!important;padding:10px!important;border-radius:14px!important;}
  body.papillon-cart-screen .shop_table.cart .product-thumbnail a{width:66px!important;height:66px!important;border-radius:11px!important;}
  /* ریزترین عرض‌ها: همان یک‌ردیفی‌ها می‌مانند، فقط دکمهٔ «اعمال کد» باریک‌تر
     می‌شود تا فیلد کد جا داشته باشد. */
  body.papillon-cart-screen .shop_table.cart .coupon{grid-template-columns:minmax(0,1fr) 78px!important;}
  body.papillon-cart-screen .shop_table.cart .coupon .button{font-size:11px!important;}
}

@media(prefers-reduced-motion:reduce){
  body.papillon-cart-screen .shop_table.cart *,
  body.papillon-cart-screen .pap-empty-cart *{transition:none!important;animation:none!important;}
}
