/* General styles */
body {
    font-family: 'Segoe UI', Arial, sans-serif;
    background: #f4f6f8;
    margin: 0;
    padding: 0;
}

/* Light theme (default) */
body {
    background: #f4f6f8;
    color: #222e3c;
}

/* Dark theme */
body.dark-theme {
    background: #181929;
    color: #fff;
}

/* Ensure headings and paragraphs are visible in dark theme */
body.dark-theme h1,
body.dark-theme h2,
body.dark-theme h3,
body.dark-theme h4,
body.dark-theme h5,
body.dark-theme h6,
body.dark-theme p,
body.dark-theme label,
body.dark-theme .meta,
body.dark-theme .profile-role,
body.dark-theme .profile-name,
body.dark-theme .site-title,
body.dark-theme .blog-content,
body.dark-theme .blog-sidebar,
body.dark-theme .main-featured-content,
body.dark-theme .highlight-card,
body.dark-theme .featured-card,
body.dark-theme .latest-post-card,
body.dark-theme .category-post-card {
    color: #fff !important;
}

/* Container for the blog layout */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 16px;
}

/* Form styles */
form {
    max-width: 500px;
    margin: 30px auto;
    background: #fff;
    padding: 24px 32px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.07);
}

label {
    font-weight: bold;
    display: block;
    margin-bottom: 6px;
    color: #444;
}

input[type="text"],
input[type="password"],
input[type="file"],
select,
textarea {
    width: 100%;
    padding: 10px;
    margin-bottom: 18px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 1rem;
    background: #fafafa;
}

button {
    background: #007bff;
    color: #fff;
    border: none;
    padding: 12px 24px;
    border-radius: 5px;
    font-size: 1rem;
    cursor: pointer;
    font-weight: bold;
    transition: background 0.2s;
}

button:hover {
    background: #0056b3;
}

/* Table styles */
table {
    width: 90%;
    margin: 30px auto;
    border-collapse: collapse;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.07);
}

th, td {
    padding: 12px 16px;
    border-bottom: 1px solid #eee;
    text-align: left;
}

th {
    background: #f0f4f8;
    color: #333;
}

tr:hover td {
    background: #f9f9f9;
}

/* Post image preview */
img {
    border-radius: 6px;
    margin-bottom: 10px;
    max-width: 100%;
    height: auto;
}

.post-image,
.featured-post img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto 16px auto;
    border-radius: 6px;
}

/* Uniform image size for all sections */
img.section-img,
.latest-post-card img,
.category-post-card img,
.highlight-card img,
.trending-img,
.footer-latest-card img {
    width: 100%;
    height: 200px;      /* Set your preferred height */
    object-fit: cover;  /* Crop and fill the box */
    border-radius: 6px;
    background: #eee;
    display: block;
}

/* Blog main layout */
.blog-main {
    display: flex;
    gap: 40px;
}

/* Blog content and sidebar */
.blog-content {
    flex: 3;
}

.blog-sidebar {
    flex: 1;
    min-width: 260px;
    background: #f7f9fa;
    padding: 24px 18px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

.blog-sidebar h3 {
    margin-top: 0;
    color: #222e3c;
    font-size: 1.1rem;
}

.blog-sidebar ul {
    list-style: none;
    padding: 0;
}

.blog-sidebar li {
    margin-bottom: 12px;
}

.blog-sidebar a {
    color: #007bff;
    text-decoration: none;
    font-weight: 500;
}

.blog-sidebar a:hover {
    text-decoration: underline;
}

/* Featured post styles */
.featured-post {
    background: #fffbe6;
    border: 1px solid #ffe58f;
    padding: 24px;
    margin-bottom: 32px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(255,215,0,0.07);
}

.featured-post h2 {
    margin-top: 0;
    color: #d48806;
}

.featured-post h3 a {
    color: #222e3c;
}

/* Admin Sidebar Styles */
.admin-sidebar {
    width: 220px;
    background: #222e3c;
    color: #fff;
    min-height: 100vh;
    padding-top: 40px;
    box-shadow: 2px 0 8px rgba(0,0,0,0.04);
    position: relative;
}

.admin-sidebar ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.admin-sidebar li {
    margin-bottom: 24px;
}

.admin-sidebar a {
    color: #fff;
    text-decoration: none;
    font-weight: 500;
    padding: 12px 32px;
    display: block;
    border-radius: 4px;
    transition: background 0.2s, color 0.2s;
    font-size: 1.08rem;
}

.admin-sidebar a:hover,
.admin-sidebar a.active {
    background: #007bff;
    color: #fff;
}

/* Header layout */
.blog-header {
    position: sticky;
    top: 0;
    background: #fff;
    border-bottom: 1px solid #ddd;
    width: 100%;
    left: 0;
    z-index: 999;
    padding: 10px 0;
}
.container.header-flex {
    display: flex;
    justify-content: space-between; /* Logo left, hamburger/nav right */
    align-items: center;
    padding: 0px 20px;
}
.header-flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
   
}
.logo-title .logo-link {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
}
.logo-title {
    margin-right: auto; 
}
.site-title {
    font-size: 2rem;
    font-weight: 600;
}
.main-nav {
    display: flex;
    align-items: center;
    gap: 24px;
}
.nav-link {
    color: #fff;
    text-decoration: none;
    font-size: 1.1rem;
    position: relative;
    padding: 0 8px;
}
.nav-link.active {
    font-weight: bold;
    color: #fff;
}
.nav-link.dropdown:hover .dropdown-content {
    display: block;
}
.dropdown-content {
    display: none;
    position: absolute;
    background: #222;
    min-width: 140px;
    z-index: 10;
    top: 32px;
    left: 0;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.12);
}
.dropdown-content a {
    display: block;
    color: #fff;
    padding: 8px 16px;
    text-decoration: none;
}
.dropdown-content a:hover {
    background: #181929;
}
.search-icon svg {
    vertical-align: middle;
}
.theme-toggle svg {
    vertical-align: middle;
}
.user-profile {
    display: flex;
    align-items: center;
    gap: 10px;
}
.profile-info {
    display: flex;
    flex-direction: column;
    color: #fff;
}
.profile-name {
    font-weight: 600;
}
.profile-role {
    font-size: 0.95rem;
    color: #b3b3b3;
}
body.dark-theme {
    background: #181929;
    color: #fff;
}
.blog-header,
.dropdown-content {
    background: #181929;
    color: #fff;
}
.main-nav .nav-link,
.dropdown-content a {
    color: #fff;
}
.blog-footer {
    background: #222e3c;
    color: #fff;
    text-align: center;
    padding: 18px 0;
    margin-top: 40px;
}

.blog-footer .container {
    max-width: 900px;
    margin: 0 auto;
}

/* Pagination styles */
.pagination {
    margin: 24px 0;
    text-align: center;
}
.pagination a {
    display: inline-block;
    padding: 6px 12px;
    margin: 0 2px;
    background: #eee;
    color: #222e3c;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 500;
}
.pagination a.active {
    background: #0099cc;
    color: #fff;
    font-weight: bold;
    border: 1px solid #0099cc;
}
.pagination a:hover {
    background: #ffe600;
    color: #222e3c;
}

/* Search form styles */
.search-form {
    display: inline-block;
    margin-left: 24px;
}
.search-form input[type="text"] {
    padding: 8px;
    border-radius: 4px;
    border: 1px solid #ccc;
    font-size: 1rem;
    width: 180px;
}
.search-form button {
    padding: 8px 16px;
    border-radius: 4px;
    border: none;
    background: #007bff;
    color: #fff;
    font-weight: 500;
    cursor: pointer;
    margin-left: 4px;
}
.search-form button:hover {
    background: #0056b3;
}

/* Comments section styles */
.comments-section {
    margin-top: 40px;
    background: #f7f9fa;
    padding: 24px;
    border-radius: 8px;
}
.comment {
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid #eee;
}
.add-comment {
    margin-top: 24px;
    background: #fff;
    padding: 18px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
.add-comment input[type="text"],
.add-comment textarea {
    width: 100%;
    padding: 8px;
    margin-bottom: 12px;
    border-radius: 4px;
    border: 1px solid #ccc;
}
.add-comment button {
    background: #007bff;
    color: #fff;
    border: none;
    padding: 8px 16px;
    border-radius: 4px;
    font-weight: 500;
    cursor: pointer;
}
.add-comment button:hover {
    background: #0056b3;
}

/* Share buttons styles */
.share-buttons {
    margin: 18px 0;
}
.share-btn {
    display: inline-block;
    margin-right: 10px;
    padding: 6px 14px;
    border-radius: 4px;
    color: #fff;
    font-size: 0.98rem;
    text-decoration: none;
    font-weight: 500;
    transition: background 0.2s;
}
.share-btn.fb { background: #4267B2; }
.share-btn.tiktok {
    background: #000;
    border: 1px solid #25f4ee;
    box-shadow: 2px 2px 0 #fe2c55;
}
.share-btn.wa { background: #25D366; }
.share-btn:hover { opacity: 0.85; }

.main-featured {
    display: flex;
    gap: 32px;
    margin: 32px 0 40px 0;
}
.main-featured-img img {
    width: 340px;
    height: 260px;
    object-fit: cover;
    border-radius: 10px;
    background: #eee;
}
.main-featured-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.main-featured-content h2 {
    font-size: 2rem;
    margin-bottom: 12px;
}
.main-featured-content p {
    font-size: 1.08rem;
    color: #444;
    margin-bottom: 18px;
}
.main-featured-content .meta {
    color: #888;
    font-size: 0.98rem;
}

.highlights {
    margin-bottom: 40px;
}
.highlights h2 {
    font-size: 1.5rem;
    margin-bottom: 10px;
    border-bottom: 2px solid #222e3c;
    display: inline-block;
    padding-bottom: 4px;
}
.highlights-row {
    display: flex;
    gap: 32px;
    flex-wrap: wrap; /* Allow cards to wrap to next line if needed */
    max-width: 100%;  /* Prevent overflow */
}
.latest-posts-grid,
.highlights-row {
    max-width: 100%;
    box-sizing: border-box;
}
.highlight-card {
    flex: 1 1 220px;
    max-width: 260px;
    min-width: 180px;
    box-sizing: border-box;
}

.posts-grid-layout {
    display: flex;
    gap: 40px;
    margin-top: 40px;
}
.featured-posts {
    flex: 2;
}
.featured-posts h2 {
    font-size: 1.4rem;
    margin-bottom: 10px;
    border-bottom: 2px solid #222e3c;
    display: inline-block;
    padding-bottom: 4px;
}
.featured-posts-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-bottom: 18px;
}
.featured-card {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
    padding: 12px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.featured-card img {
    width: 100%;
    height: 120px;
    object-fit: cover;
    border-radius: 6px;
    margin-bottom: 10px;
}
.featured-card h3 {
    font-size: 1.08rem;
    margin-bottom: 8px;
}
.featured-card p {
    font-size: 0.98rem;
    color: #444;
    margin-bottom: 8px;
}
.featured-card .meta {
    color: #888;
    font-size: 0.95rem;
}
.btn-featured {
    display: inline-block;
    margin-top: 10px;
    padding: 10px 24px;
    border: 2px solid #007bff;
    border-radius: 8px;
    color: #007bff;
    background: #fff;
    font-weight: 500;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}
.btn-featured:hover {
    background: #007bff;
    color: #fff;
}

/* Make latest post images smaller (vertical list, not grid) */
.latest-posts-grid {
     display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    margin-top: 24px;
    max-width: 100%;
    box-sizing: border-box;
}

.latest-post-card {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
    padding: 12px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 16px;
}

.latest-post-card img {
    width: 100%;
    height: 120px;
    object-fit: cover;
    border-radius: 6px;
    margin-bottom: 10px;
}

/* Main two-column grid */
.main-content-grid {
    display: flex;
    gap: 40px;
    align-items: flex-start;
    margin-top: 40px;
    flex-wrap: nowrap; /* Prevent wrapping */
}
.main-left {
    flex: 2 1 0%;
    min-width: 0;
    max-width: 70%;
}
.main-sidebar {
    flex: 1 1 0%;
    min-width: 260px;
    max-width: 350px;
    display: flex;
    flex-direction: column;
    gap: 32px;
}
.trending-sidebar,
.categories-sidebar,
.recent-sidebar {
    background: #f7f9fa;
    border-radius: 8px;
    padding: 24px 18px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
.trending-sidebar h2,
.categories-sidebar h3,
.recent-sidebar h3 {
    font-size: 1.2rem;
    margin-bottom: 10px;
    border-bottom: 2px solid #222e3c;
    display: inline-block;
    padding-bottom: 4px;
}
.trending-sidebar ol,
.categories-sidebar ul,
.recent-sidebar ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.trending-sidebar li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 22px;
    border-bottom: 1px solid #eee;
    padding-bottom: 12px;
}
.trend-num {
    font-size: 1.3rem;
    color: #007bff;
    font-weight: bold;
    min-width: 32px;
    text-align: right;
}

/* Breaking News Slider */
.breaking-slider {
    background: #fafafa;
    padding: 0;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #eee;
}
#breaking-ticker {
    overflow: hidden;
    flex: 1;
    position: relative;
    height: 48px;
    display: flex;
    align-items: center;
}
#breaking-ticker-link {
    position: absolute;
    white-space: nowrap;
    color: #1976d2;
    font-size: 1.3rem;
    font-weight: 700;
    left: 100%;
}

/* Footer Styles */
.site-footer {
    background: #222;
    color: #fff;
    padding: 40px 0 0 0;
    font-size: 1rem;
}
.footer-container {
    display: flex;
    flex-wrap: wrap;
    gap: 48px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}
.footer-col {
    flex: 1 1 220px;
    min-width: 220px;
}
.footer-col h2, .footer-col h3 {
    margin-bottom: 16px;
    font-size: 1.3rem;
    font-weight: 600;
}
.footer-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.footer-col ul li {
    margin-bottom: 8px;
}
.footer-col ul li a {
    color: #fff;
    text-decoration: none;
    transition: color 0.2s;
}
.footer-col ul li a:hover {
    color: #ff8000;
}
.footer-latest-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
}
.footer-latest-card img {
    width: 100%;
    height: 60px;
    object-fit: cover;
    border-radius: 4px;
    background: #333;
}
.footer-contact-list {
    margin-bottom: 18px;
}
.footer-icon {
    margin-right: 8px;
    color: #ff8000;
    font-size: 1.2em;
}
.footer-bottom {
    background: #222;
    color: #eee;
    padding: 18px 24px;
    font-size: 1rem;
    border-top: 1px solid #333;
    margin-top: 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.footer-social a {
    margin-left: 12px;
    display: inline-block;
    vertical-align: middle;
}
.footer-social img {
    width: 22px;
    height: 22px;
    filter: grayscale(1) brightness(2);
    transition: filter 0.2s;
}
.footer-social a:hover img {
    filter: none;
}
.footer-subscribe-form {
    display: flex;
    gap: 0;
    margin-top: 0;
    background: none;
    box-shadow: none;
    padding: 0;
    width: 100%;
    max-width: 400px;  
}

.footer-subscribe-form input[type="email"] {
    flex: 1 1 auto;
    min-width: 0;
    padding: 10px 14px;
    border-radius: 2px 0 0 2px;
    border: 1px solid #444;
    border-right: none;
    font-size: 1rem;
    background: #222;
    color: #fff;
    outline: none;
}
.footer-subscribe-form input[type="email"]::placeholder {
    color: #ccc;
    text-transform: capitalize;
    font-size: 0.98rem;
}
.footer-subscribe-form button {
    padding: 10px 22px;
    border-radius: 0 2px 2px 0;
    background: #f7bfc7;
    color: #222;
    border: 1px solid #f7bfc7;
    border-left: none;
    cursor: pointer;
    font-weight: bold;
    font-size: 1rem;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    transition: background 0.2s, color 0.2s;
    white-space: nowrap;
}
.footer-subscribe-form button:hover {
    background: #f48ca3;
    color: #fff;
}
.footer-subscribe-widget {
    margin-top: 18px;
    background: none;
}
.footer-subscribe-label {
    color: #fff;
    font-size: 0.98rem;
    font-weight: 500;
    margin-bottom: 8px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}
.footer-subscribe-form button:hover {
    background: #125ea7;
}

@media (max-width: 700px) {
    .footer-subscribe-form {
        flex-direction: column;
        gap: 8px;
    }
    .footer-subscribe-form input[type="email"],
    .footer-subscribe-form button {
        border-radius: 2px;
        width: 100%;
        border: 1px solid #ccc;
    }
    .footer-subscribe-form button {
        border: 1px solid #1976d2;
    }
}

@media (max-width: 900px) {
    .main-featured { flex-direction: column; gap: 18px; }
    .highlights-row { flex-direction: column; gap: 18px; }
    .posts-grid-layout { flex-direction: column; gap: 18px; }
    .featured-posts-grid { grid-template-columns: 1fr; }
    .main-content-grid {
        flex-direction: column;
        gap: 18px;
    }
    .highlights-row {
        flex-direction: column;
        gap: 18px;
    }
    .latest-posts-grid {
        flex-direction: column;
        gap: 18px;
    }
}
@media (max-width: 700px) {
    .admin-sidebar {
        width: 100%;
        min-height: auto;
        position: static;
        box-shadow: none;
        padding-top: 10px;
    }
    .admin-container {
        flex-direction: column;
    }
}

@media (max-width: 900px) {
    .blog-main {
        flex-direction: column;
        gap: 0;
    }
    .blog-sidebar {
        margin-top: 32px;
    }
    .header-flex {
        flex-direction: row;
        align-items: center;
        gap: 0;
        padding: 10px 10px;
    }
    .hamburger {
        align-self: center;
        margin-top: 0;
    }
}

/* Category page grid */
.category-posts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 24px;
    margin: 32px 0;
}
.category-post-card {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
    padding: 14px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.category-post-card img {
    width: 100%;
    height: 220px;         /* Set a fixed height for uniformity */
    object-fit: contain !important; /* Show full image */
    border-radius: 8px;
    background: #eee;
    display: block;
    margin: 0 auto;
}
.category-post-card h3 {
    font-size: 1.08rem;
    margin-bottom: 8px;
}
.category-post-card .meta {
    color: #888;
    font-size: 0.95rem;
    margin-bottom: 6px;
}
.category-post-card p {
    font-size: 0.97rem;
    color: #444;
}
.section-img {
    width: 100%;
    max-width: 600px;
    height: 320px;
    object-fit: cover;
    border-radius: 8px;
    display: block;
    margin: 24px auto 32px auto;
}

/* Dark theme sidebar and card backgrounds */
body.dark-theme .blog-sidebar,
body.dark-theme .main-sidebar,
body.dark-theme .trending-sidebar,
body.dark-theme .categories-sidebar,
body.dark-theme .recent-sidebar,
body.dark-theme .latest-post-card,
body.dark-theme .highlight-card,
body.dark-theme .category-post-card,
body.dark-theme .featured-card,
body.dark-theme .add-comment,
body.dark-theme .comments-section,
body.dark-theme .main-featured-full {
    background: #222e3c !important;
    color: #fff !important;
}

/* Dark theme for headings and links in sidebar/cards */
body.dark-theme .blog-sidebar h3,
body.dark-theme .main-sidebar h2,
body.dark-theme .trending-sidebar h2,
body.dark-theme .categories-sidebar h3,
body.dark-theme .recent-sidebar h3,
body.dark-theme .latest-post-card h3,
body.dark-theme .highlight-card h3,
body.dark-theme .category-post-card h3,
body.dark-theme .featured-card h3 {
    color: #fff !important;
}

body.dark-theme .blog-sidebar a,
body.dark-theme .main-sidebar a,
body.dark-theme .trending-sidebar a,
body.dark-theme .categories-sidebar a,
body.dark-theme .recent-sidebar a,
body.dark-theme .latest-post-card a,
body.dark-theme .highlight-card a,
body.dark-theme .category-post-card a,
body.dark-theme .featured-card a {
    color: #4fc3f7 !important;
}

body.dark-theme .blog-sidebar a:hover,
body.dark-theme .main-sidebar a:hover,
body.dark-theme .trending-sidebar a:hover,
body.dark-theme .categories-sidebar a:hover,
body.dark-theme .recent-sidebar a:hover,
body.dark-theme .latest-post-card a:hover,
body.dark-theme .highlight-card a:hover,
body.dark-theme .category-post-card a:hover,
body.dark-theme .featured-card a:hover {
    color: #ff8000 !important;
}

/* Dark theme for meta info */
body.dark-theme .meta,
body.dark-theme .trend-num {
    color: #b3e5fc !important;
}

/* Search Modal Styles */
.search-modal {
    display: none;
    position: fixed;
    z-index: 3000;
    left: 0; top: 0; right: 0; bottom: 0;
    width: 100vw; height: 100vh;
    background: rgba(30,32,44,0.85);
    justify-content: center;
    align-items: center;
}
.search-modal.active {
    display: flex;
}
.search-modal-content {
    background: none;
    border-radius: 8px;
    box-shadow: none;
    min-width: 340px;
    max-width: 90vw;
    position: relative;
    text-align: left;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.search-modal-content h2 {
    margin-bottom: 18px;
    font-size: 2rem;
    color: #fff;
    font-weight: 700;
    margin-left: 10px;
}
.search-modal-close {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 2rem;
    color: #fff;
    cursor: pointer;
    font-weight: bold;
    background: none;
    border: none;
    z-index: 10;
    padding: 10px 18px;
}
.search-form {
    display: flex;
    width: 100%;
    background: #fff;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.10);
}
.search-form input[type="text"] {
    flex: 1;
    padding: 20px 18px;
    font-size: 1.1rem;
    border: none;
    outline: none;
    background: #fff;
    color: #222e3c;
}
.search-form button {
    padding: 0 38px;
    background: #00b3d6;
    color: #fff;
    border: none;
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
    border-radius: 0 4px 4px 0;
    letter-spacing: 0.5px;
}
.search-form button:hover {
    background: #1976d2;
}
@media (max-width: 600px) {
    .search-modal-content {
        min-width: 90vw;
        padding: 0 2vw;
    }
    .search-modal-content h2 {
        font-size: 1.2rem;
        margin-left: 0;
    }
    .search-form input[type="text"] {
        padding: 14px 8px;
    }
    .search-form button {
        padding: 0 18px;
    }
}

/* Accent color variables */
:root {
    --accent: #19c6c3;      /* Teal for accents */
    --header-bg: #222;      /* Black header */
    --header-text: #fff;    /* White header text */
    --section-bg: #fff;     /* White backgrounds */
    --section-title: #222;  /* Dark section titles */
    --meta: #888;           /* Muted meta text */
}

/* Header styles */
.blog-header,
.header-flex,
.main-nav,
.dropdown-content {
    background: var(--header-bg) !important;
    color: var(--header-text) !important;
}
.site-title,
.main-nav .nav-link,
.dropdown-content a {
    color: var(--header-text) !important;
}
.nav-link.active,
.site-title {
    border-bottom: 4px solid var(--accent);
    font-weight: bold;
}

/* Section headers */
h1, h2, h3, h4 {
    color: var(--section-title);
    font-family: 'Segoe UI', Arial, sans-serif;
    font-weight: 700;
    letter-spacing: 0.5px;
}
.highlights h2,
.trending-sidebar h2,
.categories-sidebar h3,
.recent-sidebar h3 {
    color: var(--section-title);
    background: none;
    border-bottom: 0;
    font-size: 1.5rem;
    margin-bottom: 10px;
    padding-bottom: 0;
    position: relative;
}
.highlights h2::before,
.trending-sidebar h2::before,
.categories-sidebar h3::before,
.recent-sidebar h3::before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 28px;
    background: var(--accent);
    margin-right: 10px;
    vertical-align: middle;
    border-radius: 2px;
}

/* Section backgrounds */
.main-featured,
.featured-post,
.highlight-card,
.latest-post-card,
.featured-card,
.category-post-card,
.trending-sidebar,
.categories-sidebar,
.recent-sidebar {
    background: var(--section-bg) !important;
    border: none;
    box-shadow: none;
}

/* Accent links and buttons */
a,
.btn-featured,
.pagination a {
    color: var(--accent);
    background: none;
    border: none;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s;
}
a:hover,
.btn-featured:hover,
.pagination a:hover {
    color: #222;
    text-decoration: underline;
    background: none;
}

/* Meta info */
.meta,
.trend-num {
    color: var(--meta);
    font-size: 0.98rem;
}

/* Remove card shadows and borders for clean look */
.highlight-card,
.latest-post-card,
.featured-card,
.category-post-card {
    box-shadow: none;
    border-radius: 0;
    border: none;
    margin-bottom: 24px;
}

/* Breaking News Slider */
.breaking-slider {
    background: var(--section-bg);
    border-bottom: 2px solid var(--accent);
}
.breaking-slider span {
    color: var(--accent);
    font-weight: bold;
}

/* Sidebar section backgrounds */
.trending-sidebar,
.categories-sidebar,
.recent-sidebar {
    background: var(--section-bg);
    border-left: 0;
}

/* Footer */
.site-footer,
.blog-footer {
    background: var(--header-bg);
    color: var(--header-text);
}

.latest-post-card img,
.featured-card img,
.highlight-card img,
.category-post-card img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 6px;
    margin-bottom: 10px;
    background: #eee;
    display: block;
}

.latest-post-card h3,
.latest-post-card p,
.trending-sidebar .trend-title,
.trending-sidebar .trend-excerpt,
.sidebar-post-title,
.sidebar-post-excerpt {
    word-break: break-word;
    overflow-wrap: break-word;
    max-width: 100%;
    white-space: normal;
}

/* Show full image in main post page */
.single-post-img, .post-image {
    width: 100%;
    max-width: 600px; /* or your preferred width */
    height: auto;
    object-fit: contain;
    border-radius: 8px;
    display: block;
    background: #eee;
    margin: 0 auto;
}

/* Optional: Make dropdown wider for LexisExtra */
.nav-link.dropdown .dropdown-content {
    min-width: 180px;
}

/* Dropdown container */
.nav-link.dropdown {
    position: relative;
}

/* Dropdown content */
.nav-link.dropdown .dropdown-content {
    display: none;
    position: absolute;
    background: #fff;
    min-width: 180px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    z-index: 1000;
    border-radius: 6px;
    padding: 8px 0;
    top: 100%;
    left: 0;
}

/* Show dropdown on hover */
.nav-link.dropdown:hover .dropdown-content,
.nav-link.dropdown .dropdown-content:hover {
    display: block;
}

/* Dropdown links */
.nav-link.dropdown .dropdown-content a {
    display: block;
    padding: 10px 20px;
    color: #222;
    text-decoration: none;
    transition: background 0.2s;
}

.nav-link.dropdown .dropdown-content a:hover {
    background: #f0f0f0;
}

.main-featured-full {
    display: flex;
    align-items: flex-start;
    gap: 32px;
    background: #222e3c;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    padding: 32px;
    max-width: 900px;
    margin: 0 auto;
    width: 100%;
    box-sizing: border-box;
}

/* Featured post wrapper: full width, center content */
.main-featured-full-wrapper {
    width: 100%;
    margin: 0 auto 32px auto;
    background: none;
    box-shadow: none;
    border-radius: 0;
}

/* Featured image: fixed size, left side */
.main-featured-full img {
    width: 320px;
    height: 220px;
    object-fit: cover;
    border-radius: 10px;
    background: #eee;
    flex-shrink: 0;
    margin-bottom: 0;
    display: block;
}

/* Featured post content: right side */
.main-featured-full-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.main-featured-full-content h2 {
    font-size: 2rem;
    margin-bottom: 12px;
    color: #19c6c3;
    word-break: break-word;
}

.main-featured-full-content p {
    font-size: 1.08rem;
    color: #444;
    margin-bottom: 12px;
    word-break: break-word;
}

.main-featured-full-content .meta {
    color: #888;
    font-size: 1rem;
    margin-bottom: 0;
}

/* Responsive for mobile */
@media (max-width: 900px) {
    .main-featured-full {
        flex-direction: column;
        align-items: flex-start;
        padding: 16px;
        gap: 16px;
        max-width: 100%;
    }
    .main-featured-full img {
        width: 100%;
        height: 160px;
        margin-bottom: 10px;
    }
}

/* Hamburger styles */
.hamburger {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 36px;
    height: 36px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    margin-left: auto;
    z-index: 1001;
}

.hamburger span {
    display: block;
    height: 4px;
    width: 28px;
    background-color: #222e3c;
    border-radius: 2px;
    margin: 4px 0;
    transition: all 0.3s;
}

body.dark-theme .hamburger span {
    background-color: #222e3c;
}

@media (max-width: 768px) {
    .main-nav {
        display: none;
        position: absolute;
        top: 60px;
        right: 0;
        background: white;
        width: 200px;
        box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        flex-direction: column;
    }

    .hamburger {
        display: flex;   /* ✅ show hamburger on mobile */
    }
}
/* Responsive nav */
@media (max-width: 900px) {
    .main-nav {
        position: fixed;
        top: 0;
        left: -100vw; /* Slide in from left */
        width: 70vw;
        max-width: 320px;
        height: 100vh;
        background: #222;
        color: #fff;
        flex-direction: column;
        align-items: flex-start;
        padding: 60px 24px 24px 24px;
        box-shadow: 2px 0 12px rgba(0,0,0,0.15); /* shadow on right */
        transition: left 0.3s;
        z-index: 1001;
        display: flex;
    }
    .main-nav.active {
        left: 0; /* Show menu */
    }
    .hamburger {
        display: flex;
        background: whitesmoke;
    }
    .hamburger span {
        background: #fff;
    }
}
    .main-nav .nav-link,
    .main-nav li.nav-link {
        display: block;
        margin: 18px 0;
        color: #fff;
    }
    .main-nav .dropdown-content {
        position: static;
        background: none;
        box-shadow: none;
    }


@media (max-width: 700px) {
    .latest-posts-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 24px !important;
        margin-top: 18px;
    }
    .latest-post-card {
        display: flex !important;
        flex-direction: column !important; /* Stack image and text vertically */
        align-items: flex-start;
        background: #fff;
        border-radius: 10px;
        box-shadow: 0 2px 8px rgba(0,0,0,0.04);
        padding: 10px 8px;
        gap: 10px;
        margin-bottom: 0;
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }
    .latest-post-card img {
        width: 100% !important;
        height: 140px !important;
        object-fit: cover;
        border-radius: 8px;
        background: #eee;
        margin-bottom: 10px;
        display: block;
    }
    .latest-post-card h3 {
        font-size: 1.08rem;
        margin: 0 0 8px 0;
        font-weight: 600;
        color: #222e3c;
    }
    .latest-post-card .meta {
        color: #888;
        font-size: 0.92rem;
        margin-bottom: 6px;
    }
    .latest-post-card p {
        font-size: 0.97rem;
        color: #444;
        margin: 0;
    }
    /* Ensure text is to the right of the image */
    .latest-post-card > *:not(img) {
        flex: 1 1 0;
        min-width: 0;
    }
}

/* Add to assets/css/style.css or inside <style> in <head> */
.breaking-ticker {
    animation: ticker 12s linear infinite;
    position: relative;
}

@keyframes ticker {
    0% { left: 100%; }
    100% { left: -100%; }
}

.responsive-media {
    width: 100%;
    max-width: 600px;
    height: auto;
    display: block;
    margin: 0 auto 16px auto;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.07);
}

@media (max-width: 700px) {
    .responsive-media {
        max-width: 100%;
    }
}

.glow-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-left: 6px;
    border-radius: 50%;
    background: #ffe600; /* bright yellow */
    box-shadow: 0 0 6px 2px #ffe600, 0 0 12px 3px #ffe600;
    vertical-align: middle;
    animation: glowPulse 1.2s infinite alternate;
}

@keyframes glowPulse {
    0% { box-shadow: 0 0 6px 2px #ffe600, 0 0 12px 3px #ffe600; }
    100% { box-shadow: 0 0 12px 4px #ffe600, 0 0 18px 8px #ffe600; }
}

/* Add to your style.css */
body.dark-theme .comments-section,
body.dark-theme .add-comment {
    background: #222e3c !important;
    color: #fff !important;
}
body.dark-theme .comment {
    border-bottom: 1px solid #444 !important;
}
body.dark-theme .comment strong,
body.dark-theme .comment span,
body.dark-theme .comment p {
    color: #fff !important;
}

/* Notification Popup Styles */
.notification-popup {
    position: fixed;
    top: -120px;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    box-shadow: 0 4px 24px rgba(30,32,44,0.18);
    border-radius: 12px;
    z-index: 10001;
    padding: 24px 32px;
    max-width: 370px;
    min-width: 260px;
    transition: top 0.6s cubic-bezier(.4,2,.3,1);
    font-family: inherit;
}

.notification-popup.show {
    top: 32px;
}

.notif-logo {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: bold;
    font-size: 2rem;
    width: 48px;
    height: 48px;
    background: #0099cc;
    color: #fff;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.notification-actions .notif-btn {
    font-size: 1rem;
    border-radius: 4px;
    border: none;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
}

.notification-actions .notif-allow {
    background: #444;
    color: #fff;
    padding: 8px 24px;
}

.notification-actions .notif-dismiss {
    background: none;
    color: #222;
    padding: 8px 0;
}

.notification-actions .notif-btn:hover {
    background: #0099cc;
    color: #fff;
}

/* Admin Dashboard: Mobile Only Responsive Styles */
@media (max-width: 700px) {
    .admin-container {
        flex-direction: column;
    }
    .admin-sidebar {
        width: 100%;
        min-height: auto;
        position: static;
        box-shadow: none;
        padding-top: 10px;
    }
    .admin-main {
        padding: 16px;
    }
    .admin-sidebar a {
        padding: 14px 18px;
        font-size: 1rem;
    }
}

/* Add to your style.css for subtle hover effect on all images and share buttons */
img,
.single-post-img,
.latest-post-card img,
.featured-card img,
.highlight-card img,
.category-post-card img,
.section-img,
.footer-latest-card img {
    transition: transform 0.35s cubic-bezier(.4,2,.3,1), box-shadow 0.35s cubic-bezier(.4,2,.3,1);
    transform: scale(1); /* Default state */
}

img:hover,
.single-post-img:hover,
.latest-post-card img:hover,
.featured-card img:hover,
.highlight-card img:hover,
.category-post-card img:hover,
.section-img:hover,
.footer-latest-card img:hover {
    transform: scale(1.08); /* Zoom in on hover */
    box-shadow: 0 8px 32px rgba(30,32,44,0.16);
}

/* Post card image hover effect similar to Linda Ikeji's Blog */
.latest-post-card img,
.featured-card img,
.highlight-card img,
.category-post-card img,
.section-img,
.footer-latest-card img,
img {
    transition: transform 0.32s cubic-bezier(.23,1.02,.32,1), box-shadow 0.32s cubic-bezier(.23,1.02,.32,1);
    will-change: transform, box-shadow;
    transform: scale(1);
}

.latest-post-card:hover img,
.featured-card:hover img,
.highlight-card:hover img,
.category-post-card:hover img,
.section-img:hover,
.footer-latest-card:hover img,
img:hover {
    transform: scale(1.07);
    box-shadow: 0 8px 32px rgba(30,32,44,0.18), 0 1.5px 6px rgba(0,0,0,0.08);
    z-index: 2;
}

/* Add to your assets/css/style.css for mobile responsive slider */
.most-read-slider {
    margin: 32px auto;
    max-width: 900px;
    overflow: hidden;
    position: relative;
    background: #fff;
    border-radius: 12px;
}
.most-read-track {
    display: flex;
    gap: 18px;
    padding: 18px;
    background: #fff;
    max-width: 900px;
    transition: transform 0.7s cubic-bezier(.4,2,.3,1);
    will-change: transform;
}
.most-read-card {
    min-width: 160px;
    max-width: 180px;
    flex: 0 0 auto;
}
@media (max-width: 700px) {
    .most-read-slider,
    .most-read-track {
        max-width: 100vw;
        padding: 10px;
    }
    .most-read-card {
        min-width: 140px;
        max-width: 150px;
    }
    .most-read-card img {
        height: 100px;
    }
}
/* Add to assets/css/style.css for responsive betting tips table */
.responsive-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 32px;
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(30,32,44,0.07);
}
.responsive-table th, .responsive-table td {
    padding: 12px 10px;
    text-align: left;
    font-size: 1rem;
    border-bottom: 1px solid #f0f0f0;
}
.responsive-table th {
    background: #8a2952;
    color: #fff;
    font-weight: 600;
    font-size: 1.05rem;
}
.responsive-table tr:last-child td {
    border-bottom: none;
}
@media (max-width: 700px) {
    .responsive-table, .responsive-table thead, .responsive-table tbody, .responsive-table th, .responsive-table td, .responsive-table tr {
        display: block;
        width: 100%;
    }
    .responsive-table thead {
        display: none;
    }
    .responsive-table tr {
        margin-bottom: 18px;
        background: #fff;
        border-radius: 8px;
        box-shadow: 0 2px 8px rgba(0,0,0,0.04);
        padding: 10px 0;
    }
    .responsive-table td {
        padding: 10px 12px;
        font-size: 1rem;
        border: none;
        text-align: left;
        position: relative;
    }
    .responsive-table td:before {
        content: attr(data-label);
        font-weight: bold;
        color: #8a2952;
        display: block;
        margin-bottom: 4px;
        font-size: 0.97em;
    }
}

/* Make responsive table text visible on dark theme */
.responsive-table {
    background: #fff;
    color: #222;
    border-radius: 10px;
    box-shadow: 0 2px 12px rgba(30,32,44,0.07);
}

.responsive-table th {
    background: #8a2952;
    color: #fff;
}

.responsive-table td {
    color: #222;
}

@media (max-width: 700px) {
    .responsive-table td:before {
        color: #8a2952;
    }
    .responsive-table td {
        background: #fff;
        color: #222;
    }
}