body {
    font-family: 'Inter', sans-serif;
    background-color: #F8F9FA; /* Light paper background */
    color: #343a40; /* Standard dark text */
    line-height: 1.6;
}

/* Custom Colors */
:root {
    --primary-dark: #0A1931; /* Dark Blue */
    --secondary-dark: #3E4A59; /* Slightly lighter dark for text */
    --light-paper: #F8F9FA; /* Off-white for paper texture */
    --white: #FFFFFF;
    --warning: #FFC107;
    --success: #28A745;
}

.text-primary-dark {
    color: var(--primary-dark) !important;
}

.text-secondary-dark {
    color: var(--secondary-dark) !important;
}

.bg-primary-dark {
    background-color: var(--primary-dark) !important;
}

.bg-light-paper {
    background-color: var(--light-paper) !important;
}

.btn-primary {
    background-color: var(--primary-dark);
    border-color: var(--primary-dark);
    color: var(--white);
}

.btn-primary:hover {
    background-color: #071223; /* Slightly darker blue on hover */
    border-color: #071223;
}

.btn-outline-primary-dark {
    color: var(--primary-dark);
    border-color: var(--primary-dark);
}

.btn-outline-primary-dark:hover {
    background-color: var(--primary-dark);
    color: var(--white);
}

.badge.bg-primary-dark {
    background-color: var(--primary-dark) !important;
}

header a {
    text-align: center;
    margin: 0 auto;
}

/* Hero Section Specific Styles */
.hero-section {
    min-height: 60vh;
    position: relative;
    overflow: hidden;
    background-color: var(--primary-dark); /* Fallback */
    background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)); /* Dark overlay for image */
}

.hero-section::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: #232121ad;
}

.hero-section h1 {
    font-size: 3.5rem;
}

.hero-section .lead {
    font-size: 1.5rem;
}

.hero-section .scroll-indicator {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
}

/* Featured Article */
.featured-article .img-fluid {
    max-height: 400px;
    object-fit: cover;
}

/* Article Body */
.article-body {
    border: 1px solid #e0e0e0;
}

.article-body h3, .article-body h4 {
    color: var(--primary-dark);
}

.article-body ul {
    padding-left: 0;
}

.article-body ul li {
    list-style: none;
    margin-bottom: 0.5rem;
}

.article-body ul li i {
    vertical-align: middle;
}

/* Tags Cloud */
.tag-button {
    font-size: 1rem;
    padding: 0.75rem 1.5rem;
    border-radius: 50px;
}

/* News Grid */
.card {
    border: none;
}

.card-img-top {
    height: 200px;
    object-fit: cover;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.card-body {
    display: flex;
    flex-direction: column;
}

.card-text {
    flex-grow: 1;
}

/* Popular Posts */
.list-group-item {
    border-color: #e0e0e0;
}

.list-group-item:first-child {
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
}

.list-group-item:last-child {
    border-bottom-left-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
}

/* About Author */
.about-author .card {
    border: none;
}

/* Testimonials */
.testimonial-card {
    border: none;
}

/* Form */
.form-control-lg {
    border-radius: 0.5rem;
}

.needs-validation .form-control:invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}

.needs-validation .form-control:valid:focus {
    border-color: #28a745;
    box-shadow: 0 0 0 0.25rem rgba(40, 167, 69, 0.25);
}

/* Footer */
footer {
    background-color: var(--primary-dark);
}

footer a {
    color: var(--white);
}

footer a:hover {
    color: rgba(255, 255, 255, 0.75);
}
/* Styles for the main content frame */
.dataTrustFrame {
    padding-top: 60px; /* Top padding for the content frame */
    padding-bottom: 60px; /* Bottom padding for the content frame */
    padding-left: 20px; /* Left padding for the content frame */
    padding-right: 20px; /* Right padding for the content frame */
    max-width: 800px; /* Maximum width for content readability */
    margin-left: auto; /* Center the frame horizontally */
    margin-right: auto; /* Center the frame horizontally */
}

/* Heading 1 styles */
.dataTrustFrame h1 {
    font-size: 2.2rem; /* Moderate font size for main headings */
    margin-top: 0; /* No top margin for the first heading */
    margin-bottom: 1.2rem; /* Bottom margin for spacing below heading */
    line-height: 1.2; /* Line height for better readability */
    color: var(--primary-dark); /* Inherit primary dark color */
}

/* Heading 2 styles */
.dataTrustFrame h2 {
    font-size: 1.8rem; /* Font size for sub-headings */
    margin-top: 1.8rem; /* Top margin for spacing above heading */
    margin-bottom: 1rem; /* Bottom margin for spacing below heading */
    line-height: 1.3; /* Line height for better readability */
    color: var(--primary-dark); /* Inherit primary dark color */
}

/* Heading 3 styles */
.dataTrustFrame h3 {
    font-size: 1.5rem; /* Font size for section titles */
    margin-top: 1.5rem; /* Top margin for spacing above heading */
    margin-bottom: 0.8rem; /* Bottom margin for spacing below heading */
    line-height: 1.4; /* Line height for better readability */
    color: var(--primary-dark); /* Inherit primary dark color */
}

/* Heading 4 styles */
.dataTrustFrame h4 {
    font-size: 1.3rem; /* Font size for smaller titles or sub-sections */
    margin-top: 1.3rem; /* Top margin for spacing above heading */
    margin-bottom: 0.7rem; /* Bottom margin for spacing below heading */
    line-height: 1.5; /* Line height for better readability */
    color: var(--primary-dark); /* Inherit primary dark color */
}

/* Heading 5 styles */
.dataTrustFrame h5 {
    font-size: 1.1rem; /* Smallest heading size, for minor titles */
    margin-top: 1.1rem; /* Top margin for spacing above heading */
    margin-bottom: 0.6rem; /* Bottom margin for spacing below heading */
    line-height: 1.6; /* Line height for better readability */
    color: var(--primary-dark); /* Inherit primary dark color */
}

/* Paragraph styles */
.dataTrustFrame p {
    font-size: 1rem; /* Standard font size for paragraphs */
    margin-bottom: 1rem; /* Bottom margin for spacing between paragraphs */
    line-height: 1.7; /* Increased line height for improved readability */
    color: var(--secondary-dark); /* Standard text color */
}

/* Unordered list styles */
.dataTrustFrame ul {
    list-style-type: disc; /* Standard disc bullet points */
    padding-left: 25px; /* Indent list items */
    margin-bottom: 1rem; /* Bottom margin for spacing below the list */
    color: var(--secondary-dark); /* Standard text color */
}

/* List item styles */
.dataTrustFrame li {
    margin-bottom: 0.5rem; /* Spacing between individual list items */
    line-height: 1.6; /* Line height for list items */
}
