/** Shopify CDN: Minification failed

Line 696:0 Unexpected "}"

**/
/* ================================================================
   VANTA — HALLOWEEN (camada final, só no tema vanta-halloween)
   Paleta: preto-roxo #0B0710, abóbora #F57C20, roxo #8B3DFF.
   A oferta não é tocada. Animações respeitam prefers-reduced-motion.
   Para desligar tudo: remover vanta-halloween.css/js do theme.liquid.
   ================================================================ */

:root {
  --hw-orange: #F57C20;
  --hw-ink: #0B0710;
  --yellow: #F57C20;
  --secondary-text-color: #F57C20;
  /* superfícies na mesma família do fundo roxo-escuro: sem cinzentos a criar costuras */
  --surface: #0B0710;
  --grey: #150E21;
  --bg-alt: #0B0710;
}

html, body { background-color: var(--hw-ink); }
main .shopify-section, .shopify-section-group-footer-group { background-color: var(--hw-ink); }

/* ── Barra de anúncios ── */
.ann-bar {
  background: #F57C20 !important;
  color: #160a05 !important;
  border-bottom: 0;
}
.ann-bar, .ann-bar * { color: #160a05 !important; }
.ann-text::before, .ann-text::after {
  content: ""; display: inline-block; width: 1.5em; height: 1.5em; margin: 0 1.1em; vertical-align: -0.35em;
  background: center / contain no-repeat;
  animation: hwBob 1.6s ease-in-out infinite;
}
.ann-text::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23160a05' d='M11 5c0-2 1-3 3-3l.8 1.5c-1 .3-1.4 1-1.4 2.2z'/%3E%3Cpath fill='%23160a05' d='M12 5.5C8.800 3.900 3 5.700 3 12.300c0 5 4 8.200 9 8.200s9-3.200 9-8.200c0-6.600-5.800-8.400-9-6.800z'/%3E%3Cpath fill='%23FF7A1A' d='M6.500 11l3 1.500-3 1.500zM17.500 11l-3 1.500 3 1.500zM8 16.500l1.500-1 1.200 1 1.300-1 1.300 1 1.200-1 1.500 1c-.5 1.800-2 2.500-4 2.500s-3.500-.7-4-2.500z'/%3E%3C/svg%3E"); }
.ann-text::after { animation-delay: .4s; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 22'%3E%3Cpath fill='%23160a05' d='M20 7L21.200 2.500L23 6C26 5 31 3 39 4Q36.500 8.500 35.500 13Q33 10.500 30.500 13.500Q28.500 11 26 14L23 12L20 19L17 12L14 14Q11.500 11 9.500 13.500Q7 10.500 4.500 13Q3.500 8.500 1 4C9 3 14 5 17 6L18.800 2.500Z'/%3E%3C/svg%3E"); }
@keyframes hwBob { 0%,100% { transform: translateY(0) rotate(-6deg); } 50% { transform: translateY(-2px) rotate(6deg); } }

/* ── Cabeçalho ── */
#main-nav, #main-nav.scrolled { box-shadow: none; border-bottom: 0 !important; }
#main-nav.scrolled { background: rgba(11, 7, 16, .88) !important; }

/* ── Títulos: palavra-chave em laranja ── */
h1 em, h2 em, h3 em, .section-title em, .section-h2 em, .hl,
[class*="-title"] em, [class*="-heading"] em, .grad-text {
  color: var(--hw-orange) !important;
  text-shadow: 0 0 10px rgba(245, 124, 32, .22) !important;
  animation: none !important;
}
.on-light h1 em, .on-light h2 em, .on-light h3 em, .on-light [class*="-title"] em {
  color: #1a0b00 !important; text-shadow: none !important;
  background: linear-gradient(transparent 58%, var(--hw-orange) 58%, var(--hw-orange) 90%, transparent 90%);
}

/* ── Botões: lanterna de abóbora ── */
.btn-primary, #bb-cta, .bb-cta {
  background: #F57C20 !important;
  color: #160a05 !important;
  box-shadow: none !important;
  transition: box-shadow .25s, transform .25s;
}
.btn-primary:hover, #bb-cta:hover, .bb-cta:hover {
  box-shadow: none !important;
}
.btn-primary:hover, #bb-cta:hover { transform: translateY(-2px) scale(1.02); filter: saturate(1.15); }

.btn-secondary, .btn-outline, .btn-ghost { border-color: #9B5CFF !important; box-shadow: none; transition: background-color .25s, border-color .25s; }
.btn-secondary:hover, .btn-outline:hover, .btn-ghost:hover { background-color: rgba(155, 92, 255, .14); border-color: #C2A0FF !important; }

/* MB WAY deixa de competir com o CTA: roxo */
#mbway-btn, .bb-mbway {
  background: linear-gradient(135deg, #A66BFF, #6D28D9) !important;
  color: #fff !important; border-color: rgba(166, 107, 255, .6) !important;
  box-shadow: none !important;
}

/* ── Cartões e superfícies ── */
[class*="-card"]:not(.on-light), .bb-opt, .faq-item, .review-card {
  transition: border-color .3s, box-shadow .3s, transform .3s;
}
[class*="-card"]:not(.on-light):hover, .bb-opt:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, .35);
  border-color: rgba(245, 124, 32, .55) !important;
}
.bb-opt.active, .bundle-opt.active { box-shadow: 0 0 0 2px var(--hw-orange) !important; }

/* cartões de produto: sem moldura, só um brilho suave da cor da lente atrás da imagem */
.product-card { --lg: 255, 255, 255; }
.product-card[data-lens="quartz"] { --lg: 170, 200, 255; }
.product-card[data-lens="citrine"] { --lg: 255, 214, 70; }
.product-card[data-lens="amber"] { --lg: 255, 122, 26; }
.product-card, .product-card:hover { border: 0 !important; box-shadow: none !important; border-radius: 0 !important; overflow: visible; background: transparent; }
.product-card .card-img-wrap { border-radius: 28px !important; transition: box-shadow .3s; box-shadow: 0 10px 40px -12px rgba(var(--lg), .45); }
.product-card:hover .card-img-wrap { box-shadow: 0 12px 54px -8px rgba(var(--lg), .75); }

.bb-lens[data-lens*="quartz"] { --lg: 170, 200, 255; }
.bb-lens[data-lens*="citrine"] { --lg: 255, 214, 70; }
.bb-lens[data-lens*="amber"] { --lg: 255, 122, 26; }
.bb-lens { border-color: rgba(var(--lg, 255, 255, 255), .35); }
.bb-lens:hover { box-shadow: 0 0 20px rgba(var(--lg, 255, 255, 255), .35); }

/* etiquetas de desconto: roxo, para não competirem com o laranja dos CTAs */
.card-badge, .gallery-main .gallery-badge {
  background: linear-gradient(135deg, #9B5CFF, #6D28D9) !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, .28) !important;
  box-shadow: 0 6px 18px rgba(109, 40, 217, .4) !important;
}

/* sticky/carrinho/menu ficam por cima dos enfeites */
#sticky-buy, .pdp-sticky-bar, #cart-drawer, .nav-drawer, #sb-overlay { z-index: 60; }

/* selecção de texto e scrollbar */
::selection { background: var(--hw-orange); color: #160a05; }
html { scrollbar-color: var(--hw-orange) #12081c; }

/* ── Popup: tarô da Vanta ── */
.vfp-card { background: #0B0710; border: 1px solid rgba(155, 92, 255, .35); box-shadow: 0 0 60px rgba(120, 50, 230, .35); }
.vfp-pick-card:nth-child(n) .vfp-pick-back {
  background: radial-gradient(circle at 50% 40%, #4a1d96 0%, #240a52 55%, #120528 100%);
  border: 1px solid rgba(155, 92, 255, .7); border-radius: 18px;
  box-shadow: 0 0 22px rgba(139, 61, 255, .45), inset 0 0 0 5px #120528, inset 0 0 0 6px rgba(245, 124, 32, .6);
}
.vfp-pick-mark { filter: brightness(0) invert(.92) drop-shadow(0 0 8px rgba(245, 124, 32, .8)); }
.vfp-pick-back::after { background: linear-gradient(115deg, transparent, rgba(190, 150, 255, .28), transparent); }
.vfp-pick-card::before { background: radial-gradient(circle, rgba(155, 92, 255, .6), transparent 70%); }
.vfp-pick-front { background: radial-gradient(circle at 50% 30%, #2a1060, #0B0710); border: 1px solid #F57C20; box-shadow: 0 0 24px rgba(245, 124, 32, .5); color: #fff; }
.vfp-pick-front small { font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: #c9b0ff; font-weight: 700; }
.vfp-pick-front strong { color: #F57C20; text-shadow: 0 0 14px rgba(245, 124, 32, .7); }
.vfp-pick-front em { color: #efe8ff; }
.vfp-cta { box-shadow: none; }

/* ── Enfeites: ilustração cuidada, poucos elementos (gerados em vanta-halloween.js) ── */
.hw-host { position: relative; }
.hw-deco { position: absolute; inset: 0; z-index: 2; pointer-events: none; overflow: hidden; }
.hw-deco--footer { overflow: visible; }
.section-hero-wrapper .hw-deco { top: 0; }
.hw-deco:not(.in) * { animation-play-state: paused !important; }

/* teias: desenham-se ao entrar */
.hw-web { position: absolute; top: 0; width: min(20vw, 230px); color: #efe8ff; opacity: .6; filter: drop-shadow(0 0 3px rgba(220, 205, 255, .35)); }
.hw-web.big { width: min(24vw, 290px); }
.hw-web.l { left: 0; } .hw-web.r { right: 0; transform: scaleX(-1); }
.hw-web svg { width: 100%; height: auto; display: block; }
.hw-web path { stroke-dasharray: 9000; stroke-dashoffset: 9000; }
.hw-deco.in .hw-web path { animation: hwDraw 3s ease-out forwards; }
@keyframes hwDraw { to { stroke-dashoffset: 0; } }

/* aranha: desce pelo fio e fica a balançar */
.hw-spider { position: absolute; top: 0; width: var(--sz, 44px); height: var(--len, 110px); transform-origin: 50% 0; transform: translateY(-110%); animation: hwLower 2.2s cubic-bezier(.3, .8, .3, 1) forwards, hwSway 6s ease-in-out infinite; }
.hw-spider::before { content: ""; position: absolute; left: 50%; top: 0; bottom: calc(var(--sz, 44px) * .9); width: 1px; background: linear-gradient(rgba(239, 232, 255, .4), rgba(239, 232, 255, .95)); }
.hw-spider .body { position: absolute; left: 0; bottom: 0; width: 100%; height: var(--sz, 44px); filter: drop-shadow(0 4px 5px rgba(0, 0, 0, .55)); }
.hw-spider svg { width: 100%; height: 100%; display: block; }
@keyframes hwLower { to { transform: translateY(0); } }
@keyframes hwSway { 0%,100% { rotate: -3deg; } 50% { rotate: 3deg; } }

/* abóboras esculpidas, assentes na borda superior do rodapé */
.hw-jacks { position: absolute; display: flex; align-items: flex-end; gap: 4px; }
.hw-jacks.top { top: 0; transform: translateY(-88%); }
.hw-jacks.right { right: 4%; } .hw-jacks.left { left: 4%; }
.hw-jack { width: var(--w, 70px); opacity: 0; transform: translateY(8px) scale(.94); transform-origin: 50% 100%; }
.hw-jack svg { width: 100%; display: block; }
.hw-deco.in .hw-jack { animation: hwJackIn .9s ease-out calc(.2s + var(--d, 0s)) forwards; }
@keyframes hwJackIn { to { opacity: 1; transform: none; } }
.hw-jack .fl { animation: hwFlicker 2.6s ease-in-out infinite alternate; animation-delay: var(--d, 0s); }
@keyframes hwFlicker { 0% { opacity: .72; } 35% { opacity: 1; } 60% { opacity: .85; } 100% { opacity: .95; } }

/* ── Mobile ── */
@media (max-width: 749px) {
  .ann-text::before, .ann-text::after { margin: 0 .9em; }
  .hw-web { width: 30vw; opacity: .5; } .hw-web.big { width: 34vw; }
  .hw-spider { --sz: 34px !important; }
  .hw-jack { width: calc(var(--w, 70px) * .7); }
}

/* ── Reduzir movimento: tudo parado e visível ── */
@media (prefers-reduced-motion: reduce) {
  .ann-text::before, .ann-text::after, .vx-stat.is-in .vx-ring-fg { animation: none !important; }
}
.hw-deco.still *, .hw-deco.still *::before { animation: none !important; }
.hw-deco.still .hw-web path { stroke-dashoffset: 0; }
.hw-deco.still .hw-spider { transform: none; }
.hw-deco.still .hw-jack { opacity: 1; transform: none; }

/* ── Ritmo: cada secção com a sua luz, em vez do mesmo fundo liso ── */
main .shopify-section[id$="__screen_quiz"] { background-image: radial-gradient(70% 60% at 50% 0%, rgba(139, 61, 255, .18), transparent 70%) !important; }
main .shopify-section[id$="__certified"] { background-image: radial-gradient(60% 50% at 100% 0%, rgba(245, 124, 32, .12), transparent 70%) !important; }
main .shopify-section[id$="__pack"] { background-image: radial-gradient(70% 60% at 50% 100%, rgba(139, 61, 255, .16), transparent 70%) !important; }
main .shopify-section[id$="__community"] { background-image: radial-gradient(50% 50% at 0% 50%, rgba(245, 124, 32, .08), transparent 70%) !important; }


/* barra de anúncios: mais alta só no mobile (no desktop mantém o tamanho original) */
@media (max-width: 899px) {
  .ann-bar .ann-inner { padding: 14px 0; }
  .ann-bar .ann-text { font-size: 11px; letter-spacing: .1em; }
}

/* CTA do hero sem neon */
.hero .btn-primary, .hero .btn-primary:hover { box-shadow: none !important; }

/* barra de anúncios: laranja com um gradiente suave da esquerda para a direita */
.ann-bar .ann-inner { background: #F57C20 !important; }

/* texto da barra de anúncios um pouco mais pequeno */
.ann-bar .ann-text { font-size: 10.5px; }
@media (max-width: 899px) { .ann-bar .ann-text { font-size: 11px; } }

/* o morcego é mais largo do que alto */
.ann-text::after { width: 2.3em; height: 1.6em; vertical-align: -0.4em; }

/* barra de anúncios no desktop: ligeiramente maior */
@media (min-width: 900px) {
  .ann-bar .ann-inner { padding: 13px 0; }
  .ann-bar .ann-text { font-size: 11.5px; }
}

/* sem etiqueta no hero */
.hero-tag { display: none !important; }

/* aranha do hero mais à esquerda no desktop */
@media (min-width: 900px) { .section-hero-wrapper .hw-spider { left: 6% !important; } }

/* ══ Faixa de oferta: bilhete de Halloween ══ */
.vx-offer.hwo { background: var(--hw-ink); border: 0; padding: 52px 24px 28px; position: relative; z-index: 2; }
.hwo-card {
  position: relative; display: flex; align-items: stretch; max-width: 1200px; margin: 0 auto; min-height: 142px;
  border-radius: 22px; border: 1px solid rgba(155, 92, 255, .45);
  background: linear-gradient(105deg, #33136e 0%, #1b0b38 52%, #140a26 100%);
  box-shadow: 0 26px 60px -26px rgba(139, 61, 255, .6), inset 0 1px 0 rgba(255, 255, 255, .07);
}
.hwo-pumpkin { position: absolute; left: 30px; bottom: -8px; width: 148px; z-index: 2; pointer-events: none; }
.hwo-pumpkin::before { content: ""; position: absolute; inset: -28% -38% -6%; background: radial-gradient(closest-side, rgba(245, 124, 32, .4), transparent 75%); z-index: -1; }
.hwo-pumpkin svg { width: 100%; display: block; }
.hwo-flame { animation: hwFlicker 2.6s ease-in-out infinite alternate; }

.hwo-main { display: flex; flex-direction: column; justify-content: center; gap: 7px; padding: 26px 36px 26px 214px; flex: 1.15; }
.hwo-eyebrow { font: 700 11px/1 var(--font-heading); letter-spacing: .22em; text-transform: uppercase; color: #F57C20; }
.hwo-title { font: 800 50px/1 var(--font-heading); letter-spacing: -.02em; color: #fff; }
.hwo-title em { font-style: normal; background: #F57C20; -webkit-background-clip: text; background-clip: text; color: transparent !important; text-shadow: none !important; }
.hwo-sub { font: 600 17px/1.2 var(--font-heading); color: rgba(255, 255, 255, .85); }

.hwo-coupon, .hwo-time { position: relative; display: flex; flex-direction: column; justify-content: center; gap: 10px; padding: 26px 34px; }
.hwo-coupon::before, .hwo-time::before {
  content: ""; position: absolute; left: -9px; top: 0; bottom: 0; width: 18px; pointer-events: none;
  background:
    radial-gradient(circle at 50% 0, var(--hw-ink) 8px, transparent 8.5px) top / 18px 9px no-repeat,
    radial-gradient(circle at 50% 100%, var(--hw-ink) 8px, transparent 8.5px) bottom / 18px 9px no-repeat,
    repeating-linear-gradient(to bottom, rgba(255, 255, 255, .22) 0 6px, transparent 6px 12px) center / 2px calc(100% - 34px) no-repeat;
}
.hwo-label { font: 700 10.5px/1 var(--font-heading); letter-spacing: .22em; text-transform: uppercase; color: #F57C20; }
.hwo-hint { font: 500 13px/1 var(--font-heading); color: rgba(255, 255, 255, .65); }

.hwo-ticket {
  display: inline-flex; align-items: stretch; align-self: flex-start; border-radius: 12px; overflow: hidden; cursor: pointer;
  background: rgba(255, 255, 255, .08); box-shadow: 0 0 0 1px rgba(255, 154, 77, .6), 0 12px 30px -10px rgba(245, 124, 32, .6);
  transition: transform .2s, filter .2s;
}
.hwo-ticket:hover { transform: translateY(-2px); filter: brightness(1.08); }
.hwo-ticket b { padding: 13px 22px; background: #F57C20; color: #160a05; font: 800 24px/1 var(--font-heading); letter-spacing: .14em; border-right: 2px dashed rgba(22, 10, 5, .45); }
.hwo-ticket i { display: flex; align-items: center; padding: 0 18px; font: 700 11px/1 var(--font-heading); font-style: normal; letter-spacing: .14em; text-transform: uppercase; color: #F57C20; }
.hwo-ticket.copied b::after { content: " ✓"; }

.hwo-count { display: flex; align-items: center; gap: 7px; }
.hwo-cell { min-width: 62px; padding: 10px 6px 8px; text-align: center; line-height: 1; border-radius: 12px; background: rgba(255, 255, 255, .07); border: 1px solid rgba(155, 92, 255, .45); }
.hwo-cell b { display: block; font: 800 27px/1 var(--font-heading); font-variant-numeric: tabular-nums; color: #F57C20; }
.hwo-cell small { display: block; margin-top: 6px; font: 600 9px/1 var(--font-heading); letter-spacing: .14em; text-transform: uppercase; color: rgba(255, 255, 255, .6); }
.hwo-sep { margin-top: -10px; font-weight: 800; color: rgba(255, 255, 255, .5); }
.hwo-cell:last-child { border-color: rgba(255, 154, 77, .85); background: rgba(245, 124, 32, .16); animation: hwSecPulse 1s ease-in-out infinite alternate; }
@keyframes hwSecPulse { to { box-shadow: 0 0 18px rgba(245, 124, 32, .5); } }
@media (prefers-reduced-motion: reduce) { .hwo-cell:last-child, .hwo-flame { animation: none; } }

@media (max-width: 1100px) {
  .hwo-main { padding-left: 190px; padding-right: 20px; }
  .hwo-title { font-size: 40px; }
  .hwo-coupon, .hwo-time { padding: 26px 22px; }
  .hwo-ticket b { font-size: 20px; padding: 12px 16px; }
  .hwo-cell { min-width: 52px; }
  .hwo-cell b { font-size: 22px; }
}
@media (max-width: 900px) {
  .hwo-pumpkin { display: none; }
  .hwo-main { padding-left: 28px; }
}
@media (max-width: 700px) {
  .vx-offer.hwo { padding: 14px 12px; }
  .hwo-card { display: grid; grid-template-columns: 1fr auto; grid-template-areas: "main time" "coupon time"; min-height: 0; border-radius: 16px; padding: 14px 14px 14px 16px; gap: 10px 12px; }
  .hwo-main { grid-area: main; padding: 0; gap: 4px; }
  .hwo-eyebrow { font-size: 9px; }
  .hwo-title { font-size: 26px; }
  .hwo-sub { font-size: 12px; }
  .hwo-coupon { grid-area: coupon; padding: 0; gap: 0; }
  .hwo-coupon::before, .hwo-time::before, .hwo-hint, .hwo-coupon .hwo-label, .hwo-sep { display: none; }
  .hwo-ticket b { padding: 8px 12px; font-size: 14px; }
  .hwo-ticket i { padding: 0 10px; font-size: 9px; }
  .hwo-time { grid-area: time; padding: 0; align-self: center; gap: 7px; align-items: flex-end; }
  .hwo-time .hwo-label { font-size: 8px; letter-spacing: .16em; }
  .hwo-count { gap: 4px; }
  .hwo-cell { min-width: 36px; padding: 6px 3px 5px; border-radius: 9px; }
  .hwo-cell b { font-size: 16px; }
  .hwo-cell small { margin-top: 3px; font-size: 7px; letter-spacing: .08em; }
}
.hwo-title em { font-family: var(--font-heading) !important; font-style: normal !important; font-weight: 800 !important; white-space: nowrap; }
.vx-offer.hwo { padding-top: 40px; }
@media (max-width: 700px) { .vx-offer.hwo { padding-top: 14px; } }
@media (min-width: 1101px) {
  .hwo-main { padding: 26px 28px 26px 200px; flex: 1 1 0; min-width: 0; }
  .hwo-title { font-size: 42px; }
  .hwo-coupon, .hwo-time { padding: 26px 26px; }
  .hwo-cell { min-width: 56px; }
  .hwo-cell b { font-size: 24px; }
}

/* ── Faixa de oferta no mobile: abóbora ao lado do benefício, cupão e contagem na linha de baixo ── */
@media (max-width: 700px) {
  .vx-offer.hwo { padding: 22px 12px 14px; }
  .hwo-card {
    grid-template-columns: 62px 1fr auto;
    grid-template-areas: "pumpkin main main" "coupon coupon time";
    align-items: center; padding: 16px 14px 14px; gap: 12px 10px;
  }
  .hwo-pumpkin { display: block; grid-area: pumpkin; position: relative; left: auto; bottom: auto; width: 62px; margin: -22px 0 -4px; align-self: end; }
  .hwo-main { padding: 0; gap: 5px; }
  .hwo-eyebrow { font-size: 9px; letter-spacing: .2em; }
  .hwo-title { font-size: 28px; }
  .hwo-sub { font-size: 12.5px; }
  .hwo-ticket b { padding: 9px 12px; font-size: 15px; }
  .hwo-ticket i { padding: 0 10px; font-size: 9px; }
  .hwo-time { align-self: center; }
  .hwo-cell { min-width: 34px; }
  .hwo-cell b { font-size: 15px; }
}

/* ── Faixa de oferta no desktop: colada ao hero, de margem a margem, com temporizador maior ── */
@media (min-width: 701px) {
  .vx-offer.hwo { padding: 0; }
  .hwo-card {
    max-width: none; margin: 0; min-height: 156px; border-radius: 0; border-width: 1px 0;
    padding-inline: max(32px, calc((100% - 1320px) / 2));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07), 0 30px 60px -30px rgba(139, 61, 255, .55);
  }
  .hwo-pumpkin { left: max(32px, calc((100% - 1320px) / 2 + 28px)); width: 156px; bottom: -10px; }
  .hwo-main { padding-left: 214px; }
  .hwo-time .hwo-label { font-size: 12px; }
  .hwo-count { gap: 9px; }
  .hwo-cell { min-width: 80px; padding: 13px 8px 11px; border-radius: 14px; }
  .hwo-cell b { font-size: 36px; }
  .hwo-cell small { margin-top: 8px; font-size: 10px; }
  .hwo-sep { font-size: 22px; margin-top: -14px; }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .hwo-main { padding-left: 190px; }
  .hwo-cell { min-width: 60px; }
  .hwo-cell b { font-size: 26px; }
}

/* ── Cupão: bilhete com entalhes laterais e perfuração; sem linhas a dividir a faixa ── */
.hwo-coupon::before, .hwo-time::before { display: none !important; }
.hwo-ticketwrap { align-self: flex-start; filter: drop-shadow(0 12px 18px rgba(245, 124, 32, .45)); --n: 10px; --pw: 160px; }
.hwo-ticket {
  align-self: auto; border-radius: 12px; overflow: visible; box-shadow: none; background: #241047;
  -webkit-mask:
    radial-gradient(circle var(--n) at 0 50%, #0000 97%, #000),
    radial-gradient(circle var(--n) at 100% 50%, #0000 97%, #000),
    radial-gradient(circle calc(var(--n) * .8) at var(--pw) 0, #0000 97%, #000),
    radial-gradient(circle calc(var(--n) * .8) at var(--pw) 100%, #0000 97%, #000);
  -webkit-mask-composite: source-in;
  mask:
    radial-gradient(circle var(--n) at 0 50%, #0000 97%, #000),
    radial-gradient(circle var(--n) at 100% 50%, #0000 97%, #000),
    radial-gradient(circle calc(var(--n) * .8) at var(--pw) 0, #0000 97%, #000),
    radial-gradient(circle calc(var(--n) * .8) at var(--pw) 100%, #0000 97%, #000);
  mask-composite: intersect;
}
.hwo-ticket b { width: var(--pw); box-sizing: border-box; text-align: center; padding: 17px 0; font-size: 28px; border-right: 0; border-radius: 12px 0 0 12px; position: relative; }
.hwo-ticket b::after { content: ""; position: absolute; right: 0; top: 10px; bottom: 10px; border-right: 2px dashed rgba(22, 10, 5, .5); }
.hwo-ticket i { position: relative; padding: 0 22px 0 18px; font-size: 12px; }
.hwo-ticket i::after { content: ""; position: absolute; inset: 7px 8px 7px 6px; border: 1.5px dashed rgba(255, 154, 77, .5); border-radius: 8px; pointer-events: none; }
@media (max-width: 700px) {
  .hwo-ticketwrap { --n: 6px; --pw: 88px; }
  .hwo-ticket b { padding: 11px 0; font-size: 15px; }
  .hwo-ticket b::after { top: 7px; bottom: 7px; }
  .hwo-ticket i { padding: 0 12px 0 10px; font-size: 9px; }
  .hwo-ticket i::after { inset: 5px 5px 5px 4px; }
}
.hwo-ticket { background: #3b1a73; }

/* ── Cupão: caixa tracejada com botão de copiar (sem cortes) e abóbora centrada à esquerda ── */
.hwo-ticketwrap { filter: none; }
.hwo-ticket {
  -webkit-mask: none; mask: none; overflow: visible; align-items: center; gap: 18px;
  padding: 9px 9px 9px 22px; border: 2px dashed #F57C20; border-radius: 14px;
  background: rgba(245, 124, 32, .1); box-shadow: 0 10px 28px -10px rgba(245, 124, 32, .5);
}
.hwo-ticket b { width: auto; padding: 0; background: none; border: 0; border-radius: 0; color: #fff; font-size: 30px; letter-spacing: .14em; text-shadow: 0 0 18px rgba(245, 124, 32, .55); }
.hwo-ticket b::after, .hwo-ticket i::after { display: none; }
.hwo-ticket i { padding: 12px 18px; border-radius: 9px; background: #F57C20; color: #160a05; font-size: 12px; letter-spacing: .12em; }
@media (max-width: 700px) {
  .hwo-ticket { gap: 10px; padding: 6px 6px 6px 12px; border-width: 1.5px; border-radius: 11px; }
  .hwo-ticket b { padding: 0; font-size: 17px; }
  .hwo-ticket i { padding: 8px 10px; font-size: 9px; }
}
@media (min-width: 701px) {
  .hwo-pumpkin { left: max(12px, calc((100% - 1320px) / 2 - 12px)); top: 50%; bottom: auto; transform: translateY(-50%); }
  .hwo-main { padding-left: 176px; }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .hwo-main { padding-left: 168px; }
}

/* ── Desktop: abóbora um pouco mais pequena e cupão centrado entre o texto e a contagem ── */
@media (min-width: 701px) {
  .hwo-pumpkin { width: 132px; }
  .hwo-main { flex: 0 0 auto; padding-left: 158px; padding-right: 24px; }
  .hwo-coupon { flex: 1 1 0; align-items: center; text-align: center; }
  .hwo-coupon .hwo-ticketwrap { align-self: center; }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .hwo-pumpkin { width: 112px; }
  .hwo-main { padding-left: 138px; }
}

/* ── Faixa de oferta no mobile: colada ao hero e de margem a margem, como no desktop ── */
@media (max-width: 700px) {
  .vx-offer.hwo { padding: 0; }
  .hwo-card { max-width: none; margin: 0; border-radius: 0; border-width: 1px 0; padding: 22px 16px 18px; gap: 14px 12px; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07), 0 24px 40px -24px rgba(139, 61, 255, .55); }
  .hwo-pumpkin { margin: -6px 0 -2px; align-self: center; }
}

/* ── Faixa de oferta no mobile: três níveis, lidos de cima para baixo ──
   1) o benefício, 2) o código (um toque para copiar), 3) o tempo que falta */
@media (max-width: 700px) {
  .hwo-card {
    grid-template-columns: 58px 1fr;
    grid-template-areas: "pumpkin main" "coupon coupon" "time time";
    gap: 14px 12px; padding: 18px 16px 16px; align-items: center;
  }
  .hwo-eyebrow { display: none; }
  .hwo-pumpkin { width: 58px; margin: 0; align-self: center; }
  .hwo-main { gap: 3px; }
  .hwo-title { font-size: 36px; }
  .hwo-sub { font-size: 14px; }

  .hwo-coupon { width: 100%; }
  .hwo-ticketwrap { width: 100%; align-self: stretch; }
  .hwo-ticket { width: 100%; justify-content: space-between; padding: 8px 8px 8px 20px; border-width: 2px; border-radius: 14px; }
  .hwo-ticket b { font-size: 24px; letter-spacing: .16em; }
  .hwo-ticket i { padding: 12px 20px; font-size: 12px; border-radius: 10px; }

  .hwo-time { flex-direction: row; justify-content: space-between; align-items: center; width: 100%; gap: 10px; }
  .hwo-time .hwo-label { font-size: 11px; letter-spacing: .18em; }
  .hwo-count { gap: 5px; }
  .hwo-cell { min-width: 44px; padding: 7px 4px 6px; }
  .hwo-cell b { font-size: 19px; }
  .hwo-cell small { font-size: 7.5px; }
}

/* ── Mobile: tudo ligeiramente mais pequeno e sem "Termina em" ── */
@media (max-width: 700px) {
  .hwo-card { grid-template-columns: 52px 1fr; padding: 16px 16px 14px; gap: 12px 10px; }
  .hwo-pumpkin { width: 52px; }
  .hwo-title { font-size: 32px; }
  .hwo-sub { font-size: 13px; }
  .hwo-ticket { padding: 6px 6px 6px 18px; }
  .hwo-ticket b { font-size: 21px; }
  .hwo-ticket i { padding: 10px 16px; font-size: 11px; }
  .hwo-time .hwo-label { display: none; }
  .hwo-time { justify-content: center; }
  .hwo-count { width: 100%; gap: 5px; }
  .hwo-cell { flex: 1 1 0; min-width: 0; padding: 6px 3px 5px; }
  .hwo-cell b { font-size: 17px; }
  .hwo-cell small { margin-top: 3px; font-size: 7px; }
  .hwo-sep { display: none; }
}

/* ── Mobile: "-10% extra" mais pequeno e temporizador mais compacto ── */
@media (max-width: 700px) {
  .hwo-title { font-size: 28px; }
  .hwo-count { width: auto; gap: 4px; }
  .hwo-cell { flex: none; min-width: 42px; padding: 5px 4px 4px; border-radius: 8px; }
  .hwo-cell b { font-size: 15px; }
  .hwo-cell small { margin-top: 2px; font-size: 6.5px; }
  .hwo-time { justify-content: center; }
}

/* ── Mobile: cupão ligeiramente mais compacto ── */
@media (max-width: 700px) {
  .hwo-ticket { padding: 5px 5px 5px 16px; border-radius: 12px; }
  .hwo-ticket b { font-size: 18px; letter-spacing: .14em; }
  .hwo-ticket i { padding: 8px 14px; font-size: 10px; border-radius: 8px; }
}

/* ── Mobile: cupão compacto em largura e centrado, como o temporizador ── */
@media (max-width: 700px) {
  .hwo-coupon { width: auto; justify-self: center; }
  .hwo-ticketwrap { width: auto; align-self: center; }
  .hwo-ticket { width: auto; justify-content: flex-start; gap: 14px; }
}

/* ── Mobile: cupão mais estreito que a largura toda, mas mais largo que o temporizador ── */
@media (max-width: 700px) {
  .hwo-coupon { width: 100%; justify-self: stretch; display: flex; justify-content: center; }
  .hwo-ticketwrap { width: 78%; align-self: center; }
  .hwo-ticket { width: 100%; justify-content: space-between; gap: 10px; }
}

/* ── Mobile: abóbora e benefício centrados como grupo ── */
@media (max-width: 700px) {
  .hwo-card {
    grid-template-columns: 1fr auto auto 1fr;
    grid-template-areas: ". pumpkin main ." "coupon coupon coupon coupon" "time time time time";
    column-gap: 12px;
  }
}

/* ── Mobile: "até 31 de outubro" centrado por baixo de "-10% extra" ── */
@media (max-width: 700px) {
  .hwo-main { align-items: center; text-align: center; }
}

/* ── Faixa de oferta: menos brilho neon ── */
.hwo-card, .vx-offer.hwo .hwo-card { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 18px 36px -28px rgba(139, 61, 255, .3) !important; }
.hwo-pumpkin::before { background: radial-gradient(closest-side, rgba(245, 124, 32, .2), transparent 72%); }
.hwo-ticket { box-shadow: 0 6px 16px -10px rgba(245, 124, 32, .3); }
.hwo-ticket b { text-shadow: none; }
@keyframes hwSecPulse { to { box-shadow: 0 0 8px rgba(245, 124, 32, .25); } }
.hwo-cell:last-child { border-color: rgba(255, 154, 77, .6); }

/* faixa de oferta: sem contorno laranja ao passar o rato */
.vx-offer.hwo .hwo-card:hover { border-color: rgba(155, 92, 255, .45) !important; }

/* ── Cartões de produto: uma só linha com o preço com o código ── */
.hw-code-price { margin-top: 6px; font: 600 13px/1.2 var(--font-heading); color: rgba(255, 255, 255, .75); }
.hw-code-price b { font-size: 16px; font-weight: 800; color: #F57C20; margin-right: 2px; }

/* barra de confiança: ícones em cinzento claro neutro, exceto o logótipo da CTT, que mantém a cor da marca */
.trust-icon { color: #E4E0EC; }
.trust-icon svg { stroke: #E4E0EC; }
.trust-icon svg.trust-icon-fill { stroke: none; fill: #E4E0EC; }
.trust-icon--custom img:not([alt*="CTT"]) { filter: brightness(0) invert(.9); }
.trust-icon svg.trust-icon-fill, .trust-icon svg.trust-icon-fill path { stroke: none !important; fill: #E4E0EC !important; }
.trust-icon svg:not(.trust-icon-fill) * { stroke: #E4E0EC !important; }
/* escudo da garantia mais grosso, a condizer com o ícone das lentes */
.trust-icon svg.trust-icon-fill, .trust-icon svg.trust-icon-fill path { stroke: #E4E0EC !important; stroke-width: 1.5px !important; stroke-linejoin: round; }
.trust-icon svg.trust-icon-fill { width: 25px; height: 25px; }


/* ══ Disciplina de cor ══
   Um só laranja (#F57C20) para ação e preço; roxo e neutro escuro para atmosfera.
   Sem castanhos (laranja translúcido sobre roxo) e sem brilhos neon. */
:root { --yellow: #F57C20; --accent-ink: #F57C20; }

/* superfícies na família roxo-negro, sem cinzento puro nem tinta laranja */
.trust-bar { background: #130C1E !important; background-image: none !important; }
.vx-dial, .pko { background-color: #130C1E !important; background-image: none !important; }
main .shopify-section[id$="__certified"] { background-image: radial-gradient(60% 50% at 100% 0%, rgba(139, 61, 255, .14), transparent 70%) !important; }
main .shopify-section[id$="__community"] { background-image: radial-gradient(50% 50% at 0% 50%, rgba(139, 61, 255, .1), transparent 70%) !important; }
.email-section { background-image: radial-gradient(70% 90% at 50% 0%, rgba(139, 61, 255, .12), transparent 70%) !important; }

/* sem brilhos */
.vx-ring-fg { filter: none !important; animation: none !important; }
.vx-dial, .pko, .pko-cta, .finder-cta, .lens-cta, .pack-badge, .bundle-float-tag, .scene-tile.active, .vx-quiz-opt.active,
.product-cta .btn-primary, #cta-btn { box-shadow: none !important; }
.pko-cta:hover, .btn-primary:hover { box-shadow: none !important; }

/* botões: laranja liso */
.btn-primary, #bb-cta, .bb-cta { background: #F57C20 !important; }
.btn-primary:hover, #bb-cta:hover, .bb-cta:hover { background: #F99444 !important; filter: none; }
.ann-bar .ann-inner { background: #F57C20 !important; }

/* faixa de oferta mais sóbria: superfície quase ink, só o contorno roxo */
.hwo-card { background: linear-gradient(105deg, #22103f 0%, #170b2b 55%, #120a1f 100%) !important; border-color: rgba(155, 92, 255, .32) !important; }
.hwo-pumpkin::before { background: radial-gradient(closest-side, rgba(245, 124, 32, .14), transparent 72%); }
.hwo-ticket { background: #2a1450; }

/* Lentes certificadas (mobile): texto dos cartões mais pequeno, para não competir com o título */
@media (max-width: 899px) {
  .vx-cert-copy { padding: 18px 20px; }
  .vx-cert-icon { width: 24px !important; height: 24px !important; margin-bottom: 10px; }
  .vx-cert-copy h3 { font-size: 18px !important; margin-bottom: 3px; }
  .vx-cert-copy p { font-size: 13.5px !important; line-height: 1.4; }
}


/* ── Barra de anúncios: código em etiqueta e frases a subir ── */
.ann-bar .ann-text { transition: opacity .3s ease, transform .3s ease; }
.ann-bar .ann-text.fade-out { opacity: 0; transform: translateY(-8px); }
.ann-bar .ann-text.pre { opacity: 0; transform: translateY(8px); transition: none; }
.ann-bar .ann-text strong { display: inline-block; margin-left: 4px; padding: 4px 9px; border-radius: 6px; background: #1b0d04; line-height: 1; letter-spacing: .14em; }
.ann-bar .ann-text strong, .ann-bar .ann-bar strong { color: #F57C20 !important; }

/* ── Barra de anúncios: fundo com profundidade (gradiente suave, trama fina e luz nas margens) ── */
.ann-bar .ann-inner {
  background:
    repeating-linear-gradient(135deg, rgba(27, 13, 4, .05) 0 2px, transparent 2px 9px),
    linear-gradient(90deg, #E56A12 0%, #F57C20 45%, #F99444 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), inset 0 -1px 0 rgba(27, 13, 4, .2);
}

/* barra de anúncios: sem ícones e sem trama (fica o gradiente suave) */
.ann-text::before, .ann-text::after { display: none !important; }
.ann-bar .ann-inner {
  background: linear-gradient(90deg, #E56A12 0%, #F57C20 45%, #F99444 100%) !important;
}

/* ══ PDPs: menos laranja ══ */
/* 1) ícones dos benefícios em cinzento claro */
.benefit-item svg { stroke: #E4E0EC !important; background: rgba(255, 255, 255, .06) !important; border-color: rgba(255, 255, 255, .14) !important; }
/* 2) "-15% extra" / "-25% extra" em lilás; só "Mais popular" fica laranja */
.bb-chip { background: rgba(155, 92, 255, .16); border-color: rgba(155, 92, 255, .5); color: #C9B0FF; }
/* 3) secção "Atenção a cada detalhe": roxo-negro em vez de verde-oliva */
.section-detail-wrapper { background-color: #130C1E !important; background-image: none !important; }
/* 4) barra fixa de compra na família roxo-negro */
#sticky-buy { background: rgba(19, 12, 30, .94); }
.benefit-item svg * { stroke: #E4E0EC !important; }

/* PDP: preço com código na opção individual, em lilás para não saturar de laranja */
.bb-code { margin-top: 4px; font: 600 12px/1.2 var(--font-heading); color: rgba(255, 255, 255, .7); white-space: nowrap; }
.bb-code b { font-size: 14px; font-weight: 800; color: #C9B0FF; }

/* PDP: ícones dos benefícios sem círculo de fundo */
.benefit-item svg { background: none !important; border: 0 !important; box-shadow: none !important; padding: 5px; }
/* PDP: opção selecionada em cinzento neutro (linha à volta e bola do radio) */
.bb-opt.is-active { border-color: rgba(228, 224, 236, .5) !important; background: var(--card) !important; box-shadow: 0 10px 24px rgba(0, 0, 0, .3) !important; }
.bb-opt.is-active > .bb-radio, .bb-opt.is-active .bb-opt-row > .bb-radio { border-color: #E4E0EC; background: #E4E0EC; }

/* barra fixa de compra: botão em lilás */
#sticky-buy .sticky-btn { background: #F57C20 !important; color: #0B0710 !important; box-shadow: none !important; }
#sticky-buy .sticky-btn:hover { background: #F99444 !important; opacity: 1; }

/* ícones dos benefícios: sem a cópia deslocada ("sombra") por trás */
.benefit-item svg .bi-back { display: none !important; }

/* PDP: opção selecionada com a cor neutra mais destacada */
.bb-opt.is-active { border-color: #F2EFF8 !important; box-shadow: 0 0 0 1px #F2EFF8, 0 10px 24px rgba(0, 0, 0, .3) !important; }
.bb-opt.is-active > .bb-radio, .bb-opt.is-active .bb-opt-row > .bb-radio { border-color: #FFFFFF; background: #FFFFFF; }

/* Pack "Leva as três": contorno e nomes das lentes neutros; etiqueta, botão e itálico mantêm o laranja */
.pko { border-color: rgba(255, 255, 255, .12) !important; }
.pko-lens figcaption { color: rgba(255, 255, 255, .7) !important; }

/* iOS: o gradiente passa para o contentor exterior da barra, para a zona da status bar (safe area)
   ficar com a mesma cor da barra, sem faixa de outro tom por cima */
.ann-bar { background: linear-gradient(90deg, #E56A12 0%, #F57C20 45%, #F99444 100%) !important; }
.ann-bar .ann-inner { background: transparent !important; }
.ann-bar, .ann-bar .ann-inner { box-shadow: none !important; border: 0 !important; }

/* PDP: cupão em bilhete acima do CTA (roxo escuro > laranja) */
.hw-ticket { position: relative; display: flex; align-items: stretch; margin: 18px 0 14px; padding: 16px 22px; background: linear-gradient(90deg, #2B1140 0%, #4B2790 50%, #F57C20 88%); border-radius: 8px; color: #fff; }
.hw-ticket::before, .hw-ticket::after { content: ""; position: absolute; top: 50%; width: 14px; height: 14px; margin-top: -7px; background: #0B0710; border-radius: 50%; z-index: 2; }
.hw-ticket::before { left: -7px; } .hw-ticket::after { right: -7px; }
.hw-t-deco { position: absolute; pointer-events: none; z-index: 0; filter: drop-shadow(0 2px 3px rgba(0,0,0,.28)); }
.hw-t-bat { width: 40px; height: 40px; top: -14px; right: 2%; transform: rotate(12deg) scaleX(-1); }
.hw-t-bat2 { width: 28px; height: 28px; bottom: -11px; left: 52%; transform: rotate(-8deg); }
.hw-t-spider { width: 20px; height: 34px; top: -2px; left: 40%; }
.hw-ticket-left { position: relative; z-index: 1; flex: 1; display: flex; flex-direction: column; justify-content: center; gap: 3px; min-width: 0; }
.hw-ticket-left strong { font-size: 25px; font-weight: 800; line-height: 1.1; color: #F57C20; }
.hw-ticket-left span { font-size: 13.5px; font-weight: 500; color: rgba(255,255,255,.85); }
.hw-ticket-left b { font-weight: 800; font-style: italic; letter-spacing: .05em; color: #fff; }
.hw-ticket-cut { position: relative; z-index: 1; width: 0; margin: 2px 18px; border-left: 2px dashed rgba(255,255,255,.6); }
.hw-ticket-btn { position: relative; z-index: 1; flex: none; display: inline-flex; align-items: center; gap: 7px; background: #fff; border: 0; border-radius: 6px; color: #2B1140; font: 700 13px/1 inherit; font-family: inherit; cursor: pointer; padding: 0 16px; min-height: 40px; align-self: center; }
.hw-ticket-btn:hover { background: #F2EFF8; }
@media (max-width: 480px) { .hw-ticket { padding: 14px 16px; } .hw-ticket-left strong { font-size: 21px; } .hw-ticket-cut { margin: 2px 12px; } .hw-ticket-btn { padding: 0 12px; } .hw-t-bat { width: 32px; height: 32px; } .hw-t-bat2 { width: 22px; height: 22px; } }

/* PDP: remove "Amber" por baixo de 1 Par e a hora 22:00 */
.bb-options .bb-opt:first-child .bb-opt-sub, .mmt-time { display: none !important; }
.hw-ticket-btn { align-self: stretch; min-height: 0; padding: 0 26px; justify-content: center; font-size: 14px; }
@media (max-width: 480px) { .hw-ticket-btn { padding: 0 18px; } }
.hw-ticket-btn { align-self: center; min-height: 40px; height: 40px; flex: 0 0 42%; padding: 0 16px; }
@media (max-width: 480px) { .hw-ticket-btn { flex-basis: 40%; padding: 0 10px; } }
.hw-ticket-cut { display: none !important; }
.hw-ticket-left { flex: 1 1 auto; padding-right: 14px; }
.hw-ticket-left strong { font-size: 32px; letter-spacing: .06em; }
.hw-ticket-left span { font-size: 15px; letter-spacing: .08em; }
@media (max-width: 480px) { .hw-ticket-left { padding-right: 8px; } .hw-ticket-left strong { font-size: 24px; letter-spacing: .04em; } .hw-ticket-left span { font-size: 12.5px; letter-spacing: .05em; } }
@media (max-width: 480px) {
  .hw-ticket { padding: 9px 14px; margin: 12px 0 10px; }
  .hw-ticket-left { gap: 0; }
  .hw-ticket-left strong { font-size: 20px; line-height: 1.1; }
  .hw-ticket-left span { font-size: 11.5px; line-height: 1.2; }
  .hw-ticket-btn { height: 34px; min-height: 34px; font-size: 13px; }
  .hw-t-bat { width: 28px; height: 28px; top: -12px; }
  .hw-t-bat2 { width: 18px; height: 18px; bottom: -8px; }
  .hw-t-spider { width: 16px; height: 28px; }
}
/* CTA add to cart: ligeiramente mais baixo */
#bb-cta, .bb-cta { min-height: 56px !important; }
/* PDP: sem botão MB WAY (fica o logótipo nos meios de pagamento) */
.bb-mbway { display: none !important; }

/* hero mobile: texto muito ligeiramente mais baixo */
@media (max-width: 900px) { .hero-content { bottom: 116px; } }
}

/* barra de anúncios: texto mais leve (como no tema live) e um pouco maior */
.ann-bar .ann-text { font-weight: 500 !important; font-size: 12.5px; }
.ann-bar .ann-text strong { font-weight: 700 !important; }
@media (max-width: 899px) { .ann-bar .ann-text { font-size: 12px; } }

/* popup: foto Halloween com as lentes visíveis */
.vfp-visual-photo { object-position: 50% 80% !important; }

/* hero desktop: título ligeiramente mais pequeno */
@media (min-width: 901px) { .hero-title { font-size: clamp(46px, 6vw, 88px); } }

