@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap");
:root {
  --color-primary: #9535ff;
  --bg-image: url("https://webstore-template-assets.tebex.io/images/page-bg.jpg");
}

body {
  font-family: Poppins, sans-serif;
}
body::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  max-height: 400px;
  z-index: -1;
  background: var(--bg-image) center center/cover no-repeat;
  mask-image: linear-gradient(rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0));
  pointer-events: none;
}

.btn-primary,
.btn-secondary,
.btn-tertiary {
  border-radius: 2px;
}

/* Floating logo animation */
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

.btn-primary:hover, .btn-primary:focus,
.btn-secondary:hover,
.btn-secondary:focus {
  box-shadow: 0 0 6px rgb(from var(--btn-color-bg-hover) r g b/0.6);
}

.quantity-field {
  border-radius: 14px;
}

.site-header-inner .info .image {
  border-radius: 5px;
}
.site-header-inner .user-name ul li {
  overflow: hidden;
}
.site-header-inner .user-name ul li:first-child {
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
}
.site-header-inner .user-name ul li:last-child {
  border-bottom-left-radius: 2px;
  border-bottom-right-radius: 2px;
}

.site-sale-banner {
  border-radius: 5px;
}

.site-home-categories .category {
  border-radius: 5px;
  padding: 20px var(--widget-padding);
  background: var(--color-brighter-bg);
  transition: color 0.15s ease-in-out;
}
.site-home-categories .category:hover {
  color: var(--color-primary);
}

.category-description {
  border-radius: 5px;
  background: var(--color-brighter-bg);
}

.store-text {
  border-radius: 5px;
  background: var(--color-brighter-bg);
}
.store-text h1,
.store-text h2,
.store-text h3,
.store-text h4,
.store-text h5,
.store-text h6 {
  text-align: center;
}

.store-products-images .store-product {
  text-align: center;
}

.widget-title {
  text-align: center;
}

.widget .store-product {
  text-align: center;
}

.no-products {
  color: var(--color-text-secondary);
  background: var(--color-brighter-bg);
  border-radius: 5px;
}

.store-product-full {
  border-radius: 5px;
  background: var(--color-brighter-bg);
}

.store-product .quantity-field {
  border-radius: 14px;
  background: var(--color-brighter-bg);
}
.store-product .quantity-field input[type=number] {
  border: none;
}

@media (width > 960px) {
  .navigation-horizontal > ul {
    border-radius: 5px;
  }
}
.navigation-horizontal .has-children > ul {
  border-radius: 5px;
}

.widget {
  border-radius: 5px;
  background: #21292f;
}
@media (width <= 960px) {
  .widget.site-navigation {
    border-radius: 0;
    background: transparent;
  }
}

.widget-gift-card .gift-card-input {
  border-radius: 14px;
}

.widget-top-donator .avatar {
  border-radius: 50%;
}

.widget-community-goal .progress,
.widget-goal .progress {
  border-radius: 6px;
}
.widget-community-goal .progress-bar,
.widget-goal .progress-bar {
  border-radius: 6px;
}

.popup-content {
  border-radius: 5px;
}

.popup-close {
  border-radius: 0 5px 0 5px;
}

.basket-popup-content,
.basket-popup-content .popup-close {
  border-radius: 0;
}

.basket-items {
  padding: var(--widget-padding) calc(var(--content-padding) - var(--widget-padding));
}

.basket-item {
  border-radius: 14px;
}
.basket-item .quantity {
  border-radius: 2px;
}

.toast {
  border-radius: 6px;
}

.toast-close {
  border-radius: 2px;
}

.store-category-tiered {
  border-radius: 5px;
  background: var(--color-brighter-bg);
}

.store-category-tiered-header h1,
.store-category-tiered-header h2,
.store-category-tiered-header h3,
.store-category-tiered-header h4,
.store-category-tiered-header h5,
.store-category-tiered-header h6 {
  text-align: center;
}

.store-product-tiered {
  border-radius: 5px;
  background: rgb(from var(--color-bg) r g b/0.5);
}

/* Extend the header background */
body::before {
  max-height: 475px;
  height: 55vh;
  mask-image: linear-gradient(rgba(0,0,0,0.5) 80%, rgba(0,0,0,0) 100%);
  -webkit-mask-image: linear-gradient(rgba(0,0,0,0.5) 80%, rgba(0,0,0,0) 100%);
  opacity: 0.8;
}

@media (max-width: 960px) {
  body::before {
    height: 45vh;
    max-height: 460px;
  }
}

/* Make the main logo bigger and move it up */
.site-header .site-title img {
  max-height: 250px;
  height: auto;
  width: auto;
  margin-top: -55px;
  animation: float 3s ease-in-out infinite;
  filter: drop-shadow(0 0 15px rgba(183,148,244,0.6)) drop-shadow(0 0 40px rgba(183,148,244,0.3));
}

/* Change helper text under BOTH Discord and Server IP */
.site-header-inner .info small {
  color: #FFD700 !important;
  font-weight: 500;
  text-transform: none;
}

.site-header-inner .info small:hover {
  color: #FF69B4 !important;
  cursor: pointer;
}

/* Header particles - pure CSS */
.site-header {
  position: relative;
}

.site-header-inner {
  position: relative;
  animation: fadeIn 0.4s ease-out;
  z-index: 1;
}

#header-particles {
  position: absolute;
  top: -20%;
  left: -20%;
  width: 140%;
  height: 140%;
  z-index: 0;
  pointer-events: none;
}

#header-particles::before,
#header-particles::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-image:
    radial-gradient(4px 4px at 0% 10%, rgba(183,148,244,0.7) 50%, transparent 50%),
    radial-gradient(5px 5px at 3% 45%, rgba(255,255,255,0.5) 50%, transparent 50%),
    radial-gradient(3px 3px at 1% 78%, rgba(183,148,244,0.8) 50%, transparent 50%),
    radial-gradient(5px 5px at 7% 20%, rgba(255,255,255,0.4) 50%, transparent 50%),
    radial-gradient(6px 6px at 10% 55%, rgba(183,148,244,0.7) 50%, transparent 50%),
    radial-gradient(3px 3px at 5% 85%, rgba(183,148,244,0.6) 50%, transparent 50%),
    radial-gradient(5px 5px at 15% 8%, rgba(255,255,255,0.5) 50%, transparent 50%),
    radial-gradient(4px 4px at 18% 38%, rgba(183,148,244,0.5) 50%, transparent 50%),
    radial-gradient(6px 6px at 22% 65%, rgba(255,255,255,0.4) 50%, transparent 50%),
    radial-gradient(3px 3px at 25% 90%, rgba(183,148,244,0.6) 50%, transparent 50%),
    radial-gradient(5px 5px at 28% 15%, rgba(183,148,244,0.8) 50%, transparent 50%),
    radial-gradient(4px 4px at 33% 48%, rgba(255,255,255,0.5) 50%, transparent 50%),
    radial-gradient(6px 6px at 35% 72%, rgba(183,148,244,0.7) 50%, transparent 50%),
    radial-gradient(3px 3px at 40% 5%, rgba(255,255,255,0.4) 50%, transparent 50%),
    radial-gradient(5px 5px at 43% 32%, rgba(183,148,244,0.8) 50%, transparent 50%),
    radial-gradient(4px 4px at 45% 58%, rgba(255,255,255,0.5) 50%, transparent 50%),
    radial-gradient(6px 6px at 48% 82%, rgba(183,148,244,0.7) 50%, transparent 50%),
    radial-gradient(3px 3px at 52% 12%, rgba(255,255,255,0.4) 50%, transparent 50%),
    radial-gradient(5px 5px at 55% 42%, rgba(183,148,244,0.6) 50%, transparent 50%),
    radial-gradient(4px 4px at 58% 68%, rgba(255,255,255,0.5) 50%, transparent 50%),
    radial-gradient(6px 6px at 62% 92%, rgba(183,148,244,0.8) 50%, transparent 50%),
    radial-gradient(3px 3px at 65% 18%, rgba(183,148,244,0.7) 50%, transparent 50%),
    radial-gradient(5px 5px at 70% 50%, rgba(255,255,255,0.4) 50%, transparent 50%),
    radial-gradient(4px 4px at 75% 75%, rgba(183,148,244,0.6) 50%, transparent 50%),
    radial-gradient(6px 6px at 80% 8%, rgba(255,255,255,0.5) 50%, transparent 50%),
    radial-gradient(3px 3px at 85% 35%, rgba(183,148,244,0.8) 50%, transparent 50%),
    radial-gradient(5px 5px at 90% 62%, rgba(255,255,255,0.4) 50%, transparent 50%),
    radial-gradient(4px 4px at 95% 85%, rgba(183,148,244,0.7) 50%, transparent 50%),
    radial-gradient(6px 6px at 100% 25%, rgba(255,255,255,0.5) 50%, transparent 50%),
    radial-gradient(3px 3px at 98% 55%, rgba(183,148,244,0.6) 50%, transparent 50%);
  animation: drift 20s ease-in-out infinite;
}

#header-particles::after {
  background-image:
    radial-gradient(5px 5px at 2% 15%, rgba(255,255,255,0.4) 50%, transparent 50%),
    radial-gradient(3px 3px at 8% 48%, rgba(183,148,244,0.7) 50%, transparent 50%),
    radial-gradient(6px 6px at 4% 80%, rgba(255,255,255,0.5) 50%, transparent 50%),
    radial-gradient(4px 4px at 14% 25%, rgba(183,148,244,0.8) 50%, transparent 50%),
    radial-gradient(5px 5px at 11% 60%, rgba(255,255,255,0.4) 50%, transparent 50%),
    radial-gradient(3px 3px at 20% 88%, rgba(183,148,244,0.7) 50%, transparent 50%),
    radial-gradient(6px 6px at 24% 10%, rgba(255,255,255,0.5) 50%, transparent 50%),
    radial-gradient(4px 4px at 30% 42%, rgba(183,148,244,0.6) 50%, transparent 50%),
    radial-gradient(5px 5px at 27% 70%, rgba(255,255,255,0.4) 50%, transparent 50%),
    radial-gradient(3px 3px at 35% 95%, rgba(183,148,244,0.8) 50%, transparent 50%),
    radial-gradient(6px 6px at 38% 18%, rgba(255,255,255,0.5) 50%, transparent 50%),
    radial-gradient(4px 4px at 44% 52%, rgba(183,148,244,0.7) 50%, transparent 50%),
    radial-gradient(5px 5px at 48% 78%, rgba(255,255,255,0.4) 50%, transparent 50%),
    radial-gradient(3px 3px at 53% 8%, rgba(183,148,244,0.6) 50%, transparent 50%),
    radial-gradient(6px 6px at 57% 35%, rgba(255,255,255,0.5) 50%, transparent 50%),
    radial-gradient(4px 4px at 60% 62%, rgba(183,148,244,0.8) 50%, transparent 50%),
    radial-gradient(5px 5px at 65% 88%, rgba(255,255,255,0.4) 50%, transparent 50%),
    radial-gradient(3px 3px at 70% 22%, rgba(183,148,244,0.7) 50%, transparent 50%),
    radial-gradient(6px 6px at 73% 55%, rgba(255,255,255,0.5) 50%, transparent 50%),
    radial-gradient(4px 4px at 78% 82%, rgba(183,148,244,0.6) 50%, transparent 50%),
    radial-gradient(5px 5px at 82% 12%, rgba(255,255,255,0.4) 50%, transparent 50%),
    radial-gradient(3px 3px at 86% 45%, rgba(183,148,244,0.8) 50%, transparent 50%),
    radial-gradient(6px 6px at 88% 70%, rgba(255,255,255,0.5) 50%, transparent 50%),
    radial-gradient(4px 4px at 92% 30%, rgba(183,148,244,0.7) 50%, transparent 50%),
    radial-gradient(5px 5px at 95% 58%, rgba(255,255,255,0.4) 50%, transparent 50%),
    radial-gradient(3px 3px at 98% 85%, rgba(183,148,244,0.6) 50%, transparent 50%),
    radial-gradient(6px 6px at 100% 40%, rgba(255,255,255,0.5) 50%, transparent 50%),
    radial-gradient(4px 4px at 97% 92%, rgba(183,148,244,0.8) 50%, transparent 50%);
  animation: drift2 25s ease-in-out infinite;
}

@keyframes drift {
  0% { transform: translate(0, 0); }
  20% { transform: translate(-35px, 20px); }
  40% { transform: translate(25px, -30px); }
  60% { transform: translate(-20px, -15px); }
  80% { transform: translate(30px, 25px); }
  100% { transform: translate(0, 0); }
}

@keyframes drift2 {
  0% { transform: translate(0, 0); }
  20% { transform: translate(30px, -18px); }
  40% { transform: translate(-25px, 28px); }
  60% { transform: translate(18px, 20px); }
  80% { transform: translate(-28px, -25px); }
  100% { transform: translate(0, 0); }
}
/* Animated border highlight on rank cards */
.store-product {
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease;
  border-radius: 8px;
}

.store-product:hover {
  transform: translateY(-3px);
}

.store-product::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 250%;
  height: 250%;
  background: conic-gradient(
    from 0deg,
    transparent 0%,
    rgba(183,148,244,1) 10%,
    rgba(255,255,255,1) 20%,
    rgba(183,148,244,1) 30%,
    transparent 40%,
    transparent 100%
  );
  z-index: 1;
  opacity: 0;
  animation: none;
  transform: translate(-50%, -50%) rotate(0deg);
}

.store-product:hover::before {
  opacity: 1;
  animation: borderSpin 3s linear infinite;
}

.store-product::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  right: 2px;
  bottom: 2px;
  background: var(--color-brighter-bg);
  border-radius: 6px;
  z-index: 1;
}

.store-product > * {
  position: relative;
  z-index: 2;
}

@keyframes borderSpin {
  0% { transform: translate(-50%, -50%) rotate(0deg); }
  100% { transform: translate(-50%, -50%) rotate(360deg); }
}
.store-product:hover {
  box-shadow: 0 0 15px rgba(183,148,244,0.4), 0 0 30px rgba(183,148,244,0.2);
  transform: translateY(-3px);
}
/* Fix rank card popup */
.store-product-popup-content .text-content {
  padding-bottom: 0;
  margin-bottom: 0;
}

.store-product-popup-content .product-actions {
  position: sticky;
  bottom: 0;
  background: rgba(128, 90, 213, 0.2);
  padding: 15px 20px;
  border-top: 1px solid rgba(183,148,244,0.3);
  z-index: 3;
}

/* Green price badge */
.store-product-popup-content .product-actions .price {
  background: rgba(72, 187, 120, 0.15);
  color: #48bb78;
  font-size: 1.3em;
  font-weight: 700;
  padding: 8px 20px;
  border-radius: 5px;
  border: 1px solid rgba(72, 187, 120, 0.4);
}

/* Remove extra whitespace in popup */
.store-product-full .description {
  margin-bottom: 0;
  padding-bottom: 10px;
}
/* Most Popular ribbon on MVP card */
.store-products .store-product:nth-child(3) {
  position: relative;
  overflow: hidden;
}
/* Most Popular ribbon on MVP card */
.rank-table-grid .rank-table-grid-item:nth-child(4) {
  position: relative;
  overflow: hidden;
}

.rank-table-grid .rank-table-grid-item:nth-child(4)::before {
  content: "MOST POPULAR!";
  position: absolute;
  top: 18px;
  right: -35px;
  background: linear-gradient(135deg, #e39df5, #720aad);
  color: #fff;
  font-size: 0.75em;
  font-weight: 700;
  letter-spacing: 1px;
  padding: 6px 25px 6px 65px;
  transform: rotate(45deg);
  z-index: 3;
  box-shadow: 0 2px 8px rgba(128, 90, 213, 0.5);
  text-align: center;
  line-height: 1;
}

  border: 1px solid rgba(72, 187, 120, 0.4);
  display: inline-block;
}
/* Discord hover - full effect */
.site-header-inner .info.discord {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.site-header-inner .info.discord:hover {
  transform: translateY(-3px) scale(1.03);
  box-shadow: 0 0 15px rgba(183,148,244,0.4), 0 0 30px rgba(183,148,244,0.2);
}

/* Server IP hover - glow only, no transform */
.site-header-inner .info.server {
  transition: box-shadow 0.3s ease;
}

.site-header-inner .info.server:hover {
  box-shadow: 0 0 15px rgba(183,148,244,0.4), 0 0 30px rgba(183,148,244,0.2);
}
/* Custom purple scrollbar */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #1A202C;
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #805AD5, #B794F4);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #6B46C1, #D6BCFA);
}

/* Firefox */
html {
  scrollbar-width: thin;
  scrollbar-color: #805AD5 #1A202C;
}
.site-header-inner .info:hover {
  transform: translateY(-3px) scale(1.03);
  box-shadow: 0 0 15px rgba(183,148,244,0.4), 0 0 30px rgba(183,148,244,0.2);
}
/* Smooth page load fade-in */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.site-content {
  animation: fadeIn 0.6s ease-out;
}