/* ============================================================
   HSM Inner-page width & spacing tweaks
   Loaded on blog / single post / page / shop archive — NOT on
   homepage or single product (those have their own layouts).
   ============================================================ */

/* ---------- Shared: section breathing room ---------- */
.hsm-inner-page #main-content {
	padding-bottom: 80px;
}

.hsm-inner-page .page-wrap {
	padding-top: 0;
}

/* ---------- Blog list (index / archive / category) ---------- */
.hsm-inner-page.blog .container,
.hsm-inner-page.archive:not(.woocommerce):not(.post-type-archive-product) .container {
	max-width: 1200px;
}

.hsm-inner-page.blog .wrap-blog-article,
.hsm-inner-page.archive .wrap-blog-article {
	gap: 24px;
}

.hsm-inner-page.blog .blog-archive .post,
.hsm-inner-page.archive .blog-archive .post {
	background: #fff;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 2px 14px rgba(17, 24, 39, 0.04);
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.hsm-inner-page.blog .blog-archive .post:hover,
.hsm-inner-page.archive .blog-archive .post:hover {
	box-shadow: 0 12px 32px rgba(17, 24, 39, 0.08);
	transform: translateY(-2px);
}

/* ---------- Single post ---------- */
.hsm-inner-page.single-post .s-blog-single .container {
	max-width: 960px;
}

.hsm-inner-page.single-post .s-blog-single .col-lg-8 {
	flex: 0 0 100%;
	max-width: 100%;
}

.hsm-inner-page.single-post .entry-content,
.hsm-inner-page.single-post .post-content {
	font-size: 16px;
	line-height: 1.85;
	color: #333;
}

.hsm-inner-page.single-post .entry-content > * + *,
.hsm-inner-page.single-post .post-content > * + * {
	margin-top: 1.25em;
}

.hsm-inner-page.single-post .entry-content img {
	border-radius: 12px;
}

.hsm-inner-page.single-post .entry-title,
.hsm-inner-page.single-post .post-title {
	font-size: 32px;
	line-height: 1.35;
	margin: 0 0 16px;
}

/* ---------- Page (about / static) ---------- */
.hsm-inner-page.page:not(.page-template-elementor_canvas):not(.page-template-elementor_header_footer) .wrap-content-area {
	max-width: 880px;
	margin: 0 auto;
	background: #fff;
	border-radius: 18px;
	padding: 48px 56px;
	box-shadow: 0 2px 18px rgba(17, 24, 39, 0.04);
}

.hsm-inner-page.page:not(.page-template-elementor_canvas):not(.page-template-elementor_header_footer) .main-content {
	font-size: 16px;
	line-height: 1.85;
	color: #333;
}

.hsm-inner-page.page:not(.page-template-elementor_canvas):not(.page-template-elementor_header_footer) .main-content h1,
.hsm-inner-page.page:not(.page-template-elementor_canvas):not(.page-template-elementor_header_footer) .main-content h2,
.hsm-inner-page.page:not(.page-template-elementor_canvas):not(.page-template-elementor_header_footer) .main-content h3 {
	margin-top: 1.5em;
	margin-bottom: 0.6em;
}

/* ---------- Shop archive / product category ---------- */
.hsm-inner-page.woocommerce.archive .container,
.hsm-inner-page.post-type-archive-product .container,
.hsm-inner-page.tax-product_cat .container {
	max-width: 1400px;
}

.hsm-inner-page.woocommerce.archive .tf-shop-control,
.hsm-inner-page.post-type-archive-product .tf-shop-control,
.hsm-inner-page.tax-product_cat .tf-shop-control {
	margin-bottom: 28px;
}

.hsm-inner-page.woocommerce.archive ul.products,
.hsm-inner-page.post-type-archive-product ul.products,
.hsm-inner-page.tax-product_cat ul.products {
	gap: 24px;
}

/* ---------- Page title fallback for pages that previously had a hero ---------- */
.hsm-inner-page.single-post .post-wrap > article > .entry-header,
.hsm-inner-page.page .main-content > header {
	margin-bottom: 24px;
}

/* ---------- Responsive ---------- */
@media (max-width: 991.98px) {
	.hsm-inner-page.page:not(.page-template-elementor_canvas):not(.page-template-elementor_header_footer) .wrap-content-area {
		padding: 32px 24px;
		border-radius: 14px;
	}

	.hsm-inner-page.single-post .entry-title,
	.hsm-inner-page.single-post .post-title {
		font-size: 26px;
	}
}

@media (max-width: 575.98px) {
	.hsm-inner-page #main-content {
		padding-bottom: 56px;
	}

	.hsm-inner-page.page:not(.page-template-elementor_canvas):not(.page-template-elementor_header_footer) .wrap-content-area {
		padding: 24px 18px;
	}
}

/* ============================================================
   Shop archive polish (商店列表)
   Scoped to body.hsm-inner-page.woocommerce.archive — runs on the
   shop, product categories, and tag archives.
   ============================================================ */

.hsm-inner-page.woocommerce.archive,
.hsm-inner-page.post-type-archive-product,
.hsm-inner-page.tax-product_cat {
	--hsm-shop-primary: #f15a2b;
	--hsm-shop-primary-soft: #fdebe3;
	--hsm-shop-border: #e6e6e6;
	--hsm-shop-card-bg: #ffffff;
	--hsm-shop-muted: #707070;
}

/* ---------- Top control bar ---------- */
.hsm-inner-page.woocommerce.archive .meta-wrap,
.hsm-inner-page.post-type-archive-product .meta-wrap,
.hsm-inner-page.tax-product_cat .meta-wrap {
	background: var(--hsm-shop-card-bg);
	border: 1px solid var(--hsm-shop-border);
	border-radius: 16px;
	padding: 14px 20px;
	margin-bottom: 24px;
	box-shadow: 0 2px 14px rgba(17, 24, 39, 0.04);
}

.hsm-inner-page.woocommerce.archive .tf-shop-control,
.hsm-inner-page.post-type-archive-product .tf-shop-control,
.hsm-inner-page.tax-product_cat .tf-shop-control {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 0 !important;
	flex-wrap: wrap;
}

.hsm-inner-page.woocommerce.archive .tf-group-filter,
.hsm-inner-page.post-type-archive-product .tf-group-filter,
.hsm-inner-page.tax-product_cat .tf-group-filter {
	display: inline-flex;
	gap: 10px;
	align-items: center;
	flex-wrap: wrap;
}

/* Filter button — pill */
.hsm-inner-page.woocommerce.archive .tf-btn-filter,
.hsm-inner-page.post-type-archive-product .tf-btn-filter,
.hsm-inner-page.tax-product_cat .tf-btn-filter {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 16px;
	border: 1px solid var(--hsm-shop-border);
	border-radius: 999px;
	background: #fff;
	color: #1a1a1a;
	font-size: 13px;
	transition: all 0.2s ease;
}
.hsm-inner-page.woocommerce.archive .tf-btn-filter:hover,
.hsm-inner-page.post-type-archive-product .tf-btn-filter:hover,
.hsm-inner-page.tax-product_cat .tf-btn-filter:hover {
	border-color: var(--hsm-shop-primary);
	color: var(--hsm-shop-primary);
}

/* Sort dropdown — pill */
.hsm-inner-page.woocommerce.archive .tf-dropdown-sort,
.hsm-inner-page.post-type-archive-product .tf-dropdown-sort,
.hsm-inner-page.tax-product_cat .tf-dropdown-sort {
	border: 1px solid var(--hsm-shop-border);
	border-radius: 999px;
	background: #fff;
	overflow: hidden;
}
.hsm-inner-page.woocommerce.archive .tf-dropdown-sort .btn-select,
.hsm-inner-page.post-type-archive-product .tf-dropdown-sort .btn-select,
.hsm-inner-page.tax-product_cat .tf-dropdown-sort .btn-select {
	padding: 8px 16px;
	font-size: 13px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #1a1a1a;
	cursor: pointer;
}
.hsm-inner-page.woocommerce.archive .tf-dropdown-sort .dropdown-menu,
.hsm-inner-page.post-type-archive-product .tf-dropdown-sort .dropdown-menu,
.hsm-inner-page.tax-product_cat .tf-dropdown-sort .dropdown-menu {
	border: 1px solid var(--hsm-shop-border);
	border-radius: 12px;
	padding: 6px;
	box-shadow: 0 12px 32px rgba(17, 24, 39, 0.08);
	margin-top: 6px;
}
.hsm-inner-page.woocommerce.archive .tf-dropdown-sort .select-item,
.hsm-inner-page.post-type-archive-product .tf-dropdown-sort .select-item,
.hsm-inner-page.tax-product_cat .tf-dropdown-sort .select-item {
	padding: 8px 12px;
	border-radius: 8px;
	font-size: 13px;
	cursor: pointer;
	transition: background 0.15s ease;
}
.hsm-inner-page.woocommerce.archive .tf-dropdown-sort .select-item:hover,
.hsm-inner-page.post-type-archive-product .tf-dropdown-sort .select-item:hover,
.hsm-inner-page.tax-product_cat .tf-dropdown-sort .select-item:hover {
	background: var(--hsm-shop-primary-soft);
	color: var(--hsm-shop-primary);
}
.hsm-inner-page.woocommerce.archive .tf-dropdown-sort .select-item.active,
.hsm-inner-page.post-type-archive-product .tf-dropdown-sort .select-item.active,
.hsm-inner-page.tax-product_cat .tf-dropdown-sort .select-item.active {
	background: var(--hsm-shop-primary-soft);
	color: var(--hsm-shop-primary);
	font-weight: 500;
}

/* Layout switcher */
.hsm-inner-page.woocommerce.archive .tf-control-layout,
.hsm-inner-page.post-type-archive-product .tf-control-layout,
.hsm-inner-page.tax-product_cat .tf-control-layout {
	display: inline-flex;
	gap: 6px;
	margin: 0;
	padding: 4px;
	background: #f6f6f6;
	border-radius: 999px;
	list-style: none;
}
.hsm-inner-page.woocommerce.archive .tf-view-layout-switch,
.hsm-inner-page.post-type-archive-product .tf-view-layout-switch,
.hsm-inner-page.tax-product_cat .tf-view-layout-switch {
	width: 32px;
	height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	cursor: pointer;
	color: #999;
	transition: all 0.2s ease;
}
.hsm-inner-page.woocommerce.archive .tf-view-layout-switch:hover,
.hsm-inner-page.post-type-archive-product .tf-view-layout-switch:hover,
.hsm-inner-page.tax-product_cat .tf-view-layout-switch:hover {
	color: var(--hsm-shop-primary);
}
.hsm-inner-page.woocommerce.archive .tf-view-layout-switch.active,
.hsm-inner-page.post-type-archive-product .tf-view-layout-switch.active,
.hsm-inner-page.tax-product_cat .tf-view-layout-switch.active {
	background: #fff;
	color: var(--hsm-shop-primary);
	box-shadow: 0 1px 3px rgba(17, 24, 39, 0.08);
}

/* ---------- Result / applied filter row ---------- */
.hsm-inner-page.woocommerce.archive .meta-filter-shop,
.hsm-inner-page.post-type-archive-product .meta-filter-shop,
.hsm-inner-page.tax-product_cat .meta-filter-shop {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin: 0 0 16px;
}
.hsm-inner-page.woocommerce.archive .meta-filter-shop .count-text,
.hsm-inner-page.post-type-archive-product .meta-filter-shop .count-text,
.hsm-inner-page.tax-product_cat .meta-filter-shop .count-text {
	font-size: 13px;
	color: var(--hsm-shop-muted);
}

/* ---------- Product card ---------- */
.hsm-inner-page.woocommerce.archive .card-product.grid,
.hsm-inner-page.post-type-archive-product .card-product.grid,
.hsm-inner-page.tax-product_cat .card-product.grid {
	background: var(--hsm-shop-card-bg);
	border-radius: 16px;
	overflow: hidden;
	padding: 12px;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	box-shadow: 0 2px 14px rgba(17, 24, 39, 0.04);
}
.hsm-inner-page.woocommerce.archive .card-product.grid:hover,
.hsm-inner-page.post-type-archive-product .card-product.grid:hover,
.hsm-inner-page.tax-product_cat .card-product.grid:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 36px rgba(17, 24, 39, 0.10);
}

/* image wrapper */
.hsm-inner-page.woocommerce.archive .card-product.grid .card-product-wrapper,
.hsm-inner-page.post-type-archive-product .card-product.grid .card-product-wrapper,
.hsm-inner-page.tax-product_cat .card-product.grid .card-product-wrapper {
	border-radius: 12px;
	overflow: hidden;
	background: #f6f6f6;
	margin-bottom: 14px;
}
.hsm-inner-page.woocommerce.archive .card-product.grid .card-product-wrapper img,
.hsm-inner-page.post-type-archive-product .card-product.grid .card-product-wrapper img,
.hsm-inner-page.tax-product_cat .card-product.grid .card-product-wrapper img {
	transition: transform 0.5s ease;
}
.hsm-inner-page.woocommerce.archive .card-product.grid:hover .card-product-wrapper img,
.hsm-inner-page.post-type-archive-product .card-product.grid:hover .card-product-wrapper img,
.hsm-inner-page.tax-product_cat .card-product.grid:hover .card-product-wrapper img {
	transform: scale(1.04);
}

/* badges (sale, hot, etc.) — bring them inboard a bit */
.hsm-inner-page.woocommerce.archive .card-product.grid .on-sale,
.hsm-inner-page.woocommerce.archive .card-product.grid .tf-product-badges,
.hsm-inner-page.post-type-archive-product .card-product.grid .on-sale,
.hsm-inner-page.post-type-archive-product .card-product.grid .tf-product-badges,
.hsm-inner-page.tax-product_cat .card-product.grid .on-sale,
.hsm-inner-page.tax-product_cat .card-product.grid .tf-product-badges {
	top: 14px;
	left: 14px;
	border-radius: 999px;
	padding: 4px 10px;
	font-size: 11px;
	font-weight: 500;
	background: var(--hsm-shop-primary);
	color: #fff;
}

/* info block */
.hsm-inner-page.woocommerce.archive .card-product.grid .card-product-info,
.hsm-inner-page.post-type-archive-product .card-product.grid .card-product-info,
.hsm-inner-page.tax-product_cat .card-product.grid .card-product-info {
	padding: 4px 6px 6px;
}
.hsm-inner-page.woocommerce.archive .card-product.grid .card-product-info a.title,
.hsm-inner-page.woocommerce.archive .card-product.grid .card-product-info .title,
.hsm-inner-page.post-type-archive-product .card-product.grid .card-product-info a.title,
.hsm-inner-page.post-type-archive-product .card-product.grid .card-product-info .title,
.hsm-inner-page.tax-product_cat .card-product.grid .card-product-info a.title,
.hsm-inner-page.tax-product_cat .card-product.grid .card-product-info .title {
	font-size: 15px;
	color: #1a1a1a;
	line-height: 1.45;
	font-weight: 500;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 44px;
}
.hsm-inner-page.woocommerce.archive .card-product.grid .card-product-info a.title:hover,
.hsm-inner-page.post-type-archive-product .card-product.grid .card-product-info a.title:hover,
.hsm-inner-page.tax-product_cat .card-product.grid .card-product-info a.title:hover {
	color: var(--hsm-shop-primary);
}

/* price */
.hsm-inner-page.woocommerce.archive .card-product.grid .price,
.hsm-inner-page.post-type-archive-product .card-product.grid .price,
.hsm-inner-page.tax-product_cat .card-product.grid .price {
	display: inline-flex;
	align-items: baseline;
	gap: 8px;
	margin-top: 6px;
}
.hsm-inner-page.woocommerce.archive .card-product.grid .price ins,
.hsm-inner-page.woocommerce.archive .card-product.grid .price > .amount,
.hsm-inner-page.post-type-archive-product .card-product.grid .price ins,
.hsm-inner-page.post-type-archive-product .card-product.grid .price > .amount,
.hsm-inner-page.tax-product_cat .card-product.grid .price ins,
.hsm-inner-page.tax-product_cat .card-product.grid .price > .amount {
	color: var(--hsm-shop-primary);
	font-weight: 700;
	font-size: 17px;
	text-decoration: none;
}
.hsm-inner-page.woocommerce.archive .card-product.grid .price del,
.hsm-inner-page.post-type-archive-product .card-product.grid .price del,
.hsm-inner-page.tax-product_cat .card-product.grid .price del {
	color: var(--hsm-shop-muted);
	font-size: 13px;
}

/* rating row */
.hsm-inner-page.woocommerce.archive .card-product.grid .product-rating,
.hsm-inner-page.post-type-archive-product .card-product.grid .product-rating,
.hsm-inner-page.tax-product_cat .card-product.grid .product-rating {
	margin-top: 4px;
}
.hsm-inner-page.woocommerce.archive .card-product.grid .list-star,
.hsm-inner-page.post-type-archive-product .card-product.grid .list-star,
.hsm-inner-page.tax-product_cat .card-product.grid .list-star {
	color: #ff9900;
}

/* Add to cart / hover actions */
.hsm-inner-page.woocommerce.archive .card-product.grid .list-product-btn,
.hsm-inner-page.post-type-archive-product .card-product.grid .list-product-btn,
.hsm-inner-page.tax-product_cat .card-product.grid .list-product-btn {
	gap: 8px;
}
.hsm-inner-page.woocommerce.archive .card-product.grid .list-product-btn .box-icon,
.hsm-inner-page.post-type-archive-product .card-product.grid .list-product-btn .box-icon,
.hsm-inner-page.tax-product_cat .card-product.grid .list-product-btn .box-icon {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #fff;
	border: 1px solid var(--hsm-shop-border);
	color: #1a1a1a;
	box-shadow: 0 2px 10px rgba(17, 24, 39, 0.06);
	transition: all 0.2s ease;
}
.hsm-inner-page.woocommerce.archive .card-product.grid .list-product-btn .box-icon:hover,
.hsm-inner-page.post-type-archive-product .card-product.grid .list-product-btn .box-icon:hover,
.hsm-inner-page.tax-product_cat .card-product.grid .list-product-btn .box-icon:hover {
	background: var(--hsm-shop-primary);
	color: #fff;
	border-color: var(--hsm-shop-primary);
}

/* In-card "Add to cart" / "Quick add" buttons */
.hsm-inner-page.woocommerce.archive .card-product.grid .tf-btn,
.hsm-inner-page.post-type-archive-product .card-product.grid .tf-btn,
.hsm-inner-page.tax-product_cat .card-product.grid .tf-btn {
	border-radius: 999px;
	background: var(--hsm-shop-primary);
	color: #fff;
	border: 0;
	padding: 10px 18px;
	font-size: 13px;
	font-weight: 500;
	transition: background 0.2s ease;
}
.hsm-inner-page.woocommerce.archive .card-product.grid .tf-btn:hover,
.hsm-inner-page.post-type-archive-product .card-product.grid .tf-btn:hover,
.hsm-inner-page.tax-product_cat .card-product.grid .tf-btn:hover {
	background: #d54a1f;
	color: #fff;
}

/* ---------- Sidebar (filter widgets) ---------- */
.hsm-inner-page.woocommerce.archive .sidebar-filter .widget,
.hsm-inner-page.post-type-archive-product .sidebar-filter .widget,
.hsm-inner-page.tax-product_cat .sidebar-filter .widget {
	background: #fff;
	border: 1px solid var(--hsm-shop-border);
	border-radius: 14px;
	padding: 18px 20px;
	margin-bottom: 18px;
}
.hsm-inner-page.woocommerce.archive .sidebar-filter .widget-title,
.hsm-inner-page.post-type-archive-product .sidebar-filter .widget-title,
.hsm-inner-page.tax-product_cat .sidebar-filter .widget-title {
	font-size: 15px;
	font-weight: 600;
	margin: 0 0 12px;
	color: #1a1a1a;
}

/* ---------- Pagination ---------- */
.hsm-inner-page.woocommerce.archive .woocommerce-pagination ul.page-numbers,
.hsm-inner-page.post-type-archive-product .woocommerce-pagination ul.page-numbers,
.hsm-inner-page.tax-product_cat .woocommerce-pagination ul.page-numbers {
	display: inline-flex;
	gap: 6px;
	border: 0;
	padding: 0;
	margin: 32px auto 0;
	justify-content: center;
}
.hsm-inner-page.woocommerce.archive .woocommerce-pagination .page-numbers,
.hsm-inner-page.post-type-archive-product .woocommerce-pagination .page-numbers,
.hsm-inner-page.tax-product_cat .woocommerce-pagination .page-numbers {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 1px solid var(--hsm-shop-border);
	background: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #1a1a1a;
	font-size: 13px;
	transition: all 0.2s ease;
}
.hsm-inner-page.woocommerce.archive .woocommerce-pagination .page-numbers:hover,
.hsm-inner-page.post-type-archive-product .woocommerce-pagination .page-numbers:hover,
.hsm-inner-page.tax-product_cat .woocommerce-pagination .page-numbers:hover,
.hsm-inner-page.woocommerce.archive .woocommerce-pagination .page-numbers.current,
.hsm-inner-page.post-type-archive-product .woocommerce-pagination .page-numbers.current,
.hsm-inner-page.tax-product_cat .woocommerce-pagination .page-numbers.current {
	background: var(--hsm-shop-primary);
	color: #fff;
	border-color: var(--hsm-shop-primary);
}

/* ---------- Responsive ---------- */
@media (max-width: 767.98px) {
	.hsm-inner-page.woocommerce.archive .meta-wrap,
	.hsm-inner-page.post-type-archive-product .meta-wrap,
	.hsm-inner-page.tax-product_cat .meta-wrap {
		padding: 12px;
		border-radius: 12px;
	}
	.hsm-inner-page.woocommerce.archive .tf-shop-control,
	.hsm-inner-page.post-type-archive-product .tf-shop-control,
	.hsm-inner-page.tax-product_cat .tf-shop-control {
		gap: 10px;
	}
	.hsm-inner-page.woocommerce.archive .card-product.grid,
	.hsm-inner-page.post-type-archive-product .card-product.grid,
	.hsm-inner-page.tax-product_cat .card-product.grid {
		padding: 8px;
		border-radius: 12px;
	}
}

/* Shop 列表：隱藏 Filter / Sort / 版型切換 整列 */
.hsm-inner-page.woocommerce.archive .meta-wrap,
.hsm-inner-page.post-type-archive-product .meta-wrap,
.hsm-inner-page.tax-product_cat .meta-wrap {
    display: none !important;
}
