/**
 * CompoundIn CMS v2 — page-specific
 * Requires cin_v2.css via _init_v2()
 */

.cin-cms__content {
  color: var(--content-secondary, #71717b);
  font-family: var(--family-secondary, "DM Sans", sans-serif);
  font-size: var(--body-l-regular-size, 1rem);
  line-height: 1.75;
}

.cin-cms__content > :first-child {
  margin-top: 0;
}

.cin-cms__content > :last-child {
  margin-bottom: 0;
}

.cin-cms__content p {
  margin-bottom: 1rem;
}

.cin-cms__content h1,
.cin-cms__content h2,
.cin-cms__content h3,
.cin-cms__content h4 {
  color: var(--content-primary, #1d1d49);
  font-family: var(--family-primary, "Space Grotesk", sans-serif);
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: 0.75rem;
  margin-top: 1.75rem;
}

.cin-cms__content h1 {
  font-size: clamp(1.75rem, 4vw, var(--headings-l-bold-size, 2rem));
}

.cin-cms__content h2 {
  font-size: 1.5rem;
}

.cin-cms__content h3 {
  font-size: 1.25rem;
}

.cin-cms__content h4 {
  font-size: 1.125rem;
}

.cin-cms__content ul,
.cin-cms__content ol {
  margin-bottom: 1rem;
  padding-left: 1.35rem;
}

.cin-cms__content li {
  margin-bottom: 0.35rem;
}

.cin-cms__content a {
  color: var(--cin-emerald-dark, #059669);
  font-weight: 600;
  text-decoration: underline;
}

.cin-cms__content a:hover {
  color: var(--cin-emerald, #10b981);
}

.cin-cms__content img,
.cin-cms__content figure.image img {
  border-radius: 0.75rem;
  height: auto;
  margin: 1.25rem 0;
  max-width: 100%;
}

.cin-cms__content figure.image {
  margin: 1.25rem 0;
}

.cin-cms__content blockquote {
  border-left: 4px solid var(--cin-emerald, #10b981);
  color: var(--content-primary, #1d1d49);
  font-style: italic;
  margin: 1.5rem 0;
  padding: 0.25rem 0 0.25rem 1rem;
}

.cin-cms__content table {
  border-collapse: collapse;
  margin: 1.25rem 0;
  width: 100%;
}

.cin-cms__content th,
.cin-cms__content td {
  border: 1px solid #e4e4e7;
  padding: 0.65rem 0.85rem;
  text-align: left;
}

.cin-cms__content th {
  background: #f8fafc;
  color: var(--content-primary, #1d1d49);
  font-weight: 600;
}

.cin-cms__content u {
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.cin-cms__contact {
  border-color: #e4e4e7 !important;
}

.cin-cms-contact-form label.required::after {
  color: #dc2626;
  content: " *";
}

.cin-cms-contact-form .form-group {
  margin-bottom: 1.25rem;
}
