/*
 Theme Name:   ListingHive Child - 在安生活网
 Template:     listinghive
 Description:  在安生活网定制子主题：品牌视觉、首页英雄区、分类图标、商家卡片、详情页联系面板、手机端适配。
 Version:      2.0.0
 License:      GPL v2 or later
*/

/* ===== 品牌变量 ===== */
:root {
	--zaimo-accent: #b8722a;        /* 暖砖橘（品牌色） */

/* 仅供屏幕阅读器 / SEO 的语义标题：视觉上不占用布局空间。 */
.zaimo-sr-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

	--zaimo-accent-dark: #96591d;
	--zaimo-green: #25d366;         /* WhatsApp 绿 */
	--zaimo-green-dark: #1da851;
	--zaimo-ink: #2b2320;           /* 主文字 */
	--zaimo-ink-soft: #6f6259;      /* 次级文字 */
	--zaimo-bg: #faf7f2;            /* 米白背景 */
	--zaimo-card: #ffffff;
	--zaimo-line: #ece4da;
	--zaimo-radius: 14px;
	--zaimo-shadow: 0 2px 10px rgba(43, 35, 32, 0.07);
	--zaimo-shadow-lg: 0 10px 28px rgba(43, 35, 32, 0.12);
}

/* ===== 全局基调 ===== */
body {
	color: var(--zaimo-ink);
	background: #fff;
	font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB",
		"Microsoft YaHei", "Segoe UI", sans-serif;
}

.site-header {
	background: #fff;
	border-bottom: 1px solid var(--zaimo-line);
}

.header-logo__name {
	font-weight: 800;
	letter-spacing: 0.02em;
	color: var(--zaimo-ink);
}

.header-logo__description {
	color: var(--zaimo-ink-soft);
}

/* 顶部当前菜单项指示条悬在页面最上沿、观感突兀，且自定义链接会误判 current，直接去掉 */
.site-header .header-navbar .menu > li.current-menu-item::before,
.site-header .header-navbar .menu > li.current_page_item::before {
	display: none !important;
}

h1, h2, h3, h4 {
	color: var(--zaimo-ink);
}

/* ===== 首页英雄区（品牌区 + 搜索） ===== */
.zaimo-hero {
	/* 通栏铺满视口（父级容器有最大宽度限制，用负边距突破） */
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	background: linear-gradient(180deg, #fdf9f3 0%, #faf3e9 55%, #fff 100%);
	border-bottom: 1px solid var(--zaimo-line);
	padding: 34px 20px 30px;
	text-align: center;
}

.zaimo-hero__brand {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 18px;
	padding: 6px 16px 6px 6px;
	background: #fff;
	border: 1px solid var(--zaimo-line);
	border-radius: 999px;
	box-shadow: var(--zaimo-shadow);
}

.zaimo-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: linear-gradient(135deg, var(--zaimo-accent), #d99a4e);
	color: #fff;
	font-weight: 800;
	font-size: 19px;
}

.zaimo-hero__brandname {
	font-weight: 800;
	font-size: 17px;
	color: var(--zaimo-ink);
	white-space: nowrap;
}

.zaimo-hero__tag {
	font-size: 13px;
	color: var(--zaimo-ink-soft);
	white-space: nowrap;
}

.zaimo-hero__title {
	font-size: 34px;
	line-height: 1.25;
	font-weight: 900;
	margin: 0 0 10px;
	letter-spacing: 0.01em;
}

.zaimo-hero__subtitle {
	font-size: 16px;
	color: var(--zaimo-ink-soft);
	margin: 0 0 24px;
}

/* 英雄区搜索框（覆盖 HivePress 表单样式） */
.zaimo-hero__search .hp-form--listing-search {
	max-width: 640px;
	margin: 0 auto;
	background: #fff;
	border: 2px solid var(--zaimo-accent);
	border-radius: 999px;
	box-shadow: var(--zaimo-shadow-lg);
	padding: 6px 6px 6px 20px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.zaimo-hero__search .hp-form__fields {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 8px;
}

.zaimo-hero__search .hp-form__field,
.zaimo-hero__search .hp-form__field--search {
	flex: 1;
	margin: 0;
}

.zaimo-hero__search .hp-field--search {
	border: none !important;
	box-shadow: none !important;
	height: 44px;
	font-size: 15px;
	background: transparent;
}

.zaimo-hero__search .hp-field--search:focus {
	outline: none;
}

/* 隐藏位置搜索（演示期未开放地图功能） */
.hp-form--listing-search .hp-form__field--location {
	display: none !important;
}

/* 分类下拉改为中文紧凑样式 */
.zaimo-hero__search .hp-field--select,
.zaimo-hero__search select.hp-field {
	border: none;
	box-shadow: none;
	background: transparent;
	max-width: 130px;
	height: 44px;
	font-size: 14px;
	color: var(--zaimo-ink-soft);
}

.zaimo-hero__search button.hp-button,
.zaimo-hero__search .hp-button--primary {
	background: var(--zaimo-accent);
	border-radius: 999px;
	height: 44px;
	padding: 0 26px;
	font-size: 15px;
	font-weight: 700;
	white-space: nowrap;
}

.zaimo-hero__search button.hp-button:hover,
.zaimo-hero__search .hp-button--primary:hover {
	background: var(--zaimo-accent-dark);
}

/* ===== 广告位（预留，不开发收费系统） ===== */
.zaimo-ad-slot {
	max-width: 960px;
	margin: 22px auto 0;
	padding: 14px 18px;
	border: 1.5px dashed #d9c9b2;
	border-radius: 12px;
	color: #a08a6f;
	font-size: 13px;
	letter-spacing: 0.06em;
	background: rgba(255, 255, 255, 0.6);
}

/* ===== 六大分类（SVG 图标 + 文字，紧凑网格） ===== */
.zaimo-cat-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 12px;
	margin: 26px 0 8px;
}

.zaimo-cat-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 16px 8px 13px;
	background: var(--zaimo-card);
	border: 1px solid var(--zaimo-line);
	border-radius: var(--zaimo-radius);
	box-shadow: var(--zaimo-shadow);
	text-decoration: none;
	transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.zaimo-cat-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--zaimo-shadow-lg);
	border-color: #e4cba6;
}

.zaimo-cat-card .ico {
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: linear-gradient(135deg, #fdf3e6, #f9e8d2);
	color: var(--zaimo-accent);
}

.zaimo-cat-card .ico svg {
	width: 24px;
	height: 24px;
	stroke: currentColor;
	fill: none;
	stroke-width: 1.9;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.zaimo-cat-card .name {
	font-size: 16px;
	font-weight: 800;
	color: var(--zaimo-ink);
}

.zaimo-cat-card .sub {
	font-size: 11.5px;
	color: var(--zaimo-ink-soft);
	text-align: center;
	line-height: 1.4;
}

/* ===== 通用区块标题 ===== */
.single-wp-page .hp-page__content > h2,
.hp-page h2 {
	position: relative;
	padding-left: 14px;
	font-size: 22px;
	font-weight: 800;
	margin: 38px 0 16px;
}

.hp-page h2::before {
	content: "";
	position: absolute;
	left: 0;
	top: 6px;
	bottom: 6px;
	width: 5px;
	border-radius: 3px;
	background: linear-gradient(180deg, var(--zaimo-accent), #d99a4e);
}

/* ===== 商家卡片 ===== */
.hp-listing--view-block {
	background: var(--zaimo-card);
	border: 1px solid var(--zaimo-line);
	border-radius: var(--zaimo-radius);
	box-shadow: var(--zaimo-shadow);
	overflow: hidden;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.hp-listing--view-block:hover {
	transform: translateY(-3px);
	box-shadow: var(--zaimo-shadow-lg);
}

.hp-listing--view-block .hp-listing__header {
	border-radius: var(--zaimo-radius) var(--zaimo-radius) 0 0;
	overflow: hidden;
}

.hp-listing--view-block .hp-listing__image img {
	object-fit: cover;
	width: 100%;
}

/* 演示图片角标（不修改图片本体，一律明确标注） */
.hp-listing__image,
.hp-listing__images {
	position: relative;
}

.hp-listing__image::after,
.hp-listing__images::after {
	content: "演示图片";
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 2;
	padding: 3px 9px;
	border-radius: 6px;
	background: rgba(43, 35, 32, 0.62);
	color: #fff;
	font-size: 11px;
	letter-spacing: 0.08em;
	pointer-events: none;
}

.hp-listing--view-block .hp-listing__content {
	padding: 12px 14px 6px;
}

.hp-listing--view-block .hp-listing__title {
	margin: 0 0 6px;
}

.hp-listing--view-block .hp-listing__title a {
	color: var(--zaimo-ink);
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
}

.hp-listing--view-block .hp-listing__categories a {
	background: #f6ecdd;
	color: var(--zaimo-accent-dark);
	border-radius: 6px;
	padding: 2px 8px;
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
}

.hp-listing--view-block .hp-listing__created-date {
	color: #b3a89e;
	font-size: 12px;
}

/* 卡片简短介绍（view_block_ternary 区渲染的 short_intro 属性） */
.hp-listing--view-block .hp-listing__attribute--short-intro {
	font-size: 13px;
	color: var(--zaimo-ink-soft);
	line-height: 1.55;
	margin: 6px 0 0;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.hp-listing--view-block .hp-listing__footer {
	padding: 0 14px 14px;
}

/* ===== 商家免费入驻宣传区 ===== */
.zaimo-join {
	margin: 40px 0 10px;
	padding: 30px 24px;
	border-radius: var(--zaimo-radius);
	background: linear-gradient(135deg, #3d2f26 0%, #5a4230 60%, #7a5636 100%);
	color: #fff;
	text-align: center;
}

.zaimo-join__title {
	font-size: 22px;
	font-weight: 800;
	color: #fff;
	margin: 0 0 8px;
}

.zaimo-join__text {
	font-size: 14.5px;
	line-height: 1.8;
	color: rgba(255, 255, 255, 0.85);
	max-width: 620px;
	margin: 0 auto 18px;
}

.zaimo-join__btn {
	display: inline-block;
	padding: 12px 34px;
	border-radius: 999px;
	background: var(--zaimo-accent);
	color: #fff;
	font-weight: 700;
	font-size: 15px;
	text-decoration: none;
	box-shadow: 0 6px 16px rgba(184, 114, 42, 0.4);
	transition: background 0.15s ease, transform 0.15s ease;
}

.zaimo-join__btn:hover {
	background: var(--zaimo-accent-dark);
	transform: translateY(-1px);
	color: #fff;
}

.zaimo-join__note {
	display: block;
	margin-top: 12px;
	font-size: 12px;
	color: rgba(255, 255, 255, 0.55);
}

/* ===== 商家详情页 ===== */
.hp-listing--view-page .hp-listing__images,
.hp-listing--view-page .hp-listing__image {
	border-radius: var(--zaimo-radius);
	overflow: hidden;
	box-shadow: var(--zaimo-shadow);
}

.hp-listing--view-page .hp-listing__title {
	font-size: 26px;
	font-weight: 800;
	margin: 14px 0 4px;
}

.hp-listing--view-page .hp-listing__description {
	color: var(--zaimo-ink-soft);
	line-height: 1.8;
}

/* 侧栏信息面板（属性区块） */
.hp-listing__attributes--primary {
	background: var(--zaimo-card);
	border: 1px solid var(--zaimo-line);
	border-radius: var(--zaimo-radius);
	box-shadow: var(--zaimo-shadow);
	padding: 18px;
	margin-bottom: 16px;
}

.hp-listing__attribute {
	padding: 9px 0;
	border-bottom: 1px dashed var(--zaimo-line);
	font-size: 14.5px;
	line-height: 1.7;
	color: var(--zaimo-ink);
}

.hp-listing__attribute:last-child {
	border-bottom: none;
}

.zaimo-attr-label {
	display: block;
	font-size: 12.5px;
	color: var(--zaimo-ink-soft);
	margin-bottom: 2px;
}

/* WhatsApp 醒目按钮 */
.zaimo-wa-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	margin-top: 8px;
	padding: 13px 18px;
	border-radius: 12px;
	background: var(--zaimo-green);
	color: #fff;
	font-weight: 800;
	font-size: 15.5px;
	text-decoration: none;
	box-shadow: 0 6px 16px rgba(37, 211, 102, 0.35);
	transition: background 0.15s ease, transform 0.15s ease;
}

.zaimo-wa-btn:hover {
	background: var(--zaimo-green-dark);
	color: #fff;
	transform: translateY(-1px);
}

.zaimo-wa-btn__icon {
	width: 19px;
	height: 19px;
	background: #fff;
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5.1-1.3A10 10 0 1 0 12 2zm5.4 14.2c-.2.6-1.2 1.2-1.7 1.2-.4.1-1 .1-1.6-.1-.4-.1-.9-.3-1.5-.6-2.6-1.1-4.3-3.8-4.4-4-.1-.2-1.1-1.4-1.1-2.7 0-1.3.7-1.9.9-2.2.2-.3.5-.3.7-.3h.5c.2 0 .4 0 .6.4.2.5.7 1.8.8 1.9.1.1.1.3 0 .5-.1.2-.1.3-.3.5l-.4.5c-.1.1-.3.3-.1.6.2.3.8 1.3 1.7 2.1 1.2 1.1 2.2 1.4 2.5 1.5.3.1.5.1.7-.1.2-.2.7-.8.9-1.1.2-.3.4-.2.6-.1.2.1 1.5.7 1.8.8.3.2.5.2.5.4.1.1.1.6-.1 1.2z'/></svg>") center / contain no-repeat;
	mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5.1-1.3A10 10 0 1 0 12 2zm5.4 14.2c-.2.6-1.2 1.2-1.7 1.2-.4.1-1 .1-1.6-.1-.4-.1-.9-.3-1.5-.6-2.6-1.1-4.3-3.8-4.4-4-.1-.2-1.1-1.4-1.1-2.7 0-1.3.7-1.9.9-2.2.2-.3.5-.3.7-.3h.5c.2 0 .4 0 .6.4.2.5.7 1.8.8 1.9.1.1.1.3 0 .5-.1.2-.1.3-.3.5l-.4.5c-.1.1-.3.3-.1.6.2.3.8 1.3 1.7 2.1 1.2 1.1 2.2 1.4 2.5 1.5.3.1.5.1.7-.1.2-.2.7-.8.9-1.1.2-.3.4-.2.6-.1.2.1 1.5.7 1.8.8.3.2.5.2.5.4.1.1.1.6-.1 1.2z'/></svg>") center / contain no-repeat;
}

/* 玺掌柜下单按钮（V1.1：居中胶囊，260×46，随容器宽度自适应收缩） */
.zaimo-order-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 260px;
	max-width: 100%;
	min-height: 46px;
	padding: 0 18px;
	margin: 0 auto;
	border-radius: 23px;
	background: linear-gradient(135deg, var(--zaimo-accent), #d99a4e);
	color: #fff;
	font-weight: 600;
	font-size: 14.5px;
	line-height: 1;
	white-space: nowrap;
	text-decoration: none;
	box-shadow: 0 4px 12px rgba(184, 114, 42, 0.3);
	transition: filter 0.15s ease, transform 0.15s ease;
}

.zaimo-order-btn__icon {
	flex-shrink: 0;
}

.zaimo-order-btn:hover {
	filter: brightness(0.95);
	color: #fff;
	transform: translateY(-1px);
}

/* ===== 隐藏未开放功能（不删数据，仅前端隐藏） ===== */
/* 评价 / 举报操作区 */
.hp-listing__actions {
	display: none !important;
}

/* 详情页顶部 "Details" 页签栏 */
.hp-menu--listing-manage {
	display: none !important;
}

/* 登录 / 注册触发与弹窗 */
a[href="#user_login_modal"],
a[href="#user_register_modal"],
#user_login_modal,
#user_register_modal,
#user_password_request_modal {
	display: none !important;
}

/* 英文收录日期（如 Added on October 30, 2026） */
.hp-listing__created-date {
	display: none !important;
}

/* 高级筛选（演示期未开放） */
a[href="#listing_filter_modal"],
#listing_filter_modal {
	display: none !important;
}

/* ===== 页脚 ===== */
.site-footer {
	background: #2b2320;
	color: rgba(255, 255, 255, 0.75);
	margin-top: 50px;
}

.site-footer .footer-navbar__copyright {
	color: rgba(255, 255, 255, 0.65);
	font-size: 13px;
}

.site-footer a {
	color: rgba(255, 255, 255, 0.85);
}

/* ===== 归档 / 搜索页 ===== */
.hp-page__header .hp-form--listing-search {
	background: #fff;
	border: 1px solid var(--zaimo-line);
	border-radius: 999px;
	box-shadow: var(--zaimo-shadow);
	padding: 6px 6px 6px 18px;
}

.hp-listing-category__name {
	font-size: 26px;
	font-weight: 800;
}

/* ===== 手机端优先适配 ===== */
@media (max-width: 900px) {
	.zaimo-cat-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 768px) {
	.zaimo-hero {
		padding: 24px 16px 24px;
	}

	.zaimo-hero__title {
		font-size: 26px;
	}

	.zaimo-hero__subtitle {
		font-size: 14.5px;
	}

	.zaimo-hero__search .hp-form--listing-search {
		border-radius: var(--zaimo-radius);
		flex-wrap: wrap;
		padding: 10px 12px;
	}

	.zaimo-hero__search .hp-form__fields {
		flex-wrap: wrap;
	}

	.zaimo-hero__search .hp-field--search {
		width: 100%;
		flex-basis: 100%;
	}

	.zaimo-hero__search .hp-form__actions {
		width: 100%;
	}

	.zaimo-hero__search button.hp-button,
	.zaimo-hero__search .hp-button--primary {
		width: 100%;
	}

	.zaimo-cat-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 9px;
	}

	.zaimo-cat-card {
		padding: 12px 6px 10px;
	}

	.zaimo-cat-card .ico {
		width: 36px;
		height: 36px;
	}

	.zaimo-cat-card .sub {
		display: none; /* 小屏隐藏子分类说明，保持紧凑 */
	}

	.hp-page h2 {
		font-size: 19px;
	}

	.hp-listing--view-page .hp-listing__title {
		font-size: 21px;
	}

	.zaimo-join {
		padding: 24px 16px;
	}
}

@media (max-width: 480px) {
	/* 小屏品牌条收窄：隐藏说明文字，避免换行 */
	.zaimo-hero__tag {
		display: none;
	}

	.zaimo-hero__brand {
		gap: 8px;
		padding: 5px 14px 5px 5px;
	}
}

@media (max-width: 420px) {
	.zaimo-cat-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.zaimo-hero__title {
		font-size: 23px;
	}
}

/* ============================================================
 * Phase 1B-2：广告位 / 详情页信息条
 * ============================================================ */

/* 广告位容器（首页顶部横幅 + 分类下方） */
.zaimo-ads {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin: 0 auto;
}

.zaimo-ads--home_top {
	margin-top: 18px;
}

.zaimo-ads--home_category {
	margin: 18px 0 26px;
}

.zaimo-ad {
	position: relative;
	max-width: 100%;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
	background: #fff;
	line-height: 0;
}

.zaimo-ad a {
	display: block;
	line-height: 0;
}

.zaimo-ad__img {
	display: block;
	max-width: 100%;
	height: auto;
}

.zaimo-ad__tag {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 1;
	padding: 2px 8px;
	font-size: 12px;
	line-height: 1.4;
	color: #fff;
	background: rgba(0, 0, 0, 0.55);
	border-radius: 4px;
}

/* 详情页信息条：Logo + 区域 + 资料更新时间 */
.zaimo-info-bar {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 18px;
	margin: 0 0 18px;
	padding: 12px 16px;
	background: #faf7f2;
	border: 1px solid #eadfce;
	border-radius: 10px;
	font-size: 14px;
	color: #5a5a5a;
}

.zaimo-info-bar__logo {
	width: 44px;
	height: 44px;
	object-fit: cover;
	border-radius: 8px;
	border: 1px solid #eadfce;
}

.zaimo-info-bar__item a {
	color: #b8722a;
	text-decoration: none;
}

.zaimo-info-bar__item a:hover {
	text-decoration: underline;
}

@media (max-width: 480px) {
	.zaimo-info-bar {
		gap: 8px 12px;
		padding: 10px 12px;
	}
}

/* ============================================================
 * Phase 1B-3：首页新版式（参考《在安找找》）
 * 顶部导航 / 广告轮播 / 公告栏 / 搜索框 / 六大分类
 * ============================================================ */

/* ---------- 顶部导航：白底、简洁 ---------- */
.site-header {
	background: #fff;
	border-bottom: 1px solid #f0ebe2;
}

.header-navbar {
	max-width: 1080px;
	margin: 0 auto;
	padding: 14px 20px;
	align-items: center;
}

.header-logo__name {
	font-size: 22px;
	font-weight: 800;
	color: #3f3f3f;
	letter-spacing: 0.5px;
}

.header-logo__name::first-letter {
	color: #b8722a;
}

.header-logo__description {
	font-size: 12px;
	color: #b0a99f;
}

.header-navbar__menu ul {
	display: flex;
	gap: 26px;
	list-style: none;
	margin: 0;
}

.header-navbar__menu ul li a {
	font-size: 15px;
	color: #4a4a4a;
	text-decoration: none;
	padding: 6px 2px;
}

.header-navbar__menu ul li a:hover {
	color: #b8722a;
}

/* 「罗安达」地区标识（Phase 2.8：不可点击 span，线性 SVG 数据 URI 图标） */
.header-navbar__menu ul li .zaimo-nav-region,
.header-navbar__burger ul li .zaimo-nav-region {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 15px;
	color: #4a4a4a;
	padding: 6px 2px;
	cursor: default;
	user-select: none;
}

.header-navbar__menu ul li .zaimo-nav-region::before,
.header-navbar__burger ul li .zaimo-nav-region::before {
	content: "";
	width: 14px;
	height: 14px;
	flex: 0 0 auto;
	background-color: #b8722a;
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z'/><circle cx='12' cy='10' r='3'/></svg>") center / contain no-repeat;
	mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z'/><circle cx='12' cy='10' r='3'/></svg>") center / contain no-repeat;
}

/* ---------- 首页顶部容器 ---------- */
.header-hero.header-hero--title {
	background: #fff;
	padding: 18px 0 30px;
	min-height: 0;
}

.header-hero__content {
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 20px;
}

.zaimo-home-top {
	max-width: 1080px;
	margin: 0 auto;
}

/* ---------- 广告轮播 ---------- */
.zaimo-carousel {
	position: relative;
	width: 100%;
	aspect-ratio: 2.35 / 1;
	border-radius: 16px;
	overflow: hidden;
	background: #f5f1ea;
	touch-action: pan-y;
}

/* Phase 1B-11 任务A 修复：JS 以 is-active 类切换图片，slide 必须改为
   绝对定位层叠 + 淡入淡出。旧版 track 为 flex 横排（每张 100% 宽排成一行，
   容器 overflow:hidden 只露出第一张），且全部 CSS 中没有任何规则响应
   is-active——类切换从未产生视觉效果，这是「轮播始终只有一张」的根本原因。 */
.zaimo-carousel__track {
	display: block;
	position: relative;
	height: 100%;
}

.zaimo-carousel__slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.5s ease, visibility 0.5s ease;
	line-height: 0;
}

.zaimo-carousel__slide.is-active {
	opacity: 1;
	visibility: visible;
	z-index: 1;
}

.zaimo-carousel__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.zaimo-carousel__slide a {
	display: block;
	height: 100%;
	line-height: 0;
}

.zaimo-carousel__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	width: 36px;
	height: 36px;
	border: none;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.35);
	color: #fff;
	font-size: 15px;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s;
}

.zaimo-carousel__arrow:hover {
	background: rgba(0, 0, 0, 0.55);
}

.zaimo-carousel__arrow--prev { left: 12px; }
.zaimo-carousel__arrow--next { right: 12px; }

.zaimo-carousel__dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 10px;
	z-index: 2;
	display: flex;
	justify-content: center;
	gap: 8px;
}

.zaimo-carousel__dot {
	width: 8px;
	height: 8px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.55);
	cursor: pointer;
	transition: all 0.25s;
}

.zaimo-carousel__dot.is-active {
	background: #fff;
	width: 20px;
	border-radius: 4px;
}

/* 轮播广告标注（复用 .zaimo-ad__tag） */
.zaimo-carousel .zaimo-ad__tag {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 1;
	padding: 2px 10px;
	font-size: 12px;
	line-height: 1.5;
	color: #fff;
	background: rgba(0, 0, 0, 0.55);
	border-radius: 4px;
}

/* ============================================================
   Phase 1C-3 补充：全部分类页顶部广告轮播（复用首页轮播组件，cat_top 位）
   轮播作为 .zaimo-catnav-page 首个子元素、置于「全部分类」标题之前；
   与页面内容同容器 → 自动左右对齐（移动端 16px / 桌面 .container 1140 居中）；
   下方与标题保持 22px 间距（与现有 hero margin-bottom 节奏一致）。
   ============================================================ */
.zaimo-catnav-page .zaimo-carousel {
	margin-bottom: 22px;
}

/* ---------- 公告栏 ---------- */
.zaimo-notice {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 14px;
	padding: 10px 16px;
	background: #fdf6ec;
	border: 1px solid #f3e3c9;
	border-radius: 12px;
	cursor: pointer;
}

.zaimo-notice__label {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	flex: 0 0 auto;
	font-size: 14px;
	font-weight: 700;
	color: #b8722a;
}

.zaimo-notice__label svg {
	width: 16px;
	height: 16px;
}

/* Phase 1B-综合任务C：公告正文横向滚动（视口裁剪 + 内层滚动条） */
.zaimo-notice__viewport {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
}

.zaimo-notice__scroll {
	display: inline-block;
	white-space: nowrap;
	font-size: 14px;
	color: #6b5b45;
	will-change: transform;
	/* 时长/起止位移由 JS 按「视口宽+文字宽」计算后写入 CSS 变量；
	   不写内联 play-state，保证 :hover 暂停规则始终生效 */
	animation: zaimo-marquee var(--zaimo-mq-dur, 20s) linear infinite;
}

/* JS 重算参数时临时挂此类清空动画再摘除，实现无跳帧重启 */
.zaimo-notice__scroll.is-reset {
	animation: none;
}

@keyframes zaimo-marquee {
	from { transform: translateX(var(--zaimo-mq-from, 100%)); }
	to   { transform: translateX(var(--zaimo-mq-to, -100%)); }
}

/* 鼠标悬停暂停（触屏无 hover，不影响） */
.zaimo-notice:hover .zaimo-notice__scroll {
	animation-play-state: paused;
}

.zaimo-notice__more {
	flex: 0 0 auto;
	color: #c4b49a;
	font-size: 18px;
	line-height: 1;
}

/* 公告弹窗 */
.zaimo-notice-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.45);
	padding: 20px;
}

.zaimo-notice-modal[hidden] {
	display: none;
}

.zaimo-notice-modal__box {
	width: 100%;
	max-width: 520px;
	max-height: 70vh;
	background: #fff;
	border-radius: 14px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.zaimo-notice-modal__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 18px;
	border-bottom: 1px solid #f0ebe2;
	font-size: 16px;
}

.zaimo-notice-modal__close {
	border: none;
	background: none;
	font-size: 22px;
	line-height: 1;
	color: #999;
	cursor: pointer;
	padding: 0 4px;
}

.zaimo-notice-modal__body {
	padding: 8px 18px 18px;
	overflow-y: auto;
}

.zaimo-notice-modal__item {
	padding: 12px 0;
	border-bottom: 1px dashed #f0ebe2;
}

.zaimo-notice-modal__item:last-child {
	border-bottom: none;
}

.zaimo-notice-modal__item h4 {
	font-size: 15px;
	margin: 0 0 4px;
	color: #3f3f3f;
}

.zaimo-notice-modal__item p {
	font-size: 14px;
	color: #6b6b6b;
	margin: 0;
	line-height: 1.7;
}

.zaimo-notice-modal__date {
	font-size: 12px;
	color: #b8722a;
}

/* ---------- 搜索框 ---------- */
.zaimo-searchbar {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 14px;
	padding: 6px 6px 6px 18px;
	background: #fff;
	border: 1.5px solid #eadfce;
	border-radius: 999px;
	box-shadow: 0 2px 10px rgba(184, 114, 42, 0.06);
}

.zaimo-searchbar__icon {
	flex: 0 0 auto;
	color: #9a9a9a;
	display: flex;
}

.zaimo-searchbar__icon svg {
	width: 20px;
	height: 20px;
}

.zaimo-searchbar__field {
	flex: 1 1 auto;
	min-width: 0;
}

/* 重排 HivePress 原生搜索表单为单行胶囊样式 */
.zaimo-searchbar .hp-form {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
}

.zaimo-searchbar .hp-form__fields {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: nowrap;
	padding: 0;
}

.zaimo-searchbar .hp-form__field--select {
	flex: 0 0 auto;
	margin: 0;
}

.zaimo-searchbar .hp-form__field--select select {
	width: auto;
	max-width: 130px;
	padding: 8px 26px 8px 10px;
	font-size: 14px;
	border: none;
	background: transparent;
	box-shadow: none;
	color: #6b6b6b;
	appearance: auto;
}

.zaimo-searchbar .hp-form__field--search {
	flex: 1 1 auto;
	margin: 0;
}

.zaimo-searchbar .hp-form__field--search input[type="search"] {
	width: 100%;
	border: none;
	box-shadow: none;
	padding: 10px 0;
	font-size: 15px;
	background: transparent;
}

.zaimo-searchbar .hp-form__field--search input[type="search"]:focus {
	outline: none;
	box-shadow: none;
}

.zaimo-searchbar .hp-form__footer {
	margin: 0;
	padding: 0;
	flex: 0 0 auto;
}

.zaimo-searchbar .hp-form__button.button-primary {
	background: #b8722a;
	border-radius: 999px;
	padding: 10px 28px;
	font-size: 15px;
	font-weight: 600;
	border: none;
	white-space: nowrap;
}

.zaimo-searchbar .hp-form__button.button-primary:hover {
	background: #a06122;
}

/* Phase 1B-11 任务B 修复：父主题 vendor CSS（hivetheme frontend.min.css）给
   button[type=submit]::after 预置了 Font Awesome 圆环 content + animation:spin
   无限旋转（本意是表单 loading 态），该动画同时作用于本按钮的放大镜伪元素，
   导致放大镜一直旋转。显式关闭（桌面/手机同时生效）。 */
.zaimo-searchbar .hp-form__button.button-primary {
	animation: none !important;
}

.zaimo-searchbar .hp-form__button.button-primary::after {
	animation: none !important;
}

/* ------------------------------------------------------------------
   搜索框：手机端强制单行胶囊（Phase 1B-4 修复）
   根因：
   1) HivePress 在 max-width:47.99em 下把 .hp-form--wide .hp-form__fields
      改为 flex-direction:column，并给 :not(:last-child) 2rem 底边距，
      导致「关键词 / 区域 / 按钮」纵向堆叠；
   2) 区域字段由 Select2 渲染（select2-container 高 28px + 默认内边距），
      且 select2 内联 width:100%，会撑高整条搜索栏；
   3) 子主题原先在 480px 断点里写了 flex-wrap:wrap + flex:1 1 100%，
      进一步把三段拆成多行。
   本段在 767px 以下把表单还原为「区域 ｜ 关键词 ｜ 按钮」单行，
   高度锁定 54px，不改 HivePress 核心，也不隐藏区域筛选。
   ------------------------------------------------------------------ */
@media (max-width: 767px) {
	.zaimo-searchbar {
		display: flex;
		align-items: center;
		gap: 0;
		height: 54px;
		min-height: 54px;
		max-height: 54px;
		padding: 0 5px 0 13px;
		background: #fff;
		border: 1px solid #e6e6e6;
		border-radius: 999px;
		box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
		overflow: visible;
	}

	/* 左侧改为区域选择，装饰放大镜移入右侧按钮 */
	.zaimo-searchbar__icon {
		display: none;
	}

	.zaimo-searchbar__field {
		flex: 1 1 auto;
		min-width: 0;
		height: 100%;
		display: flex;
		align-items: center;
	}

	/* 表单本体：横向单行，高度与胶囊一致 */
	.zaimo-searchbar .hp-form,
	.zaimo-searchbar .hp-form--wide {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center;
		width: 100%;
		height: 100%;
		min-width: 0;
		margin: 0;
		padding: 0;
		background: none;
		border: none;
	}

	.zaimo-searchbar .hp-form__messages {
		display: none;
	}

	.zaimo-searchbar .hp-form--wide .hp-form__fields,
	.zaimo-searchbar .hp-form--wide .hp-form__fields:not(:last-child) {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
		gap: 0;
		flex: 1 1 auto;
		min-width: 0;
		height: 100%;
		margin: 0;
		padding: 0;
	}

	/* 区域选择：加宽点击区，右侧 1px 竖线分隔 */
	.zaimo-searchbar .hp-form--wide .hp-form__field--select {
		position: relative;
		flex: 0 0 auto;
		display: flex;
		align-items: center;
		height: 100%;
		margin: 0;
		padding: 0 9px 0 0;
	}

	.zaimo-searchbar .hp-form__field--select::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 0;
		width: 1px;
		height: 18px;
		margin-top: -9px;
		background: #ebebeb;
	}

	/* Select2 容器：宽度自适应，不参与撑高 */
	.zaimo-searchbar .hp-form__field--select .select2-container {
		width: auto !important;
		min-width: 0;
		max-width: 104px;
		height: 100%;
		flex: 0 0 auto;
	}

	.zaimo-searchbar .hp-form__field--select .select2-selection--single {
		position: relative;
		display: flex;
		align-items: center;
		height: 100%;
		padding: 0 17px 0 0;
		border: none !important;
		background: transparent;
		box-shadow: none;
	}

	.zaimo-searchbar .hp-form__field--select .select2-selection__rendered {
		padding: 0;
		line-height: 1.2;
		font-size: 14px;
		color: #5c5c5c;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		max-width: 100%;
	}

	.zaimo-searchbar .hp-form__field--select .select2-selection__arrow {
		top: 50%;
		right: 0;
		width: 13px;
		height: auto;
		margin-top: -2px;
		transform: translateY(-50%);
	}

	/* 关键词输入：高度固定，聚焦不改变尺寸（避免布局跳动） */
	.zaimo-searchbar .hp-form--wide .hp-form__field--search {
		flex: 1 1 auto;
		min-width: 0;
		height: 100%;
		display: flex;
		align-items: center;
		margin: 0;
		padding: 0 4px 0 10px;
	}

	.zaimo-searchbar .hp-form__field--search input[type="search"] {
		width: 100%;
		height: 44px;
		margin: 0;
		padding: 0 2px 0 9px;
		border: none;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
		font-size: 16px; /* 16px 避免 iOS 聚焦自动缩放导致跳动 */
		line-height: 44px;
		text-overflow: ellipsis;
		-webkit-appearance: none;
		appearance: none;
	}

	.zaimo-searchbar .hp-form__field--search input[type="search"]:focus,
	.zaimo-searchbar .hp-form__field--search input[type="search"]:active {
		outline: none;
		border: none;
		box-shadow: none;
	}

	.zaimo-searchbar .hp-form__field--search input[type="search"]::placeholder {
		color: #a8a8a8;
		opacity: 1;
	}

	.zaimo-searchbar .hp-form__field--search input[type="search"]::-webkit-search-decoration,
	.zaimo-searchbar .hp-form__field--search input[type="search"]::-webkit-search-cancel-button {
		-webkit-appearance: none;
		appearance: none;
	}

	/* 右侧橙色圆形按钮（44×44 触摸区，白色放大镜） */
	.zaimo-searchbar .hp-form__footer,
	.zaimo-searchbar .hp-form--wide .hp-form__footer {
		flex: 0 0 auto;
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: flex-end;
		height: 100%;
		margin: 0;
		padding: 0;
	}

	.zaimo-searchbar .hp-form__button.button-primary,
	.zaimo-searchbar .hp-form--wide .hp-form__button {
		display: flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 auto;
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
		margin: 0;
		padding: 0;
		border: none;
		border-radius: 50%;
		background: #b8722a;
		box-shadow: none;
		font-size: 0;
		line-height: 0;
		overflow: hidden;
	}

	.zaimo-searchbar .hp-form__button.button-primary:hover,
	.zaimo-searchbar .hp-form__button.button-primary:active {
		background: #a06122;
	}

	.zaimo-searchbar .hp-form__button.button-primary > span {
		display: none;
	}

	.zaimo-searchbar .hp-form__button.button-primary::after {
		content: "";
		display: block;
		width: 20px;
		height: 20px;
		background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E") center / 20px 20px no-repeat;
	}

	/* 区域下拉面板：Select2 默认取容器宽度（约 71px）会把选项挤成竖排，
	   这里只放宽面板宽度与字号，不影响搜索栏自身高度 */
	body.home .select2-container--open .select2-dropdown {
		min-width: 168px;
		border: 1px solid #e6e6e6;
		border-radius: 10px;
		box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
		overflow: hidden;
	}

	body.home .select2-container--open .select2-results__option {
		padding: 10px 12px;
		font-size: 14px;
		line-height: 1.5;
		color: #3f3f3f;
	}

	body.home .select2-container--open .select2-results__option--highlighted[aria-selected] {
		background: #f7ede2;
		color: #8a5420;
	}

	body.home .select2-container--open .select2-results__option[aria-selected="true"] {
		background: #faf7f2;
		color: #8a5420;
		font-weight: 600;
	}

	/* Phase 1B-11 任务C：压缩「六大分类 → 推荐商家」之间的留白。
	   根因一：父主题 .site-content{padding:3rem 0}，手机端顶部 48px 过大。
	   根因二：首页 header 内的 header-hero--title 包裹区块自带
	   padding:18px 30px（下 30px 落在分类区与 site-content 之间）。 */
	body.home .header-hero {
		padding-bottom: 0;
	}

	body.home .site-content {
		padding-top: 26px;
	}

	body.home .page__text {
		margin-top: 0;
	}
}

/* ---------- 六大分类（极简图标 3 列 2 行） ---------- */
.zaimo-cats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 26px 12px;
	margin-top: 30px;
	padding: 0;
}

.zaimo-cat {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	text-decoration: none;
	color: inherit;
	padding: 6px 4px;
	border-radius: 10px;
	transition: color 0.2s ease, transform 0.2s ease;
}

.zaimo-cat:hover {
	color: #b8722a;
	transform: translateY(-2px);
}

/* Phase 1B-综合任务A：图标主题色 + 浅色圆角背景（颜色由 PHP 内联注入，与分类页共用配置） */
.zaimo-cat__icon {
	width: 64px;
	height: 64px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 16px;
	transition: transform 0.2s ease;
}

.zaimo-cat__icon svg {
	width: 34px;
	height: 34px;
}

.zaimo-cat:hover .zaimo-cat__icon {
	transform: translateY(-2px);
}

.zaimo-cat__name {
	margin-top: 8px;
	font-size: 17px;
	font-weight: 700;
	color: #3f3f3f;
	transition: color 0.2s ease;
}

.zaimo-cat:hover .zaimo-cat__name {
	color: #b8722a;
}

.zaimo-cat__sub {
	margin-top: 3px;
	font-size: 12.5px;
	color: #a5a5a5;
	line-height: 1.4;
	white-space: nowrap;
}

/* ---------- 页脚 ---------- */
.site-footer {
	background: #fff;
	border-top: 1px solid #f0ebe2;
}

/* ---------- 响应式 ---------- */
@media (max-width: 900px) {
	.zaimo-carousel__arrow {
		width: 30px;
		height: 30px;
		font-size: 13px;
	}
}

@media (max-width: 782px) {
	.header-navbar__menu {
		display: none;
	}

	.header-navbar__burger {
		display: block;
	}

	/* 汉堡菜单展开面板 */
	.header-navbar__burger ul {
		background: #fff;
		border-radius: 10px;
		box-shadow: 0 6px 24px rgba(0, 0, 0, 0.12);
	}
}

@media (max-width: 480px) {
	.header-navbar {
		padding: 12px 14px;
	}

	.header-logo__name {
		font-size: 19px;
	}

	.zaimo-carousel {
		border-radius: 12px;
	}

	/* Phase 1B-11 任务A：手机恢复箭头（缩小到 28px），支持手动切换 */
	.zaimo-carousel__arrow {
		width: 28px;
		height: 28px;
		font-size: 12px;
	}

	/* 搜索框：手机端保持单行胶囊（细部微调，结构见 767px 段落） */
	.zaimo-searchbar {
		padding: 0 5px 0 12px;
	}

	.zaimo-searchbar .hp-form__field--select .select2-selection__rendered {
		font-size: 13px;
	}

	.zaimo-searchbar .hp-form__field--search input[type="search"] {
		padding-left: 8px;
	}

	/* 分类：手机端压缩尺寸（Phase 1B-11 任务C：图标 44-48、名称 14、说明 10-11）——放 767px 段 */


	.zaimo-notice {
		padding: 9px 12px;
	}

	.zaimo-notice__scroll {
		font-size: 13px;
	}
}

@media (max-width: 360px) {
	.zaimo-cat__sub {
		font-size: 10px;
	}
}

/* 降低动效偏好 */
@media (prefers-reduced-motion: reduce) {
	.zaimo-carousel__track {
		transition: none;
	}

	/* 公告正文停止自动滚动，静态展示（视口内可读，超出部分截断） */
	.zaimo-notice__scroll {
		animation: none !important;
	}
}

/* ===== 分类页头部（Phase 1B-6）：彩色图标 + 名称 + 说明，取消灰色大横幅 ===== */

/* Phase 1B-6 修复（根因级）：灰色横幅真实来源是父主题在 <header class="site-header">
   内部渲染的 <section class="header-hero header-hero--large">（浅灰蓝 rgb(246,249,252)，
   上下各 48px 内边距 ≈ 96px 高，含「N 家商家」与分类大标题）。
   functions.php 已用 hivetheme/v1/areas/site_hero 过滤器从源头移除该区块；
   此处再加分类页作用域的 CSS 兜底，确保任何路径渲染出的 hero 也不占位。
   仅限定分类页 body 类，首页轮播、文章页、页面标题 Hero 不受影响。 */
body.zaimo-cat-page .header-hero,
body.tax-hp_listing_category .header-hero {
	display: none !important;
}

/* 分类页内容区顶部留白收紧：导航栏结束后约 20px 即进入分类标题
   （父主题默认 48px，是上一版「横幅下方空白」的来源之一）。 */
body.zaimo-cat-page .site-content,
body.tax-hp_listing_category .site-content {
	padding-top: 20px;
}

/* 取消分类页灰色大横幅（.hp-page__header 容器背景 + 页头内边距）；
   商家数量改由搜索框下方的列表工具栏显示，避免重复。
   同时匹配 WP 原生分类归档 body 类与本项目自定义类，双保险。 */
body.zaimo-cat-page .hp-page__header,
body.tax-hp_listing_category .hp-page__header {
	background-color: #fff !important;
	box-shadow: none !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	/* 去除灰横幅残留的上/左右间距；底部保留合理间距，使卡片与搜索框不粘连。 */
	margin: 0 0 16px !important;
}

/* 旧主题在分类页把搜索表单上移叠到灰色横幅上的负边距，已无意义，重置。 */
body.zaimo-cat-page .hp-form--listing-search,
body.tax-hp_listing_category .hp-form--listing-search {
	margin-top: 0 !important;
}

/* 兜底：若灰色横幅内的标题块未被模板移除，隐藏之，避免再次出现大标题。 */
body.zaimo-cat-page .hp-page__title,
body.zaimo-cat-page .page__title,
body.zaimo-cat-page .hp-listing-category__header,
body.zaimo-cat-page .category__header,
body.tax-hp_listing_category .hp-page__title,
body.tax-hp_listing_category .page__title,
body.tax-hp_listing_category .hp-listing-category__header,
body.tax-hp_listing_category .category__header {
	display: none !important;
}

/* 分类头部与搜索框同处页头，收紧两者间距，形成紧凑统一结构。 */
body.zaimo-cat-page .zaimo-searchbar,
body.tax-hp_listing_category .zaimo-searchbar {
	margin-top: 4px;
}

/* 分类头部：左侧彩色图标（浅色圆角背景）+ 右侧名称与说明，白色背景、垂直居中。 */
.zaimo-cat-header {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 20px 2px 14px;
}

.zaimo-cat-header__icon {
	flex: 0 0 auto;
	width: 64px;
	height: 64px;
	border-radius: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.zaimo-cat-header__icon svg {
	width: 34px;
	height: 34px;
}

.zaimo-cat-header__text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
}

.zaimo-cat-header__name {
	margin: 0;
	font-size: 24px;
	font-weight: 800;
	line-height: 1.2;
	color: #222;
}

.zaimo-cat-header__desc {
	margin: 5px 0 0;
	font-size: 14px;
	color: #8a8a8a;
	line-height: 1.35;
}

/* 手机端：图标缩小、间距收紧，标题区域控制在约 70–100px。 */
@media (max-width: 767px) {
	.zaimo-cat-header {
		gap: 12px;
		padding: 14px 2px 10px;
	}

	.zaimo-cat-header__icon {
		width: 52px;
		height: 52px;
		border-radius: 14px;
	}

	.zaimo-cat-header__icon svg {
		width: 28px;
		height: 28px;
	}

	.zaimo-cat-header__name {
		font-size: 20px;
	}

	.zaimo-cat-header__desc {
		font-size: 13px;
	}
}

/* ============================================================
   Phase 1B-7 → V1.1：商家详情页「联系商家 + 商家信息」模块
   V1.1 起改为内容区单份渲染（.zaimo-contact-main，全视口可见），
   位置：商家介绍之后、相关文章之前。
   ============================================================ */

.zaimo-contact-main {
	display: block;
}

.zaimo-cbox {
	background: #fff;
	border: 1px solid #eee4d8;
	border-radius: 14px;
	padding: 16px 16px 12px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}

.zaimo-cbox__block + .zaimo-cbox__block {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid #f2ede6;
}

.zaimo-cbox__title {
	font-size: 16px;
	font-weight: 800;
	color: #2b2b2b;
	margin-bottom: 8px;
}

/* 联系方式行：左标签+号码，右操作按钮 */
.zaimo-crow {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 6px 0;
}

.zaimo-crow__info {
	min-width: 0;
}

.zaimo-crow__label {
	display: block;
	font-size: 12px;
	color: #8a8a8a;
	margin-bottom: 2px;
}

.zaimo-crow__value {
	display: block;
	font-size: 15px;
	font-weight: 600;
	color: #2b2b2b;
	word-break: break-all;
	line-height: 1.4;
}

a.zaimo-crow__value--link {
	text-decoration: none;
}

a.zaimo-crow__value--link:hover {
	color: var(--zaimo-accent, #e87522);
}

.zaimo-cbtn {
	flex-shrink: 0;
	display: inline-block;
	padding: 6px 14px;
	border-radius: 999px;
	border: 1px solid var(--zaimo-accent, #e87522);
	background: #fff;
	color: var(--zaimo-accent, #e87522);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
}

.zaimo-cbtn:hover {
	background: var(--zaimo-accent, #e87522);
	color: #fff;
}

.zaimo-cbtn.is-copied {
	background: #1a7f37;
	border-color: #1a7f37;
	color: #fff;
}

.zaimo-cbtn.is-fail {
	background: #f6f6f6;
	border-color: #ccc;
	color: #666;
}

/* WhatsApp 整行绿色按钮（V1.1：居中胶囊，220×46，同下单按钮统一规格） */
.zaimo-cwa {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 220px;
	max-width: 100%;
	min-height: 46px;
	margin: 12px auto 0;
	padding: 0 16px;
	border-radius: 23px;
	background: var(--zaimo-green, #25d366);
	color: #fff;
	font-weight: 600;
	font-size: 14.5px;
	line-height: 1;
	white-space: nowrap;
	text-decoration: none;
	box-shadow: 0 4px 12px rgba(37, 211, 102, 0.3);
	transition: background 0.15s ease;
}

.zaimo-cwa:hover {
	background: var(--zaimo-green-dark, #1fb955);
	color: #fff;
}

.zaimo-cwa__icon {
	width: 18px;
	height: 18px;
	background: #fff;
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5.1-1.3A10 10 0 1 0 12 2zm5.4 14.2c-.2.6-1.2 1.2-1.7 1.2-.4.1-1 .1-1.6-.1-.4-.1-.9-.3-1.5-.6-2.6-1.1-4.3-3.8-4.4-4-.1-.2-1.1-1.4-1.1-2.7 0-1.3.7-1.9.9-2.2.2-.3.5-.3.7-.3h.5c.2 0 .4 0 .6.4.2.5.7 1.8.8 1.9.1.1.1.3 0 .5-.1.2-.1.3-.3.5l-.4.5c-.1.1-.3.3-.1.6.2.3.8 1.3 1.7 2.1 1.2 1.1 2.2 1.4 2.5 1.5.3.1.5.1.7-.1.2-.2.7-.8.9-1.1.2-.3.4-.2.6-.1.2.1 1.5.7 1.8.8.3.2.5.2.5.4.1.1.1.6-.1 1.2z'/></svg>") center / contain no-repeat;
	mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5.1-1.3A10 10 0 1 0 12 2zm5.4 14.2c-.2.6-1.2 1.2-1.7 1.2-.4.1-1 .1-1.6-.1-.4-.1-.9-.3-1.5-.6-2.6-1.1-4.3-3.8-4.4-4-.1-.2-1.1-1.4-1.1-2.7 0-1.3.7-1.9.9-2.2.2-.3.5-.3.7-.3h.5c.2 0 .4 0 .6.4.2.5.7 1.8.8 1.9.1.1.1.3 0 .5-.1.2-.1.3-.3.5l-.4.5c-.1.1-.3.3-.1.6.2.3.8 1.3 1.7 2.1 1.2 1.1 2.2 1.4 2.5 1.5.3.1.5.1.7-.1.2-.2.7-.8.9-1.1.2-.3.4-.2.6-.1.2.1 1.5.7 1.8.8.3.2.5.2.5.4.1.1.1.6-.1 1.2z'/></svg>") center / contain no-repeat;
}

/* 商家信息行：灰标签 + 深色内容 */
.zaimo-irow {
	display: flex;
	gap: 10px;
	padding: 6px 0;
}

.zaimo-irow__label {
	flex-shrink: 0;
	width: 92px;
	font-size: 12px;
	color: #8a8a8a;
	line-height: 1.7;
}

.zaimo-irow__value {
	flex: 1;
	min-width: 0;
	font-size: 14px;
	color: #2b2b2b;
	line-height: 1.7;
	word-break: break-word;
	overflow-wrap: anywhere;
}

@media (max-width: 767px) {
	.zaimo-contact-main {
		margin: 16px 0 4px;
	}

	.zaimo-irow__label {
		width: 84px;
	}
}

/* ============================================================
   Phase 1B-10：手机端商家卡片「左图右文」紧凑化
   作用范围（仅 ≤767px）：首页推荐 / 首页最新 / 六大分类 / 搜索结果。
   四类列表共用 HivePress view-block 卡片模板，一套规则统一覆盖。
   桌面端（≥768px）完全不受影响。
   ============================================================ */

@media (max-width: 767px) {

	/* ---- 列表间距：卡片间 12px ---- */
	.hp-grid__item {
		margin-bottom: 12px;
	}

	.hp-grid:last-child {
		margin-bottom: -12px;
	}

	.hp-listing--view-block:not(:last-child) {
		margin-bottom: 0;
	}

	/* ---- 横向卡片容器 ---- */
	.hp-listing--view-block {
		display: flex;
		flex-direction: row;
		align-items: stretch;
		gap: 12px;
		padding: 12px;
		border: 1px solid #ececec;
		border-radius: 12px;
		box-shadow: none;
		transition: none;
	}

	.hp-listing--view-block.hp-listing--featured {
		border-color: #f3d489;
	}

	/* ---- 左图：104px 正方形 ---- */
	.hp-listing--view-block .hp-listing__header {
		flex: 0 0 104px;
		width: 104px;
		margin: 0 !important;
	}

	.hp-listing--view-block .hp-listing__image {
		aspect-ratio: 1 / 1 !important;
		width: 104px;
		height: 104px;
		overflow: hidden;
		border-radius: 10px;
		background: #f2f2f2;
	}

	.hp-listing--view-block .hp-listing__image .slick-slide,
	.hp-listing--view-block .hp-listing__image .slick-list,
	.hp-listing--view-block .hp-listing__image .slick-track {
		aspect-ratio: 1 / 1 !important;
		height: 104px !important;
	}

	.hp-listing--view-block .hp-listing__image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		border-radius: 10px;
	}

	/* 推荐徽标：金色小角标，贴在图片左上角，不遮挡文字 */
	.hp-listing--view-block .hp-listing__featured-badge {
		left: 6px;
		top: 6px;
		width: 20px;
		height: 20px;
		border-radius: 6px;
		z-index: 2;
	}

	.hp-listing--view-block .hp-listing__featured-badge i {
		font-size: 10px;
	}

	/* ---- 右文 ---- */
	.hp-listing--view-block .hp-listing__content {
		flex: 1 1 auto;
		min-width: 0;
		display: flex;
		flex-direction: column;
		padding: 0 !important;
		margin: 0 !important;
	}

	/* 名称在上，分类在下（DOM 顺序为分类→名称，用 order 调整） */
	.hp-listing--view-block .hp-listing__title {
		order: 1;
		font-size: 15.5px;
		font-weight: 700;
		line-height: 1.35;
		margin: 0 0 5px !important;
		display: -webkit-box !important;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	.hp-listing--view-block .hp-listing__categories {
		order: 2;
		margin: 0 0 5px !important;
	}

	.hp-listing--view-block .hp-listing__categories a {
		display: inline-block;
		background: #fff0e5;
		color: #c05f14;
		font-size: 11px;
		line-height: 1.5;
		padding: 1px 9px;
		border-radius: 999px;
		text-transform: none;
		letter-spacing: 0;
	}

	.hp-listing--view-block .hp-listing__categories a:hover {
		background: #ffe3cc;
		color: #c05f14;
	}

	/* 收录时间：手机端紧凑卡不显示 */
	.hp-listing--view-block .hp-listing__details--primary {
		display: none;
	}

	/* 简介：灰色 2 行省略 */
	.hp-listing--view-block .hp-listing__attributes--ternary {
		order: 3;
		margin: 0 !important;
	}

	.hp-listing--view-block .hp-listing__attributes--ternary .hp-listing__attribute {
		margin: 0 !important;
		padding: 0 !important;
	}

	.hp-listing--view-block .hp-listing__attributes--ternary p {
		display: -webkit-box !important;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
		margin: 0 !important;
		padding: 0 !important;
		font-size: 12.5px;
		line-height: 1.5;
		color: #8a8a8a;
	}

	/* 空footer不占位 */
	.hp-listing--view-block .hp-listing__footer {
		display: none;
	}

	/* 整卡可点击时的鼠标反馈 */
	.hp-listing--view-block {
		cursor: pointer;
	}
}

/* ===== Phase 1B-11 任务C：六大分类手机端压缩尺寸 =====
   必须放在文件末尾（基础 .zaimo-cat__icon 等规则之后）：
   @media 不增加优先级，同特异性规则按源码顺序覆盖。 */
@media (max-width: 767px) {
	.zaimo-cats {
		gap: 20px 8px;
		margin-top: 20px;
	}

	.zaimo-cat {
		padding: 0;
	}

	.zaimo-cat__icon {
		width: 46px;
		height: 46px;
		border-radius: 12px;
	}

	.zaimo-cat__icon svg {
		width: 24px;
		height: 24px;
	}

	.zaimo-cat__name {
		margin-top: 6px;
		font-size: 14px;
	}

	.zaimo-cat__sub {
		margin-top: 4px;
		font-size: 10.5px;
		max-width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
	}
}

/* ============================================================
   Phase 1C-1：生活指南（zguide）
   列表页 / 分类页 / 文章详情页 / 相关商家 / 相关文章 / 分享
   ============================================================ */

.zguide {
	max-width: none;
	margin: 0 auto;
	padding: 24px 0 16px;
}

/* ---- 页头（列表页 / 分类页） ---- */
.zguide__hero {
	text-align: center;
	padding: 18px 0 6px;
}

.zguide__hero-title {
	margin: 0;
	font-size: 30px;
	line-height: 1.3;
	color: #222;
}

.zguide__hero-sub {
	margin: 10px 0 0;
	color: #8a8a8a;
	font-size: 15px;
}

/* ---- 分类导航 ---- */
.zguide__catnav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 22px auto 8px;
	max-width: 720px;
}

.zguide__catnav-item {
	display: inline-block;
	padding: 7px 18px;
	border: 1px solid #ececec;
	border-radius: 999px;
	background: #fff;
	color: #444;
	font-size: 14px;
	text-decoration: none;
	transition: border-color .15s, color .15s;
}

.zguide__catnav-item:hover {
	border-color: #d9a441;
	color: #b8722a;
}

.zguide__catnav-item.is-active {
	background: #b8722a;
	border-color: #b8722a;
	color: #fff;
}

/* ---- 文章卡片列表 ---- */
.zguide__list {
	margin-top: 22px;
}

/* 卡片（桌面：纵向网格；手机：左图右文横卡） */
.zguide-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 12px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: box-shadow .15s, transform .15s;
}

.zguide-card:hover {
	box-shadow: 0 6px 18px rgba(0, 0, 0, .07);
	transform: translateY(-2px);
}

.zguide-card__thumb {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #f2f2f2;
	overflow: hidden;
}

.zguide-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.zguide-card__noimg {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #f6efe6, #fdfaf5);
}

.zguide-card__body {
	display: flex;
	flex-direction: column;
	padding: 14px 16px 16px;
	min-width: 0;
}

.zguide-card__title {
	margin: 0 0 8px;
	font-size: 16.5px;
	font-weight: 700;
	line-height: 1.4;
	color: #222;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.zguide-card__meta {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 8px;
	font-size: 12.5px;
	color: #999;
}

.zguide-card__cat {
	color: #c05f14;
	background: #fff0e5;
	border-radius: 999px;
	padding: 1px 10px;
	font-size: 11.5px;
}

.zguide-card__excerpt {
	margin: 0;
	font-size: 13.5px;
	line-height: 1.65;
	color: #8a8a8a;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* 桌面：3 列文章网格（列表页与相关文章共用宽度逻辑） */
@media (min-width: 768px) {
	.zguide__list {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
	}
}

/* 手机：左图右文紧凑横卡（与商家卡视觉语言一致） */
@media (max-width: 767px) {
	.zguide__list {
		display: flex;
		flex-direction: column;
		gap: 12px;
	}

	.zguide-card {
		flex-direction: row;
		align-items: stretch;
		gap: 12px;
		padding: 10px;
	}

	.zguide-card__thumb {
		flex: 0 0 104px;
		width: 104px;
		aspect-ratio: 1 / 1;
		border-radius: 10px;
	}

	.zguide-card__thumb img {
		border-radius: 10px;
	}

	.zguide-card__body {
		flex: 1 1 auto;
		padding: 2px 2px 2px 0;
	}

	.zguide-card__title {
		font-size: 15.5px;
		margin-bottom: 5px;
	}

	.zguide-card__meta {
		margin-bottom: 5px;
	}

	.zguide-card__excerpt {
		font-size: 12.5px;
		-webkit-line-clamp: 2;
	}
}

/* ---- 文章详情页 ---- */
.zguide__main--single {
	max-width: 780px;
	margin: 0 auto;
}

.zguide__crumbs {
	font-size: 13px;
	color: #999;
	margin-bottom: 14px;
}

.zguide__crumbs a {
	color: #8a8a8a;
	text-decoration: none;
}

.zguide__crumbs a:hover {
	color: #b8722a;
}

.zguide__crumbs span {
	margin: 0 6px;
	color: #ccc;
}

.zguide__head {
	text-align: left;
	margin-bottom: 18px;
}

.zguide__cats {
	margin-bottom: 10px;
}

.zguide__cat-chip {
	display: inline-block;
	background: #fff0e5;
	color: #c05f14;
	font-size: 12px;
	padding: 2px 12px;
	border-radius: 999px;
	text-decoration: none;
	margin-right: 6px;
}

.zguide__title {
	margin: 0 0 12px;
	font-size: 26px;
	line-height: 1.4;
	color: #222;
}

.zguide__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	font-size: 13.5px;
	color: #999;
}

.zguide__badge {
	display: inline-block;
	font-size: 12px;
	line-height: 1.6;
	padding: 0 10px;
	border-radius: 4px;
	border: 1px solid #d9a441;
	color: #9a6b1f;
	background: #fdf6ea;
}

/* 正文排版：手机优先，桌面最大 780px */
.zguide__content {
	font-size: 16px;
	line-height: 1.9;
	color: #3f3f3f;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

.zguide__content h2 {
	font-size: 20px;
	line-height: 1.5;
	margin: 30px 0 14px;
	color: #222;
}

.zguide__content h3 {
	font-size: 17px;
	line-height: 1.5;
	margin: 24px 0 10px;
	color: #333;
}

.zguide__content p {
	margin: 0 0 18px;
}

.zguide__content img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
}

.zguide__content figure {
	margin: 22px 0;
}

.zguide__content figcaption {
	font-size: 13px;
	color: #999;
	text-align: center;
	margin-top: 8px;
	line-height: 1.6;
}

.zguide__content ul,
.zguide__content ol {
	padding-left: 1.6em;
	margin: 0 0 18px;
}

.zguide__content li {
	margin-bottom: 6px;
}

.zguide__content blockquote {
	margin: 20px 0;
	padding: 12px 16px;
	border-left: 3px solid #d9a441;
	background: #faf7f2;
	color: #6b5b45;
	border-radius: 0 8px 8px 0;
}

.zguide__content a {
	color: #b8722a;
	text-decoration: underline;
}

.zguide__content table {
	width: 100%;
	display: block;
	overflow-x: auto;
	border-collapse: collapse;
}

.zguide__content table td,
.zguide__content table th {
	border: 1px solid #ececec;
	padding: 8px 10px;
	font-size: 14px;
}

.zguide__cover {
	margin: 0 0 20px;
}

.zguide__cover img {
	width: 100%;
	height: auto;
	border-radius: 12px;
	display: block;
}

/* 分享 */
.zguide__share {
	margin: 26px 0 6px;
	padding-top: 18px;
	border-top: 1px solid #f0f0f0;
}

.zguide__copy {
	border: 1px solid #e2e2e2;
	background: #fff;
	color: #555;
	font-size: 13.5px;
	padding: 7px 18px;
	border-radius: 999px;
	cursor: pointer;
	transition: border-color .15s, color .15s;
}

.zguide__copy:hover,
.zguide__copy.is-done {
	border-color: #b8722a;
	color: #b8722a;
}

/* ---- 相关商家 / 相关文章 ---- */
.zguide-rel {
	margin-top: 34px;
}

.zguide-rel__title {
	font-size: 19px;
	margin: 0 0 14px;
	color: #222;
}

/* 商家卡：横向紧凑（两端一致，桌面双列） */
.zguide-rel__list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.zguide-biz {
	display: flex;
	align-items: stretch;
	gap: 12px;
	padding: 10px;
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 12px;
	text-decoration: none;
	color: inherit;
	transition: box-shadow .15s;
}

.zguide-biz:hover {
	box-shadow: 0 6px 18px rgba(0, 0, 0, .07);
}

.zguide-biz__thumb {
	flex: 0 0 88px;
	width: 88px;
	aspect-ratio: 1 / 1;
	border-radius: 10px;
	overflow: hidden;
	background: #f2f2f2;
}

.zguide-biz__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.zguide-biz__noimg {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #f6efe6, #fdfaf5);
}

.zguide-biz__body {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.zguide-biz__title {
	margin: 0 0 4px;
	font-size: 15.5px;
	font-weight: 700;
	color: #222;
}

.zguide-biz__cat {
	font-size: 11.5px;
	color: #c05f14;
	background: #fff0e5;
	align-self: flex-start;
	border-radius: 999px;
	padding: 1px 10px;
	margin-bottom: 4px;
}

.zguide-biz__intro {
	margin: 0 0 6px;
	font-size: 12.5px;
	line-height: 1.5;
	color: #8a8a8a;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.zguide-biz__more {
	font-size: 12.5px;
	color: #b8722a;
}

/* 相关文章网格（3 篇）：桌面 3 列，手机 1 列 */
.zguide-rel__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
}

@media (min-width: 768px) {
	.zguide-rel__list {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 14px;
	}

	.zguide-rel__grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 18px;
	}

	.zguide-rel__grid .zguide-card {
		flex-direction: column;
		padding: 0;
	}

	.zguide-rel__grid .zguide-card__thumb {
		flex: none;
		width: 100%;
		aspect-ratio: 16 / 9;
		border-radius: 0;
	}
}

/* ---- 首页生活指南模块 ---- */
.zguide-home__list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-bottom: 14px;
}

.zguide-home__more {
	display: inline-block;
	border: 1px solid #e2e2e2;
	border-radius: 999px;
	padding: 7px 22px;
	font-size: 14px;
	color: #555;
	text-decoration: none;
	transition: border-color .15s, color .15s;
}

.zguide-home__more:hover {
	border-color: #b8722a;
	color: #b8722a;
}

@media (max-width: 767px) {
	.zguide-home__list {
		display: flex;
		flex-direction: column;
		gap: 10px;
	}

	.zguide-home__list .zguide-card {
		flex-direction: row;
		align-items: stretch;
		gap: 12px;
		padding: 10px;
	}

	.zguide-home__list .zguide-card__thumb {
		flex: 0 0 96px;
		width: 96px;
		aspect-ratio: 1 / 1;
		border-radius: 10px;
	}

	.zguide-home__list .zguide-card__body {
		flex: 1 1 auto;
		padding: 2px 2px 2px 0;
	}
}

/* ---- 分页 / 空状态 ---- */
.zguide__pagination {
	margin-top: 30px;
	text-align: center;
}

.zguide__pagination .page-numbers {
	display: inline-block;
	min-width: 34px;
	padding: 6px 10px;
	margin: 0 3px;
	border: 1px solid #ececec;
	border-radius: 8px;
	color: #555;
	font-size: 14px;
	text-decoration: none;
	background: #fff;
}

.zguide__pagination .page-numbers.current {
	background: #b8722a;
	border-color: #b8722a;
	color: #fff;
}

.zguide__pagination .page-numbers:hover:not(.current) {
	border-color: #d9a441;
	color: #b8722a;
}

.zguide__empty {
	text-align: center;
	padding: 60px 16px;
	color: #999;
}

.zguide__empty p {
	margin: 0 0 14px;
	font-size: 15px;
}

.zguide__empty-home {
	color: #b8722a;
	text-decoration: none;
	border-bottom: 1px solid #d9a441;
}

/* =========================================================
 * Phase 1C-2：首页模块标题行 + 手机底部导航 + 返回顶部 + 查看全部页
 * ========================================================= */

/* ---- 首页三大模块：标题（左） + 查看全部（右） ---- */
.zaimo-hsec {
	margin: 24px 0;
}
.zaimo-hsec__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 14px;
	padding: 0 2px;
}
.zaimo-hsec__title {
	font-size: 19px;
	font-weight: 700;
	color: var(--zaimo-ink);
	margin: 0;
}
.zaimo-hsec__more {
	flex: 0 0 auto;
	font-size: 13px;
	color: var(--zaimo-accent);
	text-decoration: none;
	white-space: nowrap;
}
.zaimo-hsec__more:hover {
	color: var(--zaimo-accent-dark);
}

/* ---- 手机端固定底部导航（默认隐藏，仅手机端显示） ---- */
.zaimo-tabbar {
	display: none;
}

/* ---- 返回顶部按钮：全端统一样式（42px 圆形、固定定位） ----
 * 基础规则必须在媒体查询之外：曾因全部样式写在手机查询内，
 * 桌面端按钮零样式裸奔（默认灰底按钮 + SVG 撑到 1264px），
 * 形成页脚下方"巨大黑色箭头 + 大片灰色区域"。 */
.zaimo-totop {
	display: none;
	position: fixed;
	right: 15px;
	bottom: 28px;
	z-index: 1001;
	width: 42px;
	height: 42px;
	border: 0;
	border-radius: 50%;
	background: var(--zaimo-accent);
	color: #fff;
	align-items: center;
	justify-content: center;
	padding: 0;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	font: inherit;
	line-height: 1;
	-webkit-tap-highlight-color: transparent;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.22);
}
.zaimo-totop svg {
	width: 22px;
	height: 22px;
	stroke: currentColor;
	display: block;
}
.zaimo-totop.is-visible {
	display: flex;
}
.zaimo-totop:focus-visible {
	outline: 2px solid var(--zaimo-accent-dark);
	outline-offset: 2px;
}

@media (max-width: 767px) {
	/* 1C-11：手机端整站隐藏传统页脚（见下方「5)」规则），旧的页脚内避让
	      padding-bottom 已随之作废；底部让位统一由 .site-content padding-bottom
	      = 58px(导航高) + 安全区 + 20px 视觉间距 承担，保证最后一张卡片 /
	      分页按钮可完整滚到导航栏上方。 */

	.zaimo-tabbar {
		display: flex;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 1000;
		height: 58px;
		background: #fff;
		border-top: 1px solid #ececec;
		box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.06);
		padding-bottom: env(safe-area-inset-bottom);
	}
	.zaimo-tab {
		flex: 1 1 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 2px;
		color: #9a9089;
		font-size: 10.5px;
		line-height: 1;
		text-decoration: none;
		-webkit-tap-highlight-color: transparent;
	}
	.zaimo-tab svg {
		width: 22px;
		height: 22px;
		stroke: currentColor;
		display: block;
	}
	.zaimo-tab span {
		display: block;
	}
	/* 当前页高亮（网站橙色） */
	body.zaimo-tab--home .zaimo-tab[data-tab="home"],
	body.zaimo-tab--cat .zaimo-tab[data-tab="cat"],
	body.zaimo-tab--guide .zaimo-tab[data-tab="guide"],
	body.zaimo-tab--search .zaimo-tab[data-tab="search"] {
		color: var(--zaimo-accent);
	}

	/* 手机端：按钮上移避开固定底部导航 + 安全区（其余样式见全端基础规则） */
	.zaimo-totop {
		bottom: calc(58px + 14px + env(safe-area-inset-bottom));
	}
}

/* ---- 推荐商家 / 分类导航 页面（查看全部入口） ---- */
.zaimo-listpage,
.zaimo-catnav-page {
	max-width: 1080px;
	margin: 0 auto;
	padding: 18px 16px 30px;
}
.zaimo-listpage__hero,
.zaimo-catnav-page__hero {
	text-align: center;
	margin-bottom: 22px;
}
.zaimo-listpage__title,
.zaimo-catnav-page__title {
	font-size: 24px;
	font-weight: 700;
	color: var(--zaimo-ink);
	margin: 0 0 6px;
}
.zaimo-listpage__sub,
.zaimo-catnav-page__sub {
	color: var(--zaimo-ink-soft);
	font-size: 14px;
	margin: 0;
}
.zaimo-listpage__pagination {
	margin-top: 26px;
	text-align: center;
}
.zaimo-listpage__pagination .page-numbers {
	display: inline-block;
	min-width: 34px;
	padding: 7px 11px;
	margin: 0 3px;
	border: 1px solid #ececec;
	border-radius: 8px;
	color: #555;
	font-size: 14px;
	text-decoration: none;
	background: #fff;
}
.zaimo-listpage__pagination .page-numbers.current {
	background: var(--zaimo-accent);
	border-color: var(--zaimo-accent);
	color: #fff;
}
.zaimo-listpage__empty {
	text-align: center;
	padding: 60px 16px;
	color: #999;
}

/* 分类导航：六大分类网格（与首页一致的名称/图标/颜色）
   Phase 1C-3：手机端统一 3 列 × 2 行；去除卡片边框/阴影，改为与首页六大分类一致的
   彩色圆角图标 + 名称 + 说明图标风格，整体紧凑。桌面端同样 3 列（合理布局，不强制手机列数）。 */
.zaimo-catnav-page__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px 10px;
}
.zaimo-catnav-page__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 6px 4px;
	background: transparent;
	border: 0;
	border-radius: 12px;
	text-decoration: none;
	box-shadow: none;
}
.zaimo-catnav-page__icon {
	width: 56px;
	height: 56px;
	border-radius: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.zaimo-catnav-page__icon svg {
	width: 30px;
	height: 30px;
	stroke: currentColor;
}
.zaimo-catnav-page__name {
	font-size: 17px;
	font-weight: 700;
	color: var(--zaimo-ink);
}
.zaimo-catnav-page__sub {
	font-size: 12px;
	color: var(--zaimo-ink-soft);
}

/* ============================================================
   Phase 1C-3：全站手机端标题 / 顶部空白 / 页脚 统一优化
   根因：父主题 site_hero 在「自定义模板页」与「指南分类归档」重复输出
   <h1 class="page__title/entry-title">（header-hero--title / --cover），
   与页面自带标题块重复；且 .site-content 默认 3rem 上下内边距过大。
   已在 functions.php 用 hivetheme/v1/areas/site_hero 过滤器从源头移除这些页面的
   hero（整块 <section class="header-hero"> 不进入 DOM），此处用「页面作用域」CSS：
     1) 兜底隐藏父 hero（与 1B-6 同思路，双保险）；
     2) 压缩顶部留白（导航→主标题 ≈ 20px）；
     3) 手机端指南主标题收敛到 24px；
     4) 压缩 .site-content 底部留白，减少页脚上方空白；
     5) 手机端精简页脚（隐藏与底部导航重复的菜单，保留版权）；
   全部限定作用域，不影响桌面与其他页面，不改动任何核心源码。
   ============================================================ */

/* 1) 兜底：若任何路径仍渲染出父主题 hero，这些页面一律不占位。 */
body.page-template-template-categories-php .header-hero,
body.page-template-template-featured-php .header-hero,
body.page-template-template-guide-php .header-hero,
body.zaimo-guide-archive .header-hero {
	display: none !important;
}

/* 2) 压缩这些页面的 .site-content 顶部留白（父主题默认 48px 过大）。 */
body.page-template-template-categories-php .site-content,
body.page-template-template-featured-php .site-content,
body.page-template-template-guide-php .site-content,
body.zaimo-guide-archive .site-content {
	padding-top: 20px;
}

/* 3) 手机端：指南主标题收敛到 24px（原 30px 偏大），并收窄标题区顶部间距。 */
@media (max-width: 767px) {
	body.page-template-template-guide-php .zguide__hero,
	body.zaimo-guide-archive .zguide__hero {
		padding-top: 6px;
	}
	body.page-template-template-guide-php .zguide__hero-title,
	body.zaimo-guide-archive .zguide__hero-title {
		font-size: 24px;
	}
}

/* 4) 全站手机端压缩 .site-content 上下留白：顶部 20px、底部 24px。
      具体页面（首页 / 分类归档 / 上述模板页）已有更具体规则覆盖，互不冲突；
      其余页面（商家详情 / 404 / 找商家列表等）统一受益，减少大块空白。 */
@media (max-width: 767px) {
	.site-content {
		padding-top: 20px;
		/* 1C-11：底部让位 = tabbar 58px + 安全区 + 20px 视觉间距。
		      页脚已隐藏，这是最后一个内容模块到固定导航之间的全部间距，
		      视觉留白即 20px（在 16–24px 要求区间内）。 */
		padding-bottom: calc(58px + env(safe-area-inset-bottom) + 20px);
	}
}

/* 5) 1C-11：手机端整站隐藏传统页脚（网站名称/宣传语/页脚导航/版权/
      分隔线与背景全部在内，display:none 不留任何占位空白）。
      固定底部导航保留；桌面端（≥768px）页脚不受影响。
      返回顶部按钮 bottom 已在导航上方 14px，不遮挡导航。 */
@media (max-width: 767px) {
	.site-footer {
		display: none !important;
	}
}

/* 6) 全部分类页：手机端图标尺寸与文字收敛（与首页六大分类观感一致，文字不溢出）。 */
@media (max-width: 767px) {
	.zaimo-catnav-page__icon {
		width: 48px;
		height: 48px;
	}
	.zaimo-catnav-page__icon svg {
		width: 26px;
		height: 26px;
	}
	.zaimo-catnav-page__name {
		font-size: 15px;
	}
	.zaimo-catnav-page__sub {
		font-size: 11px;
		white-space: normal;
		line-height: 1.35;
	}
}

/* ============================================================
   Phase 1C-3 补充：首页手机端模块左右对齐统一（16px 基准）
   根因（已用真实浏览器测量 375/390/430 证实）：
     父主题把首页 hero 内容包进 .container(padding 32px) 再包一层
     .header-hero__content(padding 20px) —— 父子重复 padding，
     导致顶部模块（轮播/公告/搜索/六大分类）左内缩 52px；
     而底部 HP 列表（推荐/最新/指南/卡片）只在 .container 内，左内缩 32px。
     顶部比底部多 20px → 视觉「上窄下宽」。
   修复原则：只改共同容器，不给各模块打补丁；不动轮播比例 / 卡片样式 /
   分类配色 / 现有功能；桌面端布局保持不变。
     1) 手机端统一主内容区 .container 左右内边距 = 16px（顶部 hero 容器与
        底部内容容器同为 .container，对齐到同一条 16px 线）；
     2) 手机端移除首页 hero 内 .header-hero__content 的额外 20px（消重）；
     3) 压缩「六大分类 → 推荐商家」之间的多余空白。
   ============================================================ */
@media (max-width: 767px) {
	/* 1) 统一主内容区左右内边距为 16px（覆盖父主题 2rem=32px）。
	      顶部与底部模块共用 .container，自然对齐到同一 16px 对齐线。 */
	.container {
		padding-left: 16px;
		padding-right: 16px;
	}

	/* 2) 移除首页 hero 内 .header-hero__content 的额外 20px 水平内边距，
	      否则顶部模块会比底部多 20px（父子重复 padding 使顶部过窄）。 */
	body.home .header-hero__content {
		padding-left: 0;
		padding-right: 0;
	}

	/* 3) 压缩「六大分类 → 推荐商家」之间的空白：
	      原 = hero padding-bottom(30) + site-content padding-top(20)
	            + 首页区块 margin-top(24) ≈ 74px；
	      改为 = hero 底部 8px + 首页 site-content 顶部 8px
	            + 首页区块间距 16px ≈ 32px。 */
	body.home .header-hero--title {
		padding-bottom: 8px;
	}
	body.home .site-content {
		padding-top: 8px;
	}
	body.home .zaimo-hsec {
		margin: 16px 0;
	}

	/* 4) 全部分类 / 推荐商家页：自身 16px 水平 padding 与 .container 的 16px
	      重复（父子叠加导致这两页内容过窄 32px），消除子层重复。 */
	.zaimo-catnav-page,
	.zaimo-listpage {
		padding-left: 0;
		padding-right: 0;
	}
}

/* ============================================================
   Phase 1C-3 第二轮补充：桌面端全站内容对齐统一（基准容器线）
   根因（真实浏览器祖先链实测，1280 视口）：
     全站基准线 = .container 内容区（宽 1140px、居中，左缘 70px）；
     但三类模块另立对齐线：
       首页顶部  L=182 ← .header-hero__content(maxW 1080+pad 20) 再嵌
                         .zaimo-home-top(1080) 双重收窄；
       全部分类/推荐商家页 L=116 ← .zaimo-catnav-page(maxW 1080+pad 16)；
       （正文/页脚/商家列表 L=70 已对齐基准线）
   修复：统一到 .container 内容区（≈1140px，符合"1200px 左右"），
     只改外层容器，不改内部网格。
   ============================================================ */
@media (min-width: 768px) {
	/* 1) 首页顶部：解除 hero 内容盒的 max-width/padding/居中三重收窄，
	      让 .zaimo-home-top 直接对齐 .container 内容区。 */
	body.home .header-hero__content {
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
	}
	.zaimo-home-top {
		max-width: 1140px;
		margin: 0 auto;
	}

	/* 2) 全部分类 / 推荐商家页：去掉 1080px 收窄与水平 padding，
	      铺满 .container 内容区，与正文/页脚同一条对齐线。 */
	.zaimo-catnav-page,
	.zaimo-listpage {
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
	}
}

/* ============================================================
   Phase 1C-3 第二轮补充：桌面端上下间距规律化
   实测（1280）：六分类→推荐 119px（hero pb 30 + site-content pt 48
   + 区块 mt 24 叠加）过大；内容→页脚 50~114px 不一（footer mt 50 +
   site-content pb 48 叠加）。压缩到有规律的范围，不拥挤。
   ============================================================ */

/* 1) 页脚与内容间距统一：50 → 28px（手机端不变，另有 tabbar 避让） */
.site-footer {
	margin-top: 28px;
}

@media (min-width: 768px) {
	/* 2) 首页「六大分类 → 推荐商家」：30+48+24 ≈ 102px → 约 52px */
	body.home .header-hero--title {
		padding-bottom: 12px;
	}
	body.home .site-content {
		padding-top: 16px;
	}

	/* 3) 桌面端正文底部间距统一：父主题 4rem=64px → 32px，
	      使全站「内容→页脚」= 32 + 28（页脚 margin）= 60px，规律一致。
	      （手机端 pb 已由 Phase 1C-3 设为 24px → 52px。） */
	.site-content {
		padding-bottom: 32px;
	}

	/* 4) 桌面端分类页：搜索框下方与商家卡片保持合理间距（手机端 16px 已设）。 */
	body.zaimo-cat-page .hp-page__header,
	body.tax-hp_listing_category .hp-page__header {
		margin-bottom: 24px !important;
	}
}

/* ============================================================
   Phase 1C-4d / V1.1：商家详情页布局与功能优化
   顺序：标题 → 分类标签 → 图片轮播 → 在线下单 → 商家介绍
         → 联系商家 → 相关文章。名称区紧凑化，无负 margin。
   ============================================================ */

/* ---- 1) 名称区紧凑化 ---- */
/* 注：分类标签由 ListingHive 父主题提升到标题之前（_order 5），
   正好符合「分类标签 → 名称」的目标顺序；details--primary 容器
   在移除收录时间后为空，自动不渲染。 */
/* 分类标签 → 名称间距 8–12px */
.hp-listing--view-page .hp-listing__categories {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 10px;
}

.hp-listing--view-page .hp-listing__categories a {
	display: inline-block;
	padding: 2px 12px;
	border-radius: 999px;
	background: #fff0e5;
	color: #c05f14;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.7;
	text-decoration: none;
}

/* 名称 → 图片间距 12–20px（HP 用 :not(:last-child) 设 2rem，须同特异性覆盖） */
.hp-listing--view-page .hp-listing__title:not(:last-child) {
	margin-bottom: 14px;
}

.hp-listing--view-page .hp-listing__title {
	overflow-wrap: anywhere;
}

/* ---- 2) 图片轮播 ---- */
/* HP 用 .hp-listing--view-page .hp-listing__images:not(:last-child) 设 2rem，同特异性覆盖为 0，
   与下单按钮的 16px 间距由按钮容器 margin-top 提供。 */
.hp-listing--view-page .hp-listing__images:not(:last-child) {
	margin-bottom: 0;
}

/* 图片计数（1/6）：右下角深色胶囊；单张时 JS 不注入 */
.zaimo-imgcount {
	position: absolute;
	right: 10px;
	bottom: 10px;
	z-index: 2;
	padding: 2px 10px;
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.55);
	color: #fff;
	font-size: 12px;
	line-height: 1.6;
	pointer-events: none;
}

.hp-listing--view-page .hp-listing__images {
	position: relative;
}

/* ---- 3) 在线下单按钮容器 ---- */
.zaimo-sec-order {
	display: flex;
	justify-content: center;
	margin: 16px 0 4px; /* 按钮与图片间距 16px */
}

/* ---- 4) 介绍标题与正文 ---- */
.zaimo-sec-title {
	margin: 22px 0 10px;
	font-size: 18px;
	font-weight: 800;
	color: #222;
}

.hp-listing--view-page .hp-listing__description {
	font-size: 14.5px;
	line-height: 1.7;
	color: #3d3d3d;
}

/* 介绍 → 联系商家间距（HP :not 2rem → 18px，达 16–24px） */
.hp-listing--view-page .hp-listing__description:not(:last-child) {
	margin-bottom: 18px;
}

/* ---- 5) 联系商家 / 相关文章间距 ---- */
.hp-listing--view-page .zguide-rel--listing {
	margin-top: 22px; /* 相关文章与上文 16–24px */
}

/* ---- 6) 手机端紧凑化（≤767px） ---- */
@media (max-width: 767px) {
	.hp-listing--view-page .hp-listing__title {
		font-size: 20px;
	}

	.hp-listing--view-page .hp-listing__title:not(:last-child) {
		margin-bottom: 12px;
	}

	.hp-listing--view-page .hp-listing__categories {
		margin: 0 0 8px;
	}

	.zaimo-sec-order {
		margin: 14px 0 2px;
	}

	.zaimo-sec-title {
		margin: 18px 0 8px;
		font-size: 17px;
	}

	/* slick 圆点收窄，避免与计数重叠 */
	.hp-listing--view-page .slick-dots {
		bottom: 8px;
	}
}

/* ===== 全站商家卡片「在线下单」按钮 V1.0 =====
   渲染于 zaimo-life 11C 段注入的 part（article 内、footer 之后），
   绝对定位到卡片右上角；无有效玺掌柜链接时 DOM 不存在，零占位。
   全站颜色/尺寸/圆角统一：白底 1px 橙描边、橙字 12px、80×28 圆角 14。 */
.hp-listing--view-block {
	position: relative;
}

.zaimo-card-order {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 6;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 28px;
	border-radius: 14px;
	background: #fff;
	border: 1px solid var(--zaimo-accent);
	color: var(--zaimo-accent);
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.02em;
	text-align: center;
	text-decoration: none;
	box-shadow: 0 1px 4px rgba(43, 35, 32, 0.12);
	transition: background 0.15s ease, color 0.15s ease;
}

.zaimo-card-order span {
	display: block;
}

.zaimo-card-order:hover,
.zaimo-card-order:focus-visible {
	background: var(--zaimo-accent);
	color: #fff;
	text-decoration: none;
}

.zaimo-card-order:focus-visible {
	outline: 2px solid var(--zaimo-accent-dark);
	outline-offset: 2px;
}

/* 手机端横向紧凑卡（1B-10）：按钮贴卡片内边距右上角；
   仅对带按钮的卡片（:has 匹配）给标题留出按钮宽度，避免文字被遮。 */
@media (max-width: 767px) {
	.zaimo-card-order {
		top: 12px;
		right: 12px;
	}

	.hp-listing--view-block:has(.zaimo-card-order) .hp-listing__title {
		padding-right: 88px;
	}
}
