/* ================================================================
   NOYO Labs AI Blogger — Public / Frontend styles
   Loaded only on single posts generated by the plugin.
   ================================================================ */

/* ── Table of Contents ──────────────────────────────────────────── */

.nlb-toc {
    background: #f8f7fc;
    border-left: 4px solid #52389b;
    border-radius: 6px;
    padding: 18px 22px 18px 20px;
    margin: 28px 0 32px;
    display: inline-block;
    min-width: 260px;
    max-width: 100%;
    box-sizing: border-box;
}

.nlb-toc__title {
    margin: 0 0 10px;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #52389b;
}

.nlb-toc__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.nlb-toc__list > li {
    margin: 0;
    padding: 4px 0;
    line-height: 1.45;
}

.nlb-toc__list > li > a {
    font-weight: 600;
    font-size: 0.95rem;
    color: #2c2c2c;
    text-decoration: none;
    transition: color 0.15s;
}

.nlb-toc__list > li > a:hover {
    color: #52389b;
    text-decoration: underline;
}

/* H3 sub-list */
.nlb-toc__sublist {
    margin: 4px 0 2px 16px;
    padding: 0;
    list-style: none;
    border-left: 2px solid #d9d3ef;
    padding-left: 12px;
}

.nlb-toc__sublist li {
    margin: 0;
    padding: 3px 0;
    line-height: 1.4;
}

.nlb-toc__sublist a {
    font-size: 0.88rem;
    color: #555;
    text-decoration: none;
    font-weight: 400;
    transition: color 0.15s;
}

.nlb-toc__sublist a:hover {
    color: #52389b;
    text-decoration: underline;
}

/* ── Article body lists (generated content) ─────────────────── */

/*
 * Unordered lists — clean bullet style that renders clearly in
 * both Gutenberg themes and classic themes.
 */
.entry-content ul:not(.nlb-toc__list):not(.nlb-toc__sublist),
.post-content  ul:not(.nlb-toc__list):not(.nlb-toc__sublist),
.nlb-article-body ul {
    margin: 12px 0 18px 0;
    padding-left: 1.4em;
    list-style: disc;
}

.entry-content ul li,
.post-content  ul li,
.nlb-article-body ul li {
    margin-bottom: 6px;
    line-height: 1.6;
}

/* Ordered / step lists */
.entry-content ol,
.post-content  ol,
.nlb-article-body ol {
    margin: 12px 0 18px 0;
    padding-left: 1.4em;
    list-style: decimal;
}

.entry-content ol li,
.post-content  ol li,
.nlb-article-body ol li {
    margin-bottom: 8px;
    line-height: 1.6;
}

/* Counter-based ordered list (bolder step numbers) */
.entry-content ol li::marker,
.post-content  ol li::marker {
    font-weight: 700;
    color: #52389b;
}

/* ── Definition snippet box ──────────────────────────────────── */

/*
 * Targets the pattern "**Term**: definition…" rendered as
 * <p><strong>Term</strong>: …</p> by WordPress / the theme.
 * Gives it a subtle highlight that helps Google identify it
 * as a definitive answer block.
 */
.entry-content p > strong:first-child,
.post-content  p > strong:first-child {
    color: #52389b;
}

/* Smooth scroll for anchor links */
html {
    scroll-behavior: smooth;
}

/* Small offset so fixed headers don't cover the target heading */
h2[id],
h3[id] {
    scroll-margin-top: 80px;
}

@media ( max-width: 640px ) {
    .nlb-toc {
        display: block;
        padding: 14px 16px;
    }
}
