/* Identidade Rimma: roxo Pantone 2593, Cormorant Garamond + Manrope */
:root{
  --roxo:#7E2B8F; --roxo-escuro:#5A1D67; --roxo-fundo:#3B1245; --lilas:#F6F0F8; --lilas-medio:#C9A3D3;
  --tinta:#24152A; --texto:#4A3D50; --suave:#6E6074; --borda:#E6DCEA; --borda-leve:#F1EAF3; --fundo-erp:#F7F4F8;
  --verde:#1F7A4D; --verde-fundo:#E7F4EC; --laranja:#8A4708; --laranja-fundo:#FFF2E2;
  --vermelho:#B42318; --vermelho-fundo:#FDECEA; --azul:#1F4A8A; --azul-fundo:#E8EEF8;
  --serif:'Cormorant Garamond',Georgia,serif; --sans:Manrope,system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--sans);color:var(--tinta);background:#fff;line-height:1.5}
a{color:var(--roxo)} a:hover{color:var(--roxo-escuro)}
img{max-width:100%;display:block}
h1,h2,h3{line-height:1.15}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.container{max-width:1200px;margin:0 auto;padding:0 24px}
.serif{font-family:var(--serif);font-weight:500}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.22em;color:var(--roxo);text-transform:uppercase}
.muted{color:var(--suave)} .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 22px;border-radius:4px;border:1px solid var(--roxo);background:var(--roxo);color:#fff;font:700 14px var(--sans);letter-spacing:.03em;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--roxo-escuro);color:#fff}
.btn-sec{background:#fff;color:var(--roxo)} .btn-sec:hover{background:var(--lilas);color:var(--roxo-escuro)}
.btn-claro{background:#fff;color:var(--roxo-escuro);border-color:#fff}
.btn-grande{min-height:56px;font-size:16px;width:100%}
.btn[disabled]{background:var(--borda);border-color:var(--borda);color:var(--suave);cursor:not-allowed}
.btn-mini{min-height:36px;padding:0 12px;font-size:13px}
input,select,textarea{font:15px var(--sans);color:var(--tinta);border:1px solid var(--borda);border-radius:4px;padding:0 12px;min-height:44px;background:#fff;width:100%}
textarea{padding:10px 12px;min-height:90px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--roxo);outline-offset:1px}
label{font-size:13px;font-weight:600}
.campo{display:flex;flex-direction:column;gap:6px}
.campo .erro,.errorlist{color:var(--vermelho);font-size:12px;margin:0;padding:0;list-style:none}
.grade{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.alertas{display:flex;flex-direction:column;gap:8px;margin:16px auto}
.alerta{padding:12px 16px;border-radius:6px;font-size:14px;font-weight:600}
.alerta.success{background:var(--verde-fundo);color:var(--verde)} .alerta.error{background:var(--vermelho-fundo);color:var(--vermelho)}
.alerta.info,.alerta.warning{background:var(--laranja-fundo);color:var(--laranja)}
.chip{display:inline-block;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;white-space:nowrap}
.chip.roxo{background:#F3E8F6;color:var(--roxo-escuro)} .chip.laranja{background:var(--laranja-fundo);color:var(--laranja)}
.chip.verde{background:var(--verde-fundo);color:#1F6B44} .chip.azul{background:var(--azul-fundo);color:var(--azul)}
.chip.vermelho{background:var(--vermelho-fundo);color:var(--vermelho)} .chip.neutro{background:#F1EDF2;color:var(--texto)}
.placeholder-foto{background:var(--lilas);display:flex;align-items:center;justify-content:center;color:var(--roxo)}
.foto{width:100%;height:100%;object-fit:cover}

/* ---------------- loja */
.faixa{background:var(--roxo-escuro);color:#fff;font-size:13px;text-align:center;padding:10px 16px}
.topo{border-bottom:1px solid var(--borda);background:#fff;position:sticky;top:0;z-index:5}
.topo .container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-top:16px;padding-bottom:16px}
.marca{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--roxo)}
.marca span{font-family:var(--serif);font-size:30px;letter-spacing:.32em}
.menu{display:flex;flex-wrap:wrap;gap:24px;font-size:14px;font-weight:600}
.menu a{color:var(--tinta);text-decoration:none} .menu a.ativo,.menu a:hover{color:var(--roxo)}
.icones{display:flex;align-items:center;gap:4px}
.icone{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;color:var(--tinta);position:relative;border:0;background:none}
.badge{position:absolute;top:4px;right:2px;background:var(--roxo);color:#fff;font-size:11px;font-weight:700;border-radius:999px;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center}
.busca-topo{display:flex;gap:6px} .busca-topo input{min-height:40px;width:200px}
.hero{background:var(--roxo);color:#fff}
.hero .container{display:flex;flex-wrap:wrap;gap:48px;align-items:center;padding-top:64px;padding-bottom:64px}
.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(40px,6vw,64px);margin:12px 0}
.hero p{font-size:18px;color:#F3E8F6;max-width:460px}
.hero .arte{flex:1 1 380px;min-height:360px;background:#9C4BAE;border-radius:4px;display:flex;align-items:center;justify-content:center}
.caixa-rimma{width:220px;height:150px;background:#6A2479;box-shadow:0 20px 40px rgba(36,21,42,.35);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#F3E8F6}
.caixa-rimma span{font-family:var(--serif);font-size:24px;letter-spacing:.32em}
.secao{padding:56px 0} .secao h2{font-family:var(--serif);font-weight:500;font-size:36px;margin:0 0 24px}
.cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}
.cats a{text-decoration:none;color:var(--tinta);display:flex;flex-direction:column;align-items:center;gap:10px;font-weight:600}
.cats .circ{width:100%;aspect-ratio:1;border-radius:999px;background:var(--lilas);display:flex;align-items:center;justify-content:center;color:var(--roxo);font-family:var(--serif);font-size:40px}
.produtos{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:24px}
.card-prod{text-decoration:none;color:var(--tinta);display:flex;flex-direction:column;gap:6px}
.card-prod .img{aspect-ratio:4/5;border-radius:4px;overflow:hidden;position:relative}
.card-prod .nome{font-weight:600} .card-prod .preco{font-weight:700;color:var(--roxo-escuro);font-size:17px}
.card-prod .de{text-decoration:line-through;color:var(--suave);font-size:13px;font-weight:500}
.selo{position:absolute;top:12px;left:12px;background:var(--roxo);color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;padding:5px 10px}
.selo.esgotado{background:var(--tinta)}
.difs{background:var(--lilas)} .difs .container{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;padding-top:48px;padding-bottom:48px}
.difs strong{display:block;margin:8px 0 4px}
.news{background:var(--roxo-escuro);color:#fff} .news .container{display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;padding-top:40px;padding-bottom:40px}
.rodape{padding:48px 0;font-size:14px;color:var(--texto)} .rodape .container{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px}
.rodape strong{color:var(--tinta);display:block;margin-bottom:8px}
.migalha{font-size:13px;color:var(--suave);padding-top:20px} .migalha a{color:var(--suave)}
.pagina-prod{display:flex;flex-wrap:wrap;gap:48px;padding:28px 0 48px}
.galeria{flex:1 1 480px;display:flex;gap:12px}
.galeria .miniaturas{display:flex;flex-direction:column;gap:10px}
.galeria .miniaturas button{width:80px;height:100px;padding:0;border:1px solid var(--borda);background:var(--lilas);cursor:pointer;overflow:hidden}
.galeria .principal{flex:1;aspect-ratio:4/5;overflow:hidden}
.info-prod{flex:1 1 380px;display:flex;flex-direction:column;gap:20px}
.info-prod h1{font-family:var(--serif);font-weight:500;font-size:42px;margin:0}
.preco-grande{font-size:30px;font-weight:700;color:var(--roxo-escuro)}
.opcoes{display:flex;flex-wrap:wrap;gap:8px}
.opcao{min-width:48px;min-height:44px;padding:0 14px;border:1px solid var(--borda);background:#fff;font:600 14px var(--sans);color:var(--tinta);cursor:pointer;border-radius:2px}
.opcao[aria-pressed="true"]{border:2px solid var(--roxo);background:var(--lilas);color:var(--roxo-escuro)}
.opcao:disabled{border-style:dashed;color:#A99FAE;text-decoration:line-through;cursor:not-allowed}
.caixa{border:1px solid var(--borda);padding:16px;display:flex;flex-direction:column;gap:10px}
.fretes{display:flex;flex-direction:column;gap:8px}
.frete-opcao{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--borda);cursor:pointer;font-size:14px}
.frete-opcao:has(input:checked){border:2px solid var(--roxo);background:var(--lilas)}
.frete-opcao input{width:18px;min-height:18px;accent-color:var(--roxo)}
.checkout{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start;padding:32px 0 64px}
.checkout .colunas{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:20px}
.bloco{background:#fff;padding:26px;display:flex;flex-direction:column;gap:16px;border:1px solid var(--borda)}
.bloco h2{font-family:var(--serif);font-weight:600;font-size:28px;margin:0}
.resumo{flex:1 1 320px;position:sticky;top:96px}
.linha-resumo{display:flex;justify-content:space-between;gap:12px;font-size:14px}
.total-resumo{font-size:20px;font-weight:700;color:var(--roxo-escuro)}
.item-mini{display:flex;gap:12px;align-items:center} .item-mini .img{width:64px;height:80px;flex-shrink:0;overflow:hidden}
.pagamentos{display:flex;flex-wrap:wrap;gap:8px}
.pagamentos label{flex:1 1 140px;display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border:1px solid var(--borda);cursor:pointer;font-weight:600;font-size:14px}
.pagamentos label:has(input:checked){border:2px solid var(--roxo);background:var(--lilas);color:var(--roxo-escuro)}
.pagamentos input{width:16px;min-height:16px;accent-color:var(--roxo)}
.tabela-carrinho{width:100%;border-collapse:collapse} .tabela-carrinho td,.tabela-carrinho th{padding:14px 8px;border-bottom:1px solid var(--borda);text-align:left;font-size:14px}

/* ---------------- painel ERP */
.erp{display:flex;flex-wrap:wrap;min-height:100vh;background:var(--fundo-erp)}
.lateral{flex:1 1 230px;background:var(--roxo-fundo);color:#EADCEF;padding:22px 14px;display:flex;flex-direction:column;gap:2px}
.lateral .marca{color:#fff;padding:0 8px 20px} .lateral .marca span{font-size:24px}
.lateral a.item{display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:0 12px;border-radius:6px;color:#EADCEF;text-decoration:none;font-size:14px}
.lateral a.item:hover{background:#52205F;color:#fff} .lateral a.item.ativo{background:var(--roxo);color:#fff;font-weight:600}
.lateral .contador{background:#F3E8F6;color:var(--roxo-fundo);font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px}
.lateral .usuario{margin-top:auto;padding:16px 12px 0;font-size:13px;border-top:1px solid #52205F}
.lateral .usuario a{color:#EADCEF}
.conteudo{flex:999 1 600px;min-width:0;padding:28px 32px;display:flex;flex-direction:column;gap:20px}
.cabecalho{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}
.cabecalho h1{margin:0;font-size:26px} .acoes{display:flex;flex-wrap:wrap;gap:10px}
.cartao{background:#fff;border:1px solid var(--borda);border-radius:8px;padding:20px;display:flex;flex-direction:column;gap:14px;min-width:0}
.cartao h2{margin:0;font-size:16px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}
.kpi{background:#fff;border:1px solid var(--borda);border-radius:8px;padding:18px;display:flex;flex-direction:column;gap:4px}
.kpi span{font-size:13px;color:var(--suave)} .kpi strong{font-size:26px}
.linha{display:flex;flex-wrap:wrap;gap:16px} .linha>*{flex:1 1 300px}
.rolagem{overflow-x:auto}
table.dados{width:100%;border-collapse:collapse;font-size:13px}
table.dados th{text-align:left;color:var(--suave);font-size:12px;font-weight:600;padding:10px 8px;background:#FBF8FC;white-space:nowrap}
table.dados td{padding:11px 8px;border-top:1px solid var(--borda-leve);vertical-align:middle}
table.dados tr.destaque td{background:var(--lilas)}
.num{text-align:right;font-variant-numeric:tabular-nums}
.filtros{display:flex;flex-wrap:wrap;gap:10px;align-items:center} .filtros input{flex:1 1 280px} .filtros select{width:auto}
.mini-foto{width:44px;height:44px;border-radius:6px;overflow:hidden;flex-shrink:0}
.barras{height:180px;display:flex;align-items:flex-end;gap:6px;border-bottom:1px solid var(--borda)}
.barras div{flex:1;background:var(--lilas-medio);border-radius:3px 3px 0 0;min-height:2px}
.barras div:last-child{background:var(--roxo)}
.leitor{display:flex;flex-direction:column;gap:10px;padding:18px;background:var(--lilas);border:2px dashed var(--roxo);border-radius:8px}
.leitor input{min-height:56px;font:20px ui-monospace,monospace}
.retorno{padding:12px 14px;border-radius:6px;font-weight:600;font-size:14px}
.retorno.ok{background:var(--verde-fundo);color:#1F6B44} .retorno.erro{background:var(--vermelho-fundo);color:var(--vermelho)}
.progresso{height:8px;background:var(--borda-leve);border-radius:999px;overflow:hidden} .progresso div{height:100%;background:var(--roxo)}
.fila a{display:flex;flex-direction:column;gap:2px;padding:12px;border-radius:6px;border:1px solid var(--borda-leve);text-decoration:none;color:var(--tinta)}
.fila a.ativo{border:2px solid var(--roxo);background:var(--lilas)}
.paginacao{display:flex;gap:8px;align-items:center;font-size:13px}
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--roxo-fundo);padding:24px}
.login form{background:#fff;padding:36px;border-radius:8px;width:100%;max-width:380px;display:flex;flex-direction:column;gap:16px}

/* ---------------- etiquetas (impressão) */
.folha-etiquetas{display:flex;flex-wrap:wrap;gap:6mm;padding:6mm}
.etiqueta{display:flex;align-items:center;break-inside:avoid}
.etq-cod{width:38mm;height:18mm;border:1px solid #bbb;border-radius:1mm 0 0 1mm;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1mm}
.etq-cod svg{width:34mm;height:9mm}
.etq-cod .c{font:7pt ui-monospace,monospace} .etq-cod .s{font:6pt ui-monospace,monospace;color:#444}
.etq-fio{width:16mm;height:1mm;background:#bbb}
.etq-marca{width:18mm;height:18mm;background:#7E2B8F;color:#fff;border-radius:0 1mm 1mm 0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:7pt;font-weight:700}
.etq-marca span{font-family:var(--serif);letter-spacing:.2em;font-weight:500;font-size:8pt}
@media print{.nao-imprimir{display:none!important} body{background:#fff} .folha-etiquetas{padding:0}
  .etq-marca{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
@media (max-width:640px){.galeria .miniaturas{display:none} .conteudo{padding:20px 16px} .hero .container{padding-top:40px;padding-bottom:40px}}
