/* =========================================================
   Part Pro — Carro
   ========================================================= */
body.woocommerce-cart{--ink:#0b0e14;--muted:#6b7280;--line:rgba(15,20,30,.08);--flame:linear-gradient(135deg,#ff6b35,#e63329);--red:#e63329;--green:#16a34a;--wa:#25d366}
body.woocommerce-cart .ppt-page-title{display:none}
body.woocommerce-cart .ppt-wrap{max-width:1200px}

/* Encabezado + pasos */
.ppk-top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:6px 0 26px}
.ppk-top h1{margin:0;font-size:34px;letter-spacing:-.02em;line-height:1.1;color:var(--ink)}
.ppk-top h1 small{font-size:16px;font-weight:600;color:var(--muted);margin-left:8px;letter-spacing:0}
.ppk-steps{display:flex;align-items:center;gap:10px;list-style:none;margin:0;padding:0;font-size:13.5px;font-weight:600;color:var(--muted)}
.ppk-steps li{display:flex;align-items:center;gap:8px}
.ppk-steps li b{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e5e7eb;color:#6b7280;font-size:12.5px}
.ppk-steps li.is-on{color:var(--ink)}
.ppk-steps li.is-on b{background:var(--flame);color:#fff}
.ppk-steps .ppk-sep{width:28px;height:2px;background:#e5e7eb;border-radius:2px}

/* Layout de 2 columnas */
body.woocommerce-cart .woocommerce{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:28px;align-items:start}
body.woocommerce-cart .woocommerce>.woocommerce-notices-wrapper,
body.woocommerce-cart .woocommerce>.ppk-top,
body.woocommerce-cart .woocommerce>.ppk-recs,
body.woocommerce-cart .woocommerce>.cart-empty,
body.woocommerce-cart .woocommerce>.ppk-empty,
body.woocommerce-cart .woocommerce>.return-to-shop{grid-column:1/-1}
body.woocommerce-cart .woocommerce-cart-form{grid-column:1;margin:0;background:none !important;padding:0 !important;box-shadow:none !important;border:0 !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important}
body.woocommerce-cart .cart-collaterals{grid-column:2;width:auto !important;position:sticky;top:150px;margin:0 !important}
body.woocommerce-cart .cart-collaterals .cart_totals{width:100% !important;float:none !important}
body.woocommerce-cart .cart-collaterals .cross-sells{display:none}

/* Productos como tarjetas */
body.woocommerce-cart table.cart{display:block;border:0 !important;background:none !important;box-shadow:none !important;margin:0 !important;border-radius:0 !important}
body.woocommerce-cart table.cart thead{display:none}
body.woocommerce-cart table.cart tbody{display:flex;flex-direction:column;gap:12px}
body.woocommerce-cart table.cart tr.cart_item{display:grid;grid-template-columns:96px minmax(0,1fr) auto auto 36px;grid-template-areas:"img name qty sub rm";align-items:center;gap:6px 18px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:14px 16px;box-shadow:0 4px 18px rgba(15,20,30,.04);transition:box-shadow .2s}
body.woocommerce-cart table.cart tr.cart_item:hover{box-shadow:0 10px 28px rgba(15,20,30,.08)}
body.woocommerce-cart table.cart tr.cart_item td{display:block;border:0 !important;padding:0 !important;background:none !important;text-align:left !important}
body.woocommerce-cart table.cart tr.cart_item td::before{display:none !important}
body.woocommerce-cart table.cart td.product-thumbnail{grid-area:img}
body.woocommerce-cart table.cart td.product-thumbnail img{width:96px !important;height:96px !important;max-width:none !important;object-fit:contain;background:#f5f6f8;border-radius:14px;padding:8px;margin:0}
body.woocommerce-cart table.cart td.product-name{grid-area:name;min-width:0}
body.woocommerce-cart table.cart td.product-name>a{display:block;color:var(--ink) !important;text-decoration:none !important;font-weight:700;font-size:15px;line-height:1.3}
body.woocommerce-cart table.cart td.product-name>a:hover{color:var(--red) !important}
.ppk-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:6px;font-size:12.5px;color:var(--muted)}
.ppk-meta .ppk-sku{font-weight:600;background:rgba(15,20,30,.05);border-radius:6px;padding:2px 7px;color:var(--muted)}
.ppk-meta .ppk-sku b{color:var(--ink)}
.ppk-meta .ppk-unit{font-variant-numeric:tabular-nums}
.ppk-meta .ppk-ok{color:var(--green);font-weight:600;display:inline-flex;align-items:center;gap:5px}
.ppk-meta .ppk-ok i{width:6px;height:6px;border-radius:50%;background:#22c55e}
body.woocommerce-cart table.cart td.product-price{display:none !important}
body.woocommerce-cart table.cart td.product-quantity{grid-area:qty}
body.woocommerce-cart table.cart td.product-subtotal{grid-area:sub;font-weight:800;font-size:18px;color:var(--ink);min-width:92px;text-align:right !important;font-variant-numeric:tabular-nums}
body.woocommerce-cart table.cart td.product-remove{grid-area:rm;text-align:right !important}
body.woocommerce-cart table.cart td.product-remove a.remove{display:flex !important;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#f3f4f6 !important;color:#9ca3af !important;font-size:20px !important;font-weight:400 !important;line-height:1 !important;transition:background .2s,color .2s}
body.woocommerce-cart table.cart td.product-remove a.remove:hover{background:#fee2e2 !important;color:var(--red) !important}

/* Cantidad con botones − / + */
.ppk-qty{display:inline-flex;align-items:center;background:#f3f4f6;border-radius:999px;padding:4px}
.ppk-qty button{width:32px;height:32px;border:0;border-radius:50%;background:#fff;color:var(--ink);font-size:17px;font-weight:700;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.08);transition:transform .15s}
.ppk-qty button:active{transform:scale(.9)}
.ppk-qty .quantity{margin:0 !important}
.ppk-qty input.qty{width:40px !important;height:32px;border:0 !important;background:transparent !important;text-align:center;font-weight:700;font-size:15px;padding:0 !important;box-shadow:none !important;-moz-appearance:textfield}
.ppk-qty input.qty::-webkit-outer-spin-button,.ppk-qty input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* Fila de acciones (cupón + actualizar) */
body.woocommerce-cart table.cart tr:not(.cart_item){display:block}
body.woocommerce-cart table.cart td.actions{display:flex !important;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:6px 2px 0 !important;border:0 !important;background:none !important}
body.woocommerce-cart table.cart td.actions .coupon{display:none;align-items:center;gap:8px;float:none !important}
body.woocommerce-cart table.cart td.actions .coupon.is-open{display:flex}
body.woocommerce-cart table.cart td.actions .coupon label{display:none}
body.woocommerce-cart table.cart td.actions .coupon input.input-text{width:180px !important;height:42px;border:1px solid var(--line) !important;border-radius:999px !important;padding:0 16px !important;background:#fff !important}
body.woocommerce-cart table.cart td.actions .coupon .button{height:42px;border-radius:999px !important;background:var(--ink) !important;color:#fff !important;padding:0 18px !important}
body.woocommerce-cart table.cart td.actions>.button[name=update_cart]{display:none !important}
.ppk-coupon-toggle{background:none;border:0;padding:0;color:var(--ink);font-weight:600;font-size:14px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.ppk-continue{color:var(--muted);font-weight:600;font-size:14px;text-decoration:none}
.ppk-continue:hover{color:var(--red)}

/* Resumen */
body.woocommerce-cart .cart_totals{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px !important;box-shadow:0 14px 40px rgba(15,20,30,.08)}
body.woocommerce-cart .cart_totals h2{font-size:20px !important;margin:0 0 10px !important;color:var(--ink)}
body.woocommerce-cart .cart_totals table.shop_table{border:0 !important;margin:0 !important;background:none !important;box-shadow:none !important}
body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td{border:0 !important;border-top:1px solid var(--line) !important;padding:12px 0 !important;background:none !important;font-size:14px;vertical-align:top}
body.woocommerce-cart .cart_totals table.shop_table th{font-weight:600;color:var(--muted);width:38%}
body.woocommerce-cart .cart_totals table.shop_table tr:first-child th,
body.woocommerce-cart .cart_totals table.shop_table tr:first-child td{border-top:0 !important}
body.woocommerce-cart .cart_totals .order-total th{color:var(--ink);font-size:16px;padding-top:16px !important}
body.woocommerce-cart .cart_totals .order-total td{padding-top:16px !important}
body.woocommerce-cart .cart_totals .order-total .amount{font-size:28px;font-weight:800;color:var(--ink);letter-spacing:-.02em}
body.woocommerce-cart .cart_totals .woocommerce-shipping-destination{font-size:13px;color:var(--muted);margin:6px 0 0}
body.woocommerce-cart .cart_totals .shipping-calculator-button{font-size:13px;color:var(--red) !important}
body.woocommerce-cart .wc-proceed-to-checkout{padding:16px 0 0 !important}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{display:flex !important;align-items:center;justify-content:center;gap:10px;min-height:56px;margin:0 !important;border-radius:999px !important;background:var(--flame) !important;color:#fff !important;font-size:17px !important;font-weight:800 !important;box-shadow:0 12px 26px rgba(230,51,41,.3);position:relative;overflow:hidden;transition:transform .2s}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{transform:translateY(-2px)}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::after{content:"";position:absolute;top:0;left:0;width:35%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);animation:ppkShine 3.2s ease-in-out infinite}
@keyframes ppkShine{0%{transform:translateX(-120%) skewX(-20deg)}40%,100%{transform:translateX(320%) skewX(-20deg)}}
.ppk-secure{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:10px;font-size:12.5px;color:var(--muted)}
.ppk-trust{list-style:none;margin:18px 0 0;padding:16px 0 0;border-top:1px solid var(--line);display:grid;gap:12px}
.ppk-trust li{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;color:#374151;line-height:1.35}
.ppk-trust li svg{flex:0 0 auto;width:20px;height:20px;color:var(--red);margin-top:1px}
.ppk-trust li b{display:block;color:var(--ink)}
.ppk-help{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;padding:12px;border-radius:14px;background:#f0fdf4;color:#15803d !important;font-weight:700;font-size:14px;text-decoration:none}
.ppk-help:hover{background:#dcfce7}

/* Recomendados */
.ppk-recs{margin-top:44px}
.ppk-recs h2{font-size:24px;margin:0 0 18px;color:var(--ink);letter-spacing:-.01em}

/* Carro vacío */
body.woocommerce-cart .cart-empty.woocommerce-info,body.woocommerce-cart p.return-to-shop{display:none !important}
.ppk-empty{text-align:center;background:#fff;border:1px solid var(--line);border-radius:28px;padding:56px 24px}
.ppk-empty-ico{width:84px;height:84px;margin:0 auto 18px;border-radius:50%;background:#fff4ee;color:var(--red);display:flex;align-items:center;justify-content:center}
.ppk-empty h2{font-size:26px;margin:0 0 8px;color:var(--ink)}
.ppk-empty p{color:var(--muted);margin:0 0 24px}
.ppk-empty-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.ppk-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:999px;font-weight:700;text-decoration:none;background:var(--flame);color:#fff !important}
.ppk-btn.is-wa{background:var(--wa)}

/* Barra fija en celular */
.ppk-bar{display:none}
@media (max-width:900px){
  body.woocommerce-cart .woocommerce{grid-template-columns:1fr;gap:20px}
  body.woocommerce-cart .cart-collaterals{grid-column:1;position:static}
  .ppk-top{margin-bottom:16px}
  .ppk-top h1{font-size:26px}
  .ppk-steps .ppk-txt{display:none}
  body.woocommerce-cart table.cart tr.cart_item{grid-template-columns:76px minmax(0,1fr) 34px;grid-template-areas:"img name rm" "img qty sub";padding:12px;gap:10px 12px;border-radius:18px}
  body.woocommerce-cart table.cart td.product-thumbnail img{width:76px !important;height:76px !important}
  body.woocommerce-cart table.cart td.product-name>a{font-size:14px}
  body.woocommerce-cart table.cart td.product-remove{align-self:start}
  body.woocommerce-cart table.cart td.product-subtotal{font-size:17px;align-self:center}
  .ppk-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:999;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -8px 30px rgba(15,20,30,.12);border-radius:20px 20px 0 0;transform:translateY(0);transition:transform .3s}
  .ppk-bar.is-hidden{transform:translateY(110%)}
  .ppk-bar small{display:block;font-size:12px;color:var(--muted)}
  .ppk-bar strong{font-size:20px;color:var(--ink);font-weight:800}
  .ppk-bar a{flex:0 0 auto;padding:14px 22px;border-radius:999px;background:var(--flame);color:#fff !important;font-weight:800;text-decoration:none;box-shadow:0 8px 20px rgba(230,51,41,.3)}
  body.woocommerce-cart{padding-bottom:90px}
}

/* Animación de entrada */
@media (prefers-reduced-motion:no-preference){
  body.woocommerce-cart table.cart tr.cart_item,body.woocommerce-cart .cart_totals{animation:ppkIn .5s cubic-bezier(.2,.7,.2,1) both}
  body.woocommerce-cart table.cart tr.cart_item:nth-child(2){animation-delay:.06s}
  body.woocommerce-cart table.cart tr.cart_item:nth-child(3){animation-delay:.12s}
  body.woocommerce-cart table.cart tr.cart_item:nth-child(n+4){animation-delay:.18s}
  body.woocommerce-cart .cart_totals{animation-delay:.15s}
  @keyframes ppkIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
  .ppk-bump{animation:ppkBump .35s ease}
  @keyframes ppkBump{50%{transform:scale(1.08)}}
}
