/* =============================================================================
 * .cms-content â€” typography cho HTML soáº¡n báº±ng TinyMCE, dÃ¹ng chung admin vÃ  frontend.
 * TinyMCE: body_class = cms-content + content_css trá» file nÃ y, nÃªn trong admin
 * nhÃ¬n tháº¥y gÃ¬ thÃ¬ ngoÃ i trang ra Ä‘Ãºng nhÆ° váº­y.
 * Frontend: bá»c {!! decode($item->content) !!} trong <div class="cms-content">.
 *
 * Chá»‰ style theo tháº», khÃ´ng Ä‘áº·t class riÃªng: ná»™i dung do ngÆ°á»i soáº¡n bÃ i táº¡o ra,
 * há» khÃ´ng biáº¿t class nÃ o tá»“n táº¡i. app.css (Tailwind) khÃ´ng build plugin
 * typography nÃªn class `prose` khÃ´ng cÃ³ tÃ¡c dá»¥ng â€” file nÃ y thay cho nÃ³.
 * ============================================================================= */

 .cms-content {
    /* Khai bÃ¡o font tÆ°á»ng minh vÃ¬ iframe TinyMCE khÃ´ng káº¿ thá»«a font cá»§a trang. */
 
    font-size: 16px;
    /* Quicksand nÃ©t máº£nh, á»Ÿ 400 Ä‘á»c Ä‘oáº¡n dÃ i bá»‹ nháº¡t trÃªn ná»n kem. */
    font-weight: 500;
    line-height: 1.8;
    color: #334155;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.cms-content > *:first-child {
    margin-top: 0;
}

.cms-content > *:last-child {
    margin-bottom: 0;
}

.cms-content p {
    margin: 0 0 0.3rem;
}

.cms-content h1,
.cms-content h2,
.cms-content h3,
.cms-content h4,
.cms-content h5,
.cms-content h6 {
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    font-weight: 700;
    color: #680c0d;
    line-height: 1.3;
    letter-spacing: -0.01em;
}

.cms-content h1 {
    font-size: 1.875rem;
    margin: 2.25rem 0 0.875rem;
}

.cms-content h2 {
    font-size: 1.5rem;
    margin: 1.05rem 0 0.875rem;
}

.cms-content h3 {
    font-size: 1.25rem;
    margin: 1.75rem 0 0.625rem;
}

.cms-content h4,
.cms-content h5,
.cms-content h6 {
    font-size: 1.0625rem;
    font-weight: 600;
    margin: 1.5rem 0 0.5rem;
}

.cms-content a {
    color: #8b1116;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.cms-content a:hover {
    color: #680c0d;
    text-decoration-thickness: 2px;
}

.cms-content a:focus-visible {
    outline: 2px solid #8b1116;
    outline-offset: 2px;
}

.cms-content strong,
.cms-content b {
    font-weight: 700;
    color: #1e293b;
}

.cms-content em,
.cms-content i {
    font-style: italic;
}

/* Tailwind preflight xoÃ¡ list-style vÃ  padding cá»§a ul/ol, pháº£i tráº£ láº¡i. */
.cms-content ul,
.cms-content ol {
    margin: 0 0 1rem;
    padding-left: 1.5rem;
}

.cms-content ul {
    list-style: disc;
}

.cms-content ol {
    list-style: decimal;
}

.cms-content li {
    margin: 0.375rem 0;
    padding-left: 0.25rem;
}

.cms-content li::marker {
    color: #8b1116;
}

.cms-content li > ul,
.cms-content li > ol {
    margin: 0.375rem 0 0;
}

.cms-content blockquote {
    margin: 1.75rem 0;
    padding: 1rem 1.25rem;
    border-left: 4px solid #8b1116;
    background: #f8f3e7;
    font-style: italic;
    color: #4a3b35;
}

.cms-content blockquote p:last-child {
    margin-bottom: 0;
}

.cms-content hr {
    margin: 2.25rem 0;
    border: 0;
    border-top: 1px solid #e4d6bc;
}

.cms-content img,
.cms-content video,
.cms-content iframe {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 1.5rem auto;
    border-radius: 12px;
}

.cms-content iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    border: 0;
}

.cms-content figure {
    margin: 1.5rem 0;
}

.cms-content figure img {
    margin: 0 auto 0.5rem;
}

.cms-content figcaption,
.cms-content .PhotoCMS_Caption,
.cms-content .img-caption,
.cms-content .knc-sol-epi {
    display: block;
    margin: 0.375rem 0 1.5rem;
    font-size: 14px;
    line-height: 1.5;
    color: #737373;
    text-align: center;
}

.cms-content table {
    width: 100%;
    margin: 1.5rem 0;
    border-collapse: collapse;
    font-size: 15px;
    line-height: 1.6;
}

.cms-content th,
.cms-content td {
    border: 1px solid #e4d6bc;
    padding: 0.625rem 0.875rem;
    text-align: left;
    vertical-align: top;
}

.cms-content th {
    background: #f8f3e7;
    font-weight: 700;
    color: #680c0d;
}

.cms-content pre,
.cms-content code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.875em;
}

.cms-content pre {
    margin: 1.5rem 0;
    padding: 1rem;
    max-width: 100%;
    overflow-x: auto;
    white-space: pre;
    background: #f8f3e7;
    border: 1px solid #e4d6bc;
    border-radius: 8px;
}

.cms-content code {
    padding: 0.1em 0.35em;
    background: #f8f3e7;
    border-radius: 4px;
}

.cms-content pre code {
    padding: 0;
    background: none;
    white-space: pre;
}

@media (max-width: 640px) {
    .cms-content {
        font-size: 15px;
        line-height: 1.75;
    }

    .cms-content h2 {
        font-size: 1.3125rem;
    }

    .cms-content h3 {
        font-size: 1.125rem;
    }

    /* Báº£ng lá»‹ch trÃ¬nh/giÃ¡ tour thÆ°á»ng nhiá»u cá»™t: cho cuá»™n ngang thay vÃ¬ bÃ³p chá»¯. */
    .cms-content table {
        display: block;
        overflow-x: auto;
    }
}
