
#idlinkModalityCapsulesV73195{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px;padding:0 2px}
#idlinkModalityCapsulesV73195:empty{display:none}
.idlink-modality-pill-v73195{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:999px;font-size:10px;font-weight:1000;letter-spacing:.055em;text-transform:uppercase;line-height:1;color:#fff;border:1px solid rgba(255,255,255,.22);background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.04));backdrop-filter:blur(18px) saturate(1.5);-webkit-backdrop-filter:blur(18px) saturate(1.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}
.idlink-modality-pill-v73195[data-m="Delivery"]{border-color:rgba(255,90,60,.35);background:linear-gradient(145deg,rgba(60,8,4,.50),rgba(20,3,2,.38));color:#ff8a70}
.idlink-modality-pill-v73195[data-m="Retirada"]{border-color:rgba(222,255,2,.30);background:linear-gradient(145deg,rgba(222,255,2,.12),rgba(222,255,2,.04));color:#deff02}
.idlink-modality-pill-v73195[data-m="Envio"]{border-color:rgba(100,160,255,.30);background:linear-gradient(145deg,rgba(30,50,100,.42),rgba(10,18,40,.35));color:#8ab4ff}
.idlink-modality-pill-v73195[data-m="Nacional"]{border-color:rgba(130,255,200,.28);background:linear-gradient(145deg,rgba(10,50,32,.46),rgba(4,18,12,.38));color:#7dffc2}
.idlink-modality-pill-v73195[data-m="Internacional"]{border-color:rgba(200,130,255,.28);background:linear-gradient(145deg,rgba(40,10,60,.46),rgba(15,4,22,.38));color:#d68fff}
.idlink-modality-pill-v73195[data-m="Digital"]{border-color:rgba(255,200,60,.28);background:linear-gradient(145deg,rgba(60,40,4,.46),rgba(22,14,2,.38));color:#ffd062}
.idlink-modality-pill-v73195 i{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.85;flex-shrink:0}
/* Events section */
/* === EVENTS CAROUSEL v73195 REDESIGN === */
#idlinkEventsCarouselV73195{margin:0 0 24px;display:none;padding:0}
#idlinkEventsCarouselV73195.has-events{display:block}
.idlink-ev-head-v73195{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:0 16px}
.idlink-ev-title-v73195{display:flex;align-items:center;gap:10px;color:#fff;font-size:20px;font-weight:1000;letter-spacing:-.05em;line-height:1}
.idlink-ev-title-icon-v73195{width:34px;height:34px;border-radius:12px;background:linear-gradient(135deg,rgba(222,255,2,.20),rgba(222,255,2,.06));border:1px solid rgba(222,255,2,.28);display:grid;place-items:center;font-size:17px;flex-shrink:0}
.idlink-ev-count-badge-v73195{margin-left:4px;font-size:11px;font-weight:900;color:rgba(222,255,2,.85);background:rgba(222,255,2,.10);border:1px solid rgba(222,255,2,.22);border-radius:999px;padding:2px 8px;letter-spacing:0}
.idlink-ev-btn-all-v73195{height:32px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);color:rgba(255,255,255,.82);font-size:11px;font-weight:1000;letter-spacing:.02em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);flex-shrink:0;transition:border-color .16s ease,background .16s ease}
.idlink-ev-btn-all-v73195:hover{border-color:rgba(222,255,2,.35);background:rgba(222,255,2,.08);color:#deff02}
/* Rail: full-width snap on mobile, multi-card on desktop */
.idlink-ev-rail-v73195{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;padding:0 16px 12px;-webkit-overflow-scrolling:touch}
.idlink-ev-rail-v73195::-webkit-scrollbar{display:none}
/* Card: portrait poster on mobile (≈ cinema poster), landscape on desktop */
.idlink-ev-card-v73195{
  scroll-snap-align:start;cursor:pointer;position:relative;
  border-radius:22px;overflow:hidden;flex:0 0 calc(100vw - 52px);max-width:380px;
  background:#0a0b0c;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 24px 60px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.10);
  transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease;
  aspect-ratio:4/5;
  display:flex;flex-direction:column;
}
.idlink-ev-card-v73195:hover{transform:scale(1.018);box-shadow:0 32px 80px rgba(0,0,0,.60)}
/* Cover image fills the entire card, text overlays on bottom */
.idlink-ev-cover-wrap-v73195{position:absolute;inset:0;z-index:0}
.idlink-ev-cover-v73195{width:100%;height:100%;object-fit:cover;display:block;background:#111;opacity:.92}
.idlink-ev-cover-placeholder-v73195{width:100%;height:100%;background:linear-gradient(135deg,#0e1010 0%,rgba(222,255,2,.06) 100%);display:flex;align-items:center;justify-content:center;font-size:42px;opacity:.65}
/* Gradient scrim at bottom */
.idlink-ev-scrim-v73195{position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(0,0,0,.0) 0%,rgba(0,0,0,.0) 35%,rgba(0,0,0,.55) 60%,rgba(0,0,0,.92) 100%)}
/* Top badge row */
.idlink-ev-badges-v73195{position:absolute;top:14px;left:14px;right:14px;z-index:2;display:flex;align-items:center;gap:6px;justify-content:space-between}
.idlink-ev-badge-v73195{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:1000;letter-spacing:.01em;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.45);color:#fff}
.idlink-ev-badge-v73195.price{background:rgba(222,255,2,.18);border-color:rgba(222,255,2,.40);color:#deff02}
/* Bottom info overlay */
.idlink-ev-info-v73195{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:16px 16px 20px}
.idlink-ev-info-v73195 b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#fff;font-size:18px;font-weight:1000;line-height:1.12;letter-spacing:-.04em;text-shadow:0 2px 12px rgba(0,0,0,.6);margin-bottom:8px}
.idlink-ev-meta-row-v73195{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.idlink-ev-date-v73195{color:rgba(255,255,255,.75);font-size:11.5px;font-weight:900;display:inline-flex;align-items:center;gap:4px;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:4px 9px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.idlink-ev-mais-datas-v731633{display:inline-flex;align-items:center;margin-left:6px;padding:3px 9px;border-radius:999px;font-size:10.5px;font-weight:900;letter-spacing:.02em;background:rgba(215,255,1,.14);border:1px solid rgba(215,255,1,.38);color:#d7ff01}
.idlink-ev-loc-v73195{color:rgba(255,255,255,.70);font-size:11.5px;font-weight:850;display:inline-flex;align-items:center;gap:4px;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:4px 9px;max-width:130px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
/* Card CTA button */
.idlink-ev-cta-mini-v73195{width:100%;height:44px;border-radius:14px;border:0;background:#deff02;color:#050505;font-size:13.5px;font-weight:1000;letter-spacing:-.01em;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;box-shadow:0 8px 24px rgba(222,255,2,.28);transition:background .15s ease,transform .15s ease}
.idlink-ev-cta-mini-v73195:hover{background:#e8ff30;transform:translateY(-1px)}
/* Desktop: 3 cols, landscape cards */
@media(min-width:720px){
  .idlink-ev-card-v73195{flex:0 0 300px;max-width:300px;aspect-ratio:3/4}
  .idlink-ev-info-v73195 b{font-size:16px}
  .idlink-ev-head-v73195{padding:0 4px}
  .idlink-ev-rail-v73195{padding:0 4px 10px}
}
/* Event detail modal — redesigned */
#idlinkEventModalV73195{position:fixed;inset:0;z-index:2147482900;display:none;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.72);backdrop-filter:blur(28px) saturate(1.4);-webkit-backdrop-filter:blur(28px) saturate(1.4)}
#idlinkEventModalV73195.show{display:flex}
.idlink-ev-modal-panel-v73195{width:min(680px,100%);max-height:94dvh;overflow:hidden;border-radius:28px 28px 0 0;background:#080a0c;border:1px solid rgba(255,255,255,.14);box-shadow:0 -32px 120px rgba(0,0,0,.80),inset 0 1px 0 rgba(255,255,255,.10);color:#fff;display:flex;flex-direction:column;position:relative}
@media(min-width:720px){#idlinkEventModalV73195{align-items:center}.idlink-ev-modal-panel-v73195{border-radius:28px;margin:24px 0}}
/* Hero cover with gradient */
.idlink-ev-modal-hero-v73195{position:relative;width:100%;aspect-ratio:16/9;flex-shrink:0;background:#0c0d0e;overflow:hidden;min-height:180px;max-height:240px}
.idlink-ev-modal-cover-v73195{width:100%;height:100%;object-fit:cover;display:block;opacity:.9}
.idlink-ev-modal-hero-grad-v73195{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.0) 50%,rgba(8,10,12,1) 100%)}
.idlink-ev-modal-hero-placeholder-v73195{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:52px;background:radial-gradient(ellipse at 30% 40%,rgba(222,255,2,.08),transparent 70%)}
/* Body */
.idlink-ev-modal-body-v73195{padding:20px 20px 0;overflow:auto;flex:1;-webkit-overflow-scrolling:touch}
.idlink-ev-modal-title-v73195{font-size:26px;font-weight:1000;letter-spacing:-.06em;line-height:1.04;color:#fff;margin:0 0 12px}
.idlink-ev-modal-meta-v73195{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.idlink-ev-modal-meta-v73195 span{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:900;color:rgba(255,255,255,.70);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:6px 12px;background:rgba(255,255,255,.06)}
.idlink-ev-modal-desc-v73195{font-size:13.5px;font-weight:700;line-height:1.6;color:rgba(255,255,255,.62);margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
/* Footer */
.idlink-ev-modal-footer-v73195{padding:14px 20px 28px;border-top:1px solid rgba(255,255,255,.09);display:flex;gap:12px;align-items:center;justify-content:space-between;flex-shrink:0}
.idlink-ev-modal-price-v73195{display:flex;flex-direction:column;gap:2px}
.idlink-ev-modal-price-label-v73195{font-size:10.5px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.42)}
.idlink-ev-modal-price-val-v73195{color:#deff02;font-size:26px;font-weight:1000;letter-spacing:-.06em;line-height:1}
.idlink-ev-modal-price-val-v73195 small{color:rgba(255,255,255,.42);font-size:12px;font-weight:800;letter-spacing:0;margin-left:3px}
.idlink-ev-modal-cta-v73195{flex:0 0 auto;height:54px;padding:0 28px;border-radius:18px;border:0;background:#deff02;color:#050505;font-size:15px;font-weight:1000;cursor:pointer;white-space:nowrap;box-shadow:0 16px 40px rgba(222,255,2,.24);letter-spacing:-.02em;transition:background .15s ease,transform .14s ease,box-shadow .14s ease}
.idlink-ev-modal-cta-v73195:hover{background:#e8ff30;transform:translateY(-1px);box-shadow:0 20px 50px rgba(222,255,2,.32)}
.idlink-ev-modal-close-v73195{position:absolute;right:14px;top:14px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.20);background:rgba(0,0,0,.55);color:#fff;font-size:20px;cursor:pointer;display:grid;place-items:center;z-index:4;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
/* Event button below products section */
#idlinkEventsShortcutV73195{display:flex;align-items:center;gap:10px;margin:16px 0;padding:13px 14px;border-radius:22px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.02));cursor:pointer;color:#fff;transition:border-color .16s ease,background .16s ease}
#idlinkEventsShortcutV73195:hover{border-color:rgba(222,255,2,.28);background:linear-gradient(145deg,rgba(222,255,2,.07),rgba(222,255,2,.02))}
#idlinkEventsShortcutV73195.hidden{display:none}
.idlink-ev-shortcut-icon-v73195{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,rgba(222,255,2,.18),rgba(222,255,2,.06));border:1px solid rgba(222,255,2,.22);display:grid;place-items:center;font-size:20px;flex-shrink:0}
.idlink-ev-shortcut-copy-v73195{flex:1;min-width:0}
.idlink-ev-shortcut-copy-v73195 b{display:block;font-size:13.5px;font-weight:1000;letter-spacing:-.025em}
.idlink-ev-shortcut-copy-v73195 span{display:block;margin-top:2px;font-size:11px;color:rgba(255,255,255,.55);font-weight:850}
.idlink-ev-shortcut-arrow-v73195{color:rgba(255,255,255,.40);font-size:20px;flex-shrink:0}
/* Force visibility — bypass generic shop-panel hiders */
html body #idlinkEventsCarouselV73195.has-events{display:block!important;visibility:visible!important;opacity:1!important;height:auto!important;max-height:none!important;overflow:visible!important;pointer-events:auto!important}
html body #idlinkModalityCapsulesV73195{display:flex!important;visibility:visible!important;height:auto!important;pointer-events:auto!important}
/* ── v731493 — incentivos: cupom, frete grátis e o convite de compra ──────
   A aba shop esconde qualquer filho desconhecido (regra de whitelist por id),
   então estes blocos precisam do id na exceção E do display forçado — mesmo
   caminho que as cápsulas de modalidade já usam. */
html body #idlinkIncentivosV731493{display:block!important;visibility:visible!important;height:auto!important;pointer-events:auto!important}
/* v731516 — a regra de esconder saiu: o carrossel simplesmente não é mais
   renderizado quando há um evento só. Esconder o que já foi baixado era o
   problema, não a solução. */
html body #idlinkCompreAquiV731493{display:flex!important;visibility:visible!important;height:auto!important;pointer-events:auto!important}
html body #idlinkConvitesV731627{display:flex!important;visibility:visible!important;height:auto!important;pointer-events:auto!important}
/* v731627 — os dois convites lado a lado, e colados no topo da vitrine.
   O vão de 48px vinha do bloco dos ícones sociais logo acima, não da minha
   margem (que já era 0). Puxo com margem negativa: o convite é a primeira
   coisa da loja e tem de encostar nela. */
/* v731628 — a margem negativa de -22px cortava os dois botões: eles subiam
   por baixo do bloco social, que recorta o que passa dele. Fechar espaço
   empurrando para dentro de outro elemento nunca dá certo. Volta para zero:
   o vão que sobra é o respiro do próprio bloco acima, e é aceitável. */
#idlinkConvitesV731627{display:flex;gap:9px;align-items:stretch;margin:0 auto 8px;
  width:calc(100% - 8px);max-width:640px;box-sizing:border-box}
#idlinkConvitesV731627 > *{flex:1 1 0;min-width:0;margin:0!important}
#idlinkPerfilVendedorV731627{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  box-sizing:border-box;padding:14px 16px;cursor:pointer;text-align:center;text-decoration:none;
  border-radius:20px;border:1px solid rgba(255,255,255,.22);color:#fff;
  font-size:14.5px;font-weight:900;letter-spacing:-.3px;background:rgba(255,255,255,.05);transition:.16s}
#idlinkPerfilVendedorV731627:hover{border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.09)}
/* v731628 — "a loja completa" saía em branco e negrito, competindo com o
   título do próprio botão. O subtítulo é apoio: mesma tipografia apagada de
   "produtos desta loja", que já estava certa. */
#idlinkPerfilVendedorV731627 .idinc-ca-sub-v731493{display:block;margin-top:2px;
  font-size:11.5px;font-weight:700;letter-spacing:0;color:rgba(255,255,255,.45)}
@media(max-width:520px){
  #idlinkConvitesV731627{flex-direction:column;gap:7px}
  #idlinkPerfilVendedorV731627{padding:12px 16px;font-size:13.5px}
}
/* v731501 — centralizado e com largura própria: dentro da vitrine ele
   precisa respirar como um cartão, não colar nas bordas. */
/* v731571 — o vao entre o "Compre Aqui" e a barra de frete era grande demais:
   12px daqui + a margem do proprio convite somavam um buraco no meio da
   vitrine. Os dois sao o mesmo bloco de argumento; devem ler como um so. */
#idlinkIncentivosV731493{box-sizing:border-box;width:calc(100% - 8px);max-width:640px;margin:2px auto 10px}
.idinc-frete-v731493{justify-content:center;text-align:center}
.idinc-frete-txt-v731493{flex:0 1 auto;align-items:center}
/* v731571 — os cupons correm da ESQUERDA para a direita.

   Centralizados, com 2 ou 3 cupons eles ficavam boiando no meio e o quarto
   sumia fora da tela sem nenhuma pista de que dava para arrastar. Ancorados a
   esquerda, o corte do ultimo na borda direita e o proprio convite a rolar —
   e a leitura comeca onde o olho ja esta. O TEXTO dentro de cada cupom segue
   centrado; o que muda e o alinhamento da fila. */
.idinc-cupons-v731493{justify-content:flex-start}
/* v731507 — menos cor do IDLINK, mais vidro. O lime forte brigava com o
   roxo da PurpleFly e com qualquer paleta de loja; translúcido neutro
   assenta em cima de qualquer fundo e deixa a MARCA da loja liderar. */
/* ═══════════════════════════════════════════════════════════════════════════
   v733917b — A FOLHA DE CEP, SOBRE A FAIXA DE FRETE.

   Abre por cima da própria faixa, não numa tela nova: a pessoa continua vendo
   a regra de frete grátis enquanto digita, que é o que ela está tentando
   entender. Fechar devolve a faixa sem mexer na rolagem.

   🔴 16 px no campo: abaixo disso o Safari do iPhone dá zoom ao focar e a
   pessoa perde a loja de vista bem na hora de digitar.
   ═══════════════════════════════════════════════════════════════════════════ */
.idinc-truck-v731493 svg{width:20px;height:20px;display:block;color:rgba(255,255,255,.72)}
.idinc-cep-abre-v733917{
  margin-left:auto;flex:0 0 30px;width:30px;height:30px;border-radius:999px;
  display:grid;place-items:center;cursor:pointer;
  background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22);
  color:#fff;padding:0;
  backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.26), 0 3px 10px rgba(0,0,0,.24);
  transition:background .16s ease, transform .16s ease;
}
.idinc-cep-abre-v733917 svg{width:15px;height:15px;display:block;opacity:.88}
.idinc-cep-abre-v733917:hover{background:rgba(255,255,255,.18)}
.idinc-cep-abre-v733917.aberto-v733917 svg{transform:rotate(180deg)}
.idinc-cep-abre-v733917 svg{transition:transform .22s cubic-bezier(.2,.8,.2,1)}

.idinc-cep-folha-v733917{
  position:absolute;inset:0;z-index:4;display:none;
  align-items:center;gap:8px;padding:10px 12px;
  background:rgba(10,11,14,.94);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-radius:18px;
}
.idinc-cep-folha-v733917.on{display:flex}
.idinc-cep-folha-v733917 input{
  flex:1;min-width:0;height:38px;border-radius:11px;
  border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);
  color:#fff;padding:0 12px;font:700 16px/1 inherit;outline:none;
}
.idinc-cep-folha-v733917 input:focus{border-color:rgba(215,255,1,.5)}
.idinc-cep-folha-v733917 .vai{
  flex:0 0 auto;height:38px;padding:0 14px;border-radius:11px;border:0;
  background:#D7FF01;color:#05070a;font:900 13px/1 inherit;cursor:pointer;
}
.idinc-cep-folha-v733917 .fecha{
  flex:0 0 30px;width:30px;height:30px;border-radius:999px;border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.06);color:#c9cfd8;font:900 14px/1 inherit;cursor:pointer;
}
.idinc-cep-folha-v733917 .aviso{
  position:absolute;left:12px;right:12px;bottom:-20px;font:800 11px/1.3 inherit;color:#ff8b93;
}
.idinc-frete-v731493{position:relative;display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:18px;overflow:hidden;
  border:1px solid rgba(255,255,255,.16);background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.028));
  backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%)}
.idinc-truck-v731493{font-size:19px;flex-shrink:0;animation:idincTruck731493 3.4s ease-in-out infinite}
@keyframes idincTruck731493{0%,70%,100%{transform:translateX(0)}82%{transform:translateX(5px)}}
.idinc-frete-txt-v731493{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.idinc-frete-txt-v731493 b{color:#fff;font-size:13px;font-weight:900;letter-spacing:-.2px}
.idinc-frete-txt-v731493 span{color:rgba(255,255,255,.55);font-size:11px;font-weight:700}
.idinc-frete-barra-v731493{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.08)}
.idinc-frete-barra-v731493 i{display:block;height:100%;width:0;transition:width .5s cubic-bezier(.34,1.4,.5,1);
  background:linear-gradient(90deg,rgba(255,255,255,.45),rgba(255,255,255,.92));box-shadow:0 0 10px rgba(255,255,255,.4)}
/* v731501 — o pulso do "entrou item": a caixa respira uma vez, e a barra
   ganha um brilho. É a confirmação visual de que o clique valeu. */
.idinc-pulse-v731501{animation:idincPulseV731501 .58s cubic-bezier(.3,1.5,.5,1)}
@keyframes idincPulseV731501{0%{transform:scale(1)}38%{transform:scale(1.022);border-color:rgba(255,255,255,.55)}100%{transform:scale(1)}}
.idinc-frete-v731493.completo-v731501{border-color:rgba(255,255,255,.5);background:linear-gradient(135deg,rgba(255,255,255,.20),rgba(255,255,255,.06))}
.idinc-cupons-v731493{display:flex;gap:8px;overflow-x:auto;padding:10px 2px 2px;scrollbar-width:none}
/* v731589 — a linha de localização: discreta, tipo um link, para não competir
   com o frete grátis nem com os cupons. Quem já sabe o que quer passa direto. */
.idinc-loc-v731589,#idincLocalV731589{display:flex;align-items:center;gap:8px;width:100%;margin:9px 0 0;
  padding:10px 12px;border-radius:14px;cursor:pointer;font-family:inherit;text-align:left;
  border:1px dashed rgba(255,255,255,.20);background:rgba(255,255,255,.035);color:#fff;transition:.16s}
#idincLocalV731589:hover{border-color:rgba(255,255,255,.42);background:rgba(255,255,255,.07)}
#idincLocalV731589.tem-v731589{border-style:solid;border-color:rgba(215,255,1,.42);background:rgba(215,255,1,.07)}
.idinc-loc-ico-v731589{flex:0 0 auto;width:26px;height:26px;display:grid;place-items:center;border-radius:9px;
  background:rgba(255,255,255,.07);color:rgba(255,255,255,.75)}
#idincLocalV731589.tem-v731589 .idinc-loc-ico-v731589{background:rgba(215,255,1,.14);color:#d7ff01}
.idinc-loc-ico-v731589 svg{width:14px;height:14px}
.idinc-loc-txt-v731589{flex:1 1 auto;min-width:0;font-size:12.5px;font-weight:900;letter-spacing:-.2px;line-height:1.25}
.idinc-loc-txt-v731589 em{display:block;font-style:normal;font-size:10.5px;font-weight:700;color:rgba(255,255,255,.45);margin-top:1px}
.idinc-loc-seta-v731589{flex:0 0 auto;color:rgba(255,255,255,.4);font-size:17px;font-weight:900}
/* as modalidades no card do produto */
.idinc-mods-v731589{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}
/* v731629 — evento encerrado no perfil, com a MESMA leitura do marketplace
   (idmk-ev-encerrado, v731126) e do app: opacidade baixa, saturação cortada,
   imagem escurecida e o selo em cinza. Um evento que já passou não pode ter
   o mesmo peso de um que ainda vende ingresso. */
#bio-shop-panel a.shop-card.idmk-ev-encerrado-v731629{opacity:.62;filter:saturate(.35);
  border-color:rgba(255,255,255,.10)!important}
#bio-shop-panel a.shop-card.idmk-ev-encerrado-v731629:hover{opacity:.78;transform:none;
  border-color:rgba(255,255,255,.16)!important}
#bio-shop-panel a.shop-card.idmk-ev-encerrado-v731629 img{filter:brightness(.34) saturate(.2) grayscale(.55)}
#bio-shop-panel a.shop-card.idmk-ev-encerrado-v731629 .shop-card-title{color:rgba(255,255,255,.72)!important}
#bio-shop-panel a.shop-card.idmk-ev-encerrado-v731629 .shop-card-price{color:rgba(255,255,255,.42)!important}
#bio-shop-panel a.shop-card.idmk-ev-encerrado-v731629 .idmk-ev-falta.fim{
  background:rgba(255,255,255,.13)!important;border-color:rgba(255,255,255,.2)!important;
  color:rgba(255,255,255,.82)!important;letter-spacing:.09em!important;text-transform:uppercase}
/* e no card grande de evento (idmk-evx), a mesma regra */
#bio-shop-panel .idmk-evx.idmk-ev-encerrado-v731629{opacity:.62;filter:saturate(.35)}
#bio-shop-panel .idmk-evx.idmk-ev-encerrado-v731629 .evx-bg{filter:brightness(.34) saturate(.2) grayscale(.55)}
/* v731622 — a folha do CEP: nossa, não do navegador */
#idincCepFolhaV731622{position:fixed;inset:0;z-index:2147483600;display:flex;align-items:center;justify-content:center;padding:18px}
.idinc-cep-fundo-v731622{position:absolute;inset:0;background:rgba(4,5,8,.72);backdrop-filter:blur(6px)}
.idinc-cep-caixa-v731622{position:relative;width:100%;max-width:400px;padding:26px 22px 20px;border-radius:26px;
  background:#101208;border:1px solid rgba(255,255,255,.13);box-shadow:0 30px 90px rgba(0,0,0,.6);
  display:flex;flex-direction:column;gap:10px;animation:idincCepEntraV731622 .2s cubic-bezier(.22,1,.36,1)}
@keyframes idincCepEntraV731622{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.idinc-cep-x-v731622{position:absolute;top:12px;right:12px;width:32px;height:32px;border:0;border-radius:50%;cursor:pointer;
  background:rgba(255,255,255,.07);color:rgba(255,255,255,.7);font-size:19px;line-height:1;font-family:inherit}
.idinc-cep-tit-v731622{color:#fff;font-size:19px;font-weight:900;letter-spacing:-.5px}
.idinc-cep-sub-v731622{margin:0;color:rgba(255,255,255,.55);font-size:12.5px;line-height:1.5;font-weight:600}
.idinc-cep-campo-v731622{margin-top:4px;width:100%;box-sizing:border-box;padding:15px 16px;border-radius:15px;
  border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);color:#fff;
  font-family:inherit;font-size:17px;font-weight:900;letter-spacing:1px;text-align:center;outline:none}
.idinc-cep-campo-v731622:focus{border-color:rgba(215,255,1,.55);background:rgba(215,255,1,.06)}
.idinc-cep-erro-v731622{color:#ff8a8a;font-size:12px;font-weight:800;text-align:center}
.idinc-cep-ok-v731622{margin-top:2px;padding:15px;border:0;border-radius:999px;cursor:pointer;font-family:inherit;
  font-size:14.5px;font-weight:900;letter-spacing:-.2px;color:#0a0c07;background:linear-gradient(135deg,#d7ff01,#b9e000)}
.idinc-cep-ok-v731622:disabled{opacity:.6;cursor:progress}
.idinc-cep-limpa-v731622{padding:6px;border:0;background:none;cursor:pointer;font-family:inherit;
  color:rgba(255,255,255,.42);font-size:12px;font-weight:700}
.idinc-mod-v731589{display:inline-flex;align-items:center;gap:3px;padding:3px 7px;border-radius:999px;
  font-size:9.5px;font-weight:900;letter-spacing:.2px;border:1px solid transparent;white-space:nowrap}
.idinc-mod-v731589.entrega{background:rgba(255,92,92,.13);border-color:rgba(255,92,92,.34);color:#ff9a9a}
.idinc-mod-v731589.retirada{background:rgba(255,178,32,.13);border-color:rgba(255,178,32,.34);color:#ffcf7a}
.idinc-mod-v731589.nacional{background:rgba(215,255,1,.11);border-color:rgba(215,255,1,.32);color:#d7ff01}
.idinc-mod-v731589.intl{background:rgba(66,222,206,.12);border-color:rgba(66,222,206,.32);color:#7ff0e3}
/* v731642 — "desligado mas visível": o selo continua na mesma posição, com a
   mesma forma, só apagado. Some ele por completo e a pessoa não fica sabendo
   que a modalidade existe; deixe aceso sem saber de onde ela é e a promessa
   pode ser falsa. Apagado diz as duas coisas: existe, e ainda não sei se
   chega até você. */
.idinc-mod-v731589.apagado-v731642{
  background:rgba(255,255,255,.045)!important;border-color:rgba(255,255,255,.13)!important;
  color:rgba(233,237,245,.5)!important
}
.idinc-mods-v731589{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.idinc-cupons-v731493::-webkit-scrollbar{display:none}
.idinc-selo-card-v731531.atacado-v732289{color:#2FD4E8;background:rgba(47,212,232,.13);border-color:rgba(47,212,232,.4)}
.idinc-cupom-v731493{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1px;padding:9px 13px;cursor:pointer;
  border-radius:14px;border:1px dashed rgba(255,255,255,.26);background:rgba(255,255,255,.045);color:#fff;font-family:inherit;transition:.16s}
.idinc-cupom-v731493:hover{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.08)}
.idinc-cupom-v731493.copiado{border-style:solid;border-color:rgba(255,255,255,.75);background:rgba(255,255,255,.14)}
.idinc-cupom-val-v731493{font-size:13px;font-weight:950;letter-spacing:-.3px;color:#fff}
.idinc-cupom-cod-v731493{font-size:10px;font-weight:800;letter-spacing:.5px;color:rgba(255,255,255,.72)}
.idinc-cupom-v731493 em{font-style:normal;font-size:9px;font-weight:700;color:rgba(255,255,255,.40)}
/* v731501 — o automático não pede digitação; dizer isso evita que a pessoa
   ache que perdeu o desconto por não ter copiado nada. */
.idinc-auto-v731501{color:rgba(255,255,255,.58)!important}
/* v731502 — o link de "exibir mais": discreto, largo e óbvio */
.idinc-vermais-v731502{display:flex!important;flex-direction:column;align-items:center;gap:2px;
  box-sizing:border-box;width:calc(100% - 8px);max-width:460px;margin:14px auto 6px;padding:12px 20px;cursor:pointer;
  border-radius:16px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.045);
  color:#fff;font-family:inherit;font-size:13px;font-weight:900;letter-spacing:-.2px;transition:.16s}
.idinc-vermais-v731502:hover{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.07)}
.idinc-vermais-v731502 span{font-size:10px;font-weight:700;color:rgba(255,255,255,.42)}
/* v731504 — a classe entrava e a regra existia, e mesmo assim o card ficava
   `display:grid`: a folha da vitrine tem regra mais específica com !important,
   e entre dois !important quem vence é a especificidade. Repetir a classe
   multiplica o peso de forma legítima (é a mesma classe, três vezes) sem
   inventar seletor frágil. Mesma lição da whitelist da aba shop — brigar por
   !important não adianta, tem de ganhar em especificidade. */
/* ═══════════════════════════════════════════════════════════════════════
   v731505 — 🔴 EU DEIXEI BURACOS NA VITRINE. E foi por teimosia minha.

   A regra que manda no card é `html #bio-shop-panel .shop-card{display:grid
   !important}` — ela tem um ID e vale (1,1,1). Minhas tentativas anteriores
   não tinham ID nenhum: (0,1,2) e depois (0,3,2). Perderam as duas.

   Só que eu tinha posto `visibility:hidden` junto, e ESSA parte venceu. O
   resultado foi o pior dos mundos: card invisível ocupando o espaço inteiro
   — a loja ficou cheia de vãos gigantes, como no print do José.

   Duas lições que eu já deveria ter aplicado: entre `!important`, quem ganha
   é a ESPECIFICIDADE (só um ID no meu seletor resolvia desde o começo), e
   `visibility` sem `display` esconde sem liberar o espaço — se a ocultação
   falhar, é melhor não esconder nada do que deixar um buraco.
   ═══════════════════════════════════════════════════════════════════════ */
html body #bio-shop-panel .idinc-oculto-v731503,
html body #bio-shop-panel .shop-card-grid > .idinc-oculto-v731503,
html body #bio-shop-panel .idlink-profile-shop-grid-v643124 > .idinc-oculto-v731503{
  display:none!important}
/* o convite de compra, entre os sociais e as abas */
/* v731501 — vidro, não bloco sólido. O lime cheio competia com os produtos e
   dominava o perfil; a barra de frete grátis achou o tom certo (translúcida,
   borda lime discreta) e o convite passa a falar a mesma língua. Um cartão de
   visitas não grita — ele convida.
   `width:calc(100% - 8px)` porque este container pode ser estreito: com
   `width:100%` num pai de largura zero, o botão colapsava para 46px. */
#idlinkCompreAquiV731493{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  /* v731517 — o "Compre Aqui" travava em 460px e a barra de frete em 640px:
     em tela estreita ninguém nota, em tela larga a diferença salta. Mesmo
     limite nos dois — um bloco que convida e outro que informa precisam
     parecer a mesma coisa. */
  /* v731571 — margem de baixo enxuta: o convite e a barra de frete formam um
     bloco so, e 10px + 12px abriam um vao no meio da vitrine. */
  /* v731626 — o convite subiu para dentro do painel da loja (v731566) e a
     margem de cima virou vão: 16px meus + o respiro do painel deixavam um
     buraco entre os ícones sociais e o botão. Ele é a primeira coisa da
     vitrine; tem de encostar no topo dela. */
  box-sizing:border-box;width:calc(100% - 8px);min-width:220px;max-width:640px;margin:0 auto 2px;padding:14px 22px;
  cursor:pointer;text-align:center;border-radius:20px;
  border:1px solid rgba(255,255,255,.20);color:#fff;font-size:14.5px;font-weight:900;letter-spacing:-.3px;
  background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.035));
  backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);
  position:relative;overflow:hidden;transition:border-color .2s ease,transform .12s ease}
/* um brilho que atravessa devagar: chama o olho sem piscar na cara */
#idlinkCompreAquiV731493::after{content:'';position:absolute;top:0;bottom:0;width:38%;left:-45%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.18),transparent);
  animation:idincBrilhoV731501 5.2s ease-in-out infinite}
@keyframes idincBrilhoV731501{0%,62%{left:-45%}86%,100%{left:120%}}
#idlinkCompreAquiV731493:hover{border-color:rgba(255,255,255,.45)}
#idlinkCompreAquiV731493:active{transform:scale(.988)}
#idlinkCompreAquiV731493 .idinc-ca-sub-v731493{display:block;font-size:10.5px;font-weight:700;color:rgba(255,255,255,.48);letter-spacing:0}
/* parcelamento no card do produto */
.idinc-parcela-v731493{display:block;margin-top:2px;font-size:10.5px;font-weight:800;color:rgba(255,255,255,.82);letter-spacing:-.1px}
/* v731531 — a linha de argumentos do card: discreta, mas presente. Fica
   ABAIXO do preço porque é ele que ancora a decisão; estes selos só reduzem
   o atrito de quem já se interessou. */
.idinc-card-extra-v731531{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:6px}
/* ═══════════════════════════════════════════════════════════════════════════
   v733904b — O CARD GANHA TRANSPARÊNCIA, PARA CONVERSAR COM O FUNDO.

   José: "o card precisa ter mais transparência leve, pra combinar o layout."

   Hoje o card é `rgba(9,10,13,.78)` — quase opaco, uma placa escura sobre um
   fundo que tem textura e cor da loja. O resultado é um retângulo colado por
   cima, não um elemento do mesmo material.

   Baixo a opacidade para .58 e acrescento o desfoque de vidro: assim a cor da
   loja atravessa o card e ele passa a pertencer à página. A borda sobe um
   pouco (de .07 para .10) porque, com fundo mais transparente, é ela que
   mantém o card recortado — sem isso a peça se dissolve e o produto perde o
   contorno.

   🔴 O texto não muda de cor. Fundo mais claro com texto mais claro é onde
   esse tipo de ajuste costuma quebrar a legibilidade; aqui o contraste do
   título e do preço fica exatamente como está.

   `backdrop-filter` tem custo por frame e é justamente o que a máquina de
   rolagem remove enquanto a pessoa rola (v733254) — então ele aparece parado e
   sai em movimento, que é o melhor dos dois.
   ═══════════════════════════════════════════════════════════════════════════ */
html .shop-shell .shop-card,
html #bio-shop-panel a.shop-card{
  background:rgba(9,10,13,.58)!important;
  border-color:rgba(255,255,255,.10)!important;
  backdrop-filter:blur(10px) saturate(120%);
  -webkit-backdrop-filter:blur(10px) saturate(120%);
}
html .shop-shell .shop-card:hover,
html #bio-shop-panel a.shop-card:hover{
  background:rgba(9,10,13,.68)!important;
  border-color:rgba(255,255,255,.16)!important;
}
.idinc-selo-card-v731531{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;
  font-size:9.5px;font-weight:900;letter-spacing:.1px;line-height:1.35;white-space:nowrap}
.idinc-selo-card-v731531.fg{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.86)}
.idinc-selo-card-v731531.qtd-v732142{background:rgba(215,255,1,.14);border:1px solid rgba(215,255,1,.42);color:#d7ff01;font-weight:800}
.idinc-selo-card-v731531.dpg-v735380{background:rgba(79,224,200,.14);border:1px solid rgba(79,224,200,.42);color:#4fe0c8;font-weight:800} /* v735380 */
.idinc-selo-card-v731531.ur{background:rgba(255,138,30,.14);border:1px solid rgba(255,138,30,.36);color:#ffb066}
html #bio-shop-panel .shop-card{transition:transform .16s ease,box-shadow .16s ease}
html #bio-shop-panel .shop-card:hover{transform:translateY(-2px);
  box-shadow:0 18px 38px rgba(0,0,0,.38),0 3px 8px rgba(0,0,0,.26)!important}
@media (prefers-reduced-motion:reduce){html #bio-shop-panel .shop-card{transition:none}}
/* ═══════════════════════════════════════════════════════════════════════
   v731517 — O RESPIRO DA ABA DA LOJA, AGORA VISÍVEL.

   A primeira versão tinha UMA onda fininha e translúcida saindo do botão: a
   animação rodava (confirmei no navegador), só que ninguém enxergava. Efeito
   discreto demais não é minimalismo — é efeito que não existe.

   Agora são duas ondas defasadas, mais opacas, com um leve brilho no próprio
   ícone no momento do pulso. Continua sem cor de marca, para assentar em
   qualquer paleta de loja, e continua parando no primeiro clique: cumprida a
   função, animação vira ruído.
   ═══════════════════════════════════════════════════════════════════════ */
/* ═══════════════════════════════════════════════════════════════════════
   v731583 — A BORDA QUE DÁ A VOLTA, SEM PARAR.

   As ondas anteriores tinham dois problemas juntos: pulsavam a cada 3,2s
   (quase sempre você olhava no intervalo e não via nada) e, quando davam o
   pulso, expandiam para 1,75× — animação de LAYOUT, cara para o compositor e
   fácil de irritar.

   Trocado por um arco girando na borda, em loop contínuo: sempre há algo
   acontecendo quando o olho passa, e o movimento é constante em vez de
   assustar de tempos em tempos. Custa uma única propriedade `rotate` num
   pseudo-elemento — o compositor resolve na GPU sem recalcular layout, e nada
   se move fora do próprio ícone.

   `conic-gradient` desenha o arco; a máscara deixa só a casca de 2px, então
   o meio do ícone continua limpo. Sem cor de marca: assenta em qualquer
   paleta de loja. E continua sumindo no primeiro clique — cumprida a função,
   animação vira ruído.
   ═══════════════════════════════════════════════════════════════════════ */
.idinc-aba-pulso-v731507{position:relative;overflow:visible!important}
.idinc-aba-pulso-v731507::after{content:'';position:absolute;inset:-3px;border-radius:50%;
  pointer-events:none;z-index:0;
  background:conic-gradient(from 0deg,
      rgba(255,255,255,0) 0deg,
      rgba(255,255,255,0) 190deg,
      rgba(255,255,255,.28) 250deg,
      rgba(255,255,255,.92) 320deg,
      rgba(255,255,255,0) 360deg);
  -webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 2px));
          mask:radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 2px));
  animation:idincAbaGiraV731583 2.6s linear infinite;
  will-change:transform}
/* o halo fixo, discreto: dá corpo ao arco sem competir com ele */
.idinc-aba-pulso-v731507::before{content:'';position:absolute;inset:-3px;border-radius:50%;
  pointer-events:none;z-index:0;border:1px solid rgba(255,255,255,.14)}
@keyframes idincAbaGiraV731583{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){
  .idinc-aba-pulso-v731507::after{animation:none;opacity:.5}}
.idinc-selo-v731493{display:inline-flex;align-items:center;gap:3px;margin-top:3px;padding:2px 6px;border-radius:999px;
  font-size:9px;font-weight:900;letter-spacing:.3px;background:rgba(215,255,1,.13);color:#d7ff01}
html body #idlinkEventsShortcutV73195:not(.hidden){display:flex!important;visibility:visible!important;height:auto!important;pointer-events:auto!important}
html body #idlinkEventModalV73195.show{display:flex!important;visibility:visible!important}
