/* NeoBox global premium blue style – shared visual layer */
:root {
  --nb-blue: #60a5fa;
  --nb-blue-strong: #3b82f6;
  --nb-blue-soft: rgba(96,165,250,.18);
  --nb-bg: #050608;
  --nb-card: rgba(10,14,22,.84);
  --nb-card-strong: rgba(13,18,30,.92);
  --nb-border: rgba(255,255,255,.09);
  --nb-border-blue: rgba(96,165,250,.34);
  --nb-shadow: 0 24px 78px rgba(0,0,0,.34);
}

html { scroll-behavior: smooth; background: var(--nb-bg) !important; }
html, body {
  min-height: 100%;
  background-color: var(--nb-bg) !important;
}
body {
  color: #f8fafc;
  overflow-x: hidden;
  background-image: none !important;
}

/* Stabilní globální pozadí.
   Je oddělené od body backgroundu, aby se na širokých monitorech / při sticky headeru
   neřezalo, neposouvalo a nedělalo divné pruhy. */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image:
    radial-gradient(circle at top left, rgba(59,130,246,.24), transparent 34rem),
    radial-gradient(circle at top right, rgba(37,99,235,.16), transparent 30rem),
    linear-gradient(rgba(2,6,12,.78), rgba(3,7,14,.91)),
    url('../neobox/minecraft.png');
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  transform: translateZ(0);
}
body::after {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    linear-gradient(to bottom, rgba(255,255,255,.026), transparent 25%),
    radial-gradient(circle at center, rgba(96,165,250,.045), transparent 66%);
}
body > * { position: relative; z-index: 1; }

/* Wider shell for card/grid pages, while small text blocks keep their own max-width. */
[class*="max-w-7xl"],
[class*="max-w-6xl"] {
  max-width: 1480px !important;
}
@media (min-width: 1536px) {
  [class*="max-w-7xl"],
  [class*="max-w-6xl"] { max-width: 1540px !important; }
}

header.sticky {
  background: rgba(3,7,14,.66) !important;
  border-bottom-color: rgba(96,165,250,.12) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  box-shadow: 0 12px 45px rgba(0,0,0,.22);
}
footer {
  background: rgba(3,7,14,.72) !important;
  border-top-color: rgba(96,165,250,.14) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.glass,
.card,
.rank-card,
.money-card,
.benefit-card,
.cart-panel,
details.faq,
details.rule,
.cta-panel,
.pill,
.pill-strong,
.btn-ghost,
.shop-step,
.option-card,
.quick-nav a,
.cat-filter,
.duration-choice,
.tier-btn,
.currency-btn,
.dd-menu {
  border-color: var(--nb-border) !important;
  box-shadow: var(--nb-shadow);
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}

.glass,
.cta-panel,
.pill-strong,
.btn-ghost {
  background: linear-gradient(180deg, rgba(11,16,25,.88), rgba(7,10,18,.80)) !important;
}
.card,
.rank-card,
.money-card,
.benefit-card,
details.faq,
details.rule,
.option-card,
.shop-step {
  background: linear-gradient(180deg, rgba(15,20,31,.91), rgba(8,12,20,.87)) !important;
}

.card,
.rank-card,
.money-card,
.benefit-card,
.glass {
  position: relative;
  overflow: hidden;
}
.card::before,
.rank-card::before,
.money-card::before,
.benefit-card::before,
.glass::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(147,197,253,.32), transparent);
  pointer-events: none;
}
.card > *,
.rank-card > *,
.money-card > *,
.benefit-card > *,
.glass > * { position: relative; z-index: 1; }

.card:hover,
.rank-card:hover,
.money-card:hover,
.benefit-card:hover,
details.faq:hover,
details.rule:hover {
  border-color: var(--nb-border-blue) !important;
  transform: translateY(-3px);
  box-shadow: 0 28px 86px rgba(0,0,0,.42), 0 0 0 1px rgba(96,165,250,.10) !important;
}

.rank-card.recommended,
.border-blue-400\/40,
.border-blue-400\/50 {
  border-color: rgba(96,165,250,.58) !important;
  box-shadow: 0 28px 88px rgba(37,99,235,.20), inset 0 1px 0 rgba(255,255,255,.05) !important;
  background: linear-gradient(180deg, rgba(25,35,55,.95), rgba(10,15,25,.90)) !important;
}
.rank-card.recommended::after,
.border-blue-400\/40::after,
.border-blue-400\/50::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at top, rgba(96,165,250,.14), transparent 62%);
}

.bg-blue-500,
.hover\:bg-blue-400:hover,
button.bg-blue-500,
a.bg-blue-500,
.cart-product-btn.bg-blue-500,
.cat-filter.active,
.currency-btn.active,
.tier-btn.active,
.duration-choice.active {
  background: linear-gradient(135deg, #60a5fa, #3b82f6) !important;
  border-color: rgba(147,197,253,.75) !important;
}
.bg-blue-500:hover,
button.bg-blue-500:hover,
a.bg-blue-500:hover,
.cart-product-btn.bg-blue-500:hover {
  background: linear-gradient(135deg, #7ab8ff, #4b93ff) !important;
  box-shadow: 0 15px 42px rgba(37,99,235,.28) !important;
}

.text-blue-300 { color: #93c5fd !important; }
.text-blue-400 { color: #60a5fa !important; }
.hover\:text-blue-300:hover { color: #93c5fd !important; }
.border-blue-300\/25,
.border-blue-300\/30,
.border-blue-300\/40 { border-color: rgba(147,197,253,.38) !important; }
.bg-blue-500\/15,
.bg-blue-500\/20,
.bg-blue-500\/25 { background-color: rgba(59,130,246,.17) !important; }

.quick-nav a,
.cat-filter,
.duration-choice,
.option-card,
.tier-btn,
.currency-btn,
.dd-item,
.cart-product-btn {
  transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease !important;
}
.quick-nav a:hover,
.cat-filter:hover,
.duration-choice:hover,
.option-card:hover,
.tier-btn:hover,
.currency-btn:hover,
.cart-product-btn:hover {
  transform: translateY(-2px);
  border-color: rgba(96,165,250,.42) !important;
}
.dd-menu,
#infoMenu {
  background: rgba(7,10,18,.96) !important;
  border-color: rgba(96,165,250,.14) !important;
  box-shadow: 0 24px 78px rgba(0,0,0,.46) !important;
}
.dd-item:hover { background: rgba(59,130,246,.16) !important; transform: translateX(4px); }

.hero-title,
h1, h2, h3 {
  letter-spacing: -.03em;
}
.hero-title,
h1 {
  text-shadow: 0 5px 32px rgba(96,165,250,.15), 0 12px 42px rgba(0,0,0,.55) !important;
}

.cmp thead th,
table thead th { background: rgba(37,99,235,.14) !important; }
.cmp tbody tr:hover td,
table tbody tr:hover td { background: rgba(96,165,250,.07) !important; }

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: rgba(255,255,255,.03) !important; }
::-webkit-scrollbar-thumb { background: rgba(96,165,250,.38) !important; border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: rgba(96,165,250,.58) !important; }

@media (max-width: 1023px), (hover: none) and (pointer: coarse) {
  body { background-attachment: scroll !important; }
  .card:hover,
  .rank-card:hover,
  .money-card:hover,
  .benefit-card:hover,
  details.faq:hover,
  details.rule:hover,
  .quick-nav a:hover,
  .cat-filter:hover,
  .duration-choice:hover,
  .option-card:hover,
  .tier-btn:hover,
  .currency-btn:hover,
  .cart-product-btn:hover {
    transform: none !important;
  }
}
