:root{--ink:#171716;--paper:#f3f0e9;--white:#fff;--line:#d8d2c7;--muted:#716e68;--orange:#e65022;--green:#176b50}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}.list-header{height:92px;padding:15px max(24px,4vw);display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:#fff}.brand{display:flex;align-items:center;gap:13px;color:#fff;text-decoration:none}.brand img{width:58px;height:58px;object-fit:cover;border-radius:50%}.brand span{font:500 22px Oswald;line-height:.9;letter-spacing:.05em}.brand b{color:var(--orange)}.brand i{font-style:normal}.brand small{display:block;margin-top:7px;font:500 7px 'DM Sans';letter-spacing:.12em}.back{color:#fff;text-decoration:none;font-size:13px;font-weight:700}main{max-width:1500px;margin:auto;padding:48px max(20px,4vw) 70px}.title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:35px}.eyebrow{color:var(--orange);font-size:11px;font-weight:800;letter-spacing:.16em}.title-row h1{font:600 clamp(38px,5vw,68px) Oswald;text-transform:uppercase;margin:5px 0 2px}.title-row p{margin:0;color:var(--muted)}.actions{display:flex;gap:10px;flex-wrap:wrap}.actions button,.filters button{border:0;padding:13px 17px;font:700 12px 'DM Sans';cursor:pointer}.wholesale{background:var(--green);color:#fff}.clear-cart{border:1px solid #b9b1a4!important;background:transparent;color:var(--ink)}.clear-cart:disabled{cursor:not-allowed;opacity:.45}.print{background:var(--orange);color:#fff}.filters{display:grid;grid-template-columns:minmax(250px,2fr) minmax(190px,1fr) auto auto;gap:12px;align-items:end;background:#e5e0d6;padding:18px;margin-bottom:18px}.filters label span{display:block;margin-bottom:6px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.filters input,.filters select{width:100%;height:44px;border:1px solid var(--line);background:#fff;padding:0 12px;font:14px 'DM Sans'}.filters button{height:44px;background:#cbc4b7}.filters strong{align-self:center;text-align:right;font-size:12px}.mode-notice{background:#dcebe5;border-left:5px solid var(--green);color:#174f3f;padding:14px 17px;margin-bottom:18px;font-size:12px;font-weight:800;letter-spacing:.04em}.table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;min-width:920px}th{position:sticky;top:0;z-index:1;background:var(--ink);color:#fff;padding:13px 10px;text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.08em}td{border-bottom:1px solid #e7e3dc;padding:8px 10px;vertical-align:middle;font-size:13px}tbody tr:hover,tbody tr.selected{background:#fff8f3}.photo{width:68px;text-align:center}.photo button{display:block;margin:auto;padding:0;border:0;background:transparent;cursor:zoom-in}.photo img{display:block;width:48px;height:48px;object-fit:contain;background:#f7f5f0}.image-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:28px;background:#000d}.image-modal.open{display:flex}.image-modal figure{max-width:min(1000px,92vw);margin:0;text-align:center}.image-modal img{display:block;max-width:92vw;max-height:82vh;object-fit:contain;background:#fff;box-shadow:0 20px 60px #0008}.image-modal figcaption{margin-top:12px;color:#fff;font-weight:700}.image-modal-close{position:absolute;top:18px;right:22px;width:46px;height:46px;border:1px solid #fff8;border-radius:50%;background:#171716;color:#fff;font-size:30px;line-height:1;cursor:pointer}.code{width:110px;font-weight:800}.description strong{display:block;font-size:13px}.description small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.number{text-align:right;white-space:nowrap}.special-price.active{color:var(--orange);font-weight:800}.wholesale-mode .special-price.active{color:var(--green)}.quantity{width:100px;text-align:center}.quantity input{width:72px;padding:9px 5px;border:1px solid #bbb;text-align:center;font:700 14px 'DM Sans'}.subtotal{width:130px;font-weight:800}.loading{text-align:center;padding:50px;color:var(--muted)}.summary{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:#fff;padding:10px 18px;box-shadow:0 -8px 25px #0002}.summary span{font-size:11px}.summary div{text-align:right}.summary small{display:block;color:#aaa;font-size:8px;letter-spacing:.15em}.summary strong{display:block;font:600 22px Oswald;line-height:1.05;color:#fff}.print-note{display:none}
@media(max-width:720px){.list-header{height:auto;padding:12px 18px}.brand span{font-size:18px}.brand img{width:48px;height:48px}.back{font-size:0}.back:after{content:'← Volver';font-size:12px}.title-row{align-items:flex-start;flex-direction:column}.actions{width:100%}.actions button{flex:1}.filters{grid-template-columns:1fr}.filters strong{text-align:left}main{padding:32px 12px 50px}.image-modal{padding:14px}.image-modal-close{top:10px;right:10px}.summary{padding:8px 12px}}
@media print{@page{size:A4 portrait;margin:10mm}body{background:#fff;font-size:9pt}.list-header{height:auto;padding:0 0 8mm;background:#fff;color:#000;border-bottom:1px solid #777}.brand{color:#000}.brand img{width:45px;height:45px}.brand b{color:#000}.back,.actions,.filters,.mode-notice,.image-modal{display:none!important}main{max-width:none;padding:7mm 0 0}.title-row{margin:0 0 6mm}.title-row h1{font-size:24pt;margin:0}.title-row p{font-size:9pt}.eyebrow{color:#000}.table-wrap{overflow:visible;border:0}table{min-width:0}thead{display:table-header-group}th{position:static;background:#222!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;padding:5px;font-size:7pt}td{padding:4px 5px;font-size:8pt}tbody tr:not(.selected){display:none}.photo{display:table-cell;width:13mm}.photo img{width:10mm;height:10mm}.description small{font-size:6.5pt}.quantity input{border:0;width:12mm;padding:0;background:transparent}.summary{position:static;margin-top:5mm;background:#222!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;box-shadow:none;padding:4mm}.summary strong{font-size:18pt}.print-note{display:block;font-size:7pt;color:#555}.normal-price{display:none}th:nth-child(4){display:none}}