/* Brand tokens that the Tailwind Play CDN used to generate */
.bg-primary { background-color: #0f172a; }
.from-primary { --tw-gradient-from: #0f172a; --tw-gradient-to: rgb(15 23 42 / 0); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.from-primary\/50 { --tw-gradient-from: rgb(15 23 42 / 0.5); --tw-gradient-to: rgb(15 23 42 / 0); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.from-primary\/0 { --tw-gradient-from: rgb(15 23 42 / 0); --tw-gradient-to: rgb(15 23 42 / 0); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.to-primary { --tw-gradient-to: #0f172a; }
.to-primary\/0 { --tw-gradient-to: rgb(15 23 42 / 0); }
.to-primary\/50 { --tw-gradient-to: rgb(15 23 42 / 0.5); }
.via-primary\/0 { --tw-gradient-to: rgb(15 23 42 / 0); --tw-gradient-stops: var(--tw-gradient-from), rgb(15 23 42 / 0), var(--tw-gradient-to); }
.text-primary { color: #0f172a; }
.border-primary { border-color: #0f172a; }

.bg-secondary { background-color: #1e293b; }
.from-secondary { --tw-gradient-from: #1e293b; --tw-gradient-to: rgb(30 41 59 / 0); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.from-secondary\/20 { --tw-gradient-from: rgb(30 41 59 / 0.2); --tw-gradient-to: rgb(30 41 59 / 0); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.to-secondary { --tw-gradient-to: #1e293b; }
.text-secondary { color: #1e293b; }

.bg-accent { background-color: #326ce5; }
.text-accent { color: #326ce5; }
.border-accent { border-color: #326ce5; }
.border-t-accent { border-top-color: #326ce5; }
.hover\:text-accent:hover { color: #326ce5; }
.hover\:bg-accent:hover { background-color: #326ce5; }
.hover\:border-accent:hover { border-color: #326ce5; }
.hover\:bg-accent\/5:hover { background-color: rgb(50 108 229 / 0.05); }
.hover\:bg-accent\/10:hover { background-color: rgb(50 108 229 / 0.1); }
.hover\:bg-accent\/15:hover { background-color: rgb(50 108 229 / 0.15); }
.hover\:bg-accent\/25:hover { background-color: rgb(50 108 229 / 0.25); }
.bg-accent\/5 { background-color: rgb(50 108 229 / 0.05); }
.bg-accent\/10 { background-color: rgb(50 108 229 / 0.1); }
.bg-accent\/15 { background-color: rgb(50 108 229 / 0.15); }
.bg-accent\/20 { background-color: rgb(50 108 229 / 0.2); }
.border-accent\/40 { border-color: rgb(50 108 229 / 0.4); }
.from-accent { --tw-gradient-from: #326ce5; --tw-gradient-to: rgb(50 108 229 / 0); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.from-accent\/5 { --tw-gradient-from: rgb(50 108 229 / 0.05); --tw-gradient-to: rgb(50 108 229 / 0); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.shadow-accent\/20 { --tw-shadow-color: rgb(50 108 229 / 0.2); --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); box-shadow: var(--tw-shadow); }
.focus\:border-accent:focus { border-color: #326ce5; }

.bg-tertiary { background-color: #8b5cf6; }
.text-tertiary { color: #8b5cf6; }
.to-tertiary { --tw-gradient-to: #8b5cf6; }
.from-tertiary { --tw-gradient-from: #8b5cf6; --tw-gradient-to: rgb(139 92 246 / 0); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }

.glass-panel {
  background: rgba(15, 23, 42, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(10px);
}

@keyframes ko-spin { to { transform: rotate(360deg); } }
.animate-spin, .ko-spin { animation: ko-spin 0.8s linear infinite; }

.accent { --tw-accent-opacity: 1; accent-color: #326ce5; }

/* Mobile chrome: prevent horizontal page scroll */
html, body {
  max-width: 100%;
  overflow-x: clip;
}
body.ko-nav-open {
  overflow: hidden;
}

.ko-lang-select {
  max-width: 7.75rem;
}
@media (min-width: 640px) {
  .ko-lang-select {
    max-width: none;
  }
}

.ko-mobile-nav {
  background: rgba(15, 23, 42, 0.96);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
  max-height: min(70vh, calc(100dvh - 4.5rem));
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.ko-mobile-nav[hidden] {
  display: none !important;
}
.ko-mobile-link {
  display: block;
  padding: 0.75rem 0.85rem;
  border-radius: 0.75rem;
  font-size: 0.95rem;
  font-weight: 500;
  color: #d1d5db;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.ko-mobile-link:hover,
.ko-mobile-link:focus-visible {
  color: #326ce5;
  background: rgba(50, 108, 229, 0.1);
  outline: none;
}

/* Tables/wide chrome: keep page from blowing out on phones */
.glass-panel.overflow-x-auto,
.overflow-x-auto {
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
}

/* Shared payment trust badges */
.trust-badges { border: 0; border-collapse: collapse; margin: 0 auto; }
.trust-badges td { border: 0; padding: 0 1.25rem; vertical-align: middle; text-align: center; background: transparent; }
.secure-checkout-seal { display: block; width: 128px; max-width: 128px; height: auto; margin: 0 auto; background: transparent; }
.mollie-badge { display: block; width: 120px; max-width: 120px; height: auto; margin: 0 auto; background: transparent; }
@media (max-width: 640px) {
  .trust-badges td { padding: 0 0.85rem; }
  .secure-checkout-seal { width: 96px; max-width: 96px; }
  .mollie-badge { width: 96px; max-width: 96px; }
}
