 :root {
     --primary-color: #4361ee;
     --secondary-color: #3f37c9;
     --accent-color: #4cc9f0;
     --light-color: #f8f9fa;
     --dark-color: #212529;
     --gray-color: #6c757d;
     --card-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
     --hover-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
     --transition: all 0.3s ease;
 }

 body {
     background-color: #5819a0;
 }

 .hero-section {
     color: white;
     padding: 3rem 0;
     border-radius: 0 0 30px 30px;
 }

 .hero-section h1 {
     font-weight: 700;
     font-size: 3rem;
     margin-bottom: 1rem;
 }

 .hero-section p {
     font-size: 1.2rem;
     opacity: 0.9;
     max-width: 600px;
     margin: 0 auto;
 }

 .search-container {
     position: relative;
     max-width: 600px;
     margin: 0 auto 2rem;
 }

 .search-container i {
     position: absolute;
     left: 20px;
     top: 50%;
     transform: translateY(-50%);
     color: var(--gray-color);
     z-index: 5;
 }

 .search-container input {
     padding-left: 50px;
     border-radius: 50px;
     border: 2px solid #e9ecef;
     height: 55px;
     font-size: 1.1rem;
     transition: var(--transition);
 }

 .search-container input:focus {
     border-color: var(--primary-color);
     box-shadow: 0 0 0 0.25rem rgba(67, 97, 238, 0.25);
 }

 .blog-card {
     background: white;
     border-radius: 15px;
     overflow: hidden;
     box-shadow: var(--card-shadow);
     transition: var(--transition);
     height: 100%;
     border: none;
 }

 .blog-card:hover {
     transform: translateY(-10px);
     box-shadow: var(--hover-shadow);
 }

 .blog-image {
     height: 220px;
     width: 100%;
     object-fit: cover;
     transition: var(--transition);
 }

 .blog-card:hover .blog-image {
     transform: scale(1.05);
 }

 .blog-content {
     padding: 1.5rem;
 }

 .blog-category {
     display: inline-block;
     background: rgba(67, 97, 238, 0.1);
     color: var(--primary-color);
     padding: 5px 12px;
     border-radius: 50px;
     font-size: 0.8rem;
     font-weight: 600;
     margin-bottom: 1rem;
 }

 .blog-title {
     font-size: 1.3rem;
     font-weight: 700;
     margin-bottom: 0.8rem;
     line-height: 1.4;
 }

 .blog-excerpt {
     color: var(--gray-color);
     margin-bottom: 1.5rem;
     display: -webkit-box;
     -webkit-line-clamp: 3;
     -webkit-box-orient: vertical;
     overflow: hidden;
 }


 .no-results {
     text-align: center;
     padding: 3rem;
     color: var(--gray-color);
 }

 .no-results i {
     font-size: 4rem;
     margin-bottom: 1rem;
     color: #dee2e6;
 }

 .loading-spinner {
     display: none;
     text-align: center;
     padding: 2rem;
 }

 @media (max-width: 768px) {
     .hero-section {
         padding: 2.5rem 0;
         border-radius: 0 0 20px 20px;
     }

     .hero-section h1 {
         font-size: 2.2rem;
     }

     .blog-card {
         margin-bottom: 1.5rem;
     }
 }