:root {
  --bg: #d9dde5;
  --fg: #111827;
  --muted: #5f6673;
  --blue: #3b82f6;
  --card: rgba(255, 255, 255, 0.42);
  --card-strong: rgba(255, 255, 255, 0.56);
  --border: rgba(255, 255, 255, 0.34);
  --shadow: 0 26px 80px rgba(15, 23, 42, 0.16);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  background:
    radial-gradient(circle at top left, rgba(59,130,246,0.14), transparent 34%),
    radial-gradient(circle at top right, rgba(255,255,255,0.48), transparent 32%),
    linear-gradient(180deg, #e3e6ec 0%, #d9dde5 42%, #cfd4dd 100%);
  color: var(--fg);
  font-family: 'Inter', sans-serif;
  overflow-x: hidden;
  top: 0 !important;
}

.font-title {
  font-family: 'Syncopate', sans-serif;
}

/* SEÇÕES MAIS LARGAS */
section:not(.hero-section) {
  width: 100%;
  padding-left: clamp(20px, 5vw, 72px);
  padding-right: clamp(20px, 5vw, 72px);
}

/* GLASS PREMIUM */
.glass,
.product-card,
.category-card,
.card {
  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,0.52),
      rgba(255,255,255,0.22)
    );
  backdrop-filter: blur(28px) saturate(145%);
  -webkit-backdrop-filter: blur(28px) saturate(145%);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
}

.glass {
  border-radius: 28px;
}

/* NAVBAR UM POUCO MAIS ESCURA */
header,
nav {
  background: rgba(170, 178, 192, 0.42);
  backdrop-filter: blur(22px) saturate(140%);
  -webkit-backdrop-filter: blur(22px) saturate(140%);
  border-bottom: 1px solid rgba(255,255,255,0.24);
}

/* NÃO MEXER NO HERO */
.hero-section header,
.hero-section nav {
  background: transparent;
  border-bottom: none;
  box-shadow: none;
}

/* CARDS */
.product-card,
.category-card,
.card {
  border-radius: 30px;
  overflow: hidden;
  min-height: 540px;
  display: flex;
  flex-direction: column;
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.product-card:hover,
.category-card:hover,
.card:hover {
  transform: translateY(-6px);
  box-shadow: 0 36px 100px rgba(15, 23, 42, 0.20);
  border-color: rgba(255,255,255,0.60);
}

/* CARDS CORRIGIDOS */
.product-card,
.category-card,
.card {
  border-radius: 22px;
  overflow: hidden;
  min-height: auto !important;
  height: auto !important;
  display: block !important;
}

/* IMAGENS CORRIGIDAS */
.product-card img,
.category-card img,
.card img,
.product-card-image {
  width: 100%;
  height: 260px !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block;
  padding: 0 !important;
  border-radius: 22px 22px 0 0;
}

/* BONÉS - MOSTRAR MAIS O PRODUTO SEM ESTOURAR */
.caps-section .product-card img,
.caps-section .product-card-image {
  height: 285px !important;
  object-fit: cover !important;
  object-position: center top !important;
}

/* CONTEÚDO DO CARD */
.product-card-content,
.card-content,
.category-card-content {
  padding: 16px !important;
}

/* SOLD OUT */
.sold-out-block {
  min-height: 260px !important;
  height: 260px !important;
  border-radius: 22px 22px 0 0;
}

/* MOBILE */
@media (max-width: 768px) {
  .product-card img,
  .category-card img,
  .card img,
  .product-card-image {
    height: 250px !important;
  }

  .caps-section .product-card img,
  .caps-section .product-card-image {
    height: 270px !important;
  }
}

/* LAYOUT DAS SEÇÕES */
main,
.products-section,
.best-seller-section,
.categories-section,
.shirts-section,
.caps-section,
.food-section,
.footer-section {
  width: 100%;
}

.products-grid,
.product-grid,
.best-seller-grid,
.categories-grid,
.shirts-grid,
.caps-grid,
.food-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: clamp(22px, 3vw, 42px);
}

.best-seller-section,
.products-section,
.categories-section,
.shirts-section,
.caps-section,
.food-section {
  padding-top: clamp(64px, 8vw, 110px);
  padding-bottom: clamp(64px, 8vw, 110px);
}

.best-seller-section > *,
.products-section > *,
.categories-section > *,
.shirts-section > *,
.caps-section > *,
.food-section > * {
  max-width: 1480px;
  margin-left: auto;
  margin-right: auto;
}

/* TEXTOS */
.neon-text {
  text-shadow:
    0 0 8px rgba(255,255,255,0.9),
    0 0 18px rgba(59,130,246,0.9),
    0 0 40px rgba(59,130,246,0.8),
    0 0 80px rgba(59,130,246,0.55);
  animation: titlePulse 4s ease-in-out infinite;
}

@keyframes titlePulse {
  0%,100% {
    transform: scale(1);
    filter: brightness(1);
  }

  50% {
    transform: scale(1.02);
    filter: brightness(1.2);
  }
}

/* HERO PRESERVADO */
.hero-section {
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(circle at center, rgba(59,130,246,0.18), transparent 45%),
    radial-gradient(circle at top, rgba(255,255,255,0.08), transparent 40%),
    #000;
}

.hero-bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 0;
}

.hero-ring,
.hero-line,
.hero-ball {
  position: absolute;
  pointer-events: none;
}

.hero-ring {
  border-radius: 999px;
  border: 1px solid rgba(59,130,246,0.35);
  box-shadow:
    0 0 40px rgba(59,130,246,0.15),
    inset 0 0 80px rgba(59,130,246,0.12);
  animation: pulseRing 6s ease-in-out infinite;
}

.hero-ring-1 {
  width: 520px;
  height: 520px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.hero-ring-2 {
  width: 760px;
  height: 760px;
  left: 52%;
  top: 48%;
  transform: translate(-50%, -50%);
  animation-delay: 1.8s;
}

.hero-ring-3 {
  width: 980px;
  height: 980px;
  left: 48%;
  top: 52%;
  transform: translate(-50%, -50%);
  animation-delay: 3.4s;
}

.hero-line {
  width: 220px;
  height: 220px;
  border-top: 1px solid rgba(255,255,255,0.05);
  border-left: 1px solid rgba(255,255,255,0.05);
  transform: rotate(45deg);
  opacity: 0.45;
  animation: driftLine 14s linear infinite;
}

.hero-line-1 {
  top: 18%;
  left: 15%;
}

.hero-line-2 {
  bottom: 15%;
  right: 14%;
  animation-duration: 18s;
}

.hero-line-3 {
  top: 58%;
  left: 58%;
  width: 140px;
  height: 140px;
  animation-duration: 12s;
}

.hero-ball {
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: radial-gradient(circle at 30% 30%, #fff 0%, #fff 20%, #3b82f6 55%, rgba(59,130,246,0.1) 100%);
  animation: floatBall 10s ease-in-out infinite;
  filter: blur(0.2px);
  box-shadow:
    0 0 12px #fff,
    0 0 25px rgba(59,130,246,0.9),
    0 0 60px rgba(59,130,246,0.7);
}

.hero-ball-1 {
  left: 22%;
  top: 28%;
}

.hero-ball-2 {
  right: 18%;
  bottom: 24%;
  animation-delay: 2.5s;
}

.hero-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      to bottom,
      rgba(255,255,255,0.08),
      transparent 25%
    );
  pointer-events: none;
  z-index: 0;
}

@keyframes pulseRing {
  0%, 100% {
    opacity: 0.22;
    transform: translate(-50%, -50%) scale(0.98);
  }

  50% {
    opacity: 0.42;
    transform: translate(-50%, -50%) scale(1.03);
  }
}

@keyframes driftLine {
  0% {
    transform: rotate(45deg) translateY(0);
    opacity: 0.18;
  }

  50% {
    transform: rotate(45deg) translateY(-12px);
    opacity: 0.34;
  }

  100% {
    transform: rotate(45deg) translateY(0);
    opacity: 0.18;
  }
}

@keyframes floatBall {
  0%, 100% {
    transform: translateY(0px) translateX(0px);
  }

  50% {
    transform: translateY(-16px) translateX(8px);
  }
}

/* FLAGS */
.language-flags {
  display: flex;
  gap: 8px;
  align-items: center;
}

.flag-btn {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.38);
  background: rgba(255,255,255,0.38);
  color: #111827;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  transition: 0.2s ease;
  box-shadow: 0 10px 24px rgba(15,23,42,0.10);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.flag-btn:hover,
.flag-btn.active {
  transform: translateY(-1px);
  background: rgba(59,130,246,0.18);
  border-color: rgba(59,130,246,0.50);
}

/* CART */
.cart-badge {
  position: absolute;
  top: -6px;
  right: -6px;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #3b82f6;
  color: #fff;
  font-size: 10px;
  font-weight: 900;
}

/* BOTÕES DE TAMANHO */
.size-btn {
  border: 1px solid rgba(255,255,255,0.36);
  background: rgba(255,255,255,0.34);
  color: #111827;
  border-radius: 12px;
  padding: 10px 0;
  font-size: 11px;
  font-weight: 800;
  transition: 0.2s ease;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.size-btn:hover,
.size-btn.active {
  background: rgba(59,130,246,0.18);
  border-color: rgba(59,130,246,0.65);
  color: #1d4ed8;
}

.size-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

/* SOLD OUT */
.sold-out-block {
  width: 100%;
  height: 100%;
  min-height: 256px;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.46), rgba(255,255,255,0.20)),
    repeating-linear-gradient(
      -45deg,
      rgba(15,23,42,0.05) 0,
      rgba(15,23,42,0.05) 10px,
      rgba(255,255,255,0.18) 10px,
      rgba(255,255,255,0.18) 20px
    );
  color: rgba(17,24,39,0.72);
  font-weight: 900;
  letter-spacing: 0.18em;
  font-size: 1rem;
  text-transform: uppercase;
}

.sold-out-hero {
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.46), rgba(255,255,255,0.20)),
    repeating-linear-gradient(
      -45deg,
      rgba(15,23,42,0.05) 0,
      rgba(15,23,42,0.05) 12px,
      rgba(255,255,255,0.18) 12px,
      rgba(255,255,255,0.18) 24px
    );
  font-weight: 900;
  letter-spacing: 0.22em;
  font-size: 1.5rem;
  color: rgba(17,24,39,0.78);
}

/* TOAST */
.toast {
  position: fixed;
  left: 50%;
  bottom: 28px;
  transform: translateX(-50%) translateY(20px);
  padding: 12px 16px;
  background: rgba(255,255,255,0.58);
  color: #111827;
  border: 1px solid rgba(255,255,255,0.36);
  border-radius: 999px;
  z-index: 200;
  font-size: 13px;
  font-weight: 700;
  opacity: 0;
  pointer-events: none;
  transition: 0.25s ease;
  box-shadow: 0 20px 50px rgba(15,23,42,0.16);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.toast.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* FOOTER NORMAL, LARGO E PREMIUM */
footer,
.footer {
  width: 100%;
  max-width: 100%;
  margin: 0;
  margin-top: 80px;
  border-radius: 0;
  padding: 70px clamp(24px,5vw,80px);

  background:
    linear-gradient(
      135deg,
      rgba(20,24,32,0.96),
      rgba(10,12,18,0.98)
    );

  border-top: 1px solid rgba(255,255,255,0.08);
  color: #fff;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

footer *,
.footer * {
  color: rgba(255,255,255,0.82);
}

footer h1,
footer h2,
footer h3,
footer h4,
.footer h1,
.footer h2,
.footer h3,
.footer h4 {
  color: #fff;
}

footer a,
.footer a {
  color: #60a5fa;
  transition: 0.2s ease;
}

footer a:hover,
.footer a:hover {
  color: #93c5fd;
}

.footer-grid,
.footer-content {
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(260px,1fr));
  gap: 48px;
}

.footer-bottom {
  width: 100%;
  max-width: 1500px;
  margin: 50px auto 0;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,0.08);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px;
}

/* GOOGLE TRANSLATE */
#google_translate_element {
  position: absolute;
  left: -9999px;
  opacity: 0;
  pointer-events: none;
}

.goog-te-banner-frame.skiptranslate,
body > .skiptranslate {
  display: none !important;
}

.goog-te-gadget,
.goog-logo-link,
.goog-te-gadget span {
  font-size: 0 !important;
  display: none !important;
}

.goog-te-combo {
  opacity: 0 !important;
  width: 1px !important;
  height: 1px !important;
  pointer-events: none !important;
}

/* LUZES DO HERO */
.stadium-light {
  position: absolute;
  width: 500px;
  height: 500px;
  background: radial-gradient(
    circle,
    rgba(59,130,246,0.18),
    transparent 70%
  );
  filter: blur(40px);
  animation: stadiumMove 10s ease-in-out infinite;
}

.stadium-light-1 {
  top: -10%;
  left: -10%;
}

.stadium-light-2 {
  bottom: -20%;
  right: -10%;
  animation-delay: 2s;
}

.stadium-light-3 {
  top: 30%;
  left: 40%;
  animation-delay: 4s;
}

@keyframes stadiumMove {
  0%,100% {
    transform: translateY(0px) scale(1);
  }

  50% {
    transform: translateY(-20px) scale(1.08);
  }
}

/* RESPONSIVO */
@media (max-width: 1024px) {
  .products-grid,
  .product-grid,
  .best-seller-grid,
  .categories-grid,
  .shirts-grid,
  .caps-grid,
  .food-grid {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 24px;
  }

  .product-card,
  .category-card,
  .card {
    min-height: 500px;
  }

  .product-card img,
  .category-card img,
  .card img,
  .product-card-image {
    height: 380px !important;
  }
}

@media (max-width: 768px) {
  section:not(.hero-section) {
    padding-left: 18px;
    padding-right: 18px;
  }

  .hero-ring-1 { width: 360px; height: 360px; }
  .hero-ring-2 { width: 520px; height: 520px; }
  .hero-ring-3 { width: 700px; height: 700px; }

  .flag-btn {
    width: 32px;
    height: 32px;
    font-size: 15px;
  }

  .products-grid,
  .product-grid,
  .best-seller-grid,
  .categories-grid,
  .shirts-grid,
  .caps-grid,
  .food-grid {
    grid-template-columns: 1fr;
  }

  .product-card,
  .category-card,
  .card {
    min-height: 480px;
  }

  .product-card img,
  .category-card img,
  .card img,
  .product-card-image {
    height: 340px !important;
  }

  footer,
  .footer {
    padding: 50px 22px;
  }

  .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
  }
}

footer,
.footer {
  padding-bottom: 30px !important;
  min-height: auto !important;
  height: auto !important;
}

.footer-bottom {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body {
  overflow-x: hidden;
}

/* REMOVE O ESPAÇO GIGANTE FINAL */
footer,
.footer {
  margin-bottom: 0 !important;
  padding-bottom: 25px !important;
}

.footer-section,
.footer-wrapper,
footer section {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  min-height: auto !important;
  height: auto !important;
}

/* REMOVE ESPAÇO DO BODY */
body,
html {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* REMOVE ESPAÇO EXTRA DE CONTAINERS */
main,
section,
div {
  margin-bottom: 0;
}

/* ESSA PARTE AQUI É A QUE TÁ CRIANDO O ESPAÇO */
.stadium-light,
.stadium-light-1,
.stadium-light-2,
.stadium-light-3 {
  display: none !important;
}