/* roblox-ambient — kids glow (more shine, soft pulse, no live blur) */
.roblox-ambient{
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 88% 58% at 50% -4%, hsl(var(--primary) / 0.28), transparent 60%),
    radial-gradient(ellipse 62% 48% at 48% 38%, hsl(var(--primary) / 0.12), transparent 64%),
    radial-gradient(ellipse 48% 42% at 94% 22%, hsl(var(--primary) / 0.14), transparent 58%),
    radial-gradient(ellipse 52% 40% at 6% 68%, hsl(var(--primary) / 0.1), transparent 60%),
    radial-gradient(ellipse 70% 36% at 55% 100%, hsl(var(--primary) / 0.08), transparent 55%);
}
.roblox-ambient::before{
  content: '';
  position: absolute;
  width: min(68vw, 52rem);
  height: min(56vw, 44rem);
  top: -16%;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 50%;
  background: radial-gradient(circle closest-side, hsl(var(--primary) / 0.28), hsl(var(--primary) / 0.08) 52%, transparent 74%);
  opacity: 0.85;
  animation: kb-ambient-pulse 7.5s ease-in-out infinite;
}
.roblox-ambient::after{
  content: '';
  position: absolute;
  width: min(50vw, 40rem);
  height: min(50vw, 40rem);
  top: 16%;
  right: -14%;
  border-radius: 50%;
  background: radial-gradient(circle closest-side, hsl(var(--primary) / 0.36), transparent 70%);
  opacity: 0.9;
  animation: kb-ambient-drift 11s ease-in-out infinite;
}
@keyframes kb-ambient-pulse{
  0%, 100%{ opacity: 0.85; transform: translateX(-50%) scale(1); }
  50%{ opacity: 1; transform: translateX(-50%) scale(1.06); }
}
@keyframes kb-ambient-drift{
  0%, 100%{ opacity: 0.75; transform: translate(0, 0) scale(1); }
  50%{ opacity: 0.95; transform: translate(-4%, 3%) scale(1.08); }
}
@media (max-width: 639px){
  .roblox-ambient{
    background:
      radial-gradient(ellipse 100% 48% at 50% -2%, hsl(var(--primary) / 0.5), transparent 56%),
      radial-gradient(ellipse 80% 46% at 50% 38%, hsl(var(--primary) / 0.24), transparent 62%),
      radial-gradient(ellipse 62% 38% at 100% 28%, hsl(var(--primary) / 0.22), transparent 55%),
      radial-gradient(ellipse 64% 34% at 0% 70%, hsl(var(--primary) / 0.18), transparent 58%),
      radial-gradient(ellipse 70% 32% at 45% 100%, hsl(var(--primary) / 0.16), transparent 55%);
  }
  .roblox-ambient::before{ width: min(96vw, 32rem); height: min(76vw, 26rem); opacity: 0.95; }
  .roblox-ambient::after{ width: min(78vw, 26rem); height: min(78vw, 26rem); top: 26%; right: -22%; opacity: 0.7; }
}
.kb-grid-bg{
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 0.55;
  background-image:
    radial-gradient(circle at 18% 22%, hsl(var(--primary) / 0.35) 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 72% 18%, hsl(var(--primary) / 0.3) 0 1.25px, transparent 2.25px),
    radial-gradient(circle at 42% 48%, hsl(var(--primary) / 0.28) 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 86% 56%, hsl(var(--primary) / 0.32) 0 1.25px, transparent 2.25px),
    radial-gradient(circle at 28% 78%, hsl(var(--primary) / 0.26) 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 58% 88%, hsl(var(--primary) / 0.22) 0 1px, transparent 2px),
    linear-gradient(to right, hsl(var(--primary) / 0.1) 1px, transparent 1px),
    linear-gradient(to bottom, hsl(var(--primary) / 0.075) 1px, transparent 1px);
  background-size:
    100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%,
    52px 52px, 52px 52px;
  mask-image: radial-gradient(ellipse 90% 75% at 50% 32%, #000 12%, transparent 78%);
  -webkit-mask-image: radial-gradient(ellipse 90% 75% at 50% 32%, #000 12%, transparent 78%);
  animation: kb-sparkle-twinkle 5.5s ease-in-out infinite;
}
@keyframes kb-sparkle-twinkle{
  0%, 100%{ opacity: 0.45; }
  50%{ opacity: 0.62; }
}
.kb-ambient-glow{
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 12% 30%, hsl(var(--primary) / 0.2), transparent 28%),
    radial-gradient(circle at 88% 48%, hsl(var(--primary) / 0.18), transparent 30%),
    radial-gradient(circle at 50% 85%, hsl(var(--primary) / 0.14), transparent 34%);
  animation: kb-ambient-glow-breathe 9s ease-in-out infinite;
}
@keyframes kb-ambient-glow-breathe{
  0%, 100%{ opacity: 0.7; }
  50%{ opacity: 1; }
}
@media (prefers-reduced-motion: reduce){
  .roblox-ambient::before,
  .roblox-ambient::after,
  .kb-grid-bg,
  .kb-ambient-glow{
    animation: none !important;
  }
}
.custom-bg-mask{ mask-image: linear-gradient(rgb(var(--background)),rgba(0,0,0,0.3),rgb(0,0,0,0));}
/* Popular cats — coverflow on mobile (inner __face), same system as product carousels */
.popular-categories-carousel{ position: relative; display: flex; align-items: center; gap: 0.35rem; width: 100%; overflow: visible;}
.popular-categories-carousel.is-fitting .popular-categories-grid{ justify-content: center; scroll-snap-type: none; padding-inline: 0; margin-inline: 0; scroll-padding-inline: 0;}
.popular-categories-grid{ display: flex; gap: 0.85rem; flex: 1 1 auto; width: 100%; min-width: 0; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-padding-inline: 1rem; scroll-behavior: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding-inline: 0.25rem; padding-block: 0.35rem 0.5rem; cursor: grab; touch-action: pan-y; overscroll-behavior-y: auto; overflow-anchor: none;}
.popular-categories-grid.is-dragging,.popular-categories-grid.is-wrapping{ cursor: grabbing; scroll-behavior: auto !important; scroll-snap-type: none !important; user-select: none;}
.popular-categories-grid::-webkit-scrollbar{ display: none;}
.popular-categories-nav{ flex: 0 0 auto; z-index: 2; display: inline-flex; align-items: center; justify-content: center; width: 2.35rem; height: 2.35rem; border-radius: 999px; border: 1px solid hsl(var(--primary) / 0.45); background: rgba(6,10,18,0.88); color: hsl(var(--primary)); box-shadow: 0 0 0 1px hsl(var(--primary) / 0.12),0 0 16px -2px hsl(var(--primary) / 0.4); transition: opacity 0.2s ease,background-color 0.2s ease,border-color 0.2s ease,transform 0.15s ease;}
.popular-categories-nav:hover:not(:disabled){ border-color: hsl(var(--primary) / 0.8); background: rgba(10,16,28,0.96); transform: scale(1.04);}
.popular-categories-nav:disabled{ opacity: 0.35; cursor: default;}
.popular-categories-nav[hidden]{ display: none !important;}
.popular-categories-nav__icon{ width: 1.15rem; height: 1.15rem; pointer-events: none;}
@media (max-width: 767px){ .popular-categories-nav{ position: absolute; top: 50%; transform: translateY(-50%); width: 2.1rem; height: 2.1rem; z-index: 4;}
.popular-categories-nav--prev{ left: 0.15rem;}
.popular-categories-nav--next{ right: 0.15rem;}
.popular-categories-nav:hover:not(:disabled){ transform: translateY(-50%) scale(1.04);}
}
/* Slide keeps layout box; coverflow scales __face only */
.popular-category-card{ position: relative; display: block; flex: 0 0 calc((100% - 1.7rem) / 3); width: calc((100% - 1.7rem) / 3); max-width: none; min-width: 9.5rem; aspect-ratio: 16 / 10; overflow: visible; border: none; background: transparent; scroll-snap-align: start; scroll-snap-stop: normal; transform: none !important; opacity: 1; filter: none !important; box-shadow: none; z-index: 1;}
.popular-category-card.is-snap-center{ z-index: 3;}
.popular-category-card__face{ position: absolute; inset: 0; display: block; overflow: hidden; border-radius: 0.875rem; border: 1px solid hsl(var(--primary) / 0.32); background: rgb(var(--background)); box-shadow: 0 8px 22px rgb(0 0 0 / 0.26); transform-origin: center center; transition: transform 0.35s cubic-bezier(0.22,1,0.36,1),opacity 0.3s ease,border-color 0.3s ease,box-shadow 0.3s ease;}
.popular-category-card:hover .popular-category-card__face{ border-color: hsl(var(--primary) / 0.55);}
.popular-category-card:focus-visible{ outline: none;}
.popular-category-card:focus-visible .popular-category-card__face{ border-color: hsl(var(--primary) / 0.7); box-shadow: 0 0 0 2px rgb(var(--background)),0 0 0 3px hsl(var(--primary) / 0.35);}
/* Mobile: product-like coverflow (center scale/glow, side peek) */
@media (max-width: 639px){ .popular-categories-grid.kb-coverflow-track{ gap: 0.75rem; scroll-padding-inline: 16vw; padding-inline: 16vw; padding-block: 1.35rem 1.25rem; scroll-snap-type: x proximity;}
.popular-categories-carousel.has-overflow .popular-categories-grid{ justify-content: flex-start;}
.popular-category-card{ flex: 0 0 68vw; width: 68vw; max-width: 22rem; min-width: 0; scroll-snap-align: center; scroll-snap-stop: normal;}
.kb-coverflow-track > .popular-category-card .popular-category-card__face{ transform: translate3d(0,var(--kb-cf-side-y),0); opacity: var(--kb-cf-side-opacity);}
.kb-coverflow-track > .popular-category-card .popular-category-card__img{ transform: scale(var(--kb-cf-img-side,1)); transform-origin: center center; transition: transform 0.35s cubic-bezier(0.22,1,0.36,1);}
.kb-coverflow-track > .popular-category-card.is-snap-center .popular-category-card__face{ transform: translate3d(0,var(--kb-cf-center-y),0); opacity: 1; border-color: hsl(var(--primary) / 0.65); box-shadow: 0 0 0 1px hsl(var(--primary) / 0.2),0 10px 22px rgb(0 0 0 / 0.28);}
.kb-coverflow-track > .popular-category-card.is-snap-center .popular-category-card__img{ transform: scale(var(--kb-cf-img-center,1.04));}
.kb-coverflow-track > .popular-category-card:not(.is-snap-center) .popular-category-card__face:hover{ transform: translate3d(0,var(--kb-cf-side-y),0);}
.kb-coverflow-track > .popular-category-card.is-snap-center .popular-category-card__face:hover{ transform: translate3d(0,var(--kb-cf-center-y),0);}
.popular-categories-carousel.is-fitting .kb-coverflow-track > .popular-category-card .popular-category-card__face{ transform: none !important; opacity: 1 !important; box-shadow: 0 8px 22px rgb(0 0 0 / 0.26);}
.popular-categories-carousel.is-fitting .kb-coverflow-track > .popular-category-card .popular-category-card__img{ transform: none !important;}
}
@media (min-width: 640px) and (max-width: 1023px){ .popular-category-card{ flex: 0 0 calc((100% - 0.85rem) / 2); width: calc((100% - 0.85rem) / 2); min-width: 11rem;}
.popular-category-card__face{ border-radius: 0.875rem;}
}
@media (min-width: 1024px){ .popular-categories-grid{ gap: 1rem;}
.popular-category-card{ flex: 0 0 calc((100% - 2rem) / 3); width: calc((100% - 2rem) / 3); min-width: 14rem;}
.popular-category-card__face{ border-radius: 1rem;}
}
.popular-categories-carousel.is-fitting .popular-category-card{ flex: 1 1 0; width: auto; min-width: 0; max-width: none;}
.popular-category-card__img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; user-select: none; pointer-events: none; transition: transform 0.35s ease;}
.popular-category-card:hover .popular-category-card__img{ transform: scale(1.04);}
@media (prefers-reduced-motion: reduce){ .popular-category-card__face{ transition-duration: 0.35s;}
}
@media (max-width: 767px){ 
/* cat-mobile-carousel */
}
/* Home layout */
/* Hero ambient — radial only (no filter blur) */
.home-hero-shell{ position: relative; z-index: 0;}
.home-hero-shell::before{ content: ''; position: absolute; left: 50%; top: 50%; width: 128%; height: 145%; transform: translate(-50%,-50%); border-radius: 50%; background: radial-gradient(ellipse 58% 48% at 50% 50%,hsl(var(--primary) / 0.55) 0%,hsl(var(--primary) / 0.28) 36%,hsl(var(--primary) / 0.1) 58%,transparent 78%); opacity: 1; pointer-events: none; z-index: -1;}
.home-hero-shell::after{ content: ''; position: absolute; left: 12%; top: 18%; width: min(42vw,18rem); height: min(36vw,14rem); border-radius: 50%; background: radial-gradient(circle closest-side,hsl(var(--primary) / 0.32),transparent 72%); opacity: 0.7; pointer-events: none; z-index: -1;}
.home-hero{ position: relative; isolation: isolate; box-shadow: 0 20px 60px rgba(0,0,0,0.45),inset 0 0 0 1px hsl(var(--primary) / 0.18); animation: home-hero-in 0.7s ease both;}
.home-hero-fallback{ background: radial-gradient(ellipse 80% 70% at 20% 80%,hsl(var(--primary) / 0.45),transparent 55%),radial-gradient(ellipse 70% 60% at 85% 20%,hsl(var(--primary) / 0.28),transparent 50%),radial-gradient(circle at 50% 50%,hsl(var(--primary) / 0.18),transparent 60%),linear-gradient(145deg,#0a101c 0%,#121a2a 45%,#0c1524 100%);}
.home-hero-fallback::before{ content: ''; position: absolute; inset: 0; background-image: linear-gradient(to right,hsl(var(--primary) / 0.11) 1px,transparent 1px),linear-gradient(to bottom,hsl(var(--primary) / 0.08) 1px,transparent 1px); background-size: 48px 48px; mask-image: radial-gradient(ellipse 90% 80% at 50% 50%,#000 20%,transparent 75%); opacity: 0.85;}
.home-hero-fallback::after{ content: ''; position: absolute; width: 14rem; height: 14rem; right: 8%; top: 15%; border-radius: 50%; background: radial-gradient(circle closest-side,hsl(var(--primary) / 0.34),transparent 70%); opacity: 0.75;}
.home-hero-overlay{ background: linear-gradient(180deg,rgba(4,10,20,0.05) 0%,rgba(4,10,20,0.16) 70%,rgba(4,10,20,0.4) 100%),radial-gradient(ellipse 70% 55% at 50% 100%,hsl(var(--primary) / 0.34),transparent 70%),radial-gradient(ellipse 40% 45% at 8% 30%,hsl(var(--primary) / 0.22),transparent 60%),radial-gradient(ellipse 40% 45% at 92% 25%,hsl(var(--primary) / 0.2),transparent 60%);}
/* banner → search — gap limpo sob o hero */
.home-page.space-y-8 > .home-search-near-hero{ margin-top: 0.35rem !important; overflow: visible !important;}
@media (min-width: 640px){ .home-page.space-y-8 > .home-search-near-hero{ margin-top: 0.45rem !important;}
}
.home-page.space-y-8 > .home-popular-categories{ margin-top: 1.75rem !important;}
@media (min-width: 640px){ .home-page.space-y-8 > .home-popular-categories{ margin-top: 2.15rem !important;}
}
/* #3 scroll: home nunca cria 2º scrollport nem height 100% no body */
html:has(body.kingdom-is-home),
html {
  overflow-x: clip !important;
  overflow-y: auto !important;
  height: auto !important;
  min-height: 100% !important;
  max-height: none !important;
}
body.kingdom-is-home,
body {
  overflow-x: visible !important;
  overflow-y: visible !important;
  height: auto !important;
  min-height: 100% !important;
  max-height: none !important;
}
body.kingdom-is-home main.flex-1,
main.flex-1 {
  overflow: visible !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
  max-width: none !important;
  width: 100% !important;
  max-height: none !important;
  padding-inline: 0 !important;
  margin-inline: 0 !important;
  position: relative;
  height: auto !important;
  min-height: 0 !important;
  flex: 1 0 auto !important;
}

.home-bestsellers-marquee {
  --kb-marquee-bg: #0a0e16;
  position: relative !important;
  display: block !important;
  box-sizing: border-box !important;
  /* CSS neutro; JS mede getBoundingClientRect e estica até clientWidth */
  left: 0 !important;
  right: auto !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-top: 2.4rem !important;
  margin-bottom: 0 !important;
  transform: none !important;
  height: 3.15rem !important;
  min-height: 3.15rem !important;
  max-height: 3.15rem !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  border: 0 !important;
  border-radius: 0 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0%, transparent 45%),
    var(--kb-marquee-bg) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
  z-index: 6 !important;
}

.home-bestsellers-marquee::before {
  content: none !important;
  display: none !important;
}

@media (min-width: 640px) {
  .home-bestsellers-marquee {
    height: 3.4rem !important;
    min-height: 3.4rem !important;
    max-height: 3.4rem !important;
    margin-top: 2.7rem !important;
  }
}
@media (min-width: 1024px) {
  .home-bestsellers-marquee {
    height: 3.65rem !important;
    min-height: 3.65rem !important;
    max-height: 3.65rem !important;
  }
}

.home-bestsellers-marquee__viewport {
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  mask-image: none !important;
  -webkit-mask-image: none !important;
}
.home-bestsellers-marquee__track {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  width: max-content !important;
  max-width: none !important;
  height: 100% !important;
  align-items: center !important;
  white-space: nowrap !important;
  animation: home-bestsellers-marquee 38s linear infinite;
  transform: translateZ(0);
}
.home-bestsellers-marquee__group {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  flex-shrink: 0 !important;
  align-items: center !important;
  gap: 0 !important;
  height: 100% !important;
  width: max-content !important;
  max-width: none !important;
  white-space: nowrap !important;
}
.home-bestsellers-marquee__item {
  display: inline-block !important;
  flex-shrink: 0 !important;
  padding-inline: 0.35rem !important;
  font-family: Kanit, Geist, sans-serif !important;
  font-size: clamp(0.95rem, 2.1vw, 1.2rem) !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  color: rgba(255, 255, 255, 0.84) !important;
  text-shadow: none !important;
}
.home-bestsellers-marquee__sep {
  display: inline-block !important;
  flex-shrink: 0 !important;
  padding-inline: 1.35rem !important;
  font-size: 0.85rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  color: rgba(255, 255, 255, 0.28) !important;
  user-select: none !important;
}
@keyframes home-bestsellers-marquee {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}
.home-bestsellers-marquee.is-anim-paused .home-bestsellers-marquee__track {
  animation-play-state: paused !important;
}
@media (prefers-reduced-motion: reduce) {
  .home-bestsellers-marquee__track { animation: none !important; }
}

.home-bestsellers-marquee + .home-page,
.home-bestsellers-marquee + .home-page--after-marquee {
  margin-top: 1.25rem !important;
}
@media (min-width: 640px) {
  .home-bestsellers-marquee + .home-page,
  .home-bestsellers-marquee + .home-page--after-marquee {
    margin-top: 1.55rem !important;
  }
}

.home-page,
body.kingdom-is-home .home-page {
  overflow-x: visible !important;
}
/* Search logos removidos */
.home-search-logo{ display: none !important; }
.home-popular-categories{ overflow: visible;}
.home-popular-categories__body{ margin-top: 2.5rem; overflow: visible;}
@media (min-width: 640px){ .home-popular-categories__body{ margin-top: 3.15rem;}
}
/* remove-trust-bridge — more gap: popular cards → first product strip (blox) */
.home-page.space-y-8 > .home-popular-categories + #store{ margin-top: 3.35rem !important;}
@media (min-width: 640px){ .home-page.space-y-8 > .home-popular-categories + #store{ margin-top: 4.15rem !important;}
}
.popular-category-card--fallback .popular-category-card__face{ display: flex; align-items: center; justify-content: center; background: radial-gradient(ellipse 70% 80% at 50% 30%,hsl(var(--primary) / 0.28),transparent 65%),linear-gradient(160deg,rgba(10,16,28,0.98),rgba(6,10,18,0.94)); padding: 1rem;}
.popular-category-card__fallback-label{ position: relative; z-index: 1; max-width: 100%; padding: 0 0.5rem; font-size: clamp(0.85rem,2.2vw,1.05rem); font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; text-align: center; color: #fff; text-shadow: 0 0 18px hsl(var(--primary) / 0.45);}
/* Home search — pill alinhada ao banner (sem logos laterais) */
.home-page.space-y-8 > .home-search-row{ overflow: visible !important;}
/* z-index 40: acima de marquee (6), categorias e cards; abaixo do header sticky (50) */
.home-search-row{ position: relative; z-index: 40; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0; width: 100%; max-width: min(96vw, 42rem); margin-inline: auto; padding-inline: clamp(0.4rem, 1vw, 0.75rem); box-sizing: border-box; background: none; border: none; box-shadow: none; overflow: visible;}
@media (min-width: 640px){ .home-search-row{ max-width: min(72vw, 48rem);}
}
@media (min-width: 1024px){ .home-search-row{ max-width: min(58vw, 52rem);}
}
.home-search-stage{ position: relative; z-index: 1; width: 100%; overflow: visible; padding-block: 0.2rem;}
.home-search-games-btn{ display: none !important;}
.home-search-hub__beam,.home-search-hub__beam-spin,.home-search-hub__inner,.home-search-hub__label,.home-search-hub__gamepad,.home-search-hub__notch{ display: none !important;}
.home-search-hub{ position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; gap: 0; width: 100%; padding: 0; border: none; border-radius: 0; background: none; box-shadow: none; isolation: auto;}
.home-search-logo{ display: none !important;}
@keyframes float-y{ 0%,100%{ transform: translate3d(0,0,0);}
50%{ transform: translate3d(0,-4px,0);}
}
.home-search-wrap--hint.is-anim-paused .home-search-input{ animation-play-state: paused !important;}
/* Glass search field */
.home-search-field{ position: relative; z-index: 1; flex: 1 1 auto; min-width: 0; width: 100%; overflow: visible;}
.home-search-wrap{ position: relative; z-index: 10; width: 100%; max-width: 100%; min-width: 0; overflow: visible;}
.home-search-icon{ position: absolute; left: 1.05rem; top: 50%; z-index: 5; width: 1.1rem; height: 1.1rem; transform: translateY(-50%); pointer-events: none; color: rgb(var(--foreground) / 0.72); filter: none;}
@media (min-width: 640px){ .home-search-icon{ left: 1.25rem; width: 1.2rem; height: 1.2rem;}
}
.home-search-input{ position: relative; z-index: 1; display: block; width: 100%; height: 3.45rem; min-height: 3.45rem; padding: 0 1.2rem 0 2.95rem; border-radius: 999px; border: 1px solid rgba(255,255,255,0.22); background: rgba(12,20,34,0.82); color: rgb(var(--foreground) / 0.95); font-size: 0.92rem; font-weight: 600; outline: none; appearance: none; box-shadow: inset 0 1px 0 rgba(255,255,255,0.06),0 8px 24px rgb(0 0 0 / 0.22); transition: border-color 0.2s ease,box-shadow 0.2s ease,background-color 0.2s ease; --tw-ring-shadow: 0 0 #0000; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-color: transparent;}
@media (min-width: 640px){ .home-search-input{ height: 3.85rem; min-height: 3.85rem; padding-left: 3.2rem; font-size: 0.98rem;}
.home-search-icon{ left: 1.3rem; width: 1.25rem; height: 1.25rem;}
}
.home-search-input.is-typing-demo{ color: rgb(var(--foreground) / 0.95); caret-color: transparent;}
.home-search-input::placeholder{ color: rgb(var(--foreground) / 0.55); opacity: 1; font-weight: 600;}
.home-search-ph{ position: absolute; left: 2.55rem; right: 1rem; top: 0; bottom: 0; z-index: 6; display: none; align-items: center; pointer-events: none; overflow: hidden; white-space: nowrap; color: rgb(var(--foreground) / 0.72); font-size: 0.84rem; font-weight: 700; letter-spacing: 0.015em; line-height: 1; text-shadow: none;}
.home-search-ph.is-hidden{ display: none !important; visibility: hidden;}
@media (min-width: 640px){ .home-search-ph{ left: 2.75rem; font-size: 0.9rem;}
}
.home-search-input.has-fake-ph::placeholder{ color: transparent !important; opacity: 0 !important;}
.home-search-input.is-typing-ph::placeholder{ color: rgb(var(--foreground) / 0.72); opacity: 1; font-weight: 600; letter-spacing: 0.01em;}
.home-search-input.has-fake-ph.is-typing-ph::placeholder{ color: transparent !important; opacity: 0 !important;}
.home-search-wrap--hint .home-search-input{ animation: home-search-hint-pulse 2.4s ease-in-out infinite;}
@keyframes home-search-hint-pulse{ 0%,100%{ box-shadow: inset 0 1px 0 rgba(255,255,255,0.06),0 8px 24px rgb(0 0 0 / 0.22);}
50%{ box-shadow: inset 0 1px 0 rgba(255,255,255,0.08),0 8px 28px rgb(0 0 0 / 0.28),0 0 0 1px rgba(255,255,255,0.08);}
}
.home-search-input:hover{ border-color: rgba(255,255,255,0.32); background: rgba(255,255,255,0.08); box-shadow: inset 0 1px 0 rgba(255,255,255,0.08),0 10px 28px rgb(0 0 0 / 0.26);}
.home-search-input:focus,.home-search-input:focus-visible{ outline: none !important; outline-offset: 0 !important; border-color: rgba(255,255,255,0.38) !important; background: rgba(255,255,255,0.09) !important; --tw-ring-shadow: 0 0 #0000 !important; --tw-ring-offset-shadow: 0 0 #0000 !important; --tw-ring-offset-width: 0px !important; --tw-ring-offset-color: transparent !important; --tw-ring-color: transparent !important; --tw-ring-width: 0px !important; box-shadow: inset 0 1px 0 rgba(255,255,255,0.09),0 10px 30px rgb(0 0 0 / 0.28) !important;}
/* Respect prefers-reduced-motion — pause decorative loops */
@media (prefers-reduced-motion: reduce){ .home-search-logo{ animation: none !important;}
.home-search-wrap--hint .home-search-input{ animation: none !important;}
.home-trust-card.is-visible,.home-trust-card.is-visible.is-inview,.home-trust-card.is-visible:nth-child(2),.home-trust-card.is-visible.is-inview:nth-child(2){ animation: home-trust-reveal 0.5s cubic-bezier(0.22,1,0.36,1) both !important; animation-delay: var(--trust-delay,0s) !important;}
.home-trust-card.is-visible .home-trust-card__icon-slot{ animation: none !important;}
.home-hero{ animation: none !important; opacity: 1; transform: none;}
}
/* Search results — flutuam sobre marquee, grade e categorias (sólido + stack alto) */
.home-search-result,#search-result{ position: absolute; left: 0; right: 0; top: calc(100% + 0.5rem); z-index: 50; max-height: 420px; width: 100%; overflow: auto; border-radius: 1rem; border: 1px solid rgb(255 255 255 / 0.1); background: rgb(8 14 24 / 0.98); box-shadow: 0 0 0 1px rgb(0 0 0 / 0.35),0 18px 48px rgba(0,0,0,0.6); scrollbar-width: thin; scrollbar-color: rgb(var(--background) / 0.92) rgb(8 14 24 / 0.98);}
.home-search-result::-webkit-scrollbar,#search-result::-webkit-scrollbar{ width: 8px;}
.home-search-result::-webkit-scrollbar-track,#search-result::-webkit-scrollbar-track{ background: rgb(8 14 24 / 0.98); border-radius: 0 1rem 1rem 0;}
.home-search-result::-webkit-scrollbar-thumb,#search-result::-webkit-scrollbar-thumb{ background: rgb(255 255 255 / 0.12); border-radius: 999px; border: 2px solid rgb(8 14 24 / 0.98);}
.home-search-result::-webkit-scrollbar-thumb:hover,#search-result::-webkit-scrollbar-thumb:hover{ background: hsl(var(--primary) / 0.4);}
.home-search-result::-webkit-scrollbar-corner,#search-result::-webkit-scrollbar-corner{ background: rgb(8 14 24 / 0.98);}
.home-search-result a,#search-result a{ display: block; transition: background-color 0.15s ease;}
.home-search-result a:hover,#search-result a:hover{ background: hsl(var(--primary) / 0.08);}
/* Trust hero + cards — dark glass (primary sutil, sem neon ciano) */
.home-page > .container:has(.home-trust),.home-page.space-y-8 > .container:has(.home-trust),.home-page > .home-trust-section{ position: relative; overflow: visible; max-width: min(100%,92rem); padding-inline: clamp(0.5rem,1.4vw,1rem); margin-top: 2rem; margin-bottom: 0.5rem;}
.home-trust-section{ isolation: isolate; padding-block: 0.5rem 1rem;}
.home-trust-section::before{ content: ""; position: absolute; left: 50%; top: 58%; z-index: 0; width: min(116%,64rem); height: min(82%,26rem); transform: translate(-50%,-50%); pointer-events: none; background: radial-gradient(ellipse at center,hsl(var(--primary) / 0.1) 0%,hsl(var(--primary) / 0.04) 40%,transparent 72%);}
/* trust-gap: 8dp rhythm between headline and cards */
.home-trust-hero{ position: relative; z-index: 1; display: flex; justify-content: center; padding: 0.5rem 0.75rem 0.5rem; margin-bottom: 1.5rem; text-align: center;}
.home-trust-hero__title{ margin: 0; display: flex; flex-direction: column; align-items: center; gap: 0.08em; font-weight: 800; line-height: 0.92; text-transform: uppercase; letter-spacing: -0.03em; -webkit-font-smoothing: antialiased;}
.home-trust-hero__line{ display: block; max-width: 100%; word-break: keep-all;}
.home-trust-hero__line--count{ color: #fff; font-size: clamp(2rem,6.6vw,3.75rem); font-weight: 800; text-shadow: 0 2px 18px rgb(0 0 0 / 0.55);}
.home-trust-hero__line--label{ color: rgba(245,248,252,0.94); font-size: clamp(1.45rem,5.2vw,3.2rem); font-weight: 800; text-shadow: 0 2px 14px rgb(0 0 0 / 0.4);}
/* trust-no-frame: cards sit on page bg — stack mobile, 3-col desktop */
.home-trust{ position: relative; z-index: 1; display: grid; grid-template-columns: 1fr; gap: 1rem; padding: 0.5rem 0.15rem 0.5rem; overflow: visible; width: 100%;}
@media (min-width: 640px){ .home-trust{ grid-template-columns: 1fr 1.16fr 1fr; gap: 1rem; padding: 0.75rem 0.25rem 0.75rem; align-items: start;}
}
/* trust-cards-seesaw-fix: opposite keyframes (sides UP ↔ middle DOWN); same baseline; pause off-screen via .is-inview */
@keyframes home-trust-reveal{ from{ opacity: 0; transform: translate3d(0,16px,0);}
to{ opacity: 1; transform: translate3d(0,0,0);}
}
@keyframes kb-trust-up{ 0%,100%{ transform: translate3d(0,6px,0);}
50%{ transform: translate3d(0,-6px,0);}
}
@keyframes kb-trust-down{ 0%,100%{ transform: translate3d(0,-6px,0);}
50%{ transform: translate3d(0,6px,0);}
}
/* trust-cards — dark glass, primary só como detalhe */
.home-trust-card{ --trust-float-dur: 2.4s; position: relative; display: flex; align-items: center; justify-content: flex-start; gap: 0.5rem; min-height: 7rem; padding: 1.25rem 0.75rem 1.25rem 1.25rem; overflow: visible; isolation: isolate; border-radius: 1.35rem; border: 1px solid hsl(var(--primary) / 0.22); background: linear-gradient(155deg,rgba(16,22,34,0.96) 0%,rgba(8,12,20,0.98) 55%,rgba(6,10,16,0.99) 100%); box-shadow: 0 14px 32px rgb(0 0 0 / 0.42),0 0 0 1px rgba(255,255,255,0.04),inset 0 1px 0 rgba(255,255,255,0.06); opacity: 0; transform: translate3d(0,16px,0); transition: border-color 0.22s ease,box-shadow 0.22s ease,opacity 0.45s ease; transition-delay: var(--trust-delay,0s); outline: none; cursor: pointer; -webkit-tap-highlight-color: transparent;}
.home-trust-card--featured{ border-color: hsl(var(--primary) / 0.38); box-shadow: 0 16px 34px rgb(0 0 0 / 0.46),0 0 0 1px hsl(var(--primary) / 0.1),inset 0 1px 0 rgba(255,255,255,0.07);}
/* Trust card detail popups — enlarged card chrome (horizontal text + 3D icon) */
.trust-modal{ position: fixed; inset: 0; z-index: 120; display: flex; align-items: center; justify-content: center; padding: 1.15rem; box-sizing: border-box; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.2s ease,visibility 0.2s ease;}
.trust-modal[hidden]:not(.is-open){ display: none !important;}
/* mobile-black-screen-fix — closed trust modal must never cover viewport */
.trust-modal:not(.is-open){ opacity: 0 !important; visibility: hidden !important; pointer-events: none !important;}
.trust-modal.is-open{ display: flex !important; opacity: 1; visibility: visible; pointer-events: auto;}
.trust-modal__backdrop{ position: absolute; inset: 0; z-index: 0; margin: 0; border: 0; padding: 0; background: rgb(2 8 16 / 0.78); cursor: pointer;}
/* trust-modal-card: matches polished trust card chrome */
.trust-modal__panel{ position: relative; z-index: 1; width: min(100%,36rem); padding: 1.5rem 1.15rem 1.5rem 1.55rem; overflow: visible; isolation: isolate; border-radius: 1.45rem; border: 1px solid hsl(var(--primary) / 0.28); background: linear-gradient(155deg,rgba(16,22,34,0.98) 0%,rgba(8,12,20,0.99) 100%); box-shadow: 0 20px 48px rgb(0 0 0 / 0.55),0 0 0 1px rgba(255,255,255,0.04),inset 0 1px 0 rgba(255,255,255,0.06); transform: translate3d(0,10px,0) scale(0.97); transition: transform 0.22s cubic-bezier(0.22,1,0.36,1);}
.trust-modal.is-open .trust-modal__panel{ transform: translate3d(0,0,0) scale(1);}
.trust-modal__close{ position: absolute; top: 0.75rem; right: 0.75rem; z-index: 3; display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; margin: 0; padding: 0; border-radius: 0.75rem; border: 1px solid hsl(var(--primary) / 0.45); background: hsl(var(--primary) / 0.12); color: #fff; font-size: 1.45rem; line-height: 1; cursor: pointer; transition: background 0.15s ease,border-color 0.15s ease;}
.trust-modal__close:hover,.trust-modal__close:focus-visible{ background: hsl(var(--primary) / 0.22); border-color: hsl(var(--primary) / 0.7); outline: none;}
.trust-modal__row{ position: relative; z-index: 1; display: flex; flex-direction: row; align-items: center; justify-content: flex-start; gap: 0.5rem; min-height: 8.5rem; padding-right: 0.15rem;}
.trust-modal__text{ position: relative; z-index: 1; min-width: 0; flex: 1 1 auto; padding: 0.15rem 0.25rem 0.15rem 0; padding-right: 0.35rem; text-align: left;}
.trust-modal__title{ margin: 0 2.2rem 0.5rem 0; font-size: 1.42rem; font-weight: 800; letter-spacing: -0.025em; line-height: 1.2; color: #fff; text-align: left; text-shadow: 0 1px 10px rgb(0 0 0 / 0.4); -webkit-font-smoothing: antialiased;}
.trust-modal__body{ margin: 0; max-width: 22rem; font-size: 0.98rem; font-weight: 500; line-height: 1.55; color: rgb(255 255 255 / 0.82); text-align: left;}
.trust-modal__icon-wrap{ position: relative; z-index: 2; display: flex; flex-shrink: 0; align-items: center; justify-content: center; width: 11.5rem; height: 11.5rem; margin: -2.15rem -0.85rem -2.15rem -0.2rem; overflow: visible; pointer-events: none; transform: translateX(0.2rem);}
.trust-modal__icon{ display: block; width: 100%; height: 100%; max-width: 11.5rem; max-height: 11.5rem; object-fit: contain; filter: drop-shadow(0 10px 20px rgb(0 0 0 / 0.45)) drop-shadow(0 0 18px hsl(var(--primary) / 0.38));}
.trust-modal__icon[hidden]{ display: none !important;}
@media (min-width: 640px){ .trust-modal{ padding: 1.5rem;}
.trust-modal__panel{ width: min(100%,40rem); padding: 1.75rem 1.25rem 1.75rem 1.85rem; border-radius: 1.55rem;}
.trust-modal__row{ gap: 0.75rem; min-height: 9.5rem;}
.trust-modal__title{ font-size: 1.58rem; margin-bottom: 0.65rem;}
.trust-modal__body{ font-size: 1.05rem; max-width: 24rem; line-height: 1.58;}
.trust-modal__icon-wrap{ width: 13.25rem; height: 13.25rem; margin: -2.5rem -1.1rem -2.5rem -0.25rem; transform: translateX(0.3rem);}
.trust-modal__icon{ max-width: 13.25rem; max-height: 13.25rem;}
}
@media (max-width: 479px){ .trust-modal__row{ flex-direction: column; align-items: stretch; gap: 0.5rem; min-height: 0;}
.trust-modal__text{ padding-right: 2.4rem; padding-bottom: 0.15rem;}
.trust-modal__title{ margin-right: 0; font-size: 1.28rem;}
.trust-modal__body{ max-width: none; font-size: 0.94rem;}
.trust-modal__icon-wrap{ width: 9.25rem; height: 9.25rem; margin: -0.35rem auto -1.1rem; transform: none;}
.trust-modal__icon{ max-width: 9.25rem; max-height: 9.25rem;}
.trust-modal__panel{ padding: 1.35rem 1.2rem 1.1rem; border-radius: 1.35rem;}
}
/* howto-video: premium 16:9 player (PC polish) */
/* howto-placement */
/* howto-video-bit-bigger */
.home-howto{ position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 1.2rem; max-width: min(100%,61rem); margin-inline: auto; padding: 0.65rem clamp(0.65rem,3vw,1.5rem) 0.85rem; text-align: center;}
.home-howto__header{ display: flex; flex-direction: column; align-items: center; gap: 0.65rem; max-width: 40rem; margin-inline: auto;}
.home-howto__title{ margin: 0; font-size: clamp(1.4rem,4vw,2.15rem); font-weight: 800; letter-spacing: 0.055em; text-transform: uppercase; line-height: 1.12; color: rgba(245,248,252,0.96); text-shadow: 0 2px 16px rgb(0 0 0 / 0.45); -webkit-font-smoothing: antialiased;}
.home-howto__rule{ display: block; width: min(100%,15rem); height: 2px; border-radius: 999px; background: linear-gradient(90deg,transparent,hsl(var(--primary) / 0.55) 18%,hsl(var(--primary) / 0.75) 50%,hsl(var(--primary) / 0.55) 82%,transparent); box-shadow: 0 0 8px hsl(var(--primary) / 0.2);}
.home-howto__lead{ margin: 0; max-width: 34rem; font-size: 0.94rem; font-weight: 500; line-height: 1.55; color: rgb(var(--foreground) / 0.86);}
.howto-video{ position: relative; display: flex; justify-content: center; width: 100%; max-width: min(100%,55rem); margin-inline: auto; padding: 0.45rem 0.25rem 0.3rem; box-sizing: border-box;}
.howto-video__frame{ position: relative; width: 100%; aspect-ratio: 16 / 9; border-radius: 1.05rem; border: 1px solid rgba(255,255,255,0.12); background: linear-gradient(165deg,rgb(10 14 22 / 0.96) 0%,rgb(3 6 12 / 0.99) 100%); box-shadow: 0 0 0 1px hsl(var(--primary) / 0.1),0 22px 48px rgb(0 0 0 / 0.5); overflow: hidden; isolation: isolate;}
.howto-video__frame::after{ content: ""; position: absolute; inset: 0; z-index: 3; border-radius: inherit; box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.08),inset 0 0 0 1px rgb(255 255 255 / 0.03); pointer-events: none;}
.howto-video__poster{ position: absolute; inset: 0; z-index: 0; background: radial-gradient(ellipse 70% 55% at 50% 42%,hsl(var(--primary) / 0.12),transparent 68%),linear-gradient(180deg,rgb(8 12 20) 0%,rgb(2 5 10) 100%);}
.howto-video__poster::before{ content: ""; position: absolute; inset: 0; opacity: 0.12; background-image: linear-gradient(to right,hsl(var(--primary) / 0.08) 1px,transparent 1px),linear-gradient(to bottom,hsl(var(--primary) / 0.05) 1px,transparent 1px); background-size: 36px 36px; pointer-events: none;}
.howto-video__poster::after{ content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 48%,rgb(2 6 12 / 0.78) 100%); pointer-events: none;}
.howto-video__play{ position: absolute; left: 50%; top: 47%; z-index: 2; display: inline-flex; align-items: center; justify-content: center; width: 4.35rem; height: 4.35rem; margin: 0; padding: 0; border: none; border-radius: 999px; background: linear-gradient(145deg,hsl(var(--primary) / 0.92) 0%,hsl(var(--primary) / 0.72) 100%); color: #041018; box-shadow: 0 0 0 6px hsl(var(--primary) / 0.1),0 12px 28px rgb(0 0 0 / 0.45); transform: translate(-50%,-50%); cursor: pointer; transition: transform 0.2s ease,box-shadow 0.2s ease;}
.howto-video__play:hover,.howto-video__play:focus-visible{ transform: translate(-50%,-50%) scale(1.06); box-shadow: 0 0 0 7px hsl(var(--primary) / 0.14),0 14px 32px rgb(0 0 0 / 0.5); outline: none;}
.howto-video__play-icon{ width: 1.55rem; height: 1.55rem; margin-left: 0.18rem; fill: currentColor;}
.howto-video__controls{ position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; display: flex; flex-direction: column; gap: 0.4rem; padding: 1.35rem 0.9rem 0.7rem; background: linear-gradient(180deg,transparent 0%,rgba(4,8,14,0.72) 55%,rgba(2,5,10,0.92) 100%); color: #fff; pointer-events: none;}
.howto-video__progress{ position: relative; width: 100%; height: 3px; border-radius: 999px; background: rgb(255 255 255 / 0.22); overflow: hidden;}
.howto-video__progress-fill{ display: block; width: 12%; height: 100%; border-radius: inherit; background: #fff; box-shadow: 0 0 8px rgb(255 255 255 / 0.45);}
.howto-video__times{ display: flex; align-items: center; justify-content: space-between; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.02em; opacity: 0.95;}
@media (min-width: 640px){ .home-howto{ gap: 1.45rem; padding-block: 0.85rem 1.1rem;}
.home-howto__title{ font-size: clamp(1.65rem,2.8vw,2.35rem); letter-spacing: 0.07em;}
.home-howto__lead{ font-size: 1rem;}
.howto-video{ max-width: min(100%,57rem); padding: 0.7rem 0.55rem 0.5rem;}
.howto-video__frame{ border-radius: 1.25rem;}
.howto-video__play{ width: 5.15rem; height: 5.15rem;}
.howto-video__play-icon{ width: 1.8rem; height: 1.8rem;}
.howto-video__controls{ padding: 1.65rem 1.2rem 0.95rem; gap: 0.5rem;}
.howto-video__times{ font-size: 0.8rem;}
}
@media (min-width: 1024px){ .home-howto{ gap: 1.7rem; max-width: min(100%,65rem); padding: 1.25rem clamp(1.75rem,4vw,3.25rem) 1.5rem;}
.home-howto__header{ gap: 0.8rem; max-width: 44rem;}
.home-howto__title{ font-size: clamp(1.95rem,2.35vw,2.55rem); letter-spacing: 0.08em; text-shadow: 0 2px 18px rgb(0 0 0 / 0.5);}
.home-howto__rule{ width: min(100%,17rem);}
.howto-video{ max-width: 59rem; padding: 0.85rem 0.75rem 0.6rem;}
.howto-video__frame{ border-radius: 1.35rem; border-width: 1px; box-shadow: 0 0 0 1px hsl(var(--primary) / 0.12),0 28px 56px rgb(0 0 0 / 0.52);}
.howto-video__play{ width: 5.65rem; height: 5.65rem;}
.howto-video__play-icon{ width: 2rem; height: 2rem;}
}
@media (max-width: 639px){ .howto-video{ padding-inline: 0.1rem;}
.howto-video__soon{ gap: 0.45rem; padding: 1rem;}
.howto-video__soon-icon{ width: 2.35rem; height: 2.35rem;}
.howto-video__soon-title{ font-size: 1.05rem;}
.howto-video__soon-text{ font-size: 0.84rem;}
.howto-video__soon-cta{ min-height: 2.65rem; font-size: 0.84rem;}
}

/* howto-video-em-breve — sem play falso */
.howto-video__frame--soon{ display: grid; place-items: center;}
.howto-video__soon{ position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; gap: 0.55rem; max-width: 22rem; padding: 1.25rem 1rem; text-align: center;}
.howto-video__soon-icon{ width: 2.75rem; height: 2.75rem; color: rgba(255,255,255,0.75); stroke-width: 1.75;}
.howto-video__soon-title{ margin: 0; font-size: 1.2rem; font-weight: 900; letter-spacing: 0.02em; color: #fff;}
.howto-video__soon-text{ margin: 0; font-size: 0.9rem; font-weight: 600; line-height: 1.4; color: rgb(var(--foreground) / 0.75);}
.howto-video__soon-cta{ display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem; margin-top: 0.35rem; min-height: 2.75rem; padding: 0.6rem 1.15rem; border-radius: 0.85rem; border: 1px solid hsl(var(--primary) / 0.45); background: hsl(var(--primary) / 0.88); color: #041018; font-size: 0.88rem; font-weight: 800; text-decoration: none; transition: transform 0.15s ease,background 0.15s ease,box-shadow 0.15s ease;}
.howto-video__soon-cta:hover,.howto-video__soon-cta:focus-visible{ background: hsl(var(--primary) / 0.78); transform: translateY(-1px); outline: none;}
.howto-video__soon-cta-icon{ width: 1.05rem; height: 1.05rem; stroke-width: 2.4;}
.howto-video__soon-cta--discord{
  border: 1px solid #4752c4;
  background: #5865f2;
  color: #fff;
  font-weight: 700;
  box-shadow: 0 8px 18px -8px rgb(88 101 242 / 0.75);
}
.howto-video__soon-cta--discord:hover,
.howto-video__soon-cta--discord:focus-visible{
  background: #4752c4;
  border-color: #3c45a5;
  color: #fff;
  box-shadow: 0 10px 22px -8px rgb(88 101 242 / 0.85);
}
.howto-video__soon-cta-discord-icon{
  display: inline-block;
  width: 1.15rem;
  height: 1.15rem;
  flex-shrink: 0;
  background-color: #fff;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}
@media (min-width: 640px){ .howto-video__soon{ max-width: 26rem; gap: 0.65rem;}
.howto-video__soon-title{ font-size: 1.35rem;}
}
/* Sides = kb-trust-up; middle (2nd) = kb-trust-down — exact opposite, same amp/duration */
.home-trust-card:nth-child(1){ --trust-delay: 0s;}
.home-trust-card:nth-child(2){ --trust-delay: 0.06s;}
.home-trust-card:nth-child(3){ --trust-delay: 0.12s;}
.home-trust-card.is-visible{ opacity: 1; transform: translate3d(0,0,0); animation: home-trust-reveal 0.5s cubic-bezier(0.22,1,0.36,1) both,kb-trust-up var(--trust-float-dur,2.4s) ease-in-out infinite; animation-delay: var(--trust-delay,0s),0.55s; animation-play-state: running,paused;}
.home-trust-card.is-visible:nth-child(2){ animation-name: home-trust-reveal,kb-trust-down;}
.home-trust-card.is-visible.is-inview{ animation-play-state: running,running;}
.home-trust-card.is-visible:not(.is-inview){ will-change: auto;}
.home-trust-card.is-visible .home-trust-card__icon-slot{ animation: none;}
.home-trust-card:focus,.home-trust-card:focus-visible,.home-trust-card:active,.home-trust-card.is-visible:focus,.home-trust-card.is-visible:focus-visible,.home-trust-card.is-visible:active{ outline: none; border-color: hsl(var(--primary) / 0.45); box-shadow: 0 14px 32px rgb(0 0 0 / 0.45),0 0 0 1px hsl(var(--primary) / 0.12),inset 0 1px 0 rgba(255,255,255,0.07);}
@media (hover: hover){ .home-trust-card.is-visible:hover{ border-color: hsl(var(--primary) / 0.42); box-shadow: 0 16px 36px rgb(0 0 0 / 0.48),0 0 0 1px hsl(var(--primary) / 0.12),inset 0 1px 0 rgba(255,255,255,0.08); transition-delay: 0s;}
.home-trust-card.is-visible:hover .home-trust-card__media,.home-trust-card.is-visible:hover .home-trust-card__icon{ opacity: 1;}
}
.home-trust-card__body{ position: relative; z-index: 1; min-width: 0; flex: 1 1 auto; padding-right: 0.15rem; text-align: left;}
.home-trust-card__title{ margin: 0 0 0.5rem; font-size: 1.22rem; font-weight: 800; letter-spacing: -0.02em; line-height: 1.18; color: #fff; text-shadow: 0 1px 10px rgb(0 0 0 / 0.45); -webkit-font-smoothing: antialiased;}
.home-trust-card__desc{ margin: 0; max-width: 15.5rem; font-size: 0.88rem; font-weight: 500; line-height: 1.45; color: rgb(255 255 255 / 0.72);}
.home-trust-card__icon-slot{ position: relative; z-index: 2; display: flex; flex-shrink: 0; align-items: center; justify-content: center; width: 9.5rem; height: 9.5rem; margin-right: -1.1rem; margin-left: -0.15rem; margin-top: -2rem; margin-bottom: -2rem; overflow: visible; pointer-events: none; transform: translateX(0.15rem);}
.home-trust-card__icon,.home-trust-card__icon.trust-float-icon,.home-trust-card__media{ position: relative; z-index: 1; display: block; width: 100%; height: 100%; max-width: 9.5rem; max-height: 9.5rem; object-fit: contain; color: hsl(var(--primary) / 0.9); opacity: 0.96; pointer-events: none; stroke-width: 1.6; filter: drop-shadow(0 6px 12px rgb(0 0 0 / 0.4));}
@media (max-width: 639px){ .home-trust-card__icon,.home-trust-card__icon.trust-float-icon,.home-trust-card__media{ filter: none;}
}
@media (min-width: 640px){ .home-trust-card{ min-height: 7.5rem; padding: 1.5rem 0.85rem 1.5rem 1.5rem; border-radius: 1.5rem;}
.home-trust-card__title{ font-size: 1.34rem; margin-bottom: 0.5rem;}
.home-trust-card__desc{ font-size: 0.94rem; max-width: 16.75rem; color: rgb(255 255 255 / 0.8);}
.home-trust-card__icon-slot{ width: 10.75rem; height: 10.75rem; margin-right: -1.35rem; margin-left: -0.2rem; margin-top: -2.25rem; margin-bottom: -2.25rem; transform: translateX(0.25rem);}
.home-trust-card__icon,.home-trust-card__icon.trust-float-icon,.home-trust-card__media{ max-width: 10.75rem; max-height: 10.75rem;}
}
@media (max-width: 639px){ .home-trust-card{ min-height: 4.75rem; padding: 1rem 0.65rem 1rem 1.1rem; border-radius: 1.25rem; gap: 0.35rem;}
.home-trust-card__title{ font-size: 1.12rem; margin-bottom: 0.35rem;}
.home-trust-card__desc{ font-size: 0.84rem; max-width: none;}
.home-trust-card__icon-slot{ width: 7.75rem; height: 7.75rem; margin-right: -0.85rem; margin-top: -1.5rem; margin-bottom: -1.5rem;}
.home-trust-card__icon,.home-trust-card__icon.trust-float-icon,.home-trust-card__media{ max-width: 7.75rem; max-height: 7.75rem;}
}
@keyframes home-hero-in{ from{ opacity: 0; transform: translate3d(0,12px,0);}
to{ opacity: 1; transform: translate3d(0,0,0);}
}
/* Hero doodle motion */
/* kb-cat-strip — STEAM title + diamond + PRODUTOS POPULARES (ref screenshot) */
.kb-cat-strip{ position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.75rem; width: 100%; max-width: min(100%,42rem); margin: 0.35rem auto 0; padding: 0.85rem 0.75rem 0.35rem; overflow: visible; border: none; border-radius: 0; background: transparent; box-shadow: none; text-decoration: none; color: inherit; outline: none;}
@media (min-width: 640px){ .kb-cat-strip{ max-width: min(100%,48rem); margin-top: 0.5rem; padding: 1.15rem 1rem 0.45rem; gap: 0.9rem;}
}
.kb-cat-strip__bg,.kb-cat-strip__scrim,.kb-cat-strip__link,.kb-cat-strip__divider,.kb-cat-strip__pill,.kb-cat-strip__line,.kb-cat-strip__line--left,.kb-cat-strip__line--right,.kb-cat-strip__ray{ display: none !important;}
.kb-cat-strip__title{ margin: 0; max-width: 100%; font-family: 'Kanit', 'Geist', sans-serif; font-size: clamp(1.85rem,5.4vw,2.75rem); font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; line-height: 1.05; color: #fff; text-align: center; text-shadow: 0 0 18px hsl(var(--primary) / 0.45),0 0 36px hsl(var(--primary) / 0.22); -webkit-font-smoothing: antialiased;}
/* blox-title-robux-no-pill — Blox Fruits hero title (first strip only) */
.kb-cat-strip--blox{ margin-top: 0.85rem; padding-top: 1.15rem; max-width: min(100%,52rem);}
.kb-cat-strip--blox .kb-cat-strip__title{ font-size: clamp(2.15rem,7vw,3.45rem); letter-spacing: 0.1em; text-shadow: 0 0 20px hsl(var(--primary) / 0.38);}
.kb-cat-strip--blox .kb-cat-strip__underline{ width: min(16rem,58%); height: 1.5px;}
@media (min-width: 640px){ .kb-cat-strip--blox{ margin-top: 1.1rem; padding-top: 1.45rem;}
.kb-cat-strip--blox .kb-cat-strip__title{ font-size: clamp(2.55rem,5.2vw,3.75rem);}
}
/* robux-restore-facade — large ROBUX title + cyan line above featured set */
.kb-cat-strip--robux{ margin-top: 0.85rem; padding-top: 1.15rem; max-width: min(100%,48rem);}
.kb-cat-strip--robux .kb-cat-strip__title{ font-size: clamp(2rem,6.5vw,3.2rem); letter-spacing: 0.14em; text-shadow: 0 0 18px hsl(var(--primary) / 0.35);}
.kb-cat-strip--robux .kb-cat-strip__underline{ width: min(14rem,55%); height: 1.5px;}
@media (min-width: 640px){ .kb-cat-strip--robux{ margin-top: 1.05rem; padding-top: 1.35rem;}
.kb-cat-strip--robux .kb-cat-strip__title{ font-size: clamp(2.35rem,4.8vw,3.4rem);}
}
.home-category-block--robux > .kb-featured{ margin-top: 0.85rem;}
@media (min-width: 640px){ .home-category-block--robux > .kb-featured{ margin-top: 1.05rem;}
}
@media (max-width: 639px){ .kb-cat-strip{ padding: 0.7rem 0.5rem 0.3rem; gap: 0.65rem;}
.kb-cat-strip__title{ letter-spacing: 0.1em;}
.kb-cat-strip--blox .kb-cat-strip__title{ letter-spacing: 0.06em;}
}
.kb-cat-strip__underline{ position: relative; display: block; width: min(13rem,56%); height: 1.5px; background: hsl(var(--primary) / 0.75); border-radius: 999px; box-shadow: 0 0 10px hsl(var(--primary) / 0.35);}
.kb-cat-strip__diamond{ position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; transform: translate(-50%,-50%) rotate(45deg); background: hsl(var(--primary)); box-shadow: 0 0 10px hsl(var(--primary) / 0.65),0 0 18px hsl(var(--primary) / 0.35);}
.kb-cat-strip:hover .kb-cat-strip__title,.kb-cat-strip:focus-visible .kb-cat-strip__title{ color: #fff; text-shadow: 0 0 22px hsl(var(--primary) / 0.55),0 0 40px hsl(var(--primary) / 0.28);}
.kb-cat-strip:focus-visible{ outline: 2px solid hsl(var(--primary) / 0.55); outline-offset: 6px; border-radius: 4px;}
/* cat-sep-match-ref — lines + 🔥 PRODUTOS POPULARES pill */
.kb-produtos-sep{ display: flex; align-items: center; gap: 0.7rem; width: 100%; max-width: min(100%,56rem); margin: 1.15rem auto 1.05rem; padding: 0 0.35rem;}
@media (min-width: 640px){ .kb-produtos-sep{ margin: 1.45rem auto 1.35rem; gap: 0.95rem;}
}
.kb-produtos-sep__line{ display: block; flex: 1 1 auto; height: 1.5px; min-width: 1.5rem; background: linear-gradient(90deg,transparent,hsl(var(--primary) / 0.55)); box-shadow: 0 0 8px hsl(var(--primary) / 0.2);}
.kb-produtos-sep__line--flip{ background: linear-gradient(90deg,hsl(var(--primary) / 0.55),transparent);}
.kb-produtos-sep__pill{ flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem; padding: 0.52rem 1.35rem; border-radius: 0.6rem; border: 1.5px solid hsl(var(--primary) / 0.65); background: rgb(4 10 18 / 0.96); color: #f4f8ff; font-family: 'Kanit', 'Geist', sans-serif; font-size: clamp(0.76rem,1.7vw,0.92rem); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; line-height: 1.15; white-space: nowrap; box-shadow: 0 0 0 1px hsl(var(--primary) / 0.12),0 0 16px -2px hsl(var(--primary) / 0.4);}
.kb-produtos-sep__star{ display: none !important;}
@media (max-width: 379px){ .kb-produtos-sep__pill{ padding: 0.42rem 0.85rem; letter-spacing: 0.05em; font-size: 0.68rem;}
}
/* Package cards */
.home-category-block{ position: relative; overflow-x: clip; overflow-y: visible;}
.home-category-block--featured{ overflow: visible !important;}
/* home-scroll-fluid / robux-scroll-perf — avoid content-visibility (up-scroll jank) */
#store,#categories-container{ overflow-x: clip; overflow-y: visible;}
.home-category-block > .kb-cat-strip,.home-category-block > .kb-produtos-sep,.home-category-block > .category-carousel-strip{ position: relative; z-index: 1;}
.home-category-block--featured > .kb-featured{ position: relative; z-index: 1; overflow: visible;}
/* Category carousels */
.category-carousel-strip{ position: relative; display: flex; align-items: center; gap: 0; width: 100%; margin-top: 0.55rem; overflow: visible;}
@media (min-width: 640px){ .category-carousel-strip{ margin-top: 0.75rem;}
}
/* Steam + PlayStation package carousels — same look as Steam vitrine side arrows */
.category-carousel-strip .popular-categories-nav{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 24;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 9999px;
  border: 1.5px solid rgba(255, 255, 255, 0.22);
  background: rgba(10, 12, 20, 0.72);
  color: #fff;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.4);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  cursor: pointer;
  transition: border-color 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease, opacity 0.2s ease;
}
.category-carousel-strip .popular-categories-nav--prev{ left: -0.55rem;}
.category-carousel-strip .popular-categories-nav--next{ right: -0.55rem;}
.category-carousel-strip .popular-categories-nav:hover:not(:disabled){
  border-color: hsl(var(--primary) / 0.7);
  background: rgba(14, 18, 28, 0.88);
  box-shadow: 0 0 20px hsl(var(--primary) / 0.18);
  transform: translateY(-50%) scale(1.05);
}
.category-carousel-strip .popular-categories-nav:disabled{ opacity: 0.35; cursor: default; transform: translateY(-50%);}
.category-carousel-strip .popular-categories-nav__icon{ width: 1.25rem; height: 1.25rem; color: #fff; pointer-events: none;}
@media (min-width: 640px){
  .category-carousel-strip .popular-categories-nav--prev{ left: -0.85rem;}
  .category-carousel-strip .popular-categories-nav--next{ right: -0.85rem;}
}
@media (min-width: 768px){
  .category-carousel-strip .popular-categories-nav--prev{ left: -1.05rem;}
  .category-carousel-strip .popular-categories-nav--next{ right: -1.05rem;}
}
.category-carousel-track.package-list,.package-list.kb-coverflow-track,.package-list[data-carousel-track]{ display: flex; flex: 1 1 auto; flex-wrap: nowrap; justify-content: center; gap: 0.75rem; width: 100%; min-width: 0; min-height: 4.5rem; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-padding-inline: 0.75rem; scroll-behavior: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding-inline: 0.75rem; padding-block: 1.15rem 1.1rem; cursor: grab; touch-action: pan-y; overscroll-behavior-y: auto; overflow-anchor: none;}
.home-page{ overflow-x: visible; overflow-y: visible;}
#categories-container,
#store,
.home-category-block--top5,
.home-category-block--top5 .home-top5{ overflow: visible;}
/* Keep floats visible without opening the whole store to overflow:visible */
.home-page:has(.kb-featured--robux) #store,
.home-page:has(.kb-featured--robux) #categories-container{
  overflow-x: clip;
  overflow-y: visible;
}
/* Overflow carousel — fixed padding (vw padding + scale caused desktop layout thrash) */
.category-carousel-strip.has-overflow .package-list,.kb-coverflow-shell.has-overflow .package-list,.package-list.is-carousel{ justify-content: flex-start; scroll-padding-inline: 1.5rem; padding-inline: 1.5rem;}
/* is-fitting: center card group under category strip */
.category-carousel-strip.is-fitting .package-list,.kb-coverflow-shell.is-fitting .package-list.kb-coverflow-track,.kb-coverflow-shell.is-fitting .package-list[data-carousel-track],.package-list.is-fitting{ justify-content: center !important; padding-inline: 0.75rem !important; scroll-padding-inline: 0 !important; scroll-snap-type: none; cursor: default;}
.package-list.kb-coverflow-track::-webkit-scrollbar,.package-list[data-carousel-track]::-webkit-scrollbar{ display: none;}
.package-list.is-dragging,.package-list.is-wrapping{ cursor: grabbing; scroll-behavior: auto !important; scroll-snap-type: none !important; user-select: none;}
/* Home category slides — banner um pouco menor, preço legível */
.home-category-block .package-carousel-slide,
.category-carousel-strip .package-carousel-slide{ flex: 0 0 72vw; width: 72vw; max-width: 15.5rem; scroll-snap-align: center; scroll-snap-stop: normal; min-width: 0; position: relative; z-index: 1; pointer-events: auto;}
.package-carousel-slide .package-card{ height: 100%; width: 100%; position: relative; z-index: 2; pointer-events: auto; cursor: pointer;}
/* Banner do produto: menos “poster alto”, sem encolher o layout */
.home-category-block .package-card__image,
.category-carousel-strip .package-card__image{
  aspect-ratio: 3 / 4;
}
.home-category-block .package-card__price,
.category-carousel-strip .package-card__price{
  font-size: 1.2rem;
  line-height: 1.1;
}
@media (min-width: 640px){
  .home-category-block .package-card__price,
  .category-carousel-strip .package-card__price{
    font-size: 1.32rem;
  }
}
@media (max-width: 639px){ .category-carousel-track.package-list,.package-list.kb-coverflow-track,.package-list[data-carousel-track]{ scroll-snap-type: x proximity;}
}
@media (min-width: 640px){ .category-carousel-track.package-list,.package-list.kb-coverflow-track,.package-list[data-carousel-track]{ gap: 1rem; scroll-padding-inline: 0.75rem; padding-inline: 0.75rem; scroll-snap-type: x mandatory;}
.category-carousel-strip.has-overflow .package-list,.kb-coverflow-shell.has-overflow .package-list,.package-list.is-carousel{ scroll-padding-inline: 1.75rem; padding-inline: 1.75rem;}
.category-carousel-strip.is-fitting .package-list,.kb-coverflow-shell.is-fitting .package-list.kb-coverflow-track,.kb-coverflow-shell.is-fitting .package-list[data-carousel-track],.package-list.is-fitting{ padding-inline: 1rem !important; scroll-padding-inline: 0 !important;}
.home-category-block .package-carousel-slide,
.category-carousel-strip .package-carousel-slide{ flex: 0 0 min(16.5rem,34vw); width: min(16.5rem,34vw); max-width: none; scroll-snap-stop: always;}
}
@media (min-width: 1024px){ .home-category-block .package-carousel-slide,
.category-carousel-strip .package-carousel-slide{ flex: 0 0 min(17.5rem,22vw); width: min(17.5rem,22vw);}
}
@media (max-width: 639px){
  .category-carousel-strip .popular-categories-nav{ width: 2.25rem; height: 2.25rem;}
  .category-carousel-strip .popular-categories-nav--prev{ left: 0.15rem;}
  .category-carousel-strip .popular-categories-nav--next{ right: 0.15rem;}
  .category-carousel-strip .popular-categories-nav:hover:not(:disabled){ transform: translateY(-50%) scale(1.05);}
}


/* ===== Search encaixada sob o banner (sem logos) ===== */
.home-page.space-y-8 > .home-search-near-hero{ margin-top: 0.35rem !important; }
@media (min-width: 640px){ .home-page.space-y-8 > .home-search-near-hero{ margin-top: 0.45rem !important; } }
.home-search-row{ max-width: min(94vw, 40rem) !important; padding-inline: clamp(0.4rem, 1vw, 0.75rem) !important; }
@media (min-width: 640px){ .home-search-row{ max-width: min(56vw, 42rem) !important; } }
@media (min-width: 1024px){ .home-search-row{ max-width: min(42vw, 44rem) !important; } }
.home-search-stage{ padding-block: 0.1rem !important; }
.home-search-hub{ gap: 0 !important; }
.home-search-logo{ display: none !important; }
.home-search-icon{ left: 1.05rem !important; width: 1.05rem !important; height: 1.05rem !important; }
@media (min-width: 640px){ .home-search-icon{ left: 1.2rem !important; width: 1.15rem !important; height: 1.15rem !important; } }
.home-search-input{ height: 3rem !important; min-height: 3rem !important; padding: 0 1.15rem 0 2.85rem !important; font-size: 0.9rem !important; box-shadow: inset 0 1px 0 rgba(255,255,255,0.06),0 8px 22px rgb(0 0 0 / 0.22) !important; }
@media (min-width: 640px){
  .home-search-input{ height: 3.15rem !important; min-height: 3.15rem !important; padding-left: 3.1rem !important; font-size: 0.95rem !important; }
  .home-search-icon{ left: 1.3rem !important; width: 1.2rem !important; height: 1.2rem !important; }
}
.home-search-ph{ left: 2.85rem !important; font-size: 0.9rem !important; }
@media (min-width: 640px){ .home-search-ph{ left: 3.1rem !important; font-size: 0.95rem !important; } }


/* Top5 numbers must not clip */
.home-category-block--top5{ overflow: visible !important; }
#store:has(.home-category-block--top5),
#categories-container:has(.home-category-block--top5){ overflow: visible !important; }
