/* =========================
   GRM Search Filter Front START
========================= */
.grm-search-filter{
	--grmsf-button-bg:#111111;
	--grmsf-button-color:#ffffff;
	--grmsf-input-radius:8px !important;
	--grmsf-form-spacing:16px;
}

.grmsf-form{
	display:flex;
	flex-wrap:wrap;
	gap:var(--grmsf-form-spacing);
	align-items:flex-end;
	margin-bottom:24px;
}

.grmsf-field{
	display:flex;
	flex-direction:column;
	gap:6px;
}

.grmsf-field label{
	font-size:14px;
	font-weight:600;
}

.grmsf-field input{
	border:1px solid #ddd;
	border-radius:var(--grmsf-input-radius);
}

.grmsf-field-button button{
	padding:5px 22px;
	border:none;
	border-radius:var(--grmsf-input-radius);
	background:var(--grmsf-button-bg);
	color:var(--grmsf-button-color);
	cursor:pointer;
}

.grmsf-result-list{
	display:grid;
	gap:16px;
	grid-template-columns:repeat(4,1fr);
}

@media(max-width:991px){
	.grmsf-result-list{
		grid-template-columns:repeat(3,1fr);
	}
}

@media(max-width:767px){
	.grmsf-result-list{
		grid-template-columns:repeat(2,1fr);
	}
}

.grmsf-result-item{
	padding:18px;
	border:1px solid #eee;
	border-radius:8px;
}

.grmsf-result-item h3{
	margin:0 0 8px;
}

.grmsf-no-results{
	padding:18px;
	background:#f7f7f7;
}
/* GRM Search Filter Front END */

/* =========================================
   GRM input 修正版
========================================= */
.grm-search-filter .grm-field-input{
	width:250px;
	height:60px;
	border:1px solid #ccd0d4;
	border-radius:8px;
	background:#fff;
	font-size:14px;
	font-weight:500;
	line-height:1;
	box-sizing:border-box;
	padding:10px !important;
}
/* =========================================
   GRM Select 修正版
========================================= */
.grm-search-filter .grm-select{
	width:250px;
	height:60px;
	padding:10px !important;
	border:1px solid #ccd0d4;
	border-radius:8px;
	background-color:#fff !important;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7L10 12L15 7' stroke='%23647083' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	background-repeat:no-repeat !important;
	background-position:right 14px center !important;
	background-size:14px !important;
	color:#2c3338;
	font-size:14px;
	font-weight:500;
	line-height:1;
	box-sizing:border-box;
	cursor:pointer;
	appearance:none;
	-webkit-appearance:none;
	-moz-appearance:none;
}

.grm-search-filter .grm-select:hover{
	border-color:#9aa4b2;
}

.grm-search-filter .grm-select:focus{
	outline:none;
	border-color:#000;
	box-shadow:0 0 0 3px rgba(34,113,177,0.16);
}

.grm-search-filter label.grm-field-label {
	display: block;
	margin-bottom: 10px;
}
.grm-search-filter .grmsf-field-button button {
	height:60px;
	padding:10px 60px !important;
	font-size:14px;
	font-weight:500;
	line-height:1;
}
.grm-search-filter .grmsf-field-button button:hover {
	background-color: #fff;
}

.grmsf-results-title{margin:30px 0 10px !important;}
.grmsf-results-count{margin:0 0 20px;font-weight:600}
.grmsf-no-results{padding:20px;border:1px solid #ddd;margin-top:20px}

.grmsf-field-button button{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:4px;
}

.grmsf-search-icon{
	width:16px;
	height:16px;
	fill:currentColor;
	flex-shrink:0;
}

/* =========================
   Pagination Example START
========================= */

.grmsf-pagination{
	margin:40px 0;
}

.grmsf-pagination-list{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
	gap:10px;

	margin:0;
	padding:0;

	list-style:none;
}

.grmsf-pagination-item{
	margin:0;
	padding:0;
}

.grmsf-pagination .page-numbers{
	display:flex;
	align-items:center;
	justify-content:center;

	width:44px;
	height:44px;

	border:1px solid #ddd;
	border-radius:50%;

	background:#fff;
	color:#222;

	text-decoration:none;

	transition:.2s;
}

.grmsf-pagination a.page-numbers:hover{
	background:#222;
	border-color:#222;
	color:#fff;
}

.grmsf-pagination .current{
	background:#222;
	border-color:#222;
	color:#fff;
	font-weight: 700 !important;
}

.grmsf-pagination .prev,
.grmsf-pagination .next{
	width:auto;
	min-width:44px;
	padding:0 20px;
	border-radius:30px;
}

/* Pagination Example END */


.grm-search-filter .grmsf-field-button button:hover{
	background-color:var(--grmsf-button-hover-bg);
	color:var(--grmsf-button-hover-color);
}


/* Card Layout */
.grmsf-card{
background:#fff;
border:1px solid #ddd;
border-radius:12px;
padding:20px;
box-shadow:0 2px 10px rgba(0,0,0,.05);
margin-bottom:30px;
}
.grmsf-card-header{
font-size:20px;
font-weight:700;
padding-bottom:15px;
margin-bottom:20px;
border-bottom:1px solid #eee;
}
.grmsf-card-body{
display:block;
}


/* ===== UI Fix ===== */
.grmsf-card-header{
font-size:32px;
font-weight:700;
margin-bottom:30px;
}
.grmsf-form{
display:block;
}
.grmsf-field{
margin-bottom:30px;
}
.grmsf-field-post-type{
display:none!important;
}
.grmsf-field-taxonomy{
padding-top:20px;
border-top:1px solid #e5e5e5;
}
.grmsf-field-taxonomy .grm-field-label{
font-size:20px;
font-weight:700;
margin-bottom:15px;
}
.grmsf-field-taxonomy .grm-checkbox-wrap,
.grmsf-field-taxonomy .grm-field-checkbox{
display:grid!important;
grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
gap:10px 20px;
}
.grmsf-field-taxonomy label{
font-size:15px;
font-weight:400;
}


.grmsf-field-button button{
min-width:260px;
}


.grm-checkbox-group{
	display:grid;
	grid-template-columns:repeat(5,minmax(0,1fr));
	gap:12px 20px;
	margin-top:0px;
}

.grm-checkbox{
	display:flex;
	align-items:flex-start;
	gap:8px;
	margin:0 !important;
	width:100%;
}

.grm-checkbox-label{
	line-height:1.5;
	word-break:break-word;
}

@media (max-width:991px){

	.grm-checkbox-group{
		grid-template-columns:repeat(4,minmax(0,1fr));
	}

}

@media (max-width:767px){

	.grm-checkbox-group{
		grid-template-columns:repeat(3,minmax(0,1fr));
	}

}

@media (max-width:575px){

	.grm-checkbox-group{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

}

/* =========================
   Term Group START
========================= */

.grmsf-term-group{
	margin-top:10px !important;
}

.grmsf-term-group-title{
	font-size:16px;
	font-weight:700;
	margin-bottom:10px;
	padding-bottom:6px;
	border-bottom:1px solid #ddd;
}

/* Term Group END */
/* =========================
   Accordion START
========================= */
.grmsf-filter-toggle-wrap{
	margin:0px 0 20px !important;
}

.grmsf-accordion-toggle{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:44px;
	padding:10px 18px;
	border:1px solid #ddd;
	border-radius:999px;
	background:#fff;
	color:#222;
	font-size:14px;
	font-weight:700;
	cursor:pointer;
}

.grmsf-accordion-content{
	display:none;
}

.grmsf-accordion-content.is-open{
	display:block;
}
/* Accordion END */

.grmsf-field-keyword,
.grmsf-field-button{
	display:inline-block;
	vertical-align:bottom;
}

.grmsf-field-keyword{
	width:calc(75% - 8px);
}

.grmsf-field-button{
	width:calc(25% - 8px);
}

.grmsf-field-keyword .grm-field-input{
	width:100%;
	max-width:none;
}

.grmsf-field-button button{
	width:100%;
	min-width:0;
	height:60px;
}

@media (max-width:767px){

	.grmsf-field-keyword,
	.grmsf-field-button{
		width:100%;
		display:block;
	}

}