:root {
  --cl-accent: #dc2020 !important;
  --cl-accent-rgb: 220, 32, 32 !important;
}

.game-icon-marquee {
  padding: 1.25rem 0;
  background: linear-gradient(to bottom, transparent, rgba(0,0,0,0.15)); /* optional dark fade bottom */
}

/* product mobile layout handled in product-page.njk */


/* Preis */
.fs-5 {
  font-weight: 700 !important;
  font-size: 2rem !important;
  color: #dc2020;
}

/* Buttons */
/* ===== GRADIENT BUTTON (serafimcloud/gradient-button) ===== */
.btn-primary, .btn-outline-primary,
.btn-primary-modern, .product-buy-btn,
.card.product-card .btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 11px;
  padding: 0.6rem 1.4rem;
  font-weight: 700;
  font-size: 0.95rem;
  font-family: inherit;
  color: #fff;
  border: none;
  outline: none;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  transition: opacity 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  /* Gradient background */
  background: linear-gradient(135deg, #dc2020 0%, #b91c1c 40%, #ef4444 100%);
  box-shadow: 0 0 0 1px rgba(220,32,32,0.3), 0 4px 24px rgba(185,28,28,0.35);
  z-index: 0;
}

/* Animated shimmer layer */
.btn-primary::before, .btn-outline-primary::before,
.btn-primary-modern::before, .product-buy-btn::before,
.card.product-card .btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    110deg,
    transparent 20%,
    rgba(255,255,255,0.18) 40%,
    rgba(255,255,255,0.28) 50%,
    rgba(255,255,255,0.18) 60%,
    transparent 80%
  );
  background-size: 200% 100%;
  background-position: 200% center;
  transition: background-position 0.5s ease;
  border-radius: inherit;
  pointer-events: none;
  z-index: 1;
}

/* Text/icons always above shimmer */
.btn-primary > *, .btn-outline-primary > *,
.btn-primary-modern > *, .product-buy-btn > *,
.card.product-card .btn > * {
  position: relative;
  z-index: 2;
}

/* Hover: slide shimmer across + lift */
.btn-primary:hover::before, .btn-outline-primary:hover::before,
.btn-primary-modern:hover::before, .product-buy-btn:hover::before,
.card.product-card .btn:hover::before {
  background-position: -200% center;
}
.btn-primary:hover, .btn-outline-primary:hover,
.btn-primary-modern:hover, .product-buy-btn:hover,
.card.product-card .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 0 1px rgba(220,32,32,0.5), 0 8px 32px rgba(185,28,28,0.5);
  opacity: 0.95;
}

/* Active press */
.btn-primary:active, .product-buy-btn:active {
  transform: translateY(0px) scale(0.98);
  box-shadow: 0 0 0 1px rgba(220,32,32,0.4), 0 2px 12px rgba(185,28,28,0.3);
}

/* Variant: outline style (ghost with gradient border) */
.btn-outline-primary {
  background: transparent;
  color: #dc2020;
  border: 1.5px solid #dc2020;
  box-shadow: none;
}
.btn-outline-primary::before { display: none; }
.btn-outline-primary:hover {
  background: linear-gradient(135deg, #dc2020, #b91c1c);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 6px 24px rgba(185,28,28,0.4);
}

/* Allgemeines Layout */
.product-wrapper {
  background: linear-gradient(180deg, rgba(0,0,0,0.6), rgba(0,0,0,0));
  border-radius: 20px;
  padding: 3rem 2rem;
}
.editor {
  color: #ccc;
  line-height: 1.6;
  font-size: 1rem;
}


.scroll-track {
  white-space: nowrap;
  animation: scrollLoop 40s linear infinite;
  gap: 4rem;
}

.hover-opacity {
  transition: opacity 0.3s ease;
}
.hover-opacity:hover {
  opacity: 1 !important;
}


.glass-blur {
  background: rgba(15, 23, 42, 0.6);
  backdrop-filter: blur(8px); /* footer blur*/
  -webkit-backdrop-filter: blur(8px);
  border: none;
}

.game-icon {
  height: 40px;
  margin: 0 2rem;
  opacity: 0.8;
  transition: transform 0.2s ease, opacity 0.2s ease;
}


.footer a {
  transition: color 0.3s ease, transform 0.3s ease;
}

.footer a:hover {
  color: #ffffff;
  transform: translateY(-2px);
}

.footer .btn-icon {
  background-color: rgba(255, 255, 255, 0.05);
  border: none;
  color: white;
  font-size: 1.1rem;
  transition: all 0.3s ease;
  padding: 0.5rem;
  border-radius: 0.5rem;
}

.footer .btn-icon:hover {
  transform: scale(1.15);
  background-color: rgba(255, 255, 255, 0.15);
}

.footer hr {
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.03);
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


.btn-icon {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 8px;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1rem;
  transition: all 0.3s ease;
}

.btn-icon:hover {
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
}

/* ── Group‑product modal fix ────────────────────────────────── */
/* Bootstrap appends .modal-backdrop to <body> at z-index 1050,
   but the modal itself lives inside .flex-wrapper whose z-index:1
   stacking context traps it below the backdrop.  Elevate modals. */
.modal { z-index: 1055 !important; }
.modal-backdrop { z-index: 1050 !important; }
.modal .modal-content {
  background: var(--void-2) !important;
  border: 1px solid var(--b2) !important;
  border-radius: 18px !important;
  color: var(--t1) !important;
}
.modal .modal-header {
  border-bottom: 1px solid var(--b1) !important;
  padding: 1.2rem 1.5rem !important;
}
.modal .modal-title {
  font-family: var(--ff-d) !important;
  font-size: 1.8rem !important;
  letter-spacing: .04em !important;
  color: var(--t1) !important;
}
.modal .btn-close {
  filter: invert(1) grayscale(100%) brightness(200%) !important;
}
.modal .modal-body {
  padding: 1.5rem !important;
}
body.modal-open .flex-wrapper {
  z-index: auto !important;
}

.about-card {
  min-height: 100%;
}

.game-icon:hover {
  transform: scale(1.1);
  opacity: 1;
}

.about-section {
  background: transparent;
}

.about-card {
  background: rgba(255, 255, 255, 0.02);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: background 0.3s ease;
}

.icon-badge {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  opacity: 0.85;
  transition: opacity 0.3s ease;
}

.icon-badge:hover {
  opacity: 1;
}

.bg-blue   { background: #dc2020; }
.bg-green  { background: #10b981; }
.bg-purple { background: #a855f7; }

.text-blue   { color: #dc2020; }
.text-green  { color: #10b981; }
.text-purple { color: #a855f7; }

.btn-discord {
  background-color: #5865f2;
  color: #fff;
  font-weight: 600;
  padding: 0.6rem 1.5rem;
  border-radius: 10px;
  text-decoration: none;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.95rem;
  box-shadow: 0 4px 10px rgba(88, 101, 242, 0.25);
}

.btn-discord:hover {
  background-color: #4752c4;
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(88, 101, 242, 0.35);
}


.faq-cta-box {
  max-width: 700px;
  background: rgba(255, 255, 255, 0.02);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  transition: background 0.3s ease, border 0.3s ease;
}

.btn-discord {
  background-color: #5865f2;
  color: #fff;
  font-weight: 600;
  padding: 0.6rem 1.5rem;
  border-radius: 10px;
  text-decoration: none;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.95rem;
  box-shadow: 0 4px 10px rgba(88, 101, 242, 0.25);
}

.btn-discord:hover {
  background-color: #4752c4;
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(88, 101, 242, 0.35);
}


@keyframes scrollLoop {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

.faq-header .icon,
.faq-header .question {
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.faq-header .icon {
  opacity: 0.6;
}

.faq-item:hover .faq-header .icon {
  opacity: 1;
}

.faq-item:hover .faq-header .icon,
.faq-item:hover .faq-header .question {
  transform: translateX(6px);
}

.scroll-track-wrapper {
  display: flex;
  width: max-content;
  animation: scrollLoop 40s linear infinite;
}

.scroll-track {
  display: flex;
  gap: 4rem;
}



.game-icons-bar {
  width: 100vw;
  overflow: hidden;
  position: relative;
  background: none;
  padding-block: 26px;
}
.game-icons-gradient {
  background: linear-gradient(
    to right,
    rgba(14,17,26,0.03) 0%,
    transparent 100%
  );
  backdrop-filter: blur(8px);
  pointer-events: none;
  z-index: 10;
  opacity: 0.7;
}
.game-icons-gradient:last-child { right: 0; left: auto; transform: rotate(180deg);}
.game-icons-gradient:first-child { left: 0; }

.game-icons-track {
  display: flex;
  align-items: center;
  gap: 2.3rem;
  animation: infinite-scroll 150s linear infinite;
}
@keyframes infinite-scroll {
  100% { transform: translateX(-50%); }
  0%   { transform: translateX(0); }
}

/* Animation Pausieren wenn Bar hovered */
.game-icons-bar:hover .game-icons-track {
  animation-play-state: paused !important;
}

/* --- SPOTLIGHT BLUR: NUR hovered bleibt scharf --- */
.game-icon-img {
  height: 50px;
  width: 50px;
  object-fit: contain;
  border-radius: 0.8rem;
  background: transparent;
  filter: grayscale(1) brightness(0.8) blur(0px);
  opacity: 0.82;
  transition: 
    filter 0.24s cubic-bezier(.32,1.2,.48,1),
    opacity 0.23s cubic-bezier(.32,1.2,.48,1),
    transform 0.22s cubic-bezier(.32,1.2,.48,1);
  will-change: filter, opacity, transform;
}
.game-icons-bar.blur-others .game-icon-img {
  filter: grayscale(1) brightness(0.55) blur(2.8px) opacity(0.48);
}
/* Wenn irgendein Icon gehovert wird: ALLE BLURRY ... */
.game-icons-bar:has(.game-icon-item:hover) .game-icon-img {
  filter: grayscale(1) brightness(0.55) blur(2.8px) opacity(0.48);
}
.game-icon-item.is-hovered .game-icon-img {
  filter: grayscale(0) brightness(1.13) contrast(1.12) blur(0) drop-shadow(0 0 18px #88ff00);
  opacity: 1;
  transform: scale(1.13) rotate(-2deg);
  z-index: 2;
}

/* ...außer das hovered, das ist bunt & glowing */
.game-icon-item:hover .game-icon-img {
  filter: grayscale(0) brightness(1.13) contrast(1.12) blur(0) drop-shadow(0 0 18px #88ff00);
  opacity: 1;
  transform: scale(1.13) rotate(-2deg);
  z-index: 2;
}

/* Optionale Animation für den Button */
.game-icon-item {
  border-radius: 20px;
  background: rgba(24, 26, 32, 0.16);
  box-shadow: 0 1px 8px #0004;
  display: flex;
  align-items: center;
  justify-content: center;
  transition:
    box-shadow 0.24s cubic-bezier(.55,.12,.62,1.18),
    filter 0.23s cubic-bezier(.32,1.2,.48,1),
    transform 0.21s cubic-bezier(.32,1.2,.48,1),
    background 0.23s;
}

.game-icon-item:hover,
.game-icon-item:focus-visible {
  background: rgba(56, 98, 252, 0.19);
  box-shadow: 0 2px 22px 0 #88ff00, 0 1.5px 8px 0 #88ff00;
  z-index: 4;
}

/* Z-index oben bei Hover */
.game-icon-item:hover,
.game-icon-item:focus {
  z-index: 9;
}


/* Mobile Responsive */
@media (max-width: 900px) {
  .game-icon-img { height: 32px; width: 32px;}
  .game-icon-item { padding: 0.23rem 0.33rem;}
  .game-icons-gradient { width: 25px;}
}



/* Responsive: */
@media (max-width: 700px) {
    .game-icons__image { width: 40px; }
    .game-icons { gap: 20px;}
}

.badge-instant-modern {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.25rem 0.7rem;
  font-weight: 600;
  font-size: 0.65rem;
  color: #84bcf8;
  background: linear-gradient(135deg, #991b1b, #dc2020);
  border-radius: 999px;
  box-shadow: 0 0 8px rgba(0, 119, 255, 0.2);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(0, 162, 255, 0.15);

  /* ↓↓↓ Position weiter unten */
  transform: translateY(10px);
}

.products-intro {
  margin-top: 11rem;
}

.section-title h2 {
  font-weight: 800;
  font-size: 2.5rem;
}

.section-title p {
  color: #aaa;
  font-size: 1.1rem;
}

.section-title .text-primary {
  color: #ef4444 !important;
}


.badge-instant-modern .dot {
  width: 6px;
  height: 6px;
  background: #5dabff;
  border-radius: 50%;
  box-shadow: 0 0 6px #8fc5ff;
  animation: pulseDot 1.5s infinite;
}

@keyframes pulseDot {
  0% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.5); opacity: 0.5; }
  100% { transform: scale(1); opacity: 1; }
}


.btn-modern {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1.25rem;
  font-weight: 600;
  font-size: 0.95rem;
  border-radius: 11px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(10px);
  color: white;
  text-decoration: none;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: all 0.25s ease;
}

.btn-modern::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    110deg,
    transparent 20%,
    rgba(255,255,255,0.1) 50%,
    transparent 80%
  );
  background-size: 200% 100%;
  background-position: 200% center;
  transition: background-position 0.5s ease;
  pointer-events: none;
}

.btn-modern:hover::before {
  background-position: -200% center;
}

.btn-modern i {
  transition: transform 0.3s ease;
  position: relative;
  z-index: 1;
}

.btn-modern:hover i {
  transform: scale(1.15);
}

.btn-modern:hover {
  border-color: rgba(220, 32, 32, 0.5);
  background: rgba(220, 32, 32, 0.1);
  box-shadow: 0 4px 20px rgba(255, 80, 0, 0.2);
  transform: translateY(-1px);
  color: white;
}

.btn-modern > * {
  position: relative;
  z-index: 1;
}

/* Primary Gradient Button */
.btn-primary-modern {
  background: linear-gradient(135deg, #dc2020, #b91c1c);
 
}

.btn-primary-modern:hover {
  background: #2c2f33;
  box-shadow: 0 8px 24px rgba(114, 137, 218, 0.2);
}

/* Discord Style Button */
.btn-discord-modern {
  background: #23272a;
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.btn-discord-modern:hover {
  background: #2c2f33;
  box-shadow: 0 8px 24px rgba(114, 137, 218, 0.2);
}


.badge-glow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1.5rem;
  font-weight: 600;
  font-size: 0.95rem;
  border-radius: 999px;
  background: linear-gradient(90deg, #dc2020, #ef4444);
  color: #fff;
  backdrop-filter: blur(12px);
  background-blend-mode: overlay;
  opacity: 0.9;
  box-shadow: 0 0 18px rgba(0, 123, 255, 0.25);
  transition: all 0.4s ease;
}

.badge-glow::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, #dc2020, #ef4444);
  filter: blur(20px);
  opacity: 0.5;
  transition: opacity 0.3s ease;
}

.badge-glow:hover {
  transform: scale(1.1);
}

.badge-glow:hover i {
  transform: rotate(360deg);
}

.badge-glow i {
  transition: transform 0.6s ease;
}


.grid-bg-true-background {
  position: fixed;
  inset: 0;
  z-index: -10;
  pointer-events: none;

  background-color: #0b0f1a;

  background-image:
    linear-gradient(#ffffff08 1px, transparent 1px),
    linear-gradient(90deg, #ffffff08 1px, transparent 1px),
    linear-gradient(to bottom,
      #0b0f1a 0%,
      #0d1524 30%,
      rgba(0, 123, 255, 0.342) 60%,
      #030000f6 100%
    );

  background-size: 32px 32px, 32px 32px, 100% 100%;
  background-repeat: repeat, repeat, no-repeat;
  background-position: top left, top left, top;

  animation: grid-gradient-slide 60s linear infinite;

  /* Hier kommt der Fade */
  -webkit-mask-image: linear-gradient(to bottom, rgba(255, 255, 255, 1), rgba(255,255,255, 0.05));
  mask-image: linear-gradient(to bottom, rgba(255, 255, 255, 1), rgba(255,255,255, 0.05));
  mask-composite: intersect;
  -webkit-mask-composite: destination-in;
}


nav.navbar.component {
  background: rgba(66, 111, 163, 0.062); /* mehr Transparenz */
  backdrop-filter: blur(15px);   /* stärkerer Blur */
  -webkit-backdrop-filter: blur(15px); /* Safari Support */
  border-radius: 3rem;
  padding: 0.6rem 2rem;
  max-width: 1140px;
  margin: 1rem auto;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
  transition: background 0.3s ease;
}

/* Shopname/Logo */
.navbar .navbar-brand {
  color: white !important;
  font-weight: 800;
  font-size: 1.8rem;
}

/* Links – zentriert & vertikal mittig */
.navbar .navbar-nav {
  align-items: center; /* vertikale Zentrierung */
}

.navbar .navbar-nav .nav-link {
  color: white !important;
  font-weight: 500;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  transition: 0.2s ease;
  display: flex;
  align-items: center;
}

/* Aktiver Link (z. B. Home) */
.navbar .navbar-nav .nav-link.active {
  background-color: rgba(58, 139, 255, 0.1);
  color: #ef4444 !important;
  box-shadow: inset 0 0 0 1px #ef4444;
}

/* Hover-Farbe */
.navbar .navbar-nav .nav-link:hover {
  color: #ef4444 !important;
}

/* Login Button */
.navbar .btn.btn-outline-primary {
  background-color: #ef4444;
  color: white;
  font-weight: 600;
  border-radius: 999px;
  padding: 0.4rem 1rem;
  border: none;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  transition: background-color 0.3s ease;
}

.navbar .btn.btn-outline-primary:hover {
  background-color: #2f76e6;
}

/* Icon-Größe im Login */
.navbar .btn.btn-outline-primary svg {
  width: 1rem;
  height: 1rem;
  fill: white;
}

/* Currency Selector */
.currency-selector select {
  background-color: rgba(26, 31, 46, 0.8);
  color: white;
  border: 1px solid #333;
  border-radius: 0.5rem;
  padding: 0.3rem 0.8rem;
}

/* Cart Icon */
.navbar .icon {
  width: 1.2rem;
  height: 1.2rem;
  fill: white;
}

/* Cart Counter */
.navbar .count {
  position: absolute;
  top: -6px;
  right: -6px;
  background-color: red;
  color: white;
  font-size: 0.65rem;
  border-radius: 999px;
  padding: 0.2rem 0.4rem;
}

/* Zentrierung von nav-links auf Desktop */
@media (min-width: 992px) {
  .navbar .navbar-collapse {
    justify-content: space-between;
    align-items: center;
  }

  .navbar .navbar-nav {
    margin: 0 auto;
  }
}


/* ------------------------------ */
/* FANCY NAVLINK HOVER EFFECT    */
/* ------------------------------ */

.navbar .navbar-nav .nav-link {
  position: relative;
  z-index: 1;
  overflow: hidden;
  padding: 0.5rem 1.2rem;
  border-radius: 0.75rem;
  font-weight: 500;
  transition: color 0.3s ease;
  color: white !important;
}

.navbar .navbar-nav .nav-link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 100%; /* startet außerhalb */
  width: 100%;
  height: 100%;
  background-color: rgba(26, 31, 46, 1); /* dunkles Highlight */
  border-radius: 0.75rem;
  box-shadow: 0 0 0 1px #ef4444;
  transition: left 0.4s ease;
  z-index: -1;
}

/* Beim Hover fährt der Hintergrund smooth rein */
.navbar .navbar-nav .nav-link:hover::before {
  left: 0;
}

/* Beim Hover Textfarbe ändern */
.navbar .navbar-nav .nav-link:hover {
  color: #ef4444 !important;
}
.navbar .navbar-nav .nav-link.active {
  background-color: rgba(58, 139, 255, 0.1);
  color: #ef4444 !important;
  box-shadow: inset 0 0 0 1px #ef4444;
}


/* 🧨 Bild soll volle Breite & Höhe ausfüllen OHNE Rand */
.card.product-card {
  padding: 0 !important;

  /* Sichtbare helle Border */
border: 0.5px solid rgba(120, 170, 255, 0.212) !important;

  /* Transparenter dunkler Hintergrund mit Blur */
  background: rgba(15, 17, 29, 0.3) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);

  border-radius: 1rem;
  overflow: hidden;

  /* Soft Glow */
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.02),
    0 0 12px rgba(0, 123, 255, 0.08);
}

.card.product-card:hover {
  box-shadow:
    0 0 0 1px rgba(0, 162, 255, 0.2),
    0 0 24px rgba(0, 123, 255, 0.15);
}

.card-img-wrapper {
  height: 200px;
  overflow: hidden;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

.card-img-wrapper img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

/* 🧼 Safe: Card Body Padding aufheben */
.card.product-card .card-body {
  padding: 1.25rem !important;
}


  .navbar-brand img {
    height: 36px;
    object-fit: contain;
  }

  .navbar .nav-link {
    transition: color 0.2s;
  }

  .navbar .nav-link:hover {
    color: #0d6efd !important;
  }

  .btn-outline-light:hover {
    background-color: #0d6efd;
    color: white;
  }

  select.form-select {
    width: auto;
    padding: 0.25rem 0.5rem;
  }

  .badge {
    font-size: 0.6rem;
  }

/* ===== PRODUCT GRID - CSS GRID (replaces Bootstrap cols) ===== */
.products-section {
  padding-left: max(1rem, calc((100vw - 1200px) / 2)) !important;
  padding-right: max(1rem, calc((100vw - 1200px) / 2)) !important;
}

.products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
}

/* Tablet: 3 per row */
@media (max-width: 991px) {
  .products-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
  }
}

/* Mobile: 2 per row */
@media (max-width: 575px) {
  .products-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
  }
}

.product-card-item {
  min-width: 0; /* prevent grid blowout */
}

/* Product card styles */
.card.product-card {
  min-width: 0;
  width: 100%;
}
.card.product-card .btn,
.card.product-card .product-buy-btn {
  white-space: nowrap !important;
  font-size: 0.85rem !important;
  padding: 0.5rem 0.75rem !important;
  border-radius: 10px !important;
  position: relative !important;
  z-index: 2 !important;
}
.product-card-name {
  font-size: 0.9rem;
  line-height: 1.35;
  word-break: break-word;
}
/* All direct children of product card should be above glow overlay */
.card.product-card > *,
.card.product-card .card-body,
.card.product-card .card-img-wrapper {
  position: relative;
  z-index: 1;
}
.card-img-wrapper {
  height: 160px !important;
}


/* ===== NEURAL GLOW FULL-SITE BACKGROUND ===== */
html, body {
  background: #000 !important;
}
/* All sections/cards sit above the fixed canvas */
.flex-wrapper, .container, .container-fluid,
.products-section, .hero-section, footer,
.card, .navbar, .component {
  position: relative;
  z-index: 1;
}

/* ===== FIX: Bootstrap modals must always escape page stacking contexts ===== */
.modal {
  z-index: 1055 !important;
}
.modal-backdrop {
  z-index: 1050 !important;
}
.modal-dialog {
  position: relative;
  z-index: 1056 !important;
}
/* Ensure modal content and all its children are fully interactive */
.modal-content,
.modal-body,
.modal-body .product-card-item,
.modal-body .card.product-card,
.modal-body .product-buy-btn,
.modal-body .btn {
  position: relative;
  z-index: 1057 !important;
  pointer-events: auto !important;
}
/* Make section backgrounds semi-transparent so glow bleeds through */
.products-section { background: transparent !important; }
footer { background: rgba(0,0,5,0.6) !important; }

/* ===== ANIMATED GRADIENT BUTTON HOVER EFFECT ===== */
.btn, .hero-btn, .btn-modern, .nav-link, .card.product-card,
.hero-stat-card, .search-result-item, .navbar-brand {
  position: relative;
  overflow: hidden;
}
.btn-glow-overlay, .card-glow-overlay {
  pointer-events: none;
  position: absolute;
  inset: -1px;
  opacity: 0;
  transition: opacity 0.3s ease;
  border-radius: inherit;
  z-index: 0;
}
.btn > *, .hero-btn > *, .btn-modern > * {
  position: relative;
  z-index: 1;
}