diff --git a/web/index.html b/web/index.html
index 4d3525c..7750977 100644
--- a/web/index.html
+++ b/web/index.html
@@ -728,12 +728,12 @@ footer a:hover{color:var(--laranja2)}
@@ -919,7 +919,7 @@ footer a:hover{color:var(--laranja2)}
-
↑
+
Arraste aqui
Até 5 GB por arquivo.
ou escolher no computador
@@ -1031,7 +1031,7 @@ footer a:hover{color:var(--laranja2)}
diff --git a/web/site-cart.js b/web/site-cart.js
index c8ae5d8..9ac0f46 100644
--- a/web/site-cart.js
+++ b/web/site-cart.js
@@ -61,7 +61,8 @@ function pintaPedido(){
: 'Ir para o pagamento';
$('bPagar').disabled = !cartPodeEnviar() || !entrega.cotado || !clienteOk() || !enderecoOk();
if(pedido.length || itemAtual) $('carr').classList.add('on');
- if($('cartLink')) $('cartLink').textContent='Carrinho ('+n+')';
+ if($('cartN')){ $('cartN').textContent=n>99?'99+':n; $('cartN').hidden=!n;
+ $('cartLink').setAttribute('aria-label','Carrinho, '+n+(n===1?' item':' itens')); }
window.dispatchEvent(new Event('dtf-cart-changed'));
}
diff --git a/web/site-config.js b/web/site-config.js
index d192a8d..a59c53d 100644
--- a/web/site-config.js
+++ b/web/site-config.js
@@ -5,6 +5,18 @@
const $=id=>document.getElementById(id);
const rs=v=>'R$ '+v.toFixed(2).replace('.',',');
+// Ícones (Lucide, licença ISC) desenhados no próprio HTML: nada a carregar, e a
+// cor vem do texto em volta. Os que ficam no HTML estático são os mesmos.
+const ICONES={
+ busca:'',
+ conta:'',
+ sacola:'',
+ enviar:'',
+ girar:'',
+ espelhar:'',
+ fechar:'',
+};
+const icone=n=>'';
const fmt=b=>b<1048576?(b/1024).toFixed(0)+' KB'
:b<1073741824?(b/1048576).toFixed(1).replace('.',',')+' MB':(b/1073741824).toFixed(1).replace('.',',')+' GB';
diff --git a/web/site-pdf.js b/web/site-pdf.js
index 838d6d2..bc9b7aa 100644
--- a/web/site-pdf.js
+++ b/web/site-pdf.js
@@ -473,7 +473,7 @@ function pintaFolha(){
return ''+
'
'+mini+'
'+
'
'+(folhas.length>1? (i+1)+'. ':'')+escapeHTML(x.f.name)+''+
- '
'+
+ '
'+
(lido || x.measurementError ? '' : '
'+escapeHTML(extDe(x.f.name))+' · '+fmt(x.f.size)+'')+
barra+medida+
'
'+copias+
@@ -570,7 +570,7 @@ function pintaArtes(){
return ''+
'
'+mini+'
'+
'
'+escapeHTML(a.f.name)+''+(a===recemChegada?'nova':'')+
- '
'+
+ '
'+
'
'+medida+''+(a.px>0? a.px+' × '+a.py+' px · ' : '')+
escapeHTML(extDe(a.f.name))+' · '+fmt(a.f.size)+'
'+
barra+chips+aviso+dica+
@@ -584,8 +584,8 @@ function pintaArtes(){
'
'+
'
'+
'
'+
- ''+
- ''+
+ '
'+
+ '
'+
(sub? '
'+sub+'
' : '')+
'
'+(TAMANHOS[larguraFilme()]||[]).map(t=>'').join('')+'
'+
diff --git a/web/site-v2.css b/web/site-v2.css
index 8568866..2db611b 100644
--- a/web/site-v2.css
+++ b/web/site-v2.css
@@ -334,6 +334,21 @@ html:is([data-rota="pagamento"],[data-rota="pix"]) .checkout{max-width:1040px;ma
html:is([data-rota="pagamento"],[data-rota="pix"]) .pagGrid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start}
.avisoEnvio{margin:10px 0 0;padding:10px 12px;border-radius:8px;background:var(--aviso-fundo);color:#5A3A00;font-size:13px;line-height:1.5}
.avisoEnvio[hidden]{display:none}
+.ic{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
+.busca .lupa{display:flex;font-size:0}
+.busca .lupa .ic{width:15px;height:15px}
+.acts a .ic{width:20px;height:20px}
+.cartIc{position:relative;display:inline-flex}
+.acts #cartLink{gap:11px}
+.cartN{position:absolute;top:-7px;right:-9px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--laranja);color:var(--preto);font-size:10.5px;font-weight:800;line-height:17px;text-align:center}
+.cartN[hidden]{display:none}
+.zona .ico .ic{width:22px;height:22px}
+.art2 .giros .gr{display:inline-flex;align-items:center;justify-content:center}
+.art2 .giros .gr .ic{width:19px;height:19px}
+.rep .l1 button{display:inline-flex;align-items:center;justify-content:center}
+.rep .l1 button .ic{width:17px;height:17px}
+#ampliaFecha .ic{width:20px;height:20px}
+@media (max-width:600px){.acts .actTx{display:none}.acts{gap:16px}}
.envioArq{font-size:13px;color:var(--texto2);margin-top:14px;line-height:1.5}
.envioArq.ok{color:var(--verde)}
.envioArq.erro{color:#B42318}