/* ==========================================================================
   English-only typography overrides.
   The base style.min.css is tuned for Traditional Chinese (Noto Sans TC,
   line-height:2, big letter-spacing on display type) which reads poorly for
   Latin text. This sheet only loads when SITE_LANG !== 'tw'.
   ========================================================================== */

/* ---- Font family: a proper Latin sans, with a strong system fallback ---- */
body,
p, li, dd, dt, blockquote,
input, select, textarea, button,
.form-control, .custom-select,
.editor, .about_text, .text-box,
.nav-link, .btn, .label,
.main-title, .sub-title, .sec_title, .sec_entitle,
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI",
		Roboto, "Helvetica Neue", Arial, "Noto Sans TC", sans-serif;
}

/* ---- Body copy: tighten the very loose CJK line-height ---- */
body {
	line-height: 1.6;
	letter-spacing: 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
p { line-height: 1.65; }
.editor { line-height: 1.7; }
.editor p { margin-bottom: 1em; }
li { line-height: 1.6; }

/* Latin words must not be chopped mid-word */
p, li, td, th, .about_text, .about_text p, .text-box, .editor {
	word-break: normal;
	overflow-wrap: break-word;
}

/* ---- Headings: replace line-height:2 + heavy tracking ---- */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	line-height: 1.25;
	letter-spacing: -0.01em;
	word-break: normal;
	overflow-wrap: break-word;
}
h1, h2, h3 { font-weight: 600; }
h4 { font-weight: 600; }

/* Section title (page H1 style) — give it real weight in English */
.sec_title {
	font-weight: 700;
	letter-spacing: -0.015em;
	line-height: 1.2;
}
.sec_entitle { letter-spacing: 0; }

/* ---- Display / marketing headings: drop the 0.8–1rem CJK tracking ---- */
.main-title,
.sub-title,
.slogin,
.footer-slogan .h3,
.footer-slogan .h5,
body.home .intro-wrapper .title-1,
body.home .intro-wrapper .title-2,
body.home .intro-wrapper .title-3,
body.home .about .sub-title,
body.home .charging .slogin {
	letter-spacing: 0 !important;
	line-height: 1.2;
	word-spacing: normal;
}
.main-title { line-height: 1.25; }
.sub-title { line-height: 1.35; }

/* Homepage hero — scope with body.en so it always beats the CJK defaults */
body.en .intro-wrapper .title-1,
body.en .intro-wrapper .title-1 span,
body.en .intro-wrapper .title-2,
body.en .intro-wrapper .title-3 {
	letter-spacing: 0 !important;
	word-spacing: normal !important;
}
body.en .intro-wrapper .title-1 { line-height: 1.14; font-weight: 300; }
body.en .intro-wrapper .title-2 { line-height: 1.18; }
body.en .intro-wrapper .title-3 { line-height: 1.3; letter-spacing: 0.01em !important; }
body.en .about .sub-title,
body.en .charging .slogin,
body.en .sub-title,
body.en .main-title,
body.en .slogin { letter-spacing: 0 !important; word-spacing: normal !important; }

/* ---- Buttons / nav: no letter tracking on Latin ---- */
.btn,
.header .item-top,
.header .nav-link,
.header .item-bottom,
.language-selector .language-text { letter-spacing: 0; }
.btn { line-height: 1.4; }

/* ---- Tables (pricing) ---- */
.pricing-table td,
.pricing-table th,
.pricing-table li { line-height: 1.5; letter-spacing: 0; }

/* ---- Contact form ---- */
.form .label { letter-spacing: 0; line-height: 1.4; }
.form-control, .custom-select, textarea { line-height: 1.5; }

/* ---- Balance heading wraps where the browser supports it ---- */
h1, h2, h3,
.sec_title, .main-title, .sub-title,
.footer-slogan .h3, .footer-slogan .h5 {
	text-wrap: balance;
}

/* ---- Small decorative all-caps labels keep a touch of tracking ---- */
.sec_entitle,
body.about .point:before,
.loading-text { letter-spacing: 0.02em; }

/* ---- Homepage: "6 key features" grid — centre the wrapped titles ---- */
body.en .feature .box-md .title,
body.en .feature .box-md .sub-title,
body.en .feature .box-md .text-box { text-align: center; }

/* ---- Homepage: "How it works" sub-title sat too light on the pale bg ---- */
body.en .process .sub-title { color: #4a4a4a; }
body.en .process .main-title { color: #043e7e; }
body.en .process .process-item .process-text { color: #2b2b2b; }
