/* TPH47_PUBLIC_GLOBAL_FONT_SYNC
   Public typography parity with Teephak homepage.
   Font family only: no layout, size, color or spacing changes.
*/
:root{
  --tph-public-font:"Noto Sans Thai","Leelawadee UI",Tahoma,Arial,sans-serif;
}
html,
body,
button,
input,
select,
textarea,
option,
label,
a,
p,
li,
dt,
dd,
blockquote,
figcaption,
caption,
th,
td,
summary,
details,
h1,
h2,
h3,
h4,
h5,
h6,
small,
strong,
b,
em{
  font-family:var(--tph-public-font) !important;
}

/* Common Teephak public text surfaces. */
.tp-home-header,
.tp-home-header a,
.mobile-panel,
.footer,
.footer a,
.ta-root,
.ta-root a,
.tph39-home,
.tph39-home a,
.tph39g2-hook,
.tph46-card,
.tph46-card a,
.tph46-pagination,
.tph46-count-badge{
  font-family:var(--tph-public-font) !important;
}

/* Do not override dedicated icon-font glyphs. */
.fa,
.fas,
.far,
.fab,
[class^="fa-"],
[class*=" fa-"],
.material-icons,
.material-symbols-outlined{
  font-family:inherit;
}

/* TPH_STEP50_GLOBAL_PUBLIC_CONTENT_TYPOGRAPHY_SYNC
   Reference: /location/nam-nao-phetchabun STEP49O FINAL.
   Public content typography only. Header/footer/nav/buttons/forms are intentionally excluded.
*/

/* Base public reading font */
body{
  font-family:"Noto Sans Thai",Tahoma,Arial,sans-serif!important;
}

/* Main long-form / informational content */
main :where(
  .article-paper,
  .article-content,
  .entry-content,
  .page-content,
  .content-body,
  .prose,
  .rich-content,
  .faq-content,
  .faq-answer,
  .contact-content,
  .about-content,
  .privacy-content,
  .terms-content,
  .cafe-content,
  .deal-content,
  .resort-content,
  .location-content,
  .tph49c-rich
){
  font-family:"Noto Sans Thai",Tahoma,Arial,sans-serif!important;
  font-size:14px!important;
  line-height:1.82!important;
}

/* Reading paragraphs and lists */
main :where(
  .article-paper,
  .article-content,
  .entry-content,
  .page-content,
  .content-body,
  .prose,
  .rich-content,
  .faq-content,
  .faq-answer,
  .contact-content,
  .about-content,
  .privacy-content,
  .terms-content,
  .cafe-content,
  .deal-content,
  .resort-content,
  .location-content,
  .tph49c-rich
) :where(p,li){
  font-size:14px!important;
  line-height:1.82!important;
}

/* Content section headings */
main :where(
  .article-paper,
  .article-content,
  .entry-content,
  .page-content,
  .content-body,
  .prose,
  .rich-content,
  .faq-content,
  .contact-content,
  .about-content,
  .privacy-content,
  .terms-content,
  .cafe-content,
  .deal-content,
  .resort-content,
  .location-content,
  .tph49c-rich
) h2{
  font-size:21px!important;
  line-height:1.4!important;
  font-weight:900!important;
}

main :where(
  .article-paper,
  .article-content,
  .entry-content,
  .page-content,
  .content-body,
  .prose,
  .rich-content,
  .faq-content,
  .contact-content,
  .about-content,
  .privacy-content,
  .terms-content,
  .cafe-content,
  .deal-content,
  .resort-content,
  .location-content,
  .tph49c-rich
) h3{
  font-size:17px!important;
  line-height:1.42!important;
  font-weight:900!important;
}

/* Common public section headings outside cards */
main :where(
  .section-head,
  .section-heading,
  .ta-section-heading,
  .page-heading,
  .content-heading
) > h2{
  font-size:21px!important;
  line-height:1.4!important;
}

/* Do not force card/button/navigation typography */
header,
footer,
nav,
button,
input,
select,
textarea,
.btn,
.ta-btn,
.card,
.blog-card,
.cafe-card,
.stay-card,
.ta-stay-card{
  font-family:"Noto Sans Thai",Tahoma,Arial,sans-serif;
}

@media(max-width:800px){
  main :where(
    .article-paper,
    .article-content,
    .entry-content,
    .page-content,
    .content-body,
    .prose,
    .rich-content,
    .faq-content,
    .faq-answer,
    .contact-content,
    .about-content,
    .privacy-content,
    .terms-content,
    .cafe-content,
    .deal-content,
    .resort-content,
    .location-content,
    .tph49c-rich
  ){
    font-size:12.75px!important;
    line-height:1.76!important;
  }

  main :where(
    .article-paper,
    .article-content,
    .entry-content,
    .page-content,
    .content-body,
    .prose,
    .rich-content,
    .faq-content,
    .faq-answer,
    .contact-content,
    .about-content,
    .privacy-content,
    .terms-content,
    .cafe-content,
    .deal-content,
    .resort-content,
    .location-content,
    .tph49c-rich
  ) :where(p,li){
    font-size:12.75px!important;
    line-height:1.76!important;
  }

  main :where(
    .article-paper,
    .article-content,
    .entry-content,
    .page-content,
    .content-body,
    .prose,
    .rich-content,
    .faq-content,
    .contact-content,
    .about-content,
    .privacy-content,
    .terms-content,
    .cafe-content,
    .deal-content,
    .resort-content,
    .location-content,
    .tph49c-rich
  ) h2{
    font-size:17px!important;
    line-height:1.38!important;
  }

  main :where(
    .article-paper,
    .article-content,
    .entry-content,
    .page-content,
    .content-body,
    .prose,
    .rich-content,
    .faq-content,
    .contact-content,
    .about-content,
    .privacy-content,
    .terms-content,
    .cafe-content,
    .deal-content,
    .resort-content,
    .location-content,
    .tph49c-rich
  ) h3{
    font-size:15px!important;
    line-height:1.4!important;
  }

  main :where(
    .section-head,
    .section-heading,
    .ta-section-heading,
    .page-heading,
    .content-heading
  ) > h2{
    font-size:17px!important;
    line-height:1.38!important;
  }
}

/* TPH_STEP50B_GLOBAL_PUBLIC_TYPOGRAPHY_EXACT_SELECTORS
   Exact selectors from STEP50A read-only diagnostic.
   Reference sizes: /location/nam-nao-phetchabun STEP49O FINAL.
   Intentionally does NOT override .tph49n-reader / .tph49c-rich so the accepted reference stays untouched.
*/

/* ---------- Shared reading scale ---------- */
.tph50b-reading,
.tph-search-page,
.tph-resort-page,
.ta-locations,
.td-page,
.blog-main,
.article-page,
.tph44b-page,
.tph39-page,
.tph16-content,
.tph16-contact,
.owner-box{
  font-family:"Noto Sans Thai",Tahoma,Arial,sans-serif!important;
}

/* ---------- SEARCH ---------- */
.tph-search-page .tph-search-desc,
.tph-search-page .tph-search-location,
.tph-search-page .tph-search-page-status,
.tph-search-page .tph-search-empty,
.tph-search-page p,
.tph-search-page li{
  font-size:14px!important;
  line-height:1.82!important;
}
.tph-search-page .tph-search-section-title,
.tph-search-page h2{
  font-size:21px!important;
  line-height:1.4!important;
}
.tph-search-page h3{
  font-size:17px!important;
  line-height:1.42!important;
}

/* ---------- RESORT DETAIL ---------- */
.tph-resort-page .tph-resort-description,
.tph-resort-page .tph-resort-muted,
.tph-resort-page .tph-resort-review,
.tph-resort-page .tph-resort-owner-reply,
.tph-resort-page p,
.tph-resort-page li{
  font-size:14px!important;
  line-height:1.82!important;
}
.tph-resort-page .tph-resort-panel-heading,
.tph-resort-page h2{
  font-size:21px!important;
  line-height:1.4!important;
}
.tph-resort-page h3{
  font-size:17px!important;
  line-height:1.42!important;
}

/* ---------- LOCATIONS DIRECTORY ----------
   Exclude .tph49n-reader: accepted location reader is the reference and remains untouched.
*/
.ta-locations .ta-section-heading h2,
.ta-locations .tph46-group-head h2,
.ta-locations .tph46-other-head h2{
  font-size:21px!important;
  line-height:1.4!important;
}
.ta-locations .ta-area-info p,
.ta-locations .tph46-card p,
.ta-locations .ta-photo-disclaimer{
  font-size:14px!important;
  line-height:1.82!important;
}
.ta-locations h3{
  font-size:17px!important;
  line-height:1.42!important;
}

/* ---------- DEALS ---------- */
.td-page .td-summary,
.td-page .td-card-details,
.td-page .td-notice,
.td-page .td-verify-note,
.td-page p,
.td-page li{
  font-size:14px!important;
  line-height:1.82!important;
}
.td-page .td-head h2,
.td-page .td-section h2,
.td-page h2{
  font-size:21px!important;
  line-height:1.4!important;
}
.td-page .td-card-title,
.td-page h3{
  font-size:17px!important;
  line-height:1.42!important;
}

/* ---------- BLOG LIST ---------- */
.blog-main .blog-body p,
.blog-main .blog-meta,
.blog-main .side-link,
.blog-main p,
.blog-main li{
  font-size:14px!important;
  line-height:1.82!important;
}
.blog-main h2,
.blog-main .tph38b-blog-areas-head h2{
  font-size:21px!important;
  line-height:1.4!important;
}
.blog-main .blog-body h3,
.blog-main h3{
  font-size:17px!important;
  line-height:1.42!important;
}

/* ---------- ARTICLE READER ---------- */
.article-page .article-content,
.article-page .tph14-article-paper,
.article-page .tph21c-reader-body{
  font-size:14px!important;
  line-height:1.82!important;
}
.article-page .article-content p,
.article-page .article-content li,
.article-page .tph14-article-paper p,
.article-page .tph14-article-paper li,
.article-page .tph21c-reader-body p,
.article-page .tph21c-reader-body li{
  font-size:14px!important;
  line-height:1.82!important;
}
.article-page .article-content h2,
.article-page .tph14-article-paper h2,
.article-page .tph21c-reader-body h2{
  font-size:21px!important;
  line-height:1.4!important;
}
.article-page .article-content h3,
.article-page .tph14-article-paper h3,
.article-page .tph21c-reader-body h3{
  font-size:17px!important;
  line-height:1.42!important;
}

/* ---------- CAFE DIRECTORY ---------- */
.tph44b-page .tph44b-content p,
.tph44b-page .tph44b-detail,
.tph44b-page p,
.tph44b-page li{
  font-size:14px!important;
  line-height:1.82!important;
}
.tph44b-page .tph44b-head h2,
.tph44b-page h2{
  font-size:21px!important;
  line-height:1.4!important;
}
.tph44b-page h3{
  font-size:17px!important;
  line-height:1.42!important;
}

/* ---------- CAFE DETAIL ---------- */
.tph39-page .tph39-desc,
.tph39-page .tph39-info,
.tph39-page p,
.tph39-page li{
  font-size:14px!important;
  line-height:1.82!important;
}
.tph39-page h2{
  font-size:21px!important;
  line-height:1.4!important;
}
.tph39-page h3{
  font-size:17px!important;
  line-height:1.42!important;
}

/* ---------- FAQ ---------- */
.tph16-content .tph16-faq-answer,
.tph16-content .tph16-promo p,
.tph16-content p,
.tph16-content li{
  font-size:14px!important;
  line-height:1.82!important;
}
.tph16-content .tph16-list-heading,
.tph16-content h2{
  font-size:21px!important;
  line-height:1.4!important;
}
.tph16-content .tph16-faq-question,
.tph16-content h3{
  font-size:17px!important;
  line-height:1.42!important;
}

/* ---------- CONTACT ---------- */
.tph16-contact .tph16-muted,
.tph16-contact .tph16-channel,
.tph16-contact .tph16-contact-steps,
.tph16-contact p,
.tph16-contact li{
  font-size:14px!important;
  line-height:1.82!important;
}
.tph16-contact h2{
  font-size:21px!important;
  line-height:1.4!important;
}
.tph16-contact h3{
  font-size:17px!important;
  line-height:1.42!important;
}

/* ---------- ABOUT / PRIVACY / TERMS ----------
   These pages use legacy generic classes. Restrict to content panels and section copy,
   not nav/footer/buttons.
*/
.owner-box p,
.owner-box li,
.section .hero-text p,
.section .split p,
.section .check-list li,
.section > .container > p{
  font-size:14px!important;
  line-height:1.82!important;
}
.owner-box h2,
.section .split h2,
.section > .container > h2{
  font-size:21px!important;
  line-height:1.4!important;
}
.owner-box h3,
.section .split h3,
.section .card-body h3{
  font-size:17px!important;
  line-height:1.42!important;
}

/* ---------- HOME CONTENT HEADINGS ----------
   Only content section titles/copy, not cards/buttons.
*/
.section-head h2,
.tph20-section-head h2{
  font-size:21px!important;
  line-height:1.4!important;
}
.section-head .helper,
.section-head p{
  font-size:14px!important;
  line-height:1.82!important;
}

/* ---------- MOBILE ---------- */
@media(max-width:800px){
  .tph-search-page .tph-search-desc,
  .tph-search-page .tph-search-location,
  .tph-search-page .tph-search-page-status,
  .tph-search-page .tph-search-empty,
  .tph-search-page p,
  .tph-search-page li,

  .tph-resort-page .tph-resort-description,
  .tph-resort-page .tph-resort-muted,
  .tph-resort-page .tph-resort-review,
  .tph-resort-page .tph-resort-owner-reply,
  .tph-resort-page p,
  .tph-resort-page li,

  .ta-locations .ta-area-info p,
  .ta-locations .tph46-card p,
  .ta-locations .ta-photo-disclaimer,

  .td-page .td-summary,
  .td-page .td-card-details,
  .td-page .td-notice,
  .td-page .td-verify-note,
  .td-page p,
  .td-page li,

  .blog-main .blog-body p,
  .blog-main .blog-meta,
  .blog-main .side-link,
  .blog-main p,
  .blog-main li,

  .article-page .article-content,
  .article-page .article-content p,
  .article-page .article-content li,
  .article-page .tph14-article-paper,
  .article-page .tph14-article-paper p,
  .article-page .tph14-article-paper li,
  .article-page .tph21c-reader-body,
  .article-page .tph21c-reader-body p,
  .article-page .tph21c-reader-body li,

  .tph44b-page .tph44b-content p,
  .tph44b-page .tph44b-detail,
  .tph44b-page p,
  .tph44b-page li,

  .tph39-page .tph39-desc,
  .tph39-page .tph39-info,
  .tph39-page p,
  .tph39-page li,

  .tph16-content .tph16-faq-answer,
  .tph16-content .tph16-promo p,
  .tph16-content p,
  .tph16-content li,

  .tph16-contact .tph16-muted,
  .tph16-contact .tph16-channel,
  .tph16-contact .tph16-contact-steps,
  .tph16-contact p,
  .tph16-contact li,

  .owner-box p,
  .owner-box li,
  .section .hero-text p,
  .section .split p,
  .section .check-list li,
  .section > .container > p,

  .section-head .helper,
  .section-head p{
    font-size:12.75px!important;
    line-height:1.76!important;
  }

  .tph-search-page .tph-search-section-title,
  .tph-search-page h2,
  .tph-resort-page .tph-resort-panel-heading,
  .tph-resort-page h2,
  .ta-locations .ta-section-heading h2,
  .ta-locations .tph46-group-head h2,
  .ta-locations .tph46-other-head h2,
  .td-page .td-head h2,
  .td-page .td-section h2,
  .td-page h2,
  .blog-main h2,
  .blog-main .tph38b-blog-areas-head h2,
  .article-page .article-content h2,
  .article-page .tph14-article-paper h2,
  .article-page .tph21c-reader-body h2,
  .tph44b-page .tph44b-head h2,
  .tph44b-page h2,
  .tph39-page h2,
  .tph16-content .tph16-list-heading,
  .tph16-content h2,
  .tph16-contact h2,
  .owner-box h2,
  .section .split h2,
  .section > .container > h2,
  .section-head h2,
  .tph20-section-head h2{
    font-size:17px!important;
    line-height:1.38!important;
  }

  .tph-search-page h3,
  .tph-resort-page h3,
  .ta-locations h3,
  .td-page .td-card-title,
  .td-page h3,
  .blog-main .blog-body h3,
  .blog-main h3,
  .article-page .article-content h3,
  .article-page .tph14-article-paper h3,
  .article-page .tph21c-reader-body h3,
  .tph44b-page h3,
  .tph39-page h3,
  .tph16-content .tph16-faq-question,
  .tph16-content h3,
  .tph16-contact h3,
  .owner-box h3,
  .section .split h3,
  .section .card-body h3{
    font-size:15px!important;
    line-height:1.4!important;
  }
}
