/* Datas comemorativas (sazonal.js): faixa do topo, selo nos cards e efeitos. Vale para o layout clássico e a vitrine. */
.saz-faixa{position:relative;z-index:60;overflow:hidden;color:#fff;background:var(--saz-c,#111);font:600 14px/1.3 system-ui,-apple-system,"Segoe UI",sans-serif}
.saz-in{position:relative;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 14px;max-width:1200px;margin:0 auto;padding:10px 48px 10px 16px;text-align:center}
.saz-ic{display:inline-grid;place-items:center;width:28px;height:28px;flex:none;border-radius:999px;background:rgb(255 255 255 / 16%)}
.saz-ic svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.saz-msg{text-wrap:balance}
.saz-conta{display:inline-flex;align-items:baseline;gap:6px;font-variant-numeric:tabular-nums;white-space:nowrap}
.saz-conta em{font-style:normal;font-weight:500;opacity:.85;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.saz-conta b{display:inline-block;min-width:1.6em;padding:2px 4px;border-radius:6px;background:rgb(0 0 0 / 22%);font-weight:800;text-align:center}
.saz-conta small{margin:0 2px 0 1px;font-size:11px;opacity:.8}
.saz-cta{min-height:36px;padding:0 16px;border:0;border-radius:999px;background:#fff;color:#111;font:800 13px/1 inherit;cursor:pointer;transition:transform .2s,box-shadow .2s}
.saz-cta:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgb(0 0 0 / 25%)}
.saz-cta:focus-visible,.saz-x:focus-visible{outline:2px solid #fff;outline-offset:2px}
.saz-x{position:absolute;right:6px;top:50%;width:40px;height:40px;transform:translateY(-50%);border:0;border-radius:999px;background:transparent;color:inherit;font-size:22px;line-height:1;cursor:pointer;opacity:.8}
.saz-x:hover{opacity:1;background:rgb(255 255 255 / 12%)}
@media (max-width:640px){.saz-faixa{font-size:13px}.saz-in{padding:8px 44px 8px 12px;gap:6px 10px}.saz-cta{min-height:32px;padding:0 12px}.saz-conta em{display:none}}

/* selo nos cards dos produtos */
body.saz :is(.card[data-id],.product-card,.vp-card){position:relative}
body.saz :is(.card[data-id],.product-card,.vp-card)::after{content:var(--saz-selo);position:absolute;z-index:4;top:10px;right:10px;padding:5px 9px;border-radius:999px;background:var(--saz-c);color:#fff;font:800 10px/1 system-ui,-apple-system,sans-serif;letter-spacing:.06em;text-transform:uppercase;pointer-events:none;box-shadow:0 4px 12px rgb(0 0 0 / 22%)}

/* ===== Black Friday: preto com dourado, letreiro correndo e brilho nos cards ===== */
body.saz-black-friday .saz-faixa{background:#050505;color:#fff;border-bottom:1px solid rgb(255 214 10 / 35%)}
body.saz-black-friday .saz-ic{background:#ffd60a;color:#111}
body.saz-black-friday .saz-conta b{background:#ffd60a;color:#111}
body.saz-black-friday .saz-cta{background:#ffd60a;color:#111}
.saz-marquee{display:flex;width:max-content;padding:5px 0;background:linear-gradient(90deg,#ffd60a,#ffef8a 50%,#ffd60a);color:#111;font:900 12px/1 system-ui,-apple-system,sans-serif;letter-spacing:.22em;white-space:nowrap;animation:saz-corre 26s linear infinite}
.saz-marquee span{padding-right:2.2em}
.saz-marquee i{font-style:normal;margin:0 .9em}
@keyframes saz-corre{to{transform:translateX(-50%)}}
body.saz-black-friday :is(.card[data-id],.product-card,.vp-card)::after{background:#050505;color:#ffd60a;border:1px solid #ffd60a}
body.saz-black-friday :is(.card[data-id],.product-card,.vp-card){box-shadow:0 0 0 1px rgb(255 214 10 / 22%);transition:box-shadow .3s,transform .3s}
body.saz-black-friday :is(.card[data-id],.product-card,.vp-card):hover{box-shadow:0 0 0 1px rgb(255 214 10 / 70%),0 12px 32px -10px rgb(255 214 10 / 45%)}

/* ===== Natal: vermelho com verde e dourado, varal de luzes e neve leve ===== */
body.saz-natal .saz-faixa{background:linear-gradient(100deg,#9d0208 0%,#d00000 45%,#0b6e4f 100%)}
body.saz-natal .saz-ic{background:#ffd166;color:#7a0010}
body.saz-natal .saz-cta{background:#fff;color:#9d0208}
body.saz-natal .saz-in{padding-bottom:16px}
.saz-luzes{position:absolute;left:0;right:0;bottom:2px;height:10px;display:flex;justify-content:space-around;pointer-events:none}
.saz-luzes::before{content:"";position:absolute;left:0;right:0;top:2px;height:1px;background:rgb(255 255 255 / 35%)}
.saz-luzes i{position:relative;width:6px;height:8px;border-radius:50% 50% 45% 45%;background:#ffd166;box-shadow:0 0 8px 2px currentColor;color:#ffd166;animation:saz-pisca 1.4s ease-in-out infinite;animation-delay:var(--d)}
.saz-luzes i:nth-child(4n+1){background:#ff595e;color:#ff595e}.saz-luzes i:nth-child(4n+2){background:#8ac926;color:#8ac926}.saz-luzes i:nth-child(4n+3){background:#1982c4;color:#1982c4}
@keyframes saz-pisca{0%,100%{opacity:1}50%{opacity:.35}}
body.saz-natal :is(.card[data-id],.product-card,.vp-card)::after{background:linear-gradient(135deg,#d00000,#9d0208);color:#fff}
.saz-neve{position:fixed;inset:0;z-index:55;width:100%;height:100%;pointer-events:none}

/* confete / corações (outras datas) */
.saz-rajada{position:fixed;inset:0;z-index:55;overflow:hidden;pointer-events:none}
.saz-rajada i{position:absolute;top:-24px;font-style:normal;animation:saz-cai linear forwards}
@keyframes saz-cai{to{transform:translateY(110vh) rotate(540deg);opacity:.2}}

@media (prefers-reduced-motion:reduce){.saz-marquee{animation:none}.saz-luzes i{animation:none}.saz-neve,.saz-rajada{display:none}}

/* ===== marca d'água lateral e bordão fixos (BVMarca): lateral direita, como a sacola ===== */
.bv-marca{position:fixed;right:clamp(8px,1vw,18px);top:240px;z-index:50;display:none;flex-direction:column;align-items:center;gap:10px;transform:rotate(180deg);writing-mode:vertical-rl;pointer-events:none;user-select:none}
.bv-marca-nome{font:900 64px/.9 "Nunito","Arial Rounded MT Bold","Segoe UI",system-ui,sans-serif;letter-spacing:.05em;text-transform:uppercase;color:transparent;-webkit-text-stroke:2px rgb(17 19 23 / 22%);white-space:nowrap}
.bv-marca-frase{font:500 12px/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:.02em;color:rgb(17 19 23 / 62%);white-space:nowrap}
.bv-marca-bordao{font:800 12px/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:rgb(17 19 23 / 70%);white-space:nowrap;padding:10px 0;border-left:2px solid currentColor;border-right:2px solid currentColor}
.bv-marca-bordao i{font-style:normal;font-size:1.7em;line-height:0;margin-bottom:.4em;color:var(--bv-ac,var(--vt-ac,var(--brand,#f05a28)))}
html.tema-escuro .bv-marca-nome{-webkit-text-stroke-color:rgb(255 255 255 / 26%)}
html.tema-escuro .bv-marca-frase{color:rgb(255 255 255 / 72%)}
html.tema-escuro .bv-marca-bordao{color:rgb(255 255 255 / 82%)}
/* computador: a marca fica numa coluna própria à direita; o site encolhe um pouco para nada ficar por baixo dela */
@media (min-width:761px){.bv-marca{display:flex}html.bv-tem-marca body{padding-right:var(--bv-lado,0px)}}
.bv-bordao-cel{display:none}
.bv-bordao-cel i{font-style:normal;margin-right:6px;color:var(--bv-ac,var(--vt-ac,var(--brand,#f05a28)));font-size:1.5em;line-height:0;vertical-align:-.25em}
/* celular: o bordão numa faixa dentro do topo (fica presa junto com ele) */
@media (max-width:760px){.bv-bordao-cel.no-topo{display:block;flex-basis:100%;width:100%;margin:6px 0 0;padding:6px 12px;background:#0b0b0d;color:#fff;text-align:center;font:800 11px/1.25 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:.1em;text-transform:uppercase;box-shadow:inset 0 -2px 0 var(--bv-ac,var(--vt-ac,var(--brand,#f05a28)))}}
