/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 5.15
*/

/*************** ADD CUSTOM CSS HERE.   ***************/

/* Breadcrumbs above post H1 (Rank Math) */
.entry-breadcrumb {
    font-size: 13px;
    line-height: 1.5;
    margin: 0 0 0.6em;
    color: #00b30f;
}
.entry-breadcrumb a {
    color: #00b30f;
    text-decoration: none;
}
.entry-breadcrumb a:hover {
    color: #00b30f;
    text-decoration: underline;
}
.entry-breadcrumb .separator {
    margin: 0 0.4em;
    color: #00b30f;
}
.entry-breadcrumb .last {
    color: #00b30f;
}

/* Auto TOC ("Nội Dung Chính") on single posts */
.post-toc {
    background: #f6fbf7;
    border: 1px solid #c8e6cd;
    border-left: 4px solid #00b30f;
    padding: 16px 22px 18px;
    margin: 0 0 28px;
    border-radius: 4px;
}
.post-toc h2.post-toc-title,
.post-toc .post-toc-title {
    font-weight: 700;
    font-size: 15px;
    color: #00b30f;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 10px;
    padding: 0;
    line-height: 1.4;
    padding: 0;
}
.post-toc-list {
    list-style: none;
    padding: 0;
    margin: 0;
    counter-reset: post-toc-h2;
}
.post-toc-item {
    counter-increment: post-toc-h2;
    margin: 6px 0;
    padding-left: 28px;
    position: relative;
    line-height: 1.55;
    font-size: 15px;
}
.post-toc-item::before {
    content: "◆";
    position: absolute;
    left: 0;
    top: 0;
    color: #00b30f;
    font-weight: 700;
    min-width: 22px;
}
.post-toc-item a {
    color: #1a1a1a;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: color 0.15s, border-color 0.15s;
}
.post-toc-item a:hover,
.post-toc-item a:focus {
    color: #00b30f;
    border-bottom-color: #00b30f;
}
/* Nested H3 sub-list */
.post-toc-sublist {
    list-style: none;
    padding: 0;
    margin: 6px 0 4px;
    counter-reset: post-toc-h3;
}
.post-toc-subitem {
    counter-increment: post-toc-h3;
    margin: 3px 0;
    padding-left: 36px;
    position: relative;
    line-height: 1.5;
    font-size: 14px;
}
.post-toc-subitem::before {
    content: "◆";
    position: absolute;
    left: 0;
    top: 0;
    color: #00b30f;
    font-weight: 600;
    font-size: 13px;
    min-width: 30px;
}
.post-toc-subitem a {
    color: #444;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: color 0.15s, border-color 0.15s;
}
.post-toc-subitem a:hover,
.post-toc-subitem a:focus {
    color: #00b30f;
    border-bottom-color: #00b30f;
}
/* Smooth anchor scroll + offset so headings don't hide behind sticky header */
html {
    scroll-behavior: smooth;
}
.entry-content h2[id],
.entry-content h3[id] {
    scroll-margin-top: 100px;
}

/* Author box (single post, redesigned with schema.org/Person) */
.post-author {
    display: flex;
    gap: 22px;
    align-items: flex-start;
    background: #fafafa;
    border: 1px solid #ececec;
    border-left: 4px solid #00b30f;
    padding: 24px 26px;
    margin: 36px 0 28px;
    border-radius: 4px;
}
.post-author-avatar {
    flex-shrink: 0;
    display: block;
    width: 110px;
    height: 110px;
    line-height: 0;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
    transition: box-shadow 0.2s, transform 0.2s;
}
.post-author-avatar:hover {
    box-shadow: 0 4px 12px rgba(0, 179, 15, 0.2);
    transform: translateY(-1px);
}
.post-author-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.post-author-body {
    flex: 1;
    min-width: 0;
}
.post-author-label {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #00b30f;
    margin-bottom: 4px;
}
.post-author-name {
    margin: 0 0 10px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    text-transform: none;
    letter-spacing: 0;
}
.post-author-name a {
    color: #1a1a1a;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: color 0.15s, border-color 0.15s;
}
.post-author-name a:hover {
    color: #00b30f;
    border-bottom-color: #00b30f;
}
.post-author-bio {
    color: #444;
    font-size: 14.5px;
    line-height: 1.65;
    margin-bottom: 14px;
}
.post-author-bio p {
    margin: 0 0 8px;
}
.post-author-bio p:last-child {
    margin-bottom: 0;
}
.post-author-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    align-items: center;
    font-size: 13.5px;
}
.post-author-more {
    color: #00b30f;
    text-decoration: none;
    font-weight: 600;
    border-bottom: 1px solid transparent;
    transition: border-color 0.15s;
}
.post-author-more:hover {
    border-bottom-color: #00b30f;
}
.post-author-site {
    color: #888;
    text-decoration: none;
    border-bottom: 1px dotted #bbb;
}
.post-author-site:hover {
    color: #00b30f;
    border-bottom-color: #00b30f;
}
@media (max-width: 600px) {
    .post-author {
        flex-direction: column;
        text-align: center;
        padding: 22px 18px;
        gap: 14px;
    }
    .post-author-avatar {
        margin: 0 auto;
        width: 90px;
        height: 90px;
    }
    .post-author-name {
        font-size: 18px;
    }
    .post-author-meta {
        justify-content: center;
    }
}


/* ==========================================================
   Mai Sơn Law content blocks (.maison-*) — used on lawyer profile,
   about, service pages. Aligned with MASTER design system:
   - Primary teal #0e796d, accent green #00b30f
   - Inter font, 8/12px radius, brand shadow scale
   The `body` prefix gives higher specificity to override the
   inline CSS that the original UX Builder content injects in body.
   ========================================================== */

/* Container & typography */
body .maison-wrapper {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 16.5px;
    line-height: 1.8;
    color: #333;
    max-width: 1000px;
    margin: 0 auto;
}
body .maison-wrapper p {
    margin: 0 0 1.1em;
}
body .maison-wrapper strong {
    color: #0e796d;
    font-weight: 700;
}
body .maison-wrapper a {
    color: #0e796d;
    text-decoration: none;
    border-bottom: 1px solid rgba(14, 121, 109, 0.25);
    transition: color 0.15s, border-color 0.15s;
}
body .maison-wrapper a:hover {
    color: #00b30f;
    border-bottom-color: #00b30f;
}

/* Hero */
body .maison-hero {
    text-align: center;
    padding: 56px 30px;
    background: linear-gradient(135deg, rgba(14, 121, 109, 0.08) 0%, rgba(14, 121, 109, 0.02) 100%);
    border-radius: 12px;
    margin-bottom: 48px;
    box-shadow: 0 2px 14px rgba(14, 121, 109, 0.08);
    border: 1px solid rgba(14, 121, 109, 0.1);
}
body .maison-hero h1 {
    color: #0e796d;
    font-size: clamp(26px, 3.6vw, 36px);
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: -0.3px;
    line-height: 1.2;
    margin: 0 0 14px;
}
body .maison-hero h3 {
    color: #00b30f;
    font-size: 17px;
    font-weight: 600;
    margin: 6px 0 14px;
    line-height: 1.4;
}
body .maison-hero p {
    font-size: 16px;
    line-height: 1.65;
    color: #444;
    max-width: 640px;
    margin: 0 auto 12px;
}
body .maison-hero .kk-star-ratings {
    justify-content: center;
    margin: 6px 0 18px;
}

/* Primary CTA button */
body .maison-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: #0e796d;
    color: #fff !important;
    padding: 13px 28px;
    border-radius: 8px;
    text-decoration: none !important;
    font-weight: 700;
    font-size: 14.5px;
    letter-spacing: 0.3px;
    border: 2px solid transparent;
    box-shadow: 0 2px 7px rgba(14, 121, 109, 0.25);
    transition: background-color 0.25s, transform 0.2s, box-shadow 0.25s;
    cursor: pointer;
}
body .maison-btn:hover {
    background-color: #00b30f;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 179, 15, 0.3);
    color: #fff !important;
}

/* Section H2 */
body .maison-h2 {
    color: #0e796d;
    font-size: clamp(22px, 2.6vw, 26px);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 56px 0 22px;
    padding: 4px 0 4px 18px;
    border-left: 5px solid #00b30f;
    line-height: 1.3;
}

/* Table of contents */
body .maison-toc {
    background: #f4fbf9;
    border: 1px solid rgba(14, 121, 109, 0.25);
    border-radius: 12px;
    padding: 26px 30px;
    margin: 28px 0 40px;
    box-shadow: 0 2px 10px rgba(14, 121, 109, 0.05);
}
body .maison-toc h2,
body .maison-toc h4 {
    margin: 0 0 14px;
    color: #0e796d;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    border-bottom: 1px solid rgba(0, 179, 15, 0.4);
    padding-bottom: 10px;
}
body .maison-toc ul {
    list-style: none;
    padding: 0;
    margin: 0;
    counter-reset: maison-toc-counter;
}
body .maison-toc li {
    counter-increment: maison-toc-counter;
    position: relative;
    padding: 7px 0 7px 38px;
    font-size: 15px;
    line-height: 1.5;
}
body .maison-toc li::before {
    content: counter(maison-toc-counter, decimal-leading-zero);
    position: absolute;
    left: 0;
    top: 7px;
    color: #00b30f;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 0.5px;
}
body .maison-toc a {
    color: #0e796d;
    text-decoration: none;
    border: none;
    transition: color 0.15s;
    font-weight: 500;
}
body .maison-toc a:hover { color: #00b30f; }

/* Stats table */
body .maison-table-container {
    margin: 28px 0 40px;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(14, 121, 109, 0.08);
}
body .maison-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: #fff;
    font-size: 15px;
}
body .maison-table thead {
    background: #0e796d;
}
body .maison-table thead th {
    color: #fff;
    text-align: left;
    padding: 14px 20px;
    font-weight: 700;
    font-size: 13.5px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    border: none;
}
body .maison-table tbody tr {
    transition: background 0.15s;
}
body .maison-table tbody tr:nth-child(even) { background: #f8fbfa; }
body .maison-table tbody tr:hover { background: #eef7f4; }
body .maison-table tbody td {
    padding: 14px 20px;
    border-top: 1px solid #ecf2f0;
    color: #333;
}
body .maison-table tbody td:last-child {
    color: #0e796d;
    font-weight: 700;
    text-align: right;
    font-size: 16px;
}

/* Info box (highlight callout) */
body .maison-info-box {
    background: #0e796d;
    color: #fff;
    border-radius: 8px;
    padding: 14px 22px;
    min-width: 200px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.55;
    box-shadow: 0 2px 7px rgba(14, 121, 109, 0.25);
}
body .maison-info-box strong { color: #fff; }

/* Pull quote */
body .maison-quote {
    background: #0e796d;
    color: #fff;
    padding: 30px 34px 30px 56px;
    margin: 36px 0;
    border-left: 8px solid #00b30f;
    border-radius: 0 12px 12px 0;
    font-size: 17px;
    line-height: 1.7;
    font-style: italic;
    box-shadow: 0 4px 18px rgba(14, 121, 109, 0.22);
    position: relative;
}
body .maison-quote::before {
    content: "\201C";
    position: absolute;
    left: 16px;
    top: 8px;
    font-size: 60px;
    line-height: 1;
    color: rgba(0, 179, 15, 0.85);
    font-family: Georgia, serif;
}
body .maison-quote strong { color: #fff; font-weight: 700; }

/* Service card grid */
body .maison-service-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 20px;
    margin: 30px 0;
}
body .maison-service-card {
    background: #fff;
    border: 1px solid #e2eeea;
    border-radius: 8px;
    padding: 24px 22px;
    box-shadow: 0 2px 7px rgba(0, 0, 0, 0.05);
    transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
}
body .maison-service-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 22px rgba(14, 121, 109, 0.12);
    border-color: #0e796d;
}
body .maison-service-card h3,
body .maison-service-card h4 {
    margin: 0 0 12px;
    font-size: 16px;
    font-weight: 700;
    color: #0e796d;
    line-height: 1.3;
    display: inline-block;
    border-bottom: 2px solid #00b30f;
    padding-bottom: 4px;
}
body .maison-service-card p {
    margin: 0;
    color: #555;
    font-size: 14.5px;
    line-height: 1.65;
}

/* Contact CTA */
body .maison-contact-cta {
    background: #fffcf5;
    border: 2px dashed #00b30f;
    color: #1a1a1a;
    border-radius: 12px;
    padding: 40px 36px;
    margin: 56px 0 28px;
    text-align: center;
}
body .maison-contact-cta h2,
body .maison-contact-cta h3 {
    color: #0e796d;
    margin: 0 0 12px;
    font-size: clamp(22px, 2.6vw, 28px);
    font-weight: 700;
    border: none;
    padding: 0;
    text-transform: none;
    letter-spacing: 0;
}
body .maison-contact-cta p {
    color: #444;
    font-size: 16px;
    margin: 0 0 22px;
    line-height: 1.65;
}
body .maison-contact-cta .maison-btn {
    background-color: #0e796d;
    color: #fff !important;
}
body .maison-contact-cta .maison-btn:hover {
    background-color: #00b30f;
    color: #fff !important;
}

/* Mobile tuning */
@media (max-width: 700px) {
    body .maison-hero { padding: 38px 20px; margin-bottom: 36px; }
    body .maison-hero h1 { font-size: 24px; }
    body .maison-hero h3 { font-size: 16px; }
    body .maison-h2 { margin: 40px 0 18px; font-size: 20px; padding-left: 14px; border-left-width: 4px; }
    body .maison-toc { padding: 20px 22px; }
    body .maison-toc h2,
    body .maison-toc h4 { font-size: 15px; }
    body .maison-table thead th,
    body .maison-table tbody td { padding: 11px 14px; font-size: 14px; }
    body .maison-quote { padding: 22px 22px 22px 46px; font-size: 16px; border-radius: 0 8px 8px 0; }
    body .maison-quote::before { font-size: 48px; left: 14px; top: 6px; }
    body .maison-contact-cta { padding: 30px 22px; margin: 40px 0 20px; }
    body .maison-service-grid { gap: 14px; }
    body .maison-service-card { padding: 20px 18px; }
}

/* ==========================================================
   Lawyer profile page (page-id-572) — extra polish on the
   hero and bio sections (everything before the CTA section).
   ========================================================== */

/* Hero photo treatment — clean rounded corners + soft brand-tinted shadow */
.page-id-572 .img.has-hover .img-inner {
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 12px 32px rgba(14, 121, 109, 0.2);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.page-id-572 .img.has-hover:hover .img-inner {
    transform: translateY(-4px);
    box-shadow: 0 18px 44px rgba(14, 121, 109, 0.28);
}

/* Hero column right-side spacing on desktop */
@media (min-width: 850px) {
    .page-id-572 .maison-wrapper {
        padding: 40px 0 0 16px;
    }
}

/* Hero text — wider stage, better hierarchy */
.page-id-572 body .maison-hero,
body.page-id-572 .maison-hero {
    text-align: left;
    background: transparent;
    box-shadow: none;
    border: none;
    padding: 0;
    margin-bottom: 28px;
}
.page-id-572 body .maison-hero h1,
body.page-id-572 .maison-hero h1 {
    text-align: left;
    text-transform: none;
    font-size: clamp(26px, 3.2vw, 36px);
    letter-spacing: -0.4px;
    margin-bottom: 16px;
    line-height: 1.2;
}
.page-id-572 body .maison-hero .kk-star-ratings,
body.page-id-572 .maison-hero .kk-star-ratings {
    justify-content: flex-start;
    margin: 0 0 18px;
}
.page-id-572 body .maison-hero p,
body.page-id-572 .maison-hero p {
    text-align: left;
    margin-left: 0;
    margin-right: 0;
}
.page-id-572 body .maison-hero p strong,
body.page-id-572 .maison-hero p strong {
    color: #0e796d;
}
/* Pull-quote treatment for the brand promise paragraph */
.page-id-572 .maison-hero p:has(> + a),
.page-id-572 .maison-hero > p:nth-of-type(2) {
    position: relative;
    padding: 14px 18px 14px 22px;
    border-left: 3px solid #00b30f;
    background: #f4fbf9;
    border-radius: 0 8px 8px 0;
    font-style: italic;
    font-size: 16.5px;
    color: #0e796d;
    margin: 8px 0 24px;
}

/* Bio body section — wider container with breathing room */
.page-id-572 .maison-wrapper {
    counter-reset: maison-chapter;
}
.page-id-572 .maison-wrapper > .maison-h2 {
    counter-increment: maison-chapter;
    margin-top: 64px;
    padding-top: 28px;
    position: relative;
    border-top: 1px solid #e8f1ee;
    padding-left: 88px;
    border-left: none;
    min-height: 64px;
    display: flex;
    align-items: center;
}
.page-id-572 .maison-wrapper > .maison-h2::before {
    content: counter(maison-chapter, decimal-leading-zero);
    position: absolute;
    left: 0;
    top: 24px;
    width: 64px;
    height: 64px;
    line-height: 64px;
    text-align: center;
    background: #0e796d;
    color: #fff;
    font-size: 22px;
    font-weight: 800;
    border-radius: 12px;
    box-shadow: 0 4px 14px rgba(14, 121, 109, 0.25);
    letter-spacing: 0;
}
.page-id-572 .maison-wrapper > .maison-h2:first-of-type {
    border-top: none;
    margin-top: 32px;
    padding-top: 0;
}
.page-id-572 .maison-wrapper > .maison-h2:first-of-type::before {
    top: 0;
}

/* Drop cap — first paragraph after the TOC */
.page-id-572 .maison-toc ~ .maison-h2:first-of-type + p::first-letter {
    float: left;
    font-size: 3.8em;
    line-height: 0.85;
    padding: 6px 12px 0 0;
    color: #0e796d;
    font-weight: 800;
}

/* Section 2 (bio) gets a soft tinted background to separate from hero */
.page-id-572 #content > section:nth-of-type(2) {
    background: linear-gradient(180deg, #ffffff 0%, #f7faf9 100%);
    border-top: 1px solid #e8f1ee;
}

/* Smooth in-page anchors */
.page-id-572 .maison-h2[id] {
    scroll-margin-top: 90px;
}

/* Mobile: chapter number above instead of beside */
@media (max-width: 700px) {
    .page-id-572 .maison-wrapper > .maison-h2 {
        padding-left: 0;
        padding-top: 76px;
        margin-top: 48px;
        display: block;
        min-height: 0;
    }
    .page-id-572 .maison-wrapper > .maison-h2::before {
        top: 24px;
        width: 48px;
        height: 48px;
        line-height: 48px;
        font-size: 18px;
        border-radius: 10px;
    }
    .page-id-572 .maison-wrapper > .maison-h2:first-of-type {
        padding-top: 60px;
    }
    .page-id-572 .maison-wrapper > .maison-h2:first-of-type::before {
        top: 0;
    }
    .page-id-572 .img.has-hover .img-inner { border-radius: 10px; }
    .page-id-572 .maison-wrapper { padding: 0 !important; }
}

/* Fix client-logo Flickity slider: cells collapse to 0 width before images load
   because the <img> has only height set inline. Give each .ux-logo cell a stable
   min-width so Flickity can compute positions correctly on first paint. */
.slider > .ux-logo {
    min-width: 180px;
    text-align: center;
    margin: 0 10px;
}
.slider > .ux-logo .ux-logo-link {
    display: inline-block;
}
.slider > .ux-logo .ux-logo-image {
    width: auto;
    max-width: 100%;
    display: block;
    margin: 0 auto;
}
@media (max-width: 549px) {
    .slider > .ux-logo {
        min-width: 140px;
    }
}

/* On pages: author box sits in its own section before the footer */
.page-author-section {
    background: #f7f6f2;
    padding: 40px 0 50px;
}
.page-author-section .post-author {
    margin: 0;
}

/* ================================================================
 * E-E-A-T: "Đã được pháp lý kiểm duyệt bởi" byline (v5.14)
 * Injected by lms_inject_reviewed_by_byline before each article body.
 * Mirrors the WebMD / Healthline "Medically reviewed by" trust pattern.
 * ================================================================ */
.lms-reviewed-by {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 24px;
    padding: 12px 16px;
    background: #f7faf7;
    border-left: 3px solid #00b30f;
    border-radius: 0 4px 4px 0;
    font-size: 14px;
    line-height: 1.5;
    color: #333;
}
.lms-reviewed-by .lms-reviewed-icon {
    flex: 0 0 18px;
    color: #00b30f;
    margin-top: 1px;
}
.lms-reviewed-by .lms-reviewed-text {
    flex: 1;
}
.lms-reviewed-by strong {
    font-weight: 600;
    color: #1a1a1a;
}
.lms-reviewed-by a {
    color: #00b30f;
    text-decoration: none;
    font-weight: 600;
}
.lms-reviewed-by a:hover {
    text-decoration: underline;
}
.lms-reviewed-by .lms-reviewed-credentials,
.lms-reviewed-by .lms-reviewed-date {
    color: #555;
}
@media (max-width: 600px) {
    .lms-reviewed-by {
        flex-direction: column;
        align-items: flex-start;
    }
    .lms-reviewed-by .lms-reviewed-icon {
        margin-bottom: 4px;
    }
}

/* ================================================================
 * E-E-A-T: auto-generated "Tài liệu tham khảo" references list (v5.15)
 * Appended after article body. Lists every authority outbound link the
 * author has cited inline, deduped, with hostname for transparency.
 * ================================================================ */
.lms-references {
    margin: 40px 0 24px;
    padding: 20px 24px;
    background: #fafdfa;
    border: 1px solid #d8eed8;
    border-left: 4px solid #00b30f;
    border-radius: 4px;
    font-size: 14px;
}
.lms-references-title {
    font-size: 17px;
    margin: 0 0 14px;
    color: #1a1a1a;
    font-weight: 700;
    letter-spacing: 0.2px;
}
.lms-references-list {
    margin: 0 0 12px;
    padding-left: 24px;
    list-style: decimal;
}
.lms-references-list li {
    margin-bottom: 8px;
    line-height: 1.55;
    padding-left: 4px;
}
.lms-references-list a {
    color: #008c0c;
    text-decoration: none;
    font-weight: 500;
    word-break: break-word;
}
.lms-references-list a:hover {
    text-decoration: underline;
}
.lms-ref-host {
    color: #888;
    font-size: 12.5px;
    font-style: italic;
    word-break: break-all;
}
.lms-references-note {
    margin: 12px 0 0;
    padding-top: 12px;
    border-top: 1px solid #eaf5ea;
    font-size: 13px;
    color: #555;
    font-style: italic;
}
.lms-references-note a {
    color: #00b30f;
    text-decoration: none;
}
@media (max-width: 600px) {
    .lms-references {
        padding: 16px;
    }
    .lms-references-list {
        padding-left: 20px;
    }
}

/* ================================================================
 * GEO content blocks (added v3.5)
 * Compare table, Expert quote, Step v2 with data-step badge
 * ================================================================ */

/* --- Compare table --- */
.lms-article .lms-compare-table {
    width: 100%;
    border-collapse: collapse;
    margin: 25px 0;
    font-size: 15px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
    border-radius: 8px;
    overflow: hidden;
}
.lms-article .lms-compare-table thead th {
    background: #0e796d;
    color: #fff;
    font-weight: 700;
    text-align: left;
    padding: 12px 14px;
    font-size: 14px;
    letter-spacing: 0.3px;
}
.lms-article .lms-compare-table tbody td {
    padding: 12px 14px;
    border-bottom: 1px solid #e5e7eb;
    vertical-align: top;
    line-height: 1.55;
}
.lms-article .lms-compare-table tbody tr:nth-child(odd) {
    background: #f9fafb;
}
.lms-article .lms-compare-table tbody tr:hover {
    background: #ecfdf5;
}
.lms-article .lms-compare-table tbody td:first-child {
    color: #0e796d;
    font-weight: 600;
    width: 28%;
}

/* --- Expert quote --- */
.lms-article .lms-expert-quote {
    background: linear-gradient(135deg, #f0fdfa 0%, #ecfdf5 100%);
    border-left: 5px solid #0e796d;
    padding: 22px 26px 18px;
    margin: 30px 0;
    border-radius: 0 8px 8px 0;
    position: relative;
    font-style: italic;
    color: #1f2937;
}
.lms-article .lms-expert-quote::before {
    content: "\201C";
    position: absolute;
    top: 6px;
    left: 14px;
    font-size: 44px;
    color: #0e796d;
    opacity: 0.35;
    line-height: 1;
    font-family: Georgia, serif;
}
.lms-article .lms-expert-quote p {
    margin: 0 0 12px;
    padding-left: 36px;
    font-size: 16px;
    line-height: 1.65;
}
.lms-article .lms-expert-quote cite {
    display: block;
    padding-left: 36px;
    font-style: normal;
    font-size: 14px;
    color: #4b5563;
}
.lms-article .lms-expert-quote cite strong {
    color: #0e796d;
}

/* ================================================================
 * Document Box — Tuân thủ Nghị định 30/2020/NĐ-CP về công tác văn thư
 *   - Phông Times New Roman, Unicode
 *   - Khổ A4 portrait, lề trái > lề phải (web: padding 30-40px trái, 18-22px phải)
 *   - Khoảng cách dòng 1.5
 *   - Quốc hiệu: CỘNG HÒA cỡ 13, Độc lập cỡ 14 (LỚN hơn), đều bold
 *   - Tên loại VB: cỡ 14, IN HOA, đậm, căn giữa
 *   - Trích yếu: cỡ 14, chữ THƯỜNG, đậm, căn giữa (KHÔNG uppercase)
 *   - Đường kẻ ngang dưới "Độc lập" và dưới trích yếu: ngắn 1/3-1/2 chữ
 *   - Body: căn đều 2 lề (justify) + thụt đầu dòng 1cm
 *   - Nơi nhận label cỡ 12 italic bold; items cỡ 11 (NHỎ hơn body)
 * ================================================================ */
.lms-article .lms-document-box {
    margin: 32px 0;
    position: relative;
}
.lms-article .lms-doc-label {
    display: inline-block;
    background: #0e796d;
    color: #fff;
    padding: 7px 18px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    border-radius: 6px 6px 0 0;
    margin-left: 24px;
    line-height: 1.3;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* === Copy button (top-right of document box) === */
.lms-article .lms-doc-copy-btn {
    position: absolute;
    top: 6px;
    right: 8px;
    background: #ffffff;
    color: #0e796d;
    border: 1.5px solid #0e796d;
    padding: 6px 12px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: background 0.15s, color 0.15s, transform 0.1s;
    z-index: 2;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    letter-spacing: 0.2px;
}
.lms-article .lms-doc-copy-btn:hover {
    background: #0e796d;
    color: #ffffff;
}
.lms-article .lms-doc-copy-btn:active {
    transform: translateY(1px);
}
.lms-article .lms-doc-copy-btn:focus-visible {
    outline: 2px solid #0e796d;
    outline-offset: 2px;
}
.lms-article .lms-doc-copy-btn svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}
.lms-article .lms-doc-copy-btn.is-success {
    background: #16a34a;
    border-color: #16a34a;
    color: #ffffff;
}
.lms-article .lms-doc-copy-btn.is-success:hover {
    background: #15803d;
}
.lms-article .lms-doc-paper {
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 0 8px 8px 8px;
    /* NĐ 30: lề trên 20-25mm, dưới 20-25mm, trái 30-35mm, phải 15-20mm */
    padding: 28px 22px 24px 40px;
    font-family: "Times New Roman", Times, "Liberation Serif", serif;
    font-size: 15px;
    line-height: 1.5;
    color: #1f2937;
    box-shadow: 0 2px 10px rgba(0,0,0,0.07);
    position: relative;
}
.lms-article .lms-doc-paper::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: #0e796d;
    border-radius: 0 8px 0 0;
}

/* === Header (Số 1: Quốc hiệu | Số 2: Tên cơ quan) === */
.lms-article .lms-doc-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
    margin-bottom: 16px;
    padding-bottom: 4px;
}
.lms-article .lms-doc-org,
.lms-article .lms-doc-state {
    text-align: center;
    line-height: 1.4;
}
.lms-article .lms-doc-org {
    flex: 0 0 38%;
}
.lms-article .lms-doc-state {
    flex: 1;
}

/* Tên cơ quan: cỡ 13, IN HOA, đậm */
.lms-article .lms-doc-org strong {
    display: block;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    color: #1f2937;
    line-height: 1.35;
}
/* Số/ký hiệu: cỡ 13, không in hoa */
.lms-article .lms-doc-org span {
    display: block;
    font-size: 13px;
    margin-top: 6px;
}

/* CỘNG HÒA: cỡ 13, IN HOA, đậm */
.lms-article .lms-doc-state strong:first-of-type {
    display: block;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    color: #1f2937;
    line-height: 1.35;
}
/* "Độc lập – Tự do – Hạnh phúc": cỡ 14, đậm, LỚN HƠN dòng trên */
.lms-article .lms-doc-state strong + strong {
    display: block;
    font-weight: 700;
    font-size: 14px;
    color: #1f2937;
    margin-top: 2px;
    line-height: 1.35;
    text-transform: none;
}
/* Đường kẻ ngang ngắn dưới Quốc hiệu/Tên cơ quan (NĐ 30: 1/3-1/2 dòng) */
.lms-article .lms-doc-org hr,
.lms-article .lms-doc-state hr {
    width: 45%;
    margin: 4px auto 0;
    border: 0;
    border-top: 1px solid #1f2937;
    height: 0;
}
/* Địa danh + ngày tháng: italic, cỡ 14 */
.lms-article .lms-doc-state em {
    display: block;
    margin-top: 6px;
    font-style: italic;
    font-size: 14px;
}

/* === Tên loại VB + Trích yếu (Số 5) === */
.lms-article h3.lms-doc-title {
    text-align: center;
    font-size: 17px;
    font-weight: 700;
    text-transform: uppercase;
    margin: 22px 0 4px;
    padding: 0;
    border: 0;
    color: #1f2937;
    line-height: 1.35;
    font-family: inherit;
}
/* Trích yếu: KHÔNG IN HOA, đậm, cỡ 16 (= 14pt) */
.lms-article h3.lms-doc-title span {
    display: block;
    font-size: 16px;
    margin-top: 4px;
    font-weight: 700;
    text-transform: none;
    line-height: 1.35;
}
/* Đường kẻ ngắn dưới trích yếu (NĐ 30: 1/3-1/2 chữ) */
.lms-article h3.lms-doc-title::after {
    content: "";
    display: block;
    width: 50px;
    margin: 8px auto 0;
    border-top: 1.5px solid #1f2937;
}

/* === Nội dung văn bản (Số 6): justify + first-line indent === */
.lms-article .lms-doc-paper > p,
.lms-article .lms-doc-paper > div > p {
    text-align: justify;
    text-indent: 1cm;
    margin: 0 0 8px;
    font-size: 15px;
    line-height: 1.5;
}
/* Một số p KHÔNG indent (recipient, cuối cùng trong cấu trúc đặc biệt) */
.lms-article p.lms-doc-recipient {
    text-indent: 0;
    margin: 18px 0 12px;
    font-size: 15px;
    text-align: justify;
}

/* === Section heading (h4 đánh số 1., 2., 3.) === */
.lms-article h4.lms-doc-section {
    font-weight: 700;
    margin: 16px 0 6px;
    font-size: 15px;
    color: #1f2937;
    border: 0;
    padding: 0;
    font-family: inherit;
    line-height: 1.45;
    text-align: justify;
    text-indent: 0;
}
.lms-article h4.lms-doc-section em {
    font-weight: 400;
    font-size: 14px;
    color: #4b5563;
    font-style: italic;
}

/* === Field list (UL không bullet, dấu "-" prefix) === */
.lms-article ul.lms-doc-fields {
    list-style: none;
    margin: 6px 0 14px 28px;
    padding: 0;
}
.lms-article ul.lms-doc-fields li {
    margin: 5px 0;
    font-size: 15px;
    line-height: 1.5;
    padding-left: 14px;
    position: relative;
    text-align: justify;
    text-indent: 0;
}
.lms-article ul.lms-doc-fields li::before {
    content: "-";
    position: absolute;
    left: 0;
    top: 0;
    color: #1f2937;
}

/* === Numbered list === */
.lms-article ol.lms-doc-list {
    margin: 6px 0 14px 42px;
    padding: 0;
    font-size: 15px;
}
.lms-article ol.lms-doc-list li {
    margin: 5px 0;
    padding-left: 4px;
    line-height: 1.5;
    text-align: justify;
}

/* === Blank field === */
.lms-article .lms-doc-blank {
    display: inline-block;
    border-bottom: 1px dotted #6b7280;
    min-width: 200px;
    padding: 0 6px;
    color: #9ca3af;
    line-height: 1.2;
    user-select: none;
}

/* === Signature (Số 7+9: Nơi nhận trái | Người ký phải) === */
.lms-article .lms-doc-signature {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
    margin: 24px 0 8px;
    padding-top: 8px;
}
/* Nơi nhận: cỡ 12 italic bold label, items cỡ 11 (NHỎ hơn body) */
.lms-article .lms-doc-recipients {
    flex: 0 0 40%;
    font-size: 11.5px;
    line-height: 1.45;
}
.lms-article .lms-doc-recipients em {
    display: block;
    margin-bottom: 4px;
    font-size: 12.5px;
}
.lms-article .lms-doc-recipients em strong {
    font-style: italic;
}
.lms-article .lms-doc-recipients ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.lms-article .lms-doc-recipients ul li {
    margin: 2px 0;
    line-height: 1.45;
    text-align: left;
    text-indent: 0;
}
.lms-article .lms-doc-recipients ul li::before {
    content: "- ";
}
/* Người ký: cỡ 14, chức vụ IN HOA đậm */
.lms-article .lms-doc-signer {
    flex: 1;
    text-align: center;
    padding-top: 0;
    font-size: 14px;
    line-height: 1.5;
}
.lms-article .lms-doc-signer strong {
    display: block;
    margin-bottom: 6px;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 14px;
}
.lms-article .lms-doc-signer em {
    font-style: italic;
    color: #4b5563;
    font-size: 13px;
    display: block;
}

/* === Footnotes === */
.lms-article .lms-doc-footnotes {
    margin-top: 18px;
    padding-top: 8px;
    border-top: 1px solid #e5e7eb;
    font-size: 12px;
    color: #6b7280;
    font-style: italic;
    line-height: 1.5;
}
.lms-article .lms-doc-footnotes p {
    margin: 3px 0;
    text-align: justify;
    text-indent: 0;
    font-size: 12px;
}
.lms-article .lms-doc-footnotes sup {
    color: #1f2937;
    margin-right: 3px;
    font-weight: 600;
}

/* === Subtitle (Số 5b: "Kỳ báo cáo / Đơn vị tính" — italic, right-align) === */
.lms-article p.lms-doc-subtitle {
    text-align: right;
    margin: 4px 0;
    font-size: 13px;
    text-indent: 0;
    font-style: italic;
    color: #1f2937;
}

/* === Data table (Số 6 cho mẫu bảng biểu) — NĐ 30: kẻ ô đầy đủ === */
.lms-article table.lms-doc-table {
    width: 100%;
    border-collapse: collapse;
    margin: 12px 0;
    font-family: inherit;
    font-size: 13px;
    line-height: 1.4;
}
.lms-article table.lms-doc-table th,
.lms-article table.lms-doc-table td {
    border: 1px solid #1f2937;
    padding: 6px 10px;
    vertical-align: middle;
    text-align: left;
    text-indent: 0;
}
.lms-article table.lms-doc-table thead th {
    background: #f3f4f6;
    font-weight: 700;
    text-align: center;
    line-height: 1.35;
    font-size: 13px;
    color: #1f2937;
}
.lms-article table.lms-doc-table tbody tr.lms-doc-table-subheader td {
    background: #fafafa;
    font-style: italic;
    font-weight: 600;
}
.lms-article table.lms-doc-table tbody tr.lms-doc-table-total td {
    background: #f3f4f6;
    font-weight: 700;
    border-top: 2px solid #1f2937;
}
.lms-article table.lms-doc-table .num,
.lms-article table.lms-doc-table td[data-type="number"] {
    text-align: right;
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";
    white-space: nowrap;
}
.lms-article table.lms-doc-table tbody tr {
    page-break-inside: avoid;
}

/* === Grouped header (rowspan/colspan cho headers nhiều tầng) === */
.lms-article table.lms-doc-table-grouped thead th {
    vertical-align: middle;
}
.lms-article table.lms-doc-table-grouped thead tr:not(:last-child) th {
    border-bottom: 1px solid #1f2937;
}

/* === Table note (Số 6b: ghi chú dưới bảng) === */
.lms-article p.lms-doc-table-note {
    margin: 8px 0 12px;
    font-size: 13px;
    text-indent: 0;
    color: #4b5563;
    text-align: justify;
}

/* === Multi-signer footer (Số 7 cho mẫu bảng biểu, 2-3 cột người ký) === */
.lms-article footer.lms-doc-signers {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 16px;
    margin: 24px 0 8px;
    padding-top: 8px;
}
.lms-article .lms-doc-signer-cell {
    text-align: center;
    font-size: 14px;
    line-height: 1.45;
}
.lms-article .lms-doc-signer-cell strong {
    display: block;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 6px;
    font-size: 14px;
    line-height: 1.3;
}
.lms-article .lms-doc-signer-cell em {
    display: block;
    font-style: italic;
    font-size: 13px;
    color: #4b5563;
}

@media print {
    .lms-article .lms-document-box {
        page-break-inside: avoid;
    }
    .lms-article .lms-doc-paper {
        box-shadow: none;
        border: 1px solid #000;
        /* NĐ 30 spec lề (cm): top 2-2.5, bottom 2-2.5, left 3-3.5, right 1.5-2 */
        padding: 2.2cm 1.8cm 2.2cm 3.2cm;
    }
    .lms-article .lms-doc-label {
        display: none;
    }
    .lms-article .lms-doc-paper::before {
        display: none;
    }
    .lms-article .lms-doc-copy-btn {
        display: none;
    }
    /* Table: header repeat trên mỗi trang in, không cắt row */
    .lms-article table.lms-doc-table {
        font-size: 11pt;
    }
    .lms-article table.lms-doc-table thead {
        display: table-header-group;
    }
    .lms-article table.lms-doc-table tr {
        page-break-inside: avoid;
    }
}

/* ================================================================
 * Alert callout boxes — redesigned with semantic colors (v4.5)
 *   .lms-alert-warning — Red theme: cảnh báo, sai lầm cần tránh
 *   .lms-alert-tip — Amber theme: mẹo, lời khuyên từ chuyên gia
 * Higher specificity (.lms-article .lms-alert-*) overrides inline styles.
 * ================================================================ */

/* === WARNING — Cảnh báo (Red theme) === */
.lms-article .lms-alert-warning {
    background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
    border: 1px solid #fecaca;
    border-left: 5px solid #dc2626;
    border-radius: 8px;
    padding: 18px 24px 16px;
    margin: 24px 0;
    position: relative;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(220, 38, 38, 0.08);
    color: #1f2937;
}
.lms-article .lms-alert-warning::after {
    content: "\26A0";
    position: absolute;
    bottom: -22px;
    right: 16px;
    font-size: 110px;
    line-height: 1;
    color: #dc2626;
    opacity: 0.06;
    pointer-events: none;
    font-family: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
}
.lms-article .lms-alert-warning .lms-alert-title,
.lms-article .lms-alert-warning p.lms-alert-title {
    color: #b91c1c;
    font-weight: 700;
    font-size: 16px;
    margin: 0 0 12px;
    line-height: 1.4;
    text-indent: 0;
    letter-spacing: 0.1px;
}
.lms-article .lms-alert-warning p:not(.lms-alert-title) {
    margin: 8px 0;
    line-height: 1.7;
    color: #1f2937;
    text-indent: 0;
}
.lms-article .lms-alert-warning ol,
.lms-article .lms-alert-warning ul {
    margin: 8px 0 4px 4px;
    padding-left: 22px;
}
.lms-article .lms-alert-warning ol li,
.lms-article .lms-alert-warning ul li {
    margin: 8px 0;
    line-height: 1.7;
    color: #1f2937;
    padding-left: 4px;
}
.lms-article .lms-alert-warning ol li::marker {
    color: #dc2626;
    font-weight: 700;
}
.lms-article .lms-alert-warning strong {
    color: #991b1b;
    font-weight: 700;
}

/* === TIP — Mẹo / Lời khuyên (Amber theme) === */
.lms-article .lms-alert-tip {
    background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
    border: 1px solid #fde68a;
    border-left: 5px solid #d97706;
    border-radius: 8px;
    padding: 18px 24px 16px;
    margin: 24px 0;
    position: relative;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(217, 119, 6, 0.08);
    color: #1f2937;
}
.lms-article .lms-alert-tip::after {
    content: "\1F4A1";
    position: absolute;
    bottom: -18px;
    right: 16px;
    font-size: 100px;
    line-height: 1;
    opacity: 0.07;
    pointer-events: none;
    font-family: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
}
.lms-article .lms-alert-tip .lms-alert-title,
.lms-article .lms-alert-tip p.lms-alert-title {
    color: #92400e;
    font-weight: 700;
    font-size: 16px;
    margin: 0 0 12px;
    line-height: 1.4;
    text-indent: 0;
    letter-spacing: 0.1px;
}
.lms-article .lms-alert-tip p:not(.lms-alert-title) {
    margin: 8px 0;
    line-height: 1.7;
    color: #1f2937;
    text-indent: 0;
}
.lms-article .lms-alert-tip ol,
.lms-article .lms-alert-tip ul {
    margin: 8px 0 4px 4px;
    padding-left: 22px;
}
.lms-article .lms-alert-tip ol li,
.lms-article .lms-alert-tip ul li {
    margin: 8px 0;
    line-height: 1.7;
    color: #1f2937;
    padding-left: 4px;
}
.lms-article .lms-alert-tip ol li::marker {
    color: #d97706;
    font-weight: 700;
}
.lms-article .lms-alert-tip strong {
    color: #b45309;
    font-weight: 700;
}

@media print {
    .lms-article .lms-alert-warning,
    .lms-article .lms-alert-tip {
        background: #fff;
        box-shadow: none;
        page-break-inside: avoid;
    }
    .lms-article .lms-alert-warning::after,
    .lms-article .lms-alert-tip::after {
        display: none;
    }
}

/* --- Step v2 (div container with data-step badge) --- */
.lms-article div.lms-step {
    position: relative;
    padding: 18px 18px 14px 64px;
    margin: 16px 0;
    background: #f9fafb;
    border-radius: 8px;
    border-left: 4px solid #0e796d;
}
.lms-article div.lms-step::before {
    content: attr(data-step);
    position: absolute;
    top: 18px;
    left: 16px;
    width: 36px;
    height: 36px;
    background: #0e796d;
    color: #fff;
    font-weight: 700;
    font-size: 17px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
.lms-article h3.lms-step-title {
    color: #0e796d;
    font-size: 17px;
    font-weight: 700;
    margin: 0 0 10px;
    line-height: 1.4;
    border: 0;
    padding: 0;
}
.lms-article p.lms-step-summary {
    background: #fff;
    border-left: 3px solid #0e796d;
    padding: 10px 14px;
    margin: 0 0 12px;
    font-size: 15px;
    line-height: 1.6;
    color: #1f2937;
    border-radius: 0 4px 4px 0;
    font-weight: 500;
}
.lms-article div.lms-step p:not(.lms-step-summary) {
    margin: 8px 0;
    line-height: 1.65;
}

@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/

    /* Compare table — horizontal scroll on mobile */
    .lms-article .lms-compare-table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        font-size: 14px;
    }
    .lms-article .lms-compare-table tbody td {
        white-space: normal;
        padding: 10px 12px;
    }

    /* Expert quote — tighter padding */
    .lms-article .lms-expert-quote {
        padding: 18px 18px 14px;
    }
    .lms-article .lms-expert-quote::before {
        font-size: 34px;
        top: 4px;
        left: 10px;
    }
    .lms-article .lms-expert-quote p,
    .lms-article .lms-expert-quote cite {
        padding-left: 28px;
    }

    /* Step v2 — smaller badge on mobile */
    .lms-article div.lms-step {
        padding: 14px 14px 10px 54px;
    }
    .lms-article div.lms-step::before {
        top: 14px;
        left: 12px;
        width: 30px;
        height: 30px;
        font-size: 15px;
    }

    /* Document box — stack header + signature vertically on mobile */
    .lms-article .lms-doc-paper {
        padding: 22px 18px 18px;
        font-size: 14px;
    }
    .lms-article .lms-doc-header,
    .lms-article .lms-doc-signature {
        flex-direction: column;
        gap: 14px;
    }
    .lms-article .lms-doc-org,
    .lms-article .lms-doc-state,
    .lms-article .lms-doc-recipients {
        flex: 1 1 auto;
    }
    .lms-article h3.lms-doc-title {
        font-size: 17px;
    }
    .lms-article h3.lms-doc-title span {
        font-size: 14px;
    }
    .lms-article ul.lms-doc-fields,
    .lms-article ol.lms-doc-list {
        margin-left: 16px;
    }
    .lms-article .lms-doc-blank {
        min-width: 100px;
    }
    .lms-article .lms-doc-label {
        margin-left: 12px;
        padding: 6px 12px;
        font-size: 11px;
    }

    /* Copy button — smaller on mobile, hide text label, keep icon */
    .lms-article .lms-doc-copy-btn {
        top: 4px;
        right: 4px;
        padding: 5px 8px;
        font-size: 11px;
    }
    .lms-article .lms-doc-copy-btn span[data-copy-label] {
        display: none;
    }

    /* Data table — horizontal scroll on mobile, smaller font */
    .lms-article table.lms-doc-table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        font-size: 12px;
        white-space: nowrap;
    }
    .lms-article table.lms-doc-table th,
    .lms-article table.lms-doc-table td {
        padding: 5px 8px;
    }

    /* Multi-signer footer — stack vertical on mobile */
    .lms-article footer.lms-doc-signers {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    /* Alerts — tighter padding on mobile */
    .lms-article .lms-alert-warning,
    .lms-article .lms-alert-tip {
        padding: 14px 16px 12px;
        margin: 18px 0;
    }
    .lms-article .lms-alert-warning .lms-alert-title,
    .lms-article .lms-alert-tip .lms-alert-title {
        font-size: 15px;
    }
    .lms-article .lms-alert-warning::after {
        font-size: 80px;
        bottom: -16px;
        right: 8px;
    }
    .lms-article .lms-alert-tip::after {
        font-size: 75px;
        bottom: -12px;
        right: 8px;
    }

}
