/* ============================================================================
   Novacare — CMS Content Reset
   ----------------------------------------------------------------------------
   Restores default rich-text rendering (bullets, numbers, bold, italics,
   blockquotes, tables) inside CMS-injected content areas. The global
   style.css resets `li { list-style: none }` and removes ul/ol padding,
   which strips formatting from any CKEditor / TinyMCE output. This file
   undoes those resets — scoped to known rich-text containers only, so it
   never touches navigation menus or other intentional bullet-less lists.
   ============================================================================ */

.nc-article-body,
.nc-pd-desc-content,
.nc-about-text,
.nc-about-desc-inner,
.nc-cms-content,
.cms-content {
    /* Restore default text colour & line height in case page CSS didn't */
    line-height: 1.8;
}

/* ─── Lists ─── */
.nc-article-body ul,
.nc-pd-desc-content ul,
.nc-about-text ul,
.nc-about-desc-inner ul,
.nc-cms-content ul,
.cms-content ul {
    list-style: disc outside !important;
    padding-left: 28px !important;
    margin: 12px 0 16px !important;
}

.nc-article-body ol,
.nc-pd-desc-content ol,
.nc-about-text ol,
.nc-about-desc-inner ol,
.nc-cms-content ol,
.cms-content ol {
    list-style: decimal outside !important;
    padding-left: 28px !important;
    margin: 12px 0 16px !important;
}

.nc-article-body li,
.nc-pd-desc-content li,
.nc-about-text li,
.nc-about-desc-inner li,
.nc-cms-content li,
.cms-content li {
    list-style: inherit !important;
    display: list-item !important;
    margin-bottom: 6px;
    line-height: 1.7;
}

/* Nested lists keep their own marker style */
.nc-article-body ul ul,
.nc-cms-content ul ul,
.cms-content ul ul { list-style: circle outside !important; }

.nc-article-body ul ul ul,
.nc-cms-content ul ul ul,
.cms-content ul ul ul { list-style: square outside !important; }

/* ─── Bold / Italic / Underline ─── */
.nc-article-body strong, .nc-article-body b,
.nc-pd-desc-content strong, .nc-pd-desc-content b,
.nc-about-text strong, .nc-about-text b,
.nc-about-desc-inner strong, .nc-about-desc-inner b,
.nc-cms-content strong, .nc-cms-content b,
.cms-content strong, .cms-content b {
    font-weight: 700;
    color: inherit;
}

.nc-article-body em, .nc-article-body i,
.nc-pd-desc-content em, .nc-pd-desc-content i,
.nc-cms-content em, .nc-cms-content i,
.cms-content em, .cms-content i {
    font-style: italic;
}

/* ─── Paragraphs & headings ─── */
.nc-article-body p,
.nc-pd-desc-content p,
.nc-about-text p,
.nc-about-desc-inner p,
.nc-cms-content p,
.cms-content p {
    margin: 0 0 14px;
}

.nc-article-body h1, .nc-article-body h2, .nc-article-body h3,
.nc-article-body h4, .nc-article-body h5, .nc-article-body h6,
.nc-cms-content h1, .nc-cms-content h2, .nc-cms-content h3,
.nc-cms-content h4, .nc-cms-content h5, .nc-cms-content h6,
.cms-content h1, .cms-content h2, .cms-content h3,
.cms-content h4, .cms-content h5, .cms-content h6 {
    font-weight: 700;
    color: #1a1a1a;
    margin: 24px 0 12px;
    line-height: 1.3;
}
.nc-article-body h2, .nc-cms-content h2, .cms-content h2 { font-size: 22px; }
.nc-article-body h3, .nc-cms-content h3, .cms-content h3 { font-size: 18px; }
.nc-article-body h4, .nc-cms-content h4, .cms-content h4 { font-size: 16px; }

/* ─── Blockquote ─── */
.nc-article-body blockquote,
.nc-cms-content blockquote,
.cms-content blockquote {
    border-left: 4px solid #38bfc3;
    background: #f0f9fa;
    padding: 14px 18px;
    margin: 18px 0;
    border-radius: 0 8px 8px 0;
    font-style: italic;
    color: #555;
}

/* ─── Links ─── */
.nc-article-body a,
.nc-pd-desc-content a,
.nc-cms-content a,
.cms-content a {
    color: #00476b;
    text-decoration: underline;
}
.nc-article-body a:hover,
.nc-cms-content a:hover,
.cms-content a:hover { color: #005a88; }

/* ─── Tables ─── */
.nc-article-body table,
.nc-cms-content table,
.cms-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 18px 0;
}
.nc-article-body table th, .nc-article-body table td,
.nc-cms-content table th, .nc-cms-content table td,
.cms-content table th, .cms-content table td {
    border: 1px solid #e0e4e8;
    padding: 10px 14px;
    font-size: 14px;
    text-align: left;
}
.nc-article-body table th,
.nc-cms-content table th,
.cms-content table th {
    background: #f5f7f9;
    font-weight: 600;
    color: #1a1a1a;
}

/* ─── Images ─── */
.nc-article-body img,
.nc-pd-desc-content img,
.nc-cms-content img,
.cms-content img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    margin: 16px 0;
    display: block;
}
