/* A Caminho do Lar · loja virtual (demonstração)
   Paleta medida no manual de marca. Verde Oliva domina. */
:root{
  --oliva:#616749; --oliva-esc:#535940; --musgo:#3B3F2A; --salvia:#A2A673; --salvia-cl:#D9DABF;
  --linho:#F7EBD2; --linho-esc:#EEDFC0; --algodao:#FBF7EE; --lavanda:#8E7A91; --barro:#A8824F;
  --tinta:#2E3122; --tinta-2:#5E624C; --fio:rgba(59,63,42,.16); --fio-cl:rgba(247,235,210,.22);
  --serif:'Cormorant Garamond', 'Times New Roman', serif;
  --caps:'Cinzel', 'Times New Roman', serif;
  --sans:'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --raio:14px; --raio-p:10px;
  --larg:1320px; --gut:clamp(16px, 4vw, 48px);
  --suave:cubic-bezier(.22,.8,.2,1); --cine:cubic-bezier(.7,0,.18,1);
  --sombra:0 1px 2px rgba(46,49,34,.05), 0 12px 32px -12px rgba(46,49,34,.18);
  --topo-h:84px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:120px}
body{margin:0;background:var(--algodao);color:var(--tinta);font:400 15.5px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
:focus-visible{outline:2px solid var(--barro);outline-offset:3px;border-radius:4px}
::selection{background:var(--salvia-cl);color:var(--musgo)}
[hidden]{display:none!important}
svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.num{font-variant-numeric:tabular-nums}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pular-conteudo{position:fixed;left:16px;top:-60px;z-index:200;background:var(--musgo);color:var(--linho);padding:10px 16px;border-radius:8px}
.pular-conteudo:focus{top:12px}
.envolve{max-width:var(--larg);margin:0 auto;padding:0 var(--gut)}

/* ---------- tipografia ---------- */
.sobre{font:500 11.5px/1.2 var(--caps);letter-spacing:.22em;text-transform:uppercase;color:var(--barro);margin:0 0 18px}
.titulo{font:500 clamp(34px,4.6vw,60px)/1.04 var(--serif);letter-spacing:-.01em;margin:0;color:var(--musgo)}
.titulo em{font-style:italic;font-weight:400;color:var(--oliva)}
.titulo-m{font:500 clamp(28px,3.2vw,42px)/1.1 var(--serif);margin:0;color:var(--musgo)}
.titulo-p{font:500 24px/1.2 var(--serif);margin:0;color:var(--musgo)}
.lead{font-size:17px;line-height:1.7;color:var(--tinta-2);max-width:52ch;margin:20px 0 0}
.no-escuro .sobre{color:var(--salvia-cl)}
.no-escuro .titulo,.no-escuro .titulo-m,.no-escuro .titulo-p{color:var(--linho)}
.no-escuro .titulo em{color:var(--salvia-cl)}
.no-escuro .lead{color:rgba(247,235,210,.82)}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;border-radius:999px;font:500 14px/1 var(--sans);letter-spacing:.02em;transition:background .35s var(--suave),color .35s,transform .35s var(--suave),box-shadow .35s;white-space:nowrap;position:relative;overflow:hidden;isolation:isolate}
.btn svg{width:18px;height:18px;transition:transform .45s var(--suave)}
.btn:hover svg{transform:translateX(4px)}
.btn--oliva{background:var(--oliva);color:var(--linho)}
.btn--oliva:hover{background:var(--musgo)}
.btn--linho{background:var(--linho);color:var(--musgo)}
.btn--linho:hover{background:#fff}
.btn--fio{border:1px solid currentColor;color:var(--musgo)}
.btn--fio:hover{background:var(--musgo);color:var(--linho);border-color:var(--musgo)}
.no-escuro .btn--fio{color:var(--linho)}
.no-escuro .btn--fio:hover{background:var(--linho);color:var(--musgo);border-color:var(--linho)}
.btn--largo{width:100%}
.btn--whats{background:#fff;color:var(--musgo);border:1px solid var(--fio)}
.btn--whats:hover{border-color:var(--oliva)}
.btn[disabled]{opacity:.5;pointer-events:none}
.link-seta{display:inline-flex;align-items:center;gap:8px;font:500 14px var(--sans);color:var(--oliva);border-bottom:1px solid transparent;padding-bottom:2px;transition:border-color .3s,gap .35s var(--suave)}
.link-seta svg{width:16px;height:16px}
.link-seta:hover{border-color:currentColor;gap:12px}
.no-escuro .link-seta{color:var(--linho)}

/* ---------- abertura ---------- */
.abertura{position:fixed;inset:0;z-index:500;background:radial-gradient(120% 90% at 50% 40%, var(--algodao) 0%, var(--linho) 70%, var(--linho-esc) 100%);display:grid;place-items:center;overflow:hidden;cursor:pointer}
.sem-abertura .abertura{display:none}
.abertura__palco{position:relative;width:min(78vw,560px,62vh);display:flex;flex-direction:column;align-items:center}
.abertura__camera{width:100%;transform-origin:49.9% 78.8%;transform:scale(4.2);opacity:0;will-change:transform}
.abertura__casa{position:relative;width:100%}
.abertura__img{width:100%;position:relative;z-index:2}
.abertura__luz{position:absolute;z-index:1;left:43.25%;top:61.7%;width:13.44%;height:34.2%;border-radius:999px 999px 2px 2px;background:radial-gradient(70% 60% at 50% 70%, #fffaf0 0%, #fbe9c4 45%, #e9c98d 100%);box-shadow:0 0 0 0 rgba(251,233,196,0)}
.abertura__vao{position:absolute;z-index:3;left:43.25%;top:61.7%;width:13.44%;height:34.2%;perspective:900px}
.abertura__porta{position:absolute;left:50%;bottom:-1.5%;height:104%;width:auto;max-width:none;transform:translateX(-50%) rotateY(0deg);transform-origin:9% 50%;backface-visibility:hidden;filter:drop-shadow(0 0 0 rgba(0,0,0,0))}
.abertura__nome{width:100%;display:flex;flex-direction:column;align-items:center;margin-top:2.5%}
.abertura__letreiro{width:92%;clip-path:inset(0 100% 0 0);-webkit-clip-path:inset(0 100% 0 0)}
.abertura__descritor{width:62%;margin-top:4.5%;opacity:0;transform:translateY(8px);letter-spacing:0}
.abertura__ornamento{width:36%;margin-top:4%;opacity:0;transform:scale(.8)}
.abertura__pular{position:absolute;right:24px;bottom:max(24px,env(safe-area-inset-bottom));font:500 11px var(--caps);letter-spacing:.24em;text-transform:uppercase;color:var(--tinta-2);padding:10px 14px;border-radius:999px;opacity:0;transition:opacity .4s,background .3s}
.abertura__pular:hover{background:rgba(97,103,73,.08)}
.abertura.ativa .abertura__pular{opacity:1;transition-delay:.8s}

.abertura.ativa .abertura__camera{animation:cam-entra .7s var(--suave) forwards, cam-recua 1.5s var(--cine) 1.4s forwards}
.abertura.ativa .abertura__porta{animation:porta-abre 1.05s cubic-bezier(.55,0,.25,1) .6s forwards}
.abertura.ativa .abertura__luz{animation:luz 1.4s ease .7s forwards}
.abertura.ativa .abertura__letreiro{animation:escreve 1.2s cubic-bezier(.45,.05,.3,1) 2.4s forwards}
.abertura.ativa .abertura__descritor{animation:sobe .8s var(--suave) 3.2s forwards}
.abertura.ativa .abertura__ornamento{animation:brota .8s var(--suave) 3.4s forwards}
.abertura.saindo{animation:abre-cortina 1.05s var(--cine) forwards;pointer-events:none}
.abertura.saindo .abertura__palco{animation:palco-sai 1.05s var(--cine) forwards}
@keyframes cam-entra{from{opacity:0;transform:scale(4.6)}to{opacity:1;transform:scale(4.2)}}
@keyframes cam-recua{from{opacity:1;transform:scale(4.2)}to{opacity:1;transform:scale(1)}}
@keyframes porta-abre{0%{transform:translateX(-50%) rotateY(0)}12%{transform:translateX(-50%) rotateY(6deg)}100%{transform:translateX(-50%) rotateY(-118deg);filter:drop-shadow(-6px 0 8px rgba(46,49,34,.25)) brightness(.86)}}
@keyframes luz{0%{box-shadow:0 0 0 0 rgba(251,233,196,0)}45%{box-shadow:0 0 60px 26px rgba(253,240,210,.95)}100%{box-shadow:0 0 22px 8px rgba(253,240,210,.65)}}
@keyframes escreve{to{clip-path:inset(0 0 0 0);-webkit-clip-path:inset(0 0 0 0)}}
@keyframes sobe{to{opacity:1;transform:none}}
@keyframes brota{to{opacity:1;transform:none}}
@keyframes abre-cortina{0%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 0 100% 0)}}
@keyframes palco-sai{to{transform:translateY(-14vh) scale(.92);opacity:0}}
.movimento-reduzido .abertura.ativa .abertura__camera{animation:none;opacity:1;transform:none}
.movimento-reduzido .abertura.ativa .abertura__porta{animation:none;transform:translateX(-50%) rotateY(-118deg)}
.movimento-reduzido .abertura.ativa .abertura__letreiro{animation:none;clip-path:none}
.movimento-reduzido .abertura.ativa .abertura__descritor,.movimento-reduzido .abertura.ativa .abertura__ornamento{animation:none;opacity:1;transform:none}
.movimento-reduzido .abertura.saindo{animation:some .5s forwards}
@keyframes some{to{opacity:0}}
body.abrindo{overflow:hidden}

/* ---------- faixa de avisos ---------- */
.faixa-aviso{background:var(--musgo);color:var(--linho);height:36px;overflow:hidden;position:relative;font:500 10.5px/36px var(--caps);letter-spacing:.2em;text-transform:uppercase}
.faixa-aviso__trilho{display:flex;justify-content:center;gap:56px;white-space:nowrap}
.faixa-aviso__trilho span{display:inline-flex;align-items:center;gap:56px}
.faixa-aviso__trilho span+span::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--salvia);margin-right:0;display:inline-block;margin-left:-28px;margin-right:22px}
.faixa-aviso .dup{display:none}
@media (max-width:1280px){
  .faixa-aviso .dup{display:inline-flex}
  .faixa-aviso__trilho{justify-content:flex-start;width:max-content;animation:rola 34s linear infinite;gap:0}
  .faixa-aviso__trilho span{padding-right:56px}
  .faixa-aviso__trilho span+span::before{display:none}
}
@keyframes rola{to{transform:translateX(-50%)}}

/* ---------- topo ---------- */
.topo{position:sticky;top:0;z-index:60;background:rgba(251,247,238,.86);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color .4s,box-shadow .4s,background .4s}
.topo.rolou{border-color:var(--fio);background:rgba(251,247,238,.94)}
.topo__in{max-width:1440px;margin:0 auto;padding:0 var(--gut);height:var(--topo-h);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;transition:height .45s var(--suave)}
.topo.rolou .topo__in{height:68px}
.topo__nav{display:flex;gap:clamp(14px,2vw,30px);font:500 13.5px var(--sans);letter-spacing:.01em}
.topo__nav a,.topo__link-historia{position:relative;padding:8px 0;color:var(--tinta);transition:color .3s}
.topo__nav a::after,.topo__link-historia::after{content:'';position:absolute;left:50%;bottom:2px;width:4px;height:4px;border-radius:50%;background:var(--oliva);transform:translateX(-50%) scale(0);transition:transform .35s var(--suave)}
.topo__nav a:hover::after,.topo__nav a.ativo::after,.topo__link-historia:hover::after,.topo__link-historia.ativo::after{transform:translateX(-50%) scale(1)}
.topo__nav a:hover,.topo__nav a.ativo{color:var(--oliva)}
.topo__marca{display:flex;align-items:center;gap:10px;justify-self:center}
.topo__casa{height:52px;width:auto;transition:height .45s var(--suave)}
.topo__letreiro{height:47px;width:auto;transition:height .45s var(--suave)}
.topo.rolou .topo__casa{height:42px}
.topo.rolou .topo__letreiro{height:38px}
.topo__acoes{display:flex;align-items:center;justify-content:flex-end;gap:4px}
.topo__link-historia{font:500 13.5px var(--sans);margin-right:14px}
.icone-btn{position:relative;width:44px;height:44px;display:inline-grid;place-items:center;border-radius:50%;color:var(--musgo);transition:background .3s}
.icone-btn:hover{background:rgba(97,103,73,.09)}
.bolha{position:absolute;top:5px;right:3px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--oliva);color:var(--linho);font:600 10.5px/18px var(--sans);text-align:center}
.bolha.pulsa{animation:pulsa .6s var(--suave)}
@keyframes pulsa{40%{transform:scale(1.45)}}
.topo__menu{display:none}
@media (max-width:1080px){
  .topo__nav,.topo__link-historia{display:none}
  .topo__menu{display:inline-grid}
  .topo__in{grid-template-columns:auto 1fr auto;gap:8px}
  .icone-btn--fav{display:none}
}
@media (max-width:520px){
  :root{--topo-h:66px}
  .topo__casa{height:34px}.topo__letreiro{height:30px}
  .topo.rolou .topo__in{height:60px}
  .topo.rolou .topo__casa{height:30px}.topo.rolou .topo__letreiro{height:27px}
  .topo__acoes a[href="#/conta"]{display:none}
}

/* ---------- gavetas ---------- */
.gaveta{position:fixed;inset:0;z-index:120;visibility:hidden}
.gaveta.aberta{visibility:visible}
.gaveta__fundo{position:absolute;inset:0;background:rgba(46,49,34,.38);opacity:0;transition:opacity .45s}
.gaveta.aberta .gaveta__fundo{opacity:1}
.gaveta__painel{position:absolute;top:0;bottom:0;width:min(440px,92vw);background:var(--algodao);display:flex;flex-direction:column;transition:transform .55s var(--cine);box-shadow:0 0 60px rgba(46,49,34,.2)}
.gaveta--sacola .gaveta__painel{right:0;transform:translateX(100%)}
.gaveta--menu .gaveta__painel{left:0;transform:translateX(-100%)}
.gaveta.aberta .gaveta__painel{transform:none}
.gaveta__topo{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 18px 28px;border-bottom:1px solid var(--fio)}
.gaveta__titulo{font:500 26px var(--serif);margin:0;color:var(--musgo)}
.gaveta__logo{height:38px;width:auto}
.gaveta__nav{display:flex;flex-direction:column;padding:16px 28px}
.gaveta__nav a{font:500 26px/1.2 var(--serif);color:var(--musgo);padding:12px 0;border-bottom:1px solid var(--fio)}
.gaveta__nav--sec a{font:500 15px var(--sans);color:var(--tinta-2);border:0;padding:9px 0}

/* sacola */
.sacola{flex:1;display:flex;flex-direction:column;min-height:0}
.sacola__frete{padding:18px 28px;border-bottom:1px solid var(--fio);font-size:13.5px;color:var(--tinta-2)}
.sacola__frete strong{color:var(--oliva);font-weight:600}
.barra{height:4px;border-radius:9px;background:var(--linho-esc);margin-top:10px;overflow:hidden}
.barra i{display:block;height:100%;background:var(--oliva);border-radius:9px;transition:width .8s var(--suave)}
.sacola__itens{flex:1;overflow:auto;padding:8px 28px}
.item-sacola{display:grid;grid-template-columns:84px 1fr auto;gap:16px;padding:18px 0;border-bottom:1px solid var(--fio);animation:entra-item .5s var(--suave)}
@keyframes entra-item{from{opacity:0;transform:translateX(16px)}}
.item-sacola img{width:84px;height:104px;object-fit:cover;border-radius:var(--raio-p);background:var(--linho)}
.item-sacola__nome{font:500 19px/1.15 var(--serif);color:var(--musgo);margin:0}
.item-sacola__var{font-size:12.5px;color:var(--tinta-2);margin:4px 0 10px}
.item-sacola__preco{font-weight:600;font-size:14px;text-align:right}
.item-sacola__remover{font-size:12px;color:var(--tinta-2);text-decoration:underline;text-underline-offset:3px;margin-top:8px}
.qtd{display:inline-flex;align-items:center;border:1px solid var(--fio);border-radius:999px;height:36px}
.qtd button{width:34px;height:34px;display:grid;place-items:center;color:var(--musgo);border-radius:50%}
.qtd button:hover{background:rgba(97,103,73,.08)}
.qtd svg{width:14px;height:14px}
.qtd span{min-width:22px;text-align:center;font-size:14px;font-variant-numeric:tabular-nums}
.qtd--g{height:52px}.qtd--g button{width:46px;height:50px}
.sacola__rodape{padding:20px 28px calc(24px + env(safe-area-inset-bottom));border-top:1px solid var(--fio);background:var(--algodao);display:grid;gap:10px}
.linha-total{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;color:var(--tinta-2)}
.linha-total strong{font:600 22px var(--serif);color:var(--musgo);font-variant-numeric:tabular-nums}
.sacola__pix{font-size:12.5px;color:var(--oliva);text-align:right;margin:-6px 0 6px}
.sacola__vazia{flex:1;display:grid;place-items:center;text-align:center;padding:40px}
.sacola__vazia img{width:150px;margin:0 auto 18px;opacity:.95}
.sacola__vazia p{color:var(--tinta-2);margin:8px 0 22px}

/* busca */
.busca{position:fixed;inset:0;z-index:130;background:rgba(251,247,238,.97);backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
.busca.aberta{opacity:1;visibility:visible}
.busca__in{max-width:900px;margin:0 auto;padding:clamp(24px,8vh,90px) var(--gut)}
.busca__campo{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--musgo);padding-bottom:14px}
.busca__campo>svg{width:26px;height:26px;color:var(--oliva)}
.busca__campo input{flex:1;border:0;background:none;font:500 clamp(24px,3.4vw,38px) var(--serif);color:var(--musgo);outline:none;min-width:0}
.busca__campo input::placeholder{color:rgba(94,98,76,.55)}
.busca__sugestoes{margin-top:30px}
.busca__res{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:22px}
.busca__res a{display:block}
.busca__res img{aspect-ratio:4/5;object-fit:cover;border-radius:var(--raio-p);margin-bottom:10px;background:var(--linho)}
.busca__res span{font:500 18px/1.2 var(--serif);color:var(--musgo)}
.busca__chips{display:flex;flex-wrap:wrap;gap:10px}

/* chips */
.chip{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 18px;border-radius:999px;border:1px solid var(--fio);font-size:13.5px;color:var(--tinta);background:transparent;transition:all .3s}
.chip:hover{border-color:var(--oliva);color:var(--oliva)}
.chip.ativo{background:var(--oliva);border-color:var(--oliva);color:var(--linho)}

/* ---------- herói ---------- */
.heroi{background:var(--oliva);color:var(--linho);position:relative;overflow:hidden}
.heroi::before{content:'';position:absolute;inset:0;background-image:url(../marca/coracao-linho.svg);background-size:46px;background-repeat:space;opacity:.045;pointer-events:none}
.heroi__in{max-width:1440px;margin:0 auto;padding:clamp(40px,6vw,84px) var(--gut) 0;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:end;min-height:min(780px,calc(100svh - 120px))}
.heroi__texto{padding-bottom:clamp(40px,7vw,110px);align-self:center}
.heroi .titulo{font-size:clamp(44px,6.4vw,92px);line-height:.98}
.heroi__acoes{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
.heroi__selos{display:flex;flex-wrap:wrap;gap:12px 30px;margin-top:54px;padding-top:26px;border-top:1px solid var(--fio-cl);font-size:13px;color:rgba(247,235,210,.8)}
.heroi__selos span{display:inline-flex;align-items:center;gap:10px}
.heroi__selos svg{width:18px;height:18px;color:var(--salvia-cl)}
.heroi__foto{position:relative;align-self:end;height:100%;min-height:520px;display:flex;align-items:flex-end}
.arco{border-radius:999px 999px 0 0;overflow:hidden;position:relative;background:var(--oliva-esc)}
.arco img{width:100%;height:100%;object-fit:cover}
.heroi__arco{width:100%;height:calc(100% - 10px);min-height:510px}
.heroi__arco img{transform:scale(1.06);transition:transform 1.8s var(--suave)}
.pronto .heroi__arco img{transform:scale(1)}
.heroi__contorno{position:absolute;inset:-14px -14px 0 -14px;border:1px solid var(--fio-cl);border-bottom:0;border-radius:999px 999px 0 0;pointer-events:none}
.heroi__slides{position:absolute;inset:0}
.heroi__slides img{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease, transform 7s linear}
.heroi__slides img.ativa{opacity:1;transform:scale(1.04)}
.etiqueta-preco{position:absolute;left:-46px;bottom:90px;z-index:3;background:var(--algodao);color:var(--musgo);width:178px;padding:26px 18px 18px;border-radius:12px 12px 14px 14px;box-shadow:0 24px 50px -18px rgba(30,33,20,.5);transform:rotate(-5deg);transform-origin:50% 0;animation:balanca 6s ease-in-out infinite;text-align:center}
.etiqueta-preco::before{content:'';position:absolute;top:10px;left:50%;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:var(--oliva);box-shadow:inset 0 0 0 2px var(--algodao)}
.etiqueta-preco small{display:block;font:500 9.5px var(--caps);letter-spacing:.2em;text-transform:uppercase;color:var(--barro)}
.etiqueta-preco b{display:block;font:500 21px/1.1 var(--serif);margin:6px 0 8px}
.etiqueta-preco span{font-size:12px;color:var(--tinta-2)}
.etiqueta-preco strong{display:block;font:600 22px var(--serif);color:var(--oliva);margin-top:2px}
@keyframes balanca{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(-2deg)}}
.heroi__pontos{position:absolute;right:26px;bottom:26px;z-index:3;display:flex;gap:8px}
.heroi__pontos button{width:9px;height:9px;border-radius:50%;background:rgba(247,235,210,.45);transition:background .3s,transform .3s}
.heroi__pontos button.ativo{background:var(--linho);transform:scale(1.25)}
@media (max-width:900px){
  .heroi__in{grid-template-columns:minmax(0,1fr);min-height:0;padding-top:44px}
  .heroi__texto{padding-bottom:0}
  .heroi__foto{min-height:0;height:auto;margin:0 6px}
  .heroi__arco{height:auto;aspect-ratio:4/4.6;min-height:0}
  .etiqueta-preco{left:-2px;bottom:40px;width:150px;padding:22px 14px 14px}
  .etiqueta-preco b{font-size:18px}
  .heroi__selos{margin-top:36px}
}

/* barrado vichy, a textura da própria marca */
.vichy{height:18px;background-color:var(--linho);background-image:linear-gradient(90deg,rgba(97,103,73,.42) 50%,transparent 50%),linear-gradient(rgba(97,103,73,.42) 50%,transparent 50%);background-size:12px 12px}
.vichy--fino{height:10px}

/* faixa que rola */
.fita{background:var(--linho);color:var(--oliva);overflow:hidden;padding:22px 0;border-bottom:1px solid var(--fio)}
.fita__trilho{display:flex;width:max-content;animation:rola 40s linear infinite}
.fita__trilho span{display:inline-flex;align-items:center;gap:34px;padding-right:34px;font:italic 500 clamp(20px,2.2vw,28px) var(--serif);white-space:nowrap}
.fita__trilho img{width:22px;height:auto;opacity:.8}

/* ---------- seções ---------- */
.secao{padding:clamp(70px,9vw,130px) 0}
.secao--linho{background:var(--linho)}
.secao--oliva{background:var(--oliva);color:var(--linho)}
.secao--musgo{background:var(--musgo);color:var(--linho)}
.cabeca-secao{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:clamp(34px,4vw,56px);flex-wrap:wrap}
.cabeca-secao--centro{flex-direction:column;align-items:center;text-align:center}
.cabeca-secao--centro .lead{margin-left:auto;margin-right:auto}

/* categorias */
.categorias{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(14px,2vw,28px)}
.categoria{display:block;text-align:center;group:1}
.categoria .arco{aspect-ratio:3/4;margin-bottom:18px;background:var(--linho)}
.categoria .arco img{transition:transform 1.2s var(--suave)}
.categoria:hover .arco img{transform:scale(1.07)}
.categoria .arco::after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(59,63,42,.08)}
.categoria b{display:block;font:500 22px/1.1 var(--serif);color:var(--musgo)}
.categoria small{display:block;margin-top:6px;font-size:12.5px;color:var(--tinta-2)}
@media (max-width:1000px){.categorias{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:620px){
  .categorias{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(var(--gut) * -1);padding:0 var(--gut) 8px;scrollbar-width:none;scroll-padding-left:var(--gut)}
  .categorias::-webkit-scrollbar{display:none}
  .categoria{flex:0 0 42%;scroll-snap-align:start}
}

/* grade de produtos */
.grade{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.4vw,34px) clamp(14px,2vw,26px)}
.grade--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1100px){.grade{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.grade,.grade--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
.card{position:relative;display:flex;flex-direction:column}
.card__midia{position:relative;border-radius:var(--raio);overflow:hidden}
.card__foto{position:relative;aspect-ratio:4/5;border-radius:var(--raio);overflow:hidden;background:var(--linho);display:block}
.card__foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .8s var(--suave),transform 1.4s var(--suave)}
.card__foto img+img{opacity:0}
.card:hover .card__foto img:first-child{transform:scale(1.05)}
.card:hover .card__foto img+img{opacity:1;transform:scale(1.03)}
.card__selo{position:absolute;top:14px;left:14px;z-index:2;background:var(--algodao);color:var(--oliva);font:500 9.5px/1 var(--caps);letter-spacing:.18em;text-transform:uppercase;padding:8px 11px;border-radius:999px}
.card__selo--oliva{background:var(--oliva);color:var(--linho)}
.card__fav{position:absolute;top:10px;right:10px;z-index:2;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(251,247,238,.9);color:var(--musgo);transition:transform .35s var(--suave),color .3s}
.card__fav:hover{transform:scale(1.1)}
.card__fav svg{width:19px;height:19px}
.card__fav.ativo{color:var(--oliva)}
.card__fav.ativo svg{fill:var(--oliva)}
.card__add{position:absolute;left:12px;right:12px;bottom:12px;z-index:2;height:46px;border-radius:999px;background:var(--algodao);color:var(--musgo);font:500 13px var(--sans);display:flex;align-items:center;justify-content:center;gap:8px;transform:translateY(calc(100% + 16px));transition:transform .5s var(--suave),background .3s,color .3s}
.card__add svg{width:17px;height:17px}
.card:hover .card__add,.card:focus-within .card__add{transform:none}
.card__add:hover{background:var(--oliva);color:var(--linho)}
@media (hover:none){.card__add{display:none}}
.card__info{padding-top:16px;display:flex;flex-direction:column;gap:4px}
.card__linha{font:500 10px var(--caps);letter-spacing:.2em;text-transform:uppercase;color:var(--barro)}
.card__nome{font:500 21px/1.15 var(--serif);color:var(--musgo);margin:0}
.card__nome a:hover{color:var(--oliva)}
.card__preco{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:4px;font-variant-numeric:tabular-nums}
.card__preco b{font-weight:600;font-size:15px}
.card__preco s{font-size:13px;color:var(--tinta-2)}
.card__parcela{font-size:12.5px;color:var(--tinta-2)}
.card__cores{display:flex;gap:6px;margin-top:8px}
.card__cores i{width:12px;height:12px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
@media (max-width:520px){.card__nome{font-size:18px}.card__parcela{display:none}}

/* destaque percal */
.percal{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,6vw,96px);align-items:center}
.percal__foto{position:relative}
.percal__foto .arco{aspect-ratio:4/5}
.percal__selo{position:absolute;right:-18px;top:40px;width:118px;height:118px;border-radius:50%;background:var(--linho);display:grid;place-items:center;text-align:center;box-shadow:var(--sombra);animation:gira 30s linear infinite}
.percal__selo svg{position:absolute;inset:0;width:100%;height:100%;stroke:none;fill:var(--oliva)}
.percal__selo text{font:500 10.4px var(--caps);letter-spacing:.24em}
.percal__selo img{width:46px;animation:gira 30s linear infinite reverse}
@keyframes gira{to{transform:rotate(360deg)}}
.fios{margin-top:36px;border-top:1px solid var(--fio)}
.fio-op{display:grid;grid-template-columns:88px 1fr auto;gap:20px;align-items:center;padding:20px 4px;border-bottom:1px solid var(--fio);width:100%;text-align:left;transition:background .35s,padding .35s var(--suave)}
.fio-op:hover,.fio-op.ativo{background:rgba(247,235,210,.7);padding-left:16px;padding-right:16px}
.fio-op__n{font:500 44px/1 var(--serif);color:var(--oliva);font-variant-numeric:lining-nums}
.fio-op__n small{display:block;font:500 9.5px var(--caps);letter-spacing:.2em;color:var(--barro);margin-top:4px}
.fio-op__t b{display:block;font:500 20px/1.2 var(--serif);color:var(--musgo)}
.fio-op__t span{font-size:13.5px;color:var(--tinta-2)}
.fio-op__p{font-size:13px;color:var(--tinta-2);text-align:right;font-variant-numeric:tabular-nums}
.fio-op__p b{display:block;font-size:15px;color:var(--musgo)}
.fio-maciez{display:flex;gap:4px;margin-top:8px}
.fio-maciez i{width:8px;height:8px;border-radius:50%;background:var(--linho-esc)}
.fio-maciez i.on{background:var(--salvia)}
@media (max-width:900px){.percal{grid-template-columns:minmax(0,1fr)}.percal__selo{right:6px;width:100px;height:100px}}
@media (max-width:520px){.fio-op{grid-template-columns:64px 1fr}.fio-op__p{grid-column:2;text-align:left}.fio-op__n{font-size:36px}}

/* manifesto */
.manifesto{position:relative;overflow:hidden}
.manifesto::before{content:'';position:absolute;inset:0;background-image:url(../marca/coracao-linho.svg);background-size:46px;background-repeat:space;opacity:.04}
.manifesto__in{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,6vw,100px);align-items:start}
.versiculo{margin:34px 0 0;font:italic 400 clamp(22px,2.2vw,28px)/1.45 var(--serif);color:var(--linho);max-width:30ch}
.versiculo cite{display:block;margin-top:14px;font:500 11px var(--caps);font-style:normal;letter-spacing:.22em;color:var(--salvia-cl)}
.valores{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--fio-cl)}
.valor{padding:34px 26px 34px 0;border-bottom:1px solid var(--fio-cl)}
.valor:nth-child(odd){border-right:1px solid var(--fio-cl)}
.valor:nth-child(even){padding-left:30px}
.valor__n{font:500 13px var(--caps);letter-spacing:.2em;color:var(--salvia)}
.valor b{display:block;font:500 34px/1.1 var(--serif);margin:12px 0 10px;color:var(--linho)}
.valor p{margin:0;font-size:14.5px;line-height:1.65;color:rgba(247,235,210,.78)}
@media (max-width:900px){.manifesto__in{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.valores{grid-template-columns:minmax(0,1fr)}.valor:nth-child(odd){border-right:0}.valor:nth-child(even){padding-left:0}}

/* caderno */
.caderno{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(30px,6vw,90px);align-items:center}
.caderno__fotos{position:relative;aspect-ratio:1/0.92}
.caderno__fotos img{position:absolute;border-radius:10px;box-shadow:0 30px 60px -24px rgba(46,49,34,.45);transition:transform .9s var(--suave)}
.caderno__fotos img:nth-child(1){width:52%;left:4%;top:6%;transform:rotate(-6deg);z-index:1}
.caderno__fotos img:nth-child(2){width:52%;left:44%;top:0;transform:rotate(4deg);z-index:2}
.caderno__fotos img:nth-child(3){width:46%;left:26%;top:34%;transform:rotate(-1deg);z-index:3}
.caderno__fotos:hover img:nth-child(1){transform:rotate(-9deg) translateX(-12px)}
.caderno__fotos:hover img:nth-child(2){transform:rotate(7deg) translateX(12px)}
.caderno__fotos:hover img:nth-child(3){transform:rotate(0) translateY(-10px)}
.caderno__lista{list-style:none;padding:0;margin:28px 0 34px;display:grid;gap:12px}
.caderno__lista li{display:flex;gap:12px;align-items:flex-start;color:var(--tinta-2)}
.caderno__lista svg{flex:none;width:18px;height:18px;color:var(--oliva);margin-top:3px}
@media (max-width:900px){.caderno{grid-template-columns:minmax(0,1fr)}}

/* história */
.historia{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(30px,6vw,96px);align-items:center}
.historia__foto{position:relative}
.historia__foto .arco{aspect-ratio:4/5}
.historia__assina{display:flex;align-items:center;gap:16px;margin-top:30px}
.historia__assina b{font:italic 500 30px var(--serif);color:var(--oliva)}
.historia__assina small{display:block;font:500 10px var(--caps);letter-spacing:.2em;color:var(--barro);text-transform:uppercase}
.citacao{font:italic 400 clamp(26px,2.8vw,38px)/1.3 var(--serif);color:var(--musgo);margin:0}
@media (max-width:900px){.historia{grid-template-columns:minmax(0,1fr)}.historia__foto{max-width:460px}}

/* como funciona */
.passos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--fio)}
.passo{padding:34px 28px 10px 0;position:relative}
.passo+.passo{padding-left:28px;border-left:1px solid var(--fio)}
.passo__icone{width:54px;height:54px;border-radius:50%;background:var(--linho);color:var(--oliva);display:grid;place-items:center;margin-bottom:22px}
.passo__icone svg{width:24px;height:24px}
.passo b{display:block;font:500 23px/1.2 var(--serif);color:var(--musgo);margin-bottom:8px}
.passo p{margin:0;font-size:14px;color:var(--tinta-2)}
@media (max-width:900px){.passos{grid-template-columns:1fr 1fr}.passo:nth-child(3){border-left:0;padding-left:0}}
@media (max-width:520px){.passos{grid-template-columns:minmax(0,1fr)}.passo+.passo{border-left:0;padding-left:0;border-top:1px solid var(--fio)}}

/* app */
.app{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(30px,6vw,90px);align-items:center}
.celular{width:280px;aspect-ratio:9/18.6;border-radius:42px;background:var(--musgo);padding:11px;box-shadow:0 40px 80px -30px rgba(0,0,0,.55);position:relative;transform:rotate(4deg)}
.celular__tela{width:100%;height:100%;border-radius:32px;overflow:hidden;background:var(--algodao);display:flex;flex-direction:column}
.celular__topo{display:flex;align-items:center;justify-content:center;gap:6px;padding:28px 0 12px;border-bottom:1px solid var(--fio)}
.celular__topo img:first-child{height:24px}.celular__topo img:last-child{height:22px}
.celular__banner{margin:12px;border-radius:999px 999px 10px 10px;overflow:hidden;aspect-ratio:1/1;position:relative}
.celular__banner img{width:100%;height:100%;object-fit:cover}
.celular__grade{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 12px}
.celular__grade img{aspect-ratio:1;object-fit:cover;border-radius:8px}
.celular__barra{margin-top:auto;display:flex;justify-content:space-around;padding:12px 0 16px;border-top:1px solid var(--fio);color:var(--oliva)}
.celular__barra svg{width:18px;height:18px}
@media (max-width:820px){.app{grid-template-columns:minmax(0,1fr)}.celular{margin:0 auto;width:240px}}

/* ---------- rodapé ---------- */
.rodape{background:var(--musgo);color:rgba(247,235,210,.78);font-size:14px}
.rodape__in{max-width:var(--larg);margin:0 auto;padding:clamp(60px,7vw,90px) var(--gut) 30px}
.rodape__grade{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px}
.rodape__marca img{height:76px;width:auto}
.rodape__marca p{max-width:34ch;margin:22px 0 0;line-height:1.7}
.rodape h3{font:500 11px var(--caps);letter-spacing:.22em;text-transform:uppercase;color:var(--salvia-cl);margin:6px 0 18px}
.rodape ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.rodape a:hover{color:var(--linho)}
.rodape__news{display:flex;margin-top:18px;border-bottom:1px solid var(--fio-cl)}
.rodape__news input{flex:1;min-width:0;background:none;border:0;padding:12px 0;color:var(--linho);outline:none}
.rodape__news input::placeholder{color:rgba(247,235,210,.5)}
.rodape__news button{color:var(--linho);padding:0 4px}
.rodape__pagamentos{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.rodape__pagamentos span{font:600 10.5px var(--sans);letter-spacing:.06em;border:1px solid var(--fio-cl);border-radius:6px;padding:6px 9px;color:var(--linho)}
.rodape__base{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:60px;padding-right:76px;padding-top:24px;border-top:1px solid var(--fio-cl);font-size:12.5px;color:rgba(247,235,210,.6)}
.credito{display:inline-flex;align-items:center;gap:6px}
.credito svg{width:13px;height:13px;fill:#e7a9a0;stroke:none}
.credito a{color:var(--linho);border-bottom:1px solid rgba(247,235,210,.35)}
@media (max-width:900px){.rodape__grade{grid-template-columns:1fr 1fr}.rodape__marca{grid-column:1/-1}}
@media (max-width:520px){.rodape__grade{grid-template-columns:minmax(0,1fr)}.rodape__in{padding-bottom:96px}}

/* whats + demo */
.whats-flutuante{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:70;width:56px;height:56px;border-radius:50%;background:var(--oliva);color:var(--linho);display:grid;place-items:center;box-shadow:0 14px 30px -10px rgba(46,49,34,.55);transition:transform .4s var(--suave),background .3s}
.whats-flutuante:hover{transform:translateY(-3px) scale(1.04);background:var(--musgo)}
.whats-flutuante svg{width:28px;height:28px;fill:currentColor;stroke:none}
.demo{position:fixed;left:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:71;max-width:calc(100vw - 110px)}
.demo__botao{display:inline-flex;align-items:center;gap:10px;height:42px;padding:0 18px;border-radius:999px;background:var(--algodao);color:var(--musgo);font:500 12.5px var(--sans);box-shadow:0 10px 30px -10px rgba(46,49,34,.35), inset 0 0 0 1px var(--fio)}
.demo__ponto{width:8px;height:8px;border-radius:50%;background:var(--barro);box-shadow:0 0 0 0 rgba(168,130,79,.6);animation:brilho 2.4s infinite}
@keyframes brilho{70%{box-shadow:0 0 0 9px rgba(168,130,79,0)}100%{box-shadow:0 0 0 0 rgba(168,130,79,0)}}
.demo__painel{position:absolute;left:0;bottom:54px;width:min(330px,calc(100vw - 40px));background:var(--algodao);border-radius:16px;padding:22px;box-shadow:0 30px 60px -20px rgba(46,49,34,.45), inset 0 0 0 1px var(--fio);animation:entra-item .4s var(--suave)}
.demo__titulo{font:500 22px var(--serif);color:var(--musgo);margin:0 0 12px}
.demo__lista{margin:0;padding:0 0 0 20px;display:grid;gap:8px;font-size:13.5px}
.demo__lista a,.demo__lista button{color:var(--oliva);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(97,103,73,.35);text-align:left}
.demo__nota{font-size:12px;color:var(--tinta-2);margin:16px 0 12px;line-height:1.5}
.demo__reiniciar{font-size:12px;color:var(--tinta-2);text-decoration:underline;text-underline-offset:3px}
@media (max-width:520px){.demo__botao{height:38px;padding:0 14px;font-size:11.5px}}

.aviso-toast{position:fixed;left:50%;top:22px;z-index:300;transform:translate(-50%,-220%);background:var(--musgo);color:var(--linho);padding:14px 22px;border-radius:999px;font-size:14px;display:flex;align-items:center;gap:10px;box-shadow:0 20px 40px -14px rgba(0,0,0,.4);transition:transform .55s var(--suave);max-width:calc(100vw - 32px)}
.aviso-toast.ver{transform:translate(-50%,0)}
.aviso-toast svg{width:18px;height:18px;color:var(--salvia-cl);flex:none}

/* ---------- aparição ---------- */
.surge{opacity:0;transform:translateY(26px);transition:opacity 1s var(--suave),transform 1.1s var(--suave)}
.surge.visto{opacity:1;transform:none}
.surge-d1{transition-delay:.08s}.surge-d2{transition-delay:.16s}.surge-d3{transition-delay:.24s}.surge-d4{transition-delay:.32s}
.movimento-reduzido .surge{opacity:1;transform:none;transition:none}
.heroi .surge{transition-duration:1.2s}

/* troca de página */
main{min-height:60vh;animation:pagina .6s var(--suave)}
@keyframes pagina{from{opacity:0;transform:translateY(10px)}}

/* ---------- loja (catálogo) ---------- */
.cabeca-loja{background:var(--linho);padding:clamp(40px,6vw,80px) 0 clamp(30px,4vw,50px);position:relative;overflow:hidden}
.cabeca-loja__in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:end}
.migalhas{display:flex;gap:10px;font-size:12.5px;color:var(--tinta-2);margin-bottom:18px;flex-wrap:wrap}
.migalhas a:hover{color:var(--oliva)}
.migalhas i{font-style:normal;opacity:.5}
.cabeca-loja__casa{width:200px;opacity:.95}
@media (max-width:700px){.cabeca-loja__casa{display:none}.cabeca-loja__in{grid-template-columns:minmax(0,1fr)}}
.barra-filtros{position:sticky;top:68px;z-index:20;background:rgba(251,247,238,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--fio)}
.barra-filtros__in{display:flex;gap:10px;align-items:center;padding-top:14px;padding-bottom:14px;overflow-x:auto;scrollbar-width:none}
.barra-filtros__in::-webkit-scrollbar{display:none}
.barra-filtros .chip{flex:none}
.loja{display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(26px,4vw,56px);padding-top:40px;padding-bottom:100px}
.filtros h3{font:500 11px var(--caps);letter-spacing:.2em;text-transform:uppercase;color:var(--barro);margin:0 0 14px}
.filtros fieldset{border:0;padding:0 0 26px;margin:0 0 26px;border-bottom:1px solid var(--fio)}
.marcar{display:flex;align-items:center;gap:12px;padding:6px 0;font-size:14px;cursor:pointer;color:var(--tinta)}
.marcar input{appearance:none;width:18px;height:18px;border:1px solid rgba(59,63,42,.35);border-radius:5px;display:grid;place-items:center;margin:0;transition:all .25s;flex:none}
.marcar input:checked{background:var(--oliva);border-color:var(--oliva)}
.marcar input:checked::after{content:'';width:5px;height:9px;border:solid var(--linho);border-width:0 1.6px 1.6px 0;transform:rotate(45deg) translate(-1px,-1px)}
.marcar small{margin-left:auto;color:var(--tinta-2);font-variant-numeric:tabular-nums}
.cores-filtro{display:flex;flex-wrap:wrap;gap:10px}
.cor-bolinha{width:30px;height:30px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);position:relative;transition:transform .3s var(--suave)}
.cor-bolinha:hover{transform:scale(1.1)}
.cor-bolinha.ativo::after{content:'';position:absolute;inset:-5px;border-radius:50%;border:1px solid var(--musgo)}
.faixa-preco{display:flex;gap:10px}
.campo-mini{flex:1 1 0;width:0;min-width:0;height:42px;border:1px solid var(--fio);border-radius:10px;background:#fff;padding:0 12px;font-size:14px}
.loja__topo{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;flex-wrap:wrap}
.loja__qtd{font-size:13.5px;color:var(--tinta-2)}
.seletor{height:42px;border:1px solid var(--fio);border-radius:999px;padding:0 40px 0 18px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23616749' stroke-width='1.6'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E") no-repeat right 14px center/16px;appearance:none;font-size:13.5px;color:var(--tinta)}
.btn-filtros{display:none}
.vazio{text-align:center;padding:60px 20px;color:var(--tinta-2)}
.vazio img{width:130px;margin:0 auto 16px}
@media (max-width:900px){
  .loja{grid-template-columns:minmax(0,1fr);padding-top:24px}
  .filtros{position:fixed;inset:0;z-index:125;background:var(--algodao);padding:24px var(--gut) 100px;overflow:auto;transform:translateY(100%);transition:transform .5s var(--cine)}
  .filtros.aberto{transform:none}
  .btn-filtros{display:inline-flex}
  .filtros__fechar{display:flex!important}
}
.filtros__fechar{display:none;justify-content:space-between;align-items:center;margin-bottom:22px}
.filtros__aplicar{display:none}
@media (max-width:900px){.filtros__aplicar{display:flex;position:fixed;left:var(--gut);right:var(--gut);bottom:20px;width:auto!important}}

/* ---------- produto ---------- */
.produto{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(30px,5vw,80px);padding:30px 0 90px;align-items:start}
.galeria{display:grid;grid-template-columns:76px minmax(0,1fr);gap:16px;position:sticky;top:96px}
.galeria__mini{display:flex;flex-direction:column;gap:12px}
.galeria__mini button{border-radius:10px;overflow:hidden;aspect-ratio:4/5;opacity:.55;transition:opacity .3s;box-shadow:inset 0 0 0 1px var(--fio)}
.galeria__mini button.ativo,.galeria__mini button:hover{opacity:1}
.galeria__mini img{width:100%;height:100%;object-fit:cover}
.galeria__grande{position:relative;aspect-ratio:4/5;border-radius:var(--raio);overflow:hidden;background:var(--linho);cursor:zoom-in}
.galeria__grande img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .6s, transform .4s ease}
.galeria__grande.zoom img{transform:scale(1.8)}
@media (max-width:900px){
  .produto{grid-template-columns:minmax(0,1fr);padding-top:10px}
  .galeria{position:static;grid-template-columns:minmax(0,1fr)}
  .galeria__mini{flex-direction:row;order:2;overflow-x:auto}
  .galeria__mini button{flex:0 0 64px}
}
.ficha__linha{font:500 11px var(--caps);letter-spacing:.22em;text-transform:uppercase;color:var(--barro)}
.ficha h1{font:500 clamp(34px,3.6vw,50px)/1.05 var(--serif);color:var(--musgo);margin:10px 0 18px}
.ficha__preco{display:flex;align-items:baseline;gap:14px;font-variant-numeric:tabular-nums}
.ficha__preco b{font:600 32px var(--serif);color:var(--musgo)}
.ficha__preco s{color:var(--tinta-2)}
.ficha__cond{font-size:13.5px;color:var(--tinta-2);margin:6px 0 0}
.ficha__cond strong{color:var(--oliva);font-weight:600}
.ficha__resumo{color:var(--tinta-2);margin:24px 0 0;line-height:1.7}
.opcao{margin-top:28px}
.opcao__rot{display:flex;justify-content:space-between;font-size:13px;margin-bottom:12px;color:var(--tinta-2)}
.opcao__rot b{color:var(--tinta);font-weight:600}
.opcao__lista{display:flex;flex-wrap:wrap;gap:10px}
.tam{min-width:64px;height:46px;padding:0 16px;border-radius:10px;border:1px solid var(--fio);font-size:13.5px;transition:all .25s;background:#fff}
.tam:hover{border-color:var(--oliva)}
.tam.ativo{border-color:var(--oliva);box-shadow:inset 0 0 0 1px var(--oliva);color:var(--oliva);font-weight:600}
.tam[aria-disabled=true]{opacity:.45;text-decoration:line-through}
.cor-op{width:38px;height:38px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);position:relative;transition:transform .3s var(--suave)}
.cor-op.ativo::after{content:'';position:absolute;inset:-5px;border:1px solid var(--musgo);border-radius:50%}
.estoque{display:flex;align-items:center;gap:10px;margin-top:24px;font-size:13.5px;color:var(--tinta-2)}
.estoque i{width:8px;height:8px;border-radius:50%;background:#7c9a5a;box-shadow:0 0 0 4px rgba(124,154,90,.16)}
.estoque.pouco i{background:var(--barro);box-shadow:0 0 0 4px rgba(168,130,79,.18)}
.comprar{display:grid;grid-template-columns:auto 1fr;gap:12px;margin-top:22px}
.comprar .btn--whats{grid-column:1/-1}
.frete{margin-top:28px;padding:22px;border-radius:var(--raio);background:var(--linho)}
.frete__rot{font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:8px;margin-bottom:12px}
.frete__rot svg{width:18px;height:18px;color:var(--oliva)}
.frete__campo{display:flex;gap:10px}
.frete__campo input{flex:1;min-width:0;height:46px;border:1px solid var(--fio);border-radius:10px;padding:0 14px;background:#fff;font-variant-numeric:tabular-nums}
.frete__campo button{height:46px;padding:0 18px;border-radius:10px;background:var(--musgo);color:var(--linho);font-size:13.5px}
.frete__res{margin-top:14px;display:grid;gap:8px;font-size:13.5px}
.frete__op{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--fio)}
.frete__op span small{display:block;color:var(--tinta-2);font-size:12px}
.frete__op b{font-variant-numeric:tabular-nums;white-space:nowrap}
.frete__cidade{font-size:12.5px;color:var(--oliva)}
.sanfona{margin-top:34px;border-top:1px solid var(--fio)}
.sanfona details{border-bottom:1px solid var(--fio)}
.sanfona summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:20px 0;cursor:pointer;font:500 20px var(--serif);color:var(--musgo)}
.sanfona summary::-webkit-details-marker{display:none}
.sanfona summary svg{width:18px;height:18px;transition:transform .35s var(--suave)}
.sanfona details[open] summary svg{transform:rotate(45deg)}
.sanfona__corpo{padding:0 0 22px;color:var(--tinta-2);font-size:14.5px;line-height:1.7}
.sanfona__corpo ul{margin:0;padding-left:18px}
.cuidados{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:6px}
.cuidados div{display:flex;gap:10px;align-items:center;font-size:13px}
.cuidados svg{width:26px;height:26px;color:var(--oliva);flex:none}
.garantias{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:26px}
.garantias div{text-align:center;padding:16px 8px;border-radius:12px;box-shadow:inset 0 0 0 1px var(--fio);font-size:12px;color:var(--tinta-2)}
.garantias svg{width:22px;height:22px;color:var(--oliva);margin:0 auto 8px;display:block}
.barra-compra{position:fixed;left:0;right:0;bottom:0;z-index:65;background:rgba(251,247,238,.96);backdrop-filter:blur(10px);border-top:1px solid var(--fio);padding:12px var(--gut) calc(12px + env(safe-area-inset-bottom));display:none;align-items:center;gap:14px;transform:translateY(110%);transition:transform .45s var(--suave)}
.barra-compra.ver{transform:none}
.barra-compra b{font:600 20px var(--serif);color:var(--musgo);white-space:nowrap}
.barra-compra .btn{flex:1;min-height:48px}
@media (max-width:900px){.barra-compra{display:flex}body.na-ficha .whats-flutuante,body.na-ficha .demo{bottom:calc(86px + env(safe-area-inset-bottom))}}

/* ---------- finalizar ---------- */
.checkout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(26px,4vw,64px);padding:40px 0 100px;align-items:start}
.etapas{display:flex;gap:10px;align-items:center;margin-bottom:30px;font-size:13px;color:var(--tinta-2);flex-wrap:wrap}
.etapas span{display:inline-flex;align-items:center;gap:8px}
.etapas b{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px var(--fio);font-weight:600;font-size:12px}
.etapas .feita b,.etapas .atual b{background:var(--oliva);color:var(--linho);box-shadow:none}
.etapas .atual{color:var(--musgo);font-weight:600}
.etapas i{width:4px;height:4px;border-radius:50%;background:var(--salvia);margin:0 6px}
.bloco{background:#fff;border-radius:18px;padding:clamp(22px,3vw,34px);box-shadow:inset 0 0 0 1px var(--fio);margin-bottom:18px}
.bloco h2{font:500 26px var(--serif);color:var(--musgo);margin:0 0 6px;display:flex;align-items:center;gap:12px}
.bloco h2 small{font:500 10px var(--caps);letter-spacing:.2em;color:var(--barro)}
.bloco>p{margin:0 0 22px;color:var(--tinta-2);font-size:14px}
.campos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.campo{grid-column:span 6;display:flex;flex-direction:column;gap:6px}
.campo--3{grid-column:span 3}.campo--2{grid-column:span 2}.campo--4{grid-column:span 4}
@media (max-width:560px){.campo--3,.campo--2,.campo--4{grid-column:span 6}}
.campo label{font-size:12.5px;font-weight:500;color:var(--tinta-2)}
.campo input,.campo select,.campo textarea{height:50px;border:1px solid rgba(59,63,42,.2);border-radius:12px;padding:0 16px;background:var(--algodao);transition:border-color .25s,box-shadow .25s;outline:none;width:100%}
.campo textarea{height:auto;min-height:120px;padding:14px 16px;resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--oliva);box-shadow:0 0 0 4px rgba(97,103,73,.12);background:#fff}
.campo .dica{font-size:12px;color:var(--oliva)}
.opcoes-radio{display:grid;gap:10px}
.radio{display:grid;grid-template-columns:22px 1fr auto;gap:14px;align-items:center;padding:16px 18px;border-radius:14px;box-shadow:inset 0 0 0 1px rgba(59,63,42,.18);cursor:pointer;transition:box-shadow .25s,background .25s}
.radio:hover{box-shadow:inset 0 0 0 1px var(--oliva)}
.radio input{appearance:none;width:20px;height:20px;border-radius:50%;border:1px solid rgba(59,63,42,.4);margin:0;display:grid;place-items:center}
.radio input:checked{border-color:var(--oliva)}
.radio input:checked::after{content:'';width:10px;height:10px;border-radius:50%;background:var(--oliva)}
.radio:has(input:checked){box-shadow:inset 0 0 0 1.5px var(--oliva);background:rgba(247,235,210,.45)}
.radio b{display:block;font-size:14.5px;font-weight:600}
.radio small{color:var(--tinta-2);font-size:12.5px}
.radio__preco{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.radio__selo{background:var(--oliva);color:var(--linho);border-radius:999px;font:600 10.5px var(--sans);padding:4px 9px;margin-left:8px}
.cartao-campos{margin-top:16px}
.resumo{position:sticky;top:96px;background:var(--linho);border-radius:18px;padding:28px}
.resumo h2{font:500 26px var(--serif);color:var(--musgo);margin:0 0 18px}
.resumo__item{display:grid;grid-template-columns:62px 1fr auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--fio)}
.resumo__item img{width:62px;height:76px;object-fit:cover;border-radius:8px}
.resumo__item b{display:block;font:500 17px/1.15 var(--serif);color:var(--musgo)}
.resumo__item small{font-size:12px;color:var(--tinta-2)}
.resumo__item span{font-size:13.5px;font-weight:600;font-variant-numeric:tabular-nums}
.resumo__linhas{display:grid;gap:10px;padding:18px 0;font-size:14px}
.resumo__linhas div{display:flex;justify-content:space-between;font-variant-numeric:tabular-nums}
.resumo__linhas .desc{color:var(--oliva)}
.resumo__total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--fio);padding-top:18px}
.resumo__total strong{font:600 30px var(--serif);color:var(--musgo);font-variant-numeric:tabular-nums}
.seguro{display:flex;gap:10px;align-items:center;justify-content:center;font-size:12px;color:var(--tinta-2);margin-top:16px}
.seguro svg{width:16px;height:16px}
.cupom{display:flex;gap:8px;margin-top:16px}
.cupom input{flex:1;min-width:0;height:44px;border:1px solid var(--fio);border-radius:10px;padding:0 14px;background:var(--algodao);text-transform:uppercase}
.cupom button{height:44px;padding:0 16px;border-radius:10px;box-shadow:inset 0 0 0 1px var(--musgo);color:var(--musgo);font-size:13px}
@media (max-width:960px){.checkout{grid-template-columns:minmax(0,1fr)}.resumo{position:static;order:-1}}

/* pedido confirmado */
.confirmado{max-width:900px;margin:0 auto;padding-top:50px;padding-bottom:110px;text-align:center}
.confirmado__casa{width:190px;margin:0 auto 14px}
.confirmado__casa img{animation:pulso-casa 3s ease-in-out infinite}
@keyframes pulso-casa{50%{transform:translateY(-6px)}}
.pix{display:grid;grid-template-columns:auto 1fr;gap:34px;align-items:center;text-align:left;margin:40px auto 0;max-width:760px}
.pix__qr{width:220px;padding:16px;border-radius:18px;background:#fff;box-shadow:inset 0 0 0 1px var(--fio)}
.pix__qr canvas{width:100%;height:auto;display:block;image-rendering:pixelated}
.pix__codigo{display:flex;gap:8px;margin:16px 0}
.pix__codigo input{flex:1;min-width:0;height:46px;border:1px solid var(--fio);border-radius:10px;padding:0 14px;background:#fff;font-size:12.5px;color:var(--tinta-2)}
.pix__tempo{font-size:13px;color:var(--tinta-2)}
.pix__tempo b{color:var(--barro);font-variant-numeric:tabular-nums}
@media (max-width:700px){.pix{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}}

/* linha do tempo do pedido */
.tempo{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);position:relative}
.tempo li{position:relative;text-align:center;padding-top:44px;font-size:12.5px;color:var(--tinta-2)}
.tempo li::before{content:'';position:absolute;top:14px;left:50%;width:100%;height:2px;background:var(--linho-esc)}
.tempo li:last-child::before{display:none}
.tempo li.feito::before{background:var(--oliva)}
.tempo li i{position:absolute;top:4px;left:50%;transform:translateX(-50%);width:22px;height:22px;border-radius:50%;background:var(--algodao);box-shadow:inset 0 0 0 2px var(--linho-esc);z-index:1;display:grid;place-items:center}
.tempo li.feito i,.tempo li.atual i{background:var(--oliva);box-shadow:none}
.tempo li.feito i::after{content:'';width:5px;height:9px;border:solid var(--linho);border-width:0 1.6px 1.6px 0;transform:rotate(45deg) translate(-1px,-1px)}
.tempo li.atual i{box-shadow:0 0 0 6px rgba(97,103,73,.18)}
.tempo li b{display:block;color:var(--musgo);font-weight:600;font-size:13px}
@media (max-width:640px){
  .tempo{grid-template-columns:minmax(0,1fr);gap:0}
  .tempo li{text-align:left;padding:0 0 22px 40px}
  .tempo li::before{top:22px;left:10px;width:2px;height:100%}
  .tempo li i{top:0;left:0;transform:none}
}

/* ---------- conta ---------- */
.conta{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(26px,4vw,60px);padding-top:40px;padding-bottom:100px;align-items:start}
.conta__menu{display:flex;flex-direction:column;gap:2px;position:sticky;top:96px}
.conta__menu a,.conta__menu button{padding:12px 16px;border-radius:12px;font-size:14px;color:var(--tinta-2);text-align:left;display:flex;align-items:center;gap:12px;transition:background .25s,color .25s}
.conta__menu svg{width:18px;height:18px}
.conta__menu a:hover,.conta__menu button:hover{background:rgba(247,235,210,.7)}
.conta__menu a.ativo{background:var(--linho);color:var(--musgo);font-weight:600}
.ola{font:500 clamp(30px,3vw,42px) var(--serif);color:var(--musgo);margin:0 0 6px}
.pedido-card{background:#fff;border-radius:18px;box-shadow:inset 0 0 0 1px var(--fio);padding:clamp(20px,3vw,30px);margin-top:20px}
.pedido-card__topo{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-start;margin-bottom:26px}
.pedido-card__topo b{font:500 24px var(--serif);color:var(--musgo)}
.pedido-card__topo small{display:block;color:var(--tinta-2);font-size:13px}
.status{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;padding:7px 12px;border-radius:999px;background:var(--linho);color:var(--oliva);white-space:nowrap}
.status i{width:7px;height:7px;border-radius:50%;background:currentColor}
.status--entregue{background:#e6ecd9;color:#4f6b31}
.status--aguardando{background:#f6e6cc;color:#8a6330}
.status--enviado{background:#e9e2ec;color:#6b5670}
.pedido-card__itens{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap;align-items:center}
.pedido-card__itens img{width:54px;height:66px;object-fit:cover;border-radius:8px}
.rastreio{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-top:22px;padding:16px 18px;border-radius:14px;background:var(--linho);font-size:13.5px}
.rastreio code{font:600 14px var(--sans);letter-spacing:.06em;color:var(--musgo)}
.entrar{max-width:980px;margin:0 auto;padding-top:50px;padding-bottom:110px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.entrar__arte{background:var(--oliva);border-radius:28px;padding:50px 40px;color:var(--linho);text-align:center;position:relative;overflow:hidden}
.entrar__arte img{width:min(300px,80%);margin:0 auto 20px;filter:drop-shadow(0 20px 30px rgba(0,0,0,.2))}
.entrar__arte ul{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:10px;text-align:left;font-size:14px;color:rgba(247,235,210,.86)}
.entrar__arte li{display:flex;gap:10px}
.entrar__arte svg{width:18px;height:18px;color:var(--salvia-cl);flex:none}
.abas{display:flex;gap:6px;background:var(--linho);padding:5px;border-radius:999px;margin-bottom:24px}
.abas button{flex:1;height:42px;border-radius:999px;font-size:14px;color:var(--tinta-2);transition:all .3s}
.abas button.ativo{background:#fff;color:var(--musgo);font-weight:600;box-shadow:0 2px 8px rgba(46,49,34,.08)}
@media (max-width:820px){.entrar{grid-template-columns:minmax(0,1fr)}.entrar__arte{order:2}.conta{grid-template-columns:minmax(0,1fr)}.conta__menu{position:static;flex-direction:row;overflow-x:auto}.conta__menu a,.conta__menu button{white-space:nowrap}}

/* ---------- páginas institucionais ---------- */
.pagina-heroi{background:var(--oliva);color:var(--linho);padding:clamp(60px,8vw,120px) 0 0;overflow:hidden;position:relative}
.pagina-heroi::before{content:'';position:absolute;inset:0;background-image:url(../marca/coracao-linho.svg);background-size:46px;background-repeat:space;opacity:.04}
.pagina-heroi__in{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(30px,6vw,90px);align-items:end}
.pagina-heroi__in .arco{aspect-ratio:4/4.7}
.pagina-heroi__texto{padding-bottom:clamp(50px,7vw,110px)}
@media (max-width:860px){.pagina-heroi__in{grid-template-columns:minmax(0,1fr)}.pagina-heroi__texto{padding-bottom:0}}
.texto-longo{max-width:680px;margin:0 auto;font-size:17px;line-height:1.85;color:var(--tinta-2)}
.texto-longo p:first-child::first-letter{float:left;font:500 82px/.8 var(--serif);color:var(--oliva);margin:8px 12px 0 0}
.texto-longo h2{font:500 34px/1.15 var(--serif);color:var(--musgo);margin:56px 0 16px}
.duas-fotos{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:60px 0}
.duas-fotos img{border-radius:var(--raio);aspect-ratio:4/5;object-fit:cover;width:100%}
.contato{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,5vw,80px);padding-top:60px;padding-bottom:110px}
.contato__canais{display:grid;gap:14px;margin-top:30px}
.canal{display:flex;gap:16px;align-items:center;padding:20px;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1px var(--fio);transition:box-shadow .3s,transform .4s var(--suave)}
.canal:hover{box-shadow:inset 0 0 0 1px var(--oliva);transform:translateY(-2px)}
.canal span{width:48px;height:48px;border-radius:50%;background:var(--linho);display:grid;place-items:center;color:var(--oliva);flex:none}
.canal b{display:block;font:500 19px var(--serif);color:var(--musgo)}
.canal small{color:var(--tinta-2);font-size:13px}
@media (max-width:860px){.contato{grid-template-columns:minmax(0,1fr)}}

/* ---------- painel (admin) ---------- */
body.no-painel .faixa-aviso,body.no-painel .topo,body.no-painel .rodape,body.no-painel .whats-flutuante{display:none}
body.no-painel{background:#F4F1E8}
body.no-painel .demo{left:auto;right:20px}
body.no-painel .demo__painel{left:auto;right:0}
.painel{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}
.painel__lado{background:var(--musgo);color:rgba(247,235,210,.8);padding:26px 16px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh}
.painel__marca{display:flex;align-items:center;gap:10px;padding:0 10px 24px;margin-bottom:10px;border-bottom:1px solid var(--fio-cl)}
.painel__marca img:first-child{height:34px}
.painel__marca img:last-child{height:30px}
.painel__lado a,.painel__lado button{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:10px;font-size:14px;transition:background .25s,color .25s;text-align:left}
.painel__lado a:hover,.painel__lado button:hover{background:rgba(247,235,210,.08);color:var(--linho)}
.painel__lado a.ativo{background:var(--oliva);color:var(--linho)}
.painel__lado svg{width:18px;height:18px}
.painel__lado .contador{margin-left:auto;background:var(--barro);color:#fff;border-radius:999px;font-size:11px;font-weight:600;padding:2px 8px}
.painel__rodape{margin-top:auto;font-size:12px;padding:12px 14px;color:rgba(247,235,210,.55)}
.painel__corpo{padding:clamp(20px,3vw,40px);min-width:0}
.painel__topo{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;flex-wrap:wrap}
.painel__topo h1{font:500 34px var(--serif);color:var(--musgo);margin:0}
.painel__topo p{margin:2px 0 0;color:var(--tinta-2);font-size:14px}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}
.kpi{background:#fff;border-radius:16px;padding:20px 22px;box-shadow:inset 0 0 0 1px var(--fio)}
.kpi small{font-size:12.5px;color:var(--tinta-2)}
.kpi b{display:block;font:600 30px var(--serif);color:var(--musgo);margin:6px 0 4px;font-variant-numeric:tabular-nums}
.kpi span{font-size:12px;color:#4f6b31}
@media (max-width:1100px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cartao-p{background:#fff;border-radius:16px;padding:22px;box-shadow:inset 0 0 0 1px var(--fio);margin-bottom:20px;min-width:0}
.cartao-p h2{font:500 22px var(--serif);color:var(--musgo);margin:0 0 16px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.cartao-p h2 small{font:400 13px var(--sans);color:var(--tinta-2)}
.duas-col{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:20px}
@media (max-width:1100px){.duas-col{grid-template-columns:minmax(0,1fr)}}
.grafico{width:100%;height:260px}
.grafico svg{width:100%;height:100%;stroke:none;display:block}
.tabela{width:100%;border-collapse:collapse;font-size:13.5px}
.tabela th{text-align:left;font:500 11px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--tinta-2);padding:10px 12px;border-bottom:1px solid var(--fio)}
.tabela td{padding:12px;border-bottom:1px solid var(--fio);vertical-align:middle}
.tabela tr:last-child td{border-bottom:0}
.tabela .num{text-align:right}
.tabela img{width:44px;height:54px;object-fit:cover;border-radius:6px}
.tabela select,.tabela input:not(.chave){height:36px;border:1px solid var(--fio);border-radius:8px;padding:0 10px;background:var(--algodao);font-size:13px;max-width:100%}
.tabela input.estoque-in{width:72px;text-align:center}
.tabela input.rastreio-in{width:150px}
.rolagem{overflow-x:auto}
.mini-btn{height:34px;padding:0 12px;border-radius:8px;font-size:12.5px;box-shadow:inset 0 0 0 1px var(--fio);background:#fff;white-space:nowrap}
.mini-btn:hover{box-shadow:inset 0 0 0 1px var(--oliva);color:var(--oliva)}
.mini-btn--oliva{background:var(--oliva);color:var(--linho);box-shadow:none}
.mini-btn--oliva:hover{background:var(--musgo);color:var(--linho)}
.chave{appearance:none;width:40px;height:22px;border-radius:999px;background:var(--linho-esc);position:relative;transition:background .3s;cursor:pointer;margin:0}
.chave::after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .3s var(--suave);box-shadow:0 1px 3px rgba(0,0,0,.2)}
.chave:checked{background:var(--oliva)}
.chave:checked::after{transform:translateX(18px)}
.painel__menu-cel{display:none}
@media (max-width:900px){
  .painel{grid-template-columns:minmax(0,1fr)}
  .painel__lado{position:fixed;inset:0 auto 0 0;width:260px;z-index:90;transform:translateX(-100%);transition:transform .45s var(--cine)}
  .painel__lado.aberto{transform:none;box-shadow:0 0 60px rgba(0,0,0,.3)}
  .painel__menu-cel{display:inline-grid}
}
.painel-login{min-height:100vh;display:grid;place-items:center;padding:30px 16px;background:var(--oliva)}
.painel-login__card{width:min(420px,100%);background:var(--algodao);border-radius:24px;padding:40px 34px;text-align:center}
.painel-login__card img{width:150px;margin:0 auto 8px}
.painel-login__card .campo{text-align:left;margin-top:14px}
.legenda-grafico{display:flex;gap:18px;font-size:12.5px;color:var(--tinta-2)}
.legenda-grafico i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
