
:root { --ring: rgba(255,255,255,0.1); }
.nav-link { color: rgba(255,255,255,0.8); transition: color .2s; }
.nav-link:hover, .nav-link.active { color: #fff; }
.btn-primary {
  @apply inline-flex items-center justify-center px-5 py-3 rounded-xl font-semibold bg-accent-600 hover:bg-accent-700 text-space-900 shadow ring-1 ring-white/10;
}
.btn-secondary {
  @apply inline-flex items-center justify-center px-5 py-3 rounded-xl font-semibold bg-white/10 hover:bg-white/20 text-white ring-1 ring-white/10;
}
.section-title { @apply text-2xl md:text-3xl font-bold; }
.card { @apply overflow-hidden rounded-2xl bg-white/5 ring-1 ring-white/10 shadow; }
.card-alt { @apply p-6 rounded-2xl bg-white/5 ring-1 ring-white/10; }
.card-img { @apply w-full h-48 object-cover; }
.card-title { @apply text-xl font-semibold; }
.card-text { @apply text-white/80 mt-2; }
.card-link { @apply inline-flex items-center text-accent-500 hover:text-accent-600 mt-4; }
.meta { @apply mt-4 text-sm text-white/60; }
.gallery-img { @apply rounded-xl ring-1 ring-white/10 object-cover w-full h-60; }
.footer-title { @apply font-semibold text-white; }
.footer-link { @apply text-white/80 hover:text-white; }
.stat-card { @apply p-4 rounded-xl bg-white/5 ring-1 ring-white/10 text-sm; }
.form-label { @apply block text-sm text-white/70 mb-1; }
.form-input { @apply w-full px-4 py-2 rounded-xl bg-white/10 ring-1 ring-white/10 focus:outline-none focus:ring-2 focus:ring-accent-600; }
.faq { @apply bg-white/5 p-4 rounded-xl ring-1 ring-white/10; }
.faq summary { @apply cursor-pointer font-medium; }
.social-btn { @apply inline-flex items-center justify-center w-9 h-9 rounded-lg bg-white/10 hover:bg-white/20 text-white; }

/* Cookie banner and modal */
.cookie-banner {
  position: fixed; inset-inline: 0; bottom: 0; z-index: 60;
  display: none; backdrop-filter: saturate(120%) blur(6px);
  background: rgba(11,18,32,0.9); color: #fff; border-top: 1px solid var(--ring);
}
.cookie-banner.show { display: block; }
.cookie-inner { max-width: 72rem; margin: 0 auto; padding: 1rem 1rem; display: grid; gap: .75rem; grid-template-columns: 1fr auto; align-items: center; }
.cookie-actions { display: flex; gap: .5rem; }
.cookie-actions .btn { padding: .5rem .9rem; border-radius: .75rem; font-weight: 600; }
.btn-accept { background: #38bdf8; color: #0b1220; border: 1px solid var(--ring); }
.btn-decline { background: rgba(255,255,255,0.1); color: #fff; border: 1px solid var(--ring); }
.btn-settings { background: rgba(255,255,255,0.05); color: #fff; border: 1px solid var(--ring); }

/* Simple modal */
.cookie-modal {
  position: fixed; inset: 0; z-index: 70; display: none; place-items: center;
  background: rgba(0,0,0,0.6);
}
.cookie-modal.show { display: grid; }
.cookie-panel {
  background: #0e1730; color: white; border: 1px solid var(--ring);
  border-radius: 1rem; max-width: 36rem; width: calc(100% - 2rem); padding: 1rem;
}
.cookie-options { display: grid; gap: .5rem; margin-top: .75rem; }
.cookie-option { display:flex; align-items:center; gap:.5rem; }
.cookie-option input { width: 1.1rem; height: 1.1rem; }
