/* SG type system: same sizes in Chinese and English; Chinese gets slightly wider letter spacing */

/* Home photo banners */
#list_vertical_0_209 .details .description, #list_vertical_0_209 .details .description *, #list_vertical_0_210 .details .description, #list_vertical_0_210 .details .description * { font-size: 26px !important; font-weight: 600 !important; line-height: 1.3 !important; letter-spacing: 0.02em !important; }
#list_vertical_0_209 .details .description * { letter-spacing: 0.12em !important; }

/* Home feature captions */
#list_vertical_4_215 .details .description, #list_vertical_4_215 .details .description *, #list_vertical_4_216 .details .description, #list_vertical_4_216 .details .description * { font-size: 20px !important; font-weight: 400 !important; line-height: 1.6 !important; letter-spacing: 0.02em !important; text-wrap-style: balance; }
#list_vertical_4_215 .details .description * { letter-spacing: 0.1em !important; }

/* About Us pillar cards */
#list_vertical_4_54 .description > div > div:nth-child(1), #list_vertical_4_54 .description > div > div:nth-child(1) *, #list_vertical_4_61 .description > div > div:nth-child(1), #list_vertical_4_61 .description > div > div:nth-child(1) * { font-size: 22px !important; font-weight: 400 !important; line-height: 1.5 !important; letter-spacing: 0.02em !important; }
#list_vertical_4_54 .description > div > div:nth-child(1), #list_vertical_4_54 .description > div > div:nth-child(1) * { letter-spacing: 0.08em !important; }
#list_vertical_4_54 .description > div > div:nth-child(2), #list_vertical_4_54 .description > div > div:nth-child(2) *, #list_vertical_4_61 .description > div > div:nth-child(2), #list_vertical_4_61 .description > div > div:nth-child(2) * { font-size: 14px !important; font-weight: 400 !important; line-height: 1.6 !important; letter-spacing: 0.2em !important; text-wrap-style: balance; }
#list_vertical_4_54 .description > div > p, #list_vertical_4_54 .description > div > p *, #list_vertical_4_61 .description > div > p, #list_vertical_4_61 .description > div > p * { font-size: 16px !important; font-weight: 400 !important; line-height: 1.9 !important; letter-spacing: 0.01em !important; text-wrap-style: pretty; }
#list_vertical_4_54 .description > div > p, #list_vertical_4_54 .description > div > p * { letter-spacing: 0.04em !important; }
#list_vertical_4_54 .description > div > div:last-child, #list_vertical_4_54 .description > div > div:last-child *, #list_vertical_4_61 .description > div > div:last-child, #list_vertical_4_61 .description > div > div:last-child * { font-size: 15px !important; font-weight: 400 !important; line-height: 1.6 !important; letter-spacing: 0.12em !important; }
#list_vertical_4_54 .description > div > div:last-child * { letter-spacing: 0.18em !important; }

/* Titles of built-in modules (e.g. Recommended Products) */
.zone_title .title.large-text, .zone_title .title.large-text * { font-size: clamp(26px, 3vw, 34px) !important; font-weight: 400 !important; line-height: 1.5 !important; letter-spacing: 0.02em !important; }
html[lang^="zh"] .zone_title .title.large-text, html[lang^="zh"] .zone_title .title.large-text * { letter-spacing: 0.1em !important; }

/* Products page slideshow */
.pcs-eyebrow { font-size: 14px !important; line-height: 1.6 !important; letter-spacing: 0.2em !important; font-weight: 400 !important; }
.pcs-title { font-size: clamp(26px, 3vw, 34px) !important; line-height: 1.5 !important; letter-spacing: 0.02em !important; font-weight: 400 !important; text-wrap-style: balance; }
.pcs-intro { font-size: 16px !important; line-height: 1.9 !important; letter-spacing: 0.01em !important; text-wrap-style: pretty; }
.pcs-name { font-size: clamp(21px, 2.2vw, 26px) !important; line-height: 1.5 !important; letter-spacing: 0.02em !important; font-weight: 400 !important; }
.pcs-cta, .map-store-button { font-size: 15px !important; line-height: 1.6 !important; letter-spacing: 0.12em !important; }

/* Contact page: store map and contact channels */
.map-block-title, .contact-channels-title { font-size: 14px !important; line-height: 1.6 !important; letter-spacing: 0.2em !important; font-weight: 400 !important; }
.map-store-name { font-size: clamp(21px, 2.2vw, 26px) !important; line-height: 1.5 !important; letter-spacing: 0.02em !important; font-weight: 400 !important; }
.map-store-desc, .contact-channel-value { font-size: 16px !important; line-height: 1.9 !important; letter-spacing: 0.01em !important; text-wrap-style: pretty; }
.map-panel-sub, .map-panel-tab, .map-photo-caption, .map-block-hint, .contact-channel-note { font-size: 14px !important; line-height: 1.7 !important; }
.contact-channel-name { font-size: 20px !important; line-height: 1.6 !important; letter-spacing: 0.02em !important; font-weight: 400 !important; }
#full_text_block_3_44 div, #full_text_block_3_48 div { letter-spacing: 0.1em !important; }

/* Chinese letter spacing for the module rules above */
html[lang^="zh"] .pcs-title, html[lang^="zh"] .map-store-name { letter-spacing: 0.1em !important; }
html[lang^="zh"] .pcs-name, html[lang^="zh"] .contact-channel-name { letter-spacing: 0.08em !important; }
html[lang^="zh"] .pcs-intro, html[lang^="zh"] .map-store-desc, html[lang^="zh"] .contact-channel-value { letter-spacing: 0.04em !important; }
html[lang^="zh"] .pcs-eyebrow, html[lang^="zh"] .map-block-title, html[lang^="zh"] .contact-channels-title { letter-spacing: 0.3em !important; }
html[lang^="zh"] .pcs-cta, html[lang^="zh"] .map-store-button { letter-spacing: 0.18em !important; }

/* Avoid a single word left alone on the last line */
.product_name, .pcs-name, .map-store-name, .contact-channel-name { text-wrap-style: balance; }

/* Home: keep the three Chinese lines on one line on smaller laptops */
#image_text_block_6_218 td:nth-child(2) { font-size: clamp(13px, 1.9vw, 20px) !important; line-height: 1.85 !important; }
#image_text_block_6_218 td:nth-child(2) { letter-spacing: 0.03em !important; }
#image_text_block_6_218 table { width: max-content !important; position: relative; left: 50%; transform: translateX(-50%); margin: 0 !important; }

/* Home, English Recipe paragraph: narrower column so it sits beside the photo */
#image_text_block_7_222 .image-text-description > div { max-width: min(560px, 80%); margin-left: auto !important; margin-right: auto !important; }

/* Page intro paragraphs under the big page titles: wide enough that each sentence stays on one line */
[id^="full_text_block_0_"] p[style*="max-width: 560px"] { max-width: 720px !important; text-wrap-style: balance; }

/* Corporate: shorter hero so the content below shows sooner */
.sgcorp > section:first-child > div > div:last-child { position: relative; }
.sgcorp > section:first-child > div > div:last-child img { position: absolute; inset: 0; height: 100% !important; min-height: 0 !important; }
.sgcorp > section:first-child > div { min-height: clamp(520px, 62vw, 720px); }
