/* --- 1. CORE STYLES (Matches Index) --- */
    * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Nunito', sans-serif; -webkit-tap-highlight-color: transparent; }
    body { background-color: #ffffff; color: #1f2937; line-height: 1.6; overflow-x: hidden; display: flex; flex-direction: column; min-height: 100vh; }
    a { text-decoration: none; color: inherit; display: block; }
    ul { list-style: none; }

    /* Announcement Bar */
    .announcement-bar { background: linear-gradient(135deg, #000000, #1a1a1a); color: white; text-align: center; padding: 10px 15px; font-weight: 700; font-size: 0.9rem; }
    .announcement-text i { color: #1AFF64; margin-right: 8px; animation: pulse 2s infinite; }
    @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.7; } }

    /* Header */
    header { background-color: #fffffff5; padding: 0 15px; height: 70px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05); position: sticky; top: 0; z-index: 1000; display: flex; align-items: center; }
    .nav-container { display: flex; justify-content: space-between; align-items: center; width: 100%; max-width: 1200px; margin: 0 auto; position: relative; }
    .logo a img { width: 160px; display: block; }

    /* Desktop Menu */
    .desktop-menu { display: flex; align-items: center; gap: 25px; position: absolute; left: 50%; transform: translateX(-50%); }
    .desktop-menu a { color: #333; font-weight: 700; font-size: 1.15rem; transition: color 0.3s; }
    .desktop-menu a:hover, .desktop-menu a.active { color: #1AFF64; }

    /* Search Bar */
    .desktop-search-wrapper { width: 100%; max-width: 300px; margin-left: auto; }
    .search-input-group { display: flex; align-items: center; background: #f3f4f6; border-radius: 50px; padding: 5px 5px 5px 20px; border: 1px solid #e5e7eb; transition: all 0.3s ease; }
    .search-input-group:focus-within { background: #fff; border-color: #1AFF64; box-shadow: 0 0 0 3px rgba(26, 255, 100, 0.1); }
    .search-input-group input { border: none; background: transparent; outline: none; flex: 1; font-size: 1rem; font-weight: 600; color: #333; width: 100%; }
    .search-input-group button { background: #1AFF64; border: none; width: 36px; height: 36px; border-radius: 50%; color: #000; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: transform 0.2s; }
    .search-input-group button:hover { transform: scale(1.05); }

    /* Mobile Icons */
    .mobile-header-icons { display: none; align-items: center; gap: 15px; }
    .icon-btn { background: none; border: none; font-size: 1.3rem; color: #1f2937; padding: 8px; cursor: pointer; transition: color 0.2s; }
    .icon-btn:hover { color: #1AFF64; }

    /* Mobile Overlays */
    .mobile-search-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background-color: #ffffff; z-index: 2000; transform: translateX(-100%); transition: transform 0.3s ease; display: flex; flex-direction: column; }
    .mobile-search-overlay.active { transform: translateX(0); }
    .search-overlay-header { display: flex; align-items: center; padding: 15px; border-bottom: 1px solid #f1f1f1; gap: 15px; background: #fff; }
    .mobile-input-container { flex: 1; } 
    .mobile-input-container input { width: 100%; border: none; outline: none; font-size: 1.1rem; font-weight: 600; background: transparent; }
    .search-suggestions { padding: 20px; }
    .tag { background: #f3f4f6; padding: 8px 16px; border-radius: 20px; font-size: 0.9rem; font-weight: 600; color: #4b5563; cursor: pointer; margin: 5px; display: inline-block; transition: background 0.2s; }
    .tag:hover { background: #e5e7eb; }

    /* Side Menu */
    .side-menu { position: fixed; top: 0; left: -300px; width: 300px; height: 100vh; background-color: #ffffff; transition: left 0.3s ease; z-index: 1500; box-shadow: 2px 0 10px rgba(0,0,0,0.1); display: flex; flex-direction: column; }
    .side-menu.active { left: 0; }
    .side-menu-header { padding: 20px; border-bottom: 1px solid #f1f1f1; display: flex; justify-content: space-between; align-items: center; }
    .side-menu-header h3 { font-size: 1.2rem; font-weight: 800; color: #111; }
    .side-menu-header h3 i { color: #1AFF64; margin-right: 5px; }
    .menu-categories { padding: 20px; }
    .category-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
    .menu-category-item { background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; padding: 15px; text-align: center; display: flex; flex-direction: column; gap: 8px; align-items: center; transition: all 0.2s; }
    .menu-category-item:hover { border-color: #1AFF64; transform: translateY(-2px); box-shadow: 0 4px 10px rgba(0,0,0,0.05); }
    .menu-category-item i { font-size: 1.5rem; color: #1AFF64; }
    .side-nav-links li { border-bottom: 1px solid #f9f9f9; }
    .side-nav-links a { display: flex; align-items: center; padding: 15px 25px; color: #333; font-weight: 600; }
    .side-nav-links a i { width: 30px; color: #666; }
    .side-nav-links a:hover { color: #1AFF64; background: #f9f9f9; }

    /* Footer */
    footer { background-color: #2c3e50; color: white; padding: 40px 0 20px; margin-top: auto; }
    .footer-content { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 30px; padding: 0 20px; }
    .footer-column h3 { font-size: 1.4rem; margin-bottom: 20px; position: relative; padding-bottom: 10px; font-weight: 800; }
    .footer-column h3::after { content: ''; position: absolute; bottom: 0; left: 0; width: 50px; height: 3px; background-color: #1AFF64; }
    .footer-column p { margin-bottom: 20px; line-height: 1.6; color: #ecf0f1; font-weight: 600; }
    .footer-links li { margin-bottom: 12px; }
    .footer-links a { color: #ecf0f1; transition: color 0.3s; display: flex; align-items: center; font-weight: 600; }
    .footer-links a:hover { color: #1AFF64; }
    .social-icons { display: flex; gap: 15px; margin-top: 20px; }
    .social-icons a { display: inline-flex; width: 40px; height: 40px; background-color: rgba(255, 255, 255, 0.1); border-radius: 50%; color: white; align-items: center; justify-content: center; transition: 0.3s; }
    .social-icons a:hover { background-color: #1AFF64; transform: translateY(-3px); }
    .copyright { text-align: center; padding-top: 30px; margin-top: 30px; border-top: 1px solid rgba(255, 255, 255, 0.1); font-size: 0.9rem; color: #bdc3c7; font-weight: 600; }

    /* --- 2. SINGLE POST STYLES --- */
    .single-post-wrapper { max-width: 900px; margin: 40px auto 80px; padding: 0 20px; width: 100%; }
    .breadcrumb { margin-bottom: 20px; font-size: 0.95rem; font-weight: 600; color: #6b7280; }
    .breadcrumb a { color: #0e3042; transition: 0.2s; display: inline-block; }
    .breadcrumb a:hover { color: #1AFF64; }
    .breadcrumb span { margin: 0 8px; color: #d1d5db; }
    .post-header { text-align: center; margin-bottom: 30px; }
    .post-category { background: #0e3042; color: #1AFF64; padding: 6px 14px; border-radius: 6px; font-size: 0.8rem; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; display: inline-block; margin-bottom: 20px; }
    .post-title { font-size: 2.8rem; color: #1f2937; font-weight: 900; line-height: 1.3; margin-bottom: 20px; }
    .post-featured-image { width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; border-radius: 16px; box-shadow: 0 10px 30px rgba(0,0,0,0.08); margin-bottom: 40px; background-color: #f3f4f6; }
    .post-content { font-size: 1.15rem; color: #374151; line-height: 1.8; }
    .post-content p { margin-bottom: 25px; }
    .post-content h2 { font-size: 1.8rem; color: #0e3042; font-weight: 800; margin: 40px 0 20px; }
    .post-content h3 { font-size: 1.4rem; color: #0e3042; font-weight: 700; margin: 30px 0 15px; }
    .post-content ul, .post-content ol { margin-bottom: 25px; padding-left: 20px; }
    .post-content li { margin-bottom: 10px; }
    .post-content strong { color: #111827; }
    .post-content blockquote { border-left: 4px solid #1AFF64; background: #f9fafb; padding: 20px; font-style: italic; border-radius: 0 8px 8px 0; margin-bottom: 25px; color: #4b5563; }
    .post-footer { margin-top: 50px; padding-top: 30px; border-top: 1px solid #e5e7eb; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px; }
    .share-buttons { display: flex; align-items: center; gap: 10px; font-weight: 700; }
    .share-buttons a { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: #f3f4f6; color: #374151; transition: all 0.3s; }
    .share-buttons a:hover { background: #1AFF64; color: #000; transform: translateY(-3px); box-shadow: 0 4px 10px rgba(26, 255, 100, 0.3); }
    .copy-tooltip { font-size: 0.8rem; background: #1AFF64; color: #000; padding: 4px 10px; border-radius: 20px; font-weight: 700; }

    /* --- 3. RELATED POSTS STYLES (EXACTLY MATCHING BLOG.HOME GRID) --- */
    .related-posts-section { margin-top: 60px; padding-top: 40px; border-top: 2px solid #f3f4f6; }
    .related-title { font-size: 1.8rem; color: #0e3042; font-weight: 800; margin-bottom: 30px; position: relative; display: inline-block; }
    .related-title::after { content: ''; position: absolute; bottom: -8px; left: 0; width: 60px; height: 5px; background: #1AFF64; border-radius: 4px; }
    
    /* Blog Grid - exact same as Blog.html */
    .blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
    
    /* Blog Card - exactly matching Blog.html styling */
    a.blog-card {
      background: #fff;
      border-radius: 16px;
      overflow: hidden;
      box-shadow: 0 4px 10px rgba(0, 0, 0, 0.03);
      border: 1px solid #f3f4f6;
      transition: transform 0.3s ease, box-shadow 0.3s ease;
      display: flex;
      flex-direction: column;
      cursor: pointer;
      height: 100%;
    }
    a.blog-card:hover {
      transform: translateY(-5px);
      box-shadow: 0 12px 25px rgba(0, 0, 0, 0.08);
      border-color: #1AFF64;
    }
    .blog-thumb {
      width: 100%;
      aspect-ratio: 16/9;
      background-size: cover;
      background-position: center;
      background-color: #eee;
      position: relative;
    }
    .blog-content {
      padding: 20px;
      display: flex;
      flex-direction: column;
      flex: 1;
    }
    .blog-cat {
      font-size: 0.7rem;
      color: #1AFF64;
      font-weight: 800;
      text-transform: uppercase;
      background: #0e3042;
      padding: 5px 10px;
      border-radius: 6px;
      align-self: flex-start;
      margin-bottom: 12px;
      letter-spacing: 0.5px;
    }
    .blog-title {
      font-size: 1.2rem;
      font-weight: 800;
      color: #1f2937;
      margin-bottom: 10px;
      line-height: 1.4;
    }
    .blog-excerpt {
      font-size: 0.9rem;
      color: #6b7280;
      margin-bottom: 20px;
      line-height: 1.6;
      display: -webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
      overflow: hidden;
      flex: 1;
    }
    .blog-meta {
      display: flex;
      justify-content: space-between;
      align-items: center;
      border-top: 1px solid #f3f4f6;
      padding-top: 15px;
      font-size: 0.8rem;
      color: #9ca3af;
      font-weight: 700;
    }

    /* Responsive */
    @media (max-width: 1024px) { .blog-grid { grid-template-columns: repeat(2, 1fr); } }
    @media (max-width: 768px) {
      .desktop-menu, .desktop-search-wrapper { display: none; }
      .mobile-header-icons { display: flex; }
      .post-title { font-size: 2rem; }
      .post-content { font-size: 1.05rem; }
      .post-footer { flex-direction: column; align-items: flex-start; }
      .blog-grid { grid-template-columns: 1fr; }
    }