/*
Theme Name:     Newspaper Child theme
Theme URI:      http://themeforest.net/user/tagDiv/portfolio
Description:    Child theme made by tagDiv - customized for Cong Viet Blog
Author:         tagDiv
Author URI:     http://themeforest.net/user/tagDiv/portfolio
Template:       Newspaper
Version:        9.0c
*/

/*  ----------------------------------------------------------------------------
    This file will load automatically when the child theme is active. You can use it
    for custom CSS.
*/

/*  ========================================================================== 
    CONG VIET BLOG - DESIGN TOKENS
    ========================================================================== */
:root {
    --cv-purple: #9333ea;
    --cv-purple-dark: #6b168f;
    --cv-text: #1f2937;
    --cv-muted: #5f6673;
    --cv-border: #e8eaf0;
    --cv-surface: #ffffff;
}

/*  ========================================================================== 
    CONG VIET BLOG - GUTENBERG CALLOUT BOXES

    Workflow:
    Group block -> Styles -> choose a CV style.
    Do not add a manual Gutenberg background to that Group.
    ========================================================================== */

/* Base */
.wp-block-group.is-style-cv-intro,
.wp-block-group.is-style-cv-note,
.wp-block-group.is-style-cv-tip,
.wp-block-group.is-style-cv-warning,
.wp-block-group.is-style-cv-important,
.wp-block-group.is-style-cv-example,
.cv-callout {
    box-sizing: border-box;
    margin-top: 28px;
    margin-bottom: 28px;
    padding: 24px 30px;
    border: 0;
    border-radius: 16px;
    color: var(--cv-text);
    overflow: hidden;
}

.wp-block-group.is-style-cv-intro p,
.wp-block-group.is-style-cv-note p,
.wp-block-group.is-style-cv-tip p,
.wp-block-group.is-style-cv-warning p,
.wp-block-group.is-style-cv-important p,
.wp-block-group.is-style-cv-example p,
.cv-callout p {
    margin-top: 0;
    margin-bottom: 18px;
}

.wp-block-group.is-style-cv-intro p:last-child,
.wp-block-group.is-style-cv-note p:last-child,
.wp-block-group.is-style-cv-tip p:last-child,
.wp-block-group.is-style-cv-warning p:last-child,
.wp-block-group.is-style-cv-important p:last-child,
.wp-block-group.is-style-cv-example p:last-child,
.cv-callout p:last-child {
    margin-bottom: 0;
}

.wp-block-group.is-style-cv-intro ul,
.wp-block-group.is-style-cv-intro ol,
.wp-block-group.is-style-cv-note ul,
.wp-block-group.is-style-cv-note ol,
.wp-block-group.is-style-cv-tip ul,
.wp-block-group.is-style-cv-tip ol,
.wp-block-group.is-style-cv-warning ul,
.wp-block-group.is-style-cv-warning ol,
.wp-block-group.is-style-cv-important ul,
.wp-block-group.is-style-cv-important ol,
.wp-block-group.is-style-cv-example ul,
.wp-block-group.is-style-cv-example ol,
.cv-callout ul,
.cv-callout ol {
    margin-top: 10px;
    margin-bottom: 18px;
}

/* CV - MỞ ĐẦU */
.wp-block-group.is-style-cv-intro,
.cv-callout.cv-callout-intro {
    padding: 30px 34px;
    background: linear-gradient(135deg, #fbfbfd 0%, #f6f7fb 100%) !important;
    border-left: 4px solid var(--cv-purple) !important;
    border-radius: 18px;
    box-shadow: 0 8px 28px rgba(15, 23, 42, 0.045);
}

/* Shared note-style boxes */
.wp-block-group.is-style-cv-note,
.wp-block-group.is-style-cv-tip,
.wp-block-group.is-style-cv-warning,
.wp-block-group.is-style-cv-important,
.wp-block-group.is-style-cv-example,
.cv-callout.cv-callout-note,
.cv-callout.cv-callout-tip,
.cv-callout.cv-callout-warning,
.cv-callout.cv-callout-important,
.cv-callout.cv-callout-example {
    padding: 22px 28px 24px;
    border-radius: 0 16px 16px 0;
}

/*
 * Treat only a real text block as the title.
 * This intentionally does NOT target a generic first child because Gutenberg
 * can insert layout wrappers in the editor.
 */
.wp-block-group.is-style-cv-note > :is(p,h2,h3,h4,h5,h6):first-child,
.wp-block-group.is-style-cv-tip > :is(p,h2,h3,h4,h5,h6):first-child,
.wp-block-group.is-style-cv-warning > :is(p,h2,h3,h4,h5,h6):first-child,
.wp-block-group.is-style-cv-important > :is(p,h2,h3,h4,h5,h6):first-child,
.wp-block-group.is-style-cv-example > :is(p,h2,h3,h4,h5,h6):first-child,
.wp-block-group.is-style-cv-note > .wp-block-group__inner-container > :is(p,h2,h3,h4,h5,h6):first-child,
.wp-block-group.is-style-cv-tip > .wp-block-group__inner-container > :is(p,h2,h3,h4,h5,h6):first-child,
.wp-block-group.is-style-cv-warning > .wp-block-group__inner-container > :is(p,h2,h3,h4,h5,h6):first-child,
.wp-block-group.is-style-cv-important > .wp-block-group__inner-container > :is(p,h2,h3,h4,h5,h6):first-child,
.wp-block-group.is-style-cv-example > .wp-block-group__inner-container > :is(p,h2,h3,h4,h5,h6):first-child,
.cv-callout-title {
    position: relative;
    margin-top: 0 !important;
    margin-bottom: 12px !important;
    padding-left: 29px;
    font-size: 1em;
    font-weight: 700 !important;
    line-height: 1.55;
}

.wp-block-group.is-style-cv-note > :is(p,h2,h3,h4,h5,h6):first-child::before,
.wp-block-group.is-style-cv-tip > :is(p,h2,h3,h4,h5,h6):first-child::before,
.wp-block-group.is-style-cv-warning > :is(p,h2,h3,h4,h5,h6):first-child::before,
.wp-block-group.is-style-cv-important > :is(p,h2,h3,h4,h5,h6):first-child::before,
.wp-block-group.is-style-cv-example > :is(p,h2,h3,h4,h5,h6):first-child::before,
.wp-block-group.is-style-cv-note > .wp-block-group__inner-container > :is(p,h2,h3,h4,h5,h6):first-child::before,
.wp-block-group.is-style-cv-tip > .wp-block-group__inner-container > :is(p,h2,h3,h4,h5,h6):first-child::before,
.wp-block-group.is-style-cv-warning > .wp-block-group__inner-container > :is(p,h2,h3,h4,h5,h6):first-child::before,
.wp-block-group.is-style-cv-important > .wp-block-group__inner-container > :is(p,h2,h3,h4,h5,h6):first-child::before,
.wp-block-group.is-style-cv-example > .wp-block-group__inner-container > :is(p,h2,h3,h4,h5,h6):first-child::before,
.cv-callout-title::before {
    content: "i";
    position: absolute;
    left: 0;
    top: 0.18em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
}

/* CV - GHI CHÚ */
.wp-block-group.is-style-cv-note,
.cv-callout.cv-callout-note {
    background: linear-gradient(135deg, #fbf7ff 0%, #f8f2fd 100%) !important;
    border-left: 4px solid var(--cv-purple) !important;
    box-shadow: 0 5px 20px rgba(147, 51, 234, 0.035);
}
.wp-block-group.is-style-cv-note > :is(p,h2,h3,h4,h5,h6):first-child,
.wp-block-group.is-style-cv-note > .wp-block-group__inner-container > :is(p,h2,h3,h4,h5,h6):first-child,
.cv-callout-note .cv-callout-title { color: var(--cv-purple-dark) !important; }
.wp-block-group.is-style-cv-note > :is(p,h2,h3,h4,h5,h6):first-child::before,
.wp-block-group.is-style-cv-note > .wp-block-group__inner-container > :is(p,h2,h3,h4,h5,h6):first-child::before,
.cv-callout-note .cv-callout-title::before { background: var(--cv-purple); }

/* CV - MẸO */
.wp-block-group.is-style-cv-tip,
.cv-callout.cv-callout-tip {
    background: #f0fdf4 !important;
    border-left: 4px solid #16a34a !important;
}
.wp-block-group.is-style-cv-tip > :is(p,h2,h3,h4,h5,h6):first-child,
.wp-block-group.is-style-cv-tip > .wp-block-group__inner-container > :is(p,h2,h3,h4,h5,h6):first-child { color: #166534 !important; }
.wp-block-group.is-style-cv-tip > :is(p,h2,h3,h4,h5,h6):first-child::before,
.wp-block-group.is-style-cv-tip > .wp-block-group__inner-container > :is(p,h2,h3,h4,h5,h6):first-child::before { background: #16a34a; }

/* CV - CẢNH BÁO */
.wp-block-group.is-style-cv-warning,
.cv-callout.cv-callout-warning {
    background: #fff7ed !important;
    border-left: 4px solid #f97316 !important;
}
.wp-block-group.is-style-cv-warning > :is(p,h2,h3,h4,h5,h6):first-child,
.wp-block-group.is-style-cv-warning > .wp-block-group__inner-container > :is(p,h2,h3,h4,h5,h6):first-child { color: #9a3412 !important; }
.wp-block-group.is-style-cv-warning > :is(p,h2,h3,h4,h5,h6):first-child::before,
.wp-block-group.is-style-cv-warning > .wp-block-group__inner-container > :is(p,h2,h3,h4,h5,h6):first-child::before { background: #f97316; }

/* CV - QUAN TRỌNG */
.wp-block-group.is-style-cv-important,
.cv-callout.cv-callout-important {
    background: #fef2f2 !important;
    border-left: 4px solid #dc2626 !important;
}
.wp-block-group.is-style-cv-important > :is(p,h2,h3,h4,h5,h6):first-child,
.wp-block-group.is-style-cv-important > .wp-block-group__inner-container > :is(p,h2,h3,h4,h5,h6):first-child { color: #991b1b !important; }
.wp-block-group.is-style-cv-important > :is(p,h2,h3,h4,h5,h6):first-child::before,
.wp-block-group.is-style-cv-important > .wp-block-group__inner-container > :is(p,h2,h3,h4,h5,h6):first-child::before { background: #dc2626; }

/* CV - VÍ DỤ */
.wp-block-group.is-style-cv-example,
.cv-callout.cv-callout-example {
    background: #eff6ff !important;
    border-left: 4px solid #2563eb !important;
}
.wp-block-group.is-style-cv-example > :is(p,h2,h3,h4,h5,h6):first-child,
.wp-block-group.is-style-cv-example > .wp-block-group__inner-container > :is(p,h2,h3,h4,h5,h6):first-child { color: #1e40af !important; }
.wp-block-group.is-style-cv-example > :is(p,h2,h3,h4,h5,h6):first-child::before,
.wp-block-group.is-style-cv-example > .wp-block-group__inner-container > :is(p,h2,h3,h4,h5,h6):first-child::before { background: #2563eb; }


/*  ==========================================================================
    CONG VIET BLOG - EXTRA GROUP STYLES
    ========================================================================== */

/* CV - FORMULA
 * Neutral gray surface for formulas, rules, calculations, definitions, etc.
 * No automatic icon/title treatment: every child block keeps its normal style.
 */
.wp-block-group.is-style-cv-formula {
    box-sizing: border-box;
    margin-top: 28px;
    margin-bottom: 28px;
    padding: 22px 28px;
    overflow: hidden;
    color: var(--cv-text);
    background: #f4f5f7 !important;
    border: 1px solid #e4e7ec !important;
    border-radius: 12px;
    box-shadow: none;
}

.wp-block-group.is-style-cv-formula p {
    margin-top: 0;
    margin-bottom: 14px;
}

.wp-block-group.is-style-cv-formula p:last-child {
    margin-bottom: 0;
}

.wp-block-group.is-style-cv-formula code {
    padding: 2px 6px;
    background: rgba(15, 23, 42, 0.06);
    border-radius: 5px;
}

.wp-block-group.is-style-cv-formula .wp-block-code,
.wp-block-group.is-style-cv-formula pre {
    margin: 14px 0 0;
    padding: 14px 16px;
    overflow-x: auto;
    background: #ffffff !important;
    border: 1px solid #dfe3e8;
    border-radius: 8px;
}

/* CV - BORDER
 * Minimal white card with a complete border and no automatic icon/title.
 */
.wp-block-group.is-style-cv-border {
    box-sizing: border-box;
    margin-top: 28px;
    margin-bottom: 28px;
    padding: 24px 28px;
    overflow: hidden;
    color: var(--cv-text);
    background: #ffffff !important;
    border: 1px solid #d9dde5 !important;
    border-radius: 14px;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.025);
}

.wp-block-group.is-style-cv-border p {
    margin-top: 0;
    margin-bottom: 16px;
}

.wp-block-group.is-style-cv-border p:last-child {
    margin-bottom: 0;
}

/* CV - PROHIBITED
 * First paragraph/heading is treated as the warning title and receives an X.
 */
.wp-block-group.is-style-cv-prohibited {
    box-sizing: border-box;
    margin-top: 28px;
    margin-bottom: 28px;
    padding: 22px 28px 24px;
    overflow: hidden;
    color: var(--cv-text);
    background: #fff5f5 !important;
    border: 1px solid #fecaca !important;
    border-left: 4px solid #dc2626 !important;
    border-radius: 0 16px 16px 0;
    box-shadow: 0 5px 18px rgba(220, 38, 38, 0.035);
}

.wp-block-group.is-style-cv-prohibited > :is(p,h2,h3,h4,h5,h6):first-child,
.wp-block-group.is-style-cv-prohibited > .wp-block-group__inner-container > :is(p,h2,h3,h4,h5,h6):first-child {
    position: relative;
    margin-top: 0 !important;
    margin-bottom: 12px !important;
    padding-left: 31px;
    color: #991b1b !important;
    font-size: 1em;
    font-weight: 700 !important;
    line-height: 1.55;
}

.wp-block-group.is-style-cv-prohibited > :is(p,h2,h3,h4,h5,h6):first-child::before,
.wp-block-group.is-style-cv-prohibited > .wp-block-group__inner-container > :is(p,h2,h3,h4,h5,h6):first-child::before {
    content: "\00d7";
    position: absolute;
    left: 0;
    top: 0.12em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 19px;
    height: 19px;
    color: #ffffff;
    background: #dc2626;
    border-radius: 50%;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
}

.wp-block-group.is-style-cv-prohibited p {
    margin-top: 0;
    margin-bottom: 16px;
}

.wp-block-group.is-style-cv-prohibited p:last-child {
    margin-bottom: 0;
}

.wp-block-group.is-style-cv-prohibited p:not(:first-child) {
    color: var(--cv-text) !important;
    font-weight: 400 !important;
}

@media (max-width: 767px) {
    .wp-block-group.is-style-cv-formula,
    .wp-block-group.is-style-cv-border,
    .wp-block-group.is-style-cv-prohibited {
        margin-top: 22px;
        margin-bottom: 22px;
        padding: 20px 20px 21px;
    }
}

/*  ========================================================================== 
    RANK MATH FAQ - FRONTEND ACCORDION ONLY

    Gutenberg / wp-admin keeps Rank Math's native editor appearance.
    JavaScript adds .cv-rankmath-accordion-ready only on the public site.
    Answers are collapsed by default after the accordion initializes.
    ========================================================================== */
#rank-math-faq,
.rank-math-block {
    margin: 30px 0;
}

#rank-math-faq .rank-math-list-item,
.rank-math-block .rank-math-list-item {
    position: relative;
    margin: 0 0 14px;
    padding: 0;
    overflow: hidden;
    list-style: none;
    background: #fff;
    border: 1px solid #e8eaf0;
    border-radius: 14px;
    box-shadow: 0 5px 18px rgba(15, 23, 42, 0.035);
    transition: border-color .2s ease, box-shadow .2s ease;
}

#rank-math-faq .rank-math-list-item.cv-faq-open,
.rank-math-block .rank-math-list-item.cv-faq-open {
    border-color: rgba(147, 51, 234, 0.30);
    box-shadow: 0 8px 24px rgba(80, 36, 120, 0.07);
}

#rank-math-faq .rank-math-question,
.rank-math-block .rank-math-question {
    position: relative;
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin: 0 !important;
    padding: 18px 58px 18px 52px !important;
    color: #20242b !important;
    background: linear-gradient(135deg, #fbf9ff 0%, #f7f5fb 100%);
    border: 0;
    cursor: pointer;
    font-family: inherit !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    letter-spacing: normal !important;
    line-height: 1.5 !important;
    text-transform: none !important;
    text-decoration: none !important;
    user-select: none;
}

#rank-math-faq .rank-math-question strong,
.rank-math-block .rank-math-question strong {
    color: inherit !important;
    font: inherit !important;
}

/* Purple question icon */
#rank-math-faq .rank-math-question::before,
.rank-math-block .rank-math-question::before {
    content: "?";
    position: absolute;
    left: 18px;
    top: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--cv-purple);
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
    transform: translateY(-50%);
}

/* Chevron */
#rank-math-faq .rank-math-question::after,
.rank-math-block .rank-math-question::after {
    content: "";
    position: absolute;
    right: 22px;
    top: 50%;
    width: 9px;
    height: 9px;
    border-right: 2px solid #7c3aed;
    border-bottom: 2px solid #7c3aed;
    transform: translateY(-65%) rotate(45deg);
    transform-origin: center;
    transition: transform .2s ease;
}

#rank-math-faq .rank-math-list-item.cv-faq-open .rank-math-question::after,
.rank-math-block .rank-math-list-item.cv-faq-open .rank-math-question::after {
    transform: translateY(-35%) rotate(225deg);
}

#rank-math-faq .rank-math-question:hover,
.rank-math-block .rank-math-question:hover {
    background: linear-gradient(135deg, #f9f5ff 0%, #f4effb 100%);
}

#rank-math-faq .rank-math-question:focus-visible,
.rank-math-block .rank-math-question:focus-visible {
    outline: 3px solid rgba(147, 51, 234, 0.22);
    outline-offset: -3px;
}

#rank-math-faq .rank-math-answer,
.rank-math-block .rank-math-answer {
    box-sizing: border-box;
    margin: 0 !important;
    padding: 18px 22px 21px 52px !important;
    color: var(--cv-text) !important;
    background: #fff;
    border-top: 1px solid #f0edf5;
    font-family: inherit !important;
    font-size: inherit !important;
    font-style: normal !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
    line-height: 1.8 !important;
    text-transform: none !important;
}

/* Default closed state is activated only after JS initializes. */
.cv-rankmath-accordion-ready .rank-math-answer[hidden] {
    display: none !important;
}

#rank-math-faq .rank-math-answer > :first-child,
.rank-math-block .rank-math-answer > :first-child {
    margin-top: 0 !important;
}

#rank-math-faq .rank-math-answer > :last-child,
.rank-math-block .rank-math-answer > :last-child {
    margin-bottom: 0 !important;
}

/* Remove list marker space when Rank Math uses ul/ol list style. */
#rank-math-faq ul,
#rank-math-faq ol,
.rank-math-block ul,
.rank-math-block ol {
    margin-left: 0;
    padding-left: 0;
}

/*  ========================================================================== 
    MOBILE
    ========================================================================== */
@media (max-width: 767px) {
    .wp-block-group.is-style-cv-intro,
    .wp-block-group.is-style-cv-note,
    .wp-block-group.is-style-cv-tip,
    .wp-block-group.is-style-cv-warning,
    .wp-block-group.is-style-cv-important,
    .wp-block-group.is-style-cv-example,
    .cv-callout {
        margin-top: 22px;
        margin-bottom: 22px;
        padding: 20px 18px;
        border-radius: 13px;
    }

    .wp-block-group.is-style-cv-intro,
    .cv-callout.cv-callout-intro {
        padding: 22px 20px;
        border-radius: 14px;
    }

    .wp-block-group.is-style-cv-note,
    .wp-block-group.is-style-cv-tip,
    .wp-block-group.is-style-cv-warning,
    .wp-block-group.is-style-cv-important,
    .wp-block-group.is-style-cv-example,
    .cv-callout.cv-callout-note,
    .cv-callout.cv-callout-tip,
    .cv-callout.cv-callout-warning,
    .cv-callout.cv-callout-important,
    .cv-callout.cv-callout-example {
        border-radius: 0 13px 13px 0;
    }

    #rank-math-faq .rank-math-question,
    .rank-math-block .rank-math-question {
        padding: 16px 50px 16px 46px !important;
        font-size: 17px !important;
    }

    #rank-math-faq .rank-math-question::before,
    .rank-math-block .rank-math-question::before {
        left: 15px;
        width: 21px;
        height: 21px;
    }

    #rank-math-faq .rank-math-question::after,
    .rank-math-block .rank-math-question::after {
        right: 18px;
    }

    #rank-math-faq .rank-math-answer,
    .rank-math-block .rank-math-answer {
        padding: 16px 16px 19px 16px !important;
    }
}

/*  ========================================================================== 
    CONG VIET BLOG - SINGLE POST AUTHOR CARD

    Styles the tagDiv Composer Single Author Box without overriding templates.
    Scoped to single posts and to the stable .tdb-author-box class. Do not use
    generated tagDiv IDs such as .tdi_99 because those can change per render.
    ========================================================================== */
.single-post .tdb-author-box.td_block_wrap {
    position: relative;
    box-sizing: border-box;
    margin-top: 38px !important;
    margin-bottom: 42px !important;
    padding: 28px 30px !important;
    overflow: hidden;
    background: linear-gradient(135deg, #ffffff 0%, #fbf9ff 100%) !important;
    border: 1px solid #ebe7f3 !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 30px rgba(31, 41, 55, 0.055) !important;
}

.single-post .tdb-author-box.td_block_wrap::before {
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    left: 0;
    width: 4px;
    background: linear-gradient(180deg, #9333ea 0%, #8e0000 100%);
}

.single-post .tdb-author-box .tdb-block-inner {
    position: relative;
    z-index: 2;
    display: flex !important;
    align-items: center !important;
    gap: 24px;
    width: 100%;
}

.single-post .tdb-author-box .tdb-author-photo {
    position: relative;
    display: block !important;
    flex: 0 0 112px;
    width: 112px !important;
    height: 112px;
    margin: 0 !important;
    padding: 0 !important;
}

.single-post .tdb-author-box .tdb-author-photo::after {
    content: "";
    position: absolute;
    inset: -5px;
    pointer-events: none;
    border: 1px solid rgba(147, 51, 234, 0.22);
    border-radius: 50%;
}

.single-post .tdb-author-box .tdb-author-photo img.avatar {
    width: 112px !important;
    height: 112px !important;
    max-width: 112px !important;
    object-fit: cover;
    border: 4px solid #fff !important;
    border-radius: 50% !important;
    box-shadow: 0 7px 22px rgba(15, 23, 42, 0.13);
}

.single-post .tdb-author-box .tdb-author-info {
    display: block !important;
    flex: 1 1 auto;
    width: auto !important;
    min-width: 0;
    padding: 0 !important;
    text-align: left;
}

.single-post .tdb-author-box .tdb-author-info::before {
    content: "VỀ TÁC GIẢ";
    display: block;
    margin-bottom: 5px;
    color: #9333ea;
    font-family: var(--td_default_google_font_2, 'Roboto', sans-serif);
    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .12em;
}

.single-post .tdb-author-box .tdb-author-name {
    display: inline-block !important;
    margin: 0 0 7px !important;
    color: #111827 !important;
    font-family: var(--td_default_google_font_2, 'Roboto', sans-serif) !important;
    font-size: 26px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    text-decoration: none !important;
    transition: color .2s ease;
}

.single-post .tdb-author-box .tdb-author-name:hover {
    color: #8e0000 !important;
}

.single-post .tdb-author-box .tdb-author-url {
    display: table !important;
    width: auto;
    margin: 0 0 11px !important;
    padding: 5px 10px;
    color: #8e0000 !important;
    background: rgba(142, 0, 0, 0.055);
    border: 1px solid rgba(142, 0, 0, 0.09);
    border-radius: 999px;
    font-family: var(--td_default_google_font_2, 'Roboto', sans-serif) !important;
    font-size: 11px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
}

.single-post .tdb-author-box .tdb-author-url:hover {
    color: #6b168f !important;
    background: rgba(147, 51, 234, 0.07);
    border-color: rgba(147, 51, 234, 0.16);
}

.single-post .tdb-author-box .tdb-author-descr {
    max-width: 760px;
    margin: 0 !important;
    color: #4b5563 !important;
    font-family: var(--td_default_google_font_2, 'Roboto', sans-serif) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.7 !important;
}

.single-post .tdb-author-box .tdb-author-social {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 15px !important;
}

.single-post .tdb-author-box .tdb-social-item {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff;
    border: 1px solid #e7e7ec;
    border-radius: 50%;
    box-shadow: 0 3px 10px rgba(15, 23, 42, 0.04);
    text-decoration: none !important;
    transition: transform .2s ease, border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.single-post .tdb-author-box .tdb-social-item i,
.single-post .tdb-author-box .tdb-social-item i.td-icon-twitter,
.single-post .tdb-author-box .tdb-social-item i.td-icon-linkedin,
.single-post .tdb-author-box .tdb-social-item i.td-icon-pinterest,
.single-post .tdb-author-box .tdb-social-item i.td-icon-blogger,
.single-post .tdb-author-box .tdb-social-item i.td-icon-vimeo {
    color: #252525 !important;
    font-size: 14px !important;
    line-height: 1 !important;
}

.single-post .tdb-author-box .tdb-social-item:hover {
    transform: translateY(-2px);
    background: #fff7f7;
    border-color: rgba(142, 0, 0, 0.22);
    box-shadow: 0 6px 15px rgba(142, 0, 0, 0.08);
}

.single-post .tdb-author-box .tdb-social-item:hover i {
    color: #8e0000 !important;
}

@media (max-width: 1018px) {
    .single-post .tdb-author-box.td_block_wrap {
        padding: 25px 26px !important;
    }

    .single-post .tdb-author-box .tdb-block-inner {
        gap: 20px;
    }

    .single-post .tdb-author-box .tdb-author-photo,
    .single-post .tdb-author-box .tdb-author-photo img.avatar {
        width: 100px !important;
        height: 100px !important;
        max-width: 100px !important;
    }

    .single-post .tdb-author-box .tdb-author-photo {
        flex-basis: 100px;
    }

    .single-post .tdb-author-box .tdb-author-name {
        font-size: 23px !important;
    }
}

@media (max-width: 767px) {
    .single-post .tdb-author-box.td_block_wrap {
        margin-top: 30px !important;
        margin-bottom: 34px !important;
        padding: 26px 20px 24px !important;
        border-radius: 16px !important;
    }

    .single-post .tdb-author-box.td_block_wrap::before {
        top: 0;
        right: 0;
        bottom: auto;
        left: 0;
        width: auto;
        height: 4px;
        background: linear-gradient(90deg, #9333ea 0%, #8e0000 100%);
    }

    .single-post .tdb-author-box .tdb-block-inner {
        flex-direction: column;
        gap: 16px;
        text-align: center;
    }

    .single-post .tdb-author-box .tdb-author-photo,
    .single-post .tdb-author-box .tdb-author-photo img.avatar {
        width: 96px !important;
        height: 96px !important;
        max-width: 96px !important;
    }

    .single-post .tdb-author-box .tdb-author-photo {
        flex: 0 0 96px;
    }

    .single-post .tdb-author-box .tdb-author-info {
        width: 100% !important;
        padding: 0 !important;
        text-align: center;
    }

    .single-post .tdb-author-box .tdb-author-info::before {
        margin-bottom: 6px;
    }

    .single-post .tdb-author-box .tdb-author-name {
        display: block !important;
        font-size: 22px !important;
    }

    .single-post .tdb-author-box .tdb-author-url {
        margin-right: auto !important;
        margin-left: auto !important;
    }

    .single-post .tdb-author-box .tdb-author-descr {
        font-size: 14px !important;
        line-height: 1.65 !important;
        text-align: left;
    }

    .single-post .tdb-author-box .tdb-author-social {
        justify-content: center;
        margin-top: 16px !important;
    }
}

/*  ========================================================================== 
    CONG VIET BLOG - JUSTIFIED ARTICLE TEXT
    Frontend only. Keep explicit Gutenberg text alignment untouched.
    ========================================================================== */

/* Normal article paragraphs and list items are justified for cleaner reading. */
.single-post .td-post-content p:not(.has-text-align-center):not(.has-text-align-left):not(.has-text-align-right),
.single-post .td-post-content li,
.single-post .tdb_single_content p:not(.has-text-align-center):not(.has-text-align-left):not(.has-text-align-right),
.single-post .tdb_single_content li,
.single-post .entry-content p:not(.has-text-align-center):not(.has-text-align-left):not(.has-text-align-right),
.single-post .entry-content li {
    text-align: justify;
    text-justify: inter-word;
}

/* Explicit Gutenberg alignment must always win. */
.single-post .td-post-content .has-text-align-center,
.single-post .tdb_single_content .has-text-align-center,
.single-post .entry-content .has-text-align-center {
    text-align: center !important;
}

.single-post .td-post-content .has-text-align-left,
.single-post .tdb_single_content .has-text-align-left,
.single-post .entry-content .has-text-align-left {
    text-align: left !important;
}

.single-post .td-post-content .has-text-align-right,
.single-post .tdb_single_content .has-text-align-right,
.single-post .entry-content .has-text-align-right {
    text-align: right !important;
}

/* Do not justify media captions or common centered media UI. */
.single-post .wp-block-image figcaption,
.single-post .wp-block-gallery figcaption,
.single-post .wp-block-video figcaption,
.single-post .wp-caption-text,
.single-post .gallery-caption,
.single-post figure.aligncenter,
.single-post figure.aligncenter figcaption {
    text-align: center !important;
}


/* ========================================================================== 
   Cong Viet Blog - CV - Ket luan - v1.6.2
   A quiet closing box for the key takeaway at the end of a section/article.
   No icon and no automatic title treatment: the whole message remains clean.
   ========================================================================== */
.single-post .wp-block-group.is-style-cv-conclusion {
    box-sizing: border-box;
    margin: 26px 0 30px;
    padding: 20px 24px;
    color: #253047;
    background: linear-gradient(135deg, #fbf8ff 0%, #f8f4ff 100%) !important;
    border: 1px solid #dfc7ff !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 14px rgba(88, 28, 135, .025);
    overflow: hidden;
}

.single-post .wp-block-group.is-style-cv-conclusion :is(p,li) {
    color: #253047 !important;
    font-weight: 700;
    line-height: 1.75;
}

.single-post .wp-block-group.is-style-cv-conclusion p {
    margin-top: 0;
    margin-bottom: 10px;
}

.single-post .wp-block-group.is-style-cv-conclusion p:last-child,
.single-post .wp-block-group.is-style-cv-conclusion ul:last-child,
.single-post .wp-block-group.is-style-cv-conclusion ol:last-child {
    margin-bottom: 0;
}

.single-post .wp-block-group.is-style-cv-conclusion strong {
    font-weight: 800;
}

@media (max-width: 767px) {
    .single-post .wp-block-group.is-style-cv-conclusion {
        margin: 22px 0 26px;
        padding: 18px 18px;
        border-radius: 12px !important;
    }
}

/* ========================================================================== 
   Cong Viet Blog - Additional reusable Group styles - v1.7.0
   Card/Columns styles were removed entirely in this version.
   ========================================================================== */

/* CV - Diem chinh: a compact key-takeaway box. */
.single-post .wp-block-group.is-style-cv-keypoint {
    box-sizing: border-box;
    margin: 26px 0;
    padding: 20px 24px;
    overflow: hidden;
    color: #1f2937;
    background: #f5f9ff !important;
    border: 1px solid #d6e5fb !important;
    border-left: 4px solid #2563eb !important;
    border-radius: 0 14px 14px 0 !important;
    box-shadow: 0 4px 14px rgba(37, 99, 235, .025);
}
.single-post .wp-block-group.is-style-cv-keypoint > :is(p,h2,h3,h4,h5,h6):first-child,
.single-post .wp-block-group.is-style-cv-keypoint > .wp-block-group__inner-container > :is(p,h2,h3,h4,h5,h6):first-child {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
    color: #1d4ed8 !important;
    font-weight: 800 !important;
}
.single-post .wp-block-group.is-style-cv-keypoint > :last-child,
.single-post .wp-block-group.is-style-cv-keypoint > .wp-block-group__inner-container > :last-child {
    margin-bottom: 0 !important;
}

/* CV - Trich dan noi bat: editorial pull quote without changing block type. */
.single-post .wp-block-group.is-style-cv-quote {
    position: relative;
    box-sizing: border-box;
    margin: 30px 0;
    padding: 26px 28px 24px 62px;
    overflow: hidden;
    color: #303747;
    background: #fafafa !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 14px !important;
}
.single-post .wp-block-group.is-style-cv-quote::before {
    content: "“";
    position: absolute;
    top: 11px;
    left: 20px;
    color: #9333ea;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 58px;
    font-weight: 700;
    line-height: 1;
    opacity: .85;
}
.single-post .wp-block-group.is-style-cv-quote :is(p,li) {
    color: #303747 !important;
    font-size: 1.06em;
    line-height: 1.85;
}
.single-post .wp-block-group.is-style-cv-quote p:first-child {
    margin-top: 0;
    font-style: italic;
}
.single-post .wp-block-group.is-style-cv-quote > :last-child,
.single-post .wp-block-group.is-style-cv-quote > .wp-block-group__inner-container > :last-child {
    margin-bottom: 0 !important;
}

/* CV - Checklist: use a List block inside the Group for best results. */
.single-post .wp-block-group.is-style-cv-checklist {
    box-sizing: border-box;
    margin: 26px 0;
    padding: 22px 26px;
    overflow: hidden;
    color: #1f2937;
    background: #f3fbf7 !important;
    border: 1px solid #cfe9da !important;
    border-radius: 14px !important;
}
.single-post .wp-block-group.is-style-cv-checklist > :is(p,h2,h3,h4,h5,h6):first-child,
.single-post .wp-block-group.is-style-cv-checklist > .wp-block-group__inner-container > :is(p,h2,h3,h4,h5,h6):first-child {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
    color: #166534 !important;
    font-weight: 800 !important;
}
.single-post .wp-block-group.is-style-cv-checklist ul {
    margin: 8px 0 0 !important;
    padding-left: 0 !important;
    list-style: none !important;
}
.single-post .wp-block-group.is-style-cv-checklist ul > li {
    position: relative;
    margin: 9px 0;
    padding-left: 30px;
}
.single-post .wp-block-group.is-style-cv-checklist ul > li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: .18em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    color: #fff;
    background: #16a34a;
    border-radius: 50%;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
}
.single-post .wp-block-group.is-style-cv-checklist > :last-child,
.single-post .wp-block-group.is-style-cv-checklist > .wp-block-group__inner-container > :last-child {
    margin-bottom: 0 !important;
}

/* CV - Nguon tham khao: neutral source/reference box. */
.single-post .wp-block-group.is-style-cv-source {
    box-sizing: border-box;
    margin: 24px 0;
    padding: 19px 22px;
    overflow: hidden;
    color: #374151;
    background: #f8fafc !important;
    border: 1px dashed #cbd5e1 !important;
    border-radius: 12px !important;
}
.single-post .wp-block-group.is-style-cv-source > :is(p,h2,h3,h4,h5,h6):first-child,
.single-post .wp-block-group.is-style-cv-source > .wp-block-group__inner-container > :is(p,h2,h3,h4,h5,h6):first-child {
    position: relative;
    margin-top: 0 !important;
    margin-bottom: 9px !important;
    padding-left: 25px;
    color: #475569 !important;
    font-weight: 800 !important;
}
.single-post .wp-block-group.is-style-cv-source > :is(p,h2,h3,h4,h5,h6):first-child::before,
.single-post .wp-block-group.is-style-cv-source > .wp-block-group__inner-container > :is(p,h2,h3,h4,h5,h6):first-child::before {
    content: "↗";
    position: absolute;
    left: 0;
    top: 0;
    color: #64748b;
    font-size: 18px;
    font-weight: 800;
}
.single-post .wp-block-group.is-style-cv-source a {
    color: #1d4ed8;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}
.single-post .wp-block-group.is-style-cv-source > :last-child,
.single-post .wp-block-group.is-style-cv-source > .wp-block-group__inner-container > :last-child {
    margin-bottom: 0 !important;
}

/* CV - Buoc hanh dong: a clear next-step box. */
.single-post .wp-block-group.is-style-cv-action {
    box-sizing: border-box;
    margin: 28px 0;
    padding: 22px 26px;
    overflow: hidden;
    color: #252b3a;
    background: linear-gradient(135deg, #faf7ff 0%, #f6f3ff 100%) !important;
    border: 1px solid #ddd1f7 !important;
    border-radius: 14px !important;
    box-shadow: 0 5px 16px rgba(88, 28, 135, .035);
}
.single-post .wp-block-group.is-style-cv-action > :is(p,h2,h3,h4,h5,h6):first-child,
.single-post .wp-block-group.is-style-cv-action > .wp-block-group__inner-container > :is(p,h2,h3,h4,h5,h6):first-child {
    position: relative;
    margin-top: 0 !important;
    margin-bottom: 11px !important;
    padding-left: 29px;
    color: #6b21a8 !important;
    font-weight: 800 !important;
}
.single-post .wp-block-group.is-style-cv-action > :is(p,h2,h3,h4,h5,h6):first-child::before,
.single-post .wp-block-group.is-style-cv-action > .wp-block-group__inner-container > :is(p,h2,h3,h4,h5,h6):first-child::before {
    content: "→";
    position: absolute;
    left: 0;
    top: -.02em;
    color: #9333ea;
    font-size: 22px;
    font-weight: 800;
    line-height: 1;
}
.single-post .wp-block-group.is-style-cv-action > :last-child,
.single-post .wp-block-group.is-style-cv-action > .wp-block-group__inner-container > :last-child {
    margin-bottom: 0 !important;
}

@media (max-width: 767px) {
    .single-post .wp-block-group:is(.is-style-cv-keypoint,.is-style-cv-checklist,.is-style-cv-source,.is-style-cv-action) {
        padding: 18px 18px;
        border-radius: 12px !important;
    }
    .single-post .wp-block-group.is-style-cv-quote {
        padding: 22px 18px 20px 50px;
        border-radius: 12px !important;
    }
    .single-post .wp-block-group.is-style-cv-quote::before {
        left: 15px;
        font-size: 50px;
    }
}

