/**
 * Global Content Styles
 *
 * @package Zooptimal
 */

/* ==========================================================================
   CONTENT LAYOUT
   ========================================================================== */

.zo-content {
    padding: var(--zo-spacing-2xl) 0;
    min-height: 50vh;
}

.zo-content__grid {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: var(--zo-spacing-2xl);
}

.zo-content__main {
    min-width: 0;
}

/* ==========================================================================
   POSTS
   ========================================================================== */

.zo-post {
    margin-bottom: var(--zo-spacing-2xl);
    padding-bottom: var(--zo-spacing-2xl);
    border-bottom: 1px solid var(--zo-gray-200);
}

.zo-post:last-child {
    border-bottom: none;
}

.zo-post__thumbnail {
    margin-bottom: var(--zo-spacing-lg);
    border-radius: var(--zo-radius-lg);
    overflow: hidden;
}

.zo-post__thumbnail img {
    width: 100%;
    height: auto;
    transition: transform var(--zo-transition-slow);
}

.zo-post__thumbnail a:hover img {
    transform: scale(1.02);
}

.zo-post__header {
    margin-bottom: var(--zo-spacing-md);
}

.zo-post__title {
    font-size: var(--zo-text-2xl);
    font-weight: 700;
    color: var(--zo-gray-900);
    line-height: 1.3;
    margin-bottom: var(--zo-spacing-sm);
}

.zo-post__title a {
    transition: color var(--zo-transition-fast);
}

.zo-post__title a:hover {
    color: var(--zo-primary);
}

.zo-post__meta {
    font-size: var(--zo-text-sm);
    color: var(--zo-gray-500);
    display: flex;
    align-items: center;
    gap: var(--zo-spacing-md);
}

.zo-post__author::before {
    content: '•';
    margin-right: var(--zo-spacing-md);
}

.zo-post__excerpt {
    color: var(--zo-gray-600);
    line-height: 1.7;
    margin-bottom: var(--zo-spacing-lg);
}

.zo-post__footer {
    display: flex;
    align-items: center;
    gap: var(--zo-spacing-md);
}

.zo-post__tags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--zo-spacing-sm);
}

.zo-tag {
    display: inline-block;
    padding: var(--zo-spacing-xs) var(--zo-spacing-sm);
    background-color: var(--zo-gray-100);
    color: var(--zo-gray-600);
    font-size: var(--zo-text-xs);
    border-radius: var(--zo-radius-sm);
    transition: all var(--zo-transition-fast);
}

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

/* Single Post */
.zo-post--single .zo-post__title {
    font-size: var(--zo-text-3xl);
}

.zo-post__content {
    font-size: var(--zo-text-base);
    line-height: 1.8;
    color: var(--zo-gray-700);
}

.zo-post__content h2,
.zo-post__content h3,
.zo-post__content h4 {
    color: var(--zo-gray-900);
    margin-top: var(--zo-spacing-xl);
    margin-bottom: var(--zo-spacing-md);
}

.zo-post__content p {
    margin-bottom: var(--zo-spacing-md);
}

.zo-post__content ul,
.zo-post__content ol {
    margin-bottom: var(--zo-spacing-md);
    padding-left: var(--zo-spacing-xl);
}

.zo-post__content li {
    margin-bottom: var(--zo-spacing-sm);
}

.zo-post__content ul li {
    list-style-type: disc;
}

.zo-post__content ol li {
    list-style-type: decimal;
}

.zo-post__content img {
    border-radius: var(--zo-radius-md);
    margin: var(--zo-spacing-lg) 0;
}

.zo-post__content blockquote {
    border-left: 4px solid var(--zo-primary);
    padding-left: var(--zo-spacing-lg);
    margin: var(--zo-spacing-lg) 0;
    font-style: italic;
    color: var(--zo-gray-600);
}

/* ==========================================================================
   PAGES
   ========================================================================== */

.zo-page__header {
    margin-bottom: var(--zo-spacing-xl);
}

.zo-page__title {
    font-size: var(--zo-text-3xl);
    font-weight: 700;
    color: var(--zo-gray-900);
}

.zo-page__content {
    font-size: var(--zo-text-base);
    line-height: 1.8;
    color: var(--zo-gray-700);
}

/* ==========================================================================
   SIDEBAR
   ========================================================================== */

.zo-sidebar {
    position: sticky;
    top: calc(var(--zo-header-sticky-height) + var(--zo-spacing-lg));
}

.zo-sidebar .widget {
    background-color: var(--zo-gray-50);
    padding: var(--zo-spacing-lg);
    border-radius: var(--zo-radius-lg);
    margin-bottom: var(--zo-spacing-lg);
}

.zo-sidebar .widget-title {
    font-size: var(--zo-text-base);
    font-weight: 600;
    color: var(--zo-gray-900);
    margin-bottom: var(--zo-spacing-md);
    padding-bottom: var(--zo-spacing-sm);
    border-bottom: 2px solid var(--zo-primary);
}

/* ==========================================================================
   BUTTONS
   ========================================================================== */

.zo-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--zo-spacing-sm);
    padding: var(--zo-spacing-sm) var(--zo-spacing-lg);
    font-size: var(--zo-text-sm);
    font-weight: 600;
    border-radius: var(--zo-radius-md);
    transition: all var(--zo-transition-fast);
    cursor: pointer;
    border: none;
    text-decoration: none;
}

.zo-btn--primary {
    background-color: var(--zo-primary);
    color: var(--zo-white);
}

.zo-btn--primary:hover {
    background-color: var(--zo-primary-dark);
}

.zo-btn--secondary {
    background-color: var(--zo-accent);
    color: var(--zo-dark);
}

.zo-btn--secondary:hover {
    background-color: var(--zo-accent-hover);
}

.zo-btn--outline {
    background-color: transparent;
    border: 2px solid var(--zo-primary);
    color: var(--zo-primary);
}

.zo-btn--outline:hover {
    background-color: var(--zo-primary);
    color: var(--zo-white);
}

.zo-btn--large {
    padding: var(--zo-spacing-md) var(--zo-spacing-xl);
    font-size: var(--zo-text-base);
}

.zo-btn--small {
    padding: var(--zo-spacing-xs) var(--zo-spacing-md);
    font-size: var(--zo-text-xs);
}

.zo-btn--full {
    width: 100%;
}

/* ==========================================================================
   PAGINATION
   ========================================================================== */

.navigation.pagination {
    margin-top: var(--zo-spacing-2xl);
}

.nav-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--zo-spacing-sm);
}

.page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 var(--zo-spacing-sm);
    background-color: var(--zo-gray-100);
    color: var(--zo-gray-700);
    border-radius: var(--zo-radius-md);
    font-size: var(--zo-text-sm);
    transition: all var(--zo-transition-fast);
}

.page-numbers:hover {
    background-color: var(--zo-primary);
    color: var(--zo-white);
}

.page-numbers.current {
    background-color: var(--zo-primary);
    color: var(--zo-white);
}

.page-numbers.dots {
    background: none;
}

/* ==========================================================================
   NO CONTENT
   ========================================================================== */

.zo-no-content {
    text-align: center;
    padding: var(--zo-spacing-3xl);
}

.zo-no-content h2 {
    font-size: var(--zo-text-2xl);
    color: var(--zo-gray-900);
    margin-bottom: var(--zo-spacing-md);
}

.zo-no-content p {
    color: var(--zo-gray-500);
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 1024px) {
    .zo-content__grid {
        grid-template-columns: 1fr 250px;
    }
}

@media (max-width: 768px) {
    .zo-content__grid {
        grid-template-columns: 1fr;
    }

    .zo-sidebar {
        position: static;
    }

    .zo-post__title {
        font-size: var(--zo-text-xl);
    }

    .zo-post--single .zo-post__title,
    .zo-page__title {
        font-size: var(--zo-text-2xl);
    }
}
