/* Reset + design tokens (light theme default, dark theme override) */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

:root {
  --sb-bg: #faf8ff;
  --sb-surface: #ffffff;
  --sb-surface-2: #f5f1fc;
  --sb-border: #e8e2f6;
  --sb-text: #241f38;
  --sb-muted: #6f6585;
  --sb-accent: #7c3aed;
  --sb-accent-strong: #5b21b6;
  --sb-accent-2: #ea6a2e;
  --sb-dark: #1f1b33;
  --sb-shadow: rgba(107, 70, 193, 0.16);
  --sb-on-accent: #ffffff;
}

:root[data-theme='dark'] {
  --sb-bg: #14111f;
  --sb-surface: #1c1830;
  --sb-surface-2: #241f3d;
  --sb-border: #332b52;
  --sb-text: #f4f1fb;
  --sb-muted: #b3a8cf;
  --sb-accent: #a78bfa;
  --sb-accent-strong: #c4b5fd;
  --sb-accent-2: #f3a374;
  --sb-dark: #0d0b16;
  --sb-shadow: rgba(0, 0, 0, 0.5);
  --sb-on-accent: #1c1131;
}

body {
  min-height: 100vh;
  background: var(--sb-bg);
  color: var(--sb-text);
  font-family: 'Outfit', -apple-system, sans-serif;
  transition: background 0.3s ease, color 0.3s ease;
}

h1,
h2,
h3 {
  font-family: 'Playfair Display', serif;
}

a {
  color: inherit;
}

button {
  font-family: inherit;
  cursor: pointer;
}

/* Decorative keyframes used by the hero blobs */
@keyframes loqua-blob {
  0%,
  100% {
    border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
  }
  50% {
    border-radius: 30% 60% 70% 40% / 50% 60% 30% 60%;
  }
}

@keyframes loqua-float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-14px);
  }
}

@keyframes loqua-fade-up {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

details.loqua-faq summary::-webkit-details-marker,
details.loqua-faq-group summary::-webkit-details-marker {
  display: none;
}

/* The `hidden` attribute must always win over any component's own `display` rule
   (e.g. .loqua-form-fields sets display:flex, which otherwise ties with the UA [hidden] rule). */
[hidden] {
  display: none !important;
}
