
.gm-tax-page-shell{padding:28px 16px 48px}
.gm-tax-page-container{max-width:1280px;margin:0 auto}
.gm-product-finder-wrap{
	--gm-primary:#244f5b;
	--gm-primary-dark:#1a3f48;
	--gm-title:#244f5b;
	--gm-text:#39474d;
	--gm-muted:#6f7d84;
	--gm-border:#ddd5c8;
	--gm-bg:#f1eee8;
	width:100%;
	color:var(--gm-text)
}
.gm-product-finder-wrap *{box-sizing:border-box}
.gm-pf-error{padding:20px;border:1px solid #ddd;background:#fff}

.gm-finder-hero{
	position:relative;
	background-color:#eeebe5;
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center;
	padding:22px 24px 26px;
	margin-bottom:18px;
	overflow:hidden;
	border:1px solid #e7e0d5
}
.gm-finder-hero__overlay{position:absolute;inset:0;background:rgba(255,255,255,.18)}
.gm-finder-hero__content{position:relative;z-index:2}
.gm-finder-hero__intro{
	display:grid;
	grid-template-columns:320px 1fr;
	align-items:start;
	column-gap:16px;
	row-gap:8px;
	margin-bottom:18px
}
.gm-finder-hero__intro h2{
	margin:0;
	font-size:35px;
	line-height:1.15;
	font-weight:900;
	color:var(--gm-title)
}
.gm-finder-hero__intro p{
	margin:15px 0 0;
	font-size:14px;
	line-height:1.75;
	color:#6e7a80
}

.gm-top-cards-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:22px
}
.gm-top-cards-grid--extra{margin-top:22px}
.gm-top-card{
	display:grid;
	grid-template-columns:88px 1fr;
	gap:16px;
	align-items:center;
	text-decoration:none;
	color:inherit;
	background:rgba(255,255,255,.92);
	border:1px solid #c9c1b5;
	border-radius:18px;
	padding:18px 20px;
	box-shadow:0 2px 0 rgba(0,0,0,.02),0 6px 16px rgba(58,70,76,.08);
	transition:.2s ease;
	min-height:118px
}
a.gm-top-card:hover,.gm-top-card.is-active{
	transform:translateY(-1px);
	box-shadow:0 12px 24px rgba(58,70,76,.10);
	border-color:#bfb6a8
}
.gm-top-card__iconwrap{
	width:88px;
	height:100px;
	display:flex;
	align-items:center;
	justify-content:center
}
.gm-top-card__iconimg{
	width:82px;
	height:60px;
	object-fit:contain;
	display:block
}
.gm-top-card__body h3{
	margin:0 0 6px;
	font-size:18px;
	font-weight:900;
	color:#264f5b;
	line-height:1.2
}
.gm-top-card__arrow{font-size:13px}
.gm-top-card__body ul{
	margin:0;
	padding-left:18px;
	color:#748187;
	font-size:12px;
	line-height:1.6
}
.gm-top-card__body li{margin:0 0 4px}

.gm-mobile-filter-bar{display:none}

.gm-finder-main{
	display:grid;
	grid-template-columns:250px minmax(0,1fr);
	gap:18px;
	align-items:start
}
.gm-finder-sidebar{min-width:0}
.gm-sidebar-sticky{
	position:sticky;
	top:20px;
	display:flex;
	flex-direction:column;
	gap:14px
}

.gm-filter-box{
	background:#fff;
	border:1px solid #e7dfd2;
	border-radius:12px;
	padding:18px 14px
}
.gm-filter-box h3{
	margin:0 0 12px;
	font-size:21px;
	font-weight:900;
	color:#243c45
}
.gm-filter-group{
	padding:12px 0;
	border-top:1px solid #e9e2d7
}
.gm-filter-group:first-of-type{border-top:0;padding-top:4px}
.gm-filter-group h4{
	margin:0 0 10px;
	font-size:14px;
	font-weight:900;
	color:#28515a
}
.gm-check{
	display:flex;
	align-items:center;
	gap:8px;
	margin:0 0 8px;
	font-size:13px;
	color:#4e5f67;
	cursor:pointer
}
.gm-filter-empty-tip{font-size:12px;color:#9aa4a9}
.gm-price-hint{
	font-size:11px;
	color:#6f7d84;
	font-weight:700;
	display:block;
	margin-top:4px
}
.gm-price-slider{margin:18px 5px}
.noUi-connect{background:var(--gm-primary)}
.noUi-handle{
	border-radius:50%;
	border:2px solid var(--gm-primary);
	box-shadow:none
}
.gm-price-row{
	display:grid;
	grid-template-columns:1fr 20px 1fr;
	gap:6px;
	align-items:center
}
.gm-price-row input{
	width:100%;
	border:1px solid #e4ddd1;
	border-radius:8px;
	background:#fff;
	padding:8px 6px;
	font-size:12px;
	text-align:center;
	color:#4e5f67
}
.gm-price-sep{text-align:center;color:#a5adb1}

.gm-buying-note-card{
	background:#fbf8f1;
	border:1px solid #e7decf;
	border-radius:14px;
	padding:12px
}
.gm-buying-note-card__top{
	display:flex;
	align-items:center;
	gap:10px;
	margin-bottom:10px
}
.gm-buying-note-card__icon{
	width:30px;
	height:30px;
	min-width:30px;
	border-radius:50%;
	background:#f1e5c8;
	color:#8a6c24;
	display:flex;
	align-items:center;
	justify-content:center;
	font-weight:900
}
.gm-buying-note-card__title{
	font-size:13px;
	font-weight:900;
	color:#31454f
}
.gm-buying-note-card__desc{font-size:12px;color:#6c7b82}
.gm-note-btn{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	padding:9px 12px;
	border-radius:999px;
	background:var(--gm-primary);
	color:#fff!important;
	text-decoration:none;
	font-size:12px;
	font-weight:800
}

.gm-finder-content{min-width:0}
.gm-finder-toolbar{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	margin-bottom:10px
}
.gm-result-count{
	font-size:16px;
	font-weight:900;
	color:#273d46
}
.gm-sort-wrap select{
	min-width:170px;
	border:1px solid #e1ddd5;
	background:#fff;
	border-radius:8px;
	padding:9px 12px;
	font-size:13px
}
.gm-hot-scenes{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:8px;
	background:#f7f1e6;
	border:1px solid #eee0c9;
	border-radius:10px;
	padding:9px 12px;
	margin-bottom:14px
}
.gm-hot-scenes__title{
	color:#a5772f;
	font-size:13px;
	font-weight:900
}
.gm-hot-scene{
	color:var(--gm-primary);
	text-decoration:none;
	font-size:13px;
	font-weight:800
}
.gm-hot-scene + .gm-hot-scene:before{
	content:"/";
	color:#b6bec1;
	margin-right:8px
}

.gm-products-grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:16px;
	align-items:stretch
}
.gm-product-card{
	background:#fff;
	border:1px solid #e8e3db;
	border-radius:14px;
	overflow:hidden;
	transition:.2s ease;
	height:100%
}
.gm-product-card:hover{
	transform:translateY(-2px);
	box-shadow:0 12px 22px rgba(40,65,70,.07)
}
.gm-product-card__link{
	display:flex;
	flex-direction:column;
	text-decoration:none;
	color:inherit;
	height:100%
}
.gm-product-card__image{
	position:relative;
	padding:10px 10px 0;
	flex-shrink:0
}
.gm-product-card__image img{
	width:100%;
	height:auto;
	display:block;
	border-radius:10px
}
.gm-product-badge{
	position:absolute;
	top:16px;
	left:16px;
	z-index:2;
	display:flex;
	align-items:center;
	min-height:28px;
	padding:4px 10px;
	border-radius:999px;
	background:#dcefee;
	color:#466f6d;
	font-size:11px;
	font-weight:900;
	line-height:1.2
}
.gm-product-card__content{
	padding:12px 14px 16px;
	display:flex;
	flex-direction:column;
	flex:1;
	align-items:stretch
}
.gm-product-card__title{
	margin:0 0 10px;
	font-size:15px;
	font-weight:900;
	color:#263942;
	line-height:1.45;
	display:-webkit-box;
	-webkit-line-clamp:3;
	-webkit-box-orient:vertical;
	overflow:hidden;
	min-height:calc(1.45em * 3)
}
.gm-product-card__desc{
	margin:0 0 10px;
	font-size:18px;
	color:#68777e;
	min-height:86px;
	line-height:1.55;
	display:-webkit-box;
	-webkit-line-clamp:3;
	-webkit-box-orient:vertical;
	overflow:hidden
}
.gm-product-card__tags{
	display:flex;
	flex-wrap:wrap;
	gap:6px;
	margin:0 0 12px
}
.gm-product-card__tags span{
	display:flex;
	align-items:center;
	min-height:28px;
	padding:4px 10px;
	border-radius:8px;
	border:1px solid #ece6db;
	background:#f6f2eb;
	color:#636e72;
	font-size:11px;
	font-weight:800
}
.gm-product-card__price{
	font-size:18px;
	font-weight:900;
	color:#1d2f36;
	margin-top:auto;
	padding-top:4px
}
.gm-no-products{
	grid-column:1/-1;
	background:#fff;
	border:1px dashed #ddd7cf;
	border-radius:16px;
	padding:40px 20px;
	text-align:center;
	color:#738188
}
.gm-loading{
	padding:16px 0;
	text-align:center;
	color:#728087;
	font-size:14px
}

.gm-pagination-wrap{width:100%;margin-top:28px}
.gm-pagination{
	display:flex;
	align-items:center;
	justify-content:center;
	flex-wrap:wrap;
	gap:8px
}
.gm-page-numbers{
	display:flex;
	align-items:center;
	justify-content:center;
	flex-wrap:wrap;
	gap:6px
}
.gm-page-btn{
	appearance:none;
	border:1px solid #d9d2c6;
	background:#fff;
	color:#244f5b;
	min-width:42px;
	height:42px;
	padding:0 13px;
	border-radius:9px;
	font-size:14px;
	font-weight:800;
	cursor:pointer;
	transition:.2s ease
}
.gm-page-btn:hover{
	background:#f1eee8;
	border-color:#244f5b
}
.gm-page-btn.is-active,.gm-page-btn:disabled{
	background:#244f5b;
	border-color:#244f5b;
	color:#fff;
	cursor:default
}
.gm-page-prev,.gm-page-next{min-width:auto;padding:0 16px}
.gm-page-dots{
	display:flex;
	align-items:center;
	justify-content:center;
	width:28px;
	height:42px;
	color:#78868c;
	font-weight:700
}

@media (max-width:1200px){
	.gm-products-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
	.gm-finder-hero__intro{grid-template-columns:1fr}
}

@media (max-width:980px){
	.gm-finder-main{grid-template-columns:1fr}
	.gm-sidebar-sticky{position:static}
	.gm-top-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.gm-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:640px){
	.gm-tax-page-shell{padding:12px 8px 28px}
	.gm-tax-page-container{max-width:100%}
	.gm-product-finder-wrap{width:100%;overflow:hidden}
	.gm-finder-hero{padding:16px 12px 18px;margin-bottom:14px}
	.gm-finder-hero__intro{grid-template-columns:1fr;gap:8px;margin-bottom:14px}
	.gm-finder-hero__intro h2{font-size:24px}
	.gm-finder-hero__intro p{margin:0;font-size:13px;line-height:1.7}

	.gm-top-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
	.gm-top-card{
		grid-template-columns:1fr;
		align-items:start;
		padding:12px;
		min-height:160px;
		gap:8px;
		border-radius:14px
	}
	.gm-top-card__iconwrap{width:100%;height:52px;justify-content:flex-start}
	.gm-top-card__iconimg{width:54px;height:42px}
	.gm-top-card__body h3{font-size:16px;margin:0 0 4px}
	.gm-top-card__body ul{font-size:12px;line-height:1.55;padding-left:16px}

	.gm-mobile-filter-bar{display:block;margin:0 0 12px;padding:0 12px}
	.gm-mobile-filter-toggle{
		width:100%;
		display:flex;
		align-items:center;
		justify-content:center;
		min-height:48px;
		padding:12px 16px;
		border:1px solid #d9d2c6;
		border-radius:12px;
		background:#fff;
		color:#244f5b;
		font-size:16px;
		font-weight:900
	}
	.gm-mobile-filter-toggle:after{content:"＋";margin-left:8px;font-size:18px}
	.gm-product-finder-wrap.is-filter-open .gm-mobile-filter-toggle:after{content:"－"}

	.gm-finder-main{grid-template-columns:1fr;gap:12px}
	.gm-finder-sidebar{display:none;padding:0 12px}
	.gm-product-finder-wrap.is-filter-open .gm-finder-sidebar{display:block}
	.gm-buying-note-card{display:none}

	.gm-finder-content{padding:0 12px;width:100%}
	.gm-finder-toolbar{flex-direction:column;align-items:stretch;gap:10px}
	.gm-sort-wrap select{width:100%;min-width:0}
	.gm-hot-scenes{padding:10px 12px;margin-bottom:12px}

	.gm-products-grid{grid-template-columns:1fr;gap:14px}
	.gm-product-card{border-radius:16px;height:auto}
	.gm-product-card__image{padding:12px 12px 0}
	.gm-product-card__content{padding:14px 14px 18px}
	.gm-product-card__title{font-size:22px;line-height:1.45;min-height:calc(1.45em * 3);margin:0 0 10px}
	.gm-product-card__desc{font-size:18px;min-height:auto;line-height:1.6;margin:0 0 10px}
	.gm-product-badge{font-size:18px;padding:8px 14px;min-height:40px}
	.gm-product-card__tags{gap:8px;margin:0 0 12px}
	.gm-product-card__tags span{font-size:18px;padding:8px 12px;min-height:40px;border-radius:10px}
	.gm-product-card__price{font-size:22px}

	.gm-pagination-wrap{margin-top:20px;padding-bottom:10px}
	.gm-pagination{gap:6px}
	.gm-page-numbers{gap:5px}
	.gm-page-btn{min-width:38px;height:40px;padding:0 10px;font-size:14px}
	.gm-page-prev,.gm-page-next{padding:0 12px}
}


/* v8.2 AJAX 切頁視覺 */
.gm-products-grid{
	transition:opacity .12s ease;
}

.gm-product-finder-wrap.is-products-loading .gm-products-grid{
	opacity:.55;
	pointer-events:none;
}

.gm-product-finder-wrap.is-products-loading .gm-pagination-wrap{
	pointer-events:none;
}
