/* Carrito rediseñado — solo con body.pp-cartpro */
body.pp-cartpro{--cp-lima:#cbe86b;--cp-linea:#e8e8e8;--cp-rojo:#e04848;--cp-cond:"Roboto Condensed",Roboto,sans-serif}
body.pp-cartpro #main > .page-container{max-width:1320px!important;width:auto!important;margin:0 auto!important;padding-left:2.5vw!important;padding-right:2.5vw!important}

/* Pasos + envío gratis */
.pp-cp-top{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin:0 0 22px;padding:16px 20px;border:1px solid var(--cp-linea);border-radius:16px;background:#fff}
.pp-cp-steps{display:flex;gap:8px;list-style:none;margin:0;padding:0;align-items:center}
.pp-cp-steps li{display:flex;align-items:center;gap:8px;font:500 14px Roboto,sans-serif;color:#9a9a9a}
.pp-cp-steps li+li:before{content:"";width:28px;height:2px;background:#e3e3e3;margin-right:6px}
.pp-cp-steps li span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#efefef;color:#777;font:700 13px Roboto,sans-serif}
.pp-cp-steps li.on{color:#000}
.pp-cp-steps li.on span{background:#000;color:var(--cp-lima)}
.pp-cp-free{flex:1;min-width:260px;max-width:520px;font-size:14px}
.pp-cp-free .amount{font-weight:700}
.pp-cp-free i{display:block;height:7px;background:#eee;border-radius:7px;margin-top:8px;overflow:hidden}
.pp-cp-free em{display:block;height:100%;background:var(--cp-lima);border-radius:7px;transition:width .4s}

/* Dos columnas: productos + resumen fijo */
@media (min-width:992px){
	body.pp-cartpro .woocommerce{display:grid;grid-template-columns:minmax(0,1fr) 380px;column-gap:28px;row-gap:0;align-items:start}
	body.pp-cartpro .woocommerce > .woocommerce-notices-wrapper,body.pp-cartpro .woocommerce > .pp-cp-top,body.pp-cartpro .woocommerce > .pp-mc-wide,body.pp-cartpro .woocommerce > .hookmeup-hook,body.pp-cartpro .woocommerce > .cross-sells{grid-column:1 / -1}
	body.pp-cartpro .woocommerce-cart-form{grid-column:1;margin-top:0!important;width:auto!important;float:none!important;margin:0!important}
	body.pp-cartpro .cart-collaterals{grid-column:2;grid-row:span 1;width:auto!important;float:none!important;margin:0!important;position:sticky;top:110px}
}
body.pp-cartpro .cart-collaterals .cart_totals{width:100%!important;float:none!important}

/* Productos como tarjetas */
body.pp-cartpro table.shop_table.cart{border:0!important;background:none!important;margin:0!important;width:100%}
body.pp-cartpro table.shop_table.cart thead{display:none}
body.pp-cartpro table.shop_table.cart,body.pp-cartpro table.shop_table.cart tbody{display:block}
body.pp-cartpro table.shop_table.cart tr.cart_item{display:grid;grid-template-columns:120px minmax(0,1fr) auto;grid-template-rows:auto auto 1fr;column-gap:20px;row-gap:4px;align-items:start;background:#fff;border:1px solid var(--cp-linea);border-radius:16px;padding:16px 18px;margin:0 0 12px;position:relative}
body.pp-cartpro table.shop_table.cart tr.cart_item td{display:block;border:0!important;padding:0!important;background:none!important;text-align:left!important;width:auto!important}
body.pp-cartpro table.shop_table.cart tr.cart_item td:before{display:none!important}
body.pp-cartpro tr.cart_item td.product-thumbnail{grid-column:1;grid-row:1 / 4}
body.pp-cartpro tr.cart_item td.product-thumbnail img{width:120px!important;height:120px!important;object-fit:contain;border-radius:12px;background:#fff;border:1px solid #f1f1f1;max-width:none}
body.pp-cartpro table.shop_table.cart tr.cart_item td.product-name{grid-column:2;grid-row:1;padding-right:42px!important}
body.pp-cartpro tr.cart_item td.product-name a{font:500 17px/1.3 Roboto,sans-serif!important;color:#000!important;text-decoration:none}
body.pp-cartpro tr.cart_item td.product-name dl.variation{margin:4px 0 0;font-size:13px;color:#6b6b6b}
body.pp-cartpro tr.cart_item td.product-price{grid-column:2;grid-row:2;font-size:13px;color:#6b6b6b}
body.pp-cartpro table.shop_table.cart tr.cart_item td.product-price:before{content:"Precio unidad: "!important;display:inline!important;font:inherit!important;color:inherit!important;float:none!important;position:static!important;width:auto!important}
body.pp-cartpro tr.cart_item td.product-quantity{grid-column:2;grid-row:3;align-self:end;margin-top:10px}
body.pp-cartpro tr.cart_item td.product-subtotal{grid-column:3;grid-row:3;align-self:end;text-align:right!important}
body.pp-cartpro tr.cart_item td.product-subtotal,body.pp-cartpro tr.cart_item td.product-subtotal .amount{font:900 22px/1 var(--cp-cond)!important;color:#000}
body.pp-cartpro tr.cart_item td.product-remove{position:absolute!important;top:14px;right:14px}
body.pp-cartpro tr.cart_item td.product-remove a.remove{width:34px!important;height:34px!important;border-radius:9px!important;display:grid!important;place-items:center;font-size:0!important;line-height:0!important;color:transparent!important;background:none!important;border:0!important}
body.pp-cartpro tr.cart_item td.product-remove a.remove:after{display:none!important}
body.pp-cartpro tr.cart_item td.product-remove a.remove:before{content:""!important;display:block!important;width:18px;height:18px;background:#8a8a8a;-webkit-mask:var(--cp-trash) center/contain no-repeat;mask:var(--cp-trash) center/contain no-repeat;font-size:0!important}
body.pp-cartpro tr.cart_item td.product-remove a.remove:hover{background:#fdecec!important}
body.pp-cartpro tr.cart_item td.product-remove a.remove:hover:before{background:var(--cp-rojo)}
body.pp-cartpro{--cp-trash:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M10 11v6M14 11v6M5 7l1 13h12l1-13M9 7V4h6v3'/%3E%3C/svg%3E")}
.pp-cp-stock{display:block;margin-top:6px;font:500 12.5px Roboto,sans-serif;color:#3d7a12}
.pp-cp-stock.is-low{color:#c47a00}

/* Selector de cantidad */
body.pp-cartpro tr.cart_item .quantity{display:inline-flex!important;align-items:center;border:1px solid #d9d9d9;border-radius:10px;overflow:hidden;height:40px;float:none!important;margin:0!important;width:auto!important}
body.pp-cartpro tr.cart_item .quantity input.minus,body.pp-cartpro tr.cart_item .quantity input.plus{width:38px!important;height:40px!important;border:0!important;background:#fff!important;font-size:18px!important;color:#000!important;cursor:pointer;padding:0!important;margin:0!important;position:static!important;float:none!important}
body.pp-cartpro tr.cart_item .quantity input.minus:hover,body.pp-cartpro tr.cart_item .quantity input.plus:hover{background:#f3f3f3!important}
body.pp-cartpro tr.cart_item .quantity input.qty{width:44px!important;height:40px!important;border:0!important;text-align:center;font:700 15px Roboto,sans-serif!important;padding:0!important;margin:0!important;background:#fff!important;-moz-appearance:textfield}
body.pp-cartpro tr.cart_item .quantity input.qty::-webkit-inner-spin-button,body.pp-cartpro tr.cart_item .quantity input.qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}

/* Fila de cupón: sin "Actualizar carrito" (se actualiza solo) */
body.pp-cartpro table.shop_table.cart tr:not(.cart_item){display:block}
body.pp-cartpro table.shop_table.cart td.actions{display:flex!important;justify-content:space-between;align-items:center;gap:12px;padding:6px 0 0!important;border:0!important;background:none!important}
body.pp-cartpro td.actions button[name="update_cart"]{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;padding:0!important;border:0!important}
body.pp-cartpro td.actions .coupon{display:flex!important;gap:8px;float:none!important;width:auto!important}
body.pp-cartpro td.actions .coupon input#coupon_code{height:44px!important;border:1px solid #d9d9d9!important;border-radius:10px!important;padding:0 14px!important;min-width:220px;width:auto!important;margin:0!important}
body.pp-cartpro td.actions .coupon button{height:44px!important;border-radius:10px!important;background:#fff!important;color:#000!important;border:1.5px solid #000!important;font:700 13px Roboto,sans-serif!important;text-transform:uppercase;padding:0 18px!important;margin:0!important}
body.pp-cartpro td.actions .coupon button:hover{background:#000!important;color:#fff!important}

/* Resumen */
body.pp-cartpro .cart_totals{background:#fff!important;border:1px solid var(--cp-linea)!important;border-radius:16px!important;padding:20px!important}
body.pp-cartpro .cart_totals > h2{font:900 22px/1 var(--cp-cond)!important;text-transform:uppercase;margin:0 0 12px!important;padding:0!important;border:0!important;background:none!important;color:#000!important}
body.pp-cartpro .cart_totals table.shop_table{border:0!important;background:none!important;margin:0 0 14px!important}
body.pp-cartpro .cart_totals table.shop_table th,body.pp-cartpro .cart_totals table.shop_table td{border:0!important;border-bottom:1px solid #f0f0f0!important;padding:12px 0!important;background:none!important;font-size:14px;vertical-align:top}
body.pp-cartpro .cart_totals table.shop_table tr.order-total th,body.pp-cartpro .cart_totals table.shop_table tr.order-total td{border-bottom:0!important;padding-top:16px!important}
body.pp-cartpro .cart_totals tr.order-total td strong,body.pp-cartpro .cart_totals tr.order-total td strong .amount{font:900 28px/1 var(--cp-cond)!important;color:#000}
body.pp-cartpro .cart_totals .wc-proceed-to-checkout{padding:0!important;margin:0!important}
body.pp-cartpro .cart_totals .wc-proceed-to-checkout a.checkout-button{display:block!important;background:var(--cp-lima)!important;color:#000!important;border-radius:12px!important;font:700 16px Roboto,sans-serif!important;text-transform:uppercase;letter-spacing:.5px;padding:18px!important;text-align:center;margin:0 0 10px!important;border:0!important;transition:background .2s}
body.pp-cartpro .cart_totals .wc-proceed-to-checkout a.checkout-button:hover{background:#000!important;color:var(--cp-lima)!important}
body.pp-cartpro .cart_totals .wc-proceed-to-checkout a:not(.checkout-button),body.pp-cartpro .cart_totals .wc-proceed-to-checkout .button:not(.checkout-button){display:block!important;background:#fff!important;color:#000!important;border:1.5px solid #000!important;border-radius:12px!important;text-align:center;padding:13px!important;font:700 14px Roboto,sans-serif!important;text-transform:uppercase}

/* Garantías */
.pp-cp-trust{list-style:none;margin:16px 0 0;padding:14px 0 0;border-top:1px solid #f0f0f0;display:grid;gap:10px}
.pp-cp-trust li{display:flex;align-items:center;gap:10px;font-size:13.5px;color:#333}
.pp-cp-trust svg{width:22px;height:22px;flex:none;fill:none;stroke:#000;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;background:var(--cp-lima);border-radius:7px;padding:3px;box-sizing:content-box}

/* Móvil */
@media (max-width:767px){
	.pp-cp-top{padding:12px 14px;gap:12px}
	.pp-cp-steps li{font-size:12px}
	.pp-cp-steps li+li:before{width:12px}
	body.pp-cartpro table.shop_table.cart tr.cart_item{grid-template-columns:84px minmax(0,1fr);padding:12px;column-gap:12px}
	body.pp-cartpro tr.cart_item td.product-thumbnail img{width:84px!important;height:84px!important}
	body.pp-cartpro tr.cart_item td.product-name a{font-size:15px!important}
	body.pp-cartpro tr.cart_item td.product-quantity{grid-column:2;grid-row:3}
	body.pp-cartpro tr.cart_item td.product-subtotal{grid-column:2;grid-row:3;justify-self:end}
	body.pp-cartpro tr.cart_item td.product-subtotal,body.pp-cartpro tr.cart_item td.product-subtotal .amount{font-size:19px!important}
	body.pp-cartpro td.actions .coupon{width:100%!important}
	body.pp-cartpro td.actions .coupon input#coupon_code{min-width:0;flex:1}
	body.pp-cartpro .cart-collaterals{margin-top:16px!important}
}

/* Móvil: barra fija con total y "Finalizar compra" mientras el resumen no está a la vista */
.pp-cp-bar{position:fixed;left:0;right:0;bottom:0;z-index:9990;display:flex;align-items:center;gap:12px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e6e6e6;box-shadow:0 -8px 24px rgba(0,0,0,.08);transform:translateY(110%);transition:transform .25s}
.pp-cp-bar.is-on{transform:none}
.pp-cp-bar div{flex:none;line-height:1.1}
.pp-cp-bar small{display:block;font-size:11px;color:#6b6b6b;text-transform:uppercase;letter-spacing:.3px}
.pp-cp-bar b{font:900 22px/1 var(--cp-cond)}
.pp-cp-bar a{flex:1;text-align:center;background:var(--cp-lima);color:#000!important;border-radius:12px;padding:15px 10px;font:700 14px Roboto,sans-serif;text-transform:uppercase;letter-spacing:.4px;text-decoration:none!important}
@media (min-width:768px){.pp-cp-bar{display:none}}
body.pp-cartpro.pp-cp-bar-on .ht-ctc{bottom:84px!important}

/* Más aire alrededor de "Lo que opinan nuestros clientes" y antes del pie */
body.pp-cartpro .woocommerce > .hookmeup-hook{margin:44px 0 90px!important}
@media (max-width:767px){body.pp-cartpro .woocommerce > .hookmeup-hook{margin:32px 0 60px!important}}

/* Línea de envío del resumen */
body.pp-cartpro .cart_totals tr.pp-cp-ship td b{display:block;font-weight:600;font-size:14px}
body.pp-cartpro .cart_totals tr.pp-cp-ship td b.pp-cp-ship-free{color:#3d7a12}
body.pp-cartpro .cart_totals tr.pp-cp-ship td small{display:block;font-size:12.5px;color:#6b6b6b;margin-top:2px}
.pp-cp-stock b{font-weight:700}
