/* Styles for rendered policy/document pages */

.doc-hero {
  background:
    radial-gradient(900px 400px at 20% -20%, rgba(91, 108, 255, 0.16), transparent 60%),
    radial-gradient(700px 400px at 100% 0%, rgba(0, 194, 168, 0.14), transparent 55%);
  padding: 70px 24px 40px;
  border-bottom: 1px solid var(--border);
}
.doc-hero__inner { max-width: 760px; margin: 0 auto; }
.doc-back {
  display: inline-block;
  font-size: .9rem;
  font-weight: 600;
  color: var(--primary-strong);
  margin-bottom: 16px;
}
.doc-back:hover { text-decoration: underline; }
.doc-hero__title {
  font-size: clamp(1.6rem, 4vw, 2.4rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  margin: 0;
}

.doc { max-width: 760px; margin: 0 auto; padding: 48px 24px 72px; }
.doc__content { font-size: 1rem; color: var(--text); }
.doc__loading { color: var(--text-soft); }

.doc__content h2 {
  font-size: 1.35rem;
  font-weight: 700;
  margin: 2em 0 .6em;
  padding-bottom: .3em;
  border-bottom: 1px solid var(--border);
}
.doc__content h3 {
  font-size: 1.08rem;
  font-weight: 700;
  margin: 1.6em 0 .5em;
  color: var(--text);
}
.doc__content p { margin: 0 0 1em; color: var(--text-soft); }
.doc__content strong { color: var(--text); }
.doc__content ul { margin: 0 0 1.2em; padding-left: 1.3em; }
.doc__content li { margin-bottom: .4em; color: var(--text-soft); }
.doc__content a { color: var(--primary); border-bottom: 1px solid transparent; }
.doc__content a:hover { border-color: var(--primary); }
.doc__content code {
  background: var(--surface-2);
  padding: .15em .4em;
  border-radius: 6px;
  font-size: .9em;
}
.doc__content hr { border: none; border-top: 1px solid var(--border); margin: 2em 0; }

/* Policies index list */
.policy-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 16px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.policy-list a {
  display: block;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 20px 22px;
  box-shadow: var(--shadow);
  transition: transform .15s ease, box-shadow .2s ease, border-color .2s ease;
}
.policy-list a:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-hover);
  border-color: var(--primary);
}
.policy-list strong { display: block; font-size: 1.05rem; margin-bottom: 2px; }
.policy-list span { font-size: .85rem; color: var(--text-soft); }
