:root{
  --bg:#050806;
  --green:#39ff6a;
  --green-dim:#1fae46;
  --green-glow: rgba(57,255,106,0.55);
  --white:#f4fff6;
  --card-bg:#0c1710;
  --card-border:#1f4a2c;
  --yellow:#fff200;
  --yellow-glow: rgba(255,242,0,0.7);
  --orange:#ff8a1e;
  --orange-glow: rgba(255,138,30,0.65);
  /* Pedido do usuário: cor da etiqueta Cartão Presente trocada de rosa
     pra azul claro ("Azul opção B"). */
  --pink:#8ecdff;
  --pink-glow: rgba(142,205,255,0.6);
}

*{box-sizing:border-box;}

html,body{
  margin:0;
  padding:0;
  background:var(--bg);
  color:var(--white);
  font-family:'Arial Black','Arial',sans-serif;
  overflow-x:hidden;
}

body{
  background:
    radial-gradient(circle at 15% 8%, rgba(57,255,106,0.16), transparent 40%),
    radial-gradient(circle at 85% 92%, rgba(57,255,106,0.14), transparent 45%),
    linear-gradient(180deg,#050806 0%,#040604 100%);
  min-height:100vh;
}

a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;outline:none;}

/* Caixa alta só na "primeira tela" (home) e no menu de categorias (pedido
   revisado do usuário — antes era o site inteiro, agora só essas duas
   partes; o resto volta ao normal). */
.category-list a{text-transform:uppercase}
.home-wrap .home-title,
.home-wrap .all-games-btn,
.home-wrap .tag-links a,
.home-wrap .footer-note{text-transform:uppercase}
.home-wrap .page-subtitle{text-transform:uppercase;margin-left:-10px;margin-right:-10px}

.wrap{
  max-width:1000px;
  margin:0 auto;
  padding:18px 18px 60px;
}

/* HEADER / NAV */
.site-header{
  text-align:center;
  padding-top:6px;
}

.topbar{
  display:flex;
  align-items:center;
  gap:10px;
  text-align:left;
  margin:0 0 20px;
}

.category-menu{
  position:relative;
  flex:0 0 auto;
}

.menu-toggle{
  width:38px;
  height:38px;
  border-radius:8px;
  background:#0b1710;
  border:1px solid #1a3322;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  list-style:none;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.menu-toggle::-webkit-details-marker{display:none;}
.menu-toggle:hover{
  border-color:var(--green);
  box-shadow:0 0 10px rgba(57,255,106,0.25);
}
.category-menu[open] > .menu-toggle{
  border-color:var(--green);
  box-shadow:0 0 10px rgba(57,255,106,0.25);
}
.menu-toggle svg{
  width:18px;
  height:18px;
  stroke:var(--green);
  fill:none;
  stroke-width:2.2;
  stroke-linecap:round;
}

.category-list{
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  z-index:50;
  display:flex;
  flex-direction:column;
  gap:6px;
  background:#0b1710;
  border:1px solid #1a3322;
  border-radius:10px;
  padding:10px;
  min-width:210px;
  max-height:70vh;
  overflow-y:auto;
  box-shadow:0 10px 30px rgba(0,0,0,0.5);
}

.category-list a{
  font-family:Arial,sans-serif;
  font-weight:700;
  font-size:13px;
  letter-spacing:0.3px;
  color:var(--white);
  background:#07100a;
  border:1px solid #1a3322;
  padding:9px 12px;
  border-radius:8px;
  white-space:nowrap;
  transition:border-color .2s ease, color .2s ease;
}
.category-list a:hover, .category-list a.active{
  border-color:var(--green);
  color:var(--green);
  box-shadow:0 0 8px rgba(57,255,106,0.2);
}

.category-subgroup{border:none;padding:0;margin:0}
.category-subgroup-toggle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-family:Arial,sans-serif;
  font-weight:700;
  font-size:13px;
  letter-spacing:0.3px;
  text-transform:uppercase;
  color:var(--white);
  background:#07100a;
  border:1px solid #1a3322;
  padding:9px 12px;
  border-radius:8px;
  cursor:pointer;
  list-style:none;
}
.category-subgroup-toggle::-webkit-details-marker{display:none}
.category-subgroup-toggle::after{
  content:"▾";
  color:var(--green);
  font-size:14px;
  margin-left:8px;
  transition:transform .15s ease;
}
.category-subgroup[open] .category-subgroup-toggle::after{transform:rotate(180deg)}
.category-subgroup-list{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-top:6px;
}

.home-link{
  flex:0 0 auto;
  font-family:Arial,sans-serif;
  font-weight:700;
  font-size:14px;
  color:var(--white);
  white-space:nowrap;
  transition:color .2s ease;
}
.home-link:hover, .home-link.active{
  color:var(--green);
}

.topbar .search-bar{
  flex:1;
  min-width:0;
  margin-bottom:0;
}

.site-logo{
  display:block;
  width:min(50vw,170px);
  margin:0 auto;
  -webkit-tap-highlight-color:transparent;
  outline:none;
}

.page-title{
  text-align:center;
  font-size:clamp(24px,7vw,36px);
  color:var(--green);
  text-shadow:0 0 12px var(--green-glow);
  margin:18px 0 4px;
}

.page-title.home-title{
  font-size:clamp(11px,4.6vw,30px);
  white-space:nowrap;
  margin-top:4px;
}

.page-subtitle{
  text-align:center;
  font-family:Arial,sans-serif;
  color:#9be8ac;
  font-size:14px;
  margin:0 0 26px;
}

/* BOTÕES DE DESTAQUE (home) */
.featured-links{
  margin-top:22px;
}

.search-bar{
  display:flex;
  align-items:center;
  gap:10px;
  background:#0b1710;
  border:1.5px solid var(--green-dim);
  border-radius:8px;
  padding:12px 14px;
  margin-bottom:14px;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.search-bar:focus-within{
  border-color:var(--green);
  box-shadow:0 0 12px rgba(57,255,106,0.25);
}
.search-bar svg{
  width:20px;
  height:20px;
  flex:0 0 auto;
  fill:none;
  stroke:var(--green);
  stroke-width:2.2;
}
.search-bar input{
  flex:1;
  background:transparent;
  border:none;
  outline:none;
  color:var(--white);
  font-family:Arial,sans-serif;
  font-weight:700;
  font-size:14px;
  letter-spacing:0.3px;
}
.search-bar input::placeholder{
  color:#6f8577;
  font-weight:400;
}

.search-suggest-menu{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 6px);
  z-index:30;
  background:#0b1710;
  border:1.5px solid var(--green-dim);
  border-radius:8px;
  box-shadow:0 10px 24px rgba(0,0,0,0.45);
  overflow:hidden;
  max-height:60vh;
  overflow-y:auto;
}
.search-suggest-menu[hidden]{display:none}
.search-suggest-item{
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 12px;
  text-decoration:none;
  color:var(--white);
  font-family:Arial,sans-serif;
  font-size:14px;
  border-bottom:1px solid rgba(57,255,106,0.1);
}
.search-suggest-item:last-child{border-bottom:none}
.search-suggest-item:hover, .search-suggest-item:active{
  background:#17351f;
}
.search-suggest-item img{
  width:32px;
  height:42px;
  object-fit:cover;
  border-radius:4px;
  flex:0 0 auto;
  background:#07100a;
}

.all-games-btn{
  display:block;
  text-align:center;
  background:var(--green);
  color:#07130a;
  font-size:clamp(18px,5.4vw,23px);
  font-weight:900;
  letter-spacing:0.5px;
  padding:16px 14px;
  border-radius:8px;
  box-shadow:0 0 20px var(--green-glow), 0 0 40px rgba(57,255,106,0.2);
  transition:transform .12s ease, box-shadow .2s ease;
}
.all-games-btn:hover{transform:translateY(-1px);}
.all-games-btn:active{transform:scale(0.98);}

.tag-links{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
  gap:10px;
  margin-top:10px;
}
.tag-links a{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  text-align:center;
  background:#0b1710;
  border:1.5px solid var(--green-dim);
  color:var(--green);
  font-size:clamp(14px,4vw,16px);
  font-weight:900;
  letter-spacing:0.5px;
  padding:11px 8px;
  border-radius:6px;
  text-shadow:0 0 6px rgba(57,255,106,0.3);
  transition:border-color .2s ease, box-shadow .2s ease;
}
.tag-link-two-line{flex-direction:column;gap:1px;line-height:1.15}
.tag-link-two-line span{display:block}
.tag-link-two-line .tag-link-sub{font-size:0.6em;letter-spacing:0.3px}
.tag-link-two-line .tag-link-sub-white{color:#ffffff}
.tag-link-two-line .tag-link-sub-yellow{color:#ffd400}
.tag-link-two-line .tag-link-sub-pulse{
  display:inline-block;
  animation:tagLinkSubPulse 1.6s ease-in-out infinite;
}
@keyframes tagLinkSubPulse{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.55;transform:scale(1.08)}
}
.tag-links a:hover{
  border-color:var(--green);
  box-shadow:0 0 12px rgba(57,255,106,0.25);
}
.tag-links a svg{
  width:18px;
  height:18px;
  flex:0 0 auto;
  fill:var(--green);
}

/* CATEGORY CARDS (home) */
.section-label{
  font-family:Arial,sans-serif;
  font-size:13px;
  letter-spacing:1px;
  color:#7d8f83;
  text-align:center;
  margin:32px 0 -2px;
}

.category-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:14px;
  margin-top:16px;
}

.category-card{
  position:relative;
  background:linear-gradient(160deg,var(--card-bg),#060b07);
  border:1.5px solid var(--card-border);
  border-radius:10px;
  padding:22px 12px;
  text-align:center;
  transition:border-color .2s ease, box-shadow .2s ease, transform .15s ease;
}
.category-card:hover{
  border-color:var(--green);
  box-shadow:0 0 16px var(--green-glow);
  transform:translateY(-2px);
}
.category-card .icon{
  font-size:30px;
  display:block;
  margin-bottom:8px;
}
.category-card .label{
  font-size:clamp(13px,3.4vw,15px);
  letter-spacing:0.5px;
  color:var(--white);
}

/* PRODUCT GRID */
.product-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:16px;
  margin-top:10px;
}

/* ===== ALTERNAR MOSAICO / LISTA ===== */
.view-toggle{display:flex;justify-content:center;gap:8px;margin:14px 0 4px}
.view-toggle-btn{
  display:flex;align-items:center;gap:6px;
  background:transparent;
  border:1px solid var(--card-border);
  color:#9fb8a8;
  border-radius:20px;
  padding:7px 14px;
  font-family:Arial,sans-serif;
  font-weight:700;
  font-size:12px;
  cursor:pointer;
  transition:border-color .2s ease,color .2s ease,background .2s ease;
}
.view-toggle-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.view-toggle-btn.is-active{border-color:var(--green);color:var(--green);background:rgba(57,255,106,.08)}

/* ===== MODO LISTA: cada jogo em uma linha horizontal, tudo à esquerda ===== */
.product-grid.list-view{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.product-grid.list-view .product-card{
  flex-direction:row;
  align-items:stretch;
}
.product-grid.list-view .product-cover{
  width:120px;
  flex-shrink:0;
  aspect-ratio:900/1137;
}
.product-grid.list-view .product-cover .pad-icon{max-width:30px}
.product-grid.list-view .product-cover .cap-placeholder{font-size:8px}
.product-grid.list-view .product-info{
  flex:1;
  min-width:0;
  padding:9px 11px;
  text-align:left;
  display:grid;
  grid-template-columns:1fr auto;
  column-gap:8px;
  gap:5px;
}
.product-grid.list-view .product-name{
  grid-column:1 / -1;
  text-align:left;
  order:1;
  margin:0;
  font-size:clamp(12.5px,3.4vw,15px);
  height:auto;
  min-height:0;
  overflow:visible;
  display:block;
  -webkit-line-clamp:unset;
}
.product-grid.list-view .product-platforms{grid-column:1 / -1;order:3;margin:0}
.product-grid.list-view .product-badges:not(.product-platforms){grid-column:1 / -1;order:4;margin:0}
.product-grid.list-view .product-platforms,
.product-grid.list-view .product-badges{
  display:flex!important;
  flex-direction:row;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-start;
  gap:4px;
}
.product-grid.list-view .product-badge,
.product-grid.list-view .platform-badge{
  font-size:9px;
  padding:2px 6px;
}
/* Preço + trailer + coração + carrinho, tudo na mesma linha */
.product-grid.list-view .product-price-row{
  grid-column:1;
  order:2;
  justify-content:flex-start;
  align-items:center;
  margin:0;
}
.product-grid.list-view .product-price-row .product-price{
  text-align:left;
  white-space:nowrap;
  font-size:clamp(19px,5.6vw,23px);
}
.product-grid.list-view .product-icon-row{
  grid-column:2;
  order:2;
  margin:0 35px 0 0;
  justify-content:flex-end;
  align-items:center;
  gap:12px;
  flex-shrink:0;
}
.product-grid.list-view .product-icon-row .trailer-btn{
  width:32px;height:32px;
  order:0;
  grid-column:auto;
}
.product-grid.list-view .product-icon-row .trailer-yt-icon{width:10px;height:12px}
.product-grid.list-view .icon-row-spacer{width:32px;height:32px}
.product-grid.list-view .buy-btn{grid-column:1 / -1;order:6;margin:0;padding:8px 4px;font-size:11.5px}
.product-grid.list-view .price-by-badge{grid-template-columns:repeat(auto-fit,minmax(95px,1fr));gap:4px;margin:3px 0 5px}
.product-grid.list-view .price-by-badge-row{padding:4px 6px}
.product-grid.list-view .price-by-badge-label{font-size:7.5px}
.product-grid.list-view .price-by-badge-value{font-size:10.5px}
@media (max-width:480px){
  .product-grid.list-view .product-cover{width:100px}
}

.empty-msg{
  text-align:center;
  font-family:Arial,sans-serif;
  color:#7d8f83;
  font-size:14px;
  padding:30px 10px;
}

/* Tela de "jogo não disponível" na página do produto (link de promoção
   expirada, jogo removido, etc.) — a arte do fantasma triste já traz o
   aviso escrito dentro dela, por isso não tem nenhum texto HTML junto. */
.produto-unavailable{
  text-align:center;
  padding:20px 10px 10px;
}
.produto-unavailable img{
  max-width:420px;
  width:100%;
  height:auto;
  border-radius:16px;
  display:block;
  margin:0 auto;
}

.product-card{
  background:linear-gradient(160deg,var(--card-bg),#060b07);
  border:1.5px solid var(--card-border);
  border-radius:8px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.product-card:hover{
  border-color:var(--green);
  box-shadow:0 0 14px rgba(57,255,106,0.25);
}

.product-cover{
  aspect-ratio:900/1137; /* V173: mesma proporção do novo modelo de capa */
  background:#000;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  overflow:hidden;
  position:relative;
  cursor:pointer;
}
.quickview-hint{
  position:absolute;
  left:0;right:0;bottom:0;
  z-index:2;
  background:linear-gradient(0deg, rgba(0,0,0,.75), transparent);
  color:#fff;
  font-family:Arial,sans-serif;
  font-weight:700;
  font-size:10.5px;
  letter-spacing:.3px;
  text-align:center;
  padding:14px 6px 7px;
  opacity:0;
  transform:translateY(4px);
  transition:opacity .15s ease,transform .15s ease;
  pointer-events:none;
}
.product-cover:hover .quickview-hint,
.product-cover:focus-visible .quickview-hint{
  opacity:1;
  transform:translateY(0);
}
@media (hover:none){
  .quickview-hint{opacity:1;transform:translateY(0);background:linear-gradient(0deg, rgba(0,0,0,.55), transparent);padding-top:10px}
}
.product-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.product-cover .pad-icon{
  width:40%;
  max-width:44px;
  opacity:0.5;
  margin-bottom:6px;
}
.product-cover .cap-placeholder{
  font-family:Arial,sans-serif;
  font-weight:700;
  font-size:10px;
  color:#7d8f83;
  text-align:center;
  letter-spacing:0.5px;
  line-height:1.25;
}
.cap-size-hint{
  display:block;
  font-family:Arial,sans-serif;
  font-weight:400;
  font-size:9px;
  color:#4c6156;
  margin-top:4px;
}

.product-badges{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  justify-content:center;
  margin:0 0 8px;
}
.product-badges:empty{margin:0;}

/* Exatamente 3 etiquetas: 1a etiqueta sozinha em cima, ocupando a mesma
   largura da soma das outras duas (que ficam embaixo, lado a lado).
   Detecta a quantidade via seletor CSS (:first-child:nth-last-child),
   sem precisar de nenhuma classe extra vinda do JS.
   Pedido do usuário: isso NÃO vale pra linha de plataformas (Xbox One /
   Series X|S / 360) — essa linha sempre fica com as 3 juntas, na mesma
   linha, por isso o ":not(.product-platforms)" abaixo. */
.product-badges:not(.product-platforms):has(.product-badge:first-child:nth-last-child(3)){
  display:grid;
  grid-template-columns:max-content max-content;
  justify-content:center;
  column-gap:6px;
  row-gap:6px;
}
.product-badges:not(.product-platforms) .product-badge:first-child:nth-last-child(3){
  grid-column:1 / span 2;
}

/* Exatamente 4 etiquetas: 2 em cima, 2 embaixo. (Mesma exceção acima.) */
.product-badges:not(.product-platforms) .product-badge:first-child:nth-last-child(4),
.product-badges:not(.product-platforms) .product-badge:first-child:nth-last-child(4) + .product-badge{
  flex-basis:calc(50% - 3px);
}

.product-badge{
  background:transparent;
  border:1px solid var(--green);
  color:var(--green);
  font-family:Arial,sans-serif;
  font-weight:900;
  font-size:8px;
  letter-spacing:0.4px;
  padding:2px 6px;
  border-radius:3px;
  text-transform:uppercase;
  text-align:center;
}

.product-badge.badge-esgotado{
  border-color:#8b8b8b;
  color:#8b8b8b;
}

.product-badge.badge-exclusiva{
  border:1.5px solid var(--yellow);
  color:var(--yellow);
  box-shadow:0 0 8px var(--yellow-glow);
}

.product-badge.badge-lancamento{
  border:1.5px solid var(--yellow);
  color:var(--yellow);
  box-shadow:0 0 8px var(--yellow-glow);
}

.product-badge.badge-parental{
  border:1.5px solid var(--orange);
  color:var(--orange);
  box-shadow:0 0 8px var(--orange-glow);
}

.product-badge.badge-cartao-presente{
  border:1.5px solid var(--pink);
  color:var(--pink);
  box-shadow:0 0 8px var(--pink-glow);
}

.platform-badge{display:inline-flex;align-items:center;gap:4px}
.platform-xbox-icon{width:1.15em;height:1.15em;flex-shrink:0;object-fit:contain;display:block}

/* ===== 🔥 Etiqueta de contagem regressiva — "Oferta da Semana" (V127) =====
   Animação "Batimento" (opção 6 de 6 apresentadas — a escolhida pelo dono
   da loja): dois pulsos rápidos seguidos de pausa, como um alerta. */
.promo-countdown-badge{
  position:absolute;
  top:8px;left:8px;
  z-index:2;
  background:rgba(6,20,10,.88);
  border:1px solid var(--green);
  color:var(--green);
  font-family:Arial,sans-serif;
  font-weight:800;
  font-size:10.5px;
  padding:4px 9px;
  border-radius:20px;
  box-shadow:0 0 8px var(--green-glow, rgba(57,255,106,.4));
  white-space:nowrap;
  animation:promoBatimento 2s ease-in-out infinite;
}
.promo-countdown-badge.is-urgent{
  background:rgba(120,16,16,.94);
  border-color:#ff4d4d;
  color:#ffe9e9;
  box-shadow:0 0 10px rgba(255,60,60,.6);
  white-space:normal;
  max-width:78%;
  line-height:1.25;
}
@keyframes promoBatimento{
  0%,100%{ transform:scale(1); }
  10%{ transform:scale(1.12); }
  20%{ transform:scale(1); }
  30%{ transform:scale(1.12); }
  40%{ transform:scale(1); }
}
@media (prefers-reduced-motion: reduce){
  .promo-countdown-badge{ animation:none; }
}

/* Selo "NOVO" — PÊNDULO (efeito nº 24 da galeria de 30 efeitos): o selo roxo
   com contorno neon branco fica pendurado por um fio, logo embaixo do nome
   "MÍDIA EXCLUSIVA" (canto superior direito da capa), balançando de um lado
   pro outro. Tamanhos em "em" (seguem o font-size do próprio selo) e posição
   em % da capa, pra funcionar igual no card do mosaico, na lista e na página
   do produto. O overflow:hidden da capa (já existia) segura qualquer excesso. */
.novo-badge-corner{
  position:absolute;
  top:6.6%;
  left:86%;
  width:6em;
  margin-left:-3em;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  font-size:clamp(7px,2.7vw,10.5px);
  transform-origin:50% 0;
  animation:novoPendulo 2.2s ease-in-out infinite alternate;
  pointer-events:none;
}
.novo-badge-corner::before{
  content:"";
  display:block;
  width:.16em;
  height:2.4em;
  background:#fff;
  box-shadow:0 0 .4em #fff;
}
.novo-badge-corner span{
  display:block;
  background:#7c1fd4;
  border:.15em solid #fff;
  border-radius:999px;
  box-shadow:0 0 .6em #fff, 0 0 1.3em rgba(124,31,212,.85);
  padding:.4em 1em;
  color:#fff;
  font-family:Arial,sans-serif;
  font-weight:900;
  font-size:1em;
  line-height:1.1;
  letter-spacing:.05em;
  text-transform:uppercase;
  white-space:nowrap;
}
@keyframes novoPendulo{
  from{ transform:rotate(-17deg); }
  to{ transform:rotate(17deg); }
}
@media (prefers-reduced-motion: reduce){
  .novo-badge-corner{ animation:none; }
}
.produto-cover-big .novo-badge-corner{
  font-size:clamp(10px,3vw,13px);
}
.product-grid.list-view .novo-badge-corner{
  font-size:6.5px;
}

/* Jogo esgotado: capa fica cinza, sem cor (card da lista e Quick View) */
.product-cover.is-sold-out img,
.product-cover.is-sold-out .cap-placeholder,
.product-cover.is-sold-out .cover-placeholder,
.quickview-cover.is-sold-out img,
.quickview-cover.is-sold-out .cap-placeholder,
.quickview-cover.is-sold-out .cover-placeholder{
  filter:grayscale(1)!important;
  -webkit-filter:grayscale(1)!important;
}


.product-info{
  padding:10px 12px 14px;
  display:flex;
  flex-direction:column;
  flex:1;
}

.product-name{
  font-family:'Arial Black','Arial',sans-serif;
  font-size:clamp(12px,3.1vw,14px);
  letter-spacing:0.2px;
  line-height:1.2;
  margin:0 0 3px;
  min-height:calc(2 * 1.2em);
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  word-break:break-word;
}

.product-price{
  font-family:Arial,sans-serif;
  font-weight:900;
  color:var(--green);
  text-shadow:0 0 8px var(--green-glow);
  font-size:clamp(30px,9vw,42px);
  text-align:center;
  flex:1;
  margin:0 0 10px;
}

/* ===== PREÇO PROMOCIONAL (De / Por) ===== */
.product-price-promo{display:flex;flex-direction:column;align-items:center;gap:1px;margin:0 0 10px}
.promo-off-badge{background:#c0392b;color:#fff;font-size:10px;font-weight:900;letter-spacing:.03em;padding:2px 8px;border-radius:20px;margin-bottom:3px}
.promo-old{color:#8a988f;font-size:clamp(11px,3vw,13px);text-decoration:line-through;font-weight:700}
.promo-now{font-family:Arial,sans-serif;font-weight:900;color:var(--green);text-shadow:0 0 8px var(--green-glow);font-size:clamp(18px,5.4vw,24px)}
.quickview-price-promo{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.quickview-price-promo .promo-now{font-size:22px}

/* ===== SELO "JOGA SEM MÉTODO" ===== */
/* Selo especial, em amarelo suave e pulsando, mostrado centralizado logo
   abaixo do preço — hoje ligado automaticamente nos jogos da "Oferta da
   Semana" com relação com a Turquia (ver painel administrativo), mas pode
   aparecer em qualquer jogo que tenha essa etiqueta marcada.
   V185: cor trocada de lilás para amarelo suave (pedido do usuário). */
.sem-metodo-badge{
  display:block;
  width:max-content;
  max-width:98%;
  margin:0 auto 10px;
  padding:0;
  text-align:center;
  text-transform:uppercase;
  font-family:Arial,sans-serif;
  font-weight:900;
  font-size:clamp(9px,2.5vw,11px);
  letter-spacing:.03em;
  white-space:nowrap;
  color:#f2e3a0;
  text-shadow:0 0 8px rgba(242,227,160,.75);
  border:none;
  border-radius:0;
  background:none;
  outline:none;
  animation:semMetodoPulse 1.6s ease-in-out infinite;
}
/* V186: variante "JOGA COM MÉTODO" (jogos de Mídia Digital) — mesmo selo,
   mesmo pulsar, só muda a cor pra branco. */
.sem-metodo-badge.com-metodo-badge{
  color:#ffffff;
  text-shadow:0 0 8px rgba(255,255,255,.75);
}
@keyframes semMetodoPulse{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.55;transform:scale(1.04)}
}
/* V187: variante usada nos CARDS de lista/mosaico (loja, promoção da
   semana etc.) — pedido do usuário pra tirar o selo de baixo do preço e
   deixar centralizado EM CIMA da faixa verde do rodapé da própria capa,
   pulsando, em letra maior ("Fonte B", 16px, escolhida pelo usuário entre
   3 opções). Usa left/right + text-align (em vez de left:50%+transform)
   pra não disputar a propriedade "transform" com a animação de pulsar.
   Em 120px (capa estreita da visão "Lista"), a letra encolhe um pouco
   pra continuar cabendo dentro da faixa — ver regra mais abaixo. */
.sem-metodo-badge-cover-stripe{
  position:absolute;
  left:0;
  right:0;
  bottom:0.8%;
  z-index:3;
  margin:0;
  width:auto;
  max-width:none;
  padding:0 4%;
  font-size:7px;
}
.product-grid.list-view .sem-metodo-badge-cover-stripe{
  font-size:6px;
  letter-spacing:.02em;
  bottom:3%;
}
/* V189: mesmo tratamento do .sem-metodo-badge-cover-stripe acima, porém
   ajustado pro tamanho maior da capa da página do produto (produto.html):
   centralizado EM CIMA da faixa verde do rodapé da própria capa, em vez de
   flutuar como uma "pílula" escura sobre a arte (modelo antigo, ver
   .sem-metodo-badge-onimage abaixo). Mesma técnica livre de conflito com a
   animação de pulsar (left/right + text-align, sem transform:translateX). */
.sem-metodo-badge-produto-stripe{
  position:absolute;
  left:0;
  right:0;
  bottom:1.6%;
  z-index:3;
  margin:0;
  width:auto;
  max-width:none;
  padding:0 4%;
  font-size:13px;
}
/* Variante usada só na página do produto (modelo ANTIGO, mantido só por
   compatibilidade — não usado mais em nenhum template desde a V189): fica
   GRUDADA na própria capa
   (dentro do quadro da imagem), encostada na borda de baixo, em vez de
   um bloco separado abaixo dela. Mantém um fundo escuro translúcido (sem
   borda/contorno) só pra garantir leitura em cima da foto do jogo. */
.sem-metodo-badge-onimage{
  position:absolute;
  left:50%;
  bottom:10px;
  margin:0;
  z-index:2;
  max-width:94%;
  padding:3px 10px;
  border-radius:20px;
  background:rgba(6,20,10,.88);
  animation:semMetodoPulseOnImage 1.6s ease-in-out infinite;
}
@keyframes semMetodoPulseOnImage{
  0%,100%{opacity:1;transform:translateX(-50%) scale(1)}
  50%{opacity:.55;transform:translateX(-50%) scale(1.04)}
}

/* ===== CARROSSEL DE BANNERS (VÍDEO) DA HOME ===== */
.banner-carousel{position:relative;margin:16px 0 22px;border-radius:14px;overflow:hidden;border:1px solid var(--card-border);background:#000;box-shadow:0 0 22px rgba(0,0,0,.4)}
.banner-carousel-track{position:relative;width:100%;aspect-ratio:16/9}
.banner-carousel-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .5s ease}
.banner-carousel-slide.is-active{opacity:1;visibility:visible}
.banner-carousel-slide iframe{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none}
.banner-carousel-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.banner-carousel-slide video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.banner-carousel-slide-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;pointer-events:none}
.banner-carousel-slide-play svg{width:18px;height:18px;fill:#fff;margin-left:2px}
.banner-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(0,0,0,.45);color:#fff;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2}
.banner-carousel-arrow:hover{background:rgba(0,0,0,.7);border-color:#fff}
.banner-carousel-arrow-prev{left:10px}
.banner-carousel-arrow-next{right:10px}
.banner-carousel-dots{display:flex;justify-content:center;gap:8px;padding:10px 0;background:#050806}
.banner-carousel-dot{width:9px;height:9px;border-radius:50%;border:1px solid var(--green-dim);background:transparent;cursor:pointer;padding:0}
.banner-carousel-dot.is-active{background:var(--green)}
.banner-carousel-empty{
  aspect-ratio:16/9;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  border:1px dashed #3a5544;
  background:#050806;
}
.banner-carousel-empty-icon{font-size:26px;opacity:.6}
.banner-carousel-empty-text{font-family:Arial,sans-serif;font-weight:700;font-size:12px;color:#7d8f83;letter-spacing:.3px}
.banner-carousel-empty-size{font-family:Arial,sans-serif;font-size:10px;color:#4c6156}

.buy-btn{
  appearance:none;
  border:none;
  cursor:pointer;
  background:var(--green);
  color:#07130a;
  font-family:'Arial Black',Arial,sans-serif;
  font-weight:900;
  font-size:clamp(13px,3.6vw,15px);
  letter-spacing:0.5px;
  padding:10px 8px;
  border-radius:5px;
  margin-top:auto;
  box-shadow:0 0 10px rgba(57,255,106,0.25);
  transition:transform .12s ease, box-shadow .2s ease;
}
.buy-btn:active{transform:scale(0.96);}
.buy-btn.notify-btn{background:#e8c547;color:#1a1400;box-shadow:0 0 10px rgba(232,197,71,.3)}

/* Botão "COMPRAR" com contorno dourado — usado só nos jogos da Oferta/Promoção
   da Semana (ver isPromoWeekProduct em store.js), pra destacar visualmente
   esses produtos do botão verde padrão do resto da loja. */
.buy-btn.buy-btn-promo{
  background:transparent;
  border:2px solid #e8c547;
  color:#e8c547;
  padding:8px 8px;
  border-radius:6px;
  box-shadow:0 0 10px rgba(232,197,71,.35);
}
.buy-btn.buy-btn-promo:hover{background:rgba(232,197,71,.1);box-shadow:0 0 14px rgba(232,197,71,.55)}

/* ===== FAVORITO (coração) + CARRINHO RÁPIDO + TRAILER (ícones) ===== */
.product-price-row{display:flex;align-items:center;justify-content:center;gap:6px;margin:0 0 8px}
.product-price-row .product-price{text-align:center;margin:0;white-space:nowrap;font-size:clamp(21px,6.2vw,27px)}
.product-price-row .product-price-promo{align-items:center;margin:0}
.product-price-row .promo-now{font-size:clamp(14px,4.2vw,18px);white-space:nowrap}
.product-price-row .promo-old{font-size:clamp(10px,3vw,12px)}
.product-icon-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 10px}
.icon-row-spacer{width:40px;height:40px;flex-shrink:0}
.fav-btn,.cart-icon-btn,.share-btn{
  width:28px;height:28px;
  border-radius:50%;
  background:transparent;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  transition:transform .12s ease,background .2s ease;
}
.fav-btn{border:1px solid rgba(255,255,255,.3)}
.fav-btn:active{transform:scale(.92)}
.fav-icon{width:14px;height:14px;fill:none;stroke:#f3c6c9;stroke-width:1.6}
.fav-btn.is-active{background:rgba(224,48,63,.14)}
.fav-btn.is-active .fav-icon{fill:#ff2d3f;stroke:#ff2d3f}

/* Botão de compartilhar (link do produto.html — /jogo/<id>) */
.share-btn{border:1px solid rgba(255,255,255,.3)}
.share-btn:active{transform:scale(.92)}
.share-icon{width:14px;height:14px;fill:none;stroke:#cfe3ff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.share-btn.is-copied{background:rgba(58,166,96,.18);border-color:var(--green)}
.share-btn.is-copied .share-icon{stroke:var(--green)}

/* Aviso "Link copiado!" que aparece rapidamente acima do botão de compartilhar */
.copy-toast{
  position:absolute;top:-38px;right:0;
  background:#152018;color:#eafff0;border:1px solid var(--green);
  font-size:12px;font-weight:700;padding:6px 12px;border-radius:20px;
  white-space:nowrap;pointer-events:none;opacity:0;
  transition:opacity .2s ease;
}
.copy-toast.is-visible{opacity:1}
.cart-icon-btn{border:1px solid rgba(255,255,255,.3);color:#fff}
.cart-icon-btn:hover,.cart-icon-btn:active{border-color:#fff;transform:scale(.96)}
.cart-icon-svg{width:14px;height:14px}
.cart-icon-btn.is-added{background:var(--green);color:#07130a;border-color:var(--green)}

.footer-note{
  text-align:center;
  font-family:Arial,sans-serif;
  font-size:12px;
  color:#557060;
  margin-top:40px;
}
.footer-badges{
  display:flex;
  justify-content:center;
  align-items:flex-end;
  gap:18px;
  margin:14px 0 30px;
}
.footer-badges img{
  height:38px;
  width:auto;
  max-width:22vw;
  opacity:.9;
}

@media (prefers-reduced-motion: reduce){
  *{transition:none !important;}
}

/* BOTÃO FLUTUANTE DO WHATSAPP */
.whatsapp-float{
  position:fixed;
  right:18px;
  bottom:18px;
  width:56px;
  height:56px;
  border-radius:50%;
  background:#0a0d0a;
  border:2px solid var(--green);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 0 0 4px rgba(57,255,106,0.12), 0 4px 14px rgba(0,0,0,0.4), 0 0 16px rgba(57,255,106,0.45);
  z-index:999;
  transition:transform .15s ease, box-shadow .2s ease;
}
.whatsapp-float:hover{
  transform:scale(1.06);
  box-shadow:0 0 0 6px rgba(57,255,106,0.16), 0 4px 16px rgba(0,0,0,0.45), 0 0 22px rgba(57,255,106,0.6);
}
.whatsapp-float-icon{
  width:34px;
  height:34px;
  display:block;
  object-fit:contain;
  animation:whatsapp-bounce 2s ease-in-out infinite;
}
@keyframes whatsapp-bounce{
  0%,20%,50%,80%,100%{transform:translateY(0)}
  40%{transform:translateY(-6px)}
  60%{transform:translateY(-3px)}
}
@media (prefers-reduced-motion: reduce){
  .whatsapp-float-icon{animation:none}
}

/* BOTÃO FLUTUANTE DO CARRINHO */
.cart-float{
  position:fixed;
  left:18px;
  bottom:18px;
  width:56px;
  height:56px;
  border-radius:50%;
  background:#0a0d0a;
  border:2px solid var(--green);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:26px;
  box-shadow:0 0 0 4px rgba(57,255,106,0.12), 0 4px 14px rgba(0,0,0,0.4), 0 0 16px rgba(57,255,106,0.45);
  z-index:999;
  transition:transform .15s ease, box-shadow .2s ease;
}
.cart-float:hover{
  transform:scale(1.06);
}

.cart-badge{
  position:absolute;
  top:-2px;
  right:-2px;
  min-width:20px;
  height:20px;
  padding:0 4px;
  border-radius:10px;
  background:#ff3b3b;
  color:#fff;
  font-family:Arial,sans-serif;
  font-size:11px;
  font-weight:900;
  display:none;
  align-items:center;
  justify-content:center;
  box-shadow:0 0 6px rgba(0,0,0,0.4);
}


/* BOTÃO DE TRAILER — ícone redondo do YouTube (linha de ícones do card) */
.trailer-btn{
  width:32px;height:32px;
  flex-shrink:0;
  margin:0;
  padding:0;
  border:none;
  border-radius:50%;
  background:#FF0000;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  transition:transform .1s ease;
}
.trailer-yt-icon{width:10px;height:12px;flex-shrink:0;position:relative;z-index:1}
.trailer-btn:active{transform:scale(.94)}
/* Animação "onda expansiva" contínua e suave, chamando atenção pro trailer */
.trailer-btn::before,
.trailer-btn::after{
  content:'';
  position:absolute;
  inset:0;
  border-radius:50%;
  border:2px solid #FF0000;
  animation:trailer-wave 5.5s ease-out infinite;
  pointer-events:none;
}
.trailer-btn::after{animation-delay:2.75s}
@keyframes trailer-wave{
  0%{transform:scale(1);opacity:.7}
  100%{transform:scale(1.9);opacity:0}
}
@media (prefers-reduced-motion:reduce){
  .trailer-btn::before,.trailer-btn::after{animation:none}
}
.trailer-modal-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.82);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  z-index:1200;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
}
.trailer-modal-overlay.open{opacity:1;pointer-events:auto}
.trailer-modal{
  width:min(1100px,92vw);
  background:#08110c;
  border:1.5px solid var(--green-dim);
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 0 35px rgba(57,255,106,.2);
}
.trailer-modal-header{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid #1a3322}
.trailer-modal-header h3{margin:0;color:var(--green);font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:12px}
.trailer-close-btn{background:none;border:0;color:#fff;font-size:20px;cursor:pointer;padding:3px 6px}
.trailer-frame-wrap{aspect-ratio:16/9;background:#000}
.trailer-frame-wrap iframe{width:100%;height:100%;border:0;display:block}
.trailer-fallback{padding:25px;color:#b8c5b8;text-align:center}
body.trailer-open{overflow:hidden}
@media(min-width:1300px){
  .trailer-modal{width:min(1280px,85vw)}
}
@media(max-width:520px){
  .trailer-modal-overlay{padding:8px}
  .trailer-modal{border-radius:9px}
  .trailer-modal-header h3{font-size:14px}
}

/* ===== AVISO FLUTUANTE (pop-up ao abrir a loja) ===== */
/* ===== FAIXA DE AVISO ROLANDO NO TOPO ===== */
.site-marquee{
  position:relative;
  width:100%;
  overflow:hidden;
  background:#0c1710;
  border-bottom:1px solid var(--card-border);
  padding:8px 0;
}
.site-marquee-track{
  display:inline-block;
  white-space:nowrap;
  font-family:Arial,sans-serif;
  font-weight:700;
  font-size:12px;
  letter-spacing:0.3px;
  color:var(--green);
  text-transform:uppercase;
  padding-left:100%;
  animation:site-marquee-scroll 34s linear infinite;
}
@keyframes site-marquee-scroll{
  from{transform:translateX(0)}
  to{transform:translateX(-100%)}
}
@media (prefers-reduced-motion: reduce){
  .site-marquee-track{animation:none;padding-left:12px}
}

.announcement-modal-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.78);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  z-index:1300;
  opacity:0;
  transition:opacity .2s ease;
}
.announcement-modal-overlay.open{opacity:1}
.announcement-modal{
  position:relative;
  width:min(360px,100%);
  background:#08110c;
  border:1.5px solid var(--green);
  border-radius:14px;
  padding:30px 22px 26px;
  box-shadow:0 0 30px var(--green-glow);
  text-align:center;
}
.announcement-close-btn{
  position:absolute;
  top:10px;
  right:10px;
  width:30px;
  height:30px;
  border-radius:50%;
  border:0;
  background:#c0392b;
  color:#fff;
  font-size:15px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
}
.announcement-close-btn:hover{filter:brightness(1.1)}
.announcement-image{display:block;width:100%;border-radius:9px;margin-bottom:14px;object-fit:cover;max-height:220px}
.announcement-text{margin:0;color:var(--white);font-size:15px;line-height:1.55;font-weight:700}
/* Aviso com link: o card inteiro é clicável (ex.: leva para instalar o app) */
.announcement-link{display:block;color:inherit;text-decoration:none;cursor:pointer;border-radius:10px;padding:2px}
.announcement-link:hover .announcement-image{filter:brightness(1.08)}
.announcement-link:focus-visible{outline:2px solid var(--green);outline-offset:4px}
.announcement-tap-hint{display:block;margin-top:14px;color:var(--green);font-size:13px;font-weight:800;letter-spacing:.3px;animation:announcementPulse 1.6s ease-in-out infinite}
@keyframes announcementPulse{0%,100%{opacity:1}50%{opacity:.45}}
@media (prefers-reduced-motion: reduce){.announcement-tap-hint{animation:none}}

/* ===== VISUALIZAÇÃO RÁPIDA (QUICK VIEW) ===== */
.quickview-modal-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.82);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  z-index:1200;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
}
.quickview-modal-overlay.open{opacity:1;pointer-events:auto}
.quickview-modal{
  position:relative;
  width:min(640px,100%);
  max-height:90vh;
  overflow:auto;
  background:#08110c;
  border:1.5px solid var(--green-dim);
  border-radius:12px;
  box-shadow:0 0 35px rgba(57,255,106,.2);
}
.quickview-close-btn{
  position:absolute;
  top:8px;right:8px;
  z-index:3;
  width:32px;height:32px;
  border-radius:50%;
  border:0;
  background:rgba(0,0,0,.55);
  color:#fff;
  font-size:16px;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}
.quickview-close-btn:hover{background:rgba(0,0,0,.8)}
.quickview-body{display:flex;flex-direction:column}
.quickview-cover{
  position:relative;
  max-height:56vh;
  background:#0c1710;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.quickview-cover img{width:100%;height:100%;max-height:56vh;object-fit:contain;display:block}
.quickview-cover .pad-icon{width:44px;opacity:.5}
.quickview-info{padding:16px 18px 20px}
.quickview-info h3{margin:0 0 6px;color:var(--white);font-size:18px;line-height:1.25}
.quickview-price{margin:0 0 14px;color:var(--green);font-weight:900;font-size:20px}
.qv-platforms-inline{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}

/* ===== PÁGINA INDIVIDUAL DO PRODUTO (produto.html) ===== */
.produto-page-wrap{max-width:640px}
.produto-back-link{display:inline-block;color:var(--green);font-weight:800;margin:4px 0 14px;text-decoration:none}
.produto-back-link:hover{text-decoration:underline}
.produto-cover-big{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--card-border);background:#000;aspect-ratio:900/1137;max-width:380px;width:100%;margin:0 auto 16px;display:flex;align-items:center;justify-content:center}
.produto-cover-big img{width:100%;height:100%;object-fit:cover}
.produto-cover-big.is-sold-out img{filter:grayscale(1)!important;-webkit-filter:grayscale(1)!important}
.produto-gallery{margin:0 0 20px;border-radius:12px;overflow:hidden;border:1px solid var(--card-border);background:#000}
.produto-gallery-track{position:relative;width:100%;aspect-ratio:16/9}
.produto-gallery-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .3s ease}
.produto-gallery-slide.is-active{opacity:1;visibility:visible}
.produto-gallery-slide iframe,.produto-gallery-slide img{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}
.produto-gallery-nav{display:flex;align-items:center;justify-content:center;gap:14px;padding:10px 0;background:#050806}
.produto-gallery-arrow{background:transparent;border:1px solid var(--green-dim);color:var(--green);width:30px;height:30px;border-radius:50%;font-size:16px;cursor:pointer;line-height:1}
.produto-gallery-dots{display:flex;gap:7px}
.produto-gallery-dot{width:8px;height:8px;border-radius:50%;border:1px solid var(--green-dim);background:transparent;cursor:pointer;padding:0}
.produto-gallery-dot.is-active{background:var(--green)}
.produto-info{text-align:center;text-transform:uppercase}
.produto-info .produto-title,
.produto-info .produto-tab-panel{text-transform:none}
.produto-title{font-size:clamp(20px,5.5vw,28px);margin:0 0 10px}
.produto-info .product-badges{justify-content:center}
.produto-info .product-badges .product-badge{font-size:13px;padding:5px 12px}
.produto-price{margin:14px 0 16px}
/* Efeito "piscar" no primeiro acesso do cliente à página do produto */
@keyframes price-first-view-blink{
  0%,100%{opacity:1}
  20%,60%{opacity:.15}
  40%,80%{opacity:1}
}
.produto-price.price-first-view-fx{animation:price-first-view-blink .8s ease-in-out 1;}
@media (prefers-reduced-motion:reduce){
  .produto-price.price-first-view-fx{animation:none}
}
.produto-price .product-price{font-size:clamp(30px,9vw,42px)}
.produto-price .promo-now{font-size:clamp(26px,8vw,36px)}
.produto-price .promo-old{font-size:clamp(14px,4vw,17px)}
.produto-price .quickview-price-single{font-size:clamp(28px,8vw,38px);font-weight:900;color:var(--green);text-shadow:0 0 8px var(--green-glow)}
.produto-actions{margin:0 0 24px}
.produto-secondary-row{display:flex;gap:10px;margin-top:10px;position:relative}
.produto-add-cart-btn{flex:1;height:48px;background:transparent;border:1px solid var(--green-dim);color:var(--green);border-radius:8px;font-family:'Arial Black',Arial,sans-serif;font-weight:900;font-size:13px;cursor:pointer;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.produto-add-cart-btn:hover{border-color:var(--green)}
.add-cart-btn-icon{width:16px;height:16px;flex-shrink:0}
.produto-secondary-row .fav-btn,.produto-secondary-row .share-btn{width:48px;height:48px;flex-shrink:0}
.produto-secondary-row .share-icon{width:18px;height:18px}
.produto-actions .buy-btn{width:100%;max-width:360px;padding:14px 10px;font-size:15px}
.produto-tabs{text-align:left;max-width:520px;margin:0 auto}
.produto-tab-buttons{display:flex;gap:8px;margin:0 0 14px}
.produto-tab-btn{flex:1;padding:12px 10px;border-radius:10px;border:1px solid var(--card-border);background:var(--card-bg);color:#9fb8a8;font-weight:800;font-size:13px;cursor:pointer}
.produto-tab-btn.is-active{border-color:var(--green);color:var(--green)}
.produto-tab-panel{padding:16px;border-radius:10px;background:var(--card-bg);border:1px solid var(--card-border);color:#dcece2;font-size:14px;line-height:1.6}

/* Aviso fixo no topo da aba "Descrição": "ATENÇÃO:" em vermelho e caixa
   alta + o resto da frase em texto normal (mesma cor do restante da
   descrição). */
.produto-dlc-warning{margin:0 0 4px}
.produto-dlc-warning-label{color:#ff4d4d;text-transform:uppercase;font-weight:900}
.produto-dlc-warning-item{margin:0 0 8px}
.produto-dlc-warning-item:last-of-type{margin-bottom:12px}

/* Rótulo fixo "DESCRIÇÃO DO JOGO:" — só nos jogos Mídia Digital/Exclusiva,
   logo abaixo do aviso "ATENÇÃO" acima, com um respiro antes dele. */
.produto-description-label{
  margin:18px 0 6px;
  color:#ffd84d;
  text-transform:uppercase;
  font-weight:900;
  font-size:16px;
  letter-spacing:0.3px;
}
@media (max-width:700px){
  .produto-cover-big{max-width:340px}
  .produto-tab-buttons{flex-direction:row}
}
.quickview-actions{display:flex;flex-direction:column;gap:9px}
.quickview-actions .buy-btn,.quickview-actions .trailer-btn{width:100%}
@media(min-width:560px){
  .quickview-body{flex-direction:row}
  .quickview-cover{width:46%;max-height:none;align-self:stretch}
  .quickview-cover img{max-height:100%}
  .quickview-info{flex:1}
}
@media(max-width:520px){
  .quickview-modal-overlay{padding:8px}
  .quickview-modal{border-radius:9px}
}
@media(max-width:520px){
  .quickview-modal-overlay{padding:8px}
  .quickview-modal{border-radius:9px}
}

/* PAINEL DO CARRINHO */
.cart-modal-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.75);
  display:flex;
  align-items:flex-end;
  justify-content:center;
  z-index:1000;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
}
.cart-modal-overlay.open{
  opacity:1;
  pointer-events:auto;
}
body.cart-open{overflow:hidden;}

.cart-modal{
  width:100%;
  max-width:520px;
  height:100vh;
  height:100svh;
  max-height:100vh;
  max-height:100svh;
  background:#080d09;
  border:none;
  border-radius:0;
  display:flex;
  flex-direction:column;
  min-height:0;
  overflow:hidden;
  animation:cart-expand .25s ease;
}
@keyframes cart-expand{
  from{transform:translateY(30px);opacity:0;}
  to{transform:translateY(0);opacity:1;}
}
@media (min-width:560px){
  .cart-modal{
    height:92vh;
    max-height:92vh;
    border:1.5px solid var(--green-dim);
    border-radius:14px 14px 0 0;
    box-shadow:0 0 30px rgba(57,255,106,0.15);
  }
}

.cart-modal-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 18px;
  border-bottom:1px solid #16241c;
  flex:0 0 auto;
}
.cart-modal-header h3{
  margin:0;
  font-size:19px;
  color:var(--white);
  font-family:Arial,sans-serif;
  font-weight:700;
}
.cart-close-btn{
  background:none;
  border:none;
  color:var(--green);
  font-size:20px;
  cursor:pointer;
  padding:4px 8px;
}

.cart-scroll{
  flex:1;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.cart-items{
  padding:0 18px;
}
.cart-empty-msg{
  text-align:center;
  font-family:Arial,sans-serif;
  color:#7d8f83;
  padding:40px 10px;
}

/* item do carrinho com miniatura da capa */
.cart-item{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:16px 0;
  border-bottom:1px solid #16241c;
}
.cart-thumb{
  width:116px;
  height:116px;
  flex:0 0 auto;
  border-radius:8px;
  overflow:hidden;
  background:#101a13;
  border:1px solid #1c2e22;
  display:flex;
  align-items:center;
  justify-content:center;
}
.cart-thumb.small{width:46px;height:46px;}
.cart-thumb img{width:100%;height:100%;object-fit:cover;}
.cart-thumb-empty{
  font-family:Arial,sans-serif;
  font-size:9px;
  color:#5d6f63;
  letter-spacing:0.5px;
}
.cart-item-main{flex:1;min-width:0;}
.cart-item-top{
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.cart-item-name{
  font-family:Arial,sans-serif;
  font-size:14px;
  color:#c9d4cc;
  margin:0;
  flex:1;
  line-height:1.35;
}
.cart-item-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:12px;
}
.cart-item-price{
  font-family:Arial,sans-serif;
  font-size:21px;
  font-weight:700;
  color:#e6efe8;
  margin:0;
}
.cart-item-qty{
  display:flex;
  align-items:center;
  gap:14px;
  font-family:Arial,sans-serif;
  font-size:14px;
  color:var(--white);
  border:1px solid #23382b;
  border-radius:8px;
  padding:5px 12px;
}
.qty-btn{
  width:22px;
  height:22px;
  border:none;
  background:transparent;
  color:#9fb8a8;
  cursor:pointer;
  font-size:17px;
  line-height:1;
  padding:0;
}
.cart-remove-btn{
  background:none;
  border:none;
  cursor:pointer;
  font-size:16px;
  color:#c9d4cc;
  opacity:0.85;
  flex:0 0 auto;
}

/* você também pode gostar */
.cart-suggestions{padding:18px 0 24px;}
.cart-suggestions h4{
  font-family:Arial,sans-serif;
  font-size:13px;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:#e6efe8;
  margin:0 0 14px;
}
.cart-suggestion{
  display:flex;
  align-items:center;
  gap:12px;
  padding:8px 0;
}
.cart-suggestion-info{flex:1;min-width:0;}
.cart-suggestion-name{
  font-family:Arial,sans-serif;
  font-size:13px;
  color:#9fb8a8;
  margin:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.cart-suggestion-price{
  font-family:Arial,sans-serif;
  font-size:13px;
  color:#c9d4cc;
  margin:2px 0 0;
}
.cart-suggestion-add{
  flex:0 0 auto;
  background:transparent;
  border:1px solid var(--green);
  color:var(--green);
  font-family:Arial,sans-serif;
  font-size:13px;
  padding:9px 14px;
  border-radius:8px;
  cursor:pointer;
}

/* rodapé: cupom + totais (agora dentro do .cart-scroll, rola junto com os itens) */
.cart-footer{
  padding:14px 18px 20px;
  border-top:1px solid #16241c;
  background:#080d09;
}
.cart-coupon{border-bottom:1px solid #16241c;padding-bottom:12px;}
.cart-coupon-title{
  margin:6px 0;
  font-family:Arial,sans-serif;
  font-size:15px;
  color:var(--green);
}
.cart-coupon-row{
  display:flex;
  gap:10px;
  margin-top:10px;
}
.cart-coupon-input{
  flex:1;
  min-width:0;
  background:#0d140f;
  border:1px solid #23382b;
  border-radius:8px;
  color:var(--white);
  font-family:Arial,sans-serif;
  font-size:14px;
  padding:12px 14px;
}
.cart-coupon-input::placeholder{color:#5d6f63;}
.cart-coupon-input:focus{outline:none;border-color:var(--green-dim);}
.cart-coupon-apply{
  flex:0 0 auto;
  background:var(--green);
  color:#07130a;
  border:none;
  border-radius:8px;
  font-family:Arial,sans-serif;
  font-weight:700;
  font-size:14px;
  padding:12px 22px;
  cursor:pointer;
}
.cart-coupon-msg{
  font-family:Arial,sans-serif;
  font-size:12px;
  color:#ff8a8a;
  margin:8px 0 0;
  min-height:14px;
}
.cart-coupon-msg.ok{color:var(--green);}

.cart-totals{padding:12px 0 4px;}
.cart-total-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-family:Arial,sans-serif;
  font-size:15px;
  color:#c9d4cc;
  padding:5px 0;
}
.cart-total-row .cart-total-value{color:#9fb8a8;}
.cart-total-discount{color:var(--green);}
.cart-total-discount .cart-total-value{color:var(--green);}
.cart-total-final{
  font-size:19px;
  font-weight:700;
  color:var(--white);
  padding-top:8px;
}
.cart-total-final .cart-total-value{color:var(--white);font-weight:900;}

.cart-platform-select{
  margin-top:14px;
  padding:14px;
  border:1.5px solid var(--green);
  border-radius:12px;
  background:rgba(57,255,106,.08);
  box-shadow:0 0 14px rgba(57,255,106,.18);
}
.cart-platform-title{margin:0 0 10px;font-family:Arial,sans-serif;font-weight:900;font-size:14px;color:var(--white)}
.cart-platform-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px}
.cart-platform-option{
  display:flex;align-items:center;justify-content:center;gap:7px;
  border:1px solid #31553a;border-radius:8px;padding:10px 8px;
  font-family:Arial,sans-serif;font-weight:700;font-size:13px;color:#cfe6d6;
  cursor:pointer;transition:border-color .15s ease,background .15s ease;
}
.cart-platform-option input{accent-color:var(--green);width:16px;height:16px;cursor:pointer}
.cart-platform-option.is-active{border-color:var(--green);background:rgba(57,255,106,.14);color:var(--green)}

.cart-payment-select{
  margin-top:14px;padding:14px;border:1.5px solid #34a3d1;border-radius:12px;
  background:rgba(52,163,209,.08);
}
.cart-payment-title{margin:0 0 10px;font-family:Arial,sans-serif;font-weight:900;font-size:14px;color:var(--white)}
.cart-payment-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cart-payment-option{
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;
  border:1px solid #2d5568;border-radius:9px;padding:14px 6px;
  font-family:Arial,sans-serif;font-weight:700;font-size:15px;color:#cfe6d6;
  cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease;
}
.cart-payment-option small{display:block;font-weight:400;font-size:10px;margin-top:2px}
.cart-payment-option input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.cart-payment-option.is-active{border-color:#34a3d1;background:rgba(52,163,209,.18);color:#7fd4f5}
.cart-payment-pix.is-active{border-color:#32BCAD;background:rgba(50,188,173,.18);color:#5be0cc}

.cart-installments-select{
  margin-top:12px;padding-top:12px;border-top:1px dashed rgba(52,163,209,.35);
}
.cart-installments-title{margin:0 0 10px;font-family:Arial,sans-serif;font-weight:900;font-size:13px;color:var(--white)}
.cart-installments-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.cart-installment-option{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  border:1px solid #2d5568;border-radius:9px;padding:9px 4px;
  font-family:Arial,sans-serif;color:#cfe6d6;cursor:pointer;
  transition:border-color .15s ease,background .15s ease,color .15s ease;
}
.cart-installment-option input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.cart-installment-n{font-weight:900;font-size:13px}
.cart-installment-value{font-weight:700;font-size:12px}
.cart-installment-option.is-active{border-color:#34a3d1;background:rgba(52,163,209,.18);color:#7fd4f5}
.cart-installments-note{margin:10px 0 0;font-family:Arial,sans-serif;font-size:11px;color:#9fb8ac;line-height:1.4}
.cart-installments-note strong{color:var(--white)}

/* ===== MODAL DE ALERTA DO CARRINHO (console incompatível / não escolhido) ===== */
.cart-alert-modal-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.78);
  display:flex;align-items:center;justify-content:center;padding:20px;
  z-index:1400;opacity:0;pointer-events:none;transition:opacity .2s ease;
}
.cart-alert-modal-overlay.open{opacity:1;pointer-events:auto}
.cart-alert-modal{
  position:relative;width:min(340px,100%);background:#08110c;
  border:1.5px solid #c0392b;border-radius:14px;padding:28px 22px 24px;
  box-shadow:0 0 30px rgba(192,57,43,.25);text-align:center;
}
.cart-alert-close-btn{
  position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;
  border:0;background:#c0392b;color:#fff;font-size:15px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}
.cart-alert-close-btn:hover{filter:brightness(1.1)}
.cart-alert-text{margin:0;color:#ff9c9c;font-size:15px;line-height:1.55;font-weight:800}

.cart-checkout-btn{
  width:100%;
  appearance:none;
  border:none;
  cursor:pointer;
  background:var(--green);
  color:#07130a;
  font-family:Arial,sans-serif;
  font-weight:700;
  font-size:16px;
  padding:16px 8px;
  border-radius:10px;
  margin-top:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  box-shadow:0 0 12px rgba(57,255,106,0.2);
}

/* ===== MODO MANUTENÇÃO ===== */
html.maintenance-active, html.maintenance-active body{
  height:100%;
  overflow:hidden;
}
.maintenance-screen{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.maintenance-card{
  max-width:560px;
  width:100%;
  text-align:center;
  background:var(--card-bg);
  border:1px solid var(--card-border);
  border-radius:16px;
  padding:28px 22px 30px;
  box-shadow:0 0 30px var(--green-glow);
}
.maintenance-img{
  width:100%;
  max-width:480px;
  height:auto;
  border-radius:10px;
  margin:0 auto 18px;
  display:block;
}
.maintenance-text{
  color:var(--white);
  font-family:Arial,sans-serif;
  font-weight:normal;
  font-size:15px;
  line-height:1.5;
  margin:0;
  opacity:0.9;
}

/* Botão de compra bloqueado quando o jogo está esgotado */
.buy-btn.is-sold-out,.buy-btn:disabled{background:#4a4a4a;color:#d8d8d8;border-color:#4a4a4a;box-shadow:none;cursor:not-allowed;filter:grayscale(1)}
.buy-btn.is-sold-out:hover,.buy-btn:disabled:hover{filter:grayscale(1);transform:none}

/* ===== PREÇOS POR ETIQUETA (LOJA) ===== */
.price-by-badge{display:grid;gap:6px;margin:8px 0 10px}
.price-by-badge-row{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:7px 9px;border:1px solid #2c4a35;border-radius:7px;background:rgba(66,209,106,.04)}
.price-by-badge-label{font-size:9px;text-transform:uppercase;letter-spacing:.03em;color:#cfe6d6;font-weight:700;white-space:nowrap}
.price-by-badge-label.badge-parental{color:var(--orange)}
.price-by-badge-label.badge-cartao-presente{color:var(--pink)}
.price-by-badge-value{font-size:12.5px;font-weight:800;color:#8ff0a4;white-space:nowrap}
.quickview-variants{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:4px 0 10px}
.quickview-variant{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:10px 8px;border:1px solid #2c4a35;border-radius:9px;cursor:pointer;opacity:.5;transition:opacity .15s ease,border-color .15s ease,background .15s ease}
.quickview-variant:has(input:checked){opacity:1;border-color:#42d16a;background:rgba(66,209,106,.08)}
.quickview-variant-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#cfe6d6}
.quickview-variant-label.badge-parental{color:var(--orange)}
.quickview-variant-label.badge-cartao-presente{color:var(--pink)}
.quickview-variant-price{font-weight:700;color:#8ff0a4;font-size:13px}
.quickview-variant input[type="radio"]{accent-color:#42d16a;width:18px;height:18px}


/* ===== V169 — Caixa automática da capa =====
   Moldura (assets/caixa-one.webp / caixa-series.webp) por cima da arte.
   Percentuais = posição da área quadrada da arte dentro da moldura 900×1091. */
.gg-box{position:relative;width:100%;height:100%;aspect-ratio:900/1137;overflow:hidden;background:#000}
/* V172: janela da arte. A arte entra INTEIRA (contain); se não for quadrada,
   o fundo é a própria arte ampliada e desfocada (sem faixas pretas). */
/* V173: novo modelo — área da arte ocupa toda a largura, de 14,397% a 93,404% da altura */
.gg-box .gg-box-win{position:absolute;left:0;top:14.397%;width:100%;height:79.007%;overflow:hidden;background:#000}
.gg-box .gg-box-win img{position:absolute;left:0;top:0;width:100%;height:100%;display:block}
.gg-box .gg-box-win .gg-box-art{object-fit:contain}
.gg-box .gg-box-win .gg-box-bg{object-fit:cover;filter:none;transform:none} /* V174: fundo sem desfoque (pedido do usuário) */
.gg-box .gg-box-frame{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:fill;display:block;pointer-events:none}
/* Capas sem caixa (sem plataforma ou só 360): mostra a arte inteira */
.product-cover img.cover-plain,.produto-cover-big img.cover-plain{object-fit:contain}

/* ===== V171 — "JOGA SEM MÉTODO" mais destacado na página do produto =====
   Quando a capa está dentro da caixa automática, o selo sobe para logo
   acima do logo "LOJA GHOST GAMER" (dentro da área da arte) e ganha uma
   fonte média, maior que a do card. Continua pulsando em lilás. */
.produto-cover-big .sem-metodo-badge-onimage{
  font-size:clamp(13px,3.9vw,16px);
  padding:5px 16px;
  letter-spacing:.05em;
}
.produto-cover-big:has(.gg-box) .sem-metodo-badge-onimage{
  bottom:8.6%; /* V173: logo acima da faixa verde de baixo do novo modelo */
  transform:translateX(-50%);
}


/* ===== V174 — Página do produto: selos na mesma linha, embaixo da capa =====
   "⏳ Expira em X dias" vai pro canto inferior ESQUERDO e o "JOGA SEM MÉTODO"
   (pulsando) pro canto inferior DIREITO, os dois logo acima da faixa verde. */
.produto-cover-big:has(.gg-box) .promo-countdown-badge{
  top:auto;bottom:8.6%;left:3.5%;
  font-size:clamp(10px,3vw,12.5px);
  transform-origin:left center;
}
.produto-cover-big:has(.gg-box):has(.promo-countdown-badge) .sem-metodo-badge-onimage{
  left:auto;right:3.5%;
  transform:none;
  transform-origin:right center;
  font-size:clamp(11px,3.4vw,14px);
  padding:4px 12px;
  animation-name:semMetodoPulse;
}

/* ===== V185 — SEO / conversão ===== */

/* Nome do jogo nos cards agora é um link de verdade (o Google segue o link);
   visualmente continua igual ao texto de antes. */
.product-name-link{color:inherit;text-decoration:none;font:inherit;display:block}
.product-name-link:hover{text-decoration:underline}


/* Bloco "O que estou comprando?" (4 respostas rápidas). */
.produto-info .produto-quick-info{text-transform:none;text-align:left;max-width:520px;margin:0 auto 22px;padding:6px 16px 12px;border-radius:10px;background:var(--card-bg);border:1px solid var(--card-border)}
.produto-quick-row{padding:10px 0;border-bottom:1px solid rgba(31,74,44,.6)}
.produto-quick-row:last-of-type{border-bottom:0}
.produto-quick-q{margin:0 0 4px;font-size:13px;color:var(--green);font-family:'Arial Black',Arial,sans-serif}
.produto-quick-a{margin:0;font-family:Arial,sans-serif;font-size:13.5px;line-height:1.5;color:#dcece2}
.produto-quick-links{margin:8px 0 0;font-family:Arial,sans-serif;font-size:12px;color:#9fb8a8}
.produto-quick-links a{color:var(--green);text-decoration:underline}

/* Conteúdo montado no servidor (aparece antes do JavaScript carregar). */
.produto-ssr-platform{margin:0 0 6px;font-family:Arial,sans-serif;font-size:14px;color:#9be8ac;text-transform:none}
.produto-ssr-delivery{font-family:Arial,sans-serif;font-size:13px;color:#9fb8a8;text-transform:none;margin:14px 0 0}
.produto-ssr-delivery a{color:var(--green);text-decoration:underline}
.produto-ssr .buy-btn{display:inline-block;text-decoration:none;text-align:center}

/* Links institucionais no rodapé. */
.footer-links{text-align:center;font-family:Arial,sans-serif;font-size:12px;color:#557060;margin:8px 0 26px;line-height:2}
.footer-links a{color:#7fb592;text-decoration:underline}
.footer-links a:hover{color:var(--green)}

/* Páginas institucionais (como comprar, FAQ, políticas, contato). */
.inst-page{max-width:720px;margin:0 auto;padding:6px 4px 20px;font-family:Arial,sans-serif;color:#dcece2;line-height:1.7;font-size:15px}
.inst-page h1{font-family:'Arial Black',Arial,sans-serif;color:var(--green);text-shadow:0 0 12px var(--green-glow);font-size:clamp(22px,6vw,30px);text-align:center;margin:14px 0 18px}
.inst-page h2{font-family:'Arial Black',Arial,sans-serif;color:var(--green);font-size:clamp(16px,4.4vw,19px);margin:26px 0 8px}
.inst-page p,.inst-page li{margin:0 0 10px}
.inst-page ul,.inst-page ol{padding-left:22px;margin:0 0 14px}
.inst-page a{color:var(--green);text-decoration:underline}
.inst-page .inst-note{padding:12px 14px;border-radius:10px;background:var(--card-bg);border:1px solid var(--card-border);font-size:13.5px;color:#b9d3c1}
.inst-page details{border:1px solid var(--card-border);background:var(--card-bg);border-radius:10px;padding:0 14px;margin:0 0 10px}
.inst-page details summary{cursor:pointer;padding:13px 0;font-family:'Arial Black',Arial,sans-serif;font-size:14px;color:var(--white)}
.inst-page details[open] summary{color:var(--green)}
.inst-page details p{margin:0 0 14px}
.inst-wa-btn{display:block;width:100%;max-width:360px;margin:18px auto 0;padding:14px 10px;text-align:center;background:var(--green);color:#07130a!important;border-radius:5px;font-family:'Arial Black',Arial,sans-serif;font-weight:900;text-decoration:none!important;box-shadow:0 0 10px rgba(57,255,106,.25)}
.home-intro{text-align:center;font-family:Arial,sans-serif;font-size:13px;line-height:1.6;color:#7fa890;max-width:560px;margin:26px auto 0;padding:0 8px;text-transform:none}

/* Horário de atendimento no rodapé (renderStoreHours em store.js). */
.store-hours{display:flex;flex-direction:column;align-items:center;gap:8px;margin:18px auto 10px;padding:12px 14px;max-width:360px;border:1px solid var(--border,#1d3a27);border-radius:10px;text-align:center}
.store-hours-pill{display:inline-block;padding:5px 12px;border-radius:20px;font-weight:800;font-size:13px;border:1px solid}
.store-hours.is-open .store-hours-pill{color:#39ff6a;border-color:#2f6b3f;background:#0d2616}
.store-hours.is-closed .store-hours-pill{color:#ff4b4b;border-color:#6b2f2f;background:#2a0b0b}
.store-hours-text{font-size:13px;color:#cfe5d5}
.store-hours-text strong{color:#fff}

/* "Valor a combinar" (etiqueta do painel): texto branco no lugar do preço. */
.product-price.price-arrange,.price-arrange{color:#fff;text-shadow:none}
.product-price.price-arrange{font-size:clamp(24px,7vw,32px)}
/* V227 — nos cartões (lista/mosaico) o "Valor a combinar" é proporcional ao cartão e quebra em 2 linhas, sem cortar palavra */
.product-card .product-price.price-arrange,.product-card .price-arrange{font-size:clamp(15px,4.3vw,19px);line-height:1.15;white-space:normal;text-wrap:balance;overflow-wrap:normal;word-break:normal;max-width:100%;padding:0 6px;box-sizing:border-box;margin:6px 0 8px}

/* V198 — imagem da capa COMPLETA (moldura + arte + faixa) quase invisível por cima
   da capa na página do jogo: segurar o dedo e copiar pega a capa inteira. */
.produto-cover-big .cover-copy-img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;opacity:.01;z-index:20;-webkit-touch-callout:default;-webkit-user-select:auto;user-select:auto}

/* V219 — Tela do jogo: "(Pix)" ao lado do valor e "em até 6x de R$ X" embaixo */
.price-pix-row{display:flex;align-items:baseline;justify-content:center;gap:8px;flex-wrap:wrap;margin:0 0 4px}
.price-pix-row .product-price,.price-pix-row .promo-now{margin:0;flex:none}
.price-pix-tag{font-family:Arial,sans-serif;font-weight:800;color:var(--white);font-size:clamp(14px,4.2vw,17px);letter-spacing:.3px;text-shadow:none;white-space:nowrap}
.price-installments{margin:6px 0 0;text-align:center;color:var(--white);font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}
.price-installments b{font-weight:900}
.price-installments:empty{display:none}
.quickview-variant-price .price-pix-tag{font-size:12px;margin-left:4px}
/* V219 (correção) — o site herda text-transform:uppercase do bloco de preço; o Pix e o parcelado ficam em minúsculas como combinado */
.price-pix-row,.price-pix-tag,.price-installments{text-transform:none;letter-spacing:normal}

/* V220 — ícone de cartão antes de "em até" */
.price-installments .card-ico{width:20px;height:20px;vertical-align:-4px;margin-right:6px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* V222: Oferta da Semana — dourado (#e8c547), igual ao botão COMPRAR da oferta */
.product-card.is-oferta{border:2px solid #e8c547;box-shadow:0 0 14px rgba(232,197,71,.35)}
.cart-item.is-oferta{border:2px solid #e8c547;border-radius:8px;padding:12px;box-shadow:0 0 12px rgba(232,197,71,.25)}
.cart-oferta-pill{display:inline-block;margin-top:4px;font-size:10px;font-weight:800;letter-spacing:.06em;color:#2a1d00;background:#e8c547;border-radius:999px;padding:2px 8px}
.oferta-home{margin:0 0 18px}
.oferta-home[hidden]{display:none}
.oferta-home-title{font-size:18px;color:#e8c547;margin:0 0 10px;text-align:center;letter-spacing:.04em;text-transform:uppercase}
/* V222: slide de foto com link (clique leva para a página do jogo) */
.banner-carousel-slide a.banner-carousel-link{position:absolute;inset:0;display:block;cursor:pointer}

/* V223: logo do jogo + data de lançamento sobre o vídeo/foto do carrossel (canto de baixo). */
.banner-carousel-overlay{position:absolute;left:0;right:0;bottom:6%;z-index:2;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:6px}
.banner-carousel-logo{display:block;width:min(100%,120px);height:auto;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.85))}
.banner-carousel-overlay .banner-carousel-logo{position:static;inset:auto;width:min(100%,120px);height:auto;max-width:none;object-fit:contain}
.banner-carousel-release{font-family:Arial,sans-serif;font-size:12px;font-weight:700;color:#fff;text-shadow:0 1px 4px #000;white-space:nowrap;text-align:center}
.banner-carousel-release em{font-style:normal;color:#40a0ff}
@media (max-width:420px){.banner-carousel-release{font-size:11px}}
