/* Color scheme - Green palette based on #3a8b54 */
:root {
   --green-primary: #3a8b54;
   --green-hover: #2d6e41;
   --green-light: #4fa968;
}

/* Container and layout */
.container {
   max-width: 800px;
}

/* Links */
a {
   color: var(--green-primary);
   transition: color 0.2s ease;
}

a:hover {
   color: var(--green-hover);
}

[data-bs-theme="dark"] a {
   color: var(--green-light);
}

[data-bs-theme="dark"] a:hover {
   color: var(--green-primary);
}

/* Buttons */
.btn-primary {
   background-color: var(--green-primary);
   border-color: var(--green-primary);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
   background-color: var(--green-hover);
   border-color: var(--green-hover);
}

.btn-link {
   color: var(--green-primary);
}

.btn-link:hover {
   color: var(--green-hover);
}

[data-bs-theme="dark"] .btn-link {
   color: var(--green-light);
}

[data-bs-theme="dark"] .btn-link:hover {
   color: var(--green-primary);
}

/* Pagination links */
.page-link {
   color: var(--green-primary);
}

.page-link:hover {
   color: var(--green-hover);
   background-color: #f0f7f3;
   border-color: var(--green-primary);
}

[data-bs-theme="dark"] .page-link {
   color: var(--green-light);
   background-color: #212529;
   border-color: #495057;
}

[data-bs-theme="dark"] .page-link:hover {
   color: var(--green-primary);
   background-color: #1a3a25;
   border-color: var(--green-primary);
}

/* Posts styling */
.post {
   line-height: 1.6;
   padding-top: 2rem;
   border-top: 1px solid #dee2e6;
}

.post:first-child {
   border-top: none;
   padding-top: 0;
}

[data-bs-theme="dark"] .post {
   border-top-color: #495057;
}

.post-meta {
   font-size: 0.875rem;
   font-weight: 500;
}

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

.post-content {
   display: block;
}

.post-content img {
   max-width: 100%;
   height: auto;
   display: block;
   margin: 1.5rem auto;
}

.post-content h1,
.post-content h2,
.post-content h3,
.post-content h4,
.post-content h5,
.post-content h6 {
   margin-top: 1.5rem;
   margin-bottom: 0.75rem;
}

.post-content ul,
.post-content ol {
   margin-left: 1.5rem;
   margin-bottom: 1rem;
}

.post-content blockquote {
   border-left: 3px solid #dee2e6;
   padding-left: 1rem;
   margin-left: 0;
   margin-bottom: 1rem;
   color: #6c757d;
}

[data-bs-theme="dark"] .post-content blockquote {
   border-left-color: #495057;
}

.post-content pre {
   background-color: #f8f9fa;
   padding: 1rem;
   border-radius: 0.25rem;
   overflow-x: auto;
   margin-bottom: 1rem;
}

[data-bs-theme="dark"] .post-content pre {
   background-color: #212529;
}

.post-content code {
   background-color: #f8f9fa;
   padding: 0.125rem 0.25rem;
   border-radius: 0.25rem;
   font-size: 0.875em;
}

[data-bs-theme="dark"] .post-content code {
   background-color: #212529;
}

.post-content pre code {
   background-color: transparent;
   padding: 0;
}

/* Single post page */
.post-single .post-meta {
   display: block;
   margin-bottom: 1rem;
}

.post-single .post-content {
   display: block;
}

/* Responsive adjustments */
@media (max-width: 768px) {
   .container {
      padding-left: 1rem;
      padding-right: 1rem;
   }
}

