 .fs-12 {
     font-size: 12px !important;
 }

 .fs-22 {
     font-size: 22px !important;
 }

 .bg-custom-light {
     background-color: #F2F7FD;
 }

 .text-header {
     color: #056CFF;
     font-size: 29px;
     font-weight: 600;
 }

 /* Hero Section */
 .bg-gradient-primary {
     background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
 }

 /* Single Post Styles */
 .single-post-card {
     overflow: hidden;
     box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1) !important;
 }

 .post-hero-wrapper {
     overflow: hidden;
 }

 .post-hero-overlay {
     background: linear-gradient(45deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.3) 100%);
 }

 .author-avatar {
     width: 50px;
     height: 50px;
     border-radius: 50%;
     background: #f8f9fa;
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .post-content {
     font-size: 1.1rem;
     line-height: 1.8;
     color: #333;
 }

 .post-content img {
     max-width: 100%;
     height: auto;
     border-radius: 8px;
     margin: 1rem 0;
 }

 .post-content h2,
 .post-content h3,
 .post-content h4 {
     color: #2c3e50;
     margin-top: 2rem;
     margin-bottom: 1rem;
 }

 .post-content blockquote {
     border-left: 4px solid #3498db;
     padding-left: 1rem;
     margin: 2rem 0;
     font-style: italic;
     color: #555;
 }

 .post-tags-section {
     background: #f8f9fa !important;
 }

 .tags-cloud .badge:hover {
     background: #007bff !important;
     color: white !important;
     transform: translateY(-2px);
     transition: all 0.3s ease;
 }

 /* Related Posts */
 .related-posts .card:hover {
     transform: translateY(-5px);
     transition: all 0.3s ease;
 }

 /* Blog List Styles */
 .posts-container {
     display: flex;
     flex-direction: column;
     gap: 1.5rem;
 }

 .post-card-modern {
     overflow: hidden;
     transition: all 0.3s ease !important;
 }

 .post-card-modern:hover {
     transform: translateY(-5px);
     box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15) !important;
 }

 .post-image {
     transition: transform 0.3s ease;
 }

 .post-card-modern:hover .post-image {
     transform: scale(1.1);
 }

 .post-overlay {
     background: rgba(0, 0, 0, 0.7);
 }

 .post-title-link {
     transition: color 0.3s ease;
 }

 .post-title-link:hover {
     color: #007bff !important;
 }

 .read-more-btn {
     background: linear-gradient(45deg, #007bff, #0056b3);
     color: white;
     border: none;
     border-radius: 25px;
     padding: 0.5rem 1.5rem;
     font-weight: 600;
     transition: all 0.3s ease;
 }

 .read-more-btn:hover {
     background: linear-gradient(45deg, #0056b3, #004085);
     color: white;
     transform: translateX(5px);
 }


 /* Sidebar Styles */
 .sidebar-sticky {
     position: sticky;
     top: 2rem;
 }

 .sidebar-widget .card-header {
     border: none;
     font-weight: 600;
     background: linear-gradient(45deg, #007bff, #0056b3);
     color: #fff !important;
     border-radius: 5px;
 }

 .search-container {
     position: relative;
 }

 .search-input {
     border-radius: 25px;
     border: 2px solid #e9ecef;
     padding-right: 3rem;
 }

 .search-btn {
     right: 0;
     top: 0;
     border-radius: 0 25px 25px 0;
     padding: 0.375rem 1rem;
 }

 .categories-list {
     display: flex;
     flex-direction: column;
     gap: 0.25rem;
 }

 .category-item {
     transition: background-color 0.3s ease;
 }

 .category-item:hover {
     background-color: #f8f9fa !important;
 }

 .category-link {
     color: #495057;
     font-weight: 500;
     transition: color 0.3s ease;
 }

 .category-link:hover {
     color: #007bff !important;
 }

 .tags-cloud {
     gap: 0.5rem !important;
 }

 /* Pagination */
 .pagination-modern .page-link {
     border: none;
     border-radius: 50px !important;
     padding: 0.75rem 1rem;
     color: #6c757d;
     background: #f8f9fa;
     margin: 0 0.25rem;
     transition: all 0.3s ease;
 }

 .pagination-modern .page-link:hover {
     background: #007bff;
     color: white;
     transform: translateY(-2px);
 }

 .pagination-modern .page-item.active .page-link {
     background: #007bff;
     color: white;
     box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3);
 }

 /* Empty State */
 .no-posts-state {
     background: #f8f9fa;
     border-radius: 15px;
     margin: 2rem 0;
 }

 /* Hover Effects */
 .hover-bg-light:hover {
     background-color: #f8f9fa !important;
 }

 .post-hover-effect {
     cursor: pointer;
 }

 /* Responsive Design */
 @media (max-width: 768px) {
     .post-hero-overlay {
         padding: 2rem 0;
     }

     .single-post-card .card-body {
         padding: 2rem 1.5rem !important;
     }

     .sidebar-sticky {
         position: static;
     }

     .related-posts .row {
         gap: 1rem;
     }

     .recent-post-item {
         flex-direction: column;
         text-align: center;
     }

     .custom-footer-fs {
         font-size: 14px;
     }

 }

 /* Custom scrollbar */
 ::-webkit-scrollbar {
     width: 8px;
 }

 ::-webkit-scrollbar-track {
     background: #f1f1f1;
 }

 ::-webkit-scrollbar-thumb {
     background: #888;
     border-radius: 4px;
 }

 ::-webkit-scrollbar-thumb:hover {
     background: #555;
 }

 /* Animations */
 @keyframes fadeInUp {
     from {
         opacity: 0;
         transform: translateY(30px);
     }

     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 .post-card-modern {
     animation: fadeInUp 0.6s ease-out;
 }

 .sidebar-widget {
     animation: fadeInUp 0.6s ease-out 0.2s both;
 }

 /* Global Typography Styles */
 body {
     line-height: 1.7;
 }

 body p {
     margin-bottom: 12px;
 }

 /* Footer smaller font sizes */
 .footer .nav-link {
     font-size: 0.875rem;
     /* 14px instead of default 16px */
     line-height: 1.4;
 }

 .footer h5 {
     font-size: 1rem;
     /* 16px instead of default 20px */
     font-weight: 600;
 }

 .footer p {
     font-size: 0.875rem;
     /* 14px for address/contact info */
     line-height: 1.5;
 }

 .footer .contact-link {
     font-size: 0.875rem;
 }

 /* Footer responsive improvements */
 .footer .contact-info p {
     line-height: 1.4;
     word-wrap: break-word;
 }

 .footer .social-icons-div {
     display: flex;
     flex-wrap: wrap;
     align-items: center;
 }

 .footer .navbar-brand img {
     transition: opacity 0.3s ease;
 }

.footer .navbar-brand:hover img {
    opacity: 0.8;
}

/* Product Card Styles - Common for all product displays */
.product-card {
    border-radius: 8px;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.product-card:hover {
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1) !important;
    transform: translateY(-5px);
}

.product-card-inner {
    border-radius: 8px;
    overflow: hidden;
}

.card-img-wrapper {
    height: 250px;
    border-radius: 8px 8px 0 0;
    overflow: hidden;
}

.product-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease, filter 0.3s ease;
}

.product-card:hover .product-image {
    transform: scale(1.1);
}

.product-overlay {
    background: rgba(0, 0, 0, 0.7);
    transition: opacity 0.3s ease;
}

.product-card:hover .product-overlay {
    opacity: 1 !important;
}

/* Sold Out Overlay Styles */
.sold-out-overlay {
    opacity: 1 !important;
}

.product-card:hover .sold-out-overlay {
    opacity: 0 !important;
}

.sold-out-text {
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 3px;
    background: rgba(89, 89, 89, 0.9);
    padding: 12px 24px;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(10px);
}

/* Button Styles */
.view-product-btn,
.add-to-cart-btn {
    transition: all 0.2s ease;
}

.view-product-btn:hover {
    transform: scale(1.05);
}

.add-to-cart-btn:hover {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
    color: white;
}

/* Out of stock cart button styling */
.add-to-cart-btn.text-muted {
    border-color: var(--bs-gray-400) !important;
    color: var(--bs-gray-600) !important;
}

.add-to-cart-btn.text-muted:hover {
    background-color: transparent !important;
    border-color: var(--bs-gray-400) !important;
    color: var(--bs-gray-600) !important;
}

/* List View Styles */
.product-card-list {
    transition: box-shadow 0.3s ease;
    cursor: pointer;
}

.product-card-list:hover {
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12) !important;
}

.product-card-list .card-img-wrapper {
    height: 200px;
}

/* Loading State */
.product-image[loading="lazy"] {
    filter: blur(2px);
}

.product-image.loaded {
    filter: blur(0);
}

/* Toast Styles */
.toast-container {
    z-index: 9999;
}

.toast {
    min-width: 350px;
    max-width: 500px;
    margin-bottom: 0.5rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    border: none;
    backdrop-filter: blur(10px);
}

.toast .toast-body {
    font-weight: 500;
    padding: 0.75rem 1rem;
}

.toast .btn-close {
    opacity: 0.8;
}

.toast .btn-close:hover {
    opacity: 1;
}

 /* Mobile footer adjustments */
 @media (max-width: 768px) {
     .footer {
         padding-top: 2rem;
     }

     .footer .col-lg-2,
     .footer .col-lg-3 {
         margin-bottom: 2rem;
     }

     .footer h5 {
         font-size: 1rem !important;
         margin-bottom: 1rem !important;
     }

     .footer .nav-link {
         font-size: 0.8rem;
         padding: 0.25rem 0;
     }

     .footer .contact-info p {
         font-size: 0.85rem;
     }

     .footer .icon-custom {
         width: 35px !important;
         height: 35px !important;
         font-size: 14px !important;
     }
 }

 @media (max-width: 576px) {
     .footer .container {
         padding-left: 15px;
         padding-right: 15px;
     }

     .footer .col-sm-6 {
         padding-left: 10px;
         padding-right: 10px;
     }

     .footer .navbar-brand img {
         max-width: 150px;
     }
 }