/* 金のたまご農園：新しい枠（トップと本の棚） */
:root {
	--tmg-ground: #FAFAF7;
	--tmg-ink: #1D2B24;
	--tmg-sub: #4E5B54;
	--tmg-line: #E3E2DA;
	--tmg-green: #2F5D46;
	--tmg-green-dark: #1F3A2E;
	--tmg-tint: #EEF2EC;
	--tmg-gold: #C9A23A;
	--tmg-gold-text: #7A5A12;
	--tmg-gold-light: #E2C677;
	--tmg-cream: #F3EEDC;
	--tmg-serif: 'Shippori Mincho', 'Hiragino Mincho ProN', 'Yu Mincho', 'YuMincho', serif;
	--tmg-sans: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Noto Sans JP', 'Yu Gothic', 'YuGothic', 'Meiryo', sans-serif;
}
html { scroll-behavior: smooth; }
body.tmg-body { margin: 0; background: var(--tmg-ground); }
.tmg { font-family: var(--tmg-sans); color: var(--tmg-ink); background: var(--tmg-ground); line-height: 1.8; font-size: 16px; -webkit-text-size-adjust: 100%; }
.tmg *, .tmg *::before, .tmg *::after { box-sizing: border-box; }
.tmg a { color: var(--tmg-green); }
.tmg a:hover { color: #1D3E2E; }
.tmg img { max-width: 100%; height: auto; }
.tmg-wrap { max-width: 1160px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }
.tmg-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.tmg-skip { position: absolute; left: -9999px; top: 8px; z-index: 100; background: #fff; padding: 8px 16px; border-radius: 8px; }
.tmg-skip:focus { left: 8px; }
.tmg :focus-visible { outline: 3px solid var(--tmg-gold); outline-offset: 2px; }

/* 見出し・ボタン */
.tmg-kicker { margin: 0; font-size: 14px; letter-spacing: .2em; color: var(--tmg-gold-text); font-weight: 700; }
.tmg-kicker--light { color: var(--tmg-gold-light); }
.tmg-h2 { margin: 0 0 24px; font-family: var(--tmg-serif); font-size: 30px; line-height: 1.5; letter-spacing: .06em; font-weight: 700; }
.tmg-h2--light { color: #F3F1E8; margin-bottom: 6px; }
.tmg-nowrap { white-space: nowrap; }
.tmg-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 6px; }
.tmg .tmg-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 24px; background: var(--tmg-green); color: #fff; border: 1px solid var(--tmg-green); border-radius: 24px; text-decoration: none; font-weight: 700; font-size: 15px; font-family: inherit; cursor: pointer; }
.tmg .tmg-btn:hover { background: #24493A; color: #fff; }
.tmg .tmg-btn--line { background: #fff; color: var(--tmg-green); }
.tmg .tmg-btn--line:hover { background: var(--tmg-tint); color: var(--tmg-green); }
.tmg .tmg-btn--gold { background: transparent; color: #F3F1E8; border-color: var(--tmg-gold-light); min-height: 44px; }
.tmg .tmg-btn--gold:hover { background: rgba(226, 198, 119, .15); color: #fff; }

/* ヘッダー */
.tmg-header { border-bottom: 1px solid var(--tmg-line); background: var(--tmg-ground); }
.tmg-header__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; padding-top: 14px; padding-bottom: 14px; }
.tmg .tmg-logo { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--tmg-ink); min-height: 44px; }
.tmg-logo__name { font-family: var(--tmg-serif); font-weight: 700; font-size: 23px; letter-spacing: .08em; }
.tmg-nav { order: 2; display: flex; flex-wrap: wrap; align-items: center; gap: 2px 6px; font-size: 15px; font-weight: 500; }
.tmg .tmg-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 10px; text-decoration: none; color: var(--tmg-ink); }
.tmg .tmg-nav a[aria-current="page"] { color: var(--tmg-green); font-weight: 700; box-shadow: inset 0 -2px 0 var(--tmg-gold); }
.tmg-search-btn { order: 3; width: 44px; height: 44px; margin-left: -12px; border: 1px solid var(--tmg-line); border-radius: 22px; background: #fff; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; color: var(--tmg-ink); }
.tmg-search { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding-top: 4px; padding-bottom: 16px; }
.tmg-search[hidden] { display: none; }
.tmg-search__label { font-size: 14px; color: var(--tmg-sub); }
.tmg-search__input { flex: 1 1 220px; min-height: 48px; padding: 0 16px; border: 1px solid #C9CCC2; border-radius: 24px; font-size: 16px; font-family: inherit; background: #fff; color: var(--tmg-ink); }

/* 一番上 */
.tmg-hero { display: flex; flex-wrap: wrap; gap: 40px; align-items: stretch; padding-top: 64px; padding-bottom: 48px; }
.tmg-hero__main { flex: 999 1 520px; min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 20px; }
.tmg-hero__title { margin: 0; font-family: var(--tmg-serif); font-weight: 700; font-size: clamp(22px, 7vw, 46px); line-height: 1.45; letter-spacing: .04em; }
.tmg-hero__lead { margin: 0; font-size: 17px; color: var(--tmg-sub); max-width: 34em; }
.tmg .tmg-sekki { flex: 1 1 300px; min-width: 0; text-decoration: none; color: var(--tmg-ink); background: var(--tmg-tint); border-radius: 20px; padding: 30px; display: flex; flex-direction: column; gap: 12px; }
.tmg .tmg-sekki:hover { color: var(--tmg-ink); background: #E5ECE3; }
.tmg-sekki__kicker { font-size: 13px; letter-spacing: .18em; color: var(--tmg-green); font-weight: 700; }
.tmg-sekki__row { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.tmg-sekki__name { font-family: var(--tmg-serif); font-size: 60px; font-weight: 700; line-height: 1; }
.tmg-sekki__range { font-size: 15px; color: var(--tmg-sub); }
.tmg-sekki__line { font-size: 15px; color: var(--tmg-sub); }
.tmg-sekki__more { margin-top: auto; padding-top: 14px; border-top: 1px solid #D3DDD2; font-size: 15px; font-weight: 700; color: var(--tmg-green); }

/* トップの一番上：深い緑と金の線（1.2.1・設定で切り替え） */
.tmg-heroband { position: relative; overflow: hidden; background: linear-gradient(180deg, #15251D 0%, #1F3A2E 100%); color: #F6F3EA; }
.tmg-heroband__bg { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 78%; pointer-events: none; -webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.35) 40%, #000 75%); mask-image: linear-gradient(90deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.35) 40%, #000 75%); }
@media (max-width: 760px) { .tmg-heroband__bg { height: 60%; -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,.25) 0%, #000 60%); mask-image: linear-gradient(180deg, rgba(0,0,0,.25) 0%, #000 60%); } }
.tmg-heroband .tmg-hero { position: relative; padding-bottom: 64px; }
.tmg-heroband .tmg-kicker { color: var(--tmg-gold-light); }
.tmg-heroband .tmg-hero__title { color: #F6F3EA; }
.tmg-heroband .tmg-hero__lead { color: rgba(246, 243, 234, .8); }
.tmg .tmg-heroband .tmg-btn { background: var(--tmg-gold-light); border-color: var(--tmg-gold-light); color: #15251D; font-weight: 700; }
.tmg .tmg-heroband .tmg-btn:hover { background: #EBD594; border-color: #EBD594; color: #15251D; }
.tmg .tmg-heroband .tmg-btn--line { background: transparent; border-color: rgba(246, 243, 234, .55); color: #F6F3EA; font-weight: 400; }
.tmg .tmg-heroband .tmg-btn--line:hover { background: rgba(246, 243, 234, .08); color: #fff; border-color: #F6F3EA; }
.tmg .tmg-heroband .tmg-sekki { background: rgba(21, 37, 29, .72); border: 1px solid rgba(226, 198, 119, .35); color: #F6F3EA; backdrop-filter: blur(2px); }
.tmg .tmg-heroband .tmg-sekki:hover { background: rgba(21, 37, 29, .85); color: #F6F3EA; border-color: rgba(226, 198, 119, .6); }
.tmg-heroband .tmg-sekki__kicker { color: var(--tmg-gold-light); }
.tmg-heroband .tmg-sekki__name { color: #F6F3EA; }
.tmg-heroband .tmg-sekki__range, .tmg-heroband .tmg-sekki__line { color: rgba(246, 243, 234, .75); }
.tmg-heroband .tmg-sekki__more { color: var(--tmg-gold-light); border-top-color: rgba(226, 198, 119, .3); }
.tmg .tmg-heroband :focus-visible { outline-color: var(--tmg-gold-light); }
.tmg-heroband + .tmg-section { padding-top: 64px; }

/* 区画 */
.tmg-section { padding-top: 56px; padding-bottom: 16px; }
.tmg-section__head { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 8px 16px; margin-bottom: 24px; }
.tmg-section__head .tmg-h2 { margin-bottom: 0; }
.tmg-section__sub, .tmg-section__lead { font-size: 15px; color: var(--tmg-sub); }
.tmg-section__lead { margin: -8px 0 24px; }
.tmg .tmg-section__link { font-weight: 700; text-decoration: none; }

/* 農園の地図 */
.tmg-doors { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }
.tmg .tmg-door { text-decoration: none; color: var(--tmg-ink); background: #fff; border: 1px solid var(--tmg-line); border-radius: 18px; padding: 26px 24px; display: flex; flex-direction: column; gap: 8px; min-height: 220px; }
.tmg .tmg-door:hover { border-color: var(--tmg-green); color: var(--tmg-ink); }
.tmg-door__kicker { font-size: 13px; letter-spacing: .18em; color: var(--tmg-gold-text); font-weight: 700; }
.tmg-door__title { font-family: var(--tmg-serif); font-size: 25px; font-weight: 700; }
.tmg-door__text { font-size: 15px; color: var(--tmg-sub); }
.tmg-door__more { margin-top: auto; font-size: 14px; font-weight: 700; color: var(--tmg-green); }

/* 学びの畑 */
.tmg-field { background: var(--tmg-green-dark); color: #F3F1E8; margin-top: 56px; }
.tmg-field__inner { padding-top: 52px; padding-bottom: 52px; display: flex; flex-wrap: wrap; gap: 32px; align-items: center; }
.tmg-field__head { flex: 1 1 300px; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.tmg-field__text { margin: 0; font-size: 15px; color: #D5DCD4; }
.tmg-field__body { flex: 2 1 480px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.tmg-field__status { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; font-size: 15px; }
.tmg .tmg-field__next { color: var(--tmg-gold-light); font-weight: 700; text-decoration: none; display: inline-flex; align-items: center; min-height: 44px; }
.tmg .tmg-field__next:hover { color: #fff; }
.tmg-field__group { display: flex; align-items: center; gap: 14px; }
.tmg-field__level { flex: 0 0 3em; font-size: 13px; color: #B9C4B8; }
.tmg-dots { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px; }
.tmg .tmg-dot { display: block; width: 28px; height: 36px; position: relative; }
.tmg .tmg-dot::before { content: ""; position: absolute; left: 6px; right: 6px; top: 6px; bottom: 6px; border-radius: 999px; box-shadow: inset 0 0 0 1.5px #6F8C7B; }
.tmg .tmg-dot.is-read::before { background: var(--tmg-gold); box-shadow: none; }
.tmg .tmg-dot:hover::before { box-shadow: inset 0 0 0 2px var(--tmg-gold-light); }

/* 道具小屋・季節 */
.tmg-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; }
.tmg-cards--tools { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; }
.tmg .tmg-card { text-decoration: none; color: var(--tmg-ink); border: 1px solid var(--tmg-line); border-radius: 18px; background: #fff; padding: 22px; display: flex; flex-direction: column; gap: 10px; }
.tmg .tmg-card:hover { border-color: var(--tmg-green); color: var(--tmg-ink); }
.tmg-card__icon { width: 48px; height: 48px; border-radius: 14px; background: var(--tmg-tint); display: flex; align-items: center; justify-content: center; color: var(--tmg-green); }
.tmg-card__title { font-size: 18px; font-weight: 700; line-height: 1.5; word-break: keep-all; overflow-wrap: anywhere; }
.tmg-card__text { font-size: 14px; color: var(--tmg-sub); }
.tmg-card__more { margin-top: auto; font-size: 14px; font-weight: 700; color: var(--tmg-green); }
.tmg-season { border: 1px solid var(--tmg-line); border-radius: 18px; background: #fff; padding: 20px 20px 18px; }
.tmg-season__name { margin: 0 0 12px; font-family: var(--tmg-serif); font-size: 20px; color: var(--tmg-green); }
.tmg-season__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.tmg .tmg-kou { display: flex; align-items: center; justify-content: center; min-height: 44px; border-radius: 12px; text-decoration: none; font-family: var(--tmg-serif); font-size: 16px; font-weight: 700; background: #F4F5F1; color: var(--tmg-ink); }
.tmg .tmg-kou:hover { background: var(--tmg-tint); color: var(--tmg-ink); }
.tmg .tmg-kou.is-now { background: var(--tmg-green); color: #fff; }

/* 本の棚（トップの帯） */
.tmg-shelfband { background: var(--tmg-cream); border-radius: 24px; padding: 40px 36px; display: flex; flex-wrap: wrap; gap: 32px; align-items: center; }
.tmg-shelfband__head { flex: 1 1 260px; min-width: 0; display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.tmg-shelfband__head .tmg-h2 { margin-bottom: 0; }
.tmg-shelfband__head .tmg-section__lead { margin: 0 0 6px; }
.tmg-shelfband__books { flex: 2 1 440px; min-width: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: start; }
.tmg .tmg-minibook { text-decoration: none; color: var(--tmg-ink); display: flex; flex-direction: column; gap: 8px; }
.tmg .tmg-minibook:hover { color: var(--tmg-green); }
.tmg-cover { display: block; width: 100%; height: auto; border-radius: 6px; box-shadow: 0 10px 24px rgba(29, 43, 36, .22); background: #DDE3DA; }
.tmg-minibook__title { font-size: 14px; font-weight: 700; line-height: 1.5; }
.tmg-minibook__badge { font-size: 13px; color: var(--tmg-sub); font-weight: 700; }
.tmg-minibook__badge.is-soon { color: var(--tmg-gold-text); }

/* 新しい記事・リンク */
.tmg-posts { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--tmg-line); }
.tmg-posts li { border-bottom: 1px solid var(--tmg-line); }
.tmg .tmg-posts a { display: flex; flex-wrap: wrap; gap: 4px 24px; padding: 16px 4px; text-decoration: none; color: var(--tmg-ink); }
.tmg .tmg-posts a:hover .tmg-posts__title { color: var(--tmg-green); text-decoration: underline; }
.tmg-posts__date { font-size: 14px; color: var(--tmg-sub); min-width: 96px; }
.tmg-posts__cat { font-size: 13px; color: var(--tmg-green); font-weight: 700; min-width: 120px; }
.tmg-posts__title { flex: 1 1 320px; font-weight: 500; }
.tmg-links { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; padding-bottom: 72px; }
.tmg .tmg-link { flex: 1 1 280px; text-decoration: none; color: var(--tmg-ink); border: 1px solid var(--tmg-line); border-radius: 18px; padding: 20px 22px; display: flex; align-items: center; gap: 16px; background: #fff; }
.tmg .tmg-link:hover { border-color: var(--tmg-green); color: var(--tmg-ink); }
.tmg-link svg { color: var(--tmg-green); flex: 0 0 auto; }
.tmg-link span { display: flex; flex-direction: column; }
.tmg-link small { font-size: 14px; color: var(--tmg-sub); }

/* 本の棚のページ */
.tmg-pagehead { padding-top: 56px; padding-bottom: 8px; }
.tmg-pagehead__title { margin: 8px 0 14px; font-family: var(--tmg-serif); font-size: clamp(32px, 5vw, 44px); letter-spacing: .06em; }
.tmg-pagehead__lead { margin: 0; font-size: 17px; color: var(--tmg-sub); max-width: 36em; }
.tmg-shelf { display: flex; flex-direction: column; gap: 28px; padding-top: 32px; }
.tmg-book { background: #fff; border: 1px solid var(--tmg-line); border-radius: 24px; padding: 34px; display: flex; flex-wrap: wrap; gap: 34px; scroll-margin-top: 16px; }
.tmg-book__cover { flex: 0 1 220px; min-width: 170px; }
.tmg-book__cover .tmg-cover { border-radius: 8px; box-shadow: 0 14px 30px rgba(29, 43, 36, .26); }
.tmg-book__body { flex: 999 1 420px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.tmg-book__badge { align-self: flex-start; margin: 0; font-size: 13px; font-weight: 700; padding: 4px 12px; border-radius: 999px; background: var(--tmg-tint); color: var(--tmg-green); }
.tmg-book__badge.is-soon { background: var(--tmg-cream); color: var(--tmg-gold-text); }
.tmg-book__title { margin: 0; font-family: var(--tmg-serif); font-size: clamp(24px, 3.4vw, 30px); line-height: 1.5; }
.tmg-book__genre { margin: 0; font-size: 15px; color: var(--tmg-gold-text); font-weight: 700; }
.tmg-book__text { margin: 0; font-size: 16px; color: #33413A; }
.tmg-book__spec { margin: 0; font-size: 14px; color: var(--tmg-sub); }
.tmg-book__links { margin-top: 8px; padding-top: 14px; border-top: 1px solid var(--tmg-line); }
.tmg-book__linkhead { margin: 0 0 4px; font-size: 13px; letter-spacing: .14em; color: var(--tmg-sub); font-weight: 700; }
.tmg-book__links ul { list-style: none; margin: 0; padding: 0; }
.tmg .tmg-book__links a { display: inline-flex; min-height: 40px; align-items: center; font-size: 15px; text-decoration: none; font-weight: 500; }
.tmg-author { background: var(--tmg-green-dark); color: #F3F1E8; border-radius: 24px; padding: 40px 36px; display: flex; flex-wrap: wrap; gap: 32px; align-items: center; margin-bottom: 72px; scroll-margin-top: 16px; }
.tmg-author__mark { flex: 0 0 132px; height: 132px; border-radius: 66px; background: var(--tmg-green); display: flex; align-items: center; justify-content: center; }
.tmg-author__body { flex: 1 1 360px; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.tmg-author__name { margin: 0; font-family: var(--tmg-serif); font-size: 32px; letter-spacing: .1em; }
.tmg-author__bio { margin: 0; font-size: 16px; color: #D5DCD4; }

/* 発売までの日数・上へ戻る */
.tmg-countdown { display: inline-flex; align-self: flex-start; align-items: center; padding: 3px 12px; border-radius: 999px; background: var(--tmg-gold-text); color: #fff; font-size: 13px; font-weight: 700; }
.tmg-countdown[hidden] { display: none; }
.tmg .tmg-totop { position: fixed; right: 16px; bottom: 16px; z-index: 50; width: 48px; height: 48px; border-radius: 24px; background: var(--tmg-green); color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 18px rgba(29, 43, 36, .25); }
.tmg .tmg-totop[hidden] { display: none; }
.tmg .tmg-totop:hover { background: #24493A; color: #fff; }

/* 畑ごとの記事 */
.tmg-fields { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 16px; }
.tmg-field-card { background: #fff; border: 1px solid var(--tmg-line); border-radius: 18px; padding: 6px 6px 10px; display: flex; flex-direction: column; }
.tmg .tmg-field-card__main { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 12px 14px; min-height: 52px; border-radius: 12px; text-decoration: none; color: var(--tmg-ink); }
.tmg .tmg-field-card__main:hover { background: var(--tmg-tint); color: var(--tmg-ink); }
.tmg-field-card__name { font-family: var(--tmg-serif); font-size: 19px; font-weight: 700; }
.tmg-field-card__count { font-size: 13px; color: var(--tmg-sub); white-space: nowrap; }
.tmg-field-card__kids { margin: 0; padding: 0 10px; display: flex; flex-wrap: wrap; gap: 6px; }
.tmg .tmg-field-card__kids a { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 12px; border-radius: 18px; background: var(--tmg-tint); color: var(--tmg-green); text-decoration: none; font-size: 14px; font-weight: 700; }
.tmg-field-card__kids small { font-size: 12px; font-weight: 400; color: var(--tmg-sub); }
.tmg-catnav { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 18px; }
.tmg .tmg-catnav a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: 20px; border: 1px solid var(--tmg-line); background: #fff; color: var(--tmg-ink); text-decoration: none; font-size: 14px; font-weight: 700; }
.tmg .tmg-catnav a.is-kid { font-weight: 500; color: var(--tmg-sub); }
.tmg .tmg-catnav a[aria-current="page"] { background: var(--tmg-green); border-color: var(--tmg-green); color: #fff; }

/* フッター */
.tmg-footer { background: var(--tmg-green-dark); color: #D5DCD4; }
.tmg-footer__inner { padding-top: 44px; padding-bottom: 32px; display: flex; flex-direction: column; gap: 16px; }
.tmg-footer__top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 20px; align-items: center; }
.tmg-footer__name { font-family: var(--tmg-serif); font-weight: 700; font-size: 22px; color: #F3F1E8; letter-spacing: .08em; }
.tmg-footer__nav { display: flex; flex-wrap: wrap; gap: 0 18px; font-size: 14px; }
.tmg .tmg-footer__nav a { color: #F3F1E8; text-decoration: none; display: inline-flex; align-items: center; min-height: 44px; }
.tmg .tmg-footer__nav a:hover { color: var(--tmg-gold-light); }
.tmg-footer__cats { border-top: 1px solid rgba(255,255,255,.12); padding-top: 18px; }
.tmg-footer__label { margin: 0 0 8px; font-size: 13px; letter-spacing: .14em; color: var(--tmg-gold-light); font-weight: 700; }
.tmg-footer__cats ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0 22px; }
.tmg-footer__cats li { display: flex; flex-wrap: wrap; align-items: center; gap: 0 14px; }
.tmg-footer__cats li ul { gap: 0 14px; }
.tmg .tmg-footer__cats a { color: #F3F1E8; text-decoration: none; display: inline-flex; align-items: center; min-height: 40px; font-size: 14px; }
.tmg .tmg-footer__cats li ul a { color: #B9C4B8; font-size: 13px; }
.tmg .tmg-footer__cats a:hover { color: var(--tmg-gold-light); }
.tmg-footer__note { margin: 0; font-size: 13px; line-height: 1.8; color: #B9C4B8; }

@media (max-width: 640px) {
	.tmg-wrap { padding-left: 16px; padding-right: 16px; }
	.tmg-header__inner { padding-top: 8px; padding-bottom: 6px; }
	.tmg-search-btn { order: 2; margin-left: auto; }
	.tmg-nav { order: 3; width: calc(100% + 16px); justify-content: space-between; margin: 0 -8px; }
	.tmg .tmg-door { min-height: 0; }
	.tmg .tmg-nav a { padding: 0 7px; }
	.tmg-nav { font-size: 14px; }
	.tmg-logo__name { font-size: 21px; }
	.tmg-hero { padding-top: 36px; gap: 28px; }
	.tmg-sekki__name { font-size: 48px; }
	.tmg-h2 { font-size: 25px; }
	.tmg-shelfband { padding: 28px 20px; }
	.tmg-shelfband__books { gap: 12px; }
	.tmg-minibook__title { font-size: 12px; }
	.tmg-book { padding: 22px 18px; gap: 22px; }
	.tmg-book__cover { flex-basis: 100%; max-width: 220px; margin: 0 auto; }
	.tmg-author { padding: 28px 20px; }
	.tmg-field__group { align-items: flex-start; flex-direction: column; gap: 4px; }
}
@media (max-width: 400px) {
	.tmg .tmg-nav a { padding: 0 5px; }
	.tmg .tmg-nav a.tmg-nav__author { display: none; }
}
