:root {
  --tsf-rice: #f8f5f0;
  --tsf-paper: #fffdfa;
  --tsf-ink: #222222;
  --tsf-brown: #5c4838;
  --tsf-red: #992a2a;
  --tsf-blue: #385266;
  --tsf-mist: #e8e4dd;
  --tsf-line: rgba(34, 34, 34, .13);
  --tsf-soft-line: rgba(34, 34, 34, .08);
  --tsf-shadow: 0 7px 24px rgba(34, 34, 34, .055);
  --tsf-content-width: 1200px;
}

* { box-sizing: border-box; }
body.tsf-commerce-site { background: var(--tsf-rice); color: var(--tsf-ink); font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif; }
.tsf-commerce-site h1, .tsf-commerce-site h2, .tsf-commerce-site h3, .tsf-commerce-site h4, .tsf-commerce-site .wp-block-site-title, .tsf-commerce-site .woocommerce-loop-product__title { font-family: "Noto Serif SC", "Songti SC", SimSun, serif; font-weight: 600; }
a { transition: color .18s ease, border-color .18s ease, background-color .18s ease; }
.tsf-site-header, .tsf-site-footer, .tsf-home, .tsf-archive, .tsf-single-product, .tsf-system-page, .tsf-editorial-page, .tsf-journal { max-width: 1380px; margin-inline: auto; }

/* Commerce header */
.tsf-site-header { padding: 0 30px; }
.tsf-topbar { border-bottom: 1px solid var(--tsf-line); margin-inline: -30px; }
.tsf-topbar-inner { min-height: 38px; max-width: 1380px; padding: 0 30px; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; font-size: .72rem; color: rgba(34,34,34,.66); }
.tsf-topbar nav, .tsf-topbar-right { display: flex; align-items: center; gap: 18px; }
.tsf-topbar a { color: inherit; text-decoration: none; }
.tsf-topbar a:hover { color: var(--tsf-red); }
.tsf-topbar-right > span { color: var(--tsf-blue); }
.tsf-header-main { min-height: 92px; gap: 26px; }
.tsf-brand { gap: 12px; flex: 0 0 auto; }
.tsf-header-main > .wp-block-shortcode { flex: 0 0 auto; margin: 0; }
.tsf-brand-logo { display: inline-flex; align-items: center; color: var(--tsf-brown); text-decoration: none; }
.tsf-brand-logo img { display: block; width: auto; max-width: 230px; height: 60px; object-fit: contain; object-position: left center; }
.tsf-brand-logo.is-placeholder { justify-content: center; width: 46px; height: 46px; border: 1px solid var(--tsf-brown); font-family: "Noto Serif SC", serif; font-size: 1.55rem; }
.tsf-brand-mark { width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid var(--tsf-brown); color: var(--tsf-brown); font-family: "Noto Serif SC", serif; font-size: 1.55rem; line-height: 1; }
.tsf-site-title { display: block; color: var(--tsf-brown); font-family: "Noto Serif SC", serif; font-size: 1.24rem; line-height: 1.2; text-decoration: none; white-space: nowrap; }
.tsf-site-subtitle { margin: 5px 0 0; color: var(--tsf-blue); font-size: .63rem; letter-spacing: .12em; }
.tsf-header-search-wrap { flex: 1 1 auto; max-width: 670px; display: flex; gap: 10px; align-items: center; }
.tsf-category-button { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 18px; background: var(--tsf-brown); color: var(--tsf-rice); font-size: .78rem; text-decoration: none; white-space: nowrap; }
.tsf-category-button:hover { background: var(--tsf-ink); color: var(--tsf-rice); }
.tsf-search-form { height: 42px; flex: 1; display: flex; border: 1px solid rgba(34,34,34,.22); background: var(--tsf-paper); }
.tsf-search-form input { min-width: 0; width: 100%; border: 0; outline: 0; padding: 0 14px; background: transparent; color: var(--tsf-ink); font: inherit; font-size: .8rem; }
.tsf-search-form button { width: 46px; border: 0; background: transparent; color: var(--tsf-brown); font-size: 1.45rem; cursor: pointer; }
.tsf-header-tools { gap: 17px; flex: 0 0 auto; }
.tsf-account-link { display: inline-flex; align-items: center; gap: 7px; color: var(--tsf-ink); font-size: .76rem; line-height: 1.2; text-decoration: none; }
.tsf-account-link > span:first-child { font-size: 1.35rem; color: var(--tsf-brown); }
.tsf-account-link small { color: rgba(34,34,34,.55); font-size: .64rem; }
.tsf-language-switcher { display: flex; align-items: center; gap: 6px; font-size: .72rem; white-space: nowrap; }
.tsf-language-switcher a { color: var(--tsf-ink); text-decoration: none; }
.tsf-language-switcher a.is-active { color: var(--tsf-red); font-weight: 600; }
.tsf-mini-cart { margin: 0; }
.tsf-mini-cart .wc-block-mini-cart__button { min-height: 42px; padding: 8px 12px; border: 1px solid var(--tsf-line); color: var(--tsf-brown); background: transparent; }
.tsf-commerce-nav { min-height: 48px; display: flex; align-items: stretch; border-top: 1px solid var(--tsf-line); border-bottom: 1px solid var(--tsf-line); }
.tsf-commerce-nav > nav { display: flex; align-items: stretch; gap: 0; flex: 1; }
.tsf-commerce-nav a { display: inline-flex; align-items: center; gap: 8px; padding: 0 20px; color: var(--tsf-ink); font-size: .8rem; text-decoration: none; }
.tsf-commerce-nav a:hover, .tsf-commerce-nav a:focus-visible { color: var(--tsf-red); background: rgba(153,42,42,.045); }
.tsf-commerce-nav small { color: rgba(34,34,34,.5); font-size: .64rem; }
.tsf-nav-all { background: rgba(92,72,56,.08); color: var(--tsf-brown) !important; font-weight: 600; white-space: nowrap; }
.tsf-nav-promo { margin-left: auto; border-left: 1px solid var(--tsf-line); white-space: nowrap; }
.tsf-nav-promo small { color: var(--tsf-red); }

/* Home */
.tsf-hero { position: relative; min-height: 500px; margin-top: 0; overflow: hidden; border-bottom: 1px solid var(--tsf-line); background-color: #d5d1c8; }
.tsf-home > .tsf-hero-shell { position: relative; left: 50%; width: 100vw !important; max-width: none !important; margin: 0 !important; transform: translateX(-50%); }
.tsf-hero-shell > .tsf-hero { width: 100%; }
.tsf-hero::before { content: ""; position: absolute; inset: 0; z-index: 1; background: rgba(248,245,240,.43); pointer-events: none; }
.tsf-hero::after { content: ""; position: absolute; inset: 14% 0 auto; z-index: 2; height: 1px; background: rgba(56,82,102,.18); box-shadow: 0 18px 0 rgba(56,82,102,.1), 0 36px 0 rgba(56,82,102,.06); transform: skewY(-5deg); pointer-events: none; }
.tsf-hero-slides, .tsf-hero-slide { position: absolute; inset: 0; }
.tsf-hero-slide { opacity: 0; transition: opacity .7s ease; }
.tsf-hero-slide.is-active { opacity: 1; }
.tsf-hero-slide img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.72); }
.tsf-hero-content { position: relative; z-index: 3; width: 100%; max-width: 1380px; margin-inline: auto; padding: 80px 30px; }
.tsf-hero-actions { margin-top: 6px; }
.tsf-hero-button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 22px; border: 1px solid var(--tsf-brown); background: var(--tsf-brown); color: var(--tsf-rice); font-size: .86rem; text-decoration: none; }
.tsf-hero-button:hover, .tsf-hero-button:focus-visible { border-color: var(--tsf-ink); background: var(--tsf-ink); color: var(--tsf-rice); }
.tsf-hero-pagination { position: absolute; right: max(30px, calc((100% - 1320px) / 2)); bottom: 28px; z-index: 4; display: flex; gap: 9px; }
.tsf-hero-dot { width: 24px; height: 12px; padding: 0; border: 0; border-bottom: 2px solid rgba(34,34,34,.34); background: transparent; cursor: pointer; }
.tsf-hero-dot.is-active { border-bottom-color: var(--tsf-red); }
.tsf-eyebrow, .tsf-overline { color: var(--tsf-blue); font-size: .7rem; letter-spacing: .15em; text-transform: uppercase; }
.tsf-hero-title { margin: 24px 0; color: var(--tsf-brown); font-size: 4rem; line-height: 1.16; letter-spacing: 0; }
.tsf-hero-copy { color: var(--tsf-ink); font-size: 1.08rem; line-height: 2; }
.tsf-primary-button .wp-block-button__link { background: var(--tsf-brown); color: var(--tsf-rice); border: 1px solid var(--tsf-brown); }
.tsf-primary-button .wp-block-button__link:hover { background: var(--tsf-ink); border-color: var(--tsf-ink); }
.tsf-section { padding: 84px 30px; }
.tsf-section-heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; margin-bottom: 32px; }
.tsf-section-heading h2 { margin: 0; color: var(--tsf-brown); }
.tsf-section-heading p { margin: 0; color: var(--tsf-blue); font-size: .82rem; }
.tsf-category-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.tsf-category-item { min-height: 150px; border: 1px solid var(--tsf-line); background: var(--tsf-paper); display: flex; align-items: end; padding: 20px; transition: background-color .2s ease, transform .2s ease; }
.tsf-category-item:hover { background: #f1ede7; transform: translateY(-2px); }
.tsf-category-item a { color: var(--tsf-ink); text-decoration: none; font-family: "Noto Serif SC", serif; font-size: 1.1rem; }
.tsf-category-item small { display: block; margin-top: 8px; color: var(--tsf-blue); font-family: "Noto Sans SC", sans-serif; font-size: .7rem; }

/* Shared product cards */
.tsf-product-collection ul.wc-block-product-template { gap: 18px; }
.tsf-product-collection .wc-block-grid__product, .tsf-product-collection .wc-block-components-product-card { border: 1px solid var(--tsf-soft-line); background: var(--tsf-paper); padding: 0; }
.tsf-product-collection .wc-block-components-product-image { background: #eeebe5; }
.tsf-product-collection .wc-block-components-product-image img { aspect-ratio: 1 / 1; object-fit: cover; }
.tsf-product-collection .wc-block-components-product-title { padding: 0 14px; font-family: "Noto Serif SC", serif; font-size: .98rem; margin-top: 13px; }
.tsf-product-collection .wc-block-components-product-title a { color: var(--tsf-ink); text-decoration: none; }
.tsf-product-collection .wc-block-components-product-price { padding: 0 14px; color: var(--tsf-brown); font-size: .9rem; }
.tsf-product-collection .wp-block-button, .tsf-product-collection .wc-block-components-product-button { padding: 0 14px 14px; }
.tsf-product-collection .wp-block-button__link, .tsf-product-collection .wc-block-components-product-button__button { width: 100%; background: transparent; border: 1px solid var(--tsf-brown); border-radius: 0; color: var(--tsf-brown); font-size: .76rem; }
.tsf-product-collection .wp-block-button__link:hover, .tsf-product-collection .wc-block-components-product-button__button:hover { background: var(--tsf-brown); color: var(--tsf-rice); }
.tsf-server-products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; list-style: none; margin: 0; padding: 0; }
.tsf-server-products::before, .tsf-server-products::after { display: none !important; content: none !important; }
.tsf-server-products .product { position: relative; width: auto !important; float: none !important; min-width: 0; margin: 0 !important; padding: 0 0 16px; border: 1px solid var(--tsf-soft-line); background: var(--tsf-paper); box-shadow: none; transition: transform .18s ease, box-shadow .18s ease; }
.tsf-server-products .product:hover { transform: translateY(-2px); box-shadow: var(--tsf-shadow); }
.tsf-server-products .woocommerce-loop-product__link { display: block; color: var(--tsf-ink); text-decoration: none; }
.tsf-server-products .product img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; margin: 0 0 14px; background: #eeebe5; }
.woocommerce .tsf-server-products .product .onsale, .tsf-server-products .product .onsale { position: absolute; top: 10px !important; right: auto !important; left: 10px !important; z-index: 3; min-width: 0 !important; min-height: 0 !important; margin: 0; padding: 6px 8px !important; border: 0 !important; border-radius: 2px !important; background: var(--tsf-red) !important; color: #fff; font-size: .66rem; font-weight: 500; line-height: 1.15 !important; }
.tsf-server-products .product .onsale::before, .tsf-server-products .product .onsale::after { display: none !important; content: none !important; }
.tsf-server-products .product::after { display: none !important; content: none !important; }
.tsf-wishlist-button { position: absolute; top: 10px; right: 10px; z-index: 4; display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 1px solid rgba(92,72,56,.28); border-radius: 50%; background: rgba(255,253,250,.94); color: var(--tsf-brown); font: inherit; font-size: 1.08rem; line-height: 1; cursor: pointer; }
.tsf-wishlist-button:hover, .tsf-wishlist-button:focus-visible { border-color: var(--tsf-brown); background: var(--tsf-paper); outline: 0; }
.tsf-wishlist-button.is-active { border-color: var(--tsf-red); background: var(--tsf-red); color: #fff; }
.tsf-wishlist-notice { position: fixed; right: 24px; bottom: 24px; z-index: 1001; padding: 10px 16px; border: 1px solid rgba(92,72,56,.28); background: var(--tsf-paper); color: var(--tsf-brown); box-shadow: var(--tsf-shadow); font-size: .78rem; opacity: 0; pointer-events: none; transform: translateY(6px); transition: opacity .18s ease, transform .18s ease; }
.tsf-wishlist-notice.is-visible { opacity: 1; transform: translateY(0); }
.tsf-server-products .woocommerce-loop-product__title { min-height: 3.05em; margin: 0 16px 6px; color: var(--tsf-ink); font-size: .94rem; line-height: 1.55; }
.tsf-server-products .price { display: block; min-height: 1.5em; margin: 0 16px 14px; color: var(--tsf-brown); font-size: .9rem; }
.tsf-server-products .price del { color: rgba(34,34,34,.42); font-size: .76rem; }
.tsf-server-products .price ins { color: var(--tsf-red); text-decoration: none; }
.tsf-server-products .button { display: block; width: calc(100% - 32px); margin: 0 16px; border: 1px solid var(--tsf-brown); border-radius: 0; background: transparent; color: var(--tsf-brown); font-size: .75rem; line-height: 1.4; padding: 10px 12px; text-align: center; }
.tsf-server-products .button:hover { background: var(--tsf-brown); color: var(--tsf-rice); }
.tsf-server-products .added_to_cart { display: block; margin: 6px 16px 0; color: var(--tsf-red); font-size: .72rem; text-align: center; }
.tsf-server-products.tsf-product-view-list { grid-template-columns: 1fr; }
.tsf-server-products.tsf-product-view-list .product { display: grid; grid-template-columns: 190px minmax(0, 1fr); grid-template-rows: repeat(4, auto); align-content: center; align-items: start; column-gap: 24px; row-gap: 8px; min-height: 190px; padding: 0 22px 0 0; }
.tsf-server-products.tsf-product-view-list .woocommerce-loop-product__link { display: contents; }
.tsf-server-products.tsf-product-view-list .product > p { display: contents; }
.tsf-server-products .product br, .tsf-server-products .product p:empty { display: none !important; }
.tsf-server-products.tsf-product-view-list .product img { grid-column: 1; grid-row: 1 / span 4; align-self: stretch; height: 100%; margin: 0; }
.tsf-server-products.tsf-product-view-list .woocommerce-loop-product__title { grid-column: 2; grid-row: 1; align-self: end; min-height: 0; margin: 0; }
.tsf-server-products.tsf-product-view-list .price { grid-column: 2; grid-row: 2; min-height: 0; margin: 0; }
.tsf-server-products.tsf-product-view-list .button { grid-column: 2; grid-row: 3; width: min(230px, 100%); margin: 0; }
.tsf-server-products.tsf-product-view-list .added_to_cart { grid-column: 2; grid-row: 4; width: min(230px, 100%); margin: 0; text-align: center; }
.tsf-server-products.tsf-product-view-list .product::after { right: 16px; top: 16px; }
.tsf-empty-products { border-block: 1px solid var(--tsf-line); color: var(--tsf-blue); padding: 24px 0; }

/* Archive */
.tsf-archive { padding: 0 30px 110px; }
.tsf-archive-intro { padding: 32px 0 34px; }
.tsf-breadcrumbs { display: flex; flex-wrap: wrap; gap: 9px; color: rgba(34,34,34,.58); font-size: .75rem; }
.tsf-breadcrumbs a { color: inherit; text-decoration: none; }
.tsf-breadcrumbs strong { color: var(--tsf-ink); font-weight: 500; }
.tsf-archive-heading-row { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-top: 24px; }
.tsf-archive-heading-row h1 { margin: 5px 0 12px; color: var(--tsf-brown); font-size: clamp(2rem, 3vw, 2.65rem); }
.tsf-archive-heading-row .tsf-overline { margin: 0; }
.tsf-archive-description { max-width: 620px; margin: 0; color: rgba(34,34,34,.62); font-size: .9rem; }
.tsf-archive-heading-en { margin: 0 0 8px; color: var(--tsf-blue); font-family: "Noto Serif SC", serif; font-size: 1.2rem; }
.tsf-archive-layout { display: flex; gap: 28px; align-items: flex-start; }
.tsf-filter-sidebar { flex: 0 0 248px; min-width: 0; padding: 24px 22px; background: var(--tsf-paper); border: 1px solid var(--tsf-soft-line); }
.tsf-filter-panel-head { display: flex; align-items: center; justify-content: space-between; }
.tsf-filter-panel h2 { margin: 0; color: var(--tsf-ink); font-family: "Noto Sans SC", sans-serif; font-size: 1rem; }
.tsf-filter-panel h2 span { display: block; margin-top: 4px; color: rgba(34,34,34,.48); font-size: .68rem; font-weight: 400; }
.tsf-filter-close { display: none; border: 0; background: transparent; color: var(--tsf-ink); font-size: 1.5rem; cursor: pointer; }
.tsf-filter-section { padding: 22px 0; border-bottom: 1px solid var(--tsf-line); }
.tsf-filter-section:last-child { border-bottom: 0; }
.tsf-filter-section h3 { margin: 0 0 15px; color: var(--tsf-brown); font-family: "Noto Sans SC", sans-serif; font-size: .86rem; }
.tsf-filter-section h3 small { display: block; margin-top: 4px; color: rgba(34,34,34,.48); font-size: .66rem; font-weight: 400; }
.tsf-filter-list { display: grid; gap: 11px; list-style: none; margin: 0; padding: 0; }
.tsf-filter-list li { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: .8rem; }
.tsf-filter-list a { color: rgba(34,34,34,.64); text-decoration: none; }
.tsf-filter-list li.is-active a, .tsf-filter-list a:hover { color: var(--tsf-red); }
.tsf-filter-list li > span { min-width: 23px; padding: 2px 5px; border: 1px solid var(--tsf-soft-line); border-radius: 12px; color: rgba(34,34,34,.48); font-size: .64rem; text-align: center; }
.tsf-price-filter form { margin: 0; }
.tsf-price-filter input[type="range"] { width: 100%; accent-color: var(--tsf-brown); }
.tsf-price-label { display: flex; justify-content: space-between; margin: 8px 0 12px; color: rgba(34,34,34,.55); font-size: .76rem; }
.tsf-price-label strong { color: var(--tsf-brown); font-weight: 500; }
.tsf-price-filter button { border: 0; padding: 8px 13px; background: var(--tsf-brown); color: var(--tsf-rice); font-size: .72rem; cursor: pointer; }
.tsf-archive-results { flex: 1; min-width: 0; }
.tsf-archive-toolbar { margin-bottom: 20px; }
.tsf-archive-toolbar > .wp-block-shortcode { width: 100%; }
.tsf-archive-toolbar .tsf-archive-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 0; border-block: 1px solid var(--tsf-line); font-size: .76rem; }
.tsf-toolbar-summary, .tsf-toolbar-controls, .tsf-per-page, .tsf-view-switch { display: flex; align-items: center; }
.tsf-toolbar-summary { gap: 12px; color: rgba(34,34,34,.65); white-space: nowrap; }
.tsf-toolbar-summary em { display: block; margin-top: 2px; color: rgba(34,34,34,.4); font-size: .65rem; font-style: normal; }
.tsf-filter-toggle { display: none; border: 1px solid var(--tsf-brown); background: transparent; color: var(--tsf-brown); padding: 9px 13px; font-size: .74rem; cursor: pointer; }
.tsf-toolbar-controls { gap: 20px; }
.tsf-per-page { gap: 7px; color: rgba(34,34,34,.5); }
.tsf-per-page a { color: rgba(34,34,34,.6); text-decoration: none; }
.tsf-per-page a.is-active { color: var(--tsf-red); font-weight: 600; }
.tsf-view-switch { gap: 8px; border-left: 1px solid var(--tsf-line); padding-left: 18px; }
.tsf-view-switch a { color: rgba(34,34,34,.45); font-size: 1.18rem; line-height: 1; text-decoration: none; }
.tsf-view-switch a.is-active, .tsf-view-switch a:hover { color: var(--tsf-brown); }
.tsf-sort-form { display: flex; align-items: center; gap: 8px; }
.tsf-sort-form label { color: rgba(34,34,34,.48); }
.tsf-sort-form select { min-width: 170px; border: 1px solid var(--tsf-line); border-radius: 0; background: var(--tsf-paper); color: var(--tsf-ink); padding: 9px 10px; font: inherit; font-size: .74rem; }

/* Story, product detail, footer */
.tsf-story-band { margin: 30px 30px 90px; border-block: 1px solid var(--tsf-line); padding: 90px clamp(24px, 11vw, 160px); text-align: center; }
.tsf-story-band h2 { color: var(--tsf-brown); margin: 24px 0; }
.tsf-story-band p { max-width: 620px; margin-inline: auto; }
.tsf-story-band .wp-block-buttons { justify-content: center; margin-top: 30px; }
.tsf-story-band .wp-block-button__link { border-radius: 0; color: var(--tsf-brown); border-color: var(--tsf-brown); background: transparent; }
.tsf-newsletter { margin: 0 30px 90px; padding: 52px 24px; border-block: 1px solid rgba(56,82,102,.18); background: transparent; color: var(--tsf-ink); text-align: center; }
.tsf-newsletter h3 { margin: 0 0 10px; color: var(--tsf-brown); }
.tsf-newsletter p { color: rgba(34,34,34,.66); }
.tsf-newsletter-form { display: flex; max-width: 520px; margin: 24px auto 0; }
.tsf-newsletter-form input { flex: 1; min-width: 0; border: 1px solid rgba(92,72,56,.42); background: var(--tsf-rice); color: var(--tsf-ink); padding: 12px 14px; }
.tsf-newsletter-form input:focus { border-color: var(--tsf-brown); outline: 1px solid var(--tsf-brown); outline-offset: -1px; }
.tsf-newsletter-form button { border: 1px solid var(--tsf-brown); background: transparent; color: var(--tsf-brown); padding: 12px 22px; cursor: pointer; }
.tsf-newsletter-form button:hover { background: var(--tsf-brown); color: var(--tsf-rice); }
.tsf-single-product, .tsf-system-page, .tsf-editorial-page, .tsf-journal { padding: 40px 30px 110px; }
.tsf-product-detail { gap: clamp(30px, 6vw, 90px); }
.tsf-product-detail > .wp-block-woocommerce-product-image-gallery { flex: 1 1 56%; min-width: 0; }
.tsf-product-summary { flex: 1 1 44%; min-width: 0; padding-top: 12px; }
.tsf-product-summary h1 { color: var(--tsf-brown); font-size: clamp(2rem, 4vw, 3.2rem); }
.tsf-product-summary .wp-block-woocommerce-product-price { color: var(--tsf-brown); font-size: 1.3rem; margin: 20px 0; }
.tsf-product-summary .single_add_to_cart_button { border: 1px solid var(--tsf-brown) !important; border-radius: 0; background: transparent !important; color: var(--tsf-brown) !important; }
.tsf-product-summary .single_add_to_cart_button:hover, .tsf-product-summary .single_add_to_cart_button:focus-visible { background: var(--tsf-brown) !important; color: var(--tsf-rice) !important; }
.tsf-product-summary form.cart:not(.variations_form), .tsf-product-summary .woocommerce-variation-add-to-cart { display: grid !important; grid-template-columns: 84px repeat(2, minmax(120px, 1fr)); gap: 10px; align-items: stretch; }
.tsf-product-summary form.cart:not(.variations_form) .quantity, .tsf-product-summary .woocommerce-variation-add-to-cart .quantity { width: 84px; margin: 0 !important; }
.tsf-product-summary form.cart:not(.variations_form) .quantity .qty, .tsf-product-summary .woocommerce-variation-add-to-cart .quantity .qty { width: 100%; height: 46px; }
.tsf-product-summary .single_add_to_cart_button, .tsf-product-summary .tsf-buy-now-button { width: 100% !important; min-height: 46px; margin: 0 !important; padding: 10px 16px !important; font-weight: 500 !important; line-height: 1.2 !important; }
.tsf-product-summary .tsf-buy-now-button { grid-column: auto !important; border: 1px solid var(--tsf-brown) !important; border-radius: 0 !important; background: var(--tsf-brown) !important; color: var(--tsf-rice) !important; }
.tsf-product-summary .tsf-buy-now-button:hover, .tsf-product-summary .tsf-buy-now-button:focus-visible { border-color: var(--tsf-ink) !important; background: var(--tsf-ink) !important; color: var(--tsf-rice) !important; }
.tsf-product-summary .tsf-buy-now-button.disabled, .tsf-product-summary .tsf-buy-now-button:disabled { border-color: #b8afa5 !important; background: #b8afa5 !important; color: var(--tsf-paper) !important; cursor: not-allowed; opacity: .72; }
.wc-block-cart__submit-button, .wc-block-cart__submit-container .wc-block-components-button, .wc-proceed-to-checkout .checkout-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; border: 1px solid var(--tsf-brown) !important; border-radius: 0 !important; background: var(--tsf-brown) !important; color: var(--tsf-rice) !important; font-weight: 500; text-decoration: none; }
.wc-block-cart__submit-button:hover, .wc-block-cart__submit-button:focus-visible, .wc-block-cart__submit-container .wc-block-components-button:hover, .wc-block-cart__submit-container .wc-block-components-button:focus-visible, .wc-proceed-to-checkout .checkout-button:hover, .wc-proceed-to-checkout .checkout-button:focus-visible { border-color: var(--tsf-ink) !important; background: var(--tsf-ink) !important; color: var(--tsf-rice) !important; }
.wc-block-components-checkout-place-order-button { display: inline-flex !important; align-items: center; justify-content: center; min-height: 48px; border: 1px solid var(--tsf-brown) !important; border-radius: 0 !important; background: var(--tsf-brown) !important; color: var(--tsf-rice) !important; font-weight: 500 !important; text-decoration: none; }
.wc-block-components-checkout-place-order-button:hover, .wc-block-components-checkout-place-order-button:focus-visible { border-color: var(--tsf-ink) !important; background: var(--tsf-ink) !important; color: var(--tsf-rice) !important; }
.wc-block-components-checkout-place-order-button:disabled { border-color: #b8afa5 !important; background: #b8afa5 !important; color: var(--tsf-paper) !important; cursor: not-allowed; opacity: .72; }
.tsf-single-product .wp-block-woocommerce-product-image-gallery { position: relative; }
.tsf-single-product .woocommerce-product-gallery { width: 100%; max-width: 100%; float: none; }
.tsf-single-product .woocommerce-product-gallery__wrapper { width: 100%; }
.tsf-single-product .woocommerce-product-gallery__image img { display: block; width: 100%; height: auto; }
.tsf-single-product .flex-viewport { width: 100%; }
.tsf-single-product .flex-control-thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 12px 0 0; padding: 0; list-style: none; }
.tsf-single-product .flex-control-thumbs li { width: 100% !important; min-width: 0; float: none !important; margin: 0 !important; }
.tsf-single-product .woocommerce-product-gallery .flex-control-thumbs li img { display: block; width: 100% !important; height: auto; aspect-ratio: 1; object-fit: cover; border: 1px solid var(--tsf-line); cursor: pointer; opacity: .72; }
.tsf-single-product .flex-control-thumbs img.flex-active, .tsf-single-product .flex-control-thumbs img:hover { border-color: var(--tsf-brown); opacity: 1; }
.tsf-single-product .flex-direction-nav { margin: 0; padding: 0; list-style: none; }
.tsf-single-product .flex-direction-nav a { position: absolute; top: 40%; z-index: 3; display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--tsf-line); background: var(--tsf-paper); color: var(--tsf-ink); font-size: 1.6rem; line-height: 1; text-decoration: none; }
.tsf-single-product .flex-direction-nav .flex-prev { left: 12px; }
.tsf-single-product .flex-direction-nav .flex-next { right: 12px; }
.tsf-single-product .woocommerce-product-gallery__trigger { z-index: 5; }
.tsf-single-product .wp-block-woocommerce-product-image-gallery > .onsale { position: absolute; top: 14px !important; right: auto !important; left: 14px !important; z-index: 4; min-width: 0 !important; min-height: 0 !important; margin: 0; padding: 7px 10px !important; border: 0 !important; border-radius: 2px !important; background: var(--tsf-red) !important; color: #fff !important; box-shadow: none !important; font-size: .68rem; font-weight: 500; line-height: 1.15 !important; }
.tsf-single-product .wp-block-woocommerce-product-image-gallery > .onsale::before, .tsf-single-product .wp-block-woocommerce-product-image-gallery > .onsale::after { display: none !important; content: none !important; }
.tsf-product-summary select, .tsf-product-summary input { border-radius: 0; border: 1px solid var(--tsf-line); background: transparent; }
.tsf-product-summary .variations { width: 100%; margin: 10px 0 22px; border: 0; }
.tsf-product-summary .variations tr { display: block; margin: 0 0 18px; }
.tsf-product-summary .variations .label { display: block; padding: 0 0 9px; text-align: left; }
.tsf-product-summary .variations .label label { color: var(--tsf-ink); font-size: .78rem; font-weight: 600; letter-spacing: .04em; text-transform: none; }
.tsf-product-summary .variations .value { display: block; padding: 0; }
.tsf-variation-options { display: flex; flex-wrap: wrap; gap: 8px; }
.tsf-variation-option { min-width: 70px; min-height: 38px; padding: 8px 15px; border: 1px solid var(--tsf-line); border-radius: 0; background: var(--tsf-paper); color: var(--tsf-ink); cursor: pointer; font: inherit; font-size: .82rem; line-height: 1.25; transition: border-color .18s ease, background-color .18s ease, color .18s ease; }
.tsf-variation-option:hover, .tsf-variation-option:focus-visible { border-color: var(--tsf-brown); outline: 0; }
.tsf-variation-option.is-selected { border-color: var(--tsf-brown); background: var(--tsf-brown); color: var(--tsf-paper); }
.tsf-variation-option.is-disabled, .tsf-variation-option:disabled { border-color: var(--tsf-line); background: var(--tsf-mist); color: #9a938b; cursor: not-allowed; opacity: .65; text-decoration: line-through; }
.tsf-native-variation-select { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; border: 0 !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; }
.single-product .woocommerce-product-gallery--without-images .woocommerce-product-gallery__image--placeholder { background-position: center; background-size: cover; background-repeat: no-repeat; }
.single-product .woocommerce-product-gallery--without-images .woocommerce-product-gallery__image--placeholder img { opacity: 0; }
body.postid-40 .woocommerce-product-gallery--without-images .woocommerce-product-gallery__image--placeholder { background-image: url("https://images.unsplash.com/photo-1515562141207-7a88fb7ce338?auto=format&fit=crop&w=1000&q=82&sat=-18"); }
body.postid-49 .woocommerce-product-gallery--without-images .woocommerce-product-gallery__image--placeholder { background-image: url("https://images.unsplash.com/photo-1602173574767-37ac01994b2a?auto=format&fit=crop&w=1000&q=82&sat=-22"); }
body.postid-50 .woocommerce-product-gallery--without-images .woocommerce-product-gallery__image--placeholder { background-image: url("https://images.unsplash.com/photo-1617038260897-41a1f14a8ca0?auto=format&fit=crop&w=1000&q=82&sat=-20"); }
body.postid-51 .woocommerce-product-gallery--without-images .woocommerce-product-gallery__image--placeholder { background-image: url("https://images.unsplash.com/photo-1515562141207-7a88fb7ce338?auto=format&fit=crop&w=1000&q=82&sat=-34"); }
body.postid-52 .woocommerce-product-gallery--without-images .woocommerce-product-gallery__image--placeholder { background-image: url("https://images.unsplash.com/photo-1519710164239-da123dc03ef4?auto=format&fit=crop&w=1000&q=82&sat=-20"); }
body.postid-53 .woocommerce-product-gallery--without-images .woocommerce-product-gallery__image--placeholder { background-image: url("https://images.unsplash.com/photo-1596704017254-9b121068fb31?auto=format&fit=crop&w=1000&q=82&sat=-18"); }
body.postid-54 .woocommerce-product-gallery--without-images .woocommerce-product-gallery__image--placeholder { background-image: url("https://images.unsplash.com/photo-1519710164239-da123dc03ef4?auto=format&fit=crop&w=1000&q=82&sat=-30"); }
body.postid-55 .woocommerce-product-gallery--without-images .woocommerce-product-gallery__image--placeholder { background-image: url("https://images.unsplash.com/photo-1544947950-fa07a98d237f?auto=format&fit=crop&w=1000&q=82&sat=-22"); }
.tsf-single-product > .wp-block-woocommerce-product-details { width: 100%; margin-top: 64px; border-top: 1px solid var(--tsf-line); padding-top: 24px; }
.tsf-single-product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 24px; margin: 0 0 32px; padding: 0; border: 0 !important; background: transparent !important; list-style: none; }
.tsf-single-product .woocommerce-tabs ul.tabs::before, .tsf-single-product .woocommerce-tabs ul.tabs li::before, .tsf-single-product .woocommerce-tabs ul.tabs li::after { display: none; }
.tsf-single-product .woocommerce-tabs ul.tabs li { margin: 0; padding: 0 0 10px; border: 0 !important; border-bottom: 2px solid transparent !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.tsf-single-product .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--tsf-brown) !important; }
.tsf-single-product .woocommerce-tabs ul.tabs li a { padding: 0; color: var(--tsf-ink); font-size: .95rem; text-decoration: none; }
.tsf-single-product .woocommerce-tabs .panel { max-width: 820px; margin: 0; color: var(--tsf-ink); font-size: .94rem; line-height: 1.9; overflow-wrap: anywhere; }
.tsf-single-product .woocommerce-tabs .panel > h2:first-child { margin: 0 0 20px; color: var(--tsf-brown); font-size: 1.35rem; }
.tsf-single-product .woocommerce-tabs .panel h3, .tsf-single-product .woocommerce-tabs .panel h4, .tsf-single-product .woocommerce-tabs .panel h5 { margin: 28px 0 10px; color: var(--tsf-brown); font-size: 1.05rem; line-height: 1.55; }
.tsf-single-product .woocommerce-tabs .panel p, .tsf-single-product .woocommerce-tabs .panel ul { margin: 0 0 18px; }
.tsf-single-product .woocommerce-tabs .panel img { max-width: 100%; height: auto; }
.tsf-rule { border-color: var(--tsf-line); margin: 0; }
.tsf-site-footer { padding: 0 30px 26px; border-top: 1px solid #d8d2c9; background: #e8e3da; }
.tsf-footer-columns { padding: 45px 0; gap: 45px; }
.tsf-site-footer .tsf-brand-logo { margin-bottom: 14px; }
.tsf-site-footer .tsf-brand-logo img { width: auto; max-width: 168px; height: 66px; }
.tsf-site-footer h4 { color: var(--tsf-brown); font-size: .95rem; }
.tsf-site-footer a { color: var(--tsf-ink); text-decoration: none; }
.tsf-footer-bottom { border-top: 1px solid var(--tsf-line); padding-top: 18px; }

@media (max-width: 1100px) {
  .tsf-site-header { padding-inline: 20px; }
  .tsf-topbar { margin-inline: -20px; }
  .tsf-topbar-inner { padding-inline: 20px; }
  .tsf-header-main { gap: 16px; }
  .tsf-category-button { padding-inline: 12px; }
  .tsf-category-button span, .tsf-commerce-nav a small { display: none; }
  .tsf-commerce-nav a { padding-inline: 13px; }
  .tsf-archive { padding-inline: 20px; }
  .tsf-archive-layout { gap: 20px; }
  .tsf-filter-sidebar { flex-basis: 220px; }
  .tsf-toolbar-controls { gap: 12px; }
  .tsf-per-page > span, .tsf-sort-form label { display: none; }
  .tsf-sort-form select { min-width: 150px; }
}
@media (max-width: 900px) {
  .tsf-topbar-right > span, .tsf-account-link > span:last-child { display: none; }
  .tsf-header-main { flex-wrap: wrap !important; padding: 14px 0; }
  .tsf-header-search-wrap { order: 3; flex-basis: 100%; max-width: none; }
  .tsf-commerce-nav { overflow-x: auto; }
  .tsf-commerce-nav > nav { flex: 0 0 auto; }
  .tsf-nav-promo { display: none !important; }
  .tsf-archive-heading-row { align-items: start; }
  .tsf-archive-heading-en { display: none; }
  .tsf-archive-layout { display: block; }
  .tsf-filter-sidebar { display: none; }
  body.tsf-filters-open::before { content: ""; position: fixed; inset: 0; z-index: 998; background: rgba(34,34,34,.38); }
  body.tsf-filters-open .tsf-filter-sidebar { display: block; position: fixed; inset: 0 auto 0 0; z-index: 999; width: min(86vw, 330px); overflow-y: auto; padding: 26px 22px; box-shadow: 12px 0 35px rgba(34,34,34,.12); }
  .tsf-filter-close { display: block; }
  .tsf-filter-toggle { display: inline-block; }
  .tsf-archive-results { width: 100%; }
  .tsf-archive-toolbar .tsf-archive-toolbar { align-items: flex-start; flex-wrap: wrap; }
  .tsf-toolbar-controls { margin-left: auto; }
  .tsf-product-detail { flex-wrap: wrap !important; }
  .tsf-product-detail > * { flex-basis: 100% !important; }
  .tsf-product-summary { padding-top: 0; }
  .tsf-brand-logo img { max-width: 190px; height: 52px; }
  .tsf-hero-title { font-size: 3.2rem; }
  .tsf-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .tsf-site-header { padding-inline: 14px; }
  .tsf-topbar { margin-inline: -14px; }
  .tsf-topbar-inner { min-height: 34px; padding-inline: 14px; justify-content: flex-end; }
  .tsf-topbar-inner > nav:first-child { display: none; }
  .tsf-topbar-right, .tsf-language-switcher { flex: 0 0 auto; }
  .tsf-language-switcher a { display: block !important; min-width: 38px; }
  .tsf-brand-mark { width: 38px; height: 38px; font-size: 1.25rem; }
  .tsf-header-main > .wp-block-shortcode { min-width: 0; }
  .tsf-brand-logo img { max-width: 170px; height: 46px; }
  .tsf-site-title { font-size: 1.05rem; }
  .tsf-site-subtitle { font-size: .52rem; }
  .tsf-header-tools { gap: 8px; }
  .tsf-header-search-wrap { gap: 6px; }
  .tsf-category-button { width: 42px; justify-content: center; padding: 0; }
  .tsf-search-form { height: 40px; }
  .tsf-commerce-nav a { padding-inline: 12px; font-size: .73rem; }
  .tsf-hero { min-height: 560px !important; }
  .tsf-hero-content { padding: 48px 16px; }
  .tsf-hero-pagination { right: 16px; bottom: 20px; }
  .tsf-section { padding: 64px 14px; }
  .tsf-category-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tsf-category-item { min-height: 124px; padding: 14px; }
  .tsf-category-item a { font-size: .96rem; }
  .tsf-product-collection ul.wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px 10px; }
  .tsf-server-products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .tsf-server-products .product { padding-bottom: 12px; }
  .tsf-server-products .product img { margin-bottom: 10px; }
  .tsf-server-products .woocommerce-loop-product__title { min-height: 3.1em; margin-inline: 11px; font-size: .82rem; }
  .tsf-server-products .price { margin-inline: 11px; font-size: .78rem; }
  .tsf-server-products .button { width: calc(100% - 22px); margin-inline: 11px; padding: 8px 5px; font-size: .68rem; }
  .tsf-server-products .product::after { top: 9px; right: 9px; font-size: 1.25rem; }
  .tsf-server-products .product .onsale { top: 9px; left: 9px; min-width: 38px; padding: 4px 6px; font-size: .58rem; }
  .tsf-server-products.tsf-product-view-list .product { grid-template-columns: 112px minmax(0, 1fr); column-gap: 12px; row-gap: 5px; min-height: 112px; padding-right: 10px; }
  .tsf-server-products.tsf-product-view-list .woocommerce-loop-product__title, .tsf-server-products.tsf-product-view-list .price, .tsf-server-products.tsf-product-view-list .button { margin-left: 0; margin-right: 0; }
  .tsf-story-band { margin: 10px 14px 64px; padding: 64px 20px; }
  .tsf-newsletter { margin: 0 14px 64px; padding: 42px 16px; }
  .tsf-newsletter-form { display: block; }
  .tsf-newsletter-form input, .tsf-newsletter-form button { width: 100%; }
  .tsf-newsletter-form button { margin-top: 8px; }
  .tsf-archive, .tsf-single-product, .tsf-system-page, .tsf-editorial-page, .tsf-journal { padding: 26px 14px 72px; }
  .tsf-archive-heading-row { margin-top: 18px; }
  .tsf-archive-heading-row h1 { font-size: 1.85rem; }
  .tsf-archive-description { font-size: .8rem; }
  .tsf-archive-toolbar .tsf-archive-toolbar { gap: 12px; }
  .tsf-toolbar-controls { width: 100%; margin-left: 0; justify-content: space-between; }
  .tsf-view-switch { padding-left: 10px; }
  .tsf-sort-form { flex: 1; }
  .tsf-sort-form select { min-width: 0; width: 100%; }
  .tsf-footer-columns { display: block; }
  .tsf-footer-columns > .wp-block-column { margin-bottom: 28px; }
  .tsf-footer-bottom { display: block; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; } }

/* Compact responsive refinement layer. */
.wp-site-blocks > .tsf-home { width: 100%; max-width: none; }
.tsf-home > .tsf-hero { position: relative; left: auto; width: calc(100% + 96px) !important; max-width: none; margin-left: -48px !important; margin-right: 0; transform: none; min-height: 500px !important; }
.tsf-home > .tsf-section { width: calc(100% - 32px); max-width: 1440px; margin-inline: auto; }
.tsf-story-band { width: calc(100% - 60px); max-width: 1380px; margin: 20px auto 60px; padding: 50px clamp(24px, 8vw, 120px); }
.tsf-newsletter { width: calc(100% - 60px); max-width: 1380px; margin: 0 auto 60px; padding: 34px 24px; }
.tsf-section { padding-block: 52px; }
.tsf-language-switcher { display: inline-flex; gap: 2px; padding: 2px; border: 1px solid var(--tsf-brown); background: var(--tsf-paper); }
.tsf-language-switcher a { min-width: 38px; padding: 5px 8px; color: var(--tsf-brown); text-align: center; }
.tsf-language-switcher a.is-active { background: var(--tsf-brown); color: var(--tsf-rice); font-weight: 600; }
.tsf-language-switcher > span { display: none; }
.tsf-archive { width: calc(100% - 32px) !important; max-width: 1440px !important; padding-bottom: 72px; }
.tsf-archive-intro { padding-block: 24px 22px; }
.wp-site-blocks > main.tsf-archive { width: 100% !important; max-width: none !important; padding-left: max(16px, calc((100vw - 1440px) / 2)) !important; padding-right: max(16px, calc((100vw - 1440px) / 2)) !important; }
.tsf-archive > .tsf-archive-intro, .tsf-archive > .tsf-archive-layout { width: 100% !important; max-width: none !important; }
.wp-site-blocks > .wp-block-template-part { width: 100% !important; max-width: none !important; }
.wp-site-blocks > .wp-block-template-part > .tsf-site-header { width: 100% !important; max-width: none !important; padding-left: max(30px, calc((100vw - 1440px) / 2)) !important; padding-right: max(30px, calc((100vw - 1440px) / 2)) !important; }
.wp-site-blocks > .wp-block-template-part > .tsf-site-footer { width: 100% !important; max-width: none !important; padding-left: max(30px, calc((100vw - 1440px) / 2)) !important; padding-right: max(30px, calc((100vw - 1440px) / 2)) !important; }
.tsf-site-header .tsf-topbar { margin-inline: 0; }
.tsf-site-header .tsf-topbar-inner { max-width: none; padding-inline: 0; }
.tsf-site-header > .tsf-topbar, .tsf-site-header > .tsf-header-main, .tsf-site-header > .tsf-commerce-nav { width: 100% !important; max-width: none !important; }
.tsf-archive-layout { display: block; }
.tsf-filter-sidebar { display: none; }
.tsf-archive-results { width: 100%; }
.tsf-filter-toggle { display: inline-flex; align-items: center; border: 1px solid var(--tsf-brown) !important; }
.tsf-home .wp-block-button__link, .tsf-story-band .wp-block-button__link, .tsf-newsletter-form button, .tsf-product-summary .single_add_to_cart_button { border-width: 1px !important; border-style: solid !important; border-color: currentColor !important; }
.tsf-footer-columns { padding-block: 30px; }
.tsf-footer-bottom { padding-top: 14px; }
body.tsf-filters-open::before { content: ""; position: fixed; inset: 0; z-index: 998; background: rgba(34,34,34,.38); }
body.tsf-filters-open .tsf-filter-sidebar { display: block; position: fixed; inset: 0 auto 0 0; z-index: 999; width: min(86vw, 330px); overflow-y: auto; padding: 26px 22px; box-shadow: 12px 0 35px rgba(34,34,34,.12); }
html { overflow-x: clip !important; }
body, .wp-site-blocks { overflow-x: clip !important; }

@media (max-width: 900px) {
  .wp-site-blocks > .wp-block-template-part > .tsf-site-header, .wp-site-blocks > .wp-block-template-part > .tsf-site-footer { padding-left: 20px !important; padding-right: 20px !important; }
  .tsf-commerce-nav { overflow: visible; min-width: 0; }
  .tsf-commerce-nav > nav { flex: 1 1 auto; min-width: 0; }
}

@media (max-width: 680px) {
  .tsf-commerce-nav { display: block; }
  .tsf-commerce-nav .tsf-nav-all { display: none; }
  .tsf-commerce-nav > nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  .tsf-commerce-nav > nav a { justify-content: center; min-width: 0; min-height: 38px; padding: 0 6px; border-bottom: 1px solid var(--tsf-line); font-size: .72rem; white-space: nowrap; }
  .wp-site-blocks > .wp-block-template-part > .tsf-site-header, .wp-site-blocks > .wp-block-template-part > .tsf-site-footer { padding-left: 14px !important; padding-right: 14px !important; }
  .tsf-home > .tsf-hero { width: calc(100% + 28px) !important; margin-left: -14px !important; min-height: 400px !important; }
  .wp-site-blocks > main.tsf-archive { width: 100% !important; padding-left: 14px !important; padding-right: 14px !important; }
  .tsf-hero .wp-block-cover__inner-container { padding-block: 38px; }
  .tsf-section { padding-block: 36px; }
  .tsf-story-band { width: calc(100% - 28px); margin: 10px auto 40px; padding: 36px 20px; }
  .tsf-newsletter { width: calc(100% - 28px); margin-bottom: 40px; padding: 28px 16px; }
  .tsf-footer-columns { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 20px; padding-block: 24px; }
  .tsf-footer-columns > .wp-block-column { min-width: 0; margin-bottom: 0; }
  .tsf-footer-columns > .wp-block-column:first-child { grid-column: 1 / -1; }
  .tsf-footer-columns h4 { margin: 0 0 8px; font-size: .82rem; }
  .tsf-footer-columns p, .tsf-footer-columns a { font-size: .76rem; line-height: 1.6; }
  .tsf-footer-bottom { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
  .tsf-footer-bottom > * { margin: 0; }
}

/* Language content, navigation focus, and account form alignment. */
.tsf-en-only { display: none !important; }
body.tsf-lang-en .tsf-zh-only { display: none !important; }
body.tsf-lang-en .tsf-en-only { display: revert !important; }
.tsf-commerce-nav a.is-active, body.tsf-shop-all .tsf-nav-all, body.tsf-cat-beads-bracelets .tsf-nav-beads, body.tsf-cat-daoist-objects .tsf-nav-objects, body.tsf-cat-incense-objects .tsf-nav-incense, body.tsf-cat-culture-living .tsf-nav-culture, body.page-id-20 .tsf-nav-about { background: rgba(92,72,56,.14); color: var(--tsf-brown) !important; font-weight: 600; box-shadow: inset 0 -2px 0 var(--tsf-red); }
.tsf-footer-nav { display: grid; gap: 7px; }
.tsf-footer-nav a { color: var(--tsf-ink); font-size: .8rem; text-decoration: none; }
.tsf-footer-nav a:hover { color: var(--tsf-red); }
.tsf-site-footer .wp-block-column:nth-child(3) > p { margin: 0; font-size: .8rem; line-height: 1.6; }
.tsf-site-footer .wp-block-column:nth-child(3) > p a { color: var(--tsf-ink); font-size: .8rem; line-height: 1.6; text-decoration: none; }
.tsf-site-footer .wp-block-column:nth-child(3) > p a:hover { color: var(--tsf-red); }
.woocommerce-form-login p.form-row:last-of-type { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.woocommerce-form-login .woocommerce-form-login__rememberme { display: inline-flex !important; align-items: center; height: 42px; margin: 0 !important; line-height: 1; vertical-align: middle; }
.woocommerce-form-login .woocommerce-form-login__rememberme input { align-self: center; margin: 0 7px 0 0 !important; }
.woocommerce-form-login .woocommerce-form-login__submit { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; margin: 0 !important; padding: 9px 22px; border: 1px solid var(--tsf-brown) !important; border-radius: 0; background: var(--tsf-brown); color: var(--tsf-rice); line-height: 1.2; }
.woocommerce-form-login .woocommerce-form-login__submit:hover { border-color: var(--tsf-ink) !important; background: var(--tsf-ink); color: var(--tsf-rice); }

/* Account login uses the full content column instead of the signed-in two-column shell. */
body:not(.logged-in).woocommerce-account main { width: min(calc(100% - 40px), 1180px); max-width: 1180px !important; margin: 0 auto !important; padding: 54px 0 86px; }
body:not(.logged-in).woocommerce-account main > .wp-block-group:first-child { width: 100%; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; padding: 0 !important; }
body:not(.logged-in).woocommerce-account main > .wp-block-group:first-child > .wp-block-post-title { width: min(100%, 560px) !important; max-width: 560px; margin: 0 auto 28px !important; color: var(--tsf-brown); }
body:not(.logged-in).woocommerce-account main > .wp-block-group:first-child > .has-small-font-size,
body:not(.logged-in).woocommerce-account main > .wp-block-group:first-child > .entry-content + .wp-block-group,
body:not(.logged-in).woocommerce-account main nav[aria-label="文章导航"],
body:not(.logged-in).woocommerce-account main > .wp-block-group:nth-child(2) { display: none !important; }
body:not(.logged-in).woocommerce-account .entry-content { width: 100% !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; padding: 0 !important; }
body:not(.logged-in).woocommerce-account .entry-content > .woocommerce { display: block; width: min(100%, 560px); margin: 0 auto; }
body:not(.logged-in).woocommerce-account .woocommerce-form-login { width: 100%; max-width: 100%; margin: 0; padding: 28px 30px; border: 1px solid var(--tsf-line); background: rgba(255, 253, 250, .62); }
body:not(.logged-in).woocommerce-account .woocommerce-form-login .form-row { float: none; width: 100%; }
body:not(.logged-in).woocommerce-account .woocommerce-form-login input[type="text"],
body:not(.logged-in).woocommerce-account .woocommerce-form-login input[type="password"] { width: 100%; min-height: 44px; border: 1px solid var(--tsf-line); border-radius: 0; background: var(--tsf-paper); }

/* WooCommerce account navigation. */
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 42px; align-items: start; width: 100%; }
.woocommerce-account .woocommerce::before, .woocommerce-account .woocommerce::after { display: none; }
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; }
.woocommerce-account .woocommerce-MyAccount-navigation { border: 1px solid rgba(92, 72, 56, .55); background: rgba(255, 253, 250, .7); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li { position: relative; margin: 0; border-bottom: 1px solid var(--tsf-line); }
.woocommerce-account .woocommerce-MyAccount-navigation li { padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: flex; align-items: center; min-height: 42px; padding: 8px 15px; color: var(--tsf-ink); font-size: .84rem; font-weight: 500; line-height: 1.3; text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-navigation a:hover { background: rgba(92, 72, 56, .08); color: var(--tsf-brown); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active::before { position: absolute; inset: 0 auto 0 -1px; width: 3px; background: var(--tsf-red); content: ""; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: rgba(92, 72, 56, .13); color: var(--tsf-brown); font-weight: 600; }
.woocommerce-account .woocommerce-MyAccount-content { min-width: 0; padding: 3px 0 0; }
.woocommerce-account .woocommerce-MyAccount-content > :first-child { margin-top: 0; }
.woocommerce-account .woocommerce-MyAccount-content fieldset { margin: 24px 0; padding: 20px; border: 1px solid var(--tsf-line); }
.woocommerce-account .woocommerce-MyAccount-content input, .woocommerce-account .woocommerce-MyAccount-content select, .woocommerce-account .woocommerce-MyAccount-content textarea { max-width: 100%; border: 1px solid var(--tsf-line); border-radius: 0; background: var(--tsf-paper); }
.woocommerce-account .woocommerce-MyAccount-content button, .woocommerce-account .woocommerce-MyAccount-content .button { border: 1px solid var(--tsf-brown) !important; border-radius: 0 !important; background: var(--tsf-brown) !important; color: var(--tsf-paper) !important; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title .edit { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 8px 15px; border: 1px solid var(--tsf-brown); border-radius: 0; background: var(--tsf-brown); color: var(--tsf-paper); font-size: .78rem; line-height: 1.2; text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title .edit:hover, .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title .edit:focus-visible { border-color: var(--tsf-ink); background: var(--tsf-ink); color: var(--tsf-paper); }

@media (max-width: 680px) {
	.woocommerce-form-login p.form-row:last-of-type { align-items: center; gap: 10px; }
	.woocommerce-form-login .woocommerce-form-login__submit { padding-inline: 16px; }
	body:not(.logged-in).woocommerce-account main { width: calc(100% - 28px); padding: 34px 0 58px; }
	body:not(.logged-in).woocommerce-account .woocommerce-form-login { padding: 22px 18px; }
	.woocommerce-account .woocommerce { display: block; }
	.woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom: 28px; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.woocommerce-account .woocommerce-MyAccount-navigation li { border-right: 1px solid var(--tsf-line); }
	.woocommerce-account .woocommerce-MyAccount-navigation li:nth-child(2n) { border-right: 0; }
	.woocommerce-account .woocommerce-MyAccount-navigation li:nth-last-child(-n+2) { border-bottom: 0; }
	.woocommerce-account .woocommerce-MyAccount-navigation a { min-height: 40px; padding: 7px 11px; font-size: .78rem; }
}

/* Keep archive filters in the page flow; the catalog does not use a drawer. */
.tsf-archive-layout { display: flex !important; gap: 28px; align-items: flex-start; }
.tsf-filter-sidebar { display: block !important; position: static !important; flex: 0 0 248px; width: auto; max-width: none; padding: 24px 22px; overflow: visible; box-shadow: none; }
.tsf-archive-results { width: auto; flex: 1 1 auto; min-width: 0; }
.tsf-filter-toggle, .tsf-filter-close { display: none !important; }
body.tsf-filters-open::before { display: none; }

@media (max-width: 900px) {
	.tsf-archive-layout { flex-direction: column; gap: 20px; }
	.tsf-filter-sidebar { flex: 0 0 auto; width: 100%; }
	.tsf-archive-results { width: 100%; }
}

/* 0.1.25: aligned shell, photographic categories, and compact catalog grids. */
.wp-site-blocks > main.tsf-archive {
	width: 100% !important;
	max-width: none !important;
	padding-left: max(30px, calc((100% - 1380px) / 2)) !important;
	padding-right: max(30px, calc((100% - 1380px) / 2)) !important;
}
.tsf-home > .tsf-section {
	width: calc(100% + 96px) !important;
	max-width: none !important;
	margin-left: -48px !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.tsf-archive-results,
.tsf-archive-results > .tsf-archive-toolbar,
.tsf-archive-results > .tsf-server-products,
.tsf-products-section > .tsf-section-heading,
.tsf-products-section > .tsf-server-products {
	width: 100% !important;
	max-width: none !important;
}
.tsf-home > .tsf-section > * {
	width: calc(100% - 60px) !important;
	max-width: 1380px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.tsf-category-grid { gap: 14px; }
.tsf-category-item {
	position: relative;
	min-height: 210px;
	overflow: hidden;
	padding: 0;
	background-color: #d8d2c9;
	background-position: center;
	background-size: cover;
}
.tsf-category-item::before {
	position: absolute;
	inset: 0;
	background: rgba(34, 34, 34, .16);
	content: "";
}
.tsf-category-item:hover { background-color: #d8d2c9; }
.tsf-category-item a {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: flex-end;
	width: 100%;
	min-height: inherit;
	padding: 18px;
	color: var(--tsf-paper);
	text-shadow: 0 1px 3px rgba(34, 34, 34, .62);
}

.tsf-server-products,
.wc-block-product-template {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	gap: 18px 14px !important;
}
.tsf-server-products .product,
.wc-block-product-template > li { min-width: 0; }
.tsf-server-products .product img,
.wc-block-product-template .wc-block-components-product-image img,
.wc-block-product-template .wp-block-woocommerce-product-image img {
	display: block;
	width: 100% !important;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}
.tsf-server-products .woocommerce-loop-product__title,
.wc-block-product-template .wc-block-components-product-title,
.wc-block-product-template .wp-block-post-title {
	width: 100%;
	text-align: center;
}
.tsf-server-products .price,
.wc-block-product-template .wc-block-components-product-price {
	justify-content: center;
	text-align: center;
}
.tsf-server-products .price del,
.wc-block-product-template del {
	margin-right: 5px;
	color: rgba(34, 34, 34, .43);
	font-weight: 400;
}
.tsf-server-products .price ins,
.wc-block-product-template ins {
	color: var(--tsf-red);
	font-weight: 600;
	text-decoration: none;
}
.tsf-server-products.tsf-product-view-list { grid-template-columns: 1fr !important; }
.tsf-server-products.tsf-product-view-list .woocommerce-loop-product__title,
.tsf-server-products.tsf-product-view-list .price { justify-content: flex-start; text-align: left; }

@media (max-width: 1200px) {
	.tsf-server-products,
	.wc-block-product-template { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}
@media (max-width: 900px) {
	.tsf-server-products,
	.wc-block-product-template { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
	.wp-site-blocks > main.tsf-archive { padding-left: 20px !important; padding-right: 20px !important; }
	.tsf-home > .tsf-section > * { width: calc(100% - 40px) !important; }
}
@media (max-width: 680px) {
	.tsf-product-summary form.cart:not(.variations_form), .tsf-product-summary .woocommerce-variation-add-to-cart { grid-template-columns: 72px repeat(2, minmax(0, 1fr)); gap: 8px; }
	.tsf-product-summary form.cart:not(.variations_form) .quantity, .tsf-product-summary .woocommerce-variation-add-to-cart .quantity { width: 72px; }
	.tsf-product-summary .single_add_to_cart_button, .tsf-product-summary .tsf-buy-now-button { padding-inline: 8px !important; font-size: .76rem !important; }
	.wp-site-blocks > .wp-block-template-part > .tsf-site-header,
	.wp-site-blocks > main.tsf-archive {
		padding-left: 14px !important;
		padding-right: 14px !important;
	}
	.tsf-home > .tsf-section {
		width: calc(100% + 28px) !important;
		margin-left: -14px !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.tsf-home > .tsf-section > * { width: calc(100% - 28px) !important; }
	.tsf-category-item { min-height: 156px; }
	.tsf-category-item a { padding: 14px; }
	body.tsf-lang-zh .tsf-topbar-right > .tsf-zh-only,
	body.tsf-lang-zh .tsf-topbar-right > .tsf-en-only,
	body.tsf-lang-en .tsf-topbar-right > .tsf-zh-only,
	body.tsf-lang-en .tsf-topbar-right > .tsf-en-only,
	.tsf-category-button { display: none !important; }
	.tsf-topbar-inner { justify-content: flex-end; }
	.tsf-header-main {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto;
		width: 100%;
	}
	.tsf-brand { min-width: 0; }
	.tsf-header-tools { justify-self: end; }
	.tsf-header-search-wrap {
		grid-column: 1 / -1;
		width: 100%;
		min-width: 0;
	}
	.tsf-search-form { width: 100%; min-width: 0; }
	.tsf-commerce-nav > nav a {
		min-height: 46px;
		padding: 6px 4px;
		line-height: 1.3;
		text-align: center;
		white-space: normal;
	}
	.tsf-hero-title { font-size: 2.3rem !important; line-height: 1.16; }
	.tsf-server-products,
	.wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px 10px !important; }
	.tsf-wishlist-notice { right: 14px; bottom: 14px; }
}

/* The dynamic hero is emitted directly by a shortcode, so it owns the viewport width. */
.wp-site-blocks > main.tsf-home > .tsf-hero {
	position: relative;
	left: 50%;
	width: 100vw !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	transform: translateX(-50%);
}

/* 0.3.4: calm, centered content shell with full-bleed hero and footer bands. */
.tsf-hero-content { max-width: var(--tsf-content-width); }
.tsf-home > .tsf-section > * { max-width: var(--tsf-content-width) !important; }
.tsf-story-band,
.tsf-newsletter { max-width: var(--tsf-content-width); }
.tsf-newsletter { border-top: 0; }
.tsf-single-product,
.tsf-system-page,
.tsf-editorial-page,
.tsf-journal { max-width: var(--tsf-content-width); }
.wp-site-blocks > main.tsf-archive {
	padding-left: max(30px, calc((100vw - var(--tsf-content-width)) / 2)) !important;
	padding-right: max(30px, calc((100vw - var(--tsf-content-width)) / 2)) !important;
}
.wp-site-blocks > .wp-block-template-part > .tsf-site-header,
.wp-site-blocks > .wp-block-template-part > .tsf-site-footer {
	padding-left: max(30px, calc((100vw - var(--tsf-content-width)) / 2)) !important;
	padding-right: max(30px, calc((100vw - var(--tsf-content-width)) / 2)) !important;
}
.tsf-footer-nav,
.tsf-site-footer .wp-block-column:nth-child(3) > p {
	display: grid;
	gap: 7px;
	margin: 0;
}
.tsf-footer-nav a,
.tsf-site-footer .wp-block-column:nth-child(3) > p a {
	display: block;
	font-size: .8rem;
	line-height: 1.5;
}
.tsf-site-footer .wp-block-column:nth-child(3) > p br { display: none; }

@media (max-width: 900px) {
	.wp-site-blocks > main.tsf-archive,
	.wp-site-blocks > .wp-block-template-part > .tsf-site-header,
	.wp-site-blocks > .wp-block-template-part > .tsf-site-footer {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
}

@media (max-width: 680px) {
	.wp-site-blocks > main.tsf-archive,
	.wp-site-blocks > .wp-block-template-part > .tsf-site-header,
	.wp-site-blocks > .wp-block-template-part > .tsf-site-footer {
		padding-left: 14px !important;
		padding-right: 14px !important;
	}
}

/* Editorial pages and the Dao culture journal. */
.tsf-editorial-page,
.tsf-journal,
.tsf-article {
	width: min(calc(100% - 60px), var(--tsf-content-width));
	margin-inline: auto;
	padding: 64px 0 92px;
}
.tsf-editorial-page .wp-block-post-content,
.tsf-article-shell { max-width: 860px; margin-inline: auto; }
.tsf-editorial-hero { margin-bottom: 54px; padding-bottom: 42px; border-bottom: 1px solid var(--tsf-line); }
.tsf-editorial-hero h1 { max-width: 760px; margin: 12px 0 20px; color: var(--tsf-brown); font-size: 2.7rem; line-height: 1.3; }
.tsf-editorial-lead { max-width: 760px; color: rgba(34, 34, 34, .76); font-family: "Noto Serif SC", serif; font-size: 1.13rem; line-height: 1.9; }
.tsf-editorial-page h2,
.tsf-article h2 { margin-top: 48px; color: var(--tsf-brown); font-size: 1.65rem; }
.tsf-editorial-page h3,
.tsf-article h3 { margin-top: 32px; color: var(--tsf-blue); font-size: 1.12rem; }
.tsf-editorial-page p,
.tsf-editorial-page li,
.tsf-article .wp-block-post-content p,
.tsf-article .wp-block-post-content li { color: rgba(34, 34, 34, .78); line-height: 1.95; }
.tsf-editorial-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 34px 0; border: 1px solid var(--tsf-line); background: var(--tsf-line); }
.tsf-editorial-grid > * { margin: 0; padding: 26px; background: var(--tsf-rice); }
.tsf-editorial-grid h3 { margin: 0 0 10px; }
.tsf-editorial-callout { margin: 48px 0; padding: 28px 30px; border-left: 3px solid var(--tsf-red); background: rgba(92, 72, 56, .055); }
.tsf-editorial-callout p:last-child { margin-bottom: 0; }
.tsf-editorial-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.tsf-editorial-links a,
.tsf-journal-intro-links a { display: inline-flex; align-items: center; min-height: 42px; padding: 9px 18px; border: 1px solid var(--tsf-brown); color: var(--tsf-brown); text-decoration: none; }
.tsf-editorial-links a:first-child,
.tsf-journal-intro-links a:first-child { background: var(--tsf-brown); color: var(--tsf-rice); }
.tsf-editorial-links a:hover,
.tsf-journal-intro-links a:hover { background: var(--tsf-ink); border-color: var(--tsf-ink); color: var(--tsf-rice); }

.tsf-journal-intro { max-width: 820px; margin-bottom: 54px; }
.tsf-journal-intro h1 { margin: 12px 0 18px; color: var(--tsf-brown); font-size: 2.7rem; }
.tsf-journal-intro > p:not(.tsf-eyebrow) { color: rgba(34, 34, 34, .7); font-size: 1.02rem; line-height: 1.9; }
.tsf-journal-intro-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.tsf-journal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin: 0; padding: 0; list-style: none; }
.tsf-journal-grid > li { min-width: 0; padding: 28px; border: 1px solid var(--tsf-soft-line); background: rgba(255, 253, 250, .55); }
.tsf-journal-grid .wp-block-post-date { margin: 0 0 12px; color: var(--tsf-blue); font-size: .72rem; }
.tsf-journal-grid .wp-block-post-title { margin: 0 0 15px; font-size: 1.3rem; line-height: 1.5; }
.tsf-journal-grid .wp-block-post-title a { color: var(--tsf-brown); }
.tsf-journal-grid .wp-block-post-excerpt { margin: 0; }
.tsf-journal-grid .wp-block-post-excerpt__excerpt { color: rgba(34, 34, 34, .68); font-size: .86rem; line-height: 1.8; }
.tsf-journal-grid .wp-block-post-excerpt__more-link { color: var(--tsf-red); font-size: .78rem; text-decoration: none; }
.tsf-journal-query .wp-block-query-pagination { margin-top: 38px; }

.tsf-article-shell { padding-top: 10px; }
.tsf-article-shell > .wp-block-post-title { max-width: 790px; margin: 13px 0 16px; color: var(--tsf-brown); font-size: 2.65rem; line-height: 1.35; }
.tsf-article-shell > .wp-block-post-date { color: var(--tsf-blue); font-size: .76rem; }
.tsf-article-shell > .wp-block-separator { margin: 30px 0 42px; border-color: var(--tsf-line); }
.tsf-article .wp-block-post-content { max-width: 760px; margin-inline: 0 auto; }
.tsf-article .wp-block-post-content > p:first-child { color: rgba(34, 34, 34, .82); font-family: "Noto Serif SC", serif; font-size: 1.08rem; }
.tsf-article .wp-block-post-content blockquote { margin: 34px 0; padding: 8px 0 8px 24px; border-left: 2px solid var(--tsf-red); }
.tsf-article-navigation { margin-top: 58px; padding-top: 24px; border-top: 1px solid var(--tsf-line); }
.tsf-article-navigation a { color: var(--tsf-brown); font-size: .82rem; text-decoration: none; }

@media (max-width: 680px) {
	.tsf-editorial-page,
	.tsf-journal,
	.tsf-article { width: calc(100% - 28px); padding: 40px 0 64px; }
	.tsf-editorial-hero { margin-bottom: 38px; padding-bottom: 30px; }
	.tsf-editorial-hero h1,
	.tsf-journal-intro h1,
	.tsf-article-shell > .wp-block-post-title { font-size: 2rem; }
	.tsf-editorial-grid,
	.tsf-journal-grid { grid-template-columns: 1fr; }
	.tsf-editorial-grid > *,
	.tsf-journal-grid > li { padding: 21px; }
	.tsf-editorial-callout { padding: 22px; }
}
