.legal-accent-line {
  height: 4px;
  background: var(--primary-color);
  border-radius: 2px;
}

.legal-section {
  padding: 40px 0;
}

.legal-content h1,
.legal-content .h1,
.legal-content h2,
.legal-content .h2,
.legal-content h3,
.legal-content .h3 {
  margin-bottom: var(--spacing-lg);
}

.legal-content p,
.legal-content li {
  color: var(--text-gray);
  font-size: var(--font-size-base);
  line-height: var(--line-height-relaxed);
}

.legal-content a {
  color: var(--text-gray);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
  text-decoration-color: currentColor;
}

.legal-content a:hover {
  opacity: 0.8;
}

.legal-meta strong,
.legal-credits strong {
  color: var(--text-black);
  font-weight: var(--font-weight-bold);
}

.legal-meta p > strong::after {
  content: "\A";
  white-space: pre;
}

.legal-list {
  list-style: disc;
  padding-left: 20px;
}

.legal-list li {
  margin-bottom: 8px;
}

.legal-credits h4 {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  color: var(--text-black);
  margin-top: var(--spacing-xl);
  margin-bottom: var(--spacing-sm);
}

@media (max-width: 768px) {
  .legal-section {
    padding: 32px 0;
  }

  .legal-credits h4 {
    margin-top: var(--spacing-lg);
  }
}

.cookie-declaration .cookie-title {
  padding: 6px 12px;
  margin-bottom: var(--spacing-lg);
}

.cookie-declaration .notice-box {
  background: transparent;
  padding: 12px;
  margin-bottom: var(--spacing-lg);
}

.cookie-declaration .category {
  border: 2px solid var(--text-gray);
  margin-top: var(--spacing-lg);
}

.cookie-declaration .category-header {
  background: transparent;
  border-bottom: 2px solid var(--text-gray);
  padding: 8px 12px;
  font-weight: var(--font-weight-bold);
  color: var(--text-black);
}

.cookie-declaration .category-body {
  padding: 12px;
}

.cookie-declaration .notice-box .term {
  font-weight: var(--font-weight-bold);
}

.cookie-declaration .notice-box .term::after {
  content: "\A";
  white-space: pre;
}

.cookie-declaration p {
  margin-bottom: 8px;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.cookie-declaration .category-body p {
  margin-bottom: 6px;
}

.cookie-declaration .category-body p:last-child,
.cookie-declaration .notice-box p:last-child {
  margin-bottom: 0;
}
