/*
 * Thiên Nam Global Typography System — v1.10.43
 * Single source of truth for frontend type.
 * Display: Noto Serif (Vietnamese), UI/body: Inter (Vietnamese).
 */
:root{
  --tn-font-display:"Noto Serif","Times New Roman",Georgia,serif;
  --tn-font-ui:"Inter",Arial,"Helvetica Neue",Helvetica,sans-serif;

  --tn-type-hero:54px;
  --tn-type-h2:36px;
  --tn-type-h3:24px;
  --tn-type-card-title:18px;
  --tn-type-card-title-small:16px;
  --tn-type-body:15px;
  --tn-type-card-copy:13.5px;
  --tn-type-kicker:10px;
  --tn-type-nav:13px;
  --tn-type-button:11px;
  --tn-type-price:18px;

  --tn-line-hero:1.05;
  --tn-line-h2:1.12;
  --tn-line-h3:1.2;
  --tn-line-card-title:1.3;
  --tn-line-body:1.65;
  --tn-line-card-copy:1.55;
}

html,body{font-family:var(--tn-font-ui)!important}
body{
  font-size:var(--tn-type-body)!important;
  line-height:var(--tn-line-body)!important;
  font-synthesis:none;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
button,input,select,textarea,optgroup{font-family:var(--tn-font-ui)!important}
p,li,td,th,label,input,select,textarea,button{font-family:var(--tn-font-ui)}

/* Display headings — only large editorial hierarchy uses serif. */
h1,h2,h3,
.page-hero h1,
.tn-hero-copy h1,.tn-about-copy h1,.tn-region-copy h1,.tn-subhero-copy h1,
.tn-kiosk-hero-copy h1,.tn-corner-full-hero h1,.tn-partner-hero h1,
.section-head h2,.tn-branch-head h2,.tn-kiosk-section-title h2,
.tn-news-hub-head h2,.tn-corner-section-title h2,.tn-corner-balance-copy h2,
.product-copy-grid h2,.product-cta h2,.tn-trust-heading h2,
.news-featured-copy h2,.news-article h2,.news-article h3{
  font-family:var(--tn-font-display)!important;
  font-weight:700!important;
  letter-spacing:0!important;
  word-spacing:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  font-kerning:normal;
}

/* Hero — one size system across main tabs. */
.hero h1,
.tn-hero-copy h1,.tn-about-copy h1,.tn-region-copy h1,.tn-subhero-copy h1,
.tn-kiosk-page-hero .tn-kiosk-hero-copy h1,
body.tn-page-goc-tra-pha-che .tn-corner-full-hero h1,.tn-partner-hero h1,
.page-hero h1{
  font-size:var(--tn-type-hero)!important;
  line-height:var(--tn-line-hero)!important;
}
.tn-hero-copy h1 span,.tn-about-copy h1 span,.tn-region-copy h1 span,.tn-subhero-copy h1 span,
.tn-kiosk-page-hero .tn-kiosk-hero-copy h1 span{
  font-family:inherit!important;
  font-size:inherit!important;
  line-height:inherit!important;
  font-weight:inherit!important;
}

/* Section hierarchy. */
.section-head h2,.tn-branch-head h2,.tn-kiosk-section-title h2,
.tn-news-hub-head h2,.tn-corner-section-title h2,.tn-corner-balance-copy h2,
.tn-corner-linkback h2,.tn-location-box h2,.tn-branch-two h2,
.product-copy-grid h2,.product-cta h2,.tn-trust-heading h2,
.news-featured-copy h2,.tn-partner-proof-grid h2,.tn-partner-form-copy h2,.tn-partner-links h2,.tn-partner-home h2,.tn-partner-product-strip h2{
  font-size:var(--tn-type-h2)!important;
  line-height:var(--tn-line-h2)!important;
}
.news-article h2,.entry-content h2{font-size:var(--tn-type-h2)!important;line-height:var(--tn-line-h2)!important}
.news-article h3,.entry-content>h3,.product-feature h3,.product-step h3{
  font-size:var(--tn-type-h3)!important;
  line-height:var(--tn-line-h3)!important;
}

/* Kicker / eyebrow / labels. */
.kicker,.badge,.breadcrumb,
.tn-hero-kicker,.tn-about-kicker,.tn-region-kicker,.tn-subhero-kicker,
.tn-home-kiosk-kicker,.tn-branch-kicker,.tn-kiosk-hero-kicker,
.tn-branch-head>span,.tn-kiosk-section-title>div>span,
.tn-news-hub-head>div>span,.tn-news-hub-head>span,
.news-meta,.tn-news-hub-meta,.tn-kiosk-signature-body small{
  font-family:var(--tn-font-ui)!important;
  font-size:var(--tn-type-kicker)!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:.16em!important;
  text-transform:uppercase;
  word-spacing:normal!important;
}

/* Header navigation. */
.nav a,.nav .tn-menu a{
  font-family:var(--tn-font-ui)!important;
  font-size:var(--tn-type-nav)!important;
  line-height:1.2!important;
  font-weight:700!important;
}

/* Buttons and compact actions. */
.btn,.tn-btn,button,
.tn-news-hub-more,.tn-branch-text-link,
.tn-kiosk-section-title>a{
  font-family:var(--tn-font-ui)!important;
}
.btn,.tn-btn{
  font-size:var(--tn-type-button)!important;
  font-weight:700!important;
  line-height:1!important;
}

/* Main body copy / hero descriptions. */
.hero p,.tn-hero-copy p,.tn-about-copy p,.tn-region-copy p,.tn-subhero-copy p,
.tn-kiosk-hero-description,body.tn-page-goc-tra-pha-che .tn-corner-full-hero p,.tn-partner-hero-copy>p,
.section-head p,.tn-branch-head p,.tn-corner-section-title p,.tn-corner-balance-copy>p,
.news-featured-copy>p,.news-article>p,.entry-content>p{
  font-family:var(--tn-font-ui)!important;
  font-size:var(--tn-type-body)!important;
  line-height:var(--tn-line-body)!important;
  font-weight:400!important;
  letter-spacing:0!important;
  word-spacing:normal!important;
}

/* All compact card/navigation titles use UI font — fixes Vietnamese glyph splitting. */
.card h3,
.tn-news-hub-body h3,.tn-news-hub-body h3 a,
.news-card-full h3,.news-card-full h3 a,
.tn-branch-nav-grid strong,.tn-topic-grid strong,
.tn-kiosk-menu-grid strong,.tn-kiosk-menu-card strong,
.tn-kiosk-signature-body h3,
.tn-origin-flow strong,.tn-kiosk-principles-grid strong,.tn-kiosk-experience-grid strong,
.tn-corner-foundation-grid strong,.tn-corner-process-flow strong,
.tn-corner-application-grid h3,.tn-corner-topic-grid strong,.tn-corner-balance-grid strong,
.tn-trust-step-copy strong,.brand-item b,.process-step h3,
.tn-partner-model-grid h3,.tn-partner-product-body h3,.tn-partner-process-grid h3{
  font-family:var(--tn-font-ui)!important;
  font-size:var(--tn-type-card-title)!important;
  line-height:var(--tn-line-card-title)!important;
  font-weight:700!important;
  letter-spacing:0!important;
  word-spacing:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  font-kerning:auto!important;
  font-variant-ligatures:normal!important;
  text-rendering:auto!important;
}

/* v1.10.99 PREPROD — Compact boxed titles share one scale across tabs. */
.tn-partner-proof-points strong,
.tn-kiosk-values-grid>div>b,
.tn-kiosk-hero-value b,
.tn-kiosk-menu-value b{
  font-family:var(--tn-font-ui)!important;
  font-size:var(--tn-type-card-title-small)!important;
  line-height:var(--tn-line-card-title)!important;
  font-weight:700!important;
  letter-spacing:0!important;
  word-spacing:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}

/* Smaller card copy. */
.card .content>p,
.tn-news-hub-body p,.news-card-full .content>p,
.tn-branch-nav-grid span,.tn-topic-grid span,
.tn-kiosk-menu-grid span,.tn-kiosk-menu-card span,.tn-kiosk-signature-body p,
.tn-origin-flow span,.tn-kiosk-principles-grid span,.tn-kiosk-experience-grid span,
.tn-corner-foundation-grid p,.tn-corner-process-flow p,.tn-corner-application-grid p,
.tn-corner-topic-grid span,.tn-corner-balance-grid span,.tn-corner-process-flow span,.tn-trust-step-copy span,
.product-feature p,.product-step p,
.tn-partner-model-grid p,.tn-partner-product-body p,.tn-partner-process-grid p,.tn-partner-proof-points span,
.tn-kiosk-values-grid>div>span:last-child,.tn-kiosk-hero-value>div>span,.tn-kiosk-menu-value>div>span{
  font-family:var(--tn-font-ui)!important;
  font-size:var(--tn-type-card-copy)!important;
  line-height:var(--tn-line-card-copy)!important;
  font-weight:400!important;
  letter-spacing:0!important;
  word-spacing:normal!important;
}


/* v1.11.04 PREPROD — Kiosk menu cards follow the same readable hierarchy as other tabs.
 * Main card description = body copy; item list = card copy; supporting note remains secondary but readable. */
.tn-kiosk-menu-card>span{
  font-family:var(--tn-font-ui)!important;
  font-size:var(--tn-type-body)!important;
  line-height:var(--tn-line-body)!important;
  font-weight:400!important;
  letter-spacing:0!important;
  word-spacing:normal!important;
}
.tn-kiosk-menu-card li{
  font-family:var(--tn-font-ui)!important;
  font-size:var(--tn-type-card-copy)!important;
  line-height:var(--tn-line-card-copy)!important;
  font-weight:400!important;
  letter-spacing:0!important;
  word-spacing:normal!important;
}
.tn-kiosk-menu-note{
  font-family:var(--tn-font-ui)!important;
  font-size:12.5px!important;
  line-height:1.55!important;
  font-weight:400!important;
}
@media (min-width:768px) and (max-width:1024px){
  .tn-kiosk-menu-note{font-size:12px!important}
}
@media (max-width:767px){
  .tn-kiosk-menu-note{font-size:12px!important}
}

/* Product detail price typography. Product card commerce is owned only by product-card-system.css. */
.tn-product-price-value,.price,.product-price{
  font-family:var(--tn-font-ui)!important;
  font-size:var(--tn-type-price)!important;
  line-height:1.25!important;
  font-weight:700!important;
}

/* Footer is compact UI, never display serif. */
.footer,.footer p,.footer li,.footer a,.footer h3,.footer strong{
  font-family:var(--tn-font-ui)!important;
}
.footer h3{font-size:13px!important;font-weight:700!important;line-height:1.25!important}
.footer p,.footer li,.footer a{font-size:12px!important;line-height:1.55!important}

/* Prevent legacy wrap rules from splitting Vietnamese words in headings/titles. */
h1,h2,h3,
.card h3,.tn-news-hub-body h3,
.tn-branch-nav-grid strong,.tn-topic-grid strong,.tn-kiosk-menu-grid strong,
.tn-kiosk-signature-body h3,.tn-origin-flow strong,
.tn-kiosk-principles-grid strong,.tn-kiosk-experience-grid strong,
.tn-corner-foundation-grid strong,.tn-corner-process-flow strong,
.tn-corner-application-grid h3,.tn-corner-topic-grid strong,.tn-corner-balance-grid strong{
  white-space:normal;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}

/* Tablet */
@media (min-width:768px) and (max-width:1024px){
  :root{
    --tn-type-hero:46px;
    --tn-type-h2:32px;
    --tn-type-h3:22px;
    --tn-type-card-title:17px;
    --tn-type-card-title-small:16px;
    --tn-type-body:14.5px;
    --tn-type-card-copy:13px;
    --tn-type-kicker:10px;
    --tn-type-nav:12px;
    --tn-type-button:10.5px;
    --tn-type-price:18px;
  }
}

/* Mobile */
@media (max-width:767px){
  :root{
    --tn-type-hero:38px;
    --tn-type-h2:28px;
    --tn-type-h3:21px;
    --tn-type-card-title:17px;
    --tn-type-card-title-small:16px;
    --tn-type-body:14px;
    --tn-type-card-copy:13px;
    --tn-type-kicker:9.5px;
    --tn-type-nav:12px;
    --tn-type-button:10px;
    --tn-type-price:17px;
  }
  body{font-size:var(--tn-type-body)!important}
  .nav a,.nav .tn-menu a{font-size:var(--tn-type-nav)!important}
  .footer h3{font-size:14px!important}
  .footer p,.footer li,.footer a{font-size:12px!important}
}


/* v1.10.50 — Policy & Support type scale: compact, readable, unified across all footer legal/support pages. */
:root{
  --tn-policy-h1:48px;
  --tn-policy-h2:30px;
  --tn-policy-h3:20px;
  --tn-policy-body:15px;
  --tn-policy-toc:13px;
}
.tn-policy-page .tn-policy-hero h1{
  font-family:var(--tn-font-display)!important;
  font-size:var(--tn-policy-h1)!important;
  line-height:1.08!important;
  font-weight:700!important;
  letter-spacing:0!important;
}
.tn-policy-page .tn-policy-content>h2{
  font-family:var(--tn-font-display)!important;
  font-size:var(--tn-policy-h2)!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:0!important;
}
.tn-policy-page .tn-policy-content>h3{
  font-family:var(--tn-font-display)!important;
  font-size:var(--tn-policy-h3)!important;
  line-height:1.3!important;
  font-weight:700!important;
}
.tn-policy-page .tn-policy-content>p,
.tn-policy-page .tn-policy-content>ul,
.tn-policy-page .tn-policy-content>ol,
.tn-policy-page .tn-policy-content li{
  font-family:var(--tn-font-ui)!important;
  font-size:var(--tn-policy-body)!important;
  line-height:1.7!important;
  font-weight:400!important;
  letter-spacing:0!important;
}
.tn-policy-page .tn-policy-toc a{
  font-family:var(--tn-font-ui)!important;
  font-size:var(--tn-policy-toc)!important;
  line-height:1.45!important;
  font-weight:400!important;
}
.tn-policy-page .tn-policy-updated{font-family:var(--tn-font-ui)!important;font-size:12px!important;line-height:1.5!important}
@media(max-width:767px){
  :root{--tn-policy-h1:34px;--tn-policy-h2:24px;--tn-policy-h3:18px;--tn-policy-body:14px;--tn-policy-toc:13px}
}

/* v1.11.05 PREPROD — Thiên Nam Kiosk: audit toàn bộ chữ nội dung nhỏ.
 * Nội dung cùng cấp dùng đúng scale toàn site; chỉ kicker, số thứ tự và nhãn ngắn
 * vẫn giữ kích thước compact theo vai trò UI. */
body.tn-page-thien-nam-kiosk .tn-kiosk-hero-copy>p,
body.tn-page-thien-nam-kiosk .tn-kiosk-menu-intro .tn-branch-head p,
body.tn-page-thien-nam-kiosk .tn-kiosk-principles-intro .tn-branch-head p,
body.tn-page-thien-nam-kiosk .tn-kiosk-origin-copy p,
body.tn-page-thien-nam-kiosk .tn-kiosk-experience-head p,
body.tn-page-thien-nam-kiosk .tn-kiosk-location-box>div:first-child>p{
  font-family:var(--tn-font-ui)!important;
  font-size:var(--tn-type-body)!important;
  line-height:var(--tn-line-body)!important;
  font-weight:400!important;
  letter-spacing:0!important;
  word-spacing:normal!important;
}

body.tn-page-thien-nam-kiosk .tn-branch-nav-grid span,
body.tn-page-thien-nam-kiosk .tn-kiosk-menu-card>span,
body.tn-page-thien-nam-kiosk .tn-kiosk-menu-card li,
body.tn-page-thien-nam-kiosk .tn-kiosk-signature-body p,
body.tn-page-thien-nam-kiosk .tn-kiosk-principles-grid span,
body.tn-page-thien-nam-kiosk .tn-origin-flow span,
body.tn-page-thien-nam-kiosk .tn-kiosk-experience-grid span{
  font-family:var(--tn-font-ui)!important;
  font-size:var(--tn-card-copy-size)!important;
  line-height:var(--tn-line-card-copy)!important;
  font-weight:400!important;
  letter-spacing:0!important;
  word-spacing:normal!important;
}


body.tn-page-thien-nam-kiosk .tn-kiosk-menu-value>div>span,
body.tn-page-thien-nam-kiosk .tn-kiosk-hero-value>div>span,
body.tn-page-thien-nam-kiosk .tn-kiosk-values-grid>div>span:last-child{
  font-family:var(--tn-font-ui)!important;
  font-size:var(--tn-type-card-copy)!important;
  line-height:var(--tn-line-card-copy)!important;
  font-weight:400!important;
  letter-spacing:0!important;
  word-spacing:normal!important;
}

/* Supporting copy vẫn là nội dung đọc được, không dùng cỡ 8–10px legacy. */
body.tn-page-thien-nam-kiosk .tn-kiosk-signature-note,
body.tn-page-thien-nam-kiosk .tn-kiosk-menu-note{
  font-family:var(--tn-font-ui)!important;
  font-size:var(--tn-type-card-copy)!important;
  line-height:var(--tn-line-card-copy)!important;
  letter-spacing:0!important;
  word-spacing:normal!important;
}
.tn-kiosk-signature-body em{
  font-family:var(--tn-font-ui)!important;
  font-size:calc(var(--tn-type-card-copy) - 1.5px)!important;
  line-height:var(--tn-line-card-copy)!important;
  letter-spacing:0!important;
  word-spacing:normal!important;
}
.tn-kiosk-signature-body em{
  font-weight:600!important;
}
body.tn-page-thien-nam-kiosk .tn-kiosk-signature-note,
body.tn-page-thien-nam-kiosk .tn-kiosk-menu-note{
  font-weight:400!important;
}

/* Meta địa điểm: tăng từ 9–10.5px legacy lên cùng scale đọc được. */
body.tn-page-thien-nam-kiosk .tn-kiosk-location-meta span{
  font-family:var(--tn-font-ui)!important;
  font-size:var(--tn-type-card-copy)!important;
  line-height:1.4!important;
  font-weight:600!important;
}
body.tn-page-thien-nam-kiosk .tn-kiosk-location-meta strong{
  font-family:var(--tn-font-ui)!important;
  font-size:var(--tn-type-card-title-small)!important;
  line-height:1.35!important;
  font-weight:700!important;
}

/* Các tiêu đề card nội bộ dùng đúng title scale toàn site. */
body.tn-page-thien-nam-kiosk .tn-kiosk-principles-grid strong,
body.tn-page-thien-nam-kiosk .tn-origin-flow strong,
body.tn-page-thien-nam-kiosk .tn-kiosk-experience-grid strong{
  font-family:var(--tn-font-ui)!important;
  font-size:var(--tn-card-title-size)!important;
  line-height:var(--tn-line-card-title)!important;
  font-weight:700!important;
  letter-spacing:0!important;
  word-spacing:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}


body.tn-page-thien-nam-kiosk .tn-kiosk-menu-value b{
  font-family:var(--tn-font-ui)!important;
  font-size:var(--tn-type-card-title-small)!important;
  line-height:var(--tn-line-card-title)!important;
  font-weight:700!important;
  letter-spacing:0!important;
  word-spacing:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
