/* EvanPress Structural CSS */
:root {
    --ep-gap: 1.5rem;
    --ep-grid-cols: 1; /* Default to 1 on mobile */
}

@media (min-width: 768px) {
    :root {
        --ep-grid-cols: 2;
    }
}

@media (min-width: 1024px) {
    :root {
        /* On desktop, layouts will override this inline, but default to 3 */
        --ep-grid-cols: 3;
    }
}

/* Base Block Container */
.ep-block {
    margin-bottom: 3rem;
}

/* Grid Layout */
.ep-layout-grid {
    display: grid;
    grid-template-columns: repeat(var(--ep-grid-cols, 1), minmax(0, 1fr));
    gap: var(--ep-gap);
}

/* Featured Layout */
.ep-layout-featured {
    display: grid;
    gap: var(--ep-gap);
    grid-template-columns: 1fr;
}

@media (min-width: 1024px) {
    .ep-layout-featured {
        /* Base desktop featured ratio, 2/3 and 1/3 */
        grid-template-columns: 2fr 1fr;
    }

    .ep-layout-featured-right {
        /* Swap positions */
        grid-template-columns: 1fr 2fr;
    }
    
    .ep-layout-featured-right .ep-featured-primary {
        order: 2;
    }
    
    .ep-layout-featured-right .ep-featured-secondary {
        order: 1;
    }
}

.ep-featured-secondary {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--ep-gap);
}

@media (min-width: 768px) and (max-width: 1023px) {
    .ep-featured-secondary {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Classic Card Styles */
.ep-card-classic {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.ep-card-classic .ep-card-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 0.5rem;
}

.ep-card-classic .ep-card-title {
    margin: 0;
    font-size: 1.25rem;
    line-height: 1.4;
}

.ep-card-classic .ep-card-title a {
    text-decoration: none;
    color: inherit;
}

.ep-card-classic .ep-card-category a {
    text-transform: uppercase;
    font-size: 0.75rem;
    font-weight: bold;
    color: var(--ep-primary-color, #2563eb);
}

.ep-card-classic .ep-card-meta {
    font-size: 0.875rem;
    color: #6b7280;
}
