/*!********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./src/app/[locale]/(public)/terms/legal.module.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************/
/* Shared styling for the legal documents (terms, privacy, cookies).
   Mobile-first; pure CSS, no images or web fonts, to keep the PSI budget at 100. */

.legal_page__xlFRk {
  /* Soft brand-tinted backdrop behind the reading surface. */
  background:
    radial-gradient(120% 60% at 50% 0%, rgba(var(--color-primary-rgb), 0.06) 0%, transparent 60%),
    var(--color-bg-light);
  padding: var(--space-lg) var(--space-md) var(--space-3xl);
  color: var(--color-text-primary);
  line-height: 1.7;
  font-size: var(--text-base);
}

.legal_content___S37c {
  max-width: 820px;
  margin: 0 auto;
  background: var(--color-bg-white);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  padding: clamp(var(--space-lg), 4vw, var(--space-2xl));
  overflow-wrap: break-word;
}

/* ── Document title ─────────────────────────────────────────── */
.legal_content___S37c h1 {
  font-size: clamp(var(--text-2xl), 5vw, var(--text-3xl));
  font-weight: 800;
  letter-spacing: -0.02em;
  margin: 0 0 var(--space-md);
  line-height: 1.2;
  background: var(--color-primary-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* "Last Updated" / version line directly under the title → pill badge.
   The terms doc packs three <br>-separated lines in here, so the badge must
   never exceed the reading surface — cap its width and let long lines wrap. */
.legal_content___S37c h1 + p {
  display: inline-block;
  max-width: 100%;
  margin: 0 0 var(--space-xl);
  padding: var(--space-xs) var(--space-md);
  font-size: var(--text-sm);
  line-height: 1.6;
  color: var(--color-primary-dark);
  background: var(--es-violet-50);
  border: 1px solid var(--es-violet-100);
  border-radius: var(--radius-lg);
  overflow-wrap: break-word;
  word-break: break-word;
}

/* Single-line meta (privacy/cookies "Last Updated: …") keeps the stadium pill. */
.legal_content___S37c h1 + p:not(:has(br)) {
  border-radius: var(--radius-full);
}

.legal_content___S37c h1 + p strong {
  font-weight: 600;
}

/* ── Section headings ───────────────────────────────────────── */
.legal_content___S37c h2 {
  font-size: var(--text-xl);
  font-weight: 700;
  margin: var(--space-2xl) 0 var(--space-md);
  padding-top: var(--space-lg);
  border-top: 1px solid var(--color-border-light);
  line-height: 1.3;
  color: var(--color-text-primary);
  scroll-margin-top: var(--space-xl);
}

/* First h2 after the intro shouldn't carry a top divider gap that feels detached. */
.legal_content___S37c h2:first-of-type {
  margin-top: var(--space-xl);
}

.legal_content___S37c h3 {
  font-size: var(--text-lg);
  font-weight: 600;
  margin: var(--space-lg) 0 var(--space-sm);
  line-height: 1.35;
  color: var(--color-primary-dark);
  scroll-margin-top: var(--space-xl);
}

.legal_content___S37c h4 {
  font-size: var(--text-base);
  font-weight: 600;
  margin: var(--space-md) 0 var(--space-sm);
}

.legal_content___S37c p {
  margin: 0 0 var(--space-md);
  color: var(--color-text-secondary);
}

/* ── Lists ──────────────────────────────────────────────────── */
.legal_content___S37c ul,
.legal_content___S37c ol {
  margin: 0 0 var(--space-md);
  padding-left: var(--space-lg);
  color: var(--color-text-secondary);
}

.legal_content___S37c ul {
  list-style: none;
  padding-left: var(--space-md);
}

.legal_content___S37c ul > li {
  position: relative;
  padding-left: var(--space-lg);
  margin-bottom: var(--space-sm);
}

/* Custom violet bullet. */
.legal_content___S37c ul > li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 6px;
  height: 6px;
  border-radius: var(--radius-full);
  background: var(--color-primary);
}

.legal_content___S37c ol {
  margin-bottom: var(--space-md);
}

.legal_content___S37c ol > li {
  margin-bottom: var(--space-sm);
  padding-left: var(--space-xs);
}

.legal_content___S37c li > p {
  margin: 0;
}

.legal_content___S37c strong {
  font-weight: 700;
  color: var(--color-text-primary);
}

.legal_content___S37c em {
  font-style: italic;
}

/* ── Links ──────────────────────────────────────────────────── */
.legal_content___S37c a {
  color: var(--color-link);
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
  word-break: break-word;
  transition: color 0.15s ease;
}

.legal_content___S37c a:hover {
  color: var(--color-primary-dark);
  text-decoration: none;
}

.legal_content___S37c hr {
  border: 0;
  border-top: 1px solid var(--color-border-light);
  margin: var(--space-xl) 0;
}

/* ── Tables ─────────────────────────────────────────────────── */
.legal_content___S37c .md-table-wrap {
  margin: 0 0 var(--space-lg);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
}

.legal_content___S37c table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--text-sm);
}

.legal_content___S37c th,
.legal_content___S37c td {
  text-align: left;
  padding: var(--space-sm) var(--space-md);
  border-bottom: 1px solid var(--color-border-light);
  vertical-align: top;
}

.legal_content___S37c th {
  background: var(--es-violet-50);
  font-weight: 600;
  color: var(--color-text-primary);
}

.legal_content___S37c tbody tr:last-child td {
  border-bottom: 0;
}

.legal_content___S37c tbody tr:nth-child(even) td {
  background: var(--color-bg-light);
}

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 640px) {
  .legal_page__xlFRk {
    /* Edge-to-edge reading surface on phones. */
    padding: 0 0 var(--space-2xl);
    font-size: var(--text-sm);
  }

  .legal_content___S37c {
    border-radius: 0;
    border-left: 0;
    border-right: 0;
    box-shadow: none;
    padding: var(--space-lg) var(--space-md) var(--space-xl);
  }

  .legal_content___S37c h2 {
    font-size: var(--text-lg);
    margin-top: var(--space-xl);
  }

  .legal_content___S37c h3 {
    font-size: var(--text-base);
  }
}

@media (prefers-reduced-motion: reduce) {
  .legal_content___S37c a {
    transition: none;
  }
}

