/* Carrito 1.8: panel y filas compactas de la referencia, con precios y controles de Import. */
body.zti-experience.woocommerce-cart { background:#f3f4f5!important; }
/* page.php envuelve el shortcode: la única grilla de columnas debe ser #zti-cart. */
body.zti-experience.woocommerce-cart #zt-main,
body.zti-experience.woocommerce-cart #zt-main .zt-page-inner { display:block!important; width:100%!important; max-width:none!important; margin:0!important; padding:0; grid-template-columns:none!important; }
body.zti-experience.woocommerce-cart #zt-main .zt-page-inner>.woocommerce { display:block; width:100%; max-width:none; min-width:0; margin:0; padding:0; float:none; }
body.zti-experience.woocommerce-cart #zt-main .woocommerce-notices-wrapper { width:min(1360px,calc(100% - 56px)); margin:18px auto; padding:0; }
body.zti-experience.woocommerce-cart #zt-main .woocommerce-notices-wrapper:empty { display:none; }
body.zti-experience.woocommerce-cart #zt-main :is(.woocommerce-error,.woocommerce-message,.woocommerce-info) { position:relative; display:block; width:100%; margin:0 0 12px; padding:14px 16px 14px 46px; border-radius:12px; font-family:inherit; font-size:13px; line-height:1.5; list-style:none; overflow-wrap:anywhere; }
body.zti-experience.woocommerce-cart #zt-main .woocommerce-error { background:#fff7f7; border:1px solid #ebc4c4; border-top:3px solid #ba3535; color:#652f2f; }
body.zti-experience.woocommerce-cart #zt-main :is(.woocommerce-error,.woocommerce-message,.woocommerce-info)::before { position:absolute; top:14px; left:16px; margin:0; }
body.zti-experience.woocommerce-cart #zt-main .woocommerce-error::before { content:'!'; display:grid; place-items:center; width:18px; height:18px; border-radius:50%; background:#ba3535; color:#fff; font:750 12px/1 system-ui,sans-serif; }
body.zti-experience.woocommerce-cart #zt-main :is(.woocommerce-error,.woocommerce-message,.woocommerce-info)>li { display:list-item; width:auto; margin:0; padding:0; list-style:none; }
body.zti-experience.woocommerce-cart #zt-main :is(.woocommerce-error,.woocommerce-message,.woocommerce-info)>li+li { margin-top:8px; }
body.zti-experience .zt-cart-layout { display:grid!important; grid-template-columns:minmax(0,1fr) 360px!important; gap:24px!important; width:min(1360px,calc(100% - 56px))!important; max-width:1360px!important; margin:0 auto 44px!important; padding:0!important; align-items:start; }
#zti-cart>.zt-cart-main { order:0!important; min-width:0; padding:0!important; }
#zti-cart>.zt-cart-sidebar { order:1!important; min-width:0; position:sticky; top:calc(var(--zti-header-height,90px) + 18px); }
body.zti-experience #zti-cart .woocommerce-cart-form { padding:0; margin:0; border:1px solid #e7e9ed; border-radius:12px; background:#fff; box-shadow:0 6px 18px #0000000a; }
body.zti-experience #zti-cart .woocommerce-cart-form :is(table.cart,table.cart tbody) { display:block; width:100%; max-width:100%; margin:0!important; padding:0; border:0!important; background:none; border-spacing:0; }
body.zti-experience #zti-cart table.cart thead { display:none; }
body.zti-experience #zti-cart table.cart tr.cart_item { position:relative; display:grid!important; grid-template-columns:80px minmax(0,1fr) 136px minmax(108px,140px) 44px; grid-template-rows:auto auto; gap:5px 14px; width:100%; min-height:124px; height:auto; padding:16px; margin:0; border:0; border-bottom:1px solid #edf0f2; border-radius:0; background:#fff; box-shadow:none; overflow:visible; }
body.zti-experience #zti-cart table.cart tr.cart_item:first-of-type { border-radius:12px 12px 0 0; }
body.zti-experience #zti-cart table.cart :where(tr.cart_item)>td { position:static!important; inset:auto!important; transform:none!important; display:block!important; min-width:0; max-width:100%; width:auto!important; height:auto!important; padding:0!important; margin:0!important; border:0!important; border-radius:0; background:none!important; text-align:left!important; align-self:center; }
body.zti-experience #zti-cart table.cart tr.cart_item>td::before { content:none!important; }
body.zti-experience #zti-cart table.cart td.product-thumbnail { grid-area:1/1/3/2; justify-self:center; }
body.zti-experience #zti-cart table.cart td.product-thumbnail img { display:block; width:72px!important; height:72px!important; max-width:100%; margin:0; object-fit:contain; border:1px solid #eef0f3; border-radius:10px; background:#fff; }
body.zti-experience #zti-cart table.cart td.product-name { grid-area:1/2/2/3; overflow-wrap:anywhere; color:#252525; font-size:14px; line-height:1.3; }
#zti-cart .zt-cart-product-title { display:block; margin:0; color:#252525; font-size:14px; line-height:1.3; font-weight:750; font-family:inherit; text-transform:none; text-decoration:none; }
#zti-cart .zt-cart-product-title:hover { color:#806f00; }
.zti-cart-sku { display:block; margin-top:4px; color:#808080; font-size:10px; overflow-wrap:anywhere; }
#zti-cart .product-name .variation { display:block; margin:5px 0 0; padding:0; font-size:12px; line-height:1.4; }
#zti-cart .product-name .variation :is(dt,dd,p) { margin:0 5px 0 0; padding:0; }
body.zti-experience #zti-cart .product-name .zti-favorite { position:static; display:inline-flex; align-items:center; gap:6px; width:auto; max-width:100%; min-height:44px; height:auto; margin-top:2px; padding:6px 0; border:0; border-radius:8px; background:none; font-size:11px; box-shadow:none; float:none; }
#zti-cart .product-name .zti-favorite .zti-icon { width:17px; height:17px; }
body.zti-experience #zti-cart table.cart td.product-price { grid-area:2/2/3/3; align-self:start; font-size:12px; color:#626262; }
body.zti-experience #zti-cart td.product-price .zti-cart-price-label { display:inline; margin-right:5px; font-size:10px; }
body.zti-experience #zti-cart table.cart td.product-quantity { grid-area:1/3/3/4; justify-self:center; }
body.zti-experience #zti-cart table.cart td.product-subtotal { grid-area:1/4/3/5; justify-self:end; text-align:right!important; font-size:20px; font-weight:800; color:#222; overflow-wrap:anywhere; }
body.zti-experience #zti-cart table.cart td.product-remove { grid-area:1/5/3/6; align-self:center; }
.zti-cart-price-label { display:block; margin-bottom:6px; font-size:10px; font-weight:500; line-height:1.3; color:#707070; }
#zti-cart td.product-subtotal .zti-cart-price-label { display:inline-block; padding:3px 7px; border-radius:999px; background:#fff8cc; color:#756700; font-size:9px; font-weight:750; }
#zti-cart td.product-subtotal>.amount { display:block; }
body.zti-experience #zti-cart table.cart .quantity { position:static; display:flex!important; justify-content:center; width:136px!important; max-width:100%; height:46px!important; padding:0!important; margin:0!important; border:1px solid #e6ce00!important; border-radius:8px!important; background:#fff; overflow:hidden; }
body.zti-experience #zti-cart .quantity input.qty { flex:1; min-width:0; width:46px!important; height:44px!important; margin:0; padding:0!important; border:0!important; border-left:1px solid #eee!important; border-right:1px solid #eee!important; border-radius:0!important; background:#fff; color:#222; font-family:inherit; font-size:15px; font-weight:750; line-height:1; text-align:center; appearance:textfield; }
#zti-cart .quantity input.qty::-webkit-inner-spin-button,#zti-cart .quantity input.qty::-webkit-outer-spin-button { appearance:none; margin:0; }
body.zti-experience #zti-cart .zt-qty-btn { flex:0 0 44px; width:44px!important; min-width:44px!important; height:44px!important; margin:0; padding:0!important; border:0!important; border-radius:0!important; background:#fff!important; color:#806f00!important; font-size:20px; }
body.zti-experience #zti-cart .zt-qty-btn:hover { background:#fff8cc!important; }
#zti-cart .zt-qty-btn:disabled { opacity:.4; cursor:default; }
body.zti-experience #zti-cart .product-remove a.remove { position:static; display:grid; place-items:center; width:44px!important; height:44px!important; margin:0; border:0; border-radius:8px; background:transparent; color:#8c8c8c!important; text-decoration:none; }
body.zti-experience #zti-cart .product-remove a.remove:hover { color:#b33737!important; background:#fff1f1; }
#zti-cart .zt-cart-remove .zti-icon { width:18px; height:18px; }
body.zti-experience #zti-cart table.cart tr:has(>.actions),body.zti-experience #zti-cart table.cart td.actions { display:block; width:100%; border:0; }
body.zti-experience #zti-cart table.cart td.actions { padding:16px!important; background:#fff!important; border:0; border-radius:0 0 12px 12px; text-align:right; }
.zti-cart-update-hint { margin:0 0 12px; color:#707070; font-size:12px; line-height:1.5; text-align:left; }
body.zti-experience #zti-cart [name=update_cart],body.zti-experience #zti-cart [name=apply_coupon] { min-height:44px; padding:10px 18px; border:1px solid #e6ce00; border-radius:8px; background:#fff8cc; color:#6f5f00; font-size:12px; font-weight:750; text-transform:none; }
#zti-cart .coupon { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:14px; text-align:left; }
#zti-cart .coupon label { font-size:12px; color:#666; }
#zti-cart .coupon input { flex:1; min-width:120px; min-height:44px; padding:10px 12px; border:1px solid #ddd; border-radius:8px; font-size:16px; }
body.zti-experience #zti-cart tr.is-zti-quantity-dirty { box-shadow:inset 3px 0 #dfc400; background:#fffef8; }
#zti-cart [data-zti-cart-status].is-pending { color:#79611b; font-weight:650; }
#zti-cart .quantity :is(input,button):focus-visible { outline-offset:-3px; }
/* Los avisos mayoristas siguen completos: compactar su presentación sin ocultar validaciones. */
body.zti-experience.woocommerce-cart .zt-cat-min-box { margin:0 0 16px; padding:14px; border:1px solid #e7dfb8; border-radius:12px; background:#fffdf1; }
body.zti-experience.woocommerce-cart .zt-cat-min-box__head { display:flex; gap:10px; align-items:center; }
body.zti-experience.woocommerce-cart .zt-cat-min-box__title { margin:0 0 4px; font-size:14px; }
body.zti-experience.woocommerce-cart .zt-cat-min-box__sub { margin:0 0 10px; color:#716b55; font-size:12px; }
body.zti-experience.woocommerce-cart .zt-cat-min-box__list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:8px; }
body.zti-experience.woocommerce-cart .zt-cat-min-item { padding:8px 10px; border:1px solid #eee8cb; border-radius:8px; background:#fff; font-size:12px; }
body.zti-experience.woocommerce-cart .zt-cat-min-item__top { display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px; }
body.zti-experience.woocommerce-cart .zt-cat-min-item__text { margin:4px 0; font-size:11px; color:#746c4b; }
body.zti-experience.woocommerce-cart .zt-cat-min-item__link { display:inline-flex; align-items:center; min-height:44px; font-size:12px; color:#726318; }
@media(min-width:981px) and (max-width:1199px) {
    body.zti-experience .zt-cart-layout { grid-template-columns:minmax(0,1fr) 320px!important; width:calc(100% - 32px)!important; gap:16px!important; }
    body.zti-experience #zti-cart table.cart tr.cart_item { grid-template-columns:64px minmax(0,1fr) 44px; gap:8px 10px; padding:14px; }
    body.zti-experience #zti-cart table.cart td.product-thumbnail { grid-area:1/1/3/2; }
    body.zti-experience #zti-cart table.cart td.product-name { grid-area:1/2/2/3; }
    body.zti-experience #zti-cart table.cart td.product-price { grid-area:2/2/3/3; }
    body.zti-experience #zti-cart table.cart td.product-quantity { grid-area:3/1/4/3; justify-self:start; }
    body.zti-experience #zti-cart table.cart td.product-subtotal { grid-area:3/2/4/4; max-width:calc(100% - 74px); }
    body.zti-experience #zti-cart table.cart td.product-remove { grid-area:1/3/2/4; align-self:start; }
}
@media(max-width:980px) {
    body.zti-experience.woocommerce-cart #zt-main .woocommerce-notices-wrapper { width:calc(100% - 24px); margin:12px auto; }
    body.zti-experience .zt-cart-layout { grid-template-columns:minmax(0,1fr)!important; width:calc(100% - 24px)!important; gap:18px!important; margin-top:14px!important; }
    #zti-cart>.zt-cart-sidebar { position:static; width:100%; max-width:560px; justify-self:center; }
    body.zti-experience #zti-cart table.cart tr.cart_item { grid-template-columns:70px minmax(0,1fr) 44px; grid-template-rows:auto auto auto; gap:6px 10px; padding:12px; }
    body.zti-experience #zti-cart table.cart td.product-thumbnail { grid-area:1/1/3/2; align-self:start; }
    body.zti-experience #zti-cart table.cart td.product-thumbnail img { width:64px!important; height:64px!important; }
    body.zti-experience #zti-cart table.cart td.product-name { grid-area:1/2/2/3; }
    #zti-cart .zt-cart-product-title { font-size:13.5px; }
    body.zti-experience #zti-cart table.cart td.product-remove { grid-area:1/3/2/4; align-self:start; }
    body.zti-experience #zti-cart table.cart td.product-price { grid-area:2/2/3/4; }
    body.zti-experience #zti-cart table.cart td.product-quantity { grid-area:3/1/4/4; justify-self:start; }
    body.zti-experience #zti-cart table.cart td.product-subtotal { grid-area:3/1/4/4; max-width:calc(100% - 146px); font-size:18px; }
    body.zti-experience.woocommerce-cart .zt-cat-min-box__list { grid-template-columns:minmax(0,1fr); gap:0; }
    body.zti-experience.woocommerce-cart .zt-cat-min-item { display:grid; grid-template-columns:minmax(0,1fr) 100px; column-gap:10px; padding:8px 0; border:0; border-top:1px solid #eee8cb; border-radius:0; background:none; }
    body.zti-experience.woocommerce-cart .zt-cat-min-item__top { grid-area:1/1/2/2; gap:2px 6px; }
    body.zti-experience.woocommerce-cart .zt-cat-min-item__text { grid-area:2/1/3/2; margin:2px 0; }
    body.zti-experience.woocommerce-cart .zt-cat-min-item__link { grid-area:1/2/3/3; align-self:center; justify-content:flex-end; font-size:11px; }
}
@media(max-width:350px) {
    body.zti-experience #zti-cart table.cart tr.cart_item { grid-template-columns:56px minmax(0,1fr) 44px; gap:6px 8px; }
    body.zti-experience #zti-cart table.cart td.product-thumbnail img { width:54px!important; height:54px!important; }
    body.zti-experience #zti-cart table.cart td.product-subtotal { font-size:16px; }
}
