/* Rich Content Styling for News Details */
.content-area h1, .content-area h2, .content-area h3, .content-area h4, .content-area h5, .content-area h6 {
    font-weight: bold;
    margin-top: 1.5em;
    margin-bottom: 0.5em;
    color: #000000;
}

.content-area h1 { font-size: 2em; }
.content-area h2 { font-size: 1.5em; }
.content-area h3 { font-size: 1.17em; }
.content-area h4 { font-size: 1em; }
.content-area h5 { font-size: 0.83em; }
.content-area h6 { font-size: 0.67em; }

.content-area p {
    margin-bottom: 1em;
    line-height: 1.6;
}

.content-area ul, .content-area ol {
    margin: 1em 0;
    padding-left: 2em;
}

.content-area li {
    margin-bottom: 0.5em;
}

.content-area blockquote {
    margin: 1.5em 0;
    padding: 1em 1.5em;
    border-left: 4px solid #005A8B;
    background-color: #f8f9fa;
    font-style: italic;
}

.content-area strong, .content-area b {
    font-weight: bold;
}

.content-area em, .content-area i {
    font-style: italic;
}

.content-area u {
    text-decoration: underline;
}

.content-area a {
    color: #005A8B;
    text-decoration: underline;
}

.content-area a:hover {
    color: #004A6F;
}

.content-area img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    margin: 1em 0;
    border-radius: 4px;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
}

/* Responsive image sizing to match featured image */
@media (min-width: 640px) {
    .content-area img {
        height: 300px;
    }
}

@media (min-width: 1024px) {
    .content-area img {
        height: 360px;
    }
}

.content-area pre {
    background-color: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 4px;
    padding: 1em;
    overflow-x: auto;
    font-family: 'Courier New', monospace;
}

.content-area code {
    background-color: #f8f9fa;
    padding: 0.2em 0.4em;
    border-radius: 3px;
    font-family: 'Courier New', monospace;
    font-size: 0.9em;
}

.content-area table {
    border-collapse: collapse;
    width: 100%;
    margin: 1em 0;
}

.content-area th, .content-area td {
    border: 1px solid #dee2e6;
    padding: 0.75em;
    text-align: left;
}

.content-area th {
    background-color: #f8f9fa;
    font-weight: bold;
}

/* Responsive typography */
@media (max-width: 640px) {
    .content-area h1 { font-size: 1.5em; }
    .content-area h2 { font-size: 1.3em; }
    .content-area h3 { font-size: 1.1em; }
}