/* ============================================================
   LinguoPrep Blog Template v2.0 — blog.css
   Author: S Raj Brar | linguoprep.com
   All rules scoped under .lpb-page-wrap to avoid theme conflicts
   Background: #FFFDF9 | Brand: #FF0100 | Font: Outfit
   ============================================================ */

/* ── PAGE WRAP — overrides theme background on blog posts ── */
.lpb-page-wrap {
    background: #FFFDF9 !important;
    min-height: 100vh;
    font-family: 'Outfit', sans-serif;
}

/* Force page background */
body.single-post,
body.single {
    background: #FFFDF9 !important;
}

/* Kill any theme wrappers that add dark background */
body.single #page,
body.single .site,
body.single #content,
body.single #primary,
body.single #main,
body.single .site-content,
body.single .wp-site-blocks {
    background: #FFFDF9 !important;
}

/* ── CONTAINER ── */
.lpb-container {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 24px;
}

/* ── POST HEADER ── */
.lpb-post-header {
    background: #f2f0eb;
    padding: 52px 0 40px;
    border-bottom: 1px solid #e0ddd6;
}

.lpb-cat-label {
    display: inline-block;
    font-family: 'Outfit', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
    color: #FF0100;
    text-decoration: none;
    text-transform: uppercase;
    margin-bottom: 16px;
}

.lpb-post-title {
    font-family: 'Outfit', sans-serif !important;
    font-size: 40px !important;
    font-weight: 800 !important;
    color: #1a1a1a !important;
    line-height: 1.25 !important;
    margin: 0 0 18px !important;
    letter-spacing: -.3px;
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
}

.lpb-post-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    font-family: 'Outfit', sans-serif;
    font-size: 13px;
    color: #888;
    margin-bottom: 16px;
}
.lpb-sep { color: #ccc; }
.lpb-post-meta strong { color: #444; font-weight: 600; }

.lpb-post-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.lpb-tag {
    display: inline-block;
    font-family: 'Outfit', sans-serif;
    font-size: 11px;
    font-weight: 600;
    color: #CC0000;
    background: #fff3f3;
    border: 1px solid #ffcccc;
    border-radius: 20px;
    padding: 3px 12px;
    text-decoration: none;
}

/* ── FEATURED IMAGE ── */
.lpb-featured-wrap {
    width: 100%;
    max-height: 460px;
    overflow: hidden;
    background: #ede9e3;
}
.lpb-featured-img {
    width: 100%;
    height: 460px;
    object-fit: cover;
    display: block;
}

/* ── LAYOUT ── */
.lpb-layout {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 48px;
    padding: 48px 0 72px;
    align-items: start;
    background: #FFFDF9;
}

/* ── SIDEBAR STICKY ── */
.lpb-sidebar { position: relative; }
.lpb-sidebar-sticky {
    position: sticky;
    top: 90px;
    display: flex;
    flex-direction: column;
    gap: 22px;
}
.lpb-sidebar-widget {
    background: #fff;
    border: 1px solid #e8e3da;
    border-radius: 12px;
    padding: 20px 22px;
}
.lpb-widget-title {
    font-family: 'Outfit', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin: 0 0 14px !important;
    padding-bottom: 10px;
    border-bottom: 1px solid #f0ebe3;
    text-transform: uppercase;
    letter-spacing: .06em;
    background: transparent !important;
}

/* ── TOC ── */
.lpb-toc {
    background: #f2f0eb;
    border: 1px solid #e0ddd6;
    border-radius: 12px;
    padding: 22px 26px;
    margin-bottom: 36px;
}
.lpb-toc-heading {
    font-family: 'Outfit', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #1a1a1a;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e0ddd6;
}
.lpb-toc-list {
    list-style: none;
    padding: 0;
    margin: 0;
    counter-reset: toc;
}
.lpb-toc-list li {
    counter-increment: toc;
    display: flex;
    align-items: baseline;
    gap: 10px;
    padding: 6px 0;
    border-bottom: 1px solid #eae6df;
}
.lpb-toc-list li:last-child { border-bottom: none; }
.lpb-toc-list li::before {
    content: counter(toc) ".";
    font-family: 'Outfit', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #FF0100;
    flex-shrink: 0;
    min-width: 18px;
}
.lpb-toc-list a {
    font-family: 'Outfit', sans-serif;
    font-size: 13px;
    color: #333;
    text-decoration: none;
    line-height: 1.4;
    transition: color .2s;
}
.lpb-toc-list a:hover,
.lpb-toc-list a.lpb-active {
    color: #FF0100;
    font-weight: 600;
}

/* ============================================================
   ARTICLE BODY — all scoped, overrides theme heading sizes
   ============================================================ */
.lpb-article-body {
    font-family: 'Outfit', sans-serif;
    font-size: 17px;
    line-height: 1.8;
    color: #1A1F33;
    background: #FFFDF9;
}

/* H1 */
.lpb-article-body h1 {
    font-family: 'Outfit', sans-serif !important;
    font-size: 34px !important;
    font-weight: 800 !important;
    color: #1a1a1a !important;
    line-height: 1.25 !important;
    padding-left: 16px !important;
    border-left: 5px solid #FF0100 !important;
    border-bottom: none !important;
    background: transparent !important;
}
/* H2 */
.lpb-article-body h2 {
    font-family: 'Outfit', sans-serif !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    line-height: 1.3 !important;
    padding-bottom: 8px !important;
    border-bottom: 3px solid #FF0100 !important;
    background: transparent !important;
    display: block !important;
}
/* H3 */
.lpb-article-body h3 {
    font-family: 'Outfit', sans-serif !important;
    font-size: 21px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    background: transparent !important;
    border: none !important;
}
/* H4 */
.lpb-article-body h4 {
    font-family: 'Outfit', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    background: transparent !important;
    border: none !important;
}
/* H5 */
.lpb-article-body h5 {
    font-family: 'Outfit', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #FF0100 !important;
    text-transform: uppercase;
    letter-spacing: .05em;
    background: transparent !important;
    border: none !important;
}
/* H6 */
.lpb-article-body h6 {
    font-family: 'Outfit', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #888 !important;
    text-transform: uppercase;
    letter-spacing: .07em;
    background: transparent !important;
    border: none !important;
}

/* Paragraphs */
.lpb-article-body p {
    font-family: 'Outfit', sans-serif;
    font-size: 17px;
    line-height: 1.8;
    color: #1A1F33;
    background: transparent;
}

/* Links */
.lpb-article-body a {
    color: #FF0100;
    text-decoration: underline;
    text-underline-offset: 3px;
    font-weight: 500;
}
.lpb-article-body a:hover { color: #CC0000; }

/* Bold / Italic */
.lpb-article-body strong,
.lpb-article-body b { font-weight: 700; color: #1a1a1a; }
.lpb-article-body em,
.lpb-article-body i  { font-style: italic; }

/* Mark */
.lpb-article-body mark {
    background: transparent;
    color: #FF0100;
    font-weight: 700;
    padding: 0;
}

/* Tagline */
.lpb-article-body .tagline,
.lpb-article-body p.tagline {
    font-family: 'Outfit', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
    color: #FF0100;
    text-transform: uppercase;
    margin-bottom: 4px;
    background: transparent;
}

/* ── LISTS ── */
.lpb-article-body ul {
    list-style: none !important;
    padding: 0 !important;
    background: transparent;
}
.lpb-article-body ul li {
    position: relative;
    padding-left: 22px !important;
    color: #1A1F33;
    font-size: 17px;
    background: transparent;
    list-style: none !important;
}
.lpb-article-body ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #FF0100;
}
.lpb-article-body ul ul { margin: 8px 0 8px 16px !important; }
.lpb-article-body ul ul li::before {
    background: transparent !important;
    border: 2px solid #FF0100;
}

.lpb-article-body ol {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 22px 0 !important;
    counter-reset: ol-c;
    background: transparent;
}
.lpb-article-body ol li {
    counter-increment: ol-c;
    position: relative;
    padding-left: 30px !important;
    margin-bottom: 10px;
    color: #1A1F33;
    font-size: 17px;
    background: transparent;
    list-style: none !important;
}
.lpb-article-body ol li::before {
    content: counter(ol-c) ".";
    position: absolute;
    left: 0;
    font-weight: 700;
    color: #FF0100;
    font-size: 14px;
}

/* ── BLOCKQUOTE ── */
.lpb-article-body blockquote {
    background: #fff3ec !important;
    border-left: 5px solid #FF0100 !important;
    border-radius: 0 8px 8px 0;
    padding: 18px 22px !important;
    margin: 26px 0 !important;
    font-style: italic;
    color: #333;
    line-height: 1.7;
}
.lpb-article-body blockquote p { margin: 0; background: transparent !important; }

/* ── IMAGES ── */
.lpb-article-body img {
    max-width: 100%;
    height: auto;
    display: block;
    border-radius: 10px;
    margin: 24px 0;
}

/* ── TABLES ── */
.lpb-article-body table {
    width: 100%;
    border-collapse: collapse;
    margin: 24px 0;
    font-size: 15px;
    overflow-x: auto;
    display: block;
}
.lpb-article-body table thead tr { background: #FF0100 !important; }
.lpb-article-body table th {
    padding: 12px 16px;
    font-weight: 700;
    color: #fff !important;
    text-align: left;
    font-size: 13px;
    background: #FF0100 !important;
}
.lpb-article-body table td {
    padding: 11px 16px;
    border-bottom: 1px solid #f0ebe3;
    color: #1A1F33;
    background: #FFFDF9;
}
.lpb-article-body table tbody tr:nth-child(even) td { background: #f5f2ec; }

/* ── CODE ── */
.lpb-article-body code {
    font-family: 'outfit', monospace;
    font-size: 16px;
    background: #f4f4f0;
    border: 1px solid #e8e3da;
    border-radius: 4px;
    padding: 2px 7px;
    color: #CC0000;
}
.lpb-article-body pre {
    background: #FFFDF9;
    color: 000000;
    border-radius: 10px;
    padding: 20px 24px;
    overflow-x: auto;
    margin: 24px 0;
    font-size: 14px;
    line-height: 1.6;
}
.lpb-article-body pre code { background:none;border:none;padding:0;color:inherit; }

/* ── HR ── */
.lpb-article-body hr {
    border: none;
    border-top: 1px solid #e0ddd6;
    margin: 32px 0;
}

/* ── INLINE CTA ── */
.lpb-cta-box {
    background: #FF0100;
    border-radius: 14px;
    padding: 36px;
    margin: 52px 0;
    text-align: center;
}
.lpb-cta-title {
    font-family: 'Outfit', sans-serif;
    font-size: 24px;
    font-weight: 800;
    color: #fff;
    margin-bottom: 8px;
}
.lpb-cta-desc {
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    color: rgba(255,255,255,.85);
    margin-bottom: 22px;
}
.lpb-cta-btn {
    display: inline-block;
    background: #fff;
    color: #FF0100 !important;
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    font-weight: 700;
    padding: 12px 30px;
    border-radius: 7px;
    text-decoration: none !important;
    border: none !important;
    transition: background .2s;
}
.lpb-cta-btn:hover { background: #FFFDF9 !important; color: #FF0100 !important; }

/* ── AUTHOR BOX ── */
.lpb-author-box {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    background: #f2f0eb;
    border: 1px solid #e0ddd6;
    border-radius: 12px;
    padding: 24px;
    margin: 48px 0;
}
.lpb-author-avatar {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
    flex-shrink: 0;
}
.lpb-author-name {
    font-family: 'Outfit', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 6px;
}
.lpb-author-bio {
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    color: #555;
    line-height: 1.6;
}

/* ── RELATED POSTS ── */
.lpb-related { margin: 48px 0 0; }
.lpb-related-heading {
    font-family: 'Outfit', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin: 0 0 20px !important;
    padding-bottom: 8px;
    border-bottom: 3px solid #FF0100 !important;
    display: inline-block;
    background: transparent !important;
}
.lpb-related-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.lpb-related-card {
    text-decoration: none !important;
    border: 1px solid #e0ddd6;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    display: block;
    transition: border-color .2s, transform .2s;
}
.lpb-related-card:hover { border-color: #FF0100; transform: translateY(-2px); }
.lpb-related-img {
    height: 140px;
    background-size: cover;
    background-position: center;
    background-color: #ede9e3;
}
.lpb-related-body { padding: 14px 16px; background: #fff; }
.lpb-related-cat  { font-size:10px;font-weight:700;color:#FF0100;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;display:block; }
.lpb-related-title { font-family:'Outfit',sans-serif;font-size:14px;font-weight:600;color:#1a1a1a;line-height:1.4;margin-bottom:6px; }
.lpb-related-date  { font-size:12px;color:#aaa; }

/* ── PROGRESS BAR ── */
#lpb-progress {
    position: fixed;
    top: 0; left: 0;
    height: 3px;
    width: 0;
    background: #FF0100;
    z-index: 99999;
    transition: width .1s linear;
}

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
    .lpb-layout { grid-template-columns: 1fr 260px; gap: 32px; }
    .lpb-post-title { font-size: 32px !important; }
}
@media (max-width: 768px) {
    .lpb-layout { grid-template-columns: 1fr; padding: 32px 0 48px; }
    .lpb-sidebar { order: 2; }
    .lpb-main    { order: 1; }
    .lpb-sidebar-sticky { position: static; }
    .lpb-post-title { font-size: 26px !important; }
    .lpb-article-body h2 { font-size: 21px !important; }
    .lpb-article-body h3 { font-size: 18px !important; }
    .lpb-related-grid { grid-template-columns: 1fr; }
    .lpb-author-box { flex-direction: column; }
    .lpb-cta-box { padding: 24px 20px; }
    .lpb-container { padding: 0 16px; }
    .lpb-post-header { padding: 32px 0 24px; }
    /* Override theme mobile center-align for our template */
    .lpb-page-wrap,
    .lpb-page-wrap * { text-align: left !important; }
    .lpb-cta-box,
    .lpb-cta-box * { text-align: center !important; }
}
@media (max-width: 480px) {
    .lpb-article-body { font-size: 16px; }
    .lpb-post-title { font-size: 22px !important; }
}
