.cart-toggle{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);white-space:nowrap}
#cart-count{background:var(--surface);color:var(--ink);border-radius:99px;padding:1px 7px;font-size:12px}
.catalog-item{display:flex;flex-direction:column;min-width:0;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}
.catalog-item .card{flex:1;box-shadow:none;border-radius:0}
.catalog-item .card:hover{transform:none;box-shadow:none;background:var(--surface-2)}
.cart-quick{margin:0 12px 12px;padding:10px 8px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);font-weight:600;font-size:13px}
.cart-quick:hover,.add-cart:hover{background:var(--accent);color:var(--accent-ink)}
.cart-quick:disabled,.add-cart:disabled{opacity:.6;cursor:default}
.add-cart{border:0;background:var(--accent);color:var(--accent-ink)}
.cart-detail-link,.cart-continue{border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;font-weight:600;padding:7px}
#d-whatsapp{padding:10px 14px;font-size:13px}
#cart-dialog{max-width:min(620px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border-radius:20px;background:var(--surface);color:var(--ink)}
.cart-panel{padding:26px;overflow:auto;max-height:calc(100dvh - 24px)}
.cart-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px}
.cart-heading h2{font:800 30px/1.1 'Bricolage Grotesque',sans-serif;margin:5px 0 0;letter-spacing:-.025em}
.cart-close{flex-shrink:0;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--surface-2);font-size:24px}
#cart-empty{text-align:center;padding:28px 10px 40px;color:var(--ink-2)}
.cart-empty-icon{font-size:38px}#cart-empty h3{color:var(--ink);font-family:'Bricolage Grotesque',sans-serif;font-size:23px}
#cart-empty .cta{border:0;margin-top:10px}
#cart-items{list-style:none;margin:0;padding:0}
.cart-item{display:grid;grid-template-columns:72px minmax(0,1fr);gap:15px;padding:18px 0;border-bottom:1px solid var(--line)}
.cart-item:first-child{padding-top:0}
.cart-photo{width:72px;height:100px;object-fit:contain;background:var(--surface-2);border-radius:9px}
.cart-item h3{font:700 17px/1.2 'Bricolage Grotesque',sans-serif;margin:0 0 5px}
.cart-description{font-size:12px;color:var(--ink-2);margin:0 0 5px;overflow-wrap:anywhere}
.cart-item-price{font-weight:600;font-size:14px;margin:0}
.cart-item-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;flex-wrap:wrap}
.cart-quantity{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.cart-quantity button{width:32px;height:32px;border:0;background:var(--surface-2);font-size:18px}
.cart-quantity button:disabled{opacity:.35;cursor:default}
.cart-quantity output{min-width:32px;text-align:center;font-family:'IBM Plex Mono',monospace;font-size:13px}
.cart-remove{border:0;background:transparent;color:var(--ink-2);text-decoration:underline;font-size:12px;padding:6px 0}
.cart-stock{font-size:11px;color:var(--ink-3);margin:6px 0 0}
.cart-total{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-top:22px;font-weight:600}
.cart-total strong{font-size:23px;white-space:nowrap}
.cart-tax{font-size:12px;color:var(--ink-2);margin:4px 0 20px}
#cart-whatsapp{width:100%;margin-bottom:12px;text-align:center}
.cart-continue{display:block;margin:12px auto 0}
.cart-toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:12px 18px;border-radius:12px;z-index:30;box-shadow:var(--shadow);font-size:14px;text-align:center;width:max-content;max-width:calc(100vw - 24px)}
button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:600px){.bar{gap:10px;padding:12px}.brand{flex-basis:100%}.cart-toggle{margin-right:auto}.cart-quick{margin:0 8px 10px;font-size:12px}.cart-panel{padding:20px 16px}.cart-item{gap:12px;grid-template-columns:60px minmax(0,1fr)}.cart-photo{width:60px;height:90px}.cart-total{font-size:14px}.cart-total strong{font-size:20px}}
