/* WYSIWYG Paragraph Spacing */
.prose p:not(:last-child),
.accordion-content p:not(:last-child) {
    margin-bottom: 1.5rem;
}

/* WYSIWYG List Styling */
.prose ul,
.accordion-content ul,
.prose ol,
.accordion-content ol {
    margin-bottom: 1.5rem;
    padding-left: 1.5rem;
    list-style-position: outside;
}

.prose ul,
.accordion-content ul {
    list-style-type: disc;
}

.prose ol,
.accordion-content ol {
    list-style-type: decimal;
}

.prose li,
.accordion-content li {
    margin-bottom: 0.5rem;
    padding-left: 0.5rem;
}

.prose li:last-child,
.accordion-content li:last-child {
    margin-bottom: 0;
}

/* WYSIWYG Headings */
.prose h1,
.accordion-content h1,
.prose h2,
.accordion-content h2,
.prose h3,
.accordion-content h3,
.prose h4,
.accordion-content h4,
.prose h5,
.accordion-content h5,
.prose h6,
.accordion-content h6 {
    margin-top: 2rem;
    margin-bottom: 1rem;
    font-weight: 500;
    line-height: 1.2;
}

.prose h1:first-child,
.accordion-content h1:first-child,
.prose h2:first-child,
.accordion-content h2:first-child,
.prose h3:first-child,
.accordion-content h3:first-child,
.prose h4:first-child,
.accordion-content h4:first-child,
.prose h5:first-child,
.accordion-content h5:first-child,
.prose h6:first-child,
.accordion-content h6:first-child {
    margin-top: 0;
}

.prose h1,
.accordion-content h1 {
    font-size: var(--heading-size-s);
}

.prose h2,
.accordion-content h2 {
    font-size: var(--heading-size-s);
}

.prose h3,
.accordion-content h3 {
    font-size: var(--text-size-lg);
}

.prose h4,
.accordion-content h4 {
    font-size: var(--text-size-md);
}

.prose h5,
.accordion-content h5 {
    font-size: var(--text-size-base);
    font-weight: 700;
}

.prose h6,
.accordion-content h6 {
    font-size: var(--text-size-sm);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-text-muted);
}

/* WYSIWYG Links */
.prose a,
.accordion-content a {
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: opacity 0.2s;
}

.prose a:hover,
.accordion-content a:hover {
    opacity: 0.7;
}

/* WYSIWYG Blockquotes */
.prose blockquote,
.accordion-content blockquote {
    border-left: 3px solid var(--color-text-main);
    padding-left: 1.5rem;
    margin: 1.5rem 0;
    font-style: italic;
    color: var(--color-text-muted);
}

/* WYSIWYG Images & Media */
.prose img,
.accordion-content img,
.prose figure,
.accordion-content figure {
    max-width: 100%;
    height: auto;
    margin: 1.5rem 0;
    display: block;
}

.prose figcaption,
.accordion-content figcaption {
    font-size: var(--text-size-sm);
    color: var(--color-text-muted);
    margin-top: 0.5rem;
    text-align: center;
}

/* WYSIWYG Extras */
.prose strong,
.accordion-content strong,
.prose b,
.accordion-content b {
    font-weight: 700;
}

.prose em,
.accordion-content em,
.prose i,
.accordion-content i {
    font-style: italic;
}

.prose hr,
.accordion-content hr {
    border: 0;
    border-top: 1px solid var(--color-bg-dark);

    /* Using dark bg color for border to match theme lines */
    opacity: 0.2;
    margin: 2rem 0;
}

.prose table,
.accordion-content table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1.5rem;
}

.prose th,
.accordion-content th,
.prose td,
.accordion-content td {
    padding: 0.75rem;
    border-bottom: 1px solid rgba(var(--color-bg-dark-rgb), 0.1);
    text-align: left;
}

.prose th,
.accordion-content th {
    font-weight: 500;
    border-bottom-width: 2px;
}