/* Frontend Styles for Book Series Plugin */
/* Uses B4 Manga theme CSS variables for consistent design */

/* Upcoming Manga Releases Shortcode */
.upcoming-manga-releases {
    padding: var(--card-padding);
    margin: var(--main-gap) 0;
    border-radius: var(--card-border-radius);
    background: var(--card-bg-color);
    border: 1px solid var(--card-border-color);
}

.upcoming-manga-releases h3 {
    margin-top: 0;
    margin-bottom: var(--main-gap);
    font-size: var(--font-size-h3);
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
    text-align: center;
}

.releases-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: var(--main-gap);
}

.release-item {
    border-radius: var(--card-border-radius);
    padding: var(--card-padding);
    background: var(--card-bg-color);
    border: 1px solid var(--card-border-color);
    box-shadow: var(--card-shadow);
    transition: var(--button-transition);
}

.release-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.release-thumbnail {
    margin-bottom: calc(var(--main-gap) / 2);
    text-align: center;
}

.release-thumbnail img {
    max-width: 100%;
    height: auto;
    border-radius: var(--input-border-radius);
}

.release-content h4 {
    margin: 0 0 calc(var(--main-gap) / 3) 0;
    font-size: var(--font-size-h4);
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
}

.release-content h4 a {
    text-decoration: var(--link-decoration);
    color: var(--link-color);
    transition: var(--button-transition);
}

.release-content h4 a:hover {
    color: var(--link-color-hover);
}

.release-date {
    margin: calc(var(--main-gap) / 3) 0;
    font-size: var(--font-size-small);
    font-family: var(--font-family-text);
    color: var(--color-text-secondary);
}

.release-excerpt {
    margin-top: calc(var(--main-gap) / 3);
    line-height: var(--line-height-base);
    font-family: var(--font-family-text);
    font-size: var(--font-size-text);
    color: var(--color-text-primary);
}

/* Light Mode - Using theme variables */
.bsp-light-mode {
    background-color: var(--card-bg-color);
    border: 1px solid var(--card-border-color);
}

.bsp-light-mode h3 {
    color: var(--color-text-primary);
}

.bsp-light-mode .release-item {
    background-color: var(--color-bg-primary);
    border: 1px solid var(--color-border-light);
}

.bsp-light-mode .release-content h4 a {
    color: var(--link-color);
}

.bsp-light-mode .release-content h4 a:hover {
    color: var(--color-accent);
}

.bsp-light-mode .release-date {
    color: var(--color-text-secondary);
}

.bsp-light-mode .release-excerpt {
    color: var(--color-text-primary);
}

/* Dark Mode - Using theme variables */
.bsp-dark-mode {
    background-color: var(--color-bg-dark);
    border: 1px solid var(--color-border-dark);
}

.bsp-dark-mode h3 {
    color: var(--color-text-inverse);
}

.bsp-dark-mode .release-item {
    background-color: var(--color-secondary);
    border: 1px solid var(--color-border-dark);
}

.bsp-dark-mode .release-content h4 a {
    color: var(--color-text-inverse);
}

.bsp-dark-mode .release-content h4 a:hover {
    color: var(--color-accent);
}

.bsp-dark-mode .release-date {
    color: var(--color-text-light);
}

.bsp-dark-mode .release-excerpt {
    color: var(--color-text-light);
}

/* Responsive Design */
@media (max-width: 768px) {
    .releases-grid {
        grid-template-columns: 1fr;
    }
    
    .upcoming-manga-releases {
        padding: calc(var(--card-padding) * 0.75);
        margin: calc(var(--main-gap) * 0.75) 0;
    }
    
    .release-item {
        padding: calc(var(--card-padding) * 0.6);
    }
}

@media (max-width: 480px) {
    .upcoming-manga-releases h3 {
        font-size: var(--font-size-h4);
    }
    
    .release-content h4 {
        font-size: var(--font-size-h5);
    }
}

/* Additional utility classes */
.bsp-text-center {
    text-align: center;
}

.bsp-margin-bottom {
    margin-bottom: var(--main-gap);
}

.bsp-no-results {
    text-align: center;
    padding: calc(var(--main-gap) * 2) var(--main-gap);
    font-style: italic;
    font-family: var(--font-family-text);
    color: var(--color-text-muted);
}