@layer base{ *{ @apply border-border;}
/* perf-smooth-scroll: native page scroll (no Lenis — avoided past tremble) */
/* #3 scroll: html = unico scrollport vertical; body nao trava wheel */
html{ scroll-behavior: auto; scrollbar-gutter: auto; background-color: rgb(var(--background)); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; overflow-x: hidden; overflow-x: clip; overflow-y: auto; height: auto; min-height: 100%; max-height: none; width: 100%; max-width: 100%; touch-action: manipulation; overscroll-behavior-x: none;}
body{ font-family: Geist, system-ui, -apple-system, 'Segoe UI', sans-serif; @apply bg-background text-foreground; overflow-x: hidden; overflow-x: clip; overflow-y: visible; height: auto; min-height: 100%; max-height: none; width: 100%; max-width: 100%; overscroll-behavior-x: none; overscroll-behavior-y: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; touch-action: manipulation; --kb-page-zoom: 1; --kb-hairline: calc(1px / var(--kb-page-zoom, 1));}
/* Zoom global −10% só desktop com mouse. Touch/IAB (Instagram) reporta ~980px e o zoom empurra tudo pra direita.
   --kb-hairline compensates so 1px strokes stay ~1 device px (avoids jagged “pixel quebrado” borders). */
@media (min-width: 1280px) and (hover: hover) and (pointer: fine){
  html{ scrollbar-gutter: stable;}
  body{ zoom: 0.9; --kb-page-zoom: 0.9; overflow-x: visible;}
}
@media (max-width: 1279px), (pointer: coarse), (hover: none){
  html,body,html.kb-iab,html.kb-iab body,html.kb-coarse,html.kb-coarse body{
    zoom: 1 !important;
    --kb-page-zoom: 1;
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}
html.kb-iab .container,
html.kb-coarse .container{
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
/* IAB do Instagram mente ~980px no 1º open — não deixar .container virar 768px centralizado */
@media (max-width: 1279px){
  .container{
    max-width: 100% !important;
    width: 100% !important;
  }
}
html.kb-iab main.flex-1,
html.kb-coarse main.flex-1{
  overflow-x: hidden !important;
  max-width: 100% !important;
  width: 100% !important;
}
@media (max-width: 767px){
  .reveal-fade-up{ opacity: 1; transform: none;}
  /* Só utilitários genéricos — NÃO matar glass da navbar / bottom nav / busca */
  .backdrop-blur-sm:not(.kb-float-nav):not(.kb-bottom-nav__bar):not(.home-search-input),
  .backdrop-blur:not(.kb-float-nav):not(.kb-bottom-nav__bar):not(.home-search-input){
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
}
input,select{ @apply appearance-none bg-background border border-foreground/10 rounded-cc text-foreground px-2 h-8 text-sm;}
textarea{ @apply appearance-none bg-background border border-foreground/10 rounded-cc text-foreground px-2 py-2 text-sm;}
input:focus-visible,select:focus-visible,textarea:focus-visible{ outline: none; @apply ring-2 ring-primary;}
.bg-primary{ color: lch(from hsl(var(--primary)) calc((49.44 - l) * infinity) 0 0);}
.bg-background{ color: lch(from rgb(var(--background)) calc((49.44 - l) * infinity) 0 0);}
.btn-primary{ @apply bg-primary hover:bg-primary/80 transition-colors font-semibold rounded-cc px-4 h-9 flex gap-2 items-center justify-center text-sm disabled:opacity-50;}
.btn-secondary{ @apply bg-foreground/5 hover:bg-foreground/10 transition-colors font-semibold border rounded-cc px-4 h-9 flex gap-2 items-center justify-center text-sm disabled:opacity-50;}
.btn-outline{ @apply bg-transparent hover:bg-foreground/5 transition-colors font-semibold border border-foreground/10 rounded-cc px-4 h-9 flex gap-2 items-center justify-center text-sm disabled:opacity-50;}
.btn-ghost{ @apply bg-transparent hover:bg-foreground/5 transition-colors font-semibold rounded-cc px-4 h-9 flex gap-2 items-center justify-center text-sm disabled:opacity-50;}
}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{ -webkit-appearance: none; margin: 0;}
input[type=number]{ -moz-appearance: textfield;}
@keyframes fade-in{ from{ background-color: rgba(0,0,0,0);}
to{ background-color: rgba(0,0,0,0.8);}
}
@keyframes fade-out{ from{ background-color: rgba(0,0,0,0.8);}
to{ background-color: rgba(0,0,0,0);}
}
@keyframes slide-in{ from{ transform: translateX(500px);}
to{ transform: translateX(0px);}
}
@keyframes slide-out{ from{ transform: translateX(0px);}
to{ transform: translateX(500px);}
}
/* Scroll vive no html — travar os dois; padding só no mobile (desktop já tem scrollbar-gutter: stable) */
html.cart-open{ overflow: hidden !important;}
body.cart-open{ overflow: hidden; touch-action: none;}
@media (max-width: 767px){
  body.cart-open{ padding-right: var(--scrollbar-width,0px);}
}
/* Cart above header (80) + bottom nav (55); internal scroll */
#cart-drawer,#cart-drawer.kb-cart-drawer{
  position: fixed !important;
  inset: 0;
  z-index: 90;
  width: auto;
  height: auto;
  max-width: none;
  max-height: none;
  align-items: stretch;
  justify-content: flex-end;
  box-sizing: border-box;
}
#cart-drawer .kb-cart-drawer__panel{ height: 100%; max-height: 100%; min-height: 0; overflow: hidden; box-sizing: border-box;}
#cart-drawer .kb-cart-drawer__header{ position: relative; z-index: 1;}
#cart-drawer .kb-cart-drawer__close{ display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 2.75rem; height: 2.75rem; min-width: 44px; min-height: 44px; margin: 0; padding: 0; border: 1px solid rgb(var(--foreground) / 0.12); border-radius: 0.65rem; background: rgb(var(--foreground) / 0.06); color: rgb(var(--foreground) / 0.78); cursor: pointer; -webkit-tap-highlight-color: transparent; transition: color 0.15s ease,background 0.15s ease,border-color 0.15s ease;}
#cart-drawer .kb-cart-drawer__close:hover,#cart-drawer .kb-cart-drawer__close:focus-visible{ color: rgb(var(--foreground)); background: rgb(var(--foreground) / 0.12); border-color: rgb(var(--foreground) / 0.22); outline: none;}
#cart-drawer .kb-cart-drawer__close:focus-visible{ box-shadow: 0 0 0 2px hsl(var(--primary) / 0.55);}
#cart-drawer .kb-cart-drawer__close-icon{ width: 1.25rem; height: 1.25rem; display: block; pointer-events: none;}
#cart-drawer .kb-cart-drawer__close-fallback{ display: none; font-size: 1.5rem; line-height: 1; font-weight: 600; pointer-events: none;}
#cart-drawer .kb-cart-drawer__close:not(:has(svg)) .kb-cart-drawer__close-fallback{ display: block;}
#cart-drawer .kb-cart-drawer__body{ -webkit-overflow-scrolling: touch;}
#cart-drawer .kb-cart-drawer__footer{ position: relative; z-index: 1;}
/* Desktop body zoom:0.9 shrinks fixed overlays — cancel so drawer docks edge-to-edge */
@media (min-width: 1280px) and (hover: hover) and (pointer: fine){
  #cart-drawer,#cart-drawer.kb-cart-drawer{ zoom: calc(1 / 0.9);}
}
/* mobile-black-screen-fix — closed overlays must stay display:none (flex+hidden fight + fade-out = tela preta) */
#cart-drawer.hidden,.dialog.hidden{ display: none !important; animation: none !important; pointer-events: none !important; visibility: hidden !important;}
#cart-drawer[data-state="open"]{ animation: fade-in 0.4s forwards;}
#cart-drawer[data-state="closed"]:not(.hidden){ animation: fade-out 0.4s forwards;}
#cart-drawer[data-state="open"] > div{ animation: slide-in 0.4s forwards;}
#cart-drawer[data-state="closed"]:not(.hidden) > div{ animation: slide-out 0.4s forwards;}
.dialog[data-state="open"]{ animation: fade-in 0.4s forwards;}
.dialog[data-state="closed"]:not(.hidden){ animation: fade-out 0.4s forwards;}
.dialog[data-state="open"] > div{ animation: dialog-in 0.2s forwards;}
.dialog[data-state="closed"]:not(.hidden) > div{ animation: dialog-out 0.2s forwards;}
@keyframes dialog-in{ from{ opacity: 0; scale: 50%;}
to{ opacity: 1; scale: 100%;}
}
@keyframes dialog-out{ from{ opacity: 1; scale: 100%;}
to{ opacity: 0; scale: 50%;}
}
.reveal-fade-up{ opacity: 1; transform: none;}
.reveal-fade-up.visible{ opacity: 1; transform: none;}
.centralcart-content iframe{ aspect-ratio: 16 / 9; border-radius: 0.5rem; width: 100%; height: auto;}
@keyframes loading{ 0%{ left: -50%;}
to{ left: 100%;}
}
/* Donators */
.top-donators-pill::after{ content: ''; position: absolute; top: 0; left: -100%; width: 70%; height: 100%; background: linear-gradient(90deg,transparent,rgba(255,255,255,0.15),transparent); pointer-events: none; transition: left 0.5s ease-in;}
.top-donators-pill:hover::after{ left: 120%; transition: left 0.6s ease-out;}
.detail-dash{ background-image: linear-gradient(to right,rgba(255,255,255,0.1) 50%,rgb(var(--foreground) / 0) 0%); background-position: center bottom; background-size: 16px; background-repeat: repeat-x; width: 100%; height: 1px;}
/* Coverflow: focus without card-scale (scale blurs 1px borders / cracks corners) */
.kb-coverflow-shell{ position: relative; display: flex; align-items: center; gap: 0.35rem; width: 100%; overflow: visible;}
.kb-coverflow-track{
  --kb-cf-side-y: 6px;
  --kb-cf-side-opacity: 0.74;
  --kb-cf-center-y: -6px;
  --kb-cf-img-side: 1;
  --kb-cf-img-center: 1;
}
@media (max-width: 639px){
  .kb-coverflow-track{
    --kb-cf-side-opacity: 0.82;
    --kb-cf-side-y: 4px;
    --kb-cf-center-y: -4px;
    --kb-cf-img-center: 1;
  }
  .kb-coverflow-track > .package-carousel-slide .package-card,
  .kb-coverflow-track > .package-carousel-slide .package-card__image{ transition-duration: 0.2s;}
}
.kb-coverflow-track > .package-carousel-slide,
.kb-coverflow-track > .kb-coverflow-slide:not(.keen-slider__slide){
  transform: none !important;
  opacity: 1;
  filter: none !important;
  z-index: 1;
}
.kb-coverflow-track > .package-carousel-slide.is-snap-center{ z-index: 5;}
.kb-coverflow-track > .package-carousel-slide .package-card{
  transform: translate3d(0, var(--kb-cf-side-y), 0);
  opacity: var(--kb-cf-side-opacity);
  transform-origin: center center;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transition:
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.35s ease;
}
/* Sem animação na 1ª elevação — evita “torção” no reload */
.kb-coverflow-shell.kb-cf-boot .kb-coverflow-track > .package-carousel-slide .package-card,
.kb-coverflow-shell.kb-cf-boot .kb-coverflow-track > .package-carousel-slide .package-card__image,
.kb-coverflow-shell:not([data-kb-cf-ready]) .kb-coverflow-track > .package-carousel-slide .package-card,
.kb-coverflow-shell:not([data-kb-cf-ready]) .kb-coverflow-track > .package-carousel-slide .package-card__image{
  transition: none !important;
}
.kb-coverflow-track > .package-carousel-slide .package-card__image{
  transform: scale(var(--kb-cf-img-side));
  transform-origin: center center;
  filter: brightness(0.88) saturate(0.9);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transition:
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.3s ease;
}
.kb-coverflow-track > .package-carousel-slide.is-snap-center .package-card{
  transform: translate3d(0, var(--kb-cf-center-y), 0);
  opacity: 1;
  overflow: hidden;
  --kb-card-stroke: rgb(255 255 255 / 0.14);
  box-shadow:
    0 0 0 var(--kb-hairline) var(--kb-card-stroke),
    0 14px 28px rgb(0 0 0 / 0.4);
}
.kb-coverflow-track > .package-carousel-slide.is-snap-center .package-card__image{
  transform: scale(var(--kb-cf-img-center));
  filter: brightness(1.05) saturate(1.06);
}
.kb-coverflow-track > .package-carousel-slide:not(.is-snap-center) .package-card:hover{
  transform: translate3d(0, var(--kb-cf-side-y), 0);
}
.kb-coverflow-track > .package-carousel-slide.is-snap-center .package-card:hover{
  transform: translate3d(0, var(--kb-cf-center-y), 0);
  --kb-card-stroke: rgb(255 255 255 / 0.18);
  box-shadow:
    0 0 0 var(--kb-hairline) var(--kb-card-stroke),
    0 16px 32px rgb(0 0 0 / 0.45);
}
.kb-coverflow-shell.is-fitting .kb-coverflow-track > .package-carousel-slide .package-card{
  transform: none !important;
  opacity: 1 !important;
  overflow: hidden;
  --kb-card-stroke: rgb(255 255 255 / 0.08);
  box-shadow: 0 0 0 var(--kb-hairline) var(--kb-card-stroke);
}
.kb-coverflow-shell.is-fitting .kb-coverflow-track > .package-carousel-slide .package-card__image{
  transform: none !important;
  filter: none !important;
}
/* Feedbacks — continuous marquee (no snap / no per-card settle) */
/* reviews-glow-fade — soft neon bloom; fades into page bg (no hard top/bottom edges) */
/* reviews-no-product-badge — product name pill removed from review cards */
/* reviews-dwell-bigger — bigger Avaliações cards/title */
/* reviews-smooth-pass — (superseded) dwell + ease slide */
/* reviews-cute-cards — rounder neon cards; dense cute scale (no product badge) */
/* reviews-slow-continuous — continuous left scroll (pause hover/drag) */
/* reviews-continuous-fix — subpixel scroll carry; snap off; seamless loop */
/* reviews-faster-no-dwell — ~115px/s continuous; no per-card dwell/settle pause */
/* reviews-even-faster — ~190px/s continuous; still readable */
/* reviews-fast-big — ~250px/s; no coverflow settle; section ~20% bigger as a set */
/* reviews-slow-constant — ~55px/s constant left marquee; subpixel carry; no dwell */
/* carousel-infinite-fade — true continuous ~68px/s; float marqueePos; L/R edge fog */
/* reviews-dark-navy — match Kingdom --background azulzona; soft cyan accents */
.home-feedbacks{ position: relative; padding: 3.5rem 0 2.85rem; overflow: visible; border: none; box-shadow: none; background: transparent;}
.home-feedbacks::before{ content: ''; position: absolute; left: 50%; top: 48%; width: min(140%,78rem); height: min(42rem,92vw); transform: translate(-50%,-50%); border: none; border-radius: 50%; pointer-events: none; z-index: 0; background:
  radial-gradient(ellipse 72% 58% at 50% 48%,hsl(var(--primary) / 0.055) 0%,hsl(var(--primary) / 0.022) 32%,rgb(var(--background) / 0.35) 52%,transparent 74%);
  filter: none; opacity: 0.4;
  -webkit-mask-image: radial-gradient(ellipse 78% 68% at 50% 50%,#000 0%,#000 42%,rgb(0 0 0 / 0.55) 62%,rgb(0 0 0 / 0.18) 78%,transparent 100%);
  mask-image: radial-gradient(ellipse 78% 68% at 50% 50%,#000 0%,#000 42%,rgb(0 0 0 / 0.55) 62%,rgb(0 0 0 / 0.18) 78%,transparent 100%);}
/* reviews-no-title-cut — zip: no vertical fade band through the title */
.home-feedbacks::after{ display: none !important; content: none !important;}
.home-feedbacks__inner{ position: relative; z-index: 1;}
/* feedbacks-title-rename — no side stars; emoji in title */
.home-feedbacks__head{ display: flex; align-items: center; justify-content: center; margin-bottom: 1.55rem; text-align: center;}
.home-feedbacks__title{ margin: 0; font-size: clamp(1.55rem,4.6vw,2.55rem); font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: #fff; text-shadow: 0 0 14px hsl(var(--primary) / 0.22);}
.home-feedbacks-carousel{ overflow: visible; width: 100%;}
/* NO scroll-snap — snap was fighting marquee and felt like per-card pause */
.home-feedbacks-track{ display: flex; flex: 1 1 auto; flex-wrap: nowrap; justify-content: flex-start; gap: 1.05rem; width: 100%; min-width: 0; overflow-x: auto; overflow-y: hidden; scroll-snap-type: none !important; scroll-padding-inline: 0; scroll-behavior: auto !important; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding: 3.35rem 8vw 2.4rem; cursor: grab; touch-action: pan-x pan-y; overflow-anchor: none;
  -webkit-mask-image: linear-gradient(to right,transparent 0%,#000 10%,#000 90%,transparent 100%);
  mask-image: linear-gradient(to right,transparent 0%,#000 10%,#000 90%,transparent 100%);}
.home-feedbacks-track::-webkit-scrollbar{ display: none;}
.home-feedbacks-carousel.has-overflow .home-feedbacks-track{ justify-content: flex-start;}
/* Few reviews (is-fitting / no marquee): center cards, drop marquee padding + edge fog */
/* feedback-avatar-clip — overflow visible + top room so half-outside avatar isn't flat-clipped */
.home-feedbacks-carousel.is-fitting .home-feedbacks-track{ justify-content: center !important; scroll-snap-type: none !important; cursor: default; overflow: visible; padding: 2.85rem 1rem 0.85rem !important; scroll-padding-inline: 0 !important;
  -webkit-mask-image: none; mask-image: none;}
.home-feedbacks-carousel.is-fitting{ min-height: 0; overflow: visible;}
.home-feedbacks:has(.home-feedbacks-carousel.is-fitting){ padding-top: 2.25rem; padding-bottom: 1.65rem;}
.home-feedbacks:has(.home-feedbacks-carousel.is-fitting)::before{ top: 58%; width: min(92%,36rem); height: min(22rem,70vw); opacity: 0.28;}
.home-feedbacks-carousel.is-fitting .home-feedback-card{ margin-top: 2.75rem;}
.home-feedbacks-track.is-dragging{ cursor: grabbing; scroll-behavior: auto !important; scroll-snap-type: none !important; user-select: none; touch-action: pan-x;}
.home-feedbacks-track.is-autoplay-continuous{ scroll-snap-type: none !important; scroll-behavior: auto !important;}
.home-feedbacks-track.is-autoplay-continuous .home-feedback-slide{ scroll-snap-align: none; scroll-snap-stop: normal;}
.home-feedbacks-track.is-autoplay-continuous .home-feedback-card{ transition: none;}
[data-continuous-marquee] .home-feedbacks-track{ scroll-snap-type: none !important; scroll-behavior: auto !important;}
[data-continuous-marquee] .home-feedback-slide{ scroll-snap-align: none !important; scroll-snap-stop: normal;}
/* Dense cute footprint — slightly thicker cards (carousel-infinite-fade) */
/* feedback-equal-height — fixed card height; quote flex + line-clamp */
.home-feedback-slide{ flex: 0 0 82vw; width: 82vw; max-width: 21rem; scroll-snap-align: none; scroll-snap-stop: normal; min-width: 0; position: relative; z-index: 1; display: flex; align-items: stretch; overflow: visible; transform: none !important; opacity: 1; filter: none !important;}
.home-feedback-card{ position: relative; display: flex; flex-direction: column; align-items: center; gap: 0.72rem; box-sizing: border-box; width: 100%; height: 16.5rem; min-height: 16.5rem; margin-top: 2rem; padding: 3.2rem 1.5rem 1.65rem; border-radius: 2.25rem; border: 0; background:
  linear-gradient(180deg,rgb(255 255 255 / 0.035) 0%,transparent 42%,rgb(0 0 0 / 0.28) 100%),rgb(var(--background));
  box-shadow: 0 0 0 var(--kb-hairline) hsl(var(--primary) / 0.28),0 0 16px -12px hsl(var(--primary) / 0.12),0 14px 28px rgb(0 0 0 / 0.5);
  transform: none; opacity: 1; transform-origin: center center; transition: box-shadow 0.2s ease;}
.home-feedbacks-carousel.is-fitting .home-feedback-card{ transform: none !important; opacity: 1 !important;}
.home-feedback-card__avatar{ position: absolute; top: 0; left: 50%; transform: translate(-50%,-50%); width: 4.55rem; height: 4.55rem; border-radius: 9999px; display: grid; place-items: center; background: linear-gradient(160deg,hsl(var(--primary) / 0.95) 0%,hsl(var(--primary) / 0.72) 48%,hsl(var(--primary) / 0.55) 100%); border: 2.5px solid hsl(var(--primary) / 0.5); box-shadow: 0 0 0 3px rgb(var(--background) / 0.92),0 0 12px 1px hsl(var(--primary) / 0.28),0 6px 14px rgb(0 0 0 / 0.45); color: #041018;}
.home-feedback-card__avatar-icon{ display: flex; line-height: 0;}
.home-feedback-card__avatar-icon svg{ width: 2.2rem; height: 2.2rem;}
.home-feedback-card__name{ flex: 0 0 auto; margin: 0; max-width: 100%; font-size: 1.32rem; font-weight: 800; color: #fff; text-align: center; line-height: 1.2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; letter-spacing: 0.01em;}
.home-feedback-card__quote{ flex: 1 1 auto; min-height: 0; margin: 0.25rem 0 0; padding: 0 0.2rem; font-size: 1.1rem; line-height: 1.45; text-align: center; color: rgb(255 255 255 / 0.92); display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;}
.home-feedback-card__stars{ flex: 0 0 auto; display: flex; align-items: center; justify-content: center; gap: 0.24rem; margin-top: auto; padding-top: 0.45rem;}
.home-feedback-card__star{ width: 1.4rem; height: 1.4rem; fill: rgb(255 255 255 / 0.16); transition: transform 0.2s ease;}
.home-feedback-card__star:nth-child(3){ width: 1.65rem; height: 1.65rem;}
.home-feedback-card__star.is-on{ fill: #ffd000;}
@media (min-width: 640px){ .home-feedback-card__star.is-on{ filter: drop-shadow(0 0 4px rgb(255 210 40 / 0.4));}
}
@media (min-width: 640px){ .home-feedbacks{ padding: 4.25rem 0 3.25rem;}
.home-feedbacks__head{ margin-bottom: 1.75rem;}
.home-feedbacks-track{ gap: 1.3rem; padding-inline: 2rem; padding-block: 3.65rem 2.55rem;}
.home-feedback-slide{ flex: 0 0 min(23rem,40vw); width: min(23rem,40vw); max-width: none;}
.home-feedback-card{ height: 17.25rem; min-height: 17.25rem; padding: 3.4rem 1.65rem 1.75rem; border-radius: 2.4rem; gap: 0.78rem;}
.home-feedback-card__avatar{ width: 4.9rem; height: 4.9rem;}
.home-feedback-card__avatar-icon svg{ width: 2.35rem; height: 2.35rem;}
.home-feedback-card__name{ font-size: 1.38rem;}
.home-feedback-card__quote{ font-size: 1.14rem; -webkit-line-clamp: 4;}
.home-feedback-card__star{ width: 1.45rem; height: 1.45rem;}
.home-feedback-card__star:nth-child(3){ width: 1.7rem; height: 1.7rem;}
}
@media (min-width: 1024px){ .home-feedback-slide{ flex: 0 0 min(24.5rem,26vw); width: min(24.5rem,26vw);}
.home-feedback-card{ height: 17.75rem; min-height: 17.75rem; padding: 3.55rem 1.75rem 1.85rem; border-radius: 2.5rem;}
.home-feedback-card__avatar{ width: 5.15rem; height: 5.15rem;}
.home-feedback-card__name{ font-size: 1.42rem;}
.home-feedback-card__quote{ font-size: 1.18rem;}
}
@media (prefers-reduced-motion: reduce){ .kb-coverflow-track > .package-carousel-slide .package-card,.home-feedback-card{ transition-duration: 0.01ms;}
}
/* Sidebar cats */
.custom-scrollbar::-webkit-scrollbar{ width: 3px; height: 3px;}
.custom-scrollbar::-webkit-scrollbar-track{ background: transparent;}
.custom-scrollbar::-webkit-scrollbar-thumb{ background: hsl(var(--primary)); border-radius: 0.25rem;}
.cat-dropdown{ transition: all 0.2s cubic-bezier(0.4,0,0.2,1); transform-origin: top;}
.cat-dropdown:not(.hidden){ animation: slideDown 0.2s cubic-bezier(0.4,0,0.2,1);}
@keyframes slideDown{ from{ opacity: 0; transform: scaleY(0);}
to{ opacity: 1; transform: scaleY(1);}
}
#mobile-categories-dropdown:not(.hidden){ animation: slideInMobile 0.2s cubic-bezier(0.4,0,0.2,1);}
@keyframes slideInMobile{ from{ opacity: 0; transform: translateY(-10px);}
to{ opacity: 1; transform: translateY(0);}
}
.mobile-subcategories:not(.hidden){ animation: slideInSub 0.2s cubic-bezier(0.4,0,0.2,1);}
@keyframes slideInSub{ from{ opacity: 0; transform: translateX(-10px);}
to{ opacity: 1; transform: translateX(0);}
}
#package-gallery-slider:not(.is-ready) .keen-slider__slide{ min-width: 100%;}
.scrollbar-hide::-webkit-scrollbar{ display: none;}
.scrollbar-hide{ -ms-overflow-style: none; scrollbar-width: none;}
.package-card{ --kb-card-stroke: rgb(255 255 255 / 0.08); display: flex; flex-direction: column; height: 100%; overflow: hidden; border-radius: 0.75rem; border: 0; background: rgb(6 10 18 / 0.96); box-shadow: 0 0 0 var(--kb-hairline) var(--kb-card-stroke); transition: box-shadow 0.2s ease; pointer-events: auto; cursor: pointer; text-decoration: none; color: inherit; isolation: isolate; -webkit-font-smoothing: antialiased;}
.package-card:hover{ --kb-card-stroke: rgb(255 255 255 / 0.14); box-shadow: 0 0 0 var(--kb-hairline) var(--kb-card-stroke), 0 12px 28px -16px rgb(0 0 0 / 0.55);}
.package-card--similar:hover{ transform: none;}
.package-card__media{ position: relative; overflow: hidden; flex-shrink: 0; border-radius: 0.75rem 0.75rem 0 0; background: rgb(var(--foreground) / 0.06);}
.package-card__image{ display: block; width: 100%; aspect-ratio: 2 / 3; object-fit: cover; object-position: center top; transition: transform 0.25s ease;}
.package-card--similar:hover .package-card__image{ transform: scale(1.03);}
.package-card__image--soldout{ opacity: 0.72;}
.package-card__badge{ position: absolute; top: 0.45rem; left: 0.45rem; z-index: 2; display: inline-flex; align-items: center; justify-content: center; min-height: 1.35rem; padding: 0.15rem 0.45rem; border-radius: 0.35rem; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.01em; line-height: 1; color: #fff; background: hsl(var(--primary)); border: 0; box-shadow: 0 2px 10px hsl(var(--primary) / 0.35); white-space: nowrap; pointer-events: none;}
.package-card__badge[hidden],.package-card__badge.is-empty{ display: none !important;}
.package-card__soldout{ position: absolute; top: 50%; left: 50%; z-index: 2; transform: translate(-50%,-50%); margin: 0; font-size: 0.75rem; font-weight: 700; color: #fff; white-space: nowrap; text-shadow: 0 1px 4px rgba(0,0,0,0.6); pointer-events: none;}
@media (min-width: 640px){ .package-card__soldout{ font-size: 0.875rem;}
}
.package-card__body{ display: flex; flex-direction: column; flex: 1 1 auto; justify-content: flex-start; gap: 0.3rem; padding: 0.5rem 0.65rem 0.55rem; background: rgb(8 12 20 / 0.98); border-radius: 0 0 0.75rem 0.75rem; min-width: 0;}
.package-card__title{ margin: 0; font-size: 0.9rem; font-weight: 750; line-height: 1.25; min-height: calc(1.25em * 2); color: #fff; text-align: left; text-transform: uppercase; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; white-space: normal; overflow-wrap: anywhere; -webkit-font-smoothing: antialiased;}
@media (min-width: 640px){ .package-card__title{ font-size: 0.98rem;}
}
.package-card__divider{ height: 1px; width: 100%; background: rgb(255 255 255 / 0.1); flex-shrink: 0; margin: 0.05rem 0;}
.package-card__footer{ display: flex; align-items: flex-end; justify-content: space-between; gap: 0.45rem; margin-top: auto; min-height: 2.65rem;}
.package-card__prices{ min-width: 0; display: flex; flex-direction: column; justify-content: flex-end; gap: 0.12rem; min-height: 2.55rem;}
.package-card__compare{ margin: 0; font-size: 0.75rem; line-height: 1.1; min-height: 1.1em; text-decoration: line-through; color: rgb(255 255 255 / 0.42); order: -1;}
.package-card__compare[hidden],.package-card__compare.is-empty{ visibility: hidden !important; display: block !important; height: 1.1em; min-height: 1.1em; overflow: hidden; pointer-events: none;}
@media (min-width: 640px){ .package-card__compare{ font-size: 0.8125rem;}
}
.package-card__price{ margin: 0; font-size: 1.18rem; font-weight: 800; line-height: 1.1; color: hsl(var(--primary)); letter-spacing: -0.02em; overflow-wrap: anywhere;}
@media (min-width: 640px){ .package-card__price{ font-size: 1.38rem;}
.package-card__footer{ min-height: 2.9rem;}
.package-card__prices{ min-height: 2.8rem;}
}
/* Preço ainda carregando: barra shimmer no lugar de reticências */
.package-card__price-skel{ display: inline-block; width: 5.1rem; max-width: 100%; height: 1.05em; border-radius: 0.35rem; vertical-align: -0.14em; color: transparent; background-color: rgb(255 255 255 / 0.09); background-image: linear-gradient(90deg, rgb(255 255 255 / 0) 0%, rgb(255 255 255 / 0.13) 50%, rgb(255 255 255 / 0) 100%); background-size: 220% 100%; background-repeat: no-repeat; animation: kb-price-skel 1.25s linear infinite;}
@media (min-width: 640px){ .package-card__price-skel{ width: 6rem;}
}
@keyframes kb-price-skel{ 0%{ background-position: 220% 0;} 100%{ background-position: -120% 0;}
}
@media (prefers-reduced-motion: reduce){ .package-card__price-skel{ animation: none;}
}
.package-card__platform{ flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; width: 1.65rem; height: 1.65rem; color: #fff; opacity: 0.92;}
@media (min-width: 640px){ .package-card__platform{ width: 1.9rem; height: 1.9rem;}
}
.package-card__platform-icon{ display: block; width: 100%; height: 100%; object-fit: contain;}
.package-card__pix{ display: none !important;}

/* Bottom nav — floating HUD (inset + full radius, same glass language as top nav) */
.kb-bottom-nav{
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  top: auto !important;
  z-index: 55;
  display: none !important;
  justify-content: center;
  align-items: flex-end;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0;
  padding: 0 0.7rem calc(0.55rem + env(safe-area-inset-bottom, 0px));
  box-sizing: border-box;
  pointer-events: none;
  overflow: visible;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
@media (max-width: 767px) {
  .kb-bottom-nav {
    display: flex !important;
  }
}
.kb-bottom-nav__bar{
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr) 3.5rem minmax(0,1fr) minmax(0,1fr);
  align-items: center;
  gap: 0.1rem;
  width: 100% !important;
  max-width: min(100%, 28.5rem);
  min-width: 0;
  min-height: 3.85rem;
  padding: 0.45rem 0.5rem 0.5rem;
  border-radius: 1.25rem;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(12, 20, 34, 0.88);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 8px 24px rgb(0 0 0 / 0.28),
    0 0 0 1px hsl(var(--primary) / 0.12),
    0 0 22px -6px hsl(var(--primary) / 0.35);
  backdrop-filter: blur(8px) saturate(1.15);
  -webkit-backdrop-filter: blur(8px) saturate(1.15);
  pointer-events: auto;
  box-sizing: border-box;
  overflow: visible;
}
.kb-bottom-nav__item{ display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.18rem; min-width: 0; min-height: 2.75rem; padding: 0.25rem 0.1rem; border: 0; background: transparent; color: rgb(var(--foreground) / 0.88); text-decoration: none; cursor: pointer; -webkit-tap-highlight-color: transparent; transition: color 0.2s ease,transform 0.2s ease; position: relative;}
.kb-bottom-nav__item:hover,.kb-bottom-nav__item:focus-visible{ color: hsl(var(--primary)); outline: none;}
.kb-bottom-nav__item .cart-badge,
.kb-nav-cart .cart-badge,
.open-cart .cart-badge{
  position: absolute;
  top: 0.05rem;
  right: max(0.15rem, 12%);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.05rem;
  height: 1.05rem;
  padding: 0 0.22rem;
  border-radius: 999px;
  border: 1.5px solid rgb(var(--background));
  background: hsl(var(--primary));
  color: #041018;
  font-size: 0.58rem;
  font-weight: 900;
  line-height: 1;
  pointer-events: none;
}
.kb-nav-cart .cart-badge{
  top: -0.35rem;
  right: -0.35rem;
  min-width: 1.15rem;
  height: 1.15rem;
  font-size: 0.62rem;
}
/* Footer cart — badge inline after label (no overlap) */
.kb-footer__link.open-cart{
  gap: 0.45rem;
}
.kb-footer__link.open-cart .cart-badge{
  position: static;
  top: auto;
  right: auto;
  min-width: 1.2rem;
  height: 1.2rem;
  padding: 0 0.3rem;
  border: 1px solid hsl(var(--primary) / 0.45);
  font-size: 0.68rem;
  line-height: 1.2;
}
.kb-bottom-nav__icon{ width: 1.15rem; height: 1.15rem; flex-shrink: 0; stroke-width: 2;}
.kb-bottom-nav__icon--discord{
  display: block;
  background-color: currentColor;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}
.kb-bottom-nav__label{ font-size: 0.5rem; font-weight: 700; letter-spacing: 0.02em; text-transform: uppercase; line-height: 1.15; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; text-align: center;}
.kb-bottom-nav__center-slot{ width: 100%; height: 1px;}
.kb-bottom-nav__center{ position: absolute; left: 50%; bottom: calc(0.55rem + env(safe-area-inset-bottom,0px) + 0.42rem); transform: translateX(-50%) translateZ(0); z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 0.18rem; width: 4rem; text-decoration: none; pointer-events: auto;}
.kb-bottom-nav__center-btn{ display: flex; align-items: center; justify-content: center; width: 3.35rem; height: 3.35rem; border-radius: 9999px; border: 2px solid hsl(var(--primary) / 0.85); background: radial-gradient(circle at 35% 30%,hsl(var(--primary) / 0.95),hsl(var(--primary) / 0.65)); box-shadow: 0 0 0 3px rgba(12, 20, 34, 0.88),0 0 18px hsl(var(--primary) / 0.55),0 8px 18px rgba(0,0,0,0.4),inset 0 1px 0 rgb(var(--foreground) / 0.25); color: #fff; overflow: hidden; transition: transform 0.2s ease,box-shadow 0.2s ease;}
.kb-bottom-nav__center-icon{ width: 1.35rem; height: 1.35rem; stroke-width: 2.25;}
.kb-bottom-nav__center-avatar{ width: 100%; height: 100%; object-fit: cover;}
.kb-bottom-nav__center:hover .kb-bottom-nav__center-btn,.kb-bottom-nav__center:focus-visible .kb-bottom-nav__center-btn{ transform: translateY(-2px) scale(1.04); box-shadow: 0 0 0 3px rgba(12, 20, 34, 0.88),0 0 26px hsl(var(--primary) / 0.7),0 10px 20px rgba(0,0,0,0.45),inset 0 1px 0 rgb(var(--foreground) / 0.25);}
.kb-bottom-nav__center:focus-visible{ outline: none;}
.kb-bottom-nav__center-label{ font-size: 0.5rem; font-weight: 700; letter-spacing: 0.02em; text-transform: uppercase; color: rgb(var(--foreground) / 0.95); line-height: 1;}
@media (min-width: 768px){
  .kb-bottom-nav{
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
  .kb-comunidade-sheet{ display: none !important;}
}
@media (max-width: 767px){
  body:has(.kb-bottom-nav){ padding-bottom: calc(6.35rem + env(safe-area-inset-bottom,0px));}
  body:has(.kb-bottom-nav) main.flex-1{ padding-bottom: 0.25rem;}
}

/* Comunidade bottom sheet — dark/gold kingdom */
.kb-comunidade-sheet{ position: fixed; inset: 0; z-index: 60; display: flex; align-items: flex-end; justify-content: center; pointer-events: none; opacity: 0; visibility: hidden; transition: opacity 0.22s ease,visibility 0.22s ease;}
.kb-comunidade-sheet.is-open{ pointer-events: auto; opacity: 1; visibility: visible;}
.kb-comunidade-sheet[hidden]{ display: none;}
.kb-comunidade-sheet.is-open[hidden]{ display: flex;}
.kb-comunidade-sheet__backdrop{ position: absolute; inset: 0; border: 0; padding: 0; margin: 0; background: rgba(0,0,0,0.62); cursor: pointer; -webkit-tap-highlight-color: transparent;}
.kb-comunidade-sheet__panel{ position: relative; z-index: 1; width: 100%; max-width: none; margin: 0; padding: 0.55rem 1.1rem calc(1.25rem + env(safe-area-inset-bottom,0px)); border-radius: 1.45rem 1.45rem 0 0; border: 1px solid hsl(var(--primary) / 0.42); border-bottom: 0; background: linear-gradient(180deg,hsl(var(--primary) / 0.2) 0%,rgb(var(--background) / 0.97) 38%,rgb(var(--background) / 0.99) 100%); box-shadow: 0 -12px 36px rgba(0,0,0,0.45),0 0 28px -8px hsl(var(--primary) / 0.4),inset 0 1px 0 rgb(var(--foreground) / 0.08); transform: translateY(110%); transition: transform 0.28s cubic-bezier(0.22,1,0.36,1);}
.kb-comunidade-sheet.is-open .kb-comunidade-sheet__panel{ transform: translateY(0);}
.kb-comunidade-sheet__handle{ width: 2.5rem; height: 0.28rem; margin: 0.15rem auto 0.85rem; border-radius: 999px; background: rgb(var(--foreground) / 0.28);}
.kb-comunidade-sheet__head{ position: relative; text-align: center; padding: 0 2.5rem 1rem;}
.kb-comunidade-sheet__title{ margin: 0; font-size: 1.05rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: rgb(var(--foreground)); text-shadow: 0 0 16px hsl(var(--primary) / 0.35);}
.kb-comunidade-sheet__subtitle{ margin: 0.35rem 0 0; font-size: 0.8rem; font-weight: 500; color: rgb(var(--foreground) / 0.65);}
.kb-comunidade-sheet__close{ position: absolute; top: -0.15rem; right: 0; display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border: 1px solid hsl(var(--primary) / 0.28); border-radius: 0.75rem; background: rgb(var(--background) / 0.55); color: rgb(var(--foreground) / 0.88); cursor: pointer; -webkit-tap-highlight-color: transparent;}
.kb-comunidade-sheet__close:hover,.kb-comunidade-sheet__close:focus-visible{ color: hsl(var(--primary)); border-color: hsl(var(--primary) / 0.55); outline: none;}
.kb-comunidade-sheet__close-icon{ width: 1.15rem; height: 1.15rem; stroke-width: 2.25;}
.kb-comunidade-sheet__grid{ display: grid; grid-template-columns: repeat(auto-fit,minmax(4.5rem,1fr)); gap: 0.65rem; padding-bottom: 0.35rem;}
.kb-comunidade-sheet__social{ display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.45rem; min-height: 4.5rem; padding: 0.7rem 0.4rem; border-radius: 0.9rem; border: 1px solid hsl(var(--primary) / 0.28); background: rgb(var(--background) / 0.55); color: hsl(var(--primary)); text-decoration: none; -webkit-tap-highlight-color: transparent; transition: background 0.2s ease,border-color 0.2s ease,transform 0.2s ease;}
.kb-comunidade-sheet__social:hover,.kb-comunidade-sheet__social:focus-visible{ background: hsl(var(--primary) / 0.14); border-color: hsl(var(--primary) / 0.55); transform: translateY(-1px); outline: none;}
.kb-comunidade-sheet__social-icon{ display: block; width: 1.35rem; height: 1.35rem; background-color: hsl(var(--primary)); mask-position: center; mask-repeat: no-repeat; mask-size: contain; -webkit-mask-position: center; -webkit-mask-repeat: no-repeat; -webkit-mask-size: contain;}
.kb-comunidade-sheet__social-label{ font-size: 0.65rem; font-weight: 700; letter-spacing: 0.02em; text-transform: uppercase; color: rgb(var(--foreground) / 0.88); line-height: 1.2; text-align: center;}
/* Footer — solid (no neon/glow blobs) */
/* footer-v2 — brand | links | help; no CentralCart credit */
.kb-footer-wrap{ margin-top: 2.5rem; padding: 0;}
.kb-footer{ position: relative; overflow: hidden; border-radius: 1.5rem 1.5rem 0 0; background: linear-gradient(180deg, rgb(8 12 20) 0%, rgb(4 8 14) 100%); border-top: 1px solid hsl(var(--primary) / 0.28); z-index: 10;}
.kb-footer__glow{ display: none !important;}
.kb-footer__main{ position: relative; z-index: 1; padding-top: 2.5rem; padding-bottom: 2rem;}
.kb-footer__top{ display: grid; grid-template-columns: 1fr; gap: 1.75rem 1.5rem; align-items: start; text-align: left;}
@media (min-width: 768px){
  .kb-footer__top{ grid-template-columns: 1.15fr 1.6fr; gap: 2rem 2rem;}
}
@media (min-width: 1100px){
  .kb-footer{ border-radius: 1.75rem 1.75rem 0 0;}
  .kb-footer__top{ grid-template-columns: 1.2fr 1.7fr 0.95fr; gap: 2rem 2.25rem;}
  .kb-footer__main{ padding-top: 2.85rem; padding-bottom: 2.25rem;}
}
.kb-footer__brand{ min-width: 0;}
.kb-footer__logo-link{ display: inline-flex; align-items: center; text-decoration: none; margin-bottom: 0.85rem;}
.kb-footer__logo{ display: block; height: 3.35rem; width: auto; max-width: 11rem; object-fit: contain; object-position: left center;}
@media (min-width: 1100px){ .kb-footer__logo{ height: 3.85rem; max-width: 12.5rem;} }
.kb-footer__store-name{ font-size: 1.35rem; font-weight: 800; letter-spacing: 0.02em; color: rgb(var(--foreground));}
.kb-footer__tagline{ margin: 0 0 1.1rem; max-width: 18rem; font-size: 0.875rem; line-height: 1.5; color: rgb(var(--foreground) / 0.62);}
.kb-footer__socials{ display: flex; flex-wrap: wrap; gap: 0.5rem;}
.kb-footer__social-btn{ display: inline-flex; align-items: center; justify-content: center; width: 2.4rem; height: 2.4rem; border-radius: 0.7rem; border: 1px solid hsl(var(--primary) / 0.3); background: rgb(10 14 22 / 0.85); color: hsl(var(--primary)); transition: background 0.15s ease,border-color 0.15s ease,transform 0.15s ease;}
.kb-footer__social-btn:hover,.kb-footer__social-btn:focus-visible{ background: hsl(var(--primary) / 0.12); border-color: hsl(var(--primary) / 0.55); outline: none; transform: translateY(-1px);}
.kb-footer__social-icon{ width: 1.05rem; height: 1.05rem; background-color: hsl(var(--primary));}
.kb-footer__nav-block{ display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem 1.15rem; min-width: 0;}
@media (min-width: 640px){ .kb-footer__nav-block{ grid-template-columns: repeat(3,minmax(0,1fr));} }
.kb-footer__col{ min-width: 0;}
.kb-footer__title{ margin: 0 0 0.75rem; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: hsl(var(--primary));}
.kb-footer__links{ list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.2rem;}
.kb-footer__link{ display: inline-flex; align-items: center; padding: 0.3rem 0; border: 0; border-radius: 0; background: transparent; font: inherit; font-size: 0.9rem; font-weight: 500; color: rgb(var(--foreground) / 0.78); text-decoration: none; text-align: left; cursor: pointer; transition: color 0.15s ease;}
.kb-footer__link:hover,.kb-footer__link:focus-visible{ color: hsl(var(--primary)); outline: none;}
.kb-footer__link--btn{ width: fit-content;}
.kb-footer__guarantees{ list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.55rem;}
.kb-footer__guarantee{ display: flex; align-items: center; gap: 0.55rem; padding: 0; border: 0; background: transparent; font-size: 0.875rem; font-weight: 600; color: rgb(var(--foreground) / 0.88);}
.kb-footer__guarantee-icon{ width: 1rem; height: 1rem; flex-shrink: 0; color: hsl(var(--primary)); stroke-width: 2.25;}
.kb-footer__help{ min-width: 0; padding: 1.15rem 1.2rem; border-radius: 1rem; border: 1px solid hsl(var(--primary) / 0.28); background: rgb(10 14 22 / 0.9);}
.kb-footer__cta-text{ margin: 0 0 1rem; max-width: 18rem; font-size: 0.875rem; line-height: 1.45; color: rgb(var(--foreground) / 0.7);}
.kb-footer__cta{ display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; min-height: 2.65rem; padding: 0.65rem 1.25rem; border-radius: 0.85rem; border: 1px solid hsl(var(--primary) / 0.65); background: hsl(var(--primary)); color: #041018; font-size: 0.9rem; font-weight: 800; text-decoration: none; transition: transform 0.15s ease,background 0.15s ease,box-shadow 0.15s ease;}
.kb-footer__cta:hover,.kb-footer__cta:focus-visible{ background: hsl(var(--primary) / 0.88); transform: translateY(-1px); outline: none;}
.kb-footer__cta-icon{ width: 1.05rem; height: 1.05rem; stroke-width: 2.4; flex-shrink: 0;}
.kb-footer__cta-wa-icon,
.kb-whatsapp-icon,
.kb-solr__btn-wa-icon,
.pkg-global-support-cta__icon,
.kb-nav-sidebar__icon--wa{
  display: block;
  width: 1.15rem;
  height: 1.15rem;
  flex-shrink: 0;
  fill: currentColor;
}
.kb-footer__cta-row{ display: flex; flex-direction: column; align-items: stretch; gap: 0.55rem; width: 100%;}
.kb-footer__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);
}
.kb-footer__cta--discord:hover,
.kb-footer__cta--discord:focus-visible{
  background: #4752c4;
  border-color: #3c45a5;
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 10px 22px -8px rgb(88 101 242 / 0.85);
}
.kb-footer__cta--whatsapp{
  border: 1px solid rgb(18 140 70);
  background: rgb(25 155 80);
  color: #fff;
  font-weight: 700;
  box-shadow: 0 8px 18px -8px rgb(37 211 102 / 0.45);
}
.kb-footer__cta--whatsapp:hover,
.kb-footer__cta--whatsapp:focus-visible{
  background: rgb(22 168 82);
  border-color: rgb(30 180 90);
  color: #fff;
  transform: translateY(-1px);
}
.kb-footer__cta-discord-icon{
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  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;
}
.kb-footer__bottom{ position: relative; z-index: 1; border-top: 1px solid hsl(var(--primary) / 0.18); background: rgb(3 6 10);}
.kb-footer__bottom-inner{ display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.4rem; padding-top: 0.95rem; padding-bottom: 0.95rem; text-align: center;}
.kb-footer__copy{ margin: 0; font-size: 0.78rem; color: rgb(var(--foreground) / 0.65); line-height: 1.4;}
.kb-footer__copy-extra{ display: block; margin-top: 0.2rem; color: rgb(var(--foreground) / 0.45);}
.kb-footer__credit{ margin: 0; display: inline-flex; align-items: center; justify-content: center; font-size: 0.8rem; color: rgb(var(--foreground) / 0.5);}
.kb-footer__credit-link{ display: inline-flex; align-items: center; gap: 0.3rem; color: hsl(var(--primary)); text-decoration: none; font-weight: 700; transition: color 0.15s ease,opacity 0.15s ease;}
.kb-footer__credit-link--king:hover,.kb-footer__credit-link--king:focus-visible{ color: hsl(var(--primary) / 0.9); outline: none; text-decoration: underline; text-underline-offset: 0.2em;}
.kb-footer__heart{ color: #ff5c7a; font-size: 0.95em; line-height: 1;}
.kb-footer__credit-logo{ display: none;}
.kb-footer__soon{ font-size: 0.78em; font-weight: 700; color: hsl(var(--primary) / 0.85); opacity: 0.9;}

/* Footer mobile */
@media (max-width: 767px){
  .kb-footer-wrap{ margin-top: 1.75rem;}
  .kb-footer{ border-radius: 1.25rem 1.25rem 0 0;}
  .kb-footer__main{ padding-top: 1.5rem; padding-bottom: 1.25rem;}
  .kb-footer__top{ gap: 1.35rem;}
  .kb-footer__brand{ text-align: center; display: flex; flex-direction: column; align-items: center;}
  .kb-footer__logo-link{ margin-bottom: 0.7rem; justify-content: center;}
  .kb-footer__logo{ height: 2.75rem; max-width: 9.5rem; object-position: center;}
  .kb-footer__tagline{ max-width: 20rem; margin: 0 0 0.95rem; font-size: 0.84rem; text-align: center;}
  .kb-footer__socials{ justify-content: center;}
  .kb-footer__social-btn{ width: 2.65rem; height: 2.65rem;}
  .kb-footer__nav-block{ grid-template-columns: 1fr 1fr; gap: 1rem 0.85rem;}
  .kb-footer__trust{ grid-column: 1 / -1;}
  .kb-footer__trust .kb-footer__title{ text-align: center;}
  .kb-footer__guarantees{ flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.55rem 0.85rem;}
  .kb-footer__guarantee{ font-size: 0.8rem;}
  .kb-footer__help{ text-align: center; display: flex; flex-direction: column; align-items: center;}
  .kb-footer__cta-text{ max-width: 22rem; margin: 0 0 0.9rem; text-align: center;}
  .kb-footer__cta{ width: 100%; max-width: 18rem; min-height: 2.85rem;}
  .kb-footer__bottom-inner{ gap: 0.45rem; padding-top: 1rem; padding-bottom: calc(1.15rem + env(safe-area-inset-bottom, 0px)); padding-inline: 0.5rem;}
  body:has(.kb-bottom-nav) .kb-footer__bottom-inner{ padding-bottom: 1.25rem;}
  .kb-footer__copy{ font-size: 0.72rem; max-width: 22rem;}
  .kb-footer__credit{ font-size: 0.78rem;}
}

/* Cart drawer — mobile: above bottom nav; pad for nav height + safe-area (belt if nav briefly visible) */
@media (max-width: 767px){
  #cart-drawer,#cart-drawer.kb-cart-drawer{ z-index: 90;}
  #cart-drawer .kb-cart-drawer__panel{
    /* Matches body:has(.kb-bottom-nav) clearance — keeps totals/CTA above floating dock */
    padding-bottom: calc(6.35rem + env(safe-area-inset-bottom, 0px));
  }
  #cart-drawer .kb-cart-drawer__body{
    padding-bottom: 0.5rem;
  }
  #cart-drawer .kb-cart-drawer__footer{
    padding-bottom: 0.35rem;
  }
  /* Nav stays under cart (z 55 < 90); hide so it cannot intercept taps during open */
  body.cart-open .kb-bottom-nav{
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
  }
}
