/* ==========================================================================
   日本禧玛诺渔轮资讯站 · Reel Journal
   1. 变量与基础      2. 页头       3. 布局       4. 列表标题与标签
   5. 文章卡片        6. 侧栏       7. 文章页     8. 系列页 / 图鉴 / 索引 / 关于
   9. 空状态与翻页    10. 页脚      11. 响应式
   ========================================================================== */

/* 1. 变量与基础 ------------------------------------------------------------ */
:root {
	--paper: #f6f3ea;
	--paper-hi: #faf8f2;
	--card: #fbf9f3;
	--line: #e6dfcf;
	--line-soft: #ece6d9;
	--ink: #1c2a35;
	--text: #3b4650;
	--muted: #7c8186;
	--gold: #a8812f;
	--gold-2: #c8a663;
	--gold-soft: #f1e6c8;
	--brown: #6e5631;
	--teal-line: #c3d3d1;
	--serif: "Noto Serif SC", "Source Han Serif SC", "Source Han Serif CN", "Songti SC", "STSong", "Noto Serif CJK SC", "SimSun", serif;
	--radius: 6px;
	--shadow: 0 1px 2px rgba(90, 70, 30, .05), 0 8px 22px -14px rgba(90, 70, 30, .28);
	--wrap: 1400px;
	--side: 400px;
	--gap: 22px;
	--noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .42 0 0 0 0 .36 0 0 0 0 .24 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

body {
	margin: 0;
	min-height: 100vh;
	position: relative;
	background-color: var(--paper);
	background-image: var(--noise);
	color: var(--text);
	font-family: var(--serif);
	font-size: 16px;
	line-height: 1.75;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

img, svg, video { max-width: 100%; height: auto; }
img { display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--gold); }
:focus-visible { outline: 2px solid var(--gold-2); outline-offset: 2px; border-radius: 3px; }
h1, h2, h3, h4 { margin: 0; color: var(--ink); font-weight: 700; line-height: 1.35; text-wrap: pretty; }
p { margin: 0; }
ul, ol { margin: 0; padding: 0; }
button { font: inherit; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.skip-link {
	position: absolute; left: 16px; top: -60px; z-index: 100;
	padding: 8px 16px; border-radius: var(--radius);
	background: var(--ink); color: #fff;
}
.skip-link:focus { top: 12px; color: #fff; }

/* 侧栏水彩会伸出卡片右边，在这一层裁掉，页面不会左右滑动 */
.site { position: relative; overflow-x: hidden; overflow-x: clip; }

.container { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 16px; }
.rj-icon { width: 1em; height: 1em; flex: none; }

/* 2. 页头 ----------------------------------------------------------------- */
/* 页头固定在顶部（往下滑也一直在），高 72px */
.site-header {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 50;
	height: 72px;
	background: linear-gradient(180deg, #f4f3ed 0%, #f6f4ec 70%, #eef2ec 100%);
	border-bottom: 1px solid var(--teal-line);
	box-shadow: 0 1px 0 rgba(255, 255, 255, .7);
	transition: box-shadow .25s ease;
}
.is-scrolled .site-header { box-shadow: 0 1px 0 rgba(255, 255, 255, .7), 0 10px 24px -16px rgba(40, 55, 55, .45); }
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .site-header { top: 0; } }
html { scroll-padding-top: 88px; }
.site-header__deco {
	position: absolute;
	top: 0;
	height: 68px;
	pointer-events: none;
	background-repeat: no-repeat;
	background-size: 100% 100%;
}
.site-header__deco--left { left: 0; width: 104px; background-image: url(../img/deco-head-left.webp); }
.site-header__deco--right { right: 0; width: 397px; background-image: url(../img/deco-head-right.webp); opacity: .85; }

.site-header__inner {
	position: relative;
	display: flex;
	align-items: center;
	height: 100%;
	max-width: var(--wrap);
	margin: 0 auto;
	padding: 0 16px;
}

.brand { display: flex; align-items: center; gap: 14px; flex: none; color: var(--ink); }
.brand:hover { color: var(--ink); }
.brand__mark { display: block; width: 50px; height: 50px; flex: none; }
.brand__svg, .brand__img { width: 100%; height: 100%; object-fit: contain; }
.brand__text { display: flex; flex-direction: column; }
.brand__name {
	display: block;
	font-size: 26px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .12em;
	color: var(--ink);
}
.brand__en {
	display: block;
	margin-top: 7px;
	font-size: 9px;
	letter-spacing: .36em;
	color: #3f4a54;
	white-space: nowrap;
}

.site-panel { display: flex; align-items: center; justify-content: flex-end; flex: 1; min-width: 0; }

.site-nav { margin-left: auto; padding-left: 40px; }
.site-nav .menu { display: flex; gap: 44px; list-style: none; }
.site-nav .menu a {
	position: relative;
	display: block;
	padding: 6px 0;
	font-size: 16px;
	letter-spacing: .06em;
	color: var(--ink);
	white-space: nowrap;
}
.site-nav .menu a::after {
	content: "";
	position: absolute;
	left: -4px; right: -4px; bottom: -11px;
	height: 2px;
	background: var(--gold-2);
	transform: scaleX(0);
	transition: transform .25s ease;
}
.site-nav .menu a:hover { color: var(--gold); }
.site-nav .current-menu-item > a::after,
.site-nav .current_page_item > a::after,
.site-nav .menu a:hover::after { transform: scaleX(1); }

.site-search--panel { display: none; }


/* 按钮 */
.btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	height: 44px; padding: 0 20px;
	border: 1px solid transparent;
	border-radius: var(--radius);
	font-family: inherit; font-size: 15px; letter-spacing: .06em; line-height: 1;
	white-space: nowrap;
	cursor: pointer;
	transition: background .2s, border-color .2s, color .2s, filter .2s, transform .2s;
}
.btn .rj-icon { font-size: 18px; }
.btn-sm { height: 40px; padding: 0 16px; font-size: 14.5px; }
.btn-lg { height: 50px; padding: 0 24px; font-size: 16.5px; }
.btn-gold {
	background: linear-gradient(180deg, #bf964d 0%, #9e752e 100%);
	color: #fff;
	box-shadow: 0 8px 18px -10px rgba(140, 100, 30, .75), inset 0 1px 0 rgba(255, 255, 255, .28);
}
.btn-gold:hover { color: #fff; filter: brightness(1.07); }
.btn-gold:active { transform: translateY(1px); }
.btn-outline { border-color: #c4b694; background: rgba(255, 255, 255, .62); color: var(--ink); }
.btn-outline:hover { border-color: var(--gold); background: #fff; color: var(--ink); }
.search-form { position: relative; display: flex; align-items: center; }
.search-form__icon {
	position: absolute; left: 13px; top: 50%;
	display: flex; transform: translateY(-50%);
	font-size: 21px; color: #4c3f27;
	pointer-events: none;
}
.search-form__input {
	width: 100%;
	height: 40px;
	padding: 0 14px 0 44px;
	border: 1px solid #b9ab8a;
	border-radius: var(--radius);
	background: rgba(255, 255, 255, .5);
	color: var(--ink);
	font: inherit;
	font-size: 15px;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color .2s, background .2s;
}
.search-form__input::placeholder { color: #8b8c88; }
.search-form__input:focus { outline: none; border-color: var(--gold); background: rgba(255, 255, 255, .85); }
.search-form__input::-webkit-search-cancel-button { -webkit-appearance: none; }

.nav-toggle {
	display: none;
	margin-left: auto;
	width: 44px; height: 44px;
	align-items: center; justify-content: center;
	border: 1px solid #c9bc9d;
	border-radius: var(--radius);
	background: rgba(255, 255, 255, .55);
	color: var(--ink);
	font-size: 22px;
	cursor: pointer;
}
.nav-toggle__open,
.nav-toggle__close { display: flex; }
.nav-toggle .nav-toggle__close,
.nav-open .nav-toggle .nav-toggle__open { display: none; }
.nav-open .nav-toggle .nav-toggle__close { display: flex; }

/* 左侧页边的水彩草叶：竖向平铺，往下滑到底都有（原图 + 左右镜像一段，上下羽化接缝） */
.page-deco {
	position: absolute;
	left: 0;
	top: 120px;
	bottom: 0;
	z-index: 0;
	width: 86px;
	background: url(../img/deco-side-loop.webp) repeat-y 0 0 / 86px 1728px;
	pointer-events: none;
}

/* 3. 布局 ----------------------------------------------------------------- */
.layout {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) var(--side);
	gap: var(--gap);
	align-items: start;
	padding-top: 12px;
	padding-bottom: 64px;
}
.layout__main { min-width: 0; }
.layout__side { display: grid; gap: 14px; padding-top: 13px; }

.page-wide { position: relative; z-index: 1; padding-top: 28px; padding-bottom: 72px; }

/* 4. 列表标题与标签 ------------------------------------------------------- */
.feed-head {
	display: flex;
	align-items: center;
	gap: 26px;
	min-height: 50px;
	margin-bottom: 16px;
	padding: 0 0 4px 0;
	border-bottom: 1px solid #dcd5c5;
}
.feed-head__title {
	position: relative;
	flex: none;
	padding-left: 20px;
	font-size: 20px;
	font-weight: 600;
	letter-spacing: .08em;
	color: #996f2c;
}
.feed-head__title::before {
	content: "";
	position: absolute;
	left: 0; top: 50%;
	width: 3px; height: 22px;
	border-radius: 2px;
	background: linear-gradient(180deg, #c49a4c, #a5782f);
	transform: translateY(-50%);
}
.feed-tabs ul { display: flex; flex-wrap: wrap; gap: 6px 10px; list-style: none; }
.feed-tabs__item {
	display: block;
	padding: 4px 21px;
	border-radius: 999px;
	font-size: 15px;
	letter-spacing: .04em;
	color: #5e6266;
	transition: background .2s, color .2s;
}
.feed-tabs__item:hover { background: rgba(241, 230, 200, .55); color: var(--ink); }
.feed-tabs__item.is-active { background: var(--gold-soft); color: var(--ink); font-weight: 600; }

.archive-intro { margin: -4px 0 18px; color: var(--muted); font-size: 15px; }

/* 4b. 首页文章流：置顶大图 + 「近期记录」日期索引（结构照 8002，配色字体沿用本主题） */
.lead-entry { margin-bottom: 48px; }

.lead-entry-media {
	display: block;
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	max-height: 400px;
	overflow: hidden;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--card);
	margin-bottom: 22px;
}
.lead-entry-media img { width: 100%; height: 100%; object-fit: cover; }

.entry-meta {
	font-size: 14px;
	letter-spacing: .03em;
	color: var(--muted);
	margin-bottom: 12px;
}

.lead-entry-title {
	font-size: clamp(24px, 2.5vw, 34px);
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .02em;
	margin: 0 0 14px;
	color: var(--ink);
}
.lead-entry-title a { color: inherit; text-decoration: none; }
.lead-entry-title a:hover { color: #7b5d26; }

.lead-entry-excerpt {
	font-size: 16.5px;
	line-height: 1.85;
	color: var(--text);
	margin: 0;
	max-width: 62ch;
}

.index-heading {
	font-size: 17px;
	font-weight: 700;
	letter-spacing: .06em;
	color: var(--ink);
	margin: 0 0 4px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--line);
}

.entry-index { list-style: none; margin: 0; padding: 0; }

.entry-index-item { border-bottom: 1px solid var(--line-soft); }

.entry-index-item a {
	display: flex;
	gap: 20px;
	align-items: flex-start;
	padding: 22px 0;
	text-decoration: none;
}
.entry-index-item a:hover .entry-index-title { color: #7b5d26; }

.entry-index-date {
	flex-shrink: 0;
	width: 46px;
	text-align: right;
	line-height: 1.3;
	padding-top: 2px;
	font-variant-numeric: lining-nums;
}
.entry-index-date .d-md { display: block; font-size: 15px; font-weight: 600; color: var(--ink); }
.entry-index-date .d-y { display: block; font-size: 12px; color: var(--muted); }

.entry-index-body { flex: 1; min-width: 0; }

.entry-index-title {
	display: block;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.6;
	color: var(--ink);
	margin-bottom: 6px;
}

.entry-index-excerpt {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 14px;
	line-height: 1.75;
	color: var(--muted);
}

.entry-index-thumb {
	flex-shrink: 0;
	position: relative;
	width: 96px;
	height: 72px;
	overflow: hidden;
	border-radius: 4px;
	background: var(--card);
	border: 1px solid var(--line-soft);
}
.entry-index-thumb img { width: 100%; height: 100%; object-fit: cover; }
.entry-index-thumb .ph { border: 0; }

@media (max-width: 768px) {
	.entry-index-item a { gap: 14px; padding: 18px 0; }
	.entry-index-date { width: 38px; }
	.entry-index-thumb { display: none; }
}

/* 5. 文章卡片 ------------------------------------------------------------- */
.card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 7px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--card);
	box-shadow: var(--shadow);
	transition: box-shadow .25s ease, transform .25s ease, border-color .25s ease;
}
.card:hover { border-color: #ddd0b0; box-shadow: 0 1px 2px rgba(90, 70, 30, .06), 0 16px 30px -18px rgba(90, 70, 30, .4); }

.card__media {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 4px;
	aspect-ratio: 2 / 1;
	background: #e9ece4;
}
.card__media img {
	width: 100%; height: 100%;
	object-fit: cover;
	transition: transform .6s ease;
}
.card:hover .card__media img { transform: scale(1.03); }

/* 没有特色图片时的占位：雾青色底 + 渔轮线稿 */
.ph {
	position: absolute; inset: 0;
	display: flex; align-items: center; justify-content: center;
	overflow: hidden;
	background:
		radial-gradient(120% 90% at 18% 15%, rgba(255, 255, 255, .75), transparent 55%),
		radial-gradient(90% 80% at 85% 90%, rgba(178, 204, 196, .55), transparent 60%),
		linear-gradient(160deg, #e6eee8 0%, #dfe9e4 45%, #e9ecdf 100%);
}
.ph::before {
	content: "";
	position: absolute; inset: 0;
	background-image: var(--noise);
	opacity: .9;
}
.ph::after {
	content: "";
	position: absolute; inset: 10px;
	border: 1px solid rgba(255, 255, 255, .7);
	border-radius: 3px;
}
.ph__art { position: relative; width: 46%; max-width: 280px; color: #6f8a83; opacity: .38; }
.ph__art svg { width: 100%; height: auto; }
.ph__label {
	position: absolute; left: 24px; bottom: 18px;
	font-size: 12px; letter-spacing: .32em;
	color: #6e837d;
}

.card__body { position: relative; display: flex; flex-direction: column; flex: 1; min-width: 0; }

.card__meta { font-size: 14px; letter-spacing: .04em; color: #676b6e; }
.card__title { font-weight: 700; color: var(--ink); letter-spacing: .02em; }
.card__title a { color: inherit; }
.card__title a:hover { color: #7b5d26; }
.card__excerpt { color: #5b6268; }
.card__date { font-size: 14px; letter-spacing: .05em; color: #8a8d90; font-variant-numeric: lining-nums; }
.card__more {
	display: inline-flex; align-items: center; gap: 10px;
	font-size: 16px; letter-spacing: .06em;
	color: var(--gold);
	white-space: nowrap;
}
.card__more .rj-icon { font-size: 20px; transition: transform .25s ease; }
.card__more:hover { color: #8a6522; }
.card__more:hover .rj-icon { transform: translateX(4px); }

/* 首篇大卡 */
.card--feature {
	display: grid;
	grid-template-columns: minmax(0, 60.2%) minmax(0, 1fr);
	padding: 8px;
	background: linear-gradient(180deg, #fbf9f2, #f8f5ec);
}
.card--feature .card__media { aspect-ratio: auto; min-height: 386px; height: 100%; }
.card--feature .card__media .ph__art { width: 40%; }
.card--feature .card__body { padding: 22px 22px 16px 34px; overflow: hidden; }
.card__art {
	position: absolute;
	top: -10px; right: -58px;
	width: 250px;
	color: #8a7448;
	opacity: .1;
	transform: rotate(-8deg);
	pointer-events: none;
}
.card__art svg { width: 100%; height: auto; }
.card--feature .card__num {
	position: relative;
	display: flex; align-items: center; gap: 16px;
	font-size: 15px; color: var(--gold);
	font-variant-numeric: lining-nums;
}
.card--feature .card__num i { display: block; width: 178px; height: 1px; background: var(--gold-2); opacity: .8; }
.card--feature .card__meta { position: relative; margin-top: 15px; font-size: 15px; }
.card--feature .card__title {
	position: relative;
	margin: 12px 0 18px;
	font-size: clamp(26px, 2.45vw, 37px);
	line-height: 1.34;
	letter-spacing: 0;
}
.card--feature .card__excerpt { position: relative; font-size: 17px; line-height: 1.85; color: #3e474e; word-break: keep-all; overflow-wrap: anywhere; }
.card__rule { display: block; width: 74px; height: 1px; margin: auto 0 18px; padding-top: 0; background: var(--gold-2); }
.card--feature .card__rule { margin-top: 34px; }
.card--feature .card__date { position: relative; }
.card--feature .card__more { position: relative; margin-top: 10px; align-self: flex-start; font-size: 17px; }
.card__watermark {
	position: absolute;
	right: 16px; bottom: 2px;
	font-size: 36px;
	font-style: italic;
	letter-spacing: .08em;
	color: transparent;
	-webkit-text-stroke: 1px rgba(150, 128, 84, .26);
	pointer-events: none;
	white-space: nowrap;
}

/* 双列卡、三列卡 */
.feed-grid { display: grid; gap: 18px; margin-top: 18px; }
.feed-grid--medium { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.feed-grid--small { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.feed > .card:first-child + .feed-grid,
.feed > .feed-grid:first-child { margin-top: 0; }
.feed > .card--feature + .feed-grid { margin-top: 18px; }

.card--medium .card__body,
.card--small .card__body { padding: 16px 13px 10px 13px; }
.card__metarow { display: flex; align-items: center; gap: 12px; }
.card__metarow .card__meta { flex: none; max-width: 70%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.card__line { flex: 1; height: 1px; min-width: 20px; background: var(--gold-2); opacity: .7; }
.card__metarow .card__num { flex: none; font-size: 15px; color: var(--gold); font-variant-numeric: lining-nums; }
.card--medium .card__title { margin: 12px 0 8px; font-size: 27px; line-height: 1.38; }
.card--medium .card__excerpt { font-size: 15.5px; line-height: 1.75; }
.card__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 16px; }

.card--small .card__media { aspect-ratio: 16 / 9; }
.card--small .card__title { margin: 10px 0 6px; font-size: 20px; line-height: 1.45; }
.card--small .card__excerpt {
	font-size: 14.5px; line-height: 1.7;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.card--small .card__more { font-size: 15px; }
.card--small .card__meta { font-size: 13px; }

/* 6. 侧栏 ----------------------------------------------------------------- */
.side-card {
	position: relative;
	padding: 26px 28px 24px;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: var(--paper-hi);
	box-shadow: 0 1px 2px rgba(90, 70, 30, .04);
}
.side-card > *:not(.side-card__deco) { position: relative; z-index: 1; }
.side-card__deco { position: absolute; z-index: 0; pointer-events: none; background-repeat: no-repeat; }

.side-card__title {
	display: flex; align-items: center; gap: 18px;
	font-size: 27px;
	letter-spacing: .08em;
	color: var(--ink);
}
.side-card__title a { color: inherit; }
.side-card__title a:hover { color: #7b5d26; }
.side-card__title i { display: block; width: 40px; height: 1px; background: var(--gold-2); }
.side-card__sub { margin-top: 8px; font-size: 16px; letter-spacing: .12em; color: #59625e; }
.side-card__all {
	display: inline-flex; align-items: center; gap: 8px;
	margin-top: 12px;
	font-size: 14px; color: var(--gold);
}

/* 系列索引卡 */
.side-card--series {
	padding-bottom: 26px;
	border-color: #d4e2d5;
	background: linear-gradient(162deg, #e1eee2 0%, #e8f1e6 50%, #edf2ea 100%);
}
.side-card--series .side-card__deco {
	top: -8px; right: -82px;
	width: 236px; height: 430px;
	background-image: url(../img/deco-series.webp);
	background-size: 236px 430px;
}
.series-list {
	margin-top: 18px;
	list-style: none;
	border-top: 1px solid rgba(96, 128, 108, .22);
}
.series-list li { border-bottom: 1px solid rgba(96, 128, 108, .22); }
.series-list__link {
	display: grid;
	grid-template-columns: 70px minmax(0, 1fr) 26px;
	align-items: center;
	gap: 16px;
	min-height: 66px;
	padding: 1px 2px 1px 6px;
	color: var(--ink);
	transition: background .2s;
}
.series-list__link:hover,
.series-list__link.is-active { background: rgba(255, 255, 255, .35); color: var(--ink); }
.series-list__icon { width: 70px; height: 58px; object-fit: contain; mix-blend-mode: multiply; }
/* 系列商品图（透明底实拍）：不做正片叠底，加一点落影 */
img.is-photo { mix-blend-mode: normal; filter: drop-shadow(0 2px 2px rgba(40, 56, 48, .16)); }
.series-list__name { display: flex; align-items: baseline; flex-wrap: wrap; gap: 0 12px; }
.series-list__cn { font-size: 18px; letter-spacing: .04em; }
.series-list__en { font-size: 14.5px; letter-spacing: .06em; color: #4d5a57; }

.arrow-circle {
	display: inline-flex; align-items: center; justify-content: center;
	width: 26px; height: 26px;
	border: 1px solid #8f7442;
	border-radius: 50%;
	color: #6b5530;
	font-size: 14px;
	transition: background .2s, color .2s, transform .2s;
}
a:hover .arrow-circle { background: #8f7442; color: #fff; }
.arrow-circle--soft { border-color: #cdc5b4; background: #fff; color: #6b5f48; }

/* 热门笔记卡：沿用原「资料速查」的雾蓝底与右下角的海岸礁石 */
.side-card--hot {
	overflow: hidden;
	padding-bottom: 74px;
	border-color: #d9e4e2;
	background: linear-gradient(180deg, #f1f6f3 0%, #e9f0ef 100%);
}
.side-card--hot .side-card__deco {
	right: -40px; bottom: -4px;
	width: 292px; height: 198px;
	background-image: url(../img/deco-quick.webp);
	background-size: 292px 198px;
}
.hot-list { margin-top: 14px; list-style: none; }
.hot-list__item + .hot-list__item { border-top: 1px dashed rgba(120, 140, 130, .35); }
.hot-list__link {
	display: grid;
	grid-template-columns: 24px minmax(0, 1fr);
	align-items: start;
	gap: 12px;
	padding: 11px 0;
	color: var(--ink);
}
.hot-list__link:hover { color: #7b5d26; }
.hot-list__no {
	display: inline-flex; align-items: center; justify-content: center;
	width: 22px; height: 22px;
	margin-top: 2px;
	border: 1px solid #cdbf9e;
	border-radius: 4px;
	background: rgba(255, 255, 255, .7);
	color: #8a6a2c;
	font-size: 13px; line-height: 1;
	font-variant-numeric: lining-nums;
}
.hot-list__no.is-top { border-color: transparent; background: linear-gradient(180deg, #c49a4c, #a5782f); color: #fff; }
.hot-list__title {
	font-size: 15.5px; line-height: 1.6; letter-spacing: .02em;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}

/* 小工具区 */
.side-card--widget ul { list-style: none; margin-top: 14px; }
.side-card--widget li { padding: 6px 0; border-bottom: 1px solid var(--line-soft); }

/* 7. 文章页 --------------------------------------------------------------- */
.entry {
	position: relative;
	margin-top: 13px;
	padding: 40px 56px 46px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--card);
	box-shadow: var(--shadow);
}
.entry__inner { max-width: 760px; margin: 0 auto; }

.crumb ol { display: flex; flex-wrap: wrap; gap: 4px 0; list-style: none; font-size: 13.5px; color: var(--muted); }
.crumb li { display: flex; align-items: center; }
.crumb li + li::before { content: "/"; margin: 0 10px; color: #c4bba6; }
.crumb li[aria-current] { max-width: 28em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.crumb a:hover { color: var(--gold); }

.entry__head { margin-top: 26px; }
.entry__meta { font-size: 15px; letter-spacing: .05em; color: #6a6e71; }
.entry__title { margin-top: 12px; font-size: clamp(28px, 3vw, 40px); line-height: 1.35; letter-spacing: .02em; }
.entry__info { margin-top: 16px; font-size: 14px; letter-spacing: .04em; color: #8a8d90; }
.entry__info .sep { margin: 0 6px; }
.entry__rule { display: block; width: 74px; height: 1px; margin-top: 22px; background: var(--gold-2); }

.entry__cover { margin: 30px 0 0; }
.entry__cover img { width: 100%; border-radius: 4px; }
.entry__cover figcaption,
.entry__content figcaption,
.wp-caption-text { margin-top: 10px; text-align: center; font-size: 13.5px; color: var(--muted); }

.entry__content { margin-top: 34px; font-size: 17px; line-height: 1.95; color: #2f3a43; word-wrap: break-word; }
.entry__content > * + * { margin-top: 1.15em; }
.entry__content h2 {
	position: relative;
	margin-top: 2.2em;
	padding-left: 18px;
	font-size: 25px;
	line-height: 1.45;
	letter-spacing: .03em;
}
.entry__content h2::before {
	content: "";
	position: absolute; left: 0; top: .32em;
	width: 3px; height: 1.05em;
	border-radius: 2px;
	background: linear-gradient(180deg, #c49a4c, #a5782f);
}
.entry__content h3 { margin-top: 1.9em; font-size: 20px; letter-spacing: .03em; }
.entry__content h4 { margin-top: 1.6em; font-size: 17px; }
.entry__content a { color: #8a6526; text-decoration: underline; text-decoration-color: rgba(200, 166, 99, .6); text-underline-offset: 4px; }
.entry__content a:hover { color: #6e4f1a; text-decoration-color: currentColor; }
.entry__content ul, .entry__content ol { padding-left: 1.4em; }
.entry__content li + li { margin-top: .35em; }
.entry__content li::marker { color: var(--gold); }
.entry__content strong { color: var(--ink); }
.entry__content blockquote {
	margin-left: 0; margin-right: 0;
	padding: 16px 22px;
	border-left: 3px solid var(--gold-2);
	border-radius: 0 4px 4px 0;
	background: #f4efe2;
	color: #4b5359;
}
.entry__content blockquote p + p { margin-top: .6em; }
.entry__content figure { margin-left: 0; margin-right: 0; }
.entry__content img { border-radius: 4px; }
.entry__content hr { height: 1px; border: 0; background: var(--line); margin: 2.2em 0; }
.entry__content table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.6; }
.entry__content th, .entry__content td { padding: 10px 12px; border: 1px solid var(--line); text-align: left; vertical-align: top; }
.entry__content th { background: #efe8d6; color: var(--ink); font-weight: 600; }
.entry__content tr:nth-child(even) td { background: rgba(244, 239, 226, .45); }
.entry__content .wp-block-table { overflow-x: auto; }
.entry__content code { padding: 2px 6px; border-radius: 3px; background: #efe9db; font-size: .9em; }
.entry__content pre { overflow-x: auto; padding: 16px; border-radius: 4px; background: #efe9db; font-size: 14px; }
.entry__content .alignleft { float: left; margin: .4em 1.4em 1em 0; }
.entry__content .alignright { float: right; margin: .4em 0 1em 1.4em; }
.entry__content .aligncenter { margin-left: auto; margin-right: auto; }
.entry__todo { padding: 18px 20px; border: 1px dashed #d6c79f; border-radius: 4px; color: #8a6c2c; font-size: 15px; }

.entry__foot { margin-top: 44px; padding-top: 24px; border-top: 1px solid var(--line-soft); }
.entry__tags { display: flex; flex-wrap: wrap; gap: 8px 10px; list-style: none; margin-bottom: 22px; }
.entry__tags a { display: block; padding: 3px 14px; border-radius: 999px; background: #f1ead8; font-size: 14px; color: #6d5a33; }
.entry__tags a:hover { background: var(--gold-soft); color: var(--ink); }
.entry__note { margin-top: 22px; font-size: 13.5px; color: var(--muted); letter-spacing: .04em; }

.series-strip {
	display: grid;
	grid-template-columns: 76px minmax(0, 1fr) auto;
	align-items: center;
	gap: 16px;
	padding: 10px 20px 10px 12px;
	border: 1px solid #d4e2d5;
	border-radius: 8px;
	background: linear-gradient(162deg, #e3efe4, #edf3ea);
	color: var(--ink);
}
.series-strip:hover { color: var(--ink); border-color: #b9cfbd; }
.series-strip__icon { width: 76px; height: 63px; object-fit: contain; mix-blend-mode: multiply; }
.series-strip__eyebrow { display: block; font-size: 12.5px; letter-spacing: .2em; color: #5c6a62; }
.series-strip__name { display: block; margin-top: 2px; font-size: 19px; letter-spacing: .04em; }
.series-strip__en { margin-left: 4px; font-size: 15px; letter-spacing: .06em; color: #4d5a57; }
.series-strip__go { display: inline-flex; align-items: center; gap: 8px; font-size: 14.5px; color: var(--gold); white-space: nowrap; }

.btn-shop {
	display: inline-flex; align-items: center; gap: 10px;
	margin-top: 16px;
	padding: 10px 20px;
	border-radius: 999px;
	background: linear-gradient(180deg, #b58b3c, #9c742c);
	color: #fff;
	font-size: 15px;
	letter-spacing: .06em;
	box-shadow: 0 6px 16px -8px rgba(140, 100, 30, .6);
}
.btn-shop:hover { color: #fff; filter: brightness(1.06); }

.post-nav { margin-top: 18px; }
.post-nav .nav-links { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.post-nav a {
	display: block;
	height: 100%;
	padding: 16px 20px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--card);
}
.post-nav .nav-next { text-align: right; grid-column: 2; }
.post-nav__label { display: block; font-size: 13px; letter-spacing: .12em; color: var(--gold); }
.post-nav__title { display: block; margin-top: 4px; color: var(--ink); font-size: 16px; line-height: 1.5; }

.related { margin-top: 40px; }

.comments { margin-top: 36px; padding: 28px 32px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); }
.comments__title { font-size: 20px; margin-bottom: 14px; }
.comments__list { list-style: none; }
.comments__list li { padding: 14px 0; border-bottom: 1px solid var(--line-soft); }
.comment-form p { margin-top: 12px; }
.comment-form textarea { height: 150px; }
.comment-form textarea, .comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"] {
	width: 100%; padding: 10px 12px; border: 1px solid #d3c8ae; border-radius: 4px; background: #fff; font: inherit;
}
.comment-form .submit { padding: 10px 24px; border: 0; border-radius: 999px; background: var(--gold); color: #fff; cursor: pointer; }

/* 8. 系列页 / 图鉴 / 索引 / 关于 ------------------------------------------ */
.archive-head { margin-top: 13px; margin-bottom: 18px; padding: 4px 0 18px; border-bottom: 1px solid #dcd5c5; }
.archive-head__eyebrow { font-size: 13px; letter-spacing: .3em; color: var(--gold); }
.archive-head__title { margin-top: 6px; font-size: 30px; letter-spacing: .04em; }
.archive-head__desc { margin-top: 8px; color: var(--muted); font-size: 15px; }

.series-hero {
	position: relative;
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	gap: 26px;
	align-items: start;
	margin: 16px 0 28px;
	padding: 30px 34px 30px 26px;
	overflow: hidden;
	border: 1px solid #d4e2d5;
	border-radius: 8px;
	background: linear-gradient(162deg, #e1eee2 0%, #e9f1e7 55%, #eef3eb 100%);
}
.series-hero__art { position: absolute; right: -40px; top: -20px; width: 300px; color: #5d7a6f; opacity: .09; transform: rotate(-8deg); }
.series-hero__icon { position: relative; display: flex; align-items: center; justify-content: center; height: 124px; }
.series-hero__img { width: 150px; height: auto; mix-blend-mode: multiply; }
.series-hero__text { position: relative; }
.series-hero__eyebrow { font-size: 12.5px; letter-spacing: .26em; color: #5c6a62; }
.series-hero__title { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 16px; margin-top: 8px; }
.series-hero__cn { font-size: 38px; letter-spacing: .08em; }
.series-hero__en { font-size: 24px; font-weight: 400; letter-spacing: .08em; color: #3b4a46; }
.series-hero__type { margin-left: .1em; font-size: .64em; letter-spacing: .06em; color: #3b4a46; }
.series-hero__jp { margin-top: 4px; font-size: 15px; letter-spacing: .14em; color: #5b6a63; }
.series-hero__desc { margin-top: 16px; max-width: 560px; font-size: 16px; line-height: 1.85; color: #33403b; }
.series-hero__desc p + p { margin-top: .7em; }
.series-hero__desc--todo { font-size: 14px; color: #8a6c2c; }

.page-hero {
	position: relative;
	margin-bottom: 30px;
	padding: 40px 44px 38px;
	overflow: hidden;
	border: 1px solid #d4e2d5;
	border-radius: 8px;
	background: linear-gradient(162deg, #e1eee2 0%, #e9f1e7 55%, #eef3eb 100%);
}
.page-hero > *:not(.page-hero__deco) { position: relative; z-index: 1; }
.page-hero__deco {
	position: absolute; z-index: 0;
	right: 0; top: -6px;
	width: 236px; height: 430px;
	background: url(../img/deco-series.webp) no-repeat 0 0 / 236px 430px;
	pointer-events: none;
}
.page-hero--series { border-color: #d9e4e2; background: linear-gradient(180deg, #f1f6f3, #e7efee); }
.page-hero--series .page-hero__deco { top: auto; bottom: -4px; right: 0; width: 292px; height: 198px; background-image: url(../img/deco-quick.webp); background-size: 292px 198px; }
.page-hero__eyebrow { font-size: 12.5px; letter-spacing: .32em; color: #5c6a62; }
.page-hero__title { margin-top: 8px; font-size: 36px; letter-spacing: .1em; }
.page-hero__rule { display: block; width: 60px; height: 1px; margin: 18px 0 16px; background: var(--gold-2); }
.page-hero__lead { max-width: 640px; font-size: 16.5px; line-height: 1.85; color: #33403b; }
.page-hero__lead p + p { margin-top: .6em; }

.series-index { list-style: none; display: grid; gap: 14px; }
.series-index__item { border: 1px solid var(--line); border-radius: 8px; background: var(--card); box-shadow: var(--shadow); }
.series-index__head {
	display: grid;
	grid-template-columns: 42px 90px minmax(0, 1fr) auto 28px;
	align-items: center;
	gap: 16px;
	padding: 12px 24px 12px 18px;
	color: var(--ink);
}
.series-index__head:hover { color: var(--ink); }
.series-index__no { font-size: 15px; color: var(--gold); font-variant-numeric: lining-nums; }
.series-index__icon { width: 90px; height: auto; mix-blend-mode: multiply; }
.series-index__name { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 14px; }
.series-index__cn { font-size: 22px; letter-spacing: .06em; }
.series-index__en { font-size: 17px; letter-spacing: .06em; color: #3f4a52; }
.series-index__jp { font-size: 14px; letter-spacing: .12em; color: #6b7178; }
.series-index__count { font-size: 14px; color: var(--muted); }
.series-index__posts { list-style: none; margin: 0 24px 0 76px; padding: 4px 0 12px; border-top: 1px dashed #e1d8c3; }
.series-index__posts a { display: flex; gap: 18px; padding: 7px 0; font-size: 15px; color: #3d474f; }
.series-index__posts a:hover { color: var(--gold); }
.series-index__posts time { flex: none; color: #8a8d90; font-size: 13.5px; font-variant-numeric: lining-nums; }

.about-hero {
	position: relative;
	margin-top: 13px;
	padding: 40px 44px 34px;
	overflow: hidden;
	min-height: 300px;
	border: 1px solid #eedfb6;
	border-radius: 8px;
	background: linear-gradient(172deg, #f9efc8 0%, #f9f1d4 55%, #f8f3e1 100%);
}
.about-hero > *:not(.about-hero__deco) { position: relative; z-index: 1; }
.about-hero__deco {
	position: absolute; z-index: 0;
	right: 0; bottom: -6px;
	width: 380px; height: 323px;
	background: url(../img/deco-about.webp) no-repeat 0 0 / 380px 323px;
	pointer-events: none;
}
.about-hero__eyebrow { font-size: 12.5px; letter-spacing: .32em; color: #8a7748; }
.about-hero__title { margin-top: 8px; font-size: 36px; letter-spacing: .1em; }
.about-hero__rule { display: block; width: 60px; height: 1px; margin: 20px 0 18px; background: var(--gold-2); }
.about-hero__lead { max-width: 360px; font-size: 19px; line-height: 1.8; color: #27323b; }
.about-hero__note { display: inline-block; margin-top: 34px; padding-top: 12px; border-top: 1px solid rgba(160, 140, 90, .3); font-size: 14px; letter-spacing: .08em; color: #6e6c62; }
/* 关于我：不放侧栏，单栏居中（1.3.7） */
.about-main { position: relative; z-index: 1; max-width: 980px; margin: 0 auto; padding-top: 12px; padding-bottom: 64px; }
.entry--about { margin-top: 0; padding: 0; border: 0; background: none; box-shadow: none; }
.entry--about > .entry__inner { margin-top: 18px; max-width: none; padding: 34px 56px 40px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); box-shadow: var(--shadow); }
.entry--about .entry__content { margin-top: 0; max-width: 760px; }
.about-body > h2:first-child { margin-top: 0; }

/* 关于我 · 底部微信客服卡（1.3.6） */
.about-contact {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	gap: 26px;
	align-items: center;
	max-width: 760px;
	margin-top: 30px;
	padding: 24px 26px;
	border: 1px solid #eedfb6;
	border-radius: 8px;
	background: linear-gradient(172deg, #f9efc8 0%, #f9f1d4 55%, #f8f3e1 100%);
}
.about-contact__qr { display: block; padding: 8px; border: 1px solid #e6d7ae; border-radius: 6px; background: #fff; }
.about-contact__qr img { display: block; width: 100%; height: auto; }
.about-contact__title { font-size: 22px; letter-spacing: .08em; }
.about-contact__text { margin-top: 6px; font-size: 15px; line-height: 1.8; color: #545a5c; }
.about-contact .wx-copy { margin-top: 10px; }
.about-contact__shop { margin-top: 14px; height: 44px; padding: 0 18px; font-size: 15.5px; }
.about-contact__shop .rj-icon--arrow { margin-left: 2px; font-size: 20px; }
.about-disclaimer { max-width: 760px; margin-top: 18px; font-size: 13.5px; line-height: 1.8; color: var(--muted); }


/* 9. 空状态与翻页 --------------------------------------------------------- */
.empty {
	position: relative;
	padding: 60px 30px;
	overflow: hidden;
	border: 1px dashed #d8ccaf;
	border-radius: 8px;
	background: rgba(251, 249, 243, .7);
	text-align: center;
}
.empty__art { display: block; width: 180px; margin: 0 auto 16px; color: #8a7448; opacity: .3; }
.empty__code { font-size: 46px; letter-spacing: .2em; color: var(--gold-2); line-height: 1; }
.empty__title { margin-top: 10px; font-size: 20px; color: var(--ink); font-weight: 600; }
.empty__text { margin-top: 10px; color: var(--muted); font-size: 15px; }
.empty__text a { color: var(--gold); text-decoration: underline; text-underline-offset: 4px; }
.empty .search-form { max-width: 360px; margin: 20px auto 0; }
.empty--404 { margin-top: 13px; }

.pager { margin-top: 32px; }
.pager .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.pager .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 40px; height: 40px; padding: 0 14px;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: var(--card);
	font-size: 15px; color: #5e6266;
}
.pager .page-numbers.current { border-color: transparent; background: var(--gold-soft); color: var(--ink); font-weight: 600; }
.pager a.page-numbers:hover { border-color: var(--gold-2); color: var(--ink); }
.pager .dots { border: 0; background: none; }

/* 10. 页脚 ---------------------------------------------------------------- */
.site-footer {
	position: relative;
	z-index: 1;
	margin-top: 20px;
	padding-top: 60px;
	border-top: 1px solid var(--teal-line);
	background: linear-gradient(180deg, #eef2ec 0%, #f3f1e8 30%, #efebdf 100%);
	color: #4b545b;
}
.site-footer__wave {
	position: absolute; top: 0; right: 0;
	width: 560px; height: 96px;
	background: url(../img/deco-head-right.webp) no-repeat 0 0 / 100% 100%;
	transform: scaleY(-1);
	opacity: .55;
	pointer-events: none;
}
.site-footer__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr);
	gap: 40px;
	padding-bottom: 36px;
}
.footer-brand__link { display: inline-flex; align-items: center; gap: 16px; color: var(--ink); }
.footer-brand__link:hover { color: var(--ink); }
.footer-brand__mark { display: block; width: 52px; height: 52px; }
.footer-brand__mark svg, .footer-brand__img { display: block; width: 100%; height: 100%; object-fit: contain; }
.footer-brand__name { display: block; font-size: 24px; font-weight: 700; letter-spacing: .14em; line-height: 1.1; }
.footer-brand__en { display: block; margin-top: 6px; font-size: 10px; letter-spacing: .4em; color: #4b545b; }
.footer-brand__text { margin-top: 18px; max-width: 340px; font-size: 15px; line-height: 1.8; }
.footer-col__title { font-size: 16px; letter-spacing: .12em; color: var(--ink); margin-bottom: 12px; }
.footer-links { list-style: none; display: grid; gap: 6px; font-size: 15px; }
.footer-links a:hover { color: var(--gold); }
.footer-series__en { margin-left: 2px; font-size: 13.5px; letter-spacing: .04em; color: #7c8186; }
.site-footer__bottom { padding-top: 16px; padding-bottom: 26px; border-top: 1px solid rgba(160, 150, 120, .25); font-size: 13px; color: #7c8186; letter-spacing: .04em; }
.site-footer__bottom .sep { margin: 0 6px; }
.site-footer__bottom a:hover { color: var(--gold); }

/* 12. 首页顶部区 ---------------------------------------------------------- */
.hero {
	position: relative;
	z-index: 1;
	padding: 24px 0 24px;
	border-bottom: 1px solid #e2dbc9;
	background: linear-gradient(180deg, rgba(236, 243, 238, .92) 0%, rgba(243, 243, 235, .6) 60%, rgba(246, 243, 234, 0) 100%);
}
.hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) var(--side);
	gap: var(--gap);
	align-items: center;
}
.hero__main { min-width: 0; padding-left: 2px; }
.hero__main:only-child { max-width: 860px; }
.hero__eyebrow {
	display: inline-flex; align-items: center; gap: 12px;
	font-size: 12.5px; letter-spacing: .22em;
	color: #8a6a2c;
}
.hero__eyebrow::before { content: ""; width: 26px; height: 1px; background: var(--gold-2); }
.hero__title {
	margin-top: 10px;
	font-size: clamp(23px, 2.05vw, 30px);
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	color: var(--ink);
}
.hero__lead { margin-top: 10px; max-width: 700px; font-size: 15px; line-height: 1.85; color: #48525a; }
.hero__lead p + p { margin-top: .6em; }
.hero__rule { display: block; width: 56px; height: 1px; margin: 16px 0 16px; background: var(--gold-2); }

.hero-search {
	position: relative;
	display: flex; align-items: center;
	max-width: 760px;
	height: 50px;
	border: 1px solid #c8ba98;
	border-radius: 8px;
	background: rgba(255, 255, 255, .8);
	box-shadow: 0 12px 26px -20px rgba(90, 70, 30, .5);
	transition: border-color .2s, background .2s, box-shadow .2s;
}
.hero-search:focus-within { border-color: var(--gold); background: #fff; box-shadow: 0 0 0 3px rgba(200, 166, 99, .18); }
.hero-search__icon { position: absolute; left: 19px; top: 50%; display: flex; transform: translateY(-50%); font-size: 22px; color: #6b5530; pointer-events: none; }
.hero-search__input {
	flex: 1; min-width: 0;
	height: 100%;
	padding: 0 16px 0 54px;
	border: 0;
	background: transparent;
	color: var(--ink);
	font: inherit; font-size: 16.5px;
	-webkit-appearance: none; appearance: none;
}
.hero-search__input:focus { outline: none; }
.hero-search__input::placeholder { color: #8e908b; }
.hero-search__input::-webkit-search-cancel-button { -webkit-appearance: none; }
.hero-search__btn {
	flex: none;
	height: calc(100% - 12px);
	margin-right: 6px;
	padding: 0 30px;
	border: 0;
	border-radius: 6px;
	background: var(--ink);
	color: #fff;
	font-size: 15px; letter-spacing: .16em;
	cursor: pointer;
	transition: background .2s;
}
.hero-search__btn:hover { background: #2d4250; }

/* 首页右侧：去樱花日淘看在售。底色与右下角的鱼和水草沿用原「关于这本渔轮志」卡；
   鱼不被卡片裁切，鱼尾伸出卡片右边、水草伸出下边（向外延伸）。
   deco-shop.webp 是 deco-about.webp 把右边鱼尾、底边水草做了渐隐的版本，伸到卡外也没有硬边。
   向右伸多少跟着屏幕留白走：宽屏伸 96px，1440 左右只伸到留白里，不会被屏幕边切掉。 */
.hero-shop {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 318px;
	overflow: visible;
	padding: 20px 24px 20px;
	border: 1px solid #eedfb6;
	border-radius: 8px;
	background: linear-gradient(172deg, #f9efc8 0%, #f9f1d4 55%, #f8f3e1 100%);
	box-shadow: var(--shadow);
}
.hero-shop > *:not(.hero-shop__deco) { position: relative; z-index: 1; }
.hero-shop__deco {
	position: absolute; z-index: 0;
	right: clamp(-96px, calc((var(--wrap) - 100vw) / 2 - 4px), -12px);
	bottom: -46px;
	width: 318px; height: 270px;
	background: url(../img/deco-shop.webp) no-repeat 0 0 / 318px 270px;
	pointer-events: none;
}
.hero-shop__eyebrow { font-size: 12px; letter-spacing: .2em; color: #8a6a2c; }
.hero-shop__title { margin-top: 6px; font-size: 21px; letter-spacing: .06em; }
.hero-shop__text { margin-top: 6px; font-size: 14px; line-height: 1.75; color: #545a5c; }
.hero-shop__series { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 7px; margin-top: 10px; font-size: 12.5px; color: var(--muted); }
.hero-shop__series a {
	padding: 0 9px;
	border: 1px solid rgba(168, 129, 47, .45);
	border-radius: 999px;
	background: rgba(255, 255, 255, .55);
	color: #7b5d26;
	letter-spacing: .04em;
}
.hero-shop__series a:hover { border-color: var(--gold); background: #fff; color: #5f4718; }
.hero-shop__actions { display: grid; gap: 8px; width: 188px; margin-top: auto; padding-top: 14px; }
.hero-shop__actions .btn { width: 100%; height: 44px; padding: 0 14px; font-size: 15.5px; }
.hero-shop__actions .btn-gold .rj-icon--arrow { margin-left: 2px; font-size: 20px; }

/* 13. 微信客服：侧栏卡与弹窗 --------------------------------------------- */
.side-card--wechat { border-color: #e6dcc4; background: linear-gradient(180deg, #fbf9f2 0%, #f6f0e2 100%); }
.wx-card { display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 18px; align-items: center; margin-top: 18px; }
.wx-card--noqr { grid-template-columns: minmax(0, 1fr); }
.wx-card__qr { display: block; padding: 7px; border: 1px solid var(--line); border-radius: 8px; background: #fff; transition: border-color .2s, transform .2s; }
.wx-card__qr:hover { border-color: var(--gold-2); transform: translateY(-1px); }
.wx-card__qr img { width: 100%; height: auto; }
.wx-card__text { font-size: 14.5px; line-height: 1.75; color: #4a545c; text-wrap: pretty; }
.side-card__todo { margin-top: 12px; font-size: 13px; color: #8a6c2c; }

.wx-copy { margin-top: 12px; }
.wx-copy__label { display: block; font-size: 12px; letter-spacing: .16em; color: var(--muted); }
.wx-copy__id {
	display: block; width: 100%;
	margin-top: 2px; padding: 0;
	border: 0; background: transparent;
	color: var(--ink);
	font: inherit; font-size: 16.5px; letter-spacing: .04em;
}
.wx-copy__id:focus { outline: none; }
.wx-copy__btn {
	display: inline-flex; align-items: center; gap: 6px;
	height: 34px; margin-top: 8px; padding: 0 14px;
	border: 0; border-radius: 999px;
	background: var(--ink); color: #fff;
	font-family: inherit; font-size: 13.5px; letter-spacing: .06em;
	cursor: pointer;
	transition: background .2s;
}
.wx-copy__btn .rj-icon { font-size: 15px; }
.wx-copy__btn:hover { background: #2d4250; }
.wx-copy__btn.is-done { background: #4b7a5b; }

.wx-modal { position: fixed; inset: 0; z-index: 200; display: none; align-items: center; justify-content: center; padding: 20px; }
.wx-modal.is-open,
.wx-modal:target { display: flex; }
.wx-modal__backdrop { position: absolute; inset: 0; background: rgba(28, 42, 53, .55); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
.wx-modal__box {
	position: relative;
	width: min(440px, 100%);
	max-height: calc(100vh - 40px);
	overflow: auto;
	padding: 34px 32px 26px;
	border-radius: 12px;
	background-color: var(--paper-hi);
	background-image: var(--noise);
	text-align: center;
	box-shadow: 0 30px 60px -24px rgba(0, 0, 0, .45);
}
.wx-modal__box:focus { outline: none; }
.wx-modal__close {
	position: absolute; top: 14px; right: 14px;
	display: flex; align-items: center; justify-content: center;
	width: 32px; height: 32px;
	border: 1px solid var(--line); border-radius: 50%;
	background: #fff; color: var(--text);
	font-size: 16px;
}
.wx-modal__eyebrow { display: inline-block; padding: 3px 10px; border: 1px solid rgba(168, 129, 47, .4); border-radius: 3px; background: #fbf4e2; font-size: 11px; letter-spacing: .2em; color: #8a6a2c; }
.wx-modal__title { margin-top: 12px; font-size: 24px; letter-spacing: .08em; }
.wx-modal__sub { margin-top: 8px; font-size: 14px; line-height: 1.7; color: #5b6268; }
.wx-modal__qr { width: 208px; margin: 20px auto 0; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.wx-modal__qr img { width: 100%; height: auto; }
.wx-copy--modal {
	display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px;
	margin-top: 20px; padding: 12px 14px 12px 18px;
	border: 1px solid #e6dcc3; border-radius: 8px;
	background: #f4eedf;
	text-align: left;
}
.wx-copy--modal .wx-copy__btn { margin-top: 0; }
.wx-copy--modal .wx-copy__label,
.wx-copy--modal .wx-copy__id { grid-column: 1; }
.wx-copy--modal .wx-copy__btn { grid-column: 2; grid-row: 1 / span 2; }
.wx-modal__note { margin-top: 14px; font-size: 13px; line-height: 1.7; color: var(--muted); }
body.wx-open { overflow: hidden; }

.footer-brand__wx { margin-top: 18px; }

/* 14. 渔轮类别页 ---------------------------------------------------------- */
.types-jump { display: flex; flex-wrap: wrap; gap: 8px 10px; margin-top: 18px; }
.types-jump a {
	padding: 4px 16px;
	border: 1px solid rgba(96, 128, 108, .35);
	border-radius: 999px;
	background: rgba(255, 255, 255, .6);
	font-size: 14.5px; letter-spacing: .06em;
	color: #33433d;
}
.types-jump a:hover { border-color: var(--gold-2); background: #fff; color: var(--ink); }

.types-compare { margin-top: 6px; }
.types-compare__title,
.rtype__block h3 { color: var(--ink); }
.types-compare__title {
	display: flex; align-items: center; gap: 16px;
	position: relative;
	padding-left: 20px;
	font-size: 22px; letter-spacing: .08em;
}
.types-compare__title::before {
	content: ""; position: absolute; left: 0; top: 50%;
	width: 3px; height: 22px; border-radius: 2px;
	background: linear-gradient(180deg, #c49a4c, #a5782f);
	transform: translateY(-50%);
}
.types-compare__title i { display: block; flex: 1; height: 1px; background: #dcd5c5; }
.types-compare__scroll { margin-top: 16px; overflow-x: auto; border: 1px solid var(--line); border-radius: 8px; background: var(--card); box-shadow: var(--shadow); }
.types-compare table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: 15px; }
.types-compare th, .types-compare td { padding: 12px 18px; border-bottom: 1px solid var(--line-soft); text-align: left; vertical-align: top; }
.types-compare tr:last-child th, .types-compare tr:last-child td { border-bottom: 0; }
.types-compare thead th { background: #efe8d6; font-size: 16px; letter-spacing: .06em; color: var(--ink); }
.types-compare thead th a:hover { color: var(--gold); }
.types-compare tbody th { width: 150px; font-weight: 600; color: #5c5a4e; white-space: nowrap; }
.types-compare tbody td { color: #36424a; }

.rtype {
	position: relative;
	margin-top: 28px;
	padding: 30px 34px 26px;
	overflow: hidden;
	border: 1px solid var(--line);
	border-radius: 10px;
	background: var(--card);
	box-shadow: var(--shadow);
	scroll-margin-top: 92px;
}
.rtype > *:not(.rtype__art) { position: relative; z-index: 1; }
.rtype__art { position: absolute; z-index: 0; right: -30px; top: -26px; width: 300px; color: #8a7448; opacity: .08; transform: rotate(-8deg); pointer-events: none; }
.rtype__head { display: flex; align-items: center; gap: 18px; }
.rtype__no { font-size: 34px; line-height: 1; color: var(--gold-2); font-variant-numeric: lining-nums; }
.rtype__en { font-size: 12.5px; letter-spacing: .22em; color: #7a6a48; }
.rtype__title { margin-top: 4px; font-size: 28px; letter-spacing: .08em; }
.rtype__lead { margin-top: 16px; max-width: 860px; font-size: 16px; line-height: 1.9; color: #34404a; }
.rtype__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 22px; }
.rtype__block { padding: 16px 18px 14px; border: 1px solid var(--line-soft); border-radius: 8px; background: rgba(255, 255, 255, .55); }
.rtype__block--used { border-color: #ead9ae; background: #fbf3dc; }
.rtype__block h3 { display: flex; align-items: center; gap: 10px; font-size: 16.5px; letter-spacing: .08em; }
.rtype__block h3::before { content: ""; width: 3px; height: 15px; border-radius: 2px; background: var(--gold-2); }
.rtype__block ul { margin-top: 10px; padding-left: 1.15em; font-size: 14.5px; line-height: 1.8; color: #3f4a52; }
.rtype__block li + li { margin-top: 6px; }
.rtype__block li::marker { color: var(--gold); }
.rtype__note { margin-top: 14px; font-size: 14px; color: #6e6c62; }
.rtype__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 20px; margin-top: 20px; padding-top: 18px; border-top: 1px dashed #e1d8c3; }
.rtype__series { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; font-size: 14px; }
.rtype__series-label { color: var(--muted); letter-spacing: .04em; }
.rtype__series a { padding: 2px 12px; border: 1px solid rgba(96, 128, 108, .35); border-radius: 999px; background: #eef4ee; color: #33433d; }
.rtype__series a:hover { border-color: var(--gold-2); background: #fff; color: var(--ink); }
.rtype__shop { flex: none; }

/* 11. 响应式 -------------------------------------------------------------- */
/* 屏幕两侧留白变窄时，在售卡的鱼跟着缩小，鱼嘴不压到按钮、背鳍不压到系列标签 */
@media (max-width: 1599px) {
	.hero-shop__deco { bottom: -48px; width: 280px; height: 238px; background-size: 280px 238px; }
}

@media (max-width: 1420px) {
	.page-deco { display: none; }
}

@media (max-width: 1280px) {
	:root { --side: 360px; }
	.site-nav .menu { gap: 32px; }
	.site-nav { padding-left: 28px; }
	.side-card--series .side-card__deco { right: -60px; }
	.hero-shop__deco { bottom: -50px; width: 236px; height: 200px; background-size: 236px 200px; }
}

@media (max-width: 1180px) {
	.card--feature { grid-template-columns: minmax(0, 55%) minmax(0, 1fr); }
	.card--feature .card__body { padding: 20px 22px 16px 28px; }
	.card--feature .card__num i { width: 120px; }
}

@media (max-width: 1100px) {
	.layout { grid-template-columns: minmax(0, 1fr); }
	.layout__side { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-top: 4px; align-items: start; }
	.side-card--series { grid-row: span 2; }
	.side-card--series .side-card__deco { right: -14px; top: -8px; width: 200px; height: 104px; background-size: 200px 364px; background-position: 0 0; }
	.side-card--series { overflow: hidden; }
	.hero__inner { grid-template-columns: minmax(0, 1fr); }
	.hero-shop { min-height: 0; }
	.hero-shop__deco { right: -14px; bottom: -36px; width: 280px; height: 238px; background-size: 280px 238px; }
	.hero-shop__actions { grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(440px, 62%); }
}

@media (max-width: 1024px) {
	.site-header { height: 64px; }
	.site-header__deco--right { width: 350px; height: 60px; }
	.site-header__deco--left { width: 92px; height: 60px; }
	.brand { gap: 12px; }
	.brand__mark { width: 44px; height: 44px; }
	.brand__name { font-size: 24px; }
	.brand__en { margin-top: 6px; font-size: 8.5px; letter-spacing: .32em; }
	html { scroll-padding-top: 80px; }
	.nav-toggle { display: inline-flex; position: relative; z-index: 2; }
	.site-panel {
		position: absolute;
		left: 0; right: 0; top: 100%;
		display: none;
		flex-direction: column;
		align-items: stretch;
		gap: 14px;
		padding: 14px 16px 18px;
		border-bottom: 1px solid var(--teal-line);
		background: #f7f5ee;
		box-shadow: 0 18px 30px -20px rgba(40, 50, 50, .35);
	}
	.nav-open .site-panel { display: flex; }
	html:not(.js) .site-panel { position: static; display: flex; }
	.site-nav { margin: 0; padding: 0; }
	.site-nav .menu { flex-direction: column; gap: 0; }
	.site-nav .menu li + li { border-top: 1px solid var(--line-soft); }
	.site-nav .menu a { padding: 12px 4px; font-size: 17px; }
	.site-nav .menu a::after { left: 4px; right: auto; bottom: 8px; width: 28px; }
	.site-search--panel { display: block; width: 100%; }
}

@media (max-width: 900px) {
	.card--feature { grid-template-columns: minmax(0, 1fr); }
	.card--feature .card__media { min-height: 0; aspect-ratio: 16 / 10; }
	.card--feature .card__body { padding: 22px 16px 14px; }
	.card__art { width: 180px; right: -30px; }
	.card--feature .card__rule { margin-top: 24px; }
	.feed-grid--small { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.entry { padding: 30px 28px 34px; }
	.site-footer__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
	.layout__side { grid-template-columns: minmax(0, 1fr); }
	.side-card--series { grid-row: auto; }
	.feed-grid--medium { grid-template-columns: minmax(0, 1fr); }
	.feed-head { flex-wrap: wrap; gap: 10px 18px; padding-top: 8px; padding-bottom: 10px; }
	.feed-tabs { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
	.feed-tabs::-webkit-scrollbar { display: none; }
	.feed-tabs ul { flex-wrap: nowrap; }
	.feed-tabs__item { padding: 4px 16px; white-space: nowrap; }
	.card--medium .card__title { font-size: 23px; }
	.series-hero { grid-template-columns: minmax(0, 1fr); padding: 22px 20px; }
	.series-hero__icon { justify-content: flex-start; height: auto; }
	.series-hero__img { width: 120px; }
	.series-hero__cn { font-size: 30px; }
	.series-hero__en { font-size: 19px; }
	.series-strip { grid-template-columns: 64px minmax(0, 1fr); }
	.series-strip__icon { width: 64px; height: 53px; }
	.series-strip__go { grid-column: 1 / -1; }
	.series-index__head { grid-template-columns: 70px minmax(0, 1fr) 28px; padding: 12px 16px; }
	.series-index__no, .series-index__count { display: none; }
	.series-index__icon { width: 70px; }
	.series-index__posts { margin: 0 16px; }
	.page-hero, .about-hero { padding: 28px 22px; }
	.page-hero__deco { opacity: .5; }
	.about-hero__deco { width: 260px; height: 221px; background-size: 260px 221px; opacity: .6; }
	.entry--about > .entry__inner { padding: 26px 22px; }
	.post-nav .nav-links { grid-template-columns: minmax(0, 1fr); }
	.post-nav .nav-next { grid-column: auto; }
	.hero { padding: 20px 0 20px; }
	.hero__lead { font-size: 14.5px; line-height: 1.85; }
	.hero__rule { margin: 14px 0 14px; }
	.hero-search { height: 48px; }
	.hero-search__btn { padding: 0 18px; letter-spacing: .08em; }
	.hero-search__input { padding-left: 48px; font-size: 15.5px; }
	.hero-search__icon { left: 16px; font-size: 20px; }
	.rtype { padding: 22px 18px 20px; }
	.rtype__grid { grid-template-columns: minmax(0, 1fr); }
	.rtype__title { font-size: 24px; }
	.rtype__shop { width: 100%; white-space: normal; height: auto; min-height: 44px; padding: 10px 16px; }
	.hero-shop { min-height: 300px; padding: 18px 18px 18px; }
	.hero-shop__deco { right: -14px; bottom: -30px; width: 212px; height: 180px; background-size: 212px 180px; }
	.hero-shop__actions { grid-template-columns: minmax(0, 1fr); width: 176px; }
}

@media (max-width: 600px) {
	body { font-size: 15px; }
	.site-header { height: 58px; }
	.types-compare table { min-width: 0; font-size: 13.5px; }
	.types-compare th, .types-compare td { padding: 10px 8px; }
	.types-compare tbody th { width: auto; white-space: normal; }
	.rtype__en { letter-spacing: .1em; }
	.site-header__deco--right { width: 300px; height: 52px; opacity: .75; }
	.site-header__deco--left { display: none; }
	.brand__mark { width: 40px; height: 40px; }
	.brand__name { font-size: 22px; letter-spacing: .1em; }
	.brand__en { font-size: 8.5px; letter-spacing: .3em; margin-top: 5px; }
	.nav-toggle { width: 40px; height: 40px; }
	.brand__en { display: none; }
	.hero__eyebrow { font-size: 12px; letter-spacing: .14em; }
	.wx-card { grid-template-columns: 110px minmax(0, 1fr); gap: 14px; }
	.wx-modal__box { padding: 30px 20px 22px; }
	.feed-grid--small { grid-template-columns: minmax(0, 1fr); }
	.card--feature .card__title { font-size: 26px; }
	.card--feature .card__excerpt { font-size: 16px; }
	.card__watermark { font-size: 32px; }
	.entry { padding: 22px 16px 28px; }
	.entry__content { font-size: 16.5px; line-height: 1.9; }
	.entry__content h2 { font-size: 22px; }
	.side-card { padding: 22px 20px 20px; }
	.side-card__title { font-size: 24px; }
	.site-footer__inner { grid-template-columns: minmax(0, 1fr); gap: 26px; }
	.site-footer__wave { width: 330px; height: 57px; }
}

/* 关于我 · 微信客服卡：窄屏改成上下排，二维码在上，微信号和按钮占满一行 */
@media (max-width: 640px) {
	.about-contact { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 20px 18px; }
	.about-contact__qr { width: 150px; }
	.about-contact__title { font-size: 20px; }
	.about-contact__shop { display: flex; width: 100%; justify-content: center; }
}

/* 站名 10 个字（日本禧玛诺渔轮资讯站）：窄屏手机缩小，菜单按钮不被挤出屏幕 */
@media (max-width: 420px) {
	.brand { gap: 10px; }
	.brand__mark { width: 36px; height: 36px; }
	.brand__name { font-size: 18px; letter-spacing: .04em; }
}
@media (max-width: 350px) {
	.brand__name { font-size: 16px; letter-spacing: .02em; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; }
}

@media print {
	.site-header, .layout__side, .site-footer, .post-nav, .related, .page-deco { display: none !important; }
	.layout { display: block; }
	.entry { border: 0; box-shadow: none; padding: 0; }
}

/* 1.3.10 联系页的 Contact Form 7 表单（CF7 的样式只在联系页加载） */
.wpcf7 { margin-top: 24px; max-width: 640px; }
.wpcf7 form p { margin: 0 0 16px; }
.wpcf7 label { display: block; color: var(--ink); font-size: 15px; line-height: 1.6; }
.wpcf7 .wpcf7-form-control-wrap { display: block; margin-top: 6px; }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 textarea {
	width: 100%; padding: 10px 12px; border: 1px solid #d3c8ae; border-radius: 4px; background: #fff; color: var(--ink); font: inherit; font-size: 15px;
}
.wpcf7 textarea { min-height: 170px; resize: vertical; }
.wpcf7 input[type="text"]:focus, .wpcf7 input[type="email"]:focus, .wpcf7 textarea:focus { outline: 2px solid var(--gold-2); outline-offset: 1px; border-color: var(--gold); }
.wpcf7 .wpcf7-quiz-label { display: block; margin-top: 4px; color: var(--text); font-size: 14px; }
.wpcf7 input[type="submit"] { padding: 10px 28px; border: 0; border-radius: 999px; background: var(--gold); color: #fff; font: inherit; font-size: 15px; cursor: pointer; }
.wpcf7 input[type="submit"]:hover, .wpcf7 input[type="submit"]:focus-visible { background: var(--brown); }
.wpcf7 .wpcf7-not-valid-tip { display: block; margin-top: 4px; color: #b4442c; font-size: 14px; }
.wpcf7 form .wpcf7-response-output { margin: 8px 0 0; padding: 10px 14px; border: 1px solid var(--line); border-radius: 4px; background: var(--card); font-size: 15px; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.spam .wpcf7-response-output { border-color: #d08a74; }
.wpcf7 form.sent .wpcf7-response-output { border-color: var(--gold-2); }

/* ---------- 底部固定转化栏（1.3.14，手机/平板） ---------- */
.mobile-bottom-bar {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background: rgba(255, 255, 255, 0.96);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	border-top: 1px solid var(--line);
	padding: 10px 16px;
	display: flex;
	gap: 10px;
	z-index: 990;
	box-shadow: 0 -4px 16px rgba(90, 70, 30, 0.08);
}
.mobile-bottom-bar .btn {
	flex: 1;
	height: 46px;
	font-size: 15px;
}
@media (min-width: 992px) {
	.mobile-bottom-bar { display: none; }
}
/* 给页面底部留出按钮栏高度，页脚/最后一段不被挡住 */
@media (max-width: 991.98px) {
	body { padding-bottom: 84px; }
}
