/* CSS Variables aligned with main design system */

      /* Dark Mode Variables */
      .dark-mode {
        --text-primary: #f9fafb;
        --text-secondary: #d1d5db;
        --text-light: #9ca3af;
        --bg-primary: #111827;
        --bg-secondary: #1f2937;
        --bg-tertiary: #374151;
        --border-color: #374151;
      }




      .container {
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 2rem;
      }

      /* Breadcrumb Navigation */
      .breadcrumb {
        background: var(--bg-secondary);
        padding: 1rem 0;
        border-bottom: 1px solid var(--border-color);
      }

      .breadcrumb-list {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        list-style: none;
        margin: 0;
        padding: 0;
        font-size: 0.9rem;
      }

      .breadcrumb-item {
        display: flex;
        align-items: center;
      }

      .breadcrumb-link {
        color: var(--text-secondary);
        text-decoration: none;
        display: flex;
        align-items: center;
        gap: 0.5rem;
        transition: color 0.3s ease;
      }

      .breadcrumb-link:hover {
        color: var(--primary-color);
      }

      .breadcrumb-item.active span {
        color: var(--primary-color);
        font-weight: 600;
      }

      .breadcrumb-item i.fa-chevron-right {
        color: var(--text-light);
        font-size: 0.7rem;
        margin: 0 0.25rem;
      }

      /* Hero Section */

      .hero-bg {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: 0;
        pointer-events: none;
        opacity: 0.92;
      }




      /* Category Filter Section */
      .category-filter {
        background: var(--bg-secondary);
        padding: 2rem 0;
        border-bottom: 1px solid var(--border-color);
      }

      .category-tabs {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 0.5rem;
        margin-bottom: 1.5rem;
      }

      .category-tab {
        background: var(--bg-primary);
        color: var(--text-secondary);
        border: 2px solid var(--border-color);
        padding: 0.75rem 1.5rem;
        border-radius: 50px;
        text-decoration: none;
        font-weight: 500;
        transition: all 0.3s ease;
        display: flex;
        align-items: center;
        gap: 0.5rem;
        cursor: pointer;
        user-select: none;
      }

      .category-tab:hover {
        border-color: var(--primary-color);
        color: var(--primary-color);
        transform: translateY(-2px);
      }

      .category-tab.active {
        background: var(--primary-color);
        color: white;
        border-color: var(--primary-color);
        box-shadow: var(--shadow-md);
      }

      .filter-info {
        text-align: center;
        color: var(--text-secondary);
        font-size: 0.9rem;
      }

      .filter-info .active-filter {
        color: var(--primary-color);
        font-weight: 600;
      }

      /* Search and Sort Bar */
      .content-controls {
        background: var(--bg-primary);
        padding: 1.5rem 0;
        border-bottom: 1px solid var(--border-color);
      }


      .search-container {
        flex: 1;
        min-width: 300px;
        max-width: 400px;
      }

      .search-form {
        display: flex;
        position: relative;
      }

      .search-input {
        flex: 1;
        padding: 0.75rem 1rem 0.75rem 2.5rem;
        border: 2px solid var(--border-color);
        border-radius: 50px;
        font-family: inherit;
        font-size: 0.9rem;
        transition: all 0.3s ease;
        background: var(--bg-secondary);
      }

      .search-input:focus {
        outline: none;
        border-color: var(--primary-color);
        box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.1);
        background: var(--bg-primary);
      }

      .search-icon {
        position: absolute;
        left: 1rem;
        top: 50%;
        transform: translateY(-50%);
        color: var(--text-light);
      }

      .sort-controls {
        display: flex;
        align-items: center;
        gap: 1rem;
      }

      .sort-label {
        color: var(--text-secondary);
        font-weight: 500;
        font-size: 0.9rem;
      }

      .sort-select {
        padding: 0.5rem 1rem;
        border: 1px solid var(--border-color);
        border-radius: 8px;
        background: var(--bg-primary);
        color: var(--text-primary);
        font-family: inherit;
        cursor: pointer;
      }

      /* Layout Controls */
      .layout-controls {
        display: flex;
        align-items: center;
        gap: 1rem;
      }

      .layout-selector {
        display: flex;
        gap: 0.5rem;
        background: var(--bg-secondary);
        padding: 0.25rem;
        border-radius: 8px;
        border: 1px solid var(--border-color);
      }

      .layout-btn {
        background: transparent;
        border: none;
        padding: 0.5rem;
        border-radius: 6px;
        cursor: pointer;
        transition: all 0.3s ease;
        color: var(--text-secondary);
        font-size: 1rem;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
      }

      .layout-btn:hover {
        background: var(--bg-primary);
        color: var(--primary-color);
        transform: translateY(-1px);
      }

      .layout-btn.active {
        background: var(--primary-color);
        color: white;
        box-shadow: var(--shadow-sm);
      }

      .layout-btn:focus {
        outline: 2px solid var(--primary-color);
        outline-offset: 2px;
      }

      /* Breadcrumb Navigation */
      .breadcrumb {
        background: var(--bg-secondary);
        padding: 1rem 0;
        border-bottom: 1px solid var(--border-color);
      }

      .breadcrumb-list {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        list-style: none;
        margin: 0;
        padding: 0;
        font-size: 0.9rem;
      }

      .breadcrumb-item {
        display: flex;
        align-items: center;
        color: var(--text-secondary);
      }

      .breadcrumb-item.active {
        color: var(--text-primary);
        font-weight: 500;
      }

      .breadcrumb-link {
        color: var(--text-secondary);
        text-decoration: none;
        transition: color 0.3s ease;
        display: flex;
        align-items: center;
        gap: 0.5rem;
      }

      .breadcrumb-link:hover {
        color: var(--primary-color);
      }

      .breadcrumb-item:not(.active) + .breadcrumb-item::before {
        content: "";
        display: none;
      }

      /* Blog Layout - Desktop */
      .blog-container {
        display: grid;
        grid-template-columns: 280px 1fr;
        gap: 3rem;
        padding: 3rem 0;
        max-width: 1200px;
        margin: 0 auto;
        width: 100%;
      }

      .main-content {
        display: flex;
        flex-direction: column;
        gap: 2rem;
        min-width: 0; /* Prevent grid blowout */
        order: 2;
      }

      .sidebar {
        display: flex;
        flex-direction: column;
        gap: 2rem;
        position: sticky;
        top: calc(var(--header-height, 80px) + 2rem);
        height: fit-content;
        max-height: calc(100vh - var(--header-height, 80px) - 4rem);
        overflow-y: auto;
        overflow-x: hidden;
        order: 1;
        align-self: start;
        scroll-behavior: smooth;
        scrollbar-width: thin;
        scrollbar-color: var(--primary-color) transparent;
        background: var(--bg-secondary);
        border-radius: 16px;
        padding: 1.5rem;
        box-shadow: var(--shadow-sm);
        border: 1px solid var(--border-color);
      }

      .sidebar::-webkit-scrollbar {
        width: 6px;
      }

      .sidebar::-webkit-scrollbar-track {
        background: transparent;
      }

      .sidebar::-webkit-scrollbar-thumb {
        background: var(--primary-color);
        border-radius: 3px;
      }

      .sidebar::-webkit-scrollbar-thumb:hover {
        background: var(--primary-hover);
      }

      /* Posts Container with Dynamic Layout */
      .posts-container {
        display: grid;
        gap: 2rem;
        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s ease;
      }

      /* Layout Variations */
      .posts-container.layout-1 {
        grid-template-columns: 1fr;
      }

      .posts-container.layout-2 {
        grid-template-columns: repeat(2, 1fr);
      }

      .posts-container.layout-3 {
        grid-template-columns: repeat(3, 1fr);
      }

      /* Blog Posts - Elegant Card Design */
      .blog-post {
        background: var(--bg-primary);
        border-radius: 20px;
        overflow: hidden;
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        opacity: 1;
        transform: translateY(0) scale(1);
        border: 1px solid var(--border-color);
        position: relative;
        backdrop-filter: blur(10px);
        display: block;
      }

      .blog-post::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: linear-gradient(
          135deg,
          rgba(255, 255, 255, 0.1) 0%,
          rgba(255, 255, 255, 0.05) 100%
        );
        pointer-events: none;
        opacity: 0;
        transition: opacity 0.3s ease;
        border-radius: 20px;
      }

      .blog-post.visible {
        opacity: 1;
        transform: translateY(0) scale(1);
      }

      .blog-post.hidden {
        display: none;
      }

      .blog-post:hover {
        transform: translateY(-8px) scale(1.02);
        box-shadow: 0 20px 40px rgba(70, 187, 229, 0.15),
          0 0 30px rgba(70, 187, 229, 0.1);
        border-color: var(--primary-color);
      }

      .blog-post:hover::before {
        opacity: 1;
      }

      .blog-post:hover .post-image {
        transform: scale(1.05);
      }

      .blog-post:hover .post-category {
        transform: scale(1.05);
        box-shadow: 0 4px 12px rgba(70, 187, 229, 0.3);
      }

      .post-image-container {
        position: relative;
        width: 100%;
        height: 220px;
        overflow: hidden;
        background: linear-gradient(
          135deg,
          var(--primary-light) 0%,
          var(--bg-secondary) 100%
        );
      }

      .post-image {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
        display: block;
      }

      svg.post-image {
        width: 100%;
        height: 100%;
        display: block;
      }

      .post-image-overlay {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: linear-gradient(
          135deg,
          rgba(70, 187, 229, 0.1) 0%,
          rgba(70, 187, 229, 0.05) 50%,
          transparent 100%
        );
        opacity: 0;
        transition: opacity 0.3s ease;
      }

      .blog-post:hover .post-image-overlay {
        opacity: 1;
      }

      .post-content {
        padding: 1.75rem;
        position: relative;
      }

      .post-meta {
        display: flex;
        align-items: center;
        gap: 1rem;
        margin-bottom: 1rem;
        color: var(--text-secondary);
        font-size: 0.875rem;
        flex-wrap: wrap;
      }

      .post-meta i {
        margin-right: 0.25rem;
      }

      .reading-time {
        display: flex;
        align-items: center;
        color: var(--text-light);
        font-size: 0.8rem;
      }

      .post-category {
        background: linear-gradient(
          135deg,
          var(--primary-color) 0%,
          #5b9bd5 100%
        );
        color: white;
        padding: 0.4rem 1rem;
        border-radius: 25px;
        font-size: 0.75rem;
        font-weight: 600;
        letter-spacing: 0.5px;
        text-transform: uppercase;
        box-shadow: 0 2px 8px rgba(70, 187, 229, 0.2);
        transition: all 0.3s ease;
        position: relative;
        overflow: hidden;
      }

      .post-category::before {
        content: "";
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(
          90deg,
          transparent,
          rgba(255, 255, 255, 0.2),
          transparent
        );
        transition: left 0.5s ease;
      }

      .blog-post:hover .post-category::before {
        left: 100%;
      }

      .post-title {
        font-family: "Poppins", sans-serif;
        font-size: 1.4rem;
        font-weight: 700;
        margin-bottom: 1rem;
        color: var(--text-primary);
        line-height: 1.3;
        transition: all 0.3s ease;
      }

      .post-title-link {
        color: inherit;
        text-decoration: none;
        transition: all 0.3s ease;
        background: linear-gradient(
          135deg,
          var(--primary-color),
          var(--primary-color)
        );
        background-size: 0% 2px;
        background-position: 0% 100%;
        background-repeat: no-repeat;
      }

      .post-title-link:hover {
        color: var(--primary-color);
        background-size: 100% 2px;
      }

      .post-title-link:focus {
        outline: 3px solid var(--primary-color);
        outline-offset: 2px;
        border-radius: 4px;
      }

      .post-excerpt {
        color: var(--text-secondary);
        margin-bottom: 1.5rem;
        line-height: 1.7;
        font-size: 0.95rem;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
      }

      .post-footer {
        display: flex;
        justify-content: space-between;
        align-items: center;
      }

      .read-more {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        color: var(--primary-color);
        font-weight: 600;
        text-decoration: none;
        transition: all 0.3s ease;
      }

      .read-more:hover {
        color: var(--primary-hover);
      }

      .post-stats {
        display: flex;
        gap: 1rem;
        color: var(--text-light);
        font-size: 0.8rem;
      }

      .post-stats span {
        display: flex;
        align-items: center;
        gap: 0.25rem;
      }

      /* No Posts Message */
      .no-posts {
        text-align: center;
        padding: 4rem 2rem;
        color: var(--text-secondary);
      }

      .no-posts-icon {
        font-size: 4rem;
        margin-bottom: 1rem;
        color: var(--text-light);
      }

      .no-posts h3 {
        font-size: 1.5rem;
        margin-bottom: 1rem;
      }

      /* Sidebar Widgets */
      .widget {
        background: var(--bg-primary);
        border-radius: 12px;
        padding: 1.5rem;
        box-shadow: none;
        border: 1px solid var(--border-color);
        transition: all 0.3s ease;
      }

      .widget:hover {
        box-shadow: var(--shadow-md);
        transform: translateY(-2px);
      }

      .widget-title {
        font-family: "Poppins", sans-serif;
        font-size: 1.25rem;
        font-weight: 600;
        margin-bottom: 1.5rem;
        color: var(--text-primary);
        position: relative;
        padding-bottom: 0.75rem;
      }

      .widget-title::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 50px;
        height: 3px;
        background: var(--gradient-primary);
        border-radius: 3px;
      }

      .categories-list {
        list-style: none;
      }

      .category-item {
        margin-bottom: 0.75rem;
      }

      .category-link {
        display: flex;
        align-items: center;
        justify-content: space-between;
        color: var(--text-primary);
        text-decoration: none;
        padding: 0.5rem 0;
        transition: all 0.3s ease;
      }

      .category-link:hover {
        color: var(--primary-color);
      }

      .category-count {
        background: var(--bg-secondary);
        color: var(--text-secondary);
        font-size: 0.75rem;
        padding: 0.25rem 0.5rem;
        border-radius: 50px;
      }

      .tags {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
      }

      .tag {
        display: inline-block;
        background: var(--bg-secondary);
        color: var(--text-primary);
        font-size: 0.75rem;
        padding: 0.375rem 0.75rem;
        border-radius: 50px;
        text-decoration: none;
        transition: all 0.3s ease;
      }

      .tag:hover {
        background: var(--primary-color);
        color: white;
      }

      /* Quick Actions Widget */
      .quick-actions {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
      }

      .quick-action-btn {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        padding: 0.75rem 1rem;
        background: var(--bg-secondary);
        color: var(--text-primary);
        text-decoration: none;
        border-radius: 8px;
        transition: all 0.3s ease;
        border: 1px solid var(--border-color);
        font-size: 0.9rem;
        font-weight: 500;
        cursor: pointer;
        font-family: inherit;
      }

      .quick-action-btn:hover {
        background: var(--primary-color);
        color: white;
        transform: translateY(-1px);
        box-shadow: var(--shadow-sm);
      }

      .quick-action-btn i {
        width: 16px;
        text-align: center;
      }

      /* Share Buttons */
      .share-buttons {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
      }

      .share-btn {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        padding: 0.6rem 1rem;
        border-radius: 8px;
        text-decoration: none;
        font-size: 0.85rem;
        font-weight: 500;
        transition: all 0.3s ease;
        border: none;
        cursor: pointer;
        font-family: inherit;
      }

      .share-btn.facebook {
        background: #1877f2;
        color: white;
      }

      .share-btn.facebook:hover {
        background: #166fe5;
        transform: translateY(-1px);
      }

      .share-btn.twitter {
        background: #1da1f2;
        color: white;
      }

      .share-btn.twitter:hover {
        background: #1a91da;
        transform: translateY(-1px);
      }

      .share-btn.linkedin {
        background: #0077b5;
        color: white;
      }

      .share-btn.linkedin:hover {
        background: #006999;
        transform: translateY(-1px);
      }

      .share-btn.copy {
        background: var(--bg-secondary);
        color: var(--text-primary);
        border: 1px solid var(--border-color);
      }

      .share-btn.copy:hover {
        background: var(--primary-color);
        color: white;
        transform: translateY(-1px);
      }

      .share-btn i {
        width: 16px;
        text-align: center;
      }

      /* Pagination */
      .pagination {
        display: flex;
        justify-content: center;
        gap: 0.5rem;
        margin-top: 3rem;
      }

      .page-link {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        border-radius: 8px;
        background: var(--bg-primary);
        color: var(--text-primary);
        text-decoration: none;
        font-weight: 500;
        transition: all 0.3s ease;
        box-shadow: var(--shadow-sm);
        border: 1px solid var(--border-color);
        cursor: pointer;
        font-family: inherit;
        font-size: 0.9rem;
      }

      .page-link:hover:not(:disabled),
      .page-link.active {
        background: var(--primary-color);
        color: white;
        transform: translateY(-2px);
        box-shadow: var(--shadow-md);
      }

      .page-link:disabled {
        opacity: 0.5;
        cursor: not-allowed;
        transform: none;
      }

      .page-link:focus {
        outline: 3px solid var(--primary-color);
        outline-offset: 2px;
      }

      /* Back to Top */
      .back-to-top {
        position: fixed;
        bottom: 2rem;
        right: 2rem;
        width: 50px;
        height: 50px;
        background: var(--primary-color);
        color: white;
        border: none;
        border-radius: 50%;
        display: none;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease;
        box-shadow: var(--shadow-lg);
        z-index: 1000;
        cursor: pointer;
        font-size: 1.2rem;
      }

      .back-to-top.show {
        opacity: 1;
        visibility: visible;
        display: flex;
      }

      .back-to-top:hover {
        transform: translateY(-3px);
        box-shadow: var(--shadow-xl);
        background: var(--primary-hover);
      }

      /* Responsive Styles */
      /* Responsive Layout Adjustments */
      @media (max-width: 1024px) {
        .posts-container.layout-3 {
          grid-template-columns: repeat(2, 1fr);
        }
      }

      @media (max-width: 768px) {
        body {
          padding-top: 70px; /* Shorter header on mobile */
        }

        .blog-container {
          grid-template-columns: 1fr;
          gap: 2rem;
        }

        .main-content {
          order: 2;
        }

        .sidebar {
          order: 1;
          position: static;
          margin-top: 0;
          gap: 1.5rem;
          padding: 1rem;
        }

        .widget {
          padding: 1rem;
        }

        .quick-actions {
          flex-direction: row;
          flex-wrap: wrap;
        }

        .quick-action-btn {
          flex: 1;
          min-width: 120px;
          justify-content: center;
          font-size: 0.8rem;
          padding: 0.6rem 0.8rem;
        }

        .share-buttons {
          flex-direction: row;
          flex-wrap: wrap;
        }

        .share-btn {
          flex: 1;
          min-width: 100px;
          justify-content: center;
          font-size: 0.75rem;
          padding: 0.5rem 0.75rem;
        }

        /* Force single column on mobile */
        .posts-container.layout-2,
        .posts-container.layout-3 {
          grid-template-columns: 1fr !important;
        }

        .layout-controls {
          display: none; /* Hide layout selector on mobile */
        }

        /* Mobile Navigation Fixes */
        .mobile-toggle {
          display: flex !important;
          visibility: visible !important;
          opacity: 1 !important;
        }

        .nav-links {
          position: fixed !important;
          top: 70px !important;
          left: 0 !important;
          right: 0 !important;
          background: var(--bg-primary) !important;
          border: 1px solid var(--border-color) !important;
          border-top: none !important;
          flex-direction: column !important;
          align-items: stretch !important;
          padding: 1rem !important;
          gap: 0 !important;
          opacity: 0 !important;
          visibility: hidden !important;
          transform: translateY(-20px) !important;
          transition: all 0.3s ease !important;
          max-height: 0 !important;
          overflow: hidden !important;
          box-shadow: var(--shadow-xl) !important;
          z-index: 1001 !important;
          border-radius: 0 0 16px 16px !important;
        }

        .nav-links.active {
          opacity: 1 !important;
          visibility: visible !important;
          transform: translateY(0) !important;
          max-height: calc(100vh - 70px) !important;
          overflow-y: auto !important;
        }

        .nav-item {
          width: 100% !important;
          margin-bottom: 0.75rem !important;
        }

        .nav-link {
          display: flex !important;
          justify-content: space-between !important;
          align-items: center !important;
          padding: 1rem 1.25rem !important;
          border-radius: 8px !important;
          background: var(--bg-secondary) !important;
          width: 100% !important;
          font-size: 1rem !important;
          border: 2px solid transparent !important;
        }

        .nav-link:hover {
          background: var(--primary-light) !important;
          border-color: var(--primary-color) !important;
          color: var(--primary-color) !important;
        }

        .dropdown {
          position: static !important;
          opacity: 1 !important;
          visibility: visible !important;
          transform: none !important;
          box-shadow: none !important;
          border: none !important;
          background: var(--bg-tertiary) !important;
          margin-top: 0.75rem !important;
          max-height: 0 !important;
          overflow: hidden !important;
          transition: max-height 0.3s ease !important;
        }

        body.mobile-menu-open {
          overflow: hidden !important;
        }
      }

      @media (max-width: 768px) {
        .category-tabs {
          flex-direction: column;
          align-items: center;
        }

        .category-tab {
          width: 100%;
          max-width: 300px;
          justify-content: center;
        }

        .controls-wrapper {
          flex-direction: column;
          align-items: stretch;
          gap: 1rem;
        }

        .sort-controls {
          justify-content: center;
        }

        .search-container {
          min-width: auto;
          max-width: none;
        }

        .sort-controls {
          justify-content: center;
        }

        .post-title {
          font-size: 1.3rem;
        }

        .post-footer {
          flex-direction: column;
          gap: 1rem;
          align-items: flex-start;
        }
      }

      @media (max-width: 480px) {
        .container {
          padding: 0 1rem;
        }

        .hero-content {
          padding: 2rem 1rem;
        }

        .post-image {
          height: 200px;
        }

        .post-content {
          padding: 1rem;
        }

        .category-filter {
          padding: 1rem 0;
        }

        .content-controls {
          padding: 1rem 0;
        }
      }

      /* Logo image styling */
      .logo-image {
        width: 45px;
        height: 45px;
        display: block;
        border-radius: 50%;
      }

      /* Screen reader only text */
      .sr-only {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
      }

      /* Focus management for better accessibility */
      .category-tab:focus,
      .search-input:focus,
      .sort-select:focus {
        outline: 3px solid var(--primary-color);
        outline-offset: 2px;
      }

      /* Reduced motion support */
      @media (prefers-reduced-motion: reduce) {
        *,
        *::before,
        *::after {
          animation-duration: 0.01ms !important;
          animation-iteration-count: 1 !important;
          transition-duration: 0.01ms !important;
        }
      }

      /* High contrast mode support */
      @media (prefers-contrast: high) {
        .category-tab {
          border-width: 3px;
        }

        .blog-post {
          border: 2px solid var(--border-color);
        }
      }

      /* Error message styles */
      .error-message {
        background: var(--error-color);
        color: white;
        padding: 1rem;
        border-radius: var(--border-radius);
        margin-bottom: 2rem;
        font-weight: 500;
        text-align: center;
        animation: slideIn 0.3s ease;
      }


      /* Loading states */
      .loading {
        opacity: 0.6;
        pointer-events: none;
        cursor: wait;
      }

      /* Enhanced hover states */
      .category-tab:hover:not(.active) {
        background: var(--primary-light);
        transform: translateY(-1px);
      }

      /* Skip link for accessibility */
      .skip-link {
        position: absolute;
        top: -40px;
        left: 6px;
        background: var(--primary-color);
        color: white;
        padding: 8px;
        text-decoration: none;
        border-radius: 4px;
        z-index: 10000;
        transition: top 0.3s ease;
      }

      .skip-link:focus {
        top: 6px;
      }

      /* Performance optimization for animations */
      .blog-post,
      .category-tab,
      .back-to-top {
        will-change: transform;
      }

      .blog-post.visible {
        will-change: auto;
      }

/* Ensure mobile dropdowns work properly */
      @media (max-width: 768px) {
        /* FORCE mobile menu to display full width */
        .nav-links,
        #navLinks,
        ul.nav-links {
          display: flex !important;
          position: fixed !important;
          top: 70px !important;
          left: 0 !important;
          right: 0 !important;
          bottom: 0 !important;
          width: 100vw !important;
          height: auto !important;
          min-height: calc(100vh - 70px) !important;
        }

        .nav-links.active,
        #navLinks.active,
        ul.nav-links.active {
          display: flex !important;
          max-height: calc(100vh - 70px) !important;
          height: auto !important;
        }

        /* Make sure nav links with dropdowns are clearly tappable */
        .nav-item .nav-link {
          position: relative;
          user-select: none;
          -webkit-user-select: none;
          -webkit-tap-highlight-color: rgba(70, 187, 229, 0.2);
          cursor: pointer;
        }

        /* Ensure chevron is visible and clickable */
        .nav-link .fa-chevron-down {
          transition: transform 0.3s ease !important;
          opacity: 1 !important;
          pointer-events: none; /* Let clicks go through to parent link */
        }

        /* Visual feedback when dropdown is open */
        .nav-item.mobile-open > .nav-link,
        .nav-item.mobile-dropdown-open > .nav-link {
          background: rgba(70, 187, 229, 0.15) !important;
          border-color: var(--primary-color, #46bbe5) !important;
        }

        /* Make dropdowns smoother */
        .dropdown {
          transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1),
            padding 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
        }

        /* Ensure dropdown items are visible when parent is open */
        .nav-item.mobile-open .dropdown,
        .nav-item.mobile-dropdown-open .dropdown {
          display: block !important;
          visibility: visible !important;
          opacity: 1 !important;
          pointer-events: auto !important;
        }

        /* Ensure dropdown items are clickable */
        .dropdown-item,
        .dropdown > a {
          pointer-events: auto !important;
          touch-action: manipulation !important;
          user-select: none;
          -webkit-user-select: none;
        }
      }

/* Additional styles for recent posts widget */
      .recent-posts {
        display: flex;
        flex-direction: column;
        gap: 1rem;
      }

      .recent-post {
        display: flex;
        gap: 0.75rem;
        padding-bottom: 1rem;
        border-bottom: 1px solid var(--border-color);
      }

      .recent-post:last-child {
        border-bottom: none;
        padding-bottom: 0;
      }

      .recent-post-thumb {
        width: 60px;
        height: 60px;
        object-fit: cover;
        border-radius: 6px;
        flex-shrink: 0;
        display: block;
      }

      .recent-post-thumb svg {
        width: 100%;
        height: 100%;
        display: block;
      }

      .recent-post-content {
        flex: 1;
      }

      .recent-post-title {
        font-size: 0.9rem;
        font-weight: 600;
        margin-bottom: 0.5rem;
        color: var(--text-primary);
        line-height: 1.3;
      }

      .recent-post-title a {
        color: var(--text-primary);
        text-decoration: none;
        transition: color 0.3s ease;
      }

      .recent-post-title a:hover {
        color: var(--primary-color);
      }

      .recent-post a {
        text-decoration: none;
      }

      .recent-post-meta {
        font-size: 0.75rem;
        color: var(--text-light);
      }

      /* Smooth transitions for filtered posts */
      .blog-post {
        transition: all 0.3s ease;
      }

      .blog-post.visible {
        animation: fadeInUp 0.6s ease forwards;
      }


