/* font-formal.css — ฟอนต์ทางการ อ่านง่าย: Sarabun (ตระกูลเดียวกับ TH Sarabun ที่ราชการไทยใช้) ทั้งไทยและอังกฤษ
   โหลดต่อท้าย style.css + blue-theme.css — ถ้าไม่ชอบ ลบแท็ก <link> ของไฟล์นี้ออก เว็บจะกลับเป็นฟอนต์เดิมทันที
   หมายเหตุ: Sarabun ตัวเล็กกว่า IBM Plex Sans Thai เล็กน้อย จึงไล่ขนาดตัวอักษรขึ้นให้เท่าที่ตาอ่านสบาย */
:root {
  --font-formal: 'Sarabun', 'IBM Plex Sans Thai', 'Noto Sans Thai', 'Tahoma', sans-serif;
  --serif: var(--font-formal);
  --accent-serif: var(--font-formal);
}
html { -webkit-text-size-adjust: 100%; }
body, button, input, select, textarea { font-family: var(--font-formal); }
body { font-size: 17px; line-height: 1.7; }

/* หัวข้อ: หนาพอดี ไม่ดึงตัวอักษรชิดกัน (ตัวอักษรไทยมีสระ/วรรณยุกต์ซ้อน ต้องมีระยะ) */
.hero-title, .section-title, .price-title, .cta-band h2, .dl-hero h1, .shop-hero h1 {
  font-family: var(--font-formal); font-weight: 700; letter-spacing: 0; line-height: 1.3;
}
.hero-title { font-size: clamp(36px, 5.2vw, 66px); }
.hero-title .hero-em { font-family: var(--font-formal); font-weight: 700; letter-spacing: 0; font-style: normal !important; }
html[data-lang="en"] .hero-title .hero-em { font-style: normal !important; }
.section-title { font-size: clamp(28px, 3.6vw, 42px); }

.brand-text .name, .svc-card h3, .why-item h3, .trust-col h3, .step h3, .platform-card h3, .feature-card h3,
.price-card h3, .faq-item summary, .map-photo-hospital, .footer-brand span, .trust-badge-icon {
  font-family: var(--font-formal); font-weight: 700; letter-spacing: 0;
}
.svc-card h3, .why-item h3, .trust-col h3, .step h3, .platform-card h3, .feature-card h3 { font-size: 23px; line-height: 1.35; }
.price-card h3 { font-size: 24px; }
.faq-item summary { font-size: 19px; font-weight: 600; }

/* เนื้อความ: ขยายจาก 13–15px ที่ Sarabun จะดูเล็ก */
.hero-desc { font-size: 19px; line-height: 1.75; }
.section-desc { font-size: 17px; line-height: 1.75; }
.svc-card p, .why-item p, .feature-card p, .price-card-desc, .price-list li { font-size: 16.5px; line-height: 1.75; }
.step p, .faq-item .a, .map-photo-note, .price-note, .footer-desc { font-size: 15.5px; line-height: 1.75; }
.nav-links a { font-size: 16px; font-weight: 500; }
.nav-mobile a { font-size: 17px; }
.eyebrow, .price-tag { font-size: 14px; letter-spacing: .3px; }
.hero-eyebrow { font-size: 15px; }
.btn-cta { font: 600 17px var(--font-formal); }
.price-factors li { font-size: 15px; }
.footer-col a, .footer-bottom { font-size: 15px; }

/* ตัวหนังสือสีเทาเข้มขึ้นนิดให้คอนทราสต์ดี อ่านชัดบนพื้นขาว */
.svc-card p, .why-item p, .feature-card p, .price-card-desc, .section-desc, .hero-desc { color: #46526B; }
.hero-desc, .dl-hero p { color: rgba(255,255,255,.94) !important; }

/* ตัวอย่างหน้าจอโปรแกรมจำลองในหน้าแรกคงฟอนต์เดิม (Prompt) ให้เหมือนโปรแกรมจริง */

/* เมนูบน: เมนูมีหลายรายการ จึงขยายแค่พอดี ไม่ให้ชนชื่อบริษัท (ชื่อบริษัทห้ามหด) */
.brand { flex-shrink: 0; }
.brand-text .name { white-space: nowrap; font-size: 16px; }
.nav-links a { font-size: 14.5px; font-weight: 500; padding: 8px 10px; }
@media (max-width: 1440px) { .nav-links a { font-size: 14px; padding: 8px 8px; } .brand-text .name { font-size: 15px; } }
@media (max-width: 1180px) { .nav-links a { font-size: 13.5px; padding: 8px 6px; } }
@media (max-width: 1280px) { .nav-links a { font-size: 13.5px; padding: 8px 6px; } .brand-text .name { font-size: 14.5px; } }
