One typeface, Google Sans, for both Thai and Latin. Base size
14px, line-height 1.55. Wrap long content in
.typography to get spacing, lists and quotes.
Headings: h1 to h6
The base style resets the margin of every element. Add
class="typography" to a wrapper to give headings,
paragraphs and lists article spacing.
class="h1" to class="h6" give any
element the size and weight of that heading, without changing the
element. Use them when the page outline and the look differ: a
section title that is an h2 but looks like an
h4, or a card title that is a p or a
div.
Class h1 on a paragraph
Class h2 on a paragraph
Class h3 on a paragraph
Class h4 on a paragraph
Class h5 on a paragraph
Class h6 on a paragraph
An h2 that looks like an h4
<p class="h1">Class h1 on a paragraph</p>
<p class="h2">Class h2 on a paragraph</p>
<p class="h3">Class h3 on a paragraph</p>
<p class="h4">Class h4 on a paragraph</p>
<p class="h5">Class h5 on a paragraph</p>
<p class="h6">Class h6 on a paragraph</p>
<h2 class="h4">An h2 that looks like an h4</h2>
Paragraphs: lead, default, muted and small
Add data-variant="lead" or "muted" to a
<p>. Use <small> for small
text.
Lead paragraph. One or two sentences that open the page
and say what it is for.
Paragraph. An order moves from Pending to Processing once
payment is captured, and to Fulfilled once every item has
shipped.
Muted paragraph. Extra detail for the text above.
Small text. Last edited Oct 2, 2026 at 02:39.
<div class="typography">
<p data-variant="lead">Lead paragraph. One or two sentences that open the page and say what it is for.</p>
<p>Paragraph. An order moves from Pending to Processing once payment is captured, and to Fulfilled once every item has shipped.</p>
<p data-variant="muted">Muted paragraph. Extra detail for the text above.</p>
<p><small>Small text. Last edited Oct 2, 2026 at 02:39.</small></p>
</div>
SKU is an
abbreviation. Hover to see what it means.
order_status for field names, values or
commands.
Press CtrlK to search.
Subscript H2O and superscript m2.
<div class="typography">
<p><strong>Strong</strong> for the most important text.</p>
<p><em>Emphasis</em> stresses a word.</p>
<p><a href="#">Link</a> to another page.</p>
<p><mark>Mark</mark> highlights a search match.</p>
<p><del>$39.00</del> <ins>$29.00</ins> shows a change.</p>
<p><abbr title="Stock keeping unit">SKU</abbr> is an abbreviation. Hover to see what it means.</p>
<p><code>order_status</code> for field names, values or commands.</p>
<p>Press <kbd>Ctrl</kbd> <kbd>K</kbd> to search.</p>
<p>Subscript H<sub>2</sub>O and superscript m<sup>2</sup>.</p>
</div>
Keyboard keys
Use class="kbd" outside .typography.
Inside .typography, a plain
<kbd> is enough.
<div class="typography">
<p>Text above the line.</p>
<hr />
<p>Text below the line.</p>
</div>
A full article
Shipping protection
Cover orders that are lost, stolen or damaged on the way
to the customer.
How it works
Customers add protection at checkout for $2.99. If a
parcel does not arrive, the customer opens a claim from
the order status page and chooses a refund
or a reshipment.
What is covered
Parcels marked as delivered that never arrived
Items damaged in transit
Parcels lost by the carrier
Claims can be opened within 30 days of the ship date.
Setting it up
Open Settings and go to
Shipping.
Turn on protection and set the price.
Save. A shipping-protection product is
created for you.
<article class="typography">
<h1>Shipping protection</h1>
<p data-variant="lead">
Cover orders that are lost, stolen or damaged on the way to the customer.
</p>
<h2>How it works</h2>
<p>
Customers add protection at checkout for $2.99. If a parcel does not arrive, the customer opens
a claim from the <a href="#">order status page</a> and chooses a refund or a reshipment.
</p>
<h3>What is covered</h3>
<ul>
<li>Parcels marked as delivered that never arrived</li>
<li>Items damaged in transit</li>
<li>Parcels lost by the carrier</li>
</ul>
<blockquote>
<p>Claims can be opened within 30 days of the ship date.</p>
</blockquote>
<h3>Setting it up</h3>
<ol>
<li>Open <strong>Settings</strong> and go to <strong>Shipping</strong>.</li>
<li>Turn on protection and set the price.</li>
<li>Save. A <code>shipping-protection</code> product is created for you.</li>
</ol>
</article>
Thai and Latin
Google Sans covers both scripts, so Thai and Latin share one
baseline and line-height. Mark Thai text with
lang="th".
An order becomes Fulfilled once every item has shipped.
<div class="typography">
<h3><span lang="th">คำสั่งซื้อ</span> Orders</h3>
<p lang="th">คำสั่งซื้อเปลี่ยนเป็น Fulfilled เมื่อจัดส่งสินค้าครบทุกรายการ</p>
<p>An order becomes Fulfilled once every item has shipped.</p>
</div>
Attributes
Attribute / element
Values
Description
.typography
class
Wrapper for long content. Adds spacing between blocks and
styles h1-h6, list markers, quotes, pre and hr.
p[data-variant]
lead, muted (omit for default)
lead: 16px grey, muted: grey. Used in .typography.
small
12px grey in .typography.
ul, ol, li
Markers disc / circle (nested) / decimal in --muted.
dl > dt, dd
Two columns: dt is a grey label, dd is the value.
blockquote
2px --line on the left, grey text.
pre > code
Code block on --subtle. Scrolls horizontally.
code, mark, del, ins, abbr[title], sub, sup, a,
strong
Inline styles in .typography (underlined links, mark on
--warning-bg).
hr
1px --line with 24px space above and below in .typography.
.kbd
class
Keyboard key that works anywhere. In .typography, a plain
<kbd> works.