/** HCTCLIENT02 TYPOGRAPHY V1 - theme replaceable, fluid and responsive. */
body {
    color: var(--hctclient02-color-text);
    font-family: var(--hctclient02-font-family-base);
    font-size: var(--hctclient02-font-size-md);
    line-height: var(--hctclient02-line-height-base);
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-block: 0;
    color: var(--hctclient02-color-heading);
    font-family: var(--hctclient02-font-family-heading);
    font-weight: var(--hctclient02-font-weight-bold);
    line-height: var(--hctclient02-line-height-heading);
    text-wrap: balance;
}

.hctclient02-heading-1 { font-size: var(--hctclient02-font-size-4xl); }
.hctclient02-heading-2 { font-size: var(--hctclient02-font-size-3xl); }
.hctclient02-heading-3 { font-size: var(--hctclient02-font-size-2xl); }
.hctclient02-heading-4 { font-size: var(--hctclient02-font-size-xl); }
.hctclient02-body-lg { font-size: var(--hctclient02-font-size-lg); }
.hctclient02-body { font-size: var(--hctclient02-font-size-md); }
.hctclient02-body-sm { font-size: var(--hctclient02-font-size-sm); }
.hctclient02-caption { font-size: var(--hctclient02-font-size-xs); }
.hctclient02-text-muted { color: var(--hctclient02-color-text-muted); }
.hctclient02-text-center { text-align: center; }

.hctclient02-richtext {
    overflow-wrap: anywhere;
}

.hctclient02-richtext > :first-child { margin-top: 0; }
.hctclient02-richtext > :last-child { margin-bottom: 0; }
.hctclient02-richtext p,
.hctclient02-richtext ul,
.hctclient02-richtext ol { margin-block: 0 1em; }
.hctclient02-richtext img { height: auto; }

/*
 * Nội dung render từ trình soạn thảo Admin (detail body, sapo, content
 * block text) — class này đã gắn sẵn ở các file Blade tương ứng.
 * .fujinvietnam-content ở đây trước không có rule nào, nên: (1) link do
 * admin chèn bị mất underline vì rule global `a{text-decoration:none}`
 * (fujinvietnam-layout.css) không có ngoại lệ; (2) đoạn văn/list dùng
 * margin mặc định trình duyệt, không đồng bộ giữa các khối.
 */
.fujinvietnam-content > :first-child { margin-top: 0; }
.fujinvietnam-content > :last-child { margin-bottom: 0; }
.fujinvietnam-content p,
.fujinvietnam-content ul,
.fujinvietnam-content ol,
.fujinvietnam-content blockquote {
    margin: 0 0 1em;
}
.fujinvietnam-content p:last-child,
.fujinvietnam-content ul:last-child,
.fujinvietnam-content ol:last-child,
.fujinvietnam-content blockquote:last-child {
    margin-bottom: 0;
}
.fujinvietnam-content a {
    text-decoration: underline;
    color: var(--fujinvietnam-primary, inherit);
}
.fujinvietnam-content img {
    max-width: 100%;
    height: auto;
}

/*
 * Các đoạn sapo ngắn hiển thị trong card/list (FAQ câu hỏi, download,
 * service, opinion, article, product-top) không bọc .fujinvietnam-content
 * (chỉ 1 thẻ <p> trần, không cần chuẩn hoá margin) nhưng vẫn render
 * {!! !!} từ trình soạn thảo nên link bên trong vẫn phải giữ underline.
 */
.hctclient02-faq-row__head p a,
.hctclient02-download-row__body p a,
.hctclient02-service-card__body p a,
.hctclient02-opinion-card__content a,
.hctclient02-article-row__sapo a,
.hctclient02-product-top__sapo a {
    text-decoration: underline;
    color: var(--fujinvietnam-primary, inherit);
}

@media (max-width: 479px) {
    .hctclient02-heading-1,
    .hctclient02-heading-2,
    .hctclient02-heading-3,
    .hctclient02-heading-4 {
        text-wrap: pretty;
    }
}


/* Global semantic typography contract. */
.hctclient02-page-title { font-size: var(--hctclient02-text-page-title); }
.hctclient02-section-title { font-size: var(--hctclient02-text-section-title); }
.hctclient02-panel-title { font-size: var(--hctclient02-text-panel-title); }
.hctclient02-card-title { font-size: var(--hctclient02-text-card-title); }
.hctclient02-body-text { font-size: var(--hctclient02-text-body); }
.hctclient02-meta-text { font-size: var(--hctclient02-text-meta); }
