/**
 * File Path: assets/css/front/mbs-front-single.css
 * Single-book page layout — teaser, synopsis, publisher, word-count,
 * categorization block, and section heading spacing.
 * Component of mbs-front.css — enqueued by MBS_Front_Assets dep: mbs-front.
 * Flat selectors (CSS-002 / CSS-NEST-001 compliance).
 * @package MyBookShowroom
 * @since   1.0.0
 */

/* ==========================================================================
   Teaser — italic marketing blurb rendered between hero and tabs
   ========================================================================== */

.mbs-teaser {
    margin: 1.5rem 0 0;
    padding: 1.25rem 1.5rem;
    background: var(--mbs-surface-muted, #f8f9fa);
    border-left: 4px solid var(--mbs-accent, var(--mbs-teal));
    border-radius: 0 4px 4px 0;
    font-style: italic;
    font-size: 1.0625rem;
    line-height: 1.65;
    color: var(--mbs-text-muted, #555);
}

/* ==========================================================================
   Synopsis — About the Book body text
   ========================================================================== */

.mbs-synopsis {
    max-width: 72ch;
    line-height: 1.75;
    color: var(--mbs-ink, #1f2937);
}

.mbs-synopsis p {
    margin: 0 0 1em;
}

.mbs-synopsis p:last-child {
    margin-bottom: 0;
}

/* ==========================================================================
   Publisher + Imprint metadata lines (hero right-column)
   ========================================================================== */

.mbs-publisher,
.mbs-imprint {
    margin: 0 0 0.5rem;
    font-size: 0.9375rem;
    color: var(--mbs-text-muted, #555);
}

/* ==========================================================================
   Word count / reading time estimate
   ========================================================================== */

.mbs-word-count {
    margin: 0 0 0.75rem;
    font-size: 0.9375rem;
    color: var(--mbs-text-muted, #555);
}

.mbs-reading-time {
    font-style: italic;
    color: var(--mbs-text-light, #7F8C8D);
}

/* ==========================================================================
   Categorization block (genres, tags, themes, content warnings)
   ========================================================================== */

.mbs-categorization {
    margin-top: 1rem;
}

/* ==========================================================================
   Section headings — consistent weight & spacing
   ========================================================================== */

.mbs-section h2 {
    margin: 0 0 1rem;
    font-size: 1.375rem;
    line-height: 1.25;
    color: var(--mbs-text-strong, #111);
}

/* FE-015: Sub-headings inside sections (Book Club h3, Reviews h4) were
   unstyled — they inherited body-text defaults and blended with paragraph
   text. Rules below make them visually distinct from the h2 section title. */

.mbs-section h3 {
    margin: 0 0 0.75rem;
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--mbs-text-strong, #111);
}

.mbs-section h4 {
    margin: 0 0 0.5rem;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--mbs-text-strong, #111);
}

/* ==========================================================================
   External links section (Reader Platforms: Goodreads, StoryGraph, BookBub…)
   ========================================================================== */

.mbs-external-links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

/* When rendered inside the book hero, strip the .mbs-section
   margin / padding / border-top so it sits flush below buy links. */
.mbs-book-hero-details .mbs-external-links {
    margin: 12px 0 0;
    padding: 0;
    border-top: none;
}

.mbs-external-link-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    background: var(--mbs-surface-muted, #f5f5f5);
    border: 1px solid var(--mbs-border-ui, #ccc);
    border-radius: 6px;
    text-decoration: none;
    color: var(--mbs-text, var(--mbs-navy));
    font-size: 0.9rem;
    font-weight: 600;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.mbs-external-link-btn:hover {
    background: var(--mbs-accent, var(--mbs-teal));
    border-color: var(--mbs-accent, var(--mbs-teal));
    color: #fff;
    text-decoration: none;
}

.mbs-external-link-btn svg,
.mbs-external-link-btn img,
.mbs-platform-icon {
    flex-shrink: 0;
    display: inline-block;
    vertical-align: middle;
    width: 24px;
    height: 24px;
    object-fit: contain;
}

/* ==========================================================================
   Responsive — stack external link buttons on narrow viewports
   ========================================================================== */

@media (max-width: 480px) {
    .mbs-external-links {
        flex-direction: column;
        align-items: flex-start;
    }

    .mbs-teaser {
        padding: 1rem 1.25rem;
        font-size: 1rem;
    }
}
